没有合适的资源?快使用搜索试试~ 我知道了~
首页S32K1xx系列MCU应用指南之CSEc硬件加密模块使用手册_v2.2.pdf
资源详情
资源评论
资源推荐
S32K1xx 系列 MCU 应用指南之 CSEc 硬件加密模块使用手册
1
S32K1xx 系列 MCU 应用指南之 CSEc
硬件加密模块使用手册
By:China AMP GPIS AE
修改记录
版本
日期
修改人
修改内容
Rev_1.0
2019.06.25
Yunchuan.wang@nxp.com
初始版本,包含完整应用指南内容,内部审核。
Rev_2.0
2019.07.22
Yunchuan.wang@nxp.com
第二次内部审核版本。
Rev_2.1
2019.08.01
Yunchuan.wang@nxp.com
发布版本,修改了文中笔误和有歧义的地方。
Rev_2.2
2019.08.08
Yunchuan.wang@nxp.com
更新了安全引导相关内容。
S32K1xx 系列 MCU 应用指南之 CSEc 硬件加密模块使用手册
2
目录
1 前言 ......................................................................................................................................................................................................... 3
2 S32K1xx 系列 MCU 的 CSEc 硬件加密模块介绍 ...................................................................................................................................... 4
2.1 CSEc 硬件加密模块功能概述 ........................................................................................................................................................... 4
2.2 CSEc 模块与 FTFC 模块的关系 ....................................................................................................................................................... 4
2.3 CSEc 模块的密钥详解 ...................................................................................................................................................................... 6
2.4 CSEc 的 PRAM 接口介绍 ................................................................................................................................................................. 9
3 CSEc 模块应用开发详解 ........................................................................................................................................................................ 11
3.1 CSEc 模块应用开发步骤 ................................................................................................................................................................ 11
3.2 CSEc 模块的授权密钥使用 ............................................................................................................................................................. 12
3.3 CSEc 模块 M1~M5 的计算方法 ...................................................................................................................................................... 12
4 基于 SDK 的 CSEc 模块应用开发 .......................................................................................................................................................... 15
4.1 SDK API 介绍 ................................................................................................................................................................................ 15
4.2 D-Flash 分区 API ........................................................................................................................................................................... 15
4.3 CSEc 模块密钥管理 ....................................................................................................................................................................... 17
4.4 CSEc 模块基本功能使用 ................................................................................................................................................................ 18
4.5 安全引导程序 ................................................................................................................................................................................. 19
4.6 恢复出厂设置编程 .......................................................................................................................................................................... 23
5 示例工程介绍 ........................................................................................................................................................................................ 23
6 参考文档 ............................................................................................................................................................................................... 24
附录 1 CSEc 模块应用常见问题(FAQ) .................................................................................................................................................. 25
附录 2 计算 M1~M5 参考函数 ................................................................................................................................................................... 26
附录 3 计算恢复出厂设置授权码参考函数 ................................................................................................................................................. 29
附录 4 量产建议 ....................................................................................................................................................................................... 30
附录 5 SDK 3.0.0RTM 版本 API 说明 ........................................................................................................................................................ 31
S32K1xx 系列 MCU 应用指南之 CSEc 硬件加密模块使用手册
3
1 前言
S32K1xx 的 CSEc 模块是一个硬件加密模块,全称 Cryptographic Service Engine – Compressed,符合
HIS-SHE specification 1.1 rev 439 和 GM-SHE+ 安全规范标准,本文不对这些规范本身做任何介绍,若想了
解更多协议本身的内容,请参考相关协议规范。
S32K1xx 的 CSEc 硬件加密模块(以下统一简称 CSEc 模块)在汽车电子系统中运用非常广泛,下面为其
中的 5 中典型应用:
1) 里程数据保护:在存储里程数据前,通过使用 CSEc 模块加密,然后将加密后的数据存入到 EEPROM
或者 Flash 等存储设备中,当需要使用时,取出这段加密后的数据,再通过 CSEc 模块解密,这样能
够对里程等重要数据进行保护。
2) 汽车防盗: 通过 CSEc 模块的真随机数和加密解密功能,就可以实现一个简单的汽车防盗功能。当任
意设备尝试开启汽车时,均需要通过 CSEc 模块产生一个随机数,并通过仅双方已知的密钥进行加密
后发送给汽车,只有使用了正确的密钥时,汽车端才能解密出正确的数据,从而达到防盗的效果。
3) 电子组件验证和保护:CSEc 模块中固化了一个 15 个字节长度的唯一 UID(Unique ID),可以通过这
个 UID 实现汽车电子组件的保护和验证,防止其他未经验证的设备接入到汽车中,同时也能防止汽车
部件非法的流入到零部件市场中。
4) 固件更新保护:CSEc 模块通过对消息认证码(CMAC)计算从而支持安全的 Flash 编程。应用程序
通过计算接收到的固件数据的 CMAC 值并与离线计算的固件的 CMAC 值做比较,来验证需要更新
的每个程序块。只有在使用相同的密钥进行 CMAC 计算时,两者才会相同,此验证才会通过。详情
请参考应用笔记 AN4235-Using CSE to protect your application via a circle of trust。
5) 通信安全保护:当中央 ECU(Electronic Control Unit,电控单元)需要与任何其他 ECU 通信时,中央
ECU 将其 CSEc 模块生成的随机数发送给另一个 ECU。另一个 ECU 接收随机数,将其与数据一起
加密,并将加密的消息返回给中央 ECU。中央 ECU 对收到的数据进行解密并将接收到的随机数与之
前生成的随机数进行比较,以验证其正确性。随机数可以防止连续的攻击,通信加密能够防止通信被
窃听,因此,整个机制结合确保了数据的完整性和真实性。
在正式介绍 S32K1xx 系列的 CSEc 模块前,先对本文用到的术语进行统一的介绍,如下表,在正文中
第一次出现时,也会进行注解。
CSEc
Cryptographic Service Engine – Compressed
HIS
Hersteller Initiative Software
SHE
Secure Hardware Extension
AES
Advanced Encryption Standard
CMAC
Cipher based message authentication code
ECB
Electronic Code Book
CBC
Cipher Block Chaining
FTFC
Flash Memory Module of S32K1xx devices
CCOB/ FCCOB
Flash Common Command Object
PRAM
Parameter space Random Access Memory
SRAM
System Random Access Memory
PGMPART
Program Partition Command
S32K1xx 系列 MCU 应用指南之 CSEc 硬件加密模块使用手册
4
EEEPROM
Emulated-EEPROM
Emulated Electrically Erasable Programmable Read-Only Memory
RNG
Random Number Generator
PRNG
Pseudo Random Number Generator
TRNG
True Random Number Generator
SFE
Security Flag Extension
2 S32K1xx 系列 MCU 的 CSEc 硬件加密模块介绍
2.1 CSEc 硬件加密模块功能概述
S32K1xx 系列 MCU 的 CSEc 硬件加密模块具备以下的功能:
⚫ 符合 HIS-SHE specification 1.1 rev 439 和 GM-SHE+ 安全规范标准。
⚫ 具备多达 17 个的用户密钥存储。
⚫ 支持 AES(Advanced Encryption Standard)-128 算法加密和解密。
⚫ 支持 AES-128 CMAC (Cipher-based Message Authentication Code)生成和验证。
⚫ 支持 ECB (Electronic Cypher Book) 模式的加密和解密。
⚫ 支持真假随机数的生成。
⚫ 提供 Miyaguchi-Preneel 压缩算法 API。
⚫ 支持三种安全引导(Secure Boot)模式:
◼ 顺序安全引导模式(Sequential Boot Mode)。
◼ 严格的顺序安全引导模式(Strict Sequential Boot Mode)(设置后不能更改)。
◼ 并行安全引导模式(Parallel Boot Mode)。
注意:CSEc 模块并不对存储在 Flash 中的数据和代码进行保护,如需对 Flash 中的数据和代码进行加密
保护,请参考 Flash 安全(Flash security)相关文档。
2.2 CSEc 模块与 FTFC 模块的关系
CSEc 模块包含在 FTFC(Flash Memory Module)模块内,Flash 模块和 CSEc 模块均由 FTFC 模块控制
管理,CSEc 模块和 FTFC 模块关系如下图所示:
S32K1xx 系列 MCU 应用指南之 CSEc 硬件加密模块使用手册
5
上图中的各个模块功能如下:
⚫ FTFC Core:FTFC 模块的核心,包含硬件核心和 FTFC 的软件算法。
⚫ Host Interface:系统与 FTFC 模块的通信接口。
⚫ AES-128:AES-128 为一个硬件子模块,提供 AES-128 加密、解密算法和 CMAC 生成、验证算法。
⚫ RAM(FTFC Core):一块对用户不可见的 RAM 区域,用于提高 FTFC Core 的算法性能。
⚫ Flash Controller:提供访问 Flash 的接口,由于 CSEc 的密钥是存储在 E-Flash(模拟 EEPROM)
中,并且使用安全引导功能的时候,会对 Program Flash 中的数据进行 CMAC 验证,所以需要 Flash
控制器提供访问 Flash 的接口。
⚫ PRAM(Parameter space Random Access Memory) Controller:应用程序与 CSEc 模块的通信接口,
应用程序加载命令和数据至 FTFC 模块、FTFC 模块返回操作结果和数据至应用程序均通过 PRAM 接
口实现。
⚫ Program Flash:程序存储器,用于存储应用程序代码。
⚫ FlexNVM:可配置的 Flash 存储器,可被配置为正常的 Flash 存储器用于存储数据或应用代码,也可
被配置为模拟 EEPROM 存储器,作为 EEPROM 的数据保存区域。
⚫ FlexRAM:可灵活配置的 RAM,可被配置为正常的 RAM,在程序运行中和 SRAM(System Random
Access Memory)一样的被使用,也可被配置为模拟 EEPROM 存储器。由于 RAM 掉电数据即会被丢
失,所以当 FlexRAM 被配置为模拟 EEPROM 时,需要 FlexNVM 配置出一块区域作为模拟
EEPROM 的数据保存区域与 FlexRAM 共同配合才能完成模拟 EEPROM 的功能,当写入和读出数据
时,只需要按照操作 RAM 的方式,硬件会自动同步 FlexRAM 和 FlexNVM 中的模拟 EEPROM 数
据。
通过 Host Interface,可使用 FTFC 模块的分区操作命令 PRGPART(Program Partition Command),根据
用户需要分配模拟 EEPROM 的大小,包括模拟 EEPROM 在 FlexRAM 中和在 FlexNVM 中的大小。执行 FTFC
剩余31页未读,继续阅读
喵一声
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1