龔雷 蘇嘉珺 方偉明
上海市公安局科技處 上海 233001
上海公安系統(tǒng)經(jīng)過(guò)多年的信息化建設(shè),已經(jīng)建成了一大批比較成熟的應(yīng)用系統(tǒng),其涉及的應(yīng)用面覆蓋了上海公安的大部分業(yè)務(wù)。
基于公安數(shù)字身份證書(shū)的集中授權(quán)平臺(tái)的建設(shè)不僅可以改善信息孤島的問(wèn)題,也將促進(jìn)公安行業(yè)信息系統(tǒng)建設(shè)、業(yè)務(wù)流程整合等方面的改革,從整體上提高信息化建設(shè)的質(zhì)量,適應(yīng)社會(huì)經(jīng)濟(jì)快速發(fā)展對(duì)公安信息化的需求。這在當(dāng)前公安信息化建設(shè)與發(fā)展中有著十分重要的意義。
基于PKI/PMI的規(guī)范的安全認(rèn)證模型如圖1所示。
圖1 PKI/PMI安全認(rèn)證模型圖
(1) 用戶向訪問(wèn)控制接口提交自己的數(shù)字證書(shū),并提出訪問(wèn);
(2) 接口請(qǐng)求驗(yàn)證服務(wù)器驗(yàn)證用戶的身份和權(quán)限;
(3) 驗(yàn)證服務(wù)器調(diào)用PKI系統(tǒng),PKI利用數(shù)字證書(shū)進(jìn)行用戶的身份認(rèn)證,如果不能通過(guò)身份驗(yàn)證,則為非法用戶,拒絕進(jìn)入系統(tǒng);
(4) 通過(guò)身份認(rèn)證后,驗(yàn)證服務(wù)器調(diào)用PMI系統(tǒng),PMI利用屬性證書(shū)進(jìn)行用戶權(quán)限的驗(yàn)證,如果通過(guò)權(quán)限驗(yàn)證可以進(jìn)入應(yīng)用系統(tǒng),系統(tǒng)響應(yīng)用戶請(qǐng)求,否則不能訪問(wèn)應(yīng)用系統(tǒng)。
模型的主要元素:
(1) 可視化授權(quán)策略生成器:可用來(lái)定義、維護(hù)和查詢滿足用戶需求的任何類型的授權(quán)策略。定義后的策略轉(zhuǎn)化成可被授權(quán)決策引擎處理的授權(quán)規(guī)則存放數(shù)據(jù)庫(kù)中。
(2) 授權(quán)語(yǔ)言控制臺(tái):管理員用于指定授權(quán)規(guī)則,作用類似于可視化策略生成器,方便管理員更快更方便的制定授權(quán)規(guī)則。
(3) 用戶、組、角色管理模塊:管理用戶、組合角色之間的關(guān)系,包括分配角色給用戶、添加刪除組內(nèi)用戶、角色間的繼承關(guān)系等等。
(4) API接口:用于授權(quán)和訪問(wèn)控制的接口,分為兩類:授權(quán)管理API和授權(quán)引擎API。授權(quán)管理API用于為用戶和組設(shè)置權(quán)限。授權(quán)引擎API主要用于控制用戶對(duì)資源的訪問(wèn)。
(5) 授權(quán)決策引擎:主要用于判斷是否允許主體(包括用戶、進(jìn)程、應(yīng)用等)發(fā)送的訪問(wèn)請(qǐng)求。授權(quán)決策引擎從文本文件、分布式授權(quán)服務(wù)器或用戶提供的證書(shū)獲取所有與該請(qǐng)求相關(guān)的訪問(wèn)策略,并根據(jù)這些策略做出決策。引擎還包括權(quán)限沖突的檢測(cè)和解決。
(6) 授權(quán)語(yǔ)言解釋器:用于對(duì)客戶端生成的授權(quán)語(yǔ)句的解釋處理,然后存儲(chǔ)到授權(quán)規(guī)則數(shù)據(jù)庫(kù)中。
(7) 數(shù)據(jù)庫(kù):保存成員信息、授權(quán)規(guī)則、歷史訪問(wèn)信息等,用于授權(quán)決策的判定。
(8) 主體:主體的類型有多種,包括但不僅限于用戶、應(yīng)用、主機(jī)、任意一個(gè)人、機(jī)構(gòu)、進(jìn)程等。
(9) 客體:訪問(wèn)控制的目的是保護(hù)客體免于非授權(quán)的訪問(wèn)。受保護(hù)的客體種類對(duì)應(yīng)用來(lái)說(shuō)是特定的,不包含在授權(quán)模型內(nèi)。需要保護(hù)的客體包含但不僅限于:數(shù)據(jù)庫(kù)數(shù)據(jù)、文件、目錄、網(wǎng)絡(luò)連接、主機(jī)、外設(shè)等實(shí)體。客體名稱應(yīng)該從應(yīng)用特定的命名域中提取得到,而且對(duì)授權(quán)機(jī)制來(lái)說(shuō)必須是明確的。
(10) 策略語(yǔ)言:與客體相關(guān)的策略包括一個(gè)允許的操作集合、一個(gè)允許的主體集合和一個(gè)可選的操作約束。定義一個(gè)策略必須包括:訪問(wèn)標(biāo)志、授予者標(biāo)志、訪問(wèn)權(quán)限集合、條件集合。策略語(yǔ)言表示了一個(gè)設(shè)置了條件的符號(hào)序列。
(11) 條件的設(shè)置:條件的設(shè)置分為一般的和特殊的,一般的條件可在訪問(wèn)控制API中判定;特殊的條件是依賴于應(yīng)用的,由應(yīng)用來(lái)判定。一般的條件有:
① 訪問(wèn)允許的時(shí)間或時(shí)間間隔。
② 主體的位置。權(quán)限被授予某些特定的主機(jī)、域或網(wǎng)絡(luò)上的主體。
③ 信息保護(hù)。設(shè)置如何保護(hù)信息的機(jī)密性和完整性。
④ 權(quán)限約束:一般,一個(gè)主體可能屬于多個(gè)組,該主體除了自己?jiǎn)为?dú)的權(quán)限意外,還缺省的擁有他所屬組的所有權(quán)限。在分配權(quán)限時(shí),可以選擇:A、一次只有一個(gè)組的權(quán)限。B、一次可以有特定幾個(gè)組的權(quán)限。
(12) 一般授權(quán)和訪問(wèn)API
① 授權(quán)管理API:提供必要的訪問(wèn)對(duì)授權(quán)相關(guān)的主體執(zhí)行管理功能,也可以用于實(shí)現(xiàn)認(rèn)證功能。主要的操作包括:增加或刪除用戶、增加或刪除機(jī)構(gòu)和增加或刪除應(yīng)用。
② 權(quán)限引擎API:主要包含兩個(gè)功能:一是檢查某個(gè)特定用戶是否被授予特定的操作集合;二是檢索特定用戶所授予的操作集合。
從調(diào)研的各個(gè)應(yīng)用系統(tǒng)統(tǒng)計(jì)分析來(lái)看,它們都是面向上海市公安各個(gè)部門(mén)的警員用戶或與公安密切相關(guān)的用戶,用戶群體比較固定;組織機(jī)構(gòu)也相對(duì)一致。采用統(tǒng)一的基礎(chǔ)信息庫(kù)管理用戶和機(jī)構(gòu)信息,并通過(guò)同步的方式分發(fā)給各個(gè)應(yīng)用系統(tǒng)使用可以有效的解決用戶信息無(wú)法統(tǒng)一、信息重復(fù)、身份不一致、應(yīng)用系統(tǒng)無(wú)法整合、系統(tǒng)安全性差、用戶操作復(fù)雜、維護(hù)難度大等問(wèn)題值。系統(tǒng)整體接入對(duì)策如圖2。
圖2 增加授權(quán)系統(tǒng)后模式圖
(1) 應(yīng)用正式開(kāi)通前,需要到統(tǒng)一信息集中授權(quán)管理平臺(tái)進(jìn)行注冊(cè),并約定需要同步的機(jī)構(gòu)、用戶信息域。
(2) 統(tǒng)一信息集中授權(quán)管理平臺(tái)將人員機(jī)構(gòu)信息定時(shí)通過(guò)不同的適配器同步給各個(gè)應(yīng)用系統(tǒng)。
(3) 終端用戶通過(guò)SSL認(rèn)證網(wǎng)關(guān)進(jìn)行身份驗(yàn)證和屬性獲取,并提交到應(yīng)用服務(wù)器進(jìn)行權(quán)限驗(yàn)證。
基礎(chǔ)信息庫(kù)按結(jié)構(gòu)層次可分為展現(xiàn)層、應(yīng)用層和數(shù)據(jù)層,其中展現(xiàn)層主要是基礎(chǔ)信息管理UI,應(yīng)用層主要有組織機(jī)構(gòu)信息管理、人員信息管理、應(yīng)用系統(tǒng)信息管理、同步管理和服務(wù)管理等模塊(如圖3)。
圖3 基礎(chǔ)信息庫(kù)
人員信息管理:實(shí)現(xiàn)應(yīng)用系統(tǒng)人員的整個(gè)生命周期的管理,對(duì)于人員的入職、調(diào)動(dòng)、兼職、離職等過(guò)程中的用戶身份的信息操作管理。
組織機(jī)構(gòu)信息管理:實(shí)現(xiàn)應(yīng)用系統(tǒng)機(jī)構(gòu)的整個(gè)生命周期的管理,對(duì)于機(jī)構(gòu)的創(chuàng)建、調(diào)整、拆分、合并等過(guò)程中機(jī)構(gòu)信息操作管理。
應(yīng)用系統(tǒng)管理:在權(quán)威基礎(chǔ)信息庫(kù)注冊(cè)需要管理的應(yīng)用系統(tǒng)的信息;同時(shí)在應(yīng)用系統(tǒng)中注冊(cè)相應(yīng)服務(wù),以實(shí)現(xiàn)數(shù)據(jù)同步。應(yīng)用系統(tǒng)管理包括應(yīng)用系統(tǒng)注冊(cè)(應(yīng)用系統(tǒng)的注冊(cè)、審批、信息修改和注銷等生命流程)和應(yīng)用系統(tǒng)服務(wù)管理(應(yīng)用系統(tǒng)同步服務(wù)接口地址的注冊(cè)、修改和注銷)。
授權(quán)管理:將各個(gè)應(yīng)用系統(tǒng)的角色授予對(duì)應(yīng)的人員,并記錄授權(quán)的歷史軌跡。主要包括授權(quán)、凍結(jié)授權(quán)、解凍授權(quán)、臨時(shí)授權(quán)、撤銷授權(quán)等過(guò)程中授權(quán)信息操作管理。
服務(wù)管理:管理向外提供的服務(wù),如向外提供用戶信息修改、應(yīng)用系統(tǒng)注冊(cè)等接口。
數(shù)據(jù)同步服務(wù)用于基礎(chǔ)信息庫(kù)和各個(gè)應(yīng)用系統(tǒng)之間的數(shù)據(jù)交互,主要完成將基礎(chǔ)信息庫(kù)的數(shù)據(jù)同步到其它系統(tǒng)中(圖4)。
圖4 數(shù)據(jù)同步服務(wù)圖
統(tǒng)一信息集中授權(quán)平臺(tái)的數(shù)據(jù)同步設(shè)計(jì)思路是統(tǒng)一信息集中授權(quán)平臺(tái)對(duì)應(yīng)用系統(tǒng)開(kāi)放數(shù)據(jù)接口,向應(yīng)用系統(tǒng)發(fā)布更新命令,應(yīng)用系統(tǒng)自行更新用戶、組織機(jī)構(gòu)等數(shù)據(jù)。平臺(tái)以XML文檔的形式開(kāi)放用戶、組織機(jī)構(gòu)、用戶擁有角色信息的數(shù)據(jù)接口,平臺(tái)通過(guò)http協(xié)議向應(yīng)用系統(tǒng)的數(shù)據(jù)同步程序發(fā)布同步指令,數(shù)據(jù)同步程序通過(guò)平臺(tái)的數(shù)據(jù)接口讀取并更新數(shù)據(jù)。
基于公安數(shù)字身份證書(shū)的集中授權(quán)平臺(tái)的建設(shè)不僅可以改善信息孤島的問(wèn)題,也將促進(jìn)公安行業(yè)信息系統(tǒng)建設(shè)、業(yè)務(wù)流程整合等方面的改革,從整體上提高信息化建設(shè)的質(zhì)量,適應(yīng)社會(huì)經(jīng)濟(jì)快速發(fā)展對(duì)公安信息化的需求。這在當(dāng)前公安信息化建設(shè)與發(fā)展中有著十分重要的意義。
[1] 周文峰,尤軍考,何基香.基于RBAC模型的權(quán)限管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息.2006.
[2] Sandhu R S, Coyne E J, Feinstein H L, et al. Role-based Access Control Models[J]. IEEE Computer.1996.
[3] Epstein P, Sandhu R. Towards A UML Based Approach to Role Engineering[C]//Proceedings of the 4th ACM Workshop on Role-based Access Control. [S. l.]: AVM Press.1999.