TEE 存储防护技术
各类商业产品采取了不同等级的防护,基本上就是:基于 TCB 的访问控制、上述三种技术的各类变体:Split Counter Tree (SCT), Bonsai Merkle Tree (MT), TCB-managed Page Tables (PTs), Tagged Memory, Logs Hashes, MACs in ECC bits 等等。大体上来说,将多个 CTR 组装成一个 “计
参考文献:
- [HJ02] W. E. Hall and C. S. Jutla. Parallelizable authentication trees. In Cryptology ePrint Archive, December 2002.
- [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.
- [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.
- [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.
威胁模型
安全假设:
- SoC 可以抵御所有物理攻击,敌手无法探测和腐坏
- OS kernel 是可信的,敌手无法利用它访问 SoC 资源
敌手能力:
- 可以完全控制 Processor-Memory Bus
- 可以观测 PM Bus 和 Memory,执行任意的数据篡改
攻击类型:
- Spoofing attacks(欺骗),敌手可以将内存块修改为任意值
- Splicing or relocation attacks(拼接),敌手可以任意交换两个不同的内存块
- Replay attacks(重放),敌手可以将一个内存块替换为其旧版本
现有技术
Merkle Tree
计算每一个内存块的 Hash 值,然后再对 Hash 值做 Merkle Tree 压缩,最后将 Root 存储到 SoC 防护。
为了降低计算开销,[RCPS07] 提出了 Bonsai Merkle Trees,
- 为每个内存块赋予一个 Logical Page IDentifier (LPID),确保其在生命周期内是唯一的,被实例化为 small per-block counters
- 每个内存块计算 H M A C K ( d a t a , c t r ) HMAC_K(data, ctr) HMACK(data,ctr),防篡改、防重放
- 对于所有 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+1∥vi∥v2i+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 等等。
更多推荐
所有评论(0)