HTTP + 加密 + 身份认证 + 完整性保护 = HTTPS
http 不足之处
- 通信使用明文(不加密),请求与响应内容随时有可能被窃取;
- 请求与响应过程不会验证通信双方的身份,同样不安全;
- 无法保证报文的完整性,很有可能遭到篡改
针对以上 http 的缺点进行改进
通信加密
- SSL 建立安全通信线路
- http 可以通过和 SSL / TLS 的组合使用,加密 http 通信内容;
用 SSL 建立安全通信线路,就可以在这条线路上进行 http 通信了,这种结合就叫 https(超文本传输安全协议)
- 通信内容加密
- 要求通信双方都同时具备加密与解密机制,但是通信线路仍然不安全,所以仍有被篡改报文的风险;
验证通信双方身份
SSL 证书
- SSL 同样提供了一种证书手段,来验证通信双方身份
- 证书由值得信任第三方机构颁发,需要花钱
确保报文完整性
- 常用的是 MD5 和 SHA-1 等散列值进行校验,以及用数字签名来确认文件
HTTPS
- HTTPS 并不是一种新的协议,只是 HTTP 通信接口部分用 SSL 和 TLS 协议代替而已;
- HTTP 会先与 SSL 通信,再由 SSL 与 TCP 通信;
SSL加密方式
- 公开密钥加密:公开加密算法,将密钥进行保密;
- 共享密钥加密:使用同一个密钥进行加密和解密,又叫对称密钥加密;
公开密钥也需要进行证书认证,证明其真实性
共享密钥加密的密钥在传输过程中可能会被窃取,公开密钥加密通信速度比较慢
HTTPS 采用的是混合加密机制
SSL 与 TLS
- TSL是以SSL为原型开发的协议,有时会统一称该协议为SSL。
使用 SSL 会变慢
HTTPS 也存在一些问题,那就是当使用 SSL 时,它的处理速度会变慢;
- 通信慢:通信过程需要处理,时间延长
- 处理速度慢:大量消耗网络资源,CPU及内存等资源
可以使用 SSL 加速器这种(专用服务器)硬件来改善该问题。
在进行加密处理时,并非对所有内容都进行加密处理,而是仅在那些需要信息隐藏时才会加密,以节约资源。
网友评论