抵御硬件时序信息泄露:架构与策略解析
1. 软硬件安全困境与ISA的角色
在处理硬件安全问题时,纯软件和纯硬件的解决方案都存在一定的局限性。纯软件方案无需考虑硬件端的安全问题,但应用约束缺乏灵活性,会损害性能;而纯软件解决方案则要求应用对微架构有深入了解,以抵御硬件端的攻击,这又会影响其可移植性。
ISA(指令集架构)作为软硬件之间的接口,为软件创建了硬件的抽象。目前,为了安全目的对架构进行修改主要有两种策略:
- 功能方法 :打破ISA的抽象角色,让软件更好地管理微架构。但这类工作存在概念上的弱点,它们将时序问题视为微架构设计问题,而实际上问题在于ISA在安全概念上的语义有限。
- 抽象方法 :通过ISA接口引导硬件进行资源管理。例如MI6添加新的清除指令,DAWG为软件提供新的寄存器来参数化安全域,ConTExT为每个页表项添加专用位。
然而,这些解决方案只是针对特定的共享资源,没有从整体上解决问题。我们更倾向于软件与硬件之间的正式契约,让ISA允许软件将其安全属性传达给硬件。
2. 共享资源的安全设计准则
共享资源的设计需要考虑安全约束,以避免时序泄漏。下面为您详细介绍相关的定义、目标和设计准则。
2.1 定义与目标
- 共享资源 :可分配给不同用户的状态或元素。
- 时间共享资源 :多个用户可在不同时间请求的资源。
- 空间共享资源
超级会员免费看
订阅专栏 解锁全文
4059

被折叠的 条评论
为什么被折叠?



