Estoy luchando por tener una configuración sólida y funcional para mis copias de seguridad usando Duplicity, sabiendo que quiero cifrado GPG asimétrico basado en pares de claves. Y poder realizar copias de seguridad de forma segura desde múltiples dispositivos.
Lo que tengo hoy:
- Una clave maestra GPG generada sin conexión con colas, siguiendo esta guía:https://wiki.debian.org/GnuPG/AirgappedMasterKey
- con2 subclaves protegidas con contraseña: uno paracifrado, y uno parafirma
- Los comandos de copia de seguridad de Duplicity se ejecutan con duply que almacena la copia de seguridad cifrada en un S3 remoto como el almacenamiento en la nube alojado por Scaleway:https://www.scaleway.com/fr/object-storage/ Usando las claves de cifrado generadas anteriormente.
Envié con éxito datos cifrados al almacenamiento remoto y restauré los archivos respaldados desde allí.
Ahora tengo 2 problemas con esta configuración:
- Tengo que ingresar la contraseña clave en cada operación de respaldo
Sospecho que es así porque mi clave de registro está protegida con contraseña (la misma contraseña se usa para proteger todas las subclaves, lo cual es una limitación de GPG, AFAIK). Intenté configurar el agente gpg y almacenar la contraseña en el caché por una cantidad ilimitada. de tiempo. Lo cual no funciona y tal vez no sea una buena idea de todos modos. Esa limitación hace que sea realmente difícil o imposible configurar copias de seguridad desatendidas.
-> ¿Debería utilizar una subclave de signo que no esté protegida con contraseña? Tampoco parece ser lo correcto...
- Quiero hacer una copia de seguridad desde varios dispositivos
Con mi configuración actual, necesitaría importar el mismo conjunto de claves a un dispositivo nuevo. Lo cual obviamente quiero evitar. Si un dispositivo se ve comprometido, no quiero que un atacante pueda acceder a todas mis copias de seguridad y pueda descifrar todos los datos con las claves robadas. -> "no pongan los huevos en la misma canasta".
Para empezar, "no pongas los huevos en la misma canasta" también podría significar que no debes confiar en tu único par de claves PGP para todo. Por ejemplo, debe crear un par de claves de "copia de seguridad/almacenamiento" independiente de su par de claves de "correo electrónico/Git". Después de todo, tienen usos y requisitos completamente diferentes: sus copias de seguridad son completamente internas, por lo que no se benefician de estar firmadas por su par de claves PGP "principal" de todos modos.
=> Eso tiene sentido, gracias. Crear un nuevo par de claves específico de respaldo parece razonable.
Pero además, si entiendo el sistema correctamente, Duplicity no necesita poder descifrar sus copias de seguridad, solo necesita cifrarlas. (A menos que necesite restaurar, por supuesto). Eso debería significar que en realidad no necesita la parte privada de la subclave de cifrado en ninguno de los dispositivos que contribuyen al repositorio de respaldo, solo debe estar presente en el momento de la restauración.
=> Creo que tienes razón. Excepto tal vez en el caso en el que una copia de seguridad incremental falló y es necesario reiniciarla, ya que esta situación no debería ocurrir con tanta frecuencia, supongo que una intervención manual es aceptable. Todo esto para decir que sí, es posible que la subclave privada para el cifrado no esté en ninguno de los dispositivos.
-> ¿Cuál sería una estrategia recomendada aquí? Por lo que tengo entendido hoy, ¿no es factible administrar múltiples subclaves de cifrado/firma con la misma clave maestra GPG? ¿Debo generar varias claves maestras para realizar copias de seguridad?
Intentaré resumir:
- Si quiero una clave de cifrado diferente por dispositivo (parece ser la opción más segura), tengo que generar un nuevo par de claves para cada dispositivo, ¿verdad?
- En cuanto a la clave de firma, todavía no sé cómo proceder...
- ¿Debería administrarse como una subclave del par de claves específico del dispositivo?
- ¿O una única clave para todos los dispositivos?
- ¿Varias claves de firma como subclaves de un par de claves separado?
¿Tiene eso sentido? Otra vez, gracias por tu ayuda !
Respuesta1
Quiero hacer una copia de seguridad desde varios dispositivos
Con mi configuración actual, necesitaría importar el mismo conjunto de claves a un dispositivo nuevo. Lo cual obviamente quiero evitar. Si un dispositivo se ve comprometido, no quiero que un atacante pueda acceder a todas mis copias de seguridad y pueda descifrar todos los datos con las claves robadas. -> "no pongan los huevos en la misma canasta".
Para empezar, "no pongas los huevos en la misma canasta" también podría significar que no debes confiar en tu único par de claves PGP para todo. Por ejemplo, debe crear un par de claves de "copia de seguridad/almacenamiento" independiente de su par de claves de "correo electrónico/Git". Después de todo, tienen usos y requisitos completamente diferentes: sus copias de seguridad son completamente internas, por lo que no se benefician de estar firmadas por su par de claves PGP "principal" de todos modos.
Pero además, si entiendo el sistema correctamente, Duplicity no necesita poderdescifrarsus copias de seguridad – sólo necesitacifrara ellos. (A menos que necesite restaurar, por supuesto). Eso debería significar que en realidad no necesita la parte privada de la subclave de cifrado encualquierde los dispositivos que contribuyen al repositorio de respaldo, solo necesita estar presente en el momento de la restauración.
Por lo que tengo entendido hoy, ¿no es factible administrar múltiples subclaves de cifrado/firma con la misma clave maestra GPG?
No puede tener varias subclaves de cifrado (ya que el remitente no puede saber en qué dispositivo desea leer los mensajes, por lo que la única opción que funciona es cifrar entodode sus subclaves de cifrado, lo que anula el objetivo de tener varias).
Por otro lado, puedes tener fácilmente múltiplesfirmasubclaves por clave, ya que es la situación opuesta al cifrado.
(Se usa la misma contraseña para proteger todas las subclaves, lo cual es una limitación de GPG, AFAIK)
Es más probable que sea una elección de interfaz de usuario. El agente gpghaceadmite una protección diferente para cada clave privada (en realidad no le importa la relación), pero si la interfaz de usuario de GnuPG hiciera que la operación de "cambiar contraseña" afectara solo a la subclave específica, probablemente confundiría a más usuarios de los que ayudaría.
Busque el "keygrip" de cada clave privada de gpg -K --with-keygrip
, luego utilícelo gpg-connect-agent
para cambiar su frase de contraseña directamente (sin pasar por GnuPG):
gpg-connect-agent "passwd KEYGRIP" /bye