功能介绍
双向认证,顾名思义,即客户端与服务器双方均需认证对方的身份,在确认对方身份后才可以建立HTTPS连接。在标准的HTTPS中,通常采用单向认证的方式,即服务器向客户端证明自己的身份以建立一个安全加密的通信连接;双向认证在服务器向客户端证明身份的基础上,还需要客户端也提供客户端证书,供服务器验证客户端的身份,客户端与服务器双方都验证通过对方的身份后,才建立HTTPS连接。
单向认证流程:
- 客户端向边缘加速节点发起HTTPS请求。
- 边缘加速节点将对应域名的SSL证书公钥发送给客户端。
- 客户端验证对应证书公钥正确后,随机生成一个密钥,并使用公钥进行加密后发送给边缘加速节点。
- 边缘加速节点使用对应私钥进行解密,得到密钥。
- 客户端与边缘加速节点在后续通信过程中使用该密钥对传输的数据加密。
- 客户端与边缘加速节点使用对应密钥对收到的数据进行解密,获取对应数据。
双向认证流程:
- 客户端向边缘加速节点发起HTTPS请求。
- 边缘加速节点将对应域名的SSL证书公钥发送给客户端,并发送证书请求标记要求获取客户端证书。
- 客户端验证域名的SSL证书公钥正确后,随机生成一个密钥A,并使用SSL证书公钥进行加密后发送给边缘加速节点。同时客户端收到证书请求标记,将发送对应的客户端证书给边缘加速节点,同时计算历史消息的hash值,将该hash值通过客户端私钥签名,并将签名结果也发送给边缘加速节点。
- 边缘加速节点使用域名SSL证书对应的私钥进行解密,得到密钥A。同时获取客户端的证书和签名后,验证客户端证书是否可信,并使用客户端证书公钥和历史消息的hash值校验签名是否正确,存储验证结果。
- 客户端与边缘加速节点在后续通信过程中使用该密钥A对传输的数据加密。
- 客户端与边缘加速节点使用对应密钥A对收到的数据进行解密,获取对应数据。
- 后续客户端发送请求,如果之前验证是通过的则正常处理,否则立即返回错误响应,告诉客户端双向认证失败。
适用场景
适用于对数据安全要求比较高的系统,确保通信双方安全可信。
注意事项
使用双向认证的前置条件:
- 当前域名已配置HTTPS证书。
- 拥有客户端证书。
配置说明
如您需要配置双向认证功能,请通过提交工单给天翼云客服,由其帮您配置。