CN110020561A - 半导体装置和操作半导体装置的方法 - Google Patents

半导体装置和操作半导体装置的方法 Download PDF

Info

Publication number
CN110020561A
CN110020561A CN201811258060.8A CN201811258060A CN110020561A CN 110020561 A CN110020561 A CN 110020561A CN 201811258060 A CN201811258060 A CN 201811258060A CN 110020561 A CN110020561 A CN 110020561A
Authority
CN
China
Prior art keywords
key
cryptographic key
protection
register
stored
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
CN201811258060.8A
Other languages
English (en)
Other versions
CN110020561B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110020561A publication Critical patent/CN110020561A/zh
Application granted granted Critical
Publication of CN110020561B publication Critical patent/CN110020561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/16Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/143Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using laser-fusible links
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Optics & Photonics (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)

Abstract

提供一种半导体装置和操作半导体装置的方法。所述半导体装置包括包含密钥编程区和多个密钥保护设置区的一次可编程(OTP)存储器。密钥被存储在密钥编程区,保护存储在密钥编程区的密钥的多个设置值被编程在所述多个密钥保护设置区中。所述半导体装置还包括密钥寄存器和密钥保护控制逻辑电路。密钥寄存器被配置为加载存储在OTP存储器中的密钥。当密钥被加载到密钥寄存器中时,密钥能够被安全软件访问。密钥保护控制逻辑电路被配置为基于编程在OTP存储器的密钥保护设置区中的所述多个设置值将存储在OTP存储器中的密钥加载到密钥寄存器中。

Description

半导体装置和操作半导体装置的方法
本申请要求于2018年1月10日提交的第10-2018-0003456号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开的示例性实施例涉及半导体装置和操作半导体装置的方法。
背景技术
能够执行包括安全应用的安全软件的半导体装置将密钥存储在其中并永久地编程由安全软件使用的密钥。例如,在制造将被安装在半导体装置上的芯片或芯片组的过程期间,密钥的值可被融合在诸如包括在半导体装置中的一次可编程(OTP)存储器的元件中。
然而,当在完成制造过程之后将芯片分发到另一个地方或者使用该芯片开发产品时,未授权的第三方可在未经许可的情况下访问融合在芯片中的密钥并泄露密钥。
发明内容
本公开的示例性实施例提供一种防止融合在一次可编程(OTP)存储器中的密钥在安全特征被启用之前泄露的半导体装置。
本公开的示例性实施例还提供一种操作防止融合在OTP存储器中的密钥在安全特征被启用之前泄露的半导体装置的方法。
根据本公开的示例性实施例,一种半导体装置,包括包含密钥编程区和多个密钥保护设置区的OTP存储器。密钥被存储在密钥编程区,保护存储在密钥编程区的密钥的多个设置值被编程在多个密钥保护设置区中。所述半导体装置还包括密钥寄存器和密钥保护控制逻辑电路。密钥寄存器被配置为加载存储在OTP存储器中的密钥。当密钥被加载到密钥寄存器中时,密钥能够被安全软件访问。密钥保护控制逻辑电路被配置为基于编程在OTP存储器的所述多个密钥保护设置区中的所述多个设置值将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述多个密钥保护设置区包括存储密钥保护使能位的密钥保护使能设置区。当密钥保护使能位被编程时,密钥保护控制逻辑电路不将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述多个密钥保护设置区还包括存储安全启动使能位的安全启动使能设置区。所述半导体装置还包括:只读存储器(ROM),被配置为对在启动时执行的二进制文件执行签名验证,其中,ROM根据安全启动使能位的值执行或不执行签名验证。
当密钥保护使能位和安全启动使能位被编程时,密钥保护控制逻辑电路将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述多个密钥保护设置区还包括存储调试端口保护使能位的调试端口保护使能设置区。所述半导体装置还包括:调试端口,被配置为向用户提供调试接口,其中,调试端口根据调试端口保护使能位的值允许或禁止用户的访问。
当密钥保护使能位和调试端口保护使能位被编程时,密钥保护控制逻辑电路将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述半导体装置还包括:密钥保护使能寄存器,其中,设定值通过安全软件被写入到密钥保护使能寄存器中。当密钥保护使能寄存器被编程时,密钥保护控制逻辑电路不将存储在OTP存储器中的密钥加载到密钥寄存器中。
存储在密钥保护使能寄存器中的设定值在所述半导体装置的操作期间仅能够改变一次。根据本公开的示例性实施例,一种半导体装置,包括包含密钥编程区和多个密钥保护设置区的OTP存储器。密钥被存储在密钥编程区,保护存储在密钥编程区中的密钥的多个设置值被存储在所述多个密钥保护设置区中。所述半导体装置还包括密钥寄存器和密钥保护控制逻辑电路。密钥寄存器被配置为加载存储在OTP存储器中的密钥。当密钥被加载到密钥寄存器中时,密钥能够被安全软件访问。密钥保护控制逻辑电路被配置为对存储在OTP存储器的所述多个密钥保护设置区中的所述多个设置值执行一个或多个逻辑运算。密钥保护控制逻辑电路基于执行所述一个或多个逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述多个密钥保护设置区包括存储密钥保护使能位的密钥保护使能设置区。当密钥保护使能位具有第一值时,密钥保护控制逻辑电路使存储在OTP存储器中的密钥被加载到密钥寄存器中;当密钥保护使能位具有第二值时,密钥保护控制逻辑电路使存储在OTP存储器中的密钥不被加载到密钥寄存器中。
所述多个密钥保护设置区还包括存储安全启动使能位的安全启动使能设置区和存储调试端口保护使能位的调试端口保护使能设置区。所述半导体装置还包括:只读存储器(ROM),被配置为对在启动时执行的二进制文件执行签名验证,其中,ROM根据安全启动使能位的值执行或不执行签名验证;调试端口,被配置为向用户提供调试接口,其中,调试端口根据调试端口保护使能位的值允许或禁止用户的访问。
密钥保护控制逻辑电路对安全启动使能位和调试端口保护使能位执行第一逻辑运算,并对第一逻辑运算的结果和密钥保护使能位执行第二逻辑运算。密钥保护控制逻辑电路基于第二逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述半导体装置还包括:密钥保护使能寄存器,其中,设定值通过安全软件被写入到密钥保护使能寄存器中。密钥保护控制逻辑电路对第二逻辑运算的结果和写入到密钥保护使能寄存器中的值执行第三逻辑运算。密钥保护控制逻辑电路基于第三逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
存储在密钥保护使能寄存器中的设定值在所述半导体装置的操作期间仅能够改变一次。
所述半导体装置还包括:密钥保护使能寄存器,其中,设定值通过安全软件被写入到密钥保护使能寄存器中。当密钥保护使能寄存器被编程时,密钥保护控制逻辑电路不将存储在OTP存储器中的密钥加载到密钥寄存器中。
根据本公开的示例性实施例,一种操作半导体装置的方法,包括:通过包括在半导体装置中的密钥保护控制逻辑电路,从包括在半导体装置的OTP存储器的一个或多个密钥保护设置区接收一个或多个设置值。所述方法还包括:通过密钥保护控制逻辑电路,对所述一个或多个设置值执行一个或多个逻辑运算。所述方法还包括:通过密钥保护控制逻辑电路,基于执行所述一个或多个逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到包括在半导体装置中的密钥寄存器。
所述一个或多个设置值包括密钥保护使能位。确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中的步骤包括:当密钥保护使能位具有第一值时,使密钥被加载到密钥寄存器中;当密钥保护使能位具有第二值时,使密钥不被加载到密钥寄存器中。
所述一个或多个设置值还包括安全启动使能位和调试端口保护使能位。执行所述一个或多个逻辑运算的步骤包括:对安全启动使能位和调试端口保护使能位执行第一逻辑运算,随后对第一逻辑运算的结果和密钥保护使能位执行第二逻辑运算。基于第二逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述方法还包括:从包括在半导体装置中的密钥保护使能寄存器接收设定值,其中,设定值通过安全软件被写入到密钥保护使能寄存器。执行所述一个或多个逻辑运算的步骤还包括:对第二逻辑运算的结果和从密钥保护使能寄存器接收的设定值执行第三逻辑运算。基于第三逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
所述方法还包括:从包括在半导体装置中的密钥保护使能寄存器接收设定值,其中,设定值通过安全软件被写入到密钥保护使能寄存器。确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中的步骤包括:当从密钥保护使能寄存器接收的设定值具有编程的值而不是默认值时,使密钥不被加载到密钥寄存器中。
根据本公开的示例性实施例,一种半导体装置包括:包含密钥编程区和多个密钥保护设置区的OTP存储器。密钥被存储在密钥编程区,保护存储在密钥编程区中的密钥的多个设置值被编程在所述多个密钥保护设置区中。所述半导体装置还包括:密钥寄存器,被配置为加载存储在OTP存储器中的密钥。OTP存储器的密钥编程区不能够被安全软件访问,密钥寄存器能够被安全软件访问,当密钥被存储在密钥编程区并且未被加载到密钥寄存器中时,密钥不能够被安全软件访问;当密钥被加载到密钥寄存器中时,密钥能够被安全软件访问。所述半导体装置还包括:密钥保护控制逻辑电路,被配置为基于编程在OTP存储器的所述多个密钥保护设置区中的所述多个设置值将存储在OTP存储器中的密钥加载到密钥寄存器中。
附图说明
通过参照附图详细描述本公开的示例性实施例,本公开的以上特征和其他特征将变得更清楚,其中:
图1是根据本公开的示例性实施例的半导体装置的框图。
图2是示出根据本公开的示例性实施例的半导体装置的框图。
图3是示出根据本公开的示例性实施例的半导体装置的框图。
图4是示出根据本公开的示例性实施例的半导体装置的框图。
图5是示出根据本公开的示例性实施例的半导体装置的框图。
图6是示出根据本公开的示例性实施例的半导体装置的框图。
图7是示出根据本公开的示例性实施例的半导体装置的框图。
图8是示出根据本公开的示例性实施例的操作半导体装置的方法的流程图。
图9是示出根据本公开的示例性实施例的操作半导体装置的方法的流程图。
图10是示出根据本公开的示例性实施例的操作半导体装置的方法的流程图。
具体实现方式
在下文中,将参照附图更充分地描述本公开的示例性实施例。贯穿附图,相同的参考标号可表示相同的元件。
将理解,术语“第一”、“第二”、“第三”等可在此用于将一个元件与另一元件区分开,并且这些元件不被这些术语限制。因此,一个示例性实施例中的“第一”元件可被描述为另一示例性实施例中的“第二”元件。
本公开的示例性实施例提供一种方案,该方案保护在安装在半导体装置中的芯片中融合的安全密钥免受第三方影响,直到安全特征(诸如,安全启动特征和调试端口保护特征)被启用为止。
图1是示出根据本公开的示例性实施例的半导体装置的框图。图2是示出根据本公开的示例性实施例的半导体装置的框图。
参照图1和图2,根据本公开的示例性实施例的半导体装置1可包括应用处理器5、一次可编程(OTP)存储器10、OTP存储器控制器20、访问控制器30、只读存储器(ROM)40、调试端口保护逻辑50、调试端口60、密钥保护控制逻辑100以及密钥寄存器110。
此外,根据本公开的示例性实施例,半导体装置1还可包括密钥保护使能寄存器120。
应用处理器5可控制半导体装置1的各种元件并可执行各种类型的软件。例如,应用处理器5可运行用于仅执行根据预定标准认证的任务的安全软件,并可运行用于执行无需被认证的任务的非安全软件。例如,应用处理器5可执行二进制文件(诸如,在半导体装置1的启动期间认证的启动图像)。
根据本公开的示例性实施例,应用处理器5可包括但不限于多个中央处理器(CPU)核。
在示例性实施例中,OTP存储器10存储将被应用处理器5用于执行安全软件的密钥。根据本公开的示例性实施例,可在制造半导体装置1的过程期间用预定的值将密钥永久地编程到OTP存储器10中。
根据本公开的示例性实施例,OTP存储器10包括密钥编程区12和密钥保护设置区14、16和18。
密钥编程区12是将用于通过应用处理器5执行安全软件的密钥被编程的区。通过应用处理器5执行的软件不能直接访问密钥编程区12。为了访问密钥,通过应用处理器5执行的软件必须使用密钥寄存器110,这将在下面更详细地描述。
密钥保护设置区14、16和18是用于保护存储在密钥编程区12中的密钥的设置值被编程的区。密钥保护设置区14、16和18可分别存储密钥保护使能位、安全启动使能位和调试端口保护使能位。因此,密钥保护设置区14还可被称为密钥保护使能设置区14,密钥保护设置区16还可被称为安全启动使能设置区16,密钥保护设置区18还可被称为调试端口保护使能设置区18。虽然图1中示出的密钥保护设置区的数量为三,但是,应理解,密钥保护设置区的数量不限于此。例如,根据需要,密钥保护设置区的数量可以是一个或多个。
密钥保护控制逻辑100确定是否将在OTP存储器10的密钥编程区12中编程的密钥加载到密钥寄存器110中。一旦密钥被加载到密钥寄存器110中,通过应用处理器5执行的软件可基于密钥保护设置区14、16和18中的编程的值来访问密钥。
下面将参照图3至图7提供关于密钥保护设置区14、16和18以及通过密钥保护控制逻辑100基于密钥保护设置区14、16和18中的编程的值确定是否将密钥加载到密钥寄存器110中的详细的描述。
密钥保护设置区14、16和18不能由软件访问。相反,密钥保护设置区14、16和18可由被实现为硬件元件的密钥保护控制逻辑100访问。
OTP存储器控制器20基于由密钥保护控制逻辑100进行的确定来执行将存储在OTP存储器10中的密钥加载到密钥寄存器110中的操作。OTP存储器控制器20可仅由安全软件控制。
密钥寄存器110是可将加载的密钥提供给安全软件的硬件接口。例如,安全软件可读取加载到密钥寄存器110中的密钥。此外,密钥寄存器110不能被调试端口60访问,这将在下面更详细地描述。
如上所述,密钥保护控制逻辑100基于编程在OTP存储器10的密钥保护设置区14、16和18中的值来确定是否将存储在OTP存储器10中的密钥加载到密钥寄存器110中。
例如,密钥保护控制逻辑100可对存储在密钥保护设置区14、16和18中的设置值执行一个或多个逻辑运算,并可基于一个或多个逻辑运算的结果来确定是否将存储在OTP存储器10中的密钥加载到密钥寄存器110中。
访问控制器30阻止非安全软件对密钥寄存器110的访问。此外,访问控制器30阻止非安全软件对需要被保护的元件(诸如,OTP存储器控制器20、密钥保护控制逻辑100和密钥保护使能寄存器120)的访问。
ROM 40可存储在启动半导体装置1时将被执行的二进制文件,并可对二进制文件执行签名验证。在示例性实施例中,ROM 40可根据存储在安全启动使能设置区16中的安全启动使能位的值对二进制文件执行或不执行签名验证。例如,在一个示例性实施例中,当存储在安全启动使能设置区16中的安全启动使能位具有一个值时,ROM 40对二进制文件执行签名验证;当存储在安全启动使能设置区中的安全启动使能位具有另一值时,ROM 40对二进制文件不执行签名验证。
调试端口60向用户提供调试接口。例如,在调试端口保护逻辑50的控制下,调试端口60可根据存储在OTP存储器10的调试端口保护使能设置区18中的调试端口保护使能位的值来允许或禁止用户的访问。例如,在一个示例性实施例中,当存储在调试端口保护使能设置区18中的调试端口保护使能位具有一个值时,调试端口60允许用户的访问;当存储在调试端口保护使能设置区18中的调试端口保护使能位具有另一值时,调试端口60禁止用户的访问。例如,在示例性实施例中,在调试端口保护逻辑50的控制下,调试端口60可根据存储在OTP存储器10的调试端口保护使能设置区18中的调试端口保护使能位的值来允许或禁止用户访问密钥寄存器110。
密钥保护使能寄存器120可被安全软件访问。密钥保护控制逻辑100可基于密钥保护使能寄存器120中的编程的值来确定是否将OTP存储器10的密钥编程区12中的编程的密钥加载到密钥寄存器110中。例如,当安全软件将不是指示访问应被准许的值的预定值编程在密钥保护使能寄存器120中时,密钥保护控制逻辑100不将存储在OTP存储器10中的密钥加载到密钥寄存器110中。相反,当安全软件将指示访问应被准许的值的预定值编程在密钥保护使能寄存器120中时,密钥保护控制逻辑100将存储在OTP存储器10中的密钥加载到密钥寄存器110中,从而准许安全软件访问密钥。
根据本公开的示例性实施例,密钥保护使能寄存器120被实现为使得可在半导体装置1的操作期间仅被改变一次。例如,存储在密钥保护使能寄存器120中的设置值可在半导体装置1被重新启动之前的半导体装置1的操作期间仅被改变一次。
在下文中,将详细地描述半导体装置1的用于防止融合在OTP存储器10中的密钥在安全特征被启用之前泄露的操作。
图3是示出根据本公开的示例性实施例的半导体装置的框图。
参照图3,假设OTP存储器10的密钥保护设置区14、16和18中的每个具有第一值(例如,0)作为默认值。此外,假设存储在密钥保护使能寄存器120中的设置值也具有第一值(例如,0)作为默认值。将理解,这些默认值是示例性的并且是为了便于描述而被引用,默认值不限于此。
此外,虽然在此第一值和第二值以二进制数0和1表示,但是这仅是出于示例性的目的而引用的实现方式,并且示例性实施例不限于此。
例如,在一些实现方式中,第一值和第二值可分别用二进制数1和0表示。此外,在一些实现方式中,密钥保护使能位的第一值、安全启动使能位的第一值和调试端口保护使能位的第一值可以不是同一值。例如,在示例性实施例中,当密钥保护使能位的第一值是二进制数0时,安全启动使能位的第一值或调试端口保护使能位的第一值可以是二进制数1。
将理解,在此,当存储在OTP存储器10的密钥保护设置区14、16和18中的使能位或存储在密钥保护使能寄存器120中的设置值被描述为具有默认值(例如,第一值)时,使能位不被编程。此外,当存储在OTP存储器10的密钥保护设置区14、16和18中的使能位或存储在密钥保护使能寄存器120中的设置值被描述为被编程时,使能位从默认值(例如,第一值)被改变为非默认值(例如,第二值)。为了便于解释,在在此描述的示例中,默认值(例如,非编程的值)(例如,第一值)为0,编程的值(例如,第二值)为1。然而,本公开的示例性实施例不限于此。
返回参考图3,在根据本公开的示例性实施例的半导体装置1中,密钥“0x123456789ABC……”被编程在OTP存储器10的密钥编程区12中。密钥“0x123456789ABC……”在制造半导体装置1的过程期间被融合在OTP存储器10中。
根据这个示例性实施例,存储在OTP存储器10的密钥保护设置区14中的密钥保护使能位是作为默认值的第一值(例如,0)。当存储在OTP存储器10的密钥保护设置区14中的密钥保护使能位是第一值时,密钥保护控制逻辑100确定将存储在OTP存储器10的密钥编程区12中的密钥加载到密钥寄存器110中。
例如,密钥保护控制逻辑100将具有第二值(例如,1)的输出信号提供给密钥寄存器110,使得密钥寄存器110暴露存储在密钥编程区12中的密钥。密钥保护控制逻辑100的具有第二值的输出信号对应于指示密钥被加载到密钥寄存器110中的信号,这指示安全软件可读取密钥(“Key Enable=ON”)。
因此,在图3中,可以看出密钥“0x123456789ABC……”被加载到密钥寄存器110中。也就是说,在这个示例中,对密钥的保护被禁用。
虽然图2至图7示出在密钥保护控制逻辑100内部包括反相器、与(AND)逻辑门和或(OR)逻辑门从而形成作为硬件元件的密钥保护控制逻辑电路100的逻辑电路图,但是这些逻辑电路图仅是为了示意性地示出密钥保护控制逻辑100的操作的示例。例如,根据示例性实施例,密钥保护控制逻辑100的实现方式不限于描绘的逻辑图,也不必包括图2至图7中示出的配置中的物理地描绘的逻辑电路。
图4是示出根据本公开的示例性实施例的半导体装置的框图。
参照图4,在根据本公开的示例性实施例的半导体装置1中,存储在OTP存储器10的密钥保护使能设置区14中的密钥保护使能位可用第二值(例如,1)来编程。存储在密钥保护设置区16和18以及密钥保护使能寄存器120中的设置值保持它们的默认值。
当存储在密钥保护使能设置区14中的密钥保护使能位是第二值(例如,1)时,密钥保护控制逻辑100确定不将存储在OTP存储器10的密钥编程区12中的密钥加载到密钥寄存器110中。
例如,密钥保护控制逻辑100将具有第一值(例如,0)的输出信号提供给密钥寄存器110,使得密钥寄存器110不暴露存储在密钥编程区12中的密钥。密钥保护控制逻辑100的具有第一值的输出信号对应于指示密钥不被加载到密钥寄存器110中的信号,这指示安全软件不能读取密钥(“Key Enable=OFF”)。
结果,可以看出,在图4的OTP存储器10的密钥编程区12中编程的密钥“0x123456789ABC……”未被加载到密钥寄存器110中。因此,在这个示例中,对密钥的保护被启用。
根据本公开的示例性实施例,在此描述的密钥保护方案通过将密钥保护控制逻辑100实施为硬件元件(例如,包括例如逻辑门的密钥保护控制逻辑电路100)来实现。结果,示例性实施例能够完全防止软件(甚至包括安全软件)读取密钥,导致对传统的半导体装置密钥保护方案的改进。例如,在传统的半导体装置密钥保护方案中,融合在OTP存储器中的密钥可能在安全特征被启用之前泄露。相反,根据示例性实施例,将密钥保护控制逻辑100实施为硬件元件(例如,硬件电路)防止融合在OTP存储器10中的密钥在安全特征被启用之前泄露。根据示例性实施例,由于密钥保护控制逻辑100被实施为硬件电路,所以密钥保护控制逻辑100在此还可被称为密钥保护控制逻辑电路100。
将理解,虽然在对密钥的保护被启用时附图中的密钥寄存器110中指示“0x000000000000……”,但是这仅是示意性的说明,并且密钥寄存器110的实现方式不限于此。例如,在一些实现方式中,当对密钥的保护被启用时,密钥寄存器110可具有无意义的垃圾值代替“0x000000000000……”。
图5是示出根据本公开的示例性实施例的半导体装置的框图。
参照图5,在根据本公开的示例性实施例的半导体装置1中,存储在OTP存储器10的密钥保护使能设置区14中的密钥保护使能位、存储在OTP存储器10的安全启动使能设置区16中的安全启动使能位和存储在OTP存储器10的调试端口保护使能设置区18中的调试端口保护使能位可用第二值(例如,1)来编程。存储在密钥保护使能寄存器120中的设置值保持默认值。
当密钥保护使能位和安全启动使能位被分别编程在密钥保护使能设置区14和安全启动使能设置区16中时,密钥保护控制逻辑100识别出作为多个安全特征中的一个安全特征的安全启动特征被启用。因此,存储在OTP存储器10的密钥编程区12中的密钥可被加载到密钥寄存器110中。
此外,当密钥保护使能位和调试端口保护使能位被分别编程在密钥保护使能设置区14和调试端口保护使能设置区18中时,密钥保护控制逻辑100识别出作为多个安全特征中的一个安全特征的调试端口保护特征被启用。因此,存储在OTP存储器10的密钥编程区12中的密钥可被加载到密钥寄存器110中。
例如,如图5中所示,密钥保护控制逻辑100可对存储在安全启动使能设置区16中的安全启动使能位和存储在调试端口保护使能设置区18中的调试端口保护使能位执行第一逻辑运算,并可对第一逻辑运算的结果和存储在密钥保护使能设置区14中的密钥保护使能位执行第二逻辑运算,以基于第二逻辑运算的结果来确定是否将存储在OTP存储器10的密钥编程区12中的密钥加载到密钥寄存器110中。也就是说,密钥保护控制逻辑100可检查安全启动特征和调试端口保护特征二者是否被启用,并且可在这些安全特征都被启用时允许安全软件访问密钥。
例如,在本公开的示例性实施例中,调试端口保护特征可永久地或暂时地阻止调试端口(例如,可永久地或暂时地禁止调试端口的使用)。当调试端口保护特征暂时地阻止调试端口时,包括例如安全认证(安全JTAG)的用户认证可被应用。
在本公开的示例性实施例中,第一逻辑运算可包括但不限于由AND逻辑门执行的AND逻辑运算,第二逻辑运算可包括但不限于由OR逻辑门执行的OR逻辑运算。
例如,仍参照图5,存储在安全启动使能设置区16中的安全启动使能位和存储在调试端口保护使能设置区18中的调试端口保护使能位具有第二值(例如,1),并且密钥保护控制逻辑100对安全启动使能位和调试端口保护使能位执行AND逻辑运算。
然后,密钥保护控制逻辑100对AND逻辑运算的结果(例如,1)和具有第二值(例如,1)的密钥保护使能位的反相值执行OR逻辑运算。
然后,密钥保护控制逻辑100对OR逻辑运算的结果(例如,1)和存储在密钥保护使能寄存器120中的设置值的反相值(例如,1)执行AND逻辑运算,并根据AND逻辑运算的结果(例如,1)将具有第二值(例如,1)的输出信号提供给密钥寄存器110,使得密钥寄存器110暴露存储在密钥编程区12中的密钥。
结果,可以看出,编程在图5的OTP存储器10的密钥编程区12中的密钥“0x123456789ABC……”被加载到密钥寄存器110中。也就是说,这个示例示出对密钥的保护被禁用但安全特征已在运行。
因此,在示例性实施例中,半导体装置1根据由被实现为硬件元件的密钥保护控制逻辑100实现的密钥保护方案仅执行允许的软件并禁止调试端口60的使用,从而安全地保护存储在OTP存储器10中的密钥。
图6是示出根据本公开的示例性实施例的半导体装置的框图。
参照图6,在根据本公开的示例性实施例的半导体装置1中,密钥保护使能寄存器120以及存储在OTP存储器10的密钥保护使能设置区14中的密钥保护使能位、存储在OTP存储器10的安全启动使能设置区16中的安全启动使能位和存储在OTP存储器10的调试端口保护使能设置区18中的调试端口保护使能位可用第二值(例如,1)来编程。
当密钥保护使能寄存器120被编程时,即使安全特征中的安全启动特征和调试端口保护特征被启用,密钥保护控制逻辑100也不将存储在OTP存储器10的密钥编程区12中的密钥加载到密钥寄存器110中。
例如,密钥保护控制逻辑100可对存储在安全启动使能设置区16中的安全启动使能位和存储在调试端口保护使能设置区18中的调试端口保护使能位执行第一逻辑运算,可对第一逻辑运算的结果和存储在密钥保护使能设置区14中的密钥保护使能位执行第二逻辑运算,并可对第二逻辑运算的结果和从密钥保护使能寄存器120提供的设置值执行第三逻辑运算,以基于第三逻辑运算的结果来确定是否将存储在OTP存储器10的密钥编程区12中的密钥加载到密钥寄存器110中。因此,在一个示例性实施例中,即使在密钥保护控制逻辑100确定安全启动特征和调试端口保护特征二者已被启用之后,如果需要,密钥保护控制逻辑100也可禁止安全软件访问密钥。
在本公开的示例性实施例中,第一逻辑运算和第三逻辑运算可包括但不限于由AND逻辑门执行的AND逻辑运算,而第二逻辑运算可包括但不限于由OR逻辑门执行的OR逻辑运算。
例如,仍参照图6,存储在安全启动使能设置区16中的安全启动使能位和存储在调试端口保护使能设置区18中的调试端口保护使能位具有第二值(例如,1),并且密钥保护控制逻辑100对这些位执行AND逻辑运算。
然后,密钥保护控制逻辑100对AND逻辑运算的结果(例如,1)和存储在密钥保护使能设置区14中的具有第二值(例如,1)的密钥保护使能位的反相值执行OR逻辑运算。
然后,密钥保护控制逻辑100对OR逻辑运算的结果(例如,1)和存储在密钥保护使能寄存器120中的具有第二值(例如,1)的设置值的反相值执行AND逻辑运算。
然后,密钥保护控制逻辑100根据AND逻辑运算的结果(例如,0)将具有第一值(例如,0)的输出信号提供给密钥寄存器110,使得密钥寄存器110不暴露存储在密钥编程区12中的密钥。
结果,可以看出,编程在图6的OTP存储器10的密钥编程区12中的密钥“0x123456789ABC……”不被加载到密钥寄存器110中。也就是说,这个示例示出如果需要,即使安全特征正在运行,对密钥的保护也被启用。
根据本公开的示例性实施例,密钥保护使能寄存器120被实现为使得在半导体装置1的操作期间仅可被改变一次。例如,存储在密钥保护使能寄存器120中的设置值可在半导体装置1被重新启动之前的半导体装置1的操作期间仅被改变一次。
根据本公开的示例性实施例,在此描述的密钥保护方案由被实施为硬件元件的密钥保护控制逻辑100(例如,包括例如多个逻辑门的密钥保护控制逻辑电路100)来实现。结果,在半导体装置1在启动时使用存储在OTP存储器10的密钥之后,对密钥的保护被启用,使得密钥不再能够被使用,直到半导体装置1被复位为止。结果,存储在OTP存储器10中的密钥的保护水平被提高。
图7是示出根据本公开的示例性实施例的半导体装置的框图。
参照图7,在根据本公开的示例性实施例的半导体装置1中,存储在OTP存储器10的密钥保护使能设置区14中的密钥保护使能位、存储在OTP存储器10的安全启动使能设置区16中的安全启动使能位和存储在OTP存储器10的调试端口保护使能设置区18中的调试端口保护使能位都可以是作为默认值的第一值(例如,0)。因此,这个示例与对密钥的保护被禁用的图3中的示例相同。
在这个示例中,即使存储在OTP存储器10的密钥保护使能设置区14中的密钥保护使能位、存储在OTP存储器10的安全启动使能设置区16中的安全启动使能位和存储在OTP存储器10的调试端口保护使能设置区18中的调试端口保护使能位未被编程,密钥保护使能寄存器120也可根据用户的请求用第二值(例如,1)来编程,以启用对密钥的保护。
如上所述,基于密钥保护使能位、安全启动使能位和调试端口保护使能位确定是否保护密钥的密钥保护控制逻辑100是硬件元件,然而密钥保护使能寄存器120是被安全软件访问且其内容可被改变的元件。
因此,对密钥的保护可根据安全软件的策略来启用,而不管半导体装置1的安全特征。
根据本公开的示例性实施例,密钥保护使能寄存器120被实现为使得在半导体装置1的操作期间仅可被改变一次。例如,存储在密钥保护使能寄存器120中的设置值可在半导体装置1被重新启动之前的半导体装置1的操作期间仅被改变一次。
是否保护密钥的确定可在安全软件的控制下进行。例如,在用户仅在特定时间点使用存储在OTP存储器10中的密钥之后,对密钥的保护被启用,使得密钥不再能够被使用直到半导体装置1被复位为止,从而保护存储在OTP存储器10中的密钥。
图8是根据本公开的示例性实施例的操作半导体装置的方法的流程图。
参照图8,根据本公开的示例性实施例的操作半导体装置1的方法从将用于通过应用处理器5执行安全软件的密钥融合在OTP存储器10的密钥编程区12中(S801)开始。
随后,该方法包括将密钥保护使能位融合在OTP存储器10的密钥保护使能设置区14中(S803)。结果,对密钥的保护可被启用。
随后,该方法包括将安全启动使能位融合在OTP存储器10的安全启动使能设置区16并将调试端口保护使能位融合在OTP存储器10的调试端口保护使能设置区18中(S805)。因此,当安全启动特征和调试端口保护特征二者被启用时,安全软件可被允许访问密钥。
图9是示出根据本公开的示例性实施例的操作半导体装置的方法的流程图。
参照图9,根据本公开的示例性实施例的操作半导体装置1的方法从将用于通过应用处理器5执行安全软件的密钥融合在OTP存储器10的密钥编程区12(S901)开始。
随后,该方法包括将密钥保护使能位融合在OTP存储器10的密钥保护使能设置区14中(S903)。结果,对密钥的保护可被启用。
随后,该方法包括将安全启动使能位融合在OTP存储器10的安全启动使能设置区16中并将调试端口保护使能位存储在OTP存储器10的调试端口保护使能设置区18中(S905)。因此,当安全启动特征与调试端口保护特征二者被启用时,安全软件可被允许访问密钥。
随后,该方法包括在安全软件的控制下对密钥保护使能寄存器120进行编程(S907)。因此,即使在已经确定安全启动特征和调试端口保护特征二者被启用之后,如果需要,安全软件可仍然被禁止访问密钥。
图10是示出根据本公开的示例性实施例的操作半导体装置的方法的流程图。
参照图10,根据本公开的示例性实施例的操作半导体装置1的方法从将用于通过应用处理器5执行安全软件的密钥融合在OTP存储器10的密钥编程区12(S1001)开始。
随后,该方法包括在安全软件的控制下对密钥保护使能寄存器120进行编程(S1003)。通过这样做,对密钥的保护可根据安全软件的策略来启用,而不管半导体装置1的安全特征。
例如,根据上述参照图8至图10描述的方法,从OTP存储器10的密钥保护设置区14、16和18接收一个或多个设置值,对一个或多个设置值执行一个或多个逻辑运算,并基于一个或多个逻辑运算的结果确定是否加载存储在OTP存储器10中的密钥。上面已参照图3至图7详细地描述了为实现此而实施的方案。
根据在此描述的由根据本公开的示例性实施例的密钥保护控制逻辑100提供的密钥保护方案,在需要时可完全防止软件(甚至包括安全软件)读取密钥。
此外,由于半导体装置1可根据以上方案仅执行允许的软件并且可禁止调试端口60的使用,因此存储在OTP存储器10中的密钥可被安全地保护。
此外,在半导体装置1在启动时使用存储在OTP存储器10中的密钥之后,对密钥的保护被启用,使得密钥不再能够被使用直到半导体装置1被复位为止,从而进一步提高存储在OTP存储器10中的密钥的保护水平。
此外,在用户在特定时间点使用存储在OTP存储器10中的密钥之后,对密钥的保护被启用,使得密钥不再能够被使用直到半导体装置1被复位为止,从而安全地保护存储在OTP存储器10中的密钥。
结果,当在完成融合芯片的过程之后将芯片分发到另一个地方或者当随后使用该芯片开发器件时,本公开的示例性实施例有效地防止融合在芯片中的密钥在未经允许的情况下被读取以及被未授权的第三方泄露,直到安全特征(诸如,安全启动特征和调试端口保护特征)被启用为止。
根据本公开的领域中的惯例,在附图中就功能块、单元和/或模块方面描述并示出了示例性实施例。本领域技术人员将理解,这些块、单元和/或模块通过可使用基于半导体的制造技术或其他制造技术形成的电子(或光学)电路(诸如,逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接件等)物理地实现。
尽管已经参照本发明的示例性实施例具体示出并描述了本公开,但是本领域普通技术人员将理解,在不脱离如权利要求所限定的本公开的精神和范围的情况下,可对其进行形式和细节上的各种改变。

Claims (20)

1.一种半导体装置,包括:
一次可编程OTP存储器,包括密钥编程区和多个密钥保护设置区,其中,密钥被存储在密钥编程区中,保护存储在密钥编程区中的密钥的多个设置值被编程在所述多个密钥保护设置区中;
密钥寄存器,被配置为加载存储在OTP存储器中的密钥,其中,当密钥被加载到密钥寄存器中时,密钥能够被安全软件访问;
密钥保护控制逻辑电路,被配置为基于编程在OTP存储器的所述多个密钥保护设置区中的所述多个设置值将存储在OTP存储器中的密钥加载到密钥寄存器中。
2.根据权利要求1所述的半导体装置,
其中,所述多个密钥保护设置区包括存储密钥保护使能位的密钥保护使能设置区,
其中,当密钥保护使能位被编程时,密钥保护控制逻辑电路不将存储在OTP存储器中的密钥加载到密钥寄存器中。
3.根据权利要求2所述的半导体装置,
其中,所述多个密钥保护设置区还包括存储安全启动使能位的安全启动使能设置区,
其中,所述半导体装置还包括:
只读存储器ROM,被配置为对在启动时执行的二进制文件执行签名验证,其中,ROM根据安全启动使能位的值执行或不执行签名验证。
4.根据权利要求3所述的半导体装置,其中,当密钥保护使能位和安全启动使能位被编程时,密钥保护控制逻辑电路将存储在OTP存储器中的密钥加载到密钥寄存器中。
5.根据权利要求2所述的半导体装置,
其中,所述多个密钥保护设置区还包括存储调试端口保护使能位的调试端口保护使能设置区,
其中,所述半导体装置还包括:
调试端口,被配置为向用户提供调试接口,其中,调试端口根据调试端口保护使能位的值允许或禁止用户的访问。
6.根据权利要求5所述的半导体装置,其中,当密钥保护使能位和调试端口保护使能位被编程时,密钥保护控制逻辑电路将存储在OTP存储器中的密钥加载到密钥寄存器中。
7.根据权利要求1所述的半导体装置,还包括:
密钥保护使能寄存器,其中,设定值通过安全软件被写入到密钥保护使能寄存器中,
其中,当密钥保护使能寄存器被编程时,密钥保护控制逻辑电路不将存储在OTP存储器中的密钥加载到密钥寄存器中。
8.根据权利要求7所述的半导体装置,其中,存储在密钥保护使能寄存器中的设定值在所述半导体装置的操作期间仅能够改变一次。
9.一种半导体装置,包括:
一次可编程OTP存储器,包括密钥编程区和多个密钥保护设置区,其中,密钥被存储在密钥编程区中,保护存储在密钥编程区中的密钥的多个设置值被存储在所述多个密钥保护设置区中;
密钥寄存器,被配置为加载存储在OTP存储器中的密钥,其中,当密钥被加载到密钥寄存器中时,密钥能够被安全软件访问;
密钥保护控制逻辑电路,被配置为对存储在OTP存储器的所述多个密钥保护设置区中的所述多个设置值执行一个或多个逻辑运算,
其中,密钥保护控制逻辑电路基于执行所述一个或多个逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
10.根据权利要求9所述的半导体装置,
其中,所述多个密钥保护设置区包括存储密钥保护使能位的密钥保护使能设置区,
其中,当密钥保护使能位具有第一值时,密钥保护控制逻辑电路使存储在OTP存储器中的密钥被加载到密钥寄存器中,
其中,当密钥保护使能位具有第二值时,密钥保护控制逻辑电路使存储在OTP存储器中的密钥不被加载到密钥寄存器中。
11.根据权利要求10所述的半导体装置,
其中,所述多个密钥保护设置区还包括存储安全启动使能位的安全启动使能设置区和存储调试端口保护使能位的调试端口保护使能设置区,
其中,所述半导体装置还包括:
只读存储器ROM,被配置为对在启动时执行的二进制文件执行签名验证,其中,ROM根据安全启动使能位的值执行或不执行签名验证;
调试端口,被配置为向用户提供调试接口,其中,调试端口根据调试端口保护使能位的值允许或禁止用户的访问。
12.根据权利要求11所述的半导体装置,
其中,密钥保护控制逻辑电路对安全启动使能位和调试端口保护使能位执行第一逻辑运算,并对第一逻辑运算的结果和密钥保护使能位执行第二逻辑运算,
其中,密钥保护控制逻辑电路基于第二逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
13.根据权利要求12所述的半导体装置,还包括:
密钥保护使能寄存器,其中,设定值通过安全软件被写入到密钥保护使能寄存器中,
其中,密钥保护控制逻辑电路对第二逻辑运算的结果和写入到密钥保护使能寄存器中的设定值执行第三逻辑运算,
其中,密钥保护控制逻辑电路基于第三逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
14.根据权利要求13所述的半导体装置,其中,存储在密钥保护使能寄存器中的设定值在所述半导体装置的操作期间仅能够改变一次。
15.根据权利要求9所述的半导体装置,还包括:
密钥保护使能寄存器,其中,设定值通过安全软件被写入到密钥保护使能寄存器中,
其中,当密钥保护使能寄存器被编程时,密钥保护控制逻辑电路不将存储在OTP存储器中的密钥加载到密钥寄存器中。
16.一种操作半导体装置的方法,所述方法包括:
通过包括在半导体装置中的密钥保护控制逻辑电路,从包括在半导体装置中的一次可编程OTP存储器的一个或多个密钥保护设置区接收一个或多个设置值;
通过密钥保护控制逻辑电路,对所述一个或多个设置值执行一个或多个逻辑运算;
通过密钥保护控制逻辑电路,基于执行所述一个或多个逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到包括在半导体装置中的密钥寄存器中。
17.根据权利要求16所述的方法,
其中,所述一个或多个设置值包括密钥保护使能位,
其中,确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中的步骤包括:
当密钥保护使能位具有第一值时,使密钥被加载到密钥寄存器中,
当密钥保护使能位具有第二值时,使密钥不被加载到密钥寄存器中。
18.根据权利要求17所述的方法,
其中,所述一个或多个设置值还包括安全启动使能位和调试端口保护使能位,
其中,执行所述一个或多个逻辑运算的步骤包括:对安全启动使能位和调试端口保护使能位执行第一逻辑运算,随后对第一逻辑运算的结果和密钥保护使能位执行第二逻辑运算,
其中,基于第二逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
19.根据权利要求18所述的方法,还包括:
从包括在半导体装置中的密钥保护使能寄存器接收设定值,其中,设定值通过安全软件被写入到密钥保护使能寄存器,
其中,执行所述一个或多个逻辑运算的步骤还包括:对第二逻辑运算的结果和从密钥保护使能寄存器接收的设定值执行第三逻辑运算,
其中,基于第三逻辑运算的结果来确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中。
20.根据权利要求16所述的方法,还包括:
从包括在半导体装置中的密钥保护使能寄存器接收设定值,其中,设定值通过安全软件被写入到密钥保护使能寄存器,
其中,确定是否将存储在OTP存储器中的密钥加载到密钥寄存器中的步骤包括:
当从密钥保护使能寄存器接收的设定值具有编程的值而不是默认值时,使密钥不被加载到密钥寄存器中。
CN201811258060.8A 2018-01-10 2018-10-26 半导体装置和操作半导体装置的方法 Active CN110020561B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180003456A KR102432451B1 (ko) 2018-01-10 2018-01-10 반도체 장치 및 반도체 장치의 동작 방법
KR10-2018-0003456 2018-01-10

Publications (2)

Publication Number Publication Date
CN110020561A true CN110020561A (zh) 2019-07-16
CN110020561B CN110020561B (zh) 2023-12-15

Family

ID=67140188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811258060.8A Active CN110020561B (zh) 2018-01-10 2018-10-26 半导体装置和操作半导体装置的方法

Country Status (3)

Country Link
US (1) US10923203B2 (zh)
KR (1) KR102432451B1 (zh)
CN (1) CN110020561B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468296A (zh) * 2020-11-26 2021-03-09 湖南国科微电子股份有限公司 一种密钥编程方法、系统、电子设备及存储介质
CN114785512A (zh) * 2022-03-03 2022-07-22 瑞芯微电子股份有限公司 处理安全密钥的方法和装置及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230083979A1 (en) * 2021-09-10 2023-03-16 Ampere Computing Llc Method and system for secure boot and rma intervention
US12008107B2 (en) * 2022-06-27 2024-06-11 Nuvoton Technology Corporation Chip and method capable of authenticating off-chip debug firmware program and debug user

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020002654A1 (en) * 2000-07-03 2002-01-03 Ichiro Tomohiro Semiconductor storage device
US20030200406A1 (en) * 2002-04-17 2003-10-23 Matsushita Electric Industrial Co., Ltd. Nonvolatile semiconductor memory device and method for providing security for the same
CN101174942A (zh) * 2006-10-31 2008-05-07 华为技术有限公司 一种实现密钥保护的方法及系统
CN101238473A (zh) * 2005-08-03 2008-08-06 Nxp股份有限公司 保护密钥的安全终端、例程和方法
CN101673251A (zh) * 2008-09-05 2010-03-17 Vixs系统公司 具有特许存储器的设备及其应用
US20100189262A1 (en) * 2008-09-05 2010-07-29 Vixs Systems, Inc. Secure key access with one-time programmable memory and applications thereof
US20110182101A1 (en) * 2010-01-28 2011-07-28 Hynix Semiconductor Inc. Semiconductor memory device with security function and control method thereof
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备
CN103853983A (zh) * 2012-12-06 2014-06-11 三星电子株式会社 执行安全引导的片上系统、使用其的图像形成装置及方法
JP2015176501A (ja) * 2014-03-17 2015-10-05 株式会社リコー 情報処理プログラム、情報処理装置、および画像処理システム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100636150B1 (ko) * 2004-07-01 2006-10-19 삼성전자주식회사 암호화 모듈을 포함하는 멀티미디어 장치
US7725738B1 (en) * 2005-01-25 2010-05-25 Altera Corporation FPGA configuration bitstream protection using multiple keys
US7757295B1 (en) * 2005-02-09 2010-07-13 Lsi Corporation Methods and structure for serially controlled chip security
US20070094507A1 (en) * 2005-10-21 2007-04-26 Rush Frederick A Method and system for securing a wireless communication apparatus
US20080148001A1 (en) * 2006-12-14 2008-06-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual Secure On-Chip One Time Programming
US7778074B2 (en) * 2007-03-23 2010-08-17 Sigmatel, Inc. System and method to control one time programmable memory
US9501429B2 (en) * 2008-09-05 2016-11-22 Vixs Systems Inc. Dynamic key and rule storage protection
US8644499B2 (en) * 2009-09-14 2014-02-04 Broadcom Corporation Method and system for securely protecting a semiconductor chip without compromising test and debug capabilities
US9019791B2 (en) * 2010-11-03 2015-04-28 Shine C. Chung Low-pin-count non-volatile memory interface for 3D IC
US10110380B2 (en) * 2011-03-28 2018-10-23 Nxp B.V. Secure dynamic on chip key programming
KR20130008939A (ko) * 2011-07-13 2013-01-23 삼성전자주식회사 휴대 단말기에서 단말 고유 정보의 복제를 방지하는 장치 및 방법
WO2013101085A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Secure key storage using physically unclonable functions
EP2856379B1 (en) * 2012-05-30 2016-10-12 Freescale Semiconductor, Inc. A semiconductor device and a method of manufacturing a semiconductor device
US20140164753A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd System on chip for performing secure boot, image forming apparatus using the same, and method thereof
US9390246B2 (en) 2013-09-25 2016-07-12 Intel Corporation Creating secure original equipment manufacturer (OEM) identification
KR102104564B1 (ko) * 2013-11-21 2020-04-24 삼성전자주식회사 디지털 상관 이중 샘플링 회로 및 이를 포함하는 이미지 센서
US9830479B2 (en) * 2014-09-16 2017-11-28 Nxp Usa, Inc. Key storage and revocation in a secure memory system
US10353638B2 (en) * 2014-11-18 2019-07-16 Microsemi SoC Corporation Security method and apparatus to prevent replay of external memory data to integrated circuits having only one-time programmable non-volatile memory
TW201633207A (zh) * 2014-12-12 2016-09-16 納格維遜股份有限公司 裝置金鑰保護
US20170053716A1 (en) * 2015-08-20 2017-02-23 Samsung Electronics Co., Ltd. Otp memory including test cell array and method of testing the same
US10521618B1 (en) * 2015-10-20 2019-12-31 Marvell International Ltd. Methods and apparatus for secure root key provisioning
US10302857B2 (en) * 2017-05-03 2019-05-28 Corning Incorporated Low bend loss optical fiber with a germania doped core

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020002654A1 (en) * 2000-07-03 2002-01-03 Ichiro Tomohiro Semiconductor storage device
US20030200406A1 (en) * 2002-04-17 2003-10-23 Matsushita Electric Industrial Co., Ltd. Nonvolatile semiconductor memory device and method for providing security for the same
CN101238473A (zh) * 2005-08-03 2008-08-06 Nxp股份有限公司 保护密钥的安全终端、例程和方法
US20080229425A1 (en) * 2005-08-03 2008-09-18 Nxp B.V. Secure Terminal, a Routine and a Method of Protecting a Secret Key
CN101174942A (zh) * 2006-10-31 2008-05-07 华为技术有限公司 一种实现密钥保护的方法及系统
CN101673251A (zh) * 2008-09-05 2010-03-17 Vixs系统公司 具有特许存储器的设备及其应用
US20100189262A1 (en) * 2008-09-05 2010-07-29 Vixs Systems, Inc. Secure key access with one-time programmable memory and applications thereof
CN102117387A (zh) * 2010-01-04 2011-07-06 Vixs系统公司 安全密钥访问设备及方法
US20110182101A1 (en) * 2010-01-28 2011-07-28 Hynix Semiconductor Inc. Semiconductor memory device with security function and control method thereof
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备
CN103853983A (zh) * 2012-12-06 2014-06-11 三星电子株式会社 执行安全引导的片上系统、使用其的图像形成装置及方法
JP2015176501A (ja) * 2014-03-17 2015-10-05 株式会社リコー 情報処理プログラム、情報処理装置、および画像処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468296A (zh) * 2020-11-26 2021-03-09 湖南国科微电子股份有限公司 一种密钥编程方法、系统、电子设备及存储介质
CN114785512A (zh) * 2022-03-03 2022-07-22 瑞芯微电子股份有限公司 处理安全密钥的方法和装置及电子设备

Also Published As

Publication number Publication date
US20190214102A1 (en) 2019-07-11
KR20190085387A (ko) 2019-07-18
US10923203B2 (en) 2021-02-16
KR102432451B1 (ko) 2022-08-12
CN110020561B (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
CN108269605B (zh) 安全器件状态设备和方法
US8332653B2 (en) Secure processing environment
CN110020561A (zh) 半导体装置和操作半导体装置的方法
JP5419776B2 (ja) 半導体装置及びデータ処理方法
CN106462708B (zh) 认证变量的管理方法和装置
US9389793B2 (en) Trusted execution and access protection for embedded memory
US7917716B2 (en) Memory protection for embedded controllers
KR101010801B1 (ko) 액세스 허용을 결정하는 방법 및 장치
US9230112B1 (en) Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis
JP5114617B2 (ja) 秘密鍵を保護する、セキュア端末、プログラム、および方法
KR101502032B1 (ko) 보안 기능을 갖는 프로세서 장치
KR20170095161A (ko) 시큐어 시스템 온 칩
US7822995B2 (en) Apparatus and method for protecting diagnostic ports of secure devices
US20070237325A1 (en) Method and apparatus to improve security of cryptographic systems
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
TW200832427A (en) Virtual secure on-chip one time programming
JP2007249933A (ja) データ処理装置内コンテンツへのアクセス管理
KR100830910B1 (ko) 반도체 기억장치
JP2001356963A (ja) 半導体装置およびその制御装置
CN108063664A (zh) 基于配置的密码密钥生成
US20090158011A1 (en) Data processing system
CN111026683A (zh) 访问存储器的方法
US20220317184A1 (en) Secured debug
CN114357468B (zh) 一种固件的安全性保护方法、装置
CN114817935A (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
GR01 Patent grant
GR01 Patent grant