3 research outputs found
Formal verification of cryptographic software implementations
Tese de doutoramento em InformáticaSecurity is notoriously difficult to sell as a feature in software products. In addition to
meeting a set of security requirements, cryptographic software has to be cheap, fast,
and use little resources. The development of cryptographic software is an area with
specific needs in terms of software development processes and tools. In this thesis we
explore how formal techniques, namely deductive verification techniques, can be used
to increase the guarantees that cryptographic software implementations indeed work as
prescribed. This thesis is organized in two parts.
The first part is focused on the identification of relevant security policies that may
be at play in cryptographic systems, as well as the language-based mechanisms that can
be used to enforce such policies in those systems. We propose methodologies based on
deductive verification to formalise and verify relevant security policies in cryptographic
software. We also show the applicability of those methodologies by presenting some
case studies using a deductive verification tool integrated in the Frama-c framework.
In the second part we propose a deductive verification tool (CAOVerif) for a domainspecific
language for cryptographic implementations (CAO). Our aim is to apply the
methodologies proposed in the first part of this thesis work to verify the cryptographic
implementations written in CAO. The design of CAOVerif follows the same approach
used in other scenarios for general-propose languages and it is build on top of a plug-in
from the Frama-c framework. At the very end, we conclude the work of this thesis by
reasoning about the soundness of our verification tool.O software criptográfico possui requisitos específicos para garantir a segurança da
informação que manipula. Além disso, este tipo de software necessita de ser barato,
rápido e utilizar um número reduzido de recursos. Garantir a segurança da informação
que é manipulada por tais sistemas é um grande desafio, sendo por isso de grande objecto
de estudo actualmente. Nesta tese exploramos como as técnicas formais, nomeadamente
as técnicas de verificação dedutiva, podem ser utilizadas por forma a garantir que as
implementações de software criptográfico funcionam, de facto, como prescrito. O
trabalho desta tese está organizado em duas partes.
A primeira parte foca-se essencialmente na identificação de políticas de segurança
relevantes nos sistemas criptográficos, bem como nos mecanismos baseados em linguagens
que podem ser aplicados para garantir tais políticas. Neste contexto, propomos
metodologias baseadas em verificação dedutiva para formalizar e verificar políticas
de segurança. Mostramos também como essas metodologias podem ser aplicadas na
verificação de casos de estudo reais, utilizando a ferramenta de verificação dedutiva
integrada na ferramenta Frama-c.
Na segunda parte, propomos uma ferramenta de verificação dedutiva (CAOVerif)
para uma linguagem de domínio específico para implementações criptográficas (CAO).
O desenvolvimento de tal ferramenta tem como objectivo aplicar as metodologias desenvolvidas
na primeira parte deste trabalho às implementações criptográficas definidas em
CAO. O desenho desta ferramenta segue a mesma aproximação de outras ferramentas
de verificação dedutiva já existentes para outras linguagens. Concluímos o trabalho
desenvolvido dando um prova formal da correcção da ferramenta
Foundations of Security Analysis and Design V, FOSAD 2007/2008/2009 Tutorial Lectures
The proceedings contain 10 papers. The topics discussed include: Maude-NPA: cryptographic protocol analysis modulo equational properties; an introduction to certificate translation; federated identity management; electronic voting in the Netherlands: from early adoption to early abolishment; logic in access control; the open-source fixed-point model checker for symbolic analysis of security protocols; verification of concurrent programs with chalice; certified static analysis by abstract interpretation; resource usage analysis and its application to resource certification; and analysis of security threats, requirements, technologies and standards in wireless sensor networks