Dado un par de claves Gnupg Public / Private, ¿cómo puedo identificar la fortaleza del cifrado utilizado?

3

He estado usando un par de claves en casa con la herramienta de línea de comandos gpg en Ubuntu, para cifrar archivos de texto de contraseñas desde hace algunos años. Ya no tengo ningún registro del tipo de cifrado y de la longitud de bits utilizada cuando creé las claves, así que me gustaría identificarlo y decidir si el cifrado es lo suficientemente fuerte para el siguiente paso, o si debo crear un par de claves más fuerte y volver a cifrar un montón de archivos que me gustaría evitar.

El siguiente paso sería cargar el par de claves, así como todos los archivos con contraseña en el alojamiento en la nube, probablemente Google Drive. Supongo que el alojamiento en la nube puede no ser completamente digno de confianza y necesito mantener un alto cifrado. Dado ese requisito, ¿es suficiente una frase de contraseña larga (más de 32 caracteres) para asegurar la clave privada?

    
pregunta DanH 01.01.2014 - 03:55
fuente

1 respuesta

5
  ¿

es una frase de contraseña larga (más de 32 caracteres) suficiente para asegurar la clave privada?

Si es criptográficamente aleatorio y tiene un gran conjunto de caracteres, probablemente, a menos que se encuentre un defecto. Tenga en cuenta que, para comenzar, consideraría poner mi clave secreta en la máquina de otra persona con un riesgo muy alto y un riesgo, incluso si la envolviera dentro de otra capa (7-zip o Truecrypt o alguna otra cosa). La práctica más segura es mantener la clave privada principal completamente fuera de línea y solo dejar las subclaves en las máquinas de conexión a la red, aunque eso puede ser engorroso.

  

si debo crear un par de claves más fuerte y volver a cifrar un montón de archivos que me gustaría evitar.

Hay tres niveles de cifrado en los que pensar:

  • cifrado asimétrico: se utiliza para las firmas, así como para cifrar la clave generada aleatoriamente por el uso de PGP / GPG para el cifrado simétrico (de archivos)
    • Ha identificado esto como RSA 2048, que a partir de marzo de 2014 es "aceptable" para el futuro previsible por EE. UU. NIST SP 800-131A y calificado como "103 bits" de seguridad (donde "84 bits" es el nivel mínimo [de pocos meses de protección] si su adversario tiene un presupuesto de $ 300 millones) ECRYPT II Informe anual sobre algoritmos y longitudes de clave (2012) , por lo que parece correcto.
    • "gpg --list-keys" muestra esto automáticamente: 2048R significa 2048 bit RSA, y 4096R significa 4096 bit RSA.
  • cifrado simétrico (de archivos): se trata de una combinación de las preferencias de su clave pública y las capacidades del software gpg / pgp que usa. Como es de suponer que está utilizando un software con capacidades iguales o mejores a lo que utilizó para generar las claves, este será el primer cifrado de la lista.
    • "gpg --edit-key [key]" seguido de "showpref" mostrará esto en forma legible para humanos.
    • dentro de la sección de clave de edición, puedes usar setpref para cambiarlos con una lista delimitada por espacios de cifrados, hashes y algoritmos de compresión.
    • Este es un aspecto del 100% de la clave PÚBLICA y se puede cambiar en cualquier momento. De hecho, puede tener diferentes claves públicas para la misma clave secreta con diferentes opciones, y todo funcionará.
    • Consulte GnuPG.org, Administrando su propio par de llaves
    • "gpg -vv [archivo cifrado]", además de descifrar el archivo, en realidad mostrará lo que realmente se eligió para cifrar un archivo determinado. Primero se mostrará (en su caso) "gpg: encriptado con 2048- bit RSA key ... "y luego mostrará" gpg: [algoritmo] datos encriptados "
    • Las referencias anteriores coinciden en que todas las longitudes de clave AES están bien. TripleDES de tres teclas es válido hasta el 2030 según el análisis ECRYPT II de 2012. CAST5 no fue analizado. CAMELLIA no se analizó, pero AFAIK se considera seguro en este momento; es un cifrado europeo y japonés utilizado en sus estándares en lugar del cifrado AES de EE. UU.
  • cifrado simétrico (de su clave secreta, por su contraseña): Esta es la contraseña que tiene + cifrado de su clave secreta.
    • "gpg --list-packets ~ / .gnupg / secring.gpg" se puede usar para ver esto (cambiar la ruta a tu propio llavero secreto, por supuesto)
    • Tenga en cuenta que GPG 1.4.12 está listando "protección SHA1" incluso cuando enumera "hash: 10" (es decir, SHA-512) también.
    • "gpg --cert-digest-algo sha512 --s2k-cipher-algo CAMELLIA256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 40480000 --gen-key" would, for instancia, permite crear una clave bastante segura.
    • "gpg --s2k-cipher-algo CAMELLIA256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 40480000 --edit-key" seguido de "passwd" y guardando un cambio de frase de contraseña (incluso a la MISMA frase de paso que tiene ahora) cambiará el cifrado que protege una clave secreta existente.
    • Tenga en cuenta que GPG tiende a redondear --s2k-count hasta un valor que considere válido.
respondido por el Anti-weakpasswords 23.02.2014 - 07:56
fuente

Lea otras preguntas en las etiquetas