Method and system for performing a secure key relay of an encryption key
20230018829 · 2023-01-19
Inventors
Cpc classification
H04L9/0855
ELECTRICITY
H04L9/085
ELECTRICITY
H04L9/0825
ELECTRICITY
International classification
Abstract
A method and system for performing a secure key relay of an encryption key, K.sub.enc, provided by an initial node, KN.sub.0, and used by an encoding unit (ENC) of a first data transceiver for encoding plain data, P.sub.data, to provide encrypted cipher data, C.sub.data, transported via a data transport link, DTL, to a decoding unit (DEC) of a second data transceiver which decodes the transported cipher data, C.sub.data, using the relayed encryption key, K.sub.enc, provided by a terminal node, KN.sub.N, as a decoding key to retrieve the plain data, P.sub.data, wherein the relay of the encryption key, K.sub.enc, from the initial node, KN.sub.0, to the terminal node, KN.sub.N, is performed by means of intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, and comprises the steps of sharing (S1) QKD-keys, K, between the nodes via secure quantum channels, QCH, of a quantum key distribution network, QKDN; performing (S2) encryption of shared QKD-KEYS, K, at the initial node, KN.sub.0, and at each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, and blinding them with a blinding value, S.sub.i, of the respective node to provide an encrypted cipher key, CK.sub.i, by the initial node, KN.sub.0, and by each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1; distributing (S3) or pre-distributing the blinding values, S.sub.i, of the initial node, KN.sub.0, and of each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1; transmitting (S4) the encrypted cipher keys, CK.sub.i, of the initial node, KN.sub.0, and of each of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to the terminal node, KN.sub.N; performing (S6) by the terminal node, KN.sub.N, logic operations on reconstructed or pre-distributed blinding values, S.sub.i, on the basis of the encrypted cipher keys, CK.sub.i, received by the terminal node, KN.sub.N, from the initial node, KN.sub.0, and received from each of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to provide the encryption key, K.sub.enc, used by the decoding unit (DEC) of the second data transceiver as a decoding key to retrieve the plain data, P.sub.data.
Claims
1. A method for performing a secure key relay of an encryption key, K.sub.enc, provided by an initial node, KN.sub.0, and used by an encoding unit of a first data transceiver for encoding plain data, P.sub.data, to provide encrypted cipher data, C.sub.data, transported via a data transport link, DTL, to a decoding unit (DEC) of a second data transceiver which decodes the transported cipher data, C.sub.data, using the relayed encryption key, K.sub.enc, provided by a terminal node, KN.sub.N, as a decoding key to retrieve the plain data, P.sub.data, wherein the relay of the encryption key, K.sub.enc, from the initial node, KN.sub.0, to the terminal node, KN.sub.N, is performed by means of intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, and comprises the steps of: sharing QKD-keys, K, between the nodes via secure quantum channels, QCH, of a quantum key distribution network, QKDN; performing encryption of shared QKD-KEYS, K, at the initial node, KN.sub.0, and at each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, and blinding them with a blinding value, S.sub.i, of the respective node to provide an encrypted cipher key, CK.sub.i, by the initial node, KN.sub.0, and by each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1; transmitting the encrypted cipher keys, CK.sub.i, of the initial node, KN.sub.0, and of each of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to the terminal node, KN.sub.N; and performing by the terminal node, KN.sub.N, logic operations on blinding values, S.sub.i, on the basis of the encrypted cipher keys, CK.sub.i, received by the terminal node, KN.sub.N, from the initial node, KN.sub.0, and received from each of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to provide the encryption key, K.sub.enc, used by the decoding unit (DEC) of the second data transceiver as a decoding key to retrieve the plain data, P.sub.data.
2. The secure key relay method according to claim 1 wherein the blinding values, Si, of the initial node, KN0, and of each intermediate relay node, KN1, KN2 . . . KNN−1, are distributed as shares, p, to the other nodes by using a secret sharing protocol.
3. The secure key relay method according to claim 1 wherein the blinding values, Si, of the initial node, KN0, and of each of the intermediate relay nodes, KN1, KN2 . . . KNN−1, is reconstructed by the terminal node, KNN, on the basis of the shares, p, received by the terminal node, KNN.
4. The secure key relay method according to claim 2 wherein the secret sharing protocol used to distribute the blinding values, S.sub.i, of the initial node, KN.sub.0, and of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, comprises a Shamir secret sharing (SSS) protocol.
5. The secure key relay method according to claim 1 wherein the blinding value, S.sub.i, of each node used for blinding the encrypted shared QKD-keys, K, comprises a unique random value which is generated by a local random number generator, RNG, of the respective node.
6. The secure key relay method according to claim 1 wherein the encrypted QKD-keys, K, are blinded with the blinding value, S.sub.i, of the respective node by performing an XOR-operation on the encrypted QKD-keys and the respective blinding value, S.sub.i, of the node.
7. The secure key relay method according to claim 1 wherein the encryption key, K.sub.enc, is generated by a key generator of the initial node, KN.sub.0, connected to the encoding unit of the first data transceiver or wherein the encryption key, K.sub.enc, is received by the encoding unit of the first data transceiver by means of a user interface or by means of a control data interface.
8. The secure key relay method according to claim 1 wherein the encryption key, K.sub.enc, is stored in a key memory along with a key identifier, KEY-ID, of the encryption key, K.sub.enc, wherein the key identifier, KEY-ID, of the encryption key, K.sub.enc, relayed from the initial node, KN.sub.0, via the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to the terminal node, KN.sub.N, is transported from the first data transceiver via the data transmission link, DTL, to the second data transceiver.
9. The secure key relay method according to claim 1 wherein the encrypted cipher data, C.sub.data, is transported as payload within data packets transmitted by the first data transceiver via the data transmission link, DTL, to the second data transceiver wherein the key identifier, KEY-ID, of the encryption key, K.sub.enc, is transported in the overheads, OH, of the transported data packets.
10. The secure key relay method according to claim 1 wherein the encryption key, K.sub.enc, is used by the encryption unit (ENC) of the first data transceiver for performing a symmetric key encryption, such as AES, of the plain data, P.sub.data, or as a one-time pad, OTP, for a predefined amount of received plain data, P.sub.data, or for a predefined time period.
11. The secure key relay method according to claim 1 wherein the initial node, KN.sub.0, the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, and the terminal node, KN.sub.N, comprise electrical or optical transceivers connected with each other via transport links used to transport the encrypted cipher keys, CK.sub.i, and the shares, p, of the blinding values, S.sub.i, between the transceivers.
12. The secure key relay method according to claim 1 wherein the decoding unit of the second data transceiver which decodes the encrypted cipher data, C.sub.data, received via the data transport link, DTL, from the first data transceiver uses the relayed encoding key, K.sub.enc, provided by the terminal node, KN.sub.N, as a decoding key, wherein the encoding key used by the decoding unit as the decoding key is identified by the key identifier, KEY-ID, currently received by the second data transceiver via the data transport link, DTL.
13. The secure key relay method according to claim 1 wherein the logic operations performed by the terminal node, KN.sub.N, to provide the encryption key, K.sub.enc, on the basis of the reconstructed blinding values, S.sub.i, and the received encrypted cipher keys, CK.sub.i, comprise XOR-operations.
14. A secure key relay system used for relay of an encryption key, K.sub.enc, said secure key relay system comprising: an initial node, KN.sub.0, connected to an encoding unit (ENC) of a first data transceiver which is adapted to encode plain data, P.sub.data, using an encryption key, K.sub.enc, provided by the initial node, KN.sub.0, to provide encrypted cipher data, C.sub.data; a terminal node, KN.sub.N, connected to a decoding unit (DEC) of a second data transceiver which is adapted to decode the encrypted cipher data, C.sub.data, received from the first data transceiver via a data transport link, DTL, using a relayed encryption key, K.sub.enc, as a decoding key to retrieve the plain data, P.sub.data; and at least one intermediate relay node adapted to perform a secure key relay of the encryption key, K.sub.enc, used by the encoding unit from the initial node, KN.sub.0, to the terminal node, KN.sub.N, by performing a secure key relay method comprising the steps of: sharing QKD-keys, K, between the nodes via secure quantum channels, QCH, of a quantum key distribution network, QKDN; performing encryption of shared QKD-KEYS, K, at the initial node, KN.sub.0, and at each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, and blinding them with a blinding value, S.sub.i, of the respective node to provide an encrypted cipher key, CK.sub.i, by the initial node, KN.sub.0, and by each intermediate relay node, KN.sub.1, KN.sub.2 . . . KN.sub.N−1; transmitting the encrypted cipher keys, CK.sub.i, of the initial node, KN.sub.0, and of each of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to the terminal node, KN.sub.N; and performing by the terminal node, KN.sub.N, logic operations on blinding values, S.sub.i, on the basis of the encrypted cipher keys, CK.sub.i, received by the terminal node, KN.sub.N, from the initial node, KN.sub.0, and received from each of the intermediate relay nodes, KN.sub.1, KN.sub.2 . . . KN.sub.N−1, to provide the encryption key, K.sub.enc, used by the decoding unit (DEC) of the second data transceiver as a decoding key to retrieve the plain data, P.sub.data.
15. The secure key relay system according to claim 14 wherein the initial node, KN.sub.0, the terminal node, KN.sub.N, and the at least one intermediate relay node comprise electrical or optical transceivers connected with each other by means of transport links used to transport the encrypted cipher keys, CK.sub.i, and the shares, p, of the blinding values, S.sub.i, between the transceivers.
16. The secure key relay system according to claim 14 wherein the initial node, KN.sub.0, and the terminal node, KN.sub.N, comprise trusted nodes of the secure key relay system.
17. The secure key relay system according to claim 14 wherein the initial node, the intermediate relay nodes and the terminal node are connected at least pairwise via secure quantum channels, QCH, of a quantum key distribution network, QKDN.
18. The secure key relay system according to claim 14 wherein the data transport link, DTL, used for transport of the encrypted cipher data between the first data transceiver and the second data transceiver comprises an optical data transport link, ODTL, or an electrical data transport link, EDTL.
Description
BRIEF DESCRIPTION OF FIGURES
[0032] In the following, possible embodiments of the different aspects of the present invention are described in more detail with reference to the enclosed figures.
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
DETAILED DESCRIPTION OF EMBODIMENTS
[0039]
[0040] The relay of the encryption key K.sub.enc can be performed by the computer-implemented method as illustrated in the flowchart of
[0041] In a first step S1, QKD-keys are shared between nodes via secure quantum channels QCH of a quantum key distribution network QKDN. As illustrated in
[0042] In a further step for performing the secure key relay of the encryption key K.sub.enc, the encryption of shared QKD-keys at the initial node KN.sub.0 and at each intermediate node is performed in step S2 and then they are blinded with a blinding value S.sub.i of the respective node to provide an encrypted cipher key by the initial node KN.sub.0 and by each intermediate relay node KN.sub.1, KN.sub.2 . . . KN.sub.N−1. Each node KN.sub.i can hold a so-called blinding value S.sub.i. The binding value S.sub.i of a node can be pre-distributed to the respective node or can be distributed to the node using a secret sharing protocol. Blinding comprises a technique to hide a secret key by performing an XOR-operation with a random value. Blinding forms a specific encryption technique. The blinding values S.sub.i of the different nodes can be distributed to the nodes by a secret sharing protocol SSS in such a way that an aggregation or a so-called sum of all blinding values S.sub.i can be calculated only at the terminal node KN.sub.N as also illustrated in
[0043] After having distributed the shares p using the secret sharing protocol SSS, in step S3 the encrypted cipher keys CK.sub.i of the initial node KN.sub.0 and of each of the intermediate relay nodes KN.sub.1, KN.sub.2 . . . KN.sub.N−1 are transmitted in step S4 to the terminal node KN.sub.N.
[0044] In a further step S5, the blinding values S.sub.i of the initial node KN.sub.0 and each of the intermediate relay nodes KN.sub.1, KN.sub.2 . . . KN.sub.N−1 can be reconstructed on the basis of the shares p received by the terminal node KN.sub.N. The reconstruction of the blinding values S.sub.i is illustrated in
[0045] In a final step S6, logic operations are performed by the terminal node KN.sub.N on the reconstructed or pre-distributed blinding values S.sub.i on the basis of the encrypted cipher keys CK.sub.i received by the terminal node KN.sub.N from the initial node KN.sub.0 and received from each of the intermediate relay nodes KN.sub.1, KN.sub.2 . . . KN.sub.N−1 to provide the original encryption key K.sub.enc used by the decoding unit DEC of the second data transceiver TR-B (Bob) as a decoding key to retrieve the plain data P.sub.data as also illustrated in
[0046] The computer-implemented method for performing a secure key relay of an encryption key K.sub.enc comprises in a possible embodiment the main steps S1,S2,S4,S6 as illustrated in the flowchart of
[0047] A first step S1 of sharing the QKD-keys is performed by a quantum key distribution network QKDN connected to the nodes of the secure key relay chain as shown in
[0048] A step S2 of performing an encryption of the shared QKD-keys and a step of distributing S3 the blinding values S.sub.i is performed by every key relay node of the key relay node chain shown in
[0049] Accordingly, the present invention provides according to a further aspect a key relay node KN adapted to perform encryption of a shared QKD-key and adapted to blind an encryption key K.sub.enc with a blinding value S.sub.i to provide an encrypted cipher key CK.sub.i which is transmitted by the respective key relay node KN to the terminal node KN.sub.N. The respective key relay node KN is further adapted to distribute shares p of its blinding value S.sub.i to the other key relay nodes KN within the key relay node chain using a secret sharing protocol.
[0050] The terminal node KN.sub.N is adapted to perform steps S5, S6 of the embodiment of the computer-implemented method as illustrated in the flowchart of
[0051] In a possible embodiment, the blinding value S.sub.i of each node used for blinding the encrypted shared QKD-keys K comprises a unique random value. This unique random value can be generated in a possible embodiment by a local random number generator RNG implemented in the respective node. The random number generator RNG may be implemented as a pseudo random number generator PRNG.
[0052] The QKD-keys K shared between the nodes via the secure quantum channels QCH in step S1 can be OTP-encrypted in step S2 in a possible embodiment by performing a bitwise XOR-operation on the shared QKD-keys K at the respective node. The OTP-encrypted QKD-keys can be blinded in step S2 with the blinding value S.sub.i of the respective node by performing also an XOR-operation on the OTP-encrypted QKD-keys and the respective blinding value S.sub.i of the respective node.
[0053] In a possible embodiment of the secure key relay system 1 as illustrated in
[0054] The generated or received encryption key K.sub.enc can be stored in a local key memory of the first data transceiver TR-A along with an associated unique key identifier KEY-ID of the respective encryption key K.sub.enc. The key identifier KEY-ID of the encryption key K.sub.enc is transported from the first data transceiver TR-A (Alice) via the data transmission link DTL to the second data transceiver TR-B (Bob). Along the same data transmission link DTL, the encrypted cipher data C.sub.data can be transported as payload within data packets DP. Each data packet DP can comprise an overhead OH and a payload section PL. The data packets DPs are transmitted by the first data transceiver TR-A via the data transmission link DTL to the second data transceiver TR-B. The data transmission link DTL can comprise in a preferred embodiment an optical data transmission link ODTL. In an alternative embodiment, the data transmission link DTL can also comprise a wired or wireless electronic data transmission link EDTL. The key identifier KEY-ID of the encryption key K.sub.enc which is relayed from the initial node KN.sub.0 via the intermediate key relay nodes KN.sub.1, KN.sub.2 . . . KN.sub.N−1 to the terminal node KN.sub.N can be transported in a possible embodiment within an associated field of the overheads OH of the associated transport data packets DPs. The encryption key K.sub.enc is used by the encoding unit ENC of the first data transceiver TR-A for performing a symmetric key encryption, for instance AES, of the plain data P.sub.data The employed key encryption can comprise a symmetric key encryption. The symmetric encryption and decryption has the advantage that it can be performed at a high processing speed. The encryption key K.sub.enc can be used as a one-time pad OTP for a predefined amount of the received plain data P.sub.data.
[0055] The plain data P can comprise any kind of data such as image data, audio data or text data used to carry information from the same or different data sources.
[0056] The encryption of the plain data P and the decryption of the encrypted payload data PL can be performed by the transceivers TR in real time. The key relay can be performed in parallel in real time during transport of the data packets DP via the data transport link DTL. In an alternative embodiment a key relay of a sequence or group of encryption keys can be performed in advance of the transport of the encrypted data payload PL within the data packets DPs. In this case the serial transmitted data packets DPs carry a corresponding sequence of associated key identifiers Key-IDs for the already relayed encryption keys.
[0057] The transport of the encrypted data via the data transport link DTL can be performed by means of data packets. In an alternative embodiment the transport of the encrypted data can be performed in a data stream.
[0058] The initial node KN.sub.0, the intermediate relay nodes KN.sub.1, KN.sub.2 . . . KN.sub.N−1 and the terminal node KN.sub.N comprise in a possible embodiment electrical transceivers connected with each other via electrical transport links which can be used to transport the encrypted cipher keys CK.sub.i as well as the shares p of the blinding values S.sub.i of the respective nodes between the electrical transceivers. In an alternative embodiment the initial node KN.sub.0, the intermediate relay nodes KN.sub.1, KN.sub.2 . . . KN.sub.N−1 and the terminal node KN.sub.N comprise optical transceivers connected with each other via optical transport links which can be used to transport the encrypted cipher keys CKi as well as the shares p of the blinding values Si of the respective nodes between the optical transceivers.
[0059] The decryption unit DEC of the second data transceiver TR-B (Bob) is adapted to decode, i.e. to decrypt, the encrypted cipher data C.sub.data received via the data transport link DTL from the first data transceiver TR-A using the relayed encoding key K.sub.enc provided by the terminal node KN.sub.N as a decoding key. The key used by the decoding unit DEC as a decoding key is identified by the key identifier KEY-ID currently received by the second data transceiver TR-B via the data transport link DTL. This key identifier KEY-ID can be transported within a field of an overhead OH of the received data packets. In a possible embodiment, the logic operations performed in step S6 by the terminal node KN.sub.N to provide the encryption key K.sub.enc used by the decoding unit DEC for decryption comprise XOR-operations performed on the basis of the reconstructed blinding values S and the received encrypted cipher keys CK.sub.i.
[0060] As can be seen in the block diagram of
[0061] The blinding values S of the initial node KN.sub.0 and of each intermediate key relay node KN.sub.1, KN.sub.2 . . . KN.sub.N−1 can be distributed as shares p to the other nodes by using a secret sharing protocol SSS as illustrated in
[0062] The secure key relay system 1 according to the present invention can in a possible embodiment make use of a method of distributing and reconstructing blinding values S.sub.i involving a secret sharing protocol. This includes an input sharing phase as illustrated in the diagram of
[0063] In a reconstruction phase, the terminal node KN.sub.N aggregates the n shares p from the other nodes and reconstructs the original blinding value S.sub.i from each node by a secret sharing technique. This process can be repeated for every relay node. By this process, each blinding value S.sub.i is kept perfectly secure unless all nodes are hacked and their shares are revealed.
[0064] Besides the process of distributing and reconstructing blinding values S.sub.i by using a secret sharing protocol, the secure key relay system 1 also uses a process of hiding the QKD-key by performing an XOR-operation with a random value. Each key relay node generates a unique random value which forms a so-called blinding value S. The shared QKD-keys at each node are XORed with each other (OTP-encrypted) and can then in addition also undergo an XOR-operation with the associated blinding value (CK.sub.i=(K.sub.i⊕K.sub.i+1⊕S.sub.i)). Then, the outcome, i.e. the cipher key CK.sub.i, is sent to the trusted terminal node KN.sub.N. In this process, a security breach of a key relay node may reveal the shared QKD-keys K and the blinding value S.sub.i but does not reveal any information on other QKD keys K of other nodes since each node comprises different blinding values S. Hence, the encryption key K.sub.enc which is relayed over the nodes is protected under all circumstances.
[0065]
[0066] The electrical transceivers can comprise Ethernet transceivers. The electrical transceivers are in turn connected to QKD-units which provide quantum channels QCH for sharing QKD-keys between nodes. As can be seen in