Je suis en train de réviser pour un cours de sécurité informatique et je suis coincé sur l'une des questions passées. Le voici:
Alice ( ) veut envoyer un court message à Bob ( ) en utilisant un secret partagé pour authentifier que le message est venu d'elle. Elle propose d'envoyer un seul message en deux parties: où est une fonction de hachage et désigne la concaténation.
- Expliquez soigneusement ce que Bob fait pour vérifier que le message vient d'Alice et pourquoi (en dehors des propriétés de ), il peut croire cela.
- Supposons que ne satisfasse pas la propriété unidirectionnelle et qu'il soit possible de générer des pré-images. Expliquez ce qu'un attaquant peut faire et comment.
- Si la génération de pré-images est relativement longue, suggérez une contre-mesure simple pour améliorer le protocole sans changer .
Je pense que je connais le premier. Bob doit prendre un hachage du message reçu avec sa clé partagée et comparer ce hachage avec le hachage reçu d'Alice, s'ils correspondent, cela devrait prouver qu'Alice l'a envoyé.
Je ne suis pas sûr cependant des deux secondes questions. Pour le second, la réponse serait-elle qu'un attaquant peut simplement obtenir le message d'origine avec un hachage? Je ne sais pas comment cela serait fait.
Réponses:
Eh bien, le message est déjà donné à l'adversaire (il est envoyé à Bob sur un canal non sécurisé), il n'a donc pas besoin de le trouver. Pour briser le schéma, il doit envoyer une nouvelle paire telle sorte que Bob accepte comme message envoyé par Alice.M M∗,h(M∗∥Sab) M∗≠M
Pour la deuxième question: S'il est facile de générer des pré-images de , l'adversaire pourrait être en mesure d'apprendre la clé secrète partir de brisant ainsi le schéma. (Notez que cela peut ne pas être trivial. Le processus d'inversion peut produire telle sorte que , mais cela n'est pas utile pour l'adversaire. De plus, si l'adversaire essaie à nouveau d'inverser , il pourrait obtenir la même pré-image.)h Sab h(M∥Sab)
M1,S1 h(M∥Sab)=h(M1∥S1) h
Pour la troisième question: maintenant, nous supposons que l'inversion de prend beaucoup de temps, alors rendons la vie de l'adversaire plus difficile en l'obligeant à l'inverser plusieurs fois afin de briser le schéma. Par exemple, utilisez le hachage fois . D'autres solutions existent également.h k h(h(h(....h(M∥Sab)..))
la source