PROTEZIONE LOGICA DEI DATI NEI SISTEMI DI COMUNICAZIONE a cura di Gianluca Di Tomassi

Cap 7

Tecniche di autenticazione

Introduzione
Tecniche di autenticazione del mittente
Firme digitali
Firma accurata ( true signature )
Firme arbitrate
TECNICHE DI AUTENTICAZIONE DEL DESTINATARIO
TECNICHE DI AUTENTICAZIONE DEL CONTENUTO DEL MESSAGGIO
METODO DI CIFRATURA DEL MESSAGGIO CON PROPAGAZIONE DELL' ERRORE
METODO DI CIFRATURA DEL MESSAGGIO SENZA PROPAGAZIONE DELL' ERRORE
METODO SENZA CIFRATURA

 

Introduzione

La fase di autenticazione è la più importante ed articolata dei sistemi di protezione logica dei dati in trasmissione. La sua funzione è quella di garantire che ogni messaggio venga comunicato correttamente e che l' informazione non perda la sua integrità mentre viaggia sulle linee di comunicazione.

Il sistema di autenticazione deve garantire protezione da:

ð falsificazione dei messaggi o falsificazione delle firme dell' autore del messaggio

ð misconoscimento dei dati da parte del proprio mittente

ð compromissione dei dati prima, durante e dopo la trasmissione

ð intercettazioni attive e passive

ð destinazioni errate

Di seguito verrà adottata la simbologia che fà riferimento alla seguente tabella:

A = Mittente del messaggio
B = Destinatario del messaggio
T = Arbitro nelle procedure di firme arbitrarie
M = Messaggio in forma chiara
E = procedura di cifratura
D = procedura di decifratura
SA = chiave segreta del mittente A
SB = chiave segreta del destinatario B
PA = chiave pubblica del mittente A
PB = chiave pubblica del mittente B
KXY = chiave di cifratura (decifratura) in comune tra X e Y, dove X e Y possono essere A,B o T
N = identificatore di A+identificatore di B+numero di sequenze di M
W = versione compatta della concatenazione di M e N
ESX = procedura di cifratura mediante chiave segreta S dell' ente X
EPX = procedura di cifratura mediante chiave pubblica P dell' ente X
DSX = procedura di decodifica mediante chiave segreta S dell' ente X
DPX = procedura di decodifica mediante chiave pubblica P dell' ente X

[Torna inizio pagina]

 

7.1 Tecniche di autenticazione del mittente

Dopo che ogni utente si è identificato ed autenticato quale legittimo utente del sistema, per comunicare si deve sottoporre a controlli da parte del sistema stesso, che verificano l' autenticità dei suoi messaggi, cioè l' utente li deve firmare.

Indichiamo di seguito alcune tecniche utilizzate per firmare i messaggi:

password : viene immessa dall' utente dopo l' identificatore.

In alternativa si può cifrare la password e sostituirla con la corrispondente chiave di cifratura (questa tecnica è utilizzata dal

sistema KNF (key notorization facility) del DES, che permette di mantenere segreto il valore della password).

procedura call-back: questa procedura permette al sistema di richiamare l' utente identificatosi, componendo il numero telefonico a lui associato.

Questa procedura è prevista nei dispositivi di protezione della parte di comunicazione (PDD)

firma digitale : essa garantisce l' impossibilità di falsificazioni di un messaggio e di negazione da parte del mittente di essere l' autore del testo spedito.

[Torna inizio pagina]

 

7.2 Firme digitali

Le firme digitali sono funzioni dell' intero messaggio e possono essere calcolate solo attraverso chiavi del mittente. In questo modo si garantisce che nessuno, neanche il destinatario possa modificare anche un solo bit del messaggio senza alterare la firma del mittente.

A seconda che il sistema utilizzi algoritmi crittografici o meno, cambia il modo di integrare le firme nel messaggio.

J Se si utilizzano sistemi crittografici allora il messaggio è cifrato e l' utente A firma M applicando una cifratura ESA ad M.

L Qualora non si facesse uso di algoritmi crittografici, la firma (di dimensione prefissata e indipendente dalla lunghezza di M) è una quantità separata dal messaggio.Il mittente A, partendo da M e da un valore di inizializzazione I calcola un sottoinsieme di M (M*) attraverso una funzione di hashing H (la quale genera valoricasuali e dipendenti da tutti i bit del messaggio), nota pubblicamente. Successivamente A trasforma M* ed I con la propria chiave segreta ottenendo la firma X=ESA (M*, I) che viene accodata al messaggio.

Nei sistemi crittografici convenzionali, l' autenticazione del mittente con firma digitale utilizza una chiave segrta nota solo ai comunicanti, in questo modo A crea un valore di autenticazione e B ne può verificare l' autenticità. Per tale motivo A e B si devono accordare prima sul metodo che verrà implementato. Tale accordo deve prevedere una descrizione completa della procedura di firma digitale e una lista delle chiavi che possono essere richieste per verificare l' autenticità della firma o la locazione del registro in cui sono contenute queste chiavi.

La firma digitale deve avere un periodo di vita non superiore alla durata del collegamento.

I sistemi di firma digitali più usati sono :

 la firma accurata (o true signature)

le firme arbitrate

[Torna inizio pagina]

 

7.2.1 Firma accurata ( true signature )

L' ente B può constatare la validità di questa firma nel momento della ricezione in base all' informazione che A condivide con lui.

In pratica, ogni utente genera la propria firma tramite informazioni che solo lui conosce (garanzia dell' unicità della firma) e la sottopone assieme al messaggio alla convalida del ricevente.

Gli schemi della firma accurata si diversificano in base agli algoritmi crittografici utilizzati:

r ALGORITMI A CHIAVE PUBBLICA: ogni utente possiede una procedura di cifratura EA e una di decifratura DA , una chiave pubblica PA e una chiave segreta SA. Affinche il sistema possa fornire uno strumento di firma elettronica, l' algoritmo a chiave pubblica deve soddisfare i seguenti requisiti:

I) EA e DA devono essere calcolate da A in modo efficente

II) la conoscenza di EA non deve permetter il calcolo di DA

III) deve valere :

EA (DA (M))= M e DA(EA (M))=M qualunque M

Le chiavi rese pubbliche vengono memorizzate in una directory accessibile solo in lettura, periodicamente distribuita tra gli utenti. Il processo di autenticazione si suddivide nei seguenti passi:

Ä durante l' inizializzazione del processo, A spedisce il suo identificatore ID a B, in modo che egli possa ottenere la chiave pubblica PA di A.

Ä l' ente A firma il messaggio M codificandolo con con la procedura privata ESA ed invia:

C=E PB(ESA (M))

Ä B utilizza DPA per conoscere il contenuto del messaggio. Calcola:

ESA (M)= DSB [DPB (ESA (M))]

da cui ricava il messaggio

M= DPA(ESA (M))

Così facendo B verifica che il messaggio è stato inviato proprio da A, perche SAè disponibile solo ad A

r ALGORITMI CRITTOGRAFICI CONVENZIONALI: questa tecnica di autenticazione richiede che tra A e B ci sia la condivisione di molte informazioni. Il processo di autenticazione si può schematizzare nei seguenti passi:

I) l' ente A genera 2*n chiavi possibili composte da 56 bit ciascuna, K=K1,k1,K2,k2....,Kn,kn per firmare un messaggio di n bit. Tali chiavi sono segrete.

II) l' ente A mette a disposizione di B un insieme di verifica di 64 bit V=V1,v1 , .... ,Vn,vn e anche la sua versione cifrata V"=EK1(V1), Ek1(v1)....EKn(Vn)Ekn(vn) dove E è la funzione di cifratura dell' elemento Vi o vi tramite la chiave Ki o ki .

III) quando si spedisce il messaggio M, si genera la firma elettronica attraverso la selezione di Ki e ki con i=1..n seconda che l' i-esimo bit di M sia :

1 allora K1,K2,.....,Kn

0 allora k1,k2,.......,kn

L'utente B sa che i primi 56 bit della firma corrispondono alla cifratura dell' elemento :

V1 mediante K1 (corrisponde a EK1(V1) se il primo bit di M è 1)

v1 mediante k1 (corrisponde a Ek1(v1) se il primo bit di M è 0)

. .......

. .......

e così via per i successivi gruppi di 56 bit

[Torna inizio pagina]

 

7.2.2 Firme arbitrate

La caratteristica peculiare di questa tecnica è l' introduzione di una terza entità nel processo di autenticazione chiamata Arbitro.

Le funzioni che sfolge tale arbitro consistono nell' assicurare l' identità dei due interlocutori, evitando che il mittente possa negare di aver inviato un messaggio o che un estraneo possa farsi passare per il mittente originale. Praticamente l' arbitro svolge le operazioni che svolgerebbe il destinatario di un qualsiasi sistema a firma digitale.

La possibilità che esso si coalizzi con un utente per fini illeciti deve essere minimizzato, valutando la sua onestà.

Il metodo seguito da questa tecnica è basato sul fatto che ogni messaggio inviato da A a B passa per l' arbitro T. Quando il messagio arriva all' arbitro esso viene sottoposto ad una serie di test che verificano il suo contenuto e la sua provenienza. Solo quando il messaggio ha superato tali controlli, viene inviato a B.

Per realizzare questa tecnica possono essere utilizzati diversi crittosistemi:

* CRITTOSISTEMI CONVENZIONALI. L' arbitro T condivide con ogni utente due chiavi:

(1) KAT per verificare l' autenticità di A

(2) KTB per trasmetter il messaggio verificato a B

Il processo di autenticazione si suddivide nelle seguenti fasi:

Πl' ente A cifra il messaggio M attraverso la chiave KAB e calcola

C1=E(KAB(M)

 A esegue una operazione di compattazione di C1, attraverso la funzione f: w1=fcompattazione(C1)

Ž A concatena w1 ( versione compattata di C1) e N ( si faccia riferimento alla tabella ad inizio capitolo) ottenendo N'

 A invia all' arbitro T il messaggio concatenato e compattato N', cifrandolo con la chiave KAT:

C2 = E(KAT(N'))

 l' arbitro T decifra C2 e verifica che i valori N e W1 siano uguali a quelli che sono stati da lui calcolati direttamente sul messaggio M, utilizzando la stessa funzione impiegata da A cioè:

N' = D (KAT (C2 ))

se la verifica ha successo, T cifra M' attraverso la chiave KTB dove M' è la concatenazione di N e C1 . La codifica di M' è:

C' = E(KTB (M'))

l' arbitro invia C' all' ente B

B decifra C' utilizzando la chiave KTB usata da T per cifrare M' ed ottiene:

M'= D (KBT (C'))

B ricava C1 da M' che decifra attraverso la chiave KAB ottenedo il testo in chiaro M:

M= D (KAB (C21))

Generalmente l' algoritmo usato per questo tipo di implementazione della firma arbitraria è il DES.

 

* CRITTOSISTEMI A CHIAVE PUBBLICA

  • In questo crittosistema viene messa a disposizione degli utenti, ad esempio di un centro di elaborazione, una directory che contiene tutte le chiavi pubbliche utili per la loro intercomunicazione.

    L' utilizzo di tali crittosistemi implica che l' arbitro T non possa leggere, attraverso i suoi test, il contenuto e i dati dei messaggi. Il processo di autenticazione si suddivide nei seguenti passi :

     il mittente A trasforma il proprio messaggio attraverso la procedura pubblica di cifratura e genera

    C1 = EPB (DSA (M))

    B è il ricevente

    A calcola C2, ottenuto dall' applicazione della sua procedura di cifratura, mediante la chiave pubblica dell' arbitro PT, sulla concatenazione di N e C1

    C2 = EPT (N,C1 )

    ƒ A invia all' arbitro N e C2

    l' arbitro T esegue i suoi test sul messaggio che gli è arrivato ed invia al ricevente B

    C'= EPB (DST (M'))

    più l' ora, la data e un flag, per mostrare che il messaggio è stato verificato. M' indica la concatenazione di N e C1

    B calcola DST(M') = DSB(EPB(DST(M')))

    quindi calcola M' = EPT (DST(M'))

    avendo B ricavato C1 = EPB (DSA (M)) calcola DSA(M) = DSB (EPB(DSA (M)))

    da cui ricavare M = EPA (DSA (M))

  • Generalmente l' algoritmo usato per questo tipo di implementazione della firma arbitraria è l' RSA.

    * CRITTOSISTEMI IBRIDI

    In questi crittosistemi si utilizzano sia il metodo a chiave pubblica sia quello a chiave privata. I messaggi vengono cifrati utilizzando una chiave privata KAB, condivisa dal mittente A e dal destinatario B. Le firme sono ottenute tramite la procedura di cifratura a chiave pubblica. Il processo di autenticazione si suddivide nei seguenti passi:

    m A computa W = fcompattazione(M,N) effettua cioè, tramite una fusione, la compattazione del messaggio con in più N (si veda tabella ad inizio capitolo)

    m A cifra M attraverso la chiave comune ad A e B, cioè KAB C1= EKBA (M)

    m A computa la firma tramite C2 = EPB(DSA(W))

    m A concatena N,C1 e C2 ottenendo N'

    m A calcola C3 = EPT(DSA(N')) e trasmette all' arbitro T C3 e N

    m l' arbitro T svolge i suoi test su C3 e computa N' = DST(C3)

    m T concatena N', ora, data e flag di verifica per ricavare M'

    m T ricava W' = fcompattazione(M') che è la forma compatta di M'

    m T computa C' = EKB(DST(W')) ed invia al destinatario la coppia (M',C'). W' è la forma compatta di M'

    m B possiede C2,perchè M' contiene N' che, a sua volta, contiene C2.

    m B computa DSB(C2) = DSB(EPB(DSA(W))) = DSA(W)

    m B per verificare che la firma è autentica calcola EPA(DSA(W))

    Poichè W contiene M egli ottiene il messaggio M.

    Solo A può aver inviato M perchè egli è l' unico che possiede la chiave SA e che mette a disposizione dei suoi interlocutori la chiave PA, in modo che

    M = EPA (DSA (M))

    [Torna inizio pagina]

     

    7.3 TECNICHE DI AUTENTICAZIONE DEL DESTINATARIO

    Verificare l' autenticità di un ricevente è indispensabile ai fini di una efficace protezione dei dati in trasmissione, per evitare che un utente illegittimo si sostituisca al destinatario corretto, venendo a conoscenza del messaggio inviato. Per questo scopo si può utilizzare uno dei seguenti metodi :

    ¨ il mittente ed il ricevente condividono una coppia di chiavi segrete, per cifrare i dati trasmessi nelle due direzioni;

    ¨ mittente e ricevente condividono una sola chiave segreta, utilizzata per cifrare i dati in entrambe le direzioni e alla quale aggiungono il proprio identificatore;

    ¨ A e B condividono una coppia di password. Il mittente aggiunge alla fine del messaggio la propria password allo scopo di garantire l' autenticazione;

    ¨ mittente e ricevente condividono una sola password. Anche in questo caso alla fine del messaggio il mittente aggiunge il propri identificatore.

    Un ultimo metodo, senz' altro più sicuro, si può realizzare utilizzando sistemi di comunicazione basati su algoritmi a chiave pubblica. In questo caso infatti il mittente cifra il messaggio con la chiave pubblica fornita da B. Quest' ultimo sarà l' unico in grado di decifrare il messaggio con la propria chiave segreta.

    [Torna inizio pagina]

     

    7.4 TECNICHE DI AUTENTICAZIONE DEL CONTENUTO DEL MESSAGGIO

    Tramite questo tipo di autenticazione si verifica l' integrità dei dati trasmessi all' interno di un sistema di comunicazione. Infatti è necessario che i messaggi arrivino a destinazione nello stesso ordine con cui sono stati inviati e che non subiscano modifiche. Il contenuto di un messaggio può essere autenticato tramite un codice di autenticazione, che soddisfi i seguenti requisiti :

    - è calcolato su parte o tutti i bit del messaggio

    - è funzione di una chiave K nota agli interlocutori e messa in coda al messaggio

    - ha un formato prefissato

    Queste tecniche consentono l' utilizzo di firme digitali arbitrate, in quanto il messaggio rimane trasparente all' arbitro.

    [Torna inizio pagina]

     

    7.5 METODO DI CIFRATURA DEL MESSAGGIO CON PROPAGAZIONE DELL' ERRORE

    In questo metodo la procedura di autenticazione richiede che sia aggiunta alla fine del messaggio M una quantità Q, nota al mittente e al ricevente.

    Tale quantità rappresenta il codice di autenticazione e può essere un vettore di inizializzazione o il primo blocco del messaggio da autenticare. I passi dell' autenticazione si suddividono nel seguente modo :

    « A cifra il messaggio M+Q e lo invia a B

    µ B decifra il messaggio e verifica cha la quantità Q sia corretta

    Per neutralizzare gli attacchi da parte di un intruso mediante l' analisi delle frequenze di utilizzo degli autenticatori è importante che la funzione generatrice di Q fornisca risultati pseudo-casuali.

    [Torna inizio pagina]

     

    7.6 METODO DI CIFRATURA DEL MESSAGGIO SENZA PROPAGAZIONE DELL' ERRORE

    Con questa tecnica viene aggiunta al messaggio una stringa di bit ottenuta come funzione di tutti i bit trasmessi, cioè D(M). La funzione D è nota ai comunicanti e compatta la lunghezza del messaggio. Se applicata a messaggi diversi restituisce risultati diversi

    Il valore cifrato di D(M) è il codice di autenticazione.

    [Torna inizio pagina]

     

    7.7 METODO SENZA CIFRATURA

    E` un metodo utilizzato quando i dati vengono trasmessi in forma chiara, nel caso in cui non è necessaria la segretezza. La procedura e i parametri utilizzati per l' autenticazione sono mantenuti segreti, in modo che solo le persone autorizzate possano calcolarla.

     

    INDICE