




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
跨校身份认证跨校身份认证 IDPIDP 和和 SPSP 安装开发指南安装开发指南 金智教育信息技术有限公司金智教育信息技术有限公司 20112011 年年 7 7 月月 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 1 目目 录录 1 架构方案和系统组成架构方案和系统组成 3 2 基础技术平台基础技术平台 SHIBBOLETH 3 2 1 SHIBBOLETH简介 3 2 1 1 Shibboleth的组成 4 2 1 2 Shibboleth的特点 4 2 1 3 Shibboleth在本项目中的作用 5 2 2 系统组成 5 2 2 1 跨校身份认证中心 5 2 2 2 跨校身份认证组件 5 3 组件安装组件安装 6 3 1 IDP 安装配置 6 3 1 1 Web容器配置 6 3 1 2 安装IdP组件 7 3 1 3 IDP服务的启停 8 3 1 4 配置认证方式 8 3 1 5 配置IdP认证支持的SP 11 3 1 6 IDP属性获取方式配置 11 3 1 7 IDP属性安全配置 12 3 1 8 注册IDP 14 3 2 SP 安装配置指南 14 3 2 1 基础组件安装 14 3 2 2 配置Apache 15 3 2 3 配置SP保护路径 16 3 2 4 配置此SP使用DS 17 3 2 5 配置此SP支持的IdP认证 必须 关键 17 3 2 6 配置SP需要的属性 18 3 2 7 安装完成 重启shibd服务和httpd 19 3 2 8 注册SP 19 3 2 9 反向代理集成应用 19 3 2 10 登出SP 19 4 开发接口开发接口 21 4 1 IDP SERVER身份认证接口 21 4 2 IDP SERVER属性获取接口 22 4 3 SP 属性获取接口 23 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 2 1 架构方案和系统组成架构方案和系统组成 下图为跨校身份认证逻辑图 上海教育城域网 IdP SP 高校A IdP SP 高校B IdP SP 高校Z WAYF Discovery IdP SP 高校C IdP SP 高校D 2 基础技术平台基础技术平台 Shibboleth 2 1 Shibboleth 简介简介 Shibboleth 是 Intemet2 MACE 项目中的一个 得到了 IBM 的技术和资 金支持 Shibboleth 是一个使用标准语言描述的体系结构和策略框架 支持 安全 Web 资源和服务的共享 Shibboleth 主要针对校园环境中对分布式资源访问有效访问问题 Shibboleth 与其它系统的区别在于 Shibboleth 将认证模块放在用户端 资源提 供者只需进行很少的验证工作 这样极大地减轻了资源提供者的负担 同时 简化了访问程序 提高了访问资源的效率 安全性也得到了保证 在系统扩 展方面 Shibboleth 采用了 SAML 规范 同时也在 SAML 上作了一些改进 这样保证了系统的可扩展性 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 3 2 1 1 Shibboleth 的组成的组成 Shibboleth 主要由三个部分组成 1 Identity Provider 身份提供端 主要作用是向资源提供者提供用户的属性 以便使资源服 务器根据其属性对其操作进行判决响应 2 Service Provider 资源 服务提供端 主要作用是响应用户的资源请求 并向该用户所在 的 IDP 查询用户的属性 然后根据属性作出允许或拒绝访问资源的决策 3 WAYF Where Are You From 的首字母简称 WAYF 组件知道每一个 IDP 端句柄 服务器的名称和位置 其主要功能是将 IDP 端站点名称映射到 HS 信息上 WAYF 的另一个作用是为用户查询 HS 并将句柄发送给 SHIRE WAYF 通过 与用户打交道 询问 你从哪来 用户选择所属组织 WAYF 便在用户组 织的名称与 HS 的 URL 之间进行映射 2 1 2 Shibboleth 的特点的特点 将 Shibboleth 系统与其他类似比较 Shibboleth 的特点主要表现在 1 极好的隐私保密性 在用户访问在资源的整个过程中 标识用户 身份的是一个不透明的句柄 这样除了 AA 和 HS 之外的任何实体都不能获 得用户的个人信息 2 使用基于标准的标记语言 SAML Shibboleth 访问资源的方式和 SAML 规范很相似 在 Shibboleth 中 AQM ARM 等消息格式都是参照 SAML 规范指定的 3 充分解决了单点登录 Single Sign On sso 问题 SAML 规范主 要是针对 SSO 问题 而 Shibboleth 参照了 SAML 规范 极好地解决了 SSO 问题 4 用户访问资源是一种 Pull 模式 用户访问资源时 并不是一次将 所有的信息全部暴露出来 而是在需要的时候部分暴露 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 4 2 1 3 Shibboleth 在本项目中的作用在本项目中的作用 1 本项目将基于 Shibboleth 的框架进行开发 根据用户的实际需求 对 Shibboleth 进行改造 2 Shibboleth 构成跨域统一身份认证系统的核心部分 包括 IdP SP 和 WAYF 组成的整个跨域统一身份认证系统的架构 3 通过将 Shibboleth 的 IdP 组件与各个学校的统一身份认证系统集 成 将身份数据的管理和身份凭据的认证交给各个学校自身的统一身份认证 系统 跨域认证中心只是作为跨域认证的索引 并不维护任何身份数据 2 2 系统组成系统组成 2 2 1 跨校身份认证中心跨校身份认证中心 组件名称主要功能实现方式 WAYF 服务1 转发用户请求给相应的 IdP 认证 2 接受 IdP 注册 存储所有 IdP 的信息 3 提供一个简单 Web 访问界面 供用户选择其能够认 证的 IdP 4 接受 SP 注册 存储所有 SP 的信息 改造 Shibboleth 组件 2 2 2 跨校身份认证组件跨校身份认证组件 组件名称主要功能实现方式 IdP 身份提供 者 1 存储用户的身份信息 2 为 SP 提供用户身份认证服务 3 为 SP 提供用户属性数据 4 为整个访问过程初始化 SSO 服务 5 提供和其他身份认证系统的统一集成接口 基于 Shibboleth 组件 作相应扩展 SP 服务提供 者 1 为用户提供受控资源访问的入口 2 判断来访用户是否已经认证 3 根据用户属性确定其对受控资源的访问权限 基于 Shibboleth 组件 作相应扩展 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 5 3 组件安装组件安装 本章节描述 IDP 和 SP 的安装配置 系统环境要求 软件版本备注 操作系统Linux RedHat ES 5 1 JDKSun JDK 1 5必须是 1 5 以上 J2EE Web 容器Apache Tomcat 5 5 26 Web ServerApache 2 2需要支持 mod ssl mod proxy aj p 安装前请注意 1 系统时间必须设置正确 2 apache httpd 需要 mod ssl mod proxy ajp 假设安装在 etc httpd 3 必须使用 tomcat 5 5 x 假设安装在 opt apache tomcat 5 5 26 4 如果需要改变安装目录重新安装 必须退到解压那步 否则很多和目 录有关的代码不会重新编译 导致严重错误 5 配置文件很多 要有耐心 3 1 IDP 安装配置安装配置 3 1 1 Web 容器配置容器配置 J2EE Web 容器使用 Tomcat 版本必须为 tomcat 5 5 x 假设安装在 opt apache tomcat 5 5 26 Web 前端采用 Apache 2 2 假设配置文件安装在 etc httpd 配置步骤 1 取消 tomcat 的 AJP 身份认证 vi opt apache tomcat 5 5 26 conf server xml 找到 Define an AJP 1 3 Connector 那 初始为 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 6 修改为 这里端口修改只是为了不冲突 2 apache httpd 配置 AJP 反向代理 vi etc httpd conf d proxy ajp conf 添加 LoadModule proxy ajp module modules mod proxy ajp so ProxyPass idp ajp localhost 8019 idp 3 1 2 安装安装 IdP 组件组件 1 初始化 IDP unzip q shibboleth idp 2 0 0 bin zip cd identityprovider cp endorsed jar opt apache tomcat 5 5 26 common endorsed sh ant sh install 提示是否新安装 yes 提示选择安装目录 opt idp 提示 hostname 根据实际填写 举例为 提示加密密匙 随便写 2 部署 war 解压 idp war 到 Tomcat 下面的 webapps idp 目录即可 3 测试 应该能看到 ok httpd k restart links http 127 0 0 1 idp profile Status 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 7 3 1 3 IDP 服务的启停服务的启停 目前已经安装好的各校 IDP 服务的启动命令如下 1 启动 cd opt apache tomcat 5 5 26 bin startup sh cd opt lampp apacherestart sh 2 停止 cd opt apache tomcat 5 5 26 bin shutdown sh force cd opt lamp lamp stopapache 3 1 4 配置认证方式配置认证方式 IDP 支持标准的 JAAS 认证方式 也支持自定义接口的方式 下面介绍基 于 LDAP 的 JAAS 认证方式和金智 IDStar 统一身份认证方式的配置 在开发 章节将会详细介绍和其他认证系统的集成开发 3 1 4 1 LDAP 认证方式配置认证方式配置 1 配置 IDP 登录处理 vi opt idp conf handler xml 启用 UsernamePassword 方式 修改为 urn oasis names tc SAML 2 0 ac classes unspecified urn oasis names tc SAML 2 0 ac classes PasswordProtect edTransport 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 8 屏蔽其他认证方式 其他 LoginHander 段 注 必须保留 PreviousSession LoginHander 段的配置 2 配置 LDAP 的 JAAS 认证 vi opt idp conf login config ShibUserPassAuth edu vt middleware ldap jaas LdapLoginModule required host 172 18 33 235 base dc wiscom dc com dc cn serviceUser cn Directory Manager serviceCredential userField uid subtreeSearch true 属性说明 属性说明备注 HostLDAP 服务器地址IP 域名均可 BaseLDAP Base 名称 serviceUserLDAP 登录用户此用户需要有 LDAP 的 访问权限 serviceCredential密码 userField用户 ID 的 LDAP 字段名 subtreeSearch是否搜索 LDAP 子节点默认为 True 3 1 4 2 金智金智 IDStar 认证方式配置认证方式配置 1 配置 IDP 登录处理 vi opt idp conf handler xml 启用 Generic 方式 修改为 urn oasis names tc SAML 2 0 ac classes unspecified 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 9 urn oasis names tc SAML 2 0 ac classes PasswordProtect edTransport 屏蔽其他认证方式 其他 LoginHander 段 注 必须保留 PreviousSession LoginHander 段的配置 2 配置 IDStar 认证支持 vi opt idp conf internal xml 加入以下配置 注 这是个标准的 spring 配置文件 配置方法参考 Spring 帮助 3 配置 IDStar 认证接口 vi opt wiscom config shibboleth config client properties 按 IDStar 的配置说明进行配置 4 配置 IDP Web 登录处理 编辑 IDP war 安装目录下面的 web xml 配置 GenericAuthHandler 的 Servlet 参数 authenticationProvider 把值设置为 wiscom idstarAuthenticationProvider 即认证处理采用 wiscom 自定 义的认证处理方式 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 10 3 1 5 配置配置 IdP 认证支持的认证支持的 SP 如果 SP 需要 IDP 的认证支持 IDP 必须配置他能提供认证服务的 SP 信 息 vi opt idp conf relying party xml 找到 MetadataProvider 那 注意修改各个 MetadataProvider 的 id backingFile 假设某通过 apache 模块工作的 SP 位于 http sp host 注 WAYF 服务提供了所有加入跨校身份认证的 IDP 和 SP 的 Metadata 信息 地址为 metadataURL 可以设置为 IDP 就支持 所有加入跨校认证的 SP 3 1 6 IDP 属性获取方式配置属性获取方式配置 IDP 的属性获取方式支持 LDAP 数据库等 也支持自定义方式 下面介 绍 LDAP 方式和自定义的 IDStar 认证系统方式 自定义方式的程序开发在接口开发章节详细介绍 3 1 6 1 LDAP 属性获取方式配置属性获取方式配置 vi opt idp conf attribute resolver xml 找到 取消注释 配置 LDAP 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 11 3 1 6 2 IDStar 用户属性获取方式配置用户属性获取方式配置 1 配置 IDP 属性获取参数 编辑 opt idp conf attribute resolver xml 注释掉其他的 resolver DataConnector 项 加入 2 配置 IDStar 属性获取服务 编辑 opt idp conf 加入下面的内容 3 1 7 IDP 属性安全配置属性安全配置 IDP 可以配置自身提供属性的访问策略 可以配置指定的 SP 所能访问 到的属性项目 下面说明全局属性配置和指定 SP 属性配置 属性安全配置文件 opt idp conf attribute filter xml 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 12 3 1 7 1 全局属性配置全局属性配置 全局属性配置是指 对于配置为全局的属性项 所有加入跨校身份认证 的 SP 都能访问到 编辑 opt idp conf attribute filter xml 添加策略 以上的配置项目表示对于属性 domainName inetUserStatus typeOf eduExtend 所有加入身份联盟的 SP 都可以访问 3 1 7 2 指定指定 SP 属性访问配置属性访问配置 指定属性配置是指 对单独的 SP 可以指定对 IDP 所提供的那些属性项 可以访问 编辑 opt idp conf attribute filter xml 添加策略 以上配置表示 对 SP shec wayf sp test 在 IDP 的 Metadata 中定 义 可以访问 cn uid mail sn 四个属性项目 3 1 8 注册注册 IDP IDP 安装成功以后 会自动生成 Metadata 文件 opt idp metadata idp metadata xml 注册到跨校认证 需要将此文件发送给 WAYF 注册 请把此文件提交给 WAYF 管理员 3 2 SP 安装配置指南安装配置指南 安装的操作系统版本 Linux redhat e5 使用 apache 模块方式安装使用 SP 3 2 1 基础组件安装基础组件安装 安装 SP 需要的基本组件 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 14 1 下载组件 curl O http shibboleth internet2 edu downloads shibboleth cppsp 2 0 RPMS i386 RHE 5 log4shib 1 0 1 i386 rpm O http shibboleth internet2 edu downloads shibboleth cppsp 2 0 RPMS i386 RHE 5 xerces c 2 8 0 1 i386 rpm O http shibboleth internet2 edu downloads shibboleth cppsp 2 0 RPMS i386 RHE 5 xml security c 1 4 0 1 i386 rpm O http shibboleth internet2 edu downloads shibboleth cppsp 2 0 RPMS i386 RHE 5 xmltooling 1 0 6 i386 rpm O http shibboleth internet2 edu downloads shibboleth cppsp 2 0 RPMS i386 RHE 5 opensaml 2 0 6 i386 rpm O http shibboleth internet2 edu downloads shibboleth cppsp 2 0 RPMS i386 RHE 5 shibboleth 2 0 6 i386 rpm 2 安装组件 rpm ivh log4shib 1 0 1 i386 rpm rpm ivh xerces c 2 8 0 1 i386 rpm rpm ivh xml security c 1 4 0 1 i386 rpm rpm ivh xmltooling 1 0 6 i386 rpm rpm ivh opensaml 2 0 6 i386 rpm rpm ivh shibboleth 2 0 6 i386 rpm 3 2 2 配置配置 Apache 修改 httpd 配置 vi etc httpd conf httpd conf 1 ServerName 必须设置 假设为 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 15 2 UseCanonicalName 改为 On 3 添加 mod shib 如果是 rpm 自动安装方式 已经有 etc httpd conf d shib conf LoadModule mod shib usr lib shibboleth mod shib 22 so Allow from all Alias shibboleth sp main css usr share doc shibboleth main css Alias shibboleth sp logo jpg usr share doc shibboleth logo jpg 4 配置受保护 需要认证 路径 AuthType shibboleth ShibRequireSession On require valid user 3 2 3 配置配置 SP 保护路径保护路径 经测试 这里设置的并不保险 最好还是设置在 httpd conf 里 vi etc shibboleth shibboleth2 xml 找到 后面的 Host name 跟 httpd 的 ServerName 一致 需认证的路径配置举例如下 更多设置参数见 http spaces internet2 edu display SHIB2 NativeSPProtectContent 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 16 3 2 4 配置此配置此 SP 使用使用 DS 加入支持的 WAYF 服务器 vi etc shibboleth shibboleth2 xml 找到 SessionInitiator 去掉 Location Login 项里的 isDefault true 改成 Location DS 项里的 isDefault true acsByIndex false 后一个是因为 SP 的 bug 并改 URL 地址 DS 地址 如下 3 2 5 配置此配置此 SP 支持的支持的 IdP 认证 必须 关键 认证 必须 关键 vi etc shibboleth shibboleth2 xml 在 内添加 IdP 的 Metadata 如 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 17 注 其中的 uri 可配置为 SP 就支持所有加入跨校认证的 IDP 服务 3 2 6 配置配置 SP 需要的属性需要的属性 SP 能否获得自己需要的用户属性 最终还是由 IDP 来控制 这些属性最终以环境变量的形式提供给 SP vi etc shibboleth attribute map xml 命名 name 和 id 要和 IdP 的 attribute resolver xml 对应 urn mace dir 是 SAML1String urn oid 是 SAML2String 如 上面的配置表示 SP 需要属性项 uid cn sn domainName mail inetUserStatus typeOf endextend 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 18 3 2 7 安装完成 重启安装完成 重启 shibd 服务和服务和 httpd 修改过以上配置文件后 必须重新启动 shibd 服务和 httpd 服务 httpd k restart service shibd start 3 2 8 注册注册 SP SP 安装成功以后 会自动生成 Metadata 文件 通过 URL http sp host Shibboleth sso Metadata 访问 注册到跨校认证 需要将此文件发送给 WAYF 注册 请把此文件提交给 WAYF 管理员 3 2 9 反向代理集成应用反向代理集成应用 可以通过反向代理集成其他应用 在 httpd conf 中设置 AuthType shibboleth ShibRequireSession On ShibUseHeaders On require valid user ProxyPass http app1 8080 meta 以上配置表示对于目录 meta 的所有访问需要登录 用户登录成功后由 apache 反向代理到 app1 的 8080 端口 web 服务 该服务可以通过 http 的请 求头读取用户的属性 3 2 10 登出登出 SP 用户登录后可以使用链接 http sp host Shibboleth sso Logout 登出该 SP 系统 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 20 跨校身份认证 IDP 和 SP 安装开发指南 版权所有 C 江苏金智教育信息技术有限公司 保留所有权利 21 4 开发接口开发接口 Shibboleth 本身对于认证和属性获取提供的接口有限 为了能更为方面 的和第三方身份认证系统集成 金智对 Shibboleth 做了相应的扩展 提供 两个简单的接口来完成身份认证和属性获取的自定义支持 两个接口都是做为 IDP 的扩展组件 4 1 IDP Server 身份认证接口身份认证接口 提供用户校验服务 实现以下接口即可 package com wiscom shibboleth idp authn provider import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse public interface IAuthenticationProvider public String check HttpServletRequest request HttpServletResponse response pub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年服装制版师、设计师技术及理论知识试题(附含答案)
- 2025全国政府采购法律法规百题知识竞赛试题及答案
- 摩擦力的秘密
- 摩托车行业知识培训课件
- 2024年细胞因子培训测试题及答案
- 2025年贵州省医疗三严三基理论考试试题及答案
- (2024)农民工权益保障考试试题及答案
- 2025二级建造师(机电类)继续教育试题及答案
- 摔鸡蛋课件教学课件
- 2025至2030年中国铝合金门窗市场竞争格局及行业投资前景预测报告
- 校园反霸凌教育课件
- 全国卫生健康系统职业技能竞赛(传染病防治监督)参考试题库(含答案)
- 烟草专卖知识培训课件
- 北师大版四年级数学下册第六单元 2栽蒜苗(一) 同步练习(含答案)
- 采伐作业安全课件
- 1-12年级(3500个)核心高频英语单词表
- 2024年统编版七年级道德与法制上册全册教案汇编(含26个教案)
- 装配式建筑预制构件安装施工方案计划
- 2025年胸腔穿刺操作精讲
- 油田水泥封堵施工方案
- 合同制合同范例
评论
0/150
提交评论