用Java數字簽名提供XML安全

簡介

衆所周知,XML在產品和項目開發中起着很是重要的做用。經過XML文檔能夠獲取不少信息,還可使用XML文件進行CRUD(增長、查詢、更新和刪除)操做。然而值得注意的是,咱們如何確保XML中的數據是來自通過認證的可信和可靠的來源。關於XML文件數據的可靠性和真實性存在不少問題。一般的狀況是,開發者直接處理XML文件而不去考慮數據的可靠性。有一些狀況提出了上面的全部問題。現實生活中,每當咱們從郵局收到一封信件時咱們如何肯定這封信是來自咱們的朋友?依據多是他/她的習慣用語、用詞或者郵件詳細地址。也多是他/她的個性簽名。現在,咱們收到的信件可能被某人進行了篡改,添加了其餘內容。基於上述緣由,一般咱們會驗證朋友的手寫簽名。固然這些是關於來自郵局的普通郵件。電子消息又該如何?咱們如何驗證電子消息的真實性?這種狀況咱們會採用數字簽名。本文會對保證數據完整性的XML數字簽名技術進行簡要介紹,而且展現如何爲XML文件附加電子簽名及其驗證過程。


使用的技術

過去幾年裏,XML數字簽名取得了快速發展,在金融領域尤爲如此。在開始討論以前,讓咱們考慮一個典型場景:想象一下,某個組織將全部僱員的薪資內容用XML文件發送給所得稅部門。那麼如今的問題是:所得稅部門如何驗證這份XML文件?這就是說,IT部門須要驗證該組織的敏感信息。IT部門須要確保XML文件的來源可信,而且在IT部門收到以前沒有通過篡改——也就是說文檔的內容沒有在傳遞中被修改。首先,咱們須要理解數字簽名的概念。數字簽名是一種用來驗證文檔發自可信方的電子簽名。它確保了文檔的原始內容在傳輸中沒有受到修改。數字簽名能夠用於任何加密和非加密消息,所以接收方能夠識別發送者的身份,並確認消息沒有被其餘人修改。根據維基百科的定義:「數字簽名是一種驗證數字信息或文檔的數學方法」。一個有效的數字簽名可讓接收者確認收到的消息來自已知發送方,發送者不可否認本身發送了此消息(提供認證和不能否認性)而且此消息在傳輸中未經修改(提供完整性)。數字簽名一般被用在軟件發佈、金融事務和其餘須要檢測僞造或篡改的重要場合。 html

http://www.importnew.com/6271.html 加密

相關文章
相關標籤/搜索