arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1907.02530cs.CR
收藏

密码学中的密码优化的安全意义--综述

Security Implications Of Compiler Optimizations On Cryptography -- A Review

A. P. Shivarpatna Venkatesh, A. Bhat Handadi, M. Mory

摘要:

在实现安全软件时,开发人员必须确保某些要求,例如在秘密数据使用和实时的执行后擦除它。C语言没有显式地捕获这些要求,编译器优化可能会违反这些要求。因此,开发人员通常使用间接方法向编译器隐藏代码的语义,并避免不必要的优化。然而,这种变通方法并不是永久的解决方案,因为越来越高效的编译器优化会导致过去被认为是安全的代码现在变得脆弱。本文是一个文献综述(1)编译器优化引起的安全并发症,(2)开发人员用来减轻优化问题的方法,以及(3)最近的学术努力,使安全工程师传达隐式安全要求的编译器。此外,我们提出了一个简短的研究六个加密库,以及他们如何处理的问题,确保安全要求。通过本文,我们强调了软件开发人员和编译器设计人员需要共同努力,以设计高效的系统编写安全的软件。

英文摘要:

When implementing secure software, developers must ensure certain requirements, such as the erasure of secret data after its use and execution in real time. Such requirements are not explicitly captured by the C language and could potentially be violated by compiler optimizations. As a result, developers typically use indirect methods to hide their code's semantics from the compiler and avoid unwanted optimizations. However, such workarounds are not permanent solutions, as increasingly efficient compiler optimization causes code that was considered secure in the past now vulnerable. This paper is a literature review of (1) the security complications caused by compiler optimizations, (2) approaches used by developers to mitigate optimization problems, and (3) recent academic efforts towards enabling security engineers to communicate implicit security requirements to the compiler. In addition, we present a short study of six cryptographic libraries and how they approach the issue of ensuring security requirements. With this paper, we highlight the need for software developers and compiler designers to work together in order to design efficient systems for writing secure software.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑