PCI-E 密码卡 SM2 算法侧信道攻击缓解技术设计与研究_第1页
PCI-E 密码卡 SM2 算法侧信道攻击缓解技术设计与研究_第2页
PCI-E 密码卡 SM2 算法侧信道攻击缓解技术设计与研究_第3页
PCI-E 密码卡 SM2 算法侧信道攻击缓解技术设计与研究_第4页
PCI-E 密码卡 SM2 算法侧信道攻击缓解技术设计与研究_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

近年来,随着市场对高安全性的愈发重视,国家密码管理局颁布了安全三级密码模块相关标准,增加了对物理安全、环境失效性检测、抗侧信道攻击3个方面的要求。其中,抗侧信道攻击涉及对国密算法的研究和改造,因而难度较大,而国密算法中,又以非对称算法SM2的原理和实现最为复杂。行业内典型设计架构的外设组件互联高速总线(PeripheralComponentInterconnectExpress,PCI-E)密码卡一般采用多芯片设计架构,即采用一颗专用安全一级算法芯片来负责SM2算法加速,一颗主控芯片来负责任务调度和敏感数据管理。该架构下,多数算法专用芯片没有针对侧信道攻击进行加固,且密码卡在进行密码算法运算时,存在关键安全参数在芯片间传输等问题。因此,研究缓解侧信道攻击的典型架构PCI-E密码卡的SM2算法设计,可使得现存的典型架构的PCI-E密码卡在未来的市场应用上继续发挥作用。本文首先简要地介绍PCI-E密码卡的典型设计架构以及架构面临侧信道攻击时可能存在的风险;其次分别从SM2算法的攻击原理[2]、抗侧信道攻击的针对性改造方法、Inspetor工具验证3个方面详细说明缓解技术的设计。通过本文的介绍,可以填补典型架构的PCI-E密码卡在抗侧信道攻击方面的设计空缺,也可以指导安全二级PCI-E密码卡的升级改造,使其具有安全三级的实用价值,满足国密检测规范和市场需求。1

典型PCI-E密码卡设计架构1.1典型架构介绍在典型PCI-E密码卡的设计架构中,主控单元、PCI-E总线接口单元、密码运算单元分别由不同芯片完成。此外,存储单元、功能单元等也是密码卡的重要组成部分,如图1所示。图1PCI-E模块卡典型架构各单元的释义和功能如下:(1)主控单元由独立的中央处理单元(Central

ProcessingUnit,CPU)实现,负责对密钥的管理和对应用层下发命令的解析和响应;(2)PCI-E总线接口单元常由现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)实现,是数据进出密码模块的主要传输通道;(3)密码运算单元基于效率和性能的考虑,一般使用专用密码算法芯片负责非对称SM2算法,由逻辑器件实现哈希算法SM3和对称分组密码算法SM4;(4)存储单元由双倍速率内存(DoubleData

RateSDRAM,DDRSDRAM)和闪存(FLASHEEPROMMemory,FLASH)组成,分别存储密码卡运算过程中的非关键安全数据和板载芯片的可执行程序;(5)功能单元位由开盖销毁装置和按键销毁按钮实现紧急状况下的关键安全参数置零功能,状态灯指示密码模块的实时状态,另有物理噪声源用于产生质量合格的随机数。1.2典型架构存在的风险一般的,FPGA与SM2算法专用芯片之间的信号连接包括4位地址线、32位数据线、计算完成信号线Finish,验签通过信号线Pass。在调用SM2算法专用芯片进行计算时,FPGA首先会根据芯片的规定将密钥、数据准备就绪,再通过Data数据总线送进算法芯片。密钥通过电路在FPGA和算法芯片间传输的过程中,外界的探测设备可以搜集线路附近的电磁辐射来获取密钥的信息,如图2所示。图2关键安全参数泄露风险因此,典型PCI-E密码卡在更高级别安全要求下存在架构上的缺陷,可能导致关键安全参数在跨芯片传输时存在泄露的风险。2SM2算法攻击原理分析标准SM2数字签名算法流程如图3所示。在签名过程中,设待签名的消息为M,它的数字签名(r,s),签名者A的公私钥分别为为长度为v比特的密码杂凑算法,G为椭圆曲线的一个基点,其阶为素数,k为临时私钥。图3标准SM2签名算法流程攻击者一般选择与私钥直接相关的计算进行攻击,只要通过攻击破解出私钥,就可以解密获取用户的全部明文消息,或者伪造用户的签名信息。因此,重点关注SM2算法的签名运算和解密运算。在签名算法流程中,第4步须进行临时私钥与基点的点乘计算,常规的点乘计算如下:可以看到该方法将点乘运算转换为倍点和点加运算,每一次循环是否进行点加操作与k的每个比特是否为0相关。攻击者利用倍点攻击,通过比较kp与k(2p)的两条能量曲线临近的倍点运算能量幅值,攻击人员可以知道k的相邻比特位之间的关系,只需猜测首位比特,再根据相邻比特间的关系就可以推断出其他位置的全部密钥。同时,攻击者也可以通过计时攻击,构建不同比特序列的伪密钥k'对相同的消息M进行签名运算,由于点乘运算中的点加运算次数与k中比特1的位数相关,所以可以通过统计k'p与kp运算的时间来推测k中1的比特位,进而推断出密钥k。签名算法流程中,第6步大数模乘涉及私钥,r是已知变量,大数模乘会产生大量的中间数据,攻击者可以根据已知的r来反推出与相关的中间值,进而通过功耗与中间值之间的相关性来逐比特推断私钥。同理,在SM2解密算法的步骤中,涉及私钥参与计算的步骤是攻击者可以通过倍点攻击和计时攻击来推断私钥同时,在典型架构下,由于要使用算法专用芯片进行SM2签名和解密计算,必然涉及密钥在主控芯片和算法专用芯片之间传输的过程。攻击者可以通过探测相关电路上的电磁辐射来推测密钥信息,增加了密钥泄露的风险。3抗侧信道攻击算法改造设计根据上一节的分析,在典型架构的密码卡上,需要对SM2算法进行有针对性的改造,以避免攻击者通过各种攻击手段窃取私钥信息,结合其多芯片架构的特点,可以采取以下几种方法。3.1平衡指令分支缓解技术(安全点乘)针对SM2算法中的私钥参与的点乘计算,采用平衡指令分支缓解技术,算法描述如下:该方法一次扫描1位密钥位,每次进行1次点加运算和1次倍点运算,可以实现任意相同长度的密钥位运算都没有时间区别[7],能有效防御计时攻击和简单能量攻击。在典型架构下,为保证私钥不在电路板线路上传输,在上述缓解技术的基础上,通过只调用算法专用芯片提供的点加、倍点算子,达到私钥不在芯片间传输的目的。平衡指令分支缓解技术结合其多芯片架构的点乘运算过程如图4所示。图4典型架构下安全点乘运算流程3.2变换公式技术针对签名算法中易受攻击的大数模乘rdA计算进行公式变换,消除私钥直接参与的大数模乘,攻击者无法针对该计算进行差分能量攻击。对签名运算第6步的变换如下:可以看到,在经过公式变换后,比原本的签名计算过程第6步减少了一次模乘,仅需进行一次模逆和一次模乘操作,减少了算法的运行时间,提高了加密卡的性能。此外,在典型架构下,为保证私钥不在电路板线路上传输,在上述缓解技术的基础上,通过逻辑器件FPGA来实现模逆运算,将私钥限制在FPGA内部,再调用算法专用芯片提供的模乘等基础算子,达到私钥不在芯片间传输的目的。3.3

盲化基点技术针对SM2解密算法的流程中,涉及敏感密钥信息的步骤是计算椭圆曲线点采用盲化基点结合的方式对其进行改造。通过在每次计算过程中引入一个新的秘密随机点R的方式对计算中间值进行盲化操作,原有标量乘法被分解为两部分,即因为R是一个秘密的随机点,也是一个随机点,在生成最终结果的两个计算子过程中的所有中间值均是不可预测的,确保了整个缓解技术具备抗差分能量分析(Differential

PowerAnalysis,DPA)和抗差分电磁分析(Differential

ElectroMagneticAnalysis,DEMA)的能力。调用算法专用芯片提供的点加算子,均使用安全点乘方案,转化成点加和倍点运算,私钥信息不出FPGA,避免在芯片间的电路上传输。盲化基点和安全点乘结合的方法改造时,运算流程及数据在FPGA和专用算法芯片之间的传递如图5所示。图5典型架构下盲化基点与安全点乘运算流程4

测试验证在进行抗侧信道攻击测试验证时,首先将被测PCI-E密码卡插入测试用PC机的PCI-E插槽或插入转接底板通过PCIE延长线与测试用PC机相连;其次使用一台示波器通过网口与测试用PC机的网口相连,PC机上运行专用分析工具Inspector接收网口发送过来的测试数据。示波器触发通道的探头连接至模块的算法运算触发引脚,采集通道的探头在抗能量分析攻击测试时通过一个采样电阻连接至SM2专用算法芯片的工作核电压引脚处。在抗计时攻击和抗电磁分析攻击时,通过磁感线圈悬停于SM2专用算法芯片附近。其中,算法运算触发引脚在运算开始执行时被拉高,运算结束时被拉低,用以指示示波器的采集通道采集的信号的有效区间。采集通道则在触发引脚信号有效期间采集模块的相关数据,并通过网口将数据发送给测试用PC机上运行的Inspector软件,该软件根据采集到的时间数据分析密码运算过程中的密钥。测试环境如图6所示。实测环境如图7所示,图中由左至右依次为采集信号的示波器、典型架构PCI-E密码卡、运行分析软件Inspector的PC机。图7抗侧信道攻击实测环境4.1抗计时攻击测试验证本测试以采集SM2专用算法芯片的电磁泄漏信号与时间信号为分析对象,结合时间攻击的基本原理,对该芯片上SM2签名算法进行抗时间攻击能力的测试。采集环境的配置如下:(1)示波器采样率为100Mbit/s;(2)示波器采样点为bit;(3)采集的总样本数为10万条;(4)待签名消息固定,私钥一次一变。算法专用芯片在进行签名运算时,采集的电磁辐射信号经过Inspector分析工具滤波后如图8所示。图8SM2签名算法运行时电磁辐射叠加效果图8中,横坐标表示采样点数(时间),纵坐标表示电磁幅值。通过观察,多次运算的时间几乎没有变化,因此不能通过时间信息获取SM2签名算法密钥信息。继续将该电磁辐射图的局部展开,得到图9。图9SM2签名算法运行时电磁辐射局部展开从图9中可以看出,在时间维度上是无法分辨具体的点加运算操作和倍点运算操作。因此采用平衡指令分支缓解技术改造的SM2签名算法具有较强的抗时间攻击的能力。4.2抗能量分析攻击测试验证本测试以SM2专用算法芯片的核电压作为采集目标,通过示波器对采样电阻的能量迹进行记录,并使用Inspector工具进行滤波和分析,对该芯片上的密码算法进行抗能量分析攻击能力的测试。4.2.1签名运算测试签名运算采集环境的配置如下:(1)示波器采样率为100Mbit/s;(2)示波器采样点为bit;(3)采集的总样本数为10万条;(4)固定私钥,配置为:K=0x7EDACB54992448D3693018A01A096D4447DB3254C93FC6A021C10DDAF56AC9E6。算法专用芯片在进行签名运算时,采集的能量迹信号经过Inspector分析工具滤波后如图10所示。图10SM2签名算法运行时的能量迹曲线进行中间值相关性攻击测试(高阶DPA),将正确的密钥和明文进行运算,得出相应的中间值,然后与能量曲线进行相关性分析,在SM2签名密码算法中,利用rdA结果的中间值汉明重量和曲线做相关性计算,以8bit为单位进行相关性测试,得出的测试结果如图11所示,相关性测试结果曲线的横坐标代表时间轴,纵坐标代表计算出的相关性的大小。图11SM2签名算法中间值与能量曲线相关性经过Inspector分析计算,取密钥最低字节相关性排名前10的结果,其候选字节、相关值、相关性尖峰位置如下:0,candidate=0x5D,correlationvalue:-0.1724,atposition:1003931,candidate=0x5C,correlationvalue:0.1670,atposition:401502,candidate=0xCB,correlationvalue:-0.1659,atposition:2046563,candidate=0xF0,correlationvalue:-0.1648,atposition:1002584,candidate=0x9E,correlationvalue:-0.1614,atposition:1003935,candidate=0x90,correlationvalue:0.1601,atposition:982736,candidate=0x68,correlationvalue:0.1596,atposition:1980267,candidate=0x57,correlationvalue:0.1590,atposition:355688,candidate=0xC4,correlationvalue:-0.1583,atposition:905049,candidate=0xCF,correlationvalue:-0.1579,atposition:100393从计算结果可以看出,相关性计算推测的最近似密钥最低字节5D未命中正确的密钥7E,在这步不存在信息泄露,说明在这步计算中使用的变换公式技术可以有效防护能量分析攻击。4.2.2解密运算测试解密运算采集环境的配置如下:(1)示波器采样率为100Mbit/s;(2)示波器采样点为bit;(3)采集的总样本数为10万条;(4)固定私钥,配置为:K=0x7EDACB54992448D3693018A01A096D4447DB3254C93FC6A021C10DDAF56AC9E6。算法专用芯片在进行解密运算时,采集的能量迹信号经过Inspector分析工具滤波后如图12所示。图12SM2解密算法运行时的能量迹曲线进行中间值相关性攻击测试,在SM2解密算法中,利用[db]C1结果的中间值汉明重量和采集的能量曲线做相关性计算,以8bit为单位进行相关性测试,得出的测试结果如图13所示,相关性测试结果曲线的横坐标代表时间轴,纵坐标代表计算出的相关性的大小。图13SM2解密算法中间值与能量曲线相关性经过Inspector分析计算,取密钥最低字节相关性排名前10的结果,其候选字节、相关值、相关性尖峰位置如下:0,candidate=0x4F,correlationvalue:-0.1724,atposition:13931,candidate=0xF0,correlationvalue:-0.1648,atposition:12582,candidate=0x9E,correlationvalue:-0.1614,atposition:13933,candidate=0x68,correlationvalue:0.1596,atposition:990264,candidate=0xCF,correlationvalue:-0.1579,atposition:13935,candidate=0xE8,correlationvalue:0.1573,atposition:990976,candidate=0x97,correlationvalue:0.1566,atposition:272737,candidate=0x5D,correlationvalue:-0.1566,atposition:423648,candidate=0xC4,correlationvalue:-0.1561,atposition:11519,candidate=0x9,correlationvalue:-0.1559,atposition:18170从图13和计算结果可以看出,相关性计算推测的最近似密钥最低字节4F未命中正确的密钥7E,在这步不存在信息泄露,说明在这步计算中引入的随机数,进行盲化基点结合安全点乘技术可以有效地防护能量分析攻击。4.3抗电磁分析攻击测试验证本测试以SM2专用算法芯片的附近空间电磁辐射作为采集目标,通过示波器对电磁曲线进行记录,并使用Inspector工具进行滤波和分析,对该芯片上密码算法进行抗电磁分析攻击能力的测试。4.3.1签名运算测试签名运算采集环境的配置如下:(1)示波器采样率为100Mbit/s;(2)示波器采样点为bit;(3)采集的总样本数为10万;(4)固定私钥,配置为:K=0x7EDACB54992448D3693018A01A096D4447DB3254C93FC6A021C10DDAF56AC9E6。算法专用芯片在进行签名运算时,采集的电磁辐射信号经Inspector分析工具滤波后如图14所示。图14SM2签名算法运行时的电磁辐射曲线进行中间值相关性攻击测试,将正确的密钥和明文进行运算,得出相应的中间值,然后与电磁辐射曲线进行相关性分析,在SM2签名密码算法中,利用结果的中间值汉明重量和曲线做相关性计算,以8bit为单位进行相关性测试,得出的测试结果如图15所示,相关性测试结果曲线的横坐标代表时间轴,纵坐标代表计算出的相关性的大小。图15SM2签名算法中间值与电磁辐射曲线相关性经过Inspector分析计算,取密钥最低字节相关性排名前10的结果,其候选字节、相关值、相关性尖峰位置如下:0,candidate=0x2F,correlationvalue:0.0162,atposition:391221,candidate=0xDE,correlationvalue:0.0159,atposition:464762,candidate=0x5E,correlationvalue:0.0158,atposition:391223,candidate=0x6F,correlationvalue:0.0156,atposition:464764,candidate=0xEF,correlationvalue:0.0152,atposition:464765,candidate=0xAF,correlationvalue:0.0151,atposition:391226,candidate=0x3A,correlationvalue:-0.0147,atposition:1933187,candidate=0x9D,correlationvalue:-0.0147,atposition:1933188,candidate=0x49,correlationvalue:-0.0147,atposition:602109,candidate=0x8F,correlationvalue:0.0146,atposition:22318从计算结果可以看出,相关性计算推测的最近似密钥最低字节2F未命中正确的密钥7E,在rdA这步不存在信息泄露,说明在这步计算中使用的变换公式技术可以有效防护电磁辐射分析攻击。4.3.2解密运算测试解密运算采集环境的配置如下:(1)示波器采样率100Mbit/s;(2)示波器采样点2×106bit;(3)采集的总样本数为10万;(4)固定私钥,配置为:K=0x7EDACB54992448D3693018A01A096D4447DB3254C93FC6A021C10DDAF56AC9E6。算法专用芯片在进行签名运算时,采集的电磁辐射信号经过Inspector分析工具滤波后如图16所示。图16SM2解密算法运行时的电磁辐射曲线进行中间值相关性攻击测试,在SM2解密算法中,利用结果的中间值汉明重量和采集的电磁辐射曲线做相关性计算,以8bit为单位进行相关性测试,得出的测试结果如图17所示,相关性测试结果曲线的横坐标代表时间轴,纵坐标代表计算出的相关性的大小。图17SM2解密算法中间值与电磁辐射曲线相关性经过Inspector分析计算,取密钥最低字节相关性排名前10的结果,其候选字节、相关值、相关性尖峰位置如下:0,candidate=0xDE,correlationvalue:0.0234,atposit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论