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

基于Shiro架構的通配符的權限設計思路

2019-03-08 10:21:38劉志濤
網絡安全與數據管理 2019年2期
關鍵詞:資源用戶

劉志濤,周 淦

(華北計算機系統工程研究所,北京 100083)

0 引言

面對著日益嚴峻的用戶數據和應用安全問題,企業如何更加安全[1]有效地保護用戶隱私數據越來越受到重視[2]。在程序應用中,當訪問用戶敏感信息時,都需要經過認證和授權,并且對用戶數據加密,禁止明文存儲。軟件開發者需要一個簡單、強大和有效的Web安全框架,從用戶的認證、授權和數據加密的各個環節保證企業應用的安全性。

1 Web應用安全

一個功能強大并且容易使用的安全框架,需要具有身份認證、授權、數據加密和會話管理等功能[3-4]。借助其簡單高效的框架接口,讓軟件開發者可以輕松地保護任何應用程序。

1.1 Web安全應用所需功能

Web安全架構需具有的主要功能組件:

(1)身份認證[5]:驗證用戶是不是擁有相應的身份,通常是驗證用戶登錄應用時提供的用戶名和密碼是否正確。

(2)權限驗證:當用戶的身份認證通過后,用戶開始訪問企業提供的服務或者資源,只有具有相應權限的用戶才能訪問,即驗證用戶是否具有相應資源的讀寫權限[6]。

(3)會話管理:當用戶登錄應用后,后臺應用需要記錄用戶的訪問時間、訪問記錄和信息修改,方便企業對用戶提供個性化的服務,提高用戶的滿意度,讓企業更懂用戶,更深層次挖掘用戶的需求。

(4)數據加密[7]:企業需要對用戶的數據加密,避免明文存儲。當安全事件發生后,加密的數據無論是對于破壞者還是具有不良企圖的攻擊者,都是一層簡單有效的數據保護,可以最大程度地減少企業的經濟損失。

(5)緩存:企業應用特別是計算密集型的應用,如何有效減少響應延遲,最大程度地提高應用效率,通常的做法會對使用頻率高并且計算成本比較高的數據進行緩存。

(6)分布式應用:企業應用通常面對的用戶數量比較大,單體應用已經不能滿足互聯網企業的用戶群體,如何更好地利用多核處理器的性能,并且橫向擴展更加容易的分布式應用成為越來越多的企業開發的選擇。

1.2 安全應用框架設計

通過了解Web安全應用需要的功能,可以知道如何解決軟件開發者面臨的各種問題。外部框架應該提供簡單應用的開發接口,內部框架可以使開發者根據企業應用的實際需要靈活地定制自己的認證策略和授權策略。

1.2.1安全應用的訪問控制概念

從安全應用的外部框架,主要涉及用戶、安全管理器和域三個概念。當應用程序被訪問時,自然而然想到誰是當前用戶,當前用戶允許執行什么操作,因此,應用程序在考慮安全性時首先基于當前用戶。

安全框架的用戶是一個泛指概念,即“當前正在執行的用戶”,在安全領域,不單單指人,也可以是第三方的流程、守護程序或者任何相似概念的訪問者。用戶的獲取需要安全管理器,安全管理器管理所有用戶的安全操作,與應用的程序的交互都需要安全管理器管理相應的用戶,使得它成為安全框架的核心。通常可根據應用程序的實際需要,在數據庫、配置文件中配置相應的用戶、權限或者角色,使開發者清楚地知道誰可以訪問應用程序以及執行什么樣的操作。

1.2.2安全應用的訪問控制架構設計

如圖1所示,從安全應用的角度,該架構具有很多靈活的組件,相比其他架構具有其他安全架構不具備的優點:

圖1 安全應用訪問控制框架

(1)架構的每個組件均可插拔,除了有默認的功能組件外,還可以根據實際需要開發定制。

(2)支持一個或多個可插拔的數據源的身份驗證,實現多數據源的交叉驗證。

(3)每個組件都有緩存支持,在開發實踐中可以極大地提高應用程序的性能。

(4)內置的企業會話管理,無論是Web環境還是普通應用程序中,都可以提供單點登錄功能[8];如果應用是集群或者分布式環境,組件具有橫向良好的擴展性。

(5)異構的客戶端訪問,常見異構的客戶端都可以訪問安全架構,而且支持不同客戶端的會話共享功能。

(6)功能強大而且需要的配置少,可以保護任何URL或者資源,自動處理登錄和注銷,執行記住我等功能。

(7)簡單的單點登錄(SSO)支持搭載企業會話管理。如果會話跨多個應用程序聯合,則也可以共享用戶的身份驗證狀態。登錄到任何應用程序,其他人都識別登錄。

2 關鍵技術

日常開發中,首先需要對用戶進行認證,驗證用戶是否是其聲明的身份,當用戶訪問某項資源時,再查看用戶的角色或者權限,以決定是否允許訪問。

2.1 用戶身份認證步驟

安全應用進行用戶身份認證,可有效地分解成三個不同的步驟:

(1)收集身份和憑證

應用中一般都是使用用戶名和密碼作為身份和憑證對,相應地使用用戶密碼令牌來封裝用戶登錄時的用戶名和密碼。安全框架通過認證接口,存儲用戶的密鑰對,在系統內部實例化認證信息實體。也可以個性化定義和創建需要認證的令牌。

(2)提交身份和憑證

身份和憑證被收集并裝載到認證令牌的實例中后,需要把令牌提交給安全應用來進行身份認證,嘗試獲取到當前交互的用戶后,調用登錄方法發出登錄認證請求,將認證信息實體提交給內部自定義的認證策略,來進行下一步的驗證用戶流程。

(3)驗證身份和憑證

應用程序會從內部定義的安全數據域獲取相應用戶的認證實體,與用戶提交的認證令牌進行比對,如果驗證通過,意味著當前用戶為聲稱的實體本身,并返回內部系統的認證實例。然而,如果此時沒有系統驗證,根據驗證策略,可以設置最大的用戶登錄次數,防止不明用戶的惡意攻擊,造成系統的癱瘓[9]。

2.2 訪問控制認證流程

在調用登錄方法發起認證請求后,承載著用戶登錄信息的認證令牌實例就會經由安全管理器轉交給認證器。認證器會應用認證策略來完成與單個或多個數據域的校對,每個數據域都會有自己的認證數據的方法來對已提交的令牌進行身份驗證嘗試。可以對用戶的多個維度信息進行驗證,若大部分的安全域信息驗證通過,就可以認為當前用戶通過了安全認證并返回真,否則系統內部會拋出認證錯誤信息的異常。如圖2所示。

圖2 訪問控制認證流程

2.3 訪問控制授權流程

如圖3所示,應用程序會收集當前用戶執行操作的權限標識符,通過授權接口傳遞給系統內部,授權流程會從相應的安全數據域獲取用戶的權限信息。授權策略會對系統內部的權限實體與用戶執行操作的權限實體進行驗證。授權器首先會利用權限解釋器把字符串轉換成相應的權限實例,然后通過數據域中的授權函數獲取數據源中的用戶的角色和權限,與傳入的角色和權限進行匹配和比較。

圖3 訪問控制授權流程

3 基于通配符的權限設計思路

數據資源常見的操作是創建、讀取、寫入和刪除,在定義資源權限時,只會對指定資源(文件、客戶記錄等)上的操作設定訪問權限。如何細粒度、多層次地控制用戶對資源的訪問,還缺少一個有效的權限設計策略。基于通配符權限概念來設計權限系統,可以從資源級別、實例級別和操作級別、指定用戶的權限訪問標識,更好地保護系統應用和數據安全。

3.1 訪問控制粒度

訪問控制粒度表示所訪問資源的操作的范圍大小,按照訪問層級的不同,訪問控制粒度可以劃分為接入級、目錄級、角色級和屬性級訪問控制安全。

3.1.1接入級訪問控制

接入級訪問控制是網絡應用和網絡設備的最前端保護。在接入級控制哪些用戶可以訪問系統應用以及訪問哪些資源,另外,可以控制用戶的訪問時間段和訪問次數,在合法用戶訪問服務器或者工作站等網絡設備時,進行相應的安全訪問控制,如圖4所示。

圖4 接入級訪問控制流程圖

3.1.2目錄級訪問控制

以目錄為控制粒度單位,控制用戶的權限訪問。例如,具有某種權限的用戶才能訪問根目錄,具有某種權限的用戶才能訪問二級目錄。網絡資源通常以目錄的形式進行組織,方便對網絡資源的分類,使得可以對不同重要級別的資源分配不同的訪問策略。

3.1.3角色級訪問控制

將用戶進行角色分配,同一角色擁有相同的權限,不同的用戶可以擁有一個或者多個角色。角色是將網絡資源的權限控制進行分組,可以限制用戶進入系統應用后資源的訪問控制,防止隨意操作網絡資源,造成系統重要數據的丟失或者破壞。

3.1.4屬性級訪問控制

資源文件的所屬目錄和文件本身都具有訪問控制屬性,比如文件的讀取、寫入和執行屬性,以及用戶具有什么操作權限,用戶相應的組具有什么操作權限和其他人的操作權限。預先定義的網絡資源的訪問控制屬性表,可以說明用戶對于網絡資源的使用限制。

3.2 基于通配符權限訪問控制符

權限本質上是訪問控制,即控制用戶可以在應用程序中訪問的內容,例如資源、網頁和文件等。大多數的用戶可以通過使用角色或者權限概念來執行訪問控制,即用戶是基于分配給他們的角色來被允許執行哪些操作。基于通配符權限設計方法可以將資源與權限進行抽象并通過組合鏈的方式逐層驗證,使得資源的安全策略非常靈活,甚至支持實例級的訪問控制。

3.2.1通配符權限的多層次

通配符權限設計方法支持權限設計的層級化,如何更加細粒度標識用戶對于資源的訪問權限也是通過層級化來強化的。例如:file:read:file89,權限的層次是通過冒號分隔符表示的,冒號越多代表著權限定義的粒度越細。在上述權限表示符中,第一部分表示被抽象的資源(文件),第二部分標識需要資源進行什么操作(讀取),第三部分標識資源的具體實例(文件名),因此通過冒號分隔符可以構建非常復雜的資源訪問控制權限。

如果用戶具有某個資源的多個訪問權限,那么相同層級的權限標識符之間用逗號分隔。例如,file:read,write,即用戶具有對于這個文件的讀取和寫入權限。如果需要表示用戶具有對某一類資源的所有權限,可以使用*來表示。例如:file:*,就是將文件資源的所有的實例與所有操作都賦予用戶。

3.2.2通配符權限的權限檢查

基于通配符的權限設計具有橫向擴展性,使得在系統權限設計時,可以在粒度的選擇上賦予用戶較粗的粒度或者較細的粒度。這使得在Web應用中,權限的授權邏輯不僅僅是比對權限標識符是否相等,而是通過權限標識符的邏輯關系進行判斷的。比如,如果用戶被賦予file:read:*權限,當前用戶也具有file:read:file1,file:read:file2等資源的訪問權限,可以很清晰地看出“file:read:*”與“file:read:file1”并不相等,而是通過權限標識符的內部邏輯關系驗證用戶是否具有某一項權限的操作。

表1 訪問權限控制對比

4 結束語

通過簡化應用程序安全性的兩個方面,即身份認證和權限授權,使得企業應用的安全性更容易理解和實現。基于權限的通配符的設計理念,輕松地將資源、操作和資源實例進行抽象,可以在應用粒度和功能粒度對資源進行訪問控制,細粒度和多層級的權限訪問使得開發者更容易表達對于資源的權限控制和權限賦予,通過組合也能表達更加復雜的權限。

猜你喜歡
資源用戶
讓有限的“資源”更有效
基礎教育資源展示
一樣的資源,不一樣的收獲
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: jizz在线免费播放| 国产一区二区精品高清在线观看| 国产免费看久久久| 青青草国产精品久久久久| 欧美在线国产| 亚洲国产成人无码AV在线影院L| 人妻一本久道久久综合久久鬼色| 伊人久久久久久久| 国产成人成人一区二区| 国产麻豆91网在线看| 欧美色视频在线| 五月天在线网站| 国内精品91| 玖玖精品视频在线观看| 日本福利视频网站| 亚洲成人一区二区三区| 凹凸国产熟女精品视频| 影音先锋丝袜制服| 成人噜噜噜视频在线观看| 四虎国产永久在线观看| 免费国产无遮挡又黄又爽| 国产成人乱无码视频| 伊人久综合| 久久婷婷国产综合尤物精品| 亚洲高清在线天堂精品| 亚洲伊人天堂| a毛片免费在线观看| 亚洲国产日韩视频观看| 免费xxxxx在线观看网站| 亚洲黄色视频在线观看一区| 四虎国产精品永久在线网址| 99久久精品免费视频| 六月婷婷激情综合| 在线免费无码视频| 干中文字幕| 国产九九精品视频| 爆操波多野结衣| 久久99国产精品成人欧美| 中文字幕 91| 91极品美女高潮叫床在线观看| 国产偷国产偷在线高清| 欧美日韩亚洲国产| 国产经典三级在线| 亚洲最大情网站在线观看| 怡春院欧美一区二区三区免费| 国产精品久久久久久久久| 精品国产污污免费网站| 久久香蕉国产线看观看精品蕉| 亚洲精品综合一二三区在线| 免费一级无码在线网站| 久久精品视频亚洲| 国产精品污污在线观看网站| 亚洲A∨无码精品午夜在线观看| 色网站在线视频| 久久国产精品波多野结衣| 精品午夜国产福利观看| 亚洲综合二区| 制服丝袜一区| 黄色网址免费在线| 香蕉蕉亚亚洲aav综合| 91福利免费视频| 国产91小视频在线观看| 欧美在线免费| 国产在线视频福利资源站| 五月激激激综合网色播免费| 久99久热只有精品国产15| 巨熟乳波霸若妻中文观看免费 | 国产精品分类视频分类一区| a级毛片网| 久久精品无码专区免费| 亚洲第一国产综合| 亚洲成aⅴ人在线观看| 国产精品人人做人人爽人人添| 在线99视频| 中文无码毛片又爽又刺激| 国产精品网拍在线| 国产门事件在线| 91偷拍一区| 国产正在播放| 国产精品爆乳99久久| 亚洲国产91人成在线| 午夜视频免费一区二区在线看|