CN117744166A - 一种芯片的防伪造方法和一种防伪造芯片 - Google Patents

一种芯片的防伪造方法和一种防伪造芯片 Download PDF

Info

Publication number
CN117744166A
CN117744166A CN202311845261.9A CN202311845261A CN117744166A CN 117744166 A CN117744166 A CN 117744166A CN 202311845261 A CN202311845261 A CN 202311845261A CN 117744166 A CN117744166 A CN 117744166A
Authority
CN
China
Prior art keywords
chip
key
signature
public
verifier
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
CN202311845261.9A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202311845261.9A priority Critical patent/CN117744166A/zh
Publication of CN117744166A publication Critical patent/CN117744166A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种芯片的防伪造方法和一种防伪造芯片,芯片内部有只读的唯一ID和芯片公钥,签名者用签名私钥对唯一ID和芯片公钥进行签名;验证者获取公开的签名公钥,对芯片的唯一ID、芯片公钥、签名信息进行验证,验证不通过则认为芯片是伪造的;验证者接下来用临时私钥和芯片公钥加密一段临时信息,和临时公钥一起发送给芯片,由芯片进行解密并返回结果,如果芯片无法正确解密,则认为芯片是伪造的。

Description

一种芯片的防伪造方法和一种防伪造芯片
技术领域
本发明涉及计算机技术领域和集成电路领域,尤其涉及一种芯片的防伪造方法和一种防伪造芯片。
背景技术
目前,很多电子设备需要使用微处理器或微控制器,来实现智能控制。微控制器内部有FLASH等非易失存储器,用于存储软件代码。
微控制器品牌、型号众多,不少品牌的内部架构、外部引脚排列、功能均相似,甚至完全兼容。存在用一种芯片冒充另外一种芯片的做法。
微控制器也存在从电子垃圾中回收,并翻新,重新销售的情况。对一些要求严格的电子产品,比如军用产品等,构成稳定性威胁。
同时,有时候我们往芯片里烧录用户代码时,需要确认所烧录的芯片确实是预定的芯片型号,而不是冒牌的芯片,甚至是用逻辑系统虚拟的一个芯片,从而保证用户代码不会泄密。
发明内容
在本发明的目的在于提供一种芯片的防伪造方法和一种防伪造芯片,由签名者对芯片进行签名,验证者进行验签。
为达此目的,本发明采用以下技术方案:
一种芯片的防伪造方法,包括步骤:
S1:签名者产生公私钥,签名公钥SignPubKey和签名私钥SignPrivKey;
S2: 签名者用签名私钥SignPrivKey对芯片的UID进行签名;
S3: 验证者获得签名公钥,再获得芯片UID和签名值;
S4: 验证者用签名公钥对芯片UID和签名值进行验签计算,签名不正确则认为芯片为伪造。
进一步的,有芯片公钥和芯片UID一起被签名和验签,对应的芯片私钥被保密存储于芯片内,不可被读出,仅可用来计算输入数据并返回结果。
进一步的,验证者产生临时公私钥对,用临时私钥和芯片公钥产生共享密钥,加密一段临时信息,和临时公钥一起发送给芯片,芯片用临时公钥和芯片私钥产生同样的共享密钥,解密临时信息,并返回结果给验证者,最后验证者比对该结果,不正确则认为是伪造芯片。
进一步的,被签名的还包括签名者版权信息和或芯片型号和或芯片签署时间信息和或许可信息和或销售信息等。
进一步的,芯片签名值的哈希值,以网络公开或商务保密文件,提供给验证者查询,同时记录和提供每一个芯片对应的哈希值的查询次数。
进一步的,芯片私钥分成2部分ChipPrivKeyPartA和ChipPrivKeyPartB,一部分ChipPrivKeyPartA保密存储在芯片内,一部分ChipPrivKeyPartB以网络公开或商务保密文件,提供给验证者。验证者根据芯片内UID的签名值,获得对应的ChipPrivKeyPartB,在保密验证步骤中,发送给芯片,以合成芯片私钥。
一种防伪造芯片,内部有只读的唯一的ID值,和签名者用签名私钥产生的签名信息。
进一步的,内部还有一对或多对芯片公私钥,芯片公钥可被读出,芯片私钥不可被读出,仅可用来计算输入数据并返回结果。
进一步的,芯片获取验证者发送的临时公钥和临时信息后,启动保密验证计算过程,用临时公钥和芯片私钥产生同样的共享密钥,解密临时信息,并返回结果给验证者。
进一步的,芯片私钥分成2部分ChipPrivKeyPartA和ChipPrivKeyPartB,一部分ChipPrivKeyPartA保密存储在芯片内,芯片需要获取另一部分ChipPrivKeyPartB,才能正确完成验证者发出的验证请求。
与现有技术相比,本发明实施例具有以下有益效果:
现有芯片市场,没有用技术方法来防止芯片的伪造、翻新等问题,完全依赖商业信任来应对,造成芯片翻新泛滥,真假难辨;随着芯片制造越来越国产化、同质化,假冒芯片、伪造芯片的情况也开始出现。通过密码学原理来应对,付出成本低,防范效果好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的方法流程图;
图2为本发明实施例二提供的方法流程图。
实施方式
本发明的核心思想为:本发明通过使用非对称签名算法,签名者对芯片进行签名产生签名信息,验证者对签名信息进行验签;进一步的,芯片内存储芯片私钥,对应的芯片公钥有签名者进行签署并公开,验证者用芯片公钥来验证芯片是否拥有正确的芯片私钥,从而确认芯片是否由签名者进行验证、授权。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例
如图1所示,一种芯片的防伪造方法,包括:签名者(101),产生签名私钥SignPrivKey(102)和签名公钥SignPubKey(103),签名公钥SignPubKey(103)公开发布,用签名私钥SignPrivKey(102)对芯片(105)的唯一ID(UniqueID)(106)进行签名,产生签名值SignVal(107)。
验证者(104)获取签名公钥SignPubKey,并读取唯一ID(UniqueID)、签名值SignVal(107),用SignPubKey验证(UID+SignVal),不正确则认为芯片是伪造的。
本申请的技术方案,基于非对称密码体制,又称公开密钥密码体制。是广泛应用的公开技术,包含密钥协商、非对称加密、消息签名等。国家标准提供了SM2非对称加密、签名标准算法。签名私钥SignPrivKey是32字节长,签名公钥SignPubKey是64字节长,签名值也是64字节长。
签名值SignVal,既可存储在芯片内部,如芯片内的FLASH、OTP、ROM存储器等。也可以公布在网络上,或从商务保密渠道提供给验证者。
签名者,可以是芯片厂家、销售商,或者任何受到验证者信任的人或企业。
本申请所述的目标芯片,可以是8051、arm cortex-m3、arm cortex-m0、risv-v、hcs08、avr、avr32等内核的微控制器芯片,也可以是CPLD、FPGA等可以构成微控制器的集成电路,比如CortexM1核心就是适合CPLD、FPGA的arm核心,也可以应用本申请的技术原理。
举例如国产微控制器芯片GD32F407,内部有512字节的OTP存储器,96bit的设备唯一 ID位于0x1FFF7A10。某家专门销售这个芯片的S公司,可以用实施例一的方案,把96bit的设备唯一 ID用SM2算法进行签名,产生64字节的签名值,签名值写入OTP存储器;芯片的用户,可以根据这个签名值,认可这一颗芯片是该S公司的可信渠道销售的芯片。
实施例二
实施例二如图2所示,同样有签名者(201)、签名私钥SignPrivKey(202)和签名公钥SignPubKey(203),芯片(205)、唯一ID(UniqueID)(206)、签名值SignVal(207),验证者(204)。
在实施例一的基础上,增加了芯片公钥ChipPubKey(210)、芯片私钥ChipPrivKey(211)。芯片公钥与唯一ID号一起进行签名,产生64字节的SM算法签名值。而芯片私钥以保密的形式存储在芯片内,只能以保密的形式,对输入的数据进行非对称加密运算。
同时,在实施例一验证的步骤后,再增加一个保密验证步骤(212),验证者产生临时公私钥对,用临时私钥和芯片公钥产生共享密钥,加密一段临时信息,密文和临时公钥一起发送给芯片,芯片用临时公钥和芯片私钥产生同样的共享密钥,解密临时信息,并返回结果给验证者,最后验证者比对该结果,不正确则认为是伪造芯片。芯片返回解密结果时,可以采取返回结果的哈希值的方法,而不是直接返回解密数据;产生哈希值时,可以加入一个或多个随机数,避免重放攻击。
实施例二的芯片私钥,需要保密存储和保密运算。可以利用目前微控制器芯片都有的读保护功能。读保护功能的实际名称多种多样,比如STM32芯片称为ReadOutProtect(RDP), PIC16系列芯片称为Code Protection Bit,MC9S08系列芯片称为Security StateCode(SEC01:SEC00)。设置读保护有效后,某些微控制器,必须要上电复位才能使读保护状态生效;某些微控制器任何复位均可生效;某些微控制器则一旦配置、立即生效。
比如国产微控制器芯片GD32F407,当设置SPC字节为除0xAA或0xCC外的任何值,激活低安全保护等级。S公司可以先对芯片公钥、UID值进行签名,签名和芯片公钥写入OTP存储器;再把芯片私钥,SM2算法相关代码,UID、芯片公钥、签名值的读出代码,写入GD32F407的FLASH内,并激活低安全保护等级。验证者与芯片内的代码进行通讯,读出签名公钥SignPubKey(203),芯片(205)、唯一ID(UniqueID)(206)、签名值SignVal(207),从而进行实施例二所述的2个验证步骤。验证完毕后,可以接除芯片的安全保护等级,同时芯片私钥也被擦除。验证者接下来再验证芯片内部的唯一ID(UniqueID),必须与前面的验证中读取到的唯一ID(UniqueID)一致。
这种做法,提供给芯片用户一种区分全新原装芯片或翻新芯片的手段。因为第一次的用户,购买了芯片,必须要擦除内部的保密的签名私钥,才能使用。翻新业者从电子垃圾里回收芯片后,即使恢复了签名公钥和签名值,也难以恢复签名私钥。对于内部只有FLASH存储器,而没有OTP存储器的微控制器芯片,也可以采取这种方法,提供全新原装芯片的区分手段。
也可以在芯片设计时,把签名私钥放在比芯片读保护状态字,更深层的存储结构里;并且运行相关的加解密运算过程时,芯片进入比读保护更强的保密状态。从而使芯片防伪造的破解难度,比破解芯片的读保护还难。比如假设GD32F407的设计进行更改,设置一个独立的签名私钥存储器,该存储器在一般的运行状态下无法存取,只有在特定的ROM空间,运行特定的代码序列,才启用签名私钥相关的运算过程,过程中关闭许多对外的连接(比如仿真模块、GPIO、串口等外设),并在切换回一般的运行状态前,清除所有运行用到的存储资源 、状态,仅保留运算的返回值。
实施例三
实施例三是在实施例一、实施例二的基础上,签名者,把芯片签名值的哈希值,以网络公开或商务保密渠道,提供给验证者查询,同时记录和提供每一个芯片对应的哈希值的查询次数,如此一来,验证者可以掌握芯片的验证的历史情况。
公布哈希值,而不是直接公布芯片唯一ID等信息,是防止伪造者轻易获得芯片相关信息。
实施例四
实施例四是在实施例二的基础上,把芯片私钥分成2部分ChipPrivKeyPartA和ChipPrivKeyPartB,一部分ChipPrivKeyPartA保密存储在芯片内,一部分ChipPrivKeyPartB以网络公开或商务保密文件,提供给验证者。验证者根据芯片内UID的签名值,获得对应的ChipPrivKeyPartB,在保密验证步骤中,发送给芯片,以合成芯片私钥。使芯片的伪造者需要与签名者产生联系,获取这个ChipPrivKeyPartB,才能完全的伪造芯片,进一步提高伪造难度。
比如SM2国标算法的芯片私钥是随机数发生器产生的32字节,我们可以用两个32字节长的随机数ChipPrivKeyPartA和ChipPrivKeyPartB,用哈希算法计算出32字节哈希值,作为芯片私钥ChipPrivKey。
实施例四也可以记录和提供每一个芯片对应的ChipPrivKeyPartB的哈希值的查询次数,如此一来,验证者可以掌握芯片的验证情况,如果验证次数多,很可能是伪造的或翻新的芯片。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种芯片的防伪造方法,其特征在于 ,包括步骤:
S1:签名者产生公私钥,签名公钥SignPubKey和签名私钥SignPrivKey;
S2: 签名者用签名私钥SignPrivKey对芯片的UID进行签名;
S3: 验证者获得签名公钥,再获得芯片UID和签名值;
S4: 验证者用签名公钥对芯片UID和签名值进行验签计算,签名不正确则认为芯片为伪造。
2.根据权利要求1所述的芯片的防伪造方法,其特征在于,有芯片公钥和芯片UID一起被签名和验签,对应的芯片私钥被保密存储于芯片内,不可被读出,仅可用来计算输入数据并返回结果。
3.根据权利要求2所述的,其特征在于,验证者产生临时公私钥对,用临时私钥和芯片公钥产生共享密钥,加密一段临时信息,和临时公钥一起发送给芯片,芯片用临时公钥和芯片私钥产生同样的共享密钥,解密临时信息,并返回结果给验证者,最后验证者比对该结果,不正确则认为是伪造芯片。
4.根据权利要求1所述的方法,其特征在于,被签名的还包括签名者版权信息和或芯片型号和或芯片签署时间信息和或许可信息和或销售信息等。
5.根据权利要求1所述的的方法,其特征在于,芯片签名值的哈希值,以网络公开或商务保密文件,提供给验证者查询,同时记录和提供每一个芯片对应的哈希值的查询次数。
6.根据权利要求1所述的方法,其特征在于,芯片私钥分成2部分ChipPrivKeyPartA和ChipPrivKeyPartB,一部分ChipPrivKeyPartA保密存储在芯片内,一部分ChipPrivKeyPartB以网络公开或商务保密文件,提供给验证者。验证者根据芯片内UID的签名值,获得对应的ChipPrivKeyPartB,在保密验证步骤中,发送给芯片,以合成芯片私钥。
7.一种防伪造芯片,其特征在于,内部有只读的唯一的ID值,和签名者用签名私钥产生的签名信息。
8.根据权利要求7所述的一种防伪造芯片,其特征在于,内部还有一对或多对芯片公私钥,芯片公钥可被读出,芯片私钥不可被读出,仅可用来计算输入数据并返回结果。
9.根据权利要求8所述的一种防伪造芯片,其特征在于,芯片获取验证者发送的临时公钥和临时信息后,启动保密验证计算过程,用临时公钥和芯片私钥产生同样的共享密钥,解密临时信息,并返回结果给验证者。
10.根据权利要求8所述的一种防伪造芯片,其特征在于,芯片私钥分成2部分ChipPrivKeyPartA和ChipPrivKeyPartB,一部分ChipPrivKeyPartA保密存储在芯片内,芯片需要获取另一部分ChipPrivKeyPartB,才能正确完成验证者发出的验证请求。
CN202311845261.9A 2023-12-29 2023-12-29 一种芯片的防伪造方法和一种防伪造芯片 Pending CN117744166A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311845261.9A CN117744166A (zh) 2023-12-29 2023-12-29 一种芯片的防伪造方法和一种防伪造芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311845261.9A CN117744166A (zh) 2023-12-29 2023-12-29 一种芯片的防伪造方法和一种防伪造芯片

Publications (1)

Publication Number Publication Date
CN117744166A true CN117744166A (zh) 2024-03-22

Family

ID=90260758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311845261.9A Pending CN117744166A (zh) 2023-12-29 2023-12-29 一种芯片的防伪造方法和一种防伪造芯片

Country Status (1)

Country Link
CN (1) CN117744166A (zh)

Similar Documents

Publication Publication Date Title
CN102084313B (zh) 用于数据安全的系统和方法
CN101488856B (zh) 用于数字签名以及认证的系统及方法
CN111723383B (zh) 数据存储、验证方法及装置
CN103368916A (zh) 基于硬件信息的计算机终端可信证明生成技术
JP2001255952A (ja) 署名方法
CN112508560A (zh) 区块链跨链身份认证和权限管控方法、装置及计算机设备
JP2014505943A (ja) 耐タンパー性ブート処理のためのシステム及び方法
KR101261683B1 (ko) 전자 장치의 공개키 생성 방법 및 전자 장치, 전자 장치 인증 방법 및 컴퓨터 판독가능 매체
CN103248491B (zh) 一种电子签名令牌私钥的备份方法和系统
JP2008502068A (ja) ワンタイム認証システム
CN102843232B (zh) 生成安全装置密钥
EP1580663A1 (en) A method for realizing security data storage and algorithm storage by means of semiconductor memory device
US20080104402A1 (en) Countermeasure against fault-based attack on RSA signature verification
CN112165382B (zh) 软件授权方法、装置、授权服务端及终端设备
CN103269271A (zh) 一种备份电子签名令牌中私钥的方法和系统
US20090119505A1 (en) Transaction method and verification method
CN113434853A (zh) 一种将固件烧录至存储设备的方法及控制器
CN108496194A (zh) 一种验证终端合法性的方法、服务端及系统
CN105608775B (zh) 一种鉴权的方法、终端、门禁卡及sam卡
CN116506134B (zh) 数字证书管理方法、装置、设备、系统及可读存储介质
CN101359986A (zh) 用于根据双线性映射的直接匿名证明的装置和方法
CN103248490B (zh) 一种备份电子签名令牌中信息的方法和系统
CN112733126B (zh) 一种产品许可认证方法和系统
CN117744166A (zh) 一种芯片的防伪造方法和一种防伪造芯片
JP2005215945A (ja) 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication