闪存储存系统及其控制器与防数据窜改方法.pdf

上传人:b*** 文档编号:851985 上传时间:2018-03-15 格式:PDF 页数:16 大小:1,004.20KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810186319.2

申请日:

2008.12.11

公开号:

CN101751986A

公开日:

2010.06.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G11C 7/24申请日:20081211|||公开

IPC分类号:

G11C7/24

主分类号:

G11C7/24

申请人:

群联电子股份有限公司

发明人:

詹清文

地址:

中国台湾苗栗县竹南镇群义路1号

优先权:

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

陈亮

PDF下载: PDF下载
内容摘要

本发明公开了一种闪存储存系统及其控制器与防数据窜改方法,其包括配置有非易失性内存的控制器与闪存芯片,其中非易失性内存存有数据标志且闪存芯片存有安全信息与讯息摘要。当控制器更新在闪存芯片中的安全数据时,控制器会产生特征值与更新数据标志,并使用单向散列函数依据所更新的数据标志与特征值来更新讯息摘要。并且,当控制器处理在闪存芯片中的安全数据时,控制器会依据所储存的数据标志、特征值与讯息摘要来判断所读取的安全数据是否被窜改。基此,可有效地保护在闪存芯片的安全数据。

权利要求书

1: 一种闪存储存系统,包括: 一闪存芯片,储存至少一安全数据与至少一讯息摘要; 一控制器,电性连接至该闪存芯片并且具有至少一非易失性内存,该至少一非易失性内存储存至少一数据标志,其中该控制器会产生对应该至少一安全数据的至少一特征值,并且该至少一讯息摘要是依据该至少一数据标志与该至少一特征值使用一单向散列函数来产生, 其中当该至少一安全数据更新时,则该控制器会改变该至少一数据标志与该至少一特征值并且依据所改变的该至少一数据标志与该至少一特征值使用该单向散列函数来改变该至少一讯息摘要,并且 当该控制器从该闪存芯片中处理该至少一安全数据时,则该控制器读取该至少一数据标志、该至少一特征值与该至少一讯息摘要,依据所读取的该至少一数据标志与该至少一特征值来产生至少一比对讯息摘要,并且判断所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要是否相同,其中当所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要不相同时,则该控制器会输出一警示讯息。
2: 如权利要求1所述的闪存储存系统,其特征在于,该控制器是依据该至少一特征值的一部分或全部与该至少一数据标志来产生该至少一讯息摘要。
3: 如权利要求1所述的闪存储存系统,其特征在于,当该控制器更新该至少一安全数据时,则该控制器会改变该至少一特征值的一部分或全部。
4: 一种闪存控制器,适用于保护储存在一闪存芯片中的至少一安全数据,该控制器包括: 一微处理器单元; 至少一非易失性内存,电性连接至该微处理器单元; 一数据标志处理单元,电性连接至该微处理器单元并且用以在该至少一非易失性内存中储存对应该至少一安全数据的至少一数据标志; 一特征值处理单元,电性连接至该微处理器单元并且用以产生对应该至少一安全数据的至少一特征值; 一讯息摘要处理单元,电性连接至该微处理器单元并且用以在该闪存芯片中储存对应该至少一安全数据的至少一讯息摘要,其中该至少一讯息摘要是依据该至少一数据标志与该至少一特征值使用一单向散列函数来产生;以及 一闪存接口模块,电性连接至该微处理器单元。
5: 如权利要求4所述的闪存控制器,其特征在于,当该微处理器单元更新该至少一安全数据时,则该数据标志处理单元会改变该至少一数据标志,该特征值处理单元会改变该至少一特征值并且该至少一讯息摘要处理单元会依据所改变的该至少一数据标志与该至少一特征值使用该单向散列函数来改变该至少一讯息摘要,并且 当该微处理器单元从该闪存芯片中处理该至少一安全数据时,则该微处理器单元读取该至少一数据标志、该至少一特征值与该至少一讯息摘要,该讯息摘要处理单元使用该单向散列函数依据所读取的该至少一数据标志与该至少一特征值来产生至少一比对讯息摘要并且该微处理器单元判断所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要是否相同,其中当所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要不相同 时,则该微处理器单元会输出一警示讯息。
6: 如权利要求4所述的闪存控制器,其特征在于,该特征值处理单元在该闪存芯片的至少一区块中或在该至少一非易失性内存中储存该至少一特征值。
7: 如权利要求4所述的闪存控制器,其特征在于,更包括一其它非易失性内存,其中该特征值处理单元在该其它非易失性内存中储存该至少一特征值。
8: 如权利要求4所述的闪存控制器,其特征在于,该讯息摘要处理单元是依据该至少一数据标志与该至少一特征值的一部分或全部来产生该至少一讯息摘要。
9: 如权利要求5所述的闪存控制器,其特征在于,当该微处理器单元更新该至少一安全数据时,则该特征值处理单元会改变该至少一特征值的一部分或全部。
10: 如权利要求4所述的闪存控制器,其特征在于,当该微处理器单元更新该至少一安全数据时,则该数据标志处理单元会随机地产生至少一随机数值作为该至少一数据标志。
11: 如权利要求4所述的闪存控制器,其特征在于,当该微处理器单元更新该至少一安全数据时,则该特征值处理单元会随机地产生至少一随机数值作为该至少一特征值。
12: 如权利要求7所述的闪存控制器,其特征在于,每一该至少一非易失性内存为一可覆写式非易失性内存。
13: 一种防数据窜改方法,适用于保护储存在一闪存储存系统的一闪存芯片中的至少一安全数据,该防数据窜改方法包括: 在该闪存储存系统的一控制器中配置至少一非易失性内存,并且在该非易失性内存中储存对应该至少一安全数据的至少一数据标志; 产生对应该至少一安全数据的至少一特征值与至少一讯息摘要,其中该至少一讯息摘要是依据该至少一数据标志与该至少一特征值使用一单向散列函数来产生; 当更新该至少一安全数据时,则改变该至少一数据标志与该至少一特征值并且依据所改变的该至少一数据标志与该至少一特征值使用该单向散列函数来改变该至少一讯息摘要; 当从该闪存芯片中处理该至少一安全数据时,则读取该至少一数据标志、该至少一特征值与该至少一讯息摘要,使用该单向散列函数依据所读取的该至少一数据标志与该至少一特征值来产生至少一比对讯息摘要并且判断所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要是否相同;以及 当所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要不相同时,则输出一警示讯息。
14: 如权利要求13所述的防数据窜改方法,其特征在于,该至少一安全数据的数据量大于一第一门槛值或小于一第二门槛值。
15: 如权利要求13所述的防数据窜改方法,其特征在于,更包括在该闪存芯片的至少一区块中或该控制器中储存该至少一特征值。
16: 如权利要求13所述的防数据窜改方法,其特征在于,依据该至少一数据标志与该至少一特征值来产生该至少一讯息摘要的步骤包括依据该至少一数据标志与该至少一特征值的一部分或全部来产生该至少一讯息摘要。
17: 如权利要求13所述的防数据窜改方法,其特征在于,改变该至少一特征值的步骤包括改变该至少一特征值的一部分或全部。
18: 如权利要求13所述的防数据窜改方法,其特征在于,改变该至少一数据标志与该至少一特征值的步骤包括随机地产生多个随机数值作为该至少一数据标志与该至少一特征值
19: 如权利要求13所述的防数据窜改方法,其特征在于,该至少一特征值为该至少一安全数据的一部份或全部。
20: 如权利要求13所述的防数据窜改方法,其特征在于,该单向散列函数包括MD5、RIPEMD-160 SHA1、SHA-256、SHA-386或SHA-512。
21: 如权利要求13所述的防数据窜改方法,其特征在于,每一该至少一非易失性内存为一可覆写式非易失性内存。

说明书


闪存储存系统及其控制器与防数据窜改方法

    【技术领域】

    本发明是有关于一种闪存储存系统,且特别是有关于一种具有能够防止闪存中之数据被非法窜改的闪存储存系统及其闪存控制器与防数据窜改方法。

    背景技术

    随着使用者逐渐接受使用电子钱包及预付储值,使得智能卡的使用日益普及。智能卡(Smart Card)是具有例如微处理器、卡操作系统、安全模块及内存的组件的集成电路芯片(IC芯片),以允许持有者执行预定操作。智能卡提供计算、加密、双向通信及安全功能,使得这张卡片除了储存数据的功能外还能达到对其所储存的数据加以保护的功能。使用全球行动通信系统(GSM)机制的蜂巢式电话中所使用的用户识别模块(Subscriber Identification Module,SIM)卡为智能卡的其中一个应用范例。一般来说,智能卡本身受限于其集成电路的规范,因此储存容量有限。

    存储卡是一种数据储存设备,其一般是以NAND闪存作为储存媒体。NAND闪存具有可写入、可抹除、以及断电后仍可保存数据的优点,此外,随着制造技术的改良,NAND闪存具有体积小、存取速度快、与耗电量低等优点。因此,近年来此领域技术人员积极研究智能卡与大容量的存储卡结合的可能性,以扩增智能卡的储存容量。

    然而,在结合智能卡与存储卡的例子中,安全数据是储存在与智能卡独立的存储卡中,也就是安全数据并非储存在原设计的集成电路芯片中,因此如何确保存储卡上数据的安全性是此应用能否成功的关键。例如,当使用者在以存储卡为储存媒体的智能卡(例如,商店的预付储值卡)中储值1000元并于使用此智能卡进行消费时,由于存储卡为独立的电路,因此使用者可在确认智能卡中存储卡的位置后于消费前将存储卡内的数据进行硬拷贝(hard copy),之后在消费完成后再将硬拷贝的数据回存于存储卡中,由此回复(refresh)消费前的储值。因此,保护闪存内部数据的安全是此领域技术人员相当重视的课题。

    【发明内容】

    本发明提供一种闪存储存系统,其能够有效地确保所储存数据的可靠性。

    本发明提供一种闪存控制器,其能够有效地确保在一闪存芯片中所储存数据的可靠性。

    本发明提供一种防数据窜改方法,其能够有效地确保在一闪存芯片中所储存数据的可靠性。

    本发明提出一种闪存储存系统,其包括控制器与闪存芯片。闪存芯片储存至少一安全数据与至少一讯息摘要。控制器电性连接至闪存芯片并且具有至少一非易失性内存,非易失性内存储存至少一数据标志,其中控制器会产生对应安全数据的至少一特征值,并且上述讯息摘要是依据数据标志与特征值使用一单向散列函数(One-Way Hash Function)来产生。此外,当安全数据被更新时,则控制器会改变数据标志与特征值并且依据所改变的数据标志与特征值使用单向散列函数来改变讯息摘要,并且当控制器从闪存芯片中处理安全数据时,则控制器读取数据标志、特征值与讯息摘要,依据所读取的数据标志与特征值来产生至少一比对讯息摘要并且判断所读取的讯息摘要与所产生的比对讯息摘要是否相同,其中当所读取的讯息摘要与所产生的比对讯息摘要不相同时,则控制器会输出警示讯息。

    在本发明的一范例实施例中,上述的控制器是依据上述特征值的一部分或全部以及上述数据标志来产生讯息摘要。

    在本发明的一范例实施例中,其中当上述控制器更新安全数据时,则控制器会改变特征值的一部分或全部。

    本发明提出一种控制器,适用于保护储存在一闪存芯片中的至少一安全数据,此控制器包括微处理器单元、非易失性内存、数据标志处理单元、特征值处理单元、讯息摘要处理单元与闪存接口模块,其中非易失性内存是电性连接至微处理器单元;数据标志处理单元是电性连接至微处理器单元并且用以在非易失性内存中储存对应安全数据的至少一数据标志;特征值处理单元是电性连接至微处理器单元并且用以产生对应安全数据的至少一特征值;讯息摘要处理单元是电性连接至微处理器单元并且用以在闪存芯片中储存对应安全数据的至少一讯息摘要,其中讯息摘要是依据数据标志与特征值使用单向散列函数(One-Way Hash Function)来产生;以及闪存接口模块是电性连接至微处理器单元。

    在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则上述数据标志处理单元会改变上述数据标志,上述特征值处理单元会改变上述特征值并且上述讯息摘要处理单元会依据所改变的数据标志与特征值使用上述单向散列函数来改变上述讯息摘要,并且当上述微处理器单元从闪存芯片中处理安全数据时,则上述微处理器单元会读取上述数据标志、上述特征值与上述讯息摘要,上述讯息摘要处理单元会使用上述单向散列函数依据所读取的数据标志与特征值来产生至少一比对讯息摘要并且上述微处理器单元会判断所读取的讯息摘要与所产生的比对讯息摘要是否相同,其中当所读取的讯息摘要与所产生的比对讯息摘要不相同时,则上述微处理器单元会输出一警示讯息。

    在本发明的一范例实施例中,上述的特征值处理单元在闪存芯片的至少一区块中或在上述非易失性内存中储存特征值。

    在本发明的一范例实施例中,上述地闪存控制器更包括一其它非易失性内存,其中上述特征值处理单元在此其它非易失性内存中储存特征值。

    在本发明的一范例实施例中,上述的讯息摘要处理单元是依据数据标志与特征值的一部分或全部来产生讯息摘要。

    在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则特征值处理单元会改变特征值的一部分或全部。

    在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则数据标志处理单元会随机地产生至少一随机数值作为数据标志。

    在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则特征值处理单元会随机地产生至少一随机数值作为特征值。

    在本发明的一范例实施例中,上述之非易失性内存为一可覆写式非易失性内存。

    本发明提出一种防数据窜改方法,适用于保护储存在一闪存储存系统的一闪存芯片中的至少一安全数据,此防数据窜改方法包括在闪存储存系统的控制器中配置至少一非易失性内存,并且在此非易失性内存中储存对应安全数据的至少一数据标志。此防数据窜改方法也包括产生对应安全数据的至少一特征值与至少一讯息摘要,其中讯息摘要是依据数据标志与特征值使用一单向散列函数(One-Way HashFunction)来产生。此防数据窜改方法也包括当更新安全数据时,改变数据标志与特征值并且依据所改变的数据标志与特征值使用单向散列函数来改变讯息摘要。此防数据窜改方法也包括当从闪存芯片中处理安全数据时,读取数据标志、特征值与讯息摘要,使用单向散列函数依据所读取的数据标志与特征值来产生至少一比对讯息摘要并且判断所读取的讯息摘要与所产生的比对讯息摘要是否相同,以及当所读取的讯息摘要与所产生的比对讯息摘要不相同时,则输出警示讯息。

    在本发明的一范例实施例中,在上述的安全数据的数据量大于一第一门槛值或小于一第二门槛值

    在本发明的一范例实施例中,在上述的防数据窜改方法更包括在闪存芯片的至少一区块中或上述控制器中储存上述特征值。

    在本发明的一范例实施例中,其中依据数据标志与特征值来产生讯息摘要的步骤包括依据数据标志与特征值的一部分或全部来产生讯息摘要。

    在本发明的一范例实施例中,其中改变特征值的步骤包括改变上述特征值的一部分或全部。

    在本发明的一范例实施例中,其中改变数据标志与特征征值的步骤包括随机地产生多个随机数值作为上述数据标志与上述特征值

    在本发明的一范例实施例中,上述的特征值为上述安全数据的一部份或全部。

    在本发明的一范例实施例中,上述的单向散列函数包MD5、RIPEMD-160SHA1、SHA-256、SHA-386或SHA-512。

    在本发明的一范例实施例中,上述的非易失性内存为一可覆写式非易失性内存。

    基于上述,本发明是通过在所配置的非易失性内存中储存对应安全数据的数据标记以及在快闪存储芯片中储存对应安全数据的特征值,并且在从闪存芯片中读取安全数据时依据数据标记与特征值来验证安全数据是否已被窜改,由此可确保安全数据的可靠性。

    为让本发明的上述特征和优点能更明显易懂,下文特举范例实施例,并配合附图作详细说明如下。

    【附图说明】

    图1是根据本发明一范例实施例绘示闪存储存系统的概要方块图。

    图2是根据本发明范例实施例绘示防数据窜改方法的流程图

    图3是根据本发明范例实施例绘示判断安全数据的可靠性的示意图。

    【具体实施方式】

    图1是根据本发明一范例实施例绘示闪存储存系统的概要方块图。请参照图1,闪存储存系统100包括控制器(亦称控制器系统)110以及闪存芯片(flash memorychip)120。

    闪存储存系统100具有根据本范例实施例所设计的防数据窜改功能,因此,闪存储存系统100可用于储存需保护的安全数据。例如,在本范例实施例中,闪存储存系统100是用以与智能卡(smart card)结合作为用以储存智能卡的安全数据的储存媒体。根据本范例实施例的防数据窜改方法将于之后详细说明。在本范例实施例中,闪存储存系统100为小体积的存储卡芯片以方便与目前现行智能卡芯片200进行结合。但必须了解的是,在本发明另一范例实施例中闪存储存系统100亦可以是随身碟或固态硬盘(Solid State Drive,SSD),以提供使用者使用随身碟或固态硬盘时可保护使用者的机密数据。

    控制器110会执行以硬件型式或固件型式实作的多个逻辑门或机械指令以对闪存芯片120进行数据的储存、读取与抹除等运作。控制器110包括微处理器单元110a、闪存接口模块110b、特征值处理单元110c、数据标志处理单元110d、讯息摘要处理单元110e与非易失性内存110f。

    微处理器单元110a用以与闪存接口模块110b、特征值处理单元110c、数据标志处理单元110d、讯息摘要处理单元110e与非易失性内存110f协同合作以进行闪存储存系统100的各种运作。特别是,在本范例实施例中当与闪存储存系统100结合的智能卡芯片200存取储存在闪存芯片120内的安全数据时,微处理器单元110a会判断所读取的安全数据是否已被非法地窜改,并且当安全数据已被非法地窜改时会向与闪存储存系统100结合的智能卡芯片200传送警示讯息来告知所读取的安全数据不具可靠性,以避免智能卡芯片200使用不正确的安全数据来进行相关的运作。

    闪存接口模块110b是电性连接至微处理器单元110a并且用以存取闪存芯片120。也就是,欲写入至闪存芯片120的数据会经由闪存接口模块110b转换为闪存芯片120所能接受的格式。

    特征值处理单元110c是电性连接至微处理器单元110a。在本范例实施例中,特征值处理单元110c是用以在闪存芯片120的区块中储存与更新特征值(Eigenvalue)。在本发明一范例实施例中,特征值是储存在闪存芯片120的同一个区块中。此外,在本发明另一实施例中,特征值亦可分散地储存在闪存芯片120的多个区块中。

    具体来说,特征值是一随机数值,其是作为产生讯息摘要(message digest)或讯息确认码(Message Authentication Code,MAC)的参数。此外,在本发明另一范例实施例中,特征值亦可以是闪存储存系统中安全数据的一部分或全部。再者,在本发明另一范例实施例中,特征值亦可储存在控制器110中。例如,特征值可储存在控制器110的非易失性内存110f中,或者可在控制器110中配置另一非易失性内存(未绘示)来储存特征值。

    具体来说,当安全数据的数据量大于第一门槛值或小于第二门槛值时,特征值处理单元110c会对应此安全数据来产生特征值。第一门槛值与第二门槛值是由使用者自行设定,在本发明范例实施例中,第一门槛值与第二门槛值是分别设定为1兆位(megabyte,MB)与32字节。然而,必须了解的是,本发明不限于此。

    在本发明范例实施例中,特征值处理单元110c会在每次微处理器单元110a在闪存芯片120中写入安全数据或更新已储存在闪存芯片120中的安全数据时产生一随机数值来更新对应此安全数据的特征值,并且之后当微处理器单元110a从闪存芯片120中读取此安全数据时可依据此特征值来进行安全数据的可靠性验证。

    值得一提的是,特征值是用于产生讯息摘要的参数,当特征值的位数越大时,产生讯息摘要所需的运算时间亦会增加。再者,在本发明另一范例实施例中,当特征值位数太少时,所产生讯息摘要容易遭破解,故会增加特征值位数。因此,在本发明范例实施例中,特征值是设计为32位,然而,必须了解的是,本发明不限于此。

    在本范例实施例中,特征值处理单元110c会产生一个特征值来用于验证闪存芯片120中所储存之安全数据。然而,在本发明另一范例实施例中,亦可由特征值处理单元110c产生多个特征值来用于验证闪存芯片120中所储存的安全数据。

    数据标志处理单元11Od是电性连接至微处理器单元110a。在本范例实施例中,数据标志处理单元110d用以储存与更新数据标志(Data Token)。具体来说,数据标志亦是一随机数值,其是用作为与上述特征值一起来产生讯息摘要。特别是,数据标志是储存在非易失性内存110f中,而数据标志处理单元110d会在每次微处理器单元110a在闪存芯片120中写入安全数据或更新已储存在闪存芯片120中的安全数据时产生一随机数值来更新对应此安全数据的数据标志,并且之后当微处理器单元110a从闪存芯片120中读取此安全数据时可依据此数据标志来进行安全数据的可靠性验证。

    值得一提的是,在本发明另一范例实施例中,数据标志处理单元110d亦可是依一固定法则或依序产生号码来作为数据标志,例如数据标志处理单元110d会依据流水号1、2、3...作为数据标志。此外,数据标志处理单元110d亦可将微处理器单元110a所接收的一特定数据(例如,此笔数据的处理时间)作为数据标志或者将此特定数据编码后作为数据标志处理单元11Od。

    讯息摘要处理单元110e是电性连接至微处理器单元110a。在本发明范例实施例中,讯息摘要处理单元110e会将所输入的讯息以单向散列函数(One-Way HashFunction)来产生讯息摘要。特别是,讯息摘要处理单元11Oe会在每次微处理器单元110a在闪存芯片120中写入安全数据或更新已储存在闪存芯片120中的安全数据时依据特征值处理单元11Oc所产生或更新的特征值以及数据标志处理单元110d所产生或更新的数据标志来产生对应的讯息摘要,并且将所产生讯息摘要储存在闪存芯片120中,并且之后微处理器单元11Oa可读取此讯息摘要来进行安全数据的可靠性验证。

    在本范例实施例中,是使用SHA-256来实作讯息摘要处理单元11Oe中的单向散列函数。然而,必须了解的是本发明不限于此,在本发明另一范例实施例中讯息摘要处理单元11Oe中的单向散列函数亦可以MD5、RIPEMD-160SHA1、SHA-386、SHA-512或其它适合的函数来实作。

    值得一提的是,在本范例实施例中,特征值处理单元110c、数据标志处理单元11Od与讯息摘要处理单元110e是一硬件型式实作在控制器11O中。然而,在本发明另一范例实施例中特征值处理单元110c、数据标志处理单元11Od与讯息摘要处理单元110e亦可以一固件型式来实作于控制器110中。例如,使用程序语言撰写相关机械指令并且储存于程序内存(例如,只读存储器(Read Only Memory,ROM))来实作特征值处理单元110c、数据标志处理单元110d与讯息摘要处理单元110e于控制器110中。当闪存储存系统100运作时,特征值处理单元110c、数据标志处理单元110d与讯息摘要处理单元110e的多个机器指令会间接地被加载至控制器110的缓冲存储器(未绘示)中并且由微处理器单元110a来执行或直接地由微处理器单元110a来执行以完成上述数据保护步骤。

    此外,在本发明另一范例实施例中,特征值处理单元110c、数据标志处理单元110d与讯息摘要处理单元110e的机械指令亦可以固件型式储存于闪存芯片120的特定区域(例如,系统区)中。同样的,当闪存储存系统100运作时,特征值处理单元110c、数据标志处理单元110d与讯息摘要处理单元110e的多个机器指令可被加载至控制器110的缓冲存储器(未绘示)中并且由微处理器单元110a来执行。

    非易失性内存110f是电性连接至微处理器单元110a。在本范例实施例中,非易失性内存110f是用以储存上述数据标志。如上所述,数据标志是用于与所写入的安全数据结合以用作为讯息摘要处理单元110e产生讯息摘要的参数,因此数据标志的数据长度不需很大。基此,在本范例实施例中非易失性内存110f是以具16位(或36位)储存空间的可覆写式非易失性内存来实作。

    虽未绘示于本范例实施例,但控制器110可更包括缓冲存储器(例如,静态随机存取内存)、错误校正模块与电源管理模块等用于控制闪存芯片的功能模块。

    此外,在本发明另一范例实施例中,当闪存储存系统100实作为随身碟或固态硬盘时,闪存系统100更包括连接器(未绘示),以连接一主机系统(例如,个人计算机)。同时,控制器110更包括电性连接至微处理器单元110a的主机接口模块(未绘示),以接收与识别主机系统所传送的指令。也就是说,在闪存储存系统100实作为随身碟或固态硬盘的例子中,连接闪存储存系统100的主机系统所传送的指令与数据会透过连接器与主机接口模块传送至微处理器单元110a。例如,连接器与主机接口模块可对应地分别为USB连接器与USB接口、PCI Express连接器与PCIExpress接口、IEEE 1394连接器与IEEE 1394接口、SD连接器与SD接口、MS连接器与MS接口、MMC连接器与MMC接口、SATA连接器与SATA接口、PATA连接器与PATA接口、CF连接器与CF接口、IDE连接器与IDE接口或其它适合的连接器与数据传输接口。

    基于上述,在根据本发明范例实施例的闪存储存系统100中当微处理器单元110a在闪存芯片120中写入或更新安全数据时,特征值处理单元110c会对应所更新的安全数据随机地产生随机数值来更新储存在闪存芯片120中的特征值,数据标志处理单元110d会对应所更新的安全数据随机地产生随机数值来更新储存在可覆写式非易失性内存的数据标志以及讯息摘要处理单元110e会依据新更新的特征值与数据标志来产生对应所更新的安全数据的讯息摘要并且在闪存芯片120中储存或更新讯息摘要。之后,在根据本发明范例实施例的闪存储存系统100中当微处理器单元110a从闪存芯片120中读取安全数据时,微处理器单元110a会读取储存在闪存芯片120中的安全数据、特征值与讯息摘要以及读取储存在非易失性内存110f中的数据标志,并且讯息摘要处理单元110e会依据微处理器单元110a所读取的特征值与数据标志产生比对讯息摘要,由此微处理器单元110a则可依据所计算的比对讯息摘要与所读取的讯息摘要来确认安全数据是否为可靠。以下将配合附图详细说明根据本发明范例实施例的防数据窜改方法。

    图2是根据本发明范例实施例绘示的防数据窜改方法的流程图,并且图3是根据本发明范例实施例绘示判断安全数据的可靠性的示意图。

    请参照图2的(a)与图3的(a),当智能卡芯片200请求控制器110在闪存芯片120中写入或更新安全数据(例如,图3所示的安全数据SD1)时,或者写入或更新安全数据容量大于第一门槛值或小于第二门槛值时,在步骤S201中会随机地产生一随机数值作为对应所写入或更新之安全数据的新特征值,并且在步骤S203中将新产生的特征值储存至闪存芯片120中以更新原特征值(例如,图3所示的特征值E1)。

    然后,在步骤S205中会随机地产生一随机数值作为对应所写入或更新的安全数据的新数据标志并且在步骤S207中会将新产生的数据标志储存在非易失性内存110f中以更新原数据标志(例如,图3所示的数据标志DT1)。具体来说,根据本范例实施例中防数据窜改方法会在每次写入(或更新)安全数据时随机地产生一组不同的数据标志。也就是说,新产生的数据标志的值会与原数据标志的值不同。

    接着,在步骤S209中会依据新产生的特征值与数据标志使用单向散列函数来产生新的讯息摘要,并且在步骤S211中会在闪存芯片120中以新的讯息摘要来更新原讯息摘要(例如,图3所示的讯息摘要M1)。

    之后,当与闪存系统100结合的智能卡芯片200欲读取之前所储存的安全数据(例如,图3所示的安全数据SD1)时,请参照图2的(b),在步骤S213中会从闪存芯片120中读取安全数据(例如,图3所示的安全数据SD1)、特征值(例如,图3所示的讯息摘要E1)与讯息摘要(例如,图3所示的讯息摘要M1)。

    接着,在步骤S215中会从非易失性内存110f中读取数据标志(例如,图3所示的数据标志DT1)。

    之后,在步骤S217中会依据所读取的特征值与数据标志使用单向散列函数来产生比对讯息摘要,并且在步骤S219中会判断所读取的讯息摘要与所产生的比对讯息摘要是否相同。

    倘若在步骤S219中,判断所读取的讯息摘要与所产生的比对讯息摘要相同时,则在步骤S221中正常地将安全数据传送给智能卡芯片200。

    倘若在步骤S219中,判断所读取的讯息摘要与所产生的比对讯息摘要不相同时,则在步骤S223中会传送警示讯息给智能卡芯片200,以告知安全数据已被非法地窜改。例如,在读取图3的(a)中安全数据SD1时,依据所读取的特征值E1与数据标志DT1所计算的比对讯息摘要会相同于所读取的讯息摘要M1,因此根据本发明范例实施例的防数据窜改方法会正常地将安全数据传送给智能卡芯片200。

    请参照图3的(b),当使用者使用智能卡进行交易时,闪存储存系统100的控制器110会如图2的(a)的步骤所示将闪存芯片120中的安全数据SD1更新为安全数据SD2、重新产生特征值E2以取代闪存芯片120中的特征值E1、重新产生数据标志DT2以取代可覆写非易失性内存中的数据标志DT1并且产生新的讯息摘要M2以取代闪存芯片120中的讯息摘要M1。

    请参照图3的(c),倘若使用者在进行图3的(b)所示的交易前将图3的(a)所示的闪存芯片120中所储存的特征值E1、安全数据SD1与讯息摘要M1进行硬拷贝(hard copy)储存于闪存芯片120’中,并且在图3的(b)所示的交易之后回存于闪存芯片120时,则闪存芯片120中的特征值E2、安全数据SD2与讯息摘要M2将会被窜改为交易前的特征值E1、安全数据SD1与讯息摘要M1。

    在图3的(c)的状态下,倘若智能卡芯片读取欲读取安全数据时,闪存储存系统100的控制器110会如图2的(b)的步骤依据特征值E1与数据标志DT2来计算比对讯息摘要。此时,由于闪存芯片120中的讯息摘要M1是依据特征值E1与数据标志DT1所产生,因此依据特征值E1与数据标志DT2所计算的比对讯息摘要必定不同于讯息摘要M1,因此根据本发明范例实施例的防数据窜改方法会传送警示讯息给智能卡芯片200,以告知安全数据已被非法地窜改(如图2的(b)的步骤S223)。

    在本发明另一范例实施例中,为避免前后两个数据标志有碰撞(即,相同)的机会,在图2的(a)的步骤S205中更包括在所产生的数据标志与原数据标志相同时重新产生数据标志。

    在本发明另一范例实施例中,在图2的(a)的步骤S203中更包括在闪存芯片120的固定逻辑区块地址中储存对应安全数据的特征值。也就是说,控制器110可在固定逻辑区块地址中读取特征值,因此可减少搜寻特征值的时间,由此提升闪存储存系统100的存取效率。

    值得一提的是,在特征值处理单元102c产生多个特征值来验证安全数据的例子中,上述防数据窜改方法中步骤S203中是更新多个特征值的一部分或全部。此外,此例子中上述防数据窜改方法中步骤S209是使用多个特征值的一部分或全部来产生新的讯息摘要。

    例如,在特征值处理单元110c于闪存芯片120中储存特征值E1、E2、E3、E4与E5来作为产生对应安全数据的讯息摘要的参数的一范例实施例中,当微处理器单元110a更新储存在闪存芯片120中的安全数据时,特征值处理单元110c会更新所有特征值E1、E2、E3、E4与E5并且讯息摘要处理单元110e会使用所有特征值E1、E2、E3、E4与E5和数据标志处理单元110d所更新的数据标志来产生讯息摘要来。

    例如,在特征值处理单元110c于闪存芯片120中储存特征值E1、E2、E3、E4与E5来作为产生对应安全数据的讯息摘要的参数的另一范例实施例中,当微处理器单元110a更新储存在闪存芯片120中的安全数据时,特征值处理单元110c会更新所有特征值E1、E2、E3、E4与E5,然而讯息摘要处理单元110e仅会使用特征值E1、E3与E5和数据标志处理单元110d所更新的数据标志来产生讯息摘要来。

    例如,在特征值处理单元110c于闪存芯片120中储存特征值E1、E2、E3、E4与E5来作为产生对应安全数据的讯息摘要的参数的另一范例实施例中,当微处理器单元110a更新储存在闪存芯片120中的安全数据时,特征值处理单元110c仅会更新特征值E2与E4并且讯息摘要处理单元110e会使用所有特征值E1、E2、E3、E4与E5和数据标志处理单元110d所更新的数据标志来产生讯息摘要来。

    例如,在特征值处理单元110c于闪存芯片120中储存特征值E1、E2、E3、E4与E5来作为产生对应安全数据的讯息摘要的参数的另一范例实施例中,当微处理器单元110a更新储存在闪存芯片120中的安全数据时,特征值处理单元110c仅会更新特征值E2与E4,而讯息摘要处理单元110e仅会使用特征值E2、E3与E4和数据标志处理单元110d所更新的数据标志来产生讯息摘要来。

    值得一提的是,在仅更新部分特征值或仅使用部分特征值来产生讯息摘要的例子中,此些欲更新或使用的部分特征值可以随机方式来挑选,或者可根据数据标志的值来选择此些欲更新或使用的部分特征值。

    此外,本范例实施例图2所述步骤的顺序并非限定本发明,此领域熟知技艺者可根据本发明的精神轻易地以非本范例实施例所述的顺序来实作本发明。

    如图3所示,在本发明范例实施例中,是以一组安全数据、特征值、数据标志与讯息摘要为例来进行说明。然而,本发明不限于此,在本发明另一范例实施例中当在闪存芯片120中储存多笔安全数据时,数据标志处理单元110d、特征值处理单元110c与讯息摘要处理单元110e可为此多笔安全数据产生一组数据标志、特征值与讯息摘要,来进行根据本发明范例实施例的防数据窜改步骤。此外,在闪存芯片120中储存多笔安全数据的例子中,数据标志处理单元110d、特征值处理单元110c与讯息摘要处理单元110e为多笔安全数据产生各别对应的多组数据标志、特征值与讯息摘要,其中数据标志处理单元110d会将非易失性内存110f切割并分别地储存多组数据标志,或者可在控制器110中配置多个非易失性内存来储存多组数据标志。

    综上所述,本发明在闪存储存系统的控制器中实作一可覆写非易失性内存来储存一个属于随机数的数据标志,并且在闪存芯片中储存属于随机数的特征值,并且依据更新的数据标志与特征值来产生用于验证闪存芯片中所储存的安全数据的讯息摘要。因此,当数据窜改者使用硬拷贝方式回复闪存芯片中的安全数据时,控制器可依据数据标志与特征值所计算的比对讯息摘要来判断安全数据是否已被窜改。基此,可有效地确保在闪存储存系统中储存安全数据的可靠性,由此可在结合闪存与智能卡的应用中有效保护安全数据。此外,由于此特征值可由控制器固定储存在特定逻辑区块地址中,因此当读取安全数据而需执行验证时可减少搜寻特征值的时间提升闪存储存系统的效能。再者,由于特征值可依据系统设计者所预期的特定数据大小来设计,因此相对于直接对大量的安全数据进行编码来说可减少单向散列函数计算讯息摘要所需的时间

    虽然本发明已以范例实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当以权利要求所界定的为准。

闪存储存系统及其控制器与防数据窜改方法.pdf_第1页
第1页 / 共16页
闪存储存系统及其控制器与防数据窜改方法.pdf_第2页
第2页 / 共16页
闪存储存系统及其控制器与防数据窜改方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《闪存储存系统及其控制器与防数据窜改方法.pdf》由会员分享,可在线阅读,更多相关《闪存储存系统及其控制器与防数据窜改方法.pdf(16页珍藏版)》请在专利查询网上搜索。

本发明公开了一种闪存储存系统及其控制器与防数据窜改方法,其包括配置有非易失性内存的控制器与闪存芯片,其中非易失性内存存有数据标志且闪存芯片存有安全信息与讯息摘要。当控制器更新在闪存芯片中的安全数据时,控制器会产生特征值与更新数据标志,并使用单向散列函数依据所更新的数据标志与特征值来更新讯息摘要。并且,当控制器处理在闪存芯片中的安全数据时,控制器会依据所储存的数据标志、特征值与讯息摘要来判断所读取的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1