没有合适的资源?快使用搜索试试~ 我知道了~
基于动态补偿的椭圆曲线密码低成本抗功耗攻击策略及硬件结构研究.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 56 浏览量
2023-02-23
20:04:43
上传
评论
收藏 857KB DOCX 举报
温馨提示
试读
15页
基于动态补偿的椭圆曲线密码低成本抗功耗攻击策略及硬件结构研究.docx
资源推荐
资源详情
资源评论
1. 引言
在公钥密码体制中,由 Koblitz 和 Miller 提出的椭圆曲线密码(Elliptic Curve
Cryptography, ECC)在安全性、处理速度、硬件实现代价等方面的优势,使其逐渐取代 RSA
密码算法成为下一代公钥密码标准,具有广泛的应用前景。同时,随着密码应用的不断发
展,密码算法在各种硬件平台上具备不同的实现形式,密码算法运算时旁路信息电气特征
往往会泄露密码运算中的秘密信息
[1]
,因此对于 ECC 芯片而言,除了传统密码分析安全性
外,侧信道安全性同样至关重要。侧信道攻击一般分为时间攻击、能量攻击和电磁攻击
等,其中能量攻击中的相关功耗分析(Correlation Power Analysis, CPA)通过中间数据与功耗
之间的相关性差异来获取密钥信息,具有攻击成本小、成功率高的特点,是硬件电路安全
防护的重点研究对象。
目前针对硬件电路的安全防护可分为电路级、行为级和系统级。电路级的防护策略包
括安全倍速寄存器(Secure Double Rate Registers, SDRRs)
[2]
、感应调压器(Inductive Voltage
Regulators, IVRs)
[3]
、低压降稳压器(Low-DropOut Regulator, LDO)
[4]
等,由于其涉及到元器
件级或门级改进,对于 ECC 这类复杂电路来说难度高,同时其防护代价较大,如 SDRR
提供了功耗的随机化,但它的功耗和面积开销成倍增加,频率降低 1 倍。ECC 电路的行为
级防护策略发展较为成熟,在文献[5]中,Coron 提出了椭圆曲线密码防御侧信道攻击的 3
个策略:随机化基点、随机化私钥、随机化射影坐标,此后大量研究人员在高速或小面积
的 ECC 电路上进行了应用
[6-8]
,带来了额外的计算时间和较大的硬件资源开销,并会在电
路中引入额外的随机源,成本较高。此外,可重构体系结构的调度也用于抗侧信道分析
[9,10]
,这些方法在芯片级的防护中有较好的效果,但其电路设计复杂、对灵活性要求高,存
在吞吐量损失或较大的面积开销。而一般的功耗隐藏通过随机产生冗余功耗或平滑各时间
点功耗进行,这样的策略存在着引入额外随机源或功耗代价过大的问题。
针对上述分析,本文通过深入研究 ECC 点乘的中间数据汉明距离的数据特点,提取
出其概率分布特征;然后,将降低功耗中的密钥信息量问题转换成为减少猜测正确与错误
密钥对应的中间数据汉明距离概率分布差异性问题,以概率分布函数差异为对象构建了等
概率映射的功耗补偿模型,并通过模拟退火算法求得模型的最优矩阵解;最终,以该模型
为指导,结合模运算基本电路结构,采用离线的方式进行配置矩阵计算,大大减少了硬件
资源开销,完成了低成本的防护硬件电路设计。ECC 运算复杂,不同 ECC 算法下的硬件
设计方案不尽相同
[6-8,11]
,本文提出的功耗补偿策略依赖于统计提取的中间数据特征,可变
化的模型参数与可替换的动态补偿电路设计支持不同硬件结构 ECC 电路。
本文结构安排如下:第 2 节对 ECC 运算及其泄露模型进行了分析;第 3 节基于中间
数据的概率分布特征提出了等概率映射的功耗补偿模型与基于模拟退火的映射矩阵求解算
法;在该模型的基础之上,第 4 节介绍了功耗补偿的硬件电路设计方案;第 5 节进行了实
验验证及分析,第 6 节总结了全文工作。
2. ECC 运算及泄露分析
2.1 ECC 概述
椭圆曲线密码运算包含多个层次,分别为群运算层、曲线层和有限域层。群运算层主
要包括点乘(Point Multiplication, PM),是 ECC 中私钥参与计算的核心运算,通过其运算产
生的功耗可以直接或间接推测出密钥信息;曲线层主要是点加(Point Add, PA)和倍点(Point
Double, PD)运算,在不同坐标系下以不同的算法通过调用底层的模运算来实现;模运算
(Modular Arithmetic, MA)位于有限域层,包括模加、模减、模乘、模逆等基本操作。
ECC 点乘运算相对复杂,硬件电路实现中需要分级调用各层次的运算,计算过程中的
各级数据变化如图 1 所示,点乘(PM)多次调用点加与倍点(PA&PD)运算,点加与倍点运算
多次调用模运算(MA),模运算需要多个时钟周期(Clock Period, CP)实现,在每一种运算的
计算过程中,硬件电路中的寄存器数据在不断翻转变化。每一比特私钥 ka,kb,⋯,kzka,kb,
⋯,kz 在相应迭代轮的曲线层运算决定运算操作,因此在 ECC 硬件电路中存在中间数据与私
钥的操作相关性与数据相关性。目前,存在着多种防护策略可较好地消除操作相关性,有
效防止简单功耗分析,如 Double-and-Always 点乘算法、点加与倍点并行等,在此安全防
护框架之下,本文针对数据相关性进行研究。基点 P 作为输入,在每比特密钥的控制下进
行不同的曲线层运算,最终得到点乘结果[k]P。每一次迭代输出的数据与密钥相关,这些
与密钥相关的数据会在下一次迭代中进入曲线层、有限域层运算,在点乘运算每一个时钟
周期的中间数据寄存器翻转都存在着不同程度的功耗泄露。
图 1 椭圆曲线密码各层次运算
下载: 全尺寸图片 幻灯片
2.2 功耗泄露模型
依据汉明距离模型,功耗 Power∝HW(statePower∝HW(state⊕state′)⊕state′), state
和 state′state′为寄存器翻转的前后两个状态,则数据分析的对象应为模运算中的每个时钟
周期寄存器的翻转情况,以及曲线层和群运算层的中间数据。对于模运算而言,首先,由
于模加减运算相比于模乘除运算硬件电路规模小,电路中的功耗主要取决于模乘除;其
次,模乘除运算的实现算法较多,主要包括基于加法器和基于乘法器的硬件实现方式,不
同算法的中间数据特征不同;再者,有限域运算相对复杂,进行汉明距离与统计学计算的
公式推导难度大。因此,采用统计方法,通过大量随机数据的计算,得到模乘、模逆计算
数据的概率分布,对于不同参数、不同硬件结构的 ECC 电路,概率分布的特征不同。下面
以基于加法器结构的模乘电路为例,进行数据的统计学特征分析,模乘算法如表 1 所示。
表 1 Radix-4 交错模乘算法
输入:
A
,
B
,
P
, 位宽
m
输出:V=A⋅B\boldsymbolodPV=A⋅B\boldsymbolodP
(1) V=b0⋅AV=b0⋅A, U=2A\boldsymbolodPU=2A\boldsymbolodP, A=4A\boldsym
bolodPA=4A\boldsymbolodP, B=B/2B=B/2;
(2) For
i
from 0 to ⌈m/2⌉−1⌈m/2⌉−1
V=(V+b0⋅U+b1⋅A)\boldsymbolodPV=(V+b0⋅U+b1⋅A)\boldsymbolodP, U=2A\boldsym
bolodPU=2A\boldsymbolodP,
A=4A\boldsymbolodPA=4A\boldsymbolodP, B=B/4B=B/4;
(3) Return
V
下载: 导出 CSV
| 显示表格
模乘电路主要由 2AmodP, 4AmodP, V+b0⋅U+b1⋅A\boldsymbolodPV+b0⋅U+b1⋅
A\boldsymbolodP 3 个部分构成,m 位的模乘由⌈m/2⌉⌈m/2⌉次迭代实现。取 10000 个随机变
化的 32 bit 数据组 A, B,对 32 位模乘运算的 16 轮迭代中间值汉明距离进行概率统计,图
2(a)绘制出了任意 5 轮的离散概率分布,图中相同颜色的曲线代表由正态分布拟合的概率
分布曲线,可以看出汉明距离基本满足正态分布的特性。取 50 个随机的模数 P,重复上述
统计,得到的 16 轮迭代中间值汉明距离的实际离散概率分布与近似正态分布的平均平方误
差如图 2(b)所示,误差小于 6×10−66×10−6,可由正态分布近似描述其统计学特性。
剩余14页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3651
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功