¿Por qué tengo que usar varias teclas para cada dirección y propósito?

2

Actualmente estoy escribiendo un examen sobre 'Lecciones aprendidas en la seguridad de TI'. Ya encontré algo, que no debería hacerse. Pero ahora mismo estoy en problemas para encontrar las razones por las que no hacerlo. Tal vez podría explicarme por qué o incluso mejor saber acerca de cualquier fuente citable, que describe lo siguiente:

  • ¿Por qué no uso la misma clave para el cifrado en ambos sentidos?
  • ¿Por qué no uso la misma clave para el cifrado y la autenticación?

También sería útil, si alguien pudiera informarme sobre los ataques conocidos, que exploten los errores anteriores.

Por cierto, utilicé este sitio: Lecciones aprendidas y Conceptos erróneos sobre el cifrado y la criptología como punto de partida para mi investigación.

    
pregunta Mats 21.12.2014 - 19:23
fuente

3 respuestas

1

En general, nunca debe usar la misma clave para dos algoritmos diferentes, ya que hace posible los ataques clave relacionados. Es por eso que la mejor práctica es usar un KDF para generar claves separadas para las operaciones de encriptación y autenticación. Por supuesto, puede usar un modo de cifrado autenticado, lo que evitará la necesidad de usar dos claves separadas.

En cuanto al uso de diferentes claves para diferentes direcciones en un canal, mientras que reducir su exposición a las vulnerabilidades criptográficas es ciertamente una preocupación, existe una razón mucho más fundamental: los ataques de reflexión. A menos que haya una diferencia claramente definida entre lo que es un mensaje válido para cada una de las dos partes en una comunicación, un atacante simplemente puede repetir lo que le dice para causar un comportamiento inesperado. Si se utiliza la misma clave en ambas direcciones, lo que transmita pasará sus propias comprobaciones de autenticación para los datos entrantes, y luego el código que espera una garantía de un canal seguro tratará repentinamente con una entrada no válida inesperada. Esto puede causar bloqueos u otro comportamiento inesperado.

Puede mitigar esto a nivel de protocolo enviando un mensaje que indique en qué lado de la comunicación se encuentra, pero eso agrega complejidad de análisis solo para mitigar una vulnerabilidad, y ese es realmente el trabajo de la capa de seguridad. El uso de claves diferentes para ambos extremos de la conexión evita el problema por completo y, por lo general, es más fácil de implementar también.

    
respondido por el Reid Rankin 21.09.2015 - 03:00
fuente
0

La razón es que pueden existir puntos débiles en los sistemas criptográficos que les permiten ser evitados, ya que las claves tienen una relación matemática entre ellas.

Por ejemplo, digamos que escucho a escondidas un mensaje cifrado de A a B. Luego tomo el mensaje cifrado y "ciego" este mensaje con un factor de cegamiento. Luego envío este mensaje cifrado + ciego a B, y le pido que lo firme. Digamos que él también tiene una razón para firmar las cosas.

Ya que la firma es efectivamente descifrado, el mensaje que se devuelve, es el mensaje ciego, no cifrado, que me devuelves. Desbloqueo el mensaje con el factor de cegamiento secreto, y luego tengo el mensaje, sin cifrar. y no sabes nada de lo que tengo acceso a ese mensaje.

Esto también se puede aplicar a esquemas en los que se usa una clave simétrica, ya que simplemente podría enviarte la clave simétrica cifrada, a ciegas. Y la firma ciega requiere que NO se use un esquema de hashing durante la firma, por lo que un software debe poder detectar un mensaje oculto que debe firmarse y firmarlo directamente.

Por eso no debe usar la misma clave para el cifrado y la firma.

    
respondido por el sebastian nielsen 22.12.2014 - 16:58
fuente
0
  

¿Por qué no uso la misma clave para el cifrado en ambos sentidos?

Recuerde, cada uso adicional de una "clave" o "secreto" aumenta su potencial de vector de ataque. por lo tanto, por razones de segregación y mitigación, es mejor usar DIFERENTES claves para cada interacción.

  

¿Por qué no uso la misma clave para el cifrado y la autenticación?

Si usas 2 teclas:

  • 1 por decir "Oye, este soy yo. Puedes confiar en él"
  • 1 para asegurarse de que nadie pueda leer la cosa.

entonces esto significa que un ataque debe pasar por alto 2 sistemas criptográficos separados.

También puede utilizar este sistema para "firmar" su resumen y, por lo tanto, varias personas o sistemas pueden identificar que proviene de usted, sin que ellos puedan modificar o ver su "mensaje secreto".

Esto es especialmente cierto si uno usa anillos de confianza como el sistema PGP-rings.

    
respondido por el LvB 22.12.2014 - 13:47
fuente

Lea otras preguntas en las etiquetas