歐賢 張婧
摘 要 隨著信息技術和網絡的發展,電子商業交易成為了商務活動的新模式,然而由于網絡自身固有的脆弱和中國的網絡信息技術起步比較晚使網絡安全存在很多潛在的威脅。數字簽名是保證網上傳輸的數據的安全和交易對方的身份確認的關鍵技術。本文分析了數字簽名的原理以及關鍵算法,并給出了實際應用。
關鍵詞 數字簽名 hash函數 https協議
中圖分類號:TP309 文獻標識碼:A
0引言
隨著信息技術和經濟的發展,電子商務、網上銀行等一些網絡業務迅速興起。信息時代雖然給予我們無限的商機和便利,但是隱藏了巨大的安全危險。如何保證網絡信息的真實性和完整性,就是目前網絡信息安全最關注的問題。數字簽名技術是實現身份認證的重要手段。可見,數字簽名的前景越來越廣闊,具有一定的研究價值。
1數字簽名的基本原理
數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用于鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。
其原理如圖1所示:
(1)對原始消息的正文進行散列處理生成消息的摘要。
(2)使用消息發送人的私鑰對摘要進行加密而得到數字簽名。
(3)將數字簽名添加到原始消息。
(4)將附有數字簽名的消息傳送給接收方。
(5)接收方對收到的原始消息正文進行散列處理得到一個新的摘要。
(6)接收方使用發送方的公鑰對數字簽名解密恢復出消息摘要。
(7)這兩個摘要相互對比,如果相同,說明原文件是完整的,在傳輸過程中沒有被破壞。
2數字簽名與hash函數
哈希(Hash)函數在中文中有很多譯名,有些人根據Hash的英文原意譯為“散列函數”或“雜湊函數”,有些人干脆把它音譯為“哈希函數”。
Hash算法是把任意長度的輸入數據經過算法壓縮,輸出一個尺寸小了很多的固定長度的數據,即哈希值。哈希算法具有以下特質:
(1)你無法反向執行哈希算法來恢復出哪怕是一點兒最初的明文。
(2)得到的摘要不會告訴你任何關于最初明文的信息。
(3)創建/發現哈希值為某個特定值的明文,這在計算上是不可行的。
(4)這使得攻擊者無法在替換文件的同時確保哈希值仍然匹配。
3數字簽名的應用
數字證書是用來唯一確認安全電子商務交易雙方身份的工具,由于它由證書管理中心做了數字簽名,因此,任何第三方都無法修改證書的內容。
比如https協議,是基于HTTP協議的一種對傳輸數據加密的協議。可以將其簡要分解為:HTTP+SSL。當數據經過TCP協議封裝之后,SSL會對數據包進行進一步的加密和封裝,然后讓加密之后的數據包經過HTTP協議的進一步封裝之后走在公共信道之上,加密之后的數據包能保證即使數據包被第三方截取之后也不能看到數據包里面的明文。其過程如下:
(1)客戶端發起HTTPS請求。用戶在瀏覽器里輸入一個https網址,然后連接到server的443端口。
(2)服務端的配置。采用HTTPS協議的服務器必須要有一套數字證書,可以自己制作,也可以向組織申請。
(3)傳送證書。這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等等。
(4)客戶端解析證書。這部分工作是由客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等。
(5)傳送加密信息。這部分傳送的是用證書加密后的隨機值,以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。
(6)服務端解密信息。服務端用私鑰解密后,得到了客戶端傳過來的隨機值(私鑰),然后把內容通過該值進行對稱加密。
(7)傳輸加密后的信息。這部分信息是服務段用私鑰加密后的信息,可以在客戶端被還原。
(8)客戶端解密信息。客戶端用之前生成的私鑰解密服務段傳過來的信息,于是獲取了解密后的內容。
4總結
數字簽名技術提高了網絡交易的安全性,有助于經濟的推廣和發展,但如何讓數據簽名更具可靠性,保密性和安全性,還需要我們進一步去研究。
參考文獻
[1] 張先紅.數字簽名原理及技術[M].機械工業出版社,2004.
[2] 戚文靜,劉學.網絡安全原理與應用[M].北京:中國水利水電出版社,2005.
[3] 張鳳.淺談數字簽名[J].硅谷,2010(05).
[4] 王振武.數字簽名技術研究[J].遼寧師范大學學報(自然科學版),2004(04).
[5] 李程.數字簽名技術綜述[J].電腦知識與技術,2009,4,5(10).
[6] 黃為.基于數字簽名技術的Intranet信息安全[J].電腦知識與技術,2009,9,25(5).