contiki:avispa
role alice(
A,B : agent, K : symmetric_key, Hash : hash_func, SND,RCV : channel(dy)) played_by A def= local State : nat, Na,Nb : text, K1 : message init State := 0
transition
1. State = 0 /\ RCV(start) =|> State’:= 2 /\ Na’ := new() /\ SND({Na’}_K) 2. State = 2 /\ RCV({Nb’}_K) =|> State’:= 4 /\ K1’ := Hash(Na.Nb’) /\ SND({Nb’}_K1’) /\ witness(A,B,bob_alice_nb,Nb’)
end role
role bob(
A,B : agent, K : symmetric_key, Hash : hash_func, SND,RCV : channel(dy)) played_by B def= local State : nat, Nb,Na : text, K1 : message init State := 1
transition 1. State = 1 /\ RCV({Na’}_K) =|>
State’:= 3 /\ Nb’ := new() /\ SND({Nb’}_K) /\ K1’:= Hash(Na’.Nb’) /\ secret(K1’,k1,{A,B})
2. State = 3 /\ RCV({Nb}_K1) =|>
State’:= 5 /\ request(B,A,bob_alice_nb,Nb)
end role
role session( A,B : agent, K : symmetric_key, Hash : hash_func) def= local SA, SB, RA, RB : channel (dy) composition alice(A,B,K,Hash,SA,RA) /\ bob (A,B,K,Hash,SB,RB)
end role
role environment()
def=
const
bob_alice_nb, k1 : protocol_id, kab,kai,kib : symmetric_key, a,b : agent, h : hash_func
intruder_knowledge = {a,b,h,kai,kib} composition
session(a,b,kab,h)
/\ session(a,i,kai,h) /\ session(i,b,kib,h) end role
goal
secrecy_of k1 authentication_on bob_alice_nb
end goal
environment()
contiki/avispa.txt · Zuletzt geändert: 2017/01/24 18:49 von 127.0.0.1