Mi sto rivedendo per un corso di sicurezza informatica e sono bloccato su una delle domande passate. Eccolo:
Alice ( ) vuole inviare un breve messaggio a Bob ( ) usando un segreto condiviso per autenticare che il messaggio è arrivato da lei. Propone di inviare un singolo messaggio con due pezzi:
dove è una funzione hash e indica concatenazione.
- Spiega attentamente cosa fa Bob per verificare che il messaggio provenga da Alice e perché (a parte le proprietà di ) può crederci.
- Supponiamo che non soddisfi la proprietà unidirezionale e che sia possibile generare pre-immagini. Spiega cosa può fare un attaccante e come.
- Se la generazione di pre-immagini richiede tempi relativamente lunghi, suggerire una semplice contromisura per migliorare il protocollo senza modificare .
Penso di conoscere il primo. Bob deve prendere un hash del messaggio ricevuto insieme alla sua chiave condivisa e confrontarlo con l'hash ricevuto da Alice, se corrispondono, questo dovrebbe provare che Alice lo ha inviato.
Non sono sicuro delle seconde due domande però. Per il secondo, la risposta sarebbe che un utente malintenzionato può semplicemente ottenere il messaggio originale con un hash? Non sono sicuro di come sarebbe fatto però.