首页> 外文会议>IEEE Symposium on Security and Privacy >Formally Verified Cryptographic Web Applications in WebAssembly
【24h】

Formally Verified Cryptographic Web Applications in WebAssembly

机译:WebAssembly中经过正式验证的加密Web应用程序

获取原文

摘要

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 often implemented in JavaScript, a language that is both hostile to cryptographic code and hard to reason about. So we instead target WebAssembly, a new instruction set that is supported by all major JavaScript runtimes. We present a new toolchain that compiles Low*, a low-level subset of the F* programming language, into WebAssembly. Unlike other WebAssembly compilers like Emscripten, our compilation pipeline is focused on compactness and auditability: we formalize the full translation rules in the paper and implement it in a few thousand lines of OCaml. Using this toolchain, we present two case studies. First, we build WHACL*, a WebAssembly version of the existing, verified HACL* cryptographic library. Then, we present LibSignal*, a brand new, verified implementation of the Signal protocol in WebAssembly, that can be readily used by messaging applications like WhatsApp, Skype, and Signal.
机译:在经历了数十年的备受瞩目的攻击之后,对安全性至关重要的软件进行正式验证的需求从未如此清晰。如今,诸如F *之类的面向验证的编程语言已被用于构建高安全性的密码库和TLS等标准协议的实现。在本文中,我们试图将这些验证技术应用于嵌入复杂的自定义加密组件的现代Web应用程序,如WhatsApp。问题在于这些组件通常是用JavaScript实现的,该语言既不适合密码代码又难以推理。因此,我们改为以WebAssembly为目标,WebAssembly是所有主要JavaScript运行时所支持的新指令集。我们提出了一个新的工具链,该工具链将Low *(F *编程语言的低级子集)编译为WebAssembly。与Emscripten等其他WebAssembly编译器不同,我们的编译管道着重于紧凑性和可审核性:我们将本文中的完整翻译规则形式化,并在数千行OCaml中实现。使用此工具链,我们提出了两个案例研究。首先,我们构建WHACL *,这是现有的经过验证的HACL *加密库的WebAssembly版本。然后,我们展示LibSignal *,这是WebAssembly中Signal协议的一种经过验证的全新实现,可以由WhatsApp,Skype和Signal等消息传递应用程序轻松使用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号