專利名稱:訪問(wèn)受保護(hù)的數(shù)據(jù)載體的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有存儲(chǔ)了保密數(shù)據(jù)的半導(dǎo)體芯片的數(shù)據(jù)載體。本發(fā)明尤其涉及智能卡。
包含芯片的數(shù)據(jù)載體用于許多不同的用途,例如進(jìn)行貨幣交易、對(duì)商品或服務(wù)進(jìn)行支付、或者作為一種訪問(wèn)或允許進(jìn)入控制的識(shí)別裝置。在所有的所述用途中,數(shù)據(jù)載體芯片一般處理必須防止被非授權(quán)的第三方存取的保密數(shù)據(jù)。其中,通過(guò)給芯片的內(nèi)部結(jié)構(gòu)非常小的尺寸,從而很難為了探出在所述結(jié)構(gòu)中處理的數(shù)據(jù)而訪問(wèn)所述結(jié)構(gòu),從而確保所述保護(hù)。另外為了阻止訪問(wèn),可以將芯片嵌入在非常堅(jiān)固的粘合化合物中,對(duì)該化合物的強(qiáng)制拆開會(huì)毀壞半導(dǎo)體極板或至少存儲(chǔ)在那里的保密數(shù)據(jù)。也可以在生產(chǎn)期間對(duì)半導(dǎo)體極板提供保護(hù)層,不毀壞半導(dǎo)體極板就不能去除該層。
借助于非常昂貴然而又根本有效的相應(yīng)的技術(shù)設(shè)備,竊取者(攻擊者)可能成功地探知(揭露)并分析芯片的結(jié)構(gòu)。例如,通過(guò)特別地蝕刻方法或適當(dāng)?shù)难心ヌ幚砜梢詫?shí)現(xiàn)這種探知。這樣,被探知的芯片結(jié)構(gòu)如導(dǎo)電路徑可以采用微探針接觸或通過(guò)其它的方法研究以確定所述結(jié)構(gòu)中的信號(hào)模式。接著,可能試圖通過(guò)數(shù)據(jù)載體的檢測(cè)的信號(hào)保密數(shù)據(jù)確定如密鑰,以便使用它們進(jìn)行操作。同樣可能試圖通過(guò)微探針來(lái)有選擇地干擾被探知結(jié)構(gòu)中的信號(hào)模式。
本發(fā)明基于保護(hù)數(shù)據(jù)載體的芯片中存在的保密數(shù)據(jù)免于被非授權(quán)訪問(wèn)的問(wèn)題。
通過(guò)權(quán)利要求1和9的特征組合來(lái)解決這個(gè)問(wèn)題。
本發(fā)明解決方案的目的不像現(xiàn)有技術(shù)一樣防止芯片內(nèi)部結(jié)構(gòu)和微探針安裝的暴露。而是采取一些措施從而潛在的竊取者很難從截取的任何信號(hào)模式推斷出保密信息。本發(fā)明的所述措施包括進(jìn)行安全性相關(guān)的操作,從而不包括另外的保密信息就不能確定在實(shí)現(xiàn)所述安全性相關(guān)操作中使用的保密數(shù)據(jù)。為此目的,借助于執(zhí)行之前適當(dāng)?shù)暮瘮?shù)來(lái)偽裝或偽造安全性相關(guān)操作。為了阻止或甚至防止特別是在執(zhí)行多個(gè)安全性相關(guān)操作的情況下的統(tǒng)計(jì)估計(jì),將隨機(jī)分量輸入到偽裝函數(shù)。因此,竊取者不能由截取的任何數(shù)據(jù)流確定保密數(shù)據(jù)。
下面通過(guò)將輸入數(shù)據(jù)x變換到輸出數(shù)據(jù)y的函數(shù)h,即y=h(x)來(lái)表示安全性相關(guān)操作。為了防止保密的輸入數(shù)據(jù)x被探出,本發(fā)明提供要確定的偽裝函數(shù)hR1R2,從而保持下面的關(guān)系yR2=hR1R2(xR1)現(xiàn)在借助于偽裝函數(shù)hR1R2來(lái)完成安全性相關(guān)操作,該函數(shù)的輸入數(shù)據(jù)不是授權(quán)的保密數(shù)據(jù)x而是將授權(quán)的保密數(shù)據(jù)x與隨機(jī)數(shù)R1組合產(chǎn)生的偽裝的保密數(shù)據(jù)xR1。不知道隨機(jī)數(shù)R1,就不能由偽裝的保密數(shù)據(jù)xR1確定授權(quán)的保密數(shù)據(jù)x。應(yīng)用偽裝的函數(shù)hR1R2到偽裝的保密數(shù)據(jù)xR1,就能夠獲得偽裝的輸出數(shù)據(jù)yR2。從偽裝的輸出數(shù)據(jù)yR2,能夠通過(guò)適當(dāng)?shù)慕M合確定輸出數(shù)據(jù)y。在每次新執(zhí)行安全性相關(guān)函數(shù)之前,能夠預(yù)置新的隨機(jī)數(shù)R1和R2,在每種情況下由這些隨機(jī)數(shù)確定新的偽裝的函數(shù)hR1R2。另一方面,多個(gè)偽裝的函數(shù)hR1R2能夠永久地存儲(chǔ),在執(zhí)行安全性相關(guān)操作之前隨機(jī)地選擇其中的一個(gè)。特別有益的是使用兩個(gè)函數(shù)hR1R2和hR1’R2’,隨機(jī)數(shù)R1’和R2’是相對(duì)于為偽裝選擇的組合類型的隨機(jī)數(shù)R1和R2的反相值。在另一種變型中,隨機(jī)數(shù)R1和R2也可以是相同的。特別地,隨機(jī)數(shù)R1和R2可以在統(tǒng)計(jì)上獨(dú)立地選擇,從而在輸入和可能用于竊取的輸出數(shù)據(jù)之間沒(méi)有相關(guān)性。
如果在上述的安全性相關(guān)運(yùn)算h之前或之后執(zhí)行另外的運(yùn)算,隨機(jī)數(shù)R1和R2也可以用于偽裝采用更多的運(yùn)算處理的數(shù)據(jù)。
本發(fā)明解決方案可以特別有益地用于包含非線性函數(shù)的安全性相關(guān)操作。借助于非線性函數(shù),不能在執(zhí)行這些函數(shù)之前根據(jù)偽裝保密數(shù)據(jù)來(lái)應(yīng)用已知的保護(hù)措施。已知的保護(hù)措施預(yù)先假定相對(duì)于偽裝操作的這些函數(shù)是線性的,從而偽裝能夠在函數(shù)執(zhí)行之后解開。然而,在本發(fā)明的解決方案中,不僅保密數(shù)據(jù)被偽造或偽裝,而且安全性相關(guān)操作也處理保密數(shù)據(jù)。保密數(shù)據(jù)和安全性相關(guān)操作的偽裝是協(xié)調(diào)的,從而授權(quán)的保密數(shù)據(jù)能夠在執(zhí)行安全性相關(guān)操作之后從偽裝的保密數(shù)據(jù)中導(dǎo)出。如果以表格的形式即所謂的查閱表實(shí)現(xiàn)安全性相關(guān)操作,則保密數(shù)據(jù)的偽裝和安全性相關(guān)操作之間的協(xié)調(diào)可以特別簡(jiǎn)單地實(shí)現(xiàn)。在所述的表格中,每個(gè)輸入值x具有與它相聯(lián)系的輸出值y。通過(guò)查詢屬于特定輸入值x的輸出值y來(lái)執(zhí)行由表格實(shí)現(xiàn)的函數(shù)。
下面參照?qǐng)D中示出的實(shí)施例解釋本發(fā)明,其中
圖1示出智能卡的頂視圖,
圖2示出圖1頂視圖所示智能卡的芯片的放大的細(xì)節(jié),圖3a、3b、3c和3d示出查閱表。
圖1示出作為數(shù)據(jù)載體例子的智能卡1。智能卡1包括卡體2和在卡體2中特別提供的間隙中設(shè)置的芯片模塊3。芯片模塊3的基本部件是用子產(chǎn)生與外部裝置電連接的接觸面4、以及與接觸面4電連接的芯片5。作為一種替代或除了接觸面4以外,圖1未示出的線圈或其他傳送器件可以用于產(chǎn)生芯片5和外部設(shè)備之間的通訊鏈路。
圖2示出圖1頂視圖的芯片5的放大的細(xì)節(jié)。圖2的特性是它示出了芯片5的有效的表面,即它沒(méi)有示出通常保護(hù)芯片5的有效層的所有各層。為了獲得芯片內(nèi)部的有關(guān)信號(hào)模式的信息,可以例如采用微探針與探知的結(jié)構(gòu)6接觸。微探針是非常細(xì)的針,借助于精確定位裝置,它可以與探知的結(jié)構(gòu)6例如導(dǎo)電路徑電接觸。為了推斷芯片的保密數(shù)據(jù),由微探針采集的信號(hào)模式通過(guò)適當(dāng)?shù)臏y(cè)量和估計(jì)裝置來(lái)處理。
本發(fā)明從而竊取者非常困難甚至不可能訪問(wèn)尤其是芯片的保密數(shù)據(jù),既使他沒(méi)有毀壞電路而設(shè)法去除芯片5的保護(hù)層并且采用微探針接觸芯片5探知的結(jié)構(gòu)6或以某些其它方式截取它們。當(dāng)然,如果竊取者以另一種方式得知芯片5的信號(hào)模式,本發(fā)明也是有效的。
圖3a、3b、3c和3d示出查閱表的簡(jiǎn)單例子,其中每個(gè)輸入和輸出數(shù)據(jù)具有2位的長(zhǎng)度。所有的表格值被表示為二進(jìn)制數(shù)據(jù)。在特定列的第一行表示輸入數(shù)據(jù)x,第二行表示與該輸入相關(guān)的輸出數(shù)據(jù)y。
圖3a示出未偽裝的函數(shù)h的查閱表。圖3a表示輸入值x=00具有與它相關(guān)的輸出值h(x)=01,輸入值01具有輸出值11,輸入值10具有輸出值10,以及輸入值11具有輸出值00。圖3a的查閱表表示在安全性相關(guān)操作范圍內(nèi)執(zhí)行的非線性函數(shù)h。然而,根據(jù)本發(fā)明,在執(zhí)行安全性相關(guān)操作時(shí)不使用圖3a示出的查閱表本身,而是從圖3b、3c和3d的所述查閱表中獲得偽裝的查閱表。
圖3b示出確定偽裝的查閱表的中間步驟。通過(guò)將圖3a表格的第一行的每個(gè)值與隨機(jī)數(shù)R1=11“異或”,從圖3a的查閱表產(chǎn)生圖3b的查閱表。這樣,通過(guò)圖3a的表格第一行和第一列的值00與數(shù)字11“異或”產(chǎn)生值11,現(xiàn)在它是圖3b的表格的第一行和第一列的元素。因此,由圖3a示出的表格第一行的值和隨機(jī)數(shù)R1=11確定圖3b示出的表格第一行其余的值。圖3b示出的表格已經(jīng)能夠用作偽裝的查閱表,用于處理采用隨機(jī)數(shù)R1=11同樣偽裝的保密數(shù)據(jù)。結(jié)果將是在圖3b表格的第二行讀出的明文值。
人們通常根據(jù)上升的輸入數(shù)據(jù)x安排查閱表的各個(gè)列。圖3c示出通過(guò)據(jù)此分類圖3b的表格確定的表格。
如果圖3c的表格被進(jìn)一步偽裝或產(chǎn)生同樣偽裝值作為輸出值而不是明文碼,可以采用另外的隨機(jī)數(shù)R2進(jìn)行進(jìn)一步的“異或”運(yùn)算。
圖3d示出應(yīng)用所述進(jìn)一步“異或”運(yùn)算的結(jié)果。在所述運(yùn)算中,圖3c表格第二行元素的每一個(gè)與隨機(jī)數(shù)R2=10“異或”。這樣,圖3d表格第二行和第一列中的元素通過(guò)圖3c表格的第二行和第一列的元素與隨機(jī)數(shù)R2=10“異或”而產(chǎn)生。因此,形成圖3d表格第二行的另外的元素。圖3d表格的第一行未改變地采用圖3c表格的第一行。
借助于圖3d示出的表格,能夠由偽裝的輸入數(shù)據(jù)確定同樣偽裝的輸出數(shù)據(jù)。這樣確定的偽裝的輸出數(shù)據(jù)可以提供用于處理偽裝的數(shù)據(jù)的另外的運(yùn)算或者可以通過(guò)與隨機(jī)數(shù)R2=10“異或”來(lái)確定明文數(shù)據(jù)。
使用圖3d示出的表格能夠采用偽裝的保密數(shù)據(jù)來(lái)完成非線性操作并且保護(hù)所述保密數(shù)據(jù)免受非授權(quán)訪問(wèn)。安全性相關(guān)操作本身也仍然保護(hù)免受非授權(quán)訪問(wèn),因?yàn)椴煌膫窝b函數(shù)可以用在操作的每次執(zhí)行中并且即使可以確定偽裝函數(shù)也不能推斷安全性相關(guān)操作本身。然而,在轉(zhuǎn)換到明文之后,原始的安全性相關(guān)操作和借助于偽裝函數(shù)完成的操作產(chǎn)生相同的結(jié)果。例如,圖3a表格的輸入值00產(chǎn)生輸出值01。為了檢查圖3d示出的偽裝的表格是否產(chǎn)生相同的輸出值,必須首先將輸入值00與隨機(jī)數(shù)R1=11“異或”。由于所述組合,獲得值11。根據(jù)圖3d的表格,輸入值11同樣地產(chǎn)生輸出值11。為了確定來(lái)自所述輸出值的明文,必須將輸出值與隨機(jī)數(shù)R2=10“異或”。由于所述組合,獲得值01,該值精確地匹配于借助圖3a表格確定的值。
不僅通過(guò)“異或”而且可以通過(guò)其它適當(dāng)類型的組合例如模數(shù)加法可以實(shí)現(xiàn)偽裝安全性相關(guān)操作或輸入值。另外,本發(fā)明不限于借助查閱表表示的非線性函數(shù)的應(yīng)用。也可以使用任何非線性甚至線性函數(shù),由這些函數(shù)可以確定適當(dāng)?shù)膫窝b函數(shù)。
權(quán)利要求
1.具有至少一個(gè)存儲(chǔ)器的半導(dǎo)體芯片(5)的數(shù)據(jù)載體,該存儲(chǔ)器包含能夠執(zhí)行至少一次運(yùn)算(h)的運(yùn)算程序,執(zhí)行運(yùn)算(h)需要輸入數(shù)據(jù)(x)并且執(zhí)行運(yùn)算(h)產(chǎn)生輸出數(shù)據(jù)(y),其特征在于-運(yùn)算(h)在它執(zhí)行之前被偽裝,-采用偽裝的輸入數(shù)據(jù)(xR1)執(zhí)行偽裝的運(yùn)算(hR1),以及-運(yùn)算(h)和輸入數(shù)據(jù)(x)的偽裝是協(xié)調(diào)的,從而具有偽裝的輸入數(shù)據(jù)(xR1)的偽裝運(yùn)算(hR1)的執(zhí)行產(chǎn)生的輸出數(shù)據(jù)(y)與在執(zhí)行未偽裝的輸入數(shù)據(jù)(x)的未偽裝的運(yùn)算(h)時(shí)確定的輸出數(shù)據(jù)(y)相同。
2.如權(quán)利要求1所述的數(shù)據(jù)載體,其特征在于至少一個(gè)隨機(jī)數(shù)(R1)參與偽裝的運(yùn)算(hR1)和偽裝的輸入數(shù)據(jù)(xR1)的確定。
3.如上述任一權(quán)利要求所述的數(shù)據(jù)載體,其特征在于借助于“異或”運(yùn)算確定偽裝的運(yùn)算(hR1)和偽裝的輸入數(shù)據(jù)(xR1)。
4.如上述任一權(quán)利要求所述的數(shù)據(jù)載體,其特征在于偽裝的運(yùn)算(hR1)事先永久地存儲(chǔ)在數(shù)據(jù)載體中。
5.如權(quán)利要求4所述的數(shù)據(jù)載體,其特征在于至少兩個(gè)偽裝的運(yùn)算(hR1,hR1’)事先永久地存儲(chǔ)在數(shù)據(jù)載體中并且當(dāng)執(zhí)行偽裝的運(yùn)算時(shí)隨機(jī)地選擇存儲(chǔ)的偽裝的運(yùn)算(hR1,hR1’)中的一個(gè)。
6.如權(quán)利要求1到3中任何一個(gè)所述的數(shù)據(jù)載體,其特征在于在偽裝的運(yùn)算(hR1)執(zhí)行之前重新計(jì)算它并且對(duì)于所述計(jì)算重新確定至少一個(gè)隨機(jī)數(shù)(R1)。
7.如上述任一權(quán)利要求所述的數(shù)據(jù)載體,其特征在于通過(guò)存儲(chǔ)在數(shù)據(jù)載體中在輸入數(shù)據(jù)(x)和輸出數(shù)據(jù)(y)之間建立聯(lián)系的表格實(shí)現(xiàn)運(yùn)算(h)。
8.如權(quán)利要求7所述的數(shù)據(jù)載體,其特征在于通過(guò)與至少一個(gè)隨機(jī)數(shù)(R1)的組合實(shí)現(xiàn)包含在表格中的輸入數(shù)據(jù)(x)的偽裝。
9.具有至少一個(gè)存儲(chǔ)器的半導(dǎo)體芯片(5)的數(shù)據(jù)載體,該存儲(chǔ)器包含能夠執(zhí)行至少一次運(yùn)算(h)的運(yùn)算程序,運(yùn)算(h)的執(zhí)行需要輸入數(shù)據(jù)(x)以及運(yùn)算(h)的執(zhí)行產(chǎn)生輸出數(shù)據(jù)(y),其特征在于-運(yùn)算(h)在它執(zhí)行之前被偽裝,-采用偽裝的輸入數(shù)據(jù)(xR1)執(zhí)行偽裝的運(yùn)算(hR1),-運(yùn)算(h)和輸入數(shù)據(jù)(x)的偽裝是協(xié)調(diào)的,從而具有偽裝的輸入數(shù)據(jù)(xR1)的偽裝運(yùn)算(hR1R2)的執(zhí)行產(chǎn)生的輸出數(shù)據(jù)(yR2)是相對(duì)于在執(zhí)行未偽裝的輸入數(shù)據(jù)(x)的未偽裝運(yùn)算(h)時(shí)確定的輸出數(shù)據(jù)(y)來(lái)偽裝的。-借助于用于偽裝運(yùn)算(h)的數(shù)據(jù)(R2)可以由偽裝的輸出數(shù)據(jù)(yR2)確定未偽裝的輸出數(shù)據(jù)(y)。
10.如權(quán)利要求9所述的數(shù)據(jù)載體,其特征在于至少一個(gè)隨機(jī)數(shù)(R1)參與確定偽裝的輸入數(shù)據(jù)(xR1)并且至少兩個(gè)隨機(jī)數(shù)(R1,R2)參與確定偽裝的運(yùn)算(hR1R2)。
11.如權(quán)利要求9和10中任一個(gè)所述的數(shù)據(jù)載體,其特征在于借助于“異或”運(yùn)算確定偽裝的運(yùn)算(hR1R2)和偽裝的輸入數(shù)據(jù)(xR1)。
12.如權(quán)利要求9到11中任何一個(gè)所述的數(shù)據(jù)載體,其特征在于偽裝的運(yùn)算(hR1R2)事先永久地存儲(chǔ)在數(shù)據(jù)載體中。
13.如權(quán)利要求12所述的數(shù)據(jù)載體,其特征在于至少兩個(gè)偽裝的運(yùn)算(hR1R2,hR1’R2’)事先永久地存儲(chǔ)在數(shù)據(jù)載體中并且當(dāng)執(zhí)行偽裝的運(yùn)算時(shí)隨機(jī)地選擇存儲(chǔ)的偽裝的運(yùn)算(hR1R2,hR1’R2’)中的一個(gè)。
14.如權(quán)利要求13所述的數(shù)據(jù)載體,其特征在于對(duì)于確定偽裝的運(yùn)算(hR1R2,hR1’R2’)使用的組合,用于確定第一個(gè)偽裝的運(yùn)算(hR1R2)的隨機(jī)數(shù)(R1,R2)與用于確定第二個(gè)偽裝的運(yùn)算(hR1’R2’)的隨機(jī)數(shù)(R1’,R2’)反相。
15.如權(quán)利要求9到11中任何一個(gè)所述的數(shù)據(jù)載體,其特征在于在偽裝的運(yùn)算(hR1R2)執(zhí)行之前重新計(jì)算它并且對(duì)于所述計(jì)算重新確定隨機(jī)數(shù)(R1,R2)。
16.如權(quán)利要求9到15中任何一個(gè)所述的數(shù)據(jù)載體,其特征在于通過(guò)存儲(chǔ)在數(shù)據(jù)載體中在輸入數(shù)據(jù)(x)和輸出數(shù)據(jù)(y)之間建立聯(lián)系的表格實(shí)現(xiàn)運(yùn)算(h)。
17.如權(quán)利要求16所述的數(shù)據(jù)載體,其特征在于通過(guò)與至少一個(gè)隨機(jī)數(shù)(R1)的組合實(shí)現(xiàn)包含在表格中的輸入數(shù)據(jù)(x)的偽裝,并且通過(guò)與至少另外一個(gè)隨機(jī)數(shù)(R2)的組合實(shí)現(xiàn)包含在表格中的輸出數(shù)據(jù)(y)的偽裝。
18.如上述權(quán)利要求中任何一個(gè)所述的數(shù)據(jù)載體,其特征在于相對(duì)于用于偽裝運(yùn)算(h)的組合,運(yùn)算(h)是非線性運(yùn)算。
全文摘要
本發(fā)明涉及具有至少一個(gè)存儲(chǔ)器的半導(dǎo)體芯片(5)的數(shù)據(jù)載體。存儲(chǔ)器包含能夠完成至少一個(gè)運(yùn)算(h)的運(yùn)算程序。為了防止非授權(quán)訪問(wèn)采用運(yùn)算(h)處理的數(shù)據(jù)(x),所述數(shù)據(jù)和運(yùn)算(h)本身被偽裝。數(shù)據(jù)(x)和運(yùn)算(h)的偽裝是協(xié)調(diào)的,從而偽裝的運(yùn)算(h
文檔編號(hào)G07F7/08GK1325520SQ99812863
公開日2001年12月5日 申請(qǐng)日期1999年9月7日 優(yōu)先權(quán)日1998年9月11日
發(fā)明者哈拉爾德·瓦特, 赫爾曼·德雷克斯勒 申請(qǐng)人:德國(guó)捷德有限公司