漏洞
时间攻击
别称: 计时旁路
定义
通过测量同一操作在不同输入下的耗时来恢复机密信息的侧信道攻击。
时间攻击利用密码学与认证代码中与输入相关的执行时间差。典型目标包括非常数时间字符串比较(早期不匹配的字节会提前结束并暴露进度)、模幂运算(square-and-multiply 泄露密钥比特)、AES 查表操作、以及响应时间取决于记录是否存在的数据库查询。即便是网络上几纳秒、本地几微秒的微小差异,经过多次测量平均后也能放大可观。防御措施需要常数时间实现(HMAC 风格比较、无分支条件移动)、像 crypto_constant_time_eq 这样的库原语、对加密库的细致审计,以及在攻击者可观测的边界上加入速率限制或抖动。
示例
- Kocher 1996 年通过计时分析攻击 RSA 的盲化实现。
- Lucky Thirteen(CVE-2013-0169):针对 TLS CBC 填充的计时攻击。
相关术语
侧信道攻击
通过观察系统的物理或实现特征(时序、功耗、电磁辐射、缓存、声学信号等)而非逻辑漏洞,来恢复机密信息的攻击。
密码学
通过数学技术在存在攻击者的情况下提供机密性、完整性、真实性和不可否认性的信息安全科学。
RSA 算法
由 Rivest、Shamir 与 Adleman 于 1977 年提出的公钥算法,其安全性基于对两个大素数乘积进行因数分解的困难性。
AES(高级加密标准)
由 NIST 标准化的 128 位分组密码,密钥长度可为 128、192 或 256 位,由 Daemen 与 Rijmen 设计,是全球占主导地位的对称加密算法。
Secure Coding
Secure Coding — definition coming soon.
漏洞
系统、应用或流程中可被攻击者利用以破坏机密性、完整性或可用性的弱点。