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

Web服務訪問控制規范及其實現*

2011-08-14 01:12:36張賽男
網絡安全與數據管理 2011年19期
關鍵詞:服務模型

張賽男

(中國人民解放軍理工大學 理學院,江蘇 南京 211100)

隨著Web服務的廣泛應用,Web服務中的訪問控制策略描述及實現顯得尤為重要。目前,Web服務安全標準以及其實現并不完善,Web服務安全多數交由作為應用程序服務器的Web服務器的安全機制管理。例如,Tomcat服務器為用戶、組、角色的管理和為訪問Java-Web應用程序的權限提供了安全管理。但是,Tomcat中的授權是粗粒度的,也就是說,Tomcat不可能限制對Web服務的單個的訪問操作。

本文通過示例,探討如何把一種新的安全模型應用到Web服務中。這種新的安全模型提供了一種規范語言——視圖策略語言,其授權可以在Web服務單個的操作層次上細粒度地指定,同時授權還可以通過操作的調用動態地改變。這種模型和Web服務相結合,能夠實現Web服務下安全訪問控制權限的動態改變,改善目前靜態訪問控制的問題。

1 Web服務訪問控制規范

1.1圖書中心系統

圖書中心系統是一個Web服務的簡單應用,其結構如圖1所示。

圖書中心系統主要提供書店注冊服務、書店客戶注冊服務、書店處理客戶注冊請求服務、書店管理客戶借閱圖書信息服務和為所有的用戶查詢圖書信息的服務。其中書店注冊是其他所有服務的前提條件。

1.2系統中的訪問控制需求

圖書中心系統的訪問控制需求描述如下:

BusinessRegistration:書店經理注冊自己的書店。這個注冊是其他所有服務的前提條件。

CustomerRegistration:書店的客戶向書店提交注冊申請。

CustomerRegistrationProcess:書店處理客戶的注冊申請。

CustomerBookList:書店僅能為自己的客戶使用此服務。客戶可以查詢己借閱清單,但不能在此清單上添加新的請求,只有店員可以添加客戶的借閱清單。

BookSearch:店員和客戶都能使用此服務查詢圖書信息。

1.3系統中的訪問控制

基于視圖的訪問控制VBAC(View-BasedAccess Control)模型是專門用于支持分布式訪問控制策略的設計和管理的模型[1],圖2是VBAC的簡易模型。VBAC模型可以看成是基于角色的訪問控制RBAC(Role-Based Access Control)模型的擴展,VBAC增加了視圖以及模式的概念。視圖描述的是對訪問對象的授權,視圖被分配給角色。如果一個主體所扮演的角色擁有對某個對象訪問的視圖,則這個主體就可以訪問此對象。如果這個角色沒有這個視圖,則這個主體就不能訪問此對象。模式描述的是視圖和角色動態的分配以及刪除。

圖2 VBAC模型

視圖策略語言VPL(View Policy Language)是一種說明性的語言,用于描述VBAC策略。VPL用于描述角色、視圖以及模式。角色在角色聲明roles之后,視圖以及模式聲明使用關鍵字view和schema。

角色聲明描述了策略中的角色以及這些角色初始擁有的視圖。圖3是圖書中心的角色聲明。這個例子中有customer和staff兩個角色。 staff繼承了customer,customer能夠調用的操作,staff也可以調用。staff擁有初始視圖 BusinessRegistratoin,關鍵字holds來說明角色擁有視圖,而customer沒有初始視圖。

圖3 VPL角色聲明

圖4是圖書中心的訪問控制需求的VPL視圖聲明,關鍵字controls引導的是一個類或者接口。例如,視圖BusinessRegistration允許調用類BusinessRegistration的操作processRegisterRequest。VPL視圖可以靜態地被限制給特定的角色,這些角色羅列在關鍵字restricted to后面。例如,視圖BusinessRegistration只能被賦給角色staff而不能賦給 customer。

VPL對被描述的授權操作的參數沒有限制,即不需要全部參數才能調用某個操作。例如,調用操作getCustomerGUID僅需要書店的loginBusinessID就能獲取到自己書店的所有客戶的信息。因為,書店在注冊以后有對應的loginBusinessID。由于基于CORBA的應用程序,都會采取為每個客戶端在服務器端創建一個對象的設計模式。因此,客戶端與創建的對象進行通信無需身份驗證。例如,在這個例子中,每個客戶端在服務器端都有一個CustomerRegistrationProcess對象,由于SOAP對面向對象支持的局限性,將loginBusinessID作為一個參數給出。

圖4 VPL視圖定義

因此,研究擴展VPL來說明操作被調用的時候所必須具備的條件是在操作后添加if caller=param來指定必備條件。這個表達式中,關鍵字caller表示此操作調用者的ID,param表示操作的實參。調用者由一個整數表示其身份。如果操作的某個參數不是必須的,用”-”表示;如果視圖中操作參數沒有任何條件限制,則VPL視圖中僅有操作名稱的標識符,而沒有參數列表。例如,視圖BusinessRegistration中的操作processRegisterProcess就屬于這一類型。

依據服務 CustomerBookList,角色 staff和 customer有不同的訪問需求。staff可以調用processAddRequest以及processQueryRequest兩個操作,但是customer僅能調用processQueryRequest。視圖CustomerBookListFull確定其使用角色是staff,可以擁有兩個操作,而CustomerBookListRestricted沒有角色的限制。如果視圖被調用,customer僅能查詢自己借閱的書。

VPL模式(VPL Schema)為動態訪問控制建立模型。它描述給定的操作被調用后帶來角色授權的改變,而角色不能擁有某個視圖,用assign視圖from角色表示;反之,用assign視圖to角色表示。圖5表示調用完操作processRegisterRequest后,將CustomerRegistrationProcess等視圖授權給角色staff,而將CustomerBookListRestricted等視圖授權給角色customer,即表示了訪問控制權限動態地改變。

圖5 VPL模式聲明

2訪問控制策略的執行

這部分描述在Web服務下執行VPL表示的訪問控制策略的基礎結構。這個結構中包含了執行VPL所描述策略的Raccoon[2]結構。

2.1 Raccoon結構

Raccoon結構包含了處理VPL策略的開發工具以及定義角色視圖的存儲庫(即角色、視圖服務器)。視圖角色服務器可以使用圖形管理工具來處理,訪問控制決策依據這些存儲庫來決定。

圖6為Raccoon結構的主要部分。角色服務器包含了用戶所有的角色證書,當一個客戶在系統中認證時,客戶得到所有屬于自己的角色證書;而當客戶端調用服務器端的某個操作時,相應的角色證書被傳送。此調用由攔截器攔截,攔截器傳送客戶端信息給訪問決策對象。如果客戶端被準許調用此操作,訪問決策對象依據給出的角色以及策略來決策。請求策略分布在服務器上,如果策略允許客戶調用操作,那么攔截器給服務器發送一個請求;如果不允許,則此訪問被拒絕。

圖6 Raccoon結構

2.2 Web服務訪問控制的實現

Web服務訪問控制的實現使用Raccoon來管理和執行VPL策略,即通過獲取SOAP消息,讓Raccoon做出訪問控制的決策,依賴于Raccoon的決策,來拒絕或者發送SOAP消息。因為消息在服務器端加密,客戶證書在服務器端傳輸,因此把HTTP作為傳輸協議。

2.2.1 Web服務部署

此結構中,把Web服務部署在Apache Tomcat服務器上,同時使用Axis引擎。Axis本質上是一個SOAP引擎,提供創建服務器端、客戶端和網關SOAP操作的基本框架[3]。使用 Axis是為了利用 Axis handler概念。handler是SOAP消息的特殊部分,例如,handler可以控制消息發送方在允許消息被服務器處理之前對其執行身份驗證。

2.2.2策略部署

Web服務的VPL策略部署在策略服務器中。由于Raccoon是基于CORBA的,所以部署VPL策略需要CORBA接口庫。接口使用IDL語言描述,IDL語言由WSDL演變而來。這種演變可以由XSL樣式表轉換,例如,WSDL中 portTypes對應了 IDL的 interfaces,operations對應了 IDL的operations,WSDL操作中<input>元素對應了 IDL中的參數 in,<output>對應了 IDL中的參數 out。

2.2.3用于訪問決策的Axis handler

Axis handler充當CORBA客戶端與角色以及策略服務器通信的中介。當 SOAP消息通過 handler,handler從SOAP消息中獲取用戶信息(如證書)以及請求的方法名以及參數。這些證書用于從Raccoon角色服務器中獲取用戶的角色證書。角色服務器中存放了用戶證書和角色之間的關系。策略服務器包含了視圖以及視圖和角色之間的關聯。基于客戶角色,handler決定是否允許訪問Web服務操作。如果訪問被拒絕,將拋出異常;否則,SOAP消息被發送給Web服務。

本文使用VPL來描述Web服務的訪問控制需求。VPL以及相應的訪問控制模型來源于基于CORBA的應用。通過擴展VPL來覆蓋所有的Web服務需求。提出了一種用于實現基于Web應用的訪問控制策略的結構,同時也為Web服務安全管理提供部署和管理工具。

VPL可以用于描述XACML規范,可以通過樣式表將VPL轉換成XACML。后期工作主要集中于將Raccoon結構轉化為XACML模型,為其他系統提供互操作性,例如 jiffyXACML或者 sun’sXACML。

[1]張賽男.軟件系統UML建模與其安全建模的集成[J].計算機工程,2007,33(8),86-88.

[2]BROSE G.Raccoon-an infrastructure for managing access control in CORBA[C].Proceeding Conference on Distributed Applications and Interoperable Systems (DAIS), Paris,France,2004.

[3]PAPAZOGLOU M P.Web服務:原理與技術[M].龔玲,張云濤,譯.北京:機械工業出版社,2010.

猜你喜歡
服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久综合干| 亚洲综合第一区| 免费Aⅴ片在线观看蜜芽Tⅴ| 日本三级黄在线观看| 国产成人免费手机在线观看视频| 四虎影视无码永久免费观看| 亚洲av无码久久无遮挡| 亚洲aⅴ天堂| 国产欧美精品午夜在线播放| 欧美一级片在线| 国产精品久久精品| 欧美三级视频网站| 欧美日韩第三页| 久草视频精品| 国产成人精品一区二区三区| 国产在线观看91精品亚瑟| 国产第一页免费浮力影院| 免费毛片全部不收费的| 亚洲一区二区日韩欧美gif| 99久久精品无码专区免费| 亚洲国产日韩一区| 四虎AV麻豆| 午夜无码一区二区三区| 日韩无码视频专区| 国产欧美日韩综合在线第一| 精品视频免费在线| 久久亚洲国产一区二区| 精品无码一区二区三区电影| 一区二区三区成人| 成人毛片免费在线观看| 国产自在自线午夜精品视频| 人妻精品久久无码区| 在线精品自拍| 国产在线日本| 成年人国产网站| 五月天丁香婷婷综合久久| 毛片免费观看视频| 国产高清精品在线91| 国产精品30p| 国产在线第二页| 一区二区偷拍美女撒尿视频| 99国产精品国产高清一区二区| 狠狠久久综合伊人不卡| a毛片在线| 成人免费午夜视频| 亚洲国产一区在线观看| 波多野结衣一级毛片| 亚洲欧美成人| 亚洲视频在线青青| 色哟哟精品无码网站在线播放视频| 沈阳少妇高潮在线| a级毛片在线免费观看| 波多野结衣中文字幕一区| 亚洲综合色婷婷| 另类重口100页在线播放| 国产自在线拍| 久久国产亚洲欧美日韩精品| 中文字幕 欧美日韩| 国产一区二区三区在线观看视频 | 日韩无码精品人妻| 色国产视频| 亚洲 欧美 日韩综合一区| 黄片一区二区三区| 一区二区无码在线视频| 欧美激情视频一区二区三区免费| 一级毛片免费不卡在线视频| 国产91成人| 91九色视频网| 欧美一级专区免费大片| 国产网站免费观看| 国产精品福利社| 国产精品免费入口视频| 国产女人在线视频| 男女性色大片免费网站| 18禁影院亚洲专区| AV网站中文| 日韩大片免费观看视频播放| 亚洲妓女综合网995久久| 亚洲国产第一区二区香蕉| 全部毛片免费看| 日韩免费中文字幕| 精品视频第一页|