49%的人写下了其密码,而67%的人很少改变它们
l安全性好,可支持多种安全认证手段,提高了各个业务系统的账号安全控制,降低安全风险。
l为企业各业务系统的分布式部暑提供了统一身份认证服务支持。
l请看下面的统计数据:
l建立一套完整的身份认证体系;
l建立统一的身份认证中心;
l建立统一的认证开发接口;
令牌(Token)
由认证中心颁发可在各分站中流通的用户唯一鉴权标识;
凭证(Certificate)
认证中心(CertificationCenter)
应用软件系统Applicationsoftwaresystem
信息系统的重要组成部分,是指信息系统中对特定业务进行处理的软件系统;
统一身份认证平台存储了全部的身份信息和对应的凭证信息,并提供了不同编程语言(Java,.net,PHP)的认证接口。业务系统完成身份信息同步和认证接口的部署之后,可以使用统一身份认证平台完成身份的认证,不需要自己存储凭证信息和实现认证。图1标识了业务系统完成认证的相应过程。具体如下:
①用户请求访问业务系统。
②业务系统在系统中查看是否有对应请求的有效令牌,若有,则读取对应的身份信息,允许其访问;若没有或令牌无效,则把用户重定向到统一身份认证平台,并携带业务系统地址,进入第③步。
③在统一身份认证平台提供的页面中,用户输入身份凭证信息,平台验证此身份凭证信息,若有效,则生成一个有效的令牌给用户,进入第④步;若无效,则继续进行认证,直到认证成功或退出为止。
④用户携带第③步获取的令牌,再次访问业务系统。
⑤业务系统获取用户携带的令牌,提交到认证平台进行有效性检查和身份信息获取。
⑥若令牌通过有效性检查,则认证平台会把令牌对应的用户身份信息返回给业务系统,业务系统把身份信息和有效令牌写入会话状态中,允许用户以此身份信息进行业务系统的各种操作;若令牌未通过有效性检查,则会再次重定向到认证平台,返回第③步。
通过统一身份认证平台获取的有效令牌,可以在各个业务系统之间实现应用漫游。
通过此机制可以实现单点到多点的单向应用漫游,也可以扩展双方认定的协议内容并进行功能的扩展,比如指定业务系统应用模块参数(module)来实现到具体应用模块的跳转。
首先在入口系统中建立一个入口系统账号到各个业务系统账号的映射表,此表一般需要包含以下信息:
1.入口系统账号:存储入口系统自身的账号。
2.业务系统ID:标志不同的业务系统。
3.业务系统账号:存储业务系统与入口系统账号对应的账号。
4.业务系统基本角色:存储在业务系统中的角色信息。
5.业务系统密码:通过加密方式存储业务系统的密码信息。
每种机制都需要先进行一定的数据准备,再部署相应的程序,可以产生不同的应用漫游情况,所以它们适用不同系统的认证集成,具体分析如下表:
特征
说明
关键问题
独立用户
应用完全独立建设,各自聚合完整的身份账号模型及实现。
用户模型不对称及属性集差异化。
托管用户
用户及身份账号被第三方机构托管。
由于账号模型被第三方系统管理,其实质属于凝固的,从Server端解决并疏通账号关系存在不可操作性。
集成账号
使用AD、LDAPSERVER的标准化数据基础的用户模型。
如何建立集中认证和令牌颁布的接口平台。
认证中心是数据的总集成方,所有的用户和机构信息都是由统一认证中心托管,异构系统的用户和机构数据只需按照标准提供的接口来进行维护即可!
异构系统所使用的用户账号与认证中心的账号是一致的,所有系统的用户和机构数据都是在统一认证中心里进行维护的.
当该用户需要再次验证时将使用本地凭证,以减少网络交互。
一个完整的SSO代理需要完成以下职责:
【初次认证】
1、将认证指令桥接SSO以验证身份并获取令牌。
2、将令牌通过Session或者Cookies的模式进行缓存或持久化,备用于后期漫游。
3、通过令牌获取主站凭证;
4、初始化本地数据,产生本地凭证,进入系统视图的预处理工作。
5、打开并展现页面。
其时序图如下所示:
暂无(后续在源代码中加入)
【身份漫游】
1、应用A跳转到应用B时,根据令牌直接跳转;
2、通过令牌获取主站凭证;
3、初始化本地数据,产生应用B凭证,进入系统视图的预处理工作;
4、打开并展示页面;
暂无(后续在源代码中加入);
中文含义
字段名称
字段类型
长度
主键
备注
映射用户标示
M_LOGIN_ID
Varchar
100
是
映射用户所在域
M_DOMAINID
认证中心用户标示
C_IDENTITYID
认证中心用户名称
C_IDENTITYNAME
200
认证中心所在域
C_DOMAINID
排序号
M_ORDERNUMBER
Int
先写到这里了,后续推出系列二中将提供解决方案的Demo设计和源代码Demo,敬请期待!