e-works数字化企业网  »  文章频道  »  基础信息化  »  网络与安全

互联网大陆的守夜人:信息加密技术

2015/12/7    来源:点融黑帮    作者:高帅      
关键字:信息加密技术  数据加密  SSL  
从古代战争中密码系统到互联网时代的OpenSSL,这篇文章为我们讲述信息加密技术的进化之路。文章最后,作者还分析了为什么 SSL 在中国难普及,以及怎么用信息加密技术保护个人信息。

信息加密技术
 
    互联网黄金时代的到来,让人们享受到了各种各样的便利,最大的功臣当然是计算机软硬件以及互联网通信技术的飞速发展,当然背后也有一些默默奉献的无名者,今天的文章的便是关于其中一位,我把它比喻为互联网大陆的守夜人 (The Night Watch)——信息加密技术。它就像美剧 Game of Thrones 里面的守夜人一样,默默无闻地保卫着互联网这片大陆不受 “异鬼” 的侵袭。
 
    一、数据加密浅谈
 
    为了使文章不那么枯燥,先从几个故事讲起。
 
    古代运用加密技术进行通信的著名案例是凯撒密码。凯撒是古代一位军事将领,他率先将加密技术应用于军事通信,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是 3 的时候,所有的字母 A 将被替换成 D,B 变成 E,以此类推 X 将变成 A,Y 变成 B,Z 变成 C。由此可见,位数就是凯撒密码加密和解密的密钥。
密钥
    显然,这太简单了,拉丁字母只有 26 个,人脑即可轻松破译。另外,通过统计学知识,只要文章够长,每个字母在一篇文章中出现的概率是特定的,例如字母 e 在英文中出现的几率最大,那么只要对密文略加统计,即可得出,密文中出现最多的字母对应的就是 e,其他以此类推。
 
    后来人们经过一番改进,增加了密钥的长度或者复杂度,只要保证密钥够复杂,并且密钥只被通信双方知道,便没那么容易被破解。这种使用单个密钥的加密技术叫做对称加密,特点是双方使用预共享密钥 (Pre-Shared Key)。
 
    后来,这种加密技术广泛应用到后来的战争中,二战时有一个著名的关于密码的故事:考文垂大轰炸。由阿兰图灵领导的团队破解了德国的密码系统,得知德国将实行月光奏鸣曲计划对考文垂进行毁灭式轰炸。英国为了不让自己的破解系统暴露于德国之前,故而没有对城内居民做出警告,也没有采取非常规防御措施,最终被夷为平地。这个故事暴露了预共享密钥的缺陷:算法再复杂、密钥再长,也有被破译的可能;并且密钥必须是预共享的 (Pre-Shared),如何安全地传送密钥也是一个难题。
 
    而太平洋战场的美国就比较聪明一些了。有一部 Nicolas Cage 主演的讲述太平洋战争的电影叫做《风语者》(Windtalkers)。故事里面,美军征了大量纳瓦霍族人并训练成通讯兵,使用一种基于纳瓦霍语的密码传递军事情报,日军要是想破译密码,就必须抓到通讯兵。Cage 的任务就是在战场上保护其中一个通讯兵不被日军抓到,万一不幸被抓,Cage 必须亲手杀死通讯兵以保护密码。
 
    这里通讯员就相当于一个"物理"形式的密钥,它的好处是,物理密钥被别人窃取才有可能进行破译,这就极大增加了安全性。现实生活中最常用的场景就是银行申请网银的时候都要配一个 USB KEY,网上大额支付的时候需要在电脑上插入 USB KEY,相对于纯密码更安全一些。
 
    后来人类发明了一样伟大的东西——计算机,并且经过不断改进,计算能力越来越强,人们开始使用计算机进行信息的加密解密,当然剑是双刃的,好处是我们可以使用更长更复杂的密钥或者算法来快速进行加密,坏处是,坏人也会用利用它更快地进行破解,将来可能还会出现更强大的计算机技术如量子计算机技术,也许当前理论上几百年才能破解的密文,未来只需几秒即可解密;而且预共享密钥的加密方法,密钥的安全传递始终是一个漏洞。于是一种更完美的加密技术应运而生——非对称加密技术。
 
    非对称加密技术的基本原理是:生成一对密钥,一个叫公钥,是可以公开被所有人知道的;另外一个叫私钥,只有密钥的主人持有,其他任何人都不能得到;公钥加密的密文只有私钥才能解密,私钥加密的密文只有公钥才能解密。举个例子:
公钥
    如图所示,Alice 要想给 Bob 发送私密数据,那么 Bob 先把公钥公开,Alice 用 Bob 的公钥加密自己的数据,然后发送给 Bob,Bob 用自己的私钥进行解密;反过来,如果 Bob 要给 Alice 发送非私密但是必须真实的数据,Alice 为了确定收到的数据确实是 Bob 发的而没有中间人篡改,她可以用 Bob 的公钥进行解密,如果能正常解密则证明消息确实是 Bob 发送,因为除了 Bob 以外其他人无法生成可以用该公钥解密的数据。
 
    因此非对称加密技术广泛应用于通信加密、数字证书、数字签名、身份认证等等。
 
    二、OpenSSL
 
    去年,发生了一个震惊整个互联网的漏洞—心脏滴血 (Heartbleed),让 OpenSSL 这个默默无闻的却承担保护全世界网民信息安全的隐形 “卫士” 现身到大众面前。OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序和类库。全世界的网站大都在使用 OpenSSL 这个开源工具保护他们的信息安全,这么伟大的项目却穷的才几个程序员,而且分布在世界各地,通过网络彼此沟通协作,一直靠捐赠维持生计,捐赠者包括诺基亚、华为、甲骨文等知名企业。
 
OpenSSL
 
    那么问题来了,OpenSSL 是如何保护我们的?
 
    我们的互联网是通过千千万万通信设备 (路由设备、交换设备) 以及线缆 (电缆、光缆) 连接到一起的,当我们的数据在这些设备、线缆中传输的时候,很容易被人通过各种手段例如软件抓包、信号窃听等设备截取到,并根据传输协议进行解码获取敏感信息,如下图。
 
解码
 
    好在我们有加密技术保护。拿 WEB 服务来说,我们可以通过部署 SSL 证书来启用 HTTPS 协议,这样在客户端浏览器与服务端 webserver 之间传输的任何信息都是密文,我们提交的表单中的账号和密码,以及服务端返回的包含个人信息的网页都被安全加密。下面简要解析一下其中原理。
 
    由于篇幅有限,关于 SSL 如何加密解密原理这里不赘述,可以参考前面的非对称加密原理。当然实际过程会更复杂一些:非对称加密传递密钥,对称加密算法数据加密,消息摘要做完整性校验(+本站微信networkworldweixin),并且每种加密方式还有多种算法供选择,具体使用哪种算法哪些参数是浏览器端跟服务端协商决定的。这里重点介绍一下证书的信任问题。


责任编辑:王慧敏
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐