Sicurezza II Prof. Dario Catalano Autentica Mediata
Autentica Mediata (con KDC) Abbiamo gia fatto conoscenza con KDC Problema: In generale KDC puo non sapere se e proprio Alice a voler parlare con Bob. Oscar potrebbe contattare KDC spacciandosi per Alice. Oscar tuttavia non riuscirebbe comunque a parlare con Bob (KDC invia la chiave ai veri Alice e Bob).
Ricordiamo il protocollo KDC sceglie una chiave R AB. Cifra R AB con la chiave che condivide con A e manda il crittotesto creato ad A. Cifra R AB con la chiave che condivide con B e manda il crittotesto creato ad B. A e B possono utilizzare R AB come chiave per comunicare in modo sicuro.
Autentica Mediata (con KDC) Il protocollo appena (ri)visto ha diversi problemi. Bob potrebbe non essere ancora in grado di decifrare i messaggi di Alice quando questi arrivano (a causa dei ritardi della rete). KDC potrebbe avere difficolta a contattare Bob. Unalternativa e di permettere ad Alice di comunicare i dati necessari alla comunicazione direttamente a Bob.
Autentica Mediata (con KDC) Alice KDC Bob Voglio parlare con Bob. Enc(K A, usa K AB per parlare con Bob) ticket=Enc(K Bob,usa K AB per parlare con Alice) Sono Alice, ticket PS: Protocollo incompleto (manca Mutual Authentication)
Needham-Schroeder Protocollo KDC-mediato classico Kerberos e basato su NS Per questo e utile studiare tale protocollo. Semi (Nonces): valori casuali utilizzati una sola volta.
Needham Schroeder Alice KDC Bob N 1, Voglio parlare con Bob. Enc(K A, N 1, Bob,K AB,ticket) (Cifra e Autentica) ticket=Enc(K Bob,usa K AB per parlare con Alice) Ticket, Enc(K AB,N 2 ) Enc(K AB,N 2 -1,N 3 ) Enc(K AB,N 3 -1)
Needham Schroeder: ulteriori commenti - I E importante che tutti i dati di ogni messaggio vengano cifrati insieme, con un cifrario sicuro. Possibilmente aggiungendo autentica. Se nel msg 4, i nonces (N 2 e N 3 ) venissero cifrati separatamente, Oscar potrebbe riuscire ad impersonare Alice presso Bob.
Needham Schroeder: ulteriori commenti - II Oscar dapprima registra una coversazione valida (tra Alice e Bob) Successivamente Oscar ri invia il messaggio 3 (della conversazione registrata) che contiene Enc(K AB,N 2 ). Bob risponde con Enc(K AB,N 2 -1,N 4 ). Oscar non conosce Enc(K AB,N 4 -1), quindi ricomincia il protocollo inviando nel messaggio 3 il valore Enc(K AB,N 4 ). Bob risponde con Enc(K AB,N 4 -1,N 5 ). Oscar estrae Enc(K AB,N 4 -1) e riprende la precedente conversazione inviando tale messaggio.
Needham Schroeder: ulteriori commenti - III Se Oscar scopre la chiave di Alice K A, puo chiedere a KDC di parlare con Bob (spacciandosi per Alice) Tale problema e inevitabile. Pero vorremmo limitare la possibilita di Oscar di fare altri danni. Il problema e che il ticket per Bob rimane valido anche se la chiave di Alice e compromessa. Il problema si ripropone anche se Oscar ottiene una vecchia chiave non piu usata da Alice.
Esempio Oscar ottiene la chiave J Alice. Quando Alice utilizzava tale chiave, Oscar aveva memorizzato il valore Enc(J Alice, N 1, Bob,J AB,Enc(K Bob, J AB,Alice)) Una volta ottenuta J Alice, Oscar puo decifrare tale valore, scoprire J AB e usare il ticket per convincere Bob che Alice vuole parlare con lui usando la chiave J AB
Needham Schroeder Espanso Alice KDC Bob Voglio parlare con te (Bob) Enc(K Bob,N B ) N 1, Voglio parlare con Bob, Enc(K Bob,N B ). Enc(K A, N 1, Bob,K AB,ticket) (Cifra e Autentica) ticket=Enc(K Bob,K AB,Alice, N B ) Ticket, Enc(K AB,N 2 ) Enc(K AB,N 2 -1,N 3 ) Enc(K AB,N 3 -1)
Otway Rees Migliora NS in quanto richiede solo 5 round. Il protocollo si ispira alla seguente osservazione: la parte sospetta dovrebbe essere quella a parlare per prima.
Otway Rees Alice Bob N C, Alice, Bob, Enc(K Alice, N A,N C,Alice,Bob) Enc(K Alice, N A,N C,Alice,Bob), Enc(K Bob, N B,N C,Alice,Bob) N C,Enc(K Alice, N A,K AB ), Enc(K Bob, N B, K AB ) Enc(K Alice, N A,K AB ) Enc(K Alice, qualsiasi valore riconoscibile.) KDC inventa una chiave K AB ed estrae il valore N B
Kerberos Il sistema di autentica Kerberos e basato sul protocollo Needham- Schroeder. In realta, nella sua versione base, esso e piu semplice Si assume unidea universale di tempo. I messaggi hanno una data di scadenza.
Basic Kerberos Alice Bob N 1, Alice, Bob Enc(K Alice ; N 1,Bob, K AB, Ticket) Ticket= Enc(K Bob ; K AB,Alice,scadenza) Ticket, Enc(K AB, T), (T tempo corrente) Enc(K AB, T+1) KDC inventa una chiave K AB
Semi (nonces) Quantita utilizzate una sola volta. Differenti tipi di nonces: timestamps, numeri casuali, numeri sequenziali. I numeri casuali (grandi) tendono ad essere i nonces migliori. Timestamps richiedono clocks sincronizzati.