https

http存在的问题:

1.通信使用明文,容易被窃听。

解决:

- 通信的加密。配合SSL(安全套接层)或者TLS(安全层传输协议),加密通信内容。使用ssl等建立通信线路后,http就能在这条线路上安全传输。

- 内容的加密。通信本身不加密,而是加密报文主体。

 

2.不验证通信方的身份,可能会遭遇伪装。

3.无法证明报文的完整性,不知道内容是否被篡改。

 

https=http+通信的加密+认证+完整性保护。

加密:

- 对称加密。双方使用同一个密钥,但安全的把密钥传给客户端成为难题。而且既然能安全传输密钥,通信内容也能安全传输,是一个困境。

- 非对称加密。公钥+私钥。

非对称加密效率相对较低,https采用混合加密。首先使用非对称加密建立通信,将公钥传输给客户端。然后将对称加密的密钥加密后传输给服务器,后面就可以采用对称加密通信。

这个过程存在一个问题,就是不能保证建立非对称加密通信时,传输的公钥是真正的公钥,而不是被中间人替换后的公钥。这个问题可以采用证书来解决。公钥放在证书中传输。

1.服务器将准备的公钥登录至证书机构,证书机构用自己的私钥加密服务器的公钥,此为数字签名,然后颁发公钥证书。

2.证书机构的公钥一般都事先植入到浏览器。

3.客户端收到公钥证书后,用植入在浏览器中的公钥解密,从而拿到服务器的公钥。

 

posted @ 2021-01-18 18:02  fengylf  阅读(103)  评论(0)    收藏  举报