李江鑫,張曉韜,劉廷峰,周平
(四川中電啟明星信息技術有限公司,四川成都 610000)
隨著信息技術的飛速發展,有價值的業務不斷被發掘,旅游集團公司不斷構建面向不同業務需求的信息系統。與此同時,面臨的網絡主體身份難以確認,網絡資源非授權訪問等網絡安全問題日益突出,極大地阻礙了企業發展,員工個人隱私、企業信息安全面臨著嚴重的威脅。2 0 1 6 年我國頒布的《網絡安全法》中第二十四條提到,“國家實施網絡可信身份戰略,支持研究開發安全、方便的電子身份認證技術,推動不同電子身份認證之間的互認”[1],因此梳理身份認證技術發展現狀和趨勢,針對旅游集團公司現狀構建符合企業實際需求的統一身份認證系統具有重要意義。
旅游集團公司因其業務特殊性,形成了以旅游文化為主業,旅游地產、旅游金融及相關業務并舉的產業格局,在管理上存在人員分布廣、流動性強,組織機構變更頻繁等特點。隨著大量的信息系統被建立和推廣, IT系統在幾個方面問題變得越來越突出:
(1)各信息系統用戶管理彼此孤立;
(2)各系統缺乏賬號的全生命周期管理;
(3)賬戶管理和命名規則不統一;
(4)數據和訪問安全無法得到保障。
為了統一公司的用戶身份安全管理,實現統一的賬戶全生命周期管理、統一的訪問安全管理、統一的認證、授權及單點登錄,提升集團的合規水平與用戶體驗,提高運維工作效率并降低實體運營成本,需建設統一身份管理平臺。
中國旅游集團有限公司統一身份認證系統采用三層B/S(瀏覽器/服務器)架構設計,即客戶端瀏覽器層、Web服務層、數據庫層,如圖1所示。服務器的操作系統環境是CentOS 7,客戶端瀏覽器的品牌種類不限。

圖1 系統架構圖
系統主要由三個層次構成,展現管理層、服務層、數據存儲。展現管理主要負責系統的業務功能、集成功能及審計功能的展現和交互;服務層為展現管理層提供各類服務接口支持;數據存儲負責持久化數據的讀取與保存。展現管理層與服務層通過HTTP、HTTPS、TCP協議通信,服務層與數據存儲通過JDBC、LDAP及SOAP協議進行通信。
3.1.1 展現管理層
由統一認證、身份管理、權限管理、資源管理、審計管理、集成管理、平臺展現組件構成。主要負責系統業務管理與服務交互的代理接口、業務功能與用戶的頁面交互、權限系統與業務應用的集成交互等。
3.1.2 服務層
由核心業務接口、安全控制、緩存管理、事件管理及平臺基礎組件構成。主要負責提供系統對外的核心業務接口服務,包括資源管理、用戶鑒權、資源注冊等服務。
3.1.3 數據存儲
提供對整個系統的數據持久化,數據存儲類型包括數據庫、文件和LDAP。
將平臺分為六大應用模塊,分別是接口服務、身份認證模塊、權限管理模塊、身份管理模塊、安全審計模塊、數據集成模塊;平臺通過這六大服務模塊實現企業身份對象、身份認證、權限與安全審計的統一與整體管控,系統應用架構如圖2所示。
3.2.1 接口服務模塊
接口服務是平臺面向企業應用系統或設備開放的遠程業務接口,企業應用系統通過調用此遠程服務接口來獲得平臺的相關業務支持。按平臺業務分類將接口分為認證接口、會話接口、權限接口、審計接口四個類型。認證接口主要提供身份認證和鑒別等業務;會話接口提供會話查詢、注銷等相關業務;權限接口主要提供身份權限查詢和鑒別方面的業務;審計接口則提供審計日志寫入與查詢方面的業務。

圖2 系統應用架構
3.2.2 身份認證模塊
身份認證服務主要處理身份有效性驗證邏輯,提供多樣的、靈活的身份認證方式和策略,滿足不同級別的身份鑒別要求。除此之外,還支持與外部的第三方認證源的集成,例如目錄服務、CA認證服務等,實現分發認證,形成強大的聯盟認證機制。身份認證服務在整個企業信息化架構中扮演著身份鑒別中心的重要角色,因此身份認證服務也稱“統一認證服務”。
3.2.3 權限管理模塊
權限管理服務是平臺實現權限控制的最主要的業務,實現授權實體管理和授權過程管理,實體管理包括角色管理和資源管理;授權過程管理主要實現身份權限授予,權限委托、歸并
和回收等。
3.2.4 身份管理模塊
身份管理實現對多種身份實體的定義和管理,涵蓋企業行政組織、人員、崗位等數據管理維護的過程,具體體現在用戶、賬號、口令、組織機構等業務域。
3.2.5 安全審計模塊
安全審計服務的應用目標是收集企業信息架構中應用系統、中間件服務、第三方設備以及權限平臺本身的用戶行為日志,為審計人員提供信息安全審計基礎數據。通過提供審計信息檢索、多樣的定制性審計分析以及報表展示來輔助審計人員實現對企業信息安全的監管。
3.2.6 數據集成模塊
數據集成服務負責平臺與外部系統或數據源間的數據交互。交互方法典型地包括數據推送、數據抽取、數據接口等,并且在交互過程中記錄交互日志,確保交互數據的可追溯。通過此服務打通平臺核心業務與外部應用的數據共享,確保用戶身份權限在企業內部的整體一致性。
整個平臺由若干個服務模塊(邏輯單元)構成,通過各個服務或模塊間的相互協作來支撐客戶需求。按應用邏輯劃分,平臺由六大邏輯單元構成,包括平臺基礎服務、平臺業務服務、平臺管理服務、平臺接口服務、運行監控服務、數據集成服務,如圖3所示。

圖3 邏輯架構圖
3.3.1 平臺基礎服務
平臺基礎服務主要為整個平臺提供基礎支撐,它主要由一系列的第三方服務或中間件構成,例如消息服務、緩存服務、配置服務、存儲服務等;平臺的上層應用功能均通過利用這些基礎服務來達成。
3.3.2 平臺業務服務
平臺業務服務是平臺系統的業務核心,包括身份管理、認證管理、權限管理與審計管理。該服務是實現產品具體業務邏輯的企業級組件,從技術架構上它依賴于平臺基礎服務完成業務數據的管理與存儲;另一方面,平臺業務服務對外開放遠程接口,供前端應用或其它企業應用調用。業務服務中的幾大模塊對于客戶實施來說是可選的,客戶可以根據自身情況選擇所需部署的業務模塊。
3.3.3 運行監控服務
運行監控服務在邏輯上是劃分到平臺基礎服務范圍內,但從應用架構上其是一個可獨立運行的模塊。它主要收集平臺各方面的運行狀態,向管理員提供平臺環境健康報告和預警。監控服務也對外發布接口,可供上層或前端應用調用;運行監控服務也是客戶可選模塊。
3.3.4 平臺管理服務
平臺管理服務即平臺產品管理端應用。向管理員和用戶提供平臺業務與系統的管理主界面,此管理服務是平臺客戶的必選服務。
3.3.5 平臺接口服務
平臺接口服務是向外部應用開放權限查詢的接口;所有的權限查詢相關的業務都由此服務代理,目的是提供一個支撐高性能、大并發的權限查詢服務。
3.3.6 數據集成服務
數據集成服務負責平臺與外部系統或數據源間的數據交互。交互方法典型地包括數據推送、數據抽取、數據接口等,并且在交互過程中記錄交互日志,確保交互數據的可追溯。通過此服務打通平臺核心業務與外部應用的數據共享,確保用戶身份權限在企業內部的整體一致性。
旅游集團公司統一身份認證系統需要與多個異構系統完成集成,實現數據同步,需要設計一個滿足異構系統的數據同步機制。同時,因統一身份認證系統作為集團認證中心,對系統運行穩定性具有極高的要求,面臨較大的運行風險,通過采用分布式緩存結合熱點數據監控技術,可有效提升系統穩定性[2]。
旅游集團公司統一身份認證平臺在運業務系統多且身份權限獨立建設,導致身份權限數據結構和授權方式存在較大的差異性,采用傳統的分發方式數據量大,不僅占用網絡資源,目標系統還會收到大量冗余信息,導致在數據解析上消耗性能。

圖4 同步策略圖
本系統通過建立一種基于消息和分發策略的數據同步方式,首先建立一套數據傳輸規范,規定了數據分發格式,明確了字段意義;同時在平臺管理端,為各個注冊到管理平臺的業務提供分發策略配置界面,各個系統根據集成方案配置各自的分發策略。管理端的權限管理操作會以消息形式發送至同步適配器端,適配器分析消息并依照對應系統的分發策略,將其需要的數據準確投送至目標系統[3]。
本系統作為業務系統的鑒權中心,因此每日要承載上億次鑒權服務,性能壓力巨大,且一旦服務意外中止,將影響所有相關業務系統的正常訪問。該同步模式滿足了對不同權限模型業務系統間在數據同步可靠性和穩定性的需求,以最小的代價實現了對在運業務系統的權限集中管控。
為有效支撐鑒權服務穩定性,本系統采用鑒權節點前置技術,通過將鑒權和查詢計算放到前置節點來均衡訪問壓力。同時,通過與分布式緩存集成,建立起了由遠程緩存、接口服務和前置節點文件緩存組成的三重服務保障,結合消息服務,實現當管理端權限變更時,各級緩存同步更新,有效提升了服務的穩定性。

圖5 鑒權節點前置技術示意

圖6 熱點數據監控技術
為了提高緩存命中,使鑒權前置節點效能最大化,本系統利用熱點數據監控,通過計算并生成熱點數據表并設定其范圍,使熱點數據在緩存中被持久化,以應對高頻率的訪問,同時及時清理非熱點數據緩存釋放內存。隨著訪問的進行,熱點表里的數據也隨之變化,并根據熱點表記錄動態地更新緩存中持久化的熱點數據。熱點數據監控極大地提高了緩存命中率,使鑒權前置節點效能最大化。該套前置鑒權節點體系的建立,有效解決了集中鑒權服務所面對的大數據、大并發問題,提升了系統服務的穩定性[4]。
本文提出了一種適用于多應用架構模式的統一身份認證建設思路,滿足當前所有不同應用架構系統的統一身份認證問題,保證了各業務集成系統的松散耦合。在此基礎上,給出了統一身份認證平臺的設計模型。該模型能很好地解決企業內部的Web應用系統的集中管理和集中認證授權的問題,具有良好的應用價值。