周虹霞
(中國國家博物館 北京市 100006)
目前國博沒有統一身份認證系統,具體情況如下:
采用吉大正元提供的認證引擎進行驗證。在PC 端使用UKEY,UKEY 中存儲用戶名信息,登錄入口通過獲取UKEY 中的用戶登錄名來識別用戶身份。身份識別系統未進一步實現用戶授權、統一身份證的功能。
綜合工作平臺提供登錄入口,用戶登錄后,通過平臺跳轉到各應用系統。平臺與各應用系統之間通過傳遞token 方式進行身份校驗,校驗規則簡單,存在安全漏洞,未實現完整的單點登錄功能。
機構和用戶信息沒有管理界面。目前通過人員中間庫中的部門表、人員表和崗位表進行數據共享和交換,該中間庫只能通過綜合工作平臺手動維護。
2.1.1 缺乏統一身份認證體系結構
身份認證管理所需的賬號信息、用戶信息、認證管理分別在不同的應用系統和數據庫中,用戶賬號與用戶信息割裂,各個模塊之間沒有交互或交互很少,未形成統一的身份認證閉環,導致身份認證管理形同虛設。
2.1.2 用戶信息數據不完整
人員中間庫中只提供了基本的機構與用戶信息,且數據項不完整,沒有覆蓋各應用的業務需求。沒有進行機構用戶等信息的統一管控,未實現與人力資源系統、賬號識別系統、各個業務系統之間的數據同步與交換。
2.1.3 應用系統權限分散
各個應用系統分別維護可以訪問本系統的用戶。多個系統權限的分散,使管理員工作量增加,且容易帶來安全漏洞。
2.1.4 用戶體系資源浪費新建業務系統時,如沒有統一用戶管理,就需新建用戶管理體系,重復建設造成了資源浪費。
2.1.5 內網系統的支持
目前的登錄驗證機制主要應用在辦公網應用,未提供對內網應用系統的支持。
2.2.1 用戶唯一標識
統一身份認證系統從人力資源系統或自己生成用戶的唯一標識,為避免涉密數據,唯一標識不使用身份證號,該標識可參與應用系統的數據交換。
2.2.2 館內和館外用戶管理
(1)館內用戶管理:對接人力資源系統,通過接口推送/拉取、數據庫同步等方式,實現用戶管理系統與人力資源系統的數據同步。
(2)館外用戶管理:“智慧國博”范圍內,有一些應用系統支持外部用戶的訪問,通過提供對外接口,應用系統通過訪問該接口,發起“新增館外人員申請”,啟動工作流審批,審批通過后,在用戶管理系統中增加館外人員。
2.2.3 與其他應用系統對接
統一身份認證系統提供客戶端和一系列接口,實現與第三方系統的集成。系統提供客戶端JAR 包/SDK、接口文檔等指導各個應用系統的實現。
2.2.4 內外網統一身份認證
系統采用微服務架構運行于國博云之上,同時支持內網和辦公網應用的統一身份認證需求,系統需要在內網和辦公網分別部署。
2.2.5 各系統訪問權限管理
設立用戶的應用系統訪問權限表,各系統注冊后分配賬號,通過接口方式自行維護自己系統的用戶訪問權限。
2.2.6 現有中間庫數據的過渡
在數據庫設計時,盡量沿用目前人員中間庫的數據結構及數據,減少已開發完成的業務系統集成的工作量。
統一身份認證系統遵循“智慧國博”項目統一技術架構規劃,采用微服務架構進行開發設計,應用華為推出的產品級微服務開發框架CSE Java SDK 實現。WEB 前端采用VUE 框架,工作流引擎采用Activiti,數據庫采用達夢7.0 版,采用CAS 中央認證服務實現單點登錄。系統部署在國博云的虛擬機中,并在內網和辦公網分別部署,兩套系統通過網閘進行通訊,實現認證數據和用戶數據的同步,采用負載均衡技術保障系統安全。
系統架構圖如圖1 所示。

圖1:系統架構圖
對于接入系統,認證中心接口協議調用采用HTTPS 傳輸方式,通信安全問題將轉化到HTTPS 傳輸的安全性問題上,而對于HTTPS 通道的攻擊,可以由單獨的網絡掃描模塊專門負責監控。
對于統一認證和SSO 接口參數的信息安全,一方面可采用專有加密算法對參數內容進行加密,另一方面,可以采用IP 認證策略來保證對接口雙方的信任,系統通過通道安全和信息加密雙保險的措施來保證統一認證體系的接口安全。
同時系統配有全方面的應用監控和訪問日志的審計,當發生異常情況或日志審計檢測到有可疑入侵行為時,會自動以多種方式通知到相關負責人。
統一身份認證系統是一個集用戶身份、認證與權限的支撐平臺,實現了身份認證、身份管理、授權管理和審計管理等業務功能。
認證管理提供統一的認證服務,實現各系統之間的單點登錄,最終實現一次登錄平臺、全程訪問、操作規范、統一界面的無縫操作模式。為了增強其安全性,實現提供多種高強度認證(多因子認證),并且對所有的登錄和訪問行為進行審計。
多因子認證:實現了UKEY 認證、賬號密碼認證、手機號+驗證號認證等方式。
集中認證中心:負責用戶身份驗證、應用系統登錄狀態維護、票據生成與發放。
認證客戶端:用于實現各個應用系統與統一身份認證系統集成。
單點登錄:與集中認證中心交互,提供多種登錄方式,實現一次登錄、多點漫游。
身份管理對用戶賬號及用戶信息進行統一管理,確保用戶在“智慧國博”范圍內只有一個賬號,避免了一個人擁有多個賬號,難于記憶,操作復雜等問題。實現了機構管理、用戶管理、館外用戶審批等功能。
機構管理:實現組織機構的維護、數據同步等功能。
用戶管理:實現用戶基本信息的維護、數據同步等功能。
館外用戶審批:實現館外用戶申請的審批過程管理。審批通過后的館外用戶,可以訪問“智慧國博”范圍內的應用系統。
崗位兼職管理:提供用戶的兼職崗位管理,為應用系統提供用戶崗位兼職查詢服務。
職稱職級管理:提供用戶的職稱職級管理,為應用系統提供用戶職級職稱查詢服務。
實現統一的權限管理,加強授權管控,提高授權合理性、規范性檢查;集中監控用戶在不同業務應用上的權限分配。本系統提供應用系統訪問授權,對于應用系統內部的權限由各個應用系統自行控制。包括統一身份認證系統的內部權限控制及各個應用系統的訪問權限控制。具體功能包括:角色權限管理、應用系統管理、應用系統授權。
角色權限管理:提供角色組、角色管理、角色權限設置等功能。
應用系統管理:提供應用系統基本信息管理、注冊、注銷等功能。
應用系統授權:提供多種方式為用戶設置應用系統訪問權限。
統一的審計管理能有效審計業務流程和權限變更、認定用戶行為責任,通過集中統一的系統訪問審計分析,能夠及時發現入侵行為,進行權限風險分析和預警。包括日志管理和統計分析。
日志管理:提供不同類型(登入登出、操作、接口調用等)的日志采集、查詢等功能。
統計分析:提供圖形、表格等多種形式的日志統計分析功能。
統一身份認證系統的核心是“用戶信息”,本系統建立了一系列適合國博用戶管理要求的元數據規范。
系統基礎數據包括組織機構數據、館內用戶數據、館外用戶數據、應用系統數據、角色權限數據等。組織機構、館內用戶數據來源于人力資源管理系統,通過與人力資源系統集成,實現定時更新。館外用戶數據來源于各個應用系統的訪問需求,通過業務流程審批后,納入到統一身份認證系統中進行管理。根據“智慧國博”范圍內已有應用系統情況,將其統注冊到統一身份認證系統中,支持新建應用系統的注冊管理。通過角色權限管理,建立用戶與應用系統之間的關聯關系。上述各類數據為統一身份認證、單點登錄提供數據基礎。
統一身份認證系統是“智慧國博”的統一認證中心和登錄入口,為了保證國博所有信息化系統的互連互通,避免信息孤島,完成各個業務功能,需要與其他第三方系統進行集成。系統集成通過集成統一身份認證客戶端進行身份認證和用戶數據的傳遞交換。
提供給應用系統的用戶查詢接口,包括檢查賬號是否可用、新增館外用戶、用戶信息修改、查詢機構信息、根據機構id 獲取用戶信息、查詢用戶信息、根據用戶登錄名獲取機構信息、根據用戶登錄名查詢用戶權限、新增用戶權限等。
提供給人力資源系統的數據同步接口,包括機構數據同步接口、人員數據同步接口、崗位數據同步接口、基表數據同步接口等。
統一身份認證系統實現了“智慧國博”范圍內的統一用戶管理、統一授權管理和單點登錄,并支持第三方系統的認證服務。在系統設計時,考慮到信息化建設過程中系統更新升級、業務需求變化、以及統一身份認證系統自身可能帶來的單點故障問題等情況,系統的各子系統設計相對獨立,保證了系統的穩定性,強化了易更新、易集成的特性,為“智慧國博”項目提供有力支撐。隨著統一身份認證系統的逐步完善,將在多平臺信息系統建設中發揮重要作用。