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

以包含計算題的三選一題型,學習VM型TEE(AMD SEV-SNP、Intel TDX、Arm CCA)與機密運算、記憶體完整性保護及其負擔、證明報告的驗證、GPU的機密運算、以CHERI、MTE、指標驗證與影子堆疊保護記憶體與控制流程、列鎚攻擊與TRR、PRAC及ECC的限制、MDS與retpoline、IBRS、對策造成的效能下降、後量子密碼的硬體(數論轉換、金鑰大小、實作注意事項)、開放的信任根與DICE、安全的韌體更新、硬體物料清單(HBOM)、小晶片的安全性、分割製造、IC偽裝與邏輯鎖定、逆向工程、FIPS 140-3、共同準則、PSA Certified與SESIP、安全除錯與生命週期、掃描鏈,以及以電壓突波、雷射與電磁脈衝進行的故障注入。

練習10題從本領域隨機抽取10題 · 約5分鐘 練習這個領域以隨機順序出題,涵蓋這個領域的所有題目 弱項題目只重做最近答錯的題目

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

隨著雲端、AI與物聯網設備的普及,硬體安全要保護的對象與攻擊手法都有了很大的變化。連雲端業者的管理員也無法存取資料的機密運算、以硬體阻止指標錯誤的機制、面向量子電腦時代的密碼硬體,以及如何保護由眾多公司參與的半導體供應鏈,都是目前的重要主題。本單元在「硬體安全」單元的基礎上,學習更新、更深入的內容。

首先在機密運算方面,介紹VM型TEE與飛地型的差異及必須信任的範圍(TCB)、除了加密之外還需要完整性保護的理由與其記憶容量負擔的計算、驗證者在證明報告中要確認的內容、Arm CCA的領域(Realm),以及包含GPU的機密運算。接著學習CHERI的能力(capability)、MTE標記偶然一致之機率的計算、指標驗證,以及以影子堆疊與間接分支保護實現的控制流程完整性。在對DRAM的攻擊方面,介紹列鎚攻擊因微縮而更容易發生的理由、繞過TRR的研究、ECC的限制、DDR5的PRAC,以及刷新頻率與啟動次數的計算;在暫態執行攻擊方面,介紹MDS、retpoline與IBRS,以及對策造成效能下降的計算。後半部學習以數論轉換加速多項式乘法、ML-KEM的金鑰大小、解封裝實作的注意事項、可替換密碼的硬體設計、OpenTitan與Caliptra、DICE、A/B方式的更新與防回滾、硬體物料清單(HBOM)、小晶片之間的信任、分割製造、IC偽裝與邏輯鎖定,以及以逆向工程為前提的金鑰保護方式。最後確認FIPS 140-3的等級、共同準則的EAL、PSA Certified與SESIP的組合想法、安全除錯、生命週期與RMA、掃描鏈的保護,以及以電壓突波、雷射與電磁脈衝進行的故障注入,並計算其成功機率與對策的效果。目的不在攻擊步驟,而在於從設計者與防禦者的角度理解原理與對策。計算題的數值,包括錯誤選項的數值,都已用 Python 計算確認。產品名稱、規格版本與年份,是各題中所示時間點的資訊。旁通道攻擊、Spectre、Meltdown與KPTI、功耗分析、故障注入與列鎚攻擊的基礎、安全開機、TPM、TEE、TrustZone與飛地、PUF、真亂數產生器、硬體木馬與停用JTAG在「硬體安全」,ML-KEM與ML-DSA的標準及HSM在「密碼學基礎與應用」,DRAM的刷新與列鎚攻擊這個現象的名稱在「DRAM」,小晶片與UCIe在「先進技術(3D構裝與小晶片)」,掃描設計在「測試與檢查」,A/B方式的韌體更新在「嵌入式與韌體」,ISO/SAE 21434則在「車用半導體與功能安全」單元中介紹。

硬體安全的進階主題與趨勢的題目列表(40題)

  1. 在機密運算所使用的TEE中,關於保護整個虛擬機器的VM型(AMD SEV-SNP、Intel TDX等)與保護應用程式一部分的飛地型(Intel SGX等)之差異的說明,正確的是下列何者?
  2. 在VM型TEE中,只加密虛擬機器的記憶體被認為不夠,因而像AMD的SEV-SNP那樣加入了保護記憶體完整性的機制,其理由下列何者正確?
  3. 考慮在記憶體加密之外,再加上竄改偵測與防止重放的電路。假設每條64位元組的快取線,都在主記憶體中儲存8位元組的MAC(用來偵測竄改的碼),以及每次寫入時遞增的8位元組計數器。不考慮保護計數器的樹時,相對於受保護的資料量,額外需要的記憶容量比例是下列何者?
  4. 在機密運算中,使用者的驗證伺服器(驗證者)確認從VM型TEE收到的證明報告後,才交付解密資料的金鑰。驗證者要確認的內容組合,最適當的是下列何者?
  5. 截至2020年代中期,部分資料中心用GPU具備可與CPU的TEE搭配、用於機密運算的功能。關於此機制的想法,正確的是下列何者?
  6. 關於Arm CCA(Confidential Compute Architecture)所引入的領域(Realm),正確的說明是下列何者?
  7. 關於名為CHERI的指令集擴充所使用的能力(capability),正確的說明是下列何者?
  8. 在Arm的MTE(記憶體標記擴充)中,記憶體每16位元組附加4位元的標記,指標的高位元也放入4位元的標記,每次存取時由CPU確認兩者是否一致。考慮以指向已釋放區域的舊指標存取該區域的錯誤。假設重新配置區域時的新標記,是從16種值中均勻隨機選出,則標記偶然一致而漏掉錯誤的機率是下列何者?
  9. 關於Arm的指標驗證(PAC)的機制,正確的是下列何者?
  10. 關於Intel的CET(控制流程強制技術)等所採用的硬體影子堆疊,正確的說明是下列何者?
  11. 關於以硬體支援控制流程完整性的功能,保護函式返回者與保護經由函式指標等之間接呼叫或跳躍者的組合,正確的是下列何者?
  12. DRAM越微縮,越容易發生列鎚攻擊(Rowhammer)的理由,正確的是下列何者?
  13. 以DRAM內部的TRR(目標列刷新)對抗列鎚攻擊的對策,在研究中曾被繞過,其理由正確的是下列何者?
  14. 「只要使用具ECC的記憶體,就不必擔心列鎚攻擊」這種想法的問題點,正確的是下列何者?
  15. 在2024年更新的DDR5規格(JESD79-5C)中加入的PRAC(逐列啟動計數),其想法正確的是下列何者?
  16. 為簡化起見,設同一記憶庫中可啟動列的最短間隔為 tRC = 50 ns。刷新週期為64 ms時,某一列從被刷新到下一次被刷新之間,能啟動相鄰1列的最大次數為 64 ms ÷ 50 ns。把刷新頻率提高為2倍時,這個最大次數是下列何者?
  17. 關於2019年公開、名為MDS(微架構資料取樣)之漏洞的特徵,正確的是下列何者?
  18. 關於針對濫用間接分支預測之Spectre變種(分支目標注入)的對策retpoline與IBRS,說明的組合正確的是下列何者?
  19. 某項處理在加入推測執行的對策之前需要10秒,期間呼叫了500萬次系統呼叫。假設加入對策後,每次系統呼叫的處理時間從0.4 µs增加為0.6 µs,其他部分的時間不變。整個處理時間的增加比例是下列何者?
  20. 以格為基礎的後量子密碼,會反覆進行次數 n = 256 的多項式乘法。若把所有係數兩兩相乘的單純方法約需 n² 次乘法,使用數論轉換(NTT)的方法約需 n log₂ n 次,則使用NTT後乘法次數約減為幾分之一,最接近的是下列何者?
  21. ML-KEM-768的公開金鑰為1,184位元組、密文為1,088位元組,而橢圓曲線金鑰交換X25519的公開值為32位元組。ML-KEM-768的公開金鑰是X25519公開值的幾倍,正確的是下列何者?
  22. 在ML-KEM的解封裝中,會由以私密金鑰解密所收到之密文的結果重新產生密文,並與收到的密文比較是否一致。關於這部分實作的注意事項,正確的是下列何者?
  23. 要設計一款會使用10年以上之嵌入式設備的SoC。為因應未來密碼的遷移(例如遷移到後量子密碼),硬體與韌體的設計中適當的是下列何者?
  24. 像OpenTitan或Caliptra這樣公開信任根電路設計的做法,最適當的優點是下列何者?
  25. 關於TCG所制定的DICE(Device Identifier Composition Engine)的機制,正確的是下列何者?
  26. 在使用A面與B面兩個區域更新韌體的設備中,為了防回滾而記錄在eFuse中的最低版本號碼,推進到新版本號碼的時機,最適當的是下列何者?
  27. 關於硬體物料清單(HBOM)的說明,正確的是下列何者?
  28. 把多家公司的小晶片組合在1個封裝中時,關於安全性的想法,適當的是下列何者?
  29. 保護半導體設計的技術,與其主要假設之不可信對象的組合,正確的是下列何者?
  30. 假設有人會把晶片逐層削去並以電子顯微鏡拍攝,或以X射線拍攝內部,以讀取電路進行逆向工程時,適當的設計想法是下列何者?
  31. 關於密碼模組認證基準FIPS 140-3的安全等級1至4,實體安全性要求的說明,正確的是下列何者?
  32. 評估安全產品的國際標準共同準則(Common Criteria,ISO/IEC 15408)中的EAL(評估保證等級)所表示的,正確的是下列何者?
  33. 在物聯網設備的安全認證架構PSA Certified與SESIP中所重視的「組合(composition)」想法,正確的是下列何者?
  34. 要讓已出貨產品的除錯埠只能由製造商的技術人員開啟,最適當的安全除錯(驗證式除錯)設計是下列何者?
  35. 將安全晶片的生命週期狀態分為測試、正式量產(production)、退貨故障解析(RMA)等來管理。從正式量產狀態移到RMA狀態以進行故障解析時,適當的處理是下列何者?
  36. 在進行密碼處理的晶片中,掃描測試用的掃描鏈可能成為攻擊途徑的理由,與其對策的組合,正確的是下列何者?
  37. 以瞬間降低電源電壓的電壓突波使晶片發生錯誤動作的主要理由,正確的是下列何者?
  38. 在故障注入攻擊中,使用雷射的方法與使用電磁脈衝的方法,其特徵的組合正確的是下列何者?
  39. 某種故障注入嘗試每次成功的機率為0.1%,各次結果互相獨立。嘗試1,000次時,至少成功1次的機率最接近下列何者?
  40. 假設韌體的簽章確認,在1次故障注入嘗試中被跳過的機率為1/1,000。現在把相同的確認在2個地方進行,必須兩者都被跳過,攻擊才會成功。若1次嘗試能同時鎖定2個地方,且各自被跳過的事件互相獨立、機率皆為1/1,000,則攻擊成功前所需嘗試次數的期望值是下列何者?

電腦系統的其他領域