CN106777749A - 一种基于嵌入式Nor‑Flash的芯片UID设计方法 - Google Patents
一种基于嵌入式Nor‑Flash的芯片UID设计方法 Download PDFInfo
- Publication number
- CN106777749A CN106777749A CN201611246087.6A CN201611246087A CN106777749A CN 106777749 A CN106777749 A CN 106777749A CN 201611246087 A CN201611246087 A CN 201611246087A CN 106777749 A CN106777749 A CN 106777749A
- Authority
- CN
- China
- Prior art keywords
- chip
- uid
- flash
- embedded
- methods
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于嵌入式Nor‑Flash的芯片UID设计方法,包括如下步骤:步骤一、给芯片设置唯一编码的芯片身份标识UID;步骤二、将芯片UID存储在嵌入式Nor‑Flash密码保护区中;步骤三、设备上电后,装载程序运行之前,软件***检测当前芯片UID,将其作为软件加密的输入参数,对比软件加密结果与目标结果,若两者结果一致,则运行核心程序,否则终止当前运行程序。本发明由于芯片UID的唯一性以及加密算法的个性化,核心代码的保密性高,破解难度大,且需要的额外硬件开销少,保证安全性的同时具有较低的成本。
Description
技术领域
本发明属于嵌入式芯片领域,具体是一种基于嵌入式Nor-Flash的芯片UID设计方法。
技术背景
在嵌入式产品层出不穷的同时,市场上很多厂家购买电子产品成品,通过电路反向和软件反汇编等方式间接获得其他公司的设计成果,损害了公司的利益,也对市场发展造成了恶劣的影响。而Nor-Flash作为重要的片上指令代码和数据存储单元,其安全型尤为重要。因此越来越多的设计加入了加密方法,防止用户未经授权访问内部的数据和程序,以提高芯片的安全性。常用的芯片加密手段有:软件加密,硬件加密和加密芯片加密。软件加密实现方式灵活,但其安全性相对较低。通过加密芯片加密安全性高,但是需要更多的硬件资源,成本更高。硬件加密消耗一定的硬件资源,设计灵活,安全性较高,介于软件加密和芯片加密之间。根据不同的应用需求,可以针对性的运用不同的加密手段。
中国专利(申请号:201510832016.3,专利名称:一种嵌入式软件加密方法)提出了一种软件加密的方法,以芯片ID本身作为加密输入参数值进行加解密。该软件加密方式实现简单,后续的维护升级方便,但其安全性较低。反汇编软件执行流程获得芯片ID号和加密方法后,便能破解芯片的核心代码进行复制拷贝。另外,处于对设计和后续维护的考虑,同一产家生产的不同版本批次芯片尽管ID不同,但都是基于同一个硬件软件平台,用同一种加密方式加密。现有的加密方式被破解后,对同一产品的安全性挑战会更大。
中国专利(申请号:201120037710.3,专利名称:嵌入式加密芯片)基于32位智能卡芯片硬件平台,使用LKT4200加密芯片加密软件程序。加密芯片具有高安全性,但整体面积和功耗增加,成本也随之增加。
芯片应用不同,其设计对安全性和设计成本要求也不同。如何通过有效加密手段针对不同应用进行芯片加密,提高设计的安全性,也越来越受到设计者的重视。
技术内容
针对芯片安全性存在的上述技术问题,本发明基于硬件设计和软件架构提出了一种基于嵌入式Nor-Flash的芯片UID设计方法。该方法通过芯片ID确保代码正确运行,在不增加额外的硬件开销基础上,可以避免核心代码被窃取。由于芯片ID的唯一性和用户定义加密方式的多样性,其加密后安全性高。
本发明采用的技术方案如下:
一种基于嵌入式Nor-Flash的芯片UID设计方法,包括如下步骤:
步骤一、给芯片设置唯一编码的芯片身份标识UID;
步骤二、将芯片UID存储在嵌入式Nor-Flash密码保护区中;
步骤三、设备上电后,装载程序运行之前,软件***检测当前芯片UID,将其作为软件加密的输入参数,对比软件加密结果与目标结果,若两者结果一致,则运行核心程序,否则终止当前运行程序。
进一步的,加密***与芯片UID进行绑定,以芯片UID作为参数输入进行加密。
进一步的,所述UID由编程写入并锁定,锁定Flash保护区后,***对该区域实现擦写保护,保护区数据只能读取,无法更改。
进一步的,在芯片UID编程时,在特定区域写入芯片UID后,在保护区关键地址1和关键地址2写入数据KEY1和KEY2,保护区被锁定。
进一步的,若用户对保护区发起一次有效的擦写操作,Nor-Flash控制器先读取关键地址的数据VALUE1和VALUE2,若所取数据和KEY1和KEY2完全相等,则当前对保护区的擦写操作无效,即认为当前的保护区已被锁定。
进一步的,针对Nor-Flash读请求,Flash保护区和数据区响应一致。
本发明由于芯片UID的唯一性以及加密算法的个性化,核心代码的保密性高,破解难度大,且需要的额外硬件开销少,保证安全性的同时具有较低的成本。
附图说明
图1为本发明保护区读写数据示意图;
图2为本发明嵌入式***程序运行流程。
具体实施方案
下面结合附图说明和具体实施案例对本发明做进一步的阐述。
本发明的基于嵌入式Nor-Flash的芯片UID设计方法,包括如下步骤:
给芯片设置一个唯一编码的芯片身份标识UID(Unique Identification)。在嵌入式应用中,加密***与其芯片UID进行绑定,以芯片UID作为参数输入进行加密,加密结果是否正确决定程序是否能够正常运行。
芯片UID存储在嵌入式Nor-Flash密码保护区中。UID可由厂家编程写入并锁定,锁定Flash保护区后,***对该区域实现擦写保护,保护区数据只能读取,无法更改。因此,一旦UID写入并锁定后,芯片UID便唯一确定。
设备上电后,装载程序运行之前,软件***需要检测当前芯片UID。具体做法是,读取芯片UID,将其作为软件加密的输入参数,对比软件加密结果与目标结果,若两者结果一致,则运行核心程序,否则终止当前运行程序。软件加密算法可以由用户自行定义,实现方式灵活多样。
如图1所示,本发明实例一说明Nor-Flash保护区数据访问操作流程。数据区和保护区对Flash的访问操作有不同的响应。
针对Nor-Flash擦写请求,Flash保护区和数据区响应不同。数据区无论何时均能正常响应擦写请求,对目标区域实现擦写操作。第一次对保护区进行芯片UID编程时,在特定区域写入芯片UID后,需要在保护区关键地址1和关键地址2写入数据KEY1和KEY2。在关键地址写入数据KEY1和KEY2后,保护区被锁定。锁定后的保护区不能实现擦写操作。进一步,若用户对保护区发起一次有效的擦写操作,Nor-Flash控制器先读取关键地址的数据VALUE1和VALUE2,若所取数据和KEY1和KEY2完全相等,则当前对保护区的擦写操作无效,即认为当前的保护区已被锁定。
针对Nor-Flash读请求,Flash保护区和数据区响应一致,能放回目标区域数据,保证用户能随时读取芯片UID数据。
实例一具有如下增益效果:Nor-Flash增加保护区以编写并保护芯片UID,该实现方式无需增加额外的加密芯片,降低成本;芯片UID支持厂家编程锁定,无法随意更改的同时确保设备的芯片ID号的唯一性;Nor-Flash划分保护区实现芯片UID编写和保护,该方式实现简单,不同开发版本相互兼容且后续升级维护十分容易。
如图2所示,本发明实例二说明芯片启动时装载程序的运行流程。设备上电后,在保护区写入芯片UID并将其锁定后,芯片UID便唯一确定。芯片UID编写实现方式非常灵活,可以由厂家出厂时决定,也可以由用户在应用时确定。
软件装载程序运行时,先读取保护区的芯片UID,将其作为加密的输入参数进行数据加密。其软件加密方式可以由用户按照自身要求开发,实现方式个性化强,在此以AES加密为例说明。软件产生一个随机数密钥,对获取的芯片UID进行加密,将加密结果与目标结果比较。若加密结果和目标结果一致,则运行核心代码程序,否则终止当前程序的运行。由于芯片UID的唯一性以及用户定义加密方式的多样性,破解难度大,很好的保护了芯片的核心程序代码。
Claims (6)
1.一种基于嵌入式Nor-Flash的芯片UID设计方法,包括如下步骤:
步骤一、给芯片设置唯一编码的芯片身份标识UID;
步骤二、将芯片UID存储在嵌入式Nor-Flash密码保护区中;
步骤三、设备上电后,装载程序运行之前,软件***检测当前芯片UID,将其作为软件加密的输入参数,对比软件加密结果与目标结果,若两者结果一致,则运行核心程序,否则终止当前运行程序。
2.如权利要求1所述的基于嵌入式Nor-Flash的芯片UID设计方法,其特征在于:
加密***与芯片UID进行绑定,以芯片UID作为参数输入进行加密。
3.如权利要求1所述的基于嵌入式Nor-Flash的芯片UID设计方法,其特征在于:所述UID由编程写入并锁定,锁定Flash保护区后,***对该区域实现擦写保护,保护区数据只能读取,无法更改。
4.如权利要求3所述的基于嵌入式Nor-Flash的芯片UID设计方法,其特征在于:在芯片UID编程时,在特定区域写入芯片UID后,在保护区关键地址1和关键地址2写入数据KEY1和KEY2,保护区被锁定。
5.如权利要求4所述的基于嵌入式Nor-Flash的芯片UID设计方法,其特征在于:若用户对保护区发起一次有效的擦写操作,Nor-Flash控制器先读取关键地址的数据VALUE1和VALUE2,若所取数据和KEY1和KEY2完全相等,则当前对保护区的擦写操作无效,即认为当前的保护区已被锁定。
6.如权利要求4所述的基于嵌入式Nor-Flash的芯片UID设计方法,其特征在于:针对Nor-Flash读请求,Flash保护区和数据区响应一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246087.6A CN106777749A (zh) | 2016-12-29 | 2016-12-29 | 一种基于嵌入式Nor‑Flash的芯片UID设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246087.6A CN106777749A (zh) | 2016-12-29 | 2016-12-29 | 一种基于嵌入式Nor‑Flash的芯片UID设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106777749A true CN106777749A (zh) | 2017-05-31 |
Family
ID=58929016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611246087.6A Pending CN106777749A (zh) | 2016-12-29 | 2016-12-29 | 一种基于嵌入式Nor‑Flash的芯片UID设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777749A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590368A (zh) * | 2017-08-25 | 2018-01-16 | 济南中维世纪科技有限公司 | 嵌入式设备程序防拷贝的方法 |
CN109460677A (zh) * | 2018-11-12 | 2019-03-12 | 湖南中车时代通信信号有限公司 | 一种嵌入式环境下采用多任务技术的数据存储*** |
CN109714163A (zh) * | 2019-01-30 | 2019-05-03 | 江永林 | 一种芯片序列号编码方法及***、存储介质及终端 |
CN110909316A (zh) * | 2019-11-14 | 2020-03-24 | 武汉正维电子技术有限公司 | 一种单片机软件的加密保护方法及存储介质 |
CN111581674A (zh) * | 2020-05-13 | 2020-08-25 | 中科芯集成电路有限公司 | 芯片的程序加密方法和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540457A (zh) * | 1999-10-01 | 2004-10-27 | 佳能株式会社 | 打印设备及其控制方法以及安装在其上的可消耗装置 |
US20060149972A1 (en) * | 2002-11-13 | 2006-07-06 | Guoshun Deng | Method for realizing security storage and algorithm storage by means of semiconductor memory device |
CN101968834A (zh) * | 2009-07-28 | 2011-02-09 | 上海移为通信技术有限公司 | 电子产品的防抄板加密方法和装置 |
CN104537320A (zh) * | 2014-12-05 | 2015-04-22 | 深圳市雷赛软件技术有限公司 | 芯片自动加密方法和*** |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN105512517A (zh) * | 2015-11-25 | 2016-04-20 | 成都天奥测控技术有限公司 | 一种嵌入式软件加密方法 |
CN106156550A (zh) * | 2016-07-04 | 2016-11-23 | 广州市鸿远电子科技有限公司 | 一种芯片防破解的方法 |
-
2016
- 2016-12-29 CN CN201611246087.6A patent/CN106777749A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540457A (zh) * | 1999-10-01 | 2004-10-27 | 佳能株式会社 | 打印设备及其控制方法以及安装在其上的可消耗装置 |
US20060149972A1 (en) * | 2002-11-13 | 2006-07-06 | Guoshun Deng | Method for realizing security storage and algorithm storage by means of semiconductor memory device |
CN101968834A (zh) * | 2009-07-28 | 2011-02-09 | 上海移为通信技术有限公司 | 电子产品的防抄板加密方法和装置 |
CN104537320A (zh) * | 2014-12-05 | 2015-04-22 | 深圳市雷赛软件技术有限公司 | 芯片自动加密方法和*** |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN105512517A (zh) * | 2015-11-25 | 2016-04-20 | 成都天奥测控技术有限公司 | 一种嵌入式软件加密方法 |
CN106156550A (zh) * | 2016-07-04 | 2016-11-23 | 广州市鸿远电子科技有限公司 | 一种芯片防破解的方法 |
Non-Patent Citations (1)
Title |
---|
袁保玑: "《实用计算机体系结构》", 31 August 1982, 人民邮电出版社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590368A (zh) * | 2017-08-25 | 2018-01-16 | 济南中维世纪科技有限公司 | 嵌入式设备程序防拷贝的方法 |
CN109460677A (zh) * | 2018-11-12 | 2019-03-12 | 湖南中车时代通信信号有限公司 | 一种嵌入式环境下采用多任务技术的数据存储*** |
CN109714163A (zh) * | 2019-01-30 | 2019-05-03 | 江永林 | 一种芯片序列号编码方法及***、存储介质及终端 |
CN110909316A (zh) * | 2019-11-14 | 2020-03-24 | 武汉正维电子技术有限公司 | 一种单片机软件的加密保护方法及存储介质 |
CN110909316B (zh) * | 2019-11-14 | 2023-05-09 | 武汉正维电子技术有限公司 | 一种单片机软件的加密保护方法及存储介质 |
CN111581674A (zh) * | 2020-05-13 | 2020-08-25 | 中科芯集成电路有限公司 | 芯片的程序加密方法和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI740409B (zh) | 使用密鑰之身份驗證 | |
CN106777749A (zh) | 一种基于嵌入式Nor‑Flash的芯片UID设计方法 | |
US9300665B2 (en) | Credential authentication methods and systems | |
KR101857902B1 (ko) | 신뢰 루트 | |
US20190012672A1 (en) | Method and system for enhancing the security of a transaction | |
EP3949333A1 (en) | Verifying identity of a vehicle entering a trust zone | |
WO2020197722A1 (en) | Generating an identity for a computing device using a physical unclonable function | |
US10965474B1 (en) | Modifying security state with highly secured devices | |
US9977890B2 (en) | Method and device for controlling access from the device to a card via a NFC interface | |
EP2876593B1 (en) | Method of generating a structure and corresponding structure | |
US10185669B2 (en) | Secure key derivation functions | |
CN107092836A (zh) | 一种基于***加密的数据保护方法与装置 | |
KR100972540B1 (ko) | 라이프 사이클 단계들을 가진 보안 메모리 카드 | |
US10387653B2 (en) | Secure provisioning of semiconductor chips in untrusted manufacturing factories | |
US12002040B2 (en) | Device driver for contactless payments | |
US11507958B1 (en) | Trust-based security for transaction payments | |
US20060020785A1 (en) | Secure distribution of a video card public key | |
US9177160B1 (en) | Key management in full disk and file-level encryption | |
Shepherd | Techniques for Establishing Trust in Modern Constrained Sensing Platforms with Trusted Execution Environments | |
CN110909357B (zh) | 一种电子本及其控制方法 | |
Shepherd et al. | Isolated Hardware Execution Platforms | |
CN115587389A (zh) | 一种固件安全保护方法及*** | |
Babenko et al. | Instrumental system for analysis of information systems using smart cards protection | |
Platform | FIPS 140-2 Level 3 | |
Kan et al. | Security in Next Generation Consumer Electronic Devices. |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |