Poiché l'uso classico di cryptosystems ha ripartito le chiavi, non è possibile legare un'identità ad una chiave.
I cryptosystems chiave pubblici usano due chiavi, uno di cui deve essere disponibile a tutti. L'associazione fra la chiave crittografica ed il principale è critica, perché determina la chiave pubblica usata per cifrare i messaggi per la segretezza. Se il grippaggio è errato, qualcuno tranne il destinatario progettato potrebbe leggere il messaggio.
Allo scopo questa discussione, supponiamo che il principale è identificato da un nome di una certa specie accettabile ed è stato autenticato all'entità che genera le chiavi crittografiche. La domanda è come un certo (possibilmente) principale differente può legare la chiave pubblica alla rappresentazione dell'identità.
Un'idea evidente è affinchè il creatore firmi la chiave pubblica con la sua chiave riservata, ma questa soltanto spinge il problema verso un altro livello, perché il destinatario saprebbe soltanto che chiunque ha generato la chiave pubblica inoltre la ha firmata. Non c'è nessun'identità presente.
|
|
Generando un messaggio che contiene una rappresentazione dell'identità, della chiave pubblica corrispondente e di un timestamp ed avente un segno di fiducia di autorità esso.
CAlice = {eAlice || Alice || T} dCathy
Questo tipo di struttura è denominato un certificato.
Un certificato è un segno che lega un'identità ad una chiave crittografica.
Quando Bob desidera comunicare con Alice, ha ottenuto il certificato CAlice della Alice. Supponendo che conosce la chiave pubblica del Cathy, può decifrare il certificato. Lui controlli preliminari il timestamp T per vedere quando il certificato è stato emesso. (a partire da questo, può determinare se il certificato è troppo vecchio fidarsi di; veda sotto.) Guarda l'entità tematica (Alice, a quale il certificato è stato emesso). La chiave pubblica nel certificato appartiene a quell'oggetto, in modo da Bob ora ha chiave pubblica della Alice. Sa che Cathy ha firmato il certificato e quindi quel Cathy vouching ad un certo grado che la chiave pubblica appartiene a Alice. Se si fida di Cathy per fare una tal determinazione, accetta la chiave pubblica come valido ed appartenendo a Alice.
Un problema immediato è che Bob deve conoscere la chiave pubblica del Cathy per convalidare il certificato. Due metodi si occupano di questo problema. Il primo, da Merkle, elimina la firma del Cathy; il secondo struttura i certificati nelle catene della firma.
La forma usuale della certificazione è affinchè l'emittente cifri un hash dell'identità dell'oggetto (a chi il certificato si pubblica), della chiave pubblica e delle informazioni quale periodo dell'edizione o della scadenza usando la chiave riservata dell'emittente. Per convalidare il certificato, un utente usa la chiave pubblica dell'emittente per decifrare il hash e per controllare i dati nel certificato. L'utente che prova a convalidare il certificato deve ottenere la chiave pubblica dell'emittente. Se l'emittente ha un certificato, l'utente può ottenere quella chiave dal certificato dell'emittente. Ciò spinge il problema verso un altro livello: come può il certificato dell'emittente essere convalidato?
Due metodi a questo problema devono costruire la a albero-come la gerarchia, con la chiave pubblica della radice conosciuta dalla fascia, o permettere una disposizione arbitraria dei certifiers e contare su conoscenza di ogni individuo dei certifiers. In primo luogo, esaminiamo X.509, che descrive i certificati e la certificazione in generale. Allora guardiamo la struttura di certificazione del PGP.
La struttura di autenticazione dell'indice di X.509the è la base per molti altri protocolli. Definisce le disposizioni del certificato e la convalida di certificazione in un contesto generico. Presto dopo la relativa edizione originale in 1988, I'Anson e Mitchell hanno trovato i problemi con sia i protocolli che la struttura del certificato. Questi problemi erano corretti nella versione 1993, citata come X.509v3.
Il certificato X.509v3 ha i seguenti componenti.
Versione. Ogni versione successiva del certificato X.509 ha nuovi campi aggiunti. Se i campi 8, 9 e 10 (veda sotto) sono presente, questo campo deve essere 3; se i campi 8 e 9 sono presenti, questo campo è 2 o 3; e se nessun dei campi 8, 9 e 10 sono presente, il numero di versione può essere 1, 2, o 3.
Numero di serie. Ciò deve essere unica fra i certificati emessi da questo emittente. Cioè l'accoppiamento (nome distinto, numero di serie dell'emittente) deve essere unico.
Contrassegno di procedura della firma. Ciò identifica la procedura e tutti i parametri, usati per firmare il certificato.
Nome Distinto Dell'Emittente. Ciò è un nome che identifica unicamente l'emittente.
Intervallo di validità. Ciò dà i tempi a cui il certificato diventa valido ed espira.
Nome Distinto Tematico. Ciò è un nome a che identifica unicamente conforme chi il certificato si pubblica.
Le informazioni chiave pubbliche tematiche. Ciò identifica la procedura, i relativi parametri e la chiave pubblica dell'oggetto.
Contrassegno unico dell'emittente (certificati di versioni 2 e 3 soltanto). In alcune circostanze, l'emittente nomi distinti può essere riciclato (per esempio, quando il nome distinto si riferisce ad un ruolo, o quando un'azienda si chiude e una seconda azienda con lo stesso nome distinto si apre). Questo campo permette che l'emittente renda chiaro fra le entità con lo stesso nome dell'emittente.
Contrassegno unico tematico (certificati di versioni 2 e 3 soltanto). Questo campo è come il campo 8, ma per l'oggetto.
Estensioni (certificati di versione 3 soltanto). X.509v3 definisce determinate estensioni nelle zone delle informazioni di politica e di chiave, nei vincoli del percorso di certificazione e nelle informazioni tematiche e dell'emittente. Per esempio, se un emittente ha chiavi multiple di certificazione, "il contrassegno chiave di autorità" permette che il certificato indichi quale chiave dovrebbe essere usata. "l'estensione di vincoli di base" indica se il supporto del certificato può emettere i certificati.
Firma. Questo campo identifica la procedura ed i parametri usati per firmare il certificato, seguito dalla firma (un hash cifrato dei campi 1 - 10) in se.
Per convalidare il certificato, l'utente ottiene la chiave pubblica dell'emittente per la procedura particolare della firma (campo 3) e deciframenti la firma (campo 11). Allora usa le informazioni nel campo della firma (campo 11) a recompute il valore del hash dagli altri campi. Se abbina la firma decifrata, la firma è valida se la chiave pubblica dell'emittente è corretta. L'utente allora controlla il periodo di validità (campo 5) per accertarsi che il certificato sia corrente.
Un'autorità di certificazione (CA) è un'entità quella certificati delle edizioni.
Se tutti i certificati hanno un emittente comune, allora la chiave pubblica dell'emittente può essere distribuita dalla fascia. Tuttavia, questo è infeasible. Per esempio, è altamente improbabile che la Francia ed uniti Dichiari potrebbero accosentire su un singolo emittente per le loro organizzazioni ed i certificati dei cittadini. Ciò suggerisce gli emittenti multipli, che complica il processo della convalida.
Supponga che Alice ha un certificato dal suo CA locale, Cathy. Desidera comunicare con Bob, di cui il CA locale è Dan. Il problema è affinchè Alice e Bob convalidi i certificati di ciascuno.
Supponga che X<<Y > > rappresenta il certificato che la X ha generato per l'oggetto Y (X è il CA che ha emesso il certificato). Il certificato del Bob è Dan<<Bob > >. Se Cathy ha emesso un certificato a Dan, Dan ha un certificato Cathy<<Dan > >; similmente, se Dan ha emesso un certificato a Cathy, Cathy ha un certificato Dan<<Cathy > >. In questo caso, Dan e Cathy sarebbero traversa-certificati.
Due CAs traversa-sono certificati se ciascuno ha emesso un certificato per l'altro.
Poiché Alice ha chiave pubblica del Cathy (fidato di), può ottenere Cathy<<Dan > > e formare la catena della firma
Cathy<<Dan > > Dan<<Bob > >
Poiché Alice può convalidare il certificato del Dan, può usare la chiave pubblica in quanto certificato per convalidare il certificato del Bob. Similmente, Bob può acquistare Dan<<Cathy > > e convalidare il certificato della Alice.
Dan<<Cathy > > Cathy<<Alice > >
Le catene della firma possono essere della lunghezza arbitraria. L'unico requisito è che ogni certificato può essere convalidato da quello prima di esso nella catena. (X.509 suggerisce CAs d'organizzazione in una gerarchia per minimizzare le lunghezze delle catene della firma del certificato, ma questo non è un requisito.)
I certificati possono essere revocati, o essere annullati. Una lista di tali certificati permette ad un utente di rilevare ed allo scarto, certificati invalidati.
Il PGP è un programma di encipherment ampiamente usato per fornire la segretezza per posta elettronica durante il Internet e per firmare le lime digitalmente. Usa un'infrastruttura chiave certificato-basata dell'amministrazione per le chiavi pubbliche degli utenti. La relativa struttura direttiva chiave e del certificato differisce da da X.509's in parecchi sensi. Qui, descriviamo la struttura del OpenPGP; ma molta di questa discussione inoltre si applica ad altre versioni del PGP.
Un certificato di OpenPGP si compone di pacchetti. Un pacchetto è un'annotazione con una modifica che descrive il relativo scopo. Un certificato contiene un pacchetto chiave pubblico seguito da zero o più pacchetti della firma. Un pacchetto chiave pubblico di OpenPGP ha la seguente struttura.
Versione. Ciò è 3 o 4. La versione 3 è compatibile con tutte le versioni del PGP; La versione 4 non è compatibile con le vecchie (versione 2.6) versioni del PGP.
Periodo della creazione. Ciò specifica quando il certificato è stato generato.
Periodo di validità (versione 3 soltanto). Ciò dà il numero di giorni che il certificato è valido. Se è 0, il certificato non espira.
Procedura e parametri chiave pubblici. Ciò identifica la procedura usata e dà i parametri per il cryptosystem usato. I pacchetti di versione 3 contengono il modulo per RSA. I pacchetti di versione 4 contengono i parametri adatti per il cryptosystem usato.
Chiave pubblica. Ciò fornisce la chiave pubblica. I pacchetti di versione 3 contengono l'esponente per RSA. I pacchetti di versione 4 contengono la chiave pubblica per il cryptosystem identificato nel campo 4.
Le informazioni in un pacchetto della firma di OpenPGP sono differenti per le due versioni. La versione 3 contiene quanto segue.
Versione. Ciò è 3.
Tipo della firma. Ciò descrive lo scopo specifico della firma e mette un livello in codice di fiducia. Per esempio, il tipo 0x11 della firma dice che il signer non ha verificato che la chiave pubblica appartiene all'oggetto chiamato.
Tempo della creazione. Ciò specifica il tempo a où seguire dei campi hashed.
Contrassegno chiave del signer. Ciò specifica la chiave usata per generare la firma.
Procedura chiave pubblica. Ciò identifica la procedura usata per generare la firma.
Procedura del hash. Ciò identifica la procedura usata per hash la firma prima della sign.
Parte di valore firmato del hash. Dopo che i dati hashed, il campo 2 è dato il tempo a où il hash è stato computato e quel campo hashed e collegato al hash precedente. I primi due byte sono disposti in questo campo. L'idea è che la firma può essere rifiutata immediatamente se i primi due byte hashed durante la convalida non abbinano questo campo.
Firma. Ciò contiene il encipherment del hash usando la chiave riservata del signer.
Un pacchetto della firma di versione 4 è considerevolmente più complesso, ma come un pacchetto della firma di versione 3, lega una firma ad un contrassegno ed ai dati. Il lettore interessato si riferisce a le specifiche di OpenPGP.
I certificati del PGP differiscono da dai certificati X.509 in parecchi sensi importanti. Diverso di X.509, una singola chiave può avere firme multiple. (tutte le chiavi del PGP di versione 4 sono firmati dal proprietario; ciò è denominata auto-firmare.) Inoltre diverso di X.509, una nozione "di fiducia" è inclusa in ogni firma e le firme per una singola chiave possono avere livelli differenti di fiducia. Gli utenti dei certificati possono determinare il livello di fiducia per ogni firma e comportarsi di conseguenza.
ESEMPIO: Supponga che Alice deve comunicare con Bob. Ottiene il certificato pubblico del PGP di chiave del Bob, Ellen, Fred, Giselle, Bob<<Bob > > (dove la notazione X.509 si estende nel senso evidente). Alice gli non ne conosce i signers, in modo da ottiene il certificato del PGP del Giselle, henry, Irene, Giselle<<Giselle > >, da un assistente del certificato. Conosce vago il henry, in modo da ottiene il suo certificato, Ellen, Henry<<Henry > > e verifica il certificato del Giselle. Nota che la firma del henry è al livello "casuale" di fiducia, in modo da decide osservare altrove per la conferma. Ottiene il certificato del Ellen, Jack, Ellen<<Ellen > > ed immediatamente riconosce Jack come suo marito. Ha suo certificato e lo usa per convalidare il certificato del Ellen. Nota che la sua firma è al livello "positivo" di fiducia, in modo da accetta il certificato del Ellen come valido e lo usa per convalidare Bob. Nota che Ellen ha firmato il certificato con fiducia "positiva" inoltre, in modo da conclude che il certificato e la chiave che pubblica contiene, è in maniera fidata. |
Nell'esempio qui sopra, Alice ha seguito due catene della firma:
Henry<<Henry > > Henry<<Giselle > > Giselle<<Bob > >
e
Jack<<Ellen > > Ellen<<Bob > >
(dove le firme incontrollate sono state cadute). I livelli di fiducia hanno interessato come Alice ha controllato il certificato.
Una distinzione sottile presenta qui fra X.509 ed i certificati del PGP. I certificati X.509 includono un elemento di fiducia, ma la fiducia non è indicata nel certificato. I certificati del PGP indicano il livello di fiducia, ma lo stesso livello di fiducia può avere significati differenti ai signers differenti.
Lo schieramento e l'amministrazione delle chiavi pubbliche è complessi a causa dei requisiti differenti di vari protocolli. La maggior parte dei protocolli usano certa forma dei certificati X.509v3, anche se le estensioni variano. L'infrastruttura che controlla le chiavi e le autorità pubbliche di certificazione è denominata un'infrastruttura chiave pubblica. Parecchie tali infrastrutture sono sul posto, quali gli assistenti del certificato del PGP e gli emittenti commerciali del certificato per i browsers di World Wide Web.
Online: 406 users browsing the articles directory
|
|