-
Notifications
You must be signed in to change notification settings - Fork 17
/
pki.m4i
42 lines (31 loc) · 1.01 KB
/
pki.m4i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* ------- Public key infrastructure -------*/
/*
Register PK
----------------
Generates a long-term key for a party.
Premises:
Fr(~ltkA) - a fresh value for the key itself
Actions:
GenLtk($A, ~ltkA) - party $A has generated a long-term key
Conclusions:
!Ltk($A, ~ltkA) - binds the long-term key to the party $A
!Pk($A, pk(~ltkA)) - models the distribution of the public key by some PKI
Out(pk(~ltkA)) - outputs the public key so the adversary has knowledge
*/
rule Register_pk:
[ Fr(~ltkA) ]--[ GenLtk($A, ~ltkA), HonestUse(~ltkA)
]->
[ !Ltk($A, ~ltkA), !Pk($A, pk(~ltkA)), Out(pk(~ltkA)) ]
/*
Reveal Ltk
----------------
The adversarial capability to reveal long-term keys of parties.
Premises:
!Ltk($A, ~ltkA) - the long-term key to compromise
Actions:
RevLtk($A) - adversary has revealed the key of $A.
Conclusions:
Out(~ltkA) - provides the adversary with the long-term key
*/
rule Reveal_Ltk:
[ !Ltk($A, ~ltkA) ] --[ RevLtk($A) ]-> [ Out(~ltkA) ]