可編程裝置的個(gè)性化的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)案主張2013年3月14日提出申請(qǐng)的第61/780,994號(hào)美國臨時(shí)申請(qǐng)案的權(quán)益,所述美國臨時(shí)申請(qǐng)案的全文并入本文中。
[0002]本發(fā)明涉及一種特定來說用于半導(dǎo)體裝置的可編程裝置的個(gè)性化。
【背景技術(shù)】
[0003]客戶的一個(gè)安全問題現(xiàn)今是保護(hù)產(chǎn)品免受仿制。舉例來說,在汽車密鑰卡(keyfod)中,系統(tǒng)的安全的部分依賴于實(shí)際專用集成電路(ASIC)或系統(tǒng)單芯片(SoC)對(duì)于客戶來說是唯一的事實(shí)。此意味著半導(dǎo)體制造商必須生產(chǎn)具有不同于對(duì)應(yīng)通用裝置掩模組的基礎(chǔ)特性的一些基礎(chǔ)特性(存儲(chǔ)器映射、引腳輸出、功能等)的新掩模組。
【發(fā)明內(nèi)容】
[0004]根據(jù)各種實(shí)施例,可提供可編程裝置的個(gè)性化,所述可編程裝置的個(gè)性化提供允許最終客戶從通用產(chǎn)品形成唯一裝置的方案。
[0005]舉例來說,一個(gè)實(shí)施例提供一種半導(dǎo)體裝置,所述半導(dǎo)體裝置可包含:安全存儲(chǔ)器,其經(jīng)配置以存儲(chǔ)可編程密鑰,在本文中還稱為“裝置個(gè)性化密鑰”;接口,其用于將所述可編程密鑰編程于所述安全存儲(chǔ)器中;及所述半導(dǎo)體裝置的多個(gè)可配置特征,所述多個(gè)可配置特征與所述可編程密鑰相關(guān)聯(lián),每一可配置特征具有一組多個(gè)可選擇配置,其中所述密鑰的值界定所述可配置特征中的每一者的所述多個(gè)配置中的一者的選擇。舉例來說,所述密鑰可包含多個(gè)子密鑰,每一子密鑰與所述可配置特征中的一者相關(guān)聯(lián),其中每一子密鑰的值界定與所述子密鑰相關(guān)聯(lián)的所述可配置特征的所述多個(gè)配置中的一者的選擇。另夕卜,完整可編程密鑰可啟用所述半導(dǎo)體裝置的額外功能性。
[0006]另一實(shí)施例提供一種用于配置具有可存取存儲(chǔ)器、安全存儲(chǔ)器、配置接口及多個(gè)可配置特征的半導(dǎo)體裝置的方法,每一可配置特征具有一組多個(gè)可選擇配置。所述方法可包含使用提供于所述半導(dǎo)體裝置上的所述配置接口將密鑰編程到所述安全存儲(chǔ)器中,其中所述密鑰的值界定所述可配置特征中的每一者的所述多個(gè)配置中的一者的選擇。
[0007]因此,根據(jù)各種實(shí)施例,可將可編程“裝置個(gè)性化密鑰”構(gòu)建到通用裝置中。在其中半導(dǎo)體裝置制造商將裝置供應(yīng)到多個(gè)客戶的情景中,每一客戶可基于由制造商、由客戶自身或由另一方編程到相應(yīng)裝置中的裝置個(gè)性化密鑰而具有唯一裝置。如上文所提及,每一可編程密鑰可包含多個(gè)子密鑰(每一子密鑰包括完整密鑰的位的子集),其中每一子密鑰用以配置所述裝置的特定方面或特征,例如裝置存儲(chǔ)器的存儲(chǔ)器映射、測試登錄代碼、外圍裝置組的識(shí)別或可用性、引腳輸出配置、中斷向量表位置、程序地址擾亂/映射配置等。所述裝置的每一可配置特征可具有多個(gè)不同可能配置,且每一子密鑰的值可界定與所述可配置特征相關(guān)聯(lián)的所述可配置特征的所述多個(gè)可能配置中的特定者的選擇。
[0008]在一些實(shí)施例中,這些子密鑰的解碼可經(jīng)設(shè)計(jì)使得每一子密鑰(或至少一些子密鑰)的多個(gè)值將導(dǎo)致特征選擇。舉例來說,針對(duì)測試登錄代碼子密鑰,值1、3、7可產(chǎn)生測試登錄代碼‘A’,而值2、5產(chǎn)生測試登錄代碼‘B’,且值4、6產(chǎn)生測試登錄代碼‘C’。此在裝置的特征集合(即,各種可配置特征的選定配置)可自身經(jīng)逆向工程設(shè)計(jì)的事件中增加逆向工程設(shè)計(jì)裝置個(gè)性化密鑰的困難。舉例來說,參考以上實(shí)例,特定裝置正使用測試登錄代碼‘A’而非‘B’或‘C’的認(rèn)識(shí)并不指示裝置個(gè)性化密鑰的精確測試登錄代碼子密鑰值,而是僅指示裝置上的對(duì)應(yīng)于所述測試登錄代碼的可能子密鑰值集合(例如,裝置正使用測試登錄代碼‘A’的認(rèn)識(shí)僅指示登錄代碼子密鑰值是1、3或7)。鑒于由完整裝置個(gè)性化密鑰啟用的額外裝置特征而理解用于進(jìn)一步阻止裝置的仿造或逆向工程設(shè)計(jì)的此方案的特定優(yōu)點(diǎn),如下文所論述。
[0009]舉例來說,在一些實(shí)施例中,完整裝置個(gè)性化密鑰可用以計(jì)算額外值或“子密鑰”,所述額外值或“子密鑰”可用以配置或個(gè)性化額外特征,例如程序地址擾亂/映射。在一些實(shí)施例中,現(xiàn)有CRC外圍裝置或散列函數(shù)可用以從長的裝置個(gè)性化密鑰產(chǎn)生代碼編號(hào)。因此,針對(duì)特定裝置,即使將確定適合子密鑰以正確地配置裝置的每一子特征,在不具有完整裝置個(gè)性化密鑰的精確認(rèn)識(shí)的情況下也無法提供由完整裝置個(gè)性化密鑰啟用的額外特征。
[0010]在一些實(shí)施例中,所述裝置經(jīng)設(shè)計(jì)以允許由制造商或由客戶自身將密鑰編程。允許客戶編程其自身的密鑰提供將整個(gè)供應(yīng)鏈放置于客戶自身的手中的額外益處。也就是說,對(duì)于制造商來說將第一客戶的“自定義”裝置出售給第二客戶變得不可能,這是因?yàn)橹圃焐滩恢獣杂傻谝豢蛻羲褂玫难b置個(gè)性化密鑰。替代地,由制造商編程密鑰允許制造商提供個(gè)性化裝置而不必形成每產(chǎn)品多個(gè)掩模,如在常規(guī)個(gè)性化方案中。換句話說,可在封裝裝置之后完成個(gè)性化。
[0011]在一些實(shí)施例中,根據(jù)上文所論述的發(fā)明性特征,為復(fù)制產(chǎn)品,必須擁有原始程序代碼(或圖像)、哪一通用部分正被使用的認(rèn)識(shí)及精確且完整裝置個(gè)性化密鑰。
[0012]因此,根據(jù)各種實(shí)施例,將裝置個(gè)性化服務(wù)提供給較廣泛客戶群以實(shí)現(xiàn)較低成本的裝置及方法是可用的。
【附圖說明】
[0013]下文參考圖式論述實(shí)例性實(shí)施例,其中:
[0014]圖1展示根據(jù)各種實(shí)施例的可使用裝置個(gè)性化密鑰個(gè)性化的實(shí)例性半導(dǎo)體裝置(例如,微控制器)的框圖;
[0015]圖2展示根據(jù)實(shí)例性實(shí)施例的可編程到圖1的裝置中的具有多個(gè)子密鑰的實(shí)例性η位可編程密鑰;
[0016]圖3圖解說明將多個(gè)子密鑰值指派給特定可配置特征的每一可選擇配置的概念;及
[0017]圖4圖解說明從可編程密鑰產(chǎn)生“簽名”值,此可用以啟用或配置個(gè)性化裝置的另一特征。
【具體實(shí)施方式】
[0018]圖1展示可根據(jù)本發(fā)明的各種特征個(gè)性化的實(shí)例性半導(dǎo)體裝置10(例如,微控制器)的框圖。裝置10可包含處理器12、數(shù)據(jù)存儲(chǔ)器14、存儲(chǔ)一或多個(gè)程序17以用于提供裝置10的各種功能性的程序存儲(chǔ)器16、任選額外存儲(chǔ)器18及安全存儲(chǔ)器20、個(gè)性化密鑰存儲(chǔ)與解碼單元22以及若干個(gè)可配置特征24。舉例來說,在此實(shí)例中,可配置特征24包含可配置存儲(chǔ)器地址擾亂器24A、引腳輸出表24B、中斷向量表24C及內(nèi)部測試單元24D。安全存儲(chǔ)器20可存儲(chǔ)包含多個(gè)子密鑰32的裝置個(gè)性化密鑰30。裝置個(gè)性化密鑰30可包含任何適合數(shù)目個(gè)子密鑰32。
[0019]舉例來說,處理器12可為能夠經(jīng)由可配置存儲(chǔ)器地址擾亂器24A存取數(shù)據(jù)存儲(chǔ)器14的處理器核心MCU,所述可配置存儲(chǔ)器地址擾亂器根據(jù)由存儲(chǔ)于安全存儲(chǔ)器20中的裝置個(gè)性化密鑰30的子密鑰32中的一者界定的一或多個(gè)方法而執(zhí)行地址擾亂。在一些實(shí)施例中,可由子密鑰32中的一者激活在通用裝置中通常不可存取的額外數(shù)據(jù)存儲(chǔ)器16。除存儲(chǔ)器地址擾亂器24A之外,還可由個(gè)性化密鑰30界定微控制器10的各種其它可配置特征24,例如特定引腳輸出的配置(由引腳輸出表24B界定)、中斷向量表24C的地址、由內(nèi)部測試單元24D界定的內(nèi)部測試登錄序列及如上文所解釋的其它可配置功能。
[0020]數(shù)據(jù)存儲(chǔ)器14、程序存儲(chǔ)器16、額外存儲(chǔ)器18及安全存儲(chǔ)器20可形成為離散存儲(chǔ)器結(jié)構(gòu),或此類存儲(chǔ)器中的任何兩者或兩者以上(或全部)可構(gòu)成集成式存儲(chǔ)器結(jié)構(gòu)的規(guī)定區(qū)域。舉例來說,安全存儲(chǔ)器20可為物理上不同于數(shù)據(jù)存儲(chǔ)器14、額外存儲(chǔ)器16及/或程序存儲(chǔ)器16的存儲(chǔ)器結(jié)構(gòu),或可構(gòu)成集成式存儲(chǔ)器裝置的經(jīng)指派區(qū)域。
[0021]個(gè)性化密鑰存儲(chǔ)與解碼單元22可提供用于將密鑰30寫入到安全存儲(chǔ)器20中(即,將密鑰編程到安全存儲(chǔ)器20中)的接口,或以其它方式促進(jìn)將密鑰30寫入到安全存儲(chǔ)器20中,且還可經(jīng)配置以解碼密鑰30。在一些實(shí)施例中,可由簡單邏輯(例如比較器)執(zhí)行解碼,這是因?yàn)槎鄠€(gè)子密鑰值可指派給同一功能配置,例如,如下文關(guān)于圖3所論述。
[0022]因此,可僅僅通過以唯一代碼編程個(gè)性化密鑰30而產(chǎn)生客戶特定裝置10??梢云渌绞疆a(chǎn)生此類裝置作為單個(gè)版本。根據(jù)一些實(shí)施例,在生產(chǎn)線結(jié)束時(shí),此裝置可在裝置的外殼上具備不同裝置編號(hào)或任選地根本不具備標(biāo)記。然而,其還可僅包括與通用裝置相同的標(biāo)記。因此,第三者將不知曉裝置是以實(shí)際上不同于通用裝置的方式而配置。
[0023]圖2到4圖解說明根據(jù)特定實(shí)施例的裝置個(gè)性化密鑰30的各種方面。
[0024]圖2展示可編程到裝置10中(舉例來說,編程到安全存儲(chǔ)器20的相關(guān)聯(lián)寄存器中)的η位可編程密鑰30的實(shí)例。可提供安全存儲(chǔ)器20,所述安全存儲(chǔ)器提供無法被用戶讀取的密鑰的非易失性存儲(chǔ)。在一些實(shí)施例中,存儲(chǔ)器20經(jīng)配置使得可僅將其寫入一次且一旦其經(jīng)編程即為不可存取的(用戶將不可以存取此存儲(chǔ)器)。
[0025]如所展示,個(gè)性化密鑰30可包含數(shù)個(gè)“子密鑰”32。在此實(shí)例中,密鑰30包含標(biāo)示為A到F的六個(gè)子密鑰32。然而,密鑰30可包含任何其它適合數(shù)目個(gè)子密鑰32。此外,密鑰30的每一子密鑰32可具有任何適合長度(例如,位數(shù)目)。此外,特定密鑰30的子密鑰32可具有相同長度或不同長度??蓪⒚恳蛔用荑€32指派給裝置10的特定可配置特征或方面。在圖2中所展示的實(shí)例中,將子密鑰A到F指派給裝置10的以下六個(gè)可配置方面= (A)SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)區(qū)域的開始位置,例如,在數(shù)據(jù)存儲(chǔ)器14內(nèi);(B)中斷向量表24C的地址,例如,在程序存儲(chǔ)器16內(nèi);(C)與裝置10相關(guān)聯(lián)的外圍裝置組的可用性或經(jīng)啟用狀態(tài);(D)內(nèi)部測試登錄序列(例如,如由內(nèi)部測試單元24D界定);(E)SFR(特殊功能寄存器)存儲(chǔ)器映射(例如,由存儲(chǔ)器地址擾亂器24A利用);及(F)引腳輸出配置(例如,如由引腳輸出表24B界定)。
[0026]此類可配置特征中的每一者可具有多個(gè)不同可能配置。每一子密鑰A到F具有界定對(duì)應(yīng)可配置特征的多個(gè)可能配置中的特定者的選擇的η位值。舉例來說,子密鑰D的值可界定選自三個(gè)不同可能測試登錄序列的特定測試登錄序列。