[go: up one dir, main page]

CN102722576B - Encipherment protection system and encipherment protection method for database in cloud computing environment - Google Patents

Encipherment protection system and encipherment protection method for database in cloud computing environment Download PDF

Info

Publication number
CN102722576B
CN102722576B CN201210181715.2A CN201210181715A CN102722576B CN 102722576 B CN102722576 B CN 102722576B CN 201210181715 A CN201210181715 A CN 201210181715A CN 102722576 B CN102722576 B CN 102722576B
Authority
CN
China
Prior art keywords
task
management subsystem
database
encryption
encipherment
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
CN201210181715.2A
Other languages
Chinese (zh)
Other versions
CN102722576A (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.)
Xi'an Following International Information Ltd Co
Xian University of Posts and Telecommunications
Original Assignee
Xi'an Following International Information Ltd Co
Xian University of Posts and Telecommunications
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 Xi'an Following International Information Ltd Co, Xian University of Posts and Telecommunications filed Critical Xi'an Following International Information Ltd Co
Priority to CN201210181715.2A priority Critical patent/CN102722576B/en
Publication of CN102722576A publication Critical patent/CN102722576A/en
Application granted granted Critical
Publication of CN102722576B publication Critical patent/CN102722576B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention provides an encipherment protection system and an encipherment protection method for a database in a cloud computing environment. The encipherment protection system provided by the invention comprises an application interface, a task management subsystem, a resource management subsystem and an encipherment engine pool. The encipherment protection system provided by the invention has the following advantages that 1. the encipherment protection system adopts the encipherment engine pool so as to avoid that the database performance is reduced by the influence of the overload operation of encipherment and decryption modules; 2. an application system is entirely transparent to final users of the database, so that the conversion between clear test and cipher text can be carried out according to the requirements; 3. the encipherment engine pool is fully independent from the database and the application system, so that the encipherment function of data can be realized without changing the database and the application system; 4. the encipherment engine pool constructed by using virtualization technologies has favorable manageability and elasticity, and can be constructed according to the requirements, the bottleneck problems of the fine granularity and the large concurrency access in the application of a relational database are solved, resources can be reasonably used, and the capability and the efficiency of a database server are enhanced.

Description

一种云计算环境下数据库加密保护系统和加密保护方法Database encryption protection system and encryption protection method in cloud computing environment

技术领域 technical field

本发明涉及云计算环境下信息安全领域,特别涉及一种云计算环境下数据库加密保护系统和加密保护方法,通过虚拟化技术构建数据加解密引擎池,依据加解密负载情况动态创建和调度加解密引擎,适用于大并发细颗粒度访问的数据加密保护。The present invention relates to the field of information security in a cloud computing environment, and in particular to a database encryption protection system and encryption protection method in a cloud computing environment. A data encryption and decryption engine pool is constructed through virtualization technology, and encryption and decryption are dynamically created and scheduled according to the encryption and decryption load conditions. Engine, suitable for data encryption protection of large concurrent fine-grained access.

背景技术 Background technique

云计算是一种基于互联网的大众参与的计算模式,其计算资源是动态的,可伸缩、虚拟化的,而且以服务的方式提供。用户从以前购买软件,转化为云计算下通过互联网来租赁相应应用软件;从以前购买服务器和修建机房,转为到云计算下通过互联网来租赁远程虚拟计算能力。以云计算为代表的信息技术正促使信息产业从提供独立的软硬件产品走向提供社会化、集约化和专业化的信息服务。数据库存储安全是保障云计算安全的基础。Cloud computing is an Internet-based computing model for public participation, and its computing resources are dynamic, scalable, virtualized, and provided as a service. Users have changed from buying software in the past to renting corresponding application software through the Internet under cloud computing; from purchasing servers and building computer rooms before, to renting remote virtual computing capabilities through the Internet under cloud computing. The information technology represented by cloud computing is promoting the information industry from providing independent software and hardware products to providing socialized, intensive and professional information services. Database storage security is the basis for ensuring cloud computing security.

云计算环境下,部署传统的安全措施如访问控制、防火墙和入侵检测等保护数据库,有两种情况容易造成机密信息泄露:1)数据库管理员的权限过大,有权访问全部/部分机密数据;2)备份介质丢失,维护数据库系统安全需要对数据库中的数据进行定期备份,大量的数据备份文件存储在无保护的磁性和光学介质中,流失的隐患相当大,从而可能造成机密信息的泄露。In the cloud computing environment, deploying traditional security measures such as access control, firewall and intrusion detection to protect the database, there are two situations that may easily cause confidential information leakage: 1) The database administrator has too much authority and has the right to access all/part of the confidential data ; 2) Loss of backup media, maintenance of database system security requires regular backup of data in the database, a large number of data backup files are stored in unprotected magnetic and optical media, the hidden danger of loss is quite large, which may cause leakage of confidential information .

发明内容 Contents of the invention

针对上述的传统数据库安全保护措施在云计算环境中存在的问题,本发明提供一种云计算环境下数据库加密保护系统和加密保护方法。In view of the above-mentioned problems existing in the traditional database security protection measures in the cloud computing environment, the present invention provides a database encryption protection system and encryption protection method in the cloud computing environment.

本发明主要解决,当存储在云计算数据库服务器中的加密数据形成规模之后,对数据实现高效的加密/解密。在传统安全措施的基础上,采用数据加密技术将数据库中的机密数据加密,这样即使入侵者绕过或攻破了各种系统安全机制,得到的也只是加密后的密文数据,备份数据的流失也不会造成机密信息的泄露。The invention mainly solves the problem of realizing efficient encryption/decryption of data after the encrypted data stored in the cloud computing database server has formed a scale. On the basis of traditional security measures, data encryption technology is used to encrypt the confidential data in the database, so that even if the intruder bypasses or breaks through various system security mechanisms, only the encrypted ciphertext data is obtained, and the backup data is lost. It will not cause the disclosure of confidential information.

本发明的第一方面提供了一种云计算环境下数据库加密保护系统,包括应用接口(1)、任务管理子系统(2)、资源管理子系统(3)、虚拟主机加解密引擎池(4),所述系统包括:The first aspect of the present invention provides a database encryption protection system in a cloud computing environment, including an application interface (1), a task management subsystem (2), a resource management subsystem (3), a virtual host encryption and decryption engine pool (4 ), the system includes:

1)应用接口(1)是任务管理子系统(2)与应用服务器进行交互的接口,一方面将应用服务器的SQL请求提交给任务管理子系统(2),另一方面将任务管理子系统(2)收集的运行结果提供给应用服务器;1) The application interface (1) is the interface for the task management subsystem (2) to interact with the application server. On the one hand, the SQL request of the application server is submitted to the task management subsystem (2), and on the other hand, the task management subsystem ( 2) The collected running results are provided to the application server;

2)任务管理子系统(2),解析各种数据库访问请求,通过访问控制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子任务进行发布、维护、监视和更新等控制管理工作;2) Task management subsystem (2), which parses various database access requests, decomposes the SQL requests allowed to be accessed into multiple execution subtasks through access control security review, and releases, maintains, monitors and updates these subtasks and other control and management work;

3)资源管理子系统(3),一方面收集所有虚拟机和物理机的信息;另一方面按照任务管理子系统发布的执行子任务的需求部署虚拟机,提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功能;3) The resource management subsystem (3), on the one hand, collects the information of all virtual machines and physical machines; on the other hand, deploys virtual machines according to the sub-task execution requirements released by the task management subsystem, and provides encryption and decryption engine creation and recycling services , realize the on-demand distribution function of the virtual encryption and decryption engine;

4)加解密引擎池(4),系统最核心的部分,由多个基于虚拟化技术动态的加解密引擎组成,这些加解密引擎由资源管理子系统(3)在虚拟机中创建,是任务管理子系统(2)中任务的执行单元,负责为用户的数据业务提供加解密服务和数据安全访问服务。4) The encryption and decryption engine pool (4), the core part of the system, is composed of multiple dynamic encryption and decryption engines based on virtualization technology. These encryption and decryption engines are created in the virtual machine by the resource management subsystem (3). The task execution unit in the management subsystem (2), responsible for providing encryption and decryption services and data security access services for users' data services.

本发明的第二方面提供了一种云计算环境下数据库加密保护方法,避免因为加解密模块超负荷工作而影响数据库性能下降等问题。对加解密引擎部署结构进行优化,按照加解密功能软件化、分布化、承载方式虚拟化的思路实现加解密资源按需服务。数据库加密保护方法包括以下步骤:The second aspect of the present invention provides a database encryption protection method in a cloud computing environment, which avoids problems such as database performance degradation caused by overloading of encryption and decryption modules. The deployment structure of the encryption and decryption engine is optimized, and the on-demand service of encryption and decryption resources is realized according to the idea of software-based, distributed, and virtualized bearer mode of encryption and decryption functions. The database encryption protection method includes the following steps:

步骤一:应用服务器的SQL请求通过应用接口(1)发送给任务管理子系统(2),任务管理子系统(2)对该请求进行语句合法性验证,判断其语句是否合法;并对其做并行任务处理;Step 1: The SQL request of the application server is sent to the task management subsystem (2) through the application interface (1), and the task management subsystem (2) verifies the validity of the statement of the request to determine whether the statement is legal; Parallel task processing;

步骤二:任务管理子系统(2)将所有任务进行分析排序,把可以立即执行的任务发送给资源管理子系统(3),存在资源竞争冲突的任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任务根据任务执行策略决定继续等待或者丢弃;Step 2: The task management subsystem (2) analyzes and sorts all tasks, and sends the tasks that can be executed immediately to the resource management subsystem (3), puts the tasks with resource competition conflicts into the task waiting queue, and simultaneously Detection, the task that waits for timeout will be decided to continue waiting or discard according to the task execution strategy;

步骤三:资源管理子系统(3)收集系统中物理机的信息,预测系统对虚拟主机的需求,按照虚拟机部署策略在物理机中部署需求的虚拟主机;Step 3: The resource management subsystem (3) collects the information of the physical machines in the system, predicts the system's demand for virtual hosts, and deploys the required virtual hosts in the physical machines according to the virtual machine deployment strategy;

步骤四:资源管理子系统(3)将从任务管理子系统(2)收到的任务按优先级进行排序,选择为其分配资源任务,根据资源分配策略在虚拟资源列表中选择匹配的虚拟资源,即虚拟机,若虚拟资源不足,不能满足任务的资源需求,则转到步骤三;Step 4: The resource management subsystem (3) sorts the tasks received from the task management subsystem (2) according to the priority, chooses to assign resource tasks to it, and selects the matching virtual resource in the virtual resource list according to the resource allocation strategy , that is, the virtual machine, if the virtual resources are insufficient to meet the resource requirements of the task, go to step 3;

步骤五:在任务分配的虚拟机中检测加解密引擎程序并启动该程序,若启动成功告知任务管理子系统(2)任务正在执行,转到步骤六;否则告知任务执行异常,由任务管理子系统(2)撤销任务,执行步骤七;Step 5: Detect the encryption and decryption engine program in the virtual machine assigned by the task and start the program. If the program is successfully started, the task management subsystem (2) is informed that the task is being executed, and then go to step 6; otherwise, the task execution is abnormal, and the task management subsystem The system (2) cancels the task and executes step 7;

步骤六:任务开始执行,通过创建的加解密引擎程序完成数据库访问和数据加密服务,向任务管理子系统(2)返回结果;Step 6: The task starts to execute, completes the database access and data encryption services through the created encryption and decryption engine program, and returns the result to the task management subsystem (2);

步骤七:资源管理子系统(3)对任务执行完成的虚拟机,进行回收,销毁解密引擎程序。Step 7: The resource management subsystem (3) recycles the virtual machine that has completed the task execution, and destroys the decryption engine program.

本发明解决了云计算环境下数据库加密保护问题,主要有以下优点:The invention solves the problem of database encryption protection under the cloud computing environment, and mainly has the following advantages:

1.采用加解密引擎池,避免因加解密模块超负荷工作而影响数据库性能下降;1. Use the encryption and decryption engine pool to avoid the decline in database performance caused by the overload of the encryption and decryption module;

2.应用系统对数据库的最终用户是完全透明的,可以根据需要进行明文和密文的转换工作;2. The application system is completely transparent to the end users of the database, and can convert plaintext and ciphertext according to needs;

3.加解密引擎完全独立于数据库和应用系统,无须改动数据库和应用系统就能实现数据加密功能;3. The encryption and decryption engine is completely independent of the database and application system, and the data encryption function can be realized without changing the database and application system;

4.采用基于虚拟化技术构建的加解密引擎池具有很好的可管理性和弹性,可以按需创建,解决了关系型数据库应用中的细颗粒度、大并发量存取的瓶颈问题,资源合理化使用,提高了数据库服务器的能力和效率。4. The encryption and decryption engine pool built based on virtualization technology has good manageability and flexibility, and can be created on demand, which solves the bottleneck problem of fine-grained and large-scale concurrent access in relational database applications. Rationalized use improves the capacity and efficiency of the database server.

附图说明 Description of drawings

图1是本发明的数据库加密保护系统结构示意图;Fig. 1 is a schematic structural diagram of the database encryption protection system of the present invention;

图2是本发明的数据库加密保护方法流程图;Fig. 2 is the flowchart of database encryption protection method of the present invention;

图3是根据本发明实施例的云计算环境的数据保护的应用系统结构图;Fig. 3 is the application system structural diagram of the data protection of cloud computing environment according to the embodiment of the present invention;

图4是根据本发明实施例的数据库加密保护的应用系统的工作流程图。Fig. 4 is a workflow diagram of the application system for database encryption protection according to an embodiment of the present invention.

具体实施方式 Detailed ways

下面结合附图对本发明的云计算环境下数据库加密保护的实现方法和系统进行详细描述说明。描述中给出了许多具体细节,以确保本发明实例的透彻理解。The method and system for implementing database encryption protection in the cloud computing environment of the present invention will be described in detail below in conjunction with the accompanying drawings. In the description, numerous specific details are given to ensure a thorough understanding of examples of the invention.

如图1所示,根据本发明实施例的数据库加密保护系统,云计算环境下数据库加密保护系统包括:应用接口1,任务管理子系统2,资源管理子系统3,加解密引擎池4。As shown in FIG. 1 , according to the database encryption protection system of the embodiment of the present invention, the database encryption protection system under the cloud computing environment includes: an application interface 1 , a task management subsystem 2 , a resource management subsystem 3 , and an encryption and decryption engine pool 4 .

应用接口1,提供给任务管理子系统2与应用服务器进行交互的接口,一方面将应用服务器的SQL请求提交给任务管理子系统2,另一方面将任务管理子系统2收集的运行结果提供给应用服务器;The application interface 1 provides an interface for the task management subsystem 2 to interact with the application server. On the one hand, it submits the SQL request of the application server to the task management subsystem 2, and on the other hand, it provides the running results collected by the task management subsystem 2 to the application server;

任务管理子系统2,解析各种数据库访问请求,通过访问控制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子任务进行发布、维护、监视和更新等控制管理工作;Task management subsystem 2, which analyzes various database access requests, decomposes the SQL requests allowed to be accessed into multiple execution sub-tasks through access control security review, and performs control and management work on these sub-tasks such as release, maintenance, monitoring, and update ;

资源管理子系统3,一方面负责收集所有虚拟机和物理机的信息,并将这些信息作为任务管理子系统2任务分发部署和运行的依据;另一方面按照任务管理子系统2发布的执行子任务的需求部署虚拟机,提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功能;Resource management subsystem 3, on the one hand, is responsible for collecting the information of all virtual machines and physical machines, and uses this information as the basis for task distribution, deployment and operation of task management subsystem 2; Deploy virtual machines according to task requirements, provide encryption and decryption engine creation and recycling services, and realize the on-demand distribution function of virtual encryption and decryption engines;

加解密引擎池4,系统最核心的部分,由多个基于虚拟化技术动态的加解密引擎组成,这些加解密引擎由资源管理子系统3在虚拟机中创建,是任务管理子系统2中任务的执行单元,负责为用户的数据业务提供加解密服务和数据安全访问服务。Encryption and decryption engine pool 4, the core part of the system, is composed of multiple dynamic encryption and decryption engines based on virtualization technology. These encryption and decryption engines are created in virtual machines by resource management subsystem 3 and are tasks in task management subsystem 2. The execution unit is responsible for providing encryption and decryption services and data security access services for users' data services.

如图2所示,根据本发明实施例的数据库加密保护系统,云计算环境下数据库加密保护方法包括以下步骤:As shown in Figure 2, according to the database encryption protection system of the embodiment of the present invention, the database encryption protection method under the cloud computing environment comprises the following steps:

步骤一:应用服务器的SQL请求通过应用接口1发送给任务管理子系统2,任务管理子系统性对该请求进行语句合法性验证,判断其语句是否合法;并对其做并行任务处理;Step 1: The SQL request of the application server is sent to the task management subsystem 2 through the application interface 1, and the task management subsystem verifies the validity of the statement of the request, judges whether the statement is legal, and performs parallel task processing on it;

步骤二:任务管理子系统2将所有任务进行分析排序,把可以立即执行的任务发送给资源管理子系统3,存在资源竞争冲突的任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任务根据任务执行策略决定继续等待或者丢弃;Step 2: Task management subsystem 2 analyzes and sorts all tasks, and sends tasks that can be executed immediately to resource management subsystem 3. Tasks with resource competition conflicts are put into the task waiting queue, and at the same time, the task queue is detected, and the waiting The timed-out task decides to continue waiting or discard according to the task execution strategy;

步骤三:资源管理子系统3负责收集系统中物理机的信息,预测系统对虚拟主机的需求,按照虚拟机部署策略在物理机中部署需求的虚拟主机;Step 3: The resource management subsystem 3 is responsible for collecting the information of the physical machines in the system, predicting the demand of the system for virtual hosts, and deploying the required virtual hosts in the physical machines according to the virtual machine deployment strategy;

步骤四:资源管理子系统3将从任务管理子系统2收到的任务按优先级进行排序,选择为其分配资源任务,根据资源分配策略在虚拟资源列表中选择匹配的虚拟资源,即虚拟机,若虚拟资源不足,不能满足任务的资源需求,则执行步骤三;Step 4: The resource management subsystem 3 sorts the tasks received from the task management subsystem 2 according to priority, selects to assign resource tasks to them, and selects the matching virtual resource in the virtual resource list according to the resource allocation strategy, that is, the virtual machine , if the virtual resources are insufficient to meet the resource requirements of the task, go to step 3;

步骤五:在任务分配的虚拟机中检测加解密引擎程序并启动该程序,若启动成功告知任务管理子系统2任务正在执行,执行步骤六;否则告知任务执行异常,由任务管理子系统2撤销任务,执行步骤七;Step 5: Detect the encryption and decryption engine program in the virtual machine assigned to the task and start the program. If the program is successfully started, the task management subsystem 2 is informed that the task is being executed, and step 6 is executed; otherwise, the task execution is abnormal and the task management subsystem 2 cancels it. task, perform step seven;

步骤六:任务开始执行,通过创建的加解密引擎程序完成数据库访问和数据加密服务,向任务管理子系统2返回结果;Step 6: The task starts to execute, completes the database access and data encryption services through the created encryption and decryption engine program, and returns the result to the task management subsystem 2;

步骤七:资源管理子系统3对任务执行完成的虚拟机,进行回收,销毁解密引擎程序。Step 7: The resource management subsystem 3 recycles the virtual machine that has completed the task execution, and destroys the decryption engine program.

如图3所示,根据本发明实施例的数据库加密保护系统,云计算环境下数据库加密保护的应用系统包括:用户终端设备5、应用门户6、应用服务器7、数据库加密保护系统9、密钥与认证管理中心8、数据审计系统10、数据库11。As shown in Figure 3, according to the database encryption protection system of the embodiment of the present invention, the application system of database encryption protection under the cloud computing environment includes: user terminal equipment 5, application portal 6, application server 7, database encryption protection system 9, key And authentication management center 8, data audit system 10, database 11.

用户终端设备5,用户通过用户名、密码的方式,或者UKEY登录方式在用户终端设备上进行服务访问申请,用户终端设备5通过安全通道访问应用门户6,即采用HTTPS/传统VPN或私有VPN(用户客户端安装VPN客户端,拨到平台的VPN网关上,认证成功后建立安全连接通道)/SSL/SSH/FTPS等安全通信方式。The user terminal device 5, the user applies for service access on the user terminal device through the user name, password, or UKEY login method, and the user terminal device 5 accesses the application portal 6 through a secure channel, that is, using HTTPS/traditional VPN or private VPN ( The user client installs the VPN client, dials to the VPN gateway of the platform, and establishes a secure connection channel)/SSL/SSH/FTPS and other secure communication methods after successful authentication.

应用门户6,通过调用密钥与认证管理中心8的统一身份认证服务,对用户访问申请进行认证;通过认证信息判断是否允许访问应用服务器7和数据服务器。The application portal 6 authenticates the user's access application by invoking the unified identity authentication service of the key and authentication management center 8; judges whether to allow access to the application server 7 and the data server through the authentication information.

应用服务器7,与客户连接且与数据库11连接,用于接收来自客户端的认证请求,由密钥和认证管理中心8进行认证,在认证通过的情况下获取数据库访问信息,并将数据库加密保护系统9从数据库11获取的数据发送给客户端;数据库加密保护系统9,作为前端应用服务器7和后端数据库11之间的一个中间层,负责接收客户端的数据请求并作相关处理,然后传递给数据库11进行的数据处理,最后将结果由数据库中间件返回给客户端。这里的处理包括数据库11的访问控制、数据的加/解密、数据的完整性保护、传输控制和虚拟资源的均衡管理。The application server 7 is connected to the client and to the database 11, and is used to receive the authentication request from the client, to perform authentication by the key and the authentication management center 8, to obtain the database access information when the authentication is passed, and to encrypt the database to protect the system 9 The data obtained from the database 11 is sent to the client; the database encryption protection system 9, as an intermediate layer between the front-end application server 7 and the back-end database 11, is responsible for receiving the data request from the client and performing relevant processing, and then passing it to the database 11, the data is processed, and finally the result is returned to the client by the database middleware. The processing here includes access control of the database 11, encryption/decryption of data, integrity protection of data, transmission control and balanced management of virtual resources.

密钥与认证管理中心8,为数据库加密保护系统9提供密钥请求、获取服务;密钥与认证管理中心8是数据库加密保护系统9的一个重要组成部分,负责提供密钥的生成(导出)、保存、备份、更新、恢复、查询、销毁等密钥和自身系统的安全管理,制定密钥管理流程和标准规范,提供云计算应用环境中大规模应用密钥管理。The key and authentication management center 8 provides key request and acquisition services for the database encryption protection system 9; the key and authentication management center 8 is an important part of the database encryption protection system 9, responsible for providing key generation (export) , save, backup, update, restore, query, destroy and other keys and the security management of its own system, formulate key management processes and standards, and provide large-scale application key management in cloud computing application environments.

数据库审计系统10,能够支持对数据加解密引擎和数据库的各类数据库系统审计,实现对加解密活动和数据库11访问操作的实时监控和审计功能,提供全面的数据库11安全保护功能,即可以在不影响数据库11的运行情况下,提供数据库11监控、审计和安全功能以及动态建模的功能。包括应用系统的用户在内的对数据库11详细的访问记录,同时提供对非法数据库访问的实时阻断。The database audit system 10 can support various database system audits for data encryption and decryption engines and databases, realize real-time monitoring and auditing functions for encryption and decryption activities and database 11 access operations, and provide comprehensive database 11 security protection functions, that is, it can be used in Without affecting the operation of the database 11, the monitoring, auditing and security functions of the database 11 and the function of dynamic modeling are provided. Detailed access records to the database 11 including the users of the application system provide real-time blocking of illegal database access.

数据库11,主要存储经过加解密引擎加密后的密文数据。The database 11 mainly stores ciphertext data encrypted by the encryption and decryption engine.

如图4所示,根据本发明实施例的数据库加密保护系统,云计算平台上数据库加密保护系统中用户通过客户端访问应用服务器时,数据库加密保护系统实现用户数据保护的流程如下:As shown in Figure 4, according to the database encryption protection system of the embodiment of the present invention, when the user in the database encryption protection system on the cloud computing platform accesses the application server through the client, the database encryption protection system realizes the process of user data protection as follows:

步骤一:用户插入个人数字证书USBKEY到客户端主机,通过客户端以VPN或安全协议(例如:SSL、SSH、IPSec)访问应用门户6;应用门户6对用户输入信息进行完整性验证后,将用户输入的信息和用户所要访问的应用系统标识发送到密钥与认证管理中心8;由密钥与认证管理中心8完成用户认证和访问该应用服务器7的权限判断;返回认证结果信息(包括认证通过、不通过、权限列表、证书信息),由应用门户6进行判断;若用户不合法或不具备权限,返回异常提示给用户,结束访问;若属于合法用户并具有访问该应用系统的权限,则提供会话令牌,转入步骤二。Step 1: The user inserts the personal digital certificate USBKEY into the client host, and accesses the application portal 6 through the client through a VPN or security protocol (for example: SSL, SSH, IPSec); after the application portal 6 performs integrity verification on the user input information, it will The information input by the user and the application system identification that the user wants to visit are sent to the key and authentication management center 8; the user authentication and access authority judgment of the application server 7 are completed by the key and authentication management center 8; pass, fail, authority list, certificate information), judged by the application portal 6; if the user is illegal or does not have authority, return an exception prompt to the user, and end the visit; if it belongs to a legal user and has the authority to access the application system, Then provide the session token and go to step 2.

步骤二:创建一个该应用系统与该用户的会话,并将该应用系统的权限令牌返回给用户,以后用户端可以通过这个权限令牌持续访问该应用系统,直至退出系统或是会话超时。Step 2: Create a session between the application system and the user, and return the authorization token of the application system to the user. Afterwards, the user can continue to access the application system through the authorization token until the system exits or the session times out.

步骤三:用户向应用服务器7发出服务请求,应用服务器可以通过数据库加密保护系统9访问后台数据库11;有四类SQL操作请求:(1)对数据库11进行写入记录、删除、修改操作,如上载数据;(2)对数据库11进行查询操作,这种场景需要后台加/解密;(3)数据获取,不需要后台加/解密,需要用户端加/解密;(4)数据交换(需要多个数据库参与)。数据库加密保护系统9中任务管理子系统2将SQL请求分解为多个执行子任务,由资源管理子系统3创建若干个基于虚拟机的加解密引擎执行子任务。Step 3: The user sends a service request to the application server 7, and the application server can access the background database 11 through the database encryption protection system 9; there are four types of SQL operation requests: (1) Write records, delete, and modify operations on the database 11, such as Uploading data; (2) querying the database 11, which requires background encryption/decryption; (3) data acquisition, which does not require background encryption/decryption, but requires user-side encryption/decryption; (4) data exchange (requires multiple database participation). The task management subsystem 2 in the database encryption protection system 9 decomposes the SQL request into multiple execution subtasks, and the resource management subsystem 3 creates several virtual machine-based encryption and decryption engines to execute the subtasks.

步骤四:加解密引擎将SQL请求转换成易处理的树形式,从树中提取出数据库加解密处理所需的参数(表名、字段名、插入数据等等)。除此,由语法树转换成可对密文数据库操作的SQL语句。Step 4: The encryption and decryption engine converts the SQL request into an easy-to-handle tree form, and extracts the parameters required for database encryption and decryption processing (table name, field name, inserted data, etc.) from the tree. In addition, the syntax tree is converted into SQL statements that can operate on the ciphertext database.

步骤五:加解密引擎根据所要操作的数据库关系表向密钥和认证管理中心8申请相应的被加密的表密钥;密钥和认证管理中心8将使用该用户公钥加密过的表密钥通过应用门户6返回给用户终端;用户终端使用所持有的私钥对被公钥加密的表密钥经行解密得到表密钥,再由应用门户6发送给数据库加密保护系统9(即加解密引擎);加解密引擎将所得表密钥发送给密钥与认证管理中心8进行密钥确认;若密钥不合法,返回异常提示给用户,执行步骤十一;否者,执行步骤六。Step 5: The encryption and decryption engine applies to the key and authentication management center 8 for the corresponding encrypted table key according to the database relational table to be operated; the key and authentication management center 8 will use the user's public key to encrypt the table key Return it to the user terminal through the application portal 6; the user terminal uses the private key it holds to decrypt the table key encrypted by the public key to obtain the table key, and then the application portal 6 sends it to the database encryption protection system 9 (i.e. decryption engine); the encryption and decryption engine sends the obtained table key to the key and the authentication management center 8 for key confirmation; if the key is invalid, an exception prompt is returned to the user, and step 11 is executed; otherwise, step 6 is executed.

步骤六:加解密引擎向数据库11进行操作访问,从数据库获取密文数据,由于不同类型SQL访问,操作细节上也存在差别:(1)对关系表进行写入记录、删除操作,执行步骤七;(2)对关系表中记录进行修改,查询操作,执行步骤七;(3)数据获取,执行步骤九。Step 6: The encryption and decryption engine accesses the database 11 to obtain ciphertext data from the database. Due to different types of SQL access, there are differences in the operation details: (1) Write records and delete operations to the relational table, and perform step 7 ;(2) Modify the records in the relational table, perform query operation, perform step 7; (3) perform data acquisition, perform step 9.

步骤七:根据表密钥生成工作密钥,通过工作密钥对数据进行加解密操作;完成相应的业务操作;若SQL访问类型为查询操作,执行步骤九,否则执行步骤八。Step 7: Generate a work key based on the table key, and use the work key to encrypt and decrypt data; complete the corresponding business operation; if the SQL access type is query operation, perform step 9, otherwise perform step 8.

步骤八:进行数据库11记录删除或者将需要回写入数据库11的数据,进行加密重新存入数据库11。Step 8: Delete the records in the database 11 or encrypt the data that needs to be written back into the database 11 and store it in the database 11 again.

步骤九:将SQL子任务执行结果发送给任务管理子系统2,将操作记录发送给数据库审计系统10。Step 9: Send the execution result of the SQL subtask to the task management subsystem 2 , and send the operation record to the database audit system 10 .

步骤十:任务管理子系统2收集该用户请求的所有SQL子任务执行结果,通过VPN通道进行传输给应用服务器7。Step ten: The task management subsystem 2 collects the execution results of all SQL subtasks requested by the user, and transmits them to the application server 7 through the VPN channel.

步骤十一:任务执行结束,关闭加解密引擎,回收虚拟资源。Step 11: After the task is executed, close the encryption and decryption engine, and recover virtual resources.

Claims (2)

1.一种云计算环境下数据库加密保护系统,其特征在于,包括:1. A database encryption protection system under a cloud computing environment, characterized in that, comprising: 1)应用接口(1)是任务管理子系统(2)与应用服务器进行交互的接口,一方面将应用服务器的SQL请求提交给任务管理子系统(2),另一方面将任务管理子系统(2)收集的运行结果提供给应用服务器;1) The application interface (1) is the interface for the task management subsystem (2) to interact with the application server. On the one hand, the SQL request of the application server is submitted to the task management subsystem (2), and on the other hand, the task management subsystem ( 2) The collected running results are provided to the application server; 2)任务管理子系统(2),解析各种数据库访问请求,通过访问控制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子任务进行发布、维护、监视和更新控制管理工作;2) Task management subsystem (2), which parses various database access requests, decomposes the SQL requests allowed to be accessed into multiple execution subtasks through access control security review, and releases, maintains, monitors and updates these subtasks control management work; 3)资源管理子系统(3),一方面负责收集所有虚拟机和物理机的信息;另一方面按照任务管理子系统(2)发布的执行子任务的需求部署虚拟机,提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功能;3) The resource management subsystem (3), on the one hand, is responsible for collecting the information of all virtual machines and physical machines; on the other hand, it deploys virtual machines according to the sub-task execution requirements released by the task management subsystem (2), and provides encryption and decryption engine Create and recycle services to realize the on-demand distribution function of the virtual encryption and decryption engine; 4)加解密引擎池(4),系统最核心的部分,由多个基于虚拟化技术动态的加解密引擎组成,这些加解密引擎由资源管理子系统(3)在虚拟机中创建,是任务管理子系统(2)中任务的执行单元,负责为用户的数据业务提供加解密服务和数据安全访问服务。4) The encryption and decryption engine pool (4), the core part of the system, is composed of multiple dynamic encryption and decryption engines based on virtualization technology. These encryption and decryption engines are created in the virtual machine by the resource management subsystem (3). The task execution unit in the management subsystem (2), responsible for providing encryption and decryption services and data security access services for users' data services. 2.一种云计算环境下数据库加密保护方法,其特征在于:包括以下步骤:2. A database encryption protection method under a cloud computing environment, characterized in that: comprising the following steps: 步骤一:应用服务器的SQL请求通过应用接口(1)发送给任务管理子系统(2),任务管理子系统(2)对该请求进行语句合法性验证,判断其语句是否合法,并对其做并行任务处理;Step 1: The SQL request of the application server is sent to the task management subsystem (2) through the application interface (1), and the task management subsystem (2) verifies the validity of the statement of the request, judges whether the statement is legal, and executes Parallel task processing; 步骤二:任务管理子系统(2)将所有任务进行分析排序,把可以立即执行的任务发送给资源管理子系统(3),存在资源竞争冲突的任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任务根据任务执行策略决定继续等待或者丢弃;Step 2: The task management subsystem (2) analyzes and sorts all tasks, and sends the tasks that can be executed immediately to the resource management subsystem (3), puts the tasks with resource competition conflicts into the task waiting queue, and simultaneously Detection, the task that waits for timeout will be decided to continue waiting or discard according to the task execution strategy; 步骤三:资源管理子系统(3)收集系统中物理机的信息,预测系统对虚拟机的需求,按照虚拟机部署策略在物理机中部署需求的虚拟机;Step 3: The resource management subsystem (3) collects the information of the physical machines in the system, predicts the system's demand for virtual machines, and deploys the required virtual machines in the physical machines according to the virtual machine deployment strategy; 步骤四:资源管理子系统(3)将从任务管理子系统(2)收到的任务按优先级进行排序,选择优先级较高的任务,为该任务分配资源,根据资源分配策略在虚拟资源列表中选择匹配的虚拟机,若虚拟机不足,不能满足任务的资源需求,则执行步骤三;Step 4: The resource management subsystem (3) sorts the tasks received from the task management subsystem (2) according to their priority, selects a task with a higher priority, allocates resources for the task, and assigns resources to the virtual resource according to the resource allocation strategy. Select the matching virtual machine from the list. If the virtual machine is insufficient to meet the resource requirements of the task, go to step 3; 步骤五:在任务分配的虚拟机中检测加解密引擎程序并启动该程序,若启动成功告知任务管理子系统(2)任务正在执行,执行步骤六;否则告知任务执行异常,由任务管理子系统(2)撤销任务,执行步骤七;Step 5: Detect the encryption and decryption engine program in the virtual machine assigned by the task and start the program. If the program is successfully started, the task management subsystem (2) is informed that the task is being executed, and step 6 is executed; otherwise, the task is notified that the task is executing abnormally, and the task management subsystem (2) To cancel the task, go to step 7; 步骤六:任务开始执行,通过创建的加解密引擎程序完成数据库访问和数据加密服务,向任务管理子系统(2)返回结果;Step 6: The task starts to execute, completes the database access and data encryption services through the created encryption and decryption engine program, and returns the result to the task management subsystem (2); 步骤七:资源管理子系统(3)对任务执行完成的虚拟机,进行回收,销毁解密引擎程序。Step 7: The resource management subsystem (3) recycles the virtual machine that has completed the task execution, and destroys the decryption engine program.
CN201210181715.2A 2012-06-05 2012-06-05 Encipherment protection system and encipherment protection method for database in cloud computing environment Active CN102722576B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210181715.2A CN102722576B (en) 2012-06-05 2012-06-05 Encipherment protection system and encipherment protection method for database in cloud computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210181715.2A CN102722576B (en) 2012-06-05 2012-06-05 Encipherment protection system and encipherment protection method for database in cloud computing environment

Publications (2)

Publication Number Publication Date
CN102722576A CN102722576A (en) 2012-10-10
CN102722576B true CN102722576B (en) 2014-10-15

Family

ID=46948337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210181715.2A Active CN102722576B (en) 2012-06-05 2012-06-05 Encipherment protection system and encipherment protection method for database in cloud computing environment

Country Status (1)

Country Link
CN (1) CN102722576B (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514031B (en) * 2012-11-26 2017-06-06 Tcl集团股份有限公司 The processing method and system of file name conflict in multi-terminal concurrent operation
CN103001892B (en) * 2012-12-12 2015-08-19 中国联合网络通信集团有限公司 Based on network resource allocation method and the system of cloud computing
CN104104650B (en) * 2013-04-02 2017-07-21 联想(北京)有限公司 data file access method and terminal device
CN103577937A (en) * 2013-11-15 2014-02-12 浪潮(北京)电子信息产业有限公司 Method and system for managing recourses in cloud computing system
CN104104692B (en) * 2014-08-05 2017-03-08 中孚信息股份有限公司 A kind of virtual machine encryption method, decryption method and encryption and decryption control system
WO2016138067A1 (en) * 2015-02-24 2016-09-01 Cloudlock, Inc. System and method for securing an enterprise computing environment
CN106484542B (en) * 2016-09-06 2020-05-19 华为技术有限公司 A method and apparatus for processing overlapping node events in a distributed system
CN107220114A (en) * 2017-05-24 2017-09-29 北京计算机技术及应用研究所 Distributed resource scheduling method based on resource United Dispatching
CN107959588A (en) * 2017-12-07 2018-04-24 郑州云海信息技术有限公司 Cloud resource management method, cloud resource management platform and the management system of data center
CN108632276B (en) * 2018-05-07 2020-10-23 襄阳市尚贤信息科技有限公司 Computer network information safety system
CN109522320B (en) * 2018-11-12 2022-08-02 杭州弗兰科信息安全科技有限公司 Optimization method for serving homomorphic encryption of database
CN109981267B (en) * 2019-03-22 2021-06-08 西安电子科技大学 Large-scale user multi-key scenario cloud encryption database system and storage query method
CN113177221A (en) * 2021-05-27 2021-07-27 四川职业技术学院 Computer software encryption system
CN114006760B (en) * 2021-11-01 2023-07-18 西安思源学院 A database information security prevention and control system
CN116405329B (en) * 2023-06-08 2024-02-27 国网山西省电力公司晋城供电公司 Network security risk blocking device and system for power monitoring system
CN119066687B (en) * 2024-11-05 2025-02-07 上海励驰半导体有限公司 Encryption and decryption engine module, encryption and decryption method, storage medium and chip

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854392A (en) * 2010-05-20 2010-10-06 清华大学 A personal data management method based on cloud computing environment
CN102075542A (en) * 2011-01-26 2011-05-25 中国科学院软件研究所 Cloud computing data security supporting platform
CN102394894A (en) * 2011-11-28 2012-03-28 武汉大学 Network virtual disk file safety management method based on cloud computing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8654971B2 (en) * 2009-05-19 2014-02-18 Security First Corp. Systems and methods for securing data in the cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854392A (en) * 2010-05-20 2010-10-06 清华大学 A personal data management method based on cloud computing environment
CN102075542A (en) * 2011-01-26 2011-05-25 中国科学院软件研究所 Cloud computing data security supporting platform
CN102394894A (en) * 2011-11-28 2012-03-28 武汉大学 Network virtual disk file safety management method based on cloud computing

Also Published As

Publication number Publication date
CN102722576A (en) 2012-10-10

Similar Documents

Publication Publication Date Title
CN102722576B (en) Encipherment protection system and encipherment protection method for database in cloud computing environment
CN111488598B (en) Access control method, device, computer equipment and storage medium
JP6537455B2 (en) Method, apparatus, computer program product, and cloud compute infrastructure (key management in multi-tenant environment) of key management in multi-tenant computing infrastructure
US20200073696A1 (en) Secure access to a virtual machine
US9444820B2 (en) Providing context-based visibility of cloud resources in a multi-tenant environment
CN104871484B (en) System and method for endpoint hardware-assisted network firewall in a secure environment
US9076013B1 (en) Managing requests for security services
CN105991734B (en) A kind of cloud platform management method and system
CN103051631B (en) Unified security authentication method for PaaS platform and SaaS application system
CN110597832A (en) Government affair information processing method and device based on block chain network, electronic equipment and storage medium
EP3427178B1 (en) Secure file sharing over multiple security domains and dispersed communication networks
JP2023524659A (en) Low-trust privileged access management
US20170279720A1 (en) Real-Time Logs
CN110572258A (en) A cloud encryption computing platform and computing service method
JP4041497B2 (en) Method for initiating execution of computation in at least one untrusted computer
CN104951712A (en) Data safety protection method in Xen virtualization environment
Kanewala et al. A credential store for multi-tenant science gateways
CN106301791B (en) Method and system for realizing unified user authentication authorization based on big data platform
Thamizhselvan et al. Data security model for Cloud Computing using V-GRT methodology
CN119201196A (en) A system for implementing multi-application integration based on the middle platform architecture
CN106529216B (en) A software authorization system and software authorization method based on a public storage platform
de Aguiar Monteiro et al. A survey on microservice security–trends in architecture privacy and standardization on cloud computing environments
CN105120010B (en) A virtual machine anti-theft method in cloud environment
Li et al. Attack models for big data platform hadoop
AU2021104564A4 (en) Smart framework for providing privacy and protection in block chain based private transactions using cloud computing approach

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant