Dove sono archiviate le chiavi private? [chiuso]

2

Potrebbe sembrare una domanda stupida, ma dove sono archiviate le chiavi private come parte di Asymmetric Encryption?

Ad esempio, diciamo che ho un server Web e installo un certificato SSL di terze parti da una terza parte. Una volta installato, il certificato viene presentato agli utenti finali per verificare l'identità del server Web e la chiave pubblica all'interno del certificato viene utilizzata per crittografare i dati come parte di SSL. Dove normalmente il server Web mantiene la chiave privata corrispondente per decrittografare i dati e come viene mantenuta al sicuro? Sarebbero in "negozi chiave"?

    
posta deltzy 04.06.2018 - 18:00
fonte

3 risposte

2

In aggiunta alle altre risposte, che coprono l'archiviazione della chiave privata all'interno del server; si dovrebbe anche essere consapevoli che le chiavi private possono essere memorizzate al di fuori del proprio server in un'appliance specializzata denominata Hardware Security Module (HSM). Questo è spesso il caso in ambienti ad alta sicurezza in cui il costo di una violazione supera di gran lunga il costo relativamente elevato dell'HSM.

La chiave privata è memorizzata nell'HSM e non lascia mai l'apparecchio non crittografato. Qualsiasi attività crittografica che coinvolge la chiave privata viene eseguita internamente all'interno del dispositivo. Gli HSM comunicano con i server utilizzando protocolli conformi agli standard o, con i driver installati sui server, utilizzando protocolli specifici del fornitore.

Per massimizzare il ROI, molti HSM possono essere acquistati come dispositivi abilitati alla rete; che può essere condiviso tra molti server e quindi distribuire il costo.

Se la rete non è abilitata, la maggior parte si collega a un singolo server tramite USB; o internamente come una scheda PCI.

    
risposta data 04.06.2018 - 22:36
fonte
2

Dipende dal server Web e dal sistema operativo, ad esempio:

  1. Il server web Apache su Linux li memorizzerebbe in file flat in una directory dedicata, che è dipendente dalla distribuzione, ad es. / Etc / apache2 / ssl. È possibile scegliere un percorso personalizzato nella definizione dell'host virtuale, quindi il percorso / posizione è più una convenzione piuttosto che uno standard o un requisito.

  2. Apache Tomcat, ad esempio, utilizza un archivio chiavi, che viene crittografato utilizzando una chiave simmetrica e in genere il file di configurazione SSL / TLS specifico conterrà la password dell'archivio chiavi.

  3. IIS su Windows può utilizzare una varietà di archivi certificati, la maggior parte dei quali si trovano fisicamente nel registro di Windows.

Come potete vedere, l'implementazione varia da una piattaforma all'altra - da file flat, attraverso un file simile a un database crittografato, fino a un archivio di certificati specializzato fornito / gestito da sistema operativo.

Spero che questo aiuti.

    
risposta data 04.06.2018 - 19:06
fonte
1

Come citato @ Crypt32, la tua domanda è eccessivamente ampia in quanto non specifica un'applicazione o un sistema.

In generale, le chiavi private sono altamente sensibili e devono essere archiviate in modo sicuro. Chiunque abbia una copia della tua chiave privata potrebbe impersonarti con successo. Ciò significa che devi bloccare con cura tutti gli accessi al file. Il file della chiave privata deve essere crittografato, con la chiave di decrittografia separata dal file crittografato e anche la memorizzazione della chiave di decrittografia deve essere protetta.

Se hai a che fare con Apache, Tomcat o altre app java, è abbastanza comune memorizzare la chiave privata in un Java Key Store crittografato. Altre alternative includono un file PKCS # 12, che è un formato contenitore più standardizzato (meno specifico della lingua) di JKS. Altri server e sistemi avranno esigenze diverse. Ad esempio, su Windows, le chiavi private possono essere archiviate nell'archivio certificati.

    
risposta data 04.06.2018 - 19:10
fonte

Leggi altre domande sui tag