Attack Model
The attack model is communication in an insecure network environment as following figure
- The attacker can intercept all messages sent on the network
- He can compute messages
- He can send messages on the network
The term cryptographic primitives means basic cryptographic function which later used to build security protocols.
Symbolic Model and Computational Model
Model | Symbolic Model | Computational Model |
Cryptographic Primitives | blackboxes | functions on bitstrings |
Messages | terms on cryptographic primitives | bitstrings |
Attack Capability | Compute with cryptographic primitives | Probabilistic polynomial-time Turing machine |
Security Assumptions | Verify what attacker can do | Verify what attacker cannot do |
Verifying Protocols in the Symbolic Model
The basic idea is to compute the knowledge of attacker. So we exhaust all combination of cryptographic primitives. Then check if any of them violate security policy. It is trivial that those combination can be infinite, thus this model can be undecidable. So some technique like approximation, proper subset or termination state are used.
For example, Horn Clauses can be use to verify symbolic model. With the notation attacker function
attacker(M) means “the attacker may have M”
attacker(M) means “the attacker may have M”
And there introduce two functions
Construct f( m1 ,m2 ,m3 ,...,mn )
attacker( m1 ) ^ attacker( m2 ) ^ ... ^ attacker( mn ) -> attacker( f(m1, m2,..., mn) )
Destruct g(m1,m2,...,mn) -> m
attacker( m1 ) ^ attacker( m2 ) ^ ... ^ attacker( mn ) -> attacker( m )
Example
attacker(m) ∧ attacker(k) → attacker(sencrypt(m, k))
attacker(sencrypt(m, k)) ∧ attacker(k) → attacker(m)
Verifying Protocols in the Computational Model
There are thee strategy to verify the computational model
- Linking the symbolic and the computational models
First, proof in symbolic model and verify computation soundness in symbolic model. Then we can prove the computatiobal model is secure. - Adapting techniques from the symbolic models
Some symbolic techniques can also be adapted to the computational model - Direct computational proofs
Proofs in the computational model are typically proofs by sequences of games
Reference
- Bruno Blanchet's presentation slide(1)
http://www.mpi-inf.mpg.de/vtsa11/slides/blanchet/VTSA11intro.pdf - Bruno Blanchet's presentation slide(2)
http://www.mpi-inf.mpg.de/vtsa11/slides/blanchet/VTSA11proverif.pdf - Bruno Blanchet's presentation slide(3)
http://cs.ioc.ee/etaps12/invited/blanchet-slides.pdf
沒有留言:
張貼留言