Esto no es de ninguna manera un reemplazo para HTTPS, así que no asumas que es por eso que estoy haciendo esta pregunta. Estoy explorando, y tengo curiosidad. Estoy buscando algunos comentarios de expertos sobre esto, y no estoy completamente seguro de dónde debo preguntar esto.
Bien, digamos que estoy enviando información realmente confidencial (por ejemplo, información bancaria). Y quiero dar un paso más para protegerlo.
Con JavaScript, cifraría los datos del formulario cuando se envió. Luego lo descifraría en el servidor (back-end).
-
La primera opción sería utilizar el cifrado asimétrico solo. Cifre los datos del formulario en el envío, con la clave pública. Y dado que es público, no puede hacer daño al cliente saberlo. Luego, en el servidor, descifre los datos con la clave privada. Lo que obviamente es privado, y solo el servidor lo sabe.
-
Muchos de los algoritmos asimétricos son muy lentos por lo que he escuchado, y pueden ser bastante limitados en términos de cuánto puede cifrar (RSA por ejemplo). Entonces, ¿qué pasa con el cifrado híbrido? Cifre los datos del formulario con cifrado simétrico (clave aleatoria generada cada vez), luego encripte la clave simétrica con la clave pública asimétrica. Enviar la clave simétrica junto con los datos. Descifre la clave con la clave privada, use la clave para descifrar los datos.
¿Qué piensas? Estoy un poco perdido en cuanto a lo que sería mejor. Y cómo hacer esto.