[go: up one dir, main page]

CN113760221B - 基于物理不可复制功能的真随机数产生器以及相关方法 - Google Patents

基于物理不可复制功能的真随机数产生器以及相关方法 Download PDF

Info

Publication number
CN113760221B
CN113760221B CN202110578028.3A CN202110578028A CN113760221B CN 113760221 B CN113760221 B CN 113760221B CN 202110578028 A CN202110578028 A CN 202110578028A CN 113760221 B CN113760221 B CN 113760221B
Authority
CN
China
Prior art keywords
seed
random number
entropy
circuit
preliminary
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
CN202110578028.3A
Other languages
English (en)
Other versions
CN113760221A (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
Priority claimed from US17/211,799 external-priority patent/US11487505B2/en
Application filed by Entropy Code Technology Co ltd filed Critical Entropy Code Technology Co ltd
Publication of CN113760221A publication Critical patent/CN113760221A/zh
Application granted granted Critical
Publication of CN113760221B publication Critical patent/CN113760221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Seasonings (AREA)
  • Saccharide Compounds (AREA)
  • Adhesives Or Adhesive Processes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于物理不可复制功能(简称PUF)的真随机数产生器以及用于产生真随机数的方法。所述基于PUF的随机数产生器可包含第一混淆电路、耦接至所述第一混淆电路的密码电路、以及耦接至所述密码电路的第二混淆电路。所述第一混淆电路自所述电子装置的PUF池取得第一PUF值,并且基于所述第一PUF值对初步种子进行第一混淆功能以产生最终种子。所述密码电路利用所述最终种子作为密码功能的金钥以产生多个初步随机数。所述第二混淆电路自所述PUF池取得第二PUF值,并且基于所述第二PUF值对所述多个初步随机数进行第二混淆功能以产生多个最终随机数。本发明能改善基于物理不可复制功能的真随机数产生器的安全性以及输出随机性。

Description

基于物理不可复制功能的真随机数产生器以及相关方法
技术领域
本发明是关于真随机数产生器,尤指一种基于物理不可复制功能的真随 机数产生器以及用于产生真随机数的方法。
背景技术
物理不可复制功能可视为晶片上的指纹,由于不同晶片的物理特性会因 为制造过程中的某些不可控因素而有些微差异,这些差异是无法被复制或预 测的,因此可被用以当作静态熵(entropy)值以用于资安相关应用。在某些 相关技术中,物理不可复制功能池在电子装置中需要存储空间,尤其,为了 改善基于物理不可复制功能的输出值的随机性,所需的硬体资源也会相应地 增加。因此,需要一种新颖的架构以及相关方法,以在没有副作用或较不会 带来副作用的情况下改善基于物理不可复制功能的真随机数产生器的输出随 机性。
发明内容
因此,本发明的目的在于提供一种基于物理不可复制功能的真随机数产 生器以及用于产生真随机数的方法,以在不大幅增加整体硬体成本的情况下 改善基于物理不可复制功能的真随机数产生器的整体效能。
本发明至少一实施例提供一种用于一电子装置的基于物理不可复制功能(Physical Unclonable Function,PUF)的真随机数产生器。所述基于物理不可 复制功能的真随机数产生器可包含一第一混淆(obfuscation)电路、耦接至所 述第一混淆电路的一密码(cryptography)电路、以及耦接至所述密码电路的 一第二混淆电路。所述第一混淆电路是用以自所述电子装置的一物理不可复 制功能池取得一第一物理不可复制功能值,并且基于所述第一物理不可复制 功能值对一初步种子进行一第一混淆功能以产生一最终种子。所述密码电路 是用以利用所述最终种子作为一密码功能的一金钥(key)以产生一初步随机 数序列。所述第二混淆电路是用以自所述物理不可复制功能池取得一第二物 理不可复制功能值,并且基于所述第二物理不可复制功能值对所述初步随机 数序列进行一第二混淆功能以产生一最终随机数序列。
本发明的至少一实施例提供了一种用于产生真随机数的方法,其中所述 方法是可应用于(applicable to)一电子装置。所述方法可包含:利用一第一 混淆电路基于一第一物理不可复制功能值对一初步种子进行一第一混淆功能 以产生一最终种子;利用一密码电路将所述最终种子当作一密码功能的一金 钥以产生一初步随机数序列;以及利用一第二混淆电路基于一第二物理不可 复制功能值对所述初步随机数序列进行一第二混淆功能以产生一最终随机数 序列。尤其,所述第一物理不可复制功能值以及所述第二物理不可复制功能 值是自所述电子装置的一物理不可复制功能池取得。
本发明的实施例提供的基于物理不可复制功能的真随机数产生器以及相 关方法能以各种特性诸如密码功能(例如良好的安全性、以及良好的伪随机 性)、动态熵(例如提供“活的”(live)熵给系统,尤指所述电子装置)以及 静态熵(例如物理不可复制功能,其可视为晶片上的指纹)来提升整体效能。 因此,本发明的实施例能在没有副作用或较不会带来副作用的情况下改善基 于物理不可复制功能的真随机数产生器的安全性以及输出随机性。
附图说明
图1为依据本发明一实施例的一电子装置的示意图。
图2为依据本发明一实施例的一电子装置的示意图。
图3为依据本发明另一实施例的一电子装置的示意图。
图4为依据本发明一实施例的一电子装置的示意图。
图5为依据本发明一实施例的一电子装置的示意图。
图6为依据本发明一实施例的一种用于产生真随机数的方法的工作流 程。
其中,附图标记说明如下:
10、20、40、50 电子装置
15 物理不可复制功能池
100、200、400、500 基于物理不可复制功能池的真随机数产生器
110 混淆电路
120 密码电路
130 混淆电路
140 熵电路
141 振荡器
142 互斥或逻辑电路
143 多路选择器
144 熵收集器
145 选择性熵收集器
150 非易失性存储器
160 健康测试电路
170 多路选择器
180 多路分配器
PUF1、PUF2 物理不可复制功能值
SEEDDYN 动态熵种子
SEEDNVM 非易失性存储器种子
SEEDPRE 初步种子
SEEDFINAL 最终种子
{RNPRE} 初步随机数序列
{RNFINAL} 最终随机数序列
TEST 测试结果
610、620、630、640、650 步骤
具体实施方式
图1为依据本发明一实施例的一电子装置10的示意图,其中电子装置 10可包含一物理不可复制功能(Physical Unclonable Function,简称PUF)池 15、以及耦接至PUF池15的一基于PUF的真随机数产生器100。如图1所 示,基于PUF的真随机数产生器100可包含一第一混淆(obfuscation)电路 诸如混淆电路110、一密码(cryptography)电路120、以及一第二混淆电路 诸如混淆电路130,其中密码电路120耦接至混淆电路110,而混淆电路130耦接至密码电路120。在本实施例中,混淆电路110可用来自PUF池15取得 一第一PUF值诸如PUF值PUF1,并且基于PUF值PUF1对一初步种子进行 一第一混淆功能以产生一最终种子SEEDFINAL。密码电路120可用来利用最终 种子SEEDFINAL作为一密码功能的一金钥(key)以产生一初步随机数序列 {RNPRE}。例如,密码电路120可进行DES、AES、RSA或MD5的密码演算法。混淆电路130可用来自PUF池15取得一第二PUF值诸如PUF值PUF2, 并且基于PUF值PUF2对初步随机数序列{RNPRE}进行一第二混淆功能以产生 一序列最终随机数{RNFINAL},其中最终随机数序列{RNFINAL}中的每个随机数 在需要时可作为基于PUF的真随机数产生器100的一输出随机数。
在本实施例中,基于PUF的真随机数产生器100可另包含一熵(entropy) 电路140以用来提供一熵种子诸如动态熵种子SEEDDYN以作为所述初步种 子。例如,熵电路140可至少包含一振荡器以用来输出多个随机单比特(bit, 也可称为“位”)值。详细来说,所述振荡器能产生一周期性信号,所述周期 性信号是在一振荡频率下于逻辑值“0”与逻辑值“1”之间变动,以及所述 周期性信号的值是在一取样频率下被取样(例如通过建置在所述振荡器的输 出端子的取样器来取样,其中所述取样器是由所述取样频率来控制),以输出 所述多个随机单比特值,其中所述取样频率异于所述振荡频率(例如所述取 样频率可低于所述振荡频率)。因为某些因素诸如温度、杂讯等,所述周期性 信号所产生的逻辑值“1”及逻辑值“0”会以随机的方式被取样,从而使得 逻辑值“1”与逻辑值“0”随机地出现在所述多个随机单比特值中。另外, 不同晶片的物理特性会因为在制造过程中的某些不可控因素而有些微差异, 这些差异是无法被复制或预测的,而差异会反映在电子装置10的PUF池15 中的PUF值(例如PUF1及PUF2)上。因此,这些PUF值可被视为晶片上 的指纹,而在本实施例中这些PUF值提供了静态熵。在某些实施例中,所述 第一PUF值可异于所述第二PUF值(例如PUF1≠PUF2)。
为了判断一随机数序列是否为可用的(available),所述随机数序列需要 通过美国国家标准暨技术研究院(National Institute of Standards and Technology,简称NIST)-800-22所定义的某些测试项目。虽然基于一振荡器 种子所产生的动态熵种子SEEDDYN具有某个程度的随机性,但动态熵种子 SEEDDYN可能仍然难以通过NIST-800-22的全部测试项目。例如,动态熵 SEEDDYN或许能通过二进制矩阵秩测试(binary matrix ranktest)、非重迭模板 匹配测试(non-overlapping template matching test)、线性复杂度测试(linear complexity test)以及随机偏移变异测试(randomexcursion varianttest),但可 能无法通过频率测试诸如单比特测试(monobit test)、区块内频率测试(frequency within a block test)、连串测试(runs test)、区块内运行时间最长 者测试(longest run ones in a block test)、离散傅立叶变换测试(discrete Fouriertransformtest)诸如离散傅立叶变换频谱测试(discrete Fourier transform spectraltest)、重迭模板匹配测试(Overlapping template matching test)、马尤 厄通用统计测试(Maurer’s universal statistical test)、串行测试(serial test)、 近似熵测试、累积总和测试(cumulative sums test)以及随机偏移测试(random excursion test)。然而,经过混淆电路110与密码电路120的处理后,初步随 机数序列{RNPRE}能通过上列的全部测试项目。频率(单比特)测试是用来侦 测“0”与“1”出现的机率是否互相接近,连串测试是用来侦测最长的连续 “0”与最长的连续“1”是否合理(例如是否低于一预定临界值),非重迭模 板匹配测试是用来侦测一随机数序列的重复形态是否合理(例如判断所述形 态是否规律地重复或随机地重复)。由于这些测试项目是被定义在为人熟知的 NIST-800-22标准,因此本领域中具通常知识者理应了解这些测试项目的涵 义,而相关细节为简明起见在此不赘述。
在本实施例中,所述第一混淆功能以及所述第二混淆功能的任一者(例 如每一者)可包含加法算数(例如加法运算)、乘法算数(例如乘法运算)、 置换(permutation)、代换(substitution)、单向函式(one-way function)、加 密(encryption)或其组合。例如,混淆电路110及130的任一者(例如每一 者)可为互斥或(exclusive-OR,XOR)逻辑电路,以实施加法算术功能。本 领域中具通常知识者理应了解如何实施与上述其他类型的混淆功能对应的逻 辑电路,而相关细节为简明起见在此不赘述。在某些实施例中,所述第一混 淆功能可和所述第二混淆功能相同(例如混淆电路110及130可由相同类型 的逻辑电路实施)。在某些实施例中,所述第一混淆功能可异于所述第二混淆 功能(例如混淆电路110及130可由不同类型的逻辑电路实施)。当混淆电路 110及130的每一者均为互斥或逻辑电路时,混淆电路110对动态熵种子 SEEDDYN与PUF值PUF1进行互斥或运作以产生最终种子SEEDFINAL,而混 淆电路130对初步随机数序列{RNPRE}与PUF值PUF2进行互斥或运作以产生 最终随机数序列{RNFINAL}。
在一实施例中,混淆电路110可将所述初步种子诸如动态熵种子 SEEDDYN与PUF值PUF1进行拼接(concatenation),例如通过依序地排列动 态熵种子SEEDDYN与PUF值PUF1,以产生最终种子SEEDFINAL。例如,假 设动态熵种子SEEDDYN为M比特数字值而PUF值PUF1为N比特数字值, 而混淆电路110可将动态熵种子SEEDDYN作为最终种子SEEDFINAL的前M个 比特并且另将PUF值PUF1作为最终种子SEEDFINAL的后N个比特,以产生 M+N比特的最终种子SEEDFINAL
在一实施例中,所述密码功能可包含一密文函式(cipher function)(例如 串流加密(stream cipher)诸如Trivium密码)或杂凑函式(hash function)。 当一特定金钥(例如最终种子SEEDFINAL)被输入至密码电路120,一对应的 比特串流会被输出且此比特串流具备良好安全性与良好伪随机性。若所述金 钥在电子装置10每一次开机时都是不变的,所述对应的比特串流在每一次也 会是不变的。为了进一步改善安全性与随机性,密码电路120所使用的金钥 可为动态的。由于最终种子SEEDFINAL是基于动态熵种子SEEDDYN以及PUF 值PUF1产生的,初步随机数序列{RNPRE}可带有使用动态熵种子与PUF值 PUF1的好处,从而改善安全性以及随机性。此外,即使所述密码功能是通过 为人熟知的方法或标准实施,本领域具通常知识者依然难以自最终随机数序 列{RNFINAL}回溯以对所述密码功能进行解密(decipher),这是因为最终输出 (即{RNFINAL})是通过混淆电路130基于不可预测的PUF值PUF2产生。因 此,最终随机数序列{RNFINAL}的安全性能被进一步提升。需注意的是,所述 密码功能并不限于特定类型的密码功能,而某些为人熟知的演算法也能被采 用于本发明的密码功能。
图2为依据本发明一实施例的一电子装置20的示意图,其中电子装置 20可包含PUF池15、以及耦接至PUF池15的一基于PUF的真随机数产生 器200。图2的实施例与图1类似,而其主要差异在于基于PUF的真随机数 产生器200可包含一非易失性存储器(non-volatile memory,NVM)150(在图 中标示为“NVM”以求简明)以用来提供所述初步种子,尤其是提供存储于 非易失性存储器150内的一非易失性存储器种子(简称NVM种子)SEEDNVM以作为所述初步种子。另外,一反馈随机数可在一或多个预定时间点被写入 非易失性存储器150,以更新存储于非易失性存储器150内的NVM种子 SEEDNVM。在一实施例中,所述反馈随机数可自初步随机数序列{RNPRE}取得, 如图2所示。在另一实施例中,所述反馈随机数可自最终随机数序列{RNFINAL} 取得,如图3所示。与图1的实施例类似,最终随机数序列{RNFINAL}中的每 个随机数在需要时可作为基于PUF的真随机数产生器200的一输出随机数。
需注意的是,更新存储于非易失性存储器150内的NVM种子SEEDNVM的时间点并非对本发明的限制。例如,所述反馈随机数可为初步随机数序列 {RNPRE}或最终随机数序列{RNFINAL}于电子装置20开机后的第一个随机数, 而一旦第一个随机数被产生,这个第一个随机数即可被写入非易失性存储器 150中。又例如,所述反馈随机数可每隔一段预定时间区间就将所述反馈随 机数写入非易失性存储器150以更新NVM种子SEEDNVM。又例如,当电子装置20接收到关机指令时,所述反馈随机数可为初步随机数序列{RNPRE}或 最终随机数序列{RNFINAL}于电子装置20开机后的最新的随机数,而所述最 新的随机数可在电子装置20被关闭前写入非易失性存储器150以更新NVM 种子SEEDNVM
图4为依据本发明一实施例的一电子装置40的示意图。如图4所示,电 子装置40可包含PUF池15、以及耦接至PUF池15的一基于PUF的真随机 数产生器400,其中基于PUF的真随机数产生器400可视为图1所示的基于 PUF的真随机数产生器100、图2与图3中任一者所示的基于PUF的真随机 数产生器200、以及一或多个额外电路的组合。具体来说,基于PUF的真随 机数产生器400可包含以上实施例所提及的混淆电路110、密码电路120、混 淆电路130、熵电路140以及非易失性存储器150,并且可另包含一测试电路 诸如一健康测试电路160、以及一多路选择器(multiplexer,MUX)170(在图 中标示为“MUX”以求简明)。在本实施例中,健康测试电路160耦接至熵 电路140,而多路选择器170耦接至熵电路140、非易失性存储器150以及健 康测试电路160。例如,健康测试电路160可用来测试动态熵种子SEEDDYN(或任意与熵电路140的运作相关的数据/信号)以产生一测试结果TEST, 尤其健康测试电路160是对动态熵种子SEEDDYN进行健康程度测试,而多路 选择器170可用来因应测试结果TEST从动态熵种子SEEDDYN与NVM种子 SEEDNVM选择其中一者,以供作为所述初步种子(例如SEEDPRE)被输出至 混淆电路110。
具体来说,当测试结果TEST指出熵电路140处在一健康状态时,多路 选择器170可选择动态熵种子SEEDDYN作为初步种子SEEDPRE,而当测试结 果TEST指出熵电路140处在一非健康状态时,多路选择器170可选择NVM 种子SEEDNVM作为初步种子SEEDPRE。例如,健康测试电路160能每隔一段 预定时间区间自熵电路140中的振荡器收集一次某个数量的随机单比特值以 作为一组数据。若健康测试电路160侦测到一组数据内的逻辑值“0”(或逻 辑值“1”)的覆盖率落在一预定范围内(例如自20%至80%),健康测试电路 160可输出带有第一逻辑状态(例如“0”)的测试结果TEST以指出熵电路 140是“健康的”,并且多路选择器170可选择动态熵种子SEEDDYN作为初步 种子SEEDPRE。若健康测试电路160侦测到一组数据内的逻辑值“0”(或逻 辑值“1”)的覆盖率并未落在所述预定范围内(例如大于一预定上限诸如80% 或低于一预定下限诸如20%),健康测试电路160可输出带有第二逻辑状态 (例如“1”)的测试结果TEST以指出熵电路140是“不健康的”,并且多路 选择器170可选择NVM种子SEEDNVM作为初步种子SEEDPRE。需注意的是, 与上述至少一测试相关的详细运作仅为了说明的目的,并非对本发明的限制, 例如NIST-800-22标准所定义的测试项目中的一或多者也能被采用于上述至 少一测试。
在某些情况下,熵电路140及非易失性存储器150中的任一者会有遭受 从电子装置40以外被骇/入侵(hack)或破坏的风险,从而导致安全性的问 题。由于混淆电路110具有两个来源以供取得初步种子SEEDPRE,若熵电路 140及非易失性存储器150的其中一者被骇/入侵或破坏,另一者能取而代 之以提供初步种子SEEDPRE。因此,基于PUF的真随机数产生器400的强韧 性与安全性能被提升。
在某些实施例中,健康测试电路160可被省略,而多路选择器170能因 应另一控制信号以从动态熵种子SEEDDYN与NVM种子SEEDNVM选择其中一 者,以供被输出为初步种子SEEDPRE,其中这个控制信号能从电子装置40的 外部取得。例如,通过控制这个控制信号的逻辑状态,使用者能手动的控制 多路选择器170从动态熵种子SEEDDYN与NVM种子SEEDNVM选择其中一者 以供被输出为初步种子SEEDPRE,而健康测试电路160可被省略,但本发明 不限于此。
图5为依据本发明一实施例的一电子装置50的示意图。如图5所示,电 子装置50可包含PUF池15、以及耦接至PUF池15的一基于PUF的真随机 数产生器500,其中基于PUF的真随机数产生器500可被视为图4所示的基 于PUF的真随机数产生器400的例子,而健康测试电路160并未绘示于图5 以求简明。具体来说,图5绘示了熵电路140的实施细节。在本实施例中, 熵电路140可包含一振荡器141、以及耦接至振荡器141的一收集电路诸如 选择性熵收集器(selective entropy collector)145,其中振荡器141可用来输 出一随机控制比特SEL(例如上述多个随机单比特值的每一者),而选择性熵 收集器145可因应随机控制比特SEL来决定是否借助于一反馈随机数RNFB来更新动态熵种子SEEDDYN。在图5的实施例中,反馈随机数RNFB是自最 终随机数序列{RNFINAL}取得,但本发明不限于此。在某些实施例中,反馈随 机数RNFB是自初步随机数序列{RNPRE}取得,但本发明不限于此。详细来说, 选择性熵收集器145可包含一第三混淆电路诸如互斥或逻辑电路142(在图 中标示为“XOR”以求简明)、耦接至振荡器141及互斥或逻辑电路142的一 多路选择器143(在图中标示为“MUX”以求简明)、以及耦接至多路选择器 143及互斥或逻辑电路142的一熵收集器144。例如,所述第三混淆电路诸如 互斥或逻辑电路142可用来基于反馈随机数RNFB对动态熵种子SEEDDYN进 行一第三混淆功能诸如一互斥或运作以产生一更新后熵种子,而多路选择器 143可用来因应随机控制比特SEL自更新前的熵种子(即来自熵收集器144 的输出的熵种子)与所述更新后熵种子选择其中一者,以输出一最新熵种子 (例如动态熵种子SEEDDYN的最新版本)。此外,熵收集器144可接收并输 出所述最新熵种子以作为动态熵种子SEEDDYN,以及动态熵种子SEEDDYN是 一反馈熵种子以被传送至多路选择器143以及互斥或逻辑电路142。因此, 互斥或逻辑电路142进行所述互斥或运作以产生所述更新后熵种子(其为动 态熵种子SEEDDYN与反馈随机数RNFB的互斥或结果),而多路选择器143可 依据随机控制比特SEL将所述更新后熵种子或更新前的动态熵种子SEEDDYN输出至熵收集器144,其中熵收集器144可通过触发器(flip-flop)实施,但 本发明不限于此。由于随机控制比特SEL是随机地在逻辑状态“0”与“1” 之间切换,因此更新动态熵种子SEEDDYN的运作能被随机地执行。例如,当 随机控制比特SEL为“0”,动态熵种子SEEDDYN不会改变;而当随机控制比 特SEL为“1”,动态熵种子SEEDDYN则会被更新。需注意的是,互斥或逻辑 电路142并非对第三混淆电路的实施方式作限制,其中能改变动态熵种子 SEEDDYN的任意逻辑电路均隶属于本发明的范畴。
在图5的实施例中,当多路选择器170选择NVM种子SEEDNVM且多路 选择器143选择所述更新后熵种子时,动态熵种子SEEDDYN能依据NVM种 子SEEDNVM被产生。详细来说,当多路选择器170选择NVM种子SEEDNVM作为初步种子SEEDPRE时,反馈随机数RNFB是依据初步种子SEEDPRE产生 (表示反馈随机数RNFB是依据NVM种子SEEDNVM产生),且互斥或逻辑电 路142依据反馈随机数RNFB产生所述互斥或结果。接着,多路选择器143 输出所述互斥或结果以作为所述更新后熵种子,而由于所述更新后熵种子是 依据NVM种子SEEDNVM产生,因此熵收集器144能依据NVM种子SEEDNVM产生动态熵种子SEEDDYN
另外,图5的实施例并非对本发明的限制。在某些实施例中,图1及图 4所示的熵电路140可通过不同的架构实施。例如,熵电路140可包含一振 荡器以及耦接至所述振荡器的一收集电路,其中所述振荡器可用来输出多个 随机单比特值,而所述收集电路可用来收集这些随机单比特值以产生动态熵 种子SEEDDYN(例如通过自这些随机单比特值拼接诸如依序地排列一预定数 量的随机单比特值以产生动态熵种子SEEDDYN),但本发明不限于此。
此外,最终随机数序列{RNFINAL}中的每一最终随机数较佳为仅传送至一 个客体。例如,基于PUF的真随机数产生器500可另包含耦接至混淆电路130 的一多路分配器(de-multiplexer,DEMUX)180(在图中标示为“DEMUX” 以求简明)。在本实施例中,最终随机数序列{RNFINAL}可具有三个可能路径, 包含一第一路径以用来提供一输出随机数至基于PUF的真随机数产生器500 的外部、一第二信号路径以用来更新NVM种子SEEDNVM、以及一第三信号路径以用来更新动态熵种子SEEDDYN,其中多路分配器180控制这些信号路 径在单一时间点仅有其中一者被致能(enabled)。因此,自最终随机数序列 {RNFINAL}取得的任何单一最终随机数不会被不同元件重复使用,因此可确保 基于PUF的真随机数产生器500的安全性。例如,最终随机数序列{RNFINAL} 于电子装置50上电后的第一个最终随机数可预设被写入非易失性存储器150 (例如所述第二信号路径于电子装置50上电后的第一个运作周期会被致能);接着,在存储于非易失性存储器150内的NVM种子SEEDNVM被更新 完成后,所述第二信号路径会被除能(disabled)而所述第三信号路径会被致 能;而只有当电子装置50内的另一元件请求一随机数时,所述第一信号路径 才会被致能。需注意的是,上述致能所述第一信号路径、所述第二信号路径 以及所述第三信号路径的排程只是为了说明的目的,并非对本发明的限制。
图6为据本发明一实施例的一种用于产生真随机数的方法的工作流程, 其中所述方法是可应用于(applicable to)一电子装置诸如图1至图5所示的 电子装置10、20、40及50。需注意的是,图6所示的工作流程仅为了说明 的目的,而并非对本发明的限制。只要不影响整体结果,一或多个步骤可在 图6所示的工作流程中被新增、删除或修改,而且这些步骤也并非必须完全 依照图6所示的顺序执行。
在步骤610中,混淆电路110自PUF池15取得一第一PUF值(例如 PUF1)。
在步骤620中,混淆电路110基于所述第一PUF值(例如PUF1)对一 初步种子(例如SEEDPRE)进行一第一混淆功能以产生一最终种子(例如 SEEDFINAL)。
在步骤630,密码电路120利用所述最终种子(例如SEEDFINAL)作为一 密码功能的一金钥以产生一初步随机数序列(例如{RNPRE})。
在步骤640,混淆电路130自PUF池15取得一第二PUF值(例如PUF2)。
在步骤650,混淆电路130基于所述第二PUF值(例如PUF2)对所述初 步随机数序列(例如{RNPRE})进行一第二混淆功能(例如互斥或)以产生一 最终随机数序列(例如{RNFINAL})。
本发明的基于PUF的真随机数产生器以及相关方法能搭配密码功能、动 态熵及静态熵的特性来控制相关运作。另外,本发明能在不降低随机性与安 全性的情况下减少PUF池的尺寸需求。因此,本发明能在没有副作用或较不 会带来副作用的情况下改善基于PUF的真随机数产生器的整体效能。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本 领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。

Claims (20)

1.一种用于一电子装置的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器包含:
一第一混淆电路,用以自所述电子装置的一物理不可复制功能池取得一第一物理不可复制功能值,并且基于所述第一物理不可复制功能值对一初步种子进行一第一混淆功能以产生一最终种子;
一密码电路,耦接至所述第一混淆电路,用以利用所述最终种子作为一密码功能的一金钥以产生一初步随机数序列;以及
一第二混淆电路,耦接至所述密码电路,用以自所述物理不可复制功能池取得一第二物理不可复制功能值,并且基于所述第二物理不可复制功能值对所述初步随机数序列进行一第二混淆功能以产生一最终随机数序列。
2.如权利要求1所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述第一混淆电路将所述初步种子与所述第一物理不可复制功能值进行拼接以产生所述最终种子。
3.如权利要求1所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器另包含一熵电路以提供所述初步种子,以及所述熵电路包含:
一振荡器,用以输出多个随机单比特值;以及
一收集电路,用以收集所述多个随机单比特值以产生所述初步种子。
4.如权利要求1所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器另包含一非易失性存储器以提供所述初步种子,其中一反馈随机数于一或多个预定时间点被写入所述非易失性存储器,以更新存储于所述非易失性存储器内的所述初步种子,以及所述反馈随机数是自所述初步随机数序列或所述最终随机数序列取得。
5.如权利要求1所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器另包含:
一熵电路,用以提供一熵种子;
一非易失性存储器,用以提供一非易失性存储器种子,其中一反馈随机数于一或多个预定时间点被写入所述非易失性存储器中,以更新存储于所述非易失性存储器内的所述非易失性存储器种子,以及所述反馈随机数是自所述初步随机数序列或所述最终随机数序列取得;
一测试电路,耦接至所述熵电路,用以测试所述熵种子以产生一测试结果;以及
一多路选择器,耦接至所述熵电路、所述非易失性存储器以及所述测试电路,用以因应所述测试结果以自所述熵种子与所述非易失性存储器种子选择其中一者,以供输出为所述初步种子。
6.如权利要求5所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述测试电路是对所述熵种子进行健康程度测试,当所述测试结果指出所述熵电路处在一健康状态时,所述多路选择器选择所述熵种子以作为所述初步种子,以及当所述测试结果指出所述熵电路处在一非健康状态时,所述多路选择器选择所述非易失性存储器种子作为所述初步种子。
7.如权利要求1所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器另包含一熵电路以提供一熵种子,以及所述熵电路包含:
一振荡器,用以输出一随机控制比特;以及
一收集电路,耦接至所述振荡器,其中所述收集电路因应所述随机控制比特以决定是否借助于一反馈随机数来更新所述熵种子,以及所述反馈随机数是自所述初步随机数序列或所述最终随机数序列取得。
8.如权利要求7所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述收集电路包含:
一第三混淆电路,用以基于所述反馈随机数对所述熵种子进行一第三混淆功能以产生一更新后熵种子;以及
一第一多路选择器,耦接至所述振荡器,用以因应所述随机控制比特以自更新前的所述熵种子与所述更新后熵种子选择其中一者,以输出一最新熵种子。
9.如权利要求8所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器另包含:
一非易失性存储器,用以提供一非易失性存储器种子,其中所述反馈随机数于一或多个预定时间点被写入所述非易失性存储器中,以更新存储于所述非易失性存储器中的所述非易失性存储器种子;以及
一第二多路选择器,耦接至所述非易失性存储器以及所述收集电路,用以自所述非易失性存储器种子与所述熵种子选择其中一者以作为所述初步种子;
其中当所述第二多路选择器选择所述非易失性存储器种子时,所述反馈随机数是基于所述非易失性存储器种子来产生,而所述更新后熵种子是基于所述反馈随机数来产生。
10.如权利要求1所述的基于物理不可复制功能的真随机数产生器,其特征在于,所述基于物理不可复制功能的真随机数产生器另包含一熵电路以用以提供所述初步种子,以及所述熵电路至少包含:
一振荡器,用以输出多个随机单比特值,其中所述振荡器产生一周期性信号,所述周期性信号是在一振荡频率下于一第一逻辑值与一第二逻辑值之间变动,以及所述周期性信号是在一取样频率下被取样,以使得所述第一逻辑值与所述第二逻辑值随机地出现在所述多个随机单比特值中;
其中所述取样频率异于所述振荡频率。
11.一种用于产生真随机数的方法,其特征在于,可应用于一电子装置,包含:
利用一第一混淆电路基于一第一物理不可复制功能值对一初步种子进行一第一混淆功能以产生一最终种子;
利用一密码电路将所述最终种子当作一密码功能的一金钥以产生一初步随机数序列;以及
利用一第二混淆电路基于一第二物理不可复制功能值对所述初步随机数序列进行一第二混淆功能以产生一最终随机数序列;
其中所述第一物理不可复制功能值以及所述第二物理不可复制功能值是自所述电子装置的一物理不可复制功能池取得。
12.如权利要求11所述的方法,其特征在于,利用所述第一混淆电路基于所述第一物理不可复制功能值对所述初步种子进行所述第一混淆功能以产生所述最终种子包含:
利用所述第一混淆电路将所述初步种子与所述第一物理不可复制功能值进行拼接以产生所述最终种子。
13.如权利要求11所述的方法,其特征在于,另包含:
产生多个随机单比特值;以及
依据所述多个随机单比特值取得所述初步种子。
14.如权利要求11所述的方法,其特征在于,另包含:
自一非易失性存储器取得所述初步种子,其中一反馈随机数于一或多个预定时间点被写入所述非易失性存储器,以更新存储于所述非易失性存储器内的所述初步种子,以及所述反馈随机数是自所述初步随机数序列或所述最终随机数序列取得。
15.如权利要求11所述的方法,其特征在于,另包含:
自一熵电路取得一熵种子;
自一非易失性存储器取得一非易失性存储器种子,其中一反馈随机数于一或多个预定时间点被写入所述非易失性存储器中,以更新存储于所述非易失性存储器内的所述非易失性存储器种子,以及所述反馈随机数是自所述初步随机数序列或所述最终随机数序列取得;
利用一测试电路测试所述熵种子以产生一测试结果;以及
利用一多路选择器因应所述测试结果以自所述熵种子与所述非易失性存储器种子选择其中一者,以供输出为所述初步种子。
16.如权利要求15所述的方法,其特征在于,所述测试电路是对所述熵种子进行健康程度测试,自所述熵种子与所述非易失性存储器种子选择其中一者的步骤包含:
当所述测试结果指出所述熵电路处在一健康状态时,选择所述熵种子以作为所述初步种子;以及
当所述测试结果指出所述熵电路处在一非健康状态时,选择所述非易失性存储器种子作为所述初步种子。
17.如权利要求11所述的方法,其特征在于,另包含:
产生一随机控制比特;以及
因应所述随机控制比特以决定是否借助于一反馈随机数来更新一熵种子,其中所述反馈随机数是自所述初步随机数序列或所述最终随机数序列取得。
18.如权利要求17所述的方法,其特征在于,因应所述随机控制比特以决定是否借助于所述反馈随机数来更新所述熵种子的步骤包含:
基于所述反馈随机数对所述熵种子进行一第三混淆功能以产生一更新后熵种子;以及
因应所述随机控制比特以自更新前的所述熵种子与所述更新后熵种子选择其中一者,以输出一最新熵种子。
19.如权利要求18所述的方法,其特征在于,另包含:
自一非易失性存储器取得一非易失性存储器种子,其中所述反馈随机数于一或多个预定时间点被写入所述非易失性存储器中,以更新存储于所述非易失性存储器中的所述非易失性存储器种子;以及
自所述非易失性存储器种子与所述熵种子选择其中一者以作为所述初步种子;
其中当所述非易失性存储器种子被选择时,所述反馈随机数是基于所述非易失性存储器种子来产生,而所述更新后熵种子是基于所述反馈随机数来产生。
20.如权利要求17所述的方法,其特征在于,产生所述随机控制比特的步骤包含:
利用一振荡器产生一周期性信号,所述周期性信号是在一振荡频率下于一第一逻辑值与一第二逻辑值之间变动;以及
在一取样频率下对所述周期性信号进行取样,以使得所述第一逻辑值与所述第二逻辑值随机地出现在所述振荡器输出的多个随机单比特值中以产生所述随机控制比特;
其中所述取样频率异于所述振荡频率。
CN202110578028.3A 2020-06-04 2021-05-26 基于物理不可复制功能的真随机数产生器以及相关方法 Active CN113760221B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063034410P 2020-06-04 2020-06-04
US63/034,410 2020-06-04
US17/211,799 2021-03-24
US17/211,799 US11487505B2 (en) 2020-06-04 2021-03-24 Physical unclonable function based true random number generator, method for generating true random numbers, and associated electronic device

Publications (2)

Publication Number Publication Date
CN113760221A CN113760221A (zh) 2021-12-07
CN113760221B true CN113760221B (zh) 2024-02-23

Family

ID=78787220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110578028.3A Active CN113760221B (zh) 2020-06-04 2021-05-26 基于物理不可复制功能的真随机数产生器以及相关方法

Country Status (2)

Country Link
CN (1) CN113760221B (zh)
TW (1) TWI782540B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664234A (zh) * 2018-01-17 2018-10-16 北京智芯微电子科技有限公司 真随机数发生器
EP3557407A1 (en) * 2018-04-18 2019-10-23 eMemory Technology Inc. Puf-based true random number generation system
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079281A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
US9495544B2 (en) * 2013-06-27 2016-11-15 Visa International Service Association Secure data transmission and verification with untrusted computing devices
CN106020771B (zh) * 2016-05-31 2018-07-20 东南大学 一种基于puf的伪随机序列发生器
EP3407336B1 (en) * 2017-05-22 2022-08-17 Macronix International Co., Ltd. Unchangeable phyisical unclonable function in non-volatile memory
EP3407335B1 (en) * 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习
CN108664234A (zh) * 2018-01-17 2018-10-16 北京智芯微电子科技有限公司 真随机数发生器
EP3557407A1 (en) * 2018-04-18 2019-10-23 eMemory Technology Inc. Puf-based true random number generation system
CN110389747A (zh) * 2018-04-18 2019-10-29 力旺电子股份有限公司 具有物理不可复制功能的真随机数生成系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于线性反馈的多模混合可重构PUF电路设计;栾志存;张跃军;王佳伟;潘钊;;电子技术应用(第11期);全文 *

Also Published As

Publication number Publication date
TW202147097A (zh) 2021-12-16
CN113760221A (zh) 2021-12-07
TWI782540B (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
JP5248328B2 (ja) 信号発生器をベースとした装置セキュリティ
Delvaux et al. Helper data algorithms for PUF-based key generation: Overview and analysis
CN112286493B (zh) 随机数生成器及生成随机数输出的方法
KR101727130B1 (ko) 암호화 키를 획득하기 위한 디바이스 및 방법
CA2914785C (en) System and methods for encrypting data
US11487505B2 (en) Physical unclonable function based true random number generator, method for generating true random numbers, and associated electronic device
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
EP3234857A1 (en) Reliability enhancement methods for physically unclonable function bitstring generation
JP5863994B2 (ja) 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
Chen et al. FPGA implementation of SRAM PUFs based cryptographically secure pseudo-random number generator
Nassar et al. CaPUF: Cascaded PUF structure for machine learning resiliency
JP6187462B2 (ja) ユニバーサルハッシュ関数演算装置、方法およびプログラム
Shariffuddin et al. Review on arbiter physical unclonable function and its implementation in FPGA for IoT security applications
Liu et al. A novel security key generation method for SRAM PUF based on Fourier analysis
CN113760221B (zh) 基于物理不可复制功能的真随机数产生器以及相关方法
US11886623B2 (en) Integrated communication security
JP2000242470A (ja) 乱数生成装置および方法および記録媒体
Zhao et al. A Lightweight Hardware-Assisted Security Method for eFPGA Edge Devices
KR101925787B1 (ko) 폰 노이만 후처리시 난수 출력 신호의 연속성을 확보하기 위한 방법 및 장치
Streit et al. Design and evaluation of a tunable PUF architecture for FPGAs
Anchana et al. Design of PUF based chaotic random number generator
Garipcan et al. FPGA modeling of a novel fully-synthesizable and secure TRNG based on key-dependent s-box
Yu et al. On designing PUF-based TRNGs with known answer tests
CN112202548A (zh) 流加密密钥流生成方法、装置、电路和加密方法
Yu et al. Malicious attacks on physical unclonable function sensors of internet of things

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