Seguridad de PGP para almacenamiento a largo plazo

6

¿Qué tan seguros son los correos encriptados PGP / GPG?

Me doy cuenta de que probablemente esté bien para los escenarios de correo electrónico regulares, pero ¿qué pasa con la seguridad durante períodos de tiempo más largos (> 30 años)? ¿El límite de 4096 bits para las claves RSA de GPG será un problema (dado que no hay forma de usar cifrado de solo simetría)? Además, si no estoy malinterpretando nada, GPG no autentica el texto cifrado (solo RSA-firma el texto sin formato)?

El escenario de uso aquí es que quiero almacenar las contraseñas en mi cuenta de correo (como correos encriptados con PGP para mí), para que sean accesibles en todas partes. Ya uso Firefox Sync para la mayoría de las cuentas (que usa un esquema bastante avanzado ), pero eso solo almacena combinaciones de nombre de usuario y contraseña para una URL. A veces también necesito guardar algunos detalles adicionales con eso y, por lo tanto, no puedo usar FF Sync, a pesar de que, por lo demás, es increíble.

Por lo que puedo ver, tampoco hay otra alternativa a PGP y S / MIME para el cifrado de correo, ¿es correcto? (S / MIME no es una opción, viendo cómo mal apoyado es de Thunderbird actualmente)

    
pregunta user28381 17.07.2013 - 10:54
fuente

2 respuestas

2

El límite de 4096 bits en las claves RSA para GPG no será un problema para la seguridad, a menos que se descubra un algoritmo nuevo, mejor y más rápido para descifrar las claves RSA, y luego cualquier afirmación sobre la fuerza proporcionada por algunos tamaños de clave específicos ser demasiado especulativo Los nuevos algoritmos para descifrar RSA no ocurren a menudo; la última vez fue alrededor de 1989 para el Tamiz de campo de número general (la mayoría de los avances científicos en GNFS desde finales de los años ochenta son aproximadamente implementaciones prácticas de GNFS y muchas optimizaciones a pequeña escala, pero el algoritmo central no ha cambiado desde entonces.

Tenga en cuenta que el cifrado asimétrico no resuelve el problema de confidencialidad; simplemente lo mueve: todavía tienes que almacenar la clave privada en algún lugar. En última instancia, para su problema de almacenar contraseñas, protegerá su clave privada con una "frase de contraseña maestra" y eso es cifrado simétrico. Podría hacer que todo el proceso sea más sencillo si aplica el cifrado simétrico directamente en su archivo lleno de contraseñas (GnuPG lo admite ). Ir de forma totalmente asimétrica es interesante (en su contexto) solo si desea almacenar una nueva contraseña de una máquina desde la cual no tiene acceso a la clave privada y en la que no desea escribir su frase de contraseña.

De cualquier manera, un punto difícil es cuando se trata de usar sus contraseñas almacenadas. Tienes que realizar descifrado en algún sistema. Es mejor que ese sistema esté libre de cualquier malware, ya que un keylogger tomaría su frase de contraseña y / o su clave privada (si utiliza un cifrado asimétrico). Lo ideal es que lo hagas solo desde tu (s) dispositivo (s). Eso es lo que hago cuando viajo:

  • Mi propio dispositivo es una netbook con Linux.
  • El directorio /tmp es un sistema de archivos basado en memoria (por lo que lo que escribo en él nunca llega al SSD).
  • No se ha configurado ningún intercambio (por lo tanto, lo que está en la RAM nunca se escribe en el SSD).
  • Descifro (simétricamente) mi archivo de contraseñas en /tmp , leo la contraseña, la escribo y luego borro el archivo descifrado.

Por supuesto, si tiene su propio dispositivo en ese momento, ¿por qué necesitaría almacenar el archivo cifrado en su correo electrónico? Puedes guardarlo directamente en tu dispositivo.

(Hablando de eso, dado que los correos electrónicos pueden almacenar archivos arbitrarios como archivos adjuntos, no es necesario que se limite a los formatos específicos del correo electrónico OpenPGP y S / MIME . El uso de estos solo hace que las cosas sean más sencillas, por lo que puede esperar su aplicación de correo para realizar el descifrado, en lugar de tener que recurrir a algunas herramientas de línea de comandos. Sin embargo, puedo argumentar que las herramientas de línea de comandos le dan más control sobre dónde van sus datos, por ejemplo, en una memoria RAM. respaldado por /tmp del sistema de archivos.)

    
respondido por el Tom Leek 17.07.2013 - 15:09
fuente
0

Con suerte no me voy a alejar demasiado del tema para discutir la última parte de su pregunta con un poco más de detalle, ya que creo que Tom cubrió todo lo demás.

Tampoco encontré ninguna indicación de que gpg use un MAC en el texto cifrado.

Últimamente, he estado utilizando la utilidad de cifrado para cifrar un archivo con una contraseña (tanto un archivo de contraseñas como archivos tar para copias de seguridad). No hay ninguna versión de Windows que yo sepa (supongo que cygwin funcionaría), ni tampoco de ninguna otra aplicación que admita el formato de archivo específico que produce. Todavía está más cerca de lo que estoy buscando que de otra utilidad que he podido encontrar y podría funcionar para usted. Tiene intencionalmente pocas opciones; En mi opinión, podría usar una opción de verificación, ya que ahora tienes que descifrar a / dev / null para hacer eso. La documentación no es genial; tiene que mirar el archivo FORMATO en la distribución de origen para averiguar qué está haciendo realmente, que está ejecutando scrypt en la contraseña con sal de 256 bits al azar para obtener dos claves de 256 bits, una utilizada para AES-256 en CTR Modo con nonce fijo de 0 y el otro para HMAC-SHA256. Además, la estimación de tiempo utilizada con el argumento -t no es precisa; Me parece que necesito usar -t 25 para obtener 5 segundos de fortalecimiento de teclas. La otra cosa molesta es que no funciona del todo para canalizar la salida del descifrado a menos, por lo que necesita encontrar un lugar para almacenar la salida descifrada cuando la esté mirando y editándola. He utilizado un sistema de archivos de memoria (sin intercambio o cifrado, lo que sería una buena idea de todos modos) o un directorio principal cifrado. Utiliza la implementación AES de openssl y otro código criptográfico copiado de otras utilidades similares del autor, pero no construido como una biblioteca separada (lo que sería bueno; alguien más hizo eso pero no puedo encontrar el enlace en este momento). El mayor beneficio es que hace la cosa básica de "fortalecer la contraseña y luego cifrarla y luego autenticarla" en una cantidad bastante pequeña de código.

He usado anteriormente, pero no recomiendo seccure , que usa claves públicas basadas en la criptografía de curva elíptica y derivadas directamente desde la contraseña (desafortunadamente solo a través de una sola ronda de SHA256). Parece abandonado, ha producido archivos dañados y requiere un montón de memoria bloqueada para funcionar. Me gusta lo que intenta hacer y desearía que hubiera una versión funcional de eso.

No he encontrado buenos archivadores con "cifrado luego MAC" y criptografía moderna que se ocupen de cosas como agujeros de archivos y permisos de UNIX. Creo que la situación es mejor si solo desea archivar en formato zip pero no tengo recomendaciones específicas.

Es de esperar que en los próximos años haya utilidades estándar ampliamente disponibles para hacer este tipo de cosas fácilmente que no sean tan complejas como las opciones actuales y utilicen el cifrado actual.

    
respondido por el joveian 17.07.2013 - 23:36
fuente

Lea otras preguntas en las etiquetas