ssl 客户端证书验证
[编者注:本文介绍了如何为Domino 4.6和4.6.1设置SSL客户机认证。]
互联网上最新的行业流行词是SSL。 但是SSL真正需要提供什么?
安全套接字层(SSL)是一种安全协议,可以:
- 加密通过网络发送的信息。
- 验证发送给收件人的邮件是否已被篡改。
- 验证服务器身份以防止服务器欺骗。
- 使用SSL 3.0验证客户端身份。
有关这些SSL概念的介绍,请参见Hugo Curbelo和Russell Lipton的文章“ SSL:不再仅用于商业用途 ”。 另外,查看Lotus Internet Security Zone和Netscape的SSL信息 。
本文的重点是最后一项,客户端身份验证。 本文将简要介绍使用SSL进行客户端身份验证,详细介绍使用客户端身份验证的好处,解释何时不需要客户端身份验证,并概述在服务器上设置客户端身份验证所涉及的步骤。
什么是客户端身份验证?
客户端身份验证是一个很不错的功能,它使您可以通过交换客户端证书来认证正在访问服务器的用户-这意味着当Internet用户访问数据库时,不再在数据库的用户活动日志中出现“匿名”条目。 而且,客户证书由外部证书颁发机构(CA)(例如VeriSign)或您作为内部CA进行担保,因此您可以放心,证书代表的人就是您期望的人。 如果您不熟悉CA或受信任的根,请阅读文章“ 信任自己:成为自己的证书颁发机构” 。
在4.6.1版本中,使用客户端身份验证比以前容易得多。 现在,您可以使用Notes中的证书颁发机构应用程序来颁发客户端证书和服务器证书。 您不能使用4.6版发行客户端证书; 但是,您可以从外部CA获取客户端证书,并使用客户端证书对访问Domino服务器的用户进行身份验证。
有关客户端身份验证的注意事项
客户端身份验证需要来自CA的x.509格式的客户端证书。 x.509格式是SSL证书的行业标准格式。 在4.6.1中,Notes使用此格式创建客户机证书。 使用标准格式可确保Domino和其他应用程序可以轻松交换证书。
该证书除了包含唯一的私钥-公钥对之外,还包含有关用户的信息。 对于Netscape用户,客户端证书存储在服务器计算机上的证书数据库中。 对于Microsoft Internet Explorer用户,客户端证书存储在注册表中。 为了验证用户,客户端访问的服务器上的公共通讯簿还必须包含用户的公共密钥。
当服务器通过网络进行SSL握手时,服务器请求客户端证书时,便会进行客户端身份验证。 要记住的一件事是服务器控制是否进行客户端身份验证。 客户不能要求进行身份验证。
像服务器