身份认证与授权平台


设计思路


传统的身份认证系统本质上是账号管理系统,科探认证平台方案需要真正意义上管理具体的人、身份等核心概念。平台的贺新年设计特点如下。
  • 全周期、一体化的身份管理
  • 目前的大部分身份认证体系解决的在不同系统、不同应用中身份的横向漫游。而更完整的身份管理应当在时间维度实现纵向、全周期的管理。
    以教育行业为例,认证中心的设计目标是要建成面向所有本科生、研究生、教职工、校友的教育身份体系。结合社会终身教育的理念,应当实现身份管理在不同阶段、不同角色、不同环境下的打通。
    全周期的身份管理对应用系统的价值大大提高,可以大大拓展应用的发展。全周期一体化身份管理的概念如下图:
    每种身份来源对应不同的管理流程,身份管理体系需要与这些流程对接,保障身份管理的质量。
    这些身份管理流程是可扩展的,应当有统一的流程服务驱动。完整的身份模型应能够完整描述复杂的、全周期、多身份的身份关系。控制了入口与模型,就奠定了管好身份体系的基础。
  • 迈向开放平台
  • 开放平台的重要核心是标准化的资源控制/授权模型,在解决身份认证问题的基础上,进一步解决资源贡献、安全、隐私控制方面的问题。开放平台将以混合型SaaS的模式提供服务。而其中,应用系统通过完整的认证授权体系访问各种资源。
    全新的架构下,身份管理体系的各个环节都是可以快速水平扩展的,支持互联网级的用户规模。
    科探身份认证与授权平台将提供统一、安全、受身份/权限模型保护的开放式API体系。在开放授权体系的支持下,可以提供具有灵活的颗粒度与开放度的API服务,从而使得所有教育应用在一个统一的模式下形成一个完整的应用开放平台,大幅度促进第三方应用的开发,成为开放式数字校园生态圈的基石。
    提供基于OAuth保护的REST API,第三方应用可以通过不同的颗粒度获取到用户资料、用户关系等基本数据,以及今后开放的其他任何数据,但前提是应用必须获得到平台和用户的授权。

    功能实现


    认证功能
  • 安全的应用单点登录技术
  • 支持web应用、移动应用、客户端应用、网络接入、代理、VPN的各种类型的认证需求的统一。符合被严格证明安全有效的kerberos认证模型,支持业界主流的SAML及CAS认证协议。所有用户的认证信息,包括认证信息的加密形式,都不会经过第三方应用,第三方应用没有机会获取用户口令信息
  • 完整的身份管理功能
  • 支持全生命周期的用户管理、用户多身份的支持、支持可扩展的帐户类型,以及其对应的用户数据管理流程和帐户管理审核流程
  • 可靠、可扩展、高性能的身份数据管理
  • 包括基于目录服务的认证信息数据,以及实现整个系统所需的完整的数据模型的管理能力。
    开放授权功能
  • 支持OAuth2.0开放标授权标准,用户授权后,第三方应用无需获取用户的用户名和密码就可以访问该用户的个人资源。
  • oAuth是互联网普遍接受的认证授权协议
    • 大量第三方的现有应用可以几乎不改代码的情况下快速接入。特别是移动应用,oAuth是被大量产品所支持的开放标准
    • 新应用的开发者可以通过开放的oAuth协议SDK实现接入,开发者学习门槛降低,开发质量有保障
    • 已有的非oAuth认证应用也可以与新的应用保持兼容和互相漫游
  • 完整支持Oauth2.0的四种授信模式:Authorization Code;Implicit Grant;Client Credentials;Refresh Token
  • 支持针对oauth的应用管理功能与应用授信功能
  • 支持可扩展的资源API
  • 高性能与高可靠性
    四个服务器集群构成的全功能的分布式冗余架构,轻松实现1000次/秒以上的认证性能,满足绝大部分规模的机构用户需求。架构水平扩展后能够实现互联网级的认证性能水平。同时冗余架构保障了系统服务和数据的可靠性:
    1. 网络冗余度
    2. 结合负载均衡设备,实现多路的网络接入。保障多路网络接入的负载均衡和可靠性。根据应用的需要逐步通过DNS层的负载均衡实现多点包括异地多点的集群。
    3. 计算冗余度
    4. 分布式集群架构充分考虑的认证中心对外服务的三个核心计算环节的冗余:身份验证,身份管理过程,以及开放API。针对认证中心设计的集群算法将把计算水平的分布到各个计算节点。
    5. 存储冗余度
    6. 在上述架构中,认证中心的两大类数据:身份数据和过程管理数据,分别在目录服务集群和关系型数据库集群中得到冗余存储。

      • 身份数据的冗余度可以做到无缝的扩展:
      • 目录服务集群的算法在实现计算能力冗余的同时实现数据存储的冗余:在整个集群中,整个用户集合的身份数据根据配置可存在多个完整的备份,这些备份本身也是分布的,存在于不同的服务器上,这种架构在计算、存储、安全方面都实现了很好的冗余。
      • 管理数据的冗余度支持主/备模式:
      • 通过关系数据库集群做到主/备模式下的管理数据冗余,其冗余度(备份数)可以在部署时配置,并通过系统维护进行调整。这个集群架构能够做到读操作的线性扩展,并同时实现存储冗余。
    安全性
    • 采用主流认证模型,用户只需信任认证中心即可,而不必分别信任各个应用服务站点。
    • 用户使用 登录某个(或多个)使用统一认证的应用系统(称其为第三方的应用系统)时,用户的密码,包括用户密码的任何加密形式,都不会经过第三方的应用系统。密码最多只会传输给中心认证服务器。
    • 认证过程采用主流工业级加密技术。
    • 用户认证信息(密码)采用单向加密技术加密后存储在中心或子域身份服务器中。即使是中心的管理员也无法从中获取用户密码的明文
    • 采取有针对性的架构和措施保障系统及数据的安全,有效防止出现大范围的数据泄漏、数据丢失等安全事件
    支持多域联盟认证
    身份认证问题几乎不可能由一个超级权威的单一体系来解决,而是依靠多种身份体系的有效融合。一个机构、一个学校、一个区域可以形成自身的身份管理域。单体域之间可以形成联盟,一个单体域可以加入多个联盟(区域联盟、行业联盟等等) 跨域的身份可以形成绑定关系。
    科探身份认证与授权平台通过引入SAML及oAuth标准,同时结合信息化环境认证需求,以构建开放平台为要求,实现了一个开放、可持续发展的身份/权限管理体系。在这个基础上,可以实现跨域的身份认证与授权联盟,从而将现有的信息化建设无缝扩展一个完整的开放环境中去。

    现状

    应用单点登录
  • 跨应用的身份整合
  • 漫游的方便性/安全性
  • 一些更多的统一身份认证场景
  • 网络接入、VPN接入、邮件、代理
  • windows域认证:服务器、桌面、exchange
  • 下一代解决什么问题

  • 更开放:互联网开放标准
  • 全周期一体化的身份管理
  • 系统调用间的认证与授权
  • 迈向Open Platform
    1. 标准的资源授权/控制模型
    2. 成为开放平台的基础
    3. 成为SaaS化的核心

    逻辑架构

    逻辑架构

    全面的负载均衡可扩展架构

    全面的负载均衡可扩展架构

    身份联盟

    身份联盟

    支持多域的身份联盟模式

    支持多域的身份联盟模式