发布于 2018-11-07 14:36:29
我最近写了一个关于如何在大页中实现大整数的BearSSL。有几种方法可以在RAM中表示整数并对它们进行计算操作;此外,请注意,对于密码学,我们通常需要大模块整数,这与大普通整数不一样。BearSSL的代码是固定时间的,因此名义上不受定时攻击的影响(通常的警告是整数乘法运算码在某些CPU上不是常数时间。)。
定时攻击是基于经过时间的物理度量的攻击。它们的特殊之处在于,它们可以远程执行(通过网络测量响应时间,或者使用目标计算机自己知道当前时间的能力);所有其他侧信道攻击都需要攻击者在目标系统的物理附近拥有特殊的硬件。定时攻击是你必须担心整个星球的攻击。有关定时攻击的更多信息,请参见此页。
智能手机让画面有点模糊,因为它们有很多传感器可以被敌对代码利用,因此“远程”;比如麦克风、照相机和加速度计。有了智能手机硬件,名义上可以访问其中一些传感器的沙箱应用程序可能会在电话中发生的其他操作中利用一些侧通道。然而,功率分析不应该属于这一类,因为智能手机不包括用于精确测量自身功耗的硬件。
除了定时攻击之外,BearSSL不显着地对侧信道攻击做任何事情。作为固定时间,可以在一定程度上防止功耗分析的某些方面(简单的功率分析可以显示CPU遵循哪些代码分支,但恒定时间的要求之一是条件分支不依赖于秘密数据,因此不会泄露任何秘密信息)。差分功率分析可以利用在给定寄存器或内存槽中写入0或1之间的差异;您需要一些真正好的示波器来实现这一点。为了防止差分功率分析,通常的保护措施是添加随机掩蔽,这是一个复杂的过程,因为它不仅取决于计算的代数性质,而且还需要一个良好的随机性来源,这本身可能是差分幂分析的目标。
需要强调的一点是,差分功率分析和防御在很大程度上取决于所涉及的精确硬件。因此,不可能有“对权力分析免疫的软件库”这样的东西。充其量,您有一个将软件和某些特定硬件结合在一起的系统,这些硬件可以在一定程度上声明具有一定的弹性。智能卡制造商就是你想要与之讨论的人。
https://crypto.stackexchange.com/questions/63759
复制相似问题