对于含笔者在内的小白用户来说,OpenSSL尽管与我们息息相关,但似乎我们并没有太多机会关注和了解它。为数不多的对于OpenSSL的认知,则是有关其“心脏流血”(Heartbleed)的漏洞被电视媒体和互联网媒体报道;罗永浩以及其有关的锤子科技对OpenSSL的大笔捐助;以及最近的“界面”饱受争议的那篇有关OpenSSL和罗永浩的文章。
但广泛流传的未必就是真相,而且众说纷纭中的各种似是而非,实在不便于大家真正了解OpenSSL的庐山真面目。于是,笔者试图从更详细的角度梳理一下OpenSSL,以便大家更好围观。
OpenSSL为何物?
认知OpenSSL得先从SSL说起,SSL可能是大家接触比较多的互联网安全协议之一,看到某个网站地址用了“https://”开头,就是采用了SSL安全协议。根据百度百科的定义,SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。SSL标准由网景公司(Netscape)最早提出,Netscape在推出第一个Web浏览器的同时,提出了SSL协议标准。目的是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。到目前SSL已经成为Internet上保密通讯的工业级别标准。
OpenSSL 则是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。OpenSSL是一种开放源码的SSL实现,用来实现网络通信的高强度加密,现在被广泛地用于各种网络应用程序中。
有关技术和标准的东西,从协议来看,总是不太易懂,有点云里雾里的感觉。再通俗一点讲,OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,它通过一种开放源代码的SSL协议,实现网络通信的高强度加密,目前正在各大网银、在线支付、电商网站、门户网站、电子邮件等重要网站上广泛使用。显然,说到这里,大家自然就明白OpenSSL和我们自身息息相关了,只是具体怎么相关法我们很少关注。
如果理解起来还有困难的话,还可以在直白一点讲。SSL可以理解为是一个高强度加密的安全锁,而OpenSSL其实就是当前互联网上使用量最大的锁。甚至不夸张的说,你能在网上看到每个“HTTPS”标志,都意味着一个OpenSSL的使用实例。
OpenSSL的进化史
主要版本进化史,更详尽的版本进化可以参见http://www.openssl.org/news/
1998年12月23日,发布0.9.1c;
……
2010年3月29日,发布1.0.0,取代0.9.8x;
……
2015年1月22日,发布1.0.2,当前版本,取代1.0.1,支持DTLS v1.2。
严格的说,OpenSSL只是由一伙黑客或者说爱好者,自发组织起来,跨国协助完成的开源项目,这些黑客中的大多数是以志愿者的身份参与的。写到此处,应该有掌声,世界的某个角落,总有些在常人看起来默默无闻的“志愿者”们在干着伟大的事情。
OpenSSL在国内逐渐走向广为人知的标志性事件
1、Heartbleed Bug(心脏流血漏洞)
发生于2014年4月8日,Google和网络安全公司Codenomicon的研究人员发现,OpenSSL Heartbleed模块存在一个BUG。简单的说,黑客可以对使用https(存在此漏洞)的网站发起攻击,每次读取服务器内存中64K数据,不断的反复获取,内存中可能会含有用户http原始请求、用户cookie甚至明文帐号密码等。大家经常访问的网银、支付宝、微信、淘宝等网站也存在这个漏洞。
更通俗点讲“心脏流血”,代表着最致命的内伤。各种最敏感数据在网络上可以被攻击者随意读取,这种情况想想就让人毛骨悚然。利用这一漏洞,黑客坐在自己家里的电脑前,就可以实时获取到很多https开头网址的用户登录账号密码,而且场地不限,比如说,黑客可以在自己的办公室,也可以在其他国家实现数据盗用。
好在OpenSSL很快发布了1.0.1g版本,以修复这一问题,但网站对这一软件的升级还需要一段时间,在这个窗口时间里,用户的敏感数据实际是随时可能被盗用的。所以在2014年这个漏洞爆发后的很长一段时间里,因为媒体连篇累读地提及“心脏流血”,公众也因此对OpenSSL有了一个感性的认知,但显然,这种认知都是比较负面的,毕竟漏洞并不是什么好事儿。
《华尔街日报》撰文称,震惊互联网的“心脏流血”漏洞暴露出OpenSSL的一大软肋:如此重要的项目多年来始终面临着资金和人手不足的窘境,多数工作都要由为数不多的志愿者来完成。
不过基于OpenSSL的重要性,以及Heartbleed Bug的出现,也让业界更加重视OpenSSL,或许正是因祸得福吧。
2014年4月24日Linux基金会宣布成立了核心基础架构联盟,这是一个包含数百万美元投入的庞大支持计划,能为处在全球信息基础架构中的关键项目提供资金。出资人包括亚马逊、戴尔、Facebook、富士通、Google、IBM、英特尔、微软、NetApp、Rackspace、VMware等多个巨型IT企业、互联网新锐和Linux基金会。 该联盟旨在让开发人员能全职在项目上工作,并且支付安全审计、硬件和软件基础设施,旅行及其他费用。OpenSSL是该联盟资金资助的首位获得者候选人。
2、OpenSSL和罗永浩
小白用户更多关注到OpenSSL,是因为罗永浩自己提及锤子科技给OpenSSL捐助了200万元人民币事件,据称这是OpenSSL历史上获得的最大一笔捐赠,而老罗和锤子科技则对OpenSSL予以高度赞誉,认为其在情怀和理想主义上,与老罗和锤子科技一贯宣扬的公众形象,很有共鸣之处。
这种赞誉,在最近“界面”上的一篇文章:《隐形战友》,再次将OpenSSL和罗永浩推向舆论的风口浪尖。很多人质疑罗永浩利用捐款事件炒作,认为罗永浩和锤子科技的捐款只是锦上添花,而非雪中送炭。并提出在此之前其实也有不少组织和公司给OpenSSL捐款,即使没有罗永浩极其锤子科技的捐款,OpenSSL也能正常运转。至于是或者不是,只能OpenSSL组织自己出来澄清了。但是从《华尔街日报》的报道来看,OpenSSL确实多年来始终面临着资金和人手不足的窘境。
无论你喜欢或者讨厌,都无法改变一个事实:
罗永浩的情怀舆论站,让广大中国人,至少是网民更多地知道了OpenSSL的故事。而锤子科技在国内第一个向OpenSSL捐献“巨款”(相比之前的捐款而言)对OpenSSL组织的帮助,会让更多的网民受益。
从这个角度来说,对于罗永浩和锤子科技的捐款,我们应该多些肯定。
最后,关于开源和捐助
关于以OpenSSL为代表的开源项目,笔者想说,不管正解还是误解,都无法阻挡那一群在常规世界里看起来默默无闻的人们,通过互联网,跨越时空,相互协作,凭借自己的智慧和理想,一道完成着和大家息息相关的,“伟大”的事情。对于给予这些人们以帮助的任何行为,不管正解和误解,都应该多些宽容,少些质疑,多些实际行动。