Skip to content
Snippets Groups Projects
Commit 823db2c5 authored by Müller, Jonas's avatar Müller, Jonas
Browse files

Fix missing T and pkCe in Verify_Transcript

parent fd9d4816
Branches
No related tags found
No related merge requests found
#ifdef PFS
rule Verify_Transcript_C:
let
pkCe = pk(skCe)
kTMAC = kdf(<'TMAC', r1>, kTA)
kTENC = kdf(<'TENC', r1>, kTA)
kTCNF_c = kdf(<'TCNF', r1>, kTA)
......@@ -24,8 +25,7 @@ let
kTCNF_c = kdf(<'TCNF', r1>, kTA)
dmesg = sdec(cCA, kTENC)
certC = fst(dmesg)
r2 = fst(snd(dmesg))
pkCe = snd(snd(dmesg))
r2 = snd(dmesg)
sid = <certT, certC, r2, cip>
s_c = mac(<'CA', sid>, kTMAC)
kKDF = decaps(cip, skC)
......
......@@ -26,21 +26,19 @@ in
#ifdef PFS
rule Verify_Transcript_T:
let
pkT = cert_pk(certT)
sid = <certT, certC, r2, cip, pkCe, cipe>
kCNF_t = kdf(<'CNF', sid>, <k, ke>)
in
[ In(<certT, IDc, r1, sT, certC, r2, pkCe, cip, sC, cipe, kCNF>), In(<k, ke>) ]
[ In(<certT, IDc, r1, sT, certC, r2, pkCe, cip, sC, cipe, kCNF>), In(<k, ke>), !Pk(T, pkT, 'terminal') ]
--[ Eq(T, cert_id(certT)), Eq(verify_cert(certT, 'terminal'), true), Eq(verify_cert(certC, 'chip'), true), Eq(verify(sT, <'TA', IDc, r1>, pkT), true), Eq(verify(sC, <'CA', sid>, pkT), true), Eq(kCNF, kCNF_t), ValidTrans(T, 'terminal', cert_id(certC)) ]->
[ ]
#else
rule Verify_Transcript_T:
let
pkT = cert_pk(certT)
sid = <certT, certC, r2, cip>
kCNF_t = kdf(<'CNF', sid>, kKDF)
in
[ In(<certT, IDc, r1, sT, certC, r2, cip, sC, kCNF>), In(kKDF) ]
[ In(<certT, IDc, r1, sT, certC, r2, cip, sC, kCNF>), In(kKDF), !Pk(T, pkT, 'terminal') ]
--[ Eq(T, cert_id(certT)), Eq(verify_cert(certT, 'terminal'), true), Eq(verify_cert(certC, 'chip'), true), Eq(verify(sT, <'TA', IDc, r1>, pkT), true), Eq(verify(sC, <'CA', sid>, pkT), true), Eq(kCNF, kCNF_t), ValidTrans(T, 'terminal', cert_id(certC)) ]->
[ ]
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment