閃存儲存系統及其控制器與防數據篡改方法

閃存儲存系統及其控制器與防數據篡改方法

閃存儲存系統及其控制器與防數據篡改方法是由詹清文 發明開發。

本發明提供一種閃存儲存系統及其控制器與防數據篡改方法,閃存儲存系統,其包括閃存控制器、閃存芯片與智能卡芯片。閃存芯片用以儲存安全數據。閃存控制器會依據私鑰與安全數據使用單向雜湊函數來產生對應此安全數據的簽章并且將此簽章儲存在智能卡芯片中。

[0001] 本發明涉及一種閃存儲存系統,且特別涉及一種具有能夠防止儲存在閃存芯片中的數據被非法篡改的閃存儲存系統及其閃存控制器與防數據篡改方法。

背景技術

[0002] 數字相機、手機與 MP3 在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于閃存 (Flash Memory) 具有數據非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用于這類可攜式由電池供電的產品上。記憶卡就是一種以NAND閃存作為儲存媒體的儲存裝置。由于記憶卡體積小容量大,所以已廣泛用于個人重要數據的儲存。然而,儲存在記憶卡內的數據是很容易在未經授權下被更改。也就是說,儲存于記憶卡中的數據的完整性是無法被保證的。

[0003] 為解決此一問題,其中一種作法就是對所儲存的數據進行加密。例如,對所儲存的數據加上數字簽章。然而,此方法卻無法抵擋數據復制的篡改。例如,以記憶卡作為交易行為的支付工具 ( 例如,商店的預付儲值卡 ) 的例子中,當使用者在此記憶卡中儲值 1000 元并于使用此記憶卡進行消費時,由于記憶卡中的閃存芯片為獨立的電路,因此攻擊者可在確認記憶卡中的閃存芯片的位置后于消費前將記憶卡內的數據進行硬拷貝 (hard copy),之后在消費完成后再將硬拷貝的數據回存于記憶卡中,由此回復 (refresh) 消費前的儲值。由于對應的數字簽章也被回存于記憶卡中,因此系統無法由數字簽章來驗證目前記憶卡中的儲值已被篡改?;?,如何確保閃存芯片內部數據的安全與完整性是此領域技術人員相當重視的課題。

內容

[0004] 本發明提供一種閃存儲存系統,其能夠防止儲存于閃存芯片中的數據被篡改。

[0005] 本發明提供一種閃存控制器,其能夠防止儲存于閃存芯片中的數據被篡改。

[0006] 本發明提供一種防數據篡改方法,其能夠防止儲存于閃存芯片中的數據被篡改。

[0007] 本發明范例實施例提出一種閃存儲存系統,其包括閃存控制器、閃存芯片與智能卡芯片。閃存控制器具有一私鑰。閃存芯片電性連接至閃存控制器,其中此閃存芯片儲存一安全數據。智能卡芯片電性連接至閃存控制器。閃存控制器會依據上述私鑰與上述安全數據使用一單向雜湊函數來產生對應此安全數據的一簽章并且將此簽章儲存在上述智能卡芯片中。

[0008] 在本發明一范例實施例中,閃存控制器從閃存芯片中讀取安全數據,依據上述私鑰與所讀取的安全數據使用上述單向雜湊函數產生對應所讀取的安全數據的一比對簽章,從智能卡芯片中讀取簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同。并且,當所讀取的簽章與所產生的比對簽章不相同時,則閃存控制器輸出一警示信息。

[0009] 在本發明一范例實施例中,上述閃存控制器在上述閃存芯片中儲存一已更新安全數據以取代上述安全數據。并且,閃存控制器依據上述私鑰與此已更新安全數據使用上述單向雜湊函數來產生對應此已更新安全數據的一已更新簽章并且在上述智能卡芯片中儲存此已更新簽章以取代上述簽章。

[0010] 在本發明一范例實施例中,上述智能卡芯片為符合聯邦信息處理標準 (Federal Information Processing Standards,FIPS)140-2的第三等級以上的芯片或符合EMV EL的第三等級以上的芯片。

[0011] 在本發明一范例實施例中,上述智能卡芯片透過一接口電性連接至閃存控制器,并且此接口符合ISO 7816標準。

[0012] 本發明范例實施例提出一種閃存儲存系統,其包括閃存控制器、閃存芯片與智能卡芯片。閃存控制器具有一私鑰。閃存芯片電性連接至閃存控制器,其中此閃存芯片儲存一安全數據。智能卡芯片電性連接至閃存控制器。閃存控制器產生對應上述安全數據的一特征值并且將此特征值儲存在智能卡芯片中。此外,閃存控制器依據上述私鑰、上述特征值與上述安全數據使用一單向雜湊函數來產生對應此安全數據與特征值的一簽章并且將此簽章儲存在上述閃存芯片中。

[0013] 在本發明一范例實施例中,上述閃存控制器從閃存芯片中讀取安全數據與簽章,從智能卡芯片中讀取上述特征值,依據此私鑰、所讀取的特征值與所讀取的安全數據使用上述單向雜湊函數產生對應所讀取安全數據與特征值的一比對簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同。并且,當所讀取的簽章與所產生的比對簽章不相同時,則閃存控制器會輸出一警示信息。

[0014] 在本發明一范例實施例中,上述閃存控制器在上述閃存芯片中儲存一已更新安全數據以取代上述安全數據。此外,,閃存控制器產生對應此已更新安全數據的一已更新特征值,并且依據上述私鑰、此已更新特征值與此已更新安全數據使用上述單向雜湊函數來產生對應此已更新安全數據與此已更新特征值的一已更新簽章。另外,閃存控制器在上述閃存芯片中儲存此已更新簽章以取代上述簽章,并且在上述智能卡芯片中儲存此已更新特征值以取代上述特征值。

[0015] 在本發明一范例實施例中,上述特征值為在上述閃存芯片中儲存上述安全數據的一實體地址、對應此安全數據的一隨機值或對應此安全數據的一計數值。

[0016] 本發明范例實施例提出一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數據。本閃存控制器包括:微處理器單元、閃存接口單元、內存管理單元與安全數據保護單元。閃存接口單元電性連接至微處理器單元,并且用以電性連接至上述閃存芯片。內存管理單元電性連接至微處理器單元。安全數據保護單元電性連接至微處理器單元,并且具有一私鑰。安全數據保護單元會依據上述私鑰與上述安全數據使用一單向雜湊函數來產生對應此安全數據的一簽章并且將此簽章儲存在一智能卡芯片中。

[0017] 在本發明一范例實施例中,當內存管理單元從閃存芯片中讀取安全數據時,安全數據保護單元會從智能卡芯片中讀取對應的簽章,依據上述私鑰與所讀取的安全數據使用上述單向雜湊函數產生對應上述內存管理單元所讀取的安全數據的一比對簽章,并且判斷從智能卡芯片中所讀取的簽章與所產生的比對簽章是否相同。并且,當所讀取的簽章與所產生的比對簽章不相同時,則安全數據保護單元輸出一警示信息。

[0018] 在本發明一范例實施例中,上述內存管理單元在上述閃存芯片中儲存一已更新安全數據以取代上述安全數據。并且,安全數據保護單元依據上述私鑰與此已更新安全數據使用上述單向雜湊函數來產生對應此已更新安全數據的一已更新簽章并且在上述智能卡芯片中儲存此已更新簽章以取代上述簽章。

[0019] 本發明范例實施例提出一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數據。本閃存控制器包括:微處理器單元、閃存接口單元、內存管理單元與安全數據保護單元。閃存接口單元電性連接至微處理器單元,并且用以電性連接至上述閃存芯片。內存管理單元電性連接至微處理器單元。安全數據保護單元電性連接至微處理器單元,并且具有一私鑰。安全數據保護單元產生對應上述安全數據的一特征值并且將此特征值儲存在一智能卡芯片中。安全數據保護單元依據上述私鑰、特征值與安全數據使用一單向雜湊函 數來產生對應此安全數據與特征值的一簽章并且將此簽章儲存在閃存芯片中。

[0020] 在本發明一范例實施例中,當內存管理單元從閃存芯片中讀取安全數據時,安全數據保護單元會從閃存芯片中讀取對應的簽章,從智能卡芯片中讀取對應的特征值,依據私鑰、所讀取的特征值與上述內存管理單元所讀取的安全數據使用上述單向雜湊函數產生對應所讀取的安全數據與特征值的一比對簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同。并且,當所讀取的簽章與所產生的比對簽章不相同時,則安全數據保護單元會輸出一警示信息。

[0021] 在本發明一范例實施例中,上述內存管理單元在該閃存芯片中儲存一已更新安全數據以取代上述安全數據。此外,安全數據保護單元產生對應此已更新安全數據的一已更新特征值,并且依據上述私鑰、已更新特征值與已更新安全數據使用上述單向雜湊函數來產生對應此已更新安全數據與此已更新特征值的一已更新簽章。再者,安全數據保護單元在上述閃存芯片中儲存此已更新簽章以取代上述簽章,且在上述智能卡芯片中儲存此已更新特征值以取代上述特征值。

[0022] 本發明范例實施例提出一種防數據篡改方法,用于保護儲存在一閃存儲存系統的一閃存芯片中的一安全數據。本防數據篡改方法包括在此閃存儲存系統中配置一智能卡芯片,依據上述私鑰與安全數據使用一單向雜湊函數來產生對應此安全數據的一簽章,并且將此簽章儲存在上述智能卡芯片中。

[0023] 在本發明一范例實施例中,本防數據篡改方法也包括當從上述閃存芯片中讀取安全數據時,從上述智能卡芯片中讀取對應的簽章,依據上述私鑰與所讀取的安全數據使用上述單向雜湊函數產生對應所讀取的安全數據的一比對簽章,并且判斷從上述智能卡芯片中所讀取的簽章與所產生的比對簽章是否相同。本防數據篡改方法更包括當所讀取的簽章與所產生的比對簽章不相 同時,則輸出一警示信息。

[0024] 在本發明一范例實施例中,上述防數據篡改方法更包括:在上述閃存芯片中儲存一已更新安全數據以取代該安全數據,依據上述私鑰與此已更新安全數據使用上述單向雜湊函數來產生對應此已更新安全數據的一已更新簽章,并且在上述智能卡芯片中儲存此已更新簽章以取代上述簽章。

[0025] 本發明范例實施例提出一種防數據篡改方法,用于保護儲存在一閃存儲存系統的一閃存芯片中的一安全數據。本防數據篡改方法包括在此閃存儲存系統中配置一智能卡芯片,產生對應此安全數據的一特征值,并且將此特征值儲存在此智能卡芯片中。本防數據篡改方法也包括依據上述私鑰、特征值與安全數據使用一單向雜湊函數來產生對應此安全數據與特征值的一簽章并且將此簽章儲存在上述閃存芯片中。

[0026] 在本發明一范例實施例中,本防數據篡改方法還包括從上述閃存芯片中讀取安全數據,從上述閃存芯片中讀取對應的簽章,從智能卡芯片中讀取對應的特征值,依據上述私鑰、所讀取的特征值與所讀取的安全數據使用上述單向雜湊函數產生對應所讀取的安全數據與特征值的一比對簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同,本防數據篡改方法更包括當所讀取的簽章與所產生的比對簽章不相同時,則輸出一警示信息。

[0027] 在本發明一范例實施例中,上述防數據篡改方法還包括:在閃存芯片中儲存一已更新安全數據以取代該安全數據,產生對應此已更新安全數據的一已更新特征值,依據上述私鑰、此已更新特征值與此已更新安全數據使用上述單向雜湊函數來產生對應此已更新安全數據與此已更新特征值的一已更新簽章,在上述閃存芯片中儲存此已更新簽章以取代上述簽章,并且在上述智能卡芯片中儲存此已更新特征值以取代上述特征值。

[0028] 基于上述,根據本發明范例實施例的閃存儲存系統、控制器與防數據篡改方法是通過在所配置的智能卡芯片中儲存對應安全數據的簽章或特征值, 并且在從閃存芯片中讀取安全數據時依據簽章或特征值來驗證安全資料是否已被篡改,由此可確保安全數據的完整性。

[0029] 為讓本發明上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。

技術要求書

1.一種閃存儲存系統,包括:一閃存控制器,具有一私鑰;一閃存芯片,電性連接至所述閃存控制器,其中所述閃存芯片儲存一安全數據;以及一智能卡芯片,電性連接至所述閃存控制器,其中所述閃存控制器依據所述私鑰與所述安全數據使用一單向雜湊函數來產生對應所述安全數據的一簽章并且將所述簽章儲存在所述智能卡芯片中。

2.根據權利要求1所述的閃存儲存系統,其中所述閃存控制器從所述閃存芯片中讀取所述安全數據,依據所述私鑰與所讀取的安全數據使用所述單向雜湊函數產生對應所讀取的安全數據的一比對簽章,從所述智能卡芯片中讀取所述簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同,其中當所讀取的簽章與所產生的比對簽章不相同時,則所述閃存控制器輸出一警示信息。

3.根據權利要求2所述的閃存儲存系統,其中所述閃存控制器在所述閃存芯片中儲存一已更新安全數據以取代所述安全數據,其中所述閃存控制器依據所述私鑰與所述已更新安全數據使用所述單向雜湊函數來產生對應所述已更新安全數據的一已更新簽章并且在所述智能卡芯片中儲存所述已更新簽章以取代所述簽章。

4.根據權利要求1所述的閃存儲存系統,其中所述智能卡芯片為符合一聯邦信息處理標準140-2的一第三等級以上的一芯片或符合EMV EL的一第三等級以上的一芯片。

5.根據權利要求1所述的閃存儲存系統,其中所述智能卡芯片透過一接口電性連接至所述閃存控制器,并且所述接口符合一ISO 7816標準。

6.一種閃存儲存系統,包括:一閃存控制器,具有一私鑰;一閃存芯片,電性連接至所述閃存控制器,其中所述閃存芯片儲存一安全數據;以及一智能卡芯片,電性連接至所述閃存控制器,其中所述閃存控制器產生對應所述安全數據的一特征值并且將所述特征值儲存在所述智能卡芯片中,其中所述閃存控制器依據所述私鑰、所述特征值與所述安全數據使用一單向雜湊函數來產生對應所述安全數據與所述特征值的一簽章并且將所述簽章儲存在所述閃存芯片中。

7.根據權利要求6所述的閃存儲存系統,其中所述閃存控制器從所述閃存芯片中讀取所述安全數據與所述簽章,從所述智能卡芯片中讀取所述特征值,依據所述私鑰、所讀取的特征值與所讀取的安全數據使用所述單向雜湊函數產生對應所讀取的安全數據與所讀取的特征值的一比對簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同,其中當所讀取的簽章與所產生的比對簽章不相同時,則所述閃存控制器會輸出一警示信息。

8.根據權利要求7所述的閃存儲存系統,其中所述閃存控制器在所述閃存芯片中儲存一已更新安全數據以取代所述安全數據,其中所述閃存控制器產生對應所述已更新安全數據的一已更新特征值, 并且依據所述私鑰、所述已更新特征值與所述已更新安全數據使用所述單向雜湊函數來產生對應所述已更新安全數據與所述已更新特征值的一已更新簽章,其中所述閃存控制器在所述閃存芯片中儲存所述已更新簽章以取代所述簽章,其中所述閃存控制器在所述智能卡芯片中儲存所述已更新特征值以取代所述特征值。

9. 根據權利要求 6 所述的閃存儲存系統,其中所述特征值為在所述閃存芯片中儲存所述安全數據的一實體地址、對應所述安全數據的一隨機值或對應所述安全數據的一計數值。

10.一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數據,所述閃存控制器包括:一微處理器單元;一閃存接口單元,電性連接至所述微處理器單元,用以電性連接至所述閃存芯片,一內存管理單元,電性連接至所述微處理器單元;以及一安全數據保護單元,電性連接至所述微處理器單元,并且具有一私鑰,其中所述安全數據保護單元依據所述私鑰與所述安全數據使用一單向雜湊函數來產生對應所述安全數據的一簽章并且將所述簽章儲存在一智能卡芯片中。

11.根據權利要求10所述的閃存控制器,其中當所述內存管理單元從所述閃存芯片中讀取所述安全數據時,所述安全數據保護單元從所述智能卡芯片中讀取所述簽章,依據所述私鑰與所讀 取的安全數據使用所述單向雜湊函數產生對應所述內存管理單元所讀取的安全數據的一比對簽章,并且判斷從所述智能卡芯片中所讀取的簽章與所產生的比對簽章是否相同,其中當所讀取的簽章與所產生的比對簽章不相同時,則所述安全數據保護單元輸出一警示信息。

12.一種閃存控制器,用于保護儲存在一閃存芯片中的一安全數據,所述閃存控制器包括:一微處理器單元;一閃存接口單元,電性連接至所述微處理器單元,用以電性連接至所述閃存芯片,一內存管理單元,電性連接至所述微處理器單元;以及一安全數據保護單元,電性連接至所述微處理器單元,并且具有一私鑰,其中所述安全數據保護單元產生對應所述安全數據的一特征值并且將所述特征值儲存在一智能卡芯片中,其中所述安全數據保護單元依據所述私鑰、所述特征值與所述安全數據使用一單向雜湊函數來產生對應所述安全數據與所述特征值的一簽章并且所述安全數據保護單元將所述簽章儲存在所述閃存芯片中。

13.根據權利要求12所述的閃存控制器,其中所述內存管理單元從所述閃存芯片中讀取所述安全數據時,所述安全數據保護單元從所述閃存芯片中讀取所述簽章,從所述智能卡芯片中讀取所述特征值,依據所述私鑰、所讀取的特征值與所述內存管理單元所讀取的安全數據使用所述單向雜湊函數產生對應所讀取的安全數據與所讀取的特征值的一比對簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同, 其中當所讀取的簽章與所產生的比對簽章不相同時,則所述安全數據保護單元會輸出一警示信息。

14. 一種防數據篡改方法,用于保護儲存在一閃存儲存系統的一閃存芯片中的一安全數據,所述防數據篡改方法包括:在所述閃存儲存系統中配置一智能卡芯片;以及依據所述私鑰與所述安全數據使用一單向雜湊函數來產生對應所述安全數據的一簽章并且將所述簽章儲存在所述智能卡芯片中。

15.根據權利要求14所述的防數據篡改方法,還包括:當從所述閃存芯片中讀取所述安全數據時,從所述智能卡芯片中讀取所述簽章,依據所述私鑰與所讀取的安全數據使用所述單向雜湊函數產生對應所讀取的安全數據的一比對簽章,并且判斷從所述智能卡芯片中所讀取的簽章與所產生的比對簽章是否相同;以及當所讀取的簽章與所產生的比對簽章不相同時,則輸出一警示信息。

16.根據權利要求15所述的防數據篡改方法,還包括:在所述閃存芯片中儲存一已更新安全數據以取代所述安全數據;依據所述私鑰與所述已更新安全數據使用所述單向雜湊函數來產生對應所述已更新安全數據的一已更新簽章;以及在所述智能卡芯片中儲存所述已更新簽章以取代所述簽章。

17. 一種防數據篡改方法,用于保護儲存在一閃存儲存系統的一閃存芯片中的一安全數據,所述防數篡改方法包括:在所述閃存儲存系統中配置一智能卡芯片;產生對應所述安全數據的一特征值并且將所述特征值儲存在所述智能卡芯片中;以及 依據所述私鑰、所述特征值與所述安全數據使用一單向雜湊函數來產生對應所述安全數據與所述特征值的一簽章并且將所述簽章儲存在所述閃存芯片中。

18.根據權利要求17所述的防數據篡改方法,還包括:當從所述閃存芯片中讀取所述安全數據時,從所述閃存芯片中讀取所述簽章,從所述智能卡芯片中讀取所述特征值,依據所述私鑰、所讀取的特征值與所讀取的安全數據使用所述單向雜湊函數產生對應所讀取的安全數據與所讀取的特征值的一比對簽章,并且判斷所讀取的簽章與所產生的比對簽章是否相同;以及當所讀取的簽章與所產生的比對簽章不相同時,則輸出一警示信息。

19.根據權利要求18所述的防數據篡改方法,還包括:在所述閃存芯片中儲存一已更新安全數據以取代所述安全數據;產生對應所述已更新安全數據的一已更新特征值;依據所述私鑰、所述已更新特征值與所述已更新安全數據使用所述單向雜湊函數來產生對應所述已更新安全數據與所述已更新特征值的一已更新簽章;在所述閃存芯片中儲存所述已更新簽章以取代所述簽章;以及在所述智能卡芯片中儲存所述已更新特征值以取代所述特征值。20.根據權利要求17所述的防數據篡改方法,其中所述特征值為在所述閃存芯片中儲存所述安全數據的一實體地址、對應所述安全數據的一隨機值或對應所述安全數據的一計數值。

說明書附圖

圖1A

圖1B

圖1C

圖2

圖3A

圖3B

圖4

圖5

圖6

圖7

圖8

圖9

圖10