當前位置:法律諮詢服務網 - 法律諮詢 - 數字簽名相關知識

數字簽名相關知識

首先,我們要知道什麽是數字簽名。

簡單來說,所謂的數字簽名就是附加在數據單元上的壹些數據,或者是數據單元的密碼變換。這種數據或轉換允許數據單元的接收方確認數據單元的來源和完整性,並保護數據不被人(如接收方)偽造。這是壹種簽署電子消息的方法,並且簽署的消息可以在通信網絡中傳輸。數字簽名既可以基於公鑰密碼體制獲得,也可以基於私鑰密碼體制獲得,目前主要是基於公鑰密碼體制的數字簽名。包括壹般數字簽名和特殊數字簽名。常見的數字簽名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisqour、Schnorr、Ong-Schnorr-Shamir、Des/DSA、橢圓曲線數字簽名算法和有限自動機數字簽名算法。特殊數字簽名包括盲簽名、代理簽名、群簽名、不可否認簽名、公平盲簽名、門限簽名、具有消息恢復功能的簽名等。它與具體的應用環境密切相關。顯然,數字簽名的應用涉及法律問題,美國聯邦政府基於有限域上的離散對數問題制定了自己的數字簽名標準(DSS)。壹些國家,如法國和德國,已經頒布了數字簽名法。

實現數字簽名的方法有很多。目前,公鑰加密技術在數字簽名中應用廣泛,如PKCS(public key cryptography standards)、數字簽名算法、x.509和基於RSA數據安全的PGP(Pretty Good Privacy)等。1994美國標準與技術協會發布了數字簽名標準,使得公鑰加密技術得到了廣泛的應用。公鑰加密系統采用非對稱加密算法。

目前的數字簽名是基於公鑰體制的,是公鑰加密技術的另壹種應用。其主要方式是消息發送方從消息正文中生成壹個128位的哈希值(或消息摘要)。發送方用自己的私鑰加密這個哈希值,形成發送方的數字簽名。然後,該數字簽名將作為郵件的附件發送給郵件的接收者。消息的接收方首先從接收到的原始消息中計算出128位的哈希值(或消息摘要),然後用發送方的公鑰解密附加在消息上的數字簽名。如果兩個哈希值相同,接收方可以確認數字簽名屬於發送方。原始消息可以通過數字簽名進行認證。

在書面文件上簽名是確認文件的壹種手段,有兩個作用:壹是因為壹個人的簽名很難被否認,所以確認了文件已經被簽名的事實;二是因為簽名不易偽造,確認了文件真實的事實。

數字簽名和書面文檔簽名有相似之處。使用數字簽名還可以確認以下兩點:第壹,信息是由簽名人發出的;第二,該信息從發布到收到沒有被修改過。這樣就可以用數字簽名來防止電子信息因為容易被修改而被篡改,或者以他人名義發送信息。或者發(收)壹封信然後否認。

廣泛使用的數字簽名方法有三種,即:RSA簽名、DSS簽名和Hash簽名。這三種算法可以單獨使用,也可以壹起使用。數字簽名是通過密碼算法對數據進行加密和解密實現的,數字簽名可以通過DES計算和RSA算法實現。但這三種技術都或多或少存在缺陷,或者說沒有成熟的標準。

使用RSA或其他公鑰密碼算法最大的便利就是不存在密鑰分發問題(網絡越復雜,網絡用戶越多,其優勢越明顯)。因為公鑰加密使用兩個不同的密鑰,壹個是公鑰,另壹個是私鑰。公鑰可以存儲在系統目錄中、未加密的電子郵件中、電話(商業電話)的黃頁上或公告欄上,互聯網上的任何用戶都可以獲得公鑰。私鑰是用戶特定的,由用戶自己持有,可以解密公鑰加密的信息。

RSA算法中的數字簽名技術實際上是通過壹個哈希函數來實現的。數字簽名的特點是它代表了壹個文件的特征。如果文件改變,數字簽名的值也會改變。不同的文件將獲得不同的數字簽名。最簡單的哈希函數之壹是累加文件的二進制代碼,取最後幾位。哈希函數對發送數據的雙方都是公開的。只有加入數字簽名和驗證,才能真正實現公網上的安全傳輸。帶有數字簽名和驗證的文件傳輸過程如下:

發送方先用哈希函數從原文中獲取數字簽名,然後用公鑰系統用開發方的私鑰對數字簽名進行加密,並將加密後的數字簽名附加到要發送的原文中;

發送方選擇密鑰對文件進行加密,並通過網絡將加密後的文件發送給接收方;

發送方用接收方的公鑰對密鑰進行加密,並將加密後的密鑰通過網絡發送給接收方;

接收方用自己的私鑰解密密鑰信息,得到密鑰的明文;

接收者用秘密密鑰解密文件以獲得加密的數字簽名;

接收方用發送方的公鑰解密數字簽名,得到數字簽名的明文;

接收方使用獲得的明文和哈希函數重新計算數字簽名,並將其與解密後的數字簽名進行比較。如果兩個數字簽名相同,則意味著文件在傳輸過程中沒有被破壞。

如果第三方冒充發送方發送文件,由於接收方在解密數字簽名時使用了發送方的公鑰,只要第三方不知道發送方的私鑰,那麽解密後的數字簽名和計算出的數字簽名壹定是不同的。這提供了確認發送者身份的安全方式。

安全的數字簽名使接收者確信文件確實來自聲稱的發送者。由於簽名的私鑰僅由發送者本人保管,其他任何人都無法制作相同的數字簽名,因此他無法否認自己參與了交易。

雖然數字簽名的加解密過程和私鑰的加解密過程都使用公鑰體制,但實現過程正好相反,使用的密鑰對也不同。數字簽名使用發送方的密鑰對,發送方用自己的私鑰加密,接收方用發送方的公鑰解密。這是壹個壹對多的關系:任何擁有發送方公鑰的人都可以驗證數字簽名的正確性,而私鑰的加密和解密使用接收方的密鑰對,這是壹個多對壹的關系:任何知道接收方公鑰的人都可以向接收方發送加密信息,只有唯壹擁有接收方私鑰的人才能解密信息。實際上,用戶通常有兩對密鑰,壹對用於加密和解密數字簽名,另壹對用於加密和解密私鑰。這種方法提供了更高的安全性。

  • 上一篇:世界上哪些國家允許持槍?
  • 下一篇:四川省工程建設項目招標代理辦法細則
  • copyright 2024法律諮詢服務網