读书频道 > 网站 > 网页设计 > 深入浅出密码学——常用加密技术原理与应用
1.3.1 破译密码体制的一般思路
12-09-26    奋斗的小年轻
收藏    我要投稿   
本书拥有的诸多特征使得它成为密码学从业者和学生独一无二的资源—本书介绍了绝大多数实际应用中使用的加密算法,并重点突出了它们的实用性。对于每种加密模式,我们都给出了最新的安全评估和推荐使用的密钥长度...立即去当当网订购

1.3  密码分析

本节主要介绍对称加密中推荐使用的密钥长度和对不同加密算法的攻击方式。必须强调的一点是,即使攻击者知道该算法的详细情况,此密码也必须是安全的。

1.3.1  破译密码体制的一般思路

如果你问一个有技术背景的人密码破译与什么相关?对方极有可能回答,密码破译总是与复杂的数学、聪明的人和大型计算机相关。也许大家对第二次世界大战中英国密码破译人员的表现还有一定的印象:他们当时派出了天赋最高的数学家(由最著名的计算机科学家Alan Turing带领),使用体积庞大的电机式计算机来破解德国的Enigma加密机。然而,实际上还有不少其他的密码破解方法。下面将介绍现实世界中破解密码体制的各种方法( 如图1-6 所示) 。


 

1. 经典密码分析(Classical Cryp tanalysis)

古典密码分析可以理解为从密文y中恢复明文x,或反过来,从密文y中恢复密钥k的一门科学。回顾前面讨论的内容可知,密码分析可分为两类:一类是发现加密方法内部结构的分析攻击,另一类是将加密算法看作是黑盒,试图测试所有可能密钥的进行破解的蛮力攻击。

2. 实施攻击(Implementation Attack)

我们可以通过旁道分析获得密钥,比如测量处理私钥的处理器的功耗。也可以使用信号处理技术从功耗轨迹中恢复出密钥。除功耗外,电磁辐射或算法运行时的行为都隐含着一定的密钥信息,因此也是非常有用的旁道2。需要注意的是,实施攻击绝大多数情况下针对的是攻击者可以物理访问( 比如智能卡) 的密码体制,因此,绝大多数针对远程系统的基于Internet 的攻击通常不会考虑这种方法。

3. 社会工程攻击(Social Engineering Attack)

可以通过行贿、勒索、跟踪或侦探等手段来获得密钥,而且这些攻击方式总是与人有关,比如强迫某个人说出密钥( 用枪指着他/ 她的脑袋的方法通常很奏效) 。另一种较为温和的攻击方式就是给被攻击的人打电话,说“我是本公司的 IT 部门,我们需要你的密码以便更新一些非常重要的软件”。令人惊讶的是,在这种情况下,很多人总是非常天真地说出自己的密码。

目前列举的针对密码体制的攻击方式列表不是很全面,除此以外还有很多其他攻击方式,比如软件系统中的缓冲区溢出攻击或恶意代码等都可以泄露密钥。你可能会认为其中的很多攻击方式都不正当,尤其是社会工程和实施攻击,但现实世界的密码学本来就没有公平可言。当人们想攻击 IT 系统时,他们已经违反了规定,也已经是不正当的行为。这里我们需要学习的是:

攻击者总是在寻找我们密码体制中最脆弱的环节。这就意味着我们必须选择足够强壮的算法,也意味着我们必须保证切断社会工程攻击和实施攻击的可能性。

尽管实施攻击和社会工程攻击在实际应用中非常强大,但本书假设所有密码破译都基于数学密码分析。

可靠的密码体制必须遵守Auguste Kerckhoffs在1883年提出的一个假设,即Kerckhoffs原理:

定义1.3.1  Kerckhoffs 原理

即使除密钥外的整个系统的一切都是公开的,这个密码体制也必须是安全的。尤其是即使攻击者知道系统的加密算法和解密算法,此系统也必须是安全的。

有必要强调的是,Kerckhoffs原理看上去有悖常理!设计一个看似更加安全的系统总是非常具有吸引力,因为我们可以隐藏所有细节,这也称为隐蔽式安全性(security by obscurity) 。然而,历史经验和军事历史一次又一次地说明这样的系统总是非常脆弱的,一旦该系统的设计被逆向工程或通过其他途径泄露了,攻击者很轻易就可以将其攻破。一个典型示例就是用于保护DVD内容的内容加扰系统(Content Scrambling System,CSS),只要对这个系统进行逆向工程,很容易就能将其破译。这就是为什么即使攻击者知道加密算法,加密方案仍然必须确保安全的原因。

___________________________________________________________________
2 当你连通实验室的电子示波器,想要将你的Geldkarte(Geldkarte是绝大多数德国银行卡内嵌的一个电子钱包功能) 加载到最大200€前,应该意识到:现在的智能卡都拥有内嵌的、对抗旁道攻击的设备,并且很难攻破。
 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站