Publicação
CAOVerif: an open-source deductive verification platform for cryptographic software implementations
| Resumo: | CAO is a domain-specific imperative language for cryptography, offering a rich mathematical type system and crypto-oriented language constructions. We describe the design and implementation of a deductive verification platform for CAO and demonstrate that the development time of such a complex verification tool could be greatly reduced by building on the Jessie plug-in included in the Frama-C framework. We discuss the interesting challenges raised by the domain-specific characteristics of CAO, and describe how we tackle these problems in our design. We base our presentation on real-world examples of CAO code, extracted from the open-source code of the NaCl cryptographic library, and illustrate how various cryptography-relevant security properties can be verified. |
|---|---|
| Autores principais: | Almeida, José Bacelar |
| Outros Autores: | Barbosa, Manuel; Filliâtre, Jean-Christophe; Pinto, Jorge Sousa; Vieira, Bárbara Isabel Sousa |
| Assunto: | Formal verification Program verification Cryptographic software Deductive verification Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Ciências Naturais::Ciências da Computação e da Informação |
| Ano: | 2014 |
| País: | Portugal |
| Tipo de documento: | artigo |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | inglês |
| Origem: | RepositóriUM - Universidade do Minho |
Registos relacionados
article Deductive verification of cryptographic software
por: Almeida, José Bacelar
Publicado em: (2010)
por: Almeida, José Bacelar
Publicado em: (2010)
article A deductive verification platform for cryptographic software
por: Barbosa, Manuel
Publicado em: (2010)
por: Barbosa, Manuel
Publicado em: (2010)
article A deductive reasoning approach for database applications using verification conditions
por: Alam, Imran
Publicado em: (2021)
por: Alam, Imran
Publicado em: (2021)
article Verifying cryptographic software correctness with respect to reference implementations
por: Almeida, José Bacelar
Publicado em: (2009)
por: Almeida, José Bacelar
Publicado em: (2009)
article A generalized approach to verification condition generation
por: Belo Lourenco, Claudio
Publicado em: (2018)
por: Belo Lourenco, Claudio
Publicado em: (2018)
article Verification conditions for single-assignment programs
por: Cruz, Daniela da
Publicado em: (2012)
por: Cruz, Daniela da
Publicado em: (2012)
article A case study on model checking and deductive verification techniques of safety-critical software
por: Silva, Rovedy Aparecida Busquim e
Publicado em: (2012)
por: Silva, Rovedy Aparecida Busquim e
Publicado em: (2012)
groups Practical Deductive Verification of OCaml Programs
por: Pereira, Mário
Publicado em: (2025)
por: Pereira, Mário
Publicado em: (2025)
article A generalized program verification workflow based on loop elimination and SA form
por: Belo Lourenco, Claudio
Publicado em: (2019)
por: Belo Lourenco, Claudio
Publicado em: (2019)
school Towards a formally verified microkernel using the Frama-C toolset
por: Carloto, Carlos José Abreu Dias da Silva
Publicado em: (2010)
por: Carloto, Carlos José Abreu Dias da Silva
Publicado em: (2010)
article Verification conditions for source-level imperative programs
por: Frade, M. J.
Publicado em: (2011)
por: Frade, M. J.
Publicado em: (2011)
article CAOVerif: An open-source deductive verification platform for cryptographic software implementations
por: José Bacelar Almeida
Publicado em: (2014)
por: José Bacelar Almeida
Publicado em: (2014)
article Verification templates for the analysis of user interface software design
por: Harrison, Michael douglas
Publicado em: (2019)
por: Harrison, Michael douglas
Publicado em: (2019)
article Studying verification conditions for imperative programs
por: Lourenço, Cláudio Filipe Belo Silva
Publicado em: (2015)
por: Lourenço, Cláudio Filipe Belo Silva
Publicado em: (2015)
category A comparative study of verification condition generators
por: Fialho, Diogo
Publicado em: (2008)
por: Fialho, Diogo
Publicado em: (2008)
article Interactive verification of safety-critical software
por: Cruz, Daniela da
Publicado em: (2013)
por: Cruz, Daniela da
Publicado em: (2013)
article A survey of challenges for runtime verification from advanced application domains (beyond software)
por: Sánchez, César
Publicado em: (2019)
por: Sánchez, César
Publicado em: (2019)
school A Textbook of Verified OCaml Programs. A deductive study on algorithms and data structures
por: Gasparinho, Pedro Ramos
Publicado em: (2025)
por: Gasparinho, Pedro Ramos
Publicado em: (2025)
article Formal verification of side-channel countermeasures using self-composition
por: Almeida, José Bacelar
Publicado em: (2013)
por: Almeida, José Bacelar
Publicado em: (2013)
article Formal verification of side channel countermeasures using self-composition
por: Almeida, José Bacelar
Publicado em: (2011)
por: Almeida, José Bacelar
Publicado em: (2011)
article A framework for certification of large-scale component-based parallel computing systems in a cloud computing platform for HPC services
por: Dantas, A. O.
Publicado em: (2017)
por: Dantas, A. O.
Publicado em: (2017)
article Formal verification of a space system's user Interface with the IVY workbench
por: Campos, José C.
Publicado em: (2016)
por: Campos, José C.
Publicado em: (2016)
article Formal verification of kLIBC with the WP frama-C plug-in
por: Carvalho, Nuno
Publicado em: (2014)
por: Carvalho, Nuno
Publicado em: (2014)
groups Security in Wireless Sensor Networks: A formal verification of protocols
por: Spilere Nandi, Giann
Publicado em: (2019)
por: Spilere Nandi, Giann
Publicado em: (2019)
school Controlo remoto de presenças recorrendo à tecnologia de speaker verification
por: Moura, Paulo André Alves
Publicado em: (2010)
por: Moura, Paulo André Alves
Publicado em: (2010)
school Formal Verification of Programs Equivalence
por: Nini, João Francisco Serrenho
Publicado em: (2025)
por: Nini, João Francisco Serrenho
Publicado em: (2025)
school Handle with Care and Confidence – Extending Cameleer with Algebraic Effects and Effect Handlers. An analysis of algebraic effects and techniques to deductively verify them
por: Soares, Tiago Lopes
Publicado em: (2022)
por: Soares, Tiago Lopes
Publicado em: (2022)
article Program verification in SPARK and ACSL : a comparative case study
por: Brito, Eduardo
Publicado em: (2010)
por: Brito, Eduardo
Publicado em: (2010)
article Formally verifying interactive systems : a review
por: Campos, J. Creissac
Publicado em: (1997)
por: Campos, J. Creissac
Publicado em: (1997)
article Formal verification with Frama-C: a case study in the space software domain
por: Silva, Rovedy Aparecida Busquim e
Publicado em: (2016)
por: Silva, Rovedy Aparecida Busquim e
Publicado em: (2016)
groups Framework for Verification of Preserved and Redeployed Processes
por: Miksa, T.
Publicado em: (2013)
por: Miksa, T.
Publicado em: (2013)
article A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3
por: Frade, M. J.
Publicado em: (2023)
por: Frade, M. J.
Publicado em: (2023)
school Rumo a uma estrutura de verificação e validação baseada em arquiteturas de microserviços
por: HERNÁNDEZ, LIDIA GLORIA WILSON
Publicado em: (2025)
por: HERNÁNDEZ, LIDIA GLORIA WILSON
Publicado em: (2025)
mic Towards specification and verification frameworks for concurrent real-time systems
por: Pereira, David
Publicado em: (2012)
por: Pereira, David
Publicado em: (2012)
article A new plant modelling approach for formal verification purposes
por: Machado, José
Publicado em: (2007)
por: Machado, José
Publicado em: (2007)
school A Mechanized Proof of Kleene’s Theorem in Why3
por: Trindade, André Duarte Teixeira
Publicado em: (2021)
por: Trindade, André Duarte Teixeira
Publicado em: (2021)
article A certifying compiler for zero-knowledge proofs of knowledge based on sigma-protocols
por: Almeida, José Bacelar
Publicado em: (2010)
por: Almeida, José Bacelar
Publicado em: (2010)
article Simulation and formal verification of industrial systems controllers
por: Machado, José Mendes
Publicado em: (2008)
por: Machado, José Mendes
Publicado em: (2008)
article Model of mechanism behavior for verification of PLC programs
por: Machado, José Mendes
Publicado em: (2004)
por: Machado, José Mendes
Publicado em: (2004)
article Formal verification of interactive computing systems: Opportunities and challenges
por: Campos, José C.
Publicado em: (2019)
por: Campos, José C.
Publicado em: (2019)
Registos relacionados
-
article Deductive verification of cryptographic software
por: Almeida, José Bacelar
Publicado em: (2010) -
article A deductive verification platform for cryptographic software
por: Barbosa, Manuel
Publicado em: (2010) -
article A deductive reasoning approach for database applications using verification conditions
por: Alam, Imran
Publicado em: (2021) -
article Verifying cryptographic software correctness with respect to reference implementations
por: Almeida, José Bacelar
Publicado em: (2009) -
article A generalized approach to verification condition generation
por: Belo Lourenco, Claudio
Publicado em: (2018)