本頁使用了標題或全文手工轉換
本頁使用了標題或全文手工轉換

數位簽章

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Gnome-mime-text-x-copying.svg

數位簽章(英語:Digital Signature,又稱公鑰數位簽章)是一種功能類似寫在上的普通簽名、但是使用了公鑰加密領域的技術,以用於鑑別數位訊息的方法。一套數位簽章通常會定義兩種互補的運算,一個用於簽名,另一個用於驗證。法律用語中的電子簽章與數位簽章代表之意義並不相同。電子簽章指的是依附於電子文件並與其相關連,用以辨識及確認電子文件簽署人身分、資格及電子文件真偽者;數位簽章則是以數學演算法或其他方式運算對其加密而形成的電子簽章。意即並非所有的電子簽章都是數位簽章。

數位簽章不是指將簽名掃描成數位圖像,或者用觸摸板獲取的簽名,更不是落款

數位簽章了的文件的完整性是很容易驗證的(不需要騎縫章騎縫簽名,也不需要筆跡鑑定),而且數位簽章具有不可抵賴性(即不可否認性),不需要筆跡專家來驗證。

簡單的數位簽章原理
生成數位簽章並加密以及解密並驗證數位簽章

使用[編輯]

使用者可以對其發出的每一封電子郵件進行數位簽章。這不是指落款或簽名檔(普遍把落款訛誤成簽名)。

中國大陸,數位簽章是具法律效力的,正在被普遍使用。2000年,中華人民共和國的新《合同法》首次確認了電子合同、電子簽名的法律效力。2005年4月1日起,中華人民共和國首部《電子簽名法》正式實施。

在台灣,2001年公布實施《電子簽章法》做為數位簽章的法源依據及規範,並且製發中華民國自然人憑證及工商憑證。

每個人都有一對「鑰匙」(數位身份),其中一個只有本人知道(私鑰),另一個公開的(公鑰)。簽名的時候用私鑰,驗證簽名的時候用公鑰。又因為任何人都可以落款申稱他就是使用者本人,因此公鑰必須向接受者信任的人(身份認證機構)來註冊。註冊後身份認證機構給使用者發一數位證書。對文件簽名後,使用者把此數位證書連同文件及簽名一起發給接受者,接受者向身份認證機構求證是否真地是用使用者的密鑰簽發的文件。

訊息發布者可以使用數位簽章:訊息發布的目的是讓人們知道訊息,雖然沒必要對消息進行加密,但是必須排除有人偽裝訊息發布者發布假消息的風險,這時訊息發布者就可以使用數位簽章。而對明文消息施加的簽名,稱為明文簽名(clearsign)。[1]

軟體的作者可以加上數位簽章,以便用戶下載後對簽名進行驗證。[2]

認證機構(CA)也可以為用戶的公鑰加上數位簽章生成證書,以便人們確認用戶公鑰的合法性。[3]

SSL/TLS使用伺服器證書(加上了數位簽章的伺服器公鑰)認證伺服器身份是否合法。[3]

原理[編輯]

通常我們使用公鑰加密,用私鑰解密。而在數位簽章中,我們使用私鑰加密(相當於生成簽名),公鑰解密(相當於驗證簽名)。[4]

我們可以直接對消息進行簽名(即使用私鑰加密,此時加密的目的是為了簽名,而不是保密),驗證者用公鑰正確解密消息,如果和原消息一致,則驗證簽名成功。但通常我們會對消息的散列值簽名,因為通常散列值的長度遠小於消息原文,使得簽名(非對稱加密)的效率大大提高。注意,計算消息的散列值不是數位簽章的必要步驟。[5]

在實際使用中,我們既想加密消息,又想簽名,所以要對加密和簽名組合使用,比如TLS就組合了加密和簽名。[6]

數位簽章應用了公鑰密碼領域使用的單向函數原理。單向函數指的是正向操作非常簡單,而逆向操作非常困難的函數,比如大整數乘法。這種函數往往提供一種難解或懷疑難解的數學問題。目前,公鑰密碼領域具備實用性的三個懷疑難解問題為:質數分解離散對數橢圓曲線問題。

操作[編輯]

數位簽章就是將公鑰密碼反過來使用。簽名者將訊息用私鑰加密(這是一種反用,因為通常公鑰密碼中私鑰用於解密),然後公布公鑰;驗證者使用公鑰將加密訊息解密並比對消息(一般簽名對象為消息的散列值。本節為了講解方便,假設數位簽章直接將消息而非散列值簽名)。

因此,可靠的公鑰密碼算法均能構建出可靠的數位簽章。下面講解為何反用公鑰密碼算法能夠構建出安全的數字簽名。

Alice是簽名者,假設她要對消息A進行簽名。現在, Alice生成了其公私鑰密碼對,公布該公鑰,然後將消息用私鑰加密後發布。

現在,我們希望Alice的簽名算法具有如下特性:1,確認消息在傳輸過程中沒有丟位,沒被篡改(完整性). 2,確認消息的發送者是發布公鑰的Alice(認證). 3,確認Alice的確發布過該消息(不可否認性)

實現[編輯]

數位簽章算法是依靠公鑰加密技術來實現的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現。

普通的數位簽章算法包括三種算法:

  • 一種密碼生成算法
  • 標記算法
  • 驗證算法

RSAECDSA等算法可以實現數位簽章。[7]常用的密碼雜湊函數SHA家族

參考文獻[編輯]

  1. ^ 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 218頁. ISBN 978-7-115-42491-4. 
  2. ^ 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 219頁. ISBN 978-7-115-42491-4. 
  3. ^ 3.0 3.1 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 220頁. ISBN 978-7-115-42491-4. 
  4. ^ 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 207頁. ISBN 978-7-115-42491-4. 
  5. ^ 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 209–211頁. ISBN 978-7-115-42491-4. 
  6. ^ 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 214–215頁. ISBN 978-7-115-42491-4. 
  7. ^ 結城浩. 图解密码技术(第3版). 人民郵電出版社. 2016: 222–223頁. ISBN 978-7-115-42491-4. 

外部連結[編輯]

Wikisource-logo.svg 您可以在維基文庫中查找此百科條目的相關原始文獻: