CN111611602A - 一种基于国密芯片的安全可控量产方法 - Google Patents

一种基于国密芯片的安全可控量产方法 Download PDF

Info

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
Application number
CN202010375159.7A
Other languages
English (en)
Other versions
CN111611602B (zh
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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202010375159.7A priority Critical patent/CN111611602B/zh
Publication of CN111611602A publication Critical patent/CN111611602A/zh
Application granted granted Critical
Publication of CN111611602B publication Critical patent/CN111611602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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不同。
CN202010375159.7A 2020-05-07 2020-05-07 一种基于国密芯片的安全可控量产方法 Active CN111611602B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343245A (zh) * 2021-05-27 2021-09-03 长沙海格北斗信息技术有限公司 芯片安全启动方法、安全芯片及其接收机

Citations (7)

* Cited by examiner, † Cited by third party
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 深圳市元征科技股份有限公司 芯片烧录方法、芯片烧录装置、芯片烧录系统及存储介质

Patent Citations (7)

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

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