CN106777749A - 一种基于嵌入式Nor‑Flash的芯片UID设计方法 - Google Patents

一种基于嵌入式Nor‑Flash的芯片UID设计方法 Download PDF

Info

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
Application number
CN201611246087.6A
Other languages
English (en)
Inventor
李俊
黄凯杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Sutian Technology Co Ltd
Original Assignee
Hangzhou Sutian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Sutian Technology Co Ltd filed Critical Hangzhou Sutian Technology Co Ltd
Priority to CN201611246087.6A priority Critical patent/CN106777749A/zh
Publication of CN106777749A publication Critical patent/CN106777749A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit 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的芯片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保护区和数据区响应一致。
CN201611246087.6A 2016-12-29 2016-12-29 一种基于嵌入式Nor‑Flash的芯片UID设计方法 Pending CN106777749A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 广州市鸿远电子科技有限公司 一种芯片防破解的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
袁保玑: "《实用计算机体系结构》", 31 August 1982, 人民邮电出版社 *

Cited By (6)

* Cited by examiner, † Cited by third party
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