欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    软件工程硕士论文基于XKMS系统的XML密钥管理系统的研究和实现.doc

    • 资源ID:2402186       资源大小:1.07MB        全文页数:64页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程硕士论文基于XKMS系统的XML密钥管理系统的研究和实现.doc

    基于XKMS系统的XML密钥管理系统的研究和实现院 系:软件学院专 业:工程硕士(软件)研究方向: 摘要在过去几年里,扩展性标记语言XML(Extensible Makeup Language)已经成为一种用于因特网上交换数据的有价值机制,成为企业间电子数据交换的标准。XML创建出可以供任何人从任何地方访问和使用的功能强大的应用程序,它极大地扩展了应用程序功能,并实现了软件的不间断传输。这一切是通过将紧密耦合的高效的n层计算技术与面向消息松散耦合web概念相结合实现的。由于任何企业或个人都能够通过互联网调用web服务,因此身份验证和信息的安全传输就显得尤为重要。由于WEB服务本身就是使用XML作为其通用的数据交换语言,因此使用XML对WEB服务提供安全保障就非常自然了。PKI技术已经是一项比较成熟的技术,然而PKI的复杂性使得很多人对PKI的部署望而却步。本文所讨论的XKMS能够消除使用PKI时的复杂性,使WEB服务在它们的应用程序中结合安全机制变的更容易。应用程序能简单地将所有PKI处理任务委托给某个第三方信任服务,而不是有自己来对复杂的PKI函数进行编码,这样就可以将精力集中在它们的业务逻辑上。向第三方服务进行委托后应用程序的大小将被缩减,使得应用程序可以在那些内存有限的设备上使用。由于使用XML词汇来表示PKI并且支持WSDL和SOAP的消息,使得XKMS对于平台、供应商和传送协议都是中立的。XKMS能很平稳地适应WEB服务的开发环境。本学位论文讨论了XKMS有关的基础知识原理,并在此基础上实现了XMKS密钥管理系统。完成的主要工作包括:l 分析数字安全基础、XML技术以及其安全性l 讨论分析PKI技术和XKMS技术模型l 根据W3C的规范开发了XKRSS密钥注册系统和XKISS密钥信息管理系统。关键词:Web服务,数字安全,PKI,XKMSAbstractIn the past few years,the Extension Makeup Language(XML) has been a valuable mechanism to exchange data in Internet.It also becomes a strandard which enterpise use to exchange data.XML can create powerful program which people can use or visite anywhere ,it expend programs function and enable softwares uninterrupted transmission.ALL these improve should thanks to tight coupling and high efficiency of computer technology which combined with facing message relax Web concept.Due to any enterprise or person can use Web Service via Internet, identity authentication and safety transfers security become more important.Because Web Service use XML as its current data exchange language,its nature to safeguard Web Service s security by means of XML.PKI has been a mature technology,but its complexity prevent people using it easily.XKMS can reduce complexity when people use PKI,so it makes Web Service easier to combine security mechanism,then Application program can assign all PKI process task to third- part trust service.Using XML language to represent XKMS and supporting WSDL and SOAP message,it help XKMS can be used no matter what platform, provider and transfer protocol.XKMS is suit for Web Service environment.This paper discuss basic knowledge and principle of XKMS and carry out the XKMS system on the basis of these knowledge.The major work including:l Analysing digital security,XML technology and XMLs securityl Studying PKI technology and XKMS modell Developing XKISS and XKRSS according to W3C strandardKey words:Web Service ,Digital Security,PKI,XKMS第一章:序言71 论文研究背景71.1 Web服务的广泛运用71.2 XML技术的发展背景71.3 PKI及XKMS技术的产生的背景82 论文研究内容82.1 研究内容82.2 实际工作83 论文的组织形式9第二章:数字安全基础101 密码学基本理论102 对称与非对称密钥算法103 数字签名与认证123.1 认证123.2 数字签名13第三章:XML技术及其安全性141 XML 概念142 XML安全的介绍153 XML加密163.1 XML加密概述163.2 基本XML加密结构163.3 XML加 密语法173.4 加密处理过程184 XML签名194.1 XML签名概述194.2 XML签名结构194.3 XML签名语法204.4 XML签名处理过程22第四章 PKI和Web服务231 PKI技术介绍231.1 PKI概念简介231.2 PKI的组成241.3 PKI的基本工作过程242 Web服务技术252.1 Web服务概述252.2 SOAP简单对象访问协议263 PKI和Web服务的联系27第五章 XKMS技术模型291XKMS概述291.1 XKMS服务301.2 XKMS的命名空间和优点302 XML密钥信息规范312.1 XKISS定位服务313 XML密钥注册规范343.1 XML密钥注册规范服务343.2 密钥注册343.3 重发密钥393.4 取消密钥393.5 密钥恢复394 XKMS服务示例40第六章 基于XKMS的密钥信息管理系统的实现411 密钥信息管理系统的结构和设计411.1 系统的总体结构411.2 系统构架平台的分析452 密钥管理系统的安全性分析492.1 共享密钥的安全存储492.2 重放攻击492.3 密钥吊销与密钥恢复时的身份认证492.4 密钥吊销的身份认证492.5 密钥吊销的身份认证50第七章 XKMS系统的实现和应用511 XKRSS模块的实现511.1 密钥注册511.2 取消密钥521.3 密钥恢复531.4 密钥的更新服务541.5 密钥的重发542 XKISS模块的实现552.1 定位服务552.2 验证服务563 应用实例的分析57第八章 结论59第一章:序言1 论文研究背景1.1 Web服务的广泛运用简而言之,Web服务就是通过Web提供的服务,另一方面Web服务也是一种软件应用程序,它在基于Internet的协议前提下利用基于XML的消息与其他应用程序进行交互。XML、RPC、SOAP、WSDL、PKI、XKMS是一些常用的Web服务标准技术之一。当今的IT领域,Web服务技术受到了普遍的关注。所以一种理念已经出现,既通过网络将各种服务链接在一起,合并业务应用程序,最终达到占领市场和提高竞争力的目的。但是那些快速发展的公司已经遭遇了互操作性、体系结构、特别是安全性等方面的难题。普遍调查显示,Web服务的安全性已经成为绝大多数公司的最大关注点。黑客、病毒制造者、以及其他业界敌人造成了安全方面的挑战的随之增加。人们正在研究诸如证书、加密、传输层安全保障等各种方法解决安全性方面的难题。1.2 XML技术的发展背景1.2.1 XML技术的需求发展 XML的前身是70年代发展起来的标准统一置标语言(Standard Generalized Makeup Language).SGML虽然功能强大,但是过于复杂,不利于传输和处理。因此IETF在SGML的基础上删繁就简,在1989年提出了简洁的超文本标志语言(Hyper Text Makeup Language即HTML)。并很快在WEB应用中取得了巨大的成功。然而在Web应用的深入发展的大环境下,HTML也逐渐暴露出数据显示描述能力不强、无法描述数据内容、可扩展性差等缺点,对于日益复杂的Web应用显得力不从心。于是W3C成立了工作组,通过对于SGML的进一步改进,在1998年2月推出XML。XML具有以下的优点:l 可扩展性:XML允许客户根据应用的需要,自行定义元素和需要。l 结构化:XML文档呈树型结构,通过元素的嵌套,可以描述任意层次的文档结构。l 平台无关:XML文档是一种完全的文本文档,不依赖于任何操作平台。1.2.2 XML技术的安全性问题 XML技术发展至今面临着一系列诸如数据的完整性、可靠性、和不可否认性等问题。W3C-IETF XML工作组发布了XML 签名和XML加密的规范来解决部分XML的数据安全性问题。本文将在以后的篇章中做具体介绍。1.3 PKI及XKMS技术的产生的背景在XML加密和签名过程中我们都需要使用到密钥来完成相应的功能。计算机安全这一主题有了很大的发展,他已经超出了我们的常识,比如不要在钱包中保存信用卡的密码和在所有需要密码的地方使用相同的密码等。意识到密码的良好习惯并不足以在当前的计算机环境中提供充分的安全后,我们必须借助于某种分布式的技术来构建一个结构,这个结构至少能够建立起一个用于安全计算的构架。这就是公钥体系结构(Public Key Infrastuactue 简写PKI)。为了方便PKI和数字证书与XML应用程序以及使用这些程序的WEB服务的集成。Microsoft、VeriSign、WebMethods共同开发了一个开放规范,既XML Key Management Specifiaction(XML 密钥管理规范,XKMS)。2 论文研究内容2.1 研究内容由于XML的优点及越来越多的应用都转到XML上来,所以迫切需要解决XML应用的安全问题。目前许多专门提供认证服务的企业已经投入了大量的人力和物力来构建基于PKI 的CA ,并且发放管理着大量的证书。为了方便PKI数字证书和XML应用程序以及使用这些程序的Web服务进行集成,W3C提议并由Microsoft、Versign WebMethods三家公司共同发起,制定了XKMS密钥管理系统。XKMS能消除使用PKI的复杂性,使WEB服务在它们各自的应用程序中结合安全机制变得更加容易。本文将讨论XKMS的有关于注册、发布和处理公钥的协议,使XKMS为XML加密和XML签名提供直接的支持。2.2 实际工作首先我们分析数字安全基础、XML技术以及其安全性,进而讨论分析PKI技术和XKMS技术模型。随后我们根据W3C的规范开发XKRSS密钥注册系统和XKISS密钥信息管理系统。我们首先设计系统框架模型和具体的系统设计,在系统设计的基础上实现了该系统。最后开发了一个应用来验证该系统工作的重点是如何利用XKMS技术结合XML签名规范和XML加密规范结合使用为XML应用提供安全认证服务。3 论文的组织形式本文共分六章除第一章绪论外大致内容如下第二章 介绍数字安全技术及其安全性着重介绍密钥的基础知识和数字签名的常识。第三章 深入分XML技术及其安全性第四章 分析XKMS 技术模型是本课题的主要的研究内容第五章 结合XKMS 和XML技术的解决方案的系统设计该部分是本课题的重点第六章 在系统设计的基础上实现该系统并开发一个应用实例来验证该系统最后给出本课题的总结第二章:数字安全基础1 密码学基本理论现代通讯系统的数据安全是建立在密码学理论和技术基础上面的。其中密码算法是所有密码技术的基础。将密码算法的合理运用与组合构成了使用目的不同的安全技术,诸如数据加密、签名、身份认证、密钥管理和数字证书等等。等安全技术的实施涉及到网络上多个实体时,就需要以安全协议的方式让各方进行有序的协同工作,从而发挥出各种密码算法与安全技术的特点,来保障安全的通讯过程。基本概念:l 密码学:密码学是对信息进行编码,实现信息隐藏的一门学科。l 明文(PaintText):采用密码方法可以隐藏和保护需要保密的信息,使未授权者不能提取信息。被隐藏的消息叫做明文。l 密文(CipherText):加密后的结果称为密文。l 加密(Encryption):用某种方法伪装消息以隐藏其内容的过程称为加密l 解密(Decryption):把密文转变为明文的过程叫做解密。l 加密算法(Encryption Algorithm):在加密时使用的一组规则,叫做加密算法。l 解密算法(Decryption Algorithm ):解密时使用的规则叫做解密算法。加密操作和解密操作通常都是在一组密钥(Key)的控制下进行的。用于加密和解密的数学函数称为密码算法,其安全性都是基于密钥的安全性,而不是依赖于对算法设计细节的保密性。2 对称与非对称密钥算法根据密码算法使用的密钥,可以将其分为两大类:对称密钥算法(Symmetric Algorithm)和公开密钥算法既非对称密钥算法(Public-Key Algorithm)。1.1.1 对称密钥算法 对称算法又称为传统的密钥算法。它的加密密钥和解密密钥可以互相推导得出(这两个密钥在大多数算法中是相同的),由通讯双方通过预共享方式获得。对称密钥算法的安全完全依赖于密钥的安全,泄露密钥意味着泄露信息。对称密钥又分为两类:l 序列算法(Stream Algorithm):将明文中的单个位(有时对字节)加密运 算的算法称为序列算法。l 分组算法(Block Algorithm):将明文消息分组,逐组进行加密运算的密码算法称为分组算法。现代计算机密码算法的典型分组长度为64位。对称密钥算法不仅可以用于数据加密,也可以用于消息的认证。目前常见的对称密钥加密算法有DES、3DES、IDEA、RCS等。以对称密钥算法为基础的密钥体制称为对称密码体制。对称密钥的体制的优点是效率高、速度快、系统开销少、适合加密大量的数据。但是随着网络用户的增加,数据加密所需的密钥数量会以几何级数的增长,众多密钥的分发、共享和管理将会成为一个非常复杂和困难的问题,并容易带来安全隐患。1.1.2 非对称密钥算法非对称密钥算法的加密密钥不同于解密密钥。在这种加密方式下,加密密钥也被称为公钥(Public Key),解密密钥也被称为私钥(Private Key).通常私钥不能在合理的时间长内根据公钥推导而出。当使用私钥加密而使用公钥解密的时候,由于私钥的保密性,解密的一方就能明确消息的传递来源,判断对方的身份,并验证消息的篡改。非对称加密的这一特性是对称加密所不具备的,它被运用到数字签名技术之中。以非对称密码算法为基础的密码体制称为公钥密码体制。公钥密码体制是密码学上划时代的事件,它为解决计算机信息网中的安全问题提供了新的理论和技术基础。它弥补了对称密码体制的缺点,密钥管理简单,基本解决了抗否认性问题。但是非对称密钥算法处理速度慢,使用效率低。因此,通常把对称密钥算法和公开密钥算法结合起来使用。既用非对称密钥技术在通讯双方之间加密传递对称密钥,而使用对称密钥算法对实际传送的数据进行解密处理。目前比较常见的公开密钥算法有RSA、DSA等,本论文就是使用RSA算法对XKMS消息以及消息中的元素进行加密。1.1.3 HASH函数HASH函数又被称为杂凑函数、哈希函数、单向散列函数。它是把任意长度的输入串M(称为预映射)转换为固定长度(通常是更短)输出串(称为散列值或消息摘要)的函数。当预映射发生变换的时候,散列值也发生相应的变换。HASH函数具有单向性,所谓的单向性就是根据预映射的值计算散列值很容易,但是相反的要找到散列值等于特定值的预运算是不可行的。单向散列函数的安全性就在于他的单向性。好的单向散列函数还是无冲突的,既他们难以产生两个预映射的值。还有一类带有秘密密钥的单向散列函数,被称为消息鉴别码(Message Authentication Code简称MAC)其散列值是预映射的值和密钥的函数。由于与密钥有关,只有持有次密钥的人才能计算出相应的散列值,因此消息鉴别码具有身份验证的功能。单向散列函数通常比加密和数字签名的算法快,散列值也比原文档小,因此一般通过对消息进行单向散列运算来实现完整性检查和数字签名。目前常用的单向散列函数有MD5、和SHA等,其中MD5产生128位的散列值。3 数字签名与认证3.1 认证认证又被称为鉴别,是防止入侵者对系统进行主动攻击的重要技术。认证是最主要的安全技术之一,甚至可以说,其他的安全技术都要建立在认证的基础上,认证的主要目的有两个:l 实体认证:验证信息发送者的真实性,防止伪装和假冒。包括信源、信宿等的认证与识别。l 消息认证:验证信息的完整性,检查数据在传送或存储过程中是否被篡改、重放或迟延。 由G.J.Simmons发展的认证系统信息理论,是研究认证问题的理论基础,上节介绍的HASH函数是认证算法的基本组成部分,而在这之上的数字签名技术则是实现认证的重要工具和手段。3.2 数字签名简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。数字签名在身份认证 、数据完整性、抗否认性等方面有着重要的应用。他必须满足以下要求:l 接受者能够核实发送者对报文的签名l 发送者事后不能抵赖对报文的签名l 接受者不能伪造对报文的签名基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应 用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散 对数问题制定了自己的数字签名标准(DSS)。一些国家如法国和德国已经制定了数字签名法。 以下我们使用了一个示例来阐明数字签名的具体过程:为了使用公钥加密对消息进行数字签名,甲方首先将哈希算法应用于该消息以创建消息摘要。该消息摘要是数据的紧凑且唯一的表示形式。然后,甲方用她的私钥加密该消息摘要以创建她的个人签名。在收到该消息和签名时,乙方使用甲方的公钥解密签名以恢复该消息摘要,并使用与甲方所使用的相同的哈希算法来散列该消息。如果乙方计算的消息摘要与从甲方那里收到的消息摘要完全一致,乙方就可以确定该消息来自私钥的持有人,并且数据未被修改过。如果乙方相信甲方是私钥的持有人,则他知道该消息来自甲方。第三章:XML技术及其安全性1 XML 概念XML的全名是Extensible Markup Language(可扩展的标记语言) 。它的语法类似HTML ,都是用标签来描述数据。HTML 的标签是固定的我们只能使用不能修改, XML 则不同它没有预先定义好的标签可以使用,而是依据设计上的需要自行定义标签、是可扩展的。XML 的设计思想是用来描述数据, XML可以自我描述、 XML用文档类型定义的方式来正式的定义约束XML 文档。XML 是一个元语言,根据不同的行业和语义由它可以派生出许许多多的协议和规范 。比如文档格式化标准、文档显示模式定义、文档查询标准、文档解析标准和文档链接标准等等。而且基于XML 这个低层的规范还有很多高层的应用协议,比如开放贸易协议SOAP BizTalk 等等.2 XML安全的介绍XML日益成为在Internet上交换数据的有价值形式,从而实现互操作性。因此要保证Web Services的安全性,必须先保证XML的安全性。在Web Services中,服务的请求和响应主要是利用XML消息。为了更好适应Web Services这种环境,为XML消息制定了一个特有的协议。这种基于XML的协议称为SOAP(SimpleObject Access Protocol)协议。SOAP是用于数据交换的轻量级的以XML为基础的协议。它促进了由远程过程调用和响应产生的数据传送。它设计成用于分布式和远程应用程序中,并且它是Web Services的主要组件。因为SOAP是基于XML的,所以用于XML安全的规范和方法也能用于SOAP.目前,加密整个XML文档、测试其完整性和确认其发送方的可靠性是一个简单的过程.使用公开密钥基础设施和数字证书等技术就可以达到目的。但是,由于Web Services这种新型分布式应用的特点,越来越有必要对文档的某些部分也使用这些功能,以便以任意顺序加密和认证以及涉及不同用户或发起方。因为Web Services的SOAP消息可能必须经过多方传输,但在发送方到接收方的整个过程中要保证端到端的安全性。如果将整条XML消息或SOAP消息进行加密的话,那么中转方将不能获得对其中转行为有帮助的信息,其必须在中转之前对消息进行解密,获得下一目的地的信息才能继续发送。在这一过程中,就有可能泄漏了消息的某些重要信息。因此在Web Services环境中,不能对整条消息进行加密,只能根据需要对某些元素或属性进行加密。另外Web Services环境中的多个通讯方对某一条具体的消息可能有不同的权限,也就是说,不同人对于同一条消息的不同部分可获得的权限都不同。例如,在电子交易中,销售人员和技术人员看到的同一条消息可能不同。销售人员看到的是关于交易金额等信息的部份,其他部分对于销售人员是不可见的。同样,技术人员看到的只是技术实现的部分。而管理者可能可以看到整条消息的各个部分。这种现实情况要求必须对XML消息或SOAP消息实现更细粒度的安全性。XML加密与XML签名正是为了适应此要求而提出的。SOAP提供了包含消息及其处理信息的信封。由于这个信封内容很机密,所以安全性就是必须解决的问题。XML加密对此问题提供了无缝的解决方案。3 XML加密3.1 XML加密概述Web Services请求和应答的结果都是XML文档。而在电子商务中,在不同情况下,对一份文档的加密要求是不相同的。如一份电子订单。有可能是将整个文档加密,也有可能只将其中的若干个元素进行加密,再将各自的密钥发给不同的用户以控制用户对数据的获取。为满足这样的耍求,W3C于2002年12月正式公布了对文档加密的标准(XML EncryptionSyntax and Processing)。在这一标准中W3C定义了加密语法,处理过程和算法,并给出了相应示例。3.2 基本XML加密结构<EncryptedData> 和<EncryptedKey>是XML加密的核心元素。这两个元素的基本结构完全相同,只是<EncryptedKey>添加了几个可选元素。它们的结构显示如下。其中的“*”表示0次或者多次出现,“|“表示一个选择。 EncryptedData<EncryptedData ID=” Type=”anyURI”>(<EncryptedMethod Algorithm=”anyURI”/>)*(<ds:KeyInfo>)*<ChiperData>(<CipherValue>|<CipherReference>)</CipherData>(<EncryptionProperties>)|</EncryptedData>EncryptedKey<EncryptedKey ID=” Type=”anyURI”>(<EncryptedMethod Algorithm=”anyURI”/>)*(<ds:KeyInfo>)*<ChiperData>(<CipherValue>|<CipherReference>)</CipherData>(<EncryptionProperties>)|(<ReferenceList>)(<DataReference>|<KeyReference>)(/<ReferenceList>)</EncryptedKey>3.3 XML加 密语法在2002年10月发布的推荐规范中,所有的XML加密元素都在http:/www.w3c.org/2001/04/xmlenc#命名空间中进行定义。XML加密规范使用了XML签名的http:/www.w3c.org/2000/09/xmldsig#命名空间和方案定义。以下是XML加密语法最主要的四个元素。3.3.1 EncryptedData:表3-1中按出现顺序列举了<EncryptedData>允许的元素。子元素是否必须最多出现次数EncryptionMethod否1Ds:KeyInfo否1CipherData是1encryptionProperties否1表3-1以下是<EncryptedData>的属性列表属性名称类型是否必须IdXsd:ID否TypeXsd:anyURI否MimeTypeXsd:string否EncodingXsd:anyURI否 表3-23.3.2 EncryptedKey元素:内容模型与<EncryptedKey>相类似,只是<EncryptedKey> 包含两个额外的子元素和一个额外的属性。表3-3列举了<EncryptedKey>的两个额外的元素。子元素是否必须最多出现次数ReferenceList否1CarriedKeyName否1 表3-3表3-4中显示了<EncryptedKey>元素额外的属性属性名称类型是否必须RecipientXsd:sring否 表3-43.3.3 CipherReference元素:如果加密后的数据在一个外部位置,则将使用 <ChiperReference>元素。其位置可以在同一个文档中,也可以是一个远程的位置。<ChiperReference>元素包含一个URI属性,它指向加密数据所在的位置。除了这些属性外,<ChiperReference>元素还可以包含一个可选的<Transforms>元素,用它来枚举解密应用程序在获取密码值时需要执行的步骤。3.3.4 EncryptionProperties元素:EncryptionProperties元素用于保存那些和<EncryptedData>或者<EncryptedKey>元素的生成有关的附加信息。例如,可以用它来保存加密的日期和时间之类的信息,或者是加密时所用硬件的信息,再或其他任何有关加密并且想要记录的信息表3-5中显示<EncryptionProperties>的属性表属性名称类型是否必须TargetXsd:anyURI否IDXsd:ID否anyAttributeAny否 表3-53.4 加密处理过程处理过程定义了加密、解密的过程以及实现时需要进行的串行化处理。加密器应进行的动作如下:·选择加密的算法·生成密钥,构造“ds:Keylnfo"·加密数据·构造EncryptedData或EncryptedKey结构·用EncryptedData结构替换被加密的元素解密过程,实现的解密器对EncryptedType的子元素进行解密操作,动作如下·确定加密的算法,和密钥信息·根据ds:Keylnfo内容获取全部密钥,如密钥经过加密,则进行解密·对CipherData元素内的数据进行解密·对经过串行化的数据进行处理并用解密后的数据替换EncryptedData元素·如原数据不是一个元素或一个元素的内容,则进行额外的处理4 XML签名4.1 XML签名概述XML签名和XML加密紧密相关。和安全认证签名相似,XML也是用于确保XML文件内容没有被篡改的。为了适应各种文件系统和处理器在版式上的不同,XML签名采用了“标准化canonicalization ”。 这就使得XML签名可以适应XML文件可能遇到的各种环境。当对内容进行签名时,canonicalization 使用文件里的数据和标识产生一个独一无二的签名,忽略了一些诸如段落结束或者制表符之类的次要信息。收到一个文件后,客户系统就开始进行“XML签名解密转换” 。它通过辨认信息是在标识前还是标识后来区分内容和签名:内容在标识后,而签名在标识前。通过比较运算结果和文件中的签名,可以确认数据的完整性。XML签名和XML加密结合在一起可以确保数据发送和接收的一致性。4.2 XML签名结构<Signature>元素的结构使人们能够随同摘要值携带其他的信息。验证签名所需要的密钥也可以作为<Signature>元素的一部分来传输。以下显示的<Signature>元素的基本结构(?表示0个或者1个匹配项,*表示0个或者多个匹配项,+则表示一个或者多个匹配项)<Signature ID?> <SignedInfo><CanonicalizationMethod><SignatureMethod/> (<Reference URI ?> (<Transforms/>)? <DigestMethod/> <DigestValue/> </Reference>)+</SignedInfo><SigantureValue/>(<KeyInfo/>)?(<Object ID?>)*<Signature><SignedInfo>元素包含关于实际被签署的数据对象的信息。<SignatureValue>包含数字签名值,它是<SignedInfo>元素的加密摘要。<CanonicalizationMethod>指定用来规范化<SignedInfo>元素的算法,<SignatureMethod>指定在将规范化的<SignedInfo>转换为<SignatureValue>时所用的加密算法。 <Reference>元素通过URI属性标识数据对象,并且还携带数据对象的摘要值。<Transforms>元素是<Reference>元素的子元素,它例举了在对数据对象进行摘要计算之前应用的处理步骤。转换操作可以包括规范化、解码/编码、XSLT、Xpath、XML模式验证、Xinclude等。<DigestMethod>指定应用到数据对象的摘要算法,此后将会生成包含在<DigestValue>元素中的摘要值<DigestMethod>算法在<Transforms>之后运用。尽管<Reference>元素的URI属性是可选的,但只有当一个<Signature>元素有多个<Reference>元素时,它才可以被省略。这是为了确保数据对象的明确匹配。请注意,签名验证需要访问原始的数据对象,如果它没有通过<Reference>元素的URI来指定,则接受方必须通过其他方法随同数据对象一起提供。可选的<KeyInfo>元素指明用来验证签名的密钥。<KeyInfo>之所以是可选的,是因为签名者有可能不想让所有各方都知道消息密钥。此外,还有可能让密钥信息在应用程序的上下文中是可知的,并且不需要显示地来表示。<Object>元素也是可选的,它可以出现任意次,并且可以包含应用程序希望包含的任何数据。4.3 XML签名语法在2002年2月所发布的规范中,所有XML签名的元素都在目标命名空间http:/www.w3c.org/2000/09/xmldsig#下定义。为了能够提供简洁并且可读的示例,我们将使用前缀ds,它将映射到以下的命名空间。本文将主要介绍核心区域的XML签名语法。4.3.1 <Signature>元素<Signature>元素是XML签名的核心元素。在示例中可以看出,XML签名是由<Signature>元素表示的。它可以作为一个单独的文档而存在,可以封装它所签署的数据对象,也可以封装在数据对象之内。表3-6按出现顺序例举了<Signature>

    注意事项

    本文(软件工程硕士论文基于XKMS系统的XML密钥管理系统的研究和实现.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开