半导体存储装置及其实现数据安全存储的方法
【技术领域】
本发明涉及用于检验安全***用户凭据的保密或安全通信装置,以及数 据安全存储方法;特别涉及实现数据安全存储的半导体存储装置,以及借助该 半导体存储装置实现数据安全存储的方法。
【背景技术】
闪存介质, 属于当电源切断之后还能半永久性记忆资料的记忆 IC (集成 电路), 属于非挥发性记忆体, 如 Nand Flash (与非门闪存记忆体)等。
密钥, 加解密算法普遍的特性是用密钥对明文(或者密文)进行某种运 算得到和之前明文内容不一样的密文(或者明文)。
现有技术闪存存储装置, 包括非挥发性记忆体、 闪存控制器和界面, 都 是经由电子计算机透过该界面至处理器进行资料传输、 读写和删除,所述闪存 存储装置包括带有 USB界面的闪存盘、 移动硬盘、 SD、 CF和 Memory S t ick。 对资料保护的密钥一般为固定值且存储在非挥发性记忆体内, 因为非挥发性 记忆体本身可以不通过认证即直接读写, 这样对闪存记忆体内的资料, 存在 被破译的危险。
在信息技术飞速发展的今天, 移动存储技术和移动存储产品也得到了快 速发展。 而且随着因特网的日益普及、 电子商务的迅速发展, 人们开始重视 所存储信息的保密处理, 对用户认证的限制。 例如已公开的中国发明专利 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是本发明半导体存储装置原理方框示意图, 包括图 la和图 lb; 图 2 是所述半导体存储装置实现数据安全存储的方法之用户密钥安全存 储方法的原理方框示意图;
图 3是所述实现数据安全存储方法的筒明流程示意图。
【具体实施方式】
下面结合各附图对本发明作进一步详细说明。
参见图 la和 lb,—种半导体存储装置 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中内置固化软件(即 F i rmware ),该固化软件主要功能在于:
1 )通过所述通用接口模块 120控制所述半导体存储装置 100与数据处理 ***(图中未画出)之间的数据通信或数据读写, 实现用户的大容量数据移动 存储功能;
2)执行使用所述唯一序列号 131完成对用户密钥的保护运算;
3)执行使用所述唯一序列号 131完成对用户数据的保护运算;
所述控制器模块 110 中的固件还提供了开放的应用开发接口, 用户可以 通过应用开发接口进行开发各种安全加密、 身份认证、 版权保护等应用。
所述通用接口模块 120是所述半导体存储装置 100与数据处理***连接 的接口, 也是实现本发明各种安全应用的通信接口。 该通用接口模块 120 包 括有线接口和无线通用接口;其接口类型包括串口、并口、 USB接口、 IEEE1394 接口、 Bluetooth (蓝牙)接口、 I rDA红夕卜接口、 HomeRF接口、 IEEE802. 11a接 口、 IEEE802. l ib接口、 IEEE802. l lg接口或 WI匪 AX接口。
所述唯一序列号 131 可以在所述一次性可编程存储器 130生产过程中写 入, 也可以在所述一次性可编程存储器 130 测试过程中写入, 还可以在所述 半导体存储装置 100生产或测试过程中写入。
所述半导体存储介质模块 140 包括闪存介质(F lash Memory) , EEPR0M、 SRAM, FRAM、 MRAM或 Mi 1 l pede。 可以采用一块或多块半导体。
所述控制器模块 11 0和通用接口模块 120可以物理上分别存在, 也可以 集成在一起成为一体的半导体芯片模块。
所述控制器模块 11 0和半导体存储介质模块 140可以物理上分别存在, 也可以集成在一起成为一体的半导体芯片模块。
所述控制器模块 110、通用接口模块 120和半导体存储介质模块 140可以 物理上分别存在, 也可以集成在一起成为一体的半导体芯片模块。
参见图 3,—种半导体存储装置实现数据安全存储的方法,包括以下步骤:
①设置半导体存储装置 100,该半导体存储装置 100包括控制器模块 110, 以及分别与该控制器模块 110电连接的通用接口模块 120和半导体存储介质 模块 140;
②将所述半导体存储介质模块 140分为至少两个逻辑存储空间;
③所述逻辑存储空间中至少一个空间用于存储需要保护的数据;
④在所述控制器模块 110 内或者在所述半导体存储介质模块 140 内设置 一次性可编程存储器 1 30,并在该一次性可编程存储器 1 30内储存唯一序列号 1 31 ;
⑤在所述半导体存储装置 1 00和 /或所述半导体存储介质模块 140内至少 一个存储空间设置并储存用所述唯一序列号 1 31 与之运算后被保护的密钥 1 32;
⑥在写入 /读出数据的操作之前,验证用所述唯一序列号 1 31 与之运算后 被保护的密钥 1 32;若验证通过,则进行步骤⑦ a ~⑦ c或⑧ a ~⑧ c;若验证失败 : 则程序退出;
⑦ a判断是否是写入数据, 如不是则进行其他处理;如果是, 则进行下一 步骤;
⑦ b将需要写入的数据包使用所述唯一序列号 1 31 进行保护或者使用被 所述唯一序列号(1 31 )保护的数据加密密钥进行保护;
⑦ c把被保护的数据包存储在所述半导体存储介质模块 140中;
⑧ a判断是否是读出数据,如不是则进行其他处理;如果是,则进行下一步 骤;
⑧ b将需要读出的数据包使用所述唯一序列号 1 31 解脱保护或者使用被
所述唯一序列号(1 31 )保护的数据加密密钥解脱保护;
⑧ c把被解脱保护的数据包从所述半导体存储介质模块 140中读出。 参见图 2,步骤⑤中设置并储存用所述唯一序列号 1 31与之运算后被保护 的密钥 1 32,依次包括以下步骤:
⑤ a使用所述唯一序列号 1 31借助加密运算 160对用户密钥 150进行保护 操作,得到所述被保护的密钥 1 32;或者是使用所述唯一序列号 1 31借助数学和
/或逻辑运算方法对用户密钥 150进行保护操作,得到所述被保护的密钥 1 32; 其中保护操作可以采用美国国家标准局的数据加密标准标准 DES ( Da ta
Encrypt ion S tandard )做力口密操作;
⑤ b储存所述被保护的密钥 1 32。
参见图 3,步骤⑥验证用所述唯一序列号 1 31 与之运算后被保护的密钥 1 32的方法,依次包括以下步骤:
⑥ a按照约定好的格式对接受或者读取的数据包解包,获得用户输入原始 数据 A并从所述半导体存储介质模块 140上读出原始变换值 X,该原始变换值 X 是被保护的密钥 1 32;
⑥ b使用所述唯一序列号 1 31对该原始变换值 X操作解保护,得到原始数 据 B;
⑥ c比较所述原始数据 A和原始数据 B,判断是否相等;
⑥ d如果比较结果相等, 用户验证通过,则写入 /读出数据;如果比较结果 不相等,用户验证失败,则无法写入 /读出数据,则程序退出。
上述半导体存储介质模块 140可以是单一一种存储介质的模块, 或者至 少是两种存储介质组合的模块。
上述唯一序列号 1 31为保护所述用户密钥 150所用运算方法可以是加密 操作, 也可以是一种数学和 /或逻辑运算方法。
上述唯一序列号 1 31与之运算后被保护的密钥 1 32可以用作用户密钥, 也可以是用户密钥 150通过一种数学和 /或逻辑运算后的数据。 细, 但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本 领域的普通技术人员来说, 在不脱离本发明构思的前提下,还可以做出若干变 形和改进, 这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所 做的等同变换与修饰, 均应属于本发明权利要求的涵盖范围。