999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件UML建模與RBAC安全模型

2009-04-29 00:00:00張賽男尉紅艷喬正洪雷小于
電腦知識與技術 2009年15期

摘要:軟件系統建模一般不包括安全建模,系統安全策略和安全機制往往作為開發人員在系統開發后期對系統的補充和完善的措施。這種不規范的安全需求處理為系統后期安全維護及系統之間的集成帶來莫大隱患。該文闡述RBAC的安全建模與系統通常UML建模。

關鍵詞:安全建模;RBAC;UML;RBAC模型

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2009)15-3948-03

UML Modeling of Software and RBAC Security Model

ZHANG Sai-nan, WEI Hong-yan, QIAO Zheng-hong, LEI Xiao-yu

(PLA. University of Science and Technology, Nanjing 211100, China)

Abstract: The modeling of software system generally does not include security model, system security strategy and mechanism are often taken as the supplement and improvement to system in the later period of its development. This kind of nonstandard processing of security requirements brings great hidden danger for the system in later security maintenance and the system integration. This paper introduces RBAC security model and generally UML model.

Key words: security modeling; RBAC; UML; RBAC design model

1 UML簡介

UML(統一建模語言,Unified Modeling Language)是一種定義良好、易于表達、功能強大且普遍適用的可視化建模語言。它融入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向對象的分析與設計,還支持需求分析開始的軟件開發的全過程。在系統分析階段,一般用UML來畫很多圖,主要包括用例圖、狀態圖、類圖、活動圖、序列圖、協作圖、構建圖、配置圖等等,要畫哪些圖要根據具體情況而定。

1.1 用例圖

用例圖描述了系統提供的一個功能單元。用例圖的以一種可視化的方式理解系統的功能需求,包括基于基本流程的\"角色\"關系,以及系統內用例之間的關系。用例圖一般表示出用例的組織關系。要在用例圖上顯示某個用例,可繪制一個橢圓,然后將用例的名稱放在橢圓的中心或橢圓下面的中間位置。要在用例圖上繪制一個角色,可繪制一個人形符號。角色和用例之間的關系使用簡單的線段來描述,如圖1所示。

1.2 類圖

類圖表示不同的實體(人、事物和數據)如何彼此相關;換句話說,它顯示了系統的靜態結構。類圖可用于表示邏輯類,還可用于表示實現類,實現類就是程序員處理的實體。實現類圖或許會與邏輯類圖顯示一些相同的類。然而,實現類圖不會使用相同的屬性來描述,因為它很可能具有對諸如Vector和HashMap這種事物的引用。

類在類圖上使用包含三個部分的矩形來描述,如圖2所示。最上面的部分顯示類的名稱,中間部分包含類的屬性,最下面的部分包含類的操作。

1.3 序列圖

序列圖顯示具體用例的詳細流程。它幾乎是自描述的,并且顯示了流程中不同對象之間的調用關系,同時還可以很詳細地顯示對不同對象的不同調用。

序列圖有兩個維度:垂直維度以發生的時間順序顯示消息/調用的序列;水平維度顯示消息被發送到的對象實例。

1.4 狀態圖

狀態圖表示某個類所處的不同狀態和該類的狀態轉換信息。有人可能會爭論說每個類都有狀態,但不是每個類都應該有一個狀態圖。

如圖4所示,狀態圖的符號集包括5個基本元素:初始起點,它使用實心圓來繪制;狀態之間的轉換,它使用具有開箭頭的線段來繪制;狀態,它使用圓角矩形來繪制;判斷點,它使用空心圓來繪制;以及一個或者多個終止點,它們使用內部包含實心圓的圓來繪制。要繪制狀態圖,首先繪制起點和一條指向該類的初始狀態的轉換線段。狀態本身可以在圖上的任意位置繪制,然后只需使用狀態轉換線條將它們連接起來。

1.5 活動圖

活動圖表示在處理某個活動時,兩個或者更多類對象之間的過程控制流。活動圖可用于在業務單元的級別上對更高級別的業務過程進行建模,或者對低級別的內部類操作進行建模。

活動圖的符號集與狀態圖中使用的符號集類似。像狀態圖一樣,活動圖也從一個連接到初始活動的實心圓開始。活動是通過一個圓角矩形來表示的。活動可以通過轉換線段連接到其他活動,或者連接到判斷點,這些判斷點連接到由判斷點的條件所保護的不同活動。結束過程的活動連接到一個終止點(就像在狀態圖中一樣)。作為一種選擇,活動可以分組為泳道,泳道用于表示實際執行活動的對象。

2 RBAC簡介

RBAC的核心思想就是將訪問權限與角色相聯系,通過給用戶分配合適的角色,讓用戶與訪問權限相聯系。角色是根據企業內為完成各種不同的任務需要而設置的,根據用戶在企業中的職權和責任來設定他們的角色。用戶可以在角色間進行轉換,系統可以添加、刪除角色,還可以對角色的權限進行添加、刪除。這樣通過應用RBAC將安全性放在一個接近組織的自然層面上進行管理。

RBAC策略主要由RBAC核心策略、RBAC繼承策略、職責分離策略組成。

RBAC核心策略是RBAC的本質。RBAC核心策略是指權限和角色相關,用戶被賦予相應的角色而獲得角色的權限。用戶與角色相關聯,角色與權限相關聯,這兩個關聯沒有基數的限制,也就是一個用戶經授權可以擁有多個角色,一個角色可以授予多個用戶;一個角色可以被授予多種操作權限,一種操作權限也可以授予多個角色。核心策略還具有了用戶會話的概念,一個用戶在激發他或她所屬角色的某些子集時,建立了一個會話(即擁有處于激活狀態、以用戶身份運行的進程)。一個用戶可以激活多個會話,但每個會話只能對應一個用戶。用戶在這個會話中能夠執行的操作依賴于這個會話激活的角色以及賦予這個角色的權限。

為了提高效率,避免相同權限的重復設置,RBAC采用了“角色繼承”的概念,定義了這樣的一些角色,它們有自己的屬性,但可能還繼承其他角色的屬性和權限。如果角色r1繼承了角色r2,那么r1將擁有r2的所有權限,角色r1還可以定義屬于自己的權限。繼承關系是自反的、傳遞的、非對稱的。角色繼承把角色關聯起來,能夠很自然地反映組織內部人員之間的職權、責任關系。

系統安全策略要求用戶不能超出職位應有的訪問權限,而且要盡量減少同一個用戶同時分配兩個角色后產生欺騙行為的可能。那么角色間就存在互斥的關系,角色分配的時候就需要考慮到哪些角色間是存在互斥關系的,“職責分離”原則就是基于這方面考慮的,“職責分離”可以有靜態(SSD)和動態(DSD)兩種實現方式。

靜態職責分離(SSD)指定角色的互斥關系,用于用戶指派階段。避免同一用戶擁有互斥的角色。實現簡單,角色互斥語義關系清楚,便于管理。

動態職責分離(DSD)指定角色的互斥關系,用于角色激活階段。允許同一用戶擁有某些互斥的角色,但是不允許該用戶同時激活互斥的角色。更靈活,直接與會話掛鉤,適應實際管理需要,缺點是實現復雜,不易管理。RBAC的模型如圖5所示。

圖5中關系的基數默認為1,關聯上的箭頭表示基數為多,比如,用戶與會話之間是一對多的關系,在圖中所有其他的關系都是多對多的關系。Role (Hierarchy)標簽表示角色間的繼承關系;SSD標簽和DSD標簽表示角色間的互斥關系。

3 RBAC模式

UML支持模式的創建,模式中可以包含用UML表示的模式模型以及可以參數化的模板參數。在使用模式的時候,可以通過一些工具的幫助,實現對模式的使用。

為了實現RBAC模型的重用,把RBAC策略看著模式,使用UML類圖來描述RBAC模式,這樣可以通過實例化UML類圖來實現RBAC模型的重用。RBAC模式類圖如圖6所示。圖6描述了具有角色繼承和職責分離特性的RBAC模式圖。

圖6由類和關聯組成。類包含屬性(如Role類中的Name : String)和操作(如Role類中的GrantPermission)。關聯(如UserAssignment)由關聯名稱和關聯基數組成。

User類用來描述用戶,具有下列操作:

1) CreateSession:創建一個新的會話

2) DeleteSession:刪除一個會話

3) AssignRole:與角色建立關聯

4) DeassignRole:刪除與角色的關聯

Role類用來描述角色,具有下列操作:

1) GrantPermission:為角色指派權限

2) RevokePermission:移除已為角色指派的權限

3) AddInheritance:添加直接繼承角色

4) DeleteInheritance:刪除直接繼承角色

5) CheckSSD:檢查一個角色與一個給定的角色是否有SSD關系

6) CheckAccess:檢查角色是否具有特定的權限

7) CheckDSD:檢查一個角色與一個給定的角色是否有DSD關系

Session類用來描述會話,具有下列操作:

1) AddActiveRole:在一個會話中激活一個角色

2) DropActiveRole:在一個會話中移除一個角色

3) CheckAccess:檢查角色是否具有對對象做某種操作的權限

通過實例化模式中的類、關系,可以得到具體系統的實例化類圖。

4 結論

本文介紹了UML模型的建模、RBAC模型以及靜態的RBAC模型與系統的設計模型。下一步的研究工作就是把抽象的RBAC模式映射到具體的系統,然后再與設計模型集成。以UML技術為基礎,以圖形的方式描述了RBAC模型與設計模型的集成步驟,然后再使用UML對象圖描述了角色和權限的分配。

參考文獻:

[1] 殷兆麟.UML及其建模工具的使用[M].北京:清華大學出版社,2004.

[2] 喬穎,須德,戴國忠.一種基于角色訪問控制(RBAC) 的新模型及其實現機制[J].計算機研究與發展,2000,37(1).

[3] Ahn G J,Sandhu R.Role-based Authorization Constraints Specification[C].ACM Transactions on Information and Systems Security,2000.

[4] Barker S.Security Policy Specification in Logic[C].Las Vegas:Proceedings of the International Conference on Artificial Intelligence,NV,2000.

[5] Barker S,Rosenthal A.Flexible Security Policies in SQL[C].Canada:Proceedings of the 15th Annual IFIP WG 11.3 Working Conference on Data and Applications Security,Niagara-onthe-Lake,2001.

主站蜘蛛池模板: 女人毛片a级大学毛片免费| 亚洲最大综合网| 精品精品国产高清A毛片| 国产特级毛片| 有专无码视频| 国产一级一级毛片永久| 成人国产小视频| 中字无码精油按摩中出视频| 欧美有码在线观看| 亚洲天堂免费| 色综合天天综合| 国产麻豆aⅴ精品无码| 一边摸一边做爽的视频17国产| AV不卡无码免费一区二区三区| 蝌蚪国产精品视频第一页| 亚洲精品自产拍在线观看APP| 人妻91无码色偷偷色噜噜噜| 91久久偷偷做嫩草影院| 亚洲午夜天堂| 欧美日韩在线成人| 国产极品嫩模在线观看91| 免费人成网站在线观看欧美| 又粗又大又爽又紧免费视频| 沈阳少妇高潮在线| 一级全黄毛片| 青青青视频91在线 | 午夜激情福利视频| 欧美亚洲欧美区| 国产肉感大码AV无码| 国产91线观看| 欧美精品v| 美女高潮全身流白浆福利区| 国产精品亚洲五月天高清| 久久一本日韩精品中文字幕屁孩| 国产综合日韩另类一区二区| 国产乱人伦偷精品视频AAA| 国产精品一区二区久久精品无码| 日韩在线2020专区| 欧美在线视频不卡第一页| 精品黑人一区二区三区| 国产女人爽到高潮的免费视频| 一级一毛片a级毛片| 漂亮人妻被中出中文字幕久久| 成人一级免费视频| 99在线视频免费| 在线免费亚洲无码视频| 亚洲综合狠狠| 中文字幕2区| 国产一区亚洲一区| 欧美高清三区| 精品国产美女福到在线不卡f| 日韩亚洲综合在线| 日韩一级毛一欧美一国产| 亚洲天堂精品在线观看| 黄色a一级视频| 成人在线第一页| 粉嫩国产白浆在线观看| 成人在线天堂| 91年精品国产福利线观看久久 | 日本一区二区不卡视频| 特级做a爰片毛片免费69| 免费国产高清视频| 免费观看国产小粉嫩喷水| 一区二区三区四区日韩| 国产麻豆va精品视频| 亚洲精品另类| 久久黄色毛片| 国产91小视频| 亚洲天堂久久久| 国产精品蜜臀| 欧美一区精品| 亚洲国模精品一区| 激情综合五月网| 久久永久免费人妻精品| 毛片免费试看| 国产日本欧美在线观看| 亚洲永久色| 在线亚洲精品自拍| 国产精品自在自线免费观看| 国产精品九九视频| 在线亚洲精品福利网址导航| 又大又硬又爽免费视频|