参考文献:

  1. [HJ02] W. E. Hall and C. S. Jutla. Parallelizable authentication trees. In Cryptology ePrint Archive, December 2002.
  2. [ECL+07] Reouven Elbaz, David Champagne, Ruby B. Lee, Lionel Torres, Gilles Sassatelli, Pierre Guillemin. TEC-Tree: A Low-Cost, Parallelizable Tree for Efficient Defense Against Memory Replay Attacks. CHES 2007: 289-302.
  3. [RCPS07] Brian Rogers, Siddhartha Chhabra, Milos Prvulovic, Yan Solihin. Using Address Independent Seed Encryption and Bonsai Merkle Trees to Make Secure Processors OS- and Performance-Friendly. MICRO 2007: 183-196.
  4. [AMS+22] Roberto Avanzi, Ionut Mihalcea, David Schall, Héctor Montaner, Andreas Sandberg. Hardware-Supported Cryptographic Protection of Random Access Memory. Cryptology ePrint Archive, Paper 2022/1472.

威胁模型

安全假设:

  1. SoC 可以抵御所有物理攻击,敌手无法探测和腐坏
  2. OS kernel 是可信的,敌手无法利用它访问 SoC 资源

敌手能力:

  1. 可以完全控制 Processor-Memory Bus
  2. 可以观测 PM Bus 和 Memory,执行任意的数据篡改

攻击类型:

  1. Spoofing attacks(欺骗),敌手可以将内存块修改为任意值
  2. Splicing or relocation attacks(拼接),敌手可以任意交换两个不同的内存块
  3. Replay attacks(重放),敌手可以将一个内存块替换为其旧版本

现有技术

Merkle Tree

计算每一个内存块的 Hash 值,然后再对 Hash 值做 Merkle Tree 压缩,最后将 Root 存储到 SoC 防护。

为了降低计算开销,[RCPS07] 提出了 Bonsai Merkle Trees

  1. 为每个内存块赋予一个 Logical Page IDentifier (LPID),确保其在生命周期内是唯一的,被实例化为 small per-block counters
  2. 每个内存块计算 H M A C K ( d a t a , c t r ) HMAC_K(data, ctr) HMACK(data,ctr),防篡改、防重放
  3. 对于所有 c t r ctr ctr 执行 Merkle Tree,完整性防护

在这里插入图片描述

MAC & PAT

[HJ02] 提出的 Parallelizable Authentication Tree 其结构与 MT 类似,但是将 Hash 替换为 MAC,并且每个内部节点都带有一个 Nonce 域,即: ( N i , C i = M A C K ( v 2 i + 1 ∥ v i ∥ v 2 i + 2 ) ) (N_i, C_i = MAC_K(v_{2i+1} \| v_i \| v_{2i+2})) (Ni,Ci=MACK(v2i+1viv2i+2)),其中 v i v_i vi 是满二叉树第 i i i 节点的 Nonce 值。

在这里插入图片描述

AREA & TEC Tree

Added Redundancy Explicit Authentication 利用 SE 的扩散性,在数据块上追加一个 Nonce(金丝雀),解密时检测这个 Nonce 是否匹配原始值。

[ECL+07] 将 Nonce 设置为 local counter,然后提出 Tamper-Evident Counter Tree 对这些 CTR 做防护。大体上来说,将多个 CTR 组装成一个 “计数器块” 然后做 AREA 加密(用到了新的 Nonce,迭代压缩,最终获得树根)

在这里插入图片描述

其他技术

[AMS+22] 对于存储防护等级,划分了如下的四个级别,

  • Level 0, 访问控制
  • Level 1, 加密
  • Level 2, 加密,完整性
  • Level 3, 加密,完整性,防重放

各类商业产品采取了不同等级的防护,基本上就是:基于 TCB 的访问控制、上述三种技术的各类变体:Split Counter Tree (SCT), Bonsai Merkle Tree (MT), TCB-managed Page Tables (PTs), Tagged Memory, Logs Hashes, MACs in ECC bits 等等。

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐