CN111324910A - 一种采用TrustZone技术实现内存数据库的方法 - Google Patents
一种采用TrustZone技术实现内存数据库的方法 Download PDFInfo
- Publication number
- CN111324910A CN111324910A CN202010200873.2A CN202010200873A CN111324910A CN 111324910 A CN111324910 A CN 111324910A CN 202010200873 A CN202010200873 A CN 202010200873A CN 111324910 A CN111324910 A CN 111324910A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- memory database
- database
- trustzone technology
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种采用TrustZone技术实现内存数据库的方法,包括采用TrustZone技术对芯片和内存进行安全世界与普通世界的划分;将内存数据放置到安全世界中,数据库用户将需要缓存到内存数据库的数据加密;将加密后的数据缓存到内存数据库中;使用解密软件对内存数据库中的加密数据进行解密操作,然后将解密后的数据持久化存储到磁盘数据库。采用TrustZone技术对于解决内存数据库的安全性具有高效、低成本的特点,通过TrustZone技术可以把一些重要但是传输量较大的数据直接加密存入到内存数据库中,这样可以有效防止数据被窃取和丢失,然后进行解密持久化到磁盘。
Description
技术领域
本发明涉及一种采用TrustZone技术实现内存数据库的方法,属于内存数据存储技术领域。
背景技术
TrustZone是ARM针对消费电子设备设计的一种硬件架构,其目的是为消费电子产品构建一个安全框架来抵御各种可能的攻击。
TrustZone在概念上将SoC的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)两个世界,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密、安全认证等),其余操作在非安全世界执行(如用户操作系统、各种应用程序等),安全世界和非安全世界通过一个名为Monitor Mode的模式进行转换,如附图1所示。处理器架构上,TrustZone将每个物理核虚拟为两个核,一个非安全核(Non-secure Core,NS Core),运行非安全世界的代码;和另一个安全核(Secure Core),运行安全世界的代码。两个虚拟的核以基于时间片的方式运行,根据需要实时占用物理核,并通过Monitor Mode在安全世界和非安全世界之间切换,类似同一CPU下的多应用程序环境,不同的是多应用程序环境下操作系统实现的是进程间切换,而Trustzone下的Monitor Mode实现了同一CPU上两个操作系统间的切换。
内存数据库是指一种将全部内容存放在内存中,而非传统数据库那样存放在外部存储器中的数据库。内存数据库指的是所有的数据访问控制都在内存中进行,这是与磁盘数据库相对而言的。磁盘数据库虽然也有一定的缓存机制,但都不能避免从外设到内存的交换,而这种交换过程对性能的损耗是致命的。由于内存的读写速度极快(双通道DDR3-1333可以达到9300MB/s,一般磁盘约150MB/s),随机访问时间更是可以纳秒计(一般磁盘约10ms的环境中,但是在服务器关闭后会立刻丢失全部储存的数据,双通道DDR3-1333可以达到0.05ms),所以这种数据库的读写性能很高,主要用在对性能要求极高的情况,常见的例子有MySQL的MEMORY存储引擎、eXtremeDB、FastDB、SQLite、Microsoft SQL ServerCompact等。
中国专利文献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加密算法进行数据的加密。
Claims (6)
1.一种采用TrustZone技术实现内存数据库的方法,其特征在于,包括以下步骤:
(1)采用TrustZone技术对芯片和内存进行安全世界与普通世界的划分;
(2)将内存数据库作为一个软件安装到硬盘上,内存数据库是基于将数据缓存到内存来进行数据的增删改查的,内存数据库将芯片需要使用的数据缓存到内存的安全世界中,不仅能够加快对数据的访问以及修改,并能够保证数据的安全性;
(3)数据库用户将需要缓存到内存数据库的数据加密;
(4)将步骤(3)加密后的数据缓存到内存的安全世界中;
(5)将加密后的数据从内存数据库中持久化存储到磁盘,或根据设置的时间定期使用解密软件对内存数据库中的加密数据进行解密操作,然后将解密后的数据持久化存储到磁盘,或采用AOF持久化方法,将对该内存数据库写入的命令保存下来以实现持久化。
2.如权利要求1所述的采用TrustZone技术实现内存数据库的方法,其特征在于,步骤(3),数据加密采用MD5算法、SHA1算法、AES算法或RSA算法。
3.如权利要求1所述的采用TrustZone技术实现内存数据库的方法,其特征在于,步骤(4),通过调用安全应用,处于普通世界的应用服务,在经过权限验证后,与安全世界建立连接,然后数据库用户将加密数据通过数据传输总线加载到内存数据库中。
4.如权利要求1所述的采用TrustZone技术实现内存数据库的方法,其特征在于,步骤(5),解密软件使用内存数据库自带的解码API进行解码。
5.如权利要求1所述的采用TrustZone技术实现内存数据库的方法,其特征在于,针对不同的使用需求,给数据库用户设定特定的安全级别,满足安全级别后才能访问内存的安全世界中的数据。
6.如权利要求1所述的采用TrustZone技术实现内存数据库的方法,其特征在于,内存数据库采用关系型数据库,具有增删改查功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200873.2A CN111324910A (zh) | 2020-03-20 | 2020-03-20 | 一种采用TrustZone技术实现内存数据库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200873.2A CN111324910A (zh) | 2020-03-20 | 2020-03-20 | 一种采用TrustZone技术实现内存数据库的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324910A true CN111324910A (zh) | 2020-06-23 |
Family
ID=71173468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010200873.2A Pending CN111324910A (zh) | 2020-03-20 | 2020-03-20 | 一种采用TrustZone技术实现内存数据库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324910A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431993A (zh) * | 2020-03-20 | 2020-07-17 | 山东大学 | 一种基于TrustZone技术实现IoT设备心跳通信的方法 |
CN112241310A (zh) * | 2020-10-21 | 2021-01-19 | 海光信息技术股份有限公司 | 页表管理、信息获取方法、处理器、芯片、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116413A1 (en) * | 2015-10-27 | 2017-04-27 | Blackberry Limited | Executing process monitoring |
CN106899552A (zh) * | 2015-12-21 | 2017-06-27 | 中国电信股份有限公司 | 认证方法,认证终端以及系统 |
CN106992851A (zh) * | 2017-04-01 | 2017-07-28 | 北京元心科技有限公司 | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 |
CN107480210A (zh) * | 2017-07-27 | 2017-12-15 | 北京北信源软件股份有限公司 | 内存数据操作方法及装置 |
CN107609412A (zh) * | 2017-09-19 | 2018-01-19 | 山东大学 | 一种基于TrustZone技术实现移动互联网下移动终端安全存储的方法 |
CN107743133A (zh) * | 2017-11-30 | 2018-02-27 | 中国石油大学(北京) | 移动终端及其基于可信安全环境的访问控制方法和系统 |
CN108985096A (zh) * | 2018-07-13 | 2018-12-11 | 厦门市美亚柏科信息股份有限公司 | 一种Android SQLite数据库安全增强、安全操作方法以及装置 |
CN109359450A (zh) * | 2018-10-29 | 2019-02-19 | 北京猎户星空科技有限公司 | Linux系统的安全访问方法、装置、设备和存储介质 |
CN110675150A (zh) * | 2019-09-24 | 2020-01-10 | 支付宝(杭州)信息技术有限公司 | 基于联盟链的合规管理监督方法和装置 |
-
2020
- 2020-03-20 CN CN202010200873.2A patent/CN111324910A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170116413A1 (en) * | 2015-10-27 | 2017-04-27 | Blackberry Limited | Executing process monitoring |
CN106899552A (zh) * | 2015-12-21 | 2017-06-27 | 中国电信股份有限公司 | 认证方法,认证终端以及系统 |
CN106992851A (zh) * | 2017-04-01 | 2017-07-28 | 北京元心科技有限公司 | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 |
CN107480210A (zh) * | 2017-07-27 | 2017-12-15 | 北京北信源软件股份有限公司 | 内存数据操作方法及装置 |
CN107609412A (zh) * | 2017-09-19 | 2018-01-19 | 山东大学 | 一种基于TrustZone技术实现移动互联网下移动终端安全存储的方法 |
CN107743133A (zh) * | 2017-11-30 | 2018-02-27 | 中国石油大学(北京) | 移动终端及其基于可信安全环境的访问控制方法和系统 |
CN108985096A (zh) * | 2018-07-13 | 2018-12-11 | 厦门市美亚柏科信息股份有限公司 | 一种Android SQLite数据库安全增强、安全操作方法以及装置 |
CN109359450A (zh) * | 2018-10-29 | 2019-02-19 | 北京猎户星空科技有限公司 | Linux系统的安全访问方法、装置、设备和存储介质 |
CN110675150A (zh) * | 2019-09-24 | 2020-01-10 | 支付宝(杭州)信息技术有限公司 | 基于联盟链的合规管理监督方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431993A (zh) * | 2020-03-20 | 2020-07-17 | 山东大学 | 一种基于TrustZone技术实现IoT设备心跳通信的方法 |
CN112241310A (zh) * | 2020-10-21 | 2021-01-19 | 海光信息技术股份有限公司 | 页表管理、信息获取方法、处理器、芯片、设备及介质 |
CN112241310B (zh) * | 2020-10-21 | 2023-01-31 | 海光信息技术股份有限公司 | 页表管理、信息获取方法、处理器、芯片、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3759865B1 (en) | High-throughput data integrity via trusted computing | |
US20190036693A1 (en) | Controlled access to data in a sandboxed environment | |
JP6347831B2 (ja) | ハイパーバイザに制御されるシステムにおいてゲスト・イベントを処理するための方法、データ処理プログラム、コンピュータ・プログラム製品、およびデータ処理システム | |
Gu et al. | Secure live migration of SGX enclaves on untrusted cloud | |
US7293173B2 (en) | Methods and systems for protecting information in paging operating systems | |
CN101783801B (zh) | 一种基于网络的软件保护方法、客户端及服务器 | |
WO2018005403A1 (en) | Controlling verification of key-value stores | |
Borders et al. | Protecting Confidential Data on Personal Computers with Storage Capsules. | |
US8495750B2 (en) | Filesystem management and security system | |
CN102184372B (zh) | 一种基于逆向沙箱的手机支付保护方法 | |
CN109992992B (zh) | 一种可信的敏感数据保护方法及系统 | |
US20180026986A1 (en) | Data loss prevention system and data loss prevention method | |
CN111324910A (zh) | 一种采用TrustZone技术实现内存数据库的方法 | |
US20220405393A1 (en) | Perform verification check in response to change in page table base register | |
Yalew et al. | Hail to the Thief: Protecting data from mobile ransomware with ransomsafedroid | |
CN107516052B (zh) | 一种内存访问隔离方法 | |
Franzen et al. | FridgeLock: Preventing Data Theft on Suspended Linux with Usable Memory Encryption | |
CN114861191B (zh) | 一种嵌入式设备安全启动架构及方法 | |
CN114386064A (zh) | 数据库透明加密方法、装置、计算机设备及存储介质 | |
JP2023154825A (ja) | 分散情報処理システムおよび分散情報処理方法 | |
CN111274167A (zh) | 介质数据的保护方法及系统 | |
CN118114313A (zh) | 基于SoC-FPGA异构架构的ARM TrustZone安全扩展方法及系统 | |
CN116860666A (zh) | 一种gpu内存保护方法、装置、芯片及电子设备 | |
CN116823585A (zh) | Gpu可信执行环境的构建方法、gpu可信计算执行方法及装置 | |
KR20220080126A (ko) | 프로세서에서 하이퍼바이저 보안 이벤트 핸들링 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200623 |