HTTPS原理详解

HTTPS = HTTP + SSL/TLS,其中TLS是SSL的升级版。HTTPS之所以可以保证安全,就是因为在HTTP协议的基础上增加了SSL,所以我们重点来了解以下SSL。

对称加密与非对称加密:

加密:明文使用密钥处理后变为密文的过程。

解密:密文使用密钥处理后变成明文的过程。

对称加密:加密和解密使用的密钥是一样的。对称加密效率高,但不安全。

非对称加密:加密和解密使用的密钥是不一样的。用公钥加密后只能用私钥来解,用私钥加密后只能用公钥来解。非对称加密效率低,但是安全性高。

SSL加密方式说明:

SSL采用的加密方式为:非对称加密 + 对称加密,通过非对称加密的方式来交换对称加密的密钥,然后进行正常的对称加密。

为什么要这样做?非对称加密效率低,但安全;对称加密效率高,但不安全。所以通过非对称加密交换的方式来传递对称加密密钥,保证了对称加密密钥的安全性,对称加密只要保证密钥对外不可知,就可以保证信息安全,之后便可利用对称加密的高效率方式进行加解密了。

SSL握手流程:

1、服务端给客户端发送公钥;

2、客户端浏览器校验该公钥的合法性,用该公钥加密一个对称密钥;

3、客户端用该公钥加密一个对称密钥(所谓对称密钥就是一个随机值),然后发送给服务端;

4、服务端根据私钥解密,得到该对称密钥; 

5、此时双发都知道了对称密钥,但是对外是不可知的,此后就可以根据此对称密钥进行对称加解密了。

具体流程:

 

1、客户端发起HTTPS请求

2. 服务端的配置:采用HTTPS协议的服务器必须要有一套数字证书,可以是自己制作或者CA证书。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用CA证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。公钥给别人(也就是客户端)加密使用,私钥给自己解密使用。

3. 传送证书:这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等。

4. 客户端解析证书:这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等。如果发现异常,则会弹出一个警告框,提示证书存在问题;如果证书没有问题,那么就生成一个随即值(对称密钥),然后用证书(公钥)对该随机值进行加密。

5. 传送加密信息:这部分传送的是用证书加密后的随机值(对称密钥),目的就是让服务端得到这个随机值(对称密钥),以后客户端和服务端的通信就可以通过这个随机值(对称密钥)来进行加密解密了。

6. 服务端解密信息:服务端用私钥解密后,得到了客户端传过来的随机值(对称密钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和密钥通过某种算法混合在一 起,这样除非知道密钥,不然无法获取内容,而正好客户端和服务端都知道这个密钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息:这部分信息是服务段用对称密钥加密后的信息,可以在客户端被还原。

8. 客户端解密信息:客户端用之前生成的对称密钥解密服务段传过来的信息,于是获取了解密后的内容。


整个握手过程第三方即使监听到了数据,监听到的也是加密后的数据,无法查看;而且也无法串改,因为串改之后就无法正常解密了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值