https协议和SSL证书的区别

我们在networking浏览器中使用https协议和SSL证书有什么区别?

这两个都不是用来encryption客户端(浏览器)和服务器之间的通信吗?

HTTPS是HTTP(超文本传输​​协议)加上SSL(安全套接字层)。 您需要证书才能使用任何使用SSL的协议。

SSL允许任意协议安全地传送。 它使客户能够:(a)validation他们确实在与他们期望的服务器进行通信,而不是中间人(b)对networking通信进行encryption,使得客户端和服务器以外的其他方不能看到通信。

SSL证书包含公钥和证书颁发者。 客户不仅可以使用证书与服务器进行通信,客户还可以validation证书是由官方authentication中心encryption签名的。 例如,如果您的浏览器信任VeriSign证书颁发机构,并且VeriSign签署了我的SSL证书,您的浏览器将固有地信任我的SSL证书。

这里有一些很好的阅读: http : //en.wikipedia.org/wiki/Transport_Layer_Security

两件一个解决scheme。

https是定义客户端和服务器如何协商安全连接的协议。

SSL证书是他们用来同意服务器真实性的文件。

HTPS是新的HTTPS。 HTTPS非常容易受到SSL剥离/ MITM(中间人)的影响。 引用adam langley的(谷歌)博客帝王紫罗兰:

“HTTPS往往会引起人们嘲笑证书安全及其周围的生态系统。”

问题是该页面不通过HTTPS提供。 应该是这样的,但是当用户在浏览器中input主机名时,默认scheme是HTTP。 服务器可能试图将用户redirect到HTTPS,但redirect是不安全的:MITM攻击者可以重写它,并保持用户在HTTP上,欺骗整个真实网站。 攻击者现在可以拦截所有的stream量到这个完美configuration和安全的网站。

这被称为SSL剥离,这是非常简单和破坏性的有效。 我们可能不会经常看到它,因为这不是公司代理需要做的事情,所以它不是在现成的设备上。 但是,这种喘息不可能持续很长时间,也许已经结束了,我们怎么知道它是否被使用?

为了停止SSL剥离,我们需要使HTTPS成为唯一的协议。 我们不能为整个互联网做到这一点,但是我们可以通过HTTP严格传输安全(HSTS)逐站进行。

HSTS告诉浏览器始终通过HTTPS向HSTS站点发送请求。 站点通过内置在浏览器中或通过广告标题变成HSTS:

严格的运输安全:最大年龄= 8640000; includeSubDomains

标题在给定秒数内有效,也可能适用于所有子域。 必须通过干净的HTTPS连接接收标头。

一旦浏览器知道一个网站只有HTTPS,用户inputmail.google.com是安全的:最初的请求使用HTTPS,并没有漏洞攻击者利用。

(mail.google.com和其他一些网站已经作为HSTS站点内置到Chrome中,所以实际上不可能通过HTTP访问accounts.google.com与Chrome浏览器 – 我不得不去医生那个形象!如果你想包括在内在Chrome内置的HSTS列表中,给我发电子邮件。)

HSTS也可以保护你,网站pipe理员,从犯愚蠢的错误。 假设你已经告诉你的母亲,她应该在访问她的银行网站前总是inputhttps://或者为她设置一个书签。 诚实地说,我们可以或者应该对用户期望。 但是,让我们说,我们的超级用户…]

因为阻碍/非常愚蠢的链接规则为新的用户在stackoverflow我不能给你亚当的答案的其余部分,你将不得不访问adam langley的博客自己在https://www.imperialviolet.org/2012/07/19 /hope9talk.html

“Adam Langley同时在Google的HTTPS服务基础架构和Google Chrome的networking堆栈上工作。”

HTTPS是一个应用层协议。 它可以通过数字签名提供不可否认的个人请求或响应。

SSL是较低级别的协议,并没有此function。 SSL是传输级别的encryption。

HTTPS比SSL更灵活:应用程序可以configuration所需的安全级别。 SSL的选项较less,所以安装和pipe理起来更容易。