随着数字图书馆全方面网络信息服务的提供,数字图书馆中数据的存储和访问安全变得越来越重要。数字图书馆中的元数据可以通过XML语言描述,XML作为数据交换的规范已经在数字图书馆中进行了应用。通过对XML数据安全进行分析,使用XML加密和数字签名技术可以确保数字图书馆在互联网应用环境下的数据信息安全。
随着网络技术的不断发展和应用,各种数据信息的存储、表达和检索等要求越来越高。伴随着数据信息深层次处理要求的不断提高,可扩展标记语言(Extensible Markup Language,XML)应运而生。XML是一种基于SGML标准简单灵活的语言,并得到了W3C(World Wide Web,联合组织)的认可。XML解决了HTML的诸多问题,被认为是第二代因特网信息组织的格式标准。目前,XML技术已经被业界广泛的接受,并成为网络应用中事实上的数据表达和数据交换的标准,在Web服务、数字图书馆、以及电子商务中得到了应用。
1 XML技术与数字图书馆
1.1 XML技术对数字图书馆的影响XML技术对数字图书馆的影响,有以下3个方面:(1)XML是一种对信息资源的结构化描述,其功能用来规定数字化信息组织的数据结构标准,因而可以描述各种类型的信息资源。XML与元数据的发展不可分割,利用XML可以生成各种用于不同目的元数据。XML允许用户自定义标记集,实现个性化文献定制,这些标记集能用超越标准HTML的元素类型表达特殊信息。从数字图书馆的角度来看,元数据是数字图书馆信息描述的方法,为数字化信息的发现、存储、组织、共享和检索奠定了基础。利用XML可以生成各种用于不同目的的元数据,如:导航图、内容评价、流路径、定义和著者等,由此可见,用XML语法写成的元数据将为数字图书馆建设做出很大贡献。(2)XML有利于不同系统之间信息交换,能够方便的将图书馆数字化建设中用到的各种数据库系统之间的数据进行自动转换。XML不仅支持字符集Unicode,而且支持开放性文本,因此,数据自我描述和获取不同结构数据的操作非常方便。XML数据方便信息的获取和利用,便于各种数字资源的整合。(3)XML使Web信息发布方式发生了变化。XML的良构性和可扩展性使得对Web结构化信息管理成为可能,使得图书馆参与网络信息资源组织和整理的环境更为有利。XML对图书馆馆藏信息资源的描述和发布产生的影响将改变图书馆基于MARC格式的书目数据形式。MARC格式提供了对不同文献对象进行著录的统一标准,但该标准却阻碍了图书馆书目数据资源融入网络信息资源,参与网络信息流通,通过XML技术可以有效的解决这一问题。
1.2 数字图书馆的数据安全随着数字图书馆建设的步伐加快,图书馆开展了全方位的网络信息服务。由于以Internet为基础设施的网络系统本身存在的安全隐患,加之图书馆网络系统的开放性、复杂性和用户的多样性,使得图书馆网络系统极易受到黑客的攻击、病毒的侵袭和合法用户的误操作等。数字图书馆系统的数据主要是元数据、对象数据和用户数据等。这些数据所面临的威胁主要有:数据泄露或丢失,非法窃取,修改或重发,非授权用户访问等。数据的安全主要表现在:如何确保数据的机密性、完整性、可用性、可控性和可审查性等特征。确保数据安全的方法:依靠操作系统的访问控制功能实现,采用用户身份认证来实现,通过数据加密技术来实现等。目前,在数字图书馆中元数据大都可以通过XML语言来描述,而且在数字图书馆资源使用过程中多数都以XML文档作为数据对象在服务器和浏览器之间传输,XML是Internet交换数据事实标准。因此,只有解决了XML数据的安全问题,XML才能得到更广泛的应用,数字图书馆的数据安全才能有所保证。
2 XML数据安全标准
2.1 XML数据加密W3C的加密方案规定了把XML数据明文加密产生密文以及对密文解密恢复XML数据明文的过程。XML加密包括加密语法和处理规则两部分,前者描述加密数据的表示形式,后者描述加密的处理过程。XML数据加密根据加密粒度可分为:加密XML文档,加密XML元素,加密XML元素内容。XML数据加密的过程:将XML文档转换成为一个DOM(Document Object Model,文档对象模型)对象,标记要加密的内容并记录其位置,加密相关内容,将加密内容封装成标准的XML文挡。XML加密数据的一般格式如下:?????????EncryptedData是密封加密数据和解密所需相关信息的最外层元素,它包含了4个关键子元素:(1)EncryptionMethod:使用XML加密规范中定义的算法标识符描述采用的加密算法。(2)ds:KeyInfo:提供用于加密和解密数据的对称密钥。(3)CipherData:包含或引用实际的加密数据。(4)EncryptionProperties:提供了应用程序专用的附加信息。 2.2 XML签名规范当对XML数据进行交换和访问时,可能会出现数据的伪装、篡改和抵赖等,数字签名是确保数据安全的一种常用方法。XML签名规范是W3C为了对敏感的数据通过会话密钥或公、私密钥进行加密而定义的数字签名进程和XML文档结构的规则。XML签名提供了灵活的数字签名机制,不仅支持对网络资源和消息整体的签名,也支持对XML文档或消息的部分进行签名,既支持公钥数字签名,也支持对称密钥的密钥散列验证。XML数字签名标准包括如何用XML和XML签名命名空间来描述一个数字签名。传统的数字签名技术其签名对象是要签署的文档整体,不支持对文档的部分签名。而XML数字签名标准充分利用XML数据的强大表达能力和扩展能力,增强了XML数字签名的灵活性和扩展性。XML签名不仅可以对整个文档进行签名,而且还可以实现对文档的特定部分进行签名,并支持多重XML数字签名。下面给出的是应用XML签名的示例:
dGhpcyBpcyBub3QgYSBzaWduYXR1cm UK.../DigestValue>
...
...
.........
Signature标识了整个XML数字签名,它包含了4个关键子元素:(1)SignedInfo:是签字信息元素,整个XML签名中最重要的核心元素,XML数字签名对整个签字信息元素签字,它包含与签字相关的所有信息。(2)SignatureValue:容纳Base64编码的签字值。(3)KeyInfo:包括用来验证XML签名的具体信息。(4)Object:包含XML签名所需要的附加属性。在XML签名中,签字元素(Signature)和数据对象的相对位置有3种:(1)封装签字:数据对象放在客体元素中,签字元素就是数据对象的祖先元素。(2)被封装签字:签字元素作为数据对象的子孙元素。(3)分离签字:签字元素与数据对象相分离。
2.3 XML密钥管理规范W3C在2001年制定了XML密钥管理规范(XML Key Management Specification,XKMS)。XML数据加密和数字签名技术以公共密钥基础设施(Public Key Infrastructure,PKI)为基础来实现加密、解密、签名和验证等操作。XKMS为访问和集成PKI提出了解决方案。XKMS由VeriSign、微软和webMethods共同制定,其主要功能包括:公钥的登记、发布、撤销、验证、管理和查询。XKMS以Web服务的形式实现,允许客户端应用程序访问PKI功能,从而减少客户端应用程序的复杂性。XKMS由XML密钥信息服务规范(XML Key Information Service Specification,X-KISS)和XML密钥登记服务规范(XML Key Registration Service Specification,X-KRSS)两部分组成。X-KISS定义了一种可用于验证互联网上公钥合法性的服务实现规范。使用X-KISS,应用XML数据的用户可通过互联网委托可信的第三方处理有关签名认证、数据加密等服务,包括提供其它客户的加密公钥,验证公钥合法性等。X-KRSS定义了一种可通过互联网接受公钥登记、撤销、恢复的服务规范。若一个XML应用建立了一个密钥对,则可通过X-KRSS协议将公钥部分及其它有关本人身份的信息发给可信第三方登记。XML数据加密和解密的原理如下:(1)接收方生成两个非对称密钥,一个是公钥,一个是私钥。(2)发送方获取接收方的公钥,生成一个对称密钥,用对称密钥加密XML数据。(3)发送方使用接收方的公钥加密生成的对称密钥,然后将加密的XML数据、加密的对称密钥结合在一起,生成一个XML文档发送给接收方。(4)接收方使用非对称密码算法和自己保管的私钥来解密对称密钥,然后用解密的对称密钥来解密XML数据。XML加密和XML数字签名是两个既独立又紧密相关的技术。XML加密确保数据的机密性,XML数字签名确保数据的完整性和不可否认性。
3 结束语在数字图书馆中应该确保数据存储、访问和交换的安全,XML数据作为数据交换的规范已经在数字图书馆中有了广泛的应用,W3C制定的XML数据加密和数据签名技术可以在一定程度上确保数据的安全。XML数据安全技术在电子商务,WEB服务中也有应用。采用合理的加密算法,根据XML数据的加密技术和数据签名规范实现数字图书馆的数据安全在技术上是可行。随着数字图书馆全方面网络信息服务的提供,数据安全将在以后的应用中彰显它的重要性。将XML加密和签名技术结合起来,可以确保数字图书馆在网络环境下的数据安全。
作者:李军艳 来源:现代情报 2009年12期