1 / 11

By 施烨雯

By 施烨雯. “加密芯片的旁道攻击防御对策研究” 旁道攻击基本原理 智能卡工作原理 SCA 的具体方法 DPA 的物理基础 功耗攻击流程图 影响功耗分析的噪声. 旁道攻击基本原理. 目前主流的加密算法,如对称加密算法 DES 和 AES ,非对称加密算法 RSA 等等在数学上是安全可靠的。因此攻击难度很大,而且随着密钥长度增加攻击难度急剧增加。实际上信息系统任何一个环节的弱点都可能成为被攻击的途径。智能卡在输入信息和密钥进行处理的过程中,会泄露一些信息,如功耗、时间、电磁辐射等。通过观测分析泄露的信息可能比其他方法更容易获得密钥,即所谓的旁道攻击。. 智能卡工作原理.

ayasha
Download Presentation

By 施烨雯

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. By 施烨雯 • “加密芯片的旁道攻击防御对策研究” • 旁道攻击基本原理 • 智能卡工作原理 • SCA的具体方法 • DPA的物理基础 • 功耗攻击流程图 • 影响功耗分析的噪声

  2. 旁道攻击基本原理 • 目前主流的加密算法,如对称加密算法DES和AES,非对称加密算法RSA等等在数学上是安全可靠的。因此攻击难度很大,而且随着密钥长度增加攻击难度急剧增加。实际上信息系统任何一个环节的弱点都可能成为被攻击的途径。智能卡在输入信息和密钥进行处理的过程中,会泄露一些信息,如功耗、时间、电磁辐射等。通过观测分析泄露的信息可能比其他方法更容易获得密钥,即所谓的旁道攻击。

  3. 智能卡工作原理 • 读卡器向智能卡(以读写卡为例,主要是M1卡,也叫MifareOne卡)发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读卡器发射的频率相同。 • 在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷。在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷 • 送到另一个电容内储存。 • 当所积累的电荷达到一定电压(2V)时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读卡器的数据。

  4. SCA的具体方法

  5. DPA的物理基础 静态互补CMOS逻辑门由上拉网络(Pull.Up Network,PUN)和下拉网络(Pull.Down Network,PDN)组成,逻辑门的PUN和PDN网络是互补的,因此当逻 辑门处于稳态时两个网络有且只有一个导通。一旦瞬态过程完成,总有一条 导通路径存在于VDD和输出端F或VSS和输出端F之间。 CMOS逻辑门的功耗由动态功耗与静态功耗两部分组成。动态功耗只发生在逻辑门开关的瞬间,它由直流通路电流功耗与电容充电功耗两部分组成。 在没有开关活动存在时,电源和地之间仍然存在一个很小的电流,即漏电流,静态功耗是指由漏电流引起的功耗。 当逻辑门的输入信号发生变化引起输出信号由低电平跳变为高电平时,电源要对电容充电。电容充电功耗比直流通路功耗要大得多,它占了整个动态功耗的大部分。 只有输出信号发生O一1跳变时,电源才对电容进行充电;而在其它三种情况(0—0、1—1、1—0)下,电源并不对电容进行充电,因此可以很容易地将前者与后者区分开来。

  6. 芯片功耗分析的示意图

  7. 影响功耗分析的噪声 • 加密芯片产生的功耗信息幅值非常小,信号之间的串扰,衬底耦合噪声,地弹噪声等都可能会淹没功耗信息。因此在功耗攻击时,需要了解电路的噪声情况。 • 这些噪声主要包括两部分:1)密码模块电路本身的噪声,如热噪声,容性耦合噪声等;2)算法级噪声,主要是整个电路中与密码运算无关的其他逻辑门的功耗噪声。 • 由于测量目标是整个芯片中的一部分逻辑门,相对来说,其他逻辑门的功耗都是一种噪声。对前一类噪声,可以小心使用测量装置,好的电路设计经验和滤波等方法来降低。 • 对后一类噪声,则可以使用求平均值来消除其影响。

  8. “物理攻击密码系统的防御研究” • 针对DES的DPA具体实现方法(Page 16)

  9. 针对DES的DPA具体实现方法 • 64位的密钥(KEY)经过PERMUTED CHOICE 1的重新排列后得到各32位的C0与D0。 C0与D0各自循环移一位得到C1与D1, C1与D1组合成64位再经过PERMUTED CHOICE 2的重新排列后得到第1轮使用的但只有48位的子密钥K1。 • C1与D1各自循环左移1位后得到C2与D2, C2与D2组台成64位再经过PERMUTED CHOICE 3的重新排列后得到第2轮使用的48位子密钥k2。依此类推,可以得到各轮使用的子密钥。 • 由于PERMUTED CHOICE 2为64位转换至48位的固定表格,因此若子密钥K1为已知,反推可知C1,D164位中的48位。而C1与D1是由C0与D0各自循环左移l位后得到,以相反方向循环移位后反推C0与D0。 • 既然C0与D0为已知,而PERMUTED CHOICE 1为固定表格,也就得到密钥。因此若48位的子密钥K1为己知,经反推PERMUTED CHOICE 2 、循环右移、反推PERMUTED CHOICE 1后,至少可得到64位密钥中的48位。 • 获得64位密钥中的48位后,其它的位可由穷举法得到。差异能量攻击技术正是藉由破解DES的子密钥Ki来破解DES密钥的。

  10. 针对DES的DPA具体实现方法 • 在16轮的每一轮中,DES数据加密算法执行8个S盒查找操作,每个s盒的输入为6位密钥与R寄存器中的6位的异或值,产生4位输出值,共得到32位输出值再与L寄存器的值异或。 • 轮函数的输入为32位的Ri与48位的子密钥Ki,32位的Ri经过E扩展变换后得到48位的T1,48位的T1与48位的子密钥Ki做异或运算后得到48位的T2,48位的T2以6位为一组成分成8组: • T2={T2Sl、T2S2、T2S3、T2S4、T2S5、T2S6、T2S7、T2S8} • 每一组T2Si寻找对应的盒Si,映射出4位的T3Si,8个4位的T3Si再重新组合成32位的T3: • T3={T3S1、T3S2、T3S3、T3S4、T3S5、T3S6、T3S7、T3S8} • 32位的T3经过置换函数P换位处理后得到32位的轮函数的输出。

  11. Power Analysis Attacks Revealing the Secrets of Smart Card Introduction: message, cryptographic key, cipher text symmetric and asymmetric cryptography secure in practice and computationally secure smart card as a protected environment to store a key and to perform a cryptographic operation categorization-1: active (exploit its abnormal behavior) or passive (observe its physical properties) categorization-2: interface-invasive/semi-invasive/non-invasive-SCA DPA (differential power analysis): Power analysis attacks exploit the fact that the instantaneous power consumption of a cryptographic device depends on the data it processes and on the operation it performs. Method: by calculating a difference of means There are significant peaks in the difference trace when the power consumption of The microcontroller depends on d (the MSB of the first byte of plaintext).

More Related