[go: up one dir, main page]

CN118364477A - Data processing method and device, electronic device, and storage medium - Google Patents

Data processing method and device, electronic device, and storage medium Download PDF

Info

Publication number
CN118364477A
CN118364477A CN202310095114.8A CN202310095114A CN118364477A CN 118364477 A CN118364477 A CN 118364477A CN 202310095114 A CN202310095114 A CN 202310095114A CN 118364477 A CN118364477 A CN 118364477A
Authority
CN
China
Prior art keywords
key
subkey
ciphertext data
data
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310095114.8A
Other languages
Chinese (zh)
Inventor
张慧
王宗友
蓝虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310095114.8A priority Critical patent/CN118364477A/en
Publication of CN118364477A publication Critical patent/CN118364477A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请的实施例公开了一种数据处理方法及装置、电子设备、存储介质,该方法包括:在根据待备份的目标密钥进行秘密共享,以生成多个子密钥后,先对多个子密钥分别进行加密,得到多个子密钥密文数据,并将多个子密钥密文数据存储至不同的存储设备中;然后,从不同的存储设备中查找目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证,若对查找出的子密钥密文数据验证成功,则确定多个子密钥密文数据成功存储至不同的存储设备中,因此,激活目标密钥,以根据激活后的目标密钥进行加密处理。本申请实施例的技术方案可以提升密钥备份的安全性,进而提升数据安全性。

The embodiment of the present application discloses a data processing method and device, an electronic device, and a storage medium, the method comprising: after secret sharing is performed according to a target key to be backed up to generate multiple subkeys, the multiple subkeys are first encrypted separately to obtain multiple subkey ciphertext data, and the multiple subkey ciphertext data are stored in different storage devices; then, the subkey ciphertext data corresponding to the target key is searched from different storage devices, and the found subkey ciphertext data is verified, if the verification of the found subkey ciphertext data is successful, it is determined that the multiple subkey ciphertext data are successfully stored in different storage devices, therefore, the target key is activated to perform encryption processing according to the activated target key. The technical solution of the embodiment of the present application can improve the security of key backup, and thus improve data security.

Description

数据处理方法及装置、电子设备、存储介质Data processing method and device, electronic device, and storage medium

技术领域Technical Field

本申请涉及计算机技术领域,具体而言,涉及一种数据处理方法及装置、电子设备、存储介质、程序产品。The present application relates to the field of computer technology, and more specifically, to a data processing method and device, an electronic device, a storage medium, and a program product.

背景技术Background technique

为提升数据安全性,在交易、数据共享、通信传输、区块链等方面都会采用密钥技术,例如,为提升交易安全性,在进行交易的过程中,通常基于私钥对交易请求签名,交易平台根据签名进行身份验证后,再执行对应的交易。In order to improve data security, key technology will be used in transactions, data sharing, communication transmission, blockchain, etc. For example, in order to improve transaction security, during the transaction process, the transaction request is usually signed based on the private key. The trading platform authenticates the identity based on the signature and then executes the corresponding transaction.

因此,在采用密钥技术进行数据保护的过程中,数据的安全性取决于密钥的安全性。为了避免密钥丢失,通常会对密钥进行备份,但是,相关技术中,在对密钥进行备份的过程中,通常是将备份的密钥存储至指定区域,这种备份方式容易导致备份的密钥泄露,降低了密钥备份的安全性以及数据安全性。Therefore, in the process of using key technology for data protection, the security of data depends on the security of the key. In order to avoid key loss, the key is usually backed up. However, in the related art, in the process of backing up the key, the backed up key is usually stored in a designated area. This backup method is prone to leakage of the backed up key, reducing the security of key backup and data security.

发明内容Summary of the invention

本申请的实施例提供了一种数据处理方法及装置、电子设备、存储介质、程序产品,可以降低密钥对应的备份数据被泄露的风险,提升密钥备份的安全性,进而提升数据安全性。The embodiments of the present application provide a data processing method and device, an electronic device, a storage medium, and a program product, which can reduce the risk of leakage of backup data corresponding to a key, improve the security of key backup, and thereby improve data security.

根据本申请实施例的一个方面,提供了一种数据处理方法,所述方法包括:According to one aspect of an embodiment of the present application, a data processing method is provided, the method comprising:

根据待备份的目标密钥进行秘密共享,以生成多个子密钥;Perform secret sharing according to the target key to be backed up to generate multiple subkeys;

对所述多个子密钥分别进行加密,得到多个子密钥密文数据,并将所述多个子密钥密文数据存储至不同的存储设备中;Encrypt the multiple subkeys respectively to obtain multiple subkey ciphertext data, and store the multiple subkey ciphertext data in different storage devices;

从所述不同的存储设备中查找所述目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证;Searching for subkey ciphertext data corresponding to the target key from the different storage devices, and verifying the found subkey ciphertext data;

若对查找出的子密钥密文数据验证成功,则确定所述多个子密钥密文数据成功存储至所述不同的存储设备中,并激活所述目标密钥,以根据激活后的目标密钥进行加密处理。If the found subkey ciphertext data is successfully verified, it is determined that the plurality of subkey ciphertext data are successfully stored in the different storage devices, and the target key is activated to perform encryption processing according to the activated target key.

根据本申请实施例的一个方面,提供了一种数据处理装置,所述装置包括:According to one aspect of an embodiment of the present application, a data processing device is provided, the device comprising:

生成模块,配置为根据待备份的目标密钥进行秘密共享,以生成多个子密钥;A generation module configured to perform secret sharing according to a target key to be backed up to generate a plurality of subkeys;

处理模块,配置为对所述多个子密钥分别进行加密,得到多个子密钥密文数据,并将所述多个子密钥密文数据存储至不同的存储设备中;A processing module is configured to encrypt the multiple subkeys respectively to obtain multiple subkey ciphertext data, and store the multiple subkey ciphertext data in different storage devices;

验证模块,配置为从所述不同的存储设备中查找所述目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证;A verification module, configured to search for subkey ciphertext data corresponding to the target key from the different storage devices, and verify the found subkey ciphertext data;

激活模块,配置为若对查找出的子密钥密文数据验证成功,则确定所述多个子密钥密文数据成功存储至所述不同的存储设备中,并激活所述目标密钥,以根据激活后的目标密钥进行加密处理。The activation module is configured to determine that the multiple subkey ciphertext data are successfully stored in the different storage devices if the verification of the found subkey ciphertext data is successful, and activate the target key to perform encryption processing according to the activated target key.

根据本申请实施例的一个方面,提供了一种电子设备,包括:According to one aspect of an embodiment of the present application, there is provided an electronic device, including:

一个或多个处理器;one or more processors;

存储器,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的数据处理方法。The memory is used to store one or more computer programs. When the one or more computer programs are executed by the one or more processors, the electronic device implements the data processing method as described above.

根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使电子设备实现如前所述的数据处理方法。According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor of an electronic device, the electronic device implements the data processing method as described above.

根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前所述的数据处理方法。According to one aspect of an embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the data processing method as described above is implemented.

在本申请的实施例所提供的技术方案中,在根据待备份的目标密钥进行秘密共享,以生成多个子密钥后,先对多个子密钥分别进行加密,得到多个子密钥密文数据,并将多个子密钥密文数据存储至不同的存储设备中;然后,从不同的存储设备中查找目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证,若对查找出的子密钥密文数据验证成功,则确定多个子密钥密文数据成功存储至不同的存储设备中,因此,激活目标密钥,以根据激活后的目标密钥进行加密处理,相比相关技术,一方面,通过将目标密钥对应的多个子密钥密文数据存储至不同的存储设备,不仅实现了目标密钥的备份,避免了目标密钥丢失导致数据安全性无法得到保障的情况,并且,还提升了根据备份数据还原出目标密钥的难度,降低了备份数据被泄露的风险,提升了密钥备份的安全性,进而提升了数据安全性;另一方面,在对存储设备中存储的子密钥密文数据进行验证,以确定多个子密钥密文数据成功存储至不同的存储设备中后,再激活目标密钥,从而避免备份过程中子密钥密文数据丢失或出错,导致无法根据存储设备中存储的子密钥密文数据还原出目标密钥的情况,进一步提升了数据安全性。In the technical solution provided in the embodiment of the present application, after secret sharing is performed according to the target key to be backed up to generate multiple sub-keys, the multiple sub-keys are first encrypted separately to obtain multiple sub-key ciphertext data, and the multiple sub-key ciphertext data are stored in different storage devices; then, the sub-key ciphertext data corresponding to the target key is searched from different storage devices, and the found sub-key ciphertext data is verified. If the verification of the found sub-key ciphertext data is successful, it is determined that the multiple sub-key ciphertext data are successfully stored in different storage devices. Therefore, the target key is activated to perform encryption processing according to the activated target key. Compared with the related art, on the one hand, by encrypting multiple sub-keys corresponding to the target key Storing subkey ciphertext data in different storage devices not only realizes the backup of the target key and avoids the situation where data security cannot be guaranteed due to the loss of the target key, but also increases the difficulty of restoring the target key based on the backup data, reduces the risk of backup data being leaked, improves the security of key backup, and thus improves data security; on the other hand, the subkey ciphertext data stored in the storage device is verified to determine that multiple subkey ciphertext data are successfully stored in different storage devices before activating the target key, thereby avoiding the loss or error of subkey ciphertext data during the backup process, resulting in the inability to restore the target key based on the subkey ciphertext data stored in the storage device, further improving data security.

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是区块链网络的结构示意图;Figure 1 is a schematic diagram of the structure of a blockchain network;

图2是区块链中各区块的连接关系示意图;Figure 2 is a schematic diagram of the connection relationship between blocks in the blockchain;

图3是本申请的一示例性实施例示出的实施环境的示意图;FIG3 is a schematic diagram of an implementation environment shown in an exemplary embodiment of the present application;

图4是本申请的一示例性实施例示出的数据处理方法的流程图;FIG4 is a flow chart of a data processing method shown in an exemplary embodiment of the present application;

图5是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG5 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图6是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG6 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图7是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG7 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图8是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG8 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图9是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG9 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图10是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG10 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图11是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG11 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图12是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG12 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图13是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG13 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图14是本申请的另一示例性实施例示出的数据处理方法的流程图;FIG14 is a flow chart of a data processing method shown in another exemplary embodiment of the present application;

图15是本申请的一示例性实施例示出的密钥备份过程的流程图;FIG15 is a flowchart of a key backup process shown in an exemplary embodiment of the present application;

图16是本申请的一示例性实施例示出的密钥备份流程的示意图;FIG16 is a schematic diagram of a key backup process according to an exemplary embodiment of the present application;

图17是本申请的一示例性实施例示出的密钥备份流程的示意图;FIG17 is a schematic diagram of a key backup process shown in an exemplary embodiment of the present application;

图18是本申请的一示例性实施例示出的密钥备份流程的示意图;FIG18 is a schematic diagram of a key backup process according to an exemplary embodiment of the present application;

图19是本申请的一示例性实施例示出的密钥还原过程的流程图;FIG19 is a flowchart of a key restoration process shown in an exemplary embodiment of the present application;

图20是本申请的一示例性实施例示出的密钥还原流程的示意图;FIG20 is a schematic diagram of a key restoration process shown in an exemplary embodiment of the present application;

图21是本申请的另一示例性实施例示出的数据处理装置的结构示意图;FIG21 is a schematic diagram of the structure of a data processing device shown in another exemplary embodiment of the present application;

图22示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。FIG. 22 shows a schematic diagram of the structure of a computer system of an electronic device suitable for implementing an embodiment of the present application.

具体实施方式Detailed ways

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations/steps, nor must they be executed in the order described. For example, some operations/steps can be decomposed, and some operations/steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。It should also be noted that the "multiple" mentioned in this application refers to two or more than two. "And/or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and/or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character "/" generally indicates that the previous and next associated objects are in an "or" relationship.

本申请实施例的技术方案可以应用于区块链技术领域,在介绍本申请实施例的技术方案之前,先简单介绍区块链技术。The technical solution of the embodiment of the present application can be applied to the field of blockchain technology. Before introducing the technical solution of the embodiment of the present application, a brief introduction to blockchain technology is first given.

区块链(Blockchain):信息技术领域的一种分布式账本即使,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。共识机制包括但不限于POW(Proof of Work,工作量证明)、POS(Proof of Stake,权益证明)、DPOS(Delegated Proof-of-Stake Consensus,委托权益证明机制)、PBFT(Practical Byzantine FaultTolerance,实用拜占庭容错协议)等。Blockchain: A distributed ledger in the field of information technology. It is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm. Blockchain is essentially a decentralized database, a string of data blocks (i.e. blocks) generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, platform product service layer, and application service layer. Consensus mechanisms include but are not limited to POW (Proof of Work), POS (Proof of Stake), DPOS (Delegated Proof-of-Stake Consensus), PBFT (Practical Byzantine Fault Tolerance), etc.

如上,区块链本质上是一个去中心化的数据库,而区块链是由区块链网络中的节点共同维护的,节点是参与区块链维护的最小单元,是区块链节点程序的部署和运行单位。例如请参阅图1,在图1所示的区块链网络10中,可以包括多个节点101。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。由于区块是经过节点共识的,因此,具有不可篡改、可追溯、共同维护等特征。As mentioned above, blockchain is essentially a decentralized database, and blockchain is jointly maintained by nodes in the blockchain network. Nodes are the smallest units involved in blockchain maintenance and are the deployment and operation units of blockchain node programs. For example, please refer to Figure 1. In the blockchain network 10 shown in Figure 1, multiple nodes 101 may be included. Each node 101 can receive input information when performing normal work, and maintain the shared data in the blockchain network based on the received input information. In order to ensure the information intercommunication within the blockchain network, there can be information connections between each node in the blockchain network, and information can be transmitted between nodes through the above information connections. For example, when any node in the blockchain network receives input information, other nodes in the blockchain network obtain the input information according to the consensus algorithm, and store the input information as shared data, so that the data stored on all nodes in the blockchain network are consistent. Since the block is a node consensus, it has the characteristics of being tamper-proof, traceable, and jointly maintained.

对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。Each node in the blockchain network has a corresponding node identifier, and each node in the blockchain network can store the node identifiers of other nodes, so that the generated blocks can be broadcast to other nodes in the blockchain network according to the node identifiers of other nodes. A node identifier list can be maintained in each node, and the node name and node identifier are stored in the node identifier list accordingly. The node identifier can be an IP (Internet Protocol, a protocol for interconnecting networks) address or any other information that can be used to identify the node.

区块链网络中的每个节点均存储一条相同的区块链。参见图2所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。Each node in the blockchain network stores an identical blockchain. As shown in Figure 2, the blockchain consists of multiple blocks. The genesis block includes a block header and a block body. The block header stores input information feature values, version numbers, timestamps, and difficulty values, and the block body stores input information. The next block of the genesis block uses the genesis block as its parent block. The next block also includes a block header and a block body. The block header stores the input information feature values of the current block, the block header feature values, version numbers, timestamps, and difficulty values of the parent block, and so on. This ensures that the block data stored in each block in the blockchain is associated with the block data stored in the parent block, ensuring the security of the input information in the block.

可以理解的是,区块链网络中各个节点可以是服务器,也可以是终端设备。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和智能平台等基础云计算服务的云服务器。其中终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、在汽车上使用的终端(车载终端)、飞行器等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。It is understandable that each node in the blockchain network can be a server or a terminal device. Among them, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud services, cloud databases, cloud computing (Cloud Computing), cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and basic cloud computing services such as big data and intelligent platforms. Among them, the terminal device can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, a terminal used in a car (on-board terminal), an aircraft, etc., but is not limited to this. Each node can be directly or indirectly connected by wired or wireless communication, and this application is not limited here.

本申请实施例的技术方案可以应用于区块链技术,以下对本申请实施例的技术方案进行详细介绍:The technical solution of the embodiment of the present application can be applied to blockchain technology. The technical solution of the embodiment of the present application is described in detail below:

为提升数据安全性,在交易、数据共享、通信传输、区块链等方面都会采用密钥技术,例如,为提升交易安全性,在进行交易的过程中,通常基于私钥对交易请求签名,交易平台根据签名进行身份验证后,再执行对应的交易。因此,在采用密钥技术进行数据保护的过程中,数据的安全性极大程度上取决于密钥的安全性。为了避免密钥丢失,通常会对密钥进行备份,但是,相关技术中,在对密钥进行备份的过程中,通常是将备份的密钥存储至指定区域,这种备份方式容易导致备份的密钥泄露,降低了密钥备份的安全性以及数据安全性。基于此,本申请的实施例提供了一种数据处理方法及装置、电子设备、存储介质、程序产品,可以降低密钥对应的备份数据被泄露的风险,提升密钥备份的安全性,进而提升数据安全性。In order to improve data security, key technology will be used in transactions, data sharing, communication transmission, blockchain, etc. For example, in order to improve transaction security, in the process of conducting transactions, transaction requests are usually signed based on private keys, and the trading platform performs identity authentication based on the signature before executing the corresponding transaction. Therefore, in the process of using key technology for data protection, the security of the data depends to a large extent on the security of the key. In order to avoid the loss of keys, keys are usually backed up. However, in the related art, in the process of backing up keys, the backed-up keys are usually stored in a designated area. This backup method easily leads to the leakage of the backup keys, reducing the security of key backup and data security. Based on this, the embodiments of the present application provide a data processing method and device, an electronic device, a storage medium, and a program product, which can reduce the risk of leakage of backup data corresponding to the key, improve the security of key backup, and thus improve data security.

请参阅图3,图3是本申请涉及的一种实施环境的示意图,该实施环境包括数据处理设备310以及多个存储设备320。其中,数据处理设备310和存储设备320之间可以通过有线或无线方式进行通信。Please refer to Fig. 3, which is a schematic diagram of an implementation environment involved in the present application, and the implementation environment includes a data processing device 310 and multiple storage devices 320. The data processing device 310 and the storage device 320 can communicate with each other in a wired or wireless manner.

其中,数据处理设备310可以是服务器,也可以终端设备,还可以是由服务器和终端设备组成的处理系统;其中,对于服务器和终端设备的具体示例,请参见前述记载,此处不再赘述。The data processing device 310 may be a server, a terminal device, or a processing system composed of a server and a terminal device. For specific examples of the server and the terminal device, please refer to the above description, which will not be repeated here.

存储设备是任何具有存储功能的设备,其可以是独立的设备,还可以是由多个存储单元构成的存储机器或分布式系统,还可以是能够提供存储功能的云存储系统。其中,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。A storage device is any device with storage function, which can be an independent device, a storage machine or distributed system composed of multiple storage units, or a cloud storage system that can provide storage function. Among them, cloud storage is a new concept extended and developed from the concept of cloud computing. A distributed cloud storage system refers to a storage system that uses cluster applications, grid technology, and distributed storage file systems to bring together a large number of different types of storage devices (storage devices are also called storage nodes) in the network through application software or application interfaces to work together and provide external data storage and business access functions.

图3中的数据处理设备310和存储设备320的数目仅仅是示意性的,根据实际需要,可以具有任意数量的数据处理设备310和存储设备320。The number of data processing devices 310 and storage devices 320 in FIG. 3 is merely illustrative, and any number of data processing devices 310 and storage devices 320 may be provided according to actual needs.

在一示例性实施例中,本申请的实施例提供的数据处理方法可以由数据处理设备310执行,对应的,数据处理设备310可以在根据待备份的目标密钥进行秘密共享,以生成多个子密钥后,先对多个子密钥分别进行加密,得到多个子密钥密文数据,并将多个子密钥密文数据存储至不同的存储设备中;然后,从不同的存储设备中查找目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证,若对查找出的子密钥密文数据验证成功,则确定多个子密钥密文数据成功存储至不同的存储设备中,因此,激活目标密钥,以根据激活后的目标密钥进行加密处理。这样,一方面,通过将目标密钥对应的多个子密钥密文数据存储至不同的存储设备,不仅实现了目标密钥的备份,避免了目标密钥丢失导致数据安全性无法得到保障的情况,并且,还提升了根据备份数据还原出目标密钥的难度,降低了备份数据被泄露的风险,提升了密钥备份的安全性,进而提升了数据安全性;另一方面,在对存储设备中存储的子密钥密文数据进行验证,以确定多个子密钥密文数据成功存储至不同的存储设备中后,再激活目标密钥,从而避免备份过程中子密钥密文数据丢失或出错,导致无法根据存储设备中存储的子密钥密文数据还原出目标密钥的情况,进一步提升了数据安全性。In an exemplary embodiment, the data processing method provided by the embodiment of the present application can be executed by the data processing device 310. Correspondingly, the data processing device 310 can perform secret sharing according to the target key to be backed up to generate multiple sub-keys, and then encrypt the multiple sub-keys separately to obtain multiple sub-key ciphertext data, and store the multiple sub-key ciphertext data in different storage devices; then, search for the sub-key ciphertext data corresponding to the target key from different storage devices, and verify the found sub-key ciphertext data. If the verification of the found sub-key ciphertext data is successful, it is determined that the multiple sub-key ciphertext data are successfully stored in different storage devices. Therefore, the target key is activated to perform encryption processing according to the activated target key. In this way, on the one hand, by storing multiple sub-key ciphertext data corresponding to the target key in different storage devices, not only the backup of the target key is achieved, avoiding the situation where the data security cannot be guaranteed due to the loss of the target key, but also the difficulty of restoring the target key based on the backup data is improved, the risk of backup data being leaked is reduced, the security of key backup is improved, and thus data security is improved; on the other hand, the sub-key ciphertext data stored in the storage device is verified to determine that multiple sub-key ciphertext data are successfully stored in different storage devices, and then the target key is activated, thereby avoiding the loss or error of sub-key ciphertext data during the backup process, resulting in the inability to restore the target key based on the sub-key ciphertext data stored in the storage device, further improving data security.

需要说明的是,本实施例提供的数据处理方法可以应用于不同领域。例如,在基于区块链技术的交易处理场景中,资产拥有者可以在区块链网络中进行注册并获得用于保护其资产安全性的私钥和公钥,在进行资产交易的过程中,交易请求中可以包含基于资产拥有者的私钥生成的签名数据,区块链节点在接收到交易请求后,先基于资产拥有者的公钥对交易请求中包含的签名数据进行验证,在验证成功后,再根据交易请求对资产拥有者的资产进行交易,为了避免资产拥有者的私钥丢失导致资产丢失的情况,可以将资产拥有者的私钥作为待备份密钥,从而对资产拥有者的私钥进行备份,提升资产拥有者的私钥的安全性,提升资产安全性,进而提升基于区块链技术的交易处理安全性,可选的,数据处理设备310可以是区块链网络中的区块链节点,也可以是非区块链节点。It should be noted that the data processing method provided in this embodiment can be applied to different fields. For example, in a transaction processing scenario based on blockchain technology, an asset owner can register in a blockchain network and obtain a private key and a public key for protecting the security of his assets. In the process of asset trading, the transaction request can include signature data generated based on the private key of the asset owner. After receiving the transaction request, the blockchain node first verifies the signature data included in the transaction request based on the public key of the asset owner. After successful verification, the asset owner's assets are traded according to the transaction request. In order to avoid the loss of the asset owner's private key, the private key of the asset owner can be used as a backup key, thereby backing up the private key of the asset owner, improving the security of the private key of the asset owner, improving the security of the asset, and then improving the security of transaction processing based on blockchain technology. Optionally, the data processing device 310 can be a blockchain node in the blockchain network or a non-blockchain node.

需要说明的是,本申请中涉及到待备份密钥等与使用对象相关的数据,在本申请的方法应用于具体产品或技术中时,其均为获得使用对象许可或者同意,且相关的数据的提取、使用和处理均遵守当地安全标准和当地法律法规的规定。It should be noted that this application involves data related to the user object, such as the keys to be backed up. When the method of this application is applied to specific products or technologies, the permission or consent of the user object must be obtained, and the extraction, use and processing of the relevant data must comply with local security standards and local laws and regulations.

参见图4,图4是本申请的一示例性实施例示出的一种数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。See Figure 4, which is a flow chart of a data processing method shown in an exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Figure 3, and can be executed by the data processing device 310 in the implementation environment shown in Figure 3.

如图4所示,在一示例性实施例中,数据处理方法可以包括:步骤S410-步骤S440,详细介绍如下:As shown in FIG. 4 , in an exemplary embodiment, the data processing method may include: Step S410 to Step S440, which are described in detail as follows:

步骤S410,根据待备份的目标密钥进行秘密共享,以生成多个子密钥。Step S410: secret sharing is performed according to the target key to be backed up to generate multiple sub-keys.

需要说明的是,目标密钥是指任意需要进行备份的密钥,即,待备份密钥,其具体内容可以根据实际需要灵活设置,例如,在应用于支付场景时,目标密钥可以是用户的支付密码;在应用于交易场景时,资产拥有者可以在交易平台中进行注册以得到密钥对,目标密钥可以是密钥对中的私钥,其中,密钥对可以是基于椭圆曲线加密算法(Elliptic CurveCryptosystems,ECC)生成的密钥对,在基于椭圆曲线加密算法中,假设椭圆曲线点生成器为G,则密钥对中的公钥和私钥则具有以下关系:Q=P*G,其中,P为私钥,Q为公钥。It should be noted that the target key refers to any key that needs to be backed up, that is, the key to be backed up, and its specific content can be flexibly set according to actual needs. For example, when applied to payment scenarios, the target key can be the user's payment password; when applied to transaction scenarios, asset owners can register on the trading platform to obtain a key pair, and the target key can be the private key in the key pair, wherein the key pair can be a key pair generated based on the elliptic curve cryptography algorithm (Elliptic Curve Cryptosystems, ECC). In the elliptic curve cryptography algorithm, assuming that the elliptic curve point generator is G, the public key and private key in the key pair have the following relationship: Q=P*G, wherein P is the private key and Q is the public key.

秘密共享是一种将秘密分割存储的密码技术,其主要思想是将秘密以适当的方式拆分得到多个份额,并将多个份额分别进行存储,使得根据单个份额无法还原出秘密信息,从而避免秘密过于集中,达到分散风险和容忍入侵的目的。Secret sharing is a cryptographic technology that divides and stores secrets. The main idea is to split the secret into multiple shares in an appropriate way and store the multiple shares separately, so that the secret information cannot be restored based on a single share, thereby avoiding excessive concentration of secrets and achieving the purpose of dispersing risks and tolerating intrusions.

为了避免备份的密钥被泄露的情况,在获取到待备份的目标密钥后,并非直接对目标密钥进行备份存储,而是先对目标密钥进行秘密共享,得到目标密钥对应的多个份额,每个份额作为目标密钥的一个子密钥,从而得到目标密钥对应的多个子密钥。其中,子密钥的数量可以根据实际需要灵活设置,可选的,子密钥的数量可以根据目标密钥对应的安全等级进行设置,其中,目标密钥对应的安全等级与子密钥的数量可以正相关,即,目标密钥对应的安全等级越高,子密钥的数量越多。In order to avoid the backup key from being leaked, after obtaining the target key to be backed up, the target key is not directly backed up and stored, but the target key is first secretly shared to obtain multiple shares corresponding to the target key, each share is used as a subkey of the target key, thereby obtaining multiple subkeys corresponding to the target key. The number of subkeys can be flexibly set according to actual needs, and optionally, the number of subkeys can be set according to the security level corresponding to the target key, wherein the security level corresponding to the target key can be positively correlated with the number of subkeys, that is, the higher the security level corresponding to the target key, the more subkeys there are.

其中,根据待备份的目标密钥进行秘密共享,以生成多个子密钥的具体方式可以根据实际需要灵活设置,在一个示例中,可以根据目标密钥生成多个子密钥,使得生成的多个子密钥经过指定运算方式进行运算后,所得到的值与目标密钥相匹配,其中,指定运算方式包括但不限于相加运算、相乘运算等。在另一个示例中,可以采用shamir秘密分享算法对目标密钥进行处理,得到多个子密钥,其中,shamir秘密分享算法是一种(t,w)门限密钥共享方案,在shamir秘密分享算法中,将秘密拆分成w个份额,在获取到至少t个份额的条件下,即可根据获取到的份额还原出秘密,其中,w、t为大于1的整数,且w大于等于t,t为门限值,从而提升了密钥备份的容灾能力。Among them, the specific method of performing secret sharing according to the target key to be backed up to generate multiple subkeys can be flexibly set according to actual needs. In one example, multiple subkeys can be generated according to the target key, so that after the generated multiple subkeys are operated by a specified operation method, the obtained values match the target key, wherein the specified operation method includes but is not limited to addition operation, multiplication operation, etc. In another example, the Shamir secret sharing algorithm can be used to process the target key to obtain multiple subkeys, wherein the Shamir secret sharing algorithm is a (t, w) threshold key sharing scheme, in which the secret is split into w shares, and under the condition of obtaining at least t shares, the secret can be restored according to the obtained shares, wherein w and t are integers greater than 1, and w is greater than or equal to t, and t is a threshold value, thereby improving the disaster recovery capability of key backup.

步骤S420,对多个子密钥分别进行加密,得到多个子密钥密文数据,并将多个子密钥密文数据存储至不同的存储设备中。Step S420: encrypt the multiple subkeys respectively to obtain multiple subkey ciphertext data, and store the multiple subkey ciphertext data in different storage devices.

为了进一步提升子密钥的安全性,在根据秘密共享技术生成目标密钥对应的多个子密钥后,可以对每个子密钥进行加密,得到每个子密钥对应的子密钥密文数据,从而得到目标密钥对应的多个子密钥密文数据(其中,一个子密钥密文数据对应一个子密钥)。其中,对子密钥进行加密所采用的加密算法可以根据实际需要灵活设置,包括但不限于对称加密算法和非对称加密算法,非对称密钥算法包括但不限于椭圆曲线加密算法,例如SM2加密算法等。不同子密钥对应的加密密钥可以相同,也可以不同,例如,假设根据目标密钥生成了子密钥1以及子密钥2,子密钥1对应的加密密钥与子密钥2对应的加密密钥可以相同,或者,为了进一步提升密钥备份的抗攻击能力,子密钥1对应的加密密钥与子密钥2对应的加密密钥可以不同。可选的,多个子密钥对应的加密密钥可以相同也可以不同,也就是说,可以采用同一加密密钥对目标密钥的多个子密钥进行加密,也可以采用不同的加密密钥对目标密钥的多个子密钥进行加密。In order to further improve the security of the subkey, after generating multiple subkeys corresponding to the target key according to the secret sharing technology, each subkey can be encrypted to obtain the subkey ciphertext data corresponding to each subkey, thereby obtaining multiple subkey ciphertext data corresponding to the target key (wherein one subkey ciphertext data corresponds to one subkey). Among them, the encryption algorithm used to encrypt the subkey can be flexibly set according to actual needs, including but not limited to symmetric encryption algorithms and asymmetric encryption algorithms, and the asymmetric key algorithm includes but is not limited to elliptic curve encryption algorithms, such as SM2 encryption algorithms, etc. The encryption keys corresponding to different subkeys can be the same or different. For example, assuming that subkey 1 and subkey 2 are generated according to the target key, the encryption key corresponding to subkey 1 can be the same as the encryption key corresponding to subkey 2, or, in order to further improve the anti-attack capability of key backup, the encryption key corresponding to subkey 1 can be different from the encryption key corresponding to subkey 2. Optionally, the encryption keys corresponding to multiple subkeys can be the same or different, that is, the same encryption key can be used to encrypt multiple subkeys of the target key, or different encryption keys can be used to encrypt multiple subkeys of the target key.

在得到目标密钥对应的多个子密钥密文数据后,为了提升备份数据的安全性,可以将目标密钥对应的多个子密钥密文数据存储至不同的存储设备中,也就是说,单个存储设备中只存储了目标密钥的部分备份数据,例如,假设根据目标密钥生成了子密钥1和子密钥2,可以将子密钥1的密文数据存储至存储设备1中,将子密钥2的密文数据存储至子密钥2中,从而使得单个存储设备无法根据自身存储的子密钥密文数据还原出目标密钥,并且,攻击者若需要根据备份数据从而还原出目标密钥,不仅需要攻击多个存储设备,从而得到目标密钥对应的多个子密钥密文数据,还需要获取子密钥密文数据对应的解密密钥,从而提升了根据目标密钥的备份数据还原出目标密钥的难度,提升了密钥备份的抗攻击能力,进而提升了密钥备份的安全性。After obtaining multiple subkey ciphertext data corresponding to the target key, in order to improve the security of the backup data, the multiple subkey ciphertext data corresponding to the target key can be stored in different storage devices. That is to say, only part of the backup data of the target key is stored in a single storage device. For example, assuming that subkey 1 and subkey 2 are generated according to the target key, the ciphertext data of subkey 1 can be stored in storage device 1, and the ciphertext data of subkey 2 can be stored in subkey 2, so that a single storage device cannot restore the target key according to the subkey ciphertext data stored in itself. In addition, if an attacker needs to restore the target key according to the backup data, he not only needs to attack multiple storage devices to obtain multiple subkey ciphertext data corresponding to the target key, but also needs to obtain the decryption key corresponding to the subkey ciphertext data, thereby increasing the difficulty of restoring the target key according to the backup data of the target key, improving the anti-attack capability of the key backup, and thus improving the security of the key backup.

可选的,为了进一步提升密钥备份的安全性,可以将多个子密钥密文数据存储至部署在不同区域的存储设备中,也就是说,存储有子密钥密文数据的存储设备部署在不同区域,例如,假设根据目标密钥生成了子密钥1和子密钥2,可以将子密钥1的密文数据存储至区域1中的存储设备1,将子密钥2的密文数据存储至区域2的存储设备2中,从而通过地理区域以及设备上的隔离,进一步提升密钥备份的抗攻击能力。Optionally, in order to further improve the security of key backup, multiple subkey ciphertext data can be stored in storage devices deployed in different areas. That is to say, the storage devices storing subkey ciphertext data are deployed in different areas. For example, assuming that subkey 1 and subkey 2 are generated according to the target key, the ciphertext data of subkey 1 can be stored in storage device 1 in area 1, and the ciphertext data of subkey 2 can be stored in storage device 2 in area 2, thereby further improving the anti-attack capability of key backup through isolation of geographical areas and devices.

可选的,不同的存储设备可以是从多个存储设备中随机选择出的,还可以是根据设备选择指令从多个存储设备中选择出的,其中,设备选择指令可以是人工触发的,也就是说,用户可以选择将目标密钥对应的多个子密钥密文数据存储至哪些存储设备中。Optionally, different storage devices may be randomly selected from a plurality of storage devices, or may be selected from a plurality of storage devices according to a device selection instruction, wherein the device selection instruction may be manually triggered, that is, the user may choose in which storage devices to store the plurality of sub-key ciphertext data corresponding to the target key.

步骤S430,从不同的存储设备中查找目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证。Step S430, searching for subkey ciphertext data corresponding to the target key from different storage devices, and verifying the found subkey ciphertext data.

为了确保存储设备中存储的目标密钥对应的子密钥密文数据是正确且完整的,从而使得能够根据存储设备中存储的目标密钥对应的子密钥密文数据还原出目标密钥,在将目标密钥对应的多个子密钥密文数据存储至不同的存储设备后,可以从这些存储设备中查找目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证。其中,验证方式可以根据实际需要灵活设置。In order to ensure that the subkey ciphertext data corresponding to the target key stored in the storage device is correct and complete, so that the target key can be restored from the subkey ciphertext data corresponding to the target key stored in the storage device, after storing multiple subkey ciphertext data corresponding to the target key in different storage devices, the subkey ciphertext data corresponding to the target key can be searched from these storage devices, and the searched subkey ciphertext data can be verified. The verification method can be flexibly set according to actual needs.

步骤S440,若对查找出的子密钥密文数据验证成功,则确定多个子密钥密文数据成功存储至不同的存储设备中,并激活目标密钥,以根据激活后的目标密钥进行加密处理。Step S440: If the verification of the found subkey ciphertext data is successful, it is determined that the multiple subkey ciphertext data are successfully stored in different storage devices, and the target key is activated to perform encryption processing according to the activated target key.

若对从存储设备中查找出的目标密钥对应的子密钥密文数据验证成功,则表明存储设备中存储的目标密钥的子密钥密文数据是正确且完整的,确定多个子密钥密文数据成功存储至不同的存储设备中,因此,激活目标密钥,从而可以根据激活后的目标密钥进行加密处理。其中,根据激活后的目标密钥进行加密处理的具体方式可以根据实际需要灵活设置,例如,若目标密钥作为支付场景中的支付密码,在激活目标密钥后,才可以基于目标密钥进行支付。If the verification of the subkey ciphertext data corresponding to the target key found from the storage device is successful, it indicates that the subkey ciphertext data of the target key stored in the storage device is correct and complete, and it is determined that multiple subkey ciphertext data are successfully stored in different storage devices. Therefore, the target key is activated, so that encryption processing can be performed according to the activated target key. Among them, the specific method of encryption processing according to the activated target key can be flexibly set according to actual needs. For example, if the target key is used as a payment password in a payment scenario, payment can be made based on the target key only after the target key is activated.

可选的,若对存储设备中查找出的目标密钥对应的子密钥密文数据验证失败,可以删除存储设备中存储的目标密钥对应的子密钥密文数据,并重新对目标密钥进行备份。在一个示例中,在重新对目标密钥进行备份的过程中,可以将目标密钥对应的多个子密钥密文数据重新存储至不同的存储设备中,并转步骤S430,从而使得重新备份的过程中无需再次生成目标密钥对应的子密钥密文数据,从而节约资源;在另一示例中,在重新对目标密钥进行备份的过程中,也可以转步骤S410,以重新生成目标密钥对应的多个子密钥,并重新进行加密、存储、验证过程。为了提升重新备份的成功率,可以在验证失败后,等待预设时长,再重新对目标密钥进行备份。Optionally, if the verification of the subkey ciphertext data corresponding to the target key found in the storage device fails, the subkey ciphertext data corresponding to the target key stored in the storage device can be deleted, and the target key can be backed up again. In one example, in the process of backing up the target key again, the multiple subkey ciphertext data corresponding to the target key can be stored again in different storage devices, and the process goes to step S430, so that the subkey ciphertext data corresponding to the target key does not need to be generated again during the back-up process, thereby saving resources; in another example, in the process of backing up the target key again, the process can also go to step S410 to regenerate multiple subkeys corresponding to the target key, and re-encrypt, store, and verify the process. In order to improve the success rate of the re-backup, after the verification fails, you can wait for a preset period of time and then back up the target key again.

在图4所示的实施例中,一方面,在对目标密钥进行备份的过程中,先根据目标密钥进行秘密共享以生成多个子密钥,再分别对多个子密钥进行加密,将加密得到的多个子密钥密文数据存储至不同的存储设备中,从而实现了对目标密钥的备份,在需要基于目标密钥对应的备份数据还原出目标密钥时,需要先从多个存储设备中获取目标密钥对应的多个子密钥密文数据,并对获取到的子密钥密文数据进行解密得到子密钥明文,再根据子密钥明文还原出目标密钥,从而提升了基于目标密钥的备份数据还原出目标密钥的难度,降低了备份数据被泄露的风险,并且,攻击者若需要根据目标密钥的备份数据还原出目标密钥,不仅需要攻击多个存储设备以获取目标密钥对应的多个子密钥密文数据,还需要进行攻击以获取子密钥密文数据的解密密钥,从而提升了攻击难度,进而提升了密钥备份的抗攻击能力,提升了密钥备份的安全性;另一方面,在对存储设备中存储的子密钥密文数据进行验证,以确定多个子密钥密文数据成功存储至不同的存储设备中后,再激活目标密钥,从而避免备份过程中子密钥密文数据丢失或出错,导致无法根据存储设备中存储的子密钥密文数据还原出目标密钥的情况,进一步提升了数据安全性。In the embodiment shown in FIG4 , on the one hand, in the process of backing up the target key, a secret is first shared based on the target key to generate multiple subkeys, and then the multiple subkeys are encrypted respectively, and the encrypted multiple subkey ciphertext data are stored in different storage devices, thereby realizing the backup of the target key. When it is necessary to restore the target key based on the backup data corresponding to the target key, it is necessary to first obtain the multiple subkey ciphertext data corresponding to the target key from multiple storage devices, decrypt the obtained subkey ciphertext data to obtain the subkey plaintext, and then restore the target key based on the subkey plaintext, thereby increasing the difficulty of restoring the target key based on the backup data of the target key and reducing the risk of backup data being leaked. If an attacker needs to restore the target key based on the backup data of the target key, he not only needs to attack multiple storage devices to obtain multiple subkey ciphertext data corresponding to the target key, but also needs to attack to obtain the decryption key of the subkey ciphertext data, thereby increasing the difficulty of the attack, thereby improving the anti-attack capability of the key backup, and improving the security of the key backup; on the other hand, after verifying the subkey ciphertext data stored in the storage device to determine that multiple subkey ciphertext data are successfully stored in different storage devices, the target key is activated, thereby avoiding the loss or error of the subkey ciphertext data during the backup process, resulting in the inability to restore the target key based on the subkey ciphertext data stored in the storage device, further improving data security.

在一示例性实施例中,参见图5,图5是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 5, Fig. 5 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图5所示,数据处理方法可以包括:步骤S510-步骤S520,以及步骤S420-步骤S440,其中,步骤S510-步骤S520的详细介绍如下:As shown in FIG5 , the data processing method may include: steps S510 to S520, and steps S420 to S440, wherein steps S510 to S520 are described in detail as follows:

步骤S510,根据目标密钥生成多个数字;其中,多个数字的和与目标密钥相匹配。Step S510, generating multiple numbers according to the target key; wherein the sum of the multiple numbers matches the target key.

为了生成目标密钥对应的多个子密钥,使得根据单个子密钥无法还原出目标密钥,可以根据目标密钥生成多个数字,使得多个数字的和与目标密钥相匹配,也就是说,对生成的多个数字进行相加运算后,得到的值与目标密钥相匹配。其中,多个数字的和与目标密钥相匹配可以是指多个数字的和与目标密钥相等。为了提升安全性,多个数字中存在不同的数字,例如,在一个示例中,假设目标密钥是5,则根据目标密钥生成的多个数字可以分别是11、-2、-4,从而使得多个数字的和为5,这样,在只知道11、-2、-4中的任意一个的情况下,无法还原出目标密钥5;在另一示例中,假设目标密钥是8,则根据目标密钥生成的多个数字可以是2、3、3,从而使得多个数字的和为8,这样,在只知道2、3、3中的任意一个的情况下,无法还原出目标密钥8。In order to generate multiple subkeys corresponding to the target key so that the target key cannot be restored based on a single subkey, multiple numbers can be generated based on the target key so that the sum of the multiple numbers matches the target key, that is, after adding the generated multiple numbers, the value obtained matches the target key. Among them, the sum of the multiple numbers matching the target key can mean that the sum of the multiple numbers is equal to the target key. In order to improve security, there are different numbers in the multiple numbers. For example, in one example, assuming that the target key is 5, the multiple numbers generated based on the target key can be 11, -2, -4, respectively, so that the sum of the multiple numbers is 5. In this way, if only any one of 11, -2, and -4 is known, the target key 5 cannot be restored; in another example, assuming that the target key is 8, the multiple numbers generated based on the target key can be 2, 3, and 3, so that the sum of the multiple numbers is 8. In this way, if only any one of 2, 3, and 3 is known, the target key 8 cannot be restored.

步骤S520,将生成的每个数字作为目标密钥的子密钥。Step S520, using each generated number as a subkey of the target key.

在生成所对应的和与目标密钥相匹配的多个数字后,将生成的每个数字作为目标密钥的子密钥,也就是说,目标密钥的多个子密钥进行相加运算后,得到的值与目标密钥相匹配。After generating the corresponding multiple numbers that match the target key, each generated number is used as a subkey of the target key, that is, after the multiple subkeys of the target key are added together, the value obtained matches the target key.

可选的,在目标密钥的多个子密钥的和与目标密钥相匹配的条件下,在目标密钥丢失需要根据备份数据还原出目标密钥的过程中,可以先从存储设备中获取目标密钥对应的多个子密钥密文数据,再对获取到的子密钥密文数据分别进行解密,得到多个子密文明文,再对多个子密钥明文进行求和运算,将得到的值作为目标密钥,从而还原出目标密钥。Optionally, under the condition that the sum of multiple subkeys of the target key matches the target key, when the target key is lost and needs to be restored based on backup data, multiple subkey ciphertext data corresponding to the target key can be first obtained from the storage device, and then the obtained subkey ciphertext data can be decrypted separately to obtain multiple sub-ciphertext plaintexts, and then the multiple subkey plaintexts are summed up, and the obtained value is used as the target key, thereby restoring the target key.

需要说明的是,图5所示的步骤S420-步骤S440的具体实现细节可以参照图4所示的步骤S420-步骤S440,此处不再赘述。It should be noted that the specific implementation details of steps S420 to S440 shown in FIG. 5 can refer to steps S420 to S440 shown in FIG. 4 , which will not be repeated here.

在图5所示的实施例中,先根据目标密钥生成多个数字,其中,多个数字的和与目标密钥相匹配;再将生成的每个数字作为目标密钥的子密钥,从而使得目标密钥的多个子密钥的和与目标密钥相匹配,不仅能够实现根据单个子密钥无法还原出目标密钥,还降低了生成子密钥的复杂度,提升了子密钥的生成效率以及根据子密钥还原出目标密钥的效率。In the embodiment shown in FIG5 , a plurality of numbers are first generated according to the target key, wherein the sum of the plurality of numbers matches the target key; and then each generated number is used as a subkey of the target key, so that the sum of the plurality of subkeys of the target key matches the target key. This not only makes it possible to achieve that the target key cannot be restored based on a single subkey, but also reduces the complexity of generating subkeys, improves the efficiency of generating subkeys and the efficiency of restoring the target key based on the subkeys.

在一示例性实施例中,参见图6,图6是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, see Figure 6, which is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Figure 3, and can be executed by the data processing device 310 in the implementation environment shown in Figure 3.

如图6所示,数据处理方法可以包括:步骤S610-步骤S630,以及步骤S420-步骤S440,其中,步骤S610-步骤S630的详细介绍如下:As shown in FIG6 , the data processing method may include: steps S610 to S630, and steps S420 to S440, wherein steps S610 to S630 are described in detail as follows:

步骤S610,根据目标密钥生成多项式;其中,多项式的自变量是指定自变量数值的条件下,多项式的因变量与目标密钥相匹配。Step S610, generating a polynomial according to the target key; wherein, under the condition that the independent variable of the polynomial is a specified independent variable value, the dependent variable of the polynomial matches the target key.

为了生成目标密钥对应的多个子密钥,使得根据单个子密钥无法还原出目标密钥,可以先根据目标密钥生成多项式。其中,多项式中包含自变量、自变量对应的系数、常量和因变量,自变量的取值会影响因变量的取值,例如,在多项式y=2x+3中,x为自变量,2为自变量的系数,3是常量,y是因变量,y的取值随着x的取值变化。为了能够根据多项式还原出目标密钥,可以使多项式的自变量是指定自变量数值的条件下,多项式的因变量与目标密钥相匹配。其中,指定自变量数值可以根据实际需要灵活设置,例如,可以是0、1、2、3等,在一个示例中,假设指定自变量数值为0,目标密钥为8,则生成的多项式可以是y=5x+8,从而使得当x=0时,y=8。In order to generate multiple subkeys corresponding to the target key so that the target key cannot be restored from a single subkey, a polynomial can be generated based on the target key. The polynomial contains independent variables, coefficients corresponding to the independent variables, constants and dependent variables. The value of the independent variable will affect the value of the dependent variable. For example, in the polynomial y=2x+3, x is the independent variable, 2 is the coefficient of the independent variable, 3 is the constant, y is the dependent variable, and the value of y changes with the value of x. In order to restore the target key based on the polynomial, the dependent variable of the polynomial can be matched with the target key under the condition that the independent variable of the polynomial is the specified independent variable value. The specified independent variable value can be flexibly set according to actual needs, for example, it can be 0, 1, 2, 3, etc. In an example, assuming that the specified independent variable value is 0 and the target key is 8, the generated polynomial can be y=5x+8, so that when x=0, y=8.

需要说明的是,多项式的具体形式(包括但不限于多项式的度)可以根据实际需要灵活设置,其中,多项式的度是指多项式中自变量的最高次数,例如,在多项式y=a1*x^2+a2*x+a3中,假设a1、a2、a3为常数,则多项式的度r=2。为了降低数据运算量,多项式的度可以是2,即,多项式为二次多项式,在一个示例中,假设指定自变量数值为1,目标密钥为11,则生成的二次多项式可以是y=2*x^2+3*x+6,从而使得在x=1时,y=11。It should be noted that the specific form of the polynomial (including but not limited to the degree of the polynomial) can be flexibly set according to actual needs, wherein the degree of the polynomial refers to the highest degree of the independent variable in the polynomial. For example, in the polynomial y=a1*x^2+a2*x+a3, assuming that a1, a2, and a3 are constants, the degree of the polynomial r=2. In order to reduce the amount of data calculation, the degree of the polynomial can be 2, that is, the polynomial is a quadratic polynomial. In an example, assuming that the specified independent variable value is 1 and the target key is 11, the generated quadratic polynomial can be y=2*x^2+3*x+6, so that when x=1, y=11.

步骤S620,获取除指定自变量数值之外的多个其它自变量数值,并根据多项式计算每个其它自变量数值对应的因变量数值;其中,其它自变量数值的数量大于多项式的度。Step S620, obtaining multiple other independent variable values except the specified independent variable value, and calculating the dependent variable value corresponding to each other independent variable value according to the polynomial; wherein the number of other independent variable values is greater than the degree of the polynomial.

需要说明的是,针对一个度为r的多项式,最少只需获得(r+1)个变量数据组合(x,y),每个变量数据组合包含一个自变量数值x以及该自变量数值对应的因变量数值y,就能够根据(r+1)个变量数据组合(x,y)还原出多项式。例如,针对一个二度多项式y=a1*x^2+a2*x+a3,最少只需要获取该多项式对应的3对变量数据组合,就能够根据这3对变量数据组合计算出a1、a2、a3,从而还原出二度多项式,在一个示例中,假设二度多项式为y=3*x^2+2*x+1,则在不知道x^2的系数为3,x的系数为2,常量为1的情况下,根据(x=1,y=6)、(x=2,y=17)、(x=3,y=34)能够还原出该多项式。It should be noted that for a polynomial of degree r, at least (r+1) variable data combinations (x, y) need to be obtained, each variable data combination contains an independent variable value x and a dependent variable value y corresponding to the independent variable value, and the polynomial can be restored based on the (r+1) variable data combinations (x, y). For example, for a second-degree polynomial y=a1*x^2+a2*x+a3, at least three pairs of variable data combinations corresponding to the polynomial need to be obtained, and a1, a2, and a3 can be calculated based on these three pairs of variable data combinations, thereby restoring the second-degree polynomial. In an example, assuming that the second-degree polynomial is y=3*x^2+2*x+1, then without knowing that the coefficient of x^2 is 3, the coefficient of x is 2, and the constant is 1, the polynomial can be restored based on (x=1, y=6), (x=2, y=17), and (x=3, y=34).

因此,在根据目标密钥生成多项式后,可以获取除指定自变量数值之外的多个其它自变量数值,并根据生成的多项式计算每个其它自变量数值对应的因变量数值,其中,为了能够根据其它自变量数值和其它自变量数值对应的因变量数值还原出多项式,其它自变量数值的数量应当大于或等于多项式的度,即,假设其它自变量数值的数量是n,多项式的度是r,则n大于r,其中n和r均为整数。Therefore, after generating a polynomial according to the target key, multiple other independent variable values in addition to the specified independent variable value can be obtained, and the dependent variable value corresponding to each other independent variable value can be calculated according to the generated polynomial, wherein, in order to be able to restore the polynomial according to the other independent variable values and the dependent variable values corresponding to the other independent variable values , the number of other independent variable values should be greater than or equal to the degree of the polynomial, that is, assuming that the number of other independent variable values is n and the degree of the polynomial is r, then n is greater than r, where n and r are both integers.

步骤S630,将每个其它自变量数值对应的因变量数值作为目标密钥的子密钥。Step S630: Use the dependent variable value corresponding to each other independent variable value as a subkey of the target key.

在根据多项式计算出每个其它自变量数值对应的因变量数值后,将每个其它自变量数值对应的因变量数值作为目标密钥的子密钥,从而使得根据单个目标密钥的子密钥无法还原出目标密钥,同时,由于目标密钥的子密钥为根据多项式计算出的其它自变量数值对应的因变量数值,且自变量数值的数量大于多项式的度,因此,根据目标密钥对应的多个子密钥以及该子密钥对应的自变量数值能够还原出多项式,并根据指定自变量数值以及还原出的多项式可以求得目标密钥。After calculating the dependent variable value corresponding to each other independent variable value according to the polynomial, the dependent variable value corresponding to each other independent variable value is used as a subkey of the target key, so that the target key cannot be restored based on the subkey of a single target key. At the same time, since the subkey of the target key is the dependent variable value corresponding to other independent variable values calculated according to the polynomial, and the number of independent variable values is greater than the degree of the polynomial, the polynomial can be restored based on multiple subkeys corresponding to the target key and the independent variable values corresponding to the subkey, and the target key can be obtained based on the specified independent variable values and the restored polynomial.

需要说明的是,步骤S610-步骤S630可以封装为一种shamir秘密分享算法,其门限值t为r+1;w为其它自变量数值的数量n,也即子密钥的数量。It should be noted that step S610 to step S630 can be encapsulated as a Shamir secret sharing algorithm, whose threshold value t is r+1; w is the number n of other independent variable values, that is, the number of subkeys.

图6所示的步骤S420-步骤S440的具体实现细节可以参照图4所示的步骤S420-步骤S440,此处不再赘述。The specific implementation details of steps S420 to S440 shown in FIG. 6 may refer to steps S420 to S440 shown in FIG. 4 , and will not be described in detail here.

在图6所示的实施例中,先根据目标密钥生成多项式,其中,多项式的自变量是指定自变量数值的条件下,多项式的因变量与目标密钥相匹配;然后,获取除指定自变量数值之外的多个其它自变量数值,并根据多项式计算每个其它自变量数值对应的因变量数值;其中,其它自变量数值的数量大于多项式的度;再将每个其它自变量数值对应的因变量数值作为目标密钥的子密钥,从而实现了针对目标密钥的秘密共享,并且,通过这种方式进行秘密共享,在目标密钥的还原过程中,根据r+1个子密钥即可还原出目标密钥(其中,r为多项式的度),无需获取所有子密钥,从而提升了容灾能力。In the embodiment shown in FIG6 , a polynomial is first generated according to the target key, wherein the independent variable of the polynomial is a condition where the dependent variable of the polynomial matches the target key under the condition that the independent variable of the polynomial is a specified independent variable value; then, multiple other independent variable values except the specified independent variable value are obtained, and the dependent variable value corresponding to each other independent variable value is calculated according to the polynomial; wherein the number of other independent variable values is greater than the degree of the polynomial; and then the dependent variable value corresponding to each other independent variable value is used as a subkey of the target key, thereby realizing secret sharing for the target key, and by performing secret sharing in this manner, during the restoration process of the target key, the target key can be restored based on r+1 subkeys (where r is the degree of the polynomial), without obtaining all subkeys, thereby improving disaster recovery capability.

在一示例性实施例中,参见图7,图7是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 7, Fig. 7 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图7所示,数据处理方法可以包括:步骤S610-步骤S630、步骤S420-步骤S440,以及步骤S710-步骤S740,其中,步骤S710-步骤S740的详细介绍如下:As shown in FIG. 7 , the data processing method may include: steps S610 to S630, steps S420 to S440, and steps S710 to S740, wherein steps S710 to S740 are described in detail as follows:

步骤S710,若目标密钥丢失,则从不同的存储设备中获取指定数量个子密钥密文数据;其中,指定数量大于多项式的度。Step S710: If the target key is lost, a specified number of subkey ciphertext data are obtained from different storage devices; wherein the specified number is greater than the degree of the polynomial.

若目标密钥丢失,为了还原出目标密钥,需要先还原出多项式,针对一个r度多项式,根据r+1对变量数据组合就能够还原出该多项式。因此,在目标密钥丢失的条件下,可以从存储有目标密钥对应的子密钥密文数据的存储设备中获取目标密钥对应的指定数量个子密钥密文数据,指定数量需要大于多项式的度r,即,指定数量的最小取值为r+1。If the target key is lost, in order to restore the target key, the polynomial needs to be restored first. For an r-degree polynomial, the polynomial can be restored according to r+1 pairs of variable data combinations. Therefore, under the condition that the target key is lost, the specified number of subkey ciphertext data corresponding to the target key can be obtained from the storage device storing the subkey ciphertext data corresponding to the target key. The specified number needs to be greater than the degree r of the polynomial, that is, the minimum value of the specified number is r+1.

步骤S720,对获取到的每个子密钥密文数据进行解密,得到每个子密钥密文数据中包含的因变量数值。Step S720: decrypt each acquired subkey ciphertext data to obtain the dependent variable value contained in each subkey ciphertext data.

在获取到目标密钥对应的指定数量个子密钥密文数据后,可以对每个子密钥密文数据进行解密,得到该子密钥密文数据中包含的因变量数值,从而得到指定数量个因变量数值。After obtaining the specified number of subkey ciphertext data corresponding to the target key, each subkey ciphertext data can be decrypted to obtain the dependent variable value contained in the subkey ciphertext data, thereby obtaining the specified number of dependent variable values.

步骤S730,根据指定数量个子密钥密文数据中包含的因变量数值各自对应的自变量数值,对多项式进行还原。Step S730, restoring the polynomial according to the independent variable values corresponding to the dependent variable values contained in the specified number of subkey ciphertext data.

在得到指定数量个因变量数值后,可以根据指定数量个因变量数值以及该因变量数值对应的自变量数值还原出多项式,即,根据指定数量对变量数据组合还原出多项式。After obtaining a specified number of dependent variable values, a polynomial can be restored based on the specified number of dependent variable values and the independent variable values corresponding to the dependent variable values, that is, a polynomial is restored based on a specified number of variable data combinations.

步骤S740,根据还原出的多项式计算指定自变量数值对应的因变量数值,并将计算出的指定自变量数值对应的因变量数值作为目标密钥。Step S740, calculating the dependent variable value corresponding to the specified independent variable value according to the restored polynomial, and using the calculated dependent variable value corresponding to the specified independent variable value as the target key.

在还原出多项式后,可以根据还原出的多项式计算在自变量为指定自变量数值的条件下,对应的因变量数值,从而将计算出的因变量数值作为目标密钥,完成目标密钥的还原。After the polynomial is restored, the corresponding dependent variable value can be calculated based on the restored polynomial under the condition that the independent variable is the specified independent variable value, so that the calculated dependent variable value is used as the target key to complete the restoration of the target key.

需要说明的是,图7所示的步骤S420-步骤S440的具体实现细节可以参照图4所示的步骤S420-步骤S440,图7所示的步骤S610-步骤S630的具体实现细节可以参照图6所示的步骤S610-步骤S630,此处不再赘述。It should be noted that the specific implementation details of steps S420-S440 shown in Figure 7 can refer to steps S420-S440 shown in Figure 4, and the specific implementation details of steps S610-S630 shown in Figure 7 can refer to steps S610-S630 shown in Figure 6, which will not be repeated here.

在图7所示的实施例中,在还原目标密钥的过程中,只需获取指定数量个子密钥密文数据,并对密文数据进行解密,其中,指定数量大于多项式度,无需获取所有子密钥的密文数据,从而提升了容灾能力。In the embodiment shown in Figure 7, in the process of restoring the target key, it is only necessary to obtain a specified number of sub-key ciphertext data and decrypt the ciphertext data, wherein the specified number is greater than the polynomial degree, and there is no need to obtain the ciphertext data of all sub-keys, thereby improving disaster recovery capabilities.

在一示例性实施例中,参见图8,图8是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 8, Fig. 8 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图8所示,在每个子密钥密文数据中包含根据每个子密钥密文数据对应的加密密钥生成的签名数据的条件下,数据处理方法可以包括:步骤S410-步骤S420、步骤S810-步骤S830,以及步骤S440,其中,步骤S810-步骤S830的详细介绍如下:As shown in FIG8 , under the condition that each subkey ciphertext data contains signature data generated according to the encryption key corresponding to each subkey ciphertext data, the data processing method may include: steps S410 to S420, steps S810 to S830, and step S440, wherein steps S810 to S830 are described in detail as follows:

步骤S810,从不同的存储设备中查找目标密钥对应的子密钥密文数据。Step S810, searching for subkey ciphertext data corresponding to the target key from different storage devices.

为了对存储设备中存储的目标密钥对应的子密钥密文数据进行验证,可以先从存储设备中查找目标密钥对应的子密钥密文数据。In order to verify the subkey ciphertext data corresponding to the target key stored in the storage device, the subkey ciphertext data corresponding to the target key may be first searched from the storage device.

步骤S820,从查找出的子密钥密文数据中提取签名数据。Step S820: extract signature data from the found subkey ciphertext data.

在对目标密钥的子密钥进行加密的过程中,针对每个子密钥,先通过加密密钥对该子密钥进行加密,得到子密钥密文,并根据加密密钥对子密钥的密文进行签名,将签名后的子密钥密文作为该子密钥对应的子密钥密文数据,也就是说,每个子密钥密文数据中包含对应的子密钥密文以及签名数据。In the process of encrypting the subkey of the target key, for each subkey, the subkey is first encrypted by the encryption key to obtain the subkey ciphertext, and the subkey ciphertext is signed according to the encryption key, and the signed subkey ciphertext is used as the subkey ciphertext data corresponding to the subkey. That is to say, each subkey ciphertext data contains the corresponding subkey ciphertext and signature data.

因此,在从存储设备中查找出目标密钥对应的子密钥密文数据后,可以从查找出的子密钥密文数据中提取出签名数据。Therefore, after finding out the subkey ciphertext data corresponding to the target key from the storage device, the signature data can be extracted from the found subkey ciphertext data.

步骤S830,根据查找出的子密钥密文数据所对应的解密密钥对提取出的签名数据进行验证。Step S830, verifying the extracted signature data according to the decryption key corresponding to the found subkey ciphertext data.

由于签名数据是根据子密钥密文数据对应的加密密钥生成的,因此,可以根据该子密钥密文数据对应的解密密钥对从该子密钥密文数据中提取出的签名数据进行验证,若验证失败,则表明存储设备中存储的目标密钥的子密钥密文数据出现错误;若验证成功,则表明存储设备中存储的目标密钥的子密钥密文数据是正确的。Since the signature data is generated based on the encryption key corresponding to the subkey ciphertext data, the signature data extracted from the subkey ciphertext data can be verified based on the decryption key corresponding to the subkey ciphertext data. If the verification fails, it indicates that an error occurs in the subkey ciphertext data of the target key stored in the storage device; if the verification succeeds, it indicates that the subkey ciphertext data of the target key stored in the storage device is correct.

可选的,在对目标密钥的子密钥进行加密的过程中,可以采用对称加密算法和非对称加密算法。若采用对称加密算法,则子密钥密文数据对应的加密密钥与解密密钥相同;若采用非对称加密算法,则子密钥密文数据对应的加密密钥与解密密钥不同,加密密钥和解密密钥是一对密钥对,在一个示例中,加密密钥可以是密钥对中的公钥,解密密钥可以是密钥对中的私钥,即,采用密钥对中的公钥对目标密钥的子密钥进行加密,并采用密钥对中的公钥对子密钥密文数据进行签名,在验证过程中,采用密钥对中的私钥对签名数据进行验证;或者,在另一示例中,加密密钥可以是密钥对中的私钥,解密密钥可以是密钥对中的公钥,即,采用密钥对中的私钥对目标密钥的子密钥进行加密,并采用密钥对中的私钥对子密钥密文数据进行签名,在验证过程中,采用密钥对中的公钥对签名数据进行验证。Optionally, in the process of encrypting the subkey of the target key, a symmetric encryption algorithm and an asymmetric encryption algorithm may be used. If a symmetric encryption algorithm is used, the encryption key corresponding to the subkey ciphertext data is the same as the decryption key; if an asymmetric encryption algorithm is used, the encryption key corresponding to the subkey ciphertext data is different from the decryption key, and the encryption key and the decryption key are a pair of key pairs. In one example, the encryption key may be a public key in the key pair, and the decryption key may be a private key in the key pair, that is, the subkey of the target key is encrypted using the public key in the key pair, and the subkey ciphertext data is signed using the public key in the key pair. During the verification process, the signature data is verified using the private key in the key pair; or, in another example, the encryption key may be a private key in the key pair, and the decryption key may be a public key in the key pair, that is, the subkey of the target key is encrypted using the private key in the key pair, and the subkey ciphertext data is signed using the private key in the key pair. During the verification process, the signature data is verified using the public key in the key pair.

需要说明的是,图8所示的步骤S410-步骤S420、步骤S440的具体实现细节可以参照图4所示的步骤S410-步骤S420、步骤S440,此处不再赘述。It should be noted that the specific implementation details of steps S410 to S420 and step S440 shown in FIG. 8 can refer to steps S410 to S420 and step S440 shown in FIG. 4 , and will not be repeated here.

在图8所示的实施例中,在每个子密钥密文数据中包含根据每个子密钥密文数据对应的加密密钥生成的签名数据的条件下,根据子密钥密文数据对应的解密密钥对存储设备中存储的子密钥密文数据所包含的签名数据进行验证,不仅能够确保存储设备中存储的子密钥密文数据是正确的,根据存储设备中存储的子密钥密文数据能够还原出目标密钥,提升数据安全性,还降低了验证复杂度。In the embodiment shown in FIG. 8 , under the condition that each subkey ciphertext data includes signature data generated according to the encryption key corresponding to each subkey ciphertext data, the signature data included in the subkey ciphertext data stored in the storage device is verified according to the decryption key corresponding to the subkey ciphertext data. This not only ensures that the subkey ciphertext data stored in the storage device is correct, but also can restore the target key based on the subkey ciphertext data stored in the storage device, thereby improving data security and reducing verification complexity.

参见图9,图9是本申请的一示例性实施例示出的一种数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。See Figure 9, which is a flow chart of a data processing method shown in an exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Figure 3, and can be executed by the data processing device 310 in the implementation environment shown in Figure 3.

如图9所示,在每个子密钥密文数据中包含子密钥密文以及子密钥密文对应的散列值的条件下,数据处理方法可以包括:步骤S410-步骤S420、步骤S910-步骤S940,以及步骤S440,详细介绍如下:As shown in FIG9 , under the condition that each subkey ciphertext data contains a subkey ciphertext and a hash value corresponding to the subkey ciphertext, the data processing method may include: steps S410 to S420, steps S910 to S940, and step S440, which are described in detail as follows:

步骤S910,从不同的存储设备中查找目标密钥对应的子密钥密文数据。Step S910, searching for subkey ciphertext data corresponding to the target key from different storage devices.

为了对存储设备中存储的目标密钥对应的子密钥密文数据进行验证,可以先从存储设备中查找目标密钥对应的子密钥密文数据。In order to verify the subkey ciphertext data corresponding to the target key stored in the storage device, the subkey ciphertext data corresponding to the target key may be first searched from the storage device.

步骤S920,从查找出的子密钥密文数据中提取子密钥密文以及散列值,并对提取出的子密钥密文进行哈希运算。Step S920: extract the subkey ciphertext and the hash value from the found subkey ciphertext data, and perform a hash operation on the extracted subkey ciphertext.

需要说明的是,在对目标密钥的子密钥进行加密的过程中,针对每个子密钥,先通过加密密钥对该子密钥进行加密,得到子密钥密文,并对子密钥密文进行哈希运算得到子密钥密文的散列值(即,哈希值),并将子密钥密文以及对应的散列值添加至该子密钥对应的子密钥密文数据,也就是说,每个子密钥密文数据中包含对应的子密钥密文以及子密钥密文的散列值。It should be noted that in the process of encrypting the subkey of the target key, for each subkey, the subkey is first encrypted by the encryption key to obtain the subkey ciphertext, and the subkey ciphertext is hashed to obtain the hash value of the subkey ciphertext (i.e., hash value), and the subkey ciphertext and the corresponding hash value are added to the subkey ciphertext data corresponding to the subkey, that is, each subkey ciphertext data contains the corresponding subkey ciphertext and the hash value of the subkey ciphertext.

因此,在从存储设备中查找出目标密钥对应的子密钥密文数据后,可以从查找出的子密钥密文数据中提取出子密钥密文以及子密钥密文对应的散列值,然后,对提取到的子密钥密文进行哈希运算,得到提取到的子密钥密文对应的散列值。Therefore, after finding the subkey ciphertext data corresponding to the target key from the storage device, the subkey ciphertext and the hash value corresponding to the subkey ciphertext can be extracted from the found subkey ciphertext data, and then, a hash operation is performed on the extracted subkey ciphertext to obtain the hash value corresponding to the extracted subkey ciphertext.

S930,将哈希运算得到的散列值与提取出的散列值进行比较。S930: Compare the hash value obtained by the hash operation with the extracted hash value.

为了验证存储设备中存储的目标密钥对应的子密钥密文数据是否被篡改,在从存储设备中查找出目标密钥对应的子密钥密文数据后,可以将从该子密钥密文数据中提取出的散列值与对该子密钥密文数据中的子密钥密文进行哈希运算得到的散列值进行比较。In order to verify whether the subkey ciphertext data corresponding to the target key stored in the storage device has been tampered with, after finding the subkey ciphertext data corresponding to the target key from the storage device, the hash value extracted from the subkey ciphertext data can be compared with the hash value obtained by performing a hash operation on the subkey ciphertext in the subkey ciphertext data.

S940,若比较结果指示哈希运算得到的散列值与提取出的散列值相匹配,则确定对查找出的子密钥密文数据验证成功。S940: If the comparison result indicates that the hash value obtained by the hash operation matches the extracted hash value, it is determined that the verification of the found subkey ciphertext data is successful.

若比较结果指示哈希运算得到的散列值与提取出的散列值相匹配,则表明存储设备中存储的目标密钥的子密钥密文数据未被篡改,因此,确定对存储设备中存储的目标密钥的子密钥密文数据验证成功;若二者不匹配,则表明存储设备中存储的目标密钥的子密钥密文数据被篡改,因此,确定对存储设备中存储的目标密钥的子密钥密文数据验证失败。If the comparison result indicates that the hash value obtained by the hash operation matches the extracted hash value, it means that the subkey ciphertext data of the target key stored in the storage device has not been tampered with, and therefore, it is determined that the verification of the subkey ciphertext data of the target key stored in the storage device is successful; if the two do not match, it means that the subkey ciphertext data of the target key stored in the storage device has been tampered with, and therefore, it is determined that the verification of the subkey ciphertext data of the target key stored in the storage device has failed.

可选的,在其他实施例中,在对目标密钥的子密钥进行加密的过程中,针对每个子密钥,对该子密钥密文进行哈希运算得到散列值后,可以将得到的散列值存储至指定存储区域;在对存储设备中存储的子密钥密文数据进行验证的过程中,从存储设备中查找出目标密钥的子密钥密文数据后,将查找出子密钥密文数据中包含的子密钥密文对应的散列值与指定存储区域中包含的该子密钥密文对应的散列值进行比较,若二者匹配,则表明存储设备中存储的目标密钥的子密钥密文数据未被篡改,因此,确定对存储设备中存储的目标密钥的子密钥密文数据验证成功;若二者不匹配,则表明存储设备中存储的目标密钥的子密钥密文数据被篡改,因此,确定对存储设备中存储的目标密钥的子密钥密文数据验证失败。Optionally, in other embodiments, in the process of encrypting the subkeys of the target key, for each subkey, after performing a hash operation on the subkey ciphertext to obtain a hash value, the obtained hash value can be stored in a designated storage area; in the process of verifying the subkey ciphertext data stored in the storage device, after finding the subkey ciphertext data of the target key from the storage device, the hash value corresponding to the subkey ciphertext contained in the found subkey ciphertext data is compared with the hash value corresponding to the subkey ciphertext contained in the designated storage area; if the two match, it indicates that the subkey ciphertext data of the target key stored in the storage device has not been tampered with, and therefore, it is determined that the verification of the subkey ciphertext data of the target key stored in the storage device is successful; if the two do not match, it indicates that the subkey ciphertext data of the target key stored in the storage device has been tampered with, and therefore, it is determined that the verification of the subkey ciphertext data of the target key stored in the storage device has failed.

需要说明的是,图9所示的步骤S410-步骤S420、步骤S440的具体实现细节可以参照图4所示的步骤S410-步骤S420、步骤S440,此处不再赘述。It should be noted that the specific implementation details of steps S410-S420 and step S440 shown in FIG. 9 can refer to steps S410-S420 and step S440 shown in FIG. 4 , and will not be repeated here.

在图9所示的实施例中,在每个子密钥密文数据中包含子密钥密文以及子密钥密文对应的散列值的条件下,将存储设备包含的子密钥密文数据中的散列值与对该子密钥密文数据中的子密钥密文进行哈希运算得到的散列值进行比较,从而根据比较结果验证存储设备中存储的子密钥密文数据是否被篡改,不仅能够确保存储设备中存储的子密钥密文数据是正确的,根据存储设备中存储的子密钥密文数据能够还原出目标密钥,提升数据安全性,还可以避免子密钥泄露。In the embodiment shown in FIG. 9 , under the condition that each subkey ciphertext data contains a subkey ciphertext and a hash value corresponding to the subkey ciphertext, the hash value in the subkey ciphertext data contained in the storage device is compared with the hash value obtained by performing a hash operation on the subkey ciphertext in the subkey ciphertext data, thereby verifying whether the subkey ciphertext data stored in the storage device has been tampered with based on the comparison result. This not only ensures that the subkey ciphertext data stored in the storage device is correct, but also can restore the target key based on the subkey ciphertext data stored in the storage device, thereby improving data security and preventing subkey leakage.

在一示例性实施例中,参见图10,图10是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 10, Fig. 10 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图10所示,数据处理方法可以包括:步骤S410-步骤S440,以及步骤S1010-步骤S1040,其中,步骤S1010-步骤S1040的详细介绍如下:As shown in FIG. 10 , the data processing method may include: steps S410 to S440, and steps S1010 to S1040, wherein steps S1010 to S1040 are described in detail as follows:

步骤S1010,获取多个子密钥密文数据在不同的存储设备中的存储时长。Step S1010, obtaining storage durations of multiple subkey ciphertext data in different storage devices.

将目标密钥的多个子密钥密文数据存储至不同的存储设备后,可以对该子密钥密文数据的存储时长进行检测。After storing multiple subkey ciphertext data of the target key in different storage devices, the storage duration of the subkey ciphertext data can be detected.

步骤S1020,若存储时长超过设定时长阈值,则从不同的存储设备中删除目标密钥对应的子密钥密文数据,并重新根据目标密钥进行秘密共享,以生成多个新的子密钥。Step S1020: If the storage time exceeds the set time threshold, the subkey ciphertext data corresponding to the target key is deleted from different storage devices, and secret sharing is performed again based on the target key to generate multiple new subkeys.

其中,子密钥密文数据的存储时长与子密钥密文数据被泄露的风险正相关,因此,为了降低子密钥密文数据被泄露后的概率,若检测到子密钥密文数据的存储时长超过设定时长阈值,则可以对目标密钥的备份数据进行更新,在更新过程中,从存储设备中删除目标密钥对应的子密钥密文数据,并重新根据目标密钥进行秘密共享,以生成多个新的子密钥。Among them, the storage duration of the subkey ciphertext data is positively correlated with the risk of the subkey ciphertext data being leaked. Therefore, in order to reduce the probability of the subkey ciphertext data being leaked, if it is detected that the storage duration of the subkey ciphertext data exceeds the set duration threshold, the backup data of the target key can be updated. During the update process, the subkey ciphertext data corresponding to the target key is deleted from the storage device, and secret sharing is performed again based on the target key to generate multiple new subkeys.

其中,设定时长阈值可以根据实际需要灵活设置,例如,可以设置为10分钟、20分钟等。The duration threshold may be flexibly set according to actual needs, for example, it may be set to 10 minutes, 20 minutes, etc.

步骤S1030,对多个新的子密钥分别进行加密,得到多个新的子密钥密文数据。Step S1030, encrypting the multiple new subkeys respectively to obtain multiple new subkey ciphertext data.

在生成目标密钥对应的多个新的子密钥后,对多个新的子密钥分别进行加密,得到多个新的子密钥密文数据。其中,具体的处理方式与前述步骤S420类似,此处不再赘述。After generating multiple new subkeys corresponding to the target key, the multiple new subkeys are encrypted respectively to obtain multiple new subkey ciphertext data. The specific processing method is similar to the above step S420 and will not be repeated here.

步骤S1040,将多个新的子密钥密文数据存储在不同的存储设备中。Step S1040: storing multiple new subkey ciphertext data in different storage devices.

在得到多个新的子密钥密文数据后,可以将多个新的子密钥密文数据存储至不同的存储设备中。After obtaining the multiple new subkey ciphertext data, the multiple new subkey ciphertext data may be stored in different storage devices.

可选的,为了确保新的子密钥密文数据成功存储至存储设备中,可以从存储设备中查找目标密钥对应的新的子密钥密文数据,并对查找出的新的子密钥密文数据进行验证,在验证成功后,确定目标密钥备份完成。Optionally, in order to ensure that the new subkey ciphertext data is successfully stored in the storage device, the new subkey ciphertext data corresponding to the target key can be searched from the storage device, and the found new subkey ciphertext data can be verified. After the verification is successful, it is determined that the target key backup is completed.

为了保证始终存在目标密钥的备份数据,可以在新的子密钥密文数据成功存储至存储设备后,再将前一次备份过程中存储设备存储的目标密钥对应的子密钥密文数据删除。In order to ensure that backup data of the target key always exists, after the new subkey ciphertext data is successfully stored in the storage device, the subkey ciphertext data corresponding to the target key stored in the storage device during the previous backup process can be deleted.

需要说明的是,图10所示的步骤S410-步骤S440的具体实现细节可以参照图4所示的步骤S410-步骤S440,此处不再赘述。It should be noted that the specific implementation details of steps S410 to S440 shown in FIG. 10 may refer to steps S410 to S440 shown in FIG. 4 , and will not be described in detail here.

在图10所示的实施例中,每隔设定时长阈值,对目标密钥的备份数据进行更新,从而提升了密钥备份的安全性。In the embodiment shown in FIG. 10 , the backup data of the target key is updated at set time thresholds, thereby improving the security of key backup.

在一示例性实施例中,参见图11,图11是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 11, Fig. 11 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图11所示,数据处理方法可以包括:步骤S1110-步骤S1120,以及步骤S420-步骤S440,其中,步骤S1110-步骤S1120的详细介绍如下:As shown in FIG. 11 , the data processing method may include: steps S1110 to S1120, and steps S420 to S440, wherein steps S1110 to S1120 are described in detail as follows:

步骤S1110,生成随机数,并在目标密钥中添加随机数。Step S1110, generate a random number and add the random number to the target key.

为了进一步提升密钥备份的抗攻击能力,在对目标密钥进行备份的过程中,可以先生成随机数,并将随机数添加至目标密钥中。In order to further enhance the anti-attack capability of key backup, during the process of backing up the target key, a random number may be generated and added to the target key.

其中,在目标密钥中添加随机数的具体方式可以根据实际需要灵活设置。在一可选的示例中,可以将随机数插入目标密钥对应的字符序列的指定位置,该指定位置可以是序列的头部、尾部、中间位置,例如,假设目标密钥是234567,随机数是111,则可以将随机数插入目标密钥的头部,得到111234567,或者,可以将随机数插入目标密钥的尾部,得到234567111,或者,也可以将随机数插入目标密钥的中间位置,得到234111567;在另一示例中,可以采用设定运算方式对随机数和目标密钥进行运算,将得到的值作为添加随机数后的目标密钥,其中,设定运算包括但不限于相加运算、相乘运算等,例如,假设目标密钥是19,随机数是10,若设定运算方式是相加运算,则得到添加随机数后的目标密钥为29。Among them, the specific method of adding random numbers to the target key can be flexibly set according to actual needs. In an optional example, the random number can be inserted into a specified position of the character sequence corresponding to the target key, and the specified position can be the head, tail, or middle position of the sequence. For example, assuming that the target key is 234567 and the random number is 111, the random number can be inserted into the head of the target key to obtain 111234567, or the random number can be inserted into the tail of the target key to obtain 234567111, or the random number can be inserted into the middle position of the target key to obtain 234111567; in another example, the random number and the target key can be operated by a set operation method, and the obtained value is used as the target key after adding the random number, wherein the set operation includes but is not limited to addition operation, multiplication operation, etc. For example, assuming that the target key is 19 and the random number is 10, if the set operation method is addition operation, the target key after adding the random number is 29.

步骤S1120,根据添加随机数后的目标密钥进行密钥共享,以生成多个子密钥。Step S1120, key sharing is performed according to the target key after adding the random number to generate multiple subkeys.

在目标密钥中添加随机数后,可以根据添加随机数后的目标密钥进行密钥共享,以生成多个子密钥。After a random number is added to the target key, key sharing can be performed based on the target key to which the random number is added to generate multiple subkeys.

需要说明的是,图11所示的步骤S420-步骤S440的具体实现细节可以参照图4所示的步骤S420-步骤S440,此处不再赘述。It should be noted that the specific implementation details of steps S420 to S440 shown in FIG. 11 can refer to steps S420 to S440 shown in FIG. 4 , which will not be repeated here.

在图11所示的实施例中,先在目标密钥中添加随机数,再根据添加随机数后的目标密钥进行密钥共享,以生成多个子密钥,从而使得攻击者在根据目标密钥的备份数据还原出目标密钥的过程中,不仅需要获取目标密钥对应的子密钥的密文数据以及该密文数据对应的解密密钥,还需要获取目标密钥中添加的随机数,从而进一步提升了攻击难度,提升了密钥备份的抗攻击能力以及密钥备份的安全性。In the embodiment shown in FIG11 , a random number is first added to the target key, and then key sharing is performed based on the target key with the added random number to generate multiple sub-keys. As a result, when an attacker is restoring the target key based on the backup data of the target key, he not only needs to obtain the ciphertext data of the sub-key corresponding to the target key and the decryption key corresponding to the ciphertext data, but also needs to obtain the random number added in the target key, thereby further increasing the difficulty of the attack, and improving the anti-attack capability of the key backup and the security of the key backup.

在一示例性实施例中,参见图12,图12是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 12, Fig. 12 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图12所示,数据处理方法可以包括:步骤S410,步骤S1210-步骤S1230,以及步骤S430-步骤S440,其中,步骤S1210-步骤S1230的详细介绍如下:As shown in FIG. 12 , the data processing method may include: step S410, step S1210 to step S1230, and step S430 to step S440, wherein steps S1210 to step S1230 are described in detail as follows:

步骤S1210,对多个子密钥分别进行加密,得到多个子密钥密文数据。Step S1210, encrypt multiple subkeys respectively to obtain multiple subkey ciphertext data.

在得到目标密钥对应的多个子密钥后,可以对多个子密钥分别进行加密,得到多个子密钥密文数据。After obtaining multiple subkeys corresponding to the target key, the multiple subkeys can be encrypted separately to obtain multiple subkey ciphertext data.

步骤S1220,生成干扰数据,并将干扰数据添加至密文数据集合中;其中,密文数据集合中包含多个子密钥密文数据。Step S1220, generating interference data, and adding the interference data to the ciphertext data set; wherein the ciphertext data set includes a plurality of subkey ciphertext data.

在对目标密钥对应的多个子密钥分别进行加密后,得到密文数据集合,其中,密文数据集合中包含多个子密钥密文数据。After encrypting the multiple subkeys corresponding to the target key respectively, a ciphertext data set is obtained, wherein the ciphertext data set includes multiple subkey ciphertext data.

为了进一步提升密钥备份的抗攻击能力,可以生成干扰数据,并将干扰数据添加至密文数据集合,例如,假设目标密钥对应的密文数据集合中包含11、14、18,则可以在密文数据中添加干扰数据1000,得到的密文数据集合中包含11、14、18、1000。In order to further improve the anti-attack capability of key backup, interference data can be generated and added to the ciphertext data set. For example, assuming that the ciphertext data set corresponding to the target key contains 11, 14, and 18, the interference data 1000 can be added to the ciphertext data, and the resulting ciphertext data set contains 11, 14, 18, and 1000.

步骤S1230,将密文数据集合中包含的多个子密钥密文数据以及干扰数据存储至不同的存储设备中。Step S1230: storing the plurality of subkey ciphertext data and interference data contained in the ciphertext data set in different storage devices.

在得到包含干扰数据的密文数据集合后,将密文数据集合中包含的数据存储至不同的存储设备中,这样,攻击者若需根据备份数据还原出目标密钥,不仅需要攻击多个存储设备以获取备份数据,还需从获得的备份数据中筛选出干扰数据,从而进一步提升了密钥备份的抗攻击能力。After obtaining the ciphertext data set containing the interference data, the data contained in the ciphertext data set is stored in different storage devices. In this way, if the attacker needs to restore the target key based on the backup data, he not only needs to attack multiple storage devices to obtain the backup data, but also needs to filter out the interference data from the obtained backup data, thereby further improving the key backup's anti-attack capability.

需要说明的是,图12所示的步骤S410、步骤S430-步骤S440的具体实现细节可以参照图4所示的步骤S410、步骤S430-步骤S440,此处不再赘述,此处不再赘述。It should be noted that the specific implementation details of step S410 and step S430-step S440 shown in Figure 12 can refer to step S410 and step S430-step S440 shown in Figure 4, and will not be repeated here.

在图12所示的实施例中,通过生成干扰数据,并将干扰数据添加至密文数据集合中,其中,密文数据集合中包含多个子密钥密文数据;再将密文数据集合中包含的多个子密钥密文数据以及干扰数据存储至不同的存储设备中,从而提升了密钥备份的抗攻击能力以及密钥备份的安全性。In the embodiment shown in FIG12 , interference data is generated and added to a ciphertext data set, wherein the ciphertext data set includes a plurality of subkey ciphertext data; and the plurality of subkey ciphertext data and the interference data included in the ciphertext data set are stored in different storage devices, thereby improving the anti-attack capability and security of the key backup.

在一示例性实施例中,参见图13,图13是本申请的一示例性实施例示出的一种数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 13, Fig. 13 is a flow chart of a data processing method shown in an exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图13所示,数据处理方法可以包括:步骤S410-步骤S440,以及步骤S1310-步骤S1320,其中,步骤S1310-步骤S1320的详细介绍如下:As shown in FIG. 13 , the data processing method may include: steps S410 to S440, and steps S1310 to S1320, wherein steps S1310 to S1320 are described in detail as follows:

步骤S1310,获取每个子密钥密文数据所对应的解密密钥。Step S1310, obtaining the decryption key corresponding to each subkey ciphertext data.

为了进一步提升密钥备份的抗攻击能力,可以获取目标密钥的每个子密钥密文数据所对应的解密密钥。In order to further enhance the anti-attack capability of key backup, the decryption key corresponding to each subkey ciphertext data of the target key can be obtained.

步骤S1320,将解密密钥存储至可信执行环境或未接入网络的存储装置中。Step S1320: store the decryption key in a trusted execution environment or a storage device that is not connected to the network.

在获取到解密密钥后,可以将解密密钥存储至可信执行环境,其中,可信执行环境(Trusted execution environment,TEE)基于硬件安全的CPU实现了基于内存隔离的安全计算,可在保证计算效率的前提下完成隐私保护的计算,从而基于可信执行环境的安全性,提升解密密钥的安全性,进而提升备份数据的安全性。After obtaining the decryption key, the decryption key can be stored in a trusted execution environment. The trusted execution environment (TEE) implements secure computing based on memory isolation based on a hardware-secure CPU, and can complete privacy-protected computing while ensuring computing efficiency. Based on the security of the trusted execution environment, the security of the decryption key is improved, thereby improving the security of the backup data.

或者,在获取到解密密钥后,可以将解密密钥存储至未接入网络的存储设备(即,没有联网的存储设备),也就是说,将解密密钥进行冷存储,从而通过网络的隔离,提升解密密钥的安全性。Alternatively, after obtaining the decryption key, the decryption key can be stored in a storage device that is not connected to the network (i.e., a storage device that is not connected to the network), that is, the decryption key is cold stored, thereby improving the security of the decryption key through network isolation.

可选的,在解密密钥存储至可信执行环境或未接入网络的存储装置的条件下,在还原目标密钥的过程中,从存储设备获取目标密钥的子密钥密文数据后,可以在可信执行环境或该未接入网络的存储装置中通过其存储的解密密钥对子密钥密文数据进行解密,然后,基于解密得到的子密钥明文还原出目标密钥,从而使得解密密钥只存在于可信执行环境或未接入网络的存储装置,降低解密密钥泄露的风险。Optionally, under the condition that the decryption key is stored in a trusted execution environment or a storage device that is not connected to the network, in the process of restoring the target key, after obtaining the subkey ciphertext data of the target key from the storage device, the subkey ciphertext data can be decrypted in the trusted execution environment or the storage device that is not connected to the network by using the decryption key stored therein, and then, the target key is restored based on the decrypted subkey plaintext, so that the decryption key only exists in the trusted execution environment or the storage device that is not connected to the network, thereby reducing the risk of decryption key leakage.

需要说明的是,图13所示的步骤S410-步骤S440的具体实现细节可以参照图4所示的步骤S410-步骤S440,此处不再赘述,此处不再赘述。It should be noted that the specific implementation details of steps S410 to S440 shown in FIG. 13 can refer to steps S410 to S440 shown in FIG. 4 , which will not be repeated here.

在图13所示的实施例中,通过将目标密钥的子密钥密文数据所对应的解密密钥存储至可信执行环境或未接入网络的存储装置中,从而提升解密密钥的安全性,进而提升密钥备份的安全性。In the embodiment shown in FIG. 13 , the decryption key corresponding to the subkey ciphertext data of the target key is stored in a trusted execution environment or a storage device not connected to the network, thereby improving the security of the decryption key and further improving the security of the key backup.

在一示例性实施例中,参见图14,图14是本申请的另一示例性实施例示出的数据处理方法的流程图。该方法可以应用于图3所示的实施环境,其可以由图3所示的实施环境中的数据处理设备310执行。In an exemplary embodiment, referring to Fig. 14, Fig. 14 is a flow chart of a data processing method shown in another exemplary embodiment of the present application. The method can be applied to the implementation environment shown in Fig. 3, and can be executed by the data processing device 310 in the implementation environment shown in Fig. 3.

如图14所示,数据处理方法可以包括:步骤S410-S440,以及步骤S1410-步骤S1420,其中,步骤S1410-步骤S1420的详细介绍如下:As shown in FIG. 14 , the data processing method may include: steps S410 to S440, and steps S1410 to S1420, wherein steps S1410 to S1420 are described in detail as follows:

步骤S1410,获取每个子密钥密文数据所对应的解密密钥,并根据解密密钥进行秘密共享,以生成多个子密钥。Step S1410, obtaining the decryption key corresponding to each subkey ciphertext data, and performing secret sharing based on the decryption key to generate multiple subkeys.

为了进一步提升密钥备份的抗攻击能力,可以先获取目标密钥的子密钥密文数据所对应的解密密钥,并根据解密密钥进行秘密共享,以生成解密密钥对应的多个子密钥。其中,根据解密密钥进行秘密共享,以生成多个子密钥的具体方式与前述步骤S410类似,此处不再赘述。In order to further improve the anti-attack capability of key backup, the decryption key corresponding to the subkey ciphertext data of the target key can be first obtained, and secret sharing is performed based on the decryption key to generate multiple subkeys corresponding to the decryption key. The specific method of performing secret sharing based on the decryption key to generate multiple subkeys is similar to the aforementioned step S410, which will not be repeated here.

步骤S1420,将解密密钥对应的多个子密钥存储至不同的存储设备中。Step S1420: Store multiple subkeys corresponding to the decryption key in different storage devices.

在得到解密密钥对应的多个子密钥后,可以将解密密钥对应的多个子密钥存储至不同的存储设备中,这样,攻击者若需根据备份数据还原出目标密钥,不仅需要攻击多个存储设备以获得目标密钥对应的多个子密钥密文数据,还需要攻击多个存储设备以获取子密钥密文数据对应解密密钥的子密钥,以还原出解密密钥,从而进一步提升了密钥备份的抗攻击能力。After obtaining multiple subkeys corresponding to the decryption key, the multiple subkeys corresponding to the decryption key can be stored in different storage devices. In this way, if an attacker needs to restore the target key based on the backup data, he not only needs to attack multiple storage devices to obtain the multiple subkey ciphertext data corresponding to the target key, but also needs to attack multiple storage devices to obtain the subkeys of the decryption key corresponding to the subkey ciphertext data to restore the decryption key, thereby further improving the key backup's anti-attack capability.

可选的,还可以对解密密钥对应的多个子密钥分别进行加密得到解密密钥的多个子密钥各自对应的密文数据后,将解密密钥的多个子密钥各自对应的密文数据存储至不同的存储设备中。Optionally, after encrypting the multiple subkeys corresponding to the decryption key to obtain the ciphertext data corresponding to the multiple subkeys of the decryption key, the ciphertext data corresponding to the multiple subkeys of the decryption key are stored in different storage devices.

需要说明的是,图14所示的步骤S410-步骤S440的具体实现细节可以参照图4所示的步骤S410-步骤S440,此处不再赘述,此处不再赘述。It should be noted that the specific implementation details of steps S410 to S440 shown in FIG. 14 can refer to steps S410 to S440 shown in FIG. 4 , which will not be repeated here.

在图14所示的实施例中,通过将目标密钥的子密钥密文数据所对应的解密密钥进行秘密共享生成多个子密钥后,将解密密钥对应的多个子密钥存储至不同的存储设备中,从而提升解密密钥的安全性,进而提升密钥备份的安全性。In the embodiment shown in FIG. 14 , after a plurality of sub-keys are generated by secretly sharing the decryption key corresponding to the sub-key ciphertext data of the target key, the plurality of sub-keys corresponding to the decryption key are stored in different storage devices, thereby improving the security of the decryption key and further improving the security of the key backup.

在一示例性实施例中,数据处理方法包括密钥备份过程和密钥还原过程,其中,参见图15,图15是本申请的一示例性实施例示出的密钥备份过程的流程图。如图15所示,密钥备份过程包括步骤S1501-步骤S1508,详细介绍如下:In an exemplary embodiment, the data processing method includes a key backup process and a key restoration process, wherein, referring to FIG. 15 , FIG. 15 is a flowchart of a key backup process shown in an exemplary embodiment of the present application. As shown in FIG. 15 , the key backup process includes steps S1501 to S1508, which are described in detail as follows:

步骤S1501,在密钥管理模块生成密钥对后,启动密钥备份任务。Step S1501, after the key management module generates a key pair, the key backup task is started.

需要说明的是,密钥管理模块用于管理密钥,其包括但不限于生成密钥对。其中,密钥管理模块中包含的密钥对中的私钥可以用来签名交易,从而证明拥有交易的输出权。可选的,密钥管理模块可以部署在区块链网络中。It should be noted that the key management module is used to manage keys, including but not limited to generating key pairs. Among them, the private key in the key pair contained in the key management module can be used to sign transactions, thereby proving the output right of the transaction. Optionally, the key management module can be deployed in the blockchain network.

密钥管理模块在生成密钥对后,可以启动密钥备份任务,以对生成的密钥对进行备份。After generating a key pair, the key management module can start a key backup task to back up the generated key pair.

步骤S1502,将生成的密钥对中的私钥作为目标密钥,并通过秘密分享算法对目标密钥进行分割,得到目标密钥对应的多个子密钥。Step S1502: Use the private key in the generated key pair as the target key, and divide the target key through a secret sharing algorithm to obtain multiple subkeys corresponding to the target key.

启动密钥备份任务后,在密钥备份任务的执行过程中,将生成的密钥对中的私钥作为待备份的目标密钥,并通过秘密分享算法对目标密钥进行分割,得到目标密钥对应的多个子密钥。After the key backup task is started, during the execution of the key backup task, the private key in the generated key pair is used as the target key to be backed up, and the target key is split through a secret sharing algorithm to obtain multiple sub-keys corresponding to the target key.

可选的,可以采用shamir秘密分享算法。Optionally, the Shamir secret sharing algorithm may be used.

步骤S1503,生成加密密钥对,并基于加密密钥对中的公钥对目标密钥对应的多个子密钥分别进行加密,得到每个子密钥对应的子密钥密文。Step S1503: Generate an encryption key pair, and encrypt multiple subkeys corresponding to the target key based on the public key in the encryption key pair to obtain a subkey ciphertext corresponding to each subkey.

可选的,可以采用sm2算法生成加密密钥对。采用加密密钥对中的公钥对目标密钥对应的多个子密钥分别进行加密,得到每个子密钥对应的子密钥密文,从而得到多个子密钥密文。Optionally, an encryption key pair may be generated using the SM2 algorithm, and the public key in the encryption key pair is used to encrypt multiple subkeys corresponding to the target key to obtain a subkey ciphertext corresponding to each subkey, thereby obtaining multiple subkey ciphertexts.

步骤S1504,基于加密密钥对中的公钥对每个子密钥密文进行签名。Step S1504: Sign each subkey ciphertext based on the public key in the encryption key pair.

可选的,可以采用加密密钥对中的公钥对每个子密钥密文进行签名,得到每个子密钥密文对应的签名数据。Optionally, each subkey ciphertext may be signed using the public key in the encryption key pair to obtain signature data corresponding to each subkey ciphertext.

步骤S1505,对每个子密钥密文进行哈希运算得到每个子密钥密文对应的散列值,并存储每个子密钥密文对应的散列值。Step S1505, performing a hash operation on each subkey ciphertext to obtain a hash value corresponding to each subkey ciphertext, and storing the hash value corresponding to each subkey ciphertext.

密钥管理模块在对每个子密钥的密文数据进行哈希运算得到每个子密钥的密文数据对应的散列值后,可以在指定存储区域存储每个子密钥的密文数据对应的散列值。After performing a hash operation on the ciphertext data of each subkey to obtain a hash value corresponding to the ciphertext data of each subkey, the key management module may store the hash value corresponding to the ciphertext data of each subkey in a designated storage area.

步骤S1506,将目标密钥的多个子密钥密文数据存储至不同的存储设备中,并将加密密钥对中的私钥进行冷存储;每个子密钥密文数据包含目标密钥对应的一个子密钥密文以及该子密钥密文对应的散列值。Step S1506, storing multiple subkey ciphertext data of the target key in different storage devices, and cold storing the private key in the encryption key pair; each subkey ciphertext data includes a subkey ciphertext corresponding to the target key and a hash value corresponding to the subkey ciphertext.

可选的,针对目标密钥的每个子密钥,将子密钥密文以及散列值作为该子密钥对应的子密钥密文数据,从而得到目标密钥的多个子密钥密文数据,将多个子密钥密文数据存储至不同的存储设备中。其中,为了提升安全性,可以通过安全套接字协议(SecureSockets Layer,SSL)将子密钥密文数据发送至存储设备。Optionally, for each subkey of the target key, the subkey ciphertext and the hash value are used as the subkey ciphertext data corresponding to the subkey, thereby obtaining multiple subkey ciphertext data of the target key, and storing the multiple subkey ciphertext data in different storage devices. In order to improve security, the subkey ciphertext data can be sent to the storage device via the Secure Sockets Layer (SSL).

为了提升安全性,可以将加密密钥对中的私钥进行冷存储,即,将加密密钥对中的私钥存储至未联网的存储设备中,从而保障只有该未联网的存储设备的持有者才能够基于目标密钥的备份数据还原出目标密钥。In order to improve security, the private key in the encryption key pair can be cold stored, that is, the private key in the encryption key pair can be stored in a storage device that is not connected to the Internet, so as to ensure that only the holder of the storage device that is not connected to the Internet can restore the target key based on the backup data of the target key.

需要说明的是,存储设备包括但不限于具备存储功能的云服务器、个人计算机(personal computer,PC)、秘钥系统、资产托管服务方等,例如,在一个示例中,参见图16所示,密钥管理模块采用秘密共享算法对目标密钥进行处理得到子密钥k1、k2、k3后,采用加密密钥对中的公钥分别对k1、k2、k3进行加密得到Enc(k1)、Enc(k2)、Enc(k3),然后,将Enc(k1)、Enc(k2)、Enc(k3)存储至不同的存储设备,将加密密钥对中的私钥进行冷存储,其中,存储设备包括云服务器、个人计算机、秘钥系统、资产托管服务方。It should be noted that storage devices include but are not limited to cloud servers with storage functions, personal computers (PCs), secret key systems, asset custody service providers, etc. For example, in one example, as shown in Figure 16, the key management module uses a secret sharing algorithm to process the target key to obtain subkeys k1, k2, and k3, and then uses the public key in the encryption key pair to encrypt k1, k2, and k3 respectively to obtain Enc(k1), Enc(k2), and Enc(k3). Then, Enc(k1), Enc(k2), and Enc(k3) are stored in different storage devices, and the private key in the encryption key pair is cold stored. Among them, the storage devices include cloud servers, personal computers, secret key systems, and asset custody service providers.

在一可选的实施方式中,密钥管理模块可以将子密钥密文数据存储至部署有密钥托管服务的存储设备中,其中,密钥托管服务用于对接收到的子密钥密文数据进行存储,可选的,密钥托管服务可以提供统一的应用程序编程接口(Application ProgrammingInterface),从而使得密钥管理模块可以通过该统一的应用程序编程接口与存储设备建立连接,便于密钥管理模块与存储设备之间的交互。例如,参见图17所示,存储设备包含部署有密钥托管服务的云服务方,可以将Enc(k1)、Enc(k2)、Enc(k3)存储至不同的云服务方。In an optional implementation, the key management module may store the subkey ciphertext data in a storage device deployed with a key escrow service, wherein the key escrow service is used to store the received subkey ciphertext data. Optionally, the key escrow service may provide a unified application programming interface (Application Programming Interface), so that the key management module may establish a connection with the storage device through the unified application programming interface, facilitating the interaction between the key management module and the storage device. For example, as shown in FIG17 , the storage device includes a cloud service provider deployed with a key escrow service, and Enc(k1), Enc(k2), and Enc(k3) may be stored in different cloud service providers.

在另一可选的实施方式中,不同密钥托管服务方(部署有密钥托管服务的存储设备)所提供的密钥托管方式不同,参见图18所示,在密钥托管服务方1中,是将子密钥密文数据存储至可信执行环境,在密钥托管服务方2中,是将子密钥密文数据存储至密钥系统,当然,还可以通过其它密钥托管方式存储子密钥密文数据。In another optional implementation, different key hosting service providers (storage devices deployed with key hosting services) provide different key hosting methods, as shown in FIG. 18 . In key hosting service provider 1, the subkey ciphertext data is stored in a trusted execution environment, and in key hosting service provider 2, the subkey ciphertext data is stored in a key system. Of course, the subkey ciphertext data may also be stored through other key hosting methods.

步骤S1507,对存储设备中存储的子密钥密文数据进行验证。Step S1507, verifying the subkey ciphertext data stored in the storage device.

可选的,可以基于加密密钥对中的私钥对存储设备中存储的子密钥密文数据的签名进行验证,基于指定存储区域中存储的散列值对存储设备存储的子密钥密文数据中包含的散列值进行验证,在签名与散列值均验证成功后,确定对存储设备中存储的子密钥密文数据验证成功。Optionally, the signature of the subkey ciphertext data stored in the storage device can be verified based on the private key in the encryption key pair, and the hash value contained in the subkey ciphertext data stored in the storage device can be verified based on the hash value stored in the designated storage area. After both the signature and the hash value are successfully verified, it is determined that the verification of the subkey ciphertext data stored in the storage device is successful.

步骤S1508,若验证成功,激活目标密钥。Step S1508: If the verification is successful, activate the target key.

在验证成功后,表明对目标密钥备份成功,因此,可以激活目标密钥,从而基于目标密钥进行签名交易。After the verification is successful, it indicates that the target key is backed up successfully. Therefore, the target key can be activated to perform signature transactions based on the target key.

在对目标密钥备份成功后,若目标密钥丢失,则需要根据备份数据还原出目标密钥,其中,参见图19,图19是本申请的一示例性实施例示出的密钥还原过程的流程图。如图19所示,密钥还原过程包括步骤S1901-步骤S1903,详细介绍如下:After the target key is successfully backed up, if the target key is lost, it is necessary to restore the target key based on the backup data, wherein, see FIG. 19 , FIG. 19 is a flowchart of a key restoration process shown in an exemplary embodiment of the present application. As shown in FIG. 19 , the key restoration process includes steps S1901 to S1903, which are described in detail as follows:

步骤S1901,若目标密钥丢失,从存储设备中获取指定数量个子密钥密文数据。Step S1901: if the target key is lost, obtain a specified number of subkey ciphertext data from the storage device.

由于采用shamir秘密分享算法对目标密钥进行处理得到子密钥,因此,在根据子密钥还原出目标密钥的过程中,只需获取指定数量个子密钥密文数据,其中,指定数量大于等于shamir秘密分享算法对应的门限值。Since the Shamir secret sharing algorithm is used to process the target key to obtain the subkey, in the process of restoring the target key based on the subkey, it is only necessary to obtain a specified number of subkey ciphertext data, where the specified number is greater than or equal to the threshold value corresponding to the Shamir secret sharing algorithm.

步骤S1902,在冷存储对应的存储设备中,基于加密密钥对中的公钥对获取到的子密钥密文数据进行解密,得到指定数量个子密钥明文。Step S1902: In a storage device corresponding to the cold storage, the obtained subkey ciphertext data is decrypted based on the public key in the encryption key pair to obtain a specified number of subkey plaintexts.

由于对加密密钥对中的公钥进行了冷存储中,因此,为了提升安全性,可以在冷存储对应的存储设备中,基于加密密钥对中的公钥对获取到的子密钥密文数据进行解密,得到指定数量个子密钥明文,从而避免子密钥密文数据对应的解密密钥从冷存储对应的存储设备中提取出来,导致泄露的情况。Since the public key in the encryption key pair is stored in cold storage, in order to improve security, the subkey ciphertext data obtained based on the public key in the encryption key pair can be decrypted in the storage device corresponding to the cold storage to obtain a specified number of subkey plaintexts, thereby avoiding the decryption key corresponding to the subkey ciphertext data being extracted from the storage device corresponding to the cold storage, resulting in leakage.

步骤S1903,根据指定数量个子密钥明文还原出目标密钥。Step S1903, restore the target key according to the specified number of subkey plaintexts.

在获取了指定数量个子密钥明文后,可以根据该指定数量个子密钥明文还原出目标密钥。例如,在一个示例中,参见图20所示,在从不同存储设备中获取到子密钥密文数据Enc(k1)、Enc(k2)后,可以将Enc(k1)、Enc(k2)转移至冷存储对应的存储设备中,并在冷存储对应的存储设备中,采用加密密钥对中的公钥对Enc(k1)、Enc(k2)分别进行解密得到子密钥明文k1和k2,并基于k1和k2进行还原。After obtaining a specified number of subkey plaintexts, the target key can be restored based on the specified number of subkey plaintexts. For example, in one example, as shown in FIG20, after obtaining subkey ciphertext data Enc(k1) and Enc(k2) from different storage devices, Enc(k1) and Enc(k2) can be transferred to the storage device corresponding to the cold storage, and in the storage device corresponding to the cold storage, the public key pair Enc(k1) and Enc(k2) in the encryption key pair are used to decrypt the subkey plaintexts k1 and k2, respectively, and restore based on k1 and k2.

在图15和图19所示的密钥备份过程和密钥还原过程中,通过将密钥拆分为多个子密钥,通过备份子密钥的方式实现密钥的安全分布式备份,并且,任何一个存储设备仅有子密钥密文数据,避免了密钥备份的单点安全性问题,并且,通过shamir秘密分享算法对密钥进行拆分,使得只需获取大于或等于shamir秘密分享算法对应门限值的子密钥即可还原密钥,无需获取全部子密钥,从而提升了密钥备份的容灾能力;同时,将存储设备接入密钥管理模块,提升了密钥管理模块的易用性。In the key backup process and key restoration process shown in Figures 15 and 19, the key is split into multiple sub-keys and secure distributed backup of the key is achieved by backing up the sub-keys. In addition, any storage device only has sub-key ciphertext data, which avoids the single-point security problem of key backup. In addition, the key is split through the Shamir secret sharing algorithm, so that the key can be restored by obtaining only sub-keys greater than or equal to the corresponding threshold value of the Shamir secret sharing algorithm, without obtaining all sub-keys, thereby improving the disaster recovery capability of the key backup; at the same time, the storage device is connected to the key management module, which improves the usability of the key management module.

参见图21,图21是本申请的一示例性实施例示出的数据处理装置的框图。如图21所示,该装置包括:Referring to FIG. 21 , FIG. 21 is a block diagram of a data processing device shown in an exemplary embodiment of the present application. As shown in FIG. 21 , the device includes:

生成模块2101,配置为根据待备份的目标密钥进行秘密共享,以生成多个子密钥;A generating module 2101 is configured to perform secret sharing according to a target key to be backed up to generate a plurality of subkeys;

处理模块2102,配置为对多个子密钥分别进行加密,得到多个子密钥密文数据,并将多个子密钥密文数据存储至不同的存储设备中;The processing module 2102 is configured to encrypt the multiple subkeys respectively to obtain multiple subkey ciphertext data, and store the multiple subkey ciphertext data in different storage devices;

验证模块2103,配置为从不同的存储设备中查找目标密钥对应的子密钥密文数据,并对查找出的子密钥密文数据进行验证;Verification module 2103, configured to search for subkey ciphertext data corresponding to the target key from different storage devices, and verify the found subkey ciphertext data;

激活模块2104,配置为若对查找出的子密钥密文数据验证成功,则确定多个子密钥密文数据成功存储至不同的存储设备中,并激活目标密钥,以根据激活后的目标密钥进行加密处理。The activation module 2104 is configured to determine that multiple subkey ciphertext data are successfully stored in different storage devices if the verification of the found subkey ciphertext data is successful, and activate the target key to perform encryption processing according to the activated target key.

在另一示例性实施例中,基于前述方案,生成模块2101具体配置为:根据目标密钥生成多个数字;其中,多个数字的和与目标密钥相匹配;将生成的每个数字作为目标密钥的子密钥。In another exemplary embodiment, based on the aforementioned scheme, the generation module 2101 is specifically configured as follows: generating multiple numbers according to the target key; wherein the sum of the multiple numbers matches the target key; and using each generated number as a subkey of the target key.

在另一示例性实施例中,基于前述方案,生成模块2101具体配置为:根据目标密钥生成多项式;其中,多项式的自变量是指定自变量数值的条件下,多项式的因变量与目标密钥相匹配;获取除指定自变量数值之外的多个其它自变量数值,并根据多项式计算每个其它自变量数值对应的因变量数值;其中,其它自变量数值的数量大于多项式的度;将每个其它自变量数值对应的因变量数值作为目标密钥的子密钥。In another exemplary embodiment, based on the aforementioned scheme, the generation module 2101 is specifically configured as follows: a polynomial is generated according to the target key; wherein, under the condition that the independent variable of the polynomial is a specified independent variable value, the dependent variable of the polynomial matches the target key; multiple other independent variable values other than the specified independent variable value are obtained, and the dependent variable value corresponding to each other independent variable value is calculated according to the polynomial; wherein the number of other independent variable values is greater than the degree of the polynomial; and the dependent variable value corresponding to each other independent variable value is used as a subkey of the target key.

在另一示例性实施例中,基于前述方案,该装置还包括还原模块,配置为:若目标密钥丢失,则从不同的存储设备中获取指定数量个子密钥密文数据;其中,指定数量大于多项式的度;对获取到的每个子密钥密文数据进行解密,得到每个子密钥密文数据中包含的因变量数值;根据指定数量个子密钥密文数据中包含的因变量数值各自对应的自变量数值,对多项式进行还原;根据还原出的多项式计算指定自变量数值对应的因变量数值,并将计算出的指定自变量数值对应的因变量数值作为目标密钥。In another exemplary embodiment, based on the aforementioned scheme, the device also includes a restoration module, configured as follows: if the target key is lost, obtain a specified number of subkey ciphertext data from different storage devices; wherein the specified number is greater than the degree of the polynomial; decrypt each obtained subkey ciphertext data to obtain the dependent variable value contained in each subkey ciphertext data; restore the polynomial according to the independent variable values corresponding to the dependent variable values contained in the specified number of subkey ciphertext data; calculate the dependent variable value corresponding to the specified independent variable value according to the restored polynomial, and use the calculated dependent variable value corresponding to the specified independent variable value as the target key.

在另一示例性实施例中,基于前述方案,在每个子密钥密文数据中包含根据每个子密钥密文数据对应的加密密钥生成的签名数据的条件下,验证模块2103具体配置为:从不同的存储设备中查找目标密钥对应的子密钥密文数据,从查找出的子密钥密文数据中提取签名数据;根据查找出的子密钥密文数据所对应的解密密钥对提取出的签名数据进行验证。In another exemplary embodiment, based on the aforementioned scheme, under the condition that each subkey ciphertext data contains signature data generated according to the encryption key corresponding to each subkey ciphertext data, the verification module 2103 is specifically configured as follows: searching for the subkey ciphertext data corresponding to the target key from different storage devices, and extracting the signature data from the found subkey ciphertext data; and verifying the extracted signature data according to the decryption key corresponding to the found subkey ciphertext data.

在另一示例性实施例中,基于前述方案,在每个子密钥密文数据中包含子密钥密文以及子密钥密文对应的散列值的条件下,验证模块2103具体配置为:从不同的存储设备中查找目标密钥对应的子密钥密文数据,从查找出的子密钥密文数据中提取子密钥密文以及散列值,并对提取出的子密钥密文进行哈希运算;将哈希运算得到的散列值与提取出的散列值进行比较;若比较结果指示哈希运算得到的散列值与提取出的散列值相匹配,则确定对查找出的子密钥密文数据验证成功。In another exemplary embodiment, based on the aforementioned scheme, under the condition that each subkey ciphertext data contains a subkey ciphertext and a hash value corresponding to the subkey ciphertext, the verification module 2103 is specifically configured as follows: searching for subkey ciphertext data corresponding to the target key from different storage devices, extracting the subkey ciphertext and the hash value from the found subkey ciphertext data, and performing a hash operation on the extracted subkey ciphertext; comparing the hash value obtained by the hash operation with the extracted hash value; if the comparison result indicates that the hash value obtained by the hash operation matches the extracted hash value, it is determined that the verification of the found subkey ciphertext data is successful.

在另一示例性实施例中,基于前述方案,该装置还包括更新模块,配置为:获取多个子密钥密文数据在不同的存储设备中的存储时长;若存储时长超过设定时长阈值,则从不同的存储设备中删除目标密钥对应的子密钥密文数据,并重新根据目标密钥进行秘密共享,以生成多个新的子密钥;对多个新的子密钥分别进行加密,得到多个新的子密钥密文数据;将多个新的子密钥密文数据存储在不同的存储设备中。In another exemplary embodiment, based on the aforementioned scheme, the apparatus further includes an update module configured to: obtain the storage duration of multiple subkey ciphertext data in different storage devices; if the storage duration exceeds a set duration threshold, delete the subkey ciphertext data corresponding to the target key from different storage devices, and re-share the secret based on the target key to generate multiple new subkeys; encrypt the multiple new subkeys respectively to obtain multiple new subkey ciphertext data; and store the multiple new subkey ciphertext data in different storage devices.

在另一示例性实施例中,基于前述方案,生成模块2101具体配置为:生成随机数,并在目标密钥中添加随机数;根据添加随机数后的目标密钥进行密钥共享,以生成多个子密钥。In another exemplary embodiment, based on the above-mentioned scheme, the generation module 2101 is specifically configured to: generate a random number and add the random number to the target key; perform key sharing according to the target key after adding the random number to generate multiple subkeys.

在另一示例性实施例中,基于前述方案,处理模块2102具体配置为:对多个子密钥分别进行加密,得到多个子密钥密文数据;生成干扰数据,并将干扰数据添加至密文数据集合中;其中,密文数据集合中包含多个子密钥密文数据;将密文数据集合中包含的多个子密钥密文数据以及干扰数据存储至不同的存储设备中。In another exemplary embodiment, based on the aforementioned scheme, the processing module 2102 is specifically configured as follows: encrypt multiple subkeys respectively to obtain multiple subkey ciphertext data; generate interference data, and add the interference data to a ciphertext data set; wherein the ciphertext data set contains multiple subkey ciphertext data; store the multiple subkey ciphertext data and the interference data contained in the ciphertext data set in different storage devices.

在另一示例性实施例中,基于前述方案,该装置还包括存储单元,配置为:获取每个子密钥密文数据所对应的解密密钥;将解密密钥存储至可信执行环境或未接入网络的存储装置中。In another exemplary embodiment, based on the aforementioned solution, the device further includes a storage unit configured to: obtain a decryption key corresponding to each subkey ciphertext data; and store the decryption key in a trusted execution environment or a storage device that is not connected to the network.

在另一示例性实施例中,基于前述方案,该装置还包括存储单元,配置为:In another exemplary embodiment, based on the foregoing solution, the device further includes a storage unit configured to:

获取每个子密钥密文数据所对应的解密密钥,并根据解密密钥进行秘密共享,以生成多个子密钥;将解密密钥对应的多个子密钥存储至不同的存储设备中。The decryption key corresponding to each subkey ciphertext data is obtained, and secret sharing is performed based on the decryption key to generate multiple subkeys; the multiple subkeys corresponding to the decryption key are stored in different storage devices.

需要说明的是,上述实施例所提供的数据处理装置与上述实施例所提供的数据处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。It should be noted that the data processing device provided in the above embodiment and the data processing method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs operations has been described in detail in the method embodiment and will not be repeated here.

本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当一个或多个计算机程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的数据处理方法。An embodiment of the present application also provides an electronic device, comprising: one or more processors; a storage device for storing one or more computer programs, when the one or more computer programs are executed by one or more processors, the electronic device implements the data processing method provided in the above-mentioned embodiments.

图22示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。FIG. 22 shows a schematic diagram of the structure of a computer system of an electronic device suitable for implementing an embodiment of the present application.

需要说明的是,图22示出的电子设备的计算机系统2200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。It should be noted that the computer system 2200 of the electronic device shown in FIG. 22 is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

如图22所示,计算机系统2200包括中央处理单元(Central Processing Unit,CPU)2201,其可以根据存储在只读存储器(Read-Only Memory,ROM)2202中的计算机程序或者从储存部分2208加载到随机访问存储器(Random Access Memory,RAM)2203中的计算机程序而执行各种适当的动作和处理,例如执行上述实施例中的数据处理方法。在RAM 2203中,还存储有系统操作所需的各种计算机程序和数据。CPU 2201、ROM 2202以及RAM 2203通过总线2204彼此相连。输入/输出(Input/Output,I/O)接口2205也连接至总线2204。As shown in FIG. 22 , a computer system 2200 includes a central processing unit (CPU) 2201, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 2202 or a computer program loaded from a storage part 2208 to a random access memory (RAM) 2203, such as executing the data processing method in the above-mentioned embodiment. Various computer programs and data required for system operation are also stored in RAM 2203. CPU 2201, ROM 2202, and RAM 2203 are connected to each other via a bus 2204. An input/output (I/O) interface 2205 is also connected to the bus 2204.

在一些实施例中,以下部件连接至I/O接口2205:包括键盘、鼠标等的输入部分2206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid CrystalDisplay,LCD)等以及扬声器等的输出部分2207;包括硬盘等的储存部分2208;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分2209。通信部分2209经由诸如因特网的网络执行通信处理。驱动器2210也根据需要连接至I/O接口2205。可拆卸介质2211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2210上,以便于从其上读出的计算机程序根据需要被安装入储存部分2208。In some embodiments, the following components are connected to the I/O interface 2205: an input section 2206 including a keyboard, a mouse, etc.; an output section 2207 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker; a storage section 2208 including a hard disk, etc.; and a communication section 2209 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 2209 performs communication processing via a network such as the Internet. A drive 2210 is also connected to the I/O interface 2205 as needed. A removable medium 2211, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 2210 as needed, so that a computer program read therefrom is installed into the storage section 2208 as needed.

特别地,根据本申请的实施例,实现数据处理方法的计算机程序可以承载在计算机可读介质上,该计算机程序可以通过通信部分2209从网络上被下载和安装,和/或从可拆卸介质2211被安装。In particular, according to an embodiment of the present application, a computer program that implements the data processing method can be carried on a computer-readable medium, and the computer program can be downloaded and installed from the network through the communication part 2209, and/or installed from the removable medium 2211.

需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序,这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读介质包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a computer program, which may be used by an instruction execution system, device or device or used in combination with it. The computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable computer program is carried, and the propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer program contained in the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, etc., or any suitable combination of the foregoing.

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机程序的组合来实现。The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of the boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and a computer program.

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not constitute limitations on the units themselves in some cases.

本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被电子设备的处理器执行时,使电子设备实现如前的数据处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。Another aspect of the present application provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor of an electronic device, the electronic device implements the above data processing method. The computer-readable storage medium may be included in the electronic device described in the above embodiment, or may exist independently without being assembled into the electronic device.

本申请的另一方面还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述各个实施例中提供的数据处理方法。其中,该计算机程序可以存储在计算机可读存储介质中。Another aspect of the present application further provides a computer program product, the computer program product comprising a computer program, and when the computer program is executed by a processor, the data processing method provided in each of the above embodiments is implemented. The computer program may be stored in a computer-readable storage medium.

上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. A person skilled in the art can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.

Claims (15)

1. A method of data processing, the method comprising:
secret sharing is carried out according to a target secret key to be backed up, so that a plurality of sub secret keys are generated;
Encrypting the multiple sub-keys respectively to obtain multiple sub-key ciphertext data, and storing the multiple sub-key ciphertext data into different storage devices;
Searching sub-key ciphertext data corresponding to the target key from the different storage devices, and verifying the searched sub-key ciphertext data;
if the verification of the searched sub-key ciphertext data is successful, the plurality of sub-key ciphertext data are determined to be successfully stored in the different storage devices, and the target key is activated, so that encryption processing is carried out according to the activated target key.
2. The method of claim 1, wherein the secret sharing according to the target key to be backed up to generate the plurality of subkeys comprises:
generating a plurality of numbers according to the target key; wherein the sum of the plurality of digits matches the target key;
Each generated number is used as a sub-key of the target key.
3. The method of claim 1, wherein the secret sharing according to the target key to be backed up to generate the plurality of subkeys comprises:
Generating a polynomial according to the target key; wherein, the independent variable of the polynomial is matched with the target key under the condition of the independent variable of the polynomial being a specified self-variable value;
acquiring a plurality of other self-variable values except the appointed self-variable value, and calculating a dependent variable value corresponding to each other self-variable value according to the polynomial; wherein the number of other argument values is greater than the degree of the polynomial;
and taking the dependent variable value corresponding to each other independent variable value as a subkey of the target key.
4. A method as claimed in claim 3, wherein the method further comprises:
if the target key is lost, acquiring the ciphertext data of the appointed number of sub-keys from the different storage devices; wherein the specified number is greater than a degree of the polynomial;
decrypting each piece of obtained subkey ciphertext data to obtain a dependent variable value contained in each piece of subkey ciphertext data;
Restoring the polynomial according to the independent variable values respectively corresponding to the dependent variable values contained in the cipher text data of the appointed number of subkeys;
And calculating the dependent variable value corresponding to the specified self-variable value according to the restored polynomial, and taking the calculated dependent variable value corresponding to the specified self-variable value as the target key.
5. The method of claim 1, wherein each piece of subkey ciphertext data includes signature data generated from an encryption key corresponding to the each piece of subkey ciphertext data;
The verifying the searched sub-key ciphertext data comprises the following steps:
Extracting signature data from the searched sub-key ciphertext data;
and verifying the extracted signature data according to the decryption key corresponding to the searched sub-key ciphertext data.
6. The method of claim 1, wherein each piece of subkey ciphertext data comprises a subkey ciphertext and a hash value corresponding to the subkey ciphertext;
The verifying the searched sub-key ciphertext data comprises the following steps:
extracting a sub-key ciphertext and a hash value from the searched sub-key ciphertext data, and carrying out hash operation on the extracted sub-key ciphertext;
comparing the hash value obtained by the hash operation with the extracted hash value;
if the comparison result indicates that the hash value obtained by the hash operation is matched with the extracted hash value, the verification of the searched sub-key ciphertext data is determined to be successful.
7. The method of claim 1, the method further comprising:
acquiring storage time lengths of the plurality of sub-key ciphertext data in the different storage devices;
If the storage time length exceeds a set time length threshold, deleting the sub-key ciphertext data corresponding to the target key from the different storage devices, and carrying out secret sharing again according to the target key so as to generate a plurality of new sub-keys;
encrypting the plurality of new subkeys respectively to obtain a plurality of new subkey ciphertext data;
the plurality of new sub-key ciphertext data are stored in different storage devices.
8. The method of claim 1, wherein the secret sharing according to the target key to be backed up to generate the plurality of subkeys comprises:
generating a random number and adding the random number to the target key;
and carrying out key sharing according to the target key added with the random number so as to generate a plurality of sub-keys.
9. The method of claim 1, wherein storing the plurality of sub-key ciphertext data into different storage devices comprises:
generating interference data and adding the interference data to a ciphertext data set; wherein the ciphertext data set comprises the plurality of sub-key ciphertext data;
And storing the plurality of sub-key ciphertext data and the interference data contained in the ciphertext data set into different storage devices.
10. The method of any one of claims 1-9, wherein the method further comprises:
obtaining a decryption key corresponding to each sub-key ciphertext data;
Storing the decryption key in a trusted execution environment or a storage device which is not accessed to the network.
11. The method of any one of claims 1-9, wherein the method further comprises:
obtaining a decryption key corresponding to each sub-key ciphertext data, and carrying out secret sharing according to the decryption key to generate a plurality of sub-keys;
and storing the multiple sub-keys corresponding to the decryption key into different storage devices.
12. A data processing apparatus, the apparatus comprising:
the generation module is configured to carry out secret sharing according to a target key to be backed up so as to generate a plurality of sub-keys;
The processing module is configured to encrypt the plurality of sub-keys respectively to obtain a plurality of sub-key ciphertext data, and store the plurality of sub-key ciphertext data into different storage devices;
The verification module is configured to search the sub-key ciphertext data corresponding to the target key from the different storage devices and verify the searched sub-key ciphertext data;
and the activation module is configured to determine that the plurality of sub-key ciphertext data are successfully stored in the different storage devices if the verification of the searched sub-key ciphertext data is successful, and activate the target key so as to carry out encryption processing according to the activated target key.
13. An electronic device, comprising:
One or more processors;
A memory for storing one or more computer programs that, when executed by the one or more processors, cause the electronic device to implement the data processing method of any of claims 1-11.
14. A computer-readable storage medium, on which a computer program is stored which, when executed by a processor of an electronic device, causes the electronic device to implement the data processing method of any one of claims 1-11.
15. A computer program product comprising a computer program which, when executed by a processor, implements the data processing method of any of claims 1-11.
CN202310095114.8A 2023-01-17 2023-01-17 Data processing method and device, electronic device, and storage medium Pending CN118364477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310095114.8A CN118364477A (en) 2023-01-17 2023-01-17 Data processing method and device, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310095114.8A CN118364477A (en) 2023-01-17 2023-01-17 Data processing method and device, electronic device, and storage medium

Publications (1)

Publication Number Publication Date
CN118364477A true CN118364477A (en) 2024-07-19

Family

ID=91885770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310095114.8A Pending CN118364477A (en) 2023-01-17 2023-01-17 Data processing method and device, electronic device, and storage medium

Country Status (1)

Country Link
CN (1) CN118364477A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118586021A (en) * 2024-08-07 2024-09-03 深圳竹云科技股份有限公司 Data encryption method, device and computer equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118586021A (en) * 2024-08-07 2024-09-03 深圳竹云科技股份有限公司 Data encryption method, device and computer equipment

Similar Documents

Publication Publication Date Title
CN110677487B (en) Outsourcing data duplicate removal cloud storage method supporting privacy and integrity protection
US11831753B2 (en) Secure distributed key management system
CN111242617B (en) Method and apparatus for performing transaction correctness verification
US11893577B2 (en) Cryptographic key storage system and method
US20080069341A1 (en) Methods and systems for strong encryption
TW201733302A (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN109981255B (en) Method and system for updating key pool
TWI597960B (en) Key splitting
JPWO2017033442A1 (en) Information processing apparatus, authentication system, authentication method, and computer program
US20220286291A1 (en) Secure environment for cryptographic key generation
US20250202724A1 (en) Data processing method and related device
Khan et al. SSM: Secure-Split-Merge data distribution in cloud infrastructure
CN114553557A (en) Key calling method, key calling device, computer equipment and storage medium
CN112003690B (en) Password service system, method and device
Manjyanaik et al. Preserving Confidential Data Using Improved Rivest-Shamir Adleman to Secure Multi-Cloud.
CN118364477A (en) Data processing method and device, electronic device, and storage medium
Abo-Alian et al. Auditing-as-a-service for cloud storage
Chavan et al. Secure CRM cloud service using RC5 algorithm
CN113064761B (en) Data recovery method, server, encryption device, terminal and medium
JP6830635B1 (en) Data management method
Kamboj et al. DEDUP: Deduplication system for encrypted data in cloud
Neela et al. A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing
US20240129140A1 (en) Mutual authentication in edge computing
US20250272416A1 (en) Method and device for encrypting data
CN119743255A (en) Continuous encrypted communication method, device and communication equipment based on quantum key

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination