没有合适的资源?快使用搜索试试~ 我知道了~
抗内存攻击的加密芯片双重动态混淆策略.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 3 浏览量
2022-12-15
14:16:44
上传
评论
收藏 155KB DOCX 举报
温馨提示
试读
11页
抗内存攻击的加密芯片双重动态混淆策略.docx
资源推荐
资源详情
资源评论
1. 引言
基于扫描链的可测试性设计技术因其具有可控制性和可观察性的特点,便于对集成电
路进行测试和调试,因此在集成电路测试领域应用广泛.然而,对于应用于硬件加密的加密
芯片来说,扫描链的可控制性和可观察性特点是一把双刃剑.
一方面,采用基于扫描链的可测试性技术可以使测试人员访问加密芯片的内部节点,
提高加密芯片的测试覆盖率;另一方面,攻击人员可以利用扫描链的两个特点,绕开复杂
的加密算法对加密芯片实施扫描旁路攻击,并完成对加密芯片密钥的破解
[1-2]
.因此,寻找一
种可以抵抗扫描旁路攻击的加密芯片安全扫描策略成为加密芯片领域研究的重点.
为提高加密芯片应对扫描旁路攻击威胁的能力,解决当前安全扫描策略应对内存攻击
威胁的不足
[3-7]
.本文以 AES 加密芯片为例,对 AES 加密算法、扫描旁路攻击及内存攻击两
类攻击进行剖析,并基于动态混淆策略设计双重动态混淆架构、构建双重动态混淆策略.
2. AES 加密算法及两类攻击剖析
2.1 AES 加密算法剖析
AES 加密算法是采用分组密码体制、可以加解密 128 位数据的对称加密算法.加解密
过程需要使用相同的加密密钥,密钥长度可为 128 位、192 位或 256 位,对应加密轮次为
10 轮、12 轮或 14 轮.本文以加密密钥长度为 128 位、加密轮次为 10 次为例进行讨论,如
图 1 所示.AES 加密算法以字节为基本处理单位,算法中的明文、密文和轮密钥都以 4*4
字节的状态矩阵表示.
图 1 AES 加密算法工作流程
下载: 全尺寸图片 幻灯片
AES 加密算法运行时,首先将初始密钥通过密钥扩展生成轮密钥.128 位密钥长度的
AES 算法包括 1 个初始轮、9 个重复轮及一个最终轮.明文首先与初始轮密钥进行异或操
作,然后进行 9 个重复轮的轮变换操作及最终轮变换操作,最终生成加密后的密文.其中与
前 9 轮重复轮操作不同,最终轮变换操作不包括列变换操作.轮变换操作包含以下四个步
骤:
(1) 字节代换(Sub Bytes):利用查表操作实现字节的非线性变化;
(2) 行移位(Shift Rows):将状态矩阵中的每一行进行循环式移位操作;
(3) 列混合(Mix Columns):利用固定矩阵对状态矩阵进行线性混淆;
(4) 轮密钥加(Add Round Key):将轮密钥与状态矩阵中的数据进行异或操作.
AES 加密芯片中,每一轮加密所使用的轮密钥会存储在轮寄存器中.因为轮密钥包含
与加密密钥相关的信息,相比于最终的密文具有较低的复杂度,因此是攻击人员实施扫描
旁路攻击的攻击目标.
2.2 扫描旁路攻击剖析
2.2.1 模式切换攻击剖析
模式切换攻击是最早提出的扫描旁路攻击方法,仅需通过切换加密芯片的工作模式即
可完成对加密芯片的攻击.模式切换攻击流程如下:
(1) 明文输入:攻击人员控制加密芯片工作在功能模式并输入选定的明文,执行第一
轮的加密操作后完成此步骤;
(2) 扫描移出:攻击人员将加密芯片切换到测试模式,利用扫描链移位将加密结果移
出;
(3) 数据分析:攻击人员根据输入的选定明文对移出的扫描链数据进行分析,识别出
扫描链中的轮寄存器并完成加密密钥的破解.
实施模式切换攻击需要两个条件:①攻击人员可以自由切换加密芯片工作模式,②攻
击人员可以窃取正确的扫描链数据.因此可以从限制攻击人员切换加密芯片工作模式和限制
攻击人员窃取正确的扫描链数据两个角度应对模式切换攻击.
2.2.2 仅测试模式攻击剖析
模式切换攻击可以完成对加密芯片的破解,但是模式重置对策可以应对模式切换攻击
的威胁,因此仅测试模式攻击方法被提出,该方法只需要在测试模式下即可完成对加密芯
片的攻击,成为目前扫描旁路攻击的主流攻击方法.仅测试模式攻击流程如下:
(1) 扫描输入:攻击人员将选定测试向量串行移入扫描链中作为测试向量;
(2) 响应捕获:攻击人员执行捕获操作并将响应数据捕获到扫描链中;
(3) 扫描移出:攻击人员执行移位操作,将相应的测试响应移出扫描链;
(4) 数据分析:攻击人员对测试图形进行分析,根据 AES 加密算法特征识别出扫描链
中的轮寄存器,并进一步完成加密密钥的破解.
仅测试模式攻击仅需在测试模式下即可实施攻击,可以绕过模式重置对策.但是,实施
该攻击同样需要①攻击人员可以应用选定的测试向量②攻击人员可以窃取到扫描链上正确
的测试响应两个条件.因此,设计人员可以从限制攻击人员应用选定的测试向量及窃取正确
的测试响应两个角度展开研究.
2.3 内存攻击剖析
动态混淆策略和测试授权策略可以提高加密芯片应对扫描旁路攻击威胁的能力,然而
这两种策略需要将 LFSR 种子或测试密钥存储在内存中.攻击人员可以通过内存攻击窃取到
LFSR 种子或测试密钥,并利用窃取到的数据完成扫描链数据恢复工作或模式切换操作,
以继续执行扫描旁路攻击.
利用内存攻击破解加密芯片需要满足如下条件:攻击人员窃取的 LFSR 种子或测试密
钥可以直接用来进行扫描链数据恢复等工作,即加密芯片工作过程中不会对种子或测试密
钥进行二次处理.因此可以从此角度出发应对内存攻击威胁.
剩余10页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3691
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功