当前位置:
文档之家› 统一身份认证及访问控制解决方案
统一身份认证及访问控制解决方案
2. 总体方案设计
2.1. 业务功能架构
通过实施单点登录功能,使用户只需一次登录就可以根据相关的规则去访 问不同的应用系统,提高信息系统的易用性、安全性、稳定性;在此 基础上进 一步实现用户在异构系统(不同平台上建立不同应用服务器的业务系统) ,高速 协同办公和企业知识管理功能。 单点登录系统能够与统一权限管理系统实现无缝结合,签发合法用户的权 限票据, 从而能够使合法用户进入其权限范围内的各应用系统,并完成符合其权 限的操作。 单点登录系统同时可以采用基于数字证书的加密和数字签名技术,对用户 实行集中统一的管理和身份认证,并作为各应用系统的统一登录入口。单点登录 系统在增加系统安全性、 降低管理成本方面有突出作用, 不仅规避密码安全风险, 还简化用户认证的相关应用操作。
统一身份认证及访问控制 技术方案
1. 方案概述
1.1. 项目背景
随着信息化的迅猛发展, 政府、 企业、 机构等不断增加基于 Internet/Intranet 的业务系统,如各类网上申报系统,网上审批系统, OA 系统等。系统的业务 性质,一般都要求实现用户管理、身份认证、授权等必不可少的安全措施;而新 系统的涌现,在与已有系统的集成或融合上,特别是针对相同的 用户群,会带 来以下的问题: 1)如果每个系统都开发各自的身份认证系统将造成资源的浪费,消耗开 发成本,并延缓开发进度; 2)多个身份认证系统会增加整个系统的管理工作成本; 3)用户需要记忆多个帐户和口令,使用极为不便,同时由于用户口令遗 忘而导致的支持费用不断上涨; 4)无法实现统一认证和授权,多个身份认证系统使安全策略必须逐个在 不同的系统内进行设置,因而造成修改策略的进度可能跟不上策略的变化; 5)无法统一分析用户的应用行为;因此,对于有多个业务系统应用需求 的政府、企业或机构等,需要配置一套统一的身份认证系统,以实现集中统一的 身份认证, 并减少整个系统的成本。 单点登录系统的目的就是为这样的应用系统提供集中统一的身份认证,实 现“一点登录、多点漫游、即插即用、应用无关"的目标,方便用户使用。
2.2.2.2. 系统接入
应用系统接入平台的架构如下图所示:
系统提供两种应用系统接入方式,以快速实现单点登录: (1)反向代理(Reverse Proxy)方式 应用系统无需开发、无需改动。对于不能作改动或没有原厂商配合的应用 系统,可以使用该方式接入统一用户管理平台。 反向代理技术:实现方式为松耦合,采用反向代理模块和单点登录(SSO) 认证服务进行交互验证用户信息,完成应用系统单点登录。
2.2.4. 安全通道
提供的安全通道是利用数字签名进行身份认证,采用数字信封进行信息加 密的基于 SSL 协议的安全通道产品,实现了服务器端和客户端嵌入式的数据安 全隔离机制。
TCP/IP 客户端 服务器
图:使用前
客 户 端
TCP/IP
客户端 安全插 件
SSL
SSL
SSL 加密
服务器 前置 (Proxy)
系统交互图 其原理如下: 1) 每个信息资源配置一个访问代理, 并为不同的代理分配不同的数字证书, 用来保证和系统服务之间的安全通信。 2) 用户登录中心后,根据用户提供的数字证书确认用户的身份。 3) 访问一个具体的信息资源时,系统服务用访问代理对应的数字证书,把用 户的身份信息机密后以数字信封的形式传递给相应的信息资源服务器。 4) 信息资源服务器在接受到数字信封后,通过访问代理,进行解密验证, 得到用户身份。根据用户身份,进行内部权限的认证。
用户授权的基础是对用户的统一管理,对于在用户信息库中新注册的用户, 通过自动授权或手工授权方式,为用户分配角色、对应用系统的访问权限、应用 系统操作权限,完成对用户的授权。如果用户在用户信息库中被删除,则其相应 的授权信息也将被删除。 完整的用户授权流程如下: 1、用户信息统一管理,包括了用户的注册、用户信息变更、用户注销; 2、权限管理系统自动获取新增(或注销)用户信息,并根据设置自动分配 (或删除)默认权限和用户角色; 3、用户管理员可以基于角色调整用户授权(适用于用户权限批量处理)或 直接调整单个用户的授权; 4、授权信息记录到用户属性证书或用户信息库(关系型数据库、LDAP 目录 服务)中; 5、用户登录到应用系统,由身份认证系统检验用户的权限信息并返回给应 用系统,满足应用系统的权限要求可以进行操作,否则拒绝操作; 6、用户的授权信息和操作信息均被记录到日志中,可以形成完整的用户授 权表、用户访问统计表。
安全浏览器 专用客户端 OCSP
All DB
系统用户
身份管理服务
关键信息加密通道
数据库
信息加密通道
角色管理服务 智能卡管理服务 安全审记服务
DB
数字证书 数据库
LDAP
CA 安全认证中心基础设施
数字证书网上 受理服务
CRL
CA
PMI
2.2. 技术实现方案 2.2.1. 技术原理
基于数字证书的单点登录技术,使各信息资源和本防护系统站成为一个有 机的整体。通过在各信息资源端安装访问控制代理中间件,和防护系统的认证服 务器通信,利用系统提供的安全保障和信息服务,共享安全优势。
身份认证服务 访问控制服务 单点登录服务
门户 应用 系统 等
应用系统 数据库
完整信息加密通道
认证前置
系统结构图 说明:CA 安全基础设施可以采用自建方式,也可以选择第三方 CA。 具体包含以下主要功能模块: � 身份认证中心 � 存储企业用户目录,完成对用户身份、角色等信息的统一管理; � 授权和访问管理系统 � 用户的授权、角色分配; � 访问策略的定制和管理; � 用户授权信息的自动同步; � 用户访问的实时监控、安全审计; � 身份认证服务 � 身份认证前置为应用系统提供安全认证服务接口,中转认证和访问 请求; � 身份认证服务完成对用户身份的认证和角色的转换; � 访问控制服务 � 应用系统插件从应用系统获取单点登录所需的用户信息; � 用户单点登录过程中,生成访问业务系统的请求,对敏感信息加密 签名; � CA 中心及数字证书网上受理系统 � 用户身份认证和单点登录过程中所需证书的签发; � 用户身份认证凭证(USB 智能密钥)的制作;
2.2.2. 统一身份认证
统用户数据独立于各应用系统,对于数字证书 的用户来说,用户证书的序列号平台中是唯一的,对于非证书用户来说,平台用 户 ID(passport)是唯一的,由其作为平台用户的统一标识。如下图所示:
(1)、在通过平台统一认证后,可以从登录认证结果中获取平台用户证书的 序列号或平台用户 ID; (2)、再由其映射不同应用系统的用户账户; (3)、最后用映射后的账户访问相应的应用系统; 当增加一个应用系统时,只需要增加平台用户证书序列号或平台用户 ID 与 该应用系统账户的一个映射关系即可,不会对其它应用系统产生任何影响,从而 解决登录认证时不同应用系统之间用户交叉和用户账户不同的问题。 单点登录过 程均通过安全通道来保证数据传输的安全。
• 全面的日志审计:精确地记录用户的日志,可按日期、地址、用户、资 源等信息对日志进行查询、统计和分析。审计结果通过 Web 界面以图表的形式 展现 给管理员。 • 双机热备:通过双机热备功能,提高系统的可用性,满足企业级用户的 需求。 • 集群:通过集群功能,为企业提供高效、可靠的 SSO 服务。可实现分布 式部署,提供灵活的解决方案。 • 传输加密:支持多种对称和非对称加密算法,保证用户信息在传输过程 中不被窃取和篡改。 • 防火墙:基于状态检测技术,支持 NAT。主要用于加强 SSO 本身的安 全,也适用于网络性能要求不高的场合,以减少投资。 • 分布式安装:对物理上不在一个区域的网络应用服务器可以进行分布式 部署 SSO 系统。 • 后台用户数据库支持:LDAP、Oracle、DB2、Win2k ADS、Sybase 等。 可以无缝集成现有的应用系统的统一用户数据库作为 SSO 应用软件系统的用户 数据库。 • 领先的 C/S 单点登录解决方案:无需修改任何现有的应用系统服务端和 客户端即可实现 C/S 单点登录系统
(2)Plug-in 方式 Plug-in:实现方式为紧耦合,采用集成插件的方式与单点登录(SSO)认 证服务进行交互验证用户信息,完成应用系统单点登录。
紧耦合方式提供多种 API,通过简单调用即可实现单点登录(SSO)。
2.2.3. 统一权限管理
统一身份管理及访问控制系统的典型授权管理模型如下图所示:
1.2. 系统概述
针对上述状况,企业单位希望为用户提供统一的信息资源认证访问入口, 建立统一的、基于角色的和个性化的信息访问、集成平台的单点登录平台系统。 该系统具备如下特点: • 单点登录:用户只需登录一次,即可通过单点登录系统(SSO)访问后 台的多个应用系统, 无需重新登录后台的各个应用系统。后台应用系统的用户名 和 口令可以各不相同,并且实现单点登录时,后台应用系统无需任何修改。 • 即插即用:通过简单的配置,无须用户修改任何现有 B/S、C/S 应用系 统,即可使用。解决了当前其他 SSO 解决方案实施困难的难题。 • 多样的身份认证机制:同时支持基于 PKI/CA 数字证书和用户名/口令身 份认证方式,可单独使用也可组合使用。 • 基于角色访问控制:根据用户的角色和 URL 实现访问控制功能。 • 基于 Web 界面管理:系统所有管理功能都通过 Web 方式实现。网络管 理人员和系统管理员可以通过浏览器在任何地方进行远程访问管理。 此外,可以 使 用 HTTPS 安全地进行管理。
TCP/IP
服 务 器
图:使用后 安全通道的主要用途是在两个通信应用程序之间提供私密性和可靠性, 这个 过程通过 3 个元素来完成: (1)握手协议:这个协议负责协商用于客户机和服务器之间会话的加密参 数。 当一个 SSL 客户机和服务器第一次开始通信时,它们在一个协议版本上达成 一致,选择加密算法和认证方式,并使用公钥技术来生成共享密钥。 (2)记录协议:这个协议用于交换应用数据。应用程序消息被分割成可管 理的数据块,还可以压缩,并产生一个 MAC(消息认证代码) ,然后结果被加密 并传输。接受方接受数据并对它解密,校验 MAC,解压并重新组合,把结果提供 给应用程序协议。 (3)警告协议:这个协议用于标示在什么时候发生了错误或两个主机之间 的会话在什么时候终止。