Yahalom Protocol
The protocol specification in "Alice-Bob" notation is as follows:
- A -> B : A,Na
- B -> S : B,E(Kbs:A,Na,Nb)
- S -> A : E(Kas:B,Kab,Na,Nb),E(Kbs:A,Kab)
- A -> B : E(Kbs:A,Kab),E(Kab:Nb)
For this protocol we will consider the following three executions:
- A regular execution of the protocol (denoted by attack-state(0)).
- An execution in which the intruder finds out the Session key generated by the server (denoted by attack-state(1)).
- An execution where Bob completed his protocol execution believing he was communicating with Alice, but it actually was not so (denoted attack-state (2)).
After the analysis of this protocol in Maude-NPA, the tool found an initial state corresponding to attack-state(0), which shows a completed regular execution of the protocol.
When analyzing attack-state(1) the tool did not find any initial state and, thus, the protocol is secure against an attack to obtain the session key.
After the analysis of attack-state(2) the tool found an initial state which shows that the protocol has an authentication attack, and therefore, is insecure. The specification of this attack in "Alice-Bob" notation is as follows:
- A -> B : A,Na
- Z -> A : E(Kas : B, Kab, Na ,Nb) ,E(Kbs : Z, Kab)
- A -> Z(B) : E(Kbs : Z, Kab), E(Kab : Nb)
- B -> S : B, E(Kbs : A, Na ,Nb)
- S -> Z(A) : E(Kas : B, Kab, Na ,Nb) ,E(Kbs : A, Kab)
- Z(A) -> B : E(Kbs : A, Kab), E(Kab : Nb
To download the complete protocol specification in Maude-NPA syntax and outputs, click HERE