国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      閃存儲存系統(tǒng)及其控制器與防數(shù)據(jù)篡改方法

      文檔序號:6768654閱讀:365來源:國知局

      專利名稱::閃存儲存系統(tǒng)及其控制器與防數(shù)據(jù)篡改方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及一種閃存儲存系統(tǒng),且特別涉及一種具有能夠防止儲存在閃存芯片中的數(shù)據(jù)被非法篡改的閃存儲存系統(tǒng)及其閃存控制器與防數(shù)據(jù)篡改方法。
      背景技術(shù)
      :數(shù)字相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于閃存(FlashMemory)具有數(shù)據(jù)非揮發(fā)性、省電、體積小與無機械結(jié)構(gòu)等的特性,適合可攜式應(yīng)用,最適合使用于這類可攜式由電池供電的產(chǎn)品上。記憶卡就是一種以NAND閃存作為儲存媒體的儲存裝置。由于記憶卡體積小容量大,所以已廣泛用于個人重要數(shù)據(jù)的儲存。然而,儲存在記憶卡內(nèi)的數(shù)據(jù)是很容易在未經(jīng)授權(quán)下被更改。也就是說,儲存于記憶卡中的數(shù)據(jù)的完整性是無法被保證的。為解決此一問題,其中一種作法就是對所儲存的數(shù)據(jù)進行加密。例如,對所儲存的數(shù)據(jù)加上數(shù)字簽章。然而,此方法卻無法抵擋數(shù)據(jù)復(fù)制的篡改。例如,以記憶卡作為交易行為的支付工具(例如,商店的預(yù)付儲值卡)的例子中,當使用者在此記憶卡中儲值1000元并于使用此記憶卡進行消費時,由于記憶卡中的閃存芯片為獨立的電路,因此攻擊者可在確認記憶卡中的閃存芯片的位置后于消費前將記憶卡內(nèi)的數(shù)據(jù)進行硬拷貝(hardcopy),之后在消費完成后再將硬拷貝的數(shù)據(jù)回存于記憶卡中,由此回復(fù)(refresh)消費前的儲值。由于對應(yīng)的數(shù)字簽章也被回存于記憶卡中,因此系統(tǒng)無法由數(shù)字簽章來驗證目前記憶卡中的儲值已被篡改?;耍绾未_保閃存芯片內(nèi)部數(shù)據(jù)的安全與完整性是此領(lǐng)域技術(shù)人員相當重視的課題。
      發(fā)明內(nèi)容本發(fā)明提供一種閃存儲存系統(tǒng),其能夠防止儲存于閃存芯片中的數(shù)據(jù)被篡改。本發(fā)明提供一種閃存控制器,其能夠防止儲存于閃存芯片中的數(shù)據(jù)被篡改。本發(fā)明提供一種防數(shù)據(jù)篡改方法,其能夠防止儲存于閃存芯片中的數(shù)據(jù)被篡改。本發(fā)明范例實施例提出一種閃存儲存系統(tǒng),其包括閃存控制器、閃存芯片與智能卡芯片。閃存控制器具有一私鑰。閃存芯片電性連接至閃存控制器,其中此閃存芯片儲存一安全數(shù)據(jù)。智能卡芯片電性連接至閃存控制器。閃存控制器會依據(jù)上述私鑰與上述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)的一簽章并且將此簽章儲存在上述智能卡芯片中。在本發(fā)明一范例實施例中,閃存控制器從閃存芯片中讀取安全數(shù)據(jù),依據(jù)上述私鑰與所讀取的安全數(shù)據(jù)使用上述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)的一比對簽章,從智能卡芯片中讀取簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同。并且,當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則閃存控制器輸出一警示信息。在本發(fā)明一范例實施例中,上述閃存控制器在上述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代上述安全數(shù)據(jù)。并且,閃存控制器依據(jù)上述私鑰與此已更新安全數(shù)據(jù)使用上述單向雜湊函數(shù)來產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)的一已更新簽章并且在上述智能卡芯片中儲存此已更新簽章以取代上述簽章。在本發(fā)明一范例實施例中,上述智能卡芯片為符合聯(lián)邦信息處理標準(FederalInformationProcessingStandards,F(xiàn)IPS)140-2的第三等級以上的芯片或符合EMVEL的第三等級以上的芯片。在本發(fā)明一范例實施例中,上述智能卡芯片透過一接口電性連接至閃存控制器,并且此接口符合ISO7816標準。本發(fā)明范例實施例提出一種閃存儲存系統(tǒng),其包括閃存控制器、閃存芯片與智能卡芯片。閃存控制器具有一私鑰。閃存芯片電性連接至閃存控制器,其中此閃存芯片儲存一安全數(shù)據(jù)。智能卡芯片電性連接至閃存控制器。閃存控制器產(chǎn)生對應(yīng)上述安全數(shù)據(jù)的一特征值并且將此特征值儲存在智能卡芯片中。此外,閃存控制器依據(jù)上述私鑰、上述特征值與上述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)與特征值的一簽章并且將此簽章儲存在上述閃存芯片中。在本發(fā)明一范例實施例中,上述閃存控制器從閃存芯片中讀取安全數(shù)據(jù)與簽章,從智能卡芯片中讀取上述特征值,依據(jù)此私鑰、所讀取的特征值與所讀取的安全數(shù)據(jù)使用上述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取安全數(shù)據(jù)與特征值的一比對簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同。并且,當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則閃存控制器會輸出一警示信息。在本發(fā)明一范例實施例中,上述閃存控制器在上述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代上述安全數(shù)據(jù)。此外,,閃存控制器產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)的一已更新特征值,并且依據(jù)上述私鑰、此已更新特征值與此已更新安全數(shù)據(jù)使用上述單向雜湊函數(shù)來產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)與此已更新特征值的一已更新簽章。另外,閃存控制器在上述閃存芯片中儲存此已更新簽章以取代上述簽章,并且在上述智能卡芯片中儲存此已更新特征值以取代上述特征值。在本發(fā)明一范例實施例中,上述特征值為在上述閃存芯片中儲存上述安全數(shù)據(jù)的一實體地址、對應(yīng)此安全數(shù)據(jù)的一隨機值或?qū)?yīng)此安全數(shù)據(jù)的一計數(shù)值。本發(fā)明范例實施例提出一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數(shù)據(jù)。本閃存控制器包括微處理器單元、閃存接口單元、內(nèi)存管理單元與安全數(shù)據(jù)保護單元。閃存接口單元電性連接至微處理器單元,并且用以電性連接至上述閃存芯片。內(nèi)存管理單元電性連接至微處理器單元。安全數(shù)據(jù)保護單元電性連接至微處理器單元,并且具有一私鑰。安全數(shù)據(jù)保護單元會依據(jù)上述私鑰與上述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)的一簽章并且將此簽章儲存在一智能卡芯片中。在本發(fā)明一范例實施例中,當內(nèi)存管理單元從閃存芯片中讀取安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元會從智能卡芯片中讀取對應(yīng)的簽章,依據(jù)上述私鑰與所讀取的安全數(shù)據(jù)使用上述單向雜湊函數(shù)產(chǎn)生對應(yīng)上述內(nèi)存管理單元所讀取的安全數(shù)據(jù)的一比對簽章,并且判斷從智能卡芯片中所讀取的簽章與所產(chǎn)生的比對簽章是否相同。并且,當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則安全數(shù)據(jù)保護單元輸出一警示信息。在本發(fā)明一范例實施例中,上述內(nèi)存管理單元在上述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代上述安全數(shù)據(jù)。并且,安全數(shù)據(jù)保護單元依據(jù)上述私鑰與此已更新安全數(shù)據(jù)使用上述單向雜湊函數(shù)來產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)的一已更新簽章并且在上述智能卡芯片中儲存此已更新簽章以取代上述簽章。本發(fā)明范例實施例提出一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數(shù)據(jù)。本閃存控制器包括微處理器單元、閃存接口單元、內(nèi)存管理單元與安全數(shù)據(jù)保護單元。閃存接口單元電性連接至微處理器單元,并且用以電性連接至上述閃存芯片。內(nèi)存管理單元電性連接至微處理器單元。安全數(shù)據(jù)保護單元電性連接至微處理器單元,并且具有一私鑰。安全數(shù)據(jù)保護單元產(chǎn)生對應(yīng)上述安全數(shù)據(jù)的一特征值并且將此特征值儲存在一智能卡芯片中。安全數(shù)據(jù)保護單元依據(jù)上述私鑰、特征值與安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)與特征值的一簽章并且將此簽章儲存在閃存芯片中。在本發(fā)明一范例實施例中,當內(nèi)存管理單元從閃存芯片中讀取安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元會從閃存芯片中讀取對應(yīng)的簽章,從智能卡芯片中讀取對應(yīng)的特征值,依據(jù)私鑰、所讀取的特征值與上述內(nèi)存管理單元所讀取的安全數(shù)據(jù)使用上述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)與特征值的一比對簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同。并且,當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則安全數(shù)據(jù)保護單元會輸出一警示信息。在本發(fā)明一范例實施例中,上述內(nèi)存管理單元在該閃存芯片中儲存一已更新安全數(shù)據(jù)以取代上述安全數(shù)據(jù)。此外,安全數(shù)據(jù)保護單元產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)的一已更新特征值,并且依據(jù)上述私鑰、已更新特征值與已更新安全數(shù)據(jù)使用上述單向雜湊函數(shù)來產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)與此已更新特征值的一已更新簽章。再者,安全數(shù)據(jù)保護單元在上述閃存芯片中儲存此已更新簽章以取代上述簽章,且在上述智能卡芯片中儲存此已更新特征值以取代上述特征值。本發(fā)明范例實施例提出一種防數(shù)據(jù)篡改方法,用于保護儲存在一閃存儲存系統(tǒng)的一閃存芯片中的一安全數(shù)據(jù)。本防數(shù)據(jù)篡改方法包括在此閃存儲存系統(tǒng)中配置一智能卡芯片,依據(jù)上述私鑰與安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)的一簽章,并且將此簽章儲存在上述智能卡芯片中。在本發(fā)明一范例實施例中,本防數(shù)據(jù)篡改方法也包括當從上述閃存芯片中讀取安全數(shù)據(jù)時,從上述智能卡芯片中讀取對應(yīng)的簽章,依據(jù)上述私鑰與所讀取的安全數(shù)據(jù)使用上述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)的一比對簽章,并且判斷從上述智能卡芯片中所讀取的簽章與所產(chǎn)生的比對簽章是否相同。本防數(shù)據(jù)篡改方法更包括當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則輸出一警示信息。在本發(fā)明一范例實施例中,上述防數(shù)據(jù)篡改方法更包括在上述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代該安全數(shù)據(jù),依據(jù)上述私鑰與此已更新安全數(shù)據(jù)使用上述單向雜湊函數(shù)來產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)的一已更新簽章,并且在上述智能卡芯片中儲存此已更新簽章以取代上述簽章。本發(fā)明范例實施例提出一種防數(shù)據(jù)篡改方法,用于保護儲存在一閃存儲存系統(tǒng)的一閃存芯片中的一安全數(shù)據(jù)。本防數(shù)據(jù)篡改方法包括在此閃存儲存系統(tǒng)中配置一智能卡芯片,產(chǎn)生對應(yīng)此安全數(shù)據(jù)的一特征值,并且將此特征值儲存在此智能卡芯片中。本防數(shù)據(jù)篡改方法也包括依據(jù)上述私鑰、特征值與安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)與特征值的一簽章并且將此簽章儲存在上述閃存芯片中。在本發(fā)明一范例實施例中,本防數(shù)據(jù)篡改方法還包括從上述閃存芯片中讀取安全數(shù)據(jù),從上述閃存芯片中讀取對應(yīng)的簽章,從智能卡芯片中讀取對應(yīng)的特征值,依據(jù)上述私鑰、所讀取的特征值與所讀取的安全數(shù)據(jù)使用上述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)與特征值的一比對簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同,本防數(shù)據(jù)篡改方法更包括當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則輸出一警示信息。在本發(fā)明一范例實施例中,上述防數(shù)據(jù)篡改方法還包括在閃存芯片中儲存一已更新安全數(shù)據(jù)以取代該安全數(shù)據(jù),產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)的一已更新特征值,依據(jù)上述私鑰、此已更新特征值與此已更新安全數(shù)據(jù)使用上述單向雜湊函數(shù)來產(chǎn)生對應(yīng)此已更新安全數(shù)據(jù)與此已更新特征值的一已更新簽章,在上述閃存芯片中儲存此已更新簽章以取代上述簽章,并且在上述智能卡芯片中儲存此已更新特征值以取代上述特征值?;谏鲜?,根據(jù)本發(fā)明范例實施例的閃存儲存系統(tǒng)、控制器與防數(shù)據(jù)篡改方法是通過在所配置的智能卡芯片中儲存對應(yīng)安全數(shù)據(jù)的簽章或特征值,并且在從閃存芯片中讀取安全數(shù)據(jù)時依據(jù)簽章或特征值來驗證安全資料是否已被篡改,由此可確保安全數(shù)據(jù)的完整性。為讓本發(fā)明上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。圖IA是根據(jù)本發(fā)明第一范例實施例所圖示使用閃存儲存裝置的主機系統(tǒng);圖IB是根據(jù)本發(fā)明范例實施例所圖示的計算機、輸入/輸出裝置與閃存儲存裝置圖IC是根據(jù)本發(fā)明另一范例實施例所圖示的主機系統(tǒng)與閃存儲存裝置的示意圖2是圖示圖IA所示的閃存儲存裝置的概要方塊圖3A是根據(jù)本發(fā)明第-圖3B是根據(jù)本發(fā)明第-圖4是根據(jù)本發(fā)明第一圖5是根據(jù)本發(fā)明第一圖6是根據(jù)本發(fā)明第一圖7是根據(jù)本發(fā)明第二圖8是根據(jù)本發(fā)明第二圖9是根據(jù)本發(fā)明第二圖10是根據(jù)本發(fā)明第:附圖標記說明1000主機系統(tǒng);1102微處理器;1106:輸入/輸出裝置1110:數(shù)據(jù)傳輸接口;1204鍵盤;-范例實施例所圖示的智能卡芯片的概要方塊圖;-范例實施例所圖示的閃存控制器的概要方塊圖;范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的范例;范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的另一范例范例實施例所圖示的防數(shù)據(jù)篡改方法的流程圖;范例實施例所圖示的閃存儲存裝置的概要方塊圖;范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的范例;范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的另一范例二范例實施例所圖示的防數(shù)據(jù)篡改方法中的流程圖。1100:計算機;1104:隨機存取內(nèi)存;;1108:系統(tǒng)總線;1202鼠標;1206顯示器;1208打印機;1214記憶卡;1310數(shù)字相機;1314=MMC卡;1318=CF卡;100:閃存儲存裝置;104:閃存控制器;108智能卡芯片;202微處理器單元;206主機接口單元;210安全數(shù)據(jù)保護單元;224:單向雜湊函數(shù);254:電源管理單元;302微處理器;306只讀存儲器;310電子抹除式可編程只讀存儲器314:第一接口單元;S1、S2、S1'、S2'簽章;106:備份閃存芯片';1212優(yōu)盤;1216固態(tài)硬盤;1312=SD卡;1316記憶棒;1320嵌入式儲存裝置;102連接器;106閃存芯片;108a接口;204內(nèi)存管理單元;208閃存接口單元;222私鑰;252緩沖存儲器;256錯誤校正單元;304安全模塊;308隨機存取內(nèi)存;312震蕩器;316第二接口單元;D1、D2:安全數(shù)據(jù);402、404、502、504、506狀態(tài);S601、S603、S605、S607、S609、S611、S613、S615、S617、S619防數(shù)據(jù)篡改的步驟;226特征值產(chǎn)生器;704閃存控制器;710安全數(shù)據(jù)保護單元;E1、E2特征值;802、804、902、904、906狀態(tài);700閃存儲存裝置;CS1、CS2、CS1'、CS2'比對簽章;S100US1003、S1005、S1007、S1009、SlOlUS1013、S1015、S1017、S1019、S1021防數(shù)據(jù)篡改的步驟。具體實施例方式一般而言,閃存儲存裝置(也稱,閃存儲存系統(tǒng))包括閃存芯片與控制器(也稱,控制電路)。通常閃存儲存裝置會與主機系統(tǒng)一起使用,以使主機系統(tǒng)可將數(shù)據(jù)寫入至閃存儲存裝置或從閃存儲存裝置中讀取數(shù)據(jù)。另外,也有閃存儲存裝置是包括嵌入式閃存與可執(zhí)行于主機系統(tǒng)上以實質(zhì)地作為此嵌入式閃存的控制器的軟件。[第一范例實施例]圖IA是根據(jù)本發(fā)明第一范例實施例所圖示使用閃存儲存裝置的主機系統(tǒng)。請參照圖1A,主機系統(tǒng)1000—般包括計算機1100與輸入/輸出(input/output,I/O)裝置1106。計算機1100包括微處理器1102、隨機存取內(nèi)存(randomaccessmemory,RAM)1104、系統(tǒng)總線1108以及數(shù)據(jù)傳輸接口1110。輸入/輸出裝置1106包括如圖IB的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖IB所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106還可包括其它裝置。在本發(fā)明實施例中閃存儲存裝置100是通過數(shù)據(jù)傳輸接口1110與主機系統(tǒng)1000的其它組件電性連接。通過微處理器1102、隨機存取內(nèi)存1104與輸入/輸出裝置1106的處理可將數(shù)據(jù)寫入至閃存儲存裝置100或從閃存儲存裝置100中讀取數(shù)據(jù)。例如,閃存儲存裝置100可以是如圖IB所示的優(yōu)盤1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216。—般而言,主機系統(tǒng)1000可實質(zhì)地為可儲存數(shù)據(jù)的任意系統(tǒng)。雖然在本范例實施例中,主機系統(tǒng)1000是以計算機系統(tǒng)來作說明,然而,在本發(fā)明另一范例實施例中主機系統(tǒng)1000可以是數(shù)字相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統(tǒng)。例如,在主機系統(tǒng)為數(shù)字相機(攝影機)1310時,閃存儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memorystick)1316、CF卡1318或嵌入式儲存裝置1320(如圖IC所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統(tǒng)的基板上。圖2是圖示圖IA所示的閃存儲存裝置的概要方塊圖。請參照圖2,閃存儲存裝置100包括連接器102、閃存控制器104、閃存芯片106與智能卡芯片108。連接器102是電性連接至閃存控制器104并且用以電性連接至主機系統(tǒng)1000。在本范例實施例中,連接器102為安全數(shù)字(securedigital,SD)接口連接器。然而,必須了解的是本發(fā)明不限于此,連接器102也可以是序列先進附件(SerialAdvancedTechnologyAttachment,SATA)連接器、平行先進附件(ParallelAdvancedTechnologyAttachment,PATA)連接器、通用序列總線(UniversalSerialBus,USB)連接器、電氣和電子工程師協(xié)會(InstituteofElectricalandElectronicEngineers,IEEE)1394連接器、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)連接器、記憶棒(MemoryStick,MS)接口連接器、多媒體儲存卡(MultiMediaCard,MMC)接口連接器、小型快閃(CompactFlash,CF)接口連接器、整合式驅(qū)動電子接口QntegratedDeviceElectronics,IDE)連接器或其它適合的連接器。閃存控制器104會執(zhí)行以硬件型式或韌體型式實作的多個邏輯閘或控制指令,并且根據(jù)主機系統(tǒng)1000的指令在閃存芯片106中進行數(shù)據(jù)的寫入、讀取與抹除等運作。特別是,閃存控制器104執(zhí)行根據(jù)本范例實施例的一防數(shù)據(jù)篡改機制以防止儲存于閃存芯片106中的數(shù)據(jù)被篡改。閃存芯片106是電性連接至閃存控制器104并且具有多個實體區(qū)塊以儲存數(shù)據(jù)。例如,在本范例實施例中,閃存控制器104將閃存芯片106的實體區(qū)塊區(qū)分為一般數(shù)據(jù)儲存區(qū)與安全數(shù)據(jù)儲存區(qū),并且閃存控制器104會對儲存于安全數(shù)據(jù)儲存區(qū)中的數(shù)據(jù)執(zhí)行根據(jù)本范例實施例的防數(shù)據(jù)篡改機制以避免攻擊者篡改需保護的數(shù)據(jù)。在本范例實施例中,閃存芯片106為多層記憶胞(MultiLevelCell,MLC)NAND閃存芯片。然而,本發(fā)明不限于此,閃存芯片106也可是單層記憶胞(SingleLevelCell,SLC)NAND閃存芯片。智能卡芯片108是電性連接至閃存控制器104,用以儲存數(shù)據(jù)并且對所儲存的數(shù)據(jù)進行加解密。圖3A是根據(jù)本發(fā)明第一范例實施例所圖示的智能卡芯片的概要方塊圖。智能卡芯片108具有微處理器302、安全模塊304、只讀存儲器(ReadOnlyMemory,ROM)306、隨機存取內(nèi)存(RandomAccessMemory,RAM)308、電子抹除式可編程只讀存儲器(ElectricallyErasableProgrammableRead-OnlyMemory,EEPROM)310、震蕩器312、第一接口單元314與第二接口單元316。微處理器302用以控制智能卡芯片108的整體運作。安全模塊304用以對儲存至智能卡芯片108中的數(shù)據(jù)進行加解密。震蕩器312用以產(chǎn)生智能卡芯片108運作時所需的頻率訊號。隨機存取內(nèi)存308用以暫存運算的數(shù)據(jù)或韌體程序。電子抹除式可編程只讀存儲器310用以儲存使用者數(shù)據(jù)。只讀存儲器306用以儲存智能卡芯片108的韌體程序。具體來說,當智能卡芯片108運作時,微處理器302會執(zhí)行只讀存儲器306中的韌體程序來執(zhí)行相關(guān)運作。第一接口單元314用以電性連接至閃存控制器104。例如,第一接口單元314是符合ISO7816規(guī)范的界面。第二接口單元316用以電性連接至一射頻天線以接收無線訊號。例如,第二接口單元316是符合ISO14443規(guī)范的界面。特別是,智能卡芯片108的安全模塊會執(zhí)行一安全機制以防止欲竊取儲存于智能卡芯片108中所儲存的數(shù)據(jù)的攻擊。例如,此攻擊包括時間攻擊(timingattack)>^1/-(single-power-analysisattack)^^^^!/]1'(differential-power-analysis)。此外,智能卡芯片108所執(zhí)行的安全機制是符合聯(lián)邦信息處理標準(FederalInformationProcessingMandards,F(xiàn)IPS)140-2的第三等級或更高等級或者符合EMVEL的第三等級或更高等級。也就是說,智能卡芯片108是通過FIPS140-2的第四級以上的認證或者通過EMVEL的第四級以上的認證。在此,F(xiàn)IPS是美國聯(lián)邦政府制定給所有軍事機構(gòu)除外的政府機構(gòu)及政府的承包商所使用的公開標準,其中FIPS140-2制定了關(guān)于數(shù)據(jù)安全的等級。此外,EMV是國際金融業(yè)界對于智慧卡與可使用芯片卡的銷售點(point-of-sale,P0S)終端機,以及銀行機構(gòu)所廣泛設(shè)置的自動柜員機等所制定的專業(yè)交易與認證的標準規(guī)范。此規(guī)范是針對芯片信用卡與現(xiàn)金卡的支付款系統(tǒng)(PaymentSystem)的相關(guān)軟硬件所設(shè)置的標準。在本范例實施例中,閃存控制器104會通過在智能卡芯片108中儲存用于驗證儲存于閃存芯片106中的數(shù)據(jù)是否已被篡改的信息,以防止儲存于閃存芯片106中的數(shù)據(jù)被篡改。圖;3B是根據(jù)本發(fā)明第一范例實施例所圖示的閃存控制器的概要方塊圖。請參照圖:3B,閃存控制器104包括微處理器單元202、內(nèi)存管理單元204、主機接口單元206、閃存接口單元208與安全數(shù)據(jù)保護單元210。微處理器單元202為閃存控制器104的主控單元,用以與內(nèi)存管理單元204、主機接口單元206、閃存接口單元208與安全數(shù)據(jù)保護單元210等協(xié)同合作以進行閃存儲存裝置100的各種運作。內(nèi)存管理單元204是電性連接至微處理器單元202,用以執(zhí)行數(shù)據(jù)存取機制與閃存管理機制。例如,內(nèi)存管理單元204維護邏輯地址-實體地址映像表(logicaladdress-physicaladdressmappingtable)以管理邏輯地址與實體地址之間的映像關(guān)系。此外,內(nèi)存管理單元204從主機系統(tǒng)1000接收主機寫入指令或主機讀取指令并且依據(jù)此邏輯地址-實體地址映像表中的信息在主機系統(tǒng)1000欲存取的邏輯地址所映像的實體地址中存取數(shù)據(jù)。主機接口單元206是電性連接至微處理器單元202并且用以接收與識別主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)。也就是說,主機系統(tǒng)1000所傳送的指令與數(shù)據(jù)會透過主機接口單元206來傳送至微處理器單元202。在本范例實施例中,主機接口單元206是對應(yīng)連接器102為SD接口。然而,必須了解的是本發(fā)明不限于此,主機接口單元206也可以是SATA接口、PATA接口、USB接口、IEEE1394接口、PCIExpress接口、MS接口、MMC接口、CF接口、IDE接口或其它適合的數(shù)據(jù)傳輸接口。閃存接口單元208是電性連接至微處理器單元202并且用以存取閃存芯片106。也就是說,欲寫入至閃存芯片106的數(shù)據(jù)會經(jīng)由閃存接口單元208轉(zhuǎn)換為閃存芯片106所能接受的格式。安全數(shù)據(jù)保護單元210是電性連接至微處理器單元202,用以執(zhí)行根據(jù)本范例實施例的防數(shù)據(jù)篡改機制。在本范例實施例中,安全數(shù)據(jù)保護單元210內(nèi)建有一私鑰222與一單向雜湊函數(shù)(One-WayHashFunction)2M。例如,此私鑰222是由閃存控制器104的制造商于閃存控制器104出廠時隨機地所產(chǎn)生并儲存于安全數(shù)據(jù)保護單元210中。并且,當內(nèi)存管理單元204于閃存芯片106中寫入需保護的數(shù)據(jù)(也稱安全數(shù)據(jù))時,安全數(shù)據(jù)保護單元210會依據(jù)私鑰222與所寫入的安全數(shù)據(jù)來執(zhí)行單向雜湊函數(shù)224以產(chǎn)生對應(yīng)此安全數(shù)據(jù)的簽章,并且將所產(chǎn)生的簽章儲存于智能卡芯片108中。例如,內(nèi)存管理單元204會透過應(yīng)用程序數(shù)據(jù)單元(ApplicationProtocolDataUnit,APDU)將所產(chǎn)生的簽章儲存至智能卡芯片108的電子抹除式可編程只讀存儲器310中,或者通過應(yīng)用程序數(shù)據(jù)單元從智能卡芯片108的電子抹除式可編程只讀存儲器310中讀取所儲存的簽章。在本范例實施例中,單向雜湊函數(shù)224是以SHA-256來實作。然而,必須了解的是,本發(fā)明不限于此,在本發(fā)明另一范例實施例中單向雜湊函數(shù)224也可以MD5、RIPEMD-160SHA1、SHA-386、SHA-512或其它適合的函數(shù)來實作。在本范例實施例中,當內(nèi)存管理單元204從閃存芯片106中讀取先前所寫入的安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元210會從智能卡芯片108中讀取對應(yīng)的簽章并且依據(jù)私鑰222與內(nèi)存管理單元204所讀取的安全數(shù)據(jù)以單向雜湊函數(shù)2M來產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)的一比對簽章。特別是,安全數(shù)據(jù)保護單元210會依據(jù)所讀取的簽章與所產(chǎn)生的比對簽章來判斷所讀取的安全數(shù)據(jù)是否被篡改。圖4是根據(jù)本發(fā)明第一范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的范例。請參照圖4,如狀態(tài)402所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)Dl至閃存芯片106時,安全數(shù)據(jù)保護單元210會以私鑰222與安全資料Dl作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的簽章Si。此外,安全數(shù)據(jù)保護單元210會將簽章Sl儲存在智能卡芯片108中。如狀態(tài)404所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)D2至閃存芯片106中以取代安全數(shù)據(jù)Dl時,安全數(shù)據(jù)保護單元210會以私鑰222與安全資料D2作為單向雜湊函數(shù)2M的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的簽章S2。此外,安全數(shù)據(jù)保護單元210會將簽章S2儲存至智能卡芯片108中以取代簽章Si。特別是,此時,若內(nèi)存管理單元204接收到主機讀取指令而從閃存芯片106中讀取安全數(shù)據(jù)時,內(nèi)存管理單元204會正確地讀取到安全數(shù)據(jù)D2。同時,安全數(shù)據(jù)保護單元210會以私鑰222與內(nèi)存管理單元204所讀取的安全數(shù)據(jù)D2作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的比對簽章CS1。在此范例中,由于產(chǎn)生簽章S2與比對簽章CSl的參數(shù)皆為相同,因此所產(chǎn)生的比對簽章CSl與儲存于智能卡芯片108中的簽章S2必然是相同。基此,安全數(shù)據(jù)保護單元210會判斷所讀取的安全數(shù)據(jù)是完整的。圖5是根據(jù)本發(fā)明第一范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的另一范例。請參照圖5,如狀態(tài)502所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)Dl至閃存芯片106中時,安全數(shù)據(jù)保護單元210會以私鑰222與安全資料Dl作為單向雜湊函數(shù)2M的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的簽章Si。此外,安全數(shù)據(jù)保護單元210會將簽章Sl儲存至智能卡芯片108中。特別是,此時,未經(jīng)授權(quán)者使用硬拷貝方式復(fù)制整個閃存芯片106中的數(shù)據(jù)(即,備份閃存芯片106')。如狀態(tài)504所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)D2至閃存芯片106中以取代安全數(shù)據(jù)Dl時,安全數(shù)據(jù)保護單元210會以私鑰222與安全資料D2作為單向雜湊函數(shù)2M的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的簽章S2。此外,安全數(shù)據(jù)保護單元210會將簽章S2儲存至智能卡芯片108中以取代簽章Si。特別是,此時,未經(jīng)授權(quán)者將備份閃存芯片106'中的數(shù)據(jù)回存至閃存芯片106,如狀態(tài)506所示,。在狀態(tài)506下,若內(nèi)存管理單元204接收到主機讀取指令而從閃存芯片106中讀取安全數(shù)據(jù)時,由于安全數(shù)據(jù)D2已被篡改為安全數(shù)據(jù)D1,因此內(nèi)存管理單元204會錯誤地讀取到安全數(shù)據(jù)D1。同時,安全數(shù)據(jù)保護單元210會以私鑰222與內(nèi)存管理單元204所讀取到的安全數(shù)據(jù)Dl作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的比對簽章CS2。在此范例中,由于安全數(shù)據(jù)D2已被篡改為安全數(shù)據(jù)D1,因此所產(chǎn)生的比對簽章CS2與儲存于智能卡芯片108中的簽章S2必然是不相同?;?,安全數(shù)據(jù)保護單元210會判斷所讀取的安全數(shù)據(jù)已被篡改,并且輸出一警示信息。在上述范例中,安全數(shù)據(jù)保護單元210會為所儲存的安全數(shù)據(jù)產(chǎn)生簽章并且將所產(chǎn)生的簽章儲存在智能卡芯片108中。由于儲存于智能卡芯片108中的數(shù)據(jù)是很難被篡改,因此,安全數(shù)據(jù)保護單元210通過儲存于智能卡芯片108中的簽章來驗證安全數(shù)據(jù)的完整性。值得一提的是,盡管上述范例是以單一安全數(shù)據(jù)的儲存、更新與驗證來作說明。然而,本發(fā)明不限于此,在本發(fā)明另一范例實施例中,當內(nèi)存管理單元204于閃存芯片106中儲存多筆安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元210會為每一筆安全數(shù)據(jù)產(chǎn)生對應(yīng)的簽章并且將此些簽章儲存于智能卡芯片108中以用于驗證每一筆安全數(shù)據(jù)的完整性。此外,當內(nèi)存管理單元204于閃存芯片106中儲存多筆安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元210也可對多筆安全數(shù)據(jù)產(chǎn)生一筆對應(yīng)的簽章并且將此簽章儲存于智能卡芯片108中以用于驗證多筆安全數(shù)據(jù)的完整性。在本范例實施例中,內(nèi)存管理單元204與安全數(shù)據(jù)保護單元210是以一韌體型式實作在閃存控制器104中。例如,將包括多個控制指令的內(nèi)存管理單元204燒錄至一程序內(nèi)存(例如,只讀存儲器(ReadOnlyMemory,ROM))中并且將此程序內(nèi)存嵌入在閃存控制器104中,當閃存儲存裝置100運作時,內(nèi)存管理單元204的控制指令會由微處理器單元202來執(zhí)行以完成根據(jù)本發(fā)明實施例的數(shù)據(jù)存取機制與閃存管理機制,并且安全數(shù)據(jù)保護單元210的控制指令會由微處理器單元202來執(zhí)行以完成根據(jù)本發(fā)明實施例的防資料篡改機制。在本發(fā)明另一范例實施例中,內(nèi)存管理單元204與安全數(shù)據(jù)保護單元210的控制指令也可以程序代碼型式儲存于閃存芯片106的特定區(qū)域(例如,閃存芯片中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中。同樣的,當閃存儲存裝置100運作時,內(nèi)存管理單元204與安全數(shù)據(jù)保護單元210的控制指令會由微處理器單元202來執(zhí)行。此外,在本發(fā)明另一范例實施例中,內(nèi)存管理單元204與安全數(shù)據(jù)保護單元210也可以一硬件型式實作在閃存控制器104中。請再參照圖:3B,在本發(fā)明一范例實施例中,閃存控制器104還包括緩沖存儲器252、電源管理單元2M與錯誤校正單元256。緩沖存儲器252是電性連接至微處理器單元202并且用以暫存來自于主機系統(tǒng)1000的數(shù)據(jù)與指令或來自于閃存芯片106的數(shù)據(jù)。電源管理單元2M是電性連接至微處理器單元202并且用以控制閃存儲存裝置100的電源。錯誤校正單元256是電性連接至微處理器單元202并且用以執(zhí)行一錯誤校正程序以確保數(shù)據(jù)的正確性。具體來說,當內(nèi)存管理單元204從主機系統(tǒng)1000中接收到主機寫入指令時,錯誤校正單元256會為對應(yīng)此主機寫入指令的寫入數(shù)據(jù)產(chǎn)生對應(yīng)的錯誤檢查與校正碼(ErrorCheckingandCorrectingCode,ECCCode),并且內(nèi)存管理單元204會將此寫入數(shù)據(jù)與對應(yīng)的錯誤校正碼寫入至閃存芯片106中。之后,當內(nèi)存管理單元204從閃存芯片106中讀取數(shù)據(jù)時會同時讀取此數(shù)據(jù)對應(yīng)的錯誤校正碼,并且錯誤校正單元256會依據(jù)此錯誤校正碼對所讀取的數(shù)據(jù)執(zhí)行錯誤校正程序。圖6是根據(jù)本發(fā)明第一范例實施例所圖示的防數(shù)據(jù)篡改方法的流程圖。請參照圖6,當接收到欲存取安全數(shù)據(jù)的主機指令時,在步驟S601中內(nèi)存管理單元204判斷此主機指令為主機寫入指令或主機讀取指令。倘若在步驟S601中所接收的主機指令為主機寫入指令時,在步驟S603中內(nèi)存管理單元204于閃存芯片106中更新(或?qū)懭?安全數(shù)據(jù)的內(nèi)容。具體來說,當閃存儲存裝置100從主機系統(tǒng)1000接收到指示更新(或?qū)懭?安全數(shù)據(jù)的主機寫入指令時,內(nèi)存管理單元204會依據(jù)邏輯地址-實體地址映像表中的信息將安全數(shù)據(jù)寫入至閃存芯片106中。接著,在步驟S605中安全數(shù)據(jù)保護單元210會依據(jù)私鑰222與欲更新的安全數(shù)據(jù)使用單向雜湊函數(shù)2M來產(chǎn)生對應(yīng)的簽章。然后,在步驟S607中安全數(shù)據(jù)保護單元210會將所產(chǎn)生的簽章儲存至智能卡芯片108中。倘若在步驟S601中所接收的主機指令為主機讀取指令時,則在步驟S609中內(nèi)存管理單元204依據(jù)主機讀取指令從閃存芯片106中讀取安全數(shù)據(jù)。接著,在步驟S611中安全數(shù)據(jù)保護單元210會依據(jù)私鑰222與內(nèi)存管理單元204所讀取的安全數(shù)據(jù)使用單向雜湊函數(shù)2M來產(chǎn)生比對簽章。并且,在步驟S613中安全數(shù)據(jù)保護單元210會從智能卡芯片108中讀取對應(yīng)的簽章。然后,在步驟S615中安全數(shù)據(jù)保護單元210會判斷所產(chǎn)生的比對簽章與所讀取的簽章是否相同。倘若所產(chǎn)生的比對簽章與所讀取的簽章為相同時,則在步驟S617中內(nèi)存管理單元204輸出所讀取的安全數(shù)據(jù)至主機系統(tǒng)1000。反之,倘若所產(chǎn)生的比對簽章與所讀取的簽章為不相同時,則在步驟S619中安全數(shù)據(jù)保護單元210會輸出警示信息給主機系統(tǒng)1000,以告知安全數(shù)據(jù)已被篡改。[第二范例實施例]本發(fā)明第二范例實施例的閃存儲存裝置與主機系統(tǒng)本質(zhì)上是相同于第一范例實施例的閃存儲存裝置與主機系統(tǒng),其中差異在于在第二范例實施例中當內(nèi)存管理單元更新安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元是將對應(yīng)所更新的安全數(shù)據(jù)的特征值儲存于智能卡芯片中并且根據(jù)此特征值來驗證安全資料的完整性。圖7是根據(jù)本發(fā)明第二范例實施例所圖示的閃存儲存裝置的概要方塊圖。請參照圖7,閃存儲存裝置700是透過數(shù)據(jù)傳輸接口1110與主機系統(tǒng)1000的其它組件電性連接。通過微處理器1102、隨機存取內(nèi)存1104與輸入/輸出裝置1106的處理可將數(shù)據(jù)寫入至閃存儲存裝置700或從閃存儲存裝置700中讀取數(shù)據(jù)。例如,閃存儲存裝置700可以是如圖IB所示的優(yōu)盤1212、記憶卡1214或固態(tài)硬盤(SolidStateDrive,SSD)1216。閃存儲存裝置700包括連接器102、閃存控制器704、閃存芯片106與智能卡芯片108。連接器102、閃存芯片106與智能卡芯片108是電性連接至閃存控制器704,其中智能卡芯片108是經(jīng)由接口108a電性連接至閃存控制器704。連接器102、閃存芯片106與智能卡芯片108的結(jié)構(gòu)與功能已描述如上,在此不重復(fù)描述。閃存控制器704包括微處理器單元202、內(nèi)存管理單元204、主機接口單元206、閃存接口單元208與安全數(shù)據(jù)保護單元710。同樣的,微處理器單元202、內(nèi)存管理單元204、主機接口單元206與閃存接口單元208的結(jié)構(gòu)與功能已描述如上,在此不重復(fù)描述。安全數(shù)據(jù)保護單元710是電性連接至微處理器單元202,用以執(zhí)行根據(jù)本范例實施例的防數(shù)據(jù)篡改機制。在本范例實施例中,安全數(shù)據(jù)保護單元710內(nèi)建有私鑰222、單向雜湊函數(shù)(One-WayHashFunction)2與特征值產(chǎn)生器226。在本范例實施例中,每當內(nèi)存管理單元204于閃存芯片106中更新(或?qū)懭?安全數(shù)據(jù)時,特征值產(chǎn)生器2會為所更新的安全數(shù)據(jù)產(chǎn)生對應(yīng)的特征值(Eigenvalue)。例如,在本范例實施例中,特征值產(chǎn)生器2會依據(jù)用于儲存安全數(shù)據(jù)的實體地址作為此安全數(shù)據(jù)的特征值。具體來說,在閃存芯片的運作中,實體地址會以輪替的方式來儲存主機系統(tǒng)1000于邏輯地址中寫入的數(shù)據(jù)。當安全數(shù)據(jù)被更新時,儲存此安全數(shù)據(jù)的實體地址會對應(yīng)的變動。此外,在本發(fā)明另一范例實施例中,特征值產(chǎn)生器2也可以隨機方式產(chǎn)生對應(yīng)安全數(shù)據(jù)的特征值。例如,當內(nèi)存管理單元204于閃存芯片106中更新(或?qū)懭?安全數(shù)據(jù)時,特征值產(chǎn)生器2會隨機地產(chǎn)生一隨機數(shù)作為對應(yīng)此安全數(shù)據(jù)的特征值?;蛘?,在本發(fā)明另一范例實施例中,特征值產(chǎn)生器2也可以依序地產(chǎn)生計數(shù)值作為對應(yīng)安全數(shù)據(jù)的特征值。例如,當內(nèi)存管理單元204于閃存芯片106中更新(或?qū)懭?安全數(shù)據(jù)時,特征值產(chǎn)生器2會計數(shù)此計數(shù)值(例如,加1)以作為對應(yīng)此安全數(shù)據(jù)的特征值。在本范例實施例中,當內(nèi)存管理單元204于閃存芯片106中寫入需保護的安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元710會依據(jù)私鑰222、特征值產(chǎn)生器2所產(chǎn)生的特征值與所寫入的安全數(shù)據(jù)以單向雜湊函數(shù)2M來產(chǎn)生對應(yīng)此安全數(shù)據(jù)的簽章。特別是,安全數(shù)據(jù)保護單元710會將所產(chǎn)生的簽章儲存至閃存芯片106并且將對應(yīng)的特征值儲存于智能卡芯片108中。在本范例實施例中,當內(nèi)存管理單元204從閃存芯片106中讀取先前所儲存的安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元710會從智能卡芯片108中讀取對應(yīng)的特征值以及從閃存芯片106中讀取對應(yīng)的簽章,并且依據(jù)私鑰222、所讀取的特征值與內(nèi)存管理單元204所讀取的安全數(shù)據(jù)使用單向雜湊函數(shù)來產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)的一比對簽章。特別是,安全數(shù)據(jù)保護單元710會依據(jù)所讀取的簽章與所產(chǎn)生的比對簽章來判斷所讀取的安全數(shù)據(jù)是否被篡改。圖8是根據(jù)本發(fā)明第二范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的范例。請參照圖8,如狀態(tài)802所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)Dl至閃存芯片106時,特征值產(chǎn)生器2會產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的特征值El,并且安全數(shù)據(jù)保護單元710會以私鑰222、特征值El與安全資料Dl作為單向雜湊函數(shù)2M的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的簽章Sl'。此外,安全數(shù)據(jù)保護單元710會將簽章Sl'儲存在閃存芯片106中并且將特征值El儲存至智能卡芯片108中。如狀態(tài)804所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)D2至閃存芯片106中以取代安全數(shù)據(jù)Dl時,特征值產(chǎn)生器2會產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的特征值E2并且安全數(shù)據(jù)保護單元710會以私鑰222、特征值E2與安全資料D2作為單向雜湊函數(shù)2的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的簽章S2'。此外,安全數(shù)據(jù)保護單元710會將簽章S2'儲存至閃存芯片106中以取代簽章Sl'并且將特征值E2儲存至智能卡芯片108中以取代特征值El。此時,若內(nèi)存管理單元204接收到主機讀取指令而從閃存芯片106中讀取安全數(shù)據(jù)時,內(nèi)存管理單元204會正確地讀取到安全數(shù)據(jù)D2。同時,安全數(shù)據(jù)保護單元710會從智能卡芯片108中讀取對應(yīng)的特征值E2與從閃存芯片106中讀取對應(yīng)的簽章S2',并且以私鑰222、特征值E2與內(nèi)存管理單元204所讀取的安全數(shù)據(jù)D2作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的比對簽章CSl'。在此范例中,由于產(chǎn)生簽章S2與比對簽章CSl'的參數(shù)皆為相同,因此所產(chǎn)生的比對簽章CSl'與儲存于智能閃存芯片106中的簽章S2'必然是相同的?;耍踩珨?shù)據(jù)保護單元710會判斷所讀取的安全數(shù)據(jù)是可靠的。圖9是根據(jù)本發(fā)明第二范例實施例所圖示的判斷安全數(shù)據(jù)的完整性的另一范例。請參照圖9,如狀態(tài)902所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)Dl至閃存芯片106中時,特征值產(chǎn)生器2會產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的特征值E1,并且安全數(shù)據(jù)保護單元710會以私鑰222、特征值El與安全資料Dl作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的簽章Sl'。此外,安全數(shù)據(jù)保護單元710會將特征值El儲存至智能卡芯片108中并且將簽章Sl'儲存至閃存芯片106中。特別是,此時,未經(jīng)授權(quán)者使用硬拷貝方式復(fù)制整個閃存芯片106中的數(shù)據(jù)(即,備份閃存芯片106')。如狀態(tài)904所示,當內(nèi)存管理單元204寫入安全數(shù)據(jù)D2至閃存芯片106中以取代安全數(shù)據(jù)Dl時,特征值產(chǎn)生器2會產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的特征值E2,并且安全數(shù)據(jù)保護單元710以私鑰222、特征值E2與安全資料D2作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)D2的簽章S2'。此外,安全數(shù)據(jù)保護單元710會將簽章S2'儲存至閃存芯片106中以取代簽章Sl'并且將特征值E2儲存至智能卡芯片108中以取代特征值El。特別是,此時,未經(jīng)授權(quán)者將備份閃存芯片106'中的數(shù)據(jù)回存至閃存芯片106,如狀態(tài)906所不,。在狀態(tài)906下,若內(nèi)存管理單元204接收到主機讀取指令而從閃存芯片106中讀取安全數(shù)據(jù)時,由于安全數(shù)據(jù)D2已被篡改為安全數(shù)據(jù)D1,因此內(nèi)存管理單元204會錯誤地讀取到安全數(shù)據(jù)D1。同時,安全數(shù)據(jù)保護單元710會從智能卡芯片108中讀取對應(yīng)的特征值E2并且從閃存芯片106中讀取簽章Sl‘,并且以私鑰222、特征值E2與內(nèi)存管理單元204所讀取到的安全數(shù)據(jù)Dl作為單向雜湊函數(shù)224的輸入?yún)?shù)來產(chǎn)生對應(yīng)安全數(shù)據(jù)Dl的比對簽章CS2'。在此范例中,由于安全數(shù)據(jù)D2已被篡改為安全數(shù)據(jù)D1,因此依據(jù)特征值E2所產(chǎn)生的比對簽章CS2'與儲存于閃存芯片106中的簽章Sl'必然是不相同。因此,安全數(shù)據(jù)保護單元710會判斷所讀取的安全數(shù)據(jù)已被篡改,并且輸出一警示信息。在上述范例中,安全數(shù)據(jù)保護單元710會為安全數(shù)據(jù)產(chǎn)生特征值并且將所產(chǎn)生的特征值儲存在智能卡芯片108中。由于儲存于智能卡芯片108中的數(shù)據(jù)是很難被篡改的,因此,安全數(shù)據(jù)保護單元710通過儲存于智能卡芯片108中的特征值來驗證安全數(shù)據(jù)的完整性。值得一提的是,盡管上述范例是以單一安全數(shù)據(jù)的儲存、更新與驗證來作說明。然而,本發(fā)明不限于此,在本發(fā)明另一范例實施例中,當內(nèi)存管理單元204于閃存芯片106中儲存多筆安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元710會為每一安全數(shù)據(jù)產(chǎn)生對應(yīng)的特征值與簽章并且將此些特征值儲存于智能卡芯片108中并且將此些簽章儲存至閃存芯片106中以用于驗證每一安全數(shù)據(jù)的完整性。此外,當內(nèi)存管理單元204于閃存芯片106中儲存多筆安全數(shù)據(jù)時,安全數(shù)據(jù)保護單元710也可對多筆安全數(shù)據(jù)產(chǎn)生一筆對應(yīng)的簽章與特征值并且將此特征值儲存于智能卡芯片108中并且將此簽章儲存至閃存芯片106中以用于驗證多筆安全數(shù)據(jù)的完整性。在本范例實施例中,安全數(shù)據(jù)保護單元710是以一韌體型式實作在閃存控制器704中并由微處理器單元202來執(zhí)行。然而,本發(fā)明不限于此,在本發(fā)明另一范例實施例中,安全數(shù)據(jù)保護單元710也可以程序代碼型式儲存于閃存芯片106的特定區(qū)域(例如,閃存芯片中專用于存放系統(tǒng)數(shù)據(jù)的系統(tǒng)區(qū))中并由微處理器單元202來執(zhí)行,或者以一硬件型式實作在閃存控制器704中。圖10是根據(jù)本發(fā)明第二范例實施例所圖示的防數(shù)據(jù)篡改方法中的流程圖。請參照圖10,當接收到欲存取安全數(shù)據(jù)的主機指令時,在步驟S1001中內(nèi)存管理單元204判斷此主機指令為主機寫入指令或主機讀取指令。倘若在步驟S1001中所接收的主機指令為主機寫入指令時,則在步驟S1003中內(nèi)存管理單元204于閃存芯片106中更新(或?qū)懭?安全數(shù)據(jù)的內(nèi)容。接著,在步驟S1005中安全數(shù)據(jù)保護單元710會產(chǎn)生對應(yīng)此安全數(shù)據(jù)的特征值,并且依據(jù)私鑰222、所產(chǎn)生的特征值與欲更新的安全數(shù)據(jù)使用單向雜湊函數(shù)2M來產(chǎn)生對應(yīng)的簽章。然后,在步驟S1007中安全數(shù)據(jù)保護單元710會將所產(chǎn)生的特征值儲存至智能卡芯片108中并且將所產(chǎn)生的簽章儲存至閃存芯片106中。倘若在步驟S1001中所接收的主機指令為主機讀取指令時,則在步驟S1009中內(nèi)存管理單元204依據(jù)主機讀取指令從閃存芯片106中讀取安全數(shù)據(jù)。接著,在步驟SlOll中安全數(shù)據(jù)保護單元710會從智能卡芯片108中讀取對應(yīng)的特征值。并且在步驟S1013中安全數(shù)據(jù)保護單元710會依據(jù)私鑰222、所讀取的特征值與內(nèi)存管理單元204所讀取的安全數(shù)據(jù)使用單向雜湊函數(shù)2M來產(chǎn)生比對簽章。并且,在步驟S1015中安全數(shù)據(jù)保護單元710會從閃存芯片106中讀取對應(yīng)的簽章。然后,在步驟S1017中安全數(shù)據(jù)保護單元710會判斷所產(chǎn)生的比對簽章與所讀取的簽章是否相同。倘若所產(chǎn)生的比對簽章與所讀取的簽章為相同時,則在步驟S1019中內(nèi)存管理單元204輸出所讀取的安全數(shù)據(jù)至主機系統(tǒng)1000。反之,倘若所產(chǎn)生的比對簽章與所讀取的簽章為不相同時,則在步驟S1021中安全數(shù)據(jù)保護單元710會輸出警示信息給主機系統(tǒng)1000,以告知安全數(shù)據(jù)已被篡改。綜上所述,本發(fā)明范例實施例的閃存儲存裝置配置有智能卡芯片,并且對應(yīng)儲存于閃存芯片中的安全數(shù)據(jù)的簽章或特征值是被儲存在智能卡芯片中,基此儲存于智能卡芯片中的簽章或特征值可用于驗證儲存于閃存芯片中的安全數(shù)據(jù)的完整性。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。權(quán)利要求1.一種閃存儲存系統(tǒng),包括一閃存控制器,具有一私鑰;一閃存芯片,電性連接至所述閃存控制器,其中所述閃存芯片儲存一安全數(shù)據(jù);以及一智能卡芯片,電性連接至所述閃存控制器,其中所述閃存控制器依據(jù)所述私鑰與所述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述安全數(shù)據(jù)的一簽章并且將所述簽章儲存在所述智能卡芯片中。2.根據(jù)權(quán)利要求1所述的閃存儲存系統(tǒng),其中所述閃存控制器從所述閃存芯片中讀取所述安全數(shù)據(jù),依據(jù)所述私鑰與所讀取的安全數(shù)據(jù)使用所述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)的一比對簽章,從所述智能卡芯片中讀取所述簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同,其中當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則所述閃存控制器輸出一警示信息。3.根據(jù)權(quán)利要求2所述的閃存儲存系統(tǒng),其中所述閃存控制器在所述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代所述安全數(shù)據(jù),其中所述閃存控制器依據(jù)所述私鑰與所述已更新安全數(shù)據(jù)使用所述單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述已更新安全數(shù)據(jù)的一已更新簽章并且在所述智能卡芯片中儲存所述已更新簽章以取代所述簽章。4.根據(jù)權(quán)利要求1所述的閃存儲存系統(tǒng),其中所述智能卡芯片為符合一聯(lián)邦信息處理標準140-2的一第三等級以上的一芯片或符合EMVEL的一第三等級以上的一芯片。5.根據(jù)權(quán)利要求1所述的閃存儲存系統(tǒng),其中所述智能卡芯片透過一接口電性連接至所述閃存控制器,并且所述接口符合一ISO7816標準。6.一種閃存儲存系統(tǒng),包括一閃存控制器,具有一私鑰;一閃存芯片,電性連接至所述閃存控制器,其中所述閃存芯片儲存一安全數(shù)據(jù);以及一智能卡芯片,電性連接至所述閃存控制器,其中所述閃存控制器產(chǎn)生對應(yīng)所述安全數(shù)據(jù)的一特征值并且將所述特征值儲存在所述智能卡芯片中,其中所述閃存控制器依據(jù)所述私鑰、所述特征值與所述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述安全數(shù)據(jù)與所述特征值的一簽章并且將所述簽章儲存在所述閃存芯片中。7.根據(jù)權(quán)利要求6所述的閃存儲存系統(tǒng),其中所述閃存控制器從所述閃存芯片中讀取所述安全數(shù)據(jù)與所述簽章,從所述智能卡芯片中讀取所述特征值,依據(jù)所述私鑰、所讀取的特征值與所讀取的安全數(shù)據(jù)使用所述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)與所讀取的特征值的一比對簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同,其中當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則所述閃存控制器會輸出一警示fn息ο8.根據(jù)權(quán)利要求7所述的閃存儲存系統(tǒng),其中所述閃存控制器在所述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代所述安全數(shù)據(jù),其中所述閃存控制器產(chǎn)生對應(yīng)所述已更新安全數(shù)據(jù)的一已更新特征值,并且依據(jù)所述私鑰、所述已更新特征值與所述已更新安全數(shù)據(jù)使用所述單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述已更新安全數(shù)據(jù)與所述已更新特征值的一已更新簽章,其中所述閃存控制器在所述閃存芯片中儲存所述已更新簽章以取代所述簽章,其中所述閃存控制器在所述智能卡芯片中儲存所述已更新特征值以取代所述特征值。9.根據(jù)權(quán)利要求6所述的閃存儲存系統(tǒng),其中所述特征值為在所述閃存芯片中儲存所述安全數(shù)據(jù)的一實體地址、對應(yīng)所述安全數(shù)據(jù)的一隨機值或?qū)?yīng)所述安全數(shù)據(jù)的一計數(shù)值。10.一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數(shù)據(jù),所述閃存控制器包括一微處理器單元;一閃存接口單元,電性連接至所述微處理器單元,用以電性連接至所述閃存芯片,一內(nèi)存管理單元,電性連接至所述微處理器單元;以及一安全數(shù)據(jù)保護單元,電性連接至所述微處理器單元,并且具有一私鑰,其中所述安全數(shù)據(jù)保護單元依據(jù)所述私鑰與所述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述安全數(shù)據(jù)的一簽章并且將所述簽章儲存在一智能卡芯片中。11.根據(jù)權(quán)利要求10所述的閃存控制器,其中當所述內(nèi)存管理單元從所述閃存芯片中讀取所述安全數(shù)據(jù)時,所述安全數(shù)據(jù)保護單元從所述智能卡芯片中讀取所述簽章,依據(jù)所述私鑰與所讀取的安全數(shù)據(jù)使用所述單向雜湊函數(shù)產(chǎn)生對應(yīng)所述內(nèi)存管理單元所讀取的安全數(shù)據(jù)的一比對簽章,并且判斷從所述智能卡芯片中所讀取的簽章與所產(chǎn)生的比對簽章是否相同,其中當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則所述安全數(shù)據(jù)保護單元輸出一警不fe息。12.—種閃存控制器,用于保護儲存在一閃存芯片中的一安全數(shù)據(jù),所述閃存控制器包括一微處理器單元;一閃存接口單元,電性連接至所述微處理器單元,用以電性連接至所述閃存芯片,一內(nèi)存管理單元,電性連接至所述微處理器單元;以及一安全數(shù)據(jù)保護單元,電性連接至所述微處理器單元,并且具有一私鑰,其中所述安全數(shù)據(jù)保護單元產(chǎn)生對應(yīng)所述安全數(shù)據(jù)的一特征值并且將所述特征值儲存在一智能卡芯片中,其中所述安全數(shù)據(jù)保護單元依據(jù)所述私鑰、所述特征值與所述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述安全數(shù)據(jù)與所述特征值的一簽章并且所述安全數(shù)據(jù)保護單元將所述簽章儲存在所述閃存芯片中。13.根據(jù)權(quán)利要求12所述的閃存控制器,其中所述內(nèi)存管理單元從所述閃存芯片中讀取所述安全數(shù)據(jù)時,所述安全數(shù)據(jù)保護單元從所述閃存芯片中讀取所述簽章,從所述智能卡芯片中讀取所述特征值,依據(jù)所述私鑰、所讀取的特征值與所述內(nèi)存管理單元所讀取的安全數(shù)據(jù)使用所述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)與所讀取的特征值的一比對簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同,其中當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則所述安全數(shù)據(jù)保護單元會輸出“"警不fe息ο14.一種防數(shù)據(jù)篡改方法,用于保護儲存在一閃存儲存系統(tǒng)的一閃存芯片中的一安全數(shù)據(jù),所述防數(shù)據(jù)篡改方法包括在所述閃存儲存系統(tǒng)中配置一智能卡芯片;以及依據(jù)所述私鑰與所述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述安全數(shù)據(jù)的一簽章并且將所述簽章儲存在所述智能卡芯片中。15.根據(jù)權(quán)利要求14所述的防數(shù)據(jù)篡改方法,還包括當從所述閃存芯片中讀取所述安全數(shù)據(jù)時,從所述智能卡芯片中讀取所述簽章,依據(jù)所述私鑰與所讀取的安全數(shù)據(jù)使用所述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)的一比對簽章,并且判斷從所述智能卡芯片中所讀取的簽章與所產(chǎn)生的比對簽章是否相同;以及當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則輸出一警示信息。16.根據(jù)權(quán)利要求15所述的防數(shù)據(jù)篡改方法,還包括在所述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代所述安全數(shù)據(jù);依據(jù)所述私鑰與所述已更新安全數(shù)據(jù)使用所述單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述已更新安全數(shù)據(jù)的一已更新簽章;以及在所述智能卡芯片中儲存所述已更新簽章以取代所述簽章。17.一種防數(shù)據(jù)篡改方法,用于保護儲存在一閃存儲存系統(tǒng)的一閃存芯片中的一安全數(shù)據(jù),所述防數(shù)篡改方法包括在所述閃存儲存系統(tǒng)中配置一智能卡芯片;產(chǎn)生對應(yīng)所述安全數(shù)據(jù)的一特征值并且將所述特征值儲存在所述智能卡芯片中;以及依據(jù)所述私鑰、所述特征值與所述安全數(shù)據(jù)使用一單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述安全數(shù)據(jù)與所述特征值的一簽章并且將所述簽章儲存在所述閃存芯片中。18.根據(jù)權(quán)利要求17所述的防數(shù)據(jù)篡改方法,還包括當從所述閃存芯片中讀取所述安全數(shù)據(jù)時,從所述閃存芯片中讀取所述簽章,從所述智能卡芯片中讀取所述特征值,依據(jù)所述私鑰、所讀取的特征值與所讀取的安全數(shù)據(jù)使用所述單向雜湊函數(shù)產(chǎn)生對應(yīng)所讀取的安全數(shù)據(jù)與所讀取的特征值的一比對簽章,并且判斷所讀取的簽章與所產(chǎn)生的比對簽章是否相同;以及當所讀取的簽章與所產(chǎn)生的比對簽章不相同時,則輸出一警示信息。19.根據(jù)權(quán)利要求18所述的防數(shù)據(jù)篡改方法,還包括在所述閃存芯片中儲存一已更新安全數(shù)據(jù)以取代所述安全數(shù)據(jù);產(chǎn)生對應(yīng)所述已更新安全數(shù)據(jù)的一已更新特征值;依據(jù)所述私鑰、所述已更新特征值與所述已更新安全數(shù)據(jù)使用所述單向雜湊函數(shù)來產(chǎn)生對應(yīng)所述已更新安全數(shù)據(jù)與所述已更新特征值的一已更新簽章;在所述閃存芯片中儲存所述已更新簽章以取代所述簽章;以及在所述智能卡芯片中儲存所述已更新特征值以取代所述特征值。20.根據(jù)權(quán)利要求17所述的防數(shù)據(jù)篡改方法,其中所述特征值為在所述閃存芯片中儲存所述安全數(shù)據(jù)的一實體地址、對應(yīng)所述安全數(shù)據(jù)的一隨機值或?qū)?yīng)所述安全數(shù)據(jù)的一計全文摘要本發(fā)明提供一種閃存儲存系統(tǒng)及其控制器與防數(shù)據(jù)篡改方法,閃存儲存系統(tǒng),其包括閃存控制器、閃存芯片與智能卡芯片。閃存芯片用以儲存安全數(shù)據(jù)。閃存控制器會依據(jù)私鑰與安全數(shù)據(jù)使用單向雜湊函數(shù)來產(chǎn)生對應(yīng)此安全數(shù)據(jù)的簽章并且將此簽章儲存在智能卡芯片中。文檔編號G11C7/24GK102148054SQ201010114010公開日2011年8月10日申請日期2010年2月5日優(yōu)先權(quán)日2010年2月5日發(fā)明者詹清文申請人:群聯(lián)電子股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1