CN109670346B - 半导体装置、产生和登记安全密钥的方法、以及电子系统 - Google Patents

半导体装置、产生和登记安全密钥的方法、以及电子系统 Download PDF

Info

Publication number
CN109670346B
CN109670346B CN201811184280.0A CN201811184280A CN109670346B CN 109670346 B CN109670346 B CN 109670346B CN 201811184280 A CN201811184280 A CN 201811184280A CN 109670346 B CN109670346 B CN 109670346B
Authority
CN
China
Prior art keywords
bit
unit
mask
bits
data
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.)
Active
Application number
CN201811184280.0A
Other languages
English (en)
Other versions
CN109670346A (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
Priority claimed from KR1020180057964A external-priority patent/KR102516190B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN109670346A publication Critical patent/CN109670346A/zh
Application granted granted Critical
Publication of CN109670346B publication Critical patent/CN109670346B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • 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
    • 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
    • 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
    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供了一种半导体装置、半导体装置的安全密钥登记方法、以及一种电子系统。该半导体装置包括:物理防克隆功能单元阵列,其包括输出第一位的物理防克隆功能单元;非易失性存储器,其存储标志位、第一屏蔽位和第二屏蔽位,标志位指示第一位是否有效,通过根据第二位的奇偶性屏蔽第二位而产生第一屏蔽位,通过屏蔽第二位的辅助位而产生第二屏蔽位,第二位是第一位中的有效位;提取单元,其使用标志位来从第一位提取第二位;解屏蔽单元,其在接收到第二位时使用第一屏蔽位来解屏蔽第二位,从而提供第三位;位解码单元,其在接收到第三位时将第三位压缩为第四位;以及,块解码单元,其通过解码第四位和第二屏蔽位而产生安全密钥。

Description

半导体装置、产生和登记安全密钥的方法、以及电子系统
相关申请的交叉引用
本申请要求于2017年10月13日在韩国知识产权局提交的韩国专利申请No.10-2017-0133540以及于2018年5月21日在韩国知识产权局提交的韩国专利申请No.10-2018-0057964的优先权,其全部内容通过引用方式并入本文。
技术领域
本发明构思涉及产生安全密钥的半导体装置、产生安全密钥的方法、以及登记安全密钥的方法。
背景技术
安全与加密相关技术对于通信和移动装置变得日渐重要。由于通过软件方案产生的密钥可能被泄露或被入侵窃取,因而当前正在开发基于硬件的安全方案。特别是,正在开发具有物理防克隆功能(PUF)的半导体装置。
具有PUF的半导体装置可以基于工艺变量随机产生唯一密钥。通过这种半导体装置产生的密钥可以防止被克隆,这是因为使用了工艺变量。然而,通过这种半导体装置输出的数据可包括由于工艺变量而造成的错误。可使用纠错操作来减少输出数据的位误码率(BER)。随着安全与加密变得日渐重要,通过半导体装置输出的数据的大小或量已经在增长,因此,执行纠错操作所需的时间增加。因此,存在减少半导体装置的面积和操作时间的需要。
发明内容
本发明构思的实施例提供了产生安全密钥的半导体装置、产生安全密钥的方法、以及登记安全密钥的方法。
本发明构思的实施例提供了一种半导体装置,包括:物理防克隆功能(PUF)单元阵列,其包括输出第一位的PUF单元;非易失性存储器,其存储标志位、第一屏蔽位和第二屏蔽位,标志位指示第一位是否有效,通过根据第二位的奇偶性屏蔽第二位而产生第一屏蔽位,通过屏蔽与第二位相关联的辅助位而产生第二屏蔽位,第二位是第一位中的有效位;提取单元,其通过使用标志位来从第一位提取第二位;解屏蔽单元,其在接收到第二位时通过使用第一屏蔽位来解屏蔽第二位,从而提供第三位;位解码单元,其在接收到第三位时压缩第三位,从而提供第四位;以及,块解码单元,其通过解码第四位和第二屏蔽位而产生安全密钥。提取单元、解屏蔽单元、位解码单元和块解码单元可以串联连接并且可以同时操作。
本发明构思的实施例还提供了半导体装置的安全密钥产生方法,所述半导体装置包括串联连接的物理防克隆功能(PUF)单元阵列、提取单元、解屏蔽单元、位解码单元和块解码单元。所述安全密钥产生方法包括:通过提取单元,在从PUF单元阵列接收到第一位并且从非易失性存储器接收到指示第一位是否有效的标志位时,从第一位中提取第二位,第二位是第一位中的有效位;通过解屏蔽单元,在从提取单元接收到第二位并且从非易失性存储器接收到第一屏蔽位时,通过使用第一屏蔽位来解屏蔽第二位,从而提供解屏蔽的第三位;通过位解码单元,在从解屏蔽单元接收到解屏蔽的第三位时,压缩解屏蔽的第三位,从而提供第四位;以及,通过块解码单元,在从位解码单元接收到第四位并且从非易失性存储器接收到第二屏蔽位时,通过解码第四位和第二屏蔽位而产生安全密钥。
本发明构思的实施例还提供了半导体装置的安全密钥登记方法,所述半导体装置包括串联连接的物理防克隆功能(PUF)单元阵列、提取单元、位编码单元和块编码单元。所述安全密钥登记方法包括:通过提取单元,在从PUF单元阵列接收到第一位时,将指示第一位中的第二位的标志位发送至非易失性存储器,第二位是第一位中的有效位;通过位编码单元,在从提取单元接收到第二位时,通过根据第二位的奇偶性对第二位进行编码而产生第一屏蔽位,并且将第一屏蔽位发送至非易失性存储器;通过位编码单元,通过压缩第二位而产生第三位;以及,通过块编码单元,在从位编码单元接收到第三位时,通过对第三位进行编码而产生辅助位,通过使用第三位屏蔽辅助位而产生第二屏蔽位,并且将第二屏蔽位发送至非易失性存储器。
本发明构思的实施例还提供了电子系统,包括:主机;和存储装置,其包括物理防克隆功能(PUF)装置。PUF装置包括输出第一位的PUF单元阵列以及密钥产生单元,密钥产生单元构造为:在从非易失性存储器接收到指示第一位是否有效的标志位时从第一位提取第二位,其中,第二位是第一位中的有效位;通过使用接收自非易失性存储器的第一屏蔽位来解屏蔽第二位以提供解屏蔽的第三位;压缩解屏蔽的第三位以提供第四位;以及通过解码第四位和接收自非易失性存储器的第二屏蔽位来产生安全密钥。主机构造为基于安全密钥执行用于访问存储装置的认证过程。
附图说明
鉴于以下参照附图而详细描述的示例性实施例,本发明构思的上述及其它目的和特征将变得明显。
图1示出了根据本发明构思的实施例的半导体装置的框图。
图2详细地示出了图1的密钥登记单元的框图。
图3详细地示出了图2的位编码单元的框图。
图4详细地示出了图2的块编码单元的框图。
图5详细地示出了图1的密钥产生单元的框图。
图6详细地示出了图5的解屏蔽单元和位解码单元的框图,其中PUF单元阵列的输出中没有错误。
图7详细地示出了图5的解屏蔽单元和位解码单元的框图,其中PUF单元阵列的输出中存在错误。
图8详细地示出了图5的块解码单元的框图。
图9示出了在图1的密钥产生单元中如何处理数据的示意图。
图10示出了根据本发明构思的实施例的密钥登记处理的流程图。
图11示出了根据本发明构思的实施例的密钥产生处理的流程图。
图12示出了根据本发明构思的实施例的半导体装置所应用至的电子系统的框图。
图13示出了图12的智能卡所应用至的电子装置的框图。
图14示出了根据本发明构思的实施例的半导体装置所应用至的计算装置的框图。
具体实施方式
下面,将详细且清楚地描述本发明构思的实施例,以使得本领域技术人员可以足够容易地实施本发明构思。
如本发明构思的领域中所惯用的,可以按照执行所描述的功能的单元来描述和示出实施例。这些单元(本文中可以称作块或模块等)通过模拟和/或数字电路(比如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)来物理地实现,并且可选地可由固件和/或软件驱动。例如,可以在一个或多个半导体芯片中或在衬底支承件(例如印刷电路板等)上实现所述电路。构成单元的电路可以通过专用硬件实现,或者通过处理器(例如,一个或多个经编程的微处理器及相关电路)实现,或者通过用于执行所述单元的一些功能的专用硬件和用于执行所述单元的其它功能的处理器的组合实现。实施例的每个单元可以物理地分离在两个或更多个相互作用的分立单元中,而不脱离本发明构思的范围。同样,实施例的各个单元可以物理地组合为更复杂的单元,而不脱离本发明构思的范围。
图1示出了根据本发明构思的实施例的半导体装置的框图。半导体装置100包括:物理防克隆功能(PUF)单元阵列110、密钥登记单元120、密钥产生单元130、以及非易失性存储器(下文称作NVM)140。
PUF单元阵列110包括PUF单元。PUF单元阵列110根据制造PUF单元阵列110期间出现的工艺变量产生唯一电子签名。由于工艺变量,从多个半导体装置的PUF单元阵列输出的数据会彼此不同。即,各半导体装置中的每一个可通过使用PUF单元阵列110产生唯一安全密钥。
例如,PUF单元阵列110可以包括以下各项中的至少一项:基于晶体管阈值电压的PUF单元、基于判别器的PUF单元(例如,前馈PUF单元、其中判别器PUF单元并联布置的XORPUF单元、或轻型PUF单元)、基于环形振荡器的PUF单元、基于存储器的PUF单元(例如,静态随机存取存储器(SRAM)PUF单元、锁存器PUF单元、闪速存储器PUF单元、或存储电阻器PUF单元)、根据激光束或热量变化而可重配置的PUF单元、以及其它类型的PUF单元。
由于工艺变量,从PUF单元阵列110输出的PUF数据的位误码率(BER)会高。但是,当使用PUF数据作为加密和解密的密钥或诸如认证码的密钥时,应当确保密钥的完整性。因此,半导体装置100包括用于改善PUF数据的BER的电路、模块或单元。
密钥登记单元120产生用于改善或减少PUF数据的BER的数据。密钥登记单元120通过密钥登记处理将用于纠正PUF数据的错误的数据存储至NVM 140。
密钥登记单元120从PUF单元阵列110接收PUF数据并产生标志数据。标志数据可以包括标志位,其用于指示从PUF单元阵列110的全部PUF单元中的有效PUF单元输出的有效位。PUF单元阵列110的有效PUF单元可以通过批量生产级的各种测试过程来选择。选择的有效PUF单元可以用于登记和产生密钥,并且未选择的PUF单元可以不用于登记和产生密钥。密钥登记单元120将标志数据发送至NVM 140。
在实施例中,标志数据的标志位的数量可以与构成PUF数据的PUF位的数量相同。可以通过使用标志数据中的标志位来创建有效映射,从而指示PUF单元阵列110的各个PUF单元是否有效。例如,具有逻辑值“1”的标志位可以指示有效PUF位,并且具有逻辑值“0”的标志位可以指示无效PUF位。反之,作为另一个示例,具有逻辑值“0”的标志位可以指示有效PUF位,并且具有逻辑值“1”的标志位可以指示无效PUF位。即,由标志位(其数量与PUF单元阵列110的全部PUF单元的数量相同)组成的有效映射可以存储在NVM 140中。
密钥登记单元120可以产生用于纠正PUF数据的错误的数据。密钥登记单元120可以对有效PUF单元的PUF数据进行编码。密钥登记单元120将编码结果发送至NVM 140。可以基于PUF数据产生编码结果。在编码结果未经修改而存储在NVM 140中的情况下,攻击者可能通过使用存储在NVM 140中的该编码结果来推断或预测PUF数据。因此,可以屏蔽(mask)编码结果,并且可以将屏蔽的编码结果发送至NVM 140。
参照图1,屏蔽的编码结果可以包括第一屏蔽数据和第二屏蔽数据。例如,第一屏蔽数据是这样的数据:该数据的用于纠正PUF数据的位错误的辅助数据被屏蔽,并且第二屏蔽数据是这样的数据:该数据的用于纠正PUF数据的块错误的辅助数据被屏蔽。可以以位为单位或者以块为单位来纠正PUF数据的错误。可以通过位纠错来纠正1位错误,并且可以通过块纠错来纠正块中包括的多个位的错误。块中包括的多个位的大小或长度可以根据纠错码来确定。
在实施例中,密钥登记单元120可以将标志数据和屏蔽的编码结果存储至NVM140。在批量生产过程(或测试过程)中,可以通过密钥登记单元120仅执行一次密钥登记。即,可以在批量生产过程中使用密钥登记单元120来将标志数据、第一屏蔽数据和第二屏蔽数据存储至NVM 140。
密钥产生单元130在密钥登记处理之后读取NVM 140中存储的标志数据、第一屏蔽数据和第二屏蔽数据。密钥产生单元130通过使用标志位、第一屏蔽数据和第二屏蔽数据对PUF数据进行解码,纠正可能包括在PUF数据中的错误,并且产生安全密钥(即,Key)。由于工艺变量,密钥产生处理的PUF数据可能不同于密钥登记处理的PUF数据。尽管如此,密钥产生单元130可以通过位纠错或块纠错来恢复密钥。
可以根据半导体装置100使用的各种应用(比如安全算法和加密算法)来确定安全密钥的长度,并且PUF单元阵列110可以输出大小大于安全密钥的长度的PUF数据。根据本发明构思的实施例,密钥登记单元120和密钥产生单元130可以不在从PUF单元阵列110输出登记和产生密钥所需的全部PUF位之后处理PUF位。密钥登记单元120和密钥产生单元130可以在从PUF单元阵列110接收到PUF位时处理接收到的PUF位。
NVM 140存储标志数据、第一屏蔽数据和第二屏蔽数据。参照图1,NVM 140可以示出为包括在半导体装置100中或者示出为在半导体装置100内实现。然而,本发明构思不限于此。例如,在本发明构思的一些实施例中,NVM 140可以为位于半导体装置100外部的存储装置。
在本发明构思的实施例中,NVM 140例如可以包括以下各项中的至少一项:NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、铁电随机存取存储器(FRAM)、相变随机存储存储器(PRAM)、晶闸管随机存储存储器(TRAM)、磁性随机存取存储器(MRAM)、以及一次性可编程(OTP)存储器,等等。
图2详细地示出了图1的密钥登记单元的框图。将参照图1描述图2。为了简单起见,图2中省略图1的密钥产生单元130的图示。
PUF单元阵列110将由第一位组成的第一数据(Data 1)发送至密钥登记单元120。例如,PUF单元阵列110可以包括PUF单元,所述PUF单元的数量是2的倍数,比如4096。根据本发明构思的实施例,PUF单元阵列110可以不将从全部PUF单元输出的第一位同时地发送至密钥登记单元120。而是,PUF单元阵列110可以将第一位顺序地发送至密钥登记单元120,由此第一位可以包括与构成子PUF单元阵列的若干个PUF单元相对应的若干个位。例如,子PUF单元阵列可以为由PUF单元阵列110的一部分PUF单元组成的PUF单元集合。例如,PUF单元阵列110可以通过以子PUF单元阵列的大小为单位(例如,16位或32位)将第一位顺序地发送至密钥登记单元120来将全部第一位发送至密钥登记单元120。
密钥登记单元120包括提取单元121、位编码单元122和块编码单元123。参照图2,提取单元121、位编码单元122和块编码单元123可以串联连接以实现流水线操作。密钥登记单元120可以不等待到从PUF单元阵列110接收到构成第一数据的全部第一位时。例如,在从PUF单元阵列110接收到数量与子PUF单元阵列的PUF单元的数量(或以子PUF单元阵列为单位)相对应的第一位时,密钥登记单元120可以处理接收到的数量与子PUF单元阵列的PUF单元的数量相对应的第一位。
提取单元121从PUF单元阵列110接收构成第一数据的第一位。提取单元121在接收到第一位时产生指示第一位中的有效的第二位的标志位。提取单元121将标志位(MarkingData)发送至NVM 140。提取单元121将由第二位组成的第二数据(Data 2)发送至位编码单元122。这里,如上所述,第二位是接收到的第一位中的有效的位。
位编码单元122在从提取单元121接收到构成第二数据的第二位时按照位编码的单位对第二位进行编码。例如,位编码单元122可以通过根据第二位的奇偶性对第二位(其大小对应于位编码的单位)进行编码来产生第一屏蔽位。第一屏蔽位可以构成第一屏蔽数据,并且第一屏蔽数据可以用于以位为单位纠正可能在密钥产生处理中出现的第二位的错误。位编码单元122将第一屏蔽位(Mask Data 1)发送至NVM 140。
此外,位编码单元122将作为压缩的第二位的第三位(Data 3)发送至块编码单元123。第三位中的每一个可以对应于这样的位,其是与位编码的单位相对应的压缩的第二位中的一位。第三位可以构成第三数据。
块编码单元123在从位编码单元122接收到构成第三数据的第三位时按照块编码的单位对第三位进行编码。例如,块编码单元123可以通过将第三位(其大小对应于块编码的单位)编码为纠错码(ECC)来产生第二屏蔽位。第二屏蔽位可以构成第二屏蔽数据,并且第二屏蔽数据可以用于以块为单位纠正可能在密钥产生处理中出现的第二位的错误。块编码单元123将第二屏蔽位(Mask Data 2)发送至NVM 140。
在本发明构思的实施例中,纠错码可以为以下各种编码调制中的至少一种:例如,低密度奇偶校验(LDPC)码、Bose-Chaudhuri-Hocquenghem(BCH)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、以及块编码调制(BCM)。
如上所述,PUF单元阵列110、提取单元121、位编码单元122、以及块编码单元123可以串联连接。提取单元121可以将从PUF单元阵列110输出的第一位中的有效的第二位发送至位编码单元122。位编码单元122可以按照位编码的单位收集和编码第二位。位编码单元122可以将第三位发送至块编码单元123。块编码单元123可以按照块编码的单位收集和编码第三位。
在本发明构思的实施例中,可以基于时钟操作提取单元121、位编码单元122以及块编码单元123。可以与时钟同步地发送第二位和第三位。例如,提取单元121和位编码单元122可以彼此交换确认信号Ack,以基于时钟发送和接收第二位。位编码单元122和块编码单元123可以彼此交换确认信号Ack,以基于时钟发送和接收第三位。
位编码的单位可以根据位纠错码或位纠错操作来确定,并且可以被称作“用于位纠错码的编码的单位”。例如,位纠错码可以为与多数表决操作相关联的重复码。如上述的那样,块编码的单位可以根据块纠错码或块纠错操作来确定,并且可以被称作“用于块纠错码的编码的单位”。例如,块纠错码可以为BCH码。
可以向提取单元121、位编码单元122和块编码单元123顺序地发送各个位,并且提取单元121、位编码单元122和块编码单元123中的每一个可以在接收到位时处理接收到的位。即,提取单元121、位编码单元122以及块编码单元123可以同时地操作。在PUF单元阵列110输出第一位时,提取单元121可以处理从PUF单元阵列110首先输出的第一位。在提取单元121输出第二位时,位编码单元122可以处理从提取单元121首先输出的第二位。在位编码单元122输出第三位时,块编码单元123可以处理从位编码单元122首先输出的第三位。因此,在从PUF单元阵列110输出PUF数据(即,由第一位组成的第一数据)时,由于产生了将要存储至NVM 140的标志数据、第一屏蔽数据和第二屏蔽数据,可以减少登记密钥所花费的时间。
图3详细地示出了图2的位编码单元的框图。将参照图2描述图3。位编码单元122包括第一缓冲器(Buffer 1)122_1、第二缓冲器(Buffer 2)122_2、以及奇偶校验器122_3。
第一缓冲器122_1从提取单元121接收并存储第二数据的第二位。存储在第一缓冲器122_1中的第二位可以由提取单元121更新。存储在第一缓冲器122_1中的第二位的数量可以根据位编码的单位确定。例如,在位编码单元122根据重复码对第二位进行编码的情况下,要存储在第一缓冲器122_1中的位的数量可以为至少3或更大的奇数。图3中示出了在第一缓冲器122_1中存储了三个位的示例。但是,本发明构思不限于此,并且根据本发明构思的实施例,第一缓冲器122_1可以按照位编码的单位存储第二位,而不是存储构成第二数据的全部第二位。
第二缓冲器122_2存储作为位编码单元122的逐位运算的结果的第一屏蔽数据的第一屏蔽位。要存储在第二缓冲器122_2中的位的数量也可以根据位编码的单位确定,并且可以与要存储在第一缓冲器122_1中的位的数量相同。第二缓冲器122_2可以按照位编码的单位存储第一屏蔽位,而不是存储构成第一屏蔽数据的全部第一屏蔽位。
奇偶校验器122_3校验存储在第一缓冲器122_1中的第二位的奇偶性,即,1的数量的奇偶性。例如,奇偶校验器122_3可以在1的数量是偶数时输出密钥位(key bit)“0”,并且可以在1的数量是奇数时输出密钥位“1”。这里,密钥位可以是第三位(即,Data 3),并且可以通过利用奇偶校验对存储在第一缓冲器122_1中的第二位进行压缩来产生。
位编码单元122对存储在第一缓冲器122_1中的第二位执行逐位运算,并产生第一屏蔽位。图3中示出了在第一缓冲器122_1中存储了第二位“101”示例。例如,位编码单元122可以对“101”和“000”执行异或(XOR)运算,并且可以产生第一屏蔽位。除了XOR运算以外,位编码单元122还可以执行各种逐位运算,比如XNOR运算。这里,从奇偶校验器122_3输出的位“000”和位“111”可以是基于奇偶校验器122_3的校验结果的。例如,当存储在第一缓冲器122_1中的第二位的1的数量是偶数时,从奇偶校验器122_3输出位“000”,以用于逐位运算。例如,当存储在第一缓冲器122_1中的第二位的1的数量是奇数时,从奇偶校验器122_3输出位“111”,以用于逐位运算。
下面的表格1示出了位编码单元122根据存储在第一缓冲器122_1中的第二位的值的运算结果。
【表格1】
Data 2 位“1”的数量 密钥位 逐位运算 Mask Data 1
000 偶数 0 000 00
001 奇数 1 110 10
010 奇数 1 101 01
011 偶数 0 011 11
100 奇数 1 011 11
101 偶数 0 101 01
110 偶数 0 110 10
111 奇数 1 000 00
在表格1中,当1的数量为偶数时,位编码单元122的逐位运算的结果可以与存储在第一缓冲器122_1中的值相同。当1的数量为奇数时,位编码单元122的逐位运算的结果可以是存储在第一缓冲器122_1中的值的反相版。参照图3和表格1给出位编码单元122基于偶数奇偶性执行编码的描述。但是,在本发明构思的其它实施例中,位编码单元122可以基于奇数奇偶性执行编码。
逐位运算的结果可以为位编码单元122基于第二位而产生的值。在逐位运算的结果未经修改而存储在NVM 140中的情况下,攻击者可能通过使用存储在NVM 140中的该逐位运算的结果来推断或预测PUF数据。为了防止对PUF数据的推断或预测,可以屏蔽逐位运算的结果。
在表格1中,第二位的两个值(其彼此为反相关系)具有相同的逐位运算结果。即,在第二位是“000”或“111”(即,彼此为反相关系)的情况下,逐位运算的结果可以是相同的,即,“000”。在第二位是“001”或“110”的情况下,逐位运算的结果可以是相同的,即,“110”。在第二位是“010”或“101”的情况下,逐位运算的结果可以是相同的,即,“101”。在第二位是“011”或“100”的情况下,逐位运算的结果可以是相同的,即,“011”。因此,即使从逐位运算的结果中移除一个位,也可以根据位编码单元122所依据的偶数奇偶性和奇数奇偶性之一来恢复所移除的位。
即,可以通过从逐位运算的结果中移除一个位来屏蔽逐位运算的结果。可以移除与移位运算的结果相对应的各个位中的任何一个。参照表格1,例如,可以通过从逐位运算的结果中移除最高有效位(MSB)来产生第一屏蔽位。在其它实施例中,与表格1不同,例如,可以从逐位运算的结果中移除最低有效位(LSB)或中间位。位编码单元122将存储在第二缓冲器122_2中的位中除了被移除的位以外的的剩余位(即,第一屏蔽位)发送至NVM 140。
在本发明构思的实施例中,除了图3中示出的第一缓冲器122_1和第二缓冲器122_2以外,位编码单元122还可以包括用于存储通过对第一缓冲器122_1中存储的第二位进行编码、校验第二位的奇偶性、或对第二位执行逐位运算而产生的中间值、最终值等的缓冲器。此外,图3所示的实施例中,位编码单元122包括一个第一缓冲器122_1和一个第二缓冲器122_2。但是,本发明构思不限于包括一个第一缓冲器122_1和一个第二缓冲器122_2的情况,并且可以包括任何数量的缓冲器。
图4详细地示出了图2的块编码单元的框图。将参照图2描述图4。块编码单元123包括第三缓冲器(Buffer 3)123_1、块编码器123_2和第四缓冲器(Buffer 4)123_3。
第三缓冲器123_1从位编码单元122接收并存储第三数据的第三位(密钥位)。存储在第三缓冲器123_1中的第三位可以由位编码单元122更新。第三缓冲器123_1可以按照块编码的单位存储第三位。第三缓冲器123_1可以按照块编码的单位存储第三位,而不是存储构成第三数据的全部第三位。
块编码器123_2根据块纠错码(例如,BCH码)对第三位进行编码,并且产生辅助位。因此,辅助位可以是响应于第三位而产生的编码的位。辅助位可以构成辅助数据,并且辅助数据可以用于纠正上述第二数据(PUF数据的有效数据)的错误。可以基于第二数据(即,基于作为第一数据的有效位的第二数据的第二位)产生辅助数据。在辅助数据未经修改而存储在NVM 140中的情况下,攻击者可能通过使用存储在NVM 140中的该辅助数据来推断或预测PUF数据。为了防止对PUF数据的推断或预测,也可以如第一屏蔽数据那样来屏蔽辅助数据。
为了屏蔽辅助数据,第三缓冲器123_1还从位编码单元122接收并存储第三位。即,参照图4,第三缓冲器123_1除了与块纠错操作的编码的单位相对应的第三位以外,还可以存储用于屏蔽的第三位。块编码单元123可以对辅助位和用于屏蔽的第三位(Bit 3ForMasking)执行逐位运算(例如,XOR运算),并且可以产生第二屏蔽位。第二屏蔽位可以构成第二屏蔽数据(Mask Data 2)。
第四缓冲器123_3存储作为块编码单元123的逐位运算的结果的第二屏蔽数据的第二屏蔽位。第四缓冲器123_3可以存储与屏蔽了的通过块编码产生的辅助位(即,与块纠错操作的单位相对应的辅助位)相对应的第二屏蔽位,而不是存储构成第二屏蔽数据的全部第二屏蔽位。当第二屏蔽数据的全部第二屏蔽位从第四缓冲器123_3完全地发送至NVM140时,密钥登记处理结束。
在本发明构思的实施例中,除了图4中示出的第三缓冲器123_1和第四缓冲器123_3以外,块编码单元123还可以包括用于存储通过对第三缓冲器123_1中存储的第三位进行编码或对第三位执行逐位运算而产生的中间值、最终值等的缓冲器。此外,图4所示的实施例中,块编码单元123包括一个第三缓冲器123_1和一个第四缓冲器123_3。但是,本发明构思不限于包括一个第三缓冲器123_1和一个第四缓冲器123_3的情况,并且可以包括任何数量的缓冲器。
图5详细地示出了图1的半导体装置100的密钥产生单元的框图。在描述图5之前,图2中示出的第一至第三数据(即,Data 1、Data 2、Data 3)是在密钥登记处理中产生的数据,而图5中示出的第一至第四数据是在密钥产生处理中产生的数据。因此,图2中示出的第一至第三数据不同于图5中示出的第一至第四数据。此外,为了简单起见,图1的密钥登记单元120未在图5中示出。
如同将第一数据发送至密钥登记单元120那样,如图5所示的PUF单元阵列110将第一数据(Data 1)发送至密钥产生单元130。密钥产生单元130根据半导体装置100使用的应用的请求(或基于用户请求或认证请求)从PUF单元阵列110接收第一数据,并且通过使用密钥登记单元120存储至NVM 140的标志数据(Marking Data)、第一屏蔽数据(Mask Data 1)和第二屏蔽数据(Mask Data 2)来恢复安全密钥。
密钥产生单元130包括提取单元121、解屏蔽单元132、位解码单元133和块解码单元134。PUF单元阵列110、提取单元121,解屏蔽单元132、位解码单元133和块解码单元134可以串联连接以实现流水线操作。如密钥登记单元120中那样,密钥产生单元130可以不等待到从PUF单元阵列110接收到构成第一数据的全部第一位才开始处理。在从PUF单元阵列110按照子PUF阵列为单位接收到第一位时,密钥产生单元130可以处理接收到的第一位。
提取单元121可以与图1的密钥登记单元120中包括的提取单元121相同。提取单元121在密钥产生处理中从PUF单元阵列110接收第一数据(Data 1)。如上所述,由于PUF单元阵列110的特征,密钥登记处理中产生的第一数据可以与密钥产生处理中产生的第一数据相同或不同。
提取单元121从PUF单元阵列110接收构成第一数据的第一位,并且从NVM 140接收构成标志数据的标志位。即,提取单元121在密钥登记处理中将标志数据发送至NVM 140,并且在密钥产生处理中从NVM 140接收标志数据。
提取单元121通过使用标志位来从第一位中提取有效的第二位。如上所述,标志位可以构成用于指示第一位是否有效的有效映射。因此,提取单元121可以根据标志位的逻辑值(“0”或“1”)来确定是否将接收到的第一位作为第二位输出。提取单元121仅提取第一位中的有效位。提取单元121将构成第二数据的第二位发送至解屏蔽单元132。
解屏蔽单元132从密钥产生单元130的提取单元121接收构成第二数据(Data 2)的第二位,并且从NVM 140接收构成第一屏蔽数据的第一屏蔽位。解屏蔽单元132可以在接收到构成第二数据的第二位时,通过使用构成第一屏蔽数据的第一屏蔽位来解屏蔽第二位并且可以产生解屏蔽的第三位。这里,第三位可以构成第三数据(Data 3),并且第二数据可以通过解屏蔽操作转换为第三数据以用于位纠错。解屏蔽单元132将构成第三数据的第三位发送至位解码单元133。
位解码单元133在从解屏蔽单元132接收到构成第三数据的第三位时对第三位进行解码以用于位纠错操作。例如,位解码单元133可以对第三位执行多数表决操作,并且可以纠正第二位的位错误。位解码单元133将第三位压缩为第四位(密钥位),并且将第四位发送至块解码单元134。第四位可以构成第四数据(Data 4)。
块解码单元134在从位解码单元133接收到构成第四数据的第四位时对第四位进行解码。块解码单元134的解码的单位可以为块,并且块解码单元134可以收集第四位并且可以产生块。块解码单元134从NVM 140接收构成第二屏蔽数据的第二屏蔽位,并且将第二屏蔽位解屏蔽为上述辅助位(即,图4的辅助数据的辅助位)。块解码单元134可以根据纠错码纠正第二位的错误。即,块解码单元134可以通过对第四位和第二屏蔽位进行解码来纠正错误,并且可以产生最终密钥(或安全密钥)。
图6详细地示出了图5的解屏蔽单元和位解码单元的框图,其中PUF单元阵列的输出中没有错误。图7详细地示出了图5的解屏蔽单元和位解码单元的框图,其中PUF单元阵列的输出中存在错误。解屏蔽单元132包括第五缓冲器(Buffer 5)132_1和第六缓冲器(Buffer 6)132_2。
第五缓冲器132_1从密钥产生单元130的提取单元121接收并存储第二数据的第二位。存储在第五缓冲器132_1中的第二位可以由提取单元121更新。要存储在第五缓冲器132_1中的位的数量可以按照位解码的单位确定,位解码的单位可以与位纠错的单位或位编码的单位相同。例如,在位解码单元133根据重复码对第三位进行解码的情况下,要存储在第五缓冲器132_1中的位的数量可以为至少3或更多的奇数。
在图6和图7中示出了在第五缓冲器132_1中存储了三个位的示例。但是,本发明构思不限于此,并且在一些实施例中,第五缓冲器132_1可以按照位解码单元133的位解码的单位存储第二位,而不是存储构成第二数据的全部第二位。
在本发明构思的另外的实施例中,与图6所示不同,第五缓冲器132_1可以不按照位解码的单位存储第二位。而是,第五缓冲器132_1可以存储至少一个第二位。在这种情况下,可以提供存储在第五缓冲器132_1中的第二位以用于逐位运算,并且随后,可以将新的第二位存储至第五缓冲器132_1。
第六缓冲器132_2从NVM 140接收并存储构成第一屏蔽数据的第一屏蔽位。要存储在第六缓冲器132_2中的位的数量可以根据位解码的单位确定,并且可以与要存储在第五缓冲器132_1中的位的数量相同。第六缓冲器132_2可以按照位解码的单位存储第一屏蔽位,而不是存储构成第一屏蔽数据的全部第一屏蔽位。
在本发明构思的一些实施例中,与图6所示不同,第六缓冲器132_2可以不按照位解码的单位存储第一屏蔽位。而是,第六缓冲器132_2可以存储至少一个第一屏蔽位。在这种情况下,可以提供存储在第六缓冲器132_2中的第一屏蔽位以用于逐位运算,并且随后,可以将新的第一屏蔽位存储至第六缓冲器132_2。
解屏蔽单元132从NVM 140接收构成第一屏蔽数据的第一屏蔽位,并且根据位编码单元122所依据的偶数奇偶性和奇数奇偶性之一来恢复在编码处理中移除的任一个位。例如,在关于图6所描述的实施例中,假设位编码单元122基于偶数奇偶性操作并且NVM 140发送第一屏蔽位“01”。如图6所示,解屏蔽单元132可以根据偶数奇偶性恢复被移除位“1”,并且可以将“101”存储至第六缓冲器132_2。不同于上述范例,在本发明构思的其中位编码单元122基于奇数奇偶性操作的其他实施例中,解屏蔽单元132可以根据奇数奇偶性来恢复被移除的位。
解屏蔽单元132对存储在第五缓冲器132_1中的第二位和存储在第六缓冲器132_2中的第一屏蔽位执行逐位运算,并且产生第三位(Data 3)。可以通过解屏蔽单元132的逐位运算将第二位解屏蔽为第三位。这里,逐位运算可以是XOR运算、XNOR运算或其他逻辑运算。
位解码单元133包括第七缓冲器(Buffer 7)133_1。第七缓冲器133_1从解屏蔽单元132接收并存储第三数据的解屏蔽的第三位。要存储在第七缓冲器133_1中的第三位的数量可以根据位解码的单位确定,并且可以与要存储在第五缓冲器132_1和第六缓冲器132_2的每一个中的位的数量相同。第七缓冲器133_1可以按照位解码的单位存储第三位,而不是存储构成第三数据的全部第三位。例如,第七缓冲器133_1可以按照多数表决操作的单位存储第三位。
位解码单元133可以对存储在第七缓冲器133_1中的第三位执行多数表决操作。例如,位解码单元133可以将存储在第七缓冲器133_1中的第三位压缩为一个密钥位(第四位)。
下面的表格2示出了解屏蔽单元132和位解码单元133根据存储在第五缓冲器132_1中的第二位的值的运算结果。
【表格2】
Data 2 Mask Data 1 恢复的Mask Data 1 逐位运算 密钥位
000 00 000 000 0
001 10 110 111 1
010 01 101 111 1
011 11 011 000 0
100 11 011 111 1
101 01 101 000 0
110 10 110 000 0
111 00 000 111 1
在表格2中,第一屏蔽位从NVM 140发送,并且可以与表格1中的第一屏蔽位相同。在表格2中,恢复的第一屏蔽位被存储至第六缓冲器132_2。在表格2中,可以通过解屏蔽单元132基于偶数奇偶性来产生恢复的第一屏蔽位。当第二位中不存在错误时,作为逐位运算的结果而获得的各个位可以具有相同的逻辑值“0”或“1”。即,位编码单元122可以在密钥登记处理中产生第一屏蔽位,使得作为解屏蔽单元132的逐位运算(例如,图6中示出为XOR运算的逐位运算)的结果而产生的各个位彼此相同(例如,000)。下面,将详细描述纠正2位错误的示例。
图6示出了PUF单元阵列110的输出不存在错误的情况。在密钥登记处理期间响应于从PUF单元阵列110输出的第一数据而从图2所示的提取单元121输出的第二位可以与在密钥生成处理期间响应于从PUF单元阵列110输出的第一数据而从图5所示的提取单元121输出的第二位相同。即,与图3中可以将“101”存储至第一缓冲器122_1的情况一样,可以将“101”存储至图6的第五缓冲器132_1。
图7示出了PUF单元阵列110的输出中存在错误的情况。在密钥登记处理期间响应于从PUF单元阵列110输出的第一数据而从图2所示的提取单元121输出的第二位可以与在密钥生成处理期间响应于从PUF单元阵列110输出的第一数据而从图5所示的提取单元121输出的第二位不相同。即,与图3中可以将“101”存储至第一缓冲器122_1的情况不同,可以将其中一位翻转了的第二位(例如,“001”)存储至图7的第五缓冲器132_1。
从NVM 140发送第一屏蔽位。因此,第一屏蔽位“101”可以同样地存储至图6的第六缓冲器132_2和图7的第六缓冲器132_2。
参照图6,解屏蔽单元132对“101”和“101”执行XOR运算,并且产生第三位“000”。位解码单元133检查第三位“000”中0的数量和1的数量。由于只有各个位“0”存储在图6的第七缓冲器133_1中,因此位解码单元133输出密钥位“0”。
参照图7,解屏蔽单元132对“001”和“101”执行XOR运算,并且产生第三位“100”。位解码单元133检查第三位“100”中0的数量和1的数量。由于一个位“1”和两个位“0”存储在图7的第七缓冲器133_1中,因此位解码单元133输出密钥位“0”。即,可以通过多数表决操作来纠正第二位的错误。图7中示出了这样的示例:存储在图7的第五缓冲器132_1中的第二位的MSB是错误的。然而,如果该错误存在于除了MSB以外的任意位,则可以通过多数表决操作来纠正该错误。
在本发明构思的实施例中,除了图6和图7中示出的第五缓冲器132_1和第六缓冲器132_2以外,解屏蔽单元132还可以包括用于存储通过对第五缓冲器132_1中存储的第二位进行解屏蔽、恢复移除的第一屏蔽位、或对第二位和第一屏蔽位执行逐位运算而产生的中间值、最终值等的缓冲器。此外,图6和图7示出了本发明构思的解屏蔽单元132包括一个第五缓冲器132_1和一个第六缓冲器132_2的实施例。但是,本发明构思不限于包括一个第五缓冲器132_1和一个第六缓冲器132_3的情况,并且可以包括任何数量的缓冲器。
在图6和图7中,除了第七缓冲器133_1以外,位解码单元133还可以包括用于存储通过纠正位错误而产生的中间值、最终值等的缓冲器。此外,图6和图7示出的实施例中,位解码单元133包括一个第七缓冲器133_1。但是,本发明构思不限于包括一个第七缓冲器133_1的情况,并且可以包括任何数量的缓冲器。
图8详细地示出了图5的块解码单元的框图。将参照图5至图7描述图8。块解码单元134包括第八缓冲器(Buffer 8)134_1、第九缓冲器(Buffer 9)134_2、以及块解码器134_3。
第八缓冲器134_1从位解码单元133接收并存储第四数据的第四位(密钥位)。存储在第八缓冲器134_1中的第四位可以由位解码单元133更新。第八缓冲器134_1可以按照块解码的单位(其可以为块纠错的单位或块编码的单位)来存储各个位。第八缓冲器134_1可以按照块解码的单位存储第四位,而不是存储构成第四数据的全部第四位。此外,除了与块解码的单位相对应的第四位之外,第八缓冲器134_1还从位解码单元133接收并存储用于将构成第二屏蔽数据的第二屏蔽位解屏蔽的第四位。
第九缓冲器134_2从NVM 140接收并存储第二屏蔽位。第九缓冲器134_2可以存储用于解屏蔽块纠错操作所需的辅助数据的第二屏蔽位,而不是存储构成第二屏蔽数据的全部第二屏蔽位。
块解码单元134通过使用存储在第八缓冲器134_1中的用于解屏蔽的第四位来解屏蔽存储在第九缓冲器134_2中的第二屏蔽位。块解码单元134对存储在第八存储器134_1中的用于解屏蔽的第四位和存储在第九存储器134_2中的第二屏蔽位执行逐位运算(例如,XOR运算)并且产生构成辅助数据的辅助位。
块解码器134_3根据纠错码对由第四位组成的块数据和由辅助位组成的辅助数据进行解码并纠正错误,并且提供结果作为最终密钥(即,安全密钥)。块纠错码可以为BCH码。块解码器134_3并不一次性解码数据的全部位,因此可以随后纠正所有这些解码的位的位错误。反之,块解码器134_3将全部的第四位划分为多个块,并且按照块的单位执行纠错操作。此外,可以划分辅助数据的全部辅助位。参照图8,块解码器134_3按照块的单位对从第八缓冲器134_1提供的第四位进行解码和对作为逐位运算的结果而获得的辅助位进行解码,并且纠正块中的错误。
在本发明构思的实施例中,除了图8中示出的第八缓冲器134_1和第九缓冲器134_2以外,块解码单元134还可以包括用于存储通过对第八缓冲器134_1中存储的第四位进行解码或对用于解屏蔽的第四位和第二屏蔽位执行逐位运算而产生的中间值、最终值等的缓冲器。此外,图8示出了块解码单元134包括一个第八缓冲器134_1和一个第九缓冲器134_2的实施例。但是,本发明构思不限于包括一个第八缓冲器134_1和一个第九缓冲器134_2的情况,并且可以包括任何数量的缓冲器。
在实施例中,上述缓冲器122_1、122_2、123_1、123_2、132_1、132_2、133_1、134_1和134_2中的每一个可以通过使用锁存器、寄存器和SRAM中的至少一个来实现。此外,缓冲器122_1、122_2、123_1、123_2、132_1、132_2、133_1、134_1和134_2中的每一个可以基于上述时钟和确认信号Ack来接收或发送各个位。例如,缓冲器122_1、122_2、123_1、123_2、132_1、132_2、133_1、134_1和134_2中的每一个可以通过使用顺序地存储接收到的各个位的寄存器来实现。
图9示出了在图1的密钥产生单元中如何处理数据的示意图。将参照图5至图8描述图9。
提取单元121、解屏蔽单元132、位解码单元133、以及块解码单元134可以串联连接。参照图9,提取单元121将第二位(例如,Data 2中的第二位)发送至解屏蔽单元132。解屏蔽单元132将解屏蔽的第三位(例如,Data 3中的第三位)发送至位解码单元133。位解码单元133按照位解码的单位收集和解码第三位。位解码的单位可以指“位纠错码(例如,重复码)的解码的单位”。位解码单元133将第四位(例如,Data 4)发送至块解码单元134。第四位可以通过压缩至少三个第三位来产生。块解码单元134按照块解码的单位收集和解码第四位。块解码的单位可以指“块纠错码(例如,BCH码)的解码的单位”。
在实施例中,可以基于时钟操作提取单元121、解屏蔽单元132、位解码单元133以及块解码单元134。可以与时钟同步地发送第二位、第三位和第四位。例如,提取单元121和解屏蔽单元132可以彼此交换确认信号,以基于时钟发送和接收第二位。解屏蔽单元132和位解码单元133可以彼此交换确认信号,以基于时钟发送和接收第三位。位解码单元133和块解码单元134可以彼此交换确认信号,以基于时钟发送和接收第四位。
参照图9,可以向提取单元121、解屏蔽单元132、位解码单元133和块解码单元134顺序地发送各个位,并且提取单元121、解屏蔽单元132、位解码单元133和块解码单元134中的每一个可以在接收到位时处理接收到的位。即,提取单元121、解屏蔽单元132、位解码单元133以及块解码单元134可以同时(即,并发地或同时地)工作。在PUF单元阵列110输出第一位时,提取单元121可以处理从PUF单元阵列110首先输出的第一位。在提取单元121输出第二位时,解屏蔽单元132可以处理从提取单元121首先输出的第二位。在解屏蔽单元132输出第三位时,位解码单元133可以处理从解屏蔽单元132首先输出的第三位。在位解码单元133输出第四位时,块解码单元134可以处理从位解码单元133首先输出的第四位。因此,可以减少产生密钥所花费的时间。
图10示出了根据本发明构思的实施例的密钥登记处理的流程图。将参照图2描述图10。
在操作S110中,PUF单元阵列110产生PUF数据(第一数据)。PUF数据的PUF位可以不同时输出。例如,可以以16位或32位(其对应于子PUF单元阵列的大小)为单位重复地输出PUF位。
在操作S121中,提取单元121产生指示PUF数据的有效数据的标志数据。提取单元121将标志数据发送至NVM 140。具体地,提取单元121可以在从PUF单元阵列110接收到构成第一数据的第一位时将指示第一位中的有效的第二位的标志位发送至NVM 140。在操作S121中,NVM 140存储从提取单元121输出的标志数据。在操作S122中,提取单元121将有效数据(第二数据)发送至位编码单元122。在实施例中,可以在发送操作S110的PUF数据的同时执行操作S121和操作S122。
在操作S131中,位编码单元122校验有效数据的奇偶性。位编码单元122根据有效数据的奇偶性产生要用于有效数据的逐位运算的值。在操作S132中,位编码单元122根据有效数据的奇偶性产生第一屏蔽数据,并且将第一屏蔽数据发送至NVM 140。具体地,在从提取单元接收到第二位时,位编码单元122可以通过根据第二位的奇偶性对第二位进行编码来产生第一屏蔽位,并且可以将第一屏蔽位发送至NVM 140。在操作S132中,NVM 140存储从位编码单元122输出的第一屏蔽数据。
在操作S133中,位编码单元122根据有效数据的奇偶性(即,第二位的奇偶性)产生有效数据的压缩数据(第三数据)。位编码单元122将压缩数据发送至块编码单元123。在本发明构思的实施例中,可以在发送操作S110的PUF数据的同时和发送操作S121和操作S122的有效数据的同时执行操作S131、操作S132和操作S133。
在操作S141,块编码单元123对压缩数据进行编码,并且产生辅助数据。块解码单元123屏蔽辅助数据,并且将屏蔽的辅助数据作为第二屏蔽数据提供。具体地,在接收到作为由位编码单元122压缩的第二位的第三位时,块编码单元123可以通过对第三位进行编码来产生辅助位,并且可以通过使用用于屏蔽的第三位来屏蔽辅助位。
在操作S142中,块编码单元123将第二屏蔽数据发送至NVM 140。在操作S142中,NVM 140存储从块编码单元123输出的第二屏蔽数据。在本发明构思的实施例中,在发送操作S110的PUF数据的同时、在发送操作S121和操作S122的有效数据的同时、以及在发送操作S131和操作S132的第一屏蔽数据的同时,可以执行操作S141和操作S142。
图11示出了根据本发明构思的实施例的密钥产生处理的流程图。将参照图5描述图11。
在操作S210中,PUF单元阵列110产生PUF数据(第一数据)。操作S210可以类似于操作S110。操作S210中产生的PUF数据可以与操作S110中产生的PUF数据相同或(在包括错误的情况下)不同。
在操作S220中,NVM 140将在操作S121中存储的标志数据发送至图5所示的提取单元121。在操作S220中,提取单元121接收从NVM 140输出的标志数据。提取单元121通过使用标志数据来提取PUF数据的有效数据(第二数据)。提取单元121将有效数据发送至解屏蔽单元132。具体地,提取单元121可以在从PUF单元阵列110接收到构成第一数据的第一位并且从NVM 140接收到构成标志数据的标志位时,从第一位中提取有效的第二位。在实施例中,可以在发送操作S210的PUF数据的同时执行操作S220。
在操作S230中,NVM 140将在操作S132中存储的第一屏蔽数据发送至解屏蔽单元132。解屏蔽单元132从NVM 140接收第一屏蔽数据。解屏蔽单元132通过使用第一屏蔽数据来解屏蔽有效数据。解屏蔽单元132将解屏蔽的数据(第三数据)发送至位解码单元133。具体地,解屏蔽单元132可以在从提取单元121接收到第二位并且从NVM 140接收到构成第一屏蔽数据的第一屏蔽位时,通过使用第一屏蔽位来解屏蔽第二位。在实施例中,可以在发送操作S210的PUF数据的同时和发送操作S220的有效数据的同时执行操作S230。
在操作S240中,位解码单元133对解屏蔽的数据执行位纠错操作。即,对有效数据执行位纠错操作。例如,位纠错操作可以为多数表决操作。位解码单元133将作为多数表决操作的结果而产生的密钥位(第四数据)发送至块解码单元134。具体地,位解码单元133可以在从解屏蔽单元132接收到构成第三数据的第三位时将第三位压缩为第四位。在实施例中,可以在发送操作S210的PUF数据的同时、发送操作S220的有效数据的同时、以及发送操作S230的解屏蔽数据的同时,执行操作S240。
在操作S251中,NVM 140将在操作S142中存储的第二屏蔽数据发送至块解码单元134。块解码单元134从NVM 140接收第二屏蔽数据。块解码单元134通过使用密钥位来解屏蔽第二屏蔽数据并且产生辅助数据。在操作S252中,块解码单元134利用辅助数据按照块解码的单位来对密钥位进行解码,并且利用块纠错码按照块解码的单位纠正错误。在操作S253中,块解码单元134产生最终密钥(或安全密钥)。具体地,块解码单元134可以在从位解码单元133接收到第四位并且从NVM 140接收到第二屏蔽位时,通过解码第四位和第二屏蔽位来产生密钥。在本发明构思的实施例中,如存储在块编码单元123中的第三缓冲器123_1中的用于屏蔽的第三位和如存储在块解码单元134中的第八缓冲器134_1中的用于屏蔽的第四位对应于来自PUF单元阵列110内的同一PUF单元集合的输出位。在实施例中,可以在发送操作S210的PUF数据的同时、发送操作S220的有效数据的同时、发送操作S230的解屏蔽数据的同时、以及发送操作S240的密钥位的同时,执行操作S251至操作S253。
在根据本发明构思的实施例的半导体装置中,可以同时执行操作S210至操作S253。因此,即使PUF单元的数量、PUF数据的大小、或者安全密钥的大小增加,上述缓冲器122_1、122_2、122_3、123_1、123_2、132_1、132_2、133_1、134_1、以及134_2的大小也可以均匀地维持。此外,通过处理PUF数据来产生密钥所花费的时间可以减少。
图12示出了根据本发明构思的实施例的半导体装置所应用至的电子系统的框图。电子系统1000包括智能卡1100和主机1200。
智能卡1100是包括一个或多个集成电路的卡。智能卡1100可以称为“IC卡”或“芯片卡”。为了安全性,智能卡1100可以包括根据本发明构思的实施例的PUF装置1110。PUF装置1110可以为参照图1至图11描述的半导体装置100。智能卡1100可以通过使用从PUF装置1110输出的安全密钥来与主机1200执行认证过程。虽然未在图12中示出,但是智能卡1100还可以包括用于存储数据的存储器、用于处理数据的处理器、以及其他各种组件。
在实施例中,PUF装置1110可以封装为各种半导体封装件。可以利用封装技术将集成电路安装在智能卡1100上,所述封装技术比如为:堆叠式封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫饼形裸片(die in waffle pack)、晶圆形裸片(die in wafer form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、窄间距小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
主机1200可以通过使用从PUF装置1110输出的安全密钥来与智能卡1100执行认证过程。在执行了认证过程之后,主机1200可以将数据存储至智能卡1100或者可以从智能卡1100读取数据。主机1200可以为包括一个或多个处理器的计算装置、包括应用处理器(AP)的便携式电子装置、或服务器。
图13示出了图12的智能卡所应用至的电子装置的框图。电子装置2000可以为数据处理装置,其例如可以使用或支持由移动行业处理器接口
Figure BDA0001825806370000251
联盟提议的接口或其他接口标准。电子装置2000例如可以为便携式通信终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、智能电话、或可穿戴装置、或任何类型的便携式装置。
图13所示实施例的电子装置2000包括应用处理器2100、显示器2200和图像传感器2300。应用处理器2100包括主DigRFSM 2110、显示器串行接口(DSI)主机2120、相机串行接口(CSI)主机2130、以及物理层(PHY)2140。
DSI主机2120可以通过DSI与显示器2200的DSI装置2210通信。例如,可以在DSI主机2120中实现光学串行器SER,并且可以在DSI装置2210中实现光学解串器DES。
CSI主机2130可以通过CSI与图像传感器2300的CSI装置2310通信。例如,可以在CSI主机2130中实现光学解串器DES,并且可以在CSI装置2310中实现光学串行器SER。
电子装置2000还可以包括射频(RF)芯片2400,其与应用处理器2100通信。RF芯片2400可以包括物理层2410、从DigRFSM 2420、以及天线2430。例如,RF芯片2400的物理层2410和应用处理器2100的物理层2140可以通过
Figure BDA0001825806370000261
联盟所支持的DigRFSM接口来彼此交换数据。
电子装置2000还可以包括卡存储器2500。卡存储器2500可以为图12的智能卡1100。在执行了认证过程之后,智能卡1100可以在保持安全性的状态下与应用处理器2100交换数据。
电子装置2000可以通过微波存取全球互通(WiMAX)2610、无线局域网(WLAN)2620、超宽带(UWB)2630等无线分布技术与外部系统通信。电子装置2000还可以包括用于处理定位信息的全球定位系统(GPS)装置2640。电子装置2000还可以包括桥接芯片2650,以管理与外围装置的连接。
图14示出了根据本发明构思的实施例的半导体装置所应用至的计算装置的框图。计算装置3000包括处理器3100、工作存储器3200、PUF装置3300、密码处理器3400、NVM接口3500、NVM 3600、以及用户接口3700,它们全部通过总线3800互连。
处理器3100可以控制计算装置3000的整体操作。作为中央处理单元的处理器3100可以执行各种类型的操作。例如,处理器3100可以包括一个或多个处理器核。
工作存储器3200可以与处理器3100交换数据。工作存储器3200可以临时存储用于计算装置3000的操作的数据。例如,工作存储器3200可以包括例如高速存储器,诸如DRAM或SRAM。
PUF装置3300可以为参照图1至图11描述的半导体装置100。PUF装置3300可以产生安全所需的密钥。PUF装置3300可以由硬件、软件、或固件实现。密码处理器3400可以通过使用从PUF装置3300输出的密钥来执行加密和解密操作。
NVM接口3500可以在处理器3100、PUF装置3300、或密码处理器3400的控制下与NVM3600交换数据。NVM 3600可以与电源无关地存储需要保持的数据。在实施例中,可以将参照图1描述的标志数据、第一屏蔽数据和第二屏蔽数据存储至NVM 3600,并且PUF装置3300可以不在其中包括NVM。
用户接口3700可以在处理器3100的控制下执行用户与计算装置3000之间的通信传递。在实施例中,用户接口3700可以包括输入接口,例如,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器、以及其他各种可能的输入接口。此外,用户接口3700可以包括输出接口,例如,诸如液晶显示(LCD)装置、发光二极管(LED)显示装置、有机LED(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、扬声器、马达、等等。
总线3800可以提供计算装置3000的各个组件之间的通信路径。计算装置3000的各个组件可以依照总线格式来彼此交换数据。在实施例中,总线格式可以包括:例如,通用串行总线(USB)格式、小型计算机系统接口(SCSI)格式、高速外围组件互连(PCIe)总线格式、高级技术附件(ATA)总线格式、并行ATA(PATA)总线格式、串行ATA(SATA)总线格式、串行SCSI(SAS)总线格式和集成驱动电子设备(IDE)总线格式等。
半导体装置100描述为包括单元。各种所描述的单元或块可以用硬件、软件、或固件、或者硬件、软件和固件的任意组合来实现。例如,在一些实施例中,包括提取单元121、位编码单元122和块编码单元123的密钥登记单元120以及包括提取单元121、解屏蔽单元132、位解码单元133和块解码单元134的密钥产生单元130可以为诸如逻辑门、集成电路、无源和有源电子组件和/或硬连线电路的硬件。单元可以为电路。可选地,硬件可以由固件和/或软件来驱动。在其它实施例中,密钥登记单元120和密钥产生单元130可以通过一个或多个编程的微处理器来实现。在另外的其它实施例中,密钥登记单元120和密钥产生单元130可以通过执行一些功能的专用硬件以及执行其它功能的一个或多个处理器的组合来实现。
在根据本发明构思的半导体装置中,可以通过使用流水线操作来处理PUF数据。因此,即使PUF单元的数量、PUF数据的大小、或者安全密钥的大小增加,在从PUF数据产生密钥时存储处理期间产生的数据的缓冲器的大小也可以均匀地维持。此外,通过处理PUF数据来产生密钥所花费的时间可以减少。
虽然已经参照本发明构思的示例实施例描述了本发明构思,但是对于本领域普通技术人员而言,显然可以在不脱离如随附权利要求中所阐述的本发明构思的精神和范围的情况下做出各种改变和修改。

Claims (25)

1.一种半导体装置,包括:
物理防克隆功能单元阵列,其包括输出第一位的物理防克隆功能单元;
非易失性存储器,其构造为存储标志位、第一屏蔽位和第二屏蔽位,所述标志位指示所述第一位是否有效,通过根据第二位的奇偶性屏蔽所述第二位而产生所述第一屏蔽位,通过屏蔽与所述第二位相关联的辅助位而产生所述第二屏蔽位,其中,所述第二位是所述第一位中的有效位;
提取单元,其构造为通过使用所述标志位来从所述第一位提取所述第二位;
解屏蔽单元,其构造为在接收到所述第二位时通过使用所述第一屏蔽位来解屏蔽所述第二位,从而提供第三位;
位解码单元,其构造为在接收到所述第三位时压缩所述第三位,从而提供第四位;和
块解码单元,其构造为通过解码所述第四位和所述第二屏蔽位而产生安全密钥,
其中,所述提取单元、所述解屏蔽单元、所述位解码单元和所述块解码单元串联连接并且同时操作。
2.根据权利要求1所述的半导体装置,其中,所述解屏蔽单元构造为对所述第二位和所述第一屏蔽位执行逐位运算以提供所述第三位。
3.根据权利要求2所述的半导体装置,其中,所述解屏蔽单元包括:
第一缓冲器,其构造为存储所述第二位中的至少一个位;和
第二缓冲器,其构造为存储所述第一屏蔽位中的至少一个位,并且
其中,所述解屏蔽单元还构造为对存储在所述第一缓冲器和所述第二缓冲器中的位执行所述逐位运算。
4.根据权利要求2所述的半导体装置,其中,所述逐位运算是异或运算。
5.根据权利要求1所述的半导体装置,其中,所述位解码单元还构造为通过对所述第三位执行多数表决操作来纠正所述第二位的错误,并且
其中,所述块解码单元还构造为通过根据块纠错码对所述第四位和所述第二屏蔽位进行解码来纠正所述第二位的错误。
6.根据权利要求5所述的半导体装置,其中,所述位解码单元包括:缓冲器,其构造为存储所述第三位中的与所述多数表决操作的解码的单位相对应的数量的位,并且
其中,所述位解码单元还构造为对存储在所述缓冲器中的所述位执行所述多数表决操作。
7.根据权利要求5所述的半导体装置,其中,所述块解码单元包括:缓冲器,其构造为存储所述第四位中的与所述块纠错码的解码的单位相对应的数量的位,并且
其中,所述块解码单元还构造为对存储在所述缓冲器中的所述位进行解码。
8.根据权利要求7所述的半导体装置,其中,所述块解码单元还构造为通过对所述第二屏蔽位和所述第四位中的对应于所述第二屏蔽位的位执行逐位运算来产生所述辅助位,并且使用所述辅助位来纠正所述第二位的所述错误。
9.根据权利要求5所述的半导体装置,其中,所述块纠错码包括Bose-Chaudhuri-Hocquenghem码。
10.根据权利要求1所述的半导体装置,其中,所述提取单元构造为与时钟同步地将所述第二位发送至所述解屏蔽单元,并且所述解屏蔽单元构造为与时钟同步地将所述第三位发送至所述位解码单元。
11.一种半导体装置的安全密钥产生方法,所述半导体装置包括串联连接的物理防克隆功能单元阵列、提取单元、解屏蔽单元、位解码单元和块解码单元,所述方法包括:
通过所述提取单元,在从所述物理防克隆功能单元阵列接收到第一位并且从非易失性存储器接收到指示所述第一位是否有效的标志位时,从所述第一位中提取第二位,其中,所述第二位是所述第一位中的有效位;
通过所述解屏蔽单元,在从所述提取单元接收到所述第二位并且从所述非易失性存储器接收到第一屏蔽位时,通过使用所述第一屏蔽位来解屏蔽所述第二位,从而提供解屏蔽的第三位;
通过所述位解码单元,在从所述解屏蔽单元接收到所述解屏蔽的第三位时,压缩所述解屏蔽的第三位,从而提供第四位;和
通过所述块解码单元,在从所述位解码单元接收到所述第四位并且从所述非易失性存储器接收到第二屏蔽位时,通过解码所述第四位和所述第二屏蔽位而产生安全密钥。
12.根据权利要求11所述的方法,其中,所述提取第二位包括根据所述标志位的逻辑值来确定所述第一位是否有效。
13.根据权利要求11所述的方法,其中,所述解屏蔽第二位包括对所述第二位和所述第一屏蔽位执行逐位运算。
14.根据权利要求11所述的方法,其中,所述压缩解屏蔽的第三位包括对所述解屏蔽的第三位执行多数表决操作。
15.根据权利要求11所述的方法,其中,所述产生安全密钥包括:
通过对所述第二屏蔽位和所述第四位中的对应于所述第二屏蔽位的位执行逐位运算来产生辅助位;和
根据块纠错码,通过使用所述辅助位来解码所述第四位。
16.一种半导体装置的安全密钥登记方法,所述半导体装置包括串联连接的物理防克隆功能单元阵列、提取单元、位编码单元和块编码单元,所述方法包括:
通过所述提取单元,在从所述物理防克隆功能单元阵列接收到第一位时,将指示所述第一位中的第二位的标志位发送至非易失性存储器,其中,所述第二位是所述第一位中的有效位;
通过所述位编码单元,在从所述提取单元接收到所述第二位时,通过根据所述第二位的奇偶性对所述第二位进行编码而产生第一屏蔽位,并且将所述第一屏蔽位发送至所述非易失性存储器;
通过所述位编码单元,通过压缩所述第二位而产生第三位;和
通过所述块编码单元,在从所述位编码单元接收到所述第三位时,通过对所述第三位进行编码而产生辅助位,通过使用所述第三位屏蔽所述辅助位而产生第二屏蔽位,并且将所述第二屏蔽位发送至所述非易失性存储器。
17.根据权利要求16所述的方法,其中,所述将第一屏蔽位发送至非易失性存储器包括根据所述第二位的奇偶性对所述第二位执行逐位运算。
18.根据权利要求17所述的方法,其中,所述产生第三位包括根据所述第二位的奇偶性来压缩所述第二位。
19.根据权利要求16所述的方法,其中,所述产生辅助位包括通过根据块纠错码对所述第三位进行解码来产生所述辅助位。
20.根据权利要求19所述的方法,其中,所述将第二屏蔽位发送至非易失性存储器还包括通过对所述辅助位和所述第三位执行逐位运算来屏蔽所述辅助位。
21.一种电子系统,包括:
主机;和
存储装置,其包括物理防克隆功能装置,
所述物理防克隆功能装置包括:
物理防克隆功能单元阵列,其包括输出第一位的物理防克隆功能单元,以及
密钥产生单元,其构造为:
在从非易失性存储器接收到指示所述第一位是否有效的标志位时,从所述第一位中提取第二位,其中,所述第二位是所述第一位中的有效位;
通过使用从所述非易失性存储器接收到的第一屏蔽位来解屏蔽所述第二位以提供解屏蔽的第三位;
压缩所述解屏蔽的第三位以提供第四位;和
通过对所述第四位和从所述非易失性存储器接收到的第二屏蔽位进行解码来产生安全密钥,
其中,所述主机构造为基于所述安全密钥执行用于访问所述存储装置的认证过程。
22.根据权利要求21所述的电子系统,其中,所述密钥产生单元构造为对所述第二位和所述第一屏蔽位执行逐位运算以提供所述解屏蔽的第三位。
23.根据权利要求22所述的电子系统,其中,所述逐位运算是异或运算。
24.根据权利要求21所述的电子系统,其中,所述密钥产生单元还构造为通过对所述解屏蔽的第三位执行多数表决操作以及通过根据块纠错码对所述第四位和所述第二屏蔽位进行解码,来纠正所述第二位的错误。
25.根据权利要求21所述的电子系统,其中,所述密钥产生单元构造为通过对所述第二屏蔽位和所述第四位中的对应于所述第二屏蔽位的位执行逐位运算来产生辅助位,并且根据块纠错码,通过使用所述辅助位来解码所述第四位。
CN201811184280.0A 2017-10-13 2018-10-11 半导体装置、产生和登记安全密钥的方法、以及电子系统 Active CN109670346B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2017-0133540 2017-10-13
KR20170133540 2017-10-13
KR1020180057964A KR102516190B1 (ko) 2017-10-13 2018-05-21 보안 키를 생성하는 반도체 장치, 보안 키 생성 방법, 및 보안 키 등록 방법
KR10-2018-0057964 2018-05-21

Publications (2)

Publication Number Publication Date
CN109670346A CN109670346A (zh) 2019-04-23
CN109670346B true CN109670346B (zh) 2023-06-16

Family

ID=65910312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811184280.0A Active CN109670346B (zh) 2017-10-13 2018-10-11 半导体装置、产生和登记安全密钥的方法、以及电子系统

Country Status (3)

Country Link
US (1) US10476681B2 (zh)
CN (1) CN109670346B (zh)
DE (1) DE102018123103A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018183572A1 (en) * 2017-03-29 2018-10-04 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
EP3435586B1 (en) * 2017-07-25 2019-08-07 Intrinsic ID B.V. Method to reduce aging of a cache memory
KR102468721B1 (ko) * 2017-12-20 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10770146B2 (en) * 2018-06-08 2020-09-08 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for PUF generator characterization
US11108572B2 (en) * 2018-10-11 2021-08-31 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function device with a load circuit to generate bias to sense amplifier
US11321459B2 (en) * 2018-12-27 2022-05-03 Intel Corporation Method, system and apparatus for error correction coding embedded in physically unclonable function arrays
KR20200142337A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 물리적 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법
US11206144B2 (en) 2019-09-11 2021-12-21 International Business Machines Corporation Establishing a security association and authentication to secure communication between an initiator and a responder
US11188658B2 (en) 2019-09-11 2021-11-30 International Business Machines Corporation Concurrent enablement of encryption on an operational path at a storage port
US11308243B2 (en) 2019-09-11 2022-04-19 International Business Machines Corporation Maintenance of access for security enablement in a storage device
US11354455B2 (en) 2019-09-11 2022-06-07 International Business Machines Corporation Maintenance of access for security enablement on a host system
US11188659B2 (en) 2019-09-11 2021-11-30 International Business Machines Corporation Concurrent enablement of encryption on an operational path at a host port
US11201749B2 (en) 2019-09-11 2021-12-14 International Business Machines Corporation Establishing a security association and authentication to secure communication between an initiator and a responder
US11245521B2 (en) 2019-09-25 2022-02-08 International Business Machines Corporation Reverting from a new security association to a previous security association in response to an error during a rekey operation
US11303441B2 (en) 2019-09-25 2022-04-12 International Business Machines Corporation Reverting from a new security association to a previous security association in response to an error during a rekey operation
KR20210053029A (ko) * 2019-11-01 2021-05-11 삼성전자주식회사 물리적 복제 방지 기능 셀들을 포함하는 보안 장치, 보안 장치의 동작 방법 및 물리적 복제 방지 기능 셀 장치의 동작 방법
KR20210095460A (ko) 2020-01-23 2021-08-02 삼성전자주식회사 시도-응답 방식을 이용하여 인증을 수행하는 집적 회로 및 이를 사용하는 방법
US11374774B2 (en) * 2020-04-28 2022-06-28 Regents Of The University Of Minnesota Feed-forward XOR physical unclonable functions
DE102021105402A1 (de) * 2021-03-05 2022-09-08 Infineon Technologies Ag Datenverarbeitungsvorrichtung und verfahren zum übermitteln von daten über einen bus
EP4195582A1 (en) * 2021-12-08 2023-06-14 Thales Dis France SAS A method for correcting an erroneous fuzzy data key
US20240161800A1 (en) * 2022-11-16 2024-05-16 Nvidia Corp. Physically unclonable cell using dual-interlocking and error correction techniques
US12081238B2 (en) * 2022-12-20 2024-09-03 Xilinx, Inc. Registration of a PUF signature and regeneration using a trellis decoder

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104521177A (zh) * 2011-12-06 2015-04-15 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正
CN105007285A (zh) * 2015-08-19 2015-10-28 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
CN105530097A (zh) * 2014-09-30 2016-04-27 中国科学院数据与通信保护研究教育中心 一种基于sram puf的密钥提取方法及系统
CN106301786A (zh) * 2016-08-10 2017-01-04 南京航空航天大学 一种基于sram型存储器的物理不可克隆函数响应纠错电路
CN107194285A (zh) * 2017-04-29 2017-09-22 苏州芯动科技有限公司 一种基于puf的密钥生成方法及数据存储方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9252960B2 (en) 2009-03-06 2016-02-02 Intrinsic Id B.V. System for establishing a cryptographic key depending on a physical system
US20130051552A1 (en) 2010-01-20 2013-02-28 Héléna Handschuh Device and method for obtaining a cryptographic key
GB2469393C (en) * 2010-04-22 2014-08-06 Cen Jung Tjhai Public encryption system using deliberatily corrupted codewords from an error correcting code
FR2964278A1 (fr) * 2010-08-31 2012-03-02 St Microelectronics Rousset Extraction de cle dans un circuit integre
KR101118826B1 (ko) * 2011-02-15 2012-04-20 한양대학교 산학협력단 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US8750502B2 (en) * 2012-03-22 2014-06-10 Purdue Research Foundation System on chip and method for cryptography using a physically unclonable function
US9088278B2 (en) 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US9584329B1 (en) 2014-11-25 2017-02-28 Xilinx, Inc. Physically unclonable function and helper data indicating unstable bits
US9489999B2 (en) 2014-11-26 2016-11-08 Qualcomm Incorporated Magnetic tunnel junction resistance comparison based physical unclonable function
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9703989B1 (en) * 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
JP6929776B2 (ja) 2014-12-24 2021-09-01 イントリンシツク・イー・デー・ベー・ベー 物理的複製不可能関数からの暗号鍵生成
KR20160109891A (ko) 2015-03-13 2016-09-21 한국전자통신연구원 Puf 기반 암호키 생성 방법 및 장치
JP6617924B2 (ja) 2015-06-18 2019-12-11 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
KR101923381B1 (ko) 2016-05-25 2018-11-30 (주)엘지하우시스 보강 복합재 및 이를 포함하는 물품
KR101885437B1 (ko) 2016-11-23 2018-09-11 호서대학교 산학협력단 분리수거장치 및 분리수거방법
US10243749B2 (en) * 2017-05-16 2019-03-26 Samsung Electronics Co., Ltd. Physically unclonable function circuit, and system and integrated circuit including the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104521177A (zh) * 2011-12-06 2015-04-15 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正
CN105530097A (zh) * 2014-09-30 2016-04-27 中国科学院数据与通信保护研究教育中心 一种基于sram puf的密钥提取方法及系统
CN105007285A (zh) * 2015-08-19 2015-10-28 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
CN106301786A (zh) * 2016-08-10 2017-01-04 南京航空航天大学 一种基于sram型存储器的物理不可克隆函数响应纠错电路
CN107194285A (zh) * 2017-04-29 2017-09-22 苏州芯动科技有限公司 一种基于puf的密钥生成方法及数据存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐太忠 ; 杨天池 ; 程娟 ; 邵奇峰 ; .基于纠错码模糊提取器的SRAM-PUF设计方法.计算机科学.2016,(S2),全文. *
郭丽敏 ; 刘丹 ; 王立辉 ; 单伟君 ; 李清 ; .基于PUF的RFID系统安全密钥协商协议.微电子学与计算机.2017,(07),全文. *

Also Published As

Publication number Publication date
CN109670346A (zh) 2019-04-23
US10476681B2 (en) 2019-11-12
US20190116052A1 (en) 2019-04-18
DE102018123103A1 (de) 2019-04-18

Similar Documents

Publication Publication Date Title
CN109670346B (zh) 半导体装置、产生和登记安全密钥的方法、以及电子系统
US10505728B2 (en) Physically unclonable function circuits and methods of performing key enrollment in physically unclonable function circuits
US10802910B2 (en) System for identifying and correcting data errors
US12032676B2 (en) Secure hardware signature and related methods and applications
US9209832B2 (en) Reduced polar codes
CN106470102B (zh) 密码装置、具有密码装置的存储装置、其加密和解密方法
US11516026B2 (en) Security device generating key based on physically unclonable function and method of operating the same
CN107507648B (zh) 操作解码器以及操作包括该解码器的数据存储装置的方法
US20120005488A1 (en) Encryption processor of memory card and method for writing and reading data using the same
US8769373B2 (en) Method of identifying and protecting the integrity of a set of source data
US8726123B2 (en) Bit error correction for removing age related errors in a bit pattern
US7890846B2 (en) Electronic data flash card with Reed Solomon error detection and correction capability
CN111352765B (zh) 控制器及存储器系统
KR20060132514A (ko) 데이터의 무결성을 보호하는 장치 및 방법과 컴퓨터 판독가능한 기록 매체
KR102582326B1 (ko) 에러 정정 회로 및 이의 동작 방법
KR102592870B1 (ko) 에러 정정 회로 및 이의 동작 방법
US7191339B1 (en) System and method for using a PLD identification code
KR102516190B1 (ko) 보안 키를 생성하는 반도체 장치, 보안 키 생성 방법, 및 보안 키 등록 방법
US9985654B1 (en) High-throughput low-latency erasure error correction in an integrated circuit
US11689376B2 (en) Security device for generating masking data based on physically unclonable function and operating method thereof
US20070230695A1 (en) Apparatus and method for generating a number with random distribution
JP3728098B2 (ja) 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体

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