数据扰乱与解扰乱方法及其储存媒体控制器与储存系统的制作方法

文档序号:1494598阅读:181来源:国知局
专利名称:数据扰乱与解扰乱方法及其储存媒体控制器与储存系统的制作方法
技术领域
本发明是有关于一种数据扰乱与解扰乱方法及其储存媒体控制器与储存系统。
背景技术
随着使用者逐渐接受使用电子钱包及预付储值,使得智慧卡的使用日益普及。智 慧卡(Smart Card)是具有例如微处理器、卡操作系统、安全模组及存储器的组件的积体电 路晶片(IC晶片),以允许持有者执行预定操作。智慧卡提供计算、加密、双向通信及安全功 能,使得这张卡片除了储存数据的功能外还能达到对其所储存的数据加以保护的功能。尽 管智慧卡提供一编码器来对数据加密的功能,但此信息需要被还原时,尚需另一不同于编 码器的解码器,由于编码器及解码器的电路皆较为复杂,其所需占用的面积较大,这对系统 体积要求日益严格的今日而言,是一大问题,故如何能兼故数据保密等级及系统体积微小 化,为目前极欲发展的课题。

发明内容
本发明提供一种数据扰乱与解扰乱方法,其能够有效地保护所储存的数据。本发明提供一种储存媒体控制器,其能够有效地保护储存于储存单元中的数据。本发明提供一种储存系统,其能够有效地保护储存于其中的数据。本发明提供一种数据处理方法,其能够有效地保护储存于其中的数据。本发明实施例提出一种数据扰乱方法,用以扰乱来自于一主机系统的一原始数 据。本数据扰乱方法包括提供一储存媒体控制器,产生一随机数并将所产生的随机数储存 于一储存单元中。本数据扰乱方法也包括从主机系统中接收一使用者密码,依据上述随机 数与上述使用者密码使用一第一函数产生一整垫值,并且依据上述整垫值与一金钥使用一 第二函数产生一暂时值。本数据扰乱方法还包括由此储存媒体控制器依据上述暂时值与上 述原始数据使用一第三函数产生对应上述原始数据的一扰乱数据。本发明实施例提出一种储存媒体控制器,用以扰乱来自于一主机系统的一原始数 据。本储存媒体控制器包括微处理器单元、储存媒体介面、主机介面单元、与数据编码单元。 储存媒体介面电性连接至微处理器单元,用以连接一储存媒体。主机介面单元电性连接至 微处理器单元,用以连接上述主机系统。数据编码单元电性连接至微处理单元,用以依据一 随机数与来自于上述主机系统的一使用者密码使用一第一函数产生一整垫值,依据上述整 垫值与一金钥使用一第二函数产生一暂时值并且依据上述暂时值与一原始数据使用一第 三函数产生对应此原始数据的一扰乱数据,其中数据编码单元将上述随机数储存于上述储 存单元中。本发明实施例提出一种储存系统,其包括连接器、储存单元与储存媒体控制器。连 接器用以电性连接一主机系统并接收来自于此主机系统的一原始数据与一使用者密码。储 存媒体控制器电性连接至此连接器与此储存单元,用以产生一随机数、依据此随机数与上 述使用者密码使用一第一函数产生一整垫值,依据此整垫值与一金钥使用一第二函数产生一暂时值,依据此暂时值与一原始数据使用一第三函数产生对应此原始数据的一扰乱数 据,且将此扰乱数据写入至上述储存单元中,其中储存媒体控制器将所产生的随机数储存 于上述储存单元中。本发明实施例提出一种数据解扰乱方法,用以依据来自于一主机系统的使用者密 码解扰乱储存于一储存单元中的一扰乱数据。本数据解扰乱方法包括从上述储存单元中读 取一随机数,依据此随机数与上述使用者密码使用一第一函数产生一整垫值。本数据解扰 乱方法也包括依据上述整垫值与一金钥使用一第二函数产生一暂时值,以及由一储存媒体 控制器依据此暂时值与上述扰乱数据使用一第三函数产生对应此扰乱数据的一原始数据。本发明实施例提出一种数据处理方法,其包括提供一储存媒体控制器,和分别接 收一第一金钥及一第二金钥。本数据处理方法还包括由此储存媒体控制器使用第一金钥加 密第二金钥以产生一暂时值,接收来自于一主机系统的一原始数据,并且由储存媒体控制 器依据暂时值与原始数据使用一第三函数产生对应原始数据的一扰乱数据。基于上述,本发明实施例是于每次执行扰乱程序时依据使用者密码与随机值来产 生用以扰乱数据的暂时值,因此可避免用以扰乱数据的暂时值被破解,而影响被保护数据 的安全性。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式 作详细说明如下。


图1是根据本发明实施例所示的储存系统的概要方块图2是根据本发明实施例所示的数据扰乱方法的流程图3是根据本发明实施例所示的执行扰乱方法的数据流示意图
图4是根据本发明实施例所示的数据解扰乱方法的流程图5是根据本发明实施例所示的执行解扰乱方法的数据流示意
主要元件符号说明
100 储存系统;110 储存媒体控制器;
120 连接器;130 储存单元;
152 微处理器单元;154 数据编码单元;
156 储存媒体介面单元;158 主机介面单元;
172 乱数产生器;174 遮罩器;
176 数据扰乱器;200 主机系统;
300 汇流排;S201、S203、S205、S207、S209、
S21US213 扰乱方法的步骤
S401、S403、S405、S407、S409、WCl 数据写入指令;
S411解扰乱方法的步骤;
RDl 原始数据;PWl 使用者密码;
Kl 金钥;RNl 随机数;
PVl 整垫值;Tl 暂时值;
SDl 扰乱数据;RCl 数据读取指令。
具体实施例方式本实施例提出一种储存系统,其中当主机系统欲在此储存系统中储存数据(即, 原始数据)时,此储存系统会使用即时产生的暂时值来对原始数据执行一扰乱程序以产生 对应的扰乱数据,并储存此扰乱数据。而当主机系统欲读取从此储存系统中读取数据(即, 原始数据)时,此储存系统会使用即时产生的暂时值来对对应的扰乱数据执行一解扰乱程 序以还原原始数据。由于扰乱与解扰乱所使用的暂时值是于运作过程中即时产生,并且未 储存于储存系统中,因此可有效地防止未授权者破解储存系统中的扰乱机制而非法存取储 存系统中的数据。图1是根据本发明实施例所示的储存系统的概要方块图。请参照图1,一般来说,储存系统100是与主机系统200 —起运作使用,以使主机系 统200可将数据写入至储存系统100或从储存系统100中读取数据。储存系统100包括储存媒体控制器(亦可简称,控制器)110、连接器120与储存单 元 130。储存媒体控制器110会执行以硬件型式或韧件型式实作的多个逻辑闸或控制指 令,并且根据主机系统200的指令在储存单元130中进行数据的写入、读取等。储存媒体控制器110包括微处理器单元152、数据编码单元154、储存媒体介面单 元156与主机介面单元158。微处理器单元152用以与数据编码单元154、储存媒体介面单元156与主机介面单 元158等协同合作以进行储存系统100的各种运作。数据编码单元154是电性连接至微处理器单元152,并且用以执行根据本实施例 的数据扰乱机制。数据编码单元154包括乱数产生器172、遮罩器174与数据扰乱器176。乱数产生器172是电性连接至微处理器单元152,并且根据微处理器单元152的指 示产生随机数。例如,在本实施例中,乱数产生器172会产生长度为8个位元组(Byte)的 随机数。然而,本发明不限于此,乱数产生器172亦可依使用者的设定而产生3个位元组, 12个位元组,或任意长度的随机数。在本实施例中,乱数产生器172所产生的随机数是用 于对欲储存的数据进行扰乱程序或者对已扰乱数据进行解扰乱程序的其中一个参数。特别 是,微处理器单元152会储存乱数产生器172所产生的随机数,以利于后续对已扰乱数据进 行解扰乱程序,例如,微处理器单元152将乱数产生器172所产生的随机数储存于储存单元 130中。此外,在本发明另一实施例中,储存媒体控制器110中亦可配置非挥发性存储器来 存放乱数产生器172所产生的随机数。遮罩器174是电性连接至微处理器单元152,并且根据微处理器单元152的指示产 生整垫值与暂时值。遮罩器174所产生的整垫值与暂时值亦是用于对主机系统200欲储存 的数据进行扰乱程序或者对已扰乱数据进行解扰乱程序的参数。值得一提的是,微处理器 单元152会储存所产生的随机值,以作为解扰乱之用,但在本实施例中,遮罩器174所产生 的整垫值与暂时值可以不被储存。也就是说,整垫值与暂时值是于每次进行扰乱程序或解 扰乱程序时产生,并且在使用完毕后就会被删除。具体来说,在遮罩器174中配置有第一函数,并且遮罩器174会根据使用者密码与 乱数产生器172所产生的随机值使用第一函数来产生整垫值。在此,使用者密码是由主机系统200所提供,并且通过主机系统200传送至储存媒体控制器110。此外,第一函数为一 预设运算函数,其用以编辑所输入的数据(即,使用者密码与随机数)并且将所输入的数据 填塞至一预定长度以作为整垫值并且将所输入的数据扩充至一预定长度以作为整垫值,其 中此预定长度可依据预期的保密强度或数据处理长度来设定,即此预定长度越长则保密强 度越高或数据处理数量愈多,在本实施例中,此预定长度是设定为24个位元组,但其亦可 依使用者需要而设定为任意长度,不应以此为限。在本实施例中,第一函数如式(1)所示PV = F(PW, SHIFT, RN, PAD, PWL)(1)其中PV表示整垫值,SHIFT表示位移值,Pff表示使用者密码,RN表示随机值,PAD 表示填塞位元,PWL表示使用者密码长度。在此,位移值是用以使所编辑的整垫值更为混乱, 而填塞位元用以扩充所编辑的整垫值的长度。在本实施例中,整垫值、位移值、使用者密码、 随机值、填塞位元与使用者密码长度皆是以16进位来表示,其中使用者密码为8个位元组、 位移值为1个位元组、随机值为8个位元组且使用者密码长度为4个位元组。因此,在预期 整垫值为24个位元组的例子中,遮罩器174会以3( = 24-8-1-8-4)个位元组的0X00作 为填塞位元。也就是说,在本实施例中,遮罩器174会依据8个位元组的使用者密码、1个位 元组的位移值、8个位元组的随机值、3个位元组的填塞位元与4个位元组的使用者密码长 度的顺序来编辑以产生24个位元组的整垫值。例如,当随机数为“F69F 2445DF4F9B1716"且使用者密码为“6BC 11B206162636416”时,遮罩器174所产生的24个位元组的整垫值为“6BC11B2061626364-80 -F69F2445DF4F9B17-000000-0000000816 ”。必须了解的是,式(1)仅是实作第一函数的,本发明不限于此,任何可将随机数与 使用者密码进行编辑并产生出预期长度的整垫值的函数皆可作为第一函数。例如,在本发明另一实施例中,第一函数亦可以式(2)来实作PV = F (PW, RN)(2)其中第一函数是仅以上述使用者密码与随机数作为参数并利用使用者密码与 随机数以一预定法则组合或重复来产生一预定数据长度的整垫值。例如,当随机数为 “F69F2445DF4F9B1716”且使用者密码为 “6BCllB2061626364ie”时,遮罩器 174 所产生的 24 个位元组的整垫值可为 “F69F 2445DF4F9B 17-6BC 11B2061626364_F69F2445DF4F9B1716,, 或"6BC11B2061626364-F69F2445DF4F9B 17-6BC 11B206162636416,,。此外,在又一实施例中,第一函数亦可以式(3)来实作PV = F (PW, RN, PAD)(3)其中是仅以上述使用者密码、随机数与填塞位元作为参数,且填充位元的数据长 度是依据欲产生的整垫值的数据长度、随机数的数据长度与使用者密码的数据长度来决 定。例如,在随机数为“F69F2445DF4F9B1716”且使用者密码为“6BCllB2061626364ie”的例 子中,由于随机数与使用者密码皆为8个位元组,因此当欲产生24个位元组的整垫值时遮 罩器174会使用8个位元组的填塞位元来“F69F2445DF4F9B17-0000000000000000-6BC11 B206162636416 ”或” F69F2445DF4F9B17-6BC11B2061626364-000000000000000016 ”作为整垫 值。此外,在再一实施例中,第一函数亦可以式(4)来实作PV = F(PW, RN, PAD, PWL)(4)
其中是仅以上述使用者密码、随机数、填塞位元与使用者密码长度作为参数。例如,在随机数为“F69F2445DF4F9B1716”,使用者密码为“6BCllB2061626364ie”且使用者密码 长度为“0000000816”的例子中,遮罩器174所产生的24个位元组的整垫值可为“F69F2445 DF4F9B17-6BCllB2061626364-00000000-0000000816”或” F69F2445DF4F9B17-00000000-000 00008-6BC 11B206162636416” 作为整垫值。值得一提的是,除了使用者密码与随机数外,上述位移值或使用者密码的长度亦 可作为产生整垫值的参数,因此为能够使所产生的整垫值的长度等于上述预定长度,上述 填塞位元可根据所使用的参数来调整其长度,其中填塞位元的长度不大于上述预定长度减 去使用者密码与随机数的长度,如下式(5)所示。PADLength ( DeLength-(PWLength+RNLength) (5)其中PADLength表示填塞位元的长度,DeLength表示预定长度,PffLength表示使 用者密码的长度,并且RNLength表示随机数的长度。在本实施例中,在遮罩器174中配置有第二函数,并且遮罩器174会根据金钥 与所产生的整垫值使用第二函数来产生暂时值。例如,第二函数为数据加密标准(Data Encryption Standard, DES)的加密函数,而金钥是用作为DES函数中的密钥。换句话说,遮 罩器174会将整垫值作为一输入值至第二函数并且将通过金钥加密整垫值所产生的密文 作为暂时值。在此,遮罩器174是以使用者密码作为金钥,但本发明不限于此,在本发明另 一实施例中,主机系统200的使用者亦可输入一不同于上述使用者密码的另一预期的使用 者密钥作为金钥,并且遮罩器174会储存使用者输入的使用者密钥以作为解扰乱之用。此 外,储存系统100亦可于出厂时以一组预设值作为此金钥。在另一实施例中,使用者密钥或使用者密码是为一第一金钥,而遮罩器174所接 收的整垫值是为一第二金钥,而遮罩器174会使用该第一金钥利用第二函数加密该第二金 钥来产生一密文作为暂时值。在本实施例中,尽管本实施例是以DES的加密函数作为第二函数,然而本发明不 限于此,DES的解密函数亦可作为上述第二函数。也就是说,在使用DES的解密函数作为第 二函数的例子中,整垫值是被视作为密文输入至第二函数并且将通过金钥解密整垫值所产 生的明文作为暂时值。此外,必须了解的是,上述第二函数不限于DES,在本发明另一实施例中,任何对 称式函数(例如,高阶加密标准(Advanced EncryptionStandard, AES)的加密或解密函 数)、非对称式函数(例如,RSA (Rivest-Shamir-Adleman)加密函数)或信息摘要(Message Digest)函数(例如,第五代讯息摘要(Message Digest 5,MD5)函数或安全杂凑标准 (Secure Hash Standard, SHA)函数)皆可作为本实施例的第二函数。数据扰乱器176是电性连接至微处理器单元152,并且根据微处理器单元152的 指示对原始数据执行扰乱程序以产生扰乱数据或者对已扰乱数据执行解扰乱程序。具体来 说,在数据扰乱器176中配置有第三函数,并且数据扰乱器176根据遮罩器174所产生的暂 时值与原始数据使用第三函数来产生扰乱数据或者根据遮罩器174所产生的暂时值与已 扰乱数据使用第三函数来还原原始数据。在本实施例中,第三函数为一互斥(XOR)函数,然 而,必须了解的是本发明不限于此,第三函数可以是其他逻辑运算函数,或是多是个逻辑运 算函数的组合。
值得一提的是,在本实施例中,遮罩器174通过第二函数(即,DES加密函数)所产 生暂时值的长度是相同于使用第一函数所产生的整垫值的长度,因此当数据扰乱器176使 用第三函数(即,XOR函数)对原始数据进行扰乱时,原始数据的长度亦需是等于暂时值的 长度。例如,在本实施例中,遮罩器174依据随机数、使用者密码与使用者密码长度利用第 一函数产生24个位元组的整垫值,并且依据整垫值与金钥利用第二函数产生24个位元组 的暂时值。因此,在原始数据亦为24个位元组的情况下,数据扰乱器176可直接依据暂时 值使用第三函数来产生24个位元组的扰乱数据。也就是说,在本实施例中,整垫值的的长 度与暂时值的长度是相同于原始数据的长度。然而,必须了解的是,本发明不限于此,当所 产生的暂时值的长度与原始数据的长度不相同时,储存系统亦可以填塞位元组或以重复暂 时值的方式来扩充暂时值以使扩充后的暂时值的长度与原始数据的长度相同,或者将原始 数据分割多个子原始数据以使子原始数据的长度与暂时值的长度相同。在本实施例中,乱数产生器172、遮罩器174与数据扰乱器176是以一硬件型式实 作。然而本发明不限于此,在本发明另一实施例中,乱数产生器172、遮罩器174与数据扰乱 器176亦可以一韧件型式实作在储存媒体控制器110中。例如,将包括多个程式指令的乱数 产生器172、遮罩器174与数据扰乱器176烧录至一程式存储器(例如,只读存储器(Read Only Memory,ROM))中并且将此程式存储器嵌入在储存媒体控制器110中,当储存系统100 运作时,乱数产生器172、遮罩器174与数据扰乱器176的多个机器指令会由微处理器单元 152来执行以完成根据本发明实施例的区块管理机制与数据写入机制。此外,在本发明另一实施例中,乱数产生器172、遮罩器174与数据扰乱器176的控 制指令亦可以软件型式储存于储存单元130中。同样的,当储存系统100运作时,乱数产生 器172、遮罩器174与数据扰乱器176的多个控制指令会由微处理器单元152来执行。储存媒体介面单元156是电性连接至微处理器单元152并且用以存取储存单元 130。也就是说,欲写入至储存单元130的数据会经由储存媒体介面单元156转换为储存单 元130所能接受的格式。主机介面单元158是电性连接至微处理器单元152并且用以接收与识别主机系 统200所传送的指令。也就是说,主机系统200所传送的指令与数据会通过主机介面单元 158来传送至微处理器单元152。在本实施例中,主机介面单元158为安全数位(secure digital, SD)介面。然而,必须了解的是本发明不限于此,主机介面单元158亦可以是序 列先进附件(Serial Advanced Technology Attachment, SATA)介面、通讯序列汇流排 (Universal Serial Bus,USB)介面、电气和电子工程师协会(Institute of Electrical and Electronic Engineers, IEEE) 1394 介面、高速周边零件连接介面(Peripheral Component InterconnectExpress, PCI Express)、记忆棒(Memory Sick, MS)介面、多媒体 储存卡(Multi Media Card,MMC)介面、小型快闪(Compact Flash,CF)介面、整合式驱动电 子介面(Integrated Device Electronics, IDE)或其他适合的数据传输介面。此外,虽未示于本实施例,但储存媒体控制器110亦更包括错误校正单元与电源 管理单元等控制储存单元的电路。连接器120是电性连接至储存媒体控制器110并且用以通过汇流排300连接主机 系统200。在本实施例中,连接器120为SD连接器。然而,必须了解的是本发明不限于此, 连接器120亦可以是SATA连接器、USB连接器、IEEE 1394连接器、PCI Express连接器、MS连接器、MMC连接器、CF连接器、IDE连接器或其他适合的连接器。储存单元130是电性连接至储存媒体控制器110并且用以储存数据。在本实施例 中,储存单元130具有一隐藏区以存放乱数产生器172所产生的随机数。在此,所谓隐藏区 是指仅可由储存媒体控制器110可写入与读取的区域,而主机系统200无法存取的区域。在 本实施例中,储存单元130为一次程式化存储器(One Time Program memory,OTP) 然而, 必须了解的是,储存单元130可以是非挥发性存储器(例如,快闪存储器)、磁碟或其他任何 适合的储存媒体。图2是根据本发明实施例所示的数据扰乱方法的流程图,并且图3是根据本发明 实施例所示的执行扰乱方法的数据流示意图。请同时参照图2与图3,当主机系统200欲储存数据至储存系统100时,在步骤 S201中储存媒体控制器110的微处理器单元152会经由主机介面单元158接收主机系统 200的数据写入指令WC1、欲储存的原始数据RDl以及使用者密码PW1。具体来说,储存系统 100能够根据使用者所设定的密码来保护使用者所储存的数据。因此,当使用者欲于储存系 统100中储存数据时,使用者需提供预设定的使用者密码。例如,在本发明一实施例中,使 用者是配合一软件介面来使用储存系统,其中此软件介面提供一密码栏位供使用者输入使 用者密码。在步骤S203中微处理器单元152会判断储存单元130中是否存有随机数。倘若 储存单元130未储存有随机数时,则在步骤S205中乱数产生器172会在微处理器单元152 的控制下产生一组乱数作为随机数。例如,在图3的中,储存单元130中未存有任何随机数, 因此乱数产生器172会产生一组随机数RNl。之后,在步骤S207中遮罩器174依据随机数RNl与使用者密码PWl使用第一函数 来产生整垫值PVl,并且在步骤S209中遮罩器174依据所产生的整垫值PVl与金钥Kl使用 第二函数来产生暂时值Tl。如上所述,在本中,遮罩器174是以使用者密码PWl作为金钥 K1。然而,在使用者可设定使用者密钥作为金钥的例子中,上述软件介面还会提供一密钥栏 位以供使用者设定使用者密钥。接着,在步骤S211中数据扰乱器176依据暂时值Tl与原始数据RDl使用第三函 数来产生扰乱数据SD1。最后,在步骤S213中微处理器单元152会通过储存媒体介面单元 156将所产生的扰乱数据SDl与随机值RNl写入至储存单元130中。基于上述,由于储存媒体控制器110是将扰乱后的扰乱数据来取代原始数据以写 入至储存单元130中,因此当主机系统200欲读取所储存的数据时,储存媒体控制器110必 须进行解扰乱程序将已扰乱的数据还原为原始数据。图4是根据本发明实施例所示的数据解扰乱方法的流程图,并且图5是根据本发 明实施例所示的执行解扰乱方法的数据流示意图。请同时参照图4与图5,当主机系统200欲从储存系统100中读取的原始数据RDl 时,在步骤S401中储存媒体控制器110的微处理器单元152会经由主机介面单元158接收 主机系统200的数据读取指令RCl及使用者密码PWl。在步骤S403中微处理器单元152会通通过储存媒体介面单元156读取储存于储 存单元130中的随机数RNl与扰乱数据SDl。之后,在步骤S405中遮罩器174依据随机数RNl与使用者密码PWl使用第一函数来产生整垫值PVl,并且在步骤S407中遮罩器174依据所产生的整垫值PVl与金钥Kl使用 第二函数来产生暂时值Tl。如上所述,在本中,遮罩器174是以使用者密码PWl作为金钥 K1。接着,在步骤S409中数据扰乱器176依据暂时值Tl与扰乱数据SDl使用第三函数 来还原原始数据RD1。最后,在步骤S411中微处理器单元152会通过主机介面单元158将 所还原的原始数据RDl传送给主机系统200。值得一提的是,在本实施例中,主机系统200 必须提供正确的使用者密码才可正确地解扰乱所储存的扰乱数据,否则主机系统200将接 收到不正确的数据。也就是说,储存媒体控制器110依据错误的使用者密码执行解扰乱程 序所得到的数据不会是主机系统200所储存的原始数据。值得一提的是,在本发明实施例中,当储存单元130于同一时间存有对应多笔原 始数据的多笔扰乱数据时,这些扰乱数据必须是以相同的随机数作为上述扰乱程序的参 数。也就是说,仅于储存单元130中的所有扰乱数据都已被还原回原始数据后,储存媒体控 制器110才会将储存于储存单元130中的随机值抹除,并于下一次写入数据时产生新的随 机值。然而,本发明不限于此,在储存单元130提供足够空间储存多笔随机数的例子中,储 存媒体控制器110亦可为每一笔原始数据产生一对应随机数以进行上述扰乱程序之用。综上所述,本发明实施例是依据即时产生的暂时值来对数据进行扰乱,由于此暂 时值并不会储存于储存系统中,因此大幅度增加破解所扰乱的数据的难度。此外,在扰乱程 序或反扰乱程序中,暂时值都是以相同方式(例如,加密函数或解密函数)产生,因此不需 要配置执行逆运算的电路,而可大幅缩小储存系统的体积。再者,当储存系统中所储存的扰 乱数据皆已还原后,本实施例的储存系统会重新产生随机值,并由此产生不同的暂时值,因 此可更确保使用此暂时值所保护的数据的安全性。最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进行限制, 尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依 然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修 改后的技术方案脱离本发明技术方案的精神和范围。
权利要求
1.一种数据扰乱方法,用以扰乱来自于一主机系统的一原始数据,该数据扰乱方法包括提供一储存媒体控制器;产生一随机数并将所产生的随机数储存于一储存单元中; 从该主机系统中接收一使用者密码;依据该随机数与该使用者密码使用一第一函数产生一整垫值; 依据该整垫值与一金钥使用一第二函数产生一暂时值;以及由该储存媒体控制器依据该暂时值与该原始数据使用一第三函数产生对应该原始数 据的一扰乱数据。
2.根据权利要求1所述的数据扰乱方法,其中依据该随机数与该使用者密码使用该第 一函数产生该整垫值的步骤包括通过该第一函数编辑该随机数与该使用者密码来产生该 整垫值。
3.根据权利要求2所述的数据扰乱方法,还包括使用该使用者密码的长度、一填塞位 元与一位移值的至少其中之一来产生该整垫值,其中该整垫值的长度等于一预定长度。
4.根据权利要求3所述的数据扰乱方法,其中该预定长度相同于该原始数据的长度。
5.根据权利要求3所述的数据扰乱方法,其中 PADLength ( DeLength-(PWLength+RNLength)其中PADLength表示该填塞位元的长度,DeLength表示该预定长度,PffLength表示该 使用者密码的长度,并且RNLength表示该随机数的长度。
6.根据权利要求1所述的数据扰乱方法,其中该第二函数为一对称式函数、一非对称 式函数或一信息摘要函数。
7.根据权利要求1所述的数据扰乱方法,其中该第三函数为一逻辑运算函数。
8.根据权利要求1所述的数据扰乱方法,还包括以该使用者密码作为该金钥。
9.根据权利要求1所述的数据扰乱方法,还包括随机地产生该金钥并且将所产生的该 金钥储存于该储存单元中。
10.根据权利要求6所述的数据扰乱方法,其中该对称式函数为一高阶加密标准函数 或一数据加密标准函数。
11.根据权利要求6所述的数据扰乱方法,其中该非对称式函数为一RSA加密函数。1
12.根据权利要求6所述的数据扰乱方法,其中该信息摘要函数为一第五代讯息摘要 函数或一安全杂凑标准函数。
13.根据权利要求7所述的数据扰乱方法,其中该逻辑运算函数为一互斥函数。
14.根据权利要求1所述的数据扰乱方法,还包括扩充该暂时值,其中该已扩充的暂时值的长度等于该原始数据的长度。
15.根据权利要求1所述的数据扰乱方法,还包括分割该原始数据为多个子原始数据,其中至少一子原始数据的长度等于该暂时值的长度。
16.一种储存媒体控制器,用以扰乱来自于一主机系统的一原始数据,该储存媒体控制 器包括一微处理器单元;一储存媒体介面单元,电性连接至该微处理器单元,用以连接一储存媒体;一主机介面单元,电性连接至该微处理器单元,用以连接该主机系统;以及一数据编码单元,电性连接至该微处理器单元,用以依据一随机数与来自于该主机系 统的一使用者密码使用一第一函数产生一整垫值,依据该整垫值与一金钥使用一第二函数 产生一暂时值并且依据该暂时值与一原始数据使用一第三函数产生对应该原始数据的一 扰乱数据,其中该微处理器单元将该随机数储存于该储存单元中。
17.根据权利要求16所述的储存媒体控制器,其中该数据编码单元包括一乱数产生器,用以产生该随机数;一遮罩器,用以设定该金钥、使用该第一函数产生该整垫值并且使用该第二函数产生 该暂时值;以及一数据扰乱器,用以使用该第三函数产生对应该原始数据的该扰乱数据。
18.根据权利要求16所述的储存媒体控制器,其中该数据编码单元通过该第一函数编 辑该随机数与该使用者密码以产生该整垫值。
19.根据权利要求18所述的储存媒体控制器,其中该数据编码单元还使用该使用者密 码的长度、一填塞位元与一位移值的至少其中之一来产生该整垫值,其中该整垫值的长度 等于一预定长度。
20.根据权利要求19所述的储存媒体控制器,其中该预定长度相同于该原始数据的长度。
21.根据权利要求19所述的储存媒体控制器,其中PADLength ( DeLength-(PWLength+RNLength)其中PADLength表示该填塞位元的长度,DeLength表示该预定长度,PffLength表示该 使用者密码的长度,并且RNLength表示该随机数的长度。
22.—种储存系统,包括一连接器,用以电性连接一主机系统并接收来自于该主机系统的一原始数据与一使用 者密码;一储存单元;以及一储存媒体控制器,电性连接至该连接器与该储存单元,用以产生一随机数、依据该随 机数与该使用者密码使用一第一函数产生一整垫值,依据该整垫值与一金钥使用一第二函 数产生一暂时值,依据该暂时值与一原始数据使用一第三函数产生对应该原始数据的一扰 乱数据,且将该扰乱数据写入至该储存单元中,其中该储存媒体控制器将该随机数储存于该储存单元中。
23.根据权利要求22项所述的储存系统,其中该储存媒体控制器通过该第一函数编辑 该随机数与该使用者密码以产生该整垫值。
24.根据权利要求23所述的储存系统,其中该储存媒体控制器还使用该使用者密码的 长度、一填塞位元与一位移值的至少其中之一来产生该整垫值,其中该整垫值的长度等于 一预定长度。
25.一种数据解扰乱方法,用以依据来自于一主机系统的使用者密码解扰乱储存于一 储存单元中的一扰乱数据,包括从该储存单元中读取一随机数;依据该随机数与该使用者密码使用一第一函数产生一整垫值; 依据该整垫值与一金钥使用一第二函数产生一暂时值;以及由一储存媒体控制器依据该暂时值与该扰乱数据使用一第三函数产生对应该扰乱数 据的一原始数据。
26.根据权利要求25所述的数据解扰乱方法,其中依据该随机数与该使用者密码使用 该第一函数产生该整垫值的步骤包括通过该第一函数编辑该随机数与该使用者密码来产 生该整垫值。
27.根据权利要求26所述的数据解扰乱方法,还包括使用该使用者密码的长度、一填 塞位元与一位移值的至少其中之一来产生该整垫值,其中该整垫值的长度等于一预定长度。
28.一种数据处理方法,该数据处理方法包括 提供一储存媒体控制器;分别接收一第一金钥及一第二金钥;由该储存媒体控制器使用该第一金钥加密该第二金钥来产生一暂时值; 接收来自于一主机系统的一原始数据;以及由该储存媒体控制器依据该暂时值与该原始数据使用一第三函数来产生对应该原始 数据的一扰乱数据。
29.根据权利要求28所述的数据处理方法,其中该第二金钥是由该第一金钥所产生。
30.根据权利要求28所述的数据处理方法,其中该第二金钥的长度等于该原始数据的 长度。
31.根据权利要求28所述的数据处理方法,还包括由该储存媒体控制器依据该暂时 值与该扰乱数据使用该第三函数来还原该原始数据。
32.根据权利要求28所述的数据处理方法,其中该第三函数为一逻辑函数。
33.根据权利要求28所述的数据处理方法,还包括扩充该暂时值,其中已扩充的该暂时值的长度等于该原始数据的长度。
34.根据权利要求28所述的数据处理方法,还包括分割该原始数据为多个子原始数据,其中至少一子原始数据的长度等于该暂时值的长
全文摘要
本发明公开了一种数据扰乱与解扰乱方法及其储存媒体控制器与储存系统,该方法用以扰乱来自于一主机系统的一原始数据。本数据扰乱方法包括产生一随机数并将所产生的随机数储存于一储存单元中。本数据扰乱方法也包括从主机系统中接收一使用者密码,依据所产生的随机数与所接收的使用者密码使用一第一函数产生一整垫值,并且依据所产生的整垫值与一金钥使用一第二函数产生一暂时值。本数据扰乱方法还包括依据所产生的暂时值与上述原始数据使用一第三函数产生对应原始数据的一扰乱数据。基此,可有效地保护主机系统的原始数据。
文档编号G06K19/073GK101996339SQ200910168280
公开日2011年3月30日 申请日期2009年8月20日 优先权日2009年8月20日
发明者孟子元, 詹清文 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1