ARM可用的可信固件项目简介

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

目录

一、TrustedFirmware-A (TF-A)

二、MCUboot

三、TrustedFirmware-M (TF-M)

四、TF-RMM

五、OP-TEE

六、Mbed TLS

七、Hafnium

八、Trusted Services

九、Open CI


        可信固件为Armv8-A、Armv9-A和Armv8-M提供了安全软件的参考实现。它为SoC开发人员和OEM提供了符合相关Arm规范的参考可信代码库。可信固件的代码是Arm规范的首选实现,允许快速轻松地移植到现代芯片和平台。这构成了应用程序处理器上的可信执行环境(TEE)或微控制器的安全处理环境(SPE)的基础。

        首先,ARM可用的可信固件项目如下图9宫格所示,下面对每一个项目进行简单介绍。

一、TrustedFirmware-A (TF-A)

        TrustedFirmware-A项目为Armv7-A和Armv8-A、Armv9-A类处理器提供了安全世界软件的参考实现。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。每两周举行一次会议/技术论坛,讨论技术问题。

文档:Trusted Firmware-A Documentation — Trusted Firmware-A 2.9.0 documentation

代码:trusted-firmware-a.git - Trusted Firmware for A profile Arm CPUs

二、MCUboot

        MCUboot是32位微控制器的安全引导加载程序。MCUboot为微控制器系统上的引导加载程序和系统闪存布局定义了一个通用的基础结构,并提供了一个安全的引导加载程序,使软件易于升级。MCUboot不依赖于任何特定的操作系统和硬件,而是依赖于它所使用的操作系统的硬件移植层。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。

文档:MCUboot | mcuboot

代码:GitHub - mcu-tools/mcuboot: Secure boot for 32-bit Microcontrollers!

三、TrustedFirmware-M (TF-M)

        TrustedFirmware-M(TF-M)为Armv8-M、Armv8.1-M架构(例如Cortex-M33、Cortex-M23、Cortex-M55、Cortex-M85处理器)或双核平台实现安全处理环境(SPE)。它是与PSA认证指南一致的平台安全架构参考实现,使芯片、实时操作系统和设备成为PSA认证。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。每两周举行一次会议/技术论坛,讨论技术问题。

文档:Trusted Firmware-M Documentation — Trusted Firmware-M v1.8.1 documentation

代码:trusted-firmware-m.git - Trusted Firmware for M profile Arm CPUs

四、TF-RMM

        TF-RMM是Realm Management Monitor领域管理监视器(RMM)规范的可信固件实现,是Arm机密计算体系结构(Arm CCA)的一部分。Arm CCA是一种提供受保护执行环境(称为Realms)的体系结构。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。

文档:Realm Management Monitor Documentation — Realm Management Monitor documentation

代码:tf-rmm.git - RMM Reference implementation

五、OP-TEE

        OP-TEE是一个Trusted Execution Environment可信执行环境(TEE),被设计为运行在Arm上的非安全Linux内核的伙伴;使用TrustZone技术的Cortex-A内核。OP-TEE实现TEE Internal Core API v1.1.x(是公开给可信应用程序的API),和TEE Client API v1.0(是描述如何与TEE通信的API)。这些API在GlobalPlatform API规范中定义。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。

文档:OP-TEE Documentation — OP-TEE documentation documentation

代码:GitHub - OP-TEE/optee_os: Trusted side of the TEE

六、Mbed TLS

        Mbed TLS项目实现了加密原语、X.509证书操作以及SSL/TLS和DTLS协议。该项目提供了https://developer.arm.com/documentation/ihi0086/b参考实现通过PSA加密api支持加密操作。该项目还支持https://github.com/Mbed-TLS/mbedtls/blob/development/docs/proposed/psa-driver-interface.md,它为加密处理器驱动程序定义了一个接口。小的代码占用使得该项目适合嵌入式系统。 它有许多用户,包括TF-A, TF-M和OP-TEE。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。

文档:Mbed TLS documentation hub — Mbed TLS documentation

代码:https://github.com/Mbed-TLS/mbedtls

七、Hafnium

        用于实现Armv8.4-A Secure-EL2扩展的系统的参考安全分区管理器(SPM)。它允许多个隔离的安全分区(sp)在Secure-EL1上运行。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。Hafnium和Secure-EL2也是TF-A技术论坛讨论的主题。

文档:Hafnium Documentation — Hafnium 2.9.0 documentation

代码:hafnium.git - Hafnium GIT Repository

八、Trusted Services

       Trusted Services可信服务项目提供了一个框架,用于跨一系列安全处理环境(如OP-TEE和Hafnium提供的环境)开发和部署设备信任根服务。

文档:Trusted Services Documentation — Trusted Services 1.0.0-beta documentation

代码:trusted-services.git - Trusted Services for A profile Arm CPUs

九、Open CI

        可信固件Open CI(持续集成,Continuous Integration)是一个基于云的CI基础设施,它利用包括Gerrit、Jenkins和https://lavasoftware.org/在内的多个组件来创建一个全面的端到端集成和测试基础设施。它目前由TF-M、TF-A和Hafnium使用,未来可能会有其他托管固件支持的项目。Open CI支持静态分析工具来提高代码质量。它也是批准合并请求的机制(通过维护者批准)以及创建源代码发布标记(release tags)的能力。最后,随着开放CI的后端连接到利用LAVA的物理开放CI硬件实验室,它验证了在https://tf.validation.linaro.org/scheduler/device_types上实际运行的源代码树中所做的代码更改Arm https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms软件模拟器也可以由TrustedFirmwa使用和利用。贡献指南可以在文档中找到。请订阅项目电子邮件列表以参与开发讨论。

文档:TrustedFirmware OpenCI User Guide

代码:Trusted Firmware Code Review

参考: Trusted Firmware - Open Source Secure Software

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/168965.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习代码实战(2) --- 多臂赌博机

目录 前言 1.Python基础 2.Numpy基础 3.多臂赌博机 参考文献 前言 本文内容来自于南京大学郭宪老师在博文视点学院录制的视频,课程仅9元地址,配套书籍为深入浅出强化学习 编程实战 郭宪地址。 1.Python基础 1. print() 可以用该语句查看当前数据的情…

基于食肉植物优化的BP神经网络(分类应用) - 附代码

基于食肉植物优化的BP神经网络(分类应用) - 附代码 文章目录 基于食肉植物优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.食肉植物优化BP神经网络3.1 BP神经网络参数设置3.2 食肉植物算法应用 4.测试结果…

MSP430F5529时钟系统配置

1、为什么要进行时钟管理?   时钟系统是一个数字器件的命脉,对于普通的51单片机来说,它的时钟来源只有外部晶振,然后每12个振荡周期完成一个基本操作,所以也叫做12T单片机,但对于当前高级一点的单片机来…

一文解读 SmartX 超融合虚拟化下的网络 I/O 虚拟化技术

随着技术的不断发展,不少行业应用都对网络性能和隔离性有着越来越高的要求。例如: 低延迟:一些期货行业用户选择在期货公司机房托管服务器并自行编写交易程序,以实现对市场波动的快速(微秒级)反应。尤其是在…

并查集讲解

并查集讲解 一、算法描述二、图示讲解三、代码示例四、例题练习 一、算法描述 并查集算法是一种用于处理不相交集合数据结构的算法。它经常被用来解决网络流问题、图的最小生成树问题等。在这篇博客中,我们将深入理解并查集算法,以及如何在实际编程中使…

设计模式思维导图

ProcessOn思维导图链接

睿趣科技:抖音小店申请流程

随着移动互联网的发展,越来越多的人开始尝试通过开设网店来创业。抖音作为国内最受欢迎的短视频平台之一,也推出了自己的电商功能——抖音小店。那么,如何申请抖音小店呢?下面就为大家详细介绍一下抖音小店的申请流程。 首先,打开…

基于springboot实现CSGO赛事管理系统【项目源码+论文说明】计算机毕业设计

基于SpringBoot实现CSGO赛事管理系统演示 摘要 CSGO赛事管理系统是针对CSGO赛事管理方面必不可少的一个部分。在CSGO赛事管理的整个过程中,CSGO赛事管理系统担负着最重要的角色。为满足如今日益复杂的管理需求,各类的管理系统也在不断改进。本课题所设计…

Redis的五种常用(基本)数据类型

目录 1、Redis简介 2、五种常用(基本)数据类型 2.1 String 数据结构 ⭐常用用法 举例(Linux版本) 2.2 List 数据结构 ⭐常用用法 举例(Linux版本) 2.3 Set 数据结构 ⭐常用用法 举例&#xf…

youyeetoo R1卡片电脑(rk3588s)

简介: youyeetoo R1 是风火轮科技专为AIOT市场设计的嵌入式主板(SBC),体积小但功能强大,搭载瑞芯微旗舰级RK3588s 八核64位处理器,8nm 制程,主频高达2.4GHz,集成ARM Mali-G610 MP4 GPU,内置6 To…

「必看」一分钟学会!Steam账号注册全攻略!

Steam账号注册详细教程,你值得拥有!💥 👋 Hello各位亲爱的小伙伴们!今天我要给大家带来的是一份超详细的Steam账号注册教程,让你轻松成为Steam世界的合法居民!🎉🎉 1️…

2023版 STM32实战11 SPI总线读写W25Q

SPI全称 英文全称:Serial peripheral Interface 串行外设接口 SPI特点 -1- 串行(逐bit传输) -2- 同步(共用时钟线) -3- 全双工(收发可同时进行) -4- 通信只能由主机发起(一主,多从机) 开发使用习惯和理解 -1- CS片选一般配置为软件控制 -2- 片选低电平有效,从…

开源博客项目Blog .NET Core源码学习(4:生成验证码)

开源博客项目Blog中的后台管理登录界面中支持输入验证码(如下图所示),本文学习并记录项目中验证码的生成及调用方式。   博客项目中调用VerifyCode类生成验证码,该类位于App.Framwork项目中,命名空间为App.Framwork…

基于Java的线上花店管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

Redis数据类型

Redis数据类型 文章目录 Redis数据类型0.基本命令(1)key操作命令(2)注意 1.字符串(String)(1)set key value(2)mset /mget(3)getrange/setrange(4…

I/O模型之非阻塞IO

简介 五种IO模型   阻塞IO   非阻塞IO   信号驱动IO   IO多路转接    异步IO 代码书写 非阻塞IO 再次理解IO 什么是IO?什么是高效的IO? 为了理解后面的一个问题,我们首先要再重新理解一下什么是IO 在之前的网络介绍中&#xff…

C算法:输入一个数n,输出1到n之间所有的质数

需求: 写一个函数,输入一个数n,输出1到n之间所有的质数。(注:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。) 输入样例: 10 …

又是一年1024程序员日

程序员节是每年的10月24日,这是一个特殊的节日,旨在庆祝和表彰程序员们对科技和社会的贡献。作为技术领域的从业者,程序员们在现代社会中扮演着重要的角色,他们致力于编写、测试和维护软件代码,为我们的生活带来了无数…

【原创】解决Kotlin无法使用@Slf4j注解的问题

前言 主要还是辟谣之前的网上的用法,当然也会给出最终的使用方法。这可是Kotlin,关Slf4j何事!? 辟谣内容:创建注解来解决这个问题 例如: Target(AnnotationTarget.CLASS) Retention(AnnotationRetentio…

【Excel】WPS单元格快速转换表格字母大小写

使用WPS Office打开表格,选择需要处理的单元格或单元格区域。 依次点击「会员专享」选项卡 —>「智能工具箱」。 再点击「格式」—>「大小写」,选择一种大小写转换方式即可。