Shibboleth 在高能所统一认证系统中的应用

Similar presentations


Presentation on theme: "Shibboleth 在高能所统一认证系统中的应用"— Presentation transcript:

1 Shibboleth 在高能所统一认证系统中的应用
中科院高能物理所 马兰馨

2 报告内容 背景 Shibboleth介绍 高能所统一认证方案设计 应用接入方案

3 背景 高能所校园网应用系统众多 每个系统有自己的认证机制、用户数据库 用户记住每个应用系统的username/password 用户管理复杂
邮件系统、会议管理系统、文档管理系统、磁盘、软件、。。。。。。 每个系统有自己的认证机制、用户数据库 用户记住每个应用系统的username/password 用户管理复杂 解决方案 单点登录系统SSO(Single Sign On) Shibboleth

4 关于 Shibboleth A Web-based Single Sign On (SSO)
美国 Internet2 高级网络联盟/MACE(Moddleware Architecture Committee for Education)小组的一个项目 其目的是开发一个基于标准(主要是SAML和 XML Schema)的体系结构和策略框架及一套开放源代码软件,以用于支持机构间的、需要存取控制的Web资源共享的单点登录系统。 安全断言标记语言 SAML(Security Assertion Markup Language ) XML即可扩展标记语言(eXtensible Markup Language)

5 Shibboleth 优势 用户只需记住一个username/password 用户管理简单、集中 安全地访问第三方服务 跨组织、联盟
保护隐私 使服务提供者可以控制能够控制其被访问的资源 整合不同的第三方服务

6 系统组件 IdP (Identify Provider) SP (Service Provider)
主要负责提供各种凭证和属性,对用户身份进行认证和用户属性进行管理。当用户请求访问受限资源时,IdP 会发送验证声明或属性声明给SP。 SP (Service Provider) 主要负责访问资源安全方面的管理,对资源进行保护、用户访问资源进行授权和执行访问控制,通过 IdP 发送来的声明决定用户是否获得资源访问权限。 DS (Discovery Service) 以互动方式为用户提供 IdP 选择的标准接口,具有高度可定制性,可将用户提交的选择直接将用户重定向给对应的 SP。 DS 可由资源控制,也可作为中心共享服务运行。

7 构成 SSO 主要角色 构成基于Web的SSO系统的主要角色 Web Browser: 用户 Resource: 被保护资源
IdP (Identity Provider): 认证用户 SP (Service Provider): 执行认证,转到被保护资源 Discovery Service Provider(DS):允许用户选择IdP

8 工作流程 1. 用户访问被保护资源 2.用户将请求转发给IdP 3.IdP认证用户信息 4.IdP发送认证信息给SP
5.SP检验IdP的返回信息,决定是否允许用户访问资源 6.返回给资源信息,完成整个认证过程

9 系统架构 Service Provider Identity Provider Web Site WAYF 5 3 2 4 6 1 7 8
Resource WAYF Identity Provider Service Provider Web Site 1 ACS 3 2 HS 5 6 7 User DB Credentials 4 AR Handle 8 9 AA Attributes 10 Manager

10 IHEP 统一认证方案 方案: IdP+ Kerberos+ldap+username/password
SP + web Application 目前实现了 一个IdP, 多个SP,一个SP保护一个资源 10

11 用户信息、访问方式 用户信息 访问方式 Kerberos 认证信息(username/password)
Ldap 用户属性(姓名、 、telephone、部门、……) Application 的本地数据库 授权信息(Role,group, 权限,…) 访问方式 访问单个应用系统 统一用户接口 通过菜单访问应用系统 修改用户个人信息 修改口令 帮助信息

12 IHEP 统一认证架构图 Authentication Shibboleth IdP Apache/Tomcat Shibboleth
Web Browser Shibboleth IdP Apache/Tomcat Shibboleth SP1 Shibboleth SPn Kerbores Account Management …… SSH Shibboleth SP App1 APP1 APPn LDAP Apache

13 应用系统接入认证系统的技术方案(1) 应用程序必须为基于Web的程序 最好与SP安装在同一台机器上,实现对资源的保护
允许单点认证系统用户进行登录 应用系统可以保留现有的用户账户信息(本地数据库) 应用系统针对需要单点认证的用户,需要在应用的登录页面增加一个专供单点认证用户使用的链接,该链接由应用中专门的程序来进行处理。 为了允许单点认证系统用户登录,应用程序需要进行一些修改,要写接口程序(PHP, Python, JSP,…)

14 应用系统接入认证系统的技术方案(2) 假设应用部署在 sp1.ihep.ac.cn 主机上,并安装了SP,允许单点认证帐号登入。该应用中:
首页地址为: 具体处理程序为该应用根目录下的 index.php (或index.jsp)。 该程序的功能为: 1. 检查该用户是否已经通过了统一认证,具体检查方法为: 查找HTTP请求中有没有名为Shib-Identity-Provider的请求头,对于php应用程序,使用 $_SERVER["Shib-Identity-Provider"]; 来进行检查 2. 如果通过步骤1中的检查,用户已经通过了单点认证,则从HTTP请求头中取得用户名、姓、名、所属机构名、邮件地址、等等信息,并放入Session中,以便于以后和应用程序的其他部分共享这些信息,并把用户重定向到登录成功界面,即应用的主面。 3. 与本地数据库进行比对,如何本地数据库允许其用户登入,则把用户重定向到登录成功界面 4. 如果没通过步骤1、步骤2、步骤3的检查,则退出应用

15 应用系统接入认证系统的技术方案(3) 认证成功后提供用户的信息有: Username, sn, GivenName,email,…
认证系统提供给应用系统得到用户信息的接口 PHP程序使用以下语句取得用户属性: $_SERVER["uid"]; $_SERVER["sn"]; $_SERVER["givenName"]; $_SERVER["mail"];

16 与应用系统整合举例

17 帮助信息

18 谢谢!!

19 什么是Shibboleth,如何工作 A user authenticates with his or her organizational credentials. The organization (or identity provider) passes the minimal identity information necessary to the service manager to enable an authorization decision Shibboleth leverages the organization’s identity and access management system, so that the individual’s relationship with the institution determines access rights to services that are hosted both on- and off-campus.

20 基本组成 There are 3 parts to the Shibboleth system:
Identity Provider(IdP) - the software run by an organization with users wishing to access a restricted service; Service Provider(SP) - the software run by the provider managing the restricted service. Discovery Service(DS) - an SP will usually be able to handle users authenticated by multiple IdPs and at that point it has no option but to ask the user to select an IdP, which is usually done by a Discovery Service. IdP & SP are the two primary parts

21 SSO主要角色 The main actors in a web-based SSO system are:
Web Browser: represents the user within the SSO process Resource: contains access-restricted content that the user wants IdP (Identity Provider): authenticates the user SP (Service Provider): performs the SSO process for the resource Discovery Service Provider(DS):allows a user to select which Identity Provider they will use when accessing a Service Provider

22 体系结构

23 User DB (Kerberos/LDAP)
架构图 Authentication Web Browser Shibboleth IdP Apache/Tomcat Shibboleth SP1 Shibboleth SPn …… User DB (Kerberos/LDAP) App1 APP1 APPn

24 Shibbole如何工作 IdP与SP通过SAML消息传送用户的身份认证和属性等信息。SAML消息定义了2种重要的语句:(1)身份验证语句,关于该主题在何时何地、使用何种身份进行过验证的报告。 。(2)属性语句,包含了与主题有关的属性。属性语句中典型的属性是组和角色。SAML定义了一组XML格式的请求和应答消息,SP可使用这些消息直接获取断言。

25 基本组成 There are 3 parts to the Shibboleth system:
Identity Provider(IdP) –主要负责维护用户的信任和属性,并在请求时,做出认证语句或属性语句的断言。 Service Provider(SP) –主要负责管理被保护的资源,即按照IdP的断言,决定用户对资源的存取。SP一般包括断言处理服务、属性请求者和目标资源。 Discovery Service(DS) - an SP will usually be able to handle users authenticated by multiple IdPs and at that point it has no option but to ask the user to select an IdP, which is usually done by a Discovery Service. IdP & SP are the two primary parts

26 工作流程 1. User Accesses Protected Resource
2. SP Determines IdP and Issues Authentication Request 3. User Authenticates to the IdP 4. IdP Issues Response to SP 5. Back to the SP 6. Back to the Protected Resource

27 管理、资源、使用 帐号统一管理 提供2种登入方式 SP与Application的整合 登入单个应用 登入统一界面 网络组周报系统、系统组月报
27

28 为什么选择 Shibboleth 用户只需记住一个username/password 用户管理简单、集中 安全地访问第三方服务 跨组织、联盟
使机构选择自己的身份验证技术 使服务提供者可以控制能够控制其被访问的资源 整合不同的第三方服务

29 工作流程 1. User Accesses Protected Resource
2. SP Determines IdP and Issues Authentication Request 3. User Authenticates at the IdP 4. IdP Issues Response to SP 5. Service Provider Checks Response 6. Back to the Protected Resource

30 用户接口


Download ppt "Shibboleth 在高能所统一认证系统中的应用"

Similar presentations


Ads by Google