Concatenamento di più chiavi PGP

3

Vorrei conoscere i limiti pratici per contattare concatenare le chiavi pgp di multiple peoples per proteggere un file.

Nella normale crittografia a chiave pubblica, sono necessarie quattro chiavi, pubbliche e private di entrambe le parti. Ma, se l'integrità di uno dei partecipanti è compromessa, diciamo, attraverso la tortura o qualche altra forma di coercizione, l'informazione può anche essere in chiaro.

Tuttavia, cosa succederebbe se questo fardello fosse alleggerito dalla crittografia che richiedeva chiavi multiple da individui diversi per poter cifrare e poter essere decifrato, usando le chiavi pubbliche di quegli individui. In questo modo, potrebbe essere come avere 2 o più catenacci su una porta che un ladro dovrebbe mitigare. Non sto parlando qui della crittografia di un file che è già stato crittografato, ma utilizzando una combinazione di chiavi per crittografare un file che potrebbe essere decifrato solo avendo le chiavi pubbliche di tutti coloro che hanno effettuato la crittografia iniziale.

Sono sicuro che ci sono alcune ridondanze inutili o altre cose che non sto prendendo in considerazione in questo piano. Quali sono?

    
posta user117619 24.07.2015 - 21:21
fonte

3 risposte

2

Fuori dalla scatola con GnuPG / PGP, non c'è modo di criptare un file con il metodo che suggerisci. Esiste una crittografia "di gruppo" o la possibilità di crittografare a più destinatari, ma ciò consente a ciascun destinatario di decifrare il messaggio individualmente anziché affidarsi alla chiave di chiunque altro.

Quello che puoi fare, ed è comunemente fatto, è dividere la chiave privata PGP e richiedere a più persone di riunirsi e rendere la chiave intera per decodificare il messaggio. Inoltre, invece di singoli individui, è possibile che l'altra parte della chiave si trovi su un modulo di sicurezza hardware, una smart card o un altro dispositivo di questo tipo.

Potresti dare un'occhiata a SplitGpg che sembra fare ciò che stai chiedendo.

    
risposta data 24.07.2015 - 21:37
fonte
1

In pratica, OpenPGP definisce (o almeno indica) un modo per farlo, RFC 4880, 5.2.3.21 . I flag chiave conoscono l'opzione flag 0x10 :

   0x10 - The private component of this key may have been split
          by a secret-sharing mechanism.

Per fare ciò, dovresti dividere la chiave da sola e rimettere insieme le cose. Un modo semplice potrebbe essere quello di separare la proprietà "fisica" della chiave simmetricamente crittografata (ad esempio la chiave privata crittografata con una passphrase) e la conoscenza della passphrase stessa. Esistono scenari più complessi per condivisione segreta da applicare sulla chiave esportata. SplitGpg (come proposto da @Herringbone_Cat) sembra implementare tale algoritmo, ma non ho mai provato esso.

    
risposta data 25.07.2015 - 01:49
fonte
0

Potresti letteralmente concatenare la crittografia eseguendo una doppia crittografia del file:

cat FILE |gpg -er [email protected] |gpg -er [email protected] > FILE.alice+bob.gpg.gpg

Ciò richiederebbe a Bob di decrittografare FILE.alice+bob.gpg.gpg in FILE.alice+bob.gpg , che quindi richiede la decodifica di Alice. Alice non sarà in grado di fare nulla con il file crittografato e Bob non sarebbe in grado di fare nulla con il file crittografato singolo.

L'utilizzo della crittografia di gruppo consentirebbe una maggiore stabilità, quindi è possibile crittografare un intero gruppo anziché solo Alice, quindi crittografare un altro intero gruppo anziché solo Bob (la decrittografia richiede solo un membro di ciascun gruppo). Potresti anche scegliere di avere un utente con privilegi più elevati in entrambi i gruppi (e quindi essere in grado di decifrare entrambi i livelli).

Un punto debole di questo sistema è che solo Bob (o qualsiasi membro del gruppo più esterno) può verificare l'integrità del livello interno di crittografia. C'è anche un po 'di overhead dato i metadati raddoppiati.

A questo proposito, la risposta di Herringbone_Cat dell'utilizzo di SplitGpg potrebbe essere preferibile, ma non sono sicuro delle implicazioni sulla sicurezza di dividere letteralmente una singola chiave (presuppone che ogni parte sia solida). Certamente, se si sceglie questo percorso, moltiplicare la dimensione della chiave per (almeno) il numero di volte in cui si intende dividerlo in modo da ridurre al minimo la possibilità che un proprietario di una parte chiave possa forzare la parte restante / i. / p>

Assicurati inoltre di non inviare mai alcuna parte di chiave privata su Internet senza crittografia (forse crittografare ciascuna parte chiave della chiave PGP personale di ciascuna parte).

    
risposta data 25.07.2015 - 01:52
fonte

Leggi altre domande sui tag