CN114793159A - 一种应用于汽车ecu控制器的随机加密方法 - Google Patents
一种应用于汽车ecu控制器的随机加密方法 Download PDFInfo
- Publication number
- CN114793159A CN114793159A CN202210499404.4A CN202210499404A CN114793159A CN 114793159 A CN114793159 A CN 114793159A CN 202210499404 A CN202210499404 A CN 202210499404A CN 114793159 A CN114793159 A CN 114793159A
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- updated
- access
- hand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种应用于汽车ECU控制器的随机加密方法,所述方法包括如下步骤:1:读取密钥存储空间的随机密钥,运行验证后门访问秘钥命令,对MCU进行解密;2:解密成功后随机产生加密密钥,该加密密钥值一方面存储到指定的密钥存储空间,另一方面更新到P‑Flash配置域中存储的后门访问秘钥;3:加密密钥更新成功后通过设置寄存器修改存储密钥空间的访问权限,保证用户代码不会访问P‑Flash扇区中受保护区域中的内容;4:解密失败后产生固定的加密密钥值,该加密密钥值一方面更新到密钥存储空间,另一方面更新到P‑Flash配置域中存储的后门访问秘钥。本发明不仅减少了硬件的成本,也增加了加密的破解难度。
Description
技术领域
本发明属于基础软件领域,涉及一种加密方法,具体涉及一种应用于汽车ECU控制器的随机加密方法。
背景技术
为了保护客户的MCU软件知识产权(IP),在Freescale的汽车级MCU中引入了加密(Secure)机制,其目的在于防止黑客或者盗版者从BDM调试接口访问片上存储器,读取软件代码。
针对MCU软件加密的方法有很多。芯片UID加密是一种用户主动加密的方式,当下几乎所有处理器内部都包含UID,可以通过直接寻址读取或者IAP指令获得。用户读取UID后通过私有密钥将UID加密之后的信息写入Flash特定地址,例如Flash的最后一个扇区。程序启动时,首先读取芯片UID并通过同样的密钥和算法进行计算后与Flash中的数值进行比较决定是否启动。CN111062007A公开的MCU程序加密方法就是这样一种加密方式,该方法需要上位机读取UID值后生成密钥再写回到flash中,过程复杂且依赖于芯片UID值。使用外部加密芯片实现MCU芯片的加密也是经常采用的一种方法,外部芯片实现了MCU代码的加密和解密功能。但是该加密方法依赖于外部芯片,增加了硬件的成本。另外加密密钥的更新需要用户主动通过工具来实现,无疑增加了升级更新的成本和繁琐程度。
发明内容
针对上述现有技术中的缺陷,本发明提供了一种应用于汽车ECU控制器的随机加密方法。本发明以Freescale的汽车级S12(X)系列MCU作为一个应用示例,在MCU上的软件随机加密,该加密方法不需要依赖于硬件加密芯片,也不需要开发BootLoader连接上位机产生加密密钥,加密的过程在程序初始化阶段完成,加密密钥随机产生并存储在指定的密钥存储空间,不需要用户主动更新,一方面减少了密钥更新的工作量,另一方面也提高了密钥的破解难度。
本发明的目的是通过以下技术方案实现的:
一种应用于汽车ECU控制器的随机加密方法,包括如下步骤:
步骤1:在初始化阶段,首先读取密钥存储空间的随机密钥,然后运行验证后门访问秘钥命令,对MCU进行解密,具体步骤如下:通过后门访问秘钥命令验证用户输入的后门访问秘钥是否与P-Flash配置域中存储的后门访问秘钥相同,若一致,则MCU被解密,执行步骤2;若不一致,则MCU解密失败,执行步骤4,步骤4是随机密钥复位的步骤,以防密钥验证失败导致的硬件无法再启动;
步骤2:解密成功后随机产生加密密钥,该加密密钥值一方面存储到指定的密钥存储空间,另一方面更新到P-Flash配置域中存储的后门访问秘钥,为下一次解密更新加密密钥数据;
步骤3:加密密钥更新成功后通过设置寄存器修改存储密钥空间的访问权限,保证用户代码不会访问P-Flash扇区中受保护区域中的内容,该步骤的目的是防止解密后运行用户代码过程中对存储密钥空间的误操作;
步骤4:解密失败后产生固定的加密密钥值,该加密密钥值一方面更新到密钥存储空间,另一方面更新到P-Flash配置域中存储的后门访问秘钥。
相比于现有技术,本发明具有如下优点:
1)本发明的软件加密过程不需要连接上位机,加密密钥在程序初始化阶段随机生成并通过指令更新到密钥存储空间,减少了对外部环境(上位机、加密芯片)的依赖,基于上位机的加密方式依赖于软件的BootLoader,本发明的软件不需要另外开发芯片的BootLoader程序。
2)本发明的加密密钥是软件随机产生,不需要读取芯片的UID值,更不需要通过外部加密芯片实现加密,不仅减少了硬件的成本,也增加了加密的破解难度。
3)本发明的加密密钥的更新不需要用户主动通过工具来实现,密钥的生成在每一次板子上电运行的初始化阶段随机产生并存储,程序自动更新密钥,省去了用户主动更新密钥的工作量,同时也增加了代码的安全性。
附图说明
图1为随机加密流程图;
图2为S12(X)系列MCU中Flash扇区写命令流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
本发明提供了一种应用于汽车ECU控制器的随机加密方法,具体实施过程采用了飞思卡尔S12(X)系列MCU作为应用对象,所述方法包括如下步骤:
步骤1:首先调用初始化函数pFlashInit对整个FLASH初始化,初始化过程完成了FLASH时钟的初始化以及状态寄存器的初始化。然后读取密钥存储空间的随机密钥(8字节),然后运行验证后门访问秘钥(Verify Backdoor Access Key)命令,对S12(X)系列MCU进行解密;验证后门访问秘钥命令验证用户输入的8字节后门访问秘钥是否与P-Flash配置域中存储的后门访问秘钥(0×FF00~0×FF07)相同,若一致,则MCU被解密,FSEC寄存器的SEC[1:0]将被置为10‘b(解密状态)。
步骤2:解密完成后调用***函数rand随机产生加密密钥,如果密钥为0×00或者0×FF则重新生成密钥。新的密钥需要更新到存储密钥空间和后门比较寄存器。更新的过程是对FLASH进行再编码的过程,在编码之前首先需要擦除编码地址对应的扇区,扇区的大小为512字节,所以需要在擦除之前先读取扇区的数据放在缓存中,然后再擦除扇区,并把新的数据写到扇区内。
步骤3:为了防止用户代码密钥存储空间数据的访问,加密密钥更新成功后需要针对密钥存储空间进行访问控制。针对S12(X)系列MCU,FPROT寄存器定义了保护哪些P-Flash扇区不受编程和擦除操作的影响,通过配置FPROT寄存器实现对密钥存储空间的访问控制。对存储空间设置了保护后,试图更改P-Flash扇区中任何受保护区域中的数据将导致保护冲突错误,并且FPVIOL位将在FSTAT寄存器中设置。如果同一个P-Flash块中包含的任何P-Flash扇区受到保护,则P-Flash块的块擦除也是禁止的。针对S12(X)系列MCU的P-Flash扇区的写命令流程如图2所示。
总之,整个随机加密的过程包含了解密的过程和重新生成密钥的过程,用户不需要参与密钥的更新,软件自动完成。本方法产生密钥的随机性不仅提高了密钥的安全度,更摆脱了密钥对外部环境的依赖,节省了产品量产的工作量。
Claims (2)
1.一种应用于汽车ECU控制器的随机加密方法,其特征在于所述方法包括如下步骤:
步骤1:在初始化阶段,首先读取密钥存储空间的随机密钥,然后运行验证后门访问秘钥命令,对MCU进行解密;
步骤2:解密成功后随机产生加密密钥,该加密密钥值一方面存储到指定的密钥存储空间,另一方面更新到P-Flash配置域中存储的后门访问秘钥,为下一次解密更新加密密钥数据;
步骤3:加密密钥更新成功后通过设置寄存器修改存储密钥空间的访问权限,保证用户代码不会访问P-Flash扇区中受保护区域中的内容;
步骤4:解密失败后产生固定的加密密钥值,该加密密钥值一方面更新到密钥存储空间,另一方面更新到P-Flash配置域中存储的后门访问秘钥。
2.根据权利要求1所述的应用于汽车ECU控制器的随机加密方法,其特征在于所述对MCU进行解密的具体步骤如下:通过后门访问秘钥命令验证用户输入的后门访问秘钥是否与P-Flash配置域中存储的后门访问秘钥相同,若一致,则MCU被解密,执行步骤2;若不一致,则MCU解密失败,执行步骤4,步骤4是随机密钥复位的步骤,以防密钥验证失败导致的硬件无法再启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210499404.4A CN114793159A (zh) | 2022-05-09 | 2022-05-09 | 一种应用于汽车ecu控制器的随机加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210499404.4A CN114793159A (zh) | 2022-05-09 | 2022-05-09 | 一种应用于汽车ecu控制器的随机加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114793159A true CN114793159A (zh) | 2022-07-26 |
Family
ID=82462579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210499404.4A Pending CN114793159A (zh) | 2022-05-09 | 2022-05-09 | 一种应用于汽车ecu控制器的随机加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114793159A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126753A (zh) * | 2022-12-28 | 2023-05-16 | 江苏都万电子科技有限公司 | 一种防护存储器及存储方法 |
CN116595594A (zh) * | 2023-05-19 | 2023-08-15 | 无锡摩芯半导体有限公司 | 一种基于ucb的flash的安全控制方法 |
CN116702233A (zh) * | 2023-05-31 | 2023-09-05 | 无锡摩芯半导体有限公司 | 一种基于ucb的flash空间的安全访问控制方法 |
-
2022
- 2022-05-09 CN CN202210499404.4A patent/CN114793159A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126753A (zh) * | 2022-12-28 | 2023-05-16 | 江苏都万电子科技有限公司 | 一种防护存储器及存储方法 |
CN116126753B (zh) * | 2022-12-28 | 2024-02-02 | 江苏都万电子科技有限公司 | 一种防护存储器及存储方法 |
CN116595594A (zh) * | 2023-05-19 | 2023-08-15 | 无锡摩芯半导体有限公司 | 一种基于ucb的flash的安全控制方法 |
CN116702233A (zh) * | 2023-05-31 | 2023-09-05 | 无锡摩芯半导体有限公司 | 一种基于ucb的flash空间的安全访问控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114793159A (zh) | 一种应用于汽车ecu控制器的随机加密方法 | |
US10049207B2 (en) | Methods of operating storage systems including encrypting a key salt | |
US5884026A (en) | Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer | |
JP4464689B2 (ja) | データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復 | |
US8464073B2 (en) | Method and system for secure data storage | |
US8719595B2 (en) | Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method | |
US11507284B2 (en) | Storage device and control method | |
EP1785902B1 (en) | Decryption key table access control on ASIC or ASSP | |
US20100058073A1 (en) | Storage system, controller, and data protection method thereof | |
Meijer et al. | Self-encrypting deception: weaknesses in the encryption of solid state drives | |
JP2011210037A (ja) | 半導体装置及びデータ処理方法 | |
US20030061494A1 (en) | Method and system for protecting data on a pc platform using bulk non-volatile storage | |
TWI423064B (zh) | A method and apparatus for coupling a computer memory and a motherboard | |
TW200401192A (en) | Security memory device and method for making same | |
US20130091394A1 (en) | Data processing apparatus and validity verification method | |
US20130124845A1 (en) | Embedded device and control method thereof | |
US20180341774A1 (en) | Techniques for coordinating device boot security | |
JP5938997B2 (ja) | 情報記憶装置、情報記憶装置制御プログラム、情報記憶装置制御方法 | |
US20050193195A1 (en) | Method and system for protecting data of storage unit | |
Meijer et al. | Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs) | |
CN113642050B (zh) | 自配置加密硬盘及其配置方法、***及***的启动方法 | |
JP4429215B2 (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
JP2020149236A (ja) | 電子機器及び電子機器の制御方法 | |
CN113536331B (zh) | 存储器和计算***的数据安全 | |
JP5761880B2 (ja) | 自動車 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |