CN111611602A - 一种基于国密芯片的安全可控量产方法 - Google Patents
一种基于国密芯片的安全可控量产方法 Download PDFInfo
- Publication number
- CN111611602A CN111611602A CN202010375159.7A CN202010375159A CN111611602A CN 111611602 A CN111611602 A CN 111611602A CN 202010375159 A CN202010375159 A CN 202010375159A CN 111611602 A CN111611602 A CN 111611602A
- Authority
- CN
- China
- Prior art keywords
- mass production
- key
- firmware
- chip
- mass
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于国密芯片的安全可控量产方法,本方法基于M_KEY和量产工具实现,M_KEY内部设有国密芯片,量产工具设置在生产厂商电脑内,M_KEY在量产固件完成后进行固件加密,量产前将M_KEY插入生产厂商电脑内,量产工具主动识别并认证M_KEY,认证成功后,通过M_KEY和量产工具进行固件解密,固件解密成功后进行量产。本方法可以防止未经授权的厂商拿到芯片、固件及量产工具进行非法量产,保证待量产芯片的数量、生成过程、品质可控。
Description
技术领域
本发明涉及一种基于国密芯片的安全可控量产方法,属于芯片生产技术领域。
背景技术
随着智能电子设备的进步和大规模推广,现今出现了通过抄板并且盗取原厂固件进行加工生产、刷机的盗版行为。尤其是大量盗版产品进入市场,产品质量无法得到保障,很容易损害产品原厂利益,针对安全类产品,这种情况会危害到企业,行业甚至是国家的安全。
发明内容
针对现有技术的缺陷,本发明提供一种基于国密安全芯片的安全可控量产方法,可以防止未经授权的厂商拿到芯片、固件及量产工具进行非法量产,保证待量产芯片的数量、生成过程、品质可控。
为了解决所述技术问题,本发明采用的技术方案是:一种基于国密芯片的安全可控量产方法,本方法基于M_KEY和量产工具实现,M_KEY内部设有国密芯片,量产工具设置在生产厂商电脑内,M_KEY在量产固件完成后进行固件加密,量产前将M_KEY插入生产厂商电脑内,量产工具主动识别并认证M_KEY,认证成功后,通过M_KEY和量产工具进行固件解密,固件解密成功后进行量产。
进一步的,固件加密的过程为:量产固件的原始二进制文件a完成后,每批次M_KEY记录一组量产密钥key及预设信息,使用量产密码key通过SM4加密算法加密量产固件原始二进制文件a得到b,b为外发给生产厂商的加密固件;M_KEY使用芯片ID(后面简称m_id)作为保护密钥通过SM4加密算法将key加密生成enc_key,将enc_key存储到国密芯片内部的flash中。
进一步的,固件解密的过程为:量产工具生成一组SM2密钥对,SM2密钥对包括加密公钥sm_pub和加密私钥sm_pri,然后将加密公钥sm_pub通过私有指令发送给M_KEY,M_KEY读取内部存储的enc_key与m_id,通过sm4解密计算得到量产密码key,再使用加密公钥sm_pub将key通过SM2加密生成s_key并发送给量产工具,量产工具使用加密私钥sm_pri通过SM2解密s_key得到key;量产工具读取加密固件b,使用key通过SM4解密b得到量产固件的原始二进制文件a。
进一步的,量产工具认证M_KEY的过程为:量产工具发送一段认证数据至M_KEY,M_KEY对比自身存储的量产授权信息,对比一致表示M_KEY与当前MPTOOL是互信的,则认证成功,否则认证失败。
进一步的,量产分为两个阶段:量产引导阶段和执行量产固件阶段,量产工具将量产引导程序下载到待量产芯片的RAM中,掉电丢失,量产引导程序引导待量产芯片的RAM中运行该程序,接收解析量产固件并且将其写入到待量产芯片,执行量产固件阶段在待量产芯片内运行量产固件。
进一步的,量产过程中,量产工具结合待量产芯片的id(后面简称chip_id),将量产固件通过SM4加密分多段传送并且中间掺杂一定的干扰数据包,量产引导程序解析接收到的数据,将无用的数据包丢弃,将有效的量产固件写入到待量产芯片;写入完成后,量产引导程序控制量产固件进行引导。
进一步的,量产过程中,量产工具更新M_KEY里面的量产剩余次数,最后量产工具将厂商信息和M_KEY的信息写入待量产芯片,完成整个量产过程;当M_KEY中的剩余次数减少到0,M_KEY将锁定,需要返厂重新获取授权。
进一步的,量产固件与量产工具只支持单连接,即不允许多个上位机进程链接固件代码。
进一步的,每次认证M_KEY和固件密码解析只在M_KEY插入后进行一次,一旦拔出M_KEY需要重新进行认证。
进一步的,每批次待量产芯片对应的key不同。
本发明的有益效果:本发明通过M_KEY和量产工具结合,通过M_KEY来控制合法厂商进行量产,保证量产的安全可控,量产阶段的关键控制信息都存储与M_KEY中,并且M_KEY的信息不可明文读取。整个量产过程加密传输,并且量产固件与MPTOOL为单连接,防止注入和阻拦攻击。量产固件每批次可以变动a的密文状态,大大增加破解a的难度,整个过程安全,可控,适用于对产品生产过程有安全性要求的行业和领域,例如保密类产品,军用类产品等,相比传统量产过程,大大增家了安全性和生产品质可控,有广泛的市场前景和应用领域。
附图说明
图1为量产密钥与预设信息的示意图;
图2为固件加密的流程图;
图3为固件解密的流程图;
图4为安全量产的流程图;
图5为芯片认证及芯片量产的流程图;
图6为芯片异常保护机制的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种基于国密芯片的安全可控量产方法,本方法基于M_KEY和量产工具(简称MPTOOL)实现,M_KEY内部设有国密芯片HX6802,该芯片支持USB3.0接口,内部硬件实现国密SM1、SM2、SM3、SM4等算法,并已获得国家商密资质。量产工具设置在生产厂商电脑内,M_KEY在量产固件完成后进行固件加密,量产前将M_KEY插入生产厂商电脑内,量产工具主动识别并认证M_KEY,认证成功后,通过M_KEY和量产工具进行固件解密,固件解密成功后进行量产。
如图2所示,固件加密的具体过程为:
量产固件的二进制文件(简称a)完成后,每批次M_KEY会记录一组量产密钥(简称key)及预设信息,使用量产密码key通过SM4加密算法加密量产固件原始二进制文件a得到b,b为外发给生产厂商的加密固件;M_KEY使用芯片ID(后面简称m_id)作为保护密钥通过SM4加密算法将key加密生成enc_key,将enc_key存储到国密芯片内部的flash中。
量产密钥与预设信息如图1所示,预设信息包括剩余次数、批次、量产授权信息和激活授权信息,剩余次数根据量产过程进行更新。
量产阶段必须获取到存储在M_KEY中的key才能将b进行解密。每批次销售的芯片,key是变动的,从而b也是变动的,大大增加破解a的难度。
如图3所示,固件解密的具体过程为:
量产前需要插入M_KEY,当MPTOOL(只支持windows版本)检测到M_KEY插入事件ON_WM_DEVICECHANGE时,量产工具会主动识别M_KEY并发送一段认证数据,M_KEY对比本身存储的量产授权信息,对比一致表示M_KEY与当前MPTOOL是互信的。认证成功后,MPTOOL会生成一组SM2密钥对(加密公钥sm_pub、加密私钥sm_pri)。将sm_pub通过私有指令发送给M_KEY,M_KEY读取内部存储的enc_key与m_id,通过sm4解密计算得到key,再使用sm_pub将key加密后的密文(s_key)发送给MPTOOL,MPTOOL使用sm_pri通过sm2将s_key解密后得到key。MPTOOL使用key通过sm4将b进行解密,在量产工具的内存中解密出a后,可进行量产。每次认证M_KEY和解析a的过程只在M_KEY插入后进行一次,一旦拔出M_KEY需要重新进行认证。
如图4所示,安全量产的具体过程为:
量产分为两个阶段code_load和firmware阶段。code_load称为量产引导程
序,由MPTOOL将该段代码下载到待量产芯片的RAM中,掉电即失。code_load主要作用是接收解析量产固件a并且写入到待量产芯片,firmware阶段执行的固件即上文中提及的a。MPTOOL会结合待量产芯片的id(后面简称chip_id),将a通过SM4加密分多段传送code_load并且中间掺杂一定的干扰数据包,code_load解析接收到的数据,将无用的数据包进行丢弃,将有效的固件写入到芯片。写入完成后,code_load控制a进行引导。MPTOOL与a交互更新M_KEY里面减少量产剩余次数,最后MPTOOL会将厂商信息和M_KEY的信息写入芯片(该信息用于追溯M_KEY),完成整个量产过程(见图4,图5)。当M_KEY中的剩余次数减少到0,M_KEY将锁定,需要返厂重新获取授权。
本方法设有异常保护机制,异常保护机制主要分析针对的是M_KEY破解,及量产过程中是否有注入\阻断攻击。每次量产MPTOOL会检测M_KEY是否存在并且可靠,如果不存在或不可靠会终止量产过程。M_KEY由芯片厂商授权给生产厂商,针对具体需求预设量产剩余数量,并且由芯片厂商记录M_KEY的信息和key,方便将来进行追溯。M_KEY的量产剩余数量只支持减少,当M_KEY中的预设量产数量减少到0,M_KEY会锁定设备,无法再进行使用,必须返回芯片厂商认证通过一定的权限认证后才可以重新配发,强制认证会导致M_KEY永久锁定(图6)导致M_KEY报废。固件代码a与MPTOOL只支持单连接,即不允许多个上位机进程链接固件代码a,如果在M_KEY更新之前阻断后续的更新M_KEY行为,这样会导致芯片中不存在的厂商信息和M_KEY信息。固件a每次启动会检测是否有厂商信息和M_KEY信息,如果不存在,视为本次量产失败,直接进入芯片的待量产阶段,必须重新量产。整个写入a的过程是结合chip_id加密传输,并且中间过程随机掺杂我们干扰数据包,通过抓包的方式无法还原出完整真正的a。
使用本方法可以解决以下非法量产行为:
1、插入M_KEY,授权失败,进行量产,量产失败。
2、插入M_KEY,授权成功,故意使用错误的m_id解密s_key,导致key不正确,解析b得到c(c为错误的固件),下载c到芯片中。固件错误无法执行,需要重新量产。
3、插入M_KEY,然后拔出M_KEY尝试量产,量产不执行,提示需要插入M_KEY。
4、在量产阶段监听a的数据包,数据包为密文,直接下载a的密文,固件错误无法执行,需要重新量产。
5、量产阶段中间缺少a的某些数据包或者掺杂无效的数据包,固件下载完成后,固件错误无法执行,需要重新量产。
6、量产最后阶段,阻止M_KEY更新量产剩余数量,强制结束量产,固件a检测到芯片内部不存在M_KEY信息和厂商信息,固件不执行,需要重新量产。
7、M_KEY锁定后,输入正确的量产授权信息,提示M_KEY已锁定,需要返厂,输入正确的激活权限,M_KEY解锁。
8、M_KEY永久锁定后,输入正确的激活权限,M_KEY依然无法使用,M_KEY报废。
本发明通过M_KEY和量产工具结合,通过M_KEY来控制合法厂商进行量产,保证量产的安全可控,量产阶段的关键控制信息都存储与M_KEY中,并且M_KEY的信息不可明文读取。整个量产过程加密传输,并且量产固件与MPTOOL为单连接,防止注入和阻拦攻击。量产固件每批次可以变动a的密文状态,大大增加破解a的难度,整个过程安全,可控,适用于对产品生产过程有安全性要求的行业和领域,例如保密类产品,军用类产品等,相比传统量产过程,大大增家了安全性和生产品质可控,有广泛的市场前景和应用领域。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (10)
1.一种基于国密芯片的安全可控量产方法,其特征在于:本方法基于M_KEY和量产工具实现,M_KEY内部设有国密芯片,量产工具设置在生产厂商电脑内,M_KEY在量产固件完成后进行固件加密,量产前将M_KEY插入生产厂商电脑内,量产工具主动识别并认证M_KEY,认证成功后,通过M_KEY和量产工具进行固件解密,固件解密成功后进行量产。
2.根据权利要求1所述的基于国密芯片的安全可控量产方法,其特征在于:固件加密的过程为:量产固件的原始二进制文件a完成后,每批次M_KEY记录一组量产密钥key及预设信息,使用量产密码key通过SM4加密算法加密量产固件原始二进制文件a得到b,b为外发给生产厂商的加密固件;M_KEY使用m_id作为保护密钥通过SM4加密算法将key加密生成enc_key,将enc_key存储到国密芯片内部的flash中;m_id表示M_KEY的芯片ID。
3.根据权利要求2所述的基于国密芯片的安全可控量产方法,其特征在于:固件解密的过程为:量产工具生成一组SM2密钥对,SM2密钥对包括加密公钥sm_pub和加密私钥sm_pri,然后将加密公钥sm_pub通过私有指令发送给M_KEY,M_KEY读取内部存储的enc_key与m_id,通过sm4解密计算得到量产密码key,再使用加密公钥sm_pub将key通过SM2加密生成s_key并发送给量产工具,量产工具使用加密私钥sm_pri通过SM2解密s_key得到key;量产工具读取加密固件b,使用key通过SM4解密b得到量产固件的原始二进制文件a。
4.根据权利要求1所述的基于国密芯片的安全可控量产方法,其特征在于:量产工具认证M_KEY的过程为:量产工具发送一段认证数据至M_KEY,M_KEY对比自身存储的量产授权信息,对比一致表示M_KEY与当前MPTOOL是互信的,则认证成功,否则认证失败。
5.根据权利要求1所述的基于国密芯片的安全可控量产方法,其特征在于:量产分为两个阶段:量产引导阶段和执行量产固件阶段,量产工具将量产引导程序下载到待量产芯片的RAM中,掉电丢失,量产引导程序引导待量产芯片的RAM中运行该程序,接收解析量产固件并且将其写入到待量产芯片,执行量产固件阶段在待量产芯片内运行量产固件。
6.根据权利要求5所述的基于国密芯片的安全可控量产方法,其特征在于:量产过程中,量产工具结合chip_id,将量产固件通过SM4加密分多段传送并且中间掺杂一定的干扰数据包,量产引导程序解析接收到的数据,将无用的数据包丢弃,将有效的量产固件写入到待量产芯片;写入完成后,量产引导程序控制量产固件进行引导;chip_id表示待量产芯片的id。
7.根据权利要求5所述的基于国密芯片的安全可控量产方法,其特征在于:量产过程中,量产工具更新M_KEY里面的量产剩余次数,最后量产工具将厂商信息和M_KEY的信息写入待量产芯片,完成整个量产过程;当M_KEY中的剩余次数减少到0,M_KEY将锁定,需要返厂重新获取授权。
8.根据权利要求1所述的基于国密芯片的安全可控量产方法,其特征在于:量产固件与量产工具只支持单连接。
9.根据权利要求1所述的基于国密芯片的安全可控量产方法,其特征在于:每次认证M_KEY和固件密码解析只在M_KEY插入后进行一次,一旦拔出M_KEY需要重新进行认证。
10.根据权利要求2所述的基于国密芯片的安全可控量产方法,其特征在于:每批次待量产芯片对应的key不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010375159.7A CN111611602B (zh) | 2020-05-07 | 2020-05-07 | 一种基于国密芯片的安全可控量产方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010375159.7A CN111611602B (zh) | 2020-05-07 | 2020-05-07 | 一种基于国密芯片的安全可控量产方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611602A true CN111611602A (zh) | 2020-09-01 |
CN111611602B CN111611602B (zh) | 2023-01-24 |
Family
ID=72196413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010375159.7A Active CN111611602B (zh) | 2020-05-07 | 2020-05-07 | 一种基于国密芯片的安全可控量产方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611602B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343245A (zh) * | 2021-05-27 | 2021-09-03 | 长沙海格北斗信息技术有限公司 | 芯片安全启动方法、安全芯片及其接收机 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942075A (zh) * | 2014-04-09 | 2014-07-23 | 苏州汇川技术有限公司 | 一种电梯控制器固件烧录系统及方法 |
CN104573528A (zh) * | 2014-12-31 | 2015-04-29 | 湖南国科微电子有限公司 | 一种防拷贝Soc启动方法及芯片 |
CN105468935A (zh) * | 2015-11-13 | 2016-04-06 | 福州瑞芯微电子股份有限公司 | 一种保证key安全烧录的方法、发送端、工具端及烧录端 |
CN107871068A (zh) * | 2017-10-27 | 2018-04-03 | 深圳怡化电脑股份有限公司 | 固件烧录方法、烧录器及计算机可读存储介质 |
CN109388961A (zh) * | 2018-10-24 | 2019-02-26 | 湖南国科微电子股份有限公司 | 存储设备的安全控制方法及存储设备 |
KR20190089127A (ko) * | 2019-07-10 | 2019-07-30 | 엘지전자 주식회사 | 시스템 온 칩, 시스템 온 칩의 구동 방법 및 시스템 온 칩을 포함하는 전자장치 |
CN110719166A (zh) * | 2019-10-15 | 2020-01-21 | 深圳市元征科技股份有限公司 | 芯片烧录方法、芯片烧录装置、芯片烧录系统及存储介质 |
-
2020
- 2020-05-07 CN CN202010375159.7A patent/CN111611602B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942075A (zh) * | 2014-04-09 | 2014-07-23 | 苏州汇川技术有限公司 | 一种电梯控制器固件烧录系统及方法 |
CN104573528A (zh) * | 2014-12-31 | 2015-04-29 | 湖南国科微电子有限公司 | 一种防拷贝Soc启动方法及芯片 |
CN105468935A (zh) * | 2015-11-13 | 2016-04-06 | 福州瑞芯微电子股份有限公司 | 一种保证key安全烧录的方法、发送端、工具端及烧录端 |
CN107871068A (zh) * | 2017-10-27 | 2018-04-03 | 深圳怡化电脑股份有限公司 | 固件烧录方法、烧录器及计算机可读存储介质 |
CN109388961A (zh) * | 2018-10-24 | 2019-02-26 | 湖南国科微电子股份有限公司 | 存储设备的安全控制方法及存储设备 |
KR20190089127A (ko) * | 2019-07-10 | 2019-07-30 | 엘지전자 주식회사 | 시스템 온 칩, 시스템 온 칩의 구동 방법 및 시스템 온 칩을 포함하는 전자장치 |
CN110719166A (zh) * | 2019-10-15 | 2020-01-21 | 深圳市元征科技股份有限公司 | 芯片烧录方法、芯片烧录装置、芯片烧录系统及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343245A (zh) * | 2021-05-27 | 2021-09-03 | 长沙海格北斗信息技术有限公司 | 芯片安全启动方法、安全芯片及其接收机 |
Also Published As
Publication number | Publication date |
---|---|
CN111611602B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10574655B2 (en) | Networked access control system | |
EP1500226B1 (en) | System and method for storage and retrieval of a cryptographic secret from a plurality of network enabled clients | |
JP4763368B2 (ja) | 通信カード、機密情報処理システム、機密情報転送方法およびプログラム | |
US20060005046A1 (en) | Secure firmware update procedure for programmable security devices | |
TW201532417A (zh) | 密碼金鑰供給方法、半導體積體電路及密碼金鑰管理裝置 | |
CN109035519B (zh) | 一种生物特征识别装置及方法 | |
CN111404682B (zh) | 一种Android环境密钥分段处理方法及装置 | |
EP1855224B1 (en) | Method and system for command authentication to achieve a secure interface | |
US7853787B2 (en) | Peripheral device for programmable logic controller | |
CN115314253B (zh) | 数据处理方法、装置、系统、设备及作业机械 | |
US9003197B2 (en) | Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor | |
JP2005157930A (ja) | 機密情報処理システムおよびlsi | |
CN111611602B (zh) | 一种基于国密芯片的安全可控量产方法 | |
JP2003084853A (ja) | プログラム可能なゲートアレイのためのコピー防止方法及びシステム | |
CN103703718A (zh) | 用于模糊处理密码协议的初始值的系统和方法 | |
CN1716850B (zh) | 对机顶盒芯片进行安全验证的方法和系统 | |
CN112559979B (zh) | 一种pos机上通过硬件安全芯片保护软件库授权使用的方法 | |
CN112668024B (zh) | 一种燃气表表端数据防止篡改的方法 | |
CN111523127B (zh) | 一种用于密码设备的权限认证方法及系统 | |
CN111611603B (zh) | 一种sata接口的安全量产控制设备 | |
CN114598461B (zh) | 终端设备的联机解锁方法、终端设备及可读存储介质 | |
CN111783069A (zh) | 一种租赁设备的操作方法、装置及设备 | |
CN102236754B (zh) | 数据保密方法以及使用此数据保密方法的电子装置 | |
WO1987005175A1 (en) | Method and apparatus for distributing and protecting encryption key codes | |
CN111624934B (zh) | 一种plc应用程序数据保护系统和方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |