WO2019214066A1 - 区块链上用户数据库重建方法、装置、设备及介质 - Google Patents

区块链上用户数据库重建方法、装置、设备及介质 Download PDF

Info

Publication number
WO2019214066A1
WO2019214066A1 PCT/CN2018/095871 CN2018095871W WO2019214066A1 WO 2019214066 A1 WO2019214066 A1 WO 2019214066A1 CN 2018095871 W CN2018095871 W CN 2018095871W WO 2019214066 A1 WO2019214066 A1 WO 2019214066A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
key
blockchain
user
index
Prior art date
Application number
PCT/CN2018/095871
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 深圳壹账通智能科技有限公司
Publication of WO2019214066A1 publication Critical patent/WO2019214066A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to the field of blockchain technology, and in particular, to a method, device, device and medium for reconstructing a user database on a blockchain.
  • the user on the blockchain encrypts and stores all the data entries.
  • the user saves the index and data key of all the data entries in the blockchain, and the user has all the self.
  • the complete plaintext status of the data Due to the need for authorization and reading between users on the blockchain, it is necessary to maintain a K ⁇ ->KC ⁇ ->Key that requires very high storage security (where K is an index and KC is an encrypted index (ie, a data entry). Index), Key is the data key, " ⁇ ->" indicates the two-way correspondence between the data), so that in the multi-user blockchain system, if the index and data key owned by a user are lost, Users will not be able to retrieve lost index and data keys.
  • the embodiment of the present application provides a method, a device, a device, and a medium for reconstructing a user database on a blockchain, so as to solve the problem that a user cannot retrieve a lost index and a data key in a blockchain.
  • an embodiment of the present application provides a method for reconstructing a user database on a blockchain, including:
  • Reading all data entries on the blockchain each of the data entries being stored in a key-value pair, each of the data entries being obtained by encrypting by using a preset encryption algorithm, each of the data entries
  • the index includes the user ID
  • the decryption result carries the user identifier, determining that the data entry is data information of a user corresponding to the user identifier, and saving the data information, where the data information includes an index and a data key;
  • an embodiment of the present application provides a user database reconstruction apparatus on a blockchain, including:
  • a reading module configured to read all data items on the blockchain, each of the data items being stored in a key-value pair manner, and each of the data items is obtained by encrypting by using a preset encryption algorithm, and each An index of the data entry includes a user identifier;
  • a decryption module configured to decrypt each of the data entries by using a decryption algorithm corresponding to the encryption algorithm, to obtain a decryption result of each of the data entries;
  • a saving module configured to: if the decryption result carries the user identifier, determine that the data entry is data information of a user corresponding to the user identifier, and save the data information, where the data information includes an index And data key;
  • a reconstruction module configured to establish a correspondence between the data information on the blockchain based on the index and the data key, and reconstruct a user database on the blockchain.
  • an embodiment of the present application provides a terminal device, including a memory, a processor, and computer readable instructions stored in the memory and executable on the processor, where the processor executes the computer The following steps are implemented when reading the instruction:
  • Reading all data entries on the blockchain each of the data entries being stored in a key-value pair, each of the data entries being obtained by encrypting by using a preset encryption algorithm, each of the data entries
  • the index includes the user ID
  • the decryption result carries the user identifier, determining that the data entry is data information of a user corresponding to the user identifier, and saving the data information, where the data information includes an index and a data key;
  • the embodiment of the present application provides one or more non-volatile readable storage media storing computer readable instructions, when the computer readable instructions are executed by one or more processors, such that the one or Multiple processors perform the following steps:
  • Reading all data entries on the blockchain each of the data entries being stored in a key-value pair, each of the data entries being obtained by encrypting by using a preset encryption algorithm, each of the data entries
  • the index includes the user ID
  • the decryption result carries the user identifier, determining that the data entry is data information of a user corresponding to the user identifier, and saving the data information, where the data information includes an index and a data key;
  • all data entries on the blockchain are first read, and each data entry is stored in a key-value pair manner, and each data is stored.
  • the entries are obtained by encrypting by using a preset encryption algorithm.
  • the index of each data entry includes the user identifier, which provides a basis for subsequent users to obtain index and data keys related to the user from all data entries in the blockchain. .
  • each data item is decrypted, and the decryption result of each data item is obtained.
  • the data item is determined to be the data information of the user corresponding to the user identifier.
  • the data information is saved, and all the data items on the blockchain are decrypted, and the user to which the data item belongs is determined according to the user identifier carried in the decryption result, so that the data information related to the user itself is obtained from the encrypted data item.
  • the correspondence between the data information on the blockchain is established, and the user database is reconstructed on the blockchain.
  • the user database is reconstructed by re-establishing the correspondence of the user data information, and the original correspondence can be realized. Relationships, which have very high requirements for storage security, are downgraded to general storage security requirements. After the corresponding relationship is lost, only the user database needs to be reconstructed, and the original data of the user on the blockchain is not lost.
  • Embodiment 1 is a flow chart of a method for reconstructing a user database on a blockchain in Embodiment 1 of the present application.
  • FIG. 2 is a specific flow chart of step S20 of FIG. 1.
  • FIG. 3 is a specific flow chart of step S40 of FIG. 1.
  • FIG. 4 is a schematic block diagram of a user database reconstruction apparatus on a blockchain in Embodiment 2 of the present application.
  • FIG. 5 is a schematic diagram of a terminal device in Embodiment 4 of the present application.
  • FIG. 1 is a flow chart showing a method for reconstructing a user database on a blockchain in this embodiment.
  • the user database reconstruction method on the blockchain can be applied to an application system based on the blockchain technology, and can be used to re-establish the user application database when the user loses the index and the data key in the blockchain.
  • the method for reconstructing a user database on the blockchain includes the following steps:
  • S10 Read all data entries on the blockchain, each data entry is stored in a key-value pair manner, and each data entry is obtained by encrypting by using a preset encryption algorithm, and the index of each data entry includes a user identifier. .
  • Blockchain is a new application model for computer technologies such as distributed data storage, consensus mechanisms, and encryption algorithms.
  • This embodiment is implemented based on a blockchain system.
  • the blockchain mentioned in this embodiment should be understood by a blockchain system, wherein the blockchain system is essentially a decentralized distributed database system.
  • the user on the blockchain in this embodiment should be understood as each user node on the blockchain system, that is, each related terminal device on the blockchain system, and the terminal device may be connected through a blockchain network.
  • Terminal devices such as mobile phones, computers, tablets and servers.
  • the data entry is an entry for storing data on the blockchain, and the data entry includes data on the data entry and an index corresponding to the data, that is, each data entry is stored in a key-value pair manner, wherein the key is equivalent to the data.
  • the index in the entry the value is equivalent to the data in the data entry.
  • the index of each data entry includes that the user identifier in the user identifier is not in the plain text state, and the index of the data entry needs to be decrypted to obtain the user identifier.
  • the index of the data entry in this embodiment is the encrypted index KC.
  • each data entry is obtained by encrypting by using a preset encryption algorithm, and an index of each data entry includes a user identifier.
  • the user identifier is used for different users on the unique zone partition blockchain.
  • the user who loses the index and the data key on the blockchain reads all the data entries on the blockchain, and obtains the user-related index and data density from all the data entries in the blockchain for subsequent users.
  • the key provides the basis.
  • reading all the data items on the blockchain includes the following steps: reading all the data items on the blockchain by the traversal operation.
  • all the data items on the blockchain are read by the traversal operation.
  • the specific traversal instruction may be ReadAllKeys(), and the execution of the traversal instruction can acquire all the data items.
  • the user database reconstruction method on the blockchain further includes the following steps: adopting SM4-CBC mode or AES-CBC mode.
  • Each data entry is obtained by encryption.
  • the index before the data entry is encrypted ie, index K
  • the encryption key required for encryption is the encrypted subkey generated based on the user's private key, SM4-CBC.
  • the initialization variable in the mode or AES-CBC mode uses a random number (ie random).
  • the SM4 algorithm is one of the national secret algorithms, and the SM4 algorithm is a grouping algorithm.
  • the algorithm has a packet length of 128 bits and a key length of 128 bits.
  • Both the encryption algorithm and the key expansion algorithm in the SM4 algorithm use a 32-round nonlinear iterative structure.
  • the decryption algorithm has the same structure as the encryption algorithm except that the round key is used in the reverse order, and the decryption round key is the reverse order of the encryption round key.
  • the advantage of SM4 is that it is very safe and has high efficiency.
  • the AES algorithm is a symmetric block cipher system, which adopts a replacement/replacement network, and each round consists of a linear mixed layer, a nonlinear layer, and a key encryption layer.
  • the linear mixed layer is used to ensure high spread over multiple rounds
  • the nonlinear layer is composed of 16 S boxes and plays a role of confusion
  • the key encryption layer is used to XOR the subkeys to the intermediate state.
  • AES is an iterative block cipher whose packet length and key length are variable.
  • the size of the packet to be processed is 128 bits
  • the key length is 128 bits, 192 bits or 256 bits, corresponding to the requirements of AES.
  • the number of iterations is N, which is 10 rounds, 12 rounds and 14 rounds.
  • AES brings together the benefits of security, efficiency, achievability and flexibility. The biggest advantage is that it can give the probability of the best scoring feature of the algorithm, and analyze the ability of the algorithm to resist cryptanalysis and linear cryptanalysis.
  • the SM4-CBC mode will be used for description (the process using the AES-CBC mode is also the same, so the description is not repeated).
  • the symmetric key is used for both encryption and decryption.
  • the concept of the symmetric key is known as the formula of the symmetric key.
  • the key is the decryption key.
  • Hash is a one-way hash function
  • HMAC is a key-related hash operation message authentication code
  • d is a user private key
  • random is a random number.
  • the random number used in the initialization variable IV in the SM4-CBC mode generates an encryption subkey.
  • the random in the formula.
  • each user on the blockchain has a unique user identifier, such as the user name "A" of the user A as a unique user identifier.
  • index K the index of the data entry before encryption
  • A+K the index of the data entry before encryption
  • A+K the index of the data entry before encryption
  • K is the index of the unencrypted data entry, ie the key in the key-value pair, where the user ID A is added to the index as the prefix of the index, denoted as "A+K", the "A+ K" is the index that will eventually be encrypted.
  • KC is the index on the data entry (encrypted index)
  • VC is the encrypted data
  • VC+random is the data on the data entry
  • IV is the initialization variable required by the CBC mode, that is, the random number random, in the data entry The random is in the plain text state, and the user can obtain the random state of the plain state in the VC+random by reading the key KC.
  • the encrypted data entry is not limited to the prefix of the user identifier as the index K (unencrypted index), and only the user identifier needs to be added to the index K of the data entry.
  • the user identifier By adding the user identifier to the index K of the data entry, When the user decrypts the encrypted index KC and obtains the index K, the user belongs to the user to which the data entry belongs on the blockchain system according to the user identifier included in the index K.
  • S20 Decrypt each data item by using a decryption algorithm corresponding to the encryption algorithm to obtain a decryption result of each data item.
  • a decryption algorithm corresponding to the encryption algorithm is used, and the user on the blockchain decrypts each data item, and obtains the decryption result of each data item, so as to obtain and decrypt from all the encrypted data items according to the decryption result.
  • User-related data entries are used, and the user on the blockchain decrypts each data item, and obtains the decryption result of each data item, so as to obtain and decrypt from all the encrypted data items according to the decryption result.
  • each data item is decrypted by using a decryption algorithm corresponding to the encryption algorithm, and the decryption result of each data item is obtained, which specifically includes the following steps:
  • the data entry can be expressed as: ⁇ KC: VC+random ⁇
  • the index KC on the data entry and the encrypted data VC are encrypted
  • the user first reads the index KC on the data entry, and then reads
  • the data VC+random corresponding to the encrypted index KC is read from the data and the random number random is read.
  • the random number random is in the form of a plaintext when the encryption is performed, and the user can obtain the random number in the plaintext form on the encrypted data.
  • the random number is information that the user is uniquely able to acquire on the blockchain system in the case where the user loses the index K and the data key key. Since the blockchain system has the characteristics of data sharing, any user in the blockchain can obtain random numbers in the data entries.
  • the data sharing based on the blockchain system itself and the encryption key of each data entry are generated by the user's own private key.
  • the acquired random number random and the user private key d can be combined with the SM4-CBC mode. Obtain the missing index K and data key key and re-establish the user database.
  • S22 Acquire a decryption key of each data item according to each random number and a user private key.
  • the random number and the user private key are used to calculate and obtain the decryption key of each data item.
  • the decryption key Key is derived by the user private key d, the private key d and the random number of the corresponding decrypted user are passed.
  • the obtained decryption key Key must be able to decrypt the data entry belonging to the user. If the user is not the data entry to be decrypted, the decryption key Key obtained by the user private key d and the random number random will not be able to decrypt the data entry.
  • user A can decrypt the data entry belonging to user A by calculating the obtained decryption key, and user B's private key is different from user A, so the user A cannot be decrypted. Data entry.
  • S23 Decrypt each data item according to a random number of each data item and a corresponding decryption key, and obtain a decryption result of each data item.
  • each data entry can be decrypted by the SM4-CBC mode according to the random number of each data entry and the corresponding decryption key, and the decryption result of each data entry is obtained.
  • the decryption process is:
  • K SM4_CBC(KC)
  • the key is Key
  • the initialization variable IV required in SM4-CBC mode is random.
  • V SM4_CBC(VC)
  • the key is Key
  • the initialization variable IV required in SM4-CBC mode is random.
  • the decryption result is obtained by decrypting the data entry by using the random number random and the corresponding decryption key Key.
  • a decryption algorithm corresponding to the encryption algorithm is adopted. If the encryption algorithm selects the CBC mode of the SM4, the corresponding decryption algorithm is also the CBC mode of the SM4, which is adopted by the encrypted data entry on the blockchain system.
  • the random number and the user's private key are used to obtain the key Key, and then the random number is used as the initialization variable IV in the SM4-CBC mode, and all the data items on the blockchain are decrypted by the key Key to obtain the decryption result, so that the user can
  • the way to decrypt all data entries on the blockchain provides a powerful technical basis for subsequent users to include the user identity based on the decryption result to determine the user to which the data entry belongs.
  • the index of the unencrypted data entry ie, index K
  • the index of the decrypted data entry should have the user Identification, since each user ID is unique, the decrypted data entry with the user ID must belong to the user corresponding to the user ID.
  • the decryption process is actually: the user reads the data entry, obtains the random number of the data on the data entry, according to the random number and the user private The key acquires a decryption key and decrypts the data entry with the generated decryption key and a random number. If the data entry belongs to the user, the decryption key generated by using the private key of the user can just decrypt the data entry and obtain an index containing the user identifier; if the data entry does not belong to the user, The decryption key generated by the user's private key will not be able to decrypt the data entry.
  • the correspondence relationship of the data information is re-established on the blockchain system, that is, the lost information is re-established corresponding relationship, and the user database is reconstructed on the blockchain.
  • the blockchain system is essentially a decentralized distributed database system. In the normal state, the user on the blockchain has the complete plaintext status of all the data. After the information is lost, the lost information needs to be re-established, and the corresponding relationship is saved and the user database is reconstructed.
  • step S40 based on the index and the data key, the correspondence between the data information on the blockchain is established, and the user database is reconstructed on the blockchain, which specifically includes the following steps:
  • S41 Establish a first two-way correspondence between the index and the encrypted index based on the index and the data key, and establish a second two-way correspondence between the encrypted index and the data key, where the encrypted index is an index of the data item.
  • the first two-way correspondence between the index and the encrypted index is established based on the index and the data key, and can be expressed as K ⁇ ->KC (where K is an index and KC is an encrypted index); and an encrypted index is established and
  • the second bidirectional correspondence of the data key may be expressed as KC ⁇ ->Key (where KC is an encrypted index and Key is a data key).
  • K and V should be established as a key-value pair relationship, so that the corresponding data can be obtained after reading K. V.
  • User B uses data key Key and random number random to decrypt KC according to SM4-CBC mode or AES-CBC mode to obtain index K.
  • the data V is obtained according to the relationship between K and V being a key value pair, and the data V is the target data that the user B wishes to acquire.
  • K ⁇ ->KC ⁇ ->Key must be maintained. Otherwise, when user A authorizes K to user B, KC and Key will not be obtained because user A does not save random locally, and cannot obtain KC without random. And Key.
  • K ⁇ ->KC ⁇ ->Key must be maintained. Otherwise, when user A authorizes K to user B, KC and Key will not be obtained because user A does not save random locally, and cannot obtain KC without random. And Key.
  • K ⁇ ->random but in this way, KC and Key are recalculated by K, random and user private key d, and the performance is low).
  • S42 Rebuild the user database on the blockchain based on the first two-way correspondence and the second two-way correspondence.
  • the correspondence relationship is saved based on the first two-way correspondence relationship and the second two-way correspondence relationship, and the user database is reconstructed on the blockchain.
  • the reconstruction of the user database on the blockchain is realized by re-establishing and storing the correspondence between the user data information.
  • all data entries on the blockchain are first read, and each data entry is stored in a key-value pair manner, and each data entry adopts a preset encryption.
  • the algorithm obtains the encryption in the SM4-CBC mode or the AES-CBC mode.
  • the index (K) corresponding to the data to be encrypted (V) is prefixed with the user identifier (A+K); the encryption key required for encryption is based on the random number and the user.
  • the index (ie, KC) of each encrypted data entry includes a user identifier, which provides a basis for subsequent users to obtain index and data keys related to the user from all data entries on the blockchain, and uses a random number Deriving the encrypted key with the user's private key enables the user on the blockchain to encrypt all the data of the user based on the root key (ie, the user's private key). The key of each data does not need to be regenerated. Additional key savings are required. Then, using a decryption algorithm corresponding to the encryption algorithm, each data item is decrypted, and the decryption result of each data item is obtained.
  • the data item is determined to be the data information of the user corresponding to the user identifier. And storing the data information, wherein the data information includes an index and a data key, and by decrypting all the data items on the blockchain, determining the user to which the data item belongs according to the user identifier carried in the decryption result, and realizing all from the blockchain
  • the data entry obtains the missing data information related to the user itself.
  • the user database is reconstructed by re-establishing and saving the correspondence K ⁇ ->KC ⁇ ->Key of the user data information.
  • the user database reconstruction method on the blockchain can achieve the requirement of a very high storage security such as the original K ⁇ ->KC ⁇ ->key correspondence, and downgrade to the general storage security requirement. After the corresponding relationship is lost, only the user database needs to be reconstructed, and the original data of the user on the blockchain is not lost.
  • FIG. 4 is a schematic block diagram showing a user database reconstruction apparatus on a blockchain corresponding to the user database reconstruction method on the blockchain in Embodiment 1.
  • the user database reconstruction apparatus on the blockchain includes a reading module 10, a decryption module 20, a saving module 30, and a reconstruction module 40.
  • the implementation functions of the reading module 10, the decryption module 20, the saving module 30, and the reconstruction module 40 are in one-to-one correspondence with the steps corresponding to the user database reconstruction method on the blockchain in the first embodiment. To avoid redundancy, the embodiment is different. A detailed description.
  • the reading module 10 is configured to read all data items on the blockchain, and each data item is stored in a key-value pair manner, and each data item is obtained by encrypting by using a preset encryption algorithm, and each data item is obtained.
  • the index includes the user ID.
  • the decryption module 20 is configured to decrypt each data item by using a decryption algorithm corresponding to the encryption algorithm to obtain a decryption result of each data item.
  • the saving module 30 is configured to: if the decryption result carries the user identifier, determine that the data item is data information of the user corresponding to the user identifier, and save the data information, wherein the data information includes an index and a data key.
  • the reconstruction module 40 is configured to establish a correspondence between the data information on the blockchain based on the index and the data key, and reconstruct the user database on the blockchain.
  • each user on the blockchain has a unique user identity.
  • the user chain re-establishment apparatus on the blockchain further includes an encryption module 50 for encrypting each data entry by using the SM4-CBC mode, and the index before the data entry is prefixed by the user identifier; the encryption required for encryption The key is an encrypted subkey generated based on the user's private key, and the initialization variable in the SM4-CBC mode uses a random number.
  • the reading module 10 is configured to read all data items on the blockchain by the traversal operation.
  • the decryption module 20 includes a random number acquisition unit 21, a decryption key acquisition unit 22, and a decryption result acquisition unit 23.
  • the random number obtaining unit 21 is configured to acquire a random number on each data item.
  • the decryption key obtaining unit 22 is configured to acquire a decryption key of each data item according to each random number and the user private key.
  • the decryption result obtaining unit 23 is configured to decrypt each data item according to the random number of each data item and the corresponding decryption key, and obtain a decryption result of each data item.
  • the reconstruction module 40 includes a correspondence relationship establishing unit 41 and a database reconstruction unit 42.
  • the embodiment provides one or more non-volatile readable storage media having computer readable instructions that, when executed by one or more processors, cause the one or more processors to execute The user database reconstruction method on the blockchain in Embodiment 1 is implemented. To avoid repetition, details are not described herein again. Alternatively, when the computer readable instructions are executed by one or more processors, causing the one or more processors to perform the functions of the modules/units in the user database reconstruction device on the blockchain in Embodiment 2, To avoid repetition, we will not repeat them here.
  • FIG. 5 is a schematic diagram of a terminal device in this embodiment.
  • the terminal device 60 includes a processor 61, a memory 62, and computer readable instructions 63 stored in the memory 62 and executable on the processor 61.
  • the processor 61 implements the various steps of the user database reconstruction method on the blockchain in Embodiment 1 when the computer readable instructions 63 are executed, such as steps S10 through S40 shown in FIG.
  • the processor 61 executes the computer readable instructions 63
  • the functions of the modules/units of the user database reconstruction device on the blockchain in Embodiment 2 are implemented, as shown in FIG. 4, the reading module 10, the decryption module 20, the saving module 30, and The function of the reconstruction module 40.
  • computer readable instructions 63 may be partitioned into one or more modules/units, one or more modules/units being stored in memory 62 and executed by processor 61 to complete the application.
  • the one or more modules/units may be an instruction segment of a series of computer readable instructions 63 capable of performing a particular function for describing the execution of computer readable instructions 63 in the terminal device 60.
  • the computer readable instructions 63 can be divided into the reading module 10, the decryption module 20, the saving module 30, and the reconstruction module 40 in Embodiment 2, and the specific functions of each module are as shown in Embodiment 2, in order to avoid repetition, this I will not repeat them one by one.
  • the terminal device 60 can be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
  • the terminal device may include, but is not limited to, a processor 61, a memory 62. It will be understood by those skilled in the art that FIG. 5 is merely an example of the terminal device 60 and does not constitute a limitation of the terminal device 60, and may include more or less components than those illustrated, or may combine certain components or different components.
  • the terminal device may further include an input/output device, a network access device, a bus, and the like.
  • the processor 61 may be a central processing unit (CPU), or may be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 62 may be an internal storage unit of the terminal device 60, such as a hard disk or memory of the terminal device 60.
  • the memory 62 may also be an external storage device of the terminal device 60, such as a plug-in hard disk provided on the terminal device 60, a smart memory card (SMC), a Secure Digital (SD) card, and a flash memory card (Flash). Card) and so on.
  • the memory 62 may also include both an internal storage unit of the terminal device 60 and an external storage device.
  • the memory 62 is used to store computer readable instructions 63 and other programs and data required by the terminal device.
  • the memory 62 can also be used to temporarily store data that has been or will be output.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated modules/units if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
  • the present application implements all or part of the processes in the foregoing embodiments, and may also be implemented by computer readable instructions 63, which may be stored in a computer readable In the storage medium, the computer readable instructions 63, when executed by the processor, may implement the steps of the various method embodiments described above.
  • the computer readable instructions 63 comprise code of computer readable instructions, the code of which may be in the form of source code, in the form of an object code, an executable file or some intermediate form or the like.
  • the computer readable medium can include any entity or device capable of carrying the code of the computer readable instructions, a recording medium, a USB flash drive, a removable hard drive, a magnetic disk, an optical disk, a computer memory, a read only memory (ROM, Read- Only Memory), Random Access Memory (RAM), electrical carrier signals, telecommunications signals, and software distribution media.
  • ROM Read Only Memory
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了一种区块链上用户数据库重建方法、装置、终端设备及存储介质。该区块链上用户数据库重建方法,包括:读取区块链上所有的数据条目,每一所述数据条目通过采用预设的加密算法进行加密后获取;采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息;基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。采用该区块链上用户数据库重建方法能够使得区块链上用户找回丢失的数据,并重建用户数据库。

Description

区块链上用户数据库重建方法、装置、设备及介质
本申请以2018年5月9日提交的申请号为201810436868.4,名称为“区块链上用户数据库重建方法、装置、设备及介质”的中国发明专利申请为基础,并要求其优先权。
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链上用户数据库重建方法、装置、设备及介质。
背景技术
当区块链上用户进行通信时,区块链上用户加密存储所有的数据条目,在正常应用过程中,区块链上用户保存各自所有的数据条目的索引和数据密钥,用户具备所有自己数据的完整明文状态。由于区块链上用户间进行授权和读取的需求,需要维护对存储安全性要求非常高的K<->KC<->Key(其中,K为索引,KC为加密索引(即数据条目的索引),Key为数据密钥,“<->”表示数据间的双向对应关系)对应关系,这样在多用户的区块链系统中,如果某个用户拥有的索引和数据密钥丢失,该用户将无法找回丢失的索引和数据密钥。
发明内容
本申请实施例提供一种区块链上用户数据库重建方法、装置、设备及介质,以解决区块链上用户无法找回丢失的索引和数据密钥的问题。
第一方面,本申请实施例提供一种区块链上用户数据库重建方法,包括:
读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
第二方面,本申请实施例提供一种区块链上用户数据库重建装置,包括:
读取模块,用于读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
解密模块,用于采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
保存模块,用于若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
重建模块,用于基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
第三方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
第四方面,本申请实施例提供一个或多个存储有计算机可读指令的非易失性可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如下步骤:
读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所 述数据条目的解密结果;
若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
本申请实施例所提供的区块链上用户数据库重建方法、装置、设备及介质中,首先读取区块链上所有的数据条目,每一数据条目以键值对的方式存储,每一数据条目通过采用预设的加密算法进行加密后获取,每一数据条目的索引包括用户标识,为后续用户从区块链上所有的数据条目中获取与该用户相关的索引和数据密钥提供了基础。接着采用与加密算法相对应的解密算法,对每一数据条目进行解密,获取每一数据条目的解密结果若解密结果携带用户标识,则确定数据条目为与用户标识相对应的用户的数据信息,保存数据信息,通过对区块链上所有的数据条目的解密,根据解密结果携带的用户标识确定数据条目所属的用户,实现从加密的数据条目中获取与用户自身相关的数据信息。最后基于索引和数据密钥,建立区块链上数据信息的对应关系,在区块链上重建用户数据库,通过重新建立用户数据信息的对应关系,实现用户数据库的重建,能够实现将原本的对应关系,这种对存储安全性非常高的要求,降级为一般的存储安全性要求。对应关系丢失后只需要重建用户数据库即可,不会导致区块链上用户原有数据的丢失。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例1中区块链上用户数据库重建方法的一流程图。
图2是图1中步骤S20的一具体流程图。
图3是图1中步骤S40的一具体流程图。
图4是本申请实施例2中区块链上用户数据库重建装置的一原理框图。
图5是本申请实施例4中终端设备的一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
图1示出本实施例中区块链上用户数据库重建方法的一流程图。该区块链上用户数据库重建方法可应用在以区块链为技术基础的应用系统上,用于当区块链上用户丢失索引和数据密钥时,能够重新建立用户的应用数据库。如图1所示,该区块链上用户数据库重建方法包括如下步骤:
S10:读取区块链上所有的数据条目,每一数据条目以键值对的方式存储,每一数据条目通过采用预设的加密算法进行加密后获取,每一数据条目的索引包括用户标识。
区块链是分布式数据存储、共识机制和加密算法等计算机技术的新型应用模式。本实施例是基于区块链系统实现的,本实施例中提及的区块链应以区块链系统来理解,其中,区块链系统,其本质是一个去中心化的分布式数据库系统。此外,本实施例中区块链上的用户应理解为在区块链系统上的各个用户节点,即区块链系统上各个相关的终端设备,该终端设备可以是通过区块链网络相连的手机、电脑、平板和服务器等终端设备。
其中,数据条目即区块链上存储数据的条目,数据条目包括该数据条目上的数据和该数据对应的索引,即每一数据条目以键值对的方式存储,其中,键相当于该数据条目中的索引,值相当于该数据条目中的数据。用户在区块链上进行通信等其他需要安全要求的行为时,用户的数据条目是加密的,在索引和数据密钥未丢失的情况下,每一用户具备所有自己的数据的完整明文状态。当区块链上用户想要获取其他用户的明文数据时,必须经过授权才能获取。需要说明的是,每一数据条目的索引包括用户标识中的用户标识不是明文状态,需要对数据条目的索引进行解密后才能得到用户标识。本实施例中数据条目的索引即加密索引KC。
具体地,每一数据条目通过采用预设的加密算法进行加密后获取,每一数据条目的索引包括用户标识。其中,该用户标识用于唯一区分区块链上不同的用户。
本实施例中,区块链上丢失索引和数据密钥的用户读取区块链上所有的数据条目,为后续用户从区块链上所有的数据条目中获取与用户相关的索引和数据密钥提供了基础。
具体地,读取区块链上所有的数据条目,具体包括如下步骤:通过遍历操作读取区块链上所有的数据条目。本实施例中,采用遍历操作读取区块链上所有的数据条目,具体的 遍历指令可以是ReadAllKeys(),执行该遍历指令能够获取所有的数据条目。
在一具体实施方式中,在步骤S10之前,即在读取区块链上所有的数据条目之前,该区块链上用户数据库重建方法还包括如下步骤:采用SM4-CBC模式或者AES-CBC模式进行加密获取每一数据条目,数据条目加密前的索引(即索引K)采用用户标识作为索引的前缀;加密所需的加密密钥为基于用户私钥派生生成的加密子密钥,SM4-CBC模式或者AES-CBC模式中的初始化变量采用随机数(即random)。
其中,SM4算法为国密算法之一,SM4算法是一种分组算法,该算法的分组长度为128比特,密钥长度为128比特。SM4算法中的加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。SM4的优点是安全性非常高,并且有较高的效率。
AES算法是一种对称分组密码体制,采用代替/置换网络,每轮由线性混合层、非线性层和密钥加密层组成。其中,线性混合层用于确保多轮之上的高度扩散,非线性层由16个S盒组成并起到混淆的作用,密钥加密层用于将子密钥异或到中间状态。AES是一个迭代分组密码,其分组长度和密钥长度都是可变的,因满足AES的要求才限定处理的分组大小为128位,而密钥长度为128位、192位或256位,相应的迭代轮数N,为10轮、12轮和14轮。AES汇聚了安全性能、效率、可实现性和灵活性等优点。最大的优点是可以给出算法的最佳查分特征的概率,并分析算法抵抗查分密码分析及线性密码分析的能力。
本实施例中将采用SM4-CBC模式进行说明(采用AES-CBC模式的过程也是相同的,故不重复说明)。
本实施例中,区块链上用户通过用户自身私钥派生生成加密子密钥,该生成加密子密钥的公式为Key=Hash(HMAC Hash(d)random)((这里加密子密钥采用的是对称密钥,加密和解密用的都是同一把密钥,由对称密钥的概念可知,该加密子密钥的公式即解密子密钥的公式),其中,Key为解密密钥,Hash为单向散列函数,HMAC为密钥相关的哈希运算消息认证码,d为用户私钥,random为随机数。SM4-CBC模式中初始化变量IV采用的随机数即生成加密子密钥公式中的random。
本实施例中,区块链上每一用户各自拥有唯一的用户标识,如将用户A的用户名“A”作为独一无二的用户标识。在采用SM4-CBC模式加密数据条目时,加密前数据条目的索引(即索引K)需将用户标识A添加到索引中作为该索引的前缀,表示为“A+K”,该“A+K”为最终进行加密的索引。具体地,区块链上有一未加密的数据条目为{K:V},其中,K为索引,V为数据,该加密过程为:
1)用户A根据上述Key=Hash(HMAC Hash(d)random)确定每一数据条目的Key,并且,SM4-CBC加密模式所需的初始化变量IV即式中的random。
2)用户A使用Key和IV对K进行加密,KC=SM4_CBC(K),密钥为Key,IV为random。特别地,K即未加密的数据条目的索引,即键值对中的键,在这里需将用户标识A添加到索引中作为该索引的前缀,表示为“A+K”,该“A+K”才是最终进行加密的索引。
3)用户A使用Key和IV对V进行加密,VC=SM4_CBC(V),密钥为Key,SM4-CBC模式中所需的初始化变量IV为random。
4)用户A将数据{KC:VC+random}写回到区块链上。
其中,KC即数据条目上的索引(加密索引),VC为加密后的数据,VC+random为数据条目上的数据,IV为CBC模式所需的初始化变量,即随机数random,该数据条目中的random为明文状态,用户可以通过读键KC获取到VC+random中明文状态的random。
加密数据条目不仅限于将用户标识作为索引K(未加密的索引)的前缀,只需要将用户标识添加到数据条目的索引K中即可,通过将用户标识添加到数据条目的索引K中,能够让用户在后续解密加密索引KC并获取索引K时,根据索引K包含的用户标识确定该数据条目在区块链系统上所属的用户。
S20:采用与加密算法相对应的解密算法,对每一数据条目进行解密,获取每一数据条目的解密结果。
本实施例中,采用与加密算法相对应的解密算法,区块链上用户对每一数据条目进行解密,获取每一数据条目的解密结果,以根据解密结果从加密的所有数据条目中获取与用户相关的数据条目。
在一具体实施方式中,步骤S20中,采用与加密算法相对应的解密算法,对每一数据条目进行解密,获取每一数据条目的解密结果,具体包括如下步骤:
S21:获取每一数据条目上的随机数。
本实施例中,数据条目可以表示为:{KC:VC+random},数据条目上的索引KC和加密后的数据VC都是加密的,用户先读取数据条目上的索引KC,再读取加密索引KC对应的数据VC+random,从该数据上读取随机数random。该随机数random在进行加密时是以明文形式存在的,用户可以在加密的数据上获取明文形式存在的随机数。该随机数是在用户丢失索引K和数据密钥key情况下用户唯一能够在区块链系统上获取的信息。由于区块链系统具有数据共享的特点,区块链上任意用户都可以获取数据条目中的随机数。基于区块链系统本身的数据共享性以及每个数据条目的加密密钥都是通过用户自身的私钥生成的,能 够通过该获取的随机数random以及用户私钥d,结合SM4-CBC模式重新获取丢失的索引K和数据密钥key,重新建立用户数据库。
S22:根据每一随机数和用户私钥获取每一数据条目的解密密钥。
本实施例中,根据在数据条目上的数据所读取到的随机数,采用该随机数以及用户私钥计算并获取每一数据条目的解密密钥。
在一具体实施方式中,步骤S22中,具体还包括:根据每一随机数和用户私钥获取每一数据条目的解密密钥的计算公式为Key=Hash(HMAC Hash(d)random),其中,Key为解密密钥,Hash为单向散列函数,HMAC为密钥相关的哈希运算消息认证码,d为用户私钥,random为随机数。
可以理解地,当待解密的数据条目是属于相对应的解密用户时,由于解密密钥Key都是有用户私钥d派生获取的,通过该相对应的解密用户的私钥d和随机数random获取的解密密钥Key,必定能解密属于该用户的数据条目。不是该待解密的数据条目的用户,则通过用户私钥d和随机数random获取的解密密钥Key将无法解密该数据条目。例如,如果是属于用户A的数据条目,用户A就能够通过计算获取的解密密钥解密属于用户A的数据条目,而用户B的私钥与用户A的不同,故无法解密该属于用户A的数据条目。
S23:根据每一数据条目的随机数和对应的解密密钥,解密每一数据条目,获取每一数据条目的解密结果。
本实施例中,根据每一数据条目的随机数和对应的解密密钥,由SM4-CBC模式可以解密每一数据条目,并获取每一数据条目的解密结果。具体地,以用户A举例,该解密过程为:
1.用户A在区块链上读取KC,得到VC和random。(步骤S21-S22)
2.用户A使用Key和random对KC进行解密,K=SM4_CBC(KC),密钥为Key,SM4-CBC模式中所需的初始化变量IV为random。
3.用户A使用Key和random对VC进行解密,V=SM4_CBC(VC),密钥为Key,SM4-CBC模式中所需的初始化变量IV为random。
通过采用随机数random和对应的解密密钥Key解密数据条目,获取解密结果。
本实施例中,采用与加密算法相对应的解密算法,如加密算法选择的是SM4的CBC模式时,其对应的解密算法同样是SM4的CBC模式,由于区块链系统上加密数据条目采用的加密密钥都是由Key=Hash(HMAC Hash(d)random)计算后生成的,因此,可以根据该特点,当用户在丢失密钥时,能够通过在VC+random中获取随机数,采用该随机数以及用户私钥 获取密钥Key,再将随机数作为SM4-CBC模式中的初始化变量IV,结合密钥Key对区块链上所有数据条目进行解密,获取解密结果,使得用户能够根据该方式解密区块链上所有数据条目,为后续根据解密结果包含用户标识,以确定数据条目所属的用户提供了有力的技术基础。
S30:若解密结果携带用户标识,则确定数据条目为与用户标识相对应的用户的数据信息,保存数据信息,其中,数据信息包括索引和数据密钥。
本实施例中,判断解密结果的情况,根据采用预设的加密算法(如SM4-CBC模式)加密数据条目可知,未加密的数据条目的索引(即索引K)添加了用户标识作为前缀,如A(用户A的用户标识)+K(索引)。则相应地,在采用与该加密算法相对应的解密算法解密数据条目之后,如果解密使用的解密密钥(Key)与待解密的数据条目相关联,解密出来的数据条目的索引应该带有用户标识,由于每一用户标识都是独一无二的,所以解密出来的带有用户标识的数据条目必定属于该用户标识相对应的用户。
可以理解地,由于解密密钥是通过每一用户的私钥生成的,故该解密的过程实际上就是:用户读取数据条目,获取数据条目上数据的随机数,根据该随机数和用户私钥获取解密密钥,并用该生成的解密密钥以及随机数解密该数据条目。若该数据条目是属于该用户的,则采用该用户的私钥生成的解密密钥恰好能够解密该数据条目,并得到含有该用户标识的索引;若该数据条目不属于该用户的,则采用该用户的私钥生成的解密密钥将不能解密该数据条目。在对每一数据条目进行解密并判断解密结果是否携带用户标识后,获取并保存与用户标识相对应的用户的数据信息,该数据信息即用户丢失的信息,包括索引K和数据密钥Key,还包括索引K对应的数据V。通过解密数据条目获取并保存数据信息,实现从数据条目中获取与用户自身相关的数据信息。
S40:基于索引和数据密钥,建立区块链上数据信息的对应关系,在区块链上重建用户数据库。
本实施例中,基于索引和数据密钥,在区块链系统上重新建立数据信息的对应关系,即将丢失的信息重新建立起对应关系,在区块链上重建用户数据库。区块链系统,其本质是一个去中心化的分布式数据库系统。正常状态下,区块链上的用户具备所有自己的数据的完整明文状态,在信息丢失后,需要将丢失的信息重新建立起对应关系,并保存对应关系,重建用户数据库。
在一具体实施方式中,如图3所示,步骤S40中,基于索引和数据密钥,建立区块链上数据信息的对应关系,在区块链上重建用户数据库,具体包括如下步骤:
S41:基于索引和数据密钥,建立索引与加密索引的第一双向对应关系,并建立加密索引与数据密钥的第二双向对应关系,其中,加密索引为数据条目的索引。
本实施例中,基于索引和数据密钥,建立索引与加密索引的第一双向对应关系,可以表示为K<->KC(其中,K为索引,KC为加密索引);并建立加密索引和数据密钥的第二双向对应关系,可以表示为KC<->Key(其中,KC为加密索引,Key为数据密钥)。可以理解地,建立后的对应关系可以表示为K<->KC<->Key,此外,还应建立K和V为一个键值对的关系,以使在读取K后能够获取对应的数据V。则当用户A授权K给用户B时,只需要将KC和Key发送给B即可,用户B采用数据密钥Key和随机数random根据SM4-CBC模式或者AES-CBC模式解密KC获取索引K,再根据K和V是一个键值对的关系获取数据V,数据V即用户B希望获取的目标数据。(这里这个对应关系K<->KC<->Key必须维护,否则用户A授权K给用户B的时候,将无法得到KC和Key,因为用户A本地没有保存random,没有random也就不能得到KC和Key。当然维护K<->random的对应关系也是可以的,但是这样授权的时候要通过K、random和用户私钥d重新计算一次KC和Key,性能较低)。
S42:基于第一双向对应关系和第二双向对应关系,在区块链上重建用户数据库。
本实施例中,基于第一双向对应关系和第二双向对应关系,保存该对应关系,在区块链上重建用户数据库。通过重新建立和保存用户数据信息的对应关系,实现区块链上用户数据库的重建。
本实施例所提供的区块链上用户数据库重建方法中,首先读取区块链上所有的数据条目,每一数据条目以键值对的方式存储,每一数据条目通过采用预设的加密算法SM4-CBC模式或者AES-CBC模式进行加密获取,待加密数据(V)对应的索引(K)采用用户标识作为前缀(A+K);加密所需的加密密钥为基于随机数和用户私钥派生生成的加密子密钥,该获取加密子密钥计算公式为Key=Hash(HMAC Hash(d)random)。加密后的每一数据条目的索引(即KC)包括用户标识,为后续用户从区块链上所有的数据条目中获取与该用户相关的索引和数据密钥提供了基础,并且,采用随机数和用户私钥派生生成加密子密钥能够让区块链上用户基于根密钥(即用户私钥)就能实现用户对自身所有数据的加密,每条数据的密钥不需要重新生成,不需要进行额外的密钥的保存。接着采用与加密算法相对应的解密算法,对每一数据条目进行解密,获取每一数据条目的解密结果,若解密结果携带用户标识,则确定数据条目为与用户标识相对应的用户的数据信息,保存数据信息,其中,数据信息包括索引和数据密钥,通过对区块链上所有的数据条目的解密,根据解密结果携带的用户标识确定数据条目所属的用户,实现从区块链上所有的数据条目中获取与用户自身 相关的、丢失的数据信息。最后基于数据信息中的索引和数据密钥,建立区块链上索引与加密索引的第一双向对应关系和建立加密索引与数据密钥的第二双向对应关系,在区块链上重建用户数据库,通过重新建立、保存用户数据信息的对应关系K<->KC<->Key,实现用户数据库的重建。该区块链上用户数据库重建方法能够实现将原本K<->KC<->key对应关系这种对存储安全性非常高的要求,降级为一般的存储安全性要求。对应关系丢失后只需要重建用户数据库即可,不会导致区块链上用户原有数据的丢失。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例2
图4示出与实施例1中区块链上用户数据库重建方法一一对应的区块链上用户数据库重建装置的原理框图。如图4所示,该区块链上用户数据库重建装置包括读取模块10、解密模块20、保存模块30和重建模块40。其中,读取模块10、解密模块20、保存模块30和重建模块40的实现功能与实施例1中区块链上用户数据库重建方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
读取模块10,用于读取区块链上所有的数据条目,每一数据条目以键值对的方式存储,每一数据条目通过采用预设的加密算法进行加密后获取,每一数据条目的索引包括用户标识。
解密模块20,用于采用与加密算法相对应的解密算法,对每一数据条目进行解密,获取每一数据条目的解密结果。
保存模块30,用于若解密结果携带用户标识,则确定数据条目为与用户标识相对应的用户的数据信息,保存数据信息,其中,数据信息包括索引和数据密钥。
重建模块40,用于基于索引和数据密钥,建立区块链上数据信息的对应关系,在区块链上重建用户数据库。
优选地,区块链上每一用户各自拥有唯一的用户标识。
优选地,该区块链上用户数据库重建装置还包括加密模块50,用于采用SM4-CBC模式进行加密获取每一数据条目,数据条目加密前的索引采用用户标识作为前缀;加密所需的加密密钥为基于用户私钥派生生成的加密子密钥,SM4-CBC模式中的初始化变量采用随机数。
优选地,读取模块10,用于通过遍历操作读取区块链上所有的数据条目。
优选地,解密模块20包括随机数获取单元21、解密密钥获取单元22和解密结果获取 单元23。
随机数获取单元21,用于获取每一数据条目上的随机数。
解密密钥获取单元22,用于根据每一随机数和用户私钥获取每一数据条目的解密密钥。
解密结果获取单元23,用于根据每一数据条目的随机数和对应的解密密钥,解密每一数据条目,获取每一数据条目的解密结果。
优选地,解密密钥的计算公式为Key=Hash(HMAC Hash(d)random),其中,Key为解密密钥,Hash为单向散列函数,HMAC为密钥相关的哈希运算消息认证码,d为用户私钥,random为随机数。
优选地,重建模块40包括对应关系建立单元41和数据库重建单元42。
实施例3
本实施例提供一个或多个存储有计算机可读指令的非易失性可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现实施例1中区块链上用户数据库重建方法,为避免重复,这里不再赘述。或者,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现实施例2中区块链上用户数据库重建装置中各模块/单元的功能,为避免重复,这里不再赘述。
实施例4
图5是本实施例中终端设备的示意图。如图5所示,终端设备60包括处理器61、存储器62以及存储在存储器62中并可在处理器61上运行的计算机可读指令63。处理器61执行计算机可读指令63时实现实施例1中区块链上用户数据库重建方法的各个步骤,例如图1所示的步骤S10至S40。或者,处理器61执行计算机可读指令63时实现实施例2中区块链上用户数据库重建装置各模块/单元的功能,如图4所示读取模块10、解密模块20、保存模块30和重建模块40的功能。
示例性的,计算机可读指令63可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器62中,并由处理器61执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令63的指令段,该指令段用于描述计算机可读指令63在终端设备60中的执行过程。例如,计算机可读指令63可被分割成实施例2中的读取模块10、解密模块20、保存模块30和重建模块40,各模块的具体功能如实施例2所示,为避免重复,此处不一一赘述。
终端设备60可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终 端设备可包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,图5仅仅是终端设备60的示例,并不构成对终端设备60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器61可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器62可以是终端设备60的内部存储单元,例如终端设备60的硬盘或内存。存储器62也可以是终端设备60的外部存储设备,例如终端设备60上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器62还可以既包括终端设备60的内部存储单元也包括外部存储设备。存储器62用于存储计算机可读指令63以及终端设备所需的其他程序和数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令63来指令相关的硬件来完成,所述的计算机可读指令63可存储于一计算机可读存储介质中,该计算机可读指令63在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机可读指令63包括计算机可读指令的代码,所述计算机可读指令的代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指 令的代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种区块链上用户数据库重建方法,其特征在于,包括:
    读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
    采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
    若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
    基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
  2. 根据权利要求1所述的区块链上用户数据库重建方法,其特征在于,区块链上每一用户各自拥有唯一的用户标识,在所述读取区块链上所有的数据条目的步骤之前,所述区块链上用户数据库重建方法还包括:
    采用SM4-CBC模式或AES-CBC模式进行加密获取每一所述数据条目,所述数据条目加密前的索引采用所述用户标识作为前缀;加密所需的加密密钥为基于用户私钥派生生成的加密子密钥,SM4-CBC模式或AES-CBC模式中的初始化变量采用随机数。
  3. 根据权利要求1所述的区块链上用户数据库重建方法,其特征在于,所述读取区块链上所有的数据条目,包括:
    通过遍历操作读取区块链上所有的数据条目。
  4. 根据权利要求2所述的区块链上用户数据库重建方法,其特征在于,所述采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果,包括:
    获取每一所述数据条目上的所述随机数;
    根据每一所述随机数和所述用户私钥获取每一数据条目的解密密钥;
    根据每一所述数据条目的随机数和对应的所述解密密钥,解密每一所述数据条目,获取每一所述数据条目的解密结果。
  5. 根据权利要求4所述的区块链上用户数据库重建方法,其特征在于,所述根据每一所述随机数和所述用户私钥获取每一数据条目的解密密钥的计算公式为
    Key=Hash(HMAC Hash(d)random),其中,Key为所述解密密钥,Hash为单向散列函数,HMAC为密钥相关的哈希运算消息认证码,d为所述用户私钥,random为所述随机数。
  6. 根据权利要求1所述的区块链上用户数据库重建方法,其特征在于,所述基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库,包括:
    基于所述索引和所述数据密钥,建立所述索引与加密索引的第一双向对应关系,并建立所述加密索引与所述数据密钥的第二双向对应关系,其中,所述加密索引为所述数据条目的索引;
    基于第一双向对应关系和第二双向对应关系,在区块链上重建用户数据库。
  7. 一种区块链上用户数据库重建装置,其特征在于,包括:
    读取模块,用于读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
    解密模块,用于采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
    保存模块,用于若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
    重建模块,用于基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
  8. 根据权利要求7所述的区块链上用户数据库重建装置,其特征在于,所述区块链上用户数据库重建装置还包括:
    加密模块,用于采用SM4-CBC模式进行加密获取每一所述数据条目,所述数据条目加密前的索引采用所述用户标识作为前缀;加密所需的加密密钥为基于用户私钥派生生成的加密子密钥,SM4-CBC模式中的初始化变量采用随机数。
  9. 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
    读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标 识;
    采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
    若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
    基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
  10. 根据权利要求9所述的终端设备,其特征在于,区块链上每一用户各自拥有唯一的用户标识,在所述读取区块链上所有的数据条目的步骤之前,所述处理器执行所述计算机可读指令时还实现如下步骤:
    采用SM4-CBC模式或AES-CBC模式进行加密获取每一所述数据条目,所述数据条目加密前的索引采用所述用户标识作为前缀;加密所需的加密密钥为基于用户私钥派生生成的加密子密钥,SM4-CBC模式或AES-CBC模式中的初始化变量采用随机数。
  11. 根据权利要求9所述的终端设备,其特征在于,所述读取区块链上所有的数据条目,包括:
    通过遍历操作读取区块链上所有的数据条目。
  12. 根据权利要求10所述的终端设备,其特征在于,所述采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果,包括:
    获取每一所述数据条目上的所述随机数;
    根据每一所述随机数和所述用户私钥获取每一数据条目的解密密钥;
    根据每一所述数据条目的随机数和对应的所述解密密钥,解密每一所述数据条目,获取每一所述数据条目的解密结果。
  13. 根据权利要求12所述的终端设备,其特征在于,所述根据每一所述随机数和所述用户私钥获取每一数据条目的解密密钥的计算公式为Key=Hash(HMAC Hash(d)random),其中,Key为所述解密密钥,Hash为单向散列函数,HMAC为密钥相关的哈希运算消息认证码,d为所述用户私钥,random为所述随机数。
  14. 根据权利要求9所述的终端设备,其特征在于,所述基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库,包括:
    基于所述索引和所述数据密钥,建立所述索引与加密索引的第一双向对应关系,并建立所述加密索引与所述数据密钥的第二双向对应关系,其中,所述加密索引为所述数据条 目的索引;
    基于第一双向对应关系和第二双向对应关系,在区块链上重建用户数据库。
  15. 一个或多个存储有计算机可读指令的非易失性可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如下步骤:
    读取区块链上所有的数据条目,每一所述数据条目以键值对的方式存储,每一所述数据条目通过采用预设的加密算法进行加密后获取,每一所述数据条目的索引包括用户标识;
    采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果;
    若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,保存所述数据信息,其中,所述数据信息包括索引和数据密钥;
    基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库。
  16. 根据权利要求15所述的非易失性可读存储介质,其特征在于,区块链上每一用户各自拥有唯一的用户标识,在所述读取区块链上所有的数据条目的步骤之前,所述区块链上用户数据库重建方法还包括:
    采用SM4-CBC模式或AES-CBC模式进行加密获取每一所述数据条目,所述数据条目加密前的索引采用所述用户标识作为前缀;加密所需的加密密钥为基于用户私钥派生生成的加密子密钥,SM4-CBC模式或AES-CBC模式中的初始化变量采用随机数。
  17. 根据权利要求15所述的非易失性可读存储介质,其特征在于,所述读取区块链上所有的数据条目,包括:
    通过遍历操作读取区块链上所有的数据条目。
  18. 根据权利要求16所述的非易失性可读存储介质,其特征在于,所述采用与所述加密算法相对应的解密算法,对每一所述数据条目进行解密,获取每一所述数据条目的解密结果,包括:
    获取每一所述数据条目上的所述随机数;
    根据每一所述随机数和所述用户私钥获取每一数据条目的解密密钥;
    根据每一所述数据条目的随机数和对应的所述解密密钥,解密每一所述数据条目,获取每一所述数据条目的解密结果。
  19. 根据权利要求18所述的非易失性可读存储介质,其特征在于,所述根据每一所述 随机数和所述用户私钥获取每一数据条目的解密密钥的计算公式为
    Key=Hash(HMAC Hash(d)random),其中,Key为所述解密密钥,Hash为单向散列函数,HMAC为密钥相关的哈希运算消息认证码,d为所述用户私钥,random为所述随机数。
  20. 根据权利要求15所述的非易失性可读存储介质,其特征在于,所述基于所述索引和所述数据密钥,建立区块链上所述数据信息的对应关系,在区块链上重建用户数据库,包括:
    基于所述索引和所述数据密钥,建立所述索引与加密索引的第一双向对应关系,并建立所述加密索引与所述数据密钥的第二双向对应关系,其中,所述加密索引为所述数据条目的索引;
    基于第一双向对应关系和第二双向对应关系,在区块链上重建用户数据库。
PCT/CN2018/095871 2018-05-09 2018-07-17 区块链上用户数据库重建方法、装置、设备及介质 WO2019214066A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810436868.4A CN108629027B (zh) 2018-05-09 2018-05-09 基于区块链的用户数据库重建方法、装置、设备及介质
CN201810436868.4 2018-05-09

Publications (1)

Publication Number Publication Date
WO2019214066A1 true WO2019214066A1 (zh) 2019-11-14

Family

ID=63692183

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/095871 WO2019214066A1 (zh) 2018-05-09 2018-07-17 区块链上用户数据库重建方法、装置、设备及介质

Country Status (2)

Country Link
CN (1) CN108629027B (zh)
WO (1) WO2019214066A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733169A (zh) * 2021-01-13 2021-04-30 深圳市星际大陆科技有限公司 一种基于区块链的数据管理方法、系统及终端设备
WO2021178719A1 (en) * 2020-03-04 2021-09-10 Rubidex, LLC Cryptographic data entry blockchain data structure
CN114338665A (zh) * 2021-12-01 2022-04-12 浪潮软件股份有限公司 基于区块链的申报材料防篡改系统
US11728986B2 (en) 2021-03-25 2023-08-15 Rubidex, LLC Cryptographic data entry and transmission of sensor data

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284206A (zh) * 2018-10-29 2019-01-29 深圳市元征科技股份有限公司 一种基于区块链的数据库备份方法及相关设备
CN109617677A (zh) * 2018-11-20 2019-04-12 深圳壹账通智能科技有限公司 基于对称加密的秘钥丢失找回方法及相关设备
CN110008738B (zh) * 2019-02-21 2021-06-25 网易(杭州)网络有限公司 用于区块链合约数据的缓存方法、装置、介质和计算设备
CN110061840B (zh) * 2019-03-12 2022-10-28 平安科技(深圳)有限公司 数据加密方法、装置、计算机设备及存储介质
US11392702B2 (en) * 2019-03-17 2022-07-19 Microsoft Technology Licensing, Llc Discovery and matching of internet of things (IoT) devices and services using a secure global registry
CN110297822B (zh) * 2019-05-22 2023-06-02 平安科技(深圳)有限公司 面向区块链的密钥管理方法、装置、设备及存储介质
CN111130751A (zh) * 2019-11-04 2020-05-08 杭州云萃流图网络科技有限公司 基于区块链的约定信息处理方法、装置、系统及电子设备
CN112926974B (zh) * 2019-12-06 2024-02-13 环球数科集团有限公司 一种基于分布式账本原理的可离线票防伪方法
CN111130770B (zh) * 2019-12-18 2023-04-28 杭州云萃流图网络科技有限公司 基于区块链的信息存证方法、系统、用户终端、电子设备及存储介质
CN111339209B (zh) * 2020-05-19 2020-08-28 鹏城实验室 基于区块链的信息管理方法和信息管理系统
CN112133386A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 一种基于区块链的信息处理方法、装置、设备及介质
CN112688784B (zh) * 2020-12-23 2023-04-11 中科美络科技股份有限公司 一种数字签名、验证方法、装置及系统
CN114866317B (zh) * 2022-04-29 2023-01-10 中国科学院信息工程研究所 多方的数据安全计算方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506493A (zh) * 2016-10-27 2017-03-15 摩登大道时尚电子商务有限公司 基于区块链平台的数据处理方法
WO2017074017A1 (ko) * 2015-10-26 2017-05-04 주식회사 아이알엠 환자정보 보호를 위한 의료영상의 클라우드 데이터베이스 구축 및 판독 방법
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN107622096A (zh) * 2017-08-31 2018-01-23 上海保险交易所股份有限公司 基于区块链系统的异步多方数据交互方法和存储介质
CN107682337A (zh) * 2017-10-11 2018-02-09 深圳市轱辘车联数据技术有限公司 一种车辆数据的处理方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
GB201709367D0 (en) * 2017-06-13 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method
CN107294709A (zh) * 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
CN107528688B (zh) * 2017-09-30 2020-04-21 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017074017A1 (ko) * 2015-10-26 2017-05-04 주식회사 아이알엠 환자정보 보호를 위한 의료영상의 클라우드 데이터베이스 구축 및 판독 방법
CN106506493A (zh) * 2016-10-27 2017-03-15 摩登大道时尚电子商务有限公司 基于区块链平台的数据处理方法
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN107622096A (zh) * 2017-08-31 2018-01-23 上海保险交易所股份有限公司 基于区块链系统的异步多方数据交互方法和存储介质
CN107682337A (zh) * 2017-10-11 2018-02-09 深圳市轱辘车联数据技术有限公司 一种车辆数据的处理方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021178719A1 (en) * 2020-03-04 2021-09-10 Rubidex, LLC Cryptographic data entry blockchain data structure
US11314885B2 (en) 2020-03-04 2022-04-26 Rubidex, LLC Cryptographic data entry blockchain data structure
CN112733169A (zh) * 2021-01-13 2021-04-30 深圳市星际大陆科技有限公司 一种基于区块链的数据管理方法、系统及终端设备
US11728986B2 (en) 2021-03-25 2023-08-15 Rubidex, LLC Cryptographic data entry and transmission of sensor data
CN114338665A (zh) * 2021-12-01 2022-04-12 浪潮软件股份有限公司 基于区块链的申报材料防篡改系统

Also Published As

Publication number Publication date
CN108629027A (zh) 2018-10-09
CN108629027B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
WO2019214066A1 (zh) 区块链上用户数据库重建方法、装置、设备及介质
WO2019214070A1 (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
Li et al. Rekeying for encrypted deduplication storage
WO2019101134A1 (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
CN104486315A (zh) 一种基于内容属性的可撤销密钥外包解密方法
US20190140819A1 (en) System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures
CN104158880B (zh) 一种用户端云数据共享解决方法
CN109672521B (zh) 基于国密加密引擎实现的安全存储系统和方法
US11128452B2 (en) Encrypted data sharing with a hierarchical key structure
WO2019214069A1 (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
US11101980B2 (en) System and method for adding and comparing integers encrypted with quasigroup operations in AES counter mode encryption
WO2017024804A1 (zh) 一种数据加密方法、解密方法、装置和系统
US20160253516A1 (en) Content encryption to produce multiply encrypted content
Banerjee et al. Cloak: A stream cipher based encryption protocol for mobile cloud computing
US20190044922A1 (en) Symmetric key identity systems and methods
US20200067890A1 (en) Communication Network With Rolling Encryption Keys and Data Exfiltration Control
Yousif et al. Enhancing approach for information security in hadoop
Neha Enhanced security using hybrid encryption algorithm
JPWO2020251795A5 (zh)
CN109412788B (zh) 基于公共密钥池的抗量子计算代理云存储安全控制方法和系统
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
CN112637233B (zh) 一种基于多用户数据的安全求均值方法
CN113609522A (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: 18917743

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29.03.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18917743

Country of ref document: EP

Kind code of ref document: A1