Intel SGX傻瓜系列--设计目标(翻译)

Intel SGX设计目标--翻译

作者:Matthew H. (Intel)
发布时间:2013-12-26
更新时间:2015-11-30
原文地址:原文地址
翻  译:过境龙
翻译时间:2019-03-15
  Intel SGX(Software Guard Extensions)编程参考手册发布了,我和同事花费了大量时间和精力定义Intel SGX,对于这份文档的发布,我很难找到合适的词汇来描述此时兴奋的心情。
  
  表面上Intel SGX 只是一系列新的CPU指令,应用能够使用这些指令设置私有的代码和数据区域,但对指令背后的设计思想更进一步研究就会发现,这些指令的作用类似于通过检查DNA链来描述一个动物。在这篇简短的帖子中,我会尝试从稍微高一点的层面对Intel SGX的设计目标进行总结,并针对头两个目标提供更多细节。在后续帖子中,我会对余下的目标进一步说明,并回顾一下使用Intel SGX来保护不同软件应用的经历。
  
  Intel SGX的设计动机可以总结为以下8个目标:

  1. 允许应用开发者保护敏感数据,防止在未经授权的情况下,运行在高特权级的恶意软件对其进行访问或修改。
  2. 允许应用对其敏感代码和数据进行完整性和机密性保护,同时不影响合法系统软件对平台资源的调度管理。
  3. 使计算设备的消费者能够保持对其平台的控制,并可以自由地安装和卸载他们选择的应用程序和服务。
  4. 允许平台对应用的可信代码进行度量,并基于处理器产生一个签名证明,该证明除了证明代码可信,还能够证明代码在一个可信的环境中被正确初始化。
  5. 允许使用熟悉的工具和流程开发受信任的应用程序
  6. 允许可信应用的性能随底层处理器的能力而扩展
  7. 使软件供应商能够使用自己选择的分发渠道,以其节奏交付受信任的应用程序和更新。
  8. 使应用程序能够定义代码和数据的安全区域,即使攻击者对平台有物理控制,并且可以对内存进行直接攻击,这些区域依然能保持机密性。

以下是前两个目标背后的更多考虑:
目标1:允许应用开发者保护敏感数据,防止在未经授权的情况下,运行在高特权级的恶意软件对其进行访问或修改,目标1的几个方面值得强调:

  1. 对敏感数据的保护包括机密性(防止数据泄露)和完整性(防止数据篡改)两个方面;
  2. 敏感代码和敏感数据都需要保护(例如,攻击者攻击者可以通过修改或跳过授权检查轻松获得对数据的未授权访问);
  3. 数据不仅在加密存储时必须保护,在未加密、且被用于计算的运行时刻也必须保护;
  4. 尽管来自恶意软件的攻击能够破坏合法的系统软件以获得增强的权限级别,但保持运行时保护至关重要。

目标2:允许应用对其敏感代码和数据进行完整性和机密性保护,同时不影响合法系统软件对平台资源的调度管理。
虽然必须保护敏感数据免受高权限级别运行的恶意软件的攻击,但必须允许合法的系统软件完成其工作,要求受保护的应用程序接管或显著破坏基本操作系统功能(作业调度、设备管理等)是不可接受的,操作系统经过几代的发展已经能够很好地执行这些角色,而且,如果要求提供一个重复的、并行的环境也是不切实际的。

我将很快跟进剩余目标的更多细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值