admin 管理员组

文章数量: 1086019


2024年4月19日发(作者:批处理dir命令详解)

计算机时代2010年第4期 ・ l3 ・ 

基于X M L的网页安全防护系统设计 

李必云’,石俊峰 

(1.吉首大学数学与计算机科学学院,湖南吉首416000;2.花垣县民族中学) 

摘要:根据对Web应用层网页攻击的分析,针对网页数据必须加以验证的特点,进行Web应用层网页安全防护系统的 

具体设计,包括总体框架、模块设计、系统工作流程等。设计中,以XML Schema作为网页安全策略描述语言,利用MD5 

算法计算信息验证码来保护数据的完整性。 

关键词:安全防护;信息验证;Web攻击;系统 

Design of XML-based Web Page Security Protection System 

LI Bi—yun ,SHI Jun—fen 

(J.College of Mathematics and Computer Science,Jishou University,Jishou,Hunan 416000,China;2.Huayuan County National Middle Schoo1) 

Abstract:According to the analysis on Web page application—layer attacks,for the feature of webpage data to must be veriied,f 

the Web page application-layer security protection system is designed in detail,including the overall framework,module desin and g

system workflow.In the desin of the system,XML Schema igs used as the description language of webpage securiy polticy,the 

MD5 algorihm its used to calculate message authentication code for protecting data integriy.t 

Key words:securiy prottection;message authentication;Web attack;system 

0引言 

随着互联网技术的迅猛发展,网站已成为很多单位不可或 

缺的应用平台。与此同时,网站的安全风险也越来越高,黑客 

攻击手段从网络层向应用层转变。目前,国内外很多服务器上 

的Web应用程序,缺乏数据验证机制,使得恶意攻击者能趁虚 

有可扩展性和协同合作能力的计算机语言。XML的设计人员 

在创造这种语言时,制定了相当严格的结构和语法规则。它有 

两个重要的规则,第一个规则是提供可扩充的标记定义及严格 

的语法格式(Well—Formed);另一个规则是XML文件是可验证 

的(Valid)。XML提供文件验证机制来Jb ̄XML文件是否符合 

而入,窃取或篡改数据资料,轻者造成数据丢失,重者使整个网 

由使用者自行定义的文件结构与标记规则。XML文件的验证 

Document Type Definition)与 

站瘫痪。因此,构建网页安全防护机制,防止黑客攻击,保证数 

机制主要有二种,分别为DTD(

据安全具有重要的现实意义。 

XML Schema…。 

1系统设计的基本出发点 

由于XML Schema功能较多,本身也是一种XML语言,目 

前已渐取代DTD成为XML文件最常使用的验证机制。XML 

系统设计的基本出发点是对用户返回的网页数据加以验证 

Schema除了可让使用者定义一份XML文件的结构外,更可对 

码保护;验证考虑两种因素,数据合法性及网页数据完整性。数 

文件中的组件与属性设定数据类型,包括超过44种的内建数据 

据合法性采用网页安全策略描述语言技术来保证,保护数据完 

类型,也可让使用者自行定义复杂的数据类型。使用者可以限 

整性则是利用现在电子交易中常使用的信息验证码来实现。 

制数据的范围、长度、甚至利用正则表达式(Regular Expression) 

1.1以XML Schema作为网页安全策略描述语言 

XML作为一种专门在互联网上传递信息的语言,它是具 

来限制数据的输入,也就是说,可以利用XML Schema强大的 

数据类型设定功能,完整地规范XML文件内容可以接受的数 

户服务支持即可完成各种应用的登录,用户使用非常简单,有 

步认证技术存在着密码可能长时间被人偷窥的问题,有较大的 

效地体现了安全性和可用性的平衡。动态口令认证可以非常 

安全隐患。当前,市场上使用最多的是时间同步认证技术。 

方便地嵌入到已有应用系统,易与现有的应用系统连接,对正 

参考文献: 

在运行的应用系统仅需做极小改动。采用专用认证服务器进 

【1 J龙淑萍.密码工程实践指南【J】.中国科技信息,2006.2:34 

行认证,可保障现有应用系统的完整性,保护系统资源。专用 

【2】动态密码.http://baike.baidu.com/view/914044.him 

认证服务器通常具有非常强的可扩展性与升级能力,能够提供 

【3】中国银行电子银行网上银行一网银业务规则.http://www.boc.cn 

足够的扩展空间以适应不断发展的应用需求。 

【4】密宝信息一密宝介绍.http://ekey.sdo.com/ekey/EkeyDesc.asp 

5】陈卉,徐德发.双因素身份认证技术在上海超级计算中心的应用[J】. 

基于时间同步认证技术的口令只在一分钟内有效,较好地 

体现了技术的安全性,规避了大部分安全隐患。而基于事件同 

高性能计算发展与应用,2006.3. 茧 

・ 

l4 ・ Computer Era No.4 2010 

据,然后经由XML解析器便可判断一份XML文件是否合乎 

或需要更换时,便可以马上变换成另—个更安全的杂凑函数。 

在众多的杂凑函数中,我们选用了MD5信息摘要算法 

I ̄Message Digest algorithm)。MD5是一个单向不可逆的杂凑 

函数,经过证明发现:攻击者如果要破解MD5,必须选定一组信 

XML Schema规定 。此特性非常类似网页安全策略描述语 

言,主要的差别在于网页安全策略描述语言验证的对象是网页 

输入,而XML Schema验证的对象是XML文件。为使XML 

Schema也可用来验证网页的输入,首先设计了一个自动将网 息,在特定的电脑中离线计算出信息的碰撞情况,同时需已知 

页输入转换成XML文件的机制。为转换后的XML文件所订 

选定的杂凑函数与预设的起始值,才可以计算出对应的信息摘 

制的XML Schema文件,即是原网页输入的安全策略描述语 要。但是,由于HMAC内嵌的杂凑函数是个黑盒子,所以攻击 

言的文件。 

者无从得知采用何种算法计算摘要值。而且HMAC使用了一 

1.2信息验证码 

个密钥的概念,所以攻击者无法猜出或使用同一把密钥来产生 

HTrP本身是没有状态的,当其与其他多状态的Web应用 

所需要的信息摘要。也就是说,若输入信息摘要算法的数据非 

程序交互时,因为它并不支持用户交互的连续性,所以在H rP 

中并没有连线的概念,因此对网站系统,使用者每次进入系统 

时都是陌生人。 

如今用得最广泛的机制是使用一种叫做Cookies的数据, 

它可以作为H1广rP请求、响应信息的一部分进行交换,使得客户 

端和应用程序认为它们实际上是通过虚电路连接在一起的。 

Cookies被看作服务器发给客户端的权限标志,只要客户在每 

个请求中持有这一权限标志,就允许它访问web站点(它们可 

以被暂时保存在存储器中,也可以永久地写在磁盘上),因为 

Cookies包含有关使用者信息的文字字符串,当用户访问使用 

Cookies的网站时,Cookies便会通过浏览器写入或获取用户的 

信息 。 

对网站的管理者而言,不可少的工作是:必须要对状态信 

息作明确的管理。为了要减轻服务器端集中存放状态信息的 

负担,Cookies、URL的参数与隐藏域就成了存放状态信息的最 

好去处。尽管它们都未经加密地用明文传送,十分地不安全, 

但还是普遍被许多Web应用程序开发者所使用。 

数据可能会在传送的途中遭到更改,也就是说服务器端 

发送的数据与用户端收到数据内容可能不一致,所以要重视 

数据的完整性。为了防止恶意的攻击者由隐藏域或是其他可 

以更动的漏洞动手脚,可以利用信息验证码来保护数据的完 

整性。 

所谓信息验证码是对不定长的明文进行散列运算后所生 

成的一个定长的用于验证的字串(也叫摘要),其生成过程如图 

1所示。明文发生改变后,信息验证码也会有很大变化。散列 

运算函数(MAC)是一个单向函数,使用该函数很容易计算信息 

验证码,但从信息验证码计算出明文是不可能的。信息验证码 

的作用是验证明文是否被篡改。 

图l信息验证码算法 

信息验证码的作用类似于加密,区别是MAC函数(散列运 

算函数)是不可逆的,因为它不需要解密,这个性质使得鉴别函 

数比加密函数更不容易被破译。由于收发双方使用相同的密 

钥,因此MAC不能提供数字签名 。 

本文采用的MAC算法是一个国际互联网上的标准信息认 

证算法HMAC。因为HMAC可以快速更换内嵌的杂凑函数 

‘fHash function'),同时还可以使用密钥来增加安全性。也就是说 

HMAC将杂凑函数视为一个黑盒子,当原来的杂凑函数不安全 

同一个,则不可能产生相同的信息摘要-s 。 

当要传送一个信息给另一个人时,传送前在信息末端附上 

个信息验证码,当另一端收到信息后,利用同一个密钥与 

MAC算法计算出MAC值,在正常情况下二者比较的结果应该 

是相同的,当对比发现不同时,则表示信息在传送的路上已被 

更动过了。例如,选定密钥(K)为“zh”,传送前输入MD5算法的 

信息为…a’,当在传送途中如果信息被更改为“abc”,则在接收端 

产生的信息摘要便与原来所产生的信息摘要不同。 

MD5(”a”)=0ccl 75b9c0fl b6a831 c399e269772661 

MD5(“abc'’)=9001 50983cd24fb0d6963f7d28e1 7f72 

2设计目标与设计原则 

为了设计一个Web应用层的网页安全防护系统,系统设计 

目标及设计中应遵循的原则包括: 

(1)简单友好的用户界面; 

(2)用户的透明性,即对用户来说,防护系统的复杂度是不 

可见的; 

(3)在网页程序编写者没有重大错误的状况下,能防御 

web应用层的攻击,弥补网页程序的缺陷; 

(4)减轻网络应用程序开发者的负担; 

(5)具有不需要与网站应用程序结合、支持多语言开发的 

网络应用程序,也适用于原有的网络应用程序; 

(6)在网站管理者不想、不能、不会更改网络程序设计的情 

况之下,为网站管理人员提供一个方便、完整且系统化的安全 

防护平台。 

3系统总体框架设计 

3.1系统总体框架 

我们选用XML Schema作为网页安全策略描述语言;考虑 

到数据的完整性,选择MAC算法。防护的整体框架如图2所 

示,其中实线表示网上工作,虚线表示离线工作。系统总体框 

架包括四个模块:网页筛选过滤模块、XML解析器模块,MAC 

处理模块和XML Schema产生器模块。 

3.2系统主要流程 

图2所示的web安全防护系统框架的运行过程描述如下: 

(1)在离线状态下,web应用程序开发人员输入网页数据 

验证规则,利用XML Schema产生器模块,自动产生供验证用 

的XML schema文件。 

(2)用户输入数据的网页传回服务器时,通过网页筛选过 

滤模块的控制管理机制,数据被送到XML解析器;XML解析器 

计算机时代2010年第4期 

将其转换成XML文件,同时将对应的XML Schema文件读入, 

验证输入数据是否符合当初定义的验证规则。 

4.4网页筛选过滤模块 

・ l5 ・ 

大部份网站服务器都会提供过滤转送机制,让系统开发者 

(3)web应用程序在提交给用户的网页信息时,附上MAC 

能对网页数据做额外的筛选与处理。此机制在网站服务器外 

使其具有编译执行功能。因而通过网站服务器的 

来保证网页数据的完整性。用户输入数据的网页传回到Web 

挂命令文件,

服务器时,系统检查MAC值,以判断用户端是否变更数据。 

设定,可以将网页输入数据转送至网页筛选过滤模块。该模块 

执行以下步骤工作: 

(4)网页筛选过滤模块可以过滤数据,传递相关参数给 

收到网页输入数据后,

(1)取得所有参数数据,传递给XML解析器进行输入验 

XML解析器及MAC处理模块进行处理,最后处理结果将被传 

继续执行下一步骤,否则传送错误信息到 

给下一个Web应用程序以完成原有的工作,或是显示出输入错 

证。如果验证成功,

误的提示画面。 

服务器 

图2系统总体框架图 

4系统各模块的基本功能 

4.1 XML Schema文件产生器模块 

XML Schema产生器是供用户离线使用的辅助性软件工 

具,让应用程序开发人员针对某一个网页,选择相关的规则值, 

自动产生对应的XML Schema文件。 

4.2 XML解析器设计模块 

XML解析器接收由网页筛选过滤模块送来的数据,形成 

XML文件,然后判断此文件是否符合XML Schema规定。由 

于每个网页都有特定的网页输入,因此每个网页都对应特定的 

XML文件结构与规则,XML解析器可以依据网址知道该使用 

相对应的XML Schema文件来验证此动态产生的XML文件。 

4。3 MAC处理模块 

MAC处理模块用来保障网页数据的完整性。在本文所设 

计的框架中,采用HMAC算法对需要保护的数据产生信息验证 

码。恶意攻击者在篡改受完整性保护的数据时,只有产生相同 

的信息验证码才能进行攻击,由于信息验证码是将受保护数据 

与密钥一起经过单向的杂凑函数所产出的,因此,恶意攻击者 

很难在不知密钥的情况下自行产生正确的信息验证码。 

在网页中,部分数据要受到保护。MAC处理模块在收到 

从网页筛选过滤所送来的数据时,必须到XML Schema文件找 

出具有MAC属性的元素,再针对这些元素对应的参数产生信 

息验证码,并与一起送来的信息验汪码进行对比。同样地,对 

于要传回客户端的HTML数据,也要参考XML Schema文件才 

能知道哪些数据要产生信息验证码。 

用户端并结束。 

(2)将输入数据传递给MAC处理模块进行数据完整性检 

查。如果数据没遭破坏,继续执行下一步骤,否则传送错误信 

息至客户端并结束。 

(3)将输入数据传递给网站应用程序。 

(4)接收网站应用程序传回的CooNe及HTML数据,提取 

HTML数据中包含参数的网址以及窗体数据,把Cooke及提取 

的数据传给MAC处理模块以便产生信息验证码。 

(5)接收MAC处理模块传回的MAC码,将MAC数据加到 

Cooke及HTML文件,传回客户端。 

筛选过滤器模块读取请求后,以读取参数名称的方式去判 

断这个网页是否有表单需处理。如果未有出现参数名称时则 

会略过不再做任何处理:若有参数名称时,则表示该网页有表 

单处理,则会一一去提取网页字段、字段值与CooNes的信息, 

交给XML解析器做验证工作。 

当XML解析器验证结果是正确时,会继续附加信息验证 

码;否则表示使用者输入的信息有误,中断原网页应有的处理, 

并在使用者浏览器中给出验证错误信息,要求使用者返回前页 

面,重新输入表单内容。 

综上所述,网页筛选过滤模块主要功能是对网页进行过滤 

和分析,是系统的主要核心之一。它也扮演流程控制中心的角 

色,负责调用其他功能模块。 

5结束语 

利用XML Schema验证技术的网页安全防护机制,网站开 

发者只需利用XML Schema文件对网页输入数据的约束条件 

加以描述,防护机制便能自动对网页数据进行保护。近几年, 

Web系统的应用层攻击技术发展迅速,因此,应根据各自网站 

的技术架构和特点,建立包括管理、技术在内的多层次、立体的 

安全防护体系。 

参考文献: 

【1】姜娟娟,罗铁坚.一种DTD和XMLSchema转换的优化方法【J】.微型 

机与应用.2003 10:10~12 

【2】徐冰,李启炎.XML解析器应用分析【J】.计算机系统应用,2002.1: 

30-32 

【3】马亚娜,钱焕延.用Cookie构建Web安全的实现[J].计算机工程, 

2002.28(1 1):34~35,75 

【4】常晓燕,崔泽永.安套电子支付系统攘析[J】.统代计算机,2004.1: 

59-62 

[51李丹,龙毅宏.MD5算法破解对实际应用的影响【J】.信息安全与通信 

保密,2005.4:91-92 


本文标签: 数据 网页 信息 验证