就高職院校數字校園建設這一專題,“Moehoo猛虎”已將推出了如下三篇文章:
(1)《論數字校園的頂層設計 — 高職院校篇》
(2)《高職院校的信息化建設 — 網絡建設的歷史沿襲》
(3)《高職院校信息化 — 校園網建設之痛與變局》
在《論數字校園的頂層設計 — 高職院校篇》一文中,“Moehoo猛虎”曾明確提出:
應用系統的集成,是頂層設計的技術架構思路的重要內容。而應用系統的集成,是由3個功能系統協同工作而得以實現的,即:校園統一身份認證系統、校園統一信息門戶系統、校園統一公共數據系統。
這三個系統是數字校園建設的基礎內容之一,在很大程度上決定了數字校園建設的成敗。而為了建設校園統一信息門戶系統,必須滿足相應的基礎前提和支撐:建立完備的校園統一身份認證系統。
統一身份認證系統提供的服務功能是:
Ⅰ. 身份認證和統一管理功能:為每一用戶提供統一的電子身份,對數字校園用戶進行集中統一的管理;
Ⅱ. 單點登錄(即SSO,Single Sign-On)功能:用戶只需一次登錄,就可直接訪問已經授權的任何校園應用系統;
Ⅲ. 雙向認證功能:在安全的認證協議支持下,在服務器和用戶端之間實現雙向認證。
簡而言之,校園統一身份認證系統的功能是:在數字校園中實現單點登錄功能,給所有校園應用系統提供全局統一的用戶認證和用戶管理等功能。
身份認證系統的關鍵意義
從應用系統的視角來看,用戶登錄身份認證系統是具有關鍵意義的,這是指:
(1)首要意義在于提供了現實世界中用戶的身份認證信息,驗證了現實世界中的用戶與應用系統中的賬戶之間的映射關系。雖然不同的應用系統有各自的功能實現領域,但是,在資源存取和資源配置的決策上,都是通過身份認證這一核心功能才得以實現的。
(2)其次,身份認證系統的審核日志會記錄相關的安全風險信息、用戶身份認證信息,對保障應用系統的安全性具有重要作用。
身份認證系統的基本方法和實現要素
身份,是指客觀世界中特定用戶的唯一實體信息,這種實體信息在計算機應用領域同樣是一種重要的信息資源。
認證,指的是以權威的手段對用戶的身份信息加以驗證。
身份認證系統的主要功能就是驗證用戶身份信息的準確有效性,杜絕沒有經過授權的非法資源訪問行為。
一、身份認證的基本方法
從廣義的角度來看,身份認證的基本方法有三類:
(1)驗證用戶的關鍵個人信息
比如,驗證用戶的賬號和相應密碼,驗證問題和回答的完整匹配。眾所周知,這種方法,在軟件應用系統中得到了極其廣泛的應用。
(2)驗證用戶的唯一性私人物品
比如,身份證、銀行卡、鑰匙等物品。這種方法,在現實世界里常見,而在IT應用系統中,也有相應的等同物,即:由權威的CA機構(Certificate Authority,數字證書認證機構)頒發的數字證書。
X.509證書是事實上的數字證書標準格式,在絕大多數網絡安全應用中得到了廣泛的使用,X.509使用數字證書對身份驗證的方法有3類,即:雙向認證、單向認證、三向認證。由此,統一身份認證系統的雙向認證功能得以實現,即:在安全的認證協議支持下,在服務器和用戶端之間實現雙向認證。具體實現方法,見本文最后一節所述。
(3)驗證用戶的唯一性生理特征信息
比如,指紋識別、視網膜識別、人臉識別等。
二、身份認證的實現要素
完全通過訪問控制系統去實現身份認證是不可行的,一個完備的身份認證系統必須有效地集成如下的實現要素。
(1)身份驗證功能
標識和鑒別登錄用戶的身份,以此,確保信息和數據來源的合法性,這也是身份認證系統的核心功能。
(2)數據的完整性
在信息和數據的傳輸和存儲過程之中,確保其不會被未授權地篡改,或者,在其遭遇篡改后能被迅速地發現并處理。
(3)數據的有效性(可用性)
經過授權的實體可以按預先的權限設置而訪問數據。
(4)數據的保密性
只有經過授權的實體才可以訪問相關數據。
(5)不可抵賴性(不可否認性)
確保信息和數據的制造者和發送者無法拒絕其曾執行的行為。
統一身份認證系統的概念
統一身份認證系統,是一種用戶身份認證集成管理系統,對用戶進行身份認證、提供身份認證統一通行證和相應的授權,以此,建立所有關聯應用系統的統一身份認證管理,確保用戶信息認證的真實有效。
各關聯應用系統都有相應的保存和訪問權限管理功能,統一身份認證服務器和用戶信息統一數據庫協同工作,統一管理各子系統的用戶身份認證。
在集成用戶身份認證方面,統一身份認證系統有一系列規范的客戶端,可以采用多種認證手段,比如:賬號密碼認證、數字證書認證、一卡通認證等。不同級別的用戶有各自不同的安全等級,統一身份認證系統會采取相應的安全保障措施,比如,密保措施、數字證書驗證等。
在集成應用系統功能方面,統一身份認證系統提供唯一的操作接口,而不同的應用系統則提供各自的操作接口,一榫一卯,各關聯應用系統就與統一身份認證系統集成在一起了,在緊密集成結構的保障下,各關聯應用系統的安全性得到了充分的保障。
統一身份認證系統的工作流程
統一身份認證系統的主要功能是:
(1)統一管理用戶的身份驗證
避免在多個應用系統中反復登錄,創建統一的標準客戶端登錄操作界面,創建統一身份認證系統的全局賬號與既有的各關聯應用系統的局域賬號之間的映射關系,實現各關聯應用系統的統一身份認證。
(2)統一管理用戶對各關聯應用系統的訪問權限。
統一身份認證系統的系統架構及其關鍵工作流程如下圖所示:
如上圖所示,說明如下:
(1)用戶提交訪問某個關聯應用系統的請求;
(2)使用應用認證接口,通過安全的傳輸渠道,應用系統將用戶的認證信息傳遞至統一身份認證系統,進行用戶身份認證;
(3)用戶信息經過統一身份認證系統的驗證后,將生成一系列的具有唯一性的用戶端認證信息,據此,用戶獲取對所有關聯應用系統的訪問權。
統一身份認證系統的工作模式
在一個已有若干應用系統的環境中建立統一身份認證系統,不僅要考慮將既有應用系統納入,還要能夠完成新建應用系統的用戶身份認證。
為此,統一身份認證系統必須具備多種工作模式,以滿足復雜應用環境中的客觀需要。
統一身份認證系統的工作模式主要有三類,分別是:身份認證服務模式、統一認證服務模式、代理服務模式。
一、身份認證服務模式
在高職院校的數字校園建設中,在統一身份認證系統和統一信息門戶系統已經建立的情形下:
(1)新建的應用系統可以完全依托于統一身份認證系統實現用戶身份認證功能,無需配置專門的用戶認證系統。這時候,新建應用系統的用戶帳戶就是統一身份認證系統的全局賬號;
(2)對既有應用系統而言,其本身原有的局域賬號,可與統一身份認證系統的全局賬號之間建立映射關系。
在這種工作模式下,統一身份認證系統的運作形式是:應用系統的身份認證功能模塊。其具體工作流程如下圖所示:
對上圖所示的工作流程說明如下:
(1)用戶在統一身份認證系統中注冊用戶名并設定密碼(其他的授權方式還有:按學校的管理制度申請數字證書或者校園卡),然后,以相應的授權方式登錄應用系統;
(2)應用系統將用戶登錄信息轉發給統一身份認證服務;
(3)統一身份認證服務執行驗證操作,即:在注冊庫中,驗證發送用戶登錄信息的應用系統是否已經注冊,驗證用戶登錄信息與注冊庫中的信息是否一致,在獲取驗證結果后,向應用系統發出認證響應信息。如果用戶身份認證成功,應用系統向用戶發出訪問令牌,用戶遂得以訪問應用系統。
二、統一認證服務模式
統一身份認證系統的核心服務模式是統一認證服務模式。其具體工作流程如下圖所示:
對上圖所示的工作流程說明如下:
(1)用戶在統一身份認證系統中注冊用戶名并設定密碼(其他的授權方式還有:按學校的管理制度申請數字證書或者校園卡),然后,以相應的授權方式登錄統一身份認證系統;
(2)在登錄信息被成功認證后,統一身份認證系統將訪問令牌返回給用戶。使用這個訪問令牌,用戶向關聯應用系統提交訪問請求;
(3)就此訪問令牌的合法有效性,關聯應用系統向統一身份認證系統提交驗證請求。收到驗證結果后,如果確認訪問令牌合法有效,關聯應用系統接受訪問請求并將相應的訪問結果返回給用戶。
三、代理服務模式
當統一身份認證系統處于代理服務模式時,關聯應用系統的接入訪問和相應的訪問結果均由其代理,由此,為關聯應用系統提供一個更為安全的運行環境。其具體工作流程如下圖所示:
對上圖所示的工作流程說明如下:
(1)用戶在統一身份認證系統中注冊用戶名并設定密碼(其他的授權方式還有:按學校的管理制度申請數字證書或者校園卡),然后,以相應的授權方式登錄統一身份認證系統;
(2)在登錄信息被成功認證后,統一身份認證系統將訪問令牌返回給用戶。使用這個訪問令牌,用戶并不直接向應用系統發起訪問請求,而是向代理(即統一身份認證系統)提交其對關聯應用系統的訪問請求;
(3)統一身份認證系統向注冊庫發起查詢請求,從查詢結果中確認應用系統是否已經注冊,進而獲取應用系統的訪問入口。再將用戶的訪問請求由代理轉發給應用系統,并將訪問結果由代理返回給用戶。
單點登錄技術原理
就本質而言,單點登錄的技術原理就是:在不同應用系統之間傳遞和共享信息系統安全上下文或者安全通行票據。
這是學術性的表述方式,然而,單點登錄技術原理是很容易理解的,換一種說法,那就是:當用戶訪問某一個應用系統時,會由一個唯一的認證服務對用戶身份進行驗證,在用戶身份得到成功驗證后,就會獲得一個數字通行證。而當這個用戶訪問其他應用系統時,就可以直接憑此數字通行證獲得訪問權。
其實,在現實世界中也可以找到與單點登錄類似的實例,比如,在某個城市申請辦理的城市一卡通,在其他城市也可以使用。
一個典型的SSO技術原理實現圖如下所示:
如上圖所示,當使用者第一次發起對應用系統1的訪問請求時,由于尚未登錄,所以還沒有攜帶安全通行票據(Ticket)。在這種情況下,用戶會被引入至統一身份認證系統進行認證,即:輸入用戶名或密碼等登錄信息。接著,統一身份認證系統會將這些登錄信息與用戶信息庫進行比對,如果驗證成功,用戶端會接收到返回的安全通行票據(Ticket)。
自此以后,當用戶對其他關聯應用系統(應用系統2,......,應用系統n)發起訪問請求時,都會將安全通行票據(Ticket)提交給統一身份認證系統用于驗證,如果校驗結果是合法有效的,用戶就不需要再次執行登錄操作,直接就能獲得對其他關聯應用系統的訪問權限。
需要指出的是, 在以上所述的過程中,各關聯應用系統并不對用戶認證信息等數據進行驗證,它們只與統一身份認證系統進行通信。實際上,可以將統一身份認證系統和各關聯應用系統之間的通信模式理解為“服務器—客戶端”模式,即:統一身份認證系統是服務器端,為各關聯應用系統提供安全通行票據(Ticket);各關聯應用系統是客戶端,能識別和提取用戶訪問請求中攜帶的安全通行票據(Ticket),進而,將其傳遞給統一身份認證系統以驗證有效性,籍此,實現統一身份認證系統的單點登錄功能。
雙向認證的實現流程
統一身份認證系統的第三個重要功能是雙向認證功能。如前所述,使用證書服務,可以實現服務器和用戶端的雙向認證。
通常,在用戶端要求訪問一些保密資源時,會采用雙向認證的方式以確保資源訪問的安全可行,即:在安全的認證協議(通常是SSL協議, 即:Secure Socket Layer協議)支持之下,服務器和用戶端對彼此提供的數字證書加以驗證,完成相互認證,由此,雙方都確認對方的可信真實身份。
從技術角度來看,用戶端(Web瀏覽器或者客戶端應用)和服務器(Web站點或者服務器應用)之間的雙向認證,就是指通過驗證由權威的數字證書認證機構頒發的數字證書,使得:(1)服務器的數字證書在用戶端上得到認證;(2)用戶端的數字證書也在服務器上得到認證。
顯然,由于雙向認證是基于數字證書才得以實施的,CA機構是整個流程中極為重要的部分。從應用層的視角看,基于數字證書的認證及建立加密通道的過程如下圖所示(圖片是高清的,但是受限于移動終端的屏幕尺寸,如要查看細節,可點擊放大查看):
(1)用戶端要求訪問保密資源;
(2)服務器收到訪問請求后,將自己的數字證書(Server.cer)提供給用戶端;
(3)用戶端驗證服務器證書的有效性;
(4)如果服務器證書被成功驗證,那么,用戶端將自己的數字證書(Client.cer)發送到服務器;
(5)服務器驗證用戶端數字證書的有效性,以確認用戶端的合法身份;
(6)如果用戶端的數字證書確認有效,服務器將相應的訪問權限賦予用戶端,由此,用戶端獲得了保密資源的訪問權。
至此,“Moehoo猛虎”對校園統一身份認證系統的三大功能(即:身份認證和統一管理、 單點登錄、雙向認證)完成了概觀性的描述。由于本文的撰寫目的是為數字校園建設的決策層人士提供有效的務實參考,因此,行文之時,不僅在語言上注意了平實易懂,而且,為了達到更加直觀的效果,更專門繪制了若干流程圖和原理圖。
長期以來,校園統一身份認證系統若有似無地蒙著一層神秘的面紗。“Moehoo猛虎”期望,本文能夠揭開那神秘面紗的一角,為各類學校的數字校園建設思路的拓展作出或許微薄卻是務實的貢獻。















