欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

認(rèn)證下載到閃存的程序的裝置及方法

文檔序號(hào):7916999閱讀:106來源:國(guó)知局
專利名稱:認(rèn)證下載到閃存的程序的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明是關(guān)于下載到閃存的程序,特別是關(guān)于認(rèn)證下載到閃存的程序的裝 置及其方法。
背景技術(shù)
安全機(jī)制的一種形式為1"吏用加載至芯片內(nèi)的硬件唯一密鑰(hardware unique key)。因此,在各種應(yīng)用中,將硬件唯一密鑰加載至芯片以滿足機(jī)密性、完整 性與真實(shí)性的密碼需求。就這一點(diǎn)而論,對(duì)于每一個(gè)芯片硬件唯一密鑰唯一。 即,如果硬件唯一密鑰加載至芯片內(nèi),該硬件唯一密鑰的值無法更改。使用硬 件唯一密鑰的另一優(yōu)勢(shì)是硬件唯一密鑰無法從外部讀出。因此,硬件唯一密鑰 作為一種安全機(jī)制被廣泛應(yīng)用。通常,傳輸至芯片的初始信息由硬件唯一密鑰 加密,并且輸出的加密信息無法直接讀出。硬件唯一密鑰可存儲(chǔ)于任意非易失 性存儲(chǔ)器中。

發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中僅利用硬件唯一密鑰來認(rèn)證下載到閃存的程序而導(dǎo)致 安全漏洞的問題,本發(fā)明提供一種認(rèn)證下載到閃存的程序的裝置及其方法。
依據(jù)本發(fā)明的一方面,其提供一種認(rèn)證下載到閃存的程序的裝置,包含 硬件唯一密鑰;寄存器,存儲(chǔ)用戶標(biāo)識(shí)碼;以及信息認(rèn)證碼產(chǎn)生單元,依據(jù)硬 件唯一密鑰以及用戶標(biāo)識(shí)碼獲得根密鑰,并利用已獲得的根密鑰產(chǎn)生與程序相 對(duì)應(yīng)的第一信息認(rèn)證碼,其中,鎖定寄存器的內(nèi)容,來在下一次裝置重置之前 避免存儲(chǔ)的用戶標(biāo)識(shí)碼被修改。
依據(jù)本發(fā)明另一方面,其提供一種認(rèn)證下載到閃存的程序的方法,由電子 裝置執(zhí)行,包含獲得相對(duì)應(yīng)于電子裝置的硬件唯一密鑰;獲得相對(duì)應(yīng)于用戶 的用戶標(biāo)識(shí)碼;獲得相對(duì)應(yīng)于硬件唯一密鑰以及用戶標(biāo)識(shí)碼的根密鑰;以及利 用已獲得的根密鑰,產(chǎn)生與程序相對(duì)應(yīng)的第一信息認(rèn)證碼。
依據(jù)本發(fā)明又一方面,其提供一種認(rèn)證下載到閃存的程序的方法,由電子裝置執(zhí)行,包含獲得第一信息認(rèn)證碼;獲得相對(duì)應(yīng)于用戶以及程序的用戶標(biāo) 識(shí)碼;判斷第 一信息認(rèn)證碼是否與用戶標(biāo)識(shí)碼相對(duì)應(yīng);以及當(dāng)?shù)?一信息認(rèn)證碼 相對(duì)應(yīng)于用戶標(biāo)識(shí)碼時(shí),啟動(dòng)具有該程序的該電子裝置。
依據(jù)本發(fā)明再一方面,其提供一種認(rèn)證電子設(shè)備內(nèi)的下載到閃存的程序的 裝置,包含硬件唯一密鑰;寄存器,存儲(chǔ)用戶標(biāo)識(shí)碼;密鑰產(chǎn)生單元,依據(jù) 硬件唯一密鑰以及用戶標(biāo)識(shí)碼產(chǎn)生根密鑰;以及鎖定電路,用來鎖定該寄存器 的內(nèi)容,在下一次裝置重置之前避免存儲(chǔ)的用戶標(biāo)識(shí)碼被修改。
本發(fā)明提供的認(rèn)證下載到閃存的程序的裝置及其方法,根據(jù)硬件唯一密鑰 與用戶信息一同來認(rèn)證下載到閃存的程序,能夠減少安全漏洞,增進(jìn)認(rèn)證裝置 與iU正方法的有凌丈寸生。


圖1為加密系統(tǒng)的方框示意圖。
圖2為依據(jù)本發(fā)明的一個(gè)實(shí)施方式的認(rèn)證下載到閃存的程序的裝置的硬件
結(jié)構(gòu)的方塊示意圖。
圖3為依據(jù)本發(fā)明的加密系統(tǒng)的實(shí)施方式的方塊圖。
圖4為依據(jù)本發(fā)明的鎖定電路的一個(gè)實(shí)施方式的筒要示意圖。
圖5為依據(jù)本發(fā)明的由認(rèn)證裝置執(zhí)行的認(rèn)證方法的實(shí)施方式的流程圖。
圖6為當(dāng)下載程序到閃存時(shí)產(chǎn)生信息認(rèn)證碼的簡(jiǎn)要示意圖。
圖7為依據(jù)本發(fā)明的裝置啟動(dòng)過程中信息認(rèn)證碼產(chǎn)生與驗(yàn)證(validation)
的簡(jiǎn)要示意圖。
圖8為依據(jù)本發(fā)明的信息認(rèn)證碼產(chǎn)生單元的實(shí)施方式的示意圖。
圖9為依據(jù)本發(fā)明的信息認(rèn)證碼產(chǎn)生單元的另一個(gè)實(shí)施方式的示意圖。
圖10為依據(jù)本發(fā)明的由認(rèn)證裝置執(zhí)行的認(rèn)證方法的另一個(gè)實(shí)施方式的流程圖。
圖11為依據(jù)本發(fā)明的裝置啟動(dòng)過程中散列值產(chǎn)生與驗(yàn)證的簡(jiǎn)要示意圖。
具體實(shí)施例方式
在說明書及權(quán)利要求書當(dāng)中使用了某些詞匯來指稱特定的組件。所屬領(lǐng)域 中具有通常知識(shí)者應(yīng)可理解,制造商可能會(huì)用不同的名詞來稱呼同樣的組件。 本說明書及權(quán)利要求書并不以名稱的差異來作為區(qū)分組件的方式,而是以組件
7在功能上的差異來作為區(qū)分的基準(zhǔn)。在通篇說明書及權(quán)利要求書當(dāng)中所提及的 "包含,'為一開放式的用語,故應(yīng)解釋成"包含但不限定于"。另外,"耦接,, 一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦 接于笫二裝置,則代表第一裝置可直接電氣連接于第二裝置,或透過其它裝置 或連接手段間接地電氣連接至第二裝置。
圖1為加密系統(tǒng)的方框示意圖。純文本(plain text) 11傳輸至加密才幾(cipher engine) 12來加密。加密機(jī)12接收純文本11并才艮據(jù)硬件唯一密鑰13產(chǎn)生密碼 文本(cipher text) 14,即加密文本。需注意的是,上述系統(tǒng)并非決定本發(fā)明的 專利性的現(xiàn)有技術(shù),而為本發(fā)明人發(fā)現(xiàn)的技術(shù)問題。上述系統(tǒng)中,硬件唯一密 鑰13僅可以由加密機(jī)12存取,并且加密機(jī)12可由軟件控制來操作。因此,該 系統(tǒng)具有安全漏洞。具體來說,硬件唯一密鑰13與加密機(jī)12通常在芯片出貨 (shipping)之前嵌入芯片中,并且硬件唯一密鑰13不能夠以任何方式修改。 但是,通過寫入軟件程序來操作加密機(jī)12,黑客能夠在不破環(huán)硬件唯一密鑰13 的情況下,筒單地發(fā)現(xiàn)初始純文本11來解密密碼文本14。
圖2為依據(jù)本發(fā)明的一個(gè)實(shí)施方式的認(rèn)證下載到閃存的程序的裝置的硬件 結(jié)構(gòu)的方塊示意圖。iU正裝置嵌入于芯片或電子裝置中。^人證裝置包含基頻芯 片與外部閃存(external flash)。當(dāng)整個(gè)裝置重置(reset)時(shí),微處理器(MCU , microcontroller)21最初執(zhí)行存《諸于引導(dǎo)用只讀存儲(chǔ)器(boot ROM) 24內(nèi)的啟動(dòng) 程序(boot program)。該執(zhí)行的啟動(dòng)程序檢測(cè)是否需要下載程序到閃存。如果 下載程序到閃存,則下載相對(duì)應(yīng)于該程序的用戶信息(customer information), 其中該用戶信息由用戶提供并包含用戶標(biāo)識(shí)碼(customer ID),需注意的是, 用戶信息(即用戶標(biāo)識(shí)碼)與用戶是——對(duì)應(yīng),而不能假造。提供的用戶信息 的用戶標(biāo)識(shí)碼隨后寫入寄存器(register) 22b。當(dāng)用戶信息已存儲(chǔ)至寄存器22b 時(shí),鎖定電路(lock circuit) 22a鎖定寄存器22b的內(nèi)容,在裝置下一次重置之 前避免寄存器存儲(chǔ)的用戶標(biāo)識(shí)碼被修改。運(yùn)算單元(operationunit) 25自寄存器 22b接收用戶標(biāo)識(shí)碼,并接收硬件唯一密鑰26來產(chǎn)生#^密鑰(rootkey)。在另 一個(gè)實(shí)施方式中,運(yùn)算單元25根據(jù)用戶信息與硬件唯一密鑰26來產(chǎn)生根密鑰。 信息iU正碼(MAC message authentication code)產(chǎn)生單元23依據(jù)用戶信息與才艮密 鑰產(chǎn)生信息認(rèn)證碼。信息認(rèn)證碼與用戶信息經(jīng)由外部存儲(chǔ)器接口(EMI , external memory interface)27存4諸至外部閃存29。
當(dāng)不需要下載程序到閃存時(shí),為了認(rèn)證外部閃存29內(nèi)的程序與用戶信息是否沒有被修改而依舊保持相互對(duì)應(yīng),經(jīng)由外部存儲(chǔ)器接口 27自外部閃存29獲 得相對(duì)應(yīng)于該程序的用戶信息,其中該用戶信息包含用戶標(biāo)識(shí)碼并且該程序存 儲(chǔ)于外部閃存29中。經(jīng)由外部存儲(chǔ)器接口 27自外部閃存29獲得信息認(rèn)證碼。 接著,判斷獲得的信息認(rèn)證碼是否與獲得的用戶信息相符合。當(dāng)判斷信息認(rèn)證碼 與用戶信息相符合時(shí),裝置啟動(dòng)。
圖3為依據(jù)本發(fā)明的加密系統(tǒng)的實(shí)施方式的方塊圖。運(yùn)算單元34接收硬件 唯一密鑰31與用戶標(biāo)識(shí)碼32來產(chǎn)生根密鑰或者信息認(rèn)證碼。利用軟件可控制 寄存器(軟件用戶身份證明UID)來存儲(chǔ)用戶信息,例如用戶標(biāo)識(shí)碼32。鎖定 電路33鎖定存儲(chǔ)用戶標(biāo)識(shí)碼的寄存器,在下一次裝置重置之前避免所存儲(chǔ)的用 戶標(biāo)識(shí)碼被修改。加密機(jī)36接收純文本35并依據(jù)運(yùn)算單元34的輸出來產(chǎn)生密 碼文本37,即加密文本。本系統(tǒng)中,在芯片制造時(shí)提供硬件唯一密鑰并且由用 戶提供用戶標(biāo)識(shí)碼。本系統(tǒng)中, 一 同利用用戶標(biāo)識(shí)碼與硬件唯一密鑰來進(jìn)行加 密與解密。即在硬件唯一密鑰相同的情況下,也使得密碼文本對(duì)于每一用戶(即 用戶唯一標(biāo)識(shí))唯一。通過認(rèn)證后,寄存器的內(nèi)容由引導(dǎo)用只讀存儲(chǔ)器程序?qū)?入并鎖定,例如存儲(chǔ)至圖2所示的引導(dǎo)用只讀存儲(chǔ)器24。
圖4為依據(jù)本發(fā)明的鎖定電路的一個(gè)實(shí)施方式的簡(jiǎn)要示意圖。在裝置重置 時(shí),裝置重置信號(hào)(SYSTEM RESET)輸入至D型觸發(fā)器(D flip-flop) 42來 清空(clear)鎖存(latch)其中的資料。D型觸發(fā)器42具有時(shí)鐘輸入端來接收 信號(hào)REG—WR一1,以及數(shù)據(jù)輸入端接收或門(ORgate) 41的輸出?;蜷T41具 有第一輸入端接收控制信號(hào),以及第二輸入端耦接至D型觸發(fā)器42的輸出端。 反相器(inverter) 43接收并反相(invert) D型觸發(fā)器42的輸出信號(hào),并且得 到的反相信號(hào)隨后傳輸至與門(AND gate )44。與門44更接收信號(hào)REG—WR—2。 信號(hào)REG—WR一2連續(xù)地設(shè)置為邏輯值1。 D型觸發(fā)器45的時(shí)鐘輸入端接收與門 44的輸出信號(hào),以及數(shù)據(jù)輸入端接收用戶標(biāo)識(shí)碼。由于每一D型觸發(fā)器僅鎖存 一個(gè)比特,D型觸發(fā)器45的數(shù)量是依賴于用戶標(biāo)識(shí)碼的比特的數(shù)量。在用戶標(biāo) 識(shí)碼寫入D型觸發(fā)器45的過程中,控制信號(hào)設(shè)置為邏輯值0,并且當(dāng)用戶標(biāo)識(shí) 碼完全寫入D型觸發(fā)器時(shí),控制信號(hào)設(shè)置為邏輯值l。在用戶標(biāo)識(shí)碼寫入D型 觸發(fā)器45的過程中,信號(hào)REG_WR_1與信號(hào)REG_WR_2的設(shè)置保持不變 (assert)。本實(shí)施方式中,信號(hào)REG一WRJ與信號(hào)REG一WR—2由引導(dǎo)用只讀 存儲(chǔ)器程控。可以看出,或門41、 D型觸發(fā)器42、反相器43以及與門44組成 鎖定電路。 一旦信號(hào)SYSTEM RESET輸入至D型觸發(fā)器42, D型觸發(fā)器42的
9輸出為邏輯值O,使得與門44接收邏輯值為1的反相信號(hào),隨后,D型觸發(fā)器 45的時(shí)鐘輸入上升(high)來允許用戶標(biāo)識(shí)碼寫入D型觸發(fā)器45。隨后,D型 觸發(fā)器42的輸出保持為邏輯值1直到另一裝置重置信號(hào)輸入D型觸發(fā)器42, 使得用戶標(biāo)識(shí)碼由D型觸發(fā)器45鎖存。
圖5為依據(jù)本發(fā)明的由認(rèn)證裝置執(zhí)行的認(rèn)證方法的實(shí)施方式的流程圖。在 步驟S501中,整個(gè)裝置重置。在步驟S502中,認(rèn)證裝置依據(jù)外部控制信號(hào)來 ;險(xiǎn)測(cè)是否有程序要下載到閃存。需注意的是,該程序可自外部電子裝置下載, 例如自個(gè)人計(jì)算機(jī)、筆記型計(jì)算機(jī)(notebook )、個(gè)人數(shù)字輔助理器(personal digital assist)、移動(dòng)電話(mobile phone)、智能手才幾(smart phone)以及其它類似裝 置下載。如杲要下載程序到閃存,認(rèn)證方法執(zhí)行步驟S503至步驟S509。如果 不需要下載程序到閃存,認(rèn)證方法執(zhí)行步驟S510至S515。在步驟S503中,提 供相對(duì)應(yīng)于該程序的用戶信息來認(rèn)證,其中該用戶信息包含用戶標(biāo)識(shí)碼。在步 驟S505中,如果用戶信息通過i人i正,i人證方法執(zhí)行的程序跳至步驟S506,如果 用戶信息沒有通過認(rèn)證,認(rèn)證方法執(zhí)行的步驟跳至錯(cuò)誤處理狀態(tài)。在步驟S506 中,認(rèn)證方法從4是供的用戶信息獲得用戶標(biāo)識(shí)碼,并在步驟S507中將用戶標(biāo)識(shí) 碼寫入并鎖定于寄存器(例如圖2所示的寄存器22b或者圖4所示的寄存器45) 中。然后,在步驟S508中,認(rèn)證裝置利用硬件唯一密鑰(例如圖2所示的硬件 唯一密鑰26)與用戶標(biāo)識(shí)碼來產(chǎn)生相對(duì)應(yīng)于^是供的用戶信息的信息認(rèn)證碼。在 步驟S509中,認(rèn)證裝置將用戶信息、產(chǎn)生的信息認(rèn)證碼以及下載到閃存的程序 寫入至外部閃存(例如圖2所示的外部閃存29)。在執(zhí)行步驟S509之后,整個(gè) 裝置再次重置。
如果不存在等待下載到閃存的程序,認(rèn)證方法跳至步驟S510。在步驟S510 中,認(rèn)證裝置自外部閃存讀取用戶信息,并且在步驟S511中由讀取的用戶信息 獲得用戶標(biāo)識(shí)碼。在步驟S512中,認(rèn)證裝置寫入并鎖定用戶標(biāo)識(shí)碼于寄存器(例 如圖2所示的寄存器22b或者圖4所示的寄存器45)中。在步驟S513中,認(rèn)證 裝置利用硬件唯一密鑰(例如圖2所示的硬件唯一密鑰26)與存儲(chǔ)于寄存器的 用戶標(biāo)識(shí)碼來產(chǎn)生相對(duì)應(yīng)于提供的用戶信息的信息認(rèn)證碼。在步驟S514中,認(rèn) 證裝置判斷產(chǎn)生的信息認(rèn)證碼是否與外部閃存存儲(chǔ)的信息認(rèn)證碼相同。如果不 同,認(rèn)證方法執(zhí)行的步驟跳至錯(cuò)誤處理狀態(tài)(error handling state.)。如果相同, 具有外部閃存存儲(chǔ)的程序的整個(gè)裝置啟動(dòng)。認(rèn)證裝置可由專用配屬硬件電路或 者微處理器(例如圖2所示的微處理器21 )來實(shí)現(xiàn)。圖6為當(dāng)下載程序到閃存時(shí)產(chǎn)生信息認(rèn)證碼的簡(jiǎn)要示意圖。參考圖5所示
的步驟S503至步驟S509,于下載程序之前,提供相對(duì)應(yīng)于該程序的第一用戶信 息61來認(rèn)證。當(dāng)?shù)谝挥脩粜畔?1通過認(rèn)證時(shí),包含第一用戶標(biāo)識(shí)碼61a的用 戶信息61傳輸至信息iU正碼產(chǎn)生單元65,并且第一用戶標(biāo)識(shí)碼61a寫入寄存器 62。當(dāng)整個(gè)裝置重置時(shí),上述引導(dǎo)用只讀存儲(chǔ)器程序清空寄存器62的初始內(nèi)容, 并且寫入用戶信息至寄存器62。當(dāng)用戶信息沒有通過認(rèn)證,信息認(rèn)i正碼產(chǎn)生流 程跳至錯(cuò)誤處理狀態(tài)。運(yùn)算單元64自寄存器62獲得第一用戶標(biāo)識(shí)碼,并獲得 硬件唯一密鑰63來產(chǎn)生根密鑰。信息認(rèn)證碼產(chǎn)生單元65依據(jù)根密鑰以及第一 用戶信息61來產(chǎn)生第一信息認(rèn)證碼67。信息認(rèn)證碼產(chǎn)生單元65可通過利用根 密鑰來加密第一用戶信息61來產(chǎn)生第一信息認(rèn)證碼67。即本實(shí)施方式利用第一 信息認(rèn)證碼67來驗(yàn)證第一用戶信息61的有效性與完整性。第一用戶信息認(rèn)證 碼67與第一用戶信息61其中之一改變將破壞后續(xù)的認(rèn)證。另一個(gè)實(shí)施方式中, 信息認(rèn)證碼產(chǎn)生單元65由密鑰產(chǎn)生器(key generator)替代,密鑰產(chǎn)生器依據(jù) 根密鑰以及第一用戶標(biāo)識(shí)碼61a產(chǎn)生另一個(gè)唯一密鑰。然后,將用戶信息61與 第一信息認(rèn)證碼67寫入外部閃存66。本實(shí)施方式中,才艮密鑰可為硬件唯一密鑰 63與第一用戶標(biāo)識(shí)碼61a的任意算術(shù)結(jié)果。例如,根密鑰可通過將硬件唯一密 鑰63與用戶標(biāo)識(shí)碼61a相加、將用戶標(biāo)識(shí)碼61a與硬件唯一密鑰63相減、將硬 件唯一密鑰63與用戶標(biāo)識(shí)碼61a相乘、或者將石更件唯一密鑰63與用戶標(biāo)識(shí)碼 61a相除來得到根密鑰?;蛘撸蓪⒂脩魳?biāo)識(shí)碼61a與硬件唯一密鑰63逐比特 進(jìn)行及運(yùn)算(AND)、或運(yùn)算(OR)或者異或運(yùn)算(XOR)來得到根密鑰。在 另一個(gè)實(shí)施方式中,根密鑰可為硬件唯一密鑰63與第一用戶信息61的任意算 術(shù)結(jié)果。本實(shí)施方式中,信息認(rèn)證碼產(chǎn)生單元65可由硬件電路或者執(zhí)行特定程 序代碼的處理器實(shí)現(xiàn)。
圖7為依據(jù)本發(fā)明的裝置啟動(dòng)過程中信息認(rèn)證碼產(chǎn)生與驗(yàn)證(validation) 的簡(jiǎn)要示意圖。參考圖5所示的步驟S510至步驟S515,假設(shè)第二用戶信息72 包含第二用戶標(biāo)識(shí)碼72a,并且在當(dāng)前裝置重置之前,已提供第二信息認(rèn)證碼 73至外部閃存71。認(rèn)證裝置自外部閃存讀71取第二用戶信息72,并由讀取的 用戶信息獲得第二用戶標(biāo)識(shí)碼72a。當(dāng)整個(gè)裝置重置時(shí),上述引導(dǎo)用只讀存儲(chǔ)器 程序清空寄存器76的初始內(nèi)容,并寫入第二用戶標(biāo)識(shí)碼72a至寄存器76。本實(shí) 施方式中,在下一次裝置重置之前,鎖定寄存器76的內(nèi)容來避免第二用戶標(biāo)識(shí) 碼#皮修改。與圖6所示的運(yùn)算單元64相似,運(yùn)算單元78自寄存器76獲得第二用戶標(biāo)識(shí)碼,并獲得硬件唯一密鑰77來產(chǎn)生根密鑰。信息認(rèn)證碼產(chǎn)生單元74 依據(jù)根密鑰以及第二用戶標(biāo)識(shí)碼72a來產(chǎn)生第三信息認(rèn)證碼75。根密鑰與第三 信息認(rèn)證碼75的產(chǎn)生方法與第二信息認(rèn)證碼73的產(chǎn)生方法相同。信息認(rèn)證碼 比較器79通過判斷產(chǎn)生的第三信息認(rèn)證碼75與外部閃存71存儲(chǔ)的第二信息認(rèn) 證碼73是否相同,來認(rèn)證外部閃存71的程序。如果不同,認(rèn)證方法執(zhí)行的流 程跳轉(zhuǎn)至錯(cuò)誤處理狀態(tài)。如果相同,具有外部閃存71存儲(chǔ)的程序的裝置啟動(dòng)。 可以推導(dǎo)出只有在第一用戶信息61、用戶標(biāo)識(shí)碼61a以及信息認(rèn)證碼67分別與 第二用戶信息72、用戶標(biāo)識(shí)碼72a以及信息認(rèn)i正碼73相同時(shí),該程序才能夠成 功認(rèn)證,即第二信息認(rèn)證碼73與第三認(rèn)證碼75相同。換言之,只有在外部閃 存存儲(chǔ)的用戶信息與程序都沒有被修改時(shí),該程序才能夠成功認(rèn)證。本實(shí)施方
圖2所示處理器21)實(shí)現(xiàn)。
圖8為依據(jù)本發(fā)明的信息認(rèn)證碼產(chǎn)生單元的實(shí)施方式的示意圖。該信息認(rèn) 證碼產(chǎn)生單元包^:列單元(hash unit) 81以及加密單元(encrypt unit) 82。散 列單元81接收用戶信息并利用熟知的散列函數(shù)來產(chǎn)生用戶信息的散列值(hash value )。散列函數(shù)將可變大小(variable-sized )的用戶信息轉(zhuǎn)變?yōu)楣潭ù笮?(fixed-sized)的用戶信息,并輸出相對(duì)小型的散列值作為用戶信息的數(shù)字指紋 (digital fingerprint)。加密單元82通過利用根密鑰來加密以產(chǎn)生信息認(rèn)證碼。
圖9為依據(jù)本發(fā)明的信息認(rèn)證碼產(chǎn)生單元的另一個(gè)實(shí)施方式的示意圖。該 信息認(rèn)證碼產(chǎn)生單元包含數(shù)據(jù)結(jié)合單元(data joint unit) 91與散列單元92。數(shù) 據(jù)結(jié)合單元91合并用戶信息與根密鑰來產(chǎn)生結(jié)合值。本實(shí)施方式中,結(jié)合結(jié)果 可為根密鑰與用戶信息的算術(shù)結(jié)果。散列單元92利用熟知散列函數(shù)來產(chǎn)生用戶 信息與根密鑰的結(jié)合值的散列值,即產(chǎn)生信息認(rèn)證碼。
圖10為依據(jù)本發(fā)明的由認(rèn)證裝置執(zhí)行的認(rèn)證方法的另一個(gè)實(shí)施方式的流程 圖。在步驟S101中,整個(gè)裝置重置。在步驟S102中,^人證裝置依據(jù)外部控制 信號(hào)來檢測(cè)是否需要下載程序到閃存。需注意的是,該程序可自外部電子裝置 下載,例如自個(gè)人計(jì)算機(jī)、筆記型計(jì)算機(jī)、個(gè)人數(shù)字輔助理器、移動(dòng)電話、智 能手機(jī)以及其它類似裝置下載。如果需要下載程序到閃存,認(rèn)證方法執(zhí)行步驟 S103至步驟S109。如果不需要下載程序到閃存,認(rèn)證方法執(zhí)行步驟S110至 S115。在步驟S103中,提供相對(duì)應(yīng)于該程序的用戶信息來認(rèn)證,其中該用戶信 息包含用戶標(biāo)識(shí)碼。在步驟S105中,如果用戶信息通過認(rèn)證,認(rèn)i正方法執(zhí)行的程序跳至步驟S106,如果用戶信息沒有通過認(rèn)證,認(rèn)i正方法執(zhí)行的步驟跳至錯(cuò)
誤處理狀態(tài)。在步驟S106中,認(rèn)證裝置自提供的用戶信息獲得用戶標(biāo)識(shí)碼,并 在步驟S107中將用戶標(biāo)識(shí)碼寫入并鎖定于寄存器(例如圖2所示的寄存器22b 或者圖4所示的寄存器45)中。然后,在步驟S108中,認(rèn)證裝置利用硬件唯一 密鑰(例如圖2所示的硬件唯一密鑰26)與存^f諸于寄存器的用戶標(biāo)識(shí)碼來產(chǎn)生 相對(duì)應(yīng)于該提供的用戶信息的信息認(rèn)證碼。在步驟S109中,認(rèn)證裝置將用戶信 息、產(chǎn)生的信息認(rèn)證碼以及該程序?qū)懭胫镣獠块W存(例如圖2所示的外部閃存 29)。在執(zhí)行步驟S109之后,整個(gè)裝置再次重置。
如果不需要下載程序到閃存,認(rèn)證方法執(zhí)行的程序跳至步驟SllO。在步驟 Sl 10中,認(rèn)證裝置自外部閃存讀取信息認(rèn)證碼,并且在步驟Sl 11中通過解密讀 取的信息認(rèn)證碼來獲得第二散列值。在步驟S112中,認(rèn)證裝置自外部閃存獲得 用戶信息,并且在步驟S113中,傳輸用戶信息至散列值產(chǎn)生器來產(chǎn)生獲得的用 戶信息的第一散列值。在步驟S114中,認(rèn)證裝置判斷第一散列值與第二散列值 是否相同。如果相同,認(rèn)證方法執(zhí)行的程序跳轉(zhuǎn)至步驟S115,并且具有外部閃 存初始存儲(chǔ)的程序的整個(gè)裝置啟動(dòng)。如果不同,認(rèn)證方法執(zhí)行的步驟跳轉(zhuǎn)至錯(cuò) 誤處理狀態(tài)。認(rèn)證裝置可由專用配屬硬件電路或者微處理器(例如圖2所示的 微處理器21)來實(shí)現(xiàn)。
圖11為依據(jù)本發(fā)明的裝置啟動(dòng)過程中散列值產(chǎn)生與驗(yàn)證的簡(jiǎn)要示意圖。參 考圖IO所示的步驟SIIO至步驟S115, ,H殳第二用戶信息1001包含第二用戶 標(biāo)識(shí)碼1012,并且在當(dāng)前裝置重置之前,已提供第二信息認(rèn)證碼1002至外部閃 存10(B。當(dāng)整個(gè)裝置重置時(shí),上述引導(dǎo)用只讀存儲(chǔ)器程序清空寄存器1006的初 始內(nèi)容并寫入用戶標(biāo)識(shí)碼1012至寄存器1006。本實(shí)施方式中,在下一次裝置重 置之前,鎖定寄存器1006的內(nèi)容來避免寄存器存儲(chǔ)的用戶標(biāo)識(shí)碼被修改。解密 單元(decrypting unit) 1008自外部閃存1003獲得第二信息認(rèn)證碼1002。隨后, 解密單元1008依據(jù)根密鑰產(chǎn)生第二散列值1009。運(yùn)算單元1010自寄存器1006 獲得用戶標(biāo)識(shí)碼,并獲得硬件唯一密鑰1007來產(chǎn)生根密鑰。散列值產(chǎn)生器1004 自外部閃存1003獲得第二用戶信息1001,并利用熟知的散列函數(shù)產(chǎn)生相對(duì)應(yīng)于 獲得的用戶信息1001的第一散列值1005。散列值比較器1011比較第一散列值 1005與第二散列值1009 。當(dāng)?shù)?一散列值1005與第二散列值1009相同時(shí),散列 值比較器1011輸出信號(hào)來指示相對(duì)應(yīng)于第二用戶信息1001的下載到閃存的程 序通過認(rèn)證,否則,散列值比較器1011輸出信號(hào)來指示相對(duì)應(yīng)于第二用戶信息
131001的下載到閃存的程序沒有通過認(rèn)證。本實(shí)施方式中,散列值比較器1011可
通過硬件電路或者處理器(例如圖2所示值處理器21 )執(zhí)行特定軟件代碼實(shí)現(xiàn)。 任何本領(lǐng)域技術(shù)人員可輕易完成的改變或均等性的安排均屬于本發(fā)明所主 張的范圍,本發(fā)明的權(quán)利范圍應(yīng)以權(quán)利要求書為準(zhǔn)。
權(quán)利要求
1.一種認(rèn)證下載至閃存的程序的裝置,包含硬件唯一密鑰;寄存器,存儲(chǔ)用戶標(biāo)識(shí)碼;以及信息認(rèn)證碼產(chǎn)生單元,依據(jù)該硬件唯一密鑰以及該用戶標(biāo)識(shí)碼獲得根密鑰,并利用該已獲得的根密鑰產(chǎn)生與該程序相對(duì)應(yīng)的第一信息認(rèn)證碼,其中,鎖定該寄存器的內(nèi)容,在下一次裝置重置之前避免該存儲(chǔ)的用戶標(biāo)識(shí)碼被修改。
2. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,更 包含鎖定電路,用來在該用戶標(biāo)識(shí)碼寫入該寄存器之后鎖定該寄存器。
3. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,更 包含引導(dǎo)用只讀存儲(chǔ)器,存儲(chǔ)啟動(dòng)程序來寫入該用戶標(biāo)識(shí)碼至該寄存器。
4. 根據(jù)權(quán)利要求3所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,其 中依照裝置重置信號(hào)激活該啟動(dòng)程序,并且依照該裝置重置信號(hào)初始化該寄存 器。
5. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,更 包含運(yùn)算單元,接收該用戶標(biāo)識(shí)碼以及該硬件唯一密鑰來產(chǎn)生該根密鑰。
6. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,該 信息認(rèn)i正碼產(chǎn)生單元包含散列單元,產(chǎn)生相對(duì)應(yīng)于包含該用戶標(biāo)識(shí)碼的用戶信息的散列值;以及 加密單元,通過利用該已獲得的根密鑰加密該散列值來產(chǎn)生該第一信息認(rèn) 證碼。 '
7. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,該 信息認(rèn)證碼產(chǎn)生單元更包含數(shù)據(jù)結(jié)合單元產(chǎn)生相對(duì)應(yīng)于該用戶標(biāo)識(shí)碼以及該石更件唯一密鑰的第一結(jié) 果;以及散列單元,產(chǎn)生該第 一結(jié)果的散列值作為該第 一信息認(rèn)證碼。
8. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,該 裝置是嵌入于電子設(shè)備,并且當(dāng)該第一信息認(rèn)證碼通過認(rèn)證時(shí),啟動(dòng)具有該程序的該電子設(shè)備。
9. 根據(jù)權(quán)利要求8所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,更 包含外部閃存,用來存儲(chǔ)第二信息認(rèn)證碼;以及比較器,用來比較該第一信息認(rèn)證碼與該第二信息認(rèn)證碼,并且當(dāng)該第一 信息認(rèn)證碼與該第二信息認(rèn)證碼相同時(shí),判斷該第一信息認(rèn)證碼通過認(rèn)證。
10. 根據(jù)權(quán)利要求1所述的認(rèn)證下載至閃存的程序的裝置,其特征在于,更 包含鎖定電路,用來在用戶標(biāo)識(shí)碼完全寫入該寄存器之后鎖定該用戶標(biāo)識(shí)碼。
11. 一種認(rèn)證下載至閃存的程序的方法,由電子裝置執(zhí)行,包含 獲得相對(duì)應(yīng)于該電子裝置的硬件唯一密鑰;獲得相對(duì)應(yīng)于用戶的用戶標(biāo)識(shí)碼;獲得相對(duì)應(yīng)于該硬件唯一密鑰以及該用戶標(biāo)識(shí)碼的根密鑰;以及 利用該已獲得的根密鑰,產(chǎn)生與該程序相對(duì)應(yīng)的第 一信息認(rèn)證碼。
12. 根據(jù)權(quán)利要求11所述的認(rèn)證下載至閃存的程序的方法,其特征在于, 在下一次裝置重置之前寫入并鎖定該用戶標(biāo)識(shí)碼。
13. 根據(jù)權(quán)利要求11所述的認(rèn)證下載至閃存的程序方法,其特征在于,更 包含下載該程序;寫入并鎖定該用戶標(biāo)識(shí)碼至寄存器;以及 寫入該信息認(rèn)^t碼與該程序至外部?jī)?nèi)存,其中,在下一次裝置重置之前該用戶標(biāo)識(shí)碼不能以任何方式修改。
14. 一種認(rèn)證下載至閃存的程序的方法,由電子裝置執(zhí)行,包含 獲得第一信息認(rèn)證碼;獲得相對(duì)應(yīng)于用戶以及該程序的用戶標(biāo)識(shí)碼;判斷該第一信息認(rèn)證碼是否與該用戶標(biāo)識(shí)碼相對(duì)應(yīng);以及當(dāng)該第一信息認(rèn)證碼相對(duì)應(yīng)于該用戶標(biāo)識(shí)碼時(shí),啟動(dòng)具有該程序的該電子裝置。
15. 根據(jù)權(quán)利要求14所述的認(rèn)證下載至閃存的程序的方法,其特征在于, 該判斷該第 一信息認(rèn)證碼是否與該用戶標(biāo)識(shí)碼相對(duì)應(yīng)的步驟更包含獲得與該電子裝置相對(duì)應(yīng)的硬件唯一密鑰; 依據(jù)該用戶標(biāo)識(shí)碼與該硬件唯一 密鑰產(chǎn)生根密鑰;獲得包含該用戶標(biāo)識(shí)碼的用戶信息;通過利用該產(chǎn)生的根密鑰加密該用戶信息來產(chǎn)生第二信息認(rèn)證碼;以及 當(dāng)該第 一信息認(rèn)證碼與該第二信息認(rèn)證碼相同時(shí),判斷該第 一信息認(rèn)證碼 相對(duì)應(yīng)于該用戶標(biāo)識(shí)碼。
16. 根據(jù)權(quán)利要求14所述的認(rèn)證下載至閃存的程序的方法,其特征在于, 更包含寫入該用戶標(biāo)識(shí)碼至寄存器;以及在將該用戶標(biāo)識(shí)碼完全寫入之后,鎖定該用戶標(biāo)識(shí)碼來避免該用戶標(biāo)識(shí)碼 被修改。
17. 根據(jù)權(quán)利要求14所述的認(rèn)證下載至閃存的程序的方法,其特征在于, 該判斷該第 一信息認(rèn)證碼是否與該用戶標(biāo)識(shí)碼相對(duì)應(yīng)的步驟更包含獲得相對(duì)應(yīng)于該電子裝置的硬件唯一密鑰; 依據(jù)該用戶標(biāo)識(shí)碼與該硬件唯一密鑰產(chǎn)生根密鑰; 獲得包含該用戶標(biāo)識(shí)碼的用戶信息; 通過散列函數(shù)獲得該已獲得的用戶信息的第一散列值; 通過利用該產(chǎn)生的根密鑰解密該第一信息認(rèn)證碼來獲得第二散列值;以及 當(dāng)該第 一散列值與該第二散列值相同時(shí),判斷該笫 一信息認(rèn)證碼相對(duì)應(yīng)于 該用戶標(biāo)識(shí)碼。
18. —種認(rèn)證下載至閃存的程序的裝置,包含 硬件唯一密鑰;寄存器,存儲(chǔ)用戶標(biāo)識(shí)碼;密鑰產(chǎn)生單元,依據(jù)該硬件唯一密鑰以及該用戶標(biāo)識(shí)碼產(chǎn)生根密鑰;以及 鎖定電路,用來鎖定該寄存器的內(nèi)容,在下一次裝置重置之前避免該存儲(chǔ)的用戶標(biāo)識(shí)碼4皮^修改。
19. 根據(jù)權(quán)利要求18所述的認(rèn)證下載至閃存的程序的裝置,其特征在于, 該寄存器是第一 D型觸發(fā)器。
20. 根據(jù)權(quán)利要求1.9所述的認(rèn)證電子設(shè)備內(nèi)的下載至閃存的程序的裝置, 其特征在于,該鎖定電路更包含第二D型觸發(fā)器; 或門;反相器;以及與門,其中該或門耦接于該第二 D型觸發(fā)器的輸出端與第一輸入端之間,該反相器耦接于該第二 D型觸發(fā)器的輸出端與該與門的第一輸入端之間,并且該與門 的輸出端耦接至該第一 D型觸發(fā)器的時(shí)鐘輸入端。
21.根據(jù)權(quán)利要求20所述的認(rèn)證電子設(shè)備內(nèi)的下載至閃存的程序的裝置, 其特征在于,該或門更包含第二輸入端,該第二 D型觸發(fā)器包含第二輸入端以 及時(shí)鐘輸入端,該與門包含邏輯值為1的第二輸入端,當(dāng)裝置重置時(shí),該或門 的第二輸出端設(shè)置為邏輯值0,該第二 D型觸發(fā)器的該第二輸入端接收裝置重置信號(hào)來清空鎖存其中的數(shù)據(jù),并且在完全寫入該用戶標(biāo)識(shí)碼之后,該或門的 第二輸入端設(shè)置為邏輯值1。
全文摘要
本發(fā)明提供一種認(rèn)證下載到閃存的程序的裝置及其方法。該裝置包含硬件唯一密鑰;寄存器,存儲(chǔ)用戶標(biāo)識(shí)碼;以及信息認(rèn)證碼產(chǎn)生單元,依據(jù)硬件唯一密鑰以及用戶標(biāo)識(shí)碼獲得根密鑰,并利用已獲得的根密鑰產(chǎn)生與程序相對(duì)應(yīng)的第一信息認(rèn)證碼,其中,鎖定寄存器的內(nèi)容,以在下一次裝置重置之前避免存儲(chǔ)的用戶標(biāo)識(shí)碼被修改。本發(fā)明提供的認(rèn)證下載到閃存的程序的裝置及其方法,根據(jù)硬件唯一密鑰與用戶信息一同來認(rèn)證下載到閃存的程序,能夠減少安全漏洞,增進(jìn)認(rèn)證裝置與認(rèn)證方法的有效性。
文檔編號(hào)H04L29/06GK101494645SQ20081013251
公開日2009年7月29日 申請(qǐng)日期2008年9月23日 優(yōu)先權(quán)日2008年1月25日
發(fā)明者楊宗憲, 楊慶昭 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
洮南市| 大城县| 天祝| 沙田区| 南平市| 郸城县| 枝江市| 泰来县| 个旧市| 武清区| 绍兴县| 从化市| 红安县| 安庆市| 凌云县| 大丰市| 封丘县| 郓城县| 通许县| 张掖市| 邳州市| 黔江区| 榆林市| 石渠县| 凤山市| 巴林左旗| 申扎县| 廊坊市| 浪卡子县| 常德市| 新竹市| 新邵县| 福鼎市| 平和县| 深泽县| 和平县| 阳城县| 安吉县| 肥东县| 寿阳县| 措美县|