《硬件安全》讀書筆記

教師介紹

Gang Qu, 馬里蘭大學教授,嵌入式系統實驗室以及硬件安全實驗室的Director。UCLA畢業CS博士,本科爲中科大。算法

對他的感受是講課比較無聊,講的冷笑話超級冷……編程

生詞

  • fabrication 製造
  • obfuscation 混淆
  • constraint 約束
  • countermeasures 對策
  • cryptanalysis 密碼分析
  • manipulate 操做
  • soldering 焊接

1、數字系統設計:基礎與弱點

CAD tools | 計算機輔助設計工具 | Computer-aided Design tools
DCC | 無關狀況 | Don't Care Condition
IP | 知識產權 | Intellectual Property
SDC | 知足性無關 | Satisfiability don't cares
ODC | 觀察性無關 | Observation don't cares安全

  • 同步電路 有時序,信號只在時鐘上翻轉。相對的,異步電路 則沒有時序。
  • 系統聲明 摘錄定義原話:The specification of a system is a description of its functionality and other characteristics required for its use.一般包含了輸入、輸出及從輸入到輸出的布爾函數表達。形式也可使用真值表或狀態轉換圖等。它的表述能夠是高級(high level)的,系統的輸入輸出能夠是十進制表達;也能夠是低級(low level, binary level)的,系統的輸入輸出必須表示爲二進制。
  • 系統實現 定義原話:The implementation of a system is how the system is constructed from simpler components.可使用基礎門、通用門、技術庫、觸發器(內存單元)以及IP等。
  • 通用門 可以實現全部數字系統(等價於實現全部基礎門)的一個或一組門。例如NAND,或者{OR, NOT}
  • 無關條件 用戶對某種輸入而言,並不關心其輸出值
  • 知足性無關 對於電路的某個部分而言,因爲其以前的電路約束,某種輸入組合永遠不可能出現,用該部分電路的輸入組合表示({x=1, y=1})
  • 觀察性無關 對於電路的某個部分而言,當x恆定在某個值時,不管y爲什麼值都不影響輸出(也就是某個子系統的實現可有可無),用該部分電路的輸入組合表示({x=1, y=1}, {x=1, y=0})。【問】
  • 鎖存器 latch
  • 觸發器 Flip-Flop
  • 自我糾錯的設計 將DCC指向有意義的狀態。而這也可能帶來後門,由於這意味着攻擊者可能利用DCC轉向他須要的狀態。

2、知識產權保護

SOC | 芯片級系統 | System On Design
VLSI | 超大規模集成電路 | Very Large Scale Integration
GC | 圖着色(問題) | Graph Coloring
GP | 圖分割(問題) | Graph Partitioning
PUF | 物理不可複製功能 | Physical Unclonable Function網絡

  • 知識產權(IP) 原文定義:An original idea with can be used to earn money. 在超大規模集成電路中,擁有知識產權的設計單元可被視爲一個獨立得子模塊。
  • 設計IP 任何能讓設計變得更好的革新或者技術。包括算法,技術,方法論。
  • 硬IP 固定的硬件設計,每每性能是肯定的,例如一個電路板走線設計。
  • 軟IP 靈活的,性能不肯定,每每有某種程度的抽象,例如綜合性HDL源代碼。
  • 固IP 介於硬IP和軟IP之間。
  • 水印 知識產權從屬的標記。
  • 基於約束的水印 將簽名混合到問題中去,這致使問題的解會帶上簽名。
  • 布爾方程水印 若是要隱藏1,則使F(a, b, c, d) = 1;若是要隱藏0,則使F(a, b, c, d) = 0 一般會給出兩個DCC,隱藏01則讓第一個DCC爲0,第二個DCC爲1。因此,給出的DCC是有順序的。【問題】
  • 編碼器水印 1. 將全部DCC按大小排列,輸入位數爲floor(lg(DCC數量)),設爲x。輸出位數爲y 2. 將要嵌入的水印轉爲二進制,並按(x+y)的整數倍補齊 3. 按從右到左的順序補入DCC,略難描述。
  • 圖着色水印 1. 爲圖中的頂點加上序號 2. 將消息轉爲二進制,從左到右取位 3. 爲每一個頂點尋找序號最小的兩個不直接鏈接的頂點,若是要隱藏的位是1,則鏈接較大的那個,否則則鏈接較小的。
  • 可靠性 credibility 不一樣芯片水印發生碰撞的可能性應該很是小。
  • 易檢驗性 easy detectability
  • 彈性 resilience 水印不容易移除
  • 透明度 水印方法必須公佈,且設計軟件可以幫助嵌入和檢測
  • 部分保護 水印技術能夠只保護一部分設計,從而讓水印針對某個IP進行保護
  • 平等性 應該對全部設計者和簽名都平等
  • 零負擔水印 1.首先不考慮水印,如常設計。2.尋找能夠嵌入水印而不增長負擔的地方。3.調整設計,嵌入水印。一般第二、3步會不斷尋找、嘗試、測試。
  • 基於約束的水印 以及 公開水印 【是徹底沒有看懂】
  • 基於圖分割問題得公開水印 將節點配對,如要隱藏1,則把該位置這對節點放在兩邊;如要隱藏0,則放在一邊。由後往前。
  • 指紋 水印標示着IP的全部人,指紋標示着IP實例的特徵,其實就是個序列號。
  • 基於圖着色問題的指紋 利用DCC的結果不一樣生成指紋。
  • 硬件計量 使設計師能夠控制生產中的IP保護,例如過量生產。水印沒法防止過量生產,但指紋能夠。
  • ICID 芯片在製造中自帶的隨機ID,是因爲生產過程當中的隨機因素所產生的,屬於被動標籤,可用於指紋。

3、物理攻擊

PA | 物理攻擊 | Physical Attack
FIB | 聚焦離子束 | Focused Ion Beam
ASIC | 針對應用的集成電路 | Application-specific Intergrated Circuit
FIPS | 聯邦信息處理標準 | Federal Information Processing Standard
ME | 模冪 | Modular Exponentiation異步

  • PA: 物理攻擊,

    • 須要:




    1. (直接的)芯片接觸
    2. 信號線的接觸(測量)
    3. 設備,工具,技能以及知識


    • 兩個步驟:




    1. Interaction(互動),得到設備的物理特性
    2. Explotation (利用),得到祕密


    • 攻擊者分類:




    1. Class I(Clever Outsiders)
    2. Class II(Knowledgeable insider)
    3. Class III(Funded Organizations)
  • 密碼分析: 數學性分析方式,尋找理論漏洞
  • 侵入式攻擊:Invasive Attack

    • 例子

      • 解封與逆向處理 Decapsulation and Deprocessing
      • 逆向工程 Reverse Engineering
      • 消除鈍化與微探針 Depassivation and Microprobing
      • 芯片修改 Chip Modification
    • 工具

      • 焊接與脫焊
      • 化學藥品
      • 高精度光學顯微鏡
      • 示波器,信號發生器
      • 接線、激光切割、微探針能力
      • 掃描型電子顯微鏡
      • FIB 工做站
    • 對策

      • 混淆走線
      • 數據加密
      • 隱藏數據總線
      • 外部設置傳感器網絡、自毀
  • 非侵入式攻擊: Non-invasive Attack

    • 例子

      • 旁路攻擊
      • 蠻力
      • 數據剩磁 Data Remanence
      • 故障注入
    • 工具

      • 萬用表
      • 通用編程芯片
  • 半侵入式攻擊:Semi-invasive Attack

    • 例子

      • 解封裝與逆向處理
      • 成像
      • 故障注入
      • 旁路攻擊分析
    • 工具

      • 紫外光以及激光光源
      • 顯微鏡
      • 計算機,以及FPGA板、麪包板之類的
  • 逆向工程:侵入式攻擊。研究芯片內部構造及功能。花費高,基本與設計者要求至關。
  • 微探針: Microprobing 侵入式攻擊 在芯片表面進行觀察,操做,干擾
  • 故障生成: 半侵入式或是非侵入式,使芯片在極端條件下工做,致使失靈,而且泄漏信息,或者得到額外權限。對策:校驗和、隨機執行、冗餘、故障偵測。
  • 旁路攻擊:非侵入式攻擊。在正常工做時測量監控芯片的物理參數,經過分析數據獲取信息。
  • 軟件攻擊:非侵入式攻擊。經過普通的I/O口,利用已知漏洞進行攻擊。
  • 數據剩磁

    • 掉電、長時間存儲、低溫(-20°)冰凍後,數據可能存在SRAM中。
    • EEPROM和Flash中,寫數據會影響電壓
  • 故障注入攻擊:電源、溫度、白光、激光、X射線、離子束、電磁
  • 防篡改保護級別

    • 零 ZERO

      • 微處理器、經過外部存儲器存儲數據的FPGA
    • 低 LOW

      • 擁有內部存儲功能的微處理器,存儲功能有專利而沒有被保護
    • 中低 MODL

      • 擁有保護的微處理器,可是對溫度計電壓敏感
    • 中 MOD

      • 微處理器的保護措施涵蓋紫外線、ASIC、安全的存儲芯片、SmartCard
    • 中高 MODH

      • 安全的FPGA,現代化的SmartCard、複雜的ASIC
    • 高 HIGH

      • 爲CA研發的安全的加密模塊、工業性以及銀行性應用
  • Diffie-Hellman 密鑰交換:各自生成一個隨機數X,計算a**x mod q 後交換結果,本身生成的隨機數x即爲密鑰
  • RSA算法 : 太複雜了請谷歌
  • 迭代式ME: 一個個相乘而後取模
  • 開方相乘策略:square and multiply 計算a**x時,將x轉換爲二進制,而後從高位起逐個計算,講起來也蠻複雜的。
  • 蒙哥馬利規約:太麻煩了請谷歌
相關文章
相關標籤/搜索