Per prima cosa, leggi ciò che Deer Hunter ha scritto sopra. Il modo migliore per inviare in modo sicuro le chiavi private è di non inviarle mai in primo luogo. Punto fermo.
Detto questo, ci sono probabilmente alcune circostanze in cui potresti legittimamente bisogno di trasferire alcune chiavi private che esistono nelle tue mani e amp; e in una posizione alle mani di qualcun'altro in un'altra posizione. Devi ridurre al minimo questi tempi il più possibile , preferibilmente semplicemente camminando sul client che ne ha bisogno attraverso la generazione delle chiavi stesse. Ma ci possono essere delle volte in cui ciò non è pratico per qualche motivo (o, più probabilmente) non è la tua chiamata da fare. Allora, cosa fai allora?
Bene, fai quello che fanno i governi e le aziende tecnologiche quando hanno bisogno di distribuire chiavi di crittografia molto sensibili (se più spesso in simmetriche o anche in scenari di distribuzione delle chiavi a tempo, piuttosto che con chiavi private asimmetriche) verso un remoto posizione: tu:
(1.) Cripta l'inferno della / e chiave / i da trasferire prima o dopo aver lasciato le tue strutture, usando una chiave "esterna" unica creata solo per un trasferimento e poi distrutta . Se tale chiave di crittografia protettiva viene generata da una password o da una frase di accesso, la password o la frase soddisfa requisiti molto elevati.
(2.) Utilizza un canale con una sicurezza molto migliore di reti esistenti e generiche , ovvero Internet! - per ottenere il pacchetto crittografato destinazione. Il recapito fisico di un dispositivo di memoria contenente la chiave crittografata è il canale più semplice ma non sempre più pratico.
(3.) Mantieni la chiave "esterna" che sblocca la crittografia protettiva (o una password / passphrase che costituisce la base per la chiave) in tuo possesso fino al momento del trasferimento della chiave / s si desidera trasferire e quindi decrittografarli nella posizione del cliente. Ciò vuol dire che sei presente all'evento di trasferimento delle chiavi di persona per decrittografare la crittografia protettiva o inviare la chiave che sblocca la crittografia protettiva utilizzando un altro canale elettronico indipendente ad alta sicurezza per portarlo al posto del cliente al momento della decrittografia.
(Perché non passare alla # 3 e inviare la chiave privata originale che devi trasferire al client da quel canale elettronico di massima sicurezza? Perché non ci fidiamo di nessun canale, nemmeno quello che pensiamo sia uno che ha una sicurezza particolarmente buona, quasi sufficiente per gestire informazioni come una chiave privata. Facciamo in modo che un possibile avversario intercetti almeno due canali / meccanismi di trasferimento , e rendiamo difficile intercettare qualcosa di utile da entrambi , figuriamoci entrambi.
Ora, tutto sembra arduo e complicato. Ma in realtà non deve necessariamente necessariamente esserlo. (Supponendo che siamo in una situazione comune, questa-chiave-è-importante-ma-non-essere-veramente-catastrofica-se-è-stata-compromessa.) Ad esempio potresti:
-Utilizzare un dispositivo USB protetto con crittografia hardware ben considerato - nessuna mancanza di opzioni là fuori - per il trasporto. Scrivi una chiave privata, bloccala con una password / codice / frase strong unica e guidala attraverso la città alla posizione del cliente che ha bisogno della chiave. Collegalo quando arrivi, sbloccalo e copia la chiave privata sul sistema del cliente.
-Grab una chiavetta USB nuova (non precedentemente utilizzata). Utilizzare un programma software di cui si abbia una strong fiducia per crittografare la chiave privata in un file. Trasferisci file su USB. Quindi ricontrolla l'USB, solo per essere sicuro che l'unica cosa su di esso è il pacchetto ora crittografato. Fai la posta raccomandata o FedEx per portarlo sul sito del cliente. Quando arriva, usa Off-the-Record o un'app di sicurezza simile per trasmettere la chiave alla crittografia protettiva (o password / frase necessaria per rigenerarla) al client, che poi decodifica & ottiene la chiave privata.
-Per essere in grado di distribuire ripetutamente le chiavi a un client, su richiesta ed elettronicamente? Cripta la chiave privata nel file come nell'ultimo esempio. Avere un server di accesso sicuro o SSH semplice ma sicuro che si utilizza solo per la distribuzione di file di chiavi crittografate, che il client dispone di informazioni di autenticazione precondivise per l'accesso e che si mantiene normalmente disconnessi da qualsiasi accesso remoto. Quando il cliente ti chiama e ti dice che è pronto a ricevere la chiave, trasferiscila dal tuo ambiente di archiviazione interno al server. Abilita le connessioni remote al server dall'indirizzo IP del client. Il client si connette e afferra il file chiave crittografato. Infine, usi l'app di messaggistica ad alta sicurezza (o qualsiasi altra cosa) per trasferire la chiave protettiva sul tuo client.
Molte opzioni. È vero che c'è del lavoro in ognuno di essi se si vuole che il trasferimento sia ben protetto. Spenti dalla prospettiva di fare il lavoro? È comprensibile. In tal caso, vedi il punto 1 (il punto originale Deer Hunter realizzato): crea una soluzione tecnologica in cui non è necessario trasferire le chiavi private.