[go: up one dir, main page]

CN112395631B - 基于sgx技术的安全数据库系统、方法及介质 - Google Patents

基于sgx技术的安全数据库系统、方法及介质 Download PDF

Info

Publication number
CN112395631B
CN112395631B CN202011367300.5A CN202011367300A CN112395631B CN 112395631 B CN112395631 B CN 112395631B CN 202011367300 A CN202011367300 A CN 202011367300A CN 112395631 B CN112395631 B CN 112395631B
Authority
CN
China
Prior art keywords
database
client
server
data
sgx
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.)
Active
Application number
CN202011367300.5A
Other languages
English (en)
Other versions
CN112395631A (zh
Inventor
赵皓东
刘功申
张凯旋
熊渊淳
梁力佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiao Tong University
Original Assignee
Shanghai Jiao Tong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiao Tong University filed Critical Shanghai Jiao Tong University
Priority to CN202011367300.5A priority Critical patent/CN112395631B/zh
Publication of CN112395631A publication Critical patent/CN112395631A/zh
Application granted granted Critical
Publication of CN112395631B publication Critical patent/CN112395631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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

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

本发明提供了一种基于SGX技术的安全数据库系统、方法及介质,包括:步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。通过本发明可以确保数据存储的机密性,即便被第三方窃取数据库也无法解密其中的内容。

Description

基于SGX技术的安全数据库系统、方法及介质
技术领域
本发明涉及安全数据库技术领域,具体地,涉及基于SGX技术的安全数据库系统、方法及介质。
背景技术
在向数据库发送请求时,对数据库中内容解密后是一段被攻击的高危期。因此一种研究的方向致力于寻求在不解密数据库中内容的前提下进行查询等操作。其中Cryptdb数据库就是这一思路下的产物。这一思路下面对的主要困难是同态加密的过程需要消耗较多的资源,因此限制了对一些复杂操作的应用。MONOMI将查询分为两部分,分别由客户端和服务器执行。这一思路能够支持22个TPC-H查询中的19个,而CryptDB只能处理4个,推动这一方向又前进了一步。Seabed则提出了加性对称同态加密方案和随机加密方案,以提高大规模聚合效率并防止频率攻击,在安全性上做了改进。
另一个研究方向是保留解密数据的过程,通过利用硬件的安全性来抵抗攻击。TDB,GantDB,GhostDB,TrustedDB和Cipherbase等就是基于这一思路而产生的数据库。TDB是利用利用可信的处理环境保证安全性。然而它对于可信环境的要求过高导致难以取得令人满意的安全性。GantDB和GhostDB则是将一个小型数据库嵌入一个安全的智能卡中,内存占用非常有限且处理单元很弱,其缺点在于应用范围有限,只能适用于嵌入式环境。TrustedDB和Cipherbase分别使用IBM安全协处理器(SCPU)和可信的FPGA硬件作为可信执行环境。在查询中涉及到加密数据时,TrustedDB和Cipherbase的性能受可信硬件的能力以及相互通信时通信成本的限制。
SGX是Intel公司开发的硬件层面的安全技术,其本质是设计了一套CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见,凡是放在安全区内的代码通过专用指令启用,并被构建和加载成Windows动态链接库(DLL)文件。该区域对操作系统、虚拟机,甚至是bios、特权系统代码等较为底层的部件都是隔绝的,从而防范了很多隐患;如图1所示。
SGX是一组x86-64ISA扩展,它可以设置受保护的执行环境(称为安全区Enclave),而不需要信任处理器和用户放置在其包围区内的任何东西,安全区受到处理器的保护,即由处理器直接控制对安全区内存的访问。任何试图从安全区外部读取或写入正在运行安全区存储器的指令都将失败。Enclave缓存行在写入RAM之前经过加密和完整性保护。这有效防范了大量硬件层面的攻击,并将硬件TCB限制为仅处理器模式。软件TCB只是用户决定在其安全区内运行的代码,可以通过类似于callgate的机制从不受信任区域的代码调用安全区内的代码,该机制将控制转移到安全区内的自定义入口点;如图2所示。
Intel SGX可以提供以下方面的保护措施:
(1)安全区内存不可从安全区外读写,无论当前的权限是何种级别,CPU处于何种模式。
(2)产品安全区不能通过软件或硬件调试器来调试
(3)安全区环境不能通过传统函数调用、转移、注册操作或堆栈操作进入。
(4)安全区内存采用具有回放保护功能的行业标准加密算法进行加密。访问内存将DRAM模块连接至另一系统只会产生加密数据。
(5)内存加密密钥会随着电源周期随机更改。该密钥存储在CPU中且不可访问。
在多安全区通信方面,SGX技术可以实现本地的一个安全区向另一个安全区证明它具有特定摘要并且彼此在同一处理器上运行。这个机制可用于在本地区域之间建立经过身份验证的共享密钥。此外,SGX技术还支持认证远程的安全区,这使得远程系统能够以加密方式验证特定软件是否已在安全区域区内加载,并建立共享密钥,允许彼此使用安全区引导的端到端加密信道。
借助Intel的SGX技术,通过CPU的硬件模式切换,系统将部分资源放入可信模式执行,只使用必需的硬件构成一个完全隔离的特权模式,在完成身份认证后构建Enclave区域,具体实现方案为:
(1)将需要运行的虚拟机镜像加载到磁盘中。
(2)生成加密应用程序代码和数据的密钥凭证,SGX技术提供了一种较为先进的密钥加密方法,其密钥由SGX版本密钥、CPU机器密钥和Intel官方分配给用户的密钥在密钥生成算法下生成的全新密钥,使用此密钥对需要加载的应用程序的代码和数据进行加密。
(3)将需要加载的应用程序或镜像的代码和数据首先加载到SGX Loader加载器中,为将其加载至Enclave做准备。
(4)在Intel SGX可信模式下动态申请构建一个Enclave。
(5)将需要加载的程序和数据以EPC(Enclave Page Cache)的形式首先通过密钥凭证解密。
(6)通过SGX指令证明解密后的程序和数据可信,并将其加载进Enclave中,然后对加载进Enclave中的每个EPC内容进行复制。
(7)由于使用了硬件隔离,进一步保障Enclave的机密性和完整性,保障了不同的Enclave之间不会发生冲突更不会允许其互相访问。
(8)启动Enclave初始化程序,禁止继续加载和验证EPC,生成Enclave身份凭证,并对此凭证进行加密,并作为Enclave标示存入Enclave的TCS中,用以恢复和验证其身份。
(9)SGX的隔离完成,通过硬件隔离的Enclave中的镜像程序开始执行,构建基于SGX技术的硬件隔离完成。
专利文献CN109150517A(申请号:201811029803.4)公开了一种基于SGX的密钥安全管理系统及方法,包括客户端与密钥管理服务器,基于SGX技术进行客户端与密钥管理服务器的双向身份验证,确保双方在运行环境及数据安全可信的条件下进行密钥的存储与处理,且密钥的存储、管理、加解密处理等过程均在enclave内存区中进行,可有效抵御内存攻击,保证密钥的安全性;进一步通过配置密钥分级管理策略和密钥访问控制策略,提高对多个客户端进行密钥管理的灵活性和有效性,增强密钥的保护强度。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于SGX技术的安全数据库方法、系统及介质。
根据本发明提供的一种基于SGX技术的安全数据库方法,包括:
步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;
步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。
优选地,所述步骤M1包括:
步骤M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;
步骤M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;
步骤M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;
步骤M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;
步骤M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;
步骤M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。
优选地,所述步骤M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。
优选地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。
根据本发明提供的一种基于SGX技术的安全数据库系统,包括:
模块M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;
模块M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。
优选地,所述模块M1包括:
模块M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;
模块M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;
模块M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;
模块M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;
模块M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;
模块M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。
优选地,所述模块M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。
优选地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、通信安全性:本发明采取模拟应用软件的方式向数据库服务器发出请求,获取数据。在过程中利用抓包工具监听整个过程,在不同的环节测试其保密性。从抓包结果来看,所有的传输过程都是密文的,因此通信过程的安全性可以保证,并且本次测试时通过过滤SSL协议的方法,准确抓到了通信时SSL建立的过程,可以看到本作品的确使用了加密通信;
2、内存安全性:用Linux下的逆向工具EDB对普通SQLite查询数据库的过程进行动态调试,在堆栈去可以看到数据库中的信息,包括查询操作、查询结果。而对经过SGX安全保护的SQLite数据库,我们只能看到安全区以外的内容,安全区中的密钥、指令、查询的结果在加密后都难以破解;
3、存储安全性:相比于普通的数据库,安全SQLite数据库可以很好地杜绝最常见的拖库攻击。当数据库访问结束,Enclave区域要被系统收回时,系统会将所有数据库信息用硬件密钥加密,密封存储至本地磁盘,同时将Enclave内所有数据和记录都清除。存储在本地的数据库加密密钥只有在本机有效,因此能够有效对抗远程的攻击。被封存的数据只有再次开启Enclave区域才能被解密读取,此时数据库中的内容再次置于Enclave的保护之下,对外不可见。通过这样的方式,可以确保数据存储的机密性,即便被第三方窃取数据库也无法解密其中的内容。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为是否使用Intel SGX技术的攻击层面;
图2为安全区的虚拟内存空间;
图3为系统总框架;
图4为远程认证示意图;
图5为密封迁移示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种基于SGX技术的安全数据库方法,包括:
步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;
步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。
具体地,所述步骤M1包括:
步骤M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;
步骤M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;
步骤M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;
步骤M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;
步骤M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;
步骤M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。
具体地,所述步骤M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。
具体地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。
根据本发明提供的一种基于SGX技术的安全数据库系统,如图1-5所示,包括:
模块M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;
模块M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。
具体地,所述模块M1包括:
模块M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;
模块M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;
模块M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;
模块M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;
模块M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;
模块M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。
具体地,所述模块M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。
具体地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
实施例2
实施例2是实施例1的变化例
本发明要解决的技术问题是传统数据库在查询过程中安全性问题。
数据处理系统在查询处理期间会解密内存中的敏感数据,从而使得这一环节成为数据保护的短板环节。基于这一思想,数据库面临着一些非传统的威胁:例如当数据库在不受信任的主机中运行,内存空间变得不可信;当操作系统或管理程序遭到攻击时,攻击者可以绕过数据库管理系统本身对敏感数据的保护;当遭遇恶意的管理员时,攻击者拥有对数据库操作的权限,可随意获取、篡改数据。以上三者的共同点都是数据库数据和操作都在不够可信的环境下进行,一旦系统层面遭受攻击,安全性就无法保障。由于操作系统在数据库系统中,与DBMS交互并协助控制管理数据库,因此如何在一个恶意环境下仍然保持数据库内重要数据的安全成为一个有价值的研究方向。
本文提出的基于SGX技术的安全数据库,旨在利用基于硬件的可信计算技术,其本质是设计了一套CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见,为数据库在不可信环境下的运行提供安全保护。
如图3所示,SGX程序设计需要对数据库服务器的软件架构重新划分,整个软件需要被划分为2个逻辑部分:可信部分和不可信部分。可信部分用于执行远程连接、数据库初始化、SQL语句执行、数据库关闭和数据库密封迁移等操作;不可信部分则负责其余不涉及敏感操作的部分。可信部分的代码段和数据段位于EPC中,受到SGX的保护,而不可信部分的代码段和数据段则位于常规未加密内存中。
系统的基本思路是将与数据库操作相关的关键模块(远程连接,数据库创建与插入、查询等)放到安全隔离的Enclave中并将相关的数据加密密钥等隐私数据绑定至Enclave相关硬件。基于Enclave的操作是绝对安全的,即使系统内部被恶意攻击或篡改,也可以保证上述安全区内的操作安全隔离,防止密钥等隐私信息被窃取。
具体实施模块有:
基于SGX的远程认证
在客户端与服务器端的数据库建立连接之前,通信双方应确认对方平台是可靠的。虽然客户端与服务器之间的通信通道可能已加密,但是无法保证客户机未受恶意软件入侵。如果存在这些漏洞,将敏感数据交给客户机处理会带来潜在风险。因此,不仅要保证服务器端的机密性,同样也要提升客户端的信任级别。
使用远程认证流程,客户端安全区可以验证可信的远程实体,并与该实体建立一个经过认证的通信通道。作为认证的一部分,客户端的安全区证明:它的身份;它未被篡改;它在一个正版平台上运行,并且启用了英特尔SGX。此时,远程服务器可以安全地向服务器端传输数据。其过程如图4所示。
数据密封迁移
如图5所示,密封迁移是指对数据库数据进行加密,以便在不泄露其内容的前提下将数据写至不可信区域进行存储。当安全区再次被开启后可将数据读回并解密。为了保证密钥的唯一性,这里的加密密钥由安全区内部按需推导,不会暴露给安全区外。
提供密封迁移主要是用于保存静态数据,当服务器没有连接请求或者需要关闭维护的时候,通过SGX数据密封迁移将数据库文件从内存迁移至磁盘中,以密文形式存储。由于密钥由软件和硬件共同生成,外界攻击者很难获取,即便窃取存储的硬盘信息,也无法解密,从而有效预防了拖库风险。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (5)

1.一种基于SGX技术的安全数据库方法,其特征在于,包括:基于CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见;
SGX程序设计需要对数据库服务器的软件架构重新划分,包括可信部分和不可信部分;所述可信部分包括用于执行远程连接、数据库初始化、SQL语句执行、数据库关闭和数据库密封迁移;所述可信部分的代码段和数据段位于EPC中,受到SGX的保护;
步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;
步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储;
所述步骤M1包括:
步骤M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;
步骤M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;
步骤M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;
步骤M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;
步骤M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;
步骤M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接;
所述步骤M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密;
在通信过程中利用抓包工具监听通信过程,在不同的环节测试保密性;从抓包结果查看所有的传输过程都是密文的,确保通信过程的安全性,并且在测试时通过过滤SSL协议的方法,准确抓到通信时SSL建立的过程;
当数据库访问结束,Enclave区域要被系统收回时,系统会将所有数据库信息用硬件密钥加密,密封存储至本地磁盘,同时将Enclave内所有数据和记录都清除;存储在本地的数据库加密密钥只有在本机有效,因此能够有效对抗远程的攻击;被封存的数据只有再次开启Enclave区域才能被解密读取,此时数据库中的内容再次置于Enclave的保护之下,对外不可见。
2.根据权利要求1所述的基于SGX技术的安全数据库方法,其特征在于,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。
3.一种基于SGX技术的安全数据库系统,其特征在于,包括:
基于CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见;
SGX程序设计需要对数据库服务器的软件架构重新划分,包括可信部分和不可信部分;所述可信部分包括用于执行远程连接、数据库初始化、SQL语句执行、数据库关闭和数据库密封迁移;所述可信部分的代码段和数据段位于EPC中,受到SGX的保护;
模块M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;
模块M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储;
所述模块M1包括:
模块M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;
模块M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;
模块M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;
模块M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;
模块M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;
模块M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接;
所述模块M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密;
在通信过程中利用抓包工具监听通信过程,在不同的环节测试保密性;从抓包结果查看所有的传输过程都是密文的,确保通信过程的安全性,并且在测试时通过过滤SSL协议的方法,准确抓到通信时SSL建立的过程;
当数据库访问结束,Enclave区域要被系统收回时,系统会将所有数据库信息用硬件密钥加密,密封存储至本地磁盘,同时将Enclave内所有数据和记录都清除;存储在本地的数据库加密密钥只有在本机有效,因此能够有效对抗远程的攻击;被封存的数据只有再次开启Enclave区域才能被解密读取,此时数据库中的内容再次置于Enclave的保护之下,对外不可见。
4.根据权利要求3所述的基于SGX技术的安全数据库系统,其特征在于,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。
5.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至2中任一项所述的方法的步骤。
CN202011367300.5A 2020-11-27 2020-11-27 基于sgx技术的安全数据库系统、方法及介质 Active CN112395631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011367300.5A CN112395631B (zh) 2020-11-27 2020-11-27 基于sgx技术的安全数据库系统、方法及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011367300.5A CN112395631B (zh) 2020-11-27 2020-11-27 基于sgx技术的安全数据库系统、方法及介质

Publications (2)

Publication Number Publication Date
CN112395631A CN112395631A (zh) 2021-02-23
CN112395631B true CN112395631B (zh) 2022-09-20

Family

ID=74605537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011367300.5A Active CN112395631B (zh) 2020-11-27 2020-11-27 基于sgx技术的安全数据库系统、方法及介质

Country Status (1)

Country Link
CN (1) CN112395631B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672973B (zh) * 2021-07-20 2024-04-16 深圳大学 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统
CN114547656A (zh) * 2022-02-26 2022-05-27 北京工业大学 一种云环境下基于Intel SGX的两阶段远程证明方法
CN115270134B (zh) * 2022-07-18 2023-04-18 京信数据科技有限公司 一种基于fpga可信执行环境的计算方法及系统
CN117997656B (zh) * 2024-04-03 2024-06-21 浙江大学 一种工控数据全生命周期安全管控系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306740A (zh) * 2018-01-22 2018-07-20 华中科技大学 一种Intel SGX状态一致保护方法和系统
CN108418691A (zh) * 2018-03-08 2018-08-17 湖南大学 基于sgx的动态网络身份认证方法
CN109361668A (zh) * 2018-10-18 2019-02-19 国网浙江省电力有限公司 一种数据可信传输方法
CN109756492A (zh) * 2018-12-28 2019-05-14 中国人民解放军战略支援部队信息工程大学 基于sgx的云平台可信执行方法、装置、设备及介质
WO2019168557A1 (en) * 2018-02-27 2019-09-06 Visa International Service Association High-throughput data integrity via trusted computing
CN111368297A (zh) * 2020-02-02 2020-07-03 西安电子科技大学 隐私保护移动恶意软件检测方法、系统、存储介质及应用
CN111475782A (zh) * 2020-04-08 2020-07-31 浙江大学 基于sgx软件扩展指令的api密钥保护方法及系统
CN111611620A (zh) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 一种访问平台的访问请求处理方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180241572A1 (en) * 2017-02-22 2018-08-23 Intel Corporation Techniques for remote sgx enclave authentication

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306740A (zh) * 2018-01-22 2018-07-20 华中科技大学 一种Intel SGX状态一致保护方法和系统
WO2019168557A1 (en) * 2018-02-27 2019-09-06 Visa International Service Association High-throughput data integrity via trusted computing
CN108418691A (zh) * 2018-03-08 2018-08-17 湖南大学 基于sgx的动态网络身份认证方法
CN109361668A (zh) * 2018-10-18 2019-02-19 国网浙江省电力有限公司 一种数据可信传输方法
CN109756492A (zh) * 2018-12-28 2019-05-14 中国人民解放军战略支援部队信息工程大学 基于sgx的云平台可信执行方法、装置、设备及介质
CN111368297A (zh) * 2020-02-02 2020-07-03 西安电子科技大学 隐私保护移动恶意软件检测方法、系统、存储介质及应用
CN111475782A (zh) * 2020-04-08 2020-07-31 浙江大学 基于sgx软件扩展指令的api密钥保护方法及系统
CN111611620A (zh) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 一种访问平台的访问请求处理方法及相关装置

Also Published As

Publication number Publication date
CN112395631A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN112395631B (zh) 基于sgx技术的安全数据库系统、方法及介质
US10922441B2 (en) Device and method for data security with a trusted execution environment
CN113014539B (zh) 一种物联网设备安全保护系统及方法
US6976167B2 (en) Cryptography-based tamper-resistant software design mechanism
US9177164B2 (en) System and method for a parallel world of security for non secure environments
CN105260663A (zh) 一种基于TrustZone技术的安全存储服务系统及方法
CN104618096B (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US10083128B2 (en) Generating memory dumps
Bella et al. A study of security threats and attacks in cloud computing
CN104573549A (zh) 一种可信的数据库机密性保护方法及系统
Chen et al. Daonity–grid security from two levels of virtualization
US20230297697A1 (en) Enclave Fork Support
Brekalo et al. Mitigating password database breaches with Intel SGX
CN110837634A (zh) 基于硬件加密机的电子签章方法
Junghanns et al. Engineering of secure multi-cloud storage
CN114520735B (zh) 一种基于可信执行环境的用户身份鉴定方法、系统及介质
CN1819590A (zh) 一种用于计算机电子文档的加密方法
RU2573785C2 (ru) Система и способ применения правил доступа к файлам при их передаче между компьютерами
CN111523129A (zh) 一种基于tpm的数据泄漏防护方法
Sharma Transcrypt: Design of a secure and transparent encrypting file system
Sharma et al. Transcrypt: A secure and transparent encrypting file system for enterprises
US12197592B2 (en) Zero-trust cloud development
Zeng Application of Data Encryption Technology in Computer Network Security
CN112784321B (zh) 磁盘资安系统
Angayarkanni et al. Security Analysis on Full Disc Encryption

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
GR01 Patent grant
GR01 Patent grant