国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SOA架構(gòu)醫(yī)療信息系統(tǒng)間的跨組織訪問控制模型

2017-01-12 01:12楊家桂陳勁松
關(guān)鍵詞:需求者訪問控制服務(wù)提供者

武 凌,楊家桂,陳勁松,王 浩

(安徽財經(jīng)大學(xué) 管理科學(xué)與工程學(xué)院,安徽 蚌埠 233030)

SOA架構(gòu)醫(yī)療信息系統(tǒng)間的跨組織訪問控制模型

武 凌,楊家桂,陳勁松,王 浩

(安徽財經(jīng)大學(xué) 管理科學(xué)與工程學(xué)院,安徽 蚌埠 233030)

現(xiàn)今醫(yī)療產(chǎn)業(yè)的信息系統(tǒng)面臨著許多的挑戰(zhàn),例如異質(zhì)性的平臺、服務(wù)之間的緊密耦合以及再利用性不足等問題,近年來業(yè)界提出了以SOA架構(gòu)來構(gòu)建及組織醫(yī)療服務(wù)以改善目前醫(yī)療信息系統(tǒng)困境。針對目前在標(biāo)準(zhǔn)的SOA中缺乏訪問控制的問題,本文探討了醫(yī)療服務(wù)產(chǎn)業(yè)中應(yīng)用SOA架構(gòu)的安全性需求以及在不同醫(yī)療機(jī)構(gòu)間共享服務(wù)時的訪問控制問題,提出了一種SOA架構(gòu)下應(yīng)用于醫(yī)療領(lǐng)域的基于RBAC和擴(kuò)充的WSDL的訪問控制模型,為跨組織間的訪問控制機(jī)制提供了一種新的解決方案。

訪問控制;跨組織;基于角色的訪問控制;醫(yī)療領(lǐng)域;服務(wù)導(dǎo)向架構(gòu)

現(xiàn)今醫(yī)療服務(wù)產(chǎn)業(yè)提供的基于信息技術(shù)的軟件服務(wù)越來越多元且復(fù)雜,例如,許多醫(yī)院會開發(fā)藥物交互作用檢查的軟件、可將二維醫(yī)療影像轉(zhuǎn)換為三維的維度轉(zhuǎn)換軟件[1],以及提供醫(yī)療影像擷取與標(biāo)記軟件等,這些應(yīng)用軟件及程序都可以視為是一種服務(wù)。在本質(zhì)上,這些信息服務(wù)均可通過網(wǎng)絡(luò)提供其它醫(yī)療單位來使用。然而由于各家醫(yī)院建置的信息系統(tǒng)大多是獨(dú)立開發(fā)的,并且缺乏授權(quán)及認(rèn)證的機(jī)制因此使得這些醫(yī)療服務(wù)難以共享,而醫(yī)療服務(wù)的重復(fù)開發(fā)造成資源的浪費(fèi),開發(fā)與維護(hù)的成本也相對提高,再加上醫(yī)療服務(wù)之間彼此關(guān)聯(lián)性較大,維護(hù)的困難度也隨之增加,這也是目前醫(yī)療服務(wù)產(chǎn)業(yè)面臨的挑戰(zhàn)[2,3]。

服務(wù)導(dǎo)向架構(gòu)(Service-Oriented Architecture, SOA)近年來獲得許多學(xué)術(shù)界和企業(yè)界的支持,認(rèn)為SOA可以提高異質(zhì)性平臺間的互操作性,進(jìn)而讓服務(wù)可以共享,增加服務(wù)的再利用性。因此有一些學(xué)者嘗試將SOA架構(gòu)應(yīng)用于醫(yī)療服務(wù),如遠(yuǎn)程醫(yī)療、居家照護(hù)、臨床信息系統(tǒng)的數(shù)據(jù)交互與共享等并獲得很好的成果[4-8]。通過進(jìn)一步對SOA的探討和分析可知,SOA本身缺乏對于安全性的規(guī)范,特別是訪問控制缺乏相關(guān)標(biāo)準(zhǔn)的定義,使得在跨機(jī)構(gòu)之間要共享服務(wù)時,就面臨了如何判斷使用者是否有權(quán)限使用服務(wù)的問題,特別是許多的醫(yī)療服務(wù)具有專業(yè)性,例如二維醫(yī)療影像轉(zhuǎn)換為三維的維度轉(zhuǎn)換軟件,應(yīng)該由具有專業(yè)的醫(yī)師才能使用,由不具備專業(yè)的人來使用容易發(fā)生錯誤解讀的問題。因此在實(shí)際應(yīng)用中,跨醫(yī)療機(jī)構(gòu)之間必須在SOA下制定一套完整的安全機(jī)制。

1 SOA下的訪問控制技術(shù)

SOA是近年來被廣泛討論和應(yīng)用的一種分布式信息系統(tǒng)架構(gòu),也是云端技術(shù)中軟件即服務(wù)的基本概念。SOA本身并沒有定義訪問控制的機(jī)制,也沒有明確的定義如何規(guī)范和限制使用者通過服務(wù)中介者來搜尋并取得服務(wù)。為了彌補(bǔ)此架構(gòu)在安全性規(guī)范的不足,許多的學(xué)者和軟件企業(yè)均對SOA的安全性議題提出了各方面的研究。Buecker[9]等提出一個適用于不同企業(yè)商業(yè)策略的安全參考模型,不管是在數(shù)據(jù)傳輸上的安全性或需求者的身份識別等。Zou[10]等結(jié)合RBAC與以屬性為基礎(chǔ)的訪問控制ABAC的特點(diǎn)并整合各種限制來對需求者做更細(xì)致的規(guī)范。Sassoon[11]等探討SOA架構(gòu)下的醫(yī)療系統(tǒng)衍生的安全性議題,其內(nèi)容主要包含數(shù)據(jù)的隱私性與完整性,并對整體架構(gòu)的潛在的網(wǎng)絡(luò)攻擊提出應(yīng)對的策略,不過對于在SOA架構(gòu)下的訪問控制模型沒有清楚的描述。Yamany[12]等結(jié)合RBAC和ABAC產(chǎn)生的ARBAC模型,通過四種屬性包含需求者本身的職位、服務(wù)的性質(zhì)、服務(wù)所在的環(huán)境(時間等)以及特殊的策略需求,更細(xì)致的規(guī)范需求者。但上述研究都沒有涉及如何規(guī)范外部機(jī)構(gòu)的角色以及其權(quán)限。可以看出目前與SOA相關(guān)的訪問控制模型大致上有以下幾種,如以角色(Role-based)、屬性(Attribute-based)、策略(Policy-based)與風(fēng)險適應(yīng)(Risk-adaptive)為基礎(chǔ)的訪問控制模型,而其中又以角色為基礎(chǔ)的訪問控制(Role-based Access Control,RBAC)模型最為常見。本文探討了應(yīng)用于醫(yī)療領(lǐng)域的SOA下的訪問控制機(jī)制,除了要能適合于機(jī)構(gòu)內(nèi)部的訪問控制外,同樣地對于機(jī)構(gòu)外部的需求者也能有效的管理,使得不同醫(yī)療機(jī)構(gòu)間所提供的服務(wù)在SOA下得以彼此共享。

2 基于限制與角色的跨組織訪問控制機(jī)制

本文以RBAC模型為基礎(chǔ),探討內(nèi)部角色與外部角色的訪問控制模式。目標(biāo)有以下兩點(diǎn):(1)探討在跨機(jī)構(gòu)間授權(quán)的機(jī)制。(2)探討為了加入角色、權(quán)限等屬性如何擴(kuò)充WSDL(Web Service Description Language),包含以Constraint-Based的概念來擴(kuò)充WSDL文件、擴(kuò)充UDDI(Universal Description,Discovery and Integration)的解析(Parsing)能力以解析擴(kuò)充的WSDL文件。另外,為了解決醫(yī)療機(jī)構(gòu)間角色定義可能不同的問題,我們將以O(shè)WL(Web Ontology Language)的語法來定義外部角色與內(nèi)部角色的權(quán)限對應(yīng)關(guān)系。

2.1 以SOA為架構(gòu)應(yīng)用于醫(yī)療服務(wù)產(chǎn)業(yè)的訪問控制需求

SOA是在網(wǎng)絡(luò)服務(wù)的基礎(chǔ)上發(fā)展起來的系統(tǒng)架構(gòu),其技術(shù)層面包含網(wǎng)絡(luò)服務(wù),而策略與實(shí)現(xiàn)的層面是負(fù)責(zé)管理服務(wù)的注冊與發(fā)布。它擁有一些特性例如較佳的服務(wù)再利用性、獨(dú)立的通信協(xié)議以及應(yīng)用軟件的整合,由于不同系統(tǒng)平臺間彼此所采用的通信協(xié)議不同,因此SOA采用標(biāo)準(zhǔn)的通信協(xié)議,使用了可擴(kuò)展標(biāo)記語言XML以及簡易對象 存 取 協(xié) 議 (Simple Object Access Protocol, SOAP),所有服務(wù)的注冊、發(fā)布以及綁定都按照此規(guī)范,借此提升了異質(zhì)性平臺間的互操作性。這樣醫(yī)療機(jī)構(gòu)不需獨(dú)立開發(fā)所有的醫(yī)療服務(wù)程序,它們可以使用其它機(jī)構(gòu)或企業(yè)提供的醫(yī)療服務(wù),節(jié)省開發(fā)與維護(hù)軟件的成本并增加醫(yī)療服務(wù)的再利用性[6]。

圖1說明SOA中三個基本的角色:(1)服務(wù)需求者(Service Consumer):在網(wǎng)絡(luò)上搜尋符合需求的服務(wù)以及請求服務(wù)的角色,此角色可以是一位醫(yī)護(hù)專業(yè)人員、醫(yī)療資訊的子系統(tǒng)或是需要某一項(xiàng)信息服務(wù)的人員。從醫(yī)療領(lǐng)域來看,不同的工作機(jī)構(gòu)會擁有許多的工作人員和許多的子系統(tǒng),因此服務(wù)需求者可能是內(nèi)部的使用者,也可能是來自另一個機(jī)構(gòu)的使用者。例如,某一家醫(yī)院的一位醫(yī)師,在開藥品處方時希望能檢查該病人的藥物是否有交互作用的問題;在某一偏遠(yuǎn)地區(qū)的醫(yī)師希望能將一名病患的超音波影像交由大城市的醫(yī)學(xué)中心的放射科醫(yī)師判讀,以上都可視為服務(wù)的需求者。(2)服務(wù)提供者(Service Provider):開發(fā)與發(fā)布網(wǎng)絡(luò)服務(wù)的角色,擁有許多的網(wǎng)絡(luò)服務(wù)提供給服務(wù)需求者使用,因此服務(wù)提供者可以設(shè)定所提供的網(wǎng)絡(luò)服務(wù)允許開放的對象和權(quán)限,例如某醫(yī)學(xué)中心與偏遠(yuǎn)的鄉(xiāng)鎮(zhèn)地區(qū)醫(yī)院合作,地區(qū)醫(yī)院的醫(yī)師可以將超音波的影像傳給醫(yī)學(xué)中心的RIS(Radiology Information System),RIS系統(tǒng)會安排專業(yè)的放射科醫(yī)師判讀和撰寫報告。(3)服務(wù)中介者(Service Broker):負(fù)責(zé)管理服務(wù)的注冊,提供一個平臺給服務(wù)提供者注冊WSDL文件,并將服務(wù)進(jìn)行分類,另外讓服務(wù)需求者能在此平臺搜尋服務(wù)。

圖1SOA架構(gòu)

圖1 還描述了這三個角色之間的互動關(guān)系,其運(yùn)作流程主要有3個步驟:(1)服務(wù)提供者將服務(wù)的基本信息例如通信協(xié)議、接口、參數(shù)以及服務(wù)的地址描述于WSDL文件中,接著服務(wù)提供者將服務(wù)注冊至服務(wù)中介者,這個中介者也可稱為通用描述探索與整合(Universal Description,Discovery and Integration,UDDI),是一種分類服務(wù)以及建立服務(wù)目錄的規(guī)范,供大家將網(wǎng)絡(luò)服務(wù)注冊并發(fā)布給服務(wù)需求者查詢。(2)服務(wù)需求者可以在UDDI中搜尋需要的服務(wù),并請求該服務(wù)的WSDL文件。(3)服務(wù)需求者可根據(jù)WSDL文件上的描述產(chǎn)生相應(yīng)的SOAP消息,此消息包含服務(wù)所需參數(shù)并通過HTTP傳送給服務(wù)提供者,服務(wù)提供者接收到參數(shù)并進(jìn)行運(yùn)算之后,將運(yùn)算結(jié)果封裝成SOAP消息回傳給服務(wù)需求者。

將SOA應(yīng)用于醫(yī)療服務(wù)產(chǎn)業(yè)時,其授權(quán)與訪問控制的安全性是很重要的課題,因?yàn)樵卺t(yī)療服務(wù)產(chǎn)業(yè)中服務(wù)的功能性以及數(shù)據(jù)的處理都是非常專業(yè)且具有隱私性?,F(xiàn)今醫(yī)療服務(wù)產(chǎn)業(yè)提供的服務(wù)不僅是給醫(yī)療機(jī)構(gòu)內(nèi)的人員來使用,還包含病人、保險公司以及藥廠等其它機(jī)構(gòu)或企業(yè),因此本文提出的SOA架構(gòu)下應(yīng)用于醫(yī)療領(lǐng)域的訪問控制模型必須滿足以下的需求:(1)協(xié)助醫(yī)療機(jī)構(gòu)間服務(wù)的共享與管理。(2)提供一個訪問控制機(jī)制來限制醫(yī)療機(jī)構(gòu)內(nèi)外部人員。(3)提供一個平臺來處理需求者的請求,不管是服務(wù)的搜尋或?qū)U(kuò)充的WSDL文件的解析。

2.2 整體架構(gòu)以及流程

下面通過一個二維醫(yī)療影像轉(zhuǎn)換為三維的維度轉(zhuǎn)換(以下簡稱Image2Dto3D)服務(wù)的實(shí)例來闡述整體架構(gòu)以及流程,最后再針對架構(gòu)內(nèi)的組件做出說明。Image2Dto3D服務(wù)是用來將醫(yī)療影像進(jìn)行維度的轉(zhuǎn)換,并具有醫(yī)療影像判讀的功能,由于使用此服務(wù)需要具備醫(yī)療的專業(yè)知識,因此需要定義此服務(wù)適用的角色。

圖2為系統(tǒng)的整體架構(gòu),其中有兩家醫(yī)療機(jī)構(gòu)A醫(yī)院與B醫(yī)院,都由三個重要的組件構(gòu)成,分別是授權(quán)單元(Authorized Unit,AU)、服務(wù)需求者以及服務(wù)提供者。AU也包含了三個子組件,分別為服務(wù)管理平臺、內(nèi)部角色管理以及Ontology角色對應(yīng),這三個子組件功能描述如下:(1)服務(wù)管理平臺:主要負(fù)責(zé)服務(wù)的搜尋以及服務(wù)的綁定,類似于UDDI的功能。(2)內(nèi)部角色管理:主要負(fù)責(zé)機(jī)構(gòu)內(nèi)角色的驗(yàn)證管理。(3)Ontology角色對應(yīng):主要負(fù)責(zé)外部角色與內(nèi)部角色的對應(yīng),具體的對應(yīng)方式后面會介紹。

圖2 整體架構(gòu)圖

服務(wù)的流程主要有兩種情況,第一種是當(dāng)A醫(yī)院內(nèi)部的人員請求Image2Dto3D服務(wù)時的流程,而Image2Dto3D服務(wù)是由A醫(yī)院提供的;另一種情況是當(dāng)B醫(yī)院的人員要請求A醫(yī)院的Image2Dto3D服務(wù)時,如何通過AU去請求服務(wù)的流程,這兩種情況分別由圖3和圖4做出說明。

如圖3所示,服務(wù)需求者所需的服務(wù)在本地。服務(wù)需求者通過服務(wù)管理平臺搜尋到本地端的Image2Dto3D服務(wù)時,向AU-A請求服務(wù)的相關(guān)信息(包含服務(wù)的限制以及所需的參數(shù)),AU-A會驗(yàn)證需求者身份,等待需求者傳送相關(guān)的身份驗(yàn)證信息,若驗(yàn)證成功便會依照Image2Dto3D服務(wù)的擴(kuò)充的WSDL文件回傳服務(wù)的相關(guān)信息給需求者,需求者再根據(jù)此信息填入相關(guān)的參數(shù),并由AU-A的服務(wù)管理平臺將參數(shù)封裝成SOAP傳送至A醫(yī)院的服務(wù)提供者進(jìn)行服務(wù)的綁定,服務(wù)提供者取得參數(shù)并經(jīng)過運(yùn)算后再將結(jié)果通過AUA中的服務(wù)管理平臺回傳給需求者。

圖4說明第二種情況,所需的服務(wù)在其他的醫(yī)療機(jī)構(gòu)。服務(wù)需求者來自B醫(yī)院,他要請求A醫(yī)院所提供的Image2Dto3D服務(wù),請求服務(wù)的流程大致與圖3類似,不同的是AU-B需要傳送其需求者的角色與機(jī)構(gòu)信息,提供AU-A中的Ontology角色對應(yīng)(子組件)進(jìn)行外部角色的驗(yàn)證。

圖3 A醫(yī)院內(nèi)部人員請求服務(wù)

圖4 A醫(yī)院外部人員請求服務(wù)

2.3 基于限制的WSDL

WSDL為網(wǎng)絡(luò)服務(wù)描述語言的簡稱,以XML語言為基礎(chǔ)撰寫,主要用于描述服務(wù)的相關(guān)信息(傳輸協(xié)議、參數(shù)格式以及服務(wù)地址等),WSDL文件提供需求者與網(wǎng)絡(luò)服務(wù)互動所需要的信息,讓服務(wù)的需求者可以通過這些信息產(chǎn)生相對應(yīng)的SOAP消息,而此SOAP消息是在綁定服務(wù)時采用的信息傳遞標(biāo)準(zhǔn),因此需求者與網(wǎng)絡(luò)服務(wù)都可以根據(jù)WSDL文件來解析SOAP消息傳遞的內(nèi)容。

WSDL文件主要有兩個部分:服務(wù)實(shí)現(xiàn)定義(Service Implementation)與服務(wù)接口定義(Service Interface Definition),服務(wù)實(shí)現(xiàn)定義明確描述服務(wù)的名稱、提供服務(wù)的廠商以及服務(wù)的地址(URL),主要是用來定義服務(wù)的端點(diǎn)(進(jìn)入點(diǎn));而服務(wù)接口定義則包含以下四個部分:(1)服務(wù)綁定(Binding):用來描述網(wǎng)絡(luò)服務(wù)的通信協(xié)議、參數(shù)序列以及編碼。(2)端口類型(PortType):用于定義服務(wù)接口的數(shù)據(jù)輸入與響應(yīng)方式。(3)消息(Message):用于描述需求者與服務(wù)接口的互動過程中傳遞的信息。(4)服務(wù)型別(Type):用于描述消息參數(shù)的數(shù)據(jù)類型(如字符串或整數(shù)等)。

AU除了提供服務(wù)需求者搜尋服務(wù)以及服務(wù)提供者注冊服務(wù)外,還負(fù)責(zé)內(nèi)部角色與外部角色的驗(yàn)證,并根據(jù)擴(kuò)充的WSDL文件以及OWL定義的內(nèi)外部角色的對應(yīng)關(guān)系授權(quán)給需求者。圖5為擴(kuò)充的WSDL規(guī)范,除了原本的服務(wù)實(shí)現(xiàn)定義與服務(wù)接口定義外,還新增服務(wù)限制定義的部分,用來定義服務(wù)適用的角色范圍以及事件的限制。

圖5 擴(kuò)充的WSDL規(guī)范

在服務(wù)限制定義中,我們針對角色以及事件兩個部分來定義服務(wù)的限制。圖6為一超音波圖像處理的服務(wù)限制定義描述,首先服務(wù)限制的描述都會包含在Constraint標(biāo)簽下,屬性name代表服務(wù)的名稱,接著針對不同機(jī)構(gòu)定義允許存取的角色,范例中分別針對名為Hospital與Clinic這兩家醫(yī)療機(jī)構(gòu)定義服務(wù)適用范圍以及服務(wù)的使用限制。Domain用來定義角色的存取限制,屬性ConstraintType用來定義限制的模式,目前有兩種模式TotalPermit以及PartialPermit,分別代表允許所有成員存取服務(wù)與允許部分成員存取服務(wù)。Exception則是定義限制存取的角色。Event針對兩部分來限制,Time用來定義服務(wù)的開放時段(Value)與頻率(Interval),Order定義前置服務(wù)。And與Or標(biāo)簽用來定義條件之間的邏輯運(yùn)算,若有兩個以上的條件需同時滿足就包在And標(biāo)簽下,反之則包在Or標(biāo)簽下。若要調(diào)用此范例中的3D Ultrasound Service必須滿足兩個條件:第一個條件需要先調(diào)用Image Pre-processing Service才能調(diào)用此服務(wù),第二個條件是只有每天的早上九點(diǎn)至下午三點(diǎn)此服務(wù)才會開放。

圖6 超音波圖像處理服務(wù)限制的描述

2.4 以O(shè)ntology構(gòu)建角色對應(yīng)關(guān)系與階層

我們從兩個部分探討在SOA中定義角色與權(quán)限的關(guān)系:第一部分是以O(shè)WL來描述RBAC的模型以及角色的限制,第二部分是建立不同機(jī)構(gòu)間角色的對應(yīng)關(guān)系。

2.4.1 以O(shè)WL描述RBAC模型

RBAC的模型與傳統(tǒng)的訪問控制不同的地方在于RBAC加入角色作為用戶與權(quán)限之間的中介,用戶是否有權(quán)限操作要根據(jù)其所屬角色是否有對應(yīng)的權(quán)限,而角色與權(quán)限之間是多對多的關(guān)系,當(dāng)然使用者與角色之間也是多對多的關(guān)系,因此一個使用者可以擁有多個角色,而同一個角色也可以指派給不同的使用者,但有的角色彼此是互斥的關(guān)系,例如,機(jī)構(gòu)內(nèi)會計與出納的職務(wù)不能由同一名員工來擔(dān)任以免發(fā)生舞弊的情形,這時就不能將有互斥關(guān)系的角色指派給同一個人。Sandhu提出的RBAC模型包含三種等級,本文采用的是第3級模型,也就是包含了第1級與第2級模型,分別具有角色繼承與權(quán)責(zé)區(qū)分的特性,除此之外還有最低基本執(zhí)行權(quán)限、數(shù)據(jù)抽象以及基數(shù)限制等特性。

(1)角色繼承(Role Inheritance):角色之間有階層關(guān)系,可以進(jìn)行權(quán)限的繼承來降低管理的負(fù)擔(dān),如圖7為一醫(yī)療團(tuán)隊角色階層圖,總醫(yī)師(Chief Resident)與主治醫(yī)師(Supervisor)繼承住院醫(yī)師(Resident)的權(quán)限,以此類推。OWL描述如下:

圖7 醫(yī)療團(tuán)隊角色階層圖

其中<o(jì)wl:Class表示類別的意思,并通過<rdfs:subClassOf來描述總醫(yī)師與主治醫(yī)師的父類別為住院醫(yī)師。

(2)權(quán)責(zé)區(qū)分(Separation of Duties):為了避免互斥角色由同一人來擔(dān)任而產(chǎn)生的舞弊情形,可分為兩種策略:靜態(tài)權(quán)責(zé)區(qū)分,即角色之間為強(qiáng)互斥關(guān)系,例如,會計與出納這兩種職務(wù)彼此之間存在有利益沖突的關(guān)系,不能將這兩名角色指派給同一名員工;動態(tài)權(quán)責(zé)區(qū)分,即角色之間為弱互斥關(guān)系,可以將這些角色指派給同一人,但同一會話(Session)中只能擔(dān)任一種角色。假設(shè)護(hù)士(Nurse)與住院醫(yī)師(Resident)彼此是強(qiáng)互斥的關(guān)系,其OWL描述如下:

通過<o(jì)wl:disjointWith描述護(hù)士與住院醫(yī)師彼此的集合關(guān)系為不相交(互斥)。

(3)最低基本執(zhí)行權(quán)限(Least Privilege):由于使用者、角色與權(quán)限之間都是多對多的關(guān)系,為了防止同一個人擁有過多的權(quán)限,因此采用最小權(quán)限原則,當(dāng)擁有特定角色的人才能執(zhí)行特定的任務(wù),例如,院長只具備醫(yī)療行政方面的權(quán)限而總醫(yī)師以及主治醫(yī)師則具備醫(yī)療方面的權(quán)限。

(4)數(shù)據(jù)抽象(DataAbstraction)

傳統(tǒng)的訪問控制基本上是限制對象的讀、寫、新增、刪除以及修改等命令,而RBAC則允許透過語意的方式來描述權(quán)限,例如,影像標(biāo)記、轉(zhuǎn)換。

(5)基數(shù)限制(Cardinality):說明角色的指派是有上限的,例如院長(Director)只能指派給一個使用者,同樣使用者能擁有的角色也是有限制的。OWL描述如下:

通過<o(jì)wl:onProperty rdf:resource="HeldBy"/>來設(shè)定院長這個角色的指派屬性,<o(jì)wl:maxQualifiedCardinality表示上限值設(shè)為1來限制角色能被指派的使用者為一名。

2.4.2 以O(shè)WL構(gòu)建機(jī)構(gòu)間角色對應(yīng)關(guān)系

若有兩家醫(yī)療機(jī)構(gòu)A醫(yī)院(Hospital)與B診所(Clinic)彼此有合作關(guān)系,提供的服務(wù)彼此可共享,但這兩家醫(yī)院的角色階層關(guān)系也許會不同,因此為了讓兩家醫(yī)院彼此都能了解其對角色的定義,我們在其中加入Equivalent Class關(guān)系,此關(guān)系代表角色間的定義是相同的,這樣任何一家醫(yī)院在進(jìn)行外部角色的訪問控制時,可以對照此OWL建立的機(jī)構(gòu)間角色對應(yīng)關(guān)系圖來了解外部角色的定義。其角色對應(yīng)關(guān)系的OWL描述如下:

通過<o(jì)wl:equivalentClass來描述Doctor與Supervisor之間彼此的角色定義是相等的。

3 系統(tǒng)實(shí)現(xiàn)

我們構(gòu)建了以SOA為基礎(chǔ)并結(jié)合RBAC的醫(yī)療服務(wù)整合搜尋平臺,提供醫(yī)療機(jī)構(gòu)內(nèi)的需求者取得服務(wù)并分享給機(jī)構(gòu)外的需求者,醫(yī)療服務(wù)不僅能達(dá)成共享的目的,還實(shí)現(xiàn)了訪問控制機(jī)制。

圖2整體架構(gòu)中的AU(Authorized Unit)主要由四個子系統(tǒng)組成,分別是服務(wù)搜索引擎、驗(yàn)證服務(wù)器、服務(wù)呼叫代理以及服務(wù)注冊中心,如圖8所示。服務(wù)搜索引擎提供服務(wù)需求者搜尋服務(wù)的平臺,可將此平臺視為存放服務(wù)目錄的地方。驗(yàn)證服務(wù)器用來驗(yàn)證需求者的身份以及訪問權(quán)限。服務(wù)呼叫代理負(fù)責(zé)將需求者的參數(shù)封裝成SOAP消息并傳送至服務(wù)提供者,并完成服務(wù)的呼叫代理。服務(wù)注冊中心則是讓服務(wù)提供者將自己開發(fā)的服務(wù)注冊到AU,以供服務(wù)需求者搜尋。我們以A醫(yī)院為內(nèi)部機(jī)構(gòu)而B醫(yī)院為外部機(jī)構(gòu)的例子來說明系統(tǒng)的運(yùn)作方式以及實(shí)現(xiàn)方法。本系統(tǒng)以Microsoft C#ASP.NET為開發(fā)平臺,架設(shè)環(huán)境為Microsoft Windows Server 2003。

圖8 系統(tǒng)實(shí)現(xiàn)架構(gòu)

3.1 服務(wù)注冊中心

UDDI除了提供服務(wù)需求者搜尋服務(wù)之外,服務(wù)的提供者可以將開發(fā)的服務(wù)注冊至UDDI中,服務(wù)的相關(guān)信息就會被存儲以供需求者查詢。服務(wù)注冊中心子系統(tǒng)也提供了類似的功能,只不過在標(biāo)準(zhǔn)的SOA中,UDDI提供一個集中管理的平臺,但在本文的架構(gòu)中由于本子系統(tǒng)是包含在AU中,而AU是部署在各個機(jī)構(gòu)的系統(tǒng)架構(gòu)里,因此本子系統(tǒng)只供本地端的提供者注冊服務(wù)。我們采用同步更新服務(wù)目錄的方式,一旦本地端的服務(wù)被注冊,此服務(wù)的相關(guān)信息(包含機(jī)構(gòu)的位址、服務(wù)的名稱以及提供者的信息等)都會同步更新至合作機(jī)構(gòu)的服務(wù)目錄中,這樣既使服務(wù)只能注冊至本地端的服務(wù)注冊中心,還是可以將服務(wù)的相關(guān)信息以及地址分享給其它的機(jī)構(gòu)。

服務(wù)的注冊除了將服務(wù)的相關(guān)信息存儲至本子系統(tǒng),服務(wù)的提供者還需定義其所提供服務(wù)的限制,即前面提到的角色以及事件的限制定義。

3.2 服務(wù)搜索引擎

此部分主要是提供服務(wù)需求者一個醫(yī)療服務(wù)搜尋的平臺,此平臺可視為是存放醫(yī)療服務(wù)目錄的地方,除了存放機(jī)構(gòu)內(nèi)注冊的服務(wù)外,其相關(guān)合作機(jī)構(gòu)的目錄也會同步至此平臺。服務(wù)需求者可以輸入服務(wù)的關(guān)鍵字進(jìn)行搜尋,如果要找的服務(wù)存在于服務(wù)目錄中,就會顯示相關(guān)的服務(wù)信息(如:服務(wù)的名稱、服務(wù)提供者的名稱等),并且可以進(jìn)一步進(jìn)行服務(wù)的調(diào)用,另外服務(wù)除了可以通過服務(wù)的名稱搜尋外,還可以通過服務(wù)提供者的名稱來搜尋,并提供兩種篩選方式機(jī)構(gòu)內(nèi)(本地)服務(wù)與機(jī)構(gòu)外(外部)服務(wù),這樣服務(wù)的需求者可以通過更多元的搜尋方式取得所要的服務(wù)信息。此外,為了增加需求者在搜尋上的便利性,以及考慮到需求者可能只會進(jìn)行服務(wù)信息的查詢,本子系統(tǒng)并不需要進(jìn)行用戶驗(yàn)證,任何人都可以使用服務(wù)搜索引擎,通過這樣的方式來增加服務(wù)的曝光度,相對服務(wù)的利用性也會隨之增加。

本子系統(tǒng)的服務(wù)目錄來源有兩個,第一個是WSDL數(shù)據(jù)庫,此數(shù)據(jù)庫存放擴(kuò)充的WSDL文件,并通過服務(wù)注冊中心來建立,因此服務(wù)搜索引擎就可以根據(jù)此WSDL數(shù)據(jù)庫來建立服務(wù)的目錄;第二個來源是來自于外部合作的機(jī)構(gòu),當(dāng)外部機(jī)構(gòu)將他們提供的服務(wù)注冊至他們的服務(wù)注冊中心時,就會將此服務(wù)的信息同步更新至本子系統(tǒng)。

3.3 驗(yàn)證服務(wù)器

在標(biāo)準(zhǔn)的SOA中并沒有明確定義訪問控制的規(guī)范,因此服務(wù)的需求者在通過UDDI取得服務(wù)的WSDL文件之后,就可以進(jìn)行服務(wù)的調(diào)用,甚至不需要經(jīng)過UDDI,需求者只要依照WSDL中描述的服務(wù)綁定相關(guān)規(guī)范產(chǎn)生對應(yīng)的SOAP消息,便可直接與服務(wù)的提供者交換數(shù)據(jù),因此在本系統(tǒng)才需要將驗(yàn)證服務(wù)器納入AU中。

當(dāng)服務(wù)的需求者在通過AU搜尋到想要存取的服務(wù)后,若要進(jìn)行服務(wù)的調(diào)用必須先經(jīng)過驗(yàn)證,系統(tǒng)會要求需求者登錄,假設(shè)需求者目前是已登錄的狀態(tài),系統(tǒng)就會進(jìn)入授權(quán)評估階段,評估需求者的角色是否滿足擴(kuò)充的WSDL中的服務(wù)限制定義,最后再將評估的結(jié)果送至服務(wù)呼叫代理。若評估的結(jié)果是合法需求者,服務(wù)呼叫代理便會替需求者進(jìn)行服務(wù)的綁定,反之則會回傳拒絕存取的信息給需求者。

本子系統(tǒng)實(shí)現(xiàn)的重點(diǎn)在于授權(quán)評估部分,登錄時采用用戶名密碼的方式確認(rèn)需求者身份以及擔(dān)任角色,當(dāng)需求者輸入正確的賬號和密碼并選擇適當(dāng)角色后,系統(tǒng)便會進(jìn)行授權(quán)評估的動作。評估的動作有三個階段,第一個階段是要確認(rèn)角色的繼承關(guān)系;第二個階段則是比對角色是否符合服務(wù)限制定義中定義的角色適用范圍;最后進(jìn)行事件限制的審核,確認(rèn)需求者是否符合預(yù)先定義的條件(如前置服務(wù)等)。其中角色繼承關(guān)系來自于OWL數(shù)據(jù)庫,讓系統(tǒng)能通過語意網(wǎng)的方式理解角色之間的關(guān)系,進(jìn)而擷取出與目標(biāo)角色相關(guān)聯(lián)的信息,最后進(jìn)行評估與比對。除此之外,驗(yàn)證服務(wù)器還必須處理外部需求者的驗(yàn)證,由于不同機(jī)構(gòu)間對于角色的定義不相同(如角色詞匯的定義等),因此需從OWL數(shù)據(jù)庫擷取出角色對應(yīng)信息,通過這樣的方式來授權(quán)給外部的需求者。

圖9為服務(wù)需求者的驗(yàn)證流程圖,當(dāng)需求者搜尋到所需服務(wù)后,若要進(jìn)行服務(wù)調(diào)用就要由系統(tǒng)判斷是否為內(nèi)部服務(wù),假設(shè)不是內(nèi)部服務(wù)就會傳送需求者登錄的相關(guān)信息(角色或機(jī)構(gòu)名稱等)給外部機(jī)構(gòu)的AU進(jìn)行相關(guān)驗(yàn)證以及授權(quán)評估,反之則是由內(nèi)部機(jī)構(gòu)的AU來進(jìn)行驗(yàn)證授權(quán)的動作,待需求者的請求被授權(quán)后就會調(diào)用服務(wù)。

3.4 服務(wù)呼叫代理

前面提到服務(wù)的綁定是通過WSDL文件產(chǎn)生SOAP消息,并傳送給服務(wù)的提供者,以此完成服務(wù)的綁定,而需求者與提供者之間的互動必須通過Proxy擔(dān)任中介的角色,此Proxy會解析WSDL文件內(nèi)容,了解服務(wù)的信息以及調(diào)用方式,待需求者將服務(wù)所需參數(shù)提交后,把這些參數(shù)封裝成SOAP消息并通過RPC程序傳送至提供者端,而SOAP消息本身就是XML文件,所以它可以通過任何可以傳送文字的傳輸協(xié)議來傳遞,最后再等待提供者回傳的SOAP消息,并由Proxy解析,當(dāng)然提供者端也會接收并解析這些SOAP消息,然后進(jìn)行必要的運(yùn)算,最后也是將結(jié)果以SOAP消息回傳。另外,考慮到需求者如果取得WSDL文件后,可以通過.NET Framework提供的一組公用程序WSDL.exe或其它的方式來產(chǎn)生Proxy,因而跳過AU的驗(yàn)證服務(wù)器與服務(wù)呼叫代理來綁定服務(wù),所以本系統(tǒng)會隱藏WSDL文件來確保需求者不會取得服務(wù)的描述定義,讓需求者在每一次服務(wù)的綁定時,都要先經(jīng)過需求者的身分驗(yàn)證,接著由服務(wù)呼叫代理來綁定服務(wù)。

4 小結(jié)

本文提出一個SOA架構(gòu)下的應(yīng)用于醫(yī)療服務(wù)產(chǎn)業(yè)訪問控制模型,首先我們通過此模型中的AU來管理機(jī)構(gòu)內(nèi)外部服務(wù)的搜尋與綁定,接著再將醫(yī)療服務(wù)的存取限制定義在網(wǎng)絡(luò)服務(wù)描述語言WSDL文件中,這樣AU即可根據(jù)此定義授予服務(wù)需求者存取服務(wù)的權(quán)力,且服務(wù)需求者不僅能通過WSDL文件得知服務(wù)的綁定(調(diào)用)外,還能了解服務(wù)的存取限制。最后,利用OWL來定義不同機(jī)構(gòu)間角色權(quán)力的對應(yīng)關(guān)系,此方法有助于了解醫(yī)療機(jī)構(gòu)外角色的定義并對其進(jìn)行服務(wù)的訪問控制。

本文的架構(gòu)可以適用于不同的分布式系統(tǒng),例如,醫(yī)療機(jī)構(gòu)、企業(yè)以及學(xué)術(shù)單位的信息系統(tǒng),未來我們將針對訪問控制的機(jī)制做更細(xì)致的規(guī)范,例如,在WSDL中增加其它的屬性與限制,如特定事件以及事件的先后順序關(guān)系等,讓此訪問控制模型在SOA架構(gòu)中更加細(xì)致。

圖9 服務(wù)需求者的驗(yàn)證流程圖

[1]Meir A,Rubinsky B.Distributed Network,Wireless and Cloud Computing Enabled 3-D Ultrasound;a New MedicalTechnology Paradigm[J].PlosOne, 2009,4(4):380-380.

[2]Broy M,Ger I H,Meisinger M.A formal model of services[J].Acm Transactions on Software Engineering &Methodology,2007,16(1):1-39.

[3]Reinhold H.Health information systems-past,present,future[J].International Journal of Medical Informatics,2006,75(3-4):268-281.

[4]Spang A.The Role of Service Oriented Architecture in Telemedicine Healthcare System[C]//Complex,Intelligent and Software Intensive Systems,2009.CISIS'09. International Conference on.IEEE,2009:208-214.

[5]Zhang X G,Li J S,Zhou T S,et al.Design and implementation of Interoperable Medical Information System based on SOA[C]//IEEE International Symposium on It in Medicine&Education.2009:1074-1078.

[6]Kart F,Moser L E,Melliar-Smith P M.Building a Distributed E-Healthcare System Using SOA[J].It Professional,2008,10(2):24-30.

[7]張貝貝,李成偉,張 方.基于SOA架構(gòu)的醫(yī)療服務(wù)管理平臺的設(shè)計與實(shí)現(xiàn)[J].中國醫(yī)療設(shè)備,2016(1):102-104.

[8]孫萬駒,何安勇,朱海燕.SOA技術(shù)在區(qū)域醫(yī)療機(jī)構(gòu)信息共享中的應(yīng)用研究[J].計算機(jī)應(yīng)用與軟件, 2013,30(7):255-258.

[9]Axel Buecker,Paul Ashley,Martin Borrett,et al.Understanding soa security design and implementation [C]//IBM Corp.2007.

[10]Zou D,He L,Jin H,et al.CRBAC:Imposing multigrained constraints on the RBAC model in the multiapplication environment[J].Journal of Network& ComputerApplications,2009,32(2):402-411.

[11]Sassoon R.Security in SOA-Based Healthcare Systems [J].Institutt for Telematikk,2009.

[12]Yamany H F E,Capretz M A M,Allison D S.Intelligent security and access control framework for serviceoriented architecture[J].Information&Software Technology,2010,52(2):220-236.

An inter-organizational access control model based on constraints and roles in SOA

WU Ling,YANG Jia-gui,CHEN Jin-song,WANG Hao
(School of Management Science and Engineering,Anhui University of Finance&Economics,Bengbu Anhui233030,China)

Nowadays,the information system of the medical industry faces many challenges,such as the heterogeneity of the platform,the tight coupling between services and the lack of reuse.In recent years,the industry put forward the SOA architecture to build and organize medical services to improve the current plight of the medical information system.Aiming at the problem of lack of access control in the standard SOA,this paper discusses the security requirements of the application of SOA architecture in the medical service industry and the access control of the shared services among different medical institutions.An access control model based on RBAC and extended WSDL in medical field is proposed under the SOA architecture.The model provides a new solution for inter-organization access control mechanism.

access control;inter-organization;RBAC;medical field;SOA

TP391

:A

:1004-4329(2016)04-083-10

10.14096/j.cnki.cn34-1069/n/1004-4329(2016)04-083-10

2016-09-15

安徽省高等學(xué)校省級自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2015A106);安徽財經(jīng)大學(xué)校級教研項(xiàng)目(acjyyb2016098);安徽財經(jīng)大學(xué)校級教研項(xiàng)目(acjyyb2016096)資助。

武 凌(1977- ),男,碩士,副教授,研究方向:計算機(jī)網(wǎng)絡(luò)和大數(shù)據(jù)。

猜你喜歡
需求者訪問控制服務(wù)提供者
信息不對稱下個人健康數(shù)據(jù)交易雙邊定價策略研究
網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任研究
基于信號博弈的我國農(nóng)產(chǎn)品市場有效供給研究
中國體育保險市場化發(fā)展研究
論網(wǎng)絡(luò)服務(wù)提供者刑事責(zé)任的歸責(zé)模式一一以拒不履行網(wǎng)絡(luò)安全管理義務(wù)罪為切入點(diǎn)
土地資源信息共享服務(wù)管理平臺構(gòu)建設(shè)想
ONVIF的全新主張:一致性及最訪問控制的Profile A
論網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任
動態(tài)自適應(yīng)訪問控制模型
淺析云計算環(huán)境下等級保護(hù)訪問控制測評技術(shù)