XML、PKI安全

1.简介

尽管PKI技术潜力巨大,但实现时存在几个障碍,主要障碍是厂家方案之间缺乏相互操作性。一个厂家提供的PKI很难与另一个厂家提供的PKI集成。
可扩展标记语言(eXtensible Markup Language,XML)是现代技术世界中的核心角色,是未来技术的主干。Internet编程的几乎每个方面都涉及XML。

2.XML加密

XML加密最有趣的方面是可以加密整个文档或者某个部分。可以加密XML文档的下列一个或多个部分:整个XML文档;一个元素及其所有子元素;一个XML文档的内容部分;XML文档外部资源的引用。XML的加密步骤很简单,如下所示:
(1)选择要加密的XML。
(2)将要加密的数据变成规范模式。
(3)用公钥加密法加密结果。
(4)将加密XML文档发给接收方。

3.XML数字签名

前面介绍过,数字签名是对整个消息计算的,而不能对消息的特定部分计算,因为生成数字签名的第一步就是对整个消息生成消息摘要。许多实际情形要求用户对消息的特定部分计算签名,这样就可以使用XML数字签名。这个技术把消息或文档看成由许多元素构成,可以签名一个或多个元素,使签名过程更灵活,更实用。
XML数字签名规范了几个XML元素,描述XML签名特性,如下表所示:

元素描述
SignedInfo签名本身,即签名过程输出
CanonicalizationMethod指定规范化SignedInfo元素的算法,然后再在数字签名生成过程中生成摘要
SignatureMethod指定规范化SignedInfo元素变成SignatureValue元素的算法,是消息摘要算法与密钥相关算法的组合
Reference计算消息摘要和原数据得到摘要值的机制
KeyInfo表示验证数字签名的密钥,可以包括数字证书、密钥名、密钥协定算法,等等
Transforms指定计算摘要前进行的操作,如压缩、编码,等等
DigestMethod指定计算消息摘要算法
DigestValue原消息的消息摘要

进行XML数字签名的步骤如下:
(1)生成SignedInfo元素,包括SignatureMethod、CanonicalizationMethod与Reference。
(2)将XML文档规范化。
(3)根据SignedInfo元素中指定的算法计算SignatureValue。
(4)生成数字签名(Signature元素),也包括SignedInfo、KeyInfo与SignatureValue元素。
XML数字签名可以分为3种类型:被封装式签名、封装式签名和分离式签名。在被封装式XML数字签名中,签名位于初始文档内,该文档已数字签名。在封装式XML数字签名中,初始文档位于签名内。分离式数字签名中根本没有封装的概念,它与初始文档是彼此分离的。

4.XML密钥管理规范

XML密钥管理规范(XML Key Management Specification,XKMS)是万维网联盟建立的,把XML加密和解密过程中的信任相关决策委托给一个或多个指定的信任处理器,使公司更容易管理XML加密/签名技术,同时解决了PKI厂家实现之间的差别。
XKMS指定发布与注册公钥的协议,与XML加密和XML签名密切配合,XKMS包括两个部分:
(1)XML密钥信息服务规范指定信任服务的协议,解析符合XML签名标准的文档中包含的公钥信息。这个协议使这类服务的客户可以委托处理XML签名元素所需要的部分或全部任务。
(2)XML密钥注册服务规范定义Web服务的协议,接收公钥信息注册。注册之后,可以在其他Web服务中使用公钥。这个协议也可以在后面用于取得私钥,协议可以认证申请人和证明私钥拥有情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhInen丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值