欢迎来到天天文库
浏览记录
ID:9466306
大小:53.50 KB
页数:6页
时间:2018-05-01
《基于ssl的身份认证和访问控制实现原理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于SSL的身份认证和访问控制实现原理[摘要]SSL协议是X景公司(Netscape)推出的在X络传输层之上提供的一种基于浏览器和WEB服务器之间的安全连接技术。对于不同的系统架构,SSL协议实现身份认证和访问控制的原理不同。本文将分别就B/S和C/S的系统架构,来阐述SSL协议身份认证和访问控制的实现原理。 [关键词]SSL协议身份认证访问控制实现原理 一、概述 SSL(SecuresocketLayer)即安全套接层协议,指使用公钥和私钥技术组合的安全X络通讯协议。SSL协议是X景公
2、司(Netscape)推出的在X络传输层之上提供的一种用基于浏览器和WEB服务器之间的安全连接技术。 SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据在Inter上的传输提供了一种安全保障手段。 身份认证是指计算机及X络系统确认操身份的过程。访问控制是指控制访问服务器的用户以及访问者所访问的内容,限制访问者对重要资源的访问。基于SSL协议的
3、身份认证和访问控制的实现原理将根据系统的架构不同而有所不同。对于B/S架构,将采用利用Web服务器对SSL技术的支持,可以实现系统的身份认证和访问控制安全需求。而对于C/S架构,将采用签名及签名验证的方式,来实现系统的身份认证和访问控制需求。 二、基于B/S架构的SSL身份认证和访问控制的实现原理 基于B/S架构的SSL身份认证和访问控制是利用数字证书来实现的。目前,SSL技术已被大部份的WebServer及Browser广泛支持和使用。采用SSL技术,在用户使用浏览器访问Web服务器时,
4、会在客户端和服务器之间建立安全的SSL通道。在SSL会话产生时:首先,服务器会传送它的服务器证书,客户端会自动的分析服务器证书,来验证服务器的身份。其次,服务器会要求用户出示客户端证书(即用户证书),服务器完成客户端证书的验证,来对用户进行身份认证。对客户端证书的验证包括验证客户端证书是否由服务器信任的证书颁发机构颁发、客户端证书是否在有效期内、客户端证书是否有效(即是否被篡改等)和客户端证书是否被吊销等。验证通过后,服务器会解析客户端证书,获取用户信息,并根据用户信息查询访问控制列表来决定是否授权访
5、问。所有的过程都会在几秒钟内自动完成,对用户是透明的。 如下图所示,除了系统中已有的客户端浏览器、Web服务器外,要实现基于SSL的身份认证和访问控制安全原理,还需要增加下列模块: 基于SSL的身份认证和访问控制原理图 1.Web服务器证书 要利用SSL技术,在Web服务器上必需安装一个Web服务器证书,用来表明服务器的身份,并对Web服务器的安全性进行设置。服务器证书由CA认证中心颁发,在服务器证书内表示了服务器的域名等证明服务器身份的信息、Web服务器端的公钥以及CA对证书相关域内容的数字
6、签名。服务器证书都有一个有效期,Web服务器需要使用SSL功能的前提是必须拥有服务器证书,利用服务器证书来协商、建立安全SSL安全通道。 这样,用户使用浏览器访问Web服务器,发出SSL握手时,Web服务器将配置的服务器证书返回给客户端,通过验证服务器证书来验证他所访问的X站是否真实可靠。 2.客户端证书 客户端证书由CA系统颁发给系统用户,在用户证书内标识了用户的身份信息、用户的公钥以及CA对证书相关域内容的数字签名,用户证书都有一个有效期。在建立SSL通道过程中,可以对服务器的SSL功能配置
7、成必须要求用户证书,服务器验证用户证书来验证用户的真实身份。 3.证书解析模块 证书解析模块以动态库的方式提供给各种Web服务器,它可以解析证书中包含的信息,用于提取证书中的用户信息,根据获得的用户信息,查询访问控制列表(ACL),获取用户的访问权限,实现系统的访问控制。 4.访问控制列表(ACL) 访问控制列表是根据应用系统不同用户建设的访问授权列表,保存在数据库中,在用户使用数字证书访问应用系统时,应用系统根据从证书中解析得到的用户信息,查询访问控制列表,获取用户的访问权限,实现对用户的访
8、问控制。 三、基于C/S架构的SSL身份认证和访问控制的实现原理 基于C/S架构的SSL身份认证和访问控制是利用数字签名技术实现的,数字签名技术的实现是指使用数字证书的私钥,对被签名数据的摘要值进行加密,加密的结果就是数字签名。在进行签名验证时,是用数字证书(即公钥)来进行验证,用公钥解密数据,得到发送过来的摘要值,然后用相同的摘要算法对被签名数据做摘要运算,得到另一个摘要值,将两个摘要值进行比较,如果相等,则数字签名验证通过,否则验证无效。
此文档下载收益归作者所有