密。PKI 通过使用数字加密和数字签名技术,保证了数据在传输过程中的机密性(不被非
法授权者偷看)、完整性(不能被非法篡改)和有效性(数据不能被签发者否认)。
数字证书有时被称为数字身份证,数字证书是一段包含用户身份信息、用户公钥信息以及
身份验证机构数字签名的数据。身份验证机构的数字签名可以确保证书信息的真实性。
完整的 PKI 系统应具有权威认证机构 CA(Certificate Authority)、证书注册系统
RA(Registration Authority)、密钥管理中心 KMC(Key Manage Center)、证书发布查
询系统和备份恢复系统。CA 是 PKI 的核心,负责所有数字证书的签发和注销; RA 接受用
户的证书申请或证书注销、恢复等申请,并对其进行审核; KMC 负责加密密钥的产生、存
贮、管理、备份以及恢复; 证书发布查询系统通常采用 OCSP(Online Certificate Status
Protocol,在线证书状态协议)协议提供查询用户证书的服务,用来验证用户签名的合法
性; 备份恢复系统负责数字证书、密钥和系统数据的备份与恢复。
单点登录
单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登
录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身
份。单点登录的实质就是安全上下文(Security Context)或凭证(Credential)在多个应
用系统之间的传递或共享。当用户登录系统时,客户端软件根据用户的凭证(例如用户名
和密码)为用户建立一个安全上下文,安全上下文包含用于验证用户的安全信息,系统用
这个安全上下文和安全策略来判断用户是否具有访问系统资源的权限。遗憾的是 J2EE 规范
并没有规定安全上下文的格式,因此不能在不同厂商的 J2EE 产品之间传递安全上下文。
图 1 SSO 原理示意图
目前业界已有很多产品支持 SSO,如 IBM 的 WebSphere 和 BEA 的 WebLogic,但各家
SSO 产品的实现方式也不尽相同。WebSphere 通过 Cookie 记录认证信息,WebLogic 则
是通过 Session 共享认证信息。
Cookie 是一种客户端机制,它存储的内容主要包括: 名字、值、过期时间、路径和域,路
径与域合在一起就构成了 Cookie 的作用范围,因此用 Cookie 方式可实现 SSO,但域名必
须相同;
Session 是一种服务器端机制,当客户端访问服务器时,服务器为客户端创建一个惟一的
SessionID,以使在整个交互过程中始终保持状态,而交互的信息则可由应用自行指定,
因此用 Session 方式实现 SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。
实现 SSO 有无标准可寻?如何使业界产品之间、产品内部之间信息交互更标准、更安全呢?
基于此目的,OASIS(结构化信息标准促进组织)提出了 SAML 解决方案(有关 SAML 的
知识参看链接)。
评论1
最新资源