Multiparty asynchronous session types
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verified implementations of the information card federated identity-management protocol
Proceedings of the 2008 ACM symposium on Information, computer and communications security
Session-Based Distributed Programming in Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
A secure compiler for session abstractions
Journal of Computer Security - 20th IEEE Computer Security Foundations Symposium (CSF)
Proceedings of the 15th ACM conference on Computer and communications security
Cryptographic Protocol Explication and End-Point Projection
ESORICS '08 Proceedings of the 13th European Symposium on Research in Computer Security: Computer Security
Information and Computation
Synchronous Multiparty Session Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Security Abstractions and Intruder Models (Extended Abstract)
Electronic Notes in Theoretical Computer Science (ENTCS)
Channel abstractions for network security†
Mathematical Structures in Computer Science
Bounded session types for object oriented languages
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
A formal implementation of value commitment
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
On progress for structured communications
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
A protocol compiler for secure sessions in ML
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Secrecy and authenticity types for secure distributed messaging
ARSPA-WITS'10 Proceedings of the 2010 joint conference on Automated reasoning for security protocol analysis and issues in the theory of security
AnBx: security protocols design and verification
ARSPA-WITS'10 Proceedings of the 2010 joint conference on Automated reasoning for security protocol analysis and issues in the theory of security
G2C: cryptographic protocols from goal-driven specifications
TOSCA'11 Proceedings of the 2011 international conference on Theory of Security and Applications
Structured Communication-Centered Programming for Web Services
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multiparty session types meet communicating automata
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Asynchronous distributed monitoring for multiparty session enforcement
TGC'11 Proceedings of the 6th international conference on Trustworthy Global Computing
Hi-index | 0.00 |
Distributed applications can be structured as parties that exchange messages according to some pre-arranged communication patterns. These sessions (or contracts, or protocols) simplify distributed programming: when coding a role for a given session, each party just has to follow the intended message flow, under the assumption that the other parties are also compliant. In an adversarial setting, remote parties may not be trusted to play their role. Hence, defensive implementations also have to monitor one another, in order to detect any deviation from the assigned roles of a session. This task involves low-level coding below session abstractions, thus giving up most of their benefits. We explore language-based support for sessions. We extend the ML language with session types that express flows of messages between roles, such that well-typed programs always play their roles. We compile session type declarations to cryptographic communication protocols that can shield programs from any low-level attempt by coalitions of remote peers to deviate from their roles. Our main result is that, when reasoning about programs that use our session implementation, one can safely assume that all session peers comply with their roles--without trusting their remote implementations.