CN114626021A - 控制电子装置的安全开机与注册的方法以及相关控制电路 - Google Patents

控制电子装置的安全开机与注册的方法以及相关控制电路 Download PDF

Info

Publication number
CN114626021A
CN114626021A CN202111489641.4A CN202111489641A CN114626021A CN 114626021 A CN114626021 A CN 114626021A CN 202111489641 A CN202111489641 A CN 202111489641A CN 114626021 A CN114626021 A CN 114626021A
Authority
CN
China
Prior art keywords
control circuit
electronic device
secure boot
boot control
secure
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
CN202111489641.4A
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.)
Entropy Code Technology Co ltd
Original Assignee
Entropy Code Technology 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 Entropy Code Technology Co ltd filed Critical Entropy Code Technology Co ltd
Publication of CN114626021A publication Critical patent/CN114626021A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Selective Calling Equipment (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种用来控制一电子装置的安全开机的方法以及安全开机控制电路。所述方法是可应用于所述安全开机控制电路,以及所述电子装置包含所述安全开机控制电路。所述方法包含:检查所述安全开机控制电路的一熵源的一输出的随机性以产生一检查结果;利用所述熵源提供一随机数序列;依据所述随机数序列产生一参考码;将所述参考码与存储于所述安全开机控制电路中的一激活码作比较以产生一比较结果;以及依据所述检查结果及所述比较结果的至少一者判断是否启用所述电子装置的至少一功能。本发明能避免恶意仿制的芯片或过量生产的芯片被激活或使用。

Description

控制电子装置的安全开机与注册的方法以及相关控制电路
技术领域
本发明是关于防逆向工程(anti-reverse-engineering)、防仿制/防克隆(anti-cloning)以及防过量生产(anti-overproduction),尤指一种用来控制一电子装置的安全开机的方法及安全开机控制电路以及用来控制电子装置的注册的方法。
背景技术
当集成电路设计公司完成了一集成电路的设计后,所述集成电路将通过第三方诸如晶圆代工厂制造。尽管所述集成电路设计公司针对所述设计要求所述晶圆代工厂仅制造某个数量的集成电路,这些集成电路在实作上典型地会被过量生产。在某些情况下,这些过量生产的集成电路可能被未经所述集成电路设计公司授权的人取得。因此,需要相关的安全开机控制以避免未经授权的人使用这些过量生产的集成电路。
另外,现有的分析工具能对集成电路的设计的图形数据***(Graphic DataSystem,GDS)文件进行逆向工程,以取得所述集成电路的内部架构。因此,需要一种新颖的方法以及相关电子装置,以避免芯片通过图形数据***分析及逆向工程技术被恶意地进行逆向工程或仿制。
发明内容
因此,本发明的一目的在于提供一种用来控制一电子装置的安全开机的方法以及安全开机控制电路以及用来控制一电子装置的注册的方法,以解决相关技术的问题。
本发明至少一实施例提供一种用来控制一电子装置的安全开机的方法。所述方法是可应用于(applicable to)所述电子装置的一安全开机控制电路,以及所述方法包含:检查所述安全开机控制电路的一熵(entropy)源的一输出的随机性以产生一检查结果;利用所述熵源提供一随机数序列;依据所述随机数序列产生一参考码;将所述参考码与存储于所述安全开机控制电路中的一激活码作比较以产生一比较结果;以及依据所述检查结果及所述比较结果的至少一者判断是否启用(enable)所述电子装置的至少一功能。
本发明的至少一实施例提供一种用来控制一电子装置的注册的方法。所述方法包含:利用一签名装置发送一个一次性随机数(nonce)至所述电子装置的一安全开机控制电路;利用所述安全开机控制电路基于所述电子装置的一第一公钥(shared key)以及所述一次性随机数产生一响应;利用所述签名装置基于所述签名装置的一第一公钥以及所述一次性随机数产生一编码结果;以及利用所述签名装置判断是否将一激活码写入所述电子装置,其中所述激活码是依据所述第一公钥以及一比特(bit)序列产生。
本发明的至少一实施例提供一种用来控制一电子装置的安全开机的安全开机控制电路,其中所述电子装置包含所述安全开机控制电路。所述安全开机控制电路包含。一防窜改(anti-tampering)电路、一第一数字电路以及一第二数字电路。所述防窜改电路包含一熵源,以及所述熵源是用来提供一随机数序列。所述第一数字电路耦接至所述防窜改电路,并且是用来控制所述随机数序列的读出。所述第二数字电路耦接至所述的一数字电路,并且是用来控制所述电子装置的安全开机的运作。尤其,所述安全开机控制电路检查所述安全开机控制电路的所述熵源的一输出的随机性以产生一检查结果;所述安全开机控制电路依据所述随机数序列产生一参考码;所述第二数字电路将所述参考码与存储于所述安全开机控制电路中的一激活码作比较以产生一比较结果;以及所述第二数字电路依据所述检查结果及所述比较结果的至少一者判断是否启用所述电子装置的至少一功能。
本发明的实施例所提供的方法以及安全开机控制电路能在所述熵源被初始化以后将所述熵源的输出作为一电子装置的指纹。另外,对应于这个指纹的一激活码需要被写入至所述安全开机控制电路中以激活包含有所述安全开机控制电路的电子装置。由于这个指纹无法或难以通过相关技术的分析工具被进行逆向工程或仿制,因此能确保只有经授权的电子装置具备正确的激活码,从而避免恶意仿制的芯片或过量生产的芯片被激活或使用。
附图说明
图1为依据本发明一实施例的一电子装置的制造流程的示意图。
图2为依据本发明一实施例的一种用来控制图1所示的电子装置的安全开机的方法的工作流程。
图3为依据本发明一实施例的关于图2所示的方法的控制方案的工作流程。
图4为依据本发明一实施例的一种用来控制图1所示的电子装置的安全开机的安全开机控制电路的示意图。
图5为依据本发明一实施例的一种用来控制图1所示的电子装置的注册的方法的工作流程。
图6为依据本发明一实施例的在进行图5所示的注册后的图1所示的电子装置的安全开机控制方案的工作流程。
图7为依据本发明一实施例的一签名装置对一电子装置进行图5的一部分的工作流程的示意图。
图8为依据本发明一实施例的一签名工具对一电子装置进行图5的另一部分的工作流程的示意图。
图9为依据本发明另一实施例的一签名工具对一电子装置进行图5的另一部分的工作流程的示意图。
图10为依据本发明一实施例的关于一电子装置的激活码的认证的控制方案。
图11为依据本发明另一实施例的关于一电子装置的激活码的认证的控制方案。
其中,附图标记说明如下:
10 单片***
100 安全开机控制电路
100C 激活码
100FP 唯一图样
S210~S250、S310~S390 步骤
40 安全开机控制电路
400 防窜改电路
410 熵源
420 硬化型寄存器传输级电路
430 安全功能数字电路
440 私用总线
450 标准介面
S510~S580、S610~S694 步骤
70 单片***
70R 响应
700 签名工具
700N 一次性随机数
71、72、710、720 安全散列算法
73、730 基于散列的消息鉴别码算法
76 基于加密的消息鉴别码算法
73C、76C 参考码
730C 编码结果
74 一次性可编程存储器
74C 激活码
75、750 比较器
760 计数控制
PWD1、PWD2 公钥
PWDUID 唯一标识符
PWDBS 比特序列
VCMP 比较结果
具体实施方式
图1为依据本发明一实施例的一电子装置诸如一单片***(System on a Chip,SoC)10的制造流程的示意图。单片***10包含一安全开机控制电路100。在本实施例中,安全开机控制电路100包含熵(entropy)源。所述熵源能用一静态熵(static entropy)诸如物理不可复制功能(Physical Unclonable Function,PUF)装置或一动态熵(dynamicentropy)诸如真随机数产生器(true random number generator,TRNG)来实施,但本发明不限于此。另外,单片***10另包含一中央处理器(central processing unit,在图中标示为“CPU”以求简明)、一随机存取存储器(random access memory,在图中标示为“RAM”以求简明)以及至少一功能性电路(在图中标示为“IP”以求简明),但本发明不限于此。
当单片***10在芯片针测(chip probing,CP)阶段或最终测试(final test,FT)阶段被制造时,制造商可对单片***10(尤指对其内的安全开机控制电路100的熵源)进行熵初始化(在图1中标示为“熵初始化@CP/FT”)以使安全开机控制电路100(例如其内的熵源)产生单片***10的一唯一图样(unique pattern)100FP,而唯一图样100FP能作为单片***10的指纹。由于唯一图样100FP是在所述熵初始化以后由位于单片***10内部的硬体来产生,因此骇客无法或难以对唯一图样100FP进行逆向工程。因此,被恶意仿制的芯片(例如跳过了熵初始化的步骤的芯片)并不具备有效的(valid)指纹,而这个仿制的芯片的开机程序会因为缺乏有效的指纹而被中断,从而达到防仿制/防克隆的目的。另外,安全开机控制电路100包含至少一模拟(analog)功能性电路以及基于定制单元库(customized celllibrary)实施的某些数字电路,而安全开机控制电路100则因此无法或难以通过相关技术的逆向工程技术来进行逆向工程,从而达到防逆向工程的目的。
当单片***10的制造程序进入到在模块诸如印制电路板(printed circuitboard,PCB)上的芯片激活阶段时(在图1中标示为“芯片激活@模块”),一签名工具可耦接至单片***10以将一激活码100C(在图1中标示为“AC”以求简明)写入单片***10的一次性可编程(one-time programmable,OTP)存储器中,其中存储在单片***10的激活码100C的正确性将会在单片***10的安全开机程序的期间被检查。在某些实施例中,所述签名工具是用来只激活一特定数量的芯片,而过量生产的芯片的开机程序则会因为缺乏正确的激活码而被中断,从而达到防过量生产的目的。
图2为依据本发明一实施例的一种用来控制一电子装置(例如图1所示的单片***10)的安全开机的方法的工作流程,其中所述方法是可应用于(applicable to)所述电子装置的一安全开机控制电路(例如图1所示的安全开机控制电路100)。需注意的是,一或多个步骤可在图2所示的工作流程中被新增、删除或修改。另外,如果能得到相同的结果,这些步骤并非必须完全依照图2所示的顺序执行。
在步骤S210中,安全开机控制电路100可检查安全开机控制电路100的一熵源(例如物理不可复制功能源或真随机数产生器)的输出的随机性,以产生一检查结果。
在步骤S220中,安全开机控制电路100可依据所述检查结果利用所述熵源提供一随机数序列。
在步骤S230中,安全开机控制电路100可依据所述随机数序列产生一参考码。
在步骤S240中,安全开机控制电路100可将所述参考码与存储于安全开机控制电路(例如其内的一次性可编程存储器)中的一激活码(例如图1所示的激活码100C)作比较以产生一比较结果。
在步骤S250中,安全开机控制电路100可依据所述检查结果以及所述比较结果的至少一者判断是否启用(enable)所述电子装置(例如单片***10)的至少一功能。在某些实施例中,当所述检查结果指出所述熵源的输出(例如所述指纹诸如图1所示的唯一图样100FP)的随机性无法符合预定标准,所述工作流程可在步骤S210结束,而步骤S220到S240可被跳过,但本发明不限于此。
图3为依据本发明一实施例的关于图2所示的方法的控制方案的工作流程。需注意的是,一或多个步骤可在图3所示的工作流程中被新增、删除或修改。另外,如果能得到相同的结果,这些步骤并非必须完全依照图3所示的顺序执行。在本实施例中,假设单片***10(例如安全开机控制电路100)的熵初始化已完成,也就是说单片***10的指纹诸如唯一图样100FP已被产生。
在步骤S310中,单片***10被启动电源(在图3中标示为“芯片开启”以求简明)。
在步骤S320中,单片***10启用其指纹(在图3中标示为“启用指纹”以求简明)。例如,单片***10为安全开机控制电路100启动电源以使唯一图样100FP为可读取的。
在步骤S330中,单片***10进行单片***10的指纹的就绪(ready)检查以检查单片***10的指纹是否已就绪,并且据以产生一就绪检查结果。在某些实施例中,安全开机控制电路100包含一计数器(为简明起见未显示于图1)以产生一计数结果,其中所述计数结果是用来指出自单片***10被启动电源的时间点开始的一时期。安全开机控制电路100的指纹的一就绪旗标(flag)可响应于所述计数结果指出所述时期达到依预定时间阈值被设定。例如,单片***10可检查安全开机控制电路100的熵源的旗标是否被设定(在图3中标示为“指纹就绪旗标设定?”)。如果所述就绪检查结果显示为“是”,流程进入步骤S360;以及如果所述就绪检查结果显示为“否”,流程进入步骤S350。
在步骤S350中,单片***10的安全开机失败(在图3中标示为“开机失败警告”以求简明)。在某些实施例中,当单片***10的安全开机失败,单片***10的全部功能均被禁用(disable)并且单片***10将会被关机。在某些实施例中,当单片***10的安全开机失败时,单片***10的整体开机将会继续,但单片***10的至少一功能会被禁用(例如保持不活动)。例如,安全开机控制电路100可发出一开机失败警告信号至单片***10的中央处理器,而所述中央处理器可响应于所述开机失败警告信号禁用单片***10的全部功能性区块、模块及/或电路。又例如,当单片***10的中央处理器自安全开机控制电路100接收到所述开机失败警告信号时,所述中央处理器可响应于所述开机失败警告信号禁用单片***10的一部分功能性区块、模块及/或电路。再举一例,当单片***10的中央处理器自安全开机控制电路100接收到所述开机失败警告信号时,所述中央处理器可忽略所述开机失败警告信号,并且单片***10的开机程序可继续执行。
在步骤S360中,单片***10的安全开机可通过计算安全开机控制电路100的熵源的输出的一随机性参数诸如汉明权重(hamming weight)来检查安全开机控制电路100的熵源的输出(例如所述指纹诸如唯一图样100FP)的随机性,以检查安全开机控制电路100的熵源的输出的随机性(例如所述随机性参数诸如所述汉明权重)是否符合一预定标准,以产生一品质检查(quality check,QC)结果(在图3中标示为“指纹Q.C.检查OK?”)。如果所述品质检查结果显示为“是”,流程进入步骤390;以及如果所述品质检查结果显示为“否”,流程进入步骤S350。具体来说,如果单片***10的熵初始化有被妥善地进行,在所述旗标被设定后,安全开机控制电路100的熵源的输出(例如所述指纹诸如唯一图样100FP)的随机性可被预期为符合所述预定标准。如果某个芯片的熵初始化被跳过,此芯片的指纹(例如单片***10的唯一图样100FP)的随机性将无法符合所述预定标准。因此,所述品质检查结果可用来判断唯一图样100FP是否存在(例如判断熵初始化是否有被妥善地进行)。
在步骤S390中,单片***10的安全开机继续(在图3中标示为“开机继续”以求简明)。
在本实施例中,检查安全开机控制电路100的熵源的输出(例如所述指纹诸如唯一图样100FP)的随机性的运作是在所述旗标被设定后进行,这确保了检查安全开机控制电路100的熵源的输出(例如所述指纹诸如唯一图样100FP)的随机性的运作是在唯一图样100FP的存在被确定后才进行。
图4为依据本发明一实施例的用来控制一电子装置(诸如图1所示的单片***)的安全开机的安全开机控制电路40的示意图,其中安全开机控制电路40为安全开机控制电路100的一个例子。如图4所示,安全开机控制电路40包含一防窜改(anti-tampering)电路400、一第一数字电路诸如一硬化型(hardened)寄存器传输级(register-transfer level,RTL)电路420、以及一第二数字电路诸如一安全功能数字电路430。防窜改电路400包含一熵源410(例如物理不可复制功能源或真随机数产生器),其中在上述熵初始化完成后,熵源410是用来提供一随机数序列(例如所述指纹诸如唯一图样100FP)。硬化型寄存器传输级电路420耦接至防窜改电路400,并且是用来控制所述随机数序列(例如所述指纹诸如唯一图样100FP)的读出。例如,硬化型寄存器传输级电路420可对熵源410的输出进行逻辑控制以容许熵源410的输出(例如所述随机数序列)通过一私用总线440自防窜改电路400被读出。安全功能数字电路430可通过所述私用总线440耦接至硬化型寄存器传输级电路420,并且是用来控制单片***10的安全开机的运作(例如用来控制图3所示的工作流程)。例如,安全功能数字电路430可通过一标准介面450耦接至单片***10的中央处理器,其中安全功能数字电路430自单片***10的中央处理器接收指令,以及安全功能数字电路430可执行对应于这些指令的步骤并且响应对应的数据给中央处理器。具体来说,安全功能数字电路430可检查所述熵源的输出诸如所述随机数序列(例如所述指纹诸如唯一图样100FP)的随机性以产生一检查结果,之后安全功能数字电路430可依据所述随机数序列产生一参考码。安全功能数字电路430可将所述参考码与存储于安全开机控制电路40中的一激活码(例如图1所示的激活码100C)作比较以产生一比较结果。如果所述比较结果显示为不匹配,单片***10的中央处理器会接收到一开机失败警告并且判断后续的开机程序。
在本实施例中,熵源410可基于硬性宏单元(hard macro)诸如利用静态熵的基于物理不可复制功能的熵源或利用动态抖动与后处理的基于真随机数产生器的熵源来实施。所述基于物理不可复制功能的熵源或所述基于真随机数产生器的熵源的输出可具有如随机数般良好的统计特性,而这是无法或难以从安全开机控制电路40的外部被仿制或破解的,以及所述基于物理不可复制功能的熵源或所述基于真随机数产生器的熵源的输出可被初始化为单片***10的指纹(诸如唯一图样100FP)。例如,在所述基于物理不可复制功能的熵源或所述基于真随机数产生器的熵源被初始化后,所述基于物理不可复制功能的熵源或所述基于真随机数产生器的熵源可产生一随机数序列(例如所述指纹诸如唯一图样100FP)以供后续运作使用。另外,防窜改电路400另包含模拟电路诸如电压带隙(band-gap)电路以及感测放大器(sense amplifier),其可基于定制单元库诸如专属私有库(proprietarylibrary)实施,因此无法或难以通过逆向工程技术被进行逆向工程。此外,硬化型寄存器传输级电路420内的数字控制电路也可基于一定制单元库实施,其中相较于使用晶圆代工厂所提供的标准单元库(standard cell library),基于所述定制单元库(其由集成电路设计公司建置)实施的数字控制电路较不容易被逆向工程技术进行逆向工程。
图5为依据本发明一实施例的一种用来控制一电子装置(例如图1所示的单片***10)的注册(例如使用一签名装置进行注册)的方法的工作流程,以及图6为依据本发明一实施例的在进行图5所示的注册后的所述电子装置的安全开机控制方案的工作流程。在图5以及图6的实施例中,假设所述电子装置的熵初始化已完成。
为便于理解图5,请参考图7至图9。图7为依据本发明一实施例的一签名装置诸如一签名工具700对单片***70(其可为图1所示的单片***10或图4所示的单片***10的例子)进行图5的步骤S510至S550的示意图。图8为依据本发明一实施例的签名工具700对单片***70(其可为图1所示的单片***10或图4所示的单片***10的例子)进行图5的步骤S570至S580的示意图。图9为依据本发明另一实施例的签名工具700对单片***70(其可为图1所示的单片***10或图4所示的单片***10的例子)进行图5的步骤S570至S580的示意图。在某些实施例中,签名工具700可实施在一通用串行总线(Universal Serial Bus,USB)服务器钥/加密狗(dongle)或一电脑中,但本发明不限于此。需注意的是,一或多个步骤可在图5所示的工作流程中被新增、修改或删除。另外,如果能得到相同结果,这些步骤并非必须完全依照图5所示的顺序执行。
在步骤S510中,签名工具700耦接至单片***70(例如耦接至其内的安全开机控制电路诸如安全开机控制电路100或40),注册程序开始,而签名工具700发送一个一次性随机数(nonce)诸如图7所示的一次性随机数700N至单片***70。
在步骤S520中,单片***70(例如器内的安全开机控制电路)基于单片***70的一第一公钥(shared key)诸如公钥PWD1以及一次性随机数700N产生一响应70R。例如,单片***70可对单片***70的公钥PWD1进行一安全散列算法(Secure Hash Algorithm,SHA)71(在图中标示为“SHA”以求简明)以产生安全散列算法71的结果,并且单片***70可对一次性随机数700N以及安全散列算法71的结果进行基于散列的消息鉴别码(Hash-basedmessage authentication code,HMAC)算法73(在图中标示为“HMAC”以求简明)以产生响应70R给签名工具700。在某些实施例中,安全散列算法71与基于散列的消息鉴别码算法73的组合可用一基于加密的消息鉴别码(Cipher-based message authentication code,CMAC)算法取代。
在步骤S530中,签名工具700基于签名工具700的一第一公钥(例如公钥PWD1)以及一次性随机数700N产生一编码结果730C。如图7所示,签名工具700对签名工具700的所述第一公钥诸如公钥PWD1进行安全散列算法710(在图中标示为“SHA”以求简明)以产生安全散列算法710的结果,并且签名工具700可对一次性随机数700N以及安全散列算法710的结果进行基于散列的消息鉴别码算法730(在图中标示为“HMAC”以求简明)以产生编码结果730C。在某些实施例中,当安全散列算法71与基于散列的消息鉴别码算法73的组合用所述基于加密的消息鉴别码算法取代时,签名工具700所执行的安全散列算法710与基于散列的消息鉴别码算法730的组合可用与单片***70相同的基于加密的消息鉴别码(Cipher-based message authentication code,CMAC)算法取代。
在步骤S550中,签名工具700判断来自单片***的响应70R是否匹配(match)编码结果730C(在图5中标示为“70R匹配730C?”以求简明)。例如,签名工具700可利用其内的比较器750以将来自单片***70的响应70R与编码结果730C作比较,以产生一注册结果。如果所述注册结果显示为“是”(例如来自单片***70的响应70R匹配编码结果730C),表示签名工具700的第一公钥与单片***70的第一公钥一致(例如签名工具700与单片***70具有相同的公钥诸如PWD1),流程进入步骤S570;以及如果所述注册结果显示为“否”(例如来自单片***70的响应70R不匹配编码结果730C),表示签名工具700的第一公钥与单片***70的第一公钥不一致(例如单片***70可能是伪造品),流程进入步骤S560。
在步骤S560中,签名工具700发出一签名失败警告,其中响应于所述签名失败警告的后续运作可依据厂商需求来决定。例如,签名工具700可避免写入任何激活码至单片***70,而单片***70即可因此保持在不活动的状态。
在步骤S570中,签名工具700基于公钥PWD1以及一比特(bit)序列产生一激活码74C。在一实施例中,所述比特序列可为签名工具700的公钥PWD2,如图8所示。在另一实施例中,所述比特序列可为来自单片***70的一唯一标识符(unique identifier,UID)PWDUID(例如所述指纹诸如图1所示的图样100FP),如图9所示。
在步骤S580中,单片***70将激活码74C写入单片***70的一次性可编程存储器74(例如图1所示的安全开机控制电路100的一次性可编程存储器或图4所示的安全开机控制电路40的一次性可编程存储器),而此步骤在图5中标示为“将AC写入OTP”以求简明。
在图8的实施例中,签名工具700对签名工具700的第一公钥(例如公钥PWD1)与签名工具700的第二公钥(例如公钥PWD2)进行一预定算法(例如基于散列的消息鉴别码算法730),以产生激活码74C(在图中标示为“AC”以求简明)以供被写入单片***70的一次性可编程存储器74(在图中标示为“OTP”以求简明)。例如,签名工具700可对公钥PWD1进行安全散列算法710以产生安全散列算法710的结果,并且另对公钥PWD2进行安全散列算法720(在图中标示为“SHA”以求简明)以产生安全散列算法720的结果,其中签名工具700可对安全散列算法710与安全散列算法720的结果进行基于散列的消息鉴别码算法730以产生激活码74C。在图8所示的实施例中,签名工具700的公钥PWD2是预先被存储在签名工具700中,例如公钥PWD2可在签名工具700对单片***70进行注册程序前预先被存储在签名工具700中。
在图9的实施例中,单片***70的指纹是由单片***70的熵源(例如图4所示的熵源410)提供,以及单片***70的唯一标识符PWDUID可为所述指纹诸如图1所示的唯一图样100FP的例子。为了容许签名工具700产生正确的激活码(例如依据唯一标识符PWDUID产生激活码74C),签名工具700可在步骤S550的注册结果为匹配后自单片***70接收唯一标识符PWDUID的编码结果。例如,单片***70可对一比特序列诸如唯一标识符PWDUID进行安全散列算法72(在图中标示为“SHA”以求简明)以产生安全散列算法72的结果,以及签名工具700可自单片***70接收安全散列算法72的结果,其中签名工具700可对安全散列算法710与安全散列算法72的结果进行基于散列的消息鉴别码算法730以产生激活码74C。
在某些实施例中,签名工具700包含一计数控制760,其可用来产生一激活纪录以指出有多少个芯片已被签名工具700激活。例如,在签名工具700开始对单片***70进行注册程序前,签名工具700可检查所述激活纪录以判断被激活的芯片的数量是否达到一预定激活阈值。如果所述激活纪录指出被激活的芯片的数量尚未达到所述预定激活阈值,签名工具700可对单片***70进行注册程序并且产生上述的激活码74C。如果所述激活纪录指出被激活的芯片的数量已达到所述预定激活阈值,签名工具700则无法对单片***70进行注册程序(例如所述注册程序会响应于所述激活纪录指出被激活的芯片的数量已达到所述预定激活阈值而被禁止),而单片***70则无法被激活。因此,芯片被激活的数量能被有效的控制,从而避免过量生产的芯片被激活或避免过量生产。
为便于理解图6,请参考图10以及图11。图10为依据本发明一实施例的关于单片***70进行一激活码的认证/鉴别(authentication)的控制方案,而图11为依据本发明另一实施例的关于单片***70进行一激活码的认证的控制方案。需注意的是,一或多个步骤可在图6所示的工作流程中被新增、修改或删除。另外,如果能得到相同的结果,这些步骤并非必须完全依照图6所示的顺序执行。
步骤S610至S660的运作与图3的实施例所说明的步骤S310至S360相同,为简明起见在此不赘述,其中当步骤S660的所述品质检查结果显示为“是”,流程进入步骤S691。
在步骤S691中,单片***70基于单片***70的第一公钥(例如公钥PWD1)以及一比特序列PWDBS产生参考码73C(其可为图4的实施例所述的参考码的例子)。在一实施例中,图8所示的单片***70的公钥PWD2可为比特序列PWDBS的例子。在另一实施例中,图9所示的单片***70的唯一标识符PWDUID可为比特序列PWDBS的例子。
如先前的实施例所述,安全开机控制电路100的熵源(例如图4所述的安全开机控制电路40的熵源410)的旗标可响应于所述计数结果指出所述时期达到所述预定时间阈值而被设定。另外,比特序列PWDBS(例如唯一标识符PWDUID)可通过图9的实施例中的单片***70的熵源(例如图4所示的熵源410)来提供。因此,产生参考码73C的运作是在所述旗标被设定后进行,这确保了产生参考码73C的运作是在单片***的熵源(例如图4所示的熵源410)及其读出电路已准备好妥善地输出比特序列PWDBS诸如唯一标识符PWDUID(例如已就绪输出唯一图样100FP)以后才进行。
如图10所示,单片***70可对公钥PWD1进行安全散列算法71以产生安全散列算法71的结果,并且另对比特序列PWDBS进行安全散列算法72以产生安全散列算法72的结果,其中单片***70对安全散列算法71以及安全散列算法72的结果进行基于散列的消息鉴别码算法73以产生参考码73C,以及单片***70利用其内的比较器75以将存储在一次性可编程存储器74内的激活码74C与参考码73C作比较以产生一比较结果VCMP。在某些实施例中,安全散列算法71、安全散列算法72以及基于散列的消息鉴别码算法73可用一基于加密的消息鉴别码算法76(在图中标示为“CMAC”以求简明)取代,如图11所示,而基于加密的消息鉴别码算法76所产生的参考码76C可为参考码73C的例子,但本发明不限于此。
在步骤S692中,单片***70依据比较结果VCMP判断存储在一次性可编程存储器74内的激活码是否匹配参考码73C(在图6中标示为“74C匹配73C?”以求简明)。如果比较结果VCMP显示所述激活码匹配参考码73C,表示正确的激活码(例如激活码74C)已被存储在一次性可编程存储器74中,而流程进入步骤S694;以及如果比较结果VCMP显示所述激活码不匹配参考码73C,表示单片***70并未被签名工具700激活,流程则进入步骤S650。
在步骤S694中,激活码74C的认证已完成且成功(在图6中标示为“认证成功”以求简明)。
总结来说,本发明的实施例所提供的方法以及安全开机控制电路能将所述熵源的输出当作包含有所述安全开机控制电路的电子装置的指纹。另外,对应于此指纹的激活码需要通过一签名装置被写入所述安全开机控制电路。由于上述指纹无法或难以通过相关技术的分析工具进行逆向工程或仿制,因此确保了只有所述签名工具(其具有与所述电子装置相同的公钥)能将正确的激活码写入所述电子装置。因此,本发明能避免恶意仿制的芯片或过量生产的芯片被激活或使用。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种用来控制一电子装置的安全开机的方法,其特征在于,所述方法是可应用于所述电子装置的一安全开机控制电路,以及所述方法包含:
检查所述安全开机控制电路的一熵源的一输出的随机性以产生一检查结果;
利用所述熵源提供一随机数序列;
依据所述随机数序列产生一参考码;
将所述参考码与存储于所述安全开机控制电路中的一激活码作比较以产生一比较结果;以及
依据所述检查结果及所述比较结果的至少一者判断是否启用所述电子装置的至少一功能。
2.如权利要求1所述的方法,其特征在于,所述熵源的旗标响应于自所述电子装置被启动电源的时间点开始的一时期达到一预定阈值被设定,以及检查所述熵源的所述输出的所述随机性以及产生所述参考码的运作是在所述旗标被设定之后进行。
3.如权利要求1所述的方法,其特征在于,依据所述检查结果及所述比较结果的所述至少一者判断是否启用所述电子装置的所述至少一功能包含:
响应于所述检查结果指出所述熵源的所述输出的所述随机性无法符合一预定标准,发出一开机失败警告。
4.如权利要求1所述的方法,其特征在于,依据所述检查结果及所述比较结果的所述至少一者判断是否启用所述电子装置的所述至少一功能包含:
响应于所述比较结果指出所述激活码无法匹配所述参考码,发出一开机失败警告。
5.如权利要求1所述的方法,其特征在于,另包含:
利用一签名装置对所述电子装置进行一注册程序;以及
在所述注册程序完成后,利用所述签名装置发送所述激活码至所述电子装置,其中来自所述签名装置的所述激活码被写入至所述电子装置的所述安全开机控制电路中。
6.如权利要求5所述的方法,其特征在于,所述注册程序是用来判断所述签名装置的一第一公钥是否与所述电子装置的一第一公钥一致。
7.如权利要求5所述的方法,其特征在于,利用所述签名装置发送所述激活码至所述电子装置包含:
利用所述签名装置基于所述签名装置的一第一公钥以及一比特序列进行一预定算法,以产生所述激活码以供被写入至所述电子装置的所述安全开机控制电路。
8.如权利要求7所述的方法,其特征在于,依据所述随机数序列产生所述参考码包含:
利用所述安全开机控制电路基于所述电子装置的一第一公钥以及所述随机数序列进行所述预定算法,以产生所述参考码。
9.如权利要求1所述的方法,其特征在于,所述安全开机控制电路的所述熵源是由一静态熵或一动态熵实施。
10.一种用来控制一电子装置的注册的方法,其特征在于,包含:
利用一签名装置发送一个一次性随机数至所述电子装置的一安全开机控制电路;
利用所述安全开机控制电路基于所述电子装置的一第一公钥以及所述一次性随机数产生一响应;
利用所述签名装置基于所述签名装置的一第一公钥以及所述一次性随机数产生一编码结果;以及
利用所述签名装置判断是否将一激活码写入所述电子装置,其中所述激活码是依据所述第一公钥以及一比特序列产生。
11.如权利要求10所述的方法,其特征在于,所述比特序列是所述签名装置的一第二公钥。
12.如权利要求10所述的方法,其特征在于,所述比特序列是从所述电子装置收的一唯一标识符。
13.一种用来控制一电子装置的安全开机的安全开机控制电路,其特征在于,所述电子装置包含所述安全开机控制电路,所述安全开机控制电路包含:
一防窜改电路,包含:
一熵源,用来提供一随机数序列;
一第一数字电路,耦接至所述防窜改电路,用来控制所述随机数序列的读出;以及
一第二数字电路,耦接至所述的一数字电路,用来控制所述电子装置的安全开机的运作,其中:
所述安全开机控制电路检查所述安全开机控制电路的所述熵源的一输出的随机性以产生一检查结果;
所述安全开机控制电路依据所述随机数序列产生一参考码;
所述第二数字电路将所述参考码与存储于所述安全开机控制电路中的一激活码作比较以产生一比较结果;以及
所述第二数字电路依据所述检查结果及所述比较结果的至少一者判断是否启用所述电子装置的至少一功能。
14.如权利要求13所述的安全开机控制电路,其特征在于,所述熵源的旗标响应于自所述电子装置被启动电源的时间点开始的一时期达到一预定阈值被设定,以及检查所述熵源的所述输出的所述随机性以及产生所述参考码的运作是在所述旗标被设定之后进行。
15.如权利要求13所述的安全开机控制电路,其特征在于,当所述检查结果指出所述熵源的所述输出的所述随机性无法符合一预定标准时,所述安全开机控制电路发出一开机失败警告。
16.如权利要求13所述的安全开机控制电路,其特征在于,当所述比较结果指出所述激活码无法匹配所述参考码时,所述安全开机控制电路发出一开机失败警告。
17.如权利要求13所述的安全开机控制电路,其特征在于,一签名装置耦接至所述电子装置以对所述电子装置进行一注册程序,以及在所述注册程序完成后,所述签名装置发送所述激活码至所述电子装置,以供来自所述签名装置的所述激活码被写入至所述安全开机控制电路中。
18.如权利要求17所述的安全开机控制电路,其特征在于,所述注册程序是用来判断所述签名装置的一第一公钥是否与所述电子装置的一第一公钥一致。
19.如权利要求17所述的安全开机控制电路,其特征在于,所述签名装置基于所述签名装置的一第一公钥以及一比特序列进行一预定算法,以产生所述激活码以供被写入至所述电子装置的所述安全开机控制电路。
20.如权利要求19所述的安全开机控制电路,其特征在于,所述比特序列是在所述注册程序完成后自所述电子装置接收的所述随机数序列。
21.如权利要求19所述的安全开机控制电路,其特征在于,所述第二数字电路基于所述电子装置的一第一公钥以及所述随机树序列进行所述预定算法,以产生所述参考码。
22.如权利要求13所述的安全开机控制电路,其特征在于,所述防窜改电路是基于一定制单元库来实施。
CN202111489641.4A 2020-12-11 2021-12-08 控制电子装置的安全开机与注册的方法以及相关控制电路 Pending CN114626021A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063124085P 2020-12-11 2020-12-11
US63/124,085 2020-12-11

Publications (1)

Publication Number Publication Date
CN114626021A true CN114626021A (zh) 2022-06-14

Family

ID=78821024

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202111469567.XA Pending CN114629652A (zh) 2020-12-11 2021-12-03 基于物理不可复制函数的密钥管理***及其操作方法
CN202111468750.8A Pending CN114626020A (zh) 2020-12-11 2021-12-03 用来控制装置激活的方法以及相关电子装置
CN202111489641.4A Pending CN114626021A (zh) 2020-12-11 2021-12-08 控制电子装置的安全开机与注册的方法以及相关控制电路

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202111469567.XA Pending CN114629652A (zh) 2020-12-11 2021-12-03 基于物理不可复制函数的密钥管理***及其操作方法
CN202111468750.8A Pending CN114626020A (zh) 2020-12-11 2021-12-03 用来控制装置激活的方法以及相关电子装置

Country Status (4)

Country Link
US (3) US11736285B2 (zh)
EP (1) EP4012689B1 (zh)
CN (3) CN114629652A (zh)
TW (3) TWI769961B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115357869A (zh) * 2022-10-19 2022-11-18 安徽华云安科技有限公司 一种基于多路径配置的软件激活方法和装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
MY123388A (en) * 1999-03-15 2006-05-31 Sony Corp Processing method and apparatus for encrypted data transfer
TW529267B (en) * 1999-03-15 2003-04-21 Sony Corp Data processing system and method for mutual identification between apparatuses
US20050015471A1 (en) * 2003-07-18 2005-01-20 Zhang Pu Paul Secure cluster configuration data set transfer protocol
US9247024B2 (en) * 2007-04-12 2016-01-26 Intrinsic Id B.V. Controlled activation of function
CA2684229A1 (en) * 2007-04-12 2008-10-23 Ncipher Corporation Ltd. Method and system for identifying and managing keys
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
WO2012122994A1 (en) 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
US10728231B2 (en) * 2012-07-09 2020-07-28 Massachusetts Institute Of Technology Data security using inter-zone gate circuits
US8954735B2 (en) 2012-09-28 2015-02-10 Intel Corporation Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware
US9742563B2 (en) 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US9953166B2 (en) * 2013-07-04 2018-04-24 Microsemi SoC Corporation Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor
DE102014206943A1 (de) * 2014-04-10 2015-10-15 Siemens Aktiengesellschaft Schlüsselerzeugungsvorrichtung und Verfahren zum Erzeugen eines Schlüssels
DE102014210282A1 (de) * 2014-05-30 2015-12-03 Siemens Aktiengesellschaft Erzeugen eines kryptographischen Schlüssels
US10469477B2 (en) * 2015-03-31 2019-11-05 Amazon Technologies, Inc. Key export techniques
US9842062B2 (en) * 2015-05-31 2017-12-12 Apple Inc. Backup accessible by subset of related devices
US10972460B2 (en) * 2016-02-12 2021-04-06 Industry-University Cooperation Foundation Hanyang University Secure semiconductor chip and operating method thereof
US20180097621A1 (en) * 2016-09-30 2018-04-05 Sony Interactive Entertainment America Llc Obfuscated secret key derivation for non-secure commercial off-the-shelf (cots) devices
JP6895273B2 (ja) * 2017-03-02 2021-06-30 任天堂株式会社 情報処理装置、情報処理プログラム、無線通信システム、および、通信方法
JP6588048B2 (ja) * 2017-03-17 2019-10-09 株式会社東芝 情報処理装置
TWI716685B (zh) * 2017-05-22 2021-01-21 旺宏電子股份有限公司 電子系統及其操作方法
CN108958650B (zh) 2017-05-22 2021-06-15 旺宏电子股份有限公司 电子***及其操作方法
CN107171796A (zh) * 2017-06-27 2017-09-15 济南浪潮高新科技投资发展有限公司 一种多kmc密钥恢复方法
US20190215160A1 (en) * 2018-01-09 2019-07-11 Qualcomm Incorporated Managing a set of cryptographic keys in an encrypted system
US11880468B2 (en) * 2018-01-12 2024-01-23 Unm Rainforest Innovations Autonomous, self-authenticating and self-contained secure boot-up system and methods
US11170115B2 (en) * 2018-07-30 2021-11-09 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for secure external access of the PUF information to an authorized entity
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
EP3860035A1 (en) * 2020-01-29 2021-08-04 Sebastien Armleder Storing and determining a data element
US11625478B2 (en) * 2020-04-15 2023-04-11 Arizona Board Of Regents On Behalf Of Northern Arizona University Resilient password management system using an array of addressable physical unclonable functions
CN111818039B (zh) * 2020-07-03 2021-07-20 西安电子科技大学 物联网中基于puf的三因素匿名用户认证协议方法
US11841985B2 (en) * 2020-09-03 2023-12-12 Pensando Systems Inc. Method and system for implementing security operations in an input/output device
US20230208633A1 (en) * 2021-12-28 2023-06-29 Munro Design & Technologies, Llc Methods for creating secret keys with a chief device and systems thereof

Also Published As

Publication number Publication date
TWI769961B (zh) 2022-07-01
TW202223711A (zh) 2022-06-16
TW202223701A (zh) 2022-06-16
US20220191033A1 (en) 2022-06-16
US11736286B2 (en) 2023-08-22
US20220191017A1 (en) 2022-06-16
EP4012689A1 (en) 2022-06-15
TW202223712A (zh) 2022-06-16
TWI825522B (zh) 2023-12-11
US11736285B2 (en) 2023-08-22
TWI792739B (zh) 2023-02-11
CN114629652A (zh) 2022-06-14
US20220188422A1 (en) 2022-06-16
CN114626020A (zh) 2022-06-14
EP4012689B1 (en) 2023-04-19

Similar Documents

Publication Publication Date Title
US9129671B2 (en) Semiconductor device identifier generation method and semiconductor device
US7900252B2 (en) Method and apparatus for managing shared passwords on a multi-user computer
US20080092216A1 (en) Authentication password storage method and generation method, user authentication method, and computer
US10482256B2 (en) Information processing apparatus and method of controlling the apparatus
US20200410097A1 (en) Confirming a version of firmware loaded to a processor-based device
CN103368916A (zh) 基于硬件信息的计算机终端可信证明生成技术
TW202009717A (zh) 記憶裝置及程式
US20230052055A1 (en) Security device generating key based on physically unclonable function and method of operating the same
US20090193261A1 (en) Apparatus and method for authenticating a flash program
EP3780489A1 (en) Memory device providing data security
JP5568696B1 (ja) パスワード管理システム及びパスワード管理システム用プログラム
TWI825522B (zh) 用來控制電子裝置的安全開機的方法及安全開機控制電路以及用來控制電子裝置的註冊的方法
CN116529729A (zh) 用于获得基于网络的资源的增强权限并根据其执行动作的集成电路
CN114499859A (zh) 密码验证方法、装置、设备及存储介质
EP3987423B1 (en) Undefined lifecycle state identifier for managing security of an integrated circuit device
JP2008160325A (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
US20230179418A1 (en) Storage controller and method of operating electronic system
CN106650329A (zh) 一种数据导出设备的个体授权方法
KR20140112837A (ko) 임베디드 시스템, 이를 포함하는 인증 시스템, 및 인증 방법
US20230377676A1 (en) Integrated circuit and operation method and inspection method thereof
US11531785B2 (en) PUF-based data integrity
US11972002B2 (en) Method of logging in to operating system, electronic device and readable storage medium
CN108416220B (zh) 一种访问控制方法及装置
CN116383900A (zh) 数据处理装置与数据处理方法
WO2024097428A1 (en) Owner revocation emulation container

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