Paper 2018/766
Noise Explorer: Fully Automated Modeling and Verification for Arbitrary Noise Protocols
Nadim Kobeissi, Georgio Nicolas, and Karthikeyan Bhargavan
Abstract
The Noise Protocol Framework, introduced recently, allows for the design and construction of secure channel protocols by describing them through a simple, restricted language from which complex key derivation and local state transitions are automatically inferred. Noise "Handshake Patterns" can support mutual authentication, forward secrecy, zero round-trip encryption, identity hiding and other advanced features. Since the framework's release, Noise-based protocols have been adopted by WhatsApp, WireGuard and other high-profile applications. We present Noise Explorer, an online engine for designing, reasoning about, formally verifying and implementing arbitrary Noise Handshake Patterns. Based on our formal treatment of the Noise Protocol Framework, Noise Explorer can validate any Noise Handshake Pattern and then translate it into a model ready for automated verification and also into a production-ready software implementation written in Go or in Rust. We use Noise Explorer to analyze more than 57 handshake patterns. We confirm the stated security goals for 12 fundamental patterns and provide precise properties for the rest. We also analyze unsafe handshake patterns and document weaknesses that occur when validity rules are not followed. All of this work is consolidated into a usable online tool that presents a compendium of results and can parse formal verification results to generate detailed-but-pedagogical reports regarding the exact security goals of each message of a Noise Handshake Pattern with respect to each party, under an active attacker and including malicious principals. Noise Explorer evolves alongside the standard Noise Protocol Framework, having already contributed new security goal verification results and stronger definitions for pattern validation and security parameters.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Published elsewhere. 4th IEEE European Symposium on Security and Privacy
- Keywords
- formal verificationnoise protocol frameworkcryptographic protocolssecure implementationsecure channel protocols
- Contact author(s)
- nadim kobeissi @ inria fr
- History
- 2019-04-17: last of 11 revisions
- 2018-08-20: received
- See all versions
- Short URL
- https://ia.cr/2018/766
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2018/766, author = {Nadim Kobeissi and Georgio Nicolas and Karthikeyan Bhargavan}, title = {Noise Explorer: Fully Automated Modeling and Verification for Arbitrary Noise Protocols}, howpublished = {Cryptology {ePrint} Archive, Paper 2018/766}, year = {2018}, url = {https://eprint.iacr.org/2018/766} }