首页> 外文期刊>Journal of Automated Reasoning >System-Level Non-interference of Constant-Time Cryptography. Part Ⅱ: Verified Static Analysis and Stealth Memory
【24h】

System-Level Non-interference of Constant-Time Cryptography. Part Ⅱ: Verified Static Analysis and Stealth Memory

机译:系统级不干涉恒定时间加密。第二部分:验证静态分析和隐形记忆

获取原文
获取原文并翻译 | 示例

摘要

This paper constitutes the second part of a paper published in Barthe et al. (J Autom Reason, 2017. 10.1007/s10817-017-9441-5). Cache-based attacks are a class of side-channel attacks that are particularly effective in virtualized or cloud-based environments, where they have been used to recover secret keys from cryptographic implementations. One common approach to thwart cache-based attacks is to use constant-time implementations, i.e. those which do not branch on secrets and do not perform memory accesses that depend on secrets. However, there is no rigorous proof that constant-time implementations are protected against concurrent cache-attacks in virtualization platforms with shared cache. We propose a new information-flow analysis that checks if an x86 application executes in constant-time, and show that constant-time programs do not leak confidential information through the cache to other operating systems executing concurrently on virtualization platforms. Our static analysis targets the pre-assembly language of the CompCert verified compiler. Its soundness proof is based on a connection between CompCert semantics and our idealized model of virtualization, and uses isolation theorems presented in Part I. We then extend our model of virtualization platform and our static analysis to accommodate stealth memory, a countermeasure which provisions a small amount of private cache for programs to carry potentially leaking computations securely. Stealth memory induces a weak form of constant-time, called S-constant-time, which encompasses some widely used cryptographic implementations. Our results provide the first rigorous analysis of stealth memory and S-constant-time, and the first tool support for checking if applications are S-constant-time. We formalize our results using the Coq proof assistant and we demonstrate the effectiveness of our analyses on cryptographic implementations, including PolarSSL AES, DES and RC4, SHA256 and Salsa20.
机译:本文构成了在Barthe等人的一篇文章的第二部分。 (J为准原因,2017.10.1007 / S10817-017-9441-5)。基于缓存的攻击是一类在虚拟化或基于云的环境中特别有效的一类侧通道攻击,它们已被用于从加密实现中恢复密钥。基于缓存的攻击的一种常见方法是使用常规时间实现,即,没有分支秘密的那些,并且不执行依赖于秘密的内存访问。但是,没有严格的证据证明,恒定时间实现受到共享缓存的虚拟化平台中的并发缓存攻击。我们提出了一种新的信息 - 流分析,检查x86应用程序是否在恒定时间内执行,并且显示恒定时间程序不会通过缓存将机密信息泄密到在虚拟化平台上同时执行的其他操作系统。我们的静态分析针对Compcert验证编译器的预装配语言。它的声音证明是基于Compcert语义与我们的理想化虚拟化模型之间的联系,并使用第一部分中提出的隔离定理。然后我们扩展了我们的虚拟化平台模型和我们的静态分析,以适应隐形记忆,这是一项规定的对策用于安全地携带可能泄漏计算的程序的私人缓存量。隐形记忆引起较弱的恒定形式,称为S常数时间,包括一些广泛使用的加密实现。我们的结果提供了封闭式存储器和S常数的第一次严格分析,以及用于检查应用是否是S常数时的第一个工具支持。我们使用COQ验证助理正式化我们的结果,我们展示了我们对加密实现的分析的有效性,包括Polarssl AES,DES和RC4,SHA256和SALSA20。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号