[go: up one dir, main page]

CN112395631B - Secure database system, method and medium based on SGX technology - Google Patents

Secure database system, method and medium based on SGX technology 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
Chinese (zh)
Other versions
CN112395631A (en
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/en
Publication of CN112395631A publication Critical patent/CN112395631A/en
Application granted granted Critical
Publication of CN112395631B publication Critical patent/CN112395631B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

The invention provides a security database system, a method and a medium based on an SGX technology, comprising the following steps: step M1: based on the SGX technology, a server side verifies that a client side is a credible remote entity through a remote authentication server, an authenticated communication channel is established between the server side and the client side, and the client side can safely transmit data to the server side; step M2: when the server does not accept the connection request or needs to close maintenance, the data of the client is migrated in a sealed mode through the SGX technology, and the database file is stored in a ciphertext mode. The invention can ensure the confidentiality of data storage, and the content in the data storage cannot be decrypted even if the database is stolen by a third party.

Description

基于SGX技术的安全数据库系统、方法及介质Security database system, method and medium based on SGX technology

技术领域technical field

本发明涉及安全数据库技术领域,具体地,涉及基于SGX技术的安全数据库系统、方法及介质。The present invention relates to the technical field of secure databases, in particular to a secure database system, method and medium based on SGX technology.

背景技术Background technique

在向数据库发送请求时,对数据库中内容解密后是一段被攻击的高危期。因此一种研究的方向致力于寻求在不解密数据库中内容的前提下进行查询等操作。其中Cryptdb数据库就是这一思路下的产物。这一思路下面对的主要困难是同态加密的过程需要消耗较多的资源,因此限制了对一些复杂操作的应用。MONOMI将查询分为两部分,分别由客户端和服务器执行。这一思路能够支持22个TPC-H查询中的19个,而CryptDB只能处理4个,推动这一方向又前进了一步。Seabed则提出了加性对称同态加密方案和随机加密方案,以提高大规模聚合效率并防止频率攻击,在安全性上做了改进。When a request is sent to the database, after decrypting the content in the database, there is a period of high risk of being attacked. Therefore, a research direction is devoted to seeking operations such as querying without decrypting the contents of the database. The Cryptdb database is the product of this idea. The main difficulty faced by this idea is that the process of homomorphic encryption consumes more resources, thus limiting the application of some complex operations. MONOMI divides the query into two parts, which are executed by the client and the server. This idea is able to support 19 of the 22 TPC-H queries, while CryptDB can only handle 4, taking it one step further in this direction. Seabed proposed an additive symmetric homomorphic encryption scheme and a random encryption scheme to improve the efficiency of large-scale aggregation and prevent frequent attacks, and made improvements in security.

另一个研究方向是保留解密数据的过程,通过利用硬件的安全性来抵抗攻击。TDB,GantDB,GhostDB,TrustedDB和Cipherbase等就是基于这一思路而产生的数据库。TDB是利用利用可信的处理环境保证安全性。然而它对于可信环境的要求过高导致难以取得令人满意的安全性。GantDB和GhostDB则是将一个小型数据库嵌入一个安全的智能卡中,内存占用非常有限且处理单元很弱,其缺点在于应用范围有限,只能适用于嵌入式环境。TrustedDB和Cipherbase分别使用IBM安全协处理器(SCPU)和可信的FPGA硬件作为可信执行环境。在查询中涉及到加密数据时,TrustedDB和Cipherbase的性能受可信硬件的能力以及相互通信时通信成本的限制。Another research direction is to preserve the process of decrypting data to resist attacks by exploiting the security of hardware. TDB, GantDB, GhostDB, TrustedDB and Cipherbase are all databases based on this idea. TDB utilizes a trusted processing environment to ensure security. However, its requirements for a trusted environment are too high, which makes it difficult to achieve satisfactory security. GantDB and GhostDB embed a small database into a secure smart card, with very limited memory footprint and weak processing units. The disadvantage is that the application scope is limited and can only be used in embedded environments. TrustedDB and Cipherbase use IBM Secure Coprocessor (SCPU) and trusted FPGA hardware as trusted execution environments, respectively. When encrypted data is involved in queries, the performance of TrustedDB and Cipherbase is limited by the capabilities of trusted hardware and the cost of communication when communicating with each other.

SGX是Intel公司开发的硬件层面的安全技术,其本质是设计了一套CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见,凡是放在安全区内的代码通过专用指令启用,并被构建和加载成Windows动态链接库(DLL)文件。该区域对操作系统、虚拟机,甚至是bios、特权系统代码等较为底层的部件都是隔绝的,从而防范了很多隐患;如图1所示。SGX is a hardware-level security technology developed by Intel. Its essence is to design a set of CPU instructions and use hardware to create a trusted security zone. The relevant data and instructions run in the security zone and are completely invisible to users at the operating system level. , any code placed in the enclave is enabled through dedicated instructions, and is built and loaded as a Windows Dynamic Link Library (DLL) file. This area is isolated from the operating system, virtual machine, and even lower-level components such as bios and privileged system code, thus preventing many hidden dangers; as shown in Figure 1.

SGX是一组x86-64ISA扩展,它可以设置受保护的执行环境(称为安全区Enclave),而不需要信任处理器和用户放置在其包围区内的任何东西,安全区受到处理器的保护,即由处理器直接控制对安全区内存的访问。任何试图从安全区外部读取或写入正在运行安全区存储器的指令都将失败。Enclave缓存行在写入RAM之前经过加密和完整性保护。这有效防范了大量硬件层面的攻击,并将硬件TCB限制为仅处理器模式。软件TCB只是用户决定在其安全区内运行的代码,可以通过类似于callgate的机制从不受信任区域的代码调用安全区内的代码,该机制将控制转移到安全区内的自定义入口点;如图2所示。SGX is a set of x86-64 ISA extensions that can set up a protected execution environment (called an enclave) without trusting the processor and anything the user places in its enclave, the enclave is protected by the processor , that is, the processor directly controls access to the memory of the secure area. Any instruction that attempts to read from or write to the memory of the running enclave from outside the enclave will fail. Enclave cache lines are encrypted and integrity protected before being written to RAM. This effectively prevents a large number of hardware-level attacks and restricts the hardware TCB to processor-only mode. A software TCB is just code that the user decides to run in its enclave, and can call code in the enclave from code in an untrusted zone through a mechanism similar to callgate, which transfers control to a custom entry point in the enclave; as shown in picture 2.

Intel SGX可以提供以下方面的保护措施:Intel SGX can provide protections in the following areas:

(1)安全区内存不可从安全区外读写,无论当前的权限是何种级别,CPU处于何种模式。(1) The memory of the security area cannot be read or written from outside the security area, no matter what level of the current permission is, and what mode the CPU is in.

(2)产品安全区不能通过软件或硬件调试器来调试(2) The product security area cannot be debugged by software or hardware debugger

(3)安全区环境不能通过传统函数调用、转移、注册操作或堆栈操作进入。(3) The security zone environment cannot be entered through traditional function calls, transfers, registration operations or stack operations.

(4)安全区内存采用具有回放保护功能的行业标准加密算法进行加密。访问内存将DRAM模块连接至另一系统只会产生加密数据。(4) The memory of the safe area is encrypted by the industry standard encryption algorithm with playback protection function. Accessing memory to connect a DRAM module to another system only results in encrypted data.

(5)内存加密密钥会随着电源周期随机更改。该密钥存储在CPU中且不可访问。(5) The memory encryption key changes randomly with the power cycle. This key is stored in the CPU and not accessible.

在多安全区通信方面,SGX技术可以实现本地的一个安全区向另一个安全区证明它具有特定摘要并且彼此在同一处理器上运行。这个机制可用于在本地区域之间建立经过身份验证的共享密钥。此外,SGX技术还支持认证远程的安全区,这使得远程系统能够以加密方式验证特定软件是否已在安全区域区内加载,并建立共享密钥,允许彼此使用安全区引导的端到端加密信道。In terms of multi-enclave communication, SGX technology enables one enclave locally to prove to another that it has a specific digest and is running on the same processor as each other. This mechanism can be used to establish an authenticated shared secret between local zones. In addition, SGX technology supports authenticated remote enclaves, which enables remote systems to cryptographically verify that specific software has been loaded in the enclave, and establish a shared key that allows each other to use an enclave-guided end-to-end encrypted channel .

借助Intel的SGX技术,通过CPU的硬件模式切换,系统将部分资源放入可信模式执行,只使用必需的硬件构成一个完全隔离的特权模式,在完成身份认证后构建Enclave区域,具体实现方案为:With the help of Intel's SGX technology, through the hardware mode switching of the CPU, the system puts some resources into the trusted mode for execution, and only uses the necessary hardware to form a completely isolated privileged mode. After completing the identity authentication, the Enclave area is constructed. The specific implementation scheme is as follows :

(1)将需要运行的虚拟机镜像加载到磁盘中。(1) Load the virtual machine image to be run into the disk.

(2)生成加密应用程序代码和数据的密钥凭证,SGX技术提供了一种较为先进的密钥加密方法,其密钥由SGX版本密钥、CPU机器密钥和Intel官方分配给用户的密钥在密钥生成算法下生成的全新密钥,使用此密钥对需要加载的应用程序的代码和数据进行加密。(2) Generate key credentials for encrypting application code and data. SGX technology provides a more advanced key encryption method. Key A brand new key generated under the key generation algorithm, which is used to encrypt the code and data of the application that needs to be loaded.

(3)将需要加载的应用程序或镜像的代码和数据首先加载到SGX Loader加载器中,为将其加载至Enclave做准备。(3) First load the code and data of the application or image to be loaded into the SGX Loader to prepare for loading it into the Enclave.

(4)在Intel SGX可信模式下动态申请构建一个Enclave。(4) Dynamically apply to build an Enclave in Intel SGX trusted mode.

(5)将需要加载的程序和数据以EPC(Enclave Page Cache)的形式首先通过密钥凭证解密。(5) Decrypt the program and data to be loaded in the form of EPC (Enclave Page Cache) through the key certificate first.

(6)通过SGX指令证明解密后的程序和数据可信,并将其加载进Enclave中,然后对加载进Enclave中的每个EPC内容进行复制。(6) Prove that the decrypted program and data are credible through the SGX instruction, load it into the Enclave, and then copy each EPC content loaded into the Enclave.

(7)由于使用了硬件隔离,进一步保障Enclave的机密性和完整性,保障了不同的Enclave之间不会发生冲突更不会允许其互相访问。(7) Due to the use of hardware isolation, the confidentiality and integrity of the Enclave are further guaranteed, and it is ensured that there will be no conflict between different Enclaves and will not allow them to access each other.

(8)启动Enclave初始化程序,禁止继续加载和验证EPC,生成Enclave身份凭证,并对此凭证进行加密,并作为Enclave标示存入Enclave的TCS中,用以恢复和验证其身份。(8) Start the Enclave initialization program, prohibit continuing to load and verify the EPC, generate the Enclave identity certificate, encrypt the certificate, and store it in the TCS of the Enclave as the Enclave mark to restore and verify its identity.

(9)SGX的隔离完成,通过硬件隔离的Enclave中的镜像程序开始执行,构建基于SGX技术的硬件隔离完成。(9) The isolation of SGX is completed, and the mirror program in the hardware-isolated Enclave starts to execute, and the construction of hardware isolation based on SGX technology is completed.

专利文献CN109150517A(申请号:201811029803.4)公开了一种基于SGX的密钥安全管理系统及方法,包括客户端与密钥管理服务器,基于SGX技术进行客户端与密钥管理服务器的双向身份验证,确保双方在运行环境及数据安全可信的条件下进行密钥的存储与处理,且密钥的存储、管理、加解密处理等过程均在enclave内存区中进行,可有效抵御内存攻击,保证密钥的安全性;进一步通过配置密钥分级管理策略和密钥访问控制策略,提高对多个客户端进行密钥管理的灵活性和有效性,增强密钥的保护强度。Patent document CN109150517A (application number: 201811029803.4) discloses a key security management system and method based on SGX, including a client and a key management server, and based on SGX technology, the two-way authentication between the client and the key management server is performed to ensure Both parties store and process keys under the conditions of safe and reliable operating environment and data, and key storage, management, encryption and decryption processing are all carried out in the enclave memory area, which can effectively resist memory attacks and ensure the key It further improves the flexibility and effectiveness of key management for multiple clients and enhances the protection strength of keys by configuring key hierarchical management policies and key access control policies.

发明内容SUMMARY OF THE INVENTION

针对现有技术中的缺陷,本发明的目的是提供一种基于SGX技术的安全数据库方法、系统及介质。In view of the defects in the prior art, the purpose of the present invention is to provide a security database method, system and medium based on SGX technology.

根据本发明提供的一种基于SGX技术的安全数据库方法,包括:A kind of security database method based on SGX technology provided according to the present invention, comprises:

步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;Step M1: Based on the SGX technology, the server verifies that the client is a trusted remote entity through the remote authentication server, establishes an authenticated communication channel between the server and the client, and the client can securely transmit data to the server;

步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。Step M2: When the server does not accept the connection request or needs to be closed for maintenance, the data of the client is sealed and migrated through SGX technology, and the database file is stored in the form of cipher text.

优选地,所述步骤M1包括:Preferably, the step M1 includes:

步骤M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;Step M1.1: The client sends its own SGX information digest and the generated unique asymmetric key to the remote authentication server;

步骤M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;Step M1.2: The remote authentication server backs up the received information, makes a judgment on security, and feeds it back to the client;

步骤M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;Step M1.3: The client sends its own hardware information to the server, requesting to initiate a connection;

步骤M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;Step M1.4: the server forwards the received hardware information of the client to the remote authentication server to verify the identity of the client;

步骤M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;Step M1.5: the remote authentication server compares the received information with the stored backup information, determines whether it is credible, and sends feedback to the server;

步骤M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。Step M1.6: After receiving the authentication from the remote authentication server, the server accepts the request of the client and establishes a connection.

优选地,所述步骤M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。Preferably, the step M2 includes: encrypting the data of the client database, and writing the data to an untrusted area for storage without revealing the database data; reading back and decrypting the data when the security area is opened again .

优选地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。Preferably, the encrypting the data of the client database includes: the encryption key is deduced in the security zone according to software and hardware information.

根据本发明提供的一种基于SGX技术的安全数据库系统,包括:A kind of security database system based on SGX technology provided according to the present invention, comprises:

模块M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;Module M1: Based on SGX technology, the server verifies that the client is a trusted remote entity through the remote authentication server, establishes an authenticated communication channel between the server and the client, and the client can securely transmit data to the server;

模块M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。Module M2: When the server does not accept the connection request or needs to be closed for maintenance, the data of the client is sealed and migrated through SGX technology, and the database file is stored in the form of cipher text.

优选地,所述模块M1包括:Preferably, the module M1 includes:

模块M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;Module M1.1: The client sends its own SGX information digest and the generated unique asymmetric key to the remote authentication server;

模块M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;Module M1.2: The remote authentication server backs up the received information and judges the security, and feeds it back to the client;

模块M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;Module M1.3: The client sends its own hardware information to the server and requests to initiate a connection;

模块M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;Module M1.4: The server forwards the received hardware information of the client to the remote authentication server to verify the identity of the client;

模块M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;Module M1.5: The remote authentication server compares the received information with the stored backup information, judges whether it is credible, and sends feedback to the server;

模块M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。Module M1.6: After the server receives the authentication from the remote authentication server, it accepts the client's request and establishes a connection.

优选地,所述模块M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。Preferably, the module M2 includes: encrypting the data of the client database, and writing the data to an untrusted area for storage without revealing the database data; reading back and decrypting the data when the security area is opened again .

优选地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。Preferably, the encrypting the data of the client database includes: the encryption key is deduced in the security zone according to software and hardware information.

根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。According to a computer-readable storage medium storing a computer program provided by the present invention, when the computer program is executed by a processor, the steps of any one of the methods described above are implemented.

与现有技术相比,本发明具有如下的有益效果:Compared with the prior art, the present invention has the following beneficial effects:

1、通信安全性:本发明采取模拟应用软件的方式向数据库服务器发出请求,获取数据。在过程中利用抓包工具监听整个过程,在不同的环节测试其保密性。从抓包结果来看,所有的传输过程都是密文的,因此通信过程的安全性可以保证,并且本次测试时通过过滤SSL协议的方法,准确抓到了通信时SSL建立的过程,可以看到本作品的确使用了加密通信;1. Communication security: The present invention sends a request to the database server to obtain data by simulating application software. In the process, the packet capture tool is used to monitor the whole process, and its confidentiality is tested in different links. From the packet capture results, all transmission processes are in ciphertext, so the security of the communication process can be guaranteed. In this test, by filtering the SSL protocol, the process of establishing SSL during communication can be accurately captured. You can see to this work does use encrypted communications;

2、内存安全性:用Linux下的逆向工具EDB对普通SQLite查询数据库的过程进行动态调试,在堆栈去可以看到数据库中的信息,包括查询操作、查询结果。而对经过SGX安全保护的SQLite数据库,我们只能看到安全区以外的内容,安全区中的密钥、指令、查询的结果在加密后都难以破解;2. Memory security: Use the reverse tool EDB under Linux to dynamically debug the process of querying the database with ordinary SQLite, and you can see the information in the database in the stack, including query operations and query results. For the SQLite database protected by SGX security, we can only see the content outside the security zone, and the keys, instructions, and query results in the security zone are difficult to crack after encryption;

3、存储安全性:相比于普通的数据库,安全SQLite数据库可以很好地杜绝最常见的拖库攻击。当数据库访问结束,Enclave区域要被系统收回时,系统会将所有数据库信息用硬件密钥加密,密封存储至本地磁盘,同时将Enclave内所有数据和记录都清除。存储在本地的数据库加密密钥只有在本机有效,因此能够有效对抗远程的攻击。被封存的数据只有再次开启Enclave区域才能被解密读取,此时数据库中的内容再次置于Enclave的保护之下,对外不可见。通过这样的方式,可以确保数据存储的机密性,即便被第三方窃取数据库也无法解密其中的内容。3. Storage security: Compared with ordinary databases, secure SQLite databases can well prevent the most common dragging attacks. When the database access ends and the Enclave area is to be reclaimed by the system, the system encrypts all database information with a hardware key, seals it to the local disk, and clears all data and records in the Enclave. The database encryption key stored locally is only valid locally, so it can effectively resist remote attacks. The sealed data can be decrypted and read only when the Enclave area is opened again. At this time, the content in the database is placed under the protection of the Enclave again and is invisible to the outside world. In this way, the confidentiality of data storage can be ensured, even if the database is stolen by a third party, its contents cannot be decrypted.

附图说明Description of drawings

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:Other features, objects and advantages of the present invention will become more apparent by reading the detailed description of non-limiting embodiments with reference to the following drawings:

图1为是否使用Intel SGX技术的攻击层面;Figure 1 shows the attack level of whether to use Intel SGX technology;

图2为安全区的虚拟内存空间;Figure 2 is the virtual memory space of the safe area;

图3为系统总框架;Figure 3 is the overall framework of the system;

图4为远程认证示意图;Figure 4 is a schematic diagram of remote authentication;

图5为密封迁移示意图。Figure 5 is a schematic diagram of seal migration.

具体实施方式Detailed ways

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。The present invention will be described in detail below with reference to specific embodiments. The following examples will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that, for those skilled in the art, several changes and improvements can be made without departing from the inventive concept. These all belong to the protection scope of the present invention.

实施例1Example 1

根据本发明提供的一种基于SGX技术的安全数据库方法,包括:A kind of security database method based on SGX technology provided according to the present invention, comprises:

步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;Step M1: Based on the SGX technology, the server verifies that the client is a trusted remote entity through the remote authentication server, establishes an authenticated communication channel between the server and the client, and the client can securely transmit data to the server;

步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。Step M2: When the server does not accept the connection request or needs to be closed for maintenance, the data of the client is sealed and migrated through SGX technology, and the database file is stored in the form of cipher text.

具体地,所述步骤M1包括:Specifically, the step M1 includes:

步骤M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;Step M1.1: The client sends its own SGX information digest and the generated unique asymmetric key to the remote authentication server;

步骤M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;Step M1.2: The remote authentication server backs up the received information, makes a judgment on security, and feeds it back to the client;

步骤M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;Step M1.3: The client sends its own hardware information to the server, requesting to initiate a connection;

步骤M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;Step M1.4: the server forwards the received hardware information of the client to the remote authentication server to verify the identity of the client;

步骤M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;Step M1.5: the remote authentication server compares the received information with the stored backup information, determines whether it is credible, and sends feedback to the server;

步骤M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。Step M1.6: After receiving the authentication from the remote authentication server, the server accepts the request of the client and establishes a connection.

具体地,所述步骤M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。Specifically, the step M2 includes: encrypting the data of the client database, and writing the data to an untrusted area for storage without revealing the database data; reading back and decrypting the data when the security area is opened again .

具体地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。Specifically, the encrypting the data of the client database includes: the encryption key is deduced in the security zone according to software and hardware information.

根据本发明提供的一种基于SGX技术的安全数据库系统,如图1-5所示,包括:A security database system based on SGX technology provided according to the present invention, as shown in Figures 1-5, includes:

模块M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;Module M1: Based on SGX technology, the server verifies that the client is a trusted remote entity through the remote authentication server, establishes an authenticated communication channel between the server and the client, and the client can securely transmit data to the server;

模块M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储。Module M2: When the server does not accept the connection request or needs to be closed for maintenance, the data of the client is sealed and migrated through SGX technology, and the database file is stored in the form of cipher text.

具体地,所述模块M1包括:Specifically, the module M1 includes:

模块M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;Module M1.1: The client sends its own SGX information digest and the generated unique asymmetric key to the remote authentication server;

模块M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;Module M1.2: The remote authentication server backs up the received information and judges the security, and feeds it back to the client;

模块M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;Module M1.3: The client sends its own hardware information to the server and requests to initiate a connection;

模块M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;Module M1.4: The server forwards the received hardware information of the client to the remote authentication server to verify the identity of the client;

模块M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;Module M1.5: The remote authentication server compares the received information with the stored backup information, judges whether it is credible, and sends feedback to the server;

模块M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接。Module M1.6: After the server receives the authentication from the remote authentication server, it accepts the client's request and establishes a connection.

具体地,所述模块M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密。Specifically, the module M2 includes: encrypting the data of the client database, and writing the data to an untrusted area for storage without revealing the database data; reading back and decrypting the data when the security area is opened again .

具体地,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。Specifically, the encrypting the data of the client database includes: the encryption key is deduced in the security zone according to software and hardware information.

根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。According to a computer-readable storage medium storing a computer program provided by the present invention, when the computer program is executed by a processor, the steps of any one of the methods described above are implemented.

实施例2Example 2

实施例2是实施例1的变化例Example 2 is a modification of Example 1

本发明要解决的技术问题是传统数据库在查询过程中安全性问题。The technical problem to be solved by the present invention is the security problem in the query process of the traditional database.

数据处理系统在查询处理期间会解密内存中的敏感数据,从而使得这一环节成为数据保护的短板环节。基于这一思想,数据库面临着一些非传统的威胁:例如当数据库在不受信任的主机中运行,内存空间变得不可信;当操作系统或管理程序遭到攻击时,攻击者可以绕过数据库管理系统本身对敏感数据的保护;当遭遇恶意的管理员时,攻击者拥有对数据库操作的权限,可随意获取、篡改数据。以上三者的共同点都是数据库数据和操作都在不够可信的环境下进行,一旦系统层面遭受攻击,安全性就无法保障。由于操作系统在数据库系统中,与DBMS交互并协助控制管理数据库,因此如何在一个恶意环境下仍然保持数据库内重要数据的安全成为一个有价值的研究方向。The data processing system decrypts sensitive data in memory during query processing, making this link a weak link in data protection. Based on this idea, the database faces some non-traditional threats: for example, when the database runs in an untrusted host, the memory space becomes untrusted; when the operating system or hypervisor is attacked, the attacker can bypass the database The management system itself protects sensitive data; when encountering malicious administrators, the attacker has the authority to operate the database and can obtain and tamper with the data at will. The common point of the above three is that the database data and operations are carried out in an environment that is not credible enough. Once the system level is attacked, the security cannot be guaranteed. Since the operating system is in the database system, it interacts with the DBMS and assists in the control and management of the database, so how to maintain the security of the important data in the database in a malicious environment has become a valuable research direction.

本文提出的基于SGX技术的安全数据库,旨在利用基于硬件的可信计算技术,其本质是设计了一套CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见,为数据库在不可信环境下的运行提供安全保护。The security database based on SGX technology proposed in this paper aims to use hardware-based trusted computing technology. Its essence is to design a set of CPU instructions, and use hardware to create a trusted security zone. It is completely invisible to users at the operating system level, providing security protection for the operation of the database in an untrusted environment.

如图3所示,SGX程序设计需要对数据库服务器的软件架构重新划分,整个软件需要被划分为2个逻辑部分:可信部分和不可信部分。可信部分用于执行远程连接、数据库初始化、SQL语句执行、数据库关闭和数据库密封迁移等操作;不可信部分则负责其余不涉及敏感操作的部分。可信部分的代码段和数据段位于EPC中,受到SGX的保护,而不可信部分的代码段和数据段则位于常规未加密内存中。As shown in Figure 3, the SGX programming needs to re-divide the software architecture of the database server, and the entire software needs to be divided into two logical parts: a trusted part and an untrusted part. The trusted part is used to perform operations such as remote connection, database initialization, SQL statement execution, database shutdown, and database seal migration; the untrusted part is responsible for the rest that do not involve sensitive operations. The code segment and data segment of the trusted part are located in the EPC and are protected by SGX, while the code segment and data segment of the untrusted part are located in regular unencrypted memory.

系统的基本思路是将与数据库操作相关的关键模块(远程连接,数据库创建与插入、查询等)放到安全隔离的Enclave中并将相关的数据加密密钥等隐私数据绑定至Enclave相关硬件。基于Enclave的操作是绝对安全的,即使系统内部被恶意攻击或篡改,也可以保证上述安全区内的操作安全隔离,防止密钥等隐私信息被窃取。The basic idea of the system is to put key modules related to database operations (remote connection, database creation and insertion, query, etc.) into a secure and isolated Enclave and bind related data encryption keys and other private data to the Enclave-related hardware. Enclave-based operations are absolutely safe. Even if the system is maliciously attacked or tampered with, the operations in the above-mentioned security zone can be safely isolated and private information such as keys can be prevented from being stolen.

具体实施模块有:The specific implementation modules are:

基于SGX的远程认证SGX-based remote authentication

在客户端与服务器端的数据库建立连接之前,通信双方应确认对方平台是可靠的。虽然客户端与服务器之间的通信通道可能已加密,但是无法保证客户机未受恶意软件入侵。如果存在这些漏洞,将敏感数据交给客户机处理会带来潜在风险。因此,不仅要保证服务器端的机密性,同样也要提升客户端的信任级别。Before establishing a connection between the client and the server-side database, both parties should confirm that the other party's platform is reliable. Although the communication channel between the client and server may be encrypted, there is no guarantee that the client is free from malware. If these vulnerabilities exist, there is a potential risk in handing over sensitive data to the client for processing. Therefore, it is not only necessary to ensure confidentiality on the server side, but also to increase the level of trust on the client side.

使用远程认证流程,客户端安全区可以验证可信的远程实体,并与该实体建立一个经过认证的通信通道。作为认证的一部分,客户端的安全区证明:它的身份;它未被篡改;它在一个正版平台上运行,并且启用了英特尔SGX。此时,远程服务器可以安全地向服务器端传输数据。其过程如图4所示。Using the remote authentication process, the client enclave can authenticate a trusted remote entity and establish an authenticated communication channel with that entity. As part of the authentication, the client's enclave proves: it's identity; it hasn't been tampered with; it's running on a genuine platform with Intel SGX enabled. At this point, the remote server can safely transmit data to the server. The process is shown in Figure 4.

数据密封迁移Data Seal Migration

如图5所示,密封迁移是指对数据库数据进行加密,以便在不泄露其内容的前提下将数据写至不可信区域进行存储。当安全区再次被开启后可将数据读回并解密。为了保证密钥的唯一性,这里的加密密钥由安全区内部按需推导,不会暴露给安全区外。As shown in Figure 5, sealed migration refers to encrypting database data so that the data can be written to an untrusted area for storage without revealing its contents. The data can be read back and decrypted when the secure area is opened again. In order to ensure the uniqueness of the key, the encryption key here is deduced on demand inside the security zone and will not be exposed outside the security zone.

提供密封迁移主要是用于保存静态数据,当服务器没有连接请求或者需要关闭维护的时候,通过SGX数据密封迁移将数据库文件从内存迁移至磁盘中,以密文形式存储。由于密钥由软件和硬件共同生成,外界攻击者很难获取,即便窃取存储的硬盘信息,也无法解密,从而有效预防了拖库风险。The sealed migration is mainly used to save static data. When the server has no connection request or needs to be closed for maintenance, the database file is migrated from memory to disk through SGX data sealed migration and stored in ciphertext. Since the key is jointly generated by software and hardware, it is difficult for external attackers to obtain it. Even if the stored hard disk information is stolen, it cannot be decrypted, thus effectively preventing the risk of dragging the library.

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。Those skilled in the art know that, in addition to implementing the system, device and each module provided by the present invention in the form of pure computer readable program code, the system, device and each module provided by the present invention can be completely implemented by logically programming the method steps. The same program is implemented in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded microcontrollers, among others. Therefore, the system, device and each module provided by the present invention can be regarded as a kind of hardware component, and the modules used for realizing various programs included in it can also be regarded as the structure in the hardware component; A module for realizing various functions can be regarded as either a software program for realizing a method or a structure within a hardware component.

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above-mentioned specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essential content of the present invention. The embodiments of the present application and features in the embodiments may be combined with each other arbitrarily, provided that there is no conflict.

Claims (5)

1.一种基于SGX技术的安全数据库方法,其特征在于,包括:基于CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见;1. a security database method based on SGX technology, is characterized in that, comprises: based on CPU instruction, utilize hardware to create a trusted security zone, relevant data and instruction run in the security zone, completely invisible to the user of operating system level ; SGX程序设计需要对数据库服务器的软件架构重新划分,包括可信部分和不可信部分;所述可信部分包括用于执行远程连接、数据库初始化、SQL语句执行、数据库关闭和数据库密封迁移;所述可信部分的代码段和数据段位于EPC中,受到SGX的保护;The SGX programming needs to re-divide the software architecture of the database server, including the trusted part and the untrusted part; the trusted part includes remote connection, database initialization, SQL statement execution, database shutdown and database seal migration; the The code segment and data segment of the trusted part are located in the EPC and are protected by SGX; 步骤M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;Step M1: Based on the SGX technology, the server verifies that the client is a trusted remote entity through the remote authentication server, establishes an authenticated communication channel between the server and the client, and the client can securely transmit data to the server; 步骤M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储;Step M2: When the server does not accept the connection request or needs to be closed for maintenance, the client's data is sealed and migrated through SGX technology, and the database file is stored in ciphertext; 所述步骤M1包括:The step M1 includes: 步骤M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;Step M1.1: The client sends its own SGX information digest and the generated unique asymmetric key to the remote authentication server; 步骤M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;Step M1.2: The remote authentication server backs up the received information, makes a judgment on security, and feeds it back to the client; 步骤M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;Step M1.3: The client sends its own hardware information to the server, requesting to initiate a connection; 步骤M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;Step M1.4: the server forwards the received hardware information of the client to the remote authentication server to verify the identity of the client; 步骤M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;Step M1.5: the remote authentication server compares the received information with the stored backup information, determines whether it is credible, and sends feedback to the server; 步骤M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接;Step M1.6: After the server receives the authentication from the remote authentication server, it accepts the client's request and establishes a connection; 所述步骤M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密;The step M2 includes: encrypting the data of the client database, and writing the data to an untrusted area for storage without revealing the database data; reading back and decrypting the data when the safe area is opened again; 在通信过程中利用抓包工具监听通信过程,在不同的环节测试保密性;从抓包结果查看所有的传输过程都是密文的,确保通信过程的安全性,并且在测试时通过过滤SSL协议的方法,准确抓到通信时SSL建立的过程;During the communication process, use the packet capture tool to monitor the communication process, and test confidentiality in different links; check from the packet capture results that all transmission processes are encrypted to ensure the security of the communication process, and filter the SSL protocol during the test. method to accurately capture the process of SSL establishment during communication; 当数据库访问结束,Enclave区域要被系统收回时,系统会将所有数据库信息用硬件密钥加密,密封存储至本地磁盘,同时将Enclave内所有数据和记录都清除;存储在本地的数据库加密密钥只有在本机有效,因此能够有效对抗远程的攻击;被封存的数据只有再次开启Enclave区域才能被解密读取,此时数据库中的内容再次置于Enclave的保护之下,对外不可见。When the database access is over and the Enclave area is to be reclaimed by the system, the system will encrypt all database information with the hardware key, seal it and store it to the local disk, and at the same time clear all data and records in the Enclave; the database encryption key stored locally It is only valid on the local machine, so it can effectively resist remote attacks; the sealed data can only be decrypted and read when the Enclave area is opened again. At this time, the content in the database is placed under the protection of the Enclave again and is invisible to the outside world. 2.根据权利要求1所述的基于SGX技术的安全数据库方法,其特征在于,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。2. The secure database method based on SGX technology according to claim 1, wherein said encrypting the data of the client database comprises: the encryption key is deduced from the inside of the security zone according to software and hardware information. 3.一种基于SGX技术的安全数据库系统,其特征在于,包括:3. a security database system based on SGX technology, is characterized in that, comprises: 基于CPU指令,利用硬件创建一个可信安全区,相关数据和指令在安全区内运行,对操作系统层面的用户完全不可见;Based on CPU instructions, use hardware to create a trusted security zone, and relevant data and instructions run in the security zone, which is completely invisible to users at the operating system level; SGX程序设计需要对数据库服务器的软件架构重新划分,包括可信部分和不可信部分;所述可信部分包括用于执行远程连接、数据库初始化、SQL语句执行、数据库关闭和数据库密封迁移;所述可信部分的代码段和数据段位于EPC中,受到SGX的保护;The SGX programming needs to re-divide the software architecture of the database server, including the trusted part and the untrusted part; the trusted part includes remote connection, database initialization, SQL statement execution, database shutdown and database seal migration; the The code segment and data segment of the trusted part are located in the EPC and are protected by SGX; 模块M1:基于SGX技术,服务器端通过远程认证服务器验证客户端是可信的远程实体,将服务器端与客户端建立经过认证的通信通道,客户端能够安全地向服务器端传输数据;Module M1: Based on SGX technology, the server verifies that the client is a trusted remote entity through the remote authentication server, establishes an authenticated communication channel between the server and the client, and the client can securely transmit data to the server; 模块M2:当服务器没有接受连接请求或需要关闭维护时,通过SGX技术将客户端的数据进行密封迁移,将数据库文件以密文形式进行存储;Module M2: When the server does not accept the connection request or needs to be closed for maintenance, the client's data is sealed and migrated through SGX technology, and the database file is stored in ciphertext; 所述模块M1包括:The module M1 includes: 模块M1.1:客户端将自身的SGX信息摘要与生成的唯一的非对称密钥发送给远程认证服务器;Module M1.1: The client sends its own SGX information digest and the generated unique asymmetric key to the remote authentication server; 模块M1.2:远程认证服务器将接收到的信息进行备份并对安全性做出判断,反馈给客户端;Module M1.2: The remote authentication server backs up the received information and judges the security, and feeds it back to the client; 模块M1.3:客户端将自身的硬件信息发送给服务器,请求发起连接;Module M1.3: The client sends its own hardware information to the server and requests to initiate a connection; 模块M1.4:服务器转发收到的客户端的硬件信息给远程认证服务器,验证客户端的身份;Module M1.4: The server forwards the received hardware information of the client to the remote authentication server to verify the identity of the client; 模块M1.5:远程认证服务器将收到的信息与已存储的备份信息比较,判断是否可信,并给服务器发送反馈;Module M1.5: The remote authentication server compares the received information with the stored backup information, judges whether it is credible, and sends feedback to the server; 模块M1.6:服务器收到远程认证服务器的认证之后接受客户端的请求,建立连接;Module M1.6: After the server receives the authentication from the remote authentication server, it accepts the client's request and establishes a connection; 所述模块M2包括:对客户端数据库的数据进行加密,在不泄露数据库数据的情况下,将数据写至不可信区域进行存储;当安全区再次被开启后将数据读回并解密;The module M2 includes: encrypting the data of the client database, and writing the data to an untrusted area for storage without revealing the database data; reading back and decrypting the data when the safe area is opened again; 在通信过程中利用抓包工具监听通信过程,在不同的环节测试保密性;从抓包结果查看所有的传输过程都是密文的,确保通信过程的安全性,并且在测试时通过过滤SSL协议的方法,准确抓到通信时SSL建立的过程;During the communication process, use the packet capture tool to monitor the communication process, and test confidentiality in different links; check from the packet capture results that all transmission processes are encrypted to ensure the security of the communication process, and filter the SSL protocol during the test. method to accurately capture the process of SSL establishment during communication; 当数据库访问结束,Enclave区域要被系统收回时,系统会将所有数据库信息用硬件密钥加密,密封存储至本地磁盘,同时将Enclave内所有数据和记录都清除;存储在本地的数据库加密密钥只有在本机有效,因此能够有效对抗远程的攻击;被封存的数据只有再次开启Enclave区域才能被解密读取,此时数据库中的内容再次置于Enclave的保护之下,对外不可见。When the database access is over and the Enclave area is to be reclaimed by the system, the system will encrypt all database information with the hardware key, seal it and store it to the local disk, and at the same time clear all data and records in the Enclave; the database encryption key stored locally It is only valid on the local machine, so it can effectively resist remote attacks; the sealed data can only be decrypted and read when the Enclave area is opened again. At this time, the content in the database is placed under the protection of the Enclave again and is invisible to the outside world. 4.根据权利要求3所述的基于SGX技术的安全数据库系统,其特征在于,所述对客户端数据库的数据进行加密包括:加密密钥由安全区内部根据软硬件信息推导。4 . The secure database system based on SGX technology according to claim 3 , wherein the encrypting the data of the client database comprises: the encryption key is deduced according to software and hardware information inside the security zone. 5 . 5.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至2中任一项所述的方法的步骤。5. A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 2 are implemented.
CN202011367300.5A 2020-11-27 2020-11-27 Secure database system, method and medium based on SGX technology Active CN112395631B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011367300.5A CN112395631B (en) 2020-11-27 2020-11-27 Secure database system, method and medium based on SGX technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011367300.5A CN112395631B (en) 2020-11-27 2020-11-27 Secure database system, method and medium based on SGX technology

Publications (2)

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

Family

ID=74605537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011367300.5A Active CN112395631B (en) 2020-11-27 2020-11-27 Secure database system, method and medium based on SGX technology

Country Status (1)

Country Link
CN (1) CN112395631B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672973B (en) * 2021-07-20 2024-04-16 深圳大学 Database system for embedded devices based on RISC-V architecture based on trusted execution environment
CN114547656B (en) * 2022-02-26 2025-08-01 北京工业大学 Intel SGX-based two-stage remote proving method in cloud environment
CN115270134B (en) * 2022-07-18 2023-04-18 京信数据科技有限公司 Computing method and system based on FPGA trusted execution environment
CN117997656B (en) * 2024-04-03 2024-06-21 浙江大学 A security management system for the entire life cycle of industrial control data
CN119293771A (en) * 2024-09-19 2025-01-10 华中师范大学 A face recognition anti-reconstruction method and system based on Intel SGX

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306740A (en) * 2018-01-22 2018-07-20 华中科技大学 A kind of Intel SGX state consistencies guard method and system
CN108418691A (en) * 2018-03-08 2018-08-17 湖南大学 SGX-based dynamic network identity authentication method
CN109361668A (en) * 2018-10-18 2019-02-19 国网浙江省电力有限公司 A method of reliable data transmission
CN109756492A (en) * 2018-12-28 2019-05-14 中国人民解放军战略支援部队信息工程大学 SGX-based cloud platform trusted execution method, device, device and medium
WO2019168557A1 (en) * 2018-02-27 2019-09-06 Visa International Service Association High-throughput data integrity via trusted computing
CN111368297A (en) * 2020-02-02 2020-07-03 西安电子科技大学 Privacy protection mobile malware detection method, system, storage medium and application
CN111475782A (en) * 2020-04-08 2020-07-31 浙江大学 API (application program interface) key protection method and system based on SGX (secure gateway) software extension instruction
CN111611620A (en) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 Access request processing method of access platform and related device

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 (en) * 2018-01-22 2018-07-20 华中科技大学 A kind of Intel SGX state consistencies guard method and system
WO2019168557A1 (en) * 2018-02-27 2019-09-06 Visa International Service Association High-throughput data integrity via trusted computing
CN108418691A (en) * 2018-03-08 2018-08-17 湖南大学 SGX-based dynamic network identity authentication method
CN109361668A (en) * 2018-10-18 2019-02-19 国网浙江省电力有限公司 A method of reliable data transmission
CN109756492A (en) * 2018-12-28 2019-05-14 中国人民解放军战略支援部队信息工程大学 SGX-based cloud platform trusted execution method, device, device and medium
CN111368297A (en) * 2020-02-02 2020-07-03 西安电子科技大学 Privacy protection mobile malware detection method, system, storage medium and application
CN111475782A (en) * 2020-04-08 2020-07-31 浙江大学 API (application program interface) key protection method and system based on SGX (secure gateway) software extension instruction
CN111611620A (en) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 Access request processing method of access platform and related device

Also Published As

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

Similar Documents

Publication Publication Date Title
CN112395631B (en) Secure database system, method and medium based on SGX technology
US10922441B2 (en) Device and method for data security with a trusted execution environment
US20190036693A1 (en) Controlled access to data in a sandboxed environment
CN103106372B (en) For lightweight privacy data encryption method and the system of android system
US6976167B2 (en) Cryptography-based tamper-resistant software design mechanism
CN104618096B (en) Protect method, equipment and the TPM key administrative center of key authorization data
US10083128B2 (en) Generating memory dumps
US9177164B2 (en) System and method for a parallel world of security for non secure environments
CN105260663A (en) Secure storage service system and method based on TrustZone technology
Bella et al. A study of security threats and attacks in cloud computing
CN104573549A (en) Credible method and system for protecting confidentiality of database
US20210200883A1 (en) Enclave Fork Support
Chen et al. Daonity–grid security from two levels of virtualization
CN110837634A (en) Electronic signature method based on hardware encryption machine
US12197592B2 (en) Zero-trust cloud development
RU2573785C2 (en) System and method for applying file access rules during transfer thereof between computers
CN114520735B (en) User identity authentication method, system and medium based on trusted execution environment
CN1819590A (en) Enciphering method of computer electronic documents
CN117579291A (en) Cloud primary multi-cloud management method, system, electronic equipment and storage medium
Sharma Transcrypt: Design of a secure and transparent encrypting file system
Sharma et al. Transcrypt: A secure and transparent encrypting file system for enterprises
TWI783189B (en) Bitlocker disc administration system
CN112784321B (en) Disk security system
He et al. SeFS: A Secure and Efficient File Sharing Framework based on the Trusted Execution Environment.
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