¿Cuál es el propósito de cifrar una clave simétrica con una clave pública en XML EncryptedKey?

1

Estaba leyendo el estándar de cifrado XML y tengo algunos problemas para entender el propósito de el cifrado de texto sin formato con una clave AES o 3DES generada simétricamente que a su vez se cifra con la clave RSA pública del destinatario.

Si un atacante obtiene la clave privada del destinatario y registra el tráfico de la red, puede descifrar la clave AES y luego el texto simple cifrado con la clave AES. En TLS o en Signal, la clave simétrica se negocia con DH y no viaja cifrada a través del cable, lo que da secreto a la conexión.

¿Por qué debo cifrar la clave simétrica con la asimétrica? ¿Aumenta la confidencialidad o el rendimiento? ¿Cuándo debo usar este doble cifrado?

Gracias

    
pregunta ddreian 25.01.2017 - 14:28
fuente

3 respuestas

3
  

¿Por qué debo cifrar la clave simétrica con la asimétrica? ¿Aumenta la confidencialidad o el rendimiento? ¿Cuándo debo usar este doble cifrado?

Debe realizar el cifrado simétrico porque el tamaño máximo de datos que RSA puede cifrar está restringido por el tamaño de su módulo menos algunos rellenos. Por ejemplo, una clave RSA de 1024 bits solo puede cifrar datos que tengan una longitud máxima de 117 bytes. Algo más grande que eso, habría necesitado dividir los datos en bloques de tamaño módulo (que también abren una serie de otros problemas criptográficos) o usar una clave aún mayor (y el RSA se ralentiza muy rápidamente a medida que aumenta el tamaño de la clave). / p>

Diffie Hellman es un protocolo de acuerdo clave , solo puede funcionar si ambas partes están conectadas entre sí para intercambiar algunos datos cuando el documento está encriptado. El caso de uso en un sistema de encriptación de documentos como el cifrado XML es generalmente que está creando un documento que el destinatario puede almacenar y leer en una fecha posterior, y es posible que cualquiera de las partes nunca esté en línea al mismo tiempo que genera / lee el documento. Esta es también la razón por la que Forward Secrecy es irrelevante para el cifrado de documentos, ya que generalmente desea poder leer el documento más tarde, no puede simplemente descartar la clave de sesión como lo haría en un sistema de cifrado efímero como TLS. Debe guardar la clave de sesión con el documento en algún lugar para poder leer el documento más adelante.

Si desea PFS, le sugeriría que transfiera su documento cifrado a través de TLS / HTTPS, y si ya no necesita el documento, simplemente elimine el documento o al menos la parte cifrada del documento.

    
respondido por el Lie Ryan 25.01.2017 - 15:36
fuente
0

La idea principal detrás de este doble cifrado es permitir que muchas personas descifren el contenido a la vez que controlan quién puede descifrarlo. Si envía la clave simétrica, cualquiera que tenga la clave podrá leer el contenido final.

Si envía una clave cifrada, que solo el destinatario puede descifrar, entonces la clave solo está disponible en claro con su clave privada.
Esto es menos contenido para cifrar que cifrar el texto sin formato con la clave pública para cada destinatario.

Si evitaría la clave simétrica, tendrá que cifrar el contenido de cada destinatario con su clave pública, esto significa que debe almacenar el contenido en texto sin formato en alguna parte, ya que debe estar cifrado con una clave simétrica para evitar fugas en la fuente mientras manteniendo los gastos generales de almacenamiento para varios destinatarios bajos.

Por supuesto, eso no evita el problema si el atacante obtiene la clave privada del destinatario, la seguridad adicional proviene de almacenar el contenido en una forma no legible en la fuente.

En resumen: el objetivo no es prevenir ataques en la clave, sino en el propio documento de origen.

    
respondido por el Tensibai 25.01.2017 - 14:45
fuente
0
  

Estaba leyendo el estándar de cifrado XML y tengo algunos problemas para entender el propósito de cifrar texto sin formato con una clave AES o 3DES generada simétricamente que, a su vez, se cifra con la clave RSA pública del destinatario.

Esta es la forma en que funciona casi toda la criptografía de clave pública práctica. Presentan las claves públicas / privadas como su interfaz externa , pero internamente usan las primitivas de clave pública como encapsulación clave mecanismos alrededor de una clave sesión simétrica.

Ventajas:

  1. Rendimiento. Las primitivas de clave pública son órdenes de magnitud más lentas que las simétricas.
  2. Seguridad. Al usar claves simétricas generadas aleatoriamente para cada mensaje, se mitigan los riesgos de ataques que surgen porque se usó una sola clave.
  

En TLS o en Signal, la clave simétrica se negocia con DH y no viaja encriptada a través del cable, lo que da secreto a la conexión.

El secreto hacia adelante es claro, pero TLS / Signal puede lograrlo fácilmente porque son protocolos en línea que requieren que las dos partes interactúen "en vivo" entre sí. Lograr un perfecto secreto hacia adelante en una configuración no interactiva como el cifrado XML es mucho más complicado .

    
respondido por el Luis Casillas 25.01.2017 - 21:26
fuente

Lea otras preguntas en las etiquetas