首页
社区
课程
招聘
[原创]《能量分析攻击》系列笔记——第1章:引言(上篇)
发表于: 2017-4-28 10:23 10240

[原创]《能量分析攻击》系列笔记——第1章:引言(上篇)

2017-4-28 10:23
10240

1998年,Kocher等人指出[1],能量分析攻击可以有效地揭示出智能卡中的秘密信息,人们对密码设备安全性的传统看法瞬间坍塌。

在研究密码设备的防篡改特性之初,Paul Kocher连芯片逆向工程设备都买不起。没有这些设备,就无法实施真正的物理攻击。

于是,Kocher首先考虑了这样一个简单的问题:

这时候的Kocher,已经发现微妙的计时变化有可能会危及密钥。所以,他的脑海里蹦出这样一个想法:

因此,他从Fry's Electronics买了一台便宜的模拟示波器,价值500美元。把示波器搬回家几个小时之后,他和同事Joshua Jaffe[2]第一次观察到了能量迹[3]。他们还做了一些其他的实验,在这些早期实验中,渐渐诞生出一些方法和技术,它们将在日后产生重大的影响。不过,他们在对密码设备进行攻击时,必须选在晚上进行,因为白天实验室的光线太强,根本无法看清那台廉价的示波器产生的波形。

至此,能量分析攻击这一技术正式进入了研究人员的视线中。

在这之后,人们对能量分析攻击这一领域的研究日益深入,涉及到的学科也逐步扩展到密码学、统计学、测量技术和微电子学[4]。于是,跟历史上的许多技术热点一样,各种各样的研究论文和实验成果如雨后春笋般涌现出来。

这就给想要入门这一领域的人造成了很大的困扰。

这本书就是想做这样一个综述性的工作,能够让读者迅速熟悉各种不同类型的能量分析攻击与防御对策。因此大家在读的时候把它当成科普读物就好,不必将它看做一部研究性的著作,乐趣永远是第一位的。Paul Kocher在为原书作序时,最后一句话就是:And, above all else, have fun.

其实,Kocher的序整个最后一段话都非常精彩,我摘抄在这里:

“读者将会发现,本书非常有趣且令人警醒。卷起袖子准备大干一场吧!要敢于质疑,勤于参加学术会议,并遵纪守法。最重要的一点,愿读者从本书中获得乐趣!”[5,6]

注释:

1 : 参见Kocher等人的论文[KJJ99]:Differential Power Analysishttp://www.cse.msstate.edu/~ramkumar/DPA.pdf

2 : Joshua Jaffe是[KJJ99]这篇论文的三位作者之一,K自然是指Kocher,两个J则分别指Jaffe和另一位作者Jun。

3 : 能量迹Power Taces,我们会在第4章深入了解这个概念。

4 : 微电子学是我的本行专业。

5 : “You will find this book fascinating, interesting, and alarming. As you study, roll up your sleeves. Ask skeptical questions. Attend research conferences. Obey the laws. And, above all else, have fun.”

6 : 该序写于2006年9月,美国旧金山,此时的Kocher已经是Cryptography Research Inc. 的总裁兼首席科学家了。


本章结构: 

(上篇)

1.1:密码学与密码设备

1.2:密码设备攻击

(下篇)

1.3:能量分析攻击

1.4:能量分析攻击防御对策


1.1 密码学与密码设备

我们在开始研究一个领域时,首先要搞清楚一个问题:

很多时候我们都会忽略这样一个最基本的问题,结果辛辛苦苦地钻研很久,到最后却是南辕北辙。

研究软件安全和网络安全的朋友有很多,相信大家一定对“安全”这个概念并不陌生[1]但是由于术业有专攻,对于“硬件”这个词,很可能研究软件和网络安全的人和硬件安全从业者的认识大相庭径。即使同属硬件行业,由于所处的层级不同,对“硬件”这个概念的理解也可能有些差异。

因此,我觉得有必要给我们的研究对象限定一个范围。而这本书的作者,把主要的注意力放在了密码设备上。所以,我们后文研究和讨论的对象,将以密码设备为主。

那么,什么是“密码设备”呢?书中给出了这样的定义:

那么,什么是“密码算法”呢?简言之:

现代的安全系统使用密码算法以确保数据的机密性(Confidentiality)、完整性(integrity)以及真实性(authenticity)。

因此,以后大家可以把密码算法简单地看做一个函数。它有:

加密(encryption)的过程就是将消息或明文映射成密文。解密(decryption)过程则反之。

密码算法需要在密码设备中执行,这一事实直接导致了关于密码算法实际安全性的一个新问题。人们不仅需要关注密码算法自身的安全性,还要审视整个系统的安全性,因此,必须将实现密码算法的设备也纳入考虑。

在现代密码学中,关于安全的密码系统(cryptosystem)有这样一个原理:

这一原理最早由荷兰密码学家Auguste Kerckhoffs提出。[5]

从防护者的角度来理解这句话,就是说:永远不要低估你的对手,你要假设他们足够聪明,并且已经掌握了足够多的信息。而且通常情况下,事实就是如此。

我们以后还有机会继续讨论密码学的知识,因此,目前来说,大家对密码学的了解到这里就足够了,我们等用到的时候再深入展开。

注释:

1 : 当然,不同领域的人对“安全”的理解也会有很大不同。

2 : Cryptographic devices are electronic devices that implement cryptographic algorithms and that store cryptographic keys.”

3 : 想深入了解有哪些密码算法,可以参考Wikipedia的这个词条:Cryptographic_algorithmshttps://en.wikipedia.org/wiki/Category:Cryptographic_algorithms

4 : A cryptosystem should be secure even if everything about the system, except the key, is public knowledge.

5 : Kerckhoffs's principlehttps://wiki2.org/en/Kerckhoffs%27s_principle

6 : The security of a cryptographic device should not rely on the secrecy of its implementation.



1.2 密码设备攻击

前面一小节,我们清楚了我们的研究对象是密码设备。这一小节,我们就来讨论针对密码设备的攻击。

攻击(Attack)是这样的令人着迷,在某种程度上,它似乎是计算机安全技术发展的原动力。“物竞天择”的规律是如此普遍,以至于有生物的地方就有斗争,有人类的地方就有江湖。

计算机领域的攻击行为,常常会有各种各样的表现形式,入侵系统、获取信息、控制设备,不一而足,这些都属于攻击的范畴,因此大家对这个概念的理解通常比较宏观,相应地也就会带来一些混淆和误解。

所以,我觉得有必要把这本书所说的“攻击”行为做一个限定。本书的作者认为,所有对密码设备的攻击,目标都是为了获得密码设备中的密钥。任何企图通过未授权的方式来获取密钥的尝试都可以称为“攻击”。任何一个试图通过未授权的方式获取密码设备中密钥的个体都可以称为“攻击者”。

看到这里,可能大家脑海里还是没有形成一个清晰的印象。我初读此书时也是这种感觉。因为针对密码设备的攻击,和我们通常所接触的那些攻击形式都不太一样。不过不要紧,后面我会通过一些具体的例子,更详细地来阐释这些概念。

针对密码设备的攻击方式有很多,不同的方式在成本、时间、仪器以及专业知识上大相径庭。因此也有许多分类方法。这本书采用了最常用的分类方法,这个方法基于两个准则。

第一个准则是攻击是主动的还是被动的:

第二个准则是攻击所利用的接口(interface)。

密码设备通常有一些物理接口(physical interfaces)和逻辑接口(logical interfaces),其中有些接口可以很容易地访问,而另一些则只能通过特定的设备才能访问。基于攻击时利用的接口,可以将攻击分为入侵式攻击、半入侵式攻击和非入侵式攻击。所有这些攻击可以是主动攻击,也可以是被动攻击。

本书专门讨论能量分析攻击。对于通过其他方式对密码设备实施攻击的更多信息感兴趣的读者,可以参阅文献[ABCS06]。同样,还有一个在线的“侧信道密码分析憩园”[Cha06],它提供了关于面向密码设备中各种攻击的科研文献的一个列表。在这些文献中,绝大多数都涵盖了能量分析攻击及其对策。

截止到作者成书时,在对密码设备的各种攻击中,能量分析攻击受到了最为广泛的关注。事实上,关于该主题的公开文献很多,所以要跟踪该领域内正在进行的所有研究的确很困难。因此,提供一个关于能量分析攻击及其对策的全面概述也是此书的目标之一。

能量分析攻击引起了十分广泛的关注,原因之一是这种攻击功能强大,同时实施起来相对容易。因此,这种攻击对密码设备的安全性造成了严重的威胁。对于现代密码设备的设计和研发而言,熟悉能量分析攻击及其对策就显得尤为重要。通常,借助于能量分析攻击,只需付出很小的代价就可以破译未受保护的密码设备。


注释:

1 : Passive Attacks: In a passive attack, the cryptographic device is operated largely or even entirely within its specification. The secret key is revealed by observing physical properties of the device (e.g. execution time, power consumption).

2 : Active Attacks: In an active attack, the cryptographic device, its inputs, and/or its environment are manipulated (tampered with) in order to make the device behave abnormally. The secret key is revealed by exploiting this abnormal behavior of the device.

3 : Invasive Attacks: An invasive attack is the strongest type of attack that can be mounted on a cryptographic device. In such an attack, there arc essentially no limits to what is done with the cryptographic device in order to reveal its secret key.


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 63
活跃值: (261)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

上篇内容已经完结:

1.1 密码学与密码设备

1.2 密码设备攻击

下篇内容正在写作中:

1.3 能量分析攻击

1.4 能量分析攻击防御对策

2017-5-2 22:08
0
雪    币: 189
活跃值: (154)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
不错,等更新!
2017-5-10 15:56
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
4
是一本书吗?
2017-5-10 19:06
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
同微电子专业,留一个联系方式交流一下可好?
2017-5-11 20:08
0
雪    币: 241
活跃值: (1763)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
EOF
6
谢谢LZ!正在研究中
2017-5-15 18:36
0
雪    币: 256
活跃值: (170)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
写的挺好,等更新!
2017-10-25 17:52
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
点赞,等待更新,能不能更新稍微快点
2017-10-27 11:41
0
游客
登录 | 注册 方可回帖
返回
//