数字证书是类似网上护照的电子文件。它们由可信的第三方即证书认证中心(CA)颁发,该机构负责验证证书持有者的身份。
作为W3C的一项备忘录,XKMS简化了使用公钥基础设施(PKI)和数字证书来保护基于XML的因特网事务安全的工作。它为分发及注册适合于结合W3C的XML签名语法和处理标准使用的公钥规定了协议。XKMS由两部分组成:XML密钥信息服务规范(X-KISS)和XML密钥注册服务规范(X-KRSS)。
我们已从前面举例的供应链使用实例知道,通过因特网访问信息的功能对解决方案来说至关重要。Web服务可以实现这种功能,因为它们允许通过网络交换信息。Web服务基于以下三项重要标准:
简单对象访问协议(SOAP):数据传输协议。
Web服务描述语言(WSDL):Web服务描述语言。
通用描述、发现和集成(UDDI):确定Web服务位置的注册中心。
请注意:所有上述标准都可以用XML来定义。不过,我们举例的供应链解决方案必须具体解决两个问题:
一、只允许授权用户可以访问基于XML的Web服务,这可以通过可扩展访问控制标记语言(XACML)和Web服务策略(WS-Policy)两个标准来解决;
二、保护Web服务环境中交换的XML消息的完整性和机密性,这可以通过Web服务安全(WSS)和安全声明标记语言(SAML)来解决。
本文基本介绍了Web服务策略、WSS、SAML、XACML以及XQuery和XML数据库如何赋予安全。WSS在SOAP环境下提供了消息保护。SAML和XACML支持授权,并且大力支持大规模分布式系统。最重要的是,所有这些标准都可以使用XML表示信息。Web服务策略、WSS、SAML和XACML都有一些共同之处。虽然所有这些标准都能够使用前些年使用的安全服务,但各自都有具体的特性,旨在适用于大规模分布式环境,譬如因特网。另外,这些标准可以使用及集成原先就有的安全标准。
正如前文所述,这些标准使用XML。XML使诸多技术可以轻松扩展,以满足特殊需求,而使用旧格式不可能做到这点。另外,XML允许实施者使用现有的许多软件工具进行处理。以WSS为例,它旨在与SOAP的语法和处理模型紧密集成,该模型用XML来定义。
另外,XML是一门标记语言,能够标记不同数据源的信息内容,包括结构化和半结构化文档、关系数据库和对象储存库。由于这么多采用XML格式的重要数据可供使用,这些数据可以查询及挖掘,以获得进一步的适用性,就显得极其重要。查询语言是XQuery,它能够理解XML,并且针对各种XML数据表示查询,无论是不是实际保存在XML中,还是通过中间件作为XML来浏览。XQuery广泛适用于许多类型的XML数据源。
为XML数据添加持久性的推荐方法就是,使用这样的本地XML数据库技术:不但可以把XML作为另一个关系工件来对待,还可以作为自然的XML工件来对待。XML数据库管理服务器(XDMS)是企业级XML持久性机制,它具有传统关系数据库随带的所有功能。具有功能强大的XML索引、分析及加速等特性的XDMS是一大有利因素。
Web服务策略
Web服务策略框架提供了通用模型和相应语法,以描述及传达Web服务的策略。Web服务策略定义了一套基本的构件,可由其他Web服务规范使用及扩展,从而描述一系列广泛的服务需求、选项及功能。
Web服务策略为表示基于XML Web服务的系统里面实体具有的功能、需求和一般特性提供了灵活、可扩展的语法。Web服务策略定义了一个框架和模型,用于把这些属性表示成策略。策略表达式允许简单的说明性声明,也允许比较复杂的条件声明。
Web服务策略定义的策略是一个或者多个策略声明的集合体。有些声明规定了最终在传输过程中予以显示的传统需求和功能(譬如验证方案和传输协议选择)。有些声明规定了不在传输过程中予以显示、但对服务的合理选择及使用至关重要的需求和功能(譬如隐私策略和服务质量特性)。Web服务策略提供了单一的策略语法,以便能一致地考虑这两种声明。
请注意,新成立的OASIS Web服务安全交换(WS-SX)技术委员会是OASIS为负责Web服务策略及其他相关标准而新设的工作组。
用XML表示策略声明称为策略表达式。只要使用策略操作符:All、ExactlyOne和OneOrMore等,就可以合并策略声明。
下面演示了一项策略的简单示例:
<policy Priority="200">
<All>
<Language Usage="Required" Language ="it" />
<ExactlyOne>
<SecurityToken TokenType="UsernameToken" Usage="Required">
<Claims>
<Username>Claudio</Username>
<UsePassword/>
</Claims>
</SecurityToken>
<SecurityToken TokenType="X509" Usage="Required">
<Claims>
<SubjectName>Role=Student</SubjectName>
</Claims>
</SecurityToken>
</ExactlyOne>
</All>
</policy>
与策略相关的其他规范是:Web服务策略声明语言;Web服务安全策略语言;Web服务策略附件;针对Web服务策略、Web服务授权和Web服务可靠消息传送等其他技术的策略。