一种存储数据加解密装置及方法与流程

文档序号:13297510阅读:477来源:国知局
一种存储数据加解密装置及方法与流程

本发明涉及计算机设备科学技术领域,尤其涉及一种存储数据加解密装置及方法。



背景技术:

伴随全球信息化步伐的加快,网络和移动互联网设备已经与人们的生活紧密相连,成为现代社会中信息交换不可或缺的载体。随着移动智能设备性能的大幅提升以及高速移动互联网的覆盖范围不断扩大,移动办公和移动金融交易随之大规模展开。但是,办公数据和金融交易数据也越来越面临更多的威胁。

为了解决数据安全的问题,必须提高计算机技术、密码学理论和网络应用水平。目前,信息安全防护已经从传统的单点信息加密,发展到构建以芯片级硬件防护为基础,覆盖全网络系统的信息保障体系。并且,低成本、小体积、高性能、抗破解并且具备信息安全保护机制的芯片化设计已经成为必然趋势,由此,片上系统(soc,systemonchip)芯片设计逐渐成为嵌入式系统发展的新方向,芯片设计者通常在一个soc芯片中集成加解密算法与信息安全协议,并且保证足够的安全等级。但是,现有技术中的soc芯片集成加解密算法对不同芯片或者同一芯片的不同存储区域采用相同密钥进行加解密,不能够有效地进行数据保护。

因此,亟需设计一种存储数据加解密装置及方法,能够对不同芯片以及同一芯片不同存储区域中的数据采用不同密钥进行加解密,并且更有效地完成数据存储和读写操作。



技术实现要素:

本发明提供的存储数据加解密装置和方法,能够针对现有技术的不足,对不同芯片以及同一芯片不同存储区域中的数据采用不同密钥进行加解密,高效完成数据存储和读写操作。

第一方面,本发明提供一种存储数据加解密方法,其中,包括:

步骤一、提供真随机数发生器,用于产生多个密钥;

步骤二、提供用于存储数据的数据存储器以及用于存储密钥的密钥存储器,将所述密钥写入所述密钥存储器;

步骤三、提供用于数据读写的数据读写接口模块,提供用于读取所述密钥并进行加解密操作的数据加解密模块;

从所述数据读写接口模块写入的数据由所述数据加解密模块进行加密后写入到所述数据存储器,从所述数据存储器读出的数据由所述数据加解密模块进行解密后读出到所述数据读写接口模块。

可选地,上述步骤三还包括对是否分隔所述数据存储器中的数据进行判断:

如果判断是,将所述数据存储器划分为逻辑多个数据存储区域,对所述多个数据存储区域的数据选择性进行加解密操作;

如果判断否,对所述数据存储器不划分数据存储区域,对整块数据存储区域的数据进行加解密操作。

可选地,对上述多个数据存储区域的数据选择性进行加解密操作所使用的每个数据存储区域的密钥均不相同;对所述整块数据存储区域的数据进行加解密操作使用统一密钥。

可选地,对不同芯片的所述多个数据存储区域中的相同数据存储区域进行加解密操作所使用的密钥均不相同;对不同芯片的所述的整块数据存储区域的数据进行加解密操作所使用的密钥均不相同。

可选地,上述数据加解密模块使用的加解密算法在单周期内完成。

可选地,上述数据加解密模块使用的加解密算法包括异或、序列重排。

可选地,上述数据加解密模块在系统芯片启动时自动通过硬件获取所述密钥存储器中的密钥。

可选地,上述数据存储器和所述密钥存储器位于同一物理介质上。

可选地,上述方法还包括在系统受到攻击时,所述密钥存储器中存储的密钥可以被清除。

再一方面,本发明提供一种使用上述方法的存储数据加解密的装置,其中包括:

真随机数发生器,用于产生多个密钥;

存储器组,所述存储器组包括用于存储数据的数据存储器和用于存储所述多个密钥的密钥存储器;

存储器读写模块,所述存储器读写模块包括用于数据读写的数据读写接口模块和用于读取所述多个密钥并对数据进行加解密操作的数据加解密模块。

本发明实施例提供的存储数据加解密装置及方法,能够在一个时钟周期内完成对不同芯片或同一芯片不同存储区域中的数据的加密,安全高效地完成数据存储和读写操作。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明一实施例的存储数据加解密装置结构示意图;

图2为本发明一实施例的存储数据加解密流程图;

图3为本发明一实施例的存储数据加解密方法的步骤示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种存储数据加解密装置,图1示出了本发明一实施例的存储数据加解密装置结构示意图。如图所示,所述存储数据加解密装置包括存储器模块、存储器组、真随机数发生器。具体的,所述存储器模块用于支持数据和密钥读写以及对经过该模块的数据进行加解密操作,所述存储器组用于支持数据和密钥存储功能,所述真随机数发生器用于生成密钥。

存储器读写模块负责将写数据加密后写入到存储器组,以及将从存储器组读取的读数据解密。存储器读写模块由一个数据读写接口模块和一个数据加解密模块组成。其中,数据读写接口模块用于对数据进行读写;数据加解密模块则用于对数据进行加密和解密。

具体地,数据读写接口模块输出未加密写数据到数据加解密模块,并且从数据加解密模块输入已解密读数据。

特别的,数据加解密模块可以使用单周期加解密算法,这种单周期加解密算法可以但不仅限于异或、序列重排等,采用这种加解密算法的数据加解密模块不影响数据访问效率。

存储器组由数据存储器和密钥存储器组成。其中,数据存储器用于存储数据,密钥存储器用于存储密钥。典型的,数据存储器和密钥存储器包括但不限于部署在同一物理存储介质上,方便存储高效实现。

具体的,数据存储器中的数据可以被分割为多个数据存储区域,不同存储区域可以采用不同的密钥进行加解密,各存储区域也可以分别选择是否进行加解密,但是相同的存储区域的数据只能使用同一个密钥进行加解密。另外,不同芯片相同数据存储区域采用的密钥也不相同;对不同芯片的所述的整块数据存储区域的数据进行加解密操作所使用的密钥均不相同。密钥存储器中存储多个密钥,分别用于对特定数据存储区域的数据进行加解密操作。

真随机数发生器负责生成密钥,用于提供给数据加解密模块并对数据进行加解密操作。

具体的,存储器读写模块中的数据加解密模块将真随机数发生器生成的真随机数作为密钥输出到存储器组的密钥存储器中,并采用密钥存储器中的密钥对输出到数据存储器中的写数据进行加密,对输入的读数据进行解密。

特别的,数据加解密模块在芯片启动时自动获取存储器组的密钥存储器中的密钥,并对所有经过存储器读写模块的数据使用获取到的密钥进行加解密,密钥获取方式由硬件实现,软件透明。

特别的,存储器读写模块需在数据加解密模块完成密钥获取之后被访问,提前访问请求无法响应。

图2示出了本发明一实施例的存储数据加解密流程图。如图所示,系统启动,真随机数发生器产生多个密钥,随后,数据加解密模块将真随机数发生器生成的密钥写入到密钥存储器。对是否分隔数据存储器中的数据进行判断,如果判断是,则在逻辑上将数据存储器划分为多个数据存储区域,对各数据存储区域的数据选择性进行加解密,并采用不同的密钥;如果判断否,则对数据存储器不划分数据存储区域,而采用统一的密钥对整块数据存储区域进行数据加解密。随后,对经过存储区读写模块的数据进行加解密,在本发明的一个实施例中,数据读写接口模块向数据加解密模块传送未加密的写数据,数据加解密模块对数据进行加密后存储与数据存储器,反之,数据存储器向数据加解密模块传送未解密读数据,经过数据加解密模块解密后,向数据读写接口模块传送已解密读数据。随后,判断系统是否受到攻击,如果系统受到攻击,则由数据加解密模块清除密钥存储器中的密钥,从而避免存储器中的数据被攻击获取;如果系统未受到攻击,继续判断系统是否关闭,如果判断是,则启动系统;如果判断否,则继续对经过存储器读写模块的数据进行加解密。

图3示出了本发明一个实施例的存储数据加解密方法步骤示意图。如图所示,s31提供真随机数发生器,用于产生多个密钥;s32表示提供用于存储数据的数据存储器以及用于存储密钥的密钥存储器,将密钥写入密钥存储器;s33表示提供用于数据读写的数据读写接口模块,提供用于读取密钥并进行加解密操作的数据加解密模块;从数据读写接口模块写入的数据由数据加解密模块进行加密后写入到数据存储器,从数据存储器读出的数据由数据加解密模块进行解密后读出到数据读写接口模块。

本发明提供的存储数据加解密装置及方法,通过在同一个芯片中将数据存储器划分为多个存储区域,每个存储区域分别采用特定的密钥,并且在不同芯片中,相同地址的存储区域采用不同的密钥,能够保证数据安全性。另外,当系统遭受数据安全攻击时可以通过擦除密钥存储器中的密钥使存储器中的加密数据不能正确解密,具有较强的抗攻击能力,能够有效完成数据存储和读写操作。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1