之前我们把SHE密钥更新流程做了梳理,汽车信息安全 -- SHE 密钥更新流程

但在实际做SHE Emulation的时候还是发现了问题,例如如果想更新SHE Key ID等于30,会如何影响M1-M5的值呢?。

今天就聊聊关于几家对于SHE Key的管理。

1. NXP S32K1 CSEc

 S32K1xx 的 CSEc 模块是一个硬件加密模块,符合 HIS-SHE specification 1.1 rev 439 和 GM-SHE+ 安全规范标准。

在密钥数量方面,HIS-SHE标准中支持最多15把Key,如下图:

但根据文档描述,CSEc 模块一共可存储 24 个密钥,用户密钥最高可配置17把(难道是GM-SHE+的需求?),如下表所示:

为了适配HIS-SHE的规范,K1引入了KBS的概念来管理和索引密钥,

如上所示,每个密钥有一个密钥ID,密钥 ID 由KBS+KEY IDs两部分组成,CSEc 模块都是通过KBS来选择具体密钥所在块,通过KEY ID来决定使用哪一个密钥,这样就可以对所有的 17 个用户密钥进行索引。

例如密钥 1~密钥 10 在在块 0区域,密钥 11~密钥 17 在块 1(Bank1)区域,那么密钥1的密钥ID为0x04(KBS:0x0, KeyID:0x4),密钥10的密钥ID为0x0D(KBS:0,Key ID:0xD),密钥 11 的 Key ID 则为 0x14(0x1,0x4),密钥17则为0x1A。

这样就既满足SHE key的要求,又满足了超过15把SHE Key的需求(但有一点,它的RAM Key序号变为了0xF,而非SHE Spec里的0xE)。

满足SHE Key的要求在于,如果要更新用户密钥,大家就可以按照规范去离线计算m1-m5,如下图:

我们在拼接M1的时候,规范要求始终是SHE ID,长度只有4bits,这意味着如果按Spec实现,就只能更新最多ID 1-15 的密钥。那如果超过了15把密钥,这不就完犊子了。

因此,CSEc在实现时就加入了多个用户密钥块的管理思路,如下所示:

通过往KBS写入0、1来选择使用哪个块的密钥,通过Key Id来索引对应块中的实际ID。

 我们再回过头来仔细看,

Key01 - Key17都是由块号+KEY ID构成,而KEY ID永远满足SHE的KEY ID(Spec叫Key Address,0x4-0xD)的要求,如下图所示。

需要注意的是,如果要使用0x0-0x3的ID,KBS必须填0。

2. ETAS  SHE Emulation

ETAS CycurHSM是一个固件,由于不依赖特定平台,所以它们应该是使用软件模拟SHE的方式。

该软件包不仅支持SHE,还支持SHE+ ,最高支持40把额外Key,总计50把SHE Key,对应KEY1-KEY50。

有趣的是,它们也采用了类似K1的做法,将上述50把key分为了5个Bank,通过指定API来选择索引哪一个Bank的哪一个Key,如下所示:

但不管是使用哪个bank,0x0-0x3的ID永远是固定用途且只有一份,因此Bank也只能选0。 

3.Vector veHSM

veHSM相较于上述两家,方案稍显灵活,但毫无疑问,它们也使用软件模拟SHE的方式。

在SHE Key方面,它们利用Page的方式进行管理(类似上述的Bank),每一个Page支持10把用户定义的key和1把RAM key,最多可达255个page(所以理论上只要Flash空间够,SHE Key大大的有),当然特定ID 0-3仍然使用的是Page0里存放的Key,这会在配置时自动索引。

由于veHSM的实现和AUTOSAR Crypto的API相关,因此就出现了Key ID到SHE ID的映射转换,

这样也就不用上面两家再单独调API或者操作寄存器来切换SHE Key的BANK。

Host只需要传入Key ID,在SHE处理的时候会自动转换到目标page和key id(she address)。

 

妙啊。

 

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

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

相关文章

Spring Boot配置优先级完全指南:实战解析覆盖规则

一、结论Spring Boot 中,位置越靠后优先级越高,外部配置压倒内部配置,命令行参数拥有最高优先权。案例: 在一次生产事故中,某团队通过 application-prod.properties 将服务端口设为 9000,但某运维人员在启动…

嵌入式数据库sqlite测试程序

继上篇对嵌入式数据库sqlite的移植和注意项,以及使用命令行测试之后,本篇对其进行了更进一步的程序测试,以备近期在项目中使用。测试程序及说明如下:/**************** 相关函数说明 ******************/ /* (1)sqlite3_open的函…

【学习篇】SQL复杂查询学习

要求:能对千万行级别的大表优化读写效率。 难点:如何创建千万行级别的大表 MySQL数据库的高效查询不仅依赖于合理的表结构和索引设计,还需要掌握高级查询技巧和性能优化方法。 数据表与数据表之间关系三种:实体之间关系 多对多…

Sequential Predictive Modeling of Clinical Trial Outcome with Meta-Learning解读

SPOT(Sequential Predictive Modeling of Clinical Trial Outcome with Meta-Learning)模型是用于临床试验结果预测的模型, 借鉴了模型无关元学习(MAML,Model-Agnostic Meta-Learning)的框架,将模型参数分为全局共享参数和任务特定参数,以平衡跨任务泛化与任务内适配:…

优先选择列表而非数组及泛型类型的使用

数组与泛型的核心差异 协变性与不变性 数组采用协变(covariant)类型规则:若Sub是Super的子类型,则数组类型Sub[]也是Super[]的子类型。这种设计允许以下代码通过编译: Object[] objectArray = new Long[1]; // 编译通过 objectArray[0

自动化Prompt生成平台的研发体系设计

一份轻松不啰嗦的自动化Prompt平台研发攻略 📑 目录 一、项目背景二、平台整体架构设计三、核心功能模块解析四、自动化流程设计五、样式与跨平台规范六、总结与展望 一、项目背景 在大模型应用爆发的今天,不写Prompt的工程师,正在变成“写…

[Swarm] 上下文变量 | 接入function功能调用 | Mcp

第3章:上下文变量 欢迎回到swarm! 在前两章中,我们学习了作为对话指挥者的Swarm框架和具备指令与技能的专用AI角色智能体。(智能体就相当于是给用户问题 已经写好了的提示词,在用户提问时自动加入,以此来给用户更好的…

【Unity开发】Unity实现第一人称视角与第三人称视角切换功能

一、效果展示 第三人称视角:固定摄像机,无任何操作 第一人称视角:用户可以通过wsad进行前后左右移动,qe进行上升下降操作 不同视角之间切换会有一个过渡动画,切换第一视角的初始位置始终为原点(0,0,0&am…

2025全球数字经济大会—云智算安全论坛暨第三届“SecGo论坛”成功召开!共筑安全新生态

2025年7月3日,由全球数字经济大会组委会主办,中国信息通信研究院、中国通信标准化协会承办的全球数字经济大会—云智算安全论坛暨第三届“SecGo论坛”在京召开。北京市经济和信息化局副局长顾瑾栩、中国通信标准化协会副理事长兼秘书长代晓慧、中国信通院…

KingbaseES聚焦产品上线:金仓数据库在线体验平台上线,开启数据库实践新征程

KingbaseES聚焦产品上线:金仓数据库在线体验平台上线,开启数据库实践新征程KingbaseES 在线体验平台是为数据库使用者、开发者、架构师及 DBA 打造的轻量化实践平台,无需本地安装数据库环境,通过浏览器即可快速上手,降…

LLMs之DeepSeek:AI模型市场深度分析:DeepSeek的挑战与机遇,模型市场份额、Token经济学与未来发展

LLMs之DeepSeek:AI模型市场深度分析:DeepSeek的挑战与机遇,模型市场份额、Token经济学与未来发展 导读:该文章主要分析了中国大语言模型DeepSeek R1发布150天后的市场表现、Token经济学的影响以及AI模型市场的竞争格局。文章指出&…

服装零售企业跨区域运营难题破解方案

在服装零售行业,本地化业务系统因承载库存、销售等核心数据,成为众多企业的选择。然而对于门店分布广、规模较大的服装销售商而言,总部系统与各地门店的远程连接却面临挑战:员工远程办公效率低、POS机数据同步滞后、跨区域监管难度…

- 思考小记

对于 分布式系统,我还是抱有敬畏之心的,因为其内容过于庞大;我在学习基础编程的时候走过一个最大的弯路就是过度追求技术而忽视了基础编码能力,当时在学习springboot的时候,觉得那些新内容都是那么新奇高大上&#xff…

装备制造数字孪生底座平台

在《中国制造2025》和《“十四五”智能制造发展规划》的推动下,数字孪生技术被7次重点提及,成为装备制造业智能化升级的核心战略。从航空航天到重型机械,从设计验证到运维优化,数字孪生底座平台正通过“虚实映射”与“实时交互”&…

Redis构建缓存服务器

环境信息: redis-master----192.168.12.135 redis-slave-1-----192.168.12.136 redis-slave-2-----192.168.12.137 单机版Redis 安装Redis yum install -y gcc make jemalloc jemalloc-devel gcc-c wget tcl yum groupinstall -y "Development Tools" wge…

vscode python debugger关闭编辑器内的变量值自动显示

vscode 的python debugger调试器的最新版本2025.8.0, 会默认把变量的值显示出来, 如下图所示关闭的方法: 打开vscode的settings.json, 左下角点击齿轮按钮, 选择setting(设置), 然后在右上角三个按钮最中间的那个(open setting json), 输入 "debug.inlineValues": &q…

App爬虫工具篇-appium配置

接着上篇文章App爬虫工具篇-Appium安装,安装好了之后,还是不够的,要让其能够驱动手机端,还需要配置。这节课就深入说说如何配置Appium。 安卓手机 如果我们要使用 Android 设备做 App 抓取的话,还需要下载和配置 Android SDK,这里推荐直接安装 Android Studio,其下载地…

SpringAI系列 - 基于Spring AI 1.0.0 的AI助手实现示例

目录 一、基于 Spring AI 1.0.0 的AI助手实现示例二、AI助手架构设计2.1 系统范围与上下文 C12.2 容器图 C22.3 AI助手组件图 C3三、注意事项四、快速启动五、如何启用MCP一、基于 Spring AI 1.0.0 的AI助手实现示例 结合前文系列的介绍,本专栏提供了一个基于Spring AI 1.0.0…

电池预测 | 第33讲 Matlab基于CNN-LSTM-Attention的锂电池剩余寿命预测,附锂电池最新文章汇集

电池预测 | 第33讲 Matlab基于CNN-LSTM-Attention的锂电池剩余寿命预测,附锂电池最新文章汇集 目录电池预测 | 第33讲 Matlab基于CNN-LSTM-Attention的锂电池剩余寿命预测,附锂电池最新文章汇集预测效果基本描述程序设计参考资料源码地址: 电…

软考(软件设计师)数据库原理-SQL

一、SQL基本数据类型 SQL 数据类型速查表类别数据类型说明范围/示例适用场景整数类型INT / INTEGER标准整数类型-2 到 2-1 (-2,147,483,648 到 2,147,483,647)ID、年龄、数量等SMALLINT小范围整数-32,768 到 32,767小范围数值BIGINT大范围整数-2⁶ 到 2⁶-1大额订单号、时间戳T…