10.1.2 身份认证模式的分类
1.单向认证
单向认证是通信的一方认证另一方的身份,如服务器在提供用户申请的服务以前,先要认证用户是否是这项服务的合法用户,但是不需要向用户证明自己的身份,如图10-2所示。
图10-2 单项认证过程
单向认证过程由以下几步构成:
1)用户方向服务器发出访问请求。
2)服务器要求用户方输入ID和密码。
3)用户方向服务器输入ID和密码。
4)服务器验证ID和密码,如果匹配则允许用户进入系统访问。
2.双向认证
双向认证需要通信双方互相认证对方的身份。双方都要提供用户名和密码给对方,才能通过认证。这种认证方式不同于单向认证,客户端还需要认证服务器端的身份,这样用户还需要服务器端的ID和密码,如图10-3所示。
图10-3 双向认证过程
双向认证过程由以下几步构成:
1)用户方向服务器发出访问请求。
2)服务器要求用户方输入ID和密码。
3)用户方向服务器输入ID和密码。
4)服务器验证ID和密码,如果匹配则允许用户进入系统访问。
5)用户方提示服务器输入密码。
6)服务器按用户方要求输入密码。
7)用户方验证服务器。
3.第三方认证
第三方认证是指在网络服务认证过程中,服务器方和用户方的身份认证通过第三方来实现。第三方不仅负责验证信息,而且还负责验证双方的身份。每个用户都把自己的ID和密码发送给可信第三方,由第三方负责认证过程,如图10-4所示。
图10-4 第三方认证过程[22]
第三方认证过程由以下几步构成:
1)用户方向第三方发出获取服务器方公钥的请求。
2)第三方向用户发送服务器方的公钥。
3)用户方使用服务器方的公钥和自己的私钥加密信息,并发送服务器方。
4)服务器方收到用户方信息,并向第三方发出获取用户方公钥的请求。
5)第三方向服务器方发送用户方的公钥。
6)服务器方用用户方的公钥和自己的私钥解密信息,并用自己的私钥和用户方的公钥加密信息,并反馈用户方。
7)用户方收到反馈,完成一次交互通信。