CN102148054A - 闪存储存***及其控制器与防数据篡改方法 - Google Patents
闪存储存***及其控制器与防数据篡改方法 Download PDFInfo
- Publication number
- CN102148054A CN102148054A CN201010114010XA CN201010114010A CN102148054A CN 102148054 A CN102148054 A CN 102148054A CN 201010114010X A CN201010114010X A CN 201010114010XA CN 201010114010 A CN201010114010 A CN 201010114010A CN 102148054 A CN102148054 A CN 102148054A
- Authority
- CN
- China
- Prior art keywords
- secure data
- stamped signature
- flash
- chip
- eigenwert
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种闪存储存***及其控制器与防数据篡改方法,闪存储存***,其包括闪存控制器、闪存芯片与智能卡芯片。闪存芯片用以储存安全数据。闪存控制器会依据私钥与安全数据使用单向杂凑函数来产生对应此安全数据的签章并且将此签章储存在智能卡芯片中。
Description
技术领域
本发明涉及一种闪存储存***,且特别涉及一种具有能够防止储存在闪存芯片中的数据被非法篡改的闪存储存***及其闪存控制器与防数据篡改方法。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪存(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。记忆卡就是一种以NAND闪存作为储存媒体的储存装置。由于记忆卡体积小容量大,所以已广泛用于个人重要数据的储存。然而,储存在记忆卡内的数据是很容易在未经授权下被更改。也就是说,储存于记忆卡中的数据的完整性是无法被保证的。
为解决此一问题,其中一种作法就是对所储存的数据进行加密。例如,对所储存的数据加上数字签章。然而,此方法却无法抵挡数据复制的篡改。例如,以记忆卡作为交易行为的支付工具(例如,商店的预付储值卡)的例子中,当使用者在此记忆卡中储值1000元并于使用此记忆卡进行消费时,由于记忆卡中的闪存芯片为独立的电路,因此攻击者可在确认记忆卡中的闪存芯片的位置后于消费前将记忆卡内的数据进行硬拷贝(hard copy),之后在消费完成后再将硬拷贝的数据回存于记忆卡中,由此回复(refresh)消费前的储值。由于对应的数字签章也被回存于记忆卡中,因此***无法由数字签章来验证目前记忆卡中的储值已被篡改。基此,如何确保闪存芯片内部数据的安全与完整性是此领域技术人员相当重视的课题。
发明内容
本发明提供一种闪存储存***,其能够防止储存于闪存芯片中的数据被篡改。
本发明提供一种闪存控制器,其能够防止储存于闪存芯片中的数据被篡改。
本发明提供一种防数据篡改方法,其能够防止储存于闪存芯片中的数据被篡改。
本发明范例实施例提出一种闪存储存***,其包括闪存控制器、闪存芯片与智能卡芯片。闪存控制器具有一私钥。闪存芯片电性连接至闪存控制器,其中此闪存芯片储存一安全数据。智能卡芯片电性连接至闪存控制器。闪存控制器会依据上述私钥与上述安全数据使用一单向杂凑函数来产生对应此安全数据的一签章并且将此签章储存在上述智能卡芯片中。
在本发明一范例实施例中,闪存控制器从闪存芯片中读取安全数据,依据上述私钥与所读取的安全数据使用上述单向杂凑函数产生对应所读取的安全数据的一比对签章,从智能卡芯片中读取签章,并且判断所读取的签章与所产生的比对签章是否相同。并且,当所读取的签章与所产生的比对签章不相同时,则闪存控制器输出一警示信息。
在本发明一范例实施例中,上述闪存控制器在上述闪存芯片中储存一已更新安全数据以取代上述安全数据。并且,闪存控制器依据上述私钥与此已更新安全数据使用上述单向杂凑函数来产生对应此已更新安全数据的一已更新签章并且在上述智能卡芯片中储存此已更新签章以取代上述签章。
在本发明一范例实施例中,上述智能卡芯片为符合联邦信息处理标准(Federal Information Processing Standards,FIPS)140-2的第三等级以上的芯片或符合EMV EL的第三等级以上的芯片。
在本发明一范例实施例中,上述智能卡芯片透过一接口电性连接至闪存控制器,并且此接口符合ISO 7816标准。
本发明范例实施例提出一种闪存储存***,其包括闪存控制器、闪存芯片与智能卡芯片。闪存控制器具有一私钥。闪存芯片电性连接至闪存控制器,其中此闪存芯片储存一安全数据。智能卡芯片电性连接至闪存控制器。闪存控制器产生对应上述安全数据的一特征值并且将此特征值储存在智能卡芯片中。此外,闪存控制器依据上述私钥、上述特征值与上述安全数据使用一单向杂凑函数来产生对应此安全数据与特征值的一签章并且将此签章储存在上述闪存芯片中。
在本发明一范例实施例中,上述闪存控制器从闪存芯片中读取安全数据与签章,从智能卡芯片中读取上述特征值,依据此私钥、所读取的特征值与所读取的安全数据使用上述单向杂凑函数产生对应所读取安全数据与特征值的一比对签章,并且判断所读取的签章与所产生的比对签章是否相同。并且,当所读取的签章与所产生的比对签章不相同时,则闪存控制器会输出一警示信息。
在本发明一范例实施例中,上述闪存控制器在上述闪存芯片中储存一已更新安全数据以取代上述安全数据。此外,,闪存控制器产生对应此已更新安全数据的一已更新特征值,并且依据上述私钥、此已更新特征值与此已更新安全数据使用上述单向杂凑函数来产生对应此已更新安全数据与此已更新特征值的一已更新签章。另外,闪存控制器在上述闪存芯片中储存此已更新签章以取代上述签章,并且在上述智能卡芯片中储存此已更新特征值以取代上述特征值。
在本发明一范例实施例中,上述特征值为在上述闪存芯片中储存上述安全数据的一实体地址、对应此安全数据的一随机值或对应此安全数据的一计数值。
本发明范例实施例提出一种闪存控制器,用于保护储存在一闪存芯片中的一安全数据。本闪存控制器包括:微处理器单元、闪存接口单元、内存管理单元与安全数据保护单元。闪存接口单元电性连接至微处理器单元,并且用以电性连接至上述闪存芯片。内存管理单元电性连接至微处理器单元。安全数据保护单元电性连接至微处理器单元,并且具有一私钥。安全数据保护单元会依据上述私钥与上述安全数据使用一单向杂凑函数来产生对应此安全数据的一签章并且将此签章储存在一智能卡芯片中。
在本发明一范例实施例中,当内存管理单元从闪存芯片中读取安全数据时,安全数据保护单元会从智能卡芯片中读取对应的签章,依据上述私钥与所读取的安全数据使用上述单向杂凑函数产生对应上述内存管理单元所读取的安全数据的一比对签章,并且判断从智能卡芯片中所读取的签章与所产生的比对签章是否相同。并且,当所读取的签章与所产生的比对签章不相同时,则安全数据保护单元输出一警示信息。
在本发明一范例实施例中,上述内存管理单元在上述闪存芯片中储存一已更新安全数据以取代上述安全数据。并且,安全数据保护单元依据上述私钥与此已更新安全数据使用上述单向杂凑函数来产生对应此已更新安全数据的一已更新签章并且在上述智能卡芯片中储存此已更新签章以取代上述签章。
本发明范例实施例提出一种闪存控制器,用于保护储存在一闪存芯片中的一安全数据。本闪存控制器包括:微处理器单元、闪存接口单元、内存管理单元与安全数据保护单元。闪存接口单元电性连接至微处理器单元,并且用以电性连接至上述闪存芯片。内存管理单元电性连接至微处理器单元。安全数据保护单元电性连接至微处理器单元,并且具有一私钥。安全数据保护单元产生对应上述安全数据的一特征值并且将此特征值储存在一智能卡芯片中。安全数据保护单元依据上述私钥、特征值与安全数据使用一单向杂凑函 数来产生对应此安全数据与特征值的一签章并且将此签章储存在闪存芯片中。
在本发明一范例实施例中,当内存管理单元从闪存芯片中读取安全数据时,安全数据保护单元会从闪存芯片中读取对应的签章,从智能卡芯片中读取对应的特征值,依据私钥、所读取的特征值与上述内存管理单元所读取的安全数据使用上述单向杂凑函数产生对应所读取的安全数据与特征值的一比对签章,并且判断所读取的签章与所产生的比对签章是否相同。并且,当所读取的签章与所产生的比对签章不相同时,则安全数据保护单元会输出一警示信息。
在本发明一范例实施例中,上述内存管理单元在该闪存芯片中储存一已更新安全数据以取代上述安全数据。此外,安全数据保护单元产生对应此已更新安全数据的一已更新特征值,并且依据上述私钥、已更新特征值与已更新安全数据使用上述单向杂凑函数来产生对应此已更新安全数据与此已更新特征值的一已更新签章。再者,安全数据保护单元在上述闪存芯片中储存此已更新签章以取代上述签章,且在上述智能卡芯片中储存此已更新特征值以取代上述特征值。
本发明范例实施例提出一种防数据篡改方法,用于保护储存在一闪存储存***的一闪存芯片中的一安全数据。本防数据篡改方法包括在此闪存储存***中配置一智能卡芯片,依据上述私钥与安全数据使用一单向杂凑函数来产生对应此安全数据的一签章,并且将此签章储存在上述智能卡芯片中。
在本发明一范例实施例中,本防数据篡改方法也包括当从上述闪存芯片中读取安全数据时,从上述智能卡芯片中读取对应的签章,依据上述私钥与所读取的安全数据使用上述单向杂凑函数产生对应所读取的安全数据的一比对签章,并且判断从上述智能卡芯片中所读取的签章与所产生的比对签章是否相同。本防数据篡改方法更包括当所读取的签章与所产生的比对签章不相 同时,则输出一警示信息。
在本发明一范例实施例中,上述防数据篡改方法更包括:在上述闪存芯片中储存一已更新安全数据以取代该安全数据,依据上述私钥与此已更新安全数据使用上述单向杂凑函数来产生对应此已更新安全数据的一已更新签章,并且在上述智能卡芯片中储存此已更新签章以取代上述签章。
本发明范例实施例提出一种防数据篡改方法,用于保护储存在一闪存储存***的一闪存芯片中的一安全数据。本防数据篡改方法包括在此闪存储存***中配置一智能卡芯片,产生对应此安全数据的一特征值,并且将此特征值储存在此智能卡芯片中。本防数据篡改方法也包括依据上述私钥、特征值与安全数据使用一单向杂凑函数来产生对应此安全数据与特征值的一签章并且将此签章储存在上述闪存芯片中。
在本发明一范例实施例中,本防数据篡改方法还包括从上述闪存芯片中读取安全数据,从上述闪存芯片中读取对应的签章,从智能卡芯片中读取对应的特征值,依据上述私钥、所读取的特征值与所读取的安全数据使用上述单向杂凑函数产生对应所读取的安全数据与特征值的一比对签章,并且判断所读取的签章与所产生的比对签章是否相同,本防数据篡改方法更包括当所读取的签章与所产生的比对签章不相同时,则输出一警示信息。
在本发明一范例实施例中,上述防数据篡改方法还包括:在闪存芯片中储存一已更新安全数据以取代该安全数据,产生对应此已更新安全数据的一已更新特征值,依据上述私钥、此已更新特征值与此已更新安全数据使用上述单向杂凑函数来产生对应此已更新安全数据与此已更新特征值的一已更新签章,在上述闪存芯片中储存此已更新签章以取代上述签章,并且在上述智能卡芯片中储存此已更新特征值以取代上述特征值。
基于上述,根据本发明范例实施例的闪存储存***、控制器与防数据篡改方法是通过在所配置的智能卡芯片中储存对应安全数据的签章或特征值, 并且在从闪存芯片中读取安全数据时依据签章或特征值来验证安全资料是否已被篡改,由此可确保安全数据的完整性。
为让本发明上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据本发明第一范例实施例所图示使用闪存储存装置的主机***;
图1B是根据本发明范例实施例所图示的计算机、输入/输出装置与闪存储存装置的示意图;
图1C是根据本发明另一范例实施例所图示的主机***与闪存储存装置的示意图;
图2是图示图1A所示的闪存储存装置的概要方块图;
图3A是根据本发明第一范例实施例所图示的智能卡芯片的概要方块图;
图3B是根据本发明第一范例实施例所图示的闪存控制器的概要方块图;
图4是根据本发明第一范例实施例所图示的判断安全数据的完整性的范例;
图5是根据本发明第一范例实施例所图示的判断安全数据的完整性的另一范例;
图6是根据本发明第一范例实施例所图示的防数据篡改方法的流程图;
图7是根据本发明第二范例实施例所图示的闪存储存装置的概要方块图;
图8是根据本发明第二范例实施例所图示的判断安全数据的完整性的范 例;
图9是根据本发明第二范例实施例所图示的判断安全数据的完整性的另一范例;
图10是根据本发明第二范例实施例所图示的防数据篡改方法中的流程图。
附图标记说明:
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:状态; 700:闪存储存装置;
CS1、CS2、CS1′、CS2′:比对签章;
S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017、S1019、S1021:防数据篡改的步骤。
具体实施方式
一般而言,闪存储存装置(也称,闪存储存***)包括闪存芯片与控制器(也称,控制电路)。通常闪存储存装置会与主机***一起使用,以使主机***可将数据写入至闪存储存装置或从闪存储存装置中读取数据。另外,也有闪存储存装置是包括嵌入式闪存与可执行于主机***上以实质地作为此嵌入式闪 存的控制器的软件。
[第一范例实施例]
图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、记忆棒(memorystick)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 ofElectrical 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 OnlyMemory,ROM)306、随机存取内存(Random Access Memory,RAM)308、电子抹除式可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)310、震荡器312、第一接口单元314与第二接口单元316。
微处理器302用以控制智能卡芯片108的整体运作。安全模块304用以对储存至智能卡芯片108中的数据进行加解密。震荡器312用以产生智能卡芯片108运作时所需的频率讯号。
随机存取内存308用以暂存运算的数据或韧体程序。电子抹除式可编程只读存储器310用以储存使用者数据。只读存储器306用以储存智能卡芯片108的韧体程序。具体来说,当智能卡芯片108运作时,微处理器302会执行只读存储器306中的韧体程序来执行相关运作。
第一接口单元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是美国联邦政府制定给所有军事机构除外的政府机构及政府的承包商所使用的公开标准,其中FIPS140-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是对应连接器102为SD接口。然而,必须了解 的是本发明不限于此,主机接口单元206也可以是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-160SHA1、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中。
请再参照图3B,在本发明一范例实施例中,闪存控制器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,以告知安全数据已被篡改。
综上所述,本发明范例实施例的闪存储存装置配置有智能卡芯片,并且对应储存于闪存芯片中的安全数据的签章或特征值是被储存在智能卡芯片中,基此储存于智能卡芯片中的签章或特征值可用于验证储存于闪存芯片中的安全数据的完整性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (20)
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所述的防数据篡改方法,其中所述特征值为在所述闪存芯片中储存所述安全数据的一实体地址、对应所述安全数据的一随机值或对应所述安全数据的一计数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010114010XA CN102148054A (zh) | 2010-02-05 | 2010-02-05 | 闪存储存***及其控制器与防数据篡改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010114010XA CN102148054A (zh) | 2010-02-05 | 2010-02-05 | 闪存储存***及其控制器与防数据篡改方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102148054A true CN102148054A (zh) | 2011-08-10 |
Family
ID=44422268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010114010XA Pending CN102148054A (zh) | 2010-02-05 | 2010-02-05 | 闪存储存***及其控制器与防数据篡改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102148054A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062260A (zh) * | 2018-01-12 | 2018-05-22 | 江苏华存电子科技有限公司 | 一种利用假数据的闪存数据保护方法 |
WO2018103274A1 (zh) * | 2016-12-09 | 2018-06-14 | 上海新微技术研发中心有限公司 | 一种具有存储器内部数据防篡改机制的soc芯片及方法 |
CN112926063A (zh) * | 2020-11-25 | 2021-06-08 | 杭州视洞科技有限公司 | 一种基于sd卡认证的嵌入式设备信息获取方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006078650A1 (en) * | 2005-01-20 | 2006-07-27 | Matsushita Electric Industrial Co. Ltd. | Using hardware to secure areas of long term storage in ce devices |
CN1905073A (zh) * | 1999-04-27 | 2007-01-31 | 松下电器产业株式会社 | 半导体存储卡和数据读取装置 |
US20070198856A1 (en) * | 2000-01-06 | 2007-08-23 | 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 |
CN101465726A (zh) * | 2007-12-19 | 2009-06-24 | 群联电子股份有限公司 | 用于秘钥的反破解方法及执行此方法的控制器与储存装置 |
US20100023650A1 (en) * | 2007-11-12 | 2010-01-28 | Gemalto Inc | System and method for using a smart card in conjunction with a flash memory controller to detect logon authentication |
-
2010
- 2010-02-05 CN CN201010114010XA patent/CN102148054A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905073A (zh) * | 1999-04-27 | 2007-01-31 | 松下电器产业株式会社 | 半导体存储卡和数据读取装置 |
US20070198856A1 (en) * | 2000-01-06 | 2007-08-23 | 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 |
WO2006078650A1 (en) * | 2005-01-20 | 2006-07-27 | Matsushita Electric Industrial Co. Ltd. | Using hardware to secure areas of long term storage in ce devices |
US20100023650A1 (en) * | 2007-11-12 | 2010-01-28 | Gemalto Inc | System and method for using a smart card in conjunction with a flash memory controller to detect logon authentication |
CN101465726A (zh) * | 2007-12-19 | 2009-06-24 | 群联电子股份有限公司 | 用于秘钥的反破解方法及执行此方法的控制器与储存装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018103274A1 (zh) * | 2016-12-09 | 2018-06-14 | 上海新微技术研发中心有限公司 | 一种具有存储器内部数据防篡改机制的soc芯片及方法 |
CN108062260A (zh) * | 2018-01-12 | 2018-05-22 | 江苏华存电子科技有限公司 | 一种利用假数据的闪存数据保护方法 |
CN112926063A (zh) * | 2020-11-25 | 2021-06-08 | 杭州视洞科技有限公司 | 一种基于sd卡认证的嵌入式设备信息获取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI436372B (zh) | 快閃記憶體儲存系統及其控制器與防資料竄改方法 | |
US8250288B2 (en) | Flash memory storage system and controller and data protection method thereof | |
US8769309B2 (en) | Flash memory storage system, and controller and method for anti-falsifying data thereof | |
TWI451248B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
TWI454912B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
CN101403997A (zh) | 具多重分割区及自动执行功能的通用串行总线快闪存储卡 | |
TWI472927B (zh) | 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置 | |
US20140156913A1 (en) | Data processing method, memory controller and memory storage apparatus | |
CN104346103A (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
TW201342055A (zh) | 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置 | |
US8812756B2 (en) | Method of dispatching and transmitting data streams, memory controller and storage apparatus | |
US8328104B2 (en) | Storage device management systems and methods | |
CN103257938A (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
US8595420B2 (en) | Method for dispatching and transmitting data streams between host system and memory storage apparatus having non-volatile memory and smart card chip, memory controller, and memory storage apparatus | |
CN103218300A (zh) | 数据处理方法、存储器控制器与存储器储存装置 | |
CN102789430B (zh) | 存储器储存装置、其存储器控制器与存取方法 | |
CN102148054A (zh) | 闪存储存***及其控制器与防数据篡改方法 | |
CN103218319A (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN103870408B (zh) | 数据处理方法、存储器控制器与存储器储存装置 | |
US20140289874A1 (en) | Integrated circuit (ic) chip and method of verifying data thereof | |
JPH10198776A (ja) | 携帯可能情報記録媒体およびこれに対する情報書込/読出方法 | |
CN102375698B (zh) | 数据串分派与传送方法、存储器控制器与存储器储存装置 | |
CN103034594A (zh) | 存储器储存装置及其存储器控制器与密码验证方法 | |
CN102375943B (zh) | 识别码产生方法与存储器管理方法、控制器及储存*** | |
CN101751986B (zh) | 闪存储存***及其控制器与防数据窜改方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110810 |