CN112069553B - 电子系统及电子系统的操作方法 - Google Patents

电子系统及电子系统的操作方法 Download PDF

Info

Publication number
CN112069553B
CN112069553B CN202010384008.8A CN202010384008A CN112069553B CN 112069553 B CN112069553 B CN 112069553B CN 202010384008 A CN202010384008 A CN 202010384008A CN 112069553 B CN112069553 B CN 112069553B
Authority
CN
China
Prior art keywords
circuit
character string
key
challenge
starting
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
CN202010384008.8A
Other languages
English (en)
Other versions
CN112069553A (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.)
Entropy Code Technology Co ltd
Original Assignee
Entropy Code Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Entropy Code Technology Co ltd filed Critical Entropy Code Technology Co ltd
Publication of CN112069553A publication Critical patent/CN112069553A/zh
Application granted granted Critical
Publication of CN112069553B publication Critical patent/CN112069553B/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/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]
    • 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
    • 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/75Protecting 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 inhibiting the analysis of circuitry or operation
    • 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/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种电子系统,电子系统包括第一电路及第二电路。第一电路包括第一启动单元及第一功能单元。第一启动单元接收第一挑战字符串,根据第一挑战字符串及第一密钥产生第一响应字符串,并输出第一响应字符串。第一功能单元执行第一特定功能。第二电路包括第二启动单元及第二功能单元。第二启动单元在第一启动操作中,发送第一挑战字符串至第一电路,及根据第一挑战字符串、第一响应字符串及第一密钥判断第一启动操作是否通过验证。在第一启动操作被判定为通过验证时,第二功能单元执行第二特定功能。

Description

电子系统及电子系统的操作方法
技术领域
本发明是有关于一种电子系统,特别是指一种能够进行自我验证的电子系统。
背景技术
随着系统芯片(system-on-chip,SoC)的功能日益复杂,设计者常常会使用来自不同公司的智权产品(intellectual properties,IPs)来简化设计的复杂度。举例来说,系统芯片的处理器及快闪存储器可能是由不同的公司设计。在此情况下,由于这些电路设计公司,例如处理器及存储器的设计公司,并不负责实际的制造,因此常常是以硬件描述语言档案的形式来提供他们所设计的电路。
在超大规模集成电路(very large-scale integration,VLSI)的领域中,智权产品常被称为宏(macro),且主要可分为两大类,硬宏(hard macro)及软宏(soft macro)。硬宏一般是针对特定的集成电路制程技术来设计,因此会根据制程的设计规则,对功耗、面积及时序...等性能做优化。因此,在实体设计上,设计者只能够存取硬宏的接脚,而无法取得内部的结构。举例来说,存储器区块通常会以硬宏的形式提供。
然而,用来执行复杂运算的电路,例如处理器或控制器,则常会以软宏的形式提供。相较于硬宏,软宏在可组态的性能上提供了较大的弹性。举例来说,软宏可以由标准单元来合成,而不限定实际上使用的制程。因此,软宏的功耗、面积和时序...等性能通常是无法预测的。
然而,软宏的在设计上的弹性也可能导致其原始码被未授权的系统或装置使用而造成安全上的风险。也就是说,系统芯片的设计者可能会在未支付使用许可费用的情况下,在其他的系统中重复使用原始码所描述的处理器或控制器,造成处理器或控制器的设计公司的损失。
发明内容
本发明的一实施例提供一种电子系统。电子系统包括第一电路及第二电路。
第一电路包括第一启动单元及第一功能单元。第一启动单元接收第一挑战字符串,根据第一挑战字符串及第一密钥产生第一响应字符串,并输出第一响应字符串。第一功能单元执行第一特定功能。
第二电路包括第二启动单元及第二功能单元。第二启动单元在第一启动操作中,发送第一挑战字符串至第一电路,并根据第一挑战字符串、第一响应字符串及第一密钥判断第一启动操作是否通过验证。在第一启动操作被判定为通过验证时,第二功能单元执行第二特定功能,而在第一启动操作被判定为未通过验证时,第二功能单元不执行第二特定功能。
本发明的另一实施例提供一种操作电子系统的方法。电子系统包括第一电路及第二电路。
操作电子系统的方法包括在第二电路开始执行特定功能之前,执行第一启动操作,在第一启动操作中,第二电路发送第一挑战字符串至第一电路,第一电路根据第一挑战字符串及第一密钥产生第一响应字符串,第一电路输出第一响应字符串至第二电路,第二电路根据第一挑战字符串、第一响应字符串及第一密钥判断第一启动操作是否通过验证。当第一启动操作被判断已通过验证时,第二电路执行特定功能,而当第一启动操作被判断未通过验证时,第二电路不执行特定功能。
附图说明
图1示本发明一实施例的电子系统的示意图。
图2示本发明另一实施例的电子系统的示意图。
图3示本发明另一实施例的电子系统的示意图。
图4示本发明另一实施例的电子系统的示意图。
图5是操作电子系统的方法的流程图。
其中,附图标记说明如下:
100、200、300、400:电子系统
110、210、310、410:第一电路
120、220:第二电路
112、212、312、412:第一启动单元
114、214、314、414:第一功能单元
122、222、422:第二启动单元
124、424:第二功能单元
1121、2121:加密区块
1122、1222、2122、2222、3122:密钥产生器
K1至KN:密钥
1223:伪随机数生成器
1221、2221:解密区块
CS1、CS2:挑战字符串
RS1、RS2:响应字符串
IDX1、IDX2:密钥索引
2141:物理不可克隆功能区块
K0:包裹加密密钥
K1’:包裹密钥
430:第三电路
432:第三启动单元
434:第三功能单元
具体实施方式
图1示本发明一实施例的电子系统100的示意图。电子系统100包括第一电路110及第二电路120。
第一电路110包括第一启动单元112及第一功能单元114。第二电路120包括第二启动单元122及第二功能单元124。在有些实施例中,第一电路110及第二电路120可以各自用来执行特定的功能,而功能单元14及124则可以执行其特定功能所需的操作。举例来说,第一电路110可以是能够执行读取操作及写入操作的存储器,而第二电路120则可以是用来执行电子系统100所需的逻辑操作的控制器。
在有些实施例中,第二电路120所执行的逻辑操作可以与第一电路110所储存的数据有关。举例来说,第一功能单元114可以储存多个随机比特,而第二功能单元124则可以取出第一功能单元114中的至少一随机比特来做系统授权的相关运算。例如,第一功能单元114可以执行读取操作及写入操作以存取随机比特,而第二功能单元124可以利用储存在第一功能单元114中的随机比特来执行逻辑操作,以完成椭圆曲线密码学(elliptic-curvecryptography,ECC)或进阶加密标准(advanced encryption standard,AES)所需的运算。
在有些实施例中,电子系统100可以是系统芯片(system-on-chip,SoC),其中第一电路110可以是以硬宏(hard macro)提供,而第二电路120则可以是以软宏(soft macro)提供。在此情况下,为了保护第二电路120在未被授权的情况下被重复使用,便可利用第一电路110中的启动单元112及第二单元120中的启动单元122来进行验证。
举例来说,第一电路110及第二电路120可以储存相同的密钥K1,而在第二功能单元124开始执行其特定功能之前,第一电路110及第二电路120可以利用密钥K1执行第一启动操作。在第一启动操作中,第二启动单元122可以发送挑战字符串CS1至第一电路110。第一启动单元112可以接收挑战字符串CS1,并根据挑战字符串CS1及密钥K1产生响应字符串RS1。接着,第一启动单元112可以将响应字符串RS1输出至第二启动单元122,而第二启动单元122则可根据挑战字符串CS1、响应字符串RS1及密钥K1来判断第一启动操作是否通过验证。
在有些实施例中,第二功能单元124只有在第一启动操作被判定为通过验证时才可以执行其特定功能,而在第一启动操作被判定为未通过验证时,则会拒绝执行其特定功能。也就是说,第二电路120只有在与第一电路110通过第一启动操作的验证后,才能够执行其特定功能。如此一来,虽然第二电路120是以软宏提供,却仍然可以透过以硬宏提供的第一电路110来进行验证,并避免第二电路120在未授权的情况下被重复使用。再者,由于第二电路122的第二功能单元124及第二启动单元122是一起合成(synthesize)产生接线网络(netlist)档案,因此在软宏中,难以分辨出第二功能单元124及第二启动单元122,也因此使得启动机制更加安全。
在有些实施例中,第一启动单元112可以透过对挑战字符串CS1及密钥K1执行可逆的逻辑运算来产生响应字符串RS1。举例来说,可以对挑战字符串CS1及密钥K1执行异或(exclusive OR)运算以产生响应字符串RS1。在此情况下,若挑战字符串CS1为“10010101”,而密钥K1为“01101100”,则响应字符串RS1即为“11111001”。在此情况下,第二启动单元122可以对挑战字符串CS1及响应字符串RS1执行异或运算以产生一计算结果,并将计算结果与密钥K1相比较,以判断第一启动操作是否通过验证。如此一来,当计算结果与密钥K1相同时,第二启动单元122便会判断第一启动操作通过验证。举例来说,在此实施例中,若计算结果与密钥K1皆为“01101100”,则表示第一启动操作通过验证。然而,若计算结果与密钥K1不同,或是第二启动单元122在预定时间内并未接收到响应字符串RS1,则第二启动单元122将会判断第一启动操作未通过验证。
在有些实施例中,第一启动单元112可包括用以产生响应字符串RS1的加密区块1121,而第二启动单元122可包括用以解密响应字符串RS1并产生计算结果的解密区块1221。虽然加密区块1121及解密区块1221可以如同先前所述地执行异或运算来进行加密及解密,然而在有些其他实施例中,加密区块1121及解密区块1221也可根据系统的需求,而使用其他类型的可逆运算来进行加密及解密。举例来说,加密区块1121可以透过哈希讯息辨别码(Hash-based message authentication code,HMAC)或密码讯息辨别码(Cipher-based Message Authentication Code,CMAC)来产生响应字符串RS1,而解密区块1221则可对应地对响应字符串RS1进行解密。
此外,在有些实施例中,第一启动单元112可包括密钥产生器1122以储存多个密钥K1至KN,其中N是大于1的整数。第二启动单元122也可包括密钥产生器1222以储存多个密钥K1至KN。在此情况下,当第一启动操作开始时,第一启动单元112的密钥产生器1122可以发送密钥索引至第二启动单元122,使得第二启动单元122能够从密钥K1至KN中选取要用来加密的对应密钥。举例来说,如果要使用密钥K1来产生响应字符串RS1,则第一启动单元112的密钥产生器1122将可发送密钥K1的密钥索引IDX1至第二启动单元122,而第二启动单元122的密钥产生器1222则将根据密钥索引IDX1选取密钥K1来进行这次的验证。如此一来,密钥K1至KN的数据就不会直接在第一电路110及第二电路120的外部传输,因此可以避免密钥K1至KN的信息在第一电路110及第二电路120的通讯过程中被窃取。
再者,在有些实施例中,启动操作也可能在第二功能单元124执行其特定操作的过程中被执行。举例来说,在第二功能单元124执行其特定操作的过程中,电子系统100也可以执行第二启动操作来判断是否可继续执行其特定功能。
在图1中,在第二启动操作中,第二启动单元122可以发送挑战字符串CS2至第一电路110,而第一启动单元112可以根据挑战字符串CS2及密钥K2产生响应字符串RS2。在有些实施例中,第一启动单元112也可以发送密钥索引IDX2至第二启动单元122以使第二启动单元122能够选取对应的密钥来进行第二启动操作。接着,第二启动单元122会根据挑战字符串CS2、响应字符串RS2及密钥K2判断第二启动操作是否通过验证。
在有些实施例中,第一启动单元112可以根据随机的顺序来决定所欲使用的密钥,因此在不同的确认操作中所使用的密钥可能不同且无法预测,以此加强对第二电路120的保护。此外,在有些实施例中,在不同确认操作中所使用的挑战字符串,如挑战字符串CS1及CS2,也可以不同且无法预测。举例来说,挑战字符串CS1及CS2可以是一次性数值(numbersused once,NONCE),而第二启动单元122可包括伪随机数生成器(pseudorandom numbergenerator,PRNG)1223以产生挑战字符串CS1及CS2。
此外,在有些实施例中,在第二功能单元124执行其特定功能时,可以周期性地执行启动操作以强化对电子系统100的保护。举例来说,第二启动操作可以在第一启动操作执行一预定时间后执行,而在第二启动操作执行一预定时间后则可执行第三启动操作,并依此类推。透过在第二功能单元124执行特定操作的过程中执行多次的启动操作,就可以让启动操作所使用的挑战字符串及/或密钥更加难以预测,进而强化对电子系统100的保护。
再者,在有些其他实施例中,启动操作不一定要以周期性的方式执行,而可以在第二功能单元124执行其特定功能时随机地执行启动操作,以提升保护效果。举例来说,每两次启动操作的间隔时间可以由一个随机序列来决定,使得启动操作更加难以预测。
图2是本发明一实施例的电子系统200的示意图。电子系统100及200具有相似的结构,并且可根据相似的原理操作。然而,在图2中,第一电路210可产生密钥K1至KN,且第一电路210可将密钥K1至KN包裹后传送至第二电路220。
举例来说,第一功能单元214可包括物理不可克隆功能(physical unclonablefunction,PUF)区块2141,而物理不可克隆功能区块2141可以提供随机比特给第一启动单元212的密钥产生器2122以产生密钥K1至KN。此外,密钥产生器2122及2222可储存相同的包裹加密密钥K0。在此情况下,当欲选择密钥K1来进行启动操作时,密钥产生器2122便可根据包裹加密密钥K0来对密钥K1进行加密以产生包裹密钥K1’。包裹密钥K1’可被传送至第二电路220,而第二启动单元222中的密钥产生器2222则可将利用包裹加密密钥K0将包裹密钥K1’解密以取得启动操作所使用的密钥K1。
如此一来,密钥K1至KN的信息就不会直接显露在第一电路210及第二电路220之外,因此可以避免密钥K1至KN的信息在第一电路210与第二电路220在通讯过程中被窃取或纪录。在此情况下,加密区块2121及解密区块2221仍然可以利用密钥K1来产生响应字符串RS1或解密响应字符串以执行启动操作。再者,由于第二启动单元222可以利用包裹加密密钥K0来取得启动操作所需的密钥,因此第二启动单元222可以只储存包裹加密密钥K0而不需要储存密钥K1至KN,而第一启动单元212则可依据需求实时产生密钥K1至KN,使得验证过程更加难以预测。
在有些实施例中,可以对密钥K1及包裹加密密钥K0执行可逆逻辑运算来产生包裹密钥K1’,例如但不限于,利用异或运算。然而,有些其他实施例中,也可使用其他类型的可逆逻辑运算来打包密钥K1。
在图2中,密钥K1至KN可以利用物理不可克隆功能区块2141所产生的随机比特来生成,然而,在有些其他实施例中,密钥K1至KN也可以事先储存在第一启动单元212中,或利用物理不可克隆功能区块2141以外的其他方式产生。
图3是本发明一实施例的电子系统300的示意图。电子系统200及300具有相似的结构,并且可根据相似的原理操作。然而,在图3中,第一功能单元314可不包括物理不可克隆功能区块2141,而密钥K1至KN可以在第一电路310中生成。在此情况下,密钥产生器3122可以储存密钥K1至KN及包裹加密密钥K0。由于密钥产生器2222也可以储存相同的包裹加密密钥K0,因此第一电路310及第二电路220仍然可以利用与电子系统200相似的原理来进行验证。
再者,在有些实施例中,第一电路110、210及310可以用来保护一个以上的软宏。图4是本发明一实施例的电子系统400的示意图。电子系统400包括第一电路410、第二电路420及第三电路430。第一电路410包括第一启动单元412及第一功能单元414。第二电路420包括第二启动单元422及第二功能单元424。第三电路430包括第三启动单元432及第三功能单元434。
在有些实施例中,第一电路410可以是硬宏,而第二电路420及第三电路430则可以是硬软宏。此外,第一电路410可以用来对第二电路420及第三电路430进行验证。举例来说,第一电路410、第二电路420及第三电路430可以储存相同的密钥K1至KN。在此情况下,第二电路420可以在第二功能单元424执行其特定功能之前,执行启动操作并向第一电路410发送挑战字符串CS1。第一电路410可以从密钥K1至KN中选择一把密钥来对挑战字符串CS1进行加密以产生响应字符串RS1,并可将响应字符串RS1发送至第二电路420。接收到响应字符串RS1之后,第二电路就可利用第一电路410所选取的密钥及/或挑战字符串CS1来对响应字符串RS1进行解密,以判断所述启动操作是否通过验证。
相似地,第三电路430可以在第三功能单元434执行其特定功能之前,执行启动操作。第三电路430可以向第一电路410发送挑战字符串CS2,而第一电路410可以从密钥K1至KN中选择另一把密钥来对挑战字符串CS2进行加密以产生响应字符串RS2。响应字符串RS2会被发送至第三电路430,而第三电路430则可利用第一电路410所选取的密钥及/或挑战字符串CS2来对响应字符串RS2进行解密,以判断所述启动操作是否通过验证。也就是说,第一电路410可以根据系统的需求,而用来保护一个以上的软宏。
在有些实施例中,第一电路410可以利用第一电路110来实作,而第二电路420及第三电路430则分别可以利用第二电路120来实作。然而,在有些其他实施例中,第一电路410也可以利用第一电路210或310来实作,而第二电路420及第三电路430则分别可以利用第二电路220来实作。
图5是操作电子系统100的方法500的流程图。方法500包括步骤S510至S580。
S510:在第二电路120执行特定功能之前,执行第一启动操作;
S520:在第一启动操作中,第二电路120发送挑战字符串CS1至第一电路110;
S530:第一电路110根据挑战字符串及密钥K1产生响应字符串RS1;
S540:第一电路110输出响应字符串RS1至第二电路120;
S550:第二电路120根据挑战字符串CS1、响应字符串RS1及密钥K1判断第一启动操作是否通过验证;
S560:若第一启动操作被判断为通过验证,则进入步骤S570,否则进入步骤
S580;
S570:第二电路120执行特定功能;
S580:第二电路120拒绝执行特定功能。
在有些实施例中,步骤S530及S550可以利用异或运算来执行。举例来说,在步骤S530中,第一电路110可以对挑战字符串CS1及密钥K1执行异或运算以产生响应字符串RS1。而在步骤S550中,第二电路120也可以对挑战字符串CS1及响应字符串RS1执行异或运算以产生一计算结果,而第二电路120可以将计算结果与密钥K1相比较以判断第一启动操作是否通过验证。在有些实施例中,如果第二电路120无法在预定时间内接收到响应字符串RS1,则第二电路120也会判断第一启动操作失败而未通过验证。此外,在有些实施例中,步骤S530及S550也可以利用其他类型的可逆逻辑运算来执行,例如系统可以根据需求而改以利用哈希讯息辨别码(Hash-based message authentication code,HMAC)或密码讯息辨别码(Cipher-based Message Authentication Code,CMAC)的方式来对挑战字符串CS1加密,并对响应字符串RS1解密。
如此一来,以硬宏提供的第一电路110就可以用来保护以软宏提供的第二电路120。
在有些实施例中,在第二电路120执行其特定功能的过程中,可以周期性或随机地执行启动操作以强化对第二电路120的保护。
综上所述,本发明的实施例所提供的电子系统及操作电子系统的方法可以在电路开始执行特定功能之前,透过执行启动操作来自我验证。如此一来,以硬宏提供的电路就可以保护以软宏提供的电路,因此可以减少软宏电路被未授权者重复使用的可能。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (20)

1.一种电子系统,其特征在于,包括:
第一电路,包括:
第一启动单元,用以接收第一挑战字符串,根据所述第一挑战字符串及第一密钥产生第一响应字符串,输出所述第一响应字符串,接收第三挑战字符串,根据所述第三挑战字符串及第三密钥产生第三响应字符串,及输出所述第三响应字符串;及
第一功能单元,用以执行第一特定功能;
第二电路,包括:
第二启动单元,用以在第一启动操作中,发送所述第一挑战字符串至所述第一电路,及根据所述第一挑战字符串、所述第一响应字符串及所述第一密钥判断所述第一启动操作是否通过验证;及
第二功能单元,用以在所述第一启动操作被判定为通过验证时,执行第二特定功能,并在所述第一启动操作被判定为未通过验证时,不执行所述第二特定功能;及
第三电路,包括:
第三启动单元,用以在第三启动操作中,发送所述第三挑战字符串至所述第一电路,及根据所述第三挑战字符串、所述第三响应字符串及所述第三密钥判断所述第三启动操作是否通过验证;及
第三功能单元,用以在所述第三启动操作被判定为通过验证时,执行第三特定功能,并在所述第三启动操作被判定为未通过验证时,不执行所述第三特定功能。
2.如权利要求1所述的电子系统,其特征在于:
所述第一电路是以硬宏提供;
所述第二电路是以软宏提供;及
所述第三电路是以软宏提供。
3.如权利要求1所述的电子系统,其特征在于:
所述第一功能单元是用以执行读取操作及写入操作的存储器;及
所述第二功能单元是用以执行所述电子系统所需运算的控制器。
4.如权利要求1所述的电子系统,其特征在于:
在所述第二功能单元执行所述第二特定功能时,所述电子系统执行第二启动操作以判断是否继续执行所述第二特定功能;及
在所述第二启动操作中:
所述第二启动单元发送第二挑战字符串至所述第一电路;
所述第一启动单元根据所述第二挑战字符串及第二密钥产生第二响应字符串;及
所述第二启动单元根据所述第二挑战字符串、所述第二响应字符串及所述第二密钥判断所述第二启动操作是否通过验证。
5.如权利要求4所述的电子系统,其特征在于所述第一密钥及所述第二密钥相异。
6.如权利要求4所述的电子系统,其特征在于所述第一挑战字符串及所述第二挑战字符串相异。
7.如权利要求4所述的电子系统,其特征在于:
所述第二启动单元包括伪随机数生成器,用以产生所述第一挑战字符串及所述第二挑战字符串。
8.如权利要求4所述的电子系统,其特征在于:
所述第二启动操作是在所述第一启动操作执行后固定的预定时间后或随机决定的时间后执行。
9.如权利要求4所述的电子系统,其特征在于:
在所述第二启动操作执行后的预定时间后,所述电子系统执行第三启动操作以判断是否持续执行所述第二特定功能。
10.如权利要求1所述的电子系统,其特征在于:
所述第一启动单元是对所述第一挑战字符串及所述第一密钥执行异或运算以产生所述第一响应字符串。
11.如权利要求10所述的电子系统,其特征在于:
所述第二启动单元是对所述第一挑战字符串及所述第一响应字符串执行异或运算以产生计算结果,及比较所述计算结果及所述第一密钥是否相同以判断所述第一启动操作是否通过验证。
12.如权利要求11所述的电子系统,其特征在于:
当所述计算结果与所述第一密钥相异或所述第二启动单元并未在预定时间内接收到所述第一响应字符串时,所述第二启动单元判断所述第一启动操作未通过验证;及
当所述计算结果与所述第一密钥相同时,所述第二启动单元判断所述第一启动操作通过验证。
13.如权利要求1所述的电子系统,其特征在于:
所述第一启动单元另用以储存多个密钥;
所述第二启动单元另用以储存所述多个密钥;及
所述第一启动单元另用以传送密钥索引至所述第二启动单元以使所述第二启动单元自所述多个密钥中选取对应的所述第一密钥。
14.如权利要求1所述的电子系统,其特征在于:
所述第一功能单元包括物理不可克隆功能区块,用以提供所述第一启动单元多个随机比特以产生多个密钥。
15.一种操作电子系统的方法,其特征在于,所述电子系统包括第一电路,第二电路及第三电路,所述方法包括:
在所述第二电路开始执行第二特定功能之前,执行第一启动操作;
在所述第一启动操作中,所述第二电路发送第一挑战字符串至所述第一电路;
所述第一电路根据所述第一挑战字符串及第一密钥产生第一响应字符串;
所述第一电路输出所述第一响应字符串至所述第二电路;
所述第二电路根据所述第一挑战字符串、所述第一响应字符串及所述第一密钥判断所述第一启动操作是否通过验证;
当所述第一启动操作被判断已通过验证时,所述第二电路执行所述第二特定功能;
当所述第一启动操作被判断未通过验证时,所述第二电路不执行所述第二特定功能;
在所述第三电路开始执行第三特定功能之前,执行第三启动操作;
在所述第三启动操作中,所述第三电路发送第三挑战字符串至所述第一电路;
所述第一电路根据所述第三挑战字符串及第三密钥产生第三响应字符串;
所述第一电路输出所述第三响应字符串至所述第三电路;
所述第三电路根据所述第三挑战字符串、所述第三响应字符串及所述第三密钥判断所述第三启动操作是否通过验证;
当所述第三启动操作被判断已通过验证时,所述第三电路执行所述第三特定功能;及
当所述第三启动操作被判断未通过验证时,所述第三电路不执行所述第三特定功能;
其中所述第一电路用以执行第一特定功能。
16.如权利要求15所述的方法,其特征在于:
所述第一电路是以硬宏提供;
所述第二电路是以软宏提供;及
所述第三电路是以软宏提供。
17.如权利要求15所述的方法,其特征在于:
在所述第二电路执行所述第二特定功能时,执行第二启动操作以判断是否继续执行所述第二特定功能;及
在所述第二启动操作中:
所述第二电路发送第二挑战字符串至所述第一电路;
所述第一电路根据所述第二挑战字符串及第二密钥产生第二响应字符串;
所述第一电路输出所述第二响应字符串至所述第二电路;及
所述第二电路根据所述第二挑战字符串、所述第二响应字符串及所述第二密钥判断所述第二启动操作是否通过验证。
18.如权利要求17所述的方法,其特征在于:
所述第二启动操作是在所述第一启动操作执行后固定的预定时间后或随机决定的时间后执行。
19.如权利要求17所述的方法,其特征在于,另包括:
在所述第二启动操作执行后的预定时间后,执行第三启动操作以判断是否持续执行所述第二特定功能。
20.如权利要求15所述的方法,其特征在于:
所述第一电路根据所述第一挑战字符串及所述第一密钥产生所述第一响应字符串包括所述第一电路对所述第一挑战字符串及所述第一密钥执行异或运算以产生所述第一响应字符串;及
所述第二电路根据所述第一挑战字符串、所述第一响应字符串及所述第一密钥判断所述第一启动操作是否通过验证包括:
所述第二电路是对所述第一挑战字符串及所述第一响应字符串执行异或运算以产生计算结果;及
比较所述计算结果及所述第一密钥是否相同以判断所述第一启动操作是否通过验证。
CN202010384008.8A 2019-06-10 2020-05-08 电子系统及电子系统的操作方法 Active CN112069553B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962859209P 2019-06-10 2019-06-10
US62/859,209 2019-06-10
US16/801,168 US11121884B2 (en) 2019-06-10 2020-02-26 Electronic system capable of self-certification
US16/801,168 2020-02-26

Publications (2)

Publication Number Publication Date
CN112069553A CN112069553A (zh) 2020-12-11
CN112069553B true CN112069553B (zh) 2024-04-26

Family

ID=73651757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010384008.8A Active CN112069553B (zh) 2019-06-10 2020-05-08 电子系统及电子系统的操作方法

Country Status (3)

Country Link
US (1) US11121884B2 (zh)
CN (1) CN112069553B (zh)
TW (1) TWI744892B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104010219A (zh) * 2013-02-21 2014-08-27 美国博通公司 移动付费电视drm体系结构
CN104025500A (zh) * 2011-12-29 2014-09-03 英特尔公司 使用在物理上不可克隆的函数的安全密钥存储
CN108234132A (zh) * 2017-12-07 2018-06-29 深圳市中易通安全芯科技有限公司 一种主控芯片与加密芯片的安全通信系统及方法
CN109495243A (zh) * 2017-09-12 2019-03-19 力旺电子股份有限公司 使用随机数位的安全系统及安全系统的操作方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872917A (en) 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
US6904527B1 (en) * 2000-03-14 2005-06-07 Xilinx, Inc. Intellectual property protection in a programmable logic device
TW538250B (en) * 2000-04-21 2003-06-21 Ind Tech Res Inst Built-in self-verification circuit applied in system chip design
US7685418B1 (en) * 2005-01-19 2010-03-23 Altera Corporation Mechanisms and techniques for protecting intellectual property
US8156545B2 (en) * 2007-02-09 2012-04-10 Sony Corporation Method and apparatus for authorizing a communication interface
US9734496B2 (en) * 2009-05-29 2017-08-15 Paypal, Inc. Trusted remote attestation agent (TRAA)
US8402401B2 (en) * 2009-11-09 2013-03-19 Case Western University Protection of intellectual property cores through a design flow
US20140211944A1 (en) * 2012-09-24 2014-07-31 Daniel Joseph Lutz System and method of protecting, storing and decrypting keys over a computerized network
DE102012217716A1 (de) 2012-09-28 2014-06-12 Siemens Aktiengesellschaft Selbst-Test einer Physical Unclonable Function
KR101701306B1 (ko) 2012-11-21 2017-02-01 애플 인크. 액세스 제어를 관리하는 정책-기반 기법들
US10218517B2 (en) 2014-03-25 2019-02-26 Carnegie Mellon University Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs
US9792440B1 (en) * 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
KR102446384B1 (ko) * 2015-09-18 2022-09-22 삼성전자주식회사 사용자 단말 및 서버 장치
WO2017087552A1 (en) * 2015-11-17 2017-05-26 Cryptography Research, Inc. Authenticating a secondary device based on encrypted tables
WO2018101797A1 (en) * 2016-12-01 2018-06-07 Samsung Electronics Co., Ltd. Automatic self-activation of universal integrated circuit card
US10421432B2 (en) * 2017-05-30 2019-09-24 Intel Corporation Tamper resistant lock assembly having physical unclonable functions
US10984108B2 (en) * 2018-10-05 2021-04-20 International Business Machines Corporation Trusted computing attestation of system validation state

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025500A (zh) * 2011-12-29 2014-09-03 英特尔公司 使用在物理上不可克隆的函数的安全密钥存储
CN104010219A (zh) * 2013-02-21 2014-08-27 美国博通公司 移动付费电视drm体系结构
CN109495243A (zh) * 2017-09-12 2019-03-19 力旺电子股份有限公司 使用随机数位的安全系统及安全系统的操作方法
CN108234132A (zh) * 2017-12-07 2018-06-29 深圳市中易通安全芯科技有限公司 一种主控芯片与加密芯片的安全通信系统及方法

Also Published As

Publication number Publication date
CN112069553A (zh) 2020-12-11
US11121884B2 (en) 2021-09-14
US20200389328A1 (en) 2020-12-10
TW202046100A (zh) 2020-12-16
TWI744892B (zh) 2021-11-01

Similar Documents

Publication Publication Date Title
CN1914849B (zh) 受信移动平台体系结构
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
US9729322B2 (en) Method and system for smart card chip personalization
JPH10154976A (ja) タンパーフリー装置
CN101996154B (zh) 支持可重组安全设计的通用处理器
EP1346511A1 (en) A platform and method for securely transmitting authorization data
CN102347834A (zh) 受信移动平台体系结构
CN101213814A (zh) 安全修补系统
CN112395654A (zh) 存储装置
CN1996830B (zh) 具有高级加密标准核的集成电路及验证该标准核的外包
JP4845152B2 (ja) マスタ機器及びデータ処理システム
EP3214567B1 (en) Secure external update of memory content for a certain system on chip
CN110545184B (zh) 通讯系统及操作通讯系统的方法
CN112069553B (zh) 电子系统及电子系统的操作方法
US20080104396A1 (en) Authentication Method
TWI549020B (zh) 運算裝置、方法與系統
CN110610079A (zh) 安全启动方法、装置及系统
CN106548098A (zh) 用于检测故障攻击的方法和系统
JP6246516B2 (ja) 情報処理システム
JP6203556B2 (ja) 情報処理システム
EP3046095B1 (en) A method of protecting diverse applications stored on an integrated circuit using PUFs
CN105897405B (zh) 一种128位对称密钥生成及保护装置
JP6069120B2 (ja) 情報処理システム
CN112307438B (zh) 一种扫描锁定电路、安全隔离装置、芯片及安全隔离方法
CN102236754B (zh) 数据保密方法以及使用此数据保密方法的电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant