專利名稱:一種進(jìn)行命令身份驗(yàn)證以獲得安全接口的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體系統(tǒng)中信息的安全,更具體地說,涉及有關(guān)實(shí)現(xiàn)安全接口的命令驗(yàn)證的方法和系統(tǒng)。
背景技術(shù):
在多媒體系統(tǒng)中,例如機(jī)頂盒(STB)中,基板上的多個(gè)芯片互相通信,在確定系統(tǒng)的總體安全性時(shí),要考慮芯片之間的接口的安全性。更具體地,當(dāng)一個(gè)芯片是主設(shè)備以及另一個(gè)設(shè)備是從設(shè)備、且主設(shè)備與從設(shè)備之間的通信發(fā)生在容易被竊聽或者被劫持的媒介如PCI總線時(shí),需要確保從設(shè)備沒有被未授權(quán)設(shè)備控制。這一點(diǎn)非常重要,尤其是當(dāng)主設(shè)備或者主機(jī)設(shè)備負(fù)責(zé)對多媒體系統(tǒng)接收的視頻/音頻數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)條件接入(CA)解密,然后使用本地復(fù)制保護(hù)方法對原始數(shù)據(jù)進(jìn)行加密,最后將重新加密的數(shù)據(jù)傳輸給從設(shè)備的時(shí)候。在這種情況之下,當(dāng)主設(shè)備和從設(shè)備之間的數(shù)據(jù)通信受到損害時(shí),未授權(quán)用戶將能夠恢復(fù)出視頻/音頻數(shù)據(jù)。在這點(diǎn)上,未授權(quán)用戶可能攻擊從設(shè)備來恢復(fù)出已經(jīng)移除CA加密的原始視頻/音頻數(shù)據(jù),而不攻擊安全性更高的主設(shè)備。
例如,在多媒體系統(tǒng)基板的主-從設(shè)備配置中,從設(shè)備的處理能力很有限,可能無法提供完整的軟件層(software layer)。在這些情況之下,主機(jī)設(shè)備通過通用接口(如PCI總線)發(fā)送各種命令來配置從設(shè)備。這樣做會(huì)向未授權(quán)用戶暴露更多的內(nèi)容,因?yàn)閺脑O(shè)備不能區(qū)分命令是從主設(shè)備發(fā)送過來的還是從未授權(quán)的主設(shè)備發(fā)送過來的。在不能做出區(qū)分的情況下,從設(shè)備可能會(huì)被PCI總線上的其他設(shè)備所配置,無論該設(shè)備處于何種授權(quán)狀態(tài)。
身份驗(yàn)證通常是指一種方法,從設(shè)備使用該方法來確定其收到的命令是來自合法或授權(quán)的主機(jī)設(shè)備的??梢宰審脑O(shè)備接收來自單個(gè)授權(quán)設(shè)備的命令。常用的讓從設(shè)備對主設(shè)備進(jìn)行身份驗(yàn)證方法是使用某些公共密鑰/私有密鑰協(xié)議,使用主機(jī)的私有密鑰對主機(jī)命名進(jìn)行簽名,接著由從設(shè)備使用公共密鑰進(jìn)行身份驗(yàn)證。但是,如果沒有公用共享密鑰,這種類型的身份驗(yàn)證可能會(huì)受到例如“中間人”攻擊。在這種攻擊中,同一總線上的設(shè)備能夠向從設(shè)備寫入公共密鑰,該公共密鑰對應(yīng)于未授權(quán)設(shè)備的私有密鑰,從而使未授權(quán)設(shè)備能夠發(fā)出讓從設(shè)備認(rèn)為是“已驗(yàn)證”的命令。這種方法的另一個(gè)問題是公共密鑰/私有密鑰是所有設(shè)備公用的,因此,如果私有密鑰受損,將會(huì)損害到使用這種方案的設(shè)備。
安全性的另一層面包括可用于提供設(shè)備之間的身份驗(yàn)證的共用密鑰(common secret)。在這種方法中,主機(jī)設(shè)備使用共用密鑰對命令進(jìn)行加密,從設(shè)備將它內(nèi)部存儲(chǔ)的共用密鑰和主機(jī)設(shè)備使用的共用密鑰進(jìn)行比較,以確認(rèn)命令來自授權(quán)的源。但是,雖然共用密鑰對幫助保持密鑰交換的細(xì)節(jié)的安全是有用的,但是共用密鑰的泄漏也會(huì)損害設(shè)備。
另一種方法涉及到使用唯一設(shè)備對(unique per device pair)以確保對于任何指定的從設(shè)備都有一個(gè)主設(shè)備,唯一設(shè)備對也就是所知的“配對”(pairing)。在很多STB集成電路(IC)中,內(nèi)部的非易失性存儲(chǔ)器如一次性可編程存儲(chǔ)器(OTP)或者片載安全閃存可用于存儲(chǔ)安全根密鑰(secure rootkey),安全根密鑰對于每個(gè)芯片都是唯一的。通過使用這種方法,可以使用相同的安全根鑰對主機(jī)和從設(shè)備進(jìn)行編程。因此,可以使用派生的安全根鑰的對主機(jī)設(shè)備發(fā)送的命令進(jìn)行加密。因?yàn)橹挥幸粋€(gè)主設(shè)備具有這種密鑰,所以從設(shè)備確信該命令來自合法的源。
但是,“配對”具有邏輯上和/或?qū)嵺`上的局限。大多數(shù)的集成電路制造設(shè)備和安裝設(shè)備很難在制造、確認(rèn)、測試和/或固定到基板階段中追蹤配對的芯片或設(shè)備。此外,不同類型的芯片如主設(shè)備和從設(shè)備,一般是獨(dú)立制造的,為了使用“配對”方案,需要花費(fèi)大量的時(shí)間和費(fèi)用追蹤兩個(gè)獨(dú)立的制造過程和/或源中配對的設(shè)備。
比較本發(fā)明后續(xù)將要結(jié)合附圖介紹的系統(tǒng),現(xiàn)有技術(shù)的其它局限性和弊端對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。
發(fā)明內(nèi)容
本發(fā)明提供一種進(jìn)行命令身份驗(yàn)證以獲得安全接口的方法和系統(tǒng),充分地如下面結(jié)合至少一幅附圖所示和/或所述,以及如權(quán)利要求所述。
本發(fā)明的一方面提供一種在設(shè)備中進(jìn)行安全通信的方法,所述方法包括主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰和至少一個(gè)控制字產(chǎn)生主設(shè)備密鑰,所述主設(shè)備經(jīng)配置僅產(chǎn)生一次所述主設(shè)備密鑰;從設(shè)備基于所述主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰和至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述方法還包括將所產(chǎn)生的從設(shè)備密鑰存儲(chǔ)在通信地與所述從設(shè)備連接的存儲(chǔ)器中。
優(yōu)選地,所述方法還包括在啟動(dòng)后從所述存儲(chǔ)器中讀取所述所存儲(chǔ)的從設(shè)備密鑰。
優(yōu)選地,所述方法包括在所述從設(shè)備中從所讀取的從設(shè)備密鑰中解碼出所述主設(shè)備密鑰,以此來對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述方法還包括禁止所述主設(shè)備產(chǎn)生所述主設(shè)備密鑰。
優(yōu)選地,所述方法還包括基于所述主根密鑰的至少一個(gè)派生值產(chǎn)生所述主設(shè)備密鑰。
優(yōu)選地,所述方法還包括基于所述從根密鑰的至少一個(gè)派生值產(chǎn)生所述從設(shè)備密鑰。
本發(fā)明的另一方面提供一種機(jī)器可讀的存儲(chǔ)器,其中存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序具有至少一段用于在設(shè)備中進(jìn)行安全通信的代碼,所述至少一段代碼可由機(jī)器執(zhí)行并引起所述機(jī)器執(zhí)行以下步驟主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰以及至少一個(gè)控制字產(chǎn)生主設(shè)備密鑰,所述主設(shè)備經(jīng)配置僅產(chǎn)生一次所述主設(shè)備密鑰;從設(shè)備基于所述主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰以及至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述機(jī)器可讀的存儲(chǔ)器還包括用于將所產(chǎn)生的從設(shè)備密鑰存儲(chǔ)在通信地連接到所述從設(shè)備的存儲(chǔ)器中的代碼。
優(yōu)選地,所述機(jī)器可讀的存儲(chǔ)器還包括用于在啟動(dòng)后從所述存儲(chǔ)器中讀取所述所存儲(chǔ)的從設(shè)備密鑰的代碼。
優(yōu)選地,所述機(jī)器可讀的存儲(chǔ)器還包括用于在所述從設(shè)備中從所讀取的從設(shè)備密鑰中解碼出所述主設(shè)備密鑰、以此來對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證的代碼。
優(yōu)選地,所述機(jī)器可讀的存儲(chǔ)器還包括用于禁止所述主設(shè)備產(chǎn)生所述主設(shè)備密鑰的代碼。
優(yōu)選地,所述機(jī)器可讀的存儲(chǔ)器還包括用于基于所述主根密鑰的至少一個(gè)派生值產(chǎn)生所述主設(shè)備密鑰的代碼。
優(yōu)選地,所述機(jī)器可讀的存儲(chǔ)器還包括用于基于所述從根密鑰的至少一個(gè)派生值產(chǎn)生所述從設(shè)備密鑰的代碼。
本發(fā)明的另一方面提供一種在設(shè)備中進(jìn)行安全通信的系統(tǒng),所述系統(tǒng)包括主設(shè)備,所述主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰以及至少一個(gè)控制字產(chǎn)生主設(shè)備密鑰,所述主設(shè)備經(jīng)配置僅產(chǎn)生一次所述主設(shè)備密鑰;從設(shè)備,所述從設(shè)備基于所述主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰以及至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述從設(shè)備將所產(chǎn)生的從設(shè)備密鑰存儲(chǔ)在通信地與所述從設(shè)備連接的存儲(chǔ)器中。
優(yōu)選地,所述從設(shè)備在啟動(dòng)后從所述存儲(chǔ)器中讀取所述所存儲(chǔ)的從設(shè)備密鑰。
優(yōu)選地,所述從設(shè)備在所述從設(shè)備中從所讀取的從設(shè)備密鑰中解碼出所述主設(shè)備密鑰,以此來對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述從設(shè)備禁止所述主設(shè)備產(chǎn)生所述主設(shè)備密鑰。
優(yōu)選地,所述主設(shè)備基于所述主根密鑰的至少一個(gè)派生值產(chǎn)生所述主設(shè)備密鑰。
優(yōu)選地,所述從設(shè)備基于所述從根密鑰的至少一個(gè)派生值產(chǎn)生所述從設(shè)備密鑰。
本發(fā)明的另一方面,提供一種用于集成電路通信的系統(tǒng),所述系統(tǒng)包括安全處理器,所述安全處理器用于將主設(shè)備產(chǎn)生的隨機(jī)數(shù)存儲(chǔ)到所述主設(shè)備和從設(shè)備中,所述從設(shè)備使用所存儲(chǔ)的隨機(jī)數(shù)對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述安全處理器用于為所述主設(shè)備和所述從設(shè)備產(chǎn)生對稱密鑰。
優(yōu)選地,所述安全處理器用于為所述主設(shè)備和所述從設(shè)備產(chǎn)生非對稱密鑰。
本發(fā)明的另一方面提供一種在設(shè)備中進(jìn)行安全通信的系統(tǒng),所述系統(tǒng)包括從設(shè)備,所述從設(shè)備通信地連接到主設(shè)備,所述從設(shè)備基于從所述主設(shè)備接收的主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰和至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰,所述主設(shè)備密鑰由所述主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰以及至少一個(gè)控制字產(chǎn)生,所述主設(shè)備僅僅產(chǎn)生一次所述主設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述從設(shè)備將所產(chǎn)生的從設(shè)備密鑰存儲(chǔ)在通信地與所述從設(shè)備連接的存儲(chǔ)器中。
優(yōu)選地,所述從設(shè)備在啟動(dòng)后從所述存儲(chǔ)器中讀取所述所存儲(chǔ)的從設(shè)備密鑰。
優(yōu)選地,所述從設(shè)備從所讀取的從設(shè)備密鑰中解碼出所述主設(shè)備密鑰,以此來對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證。
優(yōu)選地,所述系統(tǒng)還包括禁止產(chǎn)生所述主設(shè)備密鑰。
優(yōu)選地,所述主設(shè)備基于所述主根密鑰的至少一個(gè)派生值產(chǎn)生所述主設(shè)備密鑰。
優(yōu)選地,所述從設(shè)備基于所述從根密鑰的至少一個(gè)派生值產(chǎn)生所述從設(shè)備密鑰。
從以下的描述和附圖中,可以得到對本發(fā)明的各種優(yōu)點(diǎn)、各個(gè)方面、創(chuàng)新特征、及其實(shí)施例細(xì)節(jié)的更深入的理解。
下面將結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明,附圖中圖1是根據(jù)本發(fā)明的示范多媒體系統(tǒng)的示意圖;圖2是根據(jù)本發(fā)明的使用了動(dòng)態(tài)配對命令身份驗(yàn)證時(shí)產(chǎn)生公共安全密鑰的示范多媒體系統(tǒng)組件的示意圖;圖3是根據(jù)本發(fā)明的使用動(dòng)態(tài)配對命令驗(yàn)證時(shí)產(chǎn)生公共安全密鑰的示范步驟的流程圖;圖4是根據(jù)本發(fā)明的用于解碼公共安全密鑰以使用動(dòng)態(tài)配對命令身份驗(yàn)證的示范多媒體組件的示意圖;圖5是根據(jù)本發(fā)明的使用動(dòng)態(tài)配對命令身份驗(yàn)證時(shí)解碼公共安全密鑰的示范步驟的流程圖;圖6是根據(jù)本發(fā)明的安全處理器使用自動(dòng)OTP密鑰編程時(shí)產(chǎn)生公共安全密鑰的示范步驟的流程圖。
具體實(shí)施例方式
本發(fā)明的一些實(shí)施例涉及對命令進(jìn)行身份驗(yàn)證以獲得安全接口的方法和系統(tǒng)。本發(fā)明的一方面包括多媒體系統(tǒng)中主設(shè)備和從設(shè)備之間的命令身份驗(yàn)證,這種身份驗(yàn)證可通過安全處理器進(jìn)行動(dòng)態(tài)配對或者自動(dòng)一次編程來實(shí)現(xiàn)。在動(dòng)態(tài)配對方案中,主機(jī)基于主根密鑰和主控制字來產(chǎn)生主密鑰,從設(shè)備基于主密鑰、從根密鑰以及從控制字來產(chǎn)生從密鑰。從設(shè)備可存儲(chǔ)和讀取所存儲(chǔ)的從密鑰,以獲得用于驗(yàn)證主設(shè)備命令的主密鑰??山怪髟O(shè)備生成主密鑰,和/或?qū)⒅髅荑€發(fā)往從設(shè)備。在自動(dòng)一次性編程方案中,安全處理器在主設(shè)備和從設(shè)備的一次性可編程(OTP)存儲(chǔ)器中燒入隨機(jī)數(shù),以進(jìn)行命令身份驗(yàn)證。
在本發(fā)明的一個(gè)實(shí)施例中,主設(shè)備和從設(shè)備可以是安裝到單個(gè)芯片的集成電路,例如,該芯片用在機(jī)頂盒(OTP)和/或其他類似的應(yīng)用中。主設(shè)備和從設(shè)備可用于移除進(jìn)站數(shù)據(jù)中的網(wǎng)絡(luò)條件接入(CA)解密,以及使用不同的算法例如本地復(fù)制保護(hù)(CP)方法重新加密這些數(shù)據(jù)。解密/重加密的數(shù)據(jù)可通過PCI內(nèi)存轉(zhuǎn)換/專用串行接口傳輸?shù)綇脑O(shè)備。在一些式實(shí)例中,主設(shè)備和從設(shè)備之間通過PCI總線可使用郵箱命令協(xié)議來發(fā)送命令和/或配置部分從設(shè)備。在這點(diǎn)上,主設(shè)備和從設(shè)備之間的通信要求郵箱通信方案提供安全交換,例如在這種接口上的命令要求加密以及使用針對重放攻擊(replayattack)的一級保護(hù)。從設(shè)備處理這些命令時(shí),能夠驗(yàn)證命令的源的身份以確保主設(shè)備是合法的設(shè)備。主密鑰用于創(chuàng)建命令和/或CP加密/解密的最終會(huì)話密鑰(final session key)。在這點(diǎn)上,可在主設(shè)備和從設(shè)備之間應(yīng)用安全的傳輸主密鑰的方法。此外,為防止惡意設(shè)備分接到或者竊聽公用總線,未授權(quán)設(shè)備不能夠接入到從設(shè)備的內(nèi)部寄存器和/或訪問設(shè)備的私有存儲(chǔ)器如DRAM存儲(chǔ)器來讀取明文形式的中間數(shù)據(jù)。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的示范多媒體系統(tǒng)的示意圖。如圖1所示,多媒體系統(tǒng)100包括至少一個(gè)從設(shè)備102、主設(shè)備104、安全處理器106、總線接口108以及與從設(shè)備102關(guān)聯(lián)的存儲(chǔ)器110。多媒體系統(tǒng)100可用在機(jī)頂盒和/或其他類似的應(yīng)用中??偩€接口108可以是PCI總線接口。從設(shè)備102包括一次性可編程存儲(chǔ)器112。主機(jī)設(shè)備104可包括一次性可編程存儲(chǔ)器114。在一個(gè)示范實(shí)施例中,圖1所示的多媒體系統(tǒng)100包括多個(gè)從設(shè)備1021,…,102k,這多個(gè)從設(shè)備分別與多個(gè)存儲(chǔ)器1101,…,110k以及對應(yīng)的一次性可編程存儲(chǔ)器1121,…,112k關(guān)聯(lián)。例如,主設(shè)備104、從設(shè)備1021,…,102k、安全處理器106和/或存儲(chǔ)器1101,…,110k可使用至少一個(gè)集成電路(IC)來實(shí)現(xiàn)。
主設(shè)備104包括合適的邏輯、電路和/或編碼,能夠控制和/或管理多媒體系統(tǒng)100的操作。例如,主設(shè)備104可用于產(chǎn)生命令并通過總線接口例如總線接口108向多媒體系統(tǒng)100的至少一部分組件發(fā)送命令。在這點(diǎn)上,主設(shè)備104通過在公用總線接口上使用命令身份驗(yàn)證方案,也能夠與多媒體系統(tǒng)100的至少一部分組件,例如從設(shè)備1021,…,102k進(jìn)行安全通信。主設(shè)備104可支持動(dòng)態(tài)配對命令身份驗(yàn)證操作和自動(dòng)OTP密鑰編程命令身份驗(yàn)證操作兩種操作中的任一種,也可同時(shí)支持這兩種操作。主設(shè)備104能夠支持其他的安全操作,例如密鑰交換、防止重放攻擊和/或防止存儲(chǔ)攻擊等。主設(shè)備104的主OTP存儲(chǔ)器114可包括合適的邏輯、電路和/或編碼,能夠存儲(chǔ)用于支持命令身份驗(yàn)證操作的信息。
從設(shè)備1021,…,102k都包括合適的邏輯、電路和/或編碼,能夠處理多媒體系統(tǒng)100的音頻和/或視頻數(shù)據(jù)。從設(shè)備1021,…,102k可接收用于處理音頻和/或視頻數(shù)據(jù)的命令,以及要求保證所接受的命令來自已授權(quán)的源。例如,在接收到來自主設(shè)備104的命令時(shí),從設(shè)備1021,…,102k能夠基于動(dòng)態(tài)配對命令身份驗(yàn)證操作和/或自動(dòng)OTP密鑰編程命令身份驗(yàn)證操作對所接收的命令進(jìn)行身份驗(yàn)證。從設(shè)備1021,…,102k內(nèi)的從OTP存儲(chǔ)器1121,…,112k包括合適的邏輯、電路和/或編碼,能夠存儲(chǔ)用于支持命令身份驗(yàn)證操作的信息。
存儲(chǔ)器1101,…,110k包括合適的邏輯、電路和/或編碼,能夠存儲(chǔ)與從設(shè)備1021,…,102k執(zhí)行的操作有關(guān)的數(shù)據(jù)。例如,對應(yīng)命令身份驗(yàn)證操作,存儲(chǔ)器1101,…,110k用于存儲(chǔ)數(shù)據(jù),例如編碼密鑰和/或解碼密鑰,所存儲(chǔ)的數(shù)據(jù)是驗(yàn)證從設(shè)備1021,…,102k所接收的命令是來自授權(quán)設(shè)備如主設(shè)備104所必需的。在一些實(shí)施例中,存儲(chǔ)器1101,…,110k可以是單個(gè)存儲(chǔ)設(shè)備或者多個(gè)存儲(chǔ)設(shè)備的一部分,例如FLASH存儲(chǔ)器。
安全處理器106包括合適的邏輯、電路和/或編碼,能夠?yàn)槎嗝襟w系統(tǒng)100提供安全操作。例如,安全處理器106支持命令身份驗(yàn)證操作以防止未授權(quán)源訪問從設(shè)備1021,…,102k處理的數(shù)據(jù)以及執(zhí)行的操作。在這點(diǎn)上,安全處理器106支持從設(shè)備1021,…,102k中的動(dòng)態(tài)配對命令身份驗(yàn)證操作和/或自動(dòng)OTP密鑰可編程命令身份驗(yàn)證操作。安全處理器106也支持控制數(shù)據(jù)和/或命令訪問多媒體系統(tǒng)100中的至少一部分組件的安全操作。
圖2是根據(jù)本發(fā)明的產(chǎn)生公共安全密鑰的示范多媒體系統(tǒng)組件的示意圖,其中使用了動(dòng)態(tài)配對命令身份驗(yàn)證。參考圖2,圖中示出了主設(shè)備104、從設(shè)備1021及與其關(guān)聯(lián)的存儲(chǔ)器1101。主設(shè)備104包括主OTP根密鑰(OTPhost)201,OTP根密鑰可存儲(chǔ)例如在圖1所示的主OTP存儲(chǔ)器114中。主設(shè)備104也使用多個(gè)主控制字HCW1,…,HCWN,以及多個(gè)編碼器2021,…,202N。多個(gè)編碼器2021,…,202N包括合適的邏輯、電路和/或代碼,能夠進(jìn)行加密操作以實(shí)現(xiàn)密鑰階梯(key ladder),例如遞歸方式操作的密碼,例如,使用密碼階梯和主OTP根密鑰201的派生值對用戶專用的主控制字進(jìn)行多重加密,以產(chǎn)生最終派生值或者主密鑰Khost。主設(shè)備104能夠接收最少一個(gè)促進(jìn)主密鑰的產(chǎn)生的信號,例如,基于存儲(chǔ)在主設(shè)備104的主OTP根密鑰201產(chǎn)生主密鑰。主設(shè)備104也接收至少一個(gè)信號以將主密鑰Khost傳遞給從設(shè)備102。
從設(shè)備1021包括從OTP根密鑰(OTPslave)203,OTP根密鑰203可存儲(chǔ)在從OTP存儲(chǔ)器1121中,如在圖1中所述。從設(shè)備1021也使用多個(gè)從控制字SCW1,…,SCWN-1,以及多個(gè)編碼器2041,…,204N。所述多個(gè)編碼器2041,…,204N包括合適的邏輯、電路和/或編碼,使用密鑰階梯例如遞歸方式操作的密碼,例如,密碼階梯和主OTP根密鑰201的派生值對用戶專用的從控制字以及主密鑰Khost進(jìn)行多重加密,以產(chǎn)生最終派生值或者從密鑰Khostslave。從設(shè)備102a能夠接收最少一個(gè)促進(jìn)從密鑰的產(chǎn)生的信號,例如,基于存儲(chǔ)在從設(shè)備1021的從OTP根密鑰203以及傳過來的主密鑰Khost產(chǎn)生從密鑰。從設(shè)備1021也接收至少一個(gè)出盡將將從密鑰Khostslave傳遞給存儲(chǔ)器1101以進(jìn)行存儲(chǔ)。存儲(chǔ)器1101包括用于存儲(chǔ)由從設(shè)備1021產(chǎn)生的從密鑰Khostslave的組件206。除了圖2所示的情況之外,動(dòng)態(tài)配對也可以在主設(shè)備104和多個(gè)一個(gè)從設(shè)備1021,…,102k之間實(shí)施。
主設(shè)備104和/或從設(shè)備1021使用的密鑰階梯允許OTP加密用戶專用數(shù)據(jù)例如控制字,加密的用戶專用數(shù)據(jù)反過來又用作下一級加密操作的密鑰。在這點(diǎn)上,密鑰階梯具有多于一次的加密級,以允許最終密鑰與OTP根密鑰具有適當(dāng)?shù)碾[秘距離(crypto-distance)。此外,密鑰階梯允許最終級抵達(dá)可讀寄存器/存儲(chǔ)器,讓軟件能夠訪問最終派生密鑰。
圖3是根據(jù)本發(fā)明的使用動(dòng)態(tài)配對命令驗(yàn)證時(shí)產(chǎn)生公共安全密鑰的示范步驟的流程圖。參考圖3,圖中示出了流程圖300。開始步驟302之后,在步驟304中,當(dāng)與主設(shè)備104和從設(shè)備1021,…,102k對應(yīng)的集成電路已經(jīng)安裝到電路板上后,在制造、組裝和/或測試過程中,將專用的命令或者信號傳輸?shù)街髟O(shè)備104,該信號有助于加快產(chǎn)生和/或傳輸主密鑰Khost到從設(shè)備1021,…,102k中的至少一個(gè)。在步驟306中,專用命令或者信號使主設(shè)備104通過使用存儲(chǔ)在主設(shè)備104的主控制字產(chǎn)生主OTP根密鑰201的多代派生值,OTPhost。例如,通過使用主控制字HCW1,…,HCWN可產(chǎn)生OTPhost的N個(gè)派生值??苫谙旅娴谋磉_(dá)式產(chǎn)生最終派生值或者主密鑰KhostKhost=F(OTPhost,HCW1,HCW2,…,HCWN)其中,函數(shù)F()對應(yīng)于使用編碼器2021,…,202N實(shí)現(xiàn)的遞歸密碼階梯。
步驟308中,將最終派生值或者主密鑰Khost發(fā)送到主設(shè)備104中的可讀寄存器/存儲(chǔ)器,以及可發(fā)送到從設(shè)備1021,...,102K中的至少一個(gè)。步驟310中,產(chǎn)生至少一個(gè)命令以禁止主設(shè)備104再次產(chǎn)生主密鑰Khost,以及禁止主設(shè)備404將主密鑰Khost傳遞給從設(shè)備1021,...,102K。步驟312中,產(chǎn)生至少一個(gè)命令或者信號,指示至少一個(gè)從設(shè)備1021,...,102K基于存儲(chǔ)在從OTP存儲(chǔ)器的從OTP根密鑰203 OTPslave產(chǎn)生對應(yīng)的從密鑰Khostslave。在這點(diǎn)上,使用從控制字SCW1,...,SCWN-1產(chǎn)生OTPslave的N-1個(gè)派生值。從控制字可以與主控制字不同。步驟314中,從設(shè)備在最終級的加密中,基于主密鑰Khost產(chǎn)生最終派生值或者從密鑰Khostslave。最終派生值或者從密鑰Khostslave,可根據(jù)下面的表達(dá)式來產(chǎn)生Khostslave=F(OTPslave,SCW1,SCW2,...,SCWN-1,Khost)其中,函數(shù)F()對應(yīng)于使用編碼器2041,...,204N實(shí)現(xiàn)的遞歸密鑰階梯。步驟316中,從密鑰Khostslave可寫入到對應(yīng)的存儲(chǔ)器例如存儲(chǔ)器1101,...,110K,例如存儲(chǔ)器1101,...,110K可以是閃存。步驟316之后,流程進(jìn)入結(jié)束步驟318。
將主密鑰Khost傳遞給從設(shè)備可能不是很安全的,因?yàn)樗赡軙?huì)暴露根密鑰。但是,通過步驟310所述禁用主設(shè)備104,可以在制造、組裝和/或測試時(shí)只傳遞一次主密鑰Khost。在這點(diǎn)上,命令或者信號通過禁止或者設(shè)置主OTP存儲(chǔ)器114中的至少一個(gè)OTP位,來禁止產(chǎn)生和/或傳輸根密鑰Khost。這樣,存儲(chǔ)器中的從密鑰Khostslave的值將不會(huì)被攻擊者或者未授權(quán)用戶更改,因?yàn)榈竭@些從設(shè)備1021,...,102K的命令沒有通過身份驗(yàn)證。
圖4是根據(jù)本發(fā)明的用于解碼公共安全密鑰以使用動(dòng)態(tài)配對命令身份驗(yàn)證的示范多媒體組件的示意圖。參考圖4,圖4所示的是如圖2所示的從設(shè)備1021和存儲(chǔ)器1101。從設(shè)備1021包括如圖1所示的從OTP存儲(chǔ)器1121,以及包括多個(gè)編碼器2041,...,204N-1。從設(shè)備1021包括解碼器402,解碼器402包括合適的邏輯、電路和/或編碼,可用于實(shí)現(xiàn)密鑰階梯(key ladder)如遞歸方式操作的密碼,該密鑰階梯可用與從OTP根密鑰203的派生值一起,基于存儲(chǔ)在存儲(chǔ)器1101的一部分206中的從密鑰Khostslave對主密鑰Khost進(jìn)行解密和解碼。解碼的主密鑰Khost可用于解密和驗(yàn)證從設(shè)備1021所接收的主命令。除了圖4所述的情況之外,還可在多于一個(gè)的從設(shè)備1021,…,102k中對使用在動(dòng)態(tài)配對身份驗(yàn)證操作過程中的公共安全密鑰進(jìn)行解碼。
圖5是根據(jù)本發(fā)明的使用動(dòng)態(tài)配對命令身份驗(yàn)證時(shí)解碼公共安全密鑰的示范步驟的流程圖。參考圖5,圖中示出了流程圖500。開始步驟502之后,在步驟504中,當(dāng)多媒體系統(tǒng)100啟動(dòng)后,從設(shè)備例如從設(shè)備1021從對應(yīng)的存儲(chǔ)器讀取從密鑰Khostslave,例如,所述存儲(chǔ)器可以是閃存。步驟506中,從設(shè)備接著在最終級的遞歸密鑰階梯中,通過對從密鑰Khostslave進(jìn)行解碼操作,使用隱蔽常數(shù)(hidden constant)例如從控制字SCW1,SCW2,…,SCWN-1來獲得主密鑰Khost。步驟508中,對來自主設(shè)備例如主設(shè)備104的命令進(jìn)行身份驗(yàn)證,因?yàn)橹髟O(shè)備和從設(shè)備都知道主密鑰Khost,且如圖3-4所述主密鑰Khost是在制造、組裝和/或測試多媒體系統(tǒng)100時(shí)傳輸?shù)綇脑O(shè)備的,所以主密鑰Khost沒有暴露。
圖6是根據(jù)本發(fā)明的安全處理器使用自動(dòng)OTP密鑰編程時(shí)產(chǎn)生公共安全密鑰的示范步驟的流程圖。參考圖6,圖中示出了流程圖600,其對應(yīng)于不要求實(shí)地追蹤零部件的配對方案,這種方案通過安全處理器自動(dòng)燒入對稱OTP密鑰。開始步驟602之后,在步驟604中,圖1所示的主設(shè)備104在制造、組裝和/或測試至少一部分多媒體系統(tǒng)100中,產(chǎn)生隨機(jī)數(shù)。在這點(diǎn)上,產(chǎn)生至少一個(gè)命令或者信號,該命令或者信號用作一個(gè)指示,通知主設(shè)備104產(chǎn)生隨機(jī)數(shù)。
步驟606中,將所產(chǎn)生的隨機(jī)數(shù)傳遞給至少一個(gè)從設(shè)備,例如多媒體系統(tǒng)100中的從設(shè)備1021,…,102k,所述從設(shè)備可通信地連接到主設(shè)備104,例如通過圖1所示的總線接口108。在這點(diǎn)上,產(chǎn)生至少一個(gè)命令或者信號來指示從設(shè)備104將隨機(jī)號傳輸或者傳遞給從設(shè)備。步驟608中,安全處理器用于將所產(chǎn)生的隨機(jī)數(shù)燒入到或者編程到每個(gè)設(shè)備的OTP存儲(chǔ)器中的指定的OTP字段中。例如,所述安全處理器可以是圖1所示的安全處理器106,其可通信地連接到主設(shè)備104以及通過總線接口108連接到至少一個(gè)從設(shè)備。在這點(diǎn)上,隨機(jī)數(shù)用作公用安全密鑰,或者用于產(chǎn)生公用安全密鑰已進(jìn)行身份驗(yàn)證操作。
步驟610中,主設(shè)備104能夠使用所產(chǎn)生隨機(jī)數(shù)的至少一個(gè)派生值加密將要傳輸?shù)皆O(shè)備1021,…,102k的命令。在這點(diǎn)上,用于進(jìn)行命令身份驗(yàn)證的自動(dòng)OTP密鑰編程法是安全的,因?yàn)閮蓚€(gè)密鑰都已經(jīng)編程到設(shè)備中,不需要進(jìn)行密鑰交換來獲得根密鑰。此外,也可以基于這種方法產(chǎn)生更低級別的密鑰。
除了圖6所示的實(shí)施例之外,在將安全處理器應(yīng)用于產(chǎn)生非對稱密鑰對時(shí),自動(dòng)OTP密鑰編程方法也可應(yīng)用于非對稱OTP密鑰中。
相應(yīng)地,本發(fā)明可以通過硬件、軟件,或者軟、硬件結(jié)合來實(shí)現(xiàn)。本發(fā)明可以在至少一個(gè)計(jì)算機(jī)系統(tǒng)中以集中方式實(shí)現(xiàn),或者由分布在幾個(gè)互連的計(jì)算機(jī)系統(tǒng)中的不同部分以分散方式實(shí)現(xiàn)。任何可以實(shí)現(xiàn)所述方法的計(jì)算機(jī)系統(tǒng)或其它設(shè)備都是可適用的。常用軟硬件的結(jié)合可以是安裝有計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),通過安裝和執(zhí)行所述程序控制計(jì)算機(jī)系統(tǒng),使其按所述方法運(yùn)行。在計(jì)算機(jī)系統(tǒng)中,利用處理器和存儲(chǔ)單元來實(shí)現(xiàn)所述方法。
本發(fā)明還可以通過計(jì)算機(jī)程序產(chǎn)品進(jìn)行實(shí)施,所述程序包含能夠?qū)崿F(xiàn)本發(fā)明方法的全部特征,當(dāng)其安裝到計(jì)算機(jī)系統(tǒng)中時(shí),通過運(yùn)行,可以實(shí)現(xiàn)本發(fā)明的方法。本文件中的計(jì)算機(jī)程序所指的是可以采用任何程序語言、代碼或符號編寫的一組指令的任何表達(dá)式,該指令組使系統(tǒng)具有信息處理能力,以直接實(shí)現(xiàn)特定功能,或在進(jìn)行下述一個(gè)或兩個(gè)步驟之后實(shí)現(xiàn)特定功能a)轉(zhuǎn)換成其它語言、編碼或符號;b)以不同的格式再現(xiàn)。
本發(fā)明是通過幾個(gè)具體實(shí)施例進(jìn)行說明的,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,在不脫離本發(fā)明范圍的情況下,還可以對本發(fā)明進(jìn)行各種變換及等同替代。另外,針對特定情形或具體情況,可以對本發(fā)明做各種修改,而不脫離本發(fā)明的范圍。因此,本發(fā)明不局限于所公開的具體實(shí)施例,而應(yīng)當(dāng)包括落入本發(fā)明權(quán)利要求范圍內(nèi)的全部實(shí)施方式。
權(quán)利要求
1.一種在設(shè)備中進(jìn)行安全通信的方法,其特征在于,所述方法包括主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰和至少一個(gè)控制字產(chǎn)生主設(shè)備密鑰,所述主設(shè)備經(jīng)配置僅產(chǎn)生一次所述主設(shè)備密鑰;從設(shè)備基于所述主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰和至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括將所產(chǎn)生的從設(shè)備密鑰存儲(chǔ)在通信地與所述從設(shè)備連接的存儲(chǔ)器中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括在啟動(dòng)后從所述存儲(chǔ)器中讀取所述所存儲(chǔ)的從設(shè)備密鑰。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法包括在所述從設(shè)備中從所讀取的從設(shè)備密鑰中解碼出所述主設(shè)備密鑰,以此來對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括禁止所述主設(shè)備產(chǎn)生所述主設(shè)備密鑰。
6.一種機(jī)器可讀的存儲(chǔ)器,其中存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序具有至少一段用于在設(shè)備中進(jìn)行安全通信的代碼,所述至少一段代碼可由機(jī)器執(zhí)行并引起所述機(jī)器執(zhí)行以下步驟主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰以及至少一個(gè)控制字產(chǎn)生主設(shè)備密鑰,所述主設(shè)備經(jīng)配置僅產(chǎn)生一次所述主設(shè)備密鑰;從設(shè)備基于所述主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰以及至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
7.一種在設(shè)備中進(jìn)行安全通信的系統(tǒng),其特征在于,所述系統(tǒng)包括主設(shè)備,所述主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰以及至少一個(gè)控制字產(chǎn)生主設(shè)備密鑰,所述主設(shè)備經(jīng)配置僅產(chǎn)生一次所述主設(shè)備密鑰;從設(shè)備,所述從設(shè)備基于所述主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰以及至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述從設(shè)備將所產(chǎn)生的從設(shè)備密鑰存儲(chǔ)在通信地與所述從設(shè)備連接的存儲(chǔ)器中。
9.一種用于集成電路通信的系統(tǒng),其特征在于,所述系統(tǒng)包括安全處理器,所述安全處理器用于將主設(shè)備產(chǎn)生的隨機(jī)數(shù)存儲(chǔ)到所述主設(shè)備和從設(shè)備中,所述從設(shè)備使用所存儲(chǔ)的隨機(jī)數(shù)對來自所述主設(shè)備的命令進(jìn)行身份驗(yàn)證。
10.一種在設(shè)備中進(jìn)行安全通信的系統(tǒng),其特征在于,所述系統(tǒng)包括從設(shè)備,所述從設(shè)備通信地連接到主設(shè)備,所述從設(shè)備基于從所述主設(shè)備接收的主設(shè)備密鑰、存儲(chǔ)在所述從設(shè)備內(nèi)的從根密鑰和至少一個(gè)控制字產(chǎn)生從設(shè)備密鑰,所述主設(shè)備密鑰由所述主設(shè)備基于存儲(chǔ)在所述主設(shè)備內(nèi)的主根密鑰以及至少一個(gè)控制字產(chǎn)生,所述主設(shè)備僅僅產(chǎn)生一次所述主設(shè)備密鑰;以及所述從設(shè)備使用所產(chǎn)生的從設(shè)備密鑰對從所述主設(shè)備接收的命令進(jìn)行身份驗(yàn)證。
全文摘要
本發(fā)明提供一種進(jìn)行命令身份驗(yàn)證以獲得安全接口的方法和系統(tǒng)??赏ㄟ^動(dòng)態(tài)配對或者使用安全處理器進(jìn)行自動(dòng)一次性編程來實(shí)現(xiàn)多媒體系統(tǒng)中主設(shè)備和從設(shè)備之間的命令身份驗(yàn)證。在動(dòng)態(tài)配對方案中,主機(jī)基于主機(jī)根密鑰以及主機(jī)控制字產(chǎn)生主密鑰,從設(shè)備基于主密鑰、從根鑰以及從控制字產(chǎn)生從密鑰。從設(shè)備可存儲(chǔ)從密鑰并隨后讀取所存儲(chǔ)的從密鑰,以進(jìn)行命令身份驗(yàn)證。主機(jī)將被禁止產(chǎn)生主密鑰和/或不能將主密鑰傳輸給從設(shè)備。在自動(dòng)一次性編程方案中,安全處理器將隨機(jī)數(shù)燒入到主設(shè)備和從設(shè)備中的一次性可編程存儲(chǔ)器中,已進(jìn)行命令身份驗(yàn)證。
文檔編號H04N7/16GK101072104SQ20071010295
公開日2007年11月14日 申請日期2007年4月29日 優(yōu)先權(quán)日2006年5月9日
發(fā)明者斯蒂芬·羅杰斯, 陳雪敏 申請人:美國博通公司