CN109765856A - 安全逻辑系统及操作安全逻辑系统的方法 - Google Patents
安全逻辑系统及操作安全逻辑系统的方法 Download PDFInfo
- Publication number
- CN109765856A CN109765856A CN201810750309.0A CN201810750309A CN109765856A CN 109765856 A CN109765856 A CN 109765856A CN 201810750309 A CN201810750309 A CN 201810750309A CN 109765856 A CN109765856 A CN 109765856A
- Authority
- CN
- China
- Prior art keywords
- characters string
- circuit
- encrypted
- string
- security logic
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全逻辑系统。安全逻辑系统包括物理不可克隆函数装置、物理不可克隆函数缓存器及加密电路。物理不可克隆函数装置根据物理不可克隆函数装置的至少一部分随机物理特征建立加密字符串。物理不可克隆函数缓存器耦接于物理不可克隆函数装置,并自物理不可克隆函数装置载出加密字符串。加密电路耦接于物理不可克隆函数缓存器,并利用加密字符串来操作系统字符串以产生加密数据。
Description
技术领域
本发明是有关于一种安全逻辑系统,特别是一种利用物理不可克隆函数的安全逻辑系统。
背景技术
随着对实体智能财产(physical intellectual property)的逆向工程的自动化,实体攻击和旁信道(side-channel)攻击变得越来越强大并且越来越符合经济效益,使得敏感信息被暴露的疑虑也随着提升。为了避免有价值的技术被竞争对手抄袭,同时避免私人装置被未授权者存取,制程和装置的主控者常需花费大量的时间及金钱来研发反监控的方法以避免威胁入侵。
为了保护系统免于外来攻击,并提升逆向工程的困难度,物理不可克隆函数(physical unclonable function,PUF)的集成电路的特性使其成为了一个可行的方法。
物理不可克隆函数的集成电路可以根据其制造过程中所产生的无法预期的物理特性来产生特征字符串。由于制程的差异可能来自于控制过程中的微小变化、材料内容及/或环境参数的偏移。这些自然的变异不仅在制造过程中难以避免,同时也非常难以重建,因此想要复制出相同的特征字符串非常困难。
一般而言,在系统启动且其中的电路组件进入稳态之后,物理不可克隆函数便会产生一组特定的特征字符串,这组特征字符串会与组件的物理微结构部分相关。由于物理微结构的生成条件会随时间和环境而变化,因此根据其物理微结构的生成条件的差异,就足以让每个组件具有其独特的性质。然而,虽然物理不可克隆函数能够提供系统安全的基础,但如何将物理不可克隆函数有效且便宜地应用到系统当中以确保信息安全仍然是目前需探讨的议题。
发明内容
本发明的一实施例提供一种安全逻辑系统,安全逻辑系统包括物理不可克隆函数(physically unclonable function,PUF)装置、物理不可克隆函数缓存器、及加密电路。
物理不可克隆函数装置根据物理不可克隆函数装置的至少一部分随机物理特征建立加密字符串。物理不可克隆函数缓存器耦接于物理不可克隆函数装置,并自物理不可克隆函数装置载出加密字符串。加密电路耦接于物理不可克隆函数缓存器,并利用加密字符串来操作系统字符串以产生加密数据。
本发明的另一实施例提供一种操作安全逻辑系统的方法,安全逻辑系统包括物理不可克隆函数装置、物理不可克隆函数缓存器及加密电路。
操作安全逻辑系统的方法包括物理不可克隆函数装置根据物理不可克隆函数装置的至少一部分随机物理特征建立加密字符串,物理不可克隆函数缓存器自物理不可克隆函数装置载出加密字符串,及加密电路利用加密字符串来操作系统字符串以产生加密数据。
附图说明
图1为本发明一实施例的安全逻辑系统的示意图。
图2为本发明另一实施例的安全逻辑系统的示意图。
图3为本发明另一实施例的安全逻辑系统的示意图。
图4为本发明另一实施例的安全逻辑系统的示意图。
图5为图1的安全逻辑系统的操作方法的流程图。
图6为图2的安全逻辑系统的操作方法的流程图。
其中,附图标记说明如下:
100、200、300、400 安全逻辑系统
110 物理不可克隆函数装置
120 物理不可克隆函数缓存器
130、230、230’ 加密电路
140、240 解密电路
150、250、250’ 系统功能电路
P0至P3 加密字符串
S1至S3 系统字符串
S1e、S2e、S3e 加密数据
232[0]至232[N] 逻辑电路
260 译码器
270、270’ 路径选择器
380、480 存储器
D 译码数据
D1、D2 部分译码数据
DI 输入数据
500、600 方法
S510至S550、S610至S680 步骤
具体实施方式
图1为本发明一实施例的安全逻辑系统100的示意图。安全逻辑系统100包括物理不可克隆函数(physically unclonable function,PUF)装置110,物理不可克隆函数缓存器120,及加密电路130。
物理不可克隆函数装置110可以根据物理不可克隆函数装置110的至少一部分随机物理特征建立加密字符串P1。在硅制程中的微小变异使得物理不可克隆函数装置110能够产生独特的加密字符串P1,而加密字符串P1则可以协助提供深入的安全保护。举例来说,安全逻辑系统100可以藉由将物理不可克隆函数装置110所产生的加密字符串P1与看似寻常且简明的逻辑结构纠结缠绕(entangled)后来确保信息的机密性,使得每个装置都具有独特的控制路径及/或数据型式。
物理不可克隆函数缓存器120耦接于物理不可克隆函数装置110,并可自物理不可克隆函数装置110中载出加密字符串P1。物理不可克隆函数缓存器120可设计成能够实时抹除,也就是其内容可以被控制成被全部清除或者重新打乱。
在本发明的有些实施例中,物理不可克隆函数装置110可包括一个以上的物理不可克隆函数单元,也就是说,物理不可克隆函数装置110可以产生多个独特的字符串。在此情况下,加密字符串P0及P1的地址可以在装置初始化的阶段中由韧体决定,或者是在系统上电重置(reset)时根据其默认值来决定。
在有些实施例中,用来载出加密字符串P0及P1的系统初始化条件可以储存在安全的环境或一次性写入(one-time programming)电路中,例如反熔丝(anti-fuse)电路。在此情况下,倘若物理不可克隆函数缓存器120因为安全威胁而被重置时,物理不可克隆函数装置110就可以根据先前储存的初始化条件重新产生加密字符串P0及P1,使得系统得以重建。
加密电路130耦接于物理不可克隆函数缓存器120,且加密电路130可利用加密字符串P1来操作系统字符串S1以产生加密数据S1e。系统字符串S1可例如但不限于为存储器地址、存储器数据或指令。也就是说,加密电路130可以利用布尔方程式或其他的算法来将加密字符串P1与欲保护的系统字符串S1相混合。
举例来说,加密电路130可以将加密字符串P1做为种子以在系统字符串S1中选择并逆变至少一位来对系统字符串S1执行超N码二元编码(Excess-N binary coding)。也就是说,独特的加密字符串P1可以用来决定系统字符串S1中的哪些位会产生变异。
举例来说,如果加密字符串P1的值为1,则加密电路130可以将系统字符串S1中的第0位逆变,亦即超1码(Excess-1)。如果加密字符串P1的值为2,则加密电路130可以将系统字符串S1中的第1位逆变,亦即超2码(Excess-2)。如果加密字符串P1的值为4,则加密电路130可以将系统字符串S1中的第2位逆变,亦即超4码(Excess-4)。再者,如果加密字符串P1的值为3,则加密电路130可以将系统字符串S1中的第0位及第1位皆逆变,亦即超3码(Excess-3)。
通过超N码二元编码的机制,就可以轻易地利用加密字符串P1来操作系统字符串S1以创造出难以预期的变异。在系统字符串S1为存储器地址的情况下,此难以预期的变异还可超越实体地址空间而扩展至虚拟的地址空间,使得储存单元的逻辑组态能具有更多层的保护。
再者,在有些实施例中,由于大部分的储存寻址机制都是多维的,因此通过从物理不可克隆函数装置110中相异的物理不可克隆函数单元载出彼此不相关的加密字符串,就可以对存储器地址中的段(segment)、列及行分别进行加密,使得存储器寻址更加难以预测。
此外,当需要利用系统字符串S1来执行系统所需的操作时,超N码二元编码也可轻易地利用加密字符串P1来译码。在图1中,安全逻辑系统100还可包括解密电路140及系统功能电路150。
解密电路140可耦接至物理不可克隆函数缓存器120,并可根据自物理不可克隆函数缓存器120中取出的加密字符串P1以对加密数据S1e进行解密来还原出系统字符串S1。举例来说,解密电路140可以根据加密字符串P1将加密数据S1e中先前被逆变的位再次逆变以还原得出系统字符串S1。
在系统字符串S1被解密电路140还原之后,耦接至解密电路140的系统功能电路150就可以根据系统字符串S1执行对应的操作。举例来说,如果系统字符串S1是存储器地址,系统功能电路150就可根据系统字符串S1所指示的地址向对应的储存空间执行读取操作或写入操作。
在有些实施例中,解密电路140可以设置在加密电路130与系统功能电路150的信号路径上,且解密电路140可以在系统字符串S1即将传入系统功能电路150之前,才对译码数据S1e进行译码以还原出系统字符串S1,如此一来,便可减少已被还原的系统字符串S1被逆向工程或旁信道攻击所撷取。
此外,在有些实施例中,系统字符串S1为存储器地址,且由加密字符串P1所制造出的变异主要是用来减少存取存储器时的可预测性,在此情况下,加密数据S1_e也可在不被解密的情况下,直接用做存储器系统的实体地址以存取内部的数据。也就是说,解密电路140可选择性的设置。举例来说,存储器系统或系统功能电路150可以直接使用加密数据S1e,而无需另外通过解密电路140进行解密,如此一来,便可在每个装置上创造出独特的存储器映射(mapping)机制。
再者,为了让存取物理不可克隆函数装置110的过程更加随机而难以预测,在图1中,自物理不可克隆函数装置110中取得的加密字符串P0亦可用来对物理不可克隆函数装置110的地址进行加密。也就是说,当系统要求自物理不可克隆函数装置110中取出不可预测的字符串时,系统原先所使用的默认地址也可利用加密字符串P0及上述相似的方法来操作。举例来说,默认的地址可以和加密字符串P0纠结缠绕后以产生出用来载出加密字符串的地址。如此一来,就能够保护物理不可克隆函数装置110的存取过程,并进一步提升系统安全。
虽然加密电路130可以通过超N码二元编码机制将加密字符串P1带入系统当中,然而本发明并不以此为限。举例来说,在有些实施例中,如果任意逻辑函数(arbitrary logicfunction)可由两条互斥的路径来实作,例如通过与非门及或非门实作,则对于特定的操作,加密电路130也可根据加密数据S1e来选择仅启用两条可能路径中的其中一条,使得内部运作的逻辑更加复杂。
图2为本发明另一实施例的安全逻辑系统200的示意图。安全逻辑系统200与安全逻辑系统100具有相似的结构。然而在安全逻辑系统200中,加密电路230可包括多个逻辑电路232[0]至232[N-1],其中N为正整数。每一个逻辑电路232[0]至232[N-1]可以接收系统字符串S2中的一个位S2[0]至S2[N-1]以及加密字符串P2中的一个位P2[0]至P2[N-1],并可对系统字符串S2的其中一个的位S2[0]至S2[N-1]以及加密字符串P2的其中一个位P2[0]至P2[N-1]执行逻辑运算以产生出加密数据S2e中的一个位。
举例来说,逻辑电路232[0]可以对加密字符串P2的位P2[0]及系统字符串S2中的位S2[0]执行逻辑运算,而逻辑电路232[N-1]可以对加密字符串P2的位P2[N-1]及系统字符串S2中的位S2[N-1]执行逻辑运算。
在有些实施例中,由于系统字符串S2可能必须被还原以执行后续的操作,因此可选择让逻辑电路232[0]至232[N-1]执行可逆的逻辑运算。例如但不限于,逻辑电路232[0]至232[N-1]可为异或(XOR)闸。也就是说,加密数据S2e是通过对加密字符串P2及系统字符串S2执行异或的运算所产生。在此情况下,于后续的操作中,便可通过对加密数据S2e与加密字符串P2执行异或的运算来还原取出原来的系统字符串S2。
在图2中,安全逻辑系统200还可包括译码器(decoder)260,译码器260可耦接至物理不可克隆函数缓存器120以自物理不可克隆函数装置110中取得独特的加密字符串P3。译码器260可为N对2N的译码器(在此实施例中可例如为2对4译码器),并可将输入的信号译码以输出译码数据D。表1为译码器260在输入信号为两位的系统字符串S30的情况下所得出的真值表。表2为译码器260在输入信号为两位的加密数据S3e的情况下所得出的真值表,其中加密数据S3e是通过对系统字符串S3及加密字符串P3执行异或运算所取得。在图2的实施例中,加密数据S3e可以利用安全逻辑系统200中的加密电路230’产生。
表1
S3[1] | S3[0] | D[3] | D[2] | D[1] | D[0] |
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 |
表2
在表2中,同样根据表1所示的系统字符串S3,会因为用以加密的加密字符串P3的值而得出四种不同的结果。如此一来,加密字符串P3就可以与一般的逻辑运算相混合,因此能够通过物理不可预测函数所主控的逻辑路径,创造出足以改变装置能量损耗及传递延迟的可组态(configurable)的逻辑结构,使得逆向工程更加困难。在图2中,安全逻辑系统200还可包括路径选择器270。在此情况下,在路径选择器270所提供的多条数据路径中,安全逻辑系统200便可根据译码数据D来选择对应的数据路径。
在图2中,安全逻辑系统200可包括解密电路240及系统功能电路250。解密电路240可耦接至物理不可预测函数缓存器120,并可根据自物理不可预测函数缓存器120中取得的加密字符串P2来对加密数据S2e进行解密以还原出系统字符串S2。在此情况下,解密电路240可以根据译码数据D追踪分析出加密数据S2e,并可对加密数据S2e及加密字符串P2执行异或的运算以还原出原始的系统字符串S2。
然而,本发明的加密电路230并不限于执行异或运算。在有些实施例中,加密电路230也可执行其他的逻辑运算,包括非及(NAND)运算、及(AND)运算、非或(NOR)运算、或(OR)运算、异或(XOR)运算、互斥非或(XNOR)运算及非(NOT)运算中的至少一者,以产生出加密数据S2e,而解密电路240则会根据对应的运算将加密数据S2e还原成系统字符串S2。在有些实施例中,混合的逻辑运算可以在应用在加密电路230或者是应用在其他的逻辑路径及逻辑结构中,使得系统的行为更难预测。
在系统字符串S2被还原之后,耦接至解密电路240的系统功能电路250就可以根据系统字符串S2来执行对应的操作。举例来说,若系统字符串S2是需被写入的数据,则系统功能电路250便会将系统字符串S2储存在对应的储存空间中。
在图2中,安全逻辑系统200还可包括设置在解密电路240及译码器260之间的路径选择器270。路径选择器270可以自多条可能的路径中选择出一条传输路径供加密数据S2e传输使用,如此一来,就可将传输流程变得更加复杂,并让系统行为更加难以分析。在有些实施例中,路径选择器270可以根据译码数据D来选择加密数据S2e的传输路径。
在有些实施例中,路径选择器270也可以根据系统产生的随机数或物理不可克隆函数装置110所产生的另一个独特字符串来选择传输路径。
在此情况下,设置在路径选择器270及系统功能电路250之间的解密电路240可在靠近系统功能电路250处将加密数据S2e还原成系统字符串S2,以避免系统字符串S2在传输的过程中,被旁信道攻击或逆向工程撷取。
再者,这种纠结缠绕的解碼技术也可应用在传输路径上以保护敏感的信息。举例来说,在有些实施例中,也可根据译码数据D自存储器中选择特定的数据直接传送至系统功能电路250。
然而,在有些实施例中,如果在安全性考虑上允许的话,也可以在系统功能电路250需要利用系统字符串S2之前,直接将加密数据S2e传送至解密电路240来进行解密,而不再另外经过路径选择器270。此外,在有些其他实施例中,在储存敏感信息时,路径选择器270也可和存储器组(memory bank)共同用来选择每个装置上的特定数据。
举例来说,图3为本发明另一实施例的安全逻辑系统300的示意图。安全逻辑系统200及安全逻辑系统300具有相似的结构。然而,在安全逻辑系统300中,系统功能电路250’为储存装置。在此情况下,路径选择器270’可耦接至系统功能电路250’以作为地址扁平电缆,而存储器380可以耦接至系统功能电路250’以提供输入数据DI。在图3中,译码数据可被分为两个部分,亦即部分译码数据D1及部分译码数据D2,以分别作为路径选择器270’及存储器380的输入信息。然而,在有些实施中,路径选择器270’及存储器380的输入也可根据系统的需求而改以两个不同的译码器来产生。在此情况下,储存数据的安全性也可进一步提升。
也就是说,本发明所列举的实施例中的技术可以独立应用,也可以根据系统的需求以任意的顺序来互相组合。图4为本发明另一实施例的安全逻辑系统400的示意图。安全逻辑系统400包括物理不可克隆函数装置110、物理不可克隆函数缓存器120、加密电路130及230、存储器480、路径选择器270、解密电路240及系统功能电路250。
在图4中,加密电路130可藉由操作系统字符串S1来产生加密数据S1e,而译码器260还可对加密数据S1e进行译码以产生译码数据D以作为自存储器480中取得系统字符串S2的地址。加密电路230可以对系统字符串S2进行加密以产生加密数据S2e。也就是说,安全逻辑系统100及200所使用的加密方法可以组合成安全逻辑系统400所使用的方法以对数据路径提供完整的保护。不仅如此,在图4中,路径选择器270还可提供多条可能的数据路径,而安全逻辑系统400可根据加密字符串P3从路径选择器270所提供的多条数据路径中选出加密数据S2e的数据路径。如此一来,数据路径的选择也可被随机化,使得系统的行为更加难以预测。在加密数据S2e经由所选取的数据路径传送之后,解密电路240最终可根据加密字符串P2来对加密数据S2e进行解密以还原出系统字符串S2,加密数据S2e并可用于系统功能电路250的后续操作。
图5为安全逻辑系统100的操作方法500的流程图。方法500包括步骤S510至S550。
S510:物理不可克隆函数装置110根据物理不可克隆函数装置110的至少一部分随机物理特征建立加密字符串P1;
S520:物理不可克隆函数缓存器120自物理不可克隆函数装置110载出加密字符串P1;
S530:加密电路130自物理不可克隆函数缓存器120中取出加密字符串P1;
S532:加密电路130利用加密字符串P1来操作系统字符串S1以产生加密数据S1e;
S540:解密电路140自物理不可克隆函数缓存器120中取出加密字符串P1;
S542:解密电路140根据加密字符串P1对加密数据S1e进行解密以还原出系统字符串S1;
S550:系统功能电路150根据系统字符串S1执行对应功能。
根据方法500,系统字符串S1可以与独特的加密字符串P1相混合,使得相同的数据在经过相同的操作之后会产生迥异的结果。在有些实施例中,系统字符串S1可以是存储器地址、存储器数据或指令,而方法500可以利用不同的算法或不同的布尔操作来对各种类型的系统字符串进行加密,使得系统中关键功能的操作流程和数据路径变得复杂,并让旁通路攻击和逆向工程更加困难。
在有些实施例中,加密电路130可以在步骤S532中,将加密字符串P1做为种子以在系统字符串S1中选择并逆变至少一位来对系统字符串S1执行超N码二元编码。然而,在有些其他实施例中,加密电路130可能会采取其他的算法或其他的逻辑运算来操作系统字符串S1。举例来说,加密电路130可以对系统字符串S1及加密字符串P1执行异或操作以产生加密数据S1e。
在系统字符串S1已经与与加密字符串P1混合之后,加密电路140可在步骤S540中取出加密字符串P1,并在步骤S542中据以将系统字符串S1还原。如此一来,系统功能电路150就能够在步骤S550中利用系统字符串S1来执行后续的操作。
在有些实施例中,还可以通过无法预期的逻辑路径来改变装置的电能损耗和传输延迟等特性以进一步保护加密数据S1e。图6为安全逻辑系统200的操作方法600的流程图。方法600包括步骤S610至S680。
S610:物理不可克隆函数装置110根据物理不可克隆函数装置110的至少一部分随机物理特征建立加密字符串P2及P3;
S620:物理不可克隆函数缓存器120自物理不可克隆函数装置110载出加密字符串P2及P3;
S630:加密电路230自物理不可克隆函数缓存器120中取出加密字符串P2;
S632:加密电路230利用加密字符串P2来操作系统字符串S2以产生加密数据S2e;
S640:译码电路260自物理不可克隆函数缓存器120中取出加密字符串P3;
S642:译码电路260对另一笔加密数据S3e进行译码以产生译码数据D,其中加密数据S3e是由另一系统字符串S3及加密字符串P3加密产生;
S650:路径选择器270根据译码数据选择加密数据S2e的传输路径;
S660:解密电路240自物理不可克隆函数缓存器120中取出加密字符串P2;
S670:解密电路240根据加密字符串P2对加密数据S2e进行解密以还原出系统字符串S2;
S680:系统功能电路250根据系统字符串S2执行对应功能。
也就是说,在利用加密字符串P2对系统字符串S2加密之后,加密数据S2e会经由路径选择器270在步骤S650中根据译码数据D所选择的数据路径传送到解密电路240。因此,在步骤S670中,解密电路240可以对加密字符串S2e进行解密以还原出系统字符串S2,使得系统功能电路250可以在步骤S680中对应地执行后续操作。
在有些实施例中,若系统字符串S2为指令或选择指针,则解密电路240可能不必重新产生完整的系统字符串S2。相反地,解密电路240可以将对应的信号传送到系统功能电路250,以利用加密字符串P2分析加密数据S2e来执行对应的操作。
通过方法500和600,由物理不可克隆函数装置110所建立的加密字符串可以和系统字符串组合,使得每个装置的控制路径和数据流模式都是独特的。另外,由于方法500和600能够让逻辑结构、流量控制和数据内容实例化变化,导致旁信道攻击和逆向工程所需的重要信息,例如装置的操作时序、能量损耗,热量分布,磁场分布和功率特征等,也会对应地发生变化,因此方法500和600可以有效地保护装置中的重要信息。此外,当方法500和600被应用在处理不同类型的系统字符串时,还能够进一步增强对重要信息的保护。也就是说,方法500和600中所示的方法可以单独执行或者可以与其他方法组合以满足系统的安全要求。
综上所述,本发明的实施例所提供的安全逻辑系统和操作安全逻辑系统的方法可以将系统字符串与物理不可克隆函数装置所产生的不可预期的加密字符串进行组合,使得每个装置都具有其独特的控制路径和数据流模式。而且,由于每个装置都可以具有自己独特的操作时序、能量损耗,热量分布,磁场分布和功率特征等,因此可以有效保护关键讯息,并使旁信道攻击和逆向工程变得非常困难。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (30)
1.一种安全逻辑系统,其特征在于,包括:
物理不可克隆函数装置,用以根据所述物理不可克隆函数装置的至少一部分随机物理特征建立加密字符串;
物理不可克隆函数缓存器,耦接于所述物理不可克隆函数装置,用以自所述物理不可克隆函数装置载出所述加密字符串;及
加密电路,耦接于所述物理不可克隆函数缓存器,用以利用所述加密字符串来操作系统字符串以产生加密数据。
2.如权利要求1所述的安全逻辑系统,其特征在于所述系统字符串是存储器地址、存储器数据或指令。
3.如权利要求1所述的安全逻辑系统,其特征在于:
所述加密电路是将所述加密字符串做为种子以在所述系统字符串中选择并逆变至少一位来对所述系统字符串执行超N码二元编码。
4.如权利要求1所述的安全逻辑系统,其特征在于:
所述加密电路包括多个逻辑电路,每一逻辑电路用以接收所述系统字符串中的位以及所述加密字符串中的位,并对所述系统字符串中的所述位及所述加密字符串中的所述位执行逻辑运算以产生所述加密数据中的位。
5.如权利要求4所述的安全逻辑系统,其特征在于:
所述些逻辑电路是异或门。
6.如权利要求1所述的安全逻辑系统,其特征在于,另包括译码器,耦接于所述加密电路,用以对所述加密数据进行译码以输出译码数据以使所述加密数据的传输路径随机化。
7.如权利要求6所述的安全逻辑系统,其特征在于,另包括:
解密电路,耦接于所述物理不可克隆函数缓存器,并用以根据自所述物理不可克隆函数缓存器中取出的所述加密字符串对所述译码数据进行解密以还原出所述系统字符串;及
系统功能电路,耦接于所述解密电路,用以根据所述系统字符串执行对应功能。
8.如权利要求7所述的安全逻辑系统,其特征在于所述解密电路是设置在所述译码器及所述系统功能电路之间的信号路径上,且所述解密电路是在将所述系统字符串传入所述系统功能电路之前,才对所述译码数据进行译码以还原出所述系统字符串。
9.如权利要求1所述的安全逻辑系统,其特征在于,另包括:
解密电路,耦接于所述物理不可克隆函数缓存器,用以根据自所述物理不可克隆函数缓存器中取出的所述加密字符串对所述加密数据进行解密以还原出所述系统字符串;及
系统功能电路,耦接于所述解密电路,用以根据所述系统字符串执行对应功能。
10.如权利要求9所述的安全逻辑系统,其特征在于所述解密电路是设置在所述加密电路及所述系统功能电路之间的信号路径上,且所述解密电路是在将所述系统字符串传入所述系统功能电路之前,才对所述加密数据进行译码以还原出所述系统字符串。
11.如权利要求1所述的安全逻辑系统,其特征在于用以载出在所述物理不可克隆装置中的所述加密字符串的地址是透过在默认地址与另一加密字符串纠结缠绕后所建立而来。
12.如权利要求1所述的安全逻辑系统,其特征在于用以产生所述加密字符串的初始系统条件是储存在安全环境或一次性写入电路。
13.如权利要求1所述的安全逻辑系统,其特征在于所述加密数据是用以作为存取存储器时所需的实体地址。
14.如权利要求1所述的安全逻辑系统,其特征在于所述加密数据是用于与一般逻辑运算纠结缠绕后以建立多个可组态逻辑结构。
15.如权利要求1所述的安全逻辑系统,其特征在于,另包括路径选择器,用以接收所述加密数据,及根据所述物理不可克隆组态装置所提供的字符串选择所述加密数据的数据路径以使所述加密数据的传输路径随机化。
16.一种操作安全逻辑系统的方法,其特征在于,所述安全逻辑系统包括物理不可克隆函数装置、物理不可克隆函数缓存器及加密电路,所述方法包括:
所述物理不可克隆函数装置根据所述物理不可克隆函数装置的至少一部分随机物理特征建立加密字符串;
所述物理不可克隆函数缓存器自所述物理不可克隆函数装置载出所述加密字符串;及
所述加密电路利用所述加密字符串来操作系统字符串以产生加密数据。
17.如权利要求16所述的方法,其特征在于所述系统字符串是存储器地址、存储器数据或指令。
18.如权利要求16所述的方法,其特征在于:
所述加密电路利用所述加密字符串来操作所述系统字符串以产生所述加密数据是所述加密电路将所述加密字符串做为种子以在所述系统字符串中选择并逆变至少一位来对所述系统字符串执行超N码二元编码。
19.如权利要求16所述的方法,其特征在于:
所述加密电路利用所述加密字符串来操作所述系统字符串以产生所述加密数据包括:
所述加密电路接收所述系统字符串中的位以及所述加密字符串中的位;及
所述加密电路对所述系统字符串中的所述位及所述加密字符串中的所述位执行逻辑运算以产生所述加密数据中的位。
20.如权利要求19所述的方法,其特征在于:
所述逻辑运算包括异或运算。
21.如权利要求16所述的方法,其特征在于所述安全逻辑系统另包括译码器,及所述方法另包括所述译码器对所述加密数据进行译码以输出译码数据以使所述加密数据的传输路径随机化。
22.如权利要求21所述的方法,其特征在于所述安全逻辑系统另包括解密电路及系统功能电路,及所述方法另包括:
所述解密电路自所述物理不可克隆函数缓存器中取出所述加密字符串;
所述解密电路根据所述加密字符串对所述译码数据进行解密以还原出所述系统字符串;及
所述系统功能电路根据所述系统字符串执行对应功能。
23.如权利要求22所述的安全逻辑系统,其特征在于所述解密电路是设置在所述译码器及所述系统功能电路之间的信号路径上,且所述解密电路根据所述加密字符串对所述译码数据进行解密以还原出所述系统字符串是在将所述系统字符串传入所述系统功能电路之前执行。
24.如权利要求16所述的方法,其特征在于所述安全逻辑系统另包括解密电路及系统功能电路,及所述方法另包括:
所述解密电路自所述物理不可克隆函数缓存器中取出所述加密字符串;
所述解密电路根据所述加密字符串对所述加密数据进行解密以还原出所述系统字符串;及
所述系统功能电路根据所述系统字符串执行对应功能。
25.如权利要求24所述的安全逻辑系统,其特征在于所述解密电路是设置在所述加密电路及所述系统功能电路之间的信号路径上,且所述解密电路根据所述加密字符串对所述加密数据进行解密以还原出所述系统字符串是在将所述系统字符串传入所述系统功能电路之前执行。
26.如权利要求16所述的方法,其特征在于,另包括透过在默认地址与另一加密字符串纠结缠绕以建立用以载出在所述物理不可克隆装置中的所述加密字符串的地址。
27.如权利要求16所述的方法,其特征在于,另包括将用以产生所述加密字符串的初始系统条件储存在安全环境或一次性写入电路。
28.如权利要求16所述的方法,其特征在于,另包括将所述加密数据作为实体地址以存取存储器。
29.如权利要求16所述的方法,其特征在于,另包括将所述加密数据与一般逻辑运算纠结缠绕以建立多个可组态逻辑结构。
30.如权利要求16所述的方法,其特征在于所述安全逻辑系统另包括路径选择器,及所述方法另包括所述路径选择器根据所述物理不可克隆组态装置所提供的字符串选择所述加密数据的数据路径以使所述加密数据的传输路径随机化。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762583499P | 2017-11-09 | 2017-11-09 | |
US62/583,499 | 2017-11-09 | ||
US15/928,101 | 2018-03-22 | ||
US15/928,101 US20190140851A1 (en) | 2017-11-09 | 2018-03-22 | Secure logic system with physically unclonable function |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109765856A true CN109765856A (zh) | 2019-05-17 |
Family
ID=66327800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810750309.0A Withdrawn CN109765856A (zh) | 2017-11-09 | 2018-07-10 | 安全逻辑系统及操作安全逻辑系统的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190140851A1 (zh) |
CN (1) | CN109765856A (zh) |
TW (1) | TW201918923A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130809A (zh) * | 2020-09-21 | 2020-12-25 | 太原理工大学 | 一种真随机数发生器 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11196574B2 (en) * | 2017-08-17 | 2021-12-07 | Taiwan Semiconductor Manufacturing Company, Ltd. | Physically unclonable function (PUF) generation |
EP4173225A1 (en) * | 2020-06-26 | 2023-05-03 | Telefonaktiebolaget LM Ericsson (publ) | Security component and method of operation |
US11962709B1 (en) * | 2020-07-15 | 2024-04-16 | Marvell Asia Pte, Ltd. | Structures and methods for deriving stable physical unclonable functions from semiconductor devices |
GB2601846A (en) * | 2021-03-15 | 2022-06-15 | Nordic Semiconductor Asa | Encoding |
US20220393859A1 (en) * | 2021-06-07 | 2022-12-08 | Micron Technology, Inc. | Secure Data Storage with a Dynamically Generated Key |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423801A (zh) * | 2000-01-18 | 2003-06-11 | 因芬尼昂技术股份公司 | 微处理器加密装置 |
CN101847296A (zh) * | 2009-03-25 | 2010-09-29 | 索尼公司 | 集成电路、加密通信装置、系统和方法以及信息处理方法 |
CN104168264A (zh) * | 2014-07-11 | 2014-11-26 | 南京航空航天大学 | 一种低成本、高安全性物理不可克隆函数 |
TW201701186A (zh) * | 2015-06-12 | 2017-01-01 | 高通公司 | 實體不可複製功能輔助之記憶體加密裝置技術 |
CN107094074A (zh) * | 2017-06-28 | 2017-08-25 | 东信和平科技股份有限公司 | 一种数据加密方法及数据加密装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128387A (en) * | 1997-05-19 | 2000-10-03 | Industrial Technology Research Institute | Method and system for using a non-inversible transform and dynamic keys to protect firmware |
KR20060132011A (ko) * | 2004-03-30 | 2006-12-20 | 마츠시타 덴끼 산교 가부시키가이샤 | 암호화 방식의 업 데이트 시스템 |
WO2010100015A1 (en) * | 2009-03-06 | 2010-09-10 | Intrinsic Id B.V. | System for establishing a cryptographic key depending on a physical system |
KR101271426B1 (ko) * | 2009-11-04 | 2013-06-05 | 한국전자통신연구원 | 방송 프로그램의 부분 암호화 녹화 장치와 방법 |
US9350330B2 (en) * | 2010-11-24 | 2016-05-24 | Intrinsic Id B.V. | Physical unclonable function |
US8700916B2 (en) * | 2011-12-02 | 2014-04-15 | Cisco Technology, Inc. | Utilizing physically unclonable functions to derive device specific keying material for protection of information |
WO2013112351A2 (en) * | 2012-01-23 | 2013-08-01 | The Trustees Of Columbia University In The City Of New York | Systems and methods for telecommunication using high-dimensional temporal quantum key distribution |
WO2013155522A1 (en) * | 2012-04-13 | 2013-10-17 | Lewis Innovative Technologies, Inc. | Electronic physical unclonable functions |
DE102012212471B3 (de) * | 2012-07-17 | 2013-11-21 | Siemens Aktiengesellschaft | Vorrichtung zum Realisieren einer physikalischen Degradations-/Tampererkennung eines digitalen ICs mittels einer (digitalen) PUF und Unterscheiden zwischen einer Degradation aufgrund von physikalischer Manipulation und aufgrund von Alterungsprozessen |
US9619658B2 (en) * | 2014-01-07 | 2017-04-11 | New York University | Homomorphically encrypted one instruction computation systems and methods |
US9483664B2 (en) * | 2014-09-15 | 2016-11-01 | Arm Limited | Address dependent data encryption |
KR20170032776A (ko) * | 2015-09-15 | 2017-03-23 | 삼성전자주식회사 | 선택적으로 영상을 암호화하는 영상 처리 장치 및 영상 처리 방법 |
US10564969B2 (en) * | 2015-12-03 | 2020-02-18 | Forrest L. Pierson | Enhanced protection of processors from a buffer overflow attack |
US10469083B2 (en) * | 2016-07-10 | 2019-11-05 | Imec Vzw | Breakdown-based physical unclonable function |
US10223528B2 (en) * | 2016-09-27 | 2019-03-05 | Intel Corporation | Technologies for deterministic code flow integrity protection |
US10250572B2 (en) * | 2016-09-29 | 2019-04-02 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
US10579339B2 (en) * | 2017-04-05 | 2020-03-03 | Intel Corporation | Random number generator that includes physically unclonable circuits |
US20180358989A1 (en) * | 2017-06-09 | 2018-12-13 | Western Digital Technologies, Inc. | Non-volatile Storage Systems With Application-Aware Error-Correcting Codes |
-
2018
- 2018-03-22 US US15/928,101 patent/US20190140851A1/en not_active Abandoned
- 2018-06-15 TW TW107120726A patent/TW201918923A/zh unknown
- 2018-07-10 CN CN201810750309.0A patent/CN109765856A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423801A (zh) * | 2000-01-18 | 2003-06-11 | 因芬尼昂技术股份公司 | 微处理器加密装置 |
CN101847296A (zh) * | 2009-03-25 | 2010-09-29 | 索尼公司 | 集成电路、加密通信装置、系统和方法以及信息处理方法 |
US20100250936A1 (en) * | 2009-03-25 | 2010-09-30 | Masafumi Kusakawa | Integrated circuit, encryption communication apparatus, encryption communication system, information processing method and encryption communication method |
CN104168264A (zh) * | 2014-07-11 | 2014-11-26 | 南京航空航天大学 | 一种低成本、高安全性物理不可克隆函数 |
TW201701186A (zh) * | 2015-06-12 | 2017-01-01 | 高通公司 | 實體不可複製功能輔助之記憶體加密裝置技術 |
CN107094074A (zh) * | 2017-06-28 | 2017-08-25 | 东信和平科技股份有限公司 | 一种数据加密方法及数据加密装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130809A (zh) * | 2020-09-21 | 2020-12-25 | 太原理工大学 | 一种真随机数发生器 |
CN112130809B (zh) * | 2020-09-21 | 2022-04-29 | 太原理工大学 | 一种真随机数发生器 |
Also Published As
Publication number | Publication date |
---|---|
TW201918923A (zh) | 2019-05-16 |
US20190140851A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109765856A (zh) | 安全逻辑系统及操作安全逻辑系统的方法 | |
CN109495243B (zh) | 使用随机数位的安全系统及安全系统的操作方法 | |
KR101324825B1 (ko) | 메시지 인증 코드 사전 연산 방법 및 시스템 | |
CN105706066B (zh) | 存储器完整性 | |
US9483664B2 (en) | Address dependent data encryption | |
CN102750233B (zh) | 加密和存储机密数据 | |
CN107624188A (zh) | 物理不可复制功能辅助的存储器加密装置技术 | |
CN101673251A (zh) | 具有特许存储器的设备及其应用 | |
CN106228076B (zh) | 一种基于sgx的图片验证码保护方法及系统 | |
CN102117387A (zh) | 安全密钥访问设备及方法 | |
CN103154963A (zh) | 对地址的加扰和对需存储于存储设备中的写入数据的加密 | |
CN104012030A (zh) | 用于保护对称加密密钥的系统及方法 | |
CN105024803A (zh) | 白箱实现中的行为指纹 | |
US20110035599A1 (en) | Apparatus and method for generating unpredictable processor-unique serial number for use as an encryption key | |
CN105095695A (zh) | 经由白箱实现的不正确功能行为实现授权 | |
CN106209346A (zh) | 白盒密码技术交错查找表 | |
CN100367144C (zh) | 用于加密的应用程序安装的结构 | |
CN105978680A (zh) | 在白盒实现方案中实现填充 | |
CN102782695A (zh) | 硬件装置 | |
CN102480353A (zh) | 口令认证和密钥保护的方法 | |
CN107563226A (zh) | 一种存储器控制器、处理器模块及密钥更新方法 | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
CN103593592A (zh) | 一种用户数据的加解密方法 | |
CN114722359B (zh) | 一种基于自定义类加载器的Java源码保护方法 | |
CN209103293U (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190517 |