[摘要] ssl协议是网景公司(netscape)推出的在网络传输层之上提供的一种基于浏览器和web服务器之间的安全连接技术。对于不同的系统架构,ssl协议实现身份认证和访问控制的原理不同。本文将分别就b/s和c/s的系统架构,来阐述ssl协议身份认证和访问控制的实现原理。
[关键词] ssl协议 身份认证 访问控制 实现原理
一、概述
ssl(secure socket layer)即安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议。ssl协议是网景公司(netscape)推出的在网络传输层之上提供的一种用基于浏览器和web服务器之间的安全连接技术。
ssl协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据在internet上的传输提供了一种安全保障手段。
身份认证是指计算机及网络系统确认操作者身份的过程。访问控制是指控制访问服务器的用户以及访问者所访问的内容,限制访问者对重要资源的访问。基于ssl协议的身份认证和访问控制的实现原理将根据系统的架构不同而有所不同。对于b/s架构,将采用利用web服务器对ssl技术的支持,可以实现系统的身份认证和访问控制安全需求。而对于c/s架构,将采用签名及签名验证的方式,来实现系统的身份认证和访问控制需求。
二、基于b/s架构的ssl身份认证和访问控制的实现原理
基于b/s架构的ssl身份认证和访问控制是利用数字证书来实现的。Www.133229.COM目前,ssl技术已被大部份的web server及browser广泛支持和使用。采用ssl技术,在用户使用浏览器访问web服务器时,会在客户端和服务器之间建立安全的ssl通道。在ssl会话产生时:首先,服务器会传送它的服务器证书,客户端会自动的分析服务器证书,来验证服务器的身份。其次,服务器会要求用户出示客户端证书(即用户证书),服务器完成客户端证书的验证,来对用户进行身份认证。对客户端证书的验证包括验证客户端证书是否由服务器信任的证书颁发机构颁发、客户端证书是否在有效期内、客户端证书是否有效(即是否被篡改等)和客户端证书是否被吊销等。验证通过后,服务器会解析客户端证书,获取用户信息,并根据用户信息查询访问控制列表来决定是否授权访问。所有的过程都会在几秒钟内自动完成,对用户是透明的。
如下图所示,除了系统中已有的客户端浏览器、web服务器外,要实现基于ssl的身份认证和访问控制安全原理,还需要增加下列模块:
基于ssl的身份认证和访问控制原理图
1.web服务器证书
要利用ssl技术,在web服务器上必需安装一个web服务器证书,用来表明服务器的身份,并对web服务器的安全性进行设置。服务器证书由ca认证中心颁发,在服务器证书内表示了服务器的域名等证明服务器身份的信息、web服务器端的公钥以及ca对证书相关域内容的数字签名。服务器证书都有一个有效期,web服务器需要使用ssl功能的前提是必须拥有服务器证书,利用服务器证书来协商、建立安全ssl安全通道。
这样,用户使用浏览器访问web服务器,发出ssl握手时,web服务器将配置的服务器证书返回给客户端,通过验证服务器证书来验证他所访问的网站是否真实可靠。
2.客户端证书
客户端证书由ca系统颁发给系统用户,在用户证书内标识了用户的身份信息、用户的公钥以及ca对证书相关域内容的数字签名,用户证书都有一个有效期。在建立ssl通道过程中,可以对服务器的ssl功能配置成必须要求用户证书,服务器验证用户证书来验证用户的真实身份。
3.证书解析模块