3.3 采用身份认证和消息的数字签名应对欺诈问题
针对欺诈问题,可以使用身份认证和消息的数字签名来解决。身份认证保证授权的用户能够访问被授权的资源。由于在企业级SOA中身份认证不局限于单一安全控制域,而安全断言标记语言(Security Assertion Markup Language,SAML)标准提供了不同安全域之间认证的交互,以一种可为用户调用的Web 服务所接受的方式表达用户的真实性,并且,SAML基于XML的标准,为以标准方式描述安全性信息提供了一个框架。通过一个标准的认证过程,多方可以达成一致,使用一组给定的标准来对一组指定的用户进行身份验证,参加这个过程的安全域组成一个身份联邦(Identity Federation)。接下来,SOAP消息被传递给目的Web服务,并附加上一个SAML断言。但是需要注意SAML断言不依赖于联邦身份验证过程。
数字签名用于保证消息真正创建者身份的真实性以及消息在发送系统到接受系统之间传输时未被篡改。数字签名是对身份和消息内容进行惟一的处理得到的一个基于密钥的非常大的数,是一种消息级的安全措施,它结合了数字证书密钥和加密等安全方法。如果消息被改变了,那么惟一的数字签名将不再与密钥和用于创建密钥的原始消息相匹配。为此,数字签名提供了个不可否认性,例如,数字签名可以证明你的供应商收到的电子订单确实是由你发出而且在传输中没有被篡改过。针对企业级SOA,可以使用专门制定的处理XML消息级别的XML数字签名标准。
四 总结
虽然关于SOA技术的标准已经有很多了,专门针对安全问题而制定的标准却屈指可数。OASIS技术委员会制定了一系列技术标准,WS-Security是迄今为止得到认可的安全性标准集合的总称,包括WS-Security(描述如何将XML加密和XML签名应用于SOAP文档或信息)、WS-Trust(应用WS-Security标准传输密码、数字证书以及SAML断言等安全标识)、WS-SecurityPolicy(对哪些人被允许访问某个服务以及访问方式做出规定,并对认证方式的类型和/或所需要的加密等级做出限制)、WS-Federation(根据WS-SecurityPolicy 中描述的服务规则,应用WS-Trust 中提到的被传输的安全标识,通过Web服务的认证)、WS-SecureConversation( 按照WS-Security标准,实施WS-SecurityPolicy中所描述的策略的方法)等。现在,SOA领域的“物质基础”已尘埃落定,而“上层建筑”仍在建立之中。
需要注意的是,就像在IT的其他领域中一样,若想保障基于SOA架构业务的安全性,就需要有大量开销。因为在到达目的地之前,每条消息都必须经过好几个地方,另外证书文件可能会很大,从而给网络造成很大的负担,而且整个过程往往会降低性能。但遗憾的是,为了安全这些开销和负担是必不可少的。
此外,如果想保护牵涉多家企业的庞大Web服务网络,每家企业必须就采用的技术、甚至安全策略达成共识,因为如果合作伙伴的员工使用弱密码来访问系统,那么即使要求本企业的员工使用生物特征识别技术和物理令牌也是毫无用处的。
原文转自:http://esoft.ctocio.com.cn/236/12880236_2.shtml