InfoQ

新闻

SpringSource的Ben Alex深度剖析应用安全标准

作者 Srini Penchikala 译者 张龙 发布于 2008年6月9日 下午4时3分

社区
Java
主题
安全

JavaOne 2008大会上,SpringSource的Ben Alex他演讲中谈到了企业应用中的安全需求和标准以及实现这些标准的开源框架。技术会议上,他特别讨论了Servlet安全、Java认证和授权(JAAS)、CAPTCHA、单点登录(SSO)及使用OpenID技术的联合身份( Federated Identity)等安全标准。

Ben的演讲从Servlet、JAAS API的总览以及Servlet 3.0规范(JSR-315)中新添加的诸如登录/注销和自我注册等安全特性开始逐步深入。Ben认为,在设计web应用时应当考虑到下列几个安全问题:

  • 认证
  • 授权
  • 帐户管理
  • 安全审计

由于当前的web开发正逐渐转移到诸如JSFSpring Web FlowJBoss Seam一类的基于组件的web框架上,组件、状态和transition的安全随之变得越来越重要。Spring Web Flow能够提供一个JSF平台模型,并提供状态、流和transition的授权,其中,认证和授权的实现应用到了Spring Security。目前的Spring Security 2集成了基于Java技术的servlet安全和JAAS软件,其最新版本含有一个新的安全命名空间,并支持“Remember me”认证机制。

全自动区分计算机和人类的图灵测试(CAPTCHA)技术有助于缓解DoS(denial of service--拒绝服务)和侵犯知识产权(IP infringement)的安全攻击。CAPTCHA的实现框架有JCaptchareCAPTCHA等,你可以从Google项目上找到支持reCAPTCHA的Java平台(MIT注册许可)。

在SSO领域,Spring Security通过Samba JCIFS支持Microsoft Windows LANs的SSO,并且也支持JA-SIG中心认证服务(CAS)的SSO。目前,Sun、IBM、Microsoft、Google、Yahoo、Flickr、LiveDoor、LiveJournal、Orange和Blogger等很多大公司都支持时下流行的使用OpenID技术的联合身份。Spring Security则通过OpenID4Java框架来实现OpenID的支持。

Ben还谈到了一些高级web安全需求,例如方法层的授权、定义方法安全元数据的JSR-250规格、Spring Security方法元数据以及领域的访问控制等。JSR-250是定义方法层上授权的相关注解的规格说明,它为方法层的授权定义了@RunAs(someRole), @RolesAllowed(someRole), @PermitAll(), @DenyAll(), @DeclareRoles(someRole)等注解,这些注解在方法的参数上同样适用。

Ben的演讲还涉及到web服务(WS-Security)安全化,以及为远程客户端和Web2.0应用定义的RFC Basic(RFC 1945)和Digest(RFC 2617)认证的话题。web services安全化的基础是WSS标准(以前叫做WS-Security),该标准提供了SOAP消息的安全。XWSSMetro项目的一部分)是WSS的Java平台实现,它的3.0版实现了OASIS WSS规范1.1版。Ben还谈到了在web应用中使用JMS消息时的目的地授权。JMS 1.1 API并没有提供消息完整性和隐私性的检测,所以大家都期待JMS供应商能够提供这方面的支持。ActiveMQ消息框架就为授权需求提供了三个方法(read、write和admin)。之后,Ben又讨论了Java EE应用中使用企业服务总线(ESB)时的端点、通道授权和安全调解服务。在关于ESB安全模式的文章中,你可以了解到实现ESB容器时可以考虑的多种设计模式。

Ben在演讲中从简单的web登录表单的安全需求到使用Spring Security框架在Google Web Toolkit(GWT)中实现应用的安全特性,都一一向大家作了现场演示。

查看英文原文:SpringSource's Ben Alex Details Emerging Standards in Application Security

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。