什麼是數位簽章

用來確認電子文件由誰建立、且之後未遭竄改的技術。簽署者以自己的私密金鑰處理文件的雜湊值來建立簽章,接收者以簽署者的公開金鑰驗證。也用於不可否認性。

日文名稱: デジタル署名

「數位簽章」出現在2領域的5道練習題中(資訊安全基礎, 車用半導體與功能安全等)。

這個名詞所屬的領域: 資訊安全基礎

簽署與驗證的程序

簽署者先計算文件的雜湊值,再以自己的私密金鑰處理以建立簽章,附加在文件上。驗證者自行計算所收到文件的雜湊值,並以簽署者的公開金鑰確認簽章是否與該雜湊值相對應。文件只要有1位元被改寫,雜湊值就會改變,驗證便會失敗。沒有私密金鑰的人無法建立正確的簽章。

能確認與不能確認的事項

驗證成功即可得知文件是由私密金鑰的持有者所簽署(真確性),且簽署後未被變更(完整性),簽署者事後也難以否認(不可否認性)。另一方面,數位簽章並不加密文件,因此無法保護內容的機密。此外,公開金鑰是否真的屬於該人,必須以憑證機構(CA)簽發的憑證來確認。

使用的場合

數位簽章用於網站的伺服器憑證(TLS)、軟體發布與升級時附加的程式碼簽章、讓設備只啟動合法軟體的安全開機、電子契約與線上申請,以及電子郵件的簽章(S/MIME)等。代表性的方式有RSA簽章、ECDSA與EdDSA。

練習數位簽章的題目

A在要傳給B的文件上附加數位簽章。建立與驗證簽章所用的金鑰,以及數位簽章能確認的事項,正確的組合是哪一項?

  1. A以A的私密金鑰建立簽章,B以A的公開金鑰驗證。可確認文件是A所製作,且途中未遭竄改
  2. B以B的公開金鑰建立簽章,B以自己的私密金鑰驗證。可確認文件內容不會被第三者讀取
  3. C以A的公開金鑰建立簽章,B以A的私密金鑰驗證。可確認文件內容是正確的事實
查看答案與解析

正確答案:A. 以A的私密金鑰建立簽章,B以A的公開金鑰驗證。可確認文件是A所製作,且途中未遭竄改

數位簽章中,簽署者(A)以自己的私密金鑰處理文件的雜湊值來建立簽章,附加在文件上傳送。收到的B以A的公開金鑰驗證簽章,確認它與由文件計算出的雜湊值相對應。私密金鑰只有A持有,因此驗證成功就能得知文件是由A簽署(真確性),且簽署後連1位元都未被改寫(完整性)。A事後也難以否認曾經簽署(不可否認性)。不過,該公開金鑰是否確實屬於A,需要另外確認,為此會使用憑證。另一方面,數位簽章並不加密文件,因此無法讓內容保密;需要保密時要另外搭配加密。此外,簽章只能表明由誰簽署,無法得知所寫內容是否為事實。

比較訊息鑑別碼(MAC)與數位簽章的說明,正確的是哪一項?

  1. AMAC可用公開金鑰讓任何人驗證,因此不可否認性的效果比數位簽章強
  2. BMAC以傳送者與接收者共享的對稱金鑰建立,因此能偵測竄改,但接收者也能建立相同的MAC,所以無法用於向第三者證明訊息由傳送者建立的不可否認性
  3. CMAC不使用金鑰,只計算雜湊值,因此即使攻擊者改寫訊息後重新計算MAC,接收者也能察覺
查看答案與解析

正確答案:B. MAC以傳送者與接收者共享的對稱金鑰建立,因此能偵測竄改,但接收者也能建立相同的MAC,所以無法用於向第三者證明訊息由傳送者建立的不可否認性

訊息鑑別碼(MAC)是由訊息與對稱金鑰計算出的簡短值,常用的是使用雜湊函數的HMAC。接收者以相同金鑰重新計算並比對,一致就能得知訊息來自知道金鑰的對象,且途中未遭竄改。不知道金鑰的攻擊者,無法為改寫後的訊息產生正確的MAC。然而接收者也持有相同的金鑰,也能建立MAC。因此接收者無法向第三者證明「這是傳送者建立的」,MAC無法提供不可否認性。數位簽章只能用傳送者的私密金鑰建立,任何人都能用公開金鑰驗證,因此可用於不可否認性。另一方面,MAC計算量小,廣泛用於當事人之間的確認,例如偵測連線中每個封包是否遭竄改。不使用金鑰的單純雜湊值,攻擊者可以連同改寫的訊息一起重新計算,因此無法用來偵測蓄意的竄改。

常見問題

數位簽章是用哪一把金鑰簽署?

以簽署者的私密金鑰建立簽章,驗證者以簽署者的公開金鑰確認。這與為了保密而加密時的金鑰用法相反。

數位簽章與電子簽章相同嗎?

電子簽章是附加在電子文件上之簽章的總稱,在法律等場合以較廣的意義使用。數位簽章則是指其中以公開金鑰加密技術實現的簽章。

解析中的「數位簽章」

出現「數位簽章」的題目(5題)

  1. A在要傳給B的文件上附加數位簽章。建立與驗證簽章所用的金鑰,以及數位簽章能確認的事項,正確的組合是哪一項?
  2. 比較訊息鑑別碼(MAC)與數位簽章的說明,正確的是哪一項?
  3. 以無線方式更新車輛軟體的OTA(Over-the-Air)更新,其適當的概念是下列何者?
  4. A想用公開金鑰加密,把訊息加密成只有B能讀取後傳送。加密時使用的是哪一把金鑰?
  5. 密碼學中使用的雜湊函數(密碼學雜湊函數)的性質,正確的是哪一項?

相關名詞

雜湊函數 訊息鑑別碼 OTA 更新(Over-the-air update) 公開金鑰加密 多因素驗證 社交工程 勒索軟體 最小權限原則 跨網站指令碼(XSS) 零時差攻擊

前往名詞解釋列表