单向认证一般是指客户端确认服务端身份,而双向认证一般是指客户端和服务器端都需要验证对方的身份。
双向认证的客户端需要从服务器端下载服务器的公钥证书进行验证,还需要把客户端的公钥证书上传到服务器端给服务器端进行验证,等双方都认证通过后,才开始建立安全通信通道进行数据传输。
单向身份鉴别:
现在举SSL的例子,如果通信过程只涉及服务端证书(server公钥证书),则是单向鉴别。也就是图中前五步,不包含可选部分。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f88cf77e68e202258db7963622e9041d.webp?x-image-process=image/format,png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ad0bc9198b10437338d5aabfaf3162a4.png)
双向身份鉴别:
如果既有服务端证书(server公钥证书),又涉及客户端证书(client公钥证书),则是双向身份鉴别。也就是图中第六步,包含可选部分。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f88cf77e68e202258db7963622e9041d.webp?x-image-process=image/format,png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d23b1001ff405f1eb03e62a1ad0870b5.png)