xml签名和普通数字签名
关于xml签名到底有什么用,刚开始感觉比较近鸡肋,不就是把签名总结成放到一个xml文档中嘛?
首先,xml签名和普通签名都有签名的特性,即保证完整性,不可否认性,身份鉴别等。这就导致了我一开始以为xml签名和普通的签名区别不大。
实际上:
1.xml签名是什么?
顾名思义,xml签名就是把一份签名信息转换成xml文档。
这个文档的结构大体是固定的,内容大概包括:要签名的对象、签名算法、对数据的处理方法(规范化)、数据转换方式、摘要算法、签名值等。
2.传统签名方式的不足之处?
- 传统的签名方式一般为签名方把数据和签名发给验证方,签名信息是少的,但是签名的原始数据可能是很大的,把原始数据发送给验证方大大增加了网络带宽。特别是一份文件有多个人签名时,每个签名者都把原始数据发送给验证者,验证者收到了很多原始信息副本,很烦。
- 传统数字签名签名者和验证者得提前沟通好所使用的签名算法、摘要算法等签名环境信息。
- 传统数字签名签名信息文件和原始数据文件可能是分开放的,带来了管理上的困难,特别是一份文档有多个人进行签名,不好存储和管理。
- 《xml数字签名VS传统数字签名》韦琳娜/张连宽/段新东/ 这篇论文里讲传统数字签名还有BER/DER编码和ASN1解析器带来的麻烦问题。看不懂。
- 传统数字签名不支持对原始数据进行轻微的改动,比如一张图片可能被修改了一点点,但改图片的作者还是原作者。在签名中原始数据一旦改动,哈希值改变,签名也完全改变了。
3.xml签名的优点。
1.xml签名通过URI的方式指定签名的原始数据,做到了签名和原始数据的分离。在当前分布式网络愈发流行的互联网上,使用URI瞄定数据源很有用,在发送签名时可以不用发送原始数据。
2.支持细粒度的签名。
3.xml签名包含了签名的上下文信息,一份xml签名就可以多方验证而不用所有验证者和签名者之间提前沟通好所使用的签名算法、摘要算法等,很便捷。
4.对一份原始数据的多个签名可以同时包含在一份xml文档中,带来了签名管理上的方便。因为URI已经指定了原始数据,就可以把针对一份原始数据的签名整合到一份xml文档中。
5xml签名的分层验证模型可以支持数据的轻微变化。
6.xml签名解析器可以方便对xml签名进行分析和处理。
7.前面变换瀑布啥的。。。
总结:感觉主要是URI的引入带来了一系列的好处。
总结来源:《xml数字签名VS传统数字签名》韦琳娜/张连宽/段新东/
而且只看了前面。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)