严迎建 杨昌盛 李 伟② 张立朝③
ZUC序列密码算法的选择IV相关性能量分析攻击
严迎建①杨昌盛*①李 伟①②张立朝①③
①(解放军信息工程大学 郑州 450000)②(复旦大学微电子学院 上海 200433)③(天津大学电子信息工程学院 天津 300072)
为了分析ZUC序列密码算法在相关性能量分析攻击方面的免疫能力,该文进行了相关研究。为了提高攻击的针对性,该文提出了攻击方案的快速评估方法,并据此给出了ZUC相关性能量分析攻击方案。最后基于ASIC开发环境构建仿真验证平台,对攻击方案进行了验证。实验结果表明该方案可成功恢复48 bit密钥,说明ZUC并不具备相关性能量分析攻击的免疫力,同时也证实了攻击方案快速评估方法的有效性。相比Tang Ming等采用随机初始向量进行差分能量攻击,初始向量样本数达到5000时才能观察到明显的差分功耗尖峰,该文的攻击方案只需256个初始向量,且攻击效果更为显著。
密码学;序列密码;ZUC;能量分析攻击;评估
ZUC序列密码算法由中国科学院数据通信保护研究教育中心设计,现已被采纳为3GPP LTE移动通信加密标准核心算法。该算法自发布以来受到了广泛关注,密码分析人员对其安全性进行了大量研究。2012年,文献[1]对ZUC进行了差分攻击,文献[2]对ZUC初始化阶段的安全性进行了分析,文献[3]对ZUC进行了时间攻击。2013年,文献[4]对ZUC进行了SAT分析攻击,文献[5]对ZUC进行了猜测决定(guess and determine)攻击。上述攻击均从数学分析的角度展开,目前尚未发现明显的安全漏洞,表明ZUC在抵抗代数分析攻击方面具有很好的安全性。
在物理安全性方面,文献[6]对ZUC进行了差分能量分析(Differential Power Analysis, DPA)攻击,文献[7]针对嵌入式平台下实现的ZUC算法进行了侧信道频域攻击,上述攻击属于侧信道攻击(Side Channel Attack, SCA)范畴。侧信道攻击属于交叉学科,需要同时了解密码学、统计学、测量学和微电学的相关知识体系[8],因此针对ZUC的侧信道攻击研究较代数分析攻击要少很多。
能量分析攻击作为侧信道攻击的重要分支之一,经过十余年的发展,先后出现了简单能量攻击(Simple Power Analysis, SPA)、DPA攻击和相关性能量分析(Correlation Power Analysis, CPA)攻击等攻击技术,并广泛应用于分组密码和公钥密码的分析,对多种密码算法进行了有效的攻击[9,10]。尽管能量分析攻击已成为分组密码和公钥密码算法的有力分析工具,但针对序列密码的相关研究却远不及前者[11,12]。为了分析ZUC序列密码算法在相关性能量分析攻击方面的免疫能力,本文进行了相关研究。为了提高攻击的针对性,首先提出了攻击方案的快速评估方法,并基于此给出了ZUC的相关性能量分析攻击方案,最后基于专用集成电路(Application Specific Integrated Circuit, ASIC)开发工具构建的仿真环境,对攻击方案进行了验证,得到了理想的攻击结果。
能量分析攻击基于一个重要的假设前提:认为攻击点函数所产生的功耗与芯片中其他功耗成分相互独立[13]。针对大量分组密码和公钥密码算法的攻击也证实了这一假设。然而实验发现,直接将上述攻击方法移植于序列密码算法往往并不可行。
图1 序列密码算法功耗成分(仅初始化阶段)
文献[15]指出,攻击点功耗与其它功耗成分之间存在相关性是导致序列密码能量分析攻击困难的主要原因,同时还提出通过选取特定初始向量以避免或减弱功耗相关性的攻击思路。本文延续了这一思想,并结合对多种序列密码算法进行能量分析攻击的经验,就初始向量选取问题,总结出以下几点策略:
对于序列密码的能量分析攻击,攻击点和初始向量的选取是攻击方案的核心内容。而对于具体的算法,很容易找到满足基本要求的攻击点和初始向量选取方案,如果对于每一种方案都进行完整的实验,必然会带来很高的攻击成本,为了解决这一问题,本文提出攻击方案的快速评估方法。
即:(1)当且仅当猜测密钥与实际密钥相一致时,攻击点模拟功耗与算法整体模拟功耗具有最强的相关性;(2)当猜测密码与实际密钥不一致时,攻击点模拟功耗与算法整体模拟功耗的相关性远小于猜测正确时的情况。
ZUC[16]是一种面向字(word-oriented)的序列密码算法,密钥和初始向量长度均为128 bit,主要由16个31 bit位宽的反馈移位寄存器(Feedback Shift Register, FSR)、比特重组(Bit-Reorganization, BR)和非线性函数F 3部分组成,在密钥流生成阶段每个时钟周期输出1个32 bit的密钥字(key-word)。
4.1攻击点的选取
4.2初始向量的选取
其中,iv的位置选取需满足以下条件:(a)不能位于FSR反馈函数的抽头位置;(b)不能参与攻击点函数或的运算。在该方案下,各寄存器组的功耗保持固定,因此攻击点功耗仅与寄存器和的功耗有关,而寄存器的功耗为
表1第0轮以f1为攻击点时H与U的相关系数矩阵C
可以看到,该方案下当且仅当猜测密钥与实际密钥一致时,攻击点功耗与整体功耗具有最大相关性,满足评估方法中的特征要求。
按照攻击方案,可以实施6次攻击,每次恢复1个密钥字节,共计48 bit密钥。
4.3攻击方案验证
本文基于ASIC开发环境构建验证平台:在SMIC 65 nm工艺下,使用Design Compiler和IC Compiler工具对ZUC算法的HDL(Hardware Description Language)代码进行综合、布局布线并提取寄生参数信息,使用VCS对反标寄生参数后的ZUC网表进行仿真,得到包含所有逻辑门翻转信息的VCD文件,最后使用功耗分析工具PrimeTime PX对VCD文件进行分析,得到算法芯片加载不同初始向量样本时的总体功耗,仿真验证即以该功耗作为芯片的实际功耗数据。实验中,设定密钥为=055555556789,按照前文提出的攻击方案,成功实施了6次攻击,限于篇幅,下面仅展示了前4次的攻击结果,如图2和图3所示。图中横轴为猜测密钥()序号,从1开始,即密钥字节000对应横轴坐标1, 0对应256,纵轴表示攻击时刻攻击点功耗与算法总体功耗之间的相关系数。
图2 第0轮的攻击结果
图3 第1轮的攻击结果
文献[6]使用的验证环境与本文的相似,其采用随机初始向量样本,样本数达到5000时才能观察到明显的差分功耗尖峰。与之相比,本文的攻击方案只需256个初始向量,且攻击效果更为显著。上述实验证实了所提出的攻击方案的快速评估方法的有效性,同时也表明ZUC并不具备相关性能量分析攻击的免疫能力。
本文对ZUC在相关性能量分析攻击方面的免疫能力进行了研究,提出了一种有效的攻击方案。尽管同属对称密码体制,但序列密码的能量分析攻击相比分组密码更加困难。为了提高攻击的针对性,提出了序列密码能量分析攻击方案的快速评估方法,据此给出了ZUC的相关性能量分析攻击方案,并进行了验证,结果表明ZUC并不具备相关性能量分析攻击的免疫能力,同时也证实了攻击方案快速评估方法的有效性。相对于一般的攻击方案,本文所提出的方案避免了一般方案中容易出现的攻击点功耗与其他功耗成分之间存在相关性、错误猜测密钥与正确密钥攻击结果区分度低以及所需初始向量样本量过大等问题。
不足之处在于,由于单纯的侧信道攻击普遍存在可分析轮数少的局限性[18],目前的攻击方法只能进行前3轮共6次攻击,仅恢复48 bit密钥,后续可结合代数分析方法进行代数旁道攻击的相关研究。
[1] Wu H J, Huang T, Phuong H N,Differential attacks against stream cipher ZUC[C]. Proceedings of the 18th International Conference on the Theory and Application of Cryptology and Information Security, Beijing, China, 2012: 262-277.
[2] Zhou C F, Feng X T, and Lin D D. The initialization stage analysis of ZUC v1.5[C]. Proceedings of the 10th International Conference, Sanya, China, 2011: 40-53.
[3] Gautham S. The stream cipher core of the 3GPP encryption standard 128-EEA3: timing attacks and countermeasures[C]. Proceedings of the 7th International Conference, Beijing, China, 2011: 269-288.
[4] L afitte F, M arkowitch O, and Vav Heule D. SAT based analysis of LTE stream cipher ZUC[C]. Proceedings of the 6th International Conference on Security of Information and Networks, Aksavay, Turkey, 2013: 110-116.
[5] 关杰, 丁林, 刘树凯. SNOW 3G与ZUC流密码的猜测决定攻击[J]. 软件学报, 2013, 24(6): 1324-1333.
Guan Jie, Ding Ling, and Liu Shu-kai. Guess and determine attack on SNOW 3G and ZUC[J]., 2013, 24(6): 1324-1333.
[6] Tang M, Cheng P P, and Qiu Z L. Differential power analysis on ZUC algorithm [OL].IACR ePrint. http://eprint.iacr.org/ 2012/299.pdf. 2013-12-01.
[7] 唐明, 高剑, 孙乐昊, 等. 嵌入式平台下ZUC算法的侧信道频域攻击[J]. 山东大学学报(理学版), 2014, 49(9): 29-34.
Tang Ming, Gao Jian, Sun Le-hao,Side channel attacks in frequency domain for ZUC algorithm in embedded platform[J].(), 2014, 49(9): 29-34.
[8] Reddy E K. Overview of the side channel attacks[J]., 2013, 4(6): 1799-1808.
[9] Paul K, Joshua J, Benjamin J,.. Introduction to differential power analysis[J]., 2011, 1(1): 5-27.
[10] 汪鹏君, 张跃军, 张学龙. 防御差分功耗分析攻击技术研究[J] 电子与信息学报, 2012, 34(11): 2774-2784.
Wang Peng-jun, Zhang Yue-jun, and Zhang Xue-long. Research of differential power analysis countermeasures[J].&, 2012, 34(11): 2774-2784.
[11] 赵永斌, 胡予濮, 贾艳艳. 一种抵抗能量攻击的线性反馈移位寄存器[J]. 西安电子科技大学学报(自然科学版), 2013, 40(3): 172-179.
Zhao Yong-bin, Hu Yu-pu, and Jia Yan-yan. New design of LFSR based stream ciphers to resist power attack[J].(), 2013, 40(3): 172-179.
[12] Kumar S, Lemke K, and Paar C. Some thoughts about implementation properties of stream ciphers[C]. Proceedings of State of the Art of Stream Ciphers Workshop, Brugge, Belgium, 2004: 311-319.
[13] Stefan M, Elisabeth O, and Thomas P著. 冯登国, 周永斌, 刘继业, 等译. 能量分析攻击[M]. 北京: 科学出版社, 2010: 45-46.
[14] 金晨辉, 郑浩然, 张少武, 等. 密码学[M]. 北京: 高等教育出版社, 2009: 149-150.
Jin Chen-hui, Zheng Hao-ran, Zhang Shao-wu,Cryptography[M]. Beijing: Higher Education Press, 2009: 149-150.
[15] 杨昌盛, 于敬超, 严迎建. Grain-128同步流密码的选择初始向量相关性能量攻击[J]. 计算机应用, 2014, 34(5): 1318-1321.
Yang Chang-sheng, Yu Jing-chao, and Yan Yin-jian. Chosen initial vector correlation power attack on synchronous stream cipher Grain-128[J]., 2014, 34(5): 1318-1321.
[16] Specification of the 3GPP confidentiality and integrity algorithms 128-EEA3 & 128-EIA3. document 2: ZUC specification version: 1.5[OL]. ETSI/SAGE Specification. http://www.gsma.com/technicalprojects/wp-content/uploads/2012/04/eea3eia3zucv16.pdf. 2011-01-04.
[17] 刘泽艺, 高能, 屠晨阳, 等. 一种抗能量分析攻击的复合寄存器系统[J]. 密码学报, 2014, 1(5): 411-421.
Liu Ze-yi, Gao Neng, Tu Chen-yang,A compound register system against power analysis attack[J]., 2014, 1(5): 411-421.
[18] 刘会英, 赵新杰, 王韬, 等. 基于汉明重的SMS4密码代数旁路攻击研究[J]. 计算机学报, 2013, 36(6): 1183-1193.
Liu Hui-yin, Zhao Xin-jie, Wang Tao,Research on hamming weight-based algebraic side-channel attacks on SMS4[J]., 2013, 36(6): 1183-1193.
Chosen-IV Correlation Power Analysis Attack of ZUC Stream Cipher
Yan Ying-jian①Yang Chang-sheng①Li Wei①②Zhang Li-chao①③
①(,450000,)②(,,200433,)③(,,300072,)
To analyze the immunity of ZUC stream cipher in aspect of correlation power analysis attack, some relevant researches are conducted. In order to improve the pertinence of attack, a rapid assessment method of the attack scheme is presented, and accordingly a correlation power analysis scheme of ZUC is proposed. Finally, based on the simulation platform raised by ASIC development environment, the attack scheme is validated. Experiment results turn out that the scheme can successfully attack 48-bit key, confirming that ZUC is unable to resist the correlation power analysis attack, and the proposed assessment method of attack scheme takes effect. Compared with Tang Ming’s experimental, which conducted differential power analysis of ZUC with random initial vectors and observing distinct differential power peak with 5000 initial vectors, the proposed attack scheme only uses 256 initial vectors, and gets better results.
Cryptography; Stream cipher; ZUC; Power analysis attack; Assessment
TN918.4
A
1009-5896(2015)08-1971-07
10.11999/JEIT141604
杨昌盛 ycs3317@126.com
2014-12-15收到,2015-04-14改回,2015-06-09网络优先出版
国家自然科学基金(61404175, 61302107)资助课题
严迎建: 男,1973年生,博士,教授,研究方向为安全专用芯片侧信道攻击与防护.
杨昌盛: 男,1990年生,硕士生,研究方向为序列密码侧信道攻击与防护.
李 伟: 男,1983年生,博士生,讲师,研究方向为安全专用芯片设计.
张立朝: 男,1979年生,博士生,讲师,研究方向为安全SoC设计、嵌入式系统安全防护.