專利名稱:用于建立安全信任密鑰的設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于在設(shè)備與智能卡之間進(jìn)行安全數(shù)據(jù)傳送的安全信任密鑰的建立。 更具體地,本發(fā)明涉及使用密鑰交換算法在設(shè)備和智能卡中進(jìn)行安全數(shù)據(jù)傳送的安全信任密鑰的建立。
背景技術(shù):
用于數(shù)字視頻廣播(DVB)傳輸?shù)臈l件接入系統(tǒng)是熟知的,并廣泛地結(jié)合付費(fèi)電視服務(wù)被使用。這樣的系統(tǒng)把包括一個(gè)或多個(gè)服務(wù)的廣播流的安全傳輸提供給被包含在例如支持廣播服務(wù)的機(jī)頂盒或移動(dòng)終端中的數(shù)字接收機(jī)。為了保護(hù)廣播服務(wù)不被非授權(quán)地觀看,數(shù)據(jù)包在發(fā)射機(jī)端用通常被稱為控制字的加密密鑰進(jìn)行擾碼(加密)。通過周期地改變控制字以使得它們僅僅在某個(gè)時(shí)間段內(nèi)是有效的而提供進(jìn)一步的安全性。典型地,通過使用所謂的權(quán)利控制消息(ECM),控制字以加密的形式被發(fā)送到接收機(jī)。在接收機(jī)中,ECM從輸送流中過濾出,并被發(fā)送到安全計(jì)算環(huán)境,例如智能卡。智能卡隨后通過使用更高級(jí)別密鑰來解密ECM,該密鑰是對于被授權(quán)接收與該密鑰相關(guān)聯(lián)的 TV頻道的所有的智能卡共同的。該控制字被返回到接收機(jī),接收機(jī)立即把控制字裝載到解擾碼器,用于對數(shù)據(jù)進(jìn)行解擾碼??刂谱謴闹悄芸ǖ浇邮諜C(jī)的傳輸是易受攻擊的,在于控制字在智能卡與接收機(jī)之間的接口處被截取。控制字剽竊是數(shù)字視頻廣播(DVB)系統(tǒng)中的重大的問題。有時(shí)攻擊者能夠截取從智能卡發(fā)送到接收機(jī)的控制字CW,并且將它通過本地?zé)o線網(wǎng)或通過互聯(lián)網(wǎng)進(jìn)行重新分發(fā)。重新分發(fā)的控制字然后被使用來對于被擾碼的服務(wù)進(jìn)行解擾碼而不用合法的智能卡。為了使得控制字剽竊復(fù)雜化,眾所周知,智能卡和接收機(jī)使用芯片組會(huì)話密鑰CSSK 用于在智能卡與接收機(jī)之間的接口處對控制字流進(jìn)行加密。當(dāng)前,智能卡預(yù)先配備有唯一的序列號(hào)和唯一的密鑰,以及接收機(jī)的芯片組也預(yù)先配備有芯片組序列號(hào)CSSN。而且,芯片組唯一密鑰CSUK被存儲(chǔ)在接收機(jī)的安全部分,這樣,CSSN與CSM相聯(lián)系。CSSN和CSM在被配置到接收機(jī)后不能被改變。密鑰CSM不存儲(chǔ)在智能卡中。用于在智能卡與接收機(jī)之間進(jìn)行數(shù)據(jù)傳送的會(huì)話密鑰CSSK的建立在某種程度上是成問題的。在客戶可以使用智能卡-接收機(jī)組合之前,他或她必須聯(lián)系當(dāng)事一方,并把關(guān)于智能卡的序列號(hào)和芯片組的序列號(hào)的信息提供給這一方。這個(gè)信息使得被聯(lián)系的一方能夠發(fā)起發(fā)送在智能卡的唯一的密鑰下被加密的、并包含密鑰CSSK的消息(典型地,權(quán)利管理消息EMM),該密鑰CSSK在芯片組唯一的密鑰CSM下被加密。接收加密的消息的智能卡通過使用智能卡的唯一的密鑰來解密該消息,然后現(xiàn)在擁有密鑰CSSK。智能卡還把在CSM 下被加密的密鑰CSSK裝載到接收機(jī)的安全部分,在其中該消息通過使用CSM被解密,以使得CSSK在接收機(jī)中也是可提供的。隨后,控制字可以通過接口從智能卡被傳送到接收機(jī), 控制字在智能卡中被加密,以及在接收機(jī)的安全部分中在所得到的密鑰CSSK下被解密。WO 97/38530 Al描述一種設(shè)備,其生成隨機(jī)密鑰Ci和隨機(jī)數(shù)A,并把Ci和A在通過使用第一設(shè)備的公共密鑰而被加密的第一消息中傳送到第二設(shè)備。第二設(shè)備借助于對應(yīng)的秘密密鑰來解密第一加密的消息,以得到Ci和A。第二設(shè)備把第二消息傳送到第一設(shè)備, 第二消息是在被用作為加密密鑰的Ci下被加密的A。第一設(shè)備通過使用所生成的Ci來解密第二加密的消息,并驗(yàn)證A是否為正確。WO 03/079687 Al描述安全數(shù)據(jù)處理系統(tǒng),其包括中央處理單元CPU和硬件部件 HWo硬件部件HW可被實(shí)施成使得由所述專用硬件部件HW操控的數(shù)據(jù)項(xiàng)決不散布到所述硬件部件HW以外。在技術(shù)上需要可以以不太復(fù)雜的方式達(dá)到的、在設(shè)備與智能卡之間的安全數(shù)據(jù)傳送。已知的密鑰交換算法(例如,Diffie-Hellman協(xié)議)允許在兩個(gè)設(shè)備中建立不依賴于被信任方的密鑰。典型地,在電子設(shè)備或智能卡中的安全性由防讀-寫和對抗竄改的專用硬件集成電路(例如,單個(gè)芯片)(也稱為“安全模塊”、“安全芯片”、“安全部分”、“安全硬件設(shè)備”)提供。在密鑰交換算法中保護(hù)密鑰的選項(xiàng)是擴(kuò)展安全芯片的特征組和實(shí)施加密 /解密功能,以保證密鑰在電子設(shè)備與智能卡之間安全地傳送。然而,在安全硬件設(shè)備中提供附加的加密/解密功能或精巧的算法需要對集成電路作出重大的修改。把那些功能或精巧的算法固定在硬件上減小系統(tǒng)的靈活性,因?yàn)樗荒苡绍浖菀椎馗?。在硬件中加?/解密的實(shí)施會(huì)大大地,例如,增加芯片的復(fù)雜性,芯片的尺寸,芯片的處理負(fù)荷,硬件設(shè)計(jì) /實(shí)施成本,或延遲芯片推向市場的時(shí)間等等。在某些情形下,在安全硬件中實(shí)施附加安全措施在商業(yè)上簡直是不可行的。
發(fā)明內(nèi)容
公開了被配置成用于在信任密鑰下與智能卡進(jìn)行加密數(shù)據(jù)傳送的電子設(shè)備,諸如機(jī)頂盒或移動(dòng)設(shè)備的接收機(jī)。電子設(shè)備包括至少一個(gè)安全部分。信任密鑰是指作為對于至少雙方或多方的密鑰的單獨(dú)的事例被建立的密鑰,其中至少雙方或多方假設(shè)密鑰的單獨(dú)的拷貝是對應(yīng)的。在雙方之間密鑰對應(yīng)性的假設(shè)是對于雙方之間能夠進(jìn)行正確的運(yùn)行/通信所必須的。例如,信任密鑰可被用作為雙方之間共享的秘密,用來加密和解密在雙方之間傳送的其它內(nèi)容。正如這里使用的,安全部分是包含硬件單元的設(shè)備的專用部件,不允許借助于數(shù)據(jù)的讀/寫操作從安全部分以外接入,而是只允許以加密形式與接收機(jī)的非安全部分進(jìn)行數(shù)據(jù)傳送。安全部分的例子是安全的密碼機(jī)。在安全部分中實(shí)現(xiàn)的功能通常也作為硬件單元被實(shí)施。智能卡典型地是在運(yùn)行之前被或可以被人工地插入到接收機(jī)中的單獨(dú)的卡。然而,智能卡也可以是電子設(shè)備的集成的部件。在某些實(shí)施例中,智能卡包括安全集成電路或硬件單元,它們阻止借助于數(shù)據(jù)的讀/寫操作從智能卡以外接入,而是只允許以加密形式與接收機(jī)的非安全部分進(jìn)行數(shù)據(jù)傳送。電子設(shè)備被配置成與智能卡執(zhí)行密鑰交換算法,以便建立用于在設(shè)備與智能卡之間進(jìn)行加密的數(shù)據(jù)傳送的信任密鑰。設(shè)備被配置成把所建立的信任密鑰存儲(chǔ)在設(shè)備的安全部分。還公開了用于建立在設(shè)備與智能卡之間的信任密鑰的方法,其中設(shè)備包括這樣的安全部分。方法包括以下步驟在設(shè)備與智能卡之間執(zhí)行密鑰交換算法,以便得到在設(shè)備和智能卡中的信任密鑰,以及把信任密鑰存儲(chǔ)在設(shè)備的安全部分?,F(xiàn)在數(shù)據(jù)可以在智能卡中在信任密鑰下被加密,并直接傳送到設(shè)備的安全部分,在其中該數(shù)據(jù)可以通過使用被存儲(chǔ)在設(shè)備的安全部分中的信任密鑰被解密。在電子設(shè)備和智能卡中實(shí)施的密鑰交換算法功能,例如,Diffie-Hellman協(xié)議,使得一旦智能卡與電子設(shè)備開始工作聯(lián)系智能卡和電子設(shè)備就能夠本地地商定信任密鑰而不需要聯(lián)系另一方。信任密鑰可被使用于通過在信任密鑰下的加密而安全在智能卡與接收機(jī)之間的數(shù)據(jù)(例如,控制字)的傳送。通過把信任密鑰存儲(chǔ)在設(shè)備的安全部分,來自智能卡的數(shù)據(jù)可以在信任密鑰下被加密,并從智能卡直接傳送到電子設(shè)備的安全部分,而不會(huì)以非加密形式暴露到設(shè)備的非安全部分。因?yàn)榻尤氲皆O(shè)備的安全部分實(shí)際上是不可能的, 信任密鑰不能從設(shè)備得到,因此諸如控制字那樣的數(shù)據(jù)可以在信任密鑰下安全地傳送到這個(gè)安全部分。在Bruce Schneier 的書,"Applied Cryptography", ISBN0-471-12845-7 中描述了密鑰交換算法。應(yīng)當(dāng)承認(rèn),密鑰交換算法步驟可以在智能卡與電子設(shè)備之間的證書驗(yàn)證步驟之前進(jìn)行,或與該步驟組合。作為例子,Diffie-Hellman公共密鑰可以與證書驗(yàn)證步驟相組合地在智能卡與安全設(shè)備之間進(jìn)行交換。在本發(fā)明的實(shí)施例中,設(shè)備的安全部分被配置成執(zhí)行密鑰交換算法的至少一部分。這個(gè)實(shí)施例具有的優(yōu)點(diǎn)在于,把從密鑰交換算法的執(zhí)行得到的信任密鑰存儲(chǔ)在安全部分中,可以不用另外的措施而得以完成,因?yàn)樾湃蚊荑€是在安全部分內(nèi)得到的。密鑰交換算法操作是通過使用硬件單元而被實(shí)施的。在本發(fā)明的實(shí)施例中,設(shè)備包括至少一個(gè)非安全部分。非安全部分例如包括設(shè)備的固件,允許進(jìn)行外部讀/寫操作。非安全部分還可包括具有芯片上的存儲(chǔ)器的處理器,通過將軟件裝載到處理器而允許在芯片上的存儲(chǔ)器上進(jìn)行讀/寫操作。非安全部分被配置成以軟件模塊執(zhí)行用于設(shè)備的密鑰交換算法部分。這個(gè)實(shí)施例具有的優(yōu)點(diǎn)在于,安全部分不應(yīng)當(dāng)被配置成具有用于執(zhí)行密鑰交換算法操作的專用硬件單元。為了允許最終得到的信任密鑰的安全存儲(chǔ),非安全部分被配置成使能保護(hù)信任密鑰,以及安全部分被配置成使能從保護(hù)的信任密鑰得出(例如,去變換、解密)要被存儲(chǔ)在安全部分中的信任密鑰。使得信任密鑰從設(shè)備的非安全部分到安全部分的傳送安全的例子是白匣子 (White-Box)密碼術(shù)的使用。白匣子密碼術(shù)在以下的文獻(xiàn)中被描述Jtanley Chow,PhiIip Eisen, Harold Johnson, and Paul C. VanOorschot, " White-Box Cryptography and an AES Implementation" ,inSelected Areas in Cryptography :9th Annual International Workshop, SAC 2002,St. John ' s, Newfoundland, Canada, Aug. 15-16,2002,禾口 Stanley Chow, Phil Eisen, Harold Johnson, and Paul C. van Oorschot, " Affhite-Box DES Implementation for DRM Applications" , in DigitalRights Management :ACM CCS-9 Workshop, DRM 2002,Washington, D. C.,USA, Nov. 18,2002,這些文獻(xiàn)在本專利申請中整體地被引用以供參考。白匣子密碼術(shù)的基本概念在于,通過把密鑰或密鑰的一部分隱蔽在查找表Ln中而隱藏密鑰或密鑰的一部分。一系列查找操作實(shí)施白匣子實(shí)施模塊的功能。在一個(gè)實(shí)施例中,如在本申請中公開的信任密鑰可以通過本技術(shù)而變得安全。白匣子密碼術(shù)通常包括使用變換函數(shù),即,雙向注入(bijection)函數(shù)。以數(shù)學(xué)形式,解密函數(shù)D可被寫為D = Ltl ο L1 ο L2 ο ... ο Ln(X),其中Ln是表格查找操作。通過把這個(gè)與隨機(jī)輸入和輸出變換函數(shù)F,G相組合,可以實(shí)施函數(shù)D’ = F-1GDoG0在這個(gè)實(shí)施例中,用于設(shè)備的非安全部分的輸入信息由智能卡本地地變換,由此消除對于從頭端接收所變換的輸入信息的需要。變換的輸入被發(fā)送到設(shè)備的非安全部分,用于執(zhí)行白匣子密碼術(shù)。這可以是有利的,它卸載設(shè)備的非安全部分的某些功能,以減小對安全硬件的修改。在本發(fā)明的一個(gè)實(shí)施例中,白匣子密碼術(shù)操作的輸出是變換的輸出,以及用于對于輸出進(jìn)行去變換的功能在設(shè)備的安全部分中被實(shí)施。換句話說,白匣子密碼術(shù)操作被擴(kuò)展到設(shè)備的安全部分和智能卡,由此使得從設(shè)備的非安全部分提取信任密鑰變得復(fù)雜。硬件實(shí)施的最終變換構(gòu)成硬件固定架。雖然密鑰交換算法操作可以在設(shè)備的非安全部分中整體地完成(減小硬件單元的數(shù)量和/或在安全部分中的修改),但所變換的信任密鑰輸出僅僅具有對于包含用于得到(去變換)被存儲(chǔ)在其中的信任密鑰的最后的變換函數(shù)的安全部分有意義。白匣子密碼術(shù)事例在具有逆變換的另一個(gè)接收機(jī)中對于不同的最后的變換是無用的??善谕淖兠荑€,在該密鑰下在智能卡與設(shè)備之間的數(shù)據(jù)傳送可以時(shí)時(shí)被保護(hù)。 當(dāng)設(shè)備/接收機(jī)被重新啟動(dòng)或從設(shè)備抽取智能卡時(shí),例如,可以進(jìn)行改變所述密鑰。另外, 頭端可能已提供用于使密鑰循環(huán)的指令。雖然信任密鑰可以在數(shù)據(jù)(如控制字)通過智能卡與設(shè)備之間的接口被傳送時(shí)被使用于保護(hù)數(shù)據(jù),但新的信任密鑰的建立需要執(zhí)行密鑰交換算法,這花費(fèi)某些時(shí)間(主要因?yàn)橹悄芸ǖ挠邢薜挠?jì)算資源)。所以,為了能夠改變密鑰以使得在該密鑰下數(shù)據(jù)被更快速地保護(hù),在如在權(quán)利要求5中規(guī)定的本發(fā)明的實(shí)施例中, 設(shè)備和智能卡可以商定用于實(shí)際數(shù)據(jù)傳送保護(hù)的另外的密鑰。在本發(fā)明的實(shí)施例中,所述另外的密鑰可以在智能卡中或在設(shè)備的安全部分中被生成,并分別被傳送到設(shè)備,智能卡在已建立的信任密鑰下被加密。所述另外的密鑰被本地地建立,即,在設(shè)備或智能卡一端而不是在頭端處被建立,并且它比起信任密鑰以更高的速率循環(huán)。如上所述,在本發(fā)明的實(shí)施例中,設(shè)備是接收加密的內(nèi)容數(shù)據(jù)的接收機(jī)。接收機(jī)的安全部分被配置成解密所加密的內(nèi)容數(shù)據(jù),并沿呈現(xiàn)設(shè)備的方向轉(zhuǎn)發(fā)所解密的內(nèi)容數(shù)據(jù)。 內(nèi)容數(shù)據(jù)的解密是在從智能卡傳送到接收機(jī),或更精確地,到接收機(jī)的安全部分的加密的數(shù)據(jù)(在信任密鑰或以上提到的另外的密鑰下被加密的控制字)的控制下執(zhí)行的,在接收機(jī)的安全部分中加密的數(shù)據(jù)被解密(但外部不可接入的),并可供使用于內(nèi)容數(shù)據(jù)的解密。電子設(shè)備可被安排成使得唯一的密鑰被存儲(chǔ)在安全部分,其中設(shè)備被配置成把信任密鑰發(fā)送到在唯一的密鑰下被加密的頭端。設(shè)備的安全部分的芯片組包含芯片組唯一的密鑰CSM。在本發(fā)明的一個(gè)實(shí)施例中,通過發(fā)送信任密鑰到在唯一的密鑰下被加密的頭端, 從其中可以接收內(nèi)容數(shù)據(jù)的頭端,可被告知以在智能卡與設(shè)備之間建立的信任密鑰。正如在背景技術(shù)中所提到的,頭端典型地可存取被存儲(chǔ)在設(shè)備的安全部分中的唯一的密鑰,所以,能夠得到信任密鑰。此后,將更詳細(xì)地描述本發(fā)明的實(shí)施例。然而,應(yīng)當(dāng)意識(shí)到,這些實(shí)施例不應(yīng)當(dāng)被看作為限制對于本發(fā)明的保護(hù)的范圍。
在圖中
圖1是示意地顯示按照本發(fā)明的第一實(shí)施例的方法的示意圖;圖2是示意地顯示按照本發(fā)明的第二實(shí)施例的方法的示意圖;圖3是實(shí)施如圖1所示的方法的設(shè)備-智能卡組合的示意圖;圖4是顯示與加密有關(guān)的變換函數(shù)的應(yīng)用的示意圖;圖5是實(shí)施如圖2所示的方法的設(shè)備-智能卡組合的示意圖;圖6是使能進(jìn)行安全數(shù)據(jù)傳送的設(shè)備-智能卡組合的示意圖;圖7A顯示執(zhí)行數(shù)學(xué)變換的函數(shù)的框圖;圖7B顯示在種子的控制下執(zhí)行數(shù)學(xué)變換的函數(shù)的框圖;圖8A顯示施加原語的框圖;圖8B顯示去除原語的框圖;圖8C顯示條件原語的框圖;圖8D顯示去除和施加原語的組合的框圖;以及圖8E顯示復(fù)合物的安全相關(guān)性的框圖。
具體實(shí)施例方式圖1顯示可以以本身已知的方式實(shí)現(xiàn)工作聯(lián)系的電子設(shè)備1和智能卡SC的示意圖。電子設(shè)備1例如可以是用于機(jī)頂盒或移動(dòng)電話的接收機(jī)。智能卡SC例如可以是用于插入到機(jī)頂盒的專用智能卡或移動(dòng)電話的SIM卡。電子設(shè)備的安全部分和智能卡SC用灰色表示。電子設(shè)備1包括安全部分S和非安全部分NS。安全部分S包括存儲(chǔ)器2,用于諸如信任密鑰CSTK和會(huì)話密鑰CSSK那樣的數(shù)據(jù)的安全存儲(chǔ),這將在下面更詳細(xì)地描述。安全部分S是設(shè)備1的專用部分,其包含硬件單元,不允許借助于數(shù)據(jù)的讀/寫操作從安全部分S以外接入,僅僅允許以加密的形式與接收機(jī)的非安全部分NS進(jìn)行數(shù)據(jù)傳送。安全部分 S的例子是安全密碼機(jī)。在安全部分中實(shí)現(xiàn)的功能通常也被實(shí)施為硬件單元。智能卡SC是全部安全的。當(dāng)電子設(shè)備1和智能卡SC實(shí)現(xiàn)工作聯(lián)系時(shí),電子設(shè)備1檢測工作聯(lián)系,以及把信號(hào)GEN例如從非安全部分NS自動(dòng)地發(fā)布到智能卡SC和安全部分S,以便執(zhí)行密鑰交換算法 KEA0 密鑰交換算法在 Brucekhneier 的書,“Applied Cryptography'MSBNO-471-12845-7 中描述,該書在本申請中以引用被包括。密鑰交換算法包括Diffie-Hellman(DH)算法、橢圓曲線DH算法等等。信號(hào)GEN可以在證書驗(yàn)證過程中被組合,并可以承載參數(shù)和其它數(shù)據(jù),以便在密鑰交換算法期間使用。密鑰交換算法的一部分可包括公共密鑰的交換,用于建立在安全部分S與智能卡 SC之間的信任密鑰CSTK。用于建立信任密鑰CSTK的公共密鑰交換可以通過使用另外的公共-私人密鑰加密技術(shù)而被加強(qiáng)。在電子設(shè)備1和智能卡SC中實(shí)施的KEA功能使得一旦智能卡SC與電子設(shè)備1開始工作聯(lián)系,智能卡SC和電子設(shè)備1就能夠本地地商定信任密鑰CSTK而不需要聯(lián)系另一方。信任密鑰CSTK可被使用于在智能卡與接收機(jī)之間的安全數(shù)據(jù)傳送,諸如,安全地提供在信任密鑰CSTK下被加密的控制字,正如將在下面更詳細(xì)地描述的。通過把信任密鑰CSTK存儲(chǔ)在設(shè)備1的安全部分S,來自智能卡SC的數(shù)據(jù)可以在信任密鑰CSTK下被加密,從智能卡SC直接傳送到電子設(shè)備1的安全部分S,而不會(huì)以非加密形式暴露到設(shè)備1的非安全部分Ns。因?yàn)橥獠拷尤氲皆O(shè)備1的安全部分S和智能卡SC實(shí)際上是不可能的,信任密鑰CSTK 不能從設(shè)備1得到,因此諸如控制字那樣的數(shù)據(jù)可以在信任密鑰CSTK下安全地傳送到這個(gè)安全部分S。既然設(shè)備1和智能卡SC已建立信任密鑰,智能卡SC就可以生成另外的密鑰CSSK, 用于實(shí)際保護(hù)數(shù)據(jù)。如果智能卡SC生成另外的密鑰CSSK,則信任密鑰CSTK可被使用于通過任何已知的加密算法E來加密另外的密鑰CSSK,并把這個(gè)另外的密鑰CSSK發(fā)送到如圖1 所示的設(shè)備1的安全部分S。在安全部分S中,被加密的消息可以通過使用解密算法和所存儲(chǔ)的密鑰CSTK而被解密,以便得到CSSK。從現(xiàn)在起,數(shù)據(jù)可以在與CSTK相同的保護(hù)級(jí)別的另外的密鑰CSSK下被傳送。建立CSSK比起通過使用密鑰交換算法KEA而建立CSTK更快速,由此易于實(shí)現(xiàn)在智能卡SC與設(shè)備1的安全部分S之間更快速的、用于數(shù)據(jù)加密的CSSK 密鑰循環(huán)。另外的密鑰CSSK也被存儲(chǔ)在安全部分S的存儲(chǔ)器2中。當(dāng)然,在替換實(shí)施例中,另外的密鑰CSSK在安全部分S中生成,并被傳送到在信任密鑰CSTK下被加密的智能卡Sc。圖2提供本發(fā)明的替換實(shí)施例的示意圖,其中通過使用設(shè)備1的非安全部分NS執(zhí)行密鑰交換算法。這可能是有利的,因?yàn)樗梢员苊鈱τ谠谠O(shè)備1的安全部分S中添加和 /或適配許多硬件單元的需要。這個(gè)優(yōu)點(diǎn)是當(dāng)算法局部使用加密/解密的白匣子實(shí)施方案時(shí)實(shí)現(xiàn)的(實(shí)施方案通過變換而變?yōu)槟:?,以達(dá)到白匣子安全性),其細(xì)節(jié)在這里描述。在圖2的實(shí)施例中,設(shè)備利用在設(shè)備1的非安全部分NS中的變換域TRF。當(dāng)在智能卡SC與設(shè)備1之間建立工作聯(lián)系時(shí),變換域TRF接收變換的輸入(例如, 變換的公共密鑰),該變換的輸入是在智能卡SC處通過使用用于在設(shè)備1處提供用于密鑰交換算法部分的輸入的變換函數(shù)Ttl而被本地生成的。而且,信息(例如,公共密鑰)從設(shè)備1被提供到智能卡SC(信號(hào)GEN),用于在智能卡SC處執(zhí)行密鑰交換算法。在變換域,白匣子密碼術(shù)被應(yīng)用到變換的輸入,以便生成變換的信任密鑰CSTK’。變換的信任密鑰CSTK’ 以通過使用在安全部分S中也已知的密鑰K’的變換的版本以保護(hù)的、可能加密的形式E,被發(fā)送到設(shè)備1的安全部分S。在安全部分S中,信任密鑰CSTK通過使用解密算法和密鑰K’ 的去變換的版本而從CSTK’得出。再次地,對于圖1的實(shí)施例,另外的密鑰CSSK可被使用于在智能卡SC與設(shè)備1之間的實(shí)際的數(shù)據(jù)交換保護(hù)。在安全部分S和智能卡中變換的使用使能使用白匣子密碼技術(shù)。正如所討論的, 白匣子密碼術(shù)的基本概念在于,通過把密鑰或密鑰的一部分隱蔽在查找表Ln中而隱藏密鑰或密鑰的一部分。在取決于密鑰的表中的一系列查找操作實(shí)施白匣子實(shí)施模塊的功能。意圖是通過用代表組成的隨機(jī)雙向注入而不是單獨(dú)的步驟來編碼它的表與通過把密碼邊界進(jìn)一步推廣到所包含的應(yīng)用(即,非安全部分)而擴(kuò)展密碼邊界的組合來隱藏密鑰。白匣子密碼術(shù)通常包括使用變換函數(shù),S卩,雙向注入函數(shù)。變換函數(shù)可被實(shí)施為單個(gè)查找表,或更有效地,作為較小的雙向注入(查找表)的級(jí)聯(lián)。在某些實(shí)施例中,硬件中的變換模塊是對于擴(kuò)展抵制剽竊所需要的、由硬件提供給白匣子保護(hù)的軟件的最小功能。正如以上討論的,在數(shù)學(xué)形式上,某些解密函數(shù)D可被寫為D =L0 ο L1 ο L2 ο ... ο Ln(X),其中Ln是表格查找操作。通過把這個(gè)與隨機(jī)輸入和輸出變換函數(shù) F,G相組合,函數(shù)D’ = F—1 ο D ο G可被實(shí)施為編碼的查找表,由此解密函數(shù)D (或任何適當(dāng)?shù)募用?解密函數(shù))的每個(gè)步驟與隨機(jī)雙向注入相組合。相同的邏輯可被應(yīng)用到加密函數(shù)。 對于可以通過隨機(jī)雙向注入(即,變換)被分解和混合的加密-解密函數(shù),最終得到的數(shù)據(jù)變換嵌入標(biāo)準(zhǔn)黑匣子抵制算法(即,算法通過隨機(jī)雙向注入被混合/模糊)。通過把標(biāo)準(zhǔn)算法嵌入到更大的數(shù)據(jù)變換內(nèi),原先的算法的黑匣子強(qiáng)度被保持,而同時(shí)對于白匣子攻擊提供更大的抵制。結(jié)果,至少部分的最終得到的數(shù)據(jù)變換可以在非安全環(huán)境下被實(shí)施,由此把更多的操作(例如,查找表)推廣到所包含的應(yīng)用,并限制安全硬件的復(fù)雜性。白匣子實(shí)施方案混合隨機(jī)輸入和輸出變換與查找,執(zhí)行打算的操作,諸如加密或解密。因此,對手在可以發(fā)現(xiàn)實(shí)際的秘密之前首先需要對隨機(jī)輸入和輸出變換的序列執(zhí)行反向工程。至少部分的白匣子實(shí)施方案可以在安全(專用)硬件中被實(shí)施,而其它部分的白匣子實(shí)施方案可以在通常的非安全環(huán)境下被實(shí)施。在安全硬件或所謂的“硬件固定架”中所實(shí)施的部分阻擋軟件移動(dòng)到具有不同的實(shí)施方案的不同的設(shè)備。而且,硬件固定架允許專用硬件減少,因?yàn)橹饕δ茉诎紫蛔訉?shí)施的算法或協(xié)議中被實(shí)施。圖3是圖1的實(shí)施例的實(shí)施方案的示意圖,其中Diffie-Hellman(DH)協(xié)議作為密鑰交換算法KEA被應(yīng)用。在說明中,為了清晰起見,DH的求模部件被省略。DH協(xié)議是全部在設(shè)備1的安全部分S和智能卡SC中執(zhí)行的,即,整個(gè)在安全域中執(zhí)行。在設(shè)備1處,在建立智能卡SC與設(shè)備1之間的工作聯(lián)系后,通過真正的隨機(jī)數(shù)發(fā)生器在安全部分S中生成隨機(jī)數(shù)X。而且,DifTie-Hellman參數(shù)g被設(shè)置為大質(zhì)數(shù),并且得到公共密鑰gx。公共密鑰gx被發(fā)送到智能卡SC,可用設(shè)備1的私鑰進(jìn)行簽名。在智能卡SC處,在建立與設(shè)備1的工作聯(lián)系后,通過真正的隨機(jī)數(shù)發(fā)生器生成隨機(jī)數(shù)y。預(yù)先個(gè)性化的Diffie-Hellman參數(shù)g被應(yīng)用,并且把公共密鑰gy發(fā)送到設(shè)備1的安全部分S,可用智能卡SC的私鑰進(jìn)行簽名。然后,在智能卡SC和設(shè)備1處,計(jì)算數(shù)值『或『,并且密鑰導(dǎo)數(shù)函數(shù)KDF被應(yīng)用來得到信任密鑰CSTK。在設(shè)備1處,信任密鑰被存儲(chǔ)在安全部分S。在智能卡SC與設(shè)備1 之間的數(shù)據(jù)傳送現(xiàn)在可以在信任密鑰CSTK下被加密。再次地,如參照圖1描述的,可以得到另外的密鑰CSSK,用于保護(hù)數(shù)據(jù)交換。智能卡SC包含密鑰生成器3,用于生成CSSK。另外的密鑰CSSK可以通過使用加密算法C和信任密鑰CSTK在智能卡處發(fā)送包含加密的CSSK的消息以及通過使用來自存儲(chǔ)器2的CSTK 來解密消息以便得到CSSK,而被傳送到安全部分S。如以上參照圖2描述的,信任密鑰CSTK也可以安全地得到并被存儲(chǔ)在設(shè)備1的安全部分S,而同時(shí)通過在非安全部分NS中定義變換域,在非安全部分NS中執(zhí)行密鑰交換算法 ΚΕΑ。變換域和變換函數(shù)的概念參照圖4進(jìn)行說明。數(shù)據(jù)和軟件模糊技術(shù)利用變換函數(shù)來模糊中間結(jié)果。變換函數(shù)的概念不同于加密,這通常是參照圖4變得清楚。假設(shè)在非變換數(shù)據(jù)空間中存在有具有多個(gè)數(shù)據(jù)單元的輸入域ID。定義了使用某個(gè)密鑰的加密函數(shù)E,其被配置成接受輸入域ID的數(shù)據(jù)單元作為輸入,以便傳遞在輸出域OD 中的對應(yīng)的加密的數(shù)據(jù)單元。通過應(yīng)用解密函數(shù)D,輸入域ID的原先的數(shù)據(jù)單元可以通過把解密函數(shù)D應(yīng)用到輸出域OD的數(shù)據(jù)單元而被得到。
在非安全環(huán)境下,假設(shè)對手能夠控制輸入和輸出數(shù)據(jù)單元以及加密函數(shù)E的實(shí)施的操作,以便發(fā)現(xiàn)被嵌入在實(shí)施中的保密信息(諸如密鑰)。通過把變換函數(shù)應(yīng)用到輸入域ID和輸出域0D,即,變換函數(shù)是輸入和輸出操作, 在這樣的非安全環(huán)境下可以得到附加的安全性。變換函數(shù)Tl把來自輸入域ID的數(shù)據(jù)單元映射到變換的數(shù)據(jù)空間的變換的輸入域ID’的數(shù)據(jù)單元。類似地,變換函數(shù)T2把來自輸出域OD的數(shù)據(jù)單元映射到變換的輸出域0D’。現(xiàn)在可以通過使用變換的密鑰在ID’與0D’之間定義變換的加密和解密函數(shù)E’和D’。Tl和T2是雙向注入。連同加密技術(shù)一起使用變換函數(shù)Tl,T2是指,不是把輸入域ID的數(shù)據(jù)單元輸入到加密函數(shù)E以便得到輸出域OD的加密的數(shù)據(jù)單元,而是通過應(yīng)用變換函數(shù)Tl,把域ID’的變換的數(shù)據(jù)單元輸入到變換的加密函數(shù)E’。變換的加密函數(shù)E’在加密操作時(shí)組合逆變換函數(shù)ΤΓ1和/或T2—1,以便保護(hù)保密信息,諸如密鑰。然后得到域0D’的變換的加密的數(shù)據(jù)單元。通過在安全部分中執(zhí)行Tl和/或T2,用于加密函數(shù)E或解密函數(shù)D的密鑰既不能在分析變換的數(shù)據(jù)空間中的輸入數(shù)據(jù)和輸出數(shù)據(jù)時(shí)被檢索,也不能在分析E’和/或D’的白匣子實(shí)施方案時(shí)被檢索。變換函數(shù)Tl,T2之一應(yīng)當(dāng)是非平凡函數(shù)。萬一 Tl是平凡函數(shù),則輸入域ID和ID’ 是同一個(gè)域。萬一 T2是平凡函數(shù),則輸出域是同一個(gè)域。在白匣子密碼術(shù)中,假設(shè)在變換的數(shù)據(jù)空間中的處理是在對手的完全控制下。在這個(gè)假設(shè)下,對手接入到ID’,OD'中的數(shù)據(jù)單元和函數(shù)E’和/或D’的白匣子實(shí)施。白匣子密碼術(shù)通過使用于函數(shù)E和D的(部分的)密鑰安全而提供安全性。通過在智能卡和設(shè)備1的安全部分S的至少一個(gè)中應(yīng)用變換函數(shù)Tl和T2,如前面描述的查找表Ln不能在變換的空間中被求解,因?yàn)檫@需要Tl和/或T2的知識(shí)。使用DH密鑰交換算法的這樣的實(shí)施例的實(shí)施方案示意地顯示于圖5。在設(shè)備1中,公共密鑰gx被饋送到智能卡SC,可用設(shè)備1的私鑰進(jìn)行簽名。公共密鑰gx在智能卡SC處被接收。在智能卡SC處,生成隨機(jī)數(shù)y和公共密鑰gy。來自智能卡的公共密鑰gy可以在智能卡內(nèi)連同所接收的公共密鑰gx—起被使用,以便得到gxy和在應(yīng)用密鑰導(dǎo)出函數(shù)KDF后推導(dǎo)出信任密鑰CSTK。與圖3的實(shí)施例不同,公共密鑰gy不直接發(fā)送到設(shè)備1,而是首先通過使用如在前面參照圖4說明的變換函數(shù)Tl在智能卡SC處被變換。變換的gy’然后被發(fā)送到設(shè)備1,在其中它在設(shè)備1的非安全部分NS的變換的空間中被接收。DH變換的秘密χ’和安全部分的唯一的密鑰CSM的變換的版本CSM’被嵌入在設(shè)備1的非安全部分NS的變換的空間。在變換的空間中應(yīng)用Diffie-Hellman算法,使用變換的秘密χ’,得到變換的信任密鑰CSTK’。 通過使用變換Τ2和使用變換的密鑰CSM’的AES的白匣子實(shí)施方案,CSTK’以保護(hù)的形式被傳送到設(shè)備1的安全部分S。在那里,通過變換T2和在安全部分S的唯一的密鑰CSM的控制下的解密過程AES而得到CSTK。CSTK可被存儲(chǔ)在安全部分S的存儲(chǔ)器2中。應(yīng)當(dāng)指出,變換函數(shù)T2不一定被應(yīng)用,或變換函數(shù)T2可以是在圖5的實(shí)施例中的平凡函數(shù),由于在密鑰CSUK’下的白匣子加密保證信任密鑰的保護(hù),用于從設(shè)備1的非安全部分NS傳送到設(shè)備1的安全部分S。當(dāng)然,為了有利于變換函數(shù)T2的應(yīng)用,也可以省略白匣子加密。
最后,圖6提供示意圖,其中要從智能卡SC被傳送到設(shè)備1的數(shù)據(jù)(這里是控制字CW)可以直接傳送到設(shè)備1的安全部分S,而不會(huì)在非安全部分NS中以非加密的形式暴露??刂谱忠员旧硪阎姆绞皆谥悄芸⊿C內(nèi)得到。在假設(shè)信任密鑰CSTK已建立和在設(shè)備 1與智能卡SC之間以如上所述的方式商定另外的密鑰CSSK后,控制字CW現(xiàn)在可以在智能卡SC中在另外的密鑰CSSK下被編碼,并以加密的形式被發(fā)送到設(shè)備1,以加密的形式穿過非安全部分Ns,并在安全部分S中通過使用第一解密器Dl被解密,由此得到控制字CW??刂谱諧W被饋送到第二解密器D2,例如安全密碼處理器,接收在控制字CW下被加密的內(nèi)容,以便以本身已知的方式解密被加密的內(nèi)容,并沿呈現(xiàn)設(shè)備的方向轉(zhuǎn)發(fā)被解密的內(nèi)容。為了進(jìn)一步說明在轉(zhuǎn)換與加密之間的差別,在圖7A-7B和8A-8E上顯示示例性變換函數(shù)。所述示例性變換函數(shù)可以在安全部分S和/或智能卡中被用作為硬件固定架,這樣,諸如在密鑰交換協(xié)議中的加密/解密那樣的其它操作可以在設(shè)備的非安全部分/環(huán)境中被實(shí)施。至少部分被固定在安全硬件中的變換的使用可以是有利的,因?yàn)樗鼫p小對于現(xiàn)有的安全硬件的修改量,而同時(shí)白匣子密碼術(shù)方法仍舊提供數(shù)據(jù)的合理的安全性。如圖7A所示的函數(shù)F是在用IN和OUT標(biāo)識(shí)的兩個(gè)不同的變換空間中遷移數(shù)據(jù)Z 的數(shù)學(xué)運(yùn)算。輸出變換空間OUT的尺度至少同輸入變換空間IN—樣大,任何數(shù)據(jù)Z在輸入和輸出變換空間中分別被表示(可能不是唯一的)為X和Y。函數(shù)F被設(shè)計(jì)成使得在相反的方向上很難運(yùn)行。因?yàn)樵谳斎牒洼敵鲎儞Q空間之間不存在明顯的映射以及變換空間IN 和OUT的尺度優(yōu)選地是相當(dāng)大的,所以阻止函數(shù)F的還原。而且,函數(shù)F這樣地實(shí)施以使得很難追蹤數(shù)據(jù)Z,因?yàn)槔缢ㄟ^使用白匣子技術(shù)和/或其它代碼模糊技術(shù)而傳遞函數(shù)。參照圖7A,函數(shù)F例如被定義為Y = F(X) = 3XX+2。如果輸入變換空間IN是純文本變換空間,則X= (Z)IN = Z。在遷移后,得到以下的結(jié)果Y= (Z)°UT = 3XX+2。為了把Z從輸出變換空間再次遷移到純文本變換空間,逆函數(shù)Γ1 (Y) = (Υ_2)/3必須是可提供的,以便如下地得到X F1(Y) = (3XX+2-2)/3 = X。在本例中,Ζ,X和Y是可被使用來通過使用簡單的加法和減法數(shù)學(xué)而進(jìn)行變換的數(shù)。應(yīng)當(dāng)看到,Z,X和Y可以是具有任何數(shù)據(jù)格式的數(shù)據(jù),包括二進(jìn)制數(shù)值、數(shù)、字符、字等等。函數(shù)F可以是更復(fù)雜的函數(shù),它適用于對于例如二進(jìn)制數(shù)值、數(shù)、字符、或字進(jìn)行運(yùn)算。函數(shù)F可被定義為可以用另外的參數(shù)S作為種子的數(shù)學(xué)運(yùn)算,如圖7Β所示。函數(shù) F所執(zhí)行的遷移典型地由種子S定義。典型地,關(guān)于輸入空間IN和輸出空間OUT的信息沒有被嵌入到F。函數(shù)F被選擇成使得輸入數(shù)據(jù)X或種子S的操縱產(chǎn)生在輸出變換空間中的不可預(yù)測的最終的數(shù)據(jù)Y。種子S不需要被安全保護(hù)或被存儲(chǔ)在安全環(huán)境中,因?yàn)榉N子S被這樣地操控,以使得不能提取關(guān)于變換空間IN或OUT的信息。參照圖7B,函數(shù)F例如被定義為F(X,S) = X-7+S。如果輸入變換空間IN是純文本變換空間,則X = (Z) = Ζ。在遷移后,因此得到以下的結(jié)果Y = (Z)0UT = X-7+S = Z-7+S。如果,例如,種子S被提供為包括5的數(shù)值的數(shù)據(jù),則F(X,5) = X-7+5以及Y = (Z) 0UT = X-7+5 = Z-2。為了把Z從輸出變換空間再次遷移到純文本變換空間,逆函數(shù)Γ1 (Y, S) =Y+7-S必須是可提供的,以便如下地得到X F1 (Y,S) = (X-7+5)+7-S。如果知道種子 S = 5,則可以正確地得到 Z 為=F"1 (Y, 5) = (X-7+5) +7-5 = X = Z。如果輸入變換空間IN不是純文本變換空間,則函數(shù)F典型地首先在輸入變換空間IN中執(zhí)行逆變換,接著在輸出變換空間OUT中執(zhí)行變換。這樣的函數(shù)F例如被定義為F(X, S1, S2) = F2 (Fr1 (X, S1), S2),其中 FrHX,S1) = XU1,和 F2 (X,S2) = X_7+S2。在遷移后, 因此得到以下的結(jié)果=Y = (Z)0UT = (X-2-S1)-7+S2 = X-9-Si+S,其中 X = (Ζ) 。種子S1和&可被提供為兩個(gè)獨(dú)立的種子,以便首先執(zhí)行F1-1 (X,S1),并接著執(zhí)行 F2 (X,S2),或更優(yōu)選地,作為種子的復(fù)合物<S1; S2>0通常,種子的復(fù)合物是多種子的混合體。 從多種子的混合體不能得到單獨(dú)的種子。用于混合種子S1和&的參數(shù)混合函數(shù)被表示為 f(Si;S2) =<S1;S2>。函數(shù)結(jié)果<S1;S2>被稱為種子S1*^的復(fù)合物。在以上的例子中,如果S1 = 5和& = 7,則一個(gè)復(fù)合物是<S1; S2> = 5-7 = -2。在以上的例子中,Z,X,Y和S是可被使用來通過使用簡單的加法和減法數(shù)學(xué)而進(jìn)行變換的數(shù)。應(yīng)當(dāng)看到,z,x,Y和S可以是具有任何數(shù)據(jù)格式的數(shù)據(jù),包括二進(jìn)制數(shù)值、數(shù)、 字符、字等等。函數(shù)F可以是更復(fù)雜的函數(shù)以及是適用于對于例如二進(jìn)制數(shù)值、數(shù)、字符、或字進(jìn)行運(yùn)算。模糊技術(shù)典型地使用基本原語或它們的組合來模糊數(shù)據(jù)或軟件代碼變換?;驹Z的例子是施加原語、去除原語和條件原語。圖8Α、圖8Β和圖8C分別顯示施加原語Α、去除原語R和條件原語C的框圖。在圖8Α上,函數(shù)A (Data,S) = As (Data) = DataTs定義施加原語,它通過使用輸入種子S把輸入的Data變換成變換的Datals0在圖8B上,函數(shù)R(DataTs,S) = Rs (Data,= Data定義去除原語,它通過使用種子S對輸入的變換DataTs進(jìn)行逆變換,得到輸出Data。 種子S對于變?yōu)榛ハ嗲竽娴膬蓚€(gè)函數(shù)AO和RO是相同的。原先的Data和它的變換后的變異體DataTs典型地具有相同的尺寸,即,用相同數(shù)目的比特表示,以使得不可能根據(jù)它的尺寸來確定該Data是否處在特定的變換的空間中。在圖8C上,函數(shù)C(DatanData2) =Cllatal(Data2) = Datac定義條件變換,其中輸出 Datac是兩個(gè)輸入Date1和Date2的相關(guān)性。條件原語典型地保留輸入數(shù)據(jù)和輸出數(shù)據(jù)的尺寸,以使得不可能確定該Data是否為相關(guān)性的結(jié)果。原語,諸如施加原語、去除原語和條件原語,可以進(jìn)行組合。所述組合產(chǎn)生新的運(yùn)算,其中單獨(dú)的原語是不可見的。圖8D顯示去除和施加原語的組合的例子。變換運(yùn)算使用復(fù)合物<P,S>作為被施加到輸入DataTp上的組合的去除和施加運(yùn)算的輸入。RpAs函數(shù)把輸入DataTp從輸入變換域 P映射到輸出變換域S,以便得到輸出Datf。組合的去除和施加運(yùn)算的所有的輸入和輸出或者被變換,或者具有復(fù)合物的形式。運(yùn)算被施加到變換的數(shù)據(jù),并產(chǎn)生變換的數(shù)據(jù)。因此, 變換運(yùn)算在變換的域空間中進(jìn)行,它在任何接口上都不揭露單獨(dú)的參數(shù)或未變換的數(shù)據(jù)。 被使用來產(chǎn)生復(fù)合物<P,s>的函數(shù)優(yōu)選地是唯一的,并且與組合的施加和去除運(yùn)算的實(shí)施相聯(lián)系。圖8E顯示對兩個(gè)復(fù)合物〈P,S,Q1)和<DataTp,Q2>進(jìn)行安全的相關(guān)性運(yùn)算的例子。 RpCqAs函數(shù)組合去除、條件和施加原語,由此創(chuàng)建輸出DataCTs。本發(fā)明的一個(gè)實(shí)施例可以被實(shí)施為供計(jì)算機(jī)系統(tǒng)使用的程序產(chǎn)品。程序產(chǎn)品的程序規(guī)定實(shí)施例的函數(shù)(包括這里描述的方法),以及程序可被包含在各種各樣的計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)中。說明性的計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)包括,但不限于(i)非可寫的存儲(chǔ)介質(zhì) (例如,在計(jì)算機(jī)內(nèi)的只讀存儲(chǔ)器設(shè)備,諸如由⑶-ROM驅(qū)動(dòng)器可讀的⑶-ROM盤、ROM芯片或任何類型的固態(tài)非易失性半導(dǎo)體存儲(chǔ)器),信息被永久地存儲(chǔ)在其上;和(ii)可寫入的存儲(chǔ)介質(zhì)(例如,在軟盤驅(qū)動(dòng)器內(nèi)的軟盤或硬盤驅(qū)動(dòng)器或任何類型的固態(tài)隨機(jī)存取半導(dǎo)體存儲(chǔ)器、快閃存儲(chǔ)器),其上存儲(chǔ)可替換的信息。
權(quán)利要求
1.一種電子設(shè)備,被配置成在信任密鑰下與智能卡進(jìn)行加密的數(shù)據(jù)傳送,所述電子設(shè)備包括至少一個(gè)安全部分,其中所述電子設(shè)備被配置成與智能卡執(zhí)行密鑰交換算法,以便建立用于在所述電子設(shè)備與智能卡之間進(jìn)行加密的數(shù)據(jù)傳送的信任密鑰,以及其中所述電子設(shè)備被配置成把信任密鑰存儲(chǔ)在所述電子設(shè)備的安全部分中。
2.按照權(quán)利要求1的電子設(shè)備,其中安全部分被配置成在所述電子設(shè)備中執(zhí)行密鑰交換算法的至少一部分。
3.按照權(quán)利要求1的電子設(shè)備,其中所述電子設(shè)備包括至少一個(gè)非安全部分,其中非安全部分被配置成在所述電子設(shè)備中執(zhí)行密鑰交換算法,以及其中所述電子設(shè)備被配置成把受保護(hù)的信任密鑰從非安全部分傳送到安全部分,其中安全部分被配置成從受保護(hù)的信任密鑰得出要被存儲(chǔ)在安全部分的信任密鑰。
4.按照權(quán)利要求3的電子設(shè)備,其中非安全部分被配置成從智能卡接收用于密鑰交換算法的被變換的輸入,用于執(zhí)行密鑰交換算法和用于通過使用白匣子密碼術(shù)來保護(hù)信任密鑰。
5.按照權(quán)利要求3或4的電子設(shè)備,其中白匣子密碼術(shù)被配置成把來自非安全部分的變換的輸出提供給安全部分,變換的輸出包括變換的信任密鑰,其中所述電子設(shè)備的安全部分包含變換函數(shù),其能夠從變換的信任密鑰得出要被存儲(chǔ)在安全部分中的信任密鑰。
6.按照前述權(quán)利要求的一項(xiàng)或多項(xiàng)的電子設(shè)備,其中所述電子設(shè)備還被配置成與智能卡商定另外的密鑰,所述電子設(shè)備被配置成執(zhí)行以下的至少一項(xiàng)-在安全部分中接收在信任密鑰下被加密的另外的密鑰,并通過使用所存儲(chǔ)的信任密鑰來解密所加密的另外的密鑰,以便在安全部分中得出另外的密鑰;以及-生成另外的密鑰,通過使用所存儲(chǔ)的信任密鑰來加密另外的密鑰,和把加密的另外的密鑰發(fā)送到智能卡。
7.按照前述權(quán)利要求的一項(xiàng)或多項(xiàng)的電子設(shè)備,其中所述電子設(shè)備包括接收加密的內(nèi)容的內(nèi)容接收機(jī),其中安全部分包括-第一解密器,被配置成通過使用被存儲(chǔ)在安全部分中的信任密鑰或權(quán)利要求6的另外的密鑰來解密來自智能卡的加密的數(shù)據(jù);-第二解密器,被配置成通過使用被解密的數(shù)據(jù)來解密所加密的內(nèi)容。
8.一種用于建立在設(shè)備與智能卡之間的信任密鑰的方法,設(shè)備包括安全部分,所述方法包括以下步驟-在設(shè)備與智能卡之間執(zhí)行密鑰交換算法,以便在設(shè)備和智能卡中得到信任密鑰;以及-把信任密鑰存儲(chǔ)在設(shè)備的安全部分中。
9.按照權(quán)利要求8的方法,還包括在設(shè)備的安全部分中執(zhí)行用于設(shè)備的密鑰交換算法的步驟。
10.按照權(quán)利要求8的方法,其中設(shè)備包括非安全部分,所述方法包括以下步驟-在設(shè)備的非安全部分中執(zhí)行用于設(shè)備的密鑰交換算法,以便得到信任密鑰;以及-把信任密鑰以保護(hù)的形式從非安全部分傳送到安全部分。
11.按照權(quán)利要求10的方法,還包括以下步驟-在非安全部分接收來自智能卡的、用于密鑰交換算法的變換的輸入;以及-通過使用白匣子密碼術(shù)保護(hù)信任密鑰。
12.按照權(quán)利要求10或11的方法,還包括以下步驟-把來自非安全部分的變換的輸出提供到安全部分,變換的輸出包括變換的信任密鑰, -在設(shè)備的安全部分中應(yīng)用變換的函數(shù),以便得出要被存儲(chǔ)在安全部分的信任密鑰。
13.按照權(quán)利要求8-12的一項(xiàng)或多項(xiàng)的方法,還包括以下步驟 -把在信任密鑰下被加密的數(shù)據(jù)傳送到設(shè)備的安全部分;-通過使用所存儲(chǔ)的信任密鑰來解密設(shè)備的安全部分中的數(shù)據(jù)。
14.按照權(quán)利要求13的方法,還包括以下步驟 -在智能卡或設(shè)備中生成另外的密鑰;-把另外的密鑰傳送到設(shè)備或在信任密鑰下被加密的智能卡;以及 -在智能卡與在另外的密鑰下被加密的設(shè)備之間傳送數(shù)據(jù)。
15.一種與權(quán)利要求1-7的一項(xiàng)或多項(xiàng)的電子設(shè)備相組合地使用的或在權(quán)利要求8-14 的一項(xiàng)或多項(xiàng)的方法中使用的智能卡。
全文摘要
本發(fā)明涉及用于建立安全信任密鑰的設(shè)備和方法。所述設(shè)備是被配置成用于在信任密鑰下與智能卡進(jìn)行加密的數(shù)據(jù)傳送的電子設(shè)備。設(shè)備包括至少一個(gè)安全部分,其中設(shè)備被配置成與智能卡執(zhí)行密鑰交換算法,以便建立用于在設(shè)備與智能卡之間進(jìn)行加密的數(shù)據(jù)傳送的信任密鑰,以及其中設(shè)備被配置成把信任密鑰存儲(chǔ)在設(shè)備的安全部分中。
文檔編號(hào)H04L9/32GK102164034SQ20111004022
公開日2011年8月24日 申請日期2011年2月18日 優(yōu)先權(quán)日2010年2月19日
發(fā)明者B·V·科廷, R·P·J·胡根鮑姆 申請人:愛迪德有限責(zé)任公司