Title: A Calculus for Cryptographic Protocols: The Spi Calculus
1A Calculus for Cryptographic Protocols The Spi
Calculus
- Speaker David Bañeres Besora
- Author MartÃn Abadi
2Index
- Examples pi-calculus
- Why Spi-calculus?
- Syntax and semantic of Spi-calculus
- Examples Spi-calculus
- Improves in Spi-calculus
- Conclusions
3 - Examples pi-calculus
- Why Spi-calculus?
- Syntax and semantic of Spi-calculus
- Examples Spi-calculus
- Improves in Spi-calculus
- Conclusions
4First example sharing a channel
- We can use pi calculus for describing some
security protocols
5First example sharing a channel
- This protocol has two properties
- Authenticity
- An attacker cannot change the message M and sent
it to B. - B knows that the message can be only from A
- Secrecy
- The Message M cannot be read in transit from A to
B.
6Second example channel establishment
- We use a server for sending the channel
7Second example channel establishment
- We use a server for sending the channel
8Second example channel establishment
- We use a server for sending the channel.
- We have also the properties of authenticity and
secrecy. - Its not needed that A and B know the name of the
channel before sending the message M. - But, A and B must know channels to the server
9- Examples pi-calculus
- Why Spi-calculus?
- Syntax and semantic of Spi-calculus
- Examples Spi-calculus
- Improves in Spi-calculus
- Conclusions
10Can we use pi-calculus for cryptography?
- We can use pi-calculus when we send hidden
messages through a channel
11Spi-Calculus (MartÃn Abadi)
- Spi-Calculus is an extension of pi-calculus
- It supports cryptographic operations
- We can describe security protocols
(authentication, electronic commerce, ...)
12- Examples pi-calculus
- Why Spi-calculus?
- Syntax and semantic of Spi-calculus
- Examples Spi-calculus
- Improves in Spi-calculus
- Conclusions
13Syntax of Spi-Calculus
- Terms
- Known grammar of pi-calculus
14Syntax of Spi-Calculus
- Processes
- Known grammar of pi-calculus
15Syntax of Spi-Calculus
16Syntax of Spi-Calculus
- Processes
- New elements
- Match
- if M and N are the same then the execution
continues, - otherwise the execution is stuck
- Pair splitting
- if M is equal to (N,L) then the execution is
17Syntax of Spi-Calculus
- Processes
- New elements
- Integer case
- if M is 0 then the execution continues in P
- if M is suc(N) then the execution is
- otherwise the execution is stuck
- Shared-key decryption
- The process tries to decrypt L with the key N
- If L is MN then we replace the variable M for
x - otherwise the process is stuck
18Semantic of Spi-Calculus
- Reaction (?)
- Reduction (gt)
- Replication
- Match
- Let
- Zero
- Suc
- Decrypt
- Structural equivalence (?)
- Structural Reduction
19Semantic of Spi-Calculus
- Known semantic notions
- Structural equivalence
- Commitment Relation
- Strong Bisimilarity
- New (for testing)
- Barbed equivalence (? ?)
- Barbed bisimulation
- Barbed congruence
20- Examples pi-calculus
- Why Spi-calculus?
- Syntax and semantic of Spi-calculus
- Examples Spi-calculus
- Improves in Spi-calculus
- Conclusions
21Sharing the encryption key
- Advantage Channel cAB is a public channel
- Disadvantage Both processes must know the
encryption key
22Sharing the encryption key
23Key establishment
- We use a server for sending the key
24Key establishment
cAS
cSB
cAB
- Channel cAB, cSB, cAS are public channels
- Process B doesnt know the encryption key until
the server sends it.
25Key establishment
26Key establishment
27Key establishment
28A complete authentication example
- We have N processes and one server
29A complete authentication example
30- Examples pi-calculus
- Why Spi-calculus?
- Syntax and semantic of Spi-calculus
- Examples Spi-calculus
- Improves in Spi-calculus
- Conclusions
31Hashing, public key and digital signatures
- We need to add more primitives to the grammar
- Hashing
- Public key
- Digital signatures
32Digital signature of a message
- We can use pi calculus for describing some
security protocols
33Digital signature of a message
M
A
B
34Conclusions
- Pi-calculus is useful for describing processes
that transmit information using a channel. - We cannot use Pi-calculus for cryptographic
processes - Spi-calculus has a complete grammar for describe
this processes - We can use Spi-calculus for shared-key, public
key, digital signatures and hash functions.
35References
- M. Abadi and A.D. Gordon. A Calculus for
Cryptographic Protocols The Spi Calculus.
Research Report. January 1998