Condividi tramite


Archiviazione di una chiave di sessione

Nota

Questa sezione presuppone che gli utenti dispongano di un set di coppie di chiavi pubbliche/private. Le istruzioni e un esempio per la creazione di coppie di chiavi sono disponibili in Programma C di esempio: Creazione di un contenitore di chiavi e generazione di chiavi.

 

Per archiviare una chiave di sessione

  1. Creare un BLOB di chiavi semplice usando la funzione CryptExportKey. In questo modo la chiave di sessione verrà trasferita dal provider di servizi di configurazione allo spazio di memoria di un'applicazione. Specificare che viene usata una chiave pubblica di scambio per firmare il BLOB della chiave.
  2. Archiviare il BLOB della chiave firmata su disco. Si presuppone che tutti i dischi non siano sicuri.
  3. Quando la chiave è necessaria, leggere il BLOB della chiave dal disco.
  4. Importare nuovamente il BLOB della chiave nel provider di servizi di configurazione usando la funzione CryptImportKey.

Per un esempio di creazione di una chiave di sessione ed esportazione di tale chiave in un BLOB di chiave semplice che può essere scritto in un file su disco, vedere Esempio di programma C: Esportazione di una chiave di sessione.

Questa procedura offre solo una sicurezza minima. Se la chiave di sessione archiviata verrà usata per crittografare i dati in un secondo momento, la procedura precedente non garantisce una sicurezza adeguata.

Per garantire maggiore sicurezza, firmare il BLOB della chiave con una chiave privata di scambio prima che venga archiviato su disco. Quando la chiave BLOB viene letta successivamente dal disco, è possibile convalidarne la firma per assicurarsi che il BLOB della chiave sia intatto.

Se il BLOB della chiave non è firmato, chiunque abbia accesso al disco o ad altri supporti in cui è archiviata la chiave può creare una nuova chiave di sessione.

La nuova chiave di sessione può essere crittografata con la chiave di scambio della chiave pubblica dell'utente originale e questa nuova chiave può essere sostituita con l'originale. Se l'utente ha inconsapevolmente usato la chiave di sessione sostituita per crittografare file e messaggi, l'utente che ha creato la chiave sostitutiva potrebbe facilmente decrittografarli.

Le firme digitali sono descritte in dettaglio in Hash e firme digitali.