2019 IEEE Symposium on Security and Privacy (SP) 2019
DOI: 10.1109/sp.2019.00064
|View full text |Cite
|
Sign up to set email alerts
|

Formally Verified Cryptographic Web Applications in WebAssembly

Abstract: After suffering decades of high-profile attacks, the need for formal verification of security-critical software has never been clearer. Verification-oriented programming languages like F * are now being used to build high-assurance cryptographic libraries and implementations of standard protocols like TLS. In this paper, we seek to apply these verification techniques to modern Web applications, like WhatsApp, that embed sophisticated custom cryptographic components. The problem is that these components are oft… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 19 publications
(14 citation statements)
references
References 39 publications
0
11
0
Order By: Relevance
“…The second result establishes that our type system is sound (Theorem 2). We prove that our transient-flow type system in combination with a standard constant-time type system (e.g., [Protzenko et al 2019;Watt et al 2019]) enforces constant time under speculative execution . We provide full definitions and proofs in the extended version of this paper [Vassena et al 2020].…”
Section: Consistency and Securitymentioning
confidence: 84%
See 1 more Smart Citation
“…The second result establishes that our type system is sound (Theorem 2). We prove that our transient-flow type system in combination with a standard constant-time type system (e.g., [Protzenko et al 2019;Watt et al 2019]) enforces constant time under speculative execution . We provide full definitions and proofs in the extended version of this paper [Vassena et al 2020].…”
Section: Consistency and Securitymentioning
confidence: 84%
“…Our approach focuses on side-channel attacks through the observation trace and therefore relies on a separate, but standard, type system to control leaks through the program control-flow and architectural state. In particular, we write CT L (c) if c follows the (sequential) constant time discipline from [Protzenko et al 2019;Watt et al 2019], i.e., it is free of secret-dependent branches and memory accesses.…”
Section: Consistency and Securitymentioning
confidence: 99%
“…High-assurance cryptography. Many tools have been used to verify functional correctness (and memory safety, if applicable) [28], [29], [30], [31], [32], [33], [34], [35], [36], [37], [38] and constant-time [39], [40], [41], [42], [43], [44], [45], [46], [47], [48], [35], [49] for cryptographic code, including for ChaCha20/Poly1305 [35], [36], [50], [51], [52], [8], [9], [53], [11]. We refer readers to the survey by Barbosa et al [1] for a detailed systematization of high-assurance cryptography tools and applications.…”
Section: Spectre-pht (Input Validation Bypassmentioning
confidence: 99%
“…Recently, the F ⋆ programming language [70], which exports type definitions to the Z3 theorem prover [43], has been used to produce implementations of TLS [71] and Signal that are formally verified for functional correctness at the level of the implementation itself [69].…”
Section: Formal Verification Paradigmsmentioning
confidence: 99%