Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DOUBLE-LAYER COMPOUND REGISTER SYSTEM AND METHOD FOR RESISTING ENERGY ANALYSIS ATTACKS
Document Type and Number:
WIPO Patent Application WO/2015/066987
Kind Code:
A1
Abstract:
Disclosed are a double-layer compound register system and a method for resisting energy analysis attacks. A control unit controls a working register and a compensation register of which the values are complementary to operate in the former half circle of a clock circle, so that an output register and an output compensation register are reset, and controls the output register and the output compensation register of which the values are complementary to operate in the latter half cycle, so that the working register and the compensation register are reset. In this way, a Hamming distance value and a Hamming weight value when the system operates are constant, the cycle in which a group of data is output is compressed as one clock cycle while satisfying the condition for the system to resist energy analysis attacks, thereby improving the throughput rate of the entire chip hardware device. Moreover, an element used by the double-layer compound register system in the solution meets the requirements of a standard circuit element library, and can be normally engaged with a circuit of a chip hardware device, thereby having good compatibility.

Inventors:
GAO NENG (CN)
TU CHENYANG (CN)
MA YUAN (CN)
LIU ZONGBIN (CN)
JING JIWU (CN)
Application Number:
PCT/CN2014/072230
Publication Date:
May 14, 2015
Filing Date:
February 19, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INST OF INFORMATION ENGINEERING CHINESE ACADEMY OF SCIENCES (CN)
International Classes:
G06F21/71
Foreign References:
CN102394606A2012-03-28
CN101187963A2008-05-28
CN101834720A2010-09-15
Other References:
See also references of EP 3067820A4
None
Attorney, Agent or Firm:
DEQI INTELLECTUAL PROPERTY LAW CORPORATION (CN)
北京德琦知识产权代理有限公司 (CN)
Download PDF:
Claims:
权利要求书

1、 一种双层复合寄存器系统, 其特征在于, 包括控制单元、 工作寄 存器、 补偿寄存器、 输出寄存器和输出补偿寄存器;

所述控制单元用于接收外部复位信号和时钟信号, 并当外部复位信 号有效时使工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器处 于复位状态; 当外部复位信号无效时, 在每个时钟信号的前半周期, 所 述控制单元用于使工作寄存器和补偿寄存器进入工作状态, 输出寄存器 和输出补偿寄存器进入复位状态; 当外部复位信号无效时, 在每个时钟 信号的后半周期, 所述控制单元用于使输出寄存器和输出补偿寄存器进 入工作状态, 工作寄存器和补偿寄存器进入复位状态;

处于工作状态时, 所述工作寄存器的值与补偿寄存器的值互补, 所 述输出寄存器的值与输出补偿寄存器的值互补。

2、根据权利要求 1所述的系统, 其特征在于, 所述控制单元包括外 部时钟信号输入端 CLK、 外部复位信号输入端 RST、 低电平端 LL、 第 一时钟信号输出端 Workl、 第二时钟信号输出端 Work2、 第一复位信号 输出端 PreCl和第二复位信号输出端 PreC2, 以及或非门、 第一、 第二、 第三、 第四和第五或门;

其中, 外部时钟信号输入端 CLK与低电平端 LL分别连接或非门的 输入端和第一或门 OR1的输入端;所述或非门输出端与外部复位信号输 入端 RST连接第二或门 OR2的输入端; 所述或非门输出端与低电平端 LL连接第三或门 OR3的输入端; 所述外部复位信号输入端 RST与第一 或门 OR1的输出端连接第四或门 OR4的输入端; 所述第一或门 OR1的 输出端与低电平端 LL连接第五或门 OR5的输入端;

第二或门 OR2输出端与第一复位信号输出端 PreCl连接;第三或门 OR3输出端与第二时钟信号输出端 Work2; 第四或门 OR4输出端与第 二复位信号输出端 PreC2连接;第五或门 OR5输出端与第一时钟信号输 出端 Workl。

3、根据权利要求 2所述的系统, 其特征在于, 还包括数据输入接口 Din和数据输出接口 Dout; 所述数据输入接口 Din通过第一延迟门 D1 与所述工作寄存器的输入端 Dinl连接; 所述数据输入接口 Din通过第 一非门 NOT1与所述补偿寄存器的输入端 Din2连接; 所述工作寄存器 的输出端 Doutl与输出寄存器的输入端 Din3连接; 所述补偿寄存器的 输出端 Dout2与输出补偿寄存器的输入端 Din4连接; 所述输出寄存器 的输出端 Dout3与所述数据输出接口 Dout连接。

4、根据权利要求 2所述的系统, 其特征在于, 还包括数据输入接口 Din和数据输出接口 Dout; 所述数据输入接口 Din通过第一延迟门 D1 与所述工作寄存器的输入端 Dinl连接; 所述数据输入接口 Din通过第 一非门 NOT1与所述补偿寄存器的输入端 Din2连接; 所述工作寄存器 的输出端 Doutl与输出寄存器的输入端 Din3连接; 所述补偿寄存器的 输出端 Dout2与输出补偿寄存器的输入端 Din4连接; 所述输出寄存器 的输出端 Dout3通过第二延迟门 D2后连接第六或门 OR6输入端; 所述 输出补偿寄存器的输出端 Dout4通过第二非门 NOT2后连接第六或门 OR6输入端; 第六或门 OR6输出端与所述数据输出接口 Dout连接。

5、根据权利要求 3或 4所述的系统, 其特征在于, 所述第一延迟门

D1与第一非门 NOT1的延时相同;所述第二延迟门 D2与第二非门 NOT2 延时相同; 所述或非门与第一或门 OR1的延时相同。

6、根据权利要求 1至 4任一项所述的系统, 其特征在于, 所述工作 寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器均为双沿触发寄存 器。 7、一种基于权利要求 1-6任一项所述系统的抵抗能量分析攻击的方 法, 其特征在于, 包括:

当外部复位信号有效时, 控制单元向工作寄存器、 补偿寄存器、 输 出寄存器和输出补偿寄存器发送有效的复位信号;

当外部复位信号无效时, 在每个时钟信号的前半周期, 控制单元向 工作寄存器和补偿寄存器发送时钟信号和无效的复位信号, 向输出寄存 器和输出补偿寄存器发送有效的复位信号;

当外部复位信号无效时, 在每个时钟信号的后半周期, 所述控制单 元向输出寄存器和输出补偿寄存器发送无效的复位信号和时钟信号, 向 工作寄存器和补偿寄存器发送有效的复位信号;

其中, 处于工作状态时, 所述工作寄存器的值与补偿寄存器的值互 补, 所述输出寄存器的值与输出补偿寄存器的值互补。

Description:
一种双层复合寄存器系统及抵抗能量分析攻击 的方法 相关文件

本申请要求于 2013 年 11 月 6 日提交中国专利局、 申请号为 201310547995.9、发明名称为"一种双层复合寄存器 系统及抵抗能量分析 攻击的方法"的中国专利申请的优先权,其全 内容通过引用结合在本申 请中。 技术领域

本发明实施例涉及计算机安全领域, 特别涉及一种双层复合寄存器 系统及抵抗能量分析攻击的方法。 发明背景

当前, 随着科技的进步, 各种各样的芯片硬件设备以其体积小、 计 算速度快、 外形多样、 可以应用于多种电子商务场景和使用寿命长等 特 点, 得到了广泛应用, 拥有广阔的市场前景。

伴随着芯片硬件设备的广泛应用, 其侧信道安全问题也逐渐暴露出 来, 通过芯片能量消耗的分析, 可以探知芯片所处理的信息, 从而导致 信息泄漏事故。而在芯片硬件设备中,寄存器 的能量消耗变化比较明显。

在信息论中, 两个等长字符串之间的汉明距离(HD )是两个字符串 对应位置的字符不同的个数, 即一个字符串变换成另外一个字符串所需 要替换的字符个数; 汉明重量(HW )是字符串相对于同样长度的零字 符串的汉明距离, 即字符串中非零的元素个数。 对于芯片硬件设备中所 使用的标准寄存器而言,一个时钟周期的 HW值表示该寄存器在该时钟 周期所存储的比特串中 1的个数; 相邻两个时钟周期的 HD值表示该寄 存器在这两个时钟周期所存储的两个比特串对 应位置的比特值(0或 1 ) 不同的个数。 根据能量分析理论, 在工作状态下, 如果标准寄存器的

HW和 HD值不是恒定的, 则该寄存器的能量消耗也会产生变化, 可以 通过能量分析攻击技术恢复出标准寄存器乃至 芯片硬件设备中存储的 信息。

因此, 需要对芯片硬件设备中的寄存器进行特定的保 护, 使其具备 抵抗能量分析攻击的能力, 具体实现方式如下。

在芯片硬件设备上均使用特定的抵抗能量分析 攻击寄存器, 比如用 双栅预充电结构 (DPL ) 实现的寄存器, 这种寄存器由 4个与标准寄存 器位数相同的子寄存器构成, 当一个时钟周期开始、 数据输入到该寄存 器中时, 输入数据存储到第一个子寄存器, 输入数据取反后输入到第二 个子寄存器; 当下一个时钟周期开始时, 第一个子寄存器中存储的数据 输入到第三个子寄存器, 第二个子寄存器中存储的数据输入到第四个子 寄存器,并且同时将前两个子寄存器存储的数 据置零。如图 7所示, DPL 结构寄存器被赋值为序列" 1,0,0,1,1"时,需要 2个时钟周期才能输出序列 中的 1个值, 即 5个序列值需要 10个时钟周期才能全部输出。 上述方 式虽然可以在一定程度上防止寄存器中存储的 信息通过能量分析方式 泄漏, 但是这种结构的寄存器导致寄存器乃至整个芯 片硬件设备的吞吐 率降为原来的一半。 发明内容

有鉴于此, 本发明的主要目的在于提供一种不降低芯片硬 件设备吞 吐率, 并且保持抵抗能量分析攻击能力的双层复合寄 存器系统, 该寄存 器系统可以方便快捷地替代原有的标准寄存器 , 且能够提高寄存器乃至 芯片硬件设备的安全性。 本发明的另一目的在于提供一种不降低芯片硬 件设备吞吐率, 并且 保持氏抗能量分析攻击能力的方法。

为实现上述目的, 本发明提供了一种双层复合寄存器系统, 包括控 制单元、 工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器; 所述控制单元用于接收外部复位信号和时钟信 号, 并当外部复位信 号有效时使工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器处 于复位状态; 当外部复位信号无效时, 在每个时钟信号的前半周期, 所 述控制单元用于使工作寄存器和补偿寄存器进 入工作状态, 输出寄存器 和输出补偿寄存器进入复位状态; 当外部复位信号无效时, 在每个时钟 信号的后半周期, 所述控制单元用于使输出寄存器和输出补偿寄 存器进 入工作状态, 工作寄存器和补偿寄存器进入复位状态;

处于工作状态时, 所述工作寄存器的值与补偿寄存器的值互补, 所 述输出寄存器的值与输出补偿寄存器的值互补 。

进一步, 所述控制单元包括外部时钟信号输入端 CLK、 外部复位信 号输入端 RST、 低电平端 LL、 第一时钟信号输出端 Workl、 第二时钟 信号输出端 Work2、 第一复位信号输出端 PreCl和第二复位信号输出端 PreC2, 以及或非门、 第一、 第二、 第三、 第四和第五或门;

其中, 外部时钟信号输入端 CLK与低电平端 LL分别连接或非门的 输入端和第一或门 OR1的输入端;所述或非门输出端与外部复位信 号输 入端 RST连接第二或门 OR2的输入端; 所述或非门输出端与低电平端 LL连接第三或门 OR3的输入端; 所述外部复位信号输入端 RST与第一 或门 OR1的输出端连接第四或门 OR4的输入端; 所述第一或门 OR1的 输出端与低电平端 LL连接第五或门 OR5的输入端;

第二或门 OR2输出端与第一复位信号输出端 PreCl连接;第三或门 OR3输出端与第二时钟信号输出端 Work2; 第四或门 OR4输出端与第 二复位信号输出端 PreC2连接;第五或门 OR5输出端与第一时钟信号输 出端 Workl。

进一步, 还包括数据输入接口 Din和数据输出接口 Dout; 所述数据 输入接口 Din通过第一延迟门 D1与所述工作寄存器的输入端 Dinl连 接; 所述数据输入接口 Din通过第一非门 N0T1与所述补偿寄存器的输 入端 Din2连接; 所述工作寄存器的输出端 Doutl与输出寄存器的输入 端 Din3连接; 所述补偿寄存器的输出端 Dout2与输出补偿寄存器的输 入端 Din4连接; 所述输出寄存器的输出端 Dout3与所述数据输出接口 Dout连接。

进一步, 还包括数据输入接口 Din和数据输出接口 Dout; 所述数据 输入接口 Din通过第一延迟门 D1与所述工作寄存器的输入端 Dinl连 接; 所述数据输入接口 Din通过第一非门 N0T1与所述补偿寄存器的输 入端 Din2连接; 所述工作寄存器的输出端 Doutl与输出寄存器的输入 端 Din3连接; 所述补偿寄存器的输出端 Dout2与输出补偿寄存器的输 入端 Din4连接;所述输出寄存器的输出端 Dout3通过第二延迟门 D2后 连接第六或门 0R6输入端;所述输出补偿寄存器的输出端 Dout4通过第 二非门 N0T2后连接第六或门 0R6输入端; 第六或门 0R6输出端与所 述数据输出接口 Dout连接。

进一步, 所述第一延迟门 D1与第一非门 N0T1的延时相同; 所述 第二延迟门 D2与第二非门 N0T2延时相同;所述或非门与第一或门 0R1 的延时相同。

进一步, 所述工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄 存器均为双沿触发寄存器。

本发明还提供了一种基于上述系统的抵抗能量 分析攻击的方法, 包 括: 当外部复位信号有效时, 控制单元向工作寄存器、 补偿寄存器、 输 出寄存器和输出补偿寄存器发送有效的复位信 号;

当外部复位信号无效时, 在每个时钟信号的前半周期, 控制单元向 工作寄存器和补偿寄存器发送时钟信号和无效 的复位信号, 向输出寄存 器和输出补偿寄存器发送有效的复位信号;

当外部复位信号无效时, 在每个时钟信号的后半周期, 所述控制单 元向输出寄存器和输出补偿寄存器发送无效的 复位信号和时钟信号, 向 工作寄存器和补偿寄存器发送有效的复位信号 ;

其中, 处于工作状态时, 所述工作寄存器的值与补偿寄存器的值互 补, 所述输出寄存器的值与输出补偿寄存器的值互 补。

采用本发明提供的双层复合寄存器系统及抵抗 能量分析攻击的方 法, 通过控制单元在一个时钟周期内的前半个周期 中, 控制取值互补的 工作寄存器和补偿寄存器工作, 输出寄存器和输出补偿寄存器复位, 在 后半个周期中控制取值互补的输出寄存器和输 出补偿寄存器工作, 工作 寄存器和补偿寄存器复位, 由此使系统工作时的汉明距离值以及汉明重 量值恒定, 在满足系统抵抗能量分析攻击的同时, 把输出一组数据的周 期压缩为一个时钟周期, 从而提高整个芯片硬件设备的吞吐率; 而且, 本发明所述方案中的双层复合寄存器系统所使 用的元件符合标准的电 路元件库要求, 可以正常地与芯片硬件设备电路接合, 具有很好的兼容 性。 附图简要说明

图 1为本发明双层复合寄存器系统一种实施例的 成结构示意图; 图 2为图 1所示实施例中双层复合寄存器系统的控制单 结构图; 图 3为图 1所示实施例中控制单元各管脚时序示意图; 图 4为图 1所示实施例中工作寄存器在 5个连续时钟周期 1~5的 HW 值和 HD值的变化示意图;

图 5为图 1所示实施例中双层复合寄存器系统的工作寄 器和输出 寄存器的时序示意图;

图 6为图 1所示实施例中双层复合寄存器系统的各寄存 的时序示 意图;

图 7为 DPL结构的寄存器时序示意图;

图 8 为本发明双层复合寄存器系统另一种实施例的 组成结构示意 图。 实施本发明的方式

为了使本发明的目的、 技术方案及优点更加清楚明白, 以下参照附 图并举实施例, 对本发明作进一步详细说明。

本发明提供了一种双层复合寄存器系统, 包括控制单元、 工作寄存 器、 补偿寄存器、 输出寄存器和输出补偿寄存器;

控制单元用于接收外部复位信号和时钟信号, 并当外部复位信号有 效时使工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器处于复 位状态; 当外部复位信号无效时, 在每个时钟信号的前半周期, 控制单 元用于使工作寄存器和补偿寄存器进入工作状 态, 输出寄存器和输出补 偿寄存器进入复位状态; 当外部复位信号无效时, 在每个时钟信号的后 半周期, 所述控制单元用于使输出寄存器和输出补偿寄 存器进入工作状 态, 工作寄存器和补偿寄存器进入复位状态;

处于工作状态时, 工作寄存器的值与补偿寄存器的值互补, 输出寄 存器的值与输出补偿寄存器的值互补。

作为本发明的一种典型实施例之一, 如图 1和图 2所示, 双层复合 寄存器系统的控制单元包括外部时钟信号输入 端 CLK、外部复位信号输 入端 RST、 低电平端 LL、 第一时钟信号输出端 Workl、 第二时钟信号 输出端 Work2、 第一复位信号输出端 PreCl 和第二复位信号输出端 PreC2, 以及或非门、 第一、 第二、 第三、 第四和第五或门;

其中, 外部时钟信号输入端 CLK与低电平端 LL分别连接或非门的 输入端和第一或门 OR1的输入端;或非门输出端与外部复位信号输 入端 RST连接第二或门 OR2的输入端;或非门输出端与低电平端 LL连接第 三或门 OR3的输入端; 外部复位信号输入端 RST与第一或门 OR1的输 出端连接第四或门 OR4的输入端; 第一或门 OR1的输出端与低电平端 LL连接第五或门 OR5的输入端;

第二或门 OR2输出端与第一复位信号输出端 PreCl连接;第三或门 OR3输出端与第二时钟信号输出端 Work2; 第四或门 OR4输出端与第 二复位信号输出端 PreC2连接;第五或门 OR5输出端与第一时钟信号输 出端 Workl。

双层复合寄存器系统包括数据输入接口 Din和数据输出接口 Dout; 数据输入接口 Din通过第一延迟门 D1与工作寄存器的输入端 Dinl连 接;数据输入接口 Din通过第一非门 NOT1与补偿寄存器的输入端 Din2 连接; 工作寄存器的输出端 Doutl与输出寄存器的输入端 Din3连接; 补偿寄存器的输出端 Dout2与输出补偿寄存器的输入端 Din4连接; 输 出寄存器的输出端 Dout3与数据输出接口 Dout连接。

其中, 为了保证信号的同步,优选第一延迟门 D1与第一非门 NOT1 的延时相同, 或非门与第一或门 OR1的延时相同。

以下以位宽为 1比特的寄存器为例, 假定复位信号高电平有效, 所 有寄存器为双沿触发寄存器, 且在初始状态下均置零, 结合附图 3至图 6, 对本发明上述实施例中双层复合寄存器系统的 工作过程进行进一步 地详细说明。

图 3为控制单元产生的 5个时钟周期中各管脚时序示意图。 可以看 出:

A、 当第 1个时钟周期时, RST为高电平, 即此时双层复合寄存器 系统处于复位阶段, PreCl和 PreC2均为高电平, 即所有寄存器均处于 复位状态。

B、 当第 2~5个时钟周期时, RST为低电平, 即此时双层复合寄存 器系统处于工作阶段, 而系统中每个标准寄存器所处的状态, 包括:

Bl、 在每个时钟周期上升沿, Workl为上升沿, PreCl为低电平, 工作寄存器和补偿寄存器进入工作状态, PreC2 为高电平, 输出寄存器 和输出补偿寄存器进入复位状态;

B2、 在每个时钟周期下降沿, PreCl 为高电平, 工作寄存器和补偿 寄存器进入复位状态, Work2为上升沿, PreC2为低电平, 输出寄存器 和输出补偿寄存器进入工作状态。

综上所述, 4 个标准寄存器进入的状态符合双层复合寄存器 系统的 CLK管脚和 RST管脚的定义。

由图 3还可以发现,当所述的双层复合寄存器系统 于工作阶段时, PreCl和 PreC2的信号为对应的 Workl和 Work2的信号取反, Work2信 号为 Workl信号延迟半个时钟周期, Workl的信号与所述的双层复合寄 存器系统的 CLK 的信号相同, 因此仅已知所述的双层复合寄存器系统 的 CLK信号就可以计算出双层复合寄存器系统中每 个寄存器所处的状 态。

在信息论中, 两个等长字符串之间的汉明距离(HD )是两个字符串 对应位置的字符不同的个数, 即一个字符串变换成另外一个字符串所需 要替换的字符个数; 汉明重量(HW )是字符串相对于同样长度的零字 符串的汉明距离, 即字符串中非零的元素个数。 对于芯片硬件设备中所 使用的标准寄存器而言,一个时钟周期的 HW值表示该寄存器在该时钟 周期所存储的比特串中 1的个数; 相邻两个时钟周期的 HD值表示该寄 存器在这两个时钟周期所存储的两个比特串对 应位置的比特值(0或 1 ) 不同的个数。 根据能量分析理论, 在工作状态下, 如果标准寄存器的 HW和 HD值不是恒定的, 则该寄存器的能量消耗也会产生变化, 可以 通过能量分析攻击技术恢复出标准寄存器乃至 芯片硬件设备中存储的 信息。

图 4为在芯片硬件设备工作状态下, 工作寄存器 SReg在 5个连续 时钟周期 1~5的 HW值和 HD值的变化, 其中所有寄存器的初始状态均 置零。 如图 4所示, 工作寄存器在周期 1~5被赋值为序列 "1,0,0,1,1"。 通 过观察图 4 中对应的 HW和 HD的值, 可以发现每个时钟周期对应的 HW和 HD值都不是恒定的, 根据能量分析理论, 在工作阶段下, 如果 标准寄存器的 HW和 HD值不是恒定的, 可以通过能量分析攻击技术恢 复出标准寄存器乃至芯片硬件设备中存储的信 息。

图 5~6为按照本发明双层复合寄存器方法实现的双 层复合寄存器系 统时序图。 假设工作寄存器 SReg 在周期 1~5 仍将被赋值为序列 "1,0,0,1,1"。根据图 2的控制单元结构和图 3的时序分析,可以分析出工 作寄存器 SReg在周期 1~5的上升沿将被赋值为序列" 1,0,0,1,1", 而在周 期 1~5的后半周期将被置零; 另外, 由图 1可知补偿寄存器 CReg的值 与工作寄存器 SReg的值互补, 则补偿寄存器 CReg在周期 1~5的上升 沿将被赋值为序列 "0,1,1,0,0", 而在周期 1~5的后半周期将被置零。这个 分析与图 5所示的时序相一致。 由于补偿寄存器 CReg的取值是由工作 寄存器 SReg决定的,所以此时应当考虑工作寄存器和 偿寄存器的 HW 与 HD的总和, 如图 5所示。 其中, 在每个工作状态, HW的总和始终 为 1; 在每个复位阶段, HW的总和始终为 0; 在每次状态变换时, HD 的总和始终为 1。 这样就达到了保持 HW和 HD值恒定的目的, 使双层 复合寄存器系统具有抵抗能量分析攻击的能力 。

由于标准寄存器中存储的数据在每个时钟周期 的上升沿要输出, 而 通过图 5的时序图可以发现, 每个时钟周期的上升沿时, 工作寄存器的 值已经被置零, 故需要有 1个标准寄存器在工作寄存器置零时存储对应 的数据, 即添加输出寄存器 OReg, 而输出寄存器也需要另一个标准寄 存器进行补偿以抵抗能量分析攻击, 故还需要有 1个标准寄存器在补偿 寄存器置零时存储对应的数据, 即添加输出补偿寄存器 OCReg, 对应的 时序图如图 6所示。 其中工作寄存器 SReg的数据在时钟周期下降沿时 存储到输出寄存器 OReg中, 补偿寄存器 CReg的数据在时钟周期下降 沿时存储到输出补偿寄存器 OCReg中, 并且由图 3的时序保证了当工 作寄存器 SReg和补偿寄存器 CReg处于工作状态时输出寄存器和输出补 偿寄存器处于复位阶段, 当工作寄存器和补偿寄存器处于复位状态时输 出寄存器 OReg和输出补偿寄存器 OCReg处于工作状态。而此时补偿寄 存器 CReg、 输出寄存器 OReg和输出补偿寄存器 OCReg的取值均是由 工作寄存器 SReg决定的, 所考虑的 HW和 HD值也应是 4个寄存器的 总和。 如图 6所示, 所述的双层复合寄存器系统中存储的数据每半 个时 钟周期变化一次, 而每半个时钟周期的 HW总和始终为 1 , 对应的每次 阶段变换时 HD总和始终为 2。 这使得所述的双层复合寄存器系统仍获 得抵抗能量分析攻击的能力。

当然,上述仅为以位宽为 1比特的寄存器举例说明,在实际应用中, 多比特寄存器可以视为多个 1比特寄存器组合而成, 本实施例提供的双 层复合寄存器系统仍然有效。

进一步的, 在数字电路中, 逻辑门输出的扇出 (fan-out ) 定义为它 能够反馈或连接的逻辑门输入数。 而在寄存器工作中, 寄存器的扇出对 寄存器的能量消耗影响很大, 因此, 为了更好的防止攻击者对寄存器进 行能量分析攻击, 需要尽量保证寄存器系统中的每对寄存器(工 作寄存 器与补偿寄存器, 输出寄存器与输出补偿寄存器) 的扇出均相同。

为了保证寄存器的扇出尽可能相同, 在上述实施例一的基础上, 我 们提出了实施例二,在实施例二中,双层复合 寄存器系统的每对寄存器, 即工作寄存器和补偿寄存器、 输出寄存器和输出补偿寄存器的扇出均相 同。

如图 8所示, 在本实施例提供的双层复合寄存器系统中, 同样包括 控制单元、 工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器; 其中, 在本实施例中, 控制单元的电路结构与实施例一中的结构相同 , 且控制单元与工作寄存器、 补偿寄存器、 输出寄存器和输出补偿寄存器 的连接相同, 在此不再赘述;

在本实施例中, 数据输入接口 Din通过第一延迟门 D1与工作寄存 器的输入端 Dinl连接; 数据输入接口 Din通过第一非门 NOT1与补偿 寄存器的输入端 Din2连接; 工作寄存器的输出端 Doutl与输出寄存器 的输入端 Din3连接; 补偿寄存器的输出端 Dout2与输出补偿寄存器的 输入端 Din4连接;输出寄存器的输出端 Dout3通过第二延迟门 D2后连 接第六或门 OR6输入端;输出补偿寄存器的输出端 Dout4通过第二非门 NOT2后连接第六或门 OR6输入端; 第六或门 OR6输出端与数据输出 接口 Dout连接;

由此可见, 在本实施例中与实施例一相比, 增加了一个第二延迟门 D2、一个第二非门 NOT2和一个第六或门 OR6,且在实施例一中不输出 数据的输出补偿寄存器, 在本实施例中通过第二非门 NOT2, 与输出寄 存器的输出通过第六或门 OR6进行或运算后输出,因此使得工作寄存器 和补偿寄存器、 输出寄存器和输出补偿寄存器的扇出均相同; 其中, 为 了保证延时一致, 输出寄存器的输出端 Dout3通过第二延迟门 D2与第 六或门 OR6连接, 第二延迟门 D2与第二非门 NOT2延时相同。

在实施例二中, 根据图 8所示电路, 由于输出补偿寄存器的输出值 是取反后与输出寄存器的输出值进行或运算, 且输出补偿寄存器在每个 周期的后半周期的当前值与此时输出寄存器的 当前值是互补的, 因此, 二者进行或运算后其值与实施例一中, 输出寄存器的输出值仍是相同 的; 换而言之, 虽然实施例二对电路结构进行了改进, 其时序变化与实 施例一相同,若工作寄存器在周期 1~5被赋值为序列 "1,0,0,1,1", 实施例 二中双层复合寄存器系统的各寄存器的时序示 意图仍如图 6所示。

基于上述双层复合寄存器系统, 本发明还提供了一种抵抗能量分析 攻击的方法, 包括:

当外部复位信号有效时, 控制单元向工作寄存器、 补偿寄存器、 输 出寄存器和输出补偿寄存器发送有效的复位信 号;

当外部复位信号无效时, 在每个时钟信号的前半周期, 控制单元向 工作寄存器和补偿寄存器发送无效的复位信号 和时钟信号, 向输出寄存 器和输出补偿寄存器发送有效的复位信号;

当外部复位信号无效时, 在每个时钟信号的后半周期, 所述控制单 元向输出寄存器和输出补偿寄存器发送无效的 复位信号和时钟信号, 向 工作寄存器和补偿寄存器发送有效的复位信号 ;

其中, 处于工作状态时, 所述工作寄存器的值与补偿寄存器的值互 补, 所述输出寄存器的值与输出补偿寄存器的值互 补。

综上所述, 一种双层复合寄存器系统及抵抗能量分析攻击 的方法, 通过控制单元在一个时钟周期内的一个半周期 中, 控制取值互补的工作 寄存器和补偿寄存器工作, 输出寄存器和输出补偿寄存器复位, 在另一 个半周期中控制取值互补的输出寄存器和输出 补偿寄存器工作, 工作寄 存器和补偿寄存器复位, 由此使系统工作时的汉明距离值以及汉明重量 值恒定, 在满足系统抵抗能量分析攻击的同时, 把输出一组数据的周期 压缩为一个时钟周期, 从而提高整个芯片硬件设备的吞吐率; 而且, 本 发明所述方案中的双层复合寄存器系统所使用 的元件符合标准的电路 元件库要求,可以正常地与芯片硬件设备电路 接合,具有很好的兼容性。

以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡 在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均 应包含在本发明保护的范围之内。