徐令予
拿什么拯救你-危机四伏中的密码系统 精选
2016-3-8 10:04
阅读:25307
标签:量子计算机, 密码学, RSA, 非对称密码, 恩尼格玛密码机

量子密钥分配技术(上)拿什么拯救你-危机四伏中的密码系统

长久以来人们都把密码与军事、外交联系在一起,印象中使用密码的人物如果不是躲在阴暗角落的间谍特务就是捍卫国家安全的孤胆英雄。事实上,今天每个普通人都离不开密码,密码技术已经飞入平常百姓家。当你在网上购物,当你用手机通话或收发微信,所有信息都在开放共享的网络上传输,现代通讯技术使得信息的传输变得十分方便、迅速和高效,但同时它也使信息很容易被黑客截获,没有密码技术保护在网上使用信用卡,在无线网上通话将会是难以想象的。据估计,每天有全世界生产总值一半以上的金钱财产在国际银行金融电讯网络(SWIFT)上流动,这样大规模的金融活动如果失去可靠有效的密码技术保护必会引起世界级的灾难!

当然现代化的军隊也比过去更依赖于密码技术,否则哪来远程打击?如果遥测遥控的信息被盗,敌方可以隐藏保护自己,或者可以改变导弹的轨迹,甚至操纵无人机据为已有。事实上对今日的攻击方而言,使用导弹和飞机已是多余,如果能破解对方的密码系统,发个命令就可以秒杀对方城市的供电、公交和电讯系统,真正达到“不战而屈人之兵”的最佳效果。

可以毫不夸张地说,密码学是信息时代-后工业时代的基础,密码技术对于政府、军队和大众生活,已是不可须臾离者也,它像空气一样,人们一刻也少不了它,但却常常为人所忽视。今天的密码技术正面临着严峻的挑战,新技术的研发已经刻不容缓。本文上篇将通过对密码技术基本知识的介绍,把密码危机的由来解释清楚,从而明白为什么要引人量子密钥分配技术,下篇将着重介绍量子密钥分配的原理和该技术的现状和展望。

简单地说,密码技术就是发送方通过双方认同的某种规律把明文加密后得到密文,然后通过不安全讯道送给接送方,接收方再按照该规律把密文解密后还原成明文。最古典的两种加密方法无非是字母的置换和替代。

替代法是按规律地将一组字母换成其他字母或符号,例如明文‘fly at once’变成密文‘gmz bu podf’(每个字母用字母序列中下一个字母取代)。使用同样的方法只要改变一个参数(每个字母用下两个字母取代),密文就变成‘hha cv qpfg’。在密码学中把这种加密解密的方法称为密码算法,而把算法中的秘密参数称为密钥(Key),它只能为通讯双方共享。

P1)对称密码体制中用相同的密钥作为加密和解密算法中的秘密参数。

自有密码技术诞生起,破密技术的发展就没有消停过,这对冤家兄弟从古至今爭斗得难分难离。例如上面提到的字母替代法早已停止使用,它太容易被敌方破译。因为每个英文字母在明文中出现的机率是不同的,只要把密文中的字母也作一次出现率统计,不难找出字母之间替代的规律,从而破解密文。

道高一尺,魔高一丈,高级的加密算法使字母的替代不是固定一一对应关系,字母替代的次序与出现机率也不是固定的,有兴趣的可以看本文后面附件中的“维热纳尔方阵”算法,这种算法并不难理解,但如果没有密钥就很难破译[1]。

二战中徳国军队使用的恩尼格玛(Enigma)密码机把密码技术推到了当时的顶峰。恩尼格玛密码机在密码技术上有三个突破:1)密码机依靠机电设备自动完成加密和解密过程,因而可以高效正确地完成高度复杂的密码算法;2)密码机上的转轮的设置和面板对接孔联线方式决定了字母复杂多变的替代关系,它们就是系统的密钥,密钥可以轻松地每天一变,这使得对密文的破译变得更为困难;3)由于算法和密钥的彻底分离,使得敌方缴获密码机没有多大用处,通讯的安全是靠复杂多变的密钥得到保障[2]。

P2)二战中德军使用的恩尼格玛密码机。(右边)密码机上的转轮的配置和起始点的变化再加上机子正下方的对接孔不同的联接方式共同构成了系统的密钥。

战时的英国情报机关为了破译德国的恩尼格玛密码伤足了脑筯,回顾这段历史的“Imitation Game ”是部值得一看的好电影。但是该影片过份夸大了英国情报机关的功绩,事实上战前波兰破译小组对恩尼格玛密码机的深入研究和德国内部叛徒提供的有关资料都为英国的破译帮了大忙。当然天才数学家图灵为破译恩尼格玛作出了巨大的贡献,图灵首先意识到“解铃还须系铃人”,机器成生的密码只能依靠机器破译,为此他越级向英国首相丘吉尔直接打报告,申请十万英镑研制破译机器,这在当时是一笔巨款。令所有人意外的是,丘吉尔竟然批准了这个看似极不靠谱项目,而且在百忙之中,亲自探望了图灵为首的破译小组。什么是领袖气质?领袖一定要能做到:慧眼识才招揽天下英雄;高瞻远瞩把握长远趋势。丘吉尔真不愧是一位世界级的枭雄。

英国情报部门对恩尼格玛密码机破译始终守口如瓶、滴水不漏,到战争结束,德军仍不知自己许多重要军事行动已被英国掌握。更绝的是,英国战后把缴获的成千上万台恩尼格玛密码机送给了原殖民地的英国盟国,这些国家长期使用它们直到七十年代初期,而有关破译恩尼格玛密码机的故事要到七十年代中期才被逐步透露出来。英国正应该称为“阴国”才名符其实,由此也可看到殖民地国家要摆脱宗主国的控制获得真正的独立有多么的不容易。

有了电脑以后,现代密码技术的算法更为高度复杂化。现今普遍使用的DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而近年来提出了AES和三重DES的变形方式会使破译变得更加困难。由于密钥中每位的数值是完全隨机选取的,一个128位长的密钥有2的128次方的不同组合,在世界最快的计算机中国天河2号上用穷举搜索法攻击也至少要化一万亿年才能得手!

有必要再次强调密码系统包括算法和密钥两部份。一个好的密码系统的算法可以是公开的,就像上面提到的DES算法,只要通讯双方保护好密钥,加密后的资料就是安全的。这个原则又被称为柯克霍夫原则(Kerckhoffs' principle)。认为所有加密法都可以被破解是大众的误解。理论上已经证明,只要密钥不再重新使用,信息被与其等长或更长的密钥加密后是不可能破密的。

既然如此,那么信息安全危机究竟在哪里呢?到目前为止讨论的所有密码体制中通讯双方使用相同的密钥进行加密和解密,在这种对称密码体制中信息的安全靠密钥保证。需要改变密钥时,通讯双方必须直接碰头交换,或者由可信任的第三方配送。所有问题也就发生在密钥分配过程中。保护和窃取密钥一直是许多警谍影视剧的重头戏,情节常常是这样的:交通员单骑行千里,到了上海的茶馆店里把缝在裤子里密码交与地下工作者,一旦发生意外把密码吞进肚子。由此也不难理解京剧“红灯记”歌词:“铁梅我,有准备;不怕抓,不怕放,不怕皮鞭打,不怕监牢押!粉身碎骨不交密电码--”。

美国政府的密钥是COMSEC(通讯安全局)掌管和分发的,七十年代时,它们每天分发的密钥数以吨计。当装载着COMSEC密钥的船靠港时,密码分发员会上船收集各种卡片、纸带以及其它一切贮存密钥的介质,然后把它们分送给各处的客户。依靠第三方配送密钥增加了通迅双方的开支,而且第三方配送者本身也构成了严重的安全隠患。

为了确保信息的安全必须经常更换密钥,但今天的通讯者常常相隔千山万水,要让通讯双方碰头交换密钥非常不现实,依靠第三方配送密钥一般人根本负担不起,而且也不一定及时可靠。密钥的配送问题长期困扰着密码学的专家们。

到了七十年代,一种称为非对称密码体制(又称为公钥密码体制)应运而生。在前面介绍的对称密码体制中通讯双方使用同一个密钥进行加密和解密,而非对称密码通讯时加密和解密使用一对公钥和私钥,用公钥加密后的文件只能被与其对应的私钥解密,反之也然。现在请对照下图来了解公钥密码体制的流程。右边接收方通过计算产生一对公钥和私钥(分别为绿色和红色),接收方把绿色的公钥通过公开信道大大方方地送给左边的发送方,发送方用接收方送来的公钥对文件加密后通过公开信道送给接收方,接收方用红色的私钥对文件解密,文件安全可靠地从发送方送到了接收方。

P3)非对称密码体制(即公钥密码体制)的原理示意图。

公钥密码体制的关键是用了公钥和私钥,一个公开一个隠秘,第三者拿了公钥没有任何用处,公钥能用来加密但不能解密,也推算不出私钥。而通讯双方可以隨时产生新的密钥对,把公钥通过开放信道送给发送方,把私钥藏妥,通讯双方无需直接碰头。这里介绍的是公钥密码体制的基本原理,实际应用中略为复杂一点,但原理相差无几[3]。

为了更好地理解公钥密码体制,可以把公钥看成一把打开的锁,私钥就是开锁的钥。接收方B把打开的锁通过公共渠道传给发送方A,A把文件放于箱中并用B送来的锁把箱子锁上,加锁后的箱子再通过公共渠道返还B,B用私钥把锁打开取出箱中文件。在传送过程中截获打开的锁毫无意义,事实上B乐意把许多打开的锁送出去并为众人所有,这样大家可以加锁给他送密信,而这把锁一旦锁上任何人再也无法打开,除了握有私钥的接收方B。

公钥密码体制中加密和解密的算法很复杂,计算量大,事实上很少直接用它来加密文件,它真正的用途是用来传送前面所介绍的对称密码体制中的那个通讯双方共用的密钥。所以实际上文件传送流程应该是这样:A方先决定一个密钥,然后用B送来的公钥加密后传给B,B用自己的私钥对其解密后获得真正的密钥,然后双方就用此密钥对文件加密后传送给对方,收到方用该密钥对文件解密。这样的系统很安全,因为密钥可以随时改变并被公钥密码体制保护后在公共讯道上传输不被截获,这才是通讯安全的根本保证。

那么天下是否就此太平无事了呢?很遗憾,答案却是否定的。“天下有贼”,而且贼的本事贼大。黑客攻击的重点是公钥系统,RSA公钥的产生基于两个大质数的乘积,它不是一个完全的隨机数,这就是整个密码系统中的阿喀琉斯的脚后根,一旦公钥系统破解,密钥就可能被截获,“皮之不存,毛将焉附?”整个系统就会崩溃。近年来美国技术标准局已经强烈建议把RSA公钥从1024位提高到2048位。

提高公钥密码位数极大地增加了加密和解密所化的时间,给日常的应用带来了诸多不便,却并没有从根本上阻止黑客攻击的热情和力度,提高位数给使用者増添的困难远超对黑客的阻力。而2014年的一条爆炸性新闻更是震惊了密码学界,从美国国家安全局(NSA)叛逃的斯诺顿(Edward Snowden)披露了NSA有一个绝密的项目 Penetrating Hard Targets,计划建造一台专用于破密的量子计算机。据传该局已经存放了大量外国政府的密电,一旦项目成功立刻对它们动手开刀。量子计算机虽然还在试制中,但贝尔实验室的一位数学家已经为此设计好了攻击RSA的算法,并声称已经写成可以在量子计算机运用的程序,它可以轻松地破解公钥密码体制。

量子计算机的研发进展是各强国的最高机密,媒体上的报道真真假假千万信不得,很有可能用以破译的专用量子计算机已经接近完工,这决不是危人耸听,密码世界从来是波诡云谲莫测高深。即使按专家们保守的预测,量子计算机的实际应用也许还要等十到十五年,但寻找新的密码系统,特别是开发密钥分配的新技术已经刻不容缓,因为新技术从开发到系统的建立和实用也需要时日,所以我们已经到了最危险的时刻!

[1]Vigenere 密码附件 Vigenere.pdf

[2]该密码机像部电动打字机,机器有26个字母按键和26个字母显示灯和一些机电联部件组成,这是固定部份,它们决定了加密和解密的算法;另外有三个可以装卸的转动轮和两排字母对接孔,这些转动轮排列的次序和开始的位置和字母对接孔的连线每天按照约定设置,它们就是每天通讯的密钥。发送时把明文字母用按键一一输入,经过机器复杂的变换后点亮不同的字母显示灯,这些字母出现的序列就是密文,把它用电报发送出去,接收方用同样的机器,按同样的密钥设置,键入密文,从字母显示灯的序列中读出的就是明文。

[3]公共密钥附件 Public Key.pdf


转载本文请联系原作者获取授权,同时请注明本文来自徐令予科学网博客。

链接地址:https://wap.sciencenet.cn/blog-2761988-961222.html?mobile=1

收藏

分享到:

当前推荐数:45
推荐到博客首页
网友评论52 条评论
确定删除指定的回复吗?
确定删除本博文吗?