谈谈QNX安全之防篡改

汽车电子与软件 2023-03-20 22:20

   上一篇《谈谈QNX安全之软件编译安全》,我们谈到了软件编译时QNX的一些安全选项,那么软件刷进ECU后,如何保证刷写的软件没有被篡改呢?今天笔者就给大家简单介绍一下QNX的软件防篡改策略,主要包括Secure Boot、QTD、Power-Safe文件系统。

1. Secure Boot

安全启动想必大家肯定很熟悉,它是通过对启动过程的每个阶段进行加密验证,确保运行系统完整性的一种安全机制。如图1所示,QNX的安全启动可以保证由BootRomPBL/SBLIPLIFS,最后到可选的文件系统的完整性。在启动过程中,每一个后续的固件和软件都是由其前身进行加密验证的。

1 QNX安全启动流程

QNX可以支持两套安全启动方案,如图1右侧所示:

方案1:将MRKMaster Root Key)作为信任根,其公钥存储在OTPEEPROM中,由OTPEEPROM保证MRK不可篡改,由MRK的私钥完成对CVKCode Verification Key)公钥的签名,由CVK的私钥完成Bootloader等后续代码的签名。启动时,BootRom使用MRK的公钥验证CVK公钥,验证成功后,由CVK公钥验证下面代码的签名。这样做可以将代码签名密钥CVK和信任根MRK解绑。由于CVKMRK保证其真实性,CVK的公钥不需要存储在有任何保护的存储器中。这在不安全的制造环境中非常有用,因为即使CVK被泄露,我们也可以将其进行替换,而MRK则由芯片厂家保管。

方案2:不使用MRK,将CVK作为信任根,其公钥存储在OTPEEPROM中。有时候为了节省存储空间,也可以存储CVK的公钥哈希。由于没有MRKBootRom直接使用CVK完成代码的验签。此时代码签名密钥和信任根都跟CVK关联,一旦CVK的私钥被泄露,基本无解,优点在于ECU的设备制造商可完全掌握代码签名。

2. QTD

Secure Boot中最后一项是可选的完整性保护的文件系统,QTD便是其中一种。QTDQNX Trusted Disk),是QNX针对数据存储的安全机制,通过结合哈希树和PKI密钥签名,为二进制数据、关键系统配置等提供完整性和真实性保护。基于 Merkle ,如图2所示,在构建 QTD 映像时,元数据哈希树是从源文件系统映像的块一层一层构建的,直至RootHash

2 QTD哈希树

   与AVB中的DM-Verity类似,如图3所示。RootHash会进行签名保护,并纳入到安全启动链中。只要保证哈希树的RootHash未被篡改,便可以保证整个哈希树的完整性。这样可以带来一个好处,在安全启动的时候不用验证整个文件系统,只需要验证哈希树即可。当需要实际访问具体的某个存储块时,再通过对比哈希树中对应的哈希值即可发现存储块是否被更改。QTD驱动程序位于原始块设备和受支持的上层文件系统层之间(例如,fs-qnx6.so 支持的power-safe文件系统)。在读取访问时,使用哈希树Metadata来验证数据的完整性。如果验证失败,则会返回错误。使用QTD肯定会有一定的性能开销,好在QTD可以通过预先缓存内部哈希计算来减少实际访问时哈希运算的数量。

3 安全启动中的文件系统保护

需要注意的是,不同QNX版本支持的摘要算法和签名算法不同,当前QNX710支持的密码学算法如表1所示。

1 QTD密码学算法

架构

摘要算法

签名算法

128 bits

256 bits

32-bit

sha256

blake2s256

blake3

sha512

blake2b512

RSA-SHA256

ECDSA-SHA256

EDDSA-25519

ECDSA-448

64-bit

sha512256

blake2b256

blake3

sha512

blake2b512

    QTD 使用由QNX加密库qcrypto提供的加密算法,详细可参考 “QNX Cryptography Library当前支持 ECC  RSA 签名,其中私钥必须是 PKCS#8 格式,公钥必须是 X.509 格式所有密钥都必须使用 PEM 编码。对于 RSA,最多支持 16 KiB (kibibits) 的密钥长度。

      QTD的挂载由  fs-qtd.so 提供支持,devb-*驱动程序会在挂载QTD设备时加载它。以下命令构建 QTD 映像。-P 选项精确指定 2 MB 的镜像:

mkqfs qtd -s -vv -B 4096 -H sha256 -S ecdsa-sha256 -K ec_test_private_key.pem -P 2097152 -o qtd.img qnx6.img

以下命令通过全盘验证挂载 QTD 镜像:

mount -t qtd -o key=/proc/boot/ec_test_public_key.pem,stats,verbose,verify /dev/hd1 /dev/qtd-1

3. Power-Safe文件系统

Power-Safe文件系统是一个可靠的磁盘文件系统,可以承受电源故障而不丢失或损坏数据。它支持file-based加密,密钥类型如表2所示,可以对 Power-Safe 文件系统的全部或部分进行加密,以保护其内容。其中文件和文件夹被聚合到加密域中。每个域都有一个唯一的加密密钥,称之为域密钥,用于加密唯一的文件密钥。访问文件需要一些外部参与者使用主密钥解锁域密钥,向文件系统驱动程序提供域密钥,允许它解密文件密钥并授予对加密文件内容的访问权限。 

2 Power-Safe文件系统密钥种类

密钥类型

描述

文件密钥

私有,在文件创建时随机产生的(如果文件被分配到一个域)。保存关于文件的一些信息,以确保文件和其密钥之间的完整性。用于加密文件数据,并由域密钥加密。密钥由文件系统管理,对用户是隐藏的。

域密钥

私有,在创建域的时候随机产生。用于加密属于其域的所有文件密钥,并由域的主密钥进行加密。密钥由文件系统管理,对用户是隐藏的。

主密钥

可以选择公开,因为它是由第三方提供和管理的(不是文件系统)。用于加密域的密钥,在域的创建和随后的解锁请求中需要。

具体使用的加密算法如表3所示。

3 Power-Safe文件系统加密类型

域加密类型

常量

描述

密钥长度

0

FS_CRYPTO_TYPE_NONE

不加密

-

1

FS_CRYPTO_TYPE_XTS

ASE256-XTS,两个密钥是随机生成的

512bit

2

FS_CRYPTO_TYPE_CBC

AES256-CBC

256bit

3-99

-

预留

-

Power-Safe文件系统一个域可以包含任意数量的文件或目录,但一个文件或目录最多只能属于一个域。如果给一个目录指定了一个域,那么随后在该目录中创建的所有文件都会被加密并继承该域,但已经在其中的任何文件或目录不会加密。允许你创建多个加密域,你可以根据需要锁定或解锁这些域。在操作过程中,分配给一个域的文件被加密,只有当相关的域被解锁时,文件的内容才能被使用。当一个域被解锁时,该域下的所有文件和目录--无论它们在卷中的位置如何--也被解锁,因此可以被访问(根据基本文件权限)。当一个域被锁定时,对属于该域的文件内容的任何访问都被拒绝。锁定和解锁操作适用于整个域,而不是特定的文件或目录。

那么如何生成一个Power-Safe文件系统呢?以下命令生成一个小于 2MB Power-Safe 文件系统镜像 (QNX)

mkxfs -t qnx6fsimg qnx6.build qnx6.img

可以使用以下命令挂载 Power-Safe 文件系统镜像:

mount -t qnx6 /dev/qtd-1 /fs

需要注意的是Power-Safe 文件系统可能包含在 QTD 分区中,因此有时候需要先挂载 QTD 分区

小结

安全启动和QTD可以保证从BootRom到文件系统时软件的完整性,基于Power-Safe的文件加密可以保证存储在该文件系统中文件的机密性这些都是QNX提供的安全特性,实际应用中可以基于芯片的安全能力,结合QNX的安全属性,搭建更加完善的防御体系。



添加下方微信加入汽车专业交流群
(仅限专业人士)

汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 新技术的快速发展,其实与企业的管理机制、企业文化,甚至团队氛围、职场理念等方面非常相关!最近看到某平台有人吐槽00后实习生难带,进而又说到正常的工作安排被实习生莫名拉黑了。我就在人家的笔记评论区里写了我的观点(劝架风格),当然不出意料的就被更多的陌生人给围攻了!说起应届生的事情,可能是我一直长得年轻、又是个很较真很技术的人,我在多家企业里总被不同性格的老板拉去管“校企打杂”(所谓的领先企业应尽的社会责任,是连HR们都看不上的义务工作,给大学讲行业的意义和专业的意义)。我早就习惯了一种常见现象,像
    牛言喵语 2025-02-20 02:23 154浏览
  • 在嵌入式系统开发领域,存储器作为信息交互的核心载体,其技术特性直接影响着系统性能与稳定性。然而,有些人在面对Linux、安卓等复杂操作系统环境时,理解其存储机制尚存局限,为突破这些技术瓶颈,飞凌嵌入式希望通过对存储相关知识的分享,助力大家构建完整的存储知识体系框架。首先,嵌入式场景中常用来存储数据的介质分为两类:Managed NAND,以eMMC(embedded Multi-Media Card)TF卡、SD卡为主内部带有存储管理控制器。Raw NAND,以NAND为主的未带有存储管理功能,
    飞凌嵌入式 2025-02-21 16:23 61浏览
  • 备受推崇的高功率舱内监测IR:6红外LED,你心动了吗?!高效大功率红外发射二极管(IRED),辐射通量提升15%业界领先的脉冲降额能力,确保每个模块实现更高光功率输出热阻降低,显著改善散热性能自主生产,有效抵御供应链干扰OSLON® Black红外LED已成为基于摄像头的近红外(NIR)舱内监测应用的行业标准光源,如驾驶员监控、内部环境监控和手势感应等。其备受推崇的原因在于其可靠的性能、单个封装中提供多样化的照明范围(FoI)选择,以及出色的高脉冲电流处理能力。该LED已通过AEC-Q102认
    艾迈斯欧司朗 2025-02-20 20:35 80浏览
  • 近日,恩智浦半导体(NXP Semiconductor)推出了FRDM i.MX 93开发板,这是FRDM系列中第一款基于MPU推出的开发板,以低成本、紧凑的设计为核心,搭载了NXP i.MX 93系列应用处理器,旨在为用户提供一个高效、可靠的解决方案,用于开发现代工业控制和边缘智能应用程序。FRDM i.MX 93开发板的核心亮点之一是其板载的IW612模块,该模块采用了NXP的Tri-Radio解决方案,集成了Wi-Fi 6、蓝牙5.4和802.15.4三重无线通信技术。这一解决方案不仅提升
    飞凌嵌入式 2025-02-21 09:23 132浏览
  • 01全新IR:6红外LEDOSLON® P1616、OSLON® Black系列艾迈斯欧司朗新近推出的全新IR:6红外LED系列,相较于现有产品显示亮度可提升高达35%,工作效率最高可提升42%。OSLON® P1616与OSLON® Black系列是首批采用IR:6技术的产品,为客户提供直接替换方案,显著提升终端产品(安防摄像头、生物识别认证系统及热处理医疗设备)的亮度与效率。02点亮精彩瞬间OSCONIQ® C 3030新一代高性能LED OSCONIQ® C 3030,专为严苛的户外及体育
    艾迈斯欧司朗 2025-02-20 20:20 63浏览
  • 百佳泰特为您整理2025年2月各大Logo的最新规格信息。USB™▶添加了ASMedia的USB4合格设备(ASM2464 PD),用于测试支持 USB4 PCIe 隧道技术的产品。▶新增搭载苹果M4 Max芯片的16英寸新款 Macbook Pro,列入USB4互操作性认证合格产品。▶新增搭载苹果M4 Max芯片的16英寸新款Macbook Pro,列入USB Type-C®/功率传输互操作性认证合格产品。Bluetooth®▶ 蓝牙起草指南已更新并发布至v9版本。这是一次维护性发布,重点在于
    百佳泰测试实验室 2025-02-20 17:15 49浏览
  • 这是一个3.3V 的供电开关,给WIFI模块供电。目的是能控制WIFI模块通电或断电。VCC_3V3 是电源,当WLENN为低时,Q1打开输出VCCW 给WIFI模块供电。实际使用时,当控制WLENN为低给模块供电时,MCU异常程序跑飞。不安装模块时不会跑飞。测试MCU的 3.3V供电,发现在WLENN为低时,3.3V会拉低到2V左右时间5uS。判断认为是瞬间电压过低引起程序跑飞。而WIFI模块通电瞬间电流较大,引起3.3V供电不稳。试着将电路更改一下。将连接到输出端VCCW的电容移动到输入端V
    southcreek 2025-02-20 13:35 209浏览
  • 1. 系统架构解析本系统基于米尔MYC-YM90X构建,基于安路飞龙DR1M90处理器,搭载安路DR1 FPGA SOC 创新型异构计算平台,充分发挥其双核Cortex-A35处理器与可编程逻辑(PL)单元的协同优势。通过AXI4-Stream总线构建的高速数据通道(峰值带宽可达12.8GB/s),实现ARM与FPGA间的纳秒级(ns)延迟交互,较传统方案提升了3倍的传输效率,极大地提升了系统整体性能。国产化技术亮点:全自主AXI互连架构,支持多主多从拓扑,确保系统灵活性与可扩展性硬核处理器与P
    米尔电子嵌入式 2025-02-21 14:00 65浏览
  • 智能门锁确实为生活带来了许多便利,只需轻触手机或是透过语音助理便可轻松解锁,省去了携带钥匙的麻烦。然而,智能门锁支持不同无线技术及各种生态圈应用,一旦其中一环节出现问题,便可能突然失灵,让人措手不及。想象一下:当您提着大包小包回到家门口,对着智能门锁喊出了通关密语,却发现它毫无反应,即便透过手机APP也是无法开锁。又或者,当地震突然来袭,智能门锁无法启动,叫天天不应、叫地地不灵。这些看似戏剧化的情境,却是使用者真实的案例回馈。难题 : 厂内没问题,消费者反馈却都是问题?智能门锁是结合了传统门锁与
    百佳泰测试实验室 2025-02-20 16:43 73浏览
  • 如何更有效地融合竞争、可持续与协作策略,从而彻底革新晶圆制造厂与半导体生产方式,进而提升效率与性能?这正是与electronica 2024同期举办的晶圆厂管理论坛所探讨的核心议题。该论坛堪称欧洲电子制造业领域最具影响力的盛会。艾迈斯欧司朗 “移动与照明” 业务线高级副总裁Wolfgang Lex与众多来自欧洲半导体及电子产业界的代表及论坛委员会成员齐聚一堂,共同分享行业洞见。在“汽车光子技术之旅”主题演讲中,Lex深入探讨了光智能(简称OI)在弥补人工智能与机器和、人之类间“最后一公里”距离中
    艾迈斯欧司朗 2025-02-19 19:23 119浏览
  • WHQL概要WHQL(Windows Hardware Quality Labs)认证是微软公司推出的一种硬件驱动程序的质量认证制度。获得认证的产品除了可登录于微软兼容性与可靠性列表上外,亦能随时透过连接Windows Update以更新驱动程序。不知道问题出在哪?客户实际案例分享我们曾合作的这家厂商一开始选择自己测试,但当发生问题时完全不知道该如何进行修改与调整,甚至不确定是否为测试手法错误,在毫无头绪的情况下,立即协寻我们替他们分析问题并协助解决。面临的挑战到底是什么?让各种阻碍迟迟无法解决
    百佳泰测试实验室 2025-02-20 16:48 58浏览
  • 在职场中,高效的管理方法不仅能提升个人工作效率,还能推动团队目标的实现。然而,面对众多管理工具和方法,如何选择最适合自己的方式,往往让人感到困惑。今天我们来问问Deepseek R1作出深度思考,看看它给我们什么看法。问问Deepseek:管理方法中,哪一种最值得职场人士学习?虽然管理方法有很多,但不是每一个都适合所有职场人士,而且也有些管理方法需要一定的学习曲线,相比之下,Deepseek最后推荐了OKR作为职场人士最应学习的管理方法。1. 为什么选择 OKR?清晰聚焦目标:OKR(Objec
    优思学院 2025-02-21 18:33 76浏览
  • 引言:为什么THA6能成为“国产芯”的破局者?当全球汽车行业因芯片短缺陷入“卡脖子”困境时,紫光同芯的THA6系列车规MCU横空出世,不仅填补了国产高端MCU的空白,更凭借“功耗控制”与“热管理”两大杀手锏,直接对标国际大厂英飞凌TC387。北京贞光科技作为授权代理商,提供硬件、软件SDK及技术支持,并可现场协助芯片选型和定制服务,助力客户项目高效落地。从动力域控制到智能驾驶系统,THA6的足迹遍布新能源汽车核心场景。数据显示,其主频高达400MHz,算力超4000 DMIPS,却能在-40℃至
    贞光科技 2025-02-19 17:17 179浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦