Pregunta

Estoy desarrollando una aplicación cliente-servidor que utiliza SSL (openssl) para establecer un canal de comunicación segura entre el cliente y el servidor. Creo que tengo dos opciones ahora para la transferencia segura de datos entre el cliente y el servidor. Una opción es continuar con la transferencia de datos en el canal SSL segura establecida entre el cliente y el servidor a pesar de que el proceso de cifrado / descifrado será lenta debido a la utilización de claves asimétricas. La otra opción es transferir una clave simétrica en el canal SSL y cerrar el canal SSL una vez que la clave simétrica se entrega al cliente. La comunicación a partir de entonces sucederá en un canal TCP regular usando la clave simétrica que creo que será mucho más rápido que el uso de claves asimétricas. ¿Hay algunas desventajas de este enfoque? Una cosa que es obvia con el enfoque clave simétrica es el proceso de gestión de claves, que estoy pensando en la manipulación al no almacenar las claves en el cliente en absoluto. clave simétrica será entregado al cliente en el arranque a través de un canal SSL. La llave no se almacena en el cliente en absoluto. ¿Alguna idea?

¿Fue útil?

Solución

Se está mezclando las cosas. SSL utiliza una clave asimétrica (definido en el certificado) para pasar una clave simétrica generada automáticamente entre el cliente y el servidor. Esta clave simétrica se utiliza a continuación durante toda la sesión segura (canal).

Así que, básicamente, que ya tienen un cifrado simétrico rápido cuando se utiliza SSL. El único cifrado asimétrico se lleva a cabo en el comienzo de la comunicación.

No trate de administrar sus claves simétricos por su cuenta. No va a funcionar.

Otros consejos

Siga usando la conexión SSL porque SSL utiliza un cifrado simétrico después de la fase inicial.

  

Una opción es continuar con la transferencia de datos en el canal SSL segura establecida entre el cliente y el servidor a pesar de que el proceso de cifrado / descifrado será lenta debido a la utilización de claves asimétricas.

No, no lo hará. SSL utiliza el cifrado simétrico.

  

La otra opción es transferir una clave simétrica en el canal SSL y cerrar el canal SSL una vez que la clave simétrica se entrega al cliente.

El cliente y el servidor ya tienen una clave de cifrado simétrico, tan pronto como se estalbished la sesión. Esto no sería más que redundante.

No hay ningún problema para resolver.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top