CN102783028A - 比特列生成装置以及比特列生成方法 - Google Patents
比特列生成装置以及比特列生成方法 Download PDFInfo
- Publication number
- CN102783028A CN102783028A CN2010800613640A CN201080061364A CN102783028A CN 102783028 A CN102783028 A CN 102783028A CN 2010800613640 A CN2010800613640 A CN 2010800613640A CN 201080061364 A CN201080061364 A CN 201080061364A CN 102783028 A CN102783028 A CN 102783028A
- Authority
- CN
- China
- Prior art keywords
- bit
- signal
- narrow pulse
- data
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manipulation Of Pulses (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
比特列生成装置(200)具备:狭脉冲发生电路(205),发生狭脉冲;采样电路(220),对由狭脉冲发生电路(205)发生的狭脉冲波形进行采样;以及狭脉冲形状判定电路(211),根据由采样电路(220)采样的狭脉冲波形,生成表示1和0中的某一个的1比特数据,生成由所生成的多个1比特数据构成的比特列。通过比特列生成装置(200),能够提供即使是配置布线的自由度低的器件,也能够生成随机性高的秘密信息,并且不违反设计规则的PUF电路。
Description
技术领域
本发明涉及执行认证处理、加密处理等的保密装置。例如,根据对装置固有的物理量生成在密码处理中用的秘密信息、为了认证装置而所需的装置固有的标识符的装置。
背景技术
近年来,随着以便携电话为代表的嵌入设备的网络化,为了在嵌入设备中处理的数据的隐匿、数据完全性的保持以及嵌入设备自身的认证,嵌入设备进行与信息保密相关的处理的必要性变高。通过加密算法、认证算法实现与这些信息保密相关的处理。
此处,在执行上述算法时,其大前提在于,各嵌入设备“安全地”保持唯一的秘密信息、设备固有的标识符(以下将这些信息称为“密钥信息”)。该“安全地”的意思是指,对于能够合法地利用该设备的用户以外,难以进行密钥信息的读取、篡改。
作为用于安全地保持密钥信息的手段,有如下保护方法:搭载各种传感器(光传感器、电压传感器、频率检测器),并使用了通过物理性的保护膜(由金属盒、树脂构成的模(mold))防止来自外部的非法访问的框体、保密芯片等防篡改机构。这些保护方法是以保护在装置内作为数字数据非易失性地存在的密钥信息为前提的手段。
另一方面,作为通过与上述手段不同的方案安全地保持密钥信息的方法,有被称为PUF(Physical Unclonable Function,物理不可复制功能)的技术。PUF的重要的特征点在于,在装置内未作为非易失性的数字数据而保持密钥信息。对于PUF的实施方式,存在几个,以下,以专利文献1公开的通用性高的“以信号发生器为基础的装置保密”为代表例,说明以往技术。
图19示出专利文献1中的PUF的实施方式。比特生成器100包括具有N个环形振荡器102(R0~RN)的环形振荡器群101、和选择电路104以及频率比较器107。
比特生成器100将各环形振荡器102的频率特性作为密钥信息的信息源。环形振荡器的输出信号103以由构成各环形振荡器的反馈电路的延迟特性确定的频率振荡。选择电路104从N个环形振荡器的输出信号103根据选择信号105(I,J)的值成对地输出2个信号106(Si、Sj)。接下来,通过频率比较器107比较Si、Sj的振荡频率,频率比较器107输出比较结果108。此处,如果将Si以及Sj的振荡频率分别记载为Fi、Fj,作为例子,可以举出将其差分值Fi-Fj作为比较结果108的方法。最后,比特生成器100输出比较结果108和表示比较结果108的正负的应答比特值109。
在上述专利文献1的实施例中,环形振荡器的振荡频率根据器件的延迟特性的偏差而不同,所以即使根据同一设计信息制造了比特生成器100,也根据个体而输出不同的应答比特值。因此,在专利文献1中,主张了能够将上述应答比特值用作各器件的标识符,未将上述标识符保存为非易失性的数字数据,而每当使比特生成器动作时生成,所以具有比以往高的防篡改性。
专利文献1:日本特表2009-524998号公报
非专利文献1:Altera,“Design Guidelines for HardCopy SeriesDevices”,2008
非专利文献2:Altera,“Design Recommendations for AlteraDevices and the Quartus II Design Assistant”,2009
发明内容
为了利用在专利文献1中记载的环形振荡器实现PUF,存在2个课题。
其一涉及实际安装时的配置布线制约和上述应答比特值的安全性。在专利文献1中,记载了全部通过相同的设计(使用了5个逆变器的环形电路)构成环形振荡器。但是,在FPGA()那样的配置布线的自由度低的器件中,即使是通过同一设计形成的环形振荡器,频率有时也根据配置布线而大幅不同。在该情况下,相比于由于器件的个体差而发生的差,有时由于配置布线而不同的差有时变得更支配。作为其结果,在选择了由于配置布线而在振荡频率中存在大的差的环形振荡器的对的情况下,不依赖于器件而始终输出相同的应答比特值。在包含大量的这样的比特值的情况下,应答比特值的随机性变低,所以在安全性上成为问题。作为该问题的解决对策,考虑以使N个环形振荡器的振荡频率不会大幅变化的方式手动进行配置布线的方法,但在N大的情况下非常困难。或者,还考虑通过增大预先实际安装的环形振荡器的数量并进行自动配置布线,仅使用振荡频率偶然地接近的环形振荡器的对来生成应答比特,但在该情况下,难以对N的大小进行设计保证,并且环形振荡器和选择电路的电路规模增大。
第2个课题在于,环形振荡器那样的组合环形电路成为在FPGA(Field Programmable Gate Array,现场可编程门阵列)等器件中在设计规则上不建议的结构。例如,在非专利文献1中,指出根据设计构成环形振荡器的逆变器的输入输出成为中间电位状态,而存在不振荡的可能性。一般,在中间电位状态下,存在贯通电流稳定地流过的可能性,存在对器件的可靠性有损害的危险性。同样地,在非专利文献2中,也记载了不建议组合环形电路的意思。
本发明是鉴于以上那样的技术性的课题而完成的,其目的在于提供一种PUF电路,即使是配置布线的自由度低的器件,也能够生成随机性高的秘密信息,并且也不会违反设计规则。
本发明的一种比特列生成装置,其特征在于,具备:
狭脉冲发生部,发生狭脉冲;
狭脉冲波形取得部,取得由所述狭脉冲发生部发生的所述狭脉冲的波形;
比特数据生成部,根据由所述狭脉冲波形取得部取得的所述狭脉冲的波形,生成表示1和0中的某一个的1比特数据;以及
比特列生成部,生成由通过所述比特数据生成部生成的多个所述1比特数据构成的比特列。
根据本发明,能够提供即使是配置布线的自由度低的器件,也能够生成随机性高的秘密信息,并且不违反设计规则的PUF电路。
具体实施方式
图1是实施方式1中的、比特列生成装置200向系统LSI的搭载例。
图2是实施方式1中的、同一逻辑电路具有不同的延迟信息时可引起的电路的举动的例子。
图3是实施方式1中的、采样电路220的结构。
图4是示出实施方式1中的、采样结果的期待值、和可发生的采样结果的图。
图5是实施方式1中的、使用抖动校正处理来进行了狭脉冲(glitch)捕捉处理的情况的捕捉结果。
图6是实施方式1中的、未进行抖动校正处理的情况的捕捉结果。
图7是实施方式1中的、捕捉的狭脉冲图案的例子。
图8是实施方式1中的、比特列生成装置200的电路结构。
图9是实施方式1中的、狭脉冲发生电路205的结构例。
图10是实施方式1中的、组合了利用传送路径的延迟电路和利用LUT的延迟电路的延迟电路的结构例。
图11是实施方式1中的、各参数的关系。
图12是实施方式1中的、比特列生成装置200的实际安装评价结果。
图13是实施方式1中的、被用作传令信号用延迟电路206、采样用延迟电路209的延迟电路的内部结构例。
图14是实施方式1中的、可变延迟电路207的内部结构例。
图15是示出实施方式1中的、比特列生成装置200的动作的流程图。
图16是示出实施方式1中的、由比特列生成装置200进行的抖动校正处理的动作的流程图。
图17是实施方式1中的、由采样电路220对传令信号(h)进行采样的采样状态。
图18是实施方式1中的、由采样用寄存器群210锁存的数据。
图19是示出以往技术的图。
(符号说明)
100:比特生成器;101:环形振荡器群;102:环形振荡器;103:输出信号;104:选择电路;105:选择信号;106:信号;107:频率比较器;108:比较结果;109:应答比特值;200:比特列生成装置;202:数据总线;203:控制寄存器群;204:数据寄存器群;205:狭脉冲发生电路;206:传令信号用延迟电路;207:可变延迟电路;208:选择器;209:采样用延迟电路;210:采样用寄存器群;211:狭脉冲形状判定电路;220:采样电路;300:纠错电路;400:密码处理电路;500:CPU;600:内部存储器;700:外部I/F;1000:系统LSI。
具体实施方式
实施方式1.
参照图1~图18,说明实施方式1的比特列生成装置200。实施方式1的比特列生成装置200是利用狭脉冲形状来构成PUF的方法。
图1是示出将比特列生成装置200搭载于系统LSI(Large ScaleIntegration,大规模集成电路)1000的例子的图。是在具备CPU(CentralProcessing Unit,中央处理单元)500、内部存储器600、外部接700等的一般结构的系统LSI中,搭载了比特列生成装置200、和纠错电路300(纠错部)、和密码处理电路400的例子。如以下说明,比特列生成装置200根据所发生的狭脉冲生成作为比特列的密钥信息。该密钥信息是狭脉冲PUF。由比特列生成装置200生成的数据(比特列)被用作例如在通过密码处理电路400进行的密码处理等信息保密处理中必要的密钥信息。对于针对比特列生成装置200的控制,也可以设为能够从CPU500进行控制。
以下,首先,在“1.1基本构思”~“3.1实际安装评价结果”中说明比特列生成装置200(后述狭脉冲PUF)的概要之后,进一步详细说明比特列生成装置200的结构以及动作。
(1.1基本构思)
在逻辑电路的上游设计中,考虑输入器件固有的特征量,对与其特征对应的器件的举动进行仿真。该仿真的目的在于,评价实际安装的PUF根据器件的个体差而具有何种程度的信息量,并且,构筑即使未大量地评价所制造的LSI,也能够评价其信息量(特别是其下限)的环境。如上所述,最适合于上游设计的仿真的特征量是延迟信息。如果是各器件具有的延迟信息的个体差与PUF的响应的差异直接相关那样的电路结构,则存在能够在现状的逻辑电路设计流程的范围内评价PUF的信息量的可能性。此处,考虑在某同一逻辑电路具有不同的延迟信息时可引起的电路的举动的差异。
图2示出在同一逻辑电路具有不同的延迟信息时可引起的电路的举动的例子。例如如图2(a)那样,考虑对多个输入进行AND、XOR等逻辑运算的电路。在这样的电路中,只要某特殊的条件不成立,则根据各信号的延迟差,而发生被称为“狭脉冲”的信号的过渡迁移。在图2的例子中,在输入信号x1、x2、x3全部从0变化为1的情况下,在XOR门的输出中,由于在输入信号x1、x2的信号变化中存在差而发生凸状的狭脉冲。如果如图2(b)那样,输入信号x3的变化比该狭脉冲更早地到达AND门,则狭脉冲传播到AND门的输出。相逆地,如果如图2(c)那样,输入信号x3晚,则狭脉冲不会传播到AND门输出,而输出不变化。进而,还存在即使在x3的到达时刻早的情况下,在狭脉冲的宽度短的情况下,信号变化也不会传播到输出的情形。此处,只要限定于具有充分的宽度的狭脉冲波形,则该狭脉冲波形的形状不依赖于各门的延迟的绝对量,而取决于信号之间的延迟值的相对关系。即,对于狭脉冲形状,能够期待即使动作环境变化其形状也被保持。
发明者着眼于根据构成逻辑电路的各门的输入信号之间的延迟关系而能够取各种形状的狭脉冲,考虑了应用于PUF的结构的方法。以下,将该构成方法有时称为“狭脉冲PUF”。
(1.2狭脉冲形状的捕捉)
如上所述,发明者尝试使用根据延迟的偏差而能够取各种形状的狭脉冲来构成PUF。此处成为问题的点在于,如何正确地捕捉狭脉冲那样的在微小时间中发生的脉冲信号的形状。对于该点,需要通过数字电路实现该捕捉处理。
(相移方法)
作为该问题的一般的解决方法,考虑通过相移法对狭脉冲波形进行采样的方法。使用多个相位偏移了的时钟信号,使用这些时钟对微小脉冲进行采样。进而,为了提高采样精度,需要准备尽可能多的相位不同的时钟。在该情况下,时钟线的数量变得过多,所以该方式不现实。特别是,在FPGA中,抖动少的全局时钟线的根数被限于几根至几十根。虽然还考虑通过再生成狭脉冲波形,并对采样处理进行时分处理来减少时钟线的根数的方法,但根据分割数,抽出速度降低。
因此,发明者采用了使采样对象的数据偏移微小时间,并通过同一时钟进行采样的处理方式。
图3示出使用了该方式的采样电路220的结构。以下,将该采样处理称为“狭脉冲捕捉处理”(还称为狭脉冲形状取得处理)。在该采样方式中,为了正确的形状捕捉,需要缩短采样间隔。因此,需要通过减少输入到图3中的各触发器(寄存器R1~Rn)的信号之间插入的缓冲器的级数(B1~Bn)、或者使用延迟值更小的元件,而尽可能减小输入到触发器(以下,记载为FF)的信号之间的延迟差。但是,如果信号之间的延迟差变得越小,由于FF间的时钟抖动、布线延迟以及门延迟的偏差等影响,如图4那样,FF的采样位置和延迟的顺序关系变得不一致。因此,在所采样的数据的时刻顺序关系中,发生改变。即,可以预想无法正确地复原狭脉冲的形状。另外,在针对上述时钟的相移中也同样地发生该问题。
图4是示出“实际的狭脉冲波形和采样结果的期待值”(图4(a))和“由于顺序校正的误差而发生的采样结果”(图4(b))的图。即,可以预想如图4(b)那样,在所采样的数据的时刻顺序关系中发生改变,而无法正确地复原狭脉冲的形状。
(抖动校正处理)
此处,发明者在进行狭脉冲捕捉处理之前,进行以下所示的“预处理”。通过进行“预处理”来确定采样结果的时刻顺序关系。以下,将该“预处理”称为“抖动校正处理”(后述S701)。以下,说明“抖动校正处理”的概要。
(1)首先,与发生狭脉冲的信号独立地,准备发生单纯的上升沿信号的信号线。以下,将该信号称为传令信号(后述传令信号(h))。
(2)接下来,将传令信号输入到图3的采样电路220,进行采样。在该情况下,在采样电路220的各FF(R1~Rn)中,将传令信号的到达比时钟的上升沿早的部分锁存为1,将比时钟的上升沿晚的部分锁存为0。在时钟线中设置了使延迟值可变的延迟电路(后述可变延迟电路207)的状态下变更延迟值的同时,进行多次该处理,并针对每个FF,对锁存1的次数进行计数。
(3)最后,通过该次数的大小,计算各FF采样的时刻的顺序关系。通过使用该顺序关系,对狭脉冲波形的采样结果进行重排,而复原狭脉冲形状。
使用“抖动校正处理”的结果,对狭脉冲捕捉处理的结果进行重排。将该重排处理称为“排序处理”(后述S708)。
图5示出使用抖动校正处理进行了狭脉冲捕捉处理的情况的捕捉结果。
图6示出未进行抖动校正处理的情况的捕捉结果。
(1.3狭脉冲形状向比特值的变换)
将通过上述采样方法捕捉为数字数据的狭脉冲形状变换为1比特的值。此处,叙述将狭脉冲形状具有的上升沿边缘的偶奇性变换为比特值的方法。能够通过以硬件或者软件的方式实际安装微分处理和加法处理,来检测上升沿边缘的偶奇判定。将该处理称为“形状判定处理”(后述S709)。
另一方面,即使进行上述那样的预处理(抖动校正处理),也难以完全校正FF间的时间顺序关系。如果通过预处理计算出的FF间的顺序关系与实际的电路的举动不同,则捕捉到如图4(b)所示那样的、外观上在狭脉冲波形的边缘附近连续发生脉冲宽度短的狭脉冲。这样的现象是在FF间的时间顺序关系接近的情况下发生的不稳定的动作,所以导致每当捕捉狭脉冲时,边缘检测的结果不同。另外,即使在实际发生的狭脉冲的脉冲宽度极端窄的情况下,也可能发生同样的现象。
(滤波处理)
此处,发明者进行在判定边缘的偶奇性之前图7所示那样的所捕捉到的狭脉冲形状的脉冲宽度是阈值w以下的情况下,忽略该脉冲的处理。以下,将该处理简称为“滤波处理”。
图7示出3个捕捉了的狭脉冲图案的例子。
(1.4差错率的改善)
为了改善形状判定处理的结果的差错率,发挥能够反复执行相同的处理的特征,对由于相同的输入寄存器的状态变化而发生的狭脉冲反复进行形状判定,通过多数决处理(majority process)确定最终的输出。
特别,在“初始密钥生成时”,为了生成密钥,仅利用针对M次的反复处理其输出全部相同的输入。“初始密钥生成时”是指,在搭载了比特列生成装置200的系统LSI1000中,由比特列生成装置200最初生成密钥信息(比特列)的时候。例如,是在工厂出厂时,在该LSI中,最初生成密钥信息那样的情况。在该情况下,对N个状态变化分别进行M次的判定处理,生成N比特的响应,但同时生成N比特的掩码值。掩码值为1的比特表示用于密钥生成的比特,0的比特表示未用于密钥生成。将掩码值作为Helper Data(辅助数据)的一部分而输出到外部。对于该“差错率的改善”,在作为“图15的i,j”而后述的说明以后,详细说明。
另外,在进行掩码处理的情况下,相比于不进行掩码处理的情况,信息量降低。但是,狭脉冲PUF具有如下特征:具有高的差错率的比特位置依赖于个体,并且其比特量少,所以在减轻纠错符号的修正能力时,密钥生成的实际安装率提高。
(2.1狭脉冲PUF的结构)
图8示出执行狭脉冲PUF的比特列生成装置200的电路结构。比特列生成装置200主要包括控制寄存器群203、数据寄存器群204、狭脉冲发生电路205、采样电路220以及2种延迟电路(传令信号用延迟电路206、可变延迟电路207)。
(1)控制寄存器群203保存以下所示的控制用的参数。
控制信号Sel(1):狭脉冲发生电路的选择信号(logu比特)、
控制信号sel(2):采样电路的输入选择信号(1比特)、
传令信号(h):(1比特)、
控制信号(D):可变延迟电路的延迟值指定信号(q+q’比特)、
控制信号(p):触发信号(1比特)、
(2)数据寄存器群204保存对狭脉冲发生电路205输入的数据X(u比特)。
(3)图9示出狭脉冲发生电路205的结构。狭脉冲发生电路205如图9所示,包括对输入数据X执行确定的逻辑运算Y=f(X)的组合电路(随机逻辑部2051)、和从v比特的Y通过选择信号Sel(1)选择1比特并输出1比特的v-1选择器2052。
(4)传令信号用延迟电路206例如由缓冲器链构成,输出作为传令信号(h)的延迟信号hd的DLY(h)。在设计时,通过仿真,评价由狭脉冲发生电路205生成的狭脉冲信号的发生定时,来确定缓冲器链的级数。在后面详细叙述。
(5)采样电路220包括图3所示那样的缓冲器链(采样用延迟电路209)和FF(采样用寄存器群210)。另外,在假设了在FPGA中实际安装狭脉冲PUF的情况下,对于在采样电路220中使用的缓冲器链来讲,相比于在Look-up Table(LUT)(查找表)中实际安装缓冲器,使用了算术加法电路用的传送路径时,能够提高采样的分辨率。另外,关于可变延迟电路207,也为了细化可变更的延迟值的刻度,而使用传送路径。但是,需要使可变延迟电路207的可变范围取得宽于采样范围,所以如果全部用传送路径来实际安装,则电路规模增大。因此,通过如图10所示,组合利用传送路径的延迟电路和利用LUT的延迟电路,能够不降低分辨率而确保宽的工作范围。
图10示出组合了利用传送路径的延迟电路和利用LUT的延迟电路的延迟电路的结构。
在实施方式1中处理的狭脉冲PUF中,为了观测所生成的狭脉冲的举动,直至采样(采样电路220)通过硬件进行,其以后的处理通过固件实际安装。
(2.2设计参数的调整)
为了高效地实现狭脉冲的形状捕捉,需要在设计阶段调整各电路的参数。应调整的参数如以下所述。
n:采样电路220的FF数、
delays:在采样电路220的信号之间插入的缓冲器的延迟值、
ranges:采样电路220的采样范围、
rangeg:狭脉冲发生电路205的狭脉冲发生范围、
rangeCLK:可变延迟电路207的可变范围、
tg:狭脉冲发生范围的中央值的时刻、
th:传令信号(h)的延迟信号hd(DLY(h))的上升沿时刻。
为了捕捉狭脉冲形状,需要成为
rangeg<ranges<rangeCLK
以下,叙述用于使该关系成立的设计步骤。
(1)首先,在确定了狭脉冲发生电路205的逻辑的阶段,进行带延迟信息的逻辑仿真,估计在采样电路220的输入中发生狭脉冲的时间范围rangeg和发生定时tg。
(2)接下来,确定满足下式的“n”以及“delays”。
rangeg<ranges
此时,通过在实际安装对象的平台中将delays尽可能变小那样的单元用作缓冲器,能够提高采样的分辨率。因此,实际上确定的是n。在实施方式1的实际安装中,作为设计余量,以成为rangeg的倍以上的方式,设定了ranges。另外,对于rangeCLK,也同样地,以ranges的倍为目标而设定了可变延迟电路的缓冲器级数。
(3)接下来,确定传令信号用延迟电路的缓冲器级数。此时,使用上述估计结果tg,以成为的方式,设计延迟电路的延迟值。对传令信号进行定时调整的理由在于,为了计算采样结果的时刻顺序关系而利用,并同时用于确定在进行狭脉冲的形状捕捉时使用的可变延迟电路的延迟值指定信号的值Dg。
以下,说明其方法。
在计算采样结果的时刻顺序关系时,针对传令信号,使D从最小值向最大值递增的同时变化而进行采样。此时,将采样结果的中心附近的FF最初锁存1的D的值设为Dg。狭脉冲发生范围被调整为成为与传令信号的延迟相同的程度,所以能够在采样范围的中央附近对狭脉冲波形进行采样。但是,一般难以正确地调整信号之间的延迟,所以对于ranges、rangeCLK,需要取上述倍的一半那样的范围来设定。
(3.1实际安装评价结果)
以下,示出所试制的狭脉冲PUF(比特列生成装置200)的电路性能。
图12示出实际安装评价结果。使用AVNET公司的Spartan-3A评价板来进行了试制。目标器件是XC3S400A-4FT256。另外,使用在同一FPGA上实际安装的MicroBlaze,通过固件处理,执行在上述形状捕捉处理以后进行的处理。作为狭脉冲发生电路205,根据逻辑的复杂性且对于密码硬件设计者公知电路构造,所以使用了AES的SubBytes电路。另外,采样电路220的FF数是256个,可变延迟电路207是256比特的加法电路,通过4-1选择器选择LUT的级数是4、8、12、16级的缓冲器链。
以上,说明了比特列生成装置200的概要。接下来,以下说明比特列生成装置200的详细结构以及动作。
参照图8,说明生成用作密钥信息的比特列的比特列生成装置200。
(比特列生成装置200的结构)
比特列生成装置200与数据总线202连接。比特列生成装置200具备控制寄存器群203、数据寄存器群204、狭脉冲发生电路205(狭脉冲发生部)、传令信号用电路206(传令信号延迟部)、可变延迟电路207(可变延迟部)、选择器208、采样用延迟电路209(狭脉冲延迟部)、采样用寄存器群210(采样部)、狭脉冲形状判定电路211(比特数据生成部、比特列生成部)、以及比特列输出总线212。采样用延迟电路209和采样用寄存器群210构成采样电路220(狭脉冲波形取得部)。
以下,说明各构成要素。
(控制寄存器群203)
控制寄存器群203具备针对来自数据总线202的数据输入,保持下述信号的多个寄存器:
向狭脉冲发生电路205的控制信号sel(1)、
在进行后述抖动校正处理时使用的传令信号(h)、
向选择器209的控制信号sel(2)、
用于变更可变延迟电路207的延迟值的控制信号(D)、以及
用于向采样用寄存器群210输入时钟的控制信号(p)。
(数据寄存器群204)
数据寄存器群204具备针对来自数据总线202的数据输入,保持向狭脉冲发生电路205的输入信号X的多个寄存器。
(狭脉冲发生电路205)
狭脉冲发生电路205是将来自数据寄存器群204的数据信号X、和来自控制寄存器群203的控制信号sel(1)作为输入,并输出信号g的电路。参照图9,说明狭脉冲发生电路205的内部结构。随机逻辑部2051(组合电路)通过组合了任意的函数的组合电路来处理针对每个比特表现了X的{x1,…,xu}的u比特的输入,输出v比特的数据{y1,…,yv}。选择器2052(狭脉冲输出选择器)依照控制信号sel(1),从{y1,…,yv}的v个信号线(有时称为比特信号线)中选择1根1比特的信号线,而作为输出g。作为由随机逻辑部2051处理的函数,作为例子,可以举出用DES定义的S-box。在该例子的情况下,成为“u=6,v=4”。另外,S-box仅为一个例子,而未限定随机逻辑部2051的结构。
(传令信号用延迟电路206、采样用延迟电路209)
传令信号用延迟电路206以及采样用延迟电路209是发生固定的信号延迟的电路。
图13示出被用作传令信号用延迟电路206、或者采样用延迟电路209的延迟电路的内部结构。图13所示的延迟电路401、延迟电路402被用作传令信号用延迟电路206或者采样用延迟电路209。图13(a)所示的延迟电路401是由一般的缓冲器电路(延迟元件的一个例子)的串联连接构成的例子,一般用于ASIC(Application SpecificIntegrated Circuit,专用集成电路)。另一方面,图13(b)所示的延迟电路402是利用加法器(延迟元件的一个例子)的运行传播延迟来构成延迟电路的例子。在FPGA中,加法电路由专用的硬宏构成,所以运行传播延迟相比于构成通常的逻辑的LUT更高速。因此,通过将运行传播延迟用作延迟电路,能够细化延迟的粒度。此处,传令信号用延迟电路206的逻辑级数被设计成成为与狭脉冲发生电路205的逻辑级数相同的程度。
(可变延迟电路207)
可变延迟电路207是能够通过控制信号(D)变更输入至输出的延迟的延迟电路。
图14示出可变延迟电路207的内部结构。图14所示的可变延迟电路501、可变延迟电路502被用作可变延迟电路207。
图14(a)的可变延迟电路501是针对串联连接的缓冲器电路的每个级根据控制信号(D)通过选择器改变路径的结构。
图14(b)的可变延迟电路502是使用了通过相加针对控制信号(D)执行编码而得到的数据和all“1”的数据而发生的运行的传播延迟的结构。例如,在可变延迟电路502中需要大的延迟值的情况下,通过相加“00…01”和all“1”,从下位进位传播,输出在最上位发生的运行信号。在可变延迟电路502中需要小的延迟值的情况下,通过相加“100…0”和all“1”,输出在上位发生的进位。将可变延迟电路502那样的加法电路用作延迟电路的理由在于,如上所述,在FPGA那样的LSI中细化延迟的粒度。可变延迟电路207的可变范围被设计成能够在包括采样用延迟电路209的最小路径延迟(s1的延迟)和最大路径延迟(sn)的范围内变更。
(选择器208)
选择器208是通过控制信号sel(2)选择狭脉冲发生电路205的输出g和传令信号用延迟电路206的输出DLY(h)的电路,选择器208的输出s0与采样用延迟电路209连接。
(采样用寄存器群210)
参照图3来说明采样用寄存器群210的结构。采样用寄存器群210是针对采样用延迟电路209的输出,将可变延迟电路207的输出CLK(v)锁存为时钟信号的寄存器群。采样用延迟电路209输出延迟元件的级数不同的信号s1,…,信号sn。
采样用延迟电路209与构成采样用寄存器群210的各寄存器R连接。
寄存器Ri从输入信号线输入信号si,从时钟信号线输入时钟信号CLK(v),从输出信号线输出信号ri。
(狭脉冲形状判定电路211)
狭脉冲形状判定电路211具有如下逻辑:将作为采样用寄存器群210的输出“r1,r2,…,rn”的n比特的信号作为输入,执行后述的抖动校正处理,并且在抖动校正处理之后,将根据狭脉冲得到的n比特的数据“rc1,rc2,…,rcn”变换为1比特的数据b。
(动作的说明)
图15是示出比特列生成装置200的动作的流程图。参照图15来说明比特列生成装置200的动作。关于以下说明的图15以及后述图16的动作,设为CPU500控制比特列生成装置200。
(抖动校正处理)
最初,比特列生成装置200进行抖动校正处理(S701)。
图16是示出由比特列生成装置200进行的抖动校正处理的动作的流程图。以下,参照图16,说明抖动校正处理。
(1)在图16的初始设定中,CPU500在对所有寄存器进行初始化之后,将控制信号sel(2)设定为选择DLY(h)的信号值(S801)。
(2)接下来,CPU500反复变更向可变延迟电路207的控制信号(D)的同时,输入传令信号(h)(S802、S804)。
(3)此时,CPU500针对同一控制信号(D)输入N次传令信号(h)(S803)。通过将图8所示的传令信号(h)的信号线和控制信号(p)的信号线分别在同一定时(相同的循环)从0变更为1,来进行传令信号(h)的输入。由此,在采样用延迟电路209以及采样用寄存器群210中,进行图17的时序图记载那样的处理。
图17是示出由采样电路220对传令信号(h)进行采样的采样状态的图。
(1)参照图17,首先说明控制信号(D)的值小的情况(即,可变延迟电路207的延迟小的情况)。在控制信号(D)的值小的情况下,在采样用延迟电路209中传令信号(h)传播而观察到上升沿的区间(图17的针对中DLY(h)的采样范围254)之前,发生作为采样用寄存器群210的时钟输入的CLK(v)的上升沿边缘。因此,采样用寄存器群210全部锁存0。即,采样用寄存器群210的各寄存器R关于信号s1~sn全部锁存“0”。
(2)相逆地,在控制信号(D)的值大的情况下,在传令信号(h)传播而观察到上升沿的区间之后,发生CLK(v)的上升沿边缘。因此,在该情况下,采样用寄存器群210全部锁存1。即,采样用寄存器群210的各寄存器R关于信号s1~sn全部锁存“1”。
(3)在使控制信号(D)从最小值变化至最大值,并进行了同样的处理(将传令信号(h)和控制信号l(p)的信号线分别在同一定时从0变更为1,并通过采样用寄存器群210锁存)的情况下,从信号线s1~sn中的传令信号(h)的传播快的信号线依次变化到1。
(信号线sk的信号延迟的顺序逆转)
关于传令信号(h)的传播,在图17中,信号线s1是传令信号(h)的传播最快的信号线,信号线sn被表示为最慢的信号线。但是,在细化了采样用延迟电路209的各延迟的粒度的情况下,有可能发生如图17的信号线st与信号线st’的关系那样,是“t<t’”,但信号延迟值成为“st>st’”的信号线。这是由于采样用延迟电路209至采样用寄存器群210的布线延迟、CLK(v)的抖动而发生的现象。
为了正确地测量信号线s1至信号线sn的信号延迟的顺序关系,在图17的时序图中,CPU500使控制信号(D)从最小值Dmin变化至最大值Dmax。然后,狭脉冲形状判定电路211存储采样用寄存器群210的各寄存器R锁存“1”的次数(S805),比较各寄存器R的次数的合计值(S806)(S807),对采样用寄存器群210的各寄存器R的顺序关系进行排序,存储为排序结果RegO(S808)。在正确地复原狭脉冲的形状时使用排序结果RegO(后述的S708)。另外,狭脉冲形状判定电路211存储在采样用寄存器群210的代表值位置配置的寄存器Rn’的输出rn’最初成为“1”的控制信号(D)的值Dg(S809)。对于“n’”的值,作为例子可以举出n/2。
(S803的反复处理的理由)
在S803中对同一控制信号(D)进行反复处理的理由在于,在采样用寄存器群210的各寄存器R中,数据的变化和时钟的上升沿的定时接近的寄存器锁存的数据变得不稳定。因此,为了提高锁存的数据的精度而进行反复处理。
(狭脉冲形状取得处理)
返回图15的狭脉冲形状取得处理的说明。在抖动校正处理之后,CPU500进行用于狭脉冲形状取得处理的初始设定处理(S702)。在该初始设定处理中,CPU500在对全部寄存器进行初始化之后,将控制信号sel(2)设定为选择信号g的信号值。另外,CPU500将确定可变延迟电路207的延迟值的控制信号(D)设定为在抖动校正处理中存储的值Dg。其目的为,在对具有与狭脉冲发生电路205等同的逻辑级数的传令信号用延迟电路206的信号DLY(h)进行了捕捉的CLK(v)的上升沿定时,捕捉狭脉冲发生电路205的信号g。
在初始设定之后,CPU500将sel(1)设定为初始值(i=1)(S704),对数据寄存器群204输入数据,同时,断定控制信号(p)从0成为1(S707)。由此,在狭脉冲发生电路205中,发生与X的输入变化相伴的信号变化,即由狭脉冲发生电路205输出信号g,信号g经由选择器208被传达到采样用延迟电路209。由采样用寄存器群210的各寄存器锁存所传达的信号g。
图18是示出由采样用寄存器群210锁存的数据“r1,…,rn”(以下,还称为锁存数据)的图。如图18所示,根据从狭脉冲发生电路205输出的信号g的形状,确定锁存的数据“r1,…rn”的值。狭脉冲形状判定电路211通过根据在抖动校正处理中存储的排序结果RegO对由采样用寄存器群210的寄存器R1~Rn锁存的数据“r1,…rn”进行排序,进行狭脉冲形状的校正(S708)。狭脉冲形状判定电路211将校正了的数据、即排序了的“r1,…rn”通过形状判定处理,变换为1比特的数据b(S709)。
参照图15,说明通过狭脉冲形状判定电路211变换为1比特的数据b的变换例子。如图15的说明那样,在形状判定处理中,通过包括忽略数据的可靠性低的微小时间的信号变化(阈值w以下)的处理,能够提高数据的再现性。
(图15的i,j)
如图15所示,在比特列生成装置200中,变更输入数据X(变量j)以及控制信号sel(1)(变量i),反复进行上述处理。
图15的变量i、j、k是如下的意思。
变量i:表示“1~v”个信号线中的sel(1)选择的信号线。
变量j:表示是2u(j=0~2u-1)个中的哪个输入数据X。
变量k:表示针对同一“X、sel(1)”的反复次数。
另外,为了提高数据的可靠性,对同一输入数据X和控制信号sel(1)也进行反复处理。即,如图15所示,固定变量i、j,直至K=1~N为止反复。作为该处理的一个例子,可以举出狭脉冲形状判定电路211对“i,j”相同且K不同的b(i,j,1)、b(i,j,2)、b(i,j,N)进行多数决处理,并将其结果作为b(i,j)的例子。最终,将作为由通过上述处理得到的“i,j”相互不同的多个1比特的数据b(i,j)所构成的比特列的比特列b(i,j)用作密钥信息。
图15是通过着眼于特定的信号线i反复N次输入同一输入数据Xj,评价根据针对同一输入数据Xj的特定的信号线i的输出生成的1比特数据的可靠性的流程。
然后,在图15中,通过改变“i,j”,针对各信号线i(i:1~v)的每一个,评价根据针对各输入数据Xj(j:0~2u-1)的各信号线i(i:1~v)的输出生成的1比特数据的可靠性。
该图15的流程能够应用于例如在上述中说明为“1.4差错率的改善”的“初始密钥生成时”、和“初始密钥生成时以后”这双方。以下对其进行说明。
(初始密钥生成时)
在初始密钥生成时,例如通过以下那样的处理,提高所生成的比特的可靠性。随机逻辑电路2051(组合电路)反复输入同一输入数据Xj。狭脉冲发生电路205的选择器2052通过每当将同一输入数据Xj反复输入到随机逻辑电路2051时从某一个比特信号线输出信号g(比特对应信号),从v根任何比特信号线都输出N次(规定次数)信号g。另外,选择器2052的输出基于通过控制信号sel(1)进行的控制。狭脉冲形状判定电路211(比特数据生成部)针对v根比特信号线的每一个,生成与输出了N次的信号g的各个对应的1比特数据(N个)。然后,狭脉冲形状判定电路211根据针对每个比特信号线生成的1比特数据的总数中所占的1与0的比例,确定可否使用针对同一输入数据X的各比特信号线的输出。即,从各比特信号线输出N次信号g,所以通过狭脉冲形状判定电路211,针对各比特信号线的每一个,生成N个作为1和0中的某一个的1比特数据。狭脉冲形状判定电路211针对各比特信号线的每一个,根据N个中所占的1与0的比例,确定可否使用针对同一输入数据X的各比特信号线的输出。在该判定中,仅在例如以针对输入数据X(0)从比特信号线i输出的基于信号g的1比特数据的N个全部是“1”的情况、或者N个全部是“0”的情况下,确定为能够使用比特信号线i。关于可否使用各比特信号线的输出,如上述“1.4差错率的改善”所述,能够使用掩码值。
(可否使用比特信号线的确定以后)
在掩码值的生成以后,判定确定为能够针对同一输入数据X使用的比特信号线的输出的可靠性。随机逻辑电路2051在由狭脉冲形状判定电路211确定为能够使用针对同一输入数据X的比特信号线的输出之后,再次反复输入同一输入数据X。选择器2052每当将同一输入数据X反复输入到随机逻辑电路2051时,从作为由狭脉冲形状判定电路211确定为能够使用输出的比特信号线的特定的确定信号线,输出规定次数(例如N’次)信号g(比特对应信号)。狭脉冲形状判定电路211针对从特定的确定信号线输出了N’次的每个信号g生成N’个与该信号g对应的1比特数据,根据由所生成的1比特数据的总数(N’个)构成的比特群组中包含的1与0的比例,将代表该比特群组的代表比特确定为1和0的某一个。对于该代表比特的确定,如上所述能够使用多数决处理。随机逻辑电路2051、选择器2052、以及狭脉冲形状判定电路211通过针对反复输入的同一输入数据X执行同样的处理,关于至少其他一个确定信号线,确定针对同一输入数据X的代表比特。然后,狭脉冲形状判定电路211(比特列生成部)使用所确定的多个代表比特,生成比特列。
对于与输入数据X不同的其他输入数据X’,通过将输入数据X’作为同一数据而反复输入,也能够关于输入数据X’针对每个确定信号线确定代表比特。另外,在图15中,固定比特信号线i,最初输入N次输入数据X(0),接下来输入N次输入数据X(1),然后最后,输入N次输入数据X(2u-1)。这是一个例子。也可以固定输入数据Xj,而改变信号线i的“i”。
这样,首先,通过狭脉冲形状判定电路211在初始密钥生成时确定可否使用各比特信号线的输出。接下来,由狭脉冲形状判定电路211,关于确定为能够使用的比特信号线的输出,生成代表比特。由此,能够提高所生成的比特列的可靠性。另外,通过由纠错电路300对这样生成的比特列进行纠错,能够进一步提高比特列的可靠性。
以上,说明了取得狭脉冲形状,并根据狭脉冲形状生成比特列的比特列生成装置200。对于狭脉冲的形状,根据构成狭脉冲发生电路205的各逻辑门的延迟关系而呈现不同的举动,所以针对每个器件,生成与其他器件不同的该器件固有的比特列。然后,每当生成时,在同一器件中根据狭脉冲生成同一比特列。通过对狭脉冲发生电路205输入数据,发生狭脉冲,所以当然无需非易失性地保存密钥信息。
在实施方式1的比特列生成装置200中,没有与配置布线相关的特殊的制约,所以即使是配置布线的自由度低的FPGA,也能够针对每个器件输出不同的比特列。
另外,在实施方式1的比特列生成装置200中,不存在需要由组合电路构成的环形电路的处理部,所以能够提供不违反“在课题中叙述的设计规则”的PUF电路。
在以上的实施方式1中说明了比特列生成装置200,但通过将比特列生成装置200的构成要素的动作掌握为步骤,能够将比特列生成装置200掌握为比特列生成方法。
Claims (15)
1.一种比特列生成装置,其特征在于,具备:
狭脉冲发生部,发生狭脉冲;
狭脉冲波形取得部,取得由所述狭脉冲发生部发生的所述狭脉冲的波形;
比特数据生成部,根据由所述狭脉冲波形取得部取得的所述狭脉冲的波形,生成表示1和0中的某一个的1比特数据;以及
比特列生成部,生成由通过所述比特数据生成部生成的多个所述1比特数据构成的比特列。
2.根据权利要求1所述的比特列生成装置,其特征在于,
所述狭脉冲发生部具备组合了多个逻辑电路的组合电路,该组合电路针对所输入的输入数据发生并输出起因于过渡迁移的所述狭脉冲,
所述狭脉冲波形取得部具备:
狭脉冲延迟部,从所述组合电路输入所述狭脉冲,使所输入的所述狭脉冲延迟;以及
采样部,对通过所述狭脉冲延迟部延迟了的所述狭脉冲进行采样。
3.根据权利要求2所述的比特列生成装置,其特征在于,
所述组合电路具备v根比特信号线,该v根比特信号线作为所述输入数据输入u比特的输入数据X,使用输入数据X,为了计算作为v比特的数据的输出数据Y而执行Y=f(X)的运算,并且输出针对各比特的每一个包括所述狭脉冲的所述输出数据Y,其中,u是1以上的整数,v是1以上的整数,
所述狭脉冲发生部还具备狭脉冲输出选择器,该狭脉冲输出选择器输入指示从所述多个比特信号线的某一个比特信号线输出的选择信号,从所输入的所述选择信号指示的比特信号线输出与所述比特对应的比特对应信号。
4.根据权利要求3所述的比特列生成装置,其特征在于,
所述组合电路输入相互不同的所述输入数据X,
所述狭脉冲输出选择器通过被所述选择信号控制,针对各个所述输入数据X从所述多个比特信号线的各比特信号线输出所述比特对应信号。
5.根据权利要求3或者4所述的比特列生成装置,其特征在于,
所述组合电路反复输入同一所述输入数据X,
所述狭脉冲输出选择器通过每当将同一所述输入数据X反复输入到所述组合电路时从某一个所述比特信号线输出所述比特对应信号,从任何所述比特信号线都输出所述比特对应信号规定次数,
所述比特数据生成部针对每个所述比特信号线生成与所述输出了规定次数的所述比特对应信号的各个对应的所述1比特数据,根据针对每个所述比特信号线生成的所述1比特数据的总数中所占的1和0的比例,确定可否使用针对同一所述输入数据X的各比特信号线的输出。
6.根据权利要求5所述的比特列生成装置,其特征在于,
所述比特数据生成部在根据从所述比特信号线输出的所述比特对应信号生成的所述1比特数据的总数中所占的1的比例是100%的情况、和0的比例是100%的情况的某一个情况下,确定为能够使用针对同一所述输入数据X的所述比特信号线的输出。
7.根据权利要求5或者6所述的比特列生成装置,其特征在于,
所述组合电路在由所述比特数据生成部确定为能够使用针对同一所述输入数据X的所述比特信号线的输出之后,再次反复输入同一所述输入数据X,
所述狭脉冲输出选择器每当将同一所述输入数据X反复输入到所述组合电路时,从作为由所述比特数据生成部确定为能够使用输出的所述比特信号线的特定的确定信号线,输出所述比特对应信号规定次数,
所述比特数据生成部针对从所述特定的确定信号线输出了所述规定次数的每个所述比特对应信号生成与所述比特对应信号对应的所述1比特数据,根据由所生成的所述1比特数据的总数构成的比特群组中包含的1和0的比例,将代表所述比特群组的代表比特确定为1和0中的某一个,
所述组合电路、所述狭脉冲输出选择器以及所述比特数据生成部通过对反复输入的同一所述输入数据X执行同样的处理,关于至少其他一根所述确定信号线,确定针对同一所述输入数据X的所述代表比特,
所述比特列生成部使用由所述比特数据生成部确定的多个所述代表比特,生成所述比特列。
8.根据权利要求2~7中的任意一项所述的比特列生成装置,其特征在于,
所述比特列生成装置还具备纠错部,该纠错部修正由所述比特列生成部生成的所述比特列的错误。
9.根据权利要求2~8中的任意一项所述的比特列生成装置,其特征在于,
所述狭脉冲延迟部具备多个延迟元件,该多个延迟元件用信号线串联地连接,使所述狭脉冲延迟而传输,
所述采样部具备多个寄存器,该多个寄存器具有输入信号线、时钟信号线以及输出信号线,并且各寄存器的输入信号线不重复地与某一个所述延迟元件的输入侧和输出侧中的某一侧连接,与从所述时钟信号线输入的所述时钟信号的上升沿连动地,锁存所述输入信号线的连接部中的信息,
所述比特列生成装置还具备:
传令信号延迟部,输入作为从零上升为规定的值的信号的传令信号,使所输入的传令信号延迟,将延迟了的传令信号输出到所述狭脉冲延迟部的串联连接的最初的延迟元件;以及
可变延迟部,输入用于输入到所述采样部的各寄存器的时钟信号,并且输入控制所输入的所述时钟信号的输出定时的控制信号,在依照所输入的所述控制信号的定时,将所输入的所述时钟信号输出到所述采样部的各寄存器。
10.根据权利要求9所述的比特列生成装置,其特征在于,
所述比特数据生成部根据每个所述寄存器的锁存数据的值,对每个所述寄存器的锁存数据进行排序,并存储排序结果,其中所述锁存数据是所述采样部的各寄存器与由所述可变延迟部输出的所述时钟信号连动地对由所述传令信号延迟部输出的延迟后的传令信号进行了锁存而得到的。
11.根据权利要求10所述的比特列生成装置,其特征在于,
所述比特数据生成部在所述采样部的各寄存器锁存了从所述狭脉冲发生部输出到狭脉冲延迟部的信号的情况下,根据所存储的所述排序结果,对从所述狭脉冲发生部输出并由各寄存器锁存了的信号进行排序。
12.根据权利要求9~11中的任意一项所述的比特列生成装置,其特征在于,
所述比特数据生成部针对所述传令延迟部中的所述传令信号和所述可变延迟部中的所述时钟信号的同一设定,反复进行使用了所述采样部的各寄存器的所述传令信号的采样。
13.根据权利要求2~9中的任意一项所述的比特列生成装置,其特征在于,
所述延迟部通过使用加法器的进位信号而使信号延迟。
14.根据权利要求1~13中的任意一项所述的比特列生成装置,其特征在于,
所述比特数据生成部根据由所述狭脉冲波形取得部取得的所述狭脉冲的波形中包含的上升沿边缘的数量是奇数还是偶数来生成0和1中的某一个的1比特数据,并且在所述狭脉冲的波形中的脉冲宽度是阈值w以下的情况下,忽略该脉冲。
15.一种比特列生成方法,其特征在于,
发生狭脉冲,
取得所发生的所述狭脉冲的波形,
根据所取得的所述狭脉冲的波形,生成表示1和0中的某一个的1比特数据,
生成由所生成的多个所述1比特数据构成的比特列。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/050422 WO2011086688A1 (ja) | 2010-01-15 | 2010-01-15 | ビット列生成装置及びビット列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102783028A true CN102783028A (zh) | 2012-11-14 |
CN102783028B CN102783028B (zh) | 2016-02-03 |
Family
ID=44303992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080061364.0A Active CN102783028B (zh) | 2010-01-15 | 2010-01-15 | 比特列生成装置以及比特列生成方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9031232B2 (zh) |
EP (1) | EP2525489B1 (zh) |
JP (1) | JP5377667B2 (zh) |
KR (1) | KR101370231B1 (zh) |
CN (1) | CN102783028B (zh) |
WO (1) | WO2011086688A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338108A (zh) * | 2013-06-13 | 2013-10-02 | 北京华大信安科技有限公司 | 生成密钥的方法、装置及芯片 |
WO2015067996A1 (en) * | 2013-11-07 | 2015-05-14 | Shengyuan Wu | Methods and apparatuses of digital data processing |
CN105932998A (zh) * | 2016-04-18 | 2016-09-07 | 宁波大学 | 一种采用延迟树结构的毛刺型puf电路 |
CN106355111A (zh) * | 2015-07-13 | 2017-01-25 | 德州仪器公司 | 基于sram时序的物理不可克隆函数 |
CN106872983A (zh) * | 2017-01-18 | 2017-06-20 | 无锡辰星机器人科技有限公司 | 一种测距方法、装置及系统 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2579499A1 (en) * | 2010-06-07 | 2013-04-10 | Mitsubishi Electric Corporation | Signal processing system |
CN103299576B (zh) * | 2011-01-13 | 2016-05-25 | 三菱电机株式会社 | 比特生成装置以及比特生成方法 |
JP2013031151A (ja) | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
JP5857726B2 (ja) * | 2011-12-20 | 2016-02-10 | 富士通株式会社 | 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置 |
US9361482B2 (en) | 2011-12-22 | 2016-06-07 | Mitsubishi Electric Corporation | Device specific information generation device and device specific generation method |
US20140041040A1 (en) * | 2012-08-01 | 2014-02-06 | The Regents Of The University Of California | Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions |
US9038133B2 (en) | 2012-12-07 | 2015-05-19 | International Business Machines Corporation | Self-authenticating of chip based on intrinsic features |
WO2014091559A1 (ja) * | 2012-12-11 | 2014-06-19 | 三菱電機株式会社 | 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 |
EP2799980A3 (de) | 2013-05-03 | 2014-11-19 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
US10230369B2 (en) | 2013-08-28 | 2019-03-12 | Stc.Unm | Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings |
US9992031B2 (en) * | 2013-09-27 | 2018-06-05 | Intel Corporation | Dark bits to reduce physically unclonable function error rates |
US9189654B2 (en) * | 2013-12-04 | 2015-11-17 | International Business Machines Corporation | On-chip structure for security application |
KR102198499B1 (ko) * | 2013-12-31 | 2021-01-05 | 주식회사 아이씨티케이 홀딩스 | 디지털 값 처리 장치 및 방법 |
DE102014203648A1 (de) * | 2014-02-28 | 2014-06-05 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
CN103902930B (zh) * | 2014-03-10 | 2016-09-07 | 杭州晟元数据安全技术股份有限公司 | 基于环形振荡器的物理不可克隆函数电路结构 |
DE112014006696T5 (de) * | 2014-05-23 | 2017-02-16 | Mitsubishi Electric Corporation | Kommunikationsgerät, Kommunikationsverfahren und Programm |
KR102201642B1 (ko) | 2014-11-28 | 2021-01-13 | 삼성전자주식회사 | Puf 회로 및 그것의 키 등록 방법 |
JP6929776B2 (ja) | 2014-12-24 | 2021-09-01 | イントリンシツク・イー・デー・ベー・ベー | 物理的複製不可能関数からの暗号鍵生成 |
DE102016201176A1 (de) * | 2016-01-27 | 2017-07-27 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits |
DE102017215622A1 (de) * | 2017-09-05 | 2019-03-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtungen und verfahren zum erhalten von bitsequenzen |
EP3454318B1 (en) * | 2017-09-12 | 2022-05-11 | eMemory Technology Inc. | Security system with entropy bits generated by a puf |
DE102018208118A1 (de) * | 2018-05-23 | 2019-11-28 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Authentifizieren einer über einen Bus übertragenen Nachricht |
WO2020144758A1 (ja) | 2019-01-09 | 2020-07-16 | 三菱電機株式会社 | 秘密計算装置及びクライアント装置 |
US11372983B2 (en) * | 2019-03-26 | 2022-06-28 | International Business Machines Corporation | Employing a protected key in performing operations |
US11201730B2 (en) | 2019-03-26 | 2021-12-14 | International Business Machines Corporation | Generating a protected key for selective use |
US11271732B2 (en) * | 2019-11-12 | 2022-03-08 | Nxp B.V. | Robust repeatable entropy extraction from noisy source |
CN113922963A (zh) * | 2021-09-15 | 2022-01-11 | 温州大学 | 一种利用施密特触发采样的Glitch PUF |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534454A (zh) * | 2003-03-31 | 2004-10-06 | �����ɷ� | 伪随机数发生器 |
CN1278221C (zh) * | 2000-10-24 | 2006-10-04 | 日本电脑警备有限公司 | 随机数发生装置 |
WO2009076097A1 (en) * | 2007-12-06 | 2009-06-18 | Rambus Inc. | Edge-based loss-of-signal detection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3826868A (en) * | 1972-01-11 | 1974-07-30 | J Nugent | Telemetering system |
US3789377A (en) * | 1972-05-26 | 1974-01-29 | Lockheed Electronics Co | Pseudo-random sequence synchronization for magnetic recording system |
TW381057B (en) | 1997-08-07 | 2000-02-01 | Hitachi Ltd | Semiconductor device |
US7243117B2 (en) | 2001-02-07 | 2007-07-10 | Fdk Corporation | Random number generator and probability generator |
JP3487299B2 (ja) * | 2001-06-06 | 2004-01-13 | いわき電子株式会社 | 乱数発生装置および確率発生装置 |
JP4148807B2 (ja) * | 2003-03-17 | 2008-09-10 | 株式会社ルネサステクノロジ | 乱数生成装置および情報処理装置 |
CN101076775A (zh) * | 2004-10-15 | 2007-11-21 | 皇家飞利浦电子股份有限公司 | 具有真随机数发生器的集成电路 |
JP4471901B2 (ja) * | 2005-07-28 | 2010-06-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
ATE504884T1 (de) | 2006-01-24 | 2011-04-15 | Verayo Inc | Signalgeneratorbasierte vorrichtungssicherheit |
JP2009533927A (ja) | 2006-04-11 | 2009-09-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コーティングpufを用いる攻撃検出 |
KR101059005B1 (ko) | 2006-04-13 | 2011-08-23 | 엔엑스피 비 브이 | 반도체 장치, 그 식별자 생성 방법 및 그 식별 방법 |
-
2010
- 2010-01-15 WO PCT/JP2010/050422 patent/WO2011086688A1/ja active Application Filing
- 2010-01-15 KR KR1020127018346A patent/KR101370231B1/ko active IP Right Grant
- 2010-01-15 CN CN201080061364.0A patent/CN102783028B/zh active Active
- 2010-01-15 JP JP2011549823A patent/JP5377667B2/ja active Active
- 2010-01-15 EP EP10843047.1A patent/EP2525489B1/en active Active
- 2010-01-15 US US13/522,439 patent/US9031232B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278221C (zh) * | 2000-10-24 | 2006-10-04 | 日本电脑警备有限公司 | 随机数发生装置 |
CN1534454A (zh) * | 2003-03-31 | 2004-10-06 | �����ɷ� | 伪随机数发生器 |
WO2009076097A1 (en) * | 2007-12-06 | 2009-06-18 | Rambus Inc. | Edge-based loss-of-signal detection |
Non-Patent Citations (3)
Title |
---|
HIREN PATEL等: "Increasing stability and distinguishability of the digital fingerprint in FPGAs through input word analysis", 《FIELD PROGRAMMABLE LOGIC AND APPLICATIONS》 * |
JAMES等: "CREATING UNIQUE IDENTIFIERS ON FIELD PROGRAMMABLE GATE ARRAYS USING NATURAL PROCESSING VARIATIONS", 《FIELD PROGRAMMABLE LOGIC AND APPLICATIONS》 * |
PATEL等: "Creating a unique digital fingerprinter using existing combianational logic", 《CIRCUITS AND SYSTEMS》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338108A (zh) * | 2013-06-13 | 2013-10-02 | 北京华大信安科技有限公司 | 生成密钥的方法、装置及芯片 |
CN103338108B (zh) * | 2013-06-13 | 2016-09-21 | 北京华大信安科技有限公司 | 生成密钥的方法、装置及芯片 |
WO2015067996A1 (en) * | 2013-11-07 | 2015-05-14 | Shengyuan Wu | Methods and apparatuses of digital data processing |
CN106355111A (zh) * | 2015-07-13 | 2017-01-25 | 德州仪器公司 | 基于sram时序的物理不可克隆函数 |
CN106355111B (zh) * | 2015-07-13 | 2021-12-07 | 德州仪器公司 | 基于sram时序的物理不可克隆函数 |
CN105932998A (zh) * | 2016-04-18 | 2016-09-07 | 宁波大学 | 一种采用延迟树结构的毛刺型puf电路 |
CN106872983A (zh) * | 2017-01-18 | 2017-06-20 | 无锡辰星机器人科技有限公司 | 一种测距方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5377667B2 (ja) | 2013-12-25 |
US9031232B2 (en) | 2015-05-12 |
EP2525489A4 (en) | 2014-03-05 |
KR20120112557A (ko) | 2012-10-11 |
US20120293354A1 (en) | 2012-11-22 |
CN102783028B (zh) | 2016-02-03 |
WO2011086688A1 (ja) | 2011-07-21 |
EP2525489B1 (en) | 2018-06-13 |
EP2525489A1 (en) | 2012-11-21 |
KR101370231B1 (ko) | 2014-03-06 |
JPWO2011086688A1 (ja) | 2013-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102783028A (zh) | 比特列生成装置以及比特列生成方法 | |
KR102499723B1 (ko) | 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법 | |
Suzuki et al. | The glitch PUF: A new delay-PUF architecture exploiting glitch shapes | |
Majzoobi et al. | Lightweight secure pufs | |
US11301216B2 (en) | Self-timed random number generator | |
Vijay et al. | Physically unclonable functions using two-level finite state machine | |
JP5863994B2 (ja) | 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 | |
CN112152777B (zh) | 一种面向同态密码运算的密钥转换方法、系统、设备及可读存储介质 | |
CN109766729B (zh) | 一种防御硬件木马的集成电路及其加密方法 | |
Zalivaka et al. | FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability | |
Shariffuddin et al. | Review on arbiter physical unclonable function and its implementation in FPGA for IoT security applications | |
KR20150051012A (ko) | Puf를 이용하는 하드웨어 암호키 생성 장치 및 방법 | |
Klimushyn et al. | Crypto-resistant methods and random number generators in internet of things (iot) devices | |
Pappala et al. | FPGA based trustworthy authentication technique using Physically Unclonable Functions and artificial intelligence | |
Likhithashree et al. | Design of Power-Efficient Ring Oscillator based Physically Unclonable Functions for FPGA | |
Thammannagowda et al. | Low area FPGA implementation of PRNG-LCC-CSLA architecture based on chaotic circuit | |
Pan et al. | Obfuscation Algorithm Design Based on Fully Homomorphism | |
Stanciu et al. | A chip ID generation circuit–latch based |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |