¿Se puede deducir una clave privada PGP si se conoce el texto del correo electrónico?

7
  • Supongamos que envío un correo electrónico cifrado con PGP a la persona A y el mismo correo electrónico (la misma línea del asunto, el mismo texto del mensaje) sin cifrar a la persona B.
  • Supongamos que un servicio secreto intercepta ambos mensajes.
  • El servicio secreto asume correctamente, desde la línea de asunto idéntica, que ambos correos contienen texto idéntico.
  • ¿Esto hace posible que el servicio secreto deduzca mi clave privada o la de la persona A y descifre todos mis correos electrónicos cifrados subsiguientes a la persona A?
pregunta Ydobemos 25.09.2013 - 11:47
fuente

4 respuestas

9

No, las claves privadas aún son seguras en este caso:

  • Su clave , como remitente, no está involucrada en absoluto en el proceso. Cuando cifra un correo electrónico a la persona A, utiliza la clave pública de A, no su clave privada. Si utilizas tu clave privada, será firmar el correo electrónico que envíes, que es algo muy diferente.

  • La clave privada de A tampoco está involucrada. Usted usa la clave pública de A para el cifrado. Si el atacante potencial desea saber un mensaje m , y en qué se convertiría este mensaje si se cifrara con la clave pública de A, entonces ... ¡él mismo puede hacerlo! La clave pública de A es pública, todos lo saben, y todos pueden cifrar cosas con esa clave.

  • En el caso general de los mecanismos de cifrado, se supone que dichos sistemas deben resistir situaciones en las que el atacante puede aprender varios pares (incluso muchos ) de texto sin formato / texto cifrado. Estos se denominan ataque de texto simple conocido (el atacante aprendió un par de texto simple / texto cifrado), ataque de texto simple elegido (el atacante elige el texto simple y obtiene el texto cifrado correspondiente), y < em> ataque de texto cifrado elegido (el atacante elige el texto cifrado y obtiene el texto plano). PGP se consideraría bastante débil si un solo par, o incluso un par de millón , fuera suficiente para romperlo.

respondido por el Tom Leek 25.09.2013 - 13:25
fuente
2

En primer lugar, veamos cómo funciona PGP. Recopilación de extractos de RFC4880

 OpenPGP combines symmetric-key encryption and public-key encryption
   to provide confidentiality.  When made confidential, first the object
   is encrypted using a symmetric encryption algorithm.  Each symmetric
   key is used only once, for a single object.  A new "session key" is
   generated as a random number for each object (sometimes referred to
   as a session).  Since it is used only once, the session key is bound
   to the message and transmitted with it.  To protect the key, it is
   encrypted with the receiver's public key.  The sequence is as
   follows:

   1.  The sender creates a message.

   2.  The sending OpenPGP generates a random number to be used as a
       session key for this message only.

   3.  The session key is encrypted using each recipient's public key.
       These "encrypted session keys" start the message.

   4.  The sending OpenPGP encrypts the message using the session key,
       which forms the remainder of the message.  Note that the message
       is also usually compressed.

   5.  The receiving OpenPGP decrypts the session key using the
       recipient's private key.

   6.  The receiving OpenPGP decrypts the message using the session key.
       If the message was compressed, it will be decompressed.

El texto enviado se cifra mediante un cifrado simétrico y la clave de cifrado simétrico se cifra mediante la clave privada del receptor. Así que ahora la pregunta se puede dividir en dos problemas:    1. Ataque conocido de texto plano en el cifrado simétrico.    2. Ataque conocido de texto plano en el cifrado asimétrico.

Primera pregunta primero. En GnuPG, algunos de los algos simétricos utilizados son: AES, Twofish, CAST5, DES3. Estos algoritmos utilizan un tamaño de clave mínimo de 128 bits, por lo que el ataque de texto simple conocido contra estos algoritmos es difícil. Puede leer más sobre esto para AES en este hilo .

Llegando a la segunda pregunta, ataque al cifrado asimétrico. ElGamal y RSA se utilizan en GnuPG. Según este hilo , el ataque de texto de queja conocido contra RSA no es posible.

También, también eche un vistazo a este pregunta también.

    
respondido por el Jor-el 25.09.2013 - 13:40
fuente
1

El envío de un mensaje PGP cifrado es (según el Artículo de Wiki en PGP ) :

  1. Cifre el mensaje T con un algoritmo de cifrado simétrico con una clave generada aleatoriamente de un solo uso (clave de sesión S ) para obtener el texto cifrado E ;
  2. Cifre la clave de sesión S con un algoritmo de cifrado asimétrico utilizando la clave pública del destinatario Pub (obtenemos S' ); / li>
  3. Envíe E y S' al destinatario;
  4. El destinatario puede descifrar S' con su clave privada Pr para obtener S , y luego usar S para descifrar E para obtener T .

A partir de esto, asumo obteniendo la clave privada del destinatario Pr teniendo tanto T como E no es posible, ya que la parte de encriptación asimétrica no tiene nada que ver con cyphertext o texto sin formato.

    
respondido por el НЛО 25.09.2013 - 13:20
fuente
0

Como se señala correctamente, la clave privada no está involucrada en el cifrado, lo único involucrado en el escenario de la pregunta es la clave pública, y obviamente todos ya tienen la clave pública, por lo que realmente no importa si La agencia de seguridad intercepta el público y los mensajes cifrados o no, puede cifrar lo que quiera con la clave pública.

Sin embargo, la pregunta interesante es si el mensaje de texto sin formato está firmado pero no encriptado. Allí se usa la clave privada, y ese es el tipo de escenario al que se refieren los ataques de texto sin formato, texto sin formato elegido. Se cree que el algoritmo de tipo RSA (basado en la exponenciación en campos finitos) es resistente a esos ataques. Esto significa que la complejidad de encontrar la clave privada, incluso sabiendo el texto claro, es básicamente lo mismo que intentar cada número entre 2 y 2 ^ 4096 (si su clave tiene una longitud de 4096 bits). Esto se debe a que la densidad de los números primos es n / log n, por lo que hay casi 2 ^ 4096/4096 = 2 ^ 4084 primos para probar.

Pero la verdad es que nadie sabe si es imposible realizar un ataque de texto simple conocido en general. Hay formas de realizar ataques de texto simple para las llamadas "claves débiles" (por ejemplo, los generadores de números primos son probabilísticos por lo que podría terminar con una clave privada no principal, que es básicamente tan débil como su componente principal más grande). Pero nunca se ha demostrado que no haya ataques generales, es solo una creencia. Al igual que no se sabía si había una manera de probar si un número era primordialmente determinista en el tiempo polinomial hasta hace unos años, entonces encontraron una forma (pero en este caso existían algoritmos probabilísticos con una tasa de fallas muy baja). polinomio y para romper las teclas no existen tales algoritmos conocidos)

    
respondido por el Lionel 15.08.2014 - 18:51
fuente

Lea otras preguntas en las etiquetas