李熹+王林
摘 要:隨著云計算、互聯網技術對教育信息化的滲透影響,服務于教育教學和教育活動的各類業務應用系統越來越多,但這些業務應用系統都不同程度建有獨立的身份認證系統。針對目前數字校園建設過程中出現的身份認證“信息孤島”問題,本文通過整合江西省基礎教育資源網的全省實名教師信息和中小學生學籍系統的信息,結合OAuth開放授權協議,構建標準、安全的數字校園身份認證開放接口和平臺接入規范,為其所有業務應用系統提供集中身份認證服務和接入管理服務。
關鍵詞:數字校園 統一身份認證 OAuth協議
隨著現代信息技術的迅猛發展以及對教育信息化的不斷滲透,學校利用現代信息技術手段構建校園信息化環境,數字化、智慧化改造教育教學環境,促進學科教學與信息技術的深度融合,變革教育教學模式的需求不斷提高。就此而言,可以說數字校園建設是伴隨著信息技術的發展而提出的。目前,數字校園的建設水平已經成為衡量一個學校現代教育技術運用水平的重要標志。
但在數字校園建設的初期,主要采用以校為單位,按照“按需、逐個、獨立”的建設模式進行分散,結合學校自身信息化的建設需求,通過建設多個業務應用系統以期達到一定的應用效果。但是隨著信息化在學校教育教學活動中不斷深入以及與教育教學的融合,一些問題也不斷顯露出來,主要突出問題有:缺乏總體規劃、頂層設計等原因,導致各類數字校園應用系統都建設獨立的身份認證系統,系統之間不能共享用戶數據,用戶數據得不到及時更新,給用戶的使用帶來極大的不便;缺乏統一的應用系統接入規范,導致各應用系統的數據交互性、易用性不夠,很難進行數據交換;缺乏數據信息標準規范,產生大量“信息孤島”,數據的準確性和科學性不夠,嚴重影響決策效率。
基于數字校園建設現狀和背景,建設一套省級數字校園身份認證開放平臺非常有意義,身份認證開放平臺通過建立權威的、實名的基礎用戶數據庫,對各類業務應用系統采用統一的認證方式進行集成,實現用戶只需要使用一套賬號和密碼即能訪問不同應用系統的效果。同時提高數字校園平臺的易用性,保證用戶認證信息的正確性、完整性和安全性,有效解決各種業務應用系統之間用戶數據同步和更新等問題,從而減輕各數字校園系統用戶認證過程中的麻煩和系統管理成本。
一、身份認證平臺分析
數字校園身份認證開放平臺是打造全省數字校園云平臺中的核心部分,通過建立該平臺可以保護全省數字校園平臺中身份認證信息的權威性和隱私性,同時可以限制其他各種應用程序之間的訪問權限,為方便用戶應用數字校園軟件進行教學起到關鍵作用。根據對全省數字校園平臺對身份認證的業務需求以及現有的軟件開發基礎和經驗,對全省數字校園身份認證開放平臺提出如下的需求:系統按照瀏覽器/服務器模式進行設計,基于ASP.NET2.0平臺和MVC系統框架進行軟件開發。通過統一的數據規范標準,建立全省數字校園身份認證基礎數據庫,實現對學校、教師和學生信息的統一管理。基于OAuth授權協議進行系統認證授權過程設計。第三方應用接入商可以通過具有權限的接口批量獲取學校、教師和學生的信息,具體用戶可以通過授權協議,允許第三方應用程序從數字校園身份認證平臺中獲取個人的隱私數據。全省的數字校園應用都需要與身份認證平臺進行對接,是所有數字校園應用的主要入口,因此數字校園身份認證開放平臺需要提供應用程序接口,并且開放接口必須具有跨平臺性和兼容性。由于身份認證開放平臺是數字校園應用程序的入口,因此需要在接口的調用權限上進行管理,并且做到有較高的安全性和可靠性。
在構建平臺過程中,用戶與第三方應用、開放平臺之間相互信任、交互的安全性是平臺商需要考慮的因素。目前,業內開放平臺用戶身份信任機制主要采用OAuth授權方式。OAuth授權方式為客戶端提供了一種代表資源擁有者訪問受保護資源的方法。在客戶端訪問受保護資源之前,它必須先從資源擁有者獲取授權,然后用訪問許可交換訪問令牌。客戶端通過向資源服務器出示訪問令牌來訪問受保護資源。
二、開放平臺設計
數字校園開放平臺的架構設計主要采用的是分層架構的設計理念,將系統的總體架構分為數據層、認證服務層、服務接口層和應用接入層。其各層的主要功能如下:
在數據層,依托江西省基礎教育資源網的實名教師數據庫和中小學生學籍管理系統,按照教育部制定的教育信息化行業標準,形成標準、規范的學校數據庫、用戶數據庫,將教師用戶和學生用戶進行統一規范、統一存儲。
在認證服務層,基于數據層提供的基礎數據庫,建立身份管理、身份認證、授權管理和安全審計服務,主要負責整個身份認證開放平臺的認證和授權業務,身份認證模塊主要處理登錄請求,驗證用戶的認證信息;授權管理模塊主要負責對第三方應用調用接口的權限設置;安全審計服務模塊主要負責在認證過程中的接口安全和訪問安全等。認證服務層主要是為上層服務接口層調用。
在服務接口層,基于OAuth開放授權協議,開發一系列的開放服務接口,為第三方應用進行數據交換時使用。主要采用的是REST API的設計模式,遵循REST的設計規范,將定義好的URI接口數據和流程開放。這樣可以解決設計語言的跨平臺問題,便于第三方應用調用以及開發,降低集成的難度。
在應用接入層,按照約定的系統接入規范和數據標準,利用服務接口層提供的SDK開發包,調用服務接口層的開放接口,獲取相關的數據進行自身應用。集成后的第三方應用即可達到利用身份認證開放平臺的學校信息和教師學生信息,并登錄本身應用的效果。
1.基礎用戶數據管理
基礎用戶數據管理是指按照教育管理信息行業標準,收集用戶驗證的主要特征,將分散在各種業務應用系統中的用戶進行統一管理,形成包含學校信息、教師信息、班級信息和學生信息的基礎數據庫。建立基礎用戶數據庫的主要目的是為了能夠在異構應用系統和身份認證平臺上共享一套較為權威的用戶身份信息,可以實現不同業務應用系統之間獨立管理和驗證用戶。在此之上建立一套數據同步服務、數據管理服務和數據訪問服務。這樣使得用戶和第三方應用可以以安全可信的方式進行訪問。對于已有應用系統,建立一套抽取、更新機制,可以將某些權威數據庫作為數據的來源,定期從這些數據庫中抽取用戶數據用于維護基礎用戶數據庫,保證基礎數據庫中的信息達到實時、準確、權威。對于新增業務應用系統,可以通過按照接口的要求,從基礎用戶數據庫中獲取用戶數據(不包含驗證信息),用于建立或綁定自身的身份認證系統和權限管理系統。
2.身份認證設計
身份認證和登錄授權是整個身份認證開放平臺的核心功能,主要負責對用戶的身份進行驗證,在整個平臺的身份認證和登錄授權的設計中,主要是結合OAuth開放授權協議進行的,同時在保證系統的安全性和高并發需求的情況下,在登錄授權過程中對用戶的敏感信息進行特殊加密傳輸。身份認證和授權設計是獨立于數字校園內的其他應用系統,對于用戶來說,平臺的用戶ID是唯一的,由其作為整個平臺用戶的統一標志,在通過平臺的身份認證后,可以從登陸認證結果中獲取到與平臺用戶唯一對應的平臺用戶序列號。第三方應用利用這個平臺用戶序列號與自身系統的用戶賬號做映射,利用映射后的賬號登錄相應的應用系統。經此種架構設計的身份認證平臺,當增加一個接入應用系統時,只需要在接入的應用系統中增加一套平臺用戶序列號與應用系統賬號的映射關系即可,并不影響應用系統自身的架構,從而解決登錄認證過程中不同應用系統之間用戶交叉等問題。
平臺賬號登錄是指直接使用平臺賬號登錄第三方系統,步驟如下:用戶點擊在第三方應用登錄界面上的“使用平臺賬號登錄”,第三方應用將跳轉到數字校園身份認證開放平臺的登錄授權頁面,用戶登錄成功,提示用戶是否同意將身份信息授權給第三方應用訪問。第三方應用根據這個序列號查找自身用戶,如果有已綁定的用戶則繼續用已綁定的用戶信息登錄應用系統,如果不存在該用戶序列號,則在后臺提示用戶利用應用系統的賬號與該平臺序列號綁定,建立平臺用戶與應用用戶的關聯關系。利用建立關系后的應用系統自身認證系統中的用戶登錄,以后在登錄時直接利用平臺用戶與應用用戶的關聯關系登錄即可。
三、系統實現
數字校園身份認證開放平臺是基于OAuth開放授權協議來實現第三方應用的接入和訪問授權的,系統設計開發了基于REST的無狀態Web服務接口。數字校園身份認證開放平臺實現了標準的數據開放接口,并提供了C#和JavaScript版本的第三方應用的接入實例,避免了數字校園應用都構建自身的用戶群,節約了開發成本和開發周期,同時有效解決了數字校園內各個應用之間的信息孤島問題。使得用戶在使用第三方數字校園應用系統時,不再需要提供身份認證信息(賬號、密碼),實現了各種數字校園應用系統的安全接入和用戶信息的統一管理。
目前通過該開放平臺接入的應用包括有江西省中小學數字校園平臺、江西省一站式互動教學平臺、江西省中小學安全知識網絡答題系統等。接入的學校自建的數字校園平臺有南大附中IS平臺、高安中學數字校園平臺等。經過一段時間的應用后,數字校園身份認證開放平臺運行較穩定,達到了設計初期的目的,實現了良好的社會效益。
參考文獻:
[1]劉雍潛,孫默.數字校園綜合解決方案[M].北京:中央廣播電視大學出版社,2014.
[2]曹潔水,孫萌用動態網站技術ASP.NET構建服務型圖書館網站[J].現代電子技術,2007(6).
[3]段浩偉.基于OAuth2.0電子商務開放平臺與授權的設計與實現[D].西安電子科技大學,2013.
[4]張德林.基于OAuth協議的校園統一認證與授權系統的研究與實現[D].四川師范大學,2014.
[5]張艷霞.基于OAuth安全架構的企業地址簿的設計與實現[D].華南理工大學,2012.