旁路攻击

密码学中,旁道攻击又称侧信道攻击边信道攻击(英语:Side-channel attack)是一种攻击方式,它基于从密码系统的物理实现中获取的信息而非暴力破解法或是算法中的理论性弱点(较之密码分析)。例如:时间信息、功率消耗、电磁泄露或甚是声音英语Acoustic cryptanalysis可以提供额外的信息来源,这可被利用于对系统的进一步破解。某些侧信道攻击还要求攻击者有关于密码系统内部操作的技术性信息,不过,其他诸如差分电力分析的方法在黑盒攻击中效果明显。许多卓有成效的侧信道攻击基于由保罗·科切英语Paul Kocher开拓的统计学方法。[1]

通过能量分析尝试破解RSA加密算法的实例。左侧的峰值是在运行RSA迭代中没有乘法的部分时处理器的功率,右侧则是在乘法步骤中处理器的功率。二者的差异可以用于窃取加密密钥。

需要注意的是,如果破解密码学系统使用的信息是通过与其使用人的合法交流获取的,这通常不被认为是旁路攻击,而是社会工程学攻击。

一般分类

根据借助的介质,旁路攻击分为多个大类,包括:

  • 快取攻击英语Cache Side-Channel Attacks,通过取得对快取的存取权而取得快取内的一些敏感资讯,例如攻击者取得云端主机物理主机的存取权而取得记忆体的存取权;
  • 计时攻击英语Timing attack,通过装置运算的用时来推断出所使用的运算操作,或者通过对比运算的时间推定资料位于哪个存储装置,或者利用通讯的时间差进行资料窃取
  • 基于功耗监控的旁路攻击,同一装置不同的硬体电路单元的运作功耗也是不一样的,因此一个程式运行时的功耗会随着程式使用哪一种硬体电路单元而变动,据此推断出资料输出位于哪一个硬体单元,进而窃取资料;
  • 电磁攻击英语Electromagnetic attack,装置运算时会泄漏电磁辐射,经过得当分析的话可解析出这些泄漏的电磁辐射中包含的资讯(比如文本、声音、图像等),这种攻击方式除了用于密码学攻击以外也被用于非密码学攻击等窃听行为,如TEMPEST英语TEMPEST攻击(例如范·埃克窃听、辐射监测);
  • 声学密码分析英语Acoustic cryptanalysis,通过捕捉装置在运算时泄漏的声学信号捉取资讯(与功率分析类似);
  • 差别错误分析,隐密资料在程式运行发生错误并输出错误资讯时被发现;
  • 数据残留英语Data remanence,可使理应被删除的敏感资料被读取出来(例如冷启动攻击);
  • 软件初始化错误攻击,现时较为少见,行锤攻击英语Row hammer是该类攻击方式的一个实例,在这种攻击实作中,被禁止存取的记忆体位置旁边的记忆体空间如果被频繁存取将会有状态保留丢失的风险;
  • 光学方式,即隐密资料被一些视觉光学仪器(如高解析度相机、高解析度摄影机等装置)捕捉。

所有的攻击类型都利用了加密/解密系统在进行加密/解密操作时算法逻辑没有被发现缺陷,但是通过物理效应提供了有用的额外资讯(这也是称为“旁路”的缘由),而这些物理资讯往往包含了密钥、密码、密文等隐密资料。

参见

参考资料

  1. ^ Kocher, Paul. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. Advances in Cryptology—CRYPTO’96. Lecture Notes in Computer Science. 1996, 1109: 104–113 [14 April 2014]. doi:10.1007/3-540-68697-5_9. (原始内容存档于2015-09-24). 

延伸阅读

书籍
文章

外部链接