基于数字证书的SSL实现原理及流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于数字证书的SSL实现原理及流程
SSL的实现主要是基于B/S架构的应用系统。天威诚信CA颁发的数字证书完全支持SSL技术,通过将数字证书与应用系统的集成,能够实现对用户的身份认证、数据的加密、数据签名等安全功能,充分保证了B/S构架系统的安全。以下将从安全原理、安全构架和具体应用流程等三个方面分别对SSL的实现流程进行描述。
1.B/S架构系统安全原理
(1)身份认证和访问控制实现原理
由于B/S架构的系统,利用Web服务器对SSL(Secure Socket Layer,安全套接字协议)技术的支持,可以实现系统的身份认证和访问控制安全需求。
目前,SSL技术已被大部份的Web Server及Browser广泛支持和使用。采用SSL技术,在用户使用浏览器访问Web服务器时,会在客户端和服务器之间建立安全的SSL通道。在SSL会话产生时:首先,服务器会传送它的服务器证书,客户端会自动的分析服务器证书,来验证服务器的身份。其次,服务器会要求用户出示客户端证书(即用户证书),服务器完成客户端证书的验证,来对用户进行身份认证。对客户端证书的验证包括验证客户端证书是否由服务器信任的证书颁发机构颁发、客户端证书是否在有效期内、客户端证书是否有效(即是否被窜改等)和客户端证书是否被吊销等。验证通过后,服务器会解析客户端证书,获取用户信息,并根据用户信息查询访问控制列表来决定是否授权访问。所有的过程都会在几秒钟内自动完成,对用户是透明的。
如下图所示,除了系统中已有的客户端浏览器、Web服务器外,要实现基于SSL的身份认证和访问控制安全原理,还需要增加下列模块:
Web服务器证书
要利用SSL技术,在Web服务器上必需安装一个Web服务器证书,用来表明服务器的身份,并对Web服务器的安全性进行设置,使能SSL功能。服务器证书由CA认证中心颁发,在服务器证书内表示了服务器的域名等证明服务器身份的信息、Web服务器端的公钥以及CA对证书相关域内容的数字签名。服务器证书都有一个有效期,Web服务器需要使能SSL功能的前提是必须拥有服务器证书,利用服务器证书来协商、建立安全SSL安全通道。
这样,在用户使用浏览器访问Web服务器,发出SSL握手时,Web服务器将配置的服务器证书返回给客户端,通过验证服务器证书来验证他所访问的网站是否真实可靠。
●用户证书
用户证书由CA认证中心颁发给企业内用户,在用户证书内标识了用户的身份信息、用户的公钥以及CA对证书相关域内容的数字签名,用户证书都有一个有效期。在建立SSL通道过程中,可以对服务器的SSL功能配置成必须要求用户证书,服务器验证用户证书来验证用户的真实身份。
●证书解析模块
证书解析模块以动态库的方式提供给各种Web服务器,它可以解析证书中包含的信息,用于提取证书中的用户信息,根据获得的用户信息,查询访问控制列表(ACL),获取用户的访问权限,实现系统的访问控制。
●访问控制列表(ACL)
访问控制列表是根据应用系统不同用户建设的访问授权列表,保存在数据库中,在用户使用数字证书访问应用系统时,应用系统根据从证书中解析得到的用户信息,查询访问控制列表,获取用户的访问权限,实现对用户的访问控制。
(2)信息机密性实现原理
信息机密性实现原理也是利用SSL技术来实现的,在用户使用浏览器访问Web服务器,完成双向身份认证,并完成对用户访问控制之后,在用户客户端和服务器之间建立安全的SSL通道,会在用户浏览器和Web服务器之间协商一个40位或128位的会话密钥。此时,在客户端和服务器之间传输的数据都是采用给会话密钥进行加密传输,从而保证了系统机密性安全需求。
(3)信息抗抵赖性实现原理
数字签名技术是实现信息抗抵赖性的有效技术,本方案利用数字签名技术,实现信息系统
的信息抗抵赖性需求。
数字签名技术的实现是指使用数字证书的私钥,对被签名数据的摘要值进行加密,加密的结果就是数字签名。在进行签名验证时,是用数字证书(即公钥)来进行验证,用公钥解密数据,得到发送过来的摘要值,然后用相同的摘要算法对被签名数据做摘要运算,得到另一个摘要值,将两个摘要值进行比较,如果相等,则数字签名验证通过,否则验证无效。数字签名技术的实现依赖于下列两个事实:一是每一个信息的摘要值是唯一的,找不到两个摘要值相同的不同信息;二是证书的私钥只有数字证书的拥有者才拥有,其他人得不到拥有者的私钥。这样,通过数字签名和签名验证,可以确定数据的确是数字证书的拥有者发送的,发送者不能进行抵赖。数据在发送的过程中,没有被别人窜改过的,是完整的。
利用数字签名技术,可以对信息系统进行集成,用户在成功登录系统之后,系统已经完成了对用户的身份认证和访问控制,用户可以访问到请求的资源或页面,用户可以进行网上办公。此时,需要对用户在线提交的办公的敏感数据,如财务数据、征收信息等,进行数字签名,防止用户对提交的数据进行抵赖。采用数字签名技术,在用户提交重要数据时,客户端采用用户证书的私钥,对数据进行数字签名,然后将数据及其签名一起经过SSL通道发送给系统Web服务器。服务器接收到提交的信息,完成对签名的验证,将数据传输给后台处理,并将用户提交的数据及其签名保存到数据库中,以便将来用户进行抵赖时查询。
如下图所示,实现本方案的设计需求需要增加下列模块:
●客户端数据签名模块
客户端数据签名模块以控件的方式提供。用户使用浏览器访问Web服务器时,该模块作为控件进行下载,注册安装在用户浏览器中。数据签名模块的功能是使用用户选择的客户端证书的私钥对客户端发送的数据进行数字签名,保证数据传输的完整性,防止客户端对发送的数据进行抵赖。
●服务端签名验证模块
服务端签名验证模块以插件或动态库方式提供,安装在服务器端,实现对客户端数据签名的验证,对客户端数据签名证书的有效性验证。同时,将通过验证的数据,传输给后
台应用服务器,进行相关的业务处理,并将数据及其数字签名保存到数据库中。
2. 应用系统安全架构
根据上述安全原理,采用天威诚信的证书应用开发产品,对B/S 构架系统进行安全集成,系统安全架构如下图所示:
如上图所示,系统安全集成的实现如下描述:
(1) 在B/S 架构系统Web 服务器上,配置服务器证书,配置SSL 功能,用户必须使用
HTTPs 访问,并要求用户证书,配置服务器的可信CA 为根CA ,只有CA 认证体系下
的用户证书才能访问信息系统;
(2) 客户端(即用户使用的浏览器)必须从CA 认证系统申请用户证书,才能进行信息
系统登录。申请的用户证书代表了用户的身份,登录时必须提交用户证书;在用户
向信息系统提交敏感数据,如财务数据、征收时,必须使用该用户证书的私钥进行
数字签名;为了实现用户的移动办公,保证用户证书及其私有的安全,采用USB
KEY 来保存用户的证书和私钥;
(3) 信息系统服务器上配置服务端功能模块——CPM (证书解析模块),作为服务器的
功能插件安装在信息系统服务器上,解析用户证书,获用户信息,根据用户信息查
询信息系统配置的访问控制列表(ACL ),获取用户的访问权限,实现系统的访问控
制;
(4) 客户端配置功能模块——PTA (个人信任代理),以COM 控件的方式提供,配置在
需要保证数据安全的Web 页面上,随Web 页面下载并注册,它使用用户证书的私钥
对提交的表单数据进行数字签名;
(5
) 信息系统服务器上配置服务端功能模块——SVM (签名验证模块),以插件的方式
提供给信息系统服务器,实现对用户提交的数字签名的验证;
(6) 客户端和信息系统服务器之间的所有数据通信都是通过SSL 安全通道进行加密传