基於角色訪問控制的OA系統的設計與實現

<div id="cnblogs_post_body" class="blogpost-body "> 摘要:隨着電子政務的快速發展和全面普及,辦公自動化(OA)系統的安全性顯得愈來愈重要。對基於Web 的B/S 結構的OA 系統結構和安全需求進行了分析,爲了加強用戶身份鑑別和受權控制的安全性,分析了基於角色的安全訪問控制的核心思想和模型。在OA 系統中進行了基於角色的安全訪問控制設計,給出用戶、角色和權限的劃分,提出安全訪問控制流程。<p style="border: 1px solid #333333; padding: 7px; line-height: 110%; font-size: 14px;"><em><strong>廣告插播信息</strong><br>維庫最新熱賣芯片: <a href="http://www.dzsc.com/stock-ic/SLVU2.8-4.html" target="_blank">SLVU2.8-4</a> <a href="http://www.dzsc.com/icstock/294/HA3-2605-5.html" target="_blank">HA3-2605-5</a> <a href="http://www.dzsc.com/icstock/904/74LVC16244ADGG.html" target="_blank">74LVC16244ADGG</a> <a href="http://www.dzsc.com/icstock/671/TC55V1325FF-8.html" target="_blank">TC55V1325FF-8</a> <a href="http://www.dzsc.com/stock-ic/P181.html" target="_blank">P181</a> <a href="http://www.dzsc.com/stock-ic/KVT22.html" target="_blank">KVT22</a> <a href="http://www.dzsc.com/stock-ic/CY62126BVLL-55ZI.html" target="_blank">CY62126BVLL-55ZI</a> <a href="http://www.dzsc.com/icstock/408/LT1820-8595.html" target="_blank">LT1820-8595</a> <a href="http://www.dzsc.com/icstock/475/2SK1120.html" target="_blank">2SK1120</a> <a href="http://www.dzsc.com/icstock/116/AD7840AQ.html" target="_blank">AD7840AQ</a> </em></p> <p>  1 引言</p> <p>  隨着計算機和Internet 的快速發展,OA 系統,即辦公自動化系統,已經成爲政府、企業和高校等單位辦公的得力助手,不少平常工做都必須使用OA 系統才能完成,所以,OA系統的安全問題顯得尤其重要。某些信息涉及到單位的機密,這些信息的訪問權限須要受到保護。另外,一些用戶越權訪問信息資源、篡 改重要數據的事件時有發生,形成管理混亂。</p> <p>  針對這些狀況,本文對OA 系統進行了基於角色的安全訪問控制設計。</p> <p>  2 OA 系統結構</p> <p>  爲了便於用戶的使用和維護,節約系統維護成本,目前OA系統應用較普遍的是基於Web的B/S(Browser/Server)結構,客戶端只 需帶有瀏覽器軟件,可以最大程度地實現資源共享,避免了資源的浪費。OA系統的B/S結構是三層體系結構,即交互層、服務層和數據訪問層[1],如圖1所 示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150718517-1131906177.png" border="0" alt=""></p> <p><br></p> <p>  圖1 B/S三層體系結構圖</p> <p>  位於頂層的是交互層,負責邏輯表達,經過瀏覽器完成系統與用戶的交互。位於中間的是服務層,負責爲上層的應用提供相應的服務平臺。位於底層的是 數據訪問層,主要由數據庫服務器提供對整個OA 系統的功能支持,同時負責與數據庫管理系統進行交互,提供對專門數據資源的存儲、管理和維護等服務。</p> <p>  3 OA 系統安全需求</p> <p>  設計開發一個OA系統通常要考慮如下7個方面的安全需求[2][3]:</p> <p>  (1)身份鑑別。用戶和後臺服務器可以相互確認身份的合法性和真實性。</p> <p>  (2)受權控制。根據鑑別的用戶真實身份肯定對信息資源或應用的訪問權限,不能隨意擴大訪問權限或越權訪問信息。</p> <p>  (3)防止信息泄漏。保證信息在通訊傳輸中和存儲介質中不被有意或無心地泄漏、丟失或竊取。</p> <p>  (4)完整性。確保敏感信息不被非受權用戶惡意或無心篡改。</p> <p>  (5)信息流安全。保證用戶與服務器之間的路由正確可靠。</p> <p>  (6)信源確認。確保不一樣信息來自正確的服務器。</p> <p>  (7)抗抵賴性。創建責任機制,確保任何用戶都不可否認其所進行的操做。</p> <p>  4 基於角色的安全訪問控制模型</p> <p>  通常OA系統應採用Lotus Domino/Notes做爲應用系統開發平臺和應用支撐平臺。LotusDomino/Notes提供多層次的方法以確保應用的安全性,能夠保護域、區 段、表單、視圖、數據庫、服務器和網絡域的安全[4]。經過Lotus Domino/Notes不一樣層次模型的安全設置,可以對網絡信息存取權限進行有效的管理和控制,能夠保障系統具備強大的安全性。儘管Lotus Domino/Notes系統自己擁有比較完善的安全機制,爲了進一步提升系統的總體安全等級,還需補充另外的安全措施。身份鑑別和受權控制的安全是OA 系統安全需求中很是重要的方面, 本文針對此安全需求, 採用基於角色的安全訪問控制技術RBAC(Role-Based Access Control)進行設計。</p> <p>  1. 訪問控制方式種類</p> <p>  對訪問控制方式,國內外已經進行了多年的研究。有三種訪問控制方式影響較大, 它們是:DAC(Discretionary Access Control)自主訪問控制,MAC(Mandatory Access Control)強制訪問控制和RBAC(Role-Based Access Control)基於角色的訪問控制[5]。</p> <p>  自主訪問控制DAC是指用戶能夠自主地將訪問權限或者訪問權限的某個子集授予其餘用戶,但極可能會由於權限的傳遞而出現失控,致使信息的泄漏。強制訪問控制MAC嚴格控制了用戶的權限,可是它的受權過程卻十分複雜,因此多用於軍事領域,其餘方面不多使用。</p> <p>  基於角色的訪問控制RBAC是目前最爲流行的訪問控制策略。它經過引入「角色」的概念,使得受權管理變得簡單。它比傳統的自主訪問控制和強制訪問控制更優越, 同時也提供了更高的靈活性和可擴展性。</p> <p>  2. RBAC的核心思想與模型</p> <p>  管理用戶對資源的訪問和存取控制的傳統方法一般是直接給每一個用戶必定的權限許可,可是隨着單位內部人員發生離職、升職或離開崗位,管理員必須根 據單位的人事變更對人員數據庫作相應的調整,從而給數據庫管理帶來不便,系統開銷大,基於角色的訪問控制技術RBAC是解決此問題的合理選擇[6]。 RBAC的核心思想就是將訪問權限與角色相聯繫,經過給用戶分配合適的角色,使用戶與訪問權限相聯繫。角色是根據各單位內爲完成各類不一樣的任務須要設置 的,根據用戶在單位中的職責和責任來設定他們的角色。</p> <p>  關於RBAC模型,比較著名的是美國George Mason大學的R. Sandhu教授的RBAC96模型[7],本文也是基於此模型進行基於角色的安全訪問控制設計,基於角色的安全訪問控制模型圖如圖2所示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150738097-1541510634.png" border="0" alt=""></p> <p><br></p> <p>  圖2 基於角色的安全訪問控制模型圖</p> <p>  用戶是對數據對象操做的主體。角色是對應於組織中的某一特定的職能崗位,表明了一個特定的任務範疇。角色做爲中間橋樑將用戶和權限聯繫起來。約 束是附加於RBAC系統中各元素之上,用來表達許可執行的條件。會話是一個動態概念,用戶激活角色及時創建會話。權限是用戶對系統中的對象進行某種特定模 式訪問的操做許可。</p> <p>  3. Domino數據庫的存取控制列表</p> <p>  Domino數據庫有個存取控制列表ACL(Access Control List),它用來指定什麼人能夠以什麼方式(例如建立、讀、寫、刪除等)對數據庫進行訪問,要控制Notes系統用戶的存取權限[4],就要在ACL中 爲用戶設定適當的存取級別、用戶類型等。</p> <p>  5 基於角色的安全訪問控制設計</p> <p>  在OA系統中,結合RBAC模型與Domino數據庫所提供的系統級的安全機制,能夠直接地把辦公組織結構映射到辦公自動化系統中,簡化權限的 管理工做。安全管理人員根據須要指定各類角色,根據用戶的責任和職位再指派其爲相應的角色。整個訪問控制過程就是訪問權限與角色相關聯,角色再與用戶關 聯,從而實現了用戶與訪問權限的邏輯分離。</p> <p>  1.用戶與角色的劃分</p> <p>  系統用戶分爲三種:系統管理用戶、業務管理用戶和普通用戶。系統角色能夠分爲:維護整個系統的系統管理員、維護某個功能模塊的業務管理員、單位領導、各部門領導、負責收發文件部門的祕書與領導、單位員工等。</p> <p>  2.權限劃分</p> <p>  角色做爲用戶與訪問權限之間的中介,給用戶賦予必定的角色,再把權限賦予角色,用戶經過角色獲取相應的訪問操做權限。權限分爲多種類型:如管理 員對系統或功能模塊的使用權限,普通用戶對文檔數據的操做使用權限,這些權限屬於被動的權限控制策略。創建起用戶、角色和權限的關係表,可以快速查找各個 角色的用戶的相關權限或某個權限的用戶的集合。用戶、角色和權限對應關係表如表1所示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150754779-891650858.png" border="0" alt=""></p> <p><br></p> <p>  表1 用戶、角色和權限對應關係表</p> <p>  另外,對權限還要實施動態的管理,即根據文檔的狀態和用戶角色動態地決定該角色的用戶所應該進行的權限或對數據進行的操做。動態權限管理由權限 規則來描述,如在發文數據庫中公文在起草狀態、審覈狀態、批准狀態、簽發狀態和發文狀態中,祕書、部門負責人、辦公室主任等角色的用戶能對該對象進行什麼 樣的操做。一條權限規則由一個訪問者和一個權限向量組成,權限向量描述訪問者能夠對數據對象進行哪些操做。多條權限規則共同構成對權限的動態控制。</p> <p>  3.安全訪問控制流程</p> <p>  安全訪問控制的流程圖如圖3所示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150812766-795699416.png" border="0" alt=""></p> <p><br></p> <p>  圖3 安全訪問控制流程圖</p> <p>  對此安全訪問控制流程描述以下:</p> <p>  (1)用戶要使用用戶名和密碼登陸OA系統,認證服務器對用戶名和密碼進行驗證來確認用戶身份,驗證時要將用戶輸入的信息與數據庫中的用戶信息表相比較,若是相符,則容許用戶進入本系統,不然將返回出錯信息。</p> <p>  (2)用戶登陸OA系統後,系統從用戶信息表中提取出用戶的ID號,查詢數據庫中的角色分配表激活角色,創建會話,角色分配表包含用戶ID和對應的角色。</p> <p>  (3)激活角色,創建會話後,系統查詢權限規則表,爲用戶分配權限,使用戶得到目標文檔數據或取得相關操做權限。權限規則表是根據數據庫中文檔 狀態和角色動態變化的。用戶操做完成後退出系統。基於角色的安全訪問控制設計實現了屬於不一樣角色的用戶在同一個OA系統中得到不一樣的權限,即不一樣的角色顯 示不一樣的功能模塊,有效避免了超越操做行爲的發生,加強了OA系統身份鑑別和受權控制方面的安全性。</p> <p>  6 結束語</p> <p>  本文對適用於公司、企業和高校的OA系統進行了系統結構分析和安全需求分析。爲了加強用戶身份鑑別和受權控制的安全性,重點對OA系統進行了基於角色的安全訪問控制設</p> <p>  計,使得不一樣的用戶有相應的角色和權限,防止越權訪問。可是計算機和網絡的發展會對OA系統的安全性提出更高的要求,相應的安全策略也須要不斷更新、不斷完善,從而加強OA系統的總體安全性。</p> <p>  本文創新點: 在 OA 系統中進行了基於角色的安全訪問控制設計,給出用戶、角色和權限的劃分,提出安全訪問控制流程,加強了OA 系統身份鑑別和受權控制方面的安全性。</p> </div>html

相關文章
相關標籤/搜索