WO2018181934A2 - 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム - Google Patents

通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム Download PDF

Info

Publication number
WO2018181934A2
WO2018181934A2 PCT/JP2018/013711 JP2018013711W WO2018181934A2 WO 2018181934 A2 WO2018181934 A2 WO 2018181934A2 JP 2018013711 W JP2018013711 W JP 2018013711W WO 2018181934 A2 WO2018181934 A2 WO 2018181934A2
Authority
WO
WIPO (PCT)
Prior art keywords
communication device
shared data
communication
encryption
encrypted shared
Prior art date
Application number
PCT/JP2018/013711
Other languages
English (en)
French (fr)
Other versions
WO2018181934A3 (ja
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 WO2018181934A2 publication Critical patent/WO2018181934A2/ja
Publication of WO2018181934A3 publication Critical patent/WO2018181934A3/ja

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to communication technology, and more particularly to cryptographic communication technology.
  • Such information may be a sentence including secret content to be transmitted from one of the two communication devices to the other.
  • encrypted communication technology is naturally used.
  • encrypted communication technology for example, both perform encryption or decryption processing.
  • the above-described information may be information for generating and selecting the key itself or a key common to both.
  • SSL secure sockets layer
  • SSL has two main aspects. One is identity verification (authentication), and the other is encrypted communication. In order to explain how these are realized, a process executed in SSL communication will be described.
  • the two communication devices described above are a client and a server, and SSL communication is executed between them.
  • the server generates a pair of secret key and public key.
  • both the private key and the public key can be obtained by encrypting plaintext data into encrypted data, and encrypting data encrypted by the other of them. It can be decrypted and returned to plaintext data.
  • a server is a server certificate that is data for the other party to check its validity, includes its public key, and has an electronic signature for indicating the validity of the server certificate.
  • the client prepares a common key.
  • the common key can be obtained by encrypting plaintext data to be encrypted data, and decrypting encrypted data encrypted with the same common key to return to plaintext data. It is supposed to be possible.
  • the root certificate is installed on the client.
  • the root certificate is created by the root certificate authority.
  • the root certificate authority is also a person who creates the server certificate described above and a person who attaches an electronic signature to the server certificate.
  • the client can confirm the validity of the server certificate by the combination of the root certificate and the digital signature attached to the server certificate.
  • Sharing of common key between server and client a.
  • the client makes a request for SSL communication to the server.
  • the server sends the server certificate to the client.
  • the server certificate includes the public key used by the server and has an electronic signature.
  • the client verifies the validity of the server certificate using its own root certificate and the electronic signature attached to the server certificate. If the server certificate is valid, the server that it is communicating with If the server certificate is invalid, authentication that the server is valid is not performed.
  • the client authenticates the server, the client encrypts the common key owned by itself with the public key included in the server certificate received from the server, and sends it to the server.
  • the server decrypts the encrypted public key received from the client with the private key owned by itself. Thus, the client common key is shared between the client and the server.
  • the above is a process for securely sharing a common key, which is a common key used for encryption and decryption when encrypted communication is performed between the server and the client.
  • encrypted communication is executed between the server and the client.
  • Both the server and the client send the encrypted data encrypted with their own common key to the other party.
  • Both the server and the client decrypt the encrypted data received from the other party with their own common key.
  • encrypted communication can be performed between the server and the client.
  • the above is the process performed by SSL communication. If it is said that it is rough, it is only encrypted communication between a server and a client that it wants to perform by SSL communication.
  • the point of SSL communication is that this is to be performed using a common key.
  • the reason why encrypted communication with a common key is desired is that encrypted communication with a common key is particularly lighter in process than encrypted communication using a public key and a private key.
  • a common key must be shared between the server and the client. In order to realize this, the common key is transmitted from the client to the server using the public key and the secret key possessed by the server in the process (2) for SSL communication.
  • the keys used for encryption and decryption differ as described above.
  • the third party does not have a secret key.
  • the client's common key itself cannot be stolen by a third party. This result is not affected at all by the public key being made public.
  • the public key sent from the server to the client is used.
  • the legitimacy of the public key itself, and the legitimacy of the person (server) who sent the public key becomes a problem here.
  • a malicious third party may send a public key to the client. It is the processes (1) and (2) described above for SSL communication that guarantee the validity of the public key or the person who sent it. Through these processes, the client confirms (authenticates) the validity of the server, thereby ensuring the validity of the SSL communication.
  • the SSL communication as described above always requires encrypted communication using the public key and the secret key in order to share the common key between the server and the client.
  • Such processing is complicated or complicated.
  • the existence of a certificate authority is indispensable in SSL communication.
  • some certificate authorities are concerned about the degree of reliability, so in practice, there is a situation that falls to the end, such as setting up a higher certificate authority to authenticate the validity of the certificate authority. Has occurred.
  • SSL communication was mainly described, but SSL communication is still considered to be a reasonable method for sharing secure information (common key) between two communication devices. It is practical and popular. In other words, at least at present, there is no technology for simultaneously realizing safety, labor, cost, simplicity of the system, and the like.
  • This invention makes it a subject to propose the technique for implement
  • the present invention for solving the above-described problems is as follows.
  • the present invention is a communication system including a first communication device that is one of two communication devices that communicate with each other and a second communication device that is the other communication device.
  • the first communication device includes a first encryption unit that performs conversion for encryption, a first decryption unit that performs reverse conversion of encryption performed by the first encryption unit, and the second communication device.
  • First communication means for communicating with the first communication means.
  • the second communication device includes a second encryption unit that performs conversion for encryption, a second decryption unit that performs reverse conversion of encryption performed by the second encryption unit, and the first communication unit.
  • Second communication means for communicating with the communication device.
  • the first communication device performs first encryption by converting the shared data, which is plaintext data, which should be shared with the second communication device, by the first encryption means.
  • the first encrypted shared data is transmitted to the second communication device by the first communication means, and the second communication device transmits the first communication data to the first communication.
  • the second encrypted means converts the first encrypted shared data into the first encrypted shared data for encryption.
  • the second first encrypted shared data are transmitted to the first communication device by the second communication means.
  • the first decryption device performs the second first encryption.
  • the second first encrypted shared data is made the second encrypted shared data by performing reverse conversion of the conversion for encryption performed by the first encryption means of the shared data.
  • the second encrypted shared data is transmitted to the second communication device by the first communication means.
  • the second decryption device uses the second encrypted shared data.
  • the second encrypted shared data is used as the shared data by performing reverse conversion of the conversion for encryption performed by the second encryption means.
  • encryption is performed on shared data that is plaintext, but encryption processing may be further performed on the encrypted shared data.
  • the plaintext shared data is made the first encrypted shared data.
  • the first encrypted shared data becomes the second first encrypted shared data.
  • the word “first” or “second” is attached before “shared data”
  • the word “first” is attached to the first communication device.
  • the word “second” means the shared data encrypted by the second communication device.
  • sharing is performed.
  • the data is encrypted by both the first communication device and the second communication device, and the communication device corresponding to the later word of the words “first” and “second” (that is, the above-described wording) In this case, it means the shared data encrypted in the communication device corresponding to the previous wording (that is, the second communication device in the above-mentioned case) after being encrypted first in the first communication device). It shall be.
  • the above-described communication system includes a first communication device and a second communication device that are communication devices that communicate with each other. More communication devices may be included in the communication system, but two communication devices that communicate with each other among them 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 not limited to this, but is performed, for example, by the Internet or other networks.
  • the first communication device can execute a first encryption unit that performs an encryption process and a reverse process of the encryption process performed by the first encryption unit, that is, a decryption process. Decoding means.
  • the second communication device may execute a second encryption unit that performs an encryption process and a reverse process of the encryption process performed by the second encryption unit, that is, a decryption process.
  • Second decoding means that can be used.
  • data to be shared between these two communication devices that is, the first communication device and the second communication device is referred to as shared data.
  • the shared data is plain text data.
  • the shared data does not necessarily have to be meaningful data. For example, characters and numbers such as a common key used when encrypted communication is performed between the first communication device and the second communication device.
  • An appropriate enumeration such as In the communication system according to the present application, the shared data sharing method to be executed is very simple.
  • the communication device having the shared data first in other words, the communication device that provides the shared data to the other communication device is referred to as the first communication device in the present invention, and the two communication devices.
  • the other of these is referred to as a second communication device.
  • the shared data is encrypted by the first encryption means of the first communication device, and the first encrypted shared data is obtained.
  • the first encrypted shared data is sent from the first communication device to the second communication device. Even if the first encrypted shared data is sent over a network such as the Internet, since the first encrypted shared data is encrypted data, the encryption process executed by the first encryption unit is strong.
  • the second communication device receives the first encrypted shared data.
  • the second communication device further performs encryption processing on the first encrypted shared data by the second encryption unit, and changes the first encrypted shared data to the second first encrypted shared data.
  • the second first encrypted shared data is sent from the second communication device to the first communication device. Even if the second first encrypted shared data is sent over a network such as the Internet, the second first encrypted shared data is encrypted data. Since the data is double-encrypted by the two encryption means, the second and second encryptions are performed as long as the encryption process executed by the first encryption means and the second encryption means is strong and safe.
  • the first communication device receives the second first encrypted shared data.
  • the first communication device performs decryption processing on the second first encrypted shared data by the first decryption means. Such decryption processing is performed by performing reverse conversion of the conversion performed for encryption by the first encryption means.
  • the second first encrypted shared data becomes the second encrypted shared data.
  • the second encrypted shared data is obtained by encrypting the shared data by the second encryption means.
  • the second encrypted shared data is sent from the first communication device to the second communication device.
  • the second encrypted shared data is sent over a network such as the Internet, since the second encrypted shared data is encrypted data, the encryption process executed by the second encryption unit is strong. As long as the second encrypted shared data is acquired by a third party, the second encrypted shared data is basically safe, and the third party hardly sees the contents of the shared data.
  • the second communication device receives the second encrypted shared data.
  • the second communication device performs decryption processing on the second encrypted shared data by the second decryption means. Such decryption processing is performed by performing reverse conversion of the conversion performed for encryption by the second encryption means. Then, the second encrypted shared data returns to the plaintext shared data. As described above, the plaintext shared data is shared between the first communication device and the second communication device.
  • the shared data when the shared data is transmitted between the first communication device and the second communication device, the shared data is not in a plain text state, but the first encrypted shared data, the second first encrypted shared data, the second The encrypted shared data is in any state, and in any case, it is in an encrypted state. Therefore, in such a communication system, the first communication device performs simple processing of encryption by the first encryption means and decryption processing by the first decryption means, and the second communication device performs the second encryption means. The simple processing of encryption by the second decryption means and the decryption processing by the second decryption means is performed, and the shared data in the encrypted state is made to go back and forth once and a half between the first communication device and the second communication device.
  • the shared data can be safely shared between the first communication device and the second communication device only by performing extremely simple processing.
  • the encryption and decryption processing executed by the first communication device and the second communication device does not need to use public key encryption and is essential in conventional SSL communication. There is no need to rely on certificates or certificate authorities. Therefore, not only can the labor and cost for realizing such a communication system be reduced, but also the system for operating the communication system can be simplified.
  • the encryption and decryption (inverse transformation) to be performed do not need to be so special, and a known or well-known technique can be used.
  • the first decryption unit of the first communication device must be able to convert the second first encrypted shared data into the second encrypted shared data. Therefore, encryption and decryption executed by the first encryption unit and the first decryption unit of the first communication device, and encryption executed by the second encryption unit and the second decryption unit of the second communication device. Encoding and decoding need to satisfy certain conditions.
  • P be the shared data in the plaintext state.
  • data after computation for encryption performed by the first encryption means is indicated as “P ⁇ A”. That is, the first encrypted shared data is “P ⁇ A”.
  • the first encrypted shared data is further encrypted by the second encryption means. Since the first encrypted shared data is P ⁇ A as described above, the data after calculation for encryption encrypted by the second encryption means is indicated as “(P ⁇ A) ⁇ B”. To do. That is, the second first encrypted shared data is “(P ⁇ A) ⁇ B”.
  • the decryption process performed by the first decryption means is denoted by ⁇ A ⁇ 1 and the decryption process performed by the second decryption means is denoted by ⁇ B ⁇ 1
  • the second first cipher The process executed by the first decryption means on the encrypted shared data is “((P ⁇ A) ⁇ B) ⁇ A ⁇ 1 ”.
  • this is the second encrypted shared data (the second encrypted shared data can be displayed as “P ⁇ B” according to the above rules).
  • (P ⁇ A) ⁇ B) ⁇ A ⁇ 1 P ⁇ B ”.
  • the encryption and decryption executed by the first encryption unit and the first decryption unit of the first communication device and the second encryption unit and the second of the second communication device.
  • the encryption and decryption executed by the decryption means (the operation executed in) is expressed by “x” and the operation target is expressed as “F”, “G”, “H”.
  • a typical operation that satisfies the above conditions is an exclusive OR operation.
  • barrel shift, four arithmetic operations, and the like can be used as similar operations.
  • encryption and decryption executed by the first encryption unit and the first decryption unit of the first communication device and encryption executed by the second encryption unit and the second decryption unit of the second communication device.
  • the conversion and the decoding can be performed as these exemplified operations.
  • the inventor of the present application also proposes the first communication device constituting the communication system as described above as one aspect of the present invention.
  • the effect of the first communication device is equal to the effect of the communication system.
  • the first communication device as an example converts a communication system including a first communication device that is one of two communication devices that communicate with each other and a second communication device that is the other communication device, for conversion for encryption.
  • the first communication device includes a first encryption unit that performs conversion for encryption, a first decryption unit that performs reverse conversion of encryption performed by the first encryption unit, and the second First communication means for communicating with the communication device.
  • the first communication device performs first encryption sharing on the shared data, which is plaintext data, which should be shared with the second communication device, by the first encryption means for encryption.
  • the first encrypted shared data is transmitted to the second communication device by the first communication means.
  • the second communication device that has received the first encrypted shared data from the first communication device by the second communication unit is configured to receive the first encrypted share by the second encryption unit.
  • the first communication means accepts the second first encrypted shared data from the second communication device, and the first decryption means performs the first encryption means out of the second first encrypted shared data.
  • the second first encrypted shared data is changed to second encrypted shared data, and the second encrypted shared data is changed to the second encrypted shared data. So as to transmit to the second communication device by one communication means You have me. Accordingly, the second communication device that has received the second encrypted shared data by the second communication unit from the first communication device, and the second decryption unit has the second encrypted shared data out of the second encrypted shared data.
  • the second encrypted shared data is made the shared data by performing reverse conversion of the conversion for encryption performed by the two encryption means.
  • the inventor of the present application is a computer device for configuring the first communication device described above in combination with a predetermined communication device provided with the first communication means, the first encryption means, and the first decryption means.
  • a computer apparatus including a conversion unit is also proposed as one embodiment of the present invention.
  • an example of the predetermined communication device is a smartphone or a mobile phone
  • an example of the computer device is a SIM card (Subscriber Identity Module Card) that can be mounted on the predetermined communication device.
  • SIM card Subscriber Identity Module Card
  • the inventor of the present application also proposes a second communication device constituting the communication system as described above as one aspect of the present invention.
  • the effect of the second communication device is equal to the effect of the communication system.
  • An example second communication apparatus converts a communication system including a first communication apparatus that is one of two communication apparatuses that communicate with each other and a second communication apparatus that is the other communication apparatus, for encryption.
  • It is a 2nd communication apparatus comprised by a combination with a 1st communication apparatus.
  • the second communication device includes a second encryption unit that performs conversion for encryption, a second decryption unit that performs reverse conversion of encryption performed by the second encryption unit, and the first communication unit.
  • Second communication means for communicating with the communication device.
  • the first communication device performs conversion for encryption by the first encryption means to shared data that is plaintext data that is data to be shared with the second communication device.
  • the first encrypted shared data is transmitted from the first communication device to the second communication device when the first encrypted shared data is transmitted to the second communication device by the first communication device.
  • the encrypted shared data is received, and the second encrypted means converts the first encrypted shared data for encryption into second encrypted shared data, and the second encrypted first data Shared data is transmitted to the first communication device by the second communication means.
  • the second communication device may also be configured such that the first communication device that has received the second first encrypted shared data from the second communication device by the first communication unit is the second first device by the first decryption unit.
  • the second first encrypted shared data is made the second encrypted shared data, and the second
  • the second encrypted shared data is received from the first communication device by the second communication unit, and the second decryption unit
  • the second encrypted shared data is made the shared data by performing reverse conversion of the conversion for encryption performed by the second encryption means. Yes.
  • the inventor of the present application is a computer device for configuring the second communication device described above in combination with a predetermined communication device provided with the second communication means, the second encryption means, and the second decryption means.
  • a computer apparatus including a conversion unit is also proposed as one embodiment of the present invention.
  • an example of the predetermined communication device is a smartphone or a mobile phone
  • an example of the computer device is a SIM card that can be mounted on the predetermined communication device. According to such a computer apparatus, it is possible to function as the second communication apparatus of the present application by retrofitting a SIM card or other computer apparatus to a general smartphone or other communication apparatus.
  • the inventor of the present application also proposes, as one aspect of the present invention, a method executed by the first communication device that constitutes the communication system as described above.
  • the effect of such a method is equal to the effect of the communication system.
  • An example of such a method is that a communication system comprising a first communication device that is one of two communication devices that communicate with each other and a second communication device that is the other communication device performs a second conversion for encryption.
  • the second communication comprising: an encryption unit; a second decryption unit that performs reverse conversion of the encryption performed by the second encryption unit; and a second communication unit that communicates with the first communication device.
  • the first data processing apparatus comprising a first data processing unit configured to perform data processing and a first communication unit configured to communicate with the second communication device.
  • the first data processing unit executes conversion for encryption into shared data that is plaintext data that is data to be shared with the second communication device, and performs the first encryption.
  • the first encrypted shared data from the first communication device to the second communication device, the first encrypted shared data from the first communication device to the second communication device, and the first encrypted shared data from the first communication device to the second communication device.
  • the second communication device that has received the first encrypted shared data is converted to the first encrypted shared data by the second encryption means, and converted into the second first encrypted shared data.
  • the second encrypted shared data; A process of converting the second first encrypted shared data into second encrypted shared data by performing inverse conversion of the conversion for encryption performed by the first data processing means, the second encrypted shared data
  • the second communication device that has received the second encrypted shared data from the first communication device by the second communication unit is configured to receive the second encrypted shared data by the second decryption unit.
  • the second encrypted shared data can be made the shared data by performing reverse conversion of the conversion for encryption performed by the second encryption means.
  • the inventor of the present application also proposes, as an aspect of the present invention, a method executed by the second communication device that constitutes the communication system as described above.
  • the effect of such a method is equal to the effect of the communication system.
  • An example of such a method is that a communication system including a first communication device that is one of two communication devices that communicate with each other and a second communication device that is the other communication device performs first conversion for encryption.
  • the first communication comprising: an encryption unit; a first decryption unit that performs reverse conversion of encryption performed by the first encryption unit; and a first communication unit that communicates with the second communication device.
  • the second data processing apparatus comprising a second data processing means configured to perform data processing and a second communication means configured to communicate with the first communication apparatus.
  • the method is performed by the second data processing means, wherein the first communication device converts the first encryption into shared data that is plaintext data that is data to be shared with the second communication device.
  • the first communication shared data is converted into the first encrypted shared data by the means for encryption.
  • the above-described method executed by the first communication device is performed on the shared data that is plaintext data that the first communication device should share with the second communication device. All processes after the process of converting for encryption to the first encrypted shared data may be automatically performed. According to this, after the user who handles the first communication device performs an operation for causing the first communication device to perform processing for converting the shared data to be encrypted and making the first encrypted shared data. Even if no operation is performed, since the first communication device spontaneously performs processing for the first communication device to share the shared data with the second communication device, the first communication device is handled (for example, the first communication device). It is possible to save the trouble of the user (operating or managing one communication device).
  • the above-described method executed by the first communication device encrypts the shared data that is plaintext data that the first communication device should share with the second communication device.
  • the first communication device may automatically perform the process of converting the data into the first encrypted shared data.
  • SSL communication when one of two communication devices tries to communicate with the other, for example, a user who operates a client serving as one communication device wants to browse a home page provided by a server serving as the other communication device.
  • the URL of the home page is specified on the address bar of the browser installed in the client, the client and the server before starting SSL communication that is encrypted communication using a common key between the client and the server,
  • the communication for sharing the shared key is automatically executed.
  • the first communication device when the first communication device performs an operation on the first communication device to indicate that the user intends to start communication with the second communication device, the first communication device can encrypt the shared data. All processes after the process of converting to the first encrypted shared data may be automatically performed.
  • the above-mentioned method executed by the second communication device is the data that the second data processing means should share with the second communication device by the first communication device.
  • the shared data which is plaintext data, is converted for encryption by the first encryption means to become first encrypted shared data, and the first encrypted shared data is converted to the second communication by the first communication means.
  • all of the subsequent steps including the step of allowing the second communication means to accept the first encrypted shared data from the first communication device may be performed automatically. . This is useful for reducing the effort of the user who handles the second communication device, as in the case described above.
  • the automatic processing described above in the first communication device and the second communication device may be executed by both the first communication device and the second communication device.
  • the inventor of the present application also proposes a computer program for causing a general-purpose computer to function as the first communication device constituting the communication system as described above.
  • a computer program as an example performs a conversion for encryption on a communication system including a first communication device that is one of two communication devices that communicate with each other and a second communication device that is the other communication device.
  • a computer program for causing a computer including a first communication unit that communicates with the second communication device to function as a first communication device configured by a combination with a communication device.
  • the computer program causes the computer to perform conversion for encryption into shared data that is plaintext data that is data to be shared with the second communication device, and to obtain first encrypted shared data.
  • 2 communication devices convert the first encrypted shared data to the first encrypted shared data by the second encryption means to obtain the second first encrypted shared data, and the second first encrypted shared data.
  • the second communication means transmits the second first encrypted shared data from the second communication apparatus to the first communication apparatus, the second first Encrypted shared data
  • the second encrypted shared data is converted into the second encrypted shared data by performing reverse conversion of the conversion for encryption performed by the computer, and the second encrypted shared data is converted into the second encrypted shared data.
  • the second communication device that has received the second encrypted shared data from the first communication device by the second communication unit can be used by the second decryption unit by the second encrypted shared data.
  • the second encrypted shared data can be made the shared data.
  • the inventor of the present application also proposes, as one aspect of the present invention, a computer program for causing a general-purpose computer to function as the second communication device constituting the communication system as described above.
  • a computer program as an example performs a conversion for encryption on a communication system including a first communication device that is one of two communication devices that communicate with each other and a second communication device that is the other communication device. 1st encryption means, 1st decryption means to perform reverse conversion of encryption performed by said 1st encryption means, and 1st communication means to communicate with said 2nd communication apparatus
  • a computer program for causing a computer including a second communication unit that communicates with the first communication device to function as a second communication device configured in combination with the communication device.
  • the computer program causes the first encryption unit to encrypt the shared data, which is plaintext data, which should be shared with the second communication device, by the first encryption unit.
  • the first encryption unit For the first encrypted shared data and when the first encrypted shared data is transmitted to the second communication device by the first communication means, the first encryption from the first communication device.
  • Receiving the encrypted shared data by the second communication means, converting the first encrypted shared data for encryption into second encrypted shared data, the second first encryption The process of causing the second communication means to transmit the shared data to the first communication apparatus, the first communication apparatus receiving the second first encrypted shared data from the second communication apparatus by the first communication means, Said first decoding means
  • the second encrypted shared data is converted into the second encrypted shared data by performing reverse conversion of the conversion for encryption performed by the first encrypting unit of the second first encrypted shared data.
  • the second communication unit accepts the second encrypted shared data from the first communication device.
  • the figure which shows the whole structure of the communication system by one Embodiment The figure which shows the external appearance of the communication apparatus contained in the communication system shown in FIG.
  • the figure which shows the hardware constitutions of the communication apparatus contained in the communication system shown in FIG. The block diagram which shows the functional block produced
  • FIG. 1 schematically shows the overall configuration of a communication system as an embodiment of a transmission / reception system of the present invention.
  • the communication system of this embodiment includes a large number of communication devices 100-1 to 100-N (hereinafter, 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 the network 400. That is, the above-described communication performed by any two of the many communication devices 100 is communication via the network 400 in this embodiment.
  • the network 400 is, for example, the Internet. However, a large number of communication devices 100 do not necessarily need to be connectable to the network 400, and the above-described communication performed by any two of these devices need not be communication via the network 400. Not necessarily.
  • the communication devices 100-1 to 100-N are premised on that two of them communicate with each other.
  • Each of the communication devices 100-1 to 100-N is not limited to this, but in this embodiment, the communication devices 100-1 to 100-N may function as the first communication device in the present invention or function as the second communication device in the present invention. There is also a case.
  • the configurations of the communication apparatuses 100-1 to 100-N are the same in relation to the present invention.
  • Communication devices 100-1 to 100-N include computers. 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 apparatuses 100-1 to 100-N proceed with the discussion on the assumption that each user is a personal computer.
  • the communication device 100 is a mobile phone, a smartphone, a tablet, a notebook computer, a desktop computer, or the like.
  • the communication device 100 is a smartphone or a tablet
  • the communication device 100 as a smartphone may be, for example, iPhone manufactured and sold by Apple Japan LLC.
  • the communication device 100 as a tablet is, for example, Apple Japan LLC. May be an iPad that manufactures and sells.
  • the communication device 100 is assumed to be a smartphone.
  • the communication device 100 includes a display 101.
  • the display 101 is for displaying an image that is a still image or a moving image, and a known or well-known one can be used.
  • the display 101 is a liquid crystal display, for example.
  • the communication device 100 also includes an input device 102.
  • the input device 102 is for a user to make a desired input to the communication device 100.
  • a known or well-known input device 102 can be used.
  • the input device 102 of the communication device 100 in this embodiment is a button type, but is not limited to this, and a numeric keypad, a keyboard, a trackball, a mouse, or the like can also be used.
  • the input device 102 may 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 central processing unit (CPU) 111, a read only memory (ROM) 112, a random access memory (RAM) 113, and an interface 114, which are interconnected by a bus 116.
  • the CPU 111 is an arithmetic device that performs arithmetic operations. For example, the CPU 111 executes a process described later by executing a computer program recorded in the ROM 112 or the RAM 113.
  • the communication device 100 may include a hard disk drive (HDD) or other large capacity recording device as hardware, and the computer program may be recorded in the large capacity recording device.
  • HDD hard disk drive
  • 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 preinstalled in the communication apparatus 100 or may be installed afterwards.
  • the installation of the computer program into the communication device 100 may be performed via a predetermined recording medium such as a memory card, or may be performed 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 processing to be described later.
  • the computer program recorded in the ROM 112 is not limited to this, and if the communication device 100 is a smartphone, it is necessary to make the communication device 100 function as a smartphone, for example, a computer program for executing a call or e-mail.
  • the communication apparatus 100 is also capable of browsing a home page based on data received via the network 400, and a known web browser is implemented 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 program or data described above may be recorded.
  • the interface 114 exchanges data between the CPU 111 and the RAM 113 connected via the bus 116 and the outside.
  • the display 114 and the input device 102 are connected to the interface 114.
  • the operation content input from the input device 102 is input to the bus 116 from the interface 114.
  • 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 publicly known means for communicating with the outside via the network 400 which is the Internet. It is possible to transmit data via the network and receive data via the network 400.
  • the transmission / reception of data via the network 400 may be performed by wire or wirelessly. For example, when the communication device 100 is a smartphone, such communication will normally be performed wirelessly.
  • the configuration of the transmission / reception mechanism may be a known or well-known configuration.
  • the data received by the transmission / reception mechanism from the network 400 is received by the interface 114, and the data passed from the interface 114 to the transmission / reception mechanism is transmitted to the outside via the network 400 by the transmission / reception mechanism, for example, other communication. It is sent to the device 100.
  • Examples of data that each communication device 100 transmits / receives using the transmission / reception mechanism via the network 400 include first encrypted shared data, second first encrypted shared data, and second encrypted shared, which will be described later in detail. It is data.
  • a functional block as shown in FIG. 4 is generated in the communication device 100.
  • the following functional blocks may be generated by the functions of the above-described computer program for causing the communication device 100 to function as the communication device of the present invention, but are installed in the above-described computer program and the communication device 100. It may also be generated in cooperation with another OS or other computer program.
  • a data processing unit 120 is generated in relation to the function of the present invention.
  • the data processing unit 120 as shown in FIG. 4, at least the input unit 121, the control unit 122, the first encryption unit 123, the first decryption unit 124, the second encryption unit 125, the second A decoding unit 126 and an output unit 127 are generated.
  • the functions of the input unit 121, the control unit 122, the first encryption unit 123, the first decryption unit 124, the second encryption unit 125, the second decryption unit 126, and the output unit 127 described above are the communication device 100. It may exist on the SIM card built in the card. In that case, those functions are not necessarily generated by a computer program installed in the communication apparatus 100.
  • the input unit 121 receives an input from the interface 114.
  • the input from the interface 114 includes specific information input by the input device 102, for example.
  • the specific information is for specifying two communication devices 100 (specific communication devices in the present invention) that are to perform encrypted communication.
  • the specific information related to the communication device 100 that performs communication by itself is at least required to be unique information for all the communication devices 100.
  • the IP address, e-mail address, URL, SNS of the communication device 100 is required.
  • both of the two communication devices 100 that are specific communication devices are specified by IP addresses.
  • the specific information may be generated when the user inputs both the IP addresses of the two communication devices 100 that perform encrypted communication to the input device 102.
  • the control unit 122 or the transmission / reception mechanism automatically adds to the data transmitted to the communication device 100 of the other party even if the input device 102 does not input information specifying the communication device 100 that performs the transmission of the shared data. It can also be attached to. In such a case, only the information for specifying the other party's communication device 100 may be included in the specific information input by the user operating the input device 102.
  • the IP address of the communication device 100 and Specific information for specifying both of the IP addresses of the counterpart communication device 100 is automatically generated by the control unit 122. Further, the user can generate transmission target data by operating the input device 102.
  • Such transmission target data is data to be transmitted / received when transmitted / received in an encrypted state between the communication apparatuses 100. For example, when such transmission / reception is transmission / reception of an e-mail, the data becomes e-mail data, and one communication device 100 provides a home page of a virtual store on the Internet, and the other communication device.
  • data sent to the customer from the communication device 100 side of the virtual store includes, for example, a product selection screen, customer information, destination information, and the like.
  • This is data for providing the customer's communication device 100 with a format for allowing the customer to describe, and the data sent from the customer's communication device 100 side to the communication device 100 of the virtual store is selected by the customer as a purchase target.
  • the transmission target data may be in any format such as text data, image data, audio data, and the like.
  • the transmission target data does not have to be data input by the user by operating the input device 102, and may be data created by the communication device 100 performing a predetermined process on the data, but rather Is more normal.
  • Other things that can be input to the input unit 121 from the interface 114 include first encrypted shared data, second first encrypted shared data, and second encrypted shared data. These may be sent from the communication apparatus 100 of the communication partner via the network 400. Any of these data is received by the transmission / reception mechanism when they are sent, and sent to the interface 114 from the transmission / reception mechanism.
  • the input unit 121 receives the specific information as input from the input device 102, the first encrypted shared data, the second first encrypted shared data, as input from the transmission / reception mechanism, The second encrypted shared data is input. When receiving these, the input unit 121 sends them all to the control unit 122.
  • the control unit 122 controls the entire functional blocks generated in the data processing unit 120 in the communication device 100.
  • the control unit 122 may receive specific information from the input unit 121. When the specific information is received, data for causing the display 101 to display based on the specific information is generated and sent to the output unit 127.
  • the control unit 122 in this embodiment also has shared data.
  • the shared data is data to be shared with other communication devices 100 and is plaintext data.
  • the shared data does not necessarily have to be held by the control unit 122, and is input to the control unit 122 via the input unit 121, for example, from within the data processing unit 120 or from outside the data processing unit 120. It may be.
  • the control unit 122 is configured to send the shared data to the first encryption unit 123.
  • control unit 122 may receive the first encrypted shared data transmitted from the other communication device 100 via the network 400 from the input unit 121. When the first encrypted shared data is received, the control unit 122 sends it to the second encryption unit 125. In addition, the control unit 122 may receive from the input unit 121 the second first encrypted shared data sent from the other communication device 100 via the network 400. When the second first encrypted shared data is received, the control unit 122 sends it to the first decryption unit 124. In addition, the control unit 122 may receive the second encrypted shared data transmitted from the other communication device 100 via the network 400 from the input unit 121. When the second encrypted shared data is received, the control unit 122 sends it to the second decryption unit 126.
  • the first encryption unit 123 When the first encryption unit 123 receives shared data from the control unit 122, the first encryption unit 123 executes processing for encrypting the shared data. As a result, the shared data is converted into the first encrypted shared data. The first encryption unit 123 is configured to send the first encrypted shared data to the output unit 127.
  • the second encryption unit 125 receives the first encrypted shared data from the control unit 122, the second encryption unit 125 executes a process of further encrypting the first encrypted shared data. As a result, the first encrypted shared data is converted into the second first encrypted shared data. The second encryption unit 125 is configured to send the second first encrypted shared data to the output unit 127.
  • the decryption process for the second first encrypted shared data can be expressed in another language.
  • the reverse conversion of the conversion for encryption performed by the first encryption unit 123 is performed on the second first encrypted shared data.
  • the second first encrypted shared data becomes the second encrypted shared data.
  • the second encrypted shared data is equal to data generated by converting the shared data by the second encryption unit 125 when the above-described shared data is encrypted by the second encryption unit 125 as it is.
  • the first decryption unit 124 sends the second encrypted shared data to the output unit 127.
  • the second decryption unit 126 When the second decryption unit 126 receives the second encrypted shared data from the control unit 122, the second decryption unit 126 decrypts the second encrypted shared data in other words. The reverse conversion of the conversion for encryption performed by the second encryption unit 125 is performed on the encrypted shared data. As a result, the second encrypted shared data becomes shared data that is plaintext data.
  • the second decryption unit 126 is configured to send the shared data to the output unit 127. However, the shared data may be sent to the control unit 122 as will be described later.
  • the first encryption unit 123, the first decryption unit 124, the second encryption unit 125, and the second decryption unit 126 are as described above, but the first encryption unit 123 and the first decryption unit The unit 124 is configured so that only those in the communication device 100 on the side that sends the shared data to the communication device 100 on the other side, in other words, in the communication device 100 on the side that originally had the shared data function. In other words, the first encryption unit 123 and the first decryption unit 124 function only in the communication device 100 when functioning as the first communication device in the present invention.
  • the second encryption unit 125 and the second decryption unit 126 on the side that receives the shared data from the communication device 100 on the other side in other words, the communication device 100 on the side that did not have the shared data first. Only they are supposed to work.
  • the second encryption unit 125 and the second decryption unit 126 function only in the communication device 100 when functioning as the second communication device in the present invention.
  • any two communication devices 100 of the communication system communicate with each other.
  • the two communication apparatuses 100 may perform other communication, but in this embodiment, communication for sharing shared data between the two communication apparatuses 100 will be described.
  • an operation of the communication device 100 that the user has starts (S501).
  • the communication device 100 is the first communication device in the present invention.
  • Such an operation is performed by operating the input device 102.
  • the user performs necessary operations such as starting up a known or well-known mailer that is an application for sending and receiving e-mails, or starting up a known or well-known browser that is an application for browsing a homepage.
  • the contents of such an operation are input to the input unit 121 via the interface 114 and 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 generated by an application (not shown) based on the input content, and sends the image data to the output unit 127. Such image data is sent from the output unit 127 to the display 101. An image based on the image data is displayed on the display 101. Such an image may be, for example, a mailer image or a browser image.
  • the user operates the input device 102 while viewing the display 101, thereby inputting specific information (S502). As described above, although not limited to this, in this embodiment, the user inputs only the information for specifying the communication device 100 on the communication partner side. More specifically, the user inputs an IP address for specifying the communication device 100 on the other side by operating the input device 102.
  • an 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 it, the control unit 122 generates image data that is data of an image displayed on the display 101 and sends it to the display 101 via the output unit 127 and the interface 114.
  • image data that is data of an image displayed on the display 101 and sends it to the display 101 via the output unit 127 and the interface 114.
  • specific information that the user is inputting with the input device 102 is displayed in real time. The user can input specific information while viewing the display.
  • the content is sent to the control unit 122 via the interface 114 and the input unit 121.
  • the control unit 122 that has received 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 communication partner.
  • the control unit 122 sends the shared data to the first encryption unit 123 and sends an instruction to encrypt the shared data.
  • the processing in the communication device 100 corresponding to the first communication device 100 in the present application after the input of the specific information is at least performed by the second encryption as described later to the communication device 100 of the other party Until the transmission of the shared data is completed, the user does not need to operate the input device 102 and is automatically performed.
  • the first encryption unit 123 performs conversion for encrypting the shared data (S503).
  • S503 character string data “PPP” is shared data. Details of the encryption method will be described later.
  • the first encrypted shared data is generated as a result of the shared data being encrypted by the first encryption unit 123. As will be described later, the first encrypted shared data is hatched with a downward slanting diagonal line to indicate that the character string PPP has been encrypted by the first encryption unit 123.
  • the first encryption unit 123 sends the first encrypted shared data to the output unit 127.
  • the control part 122 sends specific information to the output part 127 although it does not ask
  • the first encrypted shared data and the specific information are associated with each other and sent from the output unit 127 to the transmission / reception mechanism via the interface 114.
  • the transmission / reception mechanism transmits the first encrypted shared data to the communication device 100 specified by the IP address of the communication device 100 of the other party included in the specific information via the network 400 (S504). Since the PPP character string to be transmitted is encrypted by the first encryption unit 123, it is hatched with a downward slanting diagonal line. Further, the specific information is sent to the communication apparatus 100 of the other party together with the first encrypted shared data.
  • the communication device 100 of the communication counterpart receives the first encrypted shared data by its transmission / reception mechanism (S601).
  • the first encrypted shared 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 shared data is sent from the input unit 121 to the control unit 122.
  • the processes of S602, S603, S604, and S605 (all of which will be described later) starting from the process of S601 are automatically executed.
  • the control unit 122 that has received the first encrypted shared data instructs the second encrypted unit 125 to perform the encryption process on the first encrypted shared data and the first encrypted shared data. send.
  • the second encryption unit 125 performs conversion for encrypting the first encrypted shared data (S602). Details of the encryption method will be described later.
  • the second encrypted shared data is generated as a result of the shared data being encrypted by the second encryption unit 125.
  • the second first encrypted shared data is hatched with a lower-left diagonal line in addition to a lower-right diagonal line so that the PPP character string is converted into the first encryption unit 123. It is assumed that the data has been encrypted and is further encrypted by the second encryption unit 125.
  • the generated second first encrypted shared data is sent from the second encryption unit 125 to the output unit 127.
  • the second first encrypted shared data is sent from the output unit 127 to the transmission / reception mechanism via the interface 114.
  • the transmission / reception mechanism refers to the IP address of the communication device 100 corresponding to the first communication device in the present invention included in the specific information, and performs the second first encryption on the communication device 100 via the network 400.
  • the shared data is transmitted (S603).
  • the communication device 100 which corresponds to the first communication device in the present invention, receives the second first encrypted shared data by its transmission / reception mechanism (S505).
  • the second first encrypted shared 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 shared data is sent from the input unit 121 to the control unit 122.
  • the control unit 122 that has received the second first encrypted shared data sends the first encryption to the first decrypting unit 124 for the second first encrypted shared data and the second first encrypted shared data.
  • An instruction to perform the inverse conversion of the conversion performed by the unit 123 is sent.
  • the second encryption unit 125 reverses the conversion when the first encryption unit 123 changes the shared data to the first encrypted shared data for the second first encrypted shared data. Conversion is performed (S506). Details of the decoding method will be described later.
  • the second encrypted shared data is generated as a result of the decryption of the shared data by the first decryption unit 124. As already described, this is the same as the data obtained when the plaintext shared data is encrypted by the second encryption unit 125. Therefore, the second encrypted shared data is encrypted by the second encryption unit 125 by applying the hatching including only the left-slanted diagonal line to the character string PPP, as will be described later. It shall indicate that it is in a state.
  • the generated second encrypted shared data is sent from the first decryption unit 125 to the output unit 127.
  • the second encrypted shared data is sent from the output unit 127 to the transmission / reception mechanism via the interface 114.
  • the transmission / reception mechanism refers to the IP address of the communication device 100 corresponding to the second communication device in the present invention included in the specific information, and sends the second encrypted shared data to the communication device 100 via the network 400. Is transmitted (S507).
  • the communication apparatus 100 of the communication counterpart receives the second encrypted shared data by its transmission / reception mechanism (S604).
  • the second encrypted shared 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 shared data is sent from the input unit 121 to the control unit 122.
  • the control unit 122 that has received the second encrypted shared data sends the second encrypted shared data and the conversion performed by the second encrypted unit 125 to the second encrypted shared data to the second decrypted unit 126.
  • the plaintext shared data is generated as a result of the second encrypted shared data being decrypted by the second decryption unit 126.
  • the communication device 100 as the second communication device in the present invention has the shared data originally possessed by the communication device 100 as the first communication device in the present invention in an unencrypted plaintext state. It reaches.
  • the communication device 100 corresponding to the second communication device uses any one of the first encrypted shared data, the second first encrypted shared data, and the second encrypted shared data until the sharing of the shared data is completed. The contents of shared data cannot be grasped. However, when the conversion for decryption by the second encryption / decryption unit 126 is completed, the plaintext shared data can be obtained.
  • the two communication devices 100 corresponding to the first communication device and the second communication device in the present invention share the shared data.
  • the shared data is in an encrypted state of the first encrypted shared data, the second first encrypted shared data, or the second encrypted shared data. As a result, the two communication devices 100 can safely share the shared data.
  • the shared data is encrypted (converted) by the first encryption unit 123 of the communication device 100 corresponding to the first communication device of the present application to become the first encrypted shared data, and then the present application Is encrypted (converted) by the second encryption unit 125 of the communication device 100 corresponding to the second communication device to become second first encrypted shared data, and then the first decryption of the communication device 100 corresponding to the first communication device of the present application.
  • encryption and decryption (inverse transformation) executed by the first encryption unit 123 and the first decryption unit 124 in the communication device 100 corresponding to the first communication device of the present application The encryption and decryption (inverse transformation) executed by the second encryption unit 125 and the second decryption unit 126 in the communication device 100 corresponding to the two communication devices must satisfy certain conditions.
  • P be the shared data in the plaintext state.
  • P is a predetermined data string.
  • the encryption operation performed on the shared data P in the first encryption unit 123 is indicated as “ ⁇ A”, and the encryption performed on the first encrypted shared data in the second encryption unit 125.
  • An operation for conversion is indicated as “ ⁇ B”
  • an inverse operation of the operation performed by the first encryption unit 123 performed on the second first encrypted shared data by the first decryption unit 124 is “ ⁇ B”.
  • a ⁇ 1 ”and the inverse operation of the operation performed by the second encryption unit 125 performed on the second encrypted shared data by the second decryption unit 126 are denoted by“ ⁇ B ⁇ 1 ”, respectively.
  • the symbol “x” does not mean a simple product operation.
  • the first encrypted data can be indicated as “P ⁇ A”.
  • the second first encrypted data can be indicated as “(P ⁇ A) ⁇ B”.
  • the second encrypted data can be indicated as “P ⁇ B”.
  • the problem is that the operation of “ ⁇ A ⁇ 1 ” is performed on “(P ⁇ A) ⁇ B”, which is the second first encrypted shared data, performed in the first decryption unit 124. This is an operation for obtaining “P ⁇ B”. Since the operation “(P ⁇ B) ⁇ B ⁇ 1 ” performed by the second decryption unit 126 to return the second encrypted shared data to the shared data P is a general decryption operation, There is no particular difficulty beyond normal encryption and decryption.
  • the deformation in that case is as follows, for example.
  • the encryption and decryption executed by the second encryption unit 125 and the second decryption unit 126 in 100 must be capable of switching the order of operations of ⁇ A and ⁇ B. .
  • the operation is represented by “x”, and the operation targets are “F”, “G”, “H”.
  • the exclusive OR operation has a property of returning to the original data string by repeating the same operation twice. That is, (P ⁇ A) ⁇ A ⁇ P ⁇ (A ⁇ A) ⁇ P.
  • the operation “ ⁇ A” executed by the first encryption unit 123 and the operation “ ⁇ A ⁇ 1 ” executed by the first decryption unit 124 are the same. In such a case, there is no benefit of making the first encryption unit 123 and the first decryption unit 124 different. For example, the first decryption unit 124 is omitted and the first encryption unit 123 is omitted. Thus, both encryption and decryption operations may be executed.
  • a cyclic shift is a case where a data string of a certain length exists, and the right end and the left end of the data string are considered to be connected, and the entire data string is shifted to the right or left by a predetermined number of characters. It is to let you. For example, if the entire data string is shifted by three characters to the right, three characters are deleted from the right end of the data string and the three deleted characters are added to the left end of the data string while maintaining the order.
  • the other parts of the data string are shifted to the right by three characters.
  • “three characters to the right” is the key for such encryption.
  • the first encryption unit 123 converts the shared data using a key “N characters to the right”
  • the second encryption unit 125 uses the key “M characters to the right” to perform the first encryption.
  • the encrypted shared data is converted, if the second first encrypted shared data is converted by the first decryption unit 124 using the key of “N characters to the left”, it is included in the original shared data. Is shifted “by N characters to the left”.
  • the first encryption unit 123 performs data conversion by adding a numerical value “N” to a certain data string.
  • the numerical value “N” is a key in the communication apparatus 100 as the first communication apparatus in the present invention.
  • the second encryption unit 125 performs data conversion such that a numerical value “M” is added to the data string converted by the first encryption unit 123.
  • shared data is shared between the two communication devices 100 corresponding to the first communication device and the second communication device in the present invention.
  • the shared data is sent to and stored in the control unit 122 in the communication device 100 corresponding to the second communication device of the present application, and is sent to the outside of the data processing unit 120 and used as appropriate.
  • the shared data is a common key used when the two communication devices 100 share the shared data after performing known or well-known common key encryption communication, or the two communication devices 100 each have the same common key. It can be secret information used to generate or select. According to this, the two communication devices use the same common key that was the shared data, or use the same common key that is generated from the shared data that has been shared. Encrypted communication can be performed.
  • the process of sharing shared data in the present application can be considered as a process of transmitting shared data from one communication apparatus 100 to another communication apparatus 100. Therefore, for example, all the data transmitted and received between the two communication devices 100 is regarded as shared data, and the communication between the two communication devices 100 is the first encrypted shared data and the second first encrypted shared data described above. If the data and the second encrypted shared data are used, data transmission / reception between the two communication devices 100 is executed by a new type of encrypted communication that is not the common key type encrypted communication. Become.
  • all the communication devices 100 can play the roles of the first communication device and the second communication device in the present invention. Therefore, all the communication devices 100 include all of the first encryption unit 123, the first decryption unit 124, the second encryption unit 125, and the second decryption unit 126.
  • the distinction between the first communication device and the second communication device in the present invention is determined by whether or not the shared data is transmitted first.
  • one or a plurality of communication devices function only as the first communication device in the present invention, and the remaining communication devices are referred to in the present invention.
  • a communication system can be established even if it only functions as two communication devices.
  • the server may access the server from the communication device 100 owned by the user, There is often a situation in which the communication device 100 owned by is not accessed.
  • the communication device 100 as a server only needs to have the character as the second communication device in the present invention.
  • some of the communication devices 100 owned by the user can have only the character as the first communication device in the present invention.
  • the second encryption unit 125 and the second decryption unit 126 are not necessary, and only the character as the second communication device in the present invention is provided.
  • the first encryption unit 123 and the first decryption unit 124 are unnecessary.
  • the three communication devices 100 related to communication are referred to as communication device A, communication device B, and communication device C, respectively.
  • the configuration of the communication apparatuses A to C can be basically the same as that of the communication apparatus 100 described above.
  • An example of communication performed in that case is shown in FIG.
  • the communication device A, the communication device B, and the communication device C have the communication device B in between, and the communication device A and the communication device C communicate with each other via the communication device B.
  • the communication device A has the shared data first, and this communication is finally performed for the purpose of sharing the shared data between the communication device A and the communication device C.
  • the relationship between the communication device A and the communication device B is equal to the relationship between the first communication device and the second communication device in the present invention
  • the relationship between the communication device B and the communication device C is in the present invention. It is equal to the relationship between the first communication device and the second communication device.
  • the shared data is encrypted by the communication device A (S701). Similar to the example shown in FIG. 5, the shared data is expressed as PPP, and the data encrypted by the communication apparatus A is lowered to the right as in the first encrypted shared data shown in FIG. It is displayed as hatched with a diagonal line. This data is transmitted from the communication device A to the communication device B (S702).
  • the communication device 100 corresponding to the second communication device in the present invention in the above-described embodiment performs the conversion for further encrypting this data, as in the case of the communication device 100 (S801).
  • this data is displayed as hatched with a right-down oblique line and a left-down oblique line, like the second first encrypted shared data shown in FIG.
  • This data is transmitted from the communication device B to the communication device C (S802).
  • the relationship between the communication device C and the communication device B is equal to the relationship between the second communication device and the first communication device in the present invention.
  • the communication device 100 corresponding to the second communication device performs conversion for further encryption of the data as in the invention of the present invention in the above-described embodiment (see FIG. S901).
  • this data is added with a horizontal line indicating that the data received by the communication device C is further encrypted, and for convenience, the data is hatched with a right-down line, a left-down line, and a horizontal line. Shown as stuff.
  • This data is sent from the communication device C to the communication device B (S902), and further sent from the communication device B to the communication device A (S803).
  • the communication device A receives this data.
  • the communication device A performs reverse conversion of the conversion for encryption performed by the communication device A on this data (S703).
  • the data received by the communication device A is in a state where the conversion for encryption performed by the communication device A has not been performed. That is, the right-down hatching disappears from the data received by the communication device A.
  • This data is equal to the data obtained by performing the encryption process continuously between the communication apparatus B and the communication apparatus C without performing the encryption process on the shared data with the communication apparatus A.
  • This data is sent from the communication device A to the communication device B (S704).
  • the communication device B receives this data.
  • the communication device B performs encryption on the data as performed by the communication device 100 corresponding to the second communication device in the present invention in the above-described embodiment. Inverse conversion of the above conversion is performed (S804).
  • the data received by the communication device B is in a state where the conversion for encryption performed by the communication device B has not been performed. That is, the left-down hatching disappears from the data received by the communication device B.
  • This data is equal to data obtained by performing encryption processing only on the communication device C without performing encryption processing on the shared data in the communication devices A and B.
  • This data is sent from the communication device B to the communication device C (S805).
  • the communication device C receives this data.
  • the communication device C performs a reverse conversion on the data as if the communication device C performed the encryption process (S903).
  • the data received by the communication device C returns to the original shared data.
  • the communication device A and the communication device C can safely share the shared data.
  • the shared data transmitted and received between the communication performed between the communication device A and the communication device B and the communication performed between the communication device B and the communication device C are all encrypted. Since the data is transmitted and received, there is basically no risk of the shared data being intercepted by a malicious third party. It should be noted that even the communication device B that mediates between the communication device A and the communication device C cannot know the content of the shared data.
  • the communication device B that performs such mediation can be, for example, a communication device managed by a lawyer or a public institution, and by doing so, those who cannot directly communicate with each other (for example, communication) This is convenient because the administrator of the device A and the communication device B) can communicate with each other, but even in that case, there is an advantage that even the mediator does not need to know the contents of the shared data. .
  • the data sent from the communication device B to the communication device A is converted to “ ⁇ A” for conversion for encryption and conversion for decryption performed by the communication device A, respectively.
  • “ ⁇ A ⁇ 1 ” is displayed, and conversion for encryption and decryption performed in the communication device B are respectively displayed as “ ⁇ B” and “ ⁇ B ⁇ 1 ”.
  • the conversion for encryption and the conversion for decryption performed by the device C are respectively expressed as “ ⁇ C” and “ ⁇ C ⁇ 1 ”, “((P ⁇ A) ⁇ B ) ⁇ C ”.
  • the conversion by S703 that performs the inverse operation of the operation performed by the communication apparatus A can be expressed as “(((P ⁇ A) ⁇ B) ⁇ C) ⁇ A ⁇ 1 ”.
  • the data obtained as a result is data obtained by continuously performing encryption processing on the shared data between the communication device B and the communication device C without performing the encryption processing on the communication device A.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

暗号化通信を行う2つの通信装置で安全且つ簡単に共有データを共有するための技術を提供する。 第1通信装置は、共有データを暗号化して第1暗号化共有データとして(S503)、それを第2通信装置に送る(S504)。第2通信装置は、それを受取り(S601)、第1暗号化共有データを更に暗号化して第2第1暗号化共有データとし(S602)て、第1通信装置に送る(S603)。第1通信装置はそれを受取り(S505)、第2第1暗号化共有データに第1通信装置で行った暗号化の逆変換をして第2暗号化共有データとして(S506)、それを第2通信装置に送る(S507)。第2通信装置はそれを受取り(S604)、第2暗号化共有データに第2通信装置で行った暗号化の逆変換をして共有データに戻す。

Description

通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム
 本発明は、通信技術、より詳細には暗号通信技術に関する。
 互いに通信可能な2つの通信装置間で、安全に、つまり第三者による盗聴のおそれなく、ある情報を共有したいという要求が生じる場合がままある。かかる情報は、2つの通信装置の一方から他方へ送信を行うべき秘密とすべき内容が含まれた文章である場合もある。また、第三者による盗聴のおそれなく2つの通信装置間で通信を行うときにはごく当たり前に暗号化通信技術が用いられるところ、暗号化通信技術においては、例えば両者で暗号化又は復号化の処理に用いられるアルゴリズムが予め共通のものとされているにしても、両者で暗号化又は復号化の処理に用いられる鍵を共有することが必要であるから、2つの通信装置間で安全に共有したいという上述の情報は、その鍵そのもの或いは両者において共通する鍵を生成、選択等するための情報である場合もある。
 以下、2つの通信装置間で共有されるべき情報が、2つの通信装置で実行される暗号化通信において暗号化と復号化に用いられる鍵である場合を例にとって話を進める。そして、そのような鍵の共有のための技術として、SSL(secure sockets layer)と呼ばれる技術が広く普及している。なお、本願でSSLと言う場合には、SSLを標準化したものであるTLS(transport layer security)も当然にSSLに含まれる。
 SSLには大きく分けて2つの側面がある。1つは本人確認(認証)であり、もう1つは暗号化通信である。これらがどのように実現されるかについて説明するため、SSL通信で実行される処理について説明する。
 この例では、上述の2つの通信装置がクライアントとサーバであり、両者間でSSL通信が実行されるものとする。
(1)前提処理
 a.サーバは、一対の秘密鍵と公開鍵を生成する。秘密鍵と公開鍵とは、周知のように、そのいずれもが平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、それらの他方で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。他方、サーバには、自己の正当性を相手方が確認するためのデータであるサーバ証明書であって、自己の公開鍵を含み、且つそのサーバ証明書の正当性を示すための電子署名が付されているものがインストールされる。
 b.クライアントは、共通鍵を準備する。共通鍵は、周知のように、平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、同じ共通鍵で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。
 c.クライアントには、ルート証明書がインストールされる。ルート証明書は、ルート認証局が作成したものである。ルート認証局は、上述のサーバ証明書を作成する者でもあり、サーバ証明書に電子署名を付す者でもある。クライアントは、ルート証明書とサーバ証明書に付された電子署名の組合せにより、サーバ証明書の正当性を確認することができる。
(2)サーバとクライアントでの共通鍵の共有
 a.クライアントがサーバにSSL通信の要求を行う。
 b.サーバがクライアントに対して上記サーバ証明書を送信する。上述のように、サーバ証明書には、サーバが用いる公開鍵が含まれ、電子署名が付されている。
 c.クライアントは、自己が所有するルート証明書とサーバ証明書に付された電子署名とを用いてサーバ証明書の正当性を検証し、サーバ証明書が正当であれば自分が通信しているサーバが正当であると認証し、サーバ証明書が不当であればサーバが正当であるとの認証を行わない。
 d.クライアントはサーバを認証した場合には、自己が所有する共通鍵を、サーバから受取ったサーバ証明書に含まれていた公開鍵で暗号化して、サーバに送る。
 e.サーバは、クライアントから受取った暗号化された公開鍵を自己が所有する秘密鍵で復号化する。これにて、クライアントの共通鍵は、クライアントとサーバで共有されることになる。
 以上が、サーバとクライアントとの間で、暗号化通信を行う場合における暗号化と復号化に用いられる共通の鍵である共通鍵を安全に共有するための処理である。
 かかる処理が実行された後、サーバとクライアント間で暗号化通信が実行される。サーバとクライアントとはともに、自分が持つ共通鍵で暗号化した暗号化データを相手方に送る。サーバとクライアントはともに、相手から受取った暗号化データを自分が持つ共通鍵で復号化する。これにて、サーバとクライアントとの間では暗号化通信が可能となる。
 以上がSSL通信で実行される処理である。
 乱暴であることを承知で言うと、SSL通信で実行したいのは、サーバとクライアント間での暗号化通信のみである。これを、共通鍵を用いて行いたいというのがSSL通信の要点である。なぜ共通鍵でかかる暗号化通信を行いたいかといえば、共通鍵での暗号化通信は、特に公開鍵と秘密鍵とを用いた暗号化通信に較べてその処理が格段に軽いからである。
 もっとも、そのためには、共通鍵をサーバとクライアントとの間で共有しなければならない。それを実現するために、サーバが持つ公開鍵と秘密鍵とを用いてクライアントからサーバに共通鍵が送信されるというのが、SSL通信についての上記(2)の処理である。公開鍵と秘密鍵を使った暗号化通信では、暗号化と復号化に用いられる鍵が上述のように異なる。したがって、公開鍵で暗号化されたクライアントの共通鍵が仮に、クライアントからサーバに送られている途中で悪意のある第三者に盗まれたとしても、当該第三者は秘密鍵を持たないのでクライアントの共通鍵そのものが第三者に盗まれるということはない。この結果には、公開鍵が公開されていることはまったく影響しない。
 クライアントから第三者に共通鍵を送る際には、上述したように、サーバからクライアントに送られてきた公開鍵が用いられる。しかしながら、ここでその公開鍵自体の正当性、ひいては公開鍵を送って来た者(サーバ)の正当性が問題となる。たとえば、悪意のある第三者が公開鍵をクライアントに送ってくることがあるからである。公開鍵乃至それを送ってきた者の正当性を担保するのが、SSL通信についての上記(1)、(2)の処理である。これら処理により、クライアントが、サーバの正当性を確認(認証)することで、SSL通信の正当性が保証されることになる。
 つまり、上述の如きSSL通信は、共通鍵をサーバとクライアントとの間で共有するために、公開鍵と秘密鍵とを用いた暗号化通信を必ず必要とする。かかる処理は複雑であり、或いは煩雑である。
 また、公開鍵自体が悪意のある第三者に偽造されたものでないことを保証するため、SSL通信では、認証局の存在が不可欠となっている。しかも、認証局の中には信頼性の程度に不安があるものも存在するから、実務上は、認証局の正当性を認証するための上級認証局なるものを設けるといった、いわば本末転倒な状況も生じている。
 これらも含めた、処理、制度等の複雑さ、或いは煩雑さは、手間、或いはコストの上昇の一因となっている。
 以上では、主にSSL通信に関して述べたが、それでもSSL通信は、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暗号化共有データとされる。また、第1暗号化共有データに対して第2通信装置の第2暗号化手段によって暗号化の処理がなされた結果、第1暗号化共有データが、第2第1暗号化共有データとされる。本願で、「共有データ」の前に、「第1」又は「第2」という文言が付されているときにおいては、「第1」という文言が付されている場合には、第1通信装置にて暗号化された共有データという意味であり、「第2」という文言が付されている場合には、第2通信装置にて暗号化された共有データという意味である。また、本願で、「第2第1暗号化共有データ」のように、「共有データ」の前に、「第1」と「第2」という文言の双方が付されている場合には、共有データを第1通信装置と第2通信装置の双方で暗号化したものであって、且つ「第1」と「第2」という文言のうち、後にある文言に対応する通信装置(つまり、上述の場合では第1通信装置)で先に暗号化が行われた後に、前にある文言に対応する通信装置(つまり、上述の場合では第2通信装置)で暗号化が行われた共有データを意味するものとする。
 上述の通信システムは、互いに通信を行う通信装置である第1通信装置と第2通信装置とを含んで構成される。通信システムにはより多くの通信装置が含まれていても良いが、その中の互いに通信を行う2つの通信装置が、本願発明では第1通信装置及び第2通信装置と位置づけられることになる。第1通信装置と第2通信装置との間の通信は、これには限られないが、例えばインターネットその他のネットワークによって行われる。
 第1通信装置は、暗号化の処理を行う第1暗号化手段と、第1暗号化手段によって実行された暗号化の処理の逆の処理、つまり復号化の処理を実行することができる第1復号化手段とを備えている。同様に、第2通信装置は、暗号化の処理を行う第2暗号化手段と、第2暗号化手段によって実行された暗号化の処理の逆の処理、つまり復号化の処理を実行することができる第2復号化手段とを備えている。
 本願発明では、これら2つの通信装置、つまり第1通信装置と第2通信装置との間で共有すべきデータを、共有データと称する。共有データは平文のデータである。もっとも、共有データは、意味のあるデータである必要は必ずしもなく、例えば、第1通信装置と第2通信装置との間で、暗号化通信を行う場合に用いられる共通鍵の如き、文字、数字等の適当な羅列であっても構わない。
 本願による通信システムで、実行される共有データの共有の方法は極めて簡単である。なお、2つの通信装置のうち、先に共有データを有する通信装置、言い換えれば他方の通信装置に共有データを提供する通信装置が本願発明では第1通信装置と称され、2つの通信装置のうちの他方が第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暗号化共有データが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
 第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通信装置で実行される暗号化と復号化の処理は、公開鍵方式の暗号化を用いる必要が特になく、従来のSSL通信で不可欠であった証明書や認証局に特に頼る必要はない。したがって、かかる通信システムを実現するための手間、コストを抑制できるだけでなく、通信システムを運用するための制度も簡易なものとすることができる。
 第1通信装置の第1暗号化手段と第1復号化手段で実行される暗号化と復号化(逆変換)、及び第2通信装置の第2暗号化手段と第2復号化手段で実行される暗号化と復号化(逆変換)は、基本的にそれ程特別なものである必要はないし、公知或いは周知の技術を用いることができる。
 もっとも、本願発明の通信システムでは、第1通信装置の第1復号化手段が、第2第1暗号化共有データを第2暗号化共有データに変換することが可能でなければならない。そのため、第1通信装置の第1暗号化手段と第1復号化手段で実行される暗号化と復号化、及び第2通信装置の第2暗号化手段と第2復号化手段で実行される暗号化と復号化が、一定の条件を充足する必要がある。かかる条件が充足されなければならないというのが、本願の通信システムにおける第1通信装置と第2通信装置に対する若干のハードルとなる。
 この点について説明する。
 平文の状態の共有データをPとする。これを、第1暗号化手段で行われる暗号化のための演算後のデータを、「P×A」と示すものとする。つまり、第1暗号化共有データは、「P×A」となる。次いで、第1暗号化共有データは、第2暗号化手段で更に暗号化される。第1暗号化共有データは上述のようにP×Aなので、第2暗号化手段で暗号化される暗号化のための演算後のデータを、「(P×A)×B」と示すものとする。つまり、第2第1暗号化共有データは、「(P×A)×B」となる。更に、第1復号化手段で行われる復号化の処理を×A-1と、第2復号化手段で行われる復号化の処理を×B-1とそれぞれ示すこととすると、第2第1暗号化共有データに対して第1復号化手段で実行される処理は、「((P×A)×B)×A-1」となる。本願発明による通信システムでは、これが、第2暗号化共有データ(第2暗号化共有データは、以上のルールに従えば「P×B」と表示することができる)になるのであるから、「((P×A)×B)×A-1=P×B」とならなければならない。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×(A×B))×A-1
 →(P×(B×A))×A-1
 →((P×B)×A)×A-1
 →((P×B)×(A×A-1
 →P×B
 つまり、第1通信装置の第1暗号化手段と第1復号化手段で実行される暗号化と復号化、及び第2通信装置の第2暗号化手段と第2復号化手段で実行される暗号化と復号化は、上述の如く、×A、×Bという演算の順番を入れ替えることが可能なものでなければならない。言い換えれば、第1通信装置の第1暗号化手段と第1復号化手段で実行される暗号化と復号化(で実行される演算)、及び第2通信装置の第2暗号化手段と第2復号化手段で実行される暗号化と復号化(で実行される演算)は、演算を「×」で表し、演算の対象を「F」、「G」、「H」と表したときに、「F×G=G×F」という交換法則と、「(F×G)×H=F×(G×H)」という結合法則とがそれぞれ成立するものである必要がある。
 上記の条件を満足する演算として典型的なものに、排他的論理和の演算がある。他に、同様の演算として、バレルシフト、四則演算等を利用することができる。つまり、第1通信装置の第1暗号化手段と第1復号化手段で実行される暗号化と復号化、及び第2通信装置の第2暗号化手段と第2復号化手段で実行される暗号化と復号化は、例示したこれらの演算とすることが可能である。
 本願発明者は、上述の如き通信システムを構成する第1通信装置をも本願発明の一態様として提案する。第1通信装置の効果は、通信システムの効果に等しい。
 一例となる第1通信装置は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている前記第2通信装置、との組合せにより構成する第1通信装置である。
 そして、かかる第1通信装置は、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている。
 第1通信装置は、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとするようになっているとともに、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信するようになっている。第1通信装置は、また、前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付けた前記第2通信装置が、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信した場合に、前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付け、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとするようになっているとともに、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信するようになっている。それにより、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付けた前記第2通信装置が、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとするようになっている。
 本願発明者は、前記第1通信手段を備えた所定の通信装置との組合せにより上述の第1通信装置を構成するためのコンピュータ装置であって、前記第1暗号化手段と、前記第1復号化手段とを備えている、コンピュータ装置をも、本願発明の一態様として提案する。ここで、所定の通信装置の一例は、スマートフォン、或いは携帯電話であって、コンピュータ装置の一例は、所定の通信装置に搭載可能なSIMカード(Subscriber Identity Module Card)である。かかるコンピュータ装置によれば、一般的なスマートフォンその他の通信装置にSIMカードその他のコンピュータ装置を後づけすることで、本願の第1通信装置として機能させることが可能となる。
 本願発明者は、上述の如き通信システムを構成する第2通信装置をも本願発明の一態様として提案する。第2通信装置の効果は、通信システムの効果に等しい。
 一例となる第2通信装置は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている前記第1通信装置、との組合せにより構成する第2通信装置である。
 そして、かかる第2通信装置は、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている。
 第2通信装置は、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付け、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信するようになっている。第2通信装置はまた、前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付けた前記第1通信装置が、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとし、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、 前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付け、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとするようになっている。
 本願発明者は、前記第2通信手段を備えた所定の通信装置との組合せにより上述の第2通信装置を構成するためのコンピュータ装置であって、前記第2暗号化手段と、前記第2復号化手段とを備えている、コンピュータ装置をも、本願発明の一態様として提案する。ここで、所定の通信装置の一例は、スマートフォン、或いは携帯電話であって、コンピュータ装置の一例は、所定の通信装置に搭載可能なSIMカードである。かかるコンピュータ装置によれば、一般的なスマートフォンその他の通信装置にSIMカードその他のコンピュータ装置を後づけすることで、本願の第2通信装置として機能させることが可能となる。
 本願発明者は、上述の如き通信システムを構成する第1通信装置で実行される方法をも本願発明の一態様として提案する。かかる方法の効果は、通信システムの効果に等しい。
 かかる方法の一例は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている前記第2通信装置、との組合せにより構成する第1通信装置であり、データ処理を行う第1データ処理手段と、前記第2通信装置と通信を行う第1通信手段とを備えているものの前記第1データ処理手段にて実行される方法である。
 そしてかかる方法は、前記第1データ処理手段が実行する、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程、前記第1暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付けた前記第2通信装置が、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信した場合に、前記第2通信装置からの前記第2第1暗号化共有データを前記第1通信手段に受付けさせる過程、前記第2第1暗号化共有データのうち前記第1データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとする過程、前記第2暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、を含んでいる。
 それにより、この方法では、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付けた前記第2通信装置が、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとさせられるようになっている。
 本願発明者は、上述の如き通信システムを構成する第2通信装置で実行される方法をも本願発明の一態様として提案する。かかる方法の効果は、通信システムの効果に等しい。
 かかる方法の一例は、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている前記第1通信装置、との組合せにより構成する第2通信装置であり、データ処理を行う第2データ処理手段と、前記第1通信装置と通信を行う第2通信手段とを備えているものの前記第2データ処理手段にて実行される方法である。
 そしてかかる方法は、前記第2データ処理手段が実行する、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第1暗号化共有データを前記第2通信手段に受付けさせる過程、前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとする過程、前記第2第1暗号化共有データを前記第2通信手段に前記第1通信装置へ送信させる過程、前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付けた前記第1通信装置が、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとし、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第2暗号化共有データを前記第2通信手段に受付けさせる過程、前記第2暗号化共有データのうち前記第2データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとする過程、を含んでいる。
 必ずしもこの限りではないが、第1通信装置で実行される上述の方法は、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程の後の各過程をすべて自動的に行うものであってもよい。
 これによれば、第1通信装置を扱うユーザは、共有データに暗号化のための変換をして第1暗号化共有データとする処理を第1通信装置に行わせるための操作を行った後一切の操作を行わなくとも、第1通信装置が共有データを第2通信装置と共有するための処理を第1通信装置が自発的に行うことになるから第1通信装置を扱う(例えば、第1通信装置を操作する、或いは管理する)ユーザの手間を省略することができる。更に言えば、第1通信装置で実行される上述の方法は、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程をも第1通信装置が自動的に行うようになっていてもよい。例えば、SSL通信では、2つの通信装置の一方が他方と通信を行おうとすると、例えば、他方の通信装置であるサーバが提供するホームページを閲覧しようと一方の通信装置であるクライアントを操作するユーザがそのホームページのURLをクライアントに実装されたブラウザのアドレスバー上で指定すると、クライアントとサーバとは、クライアントとサーバとの間で共通鍵を用いた暗号化通信であるSSL通信を開始する前に、共有鍵を共有するための通信を自動的に実行する。これと同様に、第1通信装置は例えば、ユーザが第2通信装置と通信を開始するという意思表示を行うための操作を第1通信装置に対して行ったら、共有データに暗号化のための変換をして第1暗号化共有データとする処理以降のすべての過程を自動的に行うようになっていても構わない。
 必ずしもこの限りではないが、第2通信装置で実行される上述の方法は、前記第2データ処理手段が、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第1暗号化共有データを前記第2通信手段に受付けさせる過程を含む以降の過程のすべてを、自動的に行うものであってもよい。これは、上述の場合と同様に、第2通信装置を扱うユーザの手間を軽減するのに役に立つ。
 もちろん、第1通信装置と第2通信装置とにおける上述した自動的な処理は、第1通信装置と第2通信装置との双方で実行されるようになっていても良い。
 本願発明者は、上述の如き通信システムを構成する第1通信装置として汎用のコンピュータを機能させるためのコンピュータプログラムをも本願発明の一態様として提案する。
 一例となるコンピュータプログラムは、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている前記第2通信装置、との組合せにより構成する第1通信装置として、前記第2通信装置と通信を行う第1通信手段を備えているコンピュータを機能させるためのコンピュータプログラムである。
 そしてこのコンピュータプログラムは、前記コンピュータに、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程、前記第1暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付けた前記第2通信装置が、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信した場合に、前記第2通信装置からの前記第2第1暗号化共有データを前記第1通信手段に受付けさせる過程、前記第2第1暗号化共有データのうち前記コンピュータによりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとする過程、前記第2暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、を実行させるためのものである。
 かかるコンピュータプログラムを用いることにより、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付けた前記第2通信装置が、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとさせられるようになる。
 本願発明者は、上述の如き通信システムを構成する第2通信装置として汎用のコンピュータを機能させるためのコンピュータプログラムをも本願発明の一態様として提案する。
 一例となるコンピュータプログラムは、互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている前記第1通信装置、との組合せにより構成する第2通信装置として、前記第1通信装置と通信を行う第2通信手段を備えているコンピュータを機能させるためのコンピュータプログラムである。
 そしてこのコンピュータプログラムは、前記コンピュータに、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第1暗号化共有データを前記第2通信手段に受付けさせる過程、前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとする過程、前記第2第1暗号化共有データを前記第2通信手段に前記第1通信装置へ送信させる過程、前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付けた前記第1通信装置が、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとし、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第2暗号化共有データを前記第2通信手段に受付けさせる過程、前記第2暗号化共有データのうち前記第2データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとする過程、を実行させる。
一実施形態による通信システムの全体構成を示す図。 図1に示した通信システムに含まれる通信装置の外観を示す図。 図1に示した通信システムに含まれる通信装置のハードウェア構成を示す図。 図1に示した通信システムに含まれる通信装置の内部に生成される機能ブロックを示すブロック図。 図1に示した通信システムで通信が行われるときに実行される処理の流れを示す図。 図1に示した通信システムで通信が行われるときに実行される、応用例による処理の流れを示す図。
 以下、図面を参照しつつ本発明の好ましい実施形態について説明する。
 図1に、本願発明の送受信システムの一実施形態としての通信システムの全体構成を概略で示す。
 この実施形態の通信システムは、多数の通信装置100-1~100-N(以後、単に、「通信装置100」と記載する場合もある。)を含んで構成されている。多数の通信装置100のうちの任意の2つの装置は、互いに通信を行うことが可能とされている。この実施形態では多数の通信装置100はすべて、ネットワーク400に接続可能とされている。つまり、多数の通信装置100のうちの任意の2つの装置が行う上述の通信は、この実施形態ではネットワーク400を介しての通信となる。ネットワーク400は例えば、インターネットである。もっとも、多数の通信装置100は必ずしもネットワーク400に接続可能とされている必要はなく、またそれらのうちの任意の2つの装置が行う上述の通信は、ネットワーク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がスマートフォンであるものとする。
 通信装置100の外観の一例を図2に示す。
 通信装置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に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。図示をしていないが、通信装置100は、ハードウェアはHDD(hard disk drive)その他の大容量記録装置を備えていてもよく、コンピュータプログラムは大容量記録装置に記録されていても構わない。
 ここでいうコンピュータプログラムには、本願発明の第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を介してデータを受信することとが可能になっている。かかるネットワーク400を介してのデータの送受信は、有線で行われる場合もあるが無線で行われる場合もある。例えば、通信装置100がスマートフォンである場合には、かかる通信は無線で行われるのが通常であろう。それが可能な限り、送受信機構の構成は、公知或いは周知のものとすることができる。送受信機構がネットワーク400から受取ったデータは、インターフェイス114により受取られるようになっており、インターフェイス114から送受信機構にわたされたデータは、送受信機構によって、ネットワーク400を介して外部、例えば、他の通信装置100に送られるようになっている。各通信装置100がネットワーク400を介して送受信機構を使って送受信するデータの例は、いずれも追って詳述する第1暗号化共有データ、第2第1暗号化共有データ、及び第2暗号化共有データである。
 CPU111がコンピュータプログラムを実行することにより、通信装置100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、通信装置100を本願発明の通信装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、通信装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 通信装置100内には、本願発明の機能との関係で、データ処理部120が生成される。データ処理部120の中には、図4に示されたように、少なくとも入力部121、制御部122、第1暗号化部123、第1復号化部124、第2暗号化部125、第2復号化部126、出力部127が生成される。なお、以上の入力部121、制御部122、第1暗号化部123、第1復号化部124、第2暗号化部125、第2復号化部126、出力部127の機能は、通信装置100に内蔵されたSIMカード上に存在していても構わない。その場合、それらの機能は、通信装置100にインストールされたコンピュータプログラムによって生成されるものとは限らない。
 入力部121は、インターフェイス114からの入力を受取るものである。
 インターフェイス114からの入力には、例えば、入力装置102によって入力された特定情報がある。特定情報は、暗号化通信をこれから行おうとする2つの通信装置100(本願発明における特定通信装置)を特定するためのものである。通信を自分から行う側の通信装置100に関する特定情報は、すべての通信装置100についてユニークな情報であることが最低限必要とされ、例えば、通信装置100のIPアドレス、電子メールアドレス、URL、SNS(social networking service)のID等であり、通信を受ける側の通信装置100についても同様である。この実施形態では、これには限られないが、特定通信装置である2つの通信装置100の双方をともにIPアドレスで特定するものとする。たとえば、ユーザが、暗号化通信を行う2つの通信装置100のIPアドレスの双方を入力装置102に入力することによって、特定情報が生成されるようになっていてもよい。他方、共有データの送信を自分から行う側の通信装置100を特定する情報が入力装置102により入力されずとも、相手方の通信装置100に送信されるデータに例えば制御部122或いは送受信機構が自動的に付すようにすることもできる。そのような場合には、ユーザが入力装置102を操作することによって入力される特定情報に、相手方の通信装置100を特定するための情報のみが含まれるようになっていても良い。この実施形態ではこれには限られないが、ユーザが入力装置102を操作して暗号化通信をこれから行おうとする相手方の通信装置100を特定する情報を入力すると、その通信装置100のIPアドレスと相手方の通信装置100のIPアドレスの双方を特定する特定情報が、制御部122により自動的に生成されるようになっている。
 また、ユーザは、入力装置102を操作することにより、送信対象データを生成することができる。かかる送信対象データは、通信装置100間で暗号化した状態で送受信される場合における送受信の対象となるデータである。例えば、かかる送受信が電子メールの送受信である場合には、そのデータは電子メールのデータになるし、一方の通信装置100がインターネット上の仮想店舗のホームページを提供するものであって他方の通信装置100がその仮想店舗で商品を購入しようとする顧客である場合には、仮想店舗の通信装置100側から顧客に送られるデータは、例えば、商品の選択画面や、顧客情報、送付先情報等の記載を顧客に行わせるためのフォーマットを顧客の通信装置100に提供するためのデータであり、顧客の通信装置100側から仮想店舗の通信装置100に送られるデータは、顧客が購入対象として選択した商品及びその数量を特定する情報であったり、上述の如きフォーマットに顧客が記入を行った顧客情報、送付先情報であったりする。送信対象データは、テキストデータ、画像データ、音声データ等その形式を問わない。送信対象データは、ユーザが入力装置102を操作して入力したデータそのものである必要はなく、それに対して通信装置100が所定の処理を行うことによって作られたデータであってもよく、むしろその方が通常である。
 入力部121にインターフェイス114から入力されうるものとしては他に、第1暗号化共有データ、第2第1暗号化共有データ、第2暗号化共有データがある。これらは、通信の相手方の通信装置100からネットワーク400を介して送られてくる場合があるものである。これらデータはいずれも、それらが送られて来た場合には送受信機構で受取られ、送受信機構からインターフェイス114に送られてくる。
 以上のようにして、入力部121には、入力装置102から入力されるものとして特定情報と、送受信機構から入力されるものとして、第1暗号化共有データ、第2第1暗号化共有データ、第2暗号化共有データが入力されることになる。
 入力部121は、これらを受取ると、それらをいずれも制御部122へと送るようになっている。
 制御部122は、通信装置100内のデータ処理部120内に生成された各機能ブロック全体の制御を行うものである。
 制御部122は、入力部121から特定情報を受取る場合がある。特定情報を受取った場合、特定情報に基づく表示をディスプレイ101に行わせるためのデータを生成し、それを出力部127に送るようになっている。
 この実施形態における制御部122は、また、共有データを持っている。共有データは、他の通信装置100との間で共有すべきデータであって、平文のデータである。なお、共有データは、必ずしも制御部122が保持している必要はなく、データ処理部120内の或いはデータ処理部120外から、例えば入力部121を介して制御部122へと入力されてくるものであってもよい。
 他の通信装置100との通信が開始されるとき、制御部122は、共有データを、第1暗号化部123に送るようになっている。
 また、制御部122は、他の通信装置100からネットワーク400を介して送られてきた第1暗号化共有データを入力部121から受取る場合がある。第1暗号化共有データを受取った場合、制御部122はそれを第2暗号化部125に送るようになっている。
 また、制御部122は、他の通信装置100からネットワーク400を介して送られてきた第2第1暗号化共有データを入力部121から受取る場合がある。第2第1暗号化共有データを受取った場合、制御部122はそれを第1復号化部124に送るようになっている。
 また、制御部122は、他の通信装置100からネットワーク400を介して送られてきた第2暗号化共有データを入力部121から受取る場合がある。第2暗号化共有データを受取った場合、制御部122はそれを第2復号化部126に送るようになっている。
 第1暗号化部123は、制御部122から共有データを受取った場合に、その共有データを暗号化する処理を実行するものである。その結果、共有データは、第1暗号化共有データに変換される。第1暗号化部123は、第1暗号化共有データを、出力部127に送るようになっている。
 第2暗号化部125は、制御部122から第1暗号化共有データを受取った場合に、その第1暗号化共有データを更に暗号化する処理を実行するものである。その結果、第1暗号化共有データは、第2第1暗号化共有データに変換される。第2暗号化部125は、第2第1暗号化共有データを、出力部127に送るようになっている。
 第1復号化部124は、制御部122から第2第1暗号化共有データを受取った場合に、その第2第1暗号化共有データに対して復号化の処理を、別の言葉で言えば、第2第1暗号化共有データに対して第1暗号化部123で行われた暗号化のための変換の逆変換を行うものである。その結果、第2第1暗号化共有データは、第2暗号化共有データになる。第2暗号化共有データは、上述した共有データを仮にそのまま第2暗号化部125で暗号化した場合に、第2暗号化部125で共有データが変換されることによって生成されるデータに等しい。第1復号化部124は、第2暗号化共有データを、出力部127に送るようになっている。
 第2復号化部126は、制御部122から第2暗号化共有データを受取った場合に、その第2暗号化共有データに対して復号化の処理を、別の言葉で言えば、第2暗号化共有データに対して第2暗号化部125で行われた暗号化のための変換の逆変換を行うものである。その結果、第2暗号化共有データは、平文のデータである共有データになる。第2復号化部126は、共有データを、出力部127に送るようになっている。もっとも、共有データは後述するように、制御部122に送られるようになっている場合もある。
 第1暗号化部123、第1復号化部124、第2暗号化部125、第2復号化部126はそれぞれ上述のようなものであるが、第1暗号化部123と、第1復号化部124とは、共有データを相手側の通信装置100に送る側の、言い換えれば最初に共有データを持っていた側の通信装置100におけるそれらのみが機能するようになっている。更に言い換えるのであれば、第1暗号化部123と、第1復号化部124とは、本願発明でいう第1通信装置として機能するときの当該通信装置100でのみ機能するようになっている。
 他方、第2暗号化部125と、第2復号化部126とは、共有データを相手側の通信装置100から受取る側の、言い換えれば最初に共有データを持っていなかった側の通信装置100におけるそれらのみが機能するようになっている。更に言い換えるのであれば、第2暗号化部125と、第2復号化部126とは、本願発明でいう第2通信装置として機能するときの当該通信装置100でのみ機能するようになっている。
 次に、この通信システムの使用方法、及び動作について、主に図5を参照して説明する。
 既に述べたように、この通信システムでは通信システムを構成するうちの任意の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を特定するためのIPアドレスを、ユーザは入力装置102の操作によって入力する。かかる入力が行われている間、特定情報を入力するための操作内容は、インターフェイス114、入力部121を介して、制御部122に入力される。それを受取った制御部122は、ディスプレイ101に表示される画像のデータである画像データを生成し、出力部127、インターフェイス114を介してディスプレイ101に送る。ディスプレイ101には、ユーザが入力装置102で入力中の特定情報がリアルタイムで表示される。その表示を見ながらユーザは、特定情報の入力を行うことができる。
 ユーザが相手方の通信装置100のIPアドレスを入力装置102によって入力すると、その内容は、インターフェイス114、入力部121を介して制御部122に送られる。そのデータを受取った制御部122は、その通信装置100のIPアドレスと通信の相手方の通信装置100のIPアドレスとを含んだ特定情報を自動的に生成する。
 特定情報の入力が終わると、制御部122は、第1暗号化部123に、共有データを送るとともに、共有データを暗号化せよとの指示を送る。なお、必ずしもこの限りではないが、特定情報の入力が終わった後の本願における第1通信装置100にあたるこの通信装置100における処理は、少なくとも相手方の通信装置100への後述するような第2暗号化共有データの送信が完了するまで、ユーザの入力装置102の操作を必要とせず、自動的に行われる。上述の指示に基いて、第1暗号化部123は、共有データを暗号化するための変換を行う(S503)。なお、これには限られないが、この実施形態では、「PPP」という文字列データが共有データであるとする。暗号化の方法の詳細については、後述する。第1暗号化部123で共有データが暗号化された結果生成されるのが、第1暗号化共有データである。第1暗号化共有データは、後述するように、PPPに右下がりの斜線でハッチングをすることにより、PPPという文字列が第1暗号化部123で暗号化されたということを示すものとする。
 第1暗号化部123は、第1暗号化共有データを出力部127に送る。また、それとの前後は問わないが、制御部122は、特定情報を出力部127に送る。これら第1暗号化共有データと特定情報とは、互いに紐付けられて、出力部127からインターフェイス114を介して送受信機構へと送られる。
 送受信機構は、第1暗号化共有データを、ネットワーク400を介して、特定情報に含まれた相手方の通信装置100のIPアドレスによって特定される通信装置100に対してを送信する(S504)。送信されるPPPの文字列は、第1暗号化部123で暗号化されたものであるので、右下がりの斜線でハッチングされている。また、第1暗号化共有データとともに特定情報が相手方の通信装置100へと送られる。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、第1暗号化共有データをその送受信機構で受取る(S601)。第1暗号化共有データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第1暗号化共有データは、入力部121から制御部122へと送られる。なお、この限りではないが、この実施形態では、S601の処理から始まる、S602、S603、S604、S605(いずれも後述)の処理はすべて自動的に実行される。
 第1暗号化共有データを受取った制御部122は、第2暗号化部125へ、第1暗号化共有データと、第1暗号化共有データに対して暗号化の処理を行えとの指示とを送る。この指示に基いて、第2暗号化部125は、第1暗号化共有データを暗号化するための変換を行う(S602)。暗号化の方法の詳細については後述する。第2暗号化部125で共有データが暗号化された結果生成されるのが、第2第1暗号化共有データである。第2第1暗号化共有データは、後述するように、PPPという文字列に右下がりの斜線に加え左下がりの斜線でハッチングをすることにより、PPPという文字列が、第1暗号化部123で暗号化され、更に第2暗号化部125でも暗号化されたということを示すものとする。
 生成された第2第1暗号化共有データは、第2暗号化部125から出力部127へ送られる。第2第1暗号化共有データは、出力部127からインターフェイス114を介して送受信機構へと送られる。送受信機構は、特定情報に含まれていた本願発明でいう第1通信装置に相当する通信装置100のIPアドレスを参照し、当該通信装置100に対してネットワーク400を介して第2第1暗号化共有データを送信する(S603)。
 本願発明における第1通信装置に相当する、通信装置100は、第2第1暗号化共有データをその送受信機構で受取る(S505)。第2第1暗号化共有データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2第1暗号化共有データは、入力部121から制御部122へと送られる。
 第2第1暗号化共有データを受取った制御部122は、第1復号化部124へ、第2第1暗号化共有データと、第2第1暗号化共有データに対して、第1暗号化部123が行った変換の逆変換を行えとの指示を送る。この指示に基いて、第2暗号化部125は、第2第1暗号化共有データに対して、第1暗号化部123が共有データを第1暗号化共有データにしたときの変換と逆の変換を行う(S506)。復号化の方法の詳細については後述する。第1復号化部124で共有データが復号化された結果生成されるのが、第2暗号化共有データである。これは、既に述べたように、平文の共有データを第2暗号化部125で暗号化した場合に得られるデータと同じである。したがって、第2暗号化共有データは、後述するように、PPPという文字列に左下がりの斜線のみを含むハッチングをすることにより、PPPという文字列が、第2暗号化部125で暗号化された状態のものであるということを示すものとする。
 生成された第2暗号化共有データは、第1復号化部125から出力部127へ送られる。第2暗号化共有データは、出力部127からインターフェイス114を介して送受信機構へと送られる。送受信機構は、特定情報に含まれていた本願発明でいう第2通信装置に相当する通信装置100のIPアドレスを参照し、当該通信装置100に対してネットワーク400を介して第2暗号化共有データを送信する(S507)。
 本願発明における第2通信装置に相当する、通信の相手方の通信装置100は、第2暗号化共有データをその送受信機構で受取る(S604)。第2暗号化共有データは、送受信機構からインターフェイス114を介してデータ処理部120の中の入力部121へ送られる。第2暗号化共有データは、入力部121から制御部122へと送られる。
 第2暗号化共有データを受取った制御部122は、第2復号化部126へ、第2暗号化共有データと、第2暗号化共有データに対して第2暗号化部125が行った変換の逆変換を行えとの指示とを送る。この指示に基いて、第2復号化部126は、第2暗号化共有データに対して、第2暗号化部125が行ったのと逆の変換を行う(S605)。復号化の方法の詳細については後述する。第2復号化部126で第2暗号化共有データが復号化された結果生成されるのが、平文の共有データである。これにより、本願発明でいう第2通信装置たる通信装置100は、本願発明でいう第1通信装置たる通信装置100がそもそも持っていた共有データを、暗号化されていない平文の状態で、持つに至る。第2通信装置に相当する通信装置100は、共有データの共有が完了するまで、第1暗号化共有データ、第2第1暗号化共有データ、第2暗号化共有データのいずれからも、元の共有データの内容を把握することはできない。しかしながら、第2暗復号化部126による復号化のための変換が終了した場合に、平文の共有データを手に入れることができるのである。
 以上により、本願発明でいう第1通信装置と第2通信装置に相当する2つの通信装置100は、共有データを共有することになる。
 2つの通信装置100で共有されるに至るまでに2つの通信装置100の間を送受信されるデータには、平文の状態の共有データは存在しない。2つの通信装置100の間を送受信される場合、共有データは、第1暗号化共有データ、第2第1暗号化共有データ、又は第2暗号化共有データという暗号化された状態とされる。これによって、2つの通信装置100は安全に共有データを共有することができる。
 2つの通信装置100における第1暗号化部123、第1復号化部124、第2暗号化部125、第2復号化部126で行われるデータ変換について、詳述する。
 上述したように、この実施形態において、共有データは、本願の第1通信装置にあたる通信装置100の第1暗号化部123で暗号化(変換)されて第1暗号化共有データになり、次いで本願の第2通信装置にあたる通信装置100の第2暗号化部125で暗号化(変換)されて第2第1暗号化共有データになり、次いで本願の第1通信装置にあたる通信装置100の第1復号化部124で復号化(変換)されて第2暗号化共有データになり、最後に本願の第2通信装置にあたる通信装置100の第2復号化部126で復号化(変換)されて元の共有データに戻る。
 これが可能となるには、本願の第1通信装置に相当する通信装置100における第1暗号化部123と第1復号化部124とで実行される暗号化と復号化(逆変換)、及び本願の第2通信装置に相当する通信装置100における第2暗号化部125と第2復号化部126とで実行される暗号化と復号化(逆変換)が、ある条件を充足する必要がある。
 平文の状態の共有データをPとすることにする。Pは、所定のデータ列である。第1暗号化部123で共有データであるPに対して行われる暗号化のための演算を「×A」と示し、第2暗号化部125で第1暗号化共有データに対して行われる暗号化のための演算を「×B」と示し、第1復号化部124で第2第1暗号化共有データに対して行われる第1暗号化部123で行われた演算の逆演算を「×A-1」と、第2復号化部126で第2暗号化共有データに対して行われる第2暗号化部125で行われた演算の逆演算を「×B-1」と、それぞれ示すことにする。なお、上述の「×」の記号は当然に、単純な積の演算を意味するものではない。
 そうすると、第1暗号化データは、「P×A」と示すことができる。
 第2第1暗号化データは、「(P×A)×B」と示すことができる。
 第2暗号化データは、「P×B」と示すことができる。
 ここで、問題となるのは、第1復号化部124で行われる、第2第1暗号化共有データである「(P×A)×B」に対して「×A-1」の演算を行うことにより、「P×B」を得るための演算である。第2復号化部126で行われる第2暗号化共有データを共有データPに戻す「(P×B)×B-1」という演算は、一般的な復号化の演算であるから、こちらについては通常の暗号化、復号化についてある以上の特段の困難はない。第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における第1暗号化部123と第1復号化部124で実行される暗号化と復号化、及び本願の第2通信装置に相当する通信装置100における第2暗号化部125と第2復号化部126で実行される暗号化と復号化は、上述の如く、×A、×Bという演算の順番を入れ替えることが可能なものでなければならない。言い換えれば、本願の第1通信装置に相当する通信装置100における第1暗号化部123と第1復号化部124で実行される暗号化と復号化、及び本願の第2通信装置に相当する通信装置100における第2暗号化部125と第2復号化部126で実行される暗号化と復号化は、演算を「×」で表し、演算の対象を「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の第1暗号化部123と第1復号化部124とで暗号化と復号化のために用いられる鍵と、本願の第2通信装置に相当する通信装置100の第2暗号化部125と第2復号化部126とで暗号化と復号化のために用いられる鍵とは、同じものであっても良いが、同じものでなくても良い。つまり、共有データを共有しようとする2つの通信装置100は、同じ鍵を持たなくとも、各々が持つ鍵を用いて排他的論理和の演算を行うことが可能であり、そうしたとしても上述の「((P×A)×B)×A-1=P×B」という式の変形を実現させることができるのである。
 なお、排他的論理和の演算は、同じ演算を2回繰り返すことにより、元のデータ列に戻るという性質を持つ。つまり、(P×A)×A→P×(A×A)→Pである。この場合においては、第1暗号化部123で実行される演算「×A」と、第1復号化部124で実行される演算「×A-1」とが同じものとなる。そのような場合には、第1暗号化部123と、第1復号化部124とを異なるものとする利益はないので、例えば第1復号化部124を省略して、第1暗号化部123で暗号化と復号化のための演算の双方を実行するようにしても良い。
 「((P×A)×B)×A-1=P×B」という式の変形を許容するための上述の条件を満足させるための演算の他の例は、循環シフト(バレルシフト)である。
 循環シフトは、ある長さのデータ列が存在する場合であって、そのデータ列の右端と左端が繋がっているとみなした上で、そのデータ列全体を所定の文字数だけ、右又は左にシフトさせるというものである。例えば、右に3文字ずつデータ列全体をシフトさせる、とした場合には、データ列の右端から3文字が削除されるとともに削除された3文字がその順序を保ちながらデータ列の左端に付加され、データ列のその他の部分が3文字分ずつ右側にずらされる。この場合「右に3文字ずつ」というのが、かかる暗号化を行う場合の鍵になる。
 例えば、第1暗号化部123で「右にN文字ずつ」という鍵を用いた共有データの変換を行い、第2暗号化部125で「右にM文字ずつ」という鍵を用いた第1暗号化共有データの変換を行った場合、第1復号化部124で「左にN文字ずつ」という鍵を用いた第2第1暗号化共有データの変換を行えば、それは、元の共有データ中の文字が、「左にN文字ずつ」ずれた状態となる。これは共有データに対して第2暗号化部125が暗号化のための変換を行った場合に得られるデータ列に等しいから、上述した「((P×A)×B)×A-1=P×B」という式の変形が実現しているということを意味する。
 この場合第2復号化部126で、「左にM文字ずつ」という鍵を用いた変換を行うと、第2暗号化共有データは、元の共有データに戻ることになる。
 「((P×A)×B)×A-1=P×B」という式の変形を許容するための上述の条件を満足させるための演算の他の例は、四則演算を利用したものがある。
 例えば、第1暗号化部123で、あるデータ列に対して「N」という数値を加えるというデータの変換を行うとする。この場合、「N」という数値が本願発明における第1通信装置たる通信装置100における鍵となる。次いで、第2暗号化部125で、第1暗号化部123で変換されたデータ列に対して「M」という数値を加えるというデータの変換を行うとする。次いで、第1復号化部124で、第2暗号化部125で変換されたデータ列から、「N」という数値を減じるという変換を行うとする。そうすると、その変換後のデータ列は、第1暗号部123で変換を行われる前の元のデータ列に、「M」という数値を加えたものとなる。これは共有データに対して第2暗号化部125が暗号化のための変換を行った場合に得られるデータ列に等しいから、上述した「((P×A)×B)×A-1=P×B」という式の変形が実現しているということを意味する。
 この場合第2復号化部126で、「M」という数値を減じるという変換を行うことにより、第2暗号化共有データは、元の共有データに戻ることになる。
 他の四則演算を用いた場合においても、同様に、「((P×A)×B)×A-1=P×B」という式の変形を実現できることになる。
 いずれにせよ、本実施形態では、本願発明における第1通信装置と第2通信装置とにそれぞれ相当する2つの通信装置100の間で共有データが共有されることになる。共有データは、例えば、本願の第2通信装置に相当する通信装置100における制御部122に送られてそこで保存され、場合によってはデータ処理部120外に送られ適宜に利用される。
 共有データは、2つの通信装置100が、共有データを共有した後に公知或いは周知の共通鍵方式の暗号化通信を行う際に用いられる共通鍵、又は2つの通信装置100が同じ共通鍵を各々独自に生成する或いは選択するために用いられる秘密の情報とすることができる。これによれば、2つの通信装置は、共有データであった同一の共通鍵を用いて、又は共有された共有データから生成等された同一の共通鍵を用いて、以後において、共通鍵方式の暗号化通信を行うことが可能となる。
 或いは、共通鍵方式の暗号化通信を行わないこととするとともに、2つの通信装置100の間のデータの送受信を、当初から上述した方法で行うようにすることも可能である。本願における共有データの共有の過程は、ある通信装置100から他の通信装置100への共有データの送信の過程と捉えることが可能である。したがって、2つの通信装置100の間で送受信されるデータの例えばすべてを共有データと捉え、2つの通信装置100の間での通信を上述した第1暗号化共有データ、第2第1暗号化共有データ、第2暗号化共有データによるものとすれば、2つの通信装置100の間でのデータの送受信が、共通鍵方式の暗号化通信ではない新たな方式の暗号化通信で実行されることになる。
 なお、以上の実施形態では、すべての通信装置100が本願発明でいう第1通信装置と第2通信装置のいずれの役割をも果たすことができた。それ故、すべての通信装置100は、第1暗号化部123、第1復号化部124、第2暗号化部125、第2復号化部126のすべてを備えていた。
 ところで、上述したように、本願発明でいう第1通信装置と第2通信装置の区別は、共有データの送信を最初に行う側かどうかということにより決まる。そして、通信システムを構成する多数の通信装置100のうち、1つの或いは複数の通信装置を本願発明でいう第1通信装置としてしか機能しないものとするとともに、残りの通信装置を本願発明でいう第2通信装置としてしか機能しないものとする、というようにしても通信システムは成立しうる。
 例えば、通信装置100のうちの1つが、ユーザが所有する通信装置100にホームページを閲覧させるサーバである場合、このサーバにユーザが所有する通信装置100からアクセスすることはあっても、サーバからユーザが所有する通信装置100にアクセスすることはない、という状況はよくある。この場合、サーバである通信装置100は、本願発明でいう第2通信装置としての性格しか持つ必要がなくなる。他方、このような場合においては、ユーザが所有する通信装置100のうちの例えば幾つかを、本願発明でいう第1通信装置としての性格しか持たないようにすることも可能である。
 本願発明でいう第1通信装置としての性格しか持たない通信装置100では、第2暗号化部125、及び第2復号化部126が不要となり、本願発明でいう第2通信装置としての性格しか持たない通信装置100では、第1暗号化部123、及び第1復号化部124が不要となる。
 上述の通信ステムの応用として、通信装置100を3つ使った通信を実現することができる。
 この場合に、通信に関わる3つの通信装置100をそれぞれ通信装置A、通信装置B、通信装置Cと呼ぶものとする。通信装置A~Cの構成は基本的に、上述した通信装置100と同様にすることができる。
 その場合に行われる通信の例を、図6に示す。図6に示されたように、通信装置A、通信装置B、通信装置Cは、通信装置Bが間に入り、通信装置Aと通信装置Cは、通信装置Bを介して通信を行うものとする。共有データを最初に持っているのは通信装置Aであり、最終的には通信装置Aと通信装置Cとが共有データを共有することを目的としてこの通信は行われる。簡単にいうと、通信装置Aと通信装置Bとの関係は、本願発明における第1通信装置と第2通信装置との関係に等しく、通信装置Bと通信装置Cとの関係は、本願発明における第1通信装置と第2通信装置との関係に等しい。
 この通信では、まず、通信装置Aで、共有データが暗号化される(S701)。共有データは、図5で示された例と同じように、PPPと表され、通信装置Aで暗号化されたデータは、図5で示された第1暗号化共有データと同様に、右下がりの斜線でハッチングしたものとして表示される。このデータは、通信装置Aから通信装置Bに送信される(S702)。
 通信装置Bは、このデータを受取ると、上述の実施形態における本願発明で第2通信装置に相当する通信装置100がそうしたように、このデータを更に暗号化するための変換を行う(S801)。その結果、このデータは、図5で示された第2第1暗号化共有データと同様に、右下がりの斜線と左下がりの斜線とでハッチングされたものとして表示される。このデータは、通信装置Bから通信装置Cに送信される(S802)。
 通信装置Cと、通信装置Bとの関係は、上述したように、本願発明における第2通信装置と第1通信装置との関係に等しい。したがって、通信装置Cは、上記データを受取ると、上述の実施形態における本願発明で、第2通信装置に相当する通信装置100がそうしたように、このデータを更に暗号化するための変換を行う(S901)。その結果、このデータは、通信装置Cが受取ったデータを更に暗号化したことを示す水平な線が加わり、都合、右下がりの線と、左下がりの線と、水平な線とでハッチングされたものとして示される。このデータは、通信装置Cから通信装置Bに送られ(S902)、更に通信装置Bから通信装置Aに送られる(S803)。
 通信装置Aは、このデータを受取る。通信装置Aは、このデータにおいて、通信装置Aで行われた暗号化のための変換の逆変換を行う(S703)。これにより、通信装置Aが受取ったデータは、通信装置Aで行われた暗号化のための変換がなされなかった状態となる。つまり、通信装置Aが受取ったデータから、右下がりのハッチングが消える。このデータは、共有データに対して、通信装置Aで暗号化の処理を行わずに、通信装置Bと通信装置Cとで連続して暗号化の処理を行うことによって得られるデータに等しい。このデータは、通信装置Aから通信装置Bに送られる(S704)。
 通信装置Bはこのデータを受取る。通信装置Bは、このデータを受取ると、上述の実施形態における本願発明で第2通信装置に相当する通信装置100がそうしたように、このデータに対して、通信装置Bが行った暗号化のための変換の逆変換を行う(S804)。これにより、通信装置Bが受取ったデータは、通信装置Bで行われた暗号化のための変換がなされなかった状態となる。つまり、通信装置Bが受取ったデータから、左下がりのハッチングが消える。このデータは、共有データに対して、通信装置A、通信装置Bで暗号化の処理を行わずに、通信装置Cのみで暗号化の処理を行うことによって得られるデータに等しい。このデータは、通信装置Bから通信装置Cに送られる(S805)。
 通信装置Cはこのデータを受取る。通信装置Cはこのデータを受取ると、このデータに対して、通信装置Cで暗号化の処理を行ったのと逆の変換を行う(S903)。これにより、通信装置Cが受取ったデータは元の共有データに戻る。
 これにより、通信装置Aと、通信装置Cは、安全に共有データを共有するに至る。この過程で、通信装置Aと通信装置Bとの間で行われる通信と、通信装置Bと通信装置Cとの間で行われる通信とで送受信される共有データは、すべて暗号化された状態で送受信されるから、共有データを悪意のある第三者に盗聴されるおそれは基本的に無い。特筆すべきは、通信装置Aと通信装置Cとを仲介する通信装置Bですら、共有データの内容を知ることができないということである。かかる仲介を行う通信装置Bは、例えば、弁護士や、或いは公的機関が管理する通信装置とすることが可能であり、且つそうすることにより、互いに直接通信を行うことができない者(例えば、通信装置Aと通信装置Bの管理者)が通信を行うことが可能となるため便利であるが、その場合においても仲介を行う者にすら共有データの内容を知られなくて済む、という利点がある。
 なお、かかる通信において、S803の過程において、通信装置Bから通信装置Aに送られるデータは、通信装置Aで行われる暗号化のための変換と復号化のための変換をそれぞれ「×A」と「×A-1」と表示することとし、通信装置Bで行われる暗号化のための変換と復号化のための変換をそれぞれ「×B」と「×B-1」と表示することとし通信装置Cで行われる暗号化のための変換と復号化のための変換をそれぞれ「×C」と「×C-1」と表示することとした場合には、「((P×A)×B)×C」のように表現することができる。
 これに対して、通信装置Aで行われた演算の逆演算を行うS703による変換は、「(((P×A)×B)×C)×A-1」と表すことができるが、その結果得られるデータは、共有データに対して、通信装置Aで暗号化の処理を行わずに、通信装置Bと通信装置Cとで連続して暗号化の処理を行うことによって得られるデータであるから、「(P×B)×C」と表わすことができる。
 つまり、かかる変換においては、「(((P×A)×B)×C)×A-1=(P×B)×C」が成り立つ必要がある。
 同様に、S804の変換においては、「(P×B)×C×B-1=P×C」が成り立つ必要がある。
 これら条件はともに、上述したように、「×A」、「×A-1」、「×B」、「×B-1」、「×C」、「×C-1」という各演算に、交換法則と結合法則が成立するのであれば、成り立ちうる。通信装置A、通信装置B、通信装置Cで行われる各演算は、そのようなものである必要があり、その例は上述した通りである。

Claims (13)

  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暗号化共有データを前記共有データとするようになっている、
     通信システム。
  2.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている前記第2通信装置、との組合せにより構成する第1通信装置であって、
     暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えているとともに、
     前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとするようになっているとともに、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信するようになっており、
     前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付けた前記第2通信装置が、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信した場合に、前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付け、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとするようになっているとともに、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信するようになっており、
     それにより、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付けた前記第2通信装置が、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとするようになっている、
     第1通信装置。
  3.  前記第1暗号化手段と、前記第1復号化手段と、前記第2暗号化手段と、前記第2復号化手段とはそれぞれ、排他的論理和の演算を行うようになっている、
     請求項2記載の第1通信装置。
  4.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている前記第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暗号化共有データを受付けた前記第1通信装置が、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとし、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付け、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとするようになっている、
     第2通信装置。
  5.  前記第1暗号化手段と、前記第1復号化手段と、前記第2暗号化手段と、前記第2復号化手段とはそれぞれ、排他的論理和の演算を行うようになっている、
     請求項4記載の第2通信装置。
  6.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている前記第2通信装置、との組合せにより構成する第1通信装置であり、データ処理を行う第1データ処理手段と、前記第2通信装置と通信を行う第1通信手段とを備えているものの前記第1データ処理手段にて実行される方法であって、
     前記第1データ処理手段が実行する、
     前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程、
     前記第1暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、
     前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付けた前記第2通信装置が、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信した場合に、前記第2通信装置からの前記第2第1暗号化共有データを前記第1通信手段に受付けさせる過程、
     前記第2第1暗号化共有データのうち前記第1データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとする過程、
     前記第2暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、
     を含んでおり、
     それにより、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付けた前記第2通信装置が、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとさせられるようになっている、
     第1通信装置の第1データ処理手段で実行される方法。
  7.  前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程以降の各過程をすべて自動的に行う、
     請求項6記載の第1通信装置の第1データ処理手段で実行される方法。
  8.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている前記第1通信装置、との組合せにより構成する第2通信装置であり、データ処理を行う第2データ処理手段と、前記第1通信装置と通信を行う第2通信手段とを備えているものの前記第2データ処理手段にて実行される方法であって、
     前記第2データ処理手段が実行する、
     前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第1暗号化共有データを前記第2通信手段に受付けさせる過程、
     前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとする過程、
     前記第2第1暗号化共有データを前記第2通信手段に前記第1通信装置へ送信させる過程、
     前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付けた前記第1通信装置が、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとし、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第2暗号化共有データを前記第2通信手段に受付けさせる過程、
     前記第2暗号化共有データのうち前記第2データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとする過程、
     を含む、
     第2通信装置の第2データ処理手段で実行される方法。
  9.  前記第2データ処理手段が、前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第1暗号化共有データを前記第2通信手段に受付けさせる過程より後の過程のすべてを、自動的に行う、
     請求項8記載の第2通信装置の第2データ処理手段で実行される方法。
  10.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第2暗号化手段と、前記第2暗号化手段によりなされた暗号化の逆変換を行う第2復号化手段と、前記第1通信装置と通信を行う第2通信手段とを備えている前記第2通信装置、との組合せにより構成する第1通信装置として、前記第2通信装置と通信を行う第1通信手段を備えているコンピュータを機能させるためのコンピュータプログラムであって、
     前記コンピュータに、
     前記第2通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第1暗号化共有データとする過程、
     前記第1暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、
     前記第1通信装置から前記第2通信手段で前記第1暗号化共有データを受付けた前記第2通信装置が、前記第2暗号化手段で前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとするとともに、前記第2第1暗号化共有データを前記第2通信手段で前記第1通信装置に送信した場合に、前記第2通信装置からの前記第2第1暗号化共有データを前記第1通信手段に受付けさせる過程、
     前記第2第1暗号化共有データのうち前記コンピュータによりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとする過程、
     前記第2暗号化共有データを前記第1通信手段に前記第2通信装置へ送信させる過程、
     を実行させるためのものであり、
     それにより、前記第1通信装置から前記第2通信手段で前記第2暗号化共有データを受付けた前記第2通信装置が、前記第2復号化手段で前記第2暗号化共有データのうち前記第2暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとさせられるようになっている、
     コンピュータプログラム。
  11.  互いに通信を行う2つの通信装置の一方である第1通信装置と他方の通信装置である第2通信装置とからなる通信システムを、暗号化のための変換を行う第1暗号化手段と、前記第1暗号化手段によりなされた暗号化の逆変換を行う第1復号化手段と、前記第2通信装置と通信を行う第1通信手段とを備えている前記第1通信装置、との組合せにより構成する第2通信装置として、前記第1通信装置と通信を行う第2通信手段を備えているコンピュータを機能させるためのコンピュータプログラムであって、
     前記コンピュータに、
     前記第1通信装置が、前記第2通信装置との間で共有すべきデータである平文のデータである共有データに前記第1暗号化手段で暗号化のための変換をして第1暗号化共有データとし、前記第1暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第1暗号化共有データを前記第2通信手段に受付けさせる過程、
     前記第1暗号化共有データに暗号化のための変換をして第2第1暗号化共有データとする過程、
     前記第2第1暗号化共有データを前記第2通信手段に前記第1通信装置へ送信させる過程、
     前記第2通信装置から前記第1通信手段で前記第2第1暗号化共有データを受付けた前記第1通信装置が、前記第1復号化手段で前記第2第1暗号化共有データのうち前記第1暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2第1暗号化共有データを第2暗号化共有データとし、前記第2暗号化共有データを前記第1通信手段で前記第2通信装置に送信した場合に、前記第1通信装置からの前記第2暗号化共有データを前記第2通信手段に受付けさせる過程、
     前記第2暗号化共有データのうち前記第2データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第2暗号化共有データを前記共有データとする過程、
     を実行させるための、
     コンピュータプログラム。
  12.  前記第1通信手段を備えた所定の通信装置との組合せにより請求項2記載の第1通信装置を構成するためのコンピュータ装置であって、
     前記第1暗号化手段と、前記第1復号化手段とを備えている、
     コンピュータ装置。
  13.  前記第2通信手段を備えた所定の通信装置との組合せにより請求項4記載の第2通信装置を構成するためのコンピュータ装置であって、
     前記第2暗号化手段と、前記第2復号化手段とを備えている、
     コンピュータ装置。
PCT/JP2018/013711 2017-03-31 2018-03-30 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム WO2018181934A2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-072381 2017-03-31
JP2017072381A JP2018174485A (ja) 2017-03-31 2017-03-31 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム

Publications (2)

Publication Number Publication Date
WO2018181934A2 true WO2018181934A2 (ja) 2018-10-04
WO2018181934A3 WO2018181934A3 (ja) 2018-11-29

Family

ID=63677981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/013711 WO2018181934A2 (ja) 2017-03-31 2018-03-30 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム

Country Status (2)

Country Link
JP (1) JP2018174485A (ja)
WO (1) WO2018181934A2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348070A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd 機密化通信方法およびそれに用いるノード装置
JP4664008B2 (ja) * 2004-06-07 2011-04-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
US7907723B2 (en) * 2006-10-11 2011-03-15 Frank Rubin Device, system and method for fast secure message encryption without key distribution

Also Published As

Publication number Publication date
WO2018181934A3 (ja) 2018-11-29
JP2018174485A (ja) 2018-11-08

Similar Documents

Publication Publication Date Title
EP3916604B1 (en) Method and apparatus for processing privacy data of block chain, device, storage medium and computer program product
JP2022031105A (ja) プライバシー集合の共通部分を取得する方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US8984295B2 (en) Secure access to electronic devices
CN111431713B (zh) 一种私钥存储方法、装置和相关设备
WO2018025991A1 (ja) 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
US11115393B2 (en) Message server, method for operating message server and computer-readable recording medium
CN106612275B (zh) 用于传送和接收消息的用户终端和方法
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
CN106134128B (zh) 使用关联私钥部分更快的公钥加密的***和方法
US10250576B2 (en) Communication of messages over networks
US20120290833A1 (en) Certificate Blobs for Single Sign On
JP2003333029A (ja) 電子商取引安全システム及び方法
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
WO2021098152A1 (zh) 基于区块链的数据处理方法、装置及计算机设备
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム
WO2023241142A1 (zh) 一种数据处理方法及装置、存储介质及电子设备
KR101016642B1 (ko) 근접 무선 통신에서의 키 관리를 위한 모바일 시스템, 서비스 시스템 및 키 인증 방법
CN113892105A (zh) 包括html浏览器授权方式的计算机***和方法
Purushothama et al. Secure cloud storage service and limited proxy re-encryption for enforcing access control in public cloud
WO2018181934A2 (ja) 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム
CN113472731B (zh) 一种针对数据库用户身份验证的双因素认证方法
Salim et al. Design and implementation of a secure mobile banking system based on elliptic curve integrated encryption schema
WO2018105638A1 (ja) 通信システム、サーバ装置、ユーザ装置、方法、コンピュータプログラム
JP2022549671A (ja) ブラウザアプリケーション用の暗号化サービス
CN110166226B (zh) 一种生成秘钥的方法和装置

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: 18775125

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18775125

Country of ref document: EP

Kind code of ref document: A2