Gestione delle chiavi

Quando si usa la crittografia, sia simmetrica che asimmetrica, si ha il problema di come gestire, e in particolare distribuire, le chiavi:

Dati i diversi requisiti della distribuzione delle chiavi simmetriche e di quelle pubbliche, le soluzioni nei due casi applicate sono diverse. Adesso verranno presentate le principali soluzioni, a partire da quelle per le chiavi simmetriche.

Gestione delle chaivi simmetriche

Tipicamente, una chiave simmetrica è associata a un canale (o a una sessione) di comunicazione tra due utenti/entità, è condivisa da solo due utenti che la usano per comunicare in modo sicuro tra di loro. Allora, per gestire tutte le possibili comunicazioni sicure tra $n$ utenti servono almeno

$$ \dbinom n 2 = \frac{n!}{2!(n-2)!}=\frac{n(n-1)}{2} $$

chiavi simmetrihe (una per ogni coppia non ordinata di utenti), che è un numero molto grande (quadratico nel numero $n$ di utenti).

La più semplice soluzione per la gestione delle chiavi sarebbe affidare a un amministratore il compito di distribuire a ogni utente, ovvero configurare manualmente su ogni macchina, tutte le chiavi necessarie, ma ciò è assolutamente non scalabile:

Servono periò dei protocolli sicuri per automatizzare la generazione e lo scambio di chiavi simmetriche.

I protocolli per la gestione delle chaivi simmetriche possono essere classificati in due famiglie, in base al servizio che offrono:

Nel seguito verranno presentati: