Soy nuevo en el cifrado en general y en GPG en particular. Mi caso de uso es almacenar documentos personales en una unidad de red. Estos documentos son escaneos (por ejemplo, diplomas, trabajos). Generé una clave GPG usando gpg --gen-key
, luego cifré algunas imágenes usando gpg -e -r <name> <file>
. De forma predeterminada, parece generar archivos con el nombre del original y el sufijo .gpg
, por ejemplo, diploma.jpg
se convierte en diploma.jpg.gpg
.
Si se conoce el tipo de documento, ¿estoy abriendo la puerta a un ataque de texto plano conocido?
Además, ¿qué pasos debo seguir para hacer una copia de seguridad de mi clave (imprimirla en papel...)?
Respuesta1
No me preocuparía por el nombre del archivo y el posible conocimiento de los primeros bytes. pero si no te sientes cómodo con eso, considera esto:
- puedes usar un contenedor, ya sea .7z o .zip con cifrado aes
- podrías usar un programa contenedor como truecrypt
tenga en cuenta:
gpg cifra su archivo en modo mixto, es decir: utiliza la clave asimétrica para cifrar una "clave de sesión" y luego usa esa clave de sesión para cifrar los datos reales. por lo tanto, en realidad no gana nada al usar claves asimétricas para cifrar cosas que solo le interesan a usted (recuerde: el cifrado asimétrico solo es útil para algo como el intercambio de claves cuando la cantidad de datos es relativamente pequeña)
No hay ninguna razón para no utilizar el cifrado simétrico ya que de todos modos desea memorizar la frase de contraseña de sus archivos/contenedor:
gpg --symmetric -e
Ya que te describiste como un novato en el tema: lee un poco sobre ello en el manual de gnupg:
Respuesta2
GPG comprimirá el archivo antes de cifrarlo, lo que reduce las posibilidades de un ataque de texto sin formato, independientemente del tipo de archivo. Además, en caso de que se produzca un caso poco común de que un mensaje se vea comprometido, esnoindicativo de una clave comprometida entre los destinatarios de ese mensaje.
El motivo de esta última parte se refiere al proceso mediante el cual GPG cifra mensajes y archivos. Primero se comprime el contenido, normalmente utilizando zlib. Luego, los datos comprimidos se cifran simétricamente con una contraseña única llamada clave de sesión. Luego, la clave de sesión se cifra asimétricamente con las claves públicas de los destinatarios. Cuando se descifra el mensaje, el proceso se invierte: el destinatario desbloquea la clave de sesión usando su clave secreta y frase de contraseña, GPG usa la clave de sesión para descifrar los datos cifrados simétricamente y finalmente se descomprime.
Es más probable que un ataque a un solo mensaje resulte en la determinación de la clave de sesión que en comprometer cualquiera de las claves públicas.
Si aún desea ocultar los tipos de archivos, haga esto:
gpg -ear $RECIPIENT_ID -o filename.asc filename.odt
Para restaurar el nombre de archivo original al descifrar, haga esto:
gpg --use-embedded-filename filename.asc
GPG escribirá los datos descifrados en el nombre del archivo original, que se almacena en los datos cifrados simétricamente, junto con otra información necesaria para reconstruir los datos.
Nota: no utilice el indicador de nombre de archivo incrustado anterior si descifra manualmente el texto cifrado de un programa de correo electrónico, especialmente si utiliza Thunderbird y Enigmail. Muchos programas de cifrado de correo electrónico (incluidos Thunderbird y Enigmail) no asignan un nombre de archivo original del borrador y descifrarlo de esa manera podría causar problemas, como intentar escribir datos en un nombre de archivo nulo.
Respuesta3
Que yo sepa, saber el tipo de datos que contiene un archivo cifrado no sirve de nada para descifrarlo, ya que al cifrado no le importa el tipo de datos. Para el cifrado, son meros bits (números) sin ningún significado.
En cuanto a tu clave, la opción más segura es recordarla porque no se puede acceder a tu mente;)
Respuesta4
Para responder a la segunda parte de su pregunta:
Además, ¿qué pasos debo seguir para hacer una copia de seguridad de mi clave (imprimirla en papel...)?
Hablemos primero del Certificado de Revocación. Definitivamente deberías crear y hacer una copia de seguridad del Certificado de revocación de tu clave maestra. Muchas personas hacen una copia en papel (ascii blindado o código QR) y la guardan en un lugar seguro, como una caja fuerte a prueba de fuego con llave o una caja de seguridad en un banco. Si su clave maestra (la clave de Certificación) se ve comprometida, tendrá una copia de seguridad que podrá revocarla en caso de que el Certificado de Revocación desaparezca de su dispositivo, o el dispositivo se pierda, etc.
Si no tiene un Certificado de Revocación, hágalo con el siguiente comando. "mykey" es el nombre de la clave, que podrían ser los últimos 8 caracteres de la huella digital.
gpg --output revoke.asc --gen-revoke mi clave
El Certificado de Revocación se verá así, y es fácil de imprimir. Pero debes tener cuidado. La impresión puede exponerlo a riesgos.
-----COMENZAR BLOQUE DE LLAVE PÚBLICA PGP-----
Comentario: Este es un certificado de revocación.
iQG2BCABCAAgFiEEiz1thFzdqmEJkNsdNgBokN1gxcwFAlsrcOsCHQAACgkQNgBo kN1gxczZ1Qv/aUNZgG0Sjasbu2sDMcX+rjEUNpIGUB6zjcTsPwpXfFo11aM3yefb k0FgMohA8HUwmN4ka+P31j YuNuLNCqFdT8DKKuQk6XgKnX3NieahG/dFaVANXyHR ...................................este es simplemente un ejemplo de certificado de revocación................................... ...... =4lcB
-----FIN DEL BLOQUE DE LLAVE PÚBLICA PGP-----
Ahora, acerca de hacer una copia de seguridad de su clave maestra:
Solución uno: hacer una copia de seguridad de la clave maestra puede ser tan fácil como copiar su archivo completo. Solución dos: tener una clave maestra fuera de línea (C) aumenta su seguridad y podría valer la pena, dependiendo de la evaluación de riesgos de cada uno. Si está utilizando una computadora portátil o netbook para almacenar sus claves, podría ser una idea especialmente buena desconectar su clave maestra.
Hay dos formas de tener una clave maestra sin conexión: el camino difícilyel camino más fácil y difícil.
Después de eliminar la clave secreta de su clave maestra (C) y ejecutar
gpg2-K
El resultado debería verse así:
Observe la#junto asegundo--eso indica que la clave secreta ya no está ahí.