用于智能卡芯片個(gè)性化的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及在獨(dú)特的秘密和應(yīng)用代碼被植入期間智能卡芯片個(gè)性化的領(lǐng)域。特別地,個(gè)性化的步驟在受控的條件下執(zhí)行以阻止在該領(lǐng)域復(fù)制和重新編程智能卡。
【背景技術(shù)】
[0002]安全芯片主要用在制造智能卡、安全模塊、識(shí)別設(shè)備和其他用在需要高安全級(jí)別的應(yīng)用中的集成電路里。
[0003]文獻(xiàn)W02010/130709A1公開了一種通過測(cè)試設(shè)備用于認(rèn)證對(duì)安全芯片的訪問的方法。一旦測(cè)試設(shè)備由該芯片認(rèn)證,即,成功認(rèn)證已經(jīng)被由測(cè)試設(shè)備和芯片之間的控制數(shù)據(jù)交換做出,在硬件和軟件功能和/或芯片上執(zhí)行的程序上執(zhí)行不同的操作測(cè)試或模擬。依照用于芯片所預(yù)見的應(yīng)用需求,測(cè)試設(shè)備也可以通過使能、禁用或編程特征來包括芯片配置或自定義的功能。依照優(yōu)選實(shí)施例,本方法的一個(gè)優(yōu)點(diǎn)是最小化測(cè)試設(shè)備和安全芯片之間的數(shù)據(jù)轉(zhuǎn)換。響應(yīng)于由芯片產(chǎn)生的挑戰(zhàn),在認(rèn)證測(cè)試設(shè)備在所述芯片上執(zhí)行測(cè)試之前,測(cè)試設(shè)備發(fā)送將由芯片分析和驗(yàn)證的密文。
[0004]文獻(xiàn)EP1441313在電子芯片和包括從電子芯片中的輸入?yún)?shù)計(jì)算認(rèn)證值的應(yīng)用之間處理保護(hù)硬連線電子邏輯芯片的不對(duì)稱加密方法以防止欺詐。該方法包括步驟:由芯片生成交易特定的隨機(jī)數(shù);在交易之前向應(yīng)用發(fā)送由應(yīng)用計(jì)算的第一參數(shù),其由數(shù)學(xué)關(guān)系鏈接至隨機(jī)數(shù),并且被存儲(chǔ)在芯片的數(shù)據(jù)存儲(chǔ)器中;借助一系列函數(shù)由芯片計(jì)算構(gòu)成認(rèn)證值的第二參數(shù),其中,函數(shù)的輸入?yún)?shù)至少是交易特定的隨機(jī)數(shù)以及屬于不對(duì)稱密鑰對(duì)的私鑰;發(fā)送認(rèn)證值到應(yīng)用,并且借助驗(yàn)證函數(shù)驗(yàn)證所述認(rèn)證值,其輸入?yún)?shù)僅由至少包括公鑰的公共參數(shù)組成。
[0005]文獻(xiàn)EP1983466描述了用于芯片上系統(tǒng)(SoC)的安全認(rèn)證方法和裝置。SoC可以使能認(rèn)證嘗試獲得一個(gè)功能或系統(tǒng)的訪問的外部實(shí)體。SoC和認(rèn)證的外部實(shí)體在認(rèn)證嘗試前,其每個(gè)可以知曉隱藏?cái)?shù)據(jù)并且也可以在認(rèn)證處理期間通信數(shù)據(jù)。使用類似數(shù)據(jù),SoC和外部實(shí)體能夠生成相同的密碼并且獲取系統(tǒng)訪問。密碼可以以兩種方式唯一,例如:每個(gè)操作和每個(gè)SoC設(shè)備。在SoC上的隨機(jī)數(shù)生成器可以使得密碼對(duì)于認(rèn)證處理的每個(gè)迭代改變。SoC的每個(gè)實(shí)例有其自己的密碼字以允許密碼對(duì)于每個(gè)設(shè)備是唯一的。
[0006]在制造后,智能卡集成電路或芯片需要被個(gè)性化以植入唯一的密碼并且以非常安全的方式載入應(yīng)用代碼以阻止復(fù)制或重新編程由這些芯片制作的智能卡。經(jīng)典的解決方案是基于專用計(jì)算機(jī)站,其允許受訓(xùn)人員編程個(gè)性化設(shè)施(室內(nèi)或外部)處的這些卡。這個(gè)方法有許多薄弱的方面并且要克服這些問題需要考慮下列需求:
[0007]a) 一旦晶片被切割以及該芯片被打包,使個(gè)性化僅僅在晶片級(jí)可能并且極難用物理方式重新激活。
[0008]b)個(gè)性化激活不應(yīng)該僅僅依賴于單個(gè)密碼或能由個(gè)性化設(shè)施處的工作人員掌握(和泄漏)的軟件包。
[0009]c)為了復(fù)制要在智能卡上實(shí)施的芯片,使重現(xiàn)個(gè)性化序列不可能。
[0010]d)阻止智能卡芯片完整的逆向工程,其允許攻擊者重新生成該芯片個(gè)性化。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的目的是為了最大化滿足以上提及的關(guān)于智能卡芯片個(gè)性化的需求以及為了克服現(xiàn)有技術(shù)解決方案的缺點(diǎn)。
[0012]該目的通過用于個(gè)性化至少一個(gè)芯片的方法而獲得,芯片將被集成至智能卡內(nèi),包括與連接至芯片的(現(xiàn)場(chǎng)可編程門陣列)FPGA設(shè)備關(guān)聯(lián)的測(cè)試儀,該芯片是包括多個(gè)芯片的排列的晶片的一部分,包括步驟:
[0013]-由測(cè)試儀發(fā)送第一密碼至FPGA設(shè)備,所述第一密碼被永久地存儲(chǔ)在測(cè)試儀的存儲(chǔ)器中,
[0014]-由FPGA設(shè)備發(fā)送命令至芯片以初始化測(cè)試模式激活的序列,
[0015]-由芯片發(fā)送信號(hào)至安置在晶片上的一次性硬件模塊,所述硬件模塊返回指示晶片上存在芯片的響應(yīng),
[0016]-由芯片生成并發(fā)送一個(gè)隨機(jī)數(shù)至FPGA設(shè)備,
[0017]-由FPGA設(shè)備通過使用由隨機(jī)數(shù)和第一密碼參數(shù)化的加密算法加密第二密碼,獲取第一密文,
[0018]-由FPGA設(shè)備發(fā)送第一密文至芯片,
[0019]-由芯片通過使用由隨機(jī)數(shù)和第一密碼參數(shù)化的逆加密算法解密第一密文獲取的結(jié)果上執(zhí)行布爾函數(shù)來確定第二密文,
[0020]-由芯片比較第二密文和通過在臨時(shí)存儲(chǔ)在芯片上的第二密碼上執(zhí)行布爾函數(shù)所獲取的結(jié)果,
[0021]-如果第二密文對(duì)應(yīng)于由在第二密碼上執(zhí)行布爾函數(shù)獲取的結(jié)果,使能測(cè)試模式序列,
[0022]-由芯片發(fā)送響應(yīng)消息至FPGA設(shè)備,
[0023]-如果消息包括一個(gè)肯定的響應(yīng),則由FPGA設(shè)備執(zhí)行芯片的個(gè)性化。
[0024]本發(fā)明還涉及一種被配置用于個(gè)性化至少一個(gè)芯片的系統(tǒng),芯片將被集成至智能卡內(nèi),包括與連接至芯片的(現(xiàn)場(chǎng)可編程門陣列)FPGA設(shè)備關(guān)聯(lián)的測(cè)試儀,該芯片是包括多個(gè)芯片的排列和一次性的硬件模塊的晶片的一部分,特征在于:
[0025]-測(cè)試儀被配置用于發(fā)送第一密碼至FPGA設(shè)備,所述第一密碼被永久地存儲(chǔ)在測(cè)試儀的存儲(chǔ)器中,
[0026]-FPGA設(shè)備被配置用于發(fā)送命令至芯片以初始化測(cè)試模式激活的序列,使用由從芯片接收的隨機(jī)數(shù)和第一密碼參數(shù)化的加密算法加密第二密碼,以獲取第一密文并將其發(fā)送至芯片,
[0027]-一次性硬件模塊被配置用于從芯片接收信號(hào)并且返回表示晶片上存在芯片的響應(yīng),
[0028]-芯片被配置用于通過使用由隨機(jī)數(shù)和第一密碼參數(shù)化的逆加密算法解密第一密文獲取的結(jié)果上執(zhí)行布爾函數(shù)來確定第二密文,并且比較第二密文和通過在臨時(shí)存儲(chǔ)在芯片上的第二密碼上執(zhí)行布爾函數(shù)所獲取的計(jì)算結(jié)果,
[0029]-只有通過第二密文和計(jì)算的結(jié)果之間的成功比較使能芯片的測(cè)試模式時(shí),F(xiàn)PGA設(shè)備還被配置用于執(zhí)行芯片的個(gè)性化。
[0030]通常,個(gè)性化僅僅當(dāng)智能卡芯片處于特殊狀態(tài)才有可能,稱為“測(cè)試模式”。因此該解決方案主要是,但不僅僅是,專注于使測(cè)試模式的激活非常安全。
[0031]測(cè)試模式激活保護(hù)基于幾個(gè)安全特征,即:
[0032]-基于在文檔W02010/130709A1中描述的方法,利用不可逆挑戰(zhàn)-響應(yīng)協(xié)議,
[0033]-利用硬件模塊以校驗(yàn)晶片上存在芯片。這個(gè)硬件模塊在晶片切除后被破壞,
[0034]-利用植入FPGA設(shè)備的電子板,被稱為“晶片盒”,其在測(cè)試儀裝備內(nèi)被機(jī)械地和電子地集成,
[0035]-在智能卡芯片中實(shí)施真隨機(jī)生成器(TrueRandom Number Generator,TRNG),其使個(gè)性化交易統(tǒng)計(jì)上唯一。
【附圖說明】
[0036]通過下述詳細(xì)描述本發(fā)明將被更容易地理解,其參照作為非限制示例所給出的附圖。
[0037]圖1示出了表示本發(fā)明系統(tǒng)的方框示意圖,包括與連接至晶片的至少一個(gè)芯片的FPGA設(shè)備關(guān)聯(lián)的測(cè)試儀。在個(gè)性化之前,芯片以測(cè)試模式通過由測(cè)試儀和FPGA設(shè)備執(zhí)行的校驗(yàn)設(shè)置以及安全數(shù)據(jù)交換來被設(shè)定。
【具體實(shí)施方式】
[0038]圖1所示出的系統(tǒng)包括關(guān)聯(lián)至也被稱為“晶片盒”的FPGA設(shè)備WB的測(cè)試儀T,其配置文件以已知方法加密以阻止復(fù)制。測(cè)試模式激活和個(gè)性化處理優(yōu)選地在晶片級(jí)執(zhí)行,即,芯片被排列在用于其制造的晶片上。優(yōu)選在晶片上實(shí)現(xiàn)的硬件模塊腿,在FPGA設(shè)備WB和晶片W上的芯片IC之間扮演接口的角色并且在測(cè)試模式初始化后負(fù)責(zé)驗(yàn)證晶片W上芯片IC的存在。當(dāng)芯片從晶片被切除或集成在現(xiàn)場(chǎng)服務(wù)的智能卡中時(shí),這個(gè)校驗(yàn)阻止操作或嘗試修改個(gè)性化參數(shù)。為了分開所有芯片,在晶片切除期間硬件模塊HM在個(gè)性化處理結(jié)束時(shí)被銷毀。除了這種物理安全方式,軟件和通信安全方式也被用于保護(hù)敏感的個(gè)性化處理。物理和軟件方式的組合阻止僅僅擁有必要的軟件程序而與一次性物理硬件電路沒有任何鏈接的第三方的個(gè)性化。
[0039]在個(gè)性化處理的開始,測(cè)試儀T以及FPGA設(shè)備和芯片IC開機(jī)。測(cè)試儀T讀取并發(fā)送從測(cè)試儀T永久存儲(chǔ)器取得的第一密碼SI至FPGA設(shè)備WB。為了初始化以測(cè)試模式進(jìn)入芯片,F(xiàn)PGA設(shè)備發(fā)送命令C至芯片1C,其發(fā)送一個(gè)信號(hào)s至安置在晶片W上的硬件模塊HM。硬件模塊HM返回一個(gè)響應(yīng)r至芯片以指示其在晶片上存在,即,并非孤立或集成在連接至FPGA設(shè)備WB的設(shè)備中。
[0040]如果芯片IC沒有從硬件模塊HM接收響應(yīng)r,與硬件模塊HM的連接可能是有缺陷的或者芯片IC從晶片W分離。FPGA設(shè)備WB分別與硬件模塊HM通信的測(cè)試儀T停止處理并且可以顯示一個(gè)錯(cuò)誤信息。優(yōu)選地,狀態(tài)指示符ST(晶片上的芯片/晶片外的芯片)在測(cè)試模式序列激活持續(xù)之前可以被報(bào)告給FPGA設(shè)備WB。這個(gè)狀態(tài)指示符ST可以被包括在對(duì)初始化命令C的響應(yīng)中。
[0041]在與硬件模塊HM成功通信后,芯片IC生成一個(gè)隨機(jī)數(shù)R并且將其轉(zhuǎn)送至FPGA設(shè)備WB。隨機(jī)數(shù)R優(yōu)選是一個(gè)真隨機(jī)數(shù),即,用硬件真隨機(jī)數(shù)生成器(True Random NumberGenerator,TRNG)產(chǎn)生以改進(jìn)結(jié)果的統(tǒng)計(jì)唯一"性。
[0042]有兩種原理方法用于生成隨機(jī)數(shù):第一種方法是基于某些物理現(xiàn)象測(cè)量方法(例如半導(dǎo)體元件中的噪音),其被期待是隨機(jī)的并且隨后補(bǔ)償在測(cè)量過程中可能的偏差。第二種方法使用計(jì)算算法,其可以產(chǎn)生明顯隨機(jī)結(jié)果的長(zhǎng)序列,其實(shí)際上完全由一個(gè)較短的初始化值確定,已知為種子或關(guān)鍵值。生成器的后一種類型通常被稱為偽隨機(jī)數(shù)字生成器。由于其輸出是固有可預(yù)測(cè)的,所以一種僅基于確定性計(jì)算的“隨機(jī)數(shù)生成器”不能被當(dāng)作是“真”隨機(jī)數(shù)字生成器。
[0043]FPGA設(shè)備WB通過使用由隨機(jī)數(shù)R和第一密碼SI參數(shù)化的加密算法E加密第二密碼S2以獲取發(fā)送給芯片IC的第一密文Ml = Ee