论文部分内容阅读
Web服务作为新一代的平台独立的分布式计算方式,具有适合异构系统集成、易于开发和部署、易于发现和调用等诸多优势,近年来逐渐流行,在很多领域得到了广泛应用,但是Web服务仍然面临多方面的技术挑战,安全就是其中非常重要的一个方面。 作为典型的分布式应用,Web服务的安全性要求包括:数据机密性、完整性、不可否认性、身份认证、访问控制等多个方面,同时其自身的特点——动态联合、多方参与等又带来新的安全挑战。传统的安全通信机制如SSL/TLS、IPsec等,不能满足Web服务有中介参与时端到端的安全要求,Web服务需要消息级别的安全机制来保证端到端的消息安全和提供认证、访问控制。Web服务的动态交互的特点增加了授权决策的难度,服务用户和服务提供者之间没有预先建立的信任关系,传统访问控制机制还存在不足,Web服务需要一种更适合的访问控制方式。 本文分析了现有安全技术保护Web服务安全的不足,基于Web服务的典型应用的安全需求,将Web服务安全规范协同使用设计了基于SOAP扩展的Web服务安全模型,将安全应用于SOAP消息,为Web服务安全提供整体的解决方案,既满足端到端的消息安全要求,又提供访问控制。模型充分考虑Web服务跨组织、动态交互的特点,使用SAML断言传递安全信息以实现信任传递,针对PKI部署复杂以及不同PKI解决方案之间难于互操作的缺点,使用XKMS服务提供PKI功能。模型依赖于一个消息安全处理模型和一个访问控制模型。消息安全处理模型提供可扩展的安全处理层对SOAP进行安全处理和传递身份验证、访问控制所需的安全信息,为Web服务提供透明的安全服务。访问控制模型以XACML通用模型为基础,采用基于属性的访问控制方式,根据SAML断言以及Web服务参数进行授权决策,除可以提供跨域的访问控制,还具有适应动态环境的高度灵活性和可伸缩性。访问控制模型中给出了使用XACML表达的策略结构。 在安全模型的基础上,本文对Axis消息处理框架的特点进行研究,结合供应链管理应用的一个场景,设计了一个基于J2EE平台和Axis SOAP引擎的安全框架。安全框架中包含一系列的安全处理器,和SOAP引擎无缝结合,通过可配置的方式提供安全功能,用来保证Web服务的完整性和机密性,以及提供更高层次的身份验证、访问控制和审计功能。除了安全处理器,本文还根据访问控制模型设计了安全框架中的访问控制机制。 最后,根据安全框架的设计,本文实现了安全处理器及访问控制、审计所需的类,并同WSS4J处理器结合应用在供应链管理应用场景的程序当中。