亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安全隨機(jī)數(shù)生成器的制作方法

文檔序號(hào):6479796閱讀:582來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):安全隨機(jī)數(shù)生成器的制作方法
安全隨機(jī)數(shù)生成器技術(shù)領(lǐng)域
本發(fā)明總體上涉及電氣、電子以及計(jì)算機(jī)領(lǐng)域,并且更具體地說(shuō),涉及隨機(jī)數(shù)生 成。
背景技術(shù)
在包括但不限于電子商務(wù)(e-commerce)、便攜式通信裝置(例如,蜂窩電話(huà))、固 態(tài)介質(zhì)存儲(chǔ)裝置等的特定應(yīng)用中,需要安全碼,以便保護(hù)所存儲(chǔ)的數(shù)據(jù)和/或裝置的使用。 安全碼或?qū)С鲞@種安全碼的代碼或數(shù)字典型地存儲(chǔ)在嵌入集成電路(IC)芯片內(nèi)的非易失 性存儲(chǔ)器(舉例來(lái)說(shuō),如閃速存儲(chǔ)器或可一次編程(OTP)存儲(chǔ)器)中。使用非易失性存儲(chǔ) 器以確保當(dāng)芯片斷電時(shí)該安全碼保持在主機(jī)芯片中。為了提供安全環(huán)境,迫切需要的是,安 全碼不可被已知觀察或逆向工程方法檢測(cè)。遺憾的是,將安全碼存儲(chǔ)在嵌入式非易失性存 儲(chǔ)器內(nèi)的大多數(shù)常規(guī)方法可以通過(guò)視覺(jué)檢測(cè)、掃描電子顯微鏡(SEM)成像以及/或者電荷 測(cè)量技術(shù)來(lái)檢測(cè)。
例如,嵌入式閃速存儲(chǔ)器是可以利用特有的安全碼來(lái)編程的非易失性存儲(chǔ)器。然 而,閃速存儲(chǔ)器單元的編程數(shù)據(jù)狀態(tài)可以通過(guò)已知電荷測(cè)量方法來(lái)確定。OTP存儲(chǔ)器(其包 括氧化物擊穿反熔絲存儲(chǔ)器(oxide breakdown antifuse memory)和金屬或多晶硅(聚) 熔絲存儲(chǔ)器(p0lysiliC0n(p0ly) fuse memory))可以利用特有的安全碼來(lái)編程并且是非易 失性的。然而,該存儲(chǔ)器單元的編程數(shù)據(jù)可以通過(guò)利用SEM或另選成像技術(shù)檢查反熔絲存 儲(chǔ)器中的柵極氧化物擊穿區(qū)來(lái)確定。同樣地,金屬或多晶硅熔絲存儲(chǔ)器中的相應(yīng)單元的編 程數(shù)據(jù)狀態(tài)可以通過(guò)層去除和視覺(jué)檢測(cè)來(lái)確定。因而,用于將安全碼編程到非易失性存儲(chǔ) 器中的常規(guī)方法缺乏足夠的安全保證,因此并不是所希望的。
作為用于將安全碼編程到非易失性存儲(chǔ)器中的另選例,安全碼可以在主機(jī)芯片之 外生成(例如,至少部分地基于代碼或隨機(jī)數(shù)生成器)、傳送至該芯片并接著存儲(chǔ)在該芯片 內(nèi)嵌入的非易失性存儲(chǔ)器中。然而,這種方法并不是所希望的,其容易受到竊取,主要因?yàn)?該安全碼在主機(jī)芯片環(huán)境之外獲知,并由此可能被截取和/或操縱。
因此,需要針對(duì)用于確保所存儲(chǔ)的數(shù)據(jù)和/或裝置使用的安全性的、不會(huì)受到由 常規(guī)方法展示的一種或多種限制的技術(shù)。發(fā)明內(nèi)容
本發(fā)明的實(shí)施例通過(guò)提供用于安全隨機(jī)數(shù)生成的技術(shù)來(lái)滿(mǎn)足上述需要。通過(guò)在芯 片內(nèi)可重復(fù)地生成、本質(zhì)上不可能利用已知觀察和/或逆向工程方法發(fā)現(xiàn)的隨機(jī)數(shù),本發(fā) 明的技術(shù)提供用于安全碼的視覺(jué)防盜的非易失性存儲(chǔ)器存儲(chǔ)。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種隨機(jī)數(shù)生成器電路。該隨機(jī)數(shù)生成器電路包 括具有多個(gè)存儲(chǔ)部件的第一存儲(chǔ)器。所述多個(gè)存儲(chǔ)部件中的每一個(gè)存儲(chǔ)部件在通過(guò)施加至 所述第一存儲(chǔ)器的電壓源加電時(shí)都具有與其相對(duì)應(yīng)的初始狀態(tài)。所述第一存儲(chǔ)器可操作用 于生成包括指示所述多個(gè)存儲(chǔ)部件的相應(yīng)初始狀態(tài)的多個(gè)比特的第一信號(hào)。所述隨機(jī)數(shù)生成器電路還包括耦接至所述第一存儲(chǔ)器的錯(cuò)誤修正電路。所述錯(cuò)誤修正電路可操作用于接 收所述第一信號(hào),并且修正所述第一信號(hào)中的、在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)不可 重復(fù)的至少一個(gè)比特,由此生成第二信號(hào)。所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加 電力時(shí)可重復(fù)的隨機(jī)數(shù)??梢詫⒁粋€(gè)或多個(gè)隨機(jī)數(shù)生成器電路包括在集成電路中。
根據(jù)本發(fā)明的另一方面,一種用于生成安全隨機(jī)數(shù)的方法包括以下步驟向第一 存儲(chǔ)器加電,該第一存儲(chǔ)器包括多個(gè)存儲(chǔ)部件,所述多個(gè)存儲(chǔ)部件中的每一個(gè)存儲(chǔ)部件在 加電時(shí)都具有與其相對(duì)應(yīng)的初始狀態(tài);生成第一信號(hào),該第一信號(hào)包括指示所述多個(gè)存儲(chǔ) 部件的相應(yīng)初始狀態(tài)的多個(gè)比特;以及修正所述第一信號(hào)中的非可重復(fù)比特,由此生成第 二信號(hào),所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)可重復(fù)的隨機(jī)數(shù)。
根據(jù)本發(fā)明的又一方面,一種電子系統(tǒng)包括至少一個(gè)集成電路,該至少一個(gè)集成 電路包括至少一個(gè)隨機(jī)數(shù)生成器電路。所述隨機(jī)數(shù)生成器電路包括第一存儲(chǔ)器,該第一存 儲(chǔ)器包括多個(gè)存儲(chǔ)部件。所述多個(gè)存儲(chǔ)部件中的每一個(gè)存儲(chǔ)部件在通過(guò)施加至所述第一存 儲(chǔ)器的電壓源加電時(shí)都具有與其相對(duì)應(yīng)的初始狀態(tài)。所述第一存儲(chǔ)器可操作用于生成包括 指示所述多個(gè)存儲(chǔ)部件的相應(yīng)初始狀態(tài)的多個(gè)比特的第一信號(hào)。所述隨機(jī)數(shù)生成器電路還 包括耦接至所述第一存儲(chǔ)器的錯(cuò)誤修正電路。所述錯(cuò)誤修正電路可操作用于接收所述第一 信號(hào),并且修正所述第一信號(hào)中的非可重復(fù)比特,由此,生成第二信號(hào),作為所述隨機(jī)數(shù)生 成器電路的輸出。所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)可重復(fù)的隨機(jī)數(shù)。 可以將一個(gè)或多個(gè)隨機(jī)數(shù)生成器電路包括在集成電路中。
根據(jù)下面結(jié)合附圖閱讀的、本發(fā)明的例示性實(shí)施例的詳細(xì)描述,本發(fā)明的這些和 其它特征、目的以及優(yōu)點(diǎn)將變清楚。


圖1是描繪可以結(jié)合本發(fā)明的實(shí)施例使用的示例性靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM) 陣列的示意圖。
圖2是描繪根據(jù)本發(fā)明的實(shí)施例的示例性隨機(jī)數(shù)生成器電路的框圖。
圖3A描繪了根據(jù)本發(fā)明的實(shí)施例的、用于編程圖2中所示錯(cuò)誤代碼存儲(chǔ)器的示例 性方法中的步驟。
圖IBB描繪了根據(jù)本發(fā)明的實(shí)施例的、用于重新調(diào)用修正的隨機(jī)數(shù)的示例性方法 中的步驟。
圖4是描繪根據(jù)本發(fā)明的實(shí)施例的、包括至少一個(gè)安全隨機(jī)數(shù)生成器電路的示例 性封裝IC的局部截面圖。
具體實(shí)施方式
在此,在示例性存儲(chǔ)器電路、隨機(jī)數(shù)生成器電路以及隨機(jī)數(shù)生成方法的背景下,對(duì) 本發(fā)明進(jìn)行描述。然而,應(yīng)當(dāng)理解,本發(fā)明的技術(shù)不限于在此示出和描述的電路和方法。相 反,本發(fā)明的實(shí)施例廣泛地涉及提供用于確保所存儲(chǔ)的數(shù)據(jù)和/或裝置使用的安全性的技 術(shù)。通過(guò)在芯片內(nèi)可重復(fù)地生成、本質(zhì)上不可能利用已知觀察和/或逆向工程方法來(lái)獲致 的隨機(jī)數(shù),例示實(shí)施例提供用于安全碼的視覺(jué)防盜的非易失性存儲(chǔ)器存儲(chǔ)。盡管本發(fā)明的 優(yōu)選實(shí)施例可以在硅晶片中制造,但本發(fā)明的實(shí)施例可以另選地在包括其它材料(包括但不限于砷化鎵(GaAs)、磷化銦αηΡ)等)的晶片中制造。
圖1是描繪可以結(jié)合本發(fā)明的實(shí)施例使用的示例性SRAM陣列18的示意圖。SRAM 陣列18包括采用N行與M列的陣列來(lái)布置的多個(gè)SRAM單元20,其中,N和M是整數(shù),并且 單元駐留在行與列的每一個(gè)交叉處。與SRAM陣列18中的指定行相對(duì)應(yīng)的SRAM單元20優(yōu) 選地連接至公共行線(還稱(chēng)為字線)(例如,Row 0或Row N)。同樣地,與指定列相對(duì)應(yīng)的 SRAM單元20連接至一對(duì)公共互補(bǔ)列線(還稱(chēng)為比特線)(例如,Column 0和ColumnC 0, 或Column M和ColumnC M)。在每一對(duì)列線中,ColumnC表示Column的邏輯互補(bǔ)。
每一個(gè)SRAM單元20都優(yōu)選為六個(gè)晶體管單元,包括兩個(gè)η溝道金屬氧化物半導(dǎo) 體(NMOQ下拉(pull-down)晶體管器件40和41、兩個(gè)ρ溝道金屬氧化物半導(dǎo)體(PMOS)上 拉晶體管器件46和48,以及兩個(gè)NMOS存取晶體管器件30和32。本發(fā)明不限于所示特定存 儲(chǔ)器單元構(gòu)造。更具體地說(shuō),器件46和48的源極連接在一起,并且適于連接至可以是VDD 的第一電壓源;器件46的漏極在節(jié)點(diǎn)34處連接至器件40的漏極;器件40和42的源極連 接在一起,并且適于連接至可以是地的第二電壓源;器件42的漏極在節(jié)點(diǎn)36處連接至器件 48的漏極;器件46和40的柵極在節(jié)點(diǎn)36處連接至器件48和42的漏極,而器件48和42 的柵極在節(jié)點(diǎn)34處連接至器件46和40的漏極。存取晶體管30的漏極連接至節(jié)點(diǎn)34 ;存 取器件32的漏極連接至節(jié)點(diǎn)36 ;器件30的源極適于連接至對(duì)應(yīng)列線(例如,Column 0); 器件32的源極適于連接至對(duì)應(yīng)互補(bǔ)列線(例如,ColumnC 0);而器件30和32的柵極連接 至對(duì)應(yīng)行線(例如,Row 0)。
SRAM單元30可以采用陣列布置,如圖1所示。對(duì)于采用N行和M列的陣列來(lái)布 置的存儲(chǔ)器單元來(lái)說(shuō),其典型地花費(fèi)至少N個(gè)存儲(chǔ)器讀取周期來(lái)讀取所有單元。另選的是, SRAM單元20可以采用單一行來(lái)布置(未示出),在這種情況下,所有單元都可以在單一存 儲(chǔ)器讀取周期中存取。另外,所述列線優(yōu)選地按大致垂直的維度取向,而所述行線優(yōu)選地按 大致水平的維度取向,以使所述行線和列線彼此大致正交。然而,應(yīng)當(dāng)理解,本發(fā)明不限于 所述存儲(chǔ)器單元和/或所述行線和列線的取向的任何特定布置。例如,所述行線和列線的 其它取向(例如,對(duì)角)類(lèi)似地被預(yù)期并且處于本發(fā)明的范圍內(nèi)。
在第一次加電時(shí),典型存儲(chǔ)器單元可以處于兩種穩(wěn)定的初始狀態(tài)中的一種狀態(tài) 下,即,指示邏輯高電平(例如,二進(jìn)制“1”)的第一狀態(tài),其可以是VDD(例如,大約3.3伏 特),或者指示邏輯低電平(例如,二進(jìn)制“0”)的第二狀態(tài),其可以是零伏特。如在此使用 的,術(shù)語(yǔ)初始狀態(tài)意圖被限定為該存儲(chǔ)器單元緊挨在其被加電之后并且在其被寫(xiě)入之前的 數(shù)據(jù)狀態(tài)。理想的是,將SRAM單元設(shè)計(jì)成為對(duì)稱(chēng)且平衡的電路,由此,SRAM單元在被加電 時(shí)具有處于二進(jìn)制1或二進(jìn)制0的初始狀態(tài)下的相同概率。指定存儲(chǔ)器單元的初始狀態(tài)主 要通過(guò)工藝變動(dòng)(variation)和波動(dòng)來(lái)確定。正如任何物理結(jié)構(gòu)一樣,在尺度、成分濃度以 及其它物理性質(zhì)中典型地存在變動(dòng)。
具體來(lái)說(shuō),在大多數(shù)類(lèi)型的存儲(chǔ)器單元的情況下,并且特別地,在SRAM存儲(chǔ)器單 元的情況下,在與形成指定存儲(chǔ)器單元的晶體管相關(guān)聯(lián)的特定特性中可能出現(xiàn)一個(gè)或多個(gè) 變動(dòng),例如,晶體管源極區(qū)和漏極區(qū)內(nèi)的摻雜程度、晶體管溝道區(qū)內(nèi)的摻雜程度、晶體管柵 極氧化物電容、晶體管柵極氧化物內(nèi)的俘獲電荷、晶體管溝道區(qū)內(nèi)的俘獲電荷,晶體管區(qū)域 之間的幾何偏移、晶體管溝道長(zhǎng)度和晶體管溝道寬度等。另外,例如可以在互連厚度、長(zhǎng)度 以及寬度中以及在存儲(chǔ)器單元內(nèi)的電阻和電容中出現(xiàn)變動(dòng)。在與存儲(chǔ)器單元相關(guān)聯(lián)的物理和/或工藝參數(shù)中的這些變動(dòng)主要是隨機(jī)的,因此,對(duì)于每一個(gè)存儲(chǔ)器單元,在該單元被加 電之后實(shí)現(xiàn)的二進(jìn)制狀態(tài)基本上隨機(jī)。
應(yīng)當(dāng)清楚,適于與本發(fā)明一起使用的存儲(chǔ)器單元可以包括可以具有通過(guò)非編程工 藝和/或尺度變動(dòng)設(shè)置的初始狀態(tài)的任何電路部件。這種存儲(chǔ)器單元可以包括但不限于觸 發(fā)器(flip-flop)、鎖存器、圖1所示例示性SRAM單元類(lèi)型、其它SRAM單元類(lèi)型、其它互補(bǔ) 金屬氧化物半導(dǎo)體(CM0Q電路部件等。
存儲(chǔ)器陣列中的大多數(shù)SRAM單元因與這些單元相關(guān)聯(lián)的工藝和/或尺度特性中 的變動(dòng)而具有足夠大的復(fù)合不平衡,從而導(dǎo)致可重復(fù)的初始狀態(tài),下面稱(chēng)為明確的初始狀 態(tài)。在這種情況下,每當(dāng)存儲(chǔ)器單元加電時(shí),其初始狀態(tài)總是相同;總是為二進(jìn)制0狀態(tài)或 者總是為二進(jìn)制1狀態(tài)。然而,在存儲(chǔ)器陣列中可能存在存儲(chǔ)器單元的特定的(縱使)較 小的子集,其幾乎電平衡,這種單元在相同狀態(tài)下并非一致地加電。在這種情況下,通常沒(méi) 有足夠的凈平衡來(lái)導(dǎo)致明確的初始狀態(tài)。展示非可重復(fù)初始狀態(tài)(其在此可以被稱(chēng)為不明 確的初始狀態(tài))的存儲(chǔ)器單元可以受該單元鄰域中的其它時(shí)變的變量(如但不限于芯片溫 度、電源電壓電平、電源電壓轉(zhuǎn)換速率以及電噪聲(例如,切換噪聲、串?dāng)_等))影響。
因?yàn)楣に囎儎?dòng)本質(zhì)上是隨機(jī)的,所以針對(duì)指定存儲(chǔ)器單元的可重復(fù)初始狀態(tài)未 知。這種初始狀態(tài)在可重復(fù)時(shí),具有為二進(jìn)制1或者為二進(jìn)制0的近似相等概率。為此,由 許多存儲(chǔ)器單元的初始狀態(tài)構(gòu)成的安全碼將成為隨機(jī)數(shù)。在存儲(chǔ)器陣列中,具有明確的初 始狀態(tài)的存儲(chǔ)器單元提供了該存儲(chǔ)器陣列的可重復(fù)顯示特征(Signature)。然而,如先前所 述,該存儲(chǔ)器陣列中可能存在未展示可重復(fù)初始狀態(tài)的存儲(chǔ)器單元的較小子集。在這種情 況下,每當(dāng)將芯片加電時(shí)由存儲(chǔ)器陣列生成的所得隨機(jī)數(shù)將不一致。對(duì)于安全碼生成來(lái)說(shuō), 希望每當(dāng)將芯片加電時(shí)所得隨機(jī)數(shù)相同。因而,為了生成可重復(fù)隨機(jī)數(shù),具有不明確的初始 狀態(tài)的存儲(chǔ)器單元必須以某種方式處理。
根據(jù)本發(fā)明的一方面,有利地,采用錯(cuò)誤修正技術(shù)來(lái)限定具有不明確的初始狀 態(tài)的存儲(chǔ)器單元的狀態(tài)。一般來(lái)說(shuō),可以將錯(cuò)誤修正代碼(ECC)用于修正從存儲(chǔ)器讀取 的數(shù)據(jù)。ECC的較簡(jiǎn)單形式之一基于塊碼(block code) 0廣泛使用的塊碼是Hamming 碼。Reed-Soloman(RS)碼和 Bose-Chaudhuri-Hocquenghem(BCH)碼是其它已知錯(cuò)誤修正 代碼。錯(cuò)誤修正的方法是本領(lǐng)域公知的(例如,參見(jiàn)Roberto Togneri和Christopher J. S. deSilva 的"Fundamentals of Information Theory and Coding Design,,, Chapman&Hail/CRC Press, 2002)。因此,為節(jié)省描述,在此將不呈現(xiàn)對(duì)錯(cuò)誤修正理論的詳細(xì) 討論??梢詫⒈景l(fā)明的技術(shù)用于在向IC加電時(shí)生成隨機(jī)、可靠以及可重復(fù)的安全碼。而且, 作為因IC工藝和/或尺度變動(dòng)而造成的凈存儲(chǔ)器單元不平衡的函數(shù)所生成的安全碼不能 通過(guò)已知檢查和/或逆向工程方法來(lái)適當(dāng)?shù)卮_定。
圖2是描繪根據(jù)本發(fā)明的實(shí)施例的示例性隨機(jī)數(shù)生成器電路200的框圖。隨機(jī)數(shù) 生成器電路200包括第一存儲(chǔ)器201,其可以是SRAM存儲(chǔ)器陣列,包括多個(gè)存儲(chǔ)器單元,或 者另選存儲(chǔ)部件。存儲(chǔ)器201適于連接至電源202,所述電源202可操作用于向存儲(chǔ)器提供 可以是VDD的電壓源。存儲(chǔ)器201優(yōu)選為非易失性的,并且可操作用于生成可以是未修正 隨機(jī)數(shù)的第一信號(hào)206,作為輸出,其作為該存儲(chǔ)器中的多個(gè)存儲(chǔ)器單元的響應(yīng)初始狀態(tài)的 函數(shù)。
應(yīng)當(dāng)明白,通常,SRAM沒(méi)有被考慮成非易失性存儲(chǔ)器,這是因?yàn)?,?dāng)其被以常規(guī)方式使用時(shí),存儲(chǔ)在該SRAM中的數(shù)據(jù)在去除針對(duì)該存儲(chǔ)器的電力時(shí)(即,當(dāng)該SRAM斷電時(shí)) 丟失。然而,根據(jù)在此描述的本發(fā)明的教導(dǎo),出于生成安全隨機(jī)數(shù)的目的,將SRAM采用為非 易失性存儲(chǔ)介質(zhì),因?yàn)槊慨?dāng)并且每次將存儲(chǔ)器加電時(shí),SRAM中的存儲(chǔ)器單元的至少一部分 將具有相同(即,可重復(fù))初始狀態(tài)。
存儲(chǔ)器201中的存儲(chǔ)器單元例如可以采用N乘M陣列來(lái)布置,其中,N和M是兩個(gè) 整數(shù)。本發(fā)明不限于存儲(chǔ)器201中的存儲(chǔ)器單元的任何特定尺寸和/或布置。僅通過(guò)例示, 存儲(chǔ)器201可以包括16字乘32比特的陣列(16乘32陣列)。這種布置要求16個(gè)存儲(chǔ)器 讀取周期,每一個(gè)讀取周期生成一個(gè)32比特?cái)?shù)據(jù)字,從而生成512比特的數(shù)據(jù)。隨機(jī)數(shù)生 成器電路200可以包括耦接至存儲(chǔ)器201的控制器205,用于控制向存儲(chǔ)器中的存儲(chǔ)器單元 的存取。在一個(gè)實(shí)施例中,控制器205可以包括行和/或列相關(guān)電路,如本領(lǐng)域技術(shù)人員已 知的。另選的是,存儲(chǔ)器201中的存儲(chǔ)器單元可以采用單一行的M個(gè)單元(例如,1乘M陣 列)來(lái)布置。在這種情況下,例如,存儲(chǔ)器201可以包括并行起作用的M個(gè)單獨(dú)鎖存器(未 明確示出)。整行的M個(gè)存儲(chǔ)器單元可以在單一存儲(chǔ)器讀取周期內(nèi)同時(shí)讀取。利用存儲(chǔ)器 單元的這種布置,所需控制電路將最小化或者不需要,在這種情況下,可以消除控制器205。 然而,這種布置將需要相當(dāng)大量的感測(cè)放大器,用于同時(shí)讀取存儲(chǔ)器單元的狀態(tài),其會(huì)增加 IC的總面積和成本。
數(shù)據(jù)字優(yōu)選地在存儲(chǔ)器201已經(jīng)被加電之后(即,在將VDD施加至該存儲(chǔ)器之后 的規(guī)定時(shí)間)以及在已經(jīng)確定該存儲(chǔ)器的初始狀態(tài)之后從該存儲(chǔ)器讀取。讀取存儲(chǔ)器201 優(yōu)選地使能從該存儲(chǔ)器向隨機(jī)數(shù)生成器電路200中的后續(xù)處理電路傳遞基于未修正隨機(jī) 數(shù)206的數(shù)據(jù)字。
隨機(jī)數(shù)生成器電路200還包括耦接至存儲(chǔ)器201的錯(cuò)誤修正電路203。如先前所 述,存儲(chǔ)器201中的存儲(chǔ)器單元的子集可以在指定數(shù)據(jù)字內(nèi)具有未明確的初始狀態(tài),該指 定數(shù)據(jù)字將以其它方式生成在將存儲(chǔ)器加電時(shí)不一致地可重復(fù)的未修正隨機(jī)數(shù)206。錯(cuò)誤 修正電路203優(yōu)選地可操作用于修正通過(guò)存儲(chǔ)器單元生成的、具有未明確的初始狀態(tài)的數(shù) 據(jù)字,以使從存儲(chǔ)器201讀取的所有數(shù)據(jù)比特明確(可重復(fù))。因而,通過(guò)錯(cuò)誤修正電路203 生成的可以是修正的隨機(jī)數(shù)的第二信號(hào)207將是隨機(jī)的,但可重復(fù)。通過(guò)隨機(jī)數(shù)生成器電 路200生成的輸出安全碼優(yōu)選為修正的隨機(jī)數(shù)207的函數(shù)。
根據(jù)錯(cuò)誤修正電路203所采用的錯(cuò)誤修正方法,可以作為錯(cuò)誤代碼存儲(chǔ)器的第二 存儲(chǔ)器204可以可選地耦接至錯(cuò)誤修正電路。存儲(chǔ)器204優(yōu)選為非易失性的,并且可操作用 于存儲(chǔ)錯(cuò)誤修正方法所利用的EEC比特。在建立安全碼(隨機(jī)數(shù))時(shí)的某個(gè)時(shí)間點(diǎn)將這些 ECC比特優(yōu)選地編程到存儲(chǔ)器204中。這可以在設(shè)備工廠或消費(fèi)者測(cè)試期間或緊挨在之后 進(jìn)行。這些ECC比特僅僅需要編程一次,但是若希望重置該安全碼則可以稍后將它們重新 編程。根據(jù)本發(fā)明的一個(gè)實(shí)施例,存儲(chǔ)器204通過(guò)初始地將存儲(chǔ)器201加電并且存儲(chǔ)在編 程的定時(shí)存儲(chǔ)器201中的存儲(chǔ)器單元的初始狀態(tài)來(lái)編程。這些編程狀態(tài)被視為存儲(chǔ)器201 的“正確”狀態(tài)。在后續(xù)的加電期間,將存儲(chǔ)器201中的存儲(chǔ)器單元的初始狀態(tài)與存儲(chǔ)在存 儲(chǔ)器204中的“正確”狀態(tài)進(jìn)行比較,并且通過(guò)錯(cuò)誤修正電路203來(lái)修正與所存儲(chǔ)狀態(tài)不匹 配的任何不明確的比特。
在本發(fā)明的各個(gè)實(shí)施例中,錯(cuò)誤修正電路203在生成隨機(jī)數(shù)207時(shí)可以采用例如 塊碼(例如,Hamming碼)、RS碼、BCH碼等,但本發(fā)明不限于特定錯(cuò)誤修正方法。在將存儲(chǔ)器8201布置為單一行的存儲(chǔ)器單元的情況下,錯(cuò)誤修正電路203優(yōu)選地采用RS碼或BCH碼,因 為RS和BCH碼通常要求相對(duì)較長(zhǎng)系列的數(shù)據(jù)比特,來(lái)檢測(cè)和修正錯(cuò)誤數(shù)據(jù)比特。特定錯(cuò)誤 修正技術(shù)對(duì)可修正比特的數(shù)量和/或布置具有限制。例如,Hamming碼盡管實(shí)現(xiàn)起來(lái)簡(jiǎn)單, 但每數(shù)據(jù)字僅可以修正一個(gè)比特誤差。因此,在指定數(shù)據(jù)字中的比特?cái)?shù)相對(duì)較小(例如,小 于大約16比特)的情況下,Hamming碼是優(yōu)選的。錯(cuò)誤修正電路203所采用的其它錯(cuò)誤修 正技術(shù)可能不需要存儲(chǔ)存儲(chǔ)器碼,因此可以省略存儲(chǔ)器204。
下面,參照?qǐng)D3A,其示出了根據(jù)本發(fā)明的實(shí)施例的、用于編程圖2的例示性錯(cuò)誤代 碼存儲(chǔ)器204的示例性方法300。方法300(其至少一部分可以在錯(cuò)誤修正電路203中執(zhí) 行)可以被用于設(shè)置存儲(chǔ)器201中的具有不明確的初始狀態(tài)(參見(jiàn)圖2、的存儲(chǔ)器單元的 “正確”狀態(tài)。按這種方式,優(yōu)選地采用方法300來(lái)修正從存儲(chǔ)器201生成的未修正隨機(jī)數(shù) 206中的非可重復(fù)比特。如在此使用的,術(shù)語(yǔ)“非可重復(fù)比特”意圖寬泛地指以下的存儲(chǔ)器 201中的指定存儲(chǔ)器單元的輸出,其沒(méi)有一致的初始狀態(tài),使得在向存儲(chǔ)器連續(xù)施加電力 時(shí),指定存儲(chǔ)器單元的初始狀態(tài)可以不必與在先前一次或多次向該單元施加電力期間該指 定單元的初始狀態(tài)相同。
為了編程錯(cuò)誤代碼存儲(chǔ)器204,在步驟302中,首先將存儲(chǔ)器201加電。在步驟303 中,讀取存儲(chǔ)器201,以基于未修正的隨機(jī)數(shù)206來(lái)生成第一隨機(jī)數(shù),其被轉(zhuǎn)發(fā)至錯(cuò)誤修正 電路203。該第一隨機(jī)數(shù)可以包括非可重復(fù)的比特。在步驟304中,錯(cuò)誤修正電路203生成 表示第一隨機(jī)數(shù)的錯(cuò)誤修正代碼208。在步驟305中,將錯(cuò)誤修正代碼208編程到錯(cuò)誤代碼 存儲(chǔ)器204中。如先前所述,錯(cuò)誤修正代碼208可以是針對(duì)從存儲(chǔ)器201讀取的每一個(gè)數(shù) 據(jù)字的Hamming碼。在編程錯(cuò)誤代碼存儲(chǔ)器204之后,每當(dāng)將存儲(chǔ)器201加電時(shí),就將錯(cuò)誤 修正代碼208用于檢測(cè)和修正任何錯(cuò)誤比特,以生成修正的隨機(jī)數(shù)207。由此,通過(guò)錯(cuò)誤修 正電路203生成的修正的隨機(jī)數(shù)207將是隨機(jī)的但可重復(fù)。
圖;3B描繪了根據(jù)本發(fā)明的實(shí)施例的、用于重新調(diào)用修正的隨機(jī)數(shù)(例如,圖2中 的207)的示例性方法320中的步驟。優(yōu)選地,在例如利用圖3A描繪的示例性方法300將 錯(cuò)誤代碼存儲(chǔ)器204編程之后,執(zhí)行重新調(diào)用。方法320通過(guò)在步驟322向存儲(chǔ)器201加 電而開(kāi)始。在加電期間,確定未修正數(shù)據(jù)字中所有比特的初始狀態(tài)。在步驟323中,基于從 存儲(chǔ)器201讀取的未修正隨機(jī)數(shù)206來(lái)生成第二隨機(jī)數(shù)。因?yàn)榉强芍貜?fù)比特,所以第二隨 機(jī)數(shù)可以與在上面結(jié)合圖3A描述的錯(cuò)誤代碼存儲(chǔ)器編程方法300期間所生成的第一隨機(jī) 數(shù)不同。在步驟324中,從錯(cuò)誤代碼存儲(chǔ)器204讀取錯(cuò)誤修正代碼208。利用該錯(cuò)誤修正 代碼208,在步驟325中修正第二隨機(jī)數(shù)中的、具有與第一隨機(jī)數(shù)中的對(duì)應(yīng)狀態(tài)(如由所存 儲(chǔ)的錯(cuò)誤修正代碼所指示的)不匹配的狀態(tài)的任何非可重復(fù)比特。根據(jù)第二隨機(jī)數(shù)生成修 正的隨機(jī)數(shù)207。其是與在編程方法300期間所生成的第一隨機(jī)數(shù)相同的數(shù)。如果在步驟 323中,確定第二隨機(jī)數(shù)和在方法300中生成的第一隨機(jī)數(shù)相同,則不需要執(zhí)行修正。在這 種情況下,可以省略步驟3 和325。
本發(fā)明的技術(shù)的至少一部分可以在一個(gè)或多個(gè)集成電路中實(shí)施。在形成集成電路 時(shí),典型地,在半導(dǎo)體晶片的表面上以重復(fù)的圖案加工管芯(die)。每一個(gè)管芯都包括在此 描述的器件,并且可以包括其它結(jié)構(gòu)或電路。從晶片裁切或切割單獨(dú)的管芯,接著將其封 裝為集成電路。圖4是描繪根據(jù)本發(fā)明的實(shí)施例的、包括至少一個(gè)安全隨機(jī)數(shù)生成器的示 例性封裝IC 400的局部截面圖。該封裝IC 400包括引線框402、附接至該引線框的管芯404 (該管芯包括根據(jù)本發(fā)明的實(shí)施例的安全隨機(jī)數(shù)生成器)、以及塑料包裝模具608。本領(lǐng) 域技術(shù)人員應(yīng)當(dāng)知道怎樣切割晶片,以及封裝管芯來(lái)生成集成電路。這樣制造的集成電路 被視為本發(fā)明的一部分。
根據(jù)本發(fā)明的集成電路可以在利用安全碼的任何應(yīng)用和/或電子系統(tǒng)中采用。用 于實(shí)施本發(fā)明的合適系統(tǒng)可以包括,但不限于,個(gè)人計(jì)算機(jī)、通信網(wǎng)絡(luò)、電子商務(wù)系統(tǒng)、便攜 式通信裝置(例如,蜂窩電話(huà))、固態(tài)介質(zhì)存儲(chǔ)裝置等。包含這種集成電路的系統(tǒng)被視為本 發(fā)明的一部分。給出在此提供的對(duì)本發(fā)明的教導(dǎo),本領(lǐng)域普通技術(shù)人員將能夠設(shè)想本發(fā)明 的技術(shù)的其它實(shí)現(xiàn)方式和應(yīng)用。
盡管在此已經(jīng)參照附圖對(duì)本發(fā)明的例示性實(shí)施例進(jìn)行了描述,但應(yīng)當(dāng)理解,本發(fā) 明不限于那些精確實(shí)施例,而且在不脫離所附權(quán)利要求書(shū)的范圍的情況下,本領(lǐng)域普通技 術(shù)人員在此可以對(duì)本發(fā)明進(jìn)行各種其它改變和修改。
權(quán)利要求
1.一種隨機(jī)數(shù)生成器電路,包括第一存儲(chǔ)器,包括多個(gè)存儲(chǔ)部件,所述多個(gè)存儲(chǔ)部件中的每一個(gè)存儲(chǔ)部件在通過(guò)施加 至所述第一存儲(chǔ)器的電壓源加電時(shí)具有與其相對(duì)應(yīng)的初始狀態(tài),所述第一存儲(chǔ)器可操作用 于生成包括指示所述存儲(chǔ)部件的相應(yīng)初始狀態(tài)的多個(gè)比特的第一信號(hào);以及錯(cuò)誤修正電路,耦接至所述第一存儲(chǔ)器,所述錯(cuò)誤修正電路可操作用于接收所述第一 信號(hào),并且修正所述第一信號(hào)中的、在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)非可重復(fù)的至少 一個(gè)比特,由此生成第二信號(hào),所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)可重 復(fù)的隨機(jī)數(shù)。
2.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,所述第一存儲(chǔ)器包括非易失性存 儲(chǔ)器。
3.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,所述第一存儲(chǔ)器包括靜態(tài)隨機(jī)存 取存儲(chǔ)器。
4.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,還包括耦接至所述錯(cuò)誤修正電路的第二 存儲(chǔ)器,所述第二存儲(chǔ)器可操作用于在生成所述第二信號(hào)時(shí)存儲(chǔ)被所述錯(cuò)誤修正電路使用 的錯(cuò)誤修正代碼比特。
5.根據(jù)權(quán)利要求4所述的隨機(jī)數(shù)生成器電路,其中,所述第一存儲(chǔ)器和所述第二存儲(chǔ) 器中的至少一個(gè)存儲(chǔ)器包括非易失性存儲(chǔ)器。
6.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,至少所述多個(gè)存儲(chǔ)部件的一個(gè)子 集中的每一個(gè)存儲(chǔ)部件包括互補(bǔ)金屬氧化物半導(dǎo)體電路部件。
7.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,至少所述多個(gè)存儲(chǔ)部件的一個(gè)子 集中的每一個(gè)存儲(chǔ)部件包括鎖存器部件。
8.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,所述多個(gè)存儲(chǔ)部件包括靜態(tài)隨機(jī) 存取存儲(chǔ)器部件,并且其中,所述第一存儲(chǔ)器直到在所述第一存儲(chǔ)器被所述電壓源加電之 后并且在所述第一存儲(chǔ)器生成所述第一信號(hào)之前為止不被寫(xiě)入。
9.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,還包括耦接至所述第一存儲(chǔ)器的控制 器,所述控制器可操作用于控制對(duì)所述多個(gè)存儲(chǔ)部件的存取。
10.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,所述多個(gè)存儲(chǔ)部件中的指定存儲(chǔ) 部件的初始狀態(tài)被確定為與形成所述指定存儲(chǔ)部件的至少一個(gè)晶體管相關(guān)聯(lián)的一個(gè)或多 個(gè)特性中的變動(dòng)的函數(shù)。
11.根據(jù)權(quán)利要求10所述的隨機(jī)數(shù)生成器電路,其中,所述一個(gè)或多個(gè)特性包括以下 的至少一個(gè)至少一個(gè)晶體管源極區(qū)和漏極區(qū)內(nèi)的摻雜程度、晶體管溝道區(qū)內(nèi)的摻雜程度、 晶體管柵極氧化物電容、晶體管柵極氧化物內(nèi)的俘獲電荷、晶體管溝道區(qū)內(nèi)的俘獲電荷、以 及晶體管區(qū)域之間的幾何偏移、晶體管溝道長(zhǎng)度和晶體管溝道寬度。
12.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,所述多個(gè)存儲(chǔ)部件中的指定存儲(chǔ) 部件的初始狀態(tài)被確定為一個(gè)或多個(gè)時(shí)變要素中的變動(dòng)的函數(shù),所述一個(gè)或多個(gè)時(shí)變要素 包括溫度、電源電壓電平、電源電壓轉(zhuǎn)換速率以及電噪聲中的至少一個(gè)。
13.根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路,其中,所述錯(cuò)誤修正電路在生成所述第 二信號(hào)時(shí)利用塊碼、Reed-Soloman碼以及Bose—Chaudhuri—Hocquenghem碼中的至少一種。
14.一種包括至少一個(gè)根據(jù)權(quán)利要求1所述的隨機(jī)數(shù)生成器電路的集成電路。
15.一種用于生成安全隨機(jī)數(shù)的方法,所述方法包括以下步驟向第一存儲(chǔ)器加電,該第一存儲(chǔ)器包括多個(gè)存儲(chǔ)部件,所述多個(gè)存儲(chǔ)部件中的每一個(gè) 存儲(chǔ)部件在加電時(shí)具有與其相對(duì)應(yīng)的初始狀態(tài);生成第一信號(hào),該第一信號(hào)包括指示所述存儲(chǔ)部件的相應(yīng)初始狀態(tài)的多個(gè)比特;以及修正所述第一信號(hào)中的、在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)非可重復(fù)的至少一個(gè)比 特,由此生成第二信號(hào),所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)可重復(fù)的隨 機(jī)數(shù),所述安全隨機(jī)數(shù)指示所述第二信號(hào)。
16.根據(jù)權(quán)利要求15所述的方法,還包括將錯(cuò)誤修正代碼比特存儲(chǔ)在第二存儲(chǔ)器中的 步驟,所述錯(cuò)誤修正代碼比特在生成所述第二信號(hào)時(shí)使用。
17.根據(jù)權(quán)利要求15所述的方法,還包括第二次向所述存儲(chǔ)器加電,其中,所述存儲(chǔ)器生成第二隨機(jī)數(shù);讀取錯(cuò)誤代碼存儲(chǔ)器中的所述錯(cuò)誤修正代碼;以及利用所述錯(cuò)誤修正代碼修正所述第二隨機(jī)數(shù),其中,所修正的第二隨機(jī)數(shù)是所述第一 隨機(jī)數(shù)。
18.根據(jù)權(quán)利要求15所述的方法,其中,所述多個(gè)存儲(chǔ)部件中的指定存儲(chǔ)部件的初始 狀態(tài)被確定為與形成指定存儲(chǔ)部件的至少一個(gè)晶體管相關(guān)聯(lián)的一個(gè)或多個(gè)特性中的變動(dòng) 的函數(shù)。
19.根據(jù)權(quán)利要求15所述的方法,其中,所述多個(gè)存儲(chǔ)部件中的指定存儲(chǔ)部件的初始 狀態(tài)被確定為一個(gè)或多個(gè)時(shí)變要素中的變動(dòng)的函數(shù),所述一個(gè)或多個(gè)時(shí)變要素包括溫度、 電源電壓電平、電源電壓轉(zhuǎn)換速率以及電噪聲中的至少一個(gè)。
20.一種電子系統(tǒng),包括至少一個(gè)集成電路,包括至少一個(gè)隨機(jī)數(shù)生成器電路,所述至少一個(gè)隨機(jī)數(shù)生成器電 路包括第一存儲(chǔ)器,包括多個(gè)存儲(chǔ)部件,所述多個(gè)存儲(chǔ)部件中的每一個(gè)存儲(chǔ)部件在通過(guò)施加 至所述第一存儲(chǔ)器的電壓源加電時(shí)具有與其相對(duì)應(yīng)的初始狀態(tài),所述第一存儲(chǔ)器可操作用 于生成包括指示所述多個(gè)存儲(chǔ)部件的相應(yīng)初始狀態(tài)的多個(gè)比特的第一信號(hào);以及耦接至所述第一存儲(chǔ)器的錯(cuò)誤修正電路,所述錯(cuò)誤修正電路可操作用于接收所述第一 信號(hào),并且修正所述第一信號(hào)中的、在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)非可重復(fù)的至少 一個(gè)比特,由此生成第二信號(hào),所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)可重 復(fù)的隨機(jī)數(shù)。
全文摘要
一種隨機(jī)數(shù)生成器電路,其包括具有多個(gè)存儲(chǔ)部件的第一存儲(chǔ)器。所述多個(gè)存儲(chǔ)部件中的每一個(gè)存儲(chǔ)部件在通過(guò)施加至所述第一存儲(chǔ)器的電壓源加電時(shí)具有與其相對(duì)應(yīng)的初始狀態(tài)。所述第一存儲(chǔ)器可操作用于生成包括指示所述多個(gè)存儲(chǔ)部件的相應(yīng)初始狀態(tài)的多個(gè)比特的第一信號(hào)。所述隨機(jī)數(shù)生成器電路還包括耦接至所述第一存儲(chǔ)器的錯(cuò)誤修正電路。所述錯(cuò)誤修正電路可操作用于接收所述第一信號(hào),并且修正所述第一信號(hào)中的、在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)非可重復(fù)的至少一個(gè)比特,由此生成第二信號(hào)。所述第二信號(hào)是在向所述第一存儲(chǔ)器連續(xù)施加電力時(shí)可重復(fù)的隨機(jī)數(shù)。
文檔編號(hào)G06F7/58GK102037441SQ200880129395
公開(kāi)日2011年4月27日 申請(qǐng)日期2008年5月23日 優(yōu)先權(quán)日2008年5月23日
發(fā)明者E·B·哈里斯, R·A·柯勒, R·J·麥克帕特蘭德, R·豪格, W·E·沃納 申請(qǐng)人:艾格瑞系統(tǒng)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1