Secure Implementations for Typed Session Abstractions
Ricardo Corin, Pierre-Malo Deniélou, Cédric Fournet, Karthik Bhargavan, James Leifer INRIA—Microsoft Research Joint Centre
http://www.msr-inria.inria.fr/projects/sec/sessions/
Secure Implementations for Typed Session Abstractions Ricardo - - PowerPoint PPT Presentation
Secure Implementations for Typed Session Abstractions Ricardo Corin, Pierre-Malo Denilou, Cdric Fournet, Karthik Bhargavan, James Leifer INRIA Microsoft Research Joint Centre http://www.msr-inria.inria.fr/projects/sec/sessions/
http://www.msr-inria.inria.fr/projects/sec/sessions/
Networking & Cryptography Session code (F#) Application code Concrete Crypto F# compiler Symbolic Model [BFGT’06] Symbolic Crypto
A compiler from sessions to F# formally verified code concrete code (.NET runtime)
Application code Session types
An extension of F# with session types
Accept Confirm Request Contract
Offer Abort Reject Change
“Customer C negotiates delivery of an item with a store S; the transaction is registered by an officer O.”
(remote party attack)
Accept Confirm Request Contract
Offer Abort Reject Change
(network attack)
Offer Reject
Accept Confirm Request Contract
Offer Abort Reject Change Visible: Accept-Confirm Visible:
counter-example if we allowed session forks:
Offer Reject