Certificazione di
identita'
Esistono due tipologie di autenticazione : unidirezionale, all'interno
della quale ' un utente a provare la propria identita' all'interlocutori,
e bi-direzionale, che prevede il reciproca riconoscimento degli utenti
interessati.
Un'autenticazione unidirezionale puo' essere svolta tramite 3 metodi
principali:
-
Tramite password: la password e' un segreto condiviso tra i due e solo
loro ne devono essere in possesso.
-
Tramite un sistema di sfida-risposta (Approfondito di seguito)
-
Sfruttando un sistema di chiavi pubbliche : all'interlocutore da
identificare viene spedita un'informazione cifrata con la sua chiave
pubblica a cui dovra' rispondere inviando la medesima informazione
cifrata con la public key dell'interlocutore
Un'autenticazione bi-direzionale(mutua identificazione) puo' invece
avvenire tramite un sistema di sfida-risposta (challenge-response), oppure
tramite la mediazione e la garanzia di una terza parte fidata.
Mutua Identificazione :
protocolli di Needham-Shroeder
In
un contesto in cui vengono impiegate chiavi pubbliche, si impiega il
protocollo di identificazione di Needham-Shroeder a chiave pubblica, nelle
sue varianti a 3 e 6 messaggi; la
prima delle versioni non richiede l'impiego di un server, al contrario
della seconda.
NSPK semplificato a 3 messaggi
L'utente A vuole
identificarsi reciprocamente con l'utente B:
-
A invia a B un
messaggio contenente il suo identificativo e un numero NONCE(A), cifrato
con la chiave pubblica di B.
-
Quando B legge questo
messaggio, ne invia uno in risposta contenente il numero casuale NONCE(A)
e un nuovo numero casuale NONCE(B). Il messaggio sara' cifrato con la
chiave pubblica di A.
-
Una volta ricevuto
questo messaggio, l'utente A ha avuto conferma dell'identita'
dell'interlocutore, e deve a sua volta provare la propria, inviando un
messaggio cifrato con la chiave pubblica di B contenente NONCE(B).
Lo schema di messaggi
e' il seguente:
-
A-->B: [[Ekb (Na,
A)]]
-
B-->A: [[Eka (Na, Nb)]]
-
A-->B: [[Eka(Nb)]]
Questo protocollo ha il
vantaggio di non richiedere la presenza di un server, basando l'intera
procedura di autenticazione sui due utenti singoli; il suo piu' grande
svantaggio pero' e' quello di essere vulnerabile ad attacchi di tipo “man
in the middle”: per evitare questo problema, si utilizza la versione di
Needham-Shroeder a 7 messaggi.
Full NS
Public Key (NSPK a 7 messaggi)
L'utente A vuole identificarsi reciprocamente con l'utente B, sfruttando
anche un server S:
-
A
invia un messaggio in chiaro al server, contenente il suo identificativo
e quello dell'utente B.
-
Il server risponde con un messaggio firmato, in cui comunica ad A
l'identificativo di B e la sua chiave pubblica.
-
A
questo punto A, come nella versione a 3 messaggi di questo medesimo
protocollo, invia a B il suo identificativo e un numero NONCE(A),
cifrandolo con la chiave pubblica di B.
-
L'utente B si rivolge al server chiedendo conferma dell'effettiva
identita' di A, inviando un messaggio in chiaro con il proprio
identificativo e quello dell'interlocutore A.
-
Il server, in risposta, invia a B un messaggio firmato contenente
l'identificativo di A e la sua chiave pubblica. In questo modo B riceve
al contempo la chiave pubblica con cui indirizzare i propri messaggi ad
A e la conferma dell'identita' dell'interlocutore.
-
Con gli ultimi due messaggi, il protocollo riprende i passaaggi della
sua variante semplificata:
-
B
invia ad A un messaggio contenente il numero casuale NONCE(A) e un nuovo
numero casuale NONCE(B). Il messaggio sara' cifrato con la chiave
pubblica di A. In risposta, l'utente A
invia un messaggio cifrato con la chiave pubblica di B contenente NONCE(B).
Questa versione del protocollo e' piu' completa rispetto a quella a 3
messaggi e previene eventuali attacchi di tipo MitM: con i messaggi
scambiati con il server infatti e' possibile confermare l'attualita' delle
chiavi pubbliche.
Certificazione da parte
di un garante terzo
Le Certification Authorities (CA)
Il metodo piu' generale
e' l'impiego di un certificato, rilasciato da speciali enti, detti
“certification authoritoes”. Ogni C.A. Possiede una coppia di chiavi,
pubblica e privata; la chiave pubblica e' disponibile per ogni utente.
Il certificato
rilasciato dalle C.A. E' cosi' composto:
[[A, Ka, EKca [ h(A, Ka)]
]]
Dove A e'
l'identificativo dell'utente, Ka e' la sua chiave pubblica, h(A, Ka) e' il
codice hash dei due dati precedenti, racchiuso nella firma della Trusted
Authority.
Ogni C.A. e' parte di
una struttura gerarchica ed e' caratterizzata da:
-
Database dei
certificati rilasciati e della storia relativa a ciascun utente.
-
Facolta' di revoca
dei certificati
-
Sistema di backup per
il recupero di dati da parte dell'utente
-
Offerta servizio di
“non ripudio” tramite un log delle transazioni effettuate dagli utenti.
Le C.A. Interne ad una
rete sono tutte fornite di un sistema di cross-certificazione, in modo che
i certificati contenuti nel database di una siano accettati anche da tutte
le altre come autentici.
Torna a inizio
pagina