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

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

Info

Publication number
WO2019009275A2
WO2019009275A2 PCT/JP2018/025163 JP2018025163W WO2019009275A2 WO 2019009275 A2 WO2019009275 A2 WO 2019009275A2 JP 2018025163 W JP2018025163 W JP 2018025163W WO 2019009275 A2 WO2019009275 A2 WO 2019009275A2
Authority
WO
WIPO (PCT)
Prior art keywords
target data
encryption
data
communication device
block
Prior art date
Application number
PCT/JP2018/025163
Other languages
English (en)
French (fr)
Other versions
WO2019009275A3 (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
Priority claimed from JP2017177056A external-priority patent/JP7321481B2/ja
Application filed by 株式会社エヌティーアイ filed Critical 株式会社エヌティーアイ
Priority to EP18829093.6A priority Critical patent/EP3651406A4/en
Priority to US16/626,902 priority patent/US20200267133A1/en
Publication of WO2019009275A2 publication Critical patent/WO2019009275A2/ja
Publication of WO2019009275A3 publication Critical patent/WO2019009275A3/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to a technology capable of recording data that can be substituted for a block chain without falsification.
  • Bitcoins are called virtual currencies. Bitcoin was realized by a system built on the Internet originating from a paper by a person named Nakamoto Satoshi. The mechanism of Bitcoin is as follows. Bitcoin is first generated as follows. Those who have the right to generate bitcoins are limited to the administrator (generally called "minor") who manages the nodes described later. The manager of the node participates in certain games played on the Internet. The game is repeated, and the manager of the node that has won the game can obtain a predetermined amount of bitcoins each time the game is won. The bitcoin generated in this way, like general money, for example, “pays” from the manager of the node that has obtained it to a third party including persons other than the manager of the node.
  • minor administrator
  • the manager of the node participates in certain games played on the Internet. The game is repeated, and the manager of the node that has won the game can obtain a predetermined amount of bitcoins each time the game is won.
  • the bitcoin generated in this way like general money, for example, “pays”
  • the problem of double transfer is to be solved by Bitcoin by storing all transaction records.
  • the transaction record is, for example, as follows. For the sake of simplicity, it is assumed that there are only four participants in the bitcoin mechanism, A to D, and only two node administrators, A and B. The node manager A wins the above-mentioned game and 1000, and B wins the above-mentioned game and obtains 500 Bitcoins. In this state, the bitcoins possessed by A to D are described as follows. [Table 1] A + 1000 B + 500 C 0 D 0 Next, it is assumed that A paid C for 100 and B paid D for 200 Bitcoins.
  • each participant who participates in the bitcoin scheme does not have data corresponding to the bitcoin owned by him / her.
  • each participant's wallet is empty, all past transaction records are browsable, and the bitcoin balance at that time is thus identified from the browsable records.
  • the system is based on mutual understanding that each participant must have Bitcoin, or joint illusion. Therefore, in order to make the joint fantasy believable to all the participants, it is necessary to guarantee that the transaction record is justified or that tampering with the transaction record is impossible.
  • One of the techniques to make it possible is a block chain. In Bitcoin technology, the legitimacy of transaction records is secured by means of block chains and technologies or ideas called proof of work.
  • Bitcoin transaction records have a structure in which new transaction records are linked to previous transaction records. By continuously linking new transaction record data (blocks) to past transaction records, the transaction record data becomes a chain of blocks. This is called a block chain.
  • a new block to be added to a block chain is generated, the value obtained by encrypting the block immediately before that (specifically, the hash value created from the data of the previous block) is new It is added to the block.
  • the hash value changes and a tampering is discovered, so before that time It is virtually impossible to falsify data on past blocks created.
  • data of block chains are recorded in servers called nodes, which exist in large numbers on the Internet.
  • the data of the block chain recorded in each node is the same.
  • This is referred to as distributed management of data in the block chain.
  • the data of 1 to 10 is recorded in the X device, and 11 to 10
  • distributed management the same data in a large number of nodes is referred to as distributed management, but what a large number of nodes in a block chain are performing is merely a mirroring process.
  • the manager of the node can take part in some games and get bitcoins if they win, but not only that, if they win the game, they get new Get the right to add a block of negative transaction records to past transaction records.
  • the manager of another node lost in the game copies and adds the block of the new transaction record to the end of the block chain recorded in the node managed by itself.
  • the block chain recorded in each node can not be tampered with the hash value, or the hash value changes when tampered with, so that tampering can be discovered. ing. This means that if you focus on one block chain, you can not falsify the data of each block. Also, even if some of the block chains recorded in each node have been tampered with in the same way, including hash values, so as not to reveal data tampering with past blocks (eg, recorded in many nodes) Of some of the blockchains (even if the same tampering is done), if the uncorrupted ones of the blockchains recorded in the large number of nodes occupy more of them.
  • bitcoin block chains use such a majority rule. It is said that the block chain in Bitcoin is guaranteed its legitimacy even if there is no centralized block chain manager. As described above, the manager of the node can obtain bitcoins as a reward by winning the game (in fact, there are other rewards as well). With that in mind, node managers improve the computing power of their computers. In order for a malicious third party to falsify the majority of the block chain recorded in the node, it has at least half the computing power of the sum of the computing power of the large number of computers possessed by the nodes' administrators. It is necessary to prepare a computer.
  • the number of nodes (more precisely, the number of servers that make up a node) is said to exceed 10 million, and it is necessary to prepare a computer with the computing power it has Those who participate in the Bitcoin scheme trust the premise that is virtually impossible.
  • Such trust or trust relationship guarantees the legitimacy of the block chain and hence the transaction record, and gives some kind of trust to the bitcoin.
  • the present invention is provided with an encryption unit that can communicate with each other via a predetermined network, and that can encrypt predetermined data in a manner different from the other. And a method executed by a plurality of communication devices in which one of them holds target data, which is data that the users desire to maintain together. According to such a method, while all the plurality of communication devices transmit and receive the target data or data obtained by encrypting the data to and from each other via the network, encryption is sequentially performed by the encryption units respectively included in the communication devices.
  • Contains, Such method is quite simple.
  • the minimum configuration in carrying out the invention is only two communication devices that can communicate with each other via the network.
  • these two communication devices need to be equipped with an encryption unit that can execute data encryption in a decodable manner.
  • the encryption units respectively present in the two communication devices can perform encryption in different ways (for example, with different algorithms or with different keys).
  • the data to be maintained is object data that is data that the users of the two communication devices desire to maintain.
  • one target data is sequentially encrypted by the encryption units of the two communication devices.
  • the communication device whose target data was first encrypted by the encryption unit transmits the target data encrypted to the other communication device, and the communication device having received it transmits the encrypted target.
  • the data is further encrypted by the encryption unit.
  • the data generated by sequentially encrypting in the encryption units of the two communication devices may be decrypted by a third party because the encryption methods performed by the encryption units of the two communication devices are different. Not only will it not be possible, but any of the two communication devices will no longer be able to decode.
  • the encryption units of the two communication devices (of course, the encryption units of the two communication devices It may be specialized, and a decryption unit that decrypts the data encrypted by the encryption unit of the communication apparatus may be provided separately), and the target data encrypted by the two encryption units
  • decrypting in order generally, in the reverse order of the order in which encryption was performed
  • data generated by the cooperation of two communication devices and generated by sequentially encrypting target data with the encryption unit of the two communication devices can be used whenever two communication devices or their users cooperate.
  • block chains used in bitcoins in particular require a longer time (for example, about 10 minutes) to generate a new block and record new data, but the present invention compares it to that.
  • the time it takes to perform the exercise is generally short.
  • the target data in this case is data that the users of the plurality of communication devices desire to maintain together.
  • the plurality of communication devices include the encryption unit as described above, and the encryption units can encrypt some data in different ways. As in the case of two communication devices, the target data is sequentially encrypted by all of the encryption units of the plurality of communication devices.
  • the target data encrypted respectively by the encryption units of all the communication devices is shared by all the communication devices.
  • the plurality of communication devices can record data in a non-falsifiable state without using a block chain.
  • the time required for this process increases as the number of communication devices increases, but is generally shorter than the time required to record data in a block chain.
  • the method according to the present invention encrypts target data, which is data that users of a plurality of communication devices want to secure together, one after another by the encryption unit of the plurality of communication devices. It includes the process.
  • the encryption process in the method according to the present invention the encryption of the target data one after another is not limited to only the communication device of the user who desires to preserve the target data.
  • the encryption unit provided in each of the communication devices and the auxiliary encryption unit provided in each of the auxiliary communication devices are sequentially encrypted. May be
  • the user of the auxiliary communication device having the auxiliary encryption unit is completely irrelevant to the content of the target data, unlike the user as a party that typically has an interest in the content of the target data. Also good.
  • the communication device and the auxiliary communication device may be the same in hardware, software, function, etc., but the auxiliary communication device other than the communication device may be used to encrypt the target data in the encryption process.
  • the auxiliary communication device may be one or more.
  • the auxiliary communication device can be a notary person's communication device of a legally recognized person.
  • the order in which the encryption unit of the communication device and the auxiliary encryption unit of the auxiliary communication device encrypt target data is free.
  • the finally obtained multiple encrypted target data can be decrypted by the cooperation of all the communication devices participating in the encryption process and all the auxiliary communication devices.
  • the auxiliary communication device participates in the encryption process, only the communication device may share the multiply encrypted target data finally obtained as described above.
  • the auxiliary communication device may share the multiple encrypted target data that is finally obtained.
  • all of the plurality of communication devices and at least one of the auxiliary communication devices may transmit the target data encrypted by all of the encryption units of the plurality of communication devices to the network. It may be shared by transmitting and receiving via.
  • a plurality of recording devices capable of recording data, wherein one of the plurality of communication devices is connected to the network
  • the target data encrypted by all the encryption units of the communication device is transmitted, and the target data encrypted by all the encryption units of the plurality of communication devices is recorded on the recording device. It may include a recording process.
  • the auxiliary communication device does not participate in the encryption process, it is the principle to share the multiple encrypted target data among all the communication devices as described above. According to this, the multiple encrypted target data recorded in each communication device can not be falsified, or if falsified, it becomes a state where it is found.
  • the multiple encrypted target data recorded in each communication device may be erased or lost, for example.
  • multiple encrypted target data is sent from the communication device to an external recording device, and if it is recorded there, so-called backup is safe.
  • There may be a plurality of recording devices and if multiple encrypted recording target data is recorded in a plurality of recording devices, falsification of such data becomes more difficult. This is similar to preparing a large number of nodes in a block chain in a bitcoin system and recording the same block chain in many nodes, but in the block chain mechanism, the number of nodes is large in the block chain.
  • the number of recording devices required in the present invention is known in view of the fact that the system proves the authenticity and the node is fated to proliferate.
  • each recording device multiple (or many) pieces of target data encrypted in multiple will be recorded in each recording device as time passes, in which case each recording device
  • the multiple encrypted target data recorded in need not be the same. For example, if it is assumed that there are 100 pieces of multi-encrypted target data generated up to a certain point in time from 1 to 100 and the number of recording devices is 4 of the recording devices 1 to 5, the recording device 1 , 1 to 100 of the multiple encrypted target data, 1 to 50 of the multiple encrypted target data for the recording device 2, and of the multiple encrypted target data for the recording device 3 40 to 90 are stored in the recording device 4 for the even-numbered target data multiplexed and encrypted, and the recording device 5 is recorded for the odd-numbered target data multiplexed and encrypted.
  • the target data itself may be tampered with, if there is such tampering, when the encrypted target data is decrypted, the target data that has been tampered with and the encrypted target data are decrypted. Falsification is discovered because the target data obtained by
  • the communication device is the target data for encryption that is the target data encrypted by all the encryption units of the plurality of communication devices, and the source of the encryption target data.
  • the target data may be transmitted to the recording device, and the recording device may be configured to record the data to be encrypted and the target data that is the source of the target data in a linked state.
  • the auxiliary communication device participates in the encryption process, the plurality of communication devices, the encryption unit included in the communication device among the auxiliary communication devices, and the auxiliary communication
  • the communication device has each of the communication devices in a recording device capable of recording data, which is connected to the network and which has the target data encrypted by the auxiliary encryption unit that each of the devices has.
  • the encryption unit and the encryption unit included in each of the communication devices by transmitting the target data encrypted by the auxiliary encryption unit included in each of the auxiliary communication devices
  • a recording process may be included to record the target data encrypted by the auxiliary encryption unit included in each of the auxiliary communication devices.
  • encryption target data which is the target data, in which the communication device or the auxiliary communication device in the recording process is encrypted by all the plurality of communication devices and the encryption unit of the auxiliary communication device;
  • the target data that is the source of the encryption target data is transmitted to the recording device, and the recording device links the encryption target data and the target data that is the source with each other. You may record it.
  • the target data encrypted in the recording device and the target data in the plaintext that is the source are recorded, one or both of them can be made public.
  • the target data encrypted by the encryption unit included in each of the communication devices recorded in the recording device in the recording process and the auxiliary encryption unit included in each of the auxiliary communication devices. May be open to devices connected to the network.
  • the encrypted target data or the encrypted target data and the target data to be recorded in the recording device may be included in the block as in the conventional block chain. By doing so, it is possible to prevent tampering or erasure of the encrypted target data recorded in the recording apparatus, or to discover that tampering or erasure has occurred. It becomes possible.
  • the encryption target data which is the target data encrypted by all the encryption units of the plurality of communication devices, is a block that is a set of data and is connected to the block immediately before that It is recorded in the recording apparatus in the included state, and each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before it.
  • the communication device for transmitting the data to be encrypted to the recording device in the recording process generates the block including the data to be encrypted to be transmitted, to the recording device. It may be sent. In this case, a new block is generated at the communication device.
  • the operation value may be, for example, a hash value obtained by performing a hash operation on the immediately preceding block.
  • the encryption target data which is the target data encrypted by the auxiliary encryption unit included in each of the communication devices, is a block that is a set of data and is included in that connected to the block immediately before that Are recorded in the recording device in a fixed state, and each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before the block.
  • the communication device or the auxiliary communication device that transmits the data to be encrypted to the recording device in the recording step includes the data to be encrypted to be transmitted It generates a lock may transmit it to the recording device.
  • the new block is generated by the communication device or the auxiliary communication device.
  • new blocks may be generated at the recording device.
  • the encryption target data which is the target data encrypted by all the encryption units of the plurality of communication devices, is a block that is a set of data and is connected to the block immediately before that It is recorded in the recording apparatus in the included state, and each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before it.
  • the recording device may generate the block based on the data to be encrypted received from the communication device, and connect the block to the block immediately before the block.
  • the plurality of communication devices, the encryption unit of each of the communication devices among the auxiliary communication devices, and the auxiliary encryption unit of all of the auxiliary communication devices And the encryption target data which is the target data encrypted in the step is recorded in the recording device in a state included in a block which is a set of data and connected to a block immediately before the block
  • each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before the block, and the recording apparatus performs the recording process in the recording process
  • the block may be generated based on the data to be encrypted received from the communication device or the auxiliary communication device, and may be connected to the block immediately before it.
  • the encryption target data included in one block is one or more
  • the recording device receives one or more data from the communication device.
  • the block including the one or more pieces of data to be encrypted received after the immediately preceding block is generated is generated, and the block is generated immediately before that It may be connected to the block.
  • the block can include not only the encryption target data but also the target data that is the source of the encryption target data.
  • the block includes the encryption target data, the target data that is the source of the encryption target data, and the operation value, and the encryption is performed by the recording device in the recording process.
  • the communication device that transmits target data may generate the block including the encryption target data to be transmitted and the encryption target data, and may transmit the block to the recording device. If there is an auxiliary communication device, the block includes the encryption target data, the target data that is the source of the encryption target data, and the operation value, and the recording process
  • the communication device or the auxiliary communication device for transmitting the data to be encrypted to the recording device may include the block including the data to be encrypted and the data to be encrypted. It may be generated and sent to the recording device.
  • the blocks may be generated by the communication device or the auxiliary communication device as described above, but may be generated by the recording device.
  • the encryption target data, the target data as a source of the encryption target data, and the operation value are the encryption target data and the target data as a source of the encryption target data.
  • These blocks are included in a mutually linked state, and in the recording process, the recording device generates the block based on the data to be encrypted received from the communication device and the data to be the origin of the data. It may be connected to the block immediately before it.
  • the block contains the encryption target data, the target data that is the source of the encryption target data, and the operation value, and the encryption target data and the arithmetic value thereof
  • the original target data are included in a linked state with each other, and in the recording process, the recording device is the source of the encryption target data received from the communication device or the auxiliary communication device.
  • the block may be generated based on the target data and connected to the immediately preceding block.
  • the data to be encrypted and the data to be encrypted are disclosed to the device connected to the network regardless of whether or not they are recorded in the recording device in a state in which they are included in the block. Can.
  • the method according to the present invention is more specifically described as follows. Such a method corresponds to one of the inventions described above which is performed by two communication devices.
  • the first communication device and the second communication device in the following description correspond to the two communication devices in the invention described above.
  • the first communication device for convenience.
  • the present invention comprises: a first communication device having a first encryption unit capable of decryptably encrypting predetermined data, which can communicate with each other via a predetermined network; And a second communication device having a second encryption unit that can be decrypted to be decodable by a method different from the first encryption unit. Then, in this method, the first encryption unit encrypts target data, which is data that the first communication device desires that users of the first communication device and the second communication device both maintain.
  • the target data encrypted only by the first communication device is the first encryption target data.
  • the data to which the first encryption target data is further encrypted by the second communication device is referred to as the second first encryption target data.
  • the usage of the term is the same as the following.
  • the above invention of the method carried out in the communication system comprising the first communication device and the second communication device is carried out in the method carried out in the first communication device or in the second communication device as follows: It is also possible to grasp as a method.
  • the effect of the invention of the method performed by the first communication device and the method performed by the second communication device is the same as the effect of the method performed by the communication system including the first communication device and the second communication device. is there.
  • a method executed by an exemplary first communication device includes: a first communication having a first encryption unit capable of decryptably encrypting predetermined data, which can communicate with each other via a predetermined network;
  • a first communication system comprising: a device; and a second communication device having a second encryption unit capable of decryptably encrypting predetermined data by a method different from the first encryption unit. It is a method implemented by the communication device. Then, in this method, the first encryption unit encrypts target data, which is data that the user of the first communication device and the second communication device desires to carry out, which the first communication device executes.
  • the first communication device may automatically execute the first encryption process, the first transmission process, and the second reception process. For example, after the user of the first communication device selects or identifies the second communication device and inputs some operation content for starting processing to the first communication device, the first communication device performs the first encryption process. , The first transmission process and the second reception process may be performed automatically. This effect is as already described.
  • the method executed by the first communication device is such that the first communication device transmits the second first encryption target data to a recording device capable of recording data, connected to the network, A process of causing the recording device to record the second first encryption target data may be included.
  • the first communication device transmits the second first encryption target data and the target data that is the source of the second first encryption target data to the recording device, and the recording device
  • the second first encryption target data and the source data may be recorded in a linked state.
  • the encryption target data recorded in the recording device may be included in the block as described above.
  • the second first encryption target data is a block which is a set of data, and is recorded in the recording device in a state included in a block connected to the immediately preceding block.
  • each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the immediately preceding block, and the first communication device is the target of transmission.
  • the block including the second first encryption target data may be generated and transmitted to the recording device.
  • the block may include not only the second first encryption target data but also the original target data.
  • the block includes the second first encryption target data, the target data which is the source of the second first encrypted data, and the operation value, and the first communication is performed.
  • the apparatus may generate the block including the second first encryption target data to be transmitted and the target data as the source, and transmit the block to the recording apparatus.
  • the second first encryption target data is recorded in the recording device in a state included in a block which is a set of data and is connected to a block immediately before that.
  • each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before the first communication device, and the first communication apparatus is the second second.
  • the recording device When transmitting encryption target data to the recording device, the recording device subsequently generates the block based on the second first encryption target data received from the first communication device, and generates the block.
  • a method may be implemented that connects to the previous block.
  • the second first encryption target data included in one block is one or more
  • the recording device is configured to transmit one or more second first encryption target data from the first communication device.
  • each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before it
  • the recording device follows the first data.
  • a method executed by an exemplary second communication device includes: a first communication having a first encryption unit capable of decryptably encrypting predetermined data, which can communicate with each other via a predetermined network;
  • the second in the communication system comprising: a device; and a second communication device having a second encryption unit capable of decryptably encrypting predetermined data by a method different from the first encryption unit. It is a method implemented by the communication device.
  • the first communication device is target data which is data that the user of the first communication device and the second communication device desires to maintain.
  • a second encryption process of encrypting the data by the encryption unit to generate second first encryption target data, and a second transmission process of transmitting the second first encryption target data to the first communication device via the network including.
  • the second communication device may automatically execute the first reception process, the second encryption process, and the second transmission process.
  • the second communication device receives the first reception process and , The second encryption process, and the second transmission process may be performed automatically.
  • the method executed by the second communication device is such that the second communication device transmits the second first encryption target data to a recording device capable of recording data, connected to the network, A process of causing the recording device to record the second first encryption target data may be included.
  • the second communication device transmits the second first encryption target data and the target data that is the source of the second first encryption target data to the recording device, and the recording device The second first encryption target data and the source data may be recorded in a linked state.
  • the encryption target data recorded in the recording device may be included in the block as described above.
  • the second first encryption target data is a block which is a set of data, and is recorded in the recording device in a state included in a block connected to the immediately preceding block.
  • each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the immediately preceding block, and the second communication device is the target of transmission.
  • the block including the second first encryption target data may be generated and transmitted to the recording device.
  • the block may include not only the second first encryption target data but also the original target data.
  • the block includes the second first encryption target data, the target data that is the source of the second first encryption target data, and the calculation value.
  • the communication device may generate the block including the second first encryption target data to be transmitted and the target data as the source, and transmit the block to the recording device. Further, the second first encryption target data is recorded in the recording device in a state included in a block which is a set of data and is connected to a block immediately before that. And each of the blocks includes an operation value which is a value obtained by performing a predetermined operation on the block immediately before the second communication device, and the second communication device is the second second communication device.
  • the recording device subsequently generates the block based on the second first encryption target data received from the second communication device, and generates the block.
  • a method may be implemented that connects to the previous block.
  • the second first encryption target data, the target data that is the source of the second first encryption target data, and the calculated value are the second first encryption target data.
  • the recording device is configured to receive the second first encryption target data received from the second communication device and the original data.
  • the block may be generated based on the target data that has become and the block may be connected to the block immediately before it.
  • one or more of the second first encryption target data included in one block is one, and the recording device is connected to the one or more second communication devices.
  • the block including the one or more second first encryption target data received after the block immediately before the generation thereof is generated It may be generated and connected to the block immediately before it.
  • the inventor of the present application also proposes a first communication device as an aspect of the present invention.
  • the effect is equal to the effect of the method performed by the first communication device.
  • the first communication device is capable of communicating with each other via a predetermined network, and a second communication device having a second encryption unit capable of decryptably encrypting predetermined data.
  • the first communication device in the communication system.
  • the first communication device encrypts target data, which is data desired to be maintained by both the first communication device and the second communication device by a method different from that of the second encryption unit.
  • the second encryption target data generated by encrypting the first encryption target data received from the communication device via the network by the second encryption unit is transmitted to the second encryption target data via the network.
  • the inventor of the present application proposes, as one aspect of the present invention, a computer program for causing, for example, a general-purpose computer to function as the first communication device. For example, it is as follows.
  • the computer program includes: a first communication device capable of communicating with each other via a predetermined network; and a second communication device having a second encryption unit capable of decryptably encrypting predetermined data.
  • a computer program for causing a predetermined computer to function as a first communication device in a communication system including Then, the computer program encrypts target data, which is data that the user of the first communication device and the user of the second communication device desires to secure both in the computer, using a method different from the second encryption unit.
  • a first encryption unit that generates first encryption target data, a first transmission unit that transmits the first encryption target data to the second communication device via the network, and the second communication device A second encryption target data generated by encrypting the first encryption target data received from the first communication device via the network by the second encryption unit, It is a computer program for functioning as a 1st receiving part received from the said 2nd communication apparatus via.
  • the inventor of the present application also proposes a second communication device as an aspect of the present invention.
  • the effect is equal to the effect of the method performed by the second communication device.
  • the second communication device is communicable with each other via a predetermined network, and has a first communication device having a first encryption unit capable of decryptably encrypting predetermined data, and a second communication device. , And a second communication device in the communication system.
  • the second communication device is configured such that the first communication unit encrypts target data, which is data desired by the user of the first communication device and the user of the second communication device, to be maintained by the first encryption unit.
  • a second receiving unit that receives the first encryption target data generated from the first communication device via the network, and encrypts the first encryption target data using a method different from that of the first encryption unit.
  • a second encryption unit that generates second first encryption target data, and a second transmission unit that transmits the second first encryption target data to the first communication device via the network.
  • the inventor of the present invention proposes, as one aspect of the present invention, a computer program for causing, for example, a general-purpose computer to function as the second communication device. For example, it is as follows.
  • the computer program is capable of communicating with each other via a predetermined network, and has a first communication device having a first encryption unit capable of decryptably encrypting predetermined data, and a second communication device.
  • a computer program for causing a predetermined computer to function as a second communication device in a communication system including Then, the computer program causes the first encryption to be performed on target data, which is data that the first communication device wishes to protect both the computer and users of the first communication device and the second communication device.
  • the first encryption target data generated by encryption in the encryption unit is different from the first communication device via the network to the second reception unit, and the first encryption target data is different from the first encryption unit
  • a second encryption unit that encrypts by the method to generate second first encryption target data, and a second transmission unit that transmits the second first encryption target data to the first communication device via the network Is a computer program to make it function.
  • FIG. 2 is a diagram showing a hardware configuration of a user terminal in the communication system shown in FIG. 1.
  • FIG. 2 is a block diagram showing functional blocks generated inside a user terminal in the communication system shown in FIG. 1;
  • FIG. 2 is a diagram showing the flow of processing executed by the communication system shown in FIG. 1;
  • FIG. 7 is a view showing an example of an image displayed on the display of the user terminal shown in FIG. 2;
  • FIG. 8 is a block diagram showing functional blocks generated inside the recording device in the communication system of the modification 1;
  • FIG. 8 is a diagram conceptually showing data included in a block recorded in the recording unit of the recording device in the communication system of Modification Example 1.
  • FIG. 1 schematically shows the entire configuration of the communication system according to the first embodiment.
  • the communication system is configured to include a plurality of, usually, a large number of user terminals 100-1 to 100-N (hereinafter sometimes simply referred to as "user terminal 100"). All of these are connectable to the network 400.
  • Network 400 is, but is not limited to, the Internet in this embodiment.
  • the user terminal 100 is, broadly speaking, an example of the communication apparatus (or the first communication apparatus and the second communication apparatus) of the present invention.
  • the communication system includes, although not essential, the recording apparatus 300 connected to the network 400. The number of recording devices 300 is often two or more.
  • the user terminal 100 is the property of each user.
  • the user terminal 100 includes a computer.
  • the user terminal 100 is a mobile phone, a smartphone, a tablet, a notebook computer, a desktop computer, or the like. All of these may be general purpose ones.
  • the smartphone is, for example, an iPhone manufactured and sold by Apple Japan Limited.
  • An example of a tablet is the iPad manufactured and sold by Apple Japan Limited.
  • the user terminals 100 are required to at least be able to communicate with each other via the network 400 and to be able to perform processing of data encryption and decryption as described later. Since the user terminal 100 in this embodiment is a smart phone, it is naturally possible to communicate with other user terminals 100 via the network 400. Also, the functions of data encryption and decryption can be obtained by a computer program as described later.
  • the configuration of each of the user terminals 100-1 to 100-N is the same in the context of the present invention.
  • An example of the appearance of the user terminal 100 is shown in FIG.
  • the user terminal 100 includes a display 101.
  • the display 101 is for displaying a still image or a moving image, and a known or known one can be used.
  • the display 101 is, for example, a liquid crystal display.
  • the user terminal 100 also comprises an input device 102.
  • the input device 102 is for the user to perform desired input to the user terminal 100. As the input device 102, known or known ones can be used.
  • the input device 102 of the user terminal 100 in this embodiment is a button type
  • the present invention is not limited to this, and it is also possible to use a ten key, a keyboard, a trackball, a mouse or the like.
  • the user terminal 100 is, for example, a laptop computer or a desktop computer
  • the input device 102 will be a keyboard, a trackball, a mouse or the like.
  • the display 101 is a touch panel, the display 101 doubles as the function of the input device 102, which is the case in this embodiment.
  • the data input from the input device 102 will be described in detail after that, for example, selection information and start information.
  • the hardware configuration of the user terminal 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.
  • the CPU 111 executes, for example, processing to be described later by executing a computer program recorded in the ROM 112.
  • the computer program includes at least a computer program for causing the user terminal 100 to function as the communication device (or the first communication device and the second communication device) of the present invention.
  • the computer program may be preinstalled on the user terminal 100 or may be installed after the fact.
  • the installation of the computer program into the user terminal 100 may be performed via a predetermined recording medium (not shown) such as a memory card or the like, or may be performed via a network such as the Internet.
  • the ROM 112 stores 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. If the user terminal 100 is a smartphone, for example, a computer program for executing a call or an e-mail, which is necessary for causing the user terminal 100 to function as a smartphone Data is recorded.
  • the user terminal 100 is also enabled to browse a home page based on data received via the network 400, and implements a known web browser for enabling it.
  • the RAM 113 provides a work area necessary for the CPU 111 to perform processing.
  • the interface 114 exchanges data between the CPU 111 and the RAM 113 connected via the bus 116 and the like and the outside.
  • the display 114 described above and the input device 102 are connected to the interface 114.
  • the operation content input from the input device 102 is input from the interface 114 to the bus 116, and image data to be described later is output from the interface 114 to the display 101.
  • the interface 114 is also connected to a transceiver (not shown).
  • the transmitting and receiving unit transmits and receives data via the network 400 which is the Internet. Such communication may be performed by wire, but when the user terminal 100 is a smartphone, such communication is normally performed wirelessly.
  • the configuration of the transmitting and receiving unit may be known or known.
  • the data received by the transmission / reception unit from the network 400 is received by the interface 114, and the data passed from the interface 114 to the transmission / reception unit is transmitted by the transmission / reception unit to the outside via the network 400, for example, another user It is sent to the terminal 100.
  • Data that may be sent from the transceiver unit to another device via the network 400 is target data or encrypted target data described later, and the transceiver unit may receive from the other device via the network 400. The same is true for the data.
  • the CPU 111 executes the computer program, functional blocks as shown in FIG. 4 are generated in the user terminal 100.
  • the following functional blocks may be generated by the function of the above-described computer program alone for causing the user terminal 100 to function as the communication device (or the first communication device and the second communication device) of the present invention. May be generated by the cooperation of the above-described computer program and the OS or other computer program installed in the user terminal 100.
  • the following control unit 120 is generated in relation to the function of the present invention.
  • the control unit 120 includes a main control unit 121, a data input / output unit 122, a first recording unit 123, and an encryption unit 124.
  • the control unit 120 executes information processing as described below.
  • the main control unit 121 performs overall control in the control unit 120.
  • the main control unit 121 may receive, from the data input / output unit 122, selection information and start information described later.
  • the selection information selects target data, which is data to be shared, recorded, and maintained among several user terminals 100 including the user terminal 100 having the main control unit 121, and shares the target data. Is information that specifies the user terminal 100 to be recorded and maintained.
  • the main control unit 121 reads out the target data selected by the selection information from the first recording unit 123.
  • the main control unit 121 is configured to execute processing to be described later for starting an encryption process to be described later.
  • the main control unit 121 may also send the target data to the encryption unit 124 when the target data is read from the first recording unit 123.
  • the main control unit 121 may receive target data or encrypted target data from the data input / output unit 122. When these are received, the main control unit 121 sends the data to the encryption unit 124 or the first recording unit 123.
  • a unique user ID is recorded in each user terminal 100. Each user terminal 100 can be identified by using the user ID.
  • the user ID is, for example, numbers, letters, symbols, or a mixture of them.
  • the main control unit 121 may receive the encrypted target data from the encryption unit 124 in some cases. When the encrypted target data is received, the main control unit 121 sends it to the data input / output unit 122.
  • the data input / output unit 122 is used to input / output data to / from the control unit 120. Specifically, the data input / output unit 122 receives selection information and start information input from the above-described input device 102 via the interface 114. When receiving data from the input devices 102, the data input / output unit 122 sends selection information and start information to the main control unit 121. In addition, target data or encrypted target data may be sent from the main control unit 121 to the data input / output unit 122. When the data is sent, the data input / output unit 122 sends them to the transmitting / receiving unit via the interface 114.
  • the target data or encrypted target data received from the other device via the network 400 and received by the transmitting / receiving unit is sent to the data input / output unit 122 via the interface 114. There is.
  • the data input / output unit 122 receives the data, it sends them to the main control unit 121.
  • the first recording unit 123 records data.
  • the data that may be recorded in the first recording unit 123 is, for example, target data, or data described later in which the target data is encrypted.
  • Other data, for example, key data may be recorded in the first recording unit 123 as described later.
  • the encryption unit 124 performs data encryption and decryption.
  • the encryption and decryption methods performed by the encryption unit 124 may or may not always be performed using the same key, for example, always using the same key and the same algorithm.
  • the encryption method performed by the encryption unit 124 may be different each time a process of encrypting certain data is performed.
  • the encryption method performed by the encryption unit 124 changes, the key used for encryption is changed, the algorithm used for encryption is changed, or the key and algorithm used for encryption are changed. It does not matter if it is done.
  • the encryption unit 124 decrypts data regardless of whether the encryption method performed by the encryption unit 124 changes, the operation necessary to decrypt the encrypted data is encrypted. The conversion unit 124 performs this.
  • an encryption unit 124 is present in each user terminal 100
  • the encryption method executed in the encryption unit 124 of each user terminal 100 is unique.
  • the algorithm used for the encryption process in the encryption unit 124 of each user terminal 100 is the same.
  • the keys used for the encryption process in the encryption unit 124 of each user terminal 100 can be made different.
  • the encryption method performed in the encryption unit 124 of each user terminal 100 changes, for example, the algorithm used for encryption in the encryption unit 124 of each user terminal 100 is always fixed, and In the case where the same key is used in all the encryption units 124 and the key used for encryption in the encryption unit 124 of each user terminal 100 changes every time data encryption is performed, temporarily Even if the same key happens to be used by one user terminal 100 and another user terminal 100, if the probability is low enough to be ignored (for example, the probability of occurrence of the same key is 1 / 10,000 or less) The encryption method executed by the encryption unit 124 of each user terminal 100 is considered to be unique.
  • the encryption unit 124 may receive target data or encrypted target data from the main control unit 121.
  • the encryption unit 124 further encrypts the received data, and then encrypts the encrypted data. It is returned to the control unit 121.
  • the encryption unit 124 may receive encrypted target data from the main control unit 121. If it is sent from the main control unit 121 to restore the target data, the encryption unit 124 performs decryption processing on the data and then returns the decrypted data to the main control unit 121. It has become.
  • the recording device 300 is a general database connectable to the network 400, and may have the same hardware configuration as that of a computer or server for constructing a general database, and has no particular feature.
  • the recording apparatus 300 includes a CPU, a ROM, a RAM, an HDD as an example of a large capacity recording medium, and an interface, which are connected by a bus.
  • the recording device 300 includes a recording unit as a functional block (not shown) which is configured by a part of the HDD when viewed in hardware. The multiple encrypted target data sent from the user terminal 100 is recorded in the recording unit.
  • the multiple encrypted target data may be recorded in the recording unit in a state where it can be viewed from another device (for example, the user terminal 100) connected to the network 400.
  • another device for example, the user terminal 100
  • the recording apparatus 300 may be installed by a person who voluntarily participates in the structure of the communication system, or may be installed by an administrator of the communication system, for the nodes of the block chain of bitcoin. .
  • target data which is data that the users of the plurality of user terminals 100 desire to maintain together, is maintained in the user terminal 100.
  • At least one of the user terminal 100-1 and the user terminal 100-2 holds the target data. Both the user terminal 100-1 and the user terminal 100-2 maintain the data (for example, the user terminal 100-1 and the user terminal 100-2 are recorded in an unalterable state)
  • the desired data is typically data of a contract that specifies a contract made between the two users. For example, if the user of the user terminal 100-1 has transferred the virtual currency to the user of the user terminal 100-2, in other words, if data of the virtual currency has been transmitted from the user terminal 100-1 to the user terminal 100-2, Such transaction record data is the contract data.
  • the contract specified by the data of the contract does not need to be accompanied by transmission and reception of data between the user terminals 100, and may be a contract of buying and selling land, a contract of marriage, and the like.
  • one of the user terminal 100-1 and the user terminal 100-2, for example, the user terminal 100-1 is a known home page server for the purpose of causing a third party to browse a home page
  • the contract concerning the copyright may be a contract that is performed prior to allowing the user of the user terminal 100-2 to download some program.
  • the target data is not limited to the one related to the contract, and the user terminal 100-1 and the user terminal 100-2 want to keep the secret of only two people, and do not want to be tampered with, accurate recording It may be data that specifies information that you want to leave.
  • the user of the user terminal 100-1 is a doctor and the user of the user terminal 100-2 is a patient
  • the prescription given to the patient by the doctor and the data of the medical certificate correspond thereto.
  • the user of the user terminal 100-1 is a lawyer and the user of the user terminal 100-2 is the customer
  • the advice given by the lawyer to the customer or the data of the certificate corresponds to it.
  • the target data includes at least a part of a computer program, and may be, for example, automatically executed by an appropriate computer when a predetermined condition is satisfied. According to this, this communication system can be made to correspond to the so-called smart contract being realized by Ethereum (trademark) and the like.
  • the above target data are all examples, and the target data may be any data as long as the users of the plurality of user terminals 100 desire to maintain the data together.
  • target data is generated by a known or known method (S801).
  • the target data may be generated in the user terminal 100-1, may be generated in the user terminal 100-2, or may be simultaneously generated in the user terminal 100-1 and the user terminal 100-2, for example. Or, it may be generated by another device outside the user terminal 100-1 and the user terminal 100-2, and sent to the user terminal 100-1 and the user terminal 100-2 by transmission via the network 400 or the like. Absent.
  • the target data may not be newly generated data, but may be, for example, data which at least one of the user terminal 100-1 and the user terminal 100-2 previously has. Regardless of the process of acquisition, one of the user terminal 100-1 and the user terminal 100-2 holds the target data.
  • target data is present only in the user terminal 100-1 for the time being.
  • the target data is, for example, in a state of being recorded in the first recording unit 123 in the user terminal 100-1.
  • the user of the user terminal 100-1 is a combination of information specifying the target data to be maintained and the user who desires to share and maintain the target data or data specifying the user terminal 100.
  • selection information is input (S802).
  • the selection information is input, for example, an image for prompting the user to input the selection information as shown in FIG. 6 is displayed on the display 101 of the user terminal 100-1.
  • the data of such an image is generated by the main control unit 121 of the user terminal 100-1.
  • the image data is sent from the main control unit 121 to the display 101 via the data input / output unit 122 and the interface 114, whereby an image as shown in FIG. 6 is displayed on the display 101.
  • a character "target data” and a horizontally-long rectangular frame lying side by side with the character for inputting the target data, and "sharing destinations 1 to 3" A horizontal rectangular frame lying in a row with those letters and a letter called multicast and a letter called multicast for making an input corresponding to each of the letters and the letters 1 to 3 for sharing. It includes a button with the letters YES and NO, and a button with the letter OK at the bottom.
  • the frame displayed beside the character of the target data is for writing information for selecting the target data.
  • the target data is generally considered to be a file for certain data, in that case, the user will write, for example, the file name of the target data in the frame. Such writing is performed by the operation of the input device 102.
  • the frame prepared next to the characters of sharing destinations 1 to 3 is for writing information for specifying the user terminal 100 that preserves the target data together with the user terminal 100-1.
  • Each of the shared destinations 1 to 3 corresponds to information for specifying one user terminal 100, and in the example of FIG. 6, a user terminal that preserves target data together with the user terminal 100-1 with up to three user terminals 100. It can be specified as 100.
  • Such specification of the user terminal 100 can be performed by, for example, a user ID, or can be performed by the name or handle name of each user, or some identifier assigned to each user terminal 100.
  • only one user terminal 100-2 maintains the target data together with the user terminal 100-1.
  • Write only to. Such writing is performed by the operation of the input device 102.
  • three frames for writing the sharing destination are prepared in advance in the sharing destinations 1 to 3.
  • this is not the limitation. For example, only one such frame is initially displayed on the display 101, and the user may be able to add it by operating the input device 102 as needed, or at first, the necessary frame The user may be made to input a number, and the display 101 may display a number of frames specified by the user.
  • the following input regarding the necessity of multicast is performed.
  • the input about the necessity of the multicast corresponds to a part of the input of the selection information. It is possible to always or not always perform multicast, in which case it is not necessary to confirm to the user whether or not the multicast is necessary, so the input described below and the input to the user
  • the display on the display 101 for prompting can be omitted.
  • the buttons positioned next to the word "multicast” and to which the letters "YES” and “NO” are respectively attached are used to select whether or not to perform multicasting when the user clicks any of the buttons.
  • multicast refers to a process of causing the recording device 300 to record multiple encrypted target data, which will be described later. Such processing will be described in detail later, but the multicast is performed when the user selects the button with the character YES, and the multicast is performed when the user selects the button with the character NO. It will not be done. Such selection is performed by the operation of the input device 102. In this embodiment, although it is not limited to this, it is assumed that the user selects a button with the character of YES. Then, when all of the above-mentioned input is completed, the user clicks a button with the text "OK".
  • selection information When the user of the user terminal 100-1 clicks a button with the character of OK, selection information, information on necessity of multicasting, and start information are generated. These pieces of information are sent from the input device 102 through the interface 114 to the data input / output unit 122 of the control unit 120, and from there to the main control unit 121.
  • the main control unit 121 sets, as the object data, data specified by the information written in the frame displayed beside the character of the object data in the display 101 among the selection information. It is read from the first recording unit 123. Such data is plaintext data. Thereafter, this is treated as target data.
  • the main control unit 121 sends the target data read from the first recording unit 123 to the encryption unit 124.
  • the encryption unit 124 that has received it encrypts the received target data (S804).
  • the algorithm used when the encryption unit 124 in this embodiment encrypts target data or encrypted target data is always the same.
  • the encryption unit 124 in this embodiment generates a new key prior to generation of a new key each time encryption of target data or encrypted target data is performed, although not limited thereto.
  • the key is used to execute the encryption process.
  • the encryption unit 124 encrypts target data using a fixed algorithm and a key that changes each time the encryption processing is performed, and obtains encrypted target data.
  • the encryption unit 124 sends the encrypted target data and the key used for the encryption to the main control unit 121.
  • the main control unit 121 temporarily holds the key.
  • the main control unit 121 is configured to encrypt information written in the frame displayed next to the character of the sharing destination 1 on the display 101 among the selection information in the encrypted target data.
  • the information for specifying the user terminal 100-2 which is the user terminal 100 of the other party who shares the target data with the user terminal 100-1 and the information for specifying the user terminal 100-1 are attached.
  • the user terminal 100-2 has the user ID of the user terminal 100-2 as the former of the information attached to the encrypted target data, and the main control unit 121 has the latter as the latter.
  • a user ID of -1 is used respectively.
  • the main control unit 121 sends the target data to which the two user IDs are assigned to the data input / output unit 122. Such data is sent from the data input / output unit 122 to the transmission / reception unit via the interface 114.
  • the transmission / reception unit transmits the encrypted target data attached with two user IDs to the user terminal 100-2 which is the user terminal 100 of the other party who shares the target data multiplexed and encrypted with the user terminal 100-1. Then, it transmits via the network 400 (S805).
  • the user terminal 100-2 of the transmission destination can be identified by the user ID of the user terminal 100-2 of the other party attached to the target data.
  • the encrypted target data with two user IDs attached is transmitted via the network 400 and received by the transmission / reception unit of the user terminal 100-2 (S901).
  • the target data encrypted by the user terminal 100-1 to which two user IDs are attached is transmitted from the transmission / reception unit of the user terminal 100-2 to the main control unit 121 through the interface 114 and the data input / output unit 122 Sent.
  • the main control unit 121 sends the encrypted target data of the data to the encryption unit 124.
  • the encryption unit 124 further encrypts the encrypted target data (S902).
  • the target data is sequentially and successively encrypted by the encryption unit 124 of the user terminal 100-1 and the encryption unit 124 of the user terminal 100-2.
  • the data obtained by this is target data that has been multiplexed (doubled) encrypted.
  • the encryption unit 124 of the user terminal 100-2 encryption is performed using a fixed algorithm and a changing key.
  • the encryption algorithm used by the user terminal 100-1 and the user terminal 100-2 need not be the same.
  • the doubly encrypted target data is sent from the encryption unit 124 to the main control unit 121 together with the key used by the encryption unit 124 when encrypting it.
  • the main control unit 121 records the doubly encrypted target data in the first recording unit 123 together with the key used when encrypting it (S903).
  • the user ID of the user terminal 100-1 may be attached to the doubly encrypted target data recorded in the first recording unit 123.
  • the main control unit 121 adds the above-mentioned two user IDs to the double-encrypted target data again.
  • the double-encrypted target data to which the two user IDs are attached is sent from the main control unit 121 to the transmission / reception unit via the data input / output unit 122 and the interface 114.
  • the transmission / reception unit transmits the doubly encrypted target data to which two user IDs are attached to the user terminal 100-1 via the network 400 (S904).
  • the user terminal 100-1 of the transmission destination can be identified by the user ID of the user terminal 100-1 of the other party attached to the target data.
  • the encrypted target data with two user IDs attached is transmitted via the network 400 and received by the transmitting / receiving unit of the user terminal 100-1 (S806).
  • the doubly encrypted target data to which two user IDs are attached is sent from the transmission / reception unit of the user terminal 100-1 to the main control unit 121 through the interface 114 and the data input / output unit 122.
  • the doubly encrypted target data is the key used by the encryption unit 124 of the user terminal 100-1 when the target data was first encrypted (this key is provided from the encryption unit 124 as described above). And the main control unit 121 holds it), and the main control unit 121 records the data in the first recording unit 123 (S807).
  • the user ID of the user terminal 100-2 may be attached to the doubly encrypted target data recorded in the first recording unit 123.
  • the double-encrypted target data is shared between the user terminal 100-1 and the user terminal 100-2.
  • the double-encrypted target data is, of course, a third party, the user terminal 100-1 that is the party who generated the double-encrypted target data, and the user terminal 100-2 alone. It can not be decrypted. Even if the user terminal 100-1 and the user terminal 100-2 cooperate with each other, if the tampered target data has been tampered with, it is possible to decrypt the doubly encrypted target data. The fact that it was not possible will prove that there has been falsification.
  • the main control unit 121 multicasts the doubly encrypted target data to which the above two user IDs are added again (S808).
  • the main control unit 121 executes the multicast process based on the fact that the user has selected the button with the character YES, as described above.
  • the main control unit 121 uses the data input / output unit 122 and the interface 114 to remove data obtained by removing the key from the data recorded by the main control unit 121 in the first recording unit 123 of the user terminal 100-1. Send to the transmitter / receiver.
  • the data sent to the transceiver unit is sent from the transceiver unit to at least one of the recording devices 300 via the network 400.
  • the recording device 300 to which the data is to be sent may be selected by the user of the user terminal 100-1 from among the recording devices 300, or randomly selected from the recording devices 300 or according to some rule It may be selected by the terminal 100-1, or all of the recording device 300 may be selected.
  • the recording device 300 that has received the doubly encrypted target data to which two user IDs are attached records the received data in a recording unit (not shown).
  • the data may be recorded in the recording unit in a state where it can be viewed by a third party via the network 400, and in this embodiment it is.
  • what is put in a state where it can be viewed by a third party may be only target data that has been multiply encrypted.
  • only one recording device 300 may be provided, when there are a plurality of the recording devices 300, a plurality (or a plurality) of multiple encrypted target data are recorded in each of the recording devices 300 as time passes. become. In that case, the multiple encrypted target data recorded in each recording device 300 need not be the same.
  • the multiple encrypted target data recorded in each recording device 300 may be all of the multiple encrypted target data generated in the multiple, or only some of them. Also, the multiple encrypted target data recorded in the multiple recording devices 300 that record only a part of the multiple generated multiple encrypted target data are partially overlapped.
  • the doubly encrypted target data to which two user IDs are attached are the user terminal 100-1 and the user terminal 100-2, which are the two user terminals 100 that are the parties that generated the data, For example, it is shared with some recording devices 300 and is in a maintained state.
  • the multicast process can be performed as long as it has dually encrypted target data, and may be performed by another device that has dually encrypted target data.
  • the user terminal 100-2 may perform multicast processing.
  • the process from S 803 for the input of start information to the process for S 807 for reception of the doubly encrypted target data, or the process from S 803 for the input of start information for multicast may be automatically performed by the user terminal 100-1, the user terminal 100-2, and the recording device 300 in some cases, and this embodiment is limited thereto. Not, but it is. Further, in this embodiment, the user of the user terminal 100-1 inputs the selection information and the start information, but for example, the user terminal 100-1 and the user terminal 100 automatically when target data is generated. It is also possible for -2 and possibly the recording device 300 to automatically execute all of the above-described processing. In that case, the user's input of the selection information and the start information can be omitted.
  • the doubly encrypted target data shared by the user terminal 100-1, the user terminal 100-2, and the recording device 300 may not be used after that, but as will be described later, for example, It can be used when it is necessary to verify the content of the subject data.
  • the doubly encrypted subject data is decrypted back to plaintext subject data. Since the decrypted plaintext target data is equal to the content of the target data before being doubly encrypted, there is no error in verification of past target data by the decrypted target data, and the target There is no room for doubt about the authenticity of the data. Note that, in this example, what is sent from the user terminal 100-1 or the user terminal 100-2 to the recording device 300 at the time of multicasting is double encrypted target data to which two user IDs are attached. Met.
  • the target data that is the source of the dually encrypted target data to the data sent from the user terminal 100-1 or the user terminal 100-2 to the recording device 300 in multicasting is there.
  • the recording unit (not shown) of the recording apparatus 300 is the source of the doubly encrypted target data to which the two user IDs are attached, and the doubly encrypted target data. It becomes target data which became The doubly encrypted subject data and the subject data from which the doubly encrypted subject data originates are linked to each other or recorded as a pair.
  • the same or different pairs of doubly encrypted target data and the target data which is the source of doubly encrypted target data are stored. It will be.
  • At least one of the double-encrypted target data and the original target data may be disclosed to another device via the network 400.
  • target data when it is only the user terminal 100-1 that has target data of plaintext, in addition to the target data doubly encrypted, the original Basically, only the user terminal 100-1 of the user terminal 100-1 and the user terminal 100-2 can transmit the target data thus obtained to the recording device 300. If the user terminal 100-2 is to transmit the data to the recording device 300, decrypt the target data in plain text from the user terminal 100-1 to the user terminal 100-2 or the user terminal 100-2. The target data encrypted by the user terminal 100-1 is transmitted to the recording device 300 so that the target data encrypted by the user terminal 100-2 and the target data as the source thereof are transmitted. It may be transmitted from the user terminal 100-1 to the user terminal 100-2 at an appropriate timing before.
  • Decryption of the doubly encrypted target data is performed, for example, as follows. Usually, it is the user of the user terminal 100-1 or the user of the user terminal 100-2 who wants to verify the doubly encrypted target data. Then, as described above, the user terminal 100-1 and the user terminal 100-2 hold the dually encrypted target data in the state of being recorded in the first recording unit 123. Therefore, the user selects the doubly encrypted data to be decrypted from the data recorded in the first recording unit 123, and transmits it to the user terminal 100-1 and the user terminal 100-2. It is sufficient if they are exchanged and decrypted.
  • Such processing is usually performed as processing opposite to the processing when the target data is double-encrypted target data, and is not limited to this in this embodiment.
  • the user of the user terminal 100-2 wants to decrypt target data that has been doubly encrypted with the user terminal 100-1.
  • the user of the user terminal 100-2 selects the doubly encrypted target data, for example, using the input device 102 of the user terminal 100-2.
  • the selected double-encrypted target data is attached with the key used when the data is encrypted, the user terminal 100-1, and the user ID of the user terminal 100-2. ing.
  • the main control unit 121 reads out all the data from the first recording unit 123.
  • the main control unit 121 sends the key and the double-encrypted target data among the read out data to the encryption unit 124.
  • the encryption unit 124 decrypts the doubly encrypted target data using the fixed algorithm and the key provided from the main control unit 121. Then, the double-encrypted target data is decrypted, and the target data is returned to the encrypted state only by the encryption unit 124 of the user terminal 100-1.
  • the encryption unit 124 sends the data to the main control unit 121 together with the doubly encrypted data.
  • the main control unit 121 attaches the user ID of the user terminal 100-1 and the user terminal 100-2 to the data, and sends the data to the transmission / reception unit via the data input / output unit 122 and the interface 114.
  • Those data are sent from the transmitting / receiving unit to the user terminal 100-1 via the network 400.
  • the user terminal 100-1 receives those data at its transmitting and receiving unit.
  • Data in a state where target data encrypted with only two user IDs and target data that has been double encrypted is encrypted by only the encryption unit 124 of the user terminal 100-1 is transmitted and received by the user terminal 100-1 are sent to the main control unit 121 via the interface 114 and the data input / output unit 122.
  • the main control unit 121 that has received it searches for the same data as the doubly encrypted data among the data recorded in the first recording unit 123. When the same data as the doubly encrypted data received from the user terminal 100-2 is found in the first recording unit 123, the main control unit 121 is attached to the doubly encrypted data.
  • the read key is read from the first recording unit 123.
  • This key is a key used by the encryption unit 124 of the user terminal 100-1 when the double encrypted data is encrypted.
  • the main control unit 121 sends the data in a state in which the target data is encrypted from the user terminal 100-2 only by the encryption unit 124 of the user terminal 100-1 together with the key to the encryption unit 124. .
  • the encryption unit 124 receives from the main control unit 121 data in a state in which the target data is encrypted only by the encryption unit 124 of the user terminal 100-1, the data may be fixed algorithm, and from the main control unit 121. Decrypt using the provided key.
  • data in a state in which the target data is encrypted only by the encryption unit 124 of the user terminal 100-1 returns to the target data in plaintext.
  • the encryption unit 124 sends the target data to the main control unit 121.
  • the main control unit 121 records the target data in the first recording unit 123 of the user terminal 100-1. As a result, the target data can be verified. If necessary, target data is sent from the user terminal 100-1 to the user terminal 100-2. As a result, the user terminal 100-1 and the user terminal 100-2 share target data.
  • the reason why the target data that has been doubly encrypted is transmitted from the user terminal 100-2 to the user terminal 100-1 is that the target data is the encryption of the user terminal 100-1. This is to specify a key to be used when the encryption unit 124 of the user terminal 100-1 decrypts the data encrypted by only the encryption unit 124.
  • the first recording unit 123 of the user terminal 100-1 records multiple encrypted target data other than the above-described double encrypted target data generated in cooperation with the user terminal 100-2 Is usually recorded in the first recording unit 123 of a number of user terminals 100, or is recorded in the recording units of a plurality of recording apparatuses 300, and is a multiple encrypted object. The data, both in content and in number, will be different during operation of the communication system.
  • the user terminal 100-1 decrypts the above data received from the user terminal 100-2, it is necessary to specify a key to be used to decrypt the data.
  • a key is the above-described doubly encrypted target data transmitted from the user terminal 100-2 to the user terminal 100-1. . Therefore, although it is essential to send data from the user terminal 100-2 to the user terminal 100-1 in a state in which the target data is encrypted only by the encryption unit 124 of the user terminal 100-1, it is necessary to specify the key described above It is not necessary to transmit doubly encrypted target data from the user terminal 100-2 to the user terminal 100-1, if it is possible by another method.
  • an identifier for specifying the data is generated by the user terminal 100-2, and the main control unit 121 of the user terminal 100-2 generates the identifier.
  • the identifier is attached to the doubly encrypted target data and recorded in the first recording unit 123, and the main control unit 121 of the user terminal 100-1 which has received the identifier from the user terminal 100-2 is also It is assumed that the identifier is attached to the double encrypted target data and recorded in the recording unit 123.
  • the user terminal 100-2 that has decrypted the data that has been double-encrypted first encrypts the data in a state in which the target data is encrypted only by the encryption unit 124 of the user terminal 100-1.
  • the main control unit 121 of the user terminal 100-1 When sent to 1, it can send its identifier instead of doubly encrypted data.
  • the main control unit 121 of the user terminal 100-1 When the main control unit 121 of the user terminal 100-1 having received the data decrypts the data in a state in which the target data is encrypted only by the encryption unit 124 of the user terminal 100-1 by the encryption unit 124 As a query for searching for the key to be used from the key recorded in the first recording unit 123, its identifier can be used instead of the double-encrypted target data.
  • the user terminal 100-1 and the user terminal 100-2 are supposed to store the key in the first recording unit 123, respectively, in the case of the double encrypted target. This is to make it possible to specify a key used when double encrypting target data when decrypting data.
  • the data to be recorded in association with the target data doubly encrypted in the first recording unit 123 does not have to be the key data itself if such a key can be specified by another method, It may be any data that can identify the key. For example, suppose that the encryption unit 124 of the user terminal 100-1 and the user terminal 100-2 changes the key based on the date and time when the encryption is performed. If so, both encryption units 124 can generate the key when the encryption process is performed, as long as the information on the date and time when the key is generated. In such a case, data recorded in association with the double encrypted target data in the first recording unit 123 is replaced with data of the date and time when the key is generated, instead of the data of the key. can do.
  • both data encryption units 124 are supplied with data of the date and time instead of being supplied with key data from the main control unit 121, the same key as the key that should have been supplied from the main control unit 121. Because the key can be generated, the decryption process can be accomplished as before. Furthermore, if the keys used by both encryption units 124 are always the same, they are used when the target data is doubly encrypted in the past when both encryption units 124 perform decryption. There is no need to identify the key in the first place. In such a case, it is not necessary to record data such as key data and the above-mentioned date and time data that can specify the key in the first recording unit 123.
  • the decryption of the doubly encrypted target data was started from the user terminal 100-2 which finally encrypted the doubly encrypted target data. This is because, usually, if certain data is encrypted multiple times in different ways, it will not return to the original data unless it is decrypted in the reverse order. That is, in the above-described example, the target data is encrypted by the encryption unit 124 of the user terminal 100-1, and then further encrypted by the encryption unit 124 of the user terminal 100-2. In this case, if the double encrypted target data is decrypted by the encryption unit 124 of the user terminal 100-2, then the original target data is further decrypted by the encryption unit 124 of the user terminal 100-1.
  • the encryption unit 124 of the user terminal 100-2 even if decryption is performed first by the encryption unit 124 of the user terminal 100-1 and then further decryption is performed by the encryption unit of the user terminal 100-2, the original target data is not restored. Therefore, for example, even when the user of the user terminal 100-1 desires to decrypt the above-mentioned target data which has been double encrypted, the encryption unit 124 of the user terminal 100-2 first of all, It is necessary to start the decryption of the doubly encrypted target data.
  • the user terminal 100-1 specifies the doubly encrypted target data that the user terminal 100-2 wants to be decrypted, and requests decryption of the doubly encrypted target data. .
  • the user terminal 100-1 performs the doubly encrypted target data recorded in the first recording unit 123 of the user terminal 100-1. It may be sent to the user terminal 100-2, or if the above-mentioned identifier which the user terminal 100-1 and the user terminal 100-2 have in common exists, it is sent to the user terminal 100-2. It is good.
  • the flow of the process of decryption of the doubly encrypted target data starting from the user terminal 100-2 is the same as that described above.
  • the doubly encrypted target data is encrypted in which user terminal 100 in what order. It should be prepared so that it can be understood when it is necessary to decrypt it.
  • the user terminal 100-1 and the user terminal 100-1 attached to the double-encrypted target data in the first recording unit 123 of the user terminal 100-2, and The user ID of the user terminal 100-2 should know in what order the encryption was performed between the user terminal 100-1 and the user terminal 100-2 according to the order of the data, and it is not necessary. For example, data indicating that the target data, which has been double encrypted, has been encrypted in what user terminal 100 should be added separately.
  • each recording device 300 desires to decrypt certain multiplexed encrypted target data recorded in the recording unit of the recording device 300, the user or administrator A target that has been multi-encrypted to be decrypted is identified, and the multi-encrypted target is finally encrypted to the user terminal 100 that has encrypted the multi-encrypted target data.
  • Request decryption of data If it is desired that the above-described doubly encrypted target data be decrypted, the user or the administrator, etc., wants the above-described doubly encrypted object to be decrypted. Specify the data, and request the user terminal 100-2, which is the user terminal 100 that finally encrypted the double encrypted target data, to decrypt the double encrypted target data .
  • the flow of the process of decryption of the doubly encrypted target data starting from the user terminal 100-2 is the same as that described above.
  • a third party that has been recorded in the recording unit of the recording device 300 and has been monitoring the multiply encrypted target data that has been published via the network 400 is a multiply encrypted target Even when desiring to decrypt the data, the third party specifies multiply encrypted target data that the third party wants to be decrypted, and encrypts the multiplex encrypted target data finally It is sufficient to request the user terminal 100 to decrypt the multiple encrypted target data.
  • the target data in this case will typically be due to a three-party contract among the user terminal 100-1, the user terminal 100-2, and the user of the user terminal 100-3
  • the target data is It is not limited to that.
  • the target data may be generated inside any one of the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3, and the user terminal 100-1, the user terminal 100-2, the user terminal 100- For example, they may be generated simultaneously in at least two of the three, or may be generated in another device outside the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3.
  • the target data may not be newly generated data, but may be data which has been previously held by at least one of the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3. It is assumed that target data is present only in the user terminal 100-1 this time.
  • the target data is first encrypted by the encryption unit 124 in the user terminal 100-1, and is subsequently encrypted by the encryption unit 124 of the user terminal 100-2 and the user terminal 100-3.
  • Selection of user terminal 100-2 and user terminal 100-3 as user terminal 100 that encrypts target data with user terminal 100-1 and encryption to user terminal 100-2 and user terminal 100-3 For transmission of target data, for example, a user ID can be used as in the case where target data is doubly encrypted between user terminals 100-2. Although it is free to encrypt first by the encrypting unit 124 of the user terminal 100-2 or the encrypting unit 124 of the user terminal 100-3, the target data is, as a result, the user terminal 100- 1.
  • the order in which encryption is to be performed by the encryption units 124 of the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3 is, for example, the encryption performed by performing the encryption first. It may be easy for the user terminal 100-1 having the unit 124 to determine, but the user terminal 100-2 or the user terminal 100-3 may decide, or the user terminal 100-1 and the user terminal 100 may -2 and may be determined by the consensus of the user terminal 100-3 (or their users) or may be determined randomly. This situation is the same even in the case where there are two user terminals 100 or in the case where there are four or more user terminals 100.
  • the target data encrypted in multiples (in triples) encrypted in order by the encryption unit 124 of all of the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3 is the user terminal 100- 1, recorded in all the first recording units 123 of the user terminal 100-2 and the user terminal 100-3.
  • the data to be recorded together with the target data encrypted in triple in the three first recording units 123 is the same as the case described in ⁇ When the two user terminals 100 maintain the target data>. It is the data necessary for the terminal 100-1, the user terminal 100-2, and the user terminal 100-3 to decrypt the data in the form of triple encryption and for later decryption.
  • the user ID of the three user terminals 100 together with the target data encrypted in triple Is recorded are recorded.
  • These three user IDs indicate the order in which the triple-encrypted target data was encrypted in the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3. It is also the same as above that it is preferable.
  • At least one of the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3 that has decided to share the target data encrypted in triple can perform the multicast process. .
  • target data that has been encrypted in triples can be targeted for multicasting, and target data for plaintext can also be written to the recording unit of the recording device 300, The same applies to the case where there are two user terminals 100 and the case where there are three user terminals 100.
  • the triple-encrypted target data recorded in the first recording unit 123 of the user terminal 100-1, the user terminal 100-2, and the user terminal 100-3 is the target data in which the two user terminals 100 are protected.
  • the encryption unit 124 of each user terminal 100 the target data that is the source of the target data encrypted in triples is encrypted in the reverse order It is decrypted.
  • the triple-encrypted target data is returned to the original target data. The same applies to handling of triple-encrypted target data recorded in the recording device 300.
  • three user terminals 100 encrypt target data. Even if this is four, five or M, the story is similar.
  • the target data or encrypted data of the target data is transmitted and received among the M user terminals 100 while the encryption unit of the M user terminals 100 is encrypted. Encrypted at all of 124.
  • M-fold encrypted target data is shared by the M user terminals 100 and recorded in the first recording unit 123 of the M user terminals 100.
  • the data to be recorded in each of the first recording units 123 of the M user terminals 100 together with the M-fold encrypted target data becomes data necessary for the decryption as described above.
  • the M-fold encrypted target data recorded in each of the first recording units 123 of the M user terminals 100 is the source of the M-fold encrypted target data, as described above.
  • the data is decrypted by the encryption unit 124 of each user terminal 100 in the reverse order of the data being encrypted.
  • the M-fold encrypted target data is returned to the original target data. The same applies to the handling of M-fold encrypted target data recorded in the recording device 300.
  • the communication system of the second embodiment will be described.
  • the communication system of the second embodiment is substantially the same as the communication system of the first embodiment.
  • the communication system of the second embodiment includes a large number of user terminals 100 connected to the network 400, and a large number of at least a plurality of recording devices 300.
  • the communication system of the second embodiment differs from the communication system of the first embodiment in that the communication system of the second embodiment did not exist in the case of the first embodiment, as shown in FIG. The point is that it has a large number or a plurality of auxiliary encryption terminals 200 connected to the network 400. When focusing on the configuration, the difference between the second embodiment and the first embodiment is only this point.
  • the configuration and operation of the auxiliary encryption terminal 200-1 to the auxiliary encryption terminal 200-N may be all the same in the context of the present invention, and this is the case in this embodiment.
  • the auxiliary encryption terminal 200 corresponds to the auxiliary communication device in the present invention.
  • the auxiliary encryption terminal 200 can have only a part of the functions of the user terminal 100.
  • the user terminal 100 has a function of determining target data, a function of executing one encryption process when performing multiple encryption of target data, and a function of storing multiple encrypted target data. And a function of executing one decryption process when performing decryption of multiple encrypted target data.
  • the auxiliary encryption terminal 200 is the function of executing one encryption process in performing multiple encryption of object data, and performing decryption of multiple encrypted object data.
  • the only function is to execute one decryption process in the event.
  • the target data is data that the users of the plurality of user terminals 100 desire to maintain together. That is, it can be said that the user of the user terminal 100 is a person who is motivated to maintain the object data, but is typically a person who has an interest in the content of the object data.
  • the auxiliary encryption terminal 200 or its user or administrator may not have a particular motivation for maintaining the target data.
  • multiple encryption of target data is performed by a plurality of user terminals 100 that the user has a party status
  • multiple encryption of target data is performed.
  • the user terminal 100 but also the auxiliary encryption terminal 200 participates.
  • the auxiliary encryption terminal 200 needs to have a function of executing one encryption process when performing multiple encryption of target data. It is assumed. Further, not only the plurality of user terminals 100 but also the plurality of user terminals 100 as well as the plurality of user terminals 100 can also decrypt the target data which has been multi-encrypted by the participation of the auxiliary encryption terminal 200.
  • the auxiliary encryption terminal 200 needs to have a function of executing one decryption process when performing decryption of multiple encrypted target data as described above.
  • the auxiliary encryption terminal 200 can be, for example, a device managed by a notary public user.
  • the auxiliary encryption terminal 200 may be the user terminal 100 itself, and the user terminal 100 may exert the function of the auxiliary encryption terminal 200 described below.
  • the recording device 300 may have the function of the auxiliary encryption terminal 200. In this embodiment, only the user having a notary character assumes the possession of the auxiliary encryption terminal 200 and advances the following story.
  • the hardware configuration of the auxiliary encryption terminal 200 may be the same as that of the user terminal 100, which is the case in this embodiment. Further, since the function required in the auxiliary encryption terminal 200 is a part of the function of the user terminal 100 as described above, the function block generated inside the auxiliary encryption terminal 200 is the same as that of the user terminal 100. Although it may be a part of the functional block generated inside, it is not limited to this, but in this embodiment, it exists inside the user terminal 100 inside the auxiliary encryption terminal 200. It is assumed that the same functional block as shown in FIG. 4 is generated. The function of each functional block generated in the auxiliary encryption terminal 200 is the same as the function of the functional block generated in the user terminal 100. However, the main control unit 121 does not have to handle selection information and start information.
  • the main control unit 121 of the auxiliary encryption terminal 200 does not have the function of handling the selection information and the start information, which the main control unit 121 of the user terminal 100 has, described in the first embodiment.
  • the auxiliary encryption terminal 200 has a function of executing one encryption process in performing multiple encryption of target data, and performs decryption of multiple encrypted target data. Although a function to execute one decryption process is required, the function is secured by the encryption unit 124 in the auxiliary encryption terminal 200 as in the case of the user terminal 100. That is, the encryption unit 124 in the auxiliary encryption terminal 200 has a function of encrypting data and a function of decrypting the data encrypted by the encryption unit 124.
  • the encryption unit 124 of the auxiliary encryption terminal 200 may always perform encryption and decryption by the same method as the user terminal 100 described in the first embodiment, and in some cases, for example, the encryption and decryption methods may be changed (for example, the key may be changed) each time encryption and decryption of target data and the like are performed. However, the encryption and decryption processes performed by the encryption unit 124 of each auxiliary encryption terminal 200 and the encryption unit 124 of each user terminal 100 are unique to each other.
  • the usage method and operation of the communication apparatus of the second embodiment will be described.
  • the case where two user terminals 100 maintain target data will be described.
  • the target data is stored in the user terminal 100-1 and the user terminal 100-2.
  • the user terminal 100-1 and the user terminal 100-2 holds the target data. Similar to the case of the first embodiment, in the second embodiment, it is assumed that target data exists only in the user terminal 100-1.
  • the target data is, for example, in a state of being recorded in the first recording unit 123 in the user terminal 100-1.
  • the user of the user terminal 100-1 is a combination of information for specifying target data to be stored and data for specifying a user who wishes to share and maintain the target data or the user terminal 100.
  • To input selection information To input selection information. When the selection information is input, for example, an image for prompting the user to input the selection information as shown in FIG. 8 is displayed on the display 101 of the user terminal 100-1.
  • a character of target data In the image for prompting the user to input selection information, a character of target data, a horizontally long rectangular frame corresponding to it, characters 1 to 3 of shared destinations, a horizontally long rectangular frame corresponding to them, It includes a button with the word “multicast”, and a button with “YES” and “NO”, and a button with “OK”. These are all the same as those in the first embodiment, including the functions assigned to them.
  • the characters notary 1 and notary 2 and the horizontally elongated rectangular frame displayed corresponding to them respectively exist in the image of the second embodiment.
  • a frame existing next to the characters notary 1 and notary 2 indicates not only the user terminal 100 but also the auxiliary encryption terminal 200 possessed by a user having notary personality when encrypting target data.
  • the user of the user terminal 100-1 select whether to participate in the process of subjecting the target data to multiple encryption. If the user of the user terminal 100-1 causes one auxiliary encryption terminal 200 to participate in the process of encrypting target data in multiples, the notary 1 assists the notary in the frame to the right of the character If information for specifying the encryption terminal 200 (for example, a user ID for specifying a notary) is input, or two auxiliary encryption terminals 200 are involved in the process of multiple encryption of target data, In the two boxes to the right of the characters notary 1 and notary 2, information for specifying the auxiliary encryption terminal 200 of the two notary persons is input.
  • information for specifying the encryption terminal 200 for example, a user ID for specifying a notary
  • auxiliary encryption terminals 200 in order to allow more auxiliary encryption terminals 200 to participate in the process of encrypting target data multiple times, it is possible to prepare more frames for notary writing, or to increase the space by the user's will It is also possible to It should be noted that the above information on whether or not to make the auxiliary encryption terminal 200 of the notary participate in the process of encrypting the target data multiple times, and which auxiliary encryption terminal 200 to participate in the process if it is to participate. Is part of the selection information. Although not limited to this, in this embodiment, it is assumed that the user ID of the notary person, which is information for selecting the auxiliary encryption terminal 200-1, is written in the frame on the right of the notary person 1.
  • the button with the text "OK” When an input is made to the button with the text "OK", the input of the above-described selection information and the input of information on the selection as to whether or not to perform multicasting are executed. Further, the input to the button with the character of OK also serves as the input of the start information.
  • the main control unit 121 sets, as the object data, data specified by the information written in the frame displayed beside the character of the object data in the display 101 among the selection information. It is read from the first recording unit 123.
  • Such data is plaintext data. Thereafter, this is treated as target data.
  • the main control unit 121 sends the target data read from the first recording unit 123 to the encryption unit 124.
  • the encryption unit 124 that has received it encrypts the received target data.
  • the target data encrypted by the encryption unit 124 is subsequently sent to one of the user terminal 100-2 or the auxiliary encryption terminal 200-1, and one of the user terminal 100-2 or the auxiliary encryption terminal 200-1.
  • the user terminal 100-2 or the auxiliary encryption terminal 200-1 and the other encryption unit of the user terminal 100-2 or the auxiliary encryption terminal 200-1 Encrypted at 124.
  • the target data encrypted in this manner is not questioned for the transmission / reception route, but the user terminal 100-1, the user terminal 100-2, the auxiliary encryption terminal 200-1 Between the user terminal 100-1, the user terminal 100-2, and the auxiliary encryption terminal 200-1.
  • the triple-encrypted target data is recorded, for example, in the first recording unit 123 of the user terminal 100-1, the user terminal 100-2, and the auxiliary encryption terminal 200-1.
  • data for specifying information necessary for decrypting the multiple encrypted target data later as described in the first embodiment is multiplexed. It is recorded along with the encrypted target data.
  • the auxiliary encryption terminal 200 participates in the process of multiple encryption of target data and the process of decryption of multiple encrypted target data, but maintains the target data. Since it is not necessary, the first recording unit 123 of the auxiliary encryption terminal 200 has recorded data for specifying information necessary for decrypting multiple encrypted target data. The multiple encrypted target data need not necessarily be recorded. Also, the multicast process is performed as needed, as in the first embodiment. In the second embodiment, if the auxiliary encryption terminal 200-1 has target data that has been temporarily encrypted in a multiplexed manner, instead of the user terminal 100-1 and the user terminal 100-2, the multicast processing is performed. For example, the auxiliary encryption terminal 200-1 may be used.
  • the method of using the multiple encrypted target data generated in this manner is the same as that of the first embodiment. However, not only the user terminal 100-1 and the user terminal 100-2, but also the auxiliary encryption terminal 200-1 must participate in the process of decoding the multiple encrypted target data in this case.
  • At least one auxiliary encryption terminal 200 to be involved in the process of multiple encryption of target data is determined by the user terminal 100 which first performs encryption of the target data.
  • the auxiliary encryption terminal 200 does not have to be determined by the first user terminal 100, and may be determined by the cooperation of another user terminal 100 or a plurality of user terminals 100.
  • At least one auxiliary encryption terminal 200 participating in the process of encrypting target data in a multiplexed manner for example, each of the users of each user terminal 100 participating in the process of encrypting target data in a multiplexed manner It is possible to determine at least one auxiliary encryption terminal 200 to be involved in the encryption process by deciding on its own including the necessity.
  • each user terminal 100 can cause the auxiliary encryption terminal 200 that he / she trusts to participate in the process of multiple encryption of target data.
  • each user terminal 100 can select an auxiliary encryption terminal 200 to be involved in the process whenever the user terminal 100 participates in the process for multiplely encrypting target data.
  • at least one auxiliary encryption terminal 200 participating in the process for encrypting the target data in multiples is the intention of the user of each user terminal 100. It may be determined automatically without depending on it.
  • the usage method and operation of the communication system of the second embodiment are the same even when there are three or more user terminals 100 that intend to maintain target data. For example, there are four user terminals 100 trying to preserve the target data, and the user of each user terminal 100 participates in the process of multiple encryption of the target data, one auxiliary encryption terminal 200 each. It is assumed that it is set. Then, if the first encryption process for encrypting target data in a multiplex in one user terminal 100 is started, then the target data in the three user terminals 100 and the four auxiliary encryption terminals 200 are Further, the encrypted target data as a result of being multiply encrypted becomes an eight-fold encrypted target data.
  • the order in which the three user terminals 100 and the four auxiliary encryption terminals 200 perform the encryption processing is free.
  • the order is 7! However, it may be determined by the user terminal 100 which first performs the process of encryption, or may be determined by the cooperation of the four user terminals 100, or four user terminals 100 and 4. It may be determined by the cooperation of two auxiliary encryption terminals 200 or may be determined by another method.
  • the first modification is a modification of the first embodiment.
  • the modification 1 is the same as the first embodiment in the points not particularly mentioned.
  • a large number of user terminals 100 connectable to the network 400 and the recording device 300 are used.
  • a plurality of or a large number of recording devices 300 are provided, but in the first modification, the number of the recording devices 300 is at least one and may be singular.
  • the difference between the first modification and the first embodiment is the difference between the recording apparatus 300.
  • the target data encrypted in duplicate or in the multiplex, and in the first modification, the same applies thereafter
  • the doubly encrypted target data is recorded while being included in the block chain.
  • the recording apparatus 300 in the modification 1 is basically configured in the same manner as the recording apparatus 300 in the first embodiment, and in particular, the hardware configuration thereof may be the same as the first embodiment.
  • the recording device 300 in the first modification is required to have a function of generating a block chain or a new block.
  • functional blocks as shown in FIG. 9 are generated in the recording device 300 in the first modification.
  • Such functional blocks are generated by the CPU executing a computer program recorded on a large capacity recording medium.
  • a control unit 320 having a data input / output unit 321, a main control unit 322, a block generation unit 323, and a recording unit 324 is generated.
  • the data input / output unit 321 receives data input to the control unit 320 or outputs data from the control unit 320 to the outside.
  • the data input / output unit 321 sends data received from a transmission / reception unit to be described later to the main control unit 322, and sends data received from the main control unit 322 to the transmission / reception unit.
  • the data input / output unit 321 in the first modification is configured to exchange data with at least a transmitting / receiving unit outside the control unit 320.
  • a transmitting / receiving unit in the recording device 300 has a function of performing communication with another device connected to the network 400 via the network 400, like the transmitting / receiving unit in the user terminal 100 or the auxiliary encryption terminal 200. It has become.
  • the data input from the transmission / reception unit to the data input / output unit 321 is doubly encrypted target data attached with two user IDs sent from the user terminal 100 by multicast processing.
  • a request for transmitting the doubly encrypted target data is sent from the third party device to the recording device 300.
  • data on such a request is also sent from the transmission / reception unit to the data input / output unit 321.
  • the data sent from the data input / output unit 321 to the transmission / reception unit is doubly encrypted data with two user IDs.
  • the main control unit 322 has a function of performing overall control of each functional block in the control unit 320.
  • the main control unit 322 receives double encrypted data with two user IDs attached from the data input / output unit 321, the main control unit 322 sends it to the block generation unit 323.
  • the main control unit 322 is also a device of a third party, for example, a user terminal 100 of a user unrelated to the generation of target data to be subjected to data verification to be a target of data verification.
  • a user terminal 100 of a user When transmission of encrypted target data is requested, the doubly encrypted target data specified by the request is read out from the recording unit 324 together with the user ID attached thereto.
  • the main control unit 322 sends the data read from the recording unit 324 to the data input / output unit 321.
  • the block generation unit 323 has a function of generating a new block and recording it in the recording unit 324.
  • the method for the block generation unit 323 to generate a new block can be according to a known method or a known method.
  • a method of generating a new block in a block chain of bitcoin can be adopted as a method executed by the block generation unit 323 to generate a new block.
  • the block generation unit 323 sends the generated new block to the recording unit 324.
  • the block generation unit 323 records the generated new block in the recording unit 324 in a state of being connected to the immediately preceding block.
  • the recording unit 324 records the block generated by the block generation unit 323.
  • the blocks recorded in the recording unit 324 are connected in the order in which they were generated. That is, the block chain is recorded in the recording unit 324.
  • the encryption target data to which the user ID is attached is sent from the transmission / reception unit to the data input / output unit 321, and is sent from the data input / output unit 321 to the main control unit 322.
  • the main control unit 322 receives the data to be encrypted, it sends it to the block generation unit 323.
  • the block generation unit 323 having received this generates a new block.
  • a conceptual description of block data is as shown in FIG.
  • Each block B includes a recording space S for recording the encryption target data C and an operation value H which is a value obtained by performing an operation on the block immediately before that.
  • the operation value H is, for example, a hash value obtained by performing a hash operation on the immediately preceding block.
  • the block generation unit 323 newly generates the n + 1-th block B n + 1 .
  • the blocks B from B 1 to B n are connected in the order of generation, and constitute a so-called block chain.
  • the block generation unit 323 reads the data of the block B n from the recording unit 324, and performs a hash operation on the data of the block B n , for example, to obtain an operation value which is a hash value. Get H n + 1 .
  • the processing described in ⁇ When the two user terminals 100 of the first embodiment decode the protected target data> can be basically executed in the same manner as the first embodiment.
  • the user terminal 100 involved in the generation of the encryption target data decrypts the encryption target data
  • the encryption target data possessed by the user terminals 100 is decrypted.
  • the data to be encrypted recorded in the recording unit 324 of the recording device 300 is never used because it is preferable to
  • the user terminal 100 or the like involved in generation of the data to be encrypted decrypts the data to be encrypted
  • the user terminal 100 or the like requests that the data to be encrypted be transmitted to the recording device 300. Sent. Such a request naturally includes information specifying the data to be encrypted to be transmitted.
  • the request is received by the transmission / reception unit of the recording device 300.
  • the request is sent from the transmission / reception unit to the main control unit 322 via the data input / output unit 321.
  • the main control unit 322 reads out the encryption target data specified by the request from the block chain recorded in the recording unit 324.
  • the encryption target data is sent to the transmission / reception unit via the data input / output unit 321, and is sent to the user terminal 100 or the like as in the first embodiment.
  • the fact that the user terminal 100 or the like requests the user terminal 100 capable of decrypting the data to be encrypted to perform the decryption and the subsequent processing are the same as in the case of the first embodiment.
  • one encryption target data is included in one recording space S of the block B.
  • the block generation unit 323 receives data to be encrypted from the main control unit 322
  • the encryption target data to which the ID is added may be written to the recording space S of the new block B.
  • the encryption target data written to the recording space S may be 0 or singular, but in this way, the encryption target to be included in the recording space S of the block B It is possible to make the number of data plural.
  • not only the encryption target data but also the target data as the source may be sent from the user terminal 100 to the recording device 300.
  • what is recorded in the recording space S of each block is not only the encryption target data to which the user ID is attached, but also the encryption target data and the target data that is the origin of the encryption target data. In this case, both data are linked to each other.
  • a plurality of pieces of data to be encrypted may be recorded in the recording space S. In such a case, such association is essential.
  • the communication system according to the second modification is almost the same as the communication system according to the first modification.
  • the second modification is the same as the first variation in the points not particularly mentioned.
  • the communication system in the second modification is also configured by a large number of user terminals 100 connectable to the network 400 and one or more recording devices 300.
  • the recording device 300 of the second modification as in the first modification, the encryption target data is recorded in the recording device 300 in a state of being included in the blocks constituting the block chain.
  • a new block including data to be encrypted is generated at the user terminal 100.
  • the communication system of the second modification differs from the communication system of the first modification in which a new block is generated by the recording device 300.
  • the configuration of the user terminal 100 of the modification 2 will be described. Regarding the hardware configuration, the user terminal 100 of the second modification is the same as the user terminal 100 of the first modification. What is different is a functional block generated therein. A functional block generated inside the user terminal 100 of the modification 2 will be described. Most of the functional blocks generated inside the user terminal 100 of the modification 2 are the same as the functional blocks generated inside the user terminal 100 in the modification 1 to the first embodiment, but the user of the modification 2 As functional blocks generated in the terminal 100, there is a block generation unit 125 which did not exist in the case of the first modification (FIG. 11).
  • the block generation unit 125 has a function of generating a new block connected to the block chain, similarly to the block generation unit 323 existing in the recording device 300 of the first modification described in the first modification. . How the block generation unit 125 generates a block will be described later.
  • the recording device 300 of the second modification is basically configured in the same manner as the recording device 300 in the first embodiment.
  • the encryption target data to which the user ID is attached is recorded in the recording section as in the recording device 300 in the first embodiment, in the second modification, as described above, the encryption target data is The second embodiment differs from the first embodiment in that recording is performed while being included in the recording space of the blocks constituting the block chain.
  • the usage method and operation of the communication system of the modification 2 will be described.
  • the usage method and operation of the communication system of the second modification are the same as in the first modification up to the point where the encryption target data is shared by a plurality of user terminals 100 of a plurality of users who desire maintenance of the target data. There is no difference from the first embodiment.
  • One of the plurality of user terminals 100 sharing the encryption target data in the communication system of the modification 2 tries to perform multicast as in the case of the user terminal 100 of the first embodiment or the modification 1.
  • the main control unit 121 of the user terminal 100 that is to perform multicasting in the communication system of the second modification uses the first recording unit 123 to encrypt the data to be encrypted to which the user ID is added. read out.
  • the main control unit 121 generates a request for transmitting the latest one of the blocks constituting the block chain recorded in the recording unit of the recording device 300 from the recording device 300 which is the target of the multicast. , And transmits it to the recording apparatus 300 via the data input / output unit 122, the transmission / reception unit, and the network 400. Upon receiving this, the recording device 300 sends the latest block of data to the user terminal 100 via the network 400. When there are a plurality of recording devices 300 that are targets of multicasting, block data is sent from the plurality of recording devices 300 to the user terminal 100.
  • the latest blocks constituting the block chain recorded in the recording unit of each recording apparatus 300 may differ from one recording apparatus 300 to another, and in this case, the data of the blocks sent from each recording apparatus 300 are different. It becomes.
  • the data of the block is received by the transmission / reception unit of the user terminal 100, and is sent to the main control unit 121 through the data input / output unit 122.
  • the main control unit 121 in the user terminal 100 of the modification 2 holds the data to be encrypted, to which the user ID is attached, and the data of the block immediately before among the blocks constituting the block chain.
  • This state is the same as the state of the block generation unit 323 in the recording device 300 of the first modification immediately before generating a new block.
  • the block generation unit 125 of the modification 2 can generate a new block by the same method as the block generation unit 323 of the modification 1.
  • the block generation unit 125 of Modification 2 generates data of a new block.
  • the block generation unit 125 receives block data from a plurality of recording devices 300 from the main control unit 121, it generates new block data for each recording device 300 based on each of the block data.
  • the block generation unit 125 sends it to the main control unit 121. If a plurality of data of new blocks are generated, they are all sent to the main control unit 121.
  • each new block of data is sent to the corresponding, for example, a plurality of recording devices 300.
  • Each recording apparatus 300 connects and records a new block sent from the user terminal 100 to the newest block of the block chain recorded in its respective recording unit.
  • the block chain updated in this manner can be the same as in the case of the first modification, and in the second modification, this is the case.
  • the third modification is a communication system in which the recording apparatus 300 in the second embodiment is modified as the recording apparatus 300 in the first modification.
  • the recording device 300 of the third modification generates a new block based on not only the user terminal 100 but also the encryption target data with the user ID received from the auxiliary encryption terminal 200, and generates a new block immediately before that. It may connect to the block at the end of the block chain.
  • the user terminal 100 and the auxiliary encryption terminal 200 may send, to the recording device 300, the encryption target data to which the user ID is attached and the target data that is the source of the encryption target data.
  • the recording device 300 mutually stores the user ID, the data to be encrypted, and the data to be encrypted that are the sources of the data to be encrypted. Record in a linked state.
  • the operation and the method of use of the communication system of the third modification conform to the first modification, and thus the description thereof is omitted.
  • the fourth modification is a communication system in which the user terminal 100 and the auxiliary encryption terminal 200 in the second embodiment are modified as the user terminal 100 in the second modification.
  • the recording device 300 is also similar to the recording device 300 in the second modification.
  • the user terminal 100 or the auxiliary encryption terminal 200 of the fourth modification generates a new block immediately before performing multicast.
  • the block data is the same as that generated in the second modification.
  • a new block is sent to each recording device 300 from the user terminal 100 or the auxiliary encryption terminal 200, and each recording device 300, as in the second modification, receives the block chain recorded in its recording unit.
  • the new block received from the user terminal 100 or the recording device 300 is connected to the one located at the end of the constituent blocks.
  • the operation and the method of use of the communication system of the fourth modification conform to the second modification, and thus the description thereof is omitted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

ブロックチェーンに代わる、蓄積したデータの保全が可能な低コストの技術を提供する。 ユーザ端末100-1は、対象データを暗号化して(S804)、それをユーザ端末100-2に送る(S805)。ユーザ端末100-2は、それを受取り(S901)暗号化された対象データを更に暗号化する(S902)。ユーザ端末100-2は、二重に暗号化された対象データを記録し(S903)、ユーザ端末100-1に送信する(S904)。ユーザ端末100-1はそれを受信し(S806)、二重に暗号化された対象データを記録する(S807)。

Description

第1通信装置、第2通信装置、方法、コンピュータプログラム
 本発明は、ブロックチェーンに代わるデータを改竄無く記録することが可能な技術に関する。
 近年、ブロックチェーン、及びその応用技術に対する期待が大きくなってきている。ブロックチェーンを応用することにより、例えば、決済、送金等に関するフィンテックの分野や、個人認証、美術品の鑑定書等の認証の分野、投薬履歴の管理等についての医療分野、選挙の投票等についての公共の分野等で、従来存在しなかった新しいサービスを創造できるという指摘がなされている。
 ところが、ある意味夢のような技術であるとすら言われるブロックチェーンではあるが、最近はその欠点も指摘され始めている。
 まず、ブロックチェーンの最もよく知られている応用先である、ビットコイン(商標)の仕組みについて説明しつつ、ブロックチェーンの仕組みについて説明する。
 ビットコインは仮想通貨と呼ばれる。ビットコインは、ナカモトサトシなる人物の論文に発してインターネット上に構築されたシステムによって実現された。ビットコインの仕組みは以下のようなものである。
 ビットコインは、まず、以下のようにして発生させられる。
 ビットコインを発生させる権利を有する者は、後述するノードを管理する管理者(一般に、「マイナー」と呼ばれる。)に限られる。ノードの管理者は、インターネット上で行われるある種のゲームに参加する。ゲームは繰返し行われ、ゲームに勝ったノードの管理者は、ゲームに勝つ都度、所定の量のビットコインを得ることができるようになっている。
 このようにして発生させられたビットコインは、一般的な貨幣と同様に、それを得たノードの管理者から、ノードの管理者以外の者を含む第三者に、例えば、「支払い」を行うために譲渡され、結果として点々と流布されることになる。
 ところで、ビットコインに限られないが、仮想通貨、或いは仮想貨幣の分野では、二重譲渡をどのようにして防止するのかというのが、大変重要な問題となる。有体物である一般的な貨幣は、譲渡者から譲受者に譲渡されると譲渡者の手の中から消えるため、譲渡者が譲受者に貨幣を譲渡した後に、同じ貨幣を更に別の譲受者に譲渡することは原則的に不可能である。しかしながら、仮想通貨は複製が容易であり、且つ譲渡者が譲受者に仮想通貨を譲渡したとしても譲渡者が所有していたデータとしての仮想通貨を消滅させないことが可能であるから、同じ仮想通貨を、複数人に譲渡することは極めて容易である。同じ仮想通貨が複数人に譲渡されることを防止できなければ、そのような仮想通貨は通貨として何らの信用も得られない。
 かかる二重譲渡の問題をビットコインは、すべての取引記録を保存するという方法で、解決することとしている。取引記録は、例えば以下のようなものである。簡単のために、ビットコインの仕組みへの参加者が、A~Dの4人のみであり、且つノードの管理者は、A、Bの2人のみであるとする。ノードの管理者たるAは、上述のゲームに勝利して1000の、Bは、上述のゲームに勝利して500のビットコインを得たとする。
 この状態では、A~Dがそれぞれ持つビットコインは以下のように記述される。
[表1]
A  +1000
B   +500
C    0
D    0
 次いで、AはCに100の、BはDに200のビットコインを支払ったとする。
 この状態では、A~Dがそれぞれ持つビットコインは以下のように記述される。
[表2]
A  +1000 -100(to C)
B   +500 -200(to D)
C    0 +100(from A)
D    0 +200(from B)
 次いで、AはBに300の、DはCに100のビットコインを支払ったとする。
 この状態では、A~Dがそれぞれ持つビットコインは以下のように記述される。
[表3]
A  +1000 -100(to C)  -300(to B)
B   +500 -200(to D)  +300(from A)
C    0 +100(from A) +100(from D)
D    0 +200(from B) -100(to C)
 上記、表1から表3に記載の記録のすべてが取引記録である。上述の取引記録によれば、表3の時点において、Aの持つビットコインは+1000-100-300=600、同様にBの持つビットコインは600、Cの持つビットコインは、200、Dの持つビットコインは、100であるということがわかる。
 このような仕組みを持つビットコインは、興味深いことに、上述の例でいうA~D間におけるビットコインの譲渡において、譲渡者から譲受者にビットコインの本体となる何らかのデータを引渡すということを行わない。それにも関わらず、取引記録さえ存在すれば、A~Dが現在持つビットコインの残高を特定することができる、というのがビットコインの仕組みの巧妙なところである。
 なお、ビットコインの仕組みにおけるノードの管理者がゲームに勝利してビットコインを得るという現象は、取引がある程度進んだ後の例えば、表3以降の時点であってでも生じうる。
 上述のように、ビットコインの仕組みにおいては、ビットコインの仕組みに参加する各参加者は、自分が所有するビットコインに相当するデータを持たない。つまり、各参加者の財布は空なのであるが、過去のすべての取引記録が閲覧可能に存在しており、且つその時点におけるビットコインの残高は閲覧記録からこのように特定されるのであるから、各参加者が持つビットコインはきっとこうであるはずである、というお互いの理解、或いは共同幻想によってその仕組が成り立っている。
 それだけに、その共同幻想を参加者の皆が信じられるようにするためには、取引記録が正当である、或いは取引記録の改竄が不可能である、という保証が必要である。それを可能とするための技術の一つがブロックチェーンである。
 ビットコインの技術では、取引記録の正当性を、ブロックチェーンと、プルーフ・オブ・ワークいう技術乃至思想によって担保している。
 ビットコインの取引記録は、それ以前の取引記録に新たな取引記録を連ねていく、という構造となっている。過去の取引記録に新たな取引記録のデータ(ブロック)を連続して連ねていくことにより、取引記録のデータは、ブロックを鎖のように連ねたものとなる。これがブロックチェーンと呼ばれる。ブロックチェーンに付加される新たなブロックが生成される場合、それ直前のブロックを暗号化することによって得られた値(正確には、1つ手前のブロックのデータから作ったハッシュ値)が新たなブロックに付加される。それにより、ブロックチェーンに新たなブロックが付加された時点よりも後においては、過去のブロックに対して改竄を行うとハッシュ値に変化が生じてその改竄が発覚することとなるので、それ以前に作られた過去のブロックに対するデータの改竄を行うことが事実上不可能となる。
 また、ブロックチェーンのデータは、インターネット上に多数存在する、ノードと呼ばれるサーバに記録される。各ノードに記録されるブロックチェーンのデータは同じものである。これを、ブロックチェーンでは、データの分散管理等と称する。ところで、ブロックチェーン以外の技術において、データの分散管理という場合には一般に、あるデータ(例えば1~100のデータ)が存在する場合に、その1~10のデータをX装置に記録させ、11~70のデータをY装置に記録させ、71~100のデータをZ装置に記録させ、というように多数の装置にそれぞれ異なるデータ(全データの一部ずつ)を持たせる技術を意味する。なぜかブロックチェーンの技術分野では、同一のデータを多数のノードに記録させることを、分散管理と称しているが、ブロックチェーンで多数のノードが行っているのは単なるミラーリングの処理である。
 さて、ビットコインの技術においては、上述のように多数のノードにそれぞれ記録された多数のブロックチェーンが存在する。多数のブロックチェーンは、原則として、それらがすべて同一であるということが保証されなければ、取引記録の真正性について疑義が生じ、ビットコインの信頼性を大きく揺らがせる。
 したがって、既に存在するブロックチェーンの末尾に新たなブロックを追加する際に、多数のノードの管理者がそれを各々勝手に行うようなことは避けないとならない。ブロックチェーンの末尾に新たなブロックを追加する者を1人に限定するための方策として利用されているのが、ノードの管理者が参加する上述のゲームである。このゲームを利用した仕組みを、ビットコインの世界では、プルーフ・オブ・ワークと呼ぶ。上述したように、ノードの管理者は、ある種のゲームに参加して、それに勝利した場合にビットコインを手に入れることができるが、それのみならず、ゲームに勝利した場合には、新たな取引記録のブロックを過去の取引記録に対して付加する権利を手に入れる。ゲームに敗れた他のノードの管理者は、その新たな取引記録のブロックを、自らが管理するノードに記録されたブロックチェーンの末尾にコピーして追加する。このようにして、ノードに新たなブロックを追加できる者を1人のみに限定し、且つ新たなブロックと同じブロックをすべてのノードの管理者がブロックチェーンの末尾に追加するというルールを作り、そのルールを正しく運用することにより、多数のノードに存在する多数のブロックチェーンは同じものであるといえる状態を作っている。
 以上のような仕組みにより、各ノードに記録されたブロックチェーンは、ハッシュ値により改竄ができない、或いは改竄がなされた場合にはハッシュ値が変化するため、改竄がなされたことが発覚するようになっている。これは言ってみれば、ある1つのブロックチェーンに着目した場合に、各ブロックのデータを改竄できないということである。
 また、各ノードに記録されたブロックチェーンのうちの幾つかが、過去のブロックのデータの改竄が発覚しないようにハッシュ値も含めて同じように改竄されたとしても(例えば、多数のノードに記録されたブロックチェーンのうちの幾つかについて、同じ改竄がなされたとしても)、多数のノードに記録されたブロックチェーンのうちの改竄されていないものの方が多数を占めているのであればそちらを真とすることにより、過去のブロックのデータのハッシュ値も含めた改竄も無力となるようにすることができる。実際ビットコインのブロックチェーンではこのような多数決の理論を採用している。これにより、ビットコインにおけるブロックチェーンは、中央集権的なブロックチェーンの管理者が存在しなくとも、その正当性が保証されると言われている。上述のようにノードの管理者は、ゲームに勝つことにより報酬としてビットコインを得ることができる(実際には、それ以外の報酬もある。)。それをモチベーションとしてノードの管理者達は、自らのコンピュータのコンピューティングパワーを向上させる。悪意のある第三者がノードに記録されたブロックチェーンのうちの過半数を改竄するには、ノードの管理者達が持つ多数のコンピュータのコンピューティングパワーの合計の少なくとも半分以上のコンピューティングパワーを持つコンピュータを用意することが必要となる。既にノードの数(正確に言うと、ノードを構成するサーバの数)は、一説によると1千万台を超えていると言われており、それが持つコンピューティングパワーを持つコンピュータを用意することは事実上不可能であるという前提を、ビットコインの仕組みに参加する者は信用している。かかる信用、或いは信頼関係により、ブロックチェーンの、ひいては取引記録の正当性が保証され、ビットコインにある種の信用が与えられている。
 ビットコイン、及びそれに応用されているブロックチェーンの仕組みは大凡以上のようなものである。
 上述の如き仕組みにより、各ブロックチェーンのそれぞれは改竄が防止され、また、多数のブロックチェーンのうちの幾つかに改竄が行われたとしても、その改竄は無視され、正当なブロックチェーンが正当なものであると正しく扱われるようになっている。一言で言えば、ブロックチェーンは、記録されたデータを改竄不可能に保全するための技術である、といえる。
 しかしながら、改竄不可能にして記録されたデータを保全するという目的だけのために、多数のノードに、同じデータを記録し続けるというのは膨大な無駄であり、敢えて強い言葉を用いるのであれば馬鹿げている。ビットコインのブロックチェーンの各ノードに記録されているブロックチェーンのデータ量は、昨年の段階で既に90TBを超えているとも言われ、ビットコインの取引量が増えるに連れて、益々膨大なものとなっている。ブロックチェーンは、中央集権的な管理者のいない民主的な技術であると言われることが多いが、かかる無駄は、その利点をも霞ませる程の欠点であると言える。
 また、ブロックチェーンの技術はコストが安いと言われることが多いが、それはブロックチェーンのノードの管理者が自発的に負うコストを度外視した場合にのみ成立する利点であって、多数のノードのそれぞれが膨大な同一のデータを記録し続けなければならないのであれば、そのコストが安いわけが無い。
 ビットコインのノードの管理者には、ノードを準備するだけの費用と技術力を有するものであれば、誰でもなろうと思えばなれる。そのような開かれたブロックチェーンであるパブリックブロックチェーンに対し、より少数のある一定の立場の者のみがノードの管理者になれる外部に対して閉ざされたプライベートブロックチェーンなるものも最近提案されてはいる。
 しかしながら、ある立場の者同士が互いに信頼関係を結べているのであれば、多数のノードを用いること自体が無駄である場合もあるであろうし、プライベートブロックチェーンの場合であれば、ノードを立てまた維持する費用はその管理者達に直接掛かってくるのであるから、そのコスト負担は自ずから大きくなる。そう考えると、プライベートブロックチェーンという技術はそもそも何を利点とする技術か、ということにすら疑問が生じる。
 本願発明は、記録されたデータを改竄不可能に保全するための技術であって、その運用のコストがブロックチェーンよりも低い技術を提供することをその課題とする。
 かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
 本願発明は、所定のネットワークを介して互いに通信可能であるとともに、それらがそれぞれ他とは異なる方法で所定のデータを復号化可能に暗号化することができるようになっている暗号化部を備えており、且つそれらのユーザが共に保全することを希望するデータである対象データをそれらのうちの一つが保有している複数の通信装置にて実行される方法である。
 かかる方法は、複数の前記通信装置のすべてが、前記対象データ、又はそれを暗号化したデータを前記ネットワークを介して互いに送受信しながら、前記通信装置がそれぞれ有する前記暗号化部によって次々に暗号化する暗号化過程、及び複数の前記通信装置のすべてが、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを、前記ネットワークを介して送受信することにより共有する共有過程、を含んでいる、
 かかる方法は、極めて簡単である。かかる発明を実行する場合における最小の構成は、ネットワークを介して互いに通信可能な2つの通信装置のみである。ただし、それら2つの通信装置は、データの暗号化を復号化可能に実行することのできる暗号化部を備えていることが必要となる。ここで、2つの通信装置にそれぞれ存在する暗号化部は、それぞれ異なる方法で(例えば、異なるアルゴリズムで、或いは異なる鍵で)暗号化を行えるようになっている。
 2つの通信装置で本願発明の方法が実行される場合、保全の対象となるデータは、2つの通信装置のユーザがそれぞれ保全することを希望するデータである対象データである。単独のユーザが自己が持つ何らかのデータを記録して保全する場合には、各々のユーザが独自にそのデータを記録し、自らが変更しなければ良い。他方、上述のビットコインのブロックチェーンにおいては典型的であるが、記録した上で改竄がなされない状態で保全されなければならないデータというのは、多くの場合、仮に改竄がされた場合に複数のユーザの間で利害が対立するデータである。ビットコインの取引記録でいえば、ビットコインの譲渡人は、渡したビットコインの数がなるべく小さかったと取引記録を改竄したいというのが本音であろうし、ビットコインの譲受人は渡されたビットコインの数がなるべく大きかったと取引記録を改ざんしたいというのが本音であろう。そのような複数のユーザの間で利害の対立する事柄についてのデータが、本願発明における対象データの典型例となる。
 2つの通信装置で本願発明の方法が実行される場合、1つの対象データが2つの通信装置の暗号化部で次々に暗号化される。この場合、どちらの通信装置の暗号化部が先に対象データの暗号化を行うかは不問である。対象データを2つの通信装置の片方のみが持っているのであれば、対象データを持っている通信装置の暗号化部で先に対象データを暗号化するのが普通であろうが、対象データを持っていた一方の通信装置から対象データを持っていなかった他方の通信装置に対象データをまず送信し、それを受取った他方の通信装置の暗号化部で先に対象データの暗号化を行うことも可能である。いずれにせよ、その暗号化部で対象データを先に暗号化した通信装置は、もう1つの通信装置に暗号化された対象データを送信し、それを受取った通信装置は、暗号化された対象データをその暗号化部で更に暗号化する。2つの通信装置の暗号化部で順に暗号化されることにより生成されたデータは、2つの通信装置の暗号化部で行われる暗号化の方法が異なることから、第三者が復号することができなくなるばかりか、2つの通信装置のいずれでももはや復号化することができなくなる。とはいえ、2つの通信装置のユーザが後に対象データの内容を確認したいと考えた場合には、2つの通信装置の例えば暗号化部により(もちろん2つの通信装置の暗号化部は暗号化に特化しており、それとは別にその通信装置の暗号化部で暗号化されたデータを復号化する復号化部を備えていても構わない。)、2つの暗号化部によって暗号化された対象データを順に(一般的には、暗号化を行った順番とは逆の順番で)復号化することにより、元の平文の対象データに戻すことができる。つまり、2つの通信装置の協力によって作られた、対象データを2つの通信装置の暗号化部で順に暗号化することにより生成されたデータは、2つの通信装置或いはそれらのユーザが協力すればいつでも平文の対象データに戻せる一方で、改竄が行われたときには平文の対象データに戻せないことにより改竄が行われたという事実が明らかになるから、事実上改竄ができない。
 2つの通信装置で本願発明が実行される場合、少なくともそれら2つの装置が、対象データを2つの通信装置の暗号化部で順に暗号化することにより生成されたデータをその一方から他方に送信することで共有する。それにより、ブロックチェーンを用いることなく、データを改竄不能な状態で記録することが可能となる。もちろん、2つの通信装置のみで実行できるこの方法に必要なコストはブロックチェーンを実現する場合に比べて遥かに低廉である。また、特にビットコインで使用されているブロックチェーンは、新たなブロックを生成して新たなデータを記録するために必要とされる時間が長い(例えば10分程度)が、本願発明ではそれに比較してその実行に要する時間が一般に短い。
 以上では、通信装置が2つであることとして説明したが、本願発明における通信装置は3つ以上でも良い。つまり、本願発明における通信装置は、複数である。この場合の対象データは、それら複数の通信装置のユーザが共に保全することを希望するデータである。それら複数の通信装置は上述した如き暗号化部を備えており、且つそれら暗号化部は互いに異なる方法で何らかのデータの暗号化を行える。対象データは、通信装置が2つの場合と同様に、それら複数の通信装置がそれぞれ持つ暗号化部のすべてで次々に暗号化される。そして、すべての通信装置の暗号化部でそれぞれ暗号化された対象データは、すべての通信装置で共有される。これにより、複数の通信装置は、ブロックチェーンを用いることなく、データを改竄不能な状態で記録することが可能となる。もちろんこの処理に要する時間は、通信装置の数が増えればその分長くなるが、ブロックチェーンでデータを記録するのに要する時間よりは一般に短い。
 上述のように、本願発明による方法は、複数の通信装置のユーザが共に保全することを希望するデータである対象データを、それら複数の通信装置の暗号化部で、次々に暗号化する暗号化過程を含んでいる。他方、本願発明による方法における暗号化過程で、対象データを次々に暗号化するのは、対象データを保全することを希望するユーザの通信装置のみに限られない。
 本願発明の方法における前記暗号化過程では、所定のネットワークを介して互いに通信可能であり、それらがそれぞれ他とは異なる方法で、且つ複数の前記通信装置の前記暗号化部とも異なる方法で所定のデータを復号化可能に暗号化することができるようになっている補助暗号化部を有している1つ以上の補助通信装置のすべてと、複数の前記通信装置のすべてとが、前記対象データ、又はそれを暗号化したデータを前記ネットワークを介して互いに送受信しながら、前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とによって次々に暗号化してもよい。
 補助暗号化部を有する補助通信装置のユーザは、対象データの内容に対して典型的には利害関係を持つ当事者としてのユーザとは異なり、対象データの内容に対してまったく無関係なものであっても良い。通信装置と補助通信装置とは、そのハードウェア、ソフトウェア、機能等についてはまったく同一のものであっても構わないが、通信装置以外の補助通信装置にも暗号化過程における対象データの暗号化に参加してもらうことによって、最終的に得られる多重に暗号化された対象データはますます、安全に保全されることとなる。補助通信装置は、1つでも複数でも良い。また、例えば、補助通信装置は、公証人的な法的に公正さが認められた者の通信装置とすることができる。通信装置の暗号化部と、補助通信装置の補助暗号化部とがどのような順番で対象データを暗号化するかは自由である。なお、この場合、最終的に得られた多重に暗号化された対象データは、暗号化過程に参加したすべての通信装置と、すべての補助通信装置との協働によって復号化することができる。
 暗号化過程に補助通信装置が参加する場合、最終的に得られる多重に暗号化された対象データは上述したように、通信装置のみが共有しても良い。また、通信装置のみならず、補助通信装置もが、最終的に得られる多重に暗号化された対象データを共有しても良い。例えば、前記共有過程では、複数の前記通信装置のすべてと、前記補助通信装置の少なくとも1つとが、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを、前記ネットワークを介して送受信することにより共有してもよい。
 本願発明の方法は、暗号化過程に補助通信装置が参加しない場合には、前記複数の前記通信装置の1つが、前記ネットワークに接続されている、データの記録が可能な記録装置に、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを送信して、前記記録装置に複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを記録させる記録過程を含んでいても良い。
 暗号化過程に補助通信装置が参加しない場合には、上述したように多重に暗号化された対象データをすべての通信装置で共有するのが原則である。これによれば、各通信装置で記録されている多重に暗号化された対象データは、改竄できない、或いは改竄されたらそれが判明する状態となる。とはいえ、各通信装置で記録されている多重に暗号化された対象データは、例えば消去されたり紛失したりする可能性がある。そのようなことに備えて、多重に暗号化された対象データは、通信装置から外部の記録装置に送られ、そこで記録されていればいわゆるバックアップが存在するため安心である。記録装置は複数存在していてもよく、複数の記録装置に多重に暗号化された対象データが記録されることとすれば、かかるデータの改竄が益々難しくなる。これは、ビットコインのシステムにおけるブロックチェーンでノードを多数準備し、多数のノードに同一のブロックチェーンを記録することと類似するが、ブロックチェーンの仕組みでは、ノードの数の多さがブロックチェーンの真正さを証明するというシステムになっておりノードは増殖していく宿命にあったことに鑑みれば、本願発明で必要な記録装置の数などたかが知れている。記録装置が複数存在する場合、時間の経過とともに、各記録装置には、多重に暗号化された対象データがそれぞれ複数(或いは多数)記録されることになろうが、その場合において、各記録装置に記録されている多重に暗号化された対象データは同じものである必要はない。例えば、ある時点までに生成された多重に暗号化された対象データが1~100までの100個であり、且つ記録装置が記録装置1~5の4つであったとすると、記録装置1には、多重に暗号化された対象データの1~100までが、記録装置2には多重に暗号化された対象データの1~50が、記録装置3には、多重に暗号化された対象データの40~90が、記録装置4には、多重に暗号化された対象データの偶数番目のものが、記録装置5には、多重に暗号化された対象データの奇数番目のものが、それぞれ記録されている、というような状態が許容され得る。従来のブロックチェーンにおいては、原則としてすべてのノードにブロックチェーンのデータのすべてが記録されることが必要とされており、それがノードに記録されるデータの量が膨大となることに拍車をかけていたが、本願発明の方法によれば、そのようは弊害は生じにくい。
 記録過程により記録装置に、複数の通信装置の暗号化部のすべてで暗号化された対象データを記録することができるが、暗号化されたその対象データに加えて、その対象データの元となった対象データ(平文である)を、記録装置が記録するようになっていても良い。このようにすれば、暗号化された対象データの内容を、暗号化された対象データを復号化することなく確認することができるようになる。これは、ビットコインのブロックチェーンのように、記録されたデータ(取引記録等)を公開する場合に有用である。対象データそれ自体は改竄が可能であろうが、そのような改竄があったときには暗号化された対象データを復号化したときに、改竄された対象データと、暗号化されていた対象データを復号化して得られた対象データとが一致しなくなるから、その改竄が発覚する。例えば、前記記録過程で前記通信装置が、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データと、当該暗号化対象データの元となった前記対象データとを前記記録装置に送信し、前記記録装置は、前記暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録するようになっていてもよい。
 前記記録過程で前記記録装置に記録されている複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを、前記ネットワークに接続されている機器に対して公開された状態とすることも可能である。そうすることで、多重に暗号化された対象データが第三者による監視下に置かれることになり、かかるデータの改竄の可能性がより小さくなる。この場合、記録装置に暗号化された対象データと、その元になった平文の対象データとが記録されるのであれば、それらの双方を公開された状態とすることも可能である。
 以上の事情は、暗号化過程に補助通信装置が参加する場合でも同様である。
 本願発明の方法は、暗号化過程に補助通信装置が参加する場合には、前記複数の前記通信装置と、前記補助通信装置のうちの前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを持つものが、前記ネットワークに接続されている、データの記録が可能な記録装置に、前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを送信して、前記記録装置に前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを記録させる記録過程を含んでもよい。また、前記記録過程で前記通信装置又は前記補助通信装置が、複数の前記通信装置及び前記補助通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データと、当該暗号化対象データの元となった前記対象データとを前記記録装置に送信し、前記記録装置は、前記暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録してもよい。この場合、記録装置に暗号化された対象データと、その元になった平文の対象データとが記録されるのであれば、それらの一方或いは双方を公開された状態とすることも可能である。
 この場合、前記記録過程で前記記録装置に記録されている前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを、前記ネットワークに接続されている機器に対して公開された状態としてもよい。
 もっとも、記録装置に記録される暗号化された対象データ、又は暗号化された対象データ及び対象データは、従来のブロックチェーンの如く、ブロックに含まれた状態とされてもよい。そのようにすることで、記録装置に記録された暗号化された対象データが改竄されること、或いは消去されることを防止すること、或いは改竄、消去されたことが発覚するようにすることが可能となる。
 例えば、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置が、送信の対象となる前記暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。この場合、新たなブロックは、通信装置で生成される。なお、以下も同様であるが、演算値は例えば、直前のブロックに対してハッシュ演算を行うことによって得られたハッシュ値であってもよい。補助通信装置が存在する場合も同様であり、補助通信装置が存在する場合には、複数の前記通信装置と、前記補助通信装置のうちの前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置又は補助通信装置が、送信の対象となる前記暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。この場合、新たなブロックは、通信装置或いは補助通信装置で生成される。
 他方、新たなブロックは、記録装置において生成されてもよい。例えば、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、前記記録過程で前記記録装置が、前記通信装置から受取った前記暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。補助通信装置が存在する場合には、複数の前記通信装置と、前記補助通信装置のうちの前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、前記記録過程で前記記録装置が、前記通信装置又は前記補助通信装置から受取った前記暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。記録装置で新たなブロックが生成される場合においては、1つの前記ブロックに含まれる前記暗号化対象データは1つ以上であり、前記記録過程で前記記録装置は、前記通信装置から1つ以上の前記暗号化対象データを受取った後の所定のタイミングで、その直前の前記ブロックが生成されて以降に受取った1つ以上の前記暗号化対象データを含む前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。このようにすることで、1つのブロックに複数の暗号化対象データを含めることが可能となる。
 この場合、ブロックには、暗号化対象データのみならず、暗号化対象データの元になった対象データも含まれるようにすることができる。例えば、前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが含まれており、前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置が、送信の対象となる前記暗号化対象データと、前記暗号化対象データとを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。補助通信装置が存在するのであれば、前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが含まれており、前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置又は補助通信装置が、送信の対象となる前記暗号化対象データと、その元となった前記暗号化対象データとを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。
 ブロックは、上述のように通信装置或いは補助通信装置で生成されても良いが、記録装置で生成されても良い。例えば、前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが、前記暗号化対象データ及びその元となった前記対象データを互いに紐付けた状態で含まれており、前記記録過程で前記記録装置は、前記通信装置から受取った前記暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。補助通信装置が存在するのであれば、前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが、前記暗号化対象データ及びその元となった前記対象データを互いに紐付けた状態で含まれており、前記記録過程で前記記録装置は、前記通信装置又は前記補助通信装置から受取った前記暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。
 暗号化対象データ、及び対象データは、それらがブロックに含まれた状態で記録装置に記録されているか否かによらず、前記ネットワークに接続されている機器に対して公開された状態とすることができる。
 本願発明による方法を、より具体化して記述すると以下のようなものとなる。かかる方法は、以上で説明した発明のうち、2つの通信装置によって実行されるものに相当する。以下の説明における第1通信装置と、第2通信装置とが、以上で説明した発明における2つの通信装置に相当する。第1通信装置と第2通信装置とは本来区別する必要はないが、2つの通信装置のうち、最初に対象データの暗号化を行うものを便宜上第1通信装置と称することにしている。
 この場合による本願発明は、所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、所定のデータを前記第1暗号化部と異なる方法で復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにて実行される方法である。
 そして、この方法は、前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを、前記第1暗号化部で暗号化して第1暗号化対象データを生成する第1暗号化過程、前記第1通信装置が、前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信過程、前記第2通信装置が、前記第1通信装置から前記第1暗号化対象データを前記ネットワークを介して受取る第1受信過程、前記第2通信装置が、前記第1暗号化対象データを、前記第2暗号化部で暗号化して第2第1暗号化対象データを生成する第2暗号化過程、前記第2通信装置が、前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信過程、前記第1通信装置が、前記第2通信装置から前記第2第1暗号化対象データを前記ネットワークを介して受取る第2受信過程、を含む。
 かかる発明による効果は、上述した方法による効果と同じである。
 なお、対象データを暗号化したものが暗号化対象データであり、第1通信装置のみで暗号化された対象データが第1暗号化対象データである。その後第1暗号化対象データを第2通信装置で更に暗号化したものを第2第1暗号化対象データと称する。用語の使い方は、以後も同様である。
 第1通信装置と第2通信装置とを含む通信システムで実行される方法についての上記発明は、以下のように、第1通信装置で実行される方法、或いは、第2通信装置で実行される方法として把握することも可能である。第1通信装置で実行される方法、及び第2通信装置で実行される方法の発明の効果は、第1通信装置と第2通信装置とを含む通信システムで実行される方法による効果と同じである。
 一例となる第1通信装置で実行される方法は、所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、所定のデータを前記第1暗号化部と異なる方法で復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける前記第1通信装置にて実行される方法である。
 そしてこの方法は、前記第1通信装置が実行する、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して第1暗号化対象データを生成する第1暗号化過程、前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信過程、前記第2通信装置が、前記第1通信装置から前記ネットワークを介して受取った前記第1暗号化対象データを、前記第2暗号化部で暗号化して生成された第2第1暗号化対象データを、前記ネットワークを介して前記第2通信装置から受取る第2受信過程、を含む。
 第1通信装置で実行される方法では、前記第1通信装置が、前記第1暗号化過程と、前記第1送信過程と、前記第2受信過程とを、自動的に実行しても良い。例えば、第1通信装置のユーザが、第2通信装置を選択する或いは特定して処理開始のための何らかの操作内容を第1通信装置に入力した後に、第1通信装置が、第1暗号化過程と、第1送信過程と、第2受信過程とを、自動的に実行するようにすることができる。この効果は既に述べた通りである。
 第1通信装置で実行される方法は、前記第1通信装置が、前記ネットワークに接続されている、データの記録が可能な記録装置に前記第2第1暗号化対象データを送信して、前記記録装置に前記第2第1暗号化対象データを記録させる過程を含んでいてもよい。この効果は既に述べた通りである。
 前記第1通信装置が、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データとを前記記録装置に送信し、前記記録装置は、前記第2第1暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録してもよい。記録装置に記録される暗号化対象データは、上述したが如きブロックに含まれていても良い。例えば、前記第2第1暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、前記第1通信装置は、送信の対象となる前記第2第1暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。ブロックには、第2第1暗号化対象データのみならず、その元になった対象データも含まれていてもよい。例えば、前記ブロックには、前記第2第1暗号化対象データと、当該第2第1暗号化データの元となった前記対象データと、前記演算値とが含まれており、前記第1通信装置は、送信の対象となる前記第2第1暗号化対象データと、その元となった前記対象データとを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。また、前記第2第1暗号化対象データが、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっている場合であって、第1通信装置が第2第1暗号化対象化データを記録装置に送信する場合には、記録装置がそれに続けて、前記第1通信装置から受取った前記第2第1暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、方法を実行しても良い。この場合、1つの前記ブロックに含まれる前記第2第1暗号化対象データは1つ以上であり、前記記録装置は、前記第1通信装置から1つ以上の前記第2第1暗号化対象データを受取った後の所定のタイミングで、その直前の前記ブロックが生成されて以降に受取った1つ以上の前記第2第1暗号化対象データを含む前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。また、前記第2第1暗号化対象データと、当該第2第1暗号化データの元となった前記対象データとが、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっている場合であって、第1通信装置が第2第1暗号化対象化データ及びその元になった対象データを記録装置に送信する場合には、前記記録装置がそれに続けて、前記第1通信装置から受取った前記第2第1暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。これらの効果は、既に述べた通りである。
 一例となる第2通信装置で実行される方法は、所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、所定のデータを前記第1暗号化部と異なる方法で復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける前記第2通信装置にて実行される方法である。
 そしてこの方法は、前記第2通信装置が実行する、前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して生成された第1暗号化対象データを、前記第1通信装置から前記ネットワークを介して受取る第1受信過程、前記第1暗号化対象データを、前記第2暗号化部で暗号化して第2第1暗号化対象データを生成する第2暗号化過程、前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信過程、を含む。
 第2通信装置で実行される方法では、前記第2通信装置が、前記第1受信過程と、前記第2暗号化過程と、前記第2送信過程とを、自動的に実行しても良い。例えば、第1通信装置のユーザが、第2通信装置を選択する或いは特定して処理開始のための何らかの操作内容を第1通信装置に入力した後に、第2通信装置が、第1受信過程と、第2暗号化過程と、第2送信過程とを、自動的に実行するようにすることができる。この効果は既に述べた通りである。
 第2通信装置で実行される方法は、前記第2通信装置が、前記ネットワークに接続されている、データの記録が可能な記録装置に前記第2第1暗号化対象データを送信して、前記記録装置に前記第2第1暗号化対象データを記録させる過程を含んでいてもよい。この効果は既に述べた通りである。
 前記第2通信装置が、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データとを前記記録装置に送信し、前記記録装置は、前記第2第1暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録してもよい。記録装置に記録される暗号化対象データは、上述したが如きブロックに含まれていても良い。例えば、前記第2第1暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、前記第2通信装置は、送信の対象となる前記第2第1暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。ブロックには、第2第1暗号化対象データのみならず、その元になった対象データも含まれていてもよい。例えば、前記ブロックには、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データと、前記演算値とが含まれており、前記第2通信装置は、送信の対象となる前記第2第1暗号化対象データと、その元となった対象データとを含む前記ブロックを生成して、それを前記記録装置に送信してもよい。
 また、前記第2第1暗号化対象データが、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっている場合であって、第2通信装置が第2第1暗号化対象化データを記録装置に送信した場合に、前記記録装置がそれに続けて、前記第2通信装置から受取った前記第2第1暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、方法を実行しても良い。前記ブロックには、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データと、前記演算値とが、前記第2第1暗号化対象データ及び前記対象データとを互いに紐付けられた状態で含まれるようになっている場合には、前記記録装置は、前記第2通信装置から受取った前記第2第1暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。記録装置でブロックを生成するこれら2つの場合、1つの前記ブロックに含まれる前記第2第1暗号化対象データは1つ以上であり、前記記録装置は、前記第2通信装置から1つ以上の前記第2第1暗号化対象データを受取った後の所定のタイミングで、その直前の前記ブロックが生成されて以降に受取った1つ以上の前記第2第1暗号化対象データを含む前記ブロックを生成し、それをその直前の前記ブロックに接続してもよい。これらの効果は、既に述べた通りである。
 本願発明者は、第1通信装置をも本願発明の一態様として提案する。その効果は、第1通信装置で実行される方法による効果と等しい。それは例えば、以下のようなものである。
 第1通信装置は、所定のネットワークを介して互いに通信可能である、第1通信装置と、所定のデータを復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける第1通信装置である。
 第1通信装置は、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第2暗号化部と異なる方法で暗号化して第1暗号化対象データを生成する第1暗号化部と、前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信部と、前記第2通信装置が、前記第1通信装置から前記ネットワークを介して受取った前記第1暗号化対象データを、前記第2暗号化部で暗号化して生成された第2第1暗号化対象データを、前記ネットワークを介して前記第2通信装置から受取る第1受信部と、を含む。
 本願発明者は、第1通信装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
 そのコンピュータプログラムは、所定のネットワークを介して互いに通信可能である、第1通信装置と、所定のデータを復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける第1通信装置として所定のコンピュータを機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第2暗号化部と異なる方法で暗号化して第1暗号化対象データを生成する第1暗号化部と、前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信部と、前記第2通信装置が、前記第1通信装置から前記ネットワークを介して受取った前記第1暗号化対象データを、前記第2暗号化部で暗号化して生成された第2第1暗号化対象データを、前記ネットワークを介して前記第2通信装置から受取る第1受信部と、して機能させるためのコンピュータプログラムである。
 本願発明者は、第2通信装置をも本願発明の一態様として提案する。その効果は、第2通信装置で実行される方法による効果と等しい。それは例えば、以下のようなものである。
 第2通信装置は、所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、第2通信装置と、を含んでなる通信システムにおける第2通信装置である。
 第2通信装置は、前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して生成された第1暗号化対象データを、前記第1通信装置から前記ネットワークを介して受取る第2受信部と、前記第1暗号化対象データを前記第1暗号化部と異なる方法で暗号化して第2第1暗号化対象データを生成する第2暗号化部と、前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信部と、を含む。
 本願発明者は、第2通信装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
 そのコンピュータプログラムは、所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、第2通信装置と、を含んでなる通信システムにおける第2通信装置として所定のコンピュータを機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して生成された第1暗号化対象データを、前記第1通信装置から前記ネットワークを介して第2受信部と、前記第1暗号化対象データを前記第1暗号化部と異なる方法で暗号化して第2第1暗号化対象データを生成する第2暗号化部と、前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信部と、して機能させるためのコンピュータプログラムである。
第1実施形態による通信システムの全体構成を概略的に示す図。 図1に示した通信システムにおけるユーザ端末の外観を示す斜視図。 図1に示した通信システムにおけるユーザ端末のハードウェア構成を示す図。 図1に示した通信システムにおけるユーザ端末の内部に生成される機能ブロックを示すブロック図。 図1に示した通信システムで実行される処理の流れを示す図。 図2に示したユーザ端末のディスプレイに表示される画像の一例を示す図。 第2実施形態による通信システムの全体構成を概略的に示す図。 第2実施形態におけるユーザ端末のディスプレイに表示される画像の一例を示す図。 変形例1の通信システムにおける記録装置の内部に生成される機能ブロックを示すブロック図。 変形例1の通信システムにおける記録装置の記録部に記録されるブロックに含まれるデータを概念的に示す図。 変形例2の通信システムにおけるユーザ端末の内部に生成される機能ブロックを示すブロック図。
 以下、本発明の第1、第2実施形態について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。また、特に矛盾なき場合、各実施形態及び変形例は、他の実施形態及び変形例とも組合せることができる。
≪第1実施形態≫
 図1に、第1実施形態による通信システムの全体構成を概略で示す。
 通信システムは、複数の、通常は多数のユーザ端末100-1~100-N(以後、単に、「ユーザ端末100」と記載する場合もある。)を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
 ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
 ユーザ端末100は、広く言えば本願発明の通信装置(或いは、第1通信装置、及び第2通信装置)の一例である。
 また、かかる通信システムには、必須ではないが、ネットワーク400に接続された記録装置300が含まれている。記録装置300は、複数である場合が多く、場合によっては多数である。
 通常、ユーザ端末100は各ユーザの所有物である。ユーザ端末100は、コンピュータを含んでいる。ユーザ端末100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。これらはいずれも汎用のもので良い。スマートフォンは例えば、Apple Japan合同会社が製造、販売を行うiPhoneである。タブレットの例はApple Japan合同会社が製造、販売を行うiPadである。以下、これには限られないが、ユーザ端末がスマートフォンであることとして話を進める。
 ユーザ端末100は少なくとも、互いにネットワーク400を介しての通信が可能なことと、後述するようなデータの暗号化、及び復号化の処理を行えることが必要とされる。この実施形態におけるユーザ端末100はスマートフォンであるから、当然に、他のユーザ端末100と、ネットワーク400を介しての通信が可能である。また、データの暗号化と復号化の機能は、後述するように、コンピュータプログラムにより獲得可能である。
 次に、ユーザ端末100の構成を説明する。各ユーザ端末100-1~100-Nの構成は、本願発明との関連でいえば同じである。
 ユーザ端末100の外観の一例を図2に示す。
 ユーザ端末100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。ユーザ端末100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をユーザ端末100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。ユーザ端末100が例えば、ノート型パソコン、デスクトップ型パソコンなのであれば、その入力装置102は、キーボード、トラックボール、マウス等となるであろう。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
 入力装置102から入力されるデータは、いずれもその詳細を追って説明するが、例えば、選択情報、開始情報である。
 ユーザ端末100のハードウェア構成を、図3に示す。
 ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
 CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の通信装置(或いは、第1通信装置、及び第2通信装置)としてこのユーザ端末100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末100にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末100へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
 ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムは、これに限られず、ユーザ端末100がスマートフォンであれば、ユーザ端末100をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
 RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。
 インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容は、インターフェイス114からバス116に入力されるようになっているとともに、後述する画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。インターフェイス114は、また、図示を省略する送受信部に接続されている。 
 送受信部は、インターネットであるネットワーク400を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末100がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク400から受取ったデータは、インターフェイス114により受取られるようになっており、インターフェイス114から送受信部に渡されたデータは、送受信部によって、ネットワーク400を介して外部、例えば、他のユーザ端末100に送られるようになっている。送受信部からネットワーク400を介して他の装置に送られることのあるデータは、後述する対象データ又は暗号化された対象データであり、送受信部がネットワーク400を介して他の装置から受取ることのあるデータも同様である。
 CPU111がコンピュータプログラムを実行することにより、ユーザ端末100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末100を本願発明の通信装置(或いは、第1通信装置、及び第2通信装置)として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 ユーザ端末100内には、本願発明の機能との関係で、以下のような制御部120が生成される。制御部120には、主制御部121、データ入出力部122、第1記録部123、暗号化部124が存在する。
 制御部120は、以下に説明するような情報処理を実行する。
 主制御部121は、制御部120内の全体的な制御を行う。例えば、主制御部121は、データ入出力部122から、後述する選択情報と開始情報とを受付ける場合がある。選択情報は、この主制御部121を有するユーザ端末100を含む幾つかのユーザ端末100の間で、共有して記録し保全する対象となるデータである対象データを選択するとともに、対象データを共有して記録し保全するユーザ端末100を特定する情報である。選択情報を受付けた場合、主制御部121は、第1記録部123から、選択情報で選択された対象データを読み出すようになっている。また、開始情報を受付けた場合、主制御部121は、後述する暗号化過程を開始するための後述する処理を実行するようになっている。
 主制御部121は、また、対象データを第1記録部123から読み出した場合に、暗号化部124に、その対象データを送る場合がある。また、主制御部121は、対象データ又は暗号化された対象データをデータ入出力部122から受取る場合がある。これらを受取った場合、主制御部121はそのデータを暗号化部124か、又は第1記録部123に送るようになっている。
 なお、各ユーザ端末100の主制御部121には、各ユーザ端末100にユニークなユーザIDが記録されている。ユーザIDを用いることにより、各ユーザ端末100を特定することができる。ユーザIDは例えば、数字、英字、記号或いはそれらを混合したものである。現実にはあまり即さないが、この実施形態では、各ユーザ端末100に割当てられた符号である、100-1~100-Nが各ユーザ端末100のユーザIDであるものとする。ユーザIDの利用の仕方については後述するものとする。
 また、主制御部121は、暗号化部124から暗号化された対象データを受取る場合がある。暗号化された対象データを受取った場合、主制御部121はそれを、データ入出力部122に送るようになっている。
 データ入出力部122は、制御部120へのデータの入出力を行うものである。
 具体的には、データ入出力部122は、インターフェイス114を介して、上述の入力装置102から入力された、選択情報、開始情報を受付けるようになっている。それら入力装置102からのデータを受付けた場合には、データ入出力部122は、選択情報、開始情報を主制御部121に送るようになっている。
 また、データ入出力部122には、主制御部121から対象データ又は暗号化された対象データが送られてくる場合がある。それらデータが送られてきた場合には、データ入出力部122は、それらをインターフェイス114を介して送受信部に送るようになっている。
 また、データ入出力部122には、他の装置からネットワーク400を介して送られて来て送受信部で受け取られた対象データ又は暗号化された対象データがインターフェイス114を介して送られてくる場合がある。データ入出力部122はそれらデータを受取った場合には、主制御部121にそれらを送るようになっている。
 第1記録部123は、データを記録するものである。第1記録部123に記録されることがあり得るデータは、例えば、対象データであり、或いは、対象データを暗号化した後述のデータである。第1記録部123には、後述するように他のデータ、例えば鍵のデータが記録される場合がある。
 暗号化部124は、データの暗号化と復号化とを行うものである。暗号化部124が行う暗号化と復号化との方法は、常に同一、例えば、常に同じ鍵と同じアルゴリズムとを用いて行われても良いし、そうでなくても良い。例えば、暗号化部124が行う暗号化の方法は、あるデータを暗号化する処理が行われる都度異なるものとされても構わない。暗号化部124が行う暗号化の方法が変化する場合、暗号化に用いる鍵を変化させる、暗号化に用いるアルゴリズムを変化させる、暗号化に用いる鍵とアルゴリズムを変化させる、という3通りのいずれによってそれが行われても構わない。暗号化部124が行う暗号化の方法が変化するかによらず、暗号化部124がデータの復号化を行う場合には、暗号化されているデータを復号化するために必要な演算を暗号化部124が行う。
 各ユーザ端末100にはそれぞれ暗号化部124が存在するが、各ユーザ端末100の暗号化部124において実行される暗号化の方法は、それぞれユニークなものとなっている。例えば、各ユーザ端末100の暗号化部124で実行される暗号化の方法が1通りで固定されている場合において、各ユーザ端末100の暗号化部124で暗号化の処理に用いられるアルゴリズムを同一とするとともに、各ユーザ端末100の暗号化部124で暗号化の処理に用いられる鍵を異なるものとすることができる。各ユーザ端末100の暗号化部124において実行される暗号化の方法がそれぞれ変化する場合において、例えば、各ユーザ端末100の暗号化部124で暗号化のために用いられるアルゴリズムが常に固定であり且つすべての暗号化部124で同一であるとともに、各ユーザ端末100の暗号化部124で暗号化のために用いられる鍵が、データの暗号化を行う度に変化するようになっている場合、仮にあるユーザ端末100と他のユーザ端末100とで、たまたま同じ鍵が用いられることがあったとしても、その確率が無視できる程度に低ければ(例えば、同じ鍵の発生確率が1万分の1以下)、各ユーザ端末100の暗号化部124において実行される暗号化の方法は、それぞれユニークなものと言えるものとする。
 暗号化部124は、対象データ又は暗号化された対象データを主制御部121から受取る場合がある。それらが、多重に暗号化された対象データを生成するために主制御部121から送られたのであれば、暗号化部124は受取ったデータを更に暗号化してから、暗号化後のデータを主制御部121に戻すようになっている。暗号化部124は、暗号化された対象データを主制御部121から受取る場合がある。対象データに戻すためにそれが主制御部121から送られたのであれば、暗号化部124はそのデータに復号化の処理を行ってから、復号化後のデータを主制御部121に戻すようになっている。
 次に、記録装置の構成について説明する。
 記録装置300は、ネットワーク400に接続可能な一般的なデータベースであり、ハードウェア構成的には、一般的なデータベースを構築するためのコンピュータ、或いはサーバのそれと同じで構わず、特に特徴はない。記録装置300は、図示を省略するが、CPU、ROM、RAM、大容量記録媒体の一例となるHDD、インターフェイスを備えており、それらをバスで接続して構成されている。
 記録装置300は、ハードウェア的に見た場合にはHDDの一部により構成される、図示を省略する機能ブロックとしての記録部を備えている。かかる記録部に、ユーザ端末100から送られて来た多重に暗号化された対象データが記録される。後述するように、多重に暗号化された対象データは、ネットワーク400に接続された他の機器(例えば、ユーザ端末100)から閲覧可能な状態で、記録部に記録されても良い。
 記録装置300は一つでも良いが、通常は複数である。記録装置300はビットコインのブロックチェーンのノードの用に、自発的にこの通信システムの仕組みに参加する者が設置しても良いし、或いは通信システムの管理者的な者が設置しても良い。
 以上のような通信システムの使用方法、及び動作を、主に図5を用いて説明する。
 かかる通信システムでは、複数のユーザ端末100のユーザが共に保全することを希望するデータである対象データを、ユーザ端末100内に保全する。
<2つのユーザ端末100が対象データを保全する場合>
 まず、対象データを保全することを希望するのが2人のユーザで、対象データを保全するのに用いられるのがそれらユーザの2つのユーザ端末100である場合について説明する。これには限られないが、ユーザ端末100-1と、ユーザ端末100-2とが、この場合の2つのユーザ端末100であるものとして以下の説明を行う。
 まず、ユーザ端末100-1と、ユーザ端末100-2との少なくとも一方が、対象データを保持した状態となる。ユーザ端末100-1と、ユーザ端末100-2とのユーザが共に、そのデータを保全する(例えば、ユーザ端末100-1と、ユーザ端末100-2との内部に改竄できない状態で記録する。)ことを希望するデータというのは、典型的には、その2人のユーザの間で交わされた契約を特定する契約書のデータである。例えば、仮想通貨を、ユーザ端末100-1のユーザがユーザ端末100-2のユーザに譲渡した、言い換えればユーザ端末100-1からユーザ端末100-2に仮想通貨のデータを送信したのであれば、そのような取引記録のデータが契約書のデータとなる。もちろん、契約書のデータにより特定される契約は、ユーザ端末100間でのデータの送受信を伴う必要はなく、土地の売買の契約や、婚姻の契約等であっても構わない。また、ユーザ端末100-1と、ユーザ端末100-2との一方、例えば、ユーザ端末100-1が、ホームページの閲覧を第三者に行わせるのを目的とする公知のホームページサーバであって、何らかのプログラムをユーザ端末100-2のユーザにダウンロードを許可させるに先立って行われる、著作権に関する契約がかかる契約であっても良い。
 もちろん、対象データは契約に関するものに限られるものではなく、ユーザ端末100-1と、ユーザ端末100-2のユーザが2人だけの秘密にしておきたく、且つ改竄されたくはない、正確な記録を残しておきたいというような情報を特定するデータであっても構わない。例えば、ユーザ端末100-1のユーザが医師であり、ユーザ端末100-2のユーザが患者である場合、医師が患者に与えた処方箋や、診断書のデータがそれに当たる。例えば、ユーザ端末100-1のユーザが弁護士であり、ユーザ端末100-2のユーザがその顧客である場合、弁護士が顧客に与えたアドバイスや、鑑定書のデータがそれに当たる。対象データは、少なくともその一部にコンピュータプログラムを含むものであり、所定の条件が充足されたときに、適当なコンピュータで例えば自動実行されるものであっても良い。それによれば、Ethereum(商標)等で実現されつつあるいわゆるスマートコントラクトにこの通信システムを対応させられるようになる。
 もっとも、以上の対象データはすべて例示であり、複数のユーザ端末100のユーザが共に保全することを希望するデータであれば、対象データはどのようなものであっても構わない。
 いずれにせよ、公知、或いは周知の方法で、対象データは生成される(S801)。対象データは、ユーザ端末100-1内で生成されてもよく、ユーザ端末100-2内で生成されてもよく、ユーザ端末100-1とユーザ端末100-2内で例えば同時に生成されてもよく、或いはユーザ端末100-1、ユーザ端末100-2外の他の装置で生成され、ユーザ端末100-1、ユーザ端末100-2にネットワーク400を介しての送信等により送られて来ても構わない。更に言えば、対象データは新たに生成されたデータではなく、例えば、ユーザ端末100-1、ユーザ端末100-2の少なくとも一方が、従前から持っていたデータであっても構わない。
 その入手の過程の如何によらず、ユーザ端末100-1と、ユーザ端末100-2の一方は、対象データを持った状態となる。この実施形態では、とりあえず、ユーザ端末100-1内にのみ対象データが存在する状態となったこととする。
 対象データは、例えば、ユーザ端末100-1内の第1記録部123に記録された状態となる。ここで、ユーザ端末100-1のユーザは、保全すべき対象データを特定する情報と、その対象データを共有して保全することを希望するユーザ或いはそのユーザ端末100を特定するデータを組合せたものである、選択情報の入力を行う(S802)。選択情報の入力を行う場合、例えば、ユーザ端末100-1のディスプレイ101には、図6に示したようなユーザに選択情報の入力を促すための画像が表示される。かかる画像のデータは、ユーザ端末100-1の主制御部121が生成する。かかる画像データが、主制御部121から、データ入出力部122、インターフェイス114を介して、ディスプレイ101に送られることにより、ディスプレイ101に図6に示したような画像が表示される。
 選択情報の入力をユーザに促すための画像には、対象データという文字、及び対象データの入力を行うための、その文字と横並びになっている横長の矩形の枠と、共有先1~3という文字、及び共有先1~3という文字のそれぞれに対応した入力を行うための、それら文字と横並びになっている横長の矩形の枠と、マルチキャストという文字、及びマルチキャストという文字と横並びになっているYESとNOという文字がそれぞれ付されたボタンと、最も下に位置するOKという文字が付されたボタンとが含まれている。
 対象データという文字の横に表示されている枠は、対象データを選択するための情報を書き込むためのものである。対象データは一般にあるデータについてのファイルであると思われるから、その場合にはユーザは、例えば、対象データのファイル名をその枠の中に書き込むことになる。かかる書き込みは、入力装置102の操作により、これを行う。
 共有先1~3という文字の横に準備されている枠は、ユーザ端末100-1と共に対象データを保全するユーザ端末100を特定するための情報を書き込むためのものである。共有先1~3のそれぞれが、1つのユーザ端末100を特定するための情報に対応し、図6の例では最大3つのユーザ端末100を、ユーザ端末100-1と共に対象データを保全するユーザ端末100として指定できるようになっている。かかるユーザ端末100の指定は、例えば、ユーザIDによって行うことが可能であり、或いは各ユーザの名前やハンドルネーム、各ユーザ端末100にそれぞれ付された何らかの識別子によって行うことができる。この実施形態では、ユーザ端末100-1と共に対象データを保全するユーザ端末100は、ユーザ端末100-2の1つだけであるから、ユーザ端末100-1のユーザは、そのディスプレイ101の共有先1のみに書き込みを行う。かかる書き込みは、入力装置102の操作により、これを行う。なお、この実施形態では、共有先を書き込むための枠は、共有先1~3の3つ予め用意されているが、これはもちろんこの限りではない。例えば、かかる枠は、ディスプレイ101上に初めは1つのみ表示されており、必要に応じて入力装置102の操作によりユーザが追加できるようになっていても良いし、或いは、まず必要な枠の数の入力をユーザに行わせ、ユーザが指定した数の枠をディスプレイ101に表示するようになっていてもよい。
 ここまでが、選択情報の入力に当たる。この実施形態では、必ずしも必須ではないが、選択情報に加えて、更にマルチキャストの要否についての以下の入力を行う。なお、マルチキャストの要否についての入力も選択情報の入力の一部に該当すると考えても良い。マルチキャストを常に実行する、或いは常に実行しないようにすることも可能であり、その場合には当然にマルチキャストの要否をユーザに確認する必要がないから、以下で説明する入力及びその入力をユーザに促すためのディスプレイ101上の表示を省略することができる。
 マルチキャストという文字の横に位置するYESとNOという文字がそれぞれ付されたボタンは、それらのボタンのいずれかをユーザがクリックすることで、マルチキャストを行うか否かを選択するものである。ここで、「マルチキャスト」は、後述する多重に暗号化された対象データを、記録装置300に記録させる処理を意味する。かかる処理については、追って詳述するが、YESという文字が付されたボタンをユーザが選択した場合にはマルチキャストが行われ、NOという文字が付されたボタンをユーザが選択した場合にはマルチキャストが行われないことになる。かかる選択は、入力装置102の操作により、これを行う。なお、この実施形態では、これには限られないが、YESという文字が付されたボタンをユーザが選択したものとする。
 そして、上述の入力のすべてを終えたらユーザは、OKという文字の付されたボタンをクリックする。OKという文字の付されたボタンに対する入力を行うと、上述した選択情報と、マルチキャストを行うかどうかということの選択についての情報の入力が実行される。また、OKという文字の付されたボタンに対する入力は、開始情報の入力をも兼ねている(S803)。
 OKという文字の付されたボタンをユーザ端末100-1のユーザがクリックすると、選択情報と、マルチキャストの要否についての情報と、開始情報とが生成される。これら情報は、入力装置102から、インターフェイス114を経て制御部120のデータ入出力部122に送られ、そこから主制御部121へと送られる。
 選択情報を受取ると、主制御部121は、選択情報のうち、ディスプレイ101において、対象データという文字の横に表示されている枠の中に書き込まれた情報によって特定されるデータを、対象データとして第1記録部123から読み出す。かかるデータは平文のデータである。以後、これが対象データとして扱われる。
 主制御部121は、第1記録部123から読み出した対象データを暗号化部124に送る。それを受取った暗号化部124は、受取った対象データを暗号化する(S804)。これには限られないが、この実施形態における暗号化部124が、対象データ或いは暗号化された対象データの暗号化を行う場合に使用されるアルゴリズムは常に同一である。他方、この実施形態における暗号化部124は、これには限られないが、対象データ或いは暗号化された対象データの暗号化を行う度に、それに先立って新しい鍵を生成し、生成された新しい鍵によって暗号化の処理を実行するようになっている。暗号化部124は、固定のアルゴリズムと暗号化の処理を行う度に変化する鍵を用いて、対象データを暗号化して、暗号化された対象データを得る。
 暗号化部124は、暗号化された対象データとその暗号化に用いた鍵を、主制御部121に送る。主制御部121は、その鍵を一旦保持する。主制御部121は、暗号化された対象データに、選択情報のうち、ディスプレイ101において、共有先1という文字の横に表示されている枠の中に書き込まれた情報、即ち多重に暗号化された対象データをユーザ端末100-1とともに共有する相手方のユーザ端末100であるユーザ端末100-2を特定する情報と、ユーザ端末100-1を特定するための情報とを付す。これには限られないが、この実施形態では、暗号化された対象データに付される情報の前者としてユーザ端末100-2のユーザIDが、後者として主制御部121が持っていたユーザ端末100-1のユーザIDがそれぞれ用いられる。2つのユーザIDの付された対象データを、主制御部121は、データ入出力部122に送る。かかるデータは、データ入出力部122から、インターフェイス114を介して送受信部に送られる。
 送受信部は、2つのユーザIDの付された暗号化された対象データを、多重に暗号化された対象データをユーザ端末100-1とともに共有する相手方のユーザ端末100であるユーザ端末100-2に対して、ネットワーク400を介して送信する(S805)。送信先のユーザ端末100-2は、対象データに付された相手方のユーザ端末100-2のユーザIDによって特定可能である。
 2つのユーザIDの付された暗号化された対象データは、ネットワーク400を介して送信され、ユーザ端末100-2の送受信部によって受取られる(S901)。
 2つのユーザIDの付された、ユーザ端末100-1で暗号化された対象データは、ユーザ端末100-2の送受信部から、インターフェイス114、データ入出力部122を経て、主制御部121へと送られる。主制御部121は、そのデータのうち、暗号化された対象データを暗号化部124へと送る。
 暗号化部124は、暗号化された対象データを更に暗号化する(S902)。これにより対象データは、ユーザ端末100-1の暗号化部124と、ユーザ端末100-2の暗号化部124とで、次々に、或いはその順番で連続して暗号化されたことになる。つまり、これにより得られるデータは、多重に(二重に)暗号化された対象データである。ユーザ端末100-2の暗号化部124でも、ユーザ端末100-1の場合と同様に、固定のアルゴリズムと、変化する鍵を用いて暗号化が行われるものとする。もっとも、ユーザ端末100-1とユーザ端末100-2とで用いられる暗号化のアルゴリズムは、同じである必要はない。
 二重に暗号化された対象データは、それを暗号化するときに暗号化部124が使用した鍵とともに、暗号化部124から主制御部121へと送られる。主制御部121は、二重に暗号化された対象データを、それを暗号化するときに使用された鍵とともに、第1記録部123へと記録する(S903)。第1記録部123に記録される二重に暗号化された対象データには、上述した2つのユーザIDのうち少なくともユーザ端末100-1のユーザIDが付されていても良い。他方、主制御部121は、上述した2つのユーザIDを再び二重に暗号化された対象データに付す。そして、それら2つのユーザIDが付された二重に暗号化された対象データは、主制御部121から、データ入出力部122、インターフェイス114を介して送受信部に送られる。
 送受信部は、2つのユーザIDの付された二重に暗号化された対象データを、ユーザ端末100-1へネットワーク400を介して送信する(S904)。送信先のユーザ端末100-1は、対象データに付された相手方のユーザ端末100-1のユーザIDによって特定可能である。
 2つのユーザIDの付された暗号化された対象データは、ネットワーク400を介して送信され、ユーザ端末100-1の送受信部によって受取られる(S806)。
 2つのユーザIDの付された二重に暗号化された対象データは、ユーザ端末100-1の送受信部から、インターフェイス114、データ入出力部122を経て、主制御部121へと送られる。
 二重に暗号化された対象データは、対象データを最初に暗号化するときにユーザ端末100-1の暗号化部124が使用した鍵(この鍵は、上述したように暗号化部124から提供されて主制御部121が保持している。)とともに、主制御部121が、第1記録部123へと記録する(S807)。第1記録部123に記録される二重に暗号化された対象データには、上述した2つのユーザIDのうち少なくともユーザ端末100-2のユーザIDが付されていても良い。
 これにて、二重に暗号化された対象データは、ユーザ端末100-1と、ユーザ端末100-2とで共有された状態となる。二重に暗号化された対象データは、第三者は当然として、この二重に暗号化された対象データを生成した当事者であるユーザ端末100-1、及びユーザ端末100-2も、単独では復号化することができない。仮に二重に暗号化された対象データに何らかの改竄がなされたとすれば、ユーザ端末100-1、及びユーザ端末100-2が協力しても、その二重に暗号化された対象データを復号化できなかったという事実により、改竄があったことが判明する。したがって、二重に暗号化された対象データは、ひいてはその元になった平文の対象データは、改竄不可能に保全された状態で、ユーザ端末100-1と、ユーザ端末100-2との間で共有された状態となる。
 他方、主制御部121は、上述した2つのユーザIDを再び付された二重に暗号化された対象データをマルチキャストする(S808)。マルチキャストの処理は、ユーザが、上述のように、YESという文字が付されたボタンをユーザが選択したという事実に基いて、主制御部121が実行する。マルチキャストを行うために、主制御部121は、主制御部121がユーザ端末100-1の第1記録部123に記録したデータから鍵を除いたデータを、データ入出力部122、インターフェイス114を介して送受信部に送る。送受信部に送られたそれらデータは、送受信部からネットワーク400を介して、記録装置300のうちの少なくとも1つに送られる。それらデータの送り先となる記録装置300は、記録装置300の中からユーザ端末100-1のユーザが選択したものであっても良いし、記録装置300の中からランダムに、或いは何らかのルールにしたがってユーザ端末100-1が選択したものであっても良いし、又は記録装置300のすべてであっても良い。
 2つのユーザIDが付された二重に暗号化された対象データを受取った記録装置300は、受取ったそのデータを、図示を省略の記録部に記録する。そのデータは、第三者がネットワーク400を介して閲覧可能な状態で、記録部に記録されてもよく、この実施形態ではそうされている。なお、第三者が閲覧可能な状態にされるのは、多重に暗号化された対象データのみであっても良い。記録装置300は一つのみでも良いが、それが複数存在する場合、時間の経過とともに、記録装置300のそれぞれには、多重に暗号化された対象データがそれぞれ複数(或いは多数)記録されることになる。その場合において、各記録装置300に記録されている多重に暗号化された対象データは、同じである必要はない。各記録装置300に記録される多重に暗号化された対象データは、多数生成された多重に暗号化された対象データのすべてでも良いし、そのうちの一部のものだけでも良い。また、多数生成された多重に暗号化された対象データのうちの一部のもののみを記録する複数の記録装置300に記録されている多重に暗号化された対象データは、一部重複していても構わないが、互いに異なる多重に暗号化された対象データを記録していても良い。
 結果として、2つのユーザIDが付された二重に暗号化された対象データは、そのデータを生成した当事者たる2つのユーザ端末100であるユーザ端末100-1、及びユーザ端末100-2と、例えばいくつかの記録装置300とで共有して保全された状態になる。なお、マルチキャストの処理は、二重に暗号化された対象データを持っていれば行えるので、二重に暗号化された対象データを持っている他の装置が行ってもよい。例えば、ユーザ端末100-1に代わって、ユーザ端末100-2がマルチキャストの処理を行っても良い。
 なお、以上で説明した過程のうち、開始情報の入力についてのS803から、二重に暗号化された対象データの受信についてのS807までの処理、或いは開始情報の入力についてのS803から、マルチキャストについてのS808までの処理を、ユーザ端末100-1と、ユーザ端末100-2と、場合によっては記録装置300とが、自動的に行うようになっていてもよく、この実施形態ではこれには限られないが、そうされている。また、この実施形態では、選択情報、開始情報の入力をユーザ端末100-1のユーザが行うこととしているが、例えば、対象データが生成されたら自動的にユーザ端末100-1と、ユーザ端末100-2と、場合によっては記録装置300とが、上述した処理のすべてを自動的に実行するようにすることも可能である。その場合には、選択情報、開始情報のユーザによる入力は省略可能である。
 ユーザ端末100-1、ユーザ端末100-2、記録装置300で共有された、二重に暗号化された対象データは、その後一切利用されなくとも構わないが、後述するように、例えば、将来的に対象データの内容を検証する必要が生じた場合にそれを使用することができる。
 その場合には、二重に暗号化された対象データは、復号化して平文の対象データに戻される。復号化された平文の対象データは、二重に暗号化される前の対象データの内容と等しいのであるから、復号化された対象データによる過去の対象データの検証には誤りは生じないし、対象データの真正性についての疑義が生じる余地がない。
 なお、この例では、マルチキャストの際にユーザ端末100-1又はユーザ端末100-2から記録装置300に対して送られるのは、2つのユーザIDが付された二重に暗号化された対象データであった。ここで、マルチキャストの際にユーザ端末100-1又はユーザ端末100-2から記録装置300に送られるデータに、二重に暗号化された対象データの元となった対象データを加えることが可能である。この場合、記録装置300の図示を省略の記録部に記録されるのは、2つのユーザIDが付された二重に暗号化された対象データと、二重に暗号化された対象データの元となった対象データとになる。二重に暗号化された対象データと、二重に暗号化された対象データの元となった対象データとは互いに紐付けられて、或いは対として記録される。各記録装置300の記録部には、同一の或いは異なる対となった二重に暗号化された対象データと、二重に暗号化された対象データの元となった対象データとが蓄積されることになる。この場合、二重に暗号化された対象データと、その元となった対象データとは、少なくともその一方が、ネットワーク400を介して他の機器に開示された状態とされても良い。なお、対象データの生成(S801)の処理の際に、平文の対象データを持っているのがユーザ端末100-1のみである場合、二重に暗号化された対象データに加えて、その元となった対象データを記録装置300に送信できるのは、基本的にユーザ端末100-1とユーザ端末100-2のうちユーザ端末100-1のみである。もし、ユーザ端末100-2からそれらデータを記録装置300に送信させるのであれば、ユーザ端末100-1からユーザ端末100-2へ、平文の対象データ、或いはユーザ端末100-2で復号化することができるようにユーザ端末100-1で暗号化された対象データを、ユーザ端末100-2が二重に暗号化された対象データと、その元となった対象データとを記録装置300に送信する前の適当なタイミングで、ユーザ端末100-1からユーザ端末100-2へと送信すれば良い。
<2つのユーザ端末100が保全された対象データを復号化する場合>
 二重に暗号化された対象データの復号化は、例えば、以下のようにして行われる。
 二重に暗号化された対象データの検証を行いたいと考えるのは通常、ユーザ端末100-1のユーザか、ユーザ端末100-2のユーザである。
 そして、ユーザ端末100-1と、ユーザ端末100-2とは、上述したように、二重に暗号化された対象データを、それらの第1記録部123に記録した状態で保持している。したがって、ユーザは、復号化したい二重に暗号化されたデータを、第1記録部123に記録されたデータの中から選択して、それをユーザ端末100-1と、ユーザ端末100-2の間でやり取りして復号化すれば良い。かかる処理は、通常、対象データを二重に暗号化された対象データとしたときの逆の処理として実行され、この実施形態ではこれには限られないがそうされている。
 例えば、ユーザ端末100-2のユーザが、ユーザ端末100-1との間で二重に暗号化した対象データを復号化したい、と望んだとする。ユーザ端末100-2のユーザは、例えば、ユーザ端末100-2の入力装置102を用いて、その二重に暗号化された対象データを選択する。選択された二重に暗号化された対象データには上述のように、そのデータを暗号化したときに用いられた鍵とユーザ端末100-1、及びユーザ端末100-2のユーザIDが付されている。それらデータのすべてを、主制御部121は、第1記録部123から読み出す。
 主制御部121は、読み出したそれらデータのうち、鍵と二重に暗号化された対象データとを暗号化部124へと送る。暗号化部124は、固定のアルゴリズムと、主制御部121から提供されたその鍵を用いて、二重に暗号化された対象データを復号化する。そうすると、二重に暗号化された対象データは復号化され、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態に戻る。暗号化部124は、そのデータを、二重に暗号化されたデータとともに、主制御部121に送る。
 主制御部121は、それらデータにユーザ端末100-1、及びユーザ端末100-2のユーザIDを付して、データ入出力部122、インターフェイス114を介して、送受信部に送る。それらデータは、送受信部から、ネットワーク400を介してユーザ端末100-1に送られる。
 ユーザ端末100-1は、その送受信部でそれらのデータを受取る。2つのユーザIDと、二重に暗号化された対象データの付された、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータは、ユーザ端末100-1の送受信部から、インターフェイス114、データ入出力部122を介して主制御部121へと送られる。
 それを受取った主制御部121は、二重に暗号化されたデータと同じデータを第1記録部123に記録されたデータの中から探す。ユーザ端末100-2から受取った二重に暗号化されたデータと同じデータを第1記録部123の中から発見したら、主制御部121は、その二重に暗号化されたデータに付されていた鍵を第1記録部123から読み出す。この鍵は、その二重に暗号化されたデータを暗号化した際に、ユーザ端末100-1の暗号化部124で使用された鍵である。主制御部121は、その鍵とともに、ユーザ端末100-2から送信されてきた、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータを、暗号化部124に送る。
 暗号化部124は、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータを主制御部121から受け取ったら、そのデータを、固定のアルゴリズムと、主制御部121から提供された鍵を用いて復号化する。そうすることにより、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータは平文の対象データに戻る。
 暗号化部124は、対象データを主制御部121に送る。主制御部121は、対象データを、ユーザ端末100-1の第1記録部123に記録する。これにより、対象データの検証が可能な状態となる。
 必要であれば、ユーザ端末100-1からユーザ端末100-2に対象データを送る。これにより、ユーザ端末100-1と、ユーザ端末100-2とは対象データを共有した状態となる。
 以上の説明から明らかであろうが、ユーザ端末100-2から、ユーザ端末100-1に対して二重に暗号化された対象データを送信したのは、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータをユーザ端末100-1の暗号化部124で復号化する際に使用する鍵を特定するためである。ユーザ端末100-1の第1記録部123には、ユーザ端末100-2と協働して生成した上述の二重に暗号化された対象データ以外の多重に暗号化された対象データが記録されているのが通常であろうし、更には多数のユーザ端末100の第1記録部123に記録されている、或いは複数の記録装置300の記録部に記録されている、多重に暗号化された対象データは、その内容も数も、通信システムを運用している間にそれぞれ異なるものとなっているであろう。そのような状況の中で、ユーザ端末100-1がユーザ端末100-2から受取った上述のデータを復号化する際には、そのデータを復号化するために用いるべき鍵を特定する必要がある。そのような鍵の特定を行うために用いるものの一つの例が、ユーザ端末100-2から、ユーザ端末100-1に対して送信された、上述の、二重に暗号化された対象データである。
 したがって、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータをユーザ端末100-2からユーザ端末100-1へ送ることは必須であるが、上述の鍵の特定が他の方法により可能なのであれば、ユーザ端末100-2からユーザ端末100-1へ二重に暗号化された対象データを送信する必要はない。例えば、二重に暗号化された対象データを生成する場合に、そのデータを特定するための識別子を例えば、ユーザ端末100-2で生成し、ユーザ端末100-2の主制御部121が、その識別子を二重に暗号化された対象データに付して第1記録部123に記録するとともに、ユーザ端末100-2からその識別子を受信したユーザ端末100-1の主制御部121も、第1記録部123にその識別子を二重に暗号化された対象データに付して記録するようになっているとする。その場合、二重に暗号化されたデータを先に復号化したユーザ端末100-2は、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータをユーザ端末100-1に送る際に、二重に暗号化されたデータの代わりにその識別子を送信することができる。それらデータを受取ったユーザ端末100-1の主制御部121は、対象データをユーザ端末100-1の暗号化部124のみで暗号化した状態のデータをその暗号化部124で復号化するときに用いる鍵を第1記録部123に記録された鍵から検索するためのクエリとして、二重に暗号化された対象データの代わりに、その識別子を用いることができる。
 なお、以上で説明した例において、ユーザ端末100-1とユーザ端末100-2とが、第1記録部123にそれぞれ鍵を保存しておくこととしていたのは、二重に暗号化された対象データの復号化を行う際に、対象データを二重に暗号化するときに使用された鍵を特定できるようにするためである。他の方法によりかかる鍵の特定が可能なのであれば、第1記録部123に二重に暗号化された対象データと紐付けて記録されるべきデータは、鍵のデータそのものである必要はなく、鍵を特定することのできるデータであればよい。例えば、ユーザ端末100-1とユーザ端末100-2の暗号化部124が、その暗号化を行ったときの日時に基いて、鍵を変化させるとする。そうであれば、両暗号化部124は、鍵が生成された日時の情報さえあれば、暗号化の処理を行ったときの鍵を再び生成することができる。そのような場合には、第1記録部123に、二重に暗号化された対象データと紐付けて記録されるデータを、鍵のデータの代わりに、その鍵が生成された日時のデータとすることができる。それにより、両暗号化部124は、主制御部121から、鍵のデータの供給を受ける代わりに、その日時のデータを供給されれば、主制御部121から供給されるはずだった鍵と同じ鍵を生成することができるから、復号化の処理を上述の場合と変わらずに成し遂げることが可能となる。
 更にいえば、両暗号化部124で使用される鍵が常に同一なのであれば、両暗号化部124が復号化を行う際に、過去に対象データを二重に暗号化する場合に使用された鍵を特定する必要がそもそもない。そのような場合には、鍵のデータや、鍵を特定することのできる上述の日時のデータの如きデータを第1記録部123に記録しておく必要もない。
 以上の例では、二重に暗号化された対象データの復号化は、二重に暗号化された対象データを最後に暗号化したユーザ端末100-2から始められた。これは通常、あるデータを、異なる方法で複数回暗号化した場合には、その逆の順番で復号化しないと元のデータに戻らないからである。つまり、上述の例では、対象データは、ユーザ端末100-1の暗号化部124で暗号化されてから、ユーザ端末100-2の暗号化部124で、更に暗号化された。この場合、二重に暗号化された対象データを、ユーザ端末100-2の暗号化部124で復号化してから、更にユーザ端末100-1の暗号化部124で復号化すれば元の対象データに戻るが、ユーザ端末100-1の暗号化部124で先に復号化してからユーザ端末100-2の暗号化部で更に復号化しても、元の対象データには戻らない。
 したがって、例えば、ユーザ端末100-1のユーザが二重に暗号化された上述の対象データの復号化を希望した場合であっても、ユーザ端末100-2の暗号化部124でまず先に、二重に暗号化された対象データの復号化を開始する必要がある。ユーザ端末100-1は、ユーザ端末100-2に、復号化をしてもらいたい二重に暗号化された対象データを特定して、二重に暗号化された対象データの復号化を依頼する。二重に暗号化された対象データを特定するためのデータとして、ユーザ端末100-1は、ユーザ端末100-1の第1記録部123に記録されていた二重に暗号化された対象データをユーザ端末100-2に送っても良いし、ユーザ端末100-1とユーザ端末100-2が共通して有している上述の識別子が存在するのであれば、それをユーザ端末100-2に送っても良い。以降における、ユーザ端末100-2から始まる二重に暗号化された対象データの復号化の処理の流れは、上述した場合と同じである。
 なお、この実施形態の通信システムにおいて、二重に暗号化された対象データを復号化する場合においては、二重に暗号化されたその対象データが、どのユーザ端末100においてどのような順番で暗号化されたかということを、その復号化が必要になったときに把握できるように準備しておくべきである。そのような点を考慮すれば、ユーザ端末100-1、及びユーザ端末100-2の第1記録部123において、二重に暗号化された対象データに付されているユーザ端末100-1、及びユーザ端末100-2のユーザIDは、そのデータの順番により、ユーザ端末100-1とユーザ端末100-2でどのような順番で暗号化が行われたかを把握しておくべきであり、さもなくば二重に暗号化されたその対象データが、どのユーザ端末100においてどのような順番で暗号化されたかということを示すデータを別に付しておくべきである。
 同様に、各記録装置300のユーザ或いは管理者等が、記録装置300の記録部に記録されていたある多重に暗号化された対象データの復号化を希望した場合には、そのユーザ或いは管理者が、復号化をしてもらいたい多重に暗号化された対象データを特定して、その多重に暗号化された対象データを最後に暗号化したユーザ端末100に、その多重に暗号化された対象データの復号化を依頼する。上述の二重に暗号化された対象データの復号化を、ある等が希望したのであれば、そのユーザ或いは管理者等は、復号化をしてもらいたい上述の二重に暗号化された対象データを特定して、その二重に暗号化された対象データを最後に暗号化したユーザ端末100であるユーザ端末100-2に、その二重に暗号化された対象データの復号化を依頼する。以降における、ユーザ端末100-2から始まる二重に暗号化された対象データの復号化の処理の流れは、上述した場合と同じである。或いは、記録装置300の記録部に記録されており、且つネットワーク400を介して公開されていた多重に暗号化された対象データを監視していた第三者が、ある多重に暗号化された対象データの復号化を希望した場合にも、その第三者が復号化をしてもらいたい多重に暗号化された対象データを特定して、その多重に暗号化された対象データを最後に暗号化したユーザ端末100に、その多重に暗号化された対象データの復号化を依頼すれば良い。
<3つ以上のユーザ端末100が対象データを保全する場合>
 対象データを保全するのが3つのユーザ端末100である場合について説明する。これには限られないが、ユーザ端末100-1と、ユーザ端末100-2と、ユーザ端末100-3とが、この場合の3つのユーザ端末100であるものとして以下の説明を行う。
 この場合においては、ユーザ端末100-1と、ユーザ端末100-2と、ユーザ端末100-3の少なくとも一つが、対象データを保持した状態となる。この場合の対象データは、典型的には、ユーザ端末100-1と、ユーザ端末100-2と、ユーザ端末100-3のユーザにおける三者間契約によるものとなるであろうが、対象データはそれには限られない。
 対象データは、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3のいずれか1つの内部で生成されてもよく、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3の少なくとも2つの内部で例えば同時に生成されてもよく、或いはユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3外の他の装置で生成されてもよい。また、対象データは新たに生成されたデータではなく、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3の少なくとも1つが、従前から持っていたデータであっても構わない。
 今回は、ユーザ端末100-1内にのみ対象データが存在する状態となったこととする。
 以後において、対象データは、ユーザ端末100-1内の暗号化部124でまず暗号化され、ユーザ端末100-2、ユーザ端末100-3の暗号化部124で続けて暗号化される。ユーザ端末100-1ともに対象データを暗号化するユーザ端末100としてのユーザ端末100-2、ユーザ端末100-3の選択と、ユーザ端末100-2、及びユーザ端末100-3への暗号化された対象データの送信には、ユーザ端末100-2の間で対象データが二重に暗号化される場合と同様に、例えばユーザIDを利用することができる。
 ユーザ端末100-2の暗号化部124と、ユーザ端末100-3の暗号化部124とのどちらで先に暗号化されるかは自由であるが、対象データは、結果として、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3のすべての暗号化部124で暗号化される。ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3の各暗号化部124で、どのような順序で暗号化を行うようにするかは、例えば、最初に暗号化を行う暗号化部124を有するユーザ端末100-1が決定するのが簡単であろうが、ユーザ端末100-2又はユーザ端末100-3が決定しても良いし、或いはユーザ端末100-1と、ユーザ端末100-2と、ユーザ端末100-3の(或いはそれらのユーザの)総意によって決定されても構わないし、或いはランダムに決定されても構わない。この事情は、ユーザ端末100が2つの場合でも、ユーザ端末100が4つ以上の場合でも同様である。
 そして、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3のすべての暗号化部124で順に暗号化された多重に(三重に)暗号化された対象データは、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3のすべての第1記録部123に記録される。ここで、3つの第1記録部123に三重に暗号化された対象データとともに記録されるべきデータは、<2つのユーザ端末100が対象データを保全する場合>で説明したのと同様に、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3が、その三重に暗号化された対象データと後に復号化するために必要なデータである。例えば、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3内の3つの第1記録部123には、三重に暗号化された対象データとともに、それら3つのユーザ端末100のユーザIDが記録される。これら3つのユーザIDは、その三重に暗号化された対象データが、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3において、どのような順番で暗号化されたかを示すようになっているのが好ましいのも、上記と同様である。
 また、三重に暗号化された対象データを共有することとなったユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3のうちの少なくとも一つは、マルチキャストの処理を行うことができる。その場合、ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3内の第1記録部123にそれぞれ記録されたデータと同じ、三重に暗号化された対象データを含むデータが、複数の記録装置300の中の少なくとも1つの記録部に書き込まれることになる。
 三重に暗号化された対象データのみならず、その元となった対象データをもマルチキャストの対象とし、記録装置300の記録部に平文の対象データも書き込まれた状態とすることができるのは、ユーザ端末100が2つの場合でもユーザ端末100が3つの場合でも同じである。
 ユーザ端末100-1、ユーザ端末100-2、ユーザ端末100-3の第1記録部123に記録された三重に暗号化された対象データは、<2つのユーザ端末100が保全された対象データを復号化する場合>で説明したのと同様に、三重に暗号化された対象データの元となった対象データが暗号化されたのと逆の順番で、各ユーザ端末100の暗号化部124において復号化される。それにより、三重に暗号化された対象データは、元の対象データに戻る。
 記録装置300に記録された三重に暗号化された対象データの取扱も同様である。
 以上の例では、対象データを暗号化するユーザ端末100は3つであった。これが、4つ、5つ、或いは、M個であっても話は同様である。
 ある対象データを保全するユーザ端末100がM個である場合、対象データ或いはそれを暗号化したデータは、M個のユーザ端末100の間で送受信されながら、M個のユーザ端末100の暗号化部124のすべてで、暗号化される。それにより、M重に暗号化された対象データが、M個のユーザ端末100で共有され、M個のユーザ端末100の第1記録部123にそれぞれ記録されることになる。M重に暗号化された対象データとともにM個のユーザ端末100の第1記録部123にそれぞれ記録されるべきデータは、上述のように、その復号化に必要なデータとなる。
 M個のユーザ端末100の第1記録部123にそれぞれ記録されたM重に暗号化された対象データは、上述した場合と同様に、M重に暗号化された対象データの元となった対象データが暗号化されたのと逆の順番で、各ユーザ端末100の暗号化部124で復号化される。それにより、M重に暗号化された対象データは、元の対象データに戻る。
 記録装置300に記録されたM重に暗号化された対象データの取扱も同様である。
≪第2実施形態≫
 第2実施形態の通信システムについて説明する。
 第2実施形態の通信システムは、第1実施形態の通信システムと概ね同じである。第2実施形態の通信システムは、第1実施形態の場合と同様に、ネットワーク400に接続された多数のユーザ端末100と、多数の、少なくとも複数の記録装置300とを備えている。
 第2実施形態の通信システムが第1実施形態の通信システムと異なるのは、図7に示したように、第2実施形態の通信システムは、第1実施形態の場合には存在しなかった、ネットワーク400に接続された多数の或いは複数の補助暗号化端末200を有する、という点である。構成に着目した場合、第2実施形態と第1実施形態との違いは、この点のみである。
 補助暗号化端末200-1~補助暗号化端末200-Nの構成、動作は、本願発明との関係で考えた場合すべて同一でよく、この実施形態ではそうされている。
 補助暗号化端末200は、本願発明における補助通信装置に相当するものである。補助暗号化端末200は、ユーザ端末100の機能の一部のみを有するものとすることができる。ユーザ端末100は、平たくいえば、対象データを決定する機能、対象データの多重の暗号化を行う際における1つの暗号化の処理を実行する機能、多重に暗号化された対象データを保存する機能、及び多重に暗号化された対象データの復号化をおこなう際における1つの復号化の処理を実行する機能、を有している。これら機能のうち、補助暗号化端末200に必須なのは、対象データの多重の暗号化を行う際における1つの暗号化の処理を実行する機能、及び多重に暗号化された対象データの復号化をおこなう際における1つの復号化の処理を実行する機能のみである。
 第1実施形態で説明したように、対象データは、複数のユーザ端末100のユーザが共に保全することを希望するデータである。つまり、ユーザ端末100のユーザは、対象データの保全を行うことについての動機付けがある者であるといえ、典型的には対象データの内容に対して利害関係を持つ者であると言える。それに対して、補助暗号化端末200又はそのユーザ或いは管理者には、対象データの保全を行うことについての動機付けは特段存在しなくても良い。第1実施形態では、対象データの多重の暗号化は、当事者的な地位をそのユーザが有する複数のユーザ端末100によって行われたが、第2実施形態では、対象データの多重の暗号化には、ユーザ端末100のみならず、補助暗号化端末200が参加する。対象データの多重の暗号化に参加できるようにするために、補助暗号化端末200は上述のように、対象データの多重の暗号化を行う際における1つの暗号化の処理を実行する機能が必要とされるのである。また、複数のユーザ端末100のみならず、補助暗号化端末200が参加して多重に暗号化された対象データを復号化するには、複数のユーザ端末100のみならず、補助暗号化端末200も参加しない限り、多重に暗号化された対象データを平文の対象データに戻すことができない。それを可能とするために、補助暗号化端末200は、上述のように、多重に暗号化された対象データの復号化をおこなう際における1つの復号化の処理を実行する機能が必要なのである。
 補助暗号化端末200は、例えば、公証人的な公的な性質を帯びたユーザに管理される装置とすることができる。或いは、補助暗号化端末200は、ユーザ端末100そのものとすることもでき、以下に説明される補助暗号化端末200の機能をユーザ端末100が発揮しても良い。また、記録装置300が補助暗号化端末200の機能を兼ね備えていても構わない。この実施形態では、公証人的な性格を有するユーザのみが、補助暗号化端末200を所持するものとして以下の話を進める。
 補助暗号化端末200のハードウェア構成は、ユーザ端末100と同じとすることができ、この実施形態ではそうされている。また、補助暗号化端末200において必要とされる機能は、上述のようにユーザ端末100の機能の一部なのであるから、補助暗号化端末200の内部に生成される機能ブロックは、ユーザ端末100の内部に生成される機能ブロックの一部で良いということになるが、これには限られないが、この実施形態においては、補助暗号化端末200の内部にはユーザ端末100の内部に存在するのと同じ、図4に示した機能ブロックが生成されるものとする。
 補助暗号化端末200の中に生成される各機能ブロックの機能は、ユーザ端末100の内部に生成される機能ブロックが持つ機能と同じである。ただし、その主制御部121は、選択情報と開始情報とを扱う必要がない。したがって、補助暗号化端末200の主制御部121は、第1実施形態で説明した、ユーザ端末100の主制御部121が有していた選択情報と開始情報とを扱う機能を有していない。補助暗号化端末200には上述のように、対象データの多重の暗号化を行う際における1つの暗号化の処理を実行する機能と、多重に暗号化された対象データの復号化をおこなう際における1つの復号化の処理を実行する機能とが必要とされるが、かかる機能は、ユーザ端末100の場合と同様に、補助暗号化端末200における暗号化部124によって担保されている。つまり、補助暗号化端末200における暗号化部124は、データを暗号化する機能と、暗号化部124で暗号化されたデータを復号化する機能とを有している。補助暗号化端末200の暗号化部124は、第1実施形態で説明したユーザ端末100のように、常に同じ方法で暗号化と復号化とを行うようになっていても構わないし、場合によって、例えば対象データ等の暗号化と復号化とを行うたびに暗号化と復号化の方法を変化させる(例えば鍵を変化させる)ようになっていても構わない。ただし、各補助暗号化端末200の暗号化部124と、各ユーザ端末100の暗号化部124とで実行される暗号化と復号化の処理は互いにユニークである。
 第2実施形態の通信装置の使用方法、及び動作について説明する。
 例として、対象データを2つのユーザ端末100が保全する場合について説明する。対象データを保全するのは、第1実施形態の場合と同様に、ユーザ端末100-1と、ユーザ端末100-2である。
 第1実施形態の場合と同様に、まず、ユーザ端末100-1と、ユーザ端末100-2との少なくとも一方が、対象データを保持した状態となる。第1実施形態の場合と同様に、第2実施形態でも、ユーザ端末100-1内にのみ対象データが存在する状態となったこととする。
 対象データは、例えば、ユーザ端末100-1内の第1記録部123に記録された状態となる。ここで、ユーザ端末100-1のユーは、保全すべき対象データを特定する情報と、その対象データを共有して保全することを希望するユーザ或いはそのユーザ端末100を特定するデータを組合せたものである、選択情報の入力を行う。選択情報の入力を行う場合、例えば、ユーザ端末100-1のディスプレイ101には、図8に示したようなユーザに選択情報の入力を促すための画像が表示される。選択情報の入力をユーザに促すための画像には、対象データという文字、及びそれに対応した横長の矩形の枠と、共有先1~3という文字、及びそれらに対応した横長の矩形の枠と、マルチキャストという文字、及びYESとNOという文字がそれぞれ付されたボタンと、OKという文字が付されたボタンとが含まれている。これらは、それらに割り振られた機能を含め、いずれも第1実施形態におけるそれらと同じである。第2実施形態の当該画像には、上記に加え、更に、公証人1、公証人2という文字、及びそれらにそれぞれ対応して横並びに表示されている横長矩形の枠が存在している。
 公証人1、公証人2という文字の隣に存在する枠は、対象データの暗号化を行う場合に、ユーザ端末100のみならず、公証人的性格を有するユーザが所持する補助暗号化端末200をも、対象データを多重に暗号化させる過程に参加させるか否かをユーザ端末100-1のユーザに選択させるためのものである。ユーザ端末100-1のユーザは、1つの補助暗号化端末200を対象データを多重に暗号化する過程に参加させるのであれば、公証人1という文字の右隣の枠に、当該公証人の補助暗号化端末200を特定するための情報(例えば、公証人を特定するユーザID)を入力し、或いは2つの補助暗号化端末200を対象データを多重に暗号化する過程に参加させるのであれば、公証人1と公証人2という文字の右隣の2つの枠に、2人の当該公証人の補助暗号化端末200を特定するための情報を入力する。もちろん、より多くの補助暗号化端末200を対象データを多重に暗号化する過程に参加させるために、公証人の書き込みのための枠をより多く準備すること、或いはユーザの意志により枠を増やせるようにすることも可能である。なお、公証人の補助暗号化端末200を対象データを多重に暗号化する過程に参加させるか否か、参加させるならどの補助暗号化端末200をその過程に参加させるか否かについての上述の情報は、選択情報の一部をなす。これには限られないが、この実施形態では、公証人1の右隣の枠に、補助暗号化端末200-1を選択するための情報である公証人のユーザIDが書き込まれたとする。
 そして、上述の入力のすべてを終えたらユーザは、OKという文字の付されたボタンをクリックする。OKという文字の付されたボタンに対する入力を行うと、上述した選択情報の入力と、マルチキャストを行うか否かについての選択についての情報の入力とが実行される。また、OKという文字の付されたボタンに対する入力は、開始情報の入力をも兼ねている。
 OKという文字の付されたボタンをユーザ端末100-1のユーザがクリックすると、選択情報と、マルチキャストの要否についての情報と、開始情報とが生成される。これら情報は、入力装置102から、インターフェイス114を経て制御部120のデータ入出力部122に送られ、そこから主制御部121へと送られる。ここから先の処理は、概ね第1実施形態と同様である。特に、補助暗号化端末200を対象データを多重に暗号化する処理に参加させない場合の処理は、第1実施形態とまったく変わるところがない。
 選択情報を受取ると、主制御部121は、選択情報のうち、ディスプレイ101において、対象データという文字の横に表示されている枠の中に書き込まれた情報によって特定されるデータを、対象データとして第1記録部123から読み出す。かかるデータは平文のデータである。以後、これが対象データとして扱われる。
 主制御部121は、第1記録部123から読み出した対象データを暗号化部124に送る。それを受取った暗号化部124は、受取った対象データを暗号化する。暗号化部124で暗号化された対象データは、続けて、ユーザ端末100-2又は補助暗号化端末200-1の一方に送られ、ユーザ端末100-2又は補助暗号化端末200-1の一方の暗号化部124で暗号化されてから、ユーザ端末100-2又は補助暗号化端末200-1の他方に送られ、ユーザ端末100-2又は補助暗号化端末200-1の他方の暗号化部124で暗号化される。このようにして生成された多重に(三重に)暗号化された対象データは、その送受信の経路は不問であるが、ユーザ端末100-1、ユーザ端末100-2、補助暗号化端末200-1の間で送受信され、結果としてユーザ端末100-1、ユーザ端末100-2、補助暗号化端末200-1で共有されることになる。三重に暗号化された対象データは、例えば、ユーザ端末100-1、ユーザ端末100-2、補助暗号化端末200-1の第1記録部123に記録されることになる。それら3つの第1記録部123には、第1実施形態で説明したような、後にその多重に暗号化された対象データを復号化するときに必要な情報を特定するためのデータを、多重に暗号化された対象データとともに記録しておく。もっとも、上述したように、補助暗号化端末200は、対象データの多重の暗号化の処理と、多重に暗号化された対象データの復号化の処理には参加するものの、対象データの保全を行う必要がないのであるから、補助暗号化端末200の第1記録部123には、多重に暗号化された対象データを復号化するときに必要な情報を特定するためのデータが記録されていれば、多重に暗号化された対象データが記録される必要は必ずしもない。
 また、マルチキャストの処理は、第1実施形態の場合と同様に、必要に応じて行われる。第2実施形態でマルチキャストの処理を行うのは、ユーザ端末100-1、ユーザ端末100-2ではなく、仮に多重に暗号化された対象データを補助暗号化端末200-1が持っているのであれば、補助暗号化端末200-1であっても構わない。
 このようにして生成された、多重に暗号化された対象データの利用方法は、第1実施形態の場合と同様である。
 もっとも、この場合における多重に暗号化された対象データを復号化する過程には、ユーザ端末100-1とユーザ端末100-2のみならず、補助暗号化端末200-1も参加しなければならない。
 なお、第2実施形態では、対象データを多重に暗号化する過程に参加させる少なくとも1つの補助暗号化端末200を対象データの暗号化を最初に行うユーザ端末100で決定することとしていたが、かかる補助暗号化端末200は、最初のユーザ端末100で決定する必要はなく、他のユーザ端末100や、複数のユーザ端末100の協働によって決定されてもかまわない。対象データを多重に暗号化する過程に参加する少なくとも1つの補助暗号化端末200は、例えば、対象データを多重に暗号化する過程に参加する各ユーザ端末100のユーザのそれぞれが、対象データを多重に暗号化する過程に参加させる少なくとも1つの補助暗号化端末200を、その要否も含めて自ら決定することにより決定するようにすることが可能である。このようにすれば、各ユーザ端末100のユーザは、自らが信用する補助暗号化端末200を、対象データを多重に暗号化する過程に参加させることが可能となる。例えば、各ユーザ端末100は、そのユーザ端末100が対象データを多重に暗号化するための処理に参加する場合に必ずその処理に参加させる補助暗号化端末200を選択できるようにすることができる。或いは、複数のユーザ端末100が対象データを保全しようとしたとき、対象データを多重に暗号化するための処理に参加する少なくとも1つの補助暗号化端末200が、各ユーザ端末100のユーザの意思によらずに、自動的に決定されるようにしても良い。
 なお、第2実施形態の通信システムの使用方法と、動作は、対象データを保全しようとするユーザ端末100が3つ以上となったときでも同様である。
 例えば、対象データを保全しようとするユーザ端末100が4つであり、各ユーザ端末100のユーザがそれぞれ別の補助暗号化端末200を1つずつ、対象データを多重に暗号化する過程に参加させるように設定したとする。そうすると、あるユーザ端末100で対象データを多重に暗号化させるための最初の暗号化の処理が開始されるとすれば、その後に3つのユーザ端末100と4つの補助暗号化端末200で対象データは更に暗号化され、結果的に多重に暗号化された対象データは、八重に暗号化された対象データになる。この場合、3つのユーザ端末100と4つの補助暗号化端末200でどのような順番で暗号化の処理が行われるかは自由である。その順番は、7!通り存在するが、それは、最初に暗号化の処理を実行するユーザ端末100で決定されても良いし、4つのユーザ端末100の協働によって決定されても良いし、4つのユーザ端末100と4つの補助暗号化端末200の協働によって決定されても良いし、更には他の方法によって決定されても良い。
<変形例1>
 変形例1は、第1実施形態に幾らかの変形を加えたものである。とはいえ、変形例1は、特に言及しない点については、第1実施形態と変わらない。変形例1の通信システムでも、ネットワーク400に接続可能な多数のユーザ端末100と、記録装置300とが用いられる。第1実施形態では記録装置300は、複数或いは多数であったが、変形例1においては記録装置300は、少なくとも1つであり、単数であることもあり得る。
 変形例1と、第1実施形態の違いは、記録装置300の違いである。変形例1の記録装置300には、第1実施形態の場合と同様に、二重に(或いは多重に。この変形例1においては、以後も同様である。)暗号化された対象データが記録されることになるが、二重に暗号化された対象データは、第1実施形態の場合とは異なり、ブロックチェーンに含まれた状態で記録されることになる。
 変形例1における記録装置300は、基本的に第1実施形態における記録装置300と同じように構成され、特にそのハードウェア構成については第1実施形態と同じで良い。他方、変形例1における記録装置300には、ブロックチェーン、或いは新たなブロックを生成する機能が必要とされる。変形例1における記録装置300には例えば、図9に示したような機能ブロックが生成される。かかる機能ブロックは、大容量記録媒体に記録されたコンピュータプログラムをCPUが実行することによって生成されることになる。
 記録装置300の中には、データ入出力部321、主制御部322、ブロック生成部323、及び記録部324を有する制御部320が生成される。
 データ入出力部321は、制御部320に入力されるデータを受取り、或いは制御部320から外部へデータを出力するものである。データ入出力部321は、後述する送受信部から受取ったデータを主制御部322に送るようになっており、また主制御部322から受取ったデータを送受信部に送るようになっている。変形例1におけるデータ入出力部321は、少なくとも制御部320外にある送受信部との間でデータをやり取りするようになっている。記録装置300における送受信部は、ユーザ端末100や補助暗号化端末200における送受信部と同じく、ネットワーク400を介して、ネットワーク400に接続された他の機器との間で通信を行う機能を有するものとなっている。送受信部からデータ入出力部321に入力されるデータは、マルチキャストの処理によってユーザ端末100から送られてくる2つのユーザIDが付された二重に暗号化された対象データである。また、二重に暗号化された対象データの検証が必要になった場合に、第三者の機器から記録装置300に、二重に暗号化された対象データの送信の要求が送られてくる場合があるが、かかる要求についてのデータも送受信部から、データ入出力部321へと送られてくる。他方、データ入出力部321から送受信部に送られるデータは、2つのユーザIDの付された二重に暗号化されたデータである。既に説明したように、対象データを監視していた第三者において対象データの検証が必要になった場合に、それらデータを記録装置300から当該第三者の機器に対して送れという上述の要求についてのデータを送信してくることがあるが、そのような要求についてのデータを記録装置300が受取った場合、後述するようにして、データ入出力部321から送受信部にその要求に応じたデータが送られる。それらデータは、送受信部から第三者の機器へと送信される。
 主制御部322は、制御部320にある各機能ブロックの全体的な制御を行う機能を有している。主制御部322は、データ入出力部321から、2つのユーザIDの付された二重に暗号化されたデータを受取った場合には、それをブロック生成部323に送るようになっている。主制御部322は、また、第三者の機器である、例えばデータの検証の対象となる対象データの生成とは無関係だったユーザのユーザ端末100から、データの検証の対象となる二重に暗号化された対象データの送信を要求された場合に、その要求により特定された二重に暗号化された対象データをそれに付されたユーザIDとともに記録部324から読出すようになっている。主制御部322は、記録部324から読出したそれらデータをデータ入出力部321へと送るようになっている。
 ブロック生成部323は、新規のブロックを生成して、それを記録部324に記録する機能を有している。ブロック生成部323が新規のブロックを生成する方法は、公知或いは周知の方法に従うことができる。例えば、ビットコインのブロックチェーンにおいて新たなブロックを生成する方法を、ブロック生成部323が新たなブロックを生成するために実行する方法として採用することができる。ブロック生成部323は、生成した新たなブロックを、記録部324に対して送るようになっている。ブロック生成部323は、生成した新たなブロックを、その直前のブロックに接続した状態として、記録部324に記録する。
 記録部324は、ブロック生成部323によって生成したブロックを記録する。記録部324に記録されるブロックは、それが生成された順番にしたがって連なっている。つまり、記録部324にはブロックチェーンが記録される。
 次に変形例1の通信システムの使用方法、及び動作について説明する。
 変形例1の通信システムは、対象データを保全するユーザ端末100が2つの場合でも、3つの場合でも、マルチキャストが行われるまでの処理はすべて第1実施形態の場合と変わらない。
 あるユーザ端末100からマルチキャストが行われ、ある記録装置300に、ユーザIDの付された二重に暗号化された対象データが送られたとする。
 そうすると、その記録装置300は、その送受信部でユーザIDの付された二重に暗号化された対象データを受取る。なお、以下の説明では、二重(多重)に暗号化された対象データを、「暗号化対象データ」と称する。ユーザIDの付された暗号化対象化データは、送受信部からデータ入出力部321へと送られ、データ入出力部321から、主制御部322へと送られる。
 主制御部322は、暗号化対象データを受取ると、それをブロック生成部323へと送る。これを受取ったブロック生成部323は、新たなブロックを生成する。ブロックのデータを概念的に説明すると、図10のようになる。各ブロックBには、暗号化対象データCを記録する記録スペースSと、その直前のブロックに対して何らかの演算を行って得た値である演算値Hが含まれている。演算値Hは例えば、その直前のブロックに対してハッシュ演算を行うことによって得られたハッシュ値である。
 例えば、n番目のブロックBまでが既に生成されており、ブロック生成部323がn+1番目のブロックBn+1を新たに生成するとする。BからBまでのブロックBは生成された順に接続されており、いわゆるブロックチェーンを構成している。ブロックBn+1を新たに生成する場合、ブロック生成部323は、記録部324からブロックBのデータを読出し、ブロックBのデータに対して、例えばハッシュ演算を行うことによってハッシュ値である演算値Hn+1を得る。ブロック生成部323は、記録スペースSn+1に、主制御部322から受取ったユーザIDの付された暗号化対象データを書込むとともに、記録スペースSn+1に演算値Hn+1を付加することにより、新たなブロックBn+1のデータを生成する。そして、ブロック生成部323は、この新たなブロックBn+1を、ブロックBに接続した状態で、記録部324に記録する。
 変形例1においても、第1実施形態の<2つのユーザ端末100が保全された対象データを復号化する場合>で説明した処理は基本的に、第1実施形態と同様に実行され得る。暗号化対象データの生成に関わったユーザ端末100が暗号化対象データを復号化する場合には、第1実施形態の場合と同じように、それらユーザ端末100が持っている暗号化対象データを復号化すれば良いのであるから、記録装置300の記録部324に記録されている暗号化対象データが使用されることは無い。
 他方、暗号化対象データの生成に関わったユーザ端末100等が暗号化対象データを復号化する場合には、そのユーザ端末100等から、記録装置300へ、暗号化対象データを送信せよという要求が送られる。かかる要求には、送信する暗号化対象データを特定する情報が当然に含まれる。かかる要求は、記録装置300の送受信部で受け取られる。かかる要求は、送受信部からデータ入出力部321を経て主制御部322へと送られる。主制御部322は、その要求によって特定される暗号化対象データを記録部324に記録されているブロックチェーンの中から読み出す。かかる暗号化対象データは、データ入出力部321を経て送受信部へと送られ、第1実施形態の場合と同様に、ユーザ端末100等へと送られる。そのユーザ端末100等が、その暗号化対象データを復号化することのできるユーザ端末100にその復号化を依頼すること、及びそれ以降の処理は、第1実施形態の場合と同じである。
 なお、変形例1についての上述の説明では、ブロックBの1つの記録スペースSに含まれる暗号化対象データは1つとされていた。それに対して、ブロックBの1つの記録スペースSに対して複数の暗号化対象データを含めることも可能である。例えば、ブロック生成部323は、主制御部322から暗号化対象データを受取る度に新しいブロックSを生成する代わりに、例えば主制御部322から決まった数の複数の暗号化対象データを受取る度に、或いはその前のブロックBを生成してから所定の時間が経過する度に、新しいブロックBを生成し、その直前に生成したブロックBが生成された後に主制御部322から受取ったすべてのユーザIDの付された暗号化対象データを、新たなブロックBの記録スペースSに書き込むようになっていても良い。後者の場合には記録スペースSに書き込まれる暗号化対象データが0又は単数の場合も生じることもあるであろうが、このようにすることで、ブロックBの記録スペースSに含まれる暗号化対象データの数を複数とすることが可能となる。
 また、第1実施形態で説明したように、ユーザ端末100から記録装置300へは、暗号化対象データだけでなく、その元になった対象データも送られる場合がある。その場合、各ブロックの記録スペースSに記録されるのは、ユーザIDの付された暗号化対象データのみでなく、暗号化対象データ及びその元になった対象データとなる。この場合、両データは互いに紐付けられた状態となる。記録スペースSには上述したように複数の暗号化対象データが記録される場合があるが、その場合にはかかる紐付けが必須となる。
<変形例2>
 変形例2による通信システムは、変形例1の通信システムと殆ど変わらない。変形例2は、特に言及しない点については、変形例1と変わらない。
 変形例2における通信システムも、変形例1の場合と同様に、ネットワーク400に接続可能な多数のユーザ端末100と、単数或いは複数の記録装置300とによって構成される。そして、変形例2の記録装置300においても、変形例1の場合と同様に、暗号化対象データは、ブロックチェーンを構成するブロックに含まれた状態で、記録装置300に記録される。
 変形例2の通信システムにおいて、暗号化対象データが含まれた新たなブロックは、ユーザ端末100で生成される。この点で、変形例2の通信システムは、新たなブロックが記録装置300で生成される変形例1の通信システムと異なっている。
 変形例2のユーザ端末100の構成について説明する。ハードウェア構成に関していえば変形例2のユーザ端末100は変形例1のユーザ端末100と同一である。異なるのは、その内部に生成される機能ブロックである。変形例2のユーザ端末100の内部に生成される機能ブロックについて説明する。
 変形例2のユーザ端末100の内部に生成される機能ブロックは、その殆どが変形例1乃至第1実施形態におけるユーザ端末100の内部に生成される機能ブロックと変わらないが、変形例2のユーザ端末100内に生成される機能ブロックには、変形例1の場合には存在しなかったブロック生成部125が存在する(図11)。
 かかるブロック生成部125は、変形例1で説明した変形例1の記録装置300内に存在したブロック生成部323と同様に、ブロックチェーンに接続される新たなブロックを生成する機能を有している。ブロック生成部125がどのようにしてブロックを生成するのかについては後述する。
 変形例2の記録装置300は、基本的に第1実施形態における記録装置300と同様に構成される。その記録部には、第1実施形態における記録装置300と同様に、ユーザIDが付された暗号化対象データが記録されるが、変形例2においては上述のように、暗号化対象データは、ブロックチェーンを構成するブロックの記録スペースに含まれた状態で記録されるという点で、第1実施形態と異なる。
 変形例2の通信システムの使用方法、及び動作について説明する。
 変形例2の通信システムの使用方法、及び動作は変形例1の場合と同様に、暗号化対象データを、対象データの保全を希望する複数のユーザの複数のユーザ端末100で共有するところまでは第1実施形態と変わらない。
 変形例2の通信システムにおける暗号化対象データを共有した複数のユーザ端末100のうちの一つは、第1実施形態又は変形例1のユーザ端末100と同様にマルチキャストを行おうとする。
 変形例2の通信システムにおけるマルチキャストを行おうとするユーザ端末100の主制御部121は、第1実施形態の場合と同様に、第1記録部123から、ユーザIDが付された暗号化対象データを読み出す。他方、主制御部121は、マルチキャストの対象となる記録装置300から、記録装置300の記録部に記録されているブロックチェーンを構成するブロックのうち、最新のものを送信せよとの要求を生成し、それをデータ入出力部122、送受信部、ネットワーク400を介して、記録装置300に送信する。これを受取った記録装置300は、最新のブロックのデータを、ネットワーク400を介してユーザ端末100に送る。マルチキャストの対象となる記録装置300が複数である場合には、複数の記録装置300からユーザ端末100へブロックのデータが送られてくる。各記録装置300の記録部に記録されているブロックチェーンを構成する最新のブロックは記録装置300毎に異なる場合があり、その場合には各記録装置300から送られてくるブロックのデータは異なるものとなる。
 ブロックのデータは、ユーザ端末100の送受信部によって受け取られ、データ入出力部122を経て、主制御部121へと送られる。これにより、変形例2のユーザ端末100における主制御部121は、ユーザIDの付された暗号化対象データと、ブロックチェーンを構成するブロックのうちの直前のブロックのデータを保持した状態となる。かかる状態は、新たなブロックを生成する直前における、変形例1の記録装置300内のブロック生成部323の状態と同じである。つまり、変形例2のブロック生成部125は、変形例1のブロック生成部323と同じ方法で新たなブロックを生成することができる。変形例2のブロック生成部125はそうやって新たなブロックのデータを生成する。ブロック生成部125は、主制御部121から複数の記録装置300からのブロックのデータを受付けた場合には、それらブロックのデータのそれぞれに基いて、各記録装置300用の新たなブロックのデータを生成する。
 ブロック生成部125は新たなブロックのデータを生成したら、それを主制御部121へと送る。新たなブロックのデータが複数生成されたのであれば、それらはすべて主制御部121へと送られる。主制御部121の制御下において、新たなブロックのデータのそれぞれは、対応する例えば複数の記録装置300へとそれぞれ送られる。
 各記録装置300は、そのそれぞれの記録部に記録されていたブロックチェーンの最も新しいブロックに、ユーザ端末100から送られてきた新たなブロックを接続して記録する。このようにして更新されたブロックチェーンは、変形例1の場合と同じものとすることができ、変形例2ではそうなるようになっている。
 変形例2における、第1実施形態の<2つのユーザ端末100が保全された対象データを復号化する場合>で説明した処理は、変形例1で説明した処理と同一である。
<変形例3>
 変形例3は、第2実施形態における記録装置300を、変形例1における記録装置300のように変形した通信システムである。
 変形例3の記録装置300は、ユーザ端末100のみならず、補助暗号化端末200から受付けたユーザIDの付された暗号化対象データに基いて新たなブロックを生成して、それをその直前のブロックチェーンの末尾のブロックに接続する場合がある。また、ユーザ端末100と補助暗号化端末200とは、ユーザIDの付された暗号化対象データと、その暗号化対象データの元となった対象データとを記録装置300に送る場合がある。ユーザ端末100と補助暗号化端末200のどちらから受取ったに関わらず、記録装置300は、その記録部に、ユーザID、暗号化対象データ、暗号化対象データの元となった対象データとを互いに紐付けた状態で記録する。
 変形例3の通信システムの動作、及び使用方法は変形例1に準じるのでその説明を省略する。
<変形例4>
 変形例4は、第2実施形態におけるユーザ端末100及び補助暗号化端末200を、変形例2におけるユーザ端末100のように変形した通信システムである。記録装置300も変形例2における記録装置300と同様である。
 変形例4のユーザ端末100又は補助暗号化端末200は、変形例2の場合と同様に、マルチキャストを行う直前に新たなブロックを生成する。ブロックのデータは、変形例2で生成されるものと同じである。各記録装置300へは、ユーザ端末100又は補助暗号化端末200から新たなブロックが送られ、各記録装置300は、変形例2の場合と同様に、その記録部に記録されていたブロックチェーンを構成するブロックのうち末尾に位置するものに、ユーザ端末100又は記録装置300から受取った新たなブロックを接続する。
 変形例4の通信システムの動作、及び使用方法は変形例2に準じるのでその説明を省略する。

Claims (41)

  1.  所定のネットワークを介して互いに通信可能であるとともに、それらがそれぞれ他とは異なる方法で所定のデータを復号化可能に暗号化することができるようになっている暗号化部を備えており、且つそれらのユーザが共に保全することを希望するデータである対象データをそれらのうちの一つが保有している複数の通信装置にて実行される方法であって、
     複数の前記通信装置のすべてが、前記対象データ、又はそれを暗号化したデータを前記ネットワークを介して互いに送受信しながら、前記通信装置がそれぞれ有する前記暗号化部によって次々に暗号化する暗号化過程、
     複数の前記通信装置のすべてが、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを、前記ネットワークを介して送受信することにより共有する共有過程、
     を含んでいる、
     方法。
  2.  前記暗号化過程では、所定のネットワークを介して互いに通信可能であり、それらがそれぞれ他とは異なる方法で、且つ複数の前記通信装置の前記暗号化部とも異なる方法で所定のデータを復号化可能に暗号化することができるようになっている補助暗号化部を有している1つ以上の補助通信装置のすべてと、複数の前記通信装置のすべてとが、前記対象データ、又はそれを暗号化したデータを前記ネットワークを介して互いに送受信しながら、前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とによって次々に暗号化する、
     請求項1記載の方法。
  3.  前記共有過程では、複数の前記通信装置のすべてと、前記補助通信装置の少なくとも1つとが、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを、前記ネットワークを介して送受信することにより共有する、
     請求項2記載の方法。
  4.  前記複数の前記通信装置の1つが、前記ネットワークに接続されている、データの記録が可能な記録装置に、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを送信して、前記記録装置に複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを記録させる記録過程を含む、
     請求項1記載の方法。
  5.  前記複数の前記通信装置と、前記補助通信装置のうちの前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを持つものが、前記ネットワークに接続されている、データの記録が可能な記録装置に、前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを送信して、前記記録装置に前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを記録させる記録過程を含む、
     請求項3記載の方法。
  6.  前記記録過程で前記記録装置に記録されている複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データを、前記ネットワークに接続されている機器に対して公開された状態とする、
     請求項4記載の方法。
  7.  前記記録過程で前記記録装置に記録されている前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データを、前記ネットワークに接続されている機器に対して公開された状態とする、
     請求項5記載の方法。
  8.  所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、所定のデータを前記第1暗号化部と異なる方法で復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにて実行される方法であって、
     前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを、前記第1暗号化部で暗号化して第1暗号化対象データを生成する第1暗号化過程、
     前記第1通信装置が、前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信過程、
     前記第2通信装置が、前記第1通信装置から前記第1暗号化対象データを前記ネットワークを介して受取る第1受信過程、
     前記第2通信装置が、前記第1暗号化対象データを、前記第2暗号化部で暗号化して第2第1暗号化対象データを生成する第2暗号化過程、
     前記第2通信装置が、前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信過程、
     前記第1通信装置が、前記第2通信装置から前記第2第1暗号化対象データを前記ネットワークを介して受取る第2受信過程、
     を含む、方法。
  9.  所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、所定のデータを前記第1暗号化部と異なる方法で復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける前記第1通信装置にて実行される方法であって、
     前記第1通信装置が実行する、
     前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して第1暗号化対象データを生成する第1暗号化過程、
     前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信過程、
     前記第2通信装置が、前記第1通信装置から前記ネットワークを介して受取った前記第1暗号化対象データを、前記第2暗号化部で暗号化して生成された第2第1暗号化対象データを、前記ネットワークを介して前記第2通信装置から受取る第2受信過程、
     を含む、方法。
  10.  前記第1通信装置が、前記第1暗号化過程と、前記第1送信過程と、前記第2受信過程とを、自動的に実行する、
     請求項9記載の方法。
  11.  前記第1通信装置が、前記ネットワークに接続されている、データの記録が可能な記録装置に前記第2第1暗号化対象データを送信して、前記記録装置に前記第2第1暗号化対象データを記録させる過程を含む、
     請求項9又は10記載の方法。
  12.  所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、所定のデータを前記第1暗号化部と異なる方法で復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける前記第2通信装置にて実行される方法であって、
     前記第2通信装置が実行する、
     前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して生成された第1暗号化対象データを、前記第1通信装置から前記ネットワークを介して受取る第1受信過程、
     前記第1暗号化対象データを、前記第2暗号化部で暗号化して第2第1暗号化対象データを生成する第2暗号化過程、
     前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信過程、
     を含む、方法。
  13.  前記第2通信装置が、前記第1受信過程と、前記第2暗号化過程と、前記第2送信過程とを、自動的に実行する、
     請求項12記載の方法。
  14.  前記第2通信装置が、前記ネットワークに接続されている、データの記録が可能な記録装置に前記第2第1暗号化対象データを送信して、前記記録装置に前記第2第1暗号化対象データを記録させる過程を含む、
     請求項12又は13記載の方法。
  15.  所定のネットワークを介して互いに通信可能である、第1通信装置と、所定のデータを復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける第1通信装置であって、
     前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第2暗号化部と異なる方法で暗号化して第1暗号化対象データを生成する第1暗号化部と、
     前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信部と、
     前記第2通信装置が、前記第1通信装置から前記ネットワークを介して受取った前記第1暗号化対象データを、前記第2暗号化部で暗号化して生成された第2第1暗号化対象データを、前記ネットワークを介して前記第2通信装置から受取る第1受信部と、
     を含む、第1通信装置。
  16.  所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、第2通信装置と、を含んでなる通信システムにおける第2通信装置であって、
     前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して生成された第1暗号化対象データを、前記第1通信装置から前記ネットワークを介して受取る第2受信部と、
     前記第1暗号化対象データを前記第1暗号化部と異なる方法で暗号化して第2第1暗号化対象データを生成する第2暗号化部と、
     前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信部と、
     を含む、第2通信装置。
  17.  所定のネットワークを介して互いに通信可能である、第1通信装置と、所定のデータを復号化可能に暗号化することができる第2暗号化部を有する第2通信装置と、を含んでなる通信システムにおける第1通信装置として所定のコンピュータを機能させるためのコンピュータプログラムであって、
     前記コンピュータを、
     前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第2暗号化部と異なる方法で暗号化して第1暗号化対象データを生成する第1暗号化部と、
     前記第1暗号化対象データを前記ネットワークを介して前記第2通信装置に送信する第1送信部と、
     前記第2通信装置が、前記第1通信装置から前記ネットワークを介して受取った前記第1暗号化対象データを、前記第2暗号化部で暗号化して生成された第2第1暗号化対象データを、前記ネットワークを介して前記第2通信装置から受取る第1受信部と、
     して機能させるためのコンピュータプログラム。
  18.  所定のネットワークを介して互いに通信可能である、所定のデータを復号化可能に暗号化することができる第1暗号化部を有する第1通信装置と、第2通信装置と、を含んでなる通信システムにおける第2通信装置として所定のコンピュータを機能させるためのコンピュータプログラムであって、
     前記コンピュータを、
     前記第1通信装置が、前記第1通信装置と前記第2通信装置とのユーザがともに保全することを希望するデータである対象データを前記第1暗号化部で暗号化して生成された第1暗号化対象データを、前記第1通信装置から前記ネットワークを介して受取る第2受信部と、
     前記第1暗号化対象データを前記第1暗号化部と異なる方法で暗号化して第2第1暗号化対象データを生成する第2暗号化部と、
     前記第2第1暗号化対象データを前記ネットワークを介して前記第1通信装置に送信する第2送信部と、
     して機能させるためのコンピュータプログラム。
  19.  複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置が、送信の対象となる前記暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項4記載の方法。
  20.  複数の前記通信装置と、前記補助通信装置のうちの前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置又は補助通信装置が、送信の対象となる前記暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項5記載の方法。
  21.  複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記記録過程で前記記録装置が、前記通信装置から受取った前記暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項4記載の方法。
  22.  複数の前記通信装置と、前記補助通信装置のうちの前記通信装置がそれぞれ有する前記暗号化部と、前記補助通信装置のすべてがそれぞれ有する前記補助暗号化部とで暗号化された前記対象データである暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記記録過程で前記記録装置が、前記通信装置又は前記補助通信装置から受取った前記暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項5記載の方法。
  23.  1つの前記ブロックに含まれる前記暗号化対象データは1つ以上であり、
     前記記録過程で前記記録装置は、前記通信装置から1つ以上の前記暗号化対象データを受取った後の所定のタイミングで、その直前の前記ブロックが生成されて以降に受取った1つ以上の前記暗号化対象データを含む前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項21又は22記載の方法。
  24.  前記記録過程で前記通信装置が、複数の前記通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データと、当該暗号化対象データの元となった前記対象データとを前記記録装置に送信し、
     前記記録装置は、前記暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録する、
     請求項4記載の方法。
  25.  前記記録過程で前記通信装置又は前記補助通信装置が、複数の前記通信装置及び前記補助通信装置の前記暗号化部のすべてで暗号化された前記対象データである暗号化対象データと、当該暗号化対象データの元となった前記対象データとを前記記録装置に送信し、
     前記記録装置は、前記暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録する、
     請求項5記載の方法。
  26.  前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが含まれており、
     前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置が、送信の対象となる前記暗号化対象データと、その元となった前記対象データとを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項19記載の方法。
  27.  前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが含まれており、
     前記記録過程で前記記録装置に前記暗号化対象データを送信する前記通信装置又は補助通信装置が、送信の対象となる前記暗号化対象データと、その元となった前記対象データとを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項20記載の方法。
  28.  前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが、前記暗号化対象データ及びその元となった前記対象データを互いに紐付けた状態で含まれており、
     前記記録過程で前記記録装置は、前記通信装置から受取った前記暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項21記載の方法。
  29.  前記ブロックには、前記暗号化対象データと、当該暗号化対象データの元となった前記対象データと、前記演算値とが、前記暗号化対象データ及びその元となった前記対象データを互いに紐付けた状態で含まれており、
     前記記録過程で前記記録装置は、前記通信装置又は前記補助通信装置から受取った前記暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項22記載の方法。
  30.  前記第2第1暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記第1通信装置は、
     送信の対象となる前記第2第1暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項11記載の方法。
  31.  請求項11記載の方法に続けて、前記記録装置が実行する方法であって、
     前記第2第1暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記記録装置は、前記第1通信装置から受取った前記第2第1暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     方法。
  32.  1つの前記ブロックに含まれる前記第2第1暗号化対象データは1つ以上であり、
     前記記録装置は、前記第1通信装置から1つ以上の前記第2第1暗号化対象データを受取った後の所定のタイミングで、その直前の前記ブロックが生成されて以降に受取った1つ以上の前記第2第1暗号化対象データを含む前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項31記載の方法。
  33.  前記第1通信装置が、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データとを前記記録装置に送信し、
     前記記録装置は、前記第2第1暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録する、
     請求項11記載の方法。
  34.  前記ブロックには、前記第2第1暗号化対象データと、当該第2第1対象データの元となった前記対象データと、前記演算値とが含まれており、
     前記第1通信装置は、送信の対象となる前記第2第1暗号化対象データと、その元となった前記対象データとを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項30記載の方法。
  35.  前記ブロックには、前記第2第1暗号化対象データと、当該第2第1対象データの元となった前記対象データと、前記演算値とが、前記第2第1暗号化対象データ及び前記対象データとを互いに紐付けられた状態で含まれており、
     前記記録装置は、前記第1通信装置から受取った前記第2第1暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項31記載の方法。
  36.  前記第2第1暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記第2通信装置は、
     送信の対象となる前記第2第1暗号化対象データを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項14記載の方法。
  37.  請求項14記載の方法に続けて、前記記録装置が実行する方法であって、
     前記第2第1暗号化対象データは、データの集合であるブロックであって、その直前のブロックに接続されるものに含まれた状態で前記記録装置に記録されるようになっているとともに、前記ブロックのそれぞれにはその直前のブロックに対して所定の演算を行って得られる値である演算値が含まれるようになっており、
     前記記録装置は、前記第2通信装置から受取った前記第2第1暗号化対象データに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     方法。
  38.  1つの前記ブロックに含まれる前記第2第1暗号化対象データは1つ以上であり、
     前記記録装置は、前記第2通信装置から1つ以上の前記第2第1暗号化対象データを受取った後の所定のタイミングで、その直前の前記ブロックが生成されて以降に受取った1つ以上の前記第2第1暗号化対象データを含む前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項37記載の方法。
  39.  前記第2通信装置が、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データとを前記記録装置に送信し、
     前記記録装置は、前記第2第1暗号化対象データと、その元となった前記対象データとを、互いに紐付けた状態で記録する、
     請求項14記載の方法。
  40.  前記ブロックには、前記第2第1暗号化対象データと、当該第2第1対象データの元となった前記対象データと、前記演算値とが含まれており、
     前記第2通信装置は、送信の対象となる前記第2第1暗号化対象データと、その元となった前記対象データとを含む前記ブロックを生成して、それを前記記録装置に送信する、
     請求項36記載の方法。
  41.  前記ブロックには、前記第2第1暗号化対象データと、当該第2第1暗号化対象データの元となった前記対象データと、前記演算値とが、前記第2第1暗号化対象データ及び前記対象データとを互いに紐付けられた状態で含まれており、
     前記記録装置は、前記第2通信装置から受取った前記第2第1暗号化対象データと、その元になった前記対象データとに基づき前記ブロックを生成し、それをその直前の前記ブロックに接続する、
     請求項37記載の方法。
PCT/JP2018/025163 2017-07-03 2018-07-03 第1通信装置、第2通信装置、方法、コンピュータプログラム WO2019009275A2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18829093.6A EP3651406A4 (en) 2017-07-03 2018-07-03 FIRST COMMUNICATION DEVICE, SECOND COMMUNICATION DEVICE, METHOD AND COMPUTER PROGRAM
US16/626,902 US20200267133A1 (en) 2017-07-03 2018-07-03 First communication device, second communication device, method, and computer program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017-130407 2017-07-03
JP2017130407 2017-07-03
JP2017177056A JP7321481B2 (ja) 2017-07-03 2017-09-14 第1通信装置、第2通信装置、方法、コンピュータプログラム
JP2017-177056 2017-09-14

Publications (2)

Publication Number Publication Date
WO2019009275A2 true WO2019009275A2 (ja) 2019-01-10
WO2019009275A3 WO2019009275A3 (ja) 2019-02-28

Family

ID=64950926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/025163 WO2019009275A2 (ja) 2017-07-03 2018-07-03 第1通信装置、第2通信装置、方法、コンピュータプログラム

Country Status (1)

Country Link
WO (1) WO2019009275A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887098A (zh) * 2021-01-08 2021-06-01 广州骏泰商贸有限公司 一种基于区块链的数据保全方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225550A (ja) * 1994-02-10 1995-08-22 Hitachi Software Eng Co Ltd データ多段階参照方法およびデータ多段階参照システム
JP4067614B2 (ja) * 1996-10-30 2008-03-26 富士通株式会社 ネットワーク環境における取り引き証明装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887098A (zh) * 2021-01-08 2021-06-01 广州骏泰商贸有限公司 一种基于区块链的数据保全方法
CN112887098B (zh) * 2021-01-08 2022-07-22 深圳前海用友力合科技服务有限公司 一种基于区块链的数据保全方法

Also Published As

Publication number Publication date
WO2019009275A3 (ja) 2019-02-28

Similar Documents

Publication Publication Date Title
US11184394B1 (en) Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system
JP6811317B2 (ja) ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元
KR102409819B1 (ko) 분산 거래 전파 및 검증 시스템
CN108781161B (zh) 用于控制和分发数字内容的区块链实现的方法
JP7482982B2 (ja) ブロックチェーンにおけるコンピュータ実行方法、システム及び記憶媒体
Goyal et al. Storing and retrieving secrets on a blockchain
CN101569132B (zh) 用于分发数据和保护数据安全的系统和方法
JP2020532168A (ja) 閾ボールトを生成する、コンピュータにより実施される方法
US10423961B1 (en) System and method for operating a proactive digital currency ledger
CN110300973A (zh) 联盟区块链网络的建立
CN108377187A (zh) 一种基于生物特征的区块链私钥使用方法与装置
JP6296630B1 (ja) 分散型台帳システムおよびプログラム
JP6040313B2 (ja) マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
CA2808369A1 (en) System for protecting an encrypted information unit
JP6709243B2 (ja) 情報処理装置
Skudnov Bitcoin clients
CN111738857B (zh) 应用于区块链的隐匿支付证明的生成与验证方法及装置
Zhang et al. Rational quantum secret sharing scheme based on GHZ state
Sui et al. AuxChannel: Enabling efficient bi-directional channel for scriptless blockchains
JP7321481B2 (ja) 第1通信装置、第2通信装置、方法、コンピュータプログラム
WO2019009275A2 (ja) 第1通信装置、第2通信装置、方法、コンピュータプログラム
Reddy et al. Optimal blowfish algorithm-based technique for data security in cloud
JP2006185184A (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
Taşcı Decentralized secure multiparty computation
Sundaram et al. PROTECTION ARMED FORCES USING BLOCKCHAINS: A POSITION OF THE TALENT ANALYSIS

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

ENP Entry into the national phase in:

Ref document number: 2018829093

Country of ref document: EP

Effective date: 20200203