一方面,安全SoC芯片中将基于格的PQC方案进行了系统级实现并应用,面临安全性需求与资源限制矛盾下的硬件实现与优化、合理且高效的SoC软硬件协同设计、侧信道攻击的防御技术及安全防护评估等技术挑战。另一方面,国内外基于格的PQC方案的硬件实现研究工作大多数仅为针对特定密码算法的单一硬件实现与FPGA原型验证,将基于格的PQC方案进行系统级ASIC实现并应用于安全SoC芯片的研究工作十分匮乏。因此,在后量子密码芯片的研究中,以下问题都是需要关注的核心难题。
基于NTRU、Module-LWE、Module-LWR等格困难问题构造的NTRU、Kyber、Saber等后量子密码方案(2020年7月NIST公布的第三轮PQC密码方案)在算法理论上存在一定的差异性。因此,对不同的格密码方案进行硬件实现,所需要的基本逻辑运算、存储容量及实际的运算性能、功耗也不一样。如何在适配安全SoC芯片的资源限制性、计算复杂性、通信速率需求和实际应用安全性需求的前提下,采取不同的设计方式以完全部署多种不同的格密码方案,实现安全性和硬件实现的高效性、灵活性有机统一是一个重要的核心技术难题。如图3-2所示,抗量子攻击密码系统可被应用于不同场景,从网络安全到移动安全与云计算安全等,从数据存储和恢复到付款及多重身份验证,从控制系统到驾驶系统,都需要对后量子密码协议进行兼容和适配。
图3-2 应用于不同场景的抗量子攻击密码系统
在基于格的后量子密码方案所需的模运算中,模乘运算是最为耗时、最影响整体硬件资源开销的基础核心算子。由大量模乘运算构成的多项式模乘运算是NTRU、Kyber、Saber等第三轮格密码方案的主要计算瓶颈。考虑到基于格的后量子密码方案有不同的模数 q (影响数据位宽)和多项式阶数 n (影响计算次数),使用不同的模乘算法和多项式乘法算法来实现模运算单元时,在运算性能与资源开销上具有不同的优势。如何在满足设计需求的情况下,选择最优的模乘算法,进行更合适的硬件实现,最终达到更高的硬件实现效率,是基于格的后量子密码算法硬件实现中的一个核心技术难题。在实现基于SHA-3的系数生成模块时,吞吐量是衡量采样性能的重要指标,影响整个密码系统系数生成的速率。由图3-3可知,无论是从时间方面考虑,还是从资源开销[以使用的LUT(查找表,Look-Up Table)计算]方面考虑,SHA-3的系数生成模块都会占据较多的时间与资源开销。由于增大吞吐量一般从提高最高频率和减少时钟周期两个方面进行优化,因此无论是插入流水线还是使用展开的电路结构,都会造成用于实现轮函数的资源开销成倍增加。如何做到吞吐量与资源开销的平衡是对系数生成运算进行硬件实现需要解决的难题。
在硬件级安全防护中,密码算法通常作为系统的安全IP集成到整个SoC芯片,并通过SoC的软件可编程性使其可以根据不同的应用需要改变自身功能。对于智能终端等应用场景,需要兼具加密和解密等安全功能,这也要求安全IP具备功能的可配置性。基于格的后量子密码方案通常包含密钥生成、加密和解密三个步骤,需要用到各自独有的功能模块和运算,会在一定程度上增加系统的资源开销。如何通过合理地设计子功能模块并规划主控状态机,实现大部分运算资源的复用,减少资源开销,是基于格的后量子密码方案硬件实现的核心技术难题。
图3-3 硬件和软硬件协同下资源与资源开销对比
侧信道攻击是一种通过窃取实际密码系统在运行过程中泄漏的诸如电压、电流、温度、时间、频率等物理信息中所包含的密码系统关键内容来达到攻破密码系统的攻击方法和手段。如图3-4所示,多样化的侧信道攻击手段均可对密码系统产生严重的安全威胁。例如,以破坏性手段打开安全芯片的封装,通过激光、电磁波和辐射暴露的方法来探测芯片内部关键的安全信息;或是通过显微镜来直接观察,进行内部的电路模式分析、电压探测、排放监测等来读取信息。更隐秘的攻击方式来自多种非破坏性手段,如频率缩放、电压缩放、噪声注入、电场磁场干扰等错误注入攻击,或辐射暴露、处理时间、电磁发射、电流和电压读取等信息窃取方法均可对安全密码芯片或系统产生严重的安全威胁。
在格密码方案中,采样、模运算等核心算子在运行时会通过计算时间、功耗和电磁等侧信道信息泄露敏感信息,给格密码系统带来巨大的安全隐患。例如,在NTT运算中,虽然输入和输出是未知的,但是旋转因子常数是已知的,攻击者会以旋转因子常数为变量节点构造代替因子的结构图,使得固定化的NTT结构存在被攻击的风险。
侧信道攻击防御方法通过抑制或者消除电路中功耗、时间、电磁等侧信道信息与所处理数据、执行指令之间的内在关系来提升抗侧信道攻击安全性。常见的防御方法有掩码、冗余电路等。例如,在NTT运算中,由旋转因子所带来的风险,通过随机化其旋转因子来打消固定的NTT结构,从而掩盖本会泄露的信息。然而,类似的侧信道攻击防御机制会产生额外硬件开销,影响格密码系统的性能。
图3-4 多样化的侧信道攻击手段
目前格密码方案抵御侧信道攻击的研究工作主要集中在侧信道攻击机制和模型建立两个方面,未见全面深入的防御侧信道攻击的硬件设计与实现的相关研究工作。如何既保证侧信道攻击防御机制的有效,又尽可能地减少硬件开销、保证格密码系统整体性能也是一个关键的技术难题。