¿Importa la protección de la integridad de MDC en el cifrado / descifrado simétrico de archivos locales?

3

Estoy configurando scripts, etc. para usar el modo simétrico de GPG para cifrar algunos archivos en mi sistema de escritorio doméstico.

Cuando quiero editar uno de los archivos cifrados, lo descifro y lo coloco en mi editor y luego, para guardarlo, el editor escribe el archivo en una canalización con nombre y lo siguiente lo cifra: -

echo $ pwd | gpg --symmetric --passphrase-fd 0 epipe

La tubería con nombre, epipe, luego se elimina.

Esto funciona bien siempre que no haya una verificación de integridad de MDC, pero si uso --force-mdc o si uso un cifrado cuyo valor predeterminado es MDC, el comando anterior se bloquea. Creo que esto debe ser porque gpg está intentando leer la cadena MDC de epipe, así como los datos del archivo y los bloques de lectura.

Si quiero usar AES256, ¿desactivar la verificación de integridad de MDC hace que las cosas sean menos seguras? Estos son archivos utilizados solo por mí, nunca intercambiados con otros.

    
pregunta Chris Green 10.10.2015 - 20:50
fuente

2 respuestas

1

El problema original era porque estaba tratando (razonablemente) de alimentar de forma segura tanto la contraseña / frase como el archivo que se cifraría en gpg.

Tengo un script simple que descifra el archivo y lo introduce (a través de una canalización) en mi editor. La secuencia de comandos solicita la contraseña y se guarda en una variable de entorno, no es perfecta pero es mejor que ponerla en un archivo o algo así.

La parte difícil fue, después de editar el archivo, volver a poner tanto el archivo como la contraseña en gpg. Resulta que gpg se comporta bastante bien y dice "Solo se leerá la primera línea del descriptor de archivos n". en la descripción de --passphrase-fd realmente lo significa. Por lo tanto, simplemente puede anteponer una línea que contenga la contraseña del archivo que se va a cifrar y canalizar ambos a gpg, de la siguiente manera: -

<password + file> | gpg --symmetric --passphrase-fd 0 >file.gpg

Ahora puedo tener: -

s2k-cipher-algo AES256 s2k-digest-algo SHA512 s2k-count 65011712

en mi archivo gpg.conf, de manera que se usa la protección de integridad MDC (porque viene con AES256) y por eso no recibo ninguna advertencia.

Edito estos archivos en mi propia computadora de escritorio para el hogar, por lo que el uso de una variable de entorno para la frase de contraseña está razonablemente bien y he evitado guardar cualquier cosa en un archivo que pueda persistir si algo muere en el camino.

    
respondido por el Chris Green 12.10.2015 - 13:44
fuente
0

El código de detección de modificación evita especialmente un descifrado del ataque de Oracle , bastante esotérico, que no parece aplicable en el caso de que los archivos cifrados localmente solo sean relevantes cuando pueda enviar repetidamente un mensaje cifrado a alguna entidad de descifrado, revelando cierta información de éxito en mensajes cifrados válidos o no válidos.

Al final, el código de detección de modificación le permitirá darse cuenta de que los datos cifrados se modificaron (y, por lo tanto, se produciría un texto liso y confuso después del descifrado), si no se firma el mensaje de todos modos (los mensajes firmados no se pueden modificar sin romper la firma , de todas formas). Entonces, mientras no necesite la verificación de integridad durante el descifrado, pero solo requiera la privacidad de la información, estará seguro sin el MDC.

    
respondido por el Jens Erat 11.10.2015 - 01:14
fuente

Lea otras preguntas en las etiquetas