HTTPS(Hyper Text Transfer Protocol Secure)安全的超文本传输协议
HTTPS其实是在HTTP基础上加上SSL/TLS协议,SSL/TLS是建立在TCP之上,他们使用一种非对称的加密算法。
以SSL为例,说明SSL怎么建立的:
- Client 和Server建立了TCP连接后,Client向服务器发送包含最大支持SSL的版本,加密算法族等信息,Server收到消息,选择加密算法和SSL的版本信息,然后发给Client
- 证书交换,Server为了证明自己,会把SSL 证书发给Client, 证书包含public key和一些其他信息。对于一些安全要求高的APP,Server可能要求t把Clien的证书发给它。
- 秘钥交换,Client和Server传输数据要求用对称的加密算法,因此Client会随机生成一个私钥,然后用Server的公钥加密传给Server,Server收到后,用私钥解密,取到Client的私钥。
现在Client和Server就可以传输用Client私钥加密的消息了。
参考:
How does SSL/TLS work?
How does HTTPS actually work?
HTTPS Wikipedia
图解HTTPS
网友评论