HTTPS详解

一、前言

1.通信的加密(报文传输通道的加密,即对称加密算法协商过程的加密)

2.内容的加密(报文主体的加密,即对称加密,报文首部并不加密)


二、概念

HTTP通过和SSL/TLS协议的组合使用,加密HTTP的通信内容。

(TLS是标准化后的SSL协议的名称,二者是同一个协议)

用SSL/TLS建立安全通信线路之后,就可以在这条线路上进行HTTP通信了。注意,这里的通信并非明文通信,是采用协商好的对称加密算法进行通信。(详情见后文)

与SSL/TLS组合使用的HTTP被称为HTTPS。


三、HTTPS的创建过程


概念明确 —— 什么叫安全?

A与B通信的内容,有且只有A和B有能力看到通信的真正内容

1.【问题一:如何保证A、B通信消息的安全?】

Step1:

【要达到的目标】

A发给B的hello消息包,即使被中间人拦截到了,也无法得知消息的内容

【目标的实现】

使用对称加密算法,加密A、B通信的内容。


2.【问题二:在www环境下,并不是一对一通信,如果服务器端对所有的客户端通信都使用同样的对称加密算法,无异于没有加密。因为攻击者作为一个客户端,也会知道加密的算法,并能够进行解密。怎么办?】


【答案】

Web服务器与每个客户端使用不同的对称加密算法。


与每个客户端通信都使用不同的密钥,即便攻击者作为客户端与服务器进行通信,也只能解密服务器发给它的消息,无法窃听到服务器与其他客户端的通信内容。

对称加密算法的生成:

使用随机数。保证服务器和客户端每次交互都是新的加密算法、只有在交互的那一刻才确定加密算法。

3.【问题三:我们的服务器端怎么告诉客户端该使用哪种对称加密算法?】

【答案】

通过协商。


4.【问题四:协商的过程没有加密,如果被中间人拦截,则采用的对称加密算法泄漏,怎么办?】

【答案】

加密这个过程。

Step2:

【要达到的目标】

加密对称加密算法的协商过程。

【目标的实现】

使用非对称加密算法

非对称加密的特点:

私钥加密后的密文,只要是公钥,都可以解密。但是公钥加密后的密文,只有私钥可以解密。

私钥只有一个人有,而公钥可以发给所有的人。

(私钥加密 ——> 公钥解密,公钥加密 ——> 私钥解密)


【注意】

这里,A、B向服务器方向是安全的。服务器向A、B方向,依然不安全,因为每个客户端都可以解密私钥加密后的信息。

5.【问题五:如何让客户端得到公钥?】

【答案】

服务器端将公钥发送给每一个客户端。

6.【问题六:服务器端发送公钥给客户端的过程,如何保证安全?】

公钥发送过程中可能被中间人掉包:


【答案】

不能直接将服务器的公钥传递给客户端。

让第三方机构使用它的私钥对我们的公钥进行加密后,再传给客户端。

客户端再使用第三方机构的公钥进行解密。


我们的公钥经过第三方机构加密后,就是数字证书:


数字证书发放给我们的服务器,客户端向服务器发送请求,请求证书,然后再用第三方机构的公钥去解密它。

【注意】

到这里,只要客户端能用第三方机构的公钥成功解密数字证书,就说明公钥没有被中间人调包。

因为如果中间人拦截了真公钥,并使用自己的私钥加密假公钥再传给客户端,客户端是无法使用第三方的公钥进行解密的。


7.【问题七:第三方机构不可能只给你一家公司制作证书,它也可能会给中间人这样有坏心思的公司发放证书。这时候,中间人可能会拿自己的证书,掉包你的证书,而只要是第三方机构发放的证书,都是通过机构的私钥加密,也就都能够用他们的公钥解密,客户端解密假的证书,也就拿到了假的公钥。怎么办?】


证书颁发过程
客户端解密过程

持有同一家第三方机构证书的中间人可以进行调包:

数字证书掉包过程

【答案】

数字签名,解决同一机构颁发的不同证书被篡改问题。

(数字签名相当于证书的编号,类比学历证书)

客户端可以通过证书上的编号,向第三方机构验证、当前的证书是不是发给我们服务器的那个证书。


8.【问题八:向第三方机构验证的过程需要发送远端请求吗?】

【答案】

不需要。

这个第三方机构的验证功能放在客户端的本地。

9.【问题九:客户端本地怎么验证证书呢?】

【答案】

证书上会写着如何根据证书的内容(XX.com,XX网的公钥)生成证书编号。

客户端拿到证书后根据证书上的方法,按照自己的公司名称、域名等,生成一个证书编号,如果生成的证书编号与证书上的证书编号相同,那么说明这个证书是真实的。



10.【问题十:如何避免证书编号本身又被调包?即:中间人将自己的证书写上为我们的证书编号。】

【答案】

使用第三方的私钥加密证书编号。

注意:

当中间人拦截到我们的证书,他可以解密我们的证书编号(其实也不需要解密,知道编号生成规则和想要攻击哪个公司,中间人自己就可以生成这个证书编号)。

但是,并不能完成掉包。

即使中间人将自己的证书编号篡改为我们的证书编号,但他无法完成用第三方机构的私钥加密我们的证书编号这个过程。因为,中间人伪装加密后的证书编号,客户端是无法用第三方机构的公钥解密的。如此,保证了真实证书编号的安全。

11.【问题十一:客户端机器如何拿到第三方机构的公钥?】

【答案】

现实中,浏览器和操作系统都会维护一个权威的第三方机构列表(包括它们的公钥)。因为客户端接收到的证书中会写有颁发机构,客户端就根据这个颁发机构的值在本地找相应的公钥。

因此,

客户端拿第三方机构公钥的过程,没有通信,是不存在安全隐患的。

12.【问题十二:第三方机构是如何颁发证书给服务器的?】

【答案】

第三方机构颁发证书给我们的网站管理员,我们的管理员将这个数字证书放到我们的服务器上。

如何向第三方机构申请?每个机构大同小异:


拿到证书后,我们就可以将证书配置到自己的服务器上了。


四、后记

1.概念总结:

证书 ——> 数字证书

证书编号 ——> 数字签名

第三方机构 ——> CA

2.HTTPS中的SSL/TLS协议:

协议的目标:

让客户端与服务器端安全地协商出一个对称加密算法。

即,上述从第四步开始,加密协商过程,就是HTTPS中的SSL/TLS协议主要干的活。

3.HTTPS的缺点:

多次交互及加密,性能差。

4.HTTPS总结:

HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。


整理自:

https://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651552875&idx=1&sn=fdcc0d73fbaa4e08511e8b3cd33bd46f&chksm=8025abaab75222bc389f4b51cd6bab07fe5cf9d2078444b3019b2c2874158ab5e3e75a9c143e&mpshare=1&scene=1&srcid=1020YIvaGuwmXMKMRZISH1wP&key=fad56b9f33c8aaf8e909919aba4cfd291f52f42d68794c120e36e6061a56223597b2460e619c44a43f6e6878d5f9135a744459a4e251ae147d19cc444a80bc5e508e51988828bba24832146739a20e59&ascene=0&uin=Mjg3MDc5MzAwMA%3D%3D&devicetype=iMac+MacBookPro13%2C2+OSX+OSX+10.12.1+build(16B2657)&version=12020010&nettype=WIFI&lang=zh_CN&fontScale=100&pass_ticket=9q%2BJ42uR8ayzaXbdF7Td21hqgtMYNsmBuOEImC4B6dDkLBlfqgnQ6qqFsaxCjcsL

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343