2017•Lirias (KU Leuven)Open access

Verifying cryptographic protocol implementations that use industrial cryptographic APIs

Gijs Vanspauwen, Bart Jacobs

Open full text 1 citations

Abstract

In this technical report we describe an approach for verifying cryptographic protocol implementations written in C. We statically prove the correctness of these implementations with the general purpose veri^Ler VeriFast. More concretely we prove: memory safety, the absence of explicit and implicit information leaks, and functional correctness which includes protocol integrity. Our invariant-based approach requires an extension of the symbolic model of cryptography in order to work for protocol implementations in C written against an existing cryptographic API. Compared to the state of our work in March 2016, as described in TR CW694, we have significantly overhauled our approach, in order to remove a number of unsoundnesses as well as lift a number of limitations.

About this research paper

What this paper is about

In this technical report we describe an approach for verifying cryptographic protocol implementations written in C. We statically prove the correctness of these implementations with the general purpose veri^Ler VeriFast. More concretely we prove: memory safety, the absence of explicit and implicit information leaks, and functional correctness which includes protocol integrity. Our invariant-based approach requires an extension of the symbolic model of cryptography in order to work for protocol implementations in C written against an existing cryptographic API. Compared to the state of our work in March 2016, as described in TR CW694, we have significantly overhauled our approach, in order to remove a number of unsoundnesses as well as lift a number of limitations.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

In this technical report we describe an approach for verifying cryptographic protocol implementations written in C. We statically prove the correctness of these implementations with the general purpose veri^Ler VeriFast. More concretely we prove: memory safety, the absence of explicit and implicit information leaks, and functional correctness which includes protocol integrity. Our invariant-based approach requires an extension of the symbolic model of cryptography in order to work for protocol implementations in C written against an existing cryptographic API. Compared to the state of our work in March 2016, as described in TR CW694, we have significantly overhauled our approach, in order to remove a number of unsoundnesses as well as lift a number of limitations.

Key concepts: Cryptographic protocol, Cryptography, Computer science, Cryptographic primitive, Protocol (science), Implementation, Computer security, Theoretical computer science

Related papers

Back to paper searchBrowse research topicsOriginal source
Verifying cryptographic protocol implementations that use industrial cryptographic APIs — Research Paper | ScholarLens