Update SPORE protocols to use new ticket mechanism:
- Use builtin Ticket type instead of user type - Remove remark that -m2 matching is required as it no longer is
This commit is contained in:
parent
4a42604cb6
commit
56c032f4a5
@ -5,14 +5,13 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# According to SPORE there are no attacks on this protocol, scyther
|
# According to SPORE there are no attacks on this protocol, scyther
|
||||||
# finds one however. This has to be investigated further.
|
# finds one however. This has to be investigated further.
|
||||||
|
|
||||||
usertype Key;
|
usertype Key;
|
||||||
usertype Ticket;
|
|
||||||
usertype SessionKey;
|
usertype SessionKey;
|
||||||
usertype TimeStamp;
|
usertype TimeStamp;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Key;
|
usertype Key;
|
||||||
usertype Ticket;
|
|
||||||
usertype SessionKey;
|
usertype SessionKey;
|
||||||
usertype TimeStamp;
|
usertype TimeStamp;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
@ -25,7 +24,8 @@ protocol denningSacco(I,R,S)
|
|||||||
send_1(I,S, I,R );
|
send_1(I,S, I,R );
|
||||||
read_2(S,I, {R, Kir, T, W}k(I,S) );
|
read_2(S,I, {R, Kir, T, W}k(I,S) );
|
||||||
send_3(I,R, W);
|
send_3(I,R, W);
|
||||||
claim_4(I,Nisynch);
|
claim_I1(I,Niagree);
|
||||||
|
claim_I2(I,Nisynch);
|
||||||
}
|
}
|
||||||
|
|
||||||
role R
|
role R
|
||||||
@ -34,7 +34,9 @@ protocol denningSacco(I,R,S)
|
|||||||
var T: TimeStamp;
|
var T: TimeStamp;
|
||||||
|
|
||||||
read_3(I,R, {Kir,I,T}k(R,S));
|
read_3(I,R, {Kir,I,T}k(R,S));
|
||||||
claim_8(R,Nisynch);
|
claim_R1(R,Niagree);
|
||||||
|
claim_R2(R,Nisynch);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
role S
|
role S
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Sessionkey;
|
usertype Sessionkey;
|
||||||
usertype Ticket;
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol kaochow2(I,R,S)
|
protocol kaochow2(I,R,S)
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Sessionkey;
|
usertype Sessionkey;
|
||||||
usertype Ticket;
|
|
||||||
usertype Timestamp;
|
usertype Timestamp;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Sessionkey;
|
usertype Sessionkey;
|
||||||
usertype Ticket;
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol kaochow(I,R,S)
|
protocol kaochow(I,R,S)
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# According to SPORE there are no attacks on this protocol, scyther
|
# According to SPORE there are no attacks on this protocol, scyther
|
||||||
# finds one however. This has to be investigated further.
|
# finds one however. This has to be investigated further.
|
||||||
|
|
||||||
usertype Server, SessionKey, GeneralizedTimestamp, Ticket, TicketKey;
|
usertype Server, SessionKey, GeneralizedTimestamp, TicketKey;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
const a, b, e: Agent;
|
const a, b, e: Agent;
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
usertype Server, SessionKey, GeneralizedTimestamp, Ticket, TicketKey;
|
usertype Server, SessionKey, GeneralizedTimestamp, TicketKey;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
const a, b, e: Agent;
|
const a, b, e: Agent;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# According to SPORE there are no attacks on this protocol, scyther
|
# According to SPORE there are no attacks on this protocol, scyther
|
||||||
@ -19,7 +19,6 @@ secret k: Function;
|
|||||||
const dec,inc: Function;
|
const dec,inc: Function;
|
||||||
inversekeys(dec,inc);
|
inversekeys(dec,inc);
|
||||||
usertype SessionKey;
|
usertype SessionKey;
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
protocol needhamschroederskamend(I,R,S)
|
protocol needhamschroederskamend(I,R,S)
|
||||||
{
|
{
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -15,7 +15,6 @@ secret k: Function;
|
|||||||
const dec,inc: Function;
|
const dec,inc: Function;
|
||||||
inversekeys(dec,inc);
|
inversekeys(dec,inc);
|
||||||
usertype SessionKey;
|
usertype SessionKey;
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
protocol needhamschroedersk(I,R,S)
|
protocol needhamschroedersk(I,R,S)
|
||||||
{
|
{
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# According to SPORE there are no attacks on this protocol, scyther
|
# According to SPORE there are no attacks on this protocol, scyther
|
||||||
# finds one however. This has to be investigated further.
|
# finds one however. This has to be investigated further.
|
||||||
|
|
||||||
|
|
||||||
usertype Server, SessionKey, TimeStamp, Ticket, TicketKey;
|
usertype Server, SessionKey, TimeStamp, TicketKey;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
const a, b, e: Agent;
|
const a, b, e: Agent;
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
usertype Server, SessionKey, TimeStamp, Ticket, TicketKey;
|
usertype Server, SessionKey, TimeStamp, TicketKey;
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
const a, b, e: Agent;
|
const a, b, e: Agent;
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
secret const k : Function;
|
secret const k : Function;
|
||||||
|
|
||||||
usertype String,SessionKey,Ticket;
|
usertype String,SessionKey;
|
||||||
|
|
||||||
protocol otwayrees(I,R,S)
|
protocol otwayrees(I,R,S)
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# Scyther finds an attack because the value of VoR in te last message can
|
# Scyther finds an attack because the value of VoR in te last message can
|
||||||
@ -19,7 +19,6 @@ secret unhash: Function;
|
|||||||
secret k: Function;
|
secret k: Function;
|
||||||
inversekeys (hash,unhash);
|
inversekeys (hash,unhash);
|
||||||
usertype SessionKey;
|
usertype SessionKey;
|
||||||
usertype Ticket;
|
|
||||||
usertype XorKey;
|
usertype XorKey;
|
||||||
const Vor: XorKey;
|
const Vor: XorKey;
|
||||||
|
|
||||||
|
@ -5,11 +5,9 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol woolamPi1(I,R,S)
|
protocol woolamPi1(I,R,S)
|
||||||
|
@ -5,11 +5,9 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol woolamPi2(I,R,S)
|
protocol woolamPi2(I,R,S)
|
||||||
|
@ -5,11 +5,9 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol woolamPi3(I,R,S)
|
protocol woolamPi3(I,R,S)
|
||||||
|
@ -5,11 +5,9 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol woolamPif(I,R,S)
|
protocol woolamPif(I,R,S)
|
||||||
|
@ -5,15 +5,13 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# Scyther finds an attack that appears to be legit, but is not present in
|
# Scyther finds an attack that appears to be legit, but is not present in
|
||||||
# SPORE.
|
# SPORE.
|
||||||
#
|
#
|
||||||
|
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
protocol woolamPi(I,R,S)
|
protocol woolamPi(I,R,S)
|
||||||
|
@ -5,12 +5,11 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
usertype Key;
|
usertype Key;
|
||||||
usertype Ticket;
|
|
||||||
|
|
||||||
secret k: Function;
|
secret k: Function;
|
||||||
|
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
secret k : Function;
|
secret k : Function;
|
||||||
|
|
||||||
usertype Ticket, Key;
|
usertype Key;
|
||||||
|
|
||||||
|
|
||||||
protocol yahalomBAN(I,R,S)
|
protocol yahalomBAN(I,R,S)
|
||||||
@ -50,8 +50,8 @@ protocol yahalomBAN(I,R,S)
|
|||||||
const Kir: Key;
|
const Kir: Key;
|
||||||
var Ni,Nr: Nonce;
|
var Ni,Nr: Nonce;
|
||||||
|
|
||||||
read_2(R,S, R, {I,Ni,Nr}k(R,S) );
|
read_2(R,S, R, Nr, {I,Ni}k(R,S) );
|
||||||
send_3(S,I, {R,Kir,Ni,Nr}k(I,S), {I,Kir}k(R,S) );
|
send_3(S,I, Nr, {R,Kir,Ni}k(I,S), {I,Kir,Nr}k(R,S) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
secret k : Function;
|
secret k : Function;
|
||||||
|
|
||||||
usertype Ticket, Key;
|
usertype Key;
|
||||||
|
|
||||||
|
|
||||||
protocol yahalomPaulson(I,R,S)
|
protocol yahalomPaulson(I,R,S)
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
#
|
#
|
||||||
# Note:
|
# Note:
|
||||||
# This protocol uses a ticket so scyther will only be able to verify
|
# This protocol uses a ticket so scyther will only be able to verify
|
||||||
# the protocol using the ARACHNE engine (-a) and type 2 matching (-m2)
|
# the protocol using the ARACHNE engine (-a)
|
||||||
#
|
#
|
||||||
|
|
||||||
secret k : Function;
|
secret k : Function;
|
||||||
|
|
||||||
usertype Ticket, Key;
|
usertype Key;
|
||||||
|
|
||||||
|
|
||||||
protocol yahalom(I,R,S)
|
protocol yahalom(I,R,S)
|
||||||
|
Loading…
Reference in New Issue
Block a user