web|电子商务|解决
统一安全服务体系结构的基本想法就是将系统的安全体系结构的复杂性迁移到所谓的统一安全服务层,因而使得系统的其他部分无须承担任何的安全职责。
在统一安全体系结构中,由一个单独的服务器来实现统一安全服务,在此服务器上可以找到所有的安全算法,该服务器是对所定义域进行鉴别的唯一场所。因此,统一安全的鉴别/注册方法还有另外一个优点:即便一个用户在一个特定域中同许多不同的安全元素相互作用,它只需要进行一次登录。统一安全服务其本身可能就是一个Web service,这样可以使得系统中其它子系统可以很方便的进行安全功能的集成。
被鉴别方首先调用统一安全服务来请求得到一个能够在特定域中标识其自身的身份ID。为了能够获得这个身份ID,被鉴别的一方首先必须提供正确的鉴别资格信息。鉴别资格信息具有多种不同的形式:例如,可以是简单的用户名/口令或者证书,但是也可以采用别的方法。统一安全服务使用底层潜在的安全体系结构对用户的资格信息进行验证,然后才赋予用户一个身份ID。
具体过程如下:
1:被鉴别方向统一安全服务发出登陆请求
2:统一安全服务返回被鉴别方身份ID
3:被鉴别方将应用请求与身份ID发往应用服务器
4:应用服务器将身份ID发往统一安全服务进行认证以及判权
5:统一安全服务返回认证以及判权结果
6:应用服务器根据返回的信息做出特定回应。
三、基于WS-Security实现传输信息安全
电子商务环境中,除了对交易者的身份信息需要认证和判权外,还对传输的内容的绝密性、完整性、不可否认性有很高的要求。由于web service 传输的是基于Soap协议的XML文本消息,为保证传输信息的绝密性、完整性、不可否认性,可以利用Web service security扩展机制来实现。
WS-Security 主要是一个用于基于 XML 的安全性元数据容器的规范。业界已经对网络传输信息安全提出了许多解决方案。例如 Kerberos 和 X.509 用于身份验证;X.509 还使用现有的 PKI 进行密钥管理;XML 加密和 XML 签名描述了 XML 消息内容的加密和签名方法;XML 标准描述了为签名和加密而准备 XML 的方法。WS-Security通过在现有规范中添加了一个架构,用于将这些机制嵌入到 SOAP 消息中。实现了一种与传输无关的安全扩展方式。
WS-Security 定义了一个用于携带安全性相关数据的 SOAP 标头元素。如果使用 XML 签名,此标头可以包含由 XML 签名定义的信息,其中包括消息的签名方法、使用的密钥以及得出的签名值。同样,如果消息中的某个元素被加密,则 WS-Security 标头中还可以包含加密信息(例如由 XML 加密定义的加密信息)。WS-Security 并不指定签名或加密的格式,而是指定如何在 SOAP 消息中嵌入由其他规范定义的安全性信息。
在基于WS-Security 扩展的Web Service中,Soap传输的不再是简单的XML文本消息,而是实现了WS-Security扩展的XML文件,身份证书作为XML header中的一个属性被用户私钥加密,传输的XML BODY内容也进行了数字签名。应用端对客户传输来的信息根据客户用户解密进行验证,这样就保证了信息来源的准确以及信息完整性、保密性。下面就是一个使用了WS-Security扩展的SOAP消息,里面使用了用户令牌与数字签名。