數字簽名技術原理介紹

2021-07-03 21:12:07 字數 3398 閱讀 3582

1 引言

為了確保資料傳輸的安全性,不得不採取一系列的安全技術,如加密技術、數字簽名、身份認證、金鑰管理、防火牆、安全協議等。其中數字簽名就是實現網上交易安全的核心技術之一,它可以保證資訊傳輸的保密性、資料交換的完整性、傳送資訊的不可否認性、交易者身份的確定性等。

2 數字簽名的概念

數字簽名在iso7498—2標準中定義為:「附加在資料單元上的一些資料,或是對資料單元所作的密碼變換,這種資料和變換允許資料單元的接收者用以確認資料單元**和資料單元的完整性,並保護資料,防止被人(例如接收者)進行偽造」。

數字簽名

要實現的功能是我們平常的手寫簽名要實現功能的擴充套件。平常在書面檔案上簽名的主要作用有兩點,一是因為對自己的簽名本人難以否認,從而確定了檔案已被自己簽署這一事實;二是因為自己的簽名不易被別人模仿,從而確定了檔案是真的這一事實。採用數字簽名,也能完成這些功能:

(1)確認資訊是由簽名者傳送的;

(2)確認資訊自簽名後到收到為止,未被修改過;

(3)簽名者無法否認資訊是由自己傳送的。

數字簽名的技術基礎是公鑰密碼技術,下面就先介紹公鑰密碼技術的基本思想和rsa公鑰密碼系統。

3 公鑰密碼技術

公鑰密碼技術又稱為非對稱/jn密技術。與之相對的是對稱加密技術。對稱加密技術是傳送方和接收方使用相同的金鑰進行加密/解密,雙方必須確保這個共同金鑰的安全性。其基本過程可以用下圖表示:

4 數字簽名的實現方法

建立在公鑰密碼技術上的數字簽名方法有很多,有rsa簽名、dsa簽名和橢圓曲線數字簽名演算法(ecdsa)等等。下面對rsa簽名進行詳細分析。

rsa簽名的整個過程可以用下圖表示:

(1)傳送方採用某種摘要演算法從報文中生成乙個128位的雜湊值(稱為報文摘要);

(2)傳送方用rsa演算法和自己的私鑰對這個雜湊值進行加密,產生乙個摘要密文,這就是傳送方的數字簽名;

(3)將這個加密後的數字簽名作為報文的附件和報文一起傳送給接收方:

(4)接收方從接收到的原始報文中採用相同的摘要演算法計算出128位的雜湊值;

(5)報文的接收方用rsa演算法和傳送方的公鑰對報文附加的數字簽名進行解密;

(6)如果兩個雜湊值相同,那麼接收方就能確認報文是由傳送方簽名的。

最常用的摘要演算法叫做md5(message digest 5),它的作者r.l.

rivest正是提出rsa公鑰密碼系統中的r。md5採用單向hash函式將任意長度的「位元組串」變換成乙個128位的雜湊值,並且它是乙個不可逆的字串變換演算法,換言之,即使看到md5的演算法描述和實現它的源**,也無法將乙個md5的雜湊值變換回原始的字串。這乙個128位的雜湊值亦稱為數字指紋,就像人的指紋一樣,它就成為驗證報文身份的「指紋」了。

數字簽名是如何完成與手寫簽名類同的功能的呢?如果報文在網路傳輸過程中被修改,接收方收到此報文後,使用相同的摘要演算法將計算出不同的報文摘要,這就保證了接收方可以判斷報文自簽名後到收到為止,是否被修改過。如果傳送方a想讓接收方誤認為此報文是由傳送方b簽名傳送的,由於傳送方a不知道傳送方b的私鑰,所以接收方用傳送方b的公鑰對傳送方a加密的報文摘要進行解密時,也將得出不同的報文摘要,這就保證了接收方可以判斷報文是否是由指定的簽名者傳送。同時也可以看出,當兩個雜湊值相同時,傳送方b無法否認這個報文是他簽名傳送的。

在上述簽名方案中,報文是以明文方式發生的。所以不具備保密功能。如果報文包含不能洩漏的資訊,就需要先進行加密,然後再進行傳送。具有保密機制的rsa簽名的整個過程如下圖所示:

(1)傳送方選擇乙個對稱加密演算法(比如des)和乙個對稱金鑰對報文進行加密;

(2)傳送方用接收方的公鑰和rsa演算法對第1步中的對稱金鑰進行加密,並且將加密後的對稱金鑰附加在密文中;

(3)傳送方使用乙個摘要演算法從第2步的密文中得到報文摘要,然後用rsa演算法和傳送方的私鑰對此報文摘要進行加密,這就是傳送方的數字簽名;

(4)將第3步得到的數字簽名封裝在第2步的密文後,並通過網路傳送給接收方;

(5)接收方使用rsa演算法和傳送方的公鑰對收到的數字簽名進行解密,得到乙個報文摘要;

(6)接收方使用相同的摘要演算法,從接收到的報文密文中計算出乙個報文摘要;

(7)如果第5步和第6步的報文摘要是相同的,就可以確認密文沒有被篡改,並且是由指定的傳送方簽名傳送的;

(8)接收方使用rsa演算法和接收方的私鑰解密出對稱金鑰;

(9)接收方使用對稱加密演算法(比如des)和對稱金鑰對密文解密,得到原始報文。

5 數字簽名在電子商務中的應用

下面用乙個使用set協議的例子來說明數字簽名在電子商務中的作用。set協議(secure electronic transaction,安全電子交易)是由visa和mastercard兩大信用卡公司於2023年聯合推出的規範。

set主要針對使用者、商家和銀行之間通過信用卡支付的電子交易型別而設計的,所以在下例中會出現三方:使用者、**和銀行。對應的就有六把「鑰匙」:使用者公鑰、使用者私鑰;**公鑰、**私鑰;銀行公鑰、銀行私鑰。

這個三方電子交易的流程如下:

(1)使用者將購物清單和使用者銀行賬號和密碼進行數字簽名提交給**:

使用者賬號明文包括使用者的銀行賬號和密碼。

**申請明文包括購物清單款項統計、**賬戶和使用者需付金額。

(4)銀行簽名認證收到的相應明文:

從上面的交易過程可知,這個電子商務具有以下幾個特點:

(1)**無法得知使用者的銀行賬號和密碼,只有銀行可以看到使用者的銀行賬號和密碼;

(2)銀行無法從其他地方得到使用者的銀行賬號和密碼的密文;

(3)由於數字簽名技術的使用,從使用者到**到銀行的資料,每乙個傳送端都無法否認;

(4)由於數字簽名技術的使用,從使用者到**到銀行的資料,均可保證未被篡改。

可見,這種方式已基本解決電子商務中三方進行安全交易的要求,即便有「四方」、「五方」等更多方交易,也可以按set 議類推完成。

6 結語

數字簽名還需要相關法律條文的支援,所以需要引起立法機構對數字簽名技術的重視,加快立法腳步,制定相關法律,為數字簽名技術提供法律上的支援。

數字簽名介紹

公開金鑰也稱為非對稱金鑰,每個人都有一對唯一對應的金鑰 公開金鑰 簡稱公鑰 和私人金鑰 簡稱私鑰 公鑰對外公開,私鑰由個人秘密儲存 用其中一把金鑰加密,就只能用另一把金鑰解密。非對稱金鑰加密演算法的典型代表是rsa。因為公鑰是公開對外發布的,所以想給私鑰持有者傳送資訊的人都可以取得公鑰,用公鑰加密資...

數字簽名技術

在當今高速發展的網路資訊化時代,人們越來越重視資訊的安全性問題,電子資訊內容的安全已經成為倍受關注的問題,數字簽名技術作為資訊保安領域的一項重要技術,應用日益廣泛。論述了數字簽名的作用及實現方法技術,並介紹了當前數字簽名的幾種新技術,展望了這一領域的發展前景。1數字簽名的作用 該技術在具體工作時,首...

數字簽名技術

在當今高速發展的網路資訊化時代,人們越來越重視資訊的安全性問題,電子資訊內容的安全已經成為倍受關注的問題,數字簽名技術作為資訊保安領域的一項重要技術,應用日益廣泛。論述了數字簽名的作用及實現方法技術,並介紹了當前數字簽名的幾種新技術,展望了這一領域的發展前景。1數字簽名的作用 該技術在具體工作時,首...