淺析XML加密技術(shù)

隨著互聯(lián)網(wǎng)的發(fā)展,微軟在推出.Net平臺的同時推出了XML,自XML誕生以來,就得到了迅速推廣,已經(jīng)成為一種新的數(shù)據(jù)交換標準。在XML越來越被廣泛應用的同時,XML安全性問題也更加受到關(guān)注,如果不能保證數(shù)據(jù)交換過程中的安全,這種數(shù)據(jù)交換格式是不完整的。

?XML加密的優(yōu)勢
目前TLS/SSL已經(jīng)是在網(wǎng)絡(luò)上提供通信雙方端到端的安全對話非常可靠的協(xié)議,XML這種有結(jié)構(gòu)的數(shù)據(jù)在網(wǎng)絡(luò)傳輸方面有它自己的安全需求,比如我們將同一個文件發(fā)送給不同的接收者,我們對他們需要保密的信息不同時,使用TLS/SSL不能解決,這是TLS/SSL未涉及的領(lǐng)域,還有一個方面也是TLS/SSL未能覆蓋的功能那就是多方之間的安全對話。

部分數(shù)據(jù)加密
XML加密可以對被傳輸?shù)臄?shù)據(jù)進行加密粒度的控制,以在線購書為例,每次提交訂單時用戶提供的信息應包括書籍信息(書名,作者,訂購數(shù)量等)和賬戶信息(信用卡帳號,密碼等),所有信息以XML的數(shù)據(jù)格式發(fā)給圖書商的發(fā)貨處和財務。對財務來說,所有信息都可以公開,對發(fā)貨處來說,我們應該對讀者的賬戶信息進行加密,TLS/SSL只保證傳輸過程安全,數(shù)據(jù)在傳輸結(jié)束后的信息是全部公開的。

多方之間的安全對話
使用XML加密,對話中的每一方都可以與任何通信方保持安全和非安全狀態(tài)??梢栽谕粋€文檔中交換安全和不安全數(shù)據(jù)。

作為SOAP協(xié)議的安全性擴展

SOAP協(xié)議可以通過嵌入加密的XML數(shù)據(jù),實現(xiàn)在消息傳輸?shù)膽脤屿`活的加密策略,并且在分布式環(huán)境下能交換有結(jié)構(gòu)的數(shù)據(jù)。

XML加密技術(shù)實現(xiàn)

XML加密標準如下:

淺析XML加密技術(shù)

加密后的文件仍舊是格式良好的XML文件。

使用XML加密對整個文檔加密

淺析XML加密技術(shù)

使用XML加密對單個元素加密

淺析XML加密技術(shù)

淺析XML加密技術(shù)

這里不僅加密了原文件的Payment元素,這個加密后的文件Payment元素被保護,order子元素保持原樣,這就實現(xiàn)了一個文檔傳送給不同部門,而又保證數(shù)據(jù)安全的策略。

使用XML加密對元素內(nèi)容加密

淺析XML加密技術(shù)

這種加密方式更直接,只加密了元素CardId的內(nèi)容,這里的type屬性值里面的#Content表明加密的僅僅是元素內(nèi)容,更加適合解決我們在分布式、跨平臺的網(wǎng)絡(luò)環(huán)境下的安全性問題。

在XML加密中,加密對象可以是任何數(shù)據(jù),XML的優(yōu)勢來自它的嚴謹?shù)慕Y(jié)構(gòu)和可擴展性,隨著XML越來越被廣泛應用,安全性技術(shù)的研究也將不斷的發(fā)展和進一步完善!