專利名稱:在通信系統(tǒng)中處理數(shù)據(jù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及安全通信系統(tǒng),更具體地說,涉及用于片上系統(tǒng)(SoC) 安全認(rèn)證的方法和裝置。
背景技術(shù):
工業(yè)標(biāo)準(zhǔn)為數(shù)字電視或DVD內(nèi)容的傳送提供了必需的協(xié)議和基礎(chǔ)設(shè)施。 這些數(shù)字電視或DVD內(nèi)容可包括音頻、視頻、和數(shù)據(jù)信號??刹捎脤拵ЬW(wǎng)絡(luò)、 前端設(shè)備和終端設(shè)備(如機(jī)頂盒,STB)以及媒體設(shè)備(如DVD)中的多種 功能和操作對這些數(shù)據(jù)流進(jìn)行處理。例如,這些功能和操作可包括設(shè)備的敏 感區(qū)的接入(如掃描接入、系統(tǒng)總線和系統(tǒng)接口)并且這些功能和操作可從 某種安全形式或用戶認(rèn)證機(jī)制中獲益。
密碼是最常用的認(rèn)證機(jī)制。其利用用戶具有的信息。用戶提供密碼并由 安全系統(tǒng)對該密碼進(jìn)行認(rèn)證。如果經(jīng)認(rèn)證該密碼是與用戶有關(guān)的,該用戶的 身份通過認(rèn)證。如果不是,那么該密碼將被拒絕并且該認(rèn)證失敗。
密碼具有一個根本性的問題,即其可用于多個設(shè)備。如果非授權(quán)用戶發(fā) 現(xiàn)一個設(shè)備的密碼,那么這個密碼可用于進(jìn)入由同一密碼認(rèn)證的其它設(shè)備。 在這種情況下,設(shè)備(如STB)不能區(qū)別非授權(quán)的用戶和合法用戶。
對于許多的應(yīng)用(如安全下載操作),非授權(quán)用戶可在操作過程中發(fā)現(xiàn)密 碼,進(jìn)而將該密碼用于在同一類型的下一操作中得以進(jìn)入。
為了確保安全通信,需要在待傳送數(shù)據(jù)流傳送到設(shè)備(如機(jī)頂盒)的過 程中對其進(jìn)行保護(hù)。 一旦接收到該傳送的數(shù)據(jù)流,STB中的一個或多個設(shè)備 需要為該數(shù)據(jù)流提供安全接入。
比較本發(fā)明后續(xù)將要結(jié)合附圖介紹的系統(tǒng),現(xiàn)有技術(shù)的其它局限性和弊 端對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。
發(fā)明內(nèi)容
本發(fā)明提供了一種片上系統(tǒng)(SoC)安全認(rèn)證的方法和裝置,結(jié)合至少一 幅附圖進(jìn)行了充分的展現(xiàn)和描述,并在權(quán)利要求中得到了更完整的闡述。
根據(jù)本發(fā)明的一個方面,提供了一種在通信系統(tǒng)中處理數(shù)據(jù)的方法,該
方法包括使用對每個芯片和每次詢問來說獨(dú)一無二的密碼,來認(rèn)證向一個 或多個由芯片控制的安全功能的接入。
優(yōu)選地,所述方法包括在所述芯片中生成所述對每個芯片和每次詢問來 說獨(dú)一無二的密碼。
優(yōu)選地,所述方法包括在所述芯片中,由隨機(jī)數(shù)生成器(RNG)生成隨 機(jī)數(shù)采樣值。
優(yōu)選地,所述方法包括將所述生成的隨機(jī)數(shù)采樣值存儲到以下中的一個
或多個片上存儲器和片外存儲器。
優(yōu)選地,所述方法包括在所述芯片上存儲加密詞,其中所述加密詞不能 被外部實(shí)體獲得。
優(yōu)選地,所述方法包括在所述芯片上存儲以下中的一個或多個對所述 芯片來說獨(dú)一無二的芯片ID和密匙表,其中所述密匙表包括密匙和對應(yīng)的密 匙索引。
優(yōu)選地,所述方法包括將下列信息中的兩個或多個傳送到哈希函數(shù)所 述加密詞、所述生成的隨機(jī)數(shù)采樣值、和來自所述密匙表的所述密匙。
優(yōu)選地,所述方法包括在所述芯片內(nèi)從所述哈希函數(shù)生成密碼。
優(yōu)選地,所述方法包括向試圖接入的外部實(shí)體問詢,以響應(yīng)可與所述哈 希函數(shù)生成的所述密碼相匹配的密碼。
優(yōu)選地,所述方法包括在寄存器中存儲下列信息中的兩個或多個所述 隨機(jī)數(shù)采樣值、對每個芯片來說獨(dú)一無二的所述芯片ID和所述密匙索引。
優(yōu)選地,所述方法包括將所述寄存器中的內(nèi)容發(fā)送到所述試圖接入的外 部實(shí)體。
優(yōu)選地,授權(quán)的外部存儲器具有關(guān)于所述芯片ID、所述加密詞、具有對應(yīng)的密匙索引的所述密匙表和哈希函數(shù)的消息。
優(yōu)選地,所述方法包括將所述試圖接入的外部實(shí)體生成的響應(yīng)和所述哈 希函數(shù)生成的密碼進(jìn)行比較。
優(yōu)選地,所述方法包括基于所述比較,授權(quán)所述外部實(shí)體接入所述一個 和多個安全功能。
優(yōu)選地,所述方法包括在所述芯片中,使用安全加密算法生成加密詞, 其中,基于所述加密詞生成所述密碼。
根據(jù)本發(fā)明的一個方面,提供了一種在通信系統(tǒng)中處理數(shù)據(jù)的系統(tǒng),該 系統(tǒng)包括 一個或多個電路,用于使用對每個芯片和每次詢問來說獨(dú)一無二 的密碼來認(rèn)證向 一個或多個由芯片控制的安全功能的接入。
優(yōu)選地,所述一個或多個電路在所述芯片中生成所述對每個芯片和每次 詢問來說獨(dú)一無二的密碼。
優(yōu)選地,所述一個或多個電路在所述芯片中生成隨機(jī)數(shù)采樣值。
優(yōu)選地,所述一個或多個電路包括片上存儲器和/或片外存儲器,用于存 儲生成的隨機(jī)數(shù)采樣值。
優(yōu)選地,所述一個或多個電路用于存儲加密詞,且所述加密詞不能被外 部實(shí)體獲得。
優(yōu)選地,所述一個或多個電路用于存儲一個或多個芯片ID和密匙表,其 中所述密匙表包括密匙和對應(yīng)的密匙索引。
優(yōu)選地,所述一個或多個電路用于將下列信息中的兩個或多個傳送到所 述哈希函數(shù)所述加密詞、所述生成的隨機(jī)數(shù)采樣值、和來自所述密匙表的 所述密匙。
優(yōu)選地,所述一個或多個電路在所述芯片內(nèi)從所述哈希函數(shù)生成所述密碼。
優(yōu)選地,所述一個或多個電路向試圖接入的外部實(shí)體問詢,以響應(yīng)可與 所述哈希函數(shù)生成的所述密碼相匹配的密碼。
優(yōu)選地,所述一個或多個電路包括寄存器,用于存儲下列信息中的兩個 或多個所述生成的隨機(jī)數(shù)采樣值、對每個芯片來說獨(dú)一無二的所述芯片ID和所述密匙索引。
優(yōu)選地,所述一個或多個電路用于將所述寄存器中的內(nèi)容發(fā)送到所述試 圖接入的外部實(shí)體。
優(yōu)選地,授權(quán)的外部存儲器具有關(guān)于所述芯片ID、所述加密詞、具有對 應(yīng)的密匙索引的所述密匙表和哈希函數(shù)的消息。
優(yōu)選地,所述一個或多個電路將所述試圖接入的外部實(shí)體生成的響應(yīng)和 所述哈希函數(shù)生成的密碼進(jìn)行比較。
優(yōu)選地,所述一個或多個電路基于所述比較,授權(quán)所述外部實(shí)體接入所 述一個和多個安全功能。
優(yōu)選地,所述一個或多個電路在所述芯片中,使用安全加密算法生成加 密詞,其中,基于所述加密詞生成所述密碼。
本發(fā)明的各種優(yōu)點(diǎn)、各個方面和創(chuàng)新特征,以及其中所示例的實(shí)施例的細(xì) 節(jié),將在以下的描述和附圖中進(jìn)行詳細(xì)介紹。
圖1A是根據(jù)本發(fā)明實(shí)施例的可用于密碼認(rèn)證的具有內(nèi)部可擦重寫存儲器 的片上系統(tǒng)的典型框圖1B是根據(jù)本發(fā)明實(shí)施例的可用于密碼認(rèn)證處理的具有外部可擦重寫存 儲器的片上系統(tǒng)的典型框圖2是根據(jù)本發(fā)明實(shí)施例的用于生成認(rèn)證處理密碼的片上系統(tǒng)的外部實(shí)體 的典型框圖3A是根據(jù)本發(fā)明實(shí)施例的片上系統(tǒng)中的認(rèn)證處理的一部分的典型流程
圖3B是根據(jù)本發(fā)明實(shí)施例的片上系統(tǒng)的外部實(shí)體中的認(rèn)證處理的一部分 的典型流程圖3C是根據(jù)本發(fā)明實(shí)施例的片上系統(tǒng)中的認(rèn)證處理的一部分的典型流程圖。
具體實(shí)施例方式
本發(fā)明的各個方面涉及用于片上系統(tǒng)(SoC)的安全認(rèn)證的方法和裝置。
本發(fā)明的各個方面可包括可用于對試圖獲得某個功能或進(jìn)入某個系統(tǒng)的外部
實(shí)體進(jìn)行認(rèn)證的SoC。在認(rèn)證嘗試之前,該SoC和獲得授權(quán)的外部實(shí)體分別 可具有隱藏?cái)?shù)據(jù)的信息,并可在該認(rèn)證過程中進(jìn)行數(shù)據(jù)傳送。使用相同的數(shù) 據(jù),SoC和外部實(shí)體能生成相同的密碼并獲得系統(tǒng)接入??刹捎脙煞N方式使 得密碼獨(dú)一無二,例如對每個操作和每個SoC設(shè)備來說獨(dú)一無二。 SoC上的 隨機(jī)數(shù)生成器(RNG)可使得密碼隨著每個認(rèn)證過程的重復(fù)而改變。SoC的 每個實(shí)例具有其自身的加密詞(secret word)使得每個設(shè)備的密碼都是獨(dú)一無 二的。
圖1A是根據(jù)本發(fā)明實(shí)施例的可用于密碼認(rèn)證操作的具有內(nèi)部可擦重寫存 儲器的片上系統(tǒng)的典型框圖。參照圖1A,示出了SoC 100,所述SoC 100包 括問詢寄存器(challenge register) 102、隨機(jī)數(shù)生成器(RNG) 104、多個本 地存儲單元108、 110、本地可擦重寫存儲器106、加密單元112和數(shù)字比較 器單元114。圖中還示出了 SoC100的邊界。
問詢寄存器102可包括用于存儲RNG 104生成的隨機(jī)數(shù)采樣值的合適存儲 器、芯片ID和密匙表索引。問詢寄存器102可包括合適的邏輯、電路和/或代 碼,用于在SoC和外部實(shí)體(圖2, 200)間交換信息(請求認(rèn)證)。該問詢 寄存器102與RNG 104、存儲器108和110通信連接。
RNG 104可與問詢寄存器102和本地可擦重寫存儲器106通信連接。RNG 104可包括合適的邏輯、電路和/或代碼,用于生成隨機(jī)數(shù)采樣值。
存儲器108可包括用于存儲芯片ID和加密詞的內(nèi)部存儲器。存儲器108 可實(shí)現(xiàn)加密詞的加密存儲??墒褂眯酒琁D和安全加密算法生成加密詞。存儲 器108中的安全存儲器可與加密單元112通信連接并與其它外部實(shí)體解除連 接。存儲器108可用于存儲芯片ID,并可與問詢寄存器102通信連接。存儲 器108可采用任何類型的存儲技術(shù),如PROM、 FLASH和EEPROM。
本地可擦重寫存儲器106可包括用于存儲隨機(jī)數(shù)生成器104的輸出的存儲 器。該本地可擦重寫存儲器106可采用任何類型的存儲技術(shù),如FLASH和EEPROM。該本地可擦重寫存儲器106可與RNG 104和加密單元112通信連 接。
存儲器110可包括合適的邏輯、電路和/或代碼,用于存儲密匙表和相關(guān)密 匙索引。該存儲器110可用于向加密單元112以及問詢寄存器102傳送數(shù)據(jù)。
加密單元112可包括合適的邏輯、電路和/或代碼,用于根據(jù)多個輸入數(shù)據(jù) 生成密碼。根據(jù)本發(fā)明的一個方面,加密單元112可用于加密來自多個數(shù)據(jù) 源的數(shù)據(jù)以生成密碼,這些數(shù)據(jù)包括來自存儲器108的加密詞、來自本地 可擦重寫存儲器106的隨機(jī)數(shù)采樣值和來自存儲器110中的密匙表的密匙。 在本發(fā)明的另一實(shí)施例中,加密單元112可包括合適的邏輯、電路和/或代碼, 以使用哈希函數(shù),如SHA1、 SHA2和HMAC-SHA生成密碼。在這一點(diǎn)上, 可采用來自下列兩個數(shù)據(jù)源的數(shù)據(jù)生成密碼來自存儲器108的加密詞和來 自本地可擦重寫存儲器106的隨機(jī)數(shù)采樣值。
數(shù)字比較器114可包括合適的邏輯、電路和/或代碼,用于從外部實(shí)體接收 密碼,該密碼由加密單元112生成。數(shù)字比較器114可包括合適的邏輯、電 路和/或代碼,用于比較兩個密碼,并輸出認(rèn)證通過或失敗的指示。
在運(yùn)行中,可在RNG 104中生成該隨機(jī)數(shù)采樣值。可將RNG 104生成的 隨機(jī)數(shù)采樣值、來自存儲器108的芯片ID和來自存儲器110的密匙索引傳送 到問詢寄存器102。接著將問詢寄存器102中的內(nèi)容包含在問詢信息中發(fā)送到 圖2中示出的外部實(shí)體200,這樣外部實(shí)體可生成密碼并將在問詢回應(yīng)中將該 密碼回發(fā)。可將RNG 104中生成的隨機(jī)數(shù)采樣值存儲在本地可擦重寫存儲器 106中??蓪碜源鎯ζ?08的加密詞、來自本地可擦重寫存儲器106的隨機(jī) 數(shù)采樣值和來自存儲器110中的密匙表的密匙傳送到加密單元112。加密單元 112可使用哈希函數(shù)生成密碼。數(shù)字比較器114可接收來自加密單元112的密 碼和來自外部實(shí)體200的密碼,并將它們進(jìn)行比較。SoC可確定該認(rèn)證通過 或失敗。
圖1B是根據(jù)本發(fā)明實(shí)施例的可用于密碼認(rèn)證操作的具有外部可擦重寫存 儲器的片上系統(tǒng)的典型框圖。參照圖1B,示出了SoC 100,該SoC IOO包括 問詢寄存器102、 RNG104、多個本地存儲器108、 110、外部存儲器120、加密單元112、數(shù)字比較單元114、標(biāo)記單元(signingunit) 116和驗(yàn)證單元118。 該SoC 110以及問詢寄存器102、 RNG 104、多個本地存儲器108、 110、加密 單元112、數(shù)字比較單元114可分別與圖1A中的問詢寄存器102、 RNG 104、 多個本地存儲器108、 110、加密單元112、數(shù)字比較單元114相似。參照圖 1B,示出了一些附加組件,包括外部存儲器120、標(biāo)記單元U6和驗(yàn)證單元 118。
標(biāo)記單元116可包括合適的邏輯、電路和/或代碼,用于標(biāo)記RNG 104的 隨機(jī)數(shù)采樣值輸出。標(biāo)記單元116可使用非對稱算法(如RSA、 DSA)或?qū)?稱算法(如HMAC),采用嵌入標(biāo)記密匙標(biāo)記隨機(jī)數(shù)采樣值。該標(biāo)記單元116 可包括合適的邏輯、電路和/或代碼,用于與外部存儲器120交換信息,以存 儲被標(biāo)記的隨機(jī)數(shù)采樣值。根據(jù)本發(fā)明的另一方面,可加密該標(biāo)記密匙并存 儲在外部存儲器120中。
外部存儲器120可包括存儲設(shè)備,該存儲設(shè)備可包括合適的邏輯、電路和 /或代碼,用于與SoC交換數(shù)據(jù)。外部存儲器120可包括用于存儲來自隨機(jī)數(shù) 生成器104的輸出的存儲器,該輸出已經(jīng)在標(biāo)記單元116中進(jìn)行了標(biāo)記。例 如,外部存儲器120可基于閃存技術(shù)。根據(jù)本發(fā)明的一個方面,該標(biāo)記和驗(yàn) 證密匙可存儲在外部存儲器120中。
該驗(yàn)證單元118可包括合適的邏輯、電路和/或代碼,用于從外部存儲器 120接收驗(yàn)證密匙和標(biāo)記的隨機(jī)數(shù)采樣值,并破譯該標(biāo)記的隨機(jī)數(shù)采樣值。該 驗(yàn)證單元118可包括合適的邏輯、電路和/或代碼,用于與加密單元112交換
信息o
在運(yùn)行中,可在RNG 104中生成隨機(jī)數(shù)采樣值??蓪碜訰NG 104的隨 機(jī)數(shù)采樣值、來自存儲器108的芯片ID和來自存儲器110的密匙索引傳送到 問詢寄存器102。接著將問詢寄存器102中的內(nèi)容包含在問詢信息中發(fā)送到圖 2中示出的外部實(shí)體200,這樣外部實(shí)體可生成密碼并將在問詢回應(yīng)中將該密 碼回發(fā)。可采用標(biāo)記單元116標(biāo)記RNG104中生成隨機(jī)數(shù)采樣值,并將其存 儲到外部存儲器120中??蓪碜源鎯ζ?08的加密詞、存儲器110中位于 定位密匙索引的密匙傳送到加密單元112。可將存儲在外部存儲器120的隨機(jī)數(shù)采樣值回發(fā)到SoC,特別是回發(fā)到驗(yàn)證單元118,在此可將其向前發(fā)送到加 密單元112。加密單元112可采用哈希函數(shù)生成密碼。數(shù)字比較器114可從加 密單元112接收密碼,和來自圖2中示出的外部實(shí)體200的密碼,并對它們 進(jìn)行比較。SoC可確定該認(rèn)證通過或失敗。
圖2是根據(jù)本發(fā)明一個實(shí)施例的與SoC 100相關(guān)的用于進(jìn)行安全認(rèn)證操作 的外部實(shí)體200的典型框圖。參照圖2,示出了外部實(shí)體200,其包括多個 存儲器208和210、加密單元212。圖中還示出了該外部實(shí)體200的邊界。
存儲器208可包括內(nèi)部存儲器,用于存儲芯片ID,還可包括合適的邏輯、 電路和/或代碼,用于與圖lA和lB中示出的SoC100交換數(shù)據(jù)。存儲器208 可包括用于存儲加密詞的存儲器。存儲器208可用于將接收到的芯片ID與其 存儲的加密詞相關(guān)聯(lián)??苫谛酒琁D和安全加密算法生成加密詞。該存儲器 208可與加密單元212通信連接。
存儲器210可包括合適的邏輯、電路和/或代碼,用于存儲密匙表和相關(guān)密 匙索引。該存儲器210可用于向加密單元212傳送數(shù)據(jù)。
加密單元212可包括合適的邏輯、電路和/或代碼,用于根據(jù)多個輸入數(shù)據(jù) 生成密碼。根據(jù)本發(fā)明的一個方面,該加密單元212可用于加密來自三個數(shù) 據(jù)源的數(shù)據(jù)以生成密碼,這些數(shù)據(jù)包括來自存儲器208的加密詞、來自圖 1A和圖1B中的SoC 100的問詢寄存器102的隨機(jī)數(shù)采樣值和來自存儲器110 的密匙。在本發(fā)明的另一實(shí)施例中,加密單元212可包括合適的邏輯、電路 和/或代碼,以使用哈希函數(shù),如SHA1、 SHA2和HMAC-SHA。在這一點(diǎn)上, 可采用來自下列兩個數(shù)據(jù)源的數(shù)據(jù)生成密碼來自存儲器208的加密詞和來 來自圖1A和圖1B中的SoC 100的問詢寄存器102的隨機(jī)數(shù)采樣值。
在運(yùn)行中,可在問詢寄存器102中重獲隨機(jī)數(shù)采樣值、芯片ID和密匙索引。 芯片ID存儲在存儲器208中,并和對應(yīng)密匙相關(guān)??苫诮邮盏叫酒琁D生 成加密詞,并在認(rèn)證過程之前存儲加密詞。來自問詢寄存器102的密匙索引 可用于在存儲器210中査找對應(yīng)的密匙。接著將來自存儲器208的加密詞、 來自存儲器210的密匙和來自問詢寄存器102的隨機(jī)數(shù)采樣值傳送到加密單 元212。該加密單元212可使用哈希函數(shù)生成密碼??稍趩栐兓貞?yīng)中將擺密碼發(fā)送到圖1A和圖IB中示出的SoC 100。
參照圖3A,示出了流程圖,其中步驟300涉及在圖1A和IB中示出的SoC 100上的認(rèn)證操作的開始。在步驟302中,將來自存儲器108的芯片ID發(fā)送 到問詢寄存器102。在步驟304中,將來自存儲器110的密匙索引發(fā)送到問詢 寄存器102。在步驟306中,隨機(jī)數(shù)生成器(RNG) 104生成隨機(jī)數(shù)采樣值。 在步驟308中,將隨機(jī)數(shù)采樣值發(fā)送到問詢寄存器102。在步驟310中,將問 詢寄存器102中的內(nèi)容從SoC 100發(fā)送到圖2中示出的外部實(shí)體200。步驟 312指示該流程圖向圖3B和3C延續(xù)。
圖3B是根據(jù)本發(fā)明實(shí)施例的片上系統(tǒng)的外部實(shí)體中的認(rèn)證處理的一部分 的典型流程圖。參照圖3B,示出了流程圖,其中步驟312是圖3A的延續(xù)。 在步驟314中,圖2中示出的外部實(shí)體200從SoC上的問詢寄存器102接收 隨機(jī)數(shù)采樣值、芯片ID和密匙索引。在步驟316中,可將隨機(jī)數(shù)采樣值發(fā)送 到加密單元212中的哈希函數(shù)。在步驟318中,將從問詢寄存器102中接收 到的芯片ID用于生或查找加密詞。接著可將存儲器206中的加密詞發(fā)送到加 密單元212中的哈希函數(shù)。在步驟320中,將從問詢寄存器102中接收到的 密匙索引用于在密匙表中查找密匙。可將該密匙發(fā)送到加密單元212中的哈 希函數(shù)。在步驟322中,加密單元212生成密碼。在步驟324中,在問詢響 應(yīng)中將密碼從外部實(shí)體200發(fā)送到SoC 100。步驟326指示流程圖向圖3C延續(xù)。
圖3C是根據(jù)本發(fā)明實(shí)施例的片上系統(tǒng)中的認(rèn)證處理的一部分的典型流程 圖。參照圖3C,示出了流程圖,其中步驟312是圖3A的延續(xù)。在步驟328, 當(dāng)芯片具有如圖1A中的內(nèi)部可擦重寫存儲器,該過程可進(jìn)行到步驟330。在 步驟330中,可將來自RNG 104的隨機(jī)數(shù)采樣值存儲到本地可擦重寫存儲器 106中。在步驟332中,將來自于存儲器108的加密密匙發(fā)送到加密單元U2 中的哈希函數(shù)。在步驟334中,將密匙索引用于在存儲器110中査找密匙, 并將該密匙發(fā)送到加密單元112。在步驟336中,將存儲在內(nèi)部可擦重寫存儲 器106中的隨機(jī)數(shù)采樣值發(fā)送到加密單元112的哈希函數(shù)。在步驟338中, 可從加密單元112中的哈希函數(shù)中生成密碼。在步驟340中,由數(shù)字比較器114分別接收來自加密單元112中的SoC密碼和來自圖2中示出的外部實(shí)體 200的密碼。在步驟342中,當(dāng)這些密碼相同時。該方法可前進(jìn)到步驟344, 并在最后步驟中通過認(rèn)證。在步驟342中,當(dāng)這些密碼不相同時。該方法可 前進(jìn)到步驟346,并在最后步驟中認(rèn)證失敗。
在步驟328中,當(dāng)SoC100不具有內(nèi)部可擦重寫存儲器106時,該方法可 前進(jìn)到步驟348。在步驟348中,在標(biāo)記單元116中標(biāo)記來自RNG 104中的 隨機(jī)數(shù)采樣值。在步驟350中,可將隨機(jī)數(shù)采樣值以及其標(biāo)記存儲在外部可 擦重寫存儲器120中。在步驟352中,可將隨機(jī)數(shù)采樣值以及其標(biāo)記回發(fā)到 SoClOO,并在驗(yàn)證單元118中進(jìn)行驗(yàn)證。在步驟356中,當(dāng)隨機(jī)數(shù)采樣值以 及標(biāo)記在驗(yàn)證單元118中沒有通過驗(yàn)證時,該過程可進(jìn)行到步驟358并在最 后步驟中認(rèn)證失敗。在步驟356中,當(dāng)隨機(jī)數(shù)采樣值以及標(biāo)記在驗(yàn)證單元118 中通過驗(yàn)證時,該過程可進(jìn)行到步驟336并在最后步驟中通過認(rèn)證。
圖1A、 1B和2中示出的系統(tǒng)可用于實(shí)現(xiàn)對一個或多個安全功能的接入的 認(rèn)證??捎蓤DlA和lB中示出的SoC100控制認(rèn)證,也可使用以兩種方式的 獨(dú)一無二的密碼對每個執(zhí)行認(rèn)證的SoC來說獨(dú)一無二,以及對驗(yàn)證過程的 每次重復(fù)來說獨(dú)一無二。
該認(rèn)證方法可包括在SoC 100中生成所述密碼或在圖2中示出的外部實(shí)體 200中生成所述密碼。該認(rèn)證過程可始于在SoC 100的隨機(jī)數(shù)生成器(RNG) 104中生成隨機(jī)數(shù)采樣值??蓪⒃撾S機(jī)數(shù)采樣值存儲在圖1A的片上系統(tǒng)106 或圖1B的片外存儲器120中??蓪⒓用茉~存儲在存儲器108中,并使其不能 被試圖接入的外部實(shí)體獲得。該方法至少包括下列條件中的一個將對SoC IOO來說獨(dú)一無二的芯片ID存儲到存儲器108中、將密匙表存儲到存儲器110 中。該密匙表包括一個密匙和對應(yīng)的密匙索引。
可將下列信息中的兩個或多個發(fā)送到加密單元112中的哈希函數(shù)來自存 儲器單元108中的加密詞、來自圖1A中的存儲器106或來自圖1B中的存儲 器120的隨機(jī)數(shù)采樣值、來自存儲器110中的密匙表的密匙。該哈希函數(shù)可 生成密碼。圖1A和1B中示出的SoC 100可向圖2中示出的外部實(shí)體200發(fā) 送詢問,以生成并回發(fā)密碼??稍趩栐兗拇嫫?02中存儲下列信息中的至少兩個對于SoC100來說獨(dú)一無二的芯片ID和密匙索引,接著可將這些信息 發(fā)送到外部實(shí)體200。授權(quán)的外部實(shí)體可提前了解芯片ID、加密詞、具有對 應(yīng)密匙索引的密匙表和哈希函數(shù)。授權(quán)的外部實(shí)體能根據(jù)接收到的芯片ID和 安全加密算法生成加密詞。當(dāng)密碼從外部實(shí)體200返回時,在數(shù)字比較器114 中將返回的密碼與在加密單元112中生成密碼進(jìn)行比較。如果密碼相互匹配, 授權(quán)接入一個和多個功能。
本發(fā)明的又一實(shí)施例可提供一種機(jī)器可讀存儲。其內(nèi)存儲的計(jì)算機(jī)程序包 括至少一個代碼段,用于在網(wǎng)絡(luò)中傳送信息,所示至少一個代碼段由機(jī)器執(zhí) 行而使得所述機(jī)器執(zhí)行上述步驟。
因此,本發(fā)明可以通過硬件、軟件,或者軟、硬件結(jié)合來實(shí)現(xiàn)。本發(fā)明 可以在至少一個計(jì)算機(jī)系統(tǒng)中以集中方式實(shí)現(xiàn),或者由分布在幾個互連的計(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)行。
本發(fā)明的一個實(shí)施可作為主板級產(chǎn)品,如單芯片、特定用途集成電路 (ASIC)和具有與作為單獨(dú)組件的系統(tǒng)的其它部分的不同集成程度的單芯片。 系統(tǒng)的集成程度首要由速度和成本考慮確定。由于現(xiàn)代處理器的復(fù)雜性,可 使用商業(yè)可用的處理器,該處理器可與現(xiàn)有系統(tǒng)的ASIC執(zhí)行外接??蛇x地, 如果處理器可用(如ASIC核心和邏輯模塊),那么商業(yè)可用的處理器可為作 為固件執(zhí)行的具有不同功能的ASIC設(shè)備的一部分。
本發(fā)明還可以通過計(jì)算機(jī)程序產(chǎn)品進(jìn)行實(shí)施,程序包含能夠?qū)崿F(xiàn)本發(fā)明方 法的全部特征,當(dāng)其安裝到計(jì)算機(jī)系統(tǒng)中時,可以實(shí)現(xiàn)本發(fā)明的方法。本文 件中的計(jì)算機(jī)程序所指的是可以采用任何程序語言、代碼或符號編寫的一 組指令的任何表達(dá)式,該指令組使系統(tǒng)具有信息處理能力,以直接實(shí)現(xiàn)特定 功能,或在進(jìn)行下述一個或兩個步驟之后實(shí)現(xiàn)特定功能a)轉(zhuǎn)換成其它語言、 編碼或符號;b)以不同的格式再現(xiàn)。
雖然本發(fā)明是通過具體實(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、一種在通信系統(tǒng)中處理數(shù)據(jù)的方法,其特征在于,所述方法包括使用對每個芯片和每次詢問來說獨(dú)一無二的密碼,來認(rèn)證向一個或多個由芯片控制的安全功能的接入。
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述方法包括在所述芯片中 生成所述對每個芯片和每次詢問來說獨(dú)一無二的密碼。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法包括在所述芯片中,由隨機(jī)數(shù)生成器中生成隨機(jī)數(shù)采樣值。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法包括將所述生成的隨機(jī)數(shù)采樣值存儲到以下中的一個或多個片上存儲器和片外存儲器。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述芯片上存儲加密詞, 其中所述加密詞不能被外部實(shí)體獲得。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法包括在所述芯片 上存儲以下中的一個或多個對所述芯片來說獨(dú)一無二的芯片ID和密匙表, 其中所述密匙表包括密匙和對應(yīng)的密匙索引。
7、 一種在通信系統(tǒng)中處理數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括一個或多個電路,使用對每個芯片和每次詢問來說獨(dú)一無二的密碼來認(rèn)證向一個 或多個由芯片控制的安全功能的接入。
8、 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述一個或多個電路在所 述芯片中生成所述對每個芯片和每次詢問來說獨(dú)一無二的密碼。
9、 根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述一個或多個電路在所 述芯片中生成隨機(jī)數(shù)采樣值。
10、 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述一個或多個電路包括 片上存儲器和片外存儲器中的一種或兩種,用于存儲生成的隨機(jī)數(shù)采樣值。
全文摘要
本發(fā)明涉及一種在通信系統(tǒng)中處理數(shù)據(jù)的方法和系統(tǒng),更具體地,涉及用于認(rèn)證一個或多個安全功能的接入的SoC。在SoC中生成的密碼對于每個SoC示例來說是獨(dú)一無二的,并且對于認(rèn)證的每次重復(fù)來說也是獨(dú)一無二的。SoC可向試圖接入的外部實(shí)體進(jìn)行問詢,以提供匹配的密碼??稍赟oC中生成并存儲隨機(jī)數(shù)采樣值。存儲器中還存儲了芯片ID、加密詞和具有密匙索引的密匙表。將存儲器中存儲的兩個或多個項(xiàng)目傳送到哈希函數(shù)以生成密碼。外部實(shí)體可生成密碼,并利用每次認(rèn)證操作中SoC傳遞的信息以及已知的信息,將該密碼傳送回SoC。SoC將返回的密碼與內(nèi)部生成的密碼進(jìn)行比較,并授權(quán)接入該安全功能。
文檔編號H04L9/32GK101291224SQ200810093160
公開日2008年10月22日 申請日期2008年4月16日 優(yōu)先權(quán)日2007年4月17日
發(fā)明者陳雪敏 申請人:美國博通公司