HTTPS加密机制


HTTP为什么要加密:

HTTP的缺点:
1.通信使用明文传输(不加密),内容可能会被窃听。
2.不验证通信方的身份,因此有可能遭遇伪装。
3.无法证明报文的完整性,所以有可能已遭篡改。

对称加密(共享密钥加密):

加密和解密同用一个密钥的方式称为共享密钥加密,也称对称加密。

共享密钥加密存在的问题:

以对称加密的方式加密时,必须将密钥发给对方,但如何安全地将密钥发送给对方又成为了原问题。

因此对称加密不可行。

非对称加密(公开密钥加密):

公开密钥加密方式解决了对称加密的困难。

公开密钥加密使用一对非对称的密钥。
一把叫做公开密钥,一把叫做私有密钥。
公开密钥可以随意发布,私有密钥则不能让其他人知道。

使用公开密钥加密方式,发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密信息后,在使用自己的私有密钥进行解密。

这种方式不需要发送用来解密的私有密钥。

同时,只根据密文和公开密钥,想要破解出原文是非常困难的。因此数据正确性可以得到保障。

公开密钥加密存在的问题:

公开密钥加密也是存在问题的。

如何证明收到的公开密钥就是服务器发布的公开密钥呢?
也许,在公开密钥传输途中,真正的公开密钥已经被攻击者掉包了。
似乎又回到了原问题。

数字证书(公钥证书):

为了解决公开密钥加密存在的问题,可以使用由数字证书认证机构和其相关机关办法的公开密钥证书。

数字证书认证机构是客户端和服务器都可以信赖的第三方机构。

数字证书认证机构的业务流程:

1.服务器的运营人员向数字证书认证机构提出公开密钥的申请。

2.数字证书认证机构的工作人员在确认申请者身份后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起。

3.服务器会将这份由数字证书认证机构颁发的公钥证书发给客户端,以用于公开密钥加密通信。

4.客户端使用数字证书认证机构的公开密钥,对收到的证书上的数字签名进行验证,如果验证通过,那么说明以下两点:一是,认证服务器公开密钥的机构是真实有效的数字证书认证机构;二是,服务器的公开密钥是真实可信的。

数字证书存在的问题:

认证机关的公开密钥必须是正确的,这似乎又回到了原问题。

多数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开密钥,这样就不需要通过传输获取了。

混合加密方式:

公开密钥加密的处理速度比共享密钥加密慢。

HTTPS采用的是共享密钥加密和公开密钥加密并用的混合加密机制。

回顾共享密钥加密的问题:无法保证共享密钥的正确传输。
那么只需要先利用公开密钥加密方式交换密钥,之后的通信交换报文使用共享密钥加密方式即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值