您的位置:首页 > > 正文
发布时间:2020-04-14 17:46
随着网络技术的不断发展,特别是现代电子商务和电子政务的快速发展,网络安全日益成为被关注的焦点,如何保证传输信息的保密性和安全性已经成为急需解决的问题,对于指挥信息系统尤其如此。
目前,多数电子商务和电子政务均是通过分布式证书系统和安全套接字层()协议来保证敏感数据的安全传输。许多web客户端软件,如IE,都能支持协议,因此它们能满足大多数web信息传输的安全需求。但是,这些软件往往不能满足指挥信息系统中更高级别的安全需求,对于有特别保密要求的信息系统一般会采用受控的加密算法,或者
采用专用的传输协议,或者通过在物理防火墙上设置高级别安全规则保证web信息传输的安全。然而,针对不同的Web应用,如果开发基于专用传输协议的客户端软件或设计新的受控的加密算法,不仅会增加web开发的难度和复杂度,还会增加项目的开发成本、延长开发周期。
本文针对上述问题,探讨使用基于HTTP代理服务来解决指挥信息系统中web信息安全传输的问题。
1 HTTP代理服务的原理
代理服务是根据web信息安全传输的需要而产生的一种技术,简单地说,代理服务就是代替客户和服务器一方或者双方的身份,将原本不安全的访问服务和数据通信转变为安全的访问服务和数据
代理服务的安全控制技术非常全面,主要表现在对请求对象、请求内容、服务内容和返回信息的控制上。
(1)发出请求的客户端必须是来自经代理认证的内部网络,其地址在代理服务所允许的地址范围内;
(2)对于认证客户端发出的请求内容,如果不符合代理服务的要求则会被拒绝,
(3)认证客户端只能请求代理允许的服务内容,否则,代理服务会进行限制,
(4)对返回给认证客户端的信息,代理服务会进行信息时效性的检查。
HTTP协议是浏览器和web服务器之间进行信息传递的网络协议,它的工作流程为典型的客户/服务器工作模式。在该模式中,信息资源以页面的形式存储在web服务器中,用户查询信息时借助本地浏览器向web服务器发出请求,web服务器根据客户端的请求内容,将保存在web服务器中的某个页面返回给客户端,客户端接收到页面后对其进行解释,最终将图片、文字、声音等信息通过浏览器呈现给用户。
Windows平台下基于HTTP的代理服务是在本地客户机和远程Web服务器之间的中间桥梁。对于本地客户机,它是一个服务器,接收本地客户机的连接;对于远程web服务器,它又是一个客户机,向远程web服务器提出访问请求。本地客户机、代理服务和远程web服务器之间的交互过程如下[2·3]·
(1)本地客户机向代理服务发出HTTP请求;(2)对请求进行解析,得出本地客户机要访问的web对象的统一资源定位符(URL)和请求方法;(3)查找本地客户机要访问的web对象是否存在于缓存中,如果在则取出Web对象发送给本地客户机,否则执行(4);
(4)向远程Web服务器转发本地客户机的请求;
(5)接收远程Web服务器发回的响应;
(6)判断远程Web服务器返回的数据是否可以缓存,如可以,则存人系统缓存,否则直接执行(7);(7)将远程Web服务器返回的数据发送给本地客户机。
2 HTTP代理服务的工作流程
由于浏览器与web服务器之间进行数据交换
时传输的是明文,这就为HTTP协议的使用带来了安全隐患[4]。同时,在专用的保密网络中,由于在物理防火墙上设置了高级别的安全规则,通常只允许基于专用传输协议的报文通过,从而导致基于HTTP协议的报文无法在网络中正常传输。
为了保证通过HTTP协议进行数据传输的安全性,同时又能匹配物理防火墙上设置的高级别安全规则,设计了基于HTTP协议的代理服务软件,流程如下.
(l)借助客户端代理服务软件将用户的请求数据报文截获,并调用硬件加解密设备对报文进行加密操作,同时按照专用的传输协议格式重新对报文进行打包处理;
(2)当报文通过防火墙传输到Web服务器时,借助web服务端代理服务软件将收到的报文按照专用的传输协议格式进行解包处理,同时调用硬件加解密设备对报文进行解密操作,并将解密后的原始请求数据报文提交给web服务器;
(3)当web服务器处理完用户的请求后返回响应数据报文,借助Web服务端代理服务软件将web服务器的响应数据报文截获,并调用硬件加解密设备对报文进行加密操作,同时按照专用的传输协议格式重新对报文进行打包处理;
(4)当报文通过防火墙传输到客户端时,借助客户端代理服务软件将收到的报文按照专用的传输协议格式进行解包处理,同时调用硬件加解密设备对报文进行解密操作,并将解密后的原始响应数据报文发送给用户。
通过上述的工作流程,使通过HTTP协议传输的数据的安全性得到提高,同时也使浏览器和web服务器之间传输的报文能顺利通过防火墙。
客户端和web服务端的代理服务软件工作流程如图1所示,其中虚线所示的是普通的HTTP协议的工作流程,实线所示的是基于代理服务的HTTP协议的工作流程。
3 HTTP代理服务的设计和实现
常用的IE浏览器的Internet选项中有一个连接属性设置,即“为LAN使用代理服务器”,如图2所示。
经过测试,当局域网中的一台客户机指定了该属性,再通过浏览器发出HTTP请求时,请求数据将被发送到指定的代理服务器上,以下为代理服务软件接收到的请求数据报文:
第1卷第4期柳登丰,等:基于HTTP代理服务的信息安全传输方法
客户端代理服务Web服务端代理服务
图1 HTTP代理服务的工作流程
代理服务器
为使用代理服务器的些设置不会应用于拨号或连接〕。
高级0.
地址.一端口 ,'
厂对于本地地址不使用代理服务器
图2代理服务器设置
//浏览器发出的请求数据报文
GET http://130.9.35.98:5001/dbs/test.htm HTTP/
Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/vnd.ms-excel,application/vnd•mspowerpoint,applicatlon/msword,菁/
Accept-Language:zh-cn
Accept-Encoding:gziP'deflate
User-Agent:Mozilla/4•0(compatible;MSIE 6·0;
Windows NT 5.0)
Host:130·9·35.98:5001
Proxy-Connection:Keep-Alive其中第1行为目标URL以及相关方法、协议,
“Host”行指定了目标主机的IP地址和端口。
根据以上代理服务的原理,为了确保数据传输的安全性,同时又能匹配防火墙设置的安全规则,必须在代理服务器端和web服务器端分别设计相应的代理服务软件,并调用硬件加解密设备对数据报文进行加密和解密操作,同时按照专用的传输协议格式来打包和解包所收到的数据报文。
代理服务器端的客户端代理服务软件设计如下:对于每一个web用户通过浏览器发出的请求,代理服务器上的客户端代理服务软件将启动2个线程。线程A接收本地用户的请求,并把请求报文加密后按专用传输协议格式打包并发送给远程Web服务器上的服务端代理服务软件;线程B接收由远程Web服务器上的服务端代理服务软件发回的响应报文,并把接收的报文按专用传输协议格式解包并解密后发送给本地请求用户。客户端代理服务软件运行界面如图3所示。
日
志文件
代理服务I?=130,9.35.98端口号=5 1客尸端代理服务启动中“.接来自:1.9.35.78
>从IE收下:28后第0>从旺收下:52后第1连接来自:1.9,,78
〈一从涨收馬4,第0
〈一送回工E馬4》第1
5
图3客户端代理服务软件界面
web服务器端的服务端代理服务软件设计如下:对于由客户端代理服务软件发来的请求报文,web服务器上的服务端代理服务软件将启动2个线程。线程A接收由客户端代理服务软件发来的请求报文,并把接收的报文按专用传输协议格式解包并解密后提交给web服务器;线程B接收Web服务器的响应报文并把报文加密后按专用传输协议格式打包并发送给客户端代理服务软件。服务端代理服务软件运行界面如图4所示。
HTTP代理服务的原理虽然简单,但在实际使用中却发挥了强大的作用。该代理服务软件经用户使用验证了其功能的有效性,使得通过HTTP协议传输的数据安全性得到了提高,满足了用户对安全性的要求。对于在使用了物理防火墙的安全系统中,针对用户在防火墙上设置的不同安全规则,只需要按不同的传输协议格式对数据进行打包和解包处理,就能满足用户的不同需求。
.代理暇务(暇务)
开
停止服务
配置|
日志文件
务端代理服务启动中“.发代理LE№164孬第0 T№0氢29弱,w訃soc毕284发.代理I.卫=271,Thi 1,16,50c=292夺一发.理LE№112,第2 T№2,d=29〕0,websock=3〕8
〈一一发.代理[卫=579了第3 Thi 3事d=3824,w訃飞ock=300
<一一发代理LE=607,第T№4,21,w訃“Ck=312一发代理I卫N=112,:5 T№d=5,,訃soc 326
图4服务端代理服务软件界面
4结束语
本文探讨了基于HTTP代理服务的web信息安全传输,设计并实现了基于HTTP协议的客户端代理服务软件和服务端代理服务软件,同时借助硬件加解密设备和专用传输协议确保了在网络上进行Web信息交换的安全性要求。HTTP协议只是TCP/IP协议的一部分,其他的还有FTP和POP3等协议,其实现的基本原理和HTTP协议有很多类似的地方,只需要根据不同的协议内容做出相应的处理即可实现安全传输。
参考文献·
[1]
[2」
[3]
[4]王宇,张建伟,卢昱,解决Web数据通信安全的一种方法[J〕·装备指挥技术学院学报,2003,14(6L92一95·胡居成,李侠林,黄皓·一种HTTP代理服务器的设计与实现[J].计算机工程与设计,2004,25((l):2032一2034.
孙永辉,姜昱明.HTTP代理服务器的实现[J].计算机工程与应用,2003(16):172一174.
曲波,吴兆芝·面向安全Web服务的SSL代理服务器的设计与实现CJ〕·华中科技大学学报:自然科学版,
2003,31((l)·114一116·
作者简介:
柳登丰,男(1980一),工程师,主要从事指挥控制系统中平台软件的设计与开发等工作。
谈鹏程,男(1981一),助理工程师,主要从事指挥控制系统中平台软件的设计与开发等工作。
(上接第54页)
统计信息因而加上了提示,告诉优化器在任何情况下该条查询都要走M表的IND-M索引,这一点是非常有必要的,否则系统在现场运行一段时间后,同样的查洵由于统计信息没有更新,Oracle会产生效率较低的执行计划。这也可以解释为什么同样的查询程序在不同的场合或者经历一段时间后速度差异极大。当然,图4得出的结论是基于某工程中的数据库环境,根据不同的数据库参数(高速缓冲区大小、库缓冲区大小等)设置可能会得出不同的结论。
在可用性方面,亻尚若某个分区的表空间崩溃(如4月份表空间文件损坏),但如果查询3月份数据,那么在查询时可以运用分区消除特性,会成功完成应用查询。而对于损坏的表空间而言,需要恢复的数据量仅仅为当月的数据量,恢复时间上可以得到保证。
4总结
Oracle根据应用类型的不同对表级对象提供了范围分区、哈希分区、列表分区和组合分区,对索引级对象提供了全局索引和本地索引。实践证明,分区技术为海量数据库管理及性能优化、提高数据的可用性与维护性提供了一种有效的解决方案。