Passer à la navigation principale Passer à la recherche Passer au contenu principal

Probabilistic relational verification for cryptographic implementations

  • Gilles Barthe
  • , Cedric Fournet
  • , Benjamin Gregoire
  • , Pierre Yves Strub
  • , Nikhil Swamy
  • , Santiago Zanella-Beguelin
  • IMDEA Software Institute
  • Microsoft Research
  • INRIA Institut National de Recherche en Informatique et en Automatique

Résultats de recherche: Contribution à un journalArticleRevue par des pairs

Résumé

Relational program logics have been used for mechanizing formal proofs of various cryptographic constructions. With an eye towards scaling these successes towards end-to-end security proofs for implementations of distributed systems, we present RF?, a relational extension of F?, a general-purpose higher-order stateful programming language with a verification system based on refinement types. The distinguishing feature of RF? is a relational Hoare logic for a higher-order, stateful, probabilistic language. Through careful language design, we adapt the F? typechecker to generate both classic and relational verification conditions, and to automatically discharge their proofs using an SMT solver. Thus, we are able to benefit from the existing features of F?, including its abstraction facilities for modular reasoning about program fragments.We evaluate RF? experimentally by programming a series of cryptographic constructions and protocols, and by verifying their security properties, ranging from information flow to unlinkability, integrity, and privacy. Moreover, we validate the design of RF? by formalizing in Coq a core probabilistic λ-calculus and a relational refinement type system and proving the soundness of the latter against a denotational semantics of the probabilistic λ-calculus.

langue originaleAnglais
Pages (de - à)193-205
Nombre de pages13
journalACM SIGPLAN Notices
Volume49
Numéro de publication1
étatPublié - 13 janv. 2014
Modification externeOui

Empreinte digitale

Examiner les sujets de recherche de « Probabilistic relational verification for cryptographic implementations ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation