TWI436372B - 快閃記憶體儲存系統及其控制器與防資料竄改方法 - Google Patents

快閃記憶體儲存系統及其控制器與防資料竄改方法 Download PDF

Info

Publication number
TWI436372B
TWI436372B TW099102422A TW99102422A TWI436372B TW I436372 B TWI436372 B TW I436372B TW 099102422 A TW099102422 A TW 099102422A TW 99102422 A TW99102422 A TW 99102422A TW I436372 B TWI436372 B TW I436372B
Authority
TW
Taiwan
Prior art keywords
flash memory
signature
security
security data
chip
Prior art date
Application number
TW099102422A
Other languages
English (en)
Other versions
TW201126530A (en
Inventor
Ching Wen Chang
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW099102422A priority Critical patent/TWI436372B/zh
Priority to US12/718,209 priority patent/US20110185435A1/en
Publication of TW201126530A publication Critical patent/TW201126530A/zh
Priority to US13/607,001 priority patent/US20120331218A1/en
Application granted granted Critical
Publication of TWI436372B publication Critical patent/TWI436372B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory

Description

快閃記憶體儲存系統及其控制器與防資料竄改方法
本發明是有關於一種快閃記憶體儲存系統,且特別是有關於一種具有能夠防止儲存在快閃記憶體晶片中之資料被非法竄改的快閃記憶體儲存系統及其快閃記憶體控制器與防資料竄改方法。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用於這類可攜式由電池供電的產品上。記憶卡就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置。由於記憶卡體積小容量大,所以已廣泛用於個人重要資料的儲存。然而,儲存在記憶卡內的資料是很容易在未經授權下被更改。也就是說,儲存於記憶卡中的資料的完整性是無法被保證的。
為解決此一問題,其中一種作法就是對所儲存之資料進行加密。例如,對所儲存之資料加上數位簽章。然而,此方法卻無法抵擋資料複製的竄改。例如,以記憶卡作為交易行為之支付工具(例如,商店的預付儲值卡)的例子中,當使用者在此記憶卡中儲值1000元並於使用此記憶卡進行消費時,由於記憶卡中的快閃記憶體晶片為獨立的電路,因此攻擊者可在確認記憶卡中之快閃記憶體晶片的位置後於消費前將記憶卡內的資料進行硬拷貝(hard copy),之後在消費完成後再將硬拷貝的資料回存於記憶卡中,由此回復(refresh)消費前的儲值。由於對應之數位簽章亦被回存於記憶卡中,因此系統無法由數位簽章來驗證目前記憶卡中之儲值已被竄改。基此,如何確保快閃記憶體晶片內部資料的安全與完整性是此領域技術人員相當重視的課題。
本發明提供一種快閃記憶體儲存系統,其能夠防止儲存於快閃記憶體晶片中的資料被竄改。
本發明提供一種快閃記憶體控制器,其能夠防止儲存於快閃記憶體晶片中的資料被竄改。
本發明提供一種防資料竄改方法,其能夠防止儲存於快閃記憶體晶片中的資料被竄改。
本發明範例實施例提出一種快閃記憶體儲存系統,其包括快閃記憶體控制器、快閃記憶體晶片與智慧卡晶片。快閃記憶體控制器具有一私鑰。快閃記憶體晶片耦接至快閃記憶體控制器,其中此快閃記憶體晶片儲存一安全資料。智慧卡晶片耦接至快閃記憶體控制器。快閃記憶體控制器會依據上述私鑰與上述安全資料使用一單向雜湊函數來產生對應此安全資料的一簽章並且將此簽章儲存在上述智慧卡晶片中。
在本發明之一範例實施例中,快閃記憶體控制器從快閃記憶體晶片中讀取安全資料,依據上述私鑰與所讀取的安全資料使用上述單向雜湊函數產生對應所讀取之安全資料的一比對簽章,從智慧卡晶片中讀取簽章,並且判斷所讀取的簽章與所產生的比對簽章是否相同。並且,當所讀取的簽章與所產生的比對簽章不相同時,則快閃記憶體控制器輸出一警示訊息。
在本發明之一範例實施例中,上述之快閃記憶體控制器在上述快閃記憶體晶片中儲存一已更新安全資料以取代上述安全資料。並且,快閃記憶體控制器依據上述私鑰與此已更新安全資料使用上述單向雜湊函數來產生對應此已更新安全資料的一已更新簽章並且在上述智慧卡晶片中儲存此已更新簽章以取代上述簽章。
在本發明之一範例實施例中,上述之智慧卡晶片為符合聯邦資訊處理標準(Federal Information Processing Standards,FIPS)140-2的第三等級以上的晶片或符合EMV EL的第三等級以上的晶片。
在本發明之一範例實施例中,上述之智慧卡晶片透過一介面耦接至快閃記憶體控制器,並且此介面符合ISO 7816標準。
本發明範例實施例提出一種快閃記憶體儲存系統,其包括快閃記憶體控制器、快閃記憶體晶片與智慧卡晶片。快閃記憶體控制器具有一私鑰。快閃記憶體晶片耦接至快閃記憶體控制器,其中此快閃記憶體晶片儲存一安全資料。智慧卡晶片耦接至快閃記憶體控制器。快閃記憶體控制器產生對應上述安全資料的一特徵值並且將此特徵值儲存在智慧卡晶片中。此外,快閃記憶體控制器依據上述私鑰、上述特徵值與上述安全資料使用一單向雜湊函數來產生對應此安全資料與特徵值的一簽章並且將此簽章儲存在上述快閃記憶體晶片中。
在本發明之一範例實施例中,上述之快閃記憶體控制器從快閃記憶體晶片中讀取安全資料與簽章,從智慧卡晶片中讀取上述特徵值,依據此私鑰、所讀取的特徵值與所讀取的安全資料使用上述單向雜湊函數產生對應所讀取之安全資料與特徵值的一比對簽章,並且判斷所讀取的簽章與所產生的比對簽章是否相同。並且,當所讀取的簽章與所產生的比對簽章不相同時,則快閃記憶體控制器會輸出一警示訊息。
在本發明之一範例實施例中,上述之快閃記憶體控制器在上述快閃記憶體晶片中儲存一已更新安全資料以取代上述安全資料。此外,,快閃記憶體控制器產生對應此已更新安全資料的一已更新特徵值,並且依據上述私鑰、此已更新特徵值與此已更新安全資料使用上述單向雜湊函數來產生對應此已更新安全資料與此已更新特徵值的一已更新簽章。另外,快閃記憶體控制器在上述快閃記憶體晶片中儲存此已更新簽章以取代上述簽章,並且在上述智慧卡晶片中儲存此已更新特徵值以取代上述特徵值。
在本發明之一範例實施例中,上述之特徵值為在上述快閃記憶體晶片中儲存上述安全資料的一實體位址、對應此安全資料的一隨機值或對應此安全資料的一計數值。
本發明範例實施例提出一種快閃記憶體控制器,用於保護儲存在一快閃記憶體晶片中的一安全資料。本快閃記憶體控制器包括:微處理器單元、快閃記憶體介面單元、記憶體管理單元與安全資料保護單元。快閃記憶體介面單元耦接至微處理器單元,並且用以耦接至上述快閃記憶體晶片。記憶體管理單元耦接至微處理器單元。安全資料保護單元耦接至微處理器單元,並且具有一私鑰。安全資料保護單元會依據上述私鑰與上述安全資料使用一單向雜湊函數來產生對應此安全資料的一簽章並且將此簽章儲存在一智慧卡晶片中。
在本發明之一範例實施例中,當記憶體管理單元從快閃記憶體晶片中讀取安全資料時,安全資料保護單元會從智慧卡晶片中讀取對應的簽章,依據上述私鑰與所讀取的安全資料使用上述單向雜湊函數產生對應上述記憶體管理單元所讀取的安全資料的一比對簽章,並且判斷從智慧卡晶片中所讀取的簽章與所產生的比對簽章是否相同。並且,當所讀取的簽章與所產生的比對簽章不相同時,則安全資料保護單元輸出一警示訊息。
在本發明之一範例實施例中,上述之記憶體管理單元在上述快閃記憶體晶片中儲存一已更新安全資料以取代上述安全資料。並且,安全資料保護單元依據上述私鑰與此已更新安全資料使用上述單向雜湊函數來產生對應此已更新安全資料的一已更新簽章並且在上述智慧卡晶片中儲存此已更新簽章以取代上述簽章。
本發明範例實施例提出一種快閃記憶體控制器,用於保護儲存在一快閃記憶體晶片中的一安全資料。本快閃記憶體控制器包括:微處理器單元、快閃記憶體介面單元、記憶體管理單元與安全資料保護單元。快閃記憶體介面單元耦接至微處理器單元,並且用以耦接至上述快閃記憶體晶片。記憶體管理單元耦接至微處理器單元。安全資料保護單元耦接至微處理器單元,並且具有一私鑰。安全資料保護單元產生對應上述安全資料的一特徵值並且將此特徵值儲存在一智慧卡晶片中。安全資料保護單元依據上述私鑰、特徵值與安全資料使用一單向雜湊函數來產生對應此安全資料與特徵值的一簽章並且將此簽章儲存在快閃記憶體晶片中。
在本發明之一範例實施例中,當記憶體管理單元從快閃記憶體晶片中讀取安全資料時,安全資料保護單元會從快閃記憶體晶片中讀取對應的簽章,從智慧卡晶片中讀取對應的特徵值,依據私鑰、所讀取的特徵值與上述記憶體管理單元所讀取的安全資料使用上述單向雜湊函數產生對應所讀取的安全資料與特徵值的一比對簽章,並且判斷所讀取的簽章與所產生的比對簽章是否相同。並且,當所讀取的簽章與所產生的比對簽章不相同時,則安全資料保護單元會輸出一警示訊息。
在本發明之一範例實施例中,上述之記憶體管理單元在該快閃記憶體晶片中儲存一已更新安全資料以取代上述安全資料。此外,安全資料保護單元產生對應此已更新安全資料的一已更新特徵值,並且依據上述私鑰、已更新特徵值與已更新安全資料使用上述單向雜湊函數來產生對應此已更新安全資料與此已更新特徵值的一已更新簽章。再者,安全資料保護單元在上述快閃記憶體晶片中儲存此已更新簽章以取代上述簽章,且在上述智慧卡晶片中儲存此已更新特徵值以取代上述特徵值。
本發明範例實施例提出一種防資料竄改方法,用於保護儲存在一快閃記憶體儲存系統的一快閃記憶體晶片中的一安全資料。本防資料竄改方法包括在此快閃記憶體儲存系統中配置一智慧卡晶片,依據上述私鑰與安全資料使用一單向雜湊函數來產生對應此安全資料的一簽章,並且將此簽章儲存在上述智慧卡晶片中。
在本發明之一範例實施例中,本防資料竄改方法也包括當從上述快閃記憶體晶片中讀取安全資料時,從上述智慧卡晶片中讀取對應的簽章,依據上述私鑰與所讀取的安全資料使用上述單向雜湊函數產生對應所讀取的安全資料的一比對簽章,並且判斷從上述智慧卡晶片中所讀取的簽章與所產生的比對簽章是否相同。本防資料竄改方法更包括當所讀取的簽章與所產生的比對簽章不相同時,則輸出一警示訊息。
在本發明之一範例實施例中,上述之防資料竄改方法更包括:在上述快閃記憶體晶片中儲存一已更新安全資料以取代該安全資料,依據上述私鑰與此已更新安全資料使用上述單向雜湊函數來產生對應此已更新安全資料的一已更新簽章,並且在上述智慧卡晶片中儲存此已更新簽章以取代上述簽章。
本發明範例實施例提出一種防資料竄改方法,用於保護儲存在一快閃記憶體儲存系統的一快閃記憶體晶片中的一安全資料。本防資料竄改方法包括在此快閃記憶體儲存系統中配置一智慧卡晶片,產生對應此安全資料的一特徵值,並且將此特徵值儲存在此智慧卡晶片中。本防資料竄改方法也包括依據上述私鑰、特徵值與安全資料使用一單向雜湊函數來產生對應此安全資料與特徵值的一簽章並且將此簽章儲存在上述快閃記憶體晶片中。
在本發明之一範例實施例中,本防資料竄改方法還包括從上述快閃記憶體晶片中讀取安全資料,從上述快閃記憶體晶片中讀取對應的簽章,從智慧卡晶片中讀取對應的特徵值,依據上述私鑰、所讀取的特徵值與所讀取的安全資料使用上述單向雜湊函數產生對應所讀取的安全資料與特徵值的一比對簽章,並且判斷所讀取的簽章與所產生的比對簽章是否相同,本防資料竄改方法更包括當所讀取的簽章與所產生的比對簽章不相同時,則輸出一警示訊息。
在本發明之一範例實施例中,上述之防資料竄改方法更包括:在快閃記憶體晶片中儲存一已更新安全資料以取代該安全資料,產生對應此已更新安全資料的一已更新特徵值,依據上述私鑰、此已更新特徵值與此已更新安全資料使用上述單向雜湊函數來產生對應此已更新安全資料與此已更新特徵值的一已更新簽章,在上述快閃記憶體晶片中儲存此已更新簽章以取代上述簽章,並且在上述智慧卡晶片中儲存此已更新特徵值以取代上述特徵值。
基於上述,根據本發明範例實施例的快閃記憶體儲存系統、控制器與防資料竄改方法是藉由在所配置的智慧卡晶片中儲存對應安全資料的簽章或特徵值,並且在從快閃記憶體晶片中讀取安全資料時依據簽章或特徵值來驗證安全資料是否已被竄改,由此可確保安全資料的完整性。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,快閃記憶體儲存裝置(亦稱,快閃記憶體儲存系統)包括快閃記憶體晶片與控制器(亦稱,控制電路)。通常快閃記憶體儲存裝置會與主機系統一起使用,以使主機系統可將資料寫入至快閃記憶體儲存裝置或從快閃記憶體儲存裝置中讀取資料。另外,亦有快閃記憶體儲存裝置是包括嵌入式快閃記憶體與可執行於主機系統上以實質地作為此嵌入式快閃記憶體之控制器的軟體。
[第一範例實施例]
圖1A是根據本發明第一範例實施例繪示使用快閃記憶體儲存裝置的主機系統。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108以及資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中快閃記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的處理可將資料寫入至快閃記憶體儲存裝置100或從快閃記憶體儲存裝置100中讀取資料。例如,快閃記憶體儲存裝置100可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216。
一般而言,主機1000可實質地為可儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,快閃記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖1C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖2是繪示圖1A所示的快閃記憶體儲存裝置的概要方塊圖。
請參照圖2,快閃記憶體儲存裝置100包括連接器102、快閃記憶體控制器104、快閃記憶體晶片106與智慧卡晶片108。
連接器102是耦接至快閃記憶體控制器104並且用以耦接至主機系統1000。在本範例實施例中,連接器102為安全數位(secure digital,SD)介面連接器。然而,必須瞭解的是本發明不限於此,連接器102亦可以是序列先進附件(Serial Advanced Technology Attachment,SATA)連接器、平行先進附件(Parallel Advanced Technology Attachment,PATA)連接器、通用序列匯流排(Universal Serial Bus,USB)連接器、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394連接器、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)連接器、記憶棒(Memory Stick,MS)介面連接器、多媒體儲存卡(Multi Media Card,MMC)介面連接器、小型快閃(Compact Flash,CF)介面連接器、整合式驅動電子介面(Integrated Device Electronics,IDE)連接器或其他適合的連接器。
快閃記憶體控制器104會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在快閃記憶體晶片106中進行資料的寫入、讀取與抹除等運作。特別是,快閃記憶體控制器104執行根據本範例實施例的一防資料竄改機制以防止儲存於快閃記憶體晶片106中的資料被竄改。
快閃記憶體晶片106是耦接至快閃記憶體控制器104並且具有多個實體區塊以儲存資料。例如,在本範例實施例中,快閃記憶體控制器104將快閃記憶體晶片106的實體區塊區分為一般資料儲存區與安全資料儲存區,並且快閃記憶體控制器104會對儲存於安全資料儲存區中的資料執行根據本範例實施例的防資料竄改機制以避免攻擊者竄改需保護之資料。
在本範例實施例中,快閃記憶體晶片106為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體晶片。然而,本發明不限於此,快閃記憶體晶片106亦可是單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體晶片。
智慧卡晶片108是耦接至快閃記憶體控制器104,用以儲存資料並且對所儲存之資料進行加解密。
圖3A是根據本發明第一範例實施例所繪示的智慧卡晶片的概要方塊圖。
智慧卡晶片108具有微處理器302、安全模組304、唯讀記憶體(Read Only Memory,ROM)306、隨機存取記憶體(Random Access Memory,RAM)308、電子抹除式可編程唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)310、震盪器312、第一介面單元314與第二介面單元316。
微處理器302用以控制智慧卡晶片108的整體運作。安全模組304用以對儲存至智慧卡晶片108中的資料進行加解密。震盪器306用以產生智慧卡晶片108運作時所需之時脈訊號。
隨機存取記憶體308用以暫存運算的資料或韌體程式。電子抹除式可編程唯讀記憶體310用以儲存使用者資料。唯讀記憶體312用以儲存智慧卡晶片108的韌體程式。具體來說,當智慧卡晶片108運作時,微處理器302會執行唯讀記憶體312中的韌體程式來執行相關運作。
第一介面單元314用以耦接至快閃記憶體控制器104。例如,第一介面單元314是符合ISO 7816規範的介面。第二介面單元316用以耦接至一射頻天線以接收無線訊號。例如,第二介面單元316是符合ISO 14443規範的介面。
特別是,智慧卡晶片108的安全模組會執行一安全機制以防止欲竊取儲存於智慧卡晶片108中所儲存之資料的攻擊。例如,此攻擊包括時間攻擊(timing attack)、單一電力分析攻擊(single-power-analysis attack)或差異電力分析攻擊(differential-power-analysis)。此外,智慧卡晶片108所執行的安全機制是符合聯邦資訊處理標準(Federal Information Processing Standards,FIPS)140-2的第三等級或更高等級或者符合EMV EL的第三等級或更高等級。也就是說,智慧卡晶片108是通過FIPS 140-2之第四級以上的認證或者通過EMV EL之第四級以上的認證。在此,FIPS是美國聯邦政府制定給所有軍事機構除外的政府機構及政府的承包商所使用的公開標準,其中FIPS 140-2制定了關於資料安全的等級。此外,EMV是國際金融業界對於智慧卡與可使用晶片卡的銷售點(point-of-sale,POS)終端機,以及銀行機構所廣泛設置的自動櫃員機等所制定的專業交易與認證的標準規範。此規範是針對晶片信用卡與現金卡的支付款系統(Payment System)的相關軟硬體所設置的標準。在本範例實施例中,快閃記憶體控制器104會藉由在智慧卡晶片108中儲存用於驗證儲存於快閃記憶體晶片106中之資料是否已被竄改的資訊,以防止儲存於快閃記憶體晶片106中的資料被竄改。
圖3B是根據本發明第一範例實施例所繪示的快閃記憶體控制器的概要方塊圖。
請參照圖3B,快閃記憶體控制器104包括微處理器單元202、記憶體管理單元204、主機介面單元206、快閃記憶體介面單元208與安全資料保護單元210。
微處理器單元202為快閃記憶體控制器104的主控單元,用以與記憶體管理單元204、主機介面單元206、快閃記憶體介面單元208與安全資料保護單元210等協同合作以進行快閃記憶體儲存裝置100的各種運作。
記憶體管理單元204是耦接至微處理器單元202,用以執行資料存取機制與快閃記憶體管理機制。例如,記憶體管理單元204維護邏輯位址-實體位址映射表(logical address-physical address mapping table)以管理邏輯位址與實體位址之間的映射關係。此外,記憶體管理單元204從主機系統1000接收主機寫入指令或主機讀取指令並且依據此邏輯位址-實體位址映射表中的資訊在主機系統1000欲存取之邏輯位址所映射的實體位址中存取資料。
主機介面單元206是耦接至微處理器單元202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面單元206來傳送至微處理器單元202。在本範例實施例中,主機介面單元206是對應連接器204為SD介面。然而,必須瞭解的是本發明不限於此,主機介面單元210亦可以是SATA介面、PATA介面、USB介面、IEEE 1394介面、PCI Express介面、MS介面、MMC介面、CF介面、IDE介面或其他適合的資料傳輸介面。
快閃記憶體介面單元208是耦接至微處理器單元202並且用以存取快閃記憶體晶片106。也就是說,欲寫入至快閃記憶體晶片106的資料會經由快閃記憶體介面單元208轉換為快閃記憶體晶片106所能接受的格式。
安全資料保護單元210是耦接至微處理器單元202,用以執行根據本範例實施例的防資料竄改機制。在本範例實施例中,安全資料保護單元210內建有一私鑰222與一單向雜湊函數(One-Way Hash Function)224。例如,此私鑰222是由快閃記憶體控制器104的製造商於快閃記憶體控制器104出廠時隨機地所產生並儲存於安全資料保護單元210中。並且,當記憶體管理單元204於快閃記憶體晶片106中寫入需保護之資料(亦稱安全資料)時,安全資料保護單元210會依據私鑰222與所寫入之安全資料來執行單向雜湊函數224以產生對應此安全資料的簽章,並且將所產生之簽章儲存於智慧卡晶片108中。例如,記憶體管理單元204會透過應用程式資料單元(Application Protocol Data Unit,APDU)將所產生之簽章儲存至智慧卡晶片108的電子抹除式可編程唯讀記憶體310中,或者透過應用程式資料單元從智慧卡晶片108的電子抹除式可編程唯讀記憶體310中讀取所儲存的簽章。
在本範例實施例中,單向雜湊函數224是以SHA-256來實作。然而,必須瞭解的是,本發明不限於此,在本發明另一範例實施例中單向雜湊函數224亦可以MD5、RIPEMD-160 SHA1、SHA-386、SHA-512或其他適合的函數來實作。
在本範例實施例中,當記憶體管理單元204從快閃記憶體晶片106中讀取先前所寫入的安全資料時,安全資料保護單元210會從智慧卡晶片108中讀取對應的簽章並且依據私鑰222與記憶體管理單元204所讀取之安全資料以單向雜湊函數224來產生對應所讀取之安全資料的一比對簽章。特別是,安全資料保護單元210會依據所讀取的簽章與所產生之比對簽章來判斷所讀取之安全資料是否被竄改。
圖4是根據本發明第一範例實施例所繪示的判斷安全資料之完整性的範例。
請參照圖4,如狀態402所示,當記憶體管理單元204寫入安全資料D1至快閃記憶體晶片106時,安全資料保護單元210會以私鑰222與安全資料D1作為單向雜湊函數224的輸入參數來產生對應安全資料D1的簽章S1。此外,安全資料保護單元210會將簽章S1儲存在智慧卡晶片108中。
如狀態404所示,當記憶體管理單元204寫入安全資料D2至快閃記憶體晶片106中以取代安全資料D1時,安全資料保護單元210會以私鑰222與安全資料D2作為單向雜湊函數224的輸入參數來產生對應安全資料D2的簽章S2。此外,安全資料保護單元210會將簽章S2儲存至智慧卡晶片108中以取代簽章S1。
特別是,此時,若記憶體管理單元204接收到主機讀取指令而從快閃記憶體晶片106中讀取安全資料時,記憶體管理單元204會正確地讀取到安全資料D2。同時,安全資料保護單元210會以私鑰222與記憶體管理單元204所讀取之安全資料D2作為單向雜湊函數224的輸入參數來產生對應安全資料D2的比對簽章CS1。在此範例中,由於產生簽章S2與比對簽章CS1的參數皆為相同,因此所產生之比對簽章CS1與儲存於智慧卡晶片108中的簽章S2必然是相同。基此,安全資料保護單元210會判斷所讀取的安全資料是完整的。
圖5是根據本發明第一範例實施例所繪示的判斷安全資料之完整性的另一範例。
請參照圖5,如狀態502所示,當記憶體管理單元204寫入安全資料D1至快閃記憶體晶片106中時,安全資料保護單元210會以私鑰222與安全資料D1作為單向雜湊函數224的輸入參數來產生對應安全資料D1的簽章S1。此外,安全資料保護單元210會將簽章S1儲存至智慧卡晶片108中。特別是,此時,未經授權者使用硬拷貝方式複製整個快閃記憶體晶片106中的資料(即,備份快閃記憶體晶片106')。
如狀態504所示,當記憶體管理單元204寫入安全資料D2至快閃記憶體晶片106中以取代安全資料D1時,安全資料保護單元210會以私鑰222與安全資料D2作為單向雜湊函數224的輸入參數來產生對應安全資料D2的簽章S2。此外,安全資料保護單元210會將簽章S2儲存至智慧卡晶片108中以取代簽章S1。特別是,此時,未經授權者將備份快閃記憶體晶片106'中的資料回存至快閃記憶體晶片106,如狀態506所示,。
在狀態506下,若記憶體管理單元204接收到主機讀取指令而從快閃記憶體晶片106中讀取安全資料時,由於安全資料D2已被竄改為安全資料D1,因此記憶體管理單元204會錯誤地讀取到安全資料D1。同時,安全資料保護單元210會以私鑰222與記憶體管理單元204所讀取到之安全資料D1作為單向雜湊函數224的輸入參數來產生對應安全資料D1的比對簽章CS2。在此範例中,由於安全資料D2已被竄改為安全資料D1,因此所產生之比對簽章CS2與儲存於智慧卡晶片108中的簽章S2必然是不相同。基此,安全資料保護單元210會判斷所讀取的安全資料已被竄改,並且輸出一警示訊息。
在上述範例中,安全資料保護單元210會為所儲存之安全資料產生簽章並且將所產生的簽章儲存在智慧卡晶片108中。由於儲存於智慧卡晶片108中的資料是很難被竄改,因此,安全資料保護單元210藉由儲存於智慧卡晶片108中的簽章來驗證安全資料的完整性。
值得一提的是,儘管上述範例是以單一安全資料的儲存、更新與驗證來作說明。然而,本發明不限於此,在本發明另一範例實施例中,當記憶體管理單元204於快閃記憶體晶片106中儲存多筆安全資料時,安全資料保護單元210會為每一筆安全資料產生對應的簽章並且將此些簽章儲存於智慧卡晶片108中以用於驗證每一筆安全資料的完整性。此外,當記憶體管理單元204於快閃記憶體晶片106中儲存多筆安全資料時,安全資料保護單元210亦可對多筆安全資料產生一筆對應的簽章並且將此簽章儲存於智慧卡晶片108中以用於驗證多筆安全資料的完整性。
在本範例實施例中,記憶體管理單元204與安全資料保護單元210是以一韌體型式實作在快閃記憶體控制器104中。例如,將包括多個控制指令的記憶體管理單元204燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在快閃記憶體控制器104中,當快閃記憶體儲存裝置100運作時,記憶體管理單元204的控制指令會由微處理器單元202來執行以完成根據本發明實施例的資料存取機制與快閃記憶體管理機制,並且安全資料保護單元210的控制指令會由微處理器單元202來執行以完成根據本發明實施例的防資料竄改機制。
在本發明另一範例實施例中,記憶體管理單元204與安全資料保護單元210的控制指令亦可以程式碼型式儲存於快閃記憶體晶片106的特定區域(例如,快閃記憶體晶片中專用於存放系統資料的系統區)中。同樣的,當快閃記憶體儲存裝置100運作時,記憶體管理單元204與安全資料保護單元210的控制指令會由微處理器單元202來執行。此外,在本發明另一範例實施例中,記憶體管理單元204與安全資料保護單元210亦可以一硬體型式實作在快閃記憶體控制器104中。
請再參照圖3,在本發明一範例實施例中,快閃記憶體控制器104更包括緩衝記憶體252、電源管理單元254與錯誤校正單元256。
緩衝記憶體252是耦接至微處理器單元202並且用以暫存來自於主機系統1000的資料與指令或來自於快閃記憶體晶片106的資料。
電源管理單元254是耦接至微處理器單元202並且用以控制快閃記憶體儲存裝置100的電源。
錯誤校正單元256是耦接至微處理器單元202並且用以執行一錯誤校正程序以確保資料的正確性。具體來說,當記憶體管理單元204從主機系統1000中接收到主機寫入指令時,錯誤校正單元256會為對應此主機寫入指令的寫入資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理單元204會將此寫入資料與對應的錯誤校正碼寫入至快閃記憶體晶片106中。之後,當記憶體管理單元204從快閃記憶體晶片106中讀取資料時會同時讀取此資料對應的錯誤校正碼,並且錯誤校正單元256會依據此錯誤校正碼對所讀取的資料執行錯誤校正程序。
圖6是根據本發明第一範例實施例所繪示的防資料竄改方法的流程圖。
請參照圖6,當接收到欲存取安全資料的主機指令時,在步驟S601中記憶體管理單元204判斷此主機指令為主機寫入指令或主機讀取指令。
倘若在步驟S601中所接收的主機指令為主機寫入指令時,在步驟S603中記憶體管理單元204於快閃記憶體晶片106中更新(或寫入)安全資料的內容。具體來說,當快閃記憶體儲存裝置100從主機系統1000接收到指示更新(或寫入)安全資料的主機寫入指令時,記憶體管理單元204會依據邏輯位址-實體位址映射表中的資訊將安全資料寫入至快閃記憶體晶片106中。
接著,在步驟S605中安全資料保護單元210會依據私鑰222與欲更新的安全資料使用單向雜湊函數224來產生對應的簽章。然後,在步驟S607中安全資料保護單元210會將所產生的簽章儲存至智慧卡晶片108中。
倘若在步驟S601中所接收的主機指令為主機讀取指令時,則在步驟S609中記憶體管理單元204依據主機讀取指令從快閃記憶體晶片106中讀取安全資料。
接著,在步驟S611中安全資料保護單元210會依據私鑰222與記憶體管理單元204所讀取的安全資料使用單向雜湊函數224來產生比對簽章。並且,在步驟S613中安全資料保護單元210會從智慧卡晶片108中讀取對應的簽章。
然後,在步驟S615中安全資料保護單元210會判斷所產生的比對簽章與所讀取的簽章是否相同。倘若所產生的比對簽章與所讀取的簽章為相同時,則在步驟S617中記憶體管理單元204輸出所讀取的安全資料至主機系統1000。反之,倘若所產生的比對簽章與所讀取的簽章為不相同時,則在步驟S619中安全資料保護單元210會輸出警示訊息給主機系統1000,以告知安全資料已被竄改。
[第二範例實施例]
本發明第二範例實施例的快閃記憶體儲存裝置與主機系統本質上是相同於第一範例實施例的快閃記憶體儲存裝置與主機系統,其中差異在於在第二範例實施例中當記憶體管理單元更新安全資料時,安全資料保護單元是將對應所更新之安全資料的特徵值儲存於智慧卡晶片中並且根據此特徵值來驗證安全資料的完整性。
圖7是根據本發明第二範例實施例所繪示的快閃記憶體儲存裝置的概要方塊圖。
請參照圖7,快閃記憶體儲存裝置700是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的處理可將資料寫入至快閃記憶體儲存裝置700或從快閃記憶體儲存裝置700中讀取資料。例如,快閃記憶體儲存裝置700可以是如圖1B所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216。
快閃記憶體儲存裝置700包括連接器102、快閃記憶體控制器704、快閃記憶體晶片106與智慧卡晶片108。
連接器102、快閃記憶體晶片106與智慧卡晶片108是耦接至快閃記憶體控制器704,其中智慧卡晶片108是經由介面108a耦接至快閃記憶體控制器704。連接器102、快閃記憶體晶片106與智慧卡晶片108的結構與功能已描述如上,在此不重複描述。
快閃記憶體控制器704包括微處理器單元202、記憶體管理單元204、主機介面單元206、快閃記憶體介面單元208與安全資料保護單元710。
同樣的,微處理器單元202、記憶體管理單元204、主機介面單元206與快閃記憶體介面單元208的結構與功能已描述如上,在此不重複描述。
安全資料保護單元710是耦接至微處理器單元202,用以執行根據本範例實施例的防資料竄改機制。在本範例實施例中,安全資料保護單元710內建有私鑰222、單向雜湊函數(One-Way Hash Function)224與特徵值產生器226。
在本範例實施例中,每當記憶體管理單元204於快閃記憶體晶片106中更新(或寫入)安全資料時,特徵值產生器226會為所更新之安全資料產生對應的特徵值(Eigenvalue)。例如,在本範例實施例中,特徵值產生器226會依據用於儲存安全資料的實體位址作為此安全資料的特徵值。具體來說,在快閃記憶體晶片的運作中,實體位址會以輪替的方式來儲存主機系統1000於邏輯位址中寫入的資料。當安全資料被更新時,儲存此安全資料的實體位址會對應的變動。
此外,在本發明另一範例實施例中,特徵值產生器226亦可以隨機方式產生對應安全資料的特徵值。例如,當記憶體管理單元204於快閃記憶體晶片106中更新(或寫入)安全資料時,特徵值產生器226會隨機地產生一亂數作為對應此安全資料的特徵值。或者,在本發明另一範例實施例中,特徵值產生器226亦可以依序地產生計數值作為對應安全資料的特徵值。例如,當記憶體管理單元204於快閃記憶體晶片106中更新(或寫入)安全資料時,特徵值產生器226會計數此計數值(例如,加1)以作為對應此安全資料的特徵值。
在本範例實施例中,當記憶體管理單元204於快閃記憶體晶片106中寫入需保護之安全資料時,安全資料保護單元710會依據私鑰222、特徵值產生器226所產生的特徵值與所寫入之安全資料以單向雜湊函數224來產生對應此安全資料的簽章。特別是,安全資料保護單元710會將所產生的簽章儲存至快閃記憶體晶片106並且將對應的特徵值儲存於智慧卡晶片108中。
在本範例實施例中,當記憶體管理單元204從快閃記憶體晶片106中讀取先前所儲存的安全資料時,安全資料保護單元710會從智慧卡晶片108中讀取對應的特徵值以及從快閃記憶體晶片106中讀取對應的簽章,並且依據私鑰222、所讀取之特徵值與記憶體管理單元204所讀取之安全資料使用單向雜湊函數來產生對應所讀取之安全資料的一比對簽章。特別是,安全資料保護單元710會依據所讀取的簽章與所產生之比對簽章來判斷所讀取之安全資料是否被竄改。
圖8是根據本發明第二範例實施例所繪示的判斷安全資料之完整性的範例。
請參照圖8,如狀態802所示,當記憶體管理單元204寫入安全資料D1至快閃記憶體晶片106時,特徵值產生器226會產生對應安全資料D1的特徵值E1,並且安全資料保護單元710會以私鑰222、特徵值E1與安全資料D1作為單向雜湊函數224的輸入參數來產生對應安全資料D1的簽章S1'。此外,安全資料保護單元710會將簽章S1'儲存在快閃記憶體晶片106中並且將特徵值E1儲存至智慧卡晶片108中。
如狀態804所示,當記憶體管理單元204寫入安全資料D2至快閃記憶體晶片106中以取代安全資料D1時,特徵值產生器226會產生對應安全資料D2的特徵值E2並且安全資料保護單元710會以私鑰222、特徵值E2與安全資料D2作為單向雜湊函數224的輸入參數來產生對應安全資料D2的簽章S2'。此外,安全資料保護單元710會將簽章S2'儲存至快閃記憶體晶片106中以取代簽章S1'並且將特徵值E2儲存至智慧卡晶片108中以取代特徵值E1。
此時,若記憶體管理單元204接收到主機讀取指令而從快閃記憶體晶片106中讀取安全資料時,記憶體管理單元204會正確地讀取到安全資料D2。同時,安全資料保護單元710會從智慧卡晶片108中讀取對應的特徵值E2與從快閃記憶體晶片106中讀取對應的簽章S2',並且以私鑰222、特徵值E2與記憶體管理單元204所讀取之安全資料D2作為單向雜湊函數224的輸入參數來產生對應安全資料D2的比對簽章CS1'。在此範例中,由於產生簽章S2與比對簽章CS1的參數皆為相同,因此所產生之比對簽章CS1'與儲存於智慧快閃記憶體晶片106中的簽章S2'必然是相同的。基此,安全資料保護單元710會判斷所讀取的安全資料是可靠的。
圖9是根據本發明第二範例實施例所繪示的判斷安全資料之完整性的另一範例。
請參照圖9,如狀態902所示,當記憶體管理單元204寫入安全資料D1至快閃記憶體晶片106中時,特徵值產生器226會產生對應安全資料D1的特徵值E1,並且安全資料保護單元710會以私鑰222、特徵值E1與安全資料D1作為單向雜湊函數224的輸入參數來產生對應安全資料D1的簽章S1'。此外,安全資料保護單元710會將特徵值E1儲存至智慧卡晶片108中並且將簽章S1'儲存至快閃記憶體晶片106中。特別是,此時,未經授權者使用硬拷貝方式複製整個快閃記憶體晶片106中的資料(即,備份快閃記憶體晶片106')。
如狀態904所示,當記憶體管理單元204寫入安全資料D2至快閃記憶體晶片106中以取代安全資料D1時,特徵值產生器226會產生對應安全資料D2的特徵值E2,並且安全資料保護單元710以私鑰222、特徵值E2與安全資料D2作為單向雜湊函數224的輸入參數來產生對應安全資料D2的簽章S2'。此外,安全資料保護單元710會將簽章S2'儲存至快閃記憶體晶片106中以取代簽章S1'並且將特徵值E2儲存至智慧卡晶片108中以取代特徵值E1。特別是,此時,未經授權者將備份快閃記憶體晶片106'中的資料回存至快閃記憶體晶片106,如狀態906所示,。
在狀態906下,若記憶體管理單元204接收到主機讀取指令而從快閃記憶體晶片106中讀取安全資料時,由於安全資料D2已被竄改為安全資料D1,因此記憶體管理單元204會錯誤地讀取到安全資料D1。同時,安全資料保護單元710會從智慧卡晶片108中讀取對應的特徵值E2並且從快閃記憶體晶片106中讀取簽章S1',並且以私鑰222、特徵值E2與記憶體管理單元204所讀取到之安全資料D1作為單向雜湊函數224的輸入參數來產生對應安全資料D1的比對簽章CS2'。在此範例中,由於安全資料D2已被竄改為安全資料D1,因此依據特徵值E2所產生之比對簽章CS2'與儲存於快閃記憶體晶片106中的簽章S1'必然是不相同。基此,安全資料保護單元710會判斷所讀取的安全資料已被竄改,並且輸出一警示訊息。
在上述範例中,安全資料保護單元710會為安全資料產生特徵值並且將所產生的特徵值儲存在智慧卡晶片108中。由於儲存於智慧卡晶片108中的資料是很難被竄改的,因此,安全資料保護單元710藉由儲存於智慧卡晶片108中的特徵值來驗證安全資料的完整性。
值得一提的是,儘管上述範例是以單一安全資料的儲存、更新與驗證來作說明。然而,本發明不限於此,在本發明另一範例實施例中,當記憶體管理單元204於快閃記憶體晶片106中儲存多筆安全資料時,安全資料保護單元710會為每一安全資料產生對應的特徵值與簽章並且將此些特徵值儲存於智慧卡晶片108中並且將此些簽章儲存至快閃記憶體晶片106中以用於驗證每一安全資料的完整性。此外,當記憶體管理單元204於快閃記憶體晶片106中儲存多筆安全資料時,安全資料保護單元710亦可對多筆安全資料產生一筆對應的簽章與特徵值並且將此特徵值儲存於智慧卡晶片108中並且將此簽章儲存至快閃記憶體晶片106中以用於驗證多筆安全資料的完整性。
在本範例實施例中,安全資料保護單元710是以一韌體型式實作在快閃記憶體控制器704中並由微處理器單元202來執行。然而,本發明不限於此,在本發明另一範例實施例中,安全資料保護單元710亦可以程式碼型式儲存於快閃記憶體晶片106的特定區域(例如,快閃記憶體晶片中專用於存放系統資料的系統區)中並由微處理器單元202來執行,或者以一硬體型式實作在快閃記憶體控制器704中。
圖10是根據本發明第二範例實施例所繪示的防資料竄改方法的流程圖。
請參照圖10,當接收到欲存取安全資料的主機指令時,在步驟S1001中記憶體管理單元204判斷此主機指令為主機寫入指令或主機讀取指令。
倘若在步驟S1001中所接收的主機指令為主機寫入指令時,則在步驟S1003中記憶體管理單元204於快閃記憶體晶片106中更新(或寫入)安全資料的內容。
接著,在步驟S1005中安全資料保護單元710會產生對應此安全資料的特徵值,並且依據私鑰222、所產生之特徵值與欲更新的安全資料使用單向雜湊函數224來產生對應的簽章。然後,在步驟S1007中安全資料保護單元710會將所產生的特徵值儲存至智慧卡晶片108中並且將所產生之簽章儲存至快閃記憶體晶片106中。
倘若在步驟S1001中所接收的主機指令為主機讀取指令時,則在步驟S1009中記憶體管理單元204依據主機讀取指令從快閃記憶體晶片106中讀取安全資料。
接著,在步驟S1011中安全資料保護單元710會從智慧卡晶片108中讀取對應的特徵值。並且在步驟S1013中安全資料保護單元710會依據私鑰222、所讀取之特徵值與記憶體管理單元204所讀取的安全資料使用單向雜湊函數224來產生比對簽章。並且,在步驟S1015中安全資料保護單元710會從快閃記憶體晶片106中讀取對應的簽章。
然後,在步驟S1017中安全資料保護單元710會判斷所產生的比對簽章與所讀取的簽章是否相同。倘若所產生的比對簽章與所讀取的簽章為相同時,則在步驟S1019中記憶體管理單元204輸出所讀取的安全資料至主機系統1000。反之,倘若所產生的比對簽章與所讀取的簽章為不相同時,則在步驟S1021中安全資料保護單元710會輸出警示訊息給主機系統1000,以告知安全資料已被竄改。
綜上所述,本發明範例實施例的快閃記憶體儲存裝置配置有智慧卡晶片,並且對應儲存於快閃記憶體晶片中之安全資料的簽章或特徵值是被儲存在智慧卡晶片中,基此儲存於智慧卡晶片中的簽章或特徵值可用於驗證儲存於快閃記憶體晶片中之安全資料的完整性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1214...記憶卡
1216...固態硬碟
1310...數位相機
1312...SD卡
1314...MMC卡
1316...記憶棒
1318...CF卡
1320...嵌入式儲存裝置
100...快閃記憶體儲存裝置
102...連接器
104...快閃記憶體控制器
106...快閃記憶體晶片
108...智慧卡晶片
108a...介面
202...微處理器單元
204...記憶體管理單元
206...主機介面單元
208...快閃記憶體介面單元
210...安全資料保護單元
222...私鑰
224...單向雜湊函數
252...緩衝記憶體
254...電源管理單元
256...錯誤校正單元
302...微處理器
304...安全模組
306...唯讀記憶體
308...隨機存取記憶體
310...電子抹除式可編程唯讀記憶體
312...震盪器
314...第一介面單元
316...第二介面單元
S1、S2、S1'、S2'...簽章
D1、D2...安全資料
106...備份快閃記憶體晶片
402、404、502、504、506...狀態
S601、S603、S605、S607、S609、S611、S613、S615、S617、S619...防資料竄改的步驟
226...特徵值產生器
704...快閃記憶體控制器
710...安全資料保護單元
E1、E2...特徵值
802、804、902、904、906...狀態
S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017、S1019、S1021...防資料竄改的步驟
圖1A是根據本發明第一範例實施例所繪示使用快閃記憶體儲存裝置的主機系統。
圖1B是根據本發明範例實施例所繪示的電腦、輸入/輸出裝置與快閃記憶體儲存裝置的示意圖。
圖1C是根據本發明另一範例實施例所繪示的主機系統與快閃記憶體儲存裝置的示意圖。
圖2是繪示圖1A所示的快閃記憶體儲存裝置的概要方塊圖。
圖3A是根據本發明第一範例實施例所繪示的智慧卡晶片的概要方塊圖。
圖3B是根據本發明第一範例實施例所繪示的快閃記憶體控制器的概要方塊圖。
圖4是根據本發明第一範例實施例所繪示的判斷安全資料之完整性的範例。
圖5是根據本發明第一範例實施例所繪示的判斷安全資料之完整性的另一範例。
圖6是根據本發明第一範例實施例所繪示的防資料竄改方法的流程圖。
圖7是根據本發明第二範例實施例所繪示的快閃記憶體儲存裝置的概要方塊圖。
圖8是根據本發明第二範例實施例所繪示的判斷安全資料之完整性的範例。
圖9是根據本發明第二範例實施例所繪示的判斷安全資料之完整性的另一範例。
圖10是根據本發明第二範例實施例所繪示的防資料竄改方法中的流程圖。
S601、S603、S605、S607、S609、S611、S613、S615、S617、S619...防資料竄改的步驟

Claims (20)

  1. 一種快閃記憶體儲存系統,包括:一快閃記憶體控制器,具有一私鑰;一快閃記憶體晶片,耦接至該快閃記憶體控制器,其中該快閃記憶體晶片儲存一安全資料;以及一智慧卡晶片,耦接至該快閃記憶體控制器,其中該快閃記憶體控制器依據該私鑰與該安全資料使用一單向雜湊函數來產生對應該安全資料的一簽章並且將該簽章儲存在該智慧卡晶片中。
  2. 如申請專利範圍第1項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器從該快閃記憶體晶片中讀取該安全資料,依據該私鑰與所讀取的安全資料使用該單向雜湊函數產生對應所讀取的安全資料的一比對簽章,從該智慧卡晶片中讀取該簽章,並且判斷所讀取的簽章與所產生的比對簽章是否相同,其中當所讀取的簽章與所產生的比對簽章不相同時,則該快閃記憶體控制器輸出一警示訊息。
  3. 如申請專利範圍第2項所述之快閃記憶體儲存系統,其中該快閃記憶體控制器在該快閃記憶體晶片中儲存一已更新安全資料以取代該安全資料,其中該快閃記憶體控制器依據該私鑰與該已更新安全資料使用該單向雜湊函數來產生對應該已更新安全資料的一已更新簽章並且在該智慧卡晶片中儲存該已更新簽章 以取代該簽章。
  4. 如申請專利範圍第1項所述之快閃記憶體儲存系統,其中該智慧卡晶片為符合一聯邦資訊處理標準(Federal Information Processing Standards,FIPS)140-2的一第三等級以上的一晶片或符合Europay,Mastercard,and Visa Evaluation Level(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項所述之防資料竄改方法,其中該特徵值為在該快閃記憶體晶片中儲存該安全資料的一實體位址、對應該安全資料的一隨機值或對應該安全資料的一計數值。
TW099102422A 2010-01-28 2010-01-28 快閃記憶體儲存系統及其控制器與防資料竄改方法 TWI436372B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW099102422A TWI436372B (zh) 2010-01-28 2010-01-28 快閃記憶體儲存系統及其控制器與防資料竄改方法
US12/718,209 US20110185435A1 (en) 2010-01-28 2010-03-05 Flash memory storage system, and controller and anti-falsifying method thereof
US13/607,001 US20120331218A1 (en) 2010-01-28 2012-09-07 Flash memory storage system, and controller and anti-falsifying method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099102422A TWI436372B (zh) 2010-01-28 2010-01-28 快閃記憶體儲存系統及其控制器與防資料竄改方法

Publications (2)

Publication Number Publication Date
TW201126530A TW201126530A (en) 2011-08-01
TWI436372B true TWI436372B (zh) 2014-05-01

Family

ID=44310013

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099102422A TWI436372B (zh) 2010-01-28 2010-01-28 快閃記憶體儲存系統及其控制器與防資料竄改方法

Country Status (2)

Country Link
US (2) US20110185435A1 (zh)
TW (1) TWI436372B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI694349B (zh) * 2019-01-22 2020-05-21 開曼群島商現代財富控股有限公司 防止記憶體傾印的門檻式簽章系統及其方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL148834A (en) * 2000-09-10 2007-03-08 Sandisk Il Ltd Removable, active, personal storage device, system and method
TWI393143B (zh) * 2008-12-05 2013-04-11 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與防資料竄改方法
US20120303533A1 (en) * 2011-05-26 2012-11-29 Michael Collins Pinkus System and method for securing, distributing and enforcing for-hire vehicle operating parameters
US20130060721A1 (en) 2011-09-02 2013-03-07 Frias Transportation Infrastructure, Llc Systems and methods for pairing of for-hire vehicle meters and medallions
TWI467408B (zh) * 2011-11-15 2015-01-01 Mstar Semiconductor Inc 嵌入式元件與控制方法
US9703945B2 (en) 2012-09-19 2017-07-11 Winbond Electronics Corporation Secured computing system with asynchronous authentication
TWI459202B (zh) * 2012-12-05 2014-11-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN103870408B (zh) * 2012-12-18 2017-06-06 群联电子股份有限公司 数据处理方法、存储器控制器与存储器储存装置
US9858208B2 (en) 2013-03-21 2018-01-02 International Business Machines Corporation System for securing contents of removable memory
CN104283554B (zh) * 2013-07-08 2017-10-13 群联电子股份有限公司 时钟调整电路与存储器储存装置
US9455962B2 (en) 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
US9343162B2 (en) 2013-10-11 2016-05-17 Winbond Electronics Corporation Protection against side-channel attacks on non-volatile memory
CN103763103B (zh) * 2013-12-31 2017-02-01 飞天诚信科技股份有限公司 一种智能卡生成脱机认证凭据的方法
US9318221B2 (en) * 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
IL234956A (en) 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
FR3051064B1 (fr) * 2016-05-09 2018-05-25 Idemia France Procede de securisation d'un dispositif electronique, et dispositif electronique correspondant
US10880296B2 (en) * 2017-03-30 2020-12-29 Kingston Digital Inc. Smart security storage
US11936645B2 (en) 2017-03-30 2024-03-19 Kingston Digital, Inc. Smart security storage system
CN107451494B (zh) * 2017-06-30 2020-05-22 杭州旗捷科技有限公司 一种芯片改写设备的数据保护方法、电子设备及存储介质
US10459714B2 (en) * 2017-12-20 2019-10-29 Coolbitx Ltd. Method of updating firmware of closed storage device
US11461021B2 (en) 2020-03-09 2022-10-04 SK Hynix Inc. Computing system and operating method thereof
US11455102B2 (en) * 2020-03-09 2022-09-27 SK Hynix Inc. Computing system and operating method thereof
JP2022084980A (ja) * 2020-11-27 2022-06-08 キオクシア株式会社 電子デバイス
CN112506712A (zh) * 2020-12-19 2021-03-16 浙江阿尔法汽车技术有限公司 一种基于硬拷贝的mcu模拟eeprom的数据保护方法
CN112528311B (zh) * 2020-12-23 2024-02-20 杭州海康汽车软件有限公司 数据管理方法、装置及终端
CN113422776A (zh) * 2021-06-23 2021-09-21 孙勐 一种面向信息网络安全的主动防御方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3793629B2 (ja) * 1997-10-30 2006-07-05 沖電気工業株式会社 メモリカードとメモリカード装置
US6463537B1 (en) * 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
US7873837B1 (en) * 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Data security for electronic data flash card
US7814337B2 (en) * 2000-01-06 2010-10-12 Super Talent Electronics, Inc. Secure flash-memory card reader with host-encrypted data on a flash-controller-mastered bus parallel to a local CPU bus carrying encrypted hashed password and user ID
US6993648B2 (en) * 2001-08-16 2006-01-31 Lenovo (Singapore) Pte. Ltd. Proving BIOS trust in a TCPA compliant system
US20030203755A1 (en) * 2002-04-25 2003-10-30 Shuffle Master, Inc. Encryption in a secure computerized gaming system
EP1401188A3 (en) * 2002-09-20 2005-08-10 Canon Kabushiki Kaisha Image sensing apparatus and its method of control
JP2006237860A (ja) * 2005-02-23 2006-09-07 Canon Inc 複数鍵生成方法及び改竄検証方法、並びに装置、記憶媒体、プログラム
US7613891B2 (en) * 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device
US7971017B1 (en) * 2006-08-21 2011-06-28 Rockwell Automation Technologies, Inc. Memory card with embedded identifier
US8190919B2 (en) * 2006-11-07 2012-05-29 Spansion Llc Multiple stakeholder secure memory partitioning and access control
WO2008123959A1 (en) * 2007-04-04 2008-10-16 Wms Gaming Inc. Wagering game machine digitally signed volume management
US8782801B2 (en) * 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI694349B (zh) * 2019-01-22 2020-05-21 開曼群島商現代財富控股有限公司 防止記憶體傾印的門檻式簽章系統及其方法

Also Published As

Publication number Publication date
TW201126530A (en) 2011-08-01
US20120331218A1 (en) 2012-12-27
US20110185435A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
TWI436372B (zh) 快閃記憶體儲存系統及其控制器與防資料竄改方法
TWI405211B (zh) 快閃記憶體儲存系統、控制器與資料保護方法
US7392404B2 (en) Enhancing data integrity and security in a processor-based system
US20070061581A1 (en) Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US8769309B2 (en) Flash memory storage system, and controller and method for anti-falsifying data thereof
TWI397821B (zh) 資料串傳送方法、系統及其控制器
US8910301B2 (en) System and method for locking and unlocking storage device
US8589669B2 (en) Data protecting method, memory controller and memory storage device
US8996933B2 (en) Memory management method, controller, and storage system
TWI451248B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
TWI454912B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
US9772937B2 (en) Data processing method, memory controller and memory storage apparatus
US10797857B2 (en) Data interleaving scheme for an external memory of a secure microcontroller
US11960632B2 (en) Data attestation in memory
US20220158823A1 (en) Validating data stored in memory using cryptographic hashes
US8898807B2 (en) Data protecting method, mobile communication device, and memory storage device
TW201207621A (en) Method for dispatching and transmitting data stream, memory controller and memory storage apparatus
US11228443B2 (en) Using memory as a block in a block chain
CN102148054A (zh) 闪存储存系统及其控制器与防数据篡改方法
US20140289874A1 (en) Integrated circuit (ic) chip and method of verifying data thereof
CN114153376A (zh) 安全闪存控制器
US9158943B2 (en) Encryption and decryption device for portable storage device and encryption and decryption method thereof
CN103778073A (zh) 数据保护方法、移动通讯装置与存储器储存装置