¿Existe algún riesgo conocido de que dos claves se envuelvan entre sí?
Digamos, un adversario tiene acceso tanto a AESkey1 (key2) como a AESkey2 (key1).
¿Le hace mucho más fácil recuperar las claves?
¿Existe algún riesgo conocido de que dos claves se envuelvan entre sí?
Digamos, un adversario tiene acceso tanto a AESkey1 (key2) como a AESkey2 (key1).
¿Le hace mucho más fácil recuperar las claves?
Si te entiendo bien, estás preguntando, dado C 1 = AES K 1 (P 1 ) y C 2 = AES K 2 (P 2 ) , si es posible obtener P1 o P2 en el caso donde K 1 = P 2 y K 2 = P 1 . La respuesta es no, no lo es.
No hay ataques criptográficos conocidos que se faciliten al tener el texto cifrado de dos claves que se cifran mutuamente. Obviamente, permite que un atacante descubra ambas claves después de haber descubierto solo una de ellas, ya que podrían descifrar la segunda clave una vez que conozcan la primera. Cualquier cifrado que se debilite al encriptar ciertos tipos de texto sin formato (ya sea texto sin formato conocido, todos los ceros, o incluso una clave utilizada por otro cifrado) se consideraría gravemente dañado. Un cifrado fuerte como AES no tiene este problema siempre que la clave sea secreta y se elija al azar.
Depende, pero tal esquema puede hacerse seguro.
AES es un cifrado de bloque con un tamaño de bloque específico de 128 bits y tamaños de clave de 128, 192 y 256 bits.
Claramente, si ajusta una clave AES-256 bit con AES-128, entonces la seguridad de un texto cifrado cifrado con la clave de 256 bits no excederá los 128 bits, si la clave ajustada está disponible para un adversario de todos modos. No podemos romper el cifrado de 128 bits, pero sin duda argumentar que es menos seguro que el cifrado de 256 bits. Por lo tanto, debe usar llaves con tamaños idénticos (esto es algo diferente de envolver solo de una manera; en ese caso, la envoltura debe ser al menos tan grande como la llave envuelta).
También hay problemas cuando intenta ajustar una clave de bits AES-192 o AES-256, porque no puede directamente aplicar el cifrado de bloque de 128 bits. Necesitará algún modo de operación para cifrar / descifrar las claves utilizando AES. Ahora puede usar AES en modo ECB o en modo CBC, pero en ese caso puede ser vulnerable a los ataques oracle de relleno, dependiendo de cómo y cuándo se realiza el desenvolvimiento. Con AES-256, simplemente puede utilizar el modo ECB sin el esquema de relleno, pero este no es el caso para AES-192.
Y, mientras estamos en el tema, hay muchos modos de operación, cada uno con sus propias peculiaridades. Si se aplica incorrectamente, cualquier tipo de cifrado puede ser vulnerable a un ataque. Afortunadamente, las claves AES deben consistir en datos que no se pueden distinguir de un atacante al azar. Esto reduce el potencial de ataque del adversario en comparación con, por ejemplo, atacar una clave privada RSA envuelta, donde los componentes de la clave están dentro de una estructura bien definida.
Como puede observar, estos son todos problemas para ajustar las claves en general . Si usa un buen mecanismo de ajuste (hay unos especializados para cifrados en bloque), implemente el esquema correctamente y use las teclas AES con una fuerza similar, entonces debería estar seguro. No importa mucho que cifre ambas claves entre sí, no hay ninguna ecuación que exponga la clave incluso si $ E_ {K_1} (K_2) $ y $ E_ {K_2} (K_1) $ se dan. Lo único que podría ser un problema es si un esquema de este tipo requiere que disminuyas las condiciones de acceso a las claves.
Lea otras preguntas en las etiquetas passwords encryption keys