使用超低功耗处理器防止侧信道攻击

作者:ARC处理器,产品营销经理,Angela Raucher

当为物联网应用增加额外安全措施时,如加密和授权措施,黑客必须花费更多努力才能获得所需信息、或破坏网络工作。他们所花费的努力和时间将取决于信息的价值,这使得高价值目标尤其会受到攻击。在本文中,重点放在防止侧信道攻击的技术方面,侧信道攻击指的是这样的攻击,它依赖来自安全措施物理实施的信息、而不是利用安全措施本身的直接弱点。

简单地讲,或许你的家庭正在离开城镇,而且你并不希望任何人知道。你没告诉任何人你离开的事,深夜里,你将行李搬到车上,房间里留了些灯开着。然而,不幸的是,你可能会留下一些关于关于你不在的线索,你的邻居或罪犯可能会注意到这些线索,无需透过窗户看或闯入即可推断出相应信息。例如,在你家的前廊上有一堆报纸,同样的灯白天晚上一直亮着,你家总不停狂吠的狗莫名其妙地安静下来。使用侧信道信息进行攻击与之类似,与前面给出简单例子相比,它要求更多的努力。为了在SOC中防止这类攻击,重要的是需理解获取信息的方式,并确定防止其发生的方法,尤其是一些可在低功耗物联网处理器中实施的反制措施,降低威胁。

如上所述,侧信道攻击依赖于相应信息,所述信息是根据实施的安全措施而获得的,通常是加密函数。对于SOC来说,“泄漏”的信息包括操作的定时信息、功耗和电磁辐射。这类信息能够泄漏一些敏感信息,如密钥。作为示例,我们看一下在RSA交易上进行的侧信道分析。RSA是一种非对称加密标准,通常用于密钥交换,并使用模幂运算作为基础。在图1给出的示例中,RSA是采用了相应方法实施的,其中,如果关键字节是奇数,使用平方函数,如果关键字节是偶数,则使用平方乘法。潜在黑客能够将较短的峰值确定为0,将较长的峰值确定为1,这就使得密钥在示波器上几乎能像字面那样看到。除了这类简单的功率分析攻击之外,还有很多更加高级的攻击,这类攻击能够记录来自多次运行的样本轨迹,并在其上应用统计关联手段,以获得私有密钥。

对加密函数的侧信道攻击示例

图1:对加密函数的侧信道攻击示例

幸运的是,仔细的设计能够扰乱可从SOC定时、功耗和电磁辐射方面搜集的信息。不存在能够使系统免受侧信道攻击的灵丹妙药,对于SOC设计人员,重要的是需考虑系统是否会执行敏感操作,如加密。

如果系统要求中包含,在处理器上运行加密软件,或是为了节省面积或时为了现场更新,关键之处在于,需选择包含侧信道抵抗能力的处理器IP。由于处理器会创建可能泄漏的信息,它应位于保护方案的心脏地带。在一些物联网应用中,如智能仪表,它们会长时间部署在现场(达20年),因此,随着其发展演变,应具备更新至最新加密标准的能力。事实上,在一些标准中,已经包含了抵抗侧信道攻击的要求,包括涵盖智能测量和嵌入式SIM应用的标准。物联网应用通常还具有严格的面积和功率预算,当增加安全措施时,需要较低的开销,因此,关键在于,需具有结合了侧信道防范特性的超低功率处理器。

侧信道抵抗处理器IP的一个例子是Synopsys的 DesignWare® ARC® SEM安全处理器. 对于这些性能、面积和功率高效处理器,其重点是以低的开销提升物联网和移动SOC的安全。ARC SEM处理器通过可靠的执行环境SecureShield™将安全和应用代码分离开,它还包括多种特性,可防止恶意硬件、软件和物理攻击。在这些特性中,有一些专门针对侧信道攻击:

  • 统一定时,消除了数据相关指令循环计数变化;
  • 功率整平,消除了功率峰值/异常;
  • 用于功率和定时的管线随机。

这些特性的目标在于,隐藏关于敏感操作的信息,包括它们在何时出现,以正在处理的数据。担心事项是,黑客能够使用关于加密算法实施的信息,对密钥进行解码。通过混淆定时和功率信息,能够保护正在处理的数据,使其无法通过这些方法披露。在下面的两张图中,比较了关闭随机管线特性时的周期评估功率(图2),以及打开随机管线特性时的周期评估功率(图3),用于示例“加”指令。正如你所见到的那样,在图2所示的加指令的操作数和其功耗之间,存在很强的相关性,但当打开管线随机特性时,不存在可辨识的模式。

管线随机特性打开

图2:管线随机特性关闭                      图3:管线随机特性打开

ARC处理器的另一独特性质是,它能通过ARC处理器扩展(APEX)技术,增加用户提供的定制指令。这些指令可用于加速加密,或針对增加敏感操作能够改变定时信号的伪指令。能够对指令进行限制,仅被芯片开发者了解,这样就提供了另一种方式,与已知实施方案进行比较,能够防止侧信道攻击方面,为系统增加了另一层保护。

除了在处理器中使用的、用于防止侧信道攻击的技术之外,还存在芯片层设计选择,它也有助于防止侧信道攻击。这些选择的示例包括,电磁屏蔽,使用缓冲电容将主电源和内部电源解耦,在SOC中常见的、用于测试目的的扫描功能上增加防护。正如前面所提到的,不存在灵丹妙药,需小心谨慎,应将可行的、尽可能多的抵抗特性包含在内,这有助于延长潜在黑客所花费的时间,加大其努力,使得其难以开展攻击。