TW洞见 | 韩锴:HTTPS背后的加密算法

当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信。这些复杂的步骤的第一步,就是浏览器与服务器之间协商一个在后续通信中使用的密钥算法。这个过程简单来说是这样的:

  1. 浏览器把自身支持的一系列Cipher Suite(密钥算法套件,后文简称Cipher)[C1,C2,C3, …]发给服务器;
  2. 服务器接收到浏览器的所有Cipher后,与自己支持的套件作对比,如果找到双方都支持的Cipher,则告知浏览器;
  3. 浏览器与服务器使用匹配的Cipher进行后续通信。如果服务器没有找到匹配的算法,浏览器(以Firefox 30为例,后续例子中使用的浏览器均为此版本的Firefox)将给出错误信息:

本文将讲述如何探究这一过程。

1. 浏览器

浏览器支持哪些Cipher?这取决于浏览器支持的SSL/TLS协议的版本。习惯上,我们通常把HTTPS与SSL协议放到一起;事实上,SSL协议是Netcape公司于上世纪90年代中期提出的协议,自身发展到3.0版本。1999年该协议由ITEL接管,进行了标准化,改名为TLS。可以说,TLS 1.0就是SSL 3.1版本。在Wikipedia上并没有SSL独立的条目,而是会重定向到TLS,可见两种协议关系之紧密。目前TLS最新版本是1.2。互联网上有超过99%的网站支持TLS 1.0,而支持TLS 1.2的网站尚不足40%。打开Firefox浏览器,在地址栏中输入about:config,然后搜索tls.version,会看到下面的选项:

点击【阅读原文】可以继续查看精彩后文。

原文发布于微信公众号 - 思特沃克(ThoughtWorks)

原文发表时间:2015-01-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端黑板报

软件工程师需要了解的网络知识:从铜线到HTTP(五)—— HTTP 和 HTTPS

JohnLui:程序员,Swift Contributor,正在写《iOS 可视化编程与 Auto Layout》 HTTP 在以前的文章中,我大力推荐过《图解...

3687
来自专栏FreeBuf

TLS 1.3如何用性能为HTTPS正名

序•魔戒再现 几天前,OpenSSL官方宣布即将发布的新版本 (OpenSSL 1.1.1) 将会提供 TLS 1.3 的支持,而且还会和之前的 1.1.0 版...

3066
来自专栏PHP在线

关于HTTPS的七个误解

本文详细讨论了关于HTTPS的七个误解,误解内容包括HTTPS无法缓存、SSL证书很贵、HTTPS太慢等等,以下是原文,希望你可以更透彻地了解HTTPS。 来源...

3337
来自专栏阮一峰的网络日志

HTTPS的七个误解(译文)

我使用的工具主要有两个,在Firefox中是Firebug,在IE中是Fiddler。但是,一直听别人说,付费软件HttpWatch是这方面最好的工具。

1772
来自专栏源码之家

使用神器快速破解Zend及ionCube加密的php文件

2K4
来自专栏Java成神之路

java支付宝开发-01-沙箱环境接入

(1)蚂蚁沙箱环境(Beta)是协助开发者进行接口功能开发及主要功能联调的辅助环境。沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考“...

1362
来自专栏运维技术迷

成功安装SSL证书

昨天看老谢博客搞了一个SSL,一年才6块钱,然后就按捺不住去了淘宝。经过跟衡天的配合,今天上午终于可以完成了。以后,那一把绿色的小锁也会出现在我的网站上面了。不...

7487
来自专栏沈唁志

Linux下使用acme.sh申请和管理Let’s Encrypt证书

8453
来自专栏禹都一只猫博客

certbot免费SSL证书申请部署

2893
来自专栏黑白安全

中间人(MITM)攻击

中间人(MITM)攻击是一个通用术语,表示当犯罪者将自己置于用户与应用程序之间的对话中时 - 窃听或模仿其中一方,使其看起来好像是正常的信息交换进展中。

1572

扫码关注云+社区

领取腾讯云代金券