|
证书与身份认证技术
身份认证有多种方式,可以通过口令校验,可以通过生物特征核对,也可以通过数字证书认证。在这里我们只讨论使用数字证书进行认证。
证书认证通常在建立 SSL 连接时使用,过程分为用户认证和服务器认证。用户认证是向服务器提交自己的签字和证书,以证明自己的身份。服务器认证是由用户检查服务器的签字和证书,以确认服务器的身份。两者采用的技术和方法基本上是相同的,只是每一步骤的执行者交换了位置。身份认证是建立安全通信通道之中的必要步骤。
下面以服务器认证过程为例,描述按照 SSL 协议的规定和使用 RSA 公共密钥方法进行认证的主要步骤:
-
服务器把自己的证书和其他进行认证所需要的信息传送给用户;
-
用户端检查服务器证书的有效日期在通信的当日是否仍然有效;
-
用户端检查发放给服务器该证书的发证机构
(CA)是否在自己的“可以信任的 CA”名单内(用户端存放有该名单,即这些 CA 的证书);
-
如果该 CA 对于用户来讲是可信任的,就使用这一证书带有的公钥来检查该
CA 对服务器证书的签字,以证明服务器证书的真实性;
-
用户端检查在服务器证书中所给出的该服务器的域名与此次通信对象
(即服务器)的域名是否相同 (此项不属于 SSLv3 协议,但有必要完成);
-
如果上述检查均正常通过,就完成了服务器认证;否则,如果上述任何一项检查没有通过,身份认证的工作就失败了。
|