硬體安全的進階主題與趨勢

在ML-KEM的解封裝中,會由以私密金鑰解密所收到之密文的結果重新產生密文,並與收到的密文比較是否一致。關於這部分實作的注意事項,正確的是下列何者?

  1. A不一致時立即中止處理,並把哪一個位元組不同當作詳細的錯誤回傳給對方,能讓對方知道原因,既貼心又安全
  2. B只要使用能抵抗量子電腦的方式,比較是否一致的做法就與安全性無關,因此應選擇最快的方法
  3. C比較處理不論機密為何都以相同時間進行,不一致時也不回傳錯誤,而是回傳由機密值產生的無關金鑰,使兩者無法被區分
查看答案與解析

正確答案:C. 比較處理不論機密為何都以相同時間進行,不一致時也不回傳錯誤,而是回傳由機密值產生的無關金鑰,使兩者無法被區分

與重新產生的密文比較的步驟,是為了防範送出特製密文並觀察反應的攻擊(選擇密文攻擊)。若一致與否從比較處理的時間,或表示不一致的錯誤洩漏到外部,這本身就會成為攻擊的線索,私密金鑰可能被逐步推測出來。因此FIPS 203規定,不一致時不回傳錯誤,而是回傳由機密值與密文產生的另一把金鑰(隱式拒絕),實作上則以恆定時間進行比較與選擇結果的處理。即使方式能抵抗量子電腦,只要機密從實作的時間或功耗洩漏,安全性就會喪失;2024年前後也有人報告了除法時間取決於機密的實作問題(KyberSlash)。

  • A. 詳細的錯誤與提早中止,會成為外部得知一致與否的線索。
  • B. 方式在數學上的強度,與實作洩漏的資訊是不同的問題。
  • C. 正確。無論從時間或錯誤,都不讓外部看出是否一致。
練習這個領域 前往領域頁面

硬體安全的進階主題與趨勢的其他題目

  1. 要設計一款會使用10年以上之嵌入式設備的SoC。為因應未來密碼的遷移(例如遷移到後量子密碼),硬體與韌體的設計中適當的是下列何者?
  2. 像OpenTitan或Caliptra這樣公開信任根電路設計的做法,最適當的優點是下列何者?
  3. 關於TCG所制定的DICE(Device Identifier Composition Engine)的機制,正確的是下列何者?
  4. 在使用A面與B面兩個區域更新韌體的設備中,為了防回滾而記錄在eFuse中的最低版本號碼,推進到新版本號碼的時機,最適當的是下列何者?
  5. 關於硬體物料清單(HBOM)的說明,正確的是下列何者?