http及加密方式
https是http+ssl协议组合的结果,客户端发送给服务端的信息通过加密后进行信息交互。
https=http+加密+认证+完整性验证。
加密方式:
1)共享密钥加密。这种方式交互信息过程中,效率较高,服务端解密速度、资源消耗小。缺点是在转发密钥时存在被监听窃取的风险。
2)使用配对密钥。加密信息用公钥,解密使用私钥。加密效果好,但服务端解密资源消耗大。
https使用两种组合方式。在初步交互时使用加密方式2将共享密钥发送给服务端,之后使用共享密钥加密交互信息。
所以https相对http在交互效率和资源消耗上要高。
证书认证
公钥信息由服务端发布,一般会找可信的第三方机构去花钱做认证,认证机构对公钥信息做加密处理然后公布。
客户端拿到证书后根据预置的认证机构公钥进行解密,进而拿到服务端的公钥信息。所以如果是中小不知名的认证机构,浏览器可能不认也存在公钥信息被篡改的风险。
服务端在跟客户端交互的时候,会让客户端发送指定的证书给服务端已做证书身份认证。