網(wǎng)格安全的XML數(shù)據(jù)交換技術(shù)的原理與實現(xiàn)

摘要:網(wǎng)格是在互聯(lián)網(wǎng)的基礎(chǔ)上發(fā)展起來并得到應(yīng)用的。伴隨著互聯(lián)網(wǎng)開放性所帶來的信息安全問題日趨嚴(yán)重,用于網(wǎng)格中數(shù)據(jù)交換的安全需求也越來越重要。分析了基于可擴展標(biāo)記語言XML的數(shù)據(jù)交換的安全需求,介紹了xML安全服務(wù)中加密與簽名的標(biāo)準(zhǔn)。針對xML數(shù)據(jù)交換的請求,響應(yīng)機制,給出了XML數(shù)據(jù)交換的加密與簽名機制及實例。

關(guān)鍵詞:網(wǎng)格可擴展標(biāo)記語言加密簽名

1 網(wǎng)格概述

網(wǎng)格是基于計算機技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展起來的,它將地理位置上分散的資源集成起來,從而建立起一種構(gòu)筑在國際互聯(lián)網(wǎng)上的新型計算平臺。通過網(wǎng)格,人們可以獲得諸如計算機、集群、計算機池、儀器、存儲設(shè)施、數(shù)據(jù)、軟件等各種資源、功能和服務(wù)。使人們共享計算資源、存儲資源及其他資源。

有了這種以現(xiàn)有的國際互聯(lián)網(wǎng)為基礎(chǔ)建立的滿足人們對資源更高共享需求的計算機平臺,人們就可以實現(xiàn)跨組織、跨管理域的管理資源,并為網(wǎng)格應(yīng)用提供全面的資源共享接口,實現(xiàn)分布資源的有效集成,提供共享各種資源的手段,從而提高資源的利用率,滿足人們對廣域范圍內(nèi)各種資源的共享需求。

在網(wǎng)格環(huán)境下,人們不僅可以向網(wǎng)格發(fā)出請求資源消息,由網(wǎng)格接收請求并做

出響應(yīng),而且客戶提出的請求能夠同時驅(qū)動多個資源工作。多個請求可以向多個服務(wù)器請求連接?蛻舫绦蛸Y源可以被其他客戶請求作為資源使用。網(wǎng)格的目的是無論地理位置的遠(yuǎn)近、設(shè)備類型的異同,都可以為用戶提供統(tǒng)一且簡單的共享網(wǎng)格資源的環(huán)境。為達到網(wǎng)格的目的,需要建立相應(yīng)的網(wǎng)格體系結(jié)構(gòu)。最簡單的一種就是由分布式資源、網(wǎng)格系統(tǒng)及網(wǎng)格用戶組成的三層結(jié)構(gòu)(如圖1)。底層是網(wǎng)格的物理層,它是分布式網(wǎng)格資源的集合,是建立網(wǎng)格的基礎(chǔ)。頂層是網(wǎng)格的應(yīng)用層,它是應(yīng)用分布式網(wǎng)格資源的集合,是網(wǎng)格應(yīng)用的基礎(chǔ)。網(wǎng)格系統(tǒng)在物理層和應(yīng)用層的中間,將用戶和資源聯(lián)系起來提供透明的使用,以支持全方位的資源共享。網(wǎng)格系統(tǒng)提供的功能就是應(yīng)用層的需求,它直接影響著網(wǎng)格所要達到的目的。

網(wǎng)格是一個開放、動態(tài)、異構(gòu)、分布的系統(tǒng),要想將互聯(lián)網(wǎng)上分布的各種已經(jīng)接入網(wǎng)絡(luò)的設(shè)備以及將要接入網(wǎng)絡(luò)的設(shè)備有機地集成,不是簡單的連通問題。網(wǎng)格要為用戶和應(yīng)用提供訪問使用資源的統(tǒng)一接口。它要對不同的物理資源進行不同層次的抽象,使不同的模塊協(xié)調(diào)起來;定義好各模塊的關(guān)系、模塊間進行交互的協(xié)議及相應(yīng)的方法與規(guī)則。網(wǎng)格是以原有的國際互聯(lián)網(wǎng)為基礎(chǔ)構(gòu)建的,需要已有的一些協(xié)議和規(guī)范作為支持。圖2所示為支持國際互聯(lián)網(wǎng)的各網(wǎng)格協(xié)議的層次。H1TP、FTP、SMTP都是網(wǎng)格協(xié)議的傳輸載體,同時也都是網(wǎng)格建設(shè)的基礎(chǔ)。無論網(wǎng)格的具體實現(xiàn)細(xì)節(jié)如何,從用戶的角度來看,它的確只是一個網(wǎng)格接口。通過這個接口,用戶向網(wǎng)格發(fā)送請求和接收來自網(wǎng)格的信息。網(wǎng)格接口就是要定義實現(xiàn)數(shù)據(jù)交換的協(xié)漢,采用相同協(xié)議的雙方要能夠相互理解對方的含義。在協(xié)議中還要指明數(shù)據(jù)表示格式和數(shù)據(jù)內(nèi)容的具體含義。XML就是適合網(wǎng)絡(luò)上使用的一種數(shù)據(jù)交換語言,它已經(jīng)在網(wǎng)格領(lǐng)域得到廣泛使用。

2 XML的運用

目前網(wǎng)格上最常用的數(shù)據(jù)交換表示形式中最重要和最常用的就是XML。XML是SGML的一個子集,以結(jié)構(gòu)化的方式描述各種類型的數(shù)據(jù)。它允許文檔制作人員創(chuàng)建新的標(biāo)記,以便更準(zhǔn)確地描述數(shù)據(jù)。XML幾乎可以描述所有領(lǐng)域的數(shù)據(jù)。它用嚴(yán)格的嵌套標(biāo)記表示數(shù)據(jù)信息,特別適合在國際互聯(lián)網(wǎng)的多點數(shù)據(jù)交換環(huán)境下使用。

XML本身是可擴展的,只規(guī)定了標(biāo)準(zhǔn)的語法。XML是可以創(chuàng)建行業(yè)詞匯和應(yīng)用的語言,其文檔的基本語法由W3C創(chuàng)建文檔定義的XML模式所規(guī)定。在XML文檔中所有開始標(biāo)記都必須有對應(yīng)的結(jié)束標(biāo)記,并且這種標(biāo)記有元素和屬性兩種類型。元素由起始標(biāo)記、數(shù)據(jù)和結(jié)束標(biāo)記三部分組成,如:123</data>就是一個元素。而屬性是修飾成分,由屬性名后跟一個等號加屬性值的形式構(gòu)成,用來描述元素的某些性質(zhì)。屬性必須有一個屬性值。例如:<數(shù)據(jù)編號=“56789”>我的數(shù)據(jù)<,數(shù)據(jù)>就是一個有屬性的,其中“編號”是屬性,“56789”是屬性值。

在網(wǎng)格環(huán)境下,由于XML文檔的結(jié)構(gòu)化和可讀性,XML數(shù)據(jù)經(jīng)常作為公文或流程數(shù)據(jù),以合作的形式流轉(zhuǎn),因此還需要用加密和簽名來保證基于XML的數(shù)據(jù)交換活動中信息的安全性。XML語言的安全是網(wǎng)格上信息交換的基礎(chǔ)。為保障XML數(shù)據(jù)交換的安全性,國際標(biāo)準(zhǔn)化組織W3C提出了一系列XML安全服務(wù)的新標(biāo)準(zhǔn),為以XML作為數(shù)據(jù)交換載體的應(yīng)用提供安全性保障。這些標(biāo)準(zhǔn)包括:XML加密(XML Encryption)、XML數(shù)字簽名(XML Sigllature)、XML密鑰管理規(guī)范(XKMS)、XML訪問控制標(biāo)記語言(XACML)等。

XML語言的搜索是明確的、無二義性的。在交換敏感信息時,發(fā)信方及收信方必須建立安全的通信機制。為確保安全性,在使用XML交換數(shù)據(jù)時,需要在數(shù)據(jù)上使用加密及簽名技術(shù)。

2.1 XML加密機制

XML加密(XML Encryption)是對XML文檔中的全部數(shù)據(jù)或其中部分元素進行加密。對同一文檔的不同部分,可采用不同的密鑰進行加密,將同一個XML文件分別發(fā)給不同的接收者后,接收者只能訪問擁有權(quán)限的那部分信息。XML加密語法的核心元素是EncryptedData元素,該元素與EncrypledKey元素一起用來將加密密鑰從發(fā)送方傳送到已知的接收方,它描述了一個加密數(shù)據(jù)包含的所有信息。加密時,EncryptedData元素替換XML文檔加密版本中的該元素或內(nèi)容。當(dāng)加密的數(shù)據(jù)是任意數(shù)據(jù)時,EncryptedData元素可能成為新XML文檔的根,或成為一個子元素。當(dāng)加密整個XML文檔時,EncryptedData元素則成為新文檔的根。

在加密過程中,對于經(jīng)過加密的數(shù)據(jù),只有指定的接收者才可以從中還原出密碼本身。XML加密定義了一些元素:EncryptionMethod子元素使用URI惟一標(biāo)識中所采用的加密算法,目的是確保通信雙方可以在加密算法上保持一致。KeyInfo子元素表達了加密時所使用的密鑰信息,它可以根據(jù)通信雙方的約定,記錄密鑰名稱、密鑰值、數(shù)字證書,甚至獲得密鑰轉(zhuǎn)換方法的描述,從而確保密鑰的安全性。CipherData子元素標(biāo)記為被加密的數(shù)據(jù)。EncryptionProperties子元素可以用來描述加密數(shù)據(jù)和密鑰的附加信息,如時間戳、加密序列號。發(fā)送者創(chuàng)建符合以上結(jié)構(gòu)的EncryptedData元素發(fā)給接收者;接收者可以根據(jù)從EneryptedData元素中得到的解密所需的加密算法、參數(shù)和密鑰信息,正確地解密信息。

2.2 XML簽名機制

XML簽名標(biāo)準(zhǔn)可對任何數(shù)據(jù)類型提供完整性、消息認(rèn)證、簽名認(rèn)證等服務(wù)。XML簽名的主要目的是確保XML文件內(nèi)容沒有被篡改,對來源的可靠性進行驗證。XML簽名是使用XML應(yīng)用開發(fā)工具實現(xiàn)的,而不是使用專用軟件。簽名時可直接對XML內(nèi)容進行處理。

Signature是XML簽名的元素,描述傳輸一個數(shù)字簽名的完整信息。SigzaedInfo子元素記錄被簽署的原始信息。CanoniclizationMethod子元素使用URI惟一標(biāo)識。該數(shù)字簽名采用XML的數(shù)據(jù)算法,它是正確解析XML數(shù)據(jù)簽名的前提。因為XML數(shù)字簽名對SignedInfo子元素的字節(jié)流進行運算處理時,采用Canoniealization使XML簽名適應(yīng)各種文件系統(tǒng)和處理器在版式上的差異,使XML簽名適應(yīng)XML文件可能遇到的各種環(huán)境。SignatureMethod元素記錄的是簽名所采用的算法。Reference子元素指定的是摘要算法和摘要值。經(jīng)過運算的Signedlnfo子元素記錄在SignedValue中。Keylnfo子元素是接收者用來得到有效簽名的密鑰信息。接收者可以根據(jù)Signature元素包含的信息確定數(shù)據(jù)的完整性和可靠性。

2.3 XML數(shù)據(jù)交換安全中實現(xiàn)加密、簽名的實例

XML作為實現(xiàn)跨平臺信息交換和提高異構(gòu)系統(tǒng)之間互操作性的最佳解決方案而被提出,這極大地促進了數(shù)據(jù)交換應(yīng)用的發(fā)展。而基于XML強大的可擴展性而提出的XML安全服務(wù)標(biāo)準(zhǔn),使得可以在考慮XML數(shù)據(jù)信息交換的安全控制問題上,完全采用基于XML標(biāo)準(zhǔn)的體系結(jié)構(gòu),繼承XML的靈活性和可擴展性。圖3給出一個安全的XML數(shù)據(jù)交換請求/響應(yīng)流程。

在安全處理模塊中,操作的對象是根據(jù)訪問請求生成的原始XML文檔,因此可以采用XML加密規(guī)范和XML簽名規(guī)范進行安全處理。首先,對其中包含的敏感信息元素采用特定的加密算法加密,或者采用非對稱密鑰體系的公鑰進行加密。加密時,首先將算法信息和密鑰信息放在子元素中,加密后的信息構(gòu)成元素,然后建立符合XML加密規(guī)范的EncrypedData元素,取代文檔中被加密元素。其次,對該文檔進行數(shù)字簽名。簽名時,首先通過消息摘要運算得到摘要值,放在元素中,再建立元素和元素;然后通過對元素進行規(guī)范化處理產(chǎn)生元素;最后生成包含和可選的、元素,嵌入XML文檔內(nèi)部作為目標(biāo)文檔發(fā)送,或者以外部文檔形式隨同目標(biāo)文檔發(fā)送。下面給是一個用XML實現(xiàn)加密與簽名的例子:

  上例對XML加密的數(shù)據(jù)進行了簽名,被簽名的內(nèi)容包含在object元素中。

  作為一個開放的平臺,由于資源的共享性和互操作性,互聯(lián)網(wǎng)也面臨著各種各樣的安全威脅,如信息竊取、惡意欺騙、偽裝、非法修改以及各種擾亂破壞等。隨著XML技術(shù)的廣泛應(yīng)用和深入發(fā)展,在開放環(huán)境下進行XML數(shù)據(jù)交換,確保信息的安全性是XML應(yīng)用順利開展的首要條件。XML數(shù)據(jù)經(jīng)常作為公文或流程數(shù)據(jù),以合作的形式流轉(zhuǎn),因此需要有加密和簽名來支持。依據(jù)XML語言自身具有的結(jié)構(gòu)化特征,XML文檔同時也具有結(jié)構(gòu)化和可讀性,通過對加密機制和簽名機制的運用,可以保證XML數(shù)據(jù)交換活動中信息的安全性。XML的安全機制為確保網(wǎng)格資源的安全共享提供了保障。

作者:中國礦業(yè)大學(xué) 徐秀 張申 來源:電子技術(shù)應(yīng)用


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息