Method for securing data exchange in a distributed infrastructure
By automatically generating the same encryption key pair in a distributed network and distributing secrets using the master node, the resource consumption and downtime problems during key exchange and update are solved, and efficient and secure data exchange is achieved.
Patent Information
- Application Number
- CN201980045809.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-05-08
- Filing Date
- 2019-05-08
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2039-05-08
AI Technical Summary
In distributed infrastructure, the prior art requires each node to exchange public keys with all other nodes in the network, resulting in high key exchange time and resource consumption, and data transmission is limited when key updates, resulting in increased downtime due to increased keys .
Each node automatically generates the same encryption key pair and stores it in secure memory, generates and distributes secrets through the master node, adds new nodes using temporary encryption key pairs, and ensures the security of data exchange through certificate verification.
It realizes secure data exchange without exchanging public keys in a distributed network, reduces resource consumption and downtime of key management, and improves network reliability and security.
Smart Images

Figure CN112368974B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for enabling secure data exchange in a distributed infrastructure. In this context, a distributed infrastructure is a network of computers or servers that can be physically separated from each other and connected via a communication network. In this context, individual computers or servers are referred to as node networks. Each node network can be composed of one or more computers. In the following, the term "node" is used to refer to a computer, server or group of computers in a network. Background Art
[0002] In order to enable secure data exchange between multiple nodes in a network, the data exchange is usually encrypted. Each node generates an encryption key pair having a private key and a public key. The private key is retained with the node where it is generated and stored. The public key is transmitted or distributed to other nodes of the network using known key exchange methods. Other nodes of the computer network can then use this public key to encrypt data transmission to a node or the data itself.
[0003] However, the disadvantage here is that each node of the computer network generates its own key pair, so that each node must exchange public keys with all other nodes of the network (or at least with those nodes in the network with which it wants to exchange data). Therefore, in a network with n nodes, n different key pairs will be generated. If each node wants to exchange data securely with every other node of the network, then each node must provide its public key to all other nodes of the network, so up to n steps must be performed. 2 -n key exchanges, which requires a considerable amount of time and resources.
[0004] Furthermore, for data transmission from a first node to a second node in a computer network, the first node must select the correct public key assigned to the second node in order to encrypt the data to be transmitted to the second node in a decryptable manner. For this purpose, considerable resources must be provided or implemented in the node to ensure that the data to be transmitted is always correctly encrypted for the respective receiving node, i.e., the respective correct public key is used for encryption.
[0005] Another disadvantage occurs when a key pair must be updated in a node of the network. In this case, the corresponding public key must be distributed to all other nodes of the network or made available to all other nodes. This so-called key update may take a considerable amount of time, so data can only be transmitted in an encrypted manner to the node that generated the key pair when the key update is completed. During the key update, no data can be transmitted to this node, so other nodes use the old (and therefore wrong) public key to encrypt data during the key update.
[0006] If the key or key replacement is provided with a digital certificate, the delay of issuing the corresponding certificate is added to this delay, so the key exchange takes correspondingly more time, which means that even longer downtimes have to be accepted.
[0007] Purpose of the Invention
[0008] It is therefore an object of the present invention to provide a method with which a secure data exchange can be carried out in a distributed infrastructure consisting of a plurality of nodes without having to accept the disadvantages associated with the key management known from the prior art.
[0009] Solution according to the invention
[0010] This object is achieved by a method according to the independent claim. Advantageous configurations of the method are described in the dependent claims.
[0011] Therefore, a method for ensuring data exchange security between a plurality of nodes of a node network is provided, wherein
[0012] - provide at least two secrets to each node, and
[0013] - Automatically generate cryptographic key pairs in each node using the corresponding secrets and key generation algorithms available,
[0014] wherein the secret and key generation algorithms available to the nodes are selected such that the same encryption key pair is generated in each node, and
[0015] Wherein said generating of said cryptographic key pair occurs in a secure memory and / or processing area of said node, and at least a private key of said cryptographic key pair is stored exclusively in said secure memory area.
[0016] It is advantageous if the secure memory and / or the processing area is designed in such a way that it contains only volatile memory media.
[0017] It is also advantageous if said generating of said cryptographic key pair is performed by a software module executed in said secure memory and / or processing area.
[0018] The at least two secrets may each be provided to the node by a trusted entity.
[0019] The trusted entity may be a person.
[0020] It would be advantageous if each node could be generated by a master node.
[0021] It is also advantageous if each node uses the available respective secrets to generate a master secret with which to generate the encryption key pair, wherein the secrets are generated by the master node in such a way that the master secret can be generated from different but equally large subsets of secrets.
[0022] Furthermore, a method for adding a node to a node network is provided, the node network being preferably configured as described above, wherein
[0023] - the node to be added (slave node) generates a temporary encryption key pair,
[0024] - wherein the public key of the temporary encryption key pair is signed by a plurality of entities, each signature being performed by a private key assigned to a respective entity,
[0025] - wherein at least a predetermined number of certificates generated by said signature are transmitted to a master node of said network, and
[0026] - The master node checks the received certificate and, if the check is successful, transmits the second encryption key pair generated in the master node to the node to be added.
[0027] It is advantageous if the second encryption key pair is encrypted with the temporary public key before transmission.
[0028] When checking the certificate, it may be determined whether the received certificate is verifiable and whether at least a predetermined number of verifiable certificates have been transmitted.
[0029] The second encryption key pair may be used to process encrypted data exchanges between the node to be added and other nodes of the network. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Details and features of the present invention and various embodiments of the present invention are provided in the following description in conjunction with the accompanying drawings, but the present invention is not limited to the embodiments described below. The accompanying drawings show the following:
[0031] Figure 1An embodiment with four nodes of a network, on the basis of which a variant of the method according to the invention is described, and
[0032] Figure 2 According to an embodiment of the method of the present invention, adding a new node to a network of nodes is described by way of the embodiment. DETAILED DESCRIPTION
[0033] According to the invention, it is provided that each node in the network generates an identical encryption key pair consisting of a private key and a public key. This ensures that all nodes of the network can use the same public key for secure data exchange, regardless of the node for which the data is to be encrypted. The main advantage is that no measures need to be taken in individual nodes to ensure that the node uses the correct public key of the other node to communicate encrypted with another node of the network.
[0034] When a network is first configured, it is only important to ensure that all nodes participating in the network have the appropriate permissions, i.e., that they are allowed to "participate" in the network. In this case, "participation" means that the nodes can or may perform encrypted data exchanges between themselves.
[0035] When adding a new node to the network, it is only important to ensure that this new node also has the appropriate permissions.
[0036] Both operations (i.e., verifying permissions when the network is first configured and verifying permissions when a new node is added to the network) need only be performed once, so that no idle time or downtime is incurred due to new / changed keys during operation of the network.
[0037] Although all nodes have the same key pairs, these key pairs must be newly generated in the nodes according to the invention. This is because according to the invention, the distribution of private keys from one node of the network to another node is prevented, which distribution is required for decrypting data encrypted with a public key. This means that the private key cannot leave the node in which it was generated. For this purpose, the nodes are adapted according to the invention in such a way that the corresponding private key does not have to leave the secure area of the node (the so-called data clearing area). In order to ensure this, the decryption of the data is performed exclusively in this data clearing area. The key pairs are also generated exclusively in the data clearing area.
[0038] According to the present invention, it is provided that the same key pair is newly generated in each node. In order to ensure that the same key pair is generated in each node, the same secret is used in each node to generate the encryption key pair. In addition, the same encryption method (key generation algorithm) is used in each node to generate the encryption key pair. A larger random number can be provided as a secret that can be used by each node to generate the encryption key pair. In this way, the private key does not have to leave the node, while ensuring that each node can encrypt data for each other node in the network (using the public key generated by itself). The positive side effect is that there is no need to exchange public keys, which also greatly reduces the risk of calculating the corresponding private key based on the public key.
[0039] The secret itself can be generated by the marked node of the network and provided to other nodes by this marked node. The marked node is also referred to as the master code below. It is also possible to exchange secrets with other nodes in an encrypted manner. For the purpose of encrypted exchange of secrets, in addition to generating secrets and therefore knowing the master node of the secret, each node can generate a temporary encryption key pair consisting of a temporary private key and a temporary public key. Then, each node notifies the master node of its public key so that the master node can encrypt the secret with the corresponding public key and transmit the encrypted secret to the corresponding node. Then, the corresponding node can use its private key to decrypt the encrypted secret to generate an encryption key pair. Since only the (single) secure transmission of the secret requires a temporary encryption key pair, the temporary encryption key pair can be destroyed or deleted afterwards.
[0040] Combination Figure 1 An alternative, even more secure method for exchanging secrets is described. Figure 1 Another advantage of the described method is that a plurality of secrets that the corresponding node uses to generate a key pair must be provided to the node. This prevents a single entity (e.g., a single person) from generating a key pair in the node or causing the node to generate a key pair because the single entity only possesses one of the plurality of secrets.
[0041] Although it is also possible to generate a key pair using this single secret, this secret will not be accepted by other nodes, or other nodes will use a public key that does not match the private key, ultimately rendering the incorrectly generated key pair useless.
[0042] Alternatively, the secret can also be generated outside the network. However, if this is done, it must be ensured that each node is provided with such a secret that will produce the same key when the encryption key pair is generated.
[0043] The method described so far already ensures a high level of security during data exchange. This security is further enhanced by the fact that it is no longer necessary to exchange public keys for encrypting the data transmission.
[0044] Overall, the highest possible level of security is achieved because of:
[0045] -The key pair is automatically generated in the data clearing area of the corresponding node;
[0046] - preferably, data encryption is performed exclusively in the data clearing area so that the public key does not have to leave the data clearing area while the network is in operation;
[0047] - decryption of the data is performed exclusively in the data clearing area so that the public key does not have to leave the data clearing area;
[0048] In order to generate a key pair and thus also a corresponding private key, a plurality of secrets are necessary which are distributed over a plurality of secret carriers, so that a single entity cannot generate the key pair required in the network alone or a node can generate such a key pair alone.
[0049] After each node has generated a cryptographic key pair by means of a secret, each node of the network can in principle handle encrypted data exchanges with all other nodes of the network, wherein each node is able to encrypt data independently of the recipient using the same public key.
[0050] The trustworthiness of the individual nodes is ensured by the fact that they can only possess the public key required for encryption if they have generated an encryption key pair with the aid of the secret itself, which can be exchanged in an encrypted manner or can be obtained according to Figure 1 The method described in is distributed to multiple secret carriers, which then have to provide their secrets to the corresponding nodes.
[0051] In order to further increase or improve the trustworthiness, it is possible according to the present invention to provide that each node requests a corresponding digital certificate (public key certificate) for the public key generated by it from a trusted certificate authority, and the ownership and other characteristics of the corresponding public key are verified with the digital certificate. For this purpose, the public key must only be made available to a trusted certificate authority once. Then, the digital certificate issued by the trusted certificate authority is transmitted to the corresponding node and can be stored therein. Therefore, before exchanging encrypted data with other nodes in the network, the nodes in the network can then authenticate themselves to other nodes with their own certificates. The public key itself does not have to be transmitted.
[0052] Thus, certificates prevent that if a node has obtained an encryption key pair in an unauthorized manner, it can perform encrypted data exchanges with other nodes of the network, since the encryption key pair alone is not sufficient for this purpose. By suitable organizational measures, the issuance of certificates that could be used to forge a false identity of a node can be prevented, for example, since qualified certificates can only be issued by certified certificate authorities and only after providing official identification documents. This data is stored in the certificate so that other nodes can check this data and allow encrypted communication only if the certificate is valid from their point of view.
[0053] The initial configuration and / or setup of a network consisting of a plurality of nodes has been described above. Figure 2 Adding one or more additional nodes to an existing network is described.
[0054] Figure 1 A block diagram of a network with four nodes is shown, on the basis of which a variant of the method according to the invention is described.
[0055] It should be noted that the method according to the invention can also be used in networks with more than four nodes or with less than four nodes.
[0056] According to the invention, secure (ie encrypted) data exchange is enabled in a network, which consists here of four nodes 1 to 4. Figure 1 The communication channel through which the encrypted data exchange is to be processed is shown by a bold double arrow in FIG. Figure 1 In the example shown in , each node should be able to exchange encrypted data with each other node. Node 1 is a so-called master node, whose function is explained below.
[0057] Each of the four nodes 1 to 4 has a sealing software module SSM adapted to create an encryption key pair PK consisting of a private key and a public key by means of a secret S. As explained above, all nodes generate the same encryption key pair.
[0058] The sealed software module SSM is part of a so-called secure memory area DCU, which is also referred to as a data clearing area. The sealed software module SSM itself is executed exclusively in the data clearing area DCU. It is also provided that the encryption key pairs generated by the sealed software module SSM are stored exclusively in the data clearing area DCU and the encryption and / or decryption of data are also performed exclusively in the data clearing area DCU. This means that the key pairs do not have to leave the data clearing area DCU, thereby effectively preventing misuse of the key pairs.
[0059] The data clearing area DCU is configured in such a way that in case of unauthorized access to the data clearing area all data stored therein, in particular data stored therein but without encryption and key pairs, will be deleted. In particular, the data clearing area is characterized by the fact that no persistent storage medium is present. This measure ensures that if the power supply of the data clearing area DCU is interrupted (for example, if unauthorized access to the data clearing area is detected), then:
[0060] - No unencrypted data can leave the data clearing area DCU;
[0061] - no more data exists in the data clearing area DCU; and
[0062] - Since only volatile type storage media are used, the key pair stored exclusively in the data clearing area DCU is deleted.
[0063] By having redundant cleared areas in a node, encryption key pairs can be secured so that, for example, the encryption key pairs can be recovered from the replicated cleared areas after a power outage in a cleared area. Communications between redundant cleared areas are also advantageously encrypted.
[0064] The trusted platform module TPM shown in nodes 1 to 4 can also be part of the corresponding data clearing area DCU. Alternatively, but not recommended, the trusted platform module TPM can also be located outside the corresponding data clearing area DCU, wherein data is preferably exchanged in encrypted form between the trusted platform module and the data clearing area DCU.
[0065] In order to allow the sealed software modules SSM of individual nodes 1 to 4 to each generate the same key pair, the master node 1 can be provided with a secret S generated as explained above and this secret (preferably encrypted) is passed to the other nodes 2 to 4, which then generate corresponding key pairs with the help of this secret.
[0066] exist Figure 1 In the embodiment shown in , the secret S is generated by the master node. However, the secret S is not directly transmitted to the other nodes 2 to 4, but distributed to multiple secret carriers. Therefore, each secret carrier has a part of the secret S (also called a partial secret).
[0067] exist Figure 1 In the example shown in , 12 secret carriers are provided on which a secret S generated by a master node is distributed. The generation of the secret S and the distribution of the secret S to the plurality of secret carriers are performed in such a way that a certain subset of the secret carriers is required to reconstruct the secret S (i.e., only some partial secrets are required to reconstruct the secret S). Figure 1In the example shown in , the secret S can be reconstructed based on the partial secrets of the three secret carriers. The Shamir secret sharing method can be used to split and reconstruct the secret.
[0068] According to the invention, it is provided that the secret S is divided between at least two secret carriers and at least two partial secrets are necessary for the reconstruction of the secret. This effectively ensures that at least two secret carriers (particularly, usually trusted persons) are necessary for the node to generate a valid key pair.
[0069] After the master node has distributed the created secret S to secret carriers 1 to 12, secret carriers 1 to 3 arrive at node 2, secret carriers 5 and 6 arrive at node 4 and secret carriers 9 to 11 arrive at node 3.
[0070] Secret carriers 1 to 3 make their partial secrets available to node 2 (i.e., sealing software module SSM of node 2) so that sealing software module SSM of node 2 can first reconstruct secret S from the partial secrets and then generate an encryption key pair using secret S. Nodes 3 and 4 do the same with the partial secrets of secret carriers 9 to 11 and 5 to 7, respectively.
[0071] In order to ensure the secure output of secrets by the master node or the secure input of partial secrets by the secret carrier, the node provides a secure interface. Through this interface, the secret or partial secret is transmitted for reconstructing the secret in an encrypted manner. For this purpose, the corresponding node or the sealing software module SSM of the corresponding node can generate a temporary key pair with which the data to be output or input is encrypted.
[0072] After nodes 1 to 4 have generated the corresponding encryption key pairs, each of the nodes initiates the issuance of certificates for its corresponding public key PK by the certificate authority CA. For this purpose, the corresponding public key PK is transmitted to the certificate authority CA (this can also be done in an encrypted manner). The certificate authority CA generates the corresponding digital certificate Z (public key certificate) and transmits it to the corresponding node. The public key transmitted to the certificate authority CA can be deleted here. According to the present invention, the public key PK only needs to leave the node in which the PK is generated once, that is, it has a certificate generated by the certificate authority CA. For encrypted data exchange with other nodes, since all nodes generate the same key pair and therefore also generate the same public key PK, the public keys do not need to be exchanged. The certificate itself can then be stored in the corresponding data clearing area DCU.
[0073] As already mentioned, it is no longer necessary to provide a node with the public key of another node so that the node encrypts data for the other node. In particular, the node does not have to provide measures to ensure that the correct public key is used for encrypted communication with other nodes. This is particularly advantageous when thousands of nodes are involved in the network. This advantage becomes apparent when a new node is added to a network consisting of thousands of nodes. In this case, the public key must be distributed in a complex manner to all other nodes of the network so that these other nodes can communicate with the new node in an encrypted manner.
[0074] In order to further improve security, it is intended that before a node can process encrypted data exchange with other nodes, this node must identify itself as a trusted node for other nodes. For this purpose, the certificate Z for its corresponding public key PK requested by the node to the certificate authority is used. For example, before node 3 uses public key PK to transmit encrypted data to node 4, node 3 must transmit its certificate Z to node 4. Then, node 4 can check certificate Z, and then allow communication when the certificate is recognized as valid. If the qualified certificate is issued by a certificate authority CA and is issued only when a formal identity document (for example, the identity document of the responsible manager of the node operator) is provided, it is advantageous. This data is stored in the certificate so that other nodes can check this data. Therefore, other nodes only need to check whether the certificate is issued by an approved certificate authority designated as the owner of the certificate. Therefore, the public key known to each node in any way does not need to be transmitted. The verification of the certificate can be performed in a resource-saving and efficient manner.
[0075] Apart from the certification of the respective public key, the public key does not have to leave the respective node or the respective sealing software module SSM, which enables particularly secure operation of the network.
[0076] Figure 2 A block diagram of a node 1 is shown with another node (referred to herein as a slave node) added to it.
[0077] Of course, new slave nodes may also be added to a network having more than one node (specifically, thousands of nodes).
[0078] In the first step S1, a temporary encryption key pair is generated from the sealed software module SSM of the node. This temporary encryption key pair is only required to add the node to the network and can be discarded then. This temporary encryption key pair does not need to be generated by the secret of the key pair of other nodes used to generate the network. In addition, this temporary encryption key pair does not necessarily have to be generated by the sealed software module SSM.
[0079] In a further step S2, the public key PK of the temporary encryption key pair is t Transmitted to multiple entities (e.g., multiple people). These people must confirm the public key PK from which they received the temporary encryption key pair t The slave node should actually be added to the network. Confirmation can be done by temporarily encrypting the public key PK of the key pair with its personal key pair in step S3 t The signed public key PK of the temporary encryption key pair is signed and in step S4 t As certificate Z is transmitted to the master node (which is Figure 2 Node 1 in .
[0080] Confirm the public key PK of the temporary encryption key pair t The entities may also be technical devices, such as computers which are not part of the network or which are part of the network.
[0081] In step S5, the master node checks the transmitted certificate Z against the corresponding public key of the person and, if the check is successful, initiates the process of adding the slave node to the network. The positive check may also require that a certain number of persons have transmitted the corresponding certificate Z to the master node. For example, if in step S1 the temporary public key PK t If the data is transmitted to six people, four of the six people may need to send the corresponding certificate Z to the master node in order to permanently add the new slave node to the network. This is equivalent to four people agreeing to add the new node to the network.
[0082] The certificate Z transmitted in step S4 also informs the master node that because the temporary public key PK t It is part of the certificate, so add the temporary public key PK of the slave node t .
[0083] If the check in step S5 is successful, i.e. if a sufficient number of people have sent a valid certificate Z to the master node, the master node transmits a key pair to the slave node to be added in step S6 (this is required for the new slave node to communicate with the other nodes of the network). This transmitted key pair is identical to the key pair generated in the other nodes of the network.
[0084] The transmission of this key pair to the new slave node is preferably done by using the temporary public key PK of the node to be added. t is encrypted.
[0085] The new slave node stores the key pair in the data clearing area DCU of the slave node or in a trusted platform module. Adding the new slave node to the network is now complete. The temporary key pair created in step S1 can be deleted. Neither the public key nor the private key of the new node need to leave the new node (especially the data clearing area DCU of the new node) in order for the new node to exchange data with other nodes of the network.
[0086] Overall, this also avoids having to distribute the public key of the node to be added to the network to all other nodes of the network.
[0087] Reference Mark:
[0088] CA
[0089] TPM Trusted Platform Module
[0090] DCU Data Clear Area
[0091] S Secret
[0092] Steps S1 to S6
[0093] SSM Seal Software Module
[0094] Z Certificate (Digital)
[0095] PK Public Key
[0096] PK t Temporary public key
[0097] 1 to 10 Secret carrier (e.g., a trusted person)
Claims
1. A method for securing data exchange in a distributed infrastructure, wherein - provide each node with at least two secrets S, and - Automatically generate a cryptographic key pair in each node using the corresponding secret S and the key generation algorithm available, wherein said secret S and said key generation algorithm provided to said node are selected such that the same cryptographic key pair is automatically generated, and wherein said generation of said cryptographic key pair takes place in a secure memory and / or in a processing area DCU of said node, and wherein at least a private key of said cryptographic key pair is stored only in said secure memory and / or in a processing area DCU; wherein the secure memory and / or the processing area DCU is designed in such a way that it contains only volatile memory media and no other memory media; wherein said generating of said encryption key pair is performed by a software module SSM executed in said data clearing area; The secure memory and / or the processing area DCU are configured in such a way that all data stored therein will be deleted in case of unauthorized access to the data clearing area; wherein the at least two secrets S are each provided to the node by a trusted entity; wherein the at least two secrets S are generated by the master node; Each of the nodes generates a master secret using the provided corresponding secret S, the encryption key being paired with the master secret, wherein the secret is generated by the master node in such a way that the master secret can be generated from a subset of secrets having different contents but the same size. The method of claim 1 , wherein the trusted entity is a human.
3. A method for adding a node to a node network, the node network being configured according to any one of the preceding claims, - wherein said node to be added generates a temporary encryption key pair, - the public key PK of the temporary encryption key pair t is signed by multiple entities, with each signature being performed using a private key assigned to the respective entity. - wherein at least a predetermined number of certificates Z generated by said signature are transmitted to a master node of said network, and - wherein the master node checks the received certificate and, if the check is successful, transmits a second encryption key pair generated in the master node to the node to be added.
4. A method for adding a node to a node network according to claim 3, wherein the second encryption key pair is encrypted with the temporary public key PK before transmission. t Encrypted.
5. A method for adding a node to a node network according to claim 3, wherein during the certificate check it is determined whether the received certificate is verifiable and whether at least a predetermined number of verifiable certificates have been transmitted.
6. A method for adding a node to a node network according to any one of claims 3 to 5, wherein the second encryption key pair can be used to process encrypted data exchanges between the node to be added and other nodes of the network.
Citation Information
Patent Citations
Threshold and identity-based key management and authentication for wireless ad hoc networks
US20060023887A1
Tamper-proofing and identity validation in a secure electronic transaction processing system
US20170213218A1