BS网络架构安全传输和访问控制的解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B/S的网络应用系统
安全传输和访问控制的安全解决方案(PKI产品系列应用解决方案之一)
上海格尔软件股份有限公司
2002年12月
基于B/S 架构的网络应用系统,就是用户客户端通过IE 浏览器以HTTP 的协议与服务器(web server)进行通信的网络应用方式,这种应用通常采用用户名和口令的机制进行简单的身份认证,中间传输的数据均是明文数据。
目前这种B/S 架构的网络应用系统缺乏一定的安全性,在建立的PKI 平台基础上,提供相关的PKI 应用产品可以为这种网络应用系统提供解决方案。
通用的说:可以通过数字认证技术来为应用系统提供解决方案。
本文将详细描述具体的方案。
图表 1常见B/S
应用系统数据传输逻辑图
3.1安全传输的基本方案
3.1.1传输安全的解决方法:
应用系统的安全传输是通过SSL 产品来解决,也就是下面描述SSL服务器代理和SSL客户端B/S代理产品。
对于SSL客户端代理和SSL服务器代理产品完成基于SSL协议的安全传输,保障整个网络数据加密传输,同时对于应用系统基本透明。具体的逻辑架构如下图
图表2安全传输的解决逻辑图
在ssl 代理客户端和代理服务器之间,通过ssl协议实现高强度的加密连接,保障了数据的安全传输。
3.1.2SSL产品与应用系统结合的方法:
SSL 代理客户端产品安装在用户的客户端,在使用时,启动即可,不用作任何配置。
SSL代理服务器产品,以专门的服务器提供,和WEB服务器安装在同一网络安全区域,但需要管理员为保障安全传输的WEB SERVER增加适当网络配置。下图就是ssl 的网络配置。
ip地址61.151.240.41和端口443指的是ssl服务器代理当前的地址和服务的端口,管理员根据实际情况进行填写。
ip地址61.151.240.42和端口80指的是当前需要安全保护的webServer 的地址和服务的端口,管理员根据实际情况进行填写。
所以对于应用系统无需做任何改动,对于webServer最终在应用中得到的数据与原先http方式得到的数据一样,也就是说ssl产品对应用而言是完全透明的。
3.1.3用户最终的使用方式
未使用ssl 代理产品之前,假设用户通过:webserver_port/application/的方式使用系统,安装和使用ssl代理产品之后,用户需通过的方式访问和使用应用系统,也就是说,原先的webserver的IP修改成当前SSL服务器代理的IP,原先的webserver的port修改成当前SSL服务器代理服务的端口,同时http://修改成https://。注意_IP/...方式访问的默认端口为80,而_IP/...方式访问的默认端口为443 。
3.2身份认证和访问控制的基本方案
上面主要描述的是通过ssl保证了网络应用中数据传输的安全,但应用如何了解当前访问用户的确切身份,如何通过身份做进一步的访问控制呢,本节做详细描述。
3.2.1解决方法:
在前面所描述的ssl产品保障了安全传输的基础上,ssl 服务器代理产品附带了用户身份提交和认证的功能,并且将用户身份信息提交给WEB 应用,WEB 应用在获取有效的用户身份之后,分析该用户的权限,进行有效的访问控制。
按照ssl (Secure Socket Layer)基本协议,是可以要求客户端必须含有有效的个人数字证书方可访问ssl server的功能。为了实现身份认证和访问控制,ssl server产品中提供了这样的功能,所以用户通过https:// sslserver_IP /...方式访问系统过程中,会弹出请用户选择含有个人证书的加密设备,选择完毕之后,用户需输入当前加密设备口令的对话框这样一个过程,如下图:
同时,SSL 服务器代理在对客户身份做有效的认证之后,必须将用户的身
份以某种合适的方式提交给WEB应用,WEB应用根据用户身份信息方可做有效的访问控制,SSL 服务器代理提供了这一功能,具体的方式是:
按照正常情况,ssl server是在得到ssl client的数据之后,解密还原成http 方式将客户端请求数据发送给web server,为此ssl server在提交给web应用的客户端请求数据中间增加了用户身份的信息,这样web应用不光得到客户端的请求数据,同时也得到了用户的身份信息,进而web应用可做相应的访问控制。
3.2.2SSL产品与应用系统结合的方法:
用户身份信息是ssl服务器代理以cookie的形式附加到客户端的http协议的请求数据中的,cookie 是http协议中的标准元素,不同的cookie名称代表不同用户的信息。譬如KOAL_CERT_E代表用户的email地址,KOAL_CERT_PHONE代表用户的电话号码等。
所以ssl 产品与B/S应用系统结合,需要WEB应用做适当的改造。具体可以参见下面的说明:
保留原有的访问控制方式,增加一个安全登录按扭。(下图中假设原验证页面verify.jsp,而SSL登录页面为verifySSL.jsp)
图表3-3 安全登陆界面图
用户如需安全登录,则按安全登录按扭。安全登录按钮指向一个获取证书信息的页面(假设名为VerifySSL.jsp)。该页面通过获取SSLServer传递过来的Cookie内容来标识该用户身份。
以下图示表明了一次成功的登录所走流程。
登录页面
使用SSL 安全登录使用用户名口令登录
VerifySSL.jsp 获取Cookie信息
应用系统进行用
户名密码匹配返回用户界面
图表3-4 安全登陆流程
由图所示,对于应用系统而言,使用SSL登录和普通的用户名口令登录方