随机位产生器及随机数值产生器的制作方法

文档序号:19745573发布日期:2020-01-21 18:20阅读:161来源:国知局
随机位产生器及随机数值产生器的制作方法

本发明是有关于一种随机位产生器,特别是一种利用短通道效应(shortchanneleffect)来实作的随机位产生器。



背景技术:

随着电子装置所应用的领域越来越广泛,不同电子装置之间以及电子装置内部通讯的信息安全也引起了各方的关注。由于芯片和电子装置的逆向工程已经进入到自动化的阶段,物理和旁通道的攻击的能力日渐强大,而所耗费的成本却愈来愈低。因此,想要防止电子装置受到未授权者的存取也变得越来越困难。

在现有技术中,物理不可克隆功能(physicalunclonablefunction,puf)电路因为其固有的特性,常被应用来生成随机数值以作为安全密钥,并保护系统免受物理攻击。然而,大多数的物理不可克隆功能电路是根据制造过程中,内部晶体管的特性变化所导致微小的电路性能变化来产生随机位。由于这些特性变化可能非常小,因此这类型的物理不可克隆功能电路很容易受到外在环境条件的影响,例如供电电压,温度,噪声,电磁波等的变化,使得其所产生的随机数值不具稳定性而无法重复产生。另外,由于随机数值的产生过程在很多情况下都会实质改变内部晶体管的结构,因此物理不可克隆功能电路容易因为长久使用而遭受劣化,同时外人也可能通过分析物理不可克隆功能电路的内部结构变化来追踪并得知其所产生的随机数值。



技术实现要素:

本发明的一实施例提供一种随机位产生器。随机位产生器包括电压源、位数据单元及感测控制电路。

电压源在注册操作时提供扫描电压。位数据单元包括第一晶体管及第二晶体管。第一晶体管具有第一端、第二端及控制端,第一晶体管的第一端耦接于第一位线,第一晶体管的第二端耦接于电压源。第二晶体管具有第一端、第二端及控制端,第二晶体管的第一端耦接于第二位线,第二晶体管的第二端耦接于电压源。

感测控制电路耦接于第一位线及第二位线。感测控制电路根据第一晶体管及第二晶体管在位数据单元的注册操作期间所产生的电流输出随机位。

本发明的另一实施例提供一种随机数值产生器。随机数值产生器包括电压源、第一选择电路、第二选择电路、多个位数据单元及感测控制电路。

电压源在注册操作时提供扫描电压。第一选择电路耦接于第一主位线及第二主位线。第二选择电路耦接于电压源。

每一位数据单元包括第一晶体管及第二晶体管。第一晶体管具有第一端、第二端及控制端,第一晶体管的第一端耦接于第一选择电路,第一晶体管的第二端耦接于第二选择电路。第二晶体管具有第一端、第二端及控制端,第二晶体管的第一端耦接于第一选择电路,第二晶体管的第二端耦接于第二选择电路。

感测控制电路经由第一主位线及第二主位线耦接至第一选择电路。在第一位数据单元的注册操作中,第一选择电路在第一主位线及第一位数据单元之间形成电性连接,并在第二主位线及第一位数据单元之间形成电性连接。第二选择电路在电压源及第一位数据单元之间形成电性连接。感测控制电路根据第一主位线及第二主位线的电流输出随机位。

附图说明

图1是本发明一实施例的随机位产生器的示意图。

图2是本发明另一实施例的随机位产生器的示意图。

图3是本发明另一实施例的随机位产生器的示意图。

图4是本发明另一实施例的随机位产生器的示意图。

图5是本发明一实施例的随机数值产生器的示意图。

其中,附图标记说明如下:

100、200、300随机位产生器

110、410电压源

120、220、4201至420n位数据单元

122a、122b、m1、m2、222a、晶体管

222b、422a、422b

130、230、330、430感测控制电路

132、232锁存器

inv1、inv2反相器

bl1、bl2位线

mbl1、mbl2主位线

b1、b2随机位

vs扫描电压

234、236放大器

v0参考电压

332差动放大器

334模拟至数字转换器

400随机数值产生器

440第一选择电路

450第二选择电路

442a、442b、452a、452b开关

具体实施方式

图1是本发明一实施例的随机位产生器100的示意图。随机位产生器100包括电压源110、位数据单元120及感测控制电路130。

位数据单元120包括第一晶体管122a及第二第晶体122b。在图1中,第一晶体管122a及第二晶体管122b都是n型晶体管。第一晶体管122a具有第一端、第二端及控制端,第一晶体管122a的第一端耦接于第一位线bl1,第一晶体管122a的第二端耦接于电压源110,而第一晶体管122a的控制端可耦接于第一晶体管122a的第一端。第二晶体管122b具有第一端、第二端及控制端,第二晶体管122b的第一端耦接于第二位线bl2,第二晶体管122b的第二端耦接于电压源110,而第二晶体管122b的控制端可耦接于第二晶体管122b的第一端。此外,感测控制电路130可耦接于第一位线bl1及第二位线bl2。

在有些实施例中,第一晶体管122a及第二晶体管122b可以设计成具有相同的尺寸。然而即便如此,由于制程上所造成的差异,例如但不限于,在光刻程序(lithographicprocess)及/或蚀刻图案程序(etchingpatterningprocess)中所造成的差异,第一晶体管122a及第二晶体管122b的通道长度实际上并不会完全相同。也就是说,通道长度的变异是无法避免的,即使两个晶体管122a及122b是摆放在邻近的位置上,两者的通道长度变异仍然会存在。

由于第一晶体管122a及第二晶体管122b的通道长度相异,因此欲将第一晶体管122a及第二晶体管122b的通道势垒降低以引发贯穿电流(punchthroughcurrent)所需的电压也不同。图2是晶体管m1及m2的通道势垒图。在图2中,晶体管m1及m2被施予相同的电压,然而晶体管m1的通道长度会大于晶体管m2的通道长度。在此情况下,晶体管m2的漏端引入的势垒降低(draininducedbarrierlowering)会比晶体管m1的漏端引入的势垒降低来得显著。也就是说,相较于晶体管m1,晶体管m2将会在较低的漏端电压下,先引发出贯穿电流。因此,当漏端电压达到一特定值时,晶体管m2会开始引发贯穿电流,然而晶体管m1则不会引发贯穿电流。

此外,由于贯穿电流是与势垒降低之间呈现指数比例关系,因此即使通道长度变化看起来很小,也可以容易地观察到这种现象。

为了能够引发贯穿电流并且将晶体管122a及122b的差异记录下来,也就是为了能将随机位注册下来,电压源110可以提供扫描电压vs以使晶体管122a及122b的其中之一引发贯穿电流,而感测控制电路130则可根据晶体管122a及122b所产生的电流来输出并储存随机位。

在有些实施例中,在位数据单元120的注册操作期间,扫描电压vs将会自一个默认电压开始提升。这个默认电压可以例如但不限于是系统的参考电压或地电压。随着扫描电压vs逐渐提高,通道长度较短的晶体管将会先被贯穿而开始产生电流。举例来说,如果第一晶体管122a的通道长度较短,则第一晶体管122a将会率先开始产生电流,因此第一位线bl1将会被充电。随着第一位线bl1上的电压提升,感测控制电路130便可对应地输出并储存数据位。

举例来说,在图1中,感测控制电路130可包括锁存器132。锁存器132具有第一数据端及第二数据端。锁存器132的第一数据端可耦接于第一位线bl1,锁存器132的第二数据端可耦接于第二位线bl2。在此情况下,当第一位线bl1的电压提升时,锁存器132就会被触发,进而提升第一数据端的电压,并将第二数据端的电压固定在低电压。一旦锁存器132的第一数据端达到高电压而其第二数据端被固定在低电压时,锁存器132就进入了稳定状态,而两端的电压将会固定而被储存下来。因此,第一位线bl1将会保持在高电压,例如但不限于表示随机位b1为“1”,而第二位线bl2将会保持在低电压,例如但不限于表示随机位b2为“0”。也就是说,锁存器132可以根据第一数据端及第二数据端的电压,输出并储存随机位b1以及与随机位b1互补的随机位b2。在有些实施例中,随机位b1及b2可以以差动对的方式输出,然而在有些实施例中,也可单纯输出随机位b1及b2的其中一者。

在图1中,锁存器132可包括第一反相器inv1及第二反相器inv2。第一反相器inv1具有输入端及输出端,第一反相器inv1的输入端耦接于锁存器132的第一资料端,而第一反相器inv1的输出端耦接于锁存器132的第二资料端。第二反相器inv2具有输入端及输出端,第二反相器inv2的输入端耦接于锁存器132的第二资料端,而第二反相器inv2的输出端耦接于锁存器132的第一资料端。然而在有些实施例中,锁存器132也可能利用其他的结构来实作。

此外,在注册期间,当感测控制电路130输出第一数据位b1时,扫描电压vs便会停止提升以免另一个晶体管也被贯穿而产生电流。

由于通道长度的变异难以预测也无法控制,因此随机数位产生器100根据晶体管122a及122b原生特性所产生的随机数位很适合信息安全的应用。此外,引发贯穿电流所需的电压会小于第一晶体管122a的击穿电压也小于第二晶体管122b的击穿电压。举例来说,在有些实施例中,晶体管122a及122b的击穿电压可能高于10v,然而引发贯穿电流所需的电压可能仅为1.6v。由于操作电压较低,因此注册操作可以在电源开关之后重复执行而不会损坏第一晶体管122a及第二晶体管122b的结构。

此外,在本实施例中,由于随机位b1及b2可储存在类似于静态随机存取内存单元的锁存器132中,因此随机位b1及b2会在系统断电时流失。然而,由于通道长度的变异并不会受到外在环境变化的影响,因此随机位的产生是稳定而可重复的。也就是说,当系统再次上电时,还是可以产生出具有相同数值的随机位b1及b2。此外,为了确保随机位产生器100能够重复产生相同的随机位b1及b2,锁存器132可以在每次的注册操作之前先进行重置,以免随机位b1及b2的值受到未知电路状态的影响。由于随机位b1及b2可以在需要时才生成,因此随机位b1及b2具有难以跟踪的特性,也因此可以进一步提高安全性。

在图1中,第一晶体管122a的控制端可以耦接至第一晶体管122a的第一端,而第二晶体管122b的控制端可以耦接至第二晶体管122b的第一端。然而在有些实施例中,第一晶体管122a的控制端及第二晶体管122b的控制端也可以处在浮接状态。

在有些实施例中,第一晶体管122a及第二晶体管122b可以是金属氧化物半导体(metal-oxide-semiconductor,mos)场效晶体管。然而在有些实施例中,第一晶体管122a及第二晶体管122b也可以是硅-氧化物-氮化物-氧化物-硅(silicon–oxide–nitride–oxide–silicon,sonos)晶体管或氧化物-氮化物-氧化物(oxide–nitride–oxide,ono)晶体管。此外,在图1中,第一晶体管122a及第二晶体管122b都是n型晶体管,然而在有些其他实施例中,第一晶体管122a及第二晶体管122b也可以是p型晶体管。

图3是本发明另一实施例的随机位产生器200的示意图。随机位产生器100及200具有相似的结构并且可以根据相似的原理操作。然而在图3中,位数据单元220的第一晶体管222a及第二晶体管222b可以是p型晶体管。在此情况下,第一晶体管222a的控制端可以耦接至第一晶体管222a的第二端,而第二晶体管222b的控制端可以耦接至第二晶体管222b的第二端。然而,在有些实施例中,第一晶体管222a的控制端及第二晶体管222b的控制端也可以根据系统的需求而改成浮接。

此外,在图3中,感测控制电路230还可包括锁存器232、第一放大器234及第二放大器236。第一放大器234具有第一输入端、第二输入端及输出端,第一放大器234的第一输入端可耦接于第一位线bl1,第一放大器234的第二输入端可接收参考电压v0,而第一放大器234的输出端可耦接于第一主位线mbl1。第二放大器236具有第一输入端、第二输入端及输出端,第二放大器236的第一输入端可耦接于第二位线bl2,第二放大器236的第二输入端可接收参考电压v0,而第二放大器236的输出端可耦接于第二主位线mbl2。

锁存器232具有第一数据端及第二数据端,锁存器232的第一数据端可经由第一主位线mbl1耦接至第一放大器234的输出端,而锁存器232的第二数据端可经由第二主位线mbl2耦接至第二放大器236的输出端。在此情况下,锁存器232可以根据其第一数据端及第二数据端的电压来输出并储存随机位b1及b2。第一放大器234及第二放大器236可以让电压变化更加剧烈,使得注册操作所需的时间可以被缩短。然而,在有些实施例中,如果电压变化已经足够迅速,则亦可将第一放大器234及第二放大器236省略,如随机位产生器100。

在图1及图3中,感测控制电路130及230可以利用锁存器132及232来感测电压变化,并且可以储存随机位。然而,在有些其他实施例中,感测控制电路也可以利用其他类型的电路,例如静态随机存取内存(staticrandomaccessmemory,sram)单元来感测电压变化并储存随机位。

图4是本发明另一实施例的随机位产生器300的示意图。随机位产生器100及300具有相似的结构并且可以根据相似的原理操作。然而,随机位产生器300的感测控制电路330可包括差动放大器332及模拟至数字转换器334。

差动放大器332具有第一输入端、第二输入端及输出端,差动放大器332的第一输入端可耦接于第一位线bl1,而差动放大器332的第二输入端可耦接于第二位线bl2。模拟至数字转换器334可耦接于差动放大器332的输出端,并且可以根据差动放大器332输出端的电压信号经由主位线mbl1输出随机位b1。也就是说,差动放大器332可以根据第一位线bl1及第二位线bl2的电压差输出电压信号,而模拟至数字转换器334则可进一步将此电压信号转换为数字信号,例如“1”或“0”,以指示随机位b1的值。在此情况下,随机位b1可以直接由后续的电路取用,也可以通过系统中的缓存器来储存。

在有些实施例中,为了产生安全密钥以进行授权或者产生加密数据所需的加密字符串,系统可能会需要多个随机位以提供所需的随机数值。

图5是本发明一实施例的随机数值产生器400的示意图。随机数值产生器400包括电压源410、位数据单元4201至420n、感测控制电路430、第一选择电路440及第二选择电路450,其中n为正整数。

第一选择电路440可耦接于第一主位线mbl1及第二主位线mbl2,而第二选择电路450可耦接于电压源410。每一个位数据单元4201至420n可包括第一晶体管422a及第二晶体管422b。第一晶体管422a具有第一端、第二端及控制端,第一晶体管422a的第一端可耦接于第一选择电路440,第一晶体管422a的第二端可耦接于第二选择电路450。第二晶体管422b具有第一端、第二端及控制端,第二晶体管422b的第一端可耦接于第一选择电路440,第二晶体管422b的第二端可耦接于第二选择电路450。感测控制电路430可经由第一主位线mbl1及第二主位线mbl2耦接至第一选择电路440。

在此情况下,第一选择电路440及第二选择电路450可以用来选择欲执行注册操作的位数据单元。举例来说,在第一位数据单元4201的注册操作期间,第二选择电路450可以在电压源410及第一位数据单元4201之间形成电性连接。因此第一位数据单元4201中的第一晶体管422a的第二端及第二晶体管422b的第二端都会接收到逐渐提升的扫描电压vs。此外,第一选择电路440会在第一主位线mbl1及第一位数据单元4201之间形成电性连接,并在第二主位线mbl2及第一位数据单元4201之间形成电性连接。如此一来,感测控制电路450就可以接收第一位数据单元4201中第一晶体管422a或第二晶体管422b所产生的贯穿电流,并且可以根据第一主位线mbl1及第二主位线mbl2上的电流来输出第一位数据单元4201所产生的随机位。

也就是说,通过第一选择电路440及第二选择电路450,位数据单元4201至420n就可以利用相同的电压源410及相同的感测控制电路430来进行个别的注册操作。

在图5中,第一选择电路440可包括多个开关以控制感测控制电路430与位数据单元4201至420n之间的电性连接。举例来说,为了控制控制感测控制电路430与位数据单元4201之间的电性连接,第一选择电路440可以包括第一开关442a及第二开关442b。第一开关442a可耦接于第一主位线mbl1及位数据单元4201的第一晶体管422a的第一端。相似地,第二开关442b可耦接于第二主位线mbl2及位数据单元4201的第二晶体管422b的第一端。

相似地,为了控制电压源410与位数据单元4201之间的电性连接,第二选择电路450可包括第一开关452a及第二开关452b。第一开关452a可耦接于电压源410及位数据单元4201的第一晶体管422a的第二端,而第二开关452b可耦接于电压源410及位数据单元4201的第二晶体管422b的第二端。

虽然在图5中,位数据单元4201至420n可以设置在相同一行,且每一个位数据单元4201至420n可以根据对应的控制信号被选取来执行注册操作,然而在有些实施例中,位数据单元4201至420n也可以例如以内存阵列的形式来设置,而第一选择电路440及第二选择电路450也可包括更多的开关来建立寻址译码的电路以选择欲执行注册操作的位数据单元。

利用随机数值产生器400所产生的随机数值,系统就可以产生独特的安全密钥以进行授权或是对传输数据进行加密以保护传输数据,使得系统的信息安全能够提升。此外,由于随机数值产生器400可以通过位数据单元4201至420n重复产生相同的随机数值,因此随机数值可以储存在静态随机随取内存单元中,使得随机数值产生器400所产生的随机数值难以复制。

综上所述,本发明的实施例所提供的随机位产生器及随机数值产生器可以根据内部晶体管的通道长度变异所导致的贯穿电流大小来产生随机位。由于通道长度的变异不会受到外在环境条件的影响,因此本发明的随机位产生器及随机数值产生器可以产生稳定且可重复的随机位。此外,通过将随机位储存在如静态随机存取内存单元的闩锁电路中,当系统断电时,随机位的数值就无法再被追踪,增加复制随机数值的困难度,进而提升信息安全。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1