首页> 外文OA文献 >Everest: Towards a Verified, Drop-in Replacement of HTTPS
【2h】

Everest: Towards a Verified, Drop-in Replacement of HTTPS

机译:珠穆朗玛峰:迈向验证,直接替换HTTps

摘要

The HTTPS ecosystem is the foundation on which Internet security is built. At the heart of this ecosystem is the Transport Layer Security (TLS) protocol, which in turn uses the X.509 public-key infrastructure and numerous cryptographic constructions and algorithms. Unfortunately, this ecosystem is extremely brittle, with headline-grabbing attacks and emergency patches many times a year. We describe our ongoing efforts in Everest (The Everest VERified End-to-end Secure Transport) a project that aims to build and deploy a verified version of TLS and other components of HTTPS, replacing the current infrastructure with proven, secure software.Aiming both at full verification and usability, we conduct high-level code-based, game-playing proofs of security on cryptographic implementations that yield efficient, deployable code, at the level of C and assembly. Concretely, we use F*, a dependently typed language for programming, meta-programming, and proving at a high level, while relying on low-level DSLs embedded within F* for programming low-level components when necessary for performance and, sometimes, side-channel resistance. To compose the pieces, we compile all our code to source-like C and assembly, suitable for deployment and integration with existing code bases, as well as audit by independent security experts.Our main results so far include (1) the design of Low*, a subset of F* designed for C-like imperative programming but with high-level verification support, and KreMLin, a compiler that extracts Low* programs to C; (2) an implementation of the TLS-1.3 record layer in Low*, together with a proof of its concrete cryptographic security; (3) Vale, a new DSL for verified assembly language, and several optimized cryptographic primitives proven functionally correct and side-channel resistant. In an early deployment, all our verified software is integrated and deployed within libcurl, a widely used library of networking protocols.
机译:HTTPS生态系统是构建Internet安全性的基础。此生态系统的核心是传输层安全性(TLS)协议,该协议进而使用X.509公钥基础结构以及众多的密码构造和算法。不幸的是,这个生态系统非常脆弱,每年都会多次受到标题的攻击和紧急补丁。我们在Everest(Everest Verified端到端安全传输)项目中描述了我们正在进行的工作,该项目旨在构建和部署TLS和HTTPS其他组件的经过验证的版本,用经过验证的安全软件替换当前的基础架构。经过全面的验证和可用性,我们在C和汇编级别上针对可产生有效,可部署代码的加密实现进行基于代码的高级游戏玩法安全性证明。具体来说,我们使用F *(一种依赖类型的语言)进行高级编程,元编程和证明,同时在性能方面必要时依靠F *中嵌入的低级DSL对低级组件进行编程,有时,侧通道电阻。为了组成各个部分,我们将所有代码编译为类似于源代码的C和汇编语言,适合与现有代码库进行部署和集成以及由独立安全专家进行审核。到目前为止,我们的主要成果包括(1)Low的设计*,它是F *的子集,专为类似于C的命令式编程而设计,但具有高级验证支持; KreMLin是将Low *程序提取到C的编译器; (2)在Low *中实现TLS-1.3记录层,并提供其具体密码安全性的证明; (3)Vale,一种用于经过验证的汇编语言的新DSL,以及几种经过优化的加密原语,这些原语在功能上已证明是正确的,并且具有抗旁通道性。在早期的部署中,我们所有经过验证的软件都已集成并部署在libcurl(一个广泛使用的网络协议库)中。

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号