深度解析 丨Trustonic Kinibi-600a商业发行

本文详细介绍了Trustonic的Kinibi-600a,这是一个针对ARMv9芯片的可信执行环境(TEE)2023版。新特性包括FF-A支持、加密灵活性、性能提升、开发者体验增强以及对新架构的适应。此外,它支持Android 12、Linux 6.1等最新生态软件,提供安全的RTC驱动程序和改进的RPMB驱动,以加速集成。
摘要由CSDN通过智能技术生成

安全之安全(security²)博客目录导读


目录

一、介绍

二、增强的开发者经验

三、加密灵活性和安全性

四、加速集成

五、新架构

六、总结


        本文深入探讨了Kinibi-600a,即Trustonic的可信执行环境(TEE)的2023版本。就像我们所有的版本一样,Kinibi-600a为我们的芯片OEM和一级合作伙伴带来了新功能和增强的威胁防御。Kinibi-600的主要特点是在ARMv9芯片上支持FF-A。其他功能包括ARMv9 MTE、Cert-C Level 1合规性、QEMU SDK的Ed25519f TA签名以及直通(Pass-through)虚拟化支持。我们还提高了操作系统的健壮性、性能和可调试性。

图片

一、介绍

        通过Kinibi-600,我们满足了移动和汽车行业对健壮的安全性不断发展的需求。

        在移动设备市场,我们遵循Android的要求来支持FF-A和MTE-请参阅我们关于此事的专门博客文章。Trustonic与最新版本的Android(12)、Linux(6.1)、TF-A(2.8)、Clang(12.0.1)、GCC(10.3)和QEMU(7.1)保持一致。CERT-C Level 1现在在所有组件上强制执行。在使用F2FS时,我们的安全文件系统的健壮性得到了增强。此外,调用TEEC_InvokeCommand API的性能也得到了增强。

二、增强的开发者经验

        Kinibi-600现在可以使用基于QEMU的模拟器。使用我们的模拟器,您可以启动一个内置Kinibi-600和Yocto Linux的虚拟机,使用QEMU中的共享文件夹安装可信应用程序和客户端应用程序(TA和CA)。然后,您可以从Linux串行控制台运行客户端应用程序(CA),创建与TEE和TA的连接。这样可以加速每个人的TA开发。我们的专家甚至将GDB附加到QEMU内部运行的TA上。

        请注意,ARMv9内存标记扩展、指针身份验证代码和分支目标识别功能在QEMU上被激活,并帮助TA开发人员在开发过程中发现错误。

        Kinibi-600默认情况下包括用于可信应用程序的内存档案器。当TA完成时,内存档案器会显示TA是否有遗漏TEE_Free的内存泄漏。TA还可以要求打印堆使用情况,这样TA开发人员就可以查看TA中进行了多少次分配,以及哪个函数分配了每个缓冲区。

        Kinibi-600还支持可扩展堆栈。TA总是从4KB的堆栈开始,当TA需要更多内存时,堆栈会进一步扩展。

三、加密灵活性和安全性

        在Kinibi-600中,除了RSA之外,原始设备制造商还可以使用Ed25519椭圆曲线验签可信应用程序。这种现代算法由于其简单性、增强的性能和安全性而成为行业标准。Trustonic也在评估后量子密码学在TEE领域的应用。

        Kinibi-600包括改进的警告机制。签名机制现在对不安全的默认密钥发出警告。此外,编译TA时会显示更多编译器警告,但不会导致构建失败。

        删除了一些不太安全的选项,同时加强了TEE对无效命令的响应。

四、加速集成

        Kinibi-600支持最新版本的生态系统软件。我们现在也正式支持Grub、llboot、Xen和Ubuntu 22.04。

        为了支持数字版权管理对安全时间的要求,我们的Kinibi集成套件现在配备了参考实时时钟(RTC)驱动程序和相关的安全时间编程API。

图片

        我们还改进了我们的RPMB驱动程序,包含RPMB硬件的安全协议。

        最后,为了支持未来的TEE用例,我们现在为UFS硬件提供了一个示例Flash驱动程序。这样,TEE可以在开机时直接使用闪存,或者在主操作系统不再工作的情况下使用闪存

五、新架构

        随着处理器的不断发展,TEE的位置也发生不断的变化。传统上,Kinibi是在Trustzone内运行的可信操作系统。随着ARMv9和Trustzone内部管理程序层的发展,TEE可以在安全的虚拟机(在FF-a框架中称为安全分区)中运行。

        随着正常世界中的虚拟化,我们首先看到在汽车行业采用了两个支持TEE的虚拟机。自从Kinibi-401以来,我们通过类Xen管理程序的半虚拟化来支持这一点。

图片

                自发布Kinibi-600以来,我们一直持续进化。目前Trustonic支持直接虚拟化,这意味着来自每个虚拟机的调用都直接到达TEE。这可以改进先前需要通过主机虚拟机路由TEE请求的访客虚拟机的速度。根据系统管理程序的不同,系统管理程序中可能需要一些小补丁来进行SMC过滤、内存管理和中断生成。我们将在未来几个月内将此功能与我们的汽车客户集成。

图片

        在安卓生态系统中,我们看到了虚拟化的趋势,或者说,单片操作系统的微型内核化。主操作系统非常复杂,在其中运行安全和隐私敏感的用例似乎是不可能的。Trustzone是这个问题的传统答案,即将您的用例放在TEE中的可信应用程序中。

        然而,RAM、CPU功率和ARM处理器的充分发展,使得在安卓手机正常世界中使用几个虚拟机成为可能。这样,每个用例都有自己的VM。几年后,我们预计这些虚拟机也将使用ARMv9机密计算。与此同时,我们也在探索在这样一个虚拟机中运行TEE的方法。

        随着RISC-V对Android的支持,我们也在研究Kinibi在RISC-V架构上的使用。

六、总结

        Kinibi-600支持TEE领域所需的最新技术功能,并开启了通往新TEE架构的道路。

        实际上,Kinibi-600已经使用新的FF-A架构与我们的Silicon合作伙伴进行了集成。今年夏天已经开始生产,我们预计Kinibi-600的第一款手机将在秋季发布。

        同样,我们希望汽车制造商采用Kinibi-600,因为它比Kinibi-520和Kinibi-510有了改进,而且Kinibi-600的寿命很长!

参考:

深度解析 丨Trustonic Kinibi-600a商业发行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值