https工作流程

对称加密

加密和解密都使用同一个密钥

 

非对称加密

加密和解密使用不同的密钥

如:A与B使用非对称加密方式通信,A使用B的公钥对明文加密后发送给B,B使用自己的私钥解密得到明文信息;B用A的公钥对明文加密然后把密文发送给A,A接收到后使用自己的私钥进行解密得到B发送的信息

https在协商会话密钥时使用非对称加密(更安全),在后面会话双方实际进行通信时使用对称加密(效率更高)

 

数字签名——解决数据完整性(防篡改)问题

数字签名生成方法:明文----哈希算法----->消息摘要-----私钥加密---->数字签名

即:先使用哈希函数对明文生成消息摘要,然后再对消息摘要使用私钥加密生成数字签名

数字签名校验方法:接收方对接收到的明文使用相同的哈希函数对明文生成消息摘要A,然后使用发送方的公钥解密收到的数字签名得到消息摘要B,对比消息摘要A和B就能验证数字签名

 

CA(证书颁发机构)

为了保证服务器公钥的有效性https服务器运营人员需要向CA(认证机构)申请证书

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

(1)服务器的运营人员向第三方CA提交相关的申请材料(服务器的公钥、组织信息和域名等)申请数字证书

(2)CA机构验证申请材料的真实性

(3)如果审核通过,CA机构会向申请者签发数字签名证书,证书里面包含了以下信息:申请者公钥、申请者组织信息等、CA签发机构的信息、CA对明文信息生成信息摘要的算法、CA的数字签名(CA采用非对称加密方式用自己的私钥对信息摘要加密生成的密文)

 

https工作流程

 (1)Client向Server发送请求

(2)Server把事先配置好的自己的公钥证书返回给Client

(3)Client验证Server的公钥证书

验证证书数字签名方法:Client读取证书里的明文信息,然后使用相同的哈希算法(证书明文信息有指定)生成信息摘要记为C_M,然后Client使用CA的公钥(Client事先存储了CA的公钥)解密证书里的数字签名得到消息摘要CA_M,对比C_M和CA_M,如果一致,校验通过,否则校验不通过

(4)Client生成后面双方使用对称加密方式进行通信的会话密钥M,然后使用非对称加密方式对会话密钥M使用Server的公钥(CA证书里面有Server的公钥)进行加密发送给Server

(5)Server接收到后使用自己的私钥解密得到会话密钥M,后面Client和Server就使用对称加密的方式进行通信了(对称加密的密钥就是M)

(6)Server使用对称加密方式用会话密钥M加密明文内容A后发生给Client

(7)Client收到信息后,使用会话密钥M解密密文得到明文内容A

(8)Client使用会话密钥M加密明文内容B后发送给Server,Server使用会话密钥M解密得到明文内容B,后续双方一直使用对称加密的方式进行通信

 

https和http区别

(1)端口不一样,https标准端口443,http标准端口80

(2)https相当于 http+SSL(TLS的前身)

(3)https利于seo,搜索引擎优先索引https网页

 

参考页面

https://segmentfault.com/a/1190000018992153

posted @ 2020-12-18 17:25  温故纳新  阅读(329)  评论(0编辑  收藏  举报