Esistono implementazioni "reali" di schemi di crittografia a condivisione segreta?

17

Immagina qualcosa come TrueCrypt in cui l'utente A può decifrare i suoi file, o 3 dei 10 direttori della sua organizzazione possono decrittografare i file dell'utente A. A quanto ho capito, questo è simile al modo in cui le chiavi di root DNSSEC sono protette. Obbligatorio wiki voci . Qualcuno sa di un'implementazione commerciale o open source della crittografia dei file che utilizza la condivisione segreta?

    
posta scuzzy-delta 18.07.2011 - 06:10
fonte

8 risposte

6

Voglio dire che il prodotto commerciale PGP ha avuto questa funzionalità per almeno 10 anni. Al momento ha questa funzione:

link e link

    
risposta data 18.07.2011 - 21:57
fonte
21

Ci sono almeno due implementazioni gratuite che fanno parte di Ubuntu Linux e implementano la suddivisione e combinazione segrete di Shamir:

  • gfshare: Manpage di Ubuntu: gfshare - spiegazione di Shamir Secret Sharing in gf (2 ** 8) fornisce entrambi gli strumenti per la condivisione segreta (gfsplit e gfcombine) che possono dividere un file arbitrario in condivisioni, nonché una libreria per gli sviluppatori.

  • Il pacchetto " ssss " fornisce il programma ssss-split che ti richiede una passphrase che non può essere più lungo di 128 caratteri, per dividere in un insieme di frasi da condividere. Quindi il programma ssss-combine richiede una quantità sufficiente di frasi condivise e stampa il segreto.

gfshare funziona direttamente con i file, mentre ssss verrebbe utilizzato per suddividere una passphrase che può essere utilizzata con gpg o openssl o un'altra utilità di crittografia. Quindi gfshare sembrerebbe più semplice per il tuo caso d'uso.

    
risposta data 18.07.2011 - 16:17
fonte
5

Ecco una libreria di Sharing's Secret Sharing che ho messo insieme in Python: link .

È davvero semplice dividere i segreti:

>>> from secretsharing import SecretSharer
>>> shares = SecretSharer.split_secret("c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a", 2, 3)
['1-58cbd30524507e7a198bdfeb69c8d87fd7d2c10e8d5408851404f7d258cbcea7', '2-ecdbdaea89d75f8e73bde77a46db821cd40f430d39a11c864e5a4868dcb403ed', '3-80ebe2cfef5e40a2cdefef0923ee2bb9d04bc50be5ee308788af98ff609c380a']

... e recupera i segreti:

>>> SecretSharer.recover_secret(shares[0:3])
'c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a'

E supporta un sacco di formati segreti e condivisi, come le chiavi private Bitcoin e base32:

>>> from secretsharing import BitcoinToZB32SecretSharer
>>> shares = BitcoinToZB32SecretSharer.split_secret("5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS", 2, 3)
['b-aweuzkm9jmfgd7x4k595bzcm3er3epf4dprfwzpprqa3exbuocs9byn4owfuqbo', 'n-btetgqqu8doacarsbyfdzpyycyj6gfdeaaxrpfx33pdjk4ou1d5owjdmdi1iegm9', 'd-njh33f14q7smucmh8iq8uaewc8mzub3mzptrwsegfiz3hc1fozkkjtguc4trh6sq']
    
risposta data 29.05.2014 - 23:18
fonte
4

Il crossover fisico / IT arriva con gli scenari di Break Glass per le emergenze - i detentori di una parte del segreto li recuperano dalle loro casseforti e inseriscono una passphrase insieme per approvare le autorizzazioni di accesso di emergenza a breve termine. Questo è abbastanza comune nelle grandi organizzazioni, specialmente nei servizi finanziari.

Non ho visto un'implementazione del mondo reale della soluzione puramente tecnica che penso tu intenda - dove l'algoritmo di crittografia gestisce x chiavi di y per sbloccare.

Mi chiedo quale sarebbe lo scenario che lo richiederebbe come soluzione su qualcosa di semplice come lo scenario di vetro rotto che ho menzionato.

    
risposta data 18.07.2011 - 15:43
fonte
3

Il Vault di Hashicorp utilizza Shamir's Secret Sharing come parte di il processo" unsealing " che legge e decrittografa i segreti dal back-end di archiviazione.

    
risposta data 19.02.2016 - 01:01
fonte
2

L'azienda a cui lavoro esattamente ha questo in atto usando PGP. È usato per le procedure chiave di deposito. La chiave principale che può decodificare tutto è memorizzata in componenti in sacchetti di sigillo. Solo quando 3 persone si incontrano, possono decrittografare i segreti di un'altra persona.

    
risposta data 18.07.2011 - 15:30
fonte
1

La condivisione delle chiavi viene anche utilizzata nei moduli di sicurezza hardware, ad esempio per sbloccare l'account dell'amministratore. Nella documentazione di Amazon CloudHSM, la condivisione delle chiavi è spiegata abbastanza bene: Amazon CloudHSM: Informazioni su M di N

    
risposta data 31.07.2013 - 17:42
fonte
0

Lavoro in un'azienda che utilizza ampiamente VSS per il nostro prodotto di crittografia (getvida.io).

Questo documento riassume abbastanza bene la tecnica: link

  • Le chiavi per il sistema di crittografia cloud di Vida vengono divise utilizzando condivisioni segrete "verificabili".

  • Gli impegni di coefficiente si basano sulla curva ellittica DLP per la sicurezza, piuttosto che sull'esponenziazione del campo principale.

Il valore di VSS (in generale, non solo nel nostro caso d'uso), è che qualcuno può aggiungere e rimuovere i dispositivi di sicurezza senza esporre i segreti - pur essendo sicuro che le condivisioni di nuova costruzione derivano dal segreto originale.

Ciò impedisce a un utente malintenzionato di ingannare un utente con schema di soglia dall'applicare una chiave non valida. (Che, a sua volta, potrebbe essere utilizzato per forzare la perdita di informazioni.)

    
risposta data 20.11.2018 - 15:47
fonte

Leggi altre domande sui tag