一种基于TrustZone数据安全性和完整性的存储系统及方法与流程

文档序号:14774442发布日期:2018-06-23 02:41阅读:723来源:国知局
一种基于TrustZone数据安全性和完整性的存储系统及方法与流程

本发明涉及安全存储技术领域,特别设计一种基于TrustZone数据安全性和完整性存储系统及方法。



背景技术:

随着互联网移动终端的迅速发展,智能终端在人们生活中应用的越来越广泛,进而关于一些敏感数据的存储就成了大家关注的问题。现有的主流数据存储机制是:把一些重要的数据存放在本地,通过虚拟机对一些普通数据与敏感数据进行隔离存储。类似这样的一些数据存储机制是存在诸多缺陷的:首先,把重要的数据存放在本地,很容易被一些应用及外界窃取,不能保证其安全性;通过虚拟机对一些普通数据与敏感数据进行隔离存储的存储机制,不能保证敏感数据不被访问,普通应用仍能对其进行访问,不能保证敏感数据的安全隔离;最后,在存储数据之前没有对数据进行完整性校验,会导致存入一些违法的不符合规范的数据,降低效率。

中国专利CN 201410619453.2公开了一种安全数据存储方法及系统,适用于支持ARM TrustZone技术的处理器,且使用支持RPMB分区的eMMC作为存储介质方法包括:可信任应用程序,安全存储服务程序及其产生的安全数据对象被可信任执行环境保护;安全存储服务程序向可信任应用程序提供安全数据对象的建立和访问,并调用加解密模块对安全数据对象进行加密和解密处理,加密后的安全数据对象通过共享内存页面与非可信任实行环境中的eMMC RPMB驱动程序共享,非可信任实行环境中的eMMC RPMB驱动程序完成对eMMC RPMB分区的访问和存储;但是该系统和方法并不包括对于数据的完整性的校验。

中国专利CN201510586671.5公开了一种基于TrustZone技术的安全存储服务系统及方法,包括数据请求模块、普通应用程序、安全存储服务、可信应用程序;数据请求模块负责普通应用程序与可信应用程序间数据安全存储服务请求的封装与调用,为普通应用程序提供统一的数据存储、数据加载和数据销毁的服务请求接口;安全存储服务包括合法性检测模块、数据处理模块和秘钥管理模块。上述发明目的在于为支持TrustZone技术的终端设备上的应用程序提供统一的数据安全存储接口,既解决应用程序敏感数据的安全存储问题,又保证应用程序开发的便捷性,但是该系统及方法并不包括对于数据的完整性的判断。



技术实现要素:

为了克服上述缺陷,本发明提出了一种基于TrustZone数据安全性和完整性的存储系统和方法,主要针对数据的完整性进行校验,采用如下的技术方案:

一种基于TrustZone数据安全性和完整性的存储系统,包括具有TrustZone技术功能的ARM处理器、普通操作系统、安全操作系统、检验模块、编码模块、控制模块、解码模块和加密模块;普通操作系统、安全操作系统分别和具有TrustZone技术功能的ARM处理器相连,检验模块、编码模块分别和普通操作系统相连;控制模块、解码模块、加密模块分别和安全操作系统相连。

普通操作系统是指具有TrustZone技术功能的ARM处理器提供的用来存储普通数据的系统;安全操作系统是指具有TrustZone技术功能的ARM处理器提供的用来存储敏感安全数据的系统;检验模块是用来校验数据完整性的模块;编码模块是对需要在安全操作系统中存储的数据进行编码的模块,但是编码数据存储于普通操作系统中;控制模块是利用TrustZone技术的监控模式将数据从普通操作系统传入安全操作系统中的模块;解码模块是对通过监控模式对传入安全操作系统的数据进行解码的模块,解码数据存储于安全操作系统中;加密模块是对解密后的数据进行加密处理,以保证数据的安全性的模块。

使用上述一种基于TrustZone数据安全性和完整性的存储系统的存储方法是:

步骤一:普通操作系统的客户端发起存储数据的请求,传入待储存数据;

步骤二:将传入的数据与已有的规范数据进行对比,在检验模块进行完整性校验,看其是否符合规范,是否遭到破坏,如若不完整,则放弃存储,如若完整,则校验完毕之后将符合规范的数据进行安全权限判断;

步骤三:对需要进行安全权限判断的数据进行安全权限的判定,若没有安全权限,则存储在普通区域中,若具有安全权限则是需要传入安全操作系统的敏感数据;

步骤四:进一步对敏感数据在编码模块进行编码;

步骤五:通过指令跳转到监控模式,安全配置寄存器的NS位改为0,进入安全操作系统;

步骤六:安全操作系统对传过来的编码数据在解码模块进行解码;

步骤七:对解码数据在加密模块进行加密,将最终加密结果存储于安全操作系统所访问的安全内存区域中。

上述检验模块对于数据完整性校验的具体方法是:

步骤一:将已有的原始标准数据进行分块分区,给每部分写上标签,分别为一、二、三……;

步骤二:将每部分数据进行二进制转换,传入待存储数据;

步骤三:将待存储数据和原始数据进行同样的分区,也对每部分数据进行二进制转换;

步骤四:将待存储数据与原始标准数据的每部分进行逐位比对,若是出现不一样的值则返回False,将其进行修改或丢弃,若完全一样,则返回True,继续进行存储工作。

与现有技术相比,本发明具有以下优点:

1.通过在具有TrustZone技术功能的ARM处理器的普通操作系统中加入了完整性校验模块,这样既保证了数据的完整性,又在双操作系统的基础上保证了数据的安全性。

2.目前的现有技术都是通过给数据加密来保证数据完整性,一旦密钥被破解,数据就很容易被破坏,并且加密的成本很高。本发明可以很好地解决此问题,本发明将标准数据分成多个部分,并赋予标签,对比之后,哪个标签对应的区域出现问题,则修改哪个区域的数据就可以,大大节约了时间及成本。

附图说明

图1为一种基于TrustZone数据安全性和完整性的存储系统的模块示意图。

图2为一种基于TrustZone数据安全性和完整性的存储系统的结构框图。

图3为一种基于TrustZone数据安全性和完整性的存储方法的流程图。

附图标记:1、具有TrustZone的处理器;2、普通存储区域的普通操作环境;3、安全存储区域的安全操作环境;4、检验模块;5、编码模块;6、控制模块;7、解码模块;8、加密模块;11、普通应用(CA);12、安全操作系统;21、发起数据存储的请求;22、完整性校验;23、放弃存储;24、安全权限判定;25、存储在普通区域中;26、编码;27、监控模式;28、解码;29、加密;30、存储在安全存储区域中。

具体实施方式

以下将参照附图,通过实施例方式详细地描述本发明提供的系统及其工作方法。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。

实施例一

本实施例主要介绍本发明的一种基于TrustZone数据安全性和完整性的存储系统。

如图1所示的是一种基于TrustZone数据安全性和完整性存储系统的模块示意图,具有TrustZone的处理器1包括普通存储区域的普通操作环境2和安全存储区域的安全操作环境3,普通操作环境包括检验模块4和编码模块5,安全操作环境3包括控制模块6、解码模块7和加密模块8。

普通操作系统、安全操作系统分别和具有TrustZone技术功能的ARM处理器相连,检验模块、编码模块分别和普通操作系统相连;控制模块、解码模块、加密模块分别和安全操作系统相连。

如图2所示的是一种基于TrustZone数据安全性和完整性存储系统的结构框图,图2的左边为普通存储区域的普通操作系统2,右边为安全存储区域的安全操作系统3;普通操作系统是指具有TrustZone技术功能的ARM处理器提供的用来存储普通数据的系统;安全操作系统是指具有TrustZone技术功能的ARM处理器提供的用来存储敏感安全数据的系统;检验模块4是用来校验数据完整性的模块;编码模块5是对需要在安全操作系统中存储的数据进行编码的模块,但是编码数据存储于普通操作系统中;控制模块是利用TrustZone技术的监控模式将数据从普通操作系统传入安全操作系统中的模块;解码模块7是对通过监控模式对传入安全操作系统的数据进行解码的模块,解码数据存储于安全操作系统中;加密模块8是对解密后的数据进行加密处理,以保证数据的安全性的模块

实施例二

本实施例是在实施例一的基础上进行的,主要介绍本发明的一种基于TrustZone数据安全性和完整性的存储方法。

如图3所示的是一种基于TrustZone数据安全性和完整性的存储方法的流程图;

本发明所述的存储方法是按以下步骤进行的:

步骤一:首先位于普通执行环境的普通应用(CA)11发起数据存储的请求21,传入待储存数据;

步骤二:将传入的数据与已有的规范数据进行对比,在检验模块4进行完整性校验22,看其是否符合规范,是否遭到破坏等等,如若不完整,则放弃存储23;如若完整,则校验完毕之后将符合规范的数据进行安全权限判断24;

步骤三:对需要进行安全权限判断的数据进行安全权限的判定,若不具安全权限,则直接存储于普通操作系统所访问的普通内存区域中2;若具有安全权限,则是需要传入安全操作系统的敏感数据;

步骤四:进一步对敏感数据在编码模块5进行编码25;

步骤五:通过SMOC指令跳转到监控模式(Monitor模式)13,安全配置寄存器的NS位改为0,进入安全操作系统12;

步骤六:安全操作系统对传过来的编码数据在解码模块7进行解码26,得到实际的应用模块的签名和待存储的密码;

步骤七:对解码数据在加密模块8进行加密27,将最终加密结果存储于安全操作系统所访问的安全内存区域3中。

实施例三

本实施例是在前述实施例一的基础上进行的,主要介绍本发明的数据完整性校验的具体实施方式。

数据在传输的过程中可能会有丢失、误码或是被篡改,所以,对于数据的完整性校验是很有必要的;本发明的数据完整性校验的具体方法是:

步骤一:将已有的原始标准数据进行分块分区,给每部分写上标签,分别为一、二、三……;

步骤二:将每部分数据进行二进制转换,传入待存储数据;

步骤三:将待存储数据和原始数据进行同样的分区,也对每部分数据进行二进制转换;

步骤四:将待存储数据与原始标准数据的每部分进行逐位比对,若是出现不一样的值则返回False,将其进行修改或丢弃,若完全一样,则返回True,继续进行存储工作。

本发明的完整性校验方法的优点是:目前的现有技术都是通过给数据加密来保证数据完整性,一旦密钥被破解,数据就很容易被破坏,并且加密的成本很高。本发明可以很好地解决此问题,本发明将标准数据分成多个部分,并赋予标签,对比之后,哪个标签对应的区域出现问题,则修改哪个区域的数据就可以,大大节约了时间及成本。

如上所述,可较好地实现本发明。对于本领域的技术人员而言,在不脱离本发明的原理和精神的情况下对这些实施例进行变化、修改、替换、整合和变型仍落入本发明的保护范围内。本发明中未进行特殊说明或限定的部分,均采用现有技术实施。

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