APP下载

面向农业信息服务的单点登录技术研究与改进

2016-02-24吴定峰刘建平

计算机技术与发展 2016年5期
关键词:单点测试农业

王 剑,吴定峰,阚 京,赵 华,刘建平

(1.中国农业科学院 农业信息研究所,北京 100081;2.北京工业大学 计算机学院,北京 100022)

面向农业信息服务的单点登录技术研究与改进

王 剑1,吴定峰1,阚 京2,赵 华1,刘建平1

(1.中国农业科学院 农业信息研究所,北京 100081;2.北京工业大学 计算机学院,北京 100022)

针对农业信息服务平台中多个应用系统在资源整合和联合服务过程中统一认证、统一授权和单点登录的需求,文中提出了一种基于OAuth2.0和OpenID的单点登录技术。该技术主体的框架能够与现有的CAS框架相结合,并采用一种非侵入的方式整合多个农业信息服务应用平台中的登录功能模块,最大限度地减少了对原有应用平台代码的修改。同时,这种单点登录技术框架还通过对细粒度控制框架和APR技术方案的应用,对现有的基于CAS框架下的用户权限管理及其HTTPS访问方式进行了改进。测试结果表明,该单点登录技术所构建的服务系统总体性能稳定,整体框架设计合理,能够满足农业信息服务平台的应用需求。

单点登录;权限管理;访问控制;CAS;农业数据服务;OAuth2.0;OpenID

1 概 述

全球性的经济增长并没有解决人类所面临的贫穷与饥饿的问题,相反脆弱的农业生产体系在人口不断膨胀中越发显得不堪重负,由此催生了对以信息技术、生物技术为代表的现代农业科技的巨大需求。现代农业科技的发展离不开农业科技信息的支撑,离不开农业信息服务与数据共享系统的支持。然而尽管目前我国拥有大量的农业信息以及规模庞大的信息和数据管理系统,但是不同农业信息服务部门的应用系统之间,乃至同一部门的不同系统之间,由于技术策略、安全标准以及软硬件平台的差异,导致这些系统中的农业信息资源不能有效地共享和整合,且这些信息和数据管理系统由于开发环境不规范、技术文档缺失等原因,基本上不能通过统一和标准化的改进与升级来满足信息资源共享和整合的需求。这样就造成各个涉农信息和数据管理系统间信息整合受限的瓶颈,严重影响了农业信息服务的效果,造成农业信息资源分布不均衡、信息配置效率低下等一系列问题[1],无法满足现代农业科技发展所必须的海量和标准统一的信息和数据共享的需求。

单点登录技术(Single Sign-On,SSO)是一种目前最为流行的对用户进行统一登录、管理的解决方案[2]。该技术能够支持多系统用户的集中管理,实现多个系统之间的整合与跳转[3]。随着信息技术与网络技术的不断进步,以单点登录技术为基础的异构信息系统整合不断发展和完善,陆续出现了多种较为成熟的实现方案[4]。

耶鲁大学的CAS(Central Authentication Server)系统是其中最有代表性的系统之一[5]。其技术实质是在一个安全区域内验证多个服务或资源,并形成统一和规格化的验证证书以供多个系统之间的验证[6]。这一技术的应用早期主要是针对图书馆等公益性服务部门[2],逐渐扩展到工业[7]、医疗[8]、电子商务[6]、社交媒体[9]、农业技术推广[1]、农业信息服务[10]等诸多国民经济和科学研究和应用领域。每一领域都根据其不同的应用需求,提出了各自的解决方案。骆嘉伟等[8]应用中央认证服务和MyBatis技术在区域卫生服务信息平台上实现了面向多个应用系统的单点登录服务,并在服务器端引用了MyBatis技术来展示各个子系统的运行信息,同时还采用了Axis2技术对多个子系统中的数据进行信息同步,最终在技术层面上实现了整个系统中统一权限分配,统一平台样式风格以及统一的会员用户管理等一系列功能,且运行稳定,整体框架设计合理,取得了较好的应用效果。徐识溥等[1]针对上海都市农业和社会主义新农村建设的实际需求,在现有农业技术综合知识库的基础上,以MVC框架为技术支撑,结合HTTPS协议,设计并开发了一套基于HTTPS的单点登录系统。该系统充分利用SSL技术中相关握手的原理,获取并解析用户表单信息,将耦合相对较低的多个已有知识系统进行整合,且整合过程中对原有系统的代码不做或少做修改,实现了多个系统之间的无缝链接,取得了很好的应用效果。

然而目前已有的单点登录系统尽管均有一定的应用背景,所用技术与其应用对象也较为切合,但各系统中的内容和表现形式上各有不同,技术各异,并没有一个通用的组织架构。现有方案都无法适用于农业信息服务平台这种信息学科跨度大、使用人数众多的应用系统。因此,对于农业信息服务平台来说,应用CAS系统实现单点登录所面临的挑战主要包含3个方面:

(1)不同用户权限的管理问题,即对不同身份和跨系统注册的用户赋予或更改权限过程中所面临的系统管理方面的问题;

(2)CAS应用过程中的HTTPS访问方式性能不高的问题,即HTTPS安全性与实际用户对于系统响应时间不断提升的需求之间不匹配的问题;

(3)旧有系统升级更新困难的问题,即原有老旧系统由于设计和代码说明文件缺失或不规范所造成的系统改造困难的问题。

文中针对农业信息服务系统间信息交流和共享途径不畅,服务整合性差等问题,应用基于OAuth2.0及OpenID技术的CAS框架构建了面向农业信息服务的单点登录系统,并根据当前服务所面临的问题,应用细粒度控制框架和APR技术方案,对单点登录系统中用户权限管理和HTTPS访问方式进行了改进。同时,OpenID技术的应用能够以一种非侵入式的方式实现单点登录,避免了对原有系统的改造和更新。该系统的应用能够有效地提高农业信息服务用户的使用体验,降低信息服务的操作复杂度,减少系统管理和维护费用,促进农业信息资源的整合和共享。

2 系统架构

文中的设计目标是基于国家农业科学数据共享平台中6个已经正式运营的服务系统,包括热带作物科学数据服务系统、作物科学数据服务系统、草业科学数据服务系统、渔业科学数据服务系统、动物科学数据服务系统、区划科学数据服务系统。在这些服务系统的基础上,应用基于OAuth2.0及OpenID技术CAS中央认证服务框架,并结合细粒度控制模型和ARP技术来实现数据共享平台的单点登录服务。系统内部模块可划分为用户管理、权限管理、身份管理、登录管理、注册管理和系统管理共6个模块。系统的整体架构如图1所示。

图1 系统整体架构

在系统搭建过程中,所有需要支持单点登录的网站均需要在入口程序加入基于OAuth2.0的验证代码,且在后台的数据库中需要增加对OpenID的绑定选项。当用户进行登录操作时,系统通过OAuth2.0截取并分析访问服务的请求,根据请求的类型授予相应的OpenID凭证,并以此调用相应的服务模块进行处理,引导登录组件与系统服务模块之间的协作,进而传递OpenID凭证来构造登录请求,最终实现了用户的登录。

整个系统的基本操作流程如下:

(1)网站访问者进入其中的一个数据共享服务系统A.Domain.com时,他将以访客身份向A.Domain.com提交注册请求;

(2)A.Domain.com将注册请求发送到用户中心User.Domain.com;

(3)注册完成后在User.Domain.com产生Domain.com域下的Cookies和与其对应的服务器Session,随后跳转回A.Domain.com的授权页面,让用户将在User.Domain.com注册的用户授权给A.Domain.com,A.Domain.com将该账户写入到服务器数据表中的旧用户表的相关项中;

(4)跳转回A.Domain.com之后依据存在的Cookies,用户已经登录;

(5)用户以未授权用户的身份访问另一数据共享服务系统B.Domain.com时,将用户导向至B.Domain.com的OAuth授权页面进行授权,授权完成后即为登录状态;

(6)在用户访问已授权的第三个服务系统C.Domain.com时,依据已经存在的Cookies,用户无需再次登录。

由此,用户从一个数据共享服务系统进行注册或登录操作后,即可获取所有的系统的会员授权资格。

这种面向农业信息服务中的单点登录系统的主要特点如下:

(1)实现了用户信息的统一管理和集中存储,且原有农业信息服务平台中的老用户也能通过系统所提供的接口,将其身份进行登记和无缝升级,获得所有平台访问权限,减少了多次注册所带来的操作成本和安全隐患,保证了用户信息的安全性和唯一性,提高了用户访问效率。

(2)OpenID技术的使用能够提供更加安全稳定的身份认证方法和凭证传输路径,极大地增强了系统资源的安全性,并保障了用户个人信息不被篡改和泄露。

(3)细粒度控制框架的应用能够提供权限管理的接口,系统的管理人员能够统一地对用户权限进行配置,在方便了管理的同时,也确保了用户在各个服务平台中所拥有权限的准确性。

(4)针对APR技术的应用能够极大地提高系统访问的效率,降低服务延时和系统复杂度,增强使用的体验水平。

(5)通过对数据进行ASE-128的加密,能够更好地降低安全隐患,保证数据的安全性和可靠性。

(6)能够更好地适应农业信息服务的需求,提高多个数据共享平台间的协作水平,增强农业数据资源的整合力度,避免了繁琐的用户操作过程,增强了信息服务品质。

(7)能够提供大量的标准接口,确保了系统的可扩展性,使整个信息服务平台与农业信息化水平保持同步发展。

5.80%的EGR率时文丘里管流动状态见图4,由图4可知:管道内压力分布总体梯度明显,过渡平和,空气从文丘里管进口流入喉口段时,压力由0.135 6 MPa降至0.125 MPa,降低了0.010 6 MPa,废气压力是0.125 7 MPa,使得其与进气两者之间存在压力梯度,保证废气的流入。由图4b)可知:气流由压缩段向喉口段流动时,压力减小,流速慢慢加大,当流至喉口部位时达到最大,而后气流流向扩压段,流速慢慢减小,压力逐渐增加。

3 权限获取服务的改进

对于农业数据服务来说,用户的授权是保障系统和资源安全的重要组成部分,其基本任务是判断用户是否具有操作访问当前系统的权限。传统的基于CAS技术的单点登录模型中,CAS技术只提供针对用户身份识别的功能,即判断用户能否访问系统,而对用户针对不同子系统的访问权限控制方面则没有提供相应的支持[11]。在农业信息服务过程中,由于各个服务系统的安全等级存在一定差异,不同用户所具有的权限,其能够访问的资源也是不同的。这种情况下,如果单点登录系统不具有权限控制管理的功能,那么信息服务系统中的所有资源就会无差别地向所有进行单点登录的用户开放,这样会使系统资源的安全性遭到极大的损害。因此,对于面向农业信息服务的单点登录系统来说,用户的权限管理是一个必须解决的问题。

针对CAS框架下的单点登录系统的用户权限管理问题,目前应用比较广泛的解决方案是一种基于粗粒度控制的用户权限管理技术,其基本原理是在CAS服务器中添加权限管理模块(CAS-AM)来实现对用户的访问权限的控制[9]。这种权限管理模块将不同的用户角色映射到不同的权限中去,当用户进行单点登录时,CAS服务器不但要校验用户的身份,而且还会将用户的身份标识发送到CAS-AM进行进一步验证来判断其具有的权限,只有身份标识合法、权限验证通过的用户才能进入系统。然而这种基于粗粒度技术的解决方案,由于权限管理模块内置于CAS服务器端,因此权限控制仅限于系统级别,即CAS仅控制用户能够进入哪些服务系统,而对于系统内部资源的访问权限控制则无能为力。这样就造成了用户的权限管理过于粗糙,无法适应农业信息服务的需求。

针对上述解决方案的缺陷,文中系统采用基于细粒度技术的权限管理的解决方案。该方案通过在CAS客户端集成Spring Security框架,并应用Spring Security框架中的认证管理器、访问权限管理器,实现CAS对用户访问权限的控制的细化。

用户权限验证流程如图2所示。

(1)当用户在客户端访问一个受保护的数据资源时,CAS客户端将会拦截对用户的请求;

(2)Spring Security框架将会调用认证管理器判断用户身份是否已经通过验证;

图2 系统权限验证流程图

(3)如果身份验证没有通过,认证管理器将会把请求发送到CAS服务器端进行处理;

(4)通过身份验证的用户,该请求将会发送给访问权限管理器进行权限验证;

(5)当权限验证没有通过时,则系统显示访问拒绝的页面;

(6)如果权限验证通过,认证管理器则将请求发送给后台数据库调取相应的数据资源。

文中这种基于细粒度技术的权限管理方案,能够有效地解决基于粗粒度技术的权限管理方案的缺陷,使权限的管理更加灵活、方便,增强了信息服务系统中数据资源的安全性。

4 高性能安全连接的优化方案

在传统的基于CAS框架的单点登录系统中,为了保障用户账号密码的安全性,CAS系统提供了基于HTTPS(互联网安全传输协议)访问方式。相比HTTP访问协议,这种访问方式通过添加SSL安全套接层的方式,对客户端的请求进行加密,这样有效地避免了用户信息以明文方式进行传输所带来的风险,确保了传输过程的安全性。然而在实际应用过程中,由于HTTPS访问方式需要在SSL安全套接层上进行SLL握手协议和传输数据的加密和解密[12-13],这样就导致数据传输效率的下降。文献[9]所做的实验证明,相比HTTP,HTTPS传输所消耗的时间要多出30%~40%。由此可见,这种传输效率的低效,极大地影响了单点登录系统服务器的并发性,降低了用户的使用体验。

针对上述问题,文中的单点登录系统采用了基于APR技术的解决方案来改进CAS服务器在传输系统上的缺陷。APR(Apache Portable Runtime)技术是Tomcat所提供的一种组件技术,其本质是一个高可移植库[14]。APR技术具有多种用途,包括本地进程管理(如NT管道管理、设置共享内存等)、IO访问功能(如针对OpenSSL、sendfile等协议的支持)、随机数生成以及状态监控等。APR技术所具有的这些功能能够有效地使CAS服务器集成本地的其他Web技术,提高Java的运行效率,进而提升CAS服务器的性能。一般来说,APR技术对HTTPS访问方式的优化是从SSL会话协商、对称加密算法和证书长度三个方面来开展的[15]。这种方案在保持了HTTPS协议安全性的同时,提高了CAS服务器端对HTTPS并发出的性能,从而满足了农业科学数据共享网站的服务需求。在实际应用过程中,这种解决方案通过在CAS服务器端的Tomcat中加载APR、JNI、OPENSSL等附件,并集成Tomcat-Native应用来开展Web服务,即服务器端的Tomcat工作模式从默认方式切换为APR方式。这种切换和安装步骤如图3所示。

图3 APR方式的配置流程

5 系统性能测试

性能测试是一种面向软件级别的系统测试,其本质是通过技术手段来模拟系统在正常、峰值以及异常情况下各种性能指标的变化趋势和状态[8]。通常来说,系统性能测试的目的在于验证系统所包含的各种解决方案是否能够满足用户使用的需求。具体到文中系统所应用的性能测试需要解决的问题主要有以下2点:

(1)按照文中方法所搭建的单点登录系统是否对原有系统改动最小,具有权限管理的能力;

(2)文中所搭建的单点登录系统所用的访问方式(改进的HTTPS访问方式)是否高效。

按照性能测试的需求,在所搭建的测试环境中,单点登录系统的硬件条件为Intel Xeon CPU E31220,120 G硬盘,4 G内存和100 Mbps网络;软件环境为Linux操作系统,Tomcat6.0服务器。

5.1 系统搭建和权限管理的测试

在测试过程中,针对单点登录系统搭建和权限管理的性能测试,通过采用传统的CAS服务器和文中所提供的解决方案这两种方法对客户端网站—国家农业科学数据共享中心的网站群(http://www.agridata.cn)进行单点登录系统的搭建和权限管理的比较测试,比较测试结果如表1所示。

表1 系统搭建与权限管理测试结果

测试结果表明,相比传统的以CAS架构为主要技术手段的系统解决方案,文中所提供的解决方案在应用和布置过程中,针对原有客户网站的改动较少,且具备很好的权限和用户管理功能,能够很好地满足农业科学数据共享工作的需要。

5.2 系统访问性能的测试

此次测试采用LoadRunner8.0测试工具,通过模拟200个虚拟用户,通过逐步加压的模式,连续发出2 000个连接请求来测试传统的HTTPS访问方式和文中所给出的优化方案在响应性能上的差异。测试结果如表2所示。

表2 访问性能测试结果

从测试结果可以看出,优化后的访问方式所采用的AES-128加密算法比传统的DES算法安全性更高,且参照相关文献[9]中的实验和数据能够证明,AES-128的性能优于DES,其性能优化系数为7,其优化效果非常明显。另一方面,针对服务器并发能力的主要衡量指标的单次请求响应时间和失效请求数的相关测试结果也表明,应用文中技术进行优化的系统,其访问方式的性能比传统的HTTPS访问方式提高了9.3倍,而失败请求的次数也从146次降低到2次,优化效果非常明显,能够取得很好的用户体验,在应用过程中已经完全能够满足农业信息服务的需求。

6 结束语

作为信息与数据服务载体的农业信息服务平台是农业生产和科研工作者探索未知世界、发现自然规律、实现技术变革的有效工具,是突破科学前沿、解决经济社会发展和国家农业安全重大科技问题的技术基础和有效手段。针对当前农业信息服务平台系统异构、资源分散、不易整合的现状,文中探索了解决农业数据服务平台中多个网站服务系统的资源整合问题的方法,设计了一种基于OAuth2.0及OpenID技术与CAS框架相结合的单点登录系统,并应用细粒度和APR的相关技术,实现了客户端系统权限的统一管理和HTTPS访问方式的优化。测试结果表明,相比传统的CAS系统框架,该解决方案在系统性能上有了相当程度的优化,能够在一定程度上满足当前对农业数据服务工作的需求,为今后国家统一化的农业信息服务平台建设规划和制定相关的技术规范的设立提供技术层面上的有益探索。

然而,由于时间所限,文中的系统构建未对用户的层次结构进行分析,且在对HTTPS访问方式进行优化时,未能考虑对SSL加速卡的优化方案。这些研究将在以后进行进一步的研究和探讨,以期能够使这种面向农业信息服务的单点登录系统性能更加优化。

[1] 徐识溥,陈建林,程彬彬,等.基于HTTPS协议的单点登录系统在农业技术综合知识库建设中的应用[J].农学学报,2014,4(1):94-98.

[2] 胡雅琴.单点登录技术现状调查与分析[J].软件产业与工程,2014(1):53-56.

[3] 施正晔.SSO单点登录模型的优化研究[J].计算机光盘软件与应用,2012(7):191-191.

[4] 王 娟,郑淑丽,方元康.无证书隐式认证改进的Kerberos单点登录协议[J].计算机工程与应用,2013,49(10):105-108.

[5] 朱 青.基于CAS的单点登录系统的设计与实现[D].北京:北京工业大学,2014.

[6] 龙毅宏,唐志红,王亚龙,等.面向HTTP身份鉴别协议的单点登录透明集成技术研究[J].计算机应用研究,2013,30(9):2813-2818.

[7] 吴贤平.基于指纹识别和CAS的单点登录模型技术研究[J].计算机应用研究,2012,29(4):1381-1383.

[8] 骆嘉伟,唐国英.区域卫生信息化中单点登录系统的设计与实现[J].计算机应用,2012,32(6):1782-1786.

[9] 苏悦洪.基于CAS协议的单点登录系统的研究与改进[D].广州:华南理工大学,2014.

[10] 李芳芳,王 帅,许舒人,等.一种基于过滤器的遗留系统安全单点登录方案[J].计算机应用与软件,2014,31(10):300-304.

[11] 金伟祖,李平新.基于CAS集群的单点失效问题解决方案[J].计算机工程,2010,36(1):51-54.

[12] Ordan Sissel.SSL handshake latency and HTTPS optimizations[EB/OL].2010.http://www.semicomplete.com/blog/geekery/ssl-latency.html.

[13] Lewis K D,James E,Lewis J E.Web single sign-on authentication using SAML[J].International Journal of Computer Science Issues,2009,2:41-48.

[14] Parker T A.Single sign-on systems the technologies and the products[C]//Proc of European convention on security and detection.[s.l.]:[s.n.],1995:151-155.

[15] Zhang Lei,Zhang Futai,Wu Qianhong,et al.Simulatable certificateless two-party authenticated key agreement protocol[J].Information Sciences,2010,180(2):1020-1030.

Design and Improvement of Single Sign-on Technology for Agriculture Information Services

WANG Jian1,WU Ding-feng1,KAN Jing2,ZHAO Hua1,LIU Jian-ping1

(1.Agricultural Information Institute of CAAS,Beijing 100081,China;2.College of Computer Science and Technology,Beijing University of Technology,Beijing 100022,China)

To address the requirements of unified authentication and authorization,and the original Single Sign-On (SSO) in the processing of resource integration and joint services in information service of agriculture,a SSO technology is proposed in this paper based on OAuth2.0 and OpenID.This system could integrate current CAS,utilization of a non-invasive manner to integrate log function modules of multiple application platforms,which can minimize the modification of code for original platform.Besides,user rights management and HTTPS access in this system that based on CAS framework are improved with technologies of fine-grained control and APR.The test results show the performance of the system is stable and the design of the platform is reasonable.It is believed that the demand for agricultural information service platform should be met.

single sign;rights management;access control;CAS;agricultural data services;OAuth2.0;OpenID

2015-07-03

2015-10-14

时间:2016-03-22

国家“863”高技术发展计划项目(2013AA102405);中央级公益性科研院所基本科研业务费专项课题(2015-J-03);中国农业科学院创新工程(CAAS-ASTIP-2015-AII-03)

王 剑(1976-),男,副研究员,研究方向为农业信息技术。

http://www.cnki.net/kcms/detail/61.1450.TP.20160322.1519.046.html

TP311

A

1673-629X(2016)05-0191-06

10.3969/j.issn.1673-629X.2016.05.042

猜你喜欢

单点测试农业
国内农业
国内农业
国内农业
擦亮“国”字招牌 发挥农业领跑作用
幽默大测试
历元间载波相位差分的GPS/BDS精密单点测速算法
超薄异型坯连铸机非平衡单点浇铸实践与分析
“摄问”测试
“摄问”测试
“摄问”测试