




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 XML加密与XML签名的研究与应用 指导教师 李祥教授答辩人 王世东 贵州大学计算机软件与理论研究所 2 选题背景及意义 随着电子商务的广泛应用 对商业信息的传输的安全性要求也越来越高 NET的出现 实现计算机平台的安全性变得更容易了 虽然Win32CWindows库也提供了许多相同的功能 但是 NET的出现使得安全性安全性和密码编程比以往任何时候都简单 功能也更强大 NETSecurityFramework提供了一组强大的 使用更加简便的安全性和密码类 使用 NET提供的函数可以方便快捷的实现电子商务的安全编程 可扩展性标记语言 ExtensibleMarkupLanguage 最近已成为计算机行业中最普遍使用的新技术 XML已经涉及到编程的所有方面 包括的范围从公开的软件到基于SOAP的分布式事务处理应用程序 在这些应用中XML提供的编程语言和平台的独立性 XML支持数据的互操作性 并且俄允许开发和使用可重用的软件库来处理结构化数据 由于密码与安全在发送和接收结构化数据的所有应用类型中非常有用 所以密码和安全与XML经常结合在一起来实现许多功能 密码算法和XML相结合于是产生了XML加密和XML签名 XML与大多数传统的专有二进制数据格式相比 XML的可读性更强 同时 XML可以跨越所有边界 是真正独立的 跨平台的数据传送格式 贵州大学计算机软件与理论研究所 3 研究XML语法 语义以及规则 实现以XML格式在企业间传送数据 学习基于XML的电子商务的各种模型 了解电子商务中的一些基本概念 研究 NET框架下的3DES对称加密算法和RSA非对称算法和数据的填充方案等 及其实现的语法规则 研究 NET框架下的SHA 1信息摘要算法和实现签名及验证的语法规则 对产生的信息如何保存成XML文档格式 以便在企业间进行信息共享 本文所做的主要工作与创新之处 贵州大学计算机软件与理论研究所 4 XML基础XML与电子商务XML加密XML签名XML加密与签名及其在电子商务中的应用 内容提要 贵州大学计算机软件与理论研究所 5 XML基础 XML语言的应用XML全称是可扩展标识语言 eXtensibleMarkupLanguage 由WorldwideWebConsortium W3C 带头 在1998年2月成为一个正式的规范 XML是一套定义语义标记的规则 这些标记将文档分成许多部件并对这些部件加以标识 它也是元标记语言 定义了用于定义其他与特定领域有关的标记语言的句法语言 贵州大学计算机软件与理论研究所 6 XML基础 XML语言的产生近年来 随着Web的应用越来越广泛和深入 人们渐渐觉得HTML不够用了 HTML过于简单的语法严重地阻碍了用它来表现复杂的形式 难以满足不断增长的应用需求 XML是以SGML为目标经过简化而设计出来的 他希望软件厂商制作的XML解析器能够包含所有的范畴 而使得所有的XML解析器都能够正确无误地解析XML文件 制定XML的第二个目标是支持多重应用领域以及易于开发相关软件 XML是一种定义严谨的标记语言 文件可以被任何XML解析器处理而产生一致的输出结果 只要输出是合法的 就可以被不同的应用程序所使用 贵州大学计算机软件与理论研究所 7 XML基础 XML语言的特点1 XML文档是纯文本 提供了从小配置文件到企业级数据仓库的可扩展性2 基于内容的数据标识 因而可被不同程序用于不同目的 3 可格式化 可以为同一数据指定不同的样式表以用于不同输出 并很容易在将来使用新的格式进行显示 4 具有很强的链接能力 可以定义双向链接 多目标链接 扩展链接和两个文档间的链接 5 易于处理 XML对格式的定义更为严格 并具有层次结构 处理起来更加容易 贵州大学计算机软件与理论研究所 8 XML基础 XML的优点1 良好的可扩展性2 数据的多样显示3 内容与形式的分离4 遵循严格的语法要求5 便于不同系统之间信息的传输6 数据的本地处理 贵州大学计算机软件与理论研究所 9 XML基础 XML与HTML的区别 贵州大学计算机软件与理论研究所 10 XML与电子商务 XML对电子商务的影响1 ML加速电子商务的发展 XML的有利于数据交换和传递的特性 将为电子商务 尤其是B2B带来革命性的冲击 2 与EDI事实已经证明 XML所采用的标准技术最适合Web开发 应用于InternetEDI 则可以得到真正Web风格的EDI XML EDI XML支持结构化的数据 可以更详细地定义某个数据对象的数据结构 3 对称的EDIWebEDI允许中小企业只需通过浏览器和Internet连接去执行EDI交换 但它是不对称的 4 ML为IT业带来新的商机Microsoft正在建议XMLData方案 使用XML写XML元数据 快速开发XML应用 并简化对结构和内容的确认 贵州大学计算机软件与理论研究所 11 XML与电子商务 企业 企业 XML消息图2 1基于点对点的电子商务模型 点对点的电子商务模型最简单的模型就是使用XML定义一套消息 即把原来的EDI格式的报文用XML进行重新定义 然后在两个厂商之间利用XML消息直接进行信息交换 这是EDI的直接过渡 可以称之为点对点的电子商务 如图2 1所示的是该模型的概念性简化 现有的一些电子商务标准都可以应用于这样的模型 贵州大学计算机软件与理论研究所 12 XML与电子商务 如图2 2是一个简化的模型但是这种基于代理的模型又带来了新的问题 首先 现有的网页基于HTML 这种代理程序像搜索引擎一样 会找到许多无用的结果 导致有用的信息被淹没 为了改善这个问题 又提出了基于XML的代理技术 能够实现精确搜索 但这种技术需要网页是XML化的 另外 由于每个企业的数据库保存的信息都被防火墙阻隔 因而往往无法实现信息共享 基于代理的电子商务模型为了满足企业拓展供应链的需要 再上面的模型上增加了代理程序 称为基于代理的模型 代理程序像搜索引擎中的 爬虫 程序 在互联网上 爬行 找到有用的信息 将其传回企业的数据库 企业可以根据数据库信息拓展供应联 贵州大学计算机软件与理论研究所 13 基于代理的电子商务模型为了满足企业拓展供应链的需要 再上面的模型上增加了代理程序 称为基于代理的模型 代理程序像搜索引擎中的 爬虫 程序 在互联网上 爬行 找到有用的信息 将其传回企业的数据库 企业可以根据数据库信息拓展供应联 如图2 2是一个简化的模型 XML与电子商务 贵州大学计算机软件与理论研究所 14 XML与电子商务 电子商务模型中的关键问题1 标准化信息的标准化在任何时候都是一个重要的问题 如果信息传双方自行其是 就无法保证通讯双方都能构正确理解信息的含义 2 信息安全传输信息的传输必须保证信息的可用性 机密性 一致性和抗否认性 特别是一些关键的商业信息 对信息的传输要求极为严格 3 数据存储上面的两条是电子商务本身的要求 而数据存储是基于XML的电子商务提出的新要求 在原来的电子商务或EDI系统中 数据存储一般都是基于数据库 尤其是关系数据库 在数据存储领域发挥了巨大的作用 但是基于XML的电子商务对数据存储提出了新的要求 由于消息的传输是XML格式 而XML数据的树型结构与关系数据库的表存储结构难以形成对应关系 因此需要对XML数据进行解析后存储 而在取出数据时又需要生成XML文件 如果数据库能够直接存储XML文档 就可以免除复杂的转换手续 贵州大学计算机软件与理论研究所 15 XML与电子商务 动态的电子商务模型在动态电子商务中用到了Web服务技术 Web服务是使应用能在Internet上相互通讯和共享数据与处理逻辑 有了Web服务就可以把软件作为服务 在网上公布于世供有偿使用 Web服务帮助企业重建业务流程 Web服务集这些技术的精华本着开方式标准 可以使电子商务取得巨大成功 企业可以通过Web服务重建他们的业务流程 充分利用Web服务的动态特性在市场上抢得先机 将Web服务和电子商务应用结合起来 形成下一代的动态的电子商务模型在这种电子商务模式中要达到以下几点要求 1 1 软件资源之间的集成必须完全公开并且可访问 2 2 软件资源的服务接口必须完全公开并且可访问 3 3 程序与程序之间的消息传递必须遵守开放因特网标准 4 4 可通过将核心商业进程和外包软件组件 资源缝合起来 以构建应用程序 5 5 颗粒软件资源可用性的增强将使商业进程更灵活和更个性化 6 6 可重用的外包软件资源降为消费者降低成本和提高生产关系 7 7 软件能作为服务被售出 贵州大学计算机软件与理论研究所 16 XML加密 NET框架简介 NET框架是Microsoft推出的计算平台和操作新一代服务的 NET基础结构和工具 该平台包括用于创建用于建立新一代高度分布式的数以百万计的NET组件服务 以及启用新一代智能互联网设备的 NET设备软件 其结构如图3 1所示 贵州大学计算机软件与理论研究所 17 XML加密 传统安全技术所面临的问题1 灵活性 每个合作方只对文档的一部分加密 从而只对他们加密的那部分负责 既可以对文档部分内容加密 同时 还应该支持对整个XML文档或者任意二进制数据流加密 2 一致性 XML既可以用于文档存储 也可以作为消息传递 但是无论以何种形式使用 都是符合XML语法规范的数据 因此 加密不能破坏XML的结构 即加密后的XML文档仍然是格式良好的XML文档3 持久性 保护数据的存储安全 保持它们的长期确认性 4 通用性 鉴于XML应用的广泛性 XML数据安全技术应该具有一定的通用性 旧的安全协议和技术既不能保证数据的持久安全存储 也不能保证XML文档的一致性 既没有表示这种细粒度加密的语法 也没有表达对某部分数据加密的机制 因此 需要制订新技术用于保护XML数据的安全 贵州大学计算机软件与理论研究所 18 安全基础 XML加密 对称加密对称加密是一种使用相同的密钥来进行加密和解密的加密算法 对称密码包括分组密码和流密码 分组密码加密固定分组长度的明文 分组长度与具体的对称密码以及密钥长度有关 流密码利用密钥推导函数来产生一个密钥流 然后在明文的每一字节和密钥流的每一字节之间进行异或操作来生成密文 3DES通常被称为3DESEDE 意思是加密 解密 在加密 即执行DES算法三次 3DES算法的密钥空间大小为2168基本可以认为这种密码是安全的 明文分组输入到密码算法中 使用DES算法对明文进行加密 密钥为 92比特3DES密钥的前64比特 开头的8字节 然后使用 92比特的3DES密钥的中间64比特密钥对密文进行解密 最后 使用 92比特的3DES密钥的最后64比特对分组进行加密 整个加密过程结束 贵州大学计算机软件与理论研究所 19 XML加密 贵州大学计算机软件与理论研究所 20 XML加密 非对称加密非对称密码是一种加密算法 它使用不同的密钥进行加密和解密操作 这与对称密钥密码形成对比 后者使用相同的密钥进行加密和解密操作 非对称密码中 一个密钥用于加密 但该密钥对于解密是完全无用的 同样 仅仅有一个密钥可用于解密 并且该密钥对于加密也是无用的 最常用的非对称密钥加密算是RSA算法 它是由Rivest Shamir和Adleman提出的 尽管还有其他一些非对称加密方案 但是RSA算法是当前XML安全标准中规定的唯一一种这样的加密方案 RSA的工作原理 首先随机生成一个公钥和私钥对 然后使用生成的公钥通过RSA算法加密数据 最后用生成的私钥解密被加密的数据 贵州大学计算机软件与理论研究所 21 XML加密 传输非对称密钥信息由于每个非对称算法类 也就是RSA和DSA 在每次实例化时都会自动生成一个随机的密钥对 因此不必执行任何生成非对称密钥对的操作 但是 如果发送方和接收方都创建属于自己的RSA对象的不同实例 两个通讯方生成的公开和私钥信息显然不会自动匹配 要解决这个问题 只需要简单的在两个通讯方之间传输公钥信息 再使用RSA算法的情况下 公钥信息被限于模数和指数 使用ToXmlString和FromXmlString方法或者ExportParameters和ImportParameters方法对能够完成的功 ToXmlString和FromXmlString方法对允许通过通用对象串行化的方式来存储和检索XML格式的非对称算法对象 由于RSAParameters类可串化 所以这个类也能够用于传输秘密钥信息 如果接受方创建了一个RSA实例 那么他 她 就可以保存公钥信息 并且可以将未加密的公钥信息发送给发送方 接收方获取并使用这个公钥信息来加密重要数据 并且将加密结果发送回接收方 接收方接收到加密的数据 然后使用相关联的私钥信息就可以解密出重要数据 贵州大学计算机软件与理论研究所 22 如图4 1详细的说明了如何在一条信息中应用数字签名 在这个图表的左上端 我们输入原始消息 并通过在消息上应用SHA 1算列算法创建一个160比特的消息摘要 随后 使用只有私钥属主才知道的私钥加密这个消息摘要 需要注意的是 由于发送方使用的是自己的私钥来进行加密 所以此时执行的并不是秘密的加密操作 这也就意味着任何人都能够使用相关联的公钥解密消息摘要并重新得到散列 实际上 这正是接收方能够处理签名消息的原因 最后 加密的结果被称为数字签名 其他通讯方无法创建这个特殊的数字签名 即使这些通讯方能够访问原始消息 但是他们却不知道所使用的私钥 鉴于同样原因 其他通讯方也无法修改这条消息 或者无法虚构出另一条不同的消息并使用特定的私钥来进行签名 XML签名 贵州大学计算机软件与理论研究所 23 XML签名 贵州大学计算机软件与理论研究所 24 XML签名 贵州大学计算机软件与理论研究所 25 XML签名 图4 2说明了接收方验证经过数字签名的消息的整个过程 接收方需要判断签名消息来自于可信任的发送方还是冒充该发送方的其他人 此外还需要判断消息在合法发送者签名和被接收这一段时间之内是否已被未授权通讯方更改 在这个图4 2的左上端 接收到的签名消息被分为3个组件 原始消息 公钥以及数字签名 要与原始消息的散列进行比较 就必须计算接收消息的散列 如果消息摘要没有变化 就可以确认消息本身没有变化 另一方面 如果消息摘要发生变化 也可以确定接收到的消息出现讹误或被篡改 贵州大学计算机软件与理论研究所 26 XML签名 基于文档的XML签名安全性分析基于文档的XML签名实际上是对一组对象的散列的签名 而不是直接对需签名对象的签名 所以签名或验证的第一步都是针对reference对象的处理 签名时要对reference对象及其转化的结果进行标准化的操作 防止对中间结果的攻击 验证时也一样 这就要求特别注意签名的转换带来的安全隐患 1 只有签名了的数据是安全的 2 只签名看见的数据 如果参照元素中包含某些数据的签名或散列 基于文档的XML签名并不能保证该签名或散列的正确性 因为基于文档的XML签名对此不做校验 3 看清要签名的数据 在进行元素的签名前 一定要核实签名对象的引用 对签名中出现的数字等关键数据要进行核对 如果因为签名的数据没看清而不当地签名了该参考对象 可能产生法律纠纷 在实现时要特别注意提醒签名者相关的安全隐患 贵州大学计算机软件与理论研究所 27 XML签名 在信息安全技术中 经常需要验证消息的完整性 散列 Hash 函数提供了这一服务 它对不同长度的输入消息 产生固定长度的输出 这个固定长度的输出称为原输入消息的 散列 或 消息摘要 Messagedigest 一个安全的哈希函数H必须具有以下属性 l H能够应用到大小不一的数据上 2 H能够生成大小固定的输出 3 对干任意给定的x H x 的计算相对简单 4 对于任意给定的代码h 要发现满足H x h的x在计算上是不可厅的 5 对于任意给定的块x 要发现满足H y H x 而y x在计算上是不可行的 6 要发现满足H X H y 的 X y 对在计算上是不可行的 贵州大学计算机软件与理论研究所 28 XML签名 NET提供的散列算法最长用的两种密码散列函数是SHA 1和MD5 加密的散列算法对于某些与消息验证有关的用途也是至关重要的 下面列出了 NETFramework支持的 由HashAlgorithm派生的类 MD5SHA1SHA256SHA384SHA512KeyedHashAlgorithm 贵州大学计算机软件与理论研究所 29 XML加密与签名及其在电子商务中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024粮油食品检验人员测试卷(考点提分)附答案详解
- 高中信息技术课程任务驱动教学模式构建策略
- 2025自考专业(教育管理)试题带答案详解(综合卷)
- 2025年光伏发电系统设计与优化考核考前冲刺测试卷包附参考答案详解【完整版】
- 2025自考专业(计算机网络)高分题库及参考答案详解【满分必刷】
- 厂区防汛方案
- 一般固废综合处置项目初步设计
- 2024危险化学品安全作业考前冲刺试卷(名校卷)附答案详解
- 2025年高校教师资格证之《高等教育法规》考前冲刺练习题库带答案详解(巩固)
- 2025年职称计算机通关考试题库及参考答案详解【B卷】
- 新转型九年一贯制学校三年发展规划(2025年-2028年)
- 期神丁鹏期货交易课件
- 反走私课件教学课件
- 大货车闯红灯安全培训课件
- 2025秋教科版(2024)科学三年级上册教学设计(附目录)
- 2025年人教版三年级数学上册全册教案
- (2025秋新版)苏教版科学三年级上册全册教案
- 《中国人首次进入自己的空间站》导学案 部编语文八年级上册
- Unit 2 My friends (Period 3) 课件2025-2026学年人教版英语四年级上册
- 烟花爆竹经营安全管理知识培训考核试题及答案
- 四川省土地开发项目预算定额标准
评论
0/150
提交评论