La forma del messaggio è cruciale ed il messaggio in sé trasporta contenuto informativo. Se le identità del mittente e del destinatario sono significative per la corretta interpretazione del messaggio è prudente menzionarle esplicitamente. Chiamiamo questo "principio di esplicitazione." Si dice che il messaggio è pienamente informativo se rispetta questo principio.
Notare bene che: un messaggio cifrato con la chiave pubblica di
È un protocollo risalente agli anni 80, basato su crittografia simmetrica. Dati due agenti legittimi che vogliano comunicare, con le rispettive chiavi a lungo termine valide ma non abbiano ancora le chiavi di sessione, introduciamo il concetto di TTP (Trusted Thrid Party), un database di tutte le chiave a lungo termine.
Il TTP può essere visto come il file delle password sotto UNIX.
Il protocollo Woo-Lam è così fatto: $$
- \ A \rightarrow B : A \
- \ B \rightarrow A : N_b \
- \ A \rightarrow B : { N_b }_{K_a} \
- \ B \rightarrow TTP: { A, { N_b}{Ka} }{K_b} \
- \ TTP \rightarrow B : { N_b}_{K_b} $$ In questo protocollo viene a mancare la privacy di chi inizia il protocollo. Il mittente esplicita a tutti la sua identità. Notiamo inoltre che la prima nonce è in chiaro, rinunciando alla segretezza di quest'ultima.
Gli step 2 e 3 sono challenging per
Grazie al layer esterno di cifratura del punto 4 l'attaccante non può alterare il crypto-testo.
Al punto 5 TTP estrae il criptotesto, decifrando prima con la chiave di
La nonce in questo caso è cifrata perché mandarla in chiaro rappresenterebbe un problema. Un attaccante potrebbe estrarla dal punto 2 ed inoltrarla a
Per differenziare il messaggio del punto 5 da quello del punto 3 potremmo utilizzare anche altre misure, ad esempio concatenare al messaggio in chiaro il messaggio "TTP" ma non sarebbe altrettanto robusto (si può fare forgering di un messaggio simile).
In questo protocollo l'autenticazione dei due agenti avviene alla fine. Un man-in-the-middle in questo caso è inoffensivo, può ascoltare una comunicazione che non comprende e se provasse ad alterare i messaggi porterebbe all'abort della comunicazione. Il man-in-the-middle non è però l'unica offensiva.
L'attaccante
- \ C \rightarrow B : A \ 1'. \ C \rightarrow B : C \ \
2.\ B \rightarrow A : N_b \ 2'. \ B \rightarrow C : {N_b}' \ \
-
C \rightarrow B : { N_b }{K_c} \ 3'. C \rightarrow B : { N_b }{K_c} \ \
-
B \rightarrow TTP : { A, { N_b}{K_c} }{K_b} \ 4'. B \rightarrow TTP : { C, { N_b}{K_c} }{K_b} \\
-
TTP \rightarrow B : { {N_b}''}{K_b} \ 5'. TTP \rightarrow B: { N_b}{K_b} $$
$C$ inizia spacciandosi per$A$ , inizia poi la sessione parallela come sé stesso,$B$ inoltra la nonce$N_b$ a$C$ convinto di star lanciando un challenge ad$A$ . Manda poi la nonce${N_b}'$ per la sessione con$C$ . La nonce${N_b}'$ va invece a perdersi,$C$ la butta via.
I messaggi dei punti 3 e 3' sono uguali. Ricevuti questi due criptotesti,
Al punto 4 TTP non riesce ad ottenere nulla di sensato dal tentativo di decryption visto che identità e chiave divergono (
Il problema si potrebbe risolvere aggiungendo al quinto step l'esplicitazione dell'agente coinvolto al messaggio. Visto che il riconoscimento avviene solo nello step 5 è possibile applicare una soluzione solo a livello 5.
Vedendo un messaggio del tipo
IPSec aggiunge un layer di sicurezza a livello IP. È una suite di protocolli (AH, ESP, IKE) che distribuisce la chiave di sessione e poi la utilizza per cifrare i pacchetti di livello IP.
- AH: per l'autenticazione, basandosi su chaffing & winnowing
- ESP: per cifrare il paylod del pacchetto
- IKE: scambio di chiavi, basato su Diffie-Hellmann
È opzionale per IPv4 e mandatorio per IPv6. Ogni pacchetto è arricchito con componenti crittografiche per la sicurezza.
È una buona alternativa alla cifratura. Può essere intesa come una forma di steganografia.
- Il mittente S e il ricevente R concordano una chiave
$k$ mediante protocollo Diffie-Hellmann - S spedisce a R coppia
$m,MAC(m,k)$ - S spedisce a R molte copie false (chaff)
$x,y$ - R seleziona coppia giusta verificandone
$MAC$
Obiettivo: ottenere la proprietà di segretezza senza l'utilizzo di una misura crittografica. La versione di segretezza ottenuta dalla crittografia è detta non-deducibilità. Anche quella ottenuta in questo caso è una forma di non-deducibilità, anche detta indistinguibilità.
Una tecnica di questo tipo è differente dalla cifratura e sicuramente meno scalabile.