APP下载

数字图书馆移动身份认证系统研究与实践

2018-11-14王军辉石艳明谭宗颖

图书馆理论与实践 2018年10期
关键词:单点身份商业

王军辉,钱 庆,周 琴,钟 明,石艳明,谭宗颖

(1.中国科学院文献情报中心;2.中国科学院大学;3.中国医学科学院医学信息研究所)

1 引言

中国互联网络信息中心第41次《中国互联网络发展状况统计报告》显示,截至2017年12月,中国手机网民数量达7.53亿人,[1]占网民总数的97.5%。在图书馆尤其是数字图书馆领域,借助新媒体手段为读者提供服务正逐渐成为常态。新媒体使得读者可以利用手机及各种移动终端随时随地获得图书馆的服务,在时间和空间上大大拓展了图书馆的服务范围。然而,随之而来的一个问题是,如何支持读者通过移动终端访问图书馆需要授权许可的资源,尤其是图书馆购买的各种在线商业数据库资源。虚拟专用网络(VirtualPrivateNetwork,VPN)和各种代理工具等传统的突破物理IP范围限制的远程访问方式,在移动互联网环境下有诸多缺陷和不足,已不能满足新媒体时代图书馆的服务需求。因此,图书馆需要提供移动身份认证机制,以支持读者可以在任何时间、任何地点、任何移动终端访问图书馆的所有资源。本文在对当前面向图书馆领域的移动身份认证产品对比分析的基础上,以中国医学科学院/北京协和医学院图书馆(以下简称“医科院图书馆”)“协和统一身份认证”系统为例,尝试探讨图书馆移动身份认证系统的建设实践。

2 图书馆移动身份认证功能需求分析

出于知识产权保护和合理使用的原因,图书馆(尤其是高校图书馆)订购的商业数据库资源以及部分自建数据库资源只允许读者在图书馆(或学校)IP范围内访问。为了突破IP限制,传统的做法是利用VPN或各种代理技术,帮助合法用户获得图书馆各类数据库资源的访问权限。其中,VPN的主要原理是通过在公用网络中建立专用网络,利用数据包加密和目标地址转换来实现远程访问;经典的代理服务器技术(Proxy Server)则主要是利用代理服务器将IP范围外用户的访问请求转换为合法的访问请求,并将返回信息传递给用户。目前,被国内外图书馆广泛采用的各类代理软件(EZproxy、汇文电子资源读者远程访问系统、易瑞授权访问系统等)则主要基于“URL重写”技术,利用预先配置完成的资源目标和代理服务器之间的映射关系,将用户请求转向代理服务器的请求。本质上,上述方式都是将IP许可范围以外的用户访问转换为IP许可范围以内,实现用户对目标数据库访问地址的相对转换,即“IP转换”,从而支持用户获得受保护资源的访问权限。IP转换方式目前在图书馆领域应用广泛,但在移动互联网环境下存在以下缺陷。[2,3]

(1)移动访问兼容性差。读者利用VPN或代理技术远程访问图书馆资源时通常需要在本地安装客户端软件,随着技术升级,部分方式(如SSL VPN、代理软件等)不再要求安装客户端,但仍须在本地浏览器中安装特定的控件或插件。这种控件或插件的安装对许多用户来说操作复杂,且难以兼容各种版本的操作系统和浏览器,尤其是读者通过移动终端进行访问时,系统兼容性更差。另外,出于安全性考虑,许多VPN技术或代理软件都要求用户配合特定的USBKey进行双重认证后访问,而手机及各类移动终端一般并不提供USB数据接口。

(2)发现系统支持不足。利用基于统一元数据仓储(本地和云端)的发现系统向读者提供一站式集成检索服务,已成为专业和高校图书馆的服务常态。读者通过发现系统获得的资源可能来自图书馆本地或订购的在线数据库中的任意来源,而基于URL重写的代理软件只能针对每个数据库分别配置转换地址,读者必须逐一通过转换后的地址才能获得相应数据库的访问权限,无法利用发现系统的返回结果单点登录直接获得所有数据来源的访问权限。另外,部分不支持URL重写的数据库无法通过代理软件访问。

(3)用户信息难以集成。理想状态下,读者可以利用已有的账户信息直接登录远程访问系统进而获取相应资源的访问权限。而在实际应用时,无论是利用VPN还是代理软件,图书馆都必须要为读者创建专门的用户名和密码信息,尽管可以和图书馆已有的用户账户信息(如学生证号、读者卡号等)进行集成,但都需要进行专门的定制开发,技术难度较大。

基于上述分析,笔者认为,移动互联网环境下图书馆的移动身份认证系统至少应满足以下4个方面的基本要求:① 支持读者利用各类移动终端友好访问图书馆受保护的资源;② 支持读者通过发现系统无缝访问各个数据的资源;③ 支持读者对图书馆本地资源和订购的商业资源的单点登录访问;④ 支持读者利用已有账户信息直接登录访问。区别于“IP转换”的技术路径,以 Shibboleth[4]和 OpenAthens[5]为代表的“ID认证”技术完全摆脱了IP认证的理念,支持用户通过账号直接访问商业性学术资源。与传统的由数据库服务商各自管理用户账户不同,“ID认证”方式支持由图书馆在本地管理和维护自身的用户账户数据。配合特定的本地化策略,ID认证方式可以很好地满足移动互联网环境下图书馆远程访问的基本需求。

3 图书馆移动身份认证产品分析比较

3.1 Shibboleth

Shibboleth是目前全球范围内应用最广泛的联邦式身份认证解决方案之一,它起源于2000年美国Internet2组织[6]的一个网络中间件项目,在和结构化信息标准促进组织(OrganizationfortheAdvancementofStructuredInformationStandards,OASIS)的安全声明标记语言(SecurityAssertionMarkupLanguage,SAML)工作组合作之后,Internet2于2003年发布了Shibboleth1.0版本,并迅速被教育和科研领域广泛采用。目前,Shibboleth已从Internet2分离出来,由 Shibboleth联盟(ShibbolethConsortium)独立运营,现在的系统为2008年发布的Shibboleth2.0版本。

作为一个开源软件系统,Shibboleth主要由身份提供者 (Identity Provider,IdP)、服务提供者 (Service Provider,SP)和可选的发现服务(Discovery System,DS)三部分构成。其中,IdP组件需要安装部署在图书馆内部,主要负责读者信息管理和身份认证。当收到SP发来的读者认证请求时,IdP负责将认证结果反馈给SP。SP组件由数据库服务商部署在数据库服务器端(图书馆也可以在本地同时安装SP,从而为自建数据库资源提供Shibboleth访问服务),主要根据IdP反馈的读者认证信息对读者进行访问权限验证和控制,为合法用户提供访问授权的同时保护自身受限资源。DS组件的主要作用是在SP不能直接确定读者所属IdP时,通过和读者的交互来辅助确定读者所属的IdP,即WAYF(WhereAreYouFrom)服务。DS组件一般由数据库服务商或IdP所加入的认证联盟根据自身情况选择部署。上述各个组件之间通过SAML协议实现用户认证信息和资源访问权限等相关信息的传递和共享。

传统概念中的单点登录系统一般只适用于在同一个机构内部的情况,即实现对机构内部所有相关资源的一次性登录访问。由于采用了SAML协议框架,Shibboleth可以实现IdP和SP不在同一个机构时的单点登录,即所谓的联邦式单点登录。Shibboleth最突出的特点就在于其支持用户单点登录访问外部服务的同时还能保护用户的账号信息安全。通过部署Shibboleth系统(一般是IdP组件),图书馆可以很容易实现读者对订购的在线商业数据库资源(SP)的单点登录访问,且所有读者的账户信息均由图书馆本地管理和维护。读者基于Shibboleth访问图书馆订购的商业数据库的流程(见图1,未涉及DS)可归纳为6个步骤:① 读者访问图书馆所订购的在线商业性数据库资源;② 商业数据库SP向读者访问资源所在的图书馆IdP发送验证读者身份合法性的请求;③ 图书馆IdP将验证请求返回给读者;④ 读者在IdP中输入账号信息进行身份验证;⑤ IdP将验证结果发送给商业数据库SP;⑥ 商业数据库SP将资源访问权限向通过验证的读者开放。

图1 Shibboleth访问流程

3.2 OpenAthens

OpenAthens的前身为英国Eduserv公司于20世纪90年代开发设计的用于提供单点登录服务的身份和访问管理软件Athens系统。Athens最初采用集中认证方式,[7]即所有使用Athens来访问商业数据库资源的机构都要将其自身用户的认证信息集中存放在Athens用户库中,由Eduserv统一管理维护。首先,Athens会和各个数据库服务商达成协议,生成针对每个数据库的访问权限列表;然后,购买了数据库的机构需要在Athens中注册生成机构用户账号,并提交所购买的具体数据库的访问权限。这样机构用户就可以利用A-thens账号直接访问自身权限范围内的所有数据库资源,而不受IP范围限制。随着技术的发展,Athens一直在向着更开放、更标准化的方向优化,并逐渐由集中认证方式向联邦式认证方式转变。2007年,Eduserv将SAML标准整合并嵌入在了Athens中,更名为OpenAthens。目前,OpenAthens可以同时支持集中认证和联邦式认证。

由于都是基于SAML框架,和Shibboleth系统的IdP和SP组件相对应,OpenAthens系统同样提供Open Athens LA(Local Authentication) 和 OpenAthens for Publisher两个版本的软件产品,分别供图书馆和数据库服务商安装使用。因此,理论上OpenAthens联邦式认证的具体流程和前述的Shibboleth访问流程是完全相同的。OpenAthens和Shibboleth的主要区别在于OpenAthens还保留集中认证模式,即不仅支持图书馆在本地通过OpenAthens LA管理和存储自身读者信息,也支持图书馆在不安装OpenAthens LA的情况下将其读者信息保存在OpenAthens Cloud中,由OpenAthens统一管理。图书馆可以根据自身情况选择不同的方案。读者通过OpenAthens集中认证方式访问图书馆订购的商业数据库时,利用自身账户信息登录OpenA-thens门户,可以在MyAthens界面直接访问有相应权限的商业数据库资源(见图2)。

OpenAthens的主要优势在于其实现图书馆身份认证方案的便捷性。在Shibboleth体系中,Shibboleth IdP的图书馆需要逐一与所订购的商业数据库(SP)进行技术对接和互认,之后读者才能对所有接入的数据库实现联邦式的单点登录访问,具体的接入过程比较繁琐,需要一定的时间周期。而在OpenAthens体系中,由于OpenAthens Cloud和OpenAthens Federation的存在,OpenAthens可以对所有接入的商业数据库进行集中接入管理,图书馆只需配置一次OpenAthens就能实现和自身购买的所有商业数据库的连接互认,不需要再分别接入,可以节省时间和IT资源成本。这也是OpenAthens成为一个商业产品、而非开源软件的主要原因。

图2 OpenAthens集中认证流程

3.3 UMT

中国科学院计算机网络信息中心自主开发的用户管理工具(User Management Tool,UMT)是一套具有用户管理和单点登录统一身份认证功能的软件系统。基于UMT部署实现的中国科技云通行证主要服务于中国科学院系统的科研人员。截至2017年底,中国科技云通行证注册用户已超过54万人,覆盖了中国科学院95%以上的研究院所,成为中国科学院科研管理方面的重要基础设施。借助中国科技云通行证的实践经验,根据最新的技术发展趋势,中国科学院计算机网络信息中心对UMT进行了持续的研发升级,从2006年的UMT1.0发展到目前最新版本UMT8.1.9,从最初仅支持OAuth认证接入,到现在支持包括OAuth2.0、SAML2.0、轻量目录访问协议(Lightweight Directory Access Protocol,LDAP)、活动目录联合服务(Active Directory Federation Services,ADFS) 等在内的多种认证接入方式。

2016年针对SAML的技术升级之后,UMT实现了对Shibboleth IdP组件的集成,因此可视之为在图书馆本地部署的IdP系统。区别于Shibboleth IdP和OpenAthens LA,UMT满足了图书馆移动身份认证的需求。

(1) 支持 SAML2.0和 OAuth2.0认证互通。在UMT的体系框架中,一方面主要基于SAML2.0实现和国外商业数据库(SP)的认证接入,尤其是在中国科技云通行证基础之上逐步发展起来的中国科技云联盟(CSTCloud Federation)已经实现与国外主要商业数据库的认证接入;另一方面,基于OAuth2.0实现和国内尤其是图书馆本地数据库或应用系统的对接,弥补了目前国内绝大多数图书馆的自建数据库均不支持SAML的缺陷。更为重要的是,UMT实现了SAML2.0和OAuth2.0认证互通,从而有效解决了图书馆本地资源和在线商业数据库资源的单点登录问题。

(2)支持移动客户端接入。UMT针对第三方的移动客户端应用提供了专门的网络接入方案(包括Andorid和iOS等移动平台),支持读者使用UMT中的账号直接登录,避免了读者重复注册的繁琐流程,提升了用户体验,对图书馆移动业务的开展具有重要意义。另外,UMT针对各种类型的接入(OAuth、SAML、LDAP、网站、移动客户端、桌面客户端等)都提供了专门的技术文档,使其成为简单、实用、集成的图书馆移动身份认证解决方案。

3.4 分析比较

上述三种身份认证解决方案都可以实现用户利用ID账号对接入数据库的单点登录和移动访问,因此理论上它们是可以相互替代的。但是考虑到不同图书馆在资源构成、读者访问需求、技术能力等各方面的差异,在具体选择移动身份认证方案时,除了费用这一前提因素之外,还应从本地化成本和商业数据库覆盖范围两个方面重点分析(见下表)。

表 移动身份认证解决方案比较

图书馆移动身份认证系统的本地化主要涉及两个方面:图书馆已有用户认证数据的复用和自建数据库资源的接入。为了提升用户体验,避免产生额外账号,移动身份认证系统必须支持读者利用已有的图书馆账号登录,上述三种方案均支持通过多种途径来集成本地用户目录,如,可通过LDAP、ADFS接入或基于API调用图书证号、邮箱账号、学生证号等,甚至可以基于SAML或OAuth来对接已有的统一认证管理系统。用户数据本地化成本主要取决于已有用户管理系统的改造难度。在对接图书馆自建数据库方面,Shibboleth和OpenAthens的思路基本相同,即通过在本地部署SP组件实现自建数据库的“Shibboleth化”或“OpenAthens化”,这种方式涉及到对自建数据库的改造和升级,实现过程复杂,对图书馆技术能力要求较高,而无法进行适应性改造的部分数据库则只能通过传统代理方式来实现。UMT主要基于OAuth2.0实现对本地数据库的集成,虽然也需要对数据库进行相应技术改造,但相对比较容易实现。

商业数据库的覆盖范围是选择移动身份认证方案的另一个重要因素。目前,大多数国际上著名的商业数据库和高校、图书馆联盟等机构均同时支持Shibboleth和OpenAthens。由于实现了对Shibboleth IdP的集成,UMT也可以接入所有支持Shibboleth的商业数据库。然而调研发现,国内三大中文数据库(维普、万方、中国知网)目前均不支持Shibboleth和OpenA-thens访问,但均支持通过QQ或微博账号的OAuth2.0访问,具备了支持UMT访问的技术基础。在用户方面,Shibboleth和OpenAthens已被国外许多图书馆广泛采用,而在国内,Shibboleth主要应用于以中国高等教育文献保障系统(China Academic Libraryamp;Information System,CALIS)为主导的CALIS-CARSI服务项目[3,8]中,OpenAthens只被个别图书馆采用,UMT则主要在中国科学院系统内使用。

4 中国医学科学院/北京协和医学院图书馆移动身份认证系统建设实践

4.1 需求分析

医科院图书馆是国家级医学信息资源保障与服务中心和国家科技图书文献中心(NSTL)医学分中心,兼有高校和科研院所图书馆两种职能,不仅服务于北京协和医学院 (Peking Union Medical College,PUMC)在校师生,还要保障中国医学科学院下属18个二级科研院所科研人员的文献服务需求。除了订购的百余种国内外医药卫生领域的网络数据库资源,医科院图书馆经过多年积累还陆续研发了中国生物医学文献数据库(CBM)、中国生物医学文献服务系统(SinoMed)、中国卫生政策研究门户等一系列自建特色资源库,另外,集医药资讯、文献服务、参考咨询等服务于一体的医学知识服务APP“医讯通”也正在开发过程中。医科院图书馆原有的电子资源远程访问主要是利用采购的易瑞授权访问系统来实现,如前所述这种软件代理的方式已不能满足全体师生和科研人员对图书馆自建和订购数据库的移动访问需求,因此亟需搭建移动身份认证系统。

4.2 系统搭建与本地化集成

通过对上述三种移动身份认证产品的对比分析,综合考虑自身的资源构成、读者访问需求、技术能力以及实现周期等各方面因素,医科院图书馆决定采用UMT来部署实现医科院系统的移动身份认证系统,即“协和统一身份认证”。首先,按照系统部署要求分别安装UMT主程序及其所集成的Shibboleth IdP组件程序,同时还包括用于Web转发的Nginx服务器、用于缓存加速的Memcche服务器以及保存用户信息的数据库系统的安装。其次,在本地用户数据集成方面,考虑到电子邮箱对于在校师生和科研人员的重要性,决定采取API调用的方式对接中国医学科学院的邮箱系统,通过在中国医学科学院的邮箱管理系统(CoreMail)和UMT系统相互添加对方的内网IP及端口来完成API设置,这样拥有中国医学科学院官方邮箱账户的师生和科研人员就可以直接登录协和统一身份认证系统来访问资源。需要说明的是,UMT目前只能通过API对接一个邮箱系统,对于多个邮箱系统的情况,可通过两种途径解决:① 拥有其他邮箱账号的用户利用自身账号在UMT系统进行注册成为合法用户;② 对UMT进行相应的二次开发改造以支持通过API对接多个邮箱系统的需求。

4.3 数据库接入与联盟选择

UMT本地配置完成之后,“协和统一身份认证”系统作为一个IdP已经具备了和商业数据库对接的全部技术条件。由于采用的是Shibboleth的技术路径,因此PUMC需要逐一对接图书馆采购的国外商业数据库(SP)。根据自身技术架构或对客户信任程度的不同,国外数据库接入IdP时一般有两种方式:一种是将自身SP直接对接客户的IdP(如ProQuest、Springer),另一种是要求客户通过某一个身份认证联盟接入(如Clarivate、Ovid)。

针对第一种方式,PUMC直接将基于SAML的自身IdP元数据提交给商业数据库,而商业数据库则将自身的SP元数据反馈给PUMC,双方互相根据对方元数据信息配置成功后即完成认证接入。针对第二种方式,PUMC需要首先选择加入一个身份认证联盟。调研发现,目前国内支持Shibboleth认证接入的联盟有:中国科技云联盟(CSTCloud Federation)和北京大学发起的教育科研网统一认证和资源共享基础设施(CERNET Authentication and Resource Sharing Infrastructure,CARSI)。[8]其中,CARSI通过和 CALIS 合作,实现了和CALIS统一认证的对接,同时作为一个Shibboleth认证联盟,CARSI还部署了DS服务,并对Shibboleth IdP组件进行了改造,以方便各高校在本地部署。[3]由于部署的是UMT系统,为快速实现通过认证联盟接入国外商业数据库的目标,PUMC最终选择了和UMT兼容性更高的中国科技云联盟进行接入。

需要说明的是,由于图书馆信息技术部门一般并不了解商业数据库的具体采购情况,需要资源采购部门的同事协助联系商业数据库的国内销售人员,并经由商业数据库的国内销售人员联系他们的国外技术人员。另外,认证联盟接入时,还需要协调联盟技术人员完成IdP和联盟的对接以及联盟和数据库的对接。因此,在具体对接过程中,可能会涉及到图书馆信息技术部门、图书馆资源采购部门、商业数据库国内销售人员、商业数据库国外技术人员和认证联盟技术人员等多方人员。具体接入实现周期主要取决于各方人员的沟通效率和数据库国外技术人员的响应速度。

4.4 效果演示

目前,“协和统一身份认证”系统已经实现了和医科院图书馆订购的部分国外商业数据库的对接,包括 Clarivate、Nature、Ovid、ProQuest、Springer等。北京协和医学院师生和中国医学科学院系统的科研人员可以利用邮箱账号直接访问上述订购资源。另外,针对自建数据库(SinoMed)适应OAuth2.0的技术改造也正在进行中,以便使其支持“协和统一身份认证”系统的移动访问(见图3)。

图3 “协和统一身份认证”系统整体架构

5 结语

移动身份认证系统可以支持读者在任何时间、任何地点、通过各种终端访问图书馆的所有资源,是数字图书馆适应信息技术发展需求、开展面向移动互联网服务的前提和基础。本文以医科院图书馆的移动身份认证系统“协和统一身份认证”为例,探讨数字图书馆移动身份认证系统的建设实践,以期为国内其他图书馆的相关工作提供参考。后续工作主要包括:①继续接入图书馆订购的国外数据库,不断扩大认证系统的数据库覆盖范围;② 将“协和统一身份认证”嵌入正在开发中的医学知识服务APP“医讯通”,提升医科院图书馆面向移动互联网的知识服务能力;③面向中国医学科学院所有二级科研院所,开展针对协和统一身份认证的使用培训与推广。

猜你喜欢

单点身份商业
小型商业建筑设计
《商业经济》征稿通知
Megapark商业综合体
历元间载波相位差分的GPS/BDS精密单点测速算法
跟踪导练(三)(5)
妈妈的N种身份
身份案(下)
数字电视地面传输用单频网与单点发射的效果比较
企业信息门户单点登录方案设计
商业遥感已到瓜熟蒂落时?