WO2024070414A1 - 通信システム、第1通信装置、第2通信装置、通信方法 - Google Patents

通信システム、第1通信装置、第2通信装置、通信方法 Download PDF

Info

Publication number
WO2024070414A1
WO2024070414A1 PCT/JP2023/031253 JP2023031253W WO2024070414A1 WO 2024070414 A1 WO2024070414 A1 WO 2024070414A1 JP 2023031253 W JP2023031253 W JP 2023031253W WO 2024070414 A1 WO2024070414 A1 WO 2024070414A1
Authority
WO
WIPO (PCT)
Prior art keywords
route
communication device
encrypted data
communication
unit
Prior art date
Application number
PCT/JP2023/031253
Other languages
English (en)
French (fr)
Inventor
貴利 中村
Original Assignee
株式会社エヌティーアイ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エヌティーアイ filed Critical 株式会社エヌティーアイ
Publication of WO2024070414A1 publication Critical patent/WO2024070414A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Definitions

  • the present invention relates to communication technology, and more specifically to cryptographic communication technology.
  • a public key encryption communication technique in which encrypted communication is performed using a pair of keys, a private key and a public key.
  • a public key which may be known to a third party, is sent from one communication device to another communication device, and the other communication device performs encrypted communication using the received public key and a private key, which is secret to all but the one communication device paired with the public key.
  • public key encryption technology was first introduced, the world believed that there would be no key distribution problem because there would be no problems if the public key were stolen by a malicious third party.
  • vulnerabilities were later discovered in public key encryption technology, and it is becoming a global consensus that the key distribution problem has not been solved even with public key encryption technology.
  • SSL secure sockets layer
  • the invention in the patent application relates to the following encryption technology.
  • This encryption technique performs encrypted communication between two communication devices. Let us assume that the transmitting communication device is a first communication device and the receiving communication device is a second communication device. The first communication device first encrypts shared data, which is data to be shared with the second communication device, and converts it into first encrypted data, and transmits the first encrypted data to the second communication device. The second communication device further encrypts the received first encrypted data without decrypting it, thereby converting the first encrypted data into second first encrypted data, and then transmits the second first encrypted data to the first communication device.
  • the first communication device performs an inverse operation on the received second first encrypted data to convert the second first encrypted data into second encrypted data.
  • the second encrypted data is data obtained when only the second communication device performs encryption on the shared data.
  • the first communication device removes the encryption performed by the first communication device from the second first encrypted data obtained by doubly encrypting the shared data.
  • the first communication device sends the second encrypted data to the second communication device.
  • the second communication device performs an inverse conversion on the received second encrypted data, thereby converting the second encrypted data back into shared data, whereby the first communication device and the second communication device share the shared data.
  • the second first encrypted data "(P x A) x B" is sent from the second communication device to the first communication device.
  • the inverse conversion of the conversion previously performed by the first communication device that is, the decryption process, is performed. If the decryption process performed by the first communication device is represented as ⁇ A ⁇ 1 , the calculation performed by the first communication device on the second first encrypted data "(P ⁇ A) ⁇ B" can be expressed as "((P ⁇ A) ⁇ B) ⁇ A ⁇ 1 ".
  • the result is the second encrypted data, which, as already described, is data obtained by encrypting the shared data only by the second communication device, and therefore, following the notation method used up to now, the data can be expressed as "P ⁇ B".
  • Examples of operations that satisfy the above conditions include barrel shifts, arithmetic operations, certain elliptic curve cryptography operations, and exclusive OR operations.
  • the encryption operation and its inverse operation performed by the first communication device and the second communication device are required to satisfy both the commutative law and the associative law as described above, and if such conditions are met, the operations performed by the first communication device and the second communication device are operations that can be made independent of each other, such as an operation "xA” for encryption and an operation “xA -1 " for its inverse conversion, and an operation "xB” for encryption and an operation “xB -1 " for its inverse conversion.
  • the second encrypted data "P ⁇ B” created by the first communication device is sent from the first communication device to the second communication device, and is converted back to shared data P by the second communication device.
  • the second communication device can perform an inverse conversion, (P ⁇ B) ⁇ B -1 , on the second encrypted data "P ⁇ B” to convert it back to P. In this way, the shared data P that existed only in the first communication device is shared between the first communication device and the second communication device.
  • the encrypted communication technology described above does not require the first communication device and the second communication device to share a key or any other information in advance prior to performing encrypted communication, and is therefore unrelated to the key distribution problem.
  • This encrypted communication technology can be applied to, for example, sharing a key (or any other information for generating a common key) between two communication devices prior to performing encrypted communication using a common key system, and can be a substitute for encrypted communication using a public key system.
  • the encryption communication technology described above can also be applied when information other than a key (or some information for generating a common key) is shared between the first communication device and the second communication device.
  • the first encrypted data which is expressed as "P x A” using the above-mentioned expression
  • the second encrypted data which is "(P x A) x B”
  • both of these are encrypted data, they cannot be misused even if they are stolen by a third party.
  • problems may occur.
  • the operation for encryption performed by the first communication device and the second communication device and its inverse operation are an exclusive OR operation.
  • a third party who obtains both the first encrypted data "P ⁇ A” and the second first encrypted data "(P ⁇ A) ⁇ B” can extract data "B” by performing an exclusive OR operation on the second first encrypted data "(P ⁇ A) ⁇ B” and the first encrypted data "P ⁇ A”.
  • the theft of this data by a malicious third party means that the encryption and decryption processes performed by the second communication device are leaked to the third party. This alone may cause problems.
  • a malicious third party who knows the contents of data B also obtains the second encrypted data "P ⁇ B" sent from the first communication device to the second communication device.
  • the malicious third party can extract data P, that is, shared data, by performing an exclusive OR operation on the second encrypted data "P ⁇ B" and data B. This means that the worst case scenario occurs in which shared data that was being sent from the first communication device to the second communication device, or that was being secretly shared between the two communication devices, is stolen by a malicious third party.
  • the objective of the present invention is to improve the above-mentioned encryption communication technology, which can serve as an alternative to public key encryption communication, so as to eliminate the vulnerabilities described above.
  • the present inventors have found that the above-mentioned vulnerabilities in the above-mentioned encrypted communication technology will not become apparent unless all of the first encrypted data, the second first encrypted data, and the second encrypted data fall into the hands of the same malicious third party.
  • the present invention was made based on such findings.
  • the above-mentioned encryption communication technology without vulnerabilities can be a sufficient substitute for public key encryption communication.
  • the encryption communication technology proposed by the inventors of the present application that overcomes the above-mentioned vulnerabilities can be an encryption communication technology that not only replaces public key encryption communication technology, but also solves the key distribution problem.
  • a first aspect of the present invention is a communication system including a first communication device which is one of two communication devices communicating with each other, and a second communication device which is the other communication device.
  • Both the first communication device and the second communication device may be computer devices (e.g., mobile phones, smartphones, tablets, notebook personal computers, desktop personal computers, etc.) operated by users.
  • Both the first communication device and the second communication device may be chips or cards such as SIMs (Subscriber Identity Modules) or IC cards (e.g., Suica (trademark) issued by East Japan Railway Company, etc.).
  • both the first communication device and the second communication device may be communication devices that are not directly operated by users during normal communication, such as routers and switches, or may be devices having communication functions that constitute the Internet of Things (IoT) ("Things" in the Internet of Things).
  • IoT Internet of Things
  • the first communication device includes a first encryption unit that performs conversion for encryption satisfying the commutative law and the associative law, a first decryption unit that performs an inverse conversion of the encryption performed by the first encryption unit, and a first communication unit that communicates with the second communication device via a predetermined network.
  • the second communication device includes a second encryption unit that performs conversion for encryption satisfying the commutative law and the associative law, a second decryption unit that performs an inverse conversion of the encryption performed by the second encryption unit, and a second communication unit that communicates with the first communication device via the network.
  • the first communication device is configured to convert shared data, which is plaintext data to be shared with the second communication device, for encryption in the first encryption unit to obtain first encrypted data, and to transmit the first encrypted data to the second communication device via the network in the first communication unit.
  • the second encryption unit converts the first encrypted data for encryption to obtain second first encrypted data, and to transmit the second first encrypted data to the first communication device via the network in the second communication unit.
  • the first decryption unit converts the second first encrypted data inversely to the conversion for encryption performed by the first encryption unit on the second first encrypted data, and to transmit the second encrypted data to the second communication device via the network in the first communication unit.
  • the second communication device receives the second encrypted data from the first communication device via the second communication unit, the second communication device converts the second encrypted data into the shared data by performing an inverse conversion of the encryption conversion performed by the second encryption unit on the second encrypted data via the second decryption unit.
  • the first communication device and the second communication device are configured to set a first route which is the route on the network when the first communication device sends the first encrypted data to the second communication device, a second route which is the route on the network when the second communication device sends the second encrypted data to the first communication device, and a third route which is the route on the network when the first communication device sends the second encrypted data to the second communication device, so that the second route and at least one of the first route and the third route do not overlap except for the start and end points of the two routes to be compared.
  • encryption is performed on the shared data in plain text, but there are cases where further encryption processing is performed on the encrypted shared data.
  • the plain shared data becomes the first encrypted data.
  • the first encrypted data becomes the second first encrypted data.
  • the above-mentioned communication system includes a first communication device and a second communication device that are communication devices that communicate with each other.
  • the communication system may include more communication devices, but the two communication devices that communicate with each other are positioned as the first communication device and the second communication device in the present invention.
  • the communication between the first communication device and the second communication device is performed through a network, but is not limited to this.
  • the network includes at least one of the Internet (including Internet VPN, the same applies below) and a line other than the Internet. Examples of lines other than the Internet include a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), a multimedia message service (MMS), or a plurality of these.
  • the first communication device includes a first encryption unit that performs encryption processing, and a first decryption unit that can perform the inverse process of the encryption processing performed by the first encryption unit, i.e., the decryption processing.
  • the second communication device includes a second encryption unit that performs encryption processing, and a second decryption unit that can perform the inverse process of the encryption processing performed by the second encryption unit, i.e., the decryption processing.
  • the encryption processing performed by the first encryption unit and the second encryption unit, and the inverse conversion processing of the encryption processing performed by the first decryption unit and the second decryption unit both satisfy both the commutative law and the associative law.
  • shared data data to be shared between these two communication devices, i.e., the first communication device and the second communication device
  • the shared data is plaintext data.
  • the shared data does not necessarily have to be meaningful data, and may be, for example, an appropriate sequence of letters, numbers, etc., such as a common key used when performing encrypted communication between the first communication device and the second communication device.
  • the encrypted communication performed between the first communication device and the second communication device in the present invention may be used for key distribution.
  • the encrypted communication performed between the first communication device and the second communication device in the present invention may be used for other purposes.
  • the method of sharing shared data is very simple.
  • the communication device that has the shared data first in other words, the communication device that provides the shared data to the other communication device, is called the first communication device, and the other of the two communication devices is called the second communication device. Therefore, a communication device that is the first communication device in one communication may become the second communication device in another communication, and vice versa.
  • the shared data when shared data is shared between a first communication device and a second communication device, the shared data is first encrypted by a first encryption unit of the first communication device to become first encrypted data. The first encrypted data is sent from the first communication device to the second communication device.
  • the second communication device receives the first encrypted data.
  • the second communication device further performs encryption processing on the first encrypted data in the second encryption unit, changing the first encrypted data into second first encrypted data.
  • the second first encrypted data is sent from the second communication device to the first communication device. Even if the second first encrypted data is sent over a network such as the Internet, the second first encrypted data is encrypted data, or more specifically, data that is doubly encrypted by the first encryption unit and the second encryption unit.
  • the first communication device receives the second first encrypted data.
  • the first communication device performs a process of decrypting the second first encrypted data in its first decryption unit.
  • the decryption process is a process of performing a reverse conversion of the conversion performed for encryption in the first encryption unit.
  • the second first encrypted data becomes the second encrypted data.
  • the second encrypted data is the same data as the data encrypted by encrypting the shared data in the second encryption unit. This second encrypted data is sent from the first communication device to the second communication device.
  • the second communication device receives the second encrypted data.
  • the second communication device performs a decryption process on the second encrypted data in its second decryption unit.
  • the decryption process is an inverse conversion of the conversion performed for encryption in the second encryption unit. Then, the second encrypted data is restored to the shared data in plaintext.
  • the shared data in plaintext is shared between the first communication device and the second communication device.
  • the shared data is not in a plaintext state, but in one of the first encrypted data, the second first encrypted data, and the second encrypted data, and in any case, the shared data is in an encrypted state.
  • the first communication device performs a simple process of encryption by the first encryption unit and decryption by the first decryption unit
  • the second communication device performs a simple process of encryption by the second encryption unit and decryption by the second decryption unit
  • the shared data in the encrypted state is sent one and a half times between the first communication device and the second communication device, and the shared data can be safely shared between the first communication device and the second communication device by only performing a very simple process.
  • the encryption and decryption processes performed by the first communication device and the second communication device can be performed independently of the communication device on the other side, so there is no need to transmit a key from one communication device to the other communication device prior to performing encrypted communication.
  • the first communication device and the second communication device are configured to set a first route, which is a route on the network when the first communication device sends the first encrypted data to the second communication device, a second route, which is a route on the network when the second communication device sends the second encrypted data to the first communication device, and a third route, which is a route on the network when the first communication device sends the second encrypted data to the second communication device, so that the second route and at least one of the first route and the third route do not overlap except for the start points and end points of the two routes to be compared.
  • the "two routes to be compared" means "the second route and the first route" or "the second route and the third route".
  • a case where the second route does not overlap with at least one of the first route and the third route except for the starting point and the ending point is when: (1) the first route and the second route overlap, but the third route does not overlap with the second route; (2) the third route and the second route overlap, but the first route does not overlap with the second route; (3) the second route does not overlap with both the first route and the third route, and the first route overlaps with the third route; or (4) the second route does not overlap with both the first route and the third route, and the first route does not overlap with the third route.
  • the effects of ensuring that at least one of the routes on the network through which the first encrypted data and the second first encrypted data pass (i.e., the first route and the second route) or the routes on the network through which the second first encrypted data and the second encrypted data pass (i.e., the second route and the third route) do not overlap except for the start and end points of the two routes are as follows.
  • a malicious third party who tries to illegally obtain data in the middle of transmission usually tries to obtain data transmitted on the network at a specific location on the network.
  • first route and the second route does not overlap except for the start point and the end point of the two routes
  • a malicious third party waiting at a location on the network cannot obtain both the first encrypted data and the second first encrypted data
  • a malicious third party waiting at a location on the network cannot obtain both the second first encrypted data and the second encrypted data.
  • a malicious third party's attempt to commit fraud by obtaining all of the first encrypted data, the second first encrypted data, and the second encrypted data is not valid, so that encrypted communication by the communication system of the present invention is virtually free of the vulnerability that existed in the prior art against fraud performed by obtaining all of the first encrypted data, the second first encrypted data, and the second encrypted data.
  • the "starting point of two routes (to be compared)" means, in the case of transmission from a first communication device to a second communication device, a communication device that the first communication device accesses first among many communication devices on the route from the first communication device to the second communication device, and in the case of transmission from the second communication device to the first communication device, a communication device that the second communication device accesses first among many communication devices on the route from the second communication device to the first communication device.
  • the "end point of two routes" means, in the case of transmission from a first communication device to a second communication device, a communication device that accesses the second communication device among many communication devices on the route from the first communication device to the second communication device, and in the case of transmission from the second communication device to the first communication device, a communication device that accesses the first communication device among many communication devices on the route from the second communication device to the first communication device.
  • the encryption and decryption (inverse transformation) performed by the first encryption unit and first decryption unit of the first communication device, and the encryption and decryption (inverse transformation) performed by the second encryption unit and second decryption unit of the second communication device must satisfy the commutative law and the associative law.
  • Such operations may include barrel shifts, arithmetic operations, or certain elliptic curve cryptography operations, or exclusive OR operations.
  • exclusive-OR operations are used for the encryption and decryption (inverse conversion) performed by the first encryption unit and first decryption unit of the first communication device, and for the encryption and decryption (inverse conversion) performed by the second encryption unit and second decryption unit of the second communication device, the following further effects can be obtained.
  • Vernam cipher There are known encryption techniques called the Vernam cipher and the one-time pad cipher. Both of these require certain conditions to be met, and it has been mathematically proven that they are impossible to decrypt if those conditions are met. Specifically, if a ciphertext is obtained by taking the exclusive OR of the plaintext and the key, using a key that has the same or greater amount of information as the plaintext to be encrypted, it has been mathematically proven that the ciphertext cannot be decrypted if the key is a completely random number and is used only once.
  • the encryption and decryption (inverse transformation) performed by the first encryption unit and the first decryption unit of the first communication device and the encryption and decryption (inverse transformation) performed by the second encryption unit and the second decryption unit of the second communication device are performed using exclusive OR operations, and when the data for performing the exclusive OR operation is a completely random number that is used only once, like the above-mentioned key, it is mathematically impossible to decrypt the first encrypted data, the second first encrypted data, and the second encrypted data transmitted over the network by obtaining each of them individually. Therefore, the only way for a malicious third party to commit fraud using these three data is to obtain all of the first encrypted data, the second first encrypted data, and the second encrypted data.
  • the encrypted communication performed by the communication system according to the present invention is virtually completely secure.
  • the first communication device and the second communication device may be configured to set the first route and the second route so that they do not overlap except for the starting points and ending points of the two routes.
  • the first communication device and the second communication device may be configured to set the third route and the second route so that they do not overlap except for the start points and end points of the two routes.
  • the first communication device in the communication system of the present application may include a first route determination unit that determines the first route, and the second communication device may include a second route determination unit that determines the second route.
  • the third route is appropriately determined.
  • the third route may overlap with either the first route or the second route.
  • the third route may be determined by the first route determination unit.
  • the first route determination unit may be pre-configured to determine a predetermined route on the network as the first route
  • the second route determination unit may be pre-configured to determine a route on the network that does not overlap with the first route except for its starting point and ending point as the second route.
  • first communication device and the second communication device are set in advance to determine non-overlapping communication paths, it is possible to make the first path through which the first encrypted data is transmitted and the second path through which the second encrypted data is transmitted non-overlapping communication paths except for their starting points and ending points.
  • first communication device and the second communication device are both general-purpose computers in terms of hardware, to function as the first communication device and the second communication device in the communication system of the present application.
  • one of the first route and the second route may be a route on an Internet line, and the other may be a route on a line other than the Internet.
  • the route on a line other than the Internet may be, for example, any one of a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • a communication carrier line for example, any one of a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • SMS short message service
  • MMS multimedia message service
  • the first communication device in the communication system according to the present invention may include a first route determination unit that determines the first route, and the second communication device may include a second route determination unit that determines the second route.
  • the third route is appropriately determined.
  • the third route may overlap with either the first route or the second route.
  • the third route may be determined by the first route determination unit.
  • the first route determination unit is configured to determine a predetermined route on the network as the first route
  • the second route determination unit is configured to identify the first route when the second communication device receives the first encrypted data from the first communication device at the second communication unit, and to determine the second route that does not overlap with the identified first route except for the starting point and the ending point
  • the second communication unit may be configured to transmit the second first encrypted data to the first communication device via the second route determined by the second route determination unit.
  • the second route determination unit of the second communication device specifies the first route through which the first encrypted data was transmitted, for example, by using data attached to the first encrypted data, and determines a second route as a route that does not overlap with the first route.
  • the second communication unit transmits the second first encrypted data to the first communication device using the second route, so that the second first encrypted data can be transmitted to the first communication device via the second route that does not overlap with the first route.
  • the second route determination unit may be configured to determine the second route as shown in the following two examples.
  • the second route determination unit may be configured to, when the first route is the Internet, identify the first route by detecting the IP addresses of devices through which the first encrypted data has passed from the first communication device to the second communication device from data attached to the first encrypted data received by the second communication device, and determine as the second route a route on the Internet from the second communication device to the first communication device that passes only through devices not included in the first route.
  • a receiving device when a receiving device receives certain data from a transmitting device via the Internet, the receiving device can use data attached to the received data to identify the route through which the data has been transmitted from the transmitting device to the receiving device.
  • MPLS Multi-Protocol Label Switching
  • a device that receives data can identify the transmission route of the data transmitted from a certain device over a network.
  • MANET Mobile Ad-hoc Network
  • DSR Dynamic Source Routing
  • the second route determination unit of the second communication device that receives the first encrypted data can specify the first route, which is the route through which the first encrypted data has been transmitted, using, for example, a technology such as MPLS. Then, the second route determination unit of the second communication device determines a route on the Internet that does not overlap with the specified first route as the second route.
  • source routing or its application segment routing technology, and MANET (Mobile Ad-hoc Network) are known as technologies for a source communication device to specify a transmission route on the Internet to a destination communication device.
  • the second route determination unit of the second communication device can determine a second route that does not overlap with the first route.
  • the first encrypted data and the second first encrypted data can be shuttled between the first communication device and the second communication device using non-overlapping routes on the Internet.
  • the second route determination unit may be configured to, when the second communication device receives the first encrypted data, identify whether the line over which the first encrypted data was transmitted is the Internet, a communications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, or a multimedia message service, and to determine as the second route a route on a line different from the line over which the first encrypted data was transmitted.
  • the second route determination unit identifies the type of line used when the second communication device accepted the first encrypted data.
  • the second route determination unit determines the second route as a route that follows a line of a type different from the identified type of line. As a result, if the type of line on which the first route is carried is different from the type of line on which the second route is carried, the first route and the second route will naturally not overlap.
  • the first communication device when the first route and the second route are set so as not to overlap, the first communication device may include a first route determination unit that determines the first route, and the second communication device may include a second route determination unit that determines the second route.
  • the third route is appropriately determined.
  • the third route may overlap with either the first route or the second route.
  • the third route may be determined by the first route determination unit.
  • the first route determination unit is configured to determine a specific route on the network as the first route, and to generate second route information which is data specifying the second route and is to be attached to the first encrypted data
  • the second route determination unit is configured, when the second communication device receives the first encrypted data to which the second route information is attached by the second communication unit from the first communication device, to determine the second route as the route specified by the second route information attached to the received first encrypted data, and the second communication unit may be configured to transmit the second first encrypted data to the first communication device via the second route determined by the second route determination unit.
  • a first route determination unit of a first communication device determines both the first route and the second route.
  • the first route determination unit determines the first route and generates second route information, which is data specifying the second route.
  • the second route information is attached to the first encrypted data and transmitted from the first communication device to the second communication device.
  • a second route determination unit of a second communication device determines the route specified by the second route information based on the second route information as the second route.
  • the first route determination unit may be configured to specify both the first route and the second route as routes on the Internet.
  • the first route determination unit may be configured to identify a route on any of the Internet, a telecommunications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, and a multimedia message service as one of the first route and the second route, and to identify a route on any of the Internet, a telecommunications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, and a multimedia message service as the other of the first route and the second route.
  • the first communication device in the communication system of the present application may include a first route determination unit that determines the first route and the third route
  • the second communication device may include a second route determination unit that determines the second route.
  • the first route determination unit appropriately determines the first route.
  • the first route may overlap with either the second route or the third route.
  • the first route determination unit may be pre-configured to determine a predetermined route on the network as the third route
  • the second route determination unit may be pre-configured to determine a route on the network that does not overlap with the third route except for its starting point and ending point as the second route.
  • the first communication device and the second communication device are set in advance to determine non-overlapping communication paths, it is possible to make the third path through which the second encrypted data is transmitted and the second path through which the second encrypted data is transmitted non-overlapping communication paths except for their starting points and ending points.
  • the first communication device and the second communication device are both general-purpose computers in terms of hardware, it is naturally possible to make them function to perform such settings by the function of a computer program installed in both computers to function as the first communication device and the second communication device in the communication system of the present application.
  • one of the second route and the third route may be a route on an Internet line, and the other may be a route on a line other than the Internet.
  • the route on a line other than the Internet may be, for example, any one of a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • a communication carrier line for example, any one of a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • SMS short message service
  • MMS multimedia message service
  • the first communication device in the communication system of the present invention may include a first route determination unit that determines the first route and the third route
  • the second communication device may include a second route determination unit that determines the second route.
  • the first route determination unit appropriately determines the first route.
  • the first route may overlap with either the second route or the third route.
  • the second route determination unit is configured to determine a predetermined route on the network as the second route
  • the first route determination unit is configured to identify the second route when the first communication device receives the second encrypted data from the second communication device at the first communication unit, and to determine the third route that does not overlap with the identified second route except for the starting point and the ending point
  • the first communication unit may be configured to transmit the second encrypted data to the second communication device via the third route determined by the first route determination unit.
  • the first route determination unit of the first communication device specifies the second route through which the second encrypted data was transmitted, for example, by using data attached to the second encrypted data, and determines a third route as a route that does not overlap with the second route.
  • the first communication unit transmits the second encrypted data to the second communication device using the third route, so that the second encrypted data can be transmitted to the second communication device via the third route that does not overlap with the second route.
  • the first route determination unit may be configured to determine the third route as shown in the following two examples.
  • the first route determination unit may be configured to, when the second route is the Internet, identify the second route by detecting the IP addresses of devices through which the second encrypted data has passed from the second communication device to the first communication device from the data attached to the second encrypted data received by the first communication device, and determine the route on the Internet from the first communication device to the second communication device that passes only through devices not included in the second route as the third route.
  • the receiving device when a receiving device receives certain data from a transmitting device via the Internet, the receiving device can use the data attached to the received data to identify the route through which the data has been transmitted from the transmitting device to the receiving device.
  • Examples of technologies that enable such identification include MPLS and MANET. Therefore, the first route determination unit of the first communication device that has received the second first encrypted data can specify the second route, which is the route through which the second first encrypted data has been transmitted, using, for example, MPLS or MANET. Then, the first route determination unit of the first communication device determines a route on the Internet that does not overlap with the specified second route as the third route.
  • source routing or its application, segment routing, and MANET (and DSR, a specific application example thereof) are known as technologies for a source communication device to specify a transmission route on the Internet to a destination communication device.
  • the first route determination unit of the first communication device can determine a third route that does not overlap with the second route.
  • the second first encrypted data and the second encrypted data can be sent back and forth between the first communication device and the second communication device using non-overlapping routes on the Internet.
  • the first route determination unit may identify whether the line over which the second encrypted data was transmitted is the Internet, a communications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, or a multimedia message service, and may determine as the third route a route on a line different from the line over which the second encrypted data was transmitted.
  • the first route determination unit identifies the type of line used when the first communication device accepted the second encrypted data.
  • the first route determination unit determines the third route as a route that follows a line of a type different from the identified type of line. As a result, if the type of line on which the second route is carried is different from the type of line on which the third route is carried, the second route and the third route will naturally not overlap.
  • the first communication device when the second route and the third route are set so as not to overlap, the first communication device may include a first route determination unit that determines the first route and the third route, and the second communication device may include a second route determination unit that determines the second route.
  • the first route determination unit appropriately determines the first route.
  • the first route may overlap with either the second route or the third route.
  • the second route determination unit is configured to determine a specific route on the network as the second route, and to generate third route information, which is data specifying the third route and is to be attached to the second first encrypted data
  • the first route determination unit is configured, when the first communication device receives the second first encrypted data to which the third route information is attached by the first communication unit from the second communication device, to determine the third route as the route specified by the third route information attached to the received second first encrypted data, and the first communication unit may be configured to transmit the second encrypted data to the second communication device via the third route determined by the first route determination unit.
  • the second route determination unit of the second communication device determines both the second route and the third route.
  • the second route determination unit determines the second route and generates third route information, which is data specifying the third route.
  • the third route information is attached to the second first encrypted data and transmitted from the second communication device to the first communication device.
  • the first route determination unit of the first communication device determines the route specified by the third route information as the third route based on the third route information.
  • the second route along which the second first encrypted data is transmitted and the third route along which the second encrypted data is transmitted are non-overlapping routes.
  • the second route determination unit may be configured to specify both the second route and the third route as routes on the Internet.
  • the second route determination unit may be configured to identify a route on any one of the Internet, a telecommunications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, or a multimedia message service as one of the second route and the third route, and to identify a route on any other of the Internet, a telecommunications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, or a multimedia message service as the other of the second route and the third route.
  • the present inventors also propose a method executed in the above-mentioned communication system as one aspect of the first invention.
  • the effect of the method is equal to the effect of the communication system.
  • One example of such a method is a communication method executed by a communication system comprising a first communication device, which is one of two communication devices communicating with each other, and a second communication device, which is the other communication device, the first communication device having a first encryption unit that performs a conversion for encryption that satisfies the commutative law and the associative law, a first decryption unit that performs an inverse conversion of the encryption performed by the first encryption unit, and a first communication unit that communicates with the second communication device via a specified network, and the second communication device having a second encryption unit that performs a conversion for encryption that satisfies the commutative law and the associative law, a second decryption unit that performs an inverse conversion of the encryption performed by the second encryption unit, and a second communication unit that communicates with
  • the communication method includes a first step in which the first communication device converts shared data, which is plaintext data to be shared with the second communication device, for encryption in the first encryption unit to obtain first encrypted data, and transmits the first encrypted data to the second communication device via the network in the first communication unit; a second step in which the second communication device receives the first encrypted data from the first communication device in the second communication unit, converts the first encrypted data for encryption in the second encryption unit to obtain second first encrypted data, and transmits the second first encrypted data to the first communication device via the network in the second communication unit; a third step of receiving the second first-encrypted data from the second communication device using the first communication unit, and performing an inverse conversion of the conversion for encryption performed by the first encryption unit on the second first-encrypted data in the first decryption unit, thereby converting the second first-encrypted data into second encrypted data, and transmitting the second encrypted data to the second communication device via the network using the first communication unit; and a fourth step of the second communication device receiving the second encrypted data from the
  • the first communication device and the second communication device set a first route in the first process, which is the route on the network when the first communication device sends the first encrypted data to the second communication device, a second route in the second process, which is the route on the network when the second communication device sends the second encrypted data to the first communication device, and a third route in the third process, which is the route on the network when the first communication device sends the second encrypted data to the second communication device, so that the second route and at least one of the first route and the third route do not overlap except for the start and end points of the two routes to be compared.
  • the first communication device and the second communication device may automatically perform the first step to the fourth step in succession. This enables the first communication device and the second communication device to safely share shared data while reducing the effort required for the user operating the first communication device and the user operating the second communication device.
  • SSL communication when one of two communication devices tries to communicate with the other, for example, when a user operating one of the communication devices, the client, specifies the URL of a homepage provided by the other communication device, the server, in the address bar of a browser implemented in the client, the client and the server automatically execute communication to share a shared key before starting SSL communication, which is encrypted communication using a common key between the client and the server.
  • the first communication device may be configured to automatically perform all steps from the process of converting the shared data for encryption to the first encrypted data, that is, the first to fourth steps, when the user performs an operation on the first communication device to indicate the intention to start communication with the second communication device.
  • the method of the present invention can be replaced, at least in principle, with the technology of sharing a common key at the beginning of SSL communication.
  • the second aspect of the invention will be described.
  • the second aspect of the invention will be outlined.
  • three encrypted data, the first encrypted data, the second first encrypted data, and the second encrypted data are sent back and forth between the first communication device and the second communication device one and a half times. This is intended to reduce the risk of decryption by a malicious third party, but as already mentioned, even though all of the data are encrypted, if a third party obtains all three of the first encrypted data, the second first encrypted data, and the second encrypted data, there is a risk that the encryption will be decrypted and the original shared data will be known to the malicious third party.
  • At least one of the first route as the transmission route of the first encrypted data and the second route as the transmission route of the second first encrypted data, or the second route as the transmission route of the second first encrypted data and the third route as the transmission route of the second encrypted data, is made not to overlap except for the start point and the end point of the two routes.
  • the first route, the second route, and the third route in the first invention are all basically the same A route.
  • two pieces of data are generated from one of the three pieces of data by performing a predetermined conversion that can be reversed on any of the first encrypted data, the second first encrypted data, and the second encrypted data in the first invention, and one of the generated two pieces of data is transmitted on the A route and the other on the B route, which is a predetermined route on the network that does not overlap with the A route except for the starting point and the end point.
  • the B route which is a predetermined route on the network that does not overlap with the A route except for the starting point and the end point.
  • the "predetermined reversible conversion" performed on any of the first encrypted data, the second first encrypted data, or the second encrypted data in the second invention means a conversion that makes it possible to restore the original data (the first encrypted data, the second first encrypted data, or the second encrypted data in the first invention) based on the two pieces of generated data. That is, in the case of the second invention, two of the transmission paths of the first encrypted data, the second first encrypted data, and the second encrypted data are designated as paths A, and the remaining one is designated as two paths A and B, and the two paths A and B are used to transmit one and the other of two data pieces generated by performing a predetermined conversion that can be reversed to any of the first encrypted data, the second first encrypted data, and the second encrypted data, respectively.
  • the above-mentioned approach adopted by the second invention makes it possible to prevent a malicious third party from obtaining the first encrypted data, the second first encrypted data, and the second encrypted data, just as in the case of the first invention, which adopts an approach of making at least one of the first route and the second route, or the second route and the third route, non-overlapping except for the start and end points of the two routes, and ultimately makes it possible to prevent a malicious third party from obtaining knowledge of the shared data.
  • a second invention is a communication system including a first communication device which is one of two communication devices communicating with each other, and a second communication device which is the other communication device.
  • the first communication device includes a first encryption unit that performs conversion for encryption that satisfies the commutative law and the associative law, a first decryption unit that performs an inverse conversion of the encryption performed by the first encryption unit, and a first communication unit that communicates with the second communication device via a specified network
  • the second communication device includes a second encryption unit that performs conversion for encryption that satisfies the commutative law and the associative law, a second decryption unit that performs an inverse conversion of the encryption performed by the second encryption unit, and a second communication unit that communicates with the first communication device via the network.
  • the first communication device is configured to convert shared data, which is plain text data to be shared with the second communication device, for encryption in the first encryption unit to obtain first encrypted data, and to transmit the first encrypted data to the second communication device via the network in the first communication unit, and when the second communication device receives the first encrypted data from the first communication device in the second communication unit, the second communication device converts the first encrypted data for encryption in the second encryption unit to obtain second first encrypted data, and to transmit the second first encrypted data to the first communication device via the network in the second communication unit, and the first communication device
  • the first communication unit receives the second first encrypted data from a device
  • the first decryption unit performs an inverse conversion of the encryption conversion performed by the first encryption unit on the second first encrypted data, thereby converting the second first encrypted data into second encrypted data
  • the first communication unit transmits the second encrypted data to the second communication device via the network
  • the second communication device receives the second encrypted data from the first communication device at the second communication unit, the second decryption unit performs an inverse conversion of the encryption
  • both the first communication device and the second communication device may be computer devices operated by a user, or may be computer devices not operated by a user.
  • the communication between the first communication device and the second communication device is performed by a network, and the network includes at least one of the Internet (including Internet VPN, the same applies below) and a line other than the Internet. Examples of lines other than the Internet have already been described.
  • the first invention and the second invention are also common in that the definition of shared data and the purpose of use of the communication system may or may not be key distribution.
  • the first invention and the second invention are also common in that the first encryption unit, the first decryption unit, the second encryption unit, and the second decryption unit may each perform an exclusive OR operation.
  • the first communication device and the second communication device when the first communication device sends the first encrypted data to the second communication device, the first communication device and the second communication device send one of two data obtained by performing a predetermined reversible conversion on the first encrypted data via route A, which is a route on the network, and the other of the two data via route B, which is a route on the network, and the second communication device sends the second first encrypted data to the first communication device via route A, and the first communication device sends the second encrypted data to the second communication device via route A, and the A route and the B route are set so as not to overlap except for the starting points and ending points of the two routes.
  • the first route referred to in the first invention is divided into two routes, route A and route B, and one of the two data obtained by performing a predetermined reversible conversion on the first encrypted data is sent from the first communication device to the second communication device via route A and the other via route B.
  • the first communication device and the second communication device are configured such that the first communication device sends the first encrypted data to the second communication device via route A, and when the second communication device sends the second first encrypted data to the first communication device, one of two data obtained by performing a predetermined reversible conversion on the second first encrypted data is sent via route A and the other of the two data is sent via route B, which is a route on the network, and the first communication device sends the second encrypted data to the second communication device via route A, and the route A and the route B are set so as not to overlap except for the starting points and ending points of the two routes.
  • the second route referred to in the first invention is divided into two routes, route A and route B, and one of the two data obtained by performing a predetermined reversible conversion on the second first encrypted data is sent from the second communication device to the first communication device via route A and the other via route B.
  • the first communication device and the second communication device are configured such that the first communication device sends the first encrypted data to the second communication device via route A, which is a route on the network, and the second communication device sends the second encrypted data to the first communication device via route A, and when the first communication device sends the second encrypted data to the second communication device, one of two data obtained by performing a predetermined reversible conversion on the second encrypted data is sent via route A and the other of the two data is sent via route B, which is a route on the network, and the route A and the route B are set so as not to overlap except for the starting points and ending points of the two routes.
  • the third path referred to in the first invention is divided into two paths, path A and path B, and one of the two data obtained by performing a predetermined reversible conversion on the second encrypted data is sent from the first communication device to the second communication device via path A and the other via path B.
  • one of the A route and the B route may be a route on an Internet line, and the other may be a route on a line other than the Internet.
  • the route on a line other than the Internet may be any of a communication carrier line, a global IP assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • both the A route and the B route may be a route on an Internet line.
  • the encryption and decryption (inverse transformation) performed by the first encryption unit and the first decryption unit of the first communication device, and the encryption and decryption (inverse transformation) performed by the second encryption unit and the second decryption unit of the second communication device must satisfy the commutative law and the associative law. Examples of such operations are the same in the second invention and the first invention.
  • the communication system according to the second invention like the communication system according to the first invention, has the effect of being able to carry out virtually completely secure encrypted communications.
  • the first route referred to in the first invention i.e., the route for sending the first encrypted data from the first communication device to the second communication device, is made up of two routes A and B, and one of the two data obtained by performing a predetermined reversible conversion on the first encrypted data is sent from the first communication device to the second communication device via route A and the other via route B.
  • the first communication device in the communication system of the first aspect according to the second invention may include a first route determination unit that determines the A route and the B route. In this case, both the A route and the B route are determined by the first communication device.
  • the A route determined by the first communication device is also used for subsequent data transmission, that is, when transmitting second encrypted data from the second communication device to the first communication device and when transmitting second encrypted data from the first communication device to the second communication device.
  • the timing at which the first route determination unit determines both the A route and the B route is before one of the above two data is transmitted from the first communication device to the second communication device via the A route and the other via the B route.
  • the third route referred to in the first invention i.e., the route for sending the second encrypted data from the first communication device to the second communication device, is made up of two routes A and B, and one of the two data obtained by performing a predetermined reversible conversion on the second encrypted data is sent from the first communication device to the second communication device via route A and the other via route B.
  • the first communication device in the communication system of the third aspect according to the second invention may also include a first route determination unit that determines the A route and the B route. In this case, both the A route and the B route are determined by the first communication device.
  • the A route determined by the first communication device is also used for the previous data transmission, that is, when the first encrypted data is transmitted from the first communication device to the second communication device, and when the second encrypted data is transmitted from the second communication device to the first communication device.
  • the timing at which the first route determination unit determines the A route is before the first encrypted data is sent from the first communication device to the second communication device.
  • the timing at which the first route determination unit determines the B route may be any timing before one of the above two data is transmitted from the first communication device to the second communication device via the A route and the other via the B route.
  • the second route referred to in the first invention i.e., the route for sending the second first encrypted data from the second communication device to the first communication device
  • the route for sending the second first encrypted data from the second communication device to the first communication device is made up of two routes A and B, and one of the two data obtained by performing a predetermined reversible conversion on the second first encrypted data is sent from the second communication device to the first communication device via route A and the other via route B.
  • the first data transmission between the first communication device and the second communication device is the transmission of the first encrypted data from the first communication device to the second communication device, and the communication path used is the route A. Therefore, it is reasonable for the route A to be determined by the first communication device.
  • the first communication device may be provided with a first route determination unit that determines the route A.
  • the B route is used for the first time when transmitting the second first encrypted data from the second communication device to the first communication device (or transmitting two pieces of data necessary for the first communication device to restore the second first encrypted data). Therefore, in this case, it is reasonable that the B route is determined by the second communication device.
  • the second communication device may include a second route determination unit that determines the B route.
  • one of the A route and the B route may be a route on an Internet line, and the other may be a route on a line other than the Internet.
  • the second route determination unit may determine one of the A route and the B route as a route on an Internet line, and the other as a route on a line other than the Internet.
  • the route on a line other than the Internet may be any one of a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • SMS short message service
  • MMS multimedia message service
  • the first communication device may be equipped with a first route determination unit that determines the A route
  • the second communication device may be equipped with a second route determination unit that determines the B route
  • the first route determination unit is configured to determine a predetermined route on the network as the A route
  • the second route determination unit is configured to, when the second communication device receives the first encrypted data from the first communication device at the second communication unit, identify the A route and determine the B route that does not overlap with the identified A route except for the starting point and the ending point
  • the second communication unit may be configured to transmit one and the other of the two data obtained from the second first encrypted data to the first communication device via the A route determined by the first route determination unit and the B route determined by the second route determination unit.
  • the second route determination unit may be configured to specify the A route determined by the first communication device as follows.
  • the second route determination unit may be configured to detect the IP addresses of devices through which the first encrypted data has passed from the first communication device to the second communication device from data attached to the first encrypted data received by the second communication device, and to determine, as the B route, a route on the Internet from the second communication device to the first communication device that passes only through devices not included in the A route.
  • the second route determination unit may be configured to specify that the line through which the first encrypted data has been transmitted when the second communication device receives the first encrypted data is any one of the Internet, a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service, and a multimedia message service, and to determine, as the B route, a route on a line different from the line through which the first encrypted data has been transmitted.
  • the second communication device grasp the route that a certain data sent from the first communication device has taken from the first communication device to the second communication device, for example, the above-mentioned techniques of MPLS, MANET, and DSR as a specific application example of MANET can be used.
  • the second communication device grasps which communication line was used for the communication using the A route in order to prevent the A route and the B route from overlapping.
  • a communication system may be configured as follows.
  • the first communication device may include a first route determination unit that determines the A route
  • the second communication device may include a second route determination unit that determines the B route.
  • the first route determination unit may determine a predetermined route on the network as the A route, and may generate B route information that is data specifying the B route and is to be attached to the first encrypted data
  • the second route determination unit may determine the B route as a route specified by the B route information attached to the received first encrypted data when the second communication device receives the first encrypted data to which the B route information is attached by the second communication unit from the first communication device
  • the second communication unit may transmit one and the other of the two data obtained from the second first encrypted data to the first communication device via the A route determined by the first route determination unit and the B route determined by the second route determination unit.
  • the second route determination unit of the second communication device determines the B route based on the B route information that the first communication device adds to the first encrypted data and sends along with the first encrypted data via the A route. It is naturally possible for the first communication device or the first route determination unit that also determines the A route to determine the B route, which is a communication route that does not overlap with the A route except for the start point and the end point, and it is also naturally possible for the second route determination unit of the second communication device to determine the B route using the B route information generated by the first communication device that specifies the B route.
  • the first route determination unit may be configured to identify both the A route and the B route as routes on the Internet, or to identify one of the A route and the B route as a route on any of the Internet, a telecommunications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, and a multimedia message service, and to identify the other of the A route and the B route as a route on any of the Internet, a telecommunications carrier line, a global IP-assigned IP-VPN, a private network, a short message service, and a multimedia message service.
  • route A and route B are used.
  • most of the communication between the first communication device and the second communication device to share the shared data between them is performed using route A, and only a portion of the communication is performed using route B. Since the second invention uses only two types of routes, the stability of communication is high.
  • the route A may have a higher quality of communication than the route B. Higher quality of communication means at least one of a faster communication speed, a more stable communication, and no restriction on the total amount of transmittable data or a larger total amount of restriction.
  • path A having a higher communication quality than path B By selecting a path A having a higher communication quality than path B, it becomes possible to realize most of the communication between the first communication device and the second communication device to share the shared data between them on path A, which has a higher communication quality, and communication on path B, which has a relatively lower communication quality than path A, is performed only once, and the data transmitted in this one-time communication is only one of the two data obtained by performing a reversible conversion on any one of the first encrypted data, the second first encrypted data, and the second encrypted data in the first invention. Therefore, even if the quality of communication on path B is not very good, problems are unlikely to occur in the communication using path B.
  • the data passing through the A route is one of the two data generated by performing a predetermined conversion that can be reversed to any one of the first encrypted data, the second first encrypted data, and the second encrypted data
  • the data passing through the B route is the other of the two data generated by performing a predetermined conversion that can be reversed to any one of the first encrypted data, the second first encrypted data, and the second encrypted data.
  • the other of the two data transmitted using the B route may have a smaller amount of data than one of the two data transmitted using the A route. If the other of the two data is made smaller than one of the two data, the data passing through the B route will be smaller, which also reduces the possibility of a malfunction occurring in communication using the B route.
  • the reversible transformation performed on the first encrypted data may be executed as a process of dividing the first encrypted data into the one data and the other data in accordance with a predetermined rule.
  • the reversible transformation performed on the second first encrypted data may be executed as a process of dividing the second first encrypted data into the one data and the other data in accordance with a predetermined rule.
  • the reversible transformation performed on the second encrypted data may be executed as a process of dividing the second encrypted data into the one data and the other data in accordance with a predetermined rule.
  • Splitting the data is an example of a transformation that can be reversed, and is simple to do.
  • a method according to the second invention is a communication method executed by a communication system comprising a first communication device which is one of two communication devices communicating with each other, and a second communication device which is the other communication device, wherein the first communication device has a first encryption unit which performs a conversion for encryption that satisfies the commutative law and the associative law, a first decryption unit which performs an inverse conversion of the encryption performed by the first encryption unit, and a first communication unit which communicates with the second communication device via a specified network, and the second communication device has a second encryption unit which performs a conversion for encryption that satisfies the commutative law and the associative law, a second decryption unit which performs an inverse conversion of the encryption performed by the second encryption unit
  • the method includes a first step in which the first communication device converts shared data, which is plaintext data to be shared with the second communication device, for encryption in the first encryption unit to obtain first encrypted data, and transmits the first encrypted data to the second communication device via the network in the first communication unit; a second step in which the second communication device receives the first encrypted data from the first communication device in the second communication unit, converts the first encrypted data for encryption in the second encryption unit to obtain second first encrypted data, and transmits the second first encrypted data to the first communication device via the network in the second communication unit; a third step of receiving the second first-encrypted data from the first communication unit and performing an inverse conversion of the conversion for encryption performed by the first encryption unit on the second first-encrypted data in the first decryption unit, thereby converting the second first-encrypted data into second encrypted data, and transmitting the second encrypted data to the second communication device via the network in the first communication unit; and a fourth step of the second communication device receiving the second encrypted data from the first communication device in the second communication
  • the first communication device when the first communication device sends the first encrypted data to the second communication device, one of two data obtained by performing a predetermined conversion that can be reversed on the first encrypted data is sent via a route A on the network, and the other of the two data is sent via a route B on the network, and in the second step, the second communication device executes a process of obtaining the second first encrypted data by performing the conversion on the first encrypted data obtained by performing an inverse conversion on one of the two data received via the route A and the other of the two data received via the route B, and sends the second first encrypted data to the first communication device via the route A, and in the third step, the first communication device sends the second encrypted data to the second communication device via the route A.
  • the first communication device and the second communication device set the route A and the route B so as not to overlap each other except for the start points and end points of the two routes.
  • the first communication device sends the first encrypted data to the second communication device via a route A that is a route on the network
  • the second communication device when the second communication device sends the second first encrypted data to the first communication device, one of two data obtained by performing a predetermined conversion that can be reversed on the second first encrypted data is sent via the route A and the other of the two data is sent via a route B that is a route on the network
  • the first communication device executes a process of obtaining the second encrypted data by performing the conversion on the second first encrypted data obtained by performing an inverse conversion on one of the two data received via the route A and the other of the two data received via the route B, and sends the second encrypted data to the second communication device via the route A.
  • the first communication device and the second communication device set the route A and the route B so as not to overlap each other except for the starting points and ending points of the two routes.
  • the first communication device sends the first encrypted data to the second communication device via route A, which is a route on the network
  • the second communication device sends the second encrypted data to the first communication device via route A
  • the third step when the first communication device sends the second encrypted data to the second communication device, one of two data obtained by performing a predetermined conversion that can be reversed on the second encrypted data is sent via route A and the other of the two data is sent via route B, which is a route on the network
  • the second communication device executes a process of obtaining the shared data by performing the conversion on the second encrypted data obtained by performing a reverse conversion on the one of the two data received via route A and the other of the two data received via route B.
  • the first communication device and the second communication device may automatically perform the first step to the fourth step in succession.
  • FIG. 1 is a diagram showing the overall configuration of a communication system according to a first embodiment.
  • FIG. 2 is a diagram showing the appearance of a communication device included in the communication system shown in FIG. 1 .
  • FIG. 2 is a diagram showing a hardware configuration of a communication device included in the communication system shown in FIG. 1 .
  • 2 is a block diagram showing functional blocks generated within a communication device included in the communication system shown in FIG. 1 .
  • 2 is a diagram showing a flow of processes executed when communication is performed in the communication system shown in FIG. 1 .
  • 2 is a diagram conceptually showing an example of a first route, a second route, and a third route created in a network when encrypted communication according to the first case of ⁇ 1-1> is performed in the communication system shown in FIG. 1 . 1.
  • a conceptual diagram showing an example of a first route, a second route, and a third route created in a network when encrypted communication according to the second case of ⁇ 1-1> is performed in the communication system shown in FIG. 1.
  • a conceptual diagram showing an example of a first route, a second route, and a third route created in a network when encrypted communication according to the third case of ⁇ 1-1> is performed in the communication system shown in FIG. 2 is a diagram conceptually showing an example of a first route, a second route, and a third route created in a network when encrypted communication according to the first case of ⁇ 2-2> is performed in the communication system shown in FIG. 1 .
  • FIG. 11 is a block diagram showing functional blocks generated within a communication device included in a communication system according to a second embodiment.
  • FIG. 4 is a diagram showing a process flow when encrypted communication is performed in the communication system shown in FIG. 1 in “3. When the first route is composed of routes A and B”. 1.
  • FIG. 4 is a diagram showing a process flow when encrypted communication is performed in the communication system shown in FIG. 1 in “4. When the second route is configured with routes A and B”. 1.
  • FIG. 4 is a diagram showing a process flow when encrypted communication is performed in the communication system shown in FIG. 1 in accordance with “5. When the third route is configured with routes A and B”.
  • FIG. 1 shows an outline of the overall configuration of a communication system according to the first embodiment.
  • the communication system of the first embodiment includes a large number of communication devices 100-1 to 100-N (hereinafter, sometimes simply referred to as "communication device 100"). Any two of the many communication devices 100 can communicate with each other. In this embodiment, all of the many communication devices 100 can be connected to a network 400. That is, in this embodiment, the above-mentioned communication performed by any two of the many communication devices 100 is communication via the network 400.
  • the network 400 includes, for example, at least the Internet (including the Internet VPN, the same applies below), and in this embodiment, is configured with multiple types of lines including the Internet.
  • the network 400 of this embodiment also includes a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS) as lines other than the Internet.
  • the communication device 100 does not need to be capable of communication over all of the above types of lines. Of course, it does not matter if the types of lines that can be used for communication differ for each communication device 100, and in practice, this is usually the case. It is sufficient that the multiple communication devices 100 are connectable to the network 400 when performing the encrypted communication described below, and they do not necessarily need to be connected to the network 400 at all times.
  • each of the communication devices 100-1 to 100-N may function as a first communication device as defined in the present invention, or may function as a second communication device as defined in the present invention.
  • the configuration of each of the communication devices 100-1 to 100-N is the same in terms of the present invention.
  • the communication devices 100-1 to 100-N include a computer. More specifically, the communication device 100 in this embodiment is configured by a general-purpose computer.
  • the communication devices 100-1 to 100-N may be general-purpose servers. Although not limited to this, the communication devices 100-1 to 100-N are assumed to be computers owned by each user.
  • the communication devices 100 are mobile phones, smartphones, tablets, notebook personal computers, desktop personal computers, etc. All of them are required to be capable of communicating via the network 400, to generate functional blocks described later by installing a computer program described later, and to execute processing described later. As long as this is possible, other specifications are not particularly important.
  • communication device 100 is a smartphone or a tablet
  • communication device 100 as a smartphone may be, for example, an iPhone manufactured and sold by Apple Japan LLC
  • communication device 100 as a tablet may be, for example, an iPad manufactured and sold by Apple Japan LLC
  • each of the communication devices 100-1 to 100-N may be a chip or card such as a SIM (Subscriber Identity Module) or an IC card (for example, Suica (trademark) issued by East Japan Railway Company, etc.).
  • SIM Subscriber Identity Module
  • IC card for example, Suica (trademark) issued by East Japan Railway Company, etc.
  • each of the communication devices 100-1 to 100-N may be a communication device that is not directly operated by a user during normal communication, such as a router or a switch, or may be a device having a communication function that constitutes the Internet of Things (IoT) ("Things" in the Internet of Things). Even if the communication devices 100-1 to 100-N are such devices or equipment, they at least include the same hardware as that shown in FIG. 3, which will be described later, provided in the communication devices 100-1 to 100-N, except for the user interface.
  • IoT Internet of Things
  • Fig. 2 shows an example of the appearance of the communication device 100. Although not limited to this, Fig. 2 shows the appearance of the communication device 100 when it is a smartphone.
  • the communication device 100 includes a display 101.
  • the display 101 is for displaying an image, which may be a still image or a moving image, and may be a publicly known or well-known display.
  • the display 101 is, for example, a liquid crystal display.
  • the communication device 100 also includes an input device 102.
  • the input device 102 is for a user to input a desired input to the communication device 100.
  • the input device 102 may be a publicly known or well-known display.
  • the input device 102 of the communication device 100 in this embodiment is a button type, but is not limited to this, and may be a numeric keypad, keyboard, trackball, mouse, or the like.
  • the input device 102 will be a keyboard, a mouse, or the like.
  • the display 101 is a touch panel, the display 101 also functions as the input device 102, and this is the case in this embodiment.
  • the hardware configuration of the communication device 100 is shown in FIG.
  • the hardware includes a CPU (central processing unit) 111, a ROM (read only memory) 112, a RAM (random access memory) 113, and an interface 114, which are interconnected by a bus 116.
  • the CPU 111 is a computing device that performs calculations.
  • the CPU 111 executes a process described below by executing a computer program recorded in, for example, the ROM 112 or the RAM 113.
  • the CPU 111 may be a computing device, and may be a graphics processing unit (GPU) or a general purpose computing on GPU (GPGPU) as long as it has similar capabilities.
  • GPU graphics processing unit
  • GPU general purpose computing on GPU
  • the hardware of the communication device 100 may include a large-capacity storage device connected to the bus 116, such as a hard disk drive (HDD), a solid state drive (SSD), or other storage device, and the computer program may be stored in the storage device.
  • the computer program here includes at least a computer program for causing the communication device 100 to function as both the first communication device and the second communication device of the present invention.
  • This computer program may be pre-installed in the communication device 100, or may be post-installed.
  • the computer program may be installed in the communication device 100 via a predetermined recording medium such as a memory card, or may be installed via a network such as a LAN or the Internet.
  • the ROM 112 records computer programs and data necessary for the CPU 111 to execute the processes described below.
  • the computer programs recorded in the ROM 112 are not limited to the above, and if the communication device 100 is a smartphone, computer programs and data necessary for the communication device 100 to function as a smartphone, for example, for making calls and e-mails, may be recorded.
  • the communication device 100 is also capable of browsing homepages based on data received via the network 400, and is equipped with a known web browser to enable this.
  • the RAM 113 provides a work area necessary for the CPU 111 to perform processing. In some cases, for example, a part of the computer programs and data described above may be stored in the RAM 113.
  • the interface 114 exchanges data between the CPU 111, RAM 113, etc., which are connected via a bus 116, and the outside.
  • the above-mentioned display 101 and input device 102 are connected to the interface 114. Operation contents input from the input device 102 are input from the interface 114 to the bus 116.
  • image data for displaying an image on the display 101 is output from the interface 114 to the display 101.
  • the interface 114 is also connected to a transmission/reception mechanism (not shown), which is a known device for communicating with the outside via the network 400, which is the Internet, thereby enabling the communication device 100 to transmit data via the network 400 and receive data via the network 400.
  • the transmission/reception mechanism may include devices necessary for realizing communication via various lines, such as the Internet, a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • Such data transmission/reception via the network 400 may be performed by wire or wirelessly.
  • the communication device 100 is a smartphone, such communication will usually be performed wirelessly.
  • the configuration of the transmission/reception mechanism may be publicly known or well-known.
  • Data received by the transmission/reception mechanism from the network 400 is received by the interface 114, and data passed from the interface 114 to the transmission/reception mechanism is sent by the transmission/reception mechanism to the outside, for example, another communication device 100, via the network 400.
  • Examples of data that each communication device 100 transmits and receives using a transmission/reception mechanism via the network 400 are first encrypted data, second first encrypted data, and second encrypted data, all of which will be described in detail later.
  • the following functional blocks may be generated by the functions of the above-mentioned computer program alone for causing the communication device 100 to function as the communication device of the present invention, or may be generated by cooperation between the above-mentioned computer program and an OS or other computer programs installed in the communication device 100.
  • the other computer programs may include computer programs for realizing communication via various lines, such as the Internet, a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), a multimedia message service (MMS), etc.
  • a data processing unit 120 is generated within the communication device 100.
  • the input unit 121 and the output unit 127 correspond to the interface 114 when viewed as hardware, or are realized by the function of the interface 114. More specifically, the input unit 121 and the output unit 127 conceptually correspond to the connection portion between the interface 114 and the bus 116.
  • control unit 122, the encryption unit 123, the decryption unit 124, the first path determination unit 125, and the second path determination unit 126 correspond in terms of hardware to the CPU 111 which is a calculation device, or are realized by the functions of the CPU 111 and, if some data is required for the CPU 111 to perform some processing, a recording device (ROM 112, RAM 113, large-capacity recording device) which records that data.
  • ROM 112, RAM 113 large-capacity recording device
  • the input unit 121 receives an input from the interface 114 .
  • the input from the interface 114 includes, for example, the identification information input by the input device 102.
  • the identification information is information that identifies two communication devices 100 (hereinafter, sometimes referred to as "identified communication devices") that are about to perform encrypted communication from among the multiple communication devices 100-1 to 100-N.
  • identified communication devices two communication devices 100
  • it is natural that the communication device 100 that will perform the encrypted communication is identified by identifying the other communication device 100, so it is necessary and sufficient for the identification information to include only information that identifies the other communication device 100.
  • both of the two communication devices 100 that will perform communication may be identified by the identification information.
  • each communication device 100 is assigned identification information that is information that is unique among all communication devices 100.
  • the identification information is, for example, the IP address, email address (email address of a mobile phone carrier), telephone number, URL, SNS (social networking service) ID, etc., of the communication device 100.
  • the specific information may be generated by the user inputting both of the identification information of the two communication devices 100 performing encrypted communication into the input device 102.
  • the information input as the specific information may be only the identification information of the other communication device 100.
  • control unit 122 or the transmission/reception mechanism may automatically attach the identification information of the sender to the data (for example, the first encrypted data described later) transmitted to the other communication device 100.
  • the communication device 100 of the communication destination may know the communication device 100 of the communication source, so that both of the specific communication devices can know both of the two specific communication devices.
  • identification information identifying both the identification information of that communication device 100 and the identification information of the other party's communication device 100 is automatically generated by control unit 122.
  • the user can generate (or select) shared data by operating the input device 102.
  • the shared data is plaintext data.
  • the shared data may be automatically determined by the communication device 100 regardless of the user's will (when the shared data is a common key described below, the shared data is generally automatically determined by the communication device 100).
  • Such shared data is data intended to be shared by a specific communication device.
  • the shared data is data that is the subject of transmission and reception by encrypted communication between the communication devices 100. For example, when such transmission and reception is transmission and reception of e-mail, the data becomes e-mail data.
  • the data sent from the virtual store communication device 100 to the customer communication device 100 is, for example, data for providing the customer communication device 100 with a format for the customer to enter a product selection screen, customer information, delivery address information, etc.
  • the data sent from the customer communication device 100 to the virtual store communication device 100 is information for identifying the product selected by the customer as a purchase target and its quantity, or customer information and delivery address information entered by the customer in the above-mentioned format.
  • the shared data may be a common key that is held only by the source communication device 100 and is used in the common key encryption communication performed by the specific communication device thereafter, and that needs to be shared between the two communication devices 100, the source and the destination, prior to the common key encryption communication.
  • the shared data may be in any format, such as text data, image data, or audio data.
  • the shared data does not need to be the data itself input by the user operating the input device 102, but may be data created by the communication device 100 performing a predetermined information processing on the data, or may be data that existed in the source communication device 100 (for example, data that was recorded in the data processing unit 120 or outside the data processing unit 120 (RAM 113 or a large-capacity recording device)) before the start of encrypted communication between the specific communication devices.
  • the shared data is input to the input unit 121 from the large-capacity recording device or the input device 102 via the interface 114.
  • Other data that can be input to the input unit 121 from the interface 114 include the first encrypted data, the second first encrypted data, and the second encrypted data. These may be sent from the communication device 100 of the other party in the communication via the network 400. When any of these data are sent, they are received by the transmitting/receiving mechanism and sent from the transmitting/receiving mechanism to the interface 114. In the manner described above, specific information is input to the input unit 121 as input from the input device 102, the first encrypted data, the second first encrypted data, and the second encrypted data are input from the transmission/reception mechanism, and shared data is input from the input device 102, etc. Upon receiving these, the input unit 121 sends them all to the control unit 122 .
  • the control unit 122 controls all of the functional blocks generated in the data processing unit 120 in the communication device 100 .
  • the control unit 122 may receive the specific information and the shared data from the input unit 121.
  • the control unit 122 When the control unit 122 receives the specific information and the shared data, the control unit 122 generates data for causing the display 101 to perform a display based on the specific information and the shared data, and sends the data to the output unit 127.
  • the control unit 122 receives the identification information and the shared data, it sends the shared data to the encryption unit 123 to start encrypted communication between the communication device 100 to which the identification information has been input and the other communication device 100 identified by the identification information.
  • control unit 122 sends the identification information to the first route determination unit 125 or the second route determination unit 126. Furthermore, the control unit 122 may receive, from the input unit 121, first encrypted data transmitted from another communication device 100 via the network 400. When the control unit 122 receives the first encrypted data, it transmits it to the encryption unit 123. Furthermore, the control unit 122 may receive, from the input unit 121, the second first encrypted data transmitted from another communication device 100 via the network 400. When the control unit 122 receives the second first encrypted data, it transmits it to the decryption unit 124. Furthermore, the control unit 122 may receive, from the input unit 121, second encrypted data transmitted from another communication device 100 via the network 400.
  • control unit 122 When the control unit 122 receives the second encrypted data, it transmits it to the decryption unit 124.
  • the control unit 122 is also configured to send an instruction to the first route determination unit 125 to determine the first route, and to send an instruction to the second route determination unit 126 to determine the second route. The timing at which the control unit 122 issues these instructions will be described later.
  • the encryption unit 123 may receive shared data from the control unit 122, and when the encryption unit 123 receives the shared data, the encryption unit 123 executes a process of encrypting the shared data. As a result of the process, the shared data is converted into first encrypted data.
  • the encryption unit 123 sends the first encrypted data to the output unit 127.
  • the encryption operation executed by the encryption unit 123 satisfies the commutative law and the associative law. This will be described later.
  • the encryption unit 123 may receive first encrypted data from the control unit 122, and when the encryption unit 123 receives the first encrypted data, the encryption unit 123 executes a process of further encrypting the first encrypted data. As a result of the process, the first encrypted data is converted into second first encrypted data.
  • the encryption unit 123 sends the second first encrypted data to the output unit 127.
  • the decryption unit 124 performs the inverse operation of the operation performed by the encryption unit 123 in the same communication device 100. In other words, the decryption unit 124 is capable of restoring encrypted data generated by the encryption unit 123 in the same communication device 100 encrypting plaintext data back to plaintext.
  • the decryption unit 124 may receive the second first encrypted data from the control unit 122, and when the decryption unit 124 receives the second first encrypted data, it performs a decryption process on the second first encrypted data, in other words, it performs a reverse conversion of the conversion for encryption performed on the second first encrypted data by the encryption unit 123 of the communication device 100.
  • the decryption unit 124 sends the second encrypted data to the output unit 127.
  • the decryption unit 124 may receive second encrypted data from the control unit 122, and when it receives the second encrypted data, it performs a decryption process on the second encrypted data, in other words, performs a reverse conversion of the conversion for encryption performed on the second encrypted data by the encryption unit 123 of the communication device 100.
  • the second encrypted data becomes shared data, which is plaintext data.
  • the decryption unit 124 sends the shared data to the output unit 127.
  • the encryption unit 123 and the decryption unit 124 are as described above, but the encryption unit 123 and the decryption unit 124 in the communication device 100 that first has the shared data correspond to the first encryption unit and the first decryption unit, respectively, of this application. Also, the encryption unit 123 and the decryption unit 124 in the communication device 100 that receives the shared data from the other communication device 100 through encrypted communication correspond to the second encryption unit and the second decryption unit, respectively, of this application.
  • the first path determination unit 125 may receive an instruction from the control unit 122 to determine the first path, and when the instruction is received, the first path determination unit 125 determines the first path.
  • the first path determination unit 125 may also determine the third path. The timing and method for the first path determination unit 125 to determine the third path will be described later.
  • the second path determination unit 126 may receive an instruction from the control unit 122 to determine the second path, and when the instruction is received, the second path determination unit 126 determines the second path.
  • the second path determination unit 126 may determine the third path. The timing and method for the second path determination unit 126 to determine the third path will be described later.
  • the first route, the second route, and the third route are as follows.
  • data travels one and a half times between the two communication devices 100.
  • the communication device 100 that first has the shared data among the two communication devices 100 is called the "sending communication device 100"
  • the communication device 100 that finally receives the shared data from the sending communication device 100 is called the "receiving communication device 100" (hereinafter, the terms may be written in this manner).
  • data is first sent from the sending communication device 100 to the receiving communication device 100, then sent from the receiving communication device 100 to the sending communication device 100, and finally sent from the sending communication device 100 to the receiving communication device 100. In this way, transmission and reception are performed three times as one set in one encrypted communication between the sending communication device 100 and the receiving communication device 100.
  • the route on network 400 from the transmitting communication device 100 to the receiving communication device 100 when the first transmission and reception is performed is the first route
  • the route on network 400 from the receiving communication device 100 to the transmitting communication device 100 when the second transmission and reception is performed is the second route
  • the route on network 400 from the transmitting communication device 100 to the receiving communication device 100 when the third transmission and reception is performed is the third route.
  • the first route, the second route, and the third route need to be set so that the second route and at least one of the first route and the third route do not overlap except for the start points and end points of the two routes to be compared. This condition satisfies any one of the following (1) to (4).
  • overlap includes cases where only a part of the two routes overlaps.
  • the first route and the second route overlap, but the third route does not overlap with the second route (2) The third route and the second route overlap, but the first route does not overlap with the second route (3) The second route does not overlap with both the first route and the third route, and the first route overlaps with the third route (4) The second route does not overlap with both the first route and the third route, and the first route does not overlap with the third route
  • the first route determination unit 125 and the second route determination unit 126 set or determine the first route, the second route, and the third route so as to satisfy any one of the above (1) to (4).
  • the conditions to be satisfied by the first route, the second route, and the third route may continue to be any one of the above (1) to (4), or may be a plurality of the above (1) to (4).
  • the conditions to be satisfied by the first route, the second route, and the third route may be randomly selected from the above-mentioned (1) to (4) each time encrypted communication is performed.
  • the first route determination unit 125 determines the first route, it generates first route information which is information specifying the first route (at least a part of the first route) and sends it to the output unit 127.
  • the first route determination unit 125 may generate third route information which is information specifying the third route (at least a part of the third route) and send it to the output unit 127.
  • the second route determination unit 126 generates second route information which is information specifying the second route (at least a part of the second route) and sends it to the output unit 127.
  • the second route determination unit 126 may generate third route information which is information specifying the third route (at least a part of the third route) and send it to the output unit 127.
  • the first route information, the second route information, and the third route information are all sent from the output unit 127 to the transmitting/receiving mechanism via the interface 114.
  • the output unit 127 may receive the first encrypted data, the second first encrypted data, and the second encrypted data from the encryption unit 123 or the decryption unit 124. When receiving the data, the output unit 127 transmits the data to the transmitting/receiving mechanism via the interface 114.
  • the output unit 127 may receive first route information from the first route determination unit 125, second route information from the second route determination unit 126, and third route information from the first route determination unit 125 or the second route determination unit 126. When receiving such information, the output unit 127 transmits the data to the transmitting/receiving mechanism via the interface 114.
  • any two of the communication devices 100 constituting the communication system communicate with each other.
  • the two communication devices 100 may also perform other communications, but in this embodiment, a description will be given of communications for sharing shared data between the two communication devices 100.
  • a user of a communication device 100 starts operating the communication device 100 owned by the user in order to communicate between the two communication devices 100 (S501).
  • the communication device 100 that the user starts operating is the first communication device in the present invention.
  • Such operations are performed by operating the input device 102.
  • the user performs necessary operations such as starting a publicly known or well-known mailer, which is an application for sending and receiving e-mail, or starting a publicly known or well-known browser, which is an application for browsing homepages.
  • the contents of such operations are input to the input unit 121 via the interface 114, and are sent from the input unit 121 to the control unit 122.
  • the control unit 122 receives image data for displaying an image on the display 101, which is generated by an application not shown in the figure based on such input contents, and sends it to the output unit 127. Such image data is sent from the output unit 127 to the display 101. An image based on such image data is displayed on the display 101. Such an image may be, for example, an image of a mailer or an image of a browser.
  • the user operates the input device 102 while looking at the display 101, thereby inputting specific information (S502). Although not limited to this, what the user inputs with the input device 102 in this embodiment is only information for identifying the communication device 100 of the other party of the communication.
  • the input specific information is identification information assigned to the communication device 100 of the other party in order to identify the communication device 100 of the other party, and differs depending on the communication line for transmitting the first encrypted data described later, but the specific information is, for example, the IP address, email address (email address of a mobile phone carrier), telephone number, URL, and SNS (social networking service) ID of the communication device 100.
  • the operation content for inputting the specific information is input to the control unit 122 via the interface 114 and the input unit 121.
  • the control unit 122 receives this, generates image data which is data for an image to be displayed on the display 101, and sends it to the display 101 via the output unit 127 and the interface 114.
  • the specific information being input by the user via the input device 102 is displayed on the display 101 in real time.
  • the user can input the specific information while watching this display.
  • the identification information is the IP address of the communication device 100 of the other party
  • the content is sent to the control unit 122 via the interface 114 and the input unit 121.
  • the control unit 122 that receives the data automatically generates specific information including the IP address of the communication device 100 and the IP address of the communication device 100 of the other party in the communication.
  • the control unit 122 sends the shared data to the encryption unit 123 and also sends an instruction to encrypt the shared data.
  • the process in the communication device 100 which corresponds to the first communication device in the present application, after the input of the specific information is completed is automatically performed without the user's operation of the input device 102, at least until the transmission of the second encrypted data to the other communication device 100, which will be described later, is completed.
  • the encryption unit 123 Based on the above instruction, the encryption unit 123 performs conversion to encrypt the shared data (S503).
  • the shared data is data of a character string "PPP". Details of the encryption method will be described later.
  • the first encrypted data is generated as a result of the encryption of the shared data by the encryption unit 123.
  • the first encrypted data is represented by hatching PPP with a diagonal line slanting downward to the right, which indicates that the character string PPP has been encrypted by the encryption unit 123 to become the first encrypted data.
  • the encryption unit 123 sends the first encrypted data to the output unit 127.
  • the first encrypted data is sent from the output unit 127 to the transmission/reception mechanism via the interface 114.
  • the control unit 122 sends the specific information and an instruction to the first path determination unit 125 to determine the first path.
  • the first route determination unit 125 determines a first route, which is a transmission route for the first encrypted data to the other communication device 100 specified by the specification information, and generates first route information (S503).
  • the first route information is sent from the first route determination unit 125 to the output unit 127 and then to the transmission/reception mechanism via the interface 114.
  • the transmitting and receiving mechanism transmits the first encrypted data to the communication device 100 identified by the identification information (e.g., the IP address of the other communication device 100 included in the identification information) via the network 400 (S504).
  • the PPP character string to be transmitted is hatched with diagonal lines slanting downward to the right, since it has been encrypted by the encryption unit 123.
  • the identification information is also transmitted to the other communication device 100 together with the first encrypted data. At this time, the first encrypted data is sent to the other communication device 100 via the first route on the network 400 .
  • the computer program for causing this communication device 100 to function as both the first communication device and the second communication device of the present invention cooperates with another computer program (e.g., a computer program for realizing communication using an Internet line, a communication carrier line, an SMS line, etc. (or that computer program plus data and hardware associated with that computer program)) implemented in the computer as the communication device 100 to realize communication using the first path, thereby realizing communication using the first path.
  • another computer program e.g., a computer program for realizing communication using an Internet line, a communication carrier line, an SMS line, etc. (or that computer program plus data and hardware associated with that computer program)
  • the communication device 100 which is the other party in the communication and corresponds to the second communication device in the present invention, receives the first encrypted data through its transmission/reception mechanism (S601).
  • the first encrypted data is sent from the transmission/reception mechanism to the input unit 121 in the data processing unit 120 via the interface 114.
  • the first encrypted data is sent from the input unit 121 to the control unit 122.
  • the processes starting from the process of S601, S602, S603, S604, and S605 are all automatically executed.
  • the control unit 122 that has received the first encrypted data sends the first encrypted data and an instruction to perform encryption processing on the first encrypted data to the encryption unit 123.
  • the encryption unit 123 performs conversion to encrypt the first encrypted data (S602). Details of the encryption method will be described later.
  • the encryption unit 123 further encrypts the first encrypted data without decrypting it, generating the second first encrypted data.
  • the second first encrypted data indicates that the character string PPP has been encrypted by the encryption unit 123 of the communication device 100, which corresponds to the first communication device of the present application, and further encrypted by the encryption unit 123 of the communication device 100, which corresponds to the second communication device of the present application, by hatching the character string PPP with diagonal lines that slope downward to the right and with diagonal lines that slope downward to the left.
  • the generated second first encrypted data is sent from the encryption unit 123 to the output unit 127.
  • the second first encrypted data is sent from the output unit 127 via the interface 114 to the transmission/reception mechanism.
  • the control unit 122 that has received the first encrypted data sends an instruction to the second path determination unit 126 to determine the second path, either before or after sending the first encrypted data to the encryption unit 123 .
  • the second route determination unit 126 determines a second route and generates second route information (S602).
  • the second route information is sent from the second route determination unit 126 to the output unit 127 and then sent to the transmission/reception mechanism via the interface 114.
  • the transmitting and receiving mechanism transmits (replies) the second first encrypted data to the communication device 100 corresponding to the first communication device via the network 400 in accordance with the second route information included in the identification information (S603). At this time, the second first encrypted data is sent to the other communication device 100 via the second route on the network 400.
  • the second route is a route on the network 400 that does not overlap with the first route except for its starting point and ending point.
  • the communication device 100 which corresponds to the first communication device in the present invention, receives the second first encrypted data at its transmission/reception mechanism (S505).
  • the second first encrypted data is sent from the transmission/reception mechanism to the input unit 121 in the data processing unit 120 via the interface 114.
  • the second first encrypted data is sent from the input unit 121 to the control unit 122.
  • the control unit 122 that has received the second first-encrypted data sends the second first-encrypted data and an instruction to the decryption unit 124 to perform the reverse conversion of the conversion performed by the encryption unit 123 on the second first-encrypted data.
  • the decryption unit 124 performs the reverse conversion on the second first-encrypted data to the conversion performed by the encryption unit 123 in the communication device 100 when the shared data was converted to the first encrypted data (S506).
  • the details of the decryption method will be described later.
  • the second encrypted data is generated as a result of the decryption process performed on the second first-encrypted data by the decryption unit 124. As already described, this is the same as the data obtained when the plaintext shared data is encrypted by the encryption unit 123 in the communication device 100 corresponding to the second communication device 100 in the present invention.
  • the second encrypted data is hatched with only a downward slash to the left around the character string PPP, which indicates that the plain text character string PPP is data that has been encrypted by encryption unit 123 of communication device 100, which serves as the second communication device in this application.
  • the generated second encrypted data is sent from the decryption unit 124 to the output unit 127.
  • the second encrypted data is sent from the output unit 127 via the interface 114 to the transmission/reception mechanism.
  • the transmission/reception mechanism refers to the identification information indicating the end point of the first route information, and transmits the second encrypted data to the communication device 100 identified by the identification information via the network 400 (S507). If necessary for such transmission, the transmission/reception mechanism of the communication device 100 corresponding to the first communication device of the present application performs such transmission using a type of identification information different from the above-mentioned identification information used by the communication device 100 corresponding to the first communication device of the present application, for example, an SNS account, a mobile phone number, an e-mail address of a carrier mail, etc.
  • the second encrypted data is sent to the other communication device 100 via a third route on the network 400.
  • the third route is the same as the first route.
  • the transmitting and receiving mechanism can send the second encrypted data to the other communication device 100 via the third route that is the same as the first route on the network 400.
  • third route information may be sent from the first route determination unit 125 to the transmission/reception mechanism via output unit 127 and interface 114.
  • the communication device 100 which corresponds to the second communication device in the present invention, receives the second encrypted data at its transmission/reception mechanism (S604).
  • the second encrypted data is sent from the transmission/reception mechanism to the input unit 121 in the data processing unit 120 via the interface 114.
  • the second encrypted data is sent from the input unit 121 to the control unit 122.
  • the control unit 122 that has received the second encrypted data sends the second encrypted data and an instruction to the decryption unit 124 to perform the reverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data. Based on this instruction, the decryption unit 124 performs the reverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data (S605). The details of the decryption method will be described later.
  • the result of the decryption of the second encrypted data by the decryption unit 124 is the shared data in plaintext.
  • the communication device 100 which is the second communication device in the present invention, comes to have the shared data originally held by the communication device 100, which is the first communication device in the present invention, in an unencrypted plaintext state.
  • the communication device 100 which corresponds to the second communication device, cannot grasp the contents of the original shared data from any of the first encrypted data, the second first encrypted data, and the second encrypted data until the sharing of the shared data is completed.
  • the conversion for decryption by the decryption unit 124 is completed, the shared data in plaintext can be obtained.
  • the two communication devices 100 which correspond to the first communication device and the second communication device in the present invention, share the shared data.
  • the shared data is transmitted between the two communication devices 100, the shared data is in an encrypted state, that is, the first encrypted data, the second first encrypted data, or the second encrypted data.
  • the encrypted communication described above in which encrypted data is transmitted and received one and a half times between the two communication devices 100, enables the two communication devices 100 to safely share the shared data.
  • the two communication devices 100 when performing the encrypted communication from S501 to S605, the two communication devices 100, which are specific communication devices, do not need to share any information, which is necessary, for example, when performing encrypted communication using a common key system. Therefore, the encrypted communication described above solves the key distribution problem. Furthermore, the first route on the network 400 along which the first encrypted data travels between the two communication devices 100 and the second route on the network 400 along which the second encrypted data travels are different except for the start point and the end point. Therefore, a malicious third party cannot obtain both the first encrypted data and the second encrypted data. This means that it is possible to eliminate the almost only vulnerability that exists in the encrypted communication described above, in which encrypted data is transmitted and received one and a half times between the two communication devices 100.
  • the shared data is encrypted (converted) by encryption unit 123 of communication device 100, which corresponds to the first communication device of the present application, to become first encrypted data, then encrypted (converted) by encryption unit 123 of communication device 100, which corresponds to the second communication device of the present application, to become second first encrypted data, then decrypted (converted) by decryption unit 124 of communication device 100, which corresponds to the first communication device of the present application, to become second encrypted data, and finally decrypted (converted) by decryption unit 124 of communication device 100, which corresponds to the second communication device of the present application, to return to the original shared data.
  • P be the shared data in a plaintext state.
  • P is a predetermined data string.
  • the operation for encryption performed on the shared data P in the encryption unit 123 is denoted as "xA”
  • the operation for encryption performed on the first encrypted data in the encryption unit 123 is denoted as "xB”
  • the inverse operation of the operation performed on the second encrypted data in the encryption unit 123 in the decryption unit 124 is denoted as "xA -1 "
  • the inverse operation of the operation performed on the second encrypted data in the encryption unit 123 in the decryption unit 124 is denoted as "xB -1 ".
  • the symbol "x” mentioned above does not, of course, mean a simple product operation.
  • the first encrypted data can be represented as "P ⁇ A”.
  • the second encrypted data can be expressed as "(P x A) x B”.
  • the second encrypted data can be represented as "P ⁇ B”.
  • the problem is the calculation performed by the decryption unit 124 to obtain "P ⁇ B” by performing the calculation " ⁇ A -1 " on the second first encrypted data "(P ⁇ A) ⁇ B".
  • the calculation "(P ⁇ B) ⁇ B -1 " to return the second encrypted data to the shared data P performed by the decryption unit 124 is a general decryption calculation, so there is no particular difficulty in this case beyond that present in normal encryption and decryption.
  • the transformation is as follows: ((P x A) x B) x A -1 ⁇ (P x (A x B)) x A -1 ⁇ (P x (B x A)) x A -1 ⁇ ((P x B) x A) x A -1 ⁇ (P ⁇ B) ⁇ (A ⁇ A ⁇ 1 ) ⁇ P x B That is, the encryption and decryption performed by the encryption unit 123 and the decryption unit 124 in the communication device 100 corresponding to the first communication device of the present application, and the encryption and decryption performed by the encryption unit 123 and the decryption unit 124 in the communication device 100 corresponding to the second communication device of the present application, must be capable of switching the order of the operations xA and xB as described above.
  • the encryption operations performed by the two communication devices 100 do not need to be the same, so long as the commutative and associative laws hold.
  • the exclusive OR operation has the property that the original data string is restored by repeating the same operation twice. That is, (P ⁇ A) ⁇ A ⁇ P ⁇ (A ⁇ A) ⁇ P.
  • the operation " ⁇ A” performed by the encryption unit 123 and the operation " ⁇ A -1 " performed by the decryption unit 124 are the same.
  • the decryption unit 124 since there is no benefit in having the encryption unit 123 and the decryption unit 124 be different, for example, the decryption unit 124 may be omitted and the encryption unit 123 may perform both the operations for encryption and decryption.
  • the random number generator can be realized by, for example, the RAM 113 and the CPU 111, using the functions of the above-mentioned computer program for causing the communication device 100 to function as the first communication device or the second communication device as defined in this application.
  • a circular shift is a method for when there is a data string of a certain length, and the right and left ends of the data string are assumed to be connected, and the entire data string is shifted to the right or left by a specified number of characters. For example, when shifting the entire data string to the right by three characters, three characters are deleted from the right end of the data string, and the deleted three characters are added to the left end of the data string while maintaining their order, and the rest of the data string is shifted to the right by three characters.
  • "three characters to the right" is the key for performing such encryption.
  • the encryption unit 123 of the communication device 100 corresponding to the first communication device of the present application converts the shared data using a key "N characters to the right" (the result is the first encrypted data)
  • the encryption unit 123 of the communication device 100 corresponding to the second communication device of the present application converts the first encrypted data using a key "M characters to the right” (the result is the second first encrypted data)
  • the decryption unit 124 of the communication device 100 corresponding to the first communication device of the present application converts the second first encrypted data using a key "N characters to the left” (the reverse conversion of the conversion made to the shared data)
  • the characters in the original shared data are shifted "M characters to the right".
  • the encryption unit 123 of the communication device 100 which corresponds to the second communication device of the present application, performs data conversion by adding a numerical value "M" to the data string converted by the encryption unit 123 of the communication device 100, which corresponds to the first communication device of the present application.
  • the decryption unit 124 of the communication device 100 which corresponds to the first communication device of the present application, performs conversion by subtracting the numerical value "N" from the data string converted by the encryption unit 123.
  • the data string after the conversion becomes the original data string (shared data) before conversion by the first encryption unit 123 of the communication device 100, which corresponds to the first communication device of the present application, to which the numerical value "M" has been added.
  • shared data is shared between two communication devices 100, which correspond to the first communication device and the second communication device in the present invention.
  • the shared data is sent to, for example, the control unit 122 in the communication device 100, which corresponds to the second communication device in the present application, and stored there, and in some cases is sent outside the data processing unit 120 and used as appropriate.
  • the shared data may be sent to the RAM 113 or a large-capacity storage device provided in the communication device 100 via the output unit 127 and the interface 114 and stored there.
  • the shared data may be a common key used when the two communication devices 100 perform publicly known or well-known common key encrypted communication after sharing the shared data, or secret information used for the two communication devices 100 to independently generate or select the same common key.
  • the process of sharing shared data in the present application can be regarded as a process of transmitting shared data from one communication device 100 to another communication device 100.
  • all communication devices 100 can function as both the first communication device and the second communication device according to the present invention.
  • one of the communication devices 100 is a server that allows a user's communication device 100 to browse a homepage, it is common that the server may be accessed from the user's communication device 100, but the server will not access the user's communication device 100.
  • the communication device 100 that is the server does not need to have any other characteristics than the second communication device as defined in the present invention.
  • the encrypted communication by the communication system in this embodiment is as described above, but the first route, the second route, and the third route are in a relationship in which the second route does not overlap with at least one of the first route and the third route, except for the start point and the end point of the second route.
  • How such a first route, second route, and third route are determined by the first route determination unit 125 in the communication device 100, which corresponds to the first communication device in this application, and the second route determination unit 126 in the communication device 100, which corresponds to the second communication device in this application, will be described below. Below, we will explain each of the cases "1. When the first route and the second route are not overlapped except at the start point and the end point" and "2.
  • the first case is as follows.
  • the communication device 100 which corresponds to the first communication device in this application and the communication device 100 which corresponds to the second communication device are both capable of performing at least two common communications among the Internet line, the communication carrier line, the IP-VPN with a global IP assignment, the private network, the Short Message Service (SMS), and the Multimedia Message Service (MMS).
  • SMS Short Message Service
  • MMS Multimedia Message Service
  • both of the two communication devices 100 are capable of communicating with each other through two different communication lines, an Internet line and an SMS. It is assumed that both communication devices 100 are aware that they can communicate with each other through two common communication lines.
  • the owners of the two communication devices 100 may contact each other in advance through e-mail or SNS, and may register in their own communication devices 100 the two communication lines that can be used for communication with each other.
  • Information specifying the two communication lines that can be used for communication with each other may be recorded in the own communication device 100 by, for example, operating the input device 102.
  • the information specifying the two communication lines input from the input device 102 in the two communication devices 100 is recorded in, for example, the first route determination unit 125 and the second route determination unit 126 via the interface 114, the input unit 121, and the control unit 122.
  • the above information identifying the two communication lines in the first route determination unit 125 and the second route determination unit 126 is recorded on a recording medium provided in the communication device 100, such as RAM 113 or a large-capacity recording device.
  • the two communication devices 100 can each store information indicating that when the communication device 100 functions as a first communication device as defined in the present application, one of the two communication lines is used as a first route, and when the communication device 100 functions as a second communication device as defined in the present application, the other of the two communication lines is used as a second route.
  • the first route determination unit 125 of each communication device 100 can store information indicating that an Internet line is used as the first route
  • the second route determination unit 126 can store information indicating that an SMS line is used as the second route.
  • the information recorded in the first route determination unit 125 and the second route determination unit 126 can be a recording medium provided in the communication device 100, such as the RAM 113 or a large-capacity recording device.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines the first route as a route using a predetermined Internet line, and generates first route information which is data for determining at least a part of the route.
  • the first route information is transmitted from the first route determination unit 125 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism transmits the first encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line which is a part of the network 400.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as a route using a predetermined SMS line, and generates second route information which is data for determining at least a part of the route.
  • the second route information is transmitted from the second route determination unit 126 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism transmits the second first encrypted data to the communication device 100 corresponding to the first communication device in this application via the SMS line which is a part of the network 400.
  • the first route and the second route are different, so the condition required by the present invention that the first route, the second route, and the third route must satisfy (the condition that the second route does not overlap with at least one of the first route and the third route except for the starting point and the ending point: hereinafter referred to as the "route condition") is satisfied.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in this application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in this application via an Internet line that is a part of the network 400 according to the first route information (which actually corresponds to the third route information) previously received.
  • the first route may be the same as the third route from the starting point to the end point, but this is allowed.
  • the third route may be preset as a route different from the first route.
  • information specifying a third route different from the first route for example, information that a communication carrier line is used as the third route
  • the first route determination unit 125 sends the third route information to the transmission/reception mechanism via the output unit 127 and the interface 114 before the second encrypted data is transmitted using the third route.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device of the present application transmits the second encrypted data to the communication device 100 corresponding to the second communication device of the present application by following the third route.
  • the above three communication routes (the third route is the same as the first route) are conceptually shown in FIG. 6A.
  • the first route is a route on an Internet line
  • the second route is a route on an SMS line, so that the two routes are necessarily different except for the start point and the end point of each route.
  • the first route information for specifying the first route generated by the first route determination unit 125 does not necessarily have to be information for specifying the entire length of the first route, but it is sufficient for it to specify that "the first route is a route on an Internet line.”
  • the second route information for specifying the second route generated by the second route determination unit 126 does not necessarily have to be information for specifying the entire length of the second route, but it is sufficient for it to specify that "the second route is a route on an SMS line.” The same applies to the third route information, regardless of whether it is the same as the first route information.
  • the first case in which the first route and the second route are predetermined is when one of the first route and the second route is a route on an Internet line, and the other is a route on another line that is not an Internet line.
  • both the first route and the second route are set as routes on two different types of lines, rather than on the Internet line.
  • the first route is taken as a route over a Multimedia Message Service (MMS) line and the second route is taken as a route over a private network line, although of course these two routes are merely examples.
  • MMS Multimedia Message Service
  • first route determination unit 125 in communication device 100 determines the first route as a route using a predetermined MMS line, and generates first route information, which is data that determines at least a part of the route.
  • the transmitting/receiving mechanism transmits the first encrypted data to communication device 100, which corresponds to the second communication device in this application, via the MMS line, which is part of network 400.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as a route using a line of a predetermined private network, and generates second route information which is data that determines at least a part of the route.
  • the transmission and reception mechanism transmits the second first encrypted data to the communication device 100 corresponding to the first communication device in this application via the line of the private network that is part of the network 400.
  • the first route and the second route are different from each other. Since the route condition is already satisfied, the third route can be anything.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in this application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in this application via an MMS line that is part of the network 400 according to the first route information previously received.
  • the first route may be the same as the third route from the starting point to the end point, but this is not necessarily the case.
  • This example is an example in which the second route and the first route do not overlap except for the starting point and the end point by setting in advance, but is also an example in which the second route and the third route do not overlap except for the starting point and the end point by setting in advance.
  • the above three communication paths are conceptually shown in FIG.
  • the first route is over the MMS line and the second route is over the private network line, so that both routes are necessarily different except for their start and end points.
  • the first route information for specifying the first route generated by the first route determination unit 125 does not necessarily have to be information for specifying the entire length of the first route, but it is sufficient for it to specify that "the first route is a route on the MMS line.”
  • the second route information for specifying the second route generated by the second route determination unit 126 does not necessarily have to be information for specifying the entire length of the second route, but it is sufficient for it to specify that "the second route is a route on the private network line.” The same applies to the third route information, regardless of whether it is the same as the first route information.
  • the first and second cases in which the first and second routes are predetermined are, as described above, cases in which one of the first and second routes is a route on a different line.
  • both the first route and the second route are set as routes on the Internet line.
  • both the communication device 100 corresponding to the first communication device in this application and the communication device 100 corresponding to the second communication device in this application are capable of communication via an Internet line.
  • data required for generating the first route information and the second route information are recorded in the first route determination unit 125 and the second route determination unit 126 of both communication devices 100.
  • first route determination unit 125 in communication device 100 corresponding to the first communication device determines the first route as a route using a predetermined Internet line, and generates first route information which is data for determining at least a part of the route.
  • the transmitting and receiving mechanism transmits the first encrypted data to communication device 100 corresponding to the second communication device in the present application via the Internet line which is part of network 400.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as a route using a predetermined Internet line and generates second route information which is data that determines at least a part of the route.
  • the transmission and reception mechanism transmits the second first encrypted data to the communication device 100 corresponding to the first communication device in this application via the Internet line that is part of the network 400.
  • the first route and the second route are different from each other. Since the route condition is already satisfied, the third route can be anything.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in this application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in this application via an Internet line that is a part of the network 400 according to the first route information previously received.
  • the third route may be the same as the first route from the starting point to the end point, but this is permitted.
  • the Internet line in Fig. 6(C) includes a communication device designated by the reference number 401, which is a device for realizing Internet communication.
  • the communication device 401 may be a publicly known or well-known device, such as a server, a router, a switch, or a core router, a core switch, or a soft switch owned by a communication carrier or the like.
  • the first route for transmitting first encrypted data from communication device 100 as the first communication device to communication device 100 as the second communication device, and the second route for transmitting second first encrypted data from communication device 100 as the second communication device to communication device 100 as the first communication device are set so that they do not include the same communication device 401.
  • a technology that virtually separates paths for the same communication device using virtual path and virtual circuit technology is widely used.
  • the communication device switch, etc.
  • the communication device is also virtualized as a software switch.
  • the communication device 100 which is a smartphone as the first communication device, may be connected to the Internet line via a router connected to the communication device 100 via Wi-Fi (trademark).
  • the router communication device 401X
  • Wi-Fi trademark
  • the router corresponds to the start point of the first route and the end point of the second route when viewed from the communication device 100 as the first communication device.
  • the two routes are set so that they do not overlap except for the start point and the end point, thereby minimizing the range in which the two routes overlap.
  • both of the two communication devices 100 must be capable of communicating using an Internet line, and must also be capable of setting the first route and the second route so that they do not overlap except at the starting point and the ending point.
  • the first route determination unit 125 and the second route determination unit 126 in the two communication devices 100 must be capable of generating first route information and second route information that make this possible.
  • the transmitting device determines a communication route such as source routing or its application, segment routing, or MANET (and DSR as a specific application example thereof) can be used.
  • the first route determination units 125 of the two communication devices 100 in this embodiment generate information identifying all communication devices 401 located on the first route from the communication device 100 to the communication device 100 on the other side (e.g., data including a set of IP addresses of the communication devices 401, which is information that sequentially identifies the communication devices 401 that will be lined up on the first route) as the first route information.
  • the second route determination units 126 of the two communication devices 100 generate information identifying all communication devices 401 located on the second route from the communication device 100 to the communication device 100 on the other side (e.g., data including a set of IP addresses of the communication devices 401, which is information that sequentially identifies the communication devices 401 that will be lined up on the second route) as the second route information.
  • the first route information and the second route information as described above are pre-recorded in the first route determination unit 125 and the second route determination unit 126 of both communication devices 100, and the first route determination unit 125 and the second route determination unit 126 are configured to send the recorded information as the first route information and the second route information from the output unit 127 to the transmission/reception mechanism, the first route and the second route when the two communication devices 100 perform encrypted communication will always be the same.
  • the information that specifies the two communication lines in the first route determination unit 125 and the second route determination unit 126 is recorded on a recording medium provided in the communication device 100, such as the RAM 113 or a large-capacity recording device. For example, by doing so, the first route and the second route do not overlap except for their starting points and ending points, as shown in FIG. 6C.
  • the first case is as follows.
  • the communication device 100 which corresponds to the first communication device in this application and the communication device 100 which corresponds to the second communication device are both capable of performing at least two common communications among the Internet line, the communication carrier line, the IP-VPN with a global IP assignment, the private network, the Short Message Service (SMS), and the Multimedia Message Service (MMS).
  • SMS Short Message Service
  • MMS Multimedia Message Service
  • both of the two communication devices 100 are capable of communicating with each other through two different communication lines, an Internet line and an SMS line.
  • both communication devices 100 are aware that they can communicate with each other through two common communication lines.
  • the owners of the two communication devices 100 may contact each other in advance through e-mail or SNS, and may register in their own communication devices 100 the two communication lines that can be used for communication with each other.
  • Information specifying the two communication lines that can be used for communication with each other may be recorded in the own communication device 100 by, for example, operating the input device 102.
  • the information specifying the two communication lines input from the input device 102 in the two communication devices 100 is recorded in, for example, the first route determination unit 125 and the second route determination unit 126 via the interface 114, the input unit 121, and the control unit 122.
  • the above information identifying the two communication lines in the first route determination unit 125 and the second route determination unit 126 is recorded on a recording medium provided in the communication device 100, such as RAM 113 or a large-capacity recording device.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines, for example, randomly (however, it is not necessary to randomize by using a weighting technique, a load balancer technique, or the like.
  • all cases where "randomly" is used are the same) one of, for example, two communication lines (e.g., an Internet line and an SMS line) that can be used by both communication devices 100 as the communication line on which the first route is created, and generates first route information for enabling the first route to be generated on the selected communication line.
  • the first route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmitting and receiving mechanism transmits the first encrypted data via an Internet line that is a part of the network 400 to the communication device 100, which corresponds to the second communication device in this application.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as follows.
  • the first encrypted data is sent from the transmission/reception mechanism to the control unit 122 in the data processing unit 120 via the interface 114 and the input unit 121 as described above.
  • the control unit 122 extracts data attached to the first encrypted data indicating which communication line was used for the communication performed using the first route, and sends the data to the second route determination unit 126.
  • the second route determination unit 126 specifies which communication line was used for the communication performed using the first route. Then, the second route determination unit 126 determines a communication line of a type different from the communication line as the communication line on which the second route is to be created. In this embodiment, since the first route was a route on the Internet line, the second route determines the other of the two communication lines that can be used by both of the two communication devices 100, that is, the SMS line, as the line on which the second route should be created. When there are three or more types of lines that the two communication devices 100 can use for communication, the second route determination unit 126 determines, for example, randomly, one of the remaining two or more lines other than the Internet line as the line on which the second route should be created.
  • the second route determination unit 126 generates second route information that is data that determines at least a part of the determined second route.
  • the second route information is sent from the second route determination unit 126 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application, via the SMS line that is part of the network 400.
  • the first route and the second route are different from each other. Since the route condition is already satisfied, the third route can be anything.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in the present application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in the present application via an Internet line that is a part of the network 400, for example, according to the first route information previously received.
  • the first route may be the same as the third route from the starting point to the end point, but this is permitted.
  • This example is an example in which the second route is determined by the second route determination unit 126 of the communication device 100 corresponding to the second communication device in the present application, so that the second route and the first route do not overlap except for the starting point and the end point, but is also an example in which the second route is determined by the second route determination unit 126 of the communication device 100 corresponding to the second communication device in the present application, so that the second route and the third route do not overlap except for the starting point and the end point.
  • the paths for the above three communications are the same as those already described with reference to FIG.
  • the first route is a route on an Internet line
  • the second route is a route on an SMS line, so that the two routes are necessarily different except for the start point and the end point of each route.
  • the first route information for specifying the first route generated by the first route determination unit 125 does not necessarily have to be information for specifying the entire length of the first route, but it is sufficient for it to specify that "the first route is a route on an Internet line.”
  • the second route information for specifying the second route generated by the second route determination unit 126 does not necessarily have to be information for specifying the entire length of the second route, but it is sufficient for it to specify that "the second route is a route on an SMS line.” The same applies to the third route information, regardless of whether it is the same as the first route information.
  • the first case in which the second route is determined by the communication device 100, which corresponds to the second communication device of the present invention is when one of the first route and the second route is a route on an Internet line, and the other is a route on another line that is not the Internet line.
  • both the first route and the second route are set as routes on two different types of lines, rather than on the Internet line.
  • the first route is over a Multimedia Message Service (MMS) line and the second route is over a private network line.
  • MMS Multimedia Message Service
  • the method for forming the first and second routes on different lines may be the same as in the first case. It is optional whether or not to make the third route different from the first route, and the methods for making them the same or different are as explained above.
  • the first to third routes in the encrypted communication are the same as those shown in FIG. 6(B).
  • both the first route and the second route are set as routes on the Internet line.
  • both the communication device 100 corresponding to the first communication device in this application and the communication device 100 corresponding to the second communication device in this application are capable of communication via an Internet line.
  • data required for generating the first route information and the second route information are recorded in the first route determination unit 125 and the second route determination unit 126 of both communication devices 100.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines the first route as a route using the Internet line, and generates first route information which is data for determining at least a part of the route.
  • the transmission/reception mechanism transmits the first encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line which is a part of the network 400.
  • the first route information in this case may specify the total length of the first route, or may specify only that "the first route is created on the Internet line.”
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as a route using an Internet line and generates second route information which is data for determining at least a part of the route.
  • the transmission and reception mechanism transmits the second first encrypted data to the communication device 100 corresponding to the first communication device in this application via the Internet line which is part of the network 400.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as follows, and generates second route information as follows.
  • the communication device 100 corresponding to the second communication device receives the first encrypted data transmitted from the communication device 100 corresponding to the first communication device in this application by tracing the first route.
  • the first encrypted data is transmitted on the first route created via a number of communication devices 401 as shown in FIG. 6C.
  • the second route determination unit 126 first identifies the first route.
  • MPLS or MANET can be used for this purpose.
  • DSR Dynamic Source Routing
  • MANET Dynamic Source Routing
  • the first encrypted data is accompanied by information identifying a large number of communication devices 401 through which the first encrypted data has passed (for example, data consisting of a set of IP addresses of each communication device 401, which is information identifying the communication devices 401 arranged on the first route in order).
  • the header of a packet constituting the data to be transmitted includes information on all routes from the transmitting node to the receiving node.
  • the first encrypted data received by the communication device 100 which corresponds to the second communication device in this application, is sent to the control unit 122 via the transmitting/receiving mechanism, the interface 114, and the input unit 121.
  • the first encrypted data received by the control unit 122 is accompanied by the above-mentioned data.
  • the control unit 122 sends the data attached to the first encrypted data to the second route determination unit 126.
  • the second route determination unit 126 identifies all communication devices 401 included in the first route and their order based on the above-mentioned data received from the control unit 122, thereby identifying the entire length of the first route.
  • the second route determination unit 126 determines a second route as a route that does not overlap with the first route except for the start point and the end point.
  • Such a route can be determined by using, for example, source routing, or its application, segment routing, or MANET (or DSR as a specific application example).
  • the second route determination unit 126 selects communication devices 401 arranged on the second route from those that do not overlap with the communication devices 401 arranged on the first route except for the starting point and the end point.
  • the second route information is a set of data in which information that specifies all communication devices 401 arranged on the second route or through which the second route passes (for example, IP addresses of all communication devices 401 through which the second route passes) is arranged in the order of the communication devices 401.
  • the second route determination unit 126 sends the generated second route information to the transmission/reception mechanism via the output unit 127.
  • the transmission/reception mechanism sends the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application, so as to follow the second route specified by the second route information.
  • the first route and the second route are different. Both the first route and the second route are routes on the Internet line, but because so-called multihoming has been performed, the two routes do not overlap with each other. As a result, the route condition has already been satisfied, so the third route can be anything. Furthermore, when the second encrypted data is transmitted from the communication device 100 corresponding to the first communication device in the present application to the communication device 100 corresponding to the second communication device in the present application, the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in the present application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in the present application via an Internet line that is a part of the network 400 according to the first route information previously received.
  • the third route may be the same as the first route from the starting point to the end point, but this is permitted.
  • This example is an example in which the second route is determined by the second route determination unit 126 of the communication device 100 corresponding to the second communication device in the present application, so that the second route and the first route do not overlap except for the starting point and the end point, but is also an example in which the second route is determined by the second route determination unit 126 of the communication device 100 corresponding to the second communication device in the present application, so that the second route and the third route do not overlap except for the starting point and the end point.
  • the first route, the second route, and the third route used in the encrypted communication in the third case are as shown in FIG.
  • the first case is as follows.
  • the communication device 100 which corresponds to the first communication device in this application and the communication device 100 which corresponds to the second communication device are both capable of performing at least two common communications among the Internet line, the communication carrier line, the IP-VPN with a global IP assignment, the private network, the Short Message Service (SMS), and the Multimedia Message Service (MMS).
  • SMS Short Message Service
  • MMS Multimedia Message Service
  • both of the two communication devices 100 are capable of communicating with each other through two different communication lines, an Internet line and an SMS line.
  • both communication devices 100 are aware that they can communicate with each other through two common communication lines.
  • the owners of the two communication devices 100 may contact each other in advance through e-mail or SNS, and may register in their own communication devices 100 the two communication lines that can be used for communication with each other.
  • Information specifying the two communication lines that can be used for communication with each other may be recorded in the own communication device 100 by, for example, operating the input device 102.
  • the information specifying the two communication lines input from the input device 102 in the two communication devices 100 is recorded in, for example, the first route determination unit 125 and the second route determination unit 126 via the interface 114, the input unit 121, and the control unit 122.
  • the above information identifying the two communication lines in the first route determination unit 125 and the second route determination unit 126 is recorded on a recording medium provided in the communication device 100, such as RAM 113 or a large-capacity recording device.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines, for example, one of two communication lines (e.g., an Internet line and an SMS line) that can be used by both of the two communication devices 100 at random, for example, as the communication line on which the first route will be created, and generates first route information for enabling the first route to be generated on the selected communication line.
  • two communication lines e.g., an Internet line and an SMS line
  • the first route determination unit 125 determines, for example, one of two communication lines (e.g., an Internet line and an SMS line) that can be used by both of the two communication devices 100 other than the one selected for generating the first route on it, as the communication line on which the second route will be created, and generates second route information for enabling the second route to be generated on the selected communication line.
  • the communication device 100 as the first communication device also determines the second route, which is the route for returning the second first encrypted data from the communication device 100 as the second communication device in this application to the communication device 100 as the first communication device in this application via the network 400.
  • the first route information and the second route information are sent from the first route determination unit 125 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism sends the first encrypted data to the communication device 100, which corresponds to the second communication device in this application, via an Internet line that is part of the network 400.
  • the second route information is sent to the communication device 100, which corresponds to the second communication device in this application, together with the first encrypted data.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as follows.
  • the first encrypted data is sent from the transmission/reception mechanism to the control unit 122 in the data processing unit 120 via the interface 114 and the input unit 121 as described above.
  • the control unit 122 extracts the second route information attached to the first encrypted data and sends the second route information to the second route determination unit 126.
  • the second route determination unit 126 determines the route indicated by the second route information as the second route.
  • the second route determination unit 126 determines the second route as the route on the SMS.
  • the second route determination unit 126 generates second route information, which is data for determining at least a part of the determined second route, for example, second route information indicating that "the SMS line is used as the second route.”
  • the second route information is sent from the second route determination unit 126 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism sends the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application, via the SMS line that is a part of the network 400.
  • the third route can be anything. Furthermore, when the second encrypted data is transmitted from the communication device 100 corresponding to the first communication device in the present application to the communication device 100 corresponding to the second communication device in the present application, the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in the present application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in the present application via an Internet line that is a part of the network 400 according to the first route information previously received.
  • the third route may be the same as the first route from the starting point to the end point, but this is permitted.
  • This example is also an example in which the first route determination unit 125 in the communication device 100 corresponding to the first communication device in the present application determines the second route and the first route so as not to overlap except at the starting point and the end point, but is also an example in which the first route determination unit 125 in the communication device 100 corresponding to the first communication device in the present application determines the second route and the third route so as not to overlap except at the starting point and the end point.
  • the paths for the above three communications are the same as those already described with reference to FIG.
  • the first route is a route on an Internet line
  • the second route is a route on an SMS line, so that the two routes are necessarily different except for the start point and the end point of each route.
  • the first route information for specifying the first route generated by the first route determination unit 125 does not necessarily have to be information for specifying the entire length of the first route, but it is sufficient for it to specify that "the first route is a route on an Internet line.”
  • the second route information for specifying the second route generated by the second route determination unit 126 does not necessarily have to be information for specifying the entire length of the second route, but it is sufficient for it to specify that "the second route is a route on an SMS line.” The same applies to the third route information, regardless of whether it is the same as the first route information.
  • the first case in which the second route is determined by communication device 100 is when one of the first route and the second route is a route on an Internet line, and the other is a route on another line that is not the Internet line.
  • both the first route and the second route are set as routes on two different types of lines, rather than on the Internet line.
  • the first route is over a Multimedia Message Service (MMS) line and the second route is over a private network line.
  • MMS Multimedia Message Service
  • the method for forming the first and second routes on different lines may be the same as in the first case. It is optional whether or not to make the third route different from the first route, and the methods for making them the same or different are as explained above.
  • the first to third routes in the encrypted communication are the same as those shown in FIG. 6(B).
  • both the first route and the second route are set as routes on the Internet line.
  • both the communication device 100 corresponding to the first communication device in this application and the communication device 100 corresponding to the second communication device in this application are capable of communication via an Internet line.
  • data required for generating the first route information and the second route information are recorded in the first route determination unit 125 and the second route determination unit 126 of both communication devices 100.
  • first route determination unit 125 in communication device 100 corresponding to the first communication device determines the first route as a route using an Internet line, and generates first route information, which is data that determines at least a portion of that route.
  • the first route determination unit 125 determines a route that uses an Internet line and does not overlap with the first route except for its starting point and ending point, and generates second route information, which is data that determines at least a part of the route.
  • Both the first route information and the second route information can be generated by a technique in which a sending device determines a communication route, such as source routing, segment routing which is an application of source routing, or MANET (and DSR which is a specific application of source routing).
  • a sending device determines a communication route
  • a communication route such as source routing, segment routing which is an application of source routing, or MANET (and DSR which is a specific application of source routing).
  • the first route information in this example is a set of data in which information (e.g., IP addresses) specifying all communication devices 401 through which the first encrypted data passes, which is sent from the communication device 100 corresponding to the first communication device in this application to the communication device 100 corresponding to the second communication device in this application, is arranged in the order in which the first encrypted data passes.
  • the second route information in this example is a set of data in which information (e.g., IP addresses) specifying all communication devices 401 through which the second first encrypted data passes, which is sent from the communication device 100 corresponding to the second communication device in this application to the communication device 100 corresponding to the first communication device in this application, is arranged in the order in which the second first encrypted data passes.
  • the communication device 100 as the first communication device to determine the first route information and the second route information by specifying the communication devices 401 constituting the first route and the second route so that the condition that the first route and the second route do not overlap except for the starting point and the end point is satisfied by itself.
  • the first route information and the second route information are sent from the first route determination unit 125 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism sends the first encrypted data to the communication device 100, which corresponds to the second communication device in this application, via an Internet line that is part of the network 400.
  • the second route information is sent to the communication device 100, which corresponds to the second communication device in this application, together with the first encrypted data.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as follows.
  • the second first encrypted data is sent from the transmission/reception mechanism to the control unit 122 in the data processing unit 120 via the interface 114 and the input unit 121 as described above.
  • the control unit 122 extracts the second route information attached to the second first encrypted data and sends the second route information to the second route determination unit 126.
  • the second route determination unit 126 determines the route indicated by the second route information as the second route.
  • the second route is a route that connects multiple communication devices 401 identified by the second route information.
  • the second route determination unit 126 generates second route information, which is data for determining at least a part of the determined second route.
  • This second route information can be the same as the second route information itself sent from the communication device 100, which is the first communication device in this application, and is not limited to this, but is so in this example.
  • the second route information is sent from the second route determination unit 126 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism sends the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application, via an Internet line that is a part of the network 400.
  • the first route and the second route are different from each other. Since the route condition is already satisfied, the third route can be anything.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in the present application transmits the second encrypted data to the communication device 100 corresponding to the second communication device in the present application via an Internet line that is a part of the network 400 according to the first route information previously received.
  • the third route may be the same as the first route from the starting point to the end point, but this is permitted.
  • This example is also an example in which the first route determination unit 125 in the communication device 100 corresponding to the first communication device in the present application determines the second route and the first route so as not to overlap except at the starting point and the end point, but is also an example in which the first route determination unit 125 in the communication device 100 corresponding to the first communication device in the present application determines the second route and the third route so as not to overlap except at the starting point and the end point.
  • the paths for the above three communications are the same as those shown in FIG. 6C, which has already been described. In this case, although both the first route and the second route are routes on an Internet line, the first route and the second route do not pass through the same communication device 401 except for the starting point and the ending point.
  • the first case is as follows. In the first case, first, the preparation described in the first case of ⁇ 1-2> is performed. In this example, it is assumed that two communication devices 100 performing encrypted communication can communicate with each other using three lines (for example, an Internet line, an SMS line, and an MMS line).
  • three lines for example, an Internet line, an SMS line, and an MMS line.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device in the present application randomly determines, for example, one of three communication lines (for example, an Internet line, an SMS line, and an MMS line) that can be used by both of the two communication devices 100 as the communication line on which the first route is created, and generates first route information for enabling the first route to be created on the selected communication line.
  • the first route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the first encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line that is a part of the network 400.
  • the Internet line is selected as the network 400 on which the first route is created.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines, for example, one of three communication lines (for example, an Internet line, an SMS line, and an MMS line) that can be used by both of the two communication devices 100 as the communication line on which the second route is created, for example, randomly, and generates second route information for enabling the second route to be generated on the selected communication line.
  • the second route may overlap with the first route, or may not overlap with the first route except for its starting point and ending point.
  • the SMS line is selected as the communication line on which the second route is created, and second route information specifying at least a part of the second route is generated.
  • the second route information is sent from the second route determination unit 126 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmitting and receiving mechanism sends the second first encrypted data via an SMS line that is part of the network 400 to the communication device 100, which corresponds to the first communication device in this application.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in the present application determines the third route as follows.
  • the second encrypted data is sent from the transmission/reception mechanism to the control unit 122 in the data processing unit 120 via the interface 114 and the input unit 121 as described above.
  • the control unit 122 extracts data attached to the second encrypted data indicating which communication line was used for the communication performed using the second route, and sends the data to the first route determination unit 125.
  • the first route determination unit 125 specifies which communication line was used for the communication performed using the second route. Then, the first route determination unit 125 determines a communication line of a type different from the communication line as the communication line on which the third route will be created.
  • the line on which the third route is created is determined to be an Internet line or an MMS line, which is a line other than the SMS line among the three communication lines that can be used by both of the two communication devices 100. This determination may be made randomly, but it is not limited thereto. In this example, it is assumed that the MMS line is selected as the line on which the third route is created.
  • the first route determination unit 125 generates third route information, which is data that determines at least a part of the determined third route.
  • the third route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the second encrypted data to the communication device 100, which corresponds to the second communication device in this application, via the MMS line that is part of the network 400.
  • the second route and the third route are routes on different types of lines. Therefore, the two routes are necessarily different routes except for the start and end points of the two routes. It does not matter whether one of the two routes includes an Internet line or not. Thus, the second route and the third route are different and do not overlap.
  • the first route and the second route, and the first route and the third route do not overlap.
  • the first route information for identifying the first route generated by the first route determination unit 125 does not necessarily need to be information that identifies the entire length of the first route, but it is sufficient if it identifies that "the first route is a route on an Internet line.”
  • the first, second and third paths in this first case are conceptually shown in FIG.
  • both the second route and the third route are set as routes on the Internet line.
  • both the communication device 100 corresponding to the first communication device in this application and the communication device 100 corresponding to the second communication device in this application are capable of communication via an Internet line.
  • data required for generating the first route information and the second route information are recorded in the first route determination unit 125 and the second route determination unit 126 of both communication devices 100.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines, for example, one of three communication lines (for example, an Internet line, an SMS line, and an MMS line) that can be used by both of the two communication devices 100 at random as the communication line on which the first route is to be created, and generates first route information for enabling the first route to be created on the selected communication line.
  • the first route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the first encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line that is a part of the network 400.
  • the Internet line is selected as the network 400 on which the first route is to be created.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as a route using an Internet line and generates second route information which is data for determining at least a part of the route.
  • the second route may overlap with the first route, or may not overlap with the first route except for its starting point and end point.
  • the transmission/reception mechanism transmits the second first encrypted data to the communication device 100 corresponding to the first communication device in this application via the Internet line which is a part of the network 400.
  • the transmission/reception mechanism of the communication device 100 corresponding to the first communication device in the present application determines the third route as follows.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device in the present application determines the third route as a route using an Internet line, and generates third route information which is data that determines at least a part of the route.
  • the transmission/reception mechanism sends the second encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line which is a part of the network 400.
  • the third route information is usually set to specify the entire length of the third route.
  • the first route determination unit 125 in the communication device 100 which corresponds to the first communication device of the present application, determines the third route as follows.
  • the communication device 100 corresponding to the first communication device receives the second first encrypted data sent from the communication device 100 corresponding to the second communication device in this application via the second route.
  • the first route determination unit 125 identifies the second route over its entire length.
  • the applicable technologies are, again, MPLS and MANET.
  • the second first encrypted data is transmitted on the second route created via a number of communication devices 401.
  • the second first encrypted data in this example is accompanied by information identifying a number of communication devices 401 through which the second first encrypted data has passed (for example, data that is a set of IP addresses of each communication device 401, which is information that sequentially identifies the communication devices 401 arranged on the second route).
  • the second first encrypted data received by the communication device 100 which corresponds to the first communication device in this application, is sent to the control unit 122 via the transmission/reception mechanism, the interface 114, and the input unit 121.
  • the second first encrypted data received by the control unit 122 is accompanied by the above-mentioned data.
  • the control unit 122 sends the data that was attached to the second first encrypted data to the first route determination unit 125.
  • the first route determination unit 125 identifies all communication devices 401 included in the second route and their order based on the received data, thereby identifying the entire length of the second route.
  • the first route determination unit 125 determines a third route as a route that does not overlap with the second route except for the start point and the end point.
  • Such a route can be determined by using, for example, source routing, or its application, segment routing, or MANET (or DSR as a specific application example).
  • the first route determination unit 125 generates, for example, data that specifies all communication devices 401 arranged on the third route and their order as third route information.
  • the first route determination unit 125 selects communication devices 401 arranged on the third route from those that do not overlap with communication devices 401 arranged on the second route except for the start point and the end point.
  • the third route information is a set of data in which the IP addresses of all communication devices 401 arranged on the third route or through which the third route passes are arranged in the order of the communication devices 401.
  • the first route determination unit 125 sends the generated third route information to the transmission/reception mechanism via the output unit 127.
  • the transmission/reception mechanism sends the second encrypted data to the communication device 100, which corresponds to the second communication device in this application, so as to follow the third route specified by the third route information.
  • the third route does not overlap with the second route except for the start point and the end point.
  • the first route and the second route, and the first route and the third route also do not overlap with each other except for the start point and the end point.
  • the first case is as follows. In the first case, first, the preparation described in the first case of ⁇ 1-2> is performed. In this example, it is assumed that two communication devices 100 performing encrypted communication can communicate with each other using three lines (for example, an Internet line, an SMS line, and an MMS line).
  • three lines for example, an Internet line, an SMS line, and an MMS line.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines, for example, one of three communication lines (for example, an Internet line, an SMS line, and an MMS line) that can be used by both of the two communication devices 100 at random as the communication line on which the first route is created, and generates first route information for enabling the first route to be created on the selected communication line.
  • the first route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the first encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line that is a part of the network 400.
  • the Internet line is selected as the network 400 on which the first route is created.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines the second route as a route using an Internet line, and generates second route information which is data for determining at least a part of the route.
  • the second route may overlap with the first route, or may not overlap with the first route except for its starting point and end point.
  • the second route determination unit 126 determines, for example, one of three communication lines (e.g., an Internet line, an SMS line, and an MMS line) that can be used by both of the two communication devices 100, other than the one selected for generating the second route thereon, as the communication line on which the third route is created, and generates third route information for enabling the generation of the third route on the selected communication line.
  • three communication lines e.g., an Internet line, an SMS line, and an MMS line
  • the communication device 100 as the second communication device also determines the third route, which is a route for returning the second encrypted data from the communication device 100 as the first communication device in this application to the communication device 100 as the second communication device in this application via the network 400.
  • the second route determination unit 126 determines that the second route is created on the SMS line and the third route is created on the MMS line.
  • the second route determination unit 126 generates second route information and third route information, which are information specifying at least a part of the second route and the third route, respectively.
  • the second route information and the third route information are sent from the second route determination unit 126 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the second first encrypted data to the communication device 100 corresponding to the first communication device in this application via the Internet line, which is a part of the network 400.
  • the third route information is sent together with the second encrypted data to the communication device 100, which corresponds to the first communication device in this application.
  • the third route is used when the second encrypted data is transmitted from the communication device 100 corresponding to the first communication device in this application to the communication device 100 corresponding to the second communication device in this application.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines the third route as follows.
  • the second first encrypted data is sent from the transmission/reception mechanism to the control unit 122 in the data processing unit 120 via the interface 114 and the input unit 121 as described above.
  • the control unit 122 extracts the third route information attached to the second first encrypted data and sends the third route information to the first route determination unit 125.
  • the first route determination unit 125 determines the route indicated by the third route information as the third route. If the third route information is, for example, "use the MMS line as the third route", the first route determination unit 125 determines the third route as the route on the MMS.
  • the third route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the second encrypted data to the communication device 100 corresponding to the second communication device in the present application so as to follow the third route.
  • the second route and the third route are routes on different types of lines. Therefore, the two routes are necessarily different routes except for the start and end points of the two routes. It does not matter whether one of the two routes includes an Internet line or not.
  • the second route and the third route are different and do not overlap. In this example, the first route and the second route, and the first route and the third route do not overlap.
  • the first route information for identifying the first route generated by the first route determination unit 125 does not necessarily need to be information that identifies the entire length of the first route, but it is sufficient if it identifies that "the first route is a route on an Internet line.”
  • the first, second and third paths in this first case are conceptually the same as those shown in FIG. 7(A).
  • both the first route and the second route are set as routes on the Internet line.
  • both the communication device 100 corresponding to the first communication device in this application and the communication device 100 corresponding to the second communication device in this application are capable of communication via an Internet line.
  • data required for generating the first route information and the second route information as described below are recorded in the first route determination unit 125 and the second route determination unit 126 of both communication devices 100.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines, for example, one of three communication lines (for example, an Internet line, an SMS line, and an MMS line) that can be used by both of the two communication devices 100 at random as the communication line on which the first route is created, and generates first route information for enabling the first route to be created on the selected communication line.
  • the first route information is sent from the first route determination unit 125 to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the first encrypted data to the communication device 100 corresponding to the second communication device in the present application via the Internet line that is a part of the network 400.
  • the Internet line is selected as the network 400 on which the first route is created.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device determines both the second route and the third route as routes using the Internet line, and generates second route information and third route information which are data for determining at least a part of these routes.
  • Both the second route information and the third route information can be generated by a technique for a sending device to determine a communication route, such as source routing, segment routing which is an application of source routing, or MANET (and DSR which is a specific application of source routing).
  • the second route information in this example is a set of data in which information (e.g., IP addresses) specifying all communication devices 401 through which the second first encrypted data passes, which is sent from the communication device 100 corresponding to the second communication device in this application to the communication device 100 corresponding to the first communication device in this application, is arranged in the order in which the second first encrypted data passes.
  • the third route information in this example is a set of data in which information (e.g., IP addresses) specifying all communication devices 401 through which the second encrypted data passes, which is sent from the communication device 100 corresponding to the first communication device in this application to the communication device 100 corresponding to the second communication device in this application, is arranged in the order in which the second encrypted data passes.
  • information e.g., IP addresses
  • the communication device 100 as the second communication device to determine the second route information and the third route information by specifying the communication devices 401 constituting the second route and the third route so that the condition that the second route and the third route do not overlap except for the starting point and the ending point is satisfied by itself.
  • the second route information and the third route information are sent from the second route determination unit 126 to the transmitting/receiving mechanism via the output unit 127 and the interface 114.
  • the transmitting/receiving mechanism sends the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application, via an Internet line that is a part of the network 400.
  • the third route information is sent to the communication device 100, which corresponds to the first communication device in this application, together with the second first encrypted data.
  • the third route is used when the second encrypted data is transmitted from the communication device 100 corresponding to the first communication device in this application to the communication device 100 corresponding to the second communication device in this application.
  • the first route determination unit 125 in the communication device 100 corresponding to the first communication device determines the third route as follows.
  • the second first encrypted data is sent from the transmission/reception mechanism to the control unit 122 in the data processing unit 120 via the interface 114 and the input unit 121 as described above.
  • the control unit 122 extracts the third route information attached to the second first encrypted data and sends the third route information to the first route determination unit 125.
  • the first route determination unit 125 determines the route indicated by the third route information as the third route.
  • the third route information is a set of data in which information (e.g., IP addresses) that specifies all communication devices 401 through which the second encrypted data passes is arranged in the order in which the second encrypted data passes.
  • the first route determination unit 125 sends the third route information, for example, as it is, to the transmission/reception mechanism via the output unit 127 and the interface 114.
  • the transmission/reception mechanism sends the second encrypted data to the communication device 100 corresponding to the second communication device in the present application so as to follow the third route.
  • the third route does not overlap with the second route except for the start point and the end point.
  • the first route and the second route, and the first route and the third route also do not overlap with each other except for the start point and the end point.
  • the first, second and third paths in this second case are conceptually the same as those shown in FIG. 7B.
  • the communication system according to the second embodiment is basically the same as the communication system in the first embodiment.
  • the communication system according to the second embodiment is also configured to include a number of communication devices 100 as shown in FIG. 1, similarly to the first embodiment.
  • Each communication device 100 in the second embodiment is connected to a network 400, and any two of the multiple communication devices 100 can communicate with each other via the network 400, as in the first embodiment.
  • the network 400 in the second embodiment includes at least the Internet, as in the first embodiment, and in this embodiment, is configured with multiple types of lines including the Internet. Lines other than the Internet are, as in the first embodiment, a communication carrier line, a global IP-assigned IP-VPN, a private network, a short message service (SMS), and a multimedia message service (MMS).
  • SMS short message service
  • MMS multimedia message service
  • the communication device 100 does not need to be capable of communication over all of the above types of lines, and the types of lines that can be used for communication may differ for each communication device 100. As in the first embodiment, it is not necessary for a large number of communication devices 100 to be constantly connected to the network 400 . Also, although not limited to this, in the second embodiment, as in the first embodiment, each communication device 100-1 to 100-N may function as a first communication device as defined in the present invention, or may function as a second communication device as defined in the present invention.
  • the configuration of the communication device 100 in the second embodiment is basically the same as the configuration of the communication device 100 in the first embodiment.
  • the communication device 100 in the second embodiment is no different from the communication device 100 in the first embodiment.
  • the communication device 100 is, for example, a smartphone, but similar to the first embodiment, it may be something else.
  • the communication device 100 includes the same hardware as that of the first embodiment, as shown in Fig. 3.
  • the functions of the CPU 111, ROM 112, RAM 113, interface 114, bus 116, and the mass storage device, if any, are the same in the second embodiment as in the first embodiment.
  • the only difference between the second embodiment and the first embodiment is that data that did not exist in the first embodiment may be included in the data sent from the transmission/reception mechanism to the interface 114 and sent to the CPU 111 etc. connected by the bus 116, and the data sent from the CPU 111 etc. and sent from the interface 114 to the transmission/reception mechanism. What type of data passes through the interface 114 in the communication device 100 in the second embodiment that did not exist in the first embodiment will be described later.
  • the computer program here includes at least a computer program for causing the communication device 100 to function as both the first communication device and the second communication device of the present invention, as described in the first embodiment.
  • the computer program may be pre-installed in the communication device 100 or may be post-installed.
  • the computer program may be installed in the communication device 100 via a predetermined recording medium such as a memory card, or may be installed via a network such as a LAN or the Internet.
  • a data processing unit 120 is generated within the communication device 100.
  • the input unit 121 and the output unit 127 correspond to the interface 114 when viewed as hardware, or are realized by the function of the interface 114. More specifically, the input unit 121 and the output unit 127 conceptually correspond to the connection portion between the interface 114 and the bus 116.
  • control unit 122, the encryption unit 123, the decryption unit 124, the first path determination unit 125, and the second path determination unit 126 correspond in terms of hardware to the CPU 111 which is a calculation device, or are realized by the functions of the CPU 111 and, if some data is required for the CPU 111 to perform some processing, a recording device (ROM 112, RAM 113, large-capacity recording device) which records that data.
  • ROM 112, RAM 113 large-capacity recording device
  • the functional blocks other than the dividing unit 128 and the combining unit 129 are also generated in the data processing unit 120 of the communication device 100 of the first embodiment.
  • the functions of input unit 121, control unit 122, encryption unit 123, decryption unit 124, and output unit 127 which are generated in common within data processing unit 120 in communication device 100 of the second embodiment and data processing unit 120 in communication device 100 of the first embodiment, are basically the same between the first and second embodiments, although there are some differences in the data input/output destinations, etc.
  • the functions of each functional block in the second embodiment will be described below.
  • the input unit 121 receives an input from the interface 114 .
  • Inputs from the interface 114 include the various data described in the first embodiment, as well as the first encrypted data, the second first encrypted data, and data created by dividing the second encrypted data into two as described below. These two pieces of data have different amounts of data.
  • the larger of these two pieces of data may be referred to as the "large divided data” and the smaller one as the “small divided data,” and both may be referred to collectively as the "divided data.”
  • the input unit 121 is configured to send all of the various data it receives to the control unit 122 .
  • the control unit 122 controls all of the functional blocks generated in the data processing unit 120 in the communication device 100, as in the first embodiment.
  • the control unit 122 has the following functions in addition to the functions described in the first embodiment.
  • the control unit 122 may receive divided data.
  • the control unit 122 sends the received divided data to the combining unit 129.
  • the encryption unit 123 of the second embodiment executes a process of encrypting the received shared data and first encrypted data, similarly to the first embodiment. However, while the encryption unit 123 of the first embodiment receives the encrypted data and the first encrypted data from the control unit 122, the encryption unit 123 of the second embodiment may receive the first encrypted data from the combining unit 129, not from the control unit 122. Also, while the encryption unit 123 of the first embodiment sends the first encrypted data obtained by encrypting the shared data and the second first encrypted data obtained by encrypting the first encrypted data to the output unit 127, in the second embodiment, the encryption unit 123 may send these data directly to the output unit 127 or indirectly to the output unit 127 via the dividing unit 128.
  • the decryption unit 124 of the second embodiment performs the inverse operation of the operation performed by the encryption unit 123 in the same communication device 100, as in the first embodiment.
  • the decryption unit 124 executes a process of decrypting the received second first encrypted data and second encrypted data.
  • the decryption unit 124 in the first embodiment receives the second first encrypted data and the second encrypted data from the control unit 122
  • the decryption unit 124 in the second embodiment may receive these data from the combining unit 129.
  • the decryption unit 124 in the first embodiment sends the second encrypted data obtained by decrypting the second first encrypted data and the shared data obtained by obtaining the second encrypted data to the output unit 127
  • the decryption unit 124 in the second embodiment may send the second encrypted data directly to the output unit 127 or indirectly to the output unit 127 via the division unit 128.
  • the processes executed by the encryption unit 123 and the decryption unit 124 are the same in the first and second embodiments, and are operations that satisfy the commutative and associative laws.
  • the first route determination unit 125 may receive an instruction from the control unit 122 to determine route A or to determine both routes A and B, and when either of these instructions is received, the first route determination unit 125 determines the instructed route. The timing and method for the first route determination unit 125 to determine route A or routes A and B will be described later.
  • the second route determination unit 126 may receive an instruction from the control unit 122 to determine the A route and the B route, and when the second route determination unit 126 receives the instruction, the second route determination unit 126 determines the A route and the B route.
  • the second route determination unit 126 does not often determine the A route on its own initiative. The timing and method by which the second route determination unit 126 determines the A route and the B route will be described later.
  • the first route determination unit 125 determines route A or route A and route B, it generates route A information, which is information specifying route A (at least a part of it), or route A (at least a part of it) and route B (at least a part of it), or route A information and route B information, and sends it to the output unit 127.
  • the second route determination unit 126 determines route B, it generates route B information, which is information specifying route B (at least a part of it), and sends it to the output unit 127. Both the A route information and the B route information are sent from the output section 127 to the transmitting/receiving mechanism via the interface 114.
  • the output unit 127 has the same functions as in the first embodiment. The difference is that the output unit 127 in the second embodiment does not output to the interface 114 the first route information, the second route information, and the third route information that the output unit 127 in the first embodiment may output, but may output to the interface 114 route A information and route B information that the output unit 127 in the first embodiment did not output.
  • the dividing unit 128 and the combining unit 129 are generated in the data processing unit 120.
  • the splitting unit 128 has a function of splitting the first encrypted data, the second first encrypted data, and the second encrypted data into two pieces of data as described later.
  • the first encrypted data, the second first encrypted data, and the second encrypted data to be split are sent to the splitting unit 128 from the encryption unit 123 or the decryption unit 124 under the control of the control unit 122, as described later in detail.
  • the splitting of data performed by the splitting unit 128 is an example of the "predetermined reversible conversion" performed on any of the first encrypted data, the second first encrypted data, and the second encrypted data in this application.
  • the splitting unit 128 outputs the generated split data to the output unit 127.
  • the combining unit 129 may receive from the control unit 122 the above-mentioned two pieces of data, i.e., divided data, generated by dividing any one of the first encrypted data, the second first encrypted data, and the second encrypted data in the dividing unit 128 of the communication device 100 on the other side. These two pieces of data are sent from the communication device 100 on the other side to the communication device 100 in which the combining unit 129 is located via the network 400.
  • the combining unit 129 is adapted to restore the original data, i.e., any one of the first encrypted data, the second first encrypted data, and the second encrypted data, by using the large divided data and the small divided data constituting the divided data.
  • the combining unit 129 is adapted to send any one of the generated first encrypted data, the second first encrypted data, and the second encrypted data to the encryption unit 123 or the decryption unit 124.
  • any two of the communication devices 100 constituting the communication system communicate with each other.
  • the two communication devices 100 may also perform other communications, but in this embodiment, a description will be given of communications for sharing shared data between the two communication devices 100.
  • three encrypted data namely, the first encrypted data, the second first encrypted data, and the second encrypted data
  • at least one of the first route as the transmission route of the first encrypted data and the second route as the transmission route of the second first encrypted data, or the second route as the transmission route of the second first encrypted data and the third route as the transmission route of the second encrypted data is made not to overlap except for the start points and end points of the two routes.
  • the first route, the second route, and the third route in the first embodiment are all basically a common route A.
  • a predetermined reversible conversion is performed on any one of the first encrypted data, the second first encrypted data, and the second encrypted data to generate two pieces of data from one of these three pieces of data, and one of the generated two pieces of data is transmitted via route A and the other via route B, which is a predetermined route on the network that does not overlap with route A except for the starting point and the ending point. That is, in the second embodiment, one of the first route, the second route, and the third route in the first embodiment is composed of two routes, route A and route B, and the remaining one is route A.
  • the second embodiment can be classified into three cases: "3. When the first route is composed of route A and route B,”"4. When the second route is composed of route A and route B,” and “5. When the third route is composed of route A and route B.” Below, we will explain the usage and operation of the communication system in the second embodiment for "3. When the first route is composed of route A and route B,”"4. When the second route is composed of route A and route B,” and “5. When the third route is composed of route A and route B.”
  • the shared data is assumed to be the character string "abcd123" shown at the top of Fig. 9A, although this is not limited thereto.
  • the encryption unit 123 encrypts "abcd123" by barrel shifting, which is of course an example.
  • barrel shifting is an encryption method that satisfies the commutative and associative laws.
  • the encryption method executed by the encryption unit 123 of the communication device 100 which corresponds to the first communication device of the present application, is to convert the letters and numbers by shifting them backward by one character at a time. As a result, the character string "abcd123" is converted to the character string "bcde234".
  • the encryption unit 123 sends the first encrypted data to the division unit 128.
  • the encryption unit 123 may send the first encrypted data to the output unit 127 or to the division unit 128. Which of these units the encryption unit 123 sends the first encrypted data to is determined under the control of the control unit 122. For example, when the control unit 122 sends an instruction to the encryption unit 123 to encrypt the shared data, if the control unit 122 sends an instruction to send the first encrypted data to the division unit 128, it is clear that the control unit 122 can cause the encryption unit 123 to select the destination of the first encrypted data under the instruction of the control unit 122.
  • the splitting unit 128 receives the first encrypted data.
  • the splitting unit 128 obtains two pieces of data by performing a predetermined reversible conversion on the received first encrypted data (S1102).
  • the predetermined reversible conversion performed by the splitting unit 128 is data division into the first half of the first encrypted data, which is an alphabet and the second half of the first encrypted data, which is a number of numbers.
  • the first encrypted data of "bcde234" is divided into two pieces of data (split data), namely, the data of "bcde” and the data of "234". Of these two pieces of data, "bcde” has a larger number of characters and a larger amount of data, and therefore is the large split data.
  • "234" is the small split data.
  • the division unit 128 sends the two pieces of divided data to the output unit 127.
  • the divided data are sent from the output unit 127 to the transmission/reception mechanism via the interface 114.
  • control unit 122 sends specific information to the first route determination unit 125, regardless of whether this is before or after the encryption unit 123 sends the first encrypted data to the splitting unit 128, and also sends an instruction to the first route determination unit 125 to determine route A and route B.
  • the first route determination unit 125 determines route A, which is a route for sending large divided data from the communication device 100, which is the first communication device of the present application, to the communication device 100, which is the second communication device of the present application, and route B, which is a route for sending small divided data from the communication device 100, which is the first communication device of the present application, to the communication device 100, which is the second communication device of the present application, and generates route A information and route B information, which are information specifying both routes (at least a part of them).
  • the route A information and route B information are sent from the first route determination unit 125 to the output unit 127 and sent to the transmission/reception mechanism via the interface 114. Note that the route A and route B may be determined in advance.
  • the first route determination unit 125 sets the A route and the B route so that they do not overlap except for the start point and the end point of the two routes.
  • the meaning of the term "the two routes do not overlap except for the start point and the end point" is as already explained in the first embodiment.
  • the A route and the B route may both be routes on the Internet line, one may be a route on the Internet line and the other may be a route on a line other than the Internet, or both may be routes on a line other than the Internet.
  • the line other than the Internet is, for example, a communication carrier line, a global IP assigned IP-VPN, a private network, a short message service (SMS), or a multimedia message service (MMS).
  • the communication device 100 which is the first communication device in this application, determines both routes A and B independently, it is obvious that it is easy for the first route determination unit 125 to set both routes A and B so as to satisfy the condition that "the two routes do not overlap except at the starting point and the ending point.” It is preferable that the communication quality of route A is higher than that of route B, and although not limited to this, this is the case in this embodiment.
  • High communication quality means at least one of the following: high communication speed, high communication stability, and no restriction on the total amount of data that can be transmitted or the total amount that is restricted is large.
  • route A and route B are selected from the Internet and SMS (the routes on both lines do not overlap, of course)
  • the communication speed of the Internet is generally faster
  • SMS has a limit on the number of characters that can be sent, that is, there is a restriction on the total amount of data that can be transmitted, so route A is the route on the Internet line and route B is the route on the SMS line.
  • the transmission/reception mechanism receives the large divided data and small divided data generated by the division unit 128, and also receives route A information and route B information from the first route determination unit 125, as described above. Based on these, the transmission/reception mechanism transmits the large divided data via route A and the small divided data via route B to a communication device 100 (referred to as the second communication device in this application) identified by the specific information indicated as the end point in the route A information and the route B information (S1103).
  • the communication device 100 which corresponds to the second communication device in the present invention, receives the large divided data transmitted via route A and the small divided data transmitted via route B at its transmission/reception mechanism.
  • the large divided data and the small divided data are sent from the transmission/reception mechanism to an input unit 121 in the data processing unit 120 via an interface 114.
  • the large divided data and the small divided data are sent from the input unit 121 to a control unit 122, and further from the control unit 122 to a combining unit 129.
  • the combining unit 129 restores the original first encrypted data by using the large divided data and the small divided data (S1104).
  • the combining unit 129 performs an inverse conversion to combine the large divided data "bcde” and the small divided data "234", thereby restoring the first encrypted data "bcde234".
  • the combining unit 129 sends the first encrypted data to the encryption unit 123 .
  • control unit 122 sends an instruction to the encryption unit 123 to perform encryption processing on the first encrypted data received from the combining unit 129. Based on this instruction, the encryption unit 123 performs conversion to encrypt the first encrypted data (S1105). The encryption unit 123 further encrypts the first encrypted data, and the first encrypted data is changed to second first encrypted data.
  • the encryption process executed by the encryption unit 123 must satisfy the commutative and associative laws as described above, and in this embodiment, it is assumed to be a barrel shift, although this is not limited to this.
  • the barrel shift performed by encryption unit 123 of communication device 100 which is the first communication device in this application, is a conversion in which both alphabets and numbers are shifted backward by one place, but the barrel shift performed by encryption unit 123 of communication device 100, which is the second communication device in this application, is a conversion in which both alphabets and numbers are shifted backward by two places.
  • the character string "bcde234" of the first encrypted data changes to the character string "defg456" of the second first encrypted data.
  • the generated second first encrypted data is sent from the encryption unit 123 to the output unit 127.
  • the second first encrypted data is sent from the output unit 127 via the interface 114 to the transmission/reception mechanism.
  • the control unit 122 Upon receiving the first encrypted data, the control unit 122 sends an instruction to the second route determination unit 126 to determine route A, which is the route for returning the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application.
  • the second route determination unit 126 determines the A route.
  • the A route is the transmission route used when the communication device 100 corresponding to the first communication device in this application transmits the large divided data to the communication device 100 corresponding to the second communication device in this application.
  • the second route determination unit 126 can use, for example, MPLS or MANET (or its lower-level technique, DSR (Dynamic Source Routing) described in the first embodiment.
  • the communication line used when communicating via the A route may be identified simply by grasping the type of software and hardware used when communicating via the A route. It is also possible to transmit A route information identifying the A route from the communication device 100 corresponding to the first communication device in this application to the communication device 100 corresponding to the second communication device in this application, and to have the second route determination unit 126 in the communication device 100 corresponding to the second communication device in this application receive the A route information. In this case, the second route determination unit 126 may output to the output unit 127 route A information that is newly generated based on the received route A information, or the received route A information as is.
  • the second route determination unit 126 which has received an instruction to determine route A, determines route A and generates route A information.
  • the route A information is sent from the second route determination unit 126 to the output unit 127 and then sent to the transmission/reception mechanism via the interface 114.
  • the transmitting and receiving mechanism receives the second first encrypted data from the encryption unit 123 and the A route information from the second route determination unit 126 .
  • the transmitting and receiving mechanism transmits (replies) the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application and is identified as the end point of the A route information, via the network 400 (S1106).
  • the second encrypted data is sent to the communication device 100 of the other party via route A on the network 400 .
  • the communication device 100 which corresponds to the first communication device in the present invention, receives the second first encrypted data at its transmission/reception mechanism.
  • the second first encrypted data is sent from the transmission/reception mechanism to an input unit 121 in a data processing unit 120 via an interface 114.
  • the second first encrypted data is sent from the input unit 121 to a control unit 122.
  • the control unit 122 that has received the second first-encrypted data sends the second first-encrypted data and an instruction to the decryption unit 124 to perform the inverse conversion of the conversion performed by the encryption unit 123 on the second first-encrypted data.
  • the decryption unit 124 performs the inverse conversion on the second first-encrypted data to the conversion performed by the encryption unit 123 in the communication device 100 when the shared data was converted to the first encrypted data (S1107).
  • the second encrypted data is generated as a result of the decryption process performed on the second first-encrypted data by the decryption unit 124.
  • this is the same data that is obtained when the plaintext shared data is encrypted by the encryption unit 123 in the communication device 100, which corresponds to the second communication device in the present invention.
  • the encryption method executed by the encryption unit 123 of the communication device 100 corresponding to the first communication device of the present application is to convert both the alphabet and the numbers so that they are shifted backward by one character at a time. Therefore, in the decryption process, the reverse conversion is performed, that is, the process of converting both the alphabet and the numbers so that they are shifted forward by one character at a time. In this way, the character string "defg456" of the second first encrypted data is changed to the character string "cdef345". This is the second encrypted data.
  • the generated second encrypted data is sent from the decryption unit 124 to the output unit 127.
  • the second encrypted data is sent from the output unit 127 via the interface 114 to the transmission/reception mechanism.
  • the transmitting and receiving mechanism has already obtained the A route information from the first route determination unit before transmitting the first encrypted data to the communication device 100 on the other side.
  • the transmitting and receiving mechanism transmits the second encrypted data to the other communication device 100 based on the A route information in the same manner as when the first encrypted data was transmitted (S1108).
  • the communication route at this time is the A route.
  • the communication device 100 which corresponds to the second communication device in the present invention, receives the second encrypted data at its transmission/reception mechanism.
  • the second encrypted data is sent from the transmission/reception mechanism to an input unit 121 in a data processing unit 120 via an interface 114.
  • the second encrypted data is sent from the input unit 121 to a control unit 122.
  • the control unit 122 that has received the second encrypted data sends the second encrypted data and an instruction to the decryption unit 124 to perform the reverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data. Based on this instruction, the decryption unit 124 performs the reverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data (S1109).
  • the result of the decryption of the second encrypted data by the decryption unit 124 is the shared data in plaintext.
  • the communication device 100 which is the second communication device in the present invention, comes to have the shared data originally held by the communication device 100, which is the first communication device in the present invention, in an unencrypted plaintext state.
  • the communication device 100 which corresponds to the second communication device, cannot grasp the contents of the original shared data from any of the first encrypted data, the second first encrypted data, and the second encrypted data until the sharing of the shared data is completed.
  • the conversion for decryption by the decryption unit 124 is completed, the shared data in plaintext can be obtained.
  • the two communication devices 100 which correspond to the first communication device and the second communication device in the present invention, share the shared data.
  • the process from converting shared data into encrypted data (S1101) to the process of converting the second encrypted data into shared data (S1109) is automatically performed by communication device 100 corresponding to the first communication device of the present application and communication device 100 corresponding to the second communication device of the present application.
  • the division of data performed by the division unit 128 of the communication device 100 corresponding to the first communication device of the present application is merely one example of a predetermined conversion that can be reversed.
  • the first encrypted data is X
  • the first divided data is x1
  • the second divided data is x2
  • x1 and x2 may be obtained using a function f that determines from the beginning which of x1 and x2 will become the large divided data, or x1 and x2 may be obtained and then the one with the larger data amount between them may be used as the large divided data.
  • the first encrypted data is "bcde234" according to FIG. 1)
  • the first encrypted data is divided into a front and a back, for example, at the fifth character from the front and the sixth character onwards, and the large divided data is set to "bcde2" and the small divided data is set to "34".
  • the first encrypted data is divided into front and back, for example, into the first three characters and the fourth character onwards, and the first three characters are repeated three times to become the large division data "bcdbcdbcd", and the string of characters remaining as is from the fourth character onwards is made into the small division data "e234".
  • the first encrypted data is divided into the first three characters and the fourth character and beyond, and three characters unrelated to the first encrypted data or the split data (in this example, Z) are added to the first three characters to form the large split data "bcdZZZ", and the string remaining as is from the fourth character onwards is formed into the small split data "e234". 4) Obtain x1 by performing a contraction mapping or encoding on the first encrypted data using x2.
  • the combining unit 129 can restore the original first encrypted data using the large divided data (x1) and the small divided data (x2).
  • the large divided data is made redundant by repeating the original data or by adding data unrelated to the original data and the divided data. In a predetermined conversion that can be reversed, such redundancy processing is also allowed. Of course, redundancy processing can also be performed on small divided data.
  • the division unit 128 of the communication device 100 as the first communication device of the present application and the combination unit 129 of the communication device 100 as the second communication device of the present application share the above-mentioned rules, for example, by implementing such a function in a computer program for causing the communication device 100 to function as both the first communication device and the second communication device of the present invention.
  • the combining unit 129 of the communication device 100 as the first communication device of the present application can restore the original first encrypted data using the large split data and small split data generated by the splitting unit 128 of the communication device 100 as the second communication device of the present application.
  • the circumstances described in this paragraph also apply to "4. When the second route is composed of route A and route B" and "5. When the third route is composed of route A and route B.”
  • the shared data is the character string "abcd123" shown at the top of Fig. 9B, but is not limited thereto.
  • the encryption unit 123 encrypts "abcd123" by barrel shifting, which is of course an example.
  • the encryption method executed by the encryption unit 123 of the communication device 100 which corresponds to the first communication device of the present application, involves converting the characters by shifting both the alphabet and the numbers backward by one. As a result, the character string "abcd123" is converted to the character string "bcde234".
  • the encryption unit 123 sends the first encrypted data to the output unit 127. As described above, the encryption unit 123 may send the first encrypted data to the output unit 127, or may send the first encrypted data to the division unit 128.
  • the encryption unit 123 sends the first encrypted data to the output unit 127 under the control of the control unit 122.
  • control unit 122 sends specific information to the first route determination unit 125, regardless of whether this is before or after the encryption unit 123 sends the first encrypted data to the output unit 127, and also sends an instruction to the first route determination unit 125 to determine routes A and B.
  • the first route determination unit 125 determines route A, which is a route for sending the first encrypted data from the communication device 100, which is the first communication device of the present application, to the communication device 100, which is the second communication device of the present application, and route B, which is a route for sending the large divided data made from the second encrypted data from the communication device 100, which is the second communication device of the present application, to the communication device 100, which is the first communication device of the present application, and generates route A information and route B information, which are information specifying both routes (at least a part of them).
  • the route A information and route B information are sent from the first route determination unit 125 to the output unit 127 and sent to the transmission/reception mechanism via the interface 114.
  • the route A and route B may be determined in advance.
  • the first route determination unit 125 sets the routes A and B so that they do not overlap except for the start points and end points of the two routes, as already explained in "3.
  • the first route is configured by the routes A and B".
  • the transmitting/receiving mechanism receives the first encrypted data from the encryption unit 123, as described above, and also receives the A route information and B route information from the first route determination unit 125, as also described above. Based on these, the transmission/reception mechanism transmits the first encrypted data and the B route information via the A route to the communication device 100 (referred to as the second communication device in this application) identified by the specific information indicated as the end point in the A route information (S1202).
  • the communication device 100 of the other party in the communication which corresponds to the second communication device in the present invention, receives the first encrypted data and the B route information transmitted via the A route at its transmission/reception mechanism.
  • the first encrypted data and the B route information are sent from the transmission/reception mechanism to the input unit 121 in the data processing unit 120 via the interface 114.
  • the control unit 122 that has received the first encrypted data sends the first encrypted data and an instruction to perform encryption processing on the first encrypted data to the encryption unit 123. Based on this instruction, the encryption unit 123 performs conversion to encrypt the first encrypted data (S1203). The encryption unit 123 further encrypts the first encrypted data, changing the first encrypted data into second first encrypted data.
  • the encryption process performed by the encryption unit 123 must satisfy the commutative law and the associative law as described above, but in this embodiment, it is not limited to this, and is assumed to be the same barrel shift as in "3.
  • the generated second first encrypted data is sent from the encryption unit 123 to the division unit 128.
  • the destination of the second first encrypted data generated by the encryption unit 123 may be the output unit 127 or the division unit 128, but the encryption unit 123 sends the second first encrypted data to the division unit 128 under the control of the control unit 122 as described in "3.
  • the first path is configured by path A and path B.
  • the splitter 128 receives the second first encrypted data.
  • the splitter 128 obtains two pieces of data by performing a predetermined reversible conversion on the received second first encrypted data (S1204).
  • the predetermined reversible conversion performed by the splitter 128 is, but is not limited to, data division in which the second first encrypted data is divided into alphabets in the first half and numbers in the second half, as described in "3.
  • the first route is composed of routes A and B".
  • the second first encrypted data "defg456” is divided into two pieces of data (split data), namely, data "defg” and data "456". Of these two pieces of data, "defg” is the large split data, while "456” is the small split data.
  • the division unit 128 sends the two pieces of divided data to the output unit 127.
  • the divided data are sent from the output unit 127 to the transmission/reception mechanism via the interface 114.
  • the control unit 122 that has received the first encrypted data sends an instruction to the second route determination unit 126 to determine route A, which is a route for returning the large divided data to the communication device 100, which corresponds to the first communication device in this application, and route B, which is a route for returning the small divided data.
  • the control unit 122 sends the previously received route B information to the second route determination unit 126.
  • the second route determination unit 126 determines the A route and the B route.
  • the A route is the transmission route used when the communication device 100 corresponding to the first communication device in this application transmits the large divided data to the communication device 100 corresponding to the second communication device in this application.
  • MPLS or MANET can be used as a technique for identifying the route.
  • the A route is a route on a line other than the Internet
  • the communication line used when communicating via the A route may be identified simply by grasping the type of software and hardware used when communicating via the A route. It is also possible to have the communication device 100 corresponding to the first communication device in this application transmit A route information identifying the A route to the communication device 100 corresponding to the second communication device in this application, and have the second route determination unit 126 in the communication device 100 corresponding to the second communication device in this application receive the A route information.
  • the second route determination unit 126 may output to the output unit 127 route A information that is newly generated based on the received route A information, or the received route A information as is.
  • the second route determination unit 126 determines the B route based on the B route information received from the control unit 122.
  • the second route determination unit 126 may output to the output unit 127 the B route information newly generated based on the received B route information, or the received B route information as is.
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device in this application generates the B route information based on the B route information generated in the communication device 100 corresponding to the first communication device in this application, but this is not limited to this.
  • the second route determination unit 126 of the communication device 100 corresponding to the second communication device in this application can specify the A route.
  • the first route is composed of route A and route B
  • the communication device 100 which is the first communication device in this application, determines both route A and route B by itself, it is easy for the first route determination unit 125 to set both route A and route B so as to satisfy the condition that "the two routes do not overlap except at the starting point and the ending point.”
  • the second route determination unit 126 in the communication device 100 corresponding to the second communication device in the present application is capable of identifying the A route, and is therefore capable of determining the B route that satisfies the condition that the A route does not overlap with the A route except for the start point and the end point, without using the B route information.
  • the second route determination unit 126 determines the B route, it is possible to determine the B route without receiving the B route information from the communication device 100 corresponding to the first communication device in the present application.
  • the first route determination unit 125 of the communication device 100 corresponding to the first communication device in the present application is configured to generate only the A route information, and the transmission of the B route information from the communication device 100 corresponding to the first communication device in the present application to the communication device 100 corresponding to the second communication device in the present application can also be omitted.
  • route A has been determined, what route should be determined as route B is the same as that explained in "3.
  • the first route is composed of routes A and B".
  • the second route determination unit 126 which has received an instruction to determine route A and route B, determines route A and route B, and generates route A information that specifies route A and route B information that specifies route B.
  • the route A information and route B information are sent from the second route determination unit 126 to the output unit 127, and are sent to the transmission/reception mechanism via the interface 114.
  • the transmitting and receiving mechanism receives the large divided data and the small divided data generated from the second first encrypted data from the dividing unit 128 , and receives the A route information and B route information from the second route determining unit 126 .
  • the transmission/reception mechanism transmits the large divided data via route A to communication device 100, which is identified as the end point of the A route information and corresponds to the first communication device in this application, and transmits the small divided data via route B to communication device 100, which is identified as the end point of the B route information and corresponds to the first communication device in this application (S1205).
  • the communication device 100 which corresponds to the first communication device in the present invention, receives the large divided data transmitted via route A and the small divided data transmitted via route B at its transmission/reception mechanism.
  • the large divided data and the small divided data are transmitted from the transmission/reception mechanism to an input unit 121 in a data processing unit 120 via an interface 114.
  • the large divided data and the small divided data are transmitted from the input unit 121 to a control unit 122, and further transmitted from the control unit 122 to a combining unit 129.
  • the combining unit 129 restores the original second first encrypted data by using the large divided data and the small divided data (S1206).
  • the combining unit 129 performs an inverse conversion to combine the large divided data "defg” and the small divided data "456", thereby restoring the second first encrypted data "defg456".
  • the combining unit 129 sends the second first encrypted data to the decryption unit 124 .
  • the other control unit 122 sends an instruction to the decryption unit 124 to perform the inverse conversion of the conversion performed by the encryption unit 123 on the second first-encrypted data received from the combining unit 129. Based on this instruction, the decryption unit 124 performs the inverse conversion on the second first-encrypted data to the conversion performed by the encryption unit 123 in the communication device 100 when the shared data was converted to the first encrypted data (S1207). The second encrypted data is generated as a result of the decryption process performed on the second first-encrypted data by the decryption unit 124.
  • the encryption method executed by the encryption unit 123 of the communication device 100 corresponding to the first communication device of the present application is to convert both the alphabet and the numbers so that they are shifted back by one character. Therefore, in the decryption process, the reverse conversion is performed, that is, the conversion process is performed so that both the alphabet and the numbers are shifted forward by one character. In this way, the character string "defg456" of the second first encrypted data is changed to the character string "cdef345". This is the second encrypted data.
  • the generated second encrypted data is sent from the decryption unit 124 to the output unit 127.
  • the second encrypted data is sent from the output unit 127 via the interface 114 to the transmission/reception mechanism.
  • the transmitting and receiving mechanism has already obtained the A route information from the first route determination unit before transmitting the first encrypted data to the communication device 100 on the other side.
  • the transmitting and receiving mechanism transmits the second encrypted data to the other communication device 100 based on the A route information in the same manner as when the first encrypted data was transmitted (S1208).
  • the communication route at this time is the A route.
  • the communication device 100 which corresponds to the second communication device in the present invention, receives the second encrypted data at its transmission/reception mechanism.
  • the second encrypted data is sent from the transmission/reception mechanism to an input unit 121 in a data processing unit 120 via an interface 114.
  • the second encrypted data is sent from the input unit 121 to a control unit 122.
  • the control unit 122 that has received the second encrypted data sends the second encrypted data and an instruction to the decryption unit 124 to perform the inverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data. Based on this instruction, the decryption unit 124 performs the inverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data (S1209).
  • the result of the decryption unit 124 decrypting the second encrypted data is the shared data in plaintext.
  • the communication device 100 which is the second communication device in the present invention, comes to have the shared data that the communication device 100, which is the first communication device in the present invention, originally had in the form of unencrypted plaintext.
  • the two communication devices 100 which correspond to the first communication device and the second communication device in the present invention, share the shared data.
  • the process from converting shared data into encrypted data (S1201) to the process of converting the second encrypted data into shared data (S1209) is automatically performed by communication device 100 corresponding to the first communication device of the present application and communication device 100 corresponding to the second communication device of the present application.
  • the shared data is the character string "abcd123" shown at the top of Fig. 9C, although this is not limited thereto.
  • the encryption unit 123 encrypts "abcd123", which is of course an example, by barrel shifting in the same manner as in the case of "3.
  • the encryption method executed by the encryption unit 123 of the communication device 100 which corresponds to the first communication device of the present application, involves converting the letters and numbers by shifting them backward by one character each.
  • the character string "abcd123” is converted to the character string "bcde234".
  • the encryption unit 123 sends the first encrypted data to the output unit 127.
  • the encryption unit 123 may send the first encrypted data to the output unit 127, or may send the first encrypted data to the division unit 128.
  • the encryption unit 123 sends the first encrypted data to the output unit 127 under the control of the control unit 122.
  • control unit 122 sends specific information to the first route determination unit 125, regardless of whether this is before or after the encryption unit 123 sends the first encrypted data to the output unit 127, and also sends an instruction to the first route determination unit 125 to determine routes A and B.
  • the first route determination unit 125 determines route A, which is a route for sending the first encrypted data from the communication device 100, which is the first communication device of the present application, to the communication device 100, which is the second communication device of the present application, and route B, which is a route for sending the small divided data created from the second encrypted data from the communication device 100, which is the second communication device of the present application, to the communication device 100, which is the first communication device of the present application, and generates route A information and route B information, which are information specifying both routes (at least a part of them).
  • the route A information and route B information are sent from the first route determination unit 125 to the output unit 127 and sent to the transmission/reception mechanism via the interface 114.
  • the route A and route B may be determined in advance.
  • the first route determination unit 125 sets the routes A and B so that they do not overlap except for the start points and end points of the two routes, as already explained in "3.
  • the determination of the B route by the first route determination unit 125 and the generation of the B route information may be performed before the small divided data is transmitted via the B route, which will be described later.
  • the transmitting and receiving mechanism has received the first encrypted data from the encryption unit 123, and has also received the A route information and the B route information from the first route determination unit 125.
  • the B route information is not yet used.
  • the transmission/reception mechanism transmits the first encrypted data via route A to the communication device 100 (referred to as the second communication device in this application) identified by the identification information indicated as the end point in the route A information (S1302).
  • the communication device 100 of the other party in the communication which corresponds to the second communication device in the present invention, receives the first encrypted data transmitted via route A at its transmission/reception mechanism.
  • the first encrypted data is sent from the transmission/reception mechanism to the input unit 121 in the data processing unit 120 via the interface 114.
  • the first encrypted data is sent from the input unit 121 to the control unit 122.
  • the control unit 122 sends the first encrypted data and an instruction to encrypt the first encrypted data to the encryption unit 123. Based on this instruction, the encryption unit 123 performs conversion to encrypt the first encrypted data (S1303). The encryption unit 123 further encrypts the first encrypted data, changing the first encrypted data into second first encrypted data.
  • the encryption process executed by the encryption unit 123 needs to satisfy the commutative and associative laws as described above, but is not limited to this and is assumed to be barrel shift as described in "3. When the first route is composed of routes A and B".
  • the barrel shift executed by the encryption unit 123 of the communication device 100 which is the second communication device referred to in this application, is a conversion in which both alphabets and numbers are shifted backward by two characters.
  • the character string "bcde234" of the first encrypted data is changed to the character string "defg456" of the second first encrypted data.
  • the generated second first encrypted data is sent from the encryption unit 123 to the output unit 127.
  • the second first encrypted data is sent from the output unit 127 via the interface 114 to the transmission/reception mechanism.
  • the control unit 122 Upon receiving the first encrypted data, the control unit 122 sends an instruction to the second route determination unit 126 to determine route A, which is the route for returning the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application.
  • the second route determination unit 126 determines the A route.
  • the A route is the transmission route used when the communication device 100 corresponding to the first communication device in this application transmits the first encrypted data to the communication device 100 corresponding to the second communication device in this application.
  • MPLS or MANET or its lower technology DSR (Dynamic Source Routing)
  • DSR Dynamic Source Routing
  • the communication line used when performing communication via the A route may be identified simply by grasping the type of software and hardware used when performing communication via the A route. It is also possible to have the communication device 100 corresponding to the first communication device in this application transmit A route information identifying the A route to the communication device 100 corresponding to the second communication device in this application, and have the second route determination unit 126 in the communication device 100 corresponding to the second communication device in this application receive the A route information. In this case, the second route determination unit 126 may output to the output unit 127 route A information that is newly generated based on the received route A information, or the received route A information as is.
  • the second route determination unit 126 which has received an instruction to determine route A, determines route A and generates route A information.
  • the route A information is sent from the second route determination unit 126 to the output unit 127 and then sent to the transmission/reception mechanism via the interface 114.
  • the transmitting and receiving mechanism receives the second first encrypted data from the encryption unit 123 and the A route information from the second route determination unit 126 .
  • the transmitting and receiving mechanism transmits (replies) the second first encrypted data to the communication device 100, which corresponds to the first communication device in this application and is identified as the end point of the A route information, via the network 400 (S1304).
  • the second encrypted data is sent to the communication device 100 of the other party via route A on the network 400 .
  • the communication device 100 which corresponds to the first communication device in the present invention, receives the second first encrypted data at its transmission/reception mechanism.
  • the second first encrypted data is sent from the transmission/reception mechanism to an input unit 121 in a data processing unit 120 via an interface 114.
  • the second first encrypted data is sent from the input unit 121 to a control unit 122.
  • the control unit 122 that has received the second first-encrypted data sends the second first-encrypted data and an instruction to the decryption unit 124 to perform the inverse conversion of the conversion performed by the encryption unit 123 on the second first-encrypted data.
  • the decryption unit 124 performs the inverse conversion on the second first-encrypted data to the conversion performed by the encryption unit 123 in the communication device 100 when the shared data was converted to the first encrypted data (S1305).
  • the second encrypted data is generated as a result of the decryption process performed on the second first-encrypted data by the decryption unit 124.
  • the encryption method executed by the encryption unit 123 of the communication device 100 corresponding to the first communication device of the present application is to convert both the alphabet and the numbers so that they are shifted back by one character. Therefore, in the decryption process, the reverse conversion is performed, that is, the conversion process is performed so that both the alphabet and the numbers are shifted forward by one character.
  • the decryption unit 124 sends the generated second encrypted data to the division unit 128. As described above, the decryption unit 124 may send the second encrypted data to the output unit 127 or to the division unit 128. Which of these units the decryption unit 124 sends the second encrypted data to is determined under the control of the control unit 122.
  • the splitting unit 128 receives the second encrypted data.
  • the splitting unit 128 obtains two pieces of data by performing a predetermined reversible conversion on the received second encrypted data (S1306).
  • the predetermined reversible conversion performed by the splitting unit 128 is data division into the first half of the second encrypted data, which is an alphabet and the second half of the second encrypted data.
  • the second encrypted data "cdef345" is split into two pieces of data (split data), namely, the data "cdef" and the data "345". Of these two pieces of data, "cdef” has a larger number of characters and a larger amount of data, and therefore is the large split data.
  • "345" is the small split data.
  • the division unit 128 sends the two pieces of divided data to the output unit 127.
  • the divided data are sent from the output unit 127 to the transmission/reception mechanism via the interface 114.
  • the transmitting/receiving mechanism that has received the large and small divided data has already received the A and B route information.
  • the transmission/reception mechanism transmits the large divided data via route A and the small divided data via route B to a communication device 100 (referred to as the second communication device in this application) identified by the specific information indicated as the end point in the route A information and the route B information (S1307).
  • the communication device 100 which corresponds to the second communication device in the present invention, receives the large divided data transmitted via route A and the small divided data transmitted via route B at its transmission/reception mechanism.
  • the large divided data and the small divided data are sent from the transmission/reception mechanism to an input unit 121 in the data processing unit 120 via an interface 114.
  • the large divided data and the small divided data are sent from the input unit 121 to a control unit 122, and further from the control unit 122 to a combining unit 129.
  • the combining unit 129 restores the original second encrypted data by using the large divided data and the small divided data (S1308).
  • the combining unit 129 performs an inverse conversion to combine the large divided data "cdef" and the small divided data "345", thereby restoring the second encrypted data "cdef345".
  • the combining unit 129 sends the second encrypted data to the decryption unit 124 .
  • the control unit 122 sends an instruction to the decryption unit 124 to perform the reverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data received from the combination unit 129. Based on this instruction, the decryption unit 124 performs the reverse conversion of the conversion performed by the encryption unit 123 on the second encrypted data (S1309).
  • the result of the decryption of the second encrypted data by the decryption unit 124 is the shared data in plaintext.
  • the communication device 100 which is the second communication device in the present invention, comes to have the shared data that was originally held by the communication device 100, which is the first communication device in the present invention, in an unencrypted plaintext state.
  • the two communication devices 100 which correspond to the first communication device and the second communication device in the present invention, share the shared data.
  • the process from converting shared data into encrypted data (S1301) to the process of converting the second encrypted data into shared data (S1309) is automatically performed by communication device 100 corresponding to the first communication device of the present application and communication device 100 corresponding to the second communication device of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

暗号化通信を行う2つの通信装置で安全且つ簡単に共有データを共有する。 第1通信装置は、共有データを暗号化して第1暗号化データとし(S503)、ネットワーク上の第1経路を用いて、それを第2通信装置に送る(S504)。第2通信装置は、それを受取り(S601)、第1暗号化データを更に暗号化して第2第1暗号化データとし(S602)、第2経路を用いて、第1通信装置に送る(S603)。第1通信装置はそれを受取り(S505)、第2第1暗号化データに逆変換をして第2暗号化データとし(S506)、第3経路を用いて第2通信装置に送る(S507)。第2通信装置はそれを受取り(S604)、第2暗号化データに逆変換をして共有データに戻す(S605)。第1経路と第2経路は重複しない。

Description

通信システム、第1通信装置、第2通信装置、通信方法
 本発明は、通信技術、より詳細には暗号通信技術に関する。
 互いに通信可能な2つの通信装置間で、安全に、つまり第三者による盗聴のおそれなく、ある情報を共有したいという要求が生じる場合がままある。かかる情報は、2つの通信装置の一方から他方へ送信を行うべき秘密とすべき内容が含まれた文章である場合もある。また、第三者による盗聴のおそれなく2つの通信装置間で通信を行うときにはごく当たり前に暗号化通信技術が用いられるところ、暗号化通信技術においては、例えば両者で暗号化又は復号化の処理に用いられるアルゴリズムが予め共通のものとされているにしても、両者で暗号化又は復号化の処理に用いられる鍵を共有することが必要であるから、2つの通信装置間で安全に共有したいという上述の情報は、その鍵そのもの或いは両者において共通する鍵を生成、選択等するための情報である場合もある。
 離れたところに存在する2つの通信装置が暗号化通信を行う場合、特には共通のアルゴリズムと共通の鍵を用いて共通鍵方式の暗号化通信を行う場合、2つの通信装置が予め同じ鍵を共有していなければならない。或いは、2つの通信装置が同一の鍵をそれぞれ個別に生成するための同一の情報を、2つの通信装置は共通鍵方式の暗号化通信を行うに先立って共有していることが必要である。
 つまり、離れたところに存在する2つの通信装置が共通鍵方式の暗号化通信を行うためには、同一の何らかの情報を共有していることが原理的に必要となる。しかしながら、離れた2点に存在する通信装置が共通する鍵を持ち合うことは、非常に難しい。例えば、一方の通信装置から他方の通信装置に、第三者に盗聴される可能性なく鍵を送信することができるのであれば、その時点で既に暗号化通信が成立している。これは矛盾である。
 暗号化通信が実行されるのに先立って、2つの通信装置が共通の鍵(或いは何らかの情報)を共有した状態を安全に作り出すことは難しい。この問題は、「鍵配送問題」と称されることもあり、従来から広く知られている。
 鍵配送問題を解決するための技術として、秘密鍵と公開鍵という2つでペアとされた鍵を用いて暗号化通信を行う、公開鍵方式の暗号化通信技術が知られている。公開鍵方式の暗号化通信技術では、第三者には知られても構わない公開鍵を一方の通信装置から他方の通信装置に送り、他方の通信装置は受取った公開鍵を、一方の通信装置はその公開鍵とペアとされている一方の通信装置以外には秘密である秘密鍵を用いて暗号化通信を行う。
 公開鍵方式の暗号化通信技術では、公開鍵は悪意の第三者に盗まれたところで問題が生じないため、鍵配送問題は生じないというのが公開鍵方式の暗号化通信技術が登場した当時の世界の認識であった。しかしながら、公開鍵方式の暗号化通信技術にもその後脆弱性が発見されたため、公開鍵方式の暗号化通信技術をもってしても鍵配送問題は解決されていない、というのが世界の共通認識となりつつある。
 とはいえ、公開鍵方式の暗号化通信技術が現時点で、もっとも実用的な技術である点に鑑み、2つの通信装置間での共通する鍵の共有を公開鍵方式の暗号化通信技術で実行し、その後共有された同一の共通鍵を用いて2つの通信装置間で共通鍵方式の暗号化通信を実行するというのが、現在の暗号化通信技術の主流となっている。例えば、SSL(secure sockets layer)はそのような原理を採用した暗号化通信技術である。
 そのような近年の状況に鑑み、本願発明者は、鍵配送問題を解決することのできるある発明を行い、その発明についての特許出願を過去に行った。その特許出願に係る発明は、以下のような暗号化技術に関する。
 この暗号化技術は、2つの通信装置間で暗号化通信を行う。仮に、送信側の通信装置を第1通信装置、受信側の通信装置を第2通信装置とする。
 第1通信装置は、まず、第2通信装置との間で共有の対象となるデータである共有データを暗号化して第1暗号化データに変換し、第1暗号化データを第2通信装置へ送る。
 第2通信装置は、受取った第1暗号化データを復号化することなく更に暗号化することにより、第1暗号化データを第2第1暗号化データに変換する。そして、その第2第1暗号化データを第1通信装置に送る。
 第1通信装置は、受取った第2第1暗号化データに対して逆演算を行い、第2第1暗号化データを第2暗号化データに変換する。第2暗号化データは、共有データに対して、第2通信装置のみが暗号化を行った場合に得られるデータである。つまり、第1通信装置は、共有データを二重に暗号化することによって得られた第2第1暗号化データから、第1通信装置が行った暗号化を除去するのである。そして、第1通信装置は、第2暗号化データを第2通信装置へと送る。
 第2通信装置は、受取った第2暗号化データに対して逆変換を行う。そうすることにより、第2暗号化データは共有データに戻る。これにて、第1通信装置と第2通信装置とは、共有データを共有する。
 この暗号化通信では、第1通信装置から第2通信装置へと共有データを送信するために、両装置間でデータを一往復半させる。その間に、共有データは二重に暗号化され、また、その二重に行われた暗号化が、2度の逆変換によって解かれる。
 仮に、第1通信装置で暗号化される平文の状態の共有データをPとする。これを、第1通信装置で暗号化のための演算を行うことで変換した後のデータを、「P×A」と表す。「P×A」という第1暗号化データは、第2通信装置で更に暗号化される。第1暗号化データである「P×A」は、第2通信装置で更に(二重に)暗号化される。暗号化のための演算によって変換された後のデータである第2第1暗号化データを「(P×A)×B」と表す。第2第1暗号化データである「(P×A)×B」は、第2通信装置から第1通信装置に送られる。
 第1通信装置では、第1通信装置によって先に行われた変換の逆変換、つまり復号化の処理が行われる。第1通信装置で行われる復号化の処理を×A-1と表すこととすると、第2第1暗号化データである「(P×A)×B」に対して第1通信装置で行われる演算は、「((P×A)×B)×A-1」と表現することができる。その結果得られるのは第2暗号化データであり、それは既に述べたように、共有データを第2通信装置のみで暗号化することによって得られるデータなのであるから、そのデータは今までの記述法に倣えば「P×B」と表現することができる。つまり、以上の変換が成立するためには、「((P×A)×B)×A-1=P×B」という関係が成立しなければならない。
 ここで、P×A×A-1、或いはP×B×B-1という演算により得られるデータは、元のデータPに対して何の演算も行っていないPそのものであるとする。言い換えれば、P×A×A-1、或いはP×B×B-1という演算は、元のデータであるPを暗号化した後復号化して元のPに戻すことを意味する。
 このような前提の下、((P×A)×B)×A-1=P×Bが成り立つには、((P×A)×B)×A-1を以下のように変形できなければならない。
  ((P×A)×B)×A-1
 →(P×(A×B))×A-1
 →(P×(B×A))×A-1
 →((P×B)×A)×A-1
 →(P×B)×(A×A-1
 →P×B
 つまり、第1通信装置で実行される暗号化と復号化、及び第2通信装置で実行される暗号化と復号化は、上述の如く、×A、×Bという演算の順番を入れ替えることが可能なものでなければならない。また、上述の演算は、P×(B×A)と(P×B)×Aとが等価なものでなければならない。つまり、第1通信装置で実行される暗号化と復号化(或いはそのために実行される演算)、及び第2通信装置で実行される暗号化と復号化(或いはそのために実行される演算)は、演算を「×」で表し、演算の対象を「F」、「G」、「H」と表したときに、「F×G=G×F」という交換法則と、「(F×G)×H=F×(G×H)」という結合法則とがそれぞれ成立するものである必要がある。
 上記の条件を満足する演算の例としては、バレルシフト、四則演算等、或いはある種の楕円暗号の演算や、排他的論理和の演算を挙げることができる。したがって、第1通信装置と第2通信装置とで実行される暗号化のための演算とその逆演算とは、上述のような、交換法則と結合法則との双方を満足するものであることが要求されるが、そのような条件を満たすのであれば、第1通信装置と、第2通信装置とが行う演算はそれぞれ、暗号化のための「×A」という演算、及びその逆変換の「×A-1」という演算と、暗号化のための「×B」という演算、及びその逆変換の「×B-1」という、互いに無関係とすることができる演算であるということになる。つまり、第1通信装置で「×A」と「×A-1」という演算を実行し、第2通信装置で「×B」と「×B-1」という演算を実行するに先立って、第1通信装置と第2通信装置とで予め鍵や何らかの情報を共有しておく必要はない。
 なお、第1通信装置で作られた「P×B」という第2暗号化データは、第1通信装置から第2通信装置に送られた結果、第2通信装置で共有データPに戻される。第2通信装置は、「P×B」という第2暗号化データに対して、(P×B)×B-1という逆変換を行い、Pに戻すことができる。これにて、第1通信装置にのみ存在していたPという共有データは、第1通信装置と第2通信装置とで共有されることになる。
 以上で説明した暗号化通信技術は、暗号化通信を行うに先立って第1通信装置と第2通信装置とで予め鍵や何らかの情報を共有しておく必要がないから、鍵配送問題とは無関係なものとなる。この暗号化通信技術は、例えば、共通鍵方式の暗号化通信を実行するに先立っての2つの通信装置間での鍵(或いは共通の鍵を生成するための何らかの情報)の共有に応用することができ、公開鍵方式の暗号化通信に代わるものになり得る。
 もちろん、鍵(或いは共通の鍵を生成するための何らかの情報)以外の情報を第1通信装置と第2通信装置で共有する場合にも、以上で説明した暗号化通信技術は応用可能である。
特開2018-174485
 しかしながら、本願発明者の更なる研究の結果、公開鍵方式の暗号化通信に代わるものになり得ると思われた上述の暗号化通信技術に、若干の脆弱性が見出された。それは次のようなものである。
 上述の暗号化通信技術においては、まず、第1通信装置から第2通信装置へ、上述した表現を用いるなら「P×A」で示される第1暗号化データが送られる。そして、その次に第2通信装置から第1通信装置へ、「(P×A)×B」という第2暗号化データが送られる。これらはともに、暗号化されたデータであるから、本来はそれらを第三者に盗まれたとしても悪用は不可能である。
 しかしながら、それらデータの双方を第三者に入手された場合には、問題が生じうる。例えば、第1通信装置と第2通信装置で行われる暗号化のための演算とその逆演算が、排他的論理和を取る演算であるとする。その場合、「P×A」という第1暗号化データと、「(P×A)×B」という第2第1暗号化データの双方を得た第三者は、「(P×A)×B」という第2第1暗号化データと、「P×A」という第1暗号化データとに対して排他的論理和の演算を行うことにより、「B」というデータを取り出すことができる。このデータを悪意の第三者に盗まれるということは、第2通信装置で実行されている暗号化と復号化の処理が第三者に漏洩することを意味する。これだけでも、問題は生じうる。
 更に、Bというデータの内容を知った悪意の第三者が更に、第1通信装置から第2通信装置へ送られる「P×B」という第2暗号化データまで入手したとする。そうすると、その悪意の第三者は、「P×B」という第2暗号化データと、Bというデータとを用いて排他的論理和の演算を行うことにより、Pというデータ、つまり共有データを取出すことができる。
 これは、第1通信装置から第2通信装置へ送ろうとしていた、或いは両通信装置間で秘密裏に共有しようとしていた共有データが、悪意の第三者に盗まれるという最悪の事態が生じたということを意味する。
 つまり、第1通信装置から第2通信装置へ送られる第1暗号化データと、第2通信装置から第1通信装置へ送られる第2第1暗号化データと、第1通信装置から第2通信装置へ送られる第2暗号化データという3つのデータのすべてを第三者に盗まれた場合には、それら3つのデータはすべて暗号化されたデータであるものの、第三者に知られてはいけない元の平文のデータである共有データを第三者に知られてしまうことになる。
 本願発明は、公開鍵方式の暗号化通信に代わるものになり得る上述の暗号化通信技術を上述の如き脆弱性を無くすように改良することを課題とする。
 公開鍵方式の暗号化通信に代わるものになり得る上述の暗号化通信技術における上述の如き脆弱性を解消するために本願発明者が研究を重ねた結果、上述の脆弱性は、第1通信装置から第2通信装置へと送られる第1暗号化データと、第2通信装置から第1通信装置へと送られる第2第1暗号化データと、第1通信装置から第2通信装置に送られる第2暗号化データという3つの暗号化データのすべてが悪意の第三者の手に渡ったときのみ問題となり得ることがわかった。つまり、第1暗号化データと第2第1暗号化データと第2暗号化データのすべてが同一の悪意の第三者の手に渡ることがなければ、上述の暗号化通信技術における上述した脆弱性は顕在化することがないという知見を本願発明者は得た。
 本願発明はそのような知見の下になされた。
 脆弱性のない上述の暗号化通信技術は、十分に公開鍵方式の暗号化通信に代わるものとなりうる。むしろ、公開鍵方式の暗号化通信には脆弱性が存在することが知られているので、本願発明者が提案した暗号化通信技術であって上述の脆弱性を克服したものは、公開鍵方式の暗号化通信技術に代わるどころか、鍵配送問題を解決する暗号化通信技術になり得る。
 上述の課題を解決する本願発明は、以下のようなものである。ただし、本願発明は、技術思想に着目して2つに大別される。それらを便宜上第1発明、第2発明とそれぞれ称することとする。
 まず、第1発明から説明する。
 第1発明は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムである。
 第1通信装置と第2通信装置とはともに、ユーザが操作するコンピュータ装置(例えば、携帯電話、スマートフォン、タブレット、ノートブック型パーソナルコンピュータ、デスクトップ型パーソナルコンピュータ等)であってもよい。第1通信装置と第2通信装置とはともに、SIM(Subscriber Identity Module)や、ICカード(例えば、東日本旅客鉄道株式会社等が発行するSuica(商標))のようなチップや、カード等であっても良い。また、第1通信装置と第2通信装置とはともに、ルータやスイッチ等の通常の通信時にはユーザが直接操作しない通信装置であっても良いし、更には、IoT(Internet of Things)を構成する通信機能を有する装置(Internet of Thingsにおける「Things」)であってもよい。
 前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えている。また、前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている。
 前記第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとするようになっているとともに、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっている。前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとするとともに、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信するようになっている。前記第1通信装置は、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとするようになっているとともに、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっている。前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付けた場合に、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとするようになっている。
 そして、前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である第1経路と、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合における前記ネットワーク上の経路である第2経路と、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である第3経路とを、前記第2経路と、前記第1経路及び前記第3経路の少なくとも一方とが、比較の対象となる2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている。
 最初に定義を述べる。
 本願では、平文である共有データに対して暗号化が行われるが、暗号化された共有データに対して更に暗号化の処理が行われる場合がある。例えば、上述の発明の場合では、共有データに対して第1通信装置の第1暗号化部によって暗号化の処理がなされた結果、平文の共有データが、第1暗号化データとされる。また、第1暗号化データに対して第2通信装置の第2暗号化部によって暗号化の処理がなされた結果、第1暗号化データが、第2第1暗号化データとされる。本願で、「暗号化データ」の前に、「第1」又は「第2」という文言が付されているときにおいては、「第1」という文言が付されている場合には、第1通信装置にて暗号化された共有データという意味であり、「第2」という文言が付されている場合には、第2通信装置にて暗号化された共有データという意味である。また、本願で、「第2第1暗号化データ」のように、「暗号化データ」の前に、「第1」と「第2」という文言の双方が付されている場合には、共有データを第1通信装置と第2通信装置の双方で暗号化したものであって、且つ「第1」と「第2」という文言のうち、後にある文言に対応する通信装置(つまり、上述の場合では第1通信装置)で先に暗号化が行われた後に、前にある文言に対応する通信装置(つまり、上述の場合では第2通信装置)で暗号化が行われた共有データを意味するものとする。
 第1発明による上述の通信システムは、互いに通信を行う通信装置である第1通信装置と第2通信装置とを含んで構成される。通信システムにはより多くの通信装置が含まれていても良いが、その中の互いに通信を行う2つの通信装置が、本願発明における第1通信装置及び第2通信装置と位置づけられることになる。第1通信装置と第2通信装置との間の通信は、これには限られないが、ネットワークによって行われる。ネットワークは、インターネット(インターネットVPNを含む、以下同じ。)、インターネット以外の回線の少なくとも一方を含む。インターネット以外の回線の例は、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)であり、これらの複数であってもよい。
 第1通信装置は、暗号化の処理を行う第1暗号化部と、第1暗号化部によって実行された暗号化の処理の逆の処理、つまり復号化の処理を実行することができる第1復号化部とを備えている。同様に、第2通信装置は、暗号化の処理を行う第2暗号化部と、第2暗号化部によって実行された暗号化の処理の逆の処理、つまり復号化の処理を実行することができる第2復号化部とを備えている。第1暗号化部と第2暗号化部とが行う暗号化の処理と、第1復号化部と第2復号化部とが行う暗号化の処理の逆変換の処理とはいずれも、交換法則と結合法則との双方を充足する。交換法則と結合法則については、背景技術の欄で既に述べた。
 本願発明では、これら2つの通信装置、つまり第1通信装置と第2通信装置との間で共有すべきデータを、共有データと称する。共有データは平文のデータである。もっとも、共有データは、意味のあるデータである必要は必ずしもなく、例えば、第1通信装置と第2通信装置との間で、暗号化通信を行う場合に用いられる共通鍵の如き、文字、数字等の適当な羅列であっても構わない。つまり、本願発明における第1通信装置と第2通信装置とが行う暗号化通信は、鍵の配送に用いられても良い。もちろん、本願発明における第1通信装置と第2通信装置とが行う暗号化通信がその他の目的に用いられても良い。
 本願による通信システムで、実行される共有データの共有の方法は極めて簡単である。なお、2つの通信装置のうち、先に共有データを有する通信装置、言い換えれば他方の通信装置に共有データを提供する通信装置が本願発明では第1通信装置と称され、2つの通信装置のうちの他方が第2通信装置と称される。したがって、ある通信において第1通信装置であった通信装置が他の通信において第2通信装置となることもあるし、その逆の場合もあり得る。
 第1通信装置と第2通信装置との間で共有データを共有する場合、本願発明では、まず、共有データが第1通信装置の第1暗号化部で暗号化され、第1暗号化データにされる。第1暗号化データは、第1通信装置から第2通信装置へと送られる。仮に、インターネット等のネットワーク上を第1暗号化データが送られるにしても、第1暗号化データは暗号化されたデータなので、第1暗号化部で実行された暗号化の処理が強固で安全なものである限り、第1暗号化データのみが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
 第2通信装置は、第1暗号化データを受取る。第2通信装置は、その第2暗号化部で第1暗号化データに対して更に暗号化の処理を行い、第1暗号化データを、第2第1暗号化データに変化させる。第2第1暗号化データは、第2通信装置から第1通信装置へと送られる。仮に、インターネット等のネットワーク上を第2第1暗号化データが送られるにしても、第2第1暗号化データは暗号化されたデータなので、もっといえば、第1暗号化部と第2暗号化部とで2重に暗号化されたデータなので、第1暗号化部と、第2暗号化部とで実行された暗号化の処理が強固で安全なものである限り、第2第1暗号化データのみが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
 第1通信装置は、第2第1暗号化データを受取る。第1通信装置は、その第1復号化部で第2第1暗号化データに対して復号化の処理を行う。かかる復号化の処理は、第1暗号化部で暗号化のために行われた変換の逆変換を行うものとされる。そうすると、第2第1暗号化データは、第2暗号化データとなる。第2暗号化データは、共有データを第2暗号化部で暗号化することにより暗号化したものと同一のデータである。この第2暗号化データは、第1通信装置から第2通信装置へと送られる。仮に、インターネット等のネットワーク上を第2暗号化データが送られるにしても、第2暗号化データは暗号化されたデータなので、第2暗号化部で実行された暗号化の処理が強固で安全なものである限り、第2暗号化データのみが第三者に取得されたとしても、或いは第1暗号化データと第2暗号化データのみが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
 第2通信装置は、第2暗号化データを受取る。第2通信装置は、その第2復号化部で第2暗号化データに対して復号化の処理を行う。かかる復号化の処理は、第2暗号化部で暗号化のために行われた変換の逆変換を行うものとされる。そうすると、第2暗号化データは、平文の共有データに戻る。
 以上により、第1通信装置と、第2通信装置との間で平文の共有データが共有されることになる。しかも、第1通信装置と第2通信装置との間で共有データが送信されるとき、共有データは平文の状態ではなく、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかの状態となっており、いずれの場合においても暗号化された状態となっている。したがって、かかる通信システムは、第1通信装置で、第1暗号化部による暗号化と第1復号化部による復号化の処理という単純な処理を行い、第2通信装置で、第2暗号化部による暗号化と第2復号化部による復号化の処理という単純な処理を行い、そして第1通信装置と第2通信装置との間で暗号化された状態の共有データを一往復半させる、という極めて簡単な処理を行うだけで、安全に第1通信装置と第2通信装置との間で共有データを共有できるようになる。しかも、かかる暗号化通信を実行する場合において第1通信装置及び第2通信装置で実行される暗号化と復号化の処理は、相手側の通信装置とは無関係に行うことができるので、暗号化通信を行うに先立って一方の通信装置から他方の通信装置へと鍵を送信する必要がない。したがって、本願発明の通信システムを用いて行われる暗号化通信は、鍵配送問題とは無縁である。
 そして、さらに、第1通信装置と第2通信装置は、第1通信装置が第1暗号化データを第2通信装置に送る場合におけるネットワーク上の経路である第1経路と、第2通信装置が第2第1暗号化データを第1通信装置に送る場合におけるネットワーク上の経路である第2経路と、第1通信装置が第2暗号化データを第2通信装置に送る場合におけるネットワーク上の経路である第3経路とを、第2経路と、第1経路及び第3経路の少なくとも一方とが、比較の対象となる2つの経路の始点と終点とを除いて重複しないように設定するようになっている。「比較の対象となる2つの経路」とは、「第2経路と第1経路」、又は「第2経路と第3経路」を意味する。
 また、第2経路と、第1経路及び第3経路の少なくとも一方が始点と終点を除いて重複しない場合とは、(1)第1経路と第2経路とが重複するものの、第3経路が第2経路と重複しない場合、(2)第3経路と第2経路とが重複するものの、第1経路が第2経路と重複しない場合、(3)第2経路と第1経路及び第3経路の双方とが重複せず、且つ第1経路と第3経路が重複する場合、(4)第2経路と第1経路及び第3経路の双方とが重複せず、且つ第1経路と第3経路が重複しない場合である。
 第1暗号化データと第2第1暗号化データとが通るネットワーク上の経路(つまり、第1経路と第2経路)か、第2第1暗号化データと第2暗号化データが通るネットワーク上の経路(つまり、第2経路と第3経路)との少なくとも一方を2つの経路の始点と終点とを除いて重複しないようにすることによる効果は、以下の通りである。
 送信途中のデータを不正に入手しようと試みる悪意の第三者は通常、ネットワーク上の所定の一箇所でネットワーク上を送信されるデータを入手しようとする。第1経路と第2経路、又は第2経路と第3経路の少なくとも一方が2つの経路の始点と終点とを除いて重複しないようになっていれば、第1経路と第2経路とが重複しないようになっている場合には、ネットワーク上の一箇所で待ち受ける悪意の第三者は、第1暗号化データと第2第1暗号化データの双方を入手することができないし、第2経路と第3経路とが重複しないようになっている場合には、ネットワーク上の一箇所で待受ける悪意の第三者は、第2第1暗号化データと第2暗号化データの双方を入手することができない。したがって、本願発明によれば、第1暗号化データ、第2第1暗号化データ、及び第2暗号化データのすべてを入手することで不正を行おうとする悪意の第三者の試みは成り立たなくなるから、本願発明の通信システムによる暗号化通信は、第1暗号化データ、第2第1暗号化データ、及び第2暗号化データのすべてを入手することによって行われる不正に対する従来技術において存在した脆弱性が事実上なくなる。
 なお、本願において、「(比較の対象となる)2つの経路の始点」とは、第1通信装置から第2通信装置への送信の場合には、第1通信装置から第2通信装置への経路中にある多数の通信機器のうち第1通信装置が最初にアクセスする通信機器を意味し、第2通信装置から第1通信装置への送信の場合には第2通信装置から第1通信装置への経路中にある多数の通信機器のうち第2通信装置が最初にアクセスする通信機器を意味する。また、本願において、「2つの経路の終点」とは、第1通信装置から第2通信装置への送信の場合には、第1通信装置から第2通信装置への経路中にある多数の通信機器のうち第2通信装置にアクセスする通信機器を意味し、第2通信装置から第1通信装置への送信の場合には第2通信装置から第1通信装置への経路中にある多数の通信機器のうち第1通信装置にアクセスする通信機器を意味する。
 なお、「第1経路と第2経路、又は第2経路と第3経路の少なくとも一方が2つの経路の全長のどこでも重複しないようになっている」場合は当然に、「第1経路と第2経路、又は第2経路と第3経路の少なくとも一方が2つの経路の始点と終点とを除いて重複しないようになっている」という条件をも充足する。
 上述したように、第1通信装置の第1暗号化部と第1復号化部で実行される暗号化と復号化(逆変換)、及び第2通信装置の第2暗号化部と第2復号化部で実行される暗号化と復号化(逆変換)は、交換法則と結合法則とを充足するものである必要がある。
 そのような演算としては、バレルシフト、四則演算等、或いはある種の楕円暗号の演算や、排他的論理和の演算を挙げることができる。
 第1通信装置の第1暗号化部と第1復号化部で実行される暗号化と復号化(逆変換)、及び第2通信装置の第2暗号化部と第2復号化部で実行される暗号化と復号化(逆変換)として、排他的論理和の演算を用いた場合には、更に以下の効果を得ることができる。
 バーナム暗号やワンタイムパッド暗号という暗号技術が知られている。これらはともに、幾つかの条件が充足されることが前提となるが、それら条件が充足された場合には解読が不可能であるということが、数学的に証明されている。具体的には、暗号化の対象となる平文と同じかそれ以上の情報量を持つ鍵を用いて、平文と鍵の排他的論理和を取ることで暗号文を得た場合、鍵が完全な乱数であり且つ一度しか用いられないのであれば、その暗号文の解読が不可能である、ということが数学的に証明されている。
 したがって、第1通信装置の第1暗号化部と第1復号化部で実行される暗号化と復号化(逆変換)、及び第2通信装置の第2暗号化部と第2復号化部で実行される暗号化と復号化(逆変換)として、排他的論理和の演算を用いた場合であって、且つ排他的論理和を取るためのデータとして、上述の鍵と同様に完全な乱数であり且つ一度しか用いられないものを用いると、ネットワーク上を送信される第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれも、それらを単独で入手しただけでは、それらの解読が数学的に不可能となる。したがって、それら3つのデータを用いて悪意の第三者が不正をはたらく方法は事実上、第1暗号化データと、第2第1暗号化データと、第2暗号化データのすべてを入手する以外にはなくなる。したがって、第1暗号化データと、第2第1暗号化データと、第2暗号化データの送信経路の少なくとも一部を既に述べたように重複しないようにすることによって、第1暗号化データと、第2第1暗号化データと、第2暗号化データのすべてを入手できないようにすれば、本願発明による通信システムによって行われる暗号化通信は事実上、完全に安全なものとなる。
 第1発明の通信システムでは、前記第1通信装置と前記第2通信装置とは、前記第1経路と、前記第2経路とが、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっていてもよい。
 他方、前記第1通信装置と前記第2通信装置とは、前記第3経路と、前記第2経路とが、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっていてもよい。
 第1発明の通信システムで第1経路と第2経路とを重複しないように設定する場合、本願の通信システムにおける前記第1通信装置は、前記第1経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えていてもよい。第3経路は適当に決定される。第3経路は、第1経路、第2経路のいずれかと重複しても構わない。第3経路は第1経路決定部が決定しても良い。
 その場合、前記第1経路決定部は前記第1経路として前記ネットワーク上の所定の経路を決定するように予め設定されているとともに、前記第2経路決定部は、前記第2経路としてその始点と終点を除いて前記ネットワーク上で前記第1経路と重複しない経路を決定するように予め設定されていてもよい。
 第1通信装置と第2通信装置とが、重複しない通信経路を決定するように予め設定されていれば、第1暗号化データが送信される第1経路と、第2第1暗号化データが送信される第2経路とをそれらの始点と終点とを除き重複しない通信経路とすることが可能となる。例えば、ハードウェアとしてはいずれも汎用のコンピュータである第1通信装置と第2通信装置とを、本願の通信システムにおける第1通信装置と第2通信装置として機能させるための、両コンピュータにインストールされたコンピュータプログラムの機能によって、そのような設定を行うことが当然に可能である。
 この場合、前記第1経路と前記第2経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路であってもよい。そうすることにより、第1経路が設定される回線と第2経路が設定される回線とが異なる回線となるので、第1経路と第2経路とが、2つの経路の始点と終点とを除いて重複しないように設定されることになる。
 前記インターネット以外の回線上の経路は、例えば、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかであってもよい。
 第1発明の通信システムでは、第1経路と第2経路とを重複しないように設定する場合、本願発明による通信システムにおける前記第1通信装置は、前記第1経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えていてもよい。第3経路は適当に決定される。第3経路は、第1経路、第2経路のいずれかと重複しても構わない。第3経路は第1経路決定部が決定しても良い。
 その場合、前記第1経路決定部は、前記第1経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第1経路を特定するとともに、始点と終点とを除いて特定した前記第1経路と重複しない前記第2経路を決定するようになっており、前記第2通信部は、前記第2経路決定部が決定した前記第2経路を介して、前記第2第1暗号化データを前記第1通信装置に送信するようになっていてもよい。
 この場合には、第2通信装置の第2経路決定部は、第2通信装置が第1通信装置から第1暗号化データを受取った場合に、例えば第1暗号化データに付されていたデータを用いて、第1暗号化データが送信されて来た第1経路を特定するとともに、第1経路と重複しない経路として第2経路を決定する。その第2経路を用いて第2通信部が、第1通信装置に対して第2第1暗号化データを送信することにより、第2第1暗号化データは、第1経路と重複しない第2経路を辿って第1通信装置へ送信できるようになる。
 第2経路決定部が、第2通信装置が第1通信装置から第1暗号化データを受付けた場合に、第1経路を特定し、特定した第1経路とは異なる経路を第2経路として決定するようになっている場合には、第2経路決定部は以下の2つの例示のようにして第2経路を決定するようになっていてもよい。
 まず、前記第2経路決定部は、前記第1経路がインターネットである場合に、前記第2通信装置が受付けた前記第1暗号化データに付されていたデータから、前記第1暗号化データが前記第1通信装置から前記第2通信装置に至るまでに通過してきた機器のIPアドレスを検出することで前記第1経路を特定するとともに、前記第1経路に含まれない機器のみを通過する前記第2通信装置から前記第1通信装置までの前記インターネット上の経路を前記第2経路として決定するようになっていてもよい。一般的に、インターネットを介して送信装置から受信装置があるデータを受付けた場合、受信装置は、受付けたデータに付属されているデータを用いて、そのデータが送信装置から受信装置までどのような経路を辿って送信されてきたのかを特定することができる。例えば、MPLS( Multi-Protocol Label Switching )という、特定のネットワーク内でラベルと呼ばれる短い符号をパケットなどに付与することで高速に転送処理を行う公知或いは周知の技術を利用すれば、ある装置からネットワーク上を送信されてきたデータの送信経路を、そのデータを受取った装置が特定することが可能である。この技術では、送信されてきたデータにそのデータが通過してきた各装置を識別する符号であるラベルをスタックさせることが可能なので、受信側の装置は受信したデータにスタックされていた複数のラベルを検証することにより、送信されてきたそのデータの送信経路を特定することが可能となる。受信側の装置が受け取ったデータの送信側の装置からの通信経路を特定するために用いることができる技術としては他に、MANET(Mobile Ad-hoc Network(MANETの具体的な応用例としてはDSR(Dynamic Source Routing)が知られている))がある。また、第1経路と第2経路とを異なる種類の通信回線上に形成するような場合であれば、第1経路を用いた通信がどの通信回線を用いて行われたのかということを把握すれば、第1経路と第2経路とを重複しないようにするには十分であるが、そのような場合における第1経路による通信を行う際に用いられた通信回線の特定は、例えば第1経路による通信を行う際に用いられたソフトウェア、ハードウェアの種類を把握するだけでも十分な場合がある。
 したがって、第1暗号化データを受取った第2通信装置の第2経路決定部は、例えば、MPLS等の技術を用いて第1暗号化データが送信されてきた経路である第1経路を特定することができる。そして、第2通信装置の第2経路決定部は、特定された第1経路とは重複しないインターネット上の経路を第2経路として決定する。送信元の通信装置が送信先の通信装置までのインターネット上の送信経路を特定する技術としては例えば、ソースルーティング或いはその応用であるセグメントルーティングの技術や、MANET(Mobile Ad-hoc Network)が知られている。それら技術を応用すれば、第2通信装置の第2経路決定部は、第1経路と重複しない第2経路を決定することが可能である。そうすることより、第1暗号化データと第2第1暗号化データのそれぞれを、インターネット上の重複しない経路を用いて、第1通信装置と第2通信装置との間で往復させることができることになる。
 2つ目として、前記第2経路決定部は、前記第2通信装置が前記第1暗号化データを受付けた場合に前記第1暗号化データが送信されてきた回線が、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかを特定するとともに、前記第1暗号化データが送信されてきた回線と異なる回線上の経路を前記第2経路として決定するようになっていてもよい。
 この場合には、第2経路決定部は、第2通信装置が第1暗号化データを受付けたときに用いられた回線の種類を特定する。そして、第2経路決定部は、特定された種類の回線とは別の種類の回線上を辿る経路として第2経路を決定する。それにより、第1経路が乗る回線の種類と第2経路が乗る回線の種類とが異なれば当然に、第1経路と第2経路とは重複しない経路となる。
 第1発明の通信システムで、第1経路と第2経路とを重複しないように設定する場合、前記第1通信装置は、前記第1経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えていてもよい。第3経路は適当に決定される。第3経路は、第1経路、第2経路のいずれかと重複しても構わない。第3経路は第1経路決定部が決定しても良い。
 その場合、前記第1経路決定部は、前記第1経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第2経路を特定するデータであり、前記第1暗号化データに付される第2経路情報を生成するようになっており、前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2経路情報が付された前記第1暗号化データを受付けた場合に、受付けた前記第1暗号化データに付されていた前記第2経路情報によって特定される経路として前記第2経路を決定するようになっており、前記第2通信部は、前記第2経路決定部が決定した前記第2経路を介して、前記第2第1暗号化データを前記第1通信装置に送信するようになっていてもよい。
 この例では、第1通信装置の第1経路決定部が、第1経路、第2経路の双方を決定する。第1経路決定部は第1経路を決定するとともに、第2経路を特定するデータである第2経路情報を生成する。第2経路情報は、第1暗号化データに付されて第1通信装置から第2通信装置へと送られる。第2通信装置の第2経路決定部は、第2経路情報に基づいて第2経路情報によって特定される経路を第2経路として決定する。それにより、第1暗号化データが送信される第1経路と、第2第1暗号化データが送信される第2経路とが、重複しない経路となる。
 前記第1経路決定部は、前記第1経路、前記第2経路の双方を、インターネット上の経路として特定するようになっていてもよい。
 また、前記第1経路決定部は、前記第1経路と前記第2経路の一方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかのものの上の経路を特定するとともに、前記第1経路と前記第2経路の他方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスの他のものの上の経路を特定するようになっていてもよい。
 第1発明の通信システムで、第2経路と第3経路とを重複しないように設定する場合、本願の通信システムにおける前記第1通信装置は、前記第1経路と前記第3経路とを決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えていてもよい。第1経路決定部は第1経路を適当に決定する。第1経路は、第2経路、第3経路のいずれかと重複しても構わない。
 その場合、前記第1経路決定部は前記第3経路として前記ネットワーク上の所定の経路を決定するように予め設定されているとともに、前記第2経路決定部は、前記第2経路としてその始点と終点を除いて前記ネットワーク上で前記第3経路と重複しない経路を決定するように予め設定されていてもよい。
 第1通信装置と第2通信装置とが、重複しない通信経路を決定するように予め設定されていれば、第2暗号化データが送信される第3経路と、第2第1暗号化データが送信される第2経路とをそれらの始点と終点とを除き重複しない通信経路とすることが可能となる。例えば、第1通信装置と第2通信装置とがハードウェアとしてはいずれも汎用のコンピュータであったとしても、本願の通信システムにおける第1通信装置と第2通信装置として機能させるための、両コンピュータにインストールされたコンピュータプログラムの機能によって、そのような設定を行うように機能させることが当然に可能である。
 この場合、前記第2経路と前記第3経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路であってもよい。そうすることにより、第2経路が設定される回線と第3経路が設定される回線とが異なる回線となるので、第2経路と第3経路とが、2つの経路の始点と終点とを除いて重複しないように設定されることになる。
 前記インターネット以外の回線上の経路は、例えば、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかであってもよい。
 第1発明の通信システムで、第2経路と第3経路とを重複しないように設定する場合、本願発明による通信システムにおける前記第1通信装置は、前記第1経路と前記第3経路とを決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えていてもよい。第1経路決定部は第1経路を適当に決定する。第1経路は、第2経路、第3経路のいずれかと重複しても構わない。
 その場合、前記第2経路決定部は、前記第2経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第1経路決定部は、前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第2経路を特定するとともに、始点と終点とを除いて特定した前記第2経路と重複しない前記第3経路を決定するようになっており、前記第1通信部は、前記第1経路決定部が決定した前記第3経路を介して、前記第2暗号化データを前記第2通信装置に送信するようになっていてもよい。
 この場合には、第1通信装置の第1経路決定部は、第1通信装置が第2通信装置から第2第1暗号化データを受取った場合に、例えば第2第1暗号化データに付されていたデータを用いて、第2暗号化データが送信されて来た第2経路を特定するとともに、第2経路と重複しない経路として第3経路を決定する。その第3経路を用いて第1通信部が、第2通信装置に対して第2暗号化データを送信することにより、第2暗号化データは、第2経路と重複しない第3経路を辿って第2通信装置へ送信できるようになる。
 第1経路決定部が、第1通信装置が第2通信装置から第2第1暗号化データを受付けた場合に、第2経路を特定し、特定した第2経路とは異なる経路を第3経路として決定するようになっている場合には、第1経路決定部は以下の2つの例示のようにして第3経路を決定するようになっていてもよい。
 まず、前記第1経路決定部は、前記第2経路がインターネットである場合に、前記第1通信装置が受付けた前記第2第1暗号化データに付されていたデータから、前記第2第1暗号化データが前記第2通信装置から前記第1通信装置に至るまでに通過してきた機器のIPアドレスを検出することで前記第2経路を特定するとともに、前記第2経路に含まれない機器のみを通過する前記第1通信装置から前記第2通信装置までの前記インターネット上の経路を前記第3経路として決定するようになっていてもよい。一般的に、インターネットを介して送信装置から受信装置があるデータを受付けた場合、受信装置は、受付けたデータに付属されているデータを用いて、そのデータが送信装置から受信装置までどのような経路を辿って送信されてきたのかを特定することができる。そのような特定を可能とする技術としては、例えば、MPLS、及びMANETがある。
 したがって、第2第1暗号化データを受取った第1通信装置の第1経路決定部は、例えば、MPLSやMANETを用いて第2第1暗号化データが送信されてきた経路である第2経路を特定することができる。そして、第1通信装置の第1経路決定部は、特定された第2経路とは重複しないインターネット上の経路を第3経路として決定する。送信元の通信装置が送信先の通信装置までのインターネット上の送信経路を特定する技術としては例えば、ソースルーティングや或いはその応用であるセグメントルーティングや、MANET(また、その具体的な応用例としてのDSR)の技術が知られている。それら技術を応用すれば、第1通信装置の第1経路決定部は、第2経路と重複しない第3経路を決定することが可能である。そうすることより、第2第1暗号化データと第2暗号化データのそれぞれを、インターネット上の重複しない経路を用いて、第1通信装置と第2通信装置との間で往復させることができることになる。
 2つ目として、前記第1経路決定部は、前記第1通信装置が前記第2第1暗号化データを受付けた場合に前記第2第1暗号化データが送信されてきた回線が、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかを特定するとともに、前記第2第1暗号化データが送信されてきた回線と異なる回線上の経路を前記第3経路として決定するようになっていてもよい。
 この場合には、第1経路決定部は、第1通信装置が第2第1暗号化データを受付けたときに用いられた回線の種類を特定する。そして、第1経路決定部は、特定された種類の回線とは別の種類の回線上を辿る経路として第3経路を決定する。それにより、第2経路が乗る回線の種類と第3経路が乗る回線の種類とが異なれば当然に、第2経路と第3経路とは重複しない経路となる。
 第1発明の通信システムで、第2経路と第3経路とを重複しないように設定する場合、前記第1通信装置は、前記第1経路と前期第3経路とを決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えていてもよい。第1経路決定部は第1経路を適当に決定する。第1経路は、第2経路、第3経路のいずれかと重複しても構わない。
 その場合、前記第2経路決定部は、前記第2経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第3経路を特定するデータであり、前記第2第1暗号化データに付される第3経路情報を生成するようになっており、前記第1経路決定部は、前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第3経路情報が付された前記第2第1暗号化データを受付けた場合に、受付けた前記第2第1暗号化データに付されていた前記第3経路情報によって特定される経路として前記第3経路を決定するようになっており、前記第1通信部は、前記第1経路決定部が決定した前記第3経路を介して、前記第2暗号化データを前記第2通信装置に送信するようになっていてもよい。
 この例では、第2通信装置の第2経路決定部が、第2経路、第3経路の双方を決定する。第2経路決定部は第2経路を決定するとともに、第3経路を特定するデータである第3経路情報を生成する。第3経路情報は、第2第1暗号化データに付されて第2通信装置から第1通信装置へと送られる。第1通信装置の第1経路決定部は、第3経路情報に基づいて第3経路情報によって特定される経路を第3経路として決定する。それにより、第2第1暗号化データが送信される第2経路と、第2暗号化データが送信される第3経路とが、重複しない経路となる。
 前記第2経路決定部は、前記第2経路、前記第3経路の双方を、インターネット上の経路として特定するようになっていてもよい。
 また、前記第2経路決定部は、前記第2経路と前記第3経路の一方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかのものの上の経路を特定するとともに、前記第2経路と前記第3経路の他方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスの他のものの上の経路を特定するようになっていてもよい。
 本願発明者は、上述の如き通信システムで実行される方法をも第1発明の一態様として提案する。かかる方法の効果は、通信システムの効果に等しい。
 かかる方法の一例は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなり、前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている、通信システムによって実行される通信方法である。
 そしてかかる通信方法は、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとし、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第1過程と、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付け、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとし、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信する第2過程と、前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付け、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとし、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第3過程と、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付け、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとする第4過程と、を含んでいる。
 また、かかる通信方法では、前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である前記第1過程における第1経路と、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合における前記ネットワーク上の経路である前記第2過程における第2経路と、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である前記第3過程における第3経路とを、前記第2経路と、前記第1経路及び前記第3経路の少なくとも一方とが、比較の対象となる2つの前記経路の始点と終点とを除いて重複しないように設定する。
 必ずしもこの限りではないが、本願発明の通信方法では、前記第1通信装置と前記第2通信装置とが、前記第1過程から前記第4過程を連続して自動的に行ってもよい。
 これによれば、第1通信装置を扱うユーザと、第2通信装置を扱うユーザの手間を抑制しつつ、第1通信装置と第2通信装置とが安全に共有データを共有することができることになる。
 SSL通信では、2つの通信装置の一方が他方と通信を行おうとすると、例えば、他方の通信装置であるサーバが提供するホームページを閲覧しようと一方の通信装置であるクライアントを操作するユーザがそのホームページのURLをクライアントに実装されたブラウザのアドレスバー上で指定すると、クライアントとサーバとは、クライアントとサーバとの間で共通鍵を用いた暗号化通信であるSSL通信を開始する前に、共有鍵を共有するための通信を自動的に実行する。これと同様に、第1通信装置は例えば、ユーザが第2通信装置と通信を開始するという意思表示を行うための操作を第1通信装置に対して行ったら、共有データに暗号化のための変換をして第1暗号化データとする処理以降のすべての過程、つまり第1過程から第4過程を自動的に行うようになっていても構わない。そうすることにより、本願発明の方法は、少なくとも原理上は、SSL通信の冒頭の共通鍵の共有の技術に置き換えることができるものとなる。
 次に、第2発明について説明する。
 まず、第2発明の概略を説明する。
 第1発明でも第2発明でも、第1通信装置と第2通信装置との間を、第1暗号化データ、第2第1暗号化データ、及び第2暗号化データという3つの暗号化データを一往復半行き来させる。それにより、悪意の第三者による暗号解読の危険を低減させることとしているが、既に述べたように、いずれも暗号化されたデータであるにも関わらず、第1暗号化データ、第2第1暗号化データ、及び第2暗号化データの3つをすべて第三者に入手されてしまった場合には、暗号を解読され、元の共有データを悪意の第三者に知られてしまうおそれがある。
 悪意の第三者に第1暗号化データ、第2第1暗号化データ、及び第2暗号化データの3つすべてを入手させないための手法として、第1発明では、第1暗号化データの送信経路たる第1経路と第2第1暗号化データの送信経路たる第2経路、又は第2第1暗号化データの送信経路たる第2経路と第2暗号化データの送信経路たる第3経路の少なくとも一方を、2つの経路の始点と終点とを除いて重複しないようにすることとしていた。第1経路と第2経路とが重複しないようになっている場合には、ネットワーク上の一箇所で待ち受ける悪意の第三者は、第1暗号化データと第2第1暗号化データの双方を入手することができないし、第2経路と第3経路とが重複しないようになっている場合には、ネットワーク上の一箇所で待受ける悪意の第三者は、第2第1暗号化データと第2暗号化データの双方を入手することができない。
 他方、第2発明では、第1発明でいう第1経路、第2経路、第3経路を基本的にすべて共通のA経路とする。ただし、第2発明では、第1発明における第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに対して逆変換可能な所定の変換を行うことにより、それら3つのデータのうちの1つから2つのデータを生成し、生成された2つのデータのうちの一方をA経路で、他方を始点と終点とを除いてA経路と重複しないネットワーク上の所定の経路であるB経路にて送信することとしている。例えば、第1暗号化データから2つのデータが生成されるとすれば、第1通信装置から第2通信装置へ、A経路で一方のデータが、B経路で他方のデータが送信され、第2第1暗号化データから2つのデータが生成されるとすれば、第2通信装置から第1通信装置へ、A経路で一方のデータが、B経路で他方のデータが送信され、第2暗号化データから2つのデータが生成されるとすれば、第1通信装置から第2通信装置へ、A経路で一方のデータが、B経路で他方のデータが送信されることになる。いずれの場合も、第1通信装置と第2通信装置との間で行われる本願発明と関連するそれ以外の通信はすべてA経路によって行われることになる。なお、第2発明における、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに対して行う「逆変換可能な所定の変換」というのは、生成された2つのデータに基づいて、元のデータ(第1発明における第1暗号化データ、第2第1暗号化データ、又は第2暗号化データ)を復元可能な変換である、ということを意味する。
 つまり、第2発明の場合には、第1暗号化データの送信経路、第2第1暗号化データの送信経路、第2暗号化データの送信経路のうちの2つがA経路とされるとともに、他の1つがA経路とB経路の2本とされ、且つ2本にされたA経路とB経路を、第1暗号化データ、第2第1暗号化データ、第2暗号化データのうちのいずれかに逆変換可能な所定の変換を行うことによって作られた2つのデータの一方と他方の送信にそれぞれ用いることとしている。これにより悪意の第三者は、A経路を通過するデータ(第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに逆変換可能な所定の変換を行うことによって作られた2つのデータの一方と、第1暗号化データ、第2第1暗号化データ、第2暗号化データのうちの2つのデータを得るための上述の変換を行われたなかった2つ)と、B経路を通過するデータ(第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに逆変換可能な所定の変換を行うことによって作られた2つのデータの他方)との双方を入手することができないということを意味する。なぜなら、悪意の第三者は、ネットワーク上の一箇所で待ち伏せして第1暗号化データ、第2第1暗号化データ、第2暗号化データのすべてを入手しようとするところ、それらすべてを入手する(或いはそれらすべてを入手するために必要となるデータのすべてを入手する)ためにはA経路とB経路の双方を監視しなければならないからである。
 つまり、第1発明とは異なる第2発明が採用する上述のアプローチによっても、第1経路と第2経路、又は第2経路と第3経路の少なくとも一方を、2つの経路の始点と終点とを除いて重複しないようにするというアプローチを採用する第1発明の場合と同様に、悪意の第三者に第1暗号化データ、第2第1暗号化データ、第2暗号化データを入手されることを防ぐことが可能となり、ひいては悪意の第3者による共有データの知得を防ぐことが可能となる。
 以下、第2発明についての具体的な説明を行う。
 第2発明は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムである。
 前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている。
 また、前記第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとするようになっているとともに、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとするとともに、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信するようになっており、前記第1通信装置は、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとするようになっているとともに、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付けた場合に、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとするようになっている。
 ここまでの構成は、第1発明による通信システムと同じである。
 例えば、第1発明の場合と同様、第1通信装置と第2通信装置とはともに、ユーザが操作するコンピュータ装置であってもよいし、ユーザが操作しないコンピュータ装置であっても良い。また、第1発明の場合と同様、第1通信装置と第2通信装置との間の通信は、ネットワークによって行われ、ネットワークは、インターネット(インターネットVPNを含む、以下同じ。)、インターネット以外の回線の少なくとも一方を含む。インターネット以外の回線の例は、既に述べた通りである。また、共有データの定義や、通信システムの利用目的が鍵の配送であってもそうでなくても良いという点でも、第1発明と第2発明は共通する。また、第1暗号化部と、第1復号化部と、第2暗号化部と、第2復号化部とはそれぞれ、排他的論理和の演算を行うようになっていてもよい点も、第1発明と第2発明は共通する。
 そして、第2発明による1つ目の態様の通信システムでは、前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合に、前記第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記ネットワーク上の経路であるA経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送るようになっており、前記第2通信装置が前記第2第1暗号化データを前記A経路により前記第1通信装置に送るようになっており、前記第1通信装置が前記第2暗号化データを前記A経路により前記第2通信装置に送るようになっているとともに、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている。
 これは、第1発明でいう第1経路をA経路とB経路の2本とし、第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方をA経路により、他方をB経路によりそれぞれ第1通信装置から第2通信装置に送るようにしたものである。
 第2発明による2つ目の態様の通信システムでは、前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データをA経路により前記第2通信装置に送るようになっており、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合に、前記第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送るようになっており、前記第1通信装置が前記第2暗号化データを前記A経路により前記第2通信装置に送るようになっているとともに、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている。
 これは、第1発明でいう第2経路をA経路とB経路の2本とし、第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方をA経路により、他方をB経路によりそれぞれ第2通信装置から第1通信装置に送るようにしたものである。
 第2発明による3つ目の態様の通信システムでは、前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データを前記ネットワーク上の経路であるA経路により前記第2通信装置に送るようになっており、前記第2通信装置が前記第2第1暗号化データを前記A経路により前記第1通信装置に送るようになっており、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合に、前記第2暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送るようになっているとともに、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている。
 これは、第1発明でいう第3経路をA経路とB経路の2本とし、第2暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方をA経路により、他方をB経路によりそれぞれ第1通信装置から第2通信装置に送るようにしたものである。
 第2発明における1つ目から3つ目の態様の通信システムでは、A経路とB経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路であってもよい。インターネット以外の回線上の経路は、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかであってもよい。また、第2発明における1つ目から3つ目の態様による通信システムでは、A経路とB経路との双方がインターネット回線上の経路であってもよい。
 第2発明の通信システムでも、第1発明の通信システムと同様に、第1通信装置の第1暗号化部と第1復号化部で実行される暗号化と復号化(逆変換)、及び第2通信装置の第2暗号化部と第2復号化部で実行される暗号化と復号化(逆変換)は、交換法則と結合法則とを充足するものである必要がある。そのような演算の例は、第2発明と第1発明とで変わりはない。
 また、交換法則と結合法則とを充足する暗号技術としてバーナム暗号やワンタイムパッド暗号を用いることで第2発明による通信システムも、第1発明による通信システム同様、事実上完全に安全な暗号化通信を行えるようになるという効果を生じる。
 第2発明による1つ目の態様の通信システムでは、上述したように、第1発明でいう第1経路、つまり、第1通信装置から第2通信装置へと第1暗号化データを送るための経路をA経路とB経路の2本とし、第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方をA経路により、他方をB経路によりそれぞれ第1通信装置から第2通信装置に送る。
 第2発明による1つ目の態様の通信システムにおける前記第1通信装置は、前記A経路と前記B経路とを決定する第1経路決定部を備えていてもよい。この場合においては、A経路、B経路ともに第1通信装置が決定する。そして、第1通信装置が決定したA経路は、その後のデータの送信にも、即ち、第2通信装置から第1通信装置へと第2第1暗号化データを送信する場合と、第1通信装置から第2通信装置へ第2暗号化データを送信する場合にも利用されることとなる。なお、この場合においては、第1経路決定部がA経路とB経路との双方を決定するタイミングは、上述の2つのデータのうちの一方をA経路により、他方をB経路により第1通信装置から第2通信装置へ送信するよりも前である。
 第2発明による3つ目の態様の通信システムでは、上述したように、第1発明でいう第3経路、つまり、第1通信装置から第2通信装置へと第2暗号化データを送るための経路をA経路とB経路の2本とし、第2暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方をA経路により、他方をB経路によりそれぞれ第1通信装置から第2通信装置に送る。
 第2発明による3つ目の態様の通信システムにおける前記第1通信装置も、前記A経路と前記B経路とを決定する第1経路決定部を備えていてもよい。この場合においても、A経路、B経路ともに第1通信装置が決定する。そして、第1通信装置が決定したA経路は、その前のデータの送信、即ち、第1通信装置から第2通信装置へと第1暗号化データを送信する場合と、第2通信装置から第1通信装置へ第2第1暗号化データを送信する場合にも利用されることとなる。この場合における第1経路決定部がA経路を決定するタイミングは、第1暗号化データを第1通信装置から第2通信装置へ送る前である。他方、第1経路決定部がB経路を決定するタイミングは、上述の2つのデータのうちの一方をA経路により、他方をB経路により第1通信装置から第2通信装置へ送信するよりも前であれば良い。
 第2発明による2つ目の態様の通信システムでは、上述したように、第1発明でいう第2経路、つまり、第2通信装置から第1通信装置へと第2第1暗号化データを送るための経路をA経路とB経路の2本とし、第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方をA経路により、他方をB経路によりそれぞれ第2通信装置から第1通信装置に送る。
 この場合、最初に行われる第1通信装置と第2通信装置との間におけるデータの送信は、第1通信装置から第2通信装置への第1暗号データの送信であり、その通信経路としては、A経路が用いられる。したがって、A経路は第1通信装置によって決定されるのが合理的である。つまり、第1通信装置は、A経路を決定する第1経路決定部を備えていても良い。
 他方、第2発明の2つ目の態様では、B経路は、第2通信装置から第1通信装置へ第2第1暗号化データを送信する場合(或いは、第2第1暗号化データを第1通信装置が復元するために必要な2つのデータ)を送信する際に初めて利用されることになる。したがって、この場合には、B経路は第2通信装置によって決定されるのが合理的である。
 例えば、前記第2通信装置は、前記B経路を決定する第2経路決定部を備えていてもよい。
 その場合において、前記A経路と前記B経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路であってもよい。つまり、第2経路決定部は、A経路とB経路との一方をインターネット回線上の経路として、他方をインターネット以外の回線上の経路として決定するようになっていても良い。前記インターネット以外の回線上の経路は、既に述べたように、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかとすることができる。
 前記第1通信装置は、前記A経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第B経路を決定する第2経路決定部を備えており、前記第1経路決定部は、前記A経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記A経路を特定するとともに、始点と終点とを除いて特定した前記A経路と重複しない前記B経路を決定するようになっており、前記第2通信部は、前記第1経路決定部が決定した前記A経路と、前記第2経路決定部が決定した前記B経路とを介して、前記第2第1暗号化データから得られた2つの前記データの一方と他方とを前記第1通信装置に送信するようになっていてもよい。
 例えば、第2経路決定部は、以下のように第1通信装置が決定したA経路を特定するようになっていてもよい。例えば、前記第2経路決定部は、前記A経路がインターネットである場合に、前記第2通信装置が受付けた前記第1暗号化データに付されていたデータから、前記第1暗号化データが前記第1通信装置から前記第2通信装置に至るまでに通過してきた機器のIPアドレスを検出することで前記A経路を特定するとともに、前記A経路に含まれない機器のみを通過する前記第2通信装置から前記第1通信装置までの前記インターネット上の経路を前記B経路として決定するようになっていてもよい。或いは、前記第2経路決定部は、前記第2通信装置が前記第1暗号化データを受付けた場合に前記第1暗号化データが送信されてきた回線が、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかを特定するとともに、前記第1暗号化データが送信されてきた回線と異なる回線上の経路を前記B経路として決定するようになっていてもよい。
 第1通信装置から送られた来たあるデータが第1通信装置から第2通信装置までの間に通った経路を第2通信装置が把握するための技術としては、例えば既に述べた技術であるMPLS、MANET、MANETの具体的な応用例としてのDSRを用いることができる。また、A経路とB経路とを異なる種類の通信回線上に形成するような場合であれば、第2通信装置は、A経路を用いた通信がどの通信回線を用いて行われたのかということを把握すれば、A経路とB経路とを重複しないようにするには十分である。場合にもよるが、通信を行う際に用いられたソフトウェア、ハードウェアの種類を把握するだけで、A経路を用いた通信がどの通信回線を用いて行われたのかということを把握するのに十分な場合がある。
 第2発明の2つ目の態様の通信システムは、以下のようなものとなっていてもよい。
 前記第1通信装置は、前記A経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記B経路を決定する第2経路決定部を備えていてもよい。その場合、前記第1経路決定部は、前記A経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記B経路を特定するデータであり、前記第1暗号化データに付されるB経路情報を生成するようになっており、前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記B経路情報が付された前記第1暗号化データを受付けた場合に、受付けた前記第1暗号化データに付されていた前記B経路情報によって特定される経路として前記B経路を決定するようになっており、前記第2通信部は、前記第1経路決定部が決定した前記A経路と、前記第2経路決定部が決定した前記B経路とを介して、前記第2第1暗号化データから得られた2つの前記データの一方と他方とを前記第1通信装置に送信するようになっていてもよい。
 この場合、第2通信装置の第2経路決定部は、第1通信装置が第1暗号化データに付加して第1暗号化データとともにA経路にて送ってきたB経路情報によってB経路を決定する。A経路をも決定する第1通信装置或いは第1経路決定部がA経路と始点と終点とを除き重複しない通信経路であるB経路を決定することは当然に可能であり、またそのB経路を特定する第1通信装置が生成したB経路情報を用いて第2通信装置の第2経路決定部がB経路を決定することも当然に可能である。
 このようにB経路情報によってB経路が決定される場合であっても、前記第1経路決定部は、前記A経路、前記B経路の双方を、インターネット上の経路として特定するようになっていてもよいし、また、前記A経路と前記B経路の一方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかのものの上の経路を特定するとともに、前記第A経路と前記B経路の他方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスの他のものの上の経路を特定するようになっていてもよい。
 第2発明では、1つ目の態様から3つ目の態様のいずれの通信システムでも、A経路とB経路という2つの経路が用いられる。
 ここで、第2発明で、共有データを第1通信装置と第2通信装置との間で共有するために両者の間で行われる通信の殆どはA経路を用いて行われ、一部のみがB経路を用いて行われる。第2発明は、2種類の経路しか用いないので通信の安定性が高い。
 また、前記A経路は、前記B経路よりも通信の品質が高いものとすることができる。通信の品質が高いとは、通信の速度が速いこと、通信の安定性が高いこと、送信可能なデータの総量に規制がないか、規制される総量が大きいことの少なくとも1つを意味する。
 A経路としてB経路よりも通信の品質が高いものを選択することにより、共有データを第1通信装置と第2通信装置との間で共有するために両者の間で行われる通信の殆どを通信の品質が高いA経路で実現することが可能になり、相対的にA経路よりも通信の品質が低いB経路で行う通信は1回限りであり、しかもその1回限りの通信で送信されるデータは、第1発明における第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに対して逆変換可能な変換を行うことによって得られた2つのデータの一方のみである。したがって、B経路による通信の品質があまり良くなかったとしても、B経路を用いて行う通信で不具合が生じにくいことになる。
 また、上述したように、A経路を通過するデータは、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに逆変換可能な所定の変換を行うことによって作られた2つのデータの一方であり、B経路を通過するデータは、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに逆変換可能な所定の変換を行うことによって作られた2つのデータの他方である。 前記A経路を用いて送信される2つの前記データのうちの一方より、前記B経路を用いて送信される2つの前記データのうちの他方の方がデータの量が小さくてもよい。それら2つのデータの一方よりも他方を小さくすると、B経路を通過するデータが小さくなるので、それによってもB経路を用いて行う通信で不具合が生じる可能性が小さくなる。
 前記第1暗号化データに対して行われる逆変換可能な前記変換は、前記第1暗号化データを所定の規則にしたがって前記一方のデータと前記他方のデータとに分割する処理として実行されるようになっていてもよい。前記第2第1暗号化データに対して行われる逆変換可能な前記変換は、前記第2第1暗号化データを所定の規則にしたがって前記一方のデータと前記他方のデータとに分割する処理として実行されるようになっていてもよい。また、前記第2暗号化データに対して行われる逆変換可能な前記変換は、前記第2暗号化データを所定の規則にしたがって前記一方のデータと前記他方のデータとに分割する処理として実行されるようになっていてもよい。
 それらデータを分割するというのが、逆変換可能な上述の変換の一例となる。また、当該処理は簡単でもある。
 本願発明者は、上述の如き第2発明による通信システムで実行される方法をも本願発明の一態様として提案する。かかる方法の効果は、通信システムの効果に等しい。以下、方法の発明を例示する。
 第2発明による方法は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなり、前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている、通信システムによって実行される通信方法である。
 その方法は、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとし、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第1過程と、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付け、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとし、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信する第2過程と、前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付け、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとし、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第3過程と、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付け、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとする第4過程と、を含んでいる。
 ここまでは、第2発明による1つ目の形態から3つ目の形態による方法で共通である。
 そして、第2発明による1つ目の形態による方法では、前記第1過程では、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合に、前記第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記ネットワーク上の経路であるA経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送り、前記第2過程では、前記第2通信装置が、前記A経路を介して受取った2つのデータのうちの前記一方のデータと、前記B経路を介して受取った2つのデータのうちの前記他方のデータとに逆変換を行うことによって得た前記第1暗号化データに対して前記変換を行うことにより前記第2第1暗号化データを得る処理を実行するとともに、前記第2第1暗号化データを前記A経路により前記第1通信装置に送り、前記第3過程では、前記第1通信装置が前記第2暗号化データを前記A経路により前記第2通信装置に送る。また、前記第1通信装置と、前記第2通信装置とは、前記第1から前記第3過程において、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定する。
 第2発明による2つ目の形態による方法では、前記第1過程では、前記第1通信装置が前記第1暗号化データを前記ネットワーク上の経路であるA経路により前記第2通信装置に送り、前記第2過程では、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合に、前記第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送り、前記第3過程では、前記第1通信装置が、前記A経路を介して受取った2つのデータのうちの前記一方のデータと、前記B経路を介して受取った2つのデータのうちの前記他方のデータとに逆変換を行うことによって得た前記第2第1暗号化データに対して前記変換を行うことにより前記第2暗号化データを得る処理を実行するとともに、前記第2暗号化データを前記A経路により前記第2通信装置に送る。また、前記第1通信装置と、前記第2通信装置とは、前記第1から前記第3過程において、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定する。
 第2発明による3つ目の形態による方法では、前記第1過程では、前記第1通信装置が前記第1暗号化データを前記ネットワーク上の経路であるA経路により前記第2通信装置に送り、前記第2過程では、前記第2通信装置が前記第2第1暗号化データを前記A経路により前記第1通信装置に送り、前記第3過程では、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合に、前記第2暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送り、前記第4過程では、前記第2通信装置が、前記A経路を介して受取った2つのデータのうちの前記一方のデータと、前記B経路を介して受取った2つのデータのうちの前記他方のデータとに逆変換を行うことによって得た前記第2暗号化データに対して前記変換を行うことにより前記共有データを得る処理を実行する。また、前記第1通信装置と、前記第2通信装置とは、前記第1から前記第3過程において、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定する。
 第2発明における方法でも、第1発明の場合と同様に、前記第1通信装置と前記第2通信装置とが、前記第1過程から前記第4過程を連続して自動的に行うようにしてもよい。
 そうすることにより、第2発明でも、第1発明において説明した第1過程から第4過程を自動的に行う場合に得られるのと同様の効果を得られることになる。
第1実施形態による通信システムの全体構成を示す図。 図1に示した通信システムに含まれる通信装置の外観を示す図。 図1に示した通信システムに含まれる通信装置のハードウェア構成を示す図。 図1に示した通信システムに含まれる通信装置の内部に生成される機能ブロックを示すブロック図。 図1に示した通信システムで通信が行われるときに実行される処理の流れを示す図。 図1に示した通信システムで<1-1>の第1のケースによる暗号化通信が行われるときにネットワークに作られる第1経路、第2経路、第3経路の一例を概念的に示す図。 図1に示した通信システムで<1-1>の第2のケースによる暗号化通信が行われるときにネットワークに作られる第1経路、第2経路、第3経路の一例を概念的に示す図。 図1に示した通信システムで<1-1>の第3のケースによる暗号化通信が行われるときにネットワークに作られる第1経路、第2経路、第3経路の一例を概念的に示す図。 図1に示した通信システムで<2-2>の第1のケースによる暗号化通信が行われるときにネットワークに作られる第1経路、第2経路、第3経路の一例を概念的に示す図。 図1に示した通信システムで<2-2>の第2のケースによる暗号化通信が行われるときにネットワークに作られる第1経路、第2経路、第3経路の一例を概念的に示す図。 第2実施形態における通信システムに含まれる通信装置の内部に生成される機能ブロックを示すブロック図。 図1に示した通信システムで「3.第1経路がA経路とB経路で構成される場合」における暗号化通信が行われる場合の処理の流れを示す図。 図1に示した通信システムで「4.第2経路がA経路とB経路で構成される場合」における暗号化通信が行われる場合の処理の流れを示す図。 図1に示した通信システムで「5.第3経路がA経路とB経路で構成される場合」における暗号化通信が行われる場合の処理の流れを示す図。
 以下、図面を参照しつつ本発明の好ましい第1実施形態と第2実施形態とについて説明する。
 第1実施形態と第2実施形態とで共通する対象には共通する符号を付すこととし、重複する内容については場合により説明を省略するものとする。
≪第1実施形態≫
 図1に、第1実施形態による通信システムの全体構成を概略で示す。
 第1実施形態の通信システムは、多数の通信装置100-1~100-N(以後、単に、「通信装置100」と記載する場合もある。)を含んで構成されている。多数の通信装置100のうちの任意の2つの装置は、互いに通信を行うことが可能とされている。この実施形態では多数の通信装置100はすべて、ネットワーク400に接続可能とされている。つまり、多数の通信装置100のうちの任意の2つの装置が行う上述の通信は、この実施形態ではネットワーク400を介しての通信となる。ネットワーク400は、例えば、少なくともインターネット(インターネットVPNを含む、以下同じ。)を含み、この実施形態では、インターネットを含む複数種類の回線により構成されている。この実施形態のネットワーク400は、インターネットに加えて、インターネット以外の回線として、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)をも含んでいる。ただし、通信装置100は、上述のすべての種類の回線での通信が可能となっている必要はない。通信装置100ごとに通信に用いることのできる回線の種類が異なっていてももちろん構わず、実際にはそうなっていることが通常である。
 多数の通信装置100は以下に説明する暗号化通信を行うときにネットワーク400に接続可能であれば良く、必ずしもネットワーク400に常時接続されている必要はない。
 上述したように、通信装置100-1~100-Nは、それらのうちの2つが互いに通信を行うことを前提としている。各通信装置100-1~100-Nは、これには限られないがこの実施形態では、本願発明でいう第1通信装置として機能する場合もあるし、本願発明でいう第2通信装置として機能する場合もある。
 次に、通信装置100の構成を説明する。各通信装置100-1~100-Nの構成は、本願発明との関連でいえば同じである。通信装置100-1~100-Nはコンピュータを含んでいる。より詳細には、この実施形態における通信装置100は、汎用のコンピュータにより構成されている。通信装置100-1~100-Nは、汎用のサーバであってもよい。
 これには限られないが、通信装置100-1~100-Nは、各ユーザが個人で所有するコンピュータであるとして話を進める。通信装置100は、携帯電話、スマートフォン、タブレット、ノートブック型パーソナルコンピュータ、デスクトップ型パーソナルコンピュータ等である。それらはすべて、ネットワーク400を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
 例えば、通信装置100がスマートフォンかタブレットなのであれば、スマートフォンとしての通信装置100は例えば、Apple Japan合同会社が製造、販売を行うiPhoneで良いし、タブレットとしての通信装置100は例えば、Apple Japan合同会社が製造、販売を行うiPadでよい。
 なお、通信装置100-1~100-Nはいずれも、SIM(Subscriber Identity Module)や、ICカード(例えば、東日本旅客鉄道株式会社等が発行するSuica(商標))のようなチップや、カード等であっても良い。また、通信装置100-1~100-Nはいずれも、ルータやスイッチ等の通常の通信時にはユーザが直接操作しない通信装置であっても良いし、更には、IoT(Internet of Things)を構成する通信機能を有する装置(Internet of Thingsにおける「Things」)であってもよい。通信装置100-1~100-Nがそのような装置、機器であったとしても、ユーザインターフェイスを除けば通信装置100-1~100-Nが備える後述する図3に示したものと同じハードウェアを少なくとも含んでいる。したがって、コンピュータを本願発明による第1通信装置又は第2通信装置として機能させるための後述するコンピュータプログラムがインストールされているのであれば、それら装置、機器を、本願でいう第1通信装置又は第2通信装置として機能させることが可能となる。
 通信装置100-1~100-Nがそれらの装置、機器である場合には、第1経路、第2経路、第3経路を用いて行われる後述する各通信はいずれも、自動的に実行されるのが通常である。
 通信装置100の外観の一例を図2に示す。これには限られないが、図2に示したのは、通信装置100がスマートフォンである場合の外観である。
 通信装置100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画である画像を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。通信装置100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力を通信装置100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態における通信装置100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、通信装置100がノート型パソコン、デスクトップ型パソコンである場合には、入力装置102はキーボードや、マウス等になるであろう。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
 通信装置100のハードウェア構成を、図3に示す。
 ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
 CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112、或いはRAM113に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。CPU111は演算装置であれば足り、同様の能力を持つのであれば、GPU(graphics processing unit)やGPGPU(general purpose computing on GPU)であってもよい。図示をしていないが、通信装置100のハードウェアは、HDD(hard disk drive)、SSD(solid state drive)その他のバス116に接続された大容量記録装置を備えていてもよく、コンピュータプログラムは大容量記録装置に記録されていても構わない。
 ここでいうコンピュータプログラムには、本願発明の第1通信装置と第2通信装置の双方としてこの通信装置100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、通信装置100にプリインストールされていたものであっても良いし、ポストインストールされたものであっても良い。このコンピュータプログラムの通信装置100へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。
 ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムとしては、これに限られず、通信装置100がスマートフォンであれば、通信装置100をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されていてもよい。通信装置100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
 RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。場合によっては、上述のコンピュータプログラムやデータの例えば一部が記録されていてもよい。
 インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容は、インターフェイス114からバス116に入力されるようになっている。また、周知のようにディスプレイ101に画像を表示するための画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。
 インターフェイス114は、また、インターネットであるネットワーク400を介して外部と通信を行うための公知の機器である送受信機構(図示を省略)に接続されており、それにより、通信装置100は、ネットワーク400を介してデータを送信することと、ネットワーク400を介してデータを受信することとが可能になっている。送受信機構には、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)等の各種回線による通信を実現するために必要な機器が含まれる場合がある。かかるネットワーク400を介してのデータの送受信は、有線で行われる場合もあるが無線で行われる場合もある。例えば、通信装置100がスマートフォンである場合には、かかる通信は無線で行われるのが通常であろう。それが可能な限り、送受信機構の構成は、公知或いは周知のものとすることができる。送受信機構がネットワーク400から受取ったデータは、インターフェイス114により受取られるようになっており、インターフェイス114から送受信機構にわたされたデータは、送受信機構によって、ネットワーク400を介して外部、例えば、他の通信装置100に送られるようになっている。各通信装置100がネットワーク400を介して送受信機構を使って送受信するデータの例は、いずれも追って詳述する第1暗号化データ、第2第1暗号化データ、及び第2暗号化データである。
 CPU111がコンピュータプログラムを実行することにより、通信装置100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、通信装置100を本願発明の通信装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、通信装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。その他のコンピュータプログラムには、例えば、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)等の各種回線による通信を実現するためのコンピュータプログラムが含まれる場合がある。
 通信装置100内には、本願発明の機能との関係で、データ処理部120が生成される。データ処理部120の中には、図4に示されたように、少なくとも入力部121、制御部122、暗号化部123、復号化部124、第1経路決定部125、第2経路決定部126、出力部127が生成される。
 これらのうち、入力部121と出力部127とは、ハードウェアとして見た場合には、インターフェイス114に相当し、或いはインターフェイス114の機能によって実現される。より具体的には、入力部121と出力部127は、概念としては、インターフェイス114とバス116との接続部分に相当する。
 また、制御部122、暗号化部123、復号化部124、第1経路決定部125、第2経路決定部126は、ハードウェアとしては演算装置たるCPU111に相当し、或いはCPU111と、CPU111が何らかの処理を行うために何らかのデータが必要なのであればそのデータを記録した記録装置(ROM112、RAM113、大容量記録装置)との機能によって実現される。
 入力部121は、インターフェイス114からの入力を受取るものである。
 インターフェイス114からの入力には、例えば、入力装置102によって入力された特定情報がある。特定情報は、多数の通信装置100-1~100-Nの中から、これから暗号化通信を行おうとする2つの通信装置100(以下、「特定通信装置」という場合がある。)を特定する情報である。ある通信装置100が暗号化通信を行おうとする場合、相手方の通信装置100を特定すれば当該暗号化通信を行う通信装置100が特定されることは当然であるから、特定情報は相手方の通信装置100を特定する情報のみを含むことが必要であり、それで十分である。もちろん特定情報により、通信を行う2つの通信装置100の双方が特定されても良い。
 通信を行う通信装置100を特定することを可能とするために、各通信装置100にはすべての通信装置100においてユニークな情報である識別情報が付されている。識別情報は、例えば、通信装置100のIPアドレス、電子メールアドレス(携帯電話キャリアの電子メールアドレス)、電話番号、URL、SNS(social networking service)のID等である。
 たとえば、ユーザが、暗号化通信を行う2つの通信装置100の識別情報の双方を入力装置102に入力することによって、特定情報が生成されるようになっていてもよい。他方、既に述べたように、特定情報として入力される情報を相手方の通信装置100の識別情報のみとすることもできる。その場合には、相手方の通信装置100に送信されるデータ(例えば、後述する第1暗号化データ)に、例えば制御部122或いは送受信機構が自動的に送信元の識別情報を付すようにすることもできる。それにより、通信先の通信装置100が通信元の通信装置100を把握することができるようになるので、特定通信装置の双方が、2つの特定通信装置の双方を把握できることになる。
 この実施形態ではこれには限られないが、ユーザが入力装置102を操作して暗号化通信をこれから行おうとする相手方の通信装置100を特定する情報を入力すると、その通信装置100の識別情報と相手方の通信装置100の識別情報の双方を特定する特定情報が、制御部122により自動的に生成されるようになっている。
 また、ユーザは、入力装置102を操作することにより、共有データを生成(或いは、選択)することができる。共有データは平文のデータである。共有データは、ユーザの意思によらず、通信装置100が自動的に決定する場合もある(共有データが後述する共通鍵の場合には、共有データは通信装置100によって自動的に決定される方が一般的である。)。かかる共有データは、特定通信装置が共有することを目的とするデータである。つまり、共有データは、通信装置100間での暗号化通信による送受信の対象となるデータである。例えば、かかる送受信が電子メールの送受信である場合には、そのデータは電子メールのデータになる。また、一方の通信装置100がインターネット上の仮想店舗のホームページを提供するものであって他方の通信装置100がその仮想店舗で商品を購入しようとする顧客である場合には、仮想店舗の通信装置100側から顧客の通信装置100に送られるデータは、例えば、商品の選択画面や、顧客情報、送付先情報等の記載を顧客に行わせるためのフォーマットを顧客の通信装置100に提供するためのデータであり、顧客の通信装置100側から仮想店舗の通信装置100に送られるデータは、顧客が購入対象として選択した商品及びその数量を特定する情報であったり、上述の如きフォーマットに顧客が記入を行った顧客情報、送付先情報であったりする。また、共有データは、特定通信装置がその後行う共通鍵方式の暗号化通信で用いられる、送信元の通信装置100のみが持っていて、送信元と送信先の2つの通信装置100が共通鍵方式の暗号化通信に先立って共有することが必要となる、共通鍵である場合もある。
 共有データは、テキストデータ、画像データ、音声データ等その形式を問わない。共有データは、ユーザが入力装置102を操作して入力したデータそのものである必要はなく、それに対して通信装置100が所定の情報処理を行うことによって作られたデータであってもよく、また、特定通信装置間の暗号化通信が始まるよりも前から送信元の通信装置100内に存在していた(例えば、データ処理部120内、或いはデータ処理部120外(RAM113や大容量記録装置)に記録されていた)データであっても構わない。共有データは、大容量記録装置や入力装置102からインターフェイス114を介して入力部121へと入力される。
 入力部121にインターフェイス114から入力されうるものとしては他に、第1暗号化データ、第2第1暗号化データ、第2暗号化データがある。これらは、通信の相手方の通信装置100からネットワーク400を介して送られてくる場合があるものである。これらデータはいずれも、それらが送られて来た場合には送受信機構で受取られ、送受信機構からインターフェイス114に送られてくる。
 以上のようにして、入力部121には、入力装置102から入力されるものとして特定情報が、送受信機構から入力されるものとして、第1暗号化データ、第2第1暗号化データ、第2暗号化データが、また、入力装置102等から入力されるものとして共有データが、それぞれ入力されることになる。
 入力部121は、これらを受取ると、それらをいずれも制御部122へと送るようになっている。
 制御部122は、通信装置100内のデータ処理部120内に生成された各機能ブロック全体の制御を行うものである。
 制御部122は、入力部121から特定情報と共有データとを受取る場合がある。制御部122は、特定情報と共有データとを受取った場合、特定情報と共有データとに基づく表示をディスプレイ101に行わせるためのデータを生成し、それを出力部127に送るようになっている。
 また、制御部122は、特定情報と共有データとを受取ると、特定情報が入力された通信装置100と、特定情報によって特定された相手側の通信装置100との間で暗号化通信を開始すべく、暗号化部123に共有データを送るようになっている。他方、制御部122は特定情報を第1経路決定部125又は第2経路決定部126に送るようになっている。
 また、制御部122は、他の通信装置100からネットワーク400を介して送られてきた第1暗号化データを入力部121から受取る場合がある。第1暗号化データを受取った場合、制御部122はそれを暗号化部123に送るようになっている。
 また、制御部122は、他の通信装置100からネットワーク400を介して送られてきた第2第1暗号化データを入力部121から受取る場合がある。第2第1暗号化データを受取った場合、制御部122はそれを復号化部124に送るようになっている。
 また、制御部122は、他の通信装置100からネットワーク400を介して送られてきた第2暗号化データを入力部121から受取る場合がある。第2暗号化データを受取った場合、制御部122はそれを復号化部124に送るようになっている。
 制御部122はまた、第1経路決定部125に対して第1経路を決定せよとの指示を送るようになっているとともに、第2経路決定部126に第2経路を決定せよとの指示を送るようになっている。それらの指示を制御部122がどのようなタイミングで行うかについては後述する。
 暗号化部123は、制御部122から共有データを受取る場合があり、共有データを受取った場合に、その共有データを暗号化する処理を実行するようになっている。その処理の結果、共有データは、第1暗号化データに変換される。暗号化部123は、第1暗号化データを、出力部127に送るようになっている。暗号化部123が実行する暗号化の演算は、交換法則と結合法則とを充足するものとされている。この点については後述する。
 暗号化部123は、制御部122から第1暗号化データを受取る場合があり、第1暗号化データを受取った場合に、その第1暗号化データを更に暗号化する処理を実行するようになっている。その処理の結果、第1暗号化データは、第2第1暗号化データに変換される。暗号化部123は、第2第1暗号化データを、出力部127に送るようになっている。
 復号化部124は、同じ通信装置100内の暗号化部123が実行する演算の逆演算を行うものである。つまり、復号化部124は、同じ通信装置100内の暗号化部123が平文のデータを暗号化することによって生成された暗号化データを平文に戻すことができるようになっている。
 復号化部124は、制御部122から第2第1暗号化データを受取る場合があり、第2第1暗号化データを受取った場合に、その第2第1暗号化データに対して復号化の処理を、別の言葉で言えば、第2第1暗号化データに対してその通信装置100の暗号化部123で行われた暗号化のための変換の逆変換を行う。その結果、第2第1暗号化データは、第2暗号化データになる。復号化部124は、第2暗号化データを、出力部127に送るようになっている。
 復号化部124は、制御部122から第2暗号化データを受取る場合があり、第2暗号化データを受取った場合に、その第2暗号化データに対して復号化の処理を、別の言葉で言えば、第2暗号化データに対してその通信装置100の暗号化部123で行われた暗号化のための変換の逆変換を行うものである。その結果、第2暗号化データは、平文のデータである共有データになる。復号化部124は、共有データを、出力部127に送るようになっている。
 暗号化部123、復号化部124はそれぞれ上述のようなものであるが、通信装置100のうち、最初に共有データを有していたものにおける暗号化部123と、復号化部124とが、本願でいう第1暗号化部と、第1復号化部とにそれぞれ相当する。また、通信装置100のうち、他方の通信装置100から暗号化通信によって共有データを受取る側のものにおける暗号化部123と、復号化部124とが、本願でいう第2暗号化部と、第2復号化部とにそれぞれ相当する。
 第1経路決定部125は、制御部122から第1経路を決定せよとの指示を受ける場合があり、その指示を受けた場合第1経路を決定するようになっている。また、第1経路決定部125は、第3経路を決定する場合もある。第1経路決定部125が第3経路を決定するタイミングと方法については後述する。
 第2経路決定部126は、制御部122から第2経路を決定せよとの指示を受ける場合があり、その指示を受けた場合第2経路を決定するようになっている。第2経路決定部126は、第3経路を決定する場合がある。第2経路決定部126が第3経路を決定するタイミングと方法については後述する。
 第1経路と、第2経路と、第3経路とは以下のようなものである。
 この実施形態では、特定通信装置である2つの通信装置100間で暗号化通信が行われる場合、データは2つの通信装置100間を一往復半する。仮に、2つの通信装置100のうち最初に共有データを持っていた通信装置100を「送信側の通信装置100」、送信側の通信装置100から最終的に共有データを受取る通信装置100を「受信側の通信装置100」と称するとする(以下も、このように表記することがある。)。そうすると、データは、送信側の通信装置100から受信側の通信装置100にまず送られ、次いで受信側の通信装置100から送信側の通信装置100へと送られ、最後に送信側の通信装置100から受信側の通信装置100へと送られる。このように送信側の通信装置100と受信側の通信装置100との間では、一回の暗号化通信において3回で1セットとされた送受信が行われる。
 これら3回の送受信のうち、1回目の送受信が行われる場合における送信側の通信装置100から受信側の通信装置100までのネットワーク400上の経路が第1経路であり、2回目の送受信が行われる場合における受信側の通信装置100から送信側の通信装置100までのネットワーク400上の経路が第2経路であり、3回目の送受信が行われる場合における送信側の通信装置100から受信側の通信装置100までのネットワーク400上の経路が第3経路である。
 第1経路、第2経路、及び第3経路は、第2経路と、第1経路及び第3経路の少なくとも一方とが、比較の対象となる2つの経路の始点と終点とを除いて重複しないように設定される必要がある。
 この条件は、以下の(1)から(4)のいずれかを満足する。以下の(1)から(4)における「重複」は2つの経路の一部のみが重複する場合も含む。
(1)第1経路と第2経路とが重複するものの、第3経路が第2経路と重複しない場合
(2)第3経路と第2経路とが重複するものの、第1経路が第2経路と重複しない場合
(3)第2経路と第1経路及び第3経路の双方とが重複せず、且つ第1経路と第3経路が重複する場合
(4)第2経路と第1経路及び第3経路の双方とが重複せず、且つ第1経路と第3経路が重複しない場合
 第1経路決定部125と、第2経路決定部126とは、上述の(1)から(4)のいずれかを満足するように第1経路、第2経路、第3経路のそれぞれを設定或いは決定する。第1経路決定部125と第2経路決定部126が暗号化通信を行う場合第1経路、第2経路、第3経路が満たすべき条件は、上述の(1)から(4)のいずれか1つであり続けてもよいし、上述の(1)から(4)のうちの複数であってもよい。例えば、第1経路決定部125と第2経路決定部126が暗号化通信を行う場合第1経路、第2経路、第3経路が満たすべき条件は、暗号化通信が行われるたびに、上述の(1)から(4)のうちからランダムで選択されるようになっていても構わない。
 第1経路決定部125は、第1経路を決定したら、第1経路(の少なくとも一部)を特定する情報である第1経路情報を生成し、それを出力部127へ送るようになっている。第1経路決定部125は第3経路を決定したら第3経路(の少なくとも一部)を特定する情報である第3経路情報を生成し、それを出力部127へ送るようになっている場合もある。第2経路決定部126は、第2経路(の少なくとも一部)を特定する情報である第2経路情報を生成し、それを出力部127へ送るようになっている。第2経路決定部126は、第3経路(の少なくとも一部)を特定する情報である第3経路情報を生成し、それを出力部127へ送るようになっている場合もある。
 第1経路情報と第2経路情報と第3経路情報はいずれも、出力部127から、インターフェイス114を介して送受信機構へと送られるようになっている。
 出力部127は、暗号化部123又は復号化部124から第1暗号化データ、第2第1暗号化データ、第2暗号化データを受取る場合がある。それらを受取った場合、出力部127はそれら各データをインターフェイス114を介して送受信機構へ送るようになっている。
 出力部127は第1経路決定部125から第1経路情報を、第2経路決定部126から第2経路情報を、第1経路決定部125又は第2経路決定部126から第3経路情報を受取る場合がある。それらを受取った場合出力部127は、それらデータをインターフェイス114を介して送受信機構へ送るようになっている。
 次に、この通信システムの使用方法、及び動作について、主に図5を参照して説明する。
 既に述べたように、第1実施形態の通信システムでは通信システムを構成するうちの任意の2つの通信装置100同士が通信を行う。2つの通信装置100は、他の通信を行ってももちろん構わないが、この実施形態では、2つの通信装置100の間で共有データを共有するための通信について説明する。
 まず、ある通信装置100のユーザが2つの通信装置100間で通信を行うために、そのユーザが有する通信装置100の操作を開始する(S501)。ユーザが操作を開始したその通信装置100が本願発明における第1通信装置となる。かかる操作は、入力装置102の操作によって行う。ユーザは、通信を行うために、電子メール送受信用のアプリケーションである公知或いは周知のメーラーを立ち上げたり、或いはホームページ閲覧用のアプリケーションである公知或いは周知のブラウザを立ち上げたりするなど必要な操作を行う。かかる操作の内容はインターフェイス114を介して入力部121に入力され、入力部121から制御部122へと送られる。制御部122は、かかる入力内容に基いて図外のアプリケーションで生成されたディスプレイ101に画像を表示させるための画像データを受取り、出力部127へと送る。かかる画像データは、出力部127からディスプレイ101へと送られる。かかる画像データに基づく画像がディスプレイ101に表示される。かかる画像は、例えばメーラーの画像であったり、或いはブラウザの画像だったりする。
 ユーザは、ディスプレイ101を見ながら入力装置102の操作を行い、それにより特定情報を入力する(S502)。これには限られないがこの実施形態において入力装置102によってユーザが入力するのは、通信の相手側の通信装置100を特定するための情報のみである。入力される特定情報は、相手側の通信装置100を特定するために相手側の通信装置100に割り振られた識別情報であり、後述する第1暗号化データの送信を行うための通信回線が何かによっても異なるが、例えば、特定情報は、通信装置100のIPアドレス、電子メールアドレス(携帯電話キャリアの電子メールアドレス)、電話番号、URL、SNS(social networking service)のIDである。
 かかる入力が行われている間、特定情報を入力するための操作内容は、インターフェイス114、入力部121を介して、制御部122に入力される。それを受取った制御部122は、ディスプレイ101に表示される画像のデータである画像データを生成し、出力部127、インターフェイス114を介してディスプレイ101に送る。ディスプレイ101には、ユーザが入力装置102で入力中の特定情報がリアルタイムで表示される。その表示を見ながらユーザは、特定情報の入力を行うことができる。
 例えば、識別情報が相手方の通信装置100のIPアドレスである場合において、ユーザがIPアドレスを入力装置102によって入力すると、その内容は、インターフェイス114、入力部121を介して制御部122に送られる。そのデータを受取った制御部122は、その通信装置100のIPアドレスと通信の相手方の通信装置100のIPアドレスとを含んだ特定情報を自動的に生成する。
 特定情報の入力が終わると、制御部122は、暗号化部123に、共有データを送るとともに、共有データを暗号化せよとの指示を送る。なお、必ずしもこの限りではないが、特定情報の入力が終わった後の本願における第1通信装置にあたるこの通信装置100における処理は、少なくとも相手方の通信装置100への後述するような第2暗号化データの送信が完了するまで、ユーザの入力装置102の操作を必要とせず、自動的に行われる。上述の指示に基いて、暗号化部123は、共有データを暗号化するための変換を行う(S503)。なお、これには限られないが、この実施形態では、「PPP」という文字列のデータが共有データであるとする。暗号化の方法の詳細については、後述する。暗号化部123で共有データが暗号化された結果生成されるのが、第1暗号化データである。第1暗号化データは、後述するように、PPPに右下がりの斜線でハッチングをすることにより、PPPという文字列が暗号化部123で暗号化された結果第1暗号化データになったということを示すものとする。
 暗号化部123は、第1暗号化データを出力部127に送る。第1暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 制御部122が共有データを暗号化部123に送るのと前後して、制御部122は、第1経路決定部125に特定情報と、第1経路を決定せよとの指示を送る。
 この指示を受け、第1経路決定部125は、特定情報で特定される相手側の通信装置100までの第1暗号化データの送信経路である第1経路を決定し、第1経路情報を生成する(S503)。第1経路情報は、第1経路決定部125から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。
 送受信機構は、第1暗号化データを、ネットワーク400を介して、特定情報(例えば、特定情報に含まれた相手方の通信装置100のIPアドレス)によって特定される通信装置100に対して送信する(S504)。送信されるPPPの文字列は、暗号化部123で暗号化されたものであるので、右下がりの斜線でハッチングされている。また、第1暗号化データとともに特定情報が相手方の通信装置100へと送られる。
 このときに第1暗号化データは、ネットワーク400上の第1経路を辿って相手方の通信装置100へと送られる。
 この通信を行うとき、殆どの場合、本願発明の第1通信装置と第2通信装置の双方としてこの通信装置100を機能させるためのコンピュータプログラムは、第1経路を用いての通信を実現するために通信装置100としてのコンピュータに実装されている他のコンピュータプログラム(例えば、インターネット回線、通信キャリア回線、SMSの回線等を用いた通信を実現するためのコンピュータプログラム(或いはそのコンピュータプログラムに加えてそのコンピュータプログラムに付随するデータとハードウェア))と協働して、第1経路を用いた通信を実現する。これは、第2経路、第3経路を用いて2つの通信装置100が通信を行う場合も同様である。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、第1暗号化データをその送受信機構で受取る(S601)。第1暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第1暗号化データは、入力部121から制御部122へと送られる。なお、この限りではないが、この実施形態では、S601の処理から始まる、S602、S603、S604、S605(いずれも後述)の処理はすべて自動的に実行される。
 第1暗号化データを受取った制御部122は、暗号化部123へ、第1暗号化データと、第1暗号化データに対して暗号化の処理を行えとの指示とを送る。この指示に基いて、暗号化部123は、第1暗号化データを暗号化するための変換を行う(S602)。暗号化の方法の詳細については後述する。暗号化部123で第1暗号化データが復号化されることなく更に暗号化された結果生成されるのが、第2第1暗号化データである。第2第1暗号化データは、後述するように、PPPという文字列に右下がりの斜線に加え左下がりの斜線でハッチングをすることにより、PPPという文字列が、本願の第1通信装置にあたる通信装置100の暗号化部123で暗号化され、更に本願の第2通信装置にあたる通信装置100の暗号化部123でも暗号化されたということを示すものとする。
 生成された第2第1暗号化データは、暗号化部123から出力部127へ送られる。第2第1暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 第1暗号化データを受取った制御部122は、暗号化部123へ第1暗号化データを送るのと前後して、第2経路決定部126に対して第2経路を決定せよとの指示を送る。
 この指示を受け、第2経路決定部126は第2経路を決定し、第2経路情報を生成する(S602)。第2経路情報は、第2経路決定部126から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。
 送受信機構は、特定情報に含まれていた、第2経路情報にしたがい、第1通信装置に相当する通信装置100に対してネットワーク400を介して第2第1暗号化データを送信(返信)する(S603)。
 このときに第2第1暗号化データは、ネットワーク400上の第2経路を辿って相手方の通信装置100へと送られる。上述したように、第2経路は、その始点と終点を除けば第1経路と重複しないネットワーク400上の経路である。
 本願発明における第1通信装置に相当する、通信装置100は、第2第1暗号化データをその送受信機構で受取る(S505)。第2第1暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2第1暗号化データは、入力部121から制御部122へと送られる。
 第2第1暗号化データを受取った制御部122は、復号化部124へ、第2第1暗号化データと、第2第1暗号化データに対して、暗号化部123が行った変換の逆変換を行えとの指示を送る。この指示に基いて、復号化部124は、第2第1暗号化データに対して、当該通信装置100内の暗号化部123が共有データを第1暗号化データにしたときに行った変換と逆の変換を行う(S506)。復号化の方法の詳細については後述する。復号化部124で第2第1暗号化データに対して復号化の処理を実行した結果生成されるのが、第2暗号化データである。これは、既に述べたように、平文の共有データを、本願発明における第2通信装置100に相当する通信装置100における暗号化部123で暗号化した場合に得られるデータと同じである。図5において、第2暗号化データは、PPPという文字列に左下がりの斜線のみを含むハッチングがなされているが、これは、PPPという平文の文字列が、本願でいう第2通信装置としての通信装置100の暗号化部123で暗号化された状態のデータであるということを示している。
 生成された第2暗号化データは、復号化部124から出力部127へ送られる。第2暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 送受信機構は、例えば、第1経路情報の終点を示す特定情報を参照し、当該特定情報で特定される通信装置100に対してネットワーク400を介して第2暗号化データを送信する(S507)。本願の第1通信装置に相当する通信装置100の送受信機構は、かかる送信に必要であれば、本願の第1通信装置に相当する通信装置100が用いた上述の識別情報とは異なる種類の識別情報、例えば、SNSのアカウント、携帯電話番号、キャリアメールの電子メールアドレス等を用いてかかる送信を行う。もちろん、公知或いは周知技術でそうであるように、2つの通信装置100は、ある通信回線を用いて通信を行う場合、その通信回線を用いて通信を行うために必要な相手方の通信装置100の識別情報を予め把握しており、RAM113や大容量記録装置に予め記録している状態となっている。
 このときに第2暗号化データは、ネットワーク400上の第3経路を辿って相手方の通信装置100へと送られる。これには限られないが、この実施形態では第3経路は第1経路と同じである。送受信機構は、先に受取っていた第1経路情報を用いて、ネットワーク400上の第1経路と同じ第3経路を辿るようにして、第2暗号化データを、相手方の通信装置100へと送ることができる。
 なお、第3経路を用いて本願の第1通信装置に相当する通信装置100から本願の第2通信装置に相当する通信装置100へ第2暗号化データが送られるに先立って、第1経路決定部125から出力部127、インターフェイス114を介して送受信機構へ第3経路情報が送られる場合もある。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、第2暗号化データをその送受信機構で受取る(S604)。第2暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2暗号化データは、入力部121から制御部122へと送られる。
 第2暗号化データを受取った制御部122は、復号化部124へ、第2暗号化データと、第2暗号化データに対して暗号化部123が行った変換の逆変換を行えとの指示とを送る。この指示に基いて、復号化部124は、第2暗号化データに対して、暗号化部123が行ったのと逆の変換を行う(S605)。復号化の方法の詳細については後述する。復号化部124で第2暗号化データが復号化された結果生成されるのが、平文の共有データである。これにより、本願発明でいう第2通信装置たる通信装置100は、本願発明でいう第1通信装置たる通信装置100がそもそも持っていた共有データを、暗号化されていない平文の状態で、持つに至る。第2通信装置に相当する通信装置100は、共有データの共有が完了するまで、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれからも、元の共有データの内容を把握することはできない。しかしながら、復号化部124による復号化のための変換が終了した場合に、平文の共有データを手に入れることができるのである。
 以上により、本願発明でいう第1通信装置と第2通信装置に相当する2つの通信装置100は、共有データを共有することになる。
 2つの通信装置100で共有されるに至るまでに2つの通信装置100の間を送受信されるデータには、平文の状態の共有データは存在しない。2つの通信装置100の間を送受信される場合、共有データは、第1暗号化データ、第2第1暗号化データ、又は第2暗号化データという暗号化された状態とされる。これによって、2つの通信装置100間で一往復半の暗号化されたデータの送受信を行う以上で説明した暗号化通信は、2つの通信装置100が安全に共有データを共有することができるものとなる。
 しかも、S501からS605までにわたる暗号化通信を実行するにあたり、特定通信装置である2つの通信装置100は、例えば共通鍵方式の暗号化通信を行う場合に必要である、何らかの情報の共有が必要ない。したがって、以上で説明した暗号化通信は、鍵配送問題を解決するものとなる。
 更に、2つの通信装置100間で第1暗号化データが辿るネットワーク400上の第1経路と、第2第1暗号化データが辿るネットワーク400上の第2経路とは、その始点と終点とを除いて異なるものとなる。したがって、悪意の第三者が第1暗号化データと第2第1暗号化データの双方を入手することができなくなる。これは、2つの通信装置100間で一往復半の暗号化されたデータの送受信を行う以上で説明した暗号化通信に存在したほとんど唯一と考えられる脆弱性を解消できるということを意味する。
 2つの通信装置100における暗号化部123、復号化部124で行われるデータ変換について、詳述する。
 上述したように、この実施形態において、共有データは、本願の第1通信装置にあたる通信装置100の暗号化部123で暗号化(変換)されて第1暗号化データになり、次いで本願の第2通信装置にあたる通信装置100の暗号化部123で暗号化(変換)されて第2第1暗号化データになり、次いで本願の第1通信装置にあたる通信装置100の復号化部124で復号化(変換)されて第2暗号化データになり、最後に本願の第2通信装置にあたる通信装置100の復号化部124で復号化(変換)されて元の共有データに戻る。
 これが可能となるには、本願の第1通信装置に相当する通信装置100における暗号化部123と復号化部124とで実行される暗号化と復号化(逆変換)、及び本願の第2通信装置に相当する通信装置100における暗号化部123と復号化部124とで実行される暗号化と復号化(逆変換)が、交換法則と結合法則との双方を充足できるものであることを必要する。この点について、詳述する。
 平文の状態の共有データをPとすることにする。Pは、所定のデータ列である。暗号化部123で共有データであるPに対して行われる暗号化のための演算を「×A」と、暗号化部123で第1暗号化データに対して行われる暗号化のための演算を「×B」と、復号化部124で第2第1暗号化データに対して行われる暗号化部123で行われた演算の逆演算を「×A-1」と、復号化部124で第2暗号化データに対して行われる暗号化部123で行われた演算の逆演算を「×B-1」と、それぞれ示すことにする。なお、上述の「×」の記号は当然に、単純な積の演算を意味するものではない。
 そうすると、第1暗号化データは、「P×A」と示すことができる。
 第2第1暗号化データは、「(P×A)×B」と示すことができる。
 第2暗号化データは、「P×B」と示すことができる。
 ここで、問題となるのは、復号化部124で行われる、第2第1暗号化データである「(P×A)×B」に対して「×A-1」の演算を行うことにより、「P×B」を得るための演算である。復号化部124で行われる第2暗号化データを共有データPに戻す「(P×B)×B-1」という演算は、一般的な復号化の演算であるから、こちらについては通常の暗号化、復号化について存在する以上の特段の困難はない。復号化部124で行われる上述の演算が成立するためには、A×A-1、或いはB×B-1の演算は、元のデータPに対して何の演算も行っていない状態とする(或いは、暗号化したものを復号化して元に戻す)処理(つまり、極普通の暗号化と復号化の処理)だと仮定した上で、「((P×A)×B)×A-1=P×B」が成り立たなければならない。その場合の変形は例えば、以下のようなものとなる。
  ((P×A)×B)×A-1
 →(P×(A×B))×A-1
 →(P×(B×A))×A-1
 →((P×B)×A)×A-1
 →(P×B)×(A×A-1
 →P×B
 つまり、本願の第1通信装置に相当する通信装置100における暗号化部123と復号化部124で実行される暗号化と復号化、及び本願の第2通信装置に相当する通信装置100における暗号化部123と復号化部124で実行される暗号化と復号化は、上述の如く、×A、×Bという演算の順番を入れ替えることが可能なものでなければならない。また、上述の演算は、P×(B×A)と(P×B)×Aとが等価なものでなければならない。つまり、本願の第1通信装置に相当する通信装置100における暗号化部123と復号化部124で実行される暗号化と復号化、及び本願の第2通信装置に相当する通信装置100における暗号化部123と復号化部124で実行される暗号化と復号化は、演算を「×」で表し、演算の対象を「F」、「G」、「H」と表したときに、「F×G=G×F」という交換法則と、「(F×G)×H=F×(G×H)」という結合法則とがそれぞれ成立するものである必要がある。
 「((P×A)×B)×A-1=P×B」という式の変形を許容するための上述の条件を満足させるための演算の例を幾つか挙げる。
 その一例として、排他的論理和の演算を挙げることができる。排他的論理和を用いてあるデータ列Pを暗号化する場合には、データ列であるPと、異なるデータ(鍵)との排他的論理和を取ることによって実行される。以下も同様であるが、Pのデータ長が長いのであれば、Pを多数のデータに分割してそれぞれのデータに対して上述の演算を行うのが一般的である。本願の第1通信装置に相当する通信装置100の暗号化部123と復号化部124とで暗号化と復号化のために用いられる鍵と、本願の第2通信装置に相当する通信装置100の暗号化部123と復号化部124とで暗号化と復号化のために用いられる鍵とは、同じものであっても良いが、同じものでなくても良い。つまり、共有データを共有しようとする2つの通信装置100は、同じ鍵を持たなくとも、各々が持つ鍵を用いて排他的論理和の演算を行うことが可能であり、そうしたとしても上述の「((P×A)×B)×A-1=P×B」という式の変形を実現させることができるのである。2つの通信装置100で実行される暗号化のための演算は、交換法則と結合法則が成り立つ限り、同じものである必要がない。
 なお、排他的論理和の演算は、同じ演算を2回繰り返すことにより、元のデータ列に戻るという性質を持つ。つまり、(P×A)×A→P×(A×A)→Pである。この場合においては、暗号化部123で実行される演算「×A」と、復号化部124で実行される演算「×A-1」とが同じものとなる。そのような場合には、暗号化部123と、復号化部124とを異なるものとする利益はないので、例えば復号化部124を省略して、暗号化部123で暗号化と復号化のための演算の双方を実行するようにしても良い。
 暗号化部123と復号化部124とで行われる排他的論理和の演算に用いられる鍵が、暗号化の対象となるデータ(この実施形態でいえば共有データ、又は第1暗号化データ)のデータ量と同じかそれ以上のデータ量(情報量)を持ち、一度しか利用されず、且つ完全な乱数である場合、暗号化されたデータ(この実施形態でいえば第1暗号化データ、又は第2第1暗号化データ)から、元のデータ(この実施形態でいえば共有データ、又は第1暗号化データ)を如何なる方法を用いても導き出すことができない、ということが既に数学的に証明されている。
 したがって、暗号化部123と復号化部124とで用いる演算を排他的論理和の演算とすることは、それら演算が交換法則と結合法則との双方を満足するという条件を満たすことに加え、この実施形態における暗号化通信の安全性を高めるために有用である。
 このような演算を実用化するには、上述の如き乱数である鍵を次々に発生させることが必要である。それは、2つの通信装置100に乱数発生器(ハードウェア的なものである必要はない)が実装されていれば実現可能である。乱数発生器で発生させた鍵を、暗号化部123と復号化部124とに供給できるようにしておけば、暗号化部123と復号化部124とは、数学的に完全に解読不可能な上述した方法での暗号化と復号化の処理を実行可能となる。例えば、乱数発生器は、通信装置100を本願でいう第1通信装置又は第2通信装置として機能させるための上述のコンピュータプログラムの機能によって、例えばRAM113とCPU111によって実現することができる。
 「((P×A)×B)×A-1=P×B」という式の変形を許容するための上述の条件を満足させるための演算の他の例は、循環シフト(バレルシフト)である。
 循環シフトは、ある長さのデータ列が存在する場合であって、そのデータ列の右端と左端が繋がっているとみなした上で、そのデータ列全体を所定の文字数だけ、右又は左にシフトさせるというものである。例えば、右に3文字ずつデータ列全体をシフトさせる、とした場合には、データ列の右端から3文字が削除されるとともに削除された3文字がその順序を保ちながらデータ列の左端に付加され、データ列のその他の部分が3文字分ずつ右側にずらされる。この場合「右に3文字ずつ」というのが、かかる暗号化を行う場合の鍵になる。
 例えば、本願の第1通信装置にあたる通信装置100の暗号化部123で「右にN文字ずつ」という鍵を用いた共有データの変換を行い(この結果生成されるのが第1暗号化データである)、本願の第2通信装置にあたる通信装置100の暗号化部123で「右にM文字ずつ」という鍵を用いた第1暗号化データの変換を行った場合(この結果生成されるのが第2第1暗号化データである)、本願の第1通信装置にあたる通信装置100の復号化部124で「左にN文字ずつ」という鍵を用いた第2第1暗号化データの変換(共有データに行った変換の逆変換)を行えば、それは、元の共有データ中の文字が、「右にM文字ずつ」ずれた状態となる。これは共有データに対して本願の第2通信装置にあたる通信装置100の暗号化部123が暗号化のための変換を行った場合に得られるデータ列に等しいから、上述した「((P×A)×B)×A-1=P×B」という式の変形が実現しているということを意味する。
 この場合復号化部124で、「左にM文字ずつ」という鍵を用いた変換を行うと、第2暗号化データは、元の共有データに戻ることになる。
 「((P×A)×B)×A-1=P×B」という式の変形を許容するための上述の条件を満足させるための演算の他の例は、四則演算を利用したものがある。
 例えば、本願の第1通信装置にあたる通信装置100の暗号化部123で、あるデータ列に対して「N」という数値を加えるというデータの変換を行うとする。この場合、「N」という数値が本願発明における第1通信装置たる通信装置100における鍵となる。次いで、本願の第2通信装置にあたる通信装置100の暗号化部123で、本願の第1通信装置にあたる通信装置100の暗号化部123で変換されたデータ列に対して「M」という数値を加えるというデータの変換を行うとする。次いで、本願の第1通信装置にあたる通信装置100の復号化部124で、暗号化部123で変換されたデータ列から、「N」という数値を減じるという変換を行うとする。そうすると、その変換後のデータ列は、本願の第1通信装置にあたる通信装置100の第1暗号部123で変換を行われる前の元のデータ列(共有データ)に、「M」という数値を加えたものとなる。これは共有データに対して本願の第2通信装置にあたる通信装置100の暗号化部123が暗号化のための変換を行った場合に得られるデータ列に等しい。
 したがって、両通信装置100の暗号化部123と復号化部124とが上述の如き演算を行う場合にも、上述した「((P×A)×B)×A-1=P×B」という式の変形が実現している。
 この場合復号化部124で、「M」という数値を減じるという変換を行うことにより、第2暗号化データは、元の共有データに戻ることになる。
 他の四則演算を用いた場合においても、同様に、「((P×A)×B)×A-1=P×B」という式の変形を実現できることになる。
 いずれにせよ、本実施形態では、本願発明における第1通信装置と第2通信装置とにそれぞれ相当する2つの通信装置100の間で共有データが共有されることになる。共有データは、例えば、本願の第2通信装置に相当する通信装置100における制御部122に送られてそこで保存され、場合によってはデータ処理部120外に送られ適宜に利用される。共有データは、出力部127、インターフェイス114を介して、当該通信装置100が備えるRAM113や大容量記録装置に送られそこに保存される場合がある。
 共有データは、2つの通信装置100が、共有データを共有した後に公知或いは周知の共通鍵方式の暗号化通信を行う際に用いられる共通鍵、又は2つの通信装置100が同じ共通鍵を各々独自に生成する或いは選択するために用いられる秘密の情報とすることができる。これによれば、2つの通信装置は、共有データであった同一の共通鍵を用いて、又は共有された共有データから生成等された同一の共通鍵を用いて、以後において、共通鍵方式の暗号化通信を行うことが可能となる。
 或いは、共通鍵方式の暗号化通信を行わないこととするとともに、2つの通信装置100の間のデータの送受信を、当初から上述した方法で行うようにすることも可能である。本願における共有データの共有の過程は、ある通信装置100から他の通信装置100への共有データの送信の過程と捉えることが可能である。したがって、2つの通信装置100の間で送受信されるデータの例えばすべてを共有データと捉え、2つの通信装置100の間での通信を上述した第1暗号化データ、第2第1暗号化データ、第2暗号化データによるものとすれば、2つの通信装置100の間でのデータの送受信が、共通鍵方式の暗号化通信ではない新たな方式の暗号化通信で実行されることになる。
 なお、以上の実施形態では、すべての通信装置100が本願発明でいう第1通信装置と第2通信装置のいずれの役割をも果たすことができた。
 もっとも、通信装置100のうち本願でいう第1通信装置としてしか機能する必要がないことが明らかなもの、或いは本願でいう第2通信装置としてしか機能する必要がないことが明らかなものは、それらのうちの一方として機能するのに必要な機能のみを備えていれば十分である。
 例えば、通信装置100のうちの1つが、ユーザが所有する通信装置100にホームページを閲覧させるサーバである場合、このサーバにユーザが所有する通信装置100からアクセスすることはあっても、サーバからユーザが所有する通信装置100にアクセスすることはない、という状況はよくある。この場合、サーバである通信装置100は、本願発明でいう第2通信装置としての性格しか持つ必要がなくなる。他方、このような場合においては、ユーザが所有する通信装置100のうちの例えば幾つかを、本願発明でいう第1通信装置としての性格しか持たないようにすることも可能である。
 この実施形態における通信システムによる暗号化通信は以上で説明したようなものであるが、第1経路、第2経路、第3経路は、第2経路が、第1経路と第3経路との少なくとも一方と、その始点と終点とを除いて重複しないという関係となっている。そのような第1経路、第2経路、及び第3経路を、本願でいう第1通信装置にあたる通信装置100における第1経路決定部125と、本願でいう第2通信装置にあたる通信装置100における第2経路決定部126とがどのように決定するかについて、以下説明する。
 以下、「1.第1経路と第2経路とが始点と終点とを除いて重複しないようにされる場合」と、「2.第2経路と第3経路とが始点と終点とを除いて重複しないようにされる場合」のそれぞれについて説明する。
 上述の1については、「1-1.第1経路と第2経路とが予め(少なくともその一部が)決定されている場合」、「1-2.第2経路を本願でいう第2通信装置にあたる通信装置100が決定する場合」、「1-3.第2経路を本願でいう第1通信装置にあたる通信装置100が決定する場合」の3通りについて説明する。
 上述の2については、「2-2.第3経路を本願でいう第1通信装置にあたる通信装置100が決定する場合」、「2-3.第3経路を本願でいう第2通信装置にあたる通信装置100が決定する場合」の2通りについて説明する。
 以下、それぞれについて順に説明する。
<1-1.第1経路と第2経路とが予め(少なくともその一部が)決定されている場合>
 第1経路と第2経路とが予め決定される場合について説明する。この場合においても、幾つかのケースが考えられる。
 第1のケースは以下のようなものである。
 第1のケースでは、特定通信装置である2つの通信装置100のうち、本願でいう第1通信装置にあたる通信装置100と、第2通信装置にあたる通信装置100とはともに、インターネット回線、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のうちの共通する少なくとも2つの通信を行うことができるようになっている。
 例えば、2つの通信装置100はともに、インターネット回線と、SMSという異なる2つの通信回線での通信を行うことができるようになっているとする。両通信装置100は、互いに共通する2つの通信回線で通信可能であることを把握しているものとする。例えば、2つの通信装置100の所有者が予め電子メールや、SNSで連絡を取合い、自己の通信装置100に、互いの通信に用いることのできる2つの通信回線を登録しておけば良い。互いの通信に用いることのできる2つの通信回線を特定する情報は、例えば、入力装置102の操作により自己の通信装置100に記録することができる。2つの通信装置100における入力装置102から入力された2つの通信回線を特定する上記情報は、インターフェイス114、入力部121、制御部122を介して、例えば第1経路決定部125と、第2経路決定部126のそれぞれに記録される。ハードウェアの観点からすれば、第1経路決定部125と、第2経路決定部126において2つの通信回線を特定する上記情報を記録するのは、RAM113か大容量記録装置といった、通信装置100が備える記録媒体となる。
 特定通信装置である2つの通信装置100がともに、両通信装置100がそれらの間での通信に用いることができる2つの、或いはそれ以上の通信回線を把握した状態となっているのであれば、それら2つの通信装置100にはそれぞれ、その通信装置100が本願でいう第1通信装置として機能する場合には第1経路として上記2つの通信回線のうちの一方を用い、その通信装置100が本願でいう第2通信装置として機能する場合には第2経路として上記2つの通信回線のうちの他方を用いるという情報をそれぞれ記録しておくことができる。例えば、以上で説明した例に倣うのであれば、両通信装置100の第1経路決定部125には、第1経路としてインターネット回線を用い、第2経路決定部126には、第2経路としてSMSの回線を用いる、という情報を記録しておくことができる。これら情報は、2つの通信回線を特定する上記情報を第1経路決定部125と第2経路決定部126に記録するときと同様に2つの通信装置100のユーザが示し合わせた上で決定することもできるし、或いは通信装置100を本願でいう通信装置として機能させるためのコンピュータプログラムの機能により、公知或いは周知技術を用いて、例えば自動的に(ユーザの意思によらず)決定することもできる。また、ハードウェアの観点からすれば、第1経路決定部125と、第2経路決定部126において上記情報を記録するのは、RAM113か大容量記録装置といった、通信装置100が備える記録媒体とすることができる。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、第1経路を予め定められていたインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第1経路情報を生成する。第1経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路を予め定められていたSMSの回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路情報は、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるSMSの回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなったので、第1経路、第2経路、第3経路が満たすべき本願発明で要求される条件(第2経路が、第1経路及び第3経路の少なくとも一方と、その始点と終点を除いて重複しないという条件:以下「経路条件」と称する。)が充足されることになる。
 既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は例えば、先に受取っていた第1経路情報(これは、事実上第3経路情報に相当する。)にしたがって、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第1経路は第3経路と始点から終点まで同一となりうるが、それは許容される。この例は、予め設定しておくことにより第2経路と第1経路とを始点と終点とを除いて重複させない例でもあるが、予め設定しておくことにより第2経路と第3経路とを始点と終点とを除いて重複させない例でもある。
 もっとも第3経路は、第1経路とは異なる経路として予め設定されていても構わない。例えば、本願の第1通信装置に相当する通信装置100における第1経路決定部125に第1経路とは異なる第3経路を特定する情報(例えば、第3経路として通信キャリア回線を用いるという情報)が記録されている場合、第1経路決定部125は、第3経路を用いての第2暗号化データの送信が行われる前に、当該第3経路情報を、出力部127、インターフェイス114を介して送受信機構へ送る。その第3経路情報にしたがって、本願の第1通信装置に相当する通信装置100の送受信機構は、本願の第2通信装置に相当する通信装置100に対して第3経路を辿るようにして第2暗号化データを送信する。
 以上の3つの通信における経路(第3経路は第1経路と同じ場合である)を、図6(A)に概念的に示す。
 この場合、第1経路は、インターネット回線上の経路であり、第2経路は、SMSの回線上の経路である。したがって、両経路は必然的に、両経路の始点と終点とを除いて異なる経路となる。
 この場合、第1経路決定部125が生成する第1経路を特定する第1経路情報は、第1経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第1経路がインターネット回線上の経路である」ということを特定するものであれば足りる。同様に、第2経路決定部126が生成する第2経路を特定する第2経路情報は、第2経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第2経路がSMS回線上の経路である」ということを特定するものであれば足りる。第1経路情報と同じであるか否かに関わらず第3経路情報も同様である。
 続いて第2のケースについて説明する。
 第1経路と第2経路とが予め決定される場合における第1のケースは上述のように、第1経路と第2経路の片方がインターネット回線上の経路であり、他方がインターネット回線ではない他の回線上の経路である場合であった。
 他方、第2のケースでは、第1経路と第2経路の双方がともにインターネット回線ではなく、異なる2種類の回線上の経路として設定される。
 以下に説明する第2のケースでは、第1経路がマルティメディアメッセージサービス(MMS)の回線上の経路とされ、第2経路がプライベートネットワークの回線上の経路とされる。もちろんこれら2つの回線は例示である。
 第1のケースで述べたのと同様の事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、第1経路を予め定められていたMMSの回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第1経路情報を生成する。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるMMSの回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路を予め定められていたプライベートネットワークの回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるプライベートネットワークの回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなった。それにより既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は例えば、先に受取っていた第1経路情報にしたがって、第2暗号化データを、ネットワーク400の一部であるMMSの回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第1経路は第3経路と始点から終点まで同一となりうるが、これは必ずしもこの限りではない。この例は、予め設定しておくことにより第2経路と第1経路とを始点と終点とを除いて重複させない例でもあるが、予め設定しておくことにより第2経路と第3経路とを始点と終点とを除いて重複させない例でもある。
 以上の3つの通信における経路を、図6(B)に概念的に示す。
 この場合、第1経路は、MMSの回線上の経路であり、第2経路は、プライベートネットワークの回線上の経路である。したがって、両経路は必然的に、両経路の始点と終点とを除いて異なる経路となる。
 したがって、第1経路決定部125が生成する第1経路を特定する第1経路情報は、第1経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第1経路がMMSの回線上の経路である」ということを特定するものであれば足りる。同様に、第2経路決定部126が生成する第2経路を特定する第2経路情報は、第2経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第2経路がプライベートネットワークの回線上の経路である」ということを特定するものであれば足りる。第1経路情報と同じであるか否かに関わらず第3経路情報も同様である。
 続いて第3のケースについて説明する。
 第1経路と第2経路とが予め決定される場合における第1、第2のケースは上述のように、第1経路と第2経路の一方と他方とが、異なる回線上の経路である場合であった。
 他方、第3のケースでは、第1経路と第2経路の双方がともにインターネット回線上の経路として設定される。
 第3のケースでは、当然に、本願でいう第1通信装置に相当する通信装置100と、本願でいう第2通信装置に相当する通信装置100とはともに、インターネット回線による通信が可能である必要がある。そのことを両通信装置100が事前に確認した上で、以下に説明するような第1経路情報と第2経路情報とをそれぞれ生成するために必要なデータが、両通信装置100の第1経路決定部125と第2経路決定部126とに記録される。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、第1経路を予め定められていたインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第1経路情報を生成する。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路を予め定められていたインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなった。それにより既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は例えば、先に受取っていた第1経路情報にしたがって、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第3経路は第1経路と始点から終点まで同一となりうるが、それは許容される。この例は、予め設定しておくことにより第2経路と第1経路とを始点と終点とを除いて重複させない例でもあるが、予め設定しておくことにより第2経路と第3経路とを始点と終点とを除いて重複させない例でもある。
 以上の3つの通信における経路を、図6(C)に概念的に示す。図6(C)におけるインターネット回線に含まれる401の符号が付されたものは、インターネット通信を実現するための機器である通信機器である。通信機器401は、公知或いは周知の機器でよく、例えば、サーバやルータ、スイッチ、或いは通信キャリア等が所有するコアルータ、コアスイッチ、ソフトスイッチである。
 この場合、第1経路と第2経路はともに、インターネット上の経路であるから、2つの経路がそれらの始点と終点とを除いて重複しないようにするためのアプローチとして、異なる回線を用いるというアプローチを用いることができない。
 この実施形態では、第1通信装置としての通信装置100から第2通信装置としての通信装置100へと第1暗号化データを送信するための第1経路と、第2通信装置としての通信装置100から第1通信装置としての通信装置100へと第2第1暗号化データを送信するための第2経路とが、同一の通信機器401を含まない経路となるように、第1経路と第2経路とを設定するようにしている。
 なお、現在においては、バーチャルパス、バーチャルサーキットの技術を使い、同一通信機器でも仮想的に経路を分けている技術が汎用されている。そのような技術を用いる場合には、通信機器(スイッチ等)もソフトウェアスイッチとして仮想化されている。例えば、エヌ・ティ・ティ・コミュニケーションズ株式会社が提供するUNO(商標)、KDDI株式会社が提供するWVS2(商標)などのソフトウェアスイッチのサービスがこれに該当する。2つの通信経路が同一の通信機器401を含む場合であっても、この段落で述べたような技術を用いることによって結果的に2つの経路が重複するスイッチを通過しないようになっている場合には、本願では2つの経路が「同一の通信機器401を含まない」ようになっているものとする。これは、通信機器401について言及する以下に説明する例でも同様である。
 ただし、第1通信装置としての通信装置100から出て最初に位置する第1経路上の通信機器401Xは、第2経路の通過点にもなっている。例えば、第1通信装置としてのスマートフォンである通信装置100が、インターネット回線に、当該通信装置100とWi-Fi(商標)接続されたルータを介して接続される場合がある。そのような場合には、当該ルータ(通信機器401X)が、第1通信装置としての通信装置100から見た場合における第1経路の始点と、第2経路の終点とに該当することが不可避である。そのような場合においては、第1経路と第2経路とを2つの経路が完全に重複しないように設定することは困難である。そのような点を考慮して、図6(C)に示した例では、2つの経路を、始点と終点とを除いて重複しないように設定することで、2つの経路が重複する範囲を最小限に留めることとしているのである。もちろん、第1経路と第2経路とがその全長において完全に重複しない方が良く、そのような経路を利用できるのであればその方が好ましい。
 このような第1経路と第2経路とを実現するには、2つの通信装置100はともに、インターネット回線を用いた通信を行うことができるだけでなく、始点と終点とを除いて重複しないように第1経路と第2経路とをそれぞれ設定することができるようになっていなければならない。そして、2つの通信装置100における第1経路決定部125と第2経路決定部126とは、それを可能とするような第1経路情報と第2経路情報とをそれぞれ生成することができるようになっている必要がある。
 第1経路情報、第2経路情報を生成するには、送信側の装置が通信経路を定める技術、例えば、ソースルーティングや或いはその応用であるセグメントルーティングや、MANET(また、その具体的な応用例としてのDSR)を用いることができる。
 例えば、この実施形態における2つの通信装置100の第1経路決定部125は、当該通信装置100から相手側の通信装置100に至る第1経路上に位置するすべての通信機器401を特定する情報(例えば、第1経路上に並ぶことになる通信機器401を順に特定する情報である、各通信機器401のIPアドレスを1セットとしたデータ)を第1経路情報として生成する。他方、2つの通信装置100の第2経路決定部126は、当該通信装置100から相手側の通信装置100に至る第2経路上に位置するすべての通信機器401を特定する情報(例えば、第2経路上に並ぶことになる通信機器401を順に特定する情報である、各通信機器401のIPアドレスを1セットとしたデータ)を第2経路情報として生成する。例えば、両通信装置100の第1経路決定部125と第2経路決定部126とに上述したような第1経路情報と第2経路情報とが予め記録されており、且つ第1経路決定部125と第2経路決定部126とが、記録されていたそれらの情報を第1経路情報と第2経路情報として出力部127から送受信機構に送るようになっていれば、それら2つの通信装置100が暗号化通信を行う場合の第1経路と第2経路とは、常に同一となる。ハードウェアの観点からすれば、第1経路決定部125と、第2経路決定部126において2つの通信回線を特定する上記情報を記録するのは、RAM113か大容量記録装置といった、通信装置100が備える記録媒体となる。
 例えばそのようにすることにより、第1経路と第2経路とは、図6(C)に示したように、その始点と終点とを除けば、重複しない経路となる。
<1-2.第2経路を本願でいう第2通信装置にあたる通信装置100が決定する場合>
 第2経路を第2通信装置にあたる通信装置100が決定する場合においても、幾つかのケースが考えられる。
 第1のケースは以下のようなものである。
 第1のケースでは、特定通信装置である2つの通信装置100のうち、本願でいう第1通信装置にあたる通信装置100と、第2通信装置にあたる通信装置100とはともに、インターネット回線、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のうちの共通する少なくとも2つの通信を行うことができるようになっている。
 例えば、2つの通信装置100はともに、インターネット回線と、SMSという異なる2つの通信回線での通信を行うことができるようになっているとする。また、両通信装置100は、互いに共通する2つの通信回線で通信可能であることを把握しているものとする。例えば、2つの通信装置100の所有者が予め電子メールや、SNSで連絡を取合い、自己の通信装置100に、互いの通信に用いることのできる2つの通信回線を登録しておけば良い。互いの通信に用いることのできる2つの通信回線を特定する情報は、例えば、入力装置102の操作により自己の通信装置100に記録することができる。2つの通信装置100における入力装置102から入力された2つの通信回線を特定する上記情報は、インターフェイス114、入力部121、制御部122を介して、例えば第1経路決定部125と、第2経路決定部126内のそれぞれに記録される。ハードウェアの観点からすれば、第1経路決定部125と、第2経路決定部126において2つの通信回線を特定する上記情報を記録するのは、RAM113か大容量記録装置といった、通信装置100が備える記録媒体となる。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば2つの通信回線(例えば、インターネット回線と、SMSの回線)のうちの1つを例えばランダムに(ただし、重み付けの技術を用いる、ロードバランサの技術を用いる等の工夫を行ってランダムにしなくても良い。以下に説明する内容で「ランダムに」と記載した場合はすべて同じである。)第1経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第1経路を生成することを可能とするための第1経路情報を生成する。第1経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、以下のようにして第2経路を決定する。第1暗号化データを受取った本願でいう第2通信装置に相当する通信装置100内で、第1暗号化データは、上述したように送受信機構から、インターフェイス114、入力部121を介してデータ処理部120内の制御部122に送られる。そのとき、制御部122は、第1暗号化データに付されていた、第1経路を用いて行われた通信がどの通信回線を用いて行われたかを示すデータを取出し、そのデータを第2経路決定部126へと送る。そのデータを用いて、第2経路決定部126は、第1経路を用いて行われた通信がどの通信回線を用いて行われたかを特定する。そして、第2経路決定部126は、当該通信回線とは異なる種類の通信回線を、第2経路がその上に作られる通信回線として決定する。この実施形態では、第1経路は、インターネット回線上の経路だったので、第2経路は、2つの通信装置100がともに利用できる2つの通信回線の他方であるSMSの回線を、第2経路をその上に作るべき回線として決定する。2つの通信装置100が通信に利用することができる回線が3種類以上ある場合、第2経路決定部126は、インターネット回線以外の残りの2つ以上の回線のうちの1つを例えばランダムで、第2経路をその上に作るべき回線として決定する。第2経路決定部126は、決定されたその第2経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路情報は、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるSMSの回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなった。それにより既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は、例えば先に受取っていた第1経路情報にしたがって、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第1経路は第3経路と始点から終点まで同一となりうるが、それは許容される。この例は、第2経路を本願の第2通信装置にあたる通信装置100の第2経路決定部126が決定することにより第2経路と第1経路とを始点と終点とを除いて重複させない例でもあるが、第2経路を本願の第2通信装置にあたる通信装置100の第2経路決定部126が決定することにより第2経路と第3経路とを始点と終点とを除いて重複させない例でもある。
 以上の3つの通信における経路は、既に説明した図6(A)に示したものと同一となる。
 この場合、第1経路は、インターネット回線上の経路であり、第2経路は、SMSの回線上の経路である。したがって、両経路は必然的に、両経路の始点と終点とを除いて異なる経路となる。
 この例の場合、第1経路決定部125が生成する第1経路を特定する第1経路情報は、第1経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第1経路がインターネット回線上の経路である」ということを特定するものであれば足りる。同様に、第2経路決定部126が生成する第2経路を特定する第2経路情報は、第2経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第2経路がSMS回線上の経路である」ということを特定するものであれば足りる。第1経路情報と同じであるか否かに関わらず第3経路情報も同様である。
 続いて第2のケースについて説明する。
 第2経路を本願発明の第2通信装置に相当する通信装置100が決定する場合における第1のケースは上述のように、第1経路と第2経路の片方がインターネット回線上の経路であり、他方がインターネット回線ではない他の回線上の経路である場合であった。
 他方、第2のケースでは、第1経路と第2経路の双方がともにインターネット回線ではなく、異なる2種類の回線上の経路として設定される。
 もちろん単なる例であるが第2のケースでは、第1経路がマルティメディアメッセージサービス(MMS)の回線上の経路とされ、第2経路がプライベートネットワークの回線上の経路とされる。
 第1経路と第2経路とをその上に形成する回線を異ならせるための方法は、第1のケースの場合と同じで良い。第3経路を第1経路と異ならせるか否かは自由であり、両者を同一とする方法、異ならせる方法は、ここまでに説明した通りである。
 この場合の暗号化通信における第1経路から第3経路は、図6(B)に示したものと同じとなる。
 続いて第3のケースについて説明する。
 第3のケースでは、第1経路と第2経路の双方がともにインターネット回線上の経路として設定される。
 第3のケースでは、当然に、本願でいう第1通信装置に相当する通信装置100と、本願でいう第2通信装置に相当する通信装置100とはともに、インターネット回線による通信が可能である必要がある。そのことを両通信装置100が事前に確認した上で、以下に説明するような第1経路情報と第2経路情報とをそれぞれ生成するために必要なデータが、両通信装置100の第1経路決定部125と第2経路決定部126とに記録される。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、第1経路をインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第1経路情報を生成する。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合の第1経路情報は、第1経路の全長を特定するようなものであっても良いし、「第1経路をインターネット回線上に作る」ということのみを指定するものであっても良い。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路をインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この場合、第2通信装置に相当する通信装置100における第2経路決定部126は以下のように、第2経路を決定し、以下のような第2経路情報を生成する。第2通信装置に相当する通信装置100は、第1経路を辿って本願でいう第1通信装置に相当する通信装置100から送られてきた第1暗号化データを受取る。第1暗号化データは、図6(C)に示したように、多数の通信機器401を経由して作られた第1経路上を送信されてくる。
 第2経路決定部126は、第1経路をまず特定する。MPLS やMANETをそのために用いることができる。MANETとしては、MANETの下位の技術であるDSR(Dynamic Source Routing)を用いることができる。これは、MANETを利用する以下に説明するすべての場合でも同様である。
 例えばこの例では、第1暗号化データには、第1暗号化データが通過してきた多数の通信機器401を特定する情報(例えば、第1経路上に並ぶ通信機器401を順に特定する情報である、各通信機器401のIPアドレスを1セットとしたデータ)が付属されている。例えば、DSRの場合であれば、送信されるデータを構成するパケットのヘッダに、送信ノードから受信ノードまでのすべての経路に関する情報が含まれるようになっている。本願でいう第2通信装置に相当する通信装置100で受け取られた第1暗号化データは、送受信機構、インターフェイス114、入力部121を経て、制御部122へと送られる。制御部122が受取る第1暗号化データには、上述したデータも付属されている。制御部122は、第1暗号化データに付属されていたそのデータを、第2経路決定部126へと送る。第2経路決定部126は制御部122から受取った上述のデータに基づいて、第1経路に含まれていたすべての通信機器401と、その並び順を特定することにより、結果として第1経路をその全長にわたって特定する。
 次いで、第2経路決定部126は、始点と終点とを除いて第1経路と重複しない経路として第2経路を決定する。そのような経路の決定は、例えば、ソースルーティングや或いはその応用であるセグメントルーティングや、MANET(また、その具体的な応用例としてのDSR)を用いて行うことができる。
 例えば、第2経路決定部126は、第2経路上に並ぶ通信機器401を、第1経路上に並ぶ通信機器401とは始点と終点を除いて重複しないものから選択する。例えば、第2経路情報は、第2経路上に並ぶ、或いは第2経路が経由するすべての通信機器401を特定する情報(例えば、第2経路が経由するすべての通信機器401のIPアドレス)を、通信機器401の並び順に並べた1セットのデータである。第2経路決定部126は、生成したその第2経路情報を、出力部127を介して送受信機構へと送る。送受信機構は、その第2経路情報によって特定された第2経路を辿るようにして、第2第1暗号化データを、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなった。第1経路と第2経路とはともにインターネット回線上の経路であるが、いわゆるマルチホーミングが行われたことにより、両経路は互いに重複しないものとなっている。それにより既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は例えば、先に受取っていた第1経路情報にしたがって、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第3経路は第1経路と始点から終点まで同一となりうるが、それは許容される。この例は、第2経路を本願の第2通信装置にあたる通信装置100の第2経路決定部126が決定することにより第2経路と第1経路とを始点と終点とを除いて重複させない例でもあるが、第2経路を本願の第2通信装置にあたる通信装置100の第2経路決定部126が決定することにより第2経路と第3経路とを始点と終点とを除いて重複させない例でもある。
 第3のケースにおける暗号化通信で利用される第1経路、第2経路、第3経路は、図6(C)に示されたようなものとなる。
<1-3.第2経路を本願でいう第1通信装置にあたる通信装置100が決定する場合>
 第2経路を第1通信装置にあたる通信装置100が決定する場合においても、幾つかのケースが考えられる。
 第1のケースは以下のようなものである。
 第1のケースでは、特定通信装置である2つの通信装置100のうち、本願でいう第1通信装置にあたる通信装置100と、第2通信装置にあたる通信装置100とはともに、インターネット回線、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のうちの共通する少なくとも2つの通信を行うことができるようになっている。
 例えば、2つの通信装置100はともに、インターネット回線と、SMSという異なる2つの通信回線での通信を行うことができるようになっているとする。また、両通信装置100は、互いに共通する2つの通信回線で通信可能であることを把握しているものとする。例えば、2つの通信装置100の所有者が予め電子メールや、SNSで連絡を取合い、自己の通信装置100に、互いの通信に用いることのできる2つの通信回線を登録しておけば良い。互いの通信に用いることのできる2つの通信回線を特定する情報は、例えば、入力装置102の操作により自己の通信装置100に記録することができる。2つの通信装置100における入力装置102から入力された2つの通信回線を特定する上記情報は、インターフェイス114、入力部121、制御部122を介して、例えば第1経路決定部125と、第2経路決定部126内のそれぞれに記録される。ハードウェアの観点からすれば、第1経路決定部125と、第2経路決定部126において2つの通信回線を特定する上記情報を記録するのは、RAM113か大容量記録装置といった、通信装置100が備える記録媒体となる。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば2つの通信回線(例えば、インターネット回線と、SMSの回線)のうちの1つを例えばランダムに第1経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第1経路を生成することを可能とするための第1経路情報を生成する。他方、第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば2つの通信回線(例えば、インターネット回線と、SMSの回線)のうちの第1経路をその上に生成するために選択されたもの以外のものを、第2経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第2経路を生成することを可能とするための第2経路情報を生成する。つまり、この例では、本願でいう第2通信装置としての通信装置100から、本願でいう第1通信装置としての通信装置100へとネットワーク400を介して第2第1暗号化データを返信するための経路である第2経路をも、第1通信装置としての通信装置100が決定するのである。
 第1経路情報と、第2経路情報とは、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。第2経路情報は、第1暗号化データとともに、本願でいう第2通信装置に相当する通信装置100へと送られる。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、以下のようにして第2経路を決定する。第1暗号化データを受取った本願でいう第2通信装置に相当する通信装置100内で、第1暗号化データは、上述したように送受信機構から、インターフェイス114、入力部121を介してデータ処理部120内の制御部122に送られる。そのとき、制御部122は、第1暗号化データに付されていた、第2経路情報を取出し、第2経路情報を第2経路決定部126へと送る。第2経路決定部126は、第2経路情報で示される経路を、第2経路として決定する。第2経路情報が例えば、「第2経路としてSMSの回線を用いる」というものであるとすれば、第2経路決定部126は、第2経路をSMS上の経路として決定する。
 第2経路決定部126は、決定されたその第2経路の少なくとも一部を決定するデータである第2経路情報、例えば「第2経路としてSMSの回線を用いる」ということを示す第2経路情報を生成する。第2経路情報は、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるSMSの回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなった。それにより既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は例えば、先に受取っていた第1経路情報にしたがって、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第3経路は第1経路と始点から終点まで同一となりうるが、それは許容される。この例は、本願の第1通信装置に相当する通信装置100における第1経路決定部125が第2経路と第1経路とを始点と終点とを除いて重複させないように決定する例でもあるが、本願の第1通信装置に相当する通信装置100における第1経路決定部125が第2経路と第3経路とを始点と終点とを除いて重複させないように決定する例でもある。
 以上の3つの通信における経路は、既に説明した図6(A)に示したものと同一となる。
 この場合、第1経路は、インターネット回線上の経路であり、第2経路は、SMSの回線上の経路である。したがって、両経路は必然的に、両経路の始点と終点とを除いて異なる経路となる。
 この例の場合、第1経路決定部125が生成する第1経路を特定する第1経路情報は、第1経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第1経路がインターネット回線上の経路である」ということを特定するものであれば足りる。同様に、第2経路決定部126が生成する第2経路を特定する第2経路情報は、第2経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第2経路がSMS回線上の経路である」ということを特定するものであれば足りる。第1経路情報と同じであるか否かに関わらず第3経路情報も同様である。
 続いて第2のケースについて説明する。
 第2経路を本願発明の第1通信装置にあたる通信装置100が決定する場合における第1のケースは上述のように、第1経路と第2経路の片方がインターネット回線上の経路であり、他方がインターネット回線ではない他の回線上の経路である場合であった。
 他方、第2のケースでは、第1経路と第2経路の双方がともにインターネット回線ではなく、異なる2種類の回線上の経路として設定される。
 もちろん単なる例であるが第2のケースでは、第1経路がマルティメディアメッセージサービス(MMS)の回線上の経路とされ、第2経路がプライベートネットワークの回線上の経路とされる。
 第1経路と第2経路とをその上に形成する回線を異ならせるための方法は、第1のケースの場合と同じで良い。第3経路を第1経路と異ならせるか否かは自由であり、両者を同一とする方法、異ならせる方法は、ここまでに説明した通りである。
 この場合の暗号化通信における第1経路から第3経路は、図6(B)に示したものと同じとなる。
 続いて第3のケースについて説明する。
 第3のケースでは、第1経路と第2経路の双方がともにインターネット回線上の経路として設定される。
 第3のケースでは、当然に、本願でいう第1通信装置に相当する通信装置100と、本願でいう第2通信装置に相当する通信装置100とはともに、インターネット回線による通信が可能である必要がある。そのことを両通信装置100が事前に確認した上で、以下に説明するような第1経路情報と第2経路情報とをそれぞれ生成するために必要なデータが、両通信装置100の第1経路決定部125と第2経路決定部126とに記録される。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、第1経路をインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第1経路情報を生成する。
 他方、第1経路決定部125は、インターネット回線を使用した経路であって、その始点と終点とを除き第1経路と重複しない経路を決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。
 第1経路情報と第2経路情報はいずれも、送信側の装置が通信経路を定める技術により生成することができる。そのような技術の例としてはソースルーティングや或いはその応用であるセグメントルーティングや、MANET(また、その具体的な応用例としてのDSR)がある。
 これには限られないが、この例における第1経路情報は、本願でいう第1通信装置に相当する通信装置100から本願でいう第2通信装置に相当する通信装置100へと送られる第1暗号化データが通過するすべての通信機器401を特定する情報(例えば、IPアドレス)を、第1暗号化データが通過する順に並べた1セットのデータである。また、これには限られないが、この例における第2経路情報は、本願でいう第2通信装置に相当する通信装置100から本願でいう第1通信装置に相当する通信装置100へと送られる第2第1暗号化データが通過するすべての通信機器401を特定する情報(例えば、IPアドレス)を、第2第1暗号化データが通過する順に並べた1セットのデータである。第1通信装置としての通信装置100が単独で、始点と終点とを除いて第1経路と第2経路とが重複しないという条件が満足されるように、第1経路と第2経路とを構成する通信機器401を指定して、第1経路情報と第2経路情報とを決定することは、もちろん可能である。
 第1経路情報と、第2経路情報とは、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。第2経路情報は、第1暗号化データとともに、本願でいう第2通信装置に相当する通信装置100へと送られる。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、以下のようにして第2経路を決定する。第2第1暗号化データを受取った本願でいう第2通信装置に相当する通信装置100内で、第2第1暗号化データは、上述したように送受信機構から、インターフェイス114、入力部121を介してデータ処理部120内の制御部122に送られる。そのとき、制御部122は、第2第1暗号化データに付されていた、第2経路情報を取出し、第2経路情報を第2経路決定部126へと送る。第2経路決定部126は、第2経路情報で示される経路を、第2経路として決定する。第2経路は、第2経路情報によって特定される複数の通信機器401を繋いだものとなる。
 第2経路決定部126は、決定されたその第2経路の少なくとも一部を決定するデータである第2経路情報を生成する。この第2経路情報は、本願でいう第1通信装置としての通信装置100から送られてきた第2経路情報そのものと同じとすることができ、これには限られないがこの例ではそうされている。
 第2経路情報は、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 この段階で、第1経路と第2経路とが異なるものとなった。それにより既に経路条件が充足されているので、第3経路はどのようなものとされても構わない。
 更に、第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は例えば、先に受取っていた第1経路情報にしたがって、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合、第3経路は第1経路と始点から終点まで同一となりうるが、それは許容される。この例は、本願の第1通信装置に相当する通信装置100における第1経路決定部125が第2経路と第1経路とを始点と終点とを除いて重複させないように決定する例でもあるが、本願の第1通信装置に相当する通信装置100における第1経路決定部125が第2経路と第3経路とを始点と終点とを除いて重複させないように決定する例でもある。
 以上の3つの通信における経路は、既に説明した図6(C)に示したものと同一となる。
 この場合、第1経路と第2経路とはともに、インターネット回線上の経路であるものの、始点と終点とを除き第1経路と第2経路とが同じ通信機器401を経由することはない。
<2-2.第3経路を本願でいう第1通信装置にあたる通信装置100が決定する場合>
 第3経路を第1通信装置にあたる通信装置100が決定する場合においても、幾つかのケースが考えられる。
 第1のケースは以下のようなものである。
 第1のケースではまず、<1-2>の第1のケースで説明した事前の準備を行う。この例では、暗号化通信を行う2つの通信装置100が互いに3つの回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)を用いて通信を行えるようになっているとする。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願の第1通信装置に相当する通信装置100内の第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば3つの通信回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)のうちの1つを例えばランダムに第1経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第1経路を生成することを可能とするための第1経路情報を生成する。第1経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。ここでは、これには限られないが、第1経路をその上に形成するネットワーク400として、インターネット回線が選ばれたものとする。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、2つの通信装置100がともに使用することのできる例えば3つの通信回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)のうちの1つを例えばランダムに第2経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第2経路を生成することを可能とするための第2経路情報を生成する。第2経路は、第1経路と重複しても良いし、その始点と終点とを除いて第1経路と重複しないものであってもよい。例えば、第2経路がその上に作られる通信回線としてSMSの回線が選ばれ、第2経路の少なくとも一部を特定する第2経路情報が生成されたとする。第2経路情報は、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるSMSの回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は、以下のようにして第3経路を決定する。第2第1暗号化データを受取った本願でいう第1通信装置に相当する通信装置100内で、第2第1暗号化データは、上述したように送受信機構から、インターフェイス114、入力部121を介してデータ処理部120内の制御部122に送られる。そのとき、制御部122は、第2第1暗号化データに付されていた、第2経路を用いて行われた通信がどの通信回線を用いて行われたかを示すデータを取出し、そのデータを第1経路決定部125へと送る。そのデータを用いて、第1経路決定部125は、第2経路を用いて行われた通信がどの通信回線を用いて行われたかを特定する。そして、第1経路決定部125は、当該通信回線とは異なる種類の通信回線を、第3経路がその上に作られる通信回線として決定する。この実施形態では、第2経路はSMSの回線上の経路だったので、第3経路がその上に作られる回線として、2つの通信装置100がともに利用できる3つの通信回線のうちのSMSの回線以外の回線である、インターネット回線か或いはMMSの回線に決定される。この決定はランダムであっても良いがそうでなくても良い。この例では、これには限られないが、第3経路がその上に作られる回線として、MMSの回線が選択されるとする。第1経路決定部125は、決定されたその第3経路の少なくとも一部を決定するデータである第3経路情報を生成する。第3経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第3経路情報にしたがって、送受信機構は、第2暗号化データを、ネットワーク400の一部であるMMSの回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。
 この場合、第2経路と第3経路は、異なる種類の回線上の経路である。したがって、両経路は必然的に、両経路の始点と終点とを除いて異なる経路となる。両経路の一方にインターネット回線が含まれていてもそうでなくてもそれは変わらない。これにて、第2経路と第3経路とが重複しない異なるものとなった。なお、この例では、第1経路と第2経路も、第1経路と第3経路も重複していない。
 この例の場合、第1経路決定部125が生成する第1経路を特定する第1経路情報は、第1経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第1経路がインターネット回線上の経路である」ということを特定するものであれば足りる。第2経路情報、第3経路情報も同様である。
 この第1のケースにおける第1経路、第2経路、第3経路を、観念的に図7(A)に示す。
 続いて第2のケースについて説明する。
 第2のケースでは、第2経路と第3経路の双方がともにインターネット回線上の経路として設定される。
 第2のケースでは、当然に、本願でいう第1通信装置に相当する通信装置100と、本願でいう第2通信装置に相当する通信装置100とはともに、インターネット回線による通信が可能である必要がある。そのことを両通信装置100が事前に確認した上で、以下に説明するような第1経路情報と第2経路情報とをそれぞれ生成するために必要なデータが、両通信装置100の第1経路決定部125と第2経路決定部126とに記録される。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば3つの通信回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)のうちの1つを例えばランダムに第1経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第1経路を生成することを可能とするための第1経路情報を生成する。第1経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。ここでは、これには限られないが、第1経路をその上に形成するネットワーク400として、インターネット回線が選ばれたものとする。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路をインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路は、第1経路と重複しても良いし、その始点と終点とを除いて第1経路と重複しないものであってもよい。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。
 第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、本願でいう第1通信装置に相当する通信装置100の送受信機構は以下のようにして第3経路を決定する。本願でいう第1通信装置に相当する通信装置100における第1経路決定部125は、第3経路をインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第3経路情報を生成する。第3経路情報にしたがって、送受信機構は、第2暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。この場合の第3経路情報は、第3経路の全長を特定するものとされるのが通常である。
 この場合、本願の第1通信装置に相当する通信装置100における第1経路決定部125は以下のように、第3経路を決定する。
 第1通信装置に相当する通信装置100は、第2経路を辿って本願でいう第2通信装置に相当する通信装置100から送られてきた第2第1暗号化データを受取る。
 そのデータを受け取ったら、第1経路決定部125は第2経路をその全長にわたって特定する。そのために応用できる技術は、繰り返しになるが、MPLSや、MANETである。
 第2第1暗号化データは、図7(B)に示したように、多数の通信機器401を経由して作られた第2経路上を送信されてくる。そして、この例の第2第1暗号化データには、第2第1暗号化データが通過してきた多数の通信機器401を特定する情報(例えば、第2経路上に並ぶ通信機器401を順に特定する情報である、各通信機器401のIPアドレスを1セットとしたデータ)が付属されている。本願でいう第1通信装置に相当する通信装置100で受け取られた第2第1暗号化データは、送受信機構、インターフェイス114、入力部121を経て、制御部122へと送られる。制御部122が受取る第2第1暗号化データには、上述したデータも付属されている。制御部122は、第2第1暗号化データに付属されていたそのデータを、第1経路決定部125へと送る。第1経路決定部125はその受取ったデータに基づいて、第2経路に含まれていたすべての通信機器401と、その並び順を特定することにより、結果として第2経路をその全長にわたって特定する。
 次いで、第1経路決定部125は、始点と終点とを除いて第2経路と重複しない経路として第3経路を決定する。そのような経路の決定は、例えば、ソースルーティングや或いはその応用であるセグメントルーティングや、MANET(また、その具体的な応用例としてのDSR)を用いて行うことができる。
 第1経路決定部125は、例えば、第3経路上に並ぶすべての通信機器401と、その並び順とを特定するデータを、第3経路情報として生成する。第1経路決定部125は、第3経路上に並ぶ通信機器401を、第2経路上に並ぶ通信機器401とは始点と終点を除いて重複しないものから選択する。例えば、第3経路情報は、第3経路上に並ぶ、或いは第3経路が経由するすべての通信機器401のIPアドレスを、通信機器401の並び順に並べた1セットのデータである。第1経路決定部125は、生成したその第3経路情報を、出力部127を介して送受信機構へと送る。送受信機構は、その第3経路情報によって特定された第3経路を辿るようにして、第2暗号化データを、本願でいう第2通信装置に相当する通信装置100へと送る。
 その結果、第3経路は、その始点と終点とを除いて第2経路と重複しないものとなる。なお、この例では、第1経路と第2経路も、また、第1経路と第3経路も始点と終点とを除いて重複していない。
<2-3.第3経路を本願でいう第2通信装置にあたる通信装置100が決定する場合>
 第3経路を第2通信装置にあたる通信装置100が決定する場合においても、幾つかのケースが考えられる。
 第1のケースは以下のようなものである。
 第1のケースではまず、<1-2>の第1のケースで説明した事前の準備を行う。この例では、暗号化通信を行う2つの通信装置100が互いに3つの回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)を用いて通信を行えるようになっているとする。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば3つの通信回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)のうちの1つを例えばランダムに第1経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第1経路を生成することを可能とするための第1経路情報を生成する。第1経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。ここでは、これには限られないが、第1経路をその上に形成するネットワーク400として、インターネット回線が選ばれたものとする。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路をインターネット回線を使用した経路として決定し、その経路の少なくとも一部を決定するデータである第2経路情報を生成する。第2経路は、第1経路と重複しても良いし、その始点と終点とを除いて第1経路と重複しないものであってもよい。他方、第2経路決定部126は、2つの通信装置100がともに使用することのできる例えば3つの通信回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)のうちの第2経路をその上に生成するために選択されたもの以外のものを、第3経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第3経路を生成することを可能とするための第3経路情報を生成する。つまり、この例では、本願でいう第1通信装置としての通信装置100から、本願でいう第2通信装置としての通信装置100へとネットワーク400を介して第2暗号化データを返信するための経路である第3経路をも、第2通信装置としての通信装置100が決定するのである。ここでは、第2経路はSMSの回線上に、第3経路はMMSの回線上にそれぞれ作られると第2経路決定部126が決定したものとする。第2経路決定部126は、第2経路、第3経路それぞれの少なくとも一部を特定する情報である第2経路情報と第3経路情報とをそれぞれ生成する。第2経路情報と、第3経路情報とは、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。第3経路情報は、第2第1暗号化データとともに、本願でいう第1通信装置に相当する通信装置100へと送られる。
 第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合には、第3経路が使われる。その場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、以下のようにして第3経路を決定する。
 第2第1暗号化データを受取った本願でいう第1通信装置に相当する通信装置100内で、第2第1暗号化データは、上述したように送受信機構から、インターフェイス114、入力部121を介してデータ処理部120内の制御部122に送られる。そのとき、制御部122は、第2第1暗号化データに付されていた、第3経路情報を取出し、第3経路情報を第1経路決定部125へと送る。第1経路決定部125は、第3経路情報で示される経路を、第3経路として決定する。第3経路情報が例えば、「第3経路としてMMSの回線を用いる」というものであるとすれば、第1経路決定部125は、第3経路をMMS上の経路として決定する。第3経路情報は、第1経路決定部125から出力部127、インターフェイス114を介して送受信機構へと送られる。送受信機構は、第3経路を辿るようにして第2暗号化データを本願の第2通信装置に相当する通信装置100へと送る。
 この場合、第2経路と第3経路は、異なる種類の回線上の経路である。したがって、両経路は必然的に、両経路の始点と終点とを除いて異なる経路となる。両経路の一方にインターネット回線が含まれていてもそうでなくてもそれは変わらない。これにて、第2経路と第3経路とが重複しない異なるものとなった。なお、この例では、第1経路と第2経路も、第1経路と第3経路も重複していない。
 この例の場合、第1経路決定部125が生成する第1経路を特定する第1経路情報は、第1経路を全長にわたって特定する情報とすることは必ずしも必要ではなく、「第1経路がインターネット回線上の経路である」ということを特定するものであれば足りる。第2経路情報、第3経路情報も同様である。
 この第1のケースにおける第1経路、第2経路、第3経路を、観念的に示すと図7(A)に示されたものと同一となる。
 続いて第2のケースについて説明する。
 第2のケースでは、第1経路と第2経路の双方がともにインターネット回線上の経路として設定される。
 第2のケースでは、当然に、本願でいう第1通信装置に相当する通信装置100と、本願でいう第2通信装置に相当する通信装置100とはともに、インターネット回線による通信が可能である必要がある。そのことを両通信装置100が事前に確認した上で、以下に説明するような第1経路情報と第2経路情報とをそれぞれ生成するために必要なデータが、両通信装置100の第1経路決定部125と第2経路決定部126とに記録される。
 そのような事前の準備が終わっている状態で暗号化通信が行われる場合であって、第1暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、2つの通信装置100がともに使用することのできる例えば3つの通信回線(例えば、インターネット回線と、SMSの回線と、MMSの回線)のうちの1つを例えばランダムに第1経路がその上に作られる通信回線として決定し、選択された当該通信回線上に第1経路を生成することを可能とするための第1経路情報を生成する。第1経路情報は、第1経路決定部125から、出力部127、インターフェイス114を介して送受信機構に送られる。第1経路情報にしたがって、送受信機構は、第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第2通信装置に相当する通信装置100へと送る。ここでは、これには限られないが、第1経路をその上に形成するネットワーク400として、インターネット回線が選ばれたものとする。
 また、第2第1暗号化データを、本願でいう第2通信装置に相当する通信装置100から、本願でいう第1通信装置に相当する通信装置100に送信する場合、第2通信装置に相当する通信装置100内の第2経路決定部126は、第2経路と第3経路とをともにインターネット回線を使用した経路として決定し、それら経路の少なくとも一部を決定するデータである第2経路情報と第3経路情報とを生成する。第2経路、第3経路の一方が、例えばその全長にわたって第1経路と重複することは許容される。
 第2経路情報と第3経路情報はいずれも、送信側の装置が通信経路を定める技術により生成することができる。そのような技術の例としてはソースルーティングや或いはその応用であるセグメントルーティングや、MANET(また、その具体的な応用例としてのDSR)がある。
 これには限られないが、この例における第2経路情報は、本願でいう第2通信装置に相当する通信装置100から本願でいう第1通信装置に相当する通信装置100へと送られる第2第1暗号化データが通過するすべての通信機器401を特定する情報(例えば、IPアドレス)を、第2第1暗号化データが通過する順に並べた1セットのデータである。また、これには限られないが、この例における第3経路情報は、本願でいう第1通信装置に相当する通信装置100から本願でいう第2通信装置に相当する通信装置100へと送られる第2暗号化データが通過するすべての通信機器401を特定する情報(例えば、IPアドレス)を、第2暗号化データが通過する順に並べた1セットのデータである。第2通信装置としての通信装置100が単独で、始点と終点とを除いて第2経路と第3経路とが重複しないという条件が満足されるように、第2経路と第3経路とを構成する通信機器401を指定して、第2経路情報と第3経路情報とを決定することは、もちろん可能である。
 第2経路情報と、第3経路情報とは、第2経路決定部126から、出力部127、インターフェイス114を介して送受信機構に送られる。第2経路情報にしたがって、送受信機構は、第2第1暗号化データを、ネットワーク400の一部であるインターネット回線を介して、本願でいう第1通信装置に相当する通信装置100へと送る。第3経路情報は、第2第1暗号化データとともに、本願でいう第1通信装置に相当する通信装置100へと送られる。
 第2暗号化データを、本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100に送信する場合には、第3経路が使われる。その場合、第1通信装置に相当する通信装置100内の第1経路決定部125は、以下のようにして第3経路を決定する。
 第2第1暗号化データを受取った本願でいう第1通信装置に相当する通信装置100内で、第2第1暗号化データは、上述したように送受信機構から、インターフェイス114、入力部121を介してデータ処理部120内の制御部122に送られる。そのとき、制御部122は、第2第1暗号化データに付されていた、第3経路情報を取出し、第3経路情報を第1経路決定部125へと送る。第1経路決定部125は、第3経路情報で示される経路を、第3経路として決定する。第3経路情報は、上述したように第2暗号化データが通過するすべての通信機器401を特定する情報(例えば、IPアドレス)を、第2暗号化データが通過する順に並べた1セットのデータである。第1経路決定部125は、例えばそのまま、第3経路情報を出力部127、インターフェイス114を介して送受信機構へ送る。送受信機構は、第3経路を辿るようにして第2暗号化データを本願の第2通信装置に相当する通信装置100へと送る。
 その結果、第3経路は、その始点と終点とを除いて第2経路と重複しないものとなる。なお、この例では、第1経路と第2経路も、また、第1経路と第3経路も始点と終点とを除いて重複していない。
 この第2のケースにおける第1経路、第2経路、第3経路を、観念的に示すと図7(B)に示されたものと同一となる。
≪第2実施形態≫
 第2実施形態による通信システムは、基本的には第1実施形態における通信システムと同じである。
 第2実施形態による通信システムも、第1実施形態の場合と同様に、図1に示された通り多数の通信装置100を含んで構成されている。
 第2実施形態における各通信装置100は、ネットワーク400に接続されており、第1実施形態の場合と同様に、多数の通信装置100のうちの任意の2つの装置は、ネットワーク400を介して互いに通信を行うことが可能とされている。第2実施形態におけるネットワーク400は、第1実施形態の場合と同様に少なくともインターネットを含み、この実施形態では、インターネットを含む複数種類の回線により構成されている。インターネット以外の回線は、第1実施形態の場合と同じく、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)である。通信装置100は、上述のすべての種類の回線での通信が可能となっている必要はないこと、通信装置100ごとに通信に用いることのできる回線の種類が異なっていても良いことも、第1実施形態と同じである。
 多数の通信装置100がネットワーク400に常時接続されている必要はないことも第1実施形態と同じである。
 また、これには限られないが、第2実施形態でも、第1実施形態の場合と同様に、各通信装置100-1~100-Nは、本願発明でいう第1通信装置として機能する場合もあるし、本願発明でいう第2通信装置として機能する場合もある。
 第2実施形態における通信装置100の構成は、基本的に第1実施形態における通信装置100の構成と同じである。特にハードウェア構成に関して言えば、第2実施形態における通信装置100は、第1実施形態における通信装置100と変わらない。
 通信装置100は例えばスマートフォンであるが、それ以外のものであっても構わないのも第1実施形態と同様である。
 第2実施形態による通信装置100は、第1実施形態が備えていたのと同じ、第1実施形態で用いた図3に示したようなハードウェアを備えている。CPU111、ROM112、RAM113、インターフェイス114、バス116、存在する場合における大容量記録装置の機能は、第2実施形態と第1実施形態とで変わらない。
 第2実施形態で、第1実施形態と唯一異なるのは、インターフェイス114に送受信機構から送られてきてバス116で接続されたCPU111等に送られるデータと、CPU111等から送られてきて、インターフェイス114から送受信機構に送られるデータとに、第1実施形態では存在しなかったデータが含まれ得るという点である。第2実施形態における通信装置100では、第1実施形態では存在しなかったどのようなデータがインターフェイス114を通過するのか、という点については追って説明する。
 第2実施形態におけるCPU111が、ROM112、RAM113、或いは大容量記録装置に記録されていたコンピュータプログラムを実行することにより、コンピュータの内部には、後述するような機能ブロックが生成される。
 ここでいうコンピュータプログラムには、第1実施形態で述べたのと同様に、本願発明の第1通信装置と第2通信装置の双方としてこの通信装置100を機能させるためのコンピュータプログラムが少なくとも含まれる。第2実施形態でも、コンピュータプログラムは、通信装置100にプリインストールされていたものであっても良いし、ポストインストールされたものであっても良い。また、第2実施形態でも、コンピュータプログラムの通信装置100へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。
 CPU111がコンピュータプログラムを実行することにより、通信装置100内部には、図8で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、通信装置100を本願発明の通信装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、通信装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 第2実施形態では、通信装置100内には、本願発明の機能との関係で、データ処理部120が生成される。データ処理部120の中には、図8に示されたように、少なくとも入力部121、制御部122、暗号化部123、復号化部124、第1経路決定部125、第2経路決定部126、出力部127、分割部128、及び結合部129が生成される。
 これらのうち、入力部121と出力部127とは、ハードウェアとして見た場合には、インターフェイス114に相当し、或いはインターフェイス114の機能によって実現される。より具体的には、入力部121と出力部127は、概念としては、インターフェイス114とバス116との接続部分に相当する。
 また、制御部122、暗号化部123、復号化部124、第1経路決定部125、第2経路決定部126は、ハードウェアとしては演算装置たるCPU111に相当し、或いはCPU111と、CPU111が何らかの処理を行うために何らかのデータが必要なのであればそのデータを記録した記録装置(ROM112、RAM113、大容量記録装置)の機能によって実現される。
 上述の機能ブロックのうち、分割部128、結合部129以外の機能ブロックは、第1実施形態の通信装置100のデータ処理部120内にも生成された。
 そして、第2実施形態の通信装置100内のデータ処理部120と第1実施形態の通信装置100におけるデータ処理部120内に共通して生成される、入力部121、制御部122、暗号化部123、復号化部124、及び出力部127の各機能は第1実施形態と第2実施形態とで、データの出入力先等に多少の差はあるもののそれらの機能には基本的に変わりはない。
 以下、第2実施形態における各機能ブロックの機能について説明していく。
 入力部121は、インターフェイス114からの入力を受取るものである。
 インターフェイス114からの入力には、第1実施形態で説明した種々のデータの他、第1暗号化データ、第2第1暗号化データ、第2暗号化データを後述するようにして2つに分割して作られたデータがある。それら2つのデータには、データ量の大小がある。以後、それら2つのデータのうち大きい方を「大分割データ」、小さい方を「小分割データ」と称する場合があり、また、両者を併せて「分割データ」と称する場合がある。
 入力部121は、受取った種々のデータをいずれも制御部122へと送るようになっている。
 制御部122は、第1実施形態の場合と同様に、通信装置100内のデータ処理部120内に生成された各機能ブロック全体の制御を行うものである。
 制御部122は、第1実施形態で説明した機能を有する他、以下の機能を有する。第2実施形態では、制御部122は分割データを受取る場合がある。制御部122は受取った分割データを結合部129に送るようになっている。
 第2実施形態の暗号化部123は、第1実施形態の場合と同様に、受取った共有データ、第1暗号化データを暗号化する処理を実行する。ただし、第1実施形態における暗号化部123は、制御部122から暗号化データ、第1暗号化データを受取るようになっていたが、第2実施形態における暗号化部123は、第1暗号化データに関しては、それを制御部122からではなく結合部129から受取る場合がある。また、第1実施形態における暗号化部123は、共有データを暗号化することによって得た第1暗号化データ、第1暗号化データを暗号化することによって得た第2第1暗号化データを出力部127に送るようになっていたが、第2実施形態では、それらデータを出力部127に直接送る場合もあれば、分割部128を介して出力部127に間接的に送る場合もある。
 第2実施形態の復号化部124は、第1実施形態の場合と同様に、同じ通信装置100内の暗号化部123が実行する演算の逆演算を行うものである。復号化部124は、受取った第2第1暗号化データ、第2暗号化データを復号化する処理を実行する。ただし、第1実施形態における復号化部124は、制御部122から第2第1暗号化データ、第2暗号化データを受取るようになっていたが、第2実施形態における復号化部124は、それらデータを結合部129から受取る場合がある。また、第1実施形態における復号化部124は、第2第1暗号化データを復号化することによって得られた第2暗号化データ、第2暗号化データを得ることによって得られた共有データを出力部127に送るようになっていたが、第2実施形態における復号化部124は、第2暗号化データを出力部127に直接送る場合もあれば、分割部128を介して出力部127に間接的に送る場合もある。
 暗号化部123と復号化部124とが実行する処理は、第1実施形態と第2実施形態とで変わらず、交換法則と結合法則とが充足される演算である。
 第1経路決定部125は、制御部122からA経路を決定せよ、或いはA経路とB経路の双方を決定せよ、との指示を受ける場合があり、それらの指示のいずれかを受けた場合、指示を受けた経路を決定するようになっている。第1経路決定部125がA経路又は、A経路とB経路を決定するタイミングと方法については後述する。
 第2経路決定部126は、制御部122からA経路とB経路を決定せよとの指示を受ける場合があり、その指示を受けた場合A経路とB経路を決定するようになっている。もっとも、第2経路決定部126がかかる決定を行う前に本願の第1通信装置にあたる通信装置100がA経路を決定して、本願の第1通信装置にあたる通信装置100から本願の第2通信装置にあたる第2通信装置100へとA経路を用いての通信が行われていることが殆どであるため、第2経路決定部126が自発的にA経路を決定することは多くない。第2経路決定部126がA経路とB経路を決定するタイミングと方法については後述する。
 第1経路決定部125は、A経路、或いはA経路とB経路とを決定したら、A経路(の少なくとも一部)、或いはA経路(の少なくとも一部)とB経路(の少なくとも一部)を特定する情報であるA経路情報、又はA経路情報とB経路情報とを生成し、それを出力部127へ送るようになっている。第2経路決定部126は、B経路を決定したら、B経路(の少なくとも一部)を特定する情報であるB経路情報を生成し、それを出力部127へ送るようになっている。
 A経路情報とB経路情報はいずれも、出力部127から、インターフェイス114を介して送受信機構へと送られるようになっている。
 出力部127は、第1実施形態の場合と同様の機能を有する。
 異なるのは第2実施形態の出力部127は、第1実施形態の出力部127が出力することのあった第1経路情報、第2経路情報、及び第3経路情報をインターフェイス114に出力することがなく、第1実施形態の出力部127が出力することのなかったA経路情報、及びB経路情報をインターフェイス114に出力することがある点である。
 上述したように、第2実施形態では、データ処理部120の中に、第1実施形態では生成されなかった分割部128と結合部129とが生成される。
 分割部128は、第1暗号化データ、第2第1暗号化データ、第2暗号化データを後述するようにして2つに分割して2つのデータとする機能を有する。分割の対象となる第1暗号化データ、第2第1暗号化データ、第2暗号化データは、追って詳述するが、制御部122の制御下にある暗号化部123又は復号化部124から、分割部128に送られてくる。分割部128が行うデータの分割は、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに対して行う本願で言う「逆変換可能な所定の変換」の一例である。「逆変換可能な所定の変換」の他の例については追って説明する。分割部128は生成した分割データを出力部127へ出力するようになっている。
 結合部129には、相手側の通信装置100の分割部128において第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかを分割することによって生成された上述の2つのデータ、つまり分割データが、制御部122から入力されて来ることがある。それら2つのデータは、相手側の通信装置100から結合部129がある通信装置100へネットワーク400を介して送られてきたものである。結合部129は、分割データを構成する大分割データと小分割データとを用いて、元のデータ、つまり第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかを復元するようになっている。結合部129は、生成した第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかを、暗号化部123又は復号化部124へ送るようになっている。
 なお、第2実施形態でも、すべての通信装置100が本願発明でいう第1通信装置と第2通信装置のいずれの役割をも果たすことができる必要はない。その点でも第1実施形態の場合と同様である。
 次に、第2実施形態の通信システムの使用方法、及び動作について説明する。
 既に述べたように、第1実施形態の通信システムでは通信システムを構成するうちの任意の2つの通信装置100同士が通信を行う。2つの通信装置100は、他の通信を行ってももちろん構わないが、この実施形態では、2つの通信装置100の間で共有データを共有するための通信について説明する。
 第2実施形態の通信システムの使用方法、及び動作について、まず概説する。
 第1実施形態では、2つの通信装置100の間を、第1暗号化データ、第2第1暗号化データ、及び第2暗号化データという3つの暗号化データを一往復半行き来させる。そして、悪意の第三者に第1暗号化データ、第2第1暗号化データ、及び第2暗号化データの3つすべてを入手させないために、第1実施形態では、第1暗号化データの送信経路たる第1経路と第2第1暗号化データの送信経路たる第2経路、又は第2第1暗号化データの送信経路たる第2経路と第2暗号化データの送信経路たる第3経路の少なくとも一方を、2つの経路の始点と終点とを除いて重複しないようにすることとしていた。
 それに対して第2実施形態では、第1実施形態でいう第1経路、第2経路、第3経路を基本的にすべて共通のA経路とする。ただし、第2実施形態では、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれかに対して逆変換可能な所定の変換を行うことにより、それら3つのデータのうちの1つから2つのデータを生成し、生成された2つのデータのうちの一方をA経路で、他方を始点と終点とを除いてA経路と重複しないネットワーク上の所定の経路であるB経路にて送信することとしている。
 つまり、第2実施形態では、第1実施形態における第1経路、第2経路、第3経路のうちの1つがA経路とB経路という2本の経路で構成されることになり、その余はA経路となる。
 つまり、第2実施形態は、「3.第1経路がA経路とB経路で構成される場合」、「4.第2経路がA経路とB経路で構成される場合」、「5.第3経路がA経路とB経路で構成される場合」の3通りに分類することができる。
 以下、「3.第1経路がA経路とB経路で構成される場合」、「4.第2経路がA経路とB経路で構成される場合」、「5.第3経路がA経路とB経路で構成される場合」について、第2実施形態における通信システムの使用方法、及び動作について順に説明していく。
<3.第1経路がA経路とB経路で構成される場合>
 「3.第1経路がA経路とB経路で構成される場合」に実行される処理は以下のようなものである。図9(A)を用いて説明する。
 まず、ある通信装置100のユーザが2つの通信装置100間で通信を行うために、そのユーザが有する通信装置100の操作を開始する。ユーザが操作を開始したその通信装置100が本願発明における第1通信装置となる。第1実施形態で説明したように、ユーザは入力装置102を用いて特定情報を入力する。特定情報の入力が終わると、制御部122は、暗号化部123に、共有データを送るとともに、共有データを暗号化せよとの指示を送る。上述の指示に基いて、暗号化部123は、共有データを暗号化するための変換を行う(S1101)。
 なお、これには限られないが、第2実施形態では、図9(A)の一番上に記載された「abcd123」という文字列のデータが共有データであるとする。暗号化部123は、「abcd123」をもちろん例であるが、バレルシフトにより暗号化する。バレルシフトは上述したように、交換法則と結合法則とを充足する暗号化の方法である。この実施形態では、アルファベットも数字も1つずつ後ろにずらすように変換するというのが、本願の第1通信装置に相当する通信装置100の暗号化部123が実行する暗号化の方法であるとする。
 その結果、「abcd123」という文字列は、「bcde234」という文字列に変換される。
 暗号化部123は、第1暗号化データを分割部128へ送る。上述したように暗号化部123は、第1暗号化データを出力部127へ送る場合もあるし、分割部128へ送る場合もある。暗号化部123がそれらのどちらに第1暗号化データを送るかは、制御部122の制御により決定される。例えば、制御部122は、共有データを暗号化せよとの指示を暗号化部123に送る場合に、第1暗号化データを分割部128へと送れとの指示を行えば、暗号化部123に制御部122の指示下で第1暗号化データの送信先を選択させることが可能であることは明らかである。
 分割部128は第1暗号化データを受取る。分割部128は、受取った第1暗号化データに対して逆変換可能な所定の変換を行うことによって2つのデータを得る(S1102)。この実施形態では、分割部128が行う逆変換可能な所定の変換は、第1暗号化データを、前半のアルファベットと後半の数字とに分けるというデータの分割である。その結果、「bcde234」という第1暗号化データは、「bcde」というデータと、「234」というデータという2つのデータ(分割データ)に分割される。これら2つのデータのうち、「bcde」の方が文字数が多くデータ量が大きいため、大分割データであるということになる。他方、「234」は小分割データであるということになる。
 分割部128は、2つの分割データを、出力部127へ送る。分割データは、出力部127からインターフェイス114を介して送受信機構へ送られる。
 また、制御部122は、暗号化部123が分割部128へ第1暗号化データを送るのとの前後は問わないが、特定情報を第1経路決定部125へ送り、また、第1経路決定部125にA経路とB経路を決定せよとの指示を送る。
 この指示を受け、第1経路決定部125は、本願の第1通信装置である通信装置100から本願の第2通信装置である通信装置100に大分割データを送るための経路であるA経路と、本願の第1通信装置である通信装置100から本願の第2通信装置である通信装置100に小分割データを送るための経路であるB経路を決定し、両経路(の少なくとも一部)をそれぞれ特定する情報であるA経路情報とB経路情報とを生成する。A経路情報とB経路情報とは、第1経路決定部125から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。なお、A経路とB経路は予め決められていても構わない。
 ここで、第1経路決定部125は、A経路とB経路とを、2つの経路の始点と終点とを除いて重複しないように設定される。「2つの経路が始点と終点とを除いて重複しない」という用語の意味については、第1実施形態で既に説明した通りである。例えば、A経路とB経路とは、双方がインターネット回線上の経路であっても良いし、一方がインターネット回線上の経路で他方がインターネット以外の回線上の経路であっても良いし、双方がインターネット以外の回線上の経路であっても良い。インターネット以外の回線とは、例えば、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)である。
 上述のどの例の組合せでA経路とB経路とを選択するにせよ、本願でいう第1通信装置たる通信装置100が単独でA経路とB経路との双方を決定するのであれば、「2つの経路が始点と終点とを除いて重複しない」という条件を充足するようにして、第1経路決定部125がA経路とB経路との双方を設定することは容易であることは自明であろう。
 なお、A経路の方がB経路よりも通信の品質が高い方が好ましく、これには限られないがこの実施形態ではそうすることとしている。通信の品質が高いとは、通信の速度が速いこと、通信の安定性が高いこと、送信可能なデータの総量に規制がないか、規制される総量が大きいことの少なくとも1つを意味する。例えば、A経路とB経路とを、インターネットとSMS(両回線上の経路は当然に重複しない。)から選択する場合であれば、インターネットの方が一般に通信速度が速く、また、SMSには送ることのできる文字数の制限がある、つまり送信可能なデータの総量に規制があるため、A経路をインターネット回線上の経路とし、B経路をSMS回線上の経路とする。
 送受信機構は、上述したように、分割部128で生成された大分割データと小分割データとを受取っており、また、これも上述したように、第1経路決定部125から、A経路情報とB経路情報とを受取っている。
 それらに基づいて送受信機構は、大分割データをA経路を介して、小分割データをB経路を介して、A経路情報とB経路情報とにおいて終点として示される特定情報によって特定される通信装置100(本願で言う第2通信装置)に対して送信する(S1103)。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、A経路を介して送信されてきた大分割データと、B経路を介して送信されてきた小分割データとを、その送受信機構で受取る。大分割データと小分割データとは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。大分割データと小分割データは、入力部121から制御部122へと送られ、更には制御部122から結合部129へと送られる。
 結合部129は、大分割データと小分割データとを用いて、元の第1暗号化データを復元する(S1104)。この場合、大分割データと小分割データとは、単純に前半のアルファベットと後半の数字とに分けるというものであったので、結合部129は、大分割データである「bcde」と、小分割データである「234」とを組合せるという逆変換を行うことで、「bcde234」という第1暗号化データを復元する。
 結合部129は、第1暗号化データを暗号化部123へと送る。
 他方制御部122は、暗号化部123へ、結合部129から受取った第1暗号化データに対して暗号化の処理を行えとの指示を送る。この指示に基いて、暗号化部123は、第1暗号化データを暗号化するための変換を行う(S1105)。暗号化部123が第1暗号化データに対して更に暗号化を行うことにより、第1暗号化データは第2第1暗号化データに変わる。
 暗号化部123が実行する暗号化の処理は上述したように交換法則と結合法則とを充足するものである必要があるが、この実施形態ではこれには限られないが、バレルシフトであるものとする。
 本願で言う第1通信装置である通信装置100の暗号化部123が行うバレルシフトは、アルファベットも数字も1つずつ後ろにずらすように変換するというものであったが、本願で言う第2通信装置である通信装置100の暗号化部123が行うバレルシフトは、アルファベットも数字も2つずつ後ろにずらすように変換するというものである。その結果、第1暗号化データの「bcde234」という文字列は、「defg456」という第2第1暗号化データの文字列に変わる。
 生成された第2第1暗号化データは、暗号化部123から出力部127へ送られる。第2第1暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 第1暗号化データを受取った制御部122は、第2経路決定部126へ、本願で言う第1通信装置に相当する通信装置100に第2第1暗号データを返送するための経路であるA経路を決定せよとの指示を送る。
 この指示を受け、第2経路決定部126は、A経路を決定する。A経路は、上述したように、本願でいう第1通信装置に相当する通信装置100が、本願でいう第2通信装置に相当する通信装置100に大分割データを送信してくるときに使用された送信経路である。経路を特定するための技術として、第2経路決定部126は、例えば、第1実施形態で説明したMPLS やMANET(或いはその下位の技術であるDSR(Dynamic Source Routing))を用いることができる。A経路がインターネット以外の回線上の経路である場合には、A経路による通信を行う際に用いられた通信回線を、A経路による通信を行う際に用いられたソフトウェア、ハードウェアの種類を把握するだけで特定できる場合もある。本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100にA経路を特定するA経路情報を送信させ、本願で言う第2通信装置に相当する通信装置100における第2経路決定部126にそのA経路情報を受取らせることも可能である。その場合、第2経路決定部126は、受取ったA経路情報に基づいて新たに生成したA経路情報、又は受取ったそのままのA経路情報を出力部127へ出力するようになっていても良い。
 いずれにせよA経路を決定せよとの指示を受けた第2経路決定部126は、A経路を決定し、A経路情報を生成する。A経路情報は、第2経路決定部126から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。
 送受信機構は、暗号化部123から第2第1暗号化データを、第2経路決定部126からA経路情報を受取る。
 送受信機構は、A経路情報の終点として特定される、本願でいう第1通信装置に相当する通信装置100に対してネットワーク400を介して第2第1暗号化データを送信(返信)する(S1106)。
 このときに第2第1暗号化データは、ネットワーク400上のA経路を辿って相手方の通信装置100へと送られる。
 本願発明における第1通信装置に相当する通信装置100は、第2第1暗号化データをその送受信機構で受取る。第2第1暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2第1暗号化データは、入力部121から制御部122へと送られる。
 第2第1暗号化データを受取った制御部122は、復号化部124へ、第2第1暗号化データと、第2第1暗号化データに対して、暗号化部123が行った変換の逆変換を行えとの指示を送る。この指示に基いて、復号化部124は、第2第1暗号化データに対して、当該通信装置100内の暗号化部123が共有データを第1暗号化データにしたときに行った変換と逆の変換を行う(S1107)。復号化部124で第2第1暗号化データに対して復号化の処理を実行した結果生成されるのが、第2暗号化データである。これは、既に述べたように、平文の共有データを、本願発明における第2通信装置に相当する通信装置100における暗号化部123で暗号化した場合に得られるデータと同じである。
 上述したようにこの例では、アルファベットも数字も1つずつ後ろにずらすように変換するというのが、本願の第1通信装置に相当する通信装置100の暗号化部123が実行する暗号化の方法であった。そこで、復号化の処理では、その逆変換、即ちアルファベットも数字も1つずつ前にずらすように変換するという処理を行う。そうすると、第2第1暗号化データの「defg456」という文字列は、「cdef345」という文字列に変わる。これが、第2暗号化データである。
 生成された第2暗号化データは、復号化部124から出力部127へ送られる。第2暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 送受信機構は、第1暗号化データを相手側の通信装置100に送る前に既に、第1経路決定部からA経路情報を入手していた。
 送受信機構は、A経路情報に基づいて、第1暗号化データを送信したときと同様に、第2暗号化データを、相手側の通信装置100へ送る(S1108)。このときの通信経路はA経路である。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、第2暗号化データをその送受信機構で受取る。第2暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2暗号化データは、入力部121から制御部122へと送られる。
 第2暗号化データを受取った制御部122は、復号化部124へ、第2暗号化データと、第2暗号化データに対して暗号化部123が行った変換の逆変換を行えとの指示とを送る。この指示に基いて、復号化部124は、第2暗号化データに対して、暗号化部123が行ったのと逆の変換を行う(S1109)。復号化部124で第2暗号化データが復号化された結果生成されるのが、平文の共有データである。これにより、本願発明でいう第2通信装置たる通信装置100は、本願発明でいう第1通信装置たる通信装置100がそもそも持っていた共有データを、暗号化されていない平文の状態で、持つに至る。第2通信装置に相当する通信装置100は、共有データの共有が完了するまで、第1暗号化データ、第2第1暗号化データ、第2暗号化データのいずれからも、元の共有データの内容を把握することはできない。しかしながら、復号化部124による復号化のための変換が終了した場合に、平文の共有データを手に入れることができるのである。
 以上により、本願発明でいう第1通信装置と第2通信装置に相当する2つの通信装置100は、共有データを共有することになる。
 この実施形態では、必ずしもその限りではないが、共有データが暗号化データに変換される処理(S1101)から、第2暗号化データが共有データに変換される処理(S1109)までを、本願の第1通信装置に相当する通信装置100と本願の第2通信装置に相当する通信装置100とが自動的に実行する。
 なお、既に述べたように本願の第1通信装置に相当する通信装置100の分割部128で行われたデータの分割は、逆変換可能な所定の変換の一例に過ぎない。
 一般化するのであれば、第1暗号化データをX、第1の分割データをx1、第2の分割データをx2とした場合に、X=f(x1,x2)を満たす関数fを用いて、x1とx2とを求めることによって、2つの分割データを求めることができる。x1とx2のうち当初からどちらが大分割データとなるのかが決定される関数fを用いてx1とx2とを求めても良いし、x1とx2とを求めた後それらのうちのデータ量の大きな方を大分割データとしてもよい。
 逆変換可能な所定の変換により第1暗号化データから2つのデータを求める具体例を幾つか挙げる。第1暗号化データは、図9(A)に倣い「bcde234」であるものとする。
1)第1暗号化データを前後に、例えば、前から5文字と6文字目以降で分け、大分割データを「bcde2」、小分割データを「34」とする。
2)第1暗号化データを前から前後に、例えば、前から3文字と4文字目以降で分け、更に前の3文字を3回繰り返したものを大分割データ「bcdbcdbcd」とし、4文字目以降そのままの文字列を小分割データ「e234」とする。
3)第1暗号化データを前から3文字と4文字目以降で分け、更に前の3文字に第1暗号化データとも、分割データとも無関係な文字(この例ではZとする。)3文字を追加したものを大分割データ「bcdZZZ」とし、4文字目以降そのままの文字列を小分割データ「e234」とする。
4)第1暗号化データに対してx2を用いて縮小写像を得ることにより、或いは符号化を行ってx1を得る。
 いずれの例の場合でも、本願の第1通信装置としての通信装置100の分割部128と、本願の第2通信装置としての通信装置100の結合部129とが、上述のルールを共有していれば、大分割データ(x1)と小分割データ(x2)とを用いて、結合部129が元の第1暗号化データを復元できることは自明であろう。上述の例による2)、3)は元のデータを繰り返すことで、或いは元のデータとも分割データとも無関係のデータを追加することで、大分割データを冗長化している。逆変換可能な所定の変換では、そのような冗長化の処理を行うことも許容される。もちろん、冗長化の処理は小分割データでも行うことができる。
 なお、本願の第1通信装置としての通信装置100の分割部128と、本願の第2通信装置としての通信装置100の結合部129とに、上述のルールを共有させることは、例えば、本願発明の第1通信装置と第2通信装置の双方としてこの通信装置100を機能させるためのコンピュータプログラムにそのような機能を実装させておくことにより、当然に実現可能である。
 また、本願の第2通信装置としての通信装置100の分割部128と、本願の第1通信装置としての通信装置100の結合部129とに、上述のルールを共有させておけば、本願の第2通信装置たる通信装置100の分割部128で生成された大分割データと小分割データとを用いて、本願の第1通信装置たる通信装置100の結合部129が元の第1暗号化データを復元できるのは自明であろう。
 この段落に記載の事情は、「4.第2経路がA経路とB経路で構成される場合」、「5.第3経路がA経路とB経路で構成される場合」でも同様である。
<4.第2経路がA経路とB経路で構成される場合>
 「4.第2経路がA経路とB経路で構成される場合」に実行される処理は以下のようなものである。図9(B)を用いて説明する。
 この場合にも、ある通信装置100のユーザが2つの通信装置100間で通信を行うために、そのユーザが有する通信装置100、即ち本願における第1通信装置の操作を開始する。ユーザは入力装置102を用いて特定情報を入力する。特定情報の入力が終わると、制御部122は、暗号化部123に、共有データを送るとともに、共有データを暗号化せよとの指示を送る。上述の指示に基いて、暗号化部123は、共有データを暗号化するための変換を行う(S1201)。
 なお、これには限られないが、図9(B)の一番上に記載された「abcd123」という文字列のデータが共有データである。暗号化部123は、「abcd123」をもちろん例であるが、バレルシフトにより暗号化する。今回も、アルファベットも数字も1つずつ後ろにずらすように変換するというのが、本願の第1通信装置に相当する通信装置100の暗号化部123が実行する暗号化の方法である。
 その結果、「abcd123」という文字列は、「bcde234」という文字列に変換される。
 暗号化部123は、第1暗号化データを出力部127へ送る。上述したように暗号化部123は、第1暗号化データを出力部127へ送る場合もあるし、分割部128へ送る場合もある。暗号化部123は、制御部122の制御に従い第1暗号化データを出力部127へ送る。
 また、制御部122は、暗号化部123が出力部127へ第1暗号化データを送るのとの前後は問わないが、特定情報を第1経路決定部125へ送り、また、第1経路決定部125にA経路とB経路を決定せよとの指示を送る。
 この指示を受け、第1経路決定部125は、本願の第1通信装置である通信装置100から本願の第2通信装置である通信装置100に第1暗号化データを送るための経路であるA経路と、本願の第2通信装置である通信装置100から本願の第1通信装置である通信装置100に追って第2第1暗号化データから作られる大分割データを送るための経路であるB経路を決定し、両経路(の少なくとも一部)をそれぞれ特定する情報であるA経路情報とB経路情報とを生成する。A経路情報とB経路情報とは、第1経路決定部125から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。なお、A経路とB経路は予め決められていても構わない。
 ここで、第1経路決定部125は、A経路とB経路とを、2つの経路の始点と終点とを除いて重複しないように設定する。これについては、「3.第1経路がA経路とB経路で構成される場合」で既に説明した通りである。
 送受信機構は、上述したように、暗号化部123から、第1暗号化データを受取っており、また、これも上述したように、第1経路決定部125から、A経路情報とB経路情報とを受取っている。
 それらに基づいて送受信機構は、第1暗号化データと、B経路情報とをA経路を介して、A経路情報において終点として示される特定情報によって特定される通信装置100(本願で言う第2通信装置)に対して送信する(S1202)。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、A経路を介して送信されてきた第1暗号化データと、B経路情報とをその送受信機構で受取る。第1暗号化データとB経路情報とは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。
 第1暗号化データを受取った制御部122は、暗号化部123へ、第1暗号化データと、第1暗号化データに対して暗号化の処理を行えとの指示とを送る。この指示に基いて、暗号化部123は、第1暗号化データを暗号化するための変換を行う(S1203)。暗号化部123が第1暗号化データに対して更に暗号化を行うことにより、第1暗号化データは第2第1暗号化データに変わる。
 暗号化部123が実行する暗号化の処理は上述したように交換法則と結合法則とを充足するものである必要があるが、この実施形態ではこれには限られないが、「3.第1経路がA経路とB経路で構成される場合」と同じバレルシフトであるものとする。
 その結果、第1暗号化データの「bcde234」という文字列は、「defg456」という第2第1暗号化データの文字列に変わる。
 生成された第2第1暗号化データは、暗号化部123から分割部128へと送られる。暗号化部123で生成された第2第1暗号化データの送り先は、出力部127である場合と分割部128である場合があるが、「3.第1経路がA経路とB経路で構成される場合」で説明したように制御部122の制御にしたがって、暗号化部123は第2第1暗号化データを分割部128へ送る。
 分割部128は第2第1暗号化データを受取る。分割部128は、受取った第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって2つのデータを得る(S1204)。この実施形態では、分割部128が行う逆変換可能な所定の変換は、これには限られないが「3.第1経路がA経路とB経路で構成される場合」で説明したのと同じく、第2第1暗号化データを、前半のアルファベットと後半の数字とに分けるというデータの分割である。その結果、「defg456」という第2第1暗号化データは、「defg」というデータと、「456」というデータという2つのデータ(分割データ)に分割される。これら2つのデータのうち、「defg」が大分割データであり、他方、「456」は小分割データであるということになる。
 分割部128は、2つの分割データを、出力部127へ送る。分割データは、出力部127からインターフェイス114を介して送受信機構へ送られる。
 第1暗号化データを受取った制御部122は、第2経路決定部126へ、本願で言う第1通信装置に相当する通信装置100に大分割データを返送するための経路であるA経路と、小分割データを返送するための経路であるB経路を決定せよとの指示を送る。加えて、制御部122は、先に受取っていたB経路情報を第2経路決定部126へと送る。
 この指示を受け、第2経路決定部126は、A経路とB経路とを決定する。A経路は、上述したように、本願でいう第1通信装置に相当する通信装置100が、本願でいう第2通信装置に相当する通信装置100に大分割データを送信してくるときに使用された送信経路である。経路を特定するための技術としては、既に説明したように、MPLS やMANET(或いはその下位の技術であるDSR(Dynamic Source Routing))を用いることができる。A経路がインターネット以外の回線上の経路である場合には、A経路による通信を行う際に用いられた通信回線を、A経路による通信を行う際に用いられたソフトウェア、ハードウェアの種類を把握するだけで特定できる場合もある。本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100にA経路を特定するA経路情報を送信させ、本願で言う第2通信装置に相当する通信装置100における第2経路決定部126にそのA経路情報を受取らせることも可能である。その場合、第2経路決定部126は、受取ったA経路情報に基づいて新たに生成したA経路情報、又は受取ったそのままのA経路情報を出力部127へ出力するようになっていても良い。
 他方、第2経路決定部126は、B経路を、制御部122から受取ったB経路情報に基づいて決定する。その場合第2経路決定部126は、受取ったB経路情報に基づいて新たに生成したB経路情報、又は受取ったそのままのB経路情報を出力部127へ出力するようになっていても良い。
 なお、この例では、本願で言う第2通信装置に相当する通信装置100における第2経路決定部126は、本願で言う第1通信装置に相当する通信装置100で生成されたB経路情報に基づいてB経路情報を生成することとしていたが、これはこの限りではない。上述したように、本願で言う第2通信装置に相当する通信装置100の例えば、第2経路決定部126は、A経路を特定することができる。
 他方、「3.第1経路がA経路とB経路で構成される場合」では、本願でいう第1通信装置たる通信装置100が単独でA経路とB経路との双方を決定するのであれば、「2つの経路が始点と終点とを除いて重複しない」という条件を充足するようにして、第1経路決定部125がA経路とB経路との双方を設定することは容易であることは自明であるとの説明をした。
 同様に、本願で言う第2通信装置に相当する通信装置100における第2経路決定部126は、A経路を特定することが可能なのであるから、B経路情報を用いることなく、A経路と始点と終点とを除いて重複しないという条件を充足するB経路を決定することが可能である。そのようにして、第2経路決定部126がB経路を決定する場合には、本願の第1通信装置に相当する通信装置100からB経路情報の提供を受けることなく、B経路を決定することが可能である。その場合には、本願の第1通信装置に相当する通信装置100の第1経路決定部125はA経路情報のみを生成するようになっていればよく、本願の第1通信装置に相当する通信装置100から本願の第2通信装置に相当する通信装置100へのB経路情報の送信も省略することができる。
 A経路が決定されているときどのような経路をB経路として決定するべきかという点は、「3.第1経路がA経路とB経路で構成される場合」で説明したのと同じである。
 いずれにせよA経路とB経路を決定せよとの指示を受けた第2経路決定部126は、A経路とB経路とを決定し、A経路を特定する情報であるA経路情報とB経路を特定する情報であるB経路情報を生成する。A経路情報とB経路情報とは、第2経路決定部126から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。
 送受信機構は、分割部128から第2第1暗号化データから生成された大分割データと小分割データとを、第2経路決定部126からA経路情報とB経路情報とを受取る。
 送受信機構は、A経路情報の終点として特定される、本願でいう第1通信装置に相当する通信装置100に対してA経路を介して大分割データを、B経路情報の終点として特定される、本願でいう第1通信装置に相当する通信装置100に対してB経路を介して小分割データを送信する(S1205)。
 本願発明における第1通信装置に相当する、通信装置100は、A経路を介して送られてきた大分割データとB経路を介して送られてきた小分割データをその送受信機構で受取る。大分割データと小分割データとは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。大分割データと小分割データは、入力部121から制御部122へと送られ、更には制御部122から結合部129へと送られる。
 結合部129は、大分割データと小分割データとを用いて、元の第2第1暗号化データを復元する(S1206)。この場合、大分割データと小分割データとは、単純に前半のアルファベットと後半の数字とに分けるというものであったので、結合部129は、大分割データである「defg」と、小分割データである「456」とを組合せるという逆変換を行うことで、「defg456」という第2第1暗号化データを復元する。
 結合部129は、第2第1暗号化データを復号化部124へと送る。
 他方制御部122は、復号化部124へ、結合部129から受取った第2第1暗号化データに対して、暗号化部123が行った変換の逆変換を行えとの指示を送る。この指示に基いて、復号化部124は、第2第1暗号化データに対して、当該通信装置100内の暗号化部123が共有データを第1暗号化データにしたときに行った変換と逆の変換を行う(S1207)。復号化部124で第2第1暗号化データに対して復号化の処理を実行した結果生成されるのが、第2暗号化データである。
 上述したようにこの例では、アルファベットも数字も1つずつ後ろにずらすように変換するというのが、本願の第1通信装置に相当する通信装置100の暗号化部123が実行する暗号化の方法であった。そこで、復号化の処理では、その逆変換、即ちアルファベットも数字も1つずつ前にずらすように変換するという処理を行う。そうすると、第2第1暗号化データの「defg456」という文字列は、「cdef345」という文字列に変わる。これが、第2暗号化データである。
 生成された第2暗号化データは、復号化部124から出力部127へ送られる。第2暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 送受信機構は、第1暗号化データを相手側の通信装置100に送る前に既に、第1経路決定部からA経路情報を入手していた。
 送受信機構は、A経路情報に基づいて、第1暗号化データを送信したときと同様に、第2暗号化データを、相手側の通信装置100へ送る(S1208)。このときの通信経路はA経路である。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、第2暗号化データをその送受信機構で受取る。第2暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2暗号化データは、入力部121から制御部122へと送られる。
 第2暗号化データを受取った制御部122は、復号化部124へ、第2暗号化データと、第2暗号化データに対して暗号化部123が行った変換の逆変換を行えとの指示とを送る。この指示に基いて、復号化部124は、第2暗号化データに対して、暗号化部123が行ったのと逆の変換を行う(S1209)。復号化部124で第2暗号化データが復号化された結果生成されるのが、平文の共有データである。これにより、本願発明でいう第2通信装置たる通信装置100は、本願発明でいう第1通信装置たる通信装置100がそもそも持っていた共有データを、暗号化されていない平文の状態で、持つに至る。
 以上により、本願発明でいう第1通信装置と第2通信装置に相当する2つの通信装置100は、共有データを共有することになる。
 この実施形態では、必ずしもその限りではないが、共有データが暗号化データに変換される処理(S1201)から、第2暗号化データが共有データに変換される処理(S1209)までを、本願の第1通信装置に相当する通信装置100と本願の第2通信装置に相当する通信装置100とが自動的に実行する。
<5.第3経路がA経路とB経路で構成される場合>
 「5.第3経路がA経路とB経路で構成される場合」に実行される処理は以下のようなものである。図9(C)を用いて説明する。
 この場合にも、ある通信装置100のユーザが2つの通信装置100間で通信を行うために、そのユーザが有する通信装置100、即ち本願における第1通信装置の操作を開始する。ユーザは入力装置102を用いて特定情報を入力する。特定情報の入力が終わると、制御部122は、暗号化部123に、共有データを送るとともに、共有データを暗号化せよとの指示を送る。上述の指示に基いて、暗号化部123は、共有データを暗号化するための変換を行う(S1301)。
 なお、これには限られないが、図9(C)の一番上に記載された「abcd123」という文字列のデータが共有データである。暗号化部123は、「abcd123」をもちろん例であるが、「3.第1経路がA経路とB経路で構成される場合」の場合と同じバレルシフトにより暗号化する。今回も、アルファベットも数字も1つずつ後ろにずらすように変換するというのが、本願の第1通信装置に相当する通信装置100の暗号化部123が実行する暗号化の方法である。
 その結果、「abcd123」という文字列は、「bcde234」という文字列に変換される。
 暗号化部123は、第1暗号化データを出力部127へ送る。上述したように暗号化部123は、第1暗号化データを出力部127へ送る場合もあるし、分割部128へ送る場合もある。暗号化部123は、制御部122の制御に従い第1暗号化データを出力部127へ送る。
 また、制御部122は、暗号化部123が出力部127へ第1暗号化データを送るのとの前後は問わないが、特定情報を第1経路決定部125へ送り、また、第1経路決定部125にA経路とB経路を決定せよとの指示を送る。
 この指示を受け、第1経路決定部125は、本願の第1通信装置である通信装置100から本願の第2通信装置である通信装置100に第1暗号化データを送るための経路であるA経路と、本願の第2通信装置である通信装置100から本願の第1通信装置である通信装置100に追って第2第1暗号化データから作られる小分割データを送るための経路であるB経路を決定し、両経路(の少なくとも一部)をそれぞれ特定する情報であるA経路情報とB経路情報とを生成する。A経路情報とB経路情報とは、第1経路決定部125から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。なお、A経路とB経路は予め決められていても構わない。
 ここで、第1経路決定部125は、A経路とB経路とを、2つの経路の始点と終点とを除いて重複しないように設定する。これについては、「3.第1経路がA経路とB経路で構成される場合」で既に説明した通りである。
 なお、第1経路決定部125によるB経路の決定、及びB経路情報の生成は、後述するB経路による小分割データの送信が行われる前に行われば良い。
 送受信機構は、上述したように、暗号化部123から、第1暗号化データを受取っており、また、これも上述したように、第1経路決定部125から、A経路情報とB経路情報とを受取っている。ここで、B経路情報はまだ使われない。
 それらに基づいて送受信機構は、第1暗号化データをA経路を介して、A経路情報において終点として示される特定情報によって特定される通信装置100(本願で言う第2通信装置)に対して送信する(S1302)。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、A経路を介して送信されてきた第1暗号化データを、その送受信機構で受取る。第1暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第1暗号化データは、入力部121から制御部122へと送られる。
 制御部122は、暗号化部123へ、第1暗号化データと、第1暗号化データに対して暗号化の処理を行えとの指示とを送る。この指示に基いて、暗号化部123は、第1暗号化データを暗号化するための変換を行う(S1303)。暗号化部123が第1暗号化データに対して更に暗号化を行うことにより、第1暗号化データは第2第1暗号化データに変わる。
 暗号化部123が実行する暗号化の処理は上述したように交換法則と結合法則とを充足するものである必要があるが、これには限られないが「3.第1経路がA経路とB経路で構成される場合」で説明したように、バレルシフトであるものとする。本願で言う第2通信装置である通信装置100の暗号化部123が行うバレルシフトは、アルファベットも数字も2つずつ後ろにずらすように変換するというものである。その結果、第1暗号化データの「bcde234」という文字列は、「defg456」という第2第1暗号化データの文字列に変わる。
 生成された第2第1暗号化データは、暗号化部123から出力部127へ送られる。第2第1暗号化データは、出力部127からインターフェイス114を介して送受信機構へと送られる。
 第1暗号化データを受取った制御部122は、第2経路決定部126へ、本願で言う第1通信装置に相当する通信装置100に第2第1暗号データを返送するための経路であるA経路を決定せよとの指示を送る。
 この指示を受け、第2経路決定部126は、A経路を決定する。A経路は、上述したように、本願でいう第1通信装置に相当する通信装置100が、本願でいう第2通信装置に相当する通信装置100に第1暗号化データを送信してくるときに使用された送信経路である。経路を特定するための技術としては、「3.第1経路がA経路とB経路で構成される場合」で説明したように、例えば、MPLS やMANET(或いはその下位の技術であるDSR(Dynamic Source Routing))を用いることができる。A経路がインターネット以外の回線上の経路である場合には、A経路による通信を行う際に用いられた通信回線を、A経路による通信を行う際に用いられたソフトウェア、ハードウェアの種類を把握するだけで特定できる場合もある。本願でいう第1通信装置に相当する通信装置100から、本願でいう第2通信装置に相当する通信装置100にA経路を特定するA経路情報を送信させ、本願で言う第2通信装置に相当する通信装置100における第2経路決定部126にそのA経路情報を受取らせることも可能である。その場合、第2経路決定部126は、受取ったA経路情報に基づいて新たに生成したA経路情報、又は受取ったそのままのA経路情報を出力部127へ出力するようになっていても良い。
 いずれにせよA経路を決定せよとの指示を受けた第2経路決定部126は、A経路を決定し、A経路情報を生成する。A経路情報は、第2経路決定部126から出力部127へ送られ、インターフェイス114を介して送受信機構へと送られる。
 送受信機構は、暗号化部123から第2第1暗号化データを、第2経路決定部126からA経路情報を受取る。
 送受信機構は、A経路情報の終点として特定される、本願でいう第1通信装置に相当する通信装置100に対してネットワーク400を介して第2第1暗号化データを送信(返信)する(S1304)。
 このときに第2第1暗号化データは、ネットワーク400上のA経路を辿って相手方の通信装置100へと送られる。
 本願発明における第1通信装置に相当する通信装置100は、第2第1暗号化データをその送受信機構で受取る。第2第1暗号化データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2第1暗号化データは、入力部121から制御部122へと送られる。
 第2第1暗号化データを受取った制御部122は、復号化部124へ、第2第1暗号化データと、第2第1暗号化データに対して、暗号化部123が行った変換の逆変換を行えとの指示を送る。この指示に基いて、復号化部124は、第2第1暗号化データに対して、当該通信装置100内の暗号化部123が共有データを第1暗号化データにしたときに行った変換と逆の変換を行う(S1305)。復号化部124で第2第1暗号化データに対して復号化の処理を実行した結果生成されるのが、第2暗号化データである。
 上述したようにこの例では、アルファベットも数字も1つずつ後ろにずらすように変換するというのが、本願の第1通信装置に相当する通信装置100の暗号化部123が実行する暗号化の方法であった。そこで、復号化の処理では、その逆変換、即ちアルファベットも数字も1つずつ前にずらすように変換するという処理を行う。そうすると、第2第1暗号化データの「defg456」という文字列は、「cdef345」という文字列に変わる。これが、第2暗号化データである。
 復号化部124は、生成された第2暗号化データを分割部128へ送る。上述したように復号化部124は、第2暗号化データを出力部127へ送る場合もあるし、分割部128へ送る場合もある。復号化部124がそれらのどちらに第2暗号化データを送るかは、制御部122の制御により決定される。
 分割部128は第2暗号化データを受取る。分割部128は、受取った第2暗号化データに対して逆変換可能な所定の変換を行うことによって2つのデータを得る(S1306)。この実施形態では、分割部128が行う逆変換可能な所定の変換は、第2暗号化データを、前半のアルファベットと後半の数字とに分けるというデータの分割である。その結果、「cdef345」という第2暗号化データは、「cdef」というデータと、「345」というデータという2つのデータ(分割データ)に分割される。これら2つのデータのうち、「cdef」の方が文字数が多くデータ量が大きいため、大分割データであるということになる。他方、「345」は小分割データであるということになる。
 分割部128は、2つの分割データを、出力部127へ送る。分割データは、出力部127からインターフェイス114を介して送受信機構へ送られる。
 大分割データと小分割データとを受取った送受信機構は既に、A経路情報とB経路情報とを受取っている。
 送受信機構は、大分割データをA経路を介して、小分割データをB経路を介して、A経路情報とB経路情報とにおいて終点として示される特定情報によって特定される通信装置100(本願で言う第2通信装置)に対して送信する(S1307)。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、A経路を介して送信されてきた大分割データと、B経路を介して送信されてきた小分割データとを、その送受信機構で受取る。大分割データと小分割データとは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。大分割データと小分割データは、入力部121から制御部122へと送られ、更には制御部122から結合部129へと送られる。
 結合部129は、大分割データと小分割データとを用いて、元の第2暗号化データを復元する(S1308)。この場合、大分割データと小分割データとは、単純に前半のアルファベットと後半の数字とに分けるというものであったので、結合部129は、大分割データである「cdef」と、小分割データである「345」とを組合せるという逆変換を行うことで、「cdef345」という第2暗号化データを復元する。
 結合部129は、第2暗号化データを復号化部124へと送る。
 制御部122は、復号化部124へ、結合部129から受取った第2暗号化データに対して暗号化部123が行った変換の逆変換を行えとの指示とを送る。この指示に基いて、復号化部124は、第2暗号化データに対して、暗号化部123が行ったのと逆の変換を行う(S1309)。復号化部124で第2暗号化データが復号化された結果生成されるのが、平文の共有データである。これにより、本願発明でいう第2通信装置たる通信装置100は、本願発明でいう第1通信装置たる通信装置100がそもそも持っていた共有データを、暗号化されていない平文の状態で、持つに至る。
 以上により、本願発明でいう第1通信装置と第2通信装置に相当する2つの通信装置100は、共有データを共有することになる。
 この実施形態では、必ずしもその限りではないが、共有データが暗号化データに変換される処理(S1301)から、第2暗号化データが共有データに変換される処理(S1309)までを、本願の第1通信装置に相当する通信装置100と本願の第2通信装置に相当する通信装置100とが自動的に実行する。
 100 通信装置
 101 ディスプレイ
 102 入力装置
 120 データ処理部
 121 入力部
 122 制御部
 123 暗号化部
 124 復号化部
 125 第1経路決定部
 126 第2経路決定部
 127 出力部
 128 分割部
 129 結合部

Claims (47)

  1.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムであって、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えており、
     前記第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとするようになっているとともに、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとするとともに、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信するようになっており、
     前記第1通信装置は、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとするようになっているとともに、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付けた場合に、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとするようになっており、
     前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である第1経路と、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合における前記ネットワーク上の経路である第2経路と、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である第3経路とを、前記第2経路と、前記第1経路及び前記第3経路の少なくとも一方とが、比較の対象となる2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている、
     通信システム。
  2.  前記第1通信装置と前記第2通信装置とは、前記第1経路と、前記第2経路とが、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている、
     請求項1記載の通信システム。
  3.  前記第1通信装置は、前記第1経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えており、
     前記第1経路決定部は前記第1経路として前記ネットワーク上の所定の経路を決定するように予め設定されているとともに、前記第2経路決定部は、前記第2経路としてその始点と終点を除いて前記ネットワーク上で前記第1経路と重複しない経路を決定するように予め設定されている、
     請求項2記載の通信システム。
  4.  前記第1経路と前記第2経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路である、
     請求項3記載の通信システム。
  5.  前記インターネット以外の回線上の経路は、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかである、
     請求項4記載の通信システム。
  6.  前記第1通信装置は、前記第1経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えており、
     前記第1経路決定部は、前記第1経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、
     前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第1経路を特定するとともに、始点と終点とを除いて特定した前記第1経路と重複しない前記第2経路を決定するようになっており、
     前記第2通信部は、前記第2経路決定部が決定した前記第2経路を介して、前記第2第1暗号化データを前記第1通信装置に送信するようになっている、
     請求項2記載の通信システム。
  7.  前記第2経路決定部は、前記第1経路がインターネットである場合に、前記第2通信装置が受付けた前記第1暗号化データに付されていたデータから、前記第1暗号化データが前記第1通信装置から前記第2通信装置に至るまでに通過してきた機器のIPアドレスを検出することで前記第1経路を特定するとともに、前記第1経路に含まれない機器のみを通過する前記第2通信装置から前記第1通信装置までの前記インターネット上の経路を前記第2経路として決定するようになっている、
     請求項6記載の通信システム。
  8.  前記第2経路決定部は、前記第2通信装置が前記第1暗号化データを受付けた場合に前記第1暗号化データが送信されてきた回線が、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかを特定するとともに、前記第1暗号化データが送信されてきた回線と異なる回線上の経路を前記第2経路として決定するようになっている、
     請求項6記載の通信システム。
  9.  前記第1通信装置は、前記第1経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えており、
     前記第1経路決定部は、前記第1経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第2経路を特定するデータであり、前記第1暗号化データに付される第2経路情報を生成するようになっており、
     前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2経路情報が付された前記第1暗号化データを受付けた場合に、受付けた前記第1暗号化データに付されていた前記第2経路情報によって特定される経路として前記第2経路を決定するようになっており、
     前記第2通信部は、前記第2経路決定部が決定した前記第2経路を介して、前記第2第1暗号化データを前記第1通信装置に送信するようになっている、
     請求項2記載の通信システム。
  10.  前記第1経路決定部は、前記第1経路、前記第2経路の双方を、インターネット上の経路として特定するようになっている、
     請求項9記載の通信システム。
  11.  前記第1経路決定部は、前記第1経路と前記第2経路の一方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかのものの上の経路を特定するとともに、前記第1経路と前記第2経路の他方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスの他のものの上の経路を特定するようになっている、
     請求項9記載の通信システム。
  12.  前記第1通信装置と前記第2通信装置とは、前記第2経路と、前記第3経路とが、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている、
     請求項1記載の通信システム。
  13.  前記第1通信装置は、前記第1経路と前記第3経路とを決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えており、
     前記第1経路決定部は前記第3経路として前記ネットワーク上の所定の経路を決定するように予め設定されているとともに、前記第2経路決定部は、前記第2経路としてその始点と終点を除いて前記ネットワーク上で前記第3経路と重複しない経路を決定するように予め設定されている、
     請求項12記載の通信システム。
  14.  前記第2経路と前記第3経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路である、
     請求項13記載の通信システム。
  15.  前記インターネット以外の回線上の経路は、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかである、
     請求項14記載の通信システム。
  16.  前記第1通信装置は、前記第1経路と前記第3経路とを決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えており、
     前記第2経路決定部は、前記第2経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、
     前記第1経路決定部は、前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第2経路を特定するとともに、始点と終点とを除いて特定した前記第2経路と重複しない前記第3経路を決定するようになっており、
     前記第1通信部は、前記第1経路決定部が決定した前記第3経路を介して、前記第2暗号化データを前記第2通信装置に送信するようになっている、
     請求項12記載の通信システム。
  17.  前記第1経路決定部は、前記第2経路がインターネットである場合に、前記第1通信装置が受付けた前記第2第1暗号化データに付されていたデータから、前記第2第1暗号化データが前記第2通信装置から前記第1通信装置に至るまでに通過してきた機器のIPアドレスを検出することで前記第2経路を特定するとともに、前記第2経路に含まれない機器のみを通過する前記第1通信装置から前記第2通信装置までの前記インターネット上の経路を前記第3経路として決定するようになっている、
     請求項16記載の通信システム。
  18.  前記第1経路決定部は、前記第1通信装置が前記第2第1暗号化データを受付けた場合に前記第2第1暗号化データが送信されてきた回線が、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかを特定するとともに、前記第2第1暗号化データが送信されてきた回線と異なる回線上の経路を前記第3経路として決定するようになっている、
     請求項16記載の通信システム。
  19.  前記第1通信装置は、前記第1経路と第3経路とを決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第2経路を決定する第2経路決定部を備えており、
     前記第2経路決定部は、前記第2経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記第3経路を特定するデータであり、前記第2第1暗号化データに付される第3経路情報を生成するようになっており、
     前記第1経路決定部は、前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第3経路情報が付された前記第2第1暗号化データを受付けた場合に、受付けた前記第2第1暗号化データに付されていた前記第3経路情報によって特定される経路として前記第3経路を決定するようになっており、
     前記第1通信部は、前記第1経路決定部が決定した前記第3経路を介して、前記第2暗号化データを前記第2通信装置に送信するようになっている、
     請求項12記載の通信システム。
  20.  前記第2経路決定部は、前記第2経路、前記第3経路の双方を、インターネット上の経路として特定するようになっている、
     請求項19記載の通信システム。
  21.  前記第2経路決定部は、前記第2経路と前記第3経路の一方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかのものの上の経路を特定するとともに、前記第2経路と前記第3経路の他方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスの他のものの上の経路を特定するようになっている、
     請求項19記載の通信システム。
  22.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムであって、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えており、
     前記第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとするようになっているとともに、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとするとともに、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信するようになっており、
     前記第1通信装置は、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとするようになっているとともに、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付けた場合に、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとするようになっており、
     前記第1通信装置と前記第2通信装置は、
     前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合に、前記第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記ネットワーク上の経路であるA経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送るようになっており、前記第2通信装置が前記第2第1暗号化データを前記A経路により前記第1通信装置に送るようになっており、前記第1通信装置が前記第2暗号化データを前記A経路により前記第2通信装置に送るようになっているとともに、
     前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている、
     通信システム。
  23.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムであって、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えており、
     前記第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとするようになっているとともに、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとするとともに、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信するようになっており、
     前記第1通信装置は、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとするようになっているとともに、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付けた場合に、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとするようになっており、
     前記第1通信装置と前記第2通信装置は、
     前記第1通信装置が前記第1暗号化データをA経路により前記第2通信装置に送るようになっており、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合に、前記第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送るようになっており、前記第1通信装置が前記第2暗号化データを前記A経路により前記第2通信装置に送るようになっているとともに、
     前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている、
     通信システム。
  24.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムであって、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えており、
     前記第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとするようになっているとともに、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとするとともに、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信するようになっており、
     前記第1通信装置は、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付けた場合に、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとするようになっているとともに、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信するようになっており、
     前記第2通信装置は、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付けた場合に、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとするようになっており、
     前記第1通信装置と前記第2通信装置は、
     前記第1通信装置が前記第1暗号化データを前記ネットワーク上の経路であるA経路により前記第2通信装置に送るようになっており、前記第2通信装置が前記第2第1暗号化データを前記A経路により前記第1通信装置に送るようになっており、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合に、前記第2暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送るようになっているとともに、
     前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定するようになっている、
     通信システム。
  25.  前記第1通信装置は、前記A経路と前記B経路とを決定する第1経路決定部を備えている、
     請求項22又は24記載の通信システム。
  26.  前記第2通信装置は、前記B経路を決定する第2経路決定部を備えている、
     請求項23記載の通信システム。
  27.  前記A経路と前記B経路との一方がインターネット回線上の経路であり、他方がインターネット以外の回線上の経路である、
     請求項22から24のいずれかに記載の通信システム。
  28.  前記インターネット以外の回線上の経路は、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス(SMS)、マルティメディアメッセージサービス(MMS)のいずれかである、
     請求項27記載の通信システム。
  29.  前記第1通信装置は、前記A経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記第B経路を決定する第2経路決定部を備えており、
     前記第1経路決定部は、前記A経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、
     前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付けた場合に、前記A経路を特定するとともに、始点と終点とを除いて特定した前記A経路と重複しない前記B経路を決定するようになっており、
     前記第2通信部は、前記第1経路決定部が決定した前記A経路と、前記第2経路決定部が決定した前記B経路とを介して、前記第2第1暗号化データから得られた2つの前記データの一方と他方とを前記第1通信装置に送信するようになっている、
     請求項23記載の通信システム。
  30.  前記第2経路決定部は、前記A経路がインターネットである場合に、前記第2通信装置が受付けた前記第1暗号化データに付されていたデータから、前記第1暗号化データが前記第1通信装置から前記第2通信装置に至るまでに通過してきた機器のIPアドレスを検出することで前記A経路を特定するとともに、前記A経路に含まれない機器のみを通過する前記第2通信装置から前記第1通信装置までの前記インターネット上の経路を前記B経路として決定するようになっている、
     請求項29記載の通信システム。
  31.  前記第2経路決定部は、前記第2通信装置が前記第1暗号化データを受付けた場合に前記第1暗号化データが送信されてきた回線が、インターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかを特定するとともに、前記第1暗号化データが送信されてきた回線と異なる回線上の経路を前記B経路として決定するようになっている、
     請求項29記載の通信システム。
  32.  前記第1通信装置は、前記A経路を決定する第1経路決定部を備えているとともに、前記第2通信装置は、前記B経路を決定する第2経路決定部を備えており、
     前記第1経路決定部は、前記A経路として前記ネットワーク上の所定の経路を決定するようになっているとともに、前記B経路を特定するデータであり、前記第1暗号化データに付されるB経路情報を生成するようになっており、
     前記第2経路決定部は、前記第2通信装置が、前記第1通信装置から前記第2通信部で前記B経路情報が付された前記第1暗号化データを受付けた場合に、受付けた前記第1暗号化データに付されていた前記B経路情報によって特定される経路として前記B経路を決定するようになっており、
     前記第2通信部は、前記第1経路決定部が決定した前記A経路と、前記第2経路決定部が決定した前記B経路とを介して、前記第2第1暗号化データから得られた2つの前記データの一方と他方とを前記第1通信装置に送信するようになっている、
     請求項23記載の通信システム。
  33.  前記第1経路決定部は、前記A経路、前記B経路の双方を、インターネット上の経路として特定するようになっている、
     請求項32記載の通信システム。
  34.  前記第1経路決定部は、前記第A経路と前記B経路の一方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスのいずれかのものの上の経路を特定するとともに、前記A経路と前記B経路の他方としてインターネット、通信キャリア回線、グローバルIP付与型のIP-VPN、プライベートネットワーク、ショートメッセージサービス、マルティメディアメッセージサービスの他のものの上の経路を特定するようになっている、
     請求項32記載の通信システム。
  35.  前記A経路は、前記B経路よりも通信の品質が高い、
     請求項22から24のいずれかに記載の通信システム。
  36.  前記A経路を用いて送信される2つの前記データのうちの一方より、前記B経路を用いて送信される2つの前記データのうちの他方の方がデータの量が小さい、
     請求項22から24のいずれかに記載の通信システム。
  37.  前記第1暗号化データに対して行われる逆変換可能な前記変換は、前記第1暗号化データを所定の規則にしたがって前記一方のデータと前記他方のデータとに分割する処理として実行されるようになっている、
     請求項22記載の通信システム。
  38.  前記第2第1暗号化データに対して行われる逆変換可能な前記変換は、前記第2第1暗号化データを所定の規則にしたがって前記一方のデータと前記他方のデータとに分割する処理として実行されるようになっている、
     請求項23記載の通信システム。
  39.  前記第2暗号化データに対して行われる逆変換可能な前記変換は、前記第2暗号化データを所定の規則にしたがって前記一方のデータと前記他方のデータとに分割する処理として実行されるようになっている、
     請求項24記載の通信システム。
  40.  前記第1暗号化部と、前記第1復号化部と、前記第2暗号化部と、前記第2復号化部とはそれぞれ、排他的論理和の演算を行うようになっている、
     請求項1、22から24のいずれかに記載の通信システム。
  41.  請求項1、22から24のいずれかに記載された通信システムに含まれる、
     第1通信装置。
  42.  請求項1、22から24のいずれかに記載された通信システムに含まれる、
     第2通信装置。
  43.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなり、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている、
     通信システムによって実行される通信方法であって、
     前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとし、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第1過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付け、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとし、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信する第2過程と、
     前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付け、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとし、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第3過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付け、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとする第4過程と、
     を含んでおり、
     前記第1通信装置と前記第2通信装置は、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である前記第1過程における第1経路と、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合における前記ネットワーク上の経路である前記第2過程における第2経路と、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合における前記ネットワーク上の経路である前記第3過程における第3経路とを、前記第2経路と、前記第1経路及び前記第3経路の少なくとも一方とが、比較の対象となる2つの前記経路の始点と終点とを除いて重複しないように設定する、
     通信方法。
  44.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなり、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている、
     通信システムによって実行される通信方法であって、
     前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとし、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第1過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付け、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとし、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信する第2過程と、
     前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付け、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとし、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第3過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付け、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとする第4過程と、
     を含んでおり、
     前記第1過程では、前記第1通信装置が前記第1暗号化データを前記第2通信装置に送る場合に、前記第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記ネットワーク上の経路であるA経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送り、
     前記第2過程では、前記第2通信装置が、前記A経路を介して受取った2つのデータのうちの前記一方のデータと、前記B経路を介して受取った2つのデータのうちの前記他方のデータとに逆変換を行うことによって得た前記第1暗号化データに対して前記変換を行うことにより前記第2第1暗号化データを得る処理を実行するとともに、前記第2第1暗号化データを前記A経路により前記第1通信装置に送り、
     前記第3過程では、前記第1通信装置が前記第2暗号化データを前記A経路により前記第2通信装置に送り、
     前記第1通信装置と、前記第2通信装置とは、前記第1から前記第3過程において、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定する、
     通信方法。
  45.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなり、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている、
     通信システムによって実行される通信方法であって、
     前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとし、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第1過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付け、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとし、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信する第2過程と、
     前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付け、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとし、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第3過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付け、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとする第4過程と、
     を含んでおり、
     前記第1過程では、前記第1通信装置が前記第1暗号化データを前記ネットワーク上の経路であるA経路により前記第2通信装置に送り、
     前記第2過程では、前記第2通信装置が前記第2第1暗号化データを前記第1通信装置に送る場合に、前記第2第1暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送り、
     前記第3過程では、前記第1通信装置が、前記A経路を介して受取った2つのデータのうちの前記一方のデータと、前記B経路を介して受取った2つのデータのうちの前記他方のデータとに逆変換を行うことによって得た前記第2第1暗号化データに対して前記変換を行うことにより前記第2暗号化データを得る処理を実行するとともに、前記第2暗号化データを前記A経路により前記第2通信装置に送り、
     前記第1通信装置と、前記第2通信装置とは、前記第1から前記第3過程において、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定する、
     通信方法。
  46.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなり、
     前記第1通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第1暗号化部と、前記第1暗号化部によりなされた暗号化の逆変換を行う第1復号化部と、前記第2通信装置と所定のネットワークを介して通信を行う第1通信部とを備えているとともに、
     前記第2通信装置は、交換法則と結合法則とを充足する暗号化のための変換を行う第2暗号化部と、前記第2暗号化部によりなされた暗号化の逆変換を行う第2復号化部と、前記第1通信装置と前記ネットワークを介して通信を行う第2通信部とを備えている、
     通信システムによって実行される通信方法であって、
     前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化部で暗号化のための変換をして第1暗号化データとし、前記第1暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第1過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第1暗号化データを受付け、前記第2暗号化部で前記第1暗号化データに暗号化のための変換をして第2第1暗号化データとし、前記第2第1暗号化データを前記第2通信部で前記ネットワークを介して前記第1通信装置に送信する第2過程と、
     前記第1通信装置が、前記第2通信装置から前記第1通信部で前記第2第1暗号化データを受付け、前記第1復号化部で前記第2第1暗号化データに対して前記第1暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化データを第2暗号化データとし、前記第2暗号化データを前記第1通信部で前記ネットワークを介して前記第2通信装置に送信する第3過程と、
     前記第2通信装置が、前記第1通信装置から前記第2通信部で前記第2暗号化データを受付け、前記第2復号化部で前記第2暗号化データに対して前記第2暗号化部によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化データを前記共有データとする第4過程と、
     を含んでおり、
     前記第1過程では、前記第1通信装置が前記第1暗号化データを前記ネットワーク上の経路であるA経路により前記第2通信装置に送り、
     前記第2過程では、前記第2通信装置が前記第2第1暗号化データを前記A経路により前記第1通信装置に送り、
     前記第3過程では、前記第1通信装置が前記第2暗号化データを前記第2通信装置に送る場合に、前記第2暗号化データに対して逆変換可能な所定の変換を行うことによって得られた2つのデータのうちの一方を前記A経路により、2つの前記データのうちの他方を前記ネットワーク上の経路であるB経路によりそれぞれ送り、
     前記第4過程では、前記第2通信装置が、前記A経路を介して受取った2つのデータのうちの前記一方のデータと、前記B経路を介して受取った2つのデータのうちの前記他方のデータとに逆変換を行うことによって得た前記第2暗号化データに対して前記変換を行うことにより前記共有データを得る処理を実行し、
     前記第1通信装置と、前記第2通信装置とは、前記第1から前記第3過程において、前記A経路と、前記B経路とを、2つの前記経路の始点と終点とを除いて重複しないように設定する、
     通信方法。
  47.  前記第1通信装置と前記第2通信装置とが、前記第1過程から前記第4過程を連続して自動的に行う、
     請求項43から46のいずれかに記載の通信方法。
PCT/JP2023/031253 2022-09-29 2023-08-29 通信システム、第1通信装置、第2通信装置、通信方法 WO2024070414A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022156125 2022-09-29
JP2022-156125 2022-09-29

Publications (1)

Publication Number Publication Date
WO2024070414A1 true WO2024070414A1 (ja) 2024-04-04

Family

ID=90477143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/031253 WO2024070414A1 (ja) 2022-09-29 2023-08-29 通信システム、第1通信装置、第2通信装置、通信方法

Country Status (1)

Country Link
WO (1) WO2024070414A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181350A (ja) * 1982-02-02 1983-10-24 オムネット・・アンシェイツ 公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置
JP2006094105A (ja) * 2004-09-24 2006-04-06 Nippon Telegr & Teleph Corp <Ntt> トンネリング方法および装置、ならびにそのプログラムと記録媒体
US20110211701A1 (en) * 2007-12-18 2011-09-01 Eric Grall Method for exchanging keys by indexation in a multipath network
JP2013537769A (ja) * 2010-08-20 2013-10-03 日本電気株式会社 通信システム、制御装置、ノード制御方法およびプログラム
US20160182228A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Diffie-hellman key agreement using an m-of-n threshold scheme

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181350A (ja) * 1982-02-02 1983-10-24 オムネット・・アンシェイツ 公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置
JP2006094105A (ja) * 2004-09-24 2006-04-06 Nippon Telegr & Teleph Corp <Ntt> トンネリング方法および装置、ならびにそのプログラムと記録媒体
US20110211701A1 (en) * 2007-12-18 2011-09-01 Eric Grall Method for exchanging keys by indexation in a multipath network
JP2013537769A (ja) * 2010-08-20 2013-10-03 日本電気株式会社 通信システム、制御装置、ノード制御方法およびプログラム
US20160182228A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Diffie-hellman key agreement using an m-of-n threshold scheme

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YOSHITO KANAMORI ; SEONG-MOO YOO ; MOHAMMAD AL-SHURMAN: "A quantum no-key protocol for secure data communication", 43RD ACM SOUTHEAST CONFERENCE, ACM, KENNESAW, GA, USA, 18 March 2005 (2005-03-18) - 20 March 2005 (2005-03-20), Kennesaw, GA, USA , pages 92 - 93, XP058193316, ISBN: 978-1-59593-059-0, DOI: 10.1145/1167253.1167274 *

Similar Documents

Publication Publication Date Title
EP3553995B1 (en) Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
CN104160674B (zh) 内容中心网络
KR100563108B1 (ko) Ic 카드 및 ic 카드간 암호통신 방법
Rayarikar et al. SMS encryption using AES algorithm on android
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
CN107666479A (zh) 信息加密解密方法、装置、计算机设备和存储介质
CN104243149B (zh) 加、解密方法,装置和服务器
EA010611B1 (ru) Способ (варианты) и устройство для криптографической обработки данных (варианты)
CN106612275A (zh) 用于传送和接收消息的用户终端和方法
CN108347404A (zh) 一种身份认证方法及装置
KR20180053148A (ko) 메시지 암호화를 위한 방법 및 단말 장치
CN109613990A (zh) 软键盘安全输入方法、服务器、客户端、电子设备和介质
CN109067527A (zh) 一种量子加密通信方法、通信终端和计算机可读存储介质
CN113591117A (zh) 社交平台日常对话加密方法、系统、存储介质及计算设备
JP4909668B2 (ja) ハイブリッド暗号化装置およびハイブリッド暗号化方法
CN110493265A (zh) 加密数据的方法及存储介质
CN106656472A (zh) 交易数据的加密方法及系统
WO2024070414A1 (ja) 通信システム、第1通信装置、第2通信装置、通信方法
KR20210014554A (ko) 비밀 채팅을 통해 메시지를 송수신하는 기법
CN109150532A (zh) 一种Onchain钱包私钥的加密和解密方法、装置及客户端架构
KR101649908B1 (ko) 키보드 보안 장치 및 키보드에 키를 입력하는 방법
JP7158693B2 (ja) 通信システム、サーバ装置、ユーザ装置、方法、コンピュータプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
US11451521B2 (en) Systems and methods for encrypted data transmission

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23871655

Country of ref document: EP

Kind code of ref document: A1