首页 » InfoTech »

HTTPS的加密原理

2018年5月26日 / 60次阅读
TCPIP

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

HTTPS就是安全的HTTP协议,所有数据都是通过加密的方式传输,安全可靠。本文介绍其实现原理。

 

HTTPS提供的安全通信,应用了对称加密,非对称加密,数据签名等技术。

在HTTPS的正常通信过程中,采用的对称加密,速度快,但是问题是客户端和服务器需要协商加密算法和秘钥,因为加密算法和秘钥要相同,才能正常使用对称加密。

这个协商的过程,就要用到非对称加密算法。服务器拥有私钥,客户端拥有公钥,于是相互直接都能解开协商过程的数据包。

但是,以上过程还是不够安全,如果遇到中间人攻击(MAN-IN-MIDDLE),客户端是无法判断其受到的服务器的公钥,是不是真的就是服务器发出来的。

因此,CA机构登场,CA的作用是给网站服务器制作数字证书(可以理解为一个特别的文件)。CA机构给网站颁发数字证书文件后,客户端其实获取到的是服务器的CA证书。这个证书里面包含的服务器的公钥,并且能够证明这是否是真的服务器的公钥。

 

这里有几个重要细节要梳理:

1, CA机构是行政认命,这一个环节是非技术因数;

2, CA机构发布的数字证书,其实就是用CA机构的私钥对服务器的公钥进行加密,客户端要使用CA机构的公钥来解密,获取服务器的公钥;由于第1点,一般浏览器或操作系统都已经存储了认证的CA机构的公钥,所以客户端在本地就可以直接使用CA的公钥解密;

3, 数字证书里面除了含有加了密的服务器的公钥之外,还有此证书本身验证真伪的必要信息,最重要的,是数字证书的签名;这个签名可能是一个MD5摘要,然后用CA机构的私钥加密;客户端要先用公钥解密,然后使用证书中约定的方式,计算MD5值,然后对比,如果一致,表示证书是真的;

4, CA数字证书是不可篡改的,因为MD5值使用了CA机构的私钥加密,就算有中间人攻击,中间人可以解开并查看证书里面的所有信息,但是却无法修改这个证书,因为中间人没有CA机构的私钥;中间人如果用自己的私钥篡改证书数据,客户端是解不开的;中间人用CA机构的公钥篡改数据,客户端同样无法解开;中间人如果直接系统相同CA机构给它发的证书,数字签名验证不会成功,因为其无法用CA机构的私钥做加密;

5, 客户端拿到服务器的公钥之后,将对称加密的秘钥加密后,发给服务器,中间人无法用相同服务器的公钥来解密,所以看不到对称加密的秘钥;服务器在确定了对称加密的秘钥之后,使用其对信息进行加密,然后传输给客户端,双方正常加密通信,中间人毫无办法。

以上第4和5是理解整个过程安全性的关键点。

 

整个HTTPS的流程,可以用下图来理解:

HTTPS的流程

HTTPS的流程

关键点就是那个CA证书,让客户端获取到了真实的服务器公钥,然后用这个公钥来加密协商后面的秘钥。整个HTTPS流程的安全关键在于CA机构,这个是政府认证的,另外就是私钥的安全,不能被窃取。

本文链接:http://www.maixj.net/ict/https-18091
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

《HTTPS的加密原理》有1条评论

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.

  • 麦新杰

    CA证书要花钱购买,年费比云服务器还贵!! [ ]


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top