关于openssl的一些知识

来源:互联网 发布:证券投资软件 编辑:程序博客网 时间:2024/06/14 19:20

今天,csdn的首页第一篇文章便是:《到底谁才是真正的隐形战友——开源软件和OpenSSL的真实故事》


什么是ssl?

我理解就是一个安全协议,当你访问网站时使用的是http协议,但这是不安全的,如果要加密,就必须加上ssl协议。ssl是Netscape公司提出的(这个浏览器2003年就被IE打败,没了,但开源了,才有了Firefox)。


什么openssl?

我理解就是ssl的一个实现,里面包含了ssl的加密库。由于openssl太出名,有些文章会把openssl直接简称为ssl。


ssl用于什么地方?

它主要用于web服务器与客户端之间,也就是我们平常访问网站的时候。当然,如果双方不止可以是web服务端与浏览器之间的关系,还可以是电子邮件、即时通讯软件等,还可以是两个企业socket之间的通信。如果是socket通信,可能不是用openssl,也可以是其他ssl的库。


什么是https?

当你用https://来访问网站的时候,使用的就是http+ssl的协议。


全部网站都使用openssl吗?

根据首页的这篇文章和网上2014年对heartbleed报道的全部文章,都说大概全球2/3的互联网网站使用openssl。


剩下的三分之一使用的是什么安全协议?

我没研究这三分之二是怎么计算的,但是我觉得这个统计应该是使用了ssl的网站里有2/3使用openssl。因为,其实大部分的网站,都没有https的。就是ssl的使用率、openssl的使用率、还有没有其他的安全协议,希望知道的告诉我:)


为什么大部分网站不使用https(特别是国内)?

使用ssl是需要域名成本,但很低。真正的原因应该是:非金融类/小网站的没必要加密、影响效率、消耗CPU、政府规定不能加密(你懂的)。


ssl和tls有什么区别?

tls是在ssl3.0版本上建立的,比ssl有一点改进。


什么是心脏出血?

心脏出血(心脏流血)是英文Heartbleed的中文翻译,这名字的出处是2014年4月初openssl报出了漏洞后,把这个bug命名为Heartbleed的。所以心脏出血就是特指openssl的这个漏洞,与其他漏洞无关。


首页这篇文章攻击说的软文,是什么文章?

我朋友圈没有收到这文章,于是我在网上随便搜索了一下,应该是这篇:《OpenSSL隐形战友:互联网保护神 来自锤子的巨款》

另外,我还搜索到了另外一篇和首页这文章内容相似,但更为详细的文章:《批评《隐形战友》歪曲开源软件和OpenSSL的真实历史》,里面说到了openssl的代码和项目管理情况,我对这两点非常有兴趣。


如何实现https?

apache和nginx都是默认支持openssl的。tomcat、weblogic等我觉得也是可以支持的。比如我前年下载的httpd的windows安装版本,名字里就有openssl的:

httpd-2.0.64-win32-x86-openssl-0.9.8o.msi和httpd-2.2.22-win32-x86-openssl-0.9.8t.msi。你也可以下载no ssl版本的。当然,如果下载了支持openssl的版本,你还需要很多的配置的。apache的ssl链接:http://httpd.apache.org/docs/2.4/ssl/


之前对openssl不太熟悉,所以记录下以上问题。


2015.2.8

1 0