SSL/TLS
SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)是用于加密网络通信的协议,用于保护数据在客户端和服务器之间的传输过程,防止被恶意拦截和窃取。
SSL 是早期的加密协议,但由于安全性问题,现在主要使用 TLS。TLS 是 SSL 的继任者
http 风险
http 1.1 版本及以前,都是文本协议,文本协议安全性较低
- 窃听风险:第三方获取通信内容
- 篡改风险:第三方修改通信内容
- 冒充风险:第三方可以冒充参与通信
tls 特点
- 所有信息都是加密传播,第三方无法窃听
- 具有校验机制,一旦被篡改,通信双方会立刻发现
- 配备身份证书,防止被冒充
tls 1.2 加密过程
- 客户端发起 https://xxxx 请求,发送客户端支持的加密算法
- 服务器接收请求,返回证书(包含公钥,网站地址,证书颁发机构,失效日期)
- 客户端接收证书判断合法性 no 警告提示 yes 生成随机数
- 通过公钥加密
协商秘钥
,传输到服务器 - 服务器通过私钥解密协商秘钥
- 通过协商秘钥对称加密内容
- 客户端通过协商秘钥解密
TIP
tls 1.2 先进行非对称加密(公钥、私钥)得到协商秘钥,客户端、服务端再通过协商秘钥对传输内容进行对称加密