WebSphere的安全解决方案的各种概念

安全(Security)是企业应用中非常重要的部分,但在企业应用解决方案中往往仅是是差强人意地予以支持,甚至是完全忽略的。其中一个主要原因就是安全的实现需要跨层次的解决方案,需要综合运用应用程序,应用基础平台甚至是操作系统的多方面安全技术,而这使很多架构师和开发人员望而却步。WebSphere Application Server (WAS)是目前主导市场的J2EE应用服务器,为开发Web服务和基于J2EE的企业级应用提供了基础平台。不仅如此,国际商用机器公司(IBM)提供的诸多其他基础服务平台,例如商务平台,SOA平台和业务流程平台也都是基于WAS构建的。对于所有基于WAS系列平台构建的企业应用来说,在设计实现安全机制的时候,首先掌握WebSphere的安全解决方案是必要且必须的。

安全目标

安全目标指的是应用安全技术所要实现的目的,安全目标既是整个应用系统的目标,又是整个应用系统运行期所经历的各个环节的目标。所以安全目标是贯穿所有技术环节的,例如存储安全性和传输安全性各自都要保证自己的安全目标。

可用性(Availability)

可用性指的是系统可持续为合法用户提供服务的能力。一个应用系统要谈到防止非法用户的访问和破坏,首先要能保证合法用户能得到应有的服务。可用性目标主要是通过针对拒绝服务攻击进行相应安全协议的设计达到的。

私密性(Confidentiality)

私密性指的数据只能被合法用户读取。这种数据是泛指的,既包括用户数据,也包括系统数据和密钥信息等数据。私密性目标主要是通过加密解密算法的设计达到的,其中对称密钥算法计算速度较快,适合于用户数据的加密,非对称密钥算法计算速度较慢,适合于密钥数据的加密。

完整性(Integrity)

完整性指的是数据只能被合法用户更改。这种数据既包括用户数据,也包括系统数据和用户名等安全敏感信息。完整性一般是通过非对称密钥的私钥加密公钥解密来达到。

认证和不可抵赖性(Authentication & Non-repudiation)

认证和不可抵赖性指的是确认用户身份的能力。事先确认用户身份就是认证,事后确认用户身份就是不可抵赖性。

信息安全环节
通信安全(Communication Security)

传输的信息达到可用性,私密性,完整性和不可抵赖性的安全目标。通信安全往往要根据通信协议层次的不同在各个层次予以保证,主要包括:物理层,媒介访问层,链路层,网络层和传输层,不同层有不同的安全协议。

存储安全(Storage Security)

存储在硬盘,数据库或其他媒介上的信息达到可用性,私密性,完整性和不可抵赖性的安全目标。

编程安全(Programming Security)

保证运行时在内存中的代码和数据的可用性,私密性,完整性和不可抵赖性。

安全技术的专业化层次
安全研发(Security Research & Development)

安全研发所涉及的技术是最专业也是最深层次的安全技术,包括加密解密的算法设计和实现,通用安全协议的设计和实现。例如RSA和AES算法由最著名的安全领域的专家设计,而这些算法的在Java中的实现也需要在安全领域非常有经验的专家;一般来说应用程序的开发人员只是调用这些算法而不是去实现它们。同样通用安全协议的设计和实现,像IPSec,SSL和Keberos也可以说基本是科学家的事情。对于基于WAS的企业应用来说,常用的加密解密算法和协议都在WAS的Security框架中实现了。

安全定制开发(Customized Security Development)

安全定制开发所涉及的技术是指应用程序架构师和开发人员提供安全解决方案所需掌握的技术。这一层次不要求了解单个算法的细节,而主要需要了解算法的性能,应用方式和适用范围。对于安全协议细节的了解一般要比加密解密算法更深一些,因为协议与整个系统的交互接口往往更多,开发人员必须掌握所有接口的正确使用方式在能构建真正安全的应用。与通用安全协议不同,应用程序的特有认证机制和授权机制是属于安全定制开发层次的。认证就是确定谁是谁的机制;授权就是确定认证后的人有什么权力的机制。一般来说,安全定制开发的核心部分就是用户管理,认证机制与授权机制的开发。虽然算法和安全协议是通用的,但是不同系统平台,不同语言和不同的应用服务器都有自己的安全框架。安全框架一般都提供了常用算法协议的实现作为应用定制开发自己的用户管理,认证和授权机制的基础,此外,安全框架会提供一系列扩展接口让开发人员可以实现自己的机制。
在WAS中,典型的框架定制点都是一个Java接口加一个指定实现类的配置项。
作为WAS应用程序的开发人员,最重要的就是了解WAS的安全框架和开发接口。WAS中常用的扩展接口包括:定制独立用户注册表的接口com.ibm.websphere.security.UserRegistry;定制用户注册表适配器的接口com.ibm.wsspi.wim.Repository;定制TAI的接口com.ibm.websphere.security.TrustAssociationInterceptor和基于JAAS(Java Authentication and Authorization Service)定制认证机制的一系列接口。其中基于JAAS标准,用户通过实现javax.security.auth.spi.LoginModule,javax.security.auth.callback.CallbackHandler等接口可以定制自己的认证机制,并将作为整个WAS认证机制一个扩展部分使用。

安全配置管理(Security Administration)

安全配置管理指的是配置,管理和使用应用服务器安全框架的技术。这一层技术对从事安全研发的人不是特别重要,但是对于应用程序开发人员特别是安全定制开发人员来说是非常重要的。当然,对于应用程序的测试者和使用者来说也同样重要。对于WAS来说,这一层次主要是熟悉WAS各种与安全相关的配置操作。

信息安全中的逻辑角色
服务者(Server)

服务者是信息的生产者。

消费者(Client)

消费者是信息的合法使用者。

信息通道(Channel)

信息通道是信息从服务者传递到消费者的途径,这种途径可能是有线网络,无线网络环境这些通信渠道,也可能是硬盘,数据库这种存储渠道。服务者和消费者都可以访问信息通道,也可能在交互访问中互换身份。

认证者(Authenticator)

服务者和消费者都信任的第三方,也可以理解为服务者和消费者的共同服务者,它对信息通道的安全提供保证。

攻击者(Attacker)

试图破坏安全目标的第三方。

加密算法
对称密钥算法( Symmetrical Key Encryption

加密解密的密钥是相同的,加密解密速度较快,适合于加密大块的数据,因此又称为块数据加密算法(Segmented Ciphers)。由于加密解密的密钥相同,因此需要信息者和信息的消费者共享相同的“秘密信息(Shared Confidential Data)”,而这种共享“秘密信息”的要求就造成了在互联网上分配密钥的难度。

公开密钥算法(Public Key C ryptography

加密和解密的密钥是不同的,所以也称非对称密钥算法,加密解密速度较慢,适合于加密密钥等敏感信息。由于加密和解密的密钥不同,其中一个作为私钥保存,另一个作为公钥可以在互联网上分配和传播作为一种身份声明,因此比较适合互联网的安全体系。

信息摘要算法(Message Digest Functions)

将任意长的大段信息通过散列算法映射成定长的较短验证信息,又称为单向映射算法(One-way Hash Functions)。摘要算法与公开密钥算法相结合用于验证信息完整性和认证之中。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21408685/viewspace-590932/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21408685/viewspace-590932/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值