Quantum cryptography communication control device, quantum cryptography communication control method and program
The quantum cryptography communication control device optimizes path selection and key management to ensure secure and efficient delivery of encryption keys, addressing QoS issues in cryptographically protected networks.
Patent Information
- Application Number
- JP2022192202
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-30
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2042-11-30
AI Technical Summary
Conventional techniques fail to guarantee the quality of service (QoS) expected by applications in cryptographically protected networks due to unpredictable link quality and latency.
A quantum cryptography communication control device with a collection, calculation, guarantee, and selection unit that manages link information, calculates link costs, and selects optimal paths to ensure sufficient local key availability for secure global key transfer.
Guarantees the quality of service by optimizing the transfer path for global keys, ensuring the secure and efficient delivery of encryption keys to meet application requirements.
Smart Images

Figure 0007757267000001 
Figure 0007757267000002 
Figure 0007757267000003
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to a quantum cryptography communication control device, a quantum cryptography communication control method, and a program. [Background technology]
[0002] In a cryptographically protected network, a method for routing data traffic based on the remaining cryptographic capacity of a link so as to avoid important data traffic from a risky link or a link with a high latency has been known in the prior art. Also, a network routing device (e.g., a router) that performs "flow control" based on the remaining cryptographic capacity of a link has been known in the prior art. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] U.S. Patent No. 7,392,378 [Patent Document 2] U.S. Patent No. 7,441,267 Summary of the Invention [Problem to be solved by the invention]
[0004] However, conventional techniques have the problem that they cannot always guarantee the quality of service (QoS) that applications originally expect. [Means for solving the problem]
[0005] A quantum cryptography communication control device according to an embodiment includes a collection unit, a calculation unit, a guarantee unit, and a selection unit. The collection unit collects link information about links for which local keys are generated by quantum key distribution and a global key guarantee amount expected between pairs of applications that perform cryptographic communication using a global key. The calculation unit calculates a link cost used to select a transfer path for the global key based on the link information. The guarantee unit calculates a guaranteeable amount of the local key used on the link so as to satisfy the global key guarantee amount. The selection unit selects a transfer path for the global key based on the link cost and the guaranteeable amount. [Brief explanation of the drawings]
[0006] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a quantum cryptography communication system according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a global key sharing process according to the embodiment. [Figure 3] FIG. 3 is a diagram showing an example of the configuration of a minimum unit key sharing network. [Figure 4] FIG. 4 is a diagram illustrating an example of a functional configuration of a node according to the embodiment. [Figure 5] FIG. 5 is a flowchart illustrating an example of a quantum cryptography communication control method according to an embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of application pair information according to the embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of link information according to the embodiment. [Figure 8] FIG. 8 is a diagram illustrating an example of application pair-link information according to the embodiment. [Figure 9] FIG. 9 is a diagram illustrating an example of a configuration of the first modification of the embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of a configuration of the second modification of the embodiment. [Figure 11] FIG. 11 is a diagram illustrating an example of a hardware configuration of a node according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0007] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a quantum cryptography communication control device, a quantum cryptography communication control method, and a program will be described in detail with reference to the accompanying drawings.
[0008] (First embodiment) First, an example of the configuration of a quantum cryptography communication system according to an embodiment will be described. [Configuration example] 1 is a diagram showing an example of the configuration of a quantum cryptography communication system 1 according to an embodiment. The quantum cryptography communication system 1 according to the embodiment includes nodes 100a to 100e, applications 200a to 200b, an application network 501, and a key sharing network 502.
[0009] For example, node 100a is connected to nodes 100b, 100c, and 100d via links. Node 100a shares a local key (quantum key) 301a with node 100b via the link using quantum key distribution (QKD). Node 100a also generates a random number encryption key as global key 401a, independently of the generation of the encryption key (quantum key) using QKD, and provides the global key 401a to application 200a.
[0010] For example, node 100e is connected to nodes 100b, 100c, and 100d via links. Node 100e shares local key 301b with node 100c via the link using QKD. Node 100e also generates a random number encryption key as global key 401b, independently of the generation of the encryption key using QKD, and provides it to application 200b.
[0011] Hereinafter, when there is no need to distinguish between the nodes 100a to 100e, they will simply be referred to as nodes 100. When there is no need to distinguish between the applications 200a to 200b, they will simply be referred to as applications 200. When there is no need to distinguish between the local keys 301a to 301b, they will simply be referred to as local keys 301. When there is no need to distinguish between the global keys 401a to 401b, they will simply be referred to as global keys 401.
[0012] The application 200 performs encrypted communication using the global key 401 via the application network 501 .
[0013] The application network 501 is a network over which data encrypted using the global key 401 is transmitted and received.
[0014] The key sharing network 502 is a network in which the local keys 301 are shared among the nodes 100 connected by links.
[0015] 1, the number of nodes 100 is 5, but the number of nodes 100 is not limited to 5. Also, in the example of FIG. 1, the number of applications 200 is 2, but the number of applications 200 is not limited to 2.
[0016] 2 is a diagram illustrating an example of a process for sharing a global key 401 according to an embodiment. As described above, the node 100 has a QKD function. Specifically, the node 100 has a function for generating and sharing a random number with other nodes 100 connected via a link, and a function for performing encrypted communication on a key sharing network 502 using the generated random number as a local key 301.
[0017] In addition, specific nodes 100 (nodes 100a and 100e in the example of Figure 2) may be equipped with a function to generate random numbers (global key 401 in the example of Figure 2) independently of the QKD function, and a function to transmit the random numbers generated by this function to the opposing device.
[0018] Each node 100 performs routing to share the global key 401. Then, each node 100 shares (transfers) the global key 401 using the path determined by the routing. The global key 401 is encrypted by OTP (One Time Pad) communication using the local key 301 shared between the opposing nodes 100 connected by a link, and is securely transferred to the opposing node 100.
[0019] In the example of FIG. 2, a global key 401 is shared between the node 100a and the node 100e, and the global key 401 is provided to the applications 200a and 200b.
[0020] Fig. 3 is a diagram showing an example of the configuration of the smallest unit key sharing network 502. The example in Fig. 3 shows a case where nodes 100f and 100g are connected by a link and QKD is performed over the link. As shown in Fig. 3, the configuration of the smallest unit key sharing network 502 is made up of a pair of nodes 100f and 100g.
[0021] 4 is a diagram illustrating an example of a functional configuration of the node 100 according to the embodiment. The node 100 according to the embodiment (an example of a quantum cryptography communication control device) includes a control unit 101, a management unit 102, a platform unit 103, a communication unit 104, and a routing processing unit 110.
[0022] The control unit 101 controls the processing performed in the node 100. The control unit 101 is responsible for starting up each component, for example, and also controls the timing of route calculation (route recalculation) performed in the routing processing unit 110.
[0023] For example, the control unit 101 determines to calculate the link cost used to select a transfer path for the global key 401 and the guarantorable amount of the local key 301, and to select a transfer path, when a global key guarantee requested by a new pair of applications 200 is added, when a global key guarantee of an existing pair of applications 200 is deleted, when a global key guarantee of an existing pair of applications 200 is changed, or when the global key guarantee cannot be guaranteed on the current transfer path (delivery path). Here, the global key guarantee is, for example, the amount of global key required by the application 200 per unit time.
[0024] Furthermore, for example, the control unit 101 periodically determines to calculate the link cost and the guarantable amount of the local key 301, and to select the transfer path. By periodically recalculating the global key transfer path, it is possible to optimize the local key consumption of each link overall.
[0025] Furthermore, for example, when at least one of the local key generation amount and the local key storage amount is smaller than a threshold, the control unit 101 determines to calculate the link cost and the guarantable amount of the local key 301 and to select a transfer path. For example, if the local key generation amount decreases due to a change in the environment or the presence of an eavesdropper, the local key storage amount also decreases. If the local key storage amount decreases, it may become impossible to guarantee the global key storage amount. Therefore, the transfer amount of the global key 401 can be guaranteed by recalculating the global key transfer path.
[0026] The management unit 102 manages key resources such as keys for links connected to the node 100, key generation speeds, and key holding amounts.
[0027] The platform unit 103 provides a computer operating system function, basic network function, security function, etc., required for managing and operating the other components of the node 100 .
[0028] The communication unit 104 communicates with other nodes 100 to which the node 100 is connected. A communication unit 104 is provided for each link, and each communication unit 104 has a quantum communication unit 105 and a classical communication unit 106. The example in Fig. 4 shows a case where each of three links connects the opposite node 100 with the quantum communication unit 105 and the classical communication unit 106.
[0029] The quantum communication unit 105 is connected to other nodes 100 via a quantum communication channel 105, and performs quantum communication with the other nodes 100. The quantum communication unit 105 uses quantum key generation (QKD) to share a photon bit string (random number) for generating a local key (encryption key) with the nodes 100 connected by the link.
[0030] The classical communication unit 106 is connected to other nodes 100 via a classical communication channel 106, and performs classical communication with the other nodes 100. Data exchanged between the nodes 100 via the classical communication unit 106 includes data such as a global key 401. Data such as the global key 401 is usually transmitted via the classical communication unit 106 by encrypted communication using a local key 301 managed by the node 100.
[0031] The routing processing unit 110 executes routing (path control) of the global key 401. The routing processing unit 110 includes a collection unit 111, a calculation unit 112, a guarantee unit 113, a selection unit 114, and a storage unit 115.
[0032] The collection unit 111 collects link information (see FIG. 7 described later) via the classical communication unit 106. The link information includes the status of the link to which the node 100 is connected, the network address of the link, the cost of each link, network information, etc. The collection unit 111 also collects application pair information (see FIG. 6 described later) of applications connected to the node 100. The collection unit 111 stores the collected link information and application pair information in the storage unit 115.
[0033] The calculation unit 112 calculates the link capacity (the amount of local keys that can be passed through the link) and the link cost based on the link capacity, using the local key generation amount, local key storage amount, and local key reservation amount of the link connected to the node 100. Note that the calculation unit 112 may also calculate the link capacity and the link cost based on the link capacity by further using the state and QKD performance.
[0034] The guarantee unit 113 calculates the guaranteeable amount of the local key 301 for each path from the link capacity and link cost calculated by the calculation unit 112 and the global key guarantee amount collected by the collection unit 111. Note that the guarantee unit 113 may calculate the guaranteeable amount of the local key 301 by further using the global key accumulation amount, the global key consumption amount, and the global key generation amount.
[0035] The selector 114 creates an optimal path tree by selecting an optimal path with the optimal metric from multiple path candidates that reach the receiving base (node 100) based on the link costs (metrics) of the path candidates. The selector 114 creates a routing table from the optimal path tree and stores the routing table in the memory unit 115.
[0036] The memory unit 115 stores a database of link information (e.g., local key generation amount, local key accumulation amount, local key reservation amount, status and QKD performance), a database of application pair information (e.g., global key guarantee amount, global key accumulation amount, global key consumption amount and global key generation amount), and a routing table created by the selection unit 114.
[0037] [Example of quantum cryptography communication control method] 5 is a flowchart showing an example of a quantum cryptography communication control method according to an embodiment. First, the collection unit 111 collects link information and application pair information and stores the link information and application pair information in the storage unit 115 (step S1). Next, the calculation unit 112 acquires application pair information (e.g., global key guarantee amount, global key accumulation amount, global key consumption amount, and global key generation amount) from the storage unit 115 (step S2). Note that the calculation unit 112 may receive a request for the application pair information (e.g., global key guarantee amount, global key accumulation amount, global key consumption amount, and global key generation amount) directly from the application 200, without acquiring the application pair information from the storage unit 115.
[0038] 6 is a diagram illustrating an example of application pair information according to an embodiment. The application pair information according to the embodiment includes an application pair, a domain, a sending base (node 100), a receiving base (node 100), a global key guarantee amount, a key length, a key guarantee start date and time, a key guarantee end date and time, a global key accumulation amount, a global key consumption amount, and a global key generation amount.
[0039] The application pair is information indicating a pair of applications 200 that perform encrypted communication. The domain is information indicating the administrator (owner) of the application pair. The sending side's base (node 100) is information indicating the base (node 100) where the sending side of the application pair is located. The receiving side's base (node 100) is information indicating the base (node 100) where the receiving side of the application pair is located. The sending side's base and the receiving side's base are used as the start point and end point in route calculation.
[0040] The global key guarantee is the guaranteed amount (bytes) of the encryption key (global key) per unit of time (e.g., one day, one hour, one minute, etc.) expected (required) by a user of the application pair (e.g., an administrator of the application pair). For example, the global key guarantee is accepted by registration from an application 200 or a pair of applications 200. Alternatively, for example, the global key guarantee may be accepted by registration from a user who uses a pair of applications 200. If the global key guarantee is not registered from the application pair 200 or the pair of applications 200, the global key requirement is estimated based on global key information other than the global key guarantee (global key consumption amount and global key generation amount). Alternatively, for example, if the global key guarantee is not registered by the user, the global key requirement is estimated based on global key information other than the global key guarantee (global key consumption amount and global key generation amount). The global key guarantee or the global key requirement is used as a parameter of the link cost.
[0041] The key length is the length of the encryption key (global key). The key assurance start date and time is the date and time when assurance of the encryption key (global key) begins. The key assurance expiration date and time is the date and time when assurance of the encryption key (global key) ends.
[0042] The global key accumulation amount is the accumulation amount (bytes) of encryption keys (global keys) used by the application pair. The global key consumption amount is the consumption amount (bytes, bps) of encryption keys (global keys) used by the application pair per unit time (e.g., 1 day, 1 hour, 1 minute, etc.). The global key generation amount is the generation amount (bytes, bps) of encryption keys (global keys) generated for the application pair per unit time (e.g., 1 day, 1 hour, 1 minute, etc.).
[0043] Note that the application pair information shown in Fig. 6 is an example. In the application pair information shown in Fig. 6, for example, the domain, key length, key assurance start date and time, and key assurance end date and time are optional, and the application pair information does not necessarily include, for example, the domain, key length, key assurance start date and time, and key assurance end date and time.
[0044] Returning to FIG. 5, the calculation unit 112 then acquires link information (for example, local key generation amount, local key accumulation amount, local key reservation amount, status, and QKD performance) from the storage unit 115 (step S3).
[0045] 7 is a diagram illustrating an example of link information according to an embodiment, which includes link, status, network information, maximum local key storage capacity, local key storage capacity, local key generation capacity, local key consumption capacity, local key reservation capacity, time, and QKD performance.
[0046] The link is information indicating the link to which the node 100 is connected. The status is the operating status of the link and the operating status of the nodes 100 that make up the link. The network information is information on the transmitting and receiving points of the link (for example, the transmitting speed and receiving speed, etc.).
[0047] The local key maximum storage capacity is the maximum storage capacity (bytes) of the link's encryption key (local key), and indicates the storage capacity of the link's encryption key (local key). The local key storage capacity is the storage capacity (bytes) of the link's encryption key (local key), and indicates the storage capacity of the encryption key (local key) currently stored. The local key generation capacity is the cumulative generation capacity (bytes, bps) of the link's encryption key (local key).
[0048] The local key consumption is the cumulative consumption (bytes, bps) of the encryption key (local key) of the link. The local key reservation amount is the total value (bytes) of the local key amount reserved for the link to satisfy the guaranteed amount of the global key 401 expected by each application pair. The local key consumption amount and the local key reservation amount are updated when a new transfer path for the global key 401 is determined.
[0049] The time is a timestamp indicating the time when the link information was recorded. The QKD performance is the performance of the QKD device (node 100 in the example of FIG. 1). For example, the QKD performance is the amount of secure keys generated, the secure key rate, and the secure key error rate. The secure key is a key before the local key 301 is generated, and differs from the local key 301 in that it is not divided into encryption and decryption keys.
[0050] The link information shown in Fig. 7 is an example. Of the link information shown in Fig. 7, for example, the state is optional, and the link information does not have to include, for example, the state.
[0051] 5, the calculation unit 112 then calculates the link capacity and the link cost based on the link capacity using the link information acquired in step S3 (step S4). The link cost is used to select (extract) the guarantable amount of the local key 301 and the transfer path of the global key 401.
[0052] In the calculation of the link capacity and the link cost using the link capacity in step S4, for example, the following parameters included in the link information are used.
[0053] ·Number of local keys generated per unit time N gen In order to take into account fluctuations in the amount of key generation for each link due to QKD, the calculation unit 112 calculates the future amount of local key generation N gen and local key generation amount N gen is used to calculate the link cost. Reserved local key amount per unit time N rsv The calculation unit 112 calculates the reserved local key amount N rsv is used to calculate the link cost. Current local key storage amount Ncur The calculation unit 112 calculates the current local key storage amount N cur is used to calculate the link cost.
[0054] The calculation unit 112 calculates the link capacity N=N gen +N cur -N rsv In other words, the link cost is calculated using the local key generation amount N gen , the current local key storage amount N cur and the reserved local key quantity N rsv The link capacity N is used, which is the value obtained by subtracting the local key reserved amount N rsv By subtracting , the route can be calculated so that the reserved key of another application 200 is not used.
[0055] The link information includes the local key generation amount N gen , and the local key accumulation amount N of the local keys 301 used in the link cur and the local key reservation amount N reserved on the link rsv For example, the local key generation quantity N gen , the calculation unit 112 calculates the link capacity N of the link N=N gen -N rsv and calculate the link cost based on the link capacity N. Also, for example, the local key storage amount N cur , the calculation unit 112 calculates the link capacity N of the link N=N cur -N rsv is calculated, and the link cost is calculated based on the link capacity N.
[0056] Next, an example of a formula for calculating the link cost in step S4 will be given.
[0057] The calculation unit 112 selects the following formula, which is a linear function, an inverse proportional function, or an exponential function, as the calculation formula for the link cost, depending on the degree of influence on the link cost by the magnitude of the input parameter.
[0058] 1. Linear function C=N max -αN+β where N max is the maximum local key storage amount, N is the link capacity described above, and α and β are weighting coefficients. A linear function is used when it is desired to increase the link cost as the local key amount decreases.
[0059] 2. Inverse proportional function C=α / N+β The inverse proportional function is used when it is desired to make the cost smaller as the amount of local keys increases and to make the cost larger as the amount of local keys decreases.
[0060] 3. Exponential function C=αγ N +β(0<γ<1) The exponential function is used when it is desired to contribute more to the link cost to avoid exhaustion when the local key quantity is small compared to when the local key quantity is large.
[0061] The calculation unit 112 uses, for example, the linear function described above to calculate the link cost C so that the larger the link capacity N, the smaller the link cost C. This allows the selection unit 114 to preferentially select a transfer path that can transfer more global keys 401 based on the link cost C, thereby distributing the load of local key consumption on each link and reducing the risk of local key depletion.
[0062] Furthermore, for example, the following parameters included in the link information may be used in the calculation of the link capacity and the link cost using the link capacity in step S4.
[0063] Error rate e The calculation unit 112 directly uses the error rate e (%), which is one of the QKD performance measures. Alternatively, if the error rate q is equal to or greater than a threshold, the calculation unit 112 sets the link cost to a large value such as infinity. For example, if the threshold is set to 10, the error rate q is as follows: Variable e=∞ (when q≧10(%)) based on error rate q(%) e=q (when q<10(%))
[0064] Secure key generation rate per unit time K gen The calculation unit 112 calculates the above-mentioned secure key generation rate K gen the local key generation amount N gen may be used instead of
[0065] Link status flags If the link is not in operation, the calculation unit 112 sets the link cost to a large value such as infinity. Also, if one of the two nodes 100 constituting the link is not in operation, the calculation unit 112 sets the link evaluation value of the link to a large value such as infinity. Link status variable s=1 (if the link is up), s=∞ (if the link is not up)
[0066] By introducing the above parameters for evaluating the link conditions and link performance, it is possible to calculate a route for transferring the global key 401 taking into consideration the route with the best conditions.
[0067] For example, an additional parameter may be introduced into the link cost calculation formula C shown in 1. to 3. in step S4 to calculate the link cost C 2 The following formulas 4 to 6 are not limited to any one of them, and may be used in combination.
[0068] 4.C 2 = eC (introduction of error rate e) Eavesdropping is detected at an error rate e, and the link cost mentioned above is multiplied by the error rate e. This formula is used when you want to increase the link cost as the error rate e increases.
[0069] 5.C 2 =C / K gen (Secure key implementation) This formula is used when it is desired to reduce the link cost as the secure key generation rate increases.
[0070] 6.C 2 =sC (introduce link state s) This formula is used when you want to increase the link cost when the link is not operational.
[0071] Furthermore, for example, the following parameters included in the application pair information may be used in the calculation of the link capacity and the link cost using the link capacity in step S4: That is, the calculation unit 112 may calculate the link cost further based on the global key accumulation amount, the global key consumption amount, and the global key generation amount.
[0072] Global key storage volume G cur u,v The calculation unit 112 calculates the accumulated amount G of the encryption keys (global keys 401) of the application pair between the site u and the site v. cur u,v Use the global key storage amount G (current storage amount). cur u,v By using the global key guarantee amount G, the global key 401 already stored can be used as part of the global key guarantee amount, so that the global key requirement amount described below can be set smaller. cur u,v is introduced into the link cost calculation formula.
[0073] Global key consumption G used u,v The calculation unit 112 uses the consumption (actually used amount) of the encryption key (global key 401) of the application pair between the base u and the base v. The global key consumption G used u,v By using the global key consumption G, it is possible to grasp the usage trend of the global key 401 up to now and estimate the required global key quantity, which will be described later.used u,v is introduced into the link cost calculation formula.
[0074] Global key generation amount G gen u,v The calculation unit 112 uses the amount of encryption keys (global keys 401) generated (the amount generated) for the application pair between the point u and the point v. The global key generation amount G gen u,v By using this, it is possible to grasp the tendency of global keys 401 to be generated up to now and estimate the required global key amount, which will be described later. Alternatively, the calculation unit 112 can estimate the global key generation amount G gen u,v is introduced into the link cost calculation formula.
[0075] By using the parameters related to the global key 401 described above to estimate the required global key amount or to calculate the link cost, it is possible to set a route that efficiently guarantees the global key guarantee amount (described later) without waste.
[0076] For example, an additional parameter may be introduced into the link cost calculation formula C shown in 1. to 3. in step S4 to calculate the link cost C 3 The following formulas 7 to 9 are not limited to any one of them, and may be used in combination.
[0077] 7.C ik 3 =C ik -αG cur u,v (Global key accumulation amount G cur u,v (Introduction of C kj 3 =C kj -αG cur u,v Here, k indicates an arbitrary point (node 100), and i and j indicate either point u or v (node 100). ikindicates the link cost between nodes i and k, and C kj indicates the link cost between nodes k and j. This formula is used to calculate the global key storage amount C cur u,v This is used when it is desired to subtract a value based on the above (a value multiplied by the weighting coefficient α) from the link cost of the link connecting the start point node u and the end point node v of the application pair.
[0078] 8.C ik 3 =C ik +αG used u,v (Global key consumption G used u,v (Introduction of C kj 3 =C kj +αG used u,v This formula is the past global key consumption G used u,v This is used when you want to add a value based on this (value multiplied by the weighting coefficient α) to the link cost of the link connecting the start node u and the end node v of an application pair.
[0079] 9.C ik 3 =C ik +αG gen u,v (Global key generation amount G gen u,v (Introduction of C kj 3 =C kj +αG gen u,v This formula is used to calculate the past global key generation amount G gen u,v This is used when you want to add a value based on this (value multiplied by the weighting coefficient α) to the link cost of the link connecting the start node u and the end node v of an application pair.
[0080] Furthermore, in step S4, the calculation unit 112 may estimate the required global key quantity that actually needs to be generated. An example of estimating the required global key quantity H is given below. If the estimated required global key quantity H is a negative value, the required global key quantity is set to 0.
[0081] 1. If the global key guarantee is not set (global key consumption G used use) H=αG used -βG cur The calculation unit 112 calculates the past global key consumption G used and the global key accumulation amount G cur The global key requirement H is estimated from
[0082] 2. When the global key guarantee amount is not set (global key generation amount G gen use) H=αG gen -βG cur The calculation unit 112 calculates the past global key generation amount G gen and the global key accumulation amount G cur The global key requirement H is estimated from
[0083] 3. Global key guarantee H in If you have registered H=H in -α(G gen -G used )-βG cur The calculation unit 112 calculates the global key generation amount G gen and global key consumption G used The calculation unit 112 then calculates the estimated required global key amount by taking the difference between the registered global key guaranteed amount H in The difference between the estimated required global key amount and the global key amount G cur The global key requirement H is estimated by subtracting
[0084] Next, the guarantee unit 113 calculates the global key guarantee H obtained in step S2. in The local key quantity available for use on the link calculated from the link information (e.g., local key generation quantity, local key accumulation quantity, local key reserved quantity, status, and QKD performance) acquired in step S3 and the link cost calculated in step S4 are used to calculate the local key guarantee quantity for each route (step S5).
[0085] In addition, the global key guarantee H in Instead of the global key requirement H, the global key requirement H may be used, which is estimated using the global key accumulation amount, the global key consumption amount, and the global key generation amount. In other words, when the global key requirement H is estimated, the guarantee unit 113 may calculate the guaranteeable amount of the local keys 301 used in the link so as to satisfy the global key requirement H.
[0086] Next, the selection unit 114 selects a route, calculates the maximum flow that can be carried on each route (corresponding to the smallest local key amount among the capacities of all links present in the route), and calculates the local key reservation amount for each link (step S6).
[0087] Specifically, the selection unit 114 first prioritizes the routes by listing them in ascending order of link cost calculated in step S4. The selection unit 114 selects, from the prioritized routes, a route that achieves the maximum flow from the local key guarantee capacity of each route calculated in step S5 (selection of minimum cost maximum flow). That is, the selection unit 114 solves a minimum cost maximum flow problem for the start node 100 and the end node 100. The selection unit 114 then calculates the local key reservation capacity of each link so as to satisfy the global key guarantee capacity obtained in step S2.
[0088] By selecting a route that satisfies the global key guarantee requested by the application pair (solving the maximum flow problem by providing the global key guarantee as a parameter), it becomes possible to select a route that delivers the amount of global key 401 expected by the application pair. In this case, a route may be selected that satisfies the global key requirement H instead of the global key guarantee.
[0089] Next, the selection unit 114 updates the link information and the application pair-link information (step S7). Specifically, the selection unit 114 updates the local key reservation amount n rsv From the above, the local key reservation amount N for all app pairs of each link is rsv =Σn rsv and calculates the local key reserved amount N rsv Furthermore, the selection unit 114 updates the local key reservation amount n rsv The local key reserved amount included in the application pair link information is updated by the
[0090] Local key reservation N for each link rsv By setting (updating) this, the transfer route of the global key 401 can be determined so as not to infringe on the local key amount used by other application pairs when calculating the next key transfer (delivery) route.
[0091] 8 is a diagram illustrating an example of application pair-link information according to an embodiment. The application pair-link information according to an embodiment includes a link, an application pair, a local key reservation amount, a key reservation start date and time, and a key reservation end date and time. The link and application pair are the same as those described above. The link and application pair are used as a composite key to identify data included in the application pair-link information.
[0092] The local key reserved size is the size (bytes) of the local key reserved to satisfy the global key guarantee size expected by one application pair for the link. The key reservation start date and time is the guarantee (reservation) start date and time of the encryption key (global key 401). The key reservation end date and time is the guarantee (reservation) end date and time of the encryption key (global key 401).
[0093] Note that the application pair-link information shown in Fig. 8 is an example. In the application pair-link information shown in Fig. 8, for example, the key reservation start date and time and the key reservation end date and time are optional, and the application pair-link information does not necessarily need to include, for example, the key reservation start date and time and the key reservation end date and time.
[0094] As described above, in the node 100 of the embodiment, the collection unit 111 collects link information of links for which local keys are generated by quantum key distribution and global key guarantees expected for pairs of applications 200 that perform encrypted communication using global keys. The calculation unit 112 calculates link costs used to select a global key transfer path based on the link information. The guarantee unit 113 calculates the guaranteeable amount of the local key used on the link so as to satisfy the global key guarantee. Then, the selection unit 114 selects a global key transfer path based on the link costs and the guaranteeable amount of the local key.
[0095] As a result, the node 100 of the embodiment can guarantee the QoS that the application 200 originally expects. That is, it can guarantee the supply of the encryption key (global 401) that each application 200 expects.
[0096] For example, a global key transfer path can be determined to satisfy a pre-registered global key guarantee amount, thereby guaranteeing the supply (QoS) of the amount of global keys required for communication encryption of application 200 to users of the QKD service.
[0097] Furthermore, when the node 100 determines a transmission path that satisfies the global key guarantee, the node 100 stores the local key reservation amount consumed in each link and uses the local key reservation amount to calculate the link cost of each link. This allows the node 100 to determine a transmission path that does not impede the supply (QoS) of the global key 401 to other users of the QKD service.
[0098] (Modification 1 of the embodiment) Next, a first modification of the embodiment will be described. In the description of the first modification, the same description as in the embodiment will be omitted, and only the differences from the embodiment will be described.
[0099] [Configuration example] 9 is a diagram showing an example of the configuration of Modification 1 of the embodiment. In Modification 1, the node 100 of the above-described embodiment is separated into a node 100-2 and a central management node 600.
[0100] The node 100-2 includes a control unit 101, a management unit 102, a platform unit 103, a communication unit 104, and a routing processing unit 110-2. The routing processing unit 110-2 includes a collection unit 111 and a storage unit 115.
[0101] The central management node 600 (an example of a quantum cryptography communication control device) includes a collection unit 601, a storage unit 602, and a routing processing unit 110-3. The routing processing unit 110-3 includes a calculation unit 112, a guarantee unit 113, and a selection unit 114.
[0102] As shown in FIG. 9, the route calculation process by the calculation unit 112, the assurance unit 113, and the selection unit 114 may be performed by a central management node 600.
[0103] (Modification 2 of the embodiment) Next, a description will be given of Modification 2 of the embodiment. In the description of Modification 2, the same description as in the embodiment will be omitted, and only the differences from the embodiment will be described.
[0104] [Configuration example] 10 is a diagram showing an example of the configuration of Modification 2 of the embodiment. In Modification 2, the node 100 of the above-described embodiment is separated into the node 100 and a central management node 600-2.
[0105] The configuration of the node 100 (an example of a quantum cryptography communication control device) of the second modification is the same as that of the embodiment. The central management node 600-2 includes a collection unit 601 and a storage unit 602.
[0106] As shown in FIG. 10, route calculation may be distributed by each node 100 performing route calculation processing, and the results of route calculation performed by each node 100 may be stored in the memory unit 602 of the central management node 600.
[0107] Finally, an example of the hardware configuration of the node 100 and the central management node 600 according to the embodiment will be described. Since the hardware configuration of the node 100 and the central management node 600 is similar, the case of the node 100 will be described as an example.
[0108] [Example of hardware configuration] 11 is a diagram illustrating an example of a hardware configuration of a node 100 according to an embodiment. The node 100 includes a CPU (Central Processing Unit) 51, a ROM (Read Only Memory) 52, a RAM (Random Access Memory) 53, a communication I / F 54, and an auxiliary storage device 55. The CPU 51, the ROM 52, the RAM 53, the communication I / F 54, and the auxiliary storage device 55 are connected via a bus 56.
[0109] The CPU 51 (an example of a processor) executes a program read from a ROM 52 (an example of a main storage device) and an auxiliary storage device 55 into the RAM 53. The auxiliary storage device 55 is a hard disk drive (HDD), a memory card, or the like.
[0110] The node 100 may further include a display device that displays the state of the node 100, an input device that receives input from the user, and the like.
[0111] The communication I / F 54 includes a quantum communication IF and a classical communication IF. The quantum communication IF is an interface for connecting to a quantum communication channel (optical fiber link). The classical communication IF is an interface for connecting to a classical communication channel.
[0112] The program executed by node 100 is provided as a computer program product stored in an installable or executable file format on a computer-readable storage medium such as a CD-ROM, memory card, CD-R, or DVD (Digital Versatile Disc).
[0113] Furthermore, the program executed by the node 100 may be stored on a computer connected to a network such as the Internet, and may be provided by being downloaded via the network.
[0114] Furthermore, the program executed by the node 100 may be configured to be provided via a network such as the Internet without being downloaded.
[0115] Furthermore, the program executed by the node 100 may be provided in a state where it is pre-installed in a ROM or the like.
[0116] The program executed by the node 100 has a modular configuration including functions that can be realized by the program among the above-described functional configuration of the node 100. The functions realized by the program are loaded into the RAM 53 by the CPU 51 reading and executing the program from a storage medium such as the auxiliary storage device 55. In other words, the functions realized by the program are generated on the RAM 53.
[0117] Note that some or all of the functions of the node 100 may be implemented by hardware such as an integrated circuit (IC). The IC is, for example, a processor that executes dedicated processing.
[0118] Furthermore, when each function is realized using a plurality of processors, each processor may realize one of the functions, or may realize two or more of the functions.
[0119] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0120] 1. Quantum cryptography communication system 51 CPU 52 ROM 53 RAM 54 Communication I / F 55 Auxiliary storage device 56 Bus 100 nodes 101 Control section 102 Management Department 103 Platform Section 104 Communications Department 105 Quantum Communication Department 106 Classical Communication Club 110 Routing processing unit 111 Collection Department 112 Calculation Unit 113 Warranty Department 114 Selection Section 115 Storage section 200 applications 501 Application Network 502 Key Sharing Network 600 central management nodes 601 Collection Department 602 Storage section
Claims
1. a collection unit that collects link information of links for which local keys are generated by quantum key distribution and a global key guarantee amount, which is the amount of global keys required by a pair of applications that perform cryptographic communication using global keys; a calculation unit that calculates, based on the link information, a link cost used to select a transfer path for the global key that is encrypted using the local key and transferred over the link; a guarantee unit that calculates a guaranteeable amount, which is an amount of a local key used to encrypt and transfer the global key of the global key guarantee amount over the link; a selection unit that selects a transfer path for the global key based on the link cost and the guarantable amount; A quantum cryptography communication control device comprising:
2. the link information includes at least one of a local key generation amount of a local key generated in the link and a local key accumulation amount of a local key used in the link, and a local key reserved amount reserved in the link; the calculation unit calculates a link capacity of the link from at least one of the local key generation amount and the local key storage amount and the local key reservation amount, and calculates the link cost based on the link capacity. The quantum cryptography communication control device according to claim 1 .
3. the calculation unit calculates the link cost so that the link cost decreases as the link capacity increases, the selection unit preferentially selects a transfer path that allows a larger number of the global keys to be transferred based on the link cost. The quantum cryptography communication control device according to claim 2 .
4. a control unit that controls timing for calculating the link cost and the guarantable amount and for selecting the transfer path, The quantum cryptography communication control device according to claim 2 or 3.
5. the control unit determines to calculate the link cost and the guarantor amount and to select the transfer path when a global key guarantee requested by a new application pair is added, when a global key guarantee of an existing application pair is deleted, when a global key guarantee of an existing application pair is changed, or when the global key guarantee cannot be guaranteed on a current transfer path. The quantum cryptography communication control device according to claim 4 .
6. the control unit periodically determines to calculate the link cost and the guarantable amount and to select the transfer path; The quantum cryptography communication control device according to claim 4 .
7. the control unit determines to calculate the link cost and the guarantable amount and to select the transfer path when at least one of the local key generation amount and the local key accumulation amount is smaller than a threshold value. The quantum cryptography communication control device according to claim 4 .
8. the global key guarantee is the amount of global keys required by the application per unit time; the global key guarantee is accepted by registration from a user who uses the pair of applications; The quantum cryptography communication control device according to claim 2 or 3.
9. the collection unit further collects a global key accumulation amount of the global keys used in the pair of applications, a global key consumption amount of the global keys used in the pair of applications, and a global key generation amount of the global keys used in the pair of applications; the calculation unit calculates the link cost further based on the global key accumulation amount, the global key consumption amount, and the global key generation amount. The quantum cryptography communication control device according to claim 2 or 3.
10. the collection unit further collects a global key accumulation amount of the global keys used in the pair of applications, a global key consumption amount of the global keys used in the pair of applications, and a global key generation amount of the global keys used in the pair of applications; the calculation unit estimates a required global key quantity based on at least one of the global key accumulation quantity, the global key consumption quantity, and the global key generation quantity; when the global key requirement is estimated, the guarantee unit calculates a guaranteeable amount, which is an amount of local keys used for encrypting the global keys of the global key requirement and transferring them over the link; The quantum cryptography communication control device according to any one of claims 1 to 3.
11. the collection unit further collects a global key accumulation amount of the global keys used in the pair of applications, a global key consumption amount of the global keys used in the pair of applications, and a global key generation amount of the global keys used in the pair of applications; the calculation unit calculates an actual global key quantity from the difference between the global key generation quantity and the global key consumption quantity, and estimates a global key requirement by further subtracting the global key accumulation quantity from the difference between the global key guarantee quantity and the actual global key quantity; when the global key requirement is estimated, the guarantee unit calculates a guaranteeable amount, which is an amount of local keys used for encrypting the global keys of the global key requirement and transferring them over the link; The quantum cryptography communication control device according to any one of claims 1 to 3.
12. a step in which the quantum cryptography communication control device collects link information of links for which local keys are generated by quantum key distribution and a global key guarantee amount, which is the amount of global keys required by a pair of applications that perform cryptographic communication using global keys; a step in which the quantum cryptography communication control device calculates, based on the link information, a link cost used to select a transfer path for the global key that is encrypted with the local key and transferred over the link; a step of the quantum cryptography communication control device calculating a guaranteeable amount, which is an amount of a local key used for encrypting the global key of the global key guarantee amount and transferring it on the link; the quantum cryptography communication control device selecting a transfer path for the global key based on the link cost and the guarantable amount; A quantum cryptography communication control method including:
13. Computer, a collection unit that collects link information of links for which local keys are generated by quantum key distribution and a global key guarantee amount, which is the amount of global keys required by a pair of applications that perform cryptographic communication using global keys; a calculation unit that calculates, based on the link information, a link cost used to select a transfer path for the global key that is encrypted using the local key and transferred over the link; a guarantee unit that calculates a guaranteeable amount, which is an amount of a local key used to encrypt and transfer the global key of the global key guarantee amount over the link; a selection unit that selects a transfer path for the global key based on the link cost and the guarantable amount; A program to function as a
Citation Information
Patent Citations
Communication device, communication method, program and communication system
JP2014241464A
Method and apparatus for routing data traffic in a cryptographically-protected network
US7392378B1
Method and apparatus for controlling the flow of data across a network interface
US7441267B1