亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種安全芯片及其非易失性存儲控制裝置、方法與流程

文檔序號:12670254閱讀:298來源:國知局
一種安全芯片及其非易失性存儲控制裝置、方法與流程

本發(fā)明涉及安全芯片技術領域,尤其涉及一種安全芯片及其非易失性存儲控制裝置、方法。



背景技術:

安全芯片是指帶有數(shù)據(jù)加密和防安全攻擊技術的集成電路芯片,廣泛應用于數(shù)字簽名、身份認證等領域,如常見的公交卡和社??ǖ戎悄芸?、網(wǎng)銀優(yōu)盾等都是安全芯片應用的例子。

對于安全芯片的攻擊目前一般分為非侵入式攻擊、侵入式攻擊和半侵入式攻擊等三種形式。其中,非侵入式攻擊不需要直接接觸芯片內(nèi)部元器件,也不會對芯片造成任何損傷,比如時序攻擊和功耗分析即屬于此類;侵入式攻擊則需要直接接觸芯片內(nèi)部元器件,例如化學腐蝕和激光切割等即屬于此類;半侵入式攻擊則介于非侵入式和侵入式攻擊之間,它也需要打開芯片的封裝來訪問芯片表面,但不需要與金屬表面進行電接觸,這樣對硅就沒有機械損傷,例如常見的激光攻擊即屬于此類。

包括光注入、電磁操縱、放射線注入等在內(nèi)的半侵入式攻擊,在安全芯片運行的特定時刻特定物理位置,人為引入瞬間可控的干擾信號,改變芯片程序流程、存儲器內(nèi)容,以獲取敏感權限操作及密鑰等敏感信息,而其中又以激光注入最為常見。由于激光的能量集中,因而很容易使芯片內(nèi)部數(shù)字邏輯產(chǎn)生錯誤翻轉,或者使存儲器單元發(fā)生瞬時數(shù)據(jù)錯誤,從而對芯片的安全性造成危害。目前芯片對抗激光攻擊常用的方法主要有使用無源屏蔽層(在芯片表面覆蓋大面積金屬層)、光傳感器和增加數(shù)據(jù)校驗位等。但是金屬屏蔽層的方法受現(xiàn)有工藝和制造條件限制只能應用于芯片正面,若激光從芯片背面進行攻擊則該金 屬屏蔽層不起作用;同時光傳感器的方法受限于芯片面積的制約,故總是以一定密度存在而不可能布滿整個芯片。

圖1為現(xiàn)有的安全芯片的結構示意圖,如圖1所示,安全芯片主要包括:

安全算法單元101,用于實現(xiàn)安全算法,一般,安全算法包括RSA(Rivest Shamir Adlemen,一種公鑰加密)算法,AES(Advanced Encryption Standard,高級對稱密碼標準)算法,哈希(HASH)算法等;

模擬振蕩器102,用于為整個芯片系統(tǒng)提供所需的時鐘信號;

電源管理單元103,用于為整個芯片提供穩(wěn)定可靠的電源,以及配合系統(tǒng)的低功耗策略;

安全防護單元104,通常包括光傳感器、溫度傳感器和磁場傳感器等;

微處理器及總線矩陣105,微處理器是整個芯片的核心,它通過總線矩陣和各種外設聯(lián)系起來,從而通過運行于處理器上的軟件來控制整個系統(tǒng)的運行;

時鐘及復位管理單元106,用于管理整個芯片的時鐘和復位網(wǎng)絡;

接口單元107,通常包括符合ISO 7816協(xié)議,或ISO 14443協(xié)議的通訊接口;

非易失性存儲器及其控制器108,通常包括ROM,EEPROM或FLASH等及其對應的存儲控制器;

動態(tài)隨機存儲器及其控制器109,即微處理器運行所需要的內(nèi)存及內(nèi)存控制器。

通常,在安全芯片中,非易失性存儲器(主要指閃存和EEPROM)總是占有相當大的面積,因此也最容易成為半侵入式安全攻擊的目標,而針對非易失性存儲器的安全防護也一直是安全芯片設計所考慮的重點之一。



技術實現(xiàn)要素:

為解決現(xiàn)有存在的技術問題,本發(fā)明實施例期望提供一種安全芯片及其非 易失性存儲控制裝置、方法,能以較小的硬件和系統(tǒng)開銷實現(xiàn)對安全芯片中非易失性存儲數(shù)據(jù)的保護。

本發(fā)明實施例的技術方案是這樣實現(xiàn)的:

本發(fā)明實施例提供一種非易失性存儲控制裝置,該裝置包括:非易失性存儲器和存儲控制器;

所述非易失性存儲器包括:第一存儲區(qū)和校驗存儲區(qū);其中

第一存儲區(qū),用于存儲第一寫數(shù)據(jù);

校驗存儲區(qū),用于存儲第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值;

所述存儲控制器包括:循環(huán)冗余校驗單元、校驗值寫單元、第一寫單元、寄存單元、比對單元和第一讀單元;其中,

循環(huán)冗余校驗單元,用于計算數(shù)據(jù)對應的循環(huán)冗余校驗值;

校驗值寫單元,用于將所述第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值寫入所述校驗存儲區(qū);

第一寫單元,用于將第一寫數(shù)據(jù)寫入所述第一存儲區(qū);

寄存單元,用于寄存讀數(shù)據(jù)對應的循環(huán)冗余校驗值;

比對單元,用于比對讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值;

第一讀單元,用于當讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值相同時,返回所述讀數(shù)據(jù)。

上述方案中,所述存儲控制器還包括:

報警單元,用于當讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值不相同時,返回報警信息。

上述方案中,所述非易失性存儲器還包括:第二存儲區(qū),用于存儲第二寫數(shù)據(jù);

所述存儲控制器還包括:

第二寫單元,用于直接將第二寫數(shù)據(jù)寫入所述第二存儲區(qū);

第二讀單元,用于直接返回所述第二存儲區(qū)中的數(shù)據(jù)。

上述方案中,所述非易失性存儲器的第一存儲區(qū)與校驗存儲區(qū)不相鄰,或第一存儲區(qū)與校驗存儲區(qū)的首地址相距較遠。

上述方案中,所述非易失性存儲器中,第一存儲區(qū)的一個單位數(shù)據(jù)對應校驗存儲區(qū)的一個循環(huán)冗余校驗值。

本發(fā)明實施例還提供一種安全芯片,該安全芯片中包括上述任意一種非易失性存儲控制裝置。

本發(fā)明實施例還提供一種非易失性存儲控制方法,該方法包括:

當對第一存儲區(qū)執(zhí)行寫操作時,

循環(huán)冗余校驗單元計算第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值;

校驗值寫單元將所述第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值寫入所述校驗存儲區(qū);

第一寫單元將所述第一寫數(shù)據(jù)寫入所述第一存儲區(qū);

當對所述第一存儲區(qū)執(zhí)行讀操作時,

循環(huán)冗余校驗單元計算讀數(shù)據(jù)對應的循環(huán)冗余校驗值;

寄存單元寄存讀數(shù)據(jù)對應的循環(huán)冗余校驗值;

比對單元比對讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值;

當讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值相同時,第一讀單元返回所述讀數(shù)據(jù)。

上述方案中,所述方法還包括:

當讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值不相同時,報警單元返回報警信息。

上述方案中,所述方法還包括:

當對第二存儲區(qū)執(zhí)行寫操作時,第二寫單元直接將第二寫數(shù)據(jù)寫入所述第二存儲區(qū);

當對第二存儲區(qū)執(zhí)行讀操作時,第二讀單元直接返回所述第二存儲區(qū)中的數(shù)據(jù)。

上述方案中,所述計算第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值包括:

對第一寫數(shù)據(jù)的每單位數(shù)據(jù)逐一計算與之對應的循環(huán)冗余校驗值。

本發(fā)明實施例所提供的安全芯片及其非易失性存儲控制裝置、方法,通過對非易失性存儲器內(nèi)的重要數(shù)據(jù)可使用專用的循環(huán)冗余校驗電路進行特征值運算,并且將該特征值與重要數(shù)據(jù)分別獨立存放,從而在安全芯片的非易失性存儲器受到攻擊時,系統(tǒng)能及時發(fā)現(xiàn)重要數(shù)據(jù)是否已被篡改,進而可以及時報警或采取其他應對措施。采用循環(huán)冗余校驗電路計算特征值,軟硬件實現(xiàn)復雜度低,系統(tǒng)性能損失小。

附圖說明

圖1為現(xiàn)有的安全芯片的結構示意圖;

圖2為本發(fā)明實施例提供的非易失性存儲控制裝置的組成結構示意圖;

圖3為本發(fā)明實施例提供的非易失性存儲控制方法的實現(xiàn)流程示意圖。

具體實施方式

為了更清楚地說明本發(fā)明實施例和技術方案,下面將結合附圖及實施例對 本發(fā)明的技術方案進行更詳細的說明,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明的實施例,本領域普通技術人員在不付出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例中,將安全芯片中的非易失性存儲器及其控制器合稱為非易失性存儲控制裝置,例如圖1中的非易失性存儲器及其控制器108可被稱為非易失性存儲控制裝置108。

圖2為本發(fā)明實施例提供的非易失性存儲控制裝置的結構示意圖,如圖2所示,所述裝置包括:非易失性存儲器21和存儲控制器22;

所述非易失性存儲器21包括:第一存儲區(qū)211和校驗存儲區(qū)212;其中

第一存儲區(qū)211,用于存儲第一寫數(shù)據(jù);

校驗存儲區(qū)212,用于存儲第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值;

所述存儲控制器22包括:循環(huán)冗余校驗單元221、校驗值寫單元222、第一寫單元223、寄存單元224、比對單元225和第一讀單元226;其中,

循環(huán)冗余校驗單元221,用于計算數(shù)據(jù)對應的循環(huán)冗余校驗值;

校驗值寫單元222,用于將所述第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值寫入所述校驗存儲區(qū)212;

第一寫單元223,用于將第一寫數(shù)據(jù)寫入所述第一存儲區(qū)211;

寄存單元224,用于寄存讀數(shù)據(jù)對應的循環(huán)冗余校驗值;

比對單元225,用于比對讀數(shù)據(jù)對應的所述校驗存儲區(qū)212中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元224中的循環(huán)冗余校驗值;

第一讀單元226,用于當讀數(shù)據(jù)對應的所述校驗存儲區(qū)212中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元224中的循環(huán)冗余校驗值相同時,返回所述讀數(shù)據(jù)。

具體的,第一寫數(shù)據(jù)通常是十分重要的數(shù)據(jù),一旦這類數(shù)據(jù)被篡改或者丟失,將對安全芯片的用戶造成損失,例如用戶密鑰,充值卡余額信息等。因此這類數(shù)據(jù)需要做專門保護。安全芯片在將這類數(shù)據(jù)(第一寫數(shù)據(jù))寫入非易失性存儲器21時,應將第一寫數(shù)據(jù)存儲于第一存儲區(qū)212中。為了加強對第一寫數(shù)據(jù)的保護力度,本發(fā)明實施例中,存儲控制器22包括循環(huán)冗余校驗單元221,可對第一寫入數(shù)據(jù)計算其對應的循環(huán)冗余校驗值,并由校驗值寫單元223將該循環(huán)冗余校驗值寫入校驗存儲區(qū)212。相應的,第一寫數(shù)據(jù)由第一寫單元222寫入第一存儲區(qū)211。

這里,用于計算循環(huán)冗余校驗值的多項式的選擇可以不是固定的,安全芯片可根據(jù)應用需要來選定。常用且標準的循環(huán)冗余校驗值生成多項式有:X8+X5+X4+1、X16+X15+X2+1、X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+1等。但無論選用何種多項式,循環(huán)冗余校驗的好處在于,硬件的實現(xiàn)難度較低,占用邏輯資源較少,同時存儲校驗值所需要的空間也少。這對于一些對成本和功耗敏感的安全芯片(例如智能卡)是極為有利的。

當安全芯片讀取非易失性存儲器21中第一存儲區(qū)211的數(shù)據(jù),即讀取地址在第一存儲區(qū)211內(nèi)時,這里稱讀取地址對應的數(shù)據(jù)為“讀數(shù)據(jù)”,則存儲控制器22的循環(huán)冗余校驗單元221計算該讀數(shù)據(jù)對應的循環(huán)冗余校驗值,并由寄存單元224寄存該讀數(shù)據(jù)對應的循環(huán)冗余校驗值;接著,比對單元225比對讀數(shù)據(jù)對應的所述校驗存儲區(qū)212中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元224中的循環(huán)冗余校驗值;當讀數(shù)據(jù)對應的所述校驗存儲區(qū)212中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元224中的循環(huán)冗余校驗值相同時,說明非易失性存儲器21未遭到破壞,則第一讀單元226向安全芯片返回所述讀數(shù)據(jù)。

優(yōu)選的,上述控制裝置中,所述存儲控制器22還包括:

報警單元,用于當讀數(shù)據(jù)對應的所述校驗存儲區(qū)212中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元224中的循環(huán)冗余校驗值不相同時,向安全芯片返回 報警信息。

進一步的,所述向安全芯片返回報警信息可以包括:

報警單元向安全芯片內(nèi)部微處理器或者芯片系統(tǒng)控制單元發(fā)送報警信號;可由安全芯片固件或者硬件系統(tǒng)對該報警信號進行安全防護和處理,例如芯片內(nèi)部斷電或者復位等。

在一些實施例中,非易失性存儲器21中也可能存儲一些不十分重要的數(shù)據(jù),這類數(shù)據(jù)不需要專門保護,因此,上述非易失性存儲控制裝置中,如圖2所示,非易失性存儲器21還可以包括:第二存儲區(qū),用于存儲第二寫數(shù)據(jù);這里,第二寫數(shù)據(jù)即指不需要特別保護的那類數(shù)據(jù);

相應的,所述存儲控制器22還可以包括:

第二寫單元,用于直接將第二寫數(shù)據(jù)寫入所述第二存儲區(qū);

第二讀單元,用于直接返回所述第二存儲區(qū)中的數(shù)據(jù)。

如此,非易失性存儲控制裝置對于存儲在內(nèi)的數(shù)據(jù)可根據(jù)數(shù)據(jù)安全等級、重要性等不同因素,而采用不同的存儲控制策略,提高了靈活性。

進一步的,為了減少非易失性存儲器21的第一存儲區(qū)211與校驗存儲區(qū)212同時受到攻擊的機率,上述控制裝置中,非易失性存儲器21的第一存儲區(qū)211與校驗存儲區(qū)212最好不相鄰,例如,讓它們中間以第二存儲區(qū)相隔;或著讓第一存儲區(qū)211的首地址與校驗存儲區(qū)212的首地址相距比較遠的距離。

進一步的,上述非易失性存儲器21中,第一存儲區(qū)211的一個單位數(shù)據(jù)對應校驗存儲區(qū)212的一個循環(huán)冗余校驗值。

具體的,一份重要的數(shù)據(jù)可能需要多個存儲單位來保存,這里,存儲單位可以是1byte,也可以是1page,具體根據(jù)非易失性存儲器21的讀/寫帶寬和應用場景確定;為了提高安全性,在一些實施例中,對一份第一寫數(shù)據(jù)的每個單位數(shù)據(jù)分別計算一個循環(huán)冗余校驗值進行存儲,如此,一份重要的數(shù)據(jù)將對應一個以上的循環(huán)冗余校驗值。

在實際應用中,上述非易失性存儲器21可以是一次性可編程只讀存儲器(OTP ROM)、電可擦可編程只讀存儲器(EEPROM)或閃存(Flash),存儲控制器22可以由控制電路實現(xiàn)。

本發(fā)明實施例還提供一種安全芯片,該安全芯片中包括上述任意一種非易失性存儲控制裝置。

本發(fā)明實施例還提供一種非易失性存儲控制方法,如圖3所示,所述方法包括:

當對第一存儲區(qū)執(zhí)行寫操作時,

步驟301,循環(huán)冗余校驗單元計算第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值;

步驟302,校驗值寫單元將所述第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值寫入所述校驗存儲區(qū);

步驟303,第一寫單元將所述第一寫數(shù)據(jù)寫入所述第一存儲區(qū);

當對第一存儲區(qū)執(zhí)行讀操作時,

步驟304,循環(huán)冗余校驗單元計算讀數(shù)據(jù)對應的循環(huán)冗余校驗值;

步驟305,寄存單元寄存讀數(shù)據(jù)對應的循環(huán)冗余校驗值;

步驟306,比對單元比對讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值;

步驟307,當讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值相同時,第一讀單元返回所述讀數(shù)據(jù)。

優(yōu)選的,上述方法還包括:

當讀數(shù)據(jù)對應的所述校驗存儲區(qū)中的循環(huán)冗余校驗值和讀數(shù)據(jù)對應的寄存單元中的循環(huán)冗余校驗值不相同時,報警單元返回報警信息。

進一步的,上述方法還可以包括:

當對第二存儲區(qū)執(zhí)行寫操作時,第二寫單元直接將第二寫數(shù)據(jù)寫入所述第二存儲區(qū);

當對第二存儲區(qū)執(zhí)行讀操作時,第二讀單元直接返回所述第二存儲區(qū)中的數(shù)據(jù)。

進一步的,上述方法中,所述計算第一寫數(shù)據(jù)對應的循環(huán)冗余校驗值包括:

對第一寫數(shù)據(jù)的每單位數(shù)據(jù)逐一計算與之對應的循環(huán)冗余校驗值。

本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用硬件實施例、軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使 得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1