目录
概述
随着互联网等现代通信技术的飞速发展和日益普及,我国的信息化建设越来越完善,电子政务、电子商务得到了迅猛的发展。各个现代企业也越来越重视网络信息系统的建设,各种电子邮件系统、网络办公、电子财务、人事管理等针对特定行业的业务系统的信息网络化发展速度飞快。经常进行的网络活动---发送电子邮件、进行个人或单位的报税、网上银行账户管理和交易、网上购物、在线电子游戏、网上办公系统的使用等,都需要通信双方之间或者通信一方向另一方发送相应的用户名、口令等身份信息进行身份确认。由于互联网上针对同一个用户或者应用系统存在着大量不同类型的身份信息,同时,同一用户也会面对各种不同的应用场景。也就是说,当应用系统正常运营时,用户可能需要同时访问多个应用系统,并且有可能要经常访问应用系统中部分受保护的信息资源。为了简化用户身份信息的认证和管理,保证用户身份信息的保密性和应用系统的安全性,需要创建一个灵活的身份管理基础设施(Privilege Management Infrastructure ,PMI)。
身份管理(Identity Management,idM),广义上讲应当包括用户的认证、授权以及认证和授权之后相关信息的保存和管理。 他必须灵活的支持已有的和被广泛使用的多种身份认证机制和协议,还要支持各种不同的应用和服务平台。对企业用户来说 ,身份是访问组织内部不同服务的钥匙,保证了他们的效率。从信息安全的角度来看,身份则被视作需要保护的资产,同时也用于保护其他信息资源。身份管理的最佳定义是"用于保证身份完整性和隐私性 ,并确定如何将指令译为准人口令的商业流程、组织和技术 "。身份管理所涉及的用户身份生命周期, 主要包括账户建立、维护和撤销3个部分,
账户建立---包括给用户建立账户并分配道当的级别以访问完成工作所需的源;
账户维护---包括保持用户身份的更新、依据工作完成的需要适当调整用户可访问资源的级别以及用户更改自身身份信息时在不同系统之间进行修改的同步;
账户撤销---包括在用户离开组织公司之后,使用户账户及时失效以实现对用户既得资源访问机限的回收。
目前的身份管理平台可以划分为以下功能模块:
- 存储信息
- 认证和授权
- 外部用户注册和登录
- 内部用户登录
- 口令管理
- 审计
- 用户自助服务
- 集中管理
- 分级管理
身份和身份管理
在特定背景下,请求 / 声明方实体的身份具有唯一性 ,广义上包括自然人、法人、物体或其组合 。例如 ,一个人可能具有生物身份(如 DNA、指纹)、虚拟身份(与网络行为相关)、社会身份(与社会团体相关)和法律身份(与法律权限和政府代理相关)等不同背景下的独立身份。
1.身份生命周期: 包括建立、更改、延缓、废除、存档或重分配等阶段 ,实体与身份关联且可能改变 ,关联关系有正式、非正式、强弱之分,且可能为一对多或多对多关系 。
2.身份选择、提供及登记:根据不同的背景,身份可能被实体选择或由身份管理系统提供。
例如 :人们可能选择一个新的名称作为他们的账户名。一个企业内员工的电子邮件地址通常由身份管理系统(如员工的受雇企业或其邮件管理系统)来选择。身份通常和其某些特征一同被登记到身份管理系统中。
(1)服务和资源的发现 :信任方在政策下发现其他身份提供方能力对身份登记注册至关重要,包括接口特性、动态注册注销、认证、许可及特征等,可通过 DNS 等机制发现身份资源。例如:身份信息、关系和设备
(2)身份认证:身份认证是查证已声明身份并建立有效身份的过程。
- 登记和校验
- 正在进行的认证
- 相互认证
3.身份绑定 :建立和保存实体标识符与其他信息(如特性、身份地位或证书)的关系 ,便于处理特定操作,如排队优先级。
4.身份证明 :实体特征可被第三方证实 ,如通过身份证等标记,用于不知道对方实体但信任各自信任方的认证。
5.身份变更 :身份需要变更 ,包括社会风俗(如结婚改姓)、原身份标识被破坏或官方身份资源改变(如身份更新政策)等。
6.解除绑定 :解除实体标识与身份信息关系 ,如实体丢失特定特性、身份地位或证书时发生。
7.身份注销 :消除已提供或已选择身份的过程 ,注销可能是可由实体或官方身份源提出,由信任方对不安全、滥用或无效身份执行,注销过程需完全记录用于审核和复查,相关系统和进程需被告知。
8.身份数据模型:对用于传输的身份平台和其必须实现的各种安全等级而言,平台的每一部分必须能够识别实体和实体信息 ,这一点至关重要。一个实体,如一个人或组织,在给定情况下会有一个或多个身份。
(1)数字身份:是个体、群或组织身份信息的数字表示,是实体数字声明集合或被其他实体识别的数字身份,同一实体可有多个数字身份,如个人在公司有雇员身份,在政府有公民身份等。
(2)属性:实体会有不同属性集合区分数字身份,属性有静态(如眼睛颜色)、动态(如地理位置)之分,与特定环境或角色相关,部分可共享,如个人的 Email 地址、电话号码等可被不同机构共享。
(3)数字声明:由申请人一个或一组特征值构成,通常需确认,如学生证号、密钥、个人标识信息、所属群组、能力等都可作为声明内容。
(4)标识符:数字身份可由一个或多个标识符标识,如 Email 地址、名字缩写等,身份可能含多重证书,部分标识符可自我管理,部分由命名权分配或系统使用,一个数字身份至少有一个特征用于标识符,如个人在不同系统有不同标识符。
(5)账户:是数字身份的一种特征,公开系统中实体有账户,如个人在不同系统中有不同账户名,身份在特定环境中也称为账户。
(6)证书:数字身份可能有多重证书,用于确认部分身份特征,帮助处理强认证情况,认证数据基于实体所知、所拥有或特有的信息,根据身份信息敏感性和安全需求选择不同认证数据。
9.身份关系 :身份之间存在多种关系,如个人在组织内不同身份间的联系、组织与员工个人身份关系、群组与成员身份关系、个人身份与设备身份关系等 ,且身份与背景相关,背景可嵌套或通过其他方式联系,可通过开辟单独空间或身份联合管理不同身份间关系。
10.群组和角色
(1)群组 :用户组是表示用户集合的方法,可能有嵌套组,包含成员电子邮件地址等特征,可视为一种身份,获取身份关系时可能涉及其他身份。
(2)角色 :指个人在组织或环境中的责任,影响用户权利,实体可能无角色或有多个角色,取决于生命周期位置,角色范围与环境相关,分配给身份时附加特征,身份不再扮演角色时特征赋值不再相关。
ITU-T身份管理模型
1.ITU-T身份管理生态系统
++++身份管理(Identity Management,IdM)是实现大规模异构网络身份管理的一种网络安全新技术,它是通过标识一个系统中的实体并将用户权限和相关约束条件与身份标识相关联,进而控制成员对于系统资源的访问。++++ 身份管理的目标是在提高效率和安全性的同时,降低原有的管理用户及用户的身份、属性和信任证书产生的相关成本,保护用户的隐私,方便信息共享,提高组织运营的灵活性 (如企业兼并带来的系统整合问题可以因此面大大简化)。

上图是目前被广泛使用的身份管理生态系统的基本模型 ,该模型给出了身份信息的交互传递过程 。通过对该系统进行分析可以发现,该身份管理系统存在以下缺陷。
(1)首先,各个服务提供方(ServicesProvider,SP)的身份管理服务器相互独立工作,用户无论向哪个 SP请求服务都要独立地提供他的数字身份,由SP 进行验证和管理 。随着 SP的增多用户需要记忆的口令也随之增多,并且需要安全地保存大量的 SP提供的证书、智能卡等信任状为身份信息的安全管理带来了不便 。
(2)其次,当用户需要新的服务时,不得不重新填写大量重复的身份信息, 同时,新的SP需要建设其专有的身份管理服务器,整体效率非常低且成本很高。
(3)最后,当多个用户或组织需要进行跨域访问时(当前商业和技术发展对此需求越来越迫切),现存的身份管理无法解决跨域身份的识别和授权问题 。
为了有效解决这些问题,ITU-T于2006年12月组建身份管理工作组(Focus Group on Identity Management,FG IdM),并提出了全球兼容的联邦身份管理模型。
ITU-T提出的联邦身份管理应实现以下基本功能:
(1)身份信息的管理 ,包括身份信息的登记、创建、保存和注销。
(2)身份信息的关联 ,将实体的标识信息与身份相关联。
(3)身份信息的认证 ,能够准确确认实体的身份。
(4)身份信息的发现与桥接 ,能够发现新的身份信息,并与其他信任域相互通信(5)身份信息的传输 ,保证身份信息传输的安全。
(6)身份信息的审计与追踪 ,保存和追踪身份信息的使用记录,便于核查。

上图是实行联邦身份管理后的身份管理生态系统模型,从图中可以看出,身份提供方(Identity Provider,IdP)从SP中独立出来,并与各个SP的身份服务器(ID Server)建立了一对多的关系。我们可以看出ITU-T所提出的全球兼容的联邦身份管理模型具有以下优点:
(1) 用户要访间不同的SP只需登录一次,并且只需与IdP进行一次认证,节省了时间,提高了效率 。
(2)增强了模型的整体安全性 ,由于一个用户只需记住一个口令和密码,因此密码设计可以更复杂、以增加政击者对用户密码的猜解难度,同时,身份信息的统一管理也方便管理员集中实行各种安全策略 。
(3)解决了身份信息的跨域传输问题 ,使得不同信任域间的身份信息可以相互传输。
2、身份管理的流程
身份管理模型是由实体(Enty)、服务提供方(SP)、身份提供方(IdP) 3个基本要素组成的,ITU-T提出的身份管理模型分为信任域内的通信,信任域内的身份认证管理和跨域身份认证管理。

上图中的通信实体SP和ldP均处于同一个信任域内,它们之间的通信过程如下所述
(1)实体向SP请求服务。
(2)SP要求实体提供身份标识(如证书、生物特征、口令等)
(3)实体向SP提供身份标识。
(4)SP根据实体提供的标识信息向相关1dP发出确认实体身份请求。
(5)IdP确认实体身份后向SP返回响应。
(6)SP根据响应决定是否向实体提供相应的服务。
3.跨域身份认证管理流程

表示跨域身份认证管理流程,当实体向处于另一个信任域的SP发送服务请求时,SP无法直接与保存实体的身份信息的IdP通信。这就需要使用身份管理的发现与桥接功能,使得不同信任域的IdP 可以相互传输身份信息。
一次跨信任域的通信过程如下所述:
(1)实体向SP请求服务。
(2)SP 要求实体提供身份标识。
(3)实体向 SP 提供身份标识。
(4)SP根据实体提供的标识信息向相关IdP1发出确认用户身份请求。
(5)IdP1无实体身份或实体身份信息不完整,则根据实体的标识信息发现并桥接另一信任域内的IdP2,并发出通信请求。
(6)IdP2 响应 IdP1 的通信请求。
(7)IdP1确认实体身份后向 SP 返回请求响应。
(8)SP 根据响应决定是否向实体提供相应的服务。
身份管理技术
目前较成熟的身份管理技术主要有Microsoft的Net Passport单点登录系统(Single Sign On,SSO)和自由联盟工程(The Liberty Alliance Project, LAP )。
NET Passport
Passport是Microsoft 实现的单点登录系统,它提供了一种跨域在线验证用户的服务。
Passport的SSO过程
Passport 为实现用户跨域身份验证提供了一种技术手段,基本过程即用户的身份验证过程。
第1步:用户向Web站点发送Web 页面请求。
第2步:如果 Web站点需要验证用户身份,则使用重定向( Redirect )技术把用户定向到Passport登录服务器。在重定向中包括两个重要的参数,一是用户初始请求站点的唯一站点ID;二是用户身份验证完毕后返回URL(即用户初始请求的URL)。
第3步:Passport登录服务器首先查询站点的唯一站点ID号,如果站点不是Passport参与站点,则返回错误;否则出现一个登录界面,用户需要输入用户名和口令(这部分信息使用 SSL 传输)。
第4步:Passport 登录服务器查询用户数据库,如果用户存在,则为用户生成Cookie,即用户的身份验证标识,它用Passport和站点间的共享密码加密(每个站点不同)。
第5步:Web站点提取 Cookie 并交给 Passport 管理器处理,如果能够解密 Cookie,提取 Cookie中的用户信息,则用户身份通过。
第6步:Web 站点返回用户请求的Web页。
(2)前提条件
a.Passport服务器和参与的Web站点之间需要一个共享密钥来加密cookie。
b.为了保护用户输入的用户名和口令免受网络监听攻击,需要使用SSL保护好用户名和口令。
(3)用户账户信息
一个Passport用户账号信息主要包括以下3个部分
a.Passport唯一标识符
b.用户轮廓
c.Passport信任证
(4)登录后的跨域验证
a.Ticket Cookie
b.Profile Cookie
c.Visited Sites Cookie
(5)安全登录措施:Passport还提供了安全强度更高的安全登录措施,主要包括强制登录和安全级别。
a.强制登录
强制登录是指在一些情况下为了保证安全,要求用户重新输人用户名和口令的措施。如一个在线银行账号,为了防止用户登录后被其他人员使用在线信息,银行要求用户每30分钟登录一次。在Passport中,Web站点(或Web应用程序)的 Passport 管理器可以通过两个参数来设置强制登录机制,即TimeWindow和ForceLogin。
- TimeWindow。TimeWindow是一个时间窗口,它表示用户 Cookie 有效时间的范围。单位是s,取值范围为100~1000000。
- ForceLogin。这是一个布尔值,如果为 True,则表示用户需要立即重新登录;如果为 False,则用户 Cookie 超过时间窗口后需要重新登录。
b.安全级别:安全级别是对用户身份验证过程的安全强度要求,通过参数SecureLevel实现,该参数有3个值。
- 参数值为0,表示为一般正常的用户登录过程
- 参数值为10,表示用户的登录过程需要安全通道
- 参数值为100,表示用户的登录过程除了安全通道,还需要4位安全密码验证,这一过程被称为"强信任证登录"(Strong Credential Sign In)。
- 自由联盟工程
自由联盟工程的目标是建立一套标准,以方便开发基于身份的基础设施、软件和Web 服务它定义了确保异构系统间交互的框架。
(1)自由联盟工程目标
自由联盟工程基为了个人成组织很好地利用网络进行事务处理,具体目标如下:
- 适用于联合身份管理和Web 服务。
- 支持和推荐基于个人身份的许可(Permission)共享。
- 在分布武验证和授权的多个提供者(Provider)之间提供一种单点登录的标准。
- 创立一个开放的网络身份基础设施,支持所有当前和未来可能出现的用户代理形式(如用户浏览器等网络访问设备)。
- 支持用户保护自己的网络身份信息。
(2)基本概念
在自由联盟工程中,重要的基本概念如下。
①服务提供者(Service Provider):提供服务的实体,参与者可以通过特定的各种方式来访问,但是服务提供者并不对其他提供者保证参与者身份的可靠性。
②身份提供者(Identity Provider):为其他提供者提供保证,保证使用服务的参与者身份的可靠性。
③信任圈(Circle of Trust):多个有业务关系的服务提供者和身份提供者之间建立的一种信任关系。
④本地身份(Local Identity):一个参与者相对于某特定服务提供者或身份提供者的一个身份。
⑤联合网络身份(Federated Network Identity):由一组本地身份组成,可以相互认可并通过一定的协议相互协调工作。
(3)建立信任圈
为了保护用户的隐私和组织的声誉,只有在建立信任关系的组织之间才能够交换身份信息这种信任的建立需要组织之间的法律合同。
(4)建立联合身份
一个人在一天中可能需要多次在线工作,如发送及接收邮件、查看银行账单、规划自己的旅行等。这时,可能需要多个账号对应不同服务的本地身份,每一个账号有自己的身份标识和验证方式。为了简化登录过程,或许需要一个联合身份连接用户所有的本地身份。这样在访问所有服务器的过程中,用户只需要登录一个本地身份即可完成所有服务的访问,实现联合身份的协议即身份联合。
下面我们通过一个例子来介绍身份联合的基本过程。
例如:IdP1是一台身份服务器,BigWebRetailer是一个大零售商的Web站点,Joe 在这两台服务器中各有一个本地身份。现在Joe通过身份联合将这两个服务器的本地身份联合起来,基过程如下。
第1步:IdPl和 BigWebRetailer 建立信任圈,只有在同一信任圈中的服务器的本地身份才能实现联合。
第2步:Joe登录IdPl,如果成功,IdP1将通知Joe可以联合自己的本地身份,在通知中包括信任圈的所有成员(当然包括BigWebRetailer),询问Joe是否同意联合,Joe 为了实现联合,选择 Yes掂俜騅儘宫塘婭
第3步:在此之后,如果 Joe 访问了信任圈的一个成员,如 BigWebRetailer,而 BigWebRetailer已经知道Joe 同意了身份联合。Joe使用BigWebRetailer 的本地身份成功登录后,BigWebRetailer会询问Joe是否实现和IdP1的身份联合,如果愿意,则选择Yes。这时,Joe实现Idp1和BigWebRetailer 两个本地身份的联合。
通过相同方式可以实现多个本地身份的联合,联合后即可利用联合身份实现单点登录。
(5)单点登录
以身份联合为基础,单点登录的实现方式就非常简单。继续上例,Joe完成Idpl和BigWebRetailer 两个本地身份联合后,单点登录的基本过程如下。
- 第1步:Joe登录IdP1,使用IdP1的本地身份成功登录。
- 第2步:Joe访问BigWebRetailer站点进行商务活动。
- 第3步:由于已建立了身份联合,BigWebRetailer站点接收到Joe的状态是身份已验证。此时不需要再进行身份验证,因此实现了单点登录。