news 2026/2/3 9:37:06

从“能解密”到“能守住”:实战阶段 3 —— 设计真正服务业务的 EKB 安全体系

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从“能解密”到“能守住”:实战阶段 3 —— 设计真正服务业务的 EKB 安全体系

📺B站视频讲解(Bilibili):https://www.bilibili.com/video/BV1k1C9BYEAB/

📘《Yocto项目实战教程》京东购买链接:Yocto项目实战教程


从“能解密”到“能守住”:实战阶段 3 —— 设计真正服务业务的 EKB 安全体系

关键词:EKB、OP-TEE、PTA、CA、Key_tag、安全边界、业务安全、Jetson


一、为什么一定要有“实战阶段 3”?

在前两个阶段,我们已经完成了两件极其关键但仍然不够“落地”的事情

  • 阶段 1:确认 OP-TEE 确实在 Secure World 中运行(xtesttee-supplicant、随机数成功)。
  • 阶段 2:确认 EKS/EKB 能被 OP-TEE 正确读取、解密,并且 PTA 可以对外提供安全服务(nvhwkey-app -r成功)。

很多人会在这里停下,并误以为:

“既然 EKB 已经能解密,那安全问题就解决了。”

这是一个非常危险的误解

阶段 3 的存在,就是为了纠正这个误解。

阶段 3 要解决的核心问题只有一个:

如何设计 EKB 的“内容”和“使用方式”,让它真正服务于业务安全,而不是沦为一个“形式正确但安全无效”的组件?


二、先统一认知:EKB 不是“钥匙文件”,而是“安全能力清单”

在进入具体设计之前,必须先完成一次概念升级

1. 常见但错误的理解

很多初学者会天然地把 EKB 理解为:

“一个存着很多 key 的加密文件。”

于是设计思路会变成:

  • 我需要 AES key → 放进 EKB
  • 我需要 RSA key → 放进 EKB
  • 业务想用 → 从 EKB 里拿出来

这是完全错误的方向。

2. 正确的理解方式

在 Jetson 的安全架构中:

EKB ≠ Key Store
EKB = Secure World 的“能力配置输入”

换句话说:

  • EKB 的内容,本质上是PTA 在启动时读取的一份“安全策略 + 原始材料”
  • EKB 中的 key,不应该也不需要被 Linux 世界直接理解其语义
  • 真正的“安全语义”,发生在PTA 内部

这也是为什么在阶段 2 中,你会看到:

  • 随机数服务正常(不依赖 EKB 内容);
  • 加密失败,但错误是ITEM_NOT_FOUND(PTA 在做正确的事情)。

三、阶段 3 的真实目标:建立“不可越权的安全边界”

在阶段 3,我们不再关心:

  • EKB 能不能解密(已经确认);
  • PTA 能不能运行(已经确认)。

我们只关心三件事:

  1. 谁可以使用安全能力?
  2. 谁绝对不可能越权?
  3. 即便 Linux 被完全攻破,攻击者还能不能拿到核心资产?

这三件事,构成了阶段 3 的验收标准


四、威胁模型(Threat Model):你到底在防谁?

任何安全设计,如果没有明确的威胁模型,都是“自我感动”。

在 Jetson + OP-TEE + EKB 的体系中,一个现实且合理的威胁模型是:

  • 攻击者可以:

    • 获取 Linux root 权限;
    • 注入用户态恶意程序;
    • 读取文件系统;
    • 抓取进程内存;
  • 攻击者不能:

    • 破坏芯片物理安全;
    • 直接修改熔丝(Fuse);
    • 绕过 Secure World 的硬件隔离。

阶段 3 的设计目标就是:

在上述前提下,核心密钥、模型、身份、能力依然安全


五、EKB 内容设计的第一原则:Key_tag 才是“业务接口”

1. 什么是 Key_tag?

在 EKB 中,每一段内容都有一个Key_tag。但它的意义绝不仅仅是“区分不同 key”

正确的理解是:

Key_tag = 一类安全能力的唯一标识符

例如:

  • disk_enc_root
  • fw_decrypt_seed
  • model_protect_key
  • device_identity_seed

这些名字本身,就已经在描述:

  • 用途(干什么用)
  • 边界(谁能用)
  • 生命周期(是否可派生、是否可更新)

六、EKB 内容的“分层设计”方法

一个成熟的 EKB 设计,一定是分层的

1. 第一层:Root / Seed 类 Key

特点:

  • 永远不直接用于业务;
  • 永远不直接返回给 CA;
  • 只存在于 PTA 内部;

典型示例:

  • 设备身份 Seed
  • 业务派生 Root Key

2. 第二层:业务派生 Key

特点:

  • 由 PTA 使用 KDF 从 Seed 派生;
  • 可能与设备唯一信息绑定;
  • 可区分不同业务模块;

3. 第三层:能力接口(而不是 key 本身)

CA永远不应该

  • 拿到明文 key;
  • 看到 Root Key;

CA 只能:

  • 请求“用某个能力完成一次操作”;
  • 拿到结果,而不是秘密。

七、PTA 与 CA 的职责边界(阶段 3 的核心)

这是阶段 3 最重要的一条原则:

PTA = 安全决策者
CA = 业务请求者

1. PTA 应该做什么?

  • 解析 EKB 内容;
  • 管理 Key_tag 到内部 key 的映射;
  • 决定某个 CA 请求是否被允许;
  • 执行真正的加解密、派生、签名等操作。

2. CA 永远不应该做什么?

  • 自己保存 key;
  • 自己决定用哪个 key;
  • 绕过 PTA 的接口限制。

你在阶段 2 看到的:

TEEC_ERROR_ITEM_NOT_FOUND

正是一个“健康的 PTA 行为”。


八、典型业务场景拆解:EKB 如何真正“服务业务”

示例 1:固件解密

  • EKB 中:

    • fw_decrypt_seed
  • PTA:

    • 启动时派生临时解密 key
  • CA:

    • 只请求“解密固件块”

Linux 永远拿不到解密 key 本身。

示例 2:AI 模型保护

  • EKB 中:

    • model_protect_key
  • PTA:

    • 对模型文件进行解密或校验
  • CA:

    • 只能请求加载结果

攻击者即使 dump 文件系统,也只能得到加密模型。

示例 3:设备唯一身份

  • EKB 中:

    • device_identity_seed
  • PTA:

    • 结合 chip ID 派生唯一身份
  • CA:

    • 只能获取签名结果,而不是 identity 本身

九、阶段 3 的“流程级理解”(文字流程图)

Boot ↓ OP-TEE 启动 ↓ 解密 EKS / EKB ↓ PTA 初始化 Key_tag 表 ↓ Linux 启动 ↓ CA 发起安全请求 ↓ PTA 校验 Key_tag + 权限 ↓ PTA 执行安全操作 ↓ 返回“结果”,而不是“秘密”

这是你后续做任何安全业务时,必须始终保持不变的主线流程


十、阶段 3 的验收标准(你什么时候算“真的完成了”)

你可以用下面这份清单自检:

  • Linux 普通程序无法直接获取任何 key
  • 即便 root 权限,也只能调用受控 CA
  • PTA 内部才保存真正的安全语义
  • EKB 内容变化 ≠ Linux 行为变化
  • 安全能力通过“接口”而不是“数据”暴露

只要这些条件成立,你的 EKB 设计就是业务级安全设计,而不是“演示级安全”。


十一、总结:你已经不在“学 OP-TEE”,而是在“设计安全系统”

走到阶段 3,意味着一件非常重要的事情:

你关注的已经不是“技术能不能跑”,而是“系统能不能被信任”。

EKB 在这里不再是一个文件,OP-TEE 也不再是一个模块,
而是你整个安全架构中:

  • 信任根的延伸;
  • 业务安全的起点;
  • 攻击面被切断的地方。

这,才是阶段 3 的真正意义。


📺B站视频讲解(Bilibili):https://www.bilibili.com/video/BV1k1C9BYEAB/

📘《Yocto项目实战教程》京东购买链接:Yocto项目实战教程


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/2 23:37:14

贵宾一位里面请!把礼簿搬进你的NAS,记录、统计一步到位

「NAS、键盘、路由器年轻就要多折腾,我是爱折腾的熊猫—多面手博主!咱主打的就是一个 “技能不压身,干货不掺水”」引言带有Docker和虚拟机的NAS可以说是无所不能,但我看到这个项目的时候还是没绷住!单纯的记账已经满足…

作者头像 李华
网站建设 2026/2/2 19:11:30

科技守护舌尖新鲜,海信璀璨真空冰箱巡展登陆长春

12月12日,“海信璀璨真空冰箱城市巡展”在长春举行,包括海信璀璨真空头等舱650冰箱等一系列搭载真空保鲜技术的产品,与东北特有的食材及生活方式的深度融合,让现场“老铁们”真切感受到科技赋能下的“舌尖上的理想生活”。作为东北…

作者头像 李华
网站建设 2026/2/2 16:56:46

Pock免费快捷键大全:解锁MacBook Touch Bar的终极生产力指南

Pock免费快捷键大全:解锁MacBook Touch Bar的终极生产力指南 【免费下载链接】pock Widgets manager for MacBook Touch Bar 项目地址: https://gitcode.com/gh_mirrors/po/pock 想要让MacBook Touch Bar真正发挥其潜力吗?Pock作为一款完全免费的…

作者头像 李华
网站建设 2026/2/2 18:12:46

Oblivion Desktop跨平台通知系统:从技术挑战到优雅解决方案

在网络工具开发过程中,开发者面临着一个关键挑战:如何在复杂的网络环境下为用户提供及时、准确且不干扰的操作反馈。Oblivion Desktop作为一款基于Electron的跨平台桌面应用,通过创新的通知系统架构,成功解决了这一难题。 【免费下…

作者头像 李华
网站建设 2026/2/2 23:37:27

IO方面学习总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、异常1.异常分类2.异常流程3.异常的作用4.异常的处理方式JVM默认处理方案5.自己处理捕获异常6.抛出异常二、方法引用1.要求:2.方法引用的分类三、…

作者头像 李华
网站建设 2026/2/2 23:37:20

Kronos金融预测模型三版本深度评测:从3.2M到86M参数的性能跃迁

Kronos金融预测模型三版本深度评测:从3.2M到86M参数的性能跃迁 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos 在量化投资领域,模型…

作者头像 李华