È 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?
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) )
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.
Leggi altre domande sui tag key-management