Chiavi asimmetriche

Le chiavi asimmetriche, note anche come coppie di chiavi pubblica/privata, vengono usate per la crittografia asimmetrica. La crittografia asimmetrica viene usata principalmente per crittografare e decrittografare le chiavi di sessione e le firme digitali. La crittografia asimmetrica usa algoritmi di crittografia a chiave pubblica .

Gli algoritmi di chiave pubblica usano due chiavi diverse: una chiave pubblica e una chiave privata. Il membro della chiave privata della coppia deve essere mantenuto privato e sicuro. La chiave pubblica, tuttavia, può essere distribuita a chiunque lo richieda. La chiave pubblica di una coppia di chiavi viene spesso distribuita tramite un certificato digitale. Quando una chiave di una coppia di chiavi viene usata per crittografare un messaggio, l'altra chiave di tale coppia è necessaria per decrittografare il messaggio. Pertanto, se la chiave pubblica dell'utente A viene usata per crittografare i dati, solo l'utente A (o un utente che ha accesso alla chiave privata dell'utente A) può decrittografare i dati. Se la chiave privata dell'utente A viene usata per crittografare una parte di dati, solo la chiave pubblica dell'utente A decrittograferà i dati, indicando quindi che l'utente A (o un utente con accesso alla chiave privata dell'utente A) ha eseguito la crittografia.

Se la chiave privata viene usata per firmare un messaggio, è necessario usare la chiave pubblica di tale coppia per convalidare la firma. Ad esempio, se Alice vuole inviare un messaggio con firma digitale, firma il messaggio con la chiave privata e l'altra persona può verificare la firma usando la chiave pubblica. Poiché presumibilmente solo Alice ha accesso alla chiave privata, il fatto che la firma possa essere verificata con la chiave pubblica di Alice indica che Alice ha creato la firma.

Sfortunatamente, gli algoritmi a chiave pubblica sono molto lenti, circa 1.000 volte più lenti rispetto agli algoritmi simmetrici. È poco pratico usarli per crittografare grandi quantità di dati. In pratica, gli algoritmi a chiave pubblica vengono usati per crittografare le chiavi di sessione. Gli algoritmi simmetrici vengono usati per la crittografia/decrittografia della maggior parte dei dati.

Analogamente, poiché la firma di un messaggio, in effetti, crittografa il messaggio, non è pratico usare algoritmi di firma della chiave pubblica per firmare messaggi di grandi dimensioni. Al contrario, viene creato un hash a lunghezza fissa del messaggio e il valore hash è firmato. Per altre informazioni, vedere Hash e firme digitali.

Ogni utente ha in genere due coppie di chiavi pubbliche/private. Una coppia di chiavi viene usata per crittografare le chiavi di sessione e l'altra per creare firme digitali. Questi valori sono noti rispettivamente come coppia di chiavi di scambio di chiavi e coppia di chiavi di firma.

Si noti che anche se i contenitori di chiavi creati dalla maggior parte dei provider di servizi di crittografia contengono due coppie di chiavi, questo non è obbligatorio. Alcuni provider di servizi di configurazione non archiviano coppie di chiavi mentre altri provider di servizi di configurazione archiviano più di due coppie.

Tutte le chiavi in CryptoAPI vengono archiviate all'interno dei provider di servizi di configurazione. I provider di servizi di configurazione sono anche responsabili della creazione delle chiavi, dell'eliminazione delle chiavi e dell'uso di tali chiavi per eseguire un'ampia gamma di operazioni di crittografia. L'esportazione delle chiavi dal CSP in modo che possano essere inviate ad altri utenti viene illustrata in Archiviazione chiavi crittografiche ed Exchange.