发明内容
技术课题
提供一种装置及方法,利用半导体芯片制备工程的工程变差(processvariation)来实现物理性不可复制的PUF,不但结构简单,同时可生成随机的数字值,并进行锁定(Freezing)来保障生成的值具时不变性。
提供一种数字值生成装置及方法,可生成不受噪音和环境变化的影响并保障时不变性的可靠的随机数字值。
技术方案
根据本发明的一个侧面,提供一种数字值生成装置,包括:数字值生成单元,利用半导体工程变差来生成随机的数字值;和数字值锁定单元,与所述数字值生成单元连接,并对应所述生成的数字值,以第1状态或第2状态中的任何一个状态被固定,来锁定所述数字值。
在此,所述数字值生成单元可包括物理防克隆功能PUF(PhysicallyUnclonable Function)。
根据本发明的一个实施例,所述PUF包括第1逆变器和第2逆变器,在相同工程中被制备,并根据所述制备过程中的工程变差具有电特性值的差异,所述第1逆变器的输出端和所述第2逆变器的输入端被连接至第1节点,且所述第1逆变器的输入端和所述第2逆变器的输出端被连接至不同于所述第1节点的第2节点,当所述第1节点和所述第2节点短路后又开路时,利用所述第1节点和所述第2节点中的至少一个逻辑电平,来生成所述数字值。
根据本发明的另一个实施例,所述PUF包括差分放大器,且比较所述差分放大器的两个输入节点短路时的两个输出节点各自的电压差异,来生成所述数字值。
根据本发明的又另一个实施例,所述PUF包括SR锁存器,且当所述SR锁存器的两个输入节点同时输入逻辑电平“1”后,所述两个输入节点又同时输入逻辑电平“0”时,利用两个输出节点值中的至少一个逻辑电平来生成所述数字值,所述两个输出节点值由构成所述SR锁存器的逻辑门的逻辑阈值差异被确定。
根据本发明的又另一个实施例,所述PUF包括SR锁存器,且在所述SR锁存器的两个输入节点同时输入逻辑电平“0”的状态下,当所述SR锁存器的两个输出节点之间短路后,又重新使所述两个输出节点开路时,利用两个输出节点值中的至少一个逻辑电平来生成所述数字值,所述两个输出节点值由构成所述SR锁存器的逻辑门的逻辑阈值差异被确定。
根据本发明的一个实施例,所述数字值锁定单元,包括至少一个熔断器,对应所述数字值生成单元初始驱动时所生成的所述数字值,接收过电流断开或是不断开,从而来锁定所述数字值。
在这种情况下,所述第1状态为所述熔断器断开的状态,且所述第2状态为所述熔断器没有断开的状态。
所述数字值锁定单元,包括至少一个一次性可编程OTP(One TimeProgrammable)元件,经所述数字值生成单元初始驱动时所生成的所述数字值被编程,来固定所述数字值。
根据本发明的另一个侧面,提供一种数字值生成装置,包括:数字值生成单元,利用半导体工程变差来生成随机的数字值;和数字值存储单元,与所述数字值生成单元连接,存储所述生成的数字值。
在此,所述数字值生成单元可包括物理防克隆功能PUF(PhysicallyUnclonable Function)。
根据本发明的一个实施例,所述PUF包括第1逆变器和第2逆变器,在相同工程中被制备,并根据所述制备过程中的工程变差具有电特性值的差异,且所述第1逆变器的输出端和所述第2逆变器的输入端被连接至第1节点,且所述第1逆变器的输入端和所述第2逆变器的输出端被连接至不同于所述第1节点的第2节点,当所述第1节点和所述第2节点短路后又开路时,利用所述第1节点和所述第2节点中的至少一个逻辑电平,来生成所述数字值。
根据本发明的另一个实施例,所述PUF包括差分放大器,且比较所述差分放大器的两个输入节点短路时的两个输出节点各自的电压差异,来生成所述数字值。
根据本发明的又另一个实施例,所述PUF包括SR锁存器,且当所述SR锁存器的两个输入节点同时输入逻辑电平“1”后,所述两个输入节点又同时输入逻辑电平“0”时,利用两个输出节点值中的至少一个逻辑电平来生成所述数字值,所述两个输出节点值由构成所述SR锁存器的逻辑门的逻辑阈值差异被确定。
根据本发明的又另一个实施例,所述PUF包括SR锁存器,且在所述SR锁存器的两个输入节点同时输入逻辑电平“0”的状态下,当所述SR锁存器的两个输出节点之间短路后,又重新使所述两个输出节点开路时,利用所述SR锁存器的两个输出节点中的至少一个逻辑电平,来生成所述数字值。
此外,所述数字值存储单元,可包括至少一个非易失性存储元件,用于存储所述数字值生成单元初始驱动时所生成的所述数字值。
在这种情况下,所述非易失性存储元件可以是多次可编程MTP(MultiTime Programmable or Many Time Programmable)元件。
此外,所述非易失性存储元件可以是电可擦只读存储器EEPROM(Electrically Erasable and Programmable Read Only Memory)、闪(Flash)存、硅氧化氮氧化硅SONOS(Silicon-Oxide-Nitride-Oxide-Silicon)、铁电随机存储器FRAM(Ferroelectrics Random Access Memory)、和电阻式随机存储器RRAM(Resistive Random Access Memory)中的至少一个。
根据本发明的又另一个侧面,提供一种数字值生成方法,包括以下步骤:数字值生成装置的数字值生成单元利用所述数字值生成单元中包含的至少一个元件的工程变差,来生成随机的数字值;以及与所述数字值生成单元连接的数字值锁定单元,其对应所述生成的数字值,以第1状态或第2状态中的任何一个状态被固定,来锁定所述数字值。
在这种情况下,将所述数字值锁定的步骤,可包括以下步骤:对应所述数字值生成单元初始驱动时所生成的所述数字值,在所述数字值锁定单元中包含的至少一个熔断器中认可过电流;以及根据所述至少一个熔断器是否经所述过电流被断开,来物理性地锁定所述数字值。
此外,将所述数字值锁定的步骤,可包括以下步骤:对应所述数字值生成单元初始驱动时所生成的所述数字值,将所述数字值锁定单元中包含的至少一个一次性可编程OTP(One Time Programmable)元件进行编程;以及根据所述至少一个OTP元件是否被编程,来锁定所述数字值。
根据本发明的又另一个侧面,提供一种数字值生成方法,包括以下步骤:数字值生成装置的数字值生成单元利用所述数字值生成单元中包含的至少一个元件的工程变差,来生成随机的数字值;以及通过与所述数字值生成单元连接的数字值存储单元,来存储所述生成的数字值。
在这种情况下,将所述数字值存储的步骤,可以是将所述生成的数字值编程至所述数字值生成单元中包含的至少一个非易失性存储元件中的步骤。
在此,所述非易失性存储元件可以是多次可编程MTP(Multi TimeProgrammable or Many Time Programmable)元件。
根据本发明的一个实施例,所述非易失性存储元件可以是电可擦只读存储器EEPROM(Electrically Erasable and Programmable Read Only Memory)、闪(Flash)存、硅氧化氮氧化硅SONOS(Silicon-Oxide-Nitride-Oxide-Silicon)、铁电随机存储器FRAM(Ferroelectrics Random Access Memory)、和电阻式随机存储器RRAM(Resistive Random Access Memory)中的至少一个。
技术效果
利用半导体芯片制备工程的工程变差,不但生成数字值的电路结构简单,同时可满足时不变性,由此可提高上述数字值的可靠性。
此外,在相同的设计下,就算制备其他的半导体芯片也不会生成相同的识别密钥,因此,半导体芯片不可物理性复制,保障了较高的安全性。
具体实施方式
以下,参照附图对本发明的实施例进行详细说明。参照附图被说明的实施例,仅为用于传达本发明的技术性思想和结构及运作的示例性实施例,本发明并不局限于该实施例。
因此,虽然利用了以下实施例,但本发明的技术领域中的普通技术人员可基于以下的实施例进行多种变形和应用,该变形及应用不能超出本发明的思想范围。
图1是示出根据本发明的一个侧面的数字值生成装置的框图。
根据本发明的一个实施例的数字值生成装置包括数字值生成单元110和数字值锁定单元120。
所述数字值生成单元110对应所述数字值生成单元110中所认可的信号来生成随机(Random)的数字值。所述随机的数字值经半导体工程上的工程变差被生成,该工程变差在制备用于体现所述数字值生成单元110的至少一个半导体元件的过程中发生。该部分将具体进行说明。
在半导体工程中,工程变差经多种原因发生。例如,在制备晶体管时,有效栅长度、参杂度相关指数、氧化物厚度相关指数、或阈值电压等参数可能成为工程变差的原因。由于该工程变差起因于自然现象,因此,可减小工程变差,但不能完全去除。
因此,一般工程变差较小的半导体工程被认为较优秀,在半导体工程技术领域中,正进行多种试验来减少工程变差。
但是,根据本发明的数字值生成单元110可利用该半导体工程的工程变差来生成随机确定的数字值。例如,随机确定的数字值可为“1”或“0”中的任何一个。
但是,数字值生成单元110在利用半导体工程变差来生成随机的数字值时,如上所述,可能会具有因噪音、差分老化(differential aging)、外部温度等环境变化而不能保障时不变性(time invariant)的问题。由于该时不变性的保障与用于确定生成的数字值是否可在安全/认证领域中使用的可靠性直接相关,因此,需解决该问题。
因此,根据本发明的一个实施例,数字值锁定单元120,可针对根据所述数字值生成单元110所生成的数字值,在噪音或外部温度等环境变化中也可保障较强的时不变性。
根据本发明的一个实施例,所述数字值锁定单元120与所述数字值生成单元110连接,并对应所述数字值生成单元110所生成的数字值,以第1状态或第2状态中的任何一个状态被固定,从而来锁定(freezing)所述数字值。
所述第1状态和第2状态可分别读取所述生成的数字值,例如,可以是对应于“1”或“0”的值。
以下,参照图2,对本发明的多种实施例进行说明。首先,参照图2及图3来说明数字值锁定单元120的示例性体现,并参照图5至图9,来说明数字值生成单元110的示例性体现。
进一步,将参照图10至图17来说明包括有数字值生成单元110和数字值锁定单元120的示例性电路结构。
此外,根据本发明的另一个侧面,为保障上述的时不变性,包含有数字值存储单元,用来存储并提供所述生成的数字值,来代替数字值锁定单元120。有关上述本发明的另一个侧面将参照图4进行说明。
图2是示出根据本发明的一个实施例的数字值生成装置的数字值锁定单元的示例性结构的示图。
根据本发明的一个实施例,图1的数字值生成装置100的数字值锁定单元120中包括熔断器控制单元220,其根据包含有熔断器201、202的熔断器单元210和所述生成的数字值来改变所述熔断器201、202的物理连接状态。
当数字值生成单元110通过out端子及out_bar端子来提供具互补性的数字值,例如:“1”和“0”时,数字值锁定单元120的熔断器控制单元220向熔断器单元210中包含的熔断器201或熔断器202分别传输信号C和Cb。由此,经控制信号C和Cb,所述熔断器201或熔断器202中的任何一个中过电流被认可,从而熔断器被物理性断开。
例如,out端子的值为“1”时,所述熔断器控制单元220可将熔断器201断开。当然,不仅是将对应于数字值“1”的熔断器断开,也可以是将对应于数字值“0”的熔断器断开的相反实施例。以下,不管是对应于数字值“1”或“0”的哪个实施例被说明都可实现如上述的相反实施例。
此外,为断开熔断器,熔断器201和熔断器202的端子211、212、213、214中的至少一部分可连接至Vdd电压,或是接地(ground)连接。此外,根据实施例,端子211、212、213、214也可分别与数字值生成单元中所包含的一部分节点连接。该结构将参照图12、图14、图16等进行详细说明。
由此,根据数字值生成单元110所生成的数字值,数字值锁定单元120可进行物理性状态改变,从而固定成不能回置的状态,因此,数字值生成单元110所生成的随机数字值(random digital value)的时不变性被保障。
随后,在读取所述数字值时,由于可电力地来识别数字值锁定单元120内的熔断器单元210所包含的熔断器201、202中哪个熔断器断开,哪个熔断器没有断开,因此,可读取所述数字值。
此外,在本发明的另一个实施例中,根据熔断器201、202中哪个熔断器断开,哪个熔断器没有断开,数字值生成装置内的电路连接状态被固定,从而数字值生成单元110的输出值被锁定,并可将该输出值读取为所述数字值。
作为参考,根据本发明的实施例,所述数字值生成单元110可包括N个单位晶格(unit cell),用来生成一个数字值或互补性数字值对(pair),从而可生成N比特(bit)的数字值,其中N为自然数。
在这种情况下,数字值锁定单元120也包括N个熔断器单元210,来锁定N比特的数字值。在此,当任何单位晶格所对应的熔断器单元210的熔断器201、202运作一段时间后断开时,或是相反,运作一段时间后没有断开时,相应单位晶格的值可处理成无效(invalid)。
由此,在整个说明书中,为了方便说明,说明了数字值生成单元100生成一个数字值或数字值对的内容,但本发明也不仅局限于该内容。
因此,就算没有其他说明本领域技术人员也应理解,由于电路的可扩展性(scalability),该数字值生成单元中可包含N个单位晶格,生成N个数字值并锁定(或是存储)。
此外,在整个说明书中,虽然参照图2的熔断器单元210结构,说明了根据数字值生成单元110所生成的数字值进行物理性状态改变,从而锁定所述数字值的实施例,但是,该内容仅为本发明的实施例,也不排除通过生成的数字值来改变物理性结构,从而提供该生成的数字值的时不变性的其他任何变形实施例。
同时,根据本发明的一个实施例,所述数字值锁定单元120也可通过一次性可编程(One Time Programmable)的OTP元件来体现。
当然,在广义中,经物理性状态改变,将所述生成的数字值一次性存储的所述熔断器单元210也可理解为OTP元件,但是以下,熔断器210结构除外,以非易失性(Non Volatile)存储器为示例,将一次性可编程的元件称为OTP元件。该实施例将参照图3进行详细说明。
图3是示出根据本发明的另一个实施例的数字值锁定单元的示例性结构的示图。
在本实施例中,数字值生成单元110所生成的数字值对,通过out端子和out_bar端子被传输至控制单元330,经控制单元330的控制信号C和Cb,数字值锁定单元120中包含的OTP元件的门(gate)被控制,由此,所述数字值被编程至非易失性OTP元件310、320中。在这种情况下,所述数字值被一次性编程后将不改变。
因此,与图2的实施例中的熔断器单元210中所说明的相似,数字值生成单元110所生成的随机数字值的时不变性被保障。
例如,当通过out端子及out_bar端子,数字值“1”及数字值“0”被分别传输至控制单元330时,经控制单元330的控制信号C和Cb,数字值“1”被编程至OTP元件310中,且数字值“0”被编程至OTP元件320中,且该值不可重写。
根据实施例,OTP元件310、320两端的端子可分别与数字值生成装置100内的节点中的一部分连接,该连接的多种实例将参照图13、图15、和图17被说明。
物理性地体现OTP元件310、320的方法有多种实施例,本领域的技术人员所熟悉的有可编程只读存储器PROM(programmable read-only memory)或现场可编程只读存储器FPROM(Field Programmable read-only memory)。因此,有关该OTP元件310、320的物理性体现,在此不作详细说明,本领域的技术人员也应理解。
在上述图1至图3的实施例中,数字值生成装置100中最初电压(或电流)被认可的过程中,由于数字值生成单元110内的半导体元件的工程变差,数字值或数字值对被生成,且该值立即在熔断器单元210或OTP元件310、320中被物理性地锁定。
但是,根据实施例,也可将所述生成的数字值存储至非易失性存储器NVM(Non Volatile Memory)中,来代替上述的锁定(freezing)。该本发明的另一个实施例将参照图4被说明。
图4是示出根据本发明的另一个侧面的数字值生成装置400的框图。
当数字值生成单元410在out端子及out_bar端子分别生成互补性数字值时,该数字值被存储在作为非易失性存储器的数字值存储单元420中。
根据本发明的一个实施例,所述数字值存储单元420可通过上述的OTP元件被体现,也可通过多次可编程MTP(Multiple Time Programmable or MultiTime Programmable)元件被体现。
MTP元件也可理解为具重写(rewritable)特征的非易失性存储器(NVM)的概念。该MTP元件中可以是通常所熟悉的电可擦只读存储器(ElectricallyErasable and Programmable Read Only Memory)、闪存(Flash)、硅氧化氮氧化硅SONOS(Silicon-Oxide-Nitride-Oxide-Silicon)、铁电随机存储器FRAM(Ferroelectrics Random Access Memory)、和电阻式随机存储器RRAM(Resistive Random Access Memory)中的任何一个形态的非易失性存储器元件。
因此,当数字值存储单元420通过MTP元件被体现时,存在多种体现方式的实施例。
在图1至图3的实施例中,自数字值生成单元110生成数字值后,该值被物理性地编程至熔断器单元210或OTP元件310、320中,且由此编程的值,其具有不能物理性/电力地返回至之前的值的不可逆性(irreversibility)。因此,数字值显示为被锁定。
但是,虽然图4中所说明的本实施例中不能保障上述的不可逆性,但是,由于须减少制备/体现的成本或其他多种要求,将数字值生成单元410所生成的数字值存储(store)至作为非易失性存储元件的数字值存储单元420中时具有差异性。
因此,在图4的实施例中,由于数字值存储单元420可再次编程,不能提供如图1至图3的实施例所述的水准的时不变性,但是,如果防止对数字值存储单元420的重写(rewriting)的话,也可保障较高水准的时不变性。
在上述的说明书中,虽然提出了有关数字值存储单元420由非易失性存储元件被体现的内容,但是,本发明不排除可存储数字值生成单元410所生成的数字值并保障时不变性的其他任何形态的存储元件的变形。
通过上述说明,本领域的技术人员可充分理解使用数字值存储单元420的背景及其体现方法,在此,省略详细说明。以下,参照图5,对体现数字值生成单元110或410的多种实施例进行详细说明。
图5是用于说明根据本发明的一个实施例的数字值生成单元110或410的结构的示例性电路图。
根据本发明的一个实施例,数字值生成单元110或410可根据图5中所示出的电路500被体现。
第1逆变器510具有第1逻辑阈值(Threshold)。此外,第2逆变器520具有第2逻辑阈值。逻辑阈值(logic threshold)是逆变器的输入电压与输出电压为相同值的情况下的电压值。该逻辑阈值可测定为运作中的逆变器的输出端和输入端短路(short)的情况下的电压值。
在相同的工程中被制备的逆变器,虽然理论上被设计成具有相同的逻辑阈值,但是在如上所述的实际工程中,由于存在工程变差,实际上制备的任何两个逆变器不可能具备完全相同的逻辑阈值。
根据本发明的一个实施例,由于所述第1逆变器510和所述第2逆变器520在相同的制备工程中被制备,因此,具有起因于工程变差的逻辑阈值差异。
该逻辑阈值差异根据工程有所不同,例如,具有十至数十毫伏的差异大小。因此,在利用另外的比较器电路来测定所述第1逆变器510的逻辑阈值和所述第2逆变器520的逻辑阈值时,由于检测上的误差可能会不准确。
因此,在本实施例中,通过图5的电路500来体现可相对性地比较两个逆变器的逻辑阈值的(即,不使用另外的比较器电路的检测)方法。
根据电路500,通过相对地比较两个逆变器510、520之间的逻辑阈值,从而可判断哪一方的逻辑阈值较大。
在第2逆变器520不存在的情况下,第1逆变器510的输入端和输出端短路时,第1逆变器510的输出电压与所述第1逆变器510的逻辑阈值相同。
此外,在第1逆变器510不存在的情况下,第2逆变器520的输入端和输出端短路时,第2逆变器520的输出电压与所述第2逆变器520的逻辑阈值相同。
但是,如图5中所示出的,当第1逆变器510的输入端和第2逆变器520的输出端被短路并与第1节点501连接,且第1逆变器510的输出端和第2逆变器520的输入端被短路并与第2节点502连接时,具有与上述情况不同的结果。
在将开关530关闭(close)使所述第1节点501和所述第2节点502短路(short)时,短路的两个节点的电压值为所述第1逆变器510的逻辑阈值和所述第2逆变器520的逻辑阈值之间的特定值(如下,可能不是平均值)。
与上述两个逆变器510、520的逻辑阈值中哪一个值较高无关,所述开关530在关闭期间,第1节点510和第2节点502的电压为上述两个逆变器510、520的逻辑阈值之间的特定值。
然后,将开关530打开(open),使所述第1节点501和所述第2节点502之间开路(open)时,所述第1节点501和所述第2节点502中的任何一个电压值的逻辑电平(logical level)为“0”,且另一个逻辑电平为“1”。
例如,假设第1逆变器510的逻辑阈值比所述第2逆变器520的逻辑阈值低,所述开关530被关闭,从而第1节点501和第2节点502被短路期间的第1节点501的电压比所述第1逆变器510的逻辑阈值高。
因此,所述开关530重新打开,所述第1节点501和所述第2节点502之间被开路后,第1逆变器510将(自身的输入端)第1节点501的电压识别为高(High)逻辑电平,且由此,第1逆变器510的输出端第2节点502的电压设置为低(Low)逻辑电平。
在这种情况下,第2逆变器520将(自身的输入端)第2节点502的电压识别为低逻辑电平,且由此,第2逆变器520的输出端第1节点501的电压设置为高逻辑电平。
结果,电路500的输出(Out)第2节点502的逻辑电平较高。
相反,假设第1逆变器510的逻辑阈值比所述第2逆变器520的逻辑阈值高,所述开关530被关闭,从而第1节点501和第2节点502被短路期间的第1节点501的电压比所述第1逆变器510的逻辑阈值低。
因此,所述开关530重新打开,所述第1节点501和所述第2节点502之间被开路后,第1逆变器510将(自身的输入端)第1节点501的电压识别为低逻辑电平,且由此,第1逆变器510的输出端第2节点502的电压设置为低逻辑电平。
在这种情况下,第2逆变器520将(自身的输入端)第2节点502的电压识别为高逻辑电平,且由此,第2逆变器520的输出端第1节点501的电压设置为低逻辑电平。
结果,电路500的输出(Out)第2节点502的电压的逻辑电平较低。
如上所述,根据第1逆变器510的逻辑阈值和第2逆变器520的逻辑阈值中哪一方较高,来将开关530短路-开路后的输出(Out)的逻辑电平设置为高(数字值为“1”)或是低(数字值为“0”)。
但是,在相同的制备工程中所制备的第1逆变器510和第2逆变器520中,哪一方的逻辑阈值较高具随机性。此外,一旦制备后,哪一方的逻辑阈值较高不会轻易改变。除非逻辑阈值的差异较小,或是噪音、外部温度等环境变化较大时,哪一方的逻辑阈值较高可能会改变。在该情况下,虽然不经常发生,但是在用于安全/认证等识别密钥的体现中须保障较好的时不变性。
因此,通过电路500生成数字值时,该值被锁定在根据本发明的实施例的图1的数字值锁定单元120中,或是被存储在根据另一个实施例的图4的数字值存储单元420中,从而可保障时不变性。
同时,再次反复强调,电路500可理解为用于生成1比特(bit)的数字值的单位晶格(unit cell),当提供N个单位晶格时,可提供N比特的数字值,且就算以下没有说明,也应理解,在体现数字值生成单元110或410时具有扩展性。
有关所述逆变器的逻辑阈值差异的内容,将参照图6的图表来进行详细说明。
图6是示出参照图5所说明的实施例中第1逆变器510的逻辑阈值比第2逆变器520的逻辑阈值低的情况下电压特征(voltage characteristic)的曲线图。
曲线610为第1逆变器510的电压特征曲线,且曲线620为第2逆变器520的电压特征曲线。根据本发明的一个实施例,当第1逆变器510和第2逆变器520在相同的制备工程中被制备时,曲线610和曲线620虽然几乎相同,但由于工程变差,如图6所示具有一些差异。
通过曲线610与倾斜直线630的交点,可确定第1逆变器610的逻辑阈值V1。此外,通过曲线620和直线630的交点,可确定第2逆变器620的逻辑阈值V2。
在本实施例中,V1比V2低,因此,图5的开关530被关闭,所述第1节点501和所述第2节点502被短路时(以下称“Reset”),第1节点501和第2节点502的电压(VReset)可以是V1和V2之间的任何值。
此外,所述开关530重新打开,所述第1节点501和所述第2节点502被开路后,第1逆变器510将第1节点501的电压(VReset)识别为高逻辑电平,且由此,第1逆变器510的输出端第2节点502的电压设置为低逻辑电平。
在这种情况下,第2逆变器520将第2节点502的电压(VReset)识别为低逻辑电平,且由此,第2逆变器520的输出端第1节点501的电压设置为高逻辑电平。
因此,图5的电路500的输出(Out)第2节点502的电压的逻辑电平较高。
以上,参照图4至图5,对于利用半导体工程变差的元件之间的特征差异来说明随机的数字值的多种实施例中的利用逆变器的一个实施例进行了说明。
但是应理解,逆变器的结构并不仅局限于图5的电路500,在不超出本发明的思想范围下,利用半导体工程变差,并利用元件之间的特征值差异来生成随机的数字值的多种实施例可包含在本发明中。
同时,就算是不逆变器,也可通过多种电子电路,例如,差分放大器(Differential Amplifier)或锁存(Latch)电路等来体现数字值生成单元110或410。以下,参照图7至图9对多种实施例中的一部分进行说明。
图7是用于说明根据本发明的另一个实施例的数字值生成单元110或410的结构的示例性电路图。
在本实施例中,差分放大器电路700被用来体现数字值生成单元110或410。
当差分放大器的两个输入端711、712短路时,由于半导体工程变差,第1输出节点721和第2输出节点722中,输出互不相同的数字值,例如“1”和“0”。
差分放大器700是用来扩大第1输入端711和第2输入端712的电压差异,作为第1输入节点721和第2输入节点722之间电压差异的电路。
因此,当所述第1输入节点711和第2输入节点712短路时,理论上,作为输出的第1输出节点721和第2输出节点722之间的电压差异必须为“0”。
但是,差分放大器电路700中所包含的元件,例如,由于晶体管(Transistor)的半导体制备工程变差的电特征差异,两个输入节点711、712短路时,第1输出节点721的电压和第2输出节点722的电压差异不是“0”。
此外,不仅是上述晶体管元件的电特征差异,由于差分放大器电路内所包含的电阻、电容器、或电感器等无源元件(未示图)的电特征差异,也可能发生电压差异。
即,芯片制备时的工程变差可导致上述无源元件的形状/结构上的差异,由此,上述无源元件在实际的数值上具有差异。
因此,当输入节点711、712短路时,通过比较两个输出节点721、722中哪个输出端的电压较高时,可生成1比特的识别密钥。
例如,第1输入节点711和第2输入节点712短路的情况下,当第1输出节点721的电压值比第2输出节点722的电压值高时,数字值可为“1”,且相反的情况下,数字值可为“0”。
此外,如上所述,当单位晶格为N个时,可生成N比特的数字值。
图8是用于说明根据本发明的又另一个实施例的数字值生成单元的结构110或410的示例性电路图。
在本实施例中,利用SR锁存器(Set-Reset Latch)来体现数字值生成单元100或410。如图8所示,在SR锁存器的多个实施例中例示出图8(a)和(b)两种。
图8(a)为使用或非门(NOR gate)的体现,且图8(b)为使用与非门(NANDgate)的体现。
为了使或非门和与非门的体现中具有相同的逻辑输入及输出,与非门(b)体现中两个输入Sb和Rb分别为或非门体现(a)中的两个输入S和R的反转信号。
在本实施例中,为通过电路(a)或(b)来实现数字值生成单元110或410,首先S和R都输入1。
根据SR锁存器的理论性逻辑表(Logic Table),当S和R都输入逻辑值“0”时,作为输出值的Q和作为其反转值的Qb将不会定义(undefined)成具有任何值。此外,当S和R都输入逻辑值“1”时,作为输出值的Q和Qb都输出逻辑值“0”。在该状态中,S和R同时改变为“0”时,Q和Qb通过构成两个NOR的元件的特征值差异来互补性地决定其值。即,Q为“1”时,则Qb为“0”,或相反,Q为“0”时,则Qb为“1”。
上述两种情况中哪一种情况会成为实际的结果具随机性。这是由于构成电路(a)的或非门或电路(b)的与非门的元件特征(阈值电压、迁移率(mobility)等)互不相同,因此,其结果也不可预测。
因此,经图8(a)或(b)所体现的数字值生成单元110或410中可生成随机的数字值。
图9是用于说明根据本发明的又另一个实施例的数字值生成单元的结构的示例性电路图。
在利用SR锁存器的方面与图8相似,输出节点Q和Qb之间附加有开关910。
此外,输入节点S和R都输入逻辑值“0”,并将开关910关闭。由此,输出节点Q和Qb的电压为相同的值,该值为相当于逻辑值“1”的电压值和相当于逻辑值“0”的电压值之间的任何特征值。
之后,重新将开关910打开,根据各或非门的逻辑阈值,当输出节点Q为“1”,且Qb为“0”时,或相反,输出节点Q为“0”且Qb为“1”时,所述两种情况中哪一种情况会成为实际的结果具随机性。
与上述的图8相同,该随机性与构成或非门的元件的特征(阈值电压、迁移率等)互不相同,因此,其结果也不可预测。
因此,通过图9所示出的电路被体现数字值生成单元110或410中可生成随机的数字值。
以下,参照图10来说明将数字值锁定单元120结合至数字值生成单元110中从而来体现数字值生成装置100的具体的电路图。
图10是示出示例性数字值生成装置的电路结构的示图,根据图2的实施例的数字值锁定单元120被结合至根据图8的利用SR锁存器的实施例的数字值生成单元中。
数字值生成单元1010的结构可理解为是参照图8所述的SR锁存器的具体的电路体现。
通过数字值生成单元1010,两个输出端out和out_bar中分别生成不同的数字值,例如:“1”和“0”。根据该结果,数字值锁定单元1020内的熔断器1021中的任何一方认可接收过电流并断开。
因此,当电力地识别出哪一方的熔断器断开时,便可识别由数字值生成单元1010生成的并由数字值锁定单元1020被锁定的数字值。
熔断器被断开的过程可参照图11的图表进行说明。
图11是用于说明根据图10的实施例在数字值锁定单元1020中执行数字值锁定的过程的示例性图表。
图10的数字值生成单元1010被初始驱动时(First operation),由于输出out和out_bar的差异,例如熔断器2中过电流被认可,且熔断器2被断开,因此,数字值被锁定。
此外,图10中构成的熔断器1021的配置示例仅为本发明的多种实施例中的一部分。因此,以下,参照图12来对图10中的示例以外的熔断器的多种配置来进一步进行说明。
图12是示出根据本发明的多种实施例,数字值锁定单元配置在数字值生成装置内的示例性电路图。
(a)示出通过SR锁存器被体现的数字值生成单元,(b)至(d)示出可与SR锁存器一起配置的熔断器的多个位置1210、1220、1230。
对于具体运作,可通过上述图8至图11被充分理解,在此,省略详细的说明。
此外,如图3中所述,也可通过OTP元件来执行数字值锁定,来代替所述熔断器,该实施例将参照图13来进行说明。
图13是用于说明根据本发明的另一个实施例,数字值锁定单元通过OTP元件被体现时,数字值锁定单元的多种结构的电路图。
与图12相同,(a)示出通过SR锁存器被体现的数字值生成单元,(b)至(d)示出可与SR锁存器一起配置的OTP元件的多个位置1310、1320、1330。
与此相同,通过该元件,数字值被锁定的过程可通过图3等被充分理解,在此,省略详细的说明。
以下,不仅是SR锁存器的结构,还根据图5至图6中所述的利用逆变器的实施例,示出数字值锁定单元被结合至数字值生成单元的多种电路配置的示例,
图14是示出根据本发明的另一个实施例,数字值生成单元通过图5的实施例被体现时,数字值锁定单元配置在数字值生成装置内的多种示例性电路图。
(a)示出通过图5中所述的逆变器被体现的数字值生成单元,(b)至(e)示出可与逆变器一起配置的熔断器的多个位置1410、1420、1430、1440。
此外,在本实施例中,也可通过OTP元件来执行数字值锁定,来代替所述熔断器,该实施例在图15中被提出。
图15是用于说明根据本发明的另一个实施例,数字值生成单元通过图5的实施例被体现,且数字值锁定单元通过OTP元件被体现时,数字值锁定单元的多种结构的电路图。
与图14相同,(a)示出通过逆变器被体现的数字值生成单元,(b)至(e)示出可与逆变器一起配置的OTP元件的多个位置1510、1520、1530、1540。
图16是示出根据本发明的另一个实施例,数字值生成单元通过图7的实施例被体现时,数字值锁定单元配置在数字值生成装置内的多种示例性电路图。
(a)示出通过图7中所述的差分放大器被体现的数字值生成单元,(b)至((d)示出可与差分放大器一起配置的熔断器的多个位置1610、1620、1630。
此外,在本实施例中,也可通过OTP元件来执行数字值锁定,来代替所述熔断器,该实施例在图17中被提出。
图17是用于说明根据本发明的另一个实施例,数字值生成单元通过图7的实施例被体现,且数字值锁定单元通过OTP元件被体现时,数字值锁定单元的多种结构的电路图。
与图16相同,(a)示出通过差分放大器被体现的数字值生成单元,(b)至(d)示出可与差分放大器一起配置的OTP元件的多个位置1710、1720、1730。
图18是示出根据本发明的另一个侧面的数字值生成方法的流程图。
在步骤1810中,图1的数字值生成装置100的数字值生成单元110中输入信号被认可。该输入信号认可也可理解为电压认可、电流驱动、初始驱动(first operation)等。
由此,在步骤1820中,数字值生成单元110利用起因于半导体工程变差的半导体元件的特性值差异,来生成数字值。数字值生成单元110在步骤1820中生成随机的数字值的过程与图1至图3、图5至图9中所述的相同。
在步骤1830中,数字值锁定单元120将所述步骤1820中生成的随机的数字值锁定,从而保障时不变性。
该数字值的锁定过程与图2至图3、图10至图17中所述的相同。
图19是示出根据本发明的又另一个侧面的数字值生成方法的流程图。
在步骤1910中,输入信号被认可,且数字值生成单元410生成随机数字值的过程与图18的步骤1810至1820相似。
但是,与图18的实施例不同的是,生成的随机数字值被存储在图4中所述的数字值存储单元420中。有关数字值存储单元420的多种实施例与图4中所述的相同。
根据上述的本发明的多种实施例,利用半导体制备工程上的工程变差来生成随机的数字值,并通过将数字值锁定或存储来保障时不变性,使该数字值不会因时间流逝的元件老化(aging)、周围环境(例如温度)的变化、噪音等被改变。
因此,可提供一种具可靠性的随机数字值,在包括安全/认证的多种应用领域中作为识别密钥来使用。
根据本发明的实施例的方法可通过多种计算机手段以可执行的程序指令形态被记录在计算机可读媒体中。该媒体计算机可读媒体可包括独立的或结合的程序指令、数据文件、数据结构等。媒体和程序指令可为了本发明被专门设计和创建,或为计算机软件技术人员熟知而应用。计算机可读媒体的例子包括:磁媒体(magnetic media),如硬盘、软盘和磁带;光学媒体(opticalmedia),如CD ROM、DVD;磁光媒体(magneto-optical media),如光盘(floptical disk);和专门配置为存储和执行程序指令的硬件装置,如只读存储器(ROM)、随机存取存储器(RAM)等。程序指令的例子,既包括由编译器产生的机器代码,也包括使用解释程序并可通过计算机被执行的高级语言代码。为执行本发明的运作,所述硬件装置可被配置为以一个以上软件模来运作,反之亦然。
如上所示,本发明虽然已参照有限的实施例和附图进行了说明,但是本发明并不局限于所述实施例,在本发明所属领域中具备通常知识的人均可以从此记载中进行各种修改和变形。
因此,本发明的范围不受说明的实施例的局限或定义,而是由后附的权利要求范围以及权利要求范围等同内容定义。