電子商務安全技術研究
隆文超
[摘要] 電子商務是經濟全球化和貿易自由化的重要手段,也是傳統產業變革和企業技術跨越的關鍵動力。但是電子商務將關注過多地放在實現數據交換上,對于保證交易數據安全的問題缺乏足夠的重視。隨著現有解密算法提出的新挑戰,忽視數據的安全會使得交易中的機密信息和敏感信息面臨危險。以王小云教授的研究成果為代表的解密算法對現有的XML數據安全通信提出了新的挑戰,為此提出了一種改進的XML安全技術,并將其應用到基于網絡的電子商務設計中。性能比較和理論分析表明,該技術能在一定程度上彌補現有技術的不足,具有一定的實用價值。 [關鍵詞] 電子商務 安全 研究 一、引言 電子商務是經濟全球化和貿易自由化的重要手段,也是傳統產業變革和企業技術跨越的關鍵動力。電子商務自從出現以來,就以其巨大的能量和動力,給整個世界的經濟運行方式和社會生活形態帶來了翻天覆地的變化。目前,電子商務己經成為各國政府為增強國家競爭力并贏得市場資源配置優勢而大力推進的戰略性任務。 但是電子商務將關注過多地放在實現數據交換上,對于保證交易數據安全的問題缺乏足夠的重視。隨著現有解密算法提出的新挑戰,忽視數據的安全會使得交易中的機密信息和敏感信息面臨危險。因此,本文提出了一種改進的安全技術,并將其應用到電子商務的設計中。 二、電子商務安全技術及面臨的挑戰 擴展標記語言XML(Extensible Markup Language)是世界萬維網聯盟制定的一種數據標準。其數據傳輸方案是:根據XML數據安全標準把加密或簽名后的密文信息加入原XML文檔中,與原XML文檔一起傳輸。這種傳輸方式,在加密和簽名算法可靠的前提下,可以實現XML文檔細粒度的加密和簽名,不存在著數據安全的問題。 然而,新的解密算法的提出對現有的XML數據安全通信提出了新的挑戰。在2004年的8月,一直在國際上廣泛應用的密碼算法MD5被中國密碼專家—山東大學的王小云教授所破解。王小云教授的研究成果作為密碼學領域的重大發現宣告了固若金湯的世界通行密碼標準MD5大廈轟然倒塌,引發了密碼學界的軒然大波。密碼學界認為“MD5被破解了,它即將從應用中淘汰”。2005年2月,王小云教授又破解了美國在電子商務領域中廣泛使用的SHA-1密碼算法。兩大算法是目前國際電子簽名及許多其他密碼應用領域的關鍵技術,廣泛應用于金融、證券等電子商務領域。其中,SHA-1早在1994年便為美國政府采納,目前是美國政府廣泛應用的計算機密碼系統。 這兩個密碼算法在XML簽名標準中也被廣泛使用。這兩個密碼算法被破解意味著從理論上講,經過認證的簽名可以被偽造,從而使數據的真確性和完整性受到了前所未有的挑戰。事實上,國際密碼學家Lenstra利用王小云教授提供的MD5碰撞,偽造了符合X.509標準的數字證書,這就說明了MD5密碼算法的破譯已經不僅僅是理論破譯結果,而是可以導致實際的攻擊。 三、電子商務安全技術的改進 傳統的數據傳輸方式的風險出現在密文數據保存在原XML文檔中,并一起進行傳輸。所以,當整個XML文檔被截取或非法復制后,由于現有加密或簽名算法的缺陷,XML文檔會被非法用戶獲得。 針對上述XML數據傳輸方式所存在的風險,本文在實現WS Security規范所提出的安全標準的基礎上做出改善,把密文信息與原XML文檔分離傳輸。設計出一個新的可應用在電子商務信息系統中的XML數據安全傳輸方案。通過實現這個XML數據的安全通信方案,電子商務系統可實現XML數據較高的通信安全性和認證安全性。 方案充分利用XML數據結構上的特點,制訂了一個提高XML數據的通信安全性和認證安全性的通信方案。方案的設計如下: 在發送端,首先根據XML文檔中各元素內容的重要性編制一個DTD文檔對XML文檔進行分解,并生成一個XSLT樣式表;然后,使用由W3C最新制訂的XSLT 2.0技術把單一的XML文檔轉換為多個獨立的XML文檔;進而根據XML數據的保密程度對該分離后的XML文檔進行XML簽名確認,為保證數字簽名的有效性,使用SHA-256的簽名算法對XML數據進行簽名確認;簽名后,對各XML文檔進行加密(如DES算法),對DTD文檔和XSLT樣式單使用XML加密中高安全等級的加密算法(如RSA算法)進行加密,而且把XML數據、DTD文檔和XSLT樣式單傳輸到接收端。 在接收端,首先對接收到的各XML文檔進行解密和簽名認證,然后利用XSLT 2.0技術,根據DTD文檔和XSLT樣式單的記錄,把分解后的各XML文檔重新組合為單一的文檔。因為多個單獨的XML文檔難以在網絡中被全部截取,而缺少任何一個分解后的XML文檔就無法重組為原XML文檔,所以在一定程度上保障了XML數據的保密性。 在本方案中,把不同保密等級的數據進行分離傳輸,避免了密文數據與XML文檔一起傳輸的弊病,減低了XML數據被截取和破解的風險,這就保證了整個XML文檔的安全。 四、算法的性能比較 .NET技術為XML數據提供各種命名空間和類,利用.NET技術的支持,可以利用最新的XSLT技術對XML文檔進行分解。根據WS Security的規范,還可從.NET的類中直接調用各種加密算法和簽名算法對分解后的文檔進行數字簽名和加密等操作。 .NET技術所提供的支持可以靈活的根據方案的需要實現既定的效果。例如因為MD5算法和SHA-1算法被破解,使用這兩個算法進行散列就存在了安全的風險,而.NET技術包含了多種高安全性的散列算法(如SHA-512),使我們的方案可以簡單地實現散列算法的升級,減低XML數字簽名被偽造的機會。 1.XML加密算法的性能比較 不同的加密算法有不同的性能,在XML數據安全傳輸方案中,應當根據XML文檔的保密程度來確定加密的算法。 在比較中,發現對稱算法的速度非常快,適于加密大型的數據流,但這種算法都使用固定的密鑰長度或ASCII字符,因此可以通過嘗試每個可能的密鑰組合并最終找到正確的那個,從而破解加密的數據。所以,這類加密算法適應于加密XML文檔中數據量大,但安全性要求不高的部分。
傳輸方案的實現效果如下圖所示。 從圖3可以看出,由于本文設計的XML數據安全傳輸方案需要對XML文檔進行分解,消耗了一定的系統資源和時間。因此,新傳輸方案的響應時間比RPS現有的傳輸方法要稍低。 考慮到設計一個安全的系統時,需要確定所有可能的威脅、弱點和攻擊方式,并根據安全第一、性能第二的原則選擇安全的技術。另外,由于新傳輸方案可根據XML文檔的保密要求設置加密和簽名的算法,所以在保密要求較低的XML文檔上可采用較快的算法,加快方案的處理速度。在電子商務信息系統的實際應用中,XML文檔中的大部分內容都是保密要求低或不需保密的信息。而只有小部分,例如價格、帳戶等信息的保密要求較高。所以,采用本文的XML數據安全傳輸方案能靈活處理XML文檔的不同部分,實現細粒度的加密或簽名,而且可以避免密文數據和原XML文檔一起傳輸所帶來的安全風險。 通過實驗得出:新的XML數據安全傳輸方案能靈活處理XML文檔的不同部分,避免密文數據和原XML文檔一起傳輸,提高了數據傳輸時的安全性和認證性。而且系統的可用性和速度也有一定的保證。所以,本文研究的XML數據安全傳輸方案較好的實現了設計的意圖,對現有的XML數據傳輸方式作出了改善。 五、結論 隨著XML文件在電子商務領域的廣泛應用,很多安全問題也愈發顯現,特別是電子交易信息的機密性、完整性、真實性和抗否認性等方面難以得到有效保證。本文在深入分析XML安全技術的基礎上,針對當前解密算法的挑戰,提出了一種改進的XML安全技術。理論分析和仿真實驗表明,該技術能在一定程度上克服傳統方法的不足,具有一定的現實意義和經濟效益。 參考文獻: [1]卿斯漢:電子商務協議中的可信第三方角色[J].軟件學報, 2003(11) [2]張立志:電子商務系統的安全研究[J].安陽大學學報,2004(4) [3]吳潔:XML應用教程[M].北京:清華大學出版社, 2005 [4]Murdoch Mactaggart. XML加密和XML簽名簡介[M].Developer Works, 2006 [5]唐韶華甘志勇:基于XKMS的PKI服務的設計與實現[J].電子與信息學報, 2005(2) [6]Pter Thorstelnson, G.Gnana Arun Ganesh著梁志敏蔡建譯:NET安全性與密碼技術[M].北京:清華大學出版社, 2006