¿Es GPG adecuado como parte de un administrador de contraseñas y un generador?

7

Supongo que GPG es muy fuerte para descifrar, adivinar, etc. Dado que tengo confianza en GPG, ¿sería apropiado usar mi llave GPG como la llave maestra para un administrador de contraseñas o generador?

    
pregunta dzervas 05.03.2013 - 15:53
fuente

4 respuestas

10

GPG encripta sus datos con una clave simétrica, luego encripta esa clave simétrica con / para el par de claves público / privado. Ese par de llaves generalmente se mantiene seguro al encriptarlo simétricamente.

Lo que estás pidiendo es un programa que se diagramaría como tal:

Symmetric -> Asymmetric -> Symmetric

Lo que debes usar es un administrador de contraseñas que realiza el siguiente paso:

Symmetric

El trabajo de un administrador de contraseñas es tanto el de no colocar sus datos en texto claro como su simplicidad. El trabajo de GPG es permitir la comunicación de un intercambio de claves a través de un canal claro. Ya que usted será el único que encripta / desencripta sus contraseñas, el encriptado simétrico está bien. Criptográficamente hablando. GPG utiliza OpenSSL para el backend de todos modos, como muy probablemente lo hacen una gran cantidad de administradores de contraseñas disponibles de forma gratuita.

Ahora, con todo lo dicho, tiene sentido hacer esto en su computadora si su la clave GnuPG se encuentra en una tarjeta inteligente externa , y funcionaría con un teléfono si hubiera una versión NFC de la tarjeta. Puedes usar git para sincronizar varios archivos de contraseñas.

    
respondido por el Jeff Ferland 05.03.2013 - 16:16
fuente
8

Comenzaré con la respuesta rápida a su pregunta (que tiene dos partes). En primer lugar, sí, GPG es adecuado como administrador de contraseñas en términos de tener un cifrado sólido. Es muy poco probable (la mayoría diría que es imposible) que la contraseña se agriete utilizando un cifrado asimétrico.

La segunda parte de la respuesta es que, no, probablemente no sea adecuado como administrador de contraseñas. Tener que administrar claves puede ser irritante si usa varias máquinas, y si pierde su clave privada, es probable que tenga que restablecer muchas, muchas contraseñas, un verdadero dolor.

La solución rápida al problema de administración de claves es usar gpg -c , que le permite usar el cifrado simétrico con gpg usando una frase de contraseña. Esto es genial, pero ahora estamos entrando en el territorio de lo que realmente recomendaría para una solución alternativa, ya que ya no está utilizando el beneficio principal de GPG (claves públicas / privadas).

No voy a entrar en los detalles completos de mi configuración actual, pero puedo resumirlo rápidamente: en lugar de usar gpg para administrar un archivo de texto de credenciales, uso openssl . El razonamiento detrás de esto es simple: casi todos los sistemas Linux (y, creo, OS X) vienen preinstalados con openssl. Es universal, lo que hace que la portabilidad sea muy fácil si llevo mi archivo cifrado conmigo en una unidad flash (una copia de ella, por supuesto). No hay claves para administrar, y puedo elegir fácilmente qué método de encriptación usar.

Tiendo a preferir algo como esto: openssl aes-256-cbc -salt -in passwords.txt -out passwords.aes para cifrar mi base de datos de contraseñas. No te olvides de rm the plaintext! A partir de ahí, puedo simplemente ejecutar openssl aes-256-cbc -d -in passwords.aes y grep para las credenciales que estoy usando. Agregar cosas puede ser un poco más complicado, generalmente tengo que imprimir en stdout, o agregar un archivo temporal y luego volver a cifrar, pero vale la pena por la portabilidad que ofrece openssl.

    
respondido por el dshaw 05.03.2013 - 20:26
fuente
4

Sí, y de hecho existe un administrador de contraseñas de este tipo, que usa gpg para el cifrado. Se llama pass y está disponible en enlace para linux / Unix.

  

Con el pase, cada contraseña vive dentro de un archivo encriptado en gpg cuyo   nombre de archivo es el título del sitio web o recurso que requiere la   contraseña. Estos archivos encriptados pueden ser organizados en significativos   jerarquías de carpetas, copiadas de una computadora a otra y, en general,   manipulado utilizando las utilidades estándar de gestión de archivos de la línea de comandos.

     

pass hace que la administración de estos archivos de contraseña individuales sea extremadamente fácil.   Todas las contraseñas se guardan en ~ / .password-store, y pass proporciona algunas buenas   Comandos para agregar, editar, generar y recuperar contraseñas. Eso   Es un script de shell muy corto y sencillo. Es capaz de temporalmente   Poner contraseñas en tu portapapeles y rastrear cambios de contraseña   utilizando git.

     

Puede editar el almacén de contraseñas utilizando los comandos de shell ordinarios de Unix.   junto al comando de pase. No hay formatos de archivos funky o nuevos   Paradigmas para aprender. Hay bash finalización para que pueda simplemente   Presione la pestaña para completar los nombres y comandos, así como la finalización de zsh   y pescado disponible en la carpeta de finalización. La comunidad tiene incluso   produjo un cliente GUI, una aplicación para Android, una aplicación para iOS, un complemento de Firefox, un   Dmenu script, e incluso un paquete de emacs.

    
respondido por el Brian Minton 23.03.2015 - 22:26
fuente
1

Para leer mis contraseñas, uso un archivo cifrado en mi directorio de inicio. Para descifrarlo, simplemente uso el comando de descifrado de GnuPG, cubierto en un buen script de shell rpw (para las contraseñas leídas); luego me pide una frase de contraseña y muestra todas mis contraseñas en el terminal. Opcional, puedo dar un término de búsqueda como por ejemplo, %código%. Entonces solo la línea, donde aparece 'ebay', cuando doy las contraseñas. Encuentre mi script de rpw ebay aquí:

gpg -d -o - /home/USER/pw.gpg | grep "$1" 

Para escribir / editar el archivo de contraseñas, lo descifro, lo edito y luego lo cifro de nuevo, mientras borro el archivo descifrado. Aquí está este script, que se llama /usr/local/bin/rpw (para escribir contraseñas). wpw :

gpg -d -o /home/USER/pw_unenc /home/USER/pw.gpg
vi /home/USER/pw_unenc
gpg -o /home/USER/pw.gpg -e /home/USER/pw_unenc
wipe -f -s /home/USER/pw_unenc

Todo esto es muy fácil y se basa en la seguridad de GnuPG.

    
respondido por el Ilja 06.09.2015 - 16:16
fuente

Lea otras preguntas en las etiquetas