首页 > 范文大全 > 正文

XML安全加密技术框架

开篇:润墨网以专业的文秘视角,为您筛选了一篇XML安全加密技术框架范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 本文针对xml数据的安全性问题,通过研究XML加密、XML数字签名两种XML安全技术,提出了在应用系统中应用的XML数据安全传输方案。为系统中的XML数据文件提供了很好的保护,使重要数据达到了较高的安全性。

关键词: XML;XML加密;XML数字签名

中图分类号:TP393文献标识码:A 文章编号:1009-3044(2007)16-30897-02

Scheme of XML Data's Encryption Technology

WU Qi-ming

(Department of computer and information science,Hechi University,Yizhou 546300, China)

Abstract:This paper is pointing on the XML-Security problems,and a scheme was designed for the XML's secure transmission which is being used in a application system,by researching the XML encryption and XML signature.This scheme provided a protection for the XML,which also can enhance the security of the data.

Key words:XML; XML encryption; XML signature

1 前言

安全性领域是一个快速增长的领域。随着网络的爆炸性的发展,其安全性问题日益受到人们的关注。在利用像Internet这样的公开性网络进行通信或者商业活动时,如何保证信息在通信中的保密性、完整性并能得到认证,是Internet实用化的关键。随着越来越多的公司利用XML来传输结构化数据,文档的安全问题也变得越来越重要。XML的优势来自于它的语义和结构的灵活性和可扩展性,也正是这些优点引入了一些与其他文件安全问题不同的XML数据文件安全问题。当今,为XML数据安全提供保障的关键技术是XML加密,XML签名等。如何把这些技术合理,高效的应用到实际当中去,为网络间的信息交换提供有力的支持成为了一个重要的课题。本文提出一种基于XML应用系统的安全加密方案,一方面使用XML加密来保障数据的安全,另一方面使用数字签名方式来保障数据的安全传输。

2 XML的特点及其在网络服务程序中的应用

XML从总体来讲,具有以下的特点:

自描述性:XML允许自定义标签(tag),并且这些标签可以说明数据的语义,而不是HTML中的格式说明。

独立于平台和应用:XML的文档内容是基于UNICODE的文本,适于网络的传输。

半结构化:XML数据可以用 DTD或者Schema来规范;同时XML表示的是一种层次型的数据,因此比传统的数据库更适合描述现实中的信息。

机器可处理的(machine processable):相对于完全无规则的文本,计算机很容易处理XML文档,同时相对于无法表示语义的HTML文档,计算机很容易理解XML文档的语义,并且这种可读性对人同样适用。

可扩展性:XML是一种元标记语言,可用来定义各种实例标记语言标准,用户可以为数据定义它们自己的词汇表,从而定义数据的处理方式。

按W3C标准,典型WEB通信程序层次结构如图1。

在XML基础上发展起来的Web服务(Web Service)是一种革命性的分布式计算技术。它使用基于XML的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使不同类系统能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应用程序时使用组件的方式,创建由各种来源的Web服务组合在一起的应用程序。由于Web服务是建立在一些通用协议的基础上,如HTTP( Hypertext Transfer Protocol, WWW服务程序所用的协议),SOAP (Simple Object Access Protocol),简单对象访问协议),XML, WSDL( Web Services Description Language)Web服务描述语言),UDDI ( Universal Description, Discovery, and Integration,通用描述发现和集成协议)等,这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此Web服务将会有很强的生命力。不管是B2B,B2C还是P2P形式的系统,其WEB服务的核心都可以按图1实现。

图1 Web通信程序层次结构

3 XML加密技术

3.1 加密技术

加密技术也就是利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。

加密包括两个元素:算法和密钥。一个加密算法是将普通的文本(明文)与一窜数字(密钥)的结合,产生不可理解的密文的步骤。密钥由位序列(数字)组成,密钥和算法对加密同等重要。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种,他们使用的算法叫对称算法和非对称算法,非对称算法又叫公开密钥算法(简称“公钥算法”)。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。

XML数据的加密与传统的数据加密相比有如下特点:可以对整个文档进行加密、也可以对XML文件中元素和元素内容进行加密,基于XML文件传输的数据中有着更灵活的安全机制。

在国外,对这种技术的应用已经比较成熟。但是国内对于XML技术的应用研究以及XML安全方面问题的研究却仍然处于起步阶段。研究都不够深入,应用也不是十分的广泛。然而,XML技术的广泛应用是不可阻挡的趋势。XML以及XML安全技术一定渐渐的被人们所接受,并应用到实际工作中。目前已经存在一些工作在Internet加密和安全协议,如安全套接字层(Secure Socket Layer,简写SSL)、传输层安全性(Transport Layer Security,简写TLS)和IP安全性(IP Security,简写IPSec),这些协议能够被用于在两个通信应用程序之间保护隐私和确保数据的完整性。XML加密与上述协议在两个方面存在差异。第一个差异是:如果使用XML加密,我们可以选择加密那些真正需要加密的XML元素,而其他不重要的元素则不会被加密。第二个差异是:XML加密既可用于加密直接传送给另一个应用程序的数据,也可用于加密许多应用程序通过存储介质所访问的数据。相反,诸如SSL,TLS和IPSec之类的协议从总体上加密两个通信应用程序之间所使用的整个连接,但不能用于加密数据存储。XML加密并不能替代这些己有的安全协议,不过它能解决完全不同类型的安全性问题。下面是XML加密能够解决的两个主要问题:

(1)只加密结构化数据的特定子集

(2)加密多个通信方能访问的结构化数据存储

3.2 XML加密方案

XML加密组合对称和非对称算法。对称算法用于XML数据元素的批量加密,非对称算法用于安全地交换对称密钥。下面给出接收和发送加密的XML数据消息时的一个方案:如图2。

图2 XML加密过程图

以上XML加密用XML格式来表示加密结果,提供了一个标准的处理模型。这种标准的表示格式和处理模型支持互操作性,从而有助于加密文档的交换。

4 XML数字签名(digital signature)

对数据进行加密只解决了传送信息的机密性问题,而防止他人对传输的数据进行破坏(数据完整性),以及如何确定发信人的身份(身份的确定性)还需要采取其它手段,这一手段就是数字签名。在公钥加密中,用公钥进行加密操作,同时使用私钥进行解密。而在数字签名中,用私钥加密原始数据的消息摘要,同时使用公钥进行解密,然后再重新计算这个消息摘要并检查数据是否被篡改。

XML签名提供的功能:

XML签名能用于任意数据,这些数据可能位于指定XML文档的内部或外部 XML签名为数据提供下列的性能:

(1)完整性:由于对数据进行签名,所以能够保证数据不被篡改或者没有讹误。

(2)身份验证:保证数据来自签名者。

(3)不可抵赖性:保证签名者承认文档内容。

XML数字签名的生成过程如图3 。

图3 XML数字签名的生成过程

5 应用程序XML加密框架

应用程序XML加密框架如图4,其中加密模块见图2,数据签名见图3。

图4 应用程序XML加密框架

6 总结

XML安全技术是与XML技术最好的结合,XML安全技术尽管是一门较新的技术,但是它具有灵活,方便,安全等特点,同时它也是与XML数据结合效果最好的安全技术。正因为如此,由于各种数据生成,传输,处理,全部采用的是XML技术,所以为了更好的加强XML数据的安全性,本人选择了使用XML安全技术。有着传统的安全技术基础,又有着适应新技术的改进。为基于XML开发的应用系统提供了一个良好的安全加密解决方案。尽管XML加密处理了许多加密中的问题并且使它在Web服务中的使用更为简便,但它的确也存在着一些限制。如(1) XML加密的语法和处理模型非常复杂,如果没有适当的实现工具来支持,则应用程序发现使用XML加密很困难。(2) XML加密没有为加密和解密提供标准的编程API或者Web服务模型。这对于那些跨平台的应用程序来说可能会产生可移植性的问题,因为应用程序的代码由专用供应商的API决定。这也是我今后一段时间重点研究的问题。

参考文献:

[1]韦琳娜,张连宽,段新东.XML数字签名和传统数字签名的对比研究[J].计算机工程,2004(10):16-20.

[2]王浩川,孙挺.数字签名技术在网络安全中的应用[J].中州大学学报,2001(1):77-79.

[3]禄凯,唐小梅,马明武.加密技术在Web信息系统中的应用[J].电讯技术,1999(4)63-67.

注:“本文中所涉及到的图表、公式注解等形式请以PDF格式阅读原文。”