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

Secure distributed programming with value-dependent types

  • Nikhil Swamy
  • , Juan Chen
  • , Cédric Fournet
  • , Pierre Yves Strub
  • , Karthikeyan Bhargavan
  • , Jean Yang
  • Microsoft Research
  • MSR
  • Massachusetts Institute of Technology

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

Résumé

Distributed applications are difficult to program reliably and securely. Dependently typed functional languages promise to prevent broad classes of errors and vulnerabilities, and to enable program verification to proceed side-by-side with development. However, as recursion, effects, and rich libraries are added, using types to reason about programs, specifications, and proofs becomes challenging. We present F*, a full-fledged design and implementation of a new dependently typed language for secure distributed programming. Unlike prior languages, F* provides arbitrary recursion while maintaining a logically consistent core; it enables modular reasoning about state and other effects using affine types; and it supports proofs of refinement properties using a mixture of cryptographic evidence and logical proof terms. The key mechanism is a new kind system that tracks several sub-languages within F* and controls their interaction. F? subsumes two previous languages, F7 and Fine. We prove type soundness (with proofs mechanized in Coq) and logical consistency for F*. We have implemented a compiler that translates F* to.NET bytecode, based on a prototype for Fine. F* provides access to libraries for concurrency, networking, cryptography, and interoperability with C#, F#, and the other.NET languages. The compiler produces verifiable binaries with 60% code size overhead for proofs and types, as much as a 45x improvement over the Fine compiler, while still enabling efficient bytecode verification. To date, we have programmed and verified more than 20,000 lines of F* including (1) new schemes for multi-party sessions; (2) a zero-knowledge privacy-preserving payment protocol; (3) a provenance-aware curated database; (4) a suite of 17 web-browser extensions verified for authorization properties; and (5) a cloudhosted multi-tier web application with a verified reference monitor.

langue originaleAnglais
titreICFP'11 - Proceedings of the 2011 ACM SIGPLAN International Conference on Functional Programming
EditeurAssociation for Computing Machinery
Pages266-278
Nombre de pages13
ISBN (imprimé)9781450308656
Les DOIs
étatPublié - 19 sept. 2011
Modification externeOui
Evénement16th ACM SIGPLAN International Conference on Functional Programming, ICFP 2011 - Tokyo, Japon
Durée: 19 sept. 201121 sept. 2011

Série de publications

NomProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP

Une conférence

Une conférence16th ACM SIGPLAN International Conference on Functional Programming, ICFP 2011
Pays/TerritoireJapon
La villeTokyo
période19/09/1121/09/11

Empreinte digitale

Examiner les sujets de recherche de « Secure distributed programming with value-dependent types ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation