A key information acquisition method and device based on a full-mode database, an electronic device, and a storage medium

By introducing a caching mechanism into the fully encrypted database, the problem of high performance consumption during key information acquisition is solved, enabling more efficient key information acquisition and improving the performance of database operations.

CN118573366BActive Publication Date: 2025-12-12WUHAN DAMENG DATABASE
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410690150.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-30
Publication Date
2025-12-12
Estimated Expiration
2044-05-30

AI Technical Summary

Technical Problem

In fully encrypted databases, the process of obtaining key information during SQL statement execution leads to excessive performance overhead, especially when key information is repeatedly obtained.

Method used

By adding a caching mechanism to the client, the target location can be determined by matching the stored content in the client cache with the target key information, and the key information can be retrieved directly from the cache, reducing repeated access to the server and local files.

Benefits of technology

It reduces the performance overhead of key information acquisition, improves the operational efficiency of the fully encrypted database, and reduces unnecessary performance overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118573366B_ABST
    Figure CN118573366B_ABST
Patent Text Reader

Abstract

The application discloses a key information acquisition method and device based on a full-matrix database, electronic equipment and a storage medium. The method comprises the following steps: determining the matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client, wherein the storage content comprises plaintext information corresponding to the key information; determining a target position according to the matching result, wherein the target position is a position for acquiring the target key information; and acquiring the target key information from the target position. The above technical solution matches the storage content in the cache corresponding to the client with the target key information to be used by the client to obtain a matching result, then determines a target position according to the matching result, finally acquires the target key information, and increases the cache corresponding to the client in the client, thereby reducing the overhead of repeated acquisition and reducing the performance consumption of acquiring key information on the premise of ensuring the security of the full-matrix database key.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of database, and particularly relate to a key information acquisition method and device based on a full-mesh database, an electronic device and a storage medium. BACKGROUND

[0002] The full-mesh database is intended to solve the privacy protection problem of the whole life cycle of data, so that the data is always in a ciphertext state in each link of transmission, operation and storage, and the system inherits the characteristics of the original database. When the data owner completes data encryption on the client and sends it to the server, the attacker cannot obtain effective value information even if he steals user data by exploiting system vulnerabilities, thereby protecting the privacy of the data.

[0003] The full-mesh database uses two levels of encryption keys to protect data security, which involves: a client master key and a client column key. The client master key is used to encrypt the client column key, and one client master key can encrypt multiple client column keys. The client master key is saved to the local file after generation; the client column key is used to encrypt the private column data, and one client column key can encrypt multiple rows of column data. The client column key is saved to the server in the form of ciphertext encrypted by the client master key.

[0004] When the full-mesh database executes a structured query language (SQL) statement and encounters a mesh column data, the client master key and the client column key are needed to perform decryption or encryption operations. Each time the key is used, the corresponding key needs to be obtained from the local file and the server, and then the encryption or decryption operation is performed on the client. This process will cause a lot of unnecessary performance consumption. SUMMARY

[0005] The present application provides a key information acquisition method and device based on a full-mesh database, an electronic device and a storage medium, so that when the full-mesh database executes a SQL statement and encounters a mesh column data, the decryption or encryption operation is performed, the overhead of repeated acquisition is reduced, and the performance consumption of acquiring key information is reduced.

[0006] In a first aspect, the embodiments of the present application provide a key information acquisition method based on a full-mesh database, comprising:

[0007] Determine the matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client, wherein the storage content includes plaintext information corresponding to the key information;

[0008] According to the matching result, determine the target position, which is the position of the target key information;

[0009] obtaining the target key information from the target position.

[0010] In a second aspect, an embodiment of the present application provides a key information obtaining device based on a full-matrix database, comprising:

[0011] a result determining module configured to determine a matching result of stored content in a cache corresponding to a client and target key information to be used by the client, the stored content comprising plaintext information corresponding to the key information;

[0012] a position determining module configured to determine a target position according to the matching result, the target position being a position for obtaining the target key information;

[0013] an information obtaining module configured to obtain the target key information from the target position.

[0014] In a third aspect, an embodiment of the present application provides an electronic device, comprising:

[0015] at least one processor; and

[0016] a memory in communication with the at least one processor; wherein

[0017] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the key information obtaining method according to the first aspect.

[0018] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores computer instructions for causing a processor to execute the key information obtaining method according to the first aspect when executed.

[0019] The embodiments of the present application provide a key information obtaining method and device based on a full-matrix database, an electronic device and a storage medium. The method comprises the following steps: determining a matching result of stored content in a cache corresponding to a client and target key information to be used by the client, the stored content comprising plaintext information corresponding to the key information; determining a target position according to the matching result, the target position being a position for obtaining the target key information; and obtaining the target key information from the target position. The above technical solution matches the stored content in the cache corresponding to the client with the target key information to be used by the client to obtain a matching result, then determines a target position according to the matching result, and finally obtains the target key information. By adding a cache corresponding to the client in the client, the performance consumption for obtaining the key information is reduced under the premise of ensuring the security of the key of the full-matrix database.

[0020] It is to be understood that the details set forth herein do not limit the scope of the embodiments of the application to the specific embodiments described. The foregoing detailed description has set forth various embodiments of the devices and / or processes via the use of specific terminology. However, embodiments of the application are not necessarily limited to those described, but can be practiced with the BRIEF DESCRIPTION OF DRAWINGS

[0021] The above and other features, aspects, and advantages of various embodiments of the present disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings. Like or similar elements and / or features throughout the various drawings and detailed description are denoted by identical reference numerals. It should be understood that the drawings and detailed description are not necessarily to scale as the focus is on the functionality of the embodiments rather than their relative dimensions. Thus, certain dimensions can have been exaggerated or minimized for the sake of clarity or to preserve other pertinent details, and the disclosure should not necessarily be construed as limited to the relative dimensions illustrated.

[0022] Figure 1 A flow chart of a key information acquisition method based on a full-mystery database according to an embodiment of the present application;

[0023] Figure 2 A flow chart of another key information acquisition method based on a full-mystery database according to an embodiment of the present application;

[0024] Figure 3 A structure diagram of a key information acquisition device based on a full-mystery database according to an embodiment of the present application;

[0025] Figure 4 A structure diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0026] The application will be further described by examples with reference to the drawings. It is to be understood that the examples described herein are merely illustrative of the present application and are not to be used to limit the scope of the application. In addition, the embodiments and features of the application can be combined with each other unless it is not conflicted. It is also to be noted that only the parts related to the present application are shown in the drawings for the convenience of description.

[0027] Before some of the exemplary embodiments are discussed in further detail, it should be noted that some of the exemplary embodiments are described as processes or methods depicted as flow diagrams. Although the processes are described in a particular sequential order, many of the processes can be performed concurrently, in parallel, or simultaneously. In addition, the order of individual processes can be re-arranged. The processes can terminate when their functions are completed, but can also terminate in response to other events. The processes can correspond to methods, functions, procedures, subroutines, subprograms, etc.

[0028] It should be noted that the terms "first", "second", and the like used in embodiments of the present application are only used to distinguish different devices, modules, units or other objects, and do not limit the order or interdependence of the functions performed by these devices, modules, units or other objects.

[0029] Embodiment one

[0030] Figure 1 A flowchart of a key information acquisition method based on a full-state database provided by the first embodiment of the present application, the present embodiment can be applicable to reduce the performance consumption of acquiring key information. Specifically, the key information acquisition method can be executed by a key information acquisition device based on a full-state database, which can be realized by software and / or hardware and integrated in an electronic device. Further, the electronic device includes but is not limited to: desktop computers, notebook computers, smart phones and client electronic devices, etc.

[0031] As shown in the method, the method specifically includes the following steps: Figure 1

[0032] S110, determine the matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client, the storage content including the plaintext information corresponding to the key information.

[0033] In the present embodiment, the client can be understood as a program that provides local services for customers and can perform encryption or decryption operations. The cache corresponding to the client can be understood as adding the required cache at the client, which is used to store the plaintext information corresponding to the key information, that is, the storage content in the cache includes the plaintext information corresponding to the key information, and the cache can be, for example, a linked list, an array cache and a structure cache, etc. The linked list can be understood as a non-continuous and non-sequential storage structure, and it is more convenient and flexible to realize the cache corresponding to the client by the linked list.

[0034] The target key information can be understood as the key information needed by the client. The key information can be understood as a parameter information input in an algorithm for converting plaintext into ciphertext or converting ciphertext into plaintext. The plaintext information can be understood as information without encryption, that is, the information without encryption obtained after decryption of the key information. The matching result can be understood as the result of matching the storage content in the cache corresponding to the client with the target key information to be used by the client, that is, it can be known from the matching result whether the storage content in the cache includes information matched with the target key information, such as whether the storage content in the cache includes the plaintext information corresponding to the target key information.

[0035] ​The electronic device can add the cache corresponding to the client through the electronic device at the client, and then determine the matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client, that is, determine whether the plaintext information corresponding to the key information included in the storage content in the cache corresponding to the client matches the target key information to be used by the client, so as to continue to perform corresponding operations according to different matching results, so as to reduce the performance consumption of obtaining the key information.

[0036] For example, when the user uses the client to perform a structured query language (SQL) operation, the cache corresponding to the client is added, which can be implemented by a linked list. The cache corresponding to the client is initialized when the client is started, and then the matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client is determined. For example, the fields of the plaintext information corresponding to the key information in the storage content and the fields of the target key information can be matched to obtain the matching result.

[0037] S120, determining a target position according to the matching result, the target position being a position for obtaining the target key information.

[0038] In this embodiment, the target position can be understood as the position for obtaining the target key information. The target position may, for example, include the cache corresponding to the client, a server, or a local file, etc.

[0039] The electronic device can determine different target positions for obtaining the target key information according to different matching results. For example, the matching result is that the storage content in the cache corresponding to the client does not match the target key information to be used by the client, that is, the storage content in the cache corresponding to the client does not include information matching the target key information to be used by the client. At this time, the target position for obtaining the target key information is a first target position, which may, for example, be in the server and / or the local file. For example, the matching result is that the storage content in the cache corresponding to the client matches the target key information to be used by the client, that is, the storage content in the cache corresponding to the client includes information matching the target key information to be used by the client. At this time, the target position for obtaining the target key information is the cache.

[0040] S130, obtaining the target key information from the target position.

[0041] The electronic device can obtain the target key information from the target position, and then use the key information.

[0042] Specifically, the electronic device can add a cache corresponding to the client on the client side, and then determine a matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client, that is, determine whether the storage content in the cache corresponding to the client includes information matching the target key information to be used by the client, and then determine different target positions for obtaining the target key information according to different matching results, and finally obtain the target key information from the target position. The above operation can obtain a matching result by matching the storage content in the cache corresponding to the client with the target key information to be used by the client, and then determine a target position for obtaining the target key information according to the matching result, and finally obtain the target key information. For example, when the matching result is that the storage content in the cache corresponding to the client matches the target key information to be used by the client, the target position is the cache corresponding to the client, and then the target key information is obtained from the cache. This avoids the problem of obtaining the key information from the server and the local file every time the key information is used, and thus avoids unnecessary performance consumption. That is, by adding the cache corresponding to the client on the client side, the overhead of repeated acquisition can be reduced under the premise of ensuring the security of the key of the full-mesh database, and thus the performance consumption for obtaining the key information can be reduced.

[0043] It should be noted that the present application can be applied to a full-mesh database.

[0044] The method provided by the embodiment one of the present application comprises the following steps: determining a matching result of the storage content in the cache corresponding to the client and the target key information to be used by the client, wherein the storage content comprises plaintext information corresponding to the key information; determining a target position according to the matching result, wherein the target position is a position for obtaining the target key information; and obtaining the target key information from the target position. The above technical solution can obtain a matching result by matching the storage content in the cache corresponding to the client with the target key information to be used by the client, and then determine a target position according to the matching result, and finally obtain the target key information. By adding the cache corresponding to the client on the client side, the overhead of repeated acquisition can be reduced under the premise of ensuring the security of the key of the full-mesh database, and thus the performance consumption for obtaining the key information can be reduced.

[0045] Optionally, the step of determining the target position according to the matching result comprises:

[0046] In the case that the matching result is that the storage content matches the target key information to be used by the client, the target position is determined to be the cache.

[0047] In a case that the matching result is that the storage content matches the target key information to be used by the client, that is, the matching result is that the storage content includes information matching the target key information to be used by the client, such as the case that the cache stores the plaintext information of the target key information, the target position can be determined as the cache, that is, the target key information can be directly obtained from the cache.

[0048] The operation can directly obtain the key information from the cache in a case that the cache corresponding to the client stores information matching the target key information, avoids repeated acquisition of the key information, saves time, and reduces performance consumption for acquiring the key information.

[0049] Optionally, the obtaining of the target key information from the target position comprises:

[0050] The plaintext information corresponding to the target key information is obtained from the cache.

[0051] In an embodiment, the plaintext information corresponding to the target key information can be understood as information corresponding to the target key information after decryption.

[0052] In a case that the storage content in the cache corresponding to the client matches the target key information to be used by the client, the plaintext information corresponding to the target key information is obtained from the cache, which avoids repeated acquisition of the key information, and further avoids repeated encryption or decryption operations based on the key information, reduces time cost, and reduces performance consumption.

[0053] Optionally, the determining of the target position according to the matching result comprises:

[0054] In a case that the matching result is that the storage content does not match the target key information to be used by the client, the target position is determined as the server or the local file.

[0055] In an embodiment, the server can be understood as a kind of computer. The local file can be understood as a file stored locally on the user equipment.

[0056] For example, in a case that the matching result is that the storage content does not match the target key information to be used by the client, that is, the cache does not store the plaintext information of the target key information, the target position of the target key information is the server or the local file, that is, the target key information is obtained from the server or the local file. For example, when a key information is used for the first time, the cache does not store the corresponding key information, the key information is obtained from the server or the local file, and then the key information is decrypted into plaintext information corresponding to the key information.

[0057] The operation, in the case that the matching result is that the storage content in the cache does not match the target key information to be used by the client, that is, the storage content in the cache does not include information matching the target key information, obtains the target key information in another way (from the server or the local file), and can more flexibly obtain the key information.

[0058] Optionally, after the target key information is obtained from the target position, the method further includes:

[0059] decrypting the target key information to obtain plaintext information corresponding to the target key information;

[0060] storing the plaintext information corresponding to the target key information to the cache.

[0061] For example, in the case that the matching result is that the storage content does not match the target key information to be used by the client, that is, the storage content in the cache does not include the plaintext information of the target key information, the target position for obtaining the target key information is the server or the local file, the target key information is obtained from the server or the local file, the target key information is decrypted to obtain the plaintext information corresponding to the target key information, and the plaintext information is stored in the cache according to certain rules for subsequent use. The certain rules may consider the storage capacity of the cache.

[0062] Optionally, the storing of the plaintext information corresponding to the target key information to the cache includes:

[0063] determining whether the cache needs to be cleaned up;

[0064] if yes, cleaning up the cache and storing the plaintext information corresponding to the target key information to the cache;

[0065] if no, storing the plaintext information corresponding to the target key information to the cache.

[0066] For example, the electronic device can determine whether the cache needs to be cleaned up. If the storage capacity of the cache meets a capacity threshold, the cache needs to be cleaned up, and the plaintext information corresponding to the target key information is stored to the cache, so that the key information can be directly obtained when needed, the cache corresponding to the client can be prevented from being too large, and the performance of the client can be prevented from being affected. If the storage capacity of the cache does not meet the capacity threshold, the cache does not need to be cleaned up, and the plaintext information corresponding to the target key information is directly stored to the cache.

[0067] Exemplarily, the cache needing to be cleaned up can be cleaned up by a Least Recently Used (LRU) algorithm. The LRU algorithm can be understood as a memory management algorithm. The LRU algorithm can be based on an assumption that data that is not used for a long time has a relatively small probability of being used in the future, and thus the data that is not used for the longest time is removed after the memory reaches a certain threshold.

[0068] Optionally, the target key information is key information to be used by the client for a target data in a structured query statement, and the target data includes ciphertext column data.

[0069] In an embodiment, the structured query statement can be understood as a database query and a programming language. The target data can be understood as data in the execution of the structured query statement. The ciphertext column data can be understood as data that is always in a ciphertext state in each link of data transmission, operation and storage.

[0070] Exemplarily, Figure 2 Another flowchart of a key information acquisition method based on a full-ciphertext database is provided for the first embodiment of the present application. As shown in Figure 2 shown, the client is started to initialize a cache corresponding to the client, such as initializing a linked list, and then to determine a matching result of storage content in the cache and target key information to be used by the client. If the matching result is that the storage content matches the target key information to be used by the client, the plaintext information corresponding to the target key information is acquired from the cache, and then the target key information is used, such as determining whether the plaintext information corresponding to the target key information is stored in the cache. If yes, the key information (such as a key) is acquired from the cache and used. If the matching result is that the storage content in the cache does not match the target key information to be used by the client, the target key information is acquired from a server or a local file and decrypted to obtain the plaintext information corresponding to the target key information, such as acquiring and decrypting from the server or the file. Then, it is determined whether the cache needs to be cleaned up. If yes, the cache is cleaned up, and the plaintext information corresponding to the target key information is stored in the cache for subsequent use, such as determining whether the length of the linked list reaches an upper limit. If the length of the linked list reaches the upper limit, the cache is evicted, the decrypted key is cached, and then the key is used. If not, the plaintext information corresponding to the target key information is stored in the cache, such as that the length of the linked list does not reach the upper limit, the decrypted key is directly cached, and then the key is used.

[0071] It should be noted that the client driver needs to obtain key information from the server and / or local file each time the data is encrypted and decrypted, but the same key information can be reused, and it is too time-consuming to obtain it each time, so a cache is added to the client, the cache is initialized when the client is started, and the cache is destroyed when the client is closed, and the key information is stored in the cache after being used once, so that the key information does not need to be obtained again next time, thereby reducing the performance consumption of obtaining the key information.

[0072] Embodiment two

[0073] Figure 3 A structure diagram of a key information obtaining device based on a full-mystery database is provided for the second embodiment of the application. The device can execute the key information obtaining method based on the full-mystery database provided by the embodiment of the application. The key information obtaining device based on the full-mystery database provided by the embodiment includes:

[0074] A result determining module 210 is configured to determine a matching result of stored content in the cache corresponding to the client and target key information to be used by the client, and the stored content includes plaintext information corresponding to the key information.

[0075] A position determining module 220 is configured to determine a target position according to the matching result, and the target position is a position for obtaining the target key information.

[0076] An information obtaining module 230 is configured to obtain the target key information from the target position.

[0077] Optionally, on the basis of the above-mentioned embodiment, the position determining module 220 includes:

[0078] A first position determining unit is configured to determine that the target position is the cache when the matching result is that the stored content matches the target key information to be used by the client.

[0079] Optionally, on the basis of the above-mentioned embodiment, the information obtaining module 230 includes:

[0080] An information obtaining unit is configured to obtain the plaintext information corresponding to the target key information from the cache.

[0081] Optionally, on the basis of the above-mentioned embodiment, the position determining module 220 includes:

[0082] A second position determining unit is configured to determine that the target position is the server or the local file when the matching result is that the stored content does not match the target key information to be used by the client.

[0083] Optionally, on the basis of the above-mentioned embodiment, the device further includes:

[0084] The plaintext information determination module is configured to decrypt the target key information to obtain the plaintext information corresponding to the target key information after the target key information is acquired from the target position.

[0085] The information storage module is configured to store the plaintext information corresponding to the target key information to the cache.

[0086] Optionally, on the basis of the above-mentioned embodiments, the information storage module comprises:

[0087] The to-be-cleaned determination unit is configured to determine whether the cache is to be cleaned.

[0088] The information first caching unit is configured to clean the cache and store the plaintext information corresponding to the target key information to the cache if the cache is to be cleaned.

[0089] The information second caching unit is configured to store the plaintext information corresponding to the target key information to the cache if the cache is not to be cleaned.

[0090] Optionally, on the basis of the above-mentioned embodiments, the target key information is key information to be used by target data in a structured query statement executed by the client, and the target data comprises ciphertext column data.

[0091] The key information acquisition device based on the full-ciphertext database provided in Embodiment Two can be used to execute the key information acquisition method based on the full-ciphertext database provided in any of the above-mentioned embodiments, and has the corresponding functions and beneficial effects.

[0092] Embodiment Three

[0093] Figure 4 A structural schematic diagram of an electronic device 10 that can be used to implement embodiments of the present application is shown. The electronic device 10 is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device 10 can also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, user equipment, wearable devices (e.g., headsets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present application described and / or claimed in this document.

[0094] As Figure 4As shown, the electronic device 10 includes at least one processor 11, and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., connected to the at least one processor 11 in communication. The memory stores a computer program executable by the at least one processor 11, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0095] Various components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc., an output unit 17, such as various types of displays, a speaker, etc., a storage unit 18, such as a magnetic disk, an optical disk, etc., and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks, wireless networks.

[0096] The processor 11 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs various methods and processes described above, such as the full-matrix database based key information acquisition method.

[0097] In some embodiments, the full-matrix database based key information acquisition method can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the full-matrix database based key information acquisition method by any other appropriate means, such as by means of firmware.

[0098] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a load programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0099] Computer programs used to implement the processes of the application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer program, when executed, can cause instructions defined in the flow charts and / or block diagrams to be implemented. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as a standalone software package and partially on a remote machine or entirely on a remote machine or server.

[0100] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store computer programs for use by or in connection with an instruction execution system, apparatus, or device. Computer-readable storage media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0101] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device 10 having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device 10. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0102] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0103] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.

[0104] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present disclosure can be executed in parallel, executed in sequence, or executed in a different order, as long as the desired results of the present disclosure are achieved, and the present disclosure is not limited herein.

[0105] The specific embodiments described above are not intended to be limiting, and persons skilled in the art will appreciate that various modifications, combinations, sub-combinations and alternatives can be made to the specific embodiments without departing from the spirit and principles of the disclosure. Accordingly, the disclosure is not limited to the specific embodiments described above.

Claims

1. A method for obtaining key information based on a fully encrypted database, characterized in that, include: Determine the matching result between the stored content in the cache corresponding to the client and the target key information to be used by the client. The cache corresponding to the client is a local cache of the client that is initialized when the client starts and destroyed when the client closes. The stored content includes the plaintext information corresponding to the key information. Based on the matching result, the target location is determined, and the target location is the location where the target key information is obtained; Obtain the target key information from the target location; The target key information is decrypted to obtain the plaintext information corresponding to the target key information; Storing the plaintext information corresponding to the target key information into the cache includes: Determine whether the cache needs to be cleared; If so, clear the cache and store the plaintext information corresponding to the target key information in the cache; If not, store the plaintext information corresponding to the target key information in the cache.

2. The method according to claim 1, characterized in that, Determining the target location based on the matching result includes: If the matching result is that the stored content matches the target key information to be used by the client, the target location is determined to be the cache.

3. The method according to claim 2, characterized in that, The step of obtaining the target key information from the target location includes: Obtain the plaintext information corresponding to the target key information from the cache.

4. The method according to claim 1, characterized in that, Determining the target location based on the matching result includes: If the matching result is that the stored content does not match the target key information to be used by the client, the target location is determined to be a server or a local file.

5. The method according to claim 1, characterized in that, The target key information is the key information to be used in the target data of the structured query statement executed by the client, and the target data includes encrypted column data.

6. A key information acquisition device based on a fully encrypted database, characterized in that, include: The result determination module is used to determine the matching result between the stored content in the cache corresponding to the client and the target key information to be used by the client. The cache corresponding to the client is a local cache of the client that is initialized when the client starts and destroyed when the client closes. The stored content includes plaintext information corresponding to the key information. A location determination module is used to determine a target location based on the matching result, wherein the target location is the location where the target key information is obtained; The information acquisition module is used to acquire the target key information from the target location; The plaintext information determination module is used to decrypt the target key information to obtain the plaintext information corresponding to the target key information; The information storage module includes: a unit to be cleared, a first information cache unit, and a second information cache unit; The cache to be cleared determination unit is used to determine whether the cache needs to be cleared; The first information caching unit is used to, if so, clear the cache and store the plaintext information corresponding to the target key information into the cache; The second information caching unit is used to, if not, store the plaintext information corresponding to the target key information into the cache.

7. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the key information acquisition method according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the key information acquisition method according to any one of claims 1-5.

Citation Information

Patent Citations

  • Security module decryption method and device

    CN112699132A

  • Data management method, device and system

    CN114792009A

  • Data calling method, data calling device, electronic equipment and storage medium

    CN114942959A