半导体存储装置及其实现数据安全存储的方法 【技术领域】
本发明涉及用于检验安全系统用户凭据的保密或安全通信装置,以及数据安全存储方法;特别涉及实现数据安全存储的半导体存储装置,以及借助该半导体存储装置实现数据安全存储的方法。
【背景技术】
闪存介质,属于当电源切断之后还能半永久性记忆资料的记忆IC(集成电路),属于非挥发性记忆体,如Nand Flash(与非门闪存记忆体)等。
密钥,加解密算法普遍的特性是用密钥对明文(或者密文)进行某种运算得到和之前明文内容不一样的密文(或者明文)。
现有技术闪存存储装置,包括非挥发性记忆体、闪存控制器和界面,都是经由电子计算机透过该界面至处理器进行资料传输、读写和删除,所述闪存存储装置包括带有USB界面的闪存盘、移动硬盘、SD、CF和Memory Stick。对资料保护的密钥一般为固定值且存储在非挥发性记忆体内,因为非挥发性记忆体本身可以不通过认证即直接读写,这样对闪存记忆体内的资料,存在被破译的危险。
在信息技术飞速发展的今天,移动存储技术和移动存储产品也得到了快速发展。而且随着因特网的日益普及、电子商务的迅速发展,人们开始重视所存储信息的保密处理,对用户认证的限制。例如已公开的中国发明专利ZL 01114762.8“一种半导体存储装置”和已公开的中国发明专利ZL 02151984.6“借助半导体存储装置实现数据安全存储和算法存储的方法”,提出了一种具有用户认证及数据加密和解密功能的半导体移动存储装置,对使用该半导体存储装置的用户加以身份认证,并对存入该半导体存储装置的信息进行加密保护,加密信息读出时再解密。但是,这种用户认证的认证码或者密码均直接存储在闪存存储器内,而闪存存储器具有可直接电读写的方法,致使该用户认证的认证码可直接读出,很容易便被破解,这已经不能满足人们对数据安全存储的需求。
【发明内容】
本发明要解决的技术问题在于避免上述现有技术的不足之处而提供一种实现数据安全存储的半导体存储装置,在提供数据移动存储功能的同时,采用安全技术防止非法数据读写,使得合法用户数据被破解的难度显著增大,从而极大地提高了用户存储数据的安全性。本发明还提供了使用所述半导体存储装置实现数据安全存储的方法,借助所述半导体存储装置中的唯一序列号可以使用户对存储数据进行保护,可广泛应用于身份认证、版权保护等信息安全领域。
本发明解决所述技术问题采用的技术方案是:
提供一种半导体存储装置,包括控制器模块,以及分别与该控制器模块电连接的通用接口模块和半导体存储介质模块,还包括储存有唯一序列号的一次性可编程存储器OTP ROM(One Time Programmable Read-only Memory),该一次性可编程存储器设置在所述控制器模块内或者设置在所述半导体存储介质模块内;所述每个半导体存储装置所包含的唯一序列号的数列都各不相同。
当所述半导体存储装置写入需保护的数据时,所述控制器模块接收来自所述通用接口模块的数据,先使用所述唯一序列号对用户验证,当验证通过,把该数据用所述唯一序列号保护后存储在所述半导体存储介质模块中;当从所述半导体存储装置读出所述需保护的数据时,先使用所述唯一序列号对用户验证,当验证通过,再将该数据用所述唯一序列号解脱保护后,通过所述通用接口模块把所述数据传送出去。
还提供一种半导体存储装置实现数据安全存储的方法,包括以下步骤:
①设置半导体存储装置,该半导体存储装置包括控制器模块,以及分别与该控制器模块电连接的通用接口模块和半导体存储介质模块;
②将所述半导体存储介质模块分为至少两个逻辑存储空间;
③所述逻辑存储空间中至少一个空间用于存储需要保护的数据;
④在所述控制器模块内或者在所述半导体存储介质模块内设置一次性可编程存储器,并在该一次性可编程存储器内储存唯一序列号;
⑤在所述半导体存储装置和/或所述半导体存储介质模块内至少一个存储空间设置并储存用所述唯一序列号与之运算后被保护的密钥;
⑥在写入/读出数据的操作之前,验证用所述唯一序列号与之运算后被保护的密钥;若验证通过,则进行步骤⑦a~⑦c或⑧a~⑧c;若验证失败,则程序退出;
⑦a判断是否是写入数据,如不是则进行其他处理;如果是,则进行下一步骤;
⑦b将需要写入的数据包使用所述唯一序列号进行保护或者使用被所述唯一序列号(131)保护的数据加密密钥进行保护;
⑦c把被保护的数据包存储在所述半导体存储介质模块中;
⑧a判断是否是读出数据,如不是则进行其他处理;如果是,则进行下一步骤;
⑧b将需要读出的数据包使用所述唯一序列号解脱保护或者使用被所述唯一序列号(131)保护的数据加密密钥解脱保护;
⑧c把被解脱保护的数据包从所述半导体存储介质模块中读出。
同现有技术相比较,本发明半导体存储装置及其实现数据安全存储的方法,其有益效果在于:
借助半导体存储装置的唯一序列号可以让用户对存储数据进行保护,可广泛应用于身份认证、版权保护等信息安全领域;能够支持用户更加安全地移动数据存储,使得合法用户数据被破解的难度显著增大,从而极大地提高了用户存储数据的安全性。根据本发明的半导体存储装置及其实现数据安全存储的方法,用户的个人资料、密钥、证书等信息安全存储在所述半导体存储装置的半导体存储介质模块中,无需担心该半导体存储介质模块被人非法获取后会被读出机密信息,使用户需保密数据的安全性大大提高,并能提供高安全性的附加功能的实现。
【附图说明】
图1是本发明半导体存储装置原理方框示意图,包括图1a和图1b;
图2是所述半导体存储装置实现数据安全存储的方法之用户密钥安全存储方法的原理方框示意图;
图3是所述实现数据安全存储方法的简明流程示意图。
【具体实施方式】
下面结合各附图对本发明作进一步详细说明。
参见图1a和1b,一种半导体存储装置100,包括控制器模块110,以及分别与该控制器模块110电连接的通用接口模块120和半导体存储介质模块140。所述半导体存储装置100还包括储存有唯一序列号131地一次性可编程存储器130,该一次性可编程存储器130设置在所述控制器模块110内或者设置在所述半导体存储介质模块140内;所述每个半导体存储装置100所包含的唯一序列号131的数列都各不相同。
当所述半导体存储装置100写入需保护的数据时,所述控制器模块110接收来自所述通用接口模块120的数据,先使用所述唯一序列号131对用户验证,当验证通过,把该数据用所述唯一序列号131保护后存储在所述半导体存储介质模块140中;当从所述半导体存储装置100读出所述需保护的数据时,先使用所述唯一序列号131对用户验证,当验证通过,再将该数据用所述唯一序列号131解脱保护后,通过所述通用接口模块120把所述数据传送出去。
所述控制器模块110,是所述半导体存储装置100的核心控制模块,所述控制器模块110中内置固化软件(即Firmware),该固化软件主要功能在于:
1)通过所述通用接口模块120控制所述半导体存储装置100与数据处理系统(图中未画出)之间的数据通信或数据读写,实现用户的大容量数据移动存储功能;
2)执行使用所述唯一序列号131完成对用户密钥的保护运算;
3)执行使用所述唯一序列号131完成对用户数据的保护运算;
所述控制器模块110中的固件还提供了开放的应用开发接口,用户可以通过应用开发接口进行开发各种安全加密、身份认证、版权保护等应用。
所述通用接口模块120是所述半导体存储装置100与数据处理系统连接的接口,也是实现本发明各种安全应用的通信接口。该通用接口模块120包括有线接口和无线通用接口;其接口类型包括串口、并口、USB接口、IEEE1394接口、Bluetooth(蓝牙)接口、IrDA红外接口、HomeRF接口、IEEE802.11a接口、IEEE802.11b接口、IEEE802.11g接口或WINMAX接口。
所述唯一序列号131可以在所述一次性可编程存储器130生产过程中写入,也可以在所述一次性可编程存储器130测试过程中写入,还可以在所述半导体存储装置100生产或测试过程中写入。
所述半导体存储介质模块140包括闪存介质(Flash Memory)、EEPROM、SRAM、FRAM、MRAM或Millpede。可以采用一块或多块半导体。
所述控制器模块110和通用接口模块120可以物理上分别存在,也可以集成在一起成为一体的半导体芯片模块。
所述控制器模块110和半导体存储介质模块140可以物理上分别存在,也可以集成在一起成为一体的半导体芯片模块。
所述控制器模块110、通用接口模块120和半导体存储介质模块140可以物理上分别存在,也可以集成在一起成为一体的半导体芯片模块。
参见图3,一种半导体存储装置实现数据安全存储的方法,包括以下步骤:
①设置半导体存储装置100,该半导体存储装置100包括控制器模块110,以及分别与该控制器模块110电连接的通用接口模块120和半导体存储介质模块140;
②将所述半导体存储介质模块140分为至少两个逻辑存储空间;
③所述逻辑存储空间中至少一个空间用于存储需要保护的数据;
④在所述控制器模块110内或者在所述半导体存储介质模块140内设置一次性可编程存储器130,并在该一次性可编程存储器130内储存唯一序列号131;
⑤在所述半导体存储装置100和/或所述半导体存储介质模块140内至少一个存储空间设置并储存用所述唯一序列号131与之运算后被保护的密钥132;
⑥在写入/读出数据的操作之前,验证用所述唯一序列号131与之运算后被保护的密钥132;若验证通过,则进行步骤⑦a~⑦c或⑧a~⑧c;若验证失败,则程序退出;
⑦a判断是否是写入数据,如不是则进行其他处理;如果是,则进行下一步骤;
⑦b将需要写入的数据包使用所述唯一序列号131进行保护或者使用被所述唯一序列号(131)保护的数据加密密钥进行保护;
⑦c把被保护的数据包存储在所述半导体存储介质模块140中;
⑧a判断是否是读出数据,如不是则进行其他处理;如果是,则进行下一步骤;
⑧b将需要读出的数据包使用所述唯一序列号131解脱保护或者使用被所述唯一序列号(131)保护的数据加密密钥解脱保护;
⑧c把被解脱保护的数据包从所述半导体存储介质模块140中读出。
参见图2,步骤⑤中设置并储存用所述唯一序列号131与之运算后被保护的密钥132,依次包括以下步骤:
⑤a使用所述唯一序列号131借助加密运算160对用户密钥150进行保护操作,得到所述被保护的密钥132;或者是使用所述唯一序列号131借助数学和/或逻辑运算方法对用户密钥150进行保护操作,得到所述被保护的密钥132;其中保护操作可以采用美国国家标准局的数据加密标准标准DES(Data Encryption Standard)做加密操作;
⑤b储存所述被保护的密钥132。
参见图3,步骤⑥验证用所述唯一序列号131与之运算后被保护的密钥132的方法,依次包括以下步骤:
⑥a按照约定好的格式对接受或者读取的数据包解包,获得用户输入原始数据A并从所述半导体存储介质模块140上读出原始变换值X,该原始变换值X是被保护的密钥132;
⑥b使用所述唯一序列号131对该原始变换值X操作解保护,得到原始数据B;
⑥c比较所述原始数据A和原始数据B,判断是否相等;
⑥d如果比较结果相等,用户验证通过,则写入/读出数据;如果比较结果不相等,用户验证失败,则无法写入/读出数据,则程序退出。
上述半导体存储介质模块140可以是单一一种存储介质的模块,或者至少是两种存储介质组合的模块。
上述唯一序列号131为保护所述用户密钥150所用运算方法可以是加密操作,也可以是一种数学和/或逻辑运算方法。
上述唯一序列号131与之运算后被保护的密钥132可以用作用户密钥,也可以是用户密钥150通过一种数学和/或逻辑运算后的数据。
以上所述实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。