新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用FPGA加密芯片的抗DPA攻击电路设计

利用FPGA加密芯片的抗DPA攻击电路设计

作者:时间:2010-12-10来源:网络收藏

0 引言

本文引用地址:http://www.eepw.com.cn/article/151255.htm


近年来,现场可编程门阵列(Field Programmable Gate Array,)由于其高性能、低价格、高开发速度、方便的编程方式等特点得到了广泛的应用。但对进行(Differential Power Analysis,差分功耗分析)已经成为应用中信息安全的主要威胁之一,受到了广泛的关注。
是SCA(Side Channel Attacks,旁路)技术的一种,其思想为:以电路的功耗特性为基础,功耗与内部密钥的关系,将大量采样到的包含该内部密钥运算的功耗波形数据根据所猜测的密钥进行划分,使得所划分的两部分具有不同的功耗特性。最后,对两部分的功耗数据相减得到功耗差分曲线,如果猜测正确,差分曲线将出现明显的尖峰。


本文将应用FPGA的自身结构特点,结合目前常用的抗攻击的电路级防护技术,深入研究与分析在FPGA平台上实现针对DPA攻击的电路级防护技术。

1 FPGA上的电路防护技术


1.1 FPGA的底层结构

FPGA的简化结构如图1所示。FPGA内部最主要的、设计工程中最需关注的部件是CLB(Configurable Logic Block,可配置逻辑块),IOB(Input/Output Block,输入/输出块),Block RAM(块RAM)、DCM(Digital Clock Manager,数字时钟管理器)和Multiplier(乘法器)。其中CLB是FPGA具有可编程能力的主要承担者,Virtex-5的一个slice的主要组成单元包括4个6输入查找表、4个触发器和若干个选择器。


1.2 双轨电路技术的实现


双轨电路技术是指无论是输入还是输出都是用两根线来表示的。由图2可见,在SDDL与门中,信号A就由A和共同表示,而输出Z也由Z和表示。在这种表示下,一个变量可以有4种不同的逻辑值(0,0),(0,1),(1,0)以及(1,1)。SDDL将(0,1)和(1,0)分别用来表示逻辑0和逻辑1。这样电路内部的逻辑0和逻辑1就变成了对称的,从而使得各自的功耗相同。另外,逻辑门还引入了一个prch预充电信号。在prch有效的情况下,输出是(O,0),这个值也就是变量为预充电时在电路中的表示方式。电路的工作分为两个状态:运算状态和预充电状态。这两个状态交替更换,也就是在prch上加载一个固定周期的脉冲。如此一来,电路中变量值的变化就是(0,O)到(O,1)或(1,O),或者是(0,1)或(1,0)到(O,0),每次翻转都是只有一根信号线进行翻转。逻辑O和逻辑1达到了完全的平衡。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭