针对分组算法的改进混乱系数 - 密码学报201402
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
钥(subkey)[19], 例如对 DES 每 6 比特密钥被称为一个子密钥. 假设子密钥的位数为 n , 则对这个子密钥 进行功耗分析时 , 需要穷举子密钥的 2n 种可能的猜测密钥 K S , 求出对应每个猜测密钥 K S 的均值差
D , 具有最大均值差的猜测密钥即为正确的子密钥.
126
C 0 0,,1 1 n个1 n个 0
(2)
计算其在两个不同的假设密钥 K S1 和 K S2 下的选择函数值 D Ci , b, K S1 和 D Ci , b, K S2 , 统计明文集合中 使得不等式 D Ci , b, K S1 D Ci , b, K S2 成立的明文数量. 两个猜测密钥 K S1 和 K S2 的混乱系数 定义为
中文引用格式 : 邱爽, 白国强, 陈弘毅. 针对分组算法的改进混乱系数[J]. 密码学报, 2014, 1(2): 124–133. 英文引用格式 : Qiu S, Bai G Q, Chen H Y. One-dimensional confusion coefficient for block cipher[J]. Journal of Cryptologic Research, 2014, 1(2): 124–133.
K S1 , K S2
1 2 D Ci , b, K S1 D Ci , b, K S2 2n i1
n
(3)
混乱系数 K S1 , K S2 表征了在两个不同密钥的作用下 , 选择函数对样本进行分类的差别 , 即均值差的 差别 . 混乱系数越小 , 代表两个密钥 K S1 和 K S2 对功耗样本 W 的分类情况越近似 , 两个密钥 K S1 和 K S2 对应的均值差 D 的值越近似. 该定义式是从 DPA 原理得来的, 考虑了均值差的计算过程, 能够表征两个密钥之间均值差的差异 . 然而该定义并没有考虑分组算法的特征 , 因而存在冗余 . 实际上 , 根据分组算法的一般特性 , 密钥一般 是通过与明文相异或的方式作用到加密过程中的 , 据此可将混乱系数进行修改 . 以 DES 算法为例 , 将 第一个 S 盒 S1 的第一比特输出作为选择函数 D Ci , b, K S , 明文 Ci 和子密钥 K S 的异或结果作为 S1 的输 入. 假设 Sbox b 表示选定 S 盒的某一位的输出, 选择函数 D Ci , b, K S 可记作
W W1 ,W2 ,,Wm , 其中 m 为采集的功耗样本条数. 采集到的每个样本 Wi 对应着一个明文 Ci , 猜测密
钥为 K S , 攻击者设定一个区分函数 , 对于一阶 DPA, 区分函数为 D Ci , b, K S , 其中 b 表示选择函数为 单比特中间变量, 通常区分函数选择子密钥对应的 S 盒的某一位输出 . 区分函数根据猜测的密钥部分 信息和密码运算的结果将功耗样本分为两组, 然后计算两组样本的均值差 D
针对分组算法的改进混乱系数
邱 爽, 白国强, 陈弘毅
清华大学 微电子学研究所, 北京 100084 通讯作者: 白国强, E-mail: baigq@tsinghua.edu.cn
摘
要:
功耗攻击利用加密器件泄露的功耗来恢复密钥, 对嵌入式密码系统构成严重威胁. CHES 2012
中, Fei 利用混乱系数对功耗攻击中应用最为广泛的 DPA 的成功率进行建模. 然而其中重要参数混乱系数 定义冗余, 并且混乱系数的数值计算不准确. 本文根据分组算法的一般特性, 修改了混乱系数的定义, 将 其从二维降至一维, 这使混乱系数的个数成指数倍下降. 我们重新计算了修改后的混乱系数的值, 并发现 DES 算法的混乱系数的分布十分特殊. 我们利用修改后的混乱系数重新计算了针对 DES 进行 DPA 时各个 备选密钥的功耗差(Difference of Means, DoM)期望的分布, 并在 SASEBO 平台上针对时钟频率为 24M 的 3DES 算法 CPU 芯片卡进行了实验攻击, 得到的实验结果与利用修改后的混乱系数计算得到的 DoM 期望 值相符合. 关键词: 侧信道攻击; 差分功耗攻击; 混乱系数; 分组算法; DES 文献标识码: A 中图法分类号: TP309.7
D
D C , b, K W 1 D C , b, K W
i 1 N i S i
N
N
D C , b, K
i 1 i S
i 1 N
i
S
i
1 D C , b, K
i 1 i S
(1)
DPA 采用的攻击方法是逐个击破[19](divide-and-conquer)原理, 将密钥根据 S 盒的输入位数划分成子密
Journal of Cryptologic Research 密码学报 Vol.1, No.2, Apr. 2014
3
对混乱系数的修改
本文主要研究的是功耗分析中的一阶差分功耗分析. 为了对 DPA 过程进行建模, 我们需要利用混
乱系数[11], 混乱系数集中体现了分组算法对 DPA 的影响 , 是分组算法的 DPA 特性系数. 在第 4 节中会 详细说明, 混乱系数通过影响均值差 D , 从而直接影响 DPA 的结果. 我们对混乱系数的原始概念进行 了修改, 使其从二维变成一维, 从而使 DPA 的建模更加准确、完善. 假设与某个子密钥相关的明文集合为 C C1 , C2 ,, C2n , 其中 n 为子密钥的位数 , 这部分明文集 合为
2
DPA 和均值差
为了对 DPA 进行建模, 首先要了解它的原理和特点. CMOS 工艺实现的数字电路在逻辑门输出状
态改变时会消耗大部分的能量 , 功耗攻击正是利用密码电路的功耗对密码算法处理数据的依存关系来 实现的. DPA 的方法是对大量的功耗采样数据进行统计分析 , 来分析提取密钥的值, 具有比简单功耗攻击 (simple power analysis, SPA)更高的强度 . 按攻击过程中使用的统计分析手段 , 差分功耗分析攻击分为 均值检验和相关性检验 [3], 本文着重讨论均值检验 . 均值检验的基本原理如下 . 明文数据输入到芯片中 执 行 加 密 运 算 , 得 到 一 组 功 耗 样 本 , 我 们 设 Wi 为 第 i 个 功 耗 样 本 , 记 W 为 功 耗 样 本 集 合 , 即
术 , 它通过对加密模块的功耗行为进行分析来获得密钥值 , 特别是对嵌入式加密芯片的安全构成严重 威胁. 本文对目前国内外都在重点研究的功耗攻击建模问题进行了研究 [11–20], 旨在建立功耗分析的理论 基础 , 阐明功耗分析的内在原理机制 , 为进一步研究功耗攻击和防护措施提供理论依据 . 之前的研究 人员在功耗分析建模方面做出很多努力 , 样本量、成功率 [12,13] 、猜测熵 [14] 、信息理论矩阵 [14,15] 都曾成 为建模对象. 在 CHES 2012 上, Fei[11]提出一种综合了算法和物理实现两方面因素的差分功耗攻击(differential power analysis, DPA)模型, 使用混乱系数(confusion coefficient)表征算法对 DPA 的影响 , 使用信噪比表 征物理实现对 DPA 的影响[16,17], 将 DPA 的结果建模成多维高斯分布. Fei 的建模融合算法和物理实现 , 能够正确反映出两种因素的作用下, DPA 的成功率如何变化, 具有重要的理论依据. 然而在 Fei 的混乱 系数定义中存在冗余 , 文章中混乱系数计算的结果也有错误 . 本文修改了混乱系数的定义 , 计算出了 正确的混乱系数的值, 重新构建了 DPA 模型中算法相关的部分. 本文结构如下: 第 2 节介绍差分功耗攻击及均值差的一些概念; 第 3 节对混乱系数的定义进行修 改; 随后, 我们在第 4 节中引入修改后的混乱系数和均值差的关系, 并在第 5 节中针对 SASEBO 平台上 时钟频率为 24 M 的 3DES 算法 CPU 芯片卡进行实验攻击得出实验结果, 与模型预测结果进行对比; 最 后, 第 6 节对本文进行总结.
密码学报 ISSN 2095-7025 CN 10-1195/TN Journal of Cryptologic Research,2014,1(2):124–133 ©《密码学报》编辑部版权所有.
E-mail: jcr@cacrnet.org.cn httபைடு நூலகம்://www.jcr.cacrnet.org.cn Tel/Fax:+86-10-81033101
One-dimensional Confusion Coefficient for Block Cipher
QIU Shuang, BAI Guo-Qiang, CHEN Hong-Yi
Institute of Microelectronics, Tsinghua University, Beijing 100084, China Corresponding author: BAI Guo-Qiang, E-mail: baigq@tsinghua.edu.cn
基金项目 : 国家自然科学基金项目 (61073169) 收稿日期 : 2013-12-12 定稿日期 : 2014-03-25
邱
爽 等: 针对分组算法的改进混乱系数
125
1
引言
功耗分析(power analysis, PA)攻击[1–10]是一种非常有效的侧信道攻击(side-channel analysis, SCA)技
Abstract: Power attacks make use of power leakage from cipher devices to retrieve the vital key information and are now becoming real threats to many embedded crypto-systems. Using confusion coefficient(CC), Fei et al. modeled the DPA successful rate which is the most extensively implemented power-attack method at CHES 2012. However, the definition of the confusion coefficient, namely CC, is redundant therein and the numerical calculation of the CC is inaccurate. In this paper, we revised this definition to make it reduced from 2-dimension to 1-dimension, whereby decrease exponentially the number of CCs. We recalculated the CCs of DES according to our new definition and an abnormal distribution of CCs was found. Based on these new CCs, we recalculated the distribution of expectation values of Difference of Means(DoM) for each key candidate, and conducted a real attack against a 3DES chip running at 24MHz on the SASBO platform. Our experimental results agree well with calculated DoM. Key words: side-channel attack; differential power analysis; confusion coefficient; block cipher; DES
D , 具有最大均值差的猜测密钥即为正确的子密钥.
126
C 0 0,,1 1 n个1 n个 0
(2)
计算其在两个不同的假设密钥 K S1 和 K S2 下的选择函数值 D Ci , b, K S1 和 D Ci , b, K S2 , 统计明文集合中 使得不等式 D Ci , b, K S1 D Ci , b, K S2 成立的明文数量. 两个猜测密钥 K S1 和 K S2 的混乱系数 定义为
中文引用格式 : 邱爽, 白国强, 陈弘毅. 针对分组算法的改进混乱系数[J]. 密码学报, 2014, 1(2): 124–133. 英文引用格式 : Qiu S, Bai G Q, Chen H Y. One-dimensional confusion coefficient for block cipher[J]. Journal of Cryptologic Research, 2014, 1(2): 124–133.
K S1 , K S2
1 2 D Ci , b, K S1 D Ci , b, K S2 2n i1
n
(3)
混乱系数 K S1 , K S2 表征了在两个不同密钥的作用下 , 选择函数对样本进行分类的差别 , 即均值差的 差别 . 混乱系数越小 , 代表两个密钥 K S1 和 K S2 对功耗样本 W 的分类情况越近似 , 两个密钥 K S1 和 K S2 对应的均值差 D 的值越近似. 该定义式是从 DPA 原理得来的, 考虑了均值差的计算过程, 能够表征两个密钥之间均值差的差异 . 然而该定义并没有考虑分组算法的特征 , 因而存在冗余 . 实际上 , 根据分组算法的一般特性 , 密钥一般 是通过与明文相异或的方式作用到加密过程中的 , 据此可将混乱系数进行修改 . 以 DES 算法为例 , 将 第一个 S 盒 S1 的第一比特输出作为选择函数 D Ci , b, K S , 明文 Ci 和子密钥 K S 的异或结果作为 S1 的输 入. 假设 Sbox b 表示选定 S 盒的某一位的输出, 选择函数 D Ci , b, K S 可记作
W W1 ,W2 ,,Wm , 其中 m 为采集的功耗样本条数. 采集到的每个样本 Wi 对应着一个明文 Ci , 猜测密
钥为 K S , 攻击者设定一个区分函数 , 对于一阶 DPA, 区分函数为 D Ci , b, K S , 其中 b 表示选择函数为 单比特中间变量, 通常区分函数选择子密钥对应的 S 盒的某一位输出 . 区分函数根据猜测的密钥部分 信息和密码运算的结果将功耗样本分为两组, 然后计算两组样本的均值差 D
针对分组算法的改进混乱系数
邱 爽, 白国强, 陈弘毅
清华大学 微电子学研究所, 北京 100084 通讯作者: 白国强, E-mail: baigq@tsinghua.edu.cn
摘
要:
功耗攻击利用加密器件泄露的功耗来恢复密钥, 对嵌入式密码系统构成严重威胁. CHES 2012
中, Fei 利用混乱系数对功耗攻击中应用最为广泛的 DPA 的成功率进行建模. 然而其中重要参数混乱系数 定义冗余, 并且混乱系数的数值计算不准确. 本文根据分组算法的一般特性, 修改了混乱系数的定义, 将 其从二维降至一维, 这使混乱系数的个数成指数倍下降. 我们重新计算了修改后的混乱系数的值, 并发现 DES 算法的混乱系数的分布十分特殊. 我们利用修改后的混乱系数重新计算了针对 DES 进行 DPA 时各个 备选密钥的功耗差(Difference of Means, DoM)期望的分布, 并在 SASEBO 平台上针对时钟频率为 24M 的 3DES 算法 CPU 芯片卡进行了实验攻击, 得到的实验结果与利用修改后的混乱系数计算得到的 DoM 期望 值相符合. 关键词: 侧信道攻击; 差分功耗攻击; 混乱系数; 分组算法; DES 文献标识码: A 中图法分类号: TP309.7
D
D C , b, K W 1 D C , b, K W
i 1 N i S i
N
N
D C , b, K
i 1 i S
i 1 N
i
S
i
1 D C , b, K
i 1 i S
(1)
DPA 采用的攻击方法是逐个击破[19](divide-and-conquer)原理, 将密钥根据 S 盒的输入位数划分成子密
Journal of Cryptologic Research 密码学报 Vol.1, No.2, Apr. 2014
3
对混乱系数的修改
本文主要研究的是功耗分析中的一阶差分功耗分析. 为了对 DPA 过程进行建模, 我们需要利用混
乱系数[11], 混乱系数集中体现了分组算法对 DPA 的影响 , 是分组算法的 DPA 特性系数. 在第 4 节中会 详细说明, 混乱系数通过影响均值差 D , 从而直接影响 DPA 的结果. 我们对混乱系数的原始概念进行 了修改, 使其从二维变成一维, 从而使 DPA 的建模更加准确、完善. 假设与某个子密钥相关的明文集合为 C C1 , C2 ,, C2n , 其中 n 为子密钥的位数 , 这部分明文集 合为
2
DPA 和均值差
为了对 DPA 进行建模, 首先要了解它的原理和特点. CMOS 工艺实现的数字电路在逻辑门输出状
态改变时会消耗大部分的能量 , 功耗攻击正是利用密码电路的功耗对密码算法处理数据的依存关系来 实现的. DPA 的方法是对大量的功耗采样数据进行统计分析 , 来分析提取密钥的值, 具有比简单功耗攻击 (simple power analysis, SPA)更高的强度 . 按攻击过程中使用的统计分析手段 , 差分功耗分析攻击分为 均值检验和相关性检验 [3], 本文着重讨论均值检验 . 均值检验的基本原理如下 . 明文数据输入到芯片中 执 行 加 密 运 算 , 得 到 一 组 功 耗 样 本 , 我 们 设 Wi 为 第 i 个 功 耗 样 本 , 记 W 为 功 耗 样 本 集 合 , 即
术 , 它通过对加密模块的功耗行为进行分析来获得密钥值 , 特别是对嵌入式加密芯片的安全构成严重 威胁. 本文对目前国内外都在重点研究的功耗攻击建模问题进行了研究 [11–20], 旨在建立功耗分析的理论 基础 , 阐明功耗分析的内在原理机制 , 为进一步研究功耗攻击和防护措施提供理论依据 . 之前的研究 人员在功耗分析建模方面做出很多努力 , 样本量、成功率 [12,13] 、猜测熵 [14] 、信息理论矩阵 [14,15] 都曾成 为建模对象. 在 CHES 2012 上, Fei[11]提出一种综合了算法和物理实现两方面因素的差分功耗攻击(differential power analysis, DPA)模型, 使用混乱系数(confusion coefficient)表征算法对 DPA 的影响 , 使用信噪比表 征物理实现对 DPA 的影响[16,17], 将 DPA 的结果建模成多维高斯分布. Fei 的建模融合算法和物理实现 , 能够正确反映出两种因素的作用下, DPA 的成功率如何变化, 具有重要的理论依据. 然而在 Fei 的混乱 系数定义中存在冗余 , 文章中混乱系数计算的结果也有错误 . 本文修改了混乱系数的定义 , 计算出了 正确的混乱系数的值, 重新构建了 DPA 模型中算法相关的部分. 本文结构如下: 第 2 节介绍差分功耗攻击及均值差的一些概念; 第 3 节对混乱系数的定义进行修 改; 随后, 我们在第 4 节中引入修改后的混乱系数和均值差的关系, 并在第 5 节中针对 SASEBO 平台上 时钟频率为 24 M 的 3DES 算法 CPU 芯片卡进行实验攻击得出实验结果, 与模型预测结果进行对比; 最 后, 第 6 节对本文进行总结.
密码学报 ISSN 2095-7025 CN 10-1195/TN Journal of Cryptologic Research,2014,1(2):124–133 ©《密码学报》编辑部版权所有.
E-mail: jcr@cacrnet.org.cn httபைடு நூலகம்://www.jcr.cacrnet.org.cn Tel/Fax:+86-10-81033101
One-dimensional Confusion Coefficient for Block Cipher
QIU Shuang, BAI Guo-Qiang, CHEN Hong-Yi
Institute of Microelectronics, Tsinghua University, Beijing 100084, China Corresponding author: BAI Guo-Qiang, E-mail: baigq@tsinghua.edu.cn
基金项目 : 国家自然科学基金项目 (61073169) 收稿日期 : 2013-12-12 定稿日期 : 2014-03-25
邱
爽 等: 针对分组算法的改进混乱系数
125
1
引言
功耗分析(power analysis, PA)攻击[1–10]是一种非常有效的侧信道攻击(side-channel analysis, SCA)技
Abstract: Power attacks make use of power leakage from cipher devices to retrieve the vital key information and are now becoming real threats to many embedded crypto-systems. Using confusion coefficient(CC), Fei et al. modeled the DPA successful rate which is the most extensively implemented power-attack method at CHES 2012. However, the definition of the confusion coefficient, namely CC, is redundant therein and the numerical calculation of the CC is inaccurate. In this paper, we revised this definition to make it reduced from 2-dimension to 1-dimension, whereby decrease exponentially the number of CCs. We recalculated the CCs of DES according to our new definition and an abnormal distribution of CCs was found. Based on these new CCs, we recalculated the distribution of expectation values of Difference of Means(DoM) for each key candidate, and conducted a real attack against a 3DES chip running at 24MHz on the SASBO platform. Our experimental results agree well with calculated DoM. Key words: side-channel attack; differential power analysis; confusion coefficient; block cipher; DES