王 劍,吳定峰,闞 京,趙 華,劉建平
(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],無法滿足現代農業科技發展所必須的海量和標準統一的信息和數據共享的需求。
單點登錄技術(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技術的應用能夠以一種非侵入式的方式實現單點登錄,避免了對原有系統的改造和更新。該系統的應用能夠有效地提高農業信息服務用戶的使用體驗,降低信息服務的操作復雜度,減少系統管理和維護費用,促進農業信息資源的整合和共享。
文中的設計目標是基于國家農業科學數據共享平臺中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)可知:氣流由壓縮段向喉口段流動時,壓力減小,流速慢慢加大,當流至喉口部位時達到最大,而后氣流流向擴壓段,流速慢慢減小,壓力逐漸增加。
對于農業數據服務來說,用戶的授權是保障系統和資源安全的重要組成部分,其基本任務是判斷用戶是否具有操作訪問當前系統的權限。傳統的基于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)如果權限驗證通過,認證管理器則將請求發送給后臺數據庫調取相應的數據資源。
文中這種基于細粒度技術的權限管理方案,能夠有效地解決基于粗粒度技術的權限管理方案的缺陷,使權限的管理更加靈活、方便,增強了信息服務系統中數據資源的安全性。
在傳統的基于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方式的配置流程
性能測試是一種面向軟件級別的系統測試,其本質是通過技術手段來模擬系統在正常、峰值以及異常情況下各種性能指標的變化趨勢和狀態[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次,優化效果非常明顯,能夠取得很好的用戶體驗,在應用過程中已經完全能夠滿足農業信息服務的需求。
作為信息與數據服務載體的農業信息服務平臺是農業生產和科研工作者探索未知世界、發現自然規律、實現技術變革的有效工具,是突破科學前沿、解決經濟社會發展和國家農業安全重大科技問題的技術基礎和有效手段。針對當前農業信息服務平臺系統異構、資源分散、不易整合的現狀,文中探索了解決農業數據服務平臺中多個網站服務系統的資源整合問題的方法,設計了一種基于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