登錄

數(shù)字簽名

百科 > 電子商務 > 數(shù)字簽名

1.什么是數(shù)字簽名

所謂數(shù)字簽名(Digital Signature)(又稱公鑰數(shù)字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現(xiàn),用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。

2.數(shù)字簽名的條件

在金融和商業(yè)系統(tǒng)中,許多業(yè)務都要求在單據(jù)上進行簽名或加蓋印章,證實其真實性,以備日后檢查,可是在利用計算機網(wǎng)絡來傳送報文時,顯然不能用手簽的方法,在計算機中我們可以采用數(shù)字簽名的方法,利用公開密鑰來實現(xiàn)數(shù)字簽名,從而代替?zhèn)鹘y(tǒng)的簽名。

為使數(shù)字簽名能代替?zhèn)鹘y(tǒng)的簽名,必須滿足下面三個條件:

(1)接收者能夠核實發(fā)送者對報文的簽名;

(2)發(fā)送者事后不能抵賴對其報文的簽名;

(3)接收者無法偽造對報文的簽名。

3.數(shù)字簽名的基本形式

對于交換信息的雙方而言,數(shù)字簽名的最基本形式是該信息基于某種特定的附加信息(如密鑰或標識等的信息摘錄)。發(fā)送方對發(fā)送的報文簽名并隨同報文一起發(fā)送,以擔保報文的內(nèi)容,若需接收方也對報文的內(nèi)容進行擔保,則要求接收方向發(fā)送方返回一個簽名的回執(zhí)(可以是對報文的再簽名)。

4.數(shù)字簽名的實現(xiàn)

數(shù)字簽名的簡單實例是直接利用RSA算法和發(fā)送方的秘密密鑰。對被簽名的數(shù)據(jù)進行加密。當接收方收取本塊密文時,使用發(fā)送方的公開密鑰進行解密,如果能夠還原明文,則根據(jù)公開密鑰體制的特點(公開密鑰加密的密文只能用秘密密鑰解密,秘密密鑰加密的密文只能用公開密鑰解密),可以認為該數(shù)據(jù)確實來自于希望的發(fā)送方。

5.數(shù)字簽名與手寫簽名的區(qū)別

數(shù)字簽名同傳統(tǒng)的手寫簽名相比有許多特點:

首先,數(shù)字簽名中的簽名同信息是分開的,需要一種方法將簽名與信息聯(lián)系在一起,而在傳統(tǒng)的手寫簽名中,簽名與所簽署之信息是一個整體;

其次,在簽名驗證的方法上,數(shù)字簽名利用一種公開的方法對簽名進行驗證,任何人都可以對之進行檢驗.而傳統(tǒng)的手寫簽名的驗證,是由經(jīng)驗豐富的接收者,通過同預留的簽名樣本相比較而作出判斷的;

最后,在數(shù)字簽名中,有效簽名的復制同樣是有效的簽名,而在傳統(tǒng)的手寫簽名中,簽名的復制是無效的.

數(shù)字簽名可以同時具有兩個作用:確認數(shù)據(jù)的來源,以及保證數(shù)據(jù)在發(fā)送的過程中未作任何修改或變動.因此,在某些方面而言,數(shù)據(jù)簽名的功能,更有些近似于整體性檢測值的功能.但是,二者的一個主要區(qū)別在于,數(shù)字簽名必須能夠保證以下特點,即發(fā)送者事后不能抵賴對報文的簽名.這一點相當重要.由此,信息的接收者可以通過數(shù)字簽名,使第三方確信簽名人的身份及發(fā)出信息的事實.當雙方就信息發(fā)出與否及其內(nèi)容出現(xiàn)爭論時,數(shù)字簽名就可成為一個有力的證據(jù).一般來說因信息篡改而受影響較大的是接收方.因此,接收方最好使用與信息發(fā)送方不同的數(shù)字簽名,以示區(qū)別.這是整體性檢測值所不具有的功能.在這種意義上說來,確認一個數(shù)字簽名,有些類似于通過辯認手寫簽名來確認某一書面文件的來源一樣的意義。

6.數(shù)字簽名的確認

數(shù)字簽名的確認是一個參照原信息和給定的公共密碼來查驗數(shù)字簽名的過程,進而決定為同一信息使用私人密碼創(chuàng)建的數(shù)字簽名與被參照的公共密碼是否保持一致.通過使用與創(chuàng)建數(shù)字簽名相同的哈希函數(shù)功能,來計算出原信息新的哈希函數(shù)結果,以達到對數(shù)據(jù)簽名的確認.接著,使用公共密碼和新的哈希函數(shù)結果,確認者可以檢查數(shù)字簽名是否是使用相應的私人密碼簽署的,新計算出來的哈希函數(shù)結果是否與在簽名過程中被轉(zhuǎn)化為數(shù)字簽名的原哈希函數(shù)結果值相匹配.

確認軟件將認同數(shù)字簽名為"已被確認",假如:

(1)簽名者的私人密碼是用來對信息進行數(shù)據(jù)簽名的,而公共密碼是用來確認數(shù)字簽名的,因為,公共密碼將只確認簽名者使用私人密碼簽署數(shù)字簽名.而事實上,公共密碼已經(jīng)確認了簽名是由私人密碼作出的;

(2)信息未曾被改變,在確認過程中,這一點可以通過將確認者計算出來的哈希函數(shù)結果與從數(shù)字簽名中的哈希函數(shù)結果相對比得出結論來.

7.數(shù)字簽名的過程

數(shù)字簽名的使用一般涉及以下幾個步驟,這幾個步驟即可由簽名者也可由被簽署信息的接受者來完成:

(1)用戶生成或取得獨一無二的加密密碼組.

(2)發(fā)件人在計算機上準備一個信息(如以電子郵件的形式).

(3)發(fā)件人用安全的哈希函數(shù)功能準備好"信息摘要".數(shù)字簽名由一個哈希函數(shù)結果值生成.該函數(shù)值由被簽署的信息和一個給定的私人密碼生成,并對其而言是獨一無二的.為了確保哈希函數(shù)值的安全性,應該使通過任意信息和私人密碼的組合而產(chǎn)生同樣的數(shù)字簽名的可能性為零.

(4)發(fā)件人通過使用私人密碼將信息摘要加密.私人密碼通過使用一種數(shù)學算法被應用在信息摘要文本中.數(shù)字簽名包含被加密的信息摘要.

(5)發(fā)件人將數(shù)字簽名附在信息之后.

(6)發(fā)件人將數(shù)字簽名和信息(加密或未加密)發(fā)送給電子收件人.

(7)收件人使用發(fā)件人的公共密碼確認發(fā)件人的電子簽名.使用發(fā)件人的公共密碼進行的認證證明信息排他性地來自于發(fā)件人.

(8)收件人使用同樣安全的哈希函數(shù)功能創(chuàng)建信息的"信息摘要".

(9)收件人比較兩個信息摘要.假如兩者相同,則收件人可以確信信息在簽發(fā)后并未作任何改變.信息被簽發(fā)后哪怕是有一個字節(jié)的改變,收件人創(chuàng)建的數(shù)據(jù)摘要與發(fā)件人創(chuàng)建的數(shù)據(jù)摘要都會有所不同.

(10) 收件人從證明機構處獲得認證證書(或者是通過信息發(fā)件人獲得),這一證書用以確認發(fā)件人發(fā)出信息上的數(shù)字簽名的真實性.證明機構在數(shù)字簽名系統(tǒng)中是一個典型的受委托管理證明業(yè)務的第三方.該證書包含發(fā)件人的公共密碼和姓名(以及其他可能的附加信息),由證明機構在其上進行數(shù)字簽名.

其中,第(1)~(6)是數(shù)字簽名的制作過程,(7)~(10)是數(shù)字簽名的核實過程.

評論  |   0條評論