[prev in list] [next in list] [prev in thread] [next in thread]
List: avispa-users
Subject: Re: [Avispa-users] Very simple (partial) protocol doesn't work
From: "Matteo R." <matteo.it () gmail ! com>
Date: 2011-04-05 7:56:07
Message-ID: 4D9ACB17.4080209 () gmail ! com
[Download RAW message or body]
Hello,
yesterday evening I had got some problems with the emails.
Anyway now I've instantiated all variables (as you've said me yesterday)
but the protocol doesn't work at all.
The problem is still the second pass, that is not showed in SPAN.
What do you think? As usual, I attach the specification
Thank you very much
Matteo
["problem with partial protocol_3.txt" (text/plain)]
role roleA (
Pr, Pe, PrM: agent,
Hash: hash_func,
K11: symmetric_key,
K2: symmetric_key,
SND_Pe, RCV_Pe, SND_PrM, RCV_PrM: channel(dy)
)
played_by Pr
def=
local
State: nat
const
idPayer: protocol_id
init
State := 3
transition
end role
role roleB (
Pe, Pr, PeM: agent,
Hash: hash_func,
K12: symmetric_key,
K2: symmetric_key,
SND_Pr, RCV_Pr, SND_PeM, RCV_PeM: channel(dy)
)
played_by Pe
def=
local
State: nat
const
idPayee: protocol_id
init
State := 3
transition
end role
role roleC (
PrM, Pr, PeM, TSC: agent,
Hash: hash_func,
K11: symmetric_key,
KMM: symmetric_key,
KeyRing1: (symmetric_key) set,
SND_Pr, RCV_Pr, SND_PeM, RCV_PeM, SND_TSC, RCV_TSC: channel(dy)
)
played_by PrM
def=
local
State: nat,
X1, X2: symmetric_key,
R: text,
NONCE: nat,
IDPe: hash(nat.nat),
TID: text,
IDMno: text,
AMOUNT, DATE, DESC: text,
GeneralParams: (hash(nat.nat).text.text.text.text.text.nat),
SecuredParams: {text.text}_symmetric_key,
SecuredGeneralParams: {text.text.text.text}_symmetric_key,
IDPr: hash(nat.nat),
PNPr: nat,
PINPr: nat,
AIPr: nat,
Timestamp1: nat
const
idPayer: protocol_id
init
State := 4
transition
11. State = 4 /\ RCV_Pr(start) =|>
State':=5 /\ IDPe':= new()
/\ IDMno':= new()
/\ R':= new()
/\ TID':= new()
/\ AMOUNT':= new()
/\ DATE':= new()
/\ NONCE':= new()
/\ GeneralParams':= (IDPe'.IDMno'.R'.TID'.AMOUNT'.DATE'.NONCE')
/\ SecuredParams':= new()
/\ X1':= new()
/\ IDPr':= new()
/\ SND_TSC(Hash({GeneralParams'.Hash(GeneralParams').SecuredParams'}_X1'.1.IDPr'))
13. State = 5 /\ RCV_TSC(Timestamp1') =|>
State':=7
end role
role roleD (
PeM, Pe, PrM, TSC: agent,
Hash: hash_func,
K12: symmetric_key,
KMM: symmetric_key,
KeyRing2: (symmetric_key) set,
SND_Pe, RCV_Pe, SND_PrM, RCV_PrM, SND_TSC, RCV_TSC: channel(dy)
)
played_by PeM
def=
local
State: nat
const
idPayee: protocol_id
init
State := 4
transition
end role
role timeStamper (
TSC, PrM, PeM: agent,
Hash: hash_func,
SND_PrM, RCV_PrM, SND_PeM, RCV_PeM: channel(dy)
)
played_by TSC
def=
local
State: nat,
GeneralParams: (hash(nat.nat).text.text.text.text.text.nat),
SecuredParams: {text.text}_symmetric_key,
PartialGeneralParams: (text.text.text.text),
SecuredGeneralParams: {text.text.text.text}_symmetric_key,
SecuredKey: hash(symmetric_key),
Yes_no: text,
IDPr: hash(nat.nat),
X1, Y2: symmetric_key,
R: text,
NONCE: nat,
IDPe: hash(nat.nat),
TID: text,
IDMno: text,
AMOUNT, DATE, DESC: text,
Timestamp1, Timestamp2: nat
const
idTimeStamper: protocol_id
init
State := 0
transition
12. State = 0 /\ RCV_PrM(Hash({GeneralParams'.Hash(GeneralParams').SecuredParams'}_X1'.1.IDPr')) \
=|> State':=2
/\ Timestamp1':= new()
/\ SND_PrM(Timestamp1')
end role
role session (
Pe, Pr, PeM, PrM, TSC: agent,
Hash: hash_func,
K11, K12, K2, KMM: symmetric_key
)
def=
local
SPr_Pe, RPr_Pe, SPr_PrM, RPr_PrM,
SPe_Pr, RPe_Pr, SPe_PeM, RPe_PeM,
SPrM_Pr, RPrM_Pr, SPrM_PeM, RPrM_PeM, SPrM_TSC, RPrM_TSC,
SPeM_Pe, RPeM_Pe, SPeM_PrM, RPeM_PrM, SPeM_TSC, RPeM_TSC,
STSC_PrM, RTSC_PrM, STSC_PeM, RTSC_PeM: channel(dy),
KeyRing1, KeyRing2: (symmetric_key) set,
Success_failed: text,
IDPe: hash(nat.nat),
PNPe: nat,
PINPe: nat,
AIPe: nat,
IDPr: hash(nat.nat),
PNPr: nat,
PINPr: nat,
AIPr: nat
composition
roleA(Pr, Pe, PrM, Hash, K11, K2, SPr_Pe, RPr_Pe, SPr_PrM, RPr_PrM)
/\ roleC(PrM, Pr, PeM, TSC, Hash, K11, KMM, KeyRing1, SPrM_Pr, RPrM_Pr, SPrM_PeM, \
RPrM_PeM, SPrM_TSC, RPrM_TSC) /\ timeStamper(TSC, PrM, PeM, Hash, STSC_PrM, \
RTSC_PrM, STSC_PeM, RTSC_PeM) /\ roleD(PeM, Pe, PrM, TSC, Hash, K12, KMM, KeyRing2, \
SPeM_Pe, RPeM_Pe, SPeM_PrM, RPeM_PrM, SPeM_TSC, RPeM_TSC) /\ roleB(Pe, Pr, PeM, \
Hash, K12, K2, SPe_Pr, RPe_Pr, SPe_PeM, RPe_PeM)
end role
role environment()
def=
const
pe, pr, tsc, peM, prM: agent,
h: hash_func,
success_failed: text,
iDPe: message,
iDPr: message,
pNPe: nat,
pINPe: nat,
aIPe: nat,
pNPr: nat,
pINPr: nat,
aIPr: nat,
x1, x2, y1, y2, k11, k12, k2, kmm: symmetric_key
intruder_knowledge = {i, pe, pr, tsc, peM, prM}
composition
session(pe, pr, tsc, peM, prM, h, k11, k12, k2, kmm)
% /\ session(pe, i, peM, prM, h)
% /\ session(i, pr, peM, prM, h)
end role
environment()
_______________________________________________
Avispa-users mailing list
Avispa-users@avispa-project.org
http://mail63.csoft.net/mailman/listinfo/avispa-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic