一种采用TrustZone技术实现内存数据库的方法与流程

文档序号:21201942发布日期:2020-06-23 19:25阅读:462来源:国知局
一种采用TrustZone技术实现内存数据库的方法与流程

本发明涉及一种采用trustzone技术实现内存数据库的方法,属于内存数据存储技术领域。



背景技术:

trustzone是arm针对消费电子设备设计的一种硬件架构,其目的是为消费电子产品构建一个安全框架来抵御各种可能的攻击。

trustzone在概念上将soc的硬件和软件资源划分为安全(secureworld)和非安全(normalworld)两个世界,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密、安全认证等),其余操作在非安全世界执行(如用户操作系统、各种应用程序等),安全世界和非安全世界通过一个名为monitormode的模式进行转换,如附图1所示。处理器架构上,trustzone将每个物理核虚拟为两个核,一个非安全核(non-securecore,nscore),运行非安全世界的代码;和另一个安全核(securecore),运行安全世界的代码。两个虚拟的核以基于时间片的方式运行,根据需要实时占用物理核,并通过monitormode在安全世界和非安全世界之间切换,类似同一cpu下的多应用程序环境,不同的是多应用程序环境下操作系统实现的是进程间切换,而trustzone下的monitormode实现了同一cpu上两个操作系统间的切换。

内存数据库是指一种将全部内容存放在内存中,而非传统数据库那样存放在外部存储器中的数据库。内存数据库指的是所有的数据访问控制都在内存中进行,这是与磁盘数据库相对而言的。磁盘数据库虽然也有一定的缓存机制,但都不能避免从外设到内存的交换,而这种交换过程对性能的损耗是致命的。由于内存的读写速度极快(双通道ddr3-1333可以达到9300mb/s,一般磁盘约150mb/s),随机访问时间更是可以纳秒计(一般磁盘约10ms的环境中,但是在服务器关闭后会立刻丢失全部储存的数据,双通道ddr3-1333可以达到0.05ms),所以这种数据库的读写性能很高,主要用在对性能要求极高的情况,常见的例子有mysql的memory存储引擎、extremedb、fastdb、sqlite、microsoftsqlservercompact等。

中国专利文献cn101901250a公开了一种内存数据库数据处理方法,包括以下步骤:将内存数据库进程与内存数据分离;创建共享内存段,并将所述内存数据存入所述共享内存段,将内存数据库数据区地址指向所述共享内存段地址;当所述内存数据库进程启动时,连接所述共享内存段。本发明中采用内存数据库进程与内存数据分离,并以共享内存段的方式申请内存数据库的数据存储空间,在内存数据库进程异常的情况下,内存数据库的数据由于存储在共享内存段中而不受影响,提高了内存数据库的数据安全性;并且无需进行主备内存数据库数据同步,降低了设备成本和设备维护复杂度。

但目前还无法确保内存数据库的数据访问绝对安全,内存数据不被窃取或攻击。因此,有必要设计一种更加安全的内存数据库访问策略。



技术实现要素:

针对现有技术的不足,本发明提供一种采用trustzone技术实现内存数据库的方法,采用该方法可以实现存储在内存数据库的数据更加安全,使存储在内存数据库的数据划分到安全区和非安全区两部分内,针对不同的数据使用需求,既能保证数据的快速访问,又能保证数据访问的安全性。

本发明的技术方案如下:

一种采用trustzone技术实现内存数据库的方法,包括以下步骤:

(1)采用trustzone技术对芯片和内存进行安全世界与普通世界的划分;

(2)将内存数据库作为一个软件安装到硬盘上,内存数据库是基于将数据缓存到内存来进行数据的增删改查的,内存数据库将芯片需要使用的数据缓存到内存的安全世界中,不仅能够加快对数据的访问以及修改,并能够保证数据的安全性;

(3)数据库用户将需要缓存到内存数据库的数据加密;

(4)将步骤(3)加密后的数据缓存到内存的安全世界中;

(5)将加密后的数据从内存数据库中持久化存储到磁盘,或根据设置的时间定期使用解密软件对内存数据库中的加密数据进行解密操作,然后将解密后的数据持久化存储到磁盘,或采用aof持久化方法,将对该内存数据库写入的命令保存下来以实现持久化。

优选的,步骤(3),数据加密采用md5算法、sha1算法、aes算法或rsa算法。

优选的,步骤(4),通过调用安全应用,处于普通世界的应用服务,在经过权限验证后,与安全世界建立连接,然后数据库用户将加密数据通过数据传输总线加载到内存数据库中。

优选的,步骤(5),解密软件使用内存数据库自带的解码api进行解码。

优选的,针对不同的使用需求,给数据库用户设定特定的安全级别,满足安全级别后才能访问内存的安全世界中的数据。

优选的,内存数据库采用关系型数据库,具有增删改查功能。

本发明的有益效果在于:

1)本发明采用trustzone技术实现内存数据库具有广泛的适用性,跨平台性,可移植性,可以支持各种操作平台,以及内存品牌,大大降低了移植的难度,简化了工作流程。

2)本发明采用trustzone技术实现内存数据库具有高度安全和成熟稳定的保护手段,可设计软件控制管理模块用于对系统资源和cpu进行监控和管理,通知安全系统和普通系统的资源利用情况,对运行在安全区域的内存数据库进行操作、对数据进行必要管理。

3)本发明采用trustzone技术对于解决内存数据库的安全性具有高效、低成本的特点,通过trustzone技术可以把一些重要但是传输量较大的数据直接加密存入到内存数据库中,这样可以有效防止数据被窃取和丢失,然后进行解密持久化到磁盘。

附图说明

图1为trustzone技术的结构原理框图;

图2为本发明采用trustzone技术实现内存数据库的方法的流程图;

具体实施方式

下面通过实施例并结合附图对本发明做进一步说明,但不限于此。

实施例1:

如图1和图2所示,本实施例提供一种采用trustzone技术实现内存数据库的方法,包括以下步骤:

(1)采用trustzone技术对cpu芯片和内存进行安全世界与普通世界的划分。此步是trustzone技术的成熟做法,为常规技术,trustzone技术的工作原理如图1所示;

(2)将内存数据库作为一个软件安装到硬盘上,内存数据库是基于将数据缓存到内存来进行数据的增删改查的,内存数据库将cpu芯片需要使用的数据缓存到内存的安全世界中,这样不仅能够加快对数据的访问以及修改,更重要的是可以保证数据的安全性,这是内存数据库的重要功能;

(3)数据库用户在外设上将需要缓存到内存数据库的数据进行加密,加密采用md5算法;

(4)通过调用安全应用,处于普通世界的应用服务在经过权限验证后,与安全世界建立连接,然后数据库用户将加密数据通过数据传输总线加载到内存数据库中。

(5)将加密后的数据从内存数据库中持久化存储到磁盘。

针对不同的使用需求,给数据库用户设定特定的安全级别,满足安全级别后才能访问内存的安全世界中的数据。

内存数据库采用关系型数据库,具有增删改查功能。

在硬件方面,自行开发基于trustzone安全模块、内存数据库,并通过普通世界的数据库客户端可以进入安全区域,访问安全世界的安全内核,在使用内存数据库的时候,通过ip核驱动对特定的内存区域进行硬件隔离,分成了安全区和非安全区,并且在tzasc的控制下进行了绝对隔离,因此,在cpu的非安全执行环境下对安全区的内存数据库操作都会造成中断,且导致处理器的执行环境频繁切换,使得cpu利用率较低,这属于一种保护措施。

实施例2:

一种采用trustzone技术实现内存数据库的方法,操作步骤如实施例1所述,其不同之处在于:步骤(3),采用sha1加密算法进行数据的加密。步骤(5),根据设置的时间(例如10s,1min等)定期使用解密软件对内存数据库中的加密数据进行解密操作,然后将解密后的数据持久化存储到磁盘,解密软件选用内存数据库自带的解码api进行解码。

实施例3:

一种采用trustzone技术实现内存数据库的方法,操作步骤如实施例1所述,其不同之处在于:步骤(3),采用aes加密算法进行数据的加密。步骤(5),采用redis的aof持久化方法,将对该内存数据库写入的命令保存下来以实现持久化。

实施例4:

一种采用trustzone技术实现内存数据库的方法,操作步骤如实施例1所述,其不同之处在于:步骤(3),采用rsa加密算法进行数据的加密。

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