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

文档序号:6783455阅读:248来源:国知局
专利名称:闪存储存系统及其控制器与防数据窜改方法
技术领域
本发明是有关于一种闪存储存系统,且特别是有关于一种具有能够防止闪存中之
数据被非法窜改的闪存储存系统及其闪存控制器与防数据窜改方法。
背景技术
随着使用者逐渐接受使用电子钱包及预付储值,使得智能卡的使用日益普及。智能卡(Smart Card)是具有例如微处理器、卡操作系统、安全模块及内存的组件的集成电路芯片(IC芯片),以允许持有者执行预定操作。智能卡提供计算、加密、双向通信及安全功能,使得这张卡片除了储存数据的功能外还能达到对其所储存的数据加以保护的功能。使用全球行动通信系统(GSM)机制的蜂巢式电话中所使用的用户识别模块(SubscriberIdentification Module, SM)卡为智能卡的其中一个应用范例。 一般来说,智能卡本身受限于其集成电路的规范,因此储存容量有限。 存储卡是一种数据储存设备,其一般是以NAND闪存作为储存媒体。NAND闪存具有可写入、可抹除、以及断电后仍可保存数据的优点,此外,随着制造技术的改良,NAND闪存具有体积小、存取速度快、与耗电量低等优点。因此,近年来此领域技术人员积极研究智能卡与大容量的存储卡结合的可能性,以扩增智能卡的储存容量。 然而,在结合智能卡与存储卡的例子中,安全数据是储存在与智能卡独立的存储卡中,也就是安全数据并非储存在原设计的集成电路芯片中,因此如何确保存储卡上数据的安全性是此应用能否成功的关键。例如,当使用者在以存储卡为储存媒体的智能卡(例如,商店的预付储值卡)中储值1000元并于使用此智能卡进行消费时,由于存储卡为独立的电路,因此使用者可在确认智能卡中存储卡的位置后于消费前将存储卡内的数据进行硬拷贝(hard copy),之后在消费完成后再将硬拷贝的数据回存于存储卡中,由此回复(refresh)消费前的储值。因此,保护闪存内部数据的安全是此领域技术人员相当重视的课题。

发明内容
本发明提供一种闪存储存系统,其能够有效地确保所储存数据的可靠性。 本发明提供一种闪存控制器,其能够有效地确保在一闪存芯片中所储存数据的可靠性。 本发明提供一种防数据窜改方法,其能够有效地确保在一闪存芯片中所储存数据的可靠性。 本发明提出一种闪存储存系统,其包括控制器与闪存芯片。闪存芯片储存至少一安全数据与至少一讯息摘要。控制器电性连接至闪存芯片并且具有至少一非易失性内存,非易失性内存储存至少一数据标志,其中控制器会产生对应安全数据的至少一特征值,并且上述讯息摘要是依据数据标志与特征值使用一单向散列函数(One-Way Hash Function)来产生。此外,当安全数据被更新时,则控制器会改变数据标志与特征值并且依据所改变的数据标志与特征值使用单向散列函数来改变讯息摘要,并且当控制器从闪存芯片中处理安 全数据时,则控制器读取数据标志、特征值与讯息摘要,依据所读取的数据标志与特征值来 产生至少一比对讯息摘要并且判断所读取的讯息摘要与所产生的比对讯息摘要是否相同, 其中当所读取的讯息摘要与所产生的比对讯息摘要不相同时,则控制器会输出警示讯息。
在本发明的一范例实施例中,上述的控制器是依据上述特征值的一部分或全部以 及上述数据标志来产生讯息摘要。 在本发明的一范例实施例中,其中当上述控制器更新安全数据时,则控制器会改 变特征值的一部分或全部。 本发明提出一种控制器,适用于保护储存在一闪存芯片中的至少一安全数据,此
控制器包括微处理器单元、非易失性内存、数据标志处理单元、特征值处理单元、讯息摘要
处理单元与闪存接口模块,其中非易失性内存是电性连接至微处理器单元;数据标志处理
单元是电性连接至微处理器单元并且用以在非易失性内存中储存对应安全数据的至少一
数据标志;特征值处理单元是电性连接至微处理器单元并且用以产生对应安全数据的至少
一特征值;讯息摘要处理单元是电性连接至微处理器单元并且用以在闪存芯片中储存对
应安全数据的至少一讯息摘要,其中讯息摘要是依据数据标志与特征值使用单向散列函数
(0ne-Way Hash F皿ction)来产生;以及闪存接口模块是电性连接至微处理器单元。 在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则上述数据
标志处理单元会改变上述数据标志,上述特征值处理单元会改变上述特征值并且上述讯息
摘要处理单元会依据所改变的数据标志与特征值使用上述单向散列函数来改变上述讯息
摘要,并且当上述微处理器单元从闪存芯片中处理安全数据时,则上述微处理器单元会读
取上述数据标志、上述特征值与上述讯息摘要,上述讯息摘要处理单元会使用上述单向散
列函数依据所读取的数据标志与特征值来产生至少一比对讯息摘要并且上述微处理器单
元会判断所读取的讯息摘要与所产生的比对讯息摘要是否相同,其中当所读取的讯息摘要
与所产生的比对讯息摘要不相同时,则上述微处理器单元会输出一警示讯息。 在本发明的一范例实施例中,上述的特征值处理单元在闪存芯片的至少一区块中
或在上述非易失性内存中储存特征值。 在本发明的一范例实施例中,上述的闪存控制器更包括一其它非易失性内存,其 中上述特征值处理单元在此其它非易失性内存中储存特征值。 在本发明的一范例实施例中,上述的讯息摘要处理单元是依据数据标志与特征值 的一部分或全部来产生讯息摘要。 在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则特征值处 理单元会改变特征值的一部分或全部。 在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则数据标志 处理单元会随机地产生至少一随机数值作为数据标志。 在本发明的一范例实施例中,当上述微处理器单元更新安全数据时,则特征值处 理单元会随机地产生至少一随机数值作为特征值。 在本发明的一范例实施例中,上述之非易失性内存为一可覆写式非易失性内存。
本发明提出一种防数据窜改方法,适用于保护储存在一闪存储存系统的一闪存芯 片中的至少一安全数据,此防数据窜改方法包括在闪存储存系统的控制器中配置至少一非易失性内存,并且在此非易失性内存中储存对应安全数据的至少一数据标志。此防数据窜
改方法也包括产生对应安全数据的至少一特征值与至少一讯息摘要,其中讯息摘要是依据
数据标志与特征值使用一单向散列函数(0ne-Way HashFunction)来产生。此防数据窜改
方法也包括当更新安全数据时,改变数据标志与特征值并且依据所改变的数据标志与特征
值使用单向散列函数来改变讯息摘要。此防数据窜改方法也包括当从闪存芯片中处理安全
数据时,读取数据标志、特征值与讯息摘要,使用单向散列函数依据所读取的数据标志与特
征值来产生至少一比对讯息摘要并且判断所读取的讯息摘要与所产生的比对讯息摘要是
否相同,以及当所读取的讯息摘要与所产生的比对讯息摘要不相同时,则输出警示讯息。 在本发明的一范例实施例中,在上述的安全数据的数据量大于一第一门槛值或小
于一第二门槛值 在本发明的一范例实施例中,在上述的防数据窜改方法更包括在闪存芯片的至少 一区块中或上述控制器中储存上述特征值。 在本发明的一范例实施例中,其中依据数据标志与特征值来产生讯息摘要的步骤 包括依据数据标志与特征值的一部分或全部来产生讯息摘要。 在本发明的一范例实施例中,其中改变特征值的步骤包括改变上述特征值的一部 分或全部。 在本发明的一范例实施例中,其中改变数据标志与特征征值的步骤包括随机地产 生多个随机数值作为上述数据标志与上述特征值 在本发明的一范例实施例中,上述的特征值为上述安全数据的一部份或全部。
在本发明的 一 范例实施例中,上述的单向散列函数包MD5 、 RIPEMD-160SHA1 、 SHA-256、 SHA-386或SHA-512。 在本发明的一范例实施例中,上述的非易失性内存为一可覆写式非易失性内存。
基于上述,本发明是通过在所配置的非易失性内存中储存对应安全数据的数据标 记以及在快闪存储芯片中储存对应安全数据的特征值,并且在从闪存芯片中读取安全数据 时依据数据标记与特征值来验证安全数据是否已被窜改,由此可确保安全数据的可靠性。
为让本发明的上述特征和优点能更明显易懂,下文特举范例实施例,并配合附图 作详细说明如下。


图1是根据本发明一范例实施例绘示闪存储存系统的概要方块图。 图2是根据本发明范例实施例绘示防数据窜改方法的流程图 图3是根据本发明范例实施例绘示判断安全数据的可靠性的示意图。
具体实施例方式
图l是根据本发明一范例实施例绘示闪存储存系统的概要方块图。请参照 图1,闪存储存系统IOO包括控制器(亦称控制器系统)110以及闪存芯片(flash memorychip) 120。 闪存储存系统100具有根据本范例实施例所设计的防数据窜改功能,因此,闪存 储存系统100可用于储存需保护的安全数据。例如,在本范例实施例中,闪存储存系统100
7是用以与智能卡(smart card)结合作为用以储存智能卡的安全数据的储存媒体。根据本 范例实施例的防数据窜改方法将于之后详细说明。在本范例实施例中,闪存储存系统100 为小体积的存储卡芯片以方便与目前现行智能卡芯片200进行结合。但必须了解的是, 在本发明另一范例实施例中闪存储存系统100亦可以是随身碟或固态硬盘(Solid State Drive, SSD),以提供使用者使用随身碟或固态硬盘时可保护使用者的机密数据。
控制器110会执行以硬件型式或固件型式实作的多个逻辑门或机械指令以对闪 存芯片120进行数据的储存、读取与抹除等运作。控制器110包括微处理器单元110a、闪存 接口模块110b、特征值处理单元110c、数据标志处理单元110d、讯息摘要处理单元llOe与 非易失性内存llOf。 微处理器单元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中配置另一非易失性内存(未绘示)来储存特征值。
具体来说,当安全数据的数据量大于第一门槛值或小于第二门槛值时,特征值处 理单元llOc会对应此安全数据来产生特征值。第一门槛值与第二门槛值是由使用者自行 设定,在本发明范例实施例中,第一门槛值与第二门槛值是分别设定为1兆位(megabyte, MB)与32字节。然而,必须了解的是,本发明不限于此。 在本发明范例实施例中,特征值处理单元110c会在每次微处理器单元110a在闪 存芯片120中写入安全数据或更新已储存在闪存芯片120中的安全数据时产生一随机数值 来更新对应此安全数据的特征值,并且之后当微处理器单元110a从闪存芯片120中读取此 安全数据时可依据此特征值来进行安全数据的可靠性验证。 值得一提的是,特征值是用于产生讯息摘要的参数,当特征值的位数越大时,产生 讯息摘要所需的运算时间亦会增加。再者,在本发明另一范例实施例中,当特征值位数太少 时,所产生讯息摘要容易遭破解,故会增加特征值位数。因此,在本发明范例实施例中,特征值是设计为32位,然而,必须了解的是,本发明不限于此。 在本范例实施例中,特征值处理单元110c会产生一个特征值来用于验证闪存芯 片120中所储存之安全数据。然而,在本发明另一范例实施例中,亦可由特征值处理单元 110c产生多个特征值来用于验证闪存芯片120中所储存的安全数据。 数据标志处理单元110d是电性连接至微处理器单元110a。在本范例实施例中, 数据标志处理单元110d用以储存与更新数据标志(Data Token)。具体来说,数据标志亦 是一随机数值,其是用作为与上述特征值一起来产生讯息摘要。特别是,数据标志是储存在 非易失性内存110f中,而数据标志处理单元110d会在每次微处理器单元110a在闪存芯片 120中写入安全数据或更新已储存在闪存芯片120中的安全数据时产生一随机数值来更新 对应此安全数据的数据标志,并且之后当微处理器单元110a从闪存芯片120中读取此安全 数据时可依据此数据标志来进行安全数据的可靠性验证。 值得一提的是,在本发明另一范例实施例中,数据标志处理单元llOd亦可是依一 固定法则或依序产生号码来作为数据标志,例如数据标志处理单元llOd会依据流水号1、 2、3...作为数据标志。此外,数据标志处理单元llOd亦可将微处理器单元110a所接收的 一特定数据(例如,此笔数据的处理时间)作为数据标志或者将此特定数据编码后作为数 据标志处理单元110d。 讯息摘要处理单元110e是电性连接至微处理器单元110a。在本发明范例实施例 中,讯息摘要处理单元llOe会将所输入的讯息以单向散列函数(0ne-Way HashFunction) 来产生讯息摘要。特别是,讯息摘要处理单元110e会在每次微处理器单元110a在闪存芯 片120中写入安全数据或更新已储存在闪存芯片120中的安全数据时依据特征值处理单元 110c所产生或更新的特征值以及数据标志处理单元110d所产生或更新的数据标志来产生 对应的讯息摘要,并且将所产生讯息摘要储存在闪存芯片120中,并且之后微处理器单元 110a可读取此讯息摘要来进行安全数据的可靠性验证。 在本范例实施例中,是使用SHA-256来实作讯息摘要处理单元110e中的单向散列 函数。然而,必须了解的是本发明不限于此,在本发明另一范例实施例中讯息摘要处理单元 110e中的单向散列函数亦可以MD5、RIPEMD-160SHA1、SHA-386、SHA-512或其它适合的函数 来实作。 值得一提的是,在本范例实施例中,特征值处理单元110c、数据标志处理单元 110d与讯息摘要处理单元110e是一硬件型式实作在控制器110中。然而,在本发明另一 范例实施例中特征值处理单元110c、数据标志处理单元110d与讯息摘要处理单元110e亦 可以一固件型式来实作于控制器110中。例如,使用程序语言撰写相关机械指令并且储存 于程序内存(例如,只读存储器(Read Only Memory, ROM))来实作特征值处理单元110c、 数据标志处理单元110d与讯息摘要处理单元110e于控制器110中。当闪存储存系统100 运作时,特征值处理单元110c、数据标志处理单元llOd与讯息摘要处理单元110e的多个机 器指令会间接地被加载至控制器110的缓冲存储器(未绘示)中并且由微处理器单元110a 来执行或直接地由微处理器单元110a来执行以完成上述数据保护步骤。
此外,在本发明另一范例实施例中,特征值处理单元110c、数据标志处理单元 110d与讯息摘要处理单元110e的机械指令亦可以固件型式储存于闪存芯片120的特定区 域(例如,系统区)中。同样的,当闪存储存系统100运作时,特征值处理单元110c、数据标
9志处理单元110d与讯息摘要处理单元llOe的多个机器指令可被加载至控制器110的缓冲 存储器(未绘示)中并且由微处理器单元llOa来执行。 非易失性内存110f是电性连接至微处理器单元110a。在本范例实施例中,非易失 性内存llOf是用以储存上述数据标志。如上所述,数据标志是用于与所写入的安全数据结 合以用作为讯息摘要处理单元llOe产生讯息摘要的参数,因此数据标志的数据长度不需 很大。基此,在本范例实施例中非易失性内存110f是以具16位(或36位)储存空间的可 覆写式非易失性内存来实作。 虽未绘示于本范例实施例,但控制器110可更包括缓冲存储器(例如,静态随机存 取内存)、错误校正模块与电源管理模块等用于控制闪存芯片的功能模块。
此外,在本发明另一范例实施例中,当闪存储存系统IOO实作为随身碟或固态硬 盘时,闪存系统100更包括连接器(未绘示),以连接一主机系统(例如,个人计算机)。同 时,控制器IIO更包括电性连接至微处理器单元110a的主机接口模块(未绘示),以接收与 识别主机系统所传送的指令。也就是说,在闪存储存系统100实作为随身碟或固态硬盘的 例子中,连接闪存储存系统100的主机系统所传送的指令与数据会透过连接器与主机接口 模块传送至微处理器单元110a。例如,连接器与主机接口模块可对应地分别为USB连接器 与USB接口、PCI Express连接器与PCIExpress接口、 IEEE 1394连接器与IEEE 1394接 口 、 SD连接器与SD接口 、MS连接器与MS接口 、匪C连接器与匪C接口 、 SATA连接器与SATA 接口 、PATA连接器与PATA接口 、CF连接器与CF接口 、 IDE连接器与IDE接口或其它适合的 连接器与数据传输接口。 基于上述,在根据本发明范例实施例的闪存储存系统100中当微处理器单元110a 在闪存芯片120中写入或更新安全数据时,特征值处理单元110c会对应所更新的安全数据 随机地产生随机数值来更新储存在闪存芯片120中的特征值,数据标志处理单元llOd会对 应所更新的安全数据随机地产生随机数值来更新储存在可覆写式非易失性内存的数据标 志以及讯息摘要处理单元llOe会依据新更新的特征值与数据标志来产生对应所更新的安 全数据的讯息摘要并且在闪存芯片120中储存或更新讯息摘要。之后,在根据本发明范例 实施例的闪存储存系统100中当微处理器单元llOa从闪存芯片120中读取安全数据时,微 处理器单元llOa会读取储存在闪存芯片120中的安全数据、特征值与讯息摘要以及读取储 存在非易失性内存llOf中的数据标志,并且讯息摘要处理单元llOe会依据微处理器单元 110a所读取的特征值与数据标志产生比对讯息摘要,由此微处理器单元110a则可依据所 计算的比对讯息摘要与所读取的讯息摘要来确认安全数据是否为可靠。以下将配合附图详 细说明根据本发明范例实施例的防数据窜改方法。 图2是根据本发明范例实施例绘示的防数据窜改方法的流程图,并且图3是根据 本发明范例实施例绘示判断安全数据的可靠性的示意图。 请参照图2的(a)与图3的(a),当智能卡芯片200请求控制器110在闪存芯片 120中写入或更新安全数据(例如,图3所示的安全数据SD1)时,或者写入或更新安全数据 容量大于第一门槛值或小于第二门槛值时,在步骤S201中会随机地产生一随机数值作为 对应所写入或更新之安全数据的新特征值,并且在步骤S203中将新产生的特征值储存至 闪存芯片120中以更新原特征值(例如,图3所示的特征值El)。 然后,在步骤S205中会随机地产生一随机数值作为对应所写入或更新的安全数
10据的新数据标志并且在步骤S207中会将新产生的数据标志储存在非易失性内存110f中以 更新原数据标志(例如,图3所示的数据标志DT1)。具体来说,根据本范例实施例中防数 据窜改方法会在每次写入(或更新)安全数据时随机地产生一组不同的数据标志。也就是 说,新产生的数据标志的值会与原数据标志的值不同。 接着,在步骤S209中会依据新产生的特征值与数据标志使用单向散列函数来产 生新的讯息摘要,并且在步骤S211中会在闪存芯片120中以新的讯息摘要来更新原讯息摘 要(例如,图3所示的讯息摘要Ml)。 之后,当与闪存系统100结合的智能卡芯片200欲读取之前所储存的安全数据 (例如,图3所示的安全数据SD1)时,请参照图2的(b),在步骤S213中会从闪存芯片120 中读取安全数据(例如,图3所示的安全数据SD1)、特征值(例如,图3所示的讯息摘要E1) 与讯息摘要(例如,图3所示的讯息摘要Ml)。 接着,在步骤S215中会从非易失性内存110f中读取数据标志(例如,图3所示的 数据标志DT1)。 之后,在步骤S217中会依据所读取的特征值与数据标志使用单向散列函数来产 生比对讯息摘要,并且在步骤S219中会判断所读取的讯息摘要与所产生的比对讯息摘要 是否相同。 倘若在步骤S219中,判断所读取的讯息摘要与所产生的比对讯息摘要相同时,则 在步骤S221中正常地将安全数据传送给智能卡芯片200。 倘若在步骤S219中,判断所读取的讯息摘要与所产生的比对讯息摘要不相同时, 则在步骤S223中会传送警示讯息给智能卡芯片200,以告知安全数据已被非法地窜改。例 如,在读取图3的(a)中安全数据SD1时,依据所读取的特征值E1与数据标志DT1所计算 的比对讯息摘要会相同于所读取的讯息摘要Ml,因此根据本发明范例实施例的防数据窜改 方法会正常地将安全数据传送给智能卡芯片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将会被窜改为交易前的特征值 El、安全数据SD1与讯息摘要M1。 在图3的(c)的状态下,倘若智能卡芯片读取欲读取安全数据时,闪存储存系统 100的控制器110会如图2的(b)的步骤依据特征值E1与数据标志DT2来计算比对讯息摘 要。此时,由于闪存芯片120中的讯息摘要Ml是依据特征值El与数据标志DT1所产生,因 此依据特征值El与数据标志DT2所计算的比对讯息摘要必定不同于讯息摘要Ml,因此根据 本发明范例实施例的防数据窜改方法会传送警示讯息给智能卡芯片200,以告知安全数据 已被非法地窜改(如图2的(b)的步骤S223)。
11
在本发明另一范例实施例中,为避免前后两个数据标志有碰撞(即,相同)的机 会,在图2的(a)的步骤S205中更包括在所产生的数据标志与原数据标志相同时重新产生 数据标志。 在本发明另一范例实施例中,在图2的(a)的步骤S203中更包括在闪存芯片120 的固定逻辑区块地址中储存对应安全数据的特征值。也就是说,控制器iio可在固定逻辑 区块地址中读取特征值,因此可减少搜寻特征值的时间,由此提升闪存储存系统100的存 取效率。 值得一提的是,在特征值处理单元102c产生多个特征值来验证安全数据的例子 中,上述防数据窜改方法中步骤S203中是更新多个特征值的一部分或全部。此外,此例子 中上述防数据窜改方法中步骤S209是使用多个特征值的一部分或全部来产生新的讯息摘 要。 例如,在特征值处理单元110c于闪存芯片120中储存特征值El、 E2、 E3、 E4与E5 来作为产生对应安全数据的讯息摘要的参数的一范例实施例中,当微处理器单元110a更 新储存在闪存芯片120中的安全数据时,特征值处理单元110c会更新所有特征值El、 E2、 E3、 E4与E5并且讯息摘要处理单元110e会使用所有特征值El 、 E2、 E3、 E4与E5和数据标 志处理单元110d所更新的数据标志来产生讯息摘要来。 例如,在特征值处理单元110c于闪存芯片120中储存特征值E1、E2、E3、E4与E5 来作为产生对应安全数据的讯息摘要的参数的另一范例实施例中,当微处理器单元110a 更新储存在闪存芯片120中的安全数据时,特征值处理单元110c会更新所有特征值El、E2、 E3、E4与E5,然而讯息摘要处理单元110e仅会使用特征值E1、E3与E5和数据标志处理单 元110d所更新的数据标志来产生讯息摘要来。 例如,在特征值处理单元110c于闪存芯片120中储存特征值El、 E2、 E3、 E4与E5 来作为产生对应安全数据的讯息摘要的参数的另一范例实施例中,当微处理器单元110a 更新储存在闪存芯片120中的安全数据时,特征值处理单元110c仅会更新特征值E2与E4 并且讯息摘要处理单元110e会使用所有特征值El、 E2、 E3、 E4与E5和数据标志处理单元 110d所更新的数据标志来产生讯息摘要来。 例如,在特征值处理单元110c于闪存芯片120中储存特征值El、 E2、 E3、 E4与E5 来作为产生对应安全数据的讯息摘要的参数的另一范例实施例中,当微处理器单元110a 更新储存在闪存芯片120中的安全数据时,特征值处理单元110c仅会更新特征值E2与E4, 而讯息摘要处理单元110e仅会使用特征值E2、 E3与E4和数据标志处理单元110d所更新 的数据标志来产生讯息摘要来。 值得一提的是,在仅更新部分特征值或仅使用部分特征值来产生讯息摘要的例子 中,此些欲更新或使用的部分特征值可以随机方式来挑选,或者可根据数据标志的值来选 择此些欲更新或使用的部分特征值。 此外,本范例实施例图2所述步骤的顺序并非限定本发明,此领域熟知技艺者可
根据本发明的精神轻易地以非本范例实施例所述的顺序来实作本发明。 如图3所示,在本发明范例实施例中,是以一组安全数据、特征值、数据标志与讯
息摘要为例来进行说明。然而,本发明不限于此,在本发明另一范例实施例中当在闪存芯片
120中储存多笔安全数据时,数据标志处理单元110d、特征值处理单元110c与讯息摘要处
12理单元110e可为此多笔安全数据产生一组数据标志、特征值与讯息摘要,来进行根据本发 明范例实施例的防数据窜改步骤。此外,在闪存芯片120中储存多笔安全数据的例子中,数 据标志处理单元110d、特征值处理单元110c与讯息摘要处理单元110e为多笔安全数据产 生各别对应的多组数据标志、特征值与讯息摘要,其中数据标志处理单元110d会将非易失 性内存110f切割并分别地储存多组数据标志,或者可在控制器110中配置多个非易失性内 存来储存多组数据标志。 综上所述,本发明在闪存储存系统的控制器中实作一可覆写非易失性内存来储存 一个属于随机数的数据标志,并且在闪存芯片中储存属于随机数的特征值,并且依据更新 的数据标志与特征值来产生用于验证闪存芯片中所储存的安全数据的讯息摘要。因此,当 数据窜改者使用硬拷贝方式回复闪存芯片中的安全数据时,控制器可依据数据标志与特征 值所计算的比对讯息摘要来判断安全数据是否已被窜改。基此,可有效地确保在闪存储存 系统中储存安全数据的可靠性,由此可在结合闪存与智能卡的应用中有效保护安全数据。 此外,由于此特征值可由控制器固定储存在特定逻辑区块地址中,因此当读取安全数据而 需执行验证时可减少搜寻特征值的时间提升闪存储存系统的效能。再者,由于特征值可依 据系统设计者所预期的特定数据大小来设计,因此相对于直接对大量的安全数据进行编码 来说可减少单向散列函数计算讯息摘要所需的时间 虽然本发明已以范例实施例揭露如上,然其并非用以限定本发明,任何所属技术 领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本 发明的保护范围当以权利要求所界定的为准。
权利要求
一种闪存储存系统,包括一闪存芯片,储存至少一安全数据与至少一讯息摘要;一控制器,电性连接至该闪存芯片并且具有至少一非易失性内存,该至少一非易失性内存储存至少一数据标志,其中该控制器会产生对应该至少一安全数据的至少一特征值,并且该至少一讯息摘要是依据该至少一数据标志与该至少一特征值使用一单向散列函数来产生,其中当该至少一安全数据更新时,则该控制器会改变该至少一数据标志与该至少一特征值并且依据所改变的该至少一数据标志与该至少一特征值使用该单向散列函数来改变该至少一讯息摘要,并且当该控制器从该闪存芯片中处理该至少一安全数据时,则该控制器读取该至少一数据标志、该至少一特征值与该至少一讯息摘要,依据所读取的该至少一数据标志与该至少一特征值来产生至少一比对讯息摘要,并且判断所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要是否相同,其中当所读取的该至少一讯息摘要与所产生的该至少一比对讯息摘要不相同时,则该控制器会输出一警示讯息。
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所述的防数据窜改方法,其特征在于,每一该至少一非易失性内存为一可覆写式非易失性内存。
全文摘要
本发明公开了一种闪存储存系统及其控制器与防数据窜改方法,其包括配置有非易失性内存的控制器与闪存芯片,其中非易失性内存存有数据标志且闪存芯片存有安全信息与讯息摘要。当控制器更新在闪存芯片中的安全数据时,控制器会产生特征值与更新数据标志,并使用单向散列函数依据所更新的数据标志与特征值来更新讯息摘要。并且,当控制器处理在闪存芯片中的安全数据时,控制器会依据所储存的数据标志、特征值与讯息摘要来判断所读取的安全数据是否被窜改。基此,可有效地保护在闪存芯片的安全数据。
文档编号G11C7/00GK101751986SQ200810186319
公开日2010年6月23日 申请日期2008年12月11日 优先权日2008年12月11日
发明者詹清文 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1