gpt4 book ai didi

linux-kernel - Linux 内核可以作为 ARM TrustZone 安全操作系统运行吗?

转载 作者:行者123 更新时间:2023-12-02 03:55:21 27 4
gpt4 key购买 nike

我正在尝试在启用 TrustZone 的开发板(Samsung exynos 4412)上运行 Linux 内核作为安全操作系统。尽管有人会说安全操作系统应该小而简单。但我只是想尝试一下。如果可能的话,那么编写或移植一个 truSTLet 应用程序到这个安全操作系统将会很容易,特别是对于具有 UI(可信 UI)的应用程序。

我购买了带有可运行安全操作系统的开发板,基于Xv6普通操作系统是Android(android版本4.2.2,内核版本3.0.15)。我尝试用android Linux内核替换简单的安全操作系统,即前面加上一点汇编代码,例如清除SCR寄存器的NS位,直接调用Linux内核入口(传入必要的内核标记列表) .

内核未压缩代码被正确执行,并且内核的第一个C函数start_kernel()也被执行。除了运行到 calibrate_delay() 之外,几乎所有初始化函数都运行良好。此函数将等待 jiffies 更改:

/* wait for "start of" clock tick */
ticks = jiffies;
while (ticks == jiffies);

我猜原因是没有生成时钟中断(我在时钟中断回调函数中打印日志,它们从未进入)。我检查了 local_irq_enable() 函数之前和之后的 CPSR 状态。 IRQ 和 FIQ 位设置正确。我还在中断向量表中定义的 Linux 内核 IRQ 处理程序中打印一些日志。没有记录任何内容。

我知道安全世界和非安全世界之间的中断系统可能存在一些差异。但我在任何文档中都找不到差异。有人能指出吗?最重要的问题是,Linux是一个非常复杂的操作系统,Linux内核可以作为TrustZone安全操作系统运行吗?

我是 Linux 内核和 ARM TrustZone 的新手。请帮助我。

最佳答案

默认情况下,将 Linux 作为一个安全世界操作系统运行应该是标准的。即,安全世界监管者是最值得信赖的,并且可以轻松地转换到其他模式。 安全世界是ARM CPU的一个运行概念。

注意:仅仅因为 Linux 在安全环境中运行,并不意味着您的系统就安全! TrustZone 和安全世界是您可以用来构建安全系统的功能。

But I just want to try. And if it is possible, then write or port a trustlet application to this secure os will be easy, especially for applications with UI(trusted UI).

TrustZone 允许对软件进行分区。如果您在同一层中同时运行 Linux 和 truSTLet 应用程序,则没有任何用处。 truSTLet 只是一个普通的应用程序。

truSTLet 的正常模式是在启动时设置监视器向量页面并锁定物理访问。然后,Linux 内核可以使用 smc 指令调用 truSTLet 中的例程来访问 DRM 类型功能以解密媒体等。在这种模式下,Linux 像正常世界一样运行操作系统,但可以通过您定义的 SMC API 调用安全世界中的有限功能。

Almost all the initialization functions run well except running to calibrate_delay().

这是非正常中断的症状。 calibrate_delay() 运行一个紧密循环,同时等待通过系统计时器中断来增加tick 计数。如果您在安全环境中运行,则可能需要路由中断。寄存器GICD_ISPENDR可用于强制中断。您可以使用它来验证 ARM GIC 是否正常运行。另外,内核命令行选项lpj=XXXXX(其中XXXX是一些数字)可以跳过此步骤。

很可能一些外设中断路由器、时钟配置或其他中断/定时器初始化是由正常系统中的引导加载程序完成的,而您错过了这一点。启动新板总是很困难; TrustZone 更是如此。

关于linux-kernel - Linux 内核可以作为 ARM TrustZone 安全操作系统运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25618378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com