CN101673248A - 存储系统、控制器与数据保护方法 - Google Patents
存储系统、控制器与数据保护方法 Download PDFInfo
- Publication number
- CN101673248A CN101673248A CN200810212949A CN200810212949A CN101673248A CN 101673248 A CN101673248 A CN 101673248A CN 200810212949 A CN200810212949 A CN 200810212949A CN 200810212949 A CN200810212949 A CN 200810212949A CN 101673248 A CN101673248 A CN 101673248A
- Authority
- CN
- China
- Prior art keywords
- encryption
- identification number
- personal identification
- pin
- ciphertext
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
存储系统、控制器与数据保护方法。该存储系统包括存储单元、连接器与控制器,其中存储单元存储有个人识别码讯息摘要与密文。当存储系统通过连接器连接至主机系统时,控制器会向主机系统请求密码,并且根据此密码与单向杂凑函数(one way hash function)来产生讯息摘要。此外,控制器会判断所产生的讯息摘要与个人识别码讯息摘要是否相符,其中若讯息摘要与个人讯息摘要相符时,控制器会依据此密码与第一加/解密函数来解码存储单元中的密文以获得加/解密金钥。最后,控制器可依据所获得的加/解密金钥与第二加/解密函数来加密与解密使用者数据。基此,可有效地保护存储在存储系统中的数据。
Description
技术领域
本发明涉及一种存储系统,且特别涉及一种具有数据保护功能的存储系统、控制器与数据保护方法。
背景技术
随身盘是一种数据存储设备,其一般是以快闪存储器作为存储介质。快闪存储器是一种电气擦除式可编程只读存储器(EEPROM),其具有可写入、可擦除、以及断电后仍可保存数据的优点,此外,快闪存储器为非易失性存储器(Non-Volatile Memory)的一种,其具有体积小、存取速度快、耗电量低的优点,且因其数据擦除(Erasing)时采用「一块一块」(Block by Block)擦除的方式,所以具有操作速度快的优点。由于随身盘体积小容量大且携带方便,因此已广泛用于个人数据的存储。然而,当随身盘不小心遗失时,其所存储的大量数据也可能随之被盗用。
为解决此一问题,一般会在随身盘的快闪存储器中规划一特定区域(例如,使用者无法存取的隐藏区)并且存储一身份验证程序以及使用者所事先建立的密码(password)。之后,当使用者将随身盘插至主机系统时,随身盘会要求主机系统执行上述身份验证程序以供使用者输入密码,并且上述身份验证程序会将使用者所输入的密码与存储在随身盘中的密码进行比对。倘若比对不成功或者未执行身份验证程序时,则主机系统仅能检测到随身盘,但使用者无法对随身盘进行任何的存取动作。由此,使用上述上锁机制来保护存储在随身盘上的数据。
然而,在上述上锁机制中,虽然密码是存储在一般使用者无法存取的隐藏区中,然而随身盘的设计厂商(或设计工程师)清楚地知道隐藏区的位置,当设计厂商取得使用者的随身盘时可轻易地获取存储在隐藏区中的密码来解除上锁机制,甚至设计厂商可直接跳过上锁机制直接读取存储在随身盘中的使用者数据。因此,有需要为随身盘发展一个更完善的保护机制以防止非授权者(特别是,随身盘的设计者)窃取其中所存储的数据。
发明内容
有鉴于此,本发明提供一种存储系统,其能够有效地防止非授权者读取其中所存储的数据。
此外,本发明提供一种控制器,适用于快闪存储器存储系统,其能够有效地防止非授权者读取在此快闪存储器存储系统中所存储的数据。
再者,本发明提供一种数据保护方法,适用于用以存储数据的存储系统,其能够有效地防止非授权者读取此存储系统中所存储的数据。
本发明提出一种存储系统,其包括存储单元、连接器与控制器。存储单元会存储个人识别码讯息摘要与密文,其中所述个人识别码讯息摘要是初始地通过单向杂凑函数(One-Way Hash Function)依据个人识别码所产生,并且所述密文是初始地依据个人识别码使用第一加/解密函数加密加/解密金钥所产生。连接器是用以连接主机系统。控制器是电性连接至存储单元与连接器,其中控制器会向主机系统请求一密码,并且根据此密码以上述单向杂凑函数来产生对应此密码的讯息摘要。此外,控制器会判断对应此密码的讯息摘要与存储单元中的个人识别码讯息摘要是否相符,其中当对应此密码的讯息摘要与存储单元中的个人识别码讯息摘要相符时,控制器会依据此密码使用上述第一加/解密函数来解码上述密文以获得上述加/解密金钥。再者,控制器会依据所获得的加/解密金钥使用第二加/解密函数来加密与解密至少部分使用者数据。
在本发明的一实施例中,上述的存储系统还包括随机数产生器,其用以初始地产生上述加/解密金钥。
在本发明的一实施例中,上述的当控制器判断对应密码的讯息摘要与存储单元中的个人识别码讯息摘要相符时,控制器更用以依据新个人识别码来产生新个人识别码摘要讯息,依据此新个人识别码加密上述加/解密金钥来产生新密文,并且将新个人识别码摘要讯息与新密文存储至存储单元以取代原始的个人识别码摘要讯息与密文。
在本发明的一实施例中,上述的存储单元为快闪存储器芯片。
在本发明的一实施例中,上述的快闪存储器芯片包括系统区与存储区,其中个人识别码讯息摘要与密文是存储在系统区中并且使用者数据是存储在存储区中。
在本发明的一实施例中,上述的存储区包括保密区与非保密区,并且所加密的使用者数据是存储在保密区中,其中当讯息摘要与个人识别码讯息摘要不相符时,则控制器无法检测到保密区。
在本发明的一实施例中,上述的单向杂凑函数包括MD5、RIPEMD-160SHA1、SHA-256、SHA-386或SHA-512。
在本发明的一实施例中,上述的第一加/解密单元包括高级加密标准(Advanced Encryption Standard,AES)或数据加密标准(Data EncryptionStandard,DES)。
在本发明的一实施例中,上述的第二加/解密单元包括AES或DES。
本发明提出一种控制器,其适用于控制具有存储单元的存储系统,此控制器包括微处理器单元以及电性连接至此微处理器单元的主机接口模块、单向编码单元、第一加/解密单元与第二加/解密单元。当快闪存储器存储系统连接至主机系统时,微处理单元会向主机系统请求一密码。单向编码单元用以根据此密码以单向杂凑函数来产生对应此密码的讯息摘要。第一加/解密单元用以当微处理器单元判断对应此密码的讯息摘要与存储在存储单元中的个人识别码讯息摘要相符时依据此密码以第一加/解密函数解码存储在存储单元中的一密文来获得加/解密金钥。第二加/解密单元用以依据所获得的加/解密金钥以第二加/解密函数来加密与解密至少部分使用者数据,其中个人识别码讯息摘要是初始地使用上述单向杂凑函数依据个人识别码所产生,并且上述密文是初始地使用第一加/解密函数依据个人识别码加密上述加/解密金钥所产生。
在本发明的一实施例中,上述的控制器还包括随机数产生器,其用以初始地产生上述加/解密金钥。
在本发明的一实施例中,上述的当微处理器单元判断上述密码对应的讯息摘要与存储在存储单元的个人识别码讯息摘要相符时,上述单向编码单元更用以依据新个人识别码使用上述单向杂凑函数来产生新个人识别码摘要讯息,第一加/解密单元更用以依据新个人识别码使用第一加/解密函数加密上述加/解密金钥来产生新密文,并且微处理器单元会将新个人识别码摘要讯息与新密文存储至存储单元以取代原始的个人识别码摘要讯息与密文。
在本发明的一实施例中,上述的存储单元为快闪存储器芯片。
在本发明的一实施例中,上述的控制器还包括快闪存储器接口模块,电性连接至微处理器单元。
在本发明的一实施例中,上述的快闪存储器芯片包括系统区与存储区,其中微处理器单元会将个人识别码讯息摘要与密文存储在系统区中并且将使用者数据存储在存储区中。
在本发明的一实施例中,上述的存储区包括保密区与非保密区,并且所加密的使用者数据是存储在保密区中,其中当讯息摘要与个人识别码讯息摘要不相符时,则微处理器单元无法检测到保密区。
本发明提出一种数据保护方法,其适用于保护存储在存储系统的存储单元中的使用者数据,此数据保护方法包括在存储单元中存储个人识别码讯息摘要与密文。此数据保护方法也包括根据从主机系统中接收的一密码以单向杂凑函数来产生对应此密码的讯息摘要,并且判断对应此密码的讯息摘要与存储在存储单元中的个人识别码讯息摘要是否相符。此数据保护方法还包括当对应此密码的讯息摘要与存储在存储单元中的个人识别码讯息摘要相符时,依据此密码使用第一加/解密函数来解码存储单元中的密文以获得加/解密金钥,并且依据此加/解密金钥使用第二加/解密函数来加密与解密至少部分使用者数据。在此,上述个人识别码讯息摘要是初始地通过上述单向杂凑函数依据个人识别码所产生,并且上述密文是初始地依据个人识别码使用上述第一加/解密函数加密上述加/解密金钥所产生。
在本发明的一实施例中,上述的数据保护方法还包括初始地以一随机方式产生上述加/解密金钥。
在本发明的一实施例中,上述的数据保护方法还包括依据新个人识别码使用上述单向杂凑函数来产生新个人识别码摘要讯息,依据新个人识别码使用上述第一加/解密函数加密上述加/解密金钥来产生新密文,以及将新个人识别码摘要讯息与新密文存储至存储单元以取代原始的个人识别码摘要讯息与密文。
在本发明的一实施例中,上述的存储单元为快闪存储器芯片。
在本发明的一实施例中,上述的数据保护方法还包括将上述快闪存储器芯片划分为系统区与存储区,以及将使用者数据存储在存储区中并且将个人识别码讯息摘要与密文存储在系统区中。
在本发明的一实施例中,上述的数据保护方法还包括将存储区划分为保密区与非保密区,并且将所加密的使用者数据存储在保密区中,其中当讯息摘要与个人识别码讯息摘要不相符时,则不显示保密区。
本发明因采用在存储系统中存储仅能通过单向杂凑函数计算的个人识别码讯息摘要以避免非授权者有机会窃取个人识别码,并且通过加/解密金钥加密使用者数据以避免收授权者解除上锁机制而直接窃取存储系统中的使用者数据。
为让本发明的上述特征和优点能更明显易懂,下文特举优选实施例,并配合附图,作详细说明如下。
附图说明
图1是根据本发明一实施例绘示快闪存储器存储系统的概要方块图。
图2是根据本发明一实施例绘示数据保护方法中建立个人识别码的步骤。
图3是根据本发明一实施例绘示数据保护方法中验证身份的步骤。
图4是根据本发明一实施例绘示数据保护方法中变更个人识别码的步骤。
图5是根据本发明一实施例绘示的提供使用者启动图2、图3与图4程序的视窗。
【主要元件符号说明】
100:快闪存储器存储系统
110:控制器
110a:微处理器单元
110b:快闪存储器接口模块
110c:主机接口模块
110d:单向编码单元
110e:第一加/解密单元
110g:第二加/解密单元
120:连接器
130:快闪存储器芯片
130a:系统区
130b:存储区
200:主机系统
300:总线
S201、S203、S205、S207、S209:建立个人识别码的步骤
S301、S303、S305、S307、S309、S311、S313、S315、S317:验证身份的步骤
S401、S403、S405、S407、S409、S411、S413、S415、S417、S419、S421、S423、S425:变更个人识别码的步骤
具体实施方式
为了避免存储系统的设计厂商或设计工程是有机会获得使用者所建立的个人识别码,本发明是先以单向杂凑函数编码使用者所建立的个人识别码后才将所编码的值存储于存储系统中。
此外,为了避免存储系统的设计厂商或设计工程是有机会直接读取存储系统中的使用者数据,在本发明中是先以加/解密金钥加密使用者数据后才将所加密的值存储于存储系统中,特别是此加/解密金钥亦是经由使用者所建立的个人识别码加密后才存储于存储系统中。
基此,通过双层保护机制可以有效地保护存储系统中所存储的使用者数据。为了能够更清楚地本发明,以下以范例实施例并配合附图详细说明本发明。
图1是根据本发明一实施例绘示快闪存储器存储系统的概要方块图。请参照图1,快闪存储器存储系统100包括控制器(亦称控制器系统)110、连接器120以及快闪存储器芯片(flash memory chip)130。
通常快闪存储器存储系统100会与主机系统200一起使用,以使主机系统200可将数据写入至快闪存储器存储系统100或从快闪存储器存储系统100中读取数据。特别是,快闪存储器存储系统100具有根据本实施例所设计的数据保护功能,因此,如果使用者未通过身份验证将无法使用快闪存储器存储系统100。根据本实施例的数据保护方法将于之后详细说明。在本实施例中,快闪存储器存储系统120为随身盘。但必须了解的是,在本发明另一实施例中快闪存储器存储系统100亦可以是存储卡或固态硬盘(Solid State Drive,SSD)。
控制器110会执行以硬件形式或固件形式实际操作的多个机械指令以配合连接器120、快取存储器140与快闪存储器芯片130来进行数据的存储、读取与擦除等运作。控制器110包括微处理器单元110a、快闪存储器接口模块110b、主机接口模块110c、单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f。
微处理器单元110a用以与快闪存储器接口模块110b、主机接口模块110c、单向编码单元110e、第一加/解密单元110f与第二加/解密单元110g等协同合作以进行快闪存储器存储系统100的各种运作。特别是,在本实施例中当快闪存储器存储系统100与主机系统200连接时,微处理器单元110a会向主机系统200请求密码以判断主机系统200是否可正常地存取快闪存储器存储系统100。也就是说,倘若主机系统200的使用者未输入或输入错误的密码时,快闪存储器存储系统100将不允许主机系统200对其进行任何存取动作。
快闪存储器接口模块110b是电性连接至微处理器单元110a并且用以存取快闪存储器芯片130。也就是,欲写入至快闪存储器芯片130的数据会经由快闪存储器接口模块110b转换为快闪存储器芯片130所能接受的格式。
主机接口模块110c是电性连接至微处理器单元110a并且用以接收与识别主机系统200所传送的指令。也就是,主机系统200所传送的指令与数据会通过主机接口模块110c传送至微处理器单元110a。在本实施例中,主机接口模块110c为USB接口。然而,必须了解的是本发明不限于此,主机接口模块110c亦可以是PCI Express接口、IEEE 1394接口、SD接口、MS接口、MMC接口、SATA接口、PATA接口、CF接口、IDE接口或其他适合的数据传输接口。特别是,主机接口模块110c会与连接器120相对应。也就是,主机接口模块110c必须与连接器120互相搭配。
单向编码单元110d是电性连接至微处理器单元110a。在本实施例中,单向编码单元是用以根据从主机系统200中接收使用者所输入的密码来产生讯息摘要。具体来说,单向编码单元110a具有一单向杂凑函数,并且从主机系统200中接收使用者所输入的密码会输入至此单向杂凑函数以计算出对应此密码的讯息摘要(message digest)。之后,微处理器单元110a会将所计算出的讯息摘要与快闪存储器存储系统100中所存储的个人识别码讯息摘要(personal identification number message digest)进行比对,倘若所计算出的讯息摘要与快闪存储器存储系统100中所存储的个人识别码讯息摘要相符时时,则快闪存储器存储系统100会允许主机系统200对其进行存取。
值得一提的是,存储在快闪存储器存储系统100中的个人识别码讯息摘要是使用此快闪存储器存储系统100的拥有者所设定的个人识别码经由上述单向杂凑函数所产生。例如,在此快闪存储器存储系统100出厂时会由制造商预存一组个人识别码讯息摘要,并且制造商会将此个人识别码讯息摘要对应的个人识别码提供给使用者。之后,使用者可使用制造商所提供的个人识别码成功地通过快闪存储器存储系统100的验证,并且使用微处理器单元110a所提供的变更个人识别码的功能来重新设定一组新个人识别码。特别是,当使用者重新设定一组新个人识别码时,单向编码单元110d会根据使用者的新个人识别码以单向杂凑函数来重新计算一组新个人识别码讯息摘要,并且微处理器单元110a会将新个人识别码讯息摘要存储在快闪存储器存储系统100中以取代(或更新)原始的个人识别码讯息摘要。之后,微处理器单元110a会使用最新的个人识别码讯息摘要来验证使用者所输入的密码。
在本实施例中,是使用SHA-256来实际操作单向编码单元110d中的单向杂凑函数。然而,必须了解的是本发明不限于此,在本发明另一实施例中单向编码单元110d中的单向杂凑函数亦可以MD5、RIPEMD-160SHA1、SHA-386、SHA-512或其他适合的函数来实际操作。
第一加/解密单元110e是电性连接至微处理器单元110a。第一加/解密单元110e是用以依据使用者所输入的密码来解码一密文并且获取快闪存储器存储系统100的加/解密金钥。具体来说,当微处理器单元110a判断依据使用者所输入的密码而计算的对应讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要相符时,则使用者所输入的密码会被传送至第一加/解密单元110e并且第一加/解密单元110e会依据此密码使用第一加/解密函数来解码存储在快闪存储器存储系统100中的密文(cipher text),由此获取快闪存储器存储系统100的加/解密金钥。
在本实施例中,加/解密金钥是用以加/解密存储于快闪存储器存储系统100中的使用者数据,也就是说,主机系统200欲写入至快闪存储器存储系统100的使用者数据会经由加/解密金钥加密后才写入至快闪存储器芯片130中,并且从快闪存储器芯片130中读取的数据需经由加/解密金钥解密后才能被主机系统200正确地读取。
在此,快闪存储器存储系统100于出厂时加/解密金钥会通过一随机数产生器(未绘示)以一随机方式产生。特别是,第一加/解密单元110e会依据个人识别码使用第一加/解密函数来加密此加/解密金钥并且将加密此加/解密金钥所获得的密文存储于快闪存储器存储系统100中。因此,当使用者所输入的密码通过上述验证时此密码即可正确地解码存储在快闪存储器存储系统100中的密文而获取此加/解密金钥。
类似地,存储在快闪存储器存储系统100中的密文是使用此快闪存储器存储系统100的拥有者所设定的个人识别码经由上述第一加/解密函数加密加/解密金钥所产生。例如,在此快闪存储器存储系统100出厂时制造商会以所预设的个人识别码使用第一加/解密函数来加密此加/解密金钥以产生上述密文并且存储此密文于快闪存储器存储系统100中。之后,当使用者使用制造商所提供的个人识别码成功地通过快闪存储器存储系统100的验证,并且使用微处理器单元110a所提供的变更个人识别码功能来重新设定一组新个人识别码时,第一加懈密单元110e会先依据旧的个人识别码使用第一加/解密函数解码快闪存储器存储系统100中的密文以获取加/解密金钥,并且使用新的个人识别码与第一加/解密函数来加密加/解密金钥以获取新的密文。接着,微处理器单元110a会将新的密文存储在快闪存储器存储系统100中以取代(或更新)原始的密文。之后,第一加/解密单元110e会使用最新的密文来计算出快闪存储器存储系统100的加/解密金钥。
在本实施例中,第一加解密单元110e中的第一加/解密函数是以高级加密标准(Advanced Encryption Standard,AES)128来实际操作。然而,本发明不限于,在本发明另一实施例中亦可使用AES256、数据加密标准(DataEncryption Standard,DES)来实际操作第一加解密单元110e中的第一加/解密函数。
第二加解密单元110f是电性连接至微处理器单元110a。第二加解密单元110f是用以依据加解密金钥来加密欲写入至快闪存储器芯片130的使用者数据,以及解密从快闪存储器芯片130中读取的使用者数据。值得一提的是,在经由上述随机数产生器产生加/解密金钥时所产生的加/解密金钥必须是相容于第二加解密单元110f中的第二加/解密函数。
在本实施例中,第二加解密单元110f中的第二加/解密函数是以高级加密标准(Advanced Encryption Standard,AES)256来实际操作。然而,本发明不限于,在本发明另一实施例中亦可使用AES128、数据加密标准(DataEncryption Standard,DES)来实际操作第二加解密单元110f中的第二加/解密函数。
值得一提的是,在本实施例中,单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f是一硬件形式实际操作在控制器110中。然而,在本发明另一实施例中单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f亦可以一固件形式来实际操作于控制器110中。例如,使用程序语言撰写相关机械指令并且存储于程序存储器(例如,只读存储器(Read Only Memory,ROM))来实际操作单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f于控制器110。当快闪存储器存储系统100运作时,实际操作单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f的多个机器指令会间接地被载入至控制器110的缓冲存储器(未绘示)中并且由微处理器单元110a来执行或直接地由微处理器单元110a来执行以完成上述数据保护步骤。
此外,在本发明另一实施例中,单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f的机械指令亦可以固件形式存储于快闪存储器芯片130的特定区域(例如,系统区130a)中。同样的,当快闪存储器存储系统100运作时,实际操作单向编码单元110d、第一加/解密单元110e与第二加/解密单元110f的多个机器指令可被载入至控制器110的缓冲存储器(未绘示)中并且由微处理器单元110a来执行。
虽未绘示于本实施例,但控制器110可还包括缓冲存储器(例如,静态随机存取存储器)、错误校正模块与电源管理模块等用于控制快闪存储器芯片的功能模块。
连接器120用以通过总线300连接主机系统200。在本实施例中,连接器120为USB连接器。然而,必须了解的是本发明不限于此,连接器120亦可以是PCI Express连接器、IEEE 1394连接器、SD连接器、MS连接器、MMC连接器、SATA连接器、CF连接器、IDE连接器、PATA连接器或其他适合的连接器。
快闪存储器芯片130是电性连接至控制器110并且用以存储数据。在本实施中快闪存储器芯片130为多层记忆胞(Multi Level Cell,MLC)NAND快闪存储器芯片。然而,必须了解的是,本发明不限于此。在本发明另一实施例中,单层记忆胞(Single Level Cell,SLC)NAND快闪存储器芯片亦可应用于本发明。
在本实施例中,快闪存储器芯片130包括多个实体区块,并且此些实体区块会被分组为系统区130a与存储区130b。
系统区130a的实体区块是用以存储关于快闪存储器芯片的系统数据,例如每一实体区块的页面地址数、记录逻辑地址与实体地址对映关系的逻辑-实体对映表(logical-physical mapping table)等。特别是,在本实施例中,系统区130a是用以存储上述个人识别码讯息摘要与密文。
存储区130b是用以存储主机系统200所写入的使用者数据。具体来说,主机系统200欲写入至快闪存储器存储系统100的使用者数据会经由加/解密金钥加密后写入至存储区130b中。也就是说,倘若主机系统200的使用者未输入或输入错误的密码时,快闪存储器存储系统100将不允许主机系统200对存储区130b进行任何存取动作。
此外,在本发明另一实施例中,控制器110亦可将存储区130b的实体区块区分为保密区与非保密区,其中倘若主机系统200的使用者未输入或输入错误的密码时,快闪存储器存储系统100将不允许主机系统200对其的保密区进行任何存取动作。也就是说,在未通过身份验证下控制器110无法检测到保密区,所以主机系统200仅能存取非保密区。
值得一提的是,在本实施例中是将快闪存储器芯片130的实体区块区分出系统区130a来存储上述个人识别码讯息摘要与密文。然而,在本发明另一实施例中,快闪存储器存储系统100亦可额外配置一非易失性存储单元来存储上述个人识别码讯息摘要与密文。必须注意的是,由于快闪存储器存储系统100需要上述个人识别码讯息摘要与密文才能正常运作,因此不论是使用系统区130a或额外的非易失性存储单元来存储个人识别码讯息摘要与密文都必须确保不会被使用者误删。例如,系统区130a或额外的非易失性存储单元会被设计为仅能由控制器110存取的隐藏区,而主机系统200(或使用者)无法存取此隐藏区中的数据。
图2是根据本发明一实施例绘示数据保护方法中建立个人识别码的步骤。
请参照图2,当快闪存储器存储系统100欲进行个人识别码的初始设定时,在步骤S201中会要求使用者输入一组个人识别码。接着,在步骤S203中会使用单向杂凑函数依据使用者所输入的个人识别码计算出个人识别码讯息摘要。然后,在步骤S205中会通过一随机数产生器(未绘示)产生属在此快闪存储器存储系统100的加/解密金钥,并且在步骤S207中会依据使用者所输入的个人识别码使用第一加/解密函数来加密所产生的加/解密金钥以产生密文。最后,在步骤S209中,将个人识别码讯息摘要与密文存储在快闪存储器存储系统中。经过步骤S201至S209后,个人识别码就已建立于快闪存储器存储系统100中。之后,使用者欲使用快闪存储器存储系统100时,快闪存储器存储系统100的控制器110会通过下述身份验证程序来判断使用者是否可正常使用快闪存储器存储系统100。
图3是根据本发明一实施例绘示数据保护方法中验证身份的步骤。
请参照图3,当使用者将快闪存储器存储系统100连接至主机系统200时,在步骤S301中快闪存储器存储系统100会向主机系统200传送一密码请求信号。例如,快闪存储器存储系统100的控制器110会使主机系统200执行预设于快闪存储器存储系统100或主机系统200中的一密码输入视窗程序,以供使用者输入密码。
在步骤S303中,会判断是否有接收到一密码。倘若在步骤S303中主机系统200未回应一密码时,则会在步骤S305中会不允许主机系统200存取快闪存储器存储系统100,并且图3的流程则会结束。
倘若在步骤S303中控制器110接收到主机系统200所回应的密码时,则在步骤S307中会依据所接收的密码与单向杂凑函数计算出对应此密码的讯息摘要。
接着,在步骤S309中会读取存储在快闪存储器存储系统100中的个人识别码讯息摘,并且在步骤S311中会判断对应此密码的讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要是否相符。倘若在步骤S311中判断对应此密码的讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要为不相符时,则会判定身份验证失败并执行步骤S305后结束图3的流程。
倘若在步骤S311中判断对应此密码的讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要为相符(即,表示主机系统200的使用者为此快闪存储器存储系统100的合法拥有者)时,则在步骤S313中会读取存储在快闪存储器存储系统100中的密文,并且在步骤S315中会依据所接收的密码与第一加/解密函数解码从快闪存储器存储系统100中所读取的密文以获得属于快闪存储器存储系统100的加/解密金钥。
接着,在步骤S317中通过使用加/解密金钥与第二加/解密函数来正常地存取存储区130b中的数据。值得一提的是,在步骤S317中的数据存取可持续进行直到快闪存储器存储系统100关机为止。此外,在本发明另一实施例中亦可以登入与登出的视窗程序来让使用者决定是否使用快闪存储器存储系统100。
此外,在本实施另一例中,控制器110可更提供变更个人识别码的功能,以让使用者有机会变更所设定的个人识别码。图4是根据本发明一实施例绘示数据保护方法中变更个人识别码的步骤。
请参照图4,当快闪存储器存储系统100连接至主机系统200并且主机系统200的使用者请求变更快闪存储器存储系统100的个人识别码时,在步骤S401中快闪存储器存储系统100会向主机系统200传送一密码请求信号。
在步骤S403中,会判断是否有接收到一密码。倘若在步骤S403中主机系统200未回应一密码时,则会结束图4的流程,并且个人识别码不会被变更。
倘若在步骤S403中接收到主机系统200所回应的密码时,则在步骤S405中会依据所接收的密码与单向杂凑函数计算出对应此密码的讯息摘要。
接着,在步骤S407中控制器110会读取在快闪存储器存储系统100中的个人识别码讯息摘,并且在步骤S409中会判断对应此密码的讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要是否相符。倘若在步骤S409中判断对应此密码的讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要为不相符时,则会判定身份验证失败而结束图4的流程,并且个人识别码不会被变更。
倘若在步骤S409中判断对应此密码的讯息摘要与存储在快闪存储器存储系统100中的个人识别码讯息摘要为相符(即,表示主机系统200的使用者通过身份验证)时,则在步骤S411中会读取存储在快闪存储器存储系统100中的密文,并且在步骤S413中会依据所接收的密码与第一加/解密函数来解码从系统区130a中所读取的密文以获得属于快闪存储器存储系统100的加/解密金钥。
之后,在步骤S415中会请求主机系统200的使用者输入一组新个人识别码,并且在步骤S417中会判断主机系统200是否有回应新个人识别码。倘若在步骤S417中主机系统200未回应新个人识别码时,则会结束图4的流程,并且个人识别码不会被变更。
倘若在步骤S417中接收到新个人识别码时,则在步骤S419中会依据所接收的新个人识别码与单向杂凑函数计算出对应此新个人识别码的新个人识别码讯息摘要,并且在步骤S421中会依据新个人识别码与第一加/解密函数加密在步骤S415中所获取的加/解密金钥以获得新密文。最后,在步骤S423中会将新个人识别码讯息摘要与新密文存储至快闪存储器存储系统100中以取代原始的个人识别码摘要讯息与密文,此时个人识别码已被成功地变更。
值得一提的是,未避免任何人任意变更个人识别码,因此图4所提供的程序会先判断主机系统200的使用者是否为合法拥有者。然而,当快闪存储器存储系统100已处于在图3所示步骤S317的状态并且使用者请求变更使用者个人识别码时,控制器110仅需执行步骤S417~S423来完成个人识别码的变更。
值得一提的是,在本实施例中,快闪存储器存储系统100是于出厂时即具备数据保护功能,因此图2所示的建立个人识别码的步骤是由制造商先设定一组预设的个人识别码,之后使用者可通过图4所示的步骤来重新设定使用者的个人识别码。然而,在本发明另一实施例中,快闪存储器存储系统100亦可被设计为未开启数据保护功能的状态来提供给使用者,并且当使用者欲开启数据保护功能时可通过执行在快闪存储器存储系统100上的预设程序来进行个人识别码的设定。也就是说,快闪存储器存储系统100可在连接至主机系统200时控制器110使主机系统200执行一视窗程序(如图5所示)可由主机系统200的使用者选择欲进行的程序,其中与使用者互动的视窗程序可依据目前已知的技术完成,在此不详细说明。
此外,本实施例图2、图3与图4所述步骤的顺序并非限定本发明,本发明亦可以非本实施例所述的顺序完成。
必须了解的是,本实施例是以快闪存储器存储系统为例进行说明,然而本发明亦可应用于其他各式存储系统。
综上所述,本发明使用仅能单向产生的个人识别码讯息摘要作为验证使用者身份的信息,因此任何人都无法从快闪存储器存储系统中窃取,到个人识别码或者由个人识别码讯息摘要推导出个人识别码。此外,用于加/解密使用者数据的加/解密金钥亦是经过加密后存储于快闪存储器存储系统中,因此任何人都无法从快闪存储器存储系统中窃取到加/解密金钥。再者,当使用者变更个人识别码时,仅需变更存储于快闪存储器存储系统中的密文而不需更换加/解密金钥,所以先前已加密且存储于快闪存储器存储系统中的数据无需重新加/解密,可提升快闪存储器存储系统的运作效率。
虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附权利要求书所界定者为准。
Claims (22)
1.一种存储系统,包括:
一存储单元,存储一个人识别码讯息摘要与一密文,其中该个人识别码讯息摘要是初始地通过一单向杂凑函数依据一个人识别码所产生,并且该密文是初始地依据该个人识别码使用一第一加解密函数加密一加解密金钥所产生;
一连接器,用以连接一主机系统;以及
一控制器,电性连接至该存储单元与该连接器,
其中该控制器向该主机系统请求一密码,并且根据该密码以该单向杂凑函数来产生一讯息摘要,
其中该控制器判断该讯息摘要与该个人识别码讯息摘要是否相符,其中当该讯息摘要与该个人识别码讯息摘要相符时,该控制器会依据该密码使用该第一加解密函数来解码该密文以获得该加解密金钥,
其中该控制器依据该加解密金钥使用一第二加解密函数来加密与解密至少部分使用者数据。
2.如权利要求1所述的存储系统,还包括一随机数产生器,用以初始地产生该加解密金钥。
3.如权利要求1所述的存储系统,其中当该控制器判断该讯息摘要与该个人识别码讯息摘要相符时,该控制器更用以依据一新个人识别码来产生一新个人识别码摘要讯息,依据该新个人识别码加密该加解密金钥来产生一新密文,并且将该新个人识别码摘要讯息与该新密文存储至该存储单元以取代该个人识别码摘要讯息与该密文。
4.如权利要求1所述的存储系统,其中该存储单元为一快闪存储器芯片。
5.如权利要求4所述的存储系统,其中该快闪存储器芯片包括一系统区与一存储区,其中该个人识别码讯息摘要与该密文是存储在该系统区中并且该使用者数据是存储在该存储区中。
6.如权利要求5所述的存储系统,其中该存储区包括一保密区与一非保密区,并且所加密的使用者数据是存储在该保密区,其中当该讯息摘要与该个人识别码讯息摘要不相符时,则该控制器无法检测到该保密区。
7.一种控制器,适用于控制具有一存储单元的一存储系统,该控制器包括:
一微处理器单元,其中当该快闪存储器存储系统连接至一主机系统时,该微处理单元会向该主机系统请求一密码;
一主机接口模块,电性连接至该微处理器单元;
一单向编码单元,电性连接至该微处理器单元,并且用以根据该密码以一单向杂凑函数来产生一讯息摘要;
一第一加解密单元,电性连接至该微处理器单元,其中当该微处理器单元判断该讯息摘要与一个人识别码讯息摘要相符时,该第一加解密单元用以依据该密码以一第一加解密函数解码一密文来获得一加解密金钥;以及
一第二加解密单元,电性连接至该微处理器单元,用以依据该加解密金钥以一第二加解密函数来加密与解密至少部分使用者数据,
其中该个人识别码讯息摘要与该密文是存储在该存储单元中,该个人识别码讯息摘要是初始地使用该单向杂凑函数依据一个人识别码所产生,并且该密文是初始地使用该第一加解密函数依据该个人识别码加密该加解密金钥所产生。
8.如权利要求7所述的控制器,还包括一随机数产生器,用以初始地产生该加解密金钥。
9.如权利要求7所述的控制器,其中当该微处理器单元判断该讯息摘要与该个人识别码讯息摘要相符时,该单向编码单元更用以依据一新个人识别码使用该单向杂凑函数来产生一新个人识别码摘要讯息,该第一加解密单元更用以依据该新个人识别码使用该第一加解密函数加密该加解密金钥来产生一新密文,并且该微处理器单元将该新个人识别码摘要讯息与该新密文存储至该存储单元以取代该个人识别码摘要讯息与该密文。
10.如权利要求7所述的控制器,其中该存储单元为一快闪存储器芯片。
11.如权利要求10所述的控制器,还包括一快闪存储器接口模块,电性连接至该微处理器单元。
12.如权利要求11所述的控制器,其中该快闪存储器芯片包括一系统区与一存储区,其中该微处理器单元将该个人识别码讯息摘要与该密文存储在该系统区中并且将该使用者数据存储在该存储区中。
13.如权利要求12所述的控制器,其中该存储区包括一保密区与一非保密区,并且所加密的使用者数据是存储在该保密区,其中当该讯息摘要与该个人识别码讯息摘要不相符时,则该微处理器单元无法检测到该保密区。
14.一种数据保护方法,其适用于保护存储在一存储系统的一存储单元中的使用者数据,该数据保护方法包括:
在该存储单元中存储一个人识别码讯息摘要与一密文;
根据从一主机系统中接收的一密码以一单向杂凑函数来产生一讯息摘要;
判断该讯息摘要与该个人识别码讯息摘要是否相符,其中当该讯息摘要与该个人识别码讯息摘要相符时,依据该密码使用一第一加解密函数来解码该密文以获得一加解密金钥;以及
依据该加解密金钥使用一第二加解密函数来加密与解密至少部分使用者数据,
其中该个人识别码讯息摘要是初始地通过该单向杂凑函数依据一个人识别码所产生,并且该密文是初始地依据该个人识别码使用该第一加解密函数加密该加解密金钥所产生。
15.如权利要求14所述的数据保护方法,还包括初始地以一随机方式产生该加解密金钥。
16.如权利要求14所述的数据保护方法,还包括:
依据一新个人识别码使用该单向杂凑函数来产生一新个人识别码摘要讯息;
依据该新个人识别码使用该第一加解密函数加密该加解密金钥来产生一新密文;以及
将该新个人识别码摘要讯息与该新密文存储至该存储单元以取代该个人识别码摘要讯息与该密文。
17.如权利要求14所述的数据保护方法,其中该存储单元为一快闪存储器芯片。
18.如权利要求17所述的数据保护方法,还包括:
将该快闪存储器芯片划分为一系统区与一存储区;以及
将该使用者数据存储在该存储区中,
其中在该存储单元中存储该个人识别码讯息摘要与该密文的步骤包括将该个人识别码讯息摘要与该密文存储在该系统区中。
19.如权利要求18所述的数据保护方法,还包括:
将该存储区划分为一保密区与一非保密区;以及
将所加密的使用者数据存储在该保密区中,
其中当该讯息摘要与该个人识别码讯息摘要不相符时,则不显示该保密区。
20.如权利要求14所述的数据保护方法,其中该单向杂凑函数包括MD5、RIPEMD-160SHA1、SHA-256、SHA-386或SHA-512。
21.如权利要求14所述的数据保护方法,其中该第一加解密函数包括一高级加密标准或一数据加密标准。
22.如权利要求14所述的数据保护方法,其中该第二加解密函数包括一高级加密标准或一数据加密标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102129492A CN101673248B (zh) | 2008-09-10 | 2008-09-10 | 存储系统、控制器与数据保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102129492A CN101673248B (zh) | 2008-09-10 | 2008-09-10 | 存储系统、控制器与数据保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101673248A true CN101673248A (zh) | 2010-03-17 |
CN101673248B CN101673248B (zh) | 2012-06-13 |
Family
ID=42020479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102129492A Active CN101673248B (zh) | 2008-09-10 | 2008-09-10 | 存储系统、控制器与数据保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101673248B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354142A (zh) * | 2011-07-26 | 2012-02-15 | 深圳市麦格米特控制技术有限公司 | 一种plc加密方法 |
CN102541762A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | 用于外部存储器的数据保护器和数据保护方法 |
CN103034594A (zh) * | 2011-09-30 | 2013-04-10 | 群联电子股份有限公司 | 存储器储存装置及其存储器控制器与密码验证方法 |
CN107315966A (zh) * | 2017-06-22 | 2017-11-03 | 湖南国科微电子股份有限公司 | 固态硬盘数据加密方法及系统 |
CN109598157A (zh) * | 2018-12-04 | 2019-04-09 | 深圳忆联信息系统有限公司 | Ssd数据保护方法及系统 |
CN110032448A (zh) * | 2019-04-15 | 2019-07-19 | Oppo广东移动通信有限公司 | 一种终端解锁控制方法、装置及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193298C (zh) * | 2001-07-09 | 2005-03-16 | 大买家科技股份有限公司 | 以存储卡来保护文件的系统与方法 |
JP4119882B2 (ja) * | 2004-11-19 | 2008-07-16 | 株式会社メガチップス | メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ |
CN100498742C (zh) * | 2007-01-08 | 2009-06-10 | 中国信息安全产品测评认证中心 | 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法 |
-
2008
- 2008-09-10 CN CN2008102129492A patent/CN101673248B/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541762A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | 用于外部存储器的数据保护器和数据保护方法 |
CN102354142A (zh) * | 2011-07-26 | 2012-02-15 | 深圳市麦格米特控制技术有限公司 | 一种plc加密方法 |
CN103034594A (zh) * | 2011-09-30 | 2013-04-10 | 群联电子股份有限公司 | 存储器储存装置及其存储器控制器与密码验证方法 |
CN107315966A (zh) * | 2017-06-22 | 2017-11-03 | 湖南国科微电子股份有限公司 | 固态硬盘数据加密方法及系统 |
CN107315966B (zh) * | 2017-06-22 | 2020-10-23 | 湖南国科微电子股份有限公司 | 固态硬盘数据加密方法及系统 |
CN109598157A (zh) * | 2018-12-04 | 2019-04-09 | 深圳忆联信息系统有限公司 | Ssd数据保护方法及系统 |
CN110032448A (zh) * | 2019-04-15 | 2019-07-19 | Oppo广东移动通信有限公司 | 一种终端解锁控制方法、装置及计算机可读存储介质 |
CN110032448B (zh) * | 2019-04-15 | 2021-08-17 | Oppo广东移动通信有限公司 | 一种终端解锁控制方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101673248B (zh) | 2012-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6275653B2 (ja) | データ保護方法及びシステム | |
US9100187B2 (en) | Authenticator | |
US20100058073A1 (en) | Storage system, controller, and data protection method thereof | |
US20040255119A1 (en) | Memory device and passcode generator | |
EP2161673A1 (en) | Method and system for protecting data | |
CN101673248B (zh) | 存储系统、控制器与数据保护方法 | |
KR20160010605A (ko) | 디바이스 및 메모리 시스템 | |
KR20060024317A (ko) | 접근 방법 | |
WO2010052722A1 (en) | Secure storage device | |
CN105612715A (zh) | 具有可配置访问控制的安全处理单元 | |
CN102262599A (zh) | 一种基于可信根的移动硬盘指纹认证方法 | |
CN101770559A (zh) | 数据保护装置和方法 | |
CN101320355B (zh) | 存储装置、存储卡存取装置及其读写方法 | |
KR20140075848A (ko) | 불 휘발성 메모리 모듈 및 그것의 동작 방법 | |
CN108363912B (zh) | 一种程序代码的密保方法及装置 | |
CN101883357A (zh) | 一种终端与智能卡之间的相互认证方法、装置及系统 | |
KR20210132721A (ko) | 네트워크에 액세스 시의 보안 통신 | |
US11468159B2 (en) | Memory system | |
CN115391844A (zh) | 安全密钥存储装置 | |
JP3963938B2 (ja) | アクセス方法、メモリデバイス、および情報機器 | |
KR100562255B1 (ko) | 시큐리티 도메인의 키 초기화 방법 | |
CN114491682A (zh) | 虚拟订户识别模块和虚拟智能卡 | |
CN102129535A (zh) | 基于硬件的非易失性计算机系统的加密方法及计算机 | |
JP2009064126A (ja) | Icカードシステム、その端末装置、プログラム | |
CN105868643A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |