淺析XML加密技術(shù)
隨著互聯(lián)網(wǎng)的發(fā)展,微軟在推出.Net平臺(tái)的同時(shí)推出了XML,自XML誕生以來,就得到了迅速推廣,已經(jīng)成為一種新的數(shù)據(jù)交換標(biāo)準(zhǔn)。在XML越來越被廣泛應(yīng)用的同時(shí),XML安全性問題也更加受到關(guān)注,如果不能保證數(shù)據(jù)交換過程中的安全,這種數(shù)據(jù)交換格式是不完整的。
?XML加密的優(yōu)勢(shì)
目前TLS/SSL已經(jīng)是在網(wǎng)絡(luò)上提供通信雙方端到端的安全對(duì)話非??煽康膮f(xié)議,XML這種有結(jié)構(gòu)的數(shù)據(jù)在網(wǎng)絡(luò)傳輸方面有它自己的安全需求,比如我們將同一個(gè)文件發(fā)送給不同的接收者,我們對(duì)他們需要保密的信息不同時(shí),使用TLS/SSL不能解決,這是TLS/SSL未涉及的領(lǐng)域,還有一個(gè)方面也是TLS/SSL未能覆蓋的功能那就是多方之間的安全對(duì)話。
部分?jǐn)?shù)據(jù)加密
XML加密可以對(duì)被傳輸?shù)臄?shù)據(jù)進(jìn)行加密粒度的控制,以在線購書為例,每次提交訂單時(shí)用戶提供的信息應(yīng)包括書籍信息(書名,作者,訂購數(shù)量等)和賬戶信息(信用卡帳號(hào),密碼等),所有信息以XML的數(shù)據(jù)格式發(fā)給圖書商的發(fā)貨處和財(cái)務(wù)。對(duì)財(cái)務(wù)來說,所有信息都可以公開,對(duì)發(fā)貨處來說,我們應(yīng)該對(duì)讀者的賬戶信息進(jìn)行加密,TLS/SSL只保證傳輸過程安全,數(shù)據(jù)在傳輸結(jié)束后的信息是全部公開的。
多方之間的安全對(duì)話
使用XML加密,對(duì)話中的每一方都可以與任何通信方保持安全和非安全狀態(tài)??梢栽谕粋€(gè)文檔中交換安全和不安全數(shù)據(jù)。
作為SOAP協(xié)議的安全性擴(kuò)展
SOAP協(xié)議可以通過嵌入加密的XML數(shù)據(jù),實(shí)現(xiàn)在消息傳輸?shù)膽?yīng)用層靈活的加密策略,并且在分布式環(huán)境下能交換有結(jié)構(gòu)的數(shù)據(jù)。
XML加密技術(shù)實(shí)現(xiàn)
XML加密標(biāo)準(zhǔn)如下:

加密后的文件仍舊是格式良好的XML文件。
使用XML加密對(duì)整個(gè)文檔加密

使用XML加密對(duì)單個(gè)元素加密
![]()

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

這種加密方式更直接,只加密了元素CardId的內(nèi)容,這里的type屬性值里面的#Content表明加密的僅僅是元素內(nèi)容,更加適合解決我們?cè)诜植际?、跨平臺(tái)的網(wǎng)絡(luò)環(huán)境下的安全性問題。
在XML加密中,加密對(duì)象可以是任何數(shù)據(jù),XML的優(yōu)勢(shì)來自它的嚴(yán)謹(jǐn)?shù)慕Y(jié)構(gòu)和可擴(kuò)展性,隨著XML越來越被廣泛應(yīng)用,安全性技術(shù)的研究也將不斷的發(fā)展和進(jìn)一步完善!





