WO2018201991A1 - 数据处理方法、系统、装置、存储介质及设备 - Google Patents

数据处理方法、系统、装置、存储介质及设备 Download PDF

Info

Publication number
WO2018201991A1
WO2018201991A1 PCT/CN2018/084949 CN2018084949W WO2018201991A1 WO 2018201991 A1 WO2018201991 A1 WO 2018201991A1 CN 2018084949 W CN2018084949 W CN 2018084949W WO 2018201991 A1 WO2018201991 A1 WO 2018201991A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cloud
machine
key seed
seed
Prior art date
Application number
PCT/CN2018/084949
Other languages
English (en)
French (fr)
Inventor
周洪飞
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP18795137.1A priority Critical patent/EP3621268A4/en
Publication of WO2018201991A1 publication Critical patent/WO2018201991A1/zh
Priority to US16/504,207 priority patent/US10958650B2/en
Priority to US17/196,978 priority patent/US11765170B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Definitions

  • the embodiments of the present invention relate to the field of database technologies, and in particular, to a data processing method, system, device, storage medium, and device.
  • the database needs to encrypt the data written to the database and decrypt the data read from the database.
  • the database encrypts/decrypts data using a transparent data encryption mode.
  • the user defines the column to be encrypted
  • the database creates a data key for the table containing the column, and then encrypts the data key with the master key created for the database, and stores the master key in the database.
  • the encrypted data key is stored in a data dictionary in the database.
  • the database reads the master key from the "wallet”, decrypts the data key in the data dictionary with the master key, encrypts the data with the data key, and writes the data into the column.
  • the database reads the master key from the "wallet”, decrypts the data key in the data dictionary with the master key, and decrypts the data read from the column using the data key. Encrypt data.
  • Both the data key and the master key are generated by the database and are stored in the database, that is, the key system is coupled in the database, resulting in low security of the database.
  • the embodiment of the present application provides a data processing method, system, device, storage medium and device, which can solve the problem that the key system is coupled in the database, resulting in low security of the database.
  • the technical solution is as follows:
  • a data processing method for use in a data processing system including a client, a first cloud encryptor, a cloud manager, a database agent, and a database, wherein the first cloud encryptor is the cloud manager a cloud encryption machine assigned to the client; the method includes:
  • the cloud management machine triggers the first cloud encryption machine to store a root key seed, a work program, a data key seed, and a data key identifier according to the trigger request, and triggers the database proxy to store an encrypted data dictionary,
  • the working program is used to indicate an operation strategy of the first cloud encryption machine
  • the client sends a data processing request to the database agent
  • the database agent sends the first data and the encrypted data dictionary to the first cloud encryption machine when determining that the first data processed by the data processing request matches the encrypted data dictionary Data key identifier;
  • the first cloud encryption machine runs the working program, processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and obtains the processed data. Sending second data to the database agent;
  • the database agent responds to the data processing request with the second data.
  • a data processing method for use in a cloud management machine in a data processing system, the data processing system further comprising a client, a first cloud encryption machine, a database agent, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the method includes:
  • the first cloud encryption machine To store a root key seed, a work program, a data key seed, and a data key identifier, and trigger the database proxy to store an encrypted data dictionary, where the working program is used to indicate The operating strategy of the first cloud encryption machine;
  • the first cloud encryption machine is configured to receive first data sent by the database proxy and a data key identifier in the encrypted data dictionary, and run the working program to use the data key identifier corresponding to the received data identifier
  • the root key seed and the data key seed process the first data, and send the processed second data to the database agent
  • the database agent is configured to process the data by using the second data Requesting, the first data is data requested by the data processing request, and the first data and the data key identifier are that the database agent determines the first data and the encrypted data dictionary Sent when matched.
  • a data processing method for use in a first cloud encryption machine in a data processing system, the data processing system further comprising a client, a cloud management machine, a database agent, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the method includes:
  • the first data is processed, and the processed second data is sent to the database agent;
  • the database agent is configured to process the request by using the second data response data, the first data is the data processing Requesting the requested data, and the first data and the data key identification are sent by the database agent when determining that the first data matches the encrypted data dictionary.
  • a data processing method for use in a database agent in a data processing system, the data processing system further comprising a client, a first cloud encryptor, a cloud manager, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the method includes:
  • the cloud encryption machine stores a root key seed, a working program, a data key seed, and a data key identifier, where the working program is used to indicate an operation policy of the first cloud encryption machine;
  • a data processing method for use in a client in a data processing system, where the data processing system further includes a data processing system of a first cloud encryption machine, a cloud management machine, a database agent, and a database.
  • the first cloud encryption machine is a cloud encryption machine allocated by the cloud management machine to the client; the method includes:
  • the trigger request is used to instruct the cloud management machine to trigger the first cloud encryption machine to store a root key seed, a work program, a data key seed, and a data key identifier, and Triggering the database proxy to store an encrypted data dictionary, where the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • the database agent for transmitting to the first cloud encryption machine when determining that the first data requested by the data processing request matches the encrypted data dictionary Decoding first data and a data key identifier in the encrypted data dictionary; the first cloud encryption machine is configured to run the working program, and utilize a root key seed corresponding to the received data key identifier The data key seed processes the first data and sends the processed second data to the database agent; the database agent is configured to respond to the data processing request with the second data.
  • a data processing system including a client, a first cloud encryption machine, a cloud management machine, a database agent, and a database, wherein the first cloud encryption machine is the cloud management machine a cloud encryption machine allocated by the client;
  • the client is configured to send a trigger request to the cloud management machine
  • the cloud management machine is configured to trigger, according to the trigger request, the first cloud encryption machine to store a root key seed, a work program, a data key seed, and a data key identifier, and trigger the database proxy to store an encrypted data dictionary.
  • the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • the client is further configured to send a data processing request to the database proxy;
  • the database agent configured to send the first data and the encrypted data to the first cloud encryption machine when determining that the first data processed by the data processing request matches the encrypted data dictionary
  • the first cloud encryption machine is configured to run the working program, process the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and process the The second data obtained afterwards is sent to the database agent;
  • the database agent is further configured to respond to the data processing by using the second data.
  • a data processing apparatus for use in a cloud management machine in a data processing system, the data processing system further comprising a client, a first cloud encryption machine, a database agent, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the device includes:
  • a receiving module configured to receive a trigger request sent by the client
  • a triggering module configured to trigger, according to the trigger request received by the receiving module, the first cloud encryption machine to store a root key seed, a working program, a data key seed, and a data key identifier, and trigger the database proxy storage Encrypting a data dictionary, the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • the first cloud encryption machine is configured to receive first data sent by the database proxy and a data key identifier in the encrypted data dictionary, and run the working program to use the data key identifier corresponding to the received data identifier
  • the root key seed and the data key seed process the first data, and send the processed second data to the database agent
  • the database agent is configured to process the data by using the second data Requesting, the first data is data requested by the data processing request, and the first data and the data key identifier are that the database agent determines the first data and the encrypted data dictionary Sent when matched.
  • a data processing apparatus for use in a first cloud encryption machine in a data processing system, the data processing system further comprising a client, a cloud management machine, a database agent, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the device includes:
  • a storage module configured to store, under the trigger of the cloud management machine, a root key seed, a working program, a data key seed, and a data key identifier, where the trigger is sent by the cloud management machine to the client After the request is triggered, the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • a first processing module configured to receive first data sent by the database proxy and a data key identifier in the encrypted data dictionary, run the working program, and use a root corresponding to the received data key identifier
  • the key seed and the data key seed process the first data, and send the processed second data to the database agent
  • the database agent is configured to process the request by using the second data response data
  • the first data is data requested by the data processing request, and the first data and the data key identifier are that the database agent determines that the first data matches the encrypted data dictionary When sent.
  • a data processing apparatus for use in a database agent in a data processing system, the data processing system further comprising a client, a first cloud encryption machine, a cloud management machine, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the device includes:
  • a storage module configured to store an encrypted data dictionary under the trigger of the cloud management machine, where the trigger is generated after the cloud management machine receives the trigger request sent by the client, and the cloud management machine is further used to:
  • the first cloud encryption machine is triggered to store a root key seed, a working program, a data key seed, and a data key identifier, where the working program is used to indicate an operation policy of the first cloud encryption machine;
  • a receiving module configured to receive a data processing request sent by the client
  • a processing module configured to send the first data and the encrypted data dictionary to the first cloud encryption machine when determining that the first data processed by the data processing request matches the encrypted data dictionary
  • Receiving the data key identifier receiving the first cloud encryption machine to run the working program, and using the root key seed and the data key seed corresponding to the received data key identifier to perform the first data Processing second data after processing; responding to the data processing request with the second data.
  • a data processing apparatus for use in a client in a data processing system, the data processing system further comprising a data processing system of a first cloud encryption machine, a cloud management machine, a database agent, and a database.
  • the first cloud encryption machine is a cloud encryption machine allocated by the cloud management machine to the client; the device includes:
  • a sending module configured to send a trigger request to the cloud management device, where the trigger request is used to instruct the cloud management machine to trigger the first cloud encryptor to store a root key seed, a work program, a data key seed, and data Identifying a key, and triggering the database proxy to store an encrypted data dictionary, where the working program is used to indicate an operation policy of the first cloud encryption machine;
  • the sending module is further configured to send a data processing request to the database proxy, where the database proxy is configured to: when determining that the first data requested by the data processing request matches the encrypted data dictionary, Transmitting, by the first cloud encryption machine, the first data and a data key identifier in the encrypted data dictionary; the first cloud encryption machine is configured to run the working program, and utilize the received data key Identifying a corresponding root key seed and a data key seed to process the first data, and sending the processed second data to the database agent; the database agent is configured to utilize the second data response The data processing request.
  • a cloud management machine being used in a data processing system, the data processing system further comprising a client, a first cloud encryption machine, a database agent, and a database, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the cloud management machine includes:
  • One or more processors and a memory; the memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs Contains instructions for doing the following:
  • the first cloud encryption machine To store a root key seed, a work program, a data key seed, and a data key identifier, and trigger the database proxy to store an encrypted data dictionary, where the working program is used to indicate The operating strategy of the first cloud encryption machine;
  • the first cloud encryption machine is configured to receive first data sent by the database proxy and a data key identifier in the encrypted data dictionary, and run the working program to use the data key identifier corresponding to the received data identifier
  • the root key seed and the data key seed process the first data, and send the processed second data to the database agent
  • the database agent is configured to process the data by using the second data Requesting, the first data is data requested by the data processing request, and the first data and the data key identifier are that the database agent determines the first data and the encrypted data dictionary Sent when matched.
  • a first cloud encryption machine for use in a data processing system, the data processing system further comprising a client, a cloud management machine, a database agent, and a database, wherein the first cloud encryption machine is the cloud a cloud encryption machine allocated by the management machine to the client; the first cloud encryption machine includes:
  • One or more processors and a memory; the memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs Contains instructions for doing the following:
  • the seed processes the first data, and sends the processed second data to the database agent;
  • the database agent is configured to process the request by using the second data response data, where the first data is
  • the data processing request requests the processed data, and the first data and the data key identifier are sent by the database agent when determining that the first data matches the encrypted data dictionary.
  • a database agent for use in a data processing system, the data processing system further comprising a client, a first cloud encryption machine, a cloud management machine, and a database, wherein the first cloud encryption machine is the cloud a cloud encryption machine allocated by the management machine to the client; the database agent includes:
  • One or more processors and a memory; the memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs Contains instructions for doing the following:
  • the cloud encryption machine stores a root key seed, a working program, a data key seed, and a data key identifier, where the working program is used to indicate an operation policy of the first cloud encryption machine;
  • a client for use in a database processing system, the data processing system further comprising a first cloud encryption machine, a cloud management machine, a database agent, and a database data processing system, the first cloud encryption
  • the machine is a cloud encryption machine allocated by the cloud management machine to the client; the client includes:
  • One or more processors and a memory; the memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs Contains instructions for doing the following:
  • the trigger request is used to instruct the cloud management machine to trigger the first cloud encryption machine to store a root key seed, a work program, a data key seed, and a data key identifier, and Triggering the database proxy to store an encrypted data dictionary, where the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • the database agent for transmitting to the first cloud encryption machine when determining that the first data requested by the data processing request matches the encrypted data dictionary Decoding first data and a data key identifier in the encrypted data dictionary; the first cloud encryption machine is configured to run the working program, and utilize a root key seed corresponding to the received data key identifier The data key seed processes the first data and sends the processed second data to the database agent; the database agent is configured to respond to the data processing request with the second data.
  • a computer readable storage medium is provided, the instructions stored in the computer readable storage medium, when executed on a cloud management machine, cause the cloud management machine to perform the data processing method described above.
  • a computer readable storage medium having stored therein instructions that, when run on a first cloud encryption machine, cause the first cloud encryption machine to perform the data processing method described above.
  • a computer readable storage medium having instructions stored therein that, when run on a database agent, cause a database agent to perform the data processing method described above.
  • a computer readable storage medium having instructions stored therein that, when executed on a client, cause a client to perform the data processing method described above.
  • the database agent sends the first data and the data key identifier to the first cloud encryption machine when receiving the data processing request and determining that the first data processed by the data processing request matches the encrypted data dictionary; the first cloud encryption machine Processing the first data by using a root key seed and a data key seed corresponding to the received data key identifier, since the root key seed and the data key seed are stored in the first cloud encryption machine, the first data storage In the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the root key seed and the data key seed in the first cloud encryption machine cannot be obtained, the identification cannot be recognized.
  • a data which improves the security of the database.
  • FIG. 1 is a schematic structural diagram of a data processing system according to some exemplary embodiments
  • FIG. 2 is a hardware schematic diagram of a data processing system, according to some exemplary embodiments.
  • FIG. 3 is a flowchart of a method for processing a data provided by an embodiment of the present application.
  • FIG. 4 is a flowchart of a method for processing a data according to another embodiment of the present application.
  • FIG. 5 is a schematic diagram of a data processing method according to another embodiment of the present application.
  • FIG. 6 is a schematic diagram of application of a data processing method according to another embodiment of the present application.
  • FIG. 7 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • FIG. 8 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • FIG. 9 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • FIG. 10 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • FIG. 11 is a structural block diagram of a terminal according to still another embodiment of the present application.
  • FIG. 1 is a schematic structural diagram of a data processing system according to an embodiment of the present application.
  • the data processing system includes a client 110, a first cloud encryptor 120, a cloud manager 130, a second cloud encryptor 140, a database agent 150, and a database 160.
  • the cloud management machine 130 maintains a network connection with multiple cloud encryption machines for managing these cloud encryption machines.
  • the cloud encryption machine in which the cloud management machine 130 maintains a dedicated network connection is referred to as a second cloud encryption machine 140, and the second cloud encryption machine 140 is configured to generate a root key seed, and the root key seed is used to generate a root secret.
  • the cloud encryption machine assigned by the cloud management machine 130 to the client 110 is referred to as a first cloud encryption machine 120.
  • the first cloud encryption machine 120 is configured to generate a data key seed, and the data key seed is used to generate data.
  • the key, the first cloud encryption machine 120 is a cloud encryption machine selected by the cloud management machine 130 from a cloud encryption machine that is not assigned to the client according to the proximity principle.
  • the cloud encryption machine can be implemented by using an encryption chip.
  • one encryption chip can be implemented as a cloud encryption machine.
  • the encryption chip can provide encryption and decryption services for one user. Since the processing resources of one encryption chip exceed the processing resources required by a user's encryption and decryption service, the encryption chip still has some processing resources remaining.
  • an encryption chip can be implemented as multiple cloud encryption machines through virtualization technology. That is, one encryption chip corresponds to a plurality of cloud encryption machines, and each cloud encryption machine is assigned to one user, so that one encryption chip provides encryption and decryption services for multiple users.
  • each cloud encryption machine may be allocated the same processing resource, or different processing resources may be allocated to different cloud encryption machines according to user requirements.
  • the size of the user's needs is positively related to the amount of processing resources. That is, a cloud encryption machine with a large user demand is allocated a large amount of processing resources, and a cloud encryption machine with a small user demand is allocated less processing resources.
  • the client 110 and the cloud manager 130 establish a network connection through a wired network or a wireless network.
  • the network connection between the client 110 and the cloud management machine 130 is an HTTPS (Hyper Text Transfer Protocol over Secure Socket Layer) connection to improve the client 110 and the cloud management machine.
  • HTTPS Hyper Text Transfer Protocol over Secure Socket Layer
  • the client 110 establishes a network connection with the database agent 150 through a wired network or a wireless network
  • the database agent 150 establishes a network connection with the database 160 through a wired network or a wireless network.
  • a CA secure channel based on a CA (Certificate Authority) certificate is established between the database agent 150 and the first cloud encryption machine 120 for transmitting data between the database agent 150 and the first cloud encryption machine 120.
  • CA Certificate Authority
  • the CA certificate may be time-sensitive.
  • the database agent 150 and the first cloud encryption machine 120 re-establish a CA security channel based on the new CA certificate to ensure Security of the CA secure channel.
  • the user management terminal in FIG. 2 is also the client 110 in FIG. 1.
  • the application cloud platform is the database proxy 150 in FIG. 1, and the cryptographic cloud platform includes the first cloud encryption device 120 in FIG.
  • the second cloud encryption machine 140 is used to manage the cryptographic cloud platform.
  • the management center is the cloud management machine 130 in FIG.
  • FIG. 3 is a flowchart of a method for processing a data provided by an embodiment of the present application.
  • the data processing method can be applied to the data processing system shown in FIG. 1.
  • the data processing method includes:
  • step 301 the client sends a trigger request to the cloud management machine.
  • the trigger request is used to instruct the cloud manager to trigger the first cloud encryptor to store the root key seed, the work program, the data key seed, and the data key identifier, and trigger the database proxy to store the encrypted data dictionary.
  • Step 302 The cloud management machine triggers the first cloud encryption machine to store the root key seed, the working program, the data key seed, and the data key identifier according to the trigger request, and triggers the database proxy to store the encrypted data dictionary.
  • the working program is used to indicate the running strategy of the first cloud encryption machine.
  • the data key seed is used to generate a data key.
  • the data key is used to encrypt the data to be written into the database, or the data key is used to decrypt the data read from the database.
  • the data key seed carries a flag bit for indicating an encryption algorithm, and the first cloud encryption machine generates data according to the encryption algorithm and the data key seed indicated by the flag bit under the control of the operation policy indicated by the working program. Key. Different encryption algorithms generate different data keys.
  • the data key identifier is used to identify the data key seed.
  • the first cloud encryption machine identifies the corresponding data key seed according to the data key identifier under the control of the running policy indicated by the working program.
  • the root key seed is used to generate the root key.
  • the root key seed carries a flag bit for indicating an encryption algorithm, and the first cloud encryption machine generates a root according to the encryption algorithm and the root key seed indicated by the flag bit under the control of the operation policy indicated by the working program. Key. Different encryption algorithms generate different root keys.
  • the encrypted data dictionary includes the encryption granularity, which is one of a database, a table, and a field.
  • the encryption granularity is a database
  • the first cloud encryption machine encrypts at least one database
  • the encryption granularity is a table
  • the first cloud encryption machine encrypts at least one table in a database
  • the encryption granularity is In the case of a field
  • the first cloud encryptor encrypts at least one field in a table.
  • the encrypted data dictionary further includes a data key identifier, thereby indicating a data key corresponding to a different encryption granularity by the data key identifier.
  • the client can select one of the database, table and field as the encryption granularity according to the requirements, the flexibility of database encryption is improved.
  • step 303 the client sends a data processing request to the database proxy.
  • Step 304 The database agent sends the first data and the data key identifier in the encrypted data dictionary to the first cloud encryptor when determining that the first data processed by the data processing request matches the encrypted data dictionary.
  • the database agent reads the first data from the database according to the data processing request, and the matching of the first data with the encrypted data dictionary means that the first data read from the database is located in the encrypted data dictionary.
  • the encryption granularity is the table b in the database a. If the first data read by the database agent is located in the table b, it is determined that the first data matches the encrypted data dictionary; if the first data is read by the database agent Not in the table b, it is determined that the first data does not match the encrypted data dictionary.
  • the database agent After determining the encryption granularity, the database agent further needs to determine a data key identifier corresponding to the encryption granularity, generate a decryption request carrying the first data and the data key identifier, and send the decryption request to the first cloud encryption machine.
  • matching the first data with the encrypted data dictionary means that the first data to be written into the database is located in the encrypted granularity of the encrypted data dictionary.
  • the encryption granularity is the table b in the database a. If the database agent needs to write the first data into the table b, it is determined that the first data matches the encrypted data dictionary; if the database agent does not need to use the first data Writing to table b determines that the first data does not match the encrypted data dictionary.
  • the database agent After determining the encryption granularity, the database agent further needs to determine a data key identifier corresponding to the encryption granularity, generate an encryption request carrying the first data and the data key identifier, and send the encryption request to the first cloud encryption machine.
  • Step 305 The first cloud encryption machine runs a working program, processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and sends the processed second data to the second data.
  • Database agent The first cloud encryption machine runs a working program, processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and sends the processed second data to the second data.
  • the first cloud encryption machine determines the root key seed by using the data key identifier under the control of the running policy indicated by the working program, and generates a root key according to the root key seed, according to the root key
  • the key is encrypted and sent to the operation buffer area.
  • the first cloud encryption machine determines the data key seed according to the data key identifier, generates a data key according to the data key seed, and decrypts the first data according to the data key to obtain the third data.
  • the first cloud encryption machine reads the third data from the operation buffer area, and then decrypts the third data according to the root key to obtain the second data; and sends the second data to the database agent.
  • the operation buffer is used to cache intermediate data in the process of processing the first data requested by the client by the first cloud encryption machine.
  • the first cloud encryption machine determines the root key seed by using the data key identifier under the control of the running policy indicated by the working program, and generates a root key according to the root key seed, according to the root key
  • the key is encrypted and sent to the operation buffer area.
  • the first cloud encryption machine determines the data key seed according to the data key identifier, generates a data key according to the data key seed, and encrypts the first data according to the data key to obtain the fourth data.
  • the first cloud encryption machine reads the fourth data from the operation buffer area, and then decrypts the fourth data according to the root key to obtain the second data; and sends the second data to the database agent.
  • the root key encrypts the first data sent to the operation buffer area, and then decrypts the third data or the fourth data outputted from the operation buffer area to obtain the second data to ensure the operation buffer. The security of the data.
  • step 306 the database agent processes the request with the second data response data.
  • the database agent When the data processing request is a read request, the database agent sends the second data to the client; when the data processing request is a write request, the database agent sends the second data to the database for storage.
  • Steps 301 and 303 can be implemented separately as an embodiment on the client side.
  • Step 302 can be implemented as an embodiment on the cloud management machine side.
  • Steps 304 and 306 can be implemented separately as an embodiment on the database agent side.
  • Step 305 can be performed separately.
  • the implementation becomes the first cloud encryption machine side embodiment.
  • the data processing method when the database agent receives the data processing request, and determines that the first data requested by the data processing request matches the encrypted data dictionary, the first cloud encrypting machine is matched to the first cloud encrypting machine.
  • the first cloud encryptor processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier; due to the root key seed and the data secret
  • the key seed is stored in the first cloud encryption machine, and the first data is stored in the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the first cloud encryption machine cannot be obtained, The root key seed and data key seed still cannot identify the first data, thus improving the security of the database.
  • FIG. 4 illustrates a method flowchart of a data processing method provided by another detailed embodiment of the present application, which may be applied to the data processing system shown in FIG. 1.
  • a data processing method is introduced by taking a data processing request as a read request or a write request as an example.
  • the data processing method includes:
  • step 401 the client sends a first trigger request to the cloud management machine.
  • the first trigger request is used to request the cloud management machine to allocate the first cloud encryption machine to the client.
  • the first trigger request may be a cloud encryptor purchase request, and the cloud encryptor purchase request is used to request the cloud manager to allocate the first cloud encryptor to the client.
  • the cloud encryption machine purchase request carries at least the identifier of the client.
  • the cloud encryption machine purchase request may further carry the attribute information of the client, and the cloud management machine may allocate the first cloud encryption machine to the client according to the attribute information.
  • the attribute information may be used to indicate the geographic location of the client, and the cloud management machine allocates the first cloud encryption machine to the client according to the attribute information and the proximity principle.
  • Step 402 The cloud management machine triggers the first cloud encryption machine to store the root key seed and the working program according to the first trigger request.
  • the cloud management machine instructs the client to select the first encryption algorithm under the instruction of the first trigger request, and sends the first encryption algorithm selected by the client to the second cloud encryption machine; the second cloud encryption machine generates a root key seed, and the root key seed is sent to the cloud management machine, where the root key seed carries a flag bit for indicating the first encryption algorithm; and the cloud management machine receives the root key seed sent by the second cloud encryption machine
  • the cloud management machine instructs the client to select a work program, and sends the root key seed and the work program selected by the client to the first cloud encryption machine; the first cloud encryption machine stores the root key seed and the work program.
  • the cloud management machine uses the identifier of the client carried in the first trigger request to log in, and displays an encryption algorithm selection interface, and the user selects at least one of the interfaces displayed by the encryption algorithm.
  • An encryption algorithm is selected in the encryption algorithm.
  • the encryption algorithm selected by the user is referred to as a first encryption algorithm.
  • the second cloud encryption machine After the cloud management machine sends the first encryption algorithm to the second cloud encryption machine, the second cloud encryption machine generates a root key seed through the encryption chip, and the generation process is not described here.
  • the user can update the root key by updating the first encryption algorithm, thereby realizing the purpose of dynamically updating the key system according to the needs of the user.
  • the cloud manager When the client is instructed to select a work program, the cloud manager displays a work program selection interface, and the user selects one of the at least one work program displayed by the work program selection interface. Among them, when the user selects a work program, it is also necessary to select whether it is a single user mode or a multi-user mode.
  • the user When the user selects the single-user mode, it indicates that an encryption chip is implemented as a cloud encryption machine, and the operation buffer area of the encryption chip is allocated to a user, and the operation buffer can be indicated by a working program; when the user selects the multi-user mode
  • the operation buffer area of the encryption chip is divided into a plurality of intervals and allocated to different users, and a work program is used to indicate one assigned to the user. Interval.
  • the root key seed and the working program may be written to the first cloud encryption machine by using the open write circuit in the first cloud encryption machine, and the root key seed and the work are stored in the first cloud encryption machine.
  • the write circuit of the first cloud encryption machine is closed, and the response of the purchase result is sent to the cloud management machine, and the cloud management machine sends a response of the purchase result to the client according to the identifier of the client.
  • the cryptographic chip can control the turn-on and turn-off of the write level by the level of the write circuit. For example, set a high level to turn on the write circuit, set a low level to turn off the write circuit, or set a low level to turn on the write circuit and set a high level to turn off the write circuit.
  • the cryptographic chip can control the turn-on and turn-off of the write level by changing the level of the write circuit. For example, the write circuit is currently turned on, and when the level of the write circuit is detected to change, the write circuit is turned off; or, the write circuit is currently turned off, and when the level of the write circuit is detected to be changed, it is turned on. Write to the circuit. This embodiment does not limit the implementation of the opening and closing of the write circuit.
  • USBKey electronic key
  • the first cloud encryption machine writes the root key seed and the working program into the USBKey.
  • the USBKey written to the root key and the worker is delivered offline to the client's user.
  • Step 403 The client sends a second trigger request to the cloud management machine.
  • the second trigger request is used to request the cloud management machine to encrypt the database.
  • the second trigger request may be a database encryption request, and at this time, the database encryption request is used to request the cloud management machine to encrypt the database.
  • the database encryption request carries at least the identifier of the client and the identifier of the database requested by the user.
  • Step 404 The cloud management machine triggers the first cloud encryption machine to store the data key seed and the data key identifier according to the second trigger request, and triggers the database proxy to store the encrypted data dictionary.
  • the cloud management machine acquires the data dictionary of the database through the database proxy under the instruction of the second trigger request, and instructs the client to select the second encryption algorithm and the encryption granularity; the cloud management machine sends the second encryption algorithm to the first a cloud encryption machine; the first cloud encryption machine generates a data key identifier and a data key seed, and sends the data key identifier to the cloud management machine, where the data key seed carries a flag bit for indicating the second encryption algorithm; The cloud management machine writes the data key identifier and the encryption granularity into the encrypted data dictionary, and sends the encrypted data dictionary to the database agent; the database agent stores the encrypted data dictionary.
  • the process of the cloud management machine acquiring the data dictionary through the database agent is: the cloud management machine sends a data dictionary acquisition request to the database agent, where the data dictionary acquisition request carries the identifier of the database; the database agent determines the database according to the identifier of the database, and A data dictionary is requested from the database; the database sends the data dictionary to the database agent; the database agent forwards the data dictionary to the cloud manager.
  • the cloud management machine uses the identifier of the client carried in the second trigger request to log in, and displays an encryption granularity selection interface, and the user selects at least one encryption granularity displayed by the encrypted granularity selection interface.
  • Encryption granularity the user may also select multiple encryption granularities. For example, the user selects to encrypt multiple fields in a table. In this case, the multiple fields correspond to a set of data keys; or, the user selects in different tables. The fields are encrypted, in which case multiple fields in each table correspond to a set of data keys.
  • the cloud manager For each set of data keys, the cloud manager instructs the client to select a second encryption algorithm.
  • the process of the cloud management machine instructing the client to select the second encryption algorithm is the same as the process of instructing the client to select the first encryption algorithm, and details are not described herein.
  • the user can update the data key by updating the second encryption algorithm, thereby realizing the purpose of dynamically updating the key system according to the needs of the user.
  • the first cloud encryption machine After the cloud management machine sends the second encryption algorithm to the first cloud encryption machine, the first cloud encryption machine generates a data key seed and a data key identifier through the encryption chip, where the data key seed carries a second encryption algorithm for indicating A flag bit, the data key identifier is used to identify the data key seed, and the generation process is not described herein.
  • the first cloud encryption machine also sends the data key seed to the cloud management machine, and the cloud management machine writes the data key seed and the encryption granularity into the encrypted data dictionary, and sends the encrypted data dictionary to the database agent for storage.
  • the cloud management machine when the USB key is connected to the client, the cloud management machine sends the obtained data key identifier to the first cloud encryption machine; the first cloud encryption machine determines the root key seed and data corresponding to the data key identifier. Key seed, encrypting the data key seed by using the root key, and transmitting the data key identifier and the encrypted data key seed to the cloud management machine, the root key is generated according to the root key seed; cloud management The machine sends the data key identifier and the encrypted data key seed to the client; the client writes the data key identifier and the encrypted data key seed into the USBKey.
  • the user After the client receives the data key identifier and the encrypted data key seed, the user connects the USBKey to the client, and writes the data key identifier and the encrypted data key seed to the USBKey through the client.
  • the USB key stores a root key seed, a work program, a data key identifier, and an encrypted data key seed, so that the root key seed, the work program, and the data stored in the first cloud encryption machine are stored.
  • the user can connect the USBKey to the first cloud encryption machine, and back up the root key seed, the work program, the data key seed, and the data key to the first cloud encryption machine through the USBKey.
  • the working program may generate a root key according to the root key seed, and then decrypt the encrypted data key seed according to the root key to obtain a data key seed.
  • Step 405 The client sends a data processing request to the database agent.
  • step 406 When the data processing request is a read request, step 406 is performed; when the data processing request is a write request, step 409 is performed.
  • Step 406 The database agent reads the first data from the database according to the read request, and when determining that the first data matches the encrypted data dictionary, sends the data confidential in the first data and the encrypted data dictionary to the first cloud encryptor.
  • the decryption request for the key ID is not limited to the first cloud encryptor.
  • the database agent determines that the first data read from the database matches the encrypted data dictionary, and the process of transmitting the decryption request carrying the first data and the data key identifier in the encrypted data dictionary to the first cloud encryptor
  • the process of transmitting the decryption request carrying the first data and the data key identifier in the encrypted data dictionary to the first cloud encryptor For details, refer to the description in step 304, which is not described here.
  • the database agent sends a CA certificate acquisition request to the first cloud encryption machine; the first cloud encryption machine sends the CA certificate to the database agent; the database agent utilizes the CA certificate.
  • a CA secure channel is established with the first cloud encryption machine, and the CA secure channel is used for transmitting data between the database agent and the first cloud encryption machine.
  • the database agent After the CA secure channel is established, the database agent sends a decryption request to the first cloud encryptor on the CA secure channel.
  • the CA certificate in this embodiment is time-sensitive.
  • the CA security channel established based on the CA certificate is also invalid, and the database agent needs to re-acquire the new CA certificate to the first cloud encryption machine, and The new CA security channel is established with the new CA certificate to avoid the use of a fixed CA certificate.
  • the CA security channel is not secure.
  • the first data may be encrypted by the data key
  • the operation buffer is encrypted by the root key
  • the data is transmitted through the CA secure channel to form a three-layer encryption system, thereby improving the security of the database encryption.
  • Step 407 The first cloud encryption machine runs a working program, decrypts the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and sends the decrypted second data to the second data.
  • Database agent The first cloud encryption machine runs a working program, decrypts the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and sends the decrypted second data to the second data.
  • the first cloud encryption machine determines the operation buffer corresponding to the client by using the running work program; the first cloud encryption machine determines the root key seed corresponding to the received data key identifier, according to the root key seed. Generating a root key, encrypting the first data and the data key identifier according to the root key, and buffering the buffer into the operation buffer area; in the operation buffer area, the first cloud encryption machine generates a data key according to the data key identifier. And decrypting the first data according to the data key to obtain the third data; the first cloud encryption machine reads the third data from the operation buffer area, and decrypts the third data according to the root key to obtain the second data.
  • the first cloud encryption machine further encrypts the program code for processing the first data in the operation buffer area by using the root key, so that even if the encrypted program code is leaked, the root key cannot be obtained. Therefore, the encrypted program code cannot be decrypted, so that the processing flow of the first data cannot be determined according to the program code, and the security of the data processing can be ensured.
  • the first cloud encryption machine sends the second data to the database agent on the CA secure channel.
  • step 408 the database agent sends the second data to the client, and the process ends.
  • Step 409 The database agent sends an encryption request carrying the first data and the data key identifier in the encrypted data dictionary to the first cloud encryption machine when determining that the first data in the write request matches the encrypted data dictionary.
  • the database agent determines that the first data in the write request matches the encrypted data dictionary, and the process of sending the encryption request carrying the first data and the data key identifier in the encrypted data dictionary to the first cloud encryptor is detailed. The description in step 304 is not described here.
  • the database agent sends a CA certificate acquisition request to the first cloud encryption machine; the first cloud encryption machine sends the CA certificate to the database agent; the database agent uses the CA certificate.
  • a CA secure channel is established with the first cloud encryption machine, and the CA secure channel is used for transmitting data between the database agent and the first cloud encryption machine.
  • the database agent After the CA secure channel is established, the database agent sends an encryption request to the first cloud encryptor on the CA secure channel.
  • the CA certificate in this embodiment is time-sensitive.
  • the CA security channel established based on the CA certificate is also invalid, and the database agent needs to re-acquire the new CA certificate to the first cloud encryption machine, and The new CA security channel is established with the new CA certificate to avoid the use of a fixed CA certificate.
  • the CA security channel is not secure.
  • Step 410 The first cloud encryption machine runs a working program, encrypts the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and sends the encrypted second data to the second data.
  • Database agent The first cloud encryption machine runs a working program, encrypts the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and sends the encrypted second data to the second data.
  • the first cloud encryption machine determines the operation buffer area corresponding to the client by using the running work program, and the operation buffer area is used for buffering the intermediate data in the process of processing the first data by the first cloud encryption machine;
  • the encrypting machine determines a root key seed corresponding to the received data key identifier, generates a root key according to the root key seed, and encrypts the first data and the data key identifier according to the root key, and buffers the buffer into the operation buffer area.
  • the first cloud encryption machine In the operation buffer area, the first cloud encryption machine generates a data key according to the data key identifier, and encrypts the first data according to the data key to obtain the fourth data; the first cloud encryption machine is from the operation buffer area.
  • the fourth data is read, and the fourth data is decrypted according to the root key to obtain the second data.
  • the first cloud encryption machine further encrypts the program code for processing the first data in the operation buffer area by using the root key, so that even if the encrypted program code is leaked, the root key cannot be obtained. Therefore, the encrypted program code cannot be decrypted, so that the processing flow of the first data cannot be determined according to the program code, and the security of the data processing can be ensured.
  • the first cloud encryption machine sends the second data to the database agent on the CA secure channel.
  • step 411 the database agent sends the second data to the database.
  • the first cloud encryption machine delays the response detection behavior according to the attack strength of the detection behavior, or the attack strength according to the detection behavior. Destroying the root key seed and data key seed stored in the first cloud encryption machine.
  • the encryption chip corresponding to the first cloud encryption machine has a function of identifying the detection behavior.
  • the encryption chip turns off the write circuit after the initialization of the first cloud encryption machine is completed, and when the hacker attempts to detect the first cloud encryption machine, the illegal write behavior or the export behavior is performed by the write circuit. At this time, the encryption chip can recognize the detection behavior according to the level change of the write circuit.
  • the response detection behavior is delayed according to the attack strength of the detection behavior. For example, when the attack strength is weak, the first cloud encryption machine delays the response detection behavior by 1 hour; when the attack strength is strong, the first cloud encryption machine delays the response detection behavior by 1 day.
  • the hacker Since the hacker can continue to perform the detection behavior at a high frequency through the program, the hacker may crack the key system in a short time, and in the present embodiment, the frequency of the detection behavior can be reduced by delaying the response detection behavior, so that the hacker needs It takes a long time to crack the key system, and even some hackers have no patience to continue to crack the key system, thus giving up the crack key system and improving the security of the key system.
  • the delayed response detection behavior can also reduce the processing resources wasted due to the high frequency detection behavior, and reduce the probability that the first cloud encryption machine collapses due to the shortage of processing resources.
  • the attack strength can be determined according to the number of attacks and the attack frequency. For example, the number of attacks is positively correlated with the strength of the attack. The attack frequency is positively correlated with the strength of the attack. .
  • the first cloud encryption machine may also destroy the root key seed, the working program, the data key seed, and the data key identifier stored in the first cloud encryption machine according to the attack strength, thereby ensuring the security of the key system.
  • the original database can be backed up offline, and the backup database is updated by using the new key system, and the updated database is replaced with the original database to realize the consolidation of the new database.
  • the updating of the backed up database refers to updating the data in the database by using the new key system, and replacing the original data in the backed up database with the updated data.
  • the key system is generated by the cloud encryption machine, distributed by the cloud management machine, and saved by the USBKey, so that the key system has better scalability, and can adapt to various types of cloud encryption machine manufacturers, cloud management machine manufacturers, and customers.
  • the USBKey and the cloud encryption machine are independent of each other, and the USBKey and the cloud management machine are also independent of each other.
  • the USBKey can separately store the key and separate from the management of the cloud encryption machine and the cloud management machine to clarify the role.
  • Steps 401, 403, and 405 can be separately implemented as an embodiment on the client side, and steps 402 and 404 can be separately implemented as an embodiment on the cloud management machine side, and steps 406, 408, 409, and 411 can be separately implemented as database agent side.
  • steps 407 and 410 can be implemented separately as an embodiment on the first cloud encryption machine side.
  • Step 501 The client sends a cloud encryption machine purchase request to the cloud management machine.
  • Step 502 The cloud management machine instructs the client to select the first encryption algorithm.
  • Step 503 The cloud management machine sends a root key acquisition request to the second cloud encryption machine, where the root key acquisition request carries a first encryption algorithm.
  • Step 504 The second cloud encryption machine sends the root key generated according to the first encryption algorithm to the cloud management machine.
  • step 505 the cloud manager instructs the client to select a work program.
  • step 506 the cloud manager sends the root key seed and the working program to the first cloud encryption machine.
  • Step 507 The first cloud encryption machine stores the root key seed and the working program, writes the root key seed and the working program into the USBKey, and sends the purchase result to the cloud management machine.
  • the USBKey is sent offline to the client's user.
  • step 508 the cloud management machine sends the purchase result to the client.
  • step 509 the client sends a database encryption request to the cloud manager.
  • step 510 the cloud management machine acquires a data dictionary of the database through a database agent.
  • step 511 the cloud management machine instructs the client to select a second encryption algorithm and an encryption granularity.
  • Step 512 The cloud management machine sends a data key seed acquisition request to the second cloud encryption machine, where the data key seed acquisition request carries a second encryption algorithm.
  • Step 513 The second cloud encryption machine generates a data key seed according to the second encryption algorithm, and generates a data key identifier, and sends the data key identifier to the cloud management machine.
  • step 514 the cloud management machine writes the encryption granularity and the data key identifier into the encrypted data dictionary, and sends the encrypted data dictionary to the database proxy.
  • step 515 the database agent stores the encrypted data dictionary.
  • step 516 the database agent sends a CA certificate acquisition request to the first cloud encryption machine.
  • step 517 the first cloud encryption machine sends a CA certificate to the database agent.
  • Step 518 The database agent establishes a CA secure channel with the first cloud encryption machine according to the CA certificate.
  • step 519 the cloud management machine sends a data key identifier to the first cloud encryption machine.
  • Step 520 The first cloud encryption machine determines the root key seed and the data key seed according to the data key identifier, generates a root key according to the root key seed, encrypts the data key seed according to the root key, and uses the data key
  • the identified and encrypted data key seed is sent to the cloud manager.
  • Step 521 The cloud manager sends the data key identifier and the encrypted data key seed to the client.
  • Step 522 The client writes the data key identifier and the encrypted data key seed into the USBKey.
  • step 523 the client sends a read request to the database agent.
  • Step 524 The database agent reads the first data from the database according to the read request.
  • Step 525 The database agent matches the first data with the encrypted data dictionary, and when determining that the data needs to be decrypted, sends a decryption request to the second cloud encryption machine through the CA secure channel, where the decryption request carries the first data and the encryption The data key identifier in the data dictionary.
  • Step 526 The second cloud encryption machine decrypts the data, and sends the decrypted second data to the database agent through the CA secure channel.
  • step 527 the database agent sends the second data to the client, and the process ends.
  • step 528 the client sends a write request to the database agent.
  • Step 529 The database agent matches the first data in the write request with the encrypted data dictionary, and sends an encryption request to the second cloud encryption machine through the CA secure channel when determining that the first data in the write request needs to be encrypted.
  • the first data and the data key identifier in the encrypted data dictionary are carried.
  • Step 530 The second cloud encryption machine encrypts the first data, and sends the encrypted second data to the database agent through the CA secure channel.
  • step 531 the database agent sends the second data to the database, and the process ends.
  • the data processing method provided in this embodiment is applied to the financial security database as an example. Please refer to FIG. 6 .
  • the trusted client needs to query the database agent (Query) SSN (Social Security Number) data of "198-33-0987", and the database agent determines that the ciphertext of the SSN is "0x7ff654ae6d" and passes the cloud.
  • the encryption machine decrypts the result set "Jim Gary” corresponding to the ciphertext, and feeds back the result set "Jim Gary” to the trusted client.
  • the database agent when receiving the read request, the database agent reads the first data from the database, and sends the first data and the data key identifier to the first cloud encryption machine.
  • An encryption request having a first data and a data key identifier; the first cloud encryption machine encrypts the first data by using a root key seed and a data key seed corresponding to the data key identifier, because the root key seed and the data key are encrypted
  • the key seed is stored in the first cloud encryption machine, and the first data is stored in the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the first cloud encryption machine cannot be obtained, The root key seed and data key seed still cannot identify the first
  • the root key seed and the working program are written into the USBKey by the first cloud encryption machine, and the data key identifier and the encrypted data key seed are written into the USBKey by the client, so that the user can separately save the root key seed, Work program, data key identification, and data key seed, such that when the root key seed, worker program, data key seed, and data key identifier stored in the first cloud encryption machine are destroyed, the USBKey is directed to the first cloud
  • the encryption machine backs up the root key seed, the worker program, the data key seed, and the data key identifier to improve the security of the key system.
  • the CA security channel based on the CA certificate is established between the database proxy and the first cloud encryption machine, the security of the data transmitted between the database proxy and the first cloud encryption machine can be ensured, and the security of the database is improved.
  • the CA certificate is time-sensitive, avoiding the problem of using a fixed CA certificate, and the CA security channel is not secure when the CA certificate is leaked.
  • the corresponding root key is updated correspondingly; when the second encryption algorithm selected by the client is updated, the corresponding data key is updated correspondingly, thereby implementing the The purpose of dynamically updating the key system is required.
  • the client can select one of the database, table and field as the encryption granularity according to the requirements, which improves the flexibility of database encryption.
  • the first cloud encryption machine When detecting the detection behavior for illegally detecting the root key seed and the data key seed, the first cloud encryption machine delays the response detection behavior according to the attack strength of the detection behavior, or destroys the first cloud encryption according to the attack strength of the detection behavior.
  • the root key seed and data key seed stored in the machine improve the security of the key system.
  • FIG. 7 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • the data processing apparatus can be applied to the cloud management machine shown in FIG. 1 .
  • the data processing device includes:
  • the receiving module 710 is configured to receive a trigger request sent by the client.
  • the triggering module 720 is configured to trigger the first cloud encryption machine to store the root key seed, the working program, the data key seed, and the data key identifier according to the trigger request received by the receiving module 710, and trigger the database proxy to store the encrypted data dictionary, and the working program Used to indicate an operation strategy of the first cloud encryption machine;
  • the first cloud encryption machine is configured to receive the first data sent by the database proxy and the data key identifier in the encrypted data dictionary, run the working program, and utilize the root key seed and the data key seed corresponding to the received data key identifier. Processing the first data, and sending the processed second data to the database agent; the database agent is configured to process the request by using the second data response data, where the first data is data requested by the data processing request, and the first The data and data key identification is sent by the database agent when it is determined that the first data matches the encrypted data dictionary.
  • the data processing system further includes an electronic key USBKey
  • the device further includes:
  • a sending module configured to send the obtained data key identifier to the first cloud encryption machine when the USB key is connected to the client;
  • the receiving module 710 is further configured to receive a data key identifier sent by the first cloud encryption machine and the encrypted data key seed, where the encrypted data key seed is a root corresponding to the data key identifier determined by the first cloud encryption machine.
  • the key seed and the data key seed are obtained by encrypting the data key seed by using the root key according to the root key generated by the root key seed;
  • the sending module is further configured to send the data key identifier and the encrypted data key seed to the client, and the data key identifier and the encrypted data key seed are written by the client into the USBKey.
  • the triggering request includes a first trigger request and a second trigger request
  • the triggering module 720 is further configured to: trigger the first cloud encryptor to store the root key seed and the working program according to the first trigger request; and according to the second trigger request
  • the first cloud encryptor is triggered to store the data key seed and the data key identifier, and trigger the database proxy to store the encrypted data dictionary.
  • the triggering module 720 is further configured to: when the first trigger request is instructed, instruct the client to select the first encryption algorithm, and send the first encryption algorithm to the second cloud encryption machine; and receive the second cloud encryption machine.
  • the root key seed is sent, the root key seed is generated by the second cloud encryption machine, and the root key seed carries a flag bit for indicating the first encryption algorithm; the client is selected to select a working program, and the root key seed is And the work program is sent to the first cloud encryption machine for storage.
  • the triggering module 720 is further configured to: obtain, by the database proxy, a data dictionary of the database, and instruct the client to select a second encryption algorithm and an encryption granularity, where the encryption granularity is a database, a table, and One of the fields; sending the second encryption algorithm to the first cloud encryption machine; receiving the data key identifier sent by the first cloud encryption machine, the data key identifier is generating the data key identifier and data in the first cloud encryption machine After the key seed is sent, the data key seed carries a flag bit for indicating the second encryption algorithm; the data key identifier and the encryption granularity are written into the encrypted data dictionary, and the encrypted data dictionary is sent to the database agent for storage.
  • the data processing apparatus when the database agent receives the data processing request, and determines that the first data requested by the data processing request matches the encrypted data dictionary, the first cloud encrypting machine is matched to the first cloud encrypting machine.
  • the first cloud encryptor processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, because the root key seed and the data key are
  • the key seed is stored in the first cloud encryption machine, and the first data is stored in the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the first cloud encryption machine cannot be obtained, The root key seed and data key seed still cannot identify the first data, thus improving the security of the database.
  • the root key seed and the working program are written into the USBKey by the first cloud encryption machine, and the data key identifier and the encrypted data key seed are written into the USBKey by the client, so that the user can separately save the root key seed, Work program, data key identification, and data key seed, such that when the root key seed, worker program, data key seed, and data key identifier stored in the first cloud encryption machine are destroyed, the USBKey is directed to the first cloud
  • the encryption machine backs up the root key seed, the worker program, the data key seed, and the data key identifier to improve the security of the key system.
  • FIG. 8 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • the data processing apparatus can be applied to the first cloud encryption machine shown in FIG. 1 .
  • the data processing device includes:
  • the storage module 810 is configured to store a root key seed, a work program, a data key seed, and a data key identifier under a trigger of the cloud management machine, where the trigger is generated after the cloud management machine receives the trigger request sent by the client, and works.
  • the program is used to indicate an operation strategy of the first cloud encryption machine
  • the first processing module 820 is configured to receive the first data sent by the database proxy and the data key identifier in the encrypted data dictionary, run the working program, and use the root key seed and the data key corresponding to the received data key identifier.
  • the seed processes the first data, and sends the processed second data to the database agent;
  • the database agent is configured to process the request by using the second data response data, where the first data is data processed by the data processing request, and the first A data and data key identification is sent by the database agent when it is determined that the first data matches the encrypted data dictionary.
  • the data processing system further includes an electronic key USBKey
  • the device further includes:
  • a writing module configured to write a root key seed and a working program into the USBKey when the USBKey is connected to the first cloud encryption machine
  • a second processing module configured to receive a data key identifier sent by the cloud management machine when the USBKey is connected to the client, determine a root key seed and a data key seed corresponding to the data key identifier, and use the root key pair data
  • the key seed is encrypted, and the data key identifier and the encrypted data key seed are sent to the cloud management machine, and the root key is generated according to the root key seed, and the data key identifier and the encrypted data key seed are
  • the cloud management machine sends it to the client and is written by the client to the USBKey.
  • the device further includes: a first receiving module, configured to connect the USB key to the first cloud encryption machine, and the root key seed, the working program, the data key seed, and the data key stored in the first cloud encryption machine When the identifier is destroyed, it receives the root key seed, work program, data key seed, and data key identifier sent by the USBKey.
  • a first receiving module configured to connect the USB key to the first cloud encryption machine, and the root key seed, the working program, the data key seed, and the data key stored in the first cloud encryption machine
  • the identifier When the identifier is destroyed, it receives the root key seed, work program, data key seed, and data key identifier sent by the USBKey.
  • the device further includes: a third processing module, configured to delay the response detection behavior according to the attack strength of the detection behavior when detecting the detection behavior for illegally detecting the root key seed and the data key seed, or The root key seed, the work program, the data key seed, and the data key identifier stored in the first cloud encryption machine are destroyed according to the attack strength of the detection behavior.
  • a third processing module configured to delay the response detection behavior according to the attack strength of the detection behavior when detecting the detection behavior for illegally detecting the root key seed and the data key seed, or The root key seed, the work program, the data key seed, and the data key identifier stored in the first cloud encryption machine are destroyed according to the attack strength of the detection behavior.
  • the device further includes: a second receiving module, configured to receive an authentication authorization CA certificate obtaining request sent by the database proxy;
  • a sending module configured to send a CA certificate to a database proxy
  • the module is established to establish a CA secure channel with the database proxy by using the CA certificate, and the CA secure channel is used for transmitting data between the database proxy and the first cloud encryption machine.
  • the triggering request includes a first trigger request and a second trigger request
  • the storage module 810 is further configured to: store, according to the trigger generated by the first trigger request, the root key seed and the working program;
  • the cloud management machine stores the data key seed and the data key identifier according to the trigger generated by the second trigger request.
  • the storage module 810 is further configured to: receive a root key seed and a working program sent by the cloud management machine, where the root key seed is a cloud management machine that instructs the client to select the An encryption algorithm is sent to the second cloud encryption machine, and is generated by the second cloud encryption machine.
  • the root key seed carries a flag bit for indicating the first encryption algorithm, and the working program is the cloud management machine instructing the client to select;
  • the root key seed and worker are stored.
  • the storage module 810 is further configured to: receive a second encryption algorithm sent by the cloud management machine, where the second encryption algorithm is, after the cloud management machine obtains the data dictionary of the database through the database proxy, under the indication of the second trigger request, Instructing the client to select; generating a data key identifier and a data key seed, where the data key seed carries a flag bit for indicating a second encryption algorithm; wherein the cloud management machine is further configured to instruct the client to select an encryption granularity, The data key identifier and the encryption granularity are written into the encrypted data dictionary, and the encrypted data dictionary is sent to the database agent for storage.
  • the encryption granularity is one of a database, a table, and a field.
  • the first processing module 820 is further configured to: determine, by using a running working program, an operation buffer corresponding to the client, where the operation buffer is used to cache the first cloud encryption machine. Intermediate data in the process of the first data; determining a root key seed corresponding to the data key identifier, generating a root key according to the root key seed, and encrypting the first data and the data key identifier according to the root key Cache into the operation buffer area; in the operation buffer area, generate a data key according to the data key identifier, and decrypt the first data according to the data key to obtain the third data; and read the third data from the operation buffer area And decrypting the third data according to the root key to obtain the second data.
  • the first processing module 820 is further configured to: determine, by using a running working program, an operation buffer corresponding to the client, where the operation buffer is used to cache the first cloud encryption machine. Intermediate data in the process of the first data; determining a root key seed corresponding to the data key identifier, generating a root key according to the root key seed, and encrypting the first data and the data key identifier according to the root key Cache into the operation buffer area; in the operation buffer area, generate a data key according to the data key identifier, and encrypt the first data according to the data key to obtain the fourth data; and read the fourth data from the operation buffer area And decrypting the fourth data according to the root key to obtain the second data.
  • the data processing apparatus when the database agent receives the data processing request, and determines that the first data requested by the data processing request matches the encrypted data dictionary, the first cloud encrypting machine is matched to the first cloud encrypting machine.
  • the first cloud encryptor processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, because the root key seed and the data key are
  • the key seed is stored in the first cloud encryption machine, and the first data is stored in the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the first cloud encryption machine cannot be obtained, The root key seed and data key seed still cannot identify the first data, thus improving the security of the database.
  • the root key seed and the working program are written into the USBKey by the first cloud encryption machine, and the data key identifier and the encrypted data key seed are written into the USBKey by the client, so that the user can separately save the root key seed, Work program, data key identification, and data key seed, such that when the root key seed, worker program, data key seed, and data key identifier stored in the first cloud encryption machine are destroyed, the USBKey is directed to the first cloud
  • the encryption machine backs up the root key seed, the worker program, the data key seed, and the data key identifier to improve the security of the key system.
  • the CA security channel based on the CA certificate is established between the database proxy and the first cloud encryption machine, the security of the data transmitted between the database proxy and the first cloud encryption machine can be ensured, and the security of the database is improved.
  • the CA certificate is time-sensitive, avoiding the problem of using a fixed CA certificate, and the CA security channel is not secure when the CA certificate is leaked.
  • the first cloud encryption machine When detecting the detection behavior for illegally detecting the root key seed and the data key seed, the first cloud encryption machine delays the response detection behavior according to the attack strength of the detection behavior, or destroys the first cloud encryption according to the attack strength of the detection behavior.
  • the root key seed and data key seed stored in the machine improve the security of the key system.
  • FIG. 9 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • the data processing apparatus can be applied to the database proxy shown in FIG. 1 .
  • the data processing device includes:
  • the storage module 910 is configured to store the encrypted data dictionary under the trigger of the cloud management machine, where the trigger is generated after the cloud management machine receives the trigger request sent by the client, and the cloud management machine is further configured to trigger the first cloud encryption machine to store the root density.
  • a key seed, a work program, a data key seed, and a data key identifier, and the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • the receiving module 920 is configured to receive a data processing request sent by the client.
  • the processing module 930 is configured to: when determining that the first data processed by the data processing request matches the encrypted data dictionary, send the first data and the data key identifier in the encrypted data dictionary to the first cloud encryption machine; receive the first The cloud encryption machine runs the working program, and uses the root key seed and the data key seed corresponding to the received data key identifier to process the second data that is sent after processing the first data; and the second data response data processing request.
  • the device further includes:
  • a sending module configured to send a certificate authority CA certificate acquisition request to the first cloud encryption machine
  • the receiving module 920 is further configured to receive a CA certificate sent by the first cloud encryption machine
  • the establishing module is configured to establish a CA secure channel with the first cloud encryption machine by using the CA certificate received by the receiving module 920, where the CA secure channel is used for transmitting data between the database proxy and the first cloud encryption machine.
  • the triggering request includes a second triggering request
  • the storage module 910 is further configured to: receive an encrypted data dictionary sent by the cloud management machine, where the data prefix and the encryption granularity are written in the encrypted data dictionary, and the data key identifier is a cloud.
  • the management machine obtains the data dictionary of the database through the database proxy under the instruction of the second trigger request, instructs the client to select the second encryption algorithm and the encryption granularity, and sends the second encryption algorithm to the first cloud encryption machine, and the first cloud
  • the encryption granularity generated by the encryption machine is one of a database, a table, and a field; the encrypted data dictionary is stored.
  • the data processing apparatus when the database agent receives the data processing request, and determines that the first data requested by the data processing request matches the encrypted data dictionary, the first cloud encrypting machine is matched to the first cloud encrypting machine.
  • the first cloud encryptor processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, because the root key seed and the data key are
  • the key seed is stored in the first cloud encryption machine, and the first data is stored in the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the first cloud encryption machine cannot be obtained, The root key seed and data key seed still cannot identify the first data, thus improving the security of the database.
  • the CA security channel based on the CA certificate is established between the database proxy and the first cloud encryption machine, the security of the data transmitted between the database proxy and the first cloud encryption machine can be ensured, and the security of the database is improved.
  • the CA certificate is time-sensitive, avoiding the problem of using a fixed CA certificate, and the CA security channel is not secure when the CA certificate is leaked.
  • FIG. 10 is a structural block diagram of a data processing apparatus according to an embodiment of the present application.
  • the data processing apparatus can be applied to the client shown in FIG. 1.
  • the data processing device includes:
  • the sending module 1010 is configured to send a trigger request to the cloud management device, where the trigger request is used to instruct the cloud management machine to trigger the first cloud encryption machine to store the root key seed, the working program, the data key seed, and the data key identifier, and trigger the database.
  • the proxy stores an encrypted data dictionary, and the working program is used to indicate an operation strategy of the first cloud encryption machine;
  • the sending module 1010 is further configured to send a data processing request to the database proxy, where the database proxy is configured to send the first data to the first cloud encryption machine when determining that the first data processed by the data processing request matches the encrypted data dictionary Encrypting the data key identifier in the data dictionary; the first cloud encryption machine is configured to run the working program, and process the first data by using a root key seed and a data key seed corresponding to the received data key identifier, and The second data obtained after processing is sent to the database agent; the database agent is configured to process the request with the second data response data.
  • the data processing system further includes an electronic key USBKey
  • the device further includes:
  • the receiving module 1020 is configured to receive, after the USBKey is connected to the client, the data key identifier sent by the cloud management device and the encrypted data key seed, the data key identifier and the encrypted data key seed are the cloud management machine
  • the obtained data key identifier is sent to the first cloud encryption machine;
  • the root key seed and the data key seed corresponding to the data key identifier are determined by the first cloud encryption machine, and the data key seed is encrypted by using the root key
  • the root key is generated based on the root key seed;
  • the writing module 1030 is configured to write the data key identifier and the encrypted data key seed into the USBKey.
  • the triggering request includes a first trigger request and a second trigger request
  • the sending module 1010 is further configured to: send a first trigger request to the cloud management device, where the first trigger request is used to instruct the cloud management machine to trigger the first cloud encryption
  • the machine stores a root key seed and a working program; and sends a second trigger request to the cloud management machine, where the second trigger request is used to instruct the cloud management machine to trigger the first cloud encryption machine to store the data key seed and the data key identifier, and trigger the database
  • the proxy stores an encrypted data dictionary.
  • the data processing apparatus when the database agent receives the data processing request, and determines that the first data requested by the data processing request matches the encrypted data dictionary, the first cloud encrypting machine is matched to the first cloud encrypting machine.
  • the first cloud encryptor processes the first data by using a root key seed and a data key seed corresponding to the received data key identifier, because the root key seed and the data key are
  • the key seed is stored in the first cloud encryption machine, and the first data is stored in the database, that is, the key system is separated from the database, so that even if the first data in the database is leaked, if the first cloud encryption machine cannot be obtained, The root key seed and data key seed still cannot identify the first data, thus improving the security of the database.
  • the root key seed and the working program are written into the USBKey by the first cloud encryption machine, and the data key identifier and the encrypted data key seed are written into the USBKey by the client, so that the user can separately save the root key seed, Work program, data key identification, and data key seed, such that when the root key seed, worker program, data key seed, and data key identifier stored in the first cloud encryption machine are destroyed, the USBKey is directed to the first cloud
  • the encryption machine backs up the root key seed, the worker program, the data key seed, and the data key identifier to improve the security of the key system.
  • the corresponding root key is updated correspondingly; when the second encryption algorithm selected by the client is updated, the corresponding data key is updated correspondingly, thereby implementing the The purpose of dynamically updating the key system is required.
  • the client can select one of the database, table and field as the encryption granularity according to the requirements, which improves the flexibility of database encryption.
  • an embodiment of the present application provides a data processing system, including: a client 110, a first cloud encryption machine 120, a cloud management machine 130, a second cloud encryption machine 140, and a database agent. 150 and database 160.
  • the client 110 is a client including the data processing device shown in FIG. 10.
  • the first cloud encryptor 120 is a first cloud encryptor including the data processing device shown in FIG. 8, and the cloud management device 130 includes FIG. 7.
  • the cloud manager of the data processing apparatus shown, database agent 150 is a database agent that includes the data processing apparatus shown in FIG.
  • FIG. 11 is a block diagram of a terminal 1100 provided by an embodiment of the present application.
  • the terminal 1100 may be installed with the client or the first cloud encryption machine or the cloud management machine or the second cloud encryption shown in FIG. 1 .
  • Machine or database agent or database may be installed with the client or the first cloud encryption machine or the cloud management machine or the second cloud encryption shown in FIG. 1 .
  • the terminal may include a radio frequency (RF) circuit 1101, a memory 1102 including one or more computer readable storage media, an input unit 1103, a display unit 1104, a sensor 1105, an audio circuit 1106, and wireless fidelity (WiFi,
  • the Wireless Fidelity module 1107 includes a processor 1108 having one or more processing cores, and a power supply 1109 and the like. It will be understood by those skilled in the art that the terminal structure shown in FIG. 11 does not constitute a limitation to the terminal, and may include more or less components than those illustrated, or a combination of certain components, or different component arrangements. among them:
  • the RF circuit 1101 can be used for receiving and transmitting signals during and after receiving or transmitting information, in particular, after receiving downlink information of the base station, and processing it by one or more processors 1108; in addition, transmitting data related to the uplink to the base station.
  • the RF circuit 1101 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, a low noise amplifier (LNA, Low Noise Amplifier), duplexer, etc.
  • SIM Subscriber Identity Module
  • the RF circuit 1101 can also communicate with the network and other devices through wireless communication.
  • the wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), and Code Division Multiple Access (CDMA). , Code Division Multiple Access), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), e-mail, Short Messaging Service (SMS), and the like.
  • GSM Global System of Mobile communication
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • SMS Short Messaging Service
  • the memory 1102 can be used to store software programs and modules, and the processor 1108 executes various functional applications and data processing by running software programs and modules stored in the memory 1102.
  • the memory 1102 can mainly include a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area can be stored according to Data created by the use of the terminal device (such as audio data, phone book, etc.).
  • memory 1102 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, memory 1102 can also include a memory controller to provide access to memory 1102 by processor 1108 and input unit 1103.
  • the input unit 1103 can be configured to receive input numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
  • input unit 1103 can include a touch-sensitive surface as well as other input devices.
  • Touch-sensitive surfaces also known as touch screens or trackpads, collect touch operations on or near the user (such as the user using a finger, stylus, etc., any suitable object or accessory on a touch-sensitive surface or touch-sensitive Operation near the surface), and drive the corresponding connecting device according to a preset program.
  • the touch sensitive surface may include two parts of a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 1108 is provided and can receive commands from the processor 1108 and execute them.
  • touch-sensitive surfaces can be implemented in a variety of types, including resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 1103 can also include other input devices. Other input devices may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • Display unit 1104 can be used to display information entered by the user or information provided to the user as well as various graphical user interfaces of the terminal device, which can be composed of graphics, text, icons, video, and any combination thereof.
  • the display unit 1104 may include a display panel.
  • the display panel may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like.
  • the touch-sensitive surface can cover the display panel, and when the touch-sensitive surface detects a touch operation thereon or nearby, it is transmitted to the processor 1108 to determine the type of touch event, and then the processor 1108 provides the display panel according to the type of touch event. Corresponding visual output.
  • the touch-sensitive surface and display panel are implemented as two separate components to implement input and input functions, in some embodiments, the touch-sensitive surface can be integrated with the display panel to implement input and output functions.
  • the terminal may also include at least one type of sensor 1105, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel according to the brightness of the ambient light, and the proximity sensor may turn off the display panel and/or the backlight when the terminal moves to the ear.
  • the gravity acceleration sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • the terminal can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • An audio circuit 1106, a speaker, and a microphone provide an audio interface between the user and the terminal.
  • the audio circuit 1106 can transmit the converted electrical data of the received audio data to a speaker, and convert it into a sound signal output by the speaker; on the other hand, the microphone converts the collected sound signal into an electrical signal, which is received by the audio circuit 1106 and then converted.
  • the audio data output processor 11008 After the audio data is processed by the audio data output processor 1108, it is sent to, for example, another terminal via the RF circuit 1101, or the audio data is output to the memory 1102 for processing.
  • the audio circuit 1106 may also include an earbud jack to provide communication between the peripheral earphone and the terminal.
  • WiFi is a short-range wireless transmission technology.
  • the terminal can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 1107. It provides users with wireless broadband Internet access.
  • FIG. 11 shows the WiFi module 1107, it can be understood that it does not belong to the necessary configuration of the terminal, and can be omitted as needed within the scope of not changing the essence of the application.
  • the processor 1108 is the control center of the terminal, which connects various portions of the entire handset using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 1102, and invoking data stored in the memory 1102, The various functions of the terminal and processing data to monitor the mobile phone as a whole.
  • the processor 1108 may include one or more processing cores; preferably, the processor 1108 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 1108.
  • the terminal also includes a power source 1109 (such as a battery) that supplies power to the various components.
  • the power source can be logically coupled to the processor 1108 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • the power supply 1109 may also include any one or more of a DC or AC power source, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
  • the terminal may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
  • the processor 1108 in the terminal will run one or more program instructions stored in the memory 1102 to implement the data processing methods provided in the various method embodiments described above.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Read Only Memory (ROM), Random Access Memory (RAM), disk or optical disk.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An embodiment of the present invention provides a computer readable storage medium, where the storage medium stores at least one instruction, at least one program, a code set, or a set of instructions, the at least one instruction, the at least one program, and the A code set or set of instructions is loaded and executed by the processor to implement the data processing method as described above.
  • the data processing apparatus provided by the foregoing embodiment is only exemplified by the division of each functional module, and in actual applications, the function allocation may be completed by different functional modules as needed.
  • the internal structure of the data processing device is divided into different functional modules to perform all or part of the functions described above.
  • the data processing apparatus and the data processing method embodiment provided by the foregoing embodiments are in the same concept, and the implementation process thereof is described in detail in the method embodiment, and details are not described herein again.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据处理方法、系统、装置、存储介质及设备,属于数据库技术领域。所述方法包括:客户端向云管理机发送触发请求,云管理机根据触发请求触发第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典,工作程序用于指示第一云加密机的运行策略;客户端向数据库代理发送数据处理请求;数据库代理在确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理。本申请中的密钥体系和数据库分离,可以提高数据库的安全性。

Description

数据处理方法、系统、装置、存储介质及设备
本申请要求于2017年05月03日提交中国国家知识产权局、申请号为201710305566.9、发明名称为“数据处理方法、系统及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及数据库技术领域,特别涉及一种数据处理方法、系统、装置、存储介质及设备。
背景技术
为了满足用户对数据库的安全性的需求,数据库需要对写入数据库的数据进行加密,并对从数据库中读取的数据进行解密。
相关技术中,数据库采用透明数据加密模式对数据进行加密/解密。实现时,用户定义需要加密的列,数据库为包含该列的表创建一个数据密钥,再利用为数据库创建的主密钥对数据密钥进行加密,将主密钥存储在数据库中的“钱夹”中,将加密后的数据密钥存储在数据库中的数据字典中。当用户需要向该列写入数据时,数据库从“钱夹”中读取主密钥,利用主密钥解密数据字典中的数据密钥,利用数据密钥加密数据后写入该列中。当用户需要从该列中读取数据时,数据库从“钱夹”中读取主密钥,利用主密钥解密数据字典中的数据密钥,利用数据密钥解密从该列中读取的加密数据。
数据密钥和主密钥都由数据库生成,且都存储在数据库中,即,密钥体系耦合在数据库中,导致数据库的安全性不高。
发明内容
本申请实施例提供了一种数据处理方法、系统、装置、存储介质及设备,可以解决密钥体系耦合在数据库中,导致数据库的安全性不高的问题。所述技术方案如下:
一方面,提供了一种数据处理方法,用于包括客户端、第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
所述客户端向所述云管理机发送触发请求;
所述云管理机根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
所述客户端向所述数据库代理发送数据处理请求;
所述数据库代理在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;
所述第一云加密机运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述 数据库代理;
所述数据库代理利用所述第二数据响应所述数据处理请求。
一方面,提供了一种数据处理方法,用于数据处理系统中的云管理机中,所述数据处理系统还包括客户端、第一云加密机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
接收所述客户端发送的触发请求;
根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
所述第一云加密机用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
一方面,提供了一种数据处理方法,用于数据处理系统中的第一云加密机中,所述数据处理系统还包括客户端、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述工作程序用于指示所述第一云加密机的运行策略;
接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
一方面,提供了一种数据处理方法,用于数据处理系统中的数据库代理中,所述数据处理系统还包括客户端、第一云加密机、云管理机和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
在所述云管理机的触发下存储加密数据字典,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述云管理机还用于触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述工作程序用于指示所述第一云加密机的运行策略;
接收所述客户端发送的数据处理请求;
在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;接收所述第一云加密机在运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理后发送的第二数据;利用所述第二数据响应所述数据 处理请求。
一方面,提供了一种数据处理方法,用于数据处理系统中的客户端中,所述数据处理系统还包括第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
向所述云管理机发送触发请求,所述触发请求用于指示所述云管理机触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
向所述数据库代理发送数据处理请求,所述数据库代理用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;所述第一云加密机用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应所述数据处理请求。
一方面,提供了一种数据处理系统,所述数据处理系统包括客户端、第一云加密机、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;
所述客户端,用于向所述云管理机发送触发请求;
所述云管理机,用于根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
所述客户端,还用于向所述数据库代理发送数据处理请求;
所述数据库代理,用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;
所述第一云加密机,用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;
所述数据库代理,还用于利用所述第二数据响应所述数据处理。
一方面,提供了一种数据处理装置,用于数据处理系统中的云管理机中,所述数据处理系统还包括客户端、第一云加密机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
接收模块,用于接收所述客户端发送的触发请求;
触发模块,用于根据所述接收模块接收的所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
所述第一云加密机用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数 据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
一方面,提供了一种数据处理装置,用于数据处理系统中的第一云加密机中,所述数据处理系统还包括客户端、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
存储模块,用于在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述工作程序用于指示所述第一云加密机的运行策略;
第一处理模块,用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
一方面,提供了一种数据处理装置,用于数据处理系统中的数据库代理中,所述数据处理系统还包括客户端、第一云加密机、云管理机和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
存储模块,用于在所述云管理机的触发下存储加密数据字典,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述云管理机还用于触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述工作程序用于指示所述第一云加密机的运行策略;
接收模块,用于接收所述客户端发送的数据处理请求;
处理模块,用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;接收所述第一云加密机在运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理后发送的第二数据;利用所述第二数据响应所述数据处理请求。
一方面,提供了一种数据处理装置,用于数据处理系统中的客户端中,所述数据处理系统还包括第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
发送模块,用于向所述云管理机发送触发请求,所述触发请求用于指示所述云管理机触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
所述发送模块,还用于向所述数据库代理发送数据处理请求,所述数据库代理用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;所述第一云加密机用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数 据库代理用于利用所述第二数据响应所述数据处理请求。
一方面,提供了一种云管理机,所述云管理机用于数据处理系统中,所述数据处理系统还包括客户端、第一云加密机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述云管理机包括:
一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
接收所述客户端发送的触发请求;
根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
所述第一云加密机用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
一方面,提供了一种第一云加密机,用于数据处理系统中,所述数据处理系统还包括客户端、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述第一云加密机包括:
一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述工作程序用于指示所述第一云加密机的运行策略;
接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
一方面,提供了一种数据库代理,用于数据处理系统中,所述数据处理系统还包括客户端、第一云加密机、云管理机和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述数据库代理包括:
一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
在所述云管理机的触发下存储加密数据字典,所述触发是所述云管理机接收到所述客 户端发送的触发请求后产生的,所述云管理机还用于触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述工作程序用于指示所述第一云加密机的运行策略;
接收所述客户端发送的数据处理请求;
在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;接收所述第一云加密机在运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理后发送的第二数据;利用所述第二数据响应所述数据处理请求。
一方面,提供了一种客户端,用于数据库处理系统中,所述数据处理系统还包括第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述客户端包括:
一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
向所述云管理机发送触发请求,所述触发请求用于指示所述云管理机触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
向所述数据库代理发送数据处理请求,所述数据库代理用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;所述第一云加密机用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应所述数据处理请求。
一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在云管理机上运行时,使得云管理机执行上述数据处理方法。
一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在第一云加密机上运行时,使得第一云加密机执行上述数据处理方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在数据库代理上运行时,使得数据库代理执行上述数据处理方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在客户端上运行时,使得客户端执行上述数据处理方法。
本申请实施例提供的技术方案的有益效果是:
数据库代理在接收到数据处理请求,且确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据部分示例性实施例示出的一种数据处理系统的结构示意图;
图2是根据部分示例性实施例示出的一种数据处理系统的硬件示意图;
图3是本申请一个实施例提供的数据处理方法的方法流程图;
图4是本申请另一实施例提供的数据处理方法的方法流程图;
图5是本申请另一实施例提供的数据处理方法的示意图;
图6是本申请另一实施例提供的数据处理方法的应用示意图;
图7是本申请一个实施例提供的数据处理装置的结构框图;
图8是本申请一个实施例提供的数据处理装置的结构框图;
图9是本申请一个实施例提供的数据处理装置的结构框图;
图10是本申请一个实施例提供的数据处理装置的结构框图;
图11是本申请再一实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统包括客户端110、第一云加密机120、云管理机130、第二云加密机140、数据库代理150和数据库160。
云管理机130与多台云加密机保持网络连接,用于管理这些云加密机。本实施例将其中与云管理机130保持专用网络连接的云加密机称为第二云加密机140,第二云加密机140用于生成根密钥种子,根密钥种子用于生成根密钥;本实施例将云管理机130为客户端110分配的云加密机称为第一云加密机120,第一云加密机120用于生成数据密钥种子,数据密钥种子用于生成数据密钥,第一云加密机120是云管理机130根据就近原则从未被分配给客户端的云加密机中选择的一台云加密机。
需要说明的是,云加密机可以通过加密芯片实现。其中,一个加密芯片可以实现为一个云加密机,此时,由于一个云加密机被分配给一个用户,所以,该加密芯片可以为一个用户提供加解密服务。由于一个加密芯片的处理资源超过一个用户的加解密服务所需的处理资源,因此,加密芯片还剩余一些处理资源,此时,可以通过虚拟化技术将一个加密芯片实现为多个云加密机,即,一个加密芯片对应于多个云加密机,并将每个云加密机分配给一个用户,使得一个加密芯片为多个用户提供加解密服务。
可选的,可以为每个云加密机分配相同的处理资源,或者,还可以根据用户的需求为不同的云加密机分配不同的处理资源。比如,用户需求的大小与处理资源的多少呈正相关 关系。即,为用户需求大的云加密机分配较多的处理资源,为用户需求小的云加密机分配较少的处理资源。
客户端110与云管理机130之间通过有线网络或无线网络建立网络连接。可选的,客户端110与云管理机130之间的网络连接是HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,基于安全套接层的超文本传输协议)连接,以提高客户端110与云管理机130之间传输的数据的安全性。
客户端110与数据库代理150之间通过有线网络或无线网络建立网络连接,数据库代理150与数据库160之间通过有线网络或无线网络建立网络连接。
数据库代理150与第一云加密机120之间建立基于CA(Certificate Authority;认证授权)证书的CA安全通道,以供数据库代理150和第一云加密机120之间传输数据。
需要说明的是,CA证书可以具有时效性,当CA安全通道所基于的CA证书失效时,数据库代理150与第一云加密机120之间重新建立基于新的CA证书的CA安全通道,以保证CA安全通道的安全性。
请参考图2,图2中的用户管理终端也即是图1中的客户端110,应用云平台为图1中的数据库代理150,密码云平台包括图1中的第一云加密机120和第二云加密机140,密钥中心用于管理密码云平台,管理中心为图1中的云管理机130。
请参考图3,其示出了本申请一个实施例提供的数据处理方法的方法流程图,该数据处理方法可以应用于图1所示的数据处理系统中。该数据处理方法,包括:
步骤301,客户端向云管理机发送触发请求。
触发请求用于指示云管理机触发第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典。
步骤302,云管理机根据触发请求触发第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典。
工作程序用于指示第一云加密机的运行策略。
数据密钥种子用于生成数据密钥。数据密钥用于对将要写入数据库中的数据进行加密,或,数据密钥用于对从数据库中读出的数据进行解密。其中,数据密钥种子中携带有用于指示加密算法的标志位,第一云加密机在工作程序所指示的运行策略的控制下,根据该标志位所指示的加密算法和数据密钥种子生成数据密钥。不同的加密算法生成不同的数据密钥。
数据密钥标识用于标识数据密钥种子。第一云加密机在工作程序所指示的运行策略的控制下,根据数据密钥标识识别出对应的数据密钥种子。
根密钥种子用于生成根密钥。其中,根密钥种子中携带有用于指示加密算法的标志位,第一云加密机在工作程序所指示的运行策略的控制下,根据该标志位所指示的加密算法和根密钥种子生成根密钥。不同的加密算法生成不同的根密钥。
加密数据字典包括加密粒度,加密粒度是数据库、表和字段中的一种。比如,加密粒度是数据库时,第一云加密机对至少一个数据库进行加密,或,加密粒度是表时,第一云加密机对一个数据库中的至少一张表进行加密,或,加密粒度是字段时,第一云加密机对一张表中的至少一个字段进行加密。
由于用户可能需要对不同的数据库加密,或,对数据库中不同的表进行加密,或,对不同表中的不同字段进行加密,在这些情况下,每种加密粒度对应的数据密钥是不同的,因此,加密数据字典还包括数据密钥标识,从而通过数据密钥标识来指示不同的加密粒度所对应的数据密钥。
由于客户端可以根据需求选择数据库、表和字段中的一种作为加密粒度,从而提高了数据库加密的灵活性。
步骤303,客户端向数据库代理发送数据处理请求。
步骤304,数据库代理在确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和加密数据字典中的数据密钥标识。
当数据处理请求是读请求时,数据库代理根据数据处理请求从数据库中读取第一数据,第一数据与加密数据字典相匹配是指:从数据库中读取的第一数据位于加密数据字典的加密粒度中。比如,加密粒度是数据库a中的表b,若数据库代理读取的该第一数据位于表b中,则确定该第一数据与加密数据字典相匹配;若数据库代理读取的该第一数据不在表b中,则确定该第一数据与加密数据字典不匹配。
数据库代理在确定加密粒度后,还需要确定与该加密粒度对应的数据密钥标识,生成携带有该第一数据和数据密钥标识的解密请求,将解密请求发送给第一云加密机。
当数据处理请求是写请求时,第一数据与加密数据字典相匹配是指:将要写入数据库中的第一数据位于加密数据字典的加密粒度中。比如,加密粒度是数据库a中的表b,若数据库代理需要将该第一数据写入表b中,则确定该第一数据与加密数据字典相匹配;若数据库代理不需要将该第一数据写入表b中,则确定该第一数据与加密数据字典不匹配。
数据库代理在确定加密粒度后,还需要确定与该加密粒度对应的数据密钥标识,生成携带有该第一数据和数据密钥标识的加密请求,将加密请求发送给第一云加密机。
步骤305,第一云加密机运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,并将处理后得到的第二数据发送给数据库代理。
当数据处理请求是读请求时,第一云加密机在工作程序所指示的运行策略的控制下,利用数据密钥标识确定根密钥种子,根据根密钥种子生成根密钥,根据根密钥对第一数据和数据密钥标识加密后送入运算缓存区。在运算缓存区中,第一云加密机根据数据密钥标识确定数据密钥种子,根据数据密钥种子生成数据密钥,根据数据密钥对第一数据进行解密,得到第三数据。第一云加密机从运算缓存区中读取第三数据,再根据根密钥对第三数据进行解密,得到第二数据;将第二数据发送给数据库代理。其中,运算缓存区用于缓存第一云加密机在处理客户端所请求处理的第一数据的过程中的中间数据。
当数据处理请求是写请求时,第一云加密机在工作程序所指示的运行策略的控制下,利用数据密钥标识确定根密钥种子,根据根密钥种子生成根密钥,根据根密钥对第一数据和数据密钥标识加密后送入运算缓存区。在运算缓存区中,第一云加密机根据数据密钥标识确定数据密钥种子,根据数据密钥种子生成数据密钥,根据数据密钥对第一数据进行加密,得到第四数据。第一云加密机从运算缓存区中读取第四数据,再根据根密钥对第四数据进行解密,得到第二数据;将第二数据发送给数据库代理。
在这个过程中,根密钥对送入运算缓存区的第一数据进行加密,再对运算缓存区输出的第三数据或第四数据进行解密,得到第二数据,以保证运算缓存区中的数据的安全性。
步骤306,数据库代理利用第二数据响应数据处理请求。
当数据处理请求是读请求时,数据库代理将第二数据发送给客户端;当数据处理请求是写请求时,数据库代理将第二数据发送给数据库进行存储。
其中,步骤301和303可以单独实现成为客户端侧的实施例,步骤302可以单独实现成为云管理机侧的实施例,步骤304和306可以单独实现成为数据库代理侧的实施例,步骤305可以单独实现成为第一云加密机侧的实施例。
综上所述,本申请实施例提供的数据处理方法,数据库代理在接收到数据处理请求,且确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理;由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
请参考图4,其示出了本申请另一详细实施例提供的数据处理方法的方法流程图,该数据处理方法可以应用于图1所示的数据处理系统中。本实施例以数据处理请求为读请求或写请求为例,对数据处理方法进行介绍。该数据处理方法,包括:
步骤401,客户端向云管理机发送第一触发请求。
其中,第一触发请求用于请求云管理机为客户端分配第一云加密机。在一种可能的实现方式中,第一触发请求可以是云加密机购买请求,此时,云加密机购买请求用于请求云管理机为客户端分配第一云加密机。
云加密机购买请求中至少携带有客户端的标识。可选的,云加密机购买请求中还可以携带客户端的属性信息,云管理机可以根据该属性信息为客户端分配第一云加密机。比如,属性信息可以用于指示客户端的地理位置,云管理机根据该属性信息和就近原则为客户端分配第一云加密机。
步骤402,云管理机根据第一触发请求触发第一云加密机存储根密钥种子和工作程序。
根密钥种子和工作程序的定义详见步骤302中的描述,此处不再赘述。
本实施例中,云管理机在第一触发请求的指示下,指示客户端选择第一加密算法,并将客户端选择的第一加密算法发送给第二云加密机;第二云加密机生成根密钥种子,并将根密钥种子发送给云管理机,该根密钥种子中携带有用于指示第一加密算法的标志位;云管理机接收第二云加密机发送的根密钥种子;云管理机指示客户端选择工作程序,将根密钥种子和客户端选择的工作程序发送给第一云加密机;第一云加密机对根密钥种子和工作程序进行存储。
其中,在指示客户端选择第一加密算法时,云管理机利用第一触发请求中携带的客户端的标识进行登录,并显示加密算法选择界面,用户从该加密算法选择界面所显示的至少一种加密算法中选择一种加密算法,本实施例中将用户选择的加密算法称为第一加密算法。
云管理机将第一加密算法发送给第二云加密机之后,第二云加密机通过加密芯片生成根密钥种子,此处不对生成流程作赘述。
由于根据不同的第一加密算法可以生成不同的根密钥,因此,用户可以通过更新第一 加密算法来更新根密钥,从而实现根据用户的需求动态更新密钥体系的目的。
在指示客户端选择工作程序时,云管理机显示工作程序选择界面,用户从该工作程序选择界面所显示的至少一种工作程序中选择一种工作程序。其中,在用户选择工作程序时,还需要选择是单用户模式还是多用户模式。当用户选择单用户模式时,说明一个加密芯片实现为一个云加密机,该加密芯片的运算缓存区被分配给一个用户使用,可以通过工作程序来指示该运算缓存区;当用户选择多用户模式时,说明一个加密芯片实现为多个云加密机,此时,该加密芯片的运算缓存区被划分成多个区间被分配给不同的用户使用,可以通过工作程序来指示分配给该用户的一个区间。
本实施例中,可以通过第一云加密机中的开启的写入电路,向第一云加密机写入根密钥种子和工作程序,在第一云加密机存储了根密钥种子和工作程序后,确定完成初始化过程,关闭第一云加密机的写入电路,并向云管理机发送购买结果的响应,云管理机根据客户端的标识将购买结果的响应发送给客户端。
在一种可能的实现方式中,加密芯片可以通过写入电路的电平来控制写入电平的开启和关闭。比如,设置高电平来开启写入电路,设置低电平来关闭写入电路;或,设置低电平来开启写入电路,设置高电平来关闭写入电路。在另一种可能的实现方式中,加密芯片可以通过写入电路的电平变化来控制写入电平的开启和关闭。比如,当前开启了写入电路,当检测到写入电路的电平发生变化时,关闭写入电路;或,当前关闭了写入电路,当检测到写入电路的电平发生变化时,开启写入电路。本实施例不对写入电路的开启和关闭的实现方式作限定。
需要说明的是,在USBKey(电子钥匙)与第一云加密机相连时,第一云加密机将根密钥种子和工作程序写入USBKey中。写入了根密钥和工作程序的USBKey被离线交付给客户端的用户。
步骤403,客户端向云管理机发送第二触发请求。
其中,第二触发请求用于请求云管理机对数据库进行加密。在一种可能的实现方式中,第二触发请求可以是数据库加密请求,此时,数据库加密请求用于请求云管理机对数据库进行加密。
数据库加密请求中至少携带有客户端的标识和用户所请求加密的数据库的标识。
步骤404,云管理机根据第二触发请求触发第一云加密机存储数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典。
数据密钥种子、数据密钥标识和加密数据字典的定义详见步骤302中的描述,此处不再赘述。
本实施例中,云管理机在第二触发请求的指示下,通过数据库代理获取数据库的数据字典,并指示客户端选择第二加密算法和加密粒度;云管理机将第二加密算法发送给第一云加密机;第一云加密机生成数据密钥标识和数据密钥种子,将数据密钥标识发送给云管理机,该数据密钥种子中携带有用于指示第二加密算法的标志位;云管理机将数据密钥标识和加密粒度写入加密数据字典,将加密数据字典发送给数据库代理;数据库代理对加密数据字典进行存储。
其中,云管理机通过数据库代理获取数据字典的过程为:云管理机向数据库代理发送数据字典获取请求,该数据字典获取请求中携带有数据库的标识;数据库代理根据数据库 的标识确定出数据库,并向该数据库请求数据字典;数据库将数据字典发送给数据库代理;数据库代理将数据字典转发给云管理机。
在指示客户端选择加密粒度时,云管理机利用第二触发请求中携带的客户端的标识进行登录,并显示加密粒度选择界面,用户从该加密粒度选择界面所显示的至少一种加密粒度中选择加密粒度。可选的,用户还可以选择多种加密粒度,比如,用户选择对一张表中的多个字段进行加密,此时,这多个字段对应于一组数据密钥;或者,用户选择对不同表中的字段进行加密,此时,每个表中的多个字段对应于一组数据密钥。
对于每组数据密钥,云管理机指示客户端选择第二加密算法。其中,云管理机指示客户端选择第二加密算法的流程与指示客户端选择第一加密算法的流程相同,此处不作赘述。
由于根据不同的第二加密算法可以生成不同的数据密钥,因此,用户可以通过更新第二加密算法来更新数据密钥,从而实现根据用户的需求动态更新密钥体系的目的。
云管理机将第二加密算法发送给第一云加密机之后,第一云加密机通过加密芯片生成数据密钥种子和数据密钥标识,该数据密钥种子携带有用于指示第二加密算法的标志位,该数据密钥标识用于标识该数据密钥种子,此处不对生成流程作赘述。
第一云加密机还将数据密钥种子发送给云管理机,云管理机将数据密钥种子和加密粒度写入加密数据字典,并将加密数据字典发送给数据库代理进行存储。
可选的,在USBKey与客户端相连时,云管理机将获取到的数据密钥标识发送给第一云加密机;第一云加密机确定与数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对数据密钥种子进行加密,将数据密钥标识和加密后的数据密钥种子发送给云管理机,该根密钥是根据根密钥种子生成的;云管理机向客户端发送数据密钥标识和加密后的数据密钥种子;客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中。
在客户端接收到数据密钥标识和加密后的数据密钥种子后,用户将USBKey与客户端相连,并通过客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中。
本实施例中,USBKey中存储有根密钥种子、工作程序、数据密钥标识和加密后的数据密钥种子,这样,当第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识被销毁时,用户可以将USBKey与第一云加密机相连,并通过USBKey向第一云加密机备份根密钥种子、工作程序、数据密钥种子和数据密钥标识。其中,工作程序可以根据根密钥种子生成根密钥,再根据根密钥对加密后的数据密钥种子进行解密,得到数据密钥种子。
步骤405,客户端向数据库代理发送数据处理请求,当数据处理请求是读请求时,执行步骤406;当数据处理请求是写请求时,执行步骤409。
步骤406,数据库代理根据读请求从数据库中读取第一数据,在确定第一数据与加密数据字典相匹配时,向第一云加密机发送携带有第一数据和加密数据字典中的数据密钥标识的解密请求。
其中,数据库代理确定从数据库中读取的第一数据与加密数据字典相匹配,以及,向第一云加密机发送携带有第一数据和加密数据字典中的数据密钥标识的解密请求的流程详见步骤304中的描述,此处不作赘述。
需要说明的是,在数据库代理向第一云加密机发送解密请求之前,数据库代理向第一云加密机发送CA证书获取请求;第一云加密机向数据库代理发送CA证书;数据库代理利 用CA证书与第一云加密机建立CA安全通道,CA安全通道用于供数据库代理和第一云加密机之间传输数据。
在CA安全通道建立后,数据库代理在CA安全通道上向第一云加密机发送解密请求。
可选的,本实施例中的CA证书具有时效性,当CA证书失效时,基于CA证书建立的CA安全通道也会失效,数据库代理需要重新向第一云加密机获取新的CA证书,并利用新的CA证书与第一云加密机建立新的CA安全通道,避免了使用固定的一种CA证书,在该CA证书被泄漏时,CA安全通道不安全的问题。
本实施例中,可以通过数据密钥对第一数据进行加密,通过根密钥对运算缓冲区进行加密,通过CA安全通道传输数据,形成了三层加密体系,提高了数据库加密的安全性。
步骤407,第一云加密机运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行解密,并将解密后得到的第二数据发送给数据库代理。
本实施例中,第一云加密机通过运行的工作程序确定客户端对应的运算缓存区;第一云加密机确定与接收到的数据密钥标识对应的根密钥种子,根据根密钥种子生成根密钥,并根据根密钥对第一数据和数据密钥标识进行加密后缓存到运算缓存区中;在运算缓存区中,第一云加密机根据数据密钥标识生成数据密钥,并根据数据密钥对第一数据进行解密,得到第三数据;第一云加密机从运算缓存区中读取第三数据,并根据根密钥对第三数据进行解密,得到第二数据。
其中,第一云加密机还利用根密钥,对在运算缓存区中对第一数据进行处理的程序代码进行加密,这样,即使加密后的程序代码被泄露,由于无法获取到根密钥,因此,无法对加密后的程序代码进行解密,从而无法根据程序代码确定对第一数据的处理流程,可以保证数据处理的安全性。
第一云加密机在CA安全通道上向数据库代理发送第二数据。
步骤408,数据库代理将第二数据发送给客户端,流程结束。
步骤409,数据库代理在确定写请求中的第一数据与加密数据字典相匹配时,向第一云加密机发送携带有第一数据和加密数据字典中的数据密钥标识的加密请求。
其中,数据库代理确定写请求中的第一数据与加密数据字典相匹配,以及,向第一云加密机发送携带有第一数据和加密数据字典中的数据密钥标识的加密请求的流程详见步骤304中的描述,此处不作赘述。
需要说明的是,在数据库代理向第一云加密机发送加密请求之前,数据库代理向第一云加密机发送CA证书获取请求;第一云加密机向数据库代理发送CA证书;数据库代理利用CA证书与第一云加密机建立CA安全通道,CA安全通道用于供数据库代理和第一云加密机之间传输数据。
在CA安全通道建立后,数据库代理在CA安全通道上向第一云加密机发送加密请求。
可选的,本实施例中的CA证书具有时效性,当CA证书失效时,基于CA证书建立的CA安全通道也会失效,数据库代理需要重新向第一云加密机获取新的CA证书,并利用新的CA证书与第一云加密机建立新的CA安全通道,避免了使用固定的一种CA证书,在该CA证书被泄漏时,CA安全通道不安全的问题。
步骤410,第一云加密机运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行加密,并将加密后得到的第二数据发送给数据库代理。
本实施例中,第一云加密机通过运行的工作程序确定客户端对应的运算缓存区,运算缓存区用于缓存第一云加密机在处理第一数据的过程中的中间数据;第一云加密机确定与接收到的数据密钥标识对应的根密钥种子,根据根密钥种子生成根密钥,并根据根密钥对第一数据和数据密钥标识进行加密后缓存到运算缓存区中;在运算缓存区中,第一云加密机根据数据密钥标识生成数据密钥,并根据数据密钥对第一数据进行加密,得到第四数据;第一云加密机从运算缓存区中读取第四数据,并根据根密钥对第四数据进行解密,得到第二数据。
其中,第一云加密机还利用根密钥,对在运算缓存区中对第一数据进行处理的程序代码进行加密,这样,即使加密后的程序代码被泄露,由于无法获取到根密钥,因此,无法对加密后的程序代码进行解密,从而无法根据程序代码确定对第一数据的处理流程,可以保证数据处理的安全性。
第一云加密机在CA安全通道上向数据库代理发送第二数据。
步骤411,数据库代理将第二数据发送给数据库。
需要说明的是,第一云加密机在检测到用于非法探测根密钥种子和数据密钥种子的探测行为时,根据探测行为的攻击力度延迟响应探测行为,或,根据探测行为的攻击力度销毁第一云加密机中存储的根密钥种子和数据密钥种子。
其中,第一云加密机对应的加密芯片具有识别探测行为的功能。在一种可能的实现方式中,加密芯片在第一云加密机初始化完成后关闭写入电路,当黑客试图探测第一云加密机时,会通过写入电路执行非法写入行为或导出行为,这时,加密芯片能够根据写入电路的电平变化识别出探测行为。
在第一云加密机通过加密芯片确定存在探测行为时,根据探测行为的攻击力度延迟响应探测行为。比如,当攻击力度较弱时,第一云加密机延迟1小时响应探测行为;当攻击力度较强时,第一云加密机延迟1天响应探测行为。
由于黑客可以通过程序持续以高频率执行探测行为,这样,黑客可能在短时间内就会破解密钥体系,而在本实施例中,通过延迟响应探测行为可以降低探测行为的频率,使得黑客需要花费很长时间才能破解密钥体系,甚至有些黑客没有耐心再继续破解密钥体系,从而放弃破解密钥体系,提高了密钥体系的安全性。另外,延迟响应探测行为还可以减少由于响应高频的探测行为所浪费的处理资源,降低了第一云加密机因处理资源紧缺而崩溃的概率。
攻击力度可以根据攻击次数、攻击频率等参数确定,比如,攻击次数的多少与攻击力度的强弱呈正相关关系,攻击频率的高低与攻击力度的强弱呈正相关关系等等,本实施例不作限定。
可选的,第一云加密机还可以根据攻击力度销毁第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识,从而保证密钥体系的安全性。
需要说明的是,在更新了密钥体系后,还可以离线备份原来的数据库,并利用新的密钥体系对备份的数据库进行更新,将更新后的数据库替换原来的数据库,实现合并新库的操作,以便在不影响原来的数据库的使用的前提下更新数据库。其中,对备份的数据库进行更新是指利用新的密钥体系对数据库中的数据进行更新,并利用更新后的数据替换备份的数据库中的原始数据。
本实施例中,密钥体系由云加密机产生,由云管理机分发,由USBKey保存,使得密钥体系的扩展性较好,能够适应云加密机厂商、云管理机厂商和客户等多种角色并存的环境。另外,USBKey与云加密机相互独立,USBKey与云管理机也相互独立,这样,USBKey可以单独保存密钥,与云加密机和云管理机这些设备的管理相互分离,明确角色。
其中,步骤401、403和405可以单独实现成为客户端侧的实施例,步骤402和404可以单独实现成为云管理机侧的实施例,步骤406、408、409和411可以单独实现成为数据库代理侧的实施例,步骤407和410可以单独实现成为第一云加密机侧的实施例。
下面对本实施例提供的数据处理方法的详细流程进行介绍,请参考图5。
步骤501,客户端向云管理机发送云加密机购买请求。
步骤502,云管理机指示客户端选择第一加密算法。
步骤503,云管理机向第二云加密机发送根密钥获取请求,该根密钥获取请求中携带有第一加密算法。
步骤504,第二云加密机将根据第一加密算法生成的根密钥种子发送给云管理机。
步骤505,云管理机指示客户端选择工作程序。
步骤506,云管理机将根密钥种子和工作程序发送给第一云加密机。
步骤507,第一云加密机存储根密钥种子和工作程序,将根密钥种子和工作程序写入USBKey中,并向云管理机发送购买结果。
USBKey被离线发给客户端的用户。
步骤508,云管理机向客户端发送购买结果。
步骤509,客户端向云管理机发送数据库加密请求。
步骤510,云管理机通过数据库代理获取数据库的数据字典。
步骤511,云管理机指示客户端选择第二加密算法和加密粒度。
步骤512,云管理机向第二云加密机发送数据密钥种子获取请求,该数据密钥种子获取请求中携带有第二加密算法。
步骤513,第二云加密机根据第二加密算法生成数据密钥种子,并生成数据密钥标识,将数据密钥标识发送给云管理机。
步骤514,云管理机将加密粒度和数据密钥标识写入加密数据字典,将加密数据字典发送给数据库代理。
步骤515,数据库代理存储加密数据字典。
步骤516,数据库代理向第一云加密机发送CA证书获取请求。
步骤517,第一云加密机向数据库代理发送CA证书。
步骤518,数据库代理根据CA证书与第一云加密机建立CA安全通道。
步骤519,云管理机向第一云加密机发送数据密钥标识。
步骤520,第一云加密机根据数据密钥标识确定根密钥种子和数据密钥种子,根据根密钥种子生成根密钥,根据根密钥对数据密钥种子进行加密,将数据密钥标识和加密后的数据密钥种子发送给云管理器。
步骤521,云管理器将数据密钥标识和加密后的数据密钥种子发送给客户端。
步骤522,客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中。
步骤523,客户端向数据库代理发送读请求。
步骤524,数据库代理根据读请求从数据库中读取第一数据。
步骤525,数据库代理将该第一数据与加密数据字典进行匹配,在确定该数据需要解密时,通过CA安全通道向第二云加密机发送解密请求,该解密请求中携带该第一数据和加密数据字典中的数据密钥标识。
步骤526,第二云加密机对数据进行解密,并通过CA安全通道将解密后得到的第二数据发送给数据库代理。
步骤527,数据库代理将第二数据发送给客户端,流程结束。
步骤528,客户端向数据库代理发送写请求。
步骤529,数据库代理将写请求中的第一数据与加密数据字典进行匹配,在确定写请求中的第一数据需要加密时,通过CA安全通道向第二云加密机发送加密请求,该加密请求中携带该第一数据和加密数据字典中的数据密钥标识。
步骤530,第二云加密机对第一数据进行加密,并通过CA安全通道将加密后得到的第二数据发送给数据库代理。
步骤531,数据库代理将第二数据发送给数据库,流程结束。
下面以本实施例提供的数据处理方法应用于金融安全数据库为例进行介绍,请参考图6。其中,受信客户端需要向数据库代理查询(Query)SSN(Social Security Number,社会安全号码)为“198-33-0987”的数据,数据库代理确定该SSN的密文为“0x7ff654ae6d”,并通过云加密机解密出该密文对应的结果集“Jim Gary”,将结果集“Jim Gary”反馈给受信客户端。
综上所述,本申请实施例提供的数据处理方法,数据库代理在接收到读请求时,从数据库中读取第一数据,向第一云加密机发送携带有第一数据和数据密钥标识的解密请求;第一云加密机利用与数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行解密;数据库代理在接收到写请求时,向第一云加密机发送携带有第一数据和数据密钥标识的加密请求;第一云加密机利用与数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行加密,由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
通过第一云加密机将根密钥种子和工作程序写入USBKey中,通过客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中,使得用户可以单独保存根密钥种子、工作程序、数据密钥标识和数据密钥种子,这样,当第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识被销毁时,USBKey向第一云加密机备份根密钥种子、工作程序、数据密钥种子和数据密钥标识,从而提高密钥体系的安全性。
由于数据库代理和第一云加密机之间建立的是基于CA证书的CA安全通道,因此,可以保证数据库代理和第一云加密机之间传输的数据的安全性,提高了数据库的安全性。另外,CA证书具有时效性,避免了使用固定的一种CA证书,在该CA证书被泄漏时,CA安全通道不安全的问题。
当客户端选择的第一加密算法被更新时,对应的根密钥被相应更新;当客户端选择的第二加密算法被更新时,对应的数据密钥被相应更新,从而实现了根据用户的需求动态更 新密钥体系的目的。
客户端可以根据需求选择数据库、表和字段中的一种作为加密粒度,提高了数据库加密的灵活性。
第一云加密机在检测到用于非法探测根密钥种子和数据密钥种子的探测行为时,根据探测行为的攻击力度延迟响应探测行为,或,根据探测行为的攻击力度销毁第一云加密机中存储的根密钥种子和数据密钥种子,提高了密钥体系的安全性。
请参考图7,其示出了本申请一个实施例提供的数据处理装置的结构框图,该数据处理装置可以应用于图1所示的云管理机中。该数据处理装置,包括:
接收模块710,用于接收客户端发送的触发请求;
触发模块720,用于根据接收模块710接收的触发请求触发第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典,工作程序用于指示第一云加密机的运行策略;
第一云加密机用于接收数据库代理发送的第一数据和加密数据字典中的数据密钥标识,运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,并将处理后得到的第二数据发送给数据库代理;数据库代理用于利用第二数据响应数据处理请求,第一数据是数据处理请求所请求处理的数据,且第一数据和数据密钥标识是数据库代理在确定第一数据与加密数据字典相匹配时发送的。
可选的,数据处理系统还包括电子钥匙USBKey,该装置还包括:
发送模块,用于在USBKey与客户端相连时,将获取到的数据密钥标识发送给第一云加密机;
接收模块710,还用于接收第一云加密机发送的数据密钥标识和加密后的数据密钥种子,加密后的数据密钥种子是第一云加密机确定与数据密钥标识对应的根密钥种子和数据密钥种子,根据根密钥种子生成的根密钥,利用根密钥对数据密钥种子进行加密得到的;
发送模块,还用于向客户端发送数据密钥标识和加密后的数据密钥种子,数据密钥标识和加密后的数据密钥种子由客户端写入USBKey中。
可选的,触发请求包括第一触发请求和第二触发请求,触发模块720,还用于:根据第一触发请求触发第一云加密机存储根密钥种子和工作程序;根据第二触发请求触发第一云加密机存储数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典。
可选的,触发模块720,还用于:在第一触发请求的指示下,指示客户端选择第一加密算法,并将第一加密算法发送给第二云加密机;接收第二云加密机发送的根密钥种子,根密钥种子是第二云加密机生成的,且根密钥种子中携带有用于指示第一加密算法的标志位;指示客户端选择工作程序,将根密钥种子和工作程序发送给第一云加密机进行存储。
可选的,触发模块720,还用于:在第二触发请求的指示下,通过数据库代理获取数据库的数据字典,并指示客户端选择第二加密算法和加密粒度,加密粒度是数据库、表和字段中的一种;将第二加密算法发送给第一云加密机;接收第一云加密机发送的数据密钥标识,数据密钥标识是在第一云加密机生成数据密钥标识和数据密钥种子后发送的,数据密钥种子中携带有用于指示第二加密算法的标志位;将数据密钥标识和加密粒度写入加密数据字典,并将加密数据字典发送给数据库代理进行存储。
综上所述,本申请实施例提供的数据处理装置,数据库代理在接收到数据处理请求,且确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
通过第一云加密机将根密钥种子和工作程序写入USBKey中,通过客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中,使得用户可以单独保存根密钥种子、工作程序、数据密钥标识和数据密钥种子,这样,当第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识被销毁时,USBKey向第一云加密机备份根密钥种子、工作程序、数据密钥种子和数据密钥标识,从而提高密钥体系的安全性。
请参考图8,其示出了本申请一个实施例提供的数据处理装置的结构框图,该数据处理装置可以应用于图1所示的第一云加密机中。该数据处理装置,包括:
存储模块810,用于在云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,触发是云管理机接收到客户端发送的触发请求后产生的,工作程序用于指示第一云加密机的运行策略;
第一处理模块820,用于接收数据库代理发送的第一数据和加密数据字典中的数据密钥标识,运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,并将处理后得到的第二数据发送给数据库代理;数据库代理用于利用第二数据响应数据处理请求,第一数据是数据处理请求所请求处理的数据,且第一数据和数据密钥标识是数据库代理在确定第一数据与加密数据字典相匹配时发送的。
可选的,数据处理系统还包括电子钥匙USBKey,装置还包括:
写入模块,用于在USBKey与第一云加密机相连时,将根密钥种子和工作程序写入USBKey中;
第二处理模块,用于在USBKey与客户端相连时,接收云管理机发送的数据密钥标识;确定与数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对数据密钥种子进行加密,将数据密钥标识和加密后的数据密钥种子发送给云管理机,根密钥是根据根密钥种子生成的,数据密钥标识和加密后的数据密钥种子被云管理机发送给客户端,并由客户端写入USBKey中。
可选的,装置还包括:第一接收模块,用于在USBKey与第一云加密机相连,且第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识被销毁时,接收USBKey发送的根密钥种子、工作程序、数据密钥种子和数据密钥标识。
可选的,该装置还包括:第三处理模块,用于在检测到用于非法探测根密钥种子和数据密钥种子的探测行为时,根据探测行为的攻击力度延迟响应探测行为,或,根据探测行为的攻击力度销毁第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识。
可选的,该装置还包括:第二接收模块,用于接收数据库代理发送的认证授权CA证书 获取请求;
发送模块,用于向数据库代理发送CA证书;
建立模块,用于利用CA证书与数据库代理建立CA安全通道,CA安全通道用于供数据库代理和第一云加密机之间传输数据。
可选的,触发请求包括第一触发请求和第二触发请求,存储模块810,还用于:在云管理机根据第一触发请求所产生的触发下,存储根密钥种子和工作程序;在云管理机根据第二触发请求所产生的触发下,存储数据密钥种子和数据密钥标识。
可选的,存储模块810,还用于:接收云管理机发送的根密钥种子和工作程序,根密钥种子是云管理机在第一触发请求的指示下,将指示客户端选择的第一加密算法发送给第二云加密机,由第二云加密机生成的,根密钥种子中携带有用于指示第一加密算法的标志位,工作程序是云管理机指示客户端选择的;对根密钥种子和工作程序进行存储。
可选的,存储模块810,还用于:接收云管理机发送的第二加密算法,第二加密算法是云管理机在第二触发请求的指示下,通过数据库代理获取数据库的数据字典后,指示客户端选择的;生成数据密钥标识和数据密钥种子,数据密钥种子中携带有用于指示第二加密算法的标志位;其中,云管理机还用于指示客户端选择加密粒度,将数据密钥标识和加密粒度写入加密数据字典,将加密数据字典发送给数据库代理进行存储,加密粒度是数据库、表和字段中的一种。
可选的,当数据处理请求是读请求时,第一处理模块820,还用于:通过运行的工作程序确定客户端对应的运算缓存区,运算缓存区用于缓存第一云加密机在处理第一数据的过程中的中间数据;确定与数据密钥标识对应的根密钥种子,根据根密钥种子生成根密钥,并根据根密钥对第一数据和数据密钥标识进行加密后缓存到运算缓存区中;在运算缓存区中,根据数据密钥标识生成数据密钥,并根据数据密钥对第一数据进行解密,得到第三数据;从运算缓存区中读取第三数据,并根据根密钥对第三数据进行解密,得到第二数据。
可选的,当数据处理请求是写请求时,第一处理模块820,还用于:通过运行的工作程序确定客户端对应的运算缓存区,运算缓存区用于缓存第一云加密机在处理第一数据的过程中的中间数据;确定与数据密钥标识对应的根密钥种子,根据根密钥种子生成根密钥,并根据根密钥对第一数据和数据密钥标识进行加密后缓存到运算缓存区中;在运算缓存区中,根据数据密钥标识生成数据密钥,并根据数据密钥对第一数据进行加密,得到第四数据;从运算缓存区中读取第四数据,并根据根密钥对第四数据进行解密,得到第二数据。
综上所述,本申请实施例提供的数据处理装置,数据库代理在接收到数据处理请求,且确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
通过第一云加密机将根密钥种子和工作程序写入USBKey中,通过客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中,使得用户可以单独保存根密钥种子、工作程序、数据密钥标识和数据密钥种子,这样,当第一云加密机中存储的根密钥种子、工作 程序、数据密钥种子和数据密钥标识被销毁时,USBKey向第一云加密机备份根密钥种子、工作程序、数据密钥种子和数据密钥标识,从而提高密钥体系的安全性。
由于数据库代理和第一云加密机之间建立的是基于CA证书的CA安全通道,因此,可以保证数据库代理和第一云加密机之间传输的数据的安全性,提高了数据库的安全性。另外,CA证书具有时效性,避免了使用固定的一种CA证书,在该CA证书被泄漏时,CA安全通道不安全的问题。
第一云加密机在检测到用于非法探测根密钥种子和数据密钥种子的探测行为时,根据探测行为的攻击力度延迟响应探测行为,或,根据探测行为的攻击力度销毁第一云加密机中存储的根密钥种子和数据密钥种子,提高了密钥体系的安全性。
请参考图9,其示出了本申请一个实施例提供的数据处理装置的结构框图,该数据处理装置可以应用于图1所示的数据库代理中。该数据处理装置,包括:
存储模块910,用于在云管理机的触发下存储加密数据字典,触发是云管理机接收到客户端发送的触发请求后产生的,云管理机还用于触发第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,工作程序用于指示第一云加密机的运行策略;
接收模块920,用于接收客户端发送的数据处理请求;
处理模块930,用于在确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和加密数据字典中的数据密钥标识;接收第一云加密机在运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理后发送的第二数据;利用第二数据响应数据处理请求。
可选的,该装置还包括:
发送模块,用于向第一云加密机发送认证授权CA证书获取请求;
接收模块920,还用于接收第一云加密机发送的CA证书;
建立模块,用于利用接收模块920接收的CA证书与第一云加密机建立CA安全通道,CA安全通道用于供数据库代理和第一云加密机之间传输数据。
可选的,触发请求包括第二触发请求,存储模块910,还用于:接收云管理机发送的加密数据字典,加密数据字典中写有数据密钥标识和加密粒度,数据密钥标识是云管理机在第二触发请求的指示下,通过数据库代理获取数据库的数据字典,指示客户端选择第二加密算法和加密粒度,将第二加密算法发送给第一云加密机后,由第一云加密机生成的,加密粒度是数据库、表和字段中的一种;对加密数据字典进行存储。
综上所述,本申请实施例提供的数据处理装置,数据库代理在接收到数据处理请求,且确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
由于数据库代理和第一云加密机之间建立的是基于CA证书的CA安全通道,因此,可以保证数据库代理和第一云加密机之间传输的数据的安全性,提高了数据库的安全性。另 外,CA证书具有时效性,避免了使用固定的一种CA证书,在该CA证书被泄漏时,CA安全通道不安全的问题。
请参考图10,其示出了本申请一个实施例提供的数据处理装置的结构框图,该数据处理装置可以应用于图1所示的客户端中。该数据处理装置,包括:
发送模块1010,用于向云管理机发送触发请求,触发请求用于指示云管理机触发第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典,工作程序用于指示第一云加密机的运行策略;
发送模块1010,还用于向数据库代理发送数据处理请求,数据库代理用于在确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和加密数据字典中的数据密钥标识;第一云加密机用于运行工作程序,利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,并将处理后得到的第二数据发送给数据库代理;数据库代理用于利用第二数据响应数据处理请求。
可选的,数据处理系统还包括电子钥匙USBKey,该装置还包括:
接收模块1020,用于在USBKey与客户端相连时,接收云管理机发送的数据密钥标识和加密后的数据密钥种子,数据密钥标识和加密后的数据密钥种子是云管理机将获取到的数据密钥标识发送给第一云加密机;由第一云加密机确定与数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对数据密钥种子进行加密后发送给云管理机的,根密钥是根据根密钥种子生成的;
写入模块1030,用于将数据密钥标识和加密后的数据密钥种子写入USBKey中。
可选的,触发请求包括第一触发请求和第二触发请求,发送模块1010,还用于:向云管理机发送第一触发请求,第一触发请求用于指示云管理机触发第一云加密机存储根密钥种子和工作程序;向云管理机发送第二触发请求,第二触发请求用于指示云管理机触发第一云加密机存储数据密钥种子和数据密钥标识,并触发数据库代理存储加密数据字典。
综上所述,本申请实施例提供的数据处理装置,数据库代理在接收到数据处理请求,且确定数据处理请求所请求处理的第一数据与加密数据字典相匹配时,向第一云加密机发送第一数据和数据密钥标识;第一云加密机利用与接收到的数据密钥标识对应的根密钥种子和数据密钥种子对第一数据进行处理,由于根密钥种子和数据密钥种子存储在第一云加密机中,第一数据存储在数据库中,即,密钥体系与数据库分离,这样,即使数据库中的第一数据被泄露,若无法获取到第一云加密机中的根密钥种子和数据密钥种子,仍然无法识别第一数据,从而提高了数据库的安全性。
通过第一云加密机将根密钥种子和工作程序写入USBKey中,通过客户端将数据密钥标识和加密后的数据密钥种子写入USBKey中,使得用户可以单独保存根密钥种子、工作程序、数据密钥标识和数据密钥种子,这样,当第一云加密机中存储的根密钥种子、工作程序、数据密钥种子和数据密钥标识被销毁时,USBKey向第一云加密机备份根密钥种子、工作程序、数据密钥种子和数据密钥标识,从而提高密钥体系的安全性。
当客户端选择的第一加密算法被更新时,对应的根密钥被相应更新;当客户端选择的第二加密算法被更新时,对应的数据密钥被相应更新,从而实现了根据用户的需求动态更新密钥体系的目的。
客户端可以根据需求选择数据库、表和字段中的一种作为加密粒度,提高了数据库加密的灵活性。
请参考图1,本申请一个实施例提供了一种数据处理系统,该数据处理系统,包括:客户端110、第一云加密机120、云管理机130、第二云加密机140、数据库代理150和数据库160。
其中,客户端110为包括图10所示的数据处理装置的客户端,第一云加密机120为包括图8所示的数据处理装置的第一云加密机,云管理机130为包括图7所示的数据处理装置的云管理机,数据库代理150为包括图9所示的数据处理装置的数据库代理。
请参考图11,其示出了本申请一个实施例提供的终端1100的框图,该终端1100中可以安装有图1所示的客户端或第一云加密机或云管理机或第二云加密机或数据库代理或数据库。
该终端可以包括射频(RF,Radio Frequency)电路1101、包括有一个或一个以上计算机可读存储介质的存储器1102、输入单元1103、显示单元1104、传感器1105、音频电路1106、无线保真(WiFi,Wireless Fidelity)模块1107、包括有一个或者一个以上处理核心的处理器1108、以及电源1109等部件。本领域技术人员可以理解,图11中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路1101可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1108处理;另外,将涉及上行的数据发送给基站。通常,RF电路1101包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路1101还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器1102可用于存储软件程序以及模块,处理器1108通过运行存储在存储器1102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1102还可以包括存储器控制器,以提供处理器1108和输入单元1103对存储器1102的访问。
输入单元1103可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。在一个示例性的实施例中,输入 单元1103可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1108,并能接收处理器1108发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元1103还可以包括其他输入设备。其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1104可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1104可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器1108以确定触摸事件的类型,随后处理器1108根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图11中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器1105,比如光传感器、运动传感器以及其他传感器。光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1106、扬声器,传声器可提供用户与终端之间的音频接口。音频电路1106可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路1106接收后转换为音频数据,再将音频数据输出处理器1108处理后,经RF电路1101以发送给比如另一终端,或者将音频数据输出至存储器1102以便进行处理。音频电路1106还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块1107可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块1107,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器1108是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1108可包括一个或多个处理核心;优选的,处理器1108可集成应用处理器和调制解调处理器, 其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1108中。
终端还包括给各个部件供电的电源1109(比如电池),优选的,电源可以通过电源管理系统与处理器1108逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1109还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。在本实施例中,终端中的处理器1108会运行存储在存储器1102中的一个或一个以上的程序指令,从而实现上述各个方法实施例中所提供的数据处理方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
本发明一实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的数据处理方法。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (84)

  1. 一种数据处理方法,用于包括客户端、第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
    所述客户端向所述云管理机发送触发请求;
    所述云管理机根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    所述客户端向所述数据库代理发送数据处理请求;
    所述数据库代理在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;
    所述第一云加密机运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;
    所述数据库代理利用所述第二数据响应所述数据处理请求。
  2. 根据权利要求1所述的方法,所述数据处理系统还包括电子钥匙USBKey,所述方法还包括:
    在所述USBKey与所述第一云加密机相连时,所述第一云加密机将所述根密钥种子和所述工作程序写入所述USBKey中;
    在所述USBKey与所述客户端相连时,所述云管理机将获取到的数据密钥标识发送给所述第一云加密机;所述第一云加密机确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密,将所述数据密钥标识和加密后的数据密钥种子发送给所述云管理机,所述根密钥是根据所述根密钥种子生成的;所述云管理机向所述客户端发送所述数据密钥标识和所述加密后的数据密钥种子;所述客户端将所述数据密钥标识和所述加密后的数据密钥种子写入所述USBKey中。
  3. 根据权利要求2所述的方法,所述方法还包括:
    在所述USBKey与所述第一云加密机相连,且所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识被销毁时,所述USBKey向所述第一云加密机备份所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  4. 根据权利要求3所述的方法,所述方法还包括:
    所述第一云加密机在检测到用于非法探测所述根密钥种子和所述数据密钥种子的探测行为时,根据所述探测行为的攻击力度延迟响应所述探测行为,或,根据所述探测行为的攻击力度销毁所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  5. 根据权利要求1所述的方法,所述方法还包括:
    所述数据库代理向所述第一云加密机发送认证授权CA证书获取请求;
    所述第一云加密机向所述数据库代理发送所述CA证书;
    所述数据库代理利用所述CA证书与所述第一云加密机建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  6. 根据权利要求1至5任一所述的方法,所述客户端向所述云管理机发送触发请求,所述云管理机根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,包括:
    所述客户端向所述云管理机发送第一触发请求;
    所述云管理机根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    所述客户端向所述云管理机发送第二触发请求;
    所述云管理机根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  7. 根据权利要求6所述的方法,所述数据处理系统还包括第二云加密机;所述云管理机根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序,包括:
    所述云管理机在所述第一触发请求的指示下,指示所述客户端选择第一加密算法,并将所述第一加密算法发送给所述第二云加密机;
    所述第二云加密机生成根密钥种子,并将所述根密钥种子发送给所述云管理机,所述根密钥种子中携带有用于指示所述第一加密算法的标志位;
    所述云管理机接收所述第二云加密机发送的所述根密钥种子;
    所述云管理机指示所述客户端选择工作程序,将所述根密钥种子和所述工作程序发送给所述第一云加密机;
    所述第一云加密机对所述根密钥种子和所述工作程序进行存储。
  8. 根据权利要求6所述的方法,所述云管理机根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典,包括:
    所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,并指示所述客户端选择第二加密算法和加密粒度,所述加密粒度是数据库、表和字段中的一种;
    所述云管理机将所述第二加密算法发送给所述第一云加密机;
    所述第一云加密机生成数据密钥标识和数据密钥种子,将所述数据密钥标识发送给所述云管理机,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    所述云管理机将所述数据密钥标识和所述加密粒度写入所述加密数据字典,将所述解密数据字典发送给所述数据库代理;
    所述数据库代理对所述加密数据字典进行存储。
  9. 根据权利要求1所述的方法,当所述数据处理请求是读请求时,所述第一云加密机运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,包括:
    所述第一云加密机通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    所述第一云加密机确定与接收到的所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,所述第一云加密机根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行解密,得到第三数据;
    所述第一云加密机从所述运算缓存区中读取所述第三数据,并根据所述根密钥对所述第三数据进行解密,得到所述第二数据。
  10. 根据权利要求1所述的方法,当所述数据处理请求是写请求时,所述第一云加密机运行所述工作程序,利用与所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,包括:
    所述第一云加密机通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    所述第一云加密机确定与接收到的所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成所述根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,所述第一云加密机根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行加密,得到第四数据;
    所述第一云加密机从所述运算缓存区中读取所述第四数据,并根据所述根密钥对所述第四数据进行解密,得到所述第二数据。
  11. 一种数据处理方法,用于数据处理系统中的云管理机中,所述数据处理系统还包括客户端、第一云加密机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
    接收所述客户端发送的触发请求;
    根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    所述第一云加密机用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第 一数据与所述加密数据字典相匹配时发送的。
  12. 根据权利要求11所述的方法,所述数据处理系统还包括电子钥匙USBKey,所述方法还包括:
    在所述USBKey与所述客户端相连时,将获取到的数据密钥标识发送给所述第一云加密机;
    接收所述第一云加密机发送的所述数据密钥标识和加密后的数据密钥种子,所述加密后的数据密钥种子是所述第一云加密机确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,根据所述根密钥种子生成的根密钥,利用所述根密钥对所述数据密钥种子进行加密得到的;
    向所述客户端发送所述数据密钥标识和所述加密后的数据密钥种子,所述数据密钥标识和所述加密后的数据密钥种子由所述客户端写入所述USBKey中。
  13. 根据权利要求11或12所述的方法,所述触发请求包括第一触发请求和第二触发请求,所述根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,包括:
    根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  14. 根据权利要求13所述的方法,所述数据处理系统还包括第二云加密机;所述根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序,包括:
    在所述第一触发请求的指示下,指示所述客户端选择第一加密算法,并将所述第一加密算法发送给所述第二云加密机;
    接收所述第二云加密机发送的根密钥种子,所述根密钥种子是所述第二云加密机生成的,且所述根密钥种子中携带有用于指示所述第一加密算法的标志位;
    指示所述客户端选择工作程序,将所述根密钥种子和所述工作程序发送给所述第一云加密机进行存储。
  15. 根据权利要求13所述的方法,所述根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典,包括:
    在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,并指示所述客户端选择第二加密算法和加密粒度,所述加密粒度是数据库、表和字段中的一种;
    将所述第二加密算法发送给所述第一云加密机;
    接收所述第一云加密机发送的数据密钥标识,所述数据密钥标识是在所述第一云加密机生成所述数据密钥标识和数据密钥种子后发送的,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    将所述数据密钥标识和所述加密粒度写入所述加密数据字典,并将所述加密数据字典发 送给所述数据库代理进行存储。
  16. 一种数据处理方法,用于数据处理系统中的第一云加密机中,所述数据处理系统还包括客户端、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
    在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述工作程序用于指示所述第一云加密机的运行策略;
    接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
  17. 根据权利要求16所述的方法,所述数据处理系统还包括电子钥匙USBKey,所述方法还包括:
    在所述USBKey与所述第一云加密机相连时,将所述根密钥种子和所述工作程序写入所述USBKey中;
    在所述USBKey与所述客户端相连时,接收所述云管理机发送的数据密钥标识;确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密,将所述数据密钥标识和加密后的数据密钥种子发送给所述云管理机,所述根密钥是根据所述根密钥种子生成的,所述数据密钥标识和所述加密后的数据密钥种子被所述云管理机发送给所述客户端,并由所述客户端写入所述USBKey中。
  18. 根据权利要求17所述的方法,所述方法还包括:
    在所述USBKey与所述第一云加密机相连,且所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识被销毁时,接收所述USBKey发送的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  19. 根据权利要求18所述的方法,所述方法还包括:
    在检测到用于非法探测所述根密钥种子和所述数据密钥种子的探测行为时,根据所述探测行为的攻击力度延迟响应所述探测行为,或,根据所述探测行为的攻击力度销毁所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  20. 根据权利要求16所述的方法,所述方法还包括:
    接收所述数据库代理发送的认证授权CA证书获取请求;
    向所述数据库代理发送所述CA证书;
    利用所述CA证书与所述数据库代理建立CA安全通道,所述CA安全通道用于供所述 数据库代理和所述第一云加密机之间传输数据。
  21. 根据权利要求16至20任一所述的方法,所述触发请求包括第一触发请求和第二触发请求,所述在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,包括:
    在所述云管理机根据所述第一触发请求所产生的触发下,存储所述根密钥种子和所述工作程序;
    在所述云管理机根据所述第二触发请求所产生的触发下,存储所述数据密钥种子和所述数据密钥标识。
  22. 根据权利要求21所述的方法,所述数据处理系统还包括第二云加密机;所述在所述云管理机根据所述第一触发请求所产生的触发下存储所述根密钥种子和所述工作程序,包括:
    接收所述云管理机发送的根密钥种子和工作程序,所述根密钥种子是所述云管理机在所述第一触发请求的指示下,将指示所述客户端选择的第一加密算法发送给所述第二云加密机,由所述第二云加密机生成的,所述根密钥种子中携带有用于指示所述第一加密算法的标志位,所述工作程序是所述云管理机指示所述客户端选择的;
    对所述根密钥种子和所述工作程序进行存储。
  23. 根据权利要求21所述的方法,所述在所述云管理机根据所述第二触发请求所产生的触发下存储所述数据密钥种子和所述数据密钥标识,包括:
    接收所述云管理机发送的第二加密算法,所述第二加密算法是所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典后,指示所述客户端选择的;
    生成数据密钥标识和数据密钥种子,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    其中,所述云管理机还用于指示所述客户端选择加密粒度,将所述数据密钥标识和所述加密粒度写入所述加密数据字典,将所述加密数据字典发送给所述数据库代理进行存储,所述加密粒度是数据库、表和字段中的一种。
  24. 根据权利要求16所述的方法,当所述数据处理请求是读请求时,所述运行所述工作程序,利用与所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,包括:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行解密,得到第三数据;
    从所述运算缓存区中读取所述数据,并根据所述根密钥对所述第三数据进行解密,得到 所述第二数据。
  25. 根据权利要求16所述的方法,当所述数据处理请求是写请求时,所述运行所述工作程序,利用与所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,包括:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行加密,得到第四数据;
    从所述运算缓存区中读取所述第四数据,并根据所述根密钥对所述第四数据进行解密,得到所述第二数据。
  26. 一种数据处理方法,用于数据处理系统中的数据库代理中,所述数据处理系统还包括客户端、第一云加密机、云管理机和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
    在所述云管理机的触发下存储加密数据字典,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述云管理机还用于触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述工作程序用于指示所述第一云加密机的运行策略;
    接收所述客户端发送的数据处理请求;
    在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;接收所述第一云加密机在运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理后发送的第二数据;利用所述第二数据响应所述数据处理请求。
  27. 根据权利要求26所述的方法,所述方法还包括:
    向所述第一云加密机发送认证授权CA证书获取请求;
    接收所述第一云加密机发送的所述CA证书;
    利用所述CA证书与所述第一云加密机建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  28. 根据权利要求26所述的方法,所述触发请求包括第二触发请求,所述在所述云管理机的触发下存储加密数据字典,包括:
    接收所述云管理机发送的所述加密数据字典,所述加密数据字典中写有数据密钥标识和加密粒度,所述数据密钥标识是所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,指示所述客户端选择第二加密算法和加密粒度,将所述第二加密算法发送给所述第一云加密机后,由所述第一云加密机生成的,所述加密粒度是数 据库、表和字段中的一种;
    对所述加密数据字典进行存储。
  29. 一种数据处理方法,用于数据处理系统中的客户端中,所述数据处理系统还包括第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述方法包括:
    向所述云管理机发送触发请求,所述触发请求用于指示所述云管理机触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    向所述数据库代理发送数据处理请求,所述数据库代理用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;所述第一云加密机用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应所述数据处理请求。
  30. 根据权利要求29所述的方法,所述数据处理系统还包括电子钥匙USBKey,所述方法还包括:
    在所述USBKey与所述客户端相连时,接收所述云管理机发送的数据密钥标识和加密后的数据密钥种子,所述数据密钥标识和所述加密后的数据密钥种子是所述云管理机将获取到的数据密钥标识发送给所述第一云加密机;由所述第一云加密机确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密后发送给所述云管理机的,所述根密钥是根据所述根密钥种子生成的;
    将所述数据密钥标识和所述加密后的数据密钥种子写入所述USBKey中。
  31. 根据权利要求29所述的方法,所述触发请求包括第一触发请求和第二触发请求,所述向所述云管理机发送触发请求,包括:
    向所述云管理机发送所述第一触发请求,所述第一触发请求用于指示所述云管理机触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    向所述云管理机发送所述第二触发请求,所述第二触发请求用于指示所述云管理机触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  32. 一种数据处理系统,所述数据处理系统包括客户端、第一云加密机、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;
    所述客户端,用于向所述云管理机发送触发请求;
    所述云管理机,用于根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    所述客户端,还用于向所述数据库代理发送数据处理请求;
    所述数据库代理,用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;
    所述第一云加密机,用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;
    所述数据库代理,还用于利用所述第二数据响应所述数据处理请求。
  33. 根据权利要求32所述的数据处理系统,所述数据处理系统还包括电子钥匙USBKey;
    在所述USBKey与所述第一云加密机相连时,所述第一云加密机,还用于将所述根密钥种子和所述工作程序写入所述USBKey中;
    在所述USBKey与所述客户端相连时,所述云管理机,还用于将获取到的数据密钥标识发送给所述第一云加密机;所述第一云加密机,还用于确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密,将所述数据密钥标识和加密后的数据密钥种子发送给所述云管理机,所述根密钥是根据所述根密钥种子生成的;所述云管理机,还用于向所述客户端发送所述数据密钥标识和所述加密后的数据密钥种子;所述客户端,还用于将所述数据密钥标识和所述加密后的数据密钥种子写入所述USBKey中。
  34. 根据权利要求33所述的数据处理系统,
    在所述USBKey与所述第一云加密机相连,且所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识被销毁时,所述USBKey,用于向所述第一云加密机备份所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  35. 根据权利要求34所述的数据处理系统,
    所述第一云加密机,还用于在检测到用于非法探测所述根密钥种子和所述数据密钥种子的探测行为时,根据所述探测行为的攻击力度延迟响应所述探测行为,或,根据所述探测行为的攻击力度销毁所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  36. 根据权利要求32所述的数据处理系统,
    所述数据库代理,还用于向所述第一云加密机发送认证授权CA证书获取请求;
    所述第一云加密机,还用于向所述数据库代理发送所述CA证书;
    所述数据库代理,还用于利用所述CA证书与所述第一云加密机建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  37. 根据权利要求31至36任一所述的数据处理系统,
    所述客户端,还用于向所述云管理机发送第一触发请求;
    所述云管理机,还用于根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    所述客户端,还用于向所述云管理机发送第二触发请求;
    所述云管理机,还用于根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  38. 根据权利要求37所述的数据处理系统,所述数据处理系统还包括第二云加密机;
    所述云管理机,还用于在所述第一触发请求的指示下,指示所述客户端选择第一加密算法,并将所述第一加密算法发送给所述第二云加密机;
    所述第二云加密机,用于生成根密钥种子,并将所述根密钥种子发送给所述云管理机,所述根密钥种子中携带有用于指示所述第一加密算法的标志位;
    所述云管理机,还用于接收所述第二云加密机发送的所述根密钥种子;
    所述云管理机,还用于指示所述客户端选择工作程序,将所述根密钥种子和所述工作程序发送给所述第一云加密机;
    所述第一云加密机,还用于对所述根密钥种子和所述工作程序进行存储。
  39. 根据权利要求37所述的数据处理系统,
    所述云管理机,还用于在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,并指示所述客户端选择第二加密算法和加密粒度,所述加密粒度是数据库、表和字段中的一种;
    所述云管理机,还用于将所述第二加密算法发送给所述第一云加密机;
    所述第一云加密机,还用于生成数据密钥标识和数据密钥种子,将所述数据密钥标识发送给所述云管理机,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    所述云管理机,还用于将所述数据密钥标识和所述加密粒度写入所述加密数据字典,将所述解密数据字典发送给所述数据库代理;
    所述数据库代理,还用于对所述加密数据字典进行存储。
  40. 根据权利要求32所述的数据处理系统,当所述数据处理请求是读请求时,所述第一云加密机,还用于:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与接收到的所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行解密,得到第三数据;
    从所述运算缓存区中读取所述第三数据,并根据所述根密钥对所述第三数据进行解密,得到所述第二数据。
  41. 根据权利要求32所述的数据处理系统,当所述数据处理请求是写请求时,所述第一云加密机,还用于:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与接收到的所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成所述根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行加密,得到第四数据;
    从所述运算缓存区中读取所述第四数据,并根据所述根密钥对所述第四数据进行解密,得到所述第二数据。
  42. 一种数据处理装置,用于数据处理系统中的云管理机中,所述数据处理系统还包括客户端、第一云加密机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
    接收模块,用于接收所述客户端发送的触发请求;
    触发模块,用于根据所述接收模块接收的所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    所述第一云加密机用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
  43. 根据权利要求42所述的装置,所述数据处理系统还包括电子钥匙USBKey,所述装置还包括:
    发送模块,用于在所述USBKey与所述客户端相连时,将获取到的数据密钥标识发送给所述第一云加密机;
    所述接收模块,还用于接收所述第一云加密机发送的所述数据密钥标识和加密后的数据密钥种子,所述加密后的数据密钥种子是所述第一云加密机确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,根据所述根密钥种子生成的根密钥,利用所述根密钥种子所述数据密钥种子进行加密得到的;
    所述发送模块,还用于向所述客户端发送所述数据密钥标识和所述加密后的数据密钥种子,所述数据密钥标识和所述加密后的数据密钥种子由所述客户端写入所述USBKey中。
  44. 根据权利要求42或43所述的装置,所述触发请求包括第一触发请求和第二触发请求,所述触发模块,还用于:
    根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  45. 根据权利要求44所述的装置,所述触发模块,还用于:
    在所述第一触发请求的指示下,指示所述客户端选择第一加密算法,并将所述第一加密算法发送给所述第二云加密机;
    接收所述第二云加密机发送的根密钥种子,所述根密钥种子是所述第二云加密机生成的,且所述根密钥种子中携带有用于指示所述第一加密算法的标志位;
    指示所述客户端选择工作程序,将所述根密钥种子和所述工作程序发送给所述第一云加密机进行存储。
  46. 根据权利要求44所述的装置,所述触发模块,还用于:
    在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,并指示所述客户端选择第二加密算法和加密粒度,所述加密粒度是数据库、表和字段中的一种;
    将所述第二加密算法发送给所述第一云加密机;
    接收所述第一云加密机发送的数据密钥标识,所述数据密钥标识是在所述第一云加密机生成所述数据密钥标识和数据密钥种子后发送的,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    将所述数据密钥标识和所述加密粒度写入所述加密数据字典,并将所述加密数据字典发送给所述数据库代理进行存储。
  47. 一种数据处理装置,用于数据处理系统中的第一云加密机中,所述数据处理系统还包括客户端、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
    存储模块,用于在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述工作程序用于指示所述第一云加密机的运行策略;
    第一处理模块,用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
  48. 根据权利要求47所述的装置,所述数据处理系统还包括电子钥匙USBKey,所述装置还包括:
    写入模块,用于在所述USBKey与所述第一云加密机相连时,将所述根密钥种子和所述工作程序写入所述USBKey中;
    第二处理模块,用于在所述USBKey与所述客户端相连时,接收所述云管理机发送的数据密钥标识;确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密,将所述数据密钥标识和加密后的数据密钥种子发送给所述云管理机,所述根密钥是根据所述根密钥种子生成的,所述数据密钥标识和所述加密后的数据密钥种子被所述云管理机发送给所述客户端,并由所述客户端写入所述USBKey中。
  49. 根据权利要求48所述的装置,所述装置还包括:
    第一接收模块,用于在所述USBKey与所述第一云加密机相连,且所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识被销毁时,接收所述USBKey发送的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  50. 根据权利要求49所述的装置,所述装置还包括:
    第三处理模块,用于在检测到用于非法探测所述根密钥种子和所述数据密钥种子的探测行为时,根据所述探测行为的攻击力度延迟响应所述探测行为,或,根据所述探测行为的攻击力度销毁所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  51. 根据权利要求47所述的装置,所述装置还包括:
    第二接收模块,用于接收所述数据库代理发送的认证授权CA证书获取请求;
    发送模块,用于向所述数据库代理发送所述CA证书;
    建立模块,用于利用所述CA证书与所述数据库代理建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  52. 根据权利要求47至51任一所述的装置,所述触发请求包括第一触发请求和第二触发请求,所述存储模块,还用于:
    在所述云管理机根据所述第一触发请求所产生的触发下,存储所述根密钥种子和所述工作程序;
    在所述云管理机根据所述第二触发请求所产生的触发下,存储所述数据密钥种子和所述数据密钥标识。
  53. 根据权利要求52所述的装置,所述存储模块,还用于:
    接收所述云管理机发送的根密钥种子和工作程序,所述根密钥种子是所述云管理机在所述第一触发请求的指示下,将指示所述客户端选择的第一加密算法发送给所述第二云加密机,由所述第二云加密机生成的,所述根密钥种子中携带有用于指示所述第一加密算法的标志位,所述工作程序是所述云管理机指示所述客户端选择的;
    对所述根密钥种子和所述工作程序进行存储。
  54. 根据权利要求52所述的装置,所述存储模块,还用于:
    接收所述云管理机发送的第二加密算法,所述第二加密算法是所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典后,指示所述客户端选择的;
    生成数据密钥标识和数据密钥种子,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    其中,所述云管理机还用于指示所述客户端选择加密粒度,将所述数据密钥标识和所述加密粒度写入所述加密数据字典,将所述加密数据字典发送给所述数据库代理进行存储,所述加密粒度是数据库、表和字段中的一种。
  55. 根据权利要求47所述的装置,当所述数据处理请求是读请求时,所述第一处理模块,还用于:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行解密,得到第三数据;
    从所述运算缓存区中读取所述数据,并根据所述根密钥对所述第三数据进行解密,得到所述第二数据。
  56. 根据权利要求47所述的装置,当所述数据处理请求是写请求时,所述第一处理模块,还用于:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行加密,得到第四数据;
    从所述运算缓存区中读取所述第四数据,并根据所述根密钥对所述第四数据进行解密,得到所述第二数据。
  57. 一种数据处理装置,用于数据处理系统中的数据库代理中,所述数据处理系统还包括客户端、第一云加密机、云管理机和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
    存储模块,用于在所述云管理机的触发下存储加密数据字典,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述云管理机还用于触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述工作程序用于指示所述第一云加密机的运行策略;
    接收模块,用于接收所述客户端发送的数据处理请求;
    处理模块,用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;接收所述第一云加密机在运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理后发送的第二数据;利用所述第二数据响应所述数据处理请求。
  58. 根据权利要求57所述的装置,所述装置还包括:
    发送模块,用于向所述第一云加密机发送认证授权CA证书获取请求;
    所述接收模块,还用于接收所述第一云加密机发送的所述CA证书;
    建立模块,用于利用所述接收模块接收的所述CA证书与所述第一云加密机建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  59. 根据权利要求57所述的装置,所述触发请求包括第二触发请求,所述存储模块,还用于:
    接收所述云管理机发送的所述加密数据字典,所述加密数据字典中写有数据密钥标识和加密粒度,所述数据密钥标识是所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,指示所述客户端选择第二加密算法和加密粒度,将所述第二加密算法发送给所述第一云加密机后,由所述第一云加密机生成的,所述加密粒度是数据库、表和字段中的一种;
    对所述加密数据字典进行存储。
  60. 一种数据处理装置,用于数据处理系统中的客户端中,所述数据处理系统还包括第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述装置包括:
    发送模块,用于向所述云管理机发送触发请求,所述触发请求用于指示所述云管理机触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    所述发送模块,还用于向所述数据库代理发送数据处理请求,所述数据库代理用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;所述第一云加密机用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应所述数据处理请求。
  61. 根据权利要求60所述的装置,所述数据处理系统还包括电子钥匙USBKey,所述装置还包括:
    接收模块,用于在所述USBKey与所述客户端相连时,接收所述云管理机发送的数据密钥标识和加密后的数据密钥种子,所述数据密钥标识和所述加密后的数据密钥种子是所述云管理机将获取到的数据密钥标识发送给所述第一云加密机;由所述第一云加密机确定与所述 数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密后发送给所述云管理机的,所述根密钥是根据所述根密钥种子生成的;
    写入模块,用于将所述数据密钥标识和所述加密后的数据密钥种子写入所述USBKey中。
  62. 根据权利要求60所述的装置,所述触发请求包括第一触发请求和第二触发请求,所述发送模块,还用于:
    向所述云管理机发送所述第一触发请求,所述第一触发请求用于指示所述云管理机触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    向所述云管理机发送所述第二触发请求,所述第二触发请求用于指示所述云管理机触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  63. 一种云管理机,所述云管理机用于数据处理系统中,所述数据处理系统还包括客户端、第一云加密机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述云管理机包括:
    一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
    接收所述客户端发送的触发请求;
    根据所述触发请求触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    所述第一云加密机用于接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
  64. 根据权利要求63所述的云管理机,所述数据处理系统还包括电子钥匙USBKey,所述一个或多个程序还包含用于执行以下操作的指令:
    在所述USBKey与所述客户端相连时,将获取到的数据密钥标识发送给所述第一云加密机;
    接收所述第一云加密机发送的所述数据密钥标识和加密后的数据密钥种子,所述加密后的数据密钥种子是所述第一云加密机确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,根据所述根密钥种子生成的根密钥,利用所述根密钥对所述数据密钥种子进行加密得到的;
    向所述客户端发送所述数据密钥标识和所述加密后的数据密钥种子,所述数据密钥标识和所述加密后的数据密钥种子由所述客户端写入所述USBKey中。
  65. 根据权利要求63或64所述的云管理机,所述一个或多个程序还包含用于执行以下操作的指令:
    根据所述第一触发请求触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    根据所述第二触发请求触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  66. 根据权利要求65所述的云管理机,所述数据处理系统还包括第二云加密机;所述一个或多个程序还包含用于执行以下操作的指令:
    在所述第一触发请求的指示下,指示所述客户端选择第一加密算法,并将所述第一加密算法发送给所述第二云加密机;
    接收所述第二云加密机发送的根密钥种子,所述根密钥种子是所述第二云加密机生成的,且所述根密钥种子中携带有用于指示所述第一加密算法的标志位;
    指示所述客户端选择工作程序,将所述根密钥种子和所述工作程序发送给所述第一云加密机进行存储。
  67. 根据权利要求65所述的云管理机,所述一个或多个程序还包含用于执行以下操作的指令:
    在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,并指示所述客户端选择第二加密算法和加密粒度,所述加密粒度是数据库、表和字段中的一种;
    将所述第二加密算法发送给所述第一云加密机;
    接收所述第一云加密机发送的数据密钥标识,所述数据密钥标识是在所述第一云加密机生成所述数据密钥标识和数据密钥种子后发送的,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    将所述数据密钥标识和所述加密粒度写入所述加密数据字典,并将所述加密数据字典发送给所述数据库代理进行存储。
  68. 一种第一云加密机,用于数据处理系统中,所述数据处理系统还包括客户端、云管理机、数据库代理和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述第一云加密机包括:
    一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
    在所述云管理机的触发下存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述工作程序用于指示所述第一云加密机的运行策略;
    接收所述数据库代理发送的第一数据和所述加密数据字典中的数据密钥标识,运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利 用所述第二数据响应数据处理请求,所述第一数据是所述数据处理请求所请求处理的数据,且所述第一数据和所述数据密钥标识是所述数据库代理在确定所述第一数据与所述加密数据字典相匹配时发送的。
  69. 根据权利要求68所述的第一云加密机,所述数据处理系统还包括电子钥匙USBKey,所述一个或多个程序还包含用于执行以下操作的指令:
    在所述USBKey与所述第一云加密机相连时,将所述根密钥种子和所述工作程序写入所述USBKey中;
    在所述USBKey与所述客户端相连时,接收所述云管理机发送的数据密钥标识;确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密,将所述数据密钥标识和加密后的数据密钥种子发送给所述云管理机,所述根密钥是根据所述根密钥种子生成的,所述数据密钥标识和所述加密后的数据密钥种子被所述云管理机发送给所述客户端,并由所述客户端写入所述USBKey中。
  70. 根据权利要求69所述的第一云加密机,所述一个或多个程序还包含用于执行以下操作的指令:
    在所述USBKey与所述第一云加密机相连,且所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识被销毁时,接收所述USBKey发送的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  71. 根据权利要求70所述的第一云加密机,所述一个或多个程序还包含用于执行以下操作的指令:
    在检测到用于非法探测所述根密钥种子和所述数据密钥种子的探测行为时,根据所述探测行为的攻击力度延迟响应所述探测行为,或,根据所述探测行为的攻击力度销毁所述第一云加密机中存储的所述根密钥种子、所述工作程序、所述数据密钥种子和所述数据密钥标识。
  72. 根据权利要求68所述的第一云加密机,所述一个或多个程序还包含用于执行以下操作的指令:
    接收所述数据库代理发送的认证授权CA证书获取请求;
    向所述数据库代理发送所述CA证书;
    利用所述CA证书与所述数据库代理建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  73. 根据权利要求68至72任一所述的第一云加密机,所述一个或多个程序还包含用于执行以下操作的指令:
    在所述云管理机根据所述第一触发请求所产生的触发下,存储所述根密钥种子和所述工作程序;
    在所述云管理机根据所述第二触发请求所产生的触发下,存储所述数据密钥种子和所述数据密钥标识。
  74. 根据权利要求73所述的第一云加密机,所述数据处理系统还包括第二云加密机;所述一个或多个程序还包含用于执行以下操作的指令:
    接收所述云管理机发送的根密钥种子和工作程序,所述根密钥种子是所述云管理机在所述第一触发请求的指示下,将指示所述客户端选择的第一加密算法发送给所述第二云加密机,由所述第二云加密机生成的,所述根密钥种子中携带有用于指示所述第一加密算法的标志位,所述工作程序是所述云管理机指示所述客户端选择的;
    对所述根密钥种子和所述工作程序进行存储。
  75. 根据权利要求73所述的第一云加密机,所述一个或多个程序还包含用于执行以下操作的指令:
    接收所述云管理机发送的第二加密算法,所述第二加密算法是所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典后,指示所述客户端选择的;
    生成数据密钥标识和数据密钥种子,所述数据密钥种子中携带有用于指示所述第二加密算法的标志位;
    其中,所述云管理机还用于指示所述客户端选择加密粒度,将所述数据密钥标识和所述加密粒度写入所述加密数据字典,将所述加密数据字典发送给所述数据库代理进行存储,所述加密粒度是数据库、表和字段中的一种。
  76. 根据权利要求68所述的第一云加密机,当所述数据处理请求是读请求时,所述一个或多个程序还包含用于执行以下操作的指令:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行解密,得到第三数据;
    从所述运算缓存区中读取所述数据,并根据所述根密钥对所述第三数据进行解密,得到所述第二数据。
  77. 根据权利要求68所述的第一云加密机,当所述数据处理请求是写请求时,所述一个或多个程序还包含用于执行以下操作的指令:
    通过运行的所述工作程序确定所述客户端对应的运算缓存区,所述运算缓存区用于缓存所述第一云加密机在处理所述第一数据的过程中的中间数据;
    确定与所述数据密钥标识对应的根密钥种子,根据所述根密钥种子生成根密钥,并根据所述根密钥对所述第一数据和所述数据密钥标识进行加密后缓存到所述运算缓存区中;
    在所述运算缓存区中,根据所述数据密钥标识生成所述数据密钥,并根据所述数据密钥对所述第一数据进行加密,得到第四数据;
    从所述运算缓存区中读取所述第四数据,并根据所述根密钥对所述第四数据进行解密,得到所述第二数据。
  78. 一种数据库代理,用于数据处理系统中,所述数据处理系统还包括客户端、第一云加密机、云管理机和数据库,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述数据库代理包括:
    一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
    在所述云管理机的触发下存储加密数据字典,所述触发是所述云管理机接收到所述客户端发送的触发请求后产生的,所述云管理机还用于触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,所述工作程序用于指示所述第一云加密机的运行策略;
    接收所述客户端发送的数据处理请求;
    在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;接收所述第一云加密机在运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理后发送的第二数据;利用所述第二数据响应所述数据处理请求。
  79. 根据权利要求78所述的数据库代理,所述一个或多个程序还包含用于执行以下操作的指令:
    向所述第一云加密机发送认证授权CA证书获取请求;
    接收所述第一云加密机发送的所述CA证书;
    利用所述CA证书与所述第一云加密机建立CA安全通道,所述CA安全通道用于供所述数据库代理和所述第一云加密机之间传输数据。
  80. 根据权利要求78所述的数据库代理,所述触发请求包括第二触发请求,所述一个或多个程序还包含用于执行以下操作的指令:
    接收所述云管理机发送的所述加密数据字典,所述加密数据字典中写有数据密钥标识和加密粒度,所述数据密钥标识是所述云管理机在所述第二触发请求的指示下,通过所述数据库代理获取所述数据库的数据字典,指示所述客户端选择第二加密算法和加密粒度,将所述第二加密算法发送给所述第一云加密机后,由所述第一云加密机生成的,所述加密粒度是数据库、表和字段中的一种;
    对所述加密数据字典进行存储。
  81. 一种客户端,用于数据库处理系统中,所述数据处理系统还包括第一云加密机、云管理机、数据库代理和数据库的数据处理系统中,所述第一云加密机是所述云管理机为所述客户端分配的云加密机;所述客户端包括:
    一个或多个处理器;和,存储器;所述存储器存储有一个或多个程序,所述一个或多个 程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于执行以下操作的指令:
    向所述云管理机发送触发请求,所述触发请求用于指示所述云管理机触发所述第一云加密机存储根密钥种子、工作程序、数据密钥种子和数据密钥标识,并触发所述数据库代理存储加密数据字典,所述工作程序用于指示所述第一云加密机的运行策略;
    向所述数据库代理发送数据处理请求,所述数据库代理用于在确定所述数据处理请求所请求处理的第一数据与所述加密数据字典相匹配时,向所述第一云加密机发送所述第一数据和所述加密数据字典中的数据密钥标识;所述第一云加密机用于运行所述工作程序,利用与接收到的所述数据密钥标识对应的根密钥种子和数据密钥种子对所述第一数据进行处理,并将处理后得到的第二数据发送给所述数据库代理;所述数据库代理用于利用所述第二数据响应所述数据处理请求。
  82. 根据权利要求81所述的客户端,所述数据处理系统还包括电子钥匙USBKey,所述一个或多个程序还包含用于执行以下操作的指令:
    在所述USBKey与所述客户端相连时,接收所述云管理机发送的数据密钥标识和加密后的数据密钥种子,所述数据密钥标识和所述加密后的数据密钥种子是所述云管理机将获取到的数据密钥标识发送给所述第一云加密机;由所述第一云加密机确定与所述数据密钥标识对应的根密钥种子和数据密钥种子,利用根密钥对所述数据密钥种子进行加密后发送给所述云管理机的,所述根密钥是根据所述根密钥种子生成的;
    将所述数据密钥标识和所述加密后的数据密钥种子写入所述USBKey中。
  83. 根据权利要求81所述的客户端,所述触发请求包括第一触发请求和第二触发请求,所述一个或多个程序还包含用于执行以下操作的指令:
    向所述云管理机发送所述第一触发请求,所述第一触发请求用于指示所述云管理机触发所述第一云加密机存储所述根密钥种子和所述工作程序;
    向所述云管理机发送所述第二触发请求,所述第二触发请求用于指示所述云管理机触发所述第一云加密机存储所述数据密钥种子和所述数据密钥标识,并触发所述数据库代理存储所述加密数据字典。
  84. 一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集;
    所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求11至15任一项所述的数据处理方法,或,
    所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求16至25任一项所述的数据处理方法,或,
    所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求26至28任一项所述的数据处理方法,或,
    所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求29至31任一项所述的数据处理方法。
PCT/CN2018/084949 2017-05-03 2018-04-27 数据处理方法、系统、装置、存储介质及设备 WO2018201991A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18795137.1A EP3621268A4 (en) 2017-05-03 2018-04-27 DATA PROCESSING METHOD, SYSTEM, DEVICE, STORAGE MEDIUM AND INSTALLATION
US16/504,207 US10958650B2 (en) 2017-05-03 2019-07-05 Data processing method, system, and apparatus, storage medium, and device
US17/196,978 US11765170B2 (en) 2017-05-03 2021-03-09 Data processing method, system, and apparatus, storage medium, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710305566.9 2017-05-03
CN201710305566.9A CN108809906B (zh) 2017-05-03 2017-05-03 数据处理方法、系统及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/504,207 Continuation US10958650B2 (en) 2017-05-03 2019-07-05 Data processing method, system, and apparatus, storage medium, and device

Publications (1)

Publication Number Publication Date
WO2018201991A1 true WO2018201991A1 (zh) 2018-11-08

Family

ID=64015898

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/084949 WO2018201991A1 (zh) 2017-05-03 2018-04-27 数据处理方法、系统、装置、存储介质及设备

Country Status (5)

Country Link
US (2) US10958650B2 (zh)
EP (1) EP3621268A4 (zh)
CN (1) CN108809906B (zh)
MA (1) MA51867A (zh)
WO (1) WO2018201991A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450647A (zh) * 2018-12-18 2019-03-08 飞天诚信科技股份有限公司 一种动态令牌安全生产和检测的方法及系统
CN110417544A (zh) * 2019-06-28 2019-11-05 腾讯科技(深圳)有限公司 一种根密钥的生成方法、装置和介质
US10990382B2 (en) 2018-07-05 2021-04-27 Alibaba Group Holding Limited Encryption machine upgrade, data import and request migration method, apparatus and device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956583B2 (en) * 2018-06-27 2021-03-23 At&T Intellectual Property I, L.P. Multi-phase digital content protection
CN110061983B (zh) * 2019-04-09 2020-11-06 苏宁云计算有限公司 一种数据处理方法及系统
CN111865895B (zh) * 2020-05-29 2021-01-12 广西博士海意信息科技有限公司 一种基于云平台的数据保密传输方法及系统
CN111565107B (zh) * 2020-07-14 2020-11-27 腾讯科技(深圳)有限公司 基于云服务平台的密钥处理方法、装置和计算机设备
US20220069981A1 (en) * 2020-09-03 2022-03-03 Google Llc Distribute Encryption Keys Securely and Efficiently
CN114640510B (zh) * 2022-03-02 2023-07-04 宁波三星医疗电气股份有限公司 一种采用分离的加密服务器进行通信的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752109A (zh) * 2012-06-05 2012-10-24 西安邮电大学 应用于数据库列加密的密钥管理方法和装置
CN102841902A (zh) * 2011-06-23 2012-12-26 捷达世软件(深圳)有限公司 数据库资料管理方法及系统
US20130010957A1 (en) * 2011-07-07 2013-01-10 Verayo, Inc. Cryptographic security using fuzzy credentials for device and server communications
CN103279715A (zh) * 2013-05-22 2013-09-04 李凤华 数据库数据加解密方法及装置
CN103392178A (zh) * 2011-11-11 2013-11-13 日本电气株式会社 数据库加密系统、方法和程序
CN106022155A (zh) * 2015-03-24 2016-10-12 株式会社特迈数据 用于数据库安全管理的方法及服务器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146009B2 (en) * 2002-02-05 2006-12-05 Surety, Llc Secure electronic messaging system requiring key retrieval for deriving decryption keys
US7937753B2 (en) * 2005-03-25 2011-05-03 Microsoft Corporation Method and apparatus for distributed information management
US20160344745A1 (en) * 2006-09-25 2016-11-24 Weaved, Inc. Method and protocol for secure device deployment using a partially-encrypted provisioning file
US20150052253A1 (en) * 2014-09-22 2015-02-19 Weaved, Inc. Multi-server fractional subdomain dns protocol
US8751826B2 (en) 2009-04-01 2014-06-10 Salesforce.Com, Inc. Enhanced system security
EP2433409A2 (en) * 2009-05-19 2012-03-28 Security First Corporation Systems and methods for securing data in the cloud
US9087212B2 (en) * 2012-01-25 2015-07-21 Massachusetts Institute Of Technology Methods and apparatus for securing a database
US9239852B1 (en) * 2013-03-13 2016-01-19 Amazon Technologies, Inc. Item collections
CN104426973B (zh) * 2013-09-03 2018-03-23 中国移动通信集团公司 一种云数据库加密方法、系统及装置
US10025873B2 (en) * 2014-04-18 2018-07-17 Walmart Apollo, Llc System and method for storing and processing database requests
CN104468096B (zh) * 2014-12-01 2018-01-05 公安部第三研究所 基于密钥分散运算实现网络电子身份标识信息保护的方法
CN104519066B (zh) * 2014-12-23 2017-11-28 飞天诚信科技股份有限公司 一种激活移动终端令牌的方法
US9871772B1 (en) * 2015-03-17 2018-01-16 The Charles Stark Draper Laboratory, Inc. Cryptographic system for secure command and control of remotely controlled devices
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
CN104992212B (zh) * 2015-07-24 2017-10-03 大连大学 旅游智能卡系统
US10791100B2 (en) * 2017-03-10 2020-09-29 Ovsecure Ltd. Systems, methods and devices for secure routing and recording of network data transported through network switch

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841902A (zh) * 2011-06-23 2012-12-26 捷达世软件(深圳)有限公司 数据库资料管理方法及系统
US20130010957A1 (en) * 2011-07-07 2013-01-10 Verayo, Inc. Cryptographic security using fuzzy credentials for device and server communications
CN103392178A (zh) * 2011-11-11 2013-11-13 日本电气株式会社 数据库加密系统、方法和程序
CN102752109A (zh) * 2012-06-05 2012-10-24 西安邮电大学 应用于数据库列加密的密钥管理方法和装置
CN103279715A (zh) * 2013-05-22 2013-09-04 李凤华 数据库数据加解密方法及装置
CN106022155A (zh) * 2015-03-24 2016-10-12 株式会社特迈数据 用于数据库安全管理的方法及服务器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990382B2 (en) 2018-07-05 2021-04-27 Alibaba Group Holding Limited Encryption machine upgrade, data import and request migration method, apparatus and device
CN109450647A (zh) * 2018-12-18 2019-03-08 飞天诚信科技股份有限公司 一种动态令牌安全生产和检测的方法及系统
CN109450647B (zh) * 2018-12-18 2022-04-29 飞天诚信科技股份有限公司 一种动态令牌安全生产和检测的方法及系统
CN110417544A (zh) * 2019-06-28 2019-11-05 腾讯科技(深圳)有限公司 一种根密钥的生成方法、装置和介质
CN110417544B (zh) * 2019-06-28 2021-10-22 腾讯科技(深圳)有限公司 一种根密钥的生成方法、装置和介质

Also Published As

Publication number Publication date
EP3621268A1 (en) 2020-03-11
US11765170B2 (en) 2023-09-19
MA51867A (fr) 2020-03-11
US20210194877A1 (en) 2021-06-24
CN108809906B (zh) 2020-07-07
CN108809906A (zh) 2018-11-13
US10958650B2 (en) 2021-03-23
EP3621268A4 (en) 2020-12-23
US20190334899A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
US11088836B2 (en) Key updating method, apparatus, and system
WO2018201991A1 (zh) 数据处理方法、系统、装置、存储介质及设备
US10880746B2 (en) Network connection method, apparatus, storage medium and terminal
US10601795B2 (en) Service processing method and electronic device
WO2018157858A1 (zh) 信息存储方法、装置及计算机可读存储介质
WO2018176781A1 (zh) 信息发送方法、信息接收方法、装置及系统
WO2018014723A1 (zh) 密钥管理方法、装置、设备及系统
US10944558B2 (en) Key storing method, key managing method and apparatus
WO2017067137A1 (zh) 资源使用权限判断系统及方法
US20160301530A1 (en) Sensitive operation verification method, apparatus, and system
US10454905B2 (en) Method and apparatus for encrypting and decrypting picture, and device
CN107395560B (zh) 安全校验及其发起、管理方法、设备、服务器和存储介质
US20140258734A1 (en) Data security method and electronic device implementing the same
US20120265980A1 (en) Apparatus and method for securing user input data
WO2022143358A1 (zh) 一种密钥管理的方法、相应装置及系统
CN105488433B (zh) 终端密钥生成方法及装置
WO2019024882A1 (zh) 一种自动加密短信的方法、存储设备及移动终端
CN108737341B (zh) 业务处理方法、终端及服务器
CN114553612B (zh) 数据加密、解密方法、装置、存储介质及电子设备
CN113923005B (zh) 一种写入数据的方法及系统
WO2017000237A1 (zh) 算法更新方法、待更新设备及服务器
CN110140124B (zh) 分组应用使用同一密钥共享数据

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18795137

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018795137

Country of ref document: EP

Effective date: 20191203