Con frecuencia, necesitamos enviar ID de entidad al lado del cliente.
¿Cómo podríamos proteger estos datos (especialmente los identificadores)?
Incluso si ciframos usando la misma clave cada vez, se puede identificar mediante análisis.
Por ejemplo, si cifro el ID "1" para decir "ae!" (usando cualquier algoritmo), esa misma identificación también se puede usar más adelante.
¿Entonces deberíamos usar el ID de sesión como clave para enviar datos al lado del cliente (esto validará los datos que solo la sesión activa está activa)? ¿O podríamos agregar al azar una cadena a la identificación "1", cifrarla y luego enviarla al lado del cliente (esto también se puede enviar la próxima vez)?
¿O hay alguna otra manera?
¿Cuál es la mejor práctica para este tipo de seguridad?
Estoy usando .Net MVC C #. Pero creo que la pregunta es irrelevante para la plataforma.
Tomemos un ejemplo.
En el siguiente enlace, la identificación se proporciona en la fuente de datos, que es texto sin formato, por lo que cualquier persona con conocimientos técnicos puede modificarla (mediante la consola de desarrolladores del navegador).
En mi humilde opinión, debería estar encriptado, para que no se pueda cambiar (porque el valor cambiado no es aceptable debido al encriptado).