This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-100126, filed on May 19, 2017, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a communication device and a communication method.
Recently, two or more companies, operators, and the like (hereinafter collectively referred to as companies) share data including participant's confidential information to cooperate with each other. For such data sharing between the companies, there is a case in which the data is transmitted through a transmission path such as the Internet (hereinafter also referred to as a network). In such data transmission, data may be encrypted and transmitted in order to avoid eavesdropping. Keys are used for such data encryption and decoding, but it is desirable that parties hold such keys, and therefore, the keys may be transmitted and received between the parties. However, eavesdropping of information on the keys during delivery through a network is a problem. As a method to solve such a problem of the key delivery, there is a public key cryptography in which different keys are respectively used for encryption (public key) and decoding (private key). However, in a communication using the public key cryptography, there is a case in which a different key is to be prepared for each of the parties or a case in which encryption is to be performed by the number of times corresponding to the number of keys for the same data, and therefore, the public key cryptography may become inefficient in this case.
In addition, recently, from the viewpoint of promptness and efficiency of business, there is a case in which a mechanism is desired that enables information to be shared between two or more companies quickly and safely. In addition, as a key sharing method used in such a case, for example, a Diffie-Hellman key sharing method (hereinafter also referred to as a DH key sharing method) is used. In the DH key sharing method, each node holds a private key and transmits a partial key generated from the private key to another node in the same group. Each of the nodes in the group generates a common key from a private key stored in the node and a received partial key. In addition, each of the nodes in the group performs transmission and reception of data by using such a common key. Here, typically, it is difficult to guess a private key from a received partial key. Therefore, in the key transmission of the DH key sharing method, information is difficult to leak even when the partial key is eavesdropped, and therefore, high security strength may be expected for the information.
Japanese Laid-open Patent Publication No. 2004-248270 is the related art.
According to an aspect of the invention, a communication device includes a memory, and a processor coupled to the memory and the processor configured to determine a transmission order such that at least one of a maximum value of a common key generation time from among two or more communication devices and a number of times of key generation processing by the two or more communication devices becomes a minimum value, instruct another communication device from among the two or more communication devices to transmit a partial key in accordance with the transmission order determined, and transmit a partial key generated, in accordance with the determined transmission order.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Until each of the nodes in the group generates a common key by using the DH key sharing method, processing to generate and transmit a partial key may be executed two or more times, and a load of the processing may not be small. In addition, a time taken to transmit a partial key from a node to another node (hereinafter also referred to as a transmission time) may cause delay of a time taken to complete generation of a common key. In addition, the common key may be frequently updated from the viewpoint of safety because eavesdropping of data in a transmission path may occur due to leakage of information related to the common key.
In the DH key sharing method of the related art, an order of nodes to each of which a corresponding partial key is transmitted may not be optimized, and therefore, a case has sometimes occurred in which a reduction in the number of times of generation processing of a partial key or a reduction in a time taken to generate a common key in the node is not achieved.
Embodiments of a technology by which the efficiency of generation processing of a common key is improved are described below with reference to the drawings.
In
In the embodiment, it is assumed that the DH key sharing method is used in order to share a common key between representative nodes of respective two or more companies in the same group. In addition, the common key may be updated in the group for safe delivery of information on the common key by considering leakage of the information through a user in the same group. The DH key sharing method is described below.
k
1
=g
x
(mod p) (1)
k
2
=g
x
(mod p) (2)
k
3
=g
x
(mod p) (3)
A representative node transmits the generated partial key to another representative node in the same group. The representative node that has received the partial key generates a new partial key by combining the received partial key and information on the private key of the representative node (such generation of a new partial key is also referred to as conversion of a partial key). In addition, such a new partial key is further transmitted from the representative node to another representative node in the same group. The order of the representative nodes to each of which a corresponding partial key is transmitted so as to be generated from a private key and then converted into a new partial key as described above is also referred to as transmission order. Such transmission order is determined before each of the representative nodes transmits a partial key to another representative node, and each of the representative nodes transmits the partial key in accordance with such transmission order. In the transmission order in
Each of the representative nodes, which has received a partial key, generates a new partial key by combining the received partial key and a private key of the representative node. For example, the representative node A generates a new partial key k13 by combining the received partial key “k3” that has been received from the representative node C and the private key x1 of the representative node A. Similarly, the representative node B generates a new partial key k12 by combining the received partial key “k1.” and the private key x2 of the representative node B and the representative node C generates a new partial key k23 by combining the received partial key “k2” and the private key x3 of the representative node C. The partial keys k12, k23, and k13 respectively satisfy, for example, the following equations (4) to (6).
Here, k12, k23, and k13 are transmitted from the representative nodes B, C, and A to the representative nodes C, A, and B, respectively.
In
The key k123 becomes the same value regardless of the combination order of the private keys. Thus, the value of the key k123 may be used as a common key in a communication between the representative nodes A, B, and C.
Here, transmission order of partial keys is described below. The last representative node in certain transmission order generates a common key. The last representative nodes of two or more pieces of transmission order are different. This is why the representative nodes redundantly obtain partial keys, and excess transmission is performed when the last representative nodes are the same in the two or more pieces of transmission order. In addition, there are pieces of transmission order in which respective representative nodes each of which generates a common key are set as the last representative node. If a representative node that is to generate a common key is not the last node in transmission order, the representative node does not generate a common key, and therefore, encryption of information is not performed. Therefore, there exists a single piece of transmission order for each representative node that generates a common key. Therefore, a certain single piece of transmission order is also referred to as transmission order of a representative node that becomes the last representative node in the transmission order. In addition, pieces of transmission order of all of the representative nodes in the group are also referred to as transmission order of the group.
In the embodiment, it is assumed that the above-described DH key sharing method is used. However, a method using an elliptic curve (elliptic curve DH key sharing method) or the like, may be used instead of the DH key sharing method.
The storage unit 10 stores various types of information used for processing by the processing unit 12. Such information includes numbers respectively applied to communication devices 1 described later. In addition, the storage unit 10 may store a transmission order that has been determined by the processing unit 12. In addition, the storage unit 10 may store a private key, the above-described values of the prime number p and the natural number g, and the like.
The communication unit 11 transmits and receives data to and from other nodes and the like through a network 100. In addition, the communication unit 11 receives a partial key from another communication device 1 and outputs the received partial key to the processing unit 12, and transmits a partial key that has been generated by the processing unit 12 to another communication device 1 through the network 100. In addition, the communication unit 11 transmits the partial key to the other communication device 1 in accordance with an instruction from the processing unit 12. Due to such transmission of the partial key, the communication unit 11 may apply, to the partial key generated by the processing unit 12, information on another communication device 1 the private key of which is used to generate the partial key by the processing unit 12.
The processing unit 12 generates a partial key or a common key by using the private key of the communication device 1 and a received partial key. The processing unit 12 may store the private key, the values of the prime number p and the natural number g, and the like, instead of the storage unit 10 or with the storage unit 10. In addition, the processing unit 12 determines transmission order of partial keys. The processing unit 12 outputs the generated partial key to the communication unit 11 instructs the communication unit 11 to transmit the partial key in accordance with the determined transmission order. The processing unit 12 may read the transmission order stored in the storage unit 10 and instruct the communication unit 11 to transmit the partial key in accordance with the transmission order.
In the embodiment, when a certain communication device 1 in the group has determined a transmission order, the certain communication device transmits the transmission order to other communication devices 1 in the same group. The certain communication device 1 that has determined the transmission order may transmit the transmission order to the other communication devices 1 in the same group at the same time. Alternatively, the certain communication device 1 that has determined the transmission order transmits the transmission order to some of the other communication devices 1 in the same group. In this case, the transmission order is further transmitted from the communication device 1 that has received the transmission order to another communication device 1 in the same group, and all of the communication devices 1 in the same group eventually obtain the transmission order.
In addition, in the embodiment, it is assumed that transmission order is determined by a certain single communication device 1 in the group. In this case, a communication device 1 that determines the transmission order may be different each time a common key is updated or may be consistently the same.
Instead of the above-described case, the transmission order may be determined by a higher-level device coupled to the communication devices 1 in the group, and the higher-level device may notify each of the communication devices 1 of the determined transmission order. In addition, alternatively, the transmission order may be determined by two or more communication devices 1 in the group, and in this case, a different method to maintain consistency may be executed.
The processing unit 12 of the communication device 1 that has received the transmission order from another communication device 1 (or the higher-level device) stores the transmission order and may instruct the communication unit 11 to transmit a partial key in accordance with the transmission order. Alternatively, in the communication device 1 that has received the transmission order, the storage unit 10 stores the transmission order, and the processing unit 12 may read the transmission order from the storage unit 10 and instruct the communication unit 11 to transmit the partial key in accordance with the transmission order.
The processing unit 12 stores the following equation (8) to determine transmission order. Such an equation (8) may be stored in the storage unit 10, and the processing unit 12 may read the equation (8) from the storage unit 10 as appropriate.
p·worst(T1,T2, . . . ,Tn)+q·i (8)
In the equation (8), “n” represents the total number of communication devices 1 that are representative nodes in the group. As described above, a different number is applied to each of the communication devices 1 in the group, and the communication device 1 stores a number of the communication device and numbers of the other communication devices 1. Here, “Tm” (m is a natural number from 1 to n) represents a common key generation time of the m-th communication device 1 from among the n communication devices 1. Such a common key generation time Tm is defined as follows. In transmission order in which the m-th communication device 1 becomes the last communication device 1, a time at which the first communication device 1 in such transmission order generates a partial key from a private key of the first communication device 1 is set as a starting point, and a time at which the m-th communication device 1 generates a common key is set as an ending point. A common key generation time of the m-th communication device 1 is obtained by subtracting times for pieces of processing by the communication devices 1 in the transmission order from a time period from the starting point to the ending point. That is, “Tm” is a total time taken to transmit partial keys that are sources of a common key generated by the m-th communication device 1.
Here, a common key generation time in the first communication device 1 is described with reference to
Returning to the explanation of the equation (8), the function “worst” is used to select the maximum common key generation time from among T1 to Tn. For example, when “Tk” (k is a natural number that is 1 or more or n or less) becomes the maximum value from among the common key generation times T1 to Tn, “worst (T1, T2, . . . , Tn)=Tk” is obtained. A value obtained by the function worst (T1, T2, . . . , Tn) is also referred to a worst value.
Here, “i” in the second term of the equation (8) represents the total number of times of key generation processing. The number of times of key generation processing is the total number of times of generation processing of partial keys and common keys by all of the communication devices 1 in the group. The number of times of key generation processing is described below in detail.
First, the circular permutation route is described. The circular permutation route corresponds to transmission order determined by a communication device in the related art, but the communication device according to the embodiment 1 may determine transmission order corresponding to the circular permutation route. In
In
In the transmission route of “1→2→3→4”, the partial key “12” that have been generated by the second communication device 1 is transmitted to the third communication device, and the third communication device generates a partial key “123” by using the partial key “12” and a private key of the third communication device. The partial key “123” is transmitted to the fourth communication device, and the fourth communication device 1 generates a common key “1234” by using the partial key “123” and a private key of the fourth communication device 1. Similarly, the first communication device 1, the second communication device 1, and the third communication device generate common keys “1234” as the ending points of the transmission routes such as “2→3→4→1”, “3→4→1→2”, and “4→1→2→3”, respectively.
The number of times of key generation processing is described below with reference to
Returning to the explanation of the equation (8), “p” and “q” are respectively weighting factors of a worst value and the number of times of key generation processing. Here, the weighting factor p has a different definition from that of the prime number p in the equations (1) to (7) described with reference to
The value obtained by the equation (8) is a value that is an evaluation index used to determine transmission order by the communication device 1, and the value is also referred to as an evaluation value. Information on a processing time in each of the communication devices 1 such as a time taken to generate a key after the communication device 1 has received a partial key is omitted in the equation (8). This is why such information may be changed depending on an operation status or the like of the communication device 1 for each piece of generation processing of a key. However, a value obtained by combining such information and the equation (8) may be used as an evaluation index for determination of transmission order. For example, the communication device 1 that determines the transmission order may hold information on time schedules and the like of the communication devices 1 in the group and determine an amount of a used resource in each of the communication devices 1, a time at which the resource is used, and the like. Such information on the time schedule and the like may be transmitted from each of the communication devices 1 in the group to the communication device 1 that determines the transmission order. The communication device 1 that determines the transmission order may estimate a time taken for generation processing of a key in each of the communication devices 1 by using such information. In addition, the communication device 1 that determines the transmission order may use the estimated time taken to execute generation processing of a key for obtaining of a value of an evaluation index.
The processing unit 12 of the communication device 1 determines transmission order of the group such that the above-described value of the evaluation index becomes smaller. For example, the communication device 1 may determine a transmission order of the group such that the evaluation value becomes smaller or the value of at least one of the first term and the second term of the equation (8) becomes smaller. In the latter case, the communication device 1 may determine the transmission order of the group such that the value of at least one of the first term and the second term of the equation (8) becomes a minimum value. It is assumed that the communication device 1 according to the embodiment determines transmission order such that the evaluation value becomes a minimum value. Such determination is performed by search processing of a transmission order of the group. Such search processing is described later.
The processor 20 is, for example, a single-core processor, a dual-core processor, or a multi-core processor.
The memory 21 is, for example, a read only memory (ROM), a random access memory (RAM), or a semiconductor memory.
When the processor 20 executes various programs stored in the memory 21 by using information stored in the memory 21 or information that has been read from the storage device 22 into the memory 21, functions of the processing unit 12 (illustrated in
The storage device 22 is, for example, a hard disk drive, an optical disk device, or the like, or may be an external storage device or a portable storage medium. A function of the storage unit 10 may be realized by the storage device 22.
The network interface circuit 23 is an interface used when the communication device 1 communicates with another communication device 1 or another node through a local area network (LAN), the Internet, an intranet, or the like. A function of the communication unit 11 may be realized by the network interface circuit 23.
Instead of the above-described example, all or some of the functions of the functional block illustrated in
A specific example of the above-described determination method of transmission order in which an evaluation index becomes a minimum value is described below. The above-described transmission order of the communication device 1 or transmission order of the group may be represented as a sequence (permutation). Such a permutation is, for example, an array in which numbers that have been respectively applied to the communication devices 1 are arranged in accordance with the transmission order.
In Operation S100 of
The communication device 1 generates a transmission order of the group such that the following conditions (1) and (2) are satisfied:
(1) The last number of the transmission order of a communication device 1 in transmission order of the group corresponds to a number of the communication device 1; and
(2) In the transmission order of the communication devices 1, numeric values corresponding to respective numbers of all of the communication devices 1 in the group are included.
The reason why (1) is to be satisfied is based on that transmission order of the m-th communication device 1 is a transmission order when the m-th communication device 1 generates a common key, and therefore, the last communication device 1 in the transmission order is the m-th communication device 1. Therefore, “search” of the transmission order is performed such that numbers other than the last number in the transmission order of the communication devices 1 are rearranged.
In addition, the reason why (2) is to be satisfied is based on that, in the DH key sharing method, a certain communication device 1 is to use private keys of all of the communication devices 1 to generate a common key.
With reference to
Returning to
The processing unit 12 calculates the evaluation values of the respective N pieces of transmission order by using the equation (8) (Operation S102).
The processing unit 12 determines whether the number of times of calculation processing in Operation S102 exceeds an upper limit value (Operation S103). Such an upper limit value is input by the user in advance and stored in “STEP” illustrated in
In Operation S103, when the value of “j” is the value of “STEP” or less (Operation S103: NO), “1” is added to the value of “j” (Operation S104).
After that, the processing unit 12 generates next N pieces of transmission order (Operation S105). In such a case, first, the processing unit 12 selects a transmission order in the group, in which an evaluation value is a minimum value in Operation S102 or selects a single piece of transmission order in accordance with the evaluation values that have been calculated in Operation S102. The processing in the latter case is described. Hereinafter, such processing is referred to as “selection”.
Here, “selection” is processing to select a single piece of transmission order from the N pieces of transmission order in accordance with a certain rule. As such a rule, for example, there is the following known “roulette selection”. In such roulette selection, a single piece of transmission order is selected as described below. First, the processing unit 12 divides a reciprocal of each of the evaluation values of the N pieces of transmission order by a total value of the reciprocals of the evaluation values. The processing unit 12 probabilistically selects a single piece of transmission order in accordance with the values that have been obtained by such division. Such processing is described below in detail. It is assumed that three pieces of transmission order are used here, and evaluation values of the three pieces of transmission order are respectively 10, 7, and 11. Reciprocals of the evaluation values are respectively 1/10, 1/7, and 1/11. A total value of the reciprocals of the evaluation values is set as “a” (a=1/10+1/7+1/11). Values obtained by dividing the reciprocals of the three evaluation values by “a” are respectively {(1/10)/a}, {(1/7)/a}, and {(1/11)/a}. These values are used for probabilities to select one of the three pieces of transmission order. For example, a probability in which a transmission order of the group, the evaluation value of which is 10, is selected is {(1/10)/a}. The processing to select the transmission order of the group in accordance with the certain rule as described above is “selection”.
In Operation S105, the processing unit 12 causes a transmission order of the group, in which the evaluation value that has been calculated in Operation S102 is minimum value, or a single piece of transmission order that has been selected in accordance with the evaluation values that have been calculated in Operation S102 by the above-described processing of “selection,” to be included in newly-generated N pieces of transmission order in order to use the processing result of Operation S102. In the embodiment, the processing unit 12 causes a transmission order of the group, in which the evaluation value is a minimum value, or a single piece of transmission order that has been selected by the above-described processing of “selection” to be included in the N pieces of transmission order newly generated in Operation S105, but the embodiment is not limited to such an example. For example, the processing unit 12 causes a transmission order of the group, in which the evaluation value is a threshold value or less, to be included in the new N pieces of transmission order instead of the transmission order of the group, in which the evaluation value is a minimum value. In addition, the processing unit 12 selects two or more pieces of transmission order by the processing of “selection” and may cause the selected two or more pieces of transmission order to be included in the new N pieces of transmission order.
Even in Operation S105, the processing unit 12 generates N pieces of transmission order such that the N pieces of transmission order satisfy conditions (1) and (2).
The processing unit 12 calculates evaluation values of the respective N pieces of transmission order that have been generated in Operation S105 in accordance with the equation (8) (Operation S102).
In Operation S103, when the value of “j” becomes larger than the value of “STEP” (Operation S103: YES), the processing unit 12 determines a transmission order of the group, in which the evaluation value is a minimum value in Operation S102, to be a solution (Operation S106).
Here, instead of the processing of Operation S103, for example, the following determination may be performed. The processing unit 12 calculates a change amount in each of the evaluation values of the N pieces of transmission order that have been obtained in Operation S102 compared with the evaluation value that has been obtained in the previous processing of Operation S102, and determines whether the change is sufficiently small or the change has become small. In this case, when the processing unit 12 determines that the change is sufficiently small or the change has become small, the processing unit 12 executes the processing of Operation S106.
The processing unit 12 notifies another communication device 1 in the group of the determined transmission order of the group through the communication unit 11 in order that each of the communication devices 1 in the group transmits a partial key in accordance with the transmission order of the group, which has been determined to be a solution in Operation S106. Each of the communication devices 1 in the group transmits a partial key through the communication unit 11 of the communication device 1 in accordance with the transmission order of the group.
The processing unit 12 may execute processing such as “crossover” or “mutation” that is a method of the known genetic algorithm, in the generation processing of N pieces of transmission order in Operations S100 and S105. The pieces of processing of the crossover and the mutation are described later. It is assumed that the processing unit 12 according to the embodiment executes the processing of the crossover or the mutation in Operation S105. In the generation of the N pieces of transmission order in Operation S105, it is assumed that the processing unit 12 probabilistically executes processing such as the above-described selection, crossover, or mutation. Probabilities of execution of the pieces of processing of the selection, the crossover, and the mutation may be set arbitrarily, but may be respectively set, for example, as 19%, 80%, and 1%, and the processing unit 12 may generate N pieces of transmission order in accordance with the probabilities. When N pieces of transmission order are generated without the processing of “selection” in Operation S105, the processing unit 12 causes one or more pieces of transmission order of the group, in each of which the evaluation value that has been calculated in Operation S102 is a minimum value, to be included in the N pieces of transmission order.
The crossover used in the embodiment is described below. Here, the crossover is processing to select two pieces of transmission order from among the N pieces of transmission order, in each of which the evaluation value has been calculated in Operation S102 before Operation S105, and replace parts of the respective two pieces of transmission order with each other to generate new two pieces of transmission order in the Operation S105. The pieces of transmission order of the group in the embodiment correspond to a gene in the genetic algorithm. In addition, the pieces of transmission order of the group, in each of which the evaluation value is obtained in Operation S102 in the embodiment, correspond to a current generation gene in the genetic algorithm. In addition, the pieces of transmission order of the group, which are generated in Operation S105 after Operation S102, correspond to the next generation gene in the genetic algorithm. In addition, “j” and “STEP” in the embodiment respectively correspond to the number of generations and a threshold value corresponding to the number of generations.
First, in Operation S105, the processing unit 12 selects two pieces of transmission order from among the N pieces of transmission order, in each of which the evaluation value has been calculated in Operation S102. Next, the processing unit 12 determines which of communication devices 1 the crossover is to be applied to, in the two pieces of transmission order. Such determination may be performed randomly. After that, the processing unit 12 determines an area on which the crossover is performed in transmission order of the communication device 1, which is the application target of the crossover. Hereinafter, the area on which the crossover is performed in the transmission order of the communication device 1 is referred to as a crossover area. The crossover area is a range from the top to the z-th number in the transmission order of the communication device 1. Here, “z” is a natural number that is 1 or more or n−2 or less. In addition, “n” is the total number of the communication devices 1 in the group. The reason why “z” is a natural number is 1 to n−2 is described later.
The crossover executed by the processing unit 12 is described below further in detail below with reference to
After that, the processing unit 12 selects the transmission order of the first communication device 1 from among the current generation genes. In addition, the processing unit 12 sets the crossover area at “z=2”. Here, a sequence of the crossover area in the transmission order of the first communication device 1 in the current generation gene A is “54”. In addition, a sequence of the crossover area in the transmission order of the first communication device 1 in the current generation gene B is “65”. The processing unit 12 replaces the sequences with each other. That is, the processing unit 12 copies the sequence “65” of the crossover area in the transmission order of the first communication device 1 of the current generation gene B to the storage area of the sequence of the crossover area in the transmission order of the first communication device 1 of the next generation gene A. In addition, the processing unit 12 copies the sequence “54” of the crossover area in the transmission order of the first communication device 1 of the current generation gene A to the storage area of the sequence of the crossover area in the transmission order of the first communication device 1 of the next generation gene B.
The processing unit 12 stores numeric values other than 5 and 6 that are stored as the first and second numeric values, in the storage area of the third and later numeric values in the transmission order of the first communication device 1 of the next generation gene A, that is, an area in which a sequence other than the crossover area in the transmission order of the first communication device 1 of the next generation gene A is stored. The order of such numeric values is based on the sequence of the third and later numeric values in the transmission order of the first communication device 1 of the current generation gene A. Here, numeric values stored as the third and later numeric values in the transmission order of the first communication device 1 of the next generation gene A are 1, 2, 3, and 4, but these numeric values are arranged in order of 4, 3, 2, and 1 in the current generation gene A. The processing unit 12 sets the transmission order of the first communication device 1 of the next generation gene A as “654321”, in accordance with the order of the current generation gene A. The same processing is also applied to the next generation gene B. The processing to generate the next generation gene from the current generation gene as described above is the crossover in the embodiment.
Here, the reason why “z” is a natural number that is 1 or more, or n−2 or less is explained. The last number of the transmission order of the communication device 1 indicates a communication device 1 that generates a common key, and is not changed. Therefore, even when the crossover has been performed on two pieces of transmission order of the crossover area in which “z=n” or “n−1” is satisfied, there is no change in such a combination of the two pieces of transmission order. The next generation gene to be generated in the crossover processing in Operation S105 is different from the current generation gene, and therefore, in the embodiment, it is assumed that “z” is a natural number that is 1 or more or n−2 or less. In the embodiment, “n” is 3 or more. This is why “n” is the total number of the communication devices 1 in the group, but the transmission order may not be determined when “n” is 2 or less.
The processing of “mutation” is described below. Here, it is assumed that the processing of “mutation” is “exchange” in the genetic algorithm. The processing unit 12 selects one of the N current generation genes. In addition, in such a gene, the processing unit 12 selects transmission order of a single communication device 1. The processing unit 12 selects two numeric values from numeric values other than the last number in the transmission order of the communication device 1, and replaces the two numeric values with each other.
The processing unit 12 may perform inversion, stirring, translocation, or the like that is a known method in “mutation” of the genetic algorithm as a method of “mutation” in Operation S105 instead of the above-described “exchange”.
In Operation S105, the processing unit 12 repeats the above-described “selection”, “crossover”, and “mutation” in accordance with the probabilities that have been determined by the user in advance, and ends the generation processing of the next generation gene when the number of generated genes reaches “N” which has been defined.
In the case of “selection”, one of the current generation genes is included in the N next generation genes, but the processing such as “crossover” or “mutation” may not be executed for such a current generation gene. In addition, when the probability of execution processing of “selection” is set at 0%, the processing unit 12 causes the current generation gene in which the evaluation value that has been calculated in Operation S102 is a minimum value to be included in the N next generation genes in order to use the result in Operation S102.
The processing unit 12 repeats the generation processing of the next generation gene until an end condition in which the number of generated genes is N is satisfied.
The transmission order that has been determined by the communication device 1 is described below in detail with reference to
In addition, as illustrated in
Therefore, in the embodiment, it may be assumed that the number of times of key generation processing by the communication devices 1 in the group is the number of times of key generation processing in the related art or less. In the example illustrated in
A common key generation time of each of the communication devices 1 in the transmission order illustrated in
In addition, a worst value when the partial key is transmitted in accordance with the transmission order illustrated in
In the embodiment, operation and the like of communication devices 1 in a single group are described above. However, in a case in which one or more communication devices 1 exist across two or more groups (it is assumed that certain two groups from among the two or more groups are groups A and B), when a partial key generated in the group A is also used in the group B, the number of times of key generation processing may be reduced. Therefore, a communication device 1 (or a higher-level device) in the group A (or the group B) may determine, for example, a transmission order of the group A (or the group B) as described below. The communication device 1 (or the higher-level device) subgroups one or more communication devices 1 included in the groups A and B. In addition, the communication device 1 (or the higher-level device) sets a transmission order of at least a certain single communication device 1 in the group A (or the group B) by using a certain communication device 1 in the sub-group as a starting point, in which the communication devices 1 in the sub-group have serial numbers. As a result, in a transmission route corresponding to the transmission order, a partial key using private keys of all communication devices 1 in the sub-group not using a private key of a communication device 1 outside the sub-group is generated by the communication device 1 that is the last communication device in the sub-group. In the groups A and B, such a partial key is delivered to the communication device 1 outside the sub-group. As a result, the number of times of generation processing of partial keys by the communication devices 1 in the sub-group may be reduced. Such determination of transmission order of the group may be performed by a known permutation calculation or the like, instead of the above-described processing.
In
Here, a difference between the effects in the related art and the embodiment when the number of communication devices 1 in the group is eight is described. As illustrated in
A similar result is applied to the case in which the number of communication devices 1 in the group is 4. As compared with the communication method in the related art, in the communication method according to the embodiment, generation processing of a common key may be performed by the smaller number of times as the number of communication devices 1 in the group increases. Therefore, as compared with the communication method in the related art, in the communication method according to the embodiment, a smaller evaluation value may be obtained as the number of communication devices 1 in the group increases.
In the communication device and the communication method according to the embodiment, in two or more communication devices 1 that perform encryption communication with each other by using a common key, a reduction in a common key generation time and a reduction in a processing load of key generation may be achieved.
In the technology discussed herein, various embodiments and modification may be made without departing from the broader spirit and scope of the technology discussed herein. In addition, the above-described embodiments are only for explaining the technology discussed herein, and do not limit the scope of the technology discussed herein. Various modifications which are made within the scope of the claims and within the meaning of the technology discussed herein equivalent thereto are also considered to be within the scope of the technology discussed herein.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2017-100126 | May 2017 | JP | national |