前些日子公司的应用要和合作方对接,我参与了webservice这块的工作,在访问量很小的情况下基本上完成了功能,但安全这块没有找到合适的方案,所以自己做了些旁门左道的设想,不一定合理和完善,希望能起个抛砖引玉的作用。
大家都知道,Webservice中的安全策略的实施主要从以下三个方面考虑:
1.传输时安全。通常采用SSL/HTTPS 对连接加密,而不是传输数据。
2.数据安全。通常采用数据加密(XML Encryption) 数字签名(XML-DSIG)。
3.底层架构提供的安全策略,利用应用服务安全机制。
对于传输时的安全,比较容易地加入到Webservice应用。可以利用HTTPS协议,就可以获得连接过程中的安全。
a.我们目前这个项目没有计划采用https。当然我是很希望采用这种策略,因为系统的安全性越高越好啊,但是没采用我也没办法。
传输过程中数据的保护是对于消息本身的保护。你可以使用已有的XML安全扩展标准,实现数字签名的功能,从而保证你的消息是来自特定方并没有被修改过。XML文件的加密技术从大程度上加强了Webservice的安全,它能够定制数据传输到后,能否被接受者所查看,进一步完善了传输后的安全,业界也在不断的制定Webservice的安全标准,比如SAML 和WS-Security。
a.数据的加密。目前采用了对XML文件中部分数据加密的策略。原因很简单,http上不能传明文吧,而且实现起来也不是很困难。只要客户端和服务端约定好一种加解密的算法,加上适当的密钥就可以了。当然实现过程中,如果两端的语言和平台不同,例如客户端是.net,服务端是java,.net的某些算法的具体模式需要清楚才行,否则调试起来会有些小麻烦。
b.数字签名可以确保传递的数据没有被第三方恶意修改过。数字签名这块理论上了解一点,具体的实施没有做过,听前辈高人说,可以采用伪签名机制,没有深入学习。整体上的设想是,将来用户量上来了,可以购买正式的数字签名产品,来避免数据被篡改的危险。目前针对数据可能会被篡改的危险,采用了消息摘要的策略,因为它确实具备这种能力,也因为这种策略被广为采用。
c.想到的另一种危险,恶意的重复发送问题。如果恶意用户截获了正在传输的数据,反复不断的重复发送,这种情况该如何处理。这种情况对整个系统来说,危险系数太高了,会造成数据的混乱,业务处理的错误,后果非常之严重,所以必须要预防。目前的策略是,因为数据是要保存到DB中的,正好表中的时间字段和其他的几个字段可以组成数据的唯一标识,这样就很容易的预防了这种情况的发生,呵呵,还不错。
最后一层保护就是依靠底层架构的安全,这更多的来自于操作系统和某些中间件的保护。比如在J2EE中,主持Webservice的应用服务器。目前很多的J2EE应用服务器都支持Java Authentication and Authorization Service (JAAS),是被加入到J2SE 1.4当中的。利用主持Webservice的服务器,实现一些安全机制这是很自然的做法。另一种利用底层架构的安全方法就是,做一个独立的负责安全的服务器,Webservice的使用者和创建者都需要与之取得安全信任。
对于server的安全策略,目前还没有想好怎么处理。
http://moppet.taobao.com/
分享到:
相关推荐
综上所述,"WebService CXF 开发实战"涵盖了从基础概念到高级特性的全面内容,包括但不限于CXF的环境配置、服务创建、数据绑定、RESTful支持、安全性配置以及性能优化。同时,通过源码分析和工具使用,开发者可以...
此外,还可以通过身份验证和授权策略限制对服务的访问。 ### 4. Web Service的版本控制和互操作性 通过使用WSDL,Web Service可以实现版本控制,允许发布新版本而不影响旧版本的消费者。同时,由于Web Service基于...
7. **安全性与性能优化**:讨论WebService的安全性措施,如WS-Security,以及如何优化服务性能,如缓存策略、负载均衡等。 8. **应用实例**:通过实际业务场景,展示WebService在企业级应用中的应用,如B2B集成、跨...
- 性能优化可能涉及缓存策略、消息压缩、减少网络往返次数等技术。 6. **实战应用** - Java WebService广泛应用于企业级应用集成,例如B2B交易、跨系统数据交换、移动应用与后端服务器的通信等。 通过学习这个...
9. 高级主题:可能涵盖WS-Security(Web服务安全)、WS-Policy(Web服务策略框架)、WS-ReliableMessaging(可靠消息传递)等,以提升服务的安全性和可靠性。 文件"WorkFlow.xls"可能包含与工作流相关的示例或案例...
6. **错误处理**:在与Web服务交互时,可能遇到网络错误、服务异常等情况,客户端需要有适当的错误处理机制,比如异常捕获和重试策略。 7. **测试**:为了确保Web服务客户端的正确性,通常会编写单元测试和集成测试...
3. **错误处理**:详细阐述可能遇到的错误情况及对应的解决策略,确保开发者在遇到问题时能及时定位并修复。 4. **最佳实践**:分享使用WebServices的最佳实践,提高开发效率和系统性能。 5. **安全机制**:讲解如何...
6. 安全最佳实践:可能涵盖了一些安全最佳实践,如使用HTTPS以加密通信,防止中间人攻击,以及如何定期更新和审核验证和授权策略。 7. 示例和实战演练:视频可能通过具体的代码示例和步骤演示了如何实现和测试这样...
- 安全与性能优化:涵盖Web Service的安全考虑,如WS-Security,以及性能调优策略,如缓存、负载均衡等。 - SOAP与RESTful API的比较:分析SOAP与现代API风格(如REST)的区别,帮助理解何时选择哪种服务模型更为...
4. **安全性和可靠性**:在设计WebService接口时,必须确保数据传输的安全性,例如通过HTTPS进行加密,以及防止非法访问和篡改。此外,良好的错误处理和重试机制也是确保系统可靠性的关键。 5. **版本管理**:随着...
8. **使用WS-Security安全策略**:在Web服务中,安全性是一个重要考虑因素。WS-Security是一种安全标准,它允许在SOAP消息中加入安全性元素,例如数字签名和加密,从而保护消息在传输过程中的安全。 9. **Spring-WS...
Web服务(WebService)是一种基于开放标准的互联网协议,它允许不同系统之间进行数据交换和业务交互,不受操作系统、编程语言的...通过阅读源码,可以学习到Web服务的实际编码规范、异常处理和错误处理策略等实战技能。
2. **WS-Policy**:理解如何使用策略来表达服务的要求和能力,如安全性、可靠性和性能。 3. **异步调用**:了解JAX-WS中的异步处理模型,如何处理回调和Future对象。 **第五天:实战项目** 1. **构建完整Web服务...
本资料集合包括了“AXIS2入门”、“AXIS2进阶”以及一个具体的“WebService实例”,旨在帮助初学者和有经验的开发者深入理解AXIS2及其在Web服务中的应用。 入门篇可能涵盖了以下内容: 1. **AXIS2基础概念**:介绍...
5. **安全性**:学习如何添加安全层,如WS-Security,以保护Web Service免受未经授权的访问。 6. **性能优化**:探讨如何优化服务性能,如缓存策略、数据压缩、连接池等。 7. **监控与日志**:了解如何配置CXF的...
此外,还会介绍最佳实践,如代码优化、性能调优,以及如何将应用部署到生产环境,包括IIS配置和安全策略。 总的来说,这部分内容旨在帮助开发者充分利用Flex的图形界面优势和ASP.NET的强大功能,构建出具有高度互动...
同时,自定义拦截器的灵活性使得我们可以根据项目需求调整检查规则,适应不断变化的安全策略。 标签“李刚”可能指的是本教程或资源的作者,而“webService”和“web service”表明主题与Web服务有关,“cxf”则...
7. **插件架构**:CXF的插件架构允许开发者根据需求添加或扩展功能,如添加新的数据绑定机制、消息格式或者安全策略。 8. **工具集**:CXF提供了一系列工具,如WSDL到Java的代码生成器,以及用于调试和服务测试的...
3. **WebService支持**:EJB3还支持与WebService的集成,可以通过`@WebService`注解将EJB3组件暴露为Web服务,实现跨平台的远程调用。此外,JAX-WS(Java API for XML Web Services)为创建、部署和消费Web服务提供...
- **安全性**: 深入探讨了ASP.NET应用的安全性问题,包括身份验证、授权机制、安全策略等。 - **缓冲机制**: 分析了ASP.NET中的缓存机制,包括输出缓存、数据缓存等,以及如何优化应用性能。 #### 四、XML技术及其...