Mi è stato chiesto di risolvere questo problema di sicurezza, come esercizio, ma ho qualche difficoltà.
Qualche notazione:
- C1 indica Computer1
- S1 significa Server1,
- TA indica il sistema di Autenticazione affidabile,
- X - > Y | Z significa che X invia il messaggio da Z a Y,
- K_X, Y (m) significa che m è cifrato con la chiave simmetrica condivisa da X e Y.
Supponiamo di avere C1 che vuole essere identificato da S1 usando un TA, il protocollo funziona come segue:
- C1 - > S1 | C1
- S1 - > C1 | nonce1
- C1 - > S1 | K_C1, TA (nonce1)
- S1 - > TA | K_S1, TA (C1, K_C1, TA (nonce1))
- TA - > S1 | K_S1, TA (nonce1)
Perché non è sicuro? Forse perché C1 invia la sua identità come testo in chiaro a S1, ed Eva potrebbe provare a falsificare la sua identità usando C1, usando l'attacco di replay? O che altro?