CN114091123A - 安全集成电路芯片及其保护方法 - Google Patents
安全集成电路芯片及其保护方法 Download PDFInfo
- Publication number
- CN114091123A CN114091123A CN202110569708.9A CN202110569708A CN114091123A CN 114091123 A CN114091123 A CN 114091123A CN 202110569708 A CN202110569708 A CN 202110569708A CN 114091123 A CN114091123 A CN 114091123A
- Authority
- CN
- China
- Prior art keywords
- value
- random number
- integrated circuit
- way function
- unlocking
- 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/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/77—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 smart cards
-
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明提供一种安全集成电路芯片及其保护方法,安全芯片装置包括存储器,用来储存加密值E和单向函数输出值H,上述单向函数输出值H是以随机数N输入单向函数进行计算所得的输出值:接口,用于与外部装置传输数据;以及芯片安全电路,用于锁定芯片装置的一部分以防止使用,通过接口接收来自解锁硬件安全模块的解锁要求,提供加密值E到硬件安全模块,以回应解锁要求,接收来自解锁硬件安全模块的值N',上述值N'是加密值E的解密值,根据值N'计算单向函数输出值H',比较值H'和值H,以及当值H'匹配值H,解锁芯片装置的该部分以供使用,提高安全性。
Description
技术领域
本发明与集成电路芯片有关,特别是但不限于芯片解锁。
背景技术
集成电路(Integrated Circuit,IC)制造的高成本导致大量地将IC芯片制造外包给第三方。研究已显示外包可能造成各样的风险,例如,安全风险(例如,对装置进行篡改,包括在芯片中添加恶意硬件模块),为他人非法制造芯片以及在某些情况下窃取IC芯片设计。各样的方法已被引进来减轻这些风险。
例如,可以通过利用布局伪装来减轻风险,该伪装会改变芯片的外观,以混淆IC芯片的设计信息。
通过另一示例,逻辑锁定可使用专门锁定电路来补充现有芯片设计,上述专门锁定电路与现有单元紧密相连并经由金钥来影响IC功能,该金钥由芯片供应商或芯片所有者(例如,芯片设计者或知识产权所有者)持有。当提供正确的金钥时,IC芯片或其一部分将解锁并准备使用。因此,芯片只能由芯片所有者或供应商解锁。
锁定芯片还有其他原因。例如,在某些应用上,可锁定芯片的除错接口,以防止客户和其他第三方存取除错接口。芯片所有者或供应商可能具有安全地解锁除错接口的能力,以处理客户退还的芯片或测试芯片,作为后期生产质量保证的一部分。
逻辑锁定的一示例已被描述在Roy等人的美国专利公开2010/0287374,该文件描述通过对装置上的汇流排进行加密/解密来锁定和解锁基于集成电路(IntegratedCircuit,IC)装置的技术。该汇流排可以是该IC的系统汇流排,在该IC中的汇流排,或外部的输入/输出汇流排。分享秘密协议被用在IC设计者和制造该IC的制造设施之间。在制造设施的该IC,通过使用从IC设计者接收到的独特识别数据所产生的加密密钥,拌码该IC上的汇流排。该IC的汇流排被加密密钥锁住后,只有该IC设计者可以决定以及沟通所需的适当的启动密钥,以解锁(例如,非拌码)该汇流排,从而使该集成电路可用。
Roy等人的美国专利公开2010/0287374描述了利用组合电路锁定系统和基于公开金钥密码学的活化协议来降低集成电路设计的盗版可能性的技术。每个集成电路由一个外部金钥活化,上述金钥只能由验证者产生,例如,电路设计者。在电路设计期间,IC设计的暂存器传输层级(Register Transfer Level,RTL)的描述被嵌入到基于组合逻辑的主金钥上,上述主金钥由验证者实施。组合逻辑至少提供了一已锁定的RTL描述的模块,例如,加密的。来自验证者的完整电路设计以组合逻辑锁定模块的形式,被送至制造实验室。在制造后,仅当认证者发送适当的金钥时才能活化电路,上述金钥通过电路解锁锁定部分,以及活化其电路。
Ghosh等人的美国专利申请2017/0180131描述了用于安全解锁以存取除错硬件的系统和技术。可在装置的硬件除错存取埠接收加密金钥。可从装置的解锁单元上的加密金钥以计算摘要。可从装置上的非挥发只读储存器接收保险丝值。可将摘要和保险丝值进行比较以确定它们是否一样。可提供通过失败脉冲以表示比较结果。
Case等人的美国专利8,332,641描述了一种集成电路(Integrated Circuit,IC)装置,上述集成电路装置在第一方的指示下被配置为通过第一方的验证能够暂时地存取IC装置的除错接口,上述第一方利用IC装置的金钥和在IC装置上所产生的挑战值的挑战/回应过程进行验证。之后,第一方可由除错接口执行IC装置上的软件评估。在验证时第一方可永久地开放除错接口的存取,并提供IC装置给第二方,以回应无法从软件评估中识别出IC装置的问题。在第二方的指示下,通过除错接口执行IC装置的硬件评估,上述除错接口被第一方永久地开放。
发明内容
根据本发明的其他实施例,提供一种安全集成电路芯片装置,包括存储器,被配置为储存仅被使用一次的随机数(number used once:nonce;以下简称为“随机数”)N的加密值E和单向函数输出值H,上述单向函数输出值H是以随机数N输入单向函数进行计算所得的输出值:接口,被配置为与外部装置传输数据,以及芯片安全电路,被配置为锁定IC芯片装置的一部分以防止使用,通过接口接收来自解锁硬件安全模(Hardware Security Module,HSM)的解锁要求,通过回应解锁要求的接口提供加密值E到HSM,接收来自解锁HSM的值N',上述值N'是加密值E的解密值,根据值N'计算单向函数输出值H',比较单向函数输出值H'与单向函数输出值H,以及当值H'匹配值H,解锁IC芯片装置的该部分以供使用。
进一步,根据本发明的实施例,装置包括随机数产生器,以产生随机数N,以及芯片安全电路,被配置为提供随机数N到安全设定HSM,接收来自安全设定HSM的加密值E和单向函数输出值H,以及删除随机数N。
进一步,根据本发明的实施例,装置包括随机数产生器,以产生随机数N,以及芯片安全电路,被配置为计算单向函数输出值H以回应随机数N,提供随机数N到安全设定HSM,接收来自安全设定HSM的加密值E,以及删除随机数N。
另外,根据本发明的实施例,装置包括随机数产生器,以产生随机数N,以及芯片安全电路,被配置为加密随机数N以产生加密值E,计算单向函数输出值H以回应随机数值N,以及删除随机数N。
此外,根据本发明的实施例,芯片安全电路被配置为接收来自安全设定HSM的加密值E和单向函数输出值H。
进一步,根据本发明的实施例,IC芯片装置的该部分包括除错接口。
据本发明的其他实施例,提供一种安全集成电路芯片方法,包括执行芯片安全设定过程,上述过程包括储存随机数N的加密值E和单向函数输出值H,上述单向函数输出值H是以随机数N输入单向函数进行计算所得的输出值,且存在IC芯片装置的存储器中,以及锁定IC芯片装置的一部分以防止使用,以及通过IC芯片装置执行解锁过程,上述过程包括通过接口接收来自解锁硬件安全模块(Hardware Security Module,HSM)的解锁要求,通过回应解锁要求的接口提供加密值E到HSM,接收来自解锁HSM的值N',上述值N'是加密值E的解密值,根据值N'计算单向函数输出值H',比较单向函数输出值H'与单向函数输出值H,以及当值H'匹配值H,解锁IC芯片装置的该部分以供使用。
进一步,根据本发明的实施例,芯片安全设定过程更包括IC芯片装置随机地产生随机数N,提供随机数N到安全设定HSM,接收来自安全设定HSM的加密值E和单向函数输出值H,以及删除随机数N。
另外,根据本发明的实施例,芯片安全设定过程更包括IC芯片装置随机地产生随机数N,计算单向函数输出值H以回应随机数值N,提供随机数N到安全设定HSM,接收来自安全设定HSM的加密值E,以及删除随机数N。
此外,根据本发明的实施例,芯片安全设定过程更包括IC芯片装置随机地产生随机数N,加密随机数N以产生加密值E,计算单向函数输出值H以回应随机数值N,以及删除随机数N。
另外,根据本发明的实施例,芯片安全设定过程更包括IC芯片装置接收来自安全设定HSM的加密值E和单向函数输出值H。
根据本发明的其他实施例,提供一种安全集成电路芯片方法,包括执行芯片安全设定过程,上述过程包括储存加密值E和单向函数输出值H,上述输出值H是以随机数N输入单向函数进行计算所得的输出值,且存在IC芯片装置的存储器中,以及锁定IC芯片装置的一部分以防止使用,以及执行解锁过程,上述过程包括通过解锁硬件安全模块(HardwareSecurity Module,HSM)产生解锁要求,通过IC芯片装置提供已储存的加密值E到HSM以回应解锁要求,通过HSM产生的值N'解密加密值E,通过HSM提供值N'到IC芯片装置,通过IC芯片装置计算单向函数输出值H'以回应值N',通过IC芯片装置比较单向函数输出值H'与已储存的单向函数输出值H,以及通过IC芯片装置,解锁IC芯片装置的该部分以供使用,以回应在值H'和值H之间的匹配。
进一步,根据本发明的实施例,芯片安全设定过程更包括通过IC芯片装置随机地产生随机数N,通过IC芯片装置提供随机数N到安全设定HSM,通过安全设定HSM,各自地加密随机数N和以随机数N输入单向函数进行计算,以产生加密值E和单向函数输出值H,提供加密值E和单向函数输出值H到IC芯片装置,以及删除来自IC芯片装置的随机数N。
另外,根据本发明的实施例,加密包括加密随机数N以回应解锁HSM的公开金钥,以及解密包括解密加密值E以回应解锁HSM的私密金钥。
此外,根据本发明的实施例,芯片安全设定过程更包括通过IC芯片装置随机地产生随机数N,通过IC芯片装置计算单向函数输出值H以回应随机数值N,通过IC芯片装置提供随机数N到安全设定HSM,通过安全设定HSM加密随机数N以产生加密值E,提供加密值E到IC芯片装置,以及删除来自IC芯片装置的随机数N
进一步,根据本发明的实施例,加密包括加密随机数N以回应解锁HSM的公开金钥,以及解密包括解密加密值E以回应解锁HSM的私密金钥。
进一步,根据本发明的实施例,芯片安全设定过程更包括通过安全设定HSM,各自地加密随机数N和以随机数N输入单向函数进行计算,以产生加密值E和单向函数输出值H,以及提供加密值E和单向函数输出值H到IC芯片装置。
另外,根据本发明的实施例,加密包括加密随机数N以回应解锁HSM的公开金钥,以及解密包括解密加密值E以回应解锁HSM的私密金钥。
另外,根据本发明的实施例,芯片安全设定过程更包括通过IC芯片装置执行随机地产生通过IC芯片装置的随机数N,加密随机数N以产生加密值E,以随机数N输入单向函数进行计算,产生单向函数输出值H,以及删除来自IC芯片装置的随机数N。
进一步,根据本发明的实施例,加密包括加密随机数N以回应解锁HSM的公开金钥,以及解密包括解密加密值E以回应解锁HSM的私密金钥。
附图说明
从以下的详细描述并结合图式可以了解本发明,其中:
图1为根据本发明的实施例,阐述建立和执行的集成电路(IC)芯片安全设定系统的部分的方块图。
图2为包括在图1的系统的执行方法的步骤的流程图。
图3为根据本发明的实施例,阐述建立和执行的第一替代集成电路(IC)芯片安全设定系统的部分的方块图。
图4为包括在图3的系统的执行方法的步骤的流程图。
图5为根据本发明的实施例,阐述建立和执行的第二替代集成电路(IC)芯片安全设定系统的部分的方块图。
图6为包括在图5的系统的执行方法的步骤的流程图。
图7为根据本发明的实施例,阐述建立和执行的第三替代集成电路(IC)芯片安全设定系统的部分的方块图。
图8为包括在图7的系统的执行方法的步骤的流程图。
图9为根据本发明的实施例,阐述建立和执行的集成电路(IC)芯片安全解锁系统的部分的方块图。
图10为包括在图9的系统的执行方法的步骤的流程图。
附图标号:
10~集成电路芯片安全设定系统
14~安全设定HSM
16~处理器
18~接口
20~杂凑电路
22~加密引擎
24~随机数产生器
26~IC芯片装置
28~存储器
30~接口
32~芯片安全电路
34~受保护部分
36~杂凑电路
37~随机数产生器
39~加密引擎
50~集成电路芯片安全设定系统执行方法的步骤流程图
52~产生随机数N
54~加密随机数N
56~计算随机数N的密码杂凑
58~提供加密值E和密码杂凑值H
60~接收加密值E和密码杂凑值H
62~储存加密值E和密码杂凑值H
64~锁定IC芯片装置的受保护部分
100~第一替代集成电路芯片安全设定系统
150~第一替代集成电路芯片安全设定系统执行方法的步骤流程图
152~产生随机数N
154~计算密码杂凑值H
156~提供随机数N到安全设定HSM
158~删除随机数N
160~加密随机数N
162~提供加密值E到IC芯片装置
164~接收加密值E
166~储存加密值E和密码杂凑值H
168~锁定IC芯片装置的受保护部分
200~第二替代集成电路芯片安全设定系统芯片安全设定系统
250~第二替代集成电路芯片安全设定系统执行方法的步骤流程图
252~产生随机数N
254~提供随机数N
256~删除随机数N
258~加密随机数N
260~计算随机数N的密码杂凑
262~提供加密值E和密码杂凑值H到IC芯片装置
264~接收加密值E和密码杂凑值H
266~储存加密值E和密码杂凑值H
268~锁定IC芯片装置的受保护部分
300~第三替代集成电路芯片安全设定系统
350~第三替代集成电路芯片安全设定系统执行方法的步骤流程图
352~锁定IC芯片装置的受保护部分
354~产生随机数N
356~加密随机数N
358~计算随机数N的密码杂凑
360~删除随机数N
362~储存加密值E和密码杂凑值H
400~集成电路芯片安全解锁系统
402~解锁HSM
404~处理器
406~接口
408~解密引擎
410~解锁要求
450~集成电路芯片安全解锁系统执行方法的步骤流程图
452~产生解锁要求
454~接收解锁要求
456~提供加密值E到解锁HSM
458~解密加密值E
460~提供N'到IC芯片装置
462~接收来自解锁HSM的N'
464~计算密码杂凑H'
466~比较H'和H
468~锁定IC芯片装置的受保护部分
具体实施方式
如前所述,逻辑锁定可使用专门锁定电路来补充现有芯片设计,上述专门锁定电路与现有单元紧密相连并经由金钥来影响IC功能,该金钥由芯片所有者持有。当提供正确的金钥时,IC或其一部分将解锁并可以使用。
提供用于秘密金钥解锁的锁定逻辑的成功取决于秘密金钥的安全性。当IC芯片储存秘密金钥时,锁定逻辑的安全性可由搜索秘密金钥的黑客所组成。
上述问题的一种解决方法不是储存秘密金钥,而是储存秘密金钥的函数值。之后,可向IC芯片提供秘密金钥,然后通过函数对上述秘密金钥处理,从而产生与储存值比较的结果。当结果和储存值匹配时,可解锁IC芯片逻辑。
上述解决方法要求芯片所有者或供应商(例如,设计者或知识产权所有者)对所有IC芯片使用相同的秘密金钥,或者使用IC芯片(例如,通过芯片ID)连结到IC芯片的各别的秘密金钥的查询表。在所有芯片上具有相同的秘密金钥有潜在的安全风险,因一旦知道金钥,所有芯片都可能被非法地解锁。维护查询表可能会很麻烦,并且会带来自身的安全风险。
通过储存在每个IC芯片上的二个值,本发明的实施例解决上述问题。一个值是随机数(nonce)N的密码杂凑值H,另一个值是随机数N的加密值E。基于IC芯片所有者或供应商持有的密钥(基于对称或非对称加密),加密值E可被加密。在有些实施例中,在生产期间可将值E和值H添加到每个芯片,例如,通过IC芯片所有者的安全设定(security-setup)硬件安全模块(Hardware Security Module,HSM)。在有些实施例中,随机数N可由每个芯片提供给HSM。在其他实施例中,杂凑值H及/或加密值E可由每个芯片计算,例如,当IC芯片接收解锁要求时。芯片或其部分保持锁定,直到与随机数N相匹配的值提供给芯片为止,将如下更详细描述。
可以解锁芯片以用于一般用途或特定用途,例如除错或测试芯片,作为后期生产质量保证的一部分。在有些实施例中,在芯片运送到客户之前,芯片可能出于某些目的,例如,除错,而被重新锁定,但是会为了芯片的其他一般用途而将其解锁。当芯片由客户退还给芯片供应商时,芯片供应商可解锁芯片,例如,除错。一旦芯片已经被解锁,芯片可能会在特定逾时后自动地重新锁定,或者芯片可能需要由HSM手动地重新锁定。
在有些实施例中,对随机数执行密码杂凑所产生的密码杂凑值H,可被以随机数或其他值输入单向函数(不一定需要密码杂凑函数)进行计算以产生单向函数输出值(不一定需要杂凑值)所取代。当IC芯片所有者的解锁(unlocking)硬件安全模块(HardwareSecurity Module,HSM)要求IC芯片解锁时,上述IC芯片提供各别的加密值E到HSM。HSM解密加密值E,产生值N'。值N'由HSM传送到芯片,上述芯片执行N'的密码杂凑以产生值H',比较杂凑值H'和储存的杂凑值H,以及当在H和H'之间存在匹配时,解锁IC芯片。
在上述方法中,可基于未直接存在芯片中且没有HSM的秘密(例如,随机数N),来解锁芯片。上述HSM为必须储存秘密因为在芯片上的加密值E以安全的方式提供秘密到解锁HSM。因此,芯片提供独立的安全性,因为HSM不需要查询表,上述查询表是IC芯片(例如,通过芯片ID)连结到IC芯片各别的秘密金钥。
储存在IC芯片中的加密值和杂凑值是典型地受到保护的。杂凑值是受到保护免于窜改,因试图改变杂凑值可导致骇侵各别的IC芯片。加密值一般地免于被清除或被窜改,如同没有正确的加密值,各别的IC芯片可以防止解锁,甚至是合法的解锁尝试。
虽然相同的随机数N可用在每个芯片,但在每个芯片中使用不同的、典型地随机产生的随机数N可提高安全性。以此方法,当解锁HSM不需储存秘密时,可使用不同的秘密解锁每个芯片,上述不同的秘密不需存在每个各别的芯片上。解锁HSM仅储存相关的解密金钥以解密不同的加密值E。在有些实施例中,基于相同的随机数N,可保护一个以上的芯片。
在有些实施例中,每个随机数N由对称加密和一般密码金钥执行加密和解密。在有些实施例中,金钥可以为某些芯片特定数据的函数,例如,芯片ID。
在其他实施例中,使用非对称密码学,其中使用解锁HSM的公开金钥加密每个随机数N,以及由上述解锁HSM使用其私密金钥进行解密。
在本说明书和权利要求书中,互换地所用的术语“拌码”和“加密”以其所有语法形式,为用于拌码及/或加密数据的任何适当的拌码及/或加密方法,及/或用于尝试使数据难以理解的任何其他适当方法,但预期的接收者除外。已知的拌码或加密类型包括但不限于DES(Data Encryption Standard),3DES(Triple DES),RSA(Rivest–Shamir–Adleman),以及AES(Advanced Encryption Standard,AES)。相似地,在本说明书和权利要求书中,所使用的术语“解拌的”和“解密的”以其所有语法形式,为术语“拌码的”和“加密的”以其所有语法形式的反义词。
[系统描述]
如上所述,每个芯片IC储存加密值E和密码杂凑值H,上述这些值在每个各别的IC芯片的解锁期间使用。参照图1至图8,以下描述了不同的实施例,以产生用于储存在IC芯片上的值E和值H。参照图1至图6所述的实施例使用外部的硬件安全模块(Hardware SecurityModule,HSM)以产生值E和可选择的值H。参照图7至图8所述的实施例描述IC芯片不须外部HSM的帮忙即可产生值E和值H。参照图9至图10所述的实施例描述利用先前储存在IC芯片中的值E和值H的锁解过程。
现在参照于图1,图1为根据本发明的实施例,阐述建立和执行的集成电路(Integrated Circuit,IC)芯片安全设定系统10的部分的方块图。
IC芯片安全设定系统10包括安全设定硬件安全模块(Hardware SecurityModule,HSM)14,上述安全设定HSM是典型地但非必要位于芯片制造商(未表示),以及通常被适当地保护以防篡改。安全设定HSM 14通常由IC芯片供应商或所有者(例如,IC芯片设计者及/或知识产权所有者)维护和执行。IC芯片安全设定系统10可储存一或多个开机金钥(root keys),上述开机金钥被用来产生金钥和签署凭证以储存在由芯片制造商生产的IC芯片上。安全设定HSM 14包括处理器16,接口18,杂凑电路20(或单向函数计算电路),加密引擎22,以及随机数产生器(Random number Generator,RNG)24。处理器16被配置为执行一般处理任务,包括管理安全设定HSM 14的各个元素之间以及通过接口18在外部装置之间的数据传输。接口18配置为通过使用任何合适的有线及/或无线通信协议,在外部装置(例如,IC芯片)之间传输数据。在有些实施例中,以下的一或多个的功能:杂凑电路20,加密引擎22和随机数产生器24,可以合并到处理器16中。在其他实施例中,杂凑电路20,加密引擎22和随机数产生器24可以使用一个或多个合适的处理电路单元来实现,上述处理电路单元可以是硬件连线及/或可程序化装置。
实际上,处理器16的有些或全部功能可以组合在单一实际元件中,或可替代地,使用多个实际元件来实现。这些实际元件可以包括硬布线(hard-wired)或可程序化装置,或两者的结合。在有些实施例中,处理器16的至少有些功能可以在适当的软件的控制下通过可程序化处理器实现。例如,上述软件可通过网络以电子形式下载到装置。替代地,或另外地,软件可以储存在有形的,非暂态电脑可读取的储存媒体中,例如光学、磁性、或电子存储器。
图1显示安全集成电路(IC)芯片装置26。IC芯片装置26包括存储器28;接口30,被配置为与外部装置(例如,安全设定HSM 14)传输数据;芯片安全电路32;以及IC芯片装置26的受保护部分34。接口30可被配置为通过有线及/或无线通信协议,与安全设定HSM 14传输数据。在有些实施例中,接口30是包括与安全设定HSM 14间接接口的硬件及/或软件层的间接接口。例如,例如,外部软件(例如,动态连结程序库(Dynamic-link library,DLL))可与HSM 14通信,并执行安全功能。芯片安全电路32包括杂凑电路36(或单项函数计算电路)以计算密码杂凑。受保护部分34可包括除错接口(例如,除错硬件),上述除错接口在后期生产测试及/或处理客户退还IC芯片装置26期间,可被解锁。
实际上,芯片安全电路32的有些或全部功能可以组合在单一实际元件中,或可替代地,使用多个实际元件来实现。这些实际元件可以包括硬件连线或可程序化装置,或两者的结合。在有些实施例中,芯片安全电路32的至少有些功能可以在适当的软件的控制下通过可程序化处理器实现。例如,上述软件可通过网路以电子形式下载到装置。替代地,或另外地,软件可以储存在有形的,非暂态电脑可读取的储存媒体中,例如光学、磁性、或电子存储器。
参照于图1和图2,现在描述芯片安全设定过程。图2是流程图50,上述流程图50包括图1的系统10的执行方法的步骤。在图2的左侧表示通过安全设定HSM 14所执行的步骤,然而在图2的右侧表示通过IC芯片装置26所执行的步骤。
安全设定HSM 14的随机数产生器24被配置为选择地随机产生(方块52)随机数N。安全设定HSM 14的加密引擎22被配置为加密(方块54)随机数N以产生加密值E。在有些实施例中,加密引擎22被配置为通过使用基于秘密金钥的对称加密,加密随机数N。在其他实施例中,加密引擎22被配置为加密随机数N以回应锁解HSM的公开金钥,上述参照于图9和图10将更详细地描述。
安全设定HSM 14的杂凑电路20被配置为计算(方块56)随机数N的密码杂凑以产生密码杂凑值H。杂凑电路20可使用任何合适的密码杂凑演算法,例如但非限于MD5(MD5Message-Digest Algorithm),SHA-1(Secure Hash Algorithm 1),SHA-2(Secure HashAlgorithm 2),或SHA-3(Secure Hash Algorithm 3)。
在有些实施例中,对随机数执行密码杂凑以产生密码杂凑值H,上述密码杂凑值H可被以随机数或其他值输入计算单向函数(不一定需要密码杂凑函数)进行计算以产生单向函数输出值(不一定需要杂凑值)所取代。
安全设定HSM 14的处理器16被配置为通过安全设定HSM 14的接口18,提供(方块58)加密值E和密码杂凑值H到IC芯片装置26。IC芯片装置26的芯片安全电路32被配置为通过IC芯片装置26的接口30,接收(方块60)来自安全设定HSM 14的接口18的加密值E和密码杂凑值H。存储器28被配置为储存(方块62)加密值E和密码杂凑值H。存储器可包括一次性可程序化(one-time programmable,OTP)存储器或非挥发性存储器,例如,典型为防止窜改的快闪存储器。
芯片安全电路32被配置为锁定(方块64)IC芯片装置26的受保护部分34以防止使用。芯片安全电路32可以在执行方块52~62的步骤之后或在方块52~64的步骤之前锁定受保护部分34,例如,在锁定状态可制造IC芯片装置26。在说明书和权利要求中所使用的术语“解锁”被定义为包括解锁以用于受保护部分34的一般使用或解锁以用于特定用途,例如,除错。在说明书和权利要求中所使用的术语“锁定”被定义为锁定受保护部分34以用于所有用途或特定用途,例如。除错。然而,即使受在保护部分34是被锁定以用于特定用途时,受保护部分34的其他功能也可以被解锁以供使用。
参照于图3和图4,现在描述其他的芯片安全设定过程。图3为根据本发明的实施例,阐述建立和执行的第一替代集成电路(Integrated Circuit,IC)芯片安全设定系统100的部分的方块图。图4为包括在图3的系统100的执行方法的步骤的流程图150。除了以下差异之外,系统100与IC芯片安全设定系统10(图1)基本上相同。
在图4的左侧表示通过安全设定HSM 14所执行的步骤,然而在图4的右侧表示通过IC芯片装置26所执行的步骤。图3的IC芯片装置26的芯片安全电路32也包括随机数产生器37。
IC芯片装置26的随机数产生器37被配置为随机地产生(方块152)随机数N。IC芯片装置26的杂凑电路36被配置为计算(方块154)密码杂凑值H以回应随机数N(亦即,根据随机数N计算密码杂凑值H)。杂凑电路36可使用任何合适的密码杂凑演算法,例如但非限于MD5(MD5 Message-Digest Algorithm),SHA-1(Secure Hash Algorithm 1),SHA-2(SecureHash Algorithm 2),或SHA-3(Secure Hash Algorithm 3)。
IC芯片装置26的芯片安全电路32被配置为通过IC芯片装置26的接口30,提供(方块156)随机数N到安全设定HSM 14的接口18。芯片安全电路32被配置为删除(抹除)(方块158)来自存储器(例如,来自存储器28和任何快取存储器)的随机数N。
安全设定HSM 14的加密引擎22被配置为加密(方块160)随机数N以产生加密值E。在有些实施例中,加密引擎22被配置为通过使用基于秘密金钥的对称加密,加密随机数N。在其他实施例中,加密引擎22被配置为加密随机数N以回应锁解HSM的公开金钥,上述参照于图9和图10将更详细地描述。
安全设定HSM 14的处理器16被配置为通过安全设定HSM 14的接口18,提供(方块162)加密值E到IC芯片装置26。IC芯片装置26的芯片安全电路32被配置为通过IC芯片装置26的接口30,接收(方块164)来自安全设定HSM 14的接口18的加密值E。
存储器28被配置为储存(方块166)加密值E和密码杂凑值H。芯片安全电路32被配置为锁定(方块168)IC芯片装置26的受保护部分34以防止使用。芯片安全电路32可以在执行方块152~166的步骤之后或在方块152~166的步骤之前锁定受保护部分34,例如,在锁定状态可制造IC芯片装置26。
参照于图5和图6,现在描述其他的芯片安全设定过程。图5为根据本发明的实施例,阐述建立和执行的第二替代集成电路(Integrated Circuit,IC)芯片安全设定系统200的部分的方块图。图6为包括在图5的系统200的执行方法的步骤的流程图250。除了以下差异之外,系统200与IC芯片安全设定系统10(图1)基本上相同。
在图6的左侧表示通过安全设定HSM 14所执行的步骤,然而在图6的右侧表示通过IC芯片装置26所执行的步骤。图5的IC芯片装置26的芯片安全电路32也包括随机数产生器37。
随机数产生器37被配置为随机地产生(方块252)随机数N。IC芯片装置26的芯片安全电路32被配置为通过IC芯片装置26的接口30,提供(方块254)随机数N到安全设定HSM 14的接口18。芯片安全电路32被配置为删除(抹除)(方块256)来自存储器(例如,来自存储器28和任何快取存储器)的随机数N。
安全设定HSM 14的加密引擎22被配置为加密(方块258)随机数N以产生加密值E。在有些实施例中,加密引擎22被配置为通过使用基于秘密金钥的对称加密,加密随机数N。在其他实施例中,加密引擎22被配置为加密随机数N以回应锁解HSM的公开金钥,上述参照于图9和图10将更详细地描述。
安全设定HSM 14的被配置为计算(方块260)随机数N的密码杂凑以产生密码杂凑值H。
安全设定HSM 14的处理器16被配置为通过安全设定HSM 14的接口18,提供(方块262)加密值E和密码杂凑值H到IC芯片装置26。IC芯片装置26的芯片安全电路32被配置为通过IC芯片装置26的接口30,接收(方块264)来自安全设定HSM 14的接口18的加密值E和密码杂凑值H。存储器28被配置为储存(方块266)加密值E和密码杂凑值H。芯片安全电路32被配置为锁定(方块268)IC芯片装置26的受保护部分34以防止使用。芯片安全电路32可以在执行方块252~266的步骤之后或在方块252~266的步骤之前锁定受保护部分34,例如,在锁定状态可制造IC芯片装置26。
参照于图7和图8,现在描述其他的芯片安全设定过程。现在参照图7和图8。图7为根据本发明的实施例,阐述建立和执行的第三替代集成电路(IC)芯片安全设定系统300的部分的方块图。图8为包括在图7的系统300的执行方法的步骤的流程图350。图7的IC芯片装置26的芯片安全电路32也包括加密引擎39。
芯片安全电路32被配置为锁定(方块352)IC芯片装置26的受保护部分34以防止使用。芯片安全电路32在任何合适的时间可锁定受保护部分34,例如,在执行方块354~362的步骤之后或在方块354~362的步骤之前,例如,在锁定状态可制造IC芯片装置26。方块354到362的步骤可作为生产过程的一部分或解锁过程(其中方块362的步骤是可选择的)的一部分来执行,以回应接收解锁要求,上述参照于图9和图10将更详细地描述。
随机数产生器37被配置为随机地产生(方块354)随机数N。加密引擎39被配置为加密(方块356)随机数N以产生加密值E。在有些实施例中,加密引擎22被配置为通过使用基于秘密金钥的对称加密,加密随机数N。在其他实施例中,加密引擎22被配置为加密随机数N以回应锁解HSM的公开金钥,上述参照于图9和图10将更详细地描述。杂凑电路36被配置为计算(方块358)随机数N的密码杂凑以产生密码杂凑值H。芯片安全电路32被配置为删除(抹除)(方块360)来自存储器(例如,来自存储器28和任何快取存储器)的随机数N。存储器28被配置为储存(方块362)加密值E和密码杂凑值H。
现在参照图9和图10。图9为根据本发明的实施例,阐述建立和执行的集成电路(Integrated Circuit,IC)芯片安全解锁系统400的部分的方块图。图10为包括在图9的系统400的执行方法的步骤的流程图450。
集成电路(IC)芯片安全解锁系统400包括解锁HSM 402,上述解锁HSM 402包括处理器404、接口406,以及解密引擎408。解锁HSM 402由IC芯片持有者(例如,IC芯片设计者及/或知识产权所有者)或IC芯片供应商维护和执行。在有些实施例中须注意到,解锁HSM402和安全设定HSM 14可在不同的地理位置执行。
处理器404被配置为执行一般处理任务,包括管理解锁HSM 402的各个元素之间以及通过接口406在外部装置之间的数据传输。接口406配置为通过使用任何合适的有线及/或无线通信协议,在外部装置(例如,IC芯片)之间传输数据。在有些实施例中,可将解密引擎408的功能合并到处理器16中。在其他实施例中,解密引擎408可以用合适的处理电路来实现,上述处理电路可以是硬件连线及/或可程序化装置。
实际上,处理器404的有些或全部功能可以组合在单一实际元件中,或可替代地,使用多个实际元件来实现。这些实际元件可以包括硬件连线或可程序化装置,或两者的结合。在有些实施例中,处理器404的至少有些功能可以在适当的软件的控制下通过可程序化处理器实现。例如,上述软件可通过网络以电子形式下载到装置。替代地,或另外地,软件可以储存在有形的,非暂态电脑可读取的储存媒体中,例如光学、磁性、或电子存储器。
图9所示的IC芯片装置26也表示随机数产生器37和加密引擎39。除非执行杂凑值H和加密值E的产生,以回应解锁要求,否则通常不使用随机数产生器37和加密引擎39作为解锁过程的一部分。在有些实施例中,IC芯片装置26不包括随机数产生器37和加密引擎39。
现将在以下描述解锁过程。在图10的左侧表示通过解锁HSM 402所执行的步骤,然而在图10的右侧表示通过IC芯片装置26所执行的步骤。
HSM 402的处理器404被配置为产生(方块452)解锁要求410。处理器404被配置为通过接口406,提供解锁要求410到IC芯片装置26。
IC芯片装置26的芯片安全电路32被配置为通过IC芯片装置26的接口30,接收(方块454)来自解锁HSM 402的解锁要求410。
在有些实施例中,IC芯片装置26被配置为产生加密值E和密码杂凑值H,以回应接收解锁要求410,参照图7和图8如上所述,以及将加密值E和密码杂凑值H储存在存储器28,上述存储器可配置为快取存储器’一次性可程序化(one-time programmable,OTP)存储器,或非挥发性存储器(例如,快闪存储器)。
IC芯片装置26的芯片安全电路32被配置为通过接口30,提供(方块456)已储存的加密值E(储存在存储器28)到解锁HSM 402,以回应解锁要求410。
处理器404被配置为通过接口406接收加密值E和传送加密值E到解密引擎408以用于解密。解锁HSM 402的解密引擎408被配置为解密(方块458)加密值E,以产生值N'。
在有些实施例中,解密引擎408被配置为通过使用基于秘密金钥的对称加密解密加密值E,上述秘密金钥被用来加密随机数N以产生加密值E。在有些实施例中,解密引擎408被配置为解密加密值E,以回应解锁HSM 402的私密金钥。
处理器404被配置为通过接口406提供(方块460)值N'到IC芯片装置26。IC芯片装置26的芯片安全电路32被配置为通过接口30,接收(方块462)来自解锁HSM 402的值N'。
芯片安全电路32的杂凑电路36被配置为计算(方块464)密码杂凑值H',以回应值N'(例如,计算值N'的密码杂凑)。杂凑电路36可使用任何合适的密码杂凑演算法,例如,但非限于MD5(MD5 Message-Digest Algorithm),SHA-1(Secure Hash Algorithm 1),SHA-2(Secure Hash Algorithm 2),或SHA-3(Secure Hash Algorithm 3)。
芯片安全电路32被配置为比较(方块466)密码杂凑值H'和已储存的密码杂凑值H(储存在存储器28)。芯片安全电路32被配置为解锁(方块468)IC芯片装置26的受保护部分34以供使用,以回应找出在杂凑值H'和杂凑值H之间的匹配。受保护部分34可以保持解锁,直到重新锁定或给定的超时到期为止。
为清楚起见,在各别的实施例的内容中所述的本发明的各种特征可在单一实施例中结合以提供。相反地,为简洁起见,在单一实施例的内容中所述的本发明的各种特征也可单独地提供或提供在以任何合适的子组合。
上述所描述的实施例只是范例,且本发明不限于上述所显示及描述者。而是,本发明的范围含有上述的各样特征的结合和子结合,且本领域技术人员阅读先前描述和其未揭露现有技术时会想到其中变化和修正。
Claims (20)
1.一种安全集成电路芯片装置,其特征在于,包括:
存储器,被配置为储存随机数N的加密值E和单向函数输出值H,所述单向函数输出值H是以所述随机数N输入单向函数进行计算所得的输出值;
接口,被配置为与外部装置传输数据;以及
芯片安全电路,被配置为:
锁定所述集成电路芯片装置的一部分以防止使用;
通过所述接口接收来自解锁硬件安全模块的解锁要求;
通过所述接口提供所述加密值E到所述解锁硬件安全模块,以回应所述解锁要求;
接收来自所述解锁硬件安全模块的值N',所述值N'是所述加密值E的解密值;
根据所述值N'计算单向函数输出值H';
比较所述单向函数输出值H'和所述单向函数输出值H;以及
当所述值H'匹配所述值H,解锁所述集成电路芯片装置的所述部分。
2.根据权利要求1所述的安全集成电路芯片装置,其特征在于,更包括随机数产生器以产生所述随机数N,所述芯片安全电路被配置为:
提供所述随机数N到安全设定硬件安全模块;
接收来自所述安全设定硬件安全模块的所述加密值E和所述单向函数输出值H;以及
删除所述随机数N。
3.根据权利要求1所述的安全集成电路芯片装置,其特征在于,更包括随机数产生器以产生所述随机数N,所述芯片安全电路被配置为:
根据所述随机数N,计算所述单向函数输出值H;
提供所述随机数N到安全设定硬件安全模块;
接收来自所述安全设定硬件安全模块的所述加密值E;以及
删除所述随机数N。
4.根据权利要求1所述的安全集成电路芯片装置,其特征在于,更包括随机数产生器以产生所述随机数N,所述芯片安全电路被配置为:
加密所述随机数N以产生所述加密值E;
计算所述单向函数输出值H,以回应所述随机数N;以及
删除所述随机数N。
5.根据权利要求1所述的安全集成电路芯片装置,其特征在于,所述芯片安全电路被配置为接收来自安全设定硬件安全模块的所述加密值E和所述单向函数输出值H。
6.根据权利要求1所述的安全集成电路芯片装置,其特征在于,所述部分包括除错接口。
7.一种保护集成电路芯片方法,其特征在于,包括:
执行芯片安全设定过程,所述芯片安全设定过程包括:
在集成电路芯片装置的存储器中储存随机数N的加密值E和单向函数输出值H,所述单向函数输出值H是以所述随机数N输入单向函数进行计算所得的输出值;以及
锁定所述集成电路芯片装置的一部分以防止使用;以及
通过所述集成电路芯片装置执行解锁过程,所述解锁过程包括:
通过接口接收来自解锁硬件安全模块的解锁要求;
通过所述接口提供所述加密值E到所述解锁硬件安全模块,以回应所述解锁要求;
接收来自所述解锁硬件安全模块的值N',所述值N'是所述加密值E的解密值;
根据所述值N'计算单向函数输出值H';
比较所述单向函数输出值H'和所述单向函数输出值H;以及
当所述值H'匹配所述值H,解锁所述集成电路芯片装置的所述部分。
8.根据权利要求7所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程,更包括所述集成电路芯片装置:
随机地产生所述随机数N;
提供所述随机数N到安全设定硬件安全模块;
接收来自所述安全设定硬件安全模块的所述加密值E和所述单向函数输出值H;以及
删除所述随机数N。
9.根据权利要求7所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程,更包括所述集成电路芯片装置:
随机地产生所述随机数N;
根据所述随机数N计算所述单向函数输出值H;
提供所述随机数N到安全设定硬件安全模块;
接收来自所述安全设定硬件安全模块的所述加密值E;以及
删除所述随机数N。
10.根据权利要求7所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程,更包括所述集成电路芯片装置:
随机地产生所述随机数N;
加密所述随机数N以产生所述加密值E;
根据所述随机数N计算所述单向函数输出值H;以及
删除所述随机数N。
11.根据权利要求7所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程,更包括所述集成电路芯片装置接收来自安全设定硬件安全模块的所述加密值E和所述单向函数输出值H。
12.一种保护集成电路芯片方法,其特征在于,包括:
执行芯片安全设定过程,所述过程包括:
在集成电路芯片装置的存储器中储存加密值E和单向函数输出值H,所述单向函数输出值H是以随机数N输入单向函数进行计算所得到的输出值;以及
锁定所述集成电路芯片装置的一部分以防止使用;以及
执行解锁过程,所述过程包括:
通过解锁硬件安全模块产生解锁要求;
通过所述集成电路芯片装置,提供已储存的所述加密值E到所述解锁硬件安全模块,以回应所述解锁要求;
通过所述解锁硬件安全模块,解密所述加密值E以产生值N';
通过所述解锁硬件安全模块,提供所述值N'到所述集成电路芯片装置;
通过所述集成电路芯片装置,根据所述值N'计算单向函数输出值H';
通过所述集成电路芯片装置,比较所述单向函数输出值H'和已储存的所述单向函数输出值H;以及
当所述值H'匹配所述值H,通过所述集成电路芯片装置解锁所述部分。
13.根据权利要求12所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程更包括:
通过所述集成电路芯片装置,随机地产生所述随机数N;
通过所述集成电路芯片装置,提供所述随机数N到安全设定硬件安全模块;
各自地加密所述随机数N,和通过所述安全设定硬件安全模块,以所述随机数N作为输入计算所述单向函数,以产生所述加密值E和所述单向函数输出值H;
提供所述加密值E和所述单向函数输出值H到所述集成电路芯片装置;以及
删除来自所述集成电路芯片装置的所述随机数N。
14.根据权利要求13所述的保护集成电路芯片方法,其特征在于,所述加密包括加密所述随机数N,以回应所述解锁硬件安全模块的公开金钥;以及
所述解密包括解密所述加密值E,以回应所述解锁硬件安全模块的秘密金钥。
15.根据权利要求12所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程更包括:
通过所述集成电路芯片装置,随机地产生所述随机数N;
通过所述集成电路芯片装置,计算所述单向函数输出值H,以回应所述值N;
通过所述集成电路芯片装置,提供所述随机数N到安全设定硬件安全模块;
通过所述安全设定硬件安全模块,加密所述随机数N,以产生所述加密值E;
提供所述加密值E到所述集成电路芯片装置;以及
删除来自所述集成电路芯片装置的所述随机数N。
16.根据权利要求15所述的保护集成电路芯片方法,其特征在于,所述加密包括加密所述随机数N,以回应所述解锁硬件安全模块的公开金钥;以及
所述解密包括解密所述加密值E,以回应所述解锁硬件安全模块的秘密金钥。
17.根据权利要求12所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程更包括:
各自地加密所述随机数N,和通过所述安全设定硬件安全模块,以所述随机数N作为输入计算所述单向函数,以产生所述加密值E和所述单向函数输出值H;以及
提供所述加密值E和所述单向函数输出值H到所述集成电路芯片装置。
18.根据权利要求17所述的保护集成电路芯片方法,其特征在于,所述加密包括加密所述随机数N,以回应所述解锁硬件安全模块的公开金钥;以及
所述解密包括解密所述加密值E,以回应所述解锁硬件安全模块的秘密金钥。
19.根据权利要求12所述的保护集成电路芯片方法,其特征在于,所述芯片安全设定过程更包括通过所述集成电路芯片装置执行:
通过所述集成电路芯片装置,随机地产生所述随机数N;
加密所述随机数N,以产生所述加密值E;
以所述随机数N作为输入计算所述单向函数,以产生所述单向函数输出值H;以及
删除来自所述集成电路芯片装置的所述随机数N。
20.根据权利要求19所述的保护集成电路芯片方法,其特征在于,所述加密包括加密所述随机数N,以回应所述解锁硬件安全模块的公开金钥;以及
所述解密包括解密所述加密值E,以回应所述解锁硬件安全模块的秘密金钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/914,535 US11416639B2 (en) | 2020-06-29 | 2020-06-29 | PQA unlock |
US16/914,535 | 2020-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114091123A true CN114091123A (zh) | 2022-02-25 |
Family
ID=79030949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110569708.9A Pending CN114091123A (zh) | 2020-06-29 | 2021-05-25 | 安全集成电路芯片及其保护方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11416639B2 (zh) |
JP (1) | JP7087172B2 (zh) |
CN (1) | CN114091123A (zh) |
TW (1) | TWI763379B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11728997B2 (en) * | 2020-09-08 | 2023-08-15 | Micron Technology, Inc. | Cloud-based creation of a customer-specific symmetric key activation database |
US11720654B2 (en) * | 2020-12-16 | 2023-08-08 | University Of Florida Research Foundation, Inc. | Timed unlocking and locking of hardware intellectual properties |
US11971987B2 (en) * | 2021-09-21 | 2024-04-30 | Drexel University | Reducing logic locking key leakage through the scan chain |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG171730A1 (en) * | 2008-11-24 | 2011-07-28 | Certicom Corp | System and method for hardware based security |
US8332641B2 (en) * | 2009-01-30 | 2012-12-11 | Freescale Semiconductor, Inc. | Authenticated debug access for field returns |
US8732468B2 (en) | 2009-03-09 | 2014-05-20 | The Regents Of The University Of Michigan | Protecting hardware circuit design by secret sharing |
US20100284539A1 (en) | 2009-03-09 | 2010-11-11 | The Regents Of The University Of Michigan | Methods for Protecting Against Piracy of Integrated Circuits |
EP2251813A1 (en) * | 2009-05-13 | 2010-11-17 | Nagravision S.A. | Method for authenticating access to a secured chip by a test device |
WO2011068996A1 (en) * | 2009-12-04 | 2011-06-09 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US8966657B2 (en) * | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
FR2973564A1 (fr) | 2011-04-01 | 2012-10-05 | St Microelectronics Rousset | Securisation d'une plaquette de circuits electroniques |
US10771448B2 (en) * | 2012-08-10 | 2020-09-08 | Cryptography Research, Inc. | Secure feature and key management in integrated circuits |
US9100189B2 (en) * | 2012-08-31 | 2015-08-04 | Freescale Semiconductor, Inc. | Secure provisioning in an untrusted environment |
US9742563B2 (en) | 2012-09-28 | 2017-08-22 | Intel Corporation | Secure provisioning of secret keys during integrated circuit manufacturing |
US9430658B2 (en) * | 2014-12-16 | 2016-08-30 | Freescale Semiconductor, Inc. | Systems and methods for secure provisioning of production electronic circuits |
FR3030831B1 (fr) | 2014-12-23 | 2018-03-02 | Idemia France | Entite electronique securisee, appareil electronique et procede de verification de l’integrite de donnees memorisees dans une telle entite electronique securisee |
JP6550296B2 (ja) | 2015-08-07 | 2019-07-24 | ルネサスエレクトロニクス株式会社 | 給電システム |
CN105354604B (zh) * | 2015-10-30 | 2018-11-02 | 中山大学 | 一种有效的基于物理不可克隆函数的防伪方法 |
US20170180131A1 (en) | 2015-12-16 | 2017-06-22 | Intel Corporation | Secure unlock to access debug hardware |
CN109690543B (zh) | 2016-09-26 | 2021-04-09 | 华为技术有限公司 | 安全认证方法、集成电路及系统 |
US10250587B2 (en) | 2016-09-30 | 2019-04-02 | Microsoft Technology Licensing, Llc | Detecting malicious usage of certificates |
WO2018213624A1 (en) * | 2017-05-19 | 2018-11-22 | Swfl, Inc. D/B/A "Filament" | Systems and methods securing an autonomous device |
DE102017005057A1 (de) | 2017-05-26 | 2018-11-29 | Giesecke+Devrient Mobile Security Gmbh | Personalisieren eines Halbleiterelements |
EP3422628B1 (de) | 2017-06-29 | 2021-04-07 | Siemens Aktiengesellschaft | Verfahren, sicherheitseinrichtung und sicherheitssystem |
EP3503412A1 (en) * | 2017-12-22 | 2019-06-26 | Nagravision S.A. | A secure software-defined radio chip |
EP3506560A1 (en) | 2017-12-29 | 2019-07-03 | Nagravision S.A. | Secure provisioning of keys |
US11139987B2 (en) * | 2018-02-04 | 2021-10-05 | Sony Semiconductor Israel Ltd. | Compact security certificate |
-
2020
- 2020-06-29 US US16/914,535 patent/US11416639B2/en active Active
-
2021
- 2021-03-17 TW TW110109503A patent/TWI763379B/zh active
- 2021-05-25 CN CN202110569708.9A patent/CN114091123A/zh active Pending
- 2021-06-28 JP JP2021106305A patent/JP7087172B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP7087172B2 (ja) | 2022-06-20 |
TW202201257A (zh) | 2022-01-01 |
TWI763379B (zh) | 2022-05-01 |
JP2022013809A (ja) | 2022-01-18 |
US20210406405A1 (en) | 2021-12-30 |
US11416639B2 (en) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043610B2 (en) | Systems and methods for data security | |
US9118467B2 (en) | Generating keys using secure hardware | |
EP2989741B1 (en) | Generation of working security key based on security parameters | |
US8332931B1 (en) | Processing commands according to authorization | |
CN104252881B (zh) | 半导体集成电路及系统 | |
US9323950B2 (en) | Generating signatures using a secure device | |
US9729322B2 (en) | Method and system for smart card chip personalization | |
US20170126414A1 (en) | Database-less authentication with physically unclonable functions | |
TWI763379B (zh) | 安全積體電路晶片裝置及其保護其方法 | |
EP2056228A1 (en) | Method and system for transferring information to a device | |
TWI517653B (zh) | 電子裝置及密碼材料供應之方法 | |
US11023621B2 (en) | System and method for authenticating and IP licensing of hardware modules | |
CN110046489B (zh) | 一种基于国产龙芯处理器的可信访问验证系统,计算机及可读存储介质 | |
Maes et al. | Analysis and design of active IC metering schemes | |
CN105873043B (zh) | 一种用于移动终端的网络私匙的生成及应用方法及其系统 | |
US20060075254A1 (en) | Smart card functionality from a security co-processor and symmetric key in ROM | |
EP4352644A1 (en) | Storage device being authenticated to host by utilizing physically unclonable function (puf) for data encryption/decryption | |
CN114124366A (zh) | 一种可信芯片的密钥生成方法及相关设备 | |
US11799662B2 (en) | Efficient data item authentication | |
CN102236754B (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 |