[发明专利]一种抗密钥加载模板攻击的防护方法有效
申请号: | 201410427432.0 | 申请日: | 2014-08-27 |
公开(公告)号: | CN104410491A | 公开(公告)日: | 2015-03-11 |
发明(设计)人: | 陈波涛;王喆;王飞宇;王赟 | 申请(专利权)人: | 北京中电华大电子设计有限责任公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100102 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 密钥 加载 模板 攻击 防护 方法 | ||
技术领域
本发明提出涉及一种抗密钥加载模板攻击的防护方法,适用于安全芯片设计领域。
背景技术
自从Paul Kocher开创性地提出功耗攻击以来,侧信道攻击作为一种实用的攻击方法,对相当多的密码设备表现出了极高的攻击效率。许多侧信道攻击方法被相继提出,包括简单功耗攻击(SPA)、简单电磁攻击(EMA)等。功耗和电磁信息中泄露的密钥信息相对于噪声比较微弱,这时可以利用DPA在内的统计技术实施攻击,于是出现了差分功耗攻击(DPA)、差分电磁攻击(DEMA)等。DPA的统计分析依赖于对同一密钥、不同操作数据的大量功耗曲线样本进行。然而诸多研究表明,由于DPA等侧信道攻击方法没有充分利用每个样本里面所包含的全部有用信息,从而需要采集大量样本。如果攻击者只需要采集较少的功耗曲线样本就能展开有效攻击,必然能提高攻击效率,模板攻击正是这样一种侧信道攻击方法。
模板攻击方法最早由Rohatgi等人在2002年的密码硬件与嵌入式系统国际会议(Cryptographic Hardware and Embedded Systems.CHES2002)上提出。模板攻击的关键是攻击者能够利用与被攻击密码设备相同的实验设备进行编程和实验,从而构建出相关侧信道信号的模板信息,如果定义在功耗上即是特定操作和特定密钥的在特定时间点的均值功耗以及精确的多元噪声模型。完成模板构建后,攻击者利用构建的模板用假设检验和最大似然估计等方法对实际的功耗曲线进行匹配,匹配度最高的即是正确的密钥。从信息论的角度,模板攻击是曲线样本数量有限情况下最强有力的攻击方式。
在模板攻击技术成熟之前,主流的侧信道攻击主要是SPA/DPA/CPA,这些攻击主要针对密钥运算过程展开。针对这些攻击采用的常用的防护手段如掩码等,只解决密码运算过程中的侧信道安全,并没有解决密码运算之外的密钥加载过程安全。模板攻击技术不单单能够针对密码运算过程,包括对密码运算之前的密钥加载也能进行攻击。智能卡等安全芯片的密钥加载是指CPU从存储器中将密钥读取到芯片内部的安全算法模块或安全算法协处理器的密钥寄存器中,然后可以启动安全算法运算。针对这个密钥加载过程的模板攻击就是利用了不同密钥数据从存储器读出或写入到安全算法内部寄存器的功耗差异构建模板,然后利用此模板对实际芯片密钥加载过程的功耗曲线进行匹配,有可能直接获取实际芯片的密钥信息,或获取密钥的汉明重量信息,以降低穷尽搜索难度从而获取密钥。
发明内容
在智能卡等安全芯片内部的安全算法模块中,密钥的位数往往超过CPU的数据位宽,因此从存储器往安全算法协处理器加载密钥通常需要多次加载。例如,如果某安全算法协处理器的密钥是1024位,而该CPU的数据位宽是32位,则该CPU需要执行32次数据搬运操作才能将密钥完整地加载到密钥算法模块的寄存器中。攻击者进行模板构建时,必须要清楚地知道当前是加载的哪一段密钥,利用实际功耗曲线进行模板匹配时,也必须用对应功耗曲线与对应模板进行匹配。如果在密钥加载时破坏密钥加载的固定顺序,攻击者在构建模板时就无法知晓当前是在构建哪段密钥加载的模板,利用实际功耗曲线进行匹配时,也无从知晓当前采用的密钥加载功耗曲线应该与哪个已构建模板在进行匹配。在这种条件下,必然大大增加匹配出正确的密钥的难度。
本发明公开的一种抵抗对密钥加载进行模板攻击的防护方法,当芯片从存储器或其它寄存器往密码算法模块或密码算法协处理器加载密钥时,将需要加载的密钥分为N段,芯片分M次将密钥取出按照随机的顺序写入到密码算法模块或密码算法协处理器中,M≥N。当M=N时,芯片每次按照随机的顺序加载密钥的一个段;当M>N时,芯片随机加载N段密钥的过程中,随机从存储器中读出M-N个无效段,加载到芯片内部的不影响运算结果的其他非密钥寄存器中。
打乱分段密钥加载顺序可以但不限于采用从芯片内部获取随机数,根据随机数的值决定当前加载顺序。
对密钥分段加载可以但不限于将密钥按照CPU位宽进行分段,例如32位CPU可以将128位密钥分为4段进行加载。也可以将128位密钥分为更多的子段进行加载,例如分8段,每段16位。划分的段数越多,模板的构建和匹配就越困难,安全性越高。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中电华大电子设计有限责任公司,未经北京中电华大电子设计有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410427432.0/2.html,转载请声明来源钻瓜专利网。