




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第 1 章 簡介1.1 研究背景與意義近年來,隨著企業信息系統的廣泛使用,信息技術成為知識經濟的基礎,企業的發展中起著不可替代的作用。信息技術在企業中的運用,高了企業效率,改變了傳統的商業模式,使得信息和服務得到了極大的共享。但與此同時,系統安全問題也逐漸受到越來越多的關注。對信息資源的訪問控制和用戶權限的管理成為了企業確保系統安全的重要工作。在信息安全體系結構中,訪問控制技術(Access control technology)是解決安全問題的一個關鍵。目前我國的大部分企業均采用傳統的訪問控制技術,包括自主訪問控制(DAC)和強制訪問控制(MAC),但它們都存在著一些弊端。本文以基于角色的訪
2、問控制技術(RBAC)為理論基礎,針對企業展開了實踐探討,并通過分析系統功能需求,設計并實現了一個訪問控制系統。基于角色的訪問控制的核心思想是:將訪問權限與角色相聯系,而用戶的授權則通過賦予相應的角色來完成,用戶所能訪問的權限就由該用戶所擁有的所有角色的權限集合的并集決定。本文以大量的用例圖和邏輯等視圖分析了系統的設計框架,設計并實現用戶登錄模塊、數據庫模塊、流程權限配置模塊等。該系統可以應用于大型企業的信息系統,具有很好的通用性、可擴展性和可移植性。1.2 開發和運行環境介紹本次課設利用 JSP 去呈現一個訪問控制系統。管理員在網頁中登錄,用到的主要技術如下:1.2.1 MyEclipseM
3、yEclipse 是一個十分優秀的用于開發 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。MyEclipse 目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring, Hibernate,EJB3,JDBC 數據庫鏈接工具等多項功能。可以說 MyEclipse 是幾乎 囊括了目前所有主流開源產品的專屬eclipse 開發工具。1.2.2 Tomcat 6.0Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,屬于輕量級應用服 務器,在中小型系統和并發訪問用戶
4、不是很多的場合下被普遍使用,是開發和調試 JSP 程序的首選。1.2.3 jdkjdk 是 Java 語言的軟件開發工具包,主要用于移動設備、嵌入式設備上的 java 應用程序。1.2.4 MysqlMySQL 是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于Oracle 公司。MySQL是最流行的關系型數據庫管理系統,在WEB應用方面MySQL是最好的 RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大
5、倉庫內,這樣就增加了速度并高了靈活性。MySQL 所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策(本詞條 “授權政策”),它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。由于其社區版的性能卓越,搭配PHP 和 Apache 可組成良好的開發環境。 第 2 章 基于角色的訪問控制2.1 訪問控制基礎訪問控制的定義是:“為電腦系統所屬資源在遭受未經授權的操作威脅時,供適當的控制以及防護措施,以保護信息的機密性和完整性。”其中,未經授權的操作包括:未經授權的使用、信
6、息的泄露、未經允許的修改、惡意的破壞以及拒絕服務五部分。“訪問”的本質是主體對客體實行某種操作。同時通過引用監視器來控制訪問。訪問控制系統一般包括:主體、客體、安全訪問策略。這是訪問控制的三要素。在信息系統中,主體是發出訪問操作、存取要求的發起者;客體是系統中被處理、被控制或被訪問的對象;安全訪問策略是一套規則,用以確定一個主體是否對客體擁有訪問權限。三要素的具體內容見表1。2.2 RBAC 模型的基本概念隨著計算機信息系統在非軍用領域得到更為廣泛的應用,傳統的自主訪問控制技術和強制訪問控制技術已經不能滿足現代信息系統安全的需求。在這種情況下,出現了基于角色的訪問控制模型。基于角色的訪問控制策
7、略在用戶(user)和訪問權限(permission)之間引入了角色(role) 的概念,用戶與特定的一個或多個角色相聯系,角色與一個或多個訪問權限相聯系,角色在用戶與權限之間起了一個橋梁的作用。在實際的工作中,角色可以生成或取消,它的權限也可以根據實際工作需要進行修改。基于角色的權限管理模式適用于用戶較多且有著不同權限層次的系統的訪問控制的管理,目前被認為是解決大型企業權限管理問題的有效方法。RBAC 模型主要有以下 7 個概念:用戶:直接與系統進行互動的人或程序。角色:對應于組織中某一特定職能崗位,代表特定的任務范疇。在RBAC中權限分配給角色,用戶通過扮演不同的角色擁有著對應的權限組合。
8、權限:表示主體對系統中的客體進行特定模式訪問的操作許可。權限包含操作與客體,在 NIST 的RBAC 標準中,特別定義了操作與客體。操作:指對客體的操作能力,包含寫入、讀取與擁有權等,此外也可以包含抽象的操作動作。客體:指訪問控制可供操作的客體,可能是檔案、文件或是執行程序等相關的客體。會話:用戶對應到可使用的角色集合的過程,用戶通過會話對應到被允許的角色,RBAC中用戶可以對應到多個角色,根據需要來轉換角色,獲得適當的權限,以達到最小權限的功能。限制:用來規定角色彼此之間的關系,如層次關系、角色互斥的關系。 2.3 RBAC 的設計原則基于角色的訪問控制模型主要遵循以下原則:角色繼承原則、最
9、小權限原則、職責分離原則角色容量原則、數據抽象原則。角色之間、權限之間、角色和權限之間定義了一些關系。角色繼承關系表示角色之間可以相互繼承,將子角色分配給用戶,用戶將獲得其父角色的所有權限。當角色之間可能有互相重疊的職責和權力時,屬于不同角色的用戶可能需要執行一些相同的操作。這樣,管理員在設置子角色的時候,只需要設定不同于父角色的屬性和訪問權限,避免了重復定義。最小原則原則之所以被 RBAC 支持,是因為 RBAC 可以將其角色配置成其完成任務所需要的最小權限集。職責分離原則可以通過調用相互獨立互斥的角色來共同完成敏感的任務而體現,比如要求一個記賬員和管理員共同參與同一過賬。角色容量原則是指,
10、在一個特定的時間段內,有一些角色只能有一定人數的用戶占用。在創建新的角色時應該指定角色的容量。數據抽象可以通過權限的抽象來體現,如財務操作用借款、存款等抽象權限,而不用操作系統供的典型的讀、寫、執行權限。然而這些原則必須通過 RBAC各部件的詳細配置才能得以體現。2.4 訪問控制策略比較訪問控制策略是一套規則,用以確定一個主體是否對客體擁有訪問權限。根據制定的系統安全策略,形成了主體與客體、主體與主體、客體與客體之間相互訪問的關系。但并不是要把系統中的每個實體都分為客體或主體,根據不同的情況,一個實體可以是一個訪問請求的主體,同時也可以是另一個訪問請求的客體。訪問控制策略一般分為三種:自主訪問
11、控制策略、強制訪問控制策略和基于角色的訪問控制策略。這三種訪問控制策略的關系如圖 1 所示。自主訪問控制最早出現在 20世紀70年代時期的分時系統中,是一種多用戶環境下最常用的一種訪問控制技術,在目前流行的 Unix 類操作系統中被普遍采用。自主訪問控制技術基于這樣的思路:主體全權管理有關其客體的訪問授權,有權泄露、修改該客體的有關信息。因此,自主訪問控制也存在著一些缺點。首先在商業應用中,系統的用戶大多對資源不具備所有權,所有權是屬于公司甚至外部機構,從這個層面上說自主訪問控制不適合于商業應用。另一方面,自主訪問控制允許用戶自主決定將權限轉讓給他人,在經過多次權限轉讓之后,權限可能被無限制地
12、擴散,無法保證系統的安全性。而此時系統管理員對權限的管理幾乎沒有任何權利,形同虛設。此外,自主訪問控制中對資源的訪問是直接依據權限進行,無法防范木馬攻擊,木馬攻擊者可以獲得或破壞機密信息。強制訪問控制的基本思想:每個主體和客體都有其既定的安全屬性,某客體是否能執行特定的操作取決于它的主體和該客體的安全屬性的關系,當然,主客體的安全屬性不能隨意更改,一般只能由系統的安全管理員設置。管理員可以對系統權限進行有效的管理,但由于主客體之間需要相互逐一進行配置,工作量巨大。此外,強制訪問控制缺乏靈活性,與自主訪問控制相同,也很難滿足商業應用的需要。基于角色的訪問控制更一般化,可以通過 RBAC 實現 M
13、AC 和 DAC ,但其本質上是一種非任意權限的控制方法。基于角色的訪問控制可以有效地減小權限管理的工作量,它可以按需要定義一些約束條件,例如設置互斥角色。RBAC 也能夠很好地支持最小權限原則和職責分離原則,以確保系統的安全。而且,它實現了用戶與訪問控制的邏輯分離,極大地方便了權限的管理。RBAC 模型實際上形象地反映了 RBAC 本身的含義,建立 RBAC 模型就是要對 RBAC 進行系統而抽象地描述,從而使人們能夠非常方便地理解 RBAC 的含義,以便對其進行更加深入地研究。目前,絕大多數基于角色的訪問控制研究都以 RBAC96 或 NIST RBAC 模型作為出發點進行深入研究的。2.
14、5 NIST RBAC 模型首先討論 RBAC96 模型。 R.S.Sandhu等人于 1996 年出了基于角色訪問控制參考模型,即著名的RBAC96 模型,其包括4 個不同層次:基礎模型(RBAC0),角色層次模型(RBAC1),角色約束模型(RBAC2) ,復合模型(RBAC3)。RBAC0 是最基本的模型,只包含最基本的 RBAC 元素:用戶、角色、權限以及會話,但是其滿足了RBAC 系統所必須的最小要求。在 RBAC0 中,不存在角色之間層次關系,所有角色都是平級的,所有的對象也沒有約束。RBAC 1是在RBAC0的基礎上引入一定的層次結構,其包含RBAC0 的所有內容。RBAC2在
15、RBAC0 的基礎上引入了約束條件,對于現實社會中的實際系統,不管其是否具有角色的層次關系,約束機制都是必不可少的。RBAC3 相比較于 RBAC0,增加了角色分級和約束限制,因此,可以認為 RBAC3 是 RBAC 1 和 RBAC2 兩者的結合。RBAC 各子模型間的關系如圖 2 所示。NIST(National Institute of Standards and Technology)是美國標準與技術協會的簡稱。它出的NIST RBAC 模型實質上是 RBAC96 中RBAC3 模型的一個擴展,NIST RBAC 模型的意義不在于理論或技術上的創新,而在于標準化。NISTRBAC定義了
16、四個模型部分:核心RBAC 、層次 RBAC 、靜態職責分離 RBAC和動態職責分離 RBAC 。圖3 給出了NIST RBAC模型的基本框架。在現實應用中,單純的基于角色的管理往往不能完全適應大型系統的管理,特別是當管理需要考慮到基于服務的集中式與分布式相結合的方式以及各個部門之間角色的協作等因素時,這些情況下往往需要擴展才能實現。 第 3 章 應用系統的需求分析實際生產中,系統分析部分主要是根據用戶出的原始需求和需求調查資料進行分析,取出系統的功能要點、開發對象以及系統的規模預測,并進一步選定系統的軟件環境,包括開發環境和運行環境。由于本課設不涉及實際生產,我們只是模擬一個基于角色管理的工
17、廠安全管理平臺,所以需求均為我們的假設,可能與實際生活有所偏差。由于用戶出的需求是從用戶角度分析的,那么在實際生產中,要考慮的問題為:出需求的用戶是否對本領域有所了解或是否精通,這意味著用戶的原始需求可能并不適合直接用于系統的開發和設計,必須先從需求中取出功能的和抽象結構,再進行設計。企業安全管理平臺大致包括四個功能:安全流程體系管理、安全流程活動元數據管理、安全流程建模和配置、安全流程報表。安全流程體系管理供安全流程體系中用戶權限等方面的管理功能;安全流程活動元數據管理用來完成安全流程及流程活動相關元數據自身信息的管理以及元數據之間關聯關系的維護;安全流程建模和配置供安全流程建模和設計功能,
18、同時完成流程活動和相關元數據的綁定;安全流程報表完成流程操作手冊以及安全流程相關數據的統計分析報表的動態、實時生成。安全流程管理平臺訪問控制子系統的訪問控制,該功能只有系統管理員才可以進入,系統管理員通過該模塊可以實現與系統用戶信息相關的日常維護工作。包括:查詢用戶信息、新建用戶(包括分配權限)、修改用戶信息、刪除用戶。用戶權限控制:登錄到系統后,不同用戶身份具有不同的權限。例如普通管理員可以查詢用戶的信息,但不可以刪除和編輯用戶的信息。第 4 章 訪問控制系統框架設計4.1 總體架構設計由圖4 可知,網頁打開之后,當用戶請求訪問URL,訪問控制系統會將該請求攔截,然后運行訪問控制系統方法中的
19、業務邏輯,對請求進行一系列分析處理。在此設置了 session,session 是指一個終端用戶與交互系統進行通信的時間間隔,通常是指從注冊進入系統到注銷退出系統之間所經過的時間。Session 的使用使得用戶登錄之后,退出瀏覽器之后的一段時間內,若再次進入系統,不需要重復登錄。另外,該系統設置了攔截器,如果用戶沒有登錄,是無法訪問網頁的。用戶登錄之后,則從 DB 獲取該用戶的角色,然后判斷是否對所請求的 URL具有訪問權限:如果具有權限,訪問控制系統則把控制權交給鏈中下一個資源,用戶得以訪問所請求的 URL;如果沒有權限,則轉到錯誤示頁面,該頁面會顯示該用戶無權訪問。4.2 框架結構 在了解
20、了系統的需求以及工作流程的基礎上,圖 5 給出了訪問控制系統的架構。由圖可知,本訪問控制系統采用雙層訪問控制來進行訪問控制:第一層是用戶管理,該層主要是對用戶信息進行管理以及對用戶進行角色分配,即對用戶的增刪改查。第二層是用戶則與流程訪問控制,這里面主要是權限流程的分配。第一層是外部的訪問控制,第二層是內部的訪問控制,第一層是第二層的基礎,第二層是第一層的深入。圖 6 給出了功能模塊的分解圖,描述了整個系統結構。由圖6 知,該系統主要分為三大模塊:登錄模塊、用戶管理模塊、權限配置模塊。登錄模塊具有兩個子模塊:登錄和退出。其中登錄模塊包括了 SSO單點登錄、session 用戶保存以及攔截器。用
21、戶管理模塊包括用戶管理和角色配置,用戶管理實際上就是 CRUD (Create,Retrieve,Update,Delete )。角色配置模塊就是為用戶分配角色。權限配置模塊完成為角色設置權限。第 5 章 訪問控制系統的實現5.1訪問矩陣添加用戶刪除修改訪問業務A訪問業務BUsertruefalsefalsefalsefalseAdmintruetruefalsefalsefalseSuperAdmintruetruetruetruetrue5.2 程序演示 系統完成后是以網頁形式呈現的。系統設置了三種角色,即:user代表普通用戶,admin 代表普通管理員,superadmin 代表超級管
22、理員。這三個不同的角色具有不同的權限。首先,普通管理員登錄。界面如圖 7 所示,密碼均為123。圖7 用戶登錄頁面進入主界面,如圖 8 所示。主界面包括三個區域,上方顯示登錄狀態及登錄的身份。注銷按鈕用于退出,退出之后回到登錄界面。左邊區域是菜單欄,一級菜單共四項內容:增加用戶、業務 A 、業務 B、查詢用戶。點擊任一功能,右側會實現功能的具體操作。圖8 主頁面點擊“添加用戶”,右側會給出需要填寫內容的表單,其中“角色”下拉選框是為新增添的用戶分配角色。對于待分配的三種角色,并不是任意分配的。這取決于當前用戶的角色。例如普通管理員為新建用戶只可以分配普通用戶的角色,而不具有權限分配權限向上的角色。如圖 9 所示。圖9 添加用戶完成用戶的添加之后,進入 “查詢用戶”功能。右側可以看到user1 已經添加進來了。在訪問控制系統中,用戶信息存在著兩種操作:查詢和修改。查詢是為了看到用戶信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經濟學基礎理論與現實應用分析試題
- 記憶里的那個英雄人物作文7篇
- 農業自然災害防控合作協議
- 專利申請及技術轉讓出資證明書(8篇)
- 產品購銷協議合同書
- 環境科學污水處理案例分析試題
- 2025美甲師高級考試試卷:美甲行業創新發展策略與市場分析
- 數學分析基礎應用題庫
- 2025年工藝品及其他制造產品項目立項申請報告
- 2025年征信國際合作案例分析試題集
- 育嬰員考試題型及答案
- 科室建立血糖管理制度
- 四川成都東方廣益投資有限公司下屬企業招聘筆試題庫2025
- 物業小飯桌管理制度
- 2025年湖南省普通高中學業水平考試合格性考試模擬試題(長郡版高一生物)(原卷版)
- 2025春國家開放大學《思想道德與法治》終考大作業答案
- 2025年廣東省廣州市白云區中考語文二模試卷
- 【英語(新高考Ⅰ卷)】2025年普通高等學校招生全國統一考試
- 2025企業并購合同協議模板
- 2025年天津市河西區中考二模數學試題(含部分答案)
- 醫院培訓課件:《藥品不良反應報告和監測工作簡介》
評論
0/150
提交評論