JP6326173B1 - Data transmission / reception system and data transmission / reception method - Google Patents

Data transmission / reception system and data transmission / reception method Download PDF

Info

Publication number
JP6326173B1
JP6326173B1 JP2017210459A JP2017210459A JP6326173B1 JP 6326173 B1 JP6326173 B1 JP 6326173B1 JP 2017210459 A JP2017210459 A JP 2017210459A JP 2017210459 A JP2017210459 A JP 2017210459A JP 6326173 B1 JP6326173 B1 JP 6326173B1
Authority
JP
Japan
Prior art keywords
terminal device
data
block
setting information
block chain
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017210459A
Other languages
Japanese (ja)
Other versions
JP2019083447A (en
Inventor
昌治 米多比
昌治 米多比
修 長浜
修 長浜
竜太郎 箱崎
竜太郎 箱崎
陽平 関塚
陽平 関塚
洋一 磯部
洋一 磯部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INFOMART CORPORATION
Original Assignee
INFOMART CORPORATION
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INFOMART CORPORATION filed Critical INFOMART CORPORATION
Priority to JP2017210459A priority Critical patent/JP6326173B1/en
Application granted granted Critical
Publication of JP6326173B1 publication Critical patent/JP6326173B1/en
Publication of JP2019083447A publication Critical patent/JP2019083447A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】利用者間での円滑なデータの送受信を可能とする。【解決手段】第1端末装置10は、データを格納部に格納する。第1端末装置10は、格納部に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する。第1端末装置10は、暗号化された位置情報及び設定情報位を含むブロックをブロックチェーンに追加する。第2端末装置20は、ブロックがブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する。第2端末装置20は、復号化された位置情報及び設定情報を用いて格納部にアクセスし、データを格納部から取得する。【選択図】図1Smooth transmission / reception of data between users is made possible. A first terminal device 10 stores data in a storage unit. The first terminal device 10 encrypts position information indicating the position of data stored in the storage unit and setting information set as information used to acquire the data. The first terminal apparatus 10 adds a block including the encrypted position information and setting information position to the block chain. When a block is added to the block chain, the second terminal device 20 decodes position information and setting information included in the block. The second terminal device 20 accesses the storage unit using the decrypted position information and setting information, and acquires data from the storage unit. [Selection] Figure 1

Description

本発明は、不特定多数ノードにおけるデータ送受信システム及びデータ送受信方法に関する。   The present invention relates to a data transmission / reception system and a data transmission / reception method in an unspecified number of nodes.

一般的に、企業間の電子商取引(EC:Electronic Commerce)においては、多くのクラウドベンダまたはEDI(Electronic Data Interchange)事業者によって提供されるネットワーク(システム)を介して、商取引に関するデータ(例えば、受発注のメッセージ)等の送受信(交換)が行われている。   In general, in electronic commerce (EC) between companies, data related to commerce (for example, receiving data) via a network (system) provided by many cloud vendors or EDI (Electronic Data Interchange) operators. (Messages for ordering) and the like are exchanged (exchanged).

このような技術に関連して、例えば特許文献1には、ユーザ間で互いの身分を明かすことなくメッセージを交換し、匿名での交渉を実現することが開示されている。   In relation to such a technique, for example, Patent Document 1 discloses that messages are exchanged between users without revealing each other's identity, and anonymous negotiation is realized.

特開2011−166226号公報JP 2011-166226 A

しかしながら、近年では、多数のクラウドベンダ及びEDI事業者が存在しており、複数の電子商取引ネットワーク(ECネットワーク)が存在している状況である。   However, in recent years, there are a large number of cloud vendors and EDI providers, and there are a plurality of electronic commerce networks (EC networks).

このような状況においては、ECネットワーク(プラットフォーム)毎に個別のプロトコルまたはI/F仕様が規定されているため、異なるECネットワークを利用する企業間におけるデータの送受信にはコストがかかる。また、例えば取引先のために新規のECネットワークを利用する場合、その都度、当該ECネットワークの仕様(固有の接続及びデータ送受信等)に対応する必要があり、時間がかかる。   In such a situation, since individual protocols or I / F specifications are defined for each EC network (platform), it is expensive to send and receive data between companies using different EC networks. Further, for example, when a new EC network is used for a business partner, it is necessary to correspond to the specifications of the EC network (unique connection and data transmission / reception) each time, which takes time.

このため、例えば企業のような利用者間でのデータの送受信を円滑に行うことが可能な仕組みが望まれている。   For this reason, for example, a mechanism capable of smoothly transmitting and receiving data between users such as companies is desired.

そこで、本発明の目的は、利用者間での円滑なデータの送受信を可能にするデータ送受信システム及びデータ送受信方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a data transmission / reception system and a data transmission / reception method that enable smooth data transmission / reception between users.

本発明の1つの態様によれば、ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備えるデータ送受信システムが提供される。前記第1端末装置は、前記データを格納手段に格納する格納処理手段と、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、ハッシュ関数に基づいて前記データのハッシュ値を算出する第1算出手段と、前記算出されたハッシュ値に対して前記第1端末装置の秘密鍵で署名することによって署名ハッシュを生成する署名手段と、前記暗号化された位置情報及び設定情報と前記生成された署名ハッシュとを含むブロックを前記ブロックチェーンに追加する制御手段とを含む。前記第2端末装置は、過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持する保持手段と、前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる署名ハッシュと前記保持手段に保持されている署名ハッシュとを比較することによって、前記第1端末装置から前記第2端末装置への前記データの二重送信をチェックする第1チェック処理手段と、前記データの二重送信でない場合、前記ブロックチェーンに追加されたブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段とを含む。 According to one aspect of the present invention, a data transmission / reception system including a first terminal device and a second terminal device that transmit and receive data using a block chain is provided. The first terminal device is set as storage processing means for storing the data in the storage means, position information indicating the position of the data stored in the storage means, and information used for acquiring the data. Encryption means for encrypting the setting information, first calculation means for calculating a hash value of the data based on a hash function, and signing the calculated hash value with the secret key of the first terminal device Signing means for generating a signature hash, and control means for adding a block including the encrypted position information and setting information and the generated signature hash to the block chain. The second terminal device, the holding means for holding a signature hash included the additional block to the block chain in the past, when the block is added to the block chain, a signature hash included in the block A first check processing means for checking double transmission of the data from the first terminal device to the second terminal device by comparing with a signature hash held in the holding means; If not transmission, the decoding means for decoding the position information and setting information included in the block added to the block chain, the storage means is accessed using the decoded position information and setting information, Access processing means for obtaining data from the storage means.

本発明は、利用者間での円滑なデータの送受信を可能とする。   The present invention enables smooth data transmission / reception between users.

本発明の実施形態に係るデータ送受信システムにおけるネットワーク構成の一例を示す図。The figure which shows an example of the network structure in the data transmission / reception system which concerns on embodiment of this invention. データ送受信システムにおける送信端末の機能構成の一例を示す図。The figure which shows an example of a function structure of the transmission terminal in a data transmission / reception system. データ送受信システムにおける受信端末の機能構成の一例を示す図。The figure which shows an example of a function structure of the receiving terminal in a data transmission / reception system. 送信端末の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of a transmission terminal. ブロックチェーンに追加されるブロックのデータ構造の一例を示す図。The figure which shows an example of the data structure of the block added to a block chain. 受信端末の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of a receiving terminal.

以下、図面を参照して、本発明の実施形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本実施形態に係るデータ送受信システムにおけるネットワーク構成の一例を示す。本実施形態に係るデータ送受信システムは、例えば端末装置10(第1端末装置)及び端末装置20(第2端末装置)を備え、当該端末装置10及び端末装置20をそれぞれ利用する利用者(例えば、企業)間でメッセージファイルのようなデータを送受信(交換)するための処理を実行する。本実施形態に係るデータ送受信システムは、ブロックチェーンを利用して実現されるものとする。   FIG. 1 shows an example of a network configuration in the data transmission / reception system according to the present embodiment. The data transmission / reception system according to the present embodiment includes, for example, a terminal device 10 (first terminal device) and a terminal device 20 (second terminal device), and users who use the terminal device 10 and the terminal device 20 respectively (for example, A process for transmitting / receiving (exchanging) data such as a message file between companies) is executed. The data transmission / reception system according to the present embodiment is realized using a block chain.

ここで、ブロックチェーンは、例えばビットコイン(登録商標)と称される仮想通貨決済システムで用いられる分散型の台帳システムである。このブロックチェーンを利用する場合、図1に示すデータ送受信システムはピア・ツー・ピア(P2P)型のシステムである。   Here, the block chain is a distributed ledger system used in a virtual currency settlement system called Bitcoin (registered trademark), for example. When this block chain is used, the data transmission / reception system shown in FIG. 1 is a peer-to-peer (P2P) type system.

本実施形態に係るデータ送受信システムにおいて端末装置10及び20はP2Pネットワーク30に接続されているが、当該P2Pネットワーク30上には、当該端末装置10及び20を含む複数のノード(端末装置)が存在する。図1においては、端末装置10及び20以外のノードについては省略されている。   In the data transmission / reception system according to the present embodiment, the terminal devices 10 and 20 are connected to the P2P network 30, but there are a plurality of nodes (terminal devices) including the terminal devices 10 and 20 on the P2P network 30. To do. In FIG. 1, nodes other than the terminal devices 10 and 20 are omitted.

このようなデータ送受信システムにおいて例えば端末装置10から端末装置20に対してメッセージファイルが送信される場合、当該メッセージファイルに関する情報(以下、メッセージ情報と表記)は、P2Pネットワーク30上の複数のノードにブロードキャストされる。この場合、ブロードキャストされたメッセージ情報を複数のノード間で共有するための合意形成と称される処理が複数のノードにおいて行われた後、メッセージ情報は、ブロックと称される単位で分散データベースに記録(格納)される。   In such a data transmission / reception system, for example, when a message file is transmitted from the terminal device 10 to the terminal device 20, information on the message file (hereinafter referred to as message information) is transmitted to a plurality of nodes on the P2P network 30. Broadcast. In this case, after a process called consensus formation for sharing broadcast message information among a plurality of nodes is performed in a plurality of nodes, the message information is recorded in a distributed database in units called blocks. (Stored).

なお、本実施形態に係るデータ送受信システムにおいて、端末装置10及び20を含む複数のノードの各々は、ブロックが記録される分散データベースを構成するデータベースをそれぞれ管理している。   In the data transmission / reception system according to the present embodiment, each of a plurality of nodes including the terminal devices 10 and 20 manages a database constituting a distributed database in which blocks are recorded.

以下、本実施形態においては、各ノードにおいて管理されるデータベース(分散データベースを構成するデータベース)をブロックチェーンと称する。   Hereinafter, in this embodiment, a database (database constituting a distributed database) managed in each node is referred to as a block chain.

なお、上記したP2Pネットワーク30上のノード(端末装置)は、例えばクラウドベンダ(ESP)またはEDI事業者等によって用意される。   Note that the nodes (terminal devices) on the P2P network 30 described above are prepared by, for example, a cloud vendor (ESP) or an EDI provider.

以下、本実施形態に係るデータ送受信システムを構成する端末装置10及び20の機能構成について説明する。以下の説明においては、端末装置10から端末装置20にメッセージファイル(データ)が送信されるものとして説明する。   Hereinafter, the functional configuration of the terminal devices 10 and 20 configuring the data transmission / reception system according to the present embodiment will be described. In the following description, it is assumed that a message file (data) is transmitted from the terminal device 10 to the terminal device 20.

図2は、図1に示すデータ送受信システムにおける端末装置10の機能構成を示すブロック図である。本実施形態において、端末装置10は、上記したメッセージファイルを送信する送信端末であり、例えばパーソナルコンピュータ等によって実現され得る。この場合、端末装置10は、各種プログラムを格納する記憶装置及び当該プログラムを実行するコンピュータ等を備える。   FIG. 2 is a block diagram showing a functional configuration of the terminal device 10 in the data transmission / reception system shown in FIG. In the present embodiment, the terminal device 10 is a transmission terminal that transmits the above-described message file, and can be realized by a personal computer, for example. In this case, the terminal device 10 includes a storage device that stores various programs, a computer that executes the programs, and the like.

図2に示すように、端末装置(送信端末)10は、鍵生成部11、鍵管理部12、メッセージ処理部13、暗号化処理部14、制御部15及びブロックチェーン16を含む。   As illustrated in FIG. 2, the terminal device (transmission terminal) 10 includes a key generation unit 11, a key management unit 12, a message processing unit 13, an encryption processing unit 14, a control unit 15, and a block chain 16.

本実施形態において、各部11〜15は、上記した記憶装置(例えば、不揮発性メモリ等)に格納されているプログラムをコンピュータ(例えば、プロセッサ等)が実行すること(つまり、ソフトウェア)によって実現される機能部である。なお、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムは、例えばネットワークを介して端末装置10にダウンロードされても構わない。   In the present embodiment, each of the units 11 to 15 is realized by a computer (for example, a processor) executing a program stored in the above-described storage device (for example, a non-volatile memory) (that is, software). It is a functional part. This program can be stored in advance in a computer-readable storage medium and distributed. Moreover, this program may be downloaded to the terminal device 10 via a network, for example.

ここでは、各部11〜15がソフトウェアにより実現されるものとして説明したが、当該各部11〜15は、ハードウェアにより実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。   Here, although each part 11-15 was demonstrated as what is implement | achieved by software, the said each part 11-15 may be implement | achieved by hardware, and may be implement | achieved by the combination of software and hardware.

また、本実施形態において、ブロックチェーン16は、上記した分散データベースを構成するデータベースであり、例えばHHD及びSSD等の記憶装置によって実現され得る。   In the present embodiment, the block chain 16 is a database that constitutes the above-described distributed database, and can be realized by a storage device such as an HHD or an SSD.

鍵生成部11は、公開鍵暗号方式における公開鍵及び秘密鍵のペアを生成する。なお、公開鍵暗号方式については、一例としてRSA暗号等が利用可能である。以下、鍵生成部11によって生成された公開鍵は端末装置10(を利用する利用者)の公開鍵、鍵生成部11によって生成された秘密鍵は端末装置10(を利用する利用者)の秘密鍵と称する。   The key generation unit 11 generates a public key / private key pair in the public key cryptosystem. As an example of the public key cryptosystem, RSA cryptography can be used. Hereinafter, the public key generated by the key generation unit 11 is the public key of the terminal device 10 (user who uses the device), and the secret key generated by the key generation unit 11 is the secret of the terminal device 10 (user who uses the device). This is called a key.

鍵管理部12は、鍵生成部11によって生成された端末装置10の秘密鍵及び公開鍵を管理する。また、鍵管理部12は、例えば端末装置20を含むP2Pネットワーク30上の各ノード(を利用する利用者)の公開鍵を管理する。なお、各ノードの公開鍵は、端末装置10の公開鍵と交換される。すなわち、各ノードの公開鍵が端末装置10(鍵管理部12)において管理されるように、端末装置10の公開鍵は、P2Pネットワーク30上の各ノードにおいても管理される。   The key management unit 12 manages the secret key and public key of the terminal device 10 generated by the key generation unit 11. Further, the key management unit 12 manages the public key of each node (a user who uses the) on the P2P network 30 including the terminal device 20, for example. The public key of each node is exchanged with the public key of the terminal device 10. That is, the public key of the terminal device 10 is also managed in each node on the P2P network 30 so that the public key of each node is managed in the terminal device 10 (key management unit 12).

ここで、端末装置10においては、例えば当該端末装置10から端末装置20に対して送信するメッセージファイルを作成することができる。この場合、メッセージ処理部13は、端末装置10において作成されたメッセージファイルを取得する。なお、メッセージ処理部13は、端末装置10の外部で作成されたメッセージファイルを取得してもよい。   Here, in the terminal device 10, for example, a message file to be transmitted from the terminal device 10 to the terminal device 20 can be created. In this case, the message processing unit 13 acquires a message file created in the terminal device 10. Note that the message processing unit 13 may acquire a message file created outside the terminal device 10.

図2に示すように、端末装置10に対しては、格納部40が接続されているものとする。この格納部40は、上記したクラウドベンダまたはEDI事業者等によって用意される。   As illustrated in FIG. 2, it is assumed that a storage unit 40 is connected to the terminal device 10. The storage unit 40 is prepared by the above-described cloud vendor or EDI business operator.

この場合、メッセージ処理部13は、取得されたメッセージファイルを格納部40に格納(配置する)。メッセージ処理部13は、格納部40に格納されたメッセージファイルの位置(場所)を示す情報(位置情報)を取得する。なお、この位置情報としては、例えばURL(Uniform Resource Locator)が含まれる。   In this case, the message processing unit 13 stores (places) the acquired message file in the storage unit 40. The message processing unit 13 acquires information (position information) indicating the position (location) of the message file stored in the storage unit 40. The position information includes a URL (Uniform Resource Locator), for example.

なお、この格納部40は、例えばSFTP(SSH File Transfer Protocol)等のプロトコルに従ってP2Pネットワーク30上の複数のノードによってアクセス可能な限定公開ストアとして機能する。この限定公開ストアは、例えばP2Pネットワーク30上のノード毎に用意されているものとする。   The storage unit 40 functions as a limited public store accessible by a plurality of nodes on the P2P network 30 according to a protocol such as SFTP (SSH File Transfer Protocol). This limited public store is prepared for each node on the P2P network 30, for example.

メッセージ処理部13は、格納部40にアクセスする(つまり、当該格納部40からメッセージを取得する)ために用いられる情報(設定情報)としてアクセスID及びアクセスPASS(パスワード)を設定する。   The message processing unit 13 sets an access ID and an access PASS (password) as information (setting information) used for accessing the storage unit 40 (that is, obtaining a message from the storage unit 40).

暗号化処理部14は、上記した鍵管理部12によって管理されている各ノードの公開鍵のうち、メッセージファイルを受信する受信端末(つまり、メッセージファイルの送信先)である端末装置20の公開鍵を用いて、位置情報(URL)及び設定情報(アクセスID及びアクセスPASS)を暗号化する。   The encryption processing unit 14, among the public keys of each node managed by the key management unit 12, has the public key of the terminal device 20 that is a receiving terminal (that is, the message file transmission destination) that receives the message file. Is used to encrypt position information (URL) and setting information (access ID and access PASS).

制御部15は、例えばブロックチェーン16に対する処理を実行する機能部である。制御部15は、暗号化処理部14によって暗号化された位置情報及び設定情報を含むメッセージ情報を生成する。制御部15は、生成されたメッセージ情報を含むブロックをブロックチェーン16に追加する。   The control unit 15 is a functional unit that executes processing for the block chain 16, for example. The control unit 15 generates message information including the position information and setting information encrypted by the encryption processing unit 14. The control unit 15 adds a block including the generated message information to the block chain 16.

なお、制御部15によって生成されたメッセージ情報はP2Pネットワーク30上の各ノードにブロードキャストで送信されることにより、制御部15によって生成されたメッセージ情報を含むブロックは、PSPネットワーク30上の各ノードに含まれるブロックチェーン(分散データベース)に追加される。なお、メッセージ情報がブロードキャストで送信された後、当該メッセージ情報がブロックチェーンに追加されるまでの間には上記した合意形成等の処理が行われる。   The message information generated by the control unit 15 is broadcasted to each node on the P2P network 30, so that the block including the message information generated by the control unit 15 is transmitted to each node on the PSP network 30. Added to the included blockchain (distributed database). It should be noted that after the message information is transmitted by broadcast, the above-described process such as consensus formation is performed until the message information is added to the block chain.

図3は、図1に示すデータ送受信システムにおける端末装置20の機能構成を示すブロック図である。本実施形態において、端末装置20は、上記したメッセージ(データ)を受信する受信端末であり、端末装置10と同様に、例えばパーソナルコンピュータ等によって実現され得る。この場合、端末装置20は、各種プログラムを格納する記憶装置及び当該プログラムを実行するコンピュータ等を備える。   FIG. 3 is a block diagram showing a functional configuration of the terminal device 20 in the data transmission / reception system shown in FIG. In the present embodiment, the terminal device 20 is a receiving terminal that receives the above-described message (data), and can be realized by a personal computer or the like, for example, similarly to the terminal device 10. In this case, the terminal device 20 includes a storage device that stores various programs, a computer that executes the programs, and the like.

図3に示すように、端末装置(受信端末)20は、ブロックチェーン21、鍵生成部22、鍵管理部23、制御部24、復号化処理部25、アクセス処理部26及びチェック処理部27を含む。   As shown in FIG. 3, the terminal device (receiving terminal) 20 includes a block chain 21, a key generation unit 22, a key management unit 23, a control unit 24, a decryption processing unit 25, an access processing unit 26, and a check processing unit 27. Including.

本実施形態において、ブロックチェーン21は、上記した分散データベースを構成するデータベースであり、例えばHHD及びSSD等の記憶装置によって実現され得る。なお、上記したように送信端末(例えば、端末装置10)によってメッセージファイルが送信された場合、ブロックチェーン21には、ブロックチェーン16と同様に、当該メッセージファイルに関するメッセージ情報を含むブロックが追加される。   In the present embodiment, the block chain 21 is a database constituting the above-described distributed database, and can be realized by a storage device such as an HHD and an SSD, for example. As described above, when a message file is transmitted by a transmission terminal (for example, the terminal device 10), a block including message information related to the message file is added to the block chain 21 similarly to the block chain 16. .

また、本実施形態において、各部22〜27は、記憶装置(例えば、不揮発性メモリ等)に格納されているプログラムをコンピュータ(例えば、プロセッサ等)が実行すること(つまり、ソフトウェア)によって実現される機能部である。なお、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムは、例えばネットワークを介して端末装置20にダウンロードされても構わない。   In the present embodiment, the units 22 to 27 are realized by a computer (for example, a processor) executing a program stored in a storage device (for example, a non-volatile memory) (that is, software). It is a functional part. This program can be stored in advance in a computer-readable storage medium and distributed. Moreover, this program may be downloaded to the terminal device 20 via a network, for example.

ここでは、各部22〜27がソフトウェアにより実現されるものとして説明したが、当該各部22〜27は、ハードウェアにより実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。   Here, although each part 22-27 demonstrated as what is implement | achieved by software, each said part 22-27 may be implement | achieved by hardware and may be implement | achieved by the combination of software and hardware.

鍵生成部22は、公開鍵暗号方式における秘密鍵及び公開鍵のペアを生成する。なお、公開鍵暗号方式については、一例としてRSA暗号等が利用可能である。以下、鍵生成部22によって生成された秘密鍵は端末装置20(を利用する利用者)の秘密鍵、鍵生成部22によって生成された公開鍵は端末装置20(を利用する利用者)の公開鍵と称する。   The key generation unit 22 generates a private key / public key pair in the public key cryptosystem. As an example of the public key cryptosystem, RSA cryptography can be used. Hereinafter, the secret key generated by the key generation unit 22 is the secret key of the terminal device 20 (the user who uses the device), and the public key generated by the key generation unit 22 is the public key of the terminal device 20 (the user who uses the device). This is called a key.

鍵管理部23は、鍵生成部21によって生成された端末装置20の秘密鍵及び公開鍵を管理する。また、鍵管理部23は、例えば端末装置10を含むP2Pネットワーク30上の各ノードの公開鍵を管理する。なお、各ノードの公開鍵は、端末装置20の公開鍵と交換される。換言すれば、各ノードの公開鍵が端末装置20(鍵管理部23)において管理されるように、端末装置20の公開鍵は、P2Pネットワーク30上の各ノードにおいても管理される。   The key management unit 23 manages the secret key and public key of the terminal device 20 generated by the key generation unit 21. Further, the key management unit 23 manages the public key of each node on the P2P network 30 including, for example, the terminal device 10. The public key of each node is exchanged with the public key of the terminal device 20. In other words, the public key of the terminal device 20 is managed in each node on the P2P network 30 so that the public key of each node is managed in the terminal device 20 (key management unit 23).

制御部24は、例えばブロックチェーン21に対する処理を実行する機能部である。制御部24は、端末装置10から端末装置20に対して送信されたメッセージファイルに関するメッセージ情報を含むブロックがブロックチェーン21に追加された場合に、当該ブロックに含まれる位置情報及び設定情報を取得する。   The control unit 24 is a functional unit that executes processing for the block chain 21, for example. When a block including message information related to a message file transmitted from the terminal device 10 to the terminal device 20 is added to the block chain 21, the control unit 24 acquires position information and setting information included in the block. .

復号化処理部25は、上記した鍵管理部23によって管理されている端末装置20の秘密鍵を用いて、制御部24によって取得された位置情報及び設定情報を復号化する。   The decryption processing unit 25 decrypts the position information and the setting information acquired by the control unit 24 using the secret key of the terminal device 20 managed by the key management unit 23 described above.

ここで、端末装置20は、上記したように格納部40にアクセス可能である。このため、アクセス処理部26は、復号化処理部25によって復号化された位置情報(URL)及び設定情報(アクセスID及びアクセスPASS)を用いて格納部40にアクセスし、当該格納部40からメッセージファイルを取得する。   Here, the terminal device 20 can access the storage unit 40 as described above. Therefore, the access processing unit 26 accesses the storage unit 40 using the position information (URL) and setting information (access ID and access PASS) decrypted by the decryption processing unit 25, and sends a message from the storage unit 40. Get the file.

チェック処理部27は、アクセス処理部26によって取得されたメッセージファイルの正当性(改ざんの有無等)をチェックする処理を実行する。   The check processing unit 27 executes processing for checking the validity (such as the presence / absence of alteration) of the message file acquired by the access processing unit 26.

なお、本実施形態においては、端末装置10がメッセージファイルを送信する送信端末であり、端末装置20がメッセージファイルを受信する受信端末であるものとして説明するが、当該端末装置10が受信端末として動作し、当該端末装置20が送信端末として動作することも可能である。すなわち、端末装置10が図3において説明した端末装置20の機能構成を更に有していてもよいし、端末装置20が図2において説明した端末装置10の機能構成を更に有していてもよい。更に、ここではP2Pネットワーク30上の複数のノードのうちの端末装置10及び20についてのみ説明しているが、他のノードについても同様にメッセージをファイル送信及び受信することが可能である。   In the present embodiment, the terminal device 10 is described as a transmitting terminal that transmits a message file, and the terminal device 20 is a receiving terminal that receives a message file. However, the terminal device 10 operates as a receiving terminal. However, the terminal device 20 can also operate as a transmission terminal. That is, the terminal device 10 may further have the functional configuration of the terminal device 20 described in FIG. 3, or the terminal device 20 may further have the functional configuration of the terminal device 10 described in FIG. . Furthermore, although only the terminal devices 10 and 20 of the plurality of nodes on the P2P network 30 have been described here, it is possible to send and receive messages to other nodes in the same manner.

以下、本実施形態に係るデータ送受信システムの動作について説明する。ここでは、端末装置10においては、鍵生成部11によって端末装置10の秘密鍵及び公開鍵が生成されており、当該端末装置10の秘密鍵及び公開鍵と端末装置20(を含む各ノード)の公開鍵とが鍵管理部12によって管理されているものとする。同様に、端末装置20においては、鍵生成部22によって端末装置20の秘密鍵及び公開鍵が生成されており、当該端末装置20の秘密鍵及び公開鍵と端末装置10(を含む各ノード)の公開鍵とが鍵管理部23によって管理されているものとする。   The operation of the data transmission / reception system according to this embodiment will be described below. Here, in the terminal device 10, the secret key and public key of the terminal device 10 are generated by the key generation unit 11, and the secret key and public key of the terminal device 10 and the terminal device 20 (including each node) It is assumed that the public key is managed by the key management unit 12. Similarly, in the terminal device 20, the secret key and public key of the terminal device 20 are generated by the key generation unit 22, and the secret key and public key of the terminal device 20 and the terminal device 10 (including each node) It is assumed that the public key is managed by the key management unit 23.

なお、各ノードの公開鍵は、例えば当該ノード(を利用する利用者)を識別するための識別子に対応づけて管理されているものとする。   It is assumed that the public key of each node is managed in association with, for example, an identifier for identifying the node (a user who uses the node).

まず、図4のフローチャートを参照して、上記したメッセージファイルを送信する送信端末である端末装置10の処理手順について説明する。   First, with reference to the flowchart of FIG. 4, the process procedure of the terminal device 10 which is a transmission terminal which transmits the above message file will be described.

上記したように端末装置10において端末装置20(受信端末)に対して送信するメッセージファイルが作成された場合、メッセージ処理部13は、当該メッセージファイルを取得する(ステップS1)。   As described above, when a message file to be transmitted to the terminal device 20 (receiving terminal) is created in the terminal device 10, the message processing unit 13 acquires the message file (step S1).

ここで、上記したP2Pネットワーク30上の複数のノード(端末装置10及び20)には、各種データのハッシュ値を算出するための同一のハッシュ関数が予め用意されているものとする。ハッシュ関数は、同一の入力値から同一の出力値を算出するための一方向性関数である。一方向性関数とは、当該入力値から出力値を得ることは容易であるが、逆に、当該出力値から入力値を得ることが困難な関数である。なお、ハッシュ関数における出力値は、入力値に対して非常に小さな値である。本実施形態において、ハッシュ関数としては例えばSHA−1等を用いることができるが、他のハッシュ関数が用いられても構わない。   Here, it is assumed that the same hash function for calculating hash values of various data is prepared in advance in a plurality of nodes (terminal devices 10 and 20) on the P2P network 30 described above. The hash function is a one-way function for calculating the same output value from the same input value. A one-way function is a function that is easy to obtain an output value from the input value, but is difficult to obtain an input value from the output value. The output value in the hash function is a very small value with respect to the input value. In this embodiment, for example, SHA-1 or the like can be used as the hash function, but other hash functions may be used.

この場合、メッセージ処理部13は、上記したように予め用意されているハッシュ関数に基づいて、ステップS1において取得されたメッセージファイルのハッシュ値を算出する。メッセージ処理部13は、算出されたハッシュ値に対して鍵管理部12によって管理されている端末装置10の秘密鍵で署名することにより、署名ハッシュを生成する。   In this case, the message processing unit 13 calculates the hash value of the message file acquired in step S1 based on the hash function prepared in advance as described above. The message processing unit 13 generates a signature hash by signing the calculated hash value with the secret key of the terminal device 10 managed by the key management unit 12.

次に、メッセージ処理部13は、ステップS1において取得されたメッセージファイルを格納部40に格納(送信)する(ステップS3)。本実施形態においては、ステップS3においてメッセージファイルが格納部40に格納されることによって当該メッセージファイルの送信が完了される。このとき、メッセージ処理部13は、メッセージファイルの位置を示す位置情報としてURLを取得する。   Next, the message processing unit 13 stores (transmits) the message file acquired in step S1 in the storage unit 40 (step S3). In the present embodiment, the message file is stored in the storage unit 40 in step S3, whereby the transmission of the message file is completed. At this time, the message processing unit 13 acquires a URL as position information indicating the position of the message file.

また、メッセージ処理部13は、格納部40にアクセスしてメッセージファイルを取得するために用いられる設定情報としてアクセスID及びアクセスPASSを設定する(ステップS4)。なお、ステップS4において設定されるアクセスID及びアクセスPASSはランダムに生成される。   Further, the message processing unit 13 sets the access ID and the access PASS as setting information used for accessing the storage unit 40 and acquiring the message file (step S4). Note that the access ID and access PASS set in step S4 are randomly generated.

暗号化処理部14は、鍵管理部12によって管理されている端末装置20の公開鍵を用いて、上記したURL、アクセスID及びアクセスPASSを暗号化する(ステップS5)。   The encryption processing unit 14 encrypts the URL, access ID, and access PASS described above using the public key of the terminal device 20 managed by the key management unit 12 (step S5).

次に、制御部15は、上記したステップS2において生成された署名ハッシュ、ステップS5において暗号化されたURL、アクセスID及びアクセスPASS等を含むメッセージ情報を生成する(ステップS6)。   Next, the control unit 15 generates message information including the signature hash generated in step S2 described above, the URL encrypted in step S5, the access ID, the access PASS, and the like (step S6).

ステップS6の処理が実行されると、制御部15は、当該ステップS6において生成されたメッセージ情報をP2Pネットワーク30に対してブロードキャストで送信し、合意形成等の処理が実行することによって、当該メッセージ情報を含むブロックをブロックチェーン16に追加する(ステップS16)。なお、P2Pネットワーク30上のノード間でやり取りされる情報(メッセージファイル)の信頼性は、上記した合意形成によって担保される。   When the process of step S6 is executed, the control unit 15 broadcasts the message information generated in step S6 to the P2P network 30, and the process such as consensus formation executes the message information. Is added to the block chain 16 (step S16). Note that the reliability of information (message file) exchanged between nodes on the P2P network 30 is secured by the above-described consensus building.

なお、このような処理が端末装置10(送信端末)によって実行された場合、ステップS6において生成されたメッセージ情報を含むブロックは、他のノード(例えば、端末装置20)のブロックチェーンにも追加される。   When such processing is executed by the terminal device 10 (transmission terminal), the block including the message information generated in step S6 is also added to the block chain of another node (for example, the terminal device 20). The

ここで、図5は、ブロックチェーン16に追加されたブロック(メッセージ情報)のデータ構造の一例を示す。   Here, FIG. 5 shows an example of the data structure of the block (message information) added to the block chain 16.

図5に示すように、ブロックには、送信者ID、受信者ID、URL(暗号化済)、アクセスID(暗号化済)、アクセスPASS(暗号化済)、署名ハッシュ、ストアのプロトコル及びタイムスタンプ等が含まれている。   As shown in FIG. 5, the block includes a sender ID, a receiver ID, a URL (encrypted), an access ID (encrypted), an access PASS (encrypted), a signature hash, a store protocol, and a time. Stamps are included.

送信者IDは、メッセージファイルを送信する端末装置10(を利用する利用者)、つまり送信者を識別するための識別子である。送信者が企業である場合、当該企業に割り当てられている法人番号または端末装置10の公開鍵のハッシュ値(例えば、フィンガープリント)を送信者IDとして用いることができる。   The sender ID is an identifier for identifying the terminal device 10 (a user who uses the terminal device 10) that transmits the message file, that is, the sender. When the sender is a company, the corporate number assigned to the company or the hash value (for example, fingerprint) of the public key of the terminal device 10 can be used as the sender ID.

受信者IDは、メッセージファイルを受信する端末装置20(を利用する利用者)、つまり、受信者を識別するための識別子である。受信者が企業である場合、当該企業に割り当てられている法人番号または端末装置20の公開鍵のハッシュ値(例えば、フィンガープリント)を受信者IDとして用いることができる。   The receiver ID is an identifier for identifying the terminal device 20 that receives the message file (a user who uses the terminal device 20), that is, the receiver. When the recipient is a company, the corporate number assigned to the company or the hash value (for example, fingerprint) of the public key of the terminal device 20 can be used as the recipient ID.

なお、送信者ID及び受信者IDとして用いられるハッシュ値を算出するためのハッシュ関数としては、上記したように端末装置10において予め用意されているハッシュ関数を利用することができる。   As described above, a hash function prepared in advance in the terminal device 10 can be used as a hash function for calculating a hash value used as a sender ID and a receiver ID.

URL(暗号化済)は上記した図4に示すステップS5において端末装置20の公開鍵を用いて暗号化されたURLであり、このURLは、端末装置10から端末装置20に対して送信されたメッセージファイルの位置を示す情報である。   The URL (encrypted) is a URL encrypted using the public key of the terminal device 20 in step S5 shown in FIG. 4 described above. This URL is transmitted from the terminal device 10 to the terminal device 20. Information indicating the position of the message file.

アクセスID(暗号化済)は、上記した図4に示すステップS5において端末装置20の公開鍵を用いて暗号化されたアクセスIDである。アクセスPASS(暗号化済)は、上記した図4に示すステップS5において端末装置20の公開鍵を用いて暗号化されたアクセスPASSである。   The access ID (encrypted) is an access ID encrypted using the public key of the terminal device 20 in step S5 shown in FIG. The access PASS (encrypted) is an access PASS encrypted using the public key of the terminal device 20 in step S5 shown in FIG.

なお、アクセスID及びアクセスPASSは、メッセージファイルが格納された格納部40(限定公開ストア)にアクセスするために用いられる情報である。   The access ID and access PASS are information used to access the storage unit 40 (private store) in which the message file is stored.

署名ハッシュは、上記した図4に示すステップS2において生成された署名ハッシュである。   The signature hash is the signature hash generated in step S2 shown in FIG.

ストアのプロトコルは、メッセージファイルが格納された格納部40(限定公開ストア)において採用されているプロトコルを含む。なお、ストアのプロトコルには、SFTP、FTPS、FTP及びGET等が含まれる。   The store protocol includes a protocol employed in the storage unit 40 (private store) in which the message file is stored. The store protocol includes SFTP, FTPS, FTP, GET, and the like.

タイムスタンプは、メッセージファイルが作成された(または格納部40に格納された)時点を証明するために用いられるものであり、例えばメッセージファイルのハッシュ値及び時刻情報に対して署名することによって生成される。   The time stamp is used to prove the time when the message file is created (or stored in the storage unit 40), and is generated by, for example, signing the hash value and time information of the message file. The

次に、図6のフローチャートを参照して、上記したメッセージを受信する受信端末である端末装置20の処理手順について説明する。   Next, a processing procedure of the terminal device 20 that is a receiving terminal that receives the above-described message will be described with reference to a flowchart of FIG.

ここで、上記したように例えば端末装置10からメッセージファイルが送信された(つまり、格納部40に格納された)場合、図5に示すようなブロックが各ノードのブロックチェーンに追加される。   Here, as described above, for example, when a message file is transmitted from the terminal device 10 (that is, stored in the storage unit 40), blocks as shown in FIG. 5 are added to the block chain of each node.

このため、制御部24は、端末装置20に対するメッセージの送信を検出するために、ブロックチェーン21に追加されるブロックをポーリングする(ステップS11)。   For this reason, the control unit 24 polls a block added to the block chain 21 in order to detect transmission of a message to the terminal device 20 (step S11).

ここで、制御部24は、端末装置20に対するメッセージ送信が検出されたか否かを判定する(ステップS12)。ステップS12においては、端末装置20を利用する利用者(企業)を識別するための受信者ID(を含むメッセージ情報)を含むブロックがブロックチェーン21に追加された場合、当該端末装置20に対するメッセージの送信が検出される。一方、端末装置20を利用する利用者を識別するための受信者IDを含むブロックがブロックチェーン21に追加されない場合、当該端末装置20に対するメッセージの送信は検出されない。   Here, the control part 24 determines whether the message transmission with respect to the terminal device 20 was detected (step S12). In step S12, when a block including a receiver ID (including message information) for identifying a user (company) using the terminal device 20 is added to the block chain 21, a message for the terminal device 20 is A transmission is detected. On the other hand, when a block including a recipient ID for identifying a user who uses the terminal device 20 is not added to the block chain 21, transmission of a message to the terminal device 20 is not detected.

以下の説明において、端末装置20を利用する利用者を識別するための受信者IDを含むブロックを対象ブロック、当該対象ブロックに含まれるメッセージ情報を対象メッセージ情報と称する。   In the following description, a block including a recipient ID for identifying a user who uses the terminal device 20 is referred to as a target block, and message information included in the target block is referred to as target message information.

端末装置20に対するメッセージの送信が検出されないと判定された場合(ステップS12のNO)、ステップS11に戻って処理が繰り返される。   When it is determined that transmission of a message to the terminal device 20 is not detected (NO in step S12), the process returns to step S11 and is repeated.

一方、端末装置20に対するメッセージの送信が検出されたと判定された場合(ステップS12のYES)、チェック処理部27は、対象メッセージ情報に含まれる署名ハッシュに基づいて端末装置10から端末装置20へのメッセージファイルの二重送信をチェックする(ステップS13)。   On the other hand, when it is determined that the transmission of the message to the terminal device 20 is detected (YES in step S12), the check processing unit 27 transmits the message from the terminal device 10 to the terminal device 20 based on the signature hash included in the target message information. The double transmission of the message file is checked (step S13).

ここで、本実施形態において図6に示す処理は定期的に実行されるが、端末装置20(またはチェック処理部27)は、当該図6に示す処理が実行される度に、端末装置20を利用する利用者を識別する受信者IDを含むブロック(メッセージ情報)の署名ハッシュを保持しておく保持部(図示せず)を有するものとする。換言すれば、端末装置20においては、過去にブロックチェーン21に追加されたブロックに含まれる署名ハッシュ(つまり、当該端末装置20において既に受信されたメッセージファイルの署名ハッシュ)が保持される。なお、この署名ハッシュは、例えば予め定められた期間中保持され、当該期間の経過後には破棄(削除)される。   Here, in the present embodiment, the process illustrated in FIG. 6 is periodically executed. However, each time the process illustrated in FIG. 6 is executed, the terminal device 20 (or the check processing unit 27) Assume that a holding unit (not shown) that holds a signature hash of a block (message information) including a receiver ID for identifying a user to be used is assumed. In other words, the terminal device 20 holds the signature hash included in the block added to the block chain 21 in the past (that is, the signature hash of the message file already received by the terminal device 20). This signature hash is held for a predetermined period, for example, and discarded (deleted) after the period.

上記したようにメッセージファイルの署名ハッシュが当該メッセージファイルのハッシュ値に対して署名することによって生成されるものであるところ、例えば対象メッセージ情報に含まれる署名ハッシュと同一の署名ハッシュが既に端末装置20に保持されている場合には、図6に示す処理において受信するメッセージファイル(と同一のメッセージファイル)は既に端末装置20において受信されていることになる。   As described above, the signature hash of the message file is generated by signing the hash value of the message file. For example, the same signature hash as the signature hash included in the target message information already exists in the terminal device 20. In this case, the message file received in the processing shown in FIG. 6 (the same message file) has already been received by the terminal device 20.

このため、チェック処理部27は、端末装置20において保持されている署名ハッシュと対象メッセージ情報に含まれる署名ハッシュとを比較することによってメッセージファイルの二重送信をチェックすることができる。   Therefore, the check processing unit 27 can check the double transmission of the message file by comparing the signature hash held in the terminal device 20 with the signature hash included in the target message information.

チェック処理部27は、チェック結果に基づいてメッセージファイルの二重送信であるか否かを判定する(ステップS14)。ステップS14においては、対象メッセージ情報に含まれる署名ハッシュと同一の署名ハッシュが端末装置20において保持されている場合、メッセージファイルの二重送信であると判定される。一方、対象メッセージ情報に含まれる署名ハッシュと同一の署名ハッシュが端末装置20において保持されていない場合、メッセージファイルの二重送信でないと判定される。   The check processing unit 27 determines whether or not the message file is double-transmitted based on the check result (step S14). In step S14, when the same signature hash as the signature hash included in the target message information is held in the terminal device 20, it is determined that the message file is double-transmitted. On the other hand, if the same signature hash as the signature hash included in the target message information is not held in the terminal device 20, it is determined that the message file is not double-transmitted.

ステップS14においてメッセージファイルの二重送信であると判定された場合(ステップS14のYES)、当該メッセージファイルは端末装置20において既に受信されているため、図6に示す処理は終了される。   If it is determined in step S14 that the message file is double-transmitted (YES in step S14), the message file has already been received by the terminal device 20, and thus the processing shown in FIG.

一方、ステップS14においてメッセージファイルの二重送信でないと判定された場合(ステップS14のNO)、復号化処理部25は、対象メッセージ情報に含まれるURL、アクセスID及びアクセスPASSを取得する。   On the other hand, when it is determined in step S14 that the message file is not double-transmitted (NO in step S14), the decryption processing unit 25 acquires the URL, access ID, and access PASS included in the target message information.

ここで、対象メッセージ情報に含まれるURL、アクセスID及びアクセスPASSは、上記したように端末装置20の公開鍵を用いて暗号化されている。このため、復号化処理部25は、取得されたURL、アクセスID及びアクセスPASSを、鍵管理部23によって管理されている端末装置20の秘密鍵を用いて復号化する(ステップS15)。   Here, the URL, access ID, and access PASS included in the target message information are encrypted using the public key of the terminal device 20 as described above. Therefore, the decryption processing unit 25 decrypts the acquired URL, access ID, and access PASS using the secret key of the terminal device 20 managed by the key management unit 23 (step S15).

次に、アクセス処理部26は、ステップS15において復号化されたURL、アクセスID及びアクセスPASSと、対象メッセージ情報に含まれるストアのプロトコルとに基づいて端末装置10に対して用意されている格納部40(限定公開ストア)にアクセスし、当該格納部40に格納されているメッセージファイルを取得(受信)する(ステップS16)。   Next, the access processing unit 26 prepares for the terminal device 10 based on the URL, access ID, and access PASS decrypted in step S15, and the store protocol included in the target message information. 40 (private store) is accessed, and the message file stored in the storage unit 40 is acquired (received) (step S16).

なお、本実施形態においては各ノードから送信されるメッセージファイルが格納される限定公開ストアは当該ノード毎に用意されているが、上記したようにメッセージファイルに当該ストアのプロトコルが含まれていることにより、当該ノード毎にプロトコルの異なるストアが用いられたとしてもデータ送受信システムにおいては当該ストアにアクセスすることができる。   In this embodiment, a private store for storing a message file transmitted from each node is prepared for each node. However, as described above, the protocol for the store is included in the message file. Thus, even if a store having a different protocol for each node is used, the store can be accessed in the data transmission / reception system.

ステップS16の処理が実行されると、チェック処理部27は、対象メッセージ情報に含まれる署名ハッシュに基づいて当該ステップS16において取得されたメッセージファイルの正当性(改ざん等の有無)をチェックする(ステップS17)。   When the process of step S16 is executed, the check processing unit 27 checks the validity (presence of falsification) of the message file acquired in step S16 based on the signature hash included in the target message information (step S16). S17).

以下、ステップS17の処理について説明する。ステップS17において、チェック処理部27は、予め用意されているハッシュ関数に基づいて、ステップS16において取得されたメッセージファイルのハッシュ値(以下、第1ハッシュ値と表記)を算出する。   Hereinafter, the process of step S17 will be described. In step S17, the check processing unit 27 calculates a hash value (hereinafter referred to as a first hash value) of the message file acquired in step S16, based on a hash function prepared in advance.

次に、チェック処理部27は、対象メッセージ情報に含まれる送信者IDに対応づけて鍵管理部23によって管理されている端末装置10の秘密鍵を取得する。チェック処理部27は、取得された端末装置10の秘密鍵を用いて対象メッセージ情報に含まれる署名ハッシュを復号化することによって、当該署名ハッシュからメッセージファイルのハッシュ値(以下、第2ハッシュ値と表記)を取得する。   Next, the check processing unit 27 acquires the secret key of the terminal device 10 managed by the key management unit 23 in association with the sender ID included in the target message information. The check processing unit 27 decrypts the signature hash included in the target message information using the acquired secret key of the terminal device 10, thereby obtaining a hash value of the message file (hereinafter referred to as a second hash value) from the signature hash. (Notation).

ここで、上記した第1ハッシュ値と第2ハッシュ値とが異なる場合、署名ハッシュが生成された時点のメッセージファイルとステップS16において取得されたメッセージファイルとが異なるデータであることになり、当該メッセージファイルは例えば格納部40に格納された後に改ざんされている可能性がある。   If the first hash value and the second hash value are different from each other, the message file at the time when the signature hash is generated and the message file acquired in step S16 are different data, and the message For example, the file may have been tampered with after being stored in the storage unit 40.

このため、チェック処理部27は、第1ハッシュ値と第2ハッシュ値とを比較することによってメッセージファイルの正当性をチェックすることができる。   Therefore, the check processing unit 27 can check the validity of the message file by comparing the first hash value and the second hash value.

チェック処理部27は、チェック結果に基づいてステップS16において取得されたメッセージファイルが改ざんされているか否かを判定する(ステップS18)。ステップS18においては、第1ハッシュ値と第2ハッシュ値とが一致していない場合には、メッセージファイルが改ざんされている(可能性がある)と判定される。一方、第1ハッシュ値と第2ハッシュ値とが一致している場合には、メッセージファイルが改ざんされていないと判定される。   The check processing unit 27 determines whether or not the message file acquired in step S16 has been falsified based on the check result (step S18). In step S18, if the first hash value and the second hash value do not match, it is determined that the message file has been tampered (possibly). On the other hand, if the first hash value and the second hash value match, it is determined that the message file has not been tampered with.

ステップS18においてメッセージファイルが改ざんされていると判定された場合(ステップS18のYES)、図6に示す処理は終了される。   If it is determined in step S18 that the message file has been tampered with (YES in step S18), the processing shown in FIG. 6 is terminated.

一方、ステップS18においてメッセージファイルが改ざんされていないと判定された場合(ステップS18のNO)、当該メッセージファイルが例えば端末装置20に表示され、当該メッセージファイルの受信が完了する。   On the other hand, when it is determined in step S18 that the message file has not been tampered with (NO in step S18), the message file is displayed on the terminal device 20, for example, and reception of the message file is completed.

なお、上記したようにメッセージファイルの受信が完了した(つまり、格納部40からメッセージファイルが取得された)場合、制御部24は、当該メッセージファイルが端末装置20において受信されたことを示す受信確認情報(フラグ)を対象ブロック(に含まれる対象メッセージ情報)に追加する(積む)ことによって当該対象ブロックを更新する(ステップS19)。   When reception of the message file is completed as described above (that is, when the message file is acquired from the storage unit 40), the control unit 24 confirms reception indicating that the message file has been received by the terminal device 20. The target block is updated by adding (stacking) information (flag) to the target block (target message information included therein) (step S19).

また、端末装置20を利用する利用者は、上記したように端末装置20において受信されたメッセージファイルに関する業務処理が終了した場合、当該端末装置20に対して当該業務処理が終了したことを指示することができる。具体的には、例えば端末装置20において受信されたメッセージファイルが受発注メッセージであるような場合には、当該メッセージに関する受発注業務が終了した場合に、当該受発注業務が終了したことが端末装置20に対して指示される。   In addition, when the business process related to the message file received by the terminal device 20 is finished as described above, the user who uses the terminal device 20 instructs the terminal device 20 that the business process is finished. be able to. Specifically, for example, when the message file received at the terminal device 20 is an ordering / ordering message, the terminal device indicates that the ordering / ordering task has been terminated when the ordering / ordering task related to the message is terminated. 20 is instructed.

端末装置20に対してこのような指示がされた場合、制御部24は、端末装置20において受信されたメッセージファイルに関する業務処理が終了したことを示す処理済情報(フラグ)を対象ブロックに追加する(積む)ことによって当該対象ブロックを更新する(ステップS20)。   When such an instruction is given to the terminal device 20, the control unit 24 adds processed information (flag) indicating that the business process related to the message file received by the terminal device 20 has ended to the target block. The target block is updated by (stacking) (step S20).

なお、上記したステップS19及びS20における対象ブロックの更新は、上記したP2Pネットワーク30上の各ノードのブロックチェーンにおいて反映される。   Note that the update of the target block in steps S19 and S20 described above is reflected in the block chain of each node on the P2P network 30 described above.

上記したように本実施形態においては、ブロックチェーンを利用してデータを送受信する端末装置(第1端末装置)10及び端末装置(第2端末装置)20を備え、当該端末装置10は、メッセージファイル(データ)を格納部40に格納し、当該格納部40に格納されたメッセージファイルの位置を示す位置情報(URL)及び当該メッセージファイルを取得するために用いられる情報として設定されている設定情報(アクセスID及びアクセスPASS)を暗号化し、当該暗号化された位置情報及び設定情報を含むブロックをブロックチェーン16に追加する。また、端末装置20は、ブロックがブロックチェーン21に追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化し、当該復号化された位置情報及び設定情報を用いて格納部40にアクセスし、端末装置10から送信されたメッセージファイルを取得する。   As described above, the present embodiment includes the terminal device (first terminal device) 10 and the terminal device (second terminal device) 20 that transmit and receive data using a block chain, and the terminal device 10 includes a message file. (Data) is stored in the storage unit 40, position information (URL) indicating the position of the message file stored in the storage unit 40, and setting information set as information used to acquire the message file ( Access ID and access PASS) are encrypted, and a block including the encrypted position information and setting information is added to the block chain 16. In addition, when a block is added to the block chain 21, the terminal device 20 decodes the position information and setting information included in the block, and accesses the storage unit 40 using the decoded position information and setting information. The message file transmitted from the terminal device 10 is acquired.

本実施形態においては、このような構成により、端末装置10及び20を利用する利用者(例えば、企業)間での円滑なメッセージファイル(データ)の送受信が可能となる。   In the present embodiment, such a configuration enables smooth message file (data) transmission / reception between users (for example, companies) using the terminal devices 10 and 20.

具体的には、本実施形態においては、端末装置10における位置情報及び設定情報の暗号化は端末装置20の公開鍵を用いて行われ、端末装置20における位置情報及び設定情報の復号化は端末装置20の秘密鍵を用いて行われる。本実施形態においては、このような構成により、端末装置10から端末装置20に対してメッセージファイルが送信された場合、端末装置20のみが位置情報及び設定情報を復号化することができる。すなわち、本実施形態においては、メッセージファイルへのアクセスするために必要な情報を秘匿化し、メッセージファイルの送信先である端末装置20を利用する利用者以外の利用者がメッセージファイルを受信することを防止することができる。   Specifically, in the present embodiment, the location information and the setting information in the terminal device 10 are encrypted using the public key of the terminal device 20, and the location information and the setting information in the terminal device 20 are decrypted. This is done using the secret key of the device 20. In this embodiment, with such a configuration, when a message file is transmitted from the terminal device 10 to the terminal device 20, only the terminal device 20 can decode the position information and the setting information. That is, in this embodiment, information necessary for accessing the message file is concealed, and a user other than the user who uses the terminal device 20 that is the transmission destination of the message file receives the message file. Can be prevented.

また、端末装置10においては、ハッシュ関数に基づいてメッセージファイルのハッシュ値を算出し、当該算出されたハッシュ値に対して端末装置10の秘密鍵で署名することによって署名ハッシュを生成し、当該生成された署名ハッシュを含むブロックをブロックチェーン16に追加する。また、端末装置20においては、格納部40から取得されたメッセージファイルのハッシュ値をハッシュ関数に基づいて算出し、端末装置10の公開鍵を用いてブロックに含まれる署名ハッシュからハッシュ値を取得し、当該算出されたハッシュ値と当該取得されたハッシュ値とを比較することによって、当該メッセージファイルの正当性(改ざん等の有無)をチェックする。   The terminal device 10 calculates a hash value of the message file based on the hash function, generates a signature hash by signing the calculated hash value with the secret key of the terminal device 10, and generates the signature hash A block including the signed signature hash is added to the block chain 16. In the terminal device 20, the hash value of the message file acquired from the storage unit 40 is calculated based on the hash function, and the hash value is acquired from the signature hash included in the block using the public key of the terminal device 10. Then, by comparing the calculated hash value with the acquired hash value, the validity of the message file (presence of falsification, etc.) is checked.

本実施形態においては、このような構成により、例えばメッセージファイルが繰り返し転送されるような場合において当該メッセージファイルが改ざんされたか否か等をチェックする(検出する)ことが可能となる。ここではメッセージファイルの改ざんについてチェックするものとして説明したが、本実施形態においては、メッセージファイルの欠損等についても同様にチェックすることが可能である。また、上記したようにメッセージファイルは端末装置10の秘密鍵で署名されるため、端末装置20においては、メッセージファイルが端末装置10によって作成されたものであることを確認することができる。   In this embodiment, such a configuration makes it possible to check (detect) whether or not the message file has been tampered with when the message file is repeatedly transferred, for example. Here, the description has been made on the assumption that the message file has been tampered with. However, in the present embodiment, it is possible to check for a missing message file as well. Since the message file is signed with the private key of the terminal device 10 as described above, the terminal device 20 can confirm that the message file is created by the terminal device 10.

更に、本実施形態においては、端末装置20が過去にブロックチェーン21に追加されたブロックの署名ハッシュを保持しておき、当該保持されている署名ハッシュと新たにブロックチェーン21に追加されたブロックの署名ハッシュとを比較することによって、端末装置10から端末装置20へのメッセージファイルの二重送信をチェックする構成により、当該端末装置20において同一のメッセージファイルを複数回受信するようなことを防止することが可能となる。ここでは、署名ハッシュのみに基づいて二重送信をチェックするものとして説明したが、例えば署名ハッシュに加えてブロック(メッセージ情報)に含まれる送信者IDを用いても構わない。この場合、過去にブロックチェーンに追加されたブロックの送信者ID及び署名ハッシュを保持しておき、当該保持されている送信者ID及び署名ハッシュと新たにブロックチェーンに追加されたブロックの送信者ID及び署名ハッシュとがそれぞれ一致する場合に二重送信が検出されるようにしてもよい。   Furthermore, in this embodiment, the terminal device 20 holds a signature hash of a block that has been added to the block chain 21 in the past, and the stored signature hash and a block that has been newly added to the block chain 21. By comparing the signature hash with the configuration in which the double transmission of the message file from the terminal device 10 to the terminal device 20 is checked, the terminal device 20 is prevented from receiving the same message file multiple times. It becomes possible. Here, the description has been made assuming that double transmission is checked based only on the signature hash. However, for example, a sender ID included in a block (message information) may be used in addition to the signature hash. In this case, the sender ID and signature hash of the block added to the block chain in the past are held, and the held sender ID and signature hash and the sender ID of the block newly added to the block chain are stored. And double transmission may be detected when the signature hash and the hash match.

また、本実施形態においては、端末装置20がブロックチェーンに追加されるブロックをポーリングし、当該端末装置20(を利用する利用者)を識別するための識別子(受信者ID)を含むブロックがブロックチェーンに追加された場合に当該ブロックに含まれる位置情報及び設定情報を復号化してメッセージファイルを取得する。これによれば、端末装置20に対して送信された場合に、当該端末装置20においてメッセージファイルを確実に受信することが可能となる。   In the present embodiment, the terminal device 20 polls a block to be added to the block chain, and a block including an identifier (recipient ID) for identifying the terminal device 20 (a user who uses the block) is a block. When added to the chain, the position information and setting information included in the block are decrypted to obtain a message file. According to this, when transmitted to the terminal device 20, the message file can be reliably received by the terminal device 20.

また、本実施形態においては、端末装置20において格納部40からメッセージファイルが取得された場合、当該メッセージファイルが端末装置20において受信されたことを示す受信確認情報がブロックに追加されることによって当該ブロック(に含まれるメッセージ情報)が更新される。なお、このようなブロックの更新は、端末装置10を含む複数のノードのブロックチェーンにおいて反映される。これによれば、例えば端末装置10を利用する利用者は、端末装置10と端末装置20とが通信を行うことなく、当該端末装置10のブロックチェーン16において更新されたブロック中の受信確認情報に基づいて端末装置10によって送信されたメッセージファイルが端末装置20において受信されたことを確認することが可能となる。   In the present embodiment, when a message file is acquired from the storage unit 40 in the terminal device 20, the reception confirmation information indicating that the message file is received in the terminal device 20 is added to the block. The block (message information contained in) is updated. Such block updates are reflected in the block chains of a plurality of nodes including the terminal device 10. According to this, for example, a user who uses the terminal device 10 can update the reception confirmation information in the block updated in the block chain 16 of the terminal device 10 without communication between the terminal device 10 and the terminal device 20. Based on this, it is possible to confirm that the message file transmitted by the terminal device 10 has been received by the terminal device 20.

また、本実施形態においては、端末装置20を利用する利用者によってメッセージファイルに関する業務処理が終了したことが指示された場合、当該業務処理が終了したことを示す処理済情報がブロックに追加されることによって当該ブロック(に含まれるメッセージ情報)が更新される。なお、このようなブロックの更新は、上記したように端末装置10を含む複数のノードのブロックチェーンにおいて反映される。これによれば、例えば端末装置10を利用する利用者は、当該端末装置10と端末装置20とが通信を行うことなく、当該端末装置10のブロックチェーン16において更新されたブロック中の処理済情報に基づいて端末装置10から送信されたメッセージファイルに関する業務処理が終了したことを確認することができる。   Further, in the present embodiment, when the user using the terminal device 20 instructs that the business process related to the message file has ended, processed information indicating that the business process has ended is added to the block. As a result, the block (message information included in the block) is updated. Note that such block updates are reflected in the block chains of a plurality of nodes including the terminal device 10 as described above. According to this, for example, the user who uses the terminal device 10 does not communicate between the terminal device 10 and the terminal device 20, but the processed information in the block updated in the block chain 16 of the terminal device 10. It is possible to confirm that the business process relating to the message file transmitted from the terminal device 10 has ended based on the above.

なお、本実施形態に係るデータ送受信システムにおいてはブロックチェーンを利用してメッセージファイルを送受信する構成により、例えば端末装置10から端末装置20に対してメッセージファイルが送信される場合、当該メッセージファイルに関するメッセージ情報を含むブロックはP2Pネットワーク30上の複数のノードのブロックチェーンの各々に追加される。このような構成によれば、メッセージ送受信の当事者である端末装置10及び20を利用する利用者(つまり、送信者及び受信者)以外の第三者であっても、各ノードのブロックチェーンに追加されたブロック(メッセージ情報)により当該メッセージファイルが送信または受信されたことを証明(確認)することが可能である。   In the data transmission / reception system according to the present embodiment, when a message file is transmitted from the terminal device 10 to the terminal device 20, for example, when the message file is transmitted / received using a block chain, a message related to the message file is transmitted. A block containing information is added to each of the block chains of a plurality of nodes on the P2P network 30. According to such a configuration, even a third party other than a user (that is, a sender and a receiver) who uses the terminal devices 10 and 20 that are parties to message transmission / reception is added to the block chain of each node. It is possible to prove (confirm) that the message file has been transmitted or received by the block (message information).

すなわち、本実施形態においては、上記したように不要な通信を実行することなく、メッセージファイルの送信確認及び受信確認等を行うことが可能となる。なお、本実施形態においては、ブロックチェーンにより、メッセージファイルの送受信に関する記録(ブロック)が失われる可能性を極めて低くすることが可能である。   That is, in the present embodiment, it is possible to perform transmission confirmation and reception confirmation of a message file without performing unnecessary communication as described above. In the present embodiment, the possibility of losing a record (block) related to transmission / reception of a message file can be extremely reduced by the block chain.

また、本実施形態においては、上記したようにクラウドベンダまたはEDI事業者は限定公開ストアとしての格納部40及びノードとして動作する端末装置のみを用意すればよいため、当該クラウドベンダまたはEDI事業者等における負担(コスト)を軽減することができる。   Further, in the present embodiment, as described above, since the cloud vendor or EDI provider only needs to prepare the storage unit 40 as a private store and the terminal device that operates as a node, the cloud vendor or EDI provider, etc. The burden (cost) in can be reduced.

なお、本実施形態においては、格納部40にメッセージファイルを格納することによってメッセージファイルの送信が完了するため、当該メッセージファイルの送達を確実に行うことができる。   In this embodiment, since the message file is completely transmitted by storing the message file in the storage unit 40, the message file can be reliably delivered.

更に、本実施形態においては、上記したようにメッセージファイル自体はブロックに含まれないため、ネットワーク輻輳や各ノードの容量増大等を回避することができるとともに、メッセージのサイズ等を制限する必要もない。   Furthermore, in this embodiment, since the message file itself is not included in the block as described above, it is possible to avoid network congestion, increase in capacity of each node, and the like, and it is not necessary to limit the size of the message. .

また、本実施形態においては、設定情報としてのアクセスID及びアクセスPASSがランダムに生成される(つまり、毎回変更される)ため、堅固なセキュリティレベルでのメッセージファイルの送受信を実現することができる。   In this embodiment, since the access ID and the access PASS as the setting information are randomly generated (that is, changed every time), it is possible to realize transmission / reception of the message file with a firm security level.

また、本実施形態においては、ブロックチェーンに追加されるブロックにストアのプロトコルが含まれることにより、ノード毎に用意されるストア(格納部40)を柔軟に選択することが可能となる。   In the present embodiment, the store (storage unit 40) prepared for each node can be flexibly selected by including the store protocol in the block added to the block chain.

以上説明した構成によれば、シンプル(低コスト及び短期間)で、かつ、安全にメッセージファイル(データ)を送受信することが可能なデータ送受信システムを実現することが可能となる。   According to the configuration described above, it is possible to realize a data transmission / reception system that is simple (low cost and short period) and that can safely transmit and receive message files (data).

なお、本実施形態においては、公開鍵暗号方式における公開鍵及び秘密鍵が用いられるものとして説明したが、例えば共通鍵暗号方式における共通鍵等の他の方式における鍵が用いられるような構成であってもよい。   In the present embodiment, the public key and the private key in the public key cryptosystem are described as being used. However, for example, a key in another system such as a common key in the common key cryptosystem is used. May be.

また、本実施形態においてはP2Pネットワーク30上の端末装置10及び20を含む複数のノードの各々がブロックチェーン(分散データベースを構成するデータベース)を有するものとして説明したが、本実施形態においては、ブロックチェーンを有しない端末装置(ノード)がメッセージファイルを送受信することも可能である。   In the present embodiment, each of the plurality of nodes including the terminal devices 10 and 20 on the P2P network 30 has been described as having a block chain (a database constituting a distributed database). It is also possible for a terminal device (node) that does not have a chain to send and receive message files.

また、本実施形態においてはP2Pネットワーク30上のノード毎にストア(格納部40)が用意されているものとして説明したが、複数のノードが1つのストアを共有する構成としてもよい。   In the present embodiment, a store (storage unit 40) is prepared for each node on the P2P network 30, but a configuration may be adopted in which a plurality of nodes share one store.

また、1つのノード(端末装置10または20)を複数の利用者(パートナー等)が利用するような構成としてもよい。   Moreover, it is good also as a structure where several users (partners etc.) use one node (terminal device 10 or 20).

なお、上記した実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。   Note that the method described in the above embodiment is a program that can be executed by a computer, such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a magneto-optical disk (MO). ), And can be distributed in a storage medium such as a semiconductor memory.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。   In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。   In addition, an OS (operating system) operating on the computer based on an instruction of a program installed in the computer from the storage medium, MW (middleware) such as database management software, network software, and the like implement the present embodiment. A part of each process may be executed.

更に、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。   Furthermore, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.

また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。   Further, the number of storage media is not limited to one, and the case where the processing in the present embodiment is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.

なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。   The computer according to the present invention executes each process according to the present embodiment based on a program stored in a storage medium, and includes a single device such as a personal computer or a system in which a plurality of devices are connected to a network. Any configuration may be used.

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。   The computer in the present invention is not limited to a personal computer, but includes a processing unit, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. .

なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

10…端末装置(第1端末装置)、11…鍵生成部、12…鍵管理部、13…メッセージ処理部、14…暗号化処理部、15…制御部、16…ブロックチェーン、20…端末装置(第2端末装置)、21…ブロックチェーン、22…鍵生成部、23…鍵管理部、24…制御部、25…復号化処理部、26…アクセス処理部、27…チェック処理部、30…P2Pネットワーク、40…格納部。   DESCRIPTION OF SYMBOLS 10 ... Terminal device (1st terminal device), 11 ... Key generation part, 12 ... Key management part, 13 ... Message processing part, 14 ... Encryption processing part, 15 ... Control part, 16 ... Block chain, 20 ... Terminal apparatus (Second terminal device), 21 ... block chain, 22 ... key generation unit, 23 ... key management unit, 24 ... control unit, 25 ... decryption processing unit, 26 ... access processing unit, 27 ... check processing unit, 30 ... P2P network, 40... Storage unit.

Claims (10)

ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備えるデータ送受信システムであって、
前記第1端末装置は、
前記データを格納手段に格納する格納処理手段と、
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、
ハッシュ関数に基づいて前記データのハッシュ値を算出する第1算出手段と、
前記算出されたハッシュ値に対して前記第1端末装置の秘密鍵で署名することによって署名ハッシュを生成する署名手段と、
前記暗号化された位置情報及び設定情報と前記生成された署名ハッシュとを含むブロックを前記ブロックチェーンに追加する制御手段と
を含み、
前記第2端末装置は、
過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持する保持手段と、
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる署名ハッシュと前記保持手段に保持されている署名ハッシュとを比較することによって、前記第1端末装置から前記第2端末装置への前記データの二重送信をチェックする第1チェック処理手段と、
前記データの二重送信でない場合、前記ブロックチェーンに追加されたブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と
を含むデータ送受信システム。
A data transmission / reception system including a first terminal device and a second terminal device that transmit and receive data using a block chain,
The first terminal device
Storage processing means for storing the data in a storage means;
Encryption means for encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
First calculation means for calculating a hash value of the data based on a hash function;
Signing means for generating a signature hash by signing the calculated hash value with the secret key of the first terminal device;
Control means for adding a block including the encrypted location information and setting information and the generated signature hash to the block chain;
The second terminal device
Holding means for holding a signature hash included in a block added to the block chain in the past;
When the block is added to the block chain, by comparing the signature hash included in the block with the signature hash held in the holding unit, the first terminal device to the second terminal device First check processing means for checking double transmission of the data;
If it is not double transmission of the data, decoding means for decoding position information and setting information included in the block added to the block chain ;
A data transmission / reception system comprising: access processing means for accessing the storage means using the decoded position information and setting information, and acquiring the data from the storage means.
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備えるデータ送受信システムであって、  A data transmission / reception system including a first terminal device and a second terminal device that transmit and receive data using a block chain,
前記第1端末装置は、  The first terminal device
前記データを格納手段に格納する格納処理手段と、  Storage processing means for storing the data in a storage means;
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、  Encryption means for encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
前記暗号化された位置情報及び設定情報と前記第2端末装置を識別するための識別子とを含むブロックを前記ブロックチェーンに追加する制御手段と  Control means for adding a block including the encrypted position information and setting information and an identifier for identifying the second terminal device to the block chain;
を含み、  Including
前記第2端末装置は、  The second terminal device
前記ブロックチェーンに追加されるブロックをポーリングするポーリング手段と、  Polling means for polling blocks added to the blockchain;
前記第2端末装置を識別するための識別子を含むブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、  When a block including an identifier for identifying the second terminal device is added to the block chain, decoding means for decoding position information and setting information included in the block;
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と  Access processing means for accessing the storage means using the decrypted position information and setting information, and acquiring the data from the storage means;
を含む  including
データ送受信システム。  Data transmission / reception system.
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備えるデータ送受信システムであって、  A data transmission / reception system including a first terminal device and a second terminal device that transmit and receive data using a block chain,
前記第1端末装置は、  The first terminal device
前記データを格納手段に格納する格納処理手段と、  Storage processing means for storing the data in a storage means;
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、  Encryption means for encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加する制御手段と  Control means for adding a block including the encrypted position information and setting information to the block chain;
を含み、  Including
前記第2端末装置は、  The second terminal device
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、  When the block is added to the block chain, decoding means for decoding position information and setting information included in the block;
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と、  Access processing means for accessing the storage means using the decrypted position information and setting information, and acquiring the data from the storage means;
前記格納手段から前記データが取得された場合、当該データが前記第2端末装置において受信されたことを示す受信確認情報を前記ブロックに追加するブロック更新手段と  A block updating unit for adding reception confirmation information indicating that the data is received by the second terminal device to the block when the data is acquired from the storage unit;
を含む  including
データ送受信システム。  Data transmission / reception system.
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備えるデータ送受信システムであって、  A data transmission / reception system including a first terminal device and a second terminal device that transmit and receive data using a block chain,
前記第1端末装置は、  The first terminal device
前記データを格納手段に格納する格納処理手段と、  Storage processing means for storing the data in a storage means;
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、  Encryption means for encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加する制御手段と  Control means for adding a block including the encrypted position information and setting information to the block chain;
を含み、  Including
前記第2端末装置は、  The second terminal device
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、  When the block is added to the block chain, decoding means for decoding position information and setting information included in the block;
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と、  Access processing means for accessing the storage means using the decrypted position information and setting information, and acquiring the data from the storage means;
前記第2端末装置を利用する利用者によって前記取得されたデータに関する業務処理が終了したことが指示された場合、当該業務処理が終了したことを示す処理済情報を前記ブロックに追加するブロック更新手段と  A block updating unit for adding, to the block, processed information indicating that the business process has ended when a user using the second terminal device instructs that the business process related to the acquired data has ended; When
を含む  including
データ送受信システム。  Data transmission / reception system.
前記第1端末装置は、前記第2端末装置の公開鍵を管理する第1管理手段を更に含み、  The first terminal device further includes first management means for managing a public key of the second terminal device,
前記暗号化手段は、前記位置情報及び前記設定情報を前記第2端末装置の公開鍵を用いて暗号化し、  The encryption means encrypts the position information and the setting information using a public key of the second terminal device,
前記第2端末装置は、前記第2端末装置の秘密鍵を管理する第2管理手段を更に含み、  The second terminal device further includes second management means for managing a secret key of the second terminal device,
前記復号化手段は、前記位置情報及び前記設定情報を前記第2端末装置の秘密鍵を用いて復号化する  The decryption means decrypts the position information and the setting information using a secret key of the second terminal device.
請求項1〜4のいずれか一項に記載のデータ送受信システム。  The data transmission / reception system as described in any one of Claims 1-4.
前記第2端末装置は、  The second terminal device
前記ハッシュ関数に基づいて前記取得されたデータのハッシュ値を算出する第2算出手段と、  Second calculation means for calculating a hash value of the acquired data based on the hash function;
前記第1端末装置の公開鍵を用いて前記ブロックに含まれる署名ハッシュからハッシュ値を取得し、前記第2算出手段によって算出されたハッシュ値と当該取得されたハッシュ値とを比較することによって、前記アクセス処理手段によって取得されたデータの正当性をチェックする第2チェック処理手段と  By obtaining a hash value from the signature hash included in the block using the public key of the first terminal device, and comparing the hash value calculated by the second calculation means with the acquired hash value, Second check processing means for checking the validity of the data acquired by the access processing means;
を更に含む  Further includes
請求項1記載のデータ送受信システム。  The data transmission / reception system according to claim 1.
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備え、前記第1端末装置が格納処理手段、暗号化手段、第1算出手段、署名手段及び制御手段を備え、前記第2端末装置が保持手段、チェック処理手段、復号化手段及びアクセス処理手段を備えるデータ送受信システムが実行するデータ送受信方法であって、
前記格納処理手段が前記データを格納手段に格納するステップと、
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、
前記第1算出手段がハッシュ関数に基づいて前記データのハッシュ値を算出するステップと、
前記署名手段が前記算出されたハッシュ値に対して前記第1端末装置の秘密鍵で署名することによって署名ハッシュを生成するステップと、
前記制御手段が前記暗号化された位置情報及び設定情報と前記生成された署名ハッシュとを含むブロックを前記ブロックチェーンに追加するステップと、
前記保持手段が過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持するステップと、
前記ブロックが前記ブロックチェーンに追加された場合、前記チェック処理手段が、当該ブロックに含まれる署名ハッシュと前記保持手段に保持されている署名ハッシュとを比較することによって、前記第1端末装置から前記第2端末装置への前記データの二重送信をチェックするステップと、
前記復号化手段が前記データの二重送信でない場合、前記第2端末装置が前記ブロックチェーンに追加されたブロックに含まれる位置情報及び設定情報を復号化するステップと、
前記アクセス処理手段が前記第2端末装置が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと
を具備するデータ送受信方法。
A first terminal device and a second terminal device for transmitting and receiving data using a block chain , wherein the first terminal device comprises a storage processing means, an encryption means, a first calculation means, a signature means and a control means; the second terminal device holding means, check processing means, a data transmitting and receiving method in which data transmission and reception system Ru comprising decoding means and access processing means executes,
The storage processing means storing the data in the storage means;
The encryption means encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
The first calculating means calculating a hash value of the data based on a hash function;
Generating a signature hash by signing the calculated hash value with the secret key of the first terminal device;
The control means adding a block including the encrypted location information and setting information and the generated signature hash to the block chain;
The holding means holding a signature hash included in a block added to the blockchain in the past;
When the block is added to the block chain, the check processing unit compares the signature hash included in the block with the signature hash held in the holding unit, thereby causing the first terminal device to Checking the double transmission of the data to the second terminal device;
If the decoding means is not duplex transmission of the data, the second terminal device decodes position information and setting information included in the block added to the block chain ;
A method of transmitting and receiving data, comprising: the access processing means: the second terminal device accessing the storage means using the decoded location information and setting information, and acquiring the data from the storage means.
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備え、前記第1端末装置が格納処理手段、暗号化手段及び制御手段を備え、前記第2端末装置がポーリング手段、復号化手段及びアクセス処理手段を備えるデータ送受信システムが実行するデータ送受信方法であって、  A first terminal device that transmits and receives data using a block chain, and a second terminal device, wherein the first terminal device includes a storage processing unit, an encryption unit, and a control unit; A data transmission / reception method executed by a data transmission / reception system including a decryption unit and an access processing unit,
前記格納処理手段が前記データを格納手段に格納するステップと、  The storage processing means storing the data in the storage means;
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、  The encryption means encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
前記制御手段が前記暗号化された位置情報及び設定情報と前記第2端末装置を識別するための識別子とを含むブロックを前記ブロックチェーンに追加するステップと、  A step in which the control means adds a block including the encrypted location information and setting information and an identifier for identifying the second terminal device to the block chain;
前記ポーリング手段が前記ブロックチェーンに追加されるブロックをポーリングするステップと、  The polling means polling blocks added to the blockchain;
前記第2端末装置を識別するための識別子を含むブロックが前記ブロックチェーンに追加された場合、前記復号化手段が当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、  When a block including an identifier for identifying the second terminal device is added to the block chain, the decoding means decodes position information and setting information included in the block;
前記アクセス処理手段が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと  The access processing means accessing the storage means using the decrypted position information and setting information, and acquiring the data from the storage means;
を具備するデータ送受信方法。  A data transmission / reception method comprising:
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備え、前記第1端末装置が格納処理手段、暗号化手段及び制御手段を備え、前記第2端末装置が復号化手段、アクセス処理手段及びブロック更新手段を備えるデータ送受信システムが実行するデータ送受信方法であって、  A first terminal device that transmits and receives data using a block chain; and a second terminal device, the first terminal device includes a storage processing unit, an encryption unit, and a control unit; A data transmission / reception method executed by a data transmission / reception system including an access processing unit and a block update unit,
前記格納処理手段が前記データを格納手段に格納するステップと、  The storage processing means storing the data in the storage means;
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、  The encryption means encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
前記制御手段が前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加するステップと、  The control means adding a block containing the encrypted location information and setting information to the block chain;
前記ブロックが前記ブロックチェーンに追加された場合、前記復号化手段が当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、  When the block is added to the block chain, the decoding means decodes position information and setting information included in the block;
前記アクセス処理手段が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと、  The access processing means accessing the storage means using the decrypted position information and setting information, and acquiring the data from the storage means;
前記格納手段から前記データが取得された場合、前記ブロック更新手段が、当該データが前記第2端末装置において受信されたことを示す受信確認情報を前記ブロックに追加するステップと  When the data is acquired from the storage means, the block update means adds reception confirmation information indicating that the data is received at the second terminal device to the block;
を具備するデータ送受信方法。  A data transmission / reception method comprising:
ブロックチェーンを利用してデータを送受信する第1端末装置及び第2端末装置を備え、前記第1端末装置が格納処理手段、暗号化手段及び制御手段を備え、前記第2端末装置が復号化手段、アクセス処理手段及びブロック更新手段を備えるデータ送受信システムが実行するデータ送受信方法であって、  A first terminal device that transmits and receives data using a block chain; and a second terminal device, the first terminal device includes a storage processing unit, an encryption unit, and a control unit; A data transmission / reception method executed by a data transmission / reception system including an access processing unit and a block update unit,
前記格納処理手段が前記データを格納手段に格納するステップと、  The storage processing means storing the data in the storage means;
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、  The encryption means encrypting position information indicating the position of data stored in the storage means and setting information set as information used to acquire the data;
前記制御手段が前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加するステップと、  The control means adding a block containing the encrypted location information and setting information to the block chain;
前記ブロックが前記ブロックチェーンに追加された場合、前記復号化手段が当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、  When the block is added to the block chain, the decoding means decodes position information and setting information included in the block;
前記アクセス処理手段が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと、  The access processing means accessing the storage means using the decrypted position information and setting information, and acquiring the data from the storage means;
前記第2端末装置を利用する利用者によって前記取得されたデータに関する業務処理が終了したことが指示された場合、前記ブロック更新手段が、当該業務処理が終了したことを示す処理済情報を前記ブロックに追加するステップと  When it is instructed by the user who uses the second terminal device that the business process relating to the acquired data has been completed, the block update unit displays processed information indicating that the business process has been completed. Steps to add to
を具備するデータ送受信方法。  A data transmission / reception method comprising:
JP2017210459A 2017-10-31 2017-10-31 Data transmission / reception system and data transmission / reception method Active JP6326173B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017210459A JP6326173B1 (en) 2017-10-31 2017-10-31 Data transmission / reception system and data transmission / reception method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017210459A JP6326173B1 (en) 2017-10-31 2017-10-31 Data transmission / reception system and data transmission / reception method

Publications (2)

Publication Number Publication Date
JP6326173B1 true JP6326173B1 (en) 2018-05-16
JP2019083447A JP2019083447A (en) 2019-05-30

Family

ID=62143866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017210459A Active JP6326173B1 (en) 2017-10-31 2017-10-31 Data transmission / reception system and data transmission / reception method

Country Status (1)

Country Link
JP (1) JP6326173B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019215627A (en) * 2018-06-11 2019-12-19 富士通株式会社 Transaction management device, transaction management method and program
JP2020003897A (en) * 2018-06-26 2020-01-09 Phcホールディングス株式会社 Data management system and node device
JP2020013349A (en) * 2018-07-18 2020-01-23 株式会社デンソー History management method, history management device, and history management system
JP2020511808A (en) * 2018-12-19 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Shared secret based blockchain memory
JP2020155801A (en) * 2019-03-18 2020-09-24 株式会社野村総合研究所 Information management system and method therefor
JP2022039713A (en) * 2020-08-28 2022-03-10 ジャスミー株式会社 Terminal device and program
CN114697350A (en) * 2020-12-31 2022-07-01 福建凯米网络科技有限公司 Data storage method and storage medium based on block chain

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102164156B1 (en) * 2020-02-14 2020-10-13 주식회사 마이지놈박스 System and method for medical or genome data management using blockchain network

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224898A (en) * 1993-01-25 1994-08-12 Matsushita Electric Ind Co Ltd Ciphered electronic mail device
JP2001014235A (en) * 1999-07-02 2001-01-19 Fuji Xerox Co Ltd Electronic mail transmitter and electronic mail system
JP2004288085A (en) * 2003-03-25 2004-10-14 Dainippon Printing Co Ltd Method and device for registering file for transmission
JP2016208347A (en) * 2015-04-24 2016-12-08 国立大学法人 筑波大学 Literary work protection support apparatus
JP2017098806A (en) * 2015-11-26 2017-06-01 株式会社bitFlyer Existence proof program and existence proof server for electronic data
JP2017204707A (en) * 2016-05-10 2017-11-16 日本電信電話株式会社 Content distribution system, content distribution method, content generation device, and content generation program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224898A (en) * 1993-01-25 1994-08-12 Matsushita Electric Ind Co Ltd Ciphered electronic mail device
JP2001014235A (en) * 1999-07-02 2001-01-19 Fuji Xerox Co Ltd Electronic mail transmitter and electronic mail system
JP2004288085A (en) * 2003-03-25 2004-10-14 Dainippon Printing Co Ltd Method and device for registering file for transmission
JP2016208347A (en) * 2015-04-24 2016-12-08 国立大学法人 筑波大学 Literary work protection support apparatus
JP2017098806A (en) * 2015-11-26 2017-06-01 株式会社bitFlyer Existence proof program and existence proof server for electronic data
JP2017204707A (en) * 2016-05-10 2017-11-16 日本電信電話株式会社 Content distribution system, content distribution method, content generation device, and content generation program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"ブロックチェーン、IoTの革命児", 日経エレクトロニクス, vol. 第1182号, JPN6018004547, 20 July 2017 (2017-07-20), JP, pages 37 - 41 *
大橋盛徳ほか: "デジタルコンテンツのスマートプロパティ化に向けた情報登録方法の提案と実装", 研究報告セキュリティ心理学とトラスト(SPT), vol. 第2016-SPT-18巻,第3号, JPN6018004546, 5 May 2016 (2016-05-05), JP, pages 1 - 6 *
浅川直輝ほか: "ブロックチェーン過熱part3 4者が試す潜在能力", 日経コンピュータ, vol. 第916号, JPN6018004548, 7 July 2016 (2016-07-07), JP, pages 32 - 35 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019215627A (en) * 2018-06-11 2019-12-19 富士通株式会社 Transaction management device, transaction management method and program
JP7131106B2 (en) 2018-06-11 2022-09-06 富士通株式会社 Transaction management device, transaction management method and program
JP2020003897A (en) * 2018-06-26 2020-01-09 Phcホールディングス株式会社 Data management system and node device
JP7060463B2 (en) 2018-06-26 2022-04-26 Phcホールディングス株式会社 Data management system and node equipment
JP2020013349A (en) * 2018-07-18 2020-01-23 株式会社デンソー History management method, history management device, and history management system
JP7056430B2 (en) 2018-07-18 2022-04-19 株式会社デンソー History management method, history management device and history management system
JP2020511808A (en) * 2018-12-19 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Shared secret based blockchain memory
JP7005639B2 (en) 2018-12-19 2022-01-21 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Shared secret-based blockchain memory
JP7235941B2 (en) 2019-03-18 2023-03-09 株式会社野村総合研究所 Information management system and method
JP2020155801A (en) * 2019-03-18 2020-09-24 株式会社野村総合研究所 Information management system and method therefor
US11856085B2 (en) 2019-03-18 2023-12-26 Nomura Research Institute, Ltd. Information management system and method for the same
JP2022039713A (en) * 2020-08-28 2022-03-10 ジャスミー株式会社 Terminal device and program
CN114697350B (en) * 2020-12-31 2023-06-27 福建凯米网络科技有限公司 Data storage method and storage medium based on blockchain
CN114697350A (en) * 2020-12-31 2022-07-01 福建凯米网络科技有限公司 Data storage method and storage medium based on block chain

Also Published As

Publication number Publication date
JP2019083447A (en) 2019-05-30

Similar Documents

Publication Publication Date Title
JP6326173B1 (en) Data transmission / reception system and data transmission / reception method
US11171789B2 (en) System and method for implementing a resolver service for decentralized identifiers
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
JP3657396B2 (en) Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program
CN109496414B (en) Identifying a network node to which data is to be copied
US20230021047A1 (en) Identity-based public-key generation protocol
Serme et al. Enabling message security for RESTful services
US7457956B2 (en) Securing arbitrary communication services
CN1985461A (en) System and method for associating message addresses with certificates
EP3479540A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
US10122536B2 (en) Central certificate management
JP4997769B2 (en) Cryptographic communication system, key sharing method, and key providing apparatus
CN112307116A (en) Data access control method, device and equipment based on block chain
KR102298716B1 (en) Communication node, method of operating thereof and collaborative system
WO2011076274A1 (en) Usage control of digital data exchanged between terminals of a telecommunications network
JP2012160110A (en) File exchange system, file exchange server and file exchange program
CN114499836B (en) Key management method, device, computer equipment and readable storage medium
KR20210099814A (en) Digital property code management system based on blockchain and method thereof
JP5012574B2 (en) Common key automatic sharing system and common key automatic sharing method
KR20070062632A (en) Mobile message and file security implementation by cryptography
CN111797417A (en) File uploading method and device, storage medium and electronic device
WO2024166910A1 (en) Password sharing system, method, program, server device, and terminal device
JP4104315B2 (en) Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program
JP2010197980A (en) Certificate authority setting device for setting certificate authority which guarantees correctness of public key of each user in social network
CN113918971A (en) Block chain based message transmission method, device, equipment and readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171031

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171031

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180413

R150 Certificate of patent or registration of utility model

Ref document number: 6326173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250