Denning Sacco Protocol
Purpose
Denning and Sacco suggested the use of time stamps to remove the freshness flaw in Needham Schroeder protocol. It cut shorts the size of Needham Schroeder protocol too.
Informal Specification
- A -> S: A,B
- S -> A: E(Kas: B, Kab, T, E(Kbs: A, Kab, T))
- A -> B: E(Kbs: A, Kab, T)
See Commonly Used Representations
MSR Specification
Click here to download
--- Author: rishav
--- Date: 10 June 2007
--- Denning Sacco Protocol
--- A -> S: A,B
--- S -> A: E(Kas: B, Kab, T, E(Kbs: A, Kab, T))
--- A -> B: E(Kbs: A, Kab, T)
---
(reset)
(
module denningSacco
export * .
server : type. server <: princ.
key : type.
stk : princ -> princ -> type. stk A B <: msg. stk A B <: key.
ltk : princ -> princ -> type. ltk A B <: key.
time : type. time <: msg.
enc : key -> msg -> msg.
net : msg -> state.
initiator:
forall A : princ.
{
DSRule1:
empty => net(A & B).
DSRule3:
forall KAS : ltk A S.
forall KAB : stk A B.
forall KBS : ltk B S.
net(enc KAS (B & KAB & T & enc KBS (A & KAB & T)))
=> net(enc KBS (A & KAB & T)).
}
receiver:
forall B : princ.
{
DSRule4:
forall KAB : stk A B.
forall KBS : ltk B S.
net(enc KBS (A & KAB & T))
=> empty.
}
server:
forall S : server.
{
DSRule2:
forall KAS : ltk A S.
forall KBS : ltk B S.
net(A & B)
=> exists KAB : stk A B.
net(enc KAS (B & KAB & T & enc KBS (A & KAB & T))).
}
)