Site hosted by Angelfire.com: Build your free website today!
 .   .   .   C   i   p   h   e   r   t   e   x   t   .   .   .

.   .   .   C   i   p   h   e   r   t   e   x   t   .   .   .

.   .   .   C   i   p   h   e   r   t   e   x   t   .   .   .

 

Presentazione

 

Algoritmi di cifratura

Cifratura a blocchi
Cifrari Monoalfabetici
Shifting cypher
Substitution cypher
Affine cypher
Cifrari Polialfabetici
Vigenčre cipher
Permutation cipher

Cifratura DES

Cifrtura a catena
One-Time-Pad
Periodic Stream Cipher
Approfondimento
DES: Feistel cypher
DES-CBC
   DES-PCBC
  DES-ECB
  DES-CTR
  DES-CFB
  DES-ITL
DES in cascata
 
Privatezza, autenticita', integrita'
Public Key
Firma digitale
RSA
DSA
Funzioni di Hash
Shared Key
kerberos
Diffie & Hellman
Shamir Protocol
  Station to Station Protocol
Otway-Rees

Certificazione di identita'

 
Mutua Identificazione: protocolli di Needham-Shroeder
NSPK a 3 messaggi
NSPK a 7 messaggi
Certificazione da parte di un garante terzo
Certification Authorities
 
 

Riassunto di algebra modulare

e-mail

 

 

 

 

 

 

 

 

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:

  1. A-->B: [[Ekb (Na, A)]]

  2. B-->A: [[Eka (Na, Nb)]]

  3. 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