Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
The system F of variable types, fifteen years later
Theoretical Computer Science
Inheritance and explicit coercion
Proceedings of the Fourth Annual Symposium on Logic in computer science
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
ACM Transactions on Programming Languages and Systems (TOPLAS)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design of the programming language FORSYTHE
ALGOL-like Languages, Volume 1
Subtypes for Specifications: Predicate Subtyping in PVS
IEEE Transactions on Software Engineering
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A calculus for cryptographic protocols
Information and Computation
Secrecy by typing in security protocols
Journal of the ACM (JACM)
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Intersection types and computational effects
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Timestamps in key distribution protocols
Communications of the ACM
Mobile values, new names, and secure communication
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Protection in programming languages
Communications of the ACM
Design and implementation of the idemix anonymous credential system
Proceedings of the 9th ACM conference on Computer and communications security
Positive Recursive Type Assignment
MFCS '95 Proceedings of the 20th International Symposium on Mathematical Foundations of Computer Science
Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
A Mechanisation of Name-Carrying Syntax up to Alpha-Conversion
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1
CRYPTO '98 Proceedings of the 18th Annual International Cryptology Conference on Advances in Cryptology
Secrecy types for asymmetric communication
Theoretical Computer Science - Foundations of software science and computation structures
An Efficient Cryptographic Protocol Verifier Based on Prolog Rules
CSFW '01 Proceedings of the 14th IEEE workshop on Computer Security Foundations
Authenticity by typing for security protocols
Journal of Computer Security - Special issue on CSFW14
Logical relation for encryption
Journal of Computer Security - Special issue on CSFW14
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Intersection types and bounded polymorphism
Mathematical Structures in Computer Science
Authenticity by tagging and typing
Proceedings of the 2004 ACM workshop on Formal methods in security engineering
Proceedings of the 11th ACM conference on Computer and communications security
Analyzing security protocols with secrecy types and logic programs
Journal of the ACM (JACM)
WITS '05 Proceedings of the 2005 workshop on Issues in the theory of security
Analysis of Typed Analyses of Authentication Protocols
CSFW '05 Proceedings of the 18th IEEE workshop on Computer Security Foundations
Secrecy despite compromise: types, cryptography, and the pi-calculus
CONCUR 2005 - Concurrency Theory
Static validation of security protocols
Journal of Computer Security
AI Communications - CASC
Theoretical Computer Science - Automated reasoning for security protocol analysis
A bisimulation for dynamic sealing
Theoretical Computer Science
Analysis of the SSL 3.0 protocol
WOEC'96 Proceedings of the 2nd conference on Proceedings of the Second USENIX Workshop on Electronic Commerce - Volume 2
A Type Discipline for Authorization in Distributed Systems
CSF '07 Proceedings of the 20th IEEE Computer Security Foundations Symposium
Causality-based Abstraction of Multiplicity in Security Protocols
CSF '07 Proceedings of the 20th IEEE Computer Security Foundations Symposium
Types and effects for asymmetric cryptographic protocols
Journal of Computer Security - Special issue on CSFW15
A calculus of challenges and responses
Proceedings of the 2007 ACM workshop on Formal methods in security engineering
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Breaking and fixing public-key Kerberos
Information and Computation
Dynamic types for authentication
Journal of Computer Security - Formal Methods in Security Engineering Workshop (FMSE 04)
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Refinement Types for Secure Implementations
CSF '08 Proceedings of the 2008 21st IEEE Computer Security Foundations Symposium
Automated Verification of Remote Electronic Voting Protocols in the Applied Pi-Calculus
CSF '08 Proceedings of the 2008 21st IEEE Computer Security Foundations Symposium
Civitas: Toward a Secure Voting System
SP '08 Proceedings of the 2008 IEEE Symposium on Security and Privacy
SP '08 Proceedings of the 2008 IEEE Symposium on Security and Privacy
The Scyther Tool: Verification, Falsification, and Analysis of Security Protocols
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
The CASPA Tool: Causality-Based Abstraction for Security Protocol Analysis
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Verified interoperable implementations of security protocols
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 15th ACM conference on Computer and communications security
Cryptographically verified implementations for TLS
Proceedings of the 15th ACM conference on Computer and communications security
Proceedings of the 6th ACM workshop on Formal methods in security engineering
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refinement types and computational duality
Proceedings of the 3rd workshop on Programming languages meets program verification
Verifying privacy-type properties of electronic voting protocols
Journal of Computer Security
Greedy bidirectional polymorphism
Proceedings of the 2009 ACM SIGPLAN workshop on ML
Achieving Security Despite Compromise Using Zero-knowledge
CSF '09 Proceedings of the 2009 22nd IEEE Computer Security Foundations Symposium
CoSP: a general framework for computational soundness proofs
Proceedings of the 16th ACM conference on Computer and communications security
Anonymous credentials on a standard java card
Proceedings of the 16th ACM conference on Computer and communications security
The TPTP Problem Library and Associated Infrastructure
Journal of Automated Reasoning
Tags for Multi-Protocol Authentication
Electronic Notes in Theoretical Computer Science (ENTCS)
Modular verification of security protocol code by typing
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
Efficient non-interactive proof systems for bilinear groups
EUROCRYPT'08 Proceedings of the theory and applications of cryptographic techniques 27th annual international conference on Advances in cryptology
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Computationally sound verification of source code
Proceedings of the 17th ACM conference on Computer and communications security
PETS'10 Proceedings of the 10th international conference on Privacy enhancing technologies
Structure-preserving signatures and commitments to group elements
CRYPTO'10 Proceedings of the 30th annual conference on Advances in cryptology
A certifying compiler for zero-knowledge proofs of knowledge based on Σ-protocols
ESORICS'10 Proceedings of the 15th European conference on Research in computer security
Refinement types for secure implementations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic generation of sigma-protocols
EuroPKI'09 Proceedings of the 6th European conference on Public key infrastructures, services and applications
ZKPDL: a language-based system for efficient zero-knowledge proofs and electronic cash
USENIX Security'10 Proceedings of the 19th USENIX conference on Security
Efficient symbolic execution for analysing cryptographic protocol implementations
ESSoS'11 Proceedings of the Third international conference on Engineering secure software and systems
HMC: verifying functional programs using abstract interpreters
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Secure distributed programming with value-dependent types
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Modular code-based cryptographic verification
Proceedings of the 18th ACM conference on Computer and communications security
Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Guiding a General-Purpose C Verifier to Prove Cryptographic Protocols
CSF '11 Proceedings of the 2011 IEEE 24th Computer Security Foundations Symposium
Resource-Aware Authorization Policies for Statically Typed Cryptographic Protocols
CSF '11 Proceedings of the 2011 IEEE 24th Computer Security Foundations Symposium
Cryptographic protocol analysis on real c code
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Privacy-aware proof-carrying authorization
Proceedings of the ACM SIGPLAN 6th Workshop on Programming Languages and Analysis for Security
Enforcing stateful authorization and information flow policies in fine
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Union and intersection types for secure protocol implementations
TOSCA'11 Proceedings of the 2011 international conference on Theory of Security and Applications
Formal analysis of the EMV protocol suite
TOSCA'11 Proceedings of the 2011 international conference on Theory of Security and Applications
On the security of public key protocols
IEEE Transactions on Information Theory
Logical foundations of secure resource management in protocol implementations
POST'13 Proceedings of the Second international conference on Principles of Security and Trust
Implementing TLS with Verified Cryptographic Security
SP '13 Proceedings of the 2013 IEEE Symposium on Security and Privacy
Security and Privacy by Declarative Design
CSF '13 Proceedings of the 2013 IEEE 26th Computer Security Foundations Symposium
Differential Privacy by Typing in Security Protocols
CSF '13 Proceedings of the 2013 IEEE 26th Computer Security Foundations Symposium
Hi-index | 0.00 |
We present a new type system for verifying the security of reference implementations of cryptographic protocols written in a core functional programming language. The type system combines prior work on refinement types, with union, intersection, and polymorphic types, and with the novel ability to reason statically about the disjointness of types. The increased expressivity enables the analysis of important protocol classes that were previously out of scope for the type-based analyses of reference protocol implementations. In particular, our types can statically characterize: i more usages of asymmetric cryptography, such as signatures of private data and encryptions of authenticated data; ii authenticity and integrity properties achieved by showing knowledge of secret data; iii applications based on zero-knowledge proofs. The type system comes with a mechanized proof of correctness and an efficient type-checker.