资源描述
第3 6 卷第1 期 2 0 1 5 年1 月 通信学报 J o 呦a lo nC o n u 肌n i c a t i o n s 、“3 6N o 1 J 锄u a r v2 0 1 5 d o i :1 0 11 9 5 9 巧i s s n 1 0 0 0 4 3 6 x 2 0 1 5 0 1 6 针对S M S 4 轮输出的选择明文能量分析攻击 王敏1 ,一,杜之波2 ,吴震2 ,饶金涛2 ( 1 四川大学电子信息学院,四川成都6 1 0 0 4 1 :2 成都信息工程学院信息安全工程学院,四川成都6 1 0 2 2 5 ) 摘要:提出了针对s M s 4 轮输出的选择明文能量分析攻击,攻击时以一定约束条件选择明文,先攻击出轮迭代函 数的输出,再由轮迭代函数的输出反推出对应的轮子密钥,从而实现了以轮输出作为中间数据对S M S 4 的能量分析 攻击,并利用该方法对无防护S M S 4 算法的能量曲线进行了能量分析攻击,实验表明该攻击方法是行之有效的。 关键词:S M S 4 算法;能量分析攻击:轮输出;选择明文 中图分类号:T P 3 0 9 1文献标识码:A C h o s e n p l a i n t e x tp o w e ra n a l y s i sa t t a c ka g a i n s tS M S 4 w i t ht h er o u n d o u t p u ta st h ei n t e r m e d i a t ed a t a W A N GM i n l ,_ ,D UZ h i - b 0 2 ,7 UZ h e n 2 ,R A OJ i n t a 0 2 ( 1 c o l l e g eo f E l e c 仃o n i c s 锄d o n m t i o nE n g i l l e e 咖g ,S i c h u 锄U n i V e r s 咄c h e n g d u6 1 0 0 4 1 ,c h i I l a ; 2 s c h 0 0 lo f I l l f o n T I a t i o ns e c 嘶t yE n g i I l e 锄g ,c h e n g d uu n i v e r S 时o f I n f o 咖a t i o nT e c l l I l o l o 鼢c h e n g d u6 1 0 2 2 5 ,c h i n a ) A b s t r a c t :T h em e t h o do fc h o s e n p l a i n t e x tp o w e r 柚a l y s i sa t t a c ka g a i n s tS M S 4w i t ht h em u n d - o u t p u ta sm ei n t e m e d i a t e d a t ai sp m p o s e d F i r s t l y t h i sm e t h o da t t a c l 【so u tt h eo u 印u to ft h ei t e r a t i V e c t i o n T h e nt l l es u bk e yc a nb ea c h i e V e db y m eo u t p u to ft h ei t e r a t i V e 劬c t i o n A n di ti sa c h i e V e dt om a k et l l ea t t a c kr e a la n di m p r o V et h ee f f i c i e n c y w h e nS M S 4i s a n a c k e db yt a k i n go ft h em e t h o d I np a n i c u l a r ,t h ea c t u a Ie x p e r i m e n to ft h em e t h o di sd o n e ,a n dt l l er e s u l t ss h o wt h a tt h e a t t a c ka l g o r i t h mi sc o r r e c ta n de n e c t i V e K e yw o r d s :S M S 4a l g o r i t h m ;p o w e ra n a l y s i s 撇k ;m u n do u t p u t ;c h o s e n - p l a i n t e x t 1引言 能量分析攻击是通过采集加密芯片等硬件密 码电子设备在进行加解密或签名等操作时产生的 能量消耗,利用密码学和统计学原理等,选择合适 的能量泄露模型,分析和破译密钥信息的一种攻击 方式【l 卅,能量分析攻击又分为简单功耗分析攻击 ( S P A ,s i m p l ep o w e ra n a l y s i s ) 、差分能量分析( D P A , d i 饿r e n t i a lp o w e ra n a l y s i s ) 、相关性能量分析攻击 ( C P A ,c o r r e l a t i o np o w e ra n a l y s i s ) 。 国内官方公布的第一个商用密码算法一S M S 4 算法【5 J ,作为国内无线局域网标准的重要组成部分, 对其安全性研究具有十分重要的意义。自S M s 4 算法 公布起,学术界对S M S 4 的能量分析攻击展开了一系 列的研究,文献 乱8 对S M s 4 算法的s 盒子输入、S 盒子输出和循环移位成功实施了能量分析攻击,而在 以轮输出作为信息泄露点进行能量分析攻击方面,尚 未发现国内外有公开发表的结果,因此研究将轮输出 作为中间数据对S M S 4 能量分析攻击,对提高S M S 4 算法的安全性具有重要的现实意义。 收稿日期:2 0 1 3 1 0 1 8 ;修回日期:2 叭4 叭2 5 基金项目:国家重大科技专项基金资助项目( 2 0 1 4 Z X O l 0 3 2 4 0 1 0 0 1 ) :国家高技术研究发展计划( 8 6 3 计划) 基金资助项目 ( 2 0 1 2 A A 0 1 A 4 0 3 ) ;“十二五”国家密码发展基金资助项目( M M J J 2 0 1 1 0 1 0 2 2 ) ;四川省科技支撑计划项目基金资助项目 ( 2 0 1 4 G z 0 1 4 8 ) ;四川省教育厅重点科研基金资助项目( 1 3 Z A 0 0 9 1 ) ;成都信息工程学院科研基金资助项目( C R F 2 叭3 0 1 ) F o u n d a t i o nI t e m s :1 1 1 eN a t i o n a lS c i e n c ea I l dT e c h n o l o g yM 勾o rP r o j e c t ( 2 0 1 4 z x 0 1 0 3 2 4 0 l - 0 0 1 ) ;n l eN a t i o n a lH i g hT e c l l n o l o g ) , R e s e a r c ha I l dD e v e l o p m e n tP r o 铲a m ( 8 6 3P r o g r a m ) ( 2 0 1 2 A A 0 1 A 4 0 3 ) ;“T h e1 2 t hF i V e Y e 耐N a t i o n a lC r y p t o 目锄D e v e l o p m e n t F u n d ( M M J J 2 0 1 1 0 1 0 2 2 ) ;S i c h u a nS c i e n c ea I l dT e c h n o l o g yS u p p o r tP r o g r a m m e r ( 2 0 1 4 G Z 0 1 4 8 ) ;S i c h u a I lP r o V i n c i a lE d u c a t i o nD e p a n m e n tK e ys c i e n t i 6 cR e s e a r c hP r o j e c t s ( 13 z A 0 0 91 ) ;1 1 1 eS c i e m i f i cR e s e a r c hF o l l n d a t i o no fc u I T ( c R F 2 0 13 01 ) 2 0 1 5 0 1 6 1 万方数据 第1 期王敏等:针对s M S 4 轮输出的选择明文能量分析攻击 本文针对s M S 4 轮输出结构特点,具体分析了 S M S 4 轮输出抗能量分析攻击的安全性,以轮输出作 为中间数据直接对S M S 4 能量分析攻击出轮子密钥, 存在需要采集和处理极多的能量曲线问题,导致对 S M s 4 轮输出的能量分析攻击在实际数据分析和处理 上不可行。为此提出了针对S M s 4 轮输出的选择明文 能量分析攻击方法,以轮输出作为中间数据,先能量 分析攻击出轮迭代函数的输出,再由轮迭代函数的输 出反推出对应的轮子密钥,间接地实现了对S M S 4 轮 输出能量分析攻击出轮子密钥的目的,给出实测的 C P A 攻击分析结果,验证了使用该方法,不仅可以成 功对S M s 4 轮输出实施能量分析攻击,而且降低了采 集和处理能量曲线的条数,提高了攻击效率。 2S M S 4 算法 2 1S M S 4 加解密算法 S M s 4 算法中分组长度和密钥长度均为1 2 8b i t , 加密算法和解密算法均为3 2 轮的非线性迭代密码 算法,其加解密算法结构相同,只是运算时轮密钥 使用的顺序相反,以加密算法为例,S M S 4 加密算 法的详细流程1 6 J 如图l 所示。 明文豫1 2 8b i t ) J I J - I - F ( R 。u n d l ) 1 | 一扛扛1 | 一 F ( R o u n d 2 ) F ( R 。u n d3 2 ) 粼5 密文y ( 1 2 8b i t ) 在图l 中,x ,z ;2 ( 石表示eb i t 的向量集) , 明文输入为( 以,五,五,玛) ( 乏2 ) 4 ,密文输出为 ( K ,I ,艺,墨) ,其中,置、置+ 。、置+ :和Z + ,为轮 迭代运算函数F 的输入,噍z ;2 为每轮的轮子密 钥,其中,f 0 ,l ,2 ,3 1 。 从加密的流程可以看出,轮迭代函数F 包括的 运算有异或、非线性变换_ r 和线性变换L ,如式( 1 ) 所示。 2 F ( 置,置+ l ,墨置小心) 2 置0 T ( 置+ 。o 置+ 2o x mo 心)( 1 ) 图l 中,T 表示合成置换,是由非线性变换f 和 线性变换L 复合而成,迭代函数F 的详细的流程【6 如图2 所示。 在合成置换T 中,非线性变换T 是由4 个并行 S 盒子构成,每个S 盒子为固定的8b i t 输入8b i t 输出的置换,记为仇= 勋似( 哝) ,其中七 0 ,1 ,2 ,3 , 芝,q 乏,吼为s 盒子输入,为s 盒子 输出,设彳= I lqI I 吃I I 巳= 五+ 。o 五+ :0 墨+ ,0 心,庐6 0I I6 1 | | 6 2I I6 3 ,其中,I l 表示2 个数据b i t 的拼接,则非线性变换t 为 i 一+ 一+ :一,胁帅 图lS M S 4 的加密算法流程 2 0 1 5 0 1 6 2 万方数据 通信学报第3 6 卷 五一:, 轮函数F 图2 迭代函数F 的流程 占2 可口) 锄n H ) | | 勋似( q ) | | 勋似( 哆) | | 鼢似( 吩) ( 2 ) 线性变换L 的描述为 C _ L 但) 钮o “2 0 “ 1 0 ) o l8 ) 0 ( 曰 2 4 )( 3 ) 其中,C 雹2
展开阅读全文