CN111767532A - 编程器鉴权方法和鉴权系统 - Google Patents
编程器鉴权方法和鉴权系统 Download PDFInfo
- Publication number
- CN111767532A CN111767532A CN202010535542.4A CN202010535542A CN111767532A CN 111767532 A CN111767532 A CN 111767532A CN 202010535542 A CN202010535542 A CN 202010535542A CN 111767532 A CN111767532 A CN 111767532A
- Authority
- CN
- China
- Prior art keywords
- programmer
- random number
- chip
- sends
- signature
- 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
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种编程器鉴权方法和鉴权系统,包括:提供编程器和芯片,所述编程器和所述芯片使用一个密钥对,所述密钥对包括一个公钥和一个私钥;所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器;所述编程器获取所述第一随机数,利用私钥对所述第一随机数进行加密并生成签名,将所述签名发送给所述芯片;所述芯片获取所述签名,利用公钥对所述签名进行解密得到第二随机数,并将所述第二随机数与所述第一随机数进行匹配,得出匹配结果;所述芯片根据所述匹配结果向所述编程器发送反馈信号。本方法可以防止芯片数据被非法用户的编程器所读取,可以很好的保护用户芯片的数据安全。
Description
技术领域
本发明涉及数字鉴权领域,具体而言,涉及一种编程器鉴权方法和鉴权系统。
背景技术
目前,数字芯片基本都具备一定的可编程能力和非易失性存储能力,用户为了将数据写入到芯片的非易失性存储器当中,通常需要专门的编程器来根据用户的要求将数据写入到芯片的非易失性存储器当中,但是在实现的过程中,这些编程器通常也可以读取芯片的数据,以进行数据的检验和对比来确保数据写入的正确性。由于这个特性,用户的编程器常常可以读出其它用户的数据,使得用户的数据容易的被非法用户窃取和复制,进而导致数据的泄露。
发明内容
基于此,本发明提供一种编程器鉴权方法和鉴权系统,用于解决上述芯片中的数据容易的被非法用户窃取和复制的问题,其内容如下:
一种编程器鉴权方法,其特征在于,包括:
提供编程器和芯片,所述编程器和所述芯片使用一个密钥对,所述密钥对包括一个公钥和一个私钥,所述公钥保存于所述芯片,所述私钥保存于所述编程器;
所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器;
所述编程器获取所述第一随机数,利用私钥对所述第一随机数进行加密并生成签名,将所述签名发送给所述芯片;
所述芯片获取所述签名,利用公钥对所述签名进行解密得到第二随机数,并将所述第二随机数与所述第一随机数进行匹配,得出匹配结果;
所述芯片根据所述匹配结果向所述编程器发送反馈信号,所述反馈信号用于指示所述编程器进行下一步操作。
第二方面,
所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器之前,所述编程器鉴权方法包括:
所述编程器向所述芯片发送握手信号;
所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器包括:
所述芯片在获取所述握手信号之后,生成第一随机数并将所述第一随机数发送给所述编程器。
第三方面,所述反馈信号包括许可信号和拒绝信号,所述芯片根据所述匹配结果向所述编程器发送反馈信号包括:
当所述第二随机数与所述第一随机数匹配成功,所述芯片向所述编程器发送许可信号;或者,
当所述第二随机数与所述第一随机数匹配不成功,所述芯片向所述编程器发送拒绝信号。
第四方面,所述当所述第二随机数与所述第一随机数匹配成功,所述芯片向所述编程器发送许可信号之后,所述编程器鉴权方法包括:
所述编程器获取所述许可信号之后,所述编程器对所述芯片进行读写操作。
第五方面,所述芯片包括随机数发生器,所述随机数发生器用于生成所述第一随机数。
第六方面,所述随机数发生器的种子为模拟数字转换器对热噪声的采样数据,或者芯片易失性静态内存上电时的随机初始值。
第七方面,所述公钥和私钥的加解密算法为非对称加密算法。
第八方面,所述非对称加密算法为椭圆算法。
第九方面,所述公钥保存于所述芯片的一次性可编程逻辑,所述私钥保存于所述编程器的不可读内存。
此外,本发明还提供一种编程器的鉴权系统,所述鉴权系统包括芯片和编程器,所述芯片通过数据通信接口与所述编程器连接,以进行数据交互,所述鉴权系统执行上述的编程器鉴权方法。
本发明所提供的通过编程器鉴权方法和鉴权系统,通过提供使用一对密钥对的芯片和编程器,首先由芯片发送第一随机数给编程器,编程器利用私钥对该第一随机数进行加密并生成签名之后,再将签名返回给芯片,芯片利用公钥将该签名进行解密得到第二随机数,然后将第一随机数和第二随机数进行匹配,最后根据匹配结果决定是否允许编程器对芯片的读写操作,最终实现利用芯片对编程器的鉴权过程,该方法可以防止芯片数据被非法用户的编程器所读取,可以很好的保护用户芯片的数据安全。
附图说明
图1为本发明一实施例所提供的编程器鉴权方法流程图;
图2为本发明一实施例所提供的编程器鉴权方法示意图;
图3为本发明另一实施例所提供的编程器鉴权方法流程图;
图4为本发明另一实施例所提供的编程器鉴权方法示意图;
图5为本发明一实施例所提供的鉴权系统示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1、图2所示,为本发明一实施例所提供的编程器鉴权方法流程图和鉴权方法示意图,在本方法中,共包括步骤11~15,其内容有:
步骤11:提供编程器和芯片。
上述提供的编程器和芯片共享一个密钥对,该密钥对包括一个公钥和一个私钥,其中公钥可以保存于所述芯片中,具体而言,公钥可以保存在芯片的一次性可编程逻辑中,例如:电子熔丝(efuse)。而私钥则可以保存于所述编程器的不可读内存中。其中,公钥可以被其它用户访问,但是私钥只能被编程器的拥有用户持有。此外,所述公钥和私钥的加解密算法可以采用非对称加密算法,该非对称加密算法包括但不限于椭圆算法,对于具体算法类型,本处不做限定。
此外,所述芯片和编程器可以通过数据通信接口进行连接,例如可以利用常用的低速通信协议进行数据交互,包括UART、I2C、SPI等连接方式。具体连接方式还存在多种可能,本处不做限定。
步骤12:所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器。
所述芯片还包含有随机数发生器,该随机数发生器根据随机数种子生成该随机数,该随机数种子可以是根据芯片内部的模拟数字转换器(ADC)对热噪声进行采样所确定,也可以是根据芯片内部易失性静态内存(SRAM)上电时的随机初始值而确定,本处不做具体限定。
所述芯片的随机数发生器生成第一随机数,并且可以通过数据通信接口将该第一随机数发送给编程器。
步骤13:所述编程器获取所述第一随机数,利用私钥对所述第一随机数进行加密并生成签名,将所述签名发送给所述芯片。
所述编程器可以通过数据通信接口获取到所述第一随机数,再可以利用编程器本身的私钥对该第一随机数进行加密,同时生成签名。所述签名生成之后,可以再通过数据通信接口传输给芯片。
步骤14:所述芯片获取所述签名,利用公钥对所述签名进行解密得到第二随机数,并将所述第二随机数与所述第一随机数进行匹配,得出匹配结果。
所述芯片可以通过数据通信接口获取到签名,然后利用公钥对该签名进行解密,得到第二随机数,之后再将该第二随机数和第一随机数进行对比或者匹配,相关对比或者匹配的特征可以根据情况确定,本处不做具体限定。所述匹配结果可以是当所述第二随机数与所述第一随机数匹配成功时,匹配结果为是;当所述第二随机数与所述第一随机数匹配不成功时,匹配结果为否。
步骤15:所述芯片根据所述匹配结果向所述编程器发送反馈信号。
所述反馈信号用于指示所述编程器进行下一步操作,所述反馈信号可以包括许可信号和拒绝信号,当所述匹配结果为是时,芯片则向所述编程器发送许可信号,允许所述编程器对芯片进行数据读写的操作。而当所述匹配结果为否时,芯片则向编程器发送拒绝信号,拒绝所述编程器的任何后续操作。
在本实施例中,通过提供使用一对密钥对的芯片和编程器,首先由芯片发送第一随机数给编程器,编程器利用私钥对该第一随机数进行加密并生成签名之后,再将签名返回给芯片,芯片利用公钥将该签名进行解密得到第二随机数,然后将第一随机数和第二随机数进行匹配,最后根据匹配结果决定是否允许编程器对芯片的读写操作,最终实现利用芯片对编程器的鉴权过程,该方法可以防止芯片数据被非法用户的编程器所读取,可以很好的保护用户芯片的数据安全。
本发明还提供另一实施例,参见图3、图4,在本实施例中,与上述实施例存在相同之处,故在本实施例当中不再赘述,相同之处可参考上述实施例的解释和说明。本实施例包括步骤21~28,其内容为:
步骤21:提供编程器和芯片。
步骤22:所述编程器向所述芯片发送握手信号。
所述握手信号可以表示所述编程器向所述芯片提出读写操作的请求,用于触发所述芯片的随机数发生器进行随机数的生成。
步骤23:所述芯片获取所述握手信号,生成第一随机数并将所述第一随机数发送给所述编程器。
所述芯片可以通过数据通信接口获取握手信号,该握手信号则触发芯片内部的随机数生成器产生第一随机数,之后通过数据通信接口将该第一随机数发送给编程器。
步骤24:所述编程器获取所述第一随机数,利用私钥对所述第一随机数进行加密并生成签名,将所述签名发送给所述芯片。
步骤25:所述芯片获取所述签名,利用公钥对所述签名进行解密得到第二随机数,并将所述第二随机数与所述第一随机数进行匹配,得出匹配结果。
步骤26:判断所述第二随机数与所述第一随机数匹配是否成功。
所述判断所述第二随机数和第一随机数对比或者匹配的特征或者维度可以根据具体情况确定,本处不做具体限定。
步骤271:当所述第二随机数与所述第一随机数匹配成功,所述芯片向所述编程器发送许可信号。
当匹配结果成功时,所述芯片则向所述编程器发送许可信号,允许所述编程器对芯片进行数据读写的操作。
步骤272:当所述第二随机数与所述第一随机数匹配不成功,所述芯片向所述编程器发送拒绝信号。
当匹配结果不成功时,所述芯片则向编程器发送拒绝信号,拒绝所述编程器的任何后续操作。
步骤28:所述编程器获取所述许可信号之后,所述编程器对所述芯片进行读写操作。
在本实施例当中,利用编程器的握手信号触发芯片内部的随机数发生器生成第一随机数,可以减少芯片的能耗;此外,在得出第二随机数和第一随机数的匹配结果之后,根据匹配是否成功,分别向编程器发送许可信号和拒绝信号,以使得编程器根据许可信号进行芯片数据的读写操作,以及根据拒绝信号停止芯片的任何操作。
本发明还提供一种编程器的鉴权系统,所述编程器的鉴权系统100包括芯片10和编程器20,所述芯片通过数据通信接口30与所述编程器20连接,以进行数据交互,所述鉴权系统100运行有编程器鉴权方法,所述鉴权方法与上述实施例中的编程器鉴权方法相同或者相似,相关说明可以参见上述实施例的具体说明。
尽管已经相对于一个或多个实现方式示出并描述了本发明,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本发明包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本说明书的示范性实现方式中的功能的公开结构不等同。此外,尽管本说明书的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。进一步地,应当理解的是,在本文中提及的“多个”是指两个或两个以上。对于本文中提及的步骤,其通过数字后缀仅仅是为了清晰表述实施例,便于理解,并不完全代表步骤执行的先后顺序,应当以逻辑关系的先后设定为思考。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种编程器鉴权方法,其特征在于,包括:
提供编程器和芯片,所述编程器和所述芯片使用一个密钥对,所述密钥对包括一个公钥和一个私钥,所述公钥保存于所述芯片,所述私钥保存于所述编程器;
所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器;
所述编程器获取所述第一随机数,利用私钥对所述第一随机数进行加密并生成签名,将所述签名发送给所述芯片;
所述芯片获取所述签名,利用公钥对所述签名进行解密得到第二随机数,并将所述第二随机数与所述第一随机数进行匹配,得出匹配结果;
所述芯片根据所述匹配结果向所述编程器发送反馈信号,所述反馈信号用于指示所述编程器进行下一步操作。
2.根据权利要求1所述的编程器鉴权方法,其特征在于,所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器之前,所述编程器鉴权方法包括:
所述编程器向所述芯片发送握手信号;
所述芯片生成第一随机数,并将所述第一随机数发送给所述编程器包括:
所述芯片获取所述握手信号,生成第一随机数并将所述第一随机数发送给所述编程器。
3.根据权利要求2所述的编程器鉴权方法,其特征在于,所述反馈信号包括许可信号和拒绝信号,所述芯片根据所述匹配结果向所述编程器发送反馈信号包括:
当所述第二随机数与所述第一随机数匹配成功,所述芯片向所述编程器发送许可信号;或者,
当所述第二随机数与所述第一随机数匹配不成功,所述芯片向所述编程器发送拒绝信号。
4.根据权利要求3所述的编程器鉴权方法,其特征在于,所述当所述第二随机数与所述第一随机数匹配成功,所述芯片向所述编程器发送许可信号之后,所述编程器鉴权方法包括:
所述编程器获取所述许可信号,对所述芯片进行读写操作。
5.根据权利要求1至4中任意一项所述的编程器鉴权方法,其特征在于,所述芯片包括随机数发生器,所述随机数发生器用于生成所述第一随机数。
6.根据权利要求5所述的编程器鉴权方法,其特征在于,所述随机数发生器的种子为模拟数字转换器对热噪声的采样数据,或者芯片易失性静态内存上电时的随机初始值。
7.根据权利要求6所述的编程器鉴权方法,其特征在于,所述公钥和私钥的加解密算法为非对称加解密算法。
8.根据权利要求7所述的编程器鉴权方法,其特征在于,所述非对称加密算法为椭圆算法。
9.根据权利要求8所述的编程器鉴权方法,其特征在于,所述公钥保存于所述芯片的一次性可编程逻辑,所述私钥保存于所述编程器的不可读内存。
10.一种鉴权系统,其特征在于,所述鉴权系统包括芯片和编程器,所述芯片通过数据通信接口与所述编程器连接,以进行数据交互,所述鉴权系统执行权利要求1~9任一所述的编程器鉴权方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010535542.4A CN111767532A (zh) | 2020-06-12 | 2020-06-12 | 编程器鉴权方法和鉴权系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010535542.4A CN111767532A (zh) | 2020-06-12 | 2020-06-12 | 编程器鉴权方法和鉴权系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767532A true CN111767532A (zh) | 2020-10-13 |
Family
ID=72720778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010535542.4A Pending CN111767532A (zh) | 2020-06-12 | 2020-06-12 | 编程器鉴权方法和鉴权系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767532A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1922643A (zh) * | 2004-05-12 | 2007-02-28 | 松下电器产业株式会社 | 加密系统、加密装置、解密装置、程序和集成电路 |
CN101394284A (zh) * | 2008-11-13 | 2009-03-25 | 四川长虹电器股份有限公司 | 一次性口令认证方法 |
CN101859351A (zh) * | 2009-04-08 | 2010-10-13 | 北京芯技佳易微电子科技有限公司 | 保证存储器存储的数据安全读取的系统及方法 |
CN102567671A (zh) * | 2011-12-30 | 2012-07-11 | 大连捷成实业发展有限公司 | 一种fpga配置数据的加密系统及其加密方法 |
CN102651686A (zh) * | 2011-02-23 | 2012-08-29 | 上海华虹集成电路有限责任公司 | 单片机在线可编程的身份认证方法 |
CN104573567A (zh) * | 2013-10-17 | 2015-04-29 | 联芯科技有限公司 | 芯片编程加密保护方法及其系统 |
CN105718813A (zh) * | 2015-08-25 | 2016-06-29 | 深圳市证通电子股份有限公司 | 金融智能终端及其安全机制 |
CN108234115A (zh) * | 2016-12-15 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 信息安全的验证方法、装置和系统 |
CN109801415A (zh) * | 2018-12-29 | 2019-05-24 | 海南新软软件有限公司 | 一种基于椭圆加密算法的加密锁及加密锁的开锁方法 |
-
2020
- 2020-06-12 CN CN202010535542.4A patent/CN111767532A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1922643A (zh) * | 2004-05-12 | 2007-02-28 | 松下电器产业株式会社 | 加密系统、加密装置、解密装置、程序和集成电路 |
CN101394284A (zh) * | 2008-11-13 | 2009-03-25 | 四川长虹电器股份有限公司 | 一次性口令认证方法 |
CN101859351A (zh) * | 2009-04-08 | 2010-10-13 | 北京芯技佳易微电子科技有限公司 | 保证存储器存储的数据安全读取的系统及方法 |
CN102651686A (zh) * | 2011-02-23 | 2012-08-29 | 上海华虹集成电路有限责任公司 | 单片机在线可编程的身份认证方法 |
CN102567671A (zh) * | 2011-12-30 | 2012-07-11 | 大连捷成实业发展有限公司 | 一种fpga配置数据的加密系统及其加密方法 |
CN104573567A (zh) * | 2013-10-17 | 2015-04-29 | 联芯科技有限公司 | 芯片编程加密保护方法及其系统 |
CN105718813A (zh) * | 2015-08-25 | 2016-06-29 | 深圳市证通电子股份有限公司 | 金融智能终端及其安全机制 |
CN108234115A (zh) * | 2016-12-15 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 信息安全的验证方法、装置和系统 |
CN109801415A (zh) * | 2018-12-29 | 2019-05-24 | 海南新软软件有限公司 | 一种基于椭圆加密算法的加密锁及加密锁的开锁方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891384B2 (en) | Blockchain transaction device and method | |
KR102399582B1 (ko) | 모바일 디바이스를 사용한 시스템 액세스 | |
US7103782B1 (en) | Secure memory and processing system having laser-scribed encryption key | |
US6996547B1 (en) | Method for purchasing items over a non-secure communication channel | |
CN103617401B (zh) | 一种数据文件保护方法及装置 | |
US20070028118A1 (en) | System and method for encrypted smart card pin entry | |
EP3667535B1 (en) | Storage data encryption and decryption device and method | |
CN109558340B (zh) | 一种基于可信认证的安全固态盘加密系统及方法 | |
CN106980793B (zh) | 基于TrustZone的通用口令存储及读取方法、装置及终端设备 | |
US10425821B2 (en) | Mobile data storage device with access control functionality | |
US7076667B1 (en) | Storage device having secure test process | |
US11405202B2 (en) | Key processing method and apparatus | |
US20120096280A1 (en) | Secured storage device with two-stage symmetric-key algorithm | |
US20090193261A1 (en) | Apparatus and method for authenticating a flash program | |
US20170026385A1 (en) | Method and system for proximity-based access control | |
WO2023240866A1 (zh) | 密码卡及其根密钥保护方法、计算机可读存储介质 | |
CN111401901A (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
CN101866411A (zh) | 非接触式cpu卡一卡多应用安全认证加密方法及系统 | |
KR20210132721A (ko) | 네트워크에 액세스 시의 보안 통신 | |
JP4475386B2 (ja) | チップカードの初期化 | |
CN201742425U (zh) | 非接触式cpu卡一卡多应用安全认证加密系统 | |
WO2015154469A1 (zh) | 数据库的操作方法及装置 | |
US8234501B2 (en) | System and method of controlling access to a device | |
CN112241523A (zh) | 一种嵌入式计算机开机身份认证方法 | |
CN112241633B (zh) | 一种非接触式智能卡的双向认证实现方法及系统 |
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 |