Proteggere una chiave privata diffondendola su più punti

35

È sicuro dividere un file di chiave privata e metterlo in luoghi diversi? Voglio dire qualcuno può effettivamente fare qualcosa con solo una parte di una chiave?

    
posta DBLouis 23.08.2017 - 15:15
fonte

2 risposte

51

Basta dividere il file non avrà l'effetto desiderato (come spiega A.Hersean in la loro risposta ) .

Penso che quello che stai cercando siano gli algoritmi " Condivisione segreta ", in particolare Algoritmo di condivisione segreta di Shamir (grazie @ heinrich5991), dove il segreto è diviso in N pezzi e dato a persone diverse per la custodia. Per ricostruire il segreto, tutti i pezzi N (o in alcune varianti, solo k dei pezzi) devono essere riuniti. L'attaccante non ottiene informazioni a meno che non abbiano tutti i pezzi.

Sebbene sia usato in molte applicazioni, non credo che sia disponibile in openssl o CAPI. Esistono molte robuste implementazioni open source - vedi questa domanda , ma dovrai svolgere alcuni compiti per decidere se ritieni che l'implementazione non sia back-doored.

Esiste anche il concetto correlato di "Crittografia multipartito"; dove si cripta il segreto con le chiavi pubbliche di più persone, e quindi tutti devono partecipare alla decrittografia. Ecco un SO su questo:

Crittografia e decrittografia che coinvolgono 3 parti

Puoi fare una versione povera di questo usando solo l'implementazione RSA che hai già incatenando la crittografia RSA:

RSA(key1, RSA(key2, RSA(key3, secret) ) )

Se vuoi che 3 persone siano crittografate, ma solo 2 di esse devono essere presenti per decrittografare, allora puoi memorizzare 3 versioni del testo cifrato:

RSA(key1, RSA(key2, secret) )
RSA(key2, RSA(key3, secret) )
RSA(key1, RSA(key3, secret) )
    
risposta data 23.08.2017 - 15:40
fonte
38

Una chiave privata o segreta non è pensata per essere tagliata. Ad esempio, se qualcuno ottiene la metà di una chiave simmetrica di 128 bit, la forza della chiave non verrà divisa per 2, ma verrà ridotta di 18446744073709551616 (= 2⁶⁴). La parte restante della chiave potrebbe essere rotta molto velocemente. Lo stesso vale per la chiave asimmetrica (utilizzata dalle CA), ma la matematica è più complessa.

Quindi non farlo. Ciò aumenterà la complessità della tua soluzione riducendo la sua sicurezza, perché avresti almeno due posti da proteggere invece di uno solo.

    
risposta data 23.08.2017 - 15:28
fonte

Leggi altre domande sui tag