本站小编为你精心准备了Web数据通信安防的解决途径参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
作者:王宇张建伟卢昱单位:装备指挥技术学院网络安全实验室北京装备指挥技术学院科研部北京
目前,国际上大量的电子商务交易均是通过分布式证书系统和SSL[1,2]协议来保证敏感数据的安全传输。许多web客户端软件,如Microsoft的IE,都能支持SSL协议,因此它们能满足大多数Web数据通信的安全需求。但是,这些软件往往不能满足关键领域和部门提出的更高级别的安全需要。这些部门要求采用受控的专用算法代替IE等浏览器软件中采用的国际通用算法,或者采用与SSL协议不同的安全协议来保证Web数据通信的安全。为此,针对不同的Web应用,如果将定制的安全功能集成到每个Web客户程序中,这不但会增加Web开发的难度和复杂度,还会增加分发这些定制客户软件的成本与困难。究其根本原因,是不能做到安全功能的实现独立于应用功能的实现。本文针对上述问题,探讨如何采用技术解决Web数据的通信安全。
1安全技术
安全技术是应安全发展的需要产生的一种实践技术。随着Internet的发展,这种技术已逐步走向成熟。简单地说,安全就是代替客户/服务器一方或者双方的身份,将原本不安全的访问(服务)和数据通信,转变为安全的。最早运用的安全技术出现在应用级的安全网关上。
这种安全网关往往被放置在防火墙的非军事区(demilitarizedzone,DMZ),为外部用户访问内部网络中的服务提供安全的访问,也为内部用户访问外部网络中的服务提供安全。与SSL相同的是,安全能客户与服务器双方完成身份认证,并能建立双方通信的安全隧道。除此之外,服务器端的安全还能提供访问控制、审计、日志记录与分析、流量控制等安全服务。典型的安全结构如图1所示。从图1可看出,采用安全解决Web数据通信的安全问题,比采用浏览器自带的SSL更灵活。它能支持自定义的身份认证协议、自定义的访问控制策略和自定义的加密算法,而且能将服务器具有的部分安全机制,如日志记录和细粒度的访问控制集中到服务上,便于安全策略的集中管理和实施,降低了由于服务器配置不当可能导致的安全风险。
2安全实现方式比较
根据安全在Internet协议层中实现位置的不同,可将安全划分为表1所示的4种类型。表中列出了它们各自具有的特性。从表1中可以看出,应用层的安全无法做到对应用程序的透明支持。例如:假设内网客户的WWW访问需要通过WinGate服务器,那么客户必须修改浏览器的连接选项,将客户服务器的地址指定为提供WinGate服务的主机,而且服务器所支持的服务数量和种类有限,新型服务的无法得到支持。应用层的管理配置也很复杂。
传输层的安全能保障传输层通信协议的安全,而且能做到对上层应用的透明。也就是说,客户不需要修改应用程序的网络配置,以IE浏览器为例,客户不用设置其连接选项,只需要安装并启动客户程序,就能实现对所有采用TCP、UDP通信协议的客户程序的安全。
IPSEC[3](IPsecurity)是典型的网络层安全。它针对IP协议进行安全扩展,只要客户和服务器双方均支持IPSEC标准,就能对上层所有应用提供通信安全。目前,IPSEC只支持全局地址的主机,网络地址翻译(networkaddresstranslation,NAT)必须在路由器进行IPSEC封装前完成,因此,应用受特定网络拓扑结构限制。
链路层的安全,如采用加密卡,链路级加密设备实现某个通信链路的数据加密,是最低层的安全技术。它所支持的安全功能很简单,而且主要采用硬件实现。
从应用层到链路层:¹安全所提供的安全服务越来越少,是因访问控制、审计、日志记录分析、流量控制等安全服务与具体的应用环境密切相关,因此大多数安全服务更适于在网络协议的高层实现;º安全所支持的通信协议(也可以说是应用程序的种类)越来越多,对应用的透明性也越来越好;»安全与网络拓扑结构的相关性越来越大,越是低层的,访问控制的粒度就越粗,对安全服务的管理就越困难。基于以上分析,可得出结论:采用传输层安全,不但能解决Web数据通信的安全,还能提供更细粒度的访问控制、审计、日志记录和流量控制等安全服务,并且适用于各种不同的网络拓扑结构。
3传输层安全的实现方法
针对Windows操作系统平台,有2种在传输层实现客户安全的方法。其中一种是采用Winsock的LSP[4](layerserviceprovider)机制,在传输层与应用层的接口处增加一个层,把Web客户端对Web服务器的访问重定向到应用层的客户,通过客户与服务实现Web客户与服务器之间的安全通信。其原理如图2所示。
由于这种安全的网络连接重定向机制是在传输层实现,因此,与应用层透明,应用程序不需修改任何网络配置。它同时还采用Winsock的NSP(nameserviceprovider)机制实现了内部虚拟域名服务。如图2所示,以Web服务为例,假设提供内部Web服务的主机的虚拟域名为host1,则客户只要在浏览器地址栏键入host1,就能通过本地的虚拟NSP,将虚拟域名转换为内部主机的IP地址192.168.1.1,然后通过LSP,将网络连接正确重定向到客户。
采用LSP技术实现的传输层安全,只支持TCP、UDP协议,不能解决Windows上基于NetBIOS协议[5,6]和CIFS[7](commoninternetfilesystem)协议的/文件共享0的通信安全。这是因为包含文件共享信息的SMB(servicemessageblock)是通过NetBIOS仿真驱动程序实现的,不经过Winsock的LSP,如图3所示。因此,为了对其进行安全,要将重定向机制实现在TDI[4](transportdriverinterface)中。在NT中,SMB运行于NBT(NetBIOSoverTCP/IP)上,使用UDP137、138端口和TCP139端口;在Windows2000中,SMB可直接运行在TCP/IP上,而没有额外的NBT层,并且使用TCP445端口。
为保证文件共享信息的安全传输,客户端的TDI过滤层要实现对TCP139和TCP445连接的安全,将其转发给本机的客户,实现与服务的安全通信,如图4所示。
4Web数据安全通信的实现方法
利用传输层的安全实现一个基于Web的网络数据安全通信解决方案,如图5所示。SSCenter:鉴别服务器。实现对客户与服务的身份鉴别,并存储用户的帐户和访问授权信息。SSAdmin:鉴别服务器管理端。远程管理鉴别服务器,包括初始化、启动、停止服务等,实现对用户帐户的管理和访问控制授权。SSServer:服务。与客户、鉴别服务器一起,共同完成身份鉴别、访问控制和安全通信隧道的建立,并提供访问日志记录、连接负载平衡和流量控制机制。
SSClient:客户。客户提交Web存储访问请求,并转发应答,与服务一起完成身份鉴别和安全隧道的建立。在这个实现方案中,采用了基于对称加密体制的专用身份鉴别协议,如图6所示。其中:KA为客户的密钥;KB为服务的密钥;KTemp为由客户临时产生的加密密钥;KA(,)为采用A的密钥加密;NA为A产生的动态标识(大随机数);IDA为A的身份标识;KAB为由AS为A、B通信产生的会话密钥;AS为鉴别服务器。
设计该协议的目的有2点:一是在保证协议安全可靠的前提下,尽量简化身份鉴别的步骤,提高鉴别的效率;二是使鉴别服务器对客户透明,客户端不需要了解鉴别服务器的位置,只需与相应的服务器打交道,简化客户端的配置。从图6中可看出,该协议仅需4步就能完成客户端与服务器双方对等的身份鉴别,效率很高。通过BAN(burrowsabadineedham)[8]逻辑,证明了该协议是安全可靠的(限于篇幅,本文省略了证明过程)。
为了尽可能提高整个系统的通信效率,降低数据加密对服务器方带宽带来的影响,采用多台服务器组成服务器组,以实现加解密负载均衡的扩展结构;利用分级加密机制、访问控制信息缓存等提高系统效率的方法[9],使最终的系统更能满足实际应用的性能需要。
5结束语
只需稍加改进,就能将上述的Web数据通信安全解决方案扩展为一个基于传输层的VPN系统,为企业内部所有使用TCP、UDP协议通信的应用提供安全保护,并能灵活运用细粒度的访问控制策略和加密算法,加强对服务的安全控制。通过在服务上增加QoS(qualityofservice)和负载平衡机制,还能进一步解决分布式网络环境下的服务重定向和服务质量保证问题。其他的安全服务,如流量控制、审计、日志分析等机制,也能集中在服务中实现,甚至能将防火墙、入侵检测等安全功能都集中到服务上,实现目前流行的集中化的安全解决方案。