新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML与数字内容安全(DRM,XrML,RDD, MPEG-21, XACML), XML传输的安全, 基于XML的签名,基于XML的加密
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML安全 』 → DSML及其加密与签名 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 7154 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: DSML及其加密与签名 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     rolen2007 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:13
      积分:103
      门派:XML.ORG.CN
      注册:2007/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给rolen2007发送一个短消息 把rolen2007加入好友 查看rolen2007的个人资料 搜索rolen2007在『 XML安全 』的所有贴子 引用回复这个贴子 回复这个贴子 查看rolen2007的博客楼主
    发贴心情 DSML及其加密与签名

    摘要  DSML是一种基于XML和LDAP的标记语言。 DSML2.0用XML文档为应用程序建立一种标准方法,来读取、查询和更新目录,它能够定义运行在移动设备或PDA上的应用程序访问目录的方式,而且访问时无需专门的客户端。在实现DSML时,还必须考虑其安全性。在XML安全领域方面开发的规范有 XML 加密、XML 签名、XACL、SAML、XKMS。本文采用XML加密和签名来对DSML进行加密和数字签名。


    关键词  DSML  LDAP  XML加密  XML签名


    1  DSML简介
    由于XML(Extensible Markup Language)使网络应用之间具有更好的互操作性,使网络管理员的工作更方便,使数据交换更简单,使重复利用内容更迅速,它的应用越来越广泛,已经成为一种用于因特网上交换数据非常有用的网络语言。LDAP(Lightweight Directory Access Protocol)是访问信息服务的开放标准协议[1]。该协议基于TCP,可被用来访问独立目录服务器或X.500目录,它的最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录,而且也很容易定制应用程序为它加上LDAP支持。
    目录服务在管理各种资源之间关系的同时,提供了一个系统中命名、描述和查询信息和资源的最佳途径。目录可以存储和管理企业中各种类型的数据:如公司员工的电话号码薄和组织结构图、客户的联系信息、电子邮件、邮件路由信息、人力资源数据、公用密匙等。LDAP协议是跨平台和标准的协议。实际上,LDAP得到了业界的广泛认可,因为它是Internet标准,产品商很愿意在产品中加入对LDAP的支持。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤。
    DSML(Directory Services Markup Language)是LDAP目录和XML相结合的标记语言,它利用XML来定义数据内容和目录结构并将它保存在分布式目录上。 DSML使开发人员可以简单方便地在Internet上部署基于XML的应用。DSML的主要思想是允许XML程序员能访问LDAP目录而不必写LDAP接口或使用某些目录访问API如微软的活动目录服务接口(ADSI)。
    DSML由结构化信息标准推进组织(OASIS)中的DSML工作小组开发,标准仍然很不成熟。DSML 1.0已于1999年完成,它提供了用XML来表达数据模型和目录结构的标准方法,它最大局限在于不支持目录的查询和更新。查询允许客户从目录中请求特定信息,如公司员工的姓名、电话号码等;更新指改变目录中的信息,如改变电话号码、删除记录、添加记录等。如要查询和更新目录,只能使用LDAP接口或某些API如ADSI。
        DSML2.0草案标准于2001年12月发布[2],它用XML文档为应用程序建立一种标准方法,来读取、查询、更新和搜索目录。DSML2.0能够定义运行在移动设备或PDA上的应用程序访问目录的方式,而且访问时无需专门的客户端;DSML2.0使程序员只用XML编程工具和技巧就可写出应用程序,而不需深入了解LDAP。DSML1.0和DSML2.0在目录表示上的区别是:前者是表示目录的状态,而后者是表示LDAP所执行的操作及操作所产生的结果。
         DSML2.0的设计方法是用XML文档片段来表示LDAP请求(request)和响应(response),这些XML文档片段用作绑定(binding)时的有效载荷,绑定定义了请求和响应的文档片段
    是怎样以特定的方式(SOAP,SMTP,普通文件)传输的。
    清单1表示LDAP请求元素batchRequest的XML文档片段。
    <batchRequest xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
                                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                            xmlns="urn:oasis:names:tc:DSML:2:0:core">
       <modifyRequest dn="CN=zhangsan, OU=MyOU, DC=Testdomain, DC=Com">
           ...
       </modifyRequest>
       <addRequest  dn="OU=Sales,DC=Testdomain, DC=Com">
           ...
       </addRequest>
       <delRequest dn="CN=Lisi,OU=HR,DC=Testdomain,DC=Com">
           <control>...</control>
           <control>...</control>
       </delRequest>
       <searchRequest>
          <control>...</control>
           ...
       </searchRequest>
    </batchRequest>
    LDAP响应元素的XML文档片段与请求相似。
    由于DSML 2.0文档本身不解决用户的个人身份证明、授权问题。由于DSML 2.0规范刚发布,它的加密性,认证和授权等安全机制值得探讨。因为这三个方面对于任何的B2B来说都是很重要的。
    安全性是个复杂的问题,DSML请求和响应无论采用SOAP、SMTP或简单文件传输,都存在安全问题。若DSML 2.0文档不加密,在传输途中可能被窃听或被篡改;而且传输协议SOAP或SMTP本身也不安全[3]。
    2 网络安全要求以及存在的安全威胁
    总的来说,网络安全的基本要求有[4]:
    1)保密性:保证没有经过授权的用户,实体或进程无法窃取信息。在一个开放的网络环境里,维护信息机密是全面推广应用的重要保障。因此,要预防非法的信息存取和信息在传输过程中被非法窃取。
    2)数据完整性:保证没有经过授权的用户不能改变或者删除信息,从而信息在传送的过程中不会被偶然或故意破坏,保持信息的完整、统一。因此,要预防对信息的随意生成、修改和删除,同时要防止数据传送过程中信息的丢失和重复
    3)可用性:指合法用户的正常请求能及时、正确、安全地得到服务或回应。
    4)非伪装性:指发送方能确信接收方不是假冒的。
    5)反抵赖性: 保证信息的发送者不能抵赖或否认对信息的发送,当然信息发送前需要对发送者进行安全认证。要在信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识。
    目前网络存在的威胁主要表现在以下几个方面:
    1)非授权访问:没有预先经过同意,就使用网络或计算机资源被看作非授权访问。它主要有以下几种形式:假冒、身份攻击、非法用户进入网络系统进行违法操作、合法用户以未授权方式进行操作等。
    2)信息遗漏丢失:指敏感数据有意或无意被泄漏出去或丢失。
    3)破坏数据完整性:以非法手段窃得对数据的使用权,删除、修改、插入或重发某些重要信息,以取得有益于攻击者的响应;恶意添加,修改数据,以干扰用户的正常使用。
    4)拒绝服务攻击:是一种比较简单,但又日益流行的攻击和禁用企业信息资源的方法。在拒绝服务攻击中,作恶者发送大量的信息流量,使 Web 服务器、主机、路由器和其它网络设备负担过重。通过这种方式发送的信息流量非常之大,致使企业的用户、客户和合作伙伴都在好长一段时间内无法访问网络。
        基于以上的安全威胁以及网络安全的迫切要求,所采取的安全措施有加密技术(对称加密、非对称加密、不可逆加密等)、数字签名和认证技术、VPN技术、IPSec技术等。
    由于还没有专门用于DSML安全的规范,因此本文采用W3C的XML规范(如XML Digital Signature, XML encryption)[5,6,7]来解决DSML安全问题。
    3 DSML的加密和签名
    XML 加密语法的核心元素是 EncryptedData元素,它是从 EncryptedType 抽象类型派生的。要加密的数据可以是任意数据、XML 文档、XML 元素或 XML 元素内容;加密数据的结果是一个包含或引用密码数据的 XML 加密元素。当加密元素或元素内容,EncryptedData 元素替换 XML 文档加密版本中的该元素或内容。当加密的是任意数据时,EncryptedData 元素可能成为新 XML 文档的根,或者可能成为一个子代元素。当加密整个 XML 文档时,EncryptedData 元素可能成为新文档的根。此外,EncryptedData 不能是另一个 EncryptedData 元素的父代或子代元素。
    清单2 表示对清单1中modifyRequest和addRequest子元素进行加密的结果
    <batchRequest xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
                                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                            xmlns="urn:oasis:names:tc:DSML:2:0:core">
    <EncryptedData  Type=”http://www.w3.org/2001/04/xmlenc#Element”
                      xmlns=” http://www.w3.org/2001/04/xmlenc”>
    <CipherData><CipherValue>C86B12D79</CipherValue></CipherData>
    </EncryptedData>
       <delRequest dn="CN=Lisi,OU=HR,DC=Testdomain,DC=Com">
           <control>...</control>
           <control>...</control>
       </delRequest>
       <searchRequest>
          <control>...</control>
           ...
       </searchRequest>
    </batchRequest>
    清单3为对清单1中batchRequest元素进行加密的结果。
    <EncryptedData   xmlns=” http://www.w3.org/2001/04/xmlenc”>
                     Type=”http://www.isi.edu/in-notes/iana/assignments/media-types/text/xml”
    <CipherData><CipherValue>C86B12D79</CipherValue></CipherData>
    </EncryptedData>
    清单4为对清单1中batchRequest元素进行签名的结果。
    <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”>
    <SignedInfo>
    <CanonicalizationMethod Algorithm=”http://www.w3.org/TR/2001/REC-xml-c14n-20010315”/>
    <SignatureMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#dsa-sha1”/>
    <Reference URI=”#batchRequest”>
    <Transforms>
    <Transform Algorithm=”http://www.w3.org/TR/2001/REC-xml-c14n-20010315”/>
    </Transforms>
    <DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1”/>
    <DigestValue>p26wx3rvEP00vKtMup4NcdUv5jil=</DigestValue>
    </Reference>
    </SignedInfo>
    <SignatureValue>MC0CFFrVLtRlk=…</ SignatureValue>
    <KeyInfo>
      <KeyValue>
      <DSAKeyValue>
        <p>…</p><Q>…</Q><G>…</G><Y>…</Y>
      < /DSAKeyValue>
    </KeyValue>
    </KeyInfo>
    <object>
    <SignatureProperties>
    <SignatureProperty Id="AMadeUpTimeStamp" >
    <timestamp xmlns="http://www.ietf.org/rfc1889.txt";>  
    <date>20020305</date>
    <time>12:55:34:34</time>
    </timestamp>
    </SignatureProperty>
    </SignatureProperties>
    </Object>
    </Signature>
    SignedInfo 元素是实际签名的信息。CanonicalizationMethod 标识了一种算法,该算法用来规范化 SignedInfo 元素。SignatureMethod 用于将已规范化的 SignedInfo 转换成 SignatureValue 的算法。Reference 的URI 属性标识要签名的数据对象。Transforms 可以包括规范化、编码/解码、XSLT 和 XPath 等操作。DigestMethod 是在应用 Transforms之后对数据应用以产生 DigestValue 的算法。DigestValue 的签名是将资源内容与签名者密钥绑定的机制。KeyInfo 表示用于验证签名的密钥,标识机制可以包括证书、密钥名称和密钥协议算法。SignatureProperties表示签名的属性,包括日期、时间等。
    4  结束语
       本文简要介绍了DSML语言,并讨论了用XML加密和签名的方法,并对其进行加密和签名。还可进一步对加密后的DSML进行XML签名,以及对SOAP请求和响应进行XML签名。限于篇幅,本文没作讨论。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/12/21 16:33:00
     
     rolen2007 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:13
      积分:103
      门派:XML.ORG.CN
      注册:2007/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给rolen2007发送一个短消息 把rolen2007加入好友 查看rolen2007的个人资料 搜索rolen2007在『 XML安全 』的所有贴子 引用回复这个贴子 回复这个贴子 查看rolen2007的博客2
    发贴心情 
    参考文献
    1. Michael Donnelly, An Introduction to LDAP, http://ldapman.org/articles/intro_to_ldap.html, 28 april 2000
    2. Directory Services Markup Language v2.0, OASIS Directory Services TC, http://www.oasis-open.org/committees/dsml/docs/DSMLv2.doc,December 18,2001
    3. 段智华,SOAP技术及其安全性研究. http://www-900.ibm.com/developerWorks/xml/x-soapsec/index.shtml , 2001 年 11 月
    4.网络系统安全综合解决方案,http://us.cns911.com/docs/firewall/0010.php,2001年8月
    5. Larry Loeb, XML signatures: Behind the curtain http://www-106.ibm.com/developerworks/security/library/s-digsig.html ,December 2001.
    6. XML Encryption Syntax and Processing, W3C Candidate Recommendation ,http://www.w3.org/TR/xmlenc-core/, 04 March 2002
    7. XML-Signature Syntax and Processing, W3C Recommendation, http://www.w3.org/TR/xml
    dsig-core/, 12 February 2002转贴于
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/12/21 16:34:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML安全 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/26 16:42:56

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms