¿Es realmente segura la conexión WSS WebSocket Secure de larga duración?

12

Estoy lejos de ser un experto en seguridad, así que perdona cualquier aproximación en esta pregunta.

Como lo entiendo de esta (muy buena) respuesta , un conjunto de conexiones HTTPS se puede resumir como tales:

  1. Hay una negociación entre el navegador y el servidor que utiliza criptografía asimétrica costosa que resulta en un secreto maestro compartido que durará el tiempo de una "sesión", el tiempo se decide por el servidor.
  2. Cada conexión subsiguiente se cifra con un algoritmo de criptografía simétrica rápida cuya clave se deduce del secreto maestro. Por lo tanto, cada conexión está encriptada con una clave diferente, por lo que cualquier "rastreador" no tendría datos suficientes para encontrar la clave de conexión específica o el secreto maestro.

Ahora, estoy trabajando en una aplicación que utilizará sockets web que pueden permanecer conectados durante largos períodos de tiempo. Por mucho tiempo, me refiero a varios días. La información que transitará a través de esta conexión de socket web será altamente confidencial.

Entonces, sabiendo que un WebSocket nunca debería desconectarse, ¿hay algo en la especificación WSS para renovar periódicamente la clave simétrica?
Según tengo entendido, con un algoritmo simétrico, cuantos más datos se cifran con la misma clave, más débil será el cifrado.

HTTPS cambia esta clave (infiere una nueva del secreto maestro) en cada nueva conexión, pero ¿qué pasa con una conexión WebSocket donde solo hay una conexión durante un largo período de tiempo?

    
pregunta Salomon BRYS 11.03.2016 - 15:59
fuente

1 respuesta

4

A menos que esté enviando el pedido de exabytes a través de esa conexión, AES no debería degradarse en seguridad durante ese período de tiempo. La duración de la apertura del WebSocket no degradará su seguridad, por lo que solo el flujo de datos a través de ella puede, eventualmente (después de un lote ) usar la seguridad proporcionada por AES. Tenga en cuenta que toda la Internet generó aproximadamente 1,000 exabytes por día , por lo tanto, a menos que enrute un porcentaje muy significativo de todo el tráfico de Internet a través de ese único WebSocket, no debería necesitarlo. para renovar sus claves siempre durante el uso de WebSocket.

Si aún desea renovar las claves, el cliente o el servidor pueden, en cualquier momento durante la conexión, volver a emitir una solicitud de intercambio que derive las claves maestras basándose en dos nuevos valores aleatorios. RFC5246

    
respondido por el Seth M. Larson 11.03.2016 - 16:58
fuente

Lea otras preguntas en las etiquetas