亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

隨機(jī)數(shù)字值的生成裝置以及方法

文檔序號:10694088閱讀:243來源:國知局
隨機(jī)數(shù)字值的生成裝置以及方法【專利摘要】本發(fā)明提供隨機(jī)數(shù)字值的生成裝置。上述裝置利用半導(dǎo)體工序變異來生成上述數(shù)字值。裝置可包括利用上述半導(dǎo)體工序變異來生成多個數(shù)字值的生成部、以及處理上述多個數(shù)字值來提供第一數(shù)字值的處理部。另外,上述生成部可包括相不同地適用參數(shù)來生成上述多個數(shù)字值的多個PUF?!緦@f明】隨機(jī)數(shù)字值的生成裝置以及方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及安保領(lǐng)域,更具體而言,涉及利用工序變異(processvariat1n)生成隨機(jī)數(shù)字值的PUF(physicallyunclonablefunct1n:物理不可克隆函數(shù))?!?br>背景技術(shù)
】[0002]PUF可提供不可預(yù)測(unpredictable)的數(shù)字值。各PUF即使指定準(zhǔn)確的制造工序,以相同的工序制成,上述各PUF所提供的數(shù)字值也不同。[〇〇〇3]PUF可被稱為不可復(fù)制的P0WF(physicalone-wayfunct1n:物理單向函數(shù))或者是PRF(physicalrandomfunct1n:物理隨機(jī)函數(shù))。[0004]PUF的這種特性可被用來產(chǎn)生加密密鑰以用在安保及/或認(rèn)證上。譬如PUF可用來提供唯一密鑰(uniquekey)以區(qū)分一設(shè)備與另一設(shè)備。[0005]韓國專利注冊號10-1139630(以下稱為“630專利”)提出實(shí)現(xiàn)PUF的方法?!?30專利”揭露了利用半導(dǎo)體工序變異使半導(dǎo)體的導(dǎo)電層或?qū)щ姽?jié)點(diǎn)(conductivelayersorconductivenodes)間是否生成內(nèi)層接觸(inter-layercontact)或者過孔(via)機(jī)率性地決定來生成PUF的方法。揭露于“630專利”的一實(shí)施例,通過將過孔(via)的尺寸設(shè)計為小尺寸,來使形成過孔的情況和不形成過孔的情況隨機(jī)地發(fā)生。由此,生成無法人為推測的隨機(jī)數(shù)字值。然而就“630專利”而言,為了提高PUF的收率,需要決定由PUF生成的數(shù)字值所包含的各位值成為真隨機(jī)數(shù)(truerandomnumber)而非偏向“0”或“1”的最佳過孔尺寸。[0006]為此,對特定工序預(yù)先利用各種過孔尺寸生成PUF之后,檢測PUF所生成的數(shù)字值,來進(jìn)行決定要在上述特定工序中使用的最佳過孔尺寸的首次通過(firstpass)。然后進(jìn)行利用這樣決定的單一最佳過孔尺寸生成實(shí)際PUF的二次通過(secondpass)。然而,為了在上述特定工序中使用而決定的上述最佳過孔尺寸,有可能在其他晶片和/或芯片中并非是最佳的值。這是因?yàn)榧幢阍谕还ば?,工序變異在個別晶片和/或個別芯片中也會以不同程度發(fā)生。并且,即便在同一工序、同一生產(chǎn)線,最佳值也會隨著時間的流逝,因工序環(huán)境或各種因素的變化而產(chǎn)生不同。因此,要求能夠提高PUF生成收率的方法。【
發(fā)明內(nèi)容】[0007]根據(jù)一側(cè)面,提供利用半導(dǎo)體工序變異來生成數(shù)字值的裝置。[0008]根據(jù)一實(shí)施例,上述數(shù)字值的生成裝置包括:生成部,利用上述半導(dǎo)體工序變異,來生成多個數(shù)字值;處理部,處理上述多個數(shù)字值,來提供第一數(shù)字值。其中,上述生成部可包括多個PUF,相互不同地適用引發(fā)上述工序變異的至少一個參數(shù)來制造上述多個PUF中的至少一部分PUF,由上述多個PUF生成上述多個數(shù)字值。[0009]根據(jù)一實(shí)施例,上述多個PUF中的至少一個,包含形成在半導(dǎo)體的導(dǎo)電層之間的至少一個過孔(Via),利用上述導(dǎo)電層是否因上述至少一個過孔而短路,來生成上述多個數(shù)字值中的至少一個。根據(jù)一實(shí)施例,上述參數(shù)包含上述過孔的尺寸。根據(jù)一實(shí)施例,上述過孔的尺寸選自如下范圍:在先于生成上述生成裝置的工序進(jìn)行的測試工序中,既確認(rèn)到上述導(dǎo)電層之間短路又確認(rèn)到?jīng)]有短路這樣的過孔尺寸的最小值至最大值的范圍(將其稱為“有效區(qū)間”),上述多個PUF每一個被適用上述范圍內(nèi)的相不同的過孔尺寸。[0010]根據(jù)一實(shí)施例,上述處理部將上述多個數(shù)字值中的符合事先指定的條件的值選擇為上述第一數(shù)字值。這種情況下,上述事先指定的條件由提供位序列包含“1”和“〇”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)最小的PUF生成。[〇〇11]此外,根據(jù)另一實(shí)施例,上述事先指定的條件由提供位序列包含“1”和“〇”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)為最小值和最大值之間的中間值的PUF生成。[0012]根據(jù)另一實(shí)施例,上述處理部對上述多個數(shù)字值按照位序列實(shí)施邏輯運(yùn)算來計算上述第一數(shù)字值。[0013]根據(jù)一實(shí)施例,上述邏輯運(yùn)算為異或(X0R)邏輯運(yùn)算。[0014]根據(jù)另一側(cè)面,提供一種數(shù)字值的生成方法,由利用半導(dǎo)體工序變異生成數(shù)字值的生成裝置來生成數(shù)字值,該方法包括:由相不同地適用引發(fā)上述工序變異的至少一個參數(shù)而制作出的多個PUF,來生成多個數(shù)字值的步驟;以及由處理部處理上述多個數(shù)字值來提供第一數(shù)字值的步驟。[0015]根據(jù)一實(shí)施例,上述多個PUF中的至少一個包含形成在半導(dǎo)體的導(dǎo)電層之間的至少一個過孔(Via),在生成多個數(shù)字值的上述步驟中,根據(jù)上述導(dǎo)電層是否因上述至少一個過孔而短路來生成上述多個數(shù)字值中的至少一個。[0016]根據(jù)一實(shí)施例,上述參數(shù)包含上述過孔的尺寸。在這種情況下,上述過孔的尺寸選自如下范圍:在先于生成上述生成裝置的工序進(jìn)行的測試工序中,既確認(rèn)到上述導(dǎo)電層之間短路又確認(rèn)到?jīng)]有短路這樣的過孔尺寸的最小值至最大值的范圍,上述多個PUF每一個被適用上述范圍內(nèi)的相不同的過孔尺寸。[0017]根據(jù)一實(shí)施例,在由處理部處理的上述步驟中,將上述多個數(shù)字值中的符合事先指定的條件的值選擇為上述第一數(shù)字值。[0018]這種情況下,上述事先指定的條件由提供位序列包含“1”和“0”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)最小的PUF生成。[0019]另一方面,上述事先指定的條件由提供位序列包含“1”和“0”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)為最小值和最大值之間的中間值的PUF生成。[0020]根據(jù)另一實(shí)施例,在由處理部處理的上述步驟中,對上述多個數(shù)字值按照位序列實(shí)施邏輯運(yùn)算來計算上述第一數(shù)字值。[0021]這種情況下,上述邏輯運(yùn)算為異或(X0R)邏輯運(yùn)算?!靖綀D說明】[0022]圖1為一實(shí)施例所涉及的數(shù)字值生成裝置的框圖。[0023]圖2為用于說明一實(shí)施例所涉及的生成部的細(xì)部結(jié)構(gòu)的概念圖。[〇〇24]圖3為用于說明一實(shí)施例所涉及的處理部的動作的概念圖。[〇〇25]圖4為用于說明一實(shí)施例所涉及的處理部的動作的概念圖。[〇〇26]圖5為用于說明一實(shí)施例所涉及的處理部的動作的概念圖。[0027]圖6為表示一實(shí)施例所涉及的數(shù)字值生成方法的流程圖。[0028]圖7為表示另一實(shí)施例所涉及的數(shù)字值生成方法的流程圖。[0029]圖8為表示一實(shí)施例所涉及的數(shù)字值生成方法的流程圖?!揪唧w實(shí)施方式】[0030]以下,參照附圖對實(shí)施例進(jìn)行詳細(xì)說明。然而,權(quán)利要求范圍并非限定于這些實(shí)施例。各附圖所示出的相同的附圖標(biāo)記表示相同的部件。以下說明中所使用的用語選自相關(guān)
技術(shù)領(lǐng)域
普遍使用的術(shù)語,但由于技術(shù)的發(fā)展和/或變化、慣例、技術(shù)人員的喜好等因素,可能存在不同的用語。因此,以下說明中所使用的用語不應(yīng)理解成對技術(shù)思想的限定,而是應(yīng)理解成用于說明實(shí)施例的例示性用語。此外,在特定情況下存在【申請人】任意選定的用語,這種情況下,在相應(yīng)的說明部分會記載有其詳細(xì)含義。因此,以下說明中所使用的用語,并非單純地指代用語名稱,而是應(yīng)該基于該用語所具有的含義以及說明書的整個內(nèi)容理解。[0031]圖1為一實(shí)施例所涉及的數(shù)字值生成裝置100的框圖。根據(jù)一實(shí)施例,裝置100可包括利用半導(dǎo)體工序變異生成多個數(shù)字值的生成部110、以及處理上述多個數(shù)字值而提供第一數(shù)字值的處理部120。[〇〇32]上述生成部110可包括多個因半導(dǎo)體工序變異而生成隨機(jī)數(shù)字值的PUF。這種多個PUF可以是包含于生成部110的半導(dǎo)體結(jié)構(gòu)中的概念性地劃分的部分。多個PUF(PUFi?PUFn)可以因半導(dǎo)體工序變異而分別生成隨機(jī)數(shù)字值。這種數(shù)字值可分別為位序列。多個PUF均不可物理性地復(fù)制,分別生成的數(shù)字值可具有時不變性。以下,將多個PUF用PUFi區(qū)分。其中,i為正數(shù),是區(qū)分PUF的概念性標(biāo)示符。但這種區(qū)分與實(shí)際電路中的配置或結(jié)構(gòu)性區(qū)分概念不同。因此,也可以理解成生成部110自身為PUF,而PUFi每一個為生成部110的局部。[〇〇33]如圖所示,生成部110可以包括n個PUF。其中,n為自然數(shù)。根據(jù)一實(shí)施例,n個PUF使對隨意生成的數(shù)字值所包含的個別位成為“0”的概率(或成為“1”的概率)產(chǎn)生影響的這樣那樣的工序因素和/或設(shè)計因素(以下,將該“因素”稱為“參數(shù)”)不同來生成。[〇〇34]根據(jù)一實(shí)施例,?耶1可包括形成在半導(dǎo)體的導(dǎo)電層之間的k個過孔(via)。其中,k為自然數(shù),且為PUF#^包含的過孔數(shù)。于是,可以根據(jù)PUF#^包含的k個過孔每一個是否使導(dǎo)電層之間短路,使各過孔生成數(shù)字值“1”或“0”。因此,一個位(bit)的數(shù)字值,在生成部110生成n個數(shù)字值。[0035]根據(jù)一實(shí)施例,n個PUF可以是使用不相同的參數(shù)而生成的。在有關(guān)上述過孔的實(shí)施例中,該參數(shù)可以是過孔尺寸。例如,PUF1-PUFn可以被設(shè)計和/或制造成具有不同的過孔尺寸。當(dāng)然,如上所述,有關(guān)過孔的實(shí)施例僅僅是制作PUF的一實(shí)施例,在制作PUF的其他實(shí)施例中,上述參數(shù)顯然也可以不同。因此,即便無其他說明,有關(guān)上述過孔的實(shí)施例,也應(yīng)被理解成便于理解所進(jìn)行的示例。例如,也可以構(gòu)筑如下實(shí)施例,利用電路內(nèi)的同一元件隨意性的電特性差來實(shí)現(xiàn)PUF的實(shí)施例,半導(dǎo)體導(dǎo)電層的間距(spacingbetweenconductivelayers)等其他形態(tài)的PUF實(shí)施例。因此,實(shí)現(xiàn)PUF的其他多種實(shí)施例,可以與上述過孔實(shí)施例一同適用,或代替過孔實(shí)施例適用。[〇〇36]另外,對有效區(qū)間的PUF進(jìn)行說明。如上所述,n個HJF具有不相同的參數(shù)(例如尺寸)。該過孔尺寸可以是在PUFi最小,在PUFn最大。過孔尺寸越小,經(jīng)工序的過孔不能正常生成的概率越大,過孔尺寸越大,工序后過孔能正常生成的概率相對越大。在本說明書整個內(nèi)容中,有效區(qū)間可以指PUF#^生成的二進(jìn)制值包含0和1這兩個的參數(shù)范圍,而非均為0或均為1的情況。例如,在上述的有關(guān)過孔的實(shí)施例中,PUFi的二進(jìn)制值中存在0和1這兩個的過孔尺寸范圍可以表示有效區(qū)間。當(dāng)然,也可以設(shè)置一定余量(margin)而使上述范圍稍微擴(kuò)大或縮窄,實(shí)際上可以將包含上述范圍的區(qū)間表現(xiàn)為有效區(qū)間。以下,參照圖2,對與利用在有效區(qū)間設(shè)定的過孔尺寸的上述實(shí)施例有關(guān)的PUF結(jié)構(gòu)進(jìn)行說明。[〇〇37]圖2為用于說明一實(shí)施例所涉及的生成部110的細(xì)部結(jié)構(gòu)的概念圖。在PUF標(biāo)示符i相同的PUF:中,k個過孔可以具有相同的尺寸。該尺寸可以選擇成,k個過孔能夠隨機(jī)地使導(dǎo)電層之間短路或不能短路的適合的尺寸。理論上存在k個過孔每一個使導(dǎo)電層之間短路的概率和無法短路的概率相同地為1/2的情況,這種情況的尺寸就是上述的最佳過孔尺寸。如上所述,以往,對生成PUF的特定工序事先進(jìn)行了上述的首次通過。于是,在根據(jù)首次通過的進(jìn)行決定要在上述特定工序中使用的最佳過孔尺寸之后,利用該最佳過孔尺寸進(jìn)行了量產(chǎn)實(shí)際要使用的PUF的二次通過。然而,即便適用進(jìn)行首次通過而決定的該最佳過孔尺寸來進(jìn)行二次通過,也可能存在在個別晶片和/或(即便在一個晶片上)個別PUF芯片中過孔使導(dǎo)電層之間短路的概率無法維持1/2的情況??梢砸庾R到為了將由PUF生成的隨機(jī)數(shù)適用于各產(chǎn)業(yè)領(lǐng)域尤其是安保領(lǐng)域,這一點(diǎn)必須要解決。[0038]根據(jù)一實(shí)施例,不是選擇一個特定的最佳過孔尺寸,而是在一個芯片生成具有有效區(qū)間內(nèi)的多種過孔尺寸的多個PUF之后,在其中選擇最佳的PUFi使用,或者對部分PUF的值進(jìn)彳丁加工,而使用隨機(jī)性尚的值,由此大幅提尚制作PUF的工序的收率。換而目之,不是以相同的一個尺寸生成PUF,而是將具有多種值的PUF在一個芯片制作之后,在其中挑選一部分或加工后使用,因此能夠消除PUF的生成值中“0”和“1”的比例不平衡的問題。那么,在被生成而被使用的最終數(shù)字值中“〇”和“1”的頻率差大幅縮減,從而能夠作為安保用途使用。另外,為了使所生成的數(shù)字值成為真隨機(jī)數(shù),需要通過規(guī)定的測試以評價“〇”和“1”的發(fā)生頻率是否相近。如同美國標(biāo)準(zhǔn)和技術(shù)協(xié)會(NIST,Nat1nalInstituteofStandardsandTechnology)的“AStatisticalTestSuiteforRandomandPseudorandomNumberGeneratorsforCryptographicApplicat1ns”特編800-22,也在說明使用于安保領(lǐng)域的隨機(jī)數(shù)必須要通過這種頻率測試(frequencytestormonobittest)。根據(jù)實(shí)施例,生成能夠通過這種隨機(jī)性測試的PUF的收率大幅提高。[0039]根據(jù)一實(shí)施例,代替預(yù)先決定某一種過孔尺寸并將所有過孔尺寸相同地生成這一的情況,在生成部110內(nèi)一同實(shí)現(xiàn)多種過孔尺寸。這種情況下,上述的“引起工序偏差的參數(shù)”為“過孔的尺寸”。即,由于無法準(zhǔn)確獲悉怎樣設(shè)計個別過孔尺寸,上述個別過孔短路導(dǎo)電層之間的概率和無法短路導(dǎo)電層之間的概率才能變得一樣,并且即便獲悉,在實(shí)際工序中也可能導(dǎo)出其他結(jié)果,因此鑒于這種情況,在一個芯片實(shí)現(xiàn)適用多種參數(shù)的PUF。[0040]在圖2所示出的實(shí)施例中,在生成部110內(nèi)實(shí)現(xiàn)的有不同的過孔尺寸。在某特定的PUF標(biāo)示符i,存在k位長度的位序列(以下可稱為“PUF位序列”)。若將它們分別以k位數(shù)字值使用,則能夠生成不相同的n個數(shù)字值。在本說明書中,為便于說明,將由具有相同的過孔尺寸的k個過孔構(gòu)成的PUF^提供的k位的二進(jìn)制位序列作為一個“PUF數(shù)字值”進(jìn)行說明。[0041]另一方面,位數(shù)k、或者在一個芯片中實(shí)現(xiàn)的不同過孔尺寸的種類n,可根據(jù)所需隨機(jī)數(shù)的長度、工序進(jìn)行條件、用于通過隨機(jī)性測試的要求條件、PUF的應(yīng)用領(lǐng)域等而進(jìn)行各種設(shè)定。若參照圖2,則在PUFi過孔尺寸最小,并且依次增大,而在PUFn過孔尺寸最大。當(dāng)然,這種順序只是為了便于說明而采用,并非一定要按照尺寸增大的順序?qū)崿F(xiàn)。此外,這種過孔尺寸增大的程度也可進(jìn)行各種設(shè)定,增大一定比例的例子、增大均勻的直徑的例子、使過孔尺寸之差在PUFn/2附近比在PUF^PUFjf近小來提高精密度的例子等均可。[0042]作為參考,在本說明書所有內(nèi)容中,將過孔使導(dǎo)電層之間短路的情況用二進(jìn)制值“1”進(jìn)行說明,將無法短路的情況用二進(jìn)制值“〇”進(jìn)行說明。當(dāng)然,根據(jù)短路與否將二進(jìn)制值決定為“1”或“〇”只是為了便于理解而進(jìn)行的例示性說明,根據(jù)讀取電路為下拉(pulldown)結(jié)構(gòu)還是上拉(pul1up)結(jié)構(gòu),也可存在相反情況。[〇〇43]再次參照附圖進(jìn)行說明,就過孔尺寸小的PUFi而言,k位的PUF位序列可均為“0”。另外,就過孔尺寸大的PUFn而言,k位的PUF位序列可均為T。根據(jù)一實(shí)施例,PUF^過孔尺寸可以為在工序中通過設(shè)計及制造預(yù)期能夠制作出“〇”和“1”的最小過孔尺寸,也可以為預(yù)先在該工序中進(jìn)行上述的首次通過的結(jié)果確認(rèn)到作為位序列“0”和“1”均產(chǎn)生的最小過孔尺寸。在這層含義上,給出的實(shí)施例不排除只進(jìn)行已知的二次通過方式工序的情況。[0044]另外,PUFn的過孔尺寸可以為在工序中通過設(shè)計及制造預(yù)期能夠制作出“0”和“1”的最大過孔尺寸,也可以為預(yù)先在該工序中進(jìn)行上述的首次通過的結(jié)果確認(rèn)到作為位序列“0”和“1”均產(chǎn)生的最大過孔尺寸。[0045]像這樣通過將多種尺寸的PUFi在一個生成部110內(nèi)同時實(shí)現(xiàn),能夠防止所生成的PUF數(shù)字值因無法通過隨機(jī)測試而導(dǎo)致芯片整體無法使用的情況。這是對生成部110和/或數(shù)字值生成裝置1〇〇的收率有直接影響的部分,相比現(xiàn)有技術(shù)有重要的改善。[〇〇46]若生成部110以這種方式生成n個數(shù)字值(分別為k位),則圖1的處理部120利用n個數(shù)字值提供數(shù)字值生成裝置100所提供的最終數(shù)字值(以下將其稱為“第一數(shù)字值”)。這種處理過程也可具有多種實(shí)施例,圖3?圖6為用于說明多種實(shí)施例中的部分實(shí)施例的概念圖。[〇〇47]圖3為用于說明一實(shí)施例所涉及的處理部120的動作的概念圖。根據(jù)一實(shí)施例,處理部120的讀取部121通過讀取各個PUF而讀取PUF數(shù)字值A(chǔ)1-An。在之前說明的圖2的實(shí)施例中,PUF^過孔尺寸最小,過孔尺寸逐漸增大,因此^所包含的“0”可以多于“1”人所包含的“1”可以多于“〇”。如圖3所例示,由于包含M而部分?jǐn)?shù)字值可以均僅包含“0”,由于包含六?而部分?jǐn)?shù)字值可以均僅包含“1”。[〇〇48]根據(jù)一實(shí)施例,處理部120的決定部122可以在所讀取的六1?六11中包含數(shù)字值“0”和“1”這兩者的AP?Aq(有效區(qū)間的值)中選擇任一個,并將其決定為數(shù)字值生成裝置100所提供的第一數(shù)字值。關(guān)于選擇哪一數(shù)字值,也存在多種實(shí)施例。[〇〇49]根據(jù)一實(shí)施例,決定部122可以在六:中將包含數(shù)字值“0”和“1”這兩者的最初的數(shù)字值~決定為上述第一數(shù)字值。根據(jù)另一實(shí)施例,決定部122可以在仏中將包含數(shù)字值“0”和“1”這兩者的最后的數(shù)字值A(chǔ)q決定為上述第一數(shù)字值。根據(jù)另一其他實(shí)施例,決定部122可以在仏中將包含數(shù)字值“0”和“1”這兩者的任意值決定為上述第一數(shù)字值。[0050]另一方面,根據(jù)另一其他實(shí)施例,決定部122可以在仏中的包含“0”和“1”這兩者的有效區(qū)間值即AP?Aq中將標(biāo)示符處于p和q的中間的Am決定為上述第一數(shù)字值。數(shù)字值“〇”和“1”的分布較為均勻,從這點(diǎn)上看這種實(shí)施例是合理的。[0051]另一方面,根據(jù)另一其他實(shí)施例,決定部122可以對數(shù)字值A(chǔ)1-An*的至少一部分按照位(bitbybit)進(jìn)行邏輯運(yùn)算,來算出上述第一數(shù)字值。該實(shí)施例由于能夠以更高級別制作出第一數(shù)字值的隨機(jī)性,因此第一數(shù)字值適合使用在安保領(lǐng)域。以下,參照圖4及圖5對該實(shí)施例所包含的幾個方法進(jìn)行詳細(xì)說明。[〇〇52]圖4為用于說明一實(shí)施例所涉及的處理部的動作的概念圖。如圖所示,可以對M?An中的列標(biāo)示符相同的數(shù)字值進(jìn)行邏輯運(yùn)算,來計算第一數(shù)字值B的位。[〇〇53]數(shù)字值仏由位序列an?alk構(gòu)成。那么,決定部122對列標(biāo)示符j(j為自然數(shù))相同的au?anj進(jìn)行邏輯運(yùn)算,可以計算出第一數(shù)字值的位匕。邏輯運(yùn)算可以有多種例子,根據(jù)一實(shí)施例,上述邏輯運(yùn)算可以為異或運(yùn)算(exclusive0R:X0R)。若在輸入值aij?anj中包含奇數(shù)個“1”,則X0R運(yùn)算輸出“1”,若在輸入值ai」?anj中包含偶數(shù)個“1”,則X0R運(yùn)算輸出“0”。[〇〇54]根據(jù)利用X0R運(yùn)算的一實(shí)施例,由于將多個數(shù)字值A(chǔ)1-An使用在第一數(shù)字值B的計算中,因此可以期待多個數(shù)字值的熵被相加的、進(jìn)而整個熵大幅提升的效果。由于這種X0R運(yùn)算,運(yùn)算中所使用的n越大,使位值為“1”的概率接近于50%,因此大幅提高第一數(shù)字值B的隨機(jī)性。在本實(shí)施例中,決定部122所計算出的k位的第一數(shù)字值B(B=bib2b3b4b5bk)通過界面(interface)123輸出,而作為數(shù)字值生成裝置100的輸出提供。[〇〇55]另一方面,雖然在圖4的實(shí)施例中將Ai?Aj^使用在X0R運(yùn)算中,但這僅僅是一實(shí)施例,也可進(jìn)行各種應(yīng)用。以下,說明幾個不同的其他實(shí)施例。[〇〇56]圖5為用于說明一實(shí)施例所涉及的處理部的動作的概念圖。如圖所示,根據(jù)一實(shí)施例,決定部122可以只對所讀取的中除位值均為“0”或“1”的數(shù)字值之外的位值包含“0”及“1”這兩者的范圍的數(shù)字值利用上述X0R運(yùn)算。例如為只對AP?Aq按照位實(shí)施X0R運(yùn)算來計算第一數(shù)字值B的方法。雖然X0R運(yùn)算中所使用的位數(shù)為(q-p+1)個,相比X0R運(yùn)算中所使用的輸入位為n個的圖4所示實(shí)施例稍稍變少,但能夠減少用于邏輯運(yùn)算的電路,并且預(yù)先選定熵高的值予以利用這一點(diǎn)可以成為另外的優(yōu)點(diǎn)。[0057]另一方面,在圖4及圖5的實(shí)施例中,對列標(biāo)示符j相同的位值進(jìn)行了X0R運(yùn)算,但這也僅僅是例子,實(shí)施X0R運(yùn)算的方法顯然可以進(jìn)行各種變形。因此,除對列標(biāo)示符j相同的位值進(jìn)行運(yùn)算之外,也可以對按照預(yù)先設(shè)定的選擇規(guī)則或隨機(jī)選擇的位進(jìn)行運(yùn)算。[〇〇58]例如,也可以為在其他個別PUF位序列的數(shù)字值不全部為“0”或者不全部為“1”的位序列中,對PUF標(biāo)示符i相同的位值進(jìn)行X0R運(yùn)算。進(jìn)而,也可以利用任意選定的個另UPUF位序列執(zhí)行其他任意邏輯運(yùn)算。對于這種變形例,本領(lǐng)域技術(shù)人員通過本說明書顯然能夠理解,因此不作更具體的說明。[〇〇59]此外,如上所述,X0R運(yùn)算可以被其他邏輯運(yùn)算代替,關(guān)于如何組合邏輯運(yùn)算的輸入,也存在其他實(shí)施例。[0060]圖6為表示一實(shí)施例所涉及的數(shù)字值生成方法的流程圖。所示出的流程圖對應(yīng)于,參照圖3說明的實(shí)施例中的、決定部122將由PUF生成的數(shù)字值A(chǔ):中包含數(shù)字值“0”和“1”這兩者的最初的數(shù)字值A(chǔ)P選作上述第一數(shù)字值B的實(shí)施例。[0061]最初的標(biāo)示符i被選定為0,在步驟610中標(biāo)示符i值逐次增加1。然后,在步驟620中,測試當(dāng)前標(biāo)示符i是否與最終標(biāo)示符n相同。在步驟620的判斷結(jié)果,若在第一數(shù)字值B還未決定的狀態(tài)下i變?yōu)榕cn相同,則可以將錯誤返回(步驟621)。另外,在步驟620的判斷結(jié)果,若i與n相同,則在步驟630中判斷與當(dāng)前標(biāo)示符對應(yīng)的數(shù)字值A(chǔ)i的所有位是否為“0”。[〇〇62]若在步驟630中判斷出六:的所有位為“0”,則返回步驟610,對下一標(biāo)示符執(zhí)行相同的過程,若判斷出不是仏的所有位為“0”的情況,則將與當(dāng)前標(biāo)示符i對應(yīng)的心決定為第一數(shù)字值B(步驟640)。對比參照圖3的實(shí)施例,步驟640中成為B=AP。[0063]圖7為表示另一實(shí)施例所涉及的數(shù)字值生成方法的流程圖。[0064]所示出的流程圖對應(yīng)于,參照圖3說明的實(shí)施例中的、決定部122在由PUF生成的數(shù)字值M中識別包含數(shù)字值“0”和“1”這兩者的AP?Aq、并將與標(biāo)示符p與標(biāo)示符q之間的中間值m對應(yīng)的數(shù)字值A(chǔ)m選作上述第一數(shù)字值B的實(shí)施例。最初的標(biāo)示符i被選定為0,在步驟710中標(biāo)示符i逐次增加1。[〇〇65]在步驟720中i和n不相同的情況下,在步驟730中判斷所有位是否為“1”。若仏的所有位不是“1”,則在步驟740中判斷仏的所有位是否為“0”。在該步驟740中,若M的所有位為“0”,則返回步驟710,使位標(biāo)示符增加,之后反復(fù)以后的過程。然而,若在步驟了仙中八:的所有位不是“〇”,則將當(dāng)前標(biāo)示符i決定為P,返回步驟710。[0〇66]另一方面,在這一循環(huán)(iterat1n)過程中,若在步驟730中Ai的所有位為“1”,則q值被決定出。q值可以被決定為當(dāng)前標(biāo)示符i,也可以被決定為未圖示的比當(dāng)前標(biāo)示符小的(1-1)(步驟760)。此外,若無法找出Ai的所有位為“1”的位序列并在步驟720中i變?yōu)榈扔趎,則可以在步驟760中將當(dāng)前標(biāo)示符即n決定為q。那么,在步驟770中,計算上述p與q的中間值即median(p,q),并該與該標(biāo)示符median(p,q)對應(yīng)的Amedian(P,q)決定為第一數(shù)字值B。[0067]圖8為表示一實(shí)施例所涉及的數(shù)字值生成方法的流程圖。在步驟810中數(shù)字值生成裝置100的生成部110所生成的多個數(shù)字值被讀取部121讀取。上述多個數(shù)字值可以是分別由圖1的PUF生成的值。另外,上述的讀取過程可以是從參照圖1及圖2說明的PUF讀取的數(shù)字值的過程。[0068]如上所述,通過這種過程n個數(shù)字值(分別為k位)可以被傳遞于決定部122。當(dāng)然并非要讀取n個PUF生成的所有值,也可以是n個中的僅一部分?jǐn)?shù)字值被傳遞于決定部122。那么,在步驟820中,利用決定部122所讀取的數(shù)字值,決定數(shù)字值生成裝置100所提供的隨機(jī)數(shù)即第一數(shù)字值。[0069]根據(jù)一實(shí)施例,決定部122在所讀取的多個數(shù)字值六1?4?中識別出包含數(shù)字值“0”和“1”這兩者的值A(chǔ)P?Aq。然后可以在AP?Aq中選擇任意一個并將其決定為第一數(shù)字值B。上述選擇可以按照預(yù)先決定的規(guī)則進(jìn)行,也可以是隨機(jī)性的選擇。[0070]在該選擇過程中所能進(jìn)行的幾個實(shí)施例已參照圖3進(jìn)行了說明。根據(jù)一實(shí)施例,決定部122可以在六:中將包含數(shù)字值“0”和“1”這兩者的最初的數(shù)字值~決定為上述第一數(shù)字值B〇[〇〇71]根據(jù)另一實(shí)施例,決定部122可以在六:中將包含數(shù)字值“0”和“1”這兩者的最后的數(shù)字值A(chǔ)q決定為上述第一數(shù)字值B。此外,根據(jù)另一其他實(shí)施例,決定部122可以在Ai中將包含數(shù)字值“〇”和“1”這兩者的AP?Aq中的任意值決定為上述第一數(shù)字值B。另外,根據(jù)另一其他實(shí)施例,決定部122可以在Ai中將包含數(shù)字值“0”和“1”這兩者的AP?Aq中的標(biāo)示符為p與q的中間的Am決定為上述第一數(shù)字值B。[0072]另一方面,如參照圖4、圖5所進(jìn)行的說明,根據(jù)另一其他實(shí)施例,決定部122可以對數(shù)字值A(chǔ)i?An中的至少一部分按照位(bitbybit)進(jìn)行邏輯運(yùn)算,來算出上述第一數(shù)字值B。根據(jù)一實(shí)施例,決定部122可以對列標(biāo)示符j(j為自然數(shù))相同的?anj進(jìn)行邏輯運(yùn)算比如X0R運(yùn)算,來計算包含于第一數(shù)字值B的位值匕。詳細(xì)內(nèi)容如參照圖4進(jìn)行的上述說明。[0073]此外,如參照圖5所進(jìn)行的說明,根據(jù)另一實(shí)施例,決定部122可以對所讀取的Ai?An中除位值均為“0”或均為T的數(shù)字值之外的位值包含“0”和T這兩者的范圍的數(shù)字值(AP?Aq)按照位進(jìn)行XOR運(yùn)算,來計算第一數(shù)字值B。[〇〇74]對于在步驟820中決定第一數(shù)字值的過程,除了參照圖3?圖5進(jìn)行例示性說明的實(shí)施例之外,還可以進(jìn)行各種變形。此外,對于邏輯運(yùn)算,如上所述,除了X0R運(yùn)算之外,還可進(jìn)行其他各種運(yùn)算以提高數(shù)字值的熵。當(dāng)這樣第一數(shù)字值B被決定,則作為步驟830中由數(shù)字值生成裝置100提供的隨機(jī)數(shù)可提供B。[〇〇75]根據(jù)這樣的多種實(shí)施例,即便適用參數(shù)的部分PUF沒有生成隨機(jī)的數(shù)字值,包含該P(yáng)UF的生成部110芯片整體可以被利用,因此能夠提高PUF制作收率。此外,通過一次性地實(shí)現(xiàn)適用多種參數(shù)的PUF,因此還能夠減少進(jìn)行另外的首次通過的時間,因此能夠最小化PUF工序所需的時間。[〇〇76]此外,最終被提供的第一數(shù)字值B其熵極其高,因此被當(dāng)做真正的隨機(jī)數(shù)的概率變高。因此,能夠大幅提高PUF能夠使用在安保領(lǐng)域等隨機(jī)性非常重要的領(lǐng)域的可靠性。[0077]以上說明的實(shí)施例,可由硬件構(gòu)成要素、軟件構(gòu)成要素和/或硬件構(gòu)成要素與軟件構(gòu)成要素的組合來實(shí)現(xiàn)。例如在實(shí)施例中說明的裝置及構(gòu)成要素,可以利用如處理器、控制器、ALU(arithmeticlogicunit:算術(shù)邏輯單元)、數(shù)字信號處理器(digitalsignalprocessor)、微型計算機(jī)、FPGA(fieldprogrammablearray:現(xiàn)場可編程陣列)、PLU(programmablelogicunit:可編程邏輯單元)、微處理器、或者可執(zhí)行及響應(yīng)指令(instruct1n)的其他任意裝置那樣,一個以上的通用計算機(jī)或者特殊目的計算機(jī)來實(shí)現(xiàn)。處理裝置可以執(zhí)行操作系統(tǒng)(0S)或在該操作系統(tǒng)上執(zhí)行的一個以上的軟件應(yīng)用程序。此夕卜,處理裝置還可以響應(yīng)于軟件的執(zhí)行而接近、存儲、操作、處理或生成數(shù)據(jù)。為便于理解,處理裝置存在使用一個進(jìn)行說明的情況,但所屬
技術(shù)領(lǐng)域
的普通技術(shù)人員顯然理解處理裝置可以包括多個處理要素(processingelement)和/或多種類型的處理要素。例如,處理裝置可以包括多個處理器或者一個處理器及一個控制器。另外,還可以為如并行處理器(parallelprocessor)那樣的其他處理結(jié)構(gòu)(processingconfigurat1n)。[0078]軟件可以包括計算機(jī)程序(computerprogram)、代碼(code)、指令(instruct1n)、或者它們中的一個以上的組合,可以以進(jìn)行所希望的動作的方式構(gòu)成處理裝置,或者共同地(collectively)命令處理裝置。軟件和/或數(shù)據(jù),為了被處理裝置解釋或者向處理裝置提供指令或者數(shù)據(jù),而可以永久或暫時地具體化為任意類型的設(shè)備、結(jié)構(gòu)要素(component)、物理裝置、虛擬裝置(virtualequipment)、計算機(jī)存儲介質(zhì)或裝置、或者被傳送的信號波(signalwave)。軟件可以分散在被網(wǎng)絡(luò)連接的計算機(jī)系統(tǒng)中,且可以以分散的方法存儲或執(zhí)行。軟件及數(shù)據(jù)可以存儲于一個以上的計算機(jī)可讀記錄介質(zhì)中。[0079]實(shí)施例所涉及的方法,可以以通過各種計算機(jī)單元執(zhí)行的程序指令形態(tài)實(shí)現(xiàn),且可記錄于計算機(jī)可讀介質(zhì)中。上述計算機(jī)可讀介質(zhì)可以單獨(dú)地或相組合地包含程序指令、數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等。記錄于上述介質(zhì)中的程序指令,可以是為了實(shí)施例而特別設(shè)計構(gòu)成的指令,或者也可以是本領(lǐng)域技術(shù)人員公知的可使用的指令。作為計算機(jī)可讀記錄介質(zhì)的例子,有如硬盤、軟盤及磁帶之類的磁介質(zhì)(magneticmedia),如CD-R0M、DVD之類的光記錄介質(zhì)(opticalmedia),如光磁軟盤(flopticaldisk)之類的磁光介質(zhì)(magneto-opticalmedia),以及如R0M、RAM、閃存等之類的存儲程序指令并執(zhí)行的特意構(gòu)成的硬件裝置。作為程序指令的例子,可包括由編譯程序(compiler)制作的機(jī)器語言代碼、以及使用解釋器(interpreter)可由計算機(jī)執(zhí)行的高級語言代碼。上述的硬件裝置,為了執(zhí)行實(shí)施例的動作,可以以作為一個以上的軟件組件動作的方式構(gòu)成,相反也可以。[0080]雖然利用限定的實(shí)施例及【附圖說明】了上述的實(shí)施例,但對于所屬
技術(shù)領(lǐng)域
的技術(shù)人員而言,顯然可以根據(jù)上述記載進(jìn)行多種修改及變形。例如,以與所說明的方法不同的順序執(zhí)行已說明的技術(shù),和/或以與所說明的方法不同的形態(tài)結(jié)合或組合已說明的系統(tǒng)、結(jié)構(gòu)、裝置、電路等結(jié)構(gòu)要素,或者用其他結(jié)構(gòu)要素或均等物代替或置換,也能實(shí)現(xiàn)適當(dāng)?shù)慕Y(jié)果。因此,其他實(shí)現(xiàn)例子、其他實(shí)施例以及與權(quán)利要求范圍等同的例子,也均屬于所附的權(quán)利要求范圍內(nèi)?!局鳈?quán)項(xiàng)】1.一種數(shù)字值的生成裝置,利用半導(dǎo)體的工序變異來生成數(shù)字值,其特征在于,上述數(shù)字值的生成裝置包括:生成部,利用上述半導(dǎo)體的工序變異,來生成多個數(shù)字值;處理部,處理上述多個數(shù)字值,來提供第一數(shù)字值,上述生成部包括多個PUF(physicallyunclonablefunct1n),相互不同地適用引發(fā)上述工序變異的至少一個參數(shù)來制造上述多個PUF中的至少一部分,由上述多個PUF生成上述多個數(shù)字值。2.根據(jù)權(quán)利要求1所述的數(shù)字值的生成裝置,其中,上述多個PUF中的至少一個,包含形成在半導(dǎo)體的導(dǎo)電層之間的至少一個過孔(Via),利用上述導(dǎo)電層是否因上述至少一個過孔而短路,來生成上述多個數(shù)字值中的至少一個。3.根據(jù)權(quán)利要求2所述的數(shù)字值的生成裝置,其中,上述參數(shù)包含上述過孔的尺寸。4.根據(jù)權(quán)利要求3所述的數(shù)字值的生成裝置,其中,上述過孔的尺寸選自如下范圍:在先于生成上述生成裝置的工序進(jìn)行的測試工序中,既確認(rèn)到上述導(dǎo)電層之間短路又確認(rèn)到?jīng)]有短路這樣的過孔尺寸的最小值至最大值的范圍,上述多個PUF每一個被適用上述范圍內(nèi)的相不同的過孔尺寸。5.根據(jù)權(quán)利要求1所述的數(shù)字值的生成裝置,其中,上述處理部將上述多個數(shù)字值中的符合事先指定的條件的值選擇為上述第一數(shù)字值。6.根據(jù)權(quán)利要求5所述的數(shù)字值的生成裝置,其中,上述事先指定的條件由提供位序列包含“1”和“〇”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)最小的PUF生成。7.根據(jù)權(quán)利要求5所述的數(shù)字值的生成裝置,其中,上述事先指定的條件由提供位序列包含“1”和“〇”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)為最小值和最大值之間的中間值的PUF生成。8.根據(jù)權(quán)利要求1所述的數(shù)字值的生成裝置,其中,上述處理部對上述多個數(shù)字值按照位序列實(shí)施邏輯運(yùn)算來計算上述第一數(shù)字值。9.根據(jù)權(quán)利要求8所述的數(shù)字值的生成裝置,其中,上述邏輯運(yùn)算為異或(X0R)邏輯運(yùn)算。10.—種數(shù)字值的生成方法,由利用半導(dǎo)體的工序變異生成數(shù)字值的生成裝置來生成數(shù)字值,其特征在于,包括:由相不同地適用引發(fā)上述工序變異的至少一個參數(shù)而制作出的多個PUF,來生成多個數(shù)字值的步驟;以及由處理部處理上述多個數(shù)字值來提供第一數(shù)字值的步驟。11.根據(jù)權(quán)利要求10所述的數(shù)字值的生成方法,其中,上述多個PUF中的至少一個包含形成在半導(dǎo)體的導(dǎo)電層之間的至少一個過孔(Via),在生成多個數(shù)字值的上述步驟中,根據(jù)上述導(dǎo)電層是否因上述至少一個過孔而短路來生成上述多個數(shù)字值中的至少一個。12.根據(jù)權(quán)利要求11所述的數(shù)字值的生成方法,其中,上述參數(shù)包含上述過孔的尺寸。13.根據(jù)權(quán)利要求12所述的數(shù)字值的生成方法,其中,上述過孔的尺寸選自如下范圍:在先于生成上述生成裝置的工序進(jìn)行的測試工序中,既確認(rèn)到上述導(dǎo)電層之間短路又確認(rèn)到?jīng)]有短路這樣的過孔尺寸的最小值至最大值的范圍,上述多個PUF每一個被適用上述范圍內(nèi)的相不同的過孔尺寸。14.根據(jù)權(quán)利要求10所述的數(shù)字值的生成方法,其中,在由處理部處理的上述步驟中,將上述多個數(shù)字值中的符合事先指定的條件的值選擇為上述第一數(shù)字值。15.根據(jù)權(quán)利要求14所述的數(shù)字值的生成方法,其中,上述事先指定的條件由提供位序列包含“1”和“〇”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)最小的PUF生成。16.根據(jù)權(quán)利要求14所述的數(shù)字值的生成方法,其中,上述事先指定的條件由提供位序列包含“1”和“〇”這兩者的數(shù)字值的至少一個PUF中的、所適用的上述參數(shù)為最小值和最大值之間的中間值的PUF生成。17.根據(jù)權(quán)利要求10所述的數(shù)字值的生成方法,其中,在由處理部處理的上述步驟中,對上述多個數(shù)字值按照位序列實(shí)施邏輯運(yùn)算來計算上述第一數(shù)字值。18.根據(jù)權(quán)利要求17所述的數(shù)字值的生成方法,其中,上述邏輯運(yùn)算為異或(XOR)邏輯運(yùn)算?!疚臋n編號】G06F21/73GK106062771SQ201480076522【公開日】2016年10月26日【申請日】2014年12月30日【發(fā)明人】金東奎,崔秉德【申請人】有限公司Ictk
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1