使用獨(dú)特識(shí)別元件的安全模塊的制作方法
【專利摘要】本發(fā)明的各種實(shí)施例涉及安全系統(tǒng)和模塊,并且更具體地涉及生成并應(yīng)用與模塊或元件獨(dú)特地相關(guān)聯(lián)的識(shí)別元件的系統(tǒng)、設(shè)備和方法。這些獨(dú)特識(shí)別元件提供改進(jìn)的統(tǒng)計(jì)上隨機(jī)的并且可以根據(jù)其導(dǎo)出密鑰的源。這些密鑰在各種體系結(jié)構(gòu)當(dāng)中的應(yīng)用導(dǎo)致在系統(tǒng)內(nèi)通信的數(shù)據(jù)的安全性的提高。
【專利說明】使用獨(dú)特識(shí)別元件的安全模塊
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)根據(jù)美國(guó)法典第35卷第119條e款要求享有2013年6月16日遞交的發(fā)明名稱為 “Secure Modules Using Unique Identificat1n Elements” 的美國(guó)臨時(shí)申請(qǐng)序列號(hào)61/836,529的優(yōu)先權(quán),該臨時(shí)申請(qǐng)通過引用的方式被全部并入本文。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明通常涉及安全微控制器系統(tǒng)和/或模塊,并且更特別地涉及用于使用安全微控制器系統(tǒng)和/或模塊的安全體系結(jié)構(gòu)內(nèi)的獨(dú)特識(shí)別元件的系統(tǒng)和方法。
【背景技術(shù)】
[0004]本領(lǐng)域的技術(shù)人員完全理解在當(dāng)今的計(jì)算系統(tǒng)內(nèi)數(shù)據(jù)安全的重要性。在許多市場(chǎng)中發(fā)生了重大的研究和開發(fā),以便嘗試建立在認(rèn)證、數(shù)據(jù)傳送和存儲(chǔ)期間維持?jǐn)?shù)據(jù)的整體性的安全協(xié)議和體系結(jié)構(gòu)。盡管這些努力已經(jīng)產(chǎn)生對(duì)安全系統(tǒng)的主要改進(jìn),但是仍然存在安全系統(tǒng)內(nèi)的數(shù)據(jù)會(huì)被危害的有意圖的風(fēng)險(xiǎn)。
[0005]設(shè)計(jì)和維持安全計(jì)算系統(tǒng)時(shí)的困難涉及解決所述系統(tǒng)中可能危害數(shù)據(jù)安全的所有潛在弱點(diǎn)的艱巨任務(wù)。一個(gè)這樣的弱點(diǎn)是在安全系統(tǒng)中生成并維持加密密鑰的方式以及如何在認(rèn)證、通信和存儲(chǔ)操作中實(shí)現(xiàn)這些密鑰。如果加密密鑰沒有從足夠隨機(jī)和/或獨(dú)特的源得到,則該密鑰可能潛在地被攻擊者復(fù)制并且用于從所述系統(tǒng)獲得信息。例如,如果個(gè)人能夠預(yù)測(cè)用于在系統(tǒng)內(nèi)播種加密密鑰的偽隨機(jī)數(shù)(例如,理解用于生成該數(shù)字的算法),則該個(gè)人能夠得到加密密鑰以便對(duì)存儲(chǔ)在系統(tǒng)中或在系統(tǒng)的模塊之間傳送的數(shù)據(jù)進(jìn)行解密。結(jié)果,安全工程師不斷地尋找可以增加密鑰的隨機(jī)性的方式。
[0006]圖1說明了標(biāo)準(zhǔn)體系結(jié)構(gòu)以便說明在安全系統(tǒng)內(nèi)數(shù)據(jù)如何被攻擊。本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,數(shù)據(jù)安全的一般概念以及相對(duì)應(yīng)的系統(tǒng)和方法在非常不同的一組計(jì)算系統(tǒng)中是相關(guān)的,所有這些與本發(fā)明相關(guān)。
[0007]示例性系統(tǒng)100包括使用通信信道150傳輸數(shù)據(jù)的微控制器105和模塊110。模塊110和通信信道150可以由本領(lǐng)域中的技術(shù)人員理解的許多實(shí)現(xiàn)方式實(shí)現(xiàn)。在通信信道150內(nèi)傳輸?shù)臄?shù)據(jù)被加密。取決于系統(tǒng)的設(shè)計(jì),也可以在微控制器105或模塊110中對(duì)數(shù)據(jù)進(jìn)行加密和存儲(chǔ)。
[0008]加密密鑰在系統(tǒng)內(nèi)使用以便對(duì)數(shù)據(jù)進(jìn)行加密和解密。這些密鑰可以使用包括由本領(lǐng)域中的技術(shù)人員理解的公知協(xié)議定義的各種技術(shù)來生成。微控制器105具有用于對(duì)數(shù)據(jù)進(jìn)行加密和解密的編碼塊140和解碼塊130。在這一特定實(shí)例中,編碼塊130和解碼塊140經(jīng)由存儲(chǔ)器/總線接口 120連接到處理單元115或核心。比較地,模塊110也具有與能夠執(zhí)行功能的模塊180通信的編碼塊160和解碼塊170。
[0009]數(shù)據(jù)可能在這一安全系統(tǒng)100內(nèi)的不同點(diǎn)處被攻擊。首先,數(shù)據(jù)可能在它在位于微控制器105和模塊110之間的通信通道150內(nèi)進(jìn)行通信時(shí)被攻擊。個(gè)人或計(jì)算設(shè)備可能攔截信道150內(nèi)的業(yè)務(wù)并且嘗試對(duì)數(shù)據(jù)進(jìn)行解密。其次,個(gè)人或計(jì)算設(shè)備可能嘗試取回存儲(chǔ)在微控制器105或模塊110中的數(shù)據(jù)。如果這一存儲(chǔ)的數(shù)據(jù)被加密,則個(gè)人需要在數(shù)據(jù)變得可用之前對(duì)該數(shù)據(jù)進(jìn)行解密。在這兩種情況下,加密密鑰的強(qiáng)度在防止攻擊方面是最重要的。
[0010]需要解決上面描述的顧慮的系統(tǒng)、設(shè)備和方法。
【發(fā)明內(nèi)容】
[0011]本發(fā)明涉及安全系統(tǒng)和模塊,并且更具體地涉及生成并應(yīng)用與模塊或元件獨(dú)特地相關(guān)聯(lián)的識(shí)別元件的系統(tǒng)、設(shè)備和方法。這些獨(dú)特識(shí)別元件提供改進(jìn)的統(tǒng)計(jì)上隨機(jī)的并且可以根據(jù)其得到密鑰的源。這些密鑰在各種體系結(jié)構(gòu)當(dāng)中的應(yīng)用導(dǎo)致在系統(tǒng)內(nèi)通信的數(shù)據(jù)的安全性的提聞。
[0012]在某些實(shí)施例中,將獨(dú)特識(shí)別元件束縛于系統(tǒng)本身內(nèi)的模塊/元件的一個(gè)或多個(gè)物理特性。在各種實(shí)施例中,獨(dú)特識(shí)別元件與半導(dǎo)體晶片的半導(dǎo)體識(shí)別標(biāo)志相關(guān)。半導(dǎo)體識(shí)別標(biāo)志或特性可以根據(jù)單個(gè)裸片中的半導(dǎo)體設(shè)備當(dāng)中以及在位于整個(gè)晶片上的不同位置處的半導(dǎo)體裸片當(dāng)中的細(xì)微物理差異導(dǎo)出或者與該細(xì)微物理差異相關(guān)。這些差異起源于在光刻和晶片處理步驟中的不均勻性和小的不精確度,盡管設(shè)備或裸片意在是相同的。系統(tǒng)內(nèi)的物理元件對(duì)于它的電學(xué)、機(jī)械、磁、化學(xué)和其它特性展示其特殊性。
[0013]由于在多于一個(gè)方向上貫穿整個(gè)晶片的小的梯度,以及從一個(gè)晶體管到下一個(gè)晶體管在電容、速度或溫度敏感性方面的非常小的差異,所述差異可以在統(tǒng)計(jì)上是隨機(jī)的且小的,并且根據(jù)本發(fā)明某些實(shí)施例可以是可測(cè)量的。這些差異用于生成統(tǒng)計(jì)上隨機(jī)的數(shù)字,其是獨(dú)特的、不可復(fù)制的和可重復(fù)的,用于加強(qiáng)根據(jù)其得到的加密密鑰。
[0014]本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,加密密鑰的加強(qiáng)可以應(yīng)用在大量的體系結(jié)構(gòu)中。本領(lǐng)域中的技術(shù)人員將進(jìn)一步認(rèn)識(shí)到,半導(dǎo)體裸片可以具有從一個(gè)晶片到下一個(gè)晶片并且從一個(gè)裸片到下一個(gè)裸片在統(tǒng)計(jì)上隨機(jī)的大量物理特性,所有這些物理特性在生成加密密鑰時(shí)會(huì)是有用的,并且應(yīng)該落在本發(fā)明的范圍內(nèi)。
【專利附圖】
【附圖說明】
[0015]將參照在附圖中說明的本發(fā)明的示例性實(shí)施例。這些附圖意在是說明性的而非限制性的。盡管通常在那些實(shí)施例的背景中描述本發(fā)明,但是這樣做并不意在將本發(fā)明的范圍局限于所描繪和描述的實(shí)施例的特定特征。
[0016]圖1是說明包括微控制器和模塊的安全系統(tǒng)的現(xiàn)有技術(shù)圖示。
[0017]圖2是根據(jù)本發(fā)明各種實(shí)施例的雙向鏈接安全系統(tǒng),其中在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。
[0018]圖3是根據(jù)本發(fā)明各種實(shí)施例的單向鏈接安全系統(tǒng),其中在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。
[0019]圖4是根據(jù)本發(fā)明各種實(shí)施例的多主控器安全系統(tǒng),其中在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。
[0020]圖5是根據(jù)本發(fā)明各種實(shí)施例的安全系統(tǒng),其中在多個(gè)微控制器當(dāng)中共享邏輯上分離的資源,并且在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。
[0021]本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,可以根據(jù)該說明書來實(shí)施本發(fā)明的各種實(shí)現(xiàn)和實(shí)施例。所有這些實(shí)現(xiàn)和實(shí)施例意在包括在本發(fā)明的范圍內(nèi)。
【具體實(shí)施方式】
[0022]在下面的描述中,為了解釋的目的,闡述了具體細(xì)節(jié)以便提供對(duì)本發(fā)明的理解。然而,可以在沒有這些細(xì)節(jié)中的一些或全部的情況下來實(shí)踐本發(fā)明??梢詫⑾旅婷枋龅谋景l(fā)明實(shí)施例合并到多個(gè)不同的電氣部件、電路、設(shè)備和系統(tǒng)中。在方框圖中示出的結(jié)構(gòu)和設(shè)備說明了本發(fā)明的示例性實(shí)施例,并且并不用作使本發(fā)明的廣泛教導(dǎo)難于理解的托辭。附圖內(nèi)部件之間的連接并不意在局限于直接連接。更確切地,可以通過中間部件對(duì)部件之間的連接進(jìn)行修改、重排或以其它方式改變。
[0023]當(dāng)說明書提到“一個(gè)實(shí)施例”或“實(shí)施例”時(shí),意在表示結(jié)合正在被討論的實(shí)施例描述的特定特征、結(jié)構(gòu)、特性或功能包括在本發(fā)明的至少一個(gè)設(shè)想的實(shí)施例中。因而,短語(yǔ)“在一個(gè)實(shí)施例中”在說明書中不同地方的出現(xiàn)并不構(gòu)成對(duì)本發(fā)明單個(gè)實(shí)施例的多個(gè)提及。
[0024]本發(fā)明的各種實(shí)施例用于保護(hù)在由結(jié)構(gòu)化模塊組成的系統(tǒng)中的通信、數(shù)據(jù)傳輸和存儲(chǔ)。結(jié)構(gòu)化模塊是具有位于兩個(gè)或更多個(gè)模塊之間的規(guī)定的關(guān)系和規(guī)定的分級(jí)結(jié)構(gòu)的系統(tǒng)的部件。模塊可以是存儲(chǔ)器模塊、微控制器、協(xié)處理器或系統(tǒng)內(nèi)的任何其它設(shè)備,該模塊在系統(tǒng)內(nèi)傳輸和/或接收信息。一個(gè)或多個(gè)模塊包括用于生成加密密鑰以便保護(hù)存儲(chǔ)在系統(tǒng)內(nèi)、在系統(tǒng)內(nèi)傳輸或者從系統(tǒng)傳輸?shù)臄?shù)據(jù)的獨(dú)特識(shí)別元件。這些系統(tǒng)和其中的模塊可以被集成在單個(gè)基底上或者包含分立的部件。而且,本發(fā)明的實(shí)施例可以應(yīng)用于可以在生成加密密鑰之后在該系統(tǒng)內(nèi)使用的不同的一組加密協(xié)議和技術(shù)。
[0025]圖2說明了根據(jù)本發(fā)明各種實(shí)施例的雙向鏈接安全系統(tǒng)200,其中在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。所述系統(tǒng)包括微控制器205和模塊210。微控制器包括處理單元215或核心以及耦合到編碼塊230和解碼塊225的接口 220。在某些實(shí)施例中,編碼塊和解碼塊225、230對(duì)與指令或數(shù)據(jù)塊相關(guān)聯(lián)的數(shù)據(jù)和地址進(jìn)行編碼/解碼。
[0026]微控制器205內(nèi)的獨(dú)特識(shí)別元件240耦合到第一秘密生成器250,該第一秘密生成器250生成第一秘密(秘密B)用于隨后在系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用。這一第一秘密可以用于播種加密密鑰或者用作密鑰本身。這一密鑰可以支持對(duì)稱或非對(duì)稱塊加密、流加密方法、數(shù)據(jù)加擾或本領(lǐng)域的技術(shù)人員已知的其它加密方法。存儲(chǔ)解密密鑰的存儲(chǔ)器235也位于微控制器內(nèi)并且可以是較大存儲(chǔ)器的一部分或者可以是分立存儲(chǔ)器。密鑰存儲(chǔ)器235也可以具有與篡改檢測(cè)、未經(jīng)授權(quán)的探查等等相關(guān)的安全特征。密鑰存儲(chǔ)器235存儲(chǔ)允許來自模塊210的數(shù)據(jù)在微控制器處被解密的密鑰。
[0027]模塊210經(jīng)由通信信道255耦合到微控制器205,該通信信道可以是有線或無(wú)線的,并且在任何通信協(xié)議下操作。模塊210包括執(zhí)行系統(tǒng)內(nèi)的一個(gè)或多個(gè)功能的功能塊290。例如,功能塊290可以執(zhí)行與存儲(chǔ)器、數(shù)字信號(hào)處理器、圖形處理單元、通信引擎、密碼協(xié)處理器或微控制器205與其進(jìn)行通信的任何其它類型的模塊相關(guān)的操作。
[0028]模塊210還包括支持與微控制器205的加密通信的編碼塊295和解碼塊290。編碼塊和解碼塊290、295可以對(duì)與指令或數(shù)據(jù)塊相關(guān)聯(lián)的數(shù)據(jù)和/或地址進(jìn)行編碼。模塊210進(jìn)一步包括耦合到生成第二秘密(秘密A)的第二秘密生成器285的獨(dú)特識(shí)別元件280。這一第二秘密可以用于播種加密密鑰或用作密鑰本身。密鑰存儲(chǔ)器260也位于模塊210內(nèi),并且可以是較大存儲(chǔ)器的一部分或者可以是分立存儲(chǔ)器。這一密鑰存儲(chǔ)器260也可以具有與篡改檢測(cè)、未經(jīng)授權(quán)的探查等等相關(guān)的安全特征。密鑰存儲(chǔ)器260存儲(chǔ)允許來自微控制器205的數(shù)據(jù)在模塊210處被解密的密鑰。
[0029]在某些實(shí)施例中,獨(dú)特識(shí)別元件240、280是與微控制器205或模塊210的物理特性相關(guān)聯(lián)和/或根據(jù)該微控制器205或模塊210的物理特性得到的識(shí)別值。在一個(gè)示例中,半導(dǎo)體識(shí)別標(biāo)志或特性用作獨(dú)特識(shí)別元件或者用于播種生成獨(dú)特識(shí)別元件的過程。半導(dǎo)體識(shí)別標(biāo)志或特性可以根據(jù)單個(gè)裸片中的半導(dǎo)體設(shè)備當(dāng)中以及位于整個(gè)晶片上的不同位置處的半導(dǎo)體裸片當(dāng)中的細(xì)微物理差異導(dǎo)出或者與該細(xì)微物理差異相關(guān)。這些差異起源于在光刻和晶片處理步驟中的不均勻性和小的不精確度,即使設(shè)備或裸片意在是相同的。當(dāng)通過半導(dǎo)體處理來制造物理元件時(shí),它們會(huì)被放置在不同的物理位置處或被不同地取向,并且局部半導(dǎo)體工藝特性對(duì)這些物理元件并不完全一致。結(jié)果,每一個(gè)物理元件針對(duì)它的電學(xué)、機(jī)械、磁、化學(xué)和其它屬性展示其特殊性。
[0030]由于在多于一個(gè)方向上貫穿晶片的小的梯度以及在電容、速度或者溫度靈敏度方面從一個(gè)晶體管到一下個(gè)晶體管的非常小的差異,所述差異可以在統(tǒng)計(jì)上是隨機(jī)的且小的。例如,兩個(gè)否則相同的電容器會(huì)由于電介質(zhì)厚度和板面積方面的差異而在電容上相差0.1%。電介質(zhì)厚度方面的差異可能由電介質(zhì)形成步驟中的變化引起,而板面積方面的差異由光刻或蝕刻中的變化產(chǎn)生。半導(dǎo)體設(shè)計(jì)通常致力于最小化這些差異,以使得終端產(chǎn)品的性能在某個(gè)容限內(nèi)受控。然而,這里利用這些差異來生成統(tǒng)計(jì)上隨機(jī)的數(shù)字,這些數(shù)字是獨(dú)特的、不可復(fù)制的和可重復(fù)的。
[0031]本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,微控制器205或模塊210的其它特性可以用作在系統(tǒng)的安全框架內(nèi)的識(shí)別元件。
[0032]本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,雙向鏈接安全系統(tǒng)200可以根據(jù)各種方法進(jìn)行操作。在一個(gè)示例中,安全系統(tǒng)的操作包括初始化階段和模塊訪問階段。在系統(tǒng)初始化(或上電或根據(jù)預(yù)定義的調(diào)度)時(shí),模塊210根據(jù)其獨(dú)特識(shí)別元件280生成秘密(秘密A) 285。微控制器205也根據(jù)其獨(dú)特識(shí)別元件240生成秘密(秘密B) 250。如前面提到的,秘密(秘密A和B)可以是獨(dú)特識(shí)別元件或者可以是由獨(dú)特識(shí)別元件播種的數(shù)學(xué)函數(shù)的結(jié)果。將秘密B250提供到模塊210并且存儲(chǔ)在存儲(chǔ)器260中。將秘密A285提供到微控制器205并且存儲(chǔ)在存儲(chǔ)器235中。結(jié)果,微控制器205和模塊210 二者都具有加密和解密密鑰來支持安全通信。重要的是,這些密鑰的安全得到增強(qiáng),因?yàn)槊恳粋€(gè)密鑰根據(jù)非常難于檢測(cè)和/或復(fù)制的高度秘密的元件得到。
[0033]模塊訪問階段允許微控制器205訪問模塊功能290,該模塊功能可能要求要在模塊210上處理的數(shù)據(jù)和地址信息。在某些實(shí)施例中,在微控制器上的編碼塊230中生成命令并且使用秘密B對(duì)其進(jìn)行加密。將已編碼的指令經(jīng)由信道255傳輸?shù)侥K210。解碼塊290從微控制器205接收指令。使用存儲(chǔ)在密鑰存儲(chǔ)器260中的秘密B250,解碼塊290對(duì)指令(或數(shù)據(jù)塊)進(jìn)行解碼并且將解密的指令傳遞到模塊功能290用于隨后的處理。在模塊210與存儲(chǔ)器相關(guān)的一個(gè)示例中,讀取操作被從微控制器205發(fā)送到模塊210。使用類似的方法對(duì)請(qǐng)求進(jìn)行解碼并且在存儲(chǔ)器模塊中對(duì)請(qǐng)求進(jìn)行處理,以使得從相關(guān)聯(lián)的存儲(chǔ)器讀取相對(duì)應(yīng)的數(shù)據(jù)塊。
[0034]上面描述的方法和系統(tǒng)提到具有單個(gè)模塊的微控制器。然而,本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,本發(fā)明的范圍可以應(yīng)用于與微控制器或其它設(shè)備進(jìn)行安全通信的任何類型或數(shù)量的模塊。安全框架不僅在秘密或密鑰的生成中提供加強(qiáng)的安全,而且允許模塊經(jīng)過根據(jù)模塊的物理特性得到的密鑰的交換來鏈接/結(jié)合在一起。在典型的系統(tǒng)中,外圍模塊結(jié)合到微控制器,并且在沒有微控制器的協(xié)作下不能夠被代替,因而防止未經(jīng)授權(quán)的系統(tǒng)修改并且保護(hù)存儲(chǔ)在其中的數(shù)據(jù)的整體性。
[0035]圖3是根據(jù)本發(fā)明各種實(shí)施例的單向鏈接安全系統(tǒng),其中在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。本發(fā)明的各種實(shí)施例支持單向通信系統(tǒng)或其中僅一個(gè)方向被加密的雙向通信系統(tǒng)。
[0036]在圖3的示例性單向鏈接安全系統(tǒng)中,使用安全密鑰對(duì)從模塊310到微控制器305的通信進(jìn)行加密。按照上面討論的類似方式,模塊310上的獨(dú)特識(shí)別元件350由秘密生成器340使用來作為加密密鑰或作為生成密鑰的種子。將該密鑰傳輸?shù)轿⒖刂破?05并且存儲(chǔ)在密鑰存儲(chǔ)器330內(nèi)。來自模塊310的通信在編碼塊360內(nèi)被編碼并且經(jīng)由信道320被傳輸?shù)轿⒖刂破?05。解碼塊370訪問該密鑰并且對(duì)通信進(jìn)行解碼用于隨后的處理。
[0037]本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,各種實(shí)現(xiàn)可以在所描述的體系結(jié)構(gòu)和本發(fā)明的范圍內(nèi)實(shí)現(xiàn)。例如,模塊也可以針對(duì)微控制器或其它設(shè)備被認(rèn)證。在一個(gè)示例中,認(rèn)證程序包括初始化階段和模塊驗(yàn)證階段。在系統(tǒng)初始化(例如在工廠中)時(shí),模塊的獨(dú)特識(shí)別元件350的信息被記錄在系統(tǒng)的微控制器305中或聯(lián)網(wǎng)的驗(yàn)證服務(wù)器中。模塊310被鎖定以便防止獨(dú)特識(shí)別元件350的信息的進(jìn)一步直接傳播。
[0038]在模塊驗(yàn)證階段期間,微控制器305創(chuàng)建將用于認(rèn)證模塊310的唯一數(shù)字或隨機(jī)數(shù)字。將這一數(shù)字傳輸?shù)侥K310作為在挑戰(zhàn)和響應(yīng)方法中使用的挑戰(zhàn)數(shù)。模塊310基于該挑戰(zhàn)數(shù)及其獨(dú)特識(shí)別元件350來計(jì)算響應(yīng)。本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,挑戰(zhàn)數(shù)和獨(dú)特識(shí)別元件可以在認(rèn)證程序內(nèi)按照各種方式進(jìn)行組合或操作。在一個(gè)示例中,模塊310計(jì)算獨(dú)特識(shí)別元件350和挑戰(zhàn)數(shù)的安全散列。將散列的結(jié)果傳遞到微控制器305。因?yàn)槲⒖刂破?05知道挑戰(zhàn)數(shù)、獨(dú)特識(shí)別元件350和散列操作,因此微控制器能夠基于響應(yīng)來認(rèn)證模塊310。如先前提到的,微控制器305可以使用驗(yàn)證服務(wù)器作為這一過程的一部分。
[0039]本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,上面描述的體系結(jié)構(gòu)能夠支持模塊化認(rèn)證的變形。例如,多個(gè)獨(dú)特識(shí)別元件可以用于增強(qiáng)認(rèn)證和/或認(rèn)證操作的隨機(jī)性和強(qiáng)度。在一個(gè)實(shí)例中,第一公共元件將用作公共模塊識(shí)別并且第二秘密元件將用于如上所述的驗(yàn)證的計(jì)算。為了進(jìn)一步加強(qiáng)安全系統(tǒng),模塊310在計(jì)算響應(yīng)之前創(chuàng)建隨機(jī)數(shù)。隨機(jī)數(shù)的這一附加生成可以在安全協(xié)議內(nèi)實(shí)現(xiàn)以便阻撓諸如已知明文攻擊的某些攻擊。
[0040]在其中模塊310創(chuàng)建隨機(jī)數(shù)的示例中,模塊310基于挑戰(zhàn)數(shù)、獨(dú)特識(shí)別元件350和本地生成的隨機(jī)數(shù)來計(jì)算響應(yīng)。例如,模塊310計(jì)算獨(dú)特識(shí)別元件、挑戰(zhàn)數(shù)和本地生成的隨機(jī)數(shù)的安全散列。將計(jì)算的結(jié)果和隨機(jī)數(shù)返回到微控制器305。微控制器305或者基于它自己的關(guān)于模塊的唯一識(shí)別元件350的知識(shí)或者經(jīng)由聯(lián)網(wǎng)驗(yàn)證服務(wù)器來檢查響應(yīng)。
[0041]前面描述的示例描述了模塊到微控制器的安全通信或認(rèn)證。然而,本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,其它系統(tǒng)可以實(shí)現(xiàn)本發(fā)明的各種實(shí)施例。其中可以在數(shù)據(jù)交換的一側(cè)或兩側(cè)上實(shí)現(xiàn)獨(dú)特識(shí)別元件的任何充分的知識(shí)產(chǎn)權(quán)、系統(tǒng)、設(shè)備或方法可以得益于本發(fā)明的增強(qiáng)的安全。
[0042]在復(fù)雜結(jié)構(gòu)的系統(tǒng)中,微控制器和一個(gè)或多個(gè)附加的模塊可以使用本發(fā)明。例如,在微控制器總線系統(tǒng)中,密碼協(xié)處理器可以利用由本發(fā)明各種實(shí)施例提供的編碼和保護(hù)。在一個(gè)這樣的示例中,圖4說明了具有兩個(gè)總線主控器的系統(tǒng)。在其它情況下,具有總線主控能力(DMA)的外圍模塊也能夠與其它編碼的外圍模塊或者與存儲(chǔ)器模塊進(jìn)行通信。
[0043]參照?qǐng)D4,多個(gè)模塊可以針對(duì)微控制器或其它模塊進(jìn)行通信或被認(rèn)證。在這一示例中,安全體系結(jié)構(gòu)支持三階段過程,其中安全信息在微控制器405、外圍模塊(例如,協(xié)處理器)410和存儲(chǔ)器模塊415之間進(jìn)行交換。
[0044]在系統(tǒng)初始化或上電時(shí)或在預(yù)先約定的調(diào)度時(shí),存儲(chǔ)器模塊415使用秘密生成器435和獨(dú)特識(shí)別元件430生成秘密A。微控制器405使用秘密生成器470和獨(dú)特識(shí)別元件475生成秘密B。協(xié)處理器模塊410使用秘密生成器440和獨(dú)特識(shí)別元件445生成秘密C。如前面討論的,秘密A、B和C可以直接根據(jù)獨(dú)特識(shí)別元件或數(shù)學(xué)計(jì)算的結(jié)果得到,在該數(shù)學(xué)計(jì)算中,獨(dú)特識(shí)別元件用作種子。
[0045]微控制器405將秘密B (例如,獨(dú)特識(shí)別元件460或根據(jù)獨(dú)特識(shí)別元件460得到的值)傳輸?shù)酱鎯?chǔ)器模塊415和協(xié)處理器模塊410。存儲(chǔ)器模塊415將秘密A傳輸?shù)轿⒖刂破?05和協(xié)處理器模塊410。協(xié)處理器模塊410將秘密C傳輸?shù)轿⒖刂破?05和存儲(chǔ)器模塊415。這些通信可以是明文或者使用本領(lǐng)域中的技術(shù)人員已知的密碼秘密密鑰交換協(xié)議。這些協(xié)議可以包括非對(duì)稱和對(duì)稱方法,其可以取決于或者不取決于秘密是否需要被保護(hù)。
[0046]存儲(chǔ)器模塊415將秘密B存儲(chǔ)在存儲(chǔ)器425中并且將秘密C存儲(chǔ)在存儲(chǔ)器420中。微控制器將秘密A存儲(chǔ)在存儲(chǔ)器465中并且將秘密C存儲(chǔ)在存儲(chǔ)器480中。協(xié)處理器模塊410將秘密A存儲(chǔ)在存儲(chǔ)器455中并且將秘密B存儲(chǔ)在存儲(chǔ)器450中。秘密在相對(duì)應(yīng)的密鑰存儲(chǔ)器內(nèi)的分布將支持多個(gè)模塊和微控制器之間的安全通信。
[0047]一旦在系統(tǒng)內(nèi)建立了安全通信基礎(chǔ)設(shè)施,微控制器405就能夠安全地訪問存儲(chǔ)器模塊415。在這樣的實(shí)例中,使用具有微控制器405的編碼器來處理地址和/或數(shù)據(jù)信息(取決于寫入或讀取操作)。編碼器使用秘密B作為附加的輸入,以使得信息被正確地加密。編碼器可以是加密功能(對(duì)稱的或非對(duì)稱)或擾碼器。將加密的信息通過通信信道傳輸?shù)酱鎯?chǔ)器模塊415。
[0048]存儲(chǔ)器模塊415使用秘密B使用解碼器對(duì)訪問請(qǐng)求/信息進(jìn)行解密,并且執(zhí)行相對(duì)應(yīng)的動(dòng)作。本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,這一動(dòng)作可以涉及讀取操作或?qū)懭氩僮?。在寫入操作的情況下,將從微控制器405接收的數(shù)據(jù)寫入到存儲(chǔ)器。在讀取操作的情況下,存儲(chǔ)器模塊415從存儲(chǔ)器取回相對(duì)應(yīng)的數(shù)據(jù),并且使用秘密A和編碼器來對(duì)結(jié)果進(jìn)行加密。將該結(jié)果通過通信信道傳輸?shù)轿⒖刂破?05,該微控制器405使用秘密A及其解碼器對(duì)結(jié)果進(jìn)行解碼。
[0049]協(xié)處理器410也能夠安全地訪問存儲(chǔ)器模塊415。使用在協(xié)處理器模塊410和存儲(chǔ)器模塊415之間共享的相對(duì)應(yīng)的秘密按照與上面描述的相似方式來執(zhí)行這一操作。
[0050]重要的是注意到,可以使用先前描述的認(rèn)證操作來認(rèn)證微控制器405、協(xié)處理器模塊410和存儲(chǔ)器模塊415。
[0051]本領(lǐng)域中的技術(shù)人員還將認(rèn)識(shí)到,本發(fā)明的各種實(shí)施例支持在具有多個(gè)微控制器和一個(gè)或多個(gè)模塊的系統(tǒng)中的安全通信和認(rèn)證。圖5是根據(jù)本發(fā)明各種實(shí)施例的安全系統(tǒng),其中在多個(gè)微控制器當(dāng)中共享邏輯上分離的資源,并且在所述系統(tǒng)的安全體系結(jié)構(gòu)內(nèi)使用獨(dú)特識(shí)別元件。在這一示例中,模塊是存儲(chǔ)器模塊515 ;然而,根據(jù)本發(fā)明的精神和范圍,可以使用任何類型的模塊。
[0052]在具有結(jié)構(gòu)化模塊的系統(tǒng)中遇到的常見問題是模塊的資源在多個(gè)微控制器或其它模塊當(dāng)中的共享。例如,如果具有兩個(gè)微控制器核心,則共享單個(gè)存儲(chǔ)器實(shí)例比具有兩個(gè)單獨(dú)的存儲(chǔ)器更加經(jīng)濟(jì)。
[0053]共享模塊可能具有安全性和資源可用性牽連。將對(duì)包含在共享模塊中的數(shù)據(jù)的訪問局限于僅一個(gè)微控制器并且使第二微控制器不能夠確定或改變?cè)摂?shù)據(jù)或者將一個(gè)微控制器局限于模塊的資源的預(yù)定共享以便確保對(duì)第二微控制器的資源可用性會(huì)是期望的。
[0054]應(yīng)用上面描述的系統(tǒng)、設(shè)備和方法,本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,這些體系結(jié)構(gòu)支持模塊(例如,存儲(chǔ)器單元)的邏輯上劃分和分離的資源或者將對(duì)資源(例如,圖形處理核心)的訪問局限于小于資源的總數(shù)量的100%。圖5說明了其中在兩個(gè)微處理器當(dāng)中共享資源的示例性多核心體系結(jié)構(gòu)。本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,各種其它多核心體系結(jié)構(gòu)可以得益于本發(fā)明的安全體系結(jié)構(gòu)。
[0055]參照?qǐng)D5,第一微控制器505和第二微控制器510共享存儲(chǔ)器模塊515。如在這一附圖中說明的并且類似于圖4中的某些功能,模塊和多個(gè)微控制器使用與存儲(chǔ)器模塊和微控制器上的獨(dú)特識(shí)別元件相關(guān)聯(lián)的秘密來彼此安全地通信。秘密在系統(tǒng)內(nèi)的交換允許微控制器和存儲(chǔ)器在整個(gè)系統(tǒng)上安全地通信并且管理資源。
[0056]在這一示例中,具有共享資源(例如,存儲(chǔ)器)的模塊包含多于一個(gè)獨(dú)特識(shí)別元件和相關(guān)聯(lián)的秘密(例如,根據(jù)獨(dú)特識(shí)別元件得到或者根據(jù)其進(jìn)行播種的密鑰)以及附加的資源分離塊。取決于系統(tǒng)要求,這一塊可以是簡(jiǎn)單的(例如,使用用于分離的資源地址)或更加復(fù)雜的(例如,解釋并考慮資源使用的頻率、系統(tǒng)負(fù)載以及其它系統(tǒng)和外部狀態(tài)輸入)。
[0057]與資源分離塊的特定實(shí)現(xiàn)無(wú)關(guān),來自獨(dú)特識(shí)別元件的多個(gè)單獨(dú)密鑰有效地防止了一個(gè)微控制器訪問被分配用于由另一微控制器使用的任何資源。而且,盡管示例示出了兩個(gè)微控制器和存儲(chǔ)器,但是這一技術(shù)適用于在任何結(jié)構(gòu)化模塊系統(tǒng)中具有任何數(shù)量的資源使用模塊的任何數(shù)量的共享模塊。資源使用模塊的示例包括但不局限于微控制器、圖形處理單元、數(shù)字信號(hào)處理器、密碼協(xié)處理器等等。共享模塊的資源包括但不局限于存儲(chǔ)器、輸入/輸出外圍設(shè)備或本領(lǐng)域中的技術(shù)人員已知的任何其它資源使用模塊。在本發(fā)明的某些實(shí)施例中,任何資源使用模塊也可以是資源的提供方。
[0058]為了清楚和理解的目的描述了本發(fā)明的前述描述。并不意在將本發(fā)明局限于所公開的確切形式。在所附權(quán)利要求的范圍和等效形式內(nèi)的各種修改是可能的。
【權(quán)利要求】
1.一種安全系統(tǒng),包括: 微控制器,包括: 處理單元; 第一獨(dú)特識(shí)別元件,具有與所述微控制器的第一物理特性相關(guān)聯(lián)的第一獨(dú)特識(shí)別值; 第一秘密生成器,耦合為接收所述第一獨(dú)特識(shí)別值并且根據(jù)所述第一獨(dú)特識(shí)別值生成第一秘密; 耦合為與所述微控制器通信的模塊,所述模塊包括: 第二獨(dú)特識(shí)別元件,具有與所述模塊的第二物理特性相關(guān)聯(lián)的第二獨(dú)特識(shí)別值; 第二秘密生成器,耦合為接收所述第二獨(dú)特識(shí)別值并且根據(jù)所述第二獨(dú)特識(shí)別值生成第二秘密;并且 其中,將與所述第一秘密相關(guān)聯(lián)的第一加密密鑰存儲(chǔ)在所述模塊內(nèi),并且在所述微控制器內(nèi)生成與所述第二秘密相關(guān)聯(lián)的第二加密密鑰,所述第一加密密鑰和所述第二加密密鑰支持所述微控制器和所述模塊之間的安全通信。
2.如權(quán)利要求1所述的系統(tǒng),其中,所述第一秘密是用于導(dǎo)出所述第一加密密鑰的第一種子,并且所述第二秘密是用于導(dǎo)出所述第二加密密鑰的第二種子。
3.如權(quán)利要求1所述的系統(tǒng),其中,所述第一秘密是所述第一加密密鑰,并且所述第二秘密是所述第二加密密鑰。
4.如權(quán)利要求1所述的系統(tǒng),其中,所述第一獨(dú)特識(shí)別元件與所述微控制器的半導(dǎo)體特性相關(guān)。
5.如權(quán)利要求4所述的系統(tǒng),其中,所述半導(dǎo)體特性能夠測(cè)量為與半導(dǎo)體晶片的物理變化相關(guān)的至少一個(gè)梯度。
6.如權(quán)利要求5所述的系統(tǒng),其中,所述至少一個(gè)梯度選自由電容、晶體管之間的速度敏感性和晶體管之間的溫度敏感性組成的組。
7.如權(quán)利要求1所述的系統(tǒng),其中,所述微控制器進(jìn)一步包括: 編碼模塊,耦合為接收所述第一加密密鑰并且使用所述第一加密密鑰對(duì)第一數(shù)據(jù)進(jìn)行編碼,所述第一數(shù)據(jù)隨后被傳輸?shù)剿瞿K; 數(shù)據(jù)解碼模塊,耦合為接收所述第二加密密鑰并且使用所述第二密鑰對(duì)第二數(shù)據(jù)進(jìn)行解密,所述第二數(shù)據(jù)已經(jīng)之前被從所述模塊接收。
8.如權(quán)利要求7所述的系統(tǒng),其中,所述編碼模塊對(duì)與所述第一數(shù)據(jù)相關(guān)聯(lián)的至少一個(gè)地址進(jìn)行加密,并且所述解碼模塊對(duì)與所述第二數(shù)據(jù)相關(guān)聯(lián)的至少一個(gè)地址進(jìn)行解密。
9.如權(quán)利要求1所述的系統(tǒng),其中,所述安全模塊進(jìn)一步包括: 編碼模塊,耦合為接收所述第二加密密鑰并且使用所述第二加密密鑰對(duì)第二數(shù)據(jù)進(jìn)行加密,所述第二數(shù)據(jù)隨后被傳輸?shù)剿鑫⒖刂破?;以? 解碼模塊,耦合為接收所述第一加密密鑰并且使用所述第一加密密鑰對(duì)第一數(shù)據(jù)進(jìn)行解密,所述第一數(shù)據(jù)已經(jīng)之前被從所述微控制器接收。
10.如權(quán)利要求1所述的系統(tǒng),其中,在所述系統(tǒng)的初始化期間,所述第一加密密鑰被從所述微控制器傳輸?shù)剿瞿K,并且所述第二加密密鑰被從所述模塊傳輸?shù)剿鑫⒖刂破鳌?br>
11.如權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括第二模塊,所述第二模塊包括: 第三獨(dú)特識(shí)別元件,具有與所述第二模塊的第三物理特性相關(guān)聯(lián)的第三獨(dú)特識(shí)別值;以及 第三秘密生成器,耦合為接收所述第三獨(dú)特識(shí)別值并且根據(jù)所述第三獨(dú)特識(shí)別值生成第三秘密;并且 其中,將與所述第三秘密相關(guān)聯(lián)的第三加密密鑰存儲(chǔ)在所述微控制器和所述模塊內(nèi),所述第三加密密鑰支持所述第二模塊和所述微控制器和/或所述模塊之間的安全通信。
12.—種初始化微控制器和模塊之間的安全通信的方法,所述方法包括: 根據(jù)第一獨(dú)特識(shí)別元件生成第一秘密,所述第一識(shí)別元件與所述微控制器的第一物理特性相關(guān); 根據(jù)所述第一秘密導(dǎo)出第一加密密鑰; 在所述模塊內(nèi)生成所述第一加密密鑰; 根據(jù)第二獨(dú)特識(shí)別元件生成第二秘密,所述第二識(shí)別元件與所述模塊的第二物理特性相關(guān); 根據(jù)所述第二秘密導(dǎo)出第二加密密鑰; 將所述第二加密密鑰存儲(chǔ)在所述微控制器內(nèi);并且 其中,所述第一加密密鑰和所述第二加密密鑰用于對(duì)所述微控制器和所述模塊之間的數(shù)據(jù)進(jìn)行加密和解密。
13.如權(quán)利要求12所述的方法,其中,所述第一秘密是所述第一加密密鑰,并且所述第二秘密是所述第二加密密鑰。
14.如權(quán)利要求12所述的方法,所述第一秘密是用于導(dǎo)出所述第一加密密鑰的第一種子,并且所述第二秘密是用于導(dǎo)出所述第二加密密鑰的第二種子。
15.如權(quán)利要求12所述的方法,其中,所述微控制器的所述第一物理特性和所述模塊的所述第二物理特性能夠測(cè)量為與半導(dǎo)體晶片的物理變化相關(guān)的至少一個(gè)梯度。
16.如權(quán)利要求15所述的方法,其中,所述至少一個(gè)梯度選自由電容、晶體管之間的速度敏感性和晶體管之間的溫度敏感性組成的組。
17.如權(quán)利要求11所述的方法,其中,所述第二加密密鑰用于針對(duì)所述微控制器來認(rèn)證所述模塊。
18.一種用于生成與模塊相關(guān)聯(lián)的加密密鑰的方法,所述方法包括: 生成與所述模塊的物理特性相關(guān)聯(lián)的獨(dú)特識(shí)別值,所述獨(dú)特識(shí)別值與涉及半導(dǎo)體變化的梯度測(cè)量相關(guān)聯(lián); 存儲(chǔ)與所述獨(dú)特識(shí)別值相關(guān)聯(lián)的秘密;并且 根據(jù)所述秘密導(dǎo)出加密密鑰。
19.如權(quán)利要求17所述的方法,其中,所述梯度測(cè)量與選自由電容、晶體管之間的速度敏感性和晶體管之間的溫度敏感性組成的組的物理特性相關(guān)。
20.如權(quán)利要求17所述的方法,其中,所述加密密鑰用于針對(duì)微控制器來認(rèn)證所述模塊。
21.如權(quán)利要求17所述的方法,進(jìn)一步包括下列步驟: 將所述加密密鑰傳輸?shù)降诙K; 對(duì)存儲(chǔ)在所述模塊內(nèi)的數(shù)據(jù)進(jìn)行加密;以及 將加密的數(shù)據(jù)傳輸?shù)降诙K,所述第二模塊使用所述加密密鑰來對(duì)從所述模塊接收的數(shù)據(jù)進(jìn)行解密。
【文檔編號(hào)】G06F21/60GK104281812SQ201410254304
【公開日】2015年1月14日 申請(qǐng)日期:2014年6月10日 優(yōu)先權(quán)日:2013年6月18日
【發(fā)明者】R·M·馬奇塞爾, S·U·郭, D·W·盧米斯三世, E·T·馬 申請(qǐng)人:馬克西姆綜合產(chǎn)品公司