【问题标题】:How is arm trusted OS is different from normal OS?arm 受信任的操作系统与普通操作系统有何不同?
【发布时间】:2018-04-30 03:49:15
【问题描述】:

我正在通过此链接 https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/firmware-design.rst 浏览 arm 受信任的固件架构,我很困惑。我有以下疑问:-

  1. 可信操作系统需要什么?
  2. 它与普通世界操作系统有何不同?
  3. 如果受信任的操作系统是安全的,那么为什么不只使用受信任的操作系统并删除正常的操作系统呢?
  4. 受信任的操作系统可以防止哪些威胁以及如何提供安全性?
  5. 什么时候需要在可信操作系统和正常世界之间切换?

【问题讨论】:

    标签: operating-system arm processor


    【解决方案1】:

    我建议您先阅读关于Wikipedia 的介绍性文章,然后阅读notice about OP-TEE,这是一种在Cortex-A 处理器上运行的实现,现在由Linaro 维护,然后是各种可用的文档here,以及最后看看 OP-TEE code 本身。

    现在,您的问题的简洁答案可能是:

    1) 可信操作系统需要什么?
    需要防止资源被与其同时运行的通用操作系统直接访问,例如由具有根权限的通用操作系统的用户直接访问。

    2) 它与普通世界的操作系统有何不同?
    它在设计上很小,并且比通用操作系统具有对硬件的更多特权访问权限。在 ARMv8-a 系统上,受信任操作系统的一部分将在 EL3 上运行,而管理程序将在 EL2 上运行,而 Linux 在 EL1 上运行。

    3) 如果受信任的操作系统是安全的,那么为什么不只使用受信任的操作系统并删除正常的操作系统?
    因为它的范围有限:它的目的不是要取代拥有数百万行工作/经过良好测试的代码的 Linux,而是要以较低的成本从 Linux 用户那里获得资源。

    4) 受信任的操作系统可以防止哪些威胁以及如何提供安全性?
    来自通用操作系统用户的尝试,无论是合法的还是非法的(例如黑客入侵了通用操作系统),以访问受信任操作系统保护的资源/服务。

    5) 何时切换需要在受信任的操作系统和正常世界之间进行操作吗?
    当在通用操作系统的上下文中运行的某些代码需要访问受信任的操作系统管理的资源时,它是必需的,例如,使用只能由受信任的操作系统访问的密钥对某些加密内容进行解密。这确实涉及(我认为)使用 SMC 指令。

    这种切换的另一种情况是需要处理硬件中断时:EL3、EL2和EL1有自己的中断向量表,发生在EL2或EL1的中断可以路由到EL3,这样可以安全地处理中断处理在可信执行环境的上下文中 - 感谢无艺术噪音提醒我这一点。

    【讨论】:

    • 对于答案“5”,受信任的操作系统可能需要服务中断,这将导致世界切换。可信操作系统是一种分层的安全机制。例如,文件系统根据用户权限限制访问,但共享相同的物理硬盘驱动器。 如果文件系统软件工作正常,您可以假设谁可以/不能读取、写入和修改文件。 Trustzone 允许以防止 DMA 攻击的方式对 CPU 和硬件资源进行分层。
    • @artless noise - 你完全正确,谢谢 - 我相应地增加了对 #5 的回答。
    猜你喜欢
    • 2011-01-02
    • 2020-09-12
    • 2014-09-08
    • 2014-05-27
    • 2013-08-29
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多