We describe how to verify security properties of C code for cryptographic protocols by using a general-purpose verifier. We prove security theorems in the symbolic model of cryptography. Our techniques include: use of ghost state to attach formal algebraic terms to concrete byte arrays and to detect collisions when two distinct terms map to the same byte array, decoration of a crypto API with contracts based on symbolic terms, and expression of the attacker model in terms of C programs. We rely on the general-purpose verifier VCC, we guide VCC to prove security simply by writing suitable header files and annotations in implementation files, rather than by changing VCC itself. We formalize the symbolic model in Coq in order to justify the ad...
Crypto-CCS is a formal description language for distributed protocols which is suitable to abstractl...
International audienceAfter giving general context on the verification of security protocols, we foc...
International audienceAfter giving general context on the verification of security protocols, we foc...
We propose an approach for verifying cryptographic protocol implementations written in C. We statica...
The security of much critical infrastructure depends in part on cryptographic software coded in C, a...
In this technical report we describe an approach for verifying cryptographic protocol implementation...
Security protocols, such as TLS or Kerberos, and security devices such as the Trusted Platform Modul...
In our increasingly computer-oriented society, the computer programs we rely on tend to increase in ...
In this technical report we describe an approach for verifying cryptographic protocol implementation...
Security protocols, such as TLS or Kerberos, and security devices such as the Trusted Platform Modul...
Security protocols and APIs are difficult to specify and implement. Most of the time, for example fo...
In this technical report we describe an approach for verifying cryptographic protocol implementation...
Directly verifying security protocol code could help prevent major security flaws in communication s...
We developed an approach for verifying cryptographic protocol implementations written against existi...
Increasing attention has recently been given to the formal verification of the source code of crypto...
Crypto-CCS is a formal description language for distributed protocols which is suitable to abstractl...
International audienceAfter giving general context on the verification of security protocols, we foc...
International audienceAfter giving general context on the verification of security protocols, we foc...
We propose an approach for verifying cryptographic protocol implementations written in C. We statica...
The security of much critical infrastructure depends in part on cryptographic software coded in C, a...
In this technical report we describe an approach for verifying cryptographic protocol implementation...
Security protocols, such as TLS or Kerberos, and security devices such as the Trusted Platform Modul...
In our increasingly computer-oriented society, the computer programs we rely on tend to increase in ...
In this technical report we describe an approach for verifying cryptographic protocol implementation...
Security protocols, such as TLS or Kerberos, and security devices such as the Trusted Platform Modul...
Security protocols and APIs are difficult to specify and implement. Most of the time, for example fo...
In this technical report we describe an approach for verifying cryptographic protocol implementation...
Directly verifying security protocol code could help prevent major security flaws in communication s...
We developed an approach for verifying cryptographic protocol implementations written against existi...
Increasing attention has recently been given to the formal verification of the source code of crypto...
Crypto-CCS is a formal description language for distributed protocols which is suitable to abstractl...
International audienceAfter giving general context on the verification of security protocols, we foc...
International audienceAfter giving general context on the verification of security protocols, we foc...