1、统一身份认证设计方案ii目 录1.1 系统总体设计 41.1.1 总体设计思想 41.1.2 平台总体介绍 41.1.3 平台总体逻辑结构 61.1.4 平台总体部署 61.2 平台功能说明 71.3 集中用户管理 71.3.1 管理服务对象 81.3.2 用户身份信息设计 91.3.2.1 用户类型 .91.3.2.2 身份信息模型 .101.3.2.3 身份信息的存储 .111.3.3 用户生命周期管理 111.3.4 用户身份信息的维护 121.4 集中证书管理 .121.4.1 集中证书管理功能特点 121.5 集中授权管理 .141.5.1 集中授权应用背景 141.5.2 集中授权
2、管理对象 151.5.3 集中授权的工作原理 161.5.4 集中授权模式 161.5.5 细粒度授权 171.5.6 角色的继承 171.6 集中认证管理 .191.6.1 集中认证管理特点 191.6.2 身份认证方式 201.6.2.1 用户名/口令认证 201.6.2.2 数字证书认证 .201.6.2.3 Windows 域认证 211.6.2.4 通行码认证 .211.6.2.5 认证方式与安全等级 .221.6.3 身份认证相关协议 221.6.3.1 SSL 协议 221.6.3.2 Windows 域 .221.6.3.3 SAML 协议 231.6.4 集中认证系统主要功能
3、 25iii1.6.5 单点登录 251.6.5.1 单点登录技术 .251.6.5.2 单点登录实现流程 .281.7 集中审计管理 .3141.1 系统总体设计为了加强对业务系统和办公系统的安全管控,提高信息化安全管理水平,我们设计了基于 PKI/CA 技术为基础架构的统一身份认证服务平台。1.1.1 总体设计思想为实现构建针对人员帐户管理层面和应用层面的、全面完善的安全管控需要,我们将按照如下设计思想为设计并实施统一身份认证服务平台解决方案:在内部建设基于 PKI/CA 技术为基础架构的统一身份认证服务平台,通过集中证书管理、集中账户管理、集中授权管理、集中认证管理和集中审计管理等应用模
4、块实现所提出的员工帐户统一、系统资源整合、应用数据共享和全面集中管控的核心目标。提供现有统一门户系统,通过集成单点登录模块和调用统一身份认证平台服务,实现针对不同的用户登录,可以展示不同的内容。可以根据用户的关注点不同来为用户提供定制桌面的功能。建立统一身份认证服务平台,通过使用唯一身份标识的数字证书即可登录所有应用系统,具有良好的扩展性和可集成性。提供基于 LDAP 目录服务的统一账户管理平台,通过 LDAP 中主、从账户的映射关系,进行应用系统级的访问控制和用户生命周期维护管理功能。用户证书保存在 USB KEY 中,保证证书和私钥的安全,并满足移动办公的安全需求。1.1.2 平台总体介绍
5、以 PKI/CA 技术为核心,结合国内外先进的产品架构设计,实现集中的用户管理、证书管理、认证管理、授权管理和审计等功能,为多业务系统提供用户身份、系统资源、权限策略、审计日志等统一、安全、有效的配置和服务。5集 中 证 书集 中 认 证集 中 授 权集 中 审 计集 中 用 户身 份 管 理单 点 登 录访 问 控 制责 任 界 定如图所示,统一信任管理平台各组件之间是松耦合关系,相互支撑又相互独立,具体功能如下:集中用户管理系统:完成各系统的用户信息整合,实现用户生命周期的集中统一管理,并建立与各应用系统的同步机制,简化用户及其账号的管理复杂度,降低系统管理的安全风险。集中证书管理系统:集
6、成证书注册服务(RA)和电子密钥(USB-Key)管理功能,实现用户证书申请、审批、核发、更新、吊销等生命周期管理功能,支持第三方电子认证服务。集中认证管理系统:实现多业务系统的统一认证,支持数字证书、动态口令、静态口令等多种认证方式;为企业提供单点登录服务,用户只需要登录一次就可以访问所有相互信任的应用系统。集中授权管理系统:根据企业安全策略,采用基于角色的访问控制技术,实现支持多应用系统的集中、灵活的访问控制和授权管理功能,提高管理效率。集中审计管理系统:提供全方位的用户管理、证书管理、认证管理和授权管理的审计信息,支持应用系统、用户登录、管理操作等审计管理。61.1.3 平台总体逻辑结构
7、总体逻辑结构图如下所示:外部相关服务LDAPSever,Windows域服务等统 一 信 任 管 理 平 台 服 务 系 统( 身 份 管 理 、 单 点 登 录 、 访 问 控 制 、 责 任 界 定 )PKI基 础 服 务 、 加 解 密 服 务 、 SAML协 议统 一 信 任 管 理 平 台 业 务 系 统用户管理认证管理授权管理审计管理邮 件财 务 CRM证书管理如图所示,平台以 PKI 基础服务、加解密服务、 SAML 协议等国际成熟技术为基础,架构统一信任管理平台的管理系统,通过 WEB 过滤器、安全代理服务器等技术简单、快捷实现各应用系统集成,在保证系统安全性的前提下,更好的实
8、现业务系统整合和内容整合。1.1.4 平台总体部署集中部署方式:所有模块部署在同一台服务器上,为企业提供统一信任管理服务。部署方式主要是采用专有定制硬件服务设备,将集中帐户管理、集中授权管理、集中认证管理和集中审计管理等功能服务模块统一部署和安装在该硬件设备当中,通过连接外部服务区域当中的从 LDAP 目录服务(现7有 AD 目录服务)来完成对用户帐户的操作和管理。1.2 平台功能说明平台主要提供集中用户管理、集中证书管理、集中认证管理、集中授权管理和集中审计等功能,总体功能模块如下图所示:集 中 证 书注 册 服 务 管 理电 子 密 钥 管 理证 书 生 命 周 期 管 理过 程 管 理统
9、 一 用 户 接 口 用 户 信 息 导 入 导 出 用 户 信 息 映 射 用 户 信 息 同 步L D A P 身 份 源 系 统 数 据单 点 登 录 系 统 S S O集 中 用 户用 户 生 命 周 期 管 理用 户 分 组 管 理角 色 管 理身 份 源 管 理集 中 认 证用 户 身 份 认 证访 问 策 略 管 理访 问 资 源 管 理集 中 授 权集 中 审 计日 志 查 询审 计 报 表 生 成业 务 审 计应 用 系 统 授 权用 户 授 权 管 理角 色 授 权 管 理组 策 略 授 权 管 理 总体功能模块图1.3 集中用户管理随着企业整体信息化的发展,大致都经历了网
10、络基础建设阶段、应用系统建设阶段,目前正面临着实现纳入到信息化环境中人员的统一管理和安全控制阶段。随着企业的网络基础建设的不断完善和应用系统建设的不断扩展,在信息化促进业务加速发展的同时,企业信息化规模也在迅速扩大以满足业务的发展需要,更多的人员被融入信息化环境,由此突出反映的事件是无论是网络系统、业务系统、办公系统,其最终的主体将是企业内外的人员,每一为人员承担着使用、管理、授权、应用操作等角色。因此对于人员的可信身份的管理显得尤为重要,必将成为信息化发展的重中之重,只有加强人员的可信身份管理,才能做到大门的安全防护,才能为企业的管理、业务发展构建可信的信息化环境,特别是采用数字证书认证和应
11、用后,完全可以做到全过程可信身份的管理,确保每个操作都是可信得、可信赖的。集中用户管理系统主要是完成各系统的用户信息整合,实现用户生命8周期的集中统一管理,并建立与各应用系统的同步机制,简化用户及其账号的管理复杂度,降低系统用户管理的安全风险。集中用户管理功能示意图1.3.1 管理服务对象集中用户管理主要面向企业内外部的人、资源等进行管理和提供服务,具体对象可以分为以下几类:最终用户 自然人,包括自然人身份和相关信息主账号 与自然人唯一对应的身份标识,一个主账号只能与一个自然人对应,而一个自然人可能存在多个主账号从账号与具体角色对应,每一个应用系统内部设置的用户账号,在统一信任管理平台中每个主
12、账号可以拥有多个从帐号,也就是多种身份角色(即一个日然人在企业内部具备多套应用系统账号)资源 用户使用或管理的对象,主要是指应用系统及应用系统下具体功能具体服务对象之间的映射对应关系如下图所示:9用户账号与资源映射图1.3.2 用户身份信息设计1.3.2.1 用户类型用户是访问资源的主体,人是最主要的用户类型:多数的业务由人发起,原始的数据由人输入,关键的流程由人控制。人又可再分为:员工、外部用户。员工即企业的职员,是平台主要的关注的用户群体;外部用户是指以独立身分访问企业应用系统的一般个人客户与企业客户。101.3.2.2 身份信息模型对各类用户身份建立统一的用户身份标识。用户身份标识是统一
13、用户管理系统内部使用的标识,用于识别所有用户的身份信息。用户标识不同于员工号或身份证号,需要建立相应的编码规范。为了保证用户身份的真实、有效性,可以通过数字证书认证的方式进行身份鉴别并与用户身份标识进行唯一对应。用户基本信息保存用户最主要的信息属性,由于其它系统中,如 HR中还保留有用户更完整的信息,因此需要建立与这些系统的中信息的对照关系,所以需要保存用户在这些系统中用户信息的索引,便于关联查询。基于分权、分级的管理需要,用户身份信息需要将用户信息按照所属机构和岗位级别进行分类,便于划分安全管理域,将用户信息集中存储在总部,以及管理域的划分。用户认证信息管理用户的认证方式及各种认证方式对应的
14、认证信息,如用户名/口令,数字证书等。由于用户在各应用系统中各自具有账号和相关口令,为了保证在平台实施后可以使原有系统仍可以按照原有账号方式操作,需要建立用户标识与应用系统中账号的对照关系。11授权信息是对用户使用各系统的访问策略,给用户赋予系统中的角色和其它属性。1.3.2.3 身份信息的存储为了方便对人员身份的管理,集中用户系统采用树形架构来进行人员组织架构的维护,存储方式主要采用 LDAP。可以通过企业内部已有的人员信息管理系统当中根据策略进行读写操作,目前主要支持以下数据源类型:Windows Active Directory(AD )OpenLdapIBM Directory Ser
15、ver( IDS)1.3.3 用户生命周期管理用户生命周期,主要关注的是用户的入职、用户账户创建、用户身份标识(数字证书的颁发) 、用户属性变更、用户账户注销、用户帐户归档等流程的自动化管理,这一管理流程又可称为用户生命周期管理,如下图所示:由于要赋予用户可信的身份标识,所以需要通过数字证书认证的方式12来实现,在用户生命周期管理过程中围绕用户包含了基于帐户的生命周期和数字证书的生命周期管理的内容。数字证书主要是与用户的主账户标识进行唯一绑定,在用户帐户的使用和属性变更过程中数字证书不需要发生任何改变,唯有在用户帐户进行注销和归档过程中,与其相匹配的数字证书也同样需要进行吊销和归档操作。1.3
16、.4 用户身份信息的维护目前集中用户管理系统中对用户身份信息的维护主要以企业已存在的AD 域和 LDAP 作为基础数据源,集中用户 管理系统作为用户信息维护的主要入口,可以由人力资源部门的相应人员执行用户账户的创建、修改、删除、编辑、查询、以及数字证书的发放。AD 域中的用户信息变动通过适配器被平台感知,并自动同步到平台用户身份信息存储(目录服务器)中;平台的用户管理员也可以直接修改平台中集中存储的用户身份信息,再由平台同步到各个应用系统中。1.4 集中证书管理集中证书管理功能主要是针对用户的 CA 系统,包括:1)证书申请2)证书制作3)证书生命周期管理(有效期、审核、颁发、吊销、更新、查询
17、、归档)4)证书有效性检查 集中证书管理功能集支持多种 CA 建设模式(自建和第三方服务) 、多 RA 集中管理、扩展性强等特性,从技术上及管理上以灵活的实现模式满足用户对证书集中管理的迫切需求,解决管理员对多平台进行操作及维护困难的问题。1.4.1 集中证书管理功能特点集中证书管理功能的实现就是通过集成证书注册服务(RA)和电子密钥(USB-Key)管理功能。 131)集中制证集中制证主要结合本地数据源中的数据为用户进行集中制证,包括集中申请、自动审批。通过 CA 的配置路径,访问指定的 CA 系统;CA 系统签发数字证书并返回给管理员;管理员将证书装入 UBS Key,制证成功.将数字证书
18、发送给最终用户。2)证书生命周期管理通过集中证书管理功能可实现对所制证书进行证书的生命周期管理,主要包括:证书的查询、吊销等,同时还可以实现对证书有效性的检查。证书有效性检查,可支持与 CA 系统的 CRL(证书掉销列表)服务联动及手动导入 CRL 列表。用户通过证书认证方式登录 “登录门户” ;将用户的证书信息(包括证书属性、有效期等)提交到“证书管理模块” ;服务检查证书信息,若有效,将有效值返回“证书管理模块” (若无效将值返回“证书管理模块” ) ;“证书管理模块”将有效值返回“登录门户” ,用户通过认证。 (若无效,用户登录失败) ;用户通过认证,正常进入应用系统。3)支持多种 CA
19、 建设模式4)多 RA 集中管理在一个企业内,根据证书应用的需求,存在根 CA 下有多个子 CA,即存在多个 RA。通过平台与 RA 的集成,可支持与企业内的多 RA 进行集成,实现单平台多 RA 的集中管理。5)灵活扩展性集中证书管理功能除了实现集中制证、证书生命周期管理功能,以及具有多 RA 管理、支持用户 CA 系统的自建和服务模式的特点,还具有灵14活的扩展性。可实现与 RA 的完全集成,通过平台实现 RA 的完全接管,实现证书处理、证书生命周期管理、证书审批、支持多种申请模式、RA日志管理、密钥管理、策略管理等。以满足更多用户对于集中证书管理的扩展性需求。1.5 集中授权管理1.5.
20、1 集中授权应用背景分析一些大型企业,发现企业内部各应用系统自身授权非常完善,但是从集中管理角度看,发现大企业中的传统授权所存在如下问题:1)系统权限分散:员工的流动及职位的变更,需要更改员工的系统使用权限,而多个系统权限的分散,使管理员工作量增加,且容易带来安全漏洞。2)应用系统的独立性:各种应用系统都使用独立的登录方式,员工需要记忆所有应用系统的帐号、密码等,逐一登录,给工作带来极大的困扰,特别是对工作效率影响非常大,甚至简化记忆问题,所有应用系统统一使用相同的密码,由此为黑客或者木马程序提供机会,而对应用系统的安全防护带来极大地威胁。集中授权的最大特点,就是集中在一个接口对组/角色进行资
21、源的合理分配。集中授权的过程,就是集中对用户(组/角色)通过何种方式(证书/口令)使用某种资源(应用/功能)的权限的分配。员工入职,分配一个特定的原本已经隶属于某些角色/组的身份账户,统一入口登录,即可享有身份账户所属角色/ 组在公司应用系统中的所有权限;当职位变更时,只需更改身份账户所属角色/组,则所享有的权限也相应变化,而对应的应用系统资源的账户和权限不受任何影响,并且应用系统的安全性得到了极大提高,不会因为对应的业务系统因为没有中止用户应用权限而遭受安全风险。通过集中授权的管理模式,有效地屏蔽了传统授权中存在的弊端,提高了管理效率,为企业营造一个安全、便捷的系统安全、可信的办公环境。15
22、1.5.2 集中授权管理对象集中授权主要是依赖于人,由授权系统管理者根据人的组织属性、角色属性,进行对应应用系统和资源的授权分配,从保证人与应用系统之间使用权限关系,最终实现,什么样的人、组织、角色能访问哪些应用系统和资源。集中授权还可以依赖于应用系统为管理对象,然后针对该应用系统给人、组织、角色授予相应访问和操作权限,最终把应用系统和人进行权限关联,合理、有效地的访问控制策略,保证了什么样的应用系统和资源,能让怎样的人、组织、角色进行访问。组:包括按照公司组织架构或特定功能划分的部门、工作组及个人用户通过以上两种方模式,可以对企业内部的人员、应用系统和资源进行合理的管理和控制,有效地解决企业
23、内部信息资源的权限管理,最终实现,正确的人做正确的事情,而非授权人员不得进入企业内部任何系统,从而保证企业应用系统数据的安全,保护企业的资产。在集中授权管理系统系统中需要明确以下概念:角色定义,主要是基于用户组角色和应用系统角进行角色定义。基于用户组的角色定义可理解为在组织结构下定义用户角色,比如在技术部门下定义产品工程师角色。目标是在以后授权模式中通过对产品工程师角色授权,而包含产品工程师的角色就会一次性获得授权,这样方便管理,同时也是简化了授权的操作。基于应用系统定义角色,即按照该应用系统下的用户职能进行定义。比如,针对 OA 应用系统和结合人力资源架构定义“总监” ,那么根据 OA 系统
24、给总监的工作操作权限,那么以后授权中,只要存在应用系统对总监所具备的功能,经过系统授权后均可以按照总监的角色进行应用访问。资源定义,主要是应用系统下具备的每一功能模块,所有的功能模块16统称为资源。资源的定义主要是方便人员、组织、角色授权时候的对象指定,最终经过授权实现,什么样的人员、组织、角色能访问应用系统的那些功能。也就是中细粒度授权所需要的涉及的内容。1.5.3 集中授权的工作原理授权管理模块角色模块组模块资源管理模块授权访问控制模块1.5.4 集中授权模式 1)基于组/角色的访问授权:对于属于某一组/角色的用户,管理员可以为其授权于可访问的应用系统和资源(应用系统的功能) 。授权后组内
25、的所有成员均具备该组编辑、查看、分配的权限。2)基于应用系统和资源的授权:对于某一选定应用(或其包含的功能、功能组) ,管理员可以授权为其指派访问资源(用户、组、角色)定义权限(某些角色/组享有系统应用的哪些权限).通过授权管理模块的定义,对相应权限进行调用.系统中所有应用资源的集合通过口令、证书等执行对权限的调用171.5.5 细粒度授权Function1Function2Function4Function5Function功能组功能组用户1用户2角色1角色2角色应用系统传统意义中的粗粒度授权是以某一应用系统为标准,将应用系统那个授权于某一个人、某一机构(组织) 、某一类角色;而对于应用系统
26、下的模块无法做到授权,所以,粗粒度授权在统一信任系统中,无法做到应用系统的内部授权机制,导致简单的访问控制授权无法满足业务系统的精细化管理,为了满足企业的细致化访问控制,需要打破传统授权模式,增加新的授权机制,即要实现细粒度的访问控制授权。而将资源管理模块细粒度化,则是将应用模块拆分成单个的功能模块,某几个功能模块又可以组合成一个功能组,在授权时,针对某一应用模块中的功能或功能组模块进行权限分配。1.5.6 角色的继承提供了角色授权模型,在角色权限分配的管理过程中,角色之间可以实现多模式继承,即单继承、多继承、动态继承;多种模式的继承由系统自动完成,但是当继承形成环路的时候,则继承属性自动中断
27、,保持独立的角色属性。这样可以保证应用系统权限合理管控,而不会因为角色继承导致权限失去控制。针对继承方式,如下定义:181)单继承: 角色 A 继承于角色 B ,则 A 拥有 B 所有的权限。2)多继承角色 A 继承于角色 B、角色 C、角色 D,则 A 同时拥有 B、C、D 所有的权限。3)动态继承:角色D角色C角色B角色A资源继承于口令 口令/证书 证书登入系统口令证书角色A角色B角色C角色A角色C角色D角色 A 继承于角色 B、角色 C、角色 D,用户拥有角色 A;角色 B 的登录方式为口令;角色 C 的登录方式为口令和证书;角色D 的登录方式为证书。4)循环继承:角色A角色B角色C角色
28、D角色循环继承时,系统内部自行处理,在循环处于环路,则继承自动断开。191.6 集中认证管理集中认证管理为企业的 IT 系统提供统一的身份认证,是企业安全门户入口,只有安全的认证机制才可以保证企业大门不被非法人员进入;在整个认证系统中其服务的对象包括企业接入统一认证平台的所有业务系统、管理系统和应用系统等,统一认证系统能够提供快速、高效和安全的服务,应用系统接入改造小,系统具有灵活的扩展性、高可用性。1.6.1 集中认证管理特点1)提供多因素认证服务集中认证管理可以为多个不同种类、不同形式的应用提供统一的认证服务,不需要应用系统独立开发、设计认证系统,为业务系统快速推出新的业务和服务准备了基础
29、条件,集中认证管理为这些应用提供了统一的接入形式。2)提供多种认证方式企业的不同业务系统的安全级别不同,使用环境不同,用户的习惯和操作熟练程度不同,集中认证管理可以针对这些不同的应用特点提供不同的认证手段。3)提供统一和多样化的认证策略集中认证管理针对不同的认证方式,提供了统一的策略控制,各个应用系统也可以根据自身的需要进行个性化的策略设置,根据应用或用户类型的需求,设置个性化的认证策略,提高应用系统的分级管理安全。201.6.2 身份认证方式集中认证管理系统支持多种身份认证方式,包括:1)用户名/口令2)数字证书3)Windows 域认证4)通行码集中认证管理同时支持上述四种认证方式,也可以
30、根据用户的需求对用户登录认证方式进行扩展。下面首先分别介绍这些认证方式,然后介绍认证方式与安全等级。1.6.2.1 用户名/口令认证用户名/口令是最传统且最普遍的身份认证方法,通常采用如下形式:当用户需要访问系统资源时,系统提示用户输入用户名和口令。系统采用加密方式或明文方式将用户名和口令传送到认证中心。并和认证中心保存的用户信息进行比对。如果验证通过,系统允许该用户进行随后的访问操作,否则拒绝用户的下一步的访问操作。 静态口令的优点是简单且成本低,但是如果用户不去修改它,那么这个口令就是固定不变的、长期有效的,因此这种认证信息的静态性,导致传统口令在很多情况下都有着发生口令泄密的危险。在整体
31、安全认证中,对于浏览非重要资源的用户可以采用该方法。1.6.2.2 数字证书认证数字证书是目前最常用一种比较安全的身份认证技术。数字证书技术21是在 PKI 体系基础上实现的,用户不但可以通过数字证书完成身份认证,还可以进一步进行安全加密,数字签名等操作。依据自己多年的安全经验,提供完整的数字身份认证解决方案。数字证书的存储方式非常灵活,数字证书可被直接存储在计算机中,也可存储在智能卡或 USB Key 中。 1.6.2.3 Windows 域认证Windows 域是一种应用层的用户及权限集中管理技术。当用户通过Windows 系列操作系统的登录界面成功登录 Windows 域后,就可以充分使
32、用域内的各种共享资源,同时接受 Windows 域对用户访问权限的管理与控制。目前,很多企业、机构和学校都使用域来管理网络资源,用于控制不同身份的用户对网络应用及共享信息的使用权限。集中认证管理支持 Windows 域登录,对于已经登录到 Windows 域中的用户,不需要输入用户名、密码而直接使用当前登录的域用户信息进行验证,如果验证成功则进入,否则拒绝进入。1.6.2.4 通行码认证通行码是集中认证管理支持的一种特有认证方式,用户忘记其他认证信息时,可以向管理员申请一次性使用的口令进行身份认证。主要满足安全应急服务,当用户安全认证的凭证遗忘或者丢失,通过后台管理员生成通行码的方式,帮助用户
33、解决认证登录;通行码具备时效性和一次性特点,当使用过或者超出使用时间范围,其认证效力自动失效,非常强大的保证了系统的安全性和可靠性;在有效地时间段范围内,能有效、快速的帮助用户解决认证和系统准入的问题,为应用提供了便利。221.6.2.5 认证方式与安全等级每种认证方式对应安全等级的一个范围,安全等级的范围又是根据安全策略来界定的。认证方式(如用户名/口令、数字证书、Windows 域等)仅仅是在认证系统内部来管理和控制的,身份认证子系统与其他子系统之间的信息交换都是通过认证的安全等级来实现的。1.6.3 身份认证相关协议身份认证管理支持的身份认证协议有:1)SSL 协议。2)Windows
34、域认证3)SAML 协议集中认证管理同时支持上述三种认证协议,下面详细介绍这些认证协议。1.6.3.1 SSL 协议SSL(Secure Socket Layer,安全套接层)协议最早由 Netscape 提出,是一种用于保护互联网通信私密性的安全协议,现在已经是该领域的工业标准。通过 SSL 协议,可以使通信不被恶意攻击者窃听,并且始终对服务端进行认证(也可以应用可选的客户端认证) 。 SSL 可以使用 RC4、DES 等多种加密算法,并应用 X.509 数字证书标准进行认证,从保护机制上来讲,是比较完善的。而且 SSL 的实现成本比较低,可以很容易的结合现有的应用环境建立比较安全的传输,所
35、以获得了极为广泛的应用。基于 SSL 协议的身份认证方式与用户名/ 口令方式相比,最显著的优势在于 SSL 提供双向的身份认证,不仅可以验证客户端的身份同时也可以认证服务器的身份。1.6.3.2 Windows 域Windows 交互式登录是我们平常常见的一种登录认证方式,交互式登23录包括“本地登录 ”和“域账号登录”,而“本地登录”仅限于“本地账号登录” 。1)本地用户账号采用本地用户账号登录,系统会通过存储在本机 SAM 数据库中的信息进行验证。用本地用户账号登录后,只能访问到具有访问权限的本地资源。2)域用户账号 采用域用户账号登录,系统则通过存储在域控制器的活动目录中的数据进行验证。
36、如果该用户账号有效,则登录后可以访问到整个域中具有访问权限的资源。用户登录域的过程即是活动目录认证用户的过程,具体过程如下: 登录到域的验证过程,对于不同的验证协议也有不同的验证方法。如果域控制器是 Windows NT 4.0,那么使用的是 NTLM 验证协议,其验证过程和“登录到本机的过程 ”基本一致,唯一区别就在于验证账号的工作不是在本地 SAM 数据库中进行,而是在域控制器中进行;而对于 Windows 2000和 Windows 2003 域控制器来说,使用的一般为更安全可靠的 Kerberos V5协议。通过这种协议登录到域,向域控制器证明自己的域账号有效,用户需先申请允许请求该域
37、的 TGS(Ticket-Granting Service-票据授予服务)。获准之后,用户就会为所要登录的计算机申请一个会话票据,最后还需申请允许进入那台计算机的本地系统服务。1.6.3.3 SAML 协议2003 年初,OASIS 小组批准了安全性断言标记语言( Security Assertion Markup Language,SAML)规范。由于来自 25 家公司的 55 名专家参与了该规范的制定。SAML 是第一个可能成为多个认证协议的规范以利用 Web 基础结构(在这种 Web 基础结构中, XML 数据在 TCP/IP 网络上通过 HTTP 协议传送) 。OASIS 小组开发 S
38、AML 的目的是作为一种基于 XML 的框架,用于交24换安全性信息。SAML 与其它安全性方法的最大区别在于它以有关多个主体的断言的形式来表述安全性。其它方法使用中央认证中心来发放证书,这些证书保证了网络中从一点到另一点的安全通信。利用 SAML,网络中的任何点都可以断言它知道用户或数据块的身份。然后由接收应用程序做出决定,如果它信任该断言,则接受该用户或数据块。任何符合 SAML的软件然后都可以断言对用户或数据的认证。对于即将出现的业务工作流Web 服务标准(在该标准中,安全的数据需要流经几个系统才能完成对事务的处理)而言,这很重要。SAML 是旨在减少构建和操作信息系统(这些系统在许多服
39、务提供者之间相互操作)所花费成本的众多尝试之一。在当今竞争激烈且迅速发展的环境中,出现了通过浏览器和支持 Web 的应用程序为用户提供互操作性的企业联合。例如,旅游网站允许用户不必进行多次登录即可预订机票和租车。今天,一大群软件开发人员、QA 技术人员和 IT 经理都需要处理复杂的和不可靠的后端系统,这些系统提供了企业之间的联合安全性。在典型的支持 Web 的基础结构中,运行业界领先的企业系统的软件需要处理权限服务器之间的浏览器重定向、服务器域之间的 HTTP post 命令、公钥基础结构(public key infrastructure,PKI )加密和数字证书,以及声明任何给定用户或组的
40、信任级别的相互同意(mutually agreed-upon)机制。SAML 向软件开发人员展示了如何表示用户、标识所需传送的数据,并且定义了发送和接收权限数据的过程。SAML 组件关系图如下:25SAML 组件关系图1.6.4 集中认证系统主要功能集中认证系统的主要功能包括:支持多种认证方式,包括用户名/口令、数字证书、Windows 域认证和通行码,并且为其他认证技术留有接口;支持多种认证协议,包括支持数字证书认证的 SSL 协议, Windows域认证,SAML 协议等;支持单点登录支持会话管理管理用户的认证凭证信息,如数字证书等;制定身份认证的安全策略,如定义认证模式和安全等级等;认证
41、系统模块管理,如对应用认证网关的管理等。1.6.5 单点登录单点登录是集中认证管理的主要功能,本部分从功能实现原理,系统硬件配置,单点登录实现流程等方面进行说明。1.6.5.1 单点登录技术软件应用插件式网关(WEB 拦截器技术)Web 拦截器(Intercepting Web Agent)是一种基于过滤技术(Filter)26的应用防火墙。使用 Web 拦截器在请求到达之前来拦截请求,并在应用外部提供认证和授权。例如,对于没有或有很少安全措施的应用,必须提供合适的认证和授权。因此,可使用拦截 Web 代理提供适当的保护,而不是修改代码或重写 Web 层。Web 拦截器可以安装在 Web 服务
42、器中,通过在 Web 服务器上拦截入站请求和执行访问控制策略,来对入站请求进行认证和授权。对于本身不能实现安全或难以修改的应用,通过将安全与应用分离,提供一种理想的安全保护方法,它还可以集中管理与安全相关的组件。安全策略及其实现细节是在应用外部实施的,因此可以修改,而不会影响应用。拦截 Web 代理将安全逻辑与应用逻辑分开,从而提高了可维护性。通常,拦截 Web 代理的实现制要求配置,而无需修改代码。另外,通过将与安全相关的处理转移到应用之外(即服务器上) ,拦截 Web 代理还提高了应用的性能。在 Web 服务器上,没有通过认证和授权的请求将被拒绝,因此不会占用应用的额外周期。硬件应用网关(
43、安全代理服务)使用安全服务代理(Secure Service Proxy)在应用外提供认证和验证,这是通过拦截安全检查请求,然后将其委派给合适的服务实现的。硬件网关系统逻辑架构如下图所示。应用网关功能逻辑图安全服务代理拦截来自客户端的所有请求,确定请求服务,然后执行服务要求的安全策略,并将请求从入站协议转换为目标服务要求的协议,最后将请求转发给目标服务。在返回路径上,安全服务代理将结果从服务27使用的协议和格式转换为客户要求的协议和格式。它也可以保留客户会话中首次请求创建的安全上下文,供以后的请求使用。可在企业外围配置安全服务代理提供认证、授权和其他安全服务,为遗留的或缺少安全机制的轻量级企业
44、服务实施安全策略。安全服务代理模式与 Web 拦截器模式类似,但安全服务代理模式更高级,因为它不要求使用基于 HTTP 的 URL 访问控制,也不要求使用任何传输协议将服务请求交给任何服务。它可以在已实现和已部署的应用外执行额外安全逻辑,也可以与没有实现安全的新应用集成。硬件应用网关代理工作原理浏览器发起 http 请求包数据采集模块截获请求包并转发给数据解析模块数据解析模块解析数据包将解析后的数据包交由数据处理模块处理处理过的数据转发给 web appWeb app 返回的数据,经过数据处理模块,返回浏览器应用网关负载均衡工作原理加入到网关集群中的所有硬件网关按照指定优先级策略进行主/从协商
45、,确定 1 个硬件网关为主设备,其他为从设备。主设备兼有交换机的功能,所有来自客户浏览器的请求包首先到达主设备(不会直接到达从设备)28,主设备根据负载均衡策略分发请求包(可能分发给自己,也可能分发给从设备) ,包分发到目标硬件网关后,开始后续处理,请求处理完成后经由主设备返回给浏览器。1.6.5.2 单点登录实现流程基于门户的单点登录流程用户访问统一登录入口的 URL 地址用户进入统一认证界面用户选择合适的登录方式(支持 4 种登录方式) ,输入正确的登录信息主账户认证成功,产生主账户登录成功票据返回用户可访问应用列表,用户进入可访问应用列表页面用户选择点击要进入的应用链接29产生鉴证断言将
46、浏览器重定向到网关网关验证鉴证断言,取出用户登录应用所需信息网关将用户登录信息注入到应用帐户登录请求中,将请求发送给应用应用帐户登录成功,则转到步,否则继续用户进入应用登录界面用户输入正确的应用登录所需的帐户信息应用验证登录信息登录验证失败,则转步网关将正确的帐户登录信息发送到服务器上,更新从账户信息用户正常访问应用基于应用的单点登录流程30用户访问某应用 URL 地址,并输入认证信息后,转下一步应用网关判断用户是否已登录到应用用户未登录应用,则应用网关将浏览器内的地址重定向到身份认证模块,进行用户身份验证和审核, 并转入下一步身份认证模块判断用户是否已通过身份鉴别,如果用户已经通过身份认证,则转步如果用户未进行身份验证,则返回统一认证页面用户重新选择合适的登录方式,输入正确的登录信息主账户认证成功,由产生主账户登录成功票据和鉴证断言将浏览器地址重定向到应用网关地址应用网关验证鉴证断言,取出用户登录应用所需信息