早期设计的http协议存在诸多的问题,SSL/TLS在http的基础上保证了数据的保密,验证和身份验证
- https的保密性通过混合加密的方式保证,解决窃听问题
- https数据的完整性通过摘要算法保证,
- 通过数字证书+CA的方式进行数据来源和数据可靠性验证,保证数据可用
一 混合加密
https采用非对称加密和对称加密混合的方式进行数据的加密,在通信建立的过程中采用非对称加密的方式协商密钥,后续不使用非对称加密,在通信的过程中使用对称加密的方式进行明文数据的加密。
二 摘要算法
https通过摘要算法(哈希算法)生成传输内容的摘要,对摘要进行加密,接收方可以通过对数据内容进行摘要,然后判断生成的摘要是否相同数据是否被篡改
公钥加密私钥解密保证了内容传输的安全,私钥加密,公钥解密(数字签名):验证了消息是否是他人冒充的
三 数字证书+CA
数字证书是身份的标识,包括个人信息+公钥+数字签名(CA的私钥+公钥)
CA是具有权威的数字证书的颁发机构
我们可以通过CA去验证数字证书是否正确,通常数字证书会随着传输的内容一起发送,如果判断是合法的证书,就可以验证服务端公钥的身份