數字簽名
出自 MBA智库百科(https://wiki.mbalib.com/)
數字簽名(Digital Signature)
目錄 |
所謂數字簽名(Digital Signature)(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實現,用於鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。
在金融和商業等系統中,許多業務都要求在單據上進行簽名或加蓋印章,證實其真實性,以備日後檢查,可是在利用電腦網路來傳送報文時,顯然不能用手簽的方法,在電腦中我們可以採用數字簽名的方法,利用公開密鑰來實現數字簽名,從而代替傳統的簽名。
為使數字簽名能代替傳統的簽名,必須滿足下麵三個條件:
(1)接收者能夠核實發送者對報文的簽名;
(2)發送者事後不能抵賴對其報文的簽名;
(3)接收者無法偽造對報文的簽名。
對於交換信息的雙方而言,數字簽名的最基本形式是該信息基於某種特定的附加信息(如密鑰或標識等的信息摘錄)。發送方對發送的報文簽名並隨同報文一起發送,以擔保報文的內容,若需接收方也對報文的內容進行擔保,則要求接收方向發送方返回一個簽名的回執(可以是對報文的再簽名)。
數字簽名的簡單實例是直接利用RSA演算法和發送方的秘密密鑰。對被簽名的數據進行加密。當接收方收取本塊密文時,使用發送方的公開密鑰進行解密,如果能夠還原明文,則根據公開密鑰體制的特點(公開密鑰加密的密文只能用秘密密鑰解密,秘密密鑰加密的密文只能用公開密鑰解密),可以認為該數據確實來自於希望的發送方。
數字簽名同傳統的手寫簽名相比有許多特點:
首先,數字簽名中的簽名同信息是分開的,需要一種方法將簽名與信息聯繫在一起,而在傳統的手寫簽名中,簽名與所簽署之信息是一個整體;
其次,在簽名驗證的方法上,數字簽名利用一種公開的方法對簽名進行驗證,任何人都可以對之進行檢驗.而傳統的手寫簽名的驗證,是由經驗豐富的接收者,通過同預留的簽名樣本相比較而作出判斷的;
最後,在數字簽名中,有效簽名的複製同樣是有效的簽名,而在傳統的手寫簽名中,簽名的複製是無效的.
數字簽名可以同時具有兩個作用:確認數據的來源,以及保證數據在發送的過程中未作任何修改或變動.因此,在某些方面而言,數據簽名的功能,更有些近似於整體性檢測值的功能.但是,二者的一個主要區別在於,數字簽名必須能夠保證以下特點,即發送者事後不能抵賴對報文的簽名.這一點相當重要.由此,信息的接收者可以通過數字簽名,使第三方確信簽名人的身份及發出信息的事實.當雙方就信息發出與否及其內容出現爭論時,數字簽名就可成為一個有力的證據.一般來說因信息篡改而受影響較大的是接收方.因此,接收方最好使用與信息發送方不同的數字簽名,以示區別.這是整體性檢測值所不具有的功能.在這種意義上說來,確認一個數字簽名,有些類似於通過辯認手寫簽名來確認某一書面文件的來源一樣的意義。
數字簽名的確認是一個參照原信息和給定的公共密碼來查驗數字簽名的過程,進而決定為同一信息使用私人密碼創建的數字簽名與被參照的公共密碼是否保持一致.通過使用與創建數字簽名相同的哈希函數功能,來計算出原信息新的哈希函數結果,以達到對數據簽名的確認.接著,使用公共密碼和新的哈希函數結果,確認者可以檢查數字簽名是否是使用相應的私人密碼簽署的,新計算出來的哈希函數結果是否與在簽名過程中被轉化為數字簽名的原哈希函數結果值相匹配.
確認軟體將認同數字簽名為"已被確認",假如:
(1)簽名者的私人密碼是用來對信息進行數據簽名的,而公共密碼是用來確認數字簽名的,因為,公共密碼將只確認簽名者使用私人密碼簽署數字簽名.而事實上,公共密碼已經確認了簽名是由私人密碼作出的;
(2)信息未曾被改變,在確認過程中,這一點可以通過將確認者計算出來的哈希函數結果與從數字簽名中的哈希函數結果相對比得出結論來.
數字簽名的使用一般涉及以下幾個步驟,這幾個步驟即可由簽名者也可由被簽署信息的接受者來完成:
(1)用戶生成或取得獨一無二的加密密碼組。
(2)發件人在電腦上準備一個信息(如以電子郵件的形式)。
(3)發件人用安全的哈希函數功能準備好"信息摘要".數字簽名由一個哈希函數結果值生成.該函數值由被簽署的信息和一個給定的私人密碼生成,並對其而言是獨一無二的.為了確保哈希函數值的安全性,應該使通過任意信息和私人密碼的組合而產生同樣的數字簽名的可能性為零。
(4)發件人通過使用私人密碼將信息摘要加密.私人密碼通過使用一種數學演算法被應用在信息摘要文本中.數字簽名包含被加密的信息摘要。
(5)發件人將數字簽名附在信息之後。
(6)發件人將數字簽名和信息(加密或未加密)發送給電子收件人。
(7)收件人使用發件人的公共密碼確認發件人的電子簽名.使用發件人的公共密碼進行的認證證明信息排他性地來自於發件人。
(8)收件人使用同樣安全的哈希函數功能創建信息的"信息摘要"。
(9)收件人比較兩個信息摘要.假如兩者相同,則收件人可以確信信息在簽發後並未作任何改變.信息被簽發後哪怕是有一個位元組的改變,收件人創建的數據摘要與發件人創建的數據摘要都會有所不同。
(10) 收件人從證明機構處獲得認證證書(或者是通過信息發件人獲得),這一證書用以確認發件人發出信息上的數字簽名的真實性.證明機構在數字簽名系統中是一個典型的受委托管理證明業務的第三方.該證書包含發件人的公共密碼和姓名(以及其他可能的附加信息),由證明機構在其上進行數字簽名。
其中,第(1)~(6)是數字簽名的製作過程,(7)~(10)是數字簽名的核實過程。