專利名稱:Web服務實體及其安全供求策略匹配的實現方法
技術領域:
本發明涉及網絡技術,尤其涉及網絡安全匹配的技術。
背景技術:
Web服務作為一種新的分布式計算模型,為Web上數據和應用的集成提供了有效機制,也是面向服務架構(Service Oriented Architecture, SOA)和云計算等新興計算模式的主要實現與呈現方式。Web服務具有平臺無關性、開放性、動態性、松散耦合和分布式等特征,這在給基于異構平臺的應用集成帶來便利的同時,其自身也面臨許多獨特的安全問
題。 Web服務的一個首要問題是如何準確地表示和匹配各Web服務參與方的安全供求策略。這里所說的安全供求是指一個Web服務實體(包括服務提供者和請求者)的安全需求和安全能力,是Web服務的一種非功能屬性,安全供求策略就是對這種非功能屬性的策略表示。確定一個服務是否適合于一個特定的請求,除了功能方面要滿足需求之外,服務提供者和請求者的安全需求與安全能力也應該相互匹配。只有當對應的安全需求和安全能力相匹配時,Web服務實體之間才實現下一步動作,如建立鏈接、傳輸數據等。然而,Web服務環境具有開放、動態和分布式的特征,Web服務各參與方可能位于不同的安全域,而不同的安全域中通常具有不同的安全等級和安全需求。在這種情況下,與Web服務安全相關的各種機制、協議和規范也具有多樣性和沖突性。因此,要清楚無誤地、以能被共同理解的方式來表示Web服務各參與方的安全供求策略、并對它們進行正確匹配是比較困難的。現有的策略框架,如Web服務策略框架(Web Service PolicyFramework, WS-Policy)能夠用來描述Web服務的安全需求和安全能力。但是,WS-Policy對這些非功能屬性的描述是句法級的(syntactic),表達能力較弱,對具有異構和分布式特征的Web服務環境來說其適應性有限。此外,WS-Policy在實際應用中對策略兼容性計算的效率較低,并且容易導致錯誤的匹配結果。
發明內容
為了改善網絡安全匹配技術的現狀,本發明提供了一種Web服務實體及其安全供求策略匹配的實現方法。一種Web服務實體,用于在網絡中提供一預先設定的功能,包括安全本體模塊、安全需求策略模塊和安全匹配模塊。其中,該安全需求策略模塊定義若干安全需求和安全能力,且所述安全需求和安全能力取值于所述安全本體模塊;該安全匹配模塊基于所述安全需求與另一 Web服務實體的安全能力、或者基于所述安全能力與另一 Web服務實體的安全需求,判斷本Web服務實體與所述另一 Web服務實體的安全供求匹配與否。本發明另提出一種Web服務安全策略的匹配方法,該方法用于對一第一 Web服務實體和一第二 Web服務實體進行安全策略匹配,包括以下步驟
取得所述第一 Web服務實體的安全需求屬性;取得所述第二 Web服務實體的安全能力屬性;判定所述安全需求屬性和安全能力屬性是否匹配;其中,所述安全需求屬性和安全能力屬性預先定義在一個安全本體模塊中。綜上所述,本發明提出的匹配方法不需要對任何已有規范做出改動,具有較好的適應性和可擴展性。對于匹配算法,主要是基于對概念的包含推理來進行,通過對概念蘊含關系的推理來確定安全能力與安全需求是否匹配以及匹配的程度。也就是說,將安全供求策略的匹配問題轉化成了基于語義概念的包含推理問題,提高了策略匹配的效率和準確性。
圖I為本發明實施例中的安全本體的示意圖。
具體實施例方式為了更了解本發明的技術內容,特舉具體實施例并配合所附圖式說明如下。本實施例中的網絡系統至少包括第一 Web服務實體和第二 Web服務實體。本發明中,Web服務實體至少能夠實現某種功能,例如對另一 Web服務實體的請求作出響應,或者向另一 Web發出請求。同時,Web服務實體也具有安全等級,定義對應的安全能力和安全需求。在實際應用中,該Web服務實體可以作為一個裝置,如計算機實現,也可以作為多臺計算機互聯的形式出現。Web服務實體包括功能模塊和安全本體模塊,其中,功能模塊用以實現特定的功能,如資源存儲、信息訪問等。安全本體模塊則對各種與Web服務安全相關的標準、機制和協議以及它們相互間的關聯特性進行基于語義的描述。這樣,當基于安全本體模塊來定義安全策略時,所定義的安全策略內容就包含了必要的語義信息,從而能夠提高策略匹配的準確性。安全本體模塊的基本層次結構如圖I所示。圖中的類來自于語義本體,即、從語義上講,圖中的各個類是對現實世界中個體的抽象和集合。本實施例中,安全本體模塊(SecurityOntology)的子類包括安全目標類(SecurityObject),協議類(Protocol),算法類(Algorithm),加密類(Encryption),簽名類(Signature)和證書類(Credential)。SecurityObject子類用來表示各種安全概念或目標,它的實例可能包括數據完整性(DataIntegrity),機密性(Confidentiality),驗證(Authentication),授權(Authorization),訪問控制(AccessControl)和密鑰分發(KeyDistribution)等。Protocol子類表示各種與Web服務安全相關的具體規范,比如用來認證和授權的安全斷言標記語言類(Security Assertion Markup Language, SAML);用來執行訪問控制的可擴展訪問控制標記語言類(extensible Access Control Markup Language, XACML);可用于認證和密鑰分發的可擴展標記語言密鑰管理規范類(extensible Markup LanguageKey Management Specification, XKMS)等。Algorithm子類用來表示各種可能被其他協議或規范采用的安全算法。其子類對稱算法類(Symmetric)對應對稱加密算法,包含的實例可以是數據加密標準(DataEncryption Standard, DES) , 3DES (3 重 DES),國際數據加密算法(International DataEncryptionAlgorithm, IDEA)和高級加密標準(Advanced Encryption Standard, AES)等;子類非對稱算法類(Asymmetric)對應非對稱加密算法,包含的實例為公鑰加密算法和數字簽名算法(Digital Signaure Algorithm, DSA);子類哈希算法類(Hash)對應哈希算法,其實例可以是消息摘要算法第5版(Message Digest Algorithm 5, MD5),安全哈希算法第一版(Secure Hash Algorithm I, SHAl)和安全哈希算法第二版(Secure Hash Algorithm 2,SHA2)。Encryption和Signature子類主要關注Web服務最基本的消息安全如機密性和完整性。它們包含的子類表示可用于實現各自目標的主要方法,比如開放私有最佳加密類(Open Pretty Good Privacy Encryption, OpenPGP-Enc)用于加密,可擴展標記語言簽名類(Extensible Markup Language signaure, Xml-Dsig)用于簽名。Credential子類表示Web服務實體要求或者能夠提供的各種安全憑證,主要用于身份驗證和訪問控制。比如其子類可能包括用戶名令牌類(UserNameToken)、X. 509證書類 (X509Cert if icate)、公鑰類(PublicKey)等。以上對于安全本體模塊的子類的介紹僅是列舉性的,在應用中可以按照實際需要來選擇和定義安全本體模塊。為了更好地描述安全本體模塊中各子類之間的相互關系,便于對語義安全供求策略進行概念層次的描述和推理,本實施例定義了一種基于屬性約束的特殊命名類。基于屬性約束的命名類是指通過限定某個對象屬性的取值,并在命名空間中指定唯一名稱而形成的特殊類。以下給出了采用網絡本體語言(Web Ontology Language, OWL)對這種約束類進
行描述的實例
<owi: Restriction rdf:iD="Authentication_RC">
<ow!: on Property rdf:resource=M# refSecObject"/>
<ovvl:hasValue rdf:resource="#Authentication 7>
</owl: Restriction〉
<owl: Restriction rdf: I D=" AES_RC">
<o\vl :onI)roperty rdf:resource="#refAlgorithm"/>
<owl:hasValue rdf:resource="#AES"/>
</owi: Restriction〉
<owi: Restriction rdf:ID="X509Certificate_RC">
<o w I: on Property rdf: resource="#refC redential 7>
<owl:hasValue rdf:resource="#X509Certificate "/>
</owi: Restriction〉根據定義的約束類,可對安全本體中的其他子類作進一步的擴展定義,從而更好地描述各子類之間的語義關系。比如,以下代碼給出了基于約束類的擴展描述實例<owl:C!ass rc1f:iD="XML-Enc">
<rd fs isubClassof rd f:resource="#Encrypti on"/>
<rdfs:subClassof rdf:resource="#AES_RC 7 >
</owl:Class>
<owl:Class rdf:ID="SAML">
<rdfs:subClassof rdf:resource="#PiOiocol"/>· <rdfsisubClassof rdf:resource="#Authentication_RC "/> </owl:Class>
<owl:Class rdf:iD="SAML_X509">
<rdfs:subClassof rdf:resource="#SA!VIL"/>
<rdfsisubClassof rdf:resource="#X509Certif[cate_RC "/> </owl:Class>從以上定義中可以推斷出Protocol子類中的可擴展標記語言加密(ExtensibleMarkup Language encryption, XML-Enc)可用于消息加密,支持 Algorithm 子類中的 AES加密算法!Protocol子類中的SAML是一種身份認證規范,支持基于Credential子類中的X. 509證書(X. 509Certificate)的認證方式等語義信息。以下介紹在安全本體模塊的基礎上,描述Web服務實體的安全需求和安全能力的·方法。在描述Web服務的安全需求和安全能力時,需要滿足兩條原則。第一,每個Web服務實體可以有多個安全需求和多個安全能力,但應對安全需求和安全能力加以明確區分,分別進行定義;第二,由安全需求和安全能力構成的安全供求策略應該形成一個獨立的策略文件,分別與Web服務描述文件或服務請求進行綁定。其中,Web服務描述文件描述了 Web服務提供者所提供的功能,而Web服務請求者則根據自身的需求提出Web服務請求。這里,對安全需求和安全能力分別進行定義是為了更加符合實際情形,并為匹配過程提供便利;而形成一個獨立的策略文件可以使服務功能匹配與安全策略匹配的過程分離開來,降低復雜性。另外,Web服務描述文件要是用來刻畫服務功能的,功能內容相對于非功能屬性來說也更加穩定,因此使用獨立的策略文件更具靈活性,安全屬性的變化不會影響到相對穩定的服務功能描述文件,同時也能避免要求對服務描述文件做出改動。根據上述原則,本實施例基于XML語法格式,定義Web服務語義安全供求策略的基
本框架如下所示〈Policy name=" Po I icy N ame" xmlns:so="#SecurityOntology"> <secCapabilities>
<secCapabilityID-'CapabiltiylD"
resource="so:SubClassOf^ecurityOntology"/>+
</secCapabilit.ies>
<secRequirements>
<sec Requi I'ementI D=" Requi rementID"
resource="so:SiibClassOfSecurityOntology"/>+
</secRequirements>
</Policy>其中,屬性“身份標識(IDentity,ID)”用來聲明某個安全需求或安全能力的唯一標識,屬性“resource”的取值為安全本體模塊中的某個子類,“so”表示對安全本體模塊的引用;符號“?”表示O或1,表明對應元素是可選的,即可以沒有關于安全能力或安全需求的定義;符號“ + ”代表I個或多于I個,表示可以定義多個安全能力和安全需求。以下介紹Web服務實體之間對安全需求和安全能力的匹配判定過程。由上述可知,本實施例中的Web服務實體的安全供求策略是根據安全本體模塊中的各種子類來描述的,因此其匹配算法是基于對概念的包含推理來進行。也就是說,通過對概念蘊含關系的推理來確定安全能力與安全需求是否匹配以及匹配的程度。在本實施例的網絡中,假設第一 Web服務實體中描述安全能力的是子類A,第二 Web服務實體中描述安全需求的是子類B,那么匹配算法可以表示如下
權利要求
1.一種Web服務實體,用于在網絡中提供一預先設定的功能,其特征是,包括 安全本體模塊; 安全需求策略模塊,定義若干安全需求和安全能力,且所述安全需求和安全能力取值于所述安全本體模塊; 安全匹配模塊,基于所述安全需求與另一 Web服務實體的安全能力、或者基于所述安全能力與另一 Web服務實體的安全需求,判斷本Web服務實體與所述另一 Web服務實體的安全供求匹配與否。
2.根據權利要求I所述的Web服務實體,其特征是,該安全本體模塊的子類包括Web服務的標準、機制和/或協議。
3.根據權利要求2所述的Web服務實體,其特征是,該安全本體模塊對其子類進行語義 化表述。
4.根據權利要求2所述的Web服務實體,其特征是,該安全本體模塊具有屬性約束模塊,該屬性約束模塊限定了所述安全屬性信息的名稱和取值。
5.根據權利要求I所述的Web服務實體,其特征是,該安全需求策略模塊包括安全需求模塊和安全能力模塊,分別對安全需求屬性和安全能力屬性進行單獨定義。
6.根據權利要求5所述的Web服務實體,其特征是,所述安全策略模塊綁定到一功能模塊,該功能模塊被用來定義或描述所述預先設定的功能。
7.根據權利要求3所述的Web服務實體,其特征是,所述安全匹配模塊基于語義推理實現安全匹配。
8.—種Web服務安全策略的匹配方法,用于對一第一 Web服務實體和一第二 Web服務實體進行安全策略匹配,包括以下步驟 取得所述第一 Web服務實體的安全需求屬性; 取得所述第二 Web服務實體的安全能力屬性; 判斷所述安全需求屬性和安全能力屬性是否匹配; 其中,所述安全需求屬性和安全能力屬性預先定義在一個安全本體模塊中。
9.根據權利要求8所述的Web服務安全策略的匹配方法,其特征是,所述安全本體模塊對Web服務的標準、機制和/或協議進行語義化表述。
10.根據權利要求9所述的Wb服務安全策略的匹配方法,其特征是,基于語義推理判斷所述安全需求屬性和安全能力屬性是否匹配。
全文摘要
本發明提供一種Web服務實體,該Web服務實體用于在網絡中提供一預先設定的功能,包括安全本體模塊、安全需求策略模塊和安全匹配模塊。該安全本體模塊對各種Web服務安全相關的標準、機制和協議進行了語義化表述。安全需求策略模塊中定義了若干個安全需求屬性和安全能力屬性,且所述安全需求屬性和安全能力屬性都從所述安全本體模塊中取值。安全匹配模塊基于語義推理,判斷Web服務實體之間安全供求策略匹配與否。本發明從語義層次上對Web服務安全的相關屬性進行了描述,從而可以利用包含推理規則實現安全供求策略的匹配問題,具有高效、準確的優勢。
文檔編號H04L29/08GK102857489SQ201210142898
公開日2013年1月2日 申請日期2012年5月10日 優先權日2012年5月10日
發明者吳禮發, 賴海光, 鄭成輝, 賀正求, 李華波, 黃康宇 申請人:中國人民解放軍理工大學