[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6610814B2 - COMMUNICATION METHOD, DEVICE, AND PROGRAM - Google Patents

COMMUNICATION METHOD, DEVICE, AND PROGRAM Download PDF

Info

Publication number
JP6610814B2
JP6610814B2 JP2019022382A JP2019022382A JP6610814B2 JP 6610814 B2 JP6610814 B2 JP 6610814B2 JP 2019022382 A JP2019022382 A JP 2019022382A JP 2019022382 A JP2019022382 A JP 2019022382A JP 6610814 B2 JP6610814 B2 JP 6610814B2
Authority
JP
Japan
Prior art keywords
file
transaction
information
block chain
client terminal
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
JP2019022382A
Other languages
Japanese (ja)
Other versions
JP2019079577A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019022382A priority Critical patent/JP6610814B2/en
Publication of JP2019079577A publication Critical patent/JP2019079577A/en
Application granted granted Critical
Publication of JP6610814B2 publication Critical patent/JP6610814B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

分散ファイル共有ネットワークにおいてファイルを通信する通信方法、装置、及びプログラムに関する。   The present invention relates to a communication method, apparatus, and program for communicating files in a distributed file sharing network.

クライアント端末やIoT(Internet of Things)デバイス間のピアツーピア通信により、電子ファイルの情報を共有する分散ファイル共有技術が提案されている。電子ファイルのフォーマットとしては、HTML(Hyper Text Markup Language)やPDF(Portable Document Format)等が使用される。   A distributed file sharing technique for sharing information of an electronic file by peer-to-peer communication between client terminals and IoT (Internet of Things) devices has been proposed. As the format of the electronic file, HTML (Hyper Text Markup Language), PDF (Portable Document Format), or the like is used.

分散ファイル共有技術の具体的な実装例として、インタープラネタリーファイルシステム(IPFS:Interplanetary File System)が知られている。IPFSは、ピアツーピア通信による分散ファイル共有システムを、WWW(World Wide Web)サービスとして拡張した分散WEB技術で、Juan Benetが2015年に発表し、オープンソース化されているソフトウェア技術である。IPFSは、分散された環境下でHTTP(Hyper Text Transfer Protocol)通信方式によるファイルアクセスを可能にする。更に、IPFSでは、HTTPのサーバアドレスではなく、コンテンツに対して一意のハッシュ値アドレスが割り当てられ、以下の例のようなハッシュ値を指定したURL(Uniform Resource Locator)の形式でアドレス指定が行われる。
コンテンツアドレス例:QmRvPJi7GmNAFbJnVeEEhMCGtJsDEaJYVa4a52J9bqn1AN
アドレス指定方法:http://localhost:8080/ipfs/QmRvPJi7GmNAFbJnVeEEhMCGtJsDEaJYVa4a52J9bqn1AN/
As a specific implementation example of the distributed file sharing technology, an Interplanetary File System (IPFS) is known. IPFS is a distributed WEB technology that extends a distributed file sharing system based on peer-to-peer communication as a WWW (World Wide Web) service, and is a software technology that was announced by Juan Benet in 2015 and has been made open source. IPFS enables file access using an HTTP (Hyper Text Transfer Protocol) communication method in a distributed environment. Furthermore, in IPFS, a unique hash value address is assigned to content instead of an HTTP server address, and address specification is performed in the URL (Uniform Resource Locator) format specifying a hash value as in the following example. .
Content address example: QmRvPJi7GmNAFbJnVeEEhMCGtJsDEaJYVa4a52J9bqn1AN
Address specification method: http: // localhost: 8080 / ipfs / QmRvPJi7GmNAFbJnVeEEhMCGtJsDEaJYVa4a52J9bqn1AN /

これにより、IPFSでは、高速なコンテンツファイルの検索と取得が可能になる。IPFSは、従来のクラウド等に配備されたサーバによるコンテンツ配信やネットワークリソース浪費や耐障害性の問題を解決することが可能であり、サーバレスのコンテンツ配信技術として、分散されたクライアントだけで永続的にコンテンツを提供できる。   As a result, IPFS enables high-speed content file search and acquisition. IPFS can solve the problems of content distribution by servers deployed in the conventional cloud, etc., waste of network resources and fault tolerance, and it is a serverless content distribution technology that can be perpetuated only by distributed clients. Can provide content.

特開2011−70557号公報JP 2011-70557 A 特開2013−105227号公報JP 2013-105227 A

しかし、上述した従来の分散ファイル共有システムでは、ファイル発行やアクセスに関するユーザに紐づいた認証の仕組みがなく、アプリケーションさえインストールすれば、分散ファイル共有ネットワークにアクセスできてしまうという課題があった。   However, the conventional distributed file sharing system described above has a problem that there is no authentication mechanism associated with the user regarding file issuance and access, and if only an application is installed, the distributed file sharing network can be accessed.

そこで、本発明の1つの側面では、分散ファイル共有システムにおいて、高セキュアなファイル共有空間を構築することを目的とする。   Accordingly, an object of one aspect of the present invention is to construct a highly secure file sharing space in a distributed file sharing system.

態様の一例では、分散ファイル共有ネットワークに含まれるノード装置が実行する通信方法であって、端末で発生したイベントに関する情報をブロックチェーンを用いて前記分散ファイル共有ネットワークに含まれるノード装置間で共有し、イベントに関する情報を含むファイルを生成し、生成されたファイルを分散ファイル共有ネットワークに含まれるいずれかのノード装置で保持する。   An example of the aspect is a communication method executed by a node device included in a distributed file sharing network, wherein information related to an event occurring in a terminal is shared between the node devices included in the distributed file sharing network using a block chain. Then, a file including information on the event is generated, and the generated file is held in any node device included in the distributed file sharing network.

分散ファイル共有システムにおいて、高セキュアなファイル共有空間を構築することが可能となる。   In a distributed file sharing system, a highly secure file sharing space can be constructed.

本実施形態が対象とするユースケースの例を示す図である。It is a figure which shows the example of the use case which this embodiment makes object. IPFS等の分散ファイル共有システムにおいて高セキュアな情報共有サービスをクラウドサービスによって実現する構成例を示す図である。It is a figure which shows the structural example which implement | achieves a highly secure information sharing service by a cloud service in distributed file sharing systems, such as IPFS. 本実施形態の基本概念の説明図である。It is explanatory drawing of the basic concept of this embodiment. ブロックチェーンの説明図である。It is explanatory drawing of a block chain. 本実施形態における通信システムの構成例を示す図である。It is a figure which shows the structural example of the communication system in this embodiment. ファイル発行の処理例を示すシーケンス図である。It is a sequence diagram which shows the example of a process of file issuance. ファイル発行の処理例で使用されるトランザクションのデータフォーマット例を示す図である。It is a figure which shows the data format example of the transaction used by the process example of file issuance. ポータルファイルのデータフォーマット例を示す図である。It is a figure which shows the data format example of a portal file. ファイル発行の他の処理例を示すシーケンス図である。It is a sequence diagram which shows the other process example of file issuance. ファイルアクセスの処理例を示すシーケンス図である。It is a sequence diagram which shows the process example of a file access. ファイルアクセスの処理例で使用されるトランザクションのデータフォーマット例を示す図である。It is a figure which shows the data format example of the transaction used by the example of a file access process. 本実施形態のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of this embodiment. ファイル発行の処理例を示すフローチャートである。It is a flowchart which shows the example of a process of file issuance. ファイル発行の他の処理例を示すフローチャートである。It is a flowchart which shows the other process example of file issuance. ファイルアクセスの処理例を示すフローチャートである。It is a flowchart which shows the process example of file access.

以下、本発明を実施するための形態(以下、「本実施形態」と記載)について図面を参照しながら詳細に説明する。図1は、本実施形態が対象とするユースケースの例を示す図である。本実施形態は、ノード装置の一つであるクライアント端末やIoTデバイスのピアツーピア通信により、HTML、PDFやテキスト等の電子ファイル情報を共有する分散ファイル共有技術を用いて、次のようなサービスを実現するものである。例えば図1(a)のように、各IoTデバイスから収集される情報AからEが、各IoTデバイス103と一体の又は分離した各IoTゲートウェイで形成される分散ファイル共有ネットワーク101上で自律的にWEBサービス化され、共有される。或いは図1(b)のように、サプライチェーン上の原材料・部品の調達から、製造、在庫管理、販売、配送までの製品の工程情報AからEが、流通に関わる組織のクライアント端末104で形成される分散ファイル共有ネットワーク101上で共有される。分散ファイル共有ネットワーク上で共有される情報は、ユーザの端末から任意に状況確認102を行うことができる。   Hereinafter, modes for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings. FIG. 1 is a diagram illustrating an example of a use case targeted by the present embodiment. This embodiment realizes the following services using distributed file sharing technology that shares electronic file information such as HTML, PDF, text, etc. by peer-to-peer communication of a client terminal or IoT device which is one of node devices. To do. For example, as shown in FIG. 1A, information A to E collected from each IoT device is autonomously distributed on a distributed file sharing network 101 formed by each IoT gateway integrated with or separated from each IoT device 103. WEB service and shared. Alternatively, as shown in FIG. 1B, product process information A to E from procurement of raw materials and parts in the supply chain to manufacturing, inventory management, sales, and delivery is formed at the client terminal 104 of the organization involved in distribution. To be shared on the distributed file sharing network 101. Information shared on the distributed file sharing network can be arbitrarily checked 102 from the user's terminal.

本実施形態における分散ファイル共有ネットワーク101は例えば、前述したIPFSによって実現される。しかし、IPFSでは、以下のような課題がある。   The distributed file sharing network 101 in this embodiment is realized by, for example, the above-described IPFS. However, IPFS has the following problems.

1.ファイル発行やアクセスに関するユーザに紐づいた認証の仕組みがなく、アプリケーションさえインストールすれば、分散ファイル共有ネットワークにアクセスできてしまう。   1. There is no authentication mechanism linked to users regarding file issuance and access, and if you install only an application, you can access the distributed file sharing network.

2.ハッシュ値によるアドレッシングとアドレス指定によるファイル検索機能はあるものの、サービスとアドレスの関係を一元管理するリポジトリ機能やWEBアクセスやデータ履歴(ログ)等を管理できる機能はない。   2. Although there is a file search function by addressing by hash value and address designation, there is no repository function that centrally manages the relationship between services and addresses, or a function that can manage WEB access, data history (log), and the like.

3.誰でも、また、どこでもWEBファイルを登録でき、コンテンツの一意性を保証できる機能はない。   3. Anyone or anywhere can register a WEB file, and there is no function that can guarantee the uniqueness of content.

上述のIPFSなどは、例えばインターネット上で、あらゆるIoTゲートウェイ又はクライアント端末によってファイルを共有することを主眼として開発された分散ファイル共有システムである。このような分散ファイル共有システム上で、ユーザ認証と、ファイル登録やファイルアクセスの証跡(ログ)が管理された高セキュアな情報共有サービスを実現するためには、次のような機能が必要となる。まず、ユーザによるファイル発行やファイルアクセスに関するユーザ認証の機能が必要となる。また、ファイル発行者であるコンテンツの一意性を保証する機能が必要となる。更に、ファイル登録やアクセスログを管理する機能が必要となる。加えて、ファイルによって提供するサービス情報とアドレスの関係を一元管理する機能が必要となる。   The above IPFS or the like is a distributed file sharing system developed mainly for sharing files by any IoT gateway or client terminal on the Internet, for example. In order to realize a highly secure information sharing service in which user authentication, file registration and file access trail (log) are managed on such a distributed file sharing system, the following functions are required. . First, a user authentication function relating to file issuance and file access by the user is required. In addition, a function that guarantees the uniqueness of the content that is the file issuer is required. Furthermore, a function for managing file registration and access logs is required. In addition, a function for centrally managing the relationship between the service information provided by the file and the address is required.

図2は、IPFS等の分散ファイル共有システムにおいて高セキュアな情報共有サービスをクラウドサービスによって実現する構成例を示す図である。この構成例では、クライアント端末222やIoTゲートウェイ221によって構成されるIPFSによる閉域ネットワークである分散WEBネットワーク201に対して、インターネット又はキャリアネットワーク203を介して、クラウドサービスが提供される。このクラウドサービス202は、以下のような機能のサービスを提供する。   FIG. 2 is a diagram illustrating a configuration example in which a highly secure information sharing service is realized by a cloud service in a distributed file sharing system such as IPFS. In this configuration example, a cloud service is provided via the Internet or the carrier network 203 to the distributed WEB network 201 that is a closed network based on IPFS configured by the client terminal 222 and the IoT gateway 221. This cloud service 202 provides a service having the following functions.

1.認証機能:アクセスやデータ履歴(ログ)管理を提供するサービスである。例えば、RADIUS(Remote Authentification Dial In User Service)サーバ201によって、ネットワーク利用可否(認証)と利用事実の記録(アカウンティング)を実行するサービスが提供される。   1. Authentication function: A service that provides access and data history (log) management. For example, a RADIUS (Remote Authentication Dial In User Service) server 201 provides a service that executes network availability (authentication) and usage fact recording (accounting).

2.サービスリポジトリ機能:WEBポータルサイトのようなポータルサーバ212によって、サービスとURLの関係を管理するサービスが提供される。   2. Service repository function: A service that manages the relationship between a service and a URL is provided by a portal server 212 such as a WEB portal site.

3.コンテンツの一意性の保証機能:コンテンツが登録される際に、サーバ213によって、ライセンスコードやコンテンツID(識別子)を発行すると共に、コンテンツファイルに記載することで、該当ファイルの一意性を保証するサービスが提供される。   3. Content uniqueness guarantee function: A service that guarantees the uniqueness of a corresponding file by issuing a license code and a content ID (identifier) by the server 213 and registering the content in the content file when the content is registered. Is provided.

4.ログ管理機能:サーバ214によって、ファイル登録やファイルアクセスのログを記録するサービスが提供される。   4). Log management function: The server 214 provides a service for recording file registration and file access logs.

しかし、図2に示されるように、IPFSのような分散ファイル共有システムに対して上述の1から4の機能をクラウドサービス202で実現した場合、次のような課題が生じる。分散WEBネットワーク201とクラウドサービス202とを結ぶインターネット又はキャリアネットワーク203内でやり取りされるトラフィック量が増大する。この結果、クライアント端末222やIoTゲートウェイ221などのエッジノードで実現するサーバレスの処理、即時ファイル共有といった分散ファイル共有システムの利点が享受されないという課題が生じる。   However, as shown in FIG. 2, when the above-described functions 1 to 4 are realized by the cloud service 202 for a distributed file sharing system such as IPFS, the following problems occur. The amount of traffic exchanged in the Internet or carrier network 203 connecting the distributed WEB network 201 and the cloud service 202 increases. As a result, there arises a problem that the advantages of the distributed file sharing system such as serverless processing realized by edge nodes such as the client terminal 222 and the IoT gateway 221 and immediate file sharing cannot be enjoyed.

そこで、以下に説明する本実施形態では、分散ファイル共有システムを維持したまま、アクセス認証やファイルのコンテンツの一意性の保証、アクセスログやファイル登録の証跡情報の管理をサポートし、高セキュアなファイル共有システムを実現する。図3は、本実施形態の基本概念の説明図である。   Therefore, in this embodiment described below, while maintaining a distributed file sharing system, it supports access authentication, guarantee of uniqueness of file contents, management of access log and trail information of file registration, and highly secure file Implement a shared system. FIG. 3 is an explanatory diagram of the basic concept of the present embodiment.

本実施形態はまず、IPFSに代表されるピアツーピア型通信で実現する分散ファイル共有ネットワーク上で、前述した4つの機能が分散環境のもとで実現される。そのため本実施形態では、ブロックチェーンと呼ばれる通信方法が利用される。本実施形態では、端末で発生したイベントに関する情報が、ブロックチェーンを用いて分散ファイル共有ネットワークに含まれるノード装置間で共有される。そして、そのイベントに関する情報を含むファイルが生成され、このファイルを分散ファイル共有ネットワークのいずれかのノード装置で保持する。これにより、分散環境でのトランザクション(取引)の認証と正当性保証、及び改ざん不能な取引履歴管理の機能が応用され拡張される。概念的には本実施形態では、図3(a)に示されるように、各ノード307は、分散ファイル共有ネットワーク301と通信を行うときに、まず、ブロックチェーンの拡張により実現される分散型の認証/証跡管理ネットワーク302にアクセスする。その後、認証/証跡管理ネットワーク302に包含されるように構成される分散ファイル共有ネットワーク301へのアクセスが行われる。   In the present embodiment, first, the above four functions are realized under a distributed environment on a distributed file sharing network realized by peer-to-peer communication represented by IPFS. Therefore, in this embodiment, a communication method called a block chain is used. In the present embodiment, information related to an event that has occurred in a terminal is shared between node devices included in a distributed file sharing network using a block chain. Then, a file including information regarding the event is generated, and this file is held in any node device of the distributed file sharing network. As a result, the authentication and validity guarantee of transactions (transactions) in a distributed environment and the function of transaction history management that cannot be tampered with are applied and expanded. Conceptually, in this embodiment, as shown in FIG. 3A, when each node 307 communicates with the distributed file sharing network 301, first, the distributed type realized by the extension of the block chain is used. Access the authentication / trail management network 302. Thereafter, access is made to the distributed file sharing network 301 configured to be included in the authentication / trail management network 302.

より具体的には、本実施形態は、図3(b)に示される構成を有する。図3(b)の構成では、IoTゲートウェイ305又はクライアント端末306に、ブロックチェーンアプリケーション303(図中「BC」)がインストールされる。このブロックチェーンアプリケーション303は、ブロックチェーンによるトランザクションを処理するソフトウェアである。IoTゲートウェイ305又はクライアント端末306で動作するブロックチェーンアプリケーション303により、認証/証跡管理ネットワーク302が形成される。また、IoTゲートウェイ305又はクライアント端末306には、IPFSアプリケーション304(図中「IPFS」)がインストールされる。このIPFSアプリケーション304は、分散ファイル共有ネットワーク301に対するファイルの登録(保持)又はアクセスの機能を提供するソフトウェアである。IoTゲートウェイ305又はクライアント端末306で動作するIPFSアプリケーション304により、分散ファイル共有ネットワーク301が形成される。以下、クライアント端末とは、クライアントが操作する端末あるいはクライアントそのものを指すものとする。   More specifically, the present embodiment has a configuration shown in FIG. In the configuration of FIG. 3B, the block chain application 303 (“BC” in the figure) is installed in the IoT gateway 305 or the client terminal 306. The block chain application 303 is software that processes a transaction using a block chain. An authentication / trail management network 302 is formed by the block chain application 303 operating on the IoT gateway 305 or the client terminal 306. In addition, an IPFS application 304 (“IPFS” in the figure) is installed in the IoT gateway 305 or the client terminal 306. The IPFS application 304 is software that provides a file registration (holding) or access function to the distributed file sharing network 301. A distributed file sharing network 301 is formed by the IPFS application 304 operating on the IoT gateway 305 or the client terminal 306. Hereinafter, the client terminal refers to a terminal operated by the client or the client itself.

本実施形態において、IoTゲートウェイ305でセンサ検知等のイベントが発生し又は受信され、それに対応するイベント情報(イベントに関する情報)のファイル登録要求が発生すると、まず、IoTゲートウェイ305でブロックチェーンアプリケーション303が実行される。このブロックチェーンアプリケーション303は、IPFSアプリケーション304を実行することにより、IPFSアプリケーション304に、分散ファイル共有ネットワーク301へのイベント情報ファイルの登録を実行させる。このとき、IoTゲートウェイ305で動作するブロックチェーンアプリケーション303は、IoTゲートウェイ305のユーザに対する認証や、コンテンツの一意性の保証、サービスリポジトリ、データ履歴(ログ)管理(証跡管理)等の機能を実行する。これにより、イベント情報ファイルの分散ファイル共有ネットワーク301への登録が、高セキュアに実行される。   In the present embodiment, when an event such as sensor detection occurs or is received by the IoT gateway 305 and a file registration request for event information (information related to the event) corresponding thereto is generated, first, the block chain application 303 is first executed by the IoT gateway 305. Executed. The block chain application 303 causes the IPFS application 304 to register the event information file in the distributed file sharing network 301 by executing the IPFS application 304. At this time, the block chain application 303 operating on the IoT gateway 305 executes functions such as authentication for the user of the IoT gateway 305, guarantee of uniqueness of content, service repository, data history (log) management (trail management), and the like. . Thereby, the registration of the event information file to the distributed file sharing network 301 is executed with high security.

また、本実施形態において、クライアント端末306からファイル閲覧要求が発生すると、そのクライアント端末306でブロックチェーンアプリケーション303が実行される。このブロックチェーンアプリケーション303は、IPFSアプリケーション304を実行することにより、IPFSアプリケーション304に、分散ファイル共有ネットワーク101へのファイル要求処理を実行させる。このとき、クライアント端末306で動作するブロックチェーンアプリケーション303は、クライアント端末306のユーザ又はユーザが属するグループに対する認証や、ファイルのアクセス制御、アクセスログ管理(証跡管理)等の機能を実行する。これにより、分散ファイル共有ネットワーク301上のファイル閲覧が、高セキュアに実行される。   In this embodiment, when a file browsing request is generated from the client terminal 306, the block chain application 303 is executed on the client terminal 306. The block chain application 303 causes the IPFS application 304 to execute file request processing to the distributed file sharing network 101 by executing the IPFS application 304. At this time, the block chain application 303 running on the client terminal 306 executes functions such as authentication of the user of the client terminal 306 or a group to which the user belongs, file access control, access log management (trail management), and the like. Thereby, file browsing on the distributed file sharing network 301 is executed in a highly secure manner.

以上の図3(b)に関する説明のように、本実施形態では、ブロックチェーンアプリケーション303が、IPFSアプリケーション304を介して分散ファイル共有ネットワーク301にアクセスするためのプロキシとして動作する。これにより、高セキュアな分散ファイル共有の閉域ネットワーク空間が構築される。   As described above with reference to FIG. 3B, in this embodiment, the block chain application 303 operates as a proxy for accessing the distributed file sharing network 301 via the IPFS application 304. As a result, a highly secure distributed file sharing closed network space is constructed.

ここで、ブロックチェーンとは、ユーザ間で 『情報(台帳)』 を共有する技術であり、様々な取引情報(トランザクション)を記した台帳を公開し、ユーザ全員でその正当性をチェックすることで、不正の無い契約を遂行する分散台帳システムである。   Here, blockchain is a technology for sharing “information (ledgers)” among users. By publishing a ledger with various transaction information (transactions), all users check their validity. It is a distributed ledger system that fulfills contracts without fraud.

図4は、ブロックチェーンの説明図である。ブロックチェーンでは、電子証明書の技術を使ってユーザ認証が行われる。ユーザが最初にブロックチェーンにアカウント登録した時点で、図4(a)に示されるように、まず秘密鍵とその秘密鍵に対応する公開鍵が生成され、更にユーザIDが生成されて、ユーザに対して発行される。更に、これらの秘密鍵及び公開鍵に基づいて、電子証明書がユーザに対して発行される。ブロックチェーンは、この電子証明書を持っているユーザがブロックチェーンを使うことができるという認証の機能を有している。本実施形態では、この認証の機能を活用する。   FIG. 4 is an explanatory diagram of a block chain. In the block chain, user authentication is performed by using a digital certificate technology. When the user first registers an account in the block chain, as shown in FIG. 4A, first, a secret key and a public key corresponding to the secret key are generated, and a user ID is further generated. It is issued against. Furthermore, an electronic certificate is issued to the user based on these private key and public key. The block chain has an authentication function that a user who has the electronic certificate can use the block chain. In this embodiment, this authentication function is utilized.

ユーザは、秘密鍵、公開鍵、ユーザIDという3つの情報を用いて、トランザクションを発行する。今、発行元の自分がBだとすると、BからCにトランザクションTx2が発行されるケースを考える。この場合に、ブロックチェーンは、自分宛てに送られているトランザクションTx1を入力として新しいトランザクションを発行する機能を有する。このように、ブロックチェーンでは、承認済みのトランザクションをもとにして新しいトランザクションが発行されることにより、トランザクションの信頼性を向上させることができる。   A user issues a transaction by using three pieces of information: a secret key, a public key, and a user ID. Consider a case where a transaction Tx2 is issued from B to C, assuming that the issuer is B. In this case, the block chain has a function of issuing a new transaction with the transaction Tx1 sent to itself as an input. As described above, in the blockchain, a new transaction is issued based on an approved transaction, so that the reliability of the transaction can be improved.

図4(b)に示されるように、送信先のユーザCの公開鍵が、トランザクションTx2の宛先の情報として指定される。また、承認済みのトランザクションTx1のハッシュ値を含む未署名のトランザクションTx2に対して、ハッシュ値が計算され、そのハッシュ値に対しユーザB自身の秘密鍵を用いて電子署名が計算され、その電子署名がトランザクションTx2の発行元の情報として付加される。   As shown in FIG. 4B, the public key of the destination user C is designated as the destination information of the transaction Tx2. A hash value is calculated for an unsigned transaction Tx2 including the hash value of the approved transaction Tx1, and an electronic signature is calculated using the private key of the user B for the hash value, and the electronic signature is calculated. Is added as information of the issuer of the transaction Tx2.

このようなトランザクションTx2がブロックチェーンネットワークにブロードキャストされると、ブロックチェーンネットワークに属する他のユーザがトランザクションTx2の署名を次のようにして検証する。図4(b)のように、トランザクションTx2の未署名部分からハッシュ値が計算される。また、トランザクションTx2の発行元として添付されているユーザBの電子署名を生成させたハッシュ値が、ユーザBの公開鍵を使って計算される。そして、これらの2つのハッシュ値が比較され、2つのハッシュ値が一致すれば、トランザクションTx2は、正しいユーザBが発行したものであるとの検証結果が得られる。   When such a transaction Tx2 is broadcast to the blockchain network, another user belonging to the blockchain network verifies the signature of the transaction Tx2 as follows. As shown in FIG. 4B, a hash value is calculated from the unsigned part of the transaction Tx2. In addition, a hash value generated by generating the electronic signature of the user B attached as the issuer of the transaction Tx2 is calculated using the public key of the user B. Then, these two hash values are compared, and if the two hash values match, a verification result that the transaction Tx2 is issued by the correct user B is obtained.

このように、ブロックチェーンは、過去の承認済トランザクションに対して、電子署名による検証を行いながら、そのハッシュ値を入力として新たなトランザクションを発行していくことで、トランザクションそのものの信頼性を向上させる仕組みを有する。ブロックチェーンを構成するそれぞれのブロックは、「そのブロックの一つ前のブロックに関する情報」と、「ある時間内に行われたすべての取引のリスト(=個々のトランザクションをまとめたもの)」を記録したトランザクションで構成される。これにより、各ブロックのトランザクションには、ある時間内に行われたすべての取引が記録されることになる。   In this way, the blockchain improves the reliability of the transaction itself by issuing a new transaction with the hash value as input while verifying the past approved transaction with an electronic signature. Has a mechanism. Each block in the blockchain records “information about the block immediately before that block” and “a list of all transactions performed within a certain period of time (= summarizing individual transactions)” Composed of transactions. As a result, all transactions performed within a certain period of time are recorded in the transaction of each block.

ブロックチェーンでは更に、ブロックチェーンネットワーク内でマイナーと呼ばれる特定の検査ノードが、任意のノードから新規に発行されたトランザクションのブロックを確定する処理を実行する。この確定処理によって、高セキュアな台帳管理を実現することが可能であり、それらのトランザクション発行のすべての履歴情報が分散台帳上で共有・管理されるという特徴を有する。   In the block chain, a specific check node called a minor in the block chain network executes a process of determining a block of a transaction newly issued from an arbitrary node. By this confirmation processing, highly secure ledger management can be realized, and all the history information of the transaction issuance is shared and managed on the distributed ledger.

図4(c)は、上記確定処理の説明図である。マイナーは、直前ブロックのハッシュ値と、取引リストをまとめたマークルツリーのルートのハッシュ値とに、自身がランダムに生成するナンス(nonce)値と呼ばれる情報を加えた3つの情報からなる未承認ブロックに対して、ハッシュ値を計算する。マイナーは、ナンス値をランダムに変更しながら、このハッシュ値が特定の条件を満たす(例えば先頭に一定数以上の0が並ぶような値となる)ようなナンス値を発見する。この結果、マイナーは、上記発見したナンス値を含む上記3つの情報によって、未承認ブロックを改ざん不能な形で確定(承認)する。この確定処理を実行したマイナーは報酬を獲得できる。マイナーは、上記確定したブロックを、ブロックチェーンネットワーク内のユーザ全員にブロードキャストする。上記ブロックの確定の仕組みにより、ブロックチェーンネットワークにおいて、上記特定の条件(例えば先頭に一定数以上の0が並ぶ値となっている状態)が満たされないハッシュ値となるブロックは、確定された(承認された)ブロックとは見なされない。確定されていない未承認のブロックは、次のブロックへの入力として採用することはできない。   FIG. 4C is an explanatory diagram of the determination process. Minor is an unapproved three-part information consisting of the hash value of the previous block and the hash value of the root of the Merkle tree that summarizes the transaction list plus information called a nonce value that is randomly generated by itself. A hash value is calculated for the block. The minor finds a nonce value such that the hash value satisfies a specific condition (for example, a value such that a certain number of zeros or more are arranged at the beginning) while randomly changing the nonce value. As a result, the minor determines (approves) the unapproved block in a form that cannot be tampered with, based on the three pieces of information including the found nonce value. Miners who execute this confirmation process can earn rewards. The miner broadcasts the determined block to all users in the block chain network. With the block confirmation mechanism, a block having a hash value that does not satisfy the specific condition (for example, a state in which a certain number of zeros or more are arranged at the beginning) in the block chain network has been confirmed (approval). Is not considered a block. Unapproved blocks that have not been finalized cannot be used as input to the next block.

ブロックのナンス値を受け取った他のユーザは、ブロックに含まれる各トランザクションの電子署名が正しいか否かをまず検証する。更に、上記ユーザは、そのブロックから算出されるハッシュ値が前述した特定の条件(例えば先頭に一定数以上の0が並ぶ値となっている状態)が満たされているか否かを検証する。そして、上記ユーザは、上記2つの検証に問題がなければ、図4(b)で説明した手順で、自身のブロックチェーンの末尾に承認済みのブロックを追加する。   The other user who receives the nonce value of the block first verifies whether or not the electronic signature of each transaction included in the block is correct. Further, the user verifies whether or not the hash value calculated from the block satisfies the above-described specific condition (for example, a state where a certain number of zeros or more are arranged at the beginning). Then, if there is no problem with the two verifications, the user adds an approved block to the end of his block chain in the procedure described with reference to FIG.

このブロック内の情報を改ざんしようとした場合、ブロック内の3つの情報とブロックチェーン全体に矛盾が生じるようにデータ構造を作ることで、実質改ざん不能なデータベースを構築することができる。ネットワーク全体で「唯一のブロックの鎖」を持つようにされることによって、一貫した取引履歴を全体が共有することができる。   When trying to falsify information in this block, a data structure that cannot be falsified can be constructed by creating a data structure so that the three pieces of information in the block and the entire block chain are inconsistent. By having a “single block chain” throughout the network, the entire transaction history can be shared.

本実施形態では、以上の仕組みのブロックチェーンネットワークで動作する図3(b)のブロックチェーンアプリケーション303が、IPFSアプリケーション304を介して分散ファイル共有ネットワーク301にアクセスするためのプロキシとして動作する。このように、本実施形態では、端末で発生したイベントに関する情報が、ブロックチェーンを用いて分散ファイル共有ネットワークに含まれるノード装置間で共有される。   In the present embodiment, the block chain application 303 in FIG. 3B operating in the block chain network having the above mechanism operates as a proxy for accessing the distributed file sharing network 301 via the IPFS application 304. As described above, in the present embodiment, information related to an event that has occurred in a terminal is shared between node devices included in the distributed file sharing network using a block chain.

図5は、本実施形態における通信システム500の構成例を示す図である。通信システム500は、トランザクション発行アプリケーション(以下「トランザクション発行アプリ」)510を備えるセンサデバイス又はクライアント端末(以下「センサデバイス/クライアント端末」)501を備える。通信システム500は、ブロックチェーンアプリケーション(以下「ブロックチェーンアプリ」)511と分散ファイル共有アプリケーション(以下「分散ファイル共有アプリ」)512を備えるセンサエッジノード又はクライアント端末(以下、「センサエッジノード/クライアント端末」)502を備える。センサデバイス501とセンサエッジノード502の組合せは、図1(a)のIoTサービス例のセンサネットワークのユースケースで使用される。クライアント端末501とクライアント端末502の組合せは、図1(b)のサプライチェーン例のユースケースで使用される。センサデバイス/クライアント端末501とセンサエッジノード/クライアント端末502は、一体のノード装置であるIoTゲートウェイ又はクライアント端末(以下「IoTゲートウェイ/クライアント端末」)503であってもよい。即ち、IoTゲートウェイ/クライアント端末503は、トランザクション発行アプリ510と、ブロックチェーンアプリ511と、分散ファイル共有アプリ512とを備える。これらのアプリは、IoTゲートウェイまたはクライアント端末からなるノード装置以外のノード装置に配備されても良い。以下の説明では、センサデバイス/クライアント端末501とセンサエッジノード/クライアント端末502とを合わせてIoTゲートウェイ/クライアント端末503として説明する。   FIG. 5 is a diagram illustrating a configuration example of the communication system 500 in the present embodiment. The communication system 500 includes a sensor device or client terminal (hereinafter “sensor device / client terminal”) 501 including a transaction issuing application (hereinafter “transaction issuing application”) 510. The communication system 500 includes a sensor edge node or client terminal (hereinafter referred to as “sensor edge node / client terminal”) having a block chain application (hereinafter “block chain application”) 511 and a distributed file sharing application (hereinafter “distributed file sharing application”) 512. )) 502. The combination of the sensor device 501 and the sensor edge node 502 is used in the sensor network use case of the IoT service example of FIG. The combination of the client terminal 501 and the client terminal 502 is used in the use case of the example supply chain in FIG. The sensor device / client terminal 501 and the sensor edge node / client terminal 502 may be an IoT gateway or a client terminal (hereinafter “IoT gateway / client terminal”) 503 that is an integrated node device. That is, the IoT gateway / client terminal 503 includes a transaction issuing application 510, a block chain application 511, and a distributed file sharing application 512. These applications may be deployed in a node device other than the node device including an IoT gateway or a client terminal. In the following description, the sensor device / client terminal 501 and the sensor edge node / client terminal 502 will be described together as an IoT gateway / client terminal 503.

また、通信システム500は、トランザクション発行アプリ510とブロックチェーンアプリ511と分散ファイル共有アプリ512とを備えるクライアント端末504を備える。例えば、クライアント端末504がトランザクション発行アプリ510のみを有するようにし、クライアント端末504内のブロックチェーンアプリ511と分散ファイル共有アプリ512が別のノード装置に実装されるような構成であってもよい。   Further, the communication system 500 includes a client terminal 504 including a transaction issuing application 510, a block chain application 511, and a distributed file sharing application 512. For example, the client terminal 504 may have only the transaction issuing application 510, and the block chain application 511 and the distributed file sharing application 512 in the client terminal 504 may be installed in different node devices.

そのほか、通信システム500は、ブロックチェーン認証ノード505及びブロックチェーンノード506を備える。この認証部は、認証証跡管理ブロックネットワーク521へのユーザまたはグループのログインと、ブロックチェーンの初期トランザクションであるサービス許可トランザクションの発行を行う。   In addition, the communication system 500 includes a block chain authentication node 505 and a block chain node 506. The authentication unit logs in a user or group to the authentication trail management block network 521 and issues a service permission transaction that is an initial transaction of the block chain.

トランザクション発行アプリ510は、ブロックチェーン認証ノード505と通信を行って、IoTゲートウェイ/クライアント端末503又はクライアント端末504を操作するユーザ又はグループを認証する認証部を備える。   The transaction issuing application 510 includes an authentication unit that communicates with the block chain authentication node 505 to authenticate a user or group that operates the IoT gateway / client terminal 503 or the client terminal 504.

IoTゲートウェイ/クライアント端末503は、図1のIoTゲートウェイ103又はクライアント端末104、或いは図3のIoTゲートウェイ305に対応する。即ち、IoTゲートウェイ/クライアント端末503は、センサ情報を出力し、又は端末操作者によって入力される原材料・部品の調達から、製造、在庫管理、販売、配送までの製品の工程情報等を出力する。   The IoT gateway / client terminal 503 corresponds to the IoT gateway 103 or the client terminal 104 in FIG. 1 or the IoT gateway 305 in FIG. That is, the IoT gateway / client terminal 503 outputs sensor information, or outputs process information of products from procurement of raw materials / parts input by a terminal operator to manufacturing, inventory management, sales, and delivery.

IoTゲートウェイ/クライアント端末503、クライアント端末504、ブロックチェーン認証ノード505、及びブロックチェーンノード506は、認証/証跡管理プロキシネットワーク521を形成する。認証/証跡管理プロキシネットワーク521は、ブロックチェーンネットワークに含まれる。また、IoTゲートウェイ/クライアント端末503及びクライアント端末504は、分散ファイル共有ネットワーク522を形成する。   The IoT gateway / client terminal 503, the client terminal 504, the block chain authentication node 505, and the block chain node 506 form an authentication / trail management proxy network 521. The authentication / trail management proxy network 521 is included in the block chain network. The IoT gateway / client terminal 503 and the client terminal 504 form a distributed file sharing network 522.

図5の構成を有する本実施形態における通信システム500の動作の詳細について、以下に説明する。図6は、図5の通信システム500におけるファイル発行の処理例を示すシーケンス図、図7は、図6のファイル発行の処理例で使用される各トランザクションのデータフォーマット例を示す図である。   Details of the operation of the communication system 500 in the present embodiment having the configuration of FIG. 5 will be described below. FIG. 6 is a sequence diagram showing an example of file issuance processing in the communication system 500 of FIG. 5, and FIG. 7 is a diagram showing an example of a data format of each transaction used in the example of file issuance processing of FIG.

まず、ファイル発行の処理例について概説する。
<STEP1:ユーザ認証の実行>
最初に、IoTゲートウェイ/クライアント端末503内のセンサデバイス/クライアント端末501に対するユーザ認証を、既存のブロックチェーンソフトウェアで利用される電子証明書を用いて行う。
First, an example of file issue processing will be outlined.
<STEP1: Execution of user authentication>
First, user authentication for the sensor device / client terminal 501 in the IoT gateway / client terminal 503 is performed using an electronic certificate used in existing block chain software.

<STEP2:ファイル登録の証跡管理の実行>
センサデバイス/クライアント端末501がイベントを検知した際、図6のトランザクション発行アプリ510が、次の処理を実行する。トランザクション発行アプリ510は、センサデバイス/クライアント端末501(userID #X)から、特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)宛てに、イベントトランザクション(イベントに関するトランザクション)を発行する。このイベントトランザクションは、サービス認可トランザクションのハッシュ値を入力し、イベント情報を含む。
<STEP 2: Execution of trail management for file registration>
When the sensor device / client terminal 501 detects an event, the transaction issuing application 510 in FIG. 6 executes the following processing. The transaction issuing application 510 issues an event transaction (transaction related to an event) from the sensor device / client terminal 501 (userID #X) to a specific user (userID #Y) or a shared service (groupID #Z). This event transaction inputs a hash value of a service authorization transaction and includes event information.

<STEP3:イベント情報ファイルの生成/登録とコンテンツの一意性の保証>
イベントトランザクションを含むブロックが検査ノードにより確定された後、ブロックチェーンアプリ511は、イベントトランザクションに含まれるイベント情報を含むファイルを生成するためのファイル生成トランザクション(ファイルを生成するトランザクション)を新たに発行する。ブロックチェーンアプリ511は、ファイル生成トランザクションの発行を契機に、イベントトランザクションのハッシュ値の情報をコンテンツの一意性を保証するIDとして埋め込み、上記イベント情報を含んだイベント情報ファイルを自動生成する。ブロックチェーンアプリ511は、上記イベント情報ファイルを、分散ファイル共有アプリ512を介してIPFS等の分散ファイル共有ネットワーク522に登録する。このとき、イベント情報ファイルには、イベントトランザクションを発行したタイムスタンプ情報が付与されても良い。
<STEP3: Creation / Registration of Event Information File and Guarantee of Content Uniqueness>
After the block including the event transaction is confirmed by the check node, the block chain application 511 newly issues a file generation transaction (transaction for generating a file) for generating a file including the event information included in the event transaction. . When the file chain transaction is issued, the block chain application 511 embeds the hash value information of the event transaction as an ID for guaranteeing the uniqueness of the content, and automatically generates an event information file including the event information. The block chain application 511 registers the event information file in the distributed file sharing network 522 such as IPFS via the distributed file sharing application 512. At this time, the event information file may be given time stamp information that issued the event transaction.

<STEP4:ポータルファイルの更新によるリポジトリ機能の提供>
ブロックチェーンアプリ511は、イベント情報ファイルが分散ファイル共有ネットワーク522に登録された際に発行されるファイルアドレス情報(IPFSの場合はハッシュ値のアドレス)を、分散ファイル共有アプリ512を介して取得する。ブロックチェーンアプリ511は、ファイル生成トランザクションのハッシュ値を入力とし、前記ファイルアドレスを記載したセンサデバイス/クライアント端末501(userID #X)から、特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)宛てのサービス登録トランザクションを発行する。このサービス登録トランザクションは、ファイル生成トランザクションのハッシュ値と、イベント情報ファイルのアドレス情報と、サービス情報とを含む。ブロックチェーンアプリ511は、サービス登録トランザクションの発行を契機に、コンテンツ例えばサービス名とファイルアドレスとを紐づけた情報を、分散ファイル共有ネットワーク522で公開されるポータルサイトを示すポータルファイルに追加・更新し、再登録する。
<STEP4: Provision of repository function by updating portal file>
The block chain application 511 acquires, via the distributed file sharing application 512, file address information (hashed address in the case of IPFS) issued when the event information file is registered in the distributed file sharing network 522. The block chain application 511 receives a hash value of a file generation transaction as an input, and from the sensor device / client terminal 501 (userID #X) describing the file address, a specific user (userID #Y) or a shared service (groupID #Z) Issue a service registration transaction to the destination. This service registration transaction includes the hash value of the file generation transaction, the address information of the event information file, and the service information. When the service registration transaction is issued, the block chain application 511 adds / updates information in which content, for example, a service name and a file address are linked to a portal file indicating a portal site published on the distributed file sharing network 522. , Re-register.

上記手続きにより、分散ファイル共有ネットワーク522へのファイル登録に関する認証と証跡情報、およびコンテンツの一意性の保証をブロックチェーンで管理することが可能になる。同時に、ファイルアドレスとコンテンツ例えばサービス情報の関係を紐づけ、分散ファイル共有ネットワーク522上のポータルファイルとして一元管理するリポジトリ機能を提供することが可能となる。   With the above procedure, it becomes possible to manage authentication and trail information related to file registration in the distributed file sharing network 522 and guarantee of the uniqueness of content in a block chain. At the same time, it is possible to provide a repository function for associating the relationship between a file address and content, for example, service information, and managing them as a portal file on the distributed file sharing network 522.

次に、図6のファイル発行の処理例の詳細について説明する。
まず、IoTゲートウェイ/クライアント端末503は、自装置内のセンサからのセンサ出力又は端末入力等のイベントが発生すると、自装置内のトランザクション発行アプリ510を起動する。トランザクション発行アプリ510は、自装置に予め割り当てられているユーザアカウントを用いて、自装置で実行されるブロックチェーンアプリ511内の既存の認証部にアクセスし、ログインを実行する(S601)。
Next, details of the file issue processing example of FIG. 6 will be described.
First, the IoT gateway / client terminal 503 activates the transaction issuing application 510 in its own device when an event such as sensor output or terminal input from a sensor in its own device occurs. The transaction issuing application 510 accesses an existing authentication unit in the block chain application 511 executed by the own apparatus using a user account previously assigned to the own apparatus, and executes login (S601).

IoTゲートウェイ/クライアント端末503内のブロックチェーンアプリ511の認証部は、認証/証跡管理プロキシネットワーク521内のブロックチェーン認証ノード505と通信をしながら、上記ログインのアクセスに対して認証を実行する(S602)。   The authentication unit of the block chain application 511 in the IoT gateway / client terminal 503 performs authentication for the login access while communicating with the block chain authentication node 505 in the authentication / trait management proxy network 521 (S602). ).

上記認証部は、認証が成立したら、トランザクション発行アプリ510に、所定のサービス認可トランザクションのハッシュ値を通知して、ユーザが認証/証跡ネットワーク(ブロックチェーン)302に対してログインすることを認可する(S603)。   When the authentication is successful, the authentication unit notifies the transaction issuing application 510 of the hash value of a predetermined service authorization transaction, and authorizes the user to log in to the authentication / trail network (block chain) 302 ( S603).

続いて、IoTゲートウェイ/クライアント端末503内のトランザクション発行アプリ510は、自装置内で発生したイベントに対応するイベント情報(センサ出力情報又は工程情報等)と、上記サービス認可トランザクションのハッシュ値とを含むイベントトランザクションを発行する(S604)。このとき、トランザクション発行アプリ510は、イベントトランザクションに、発行元の情報として、自装置のユーザIDと、それに対応する公開鍵情報を設定する。また、トランザクション発行アプリ510は、イベントトランザクションに、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDと、それに対応する公開鍵情報を併せて設定する。   Subsequently, the transaction issuing application 510 in the IoT gateway / client terminal 503 includes event information (sensor output information or process information, etc.) corresponding to an event that has occurred in its own device, and a hash value of the service authorization transaction. An event transaction is issued (S604). At this time, the transaction issuing application 510 sets the user ID of the own device and the public key information corresponding thereto as the issuer information in the event transaction. The transaction issuing application 510 also sets, in the event transaction, the user ID or group ID previously assigned to the file registration processing service and the corresponding public key information as destination information.

このイベントトランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S605)。ブロックチェーンノード506のうちの1つ以上のノードは、図4(c)で説明した検査ノード(マイナー)として動作しており、通知されたトランザクションに記載された電子署名を検証し、ブロックを確定する処理を実行している。この結果、何れかの検査ノードは、上記イベントトランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S606)。   This event transaction is notified to all the block chain nodes 506 forming the authentication / trait management proxy network 521 that is a block chain (S605). One or more nodes of the block chain node 506 operate as the check node (minor) described in FIG. 4C, and verify the electronic signature described in the notified transaction and determine the block. The process to be executed is executed. As a result, one of the check nodes executes a confirmation process on the event transaction block and issues a confirmation notification (S606).

IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、イベントトランザクションの発行通知(S604)とそれに対応する確定通知(S606)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、ファイル生成トランザクションを発行する(S607)。このファイル生成トランザクションは、確定したブロックに対応するイベントトランザクションのハッシュ値とイベントトランザクションに含まれていたイベント情報とを含み、ファイル生成処理を実行する。このとき、上記ブロックチェーンアプリ511は、ファイル生成トランザクションに、イベントトランザクションに設定されているセンサデバイス/クライアント端末501(図5参照)のユーザIDを設定する。このユーザIDは発行元の情報である。また、ブロックチェーンアプリ511は、ファイル生成トランザクションに、宛先の情報として、イベントトランザクションに設定されているファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDを設定する。   When receiving the event transaction issuance notification (S604) and the corresponding confirmation notification (S606), the block chain application 511 being executed by the IoT gateway / client terminal 503 executes the following processing. The block chain application 511 issues a file generation transaction (S607). This file generation transaction includes the hash value of the event transaction corresponding to the confirmed block and the event information included in the event transaction, and executes the file generation process. At this time, the block chain application 511 sets the user ID of the sensor device / client terminal 501 (see FIG. 5) set in the event transaction in the file generation transaction. This user ID is information of the issuer. Further, the block chain application 511 sets a user ID or group ID previously assigned to the file registration processing service set in the event transaction as destination information in the file generation transaction.

このファイル生成トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S608)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記ファイル生成トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S606)。   This file generation transaction is notified to all the block chain nodes 506 forming the authentication / trait management proxy network 521 which is a block chain (S608). One check node in the block chain node 506 executes a confirmation process on the notified block of the file generation transaction and issues a confirmation notification (S606).

IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、ファイル生成トランザクションの発行通知(S607)とそのブロックに対応する確定通知(S609)を受信すると、次の処理を実行する。   When the block chain application 511 being executed by the IoT gateway / client terminal 503 receives the file generation transaction issuance notification (S607) and the confirmation notification corresponding to the block (S609), it executes the following processing.

上記ブロックチェーンアプリ511は、受信したイベントトランザクション内のイベント情報を含むイベント情報ファイルを生成するファイル生成処理(S610)を実行する。上記ブロックチェーンアプリ511は、このとき同時に、確定したブロックに対応するファイル生成トランザクションに設定されているイベントトランザクションのハッシュ値を、コンテンツの一意性を保証するIDとして、イベント情報ファイルに埋め込む。また、イベント情報ファイルには、イベントトランザクションが発行されたときのタイムスタンプ情報が付与されてもよい。更に、ファイルそのものの秘匿性を向上させるため、上記ブロックチェーンアプリ511は、ファイル生成トランザクションに設定されている宛先のユーザID又はグループIDに対応した公開鍵で、分散ファイルシステムに登録するイベント情報ファイルを暗号化してもよい。この場合、上記ユーザID又はグループIDの公開鍵に対応した秘密鍵を持つユーザやグループのみが、分散ファイル共有システムに登録された該当するイベント情報ファイルの情報を閲覧することが可能になる。その後、上記ブロックチェーンアプリ511は、自装置内の分散ファイル共有アプリ512を起動する(以上、S610)。   The block chain application 511 executes a file generation process (S610) for generating an event information file including event information in the received event transaction. At the same time, the block chain application 511 embeds the hash value of the event transaction set in the file generation transaction corresponding to the confirmed block in the event information file as an ID that guarantees the uniqueness of the content. The event information file may be given time stamp information when an event transaction is issued. Further, in order to improve the confidentiality of the file itself, the block chain application 511 uses the public key corresponding to the destination user ID or group ID set in the file generation transaction to register the event information file in the distributed file system. May be encrypted. In this case, only a user or group having a secret key corresponding to the public key of the user ID or group ID can view information on the corresponding event information file registered in the distributed file sharing system. Thereafter, the block chain application 511 activates the distributed file sharing application 512 in the own apparatus (S610).

上記分散ファイル共有アプリ512は、生成されたイベント情報ファイルに対して、以下のS611及びS612からなるファイル登録処理を実行する。上記分散ファイル共有アプリ512は、このファイル登録処理において、まず、分散ファイル共有ネットワーク522に対して、上記イベント情報ファイルを登録する(S611)。そして、上記分散ファイル共有アプリ512は、登録先のノードから登録したイベント情報ファイルのハッシュ値をアドレス情報として取得し、そのアドレス情報を自装置内のブロックチェーンアプリ511に通知する(S612)」。   The distributed file sharing application 512 executes a file registration process including S611 and S612 below on the generated event information file. In the file registration process, the distributed file sharing application 512 first registers the event information file in the distributed file sharing network 522 (S611). Then, the distributed file sharing application 512 acquires the hash value of the event information file registered from the registration destination node as address information, and notifies the address information to the block chain application 511 in its own device (S612).

上記ブロックチェーンアプリ511は、イベント情報ファイルに対応するアドレス情報を取得すると、ファイル生成トランザクションのハッシュ値を入力とするサービス登録トランザクションを発行する(S613)。このとき、上記ブロックチェーンアプリ511は、サービス登録トランザクションに、S612で取得したイベント情報ファイルのハッシュ値(アドレス情報)と、このイベント情報ファイルに対応するイベントのサービスの情報とを設定する。また、上記ブロックチェーンアプリ511は、サービス登録トランザクションに、発行元の情報として、ファイル生成トランザクションに設定されているセンサデバイス/クライアント端末501(図5参照)のユーザIDを設定する。また、ブロックチェーンアプリ511は、サービス登録トランザクションに、宛先の情報として、ファイル生成トランザクションに設定されているファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDを設定する。   When acquiring the address information corresponding to the event information file, the block chain application 511 issues a service registration transaction with the hash value of the file generation transaction as an input (S613). At this time, the block chain application 511 sets the hash value (address information) of the event information file acquired in S612 and the service information of the event corresponding to the event information file in the service registration transaction. Further, the block chain application 511 sets the user ID of the sensor device / client terminal 501 (see FIG. 5) set in the file generation transaction as issuer information in the service registration transaction. Further, the block chain application 511 sets a user ID or a group ID assigned in advance to the file registration processing service set in the file generation transaction as destination information in the service registration transaction.

このサービス登録トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S614)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記サービス登録トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S615)。   This service registration transaction is notified to all block chain nodes 506 forming the authentication / trait management proxy network 521 which is a block chain (S614). One check node in the block chain node 506 executes a confirmation process on the notified block of the service registration transaction and issues a confirmation notification (S615).

IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、サービス登録トランザクションの発行通知(S613)とそのブロックに対応する確定通知(S615)を受信すると、以下のサービス登録処理を実行する。上記ブロックチェーンアプリ511は、まず、自装置の分散ファイル共有アプリ512にアクセスして、分散ファイル共有ネットワーク522からポータルファイルを取得する(S616)。続いて、上記ブロックチェーンアプリ511は、S612で取得したイベント情報ファイルに対応するハッシュ値(アドレス情報)に、イベント情報ファイルに対応するサービス内容を含む情報を紐付けた情報を、上記取得したポータルファイルに追加して更新する。そして、上記ブロックチェーンアプリ511は、その更新したポータルファイルを、自装置の分散ファイル共有アプリ512にアクセスして、分散ファイル共有ネットワーク522に再登録させる(以上、S617)。   Upon receiving the service registration transaction issuance notification (S613) and the confirmation notification (S615) corresponding to the block, the block chain application 511 being executed by the IoT gateway / client terminal 503 executes the following service registration processing. The block chain application 511 first accesses the distributed file sharing application 512 of its own device, and acquires a portal file from the distributed file sharing network 522 (S616). Subsequently, the block chain application 511 obtains information obtained by associating the hash value (address information) corresponding to the event information file acquired in S612 with the information including the service content corresponding to the event information file. Add to file and update. Then, the block chain application 511 accesses the distributed file sharing application 512 of the own device to re-register the updated portal file in the distributed file sharing network 522 (S617).

上記ポータルファイルの更新処理で、他のIoTゲートウェイ/クライアント端末503からのポータルファイルの同時更新を避けるために、IoTゲートウェイ/クライアント端末503内の上記分散ファイル共有アプリ512は、排他制御を実行してもよい。この場合、上記分散ファイル共有アプリ512では、ポータルファイルの同時更新が許容されず、1ユーザのみに更新権限が与えられ、他ユーザはロックされるような制御が実行される。また、ポータルファイル管理者にコンテンツとファイルアドレスの関係を通知するAPIを設け、IoTゲートウェイ/クライアント端末503内の上記分散ファイル共有アプリ512がポータルファイル管理者にポータルファイルの更新を一任する制御が実行されてもよい。   In the portal file update process, the distributed file sharing application 512 in the IoT gateway / client terminal 503 executes exclusive control in order to avoid simultaneous update of portal files from other IoT gateway / client terminals 503. Also good. In this case, the distributed file sharing application 512 does not allow simultaneous update of the portal file, and performs control such that only one user is given update authority and other users are locked. In addition, an API for notifying the portal file manager of the relationship between the content and the file address is provided, and the distributed file sharing application 512 in the IoT gateway / client terminal 503 executes control to entrust the portal file manager to update the portal file. May be.

上記制御処理により、分散ファイル共有ネットワーク522へのファイル登録に関する認証と証跡情報、およびコンテンツの一意性の保証を、ブロックチェーンである認証/証跡管理プロキシネットワーク521で管理することが可能になる。   With the above control processing, authentication and trail information relating to file registration in the distributed file sharing network 522, and guarantee of content uniqueness can be managed by the authentication / trait management proxy network 521 which is a block chain.

また、コンテンツとファイルアドレスの関係が紐づけられ、分散ファイル共有システム上のポータルファイルとして、ブロックチェーンで一元管理することも可能となる。図8は、S616及びS617で処理されるポータルファイルのデータフォーマット例を示す図である。ポータルファイルには、イベント情報ファイルに対応するハッシュ値(アドレス情報)に、イベント情報ファイルに対応するサービス内容と、イベント情報ファイルのファイル名とが紐付けられる。   In addition, the relationship between the content and the file address is linked, and the portal file on the distributed file sharing system can be centrally managed by the block chain. FIG. 8 is a diagram illustrating a data format example of the portal file processed in S616 and S617. In the portal file, a service value corresponding to the event information file and a file name of the event information file are associated with a hash value (address information) corresponding to the event information file.

次に、図7に示される、図6で説明したファイル発行の処理で使用される各トランザクションのデータフォーマット例の詳細について説明する。   Next, details of a data format example of each transaction used in the file issuing process illustrated in FIG. 6 shown in FIG. 7 will be described.

図6のS604でIoTゲートウェイ/クライアント端末503のトランザクション発行アプリ510により発行されるイベントトランザクションは、図7(a)に例示されるデータフォーマットを有する。図7(a)に示されるように、イベントトランザクションには、ブロックチェーンの入力トランザクションとして、S603で通知されたサービス認可トランザクションのハッシュ値が設定される。また、イベントトランザクションには、自装置内で発生したセンサイベントに対応するイベント情報が設定される。更に、イベントトランザクションには、発行元の情報として、センサデバイス/クライアント端末501(図5参照)のユーザID(図7(a)中の「userID #X」)とそれに対応する公開鍵情報が設定される。また、イベントトランザクションには、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID(図7(a)中の「userID #Y」)又はグループID(図7(a)中の「groupID #Z」)とそれに対応する公開鍵情報が設定される。   The event transaction issued by the transaction issuing application 510 of the IoT gateway / client terminal 503 in S604 of FIG. 6 has a data format illustrated in FIG. As shown in FIG. 7A, in the event transaction, the hash value of the service authorization transaction notified in S603 is set as an input transaction of the block chain. In the event transaction, event information corresponding to a sensor event that has occurred in the device itself is set. Further, in the event transaction, as the issuer information, the user ID (“userID #X” in FIG. 7A) of the sensor device / client terminal 501 (see FIG. 5) and the corresponding public key information are set. Is done. In the event transaction, as destination information, a user ID (“userID #Y” in FIG. 7A) assigned in advance to the file registration processing service or a group ID (“ groupID #Z ") and corresponding public key information are set.

図6のS607でIoTゲートウェイ/クライアント端末503のブロックチェーンアプリ511により発行されるファイル生成トランザクションは、図7(b)に例示されるデータフォーマットを有する。図7(b)に示されるように、ファイル生成トランザクションには、ブロックチェーンの入力トランザクションとして、S606の確定通知で確定されたブロックに対応するイベントトランザクションのハッシュ値が設定される。また、ファイル生成トランザクションには、イベントトランザクションに設定されているイベント情報が設定される。更に、ファイル生成トランザクションには、発行元の情報として、イベントトランザクションに設定されているセンサデバイス/クライアント端末501(図5参照)のユーザID(図7(b)中の「userID #X」)とそれに対応する公開鍵情報が設定される。また、ファイル生成トランザクションには、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID(図7(b)中の「userID #Y」)又はグループID(図7(b)中の「groupID #Z」)とそれに対応する公開鍵情報が設定される。   The file generation transaction issued by the block chain application 511 of the IoT gateway / client terminal 503 in S607 of FIG. 6 has a data format illustrated in FIG. 7B. As shown in FIG. 7B, the hash value of the event transaction corresponding to the block confirmed by the confirmation notification in S606 is set as the input transaction of the block chain in the file generation transaction. In the file generation transaction, event information set in the event transaction is set. Furthermore, in the file generation transaction, as the issuer information, the user ID of the sensor device / client terminal 501 (see FIG. 5) set in the event transaction (“userID #X” in FIG. 7B) and Corresponding public key information is set. Further, in the file generation transaction, as destination information, a user ID (“userID #Y” in FIG. 7B) or a group ID (in FIG. 7B) assigned in advance to the file registration processing service. “GroupID #Z”) and corresponding public key information are set.

図6のS613でIoTゲートウェイ/クライアント端末503のブロックチェーンアプリ511により発行されるサービス登録トランザクションは、図7(c)に例示されるデータフォーマットを有する。図7(c)に示されるように、サービス登録トランザクションには、ブロックチェーンの入力トランザクションとして、S609の確定通知で確定されたブロックに対応するファイル生成トランザクションのハッシュ値が設定される。また、サービス登録トランザクションには、S612で取得したイベント情報ファイルに対応するハッシュ値(アドレス情報)と、このイベント情報ファイルに対応するイベントのサービスの情報とが設定される。更に、サービス登録トランザクションには、発行元の情報として、ファイル生成トランザクションに設定されているセンサデバイス/クライアント端末501(図5参照)のユーザID(図7(c)中の「userID #X」)が設定される。加えて、サービス登録トランザクションには、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID(図7(c)中の「userID #Y」)又はグループID(図7(c)中の「groupID #Z」)が設定される。   The service registration transaction issued by the block chain application 511 of the IoT gateway / client terminal 503 in S613 in FIG. 6 has a data format illustrated in FIG. 7C. As shown in FIG. 7C, the hash value of the file generation transaction corresponding to the block confirmed by the confirmation notification in S609 is set as the block chain input transaction in the service registration transaction. In the service registration transaction, the hash value (address information) corresponding to the event information file acquired in S612 and the service information of the event corresponding to the event information file are set. Further, in the service registration transaction, as the issuer information, the user ID of the sensor device / client terminal 501 (see FIG. 5) set in the file generation transaction (“userID #X” in FIG. 7C) Is set. In addition, in a service registration transaction, as destination information, a user ID (“userID #Y” in FIG. 7C) or a group ID (in FIG. 7C) assigned in advance to the file registration processing service. "GroupID #Z") is set.

図7(d)の統合トランザクションのデータフォーマットについては、後述する。
図9は、図5の通信システム500におけるファイル発行の他の処理例を示すシーケンス図である。前述した図6では、ファイル生成処理(S610)及びファイル登録処理(S611、S612)を実行するためのファイル生成トランザクションと、サービス登録処理(S616、S617)を実行するためのサービス登録トランザクションが、2つに分かれていた。これに対して、図9では、ファイル生成処理(S610)、ファイル登録処理(S611、S612)、及びサービス登録処理(S616、S617)が、1つのトランザクションのブロックの確定を契機として、連続して実行される点が異なる。
The data format of the integrated transaction in FIG. 7D will be described later.
FIG. 9 is a sequence diagram illustrating another processing example of file issuance in the communication system 500 of FIG. In FIG. 6 described above, there are two file generation transactions for executing the file generation processing (S610) and file registration processing (S611, S612) and two service registration transactions for executing the service registration processing (S616, S617). It was divided into two. On the other hand, in FIG. 9, the file generation process (S610), the file registration process (S611, S612), and the service registration process (S616, S617) are continuously triggered by the confirmation of one transaction block. It is executed differently.

具体的には、図9において、図6と同じ参照番号が付されたシーケンスは、図6の場合と同じ処理である。図9のシーケンスが図6のシーケンスと異なる部分についてのみ、以下に説明する。   Specifically, in FIG. 9, the sequence given the same reference number as in FIG. 6 is the same process as in FIG. 6. Only portions where the sequence of FIG. 9 is different from the sequence of FIG. 6 will be described below.

IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、図6のシーケンスと同様にして、イベントトランザクションの発行通知(S604)とそれに対応する確定通知(S606)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、図7(d)のデータフォーマット例に示される統合トランザクションを発行する。この統合トランザクションには、S606の確定通知により確定されたブロックに対応するイベントトランザクションのハッシュ値が設定される。また、統合トランザクションには、イベントトランザクションに含まれていたイベント情報が設定される。また、統合トランザクションには、上記イベント情報に対応するサービスの情報が設定される。更に、統合トランザクションには、発行元の情報として、イベントトランザクションに設定されているユーザID(図7(d)中の「userID #X」)が設定される。加えて、統合トランザクションには、宛先の情報として、イベントトランザクションに設定されているユーザID(図7(d)中の「userID #Y」)又はグループID(図7(d)中の「groupID #Z」)が設定される。   When the block chain application 511 being executed by the IoT gateway / client terminal 503 receives the event transaction issuance notification (S604) and the corresponding confirmation notification (S606) in the same manner as the sequence of FIG. 6, the following processing is performed. Execute. The block chain application 511 issues an integrated transaction shown in the data format example of FIG. In this integrated transaction, the hash value of the event transaction corresponding to the block confirmed by the confirmation notification in S606 is set. In addition, event information included in the event transaction is set in the integrated transaction. In the integrated transaction, service information corresponding to the event information is set. Furthermore, the user ID (“userID #X” in FIG. 7D) set in the event transaction is set as the issuer information in the integrated transaction. In addition, in the integrated transaction, as destination information, a user ID (“userID #Y” in FIG. 7D) or a group ID (“groupID # in FIG. 7D) set in the event transaction” is set. Z ") is set.

この統合トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S902)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記ファイル生成トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S903)。   This integrated transaction is notified to all block chain nodes 506 forming the authentication / trait management proxy network 521 which is a block chain (S902). One check node in the block chain node 506 executes a confirmation process on the notified block of the file generation transaction and issues a confirmation notification (S903).

IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、統合トランザクションの発行通知(S901)とそれに対応する確定通知(S903)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、図6のシーケンスで説明したファイル生成処理(S610)、ファイル登録処理(S611、S612)、及びサービス登録処理(S616、S617)を、連続して実行する。   When receiving the integrated transaction issue notification (S901) and the corresponding confirmation notification (S903), the block chain application 511 being executed by the IoT gateway / client terminal 503 executes the following processing. The block chain application 511 continuously executes the file generation process (S610), the file registration process (S611, S612), and the service registration process (S616, S617) described in the sequence of FIG.

図10は、図5の通信システム500におけるファイルアクセスの処理例を示すシーケンス図、図11は、図10のファイルアクセスの処理例で使用されるトランザクションのデータフォーマット例を示す図である。   FIG. 10 is a sequence diagram showing an example of file access processing in the communication system 500 of FIG. 5, and FIG. 11 is a diagram showing an example of a data format of transactions used in the example of file access processing of FIG.

まず、ファイルアクセスの処理例について概説する。
<STEP1:ユーザ認証の実行>
最初に、クライアント端末504からファイルアクセスを行うユーザの認証を、既存のブロックチェーンで発行される電子証明書を用いて行う。
First, an example of file access processing will be outlined.
<STEP1: Execution of user authentication>
First, authentication of a user who performs file access from the client terminal 504 is performed using an electronic certificate issued by an existing block chain.

<STEP2:ファイルアクセスの証跡管理の実行>
ユーザがファイルにアクセスするため、クライアント端末504内のトランザクション発行アプリ510が、サービス認可トランザクションのハッシュ値を入力とし、ポータルサイトのポータルファイルのアドレスを含むファイル閲覧トランザクションを発行する。このファイル閲覧トランザクションの発行元はクライアント端末504のユーザ(userID #W)、宛先は特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)とそられに対応する公開鍵情報である。トランザクション発行アプリ510は、クライアント端末504内のブロックチェーンアプリ511及び分散ファイル共有アプリ512を介して、分散ファイル共有ネットワーク522から、共有空間を管理するサービスのポータルファイルの情報を取得する。これによってユーザはポータルサイトの情報を閲覧する。
<STEP 2: Execution of File Access Trail Management>
In order for the user to access the file, the transaction issuing application 510 in the client terminal 504 issues a file browsing transaction including the address of the portal file of the portal site using the hash value of the service authorization transaction as an input. The issuer of this file browsing transaction is the user (userID #W) of the client terminal 504, the destination is a specific user (userID #Y) or a shared service (groupID #Z), and public key information corresponding thereto. The transaction issuing application 510 acquires the portal file information of the service that manages the shared space from the distributed file sharing network 522 via the block chain application 511 and the distributed file sharing application 512 in the client terminal 504. As a result, the user browses information on the portal site.

<STEP3:ファイルアクセスの実行とファイルアクセスの証跡管理の実行>
クライアント端末504において、ユーザがポータルサイトに記載されているファイルを選択する。この結果、クライアント端末504内のトランザクション発行アプリ510が、サービス認可トランザクションのハッシュ値を入力とし、ユーザが選択したファイルのアドレスを含むファイル閲覧トランザクションを発行する。このファイル閲覧トランザクションの発行元はクライアント端末504のユーザ(userID #W)、宛先は特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)とそららに対応する公開鍵情報である。トランザクション発行アプリ510は、クライアント端末504内のブロックチェーンアプリ511及び分散ファイル共有アプリ512を介して、分散ファイル共有ネットワーク522から該当するファイルを取得する。この結果、ユーザは、該当ファイルを閲覧することが可能になる。
<STEP3: Execution of file access and execution of trail management of file access>
In the client terminal 504, the user selects a file described in the portal site. As a result, the transaction issuing application 510 in the client terminal 504 receives the hash value of the service authorization transaction as an input, and issues a file browsing transaction including the address of the file selected by the user. The issuer of this file browsing transaction is the user of the client terminal 504 (userID #W), the destination is the specific user (userID #Y) or the shared service (groupID #Z) and the public key information corresponding to them. The transaction issuing application 510 acquires the corresponding file from the distributed file sharing network 522 via the block chain application 511 and the distributed file sharing application 512 in the client terminal 504. As a result, the user can browse the corresponding file.

以上の処理により、分散ファイル共有ネットワーク522上でのファイルアクセスの認証と証跡情報をブロックチェーンの機能を活用し実現することが可能になる。この情報をサービス課金に利用してもよい。また、要求したファイル情報をユーザが取得するまでは、ファイルアクセスのファイル閲覧トランザクションの発行を待機し、ファイル取得確認後に該当トランザクションを発行するようにしてもよい。なお、各トランザクションはブロックチェーンにおけるブロック確定の処理が完了するまでは実行されないものとし、ブロック確定を実行するノードは、自身のノードでも他のノードでも良い。   Through the above processing, file access authentication and trail information on the distributed file sharing network 522 can be realized by utilizing the block chain function. This information may be used for service billing. Further, until the user obtains the requested file information, it waits for the issuance of a file access transaction for file access, and the relevant transaction may be issued after the file acquisition is confirmed. Each transaction is not executed until the block confirmation process in the block chain is completed, and the node that executes the block confirmation may be its own node or another node.

次に、図10のファイルアクセスの処理例の詳細について説明する。
まず、クライアント端末504は、ファイル閲覧要求のイベントが発生すると、自装置内のトランザクション発行アプリ510を起動する。トランザクション発行アプリ510は、クライアント端末504に予め割り当てられているユーザアカウントを用いて、クライアント端末504のブロックチェーンアプリ511内の既存の認証部にアクセスし、ログインを実行する(S1001)。
Next, details of the file access processing example of FIG. 10 will be described.
First, when a file browsing request event occurs, the client terminal 504 activates the transaction issuing application 510 in its own device. The transaction issuing application 510 accesses the existing authentication unit in the block chain application 511 of the client terminal 504 using a user account previously assigned to the client terminal 504, and executes login (S1001).

クライアント端末504内のブロックチェーンアプリ511の認証部は、認証/証跡管理プロキシネットワーク521内のブロックチェーン認証ノード505と通信をしながら上記ログインのアクセスに対して認証を実行する(S1002)。   The authentication unit of the block chain application 511 in the client terminal 504 executes authentication for the login access while communicating with the block chain authentication node 505 in the authentication / trait management proxy network 521 (S1002).

上記認証部は、認証が成立したら、トランザクション発行アプリ510に、所定のサービス認可トランザクションのハッシュ値を通知して、ログインを認可する(S1003)。   When the authentication is successful, the authentication unit notifies the transaction issuing application 510 of the hash value of a predetermined service authorization transaction and authorizes login (S1003).

続いて、クライアント端末504内のトランザクション発行アプリ510は、自装置内で発生したファイル閲覧要求で指定されているポータルファイルのハッシュ値(アドレス情報)と、上記サービス認可トランザクションのハッシュ値とを含む第1のファイル閲覧トランザクションを発行する(S1004)。このとき、トランザクション発行アプリ510は、第1のファイル閲覧トランザクションに、発行元の情報として、クライアント端末504のユーザIDを設定する。また、トランザクション発行アプリ510は、第1のファイル閲覧トランザクションに、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDを設定する。   Subsequently, the transaction issuing application 510 in the client terminal 504 includes the hash value (address information) of the portal file specified by the file browsing request generated in the own device and the hash value of the service authorization transaction. 1 file browsing transaction is issued (S1004). At this time, the transaction issuing application 510 sets the user ID of the client terminal 504 as the issuer information in the first file browsing transaction. Further, the transaction issuing application 510 sets a user ID or a group ID assigned in advance to the file registration processing service as destination information in the first file browsing transaction.

この第1のファイル閲覧トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S1005)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記第1のファイル閲覧トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S1006)。   This first file browsing transaction is notified to all block chain nodes 506 forming the authentication / trait management proxy network 521 which is a block chain (S1005). One check node in the block chain node 506 executes a confirmation process on the notified block of the first file browsing transaction and issues a confirmation notification (S1006).

クライアント端末504で実行中のブロックチェーンアプリ511は、第1のファイル閲覧トランザクションの発行通知(S1004)とそれに対応する確定通知(S1006)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、クライアント端末504内の分散ファイル共有アプリ512に、第1のファイル閲覧トランザクションに含まれるポータルファイルのハッシュ値(アドレス情報)を指定したポータルファイル要求を発行する(S1007)。   When the block chain application 511 being executed on the client terminal 504 receives the first file browsing transaction issuance notification (S1004) and the corresponding confirmation notification (S1006), it executes the following processing. The block chain application 511 issues a portal file request specifying the hash value (address information) of the portal file included in the first file browsing transaction to the distributed file sharing application 512 in the client terminal 504 (S1007).

この結果、クライアント端末504内の分散ファイル共有アプリ512は、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、ポータルファイルを取得し、クライアント端末504内のブロックチェーンアプリ511に送信する。上記ブロックチェーンアプリ511は、このポータルファイルの内容を、クライアント端末504内のトランザクション発行アプリ510に送信する(以上、S1008)。この結果、クライアント端末504の特には図示しないディスプレイ等に、図8に例示した、各サービス名、イベント情報ファイル名、及びイベント情報ファイルのハッシュ値(アドレス情報)の一覧が表示され、ユーザが閲覧可能となる。   As a result, the distributed file sharing application 512 in the client terminal 504 accesses the distributed file sharing network 522 using the hash value, acquires a portal file, and transmits the portal file to the block chain application 511 in the client terminal 504. The block chain application 511 transmits the contents of the portal file to the transaction issuing application 510 in the client terminal 504 (S1008). As a result, a list of service names, event information file names, and hash values (address information) of the event information files illustrated in FIG. It becomes possible.

続いて、クライアント端末504のユーザが、ディスプレイ上の上記一覧を見ながら、何れかのサービス名に対応するイベント情報ファイルのハッシュ値を指定する。この結果、クライアント端末504内のトランザクション発行アプリ510は、自装置内で発生したファイル閲覧要求で指定されているイベント情報ファイルのハッシュ値(アドレス情報)と、S1003で取得されているサービス認可トランザクションのハッシュ値とを含む第2のファイル閲覧トランザクションを発行する(S1009)。このとき、トランザクション発行アプリ510は、第2のファイル閲覧トランザクションに、発行元の情報として、クライアント端末504のユーザIDとそれに対する公開鍵情報を設定する。また、トランザクション発行アプリ510は、第2のファイル閲覧トランザクションに、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDとそられに対する公開鍵情報を設定する。   Subsequently, the user of the client terminal 504 designates the hash value of the event information file corresponding to one of the service names while viewing the list on the display. As a result, the transaction issuing application 510 in the client terminal 504 receives the hash value (address information) of the event information file specified in the file browsing request generated in the own device and the service authorization transaction acquired in S1003. A second file browsing transaction including the hash value is issued (S1009). At this time, the transaction issuing application 510 sets the user ID of the client terminal 504 and the public key information corresponding thereto as the issuer information in the second file browsing transaction. In addition, the transaction issuing application 510 sets a user ID or a group ID assigned in advance to the file registration processing service and public key information corresponding thereto as destination information in the second file browsing transaction.

この第2のファイル閲覧トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S1010)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記第2のファイル閲覧トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S1011)。   This second file browsing transaction is notified to all block chain nodes 506 forming the authentication / trait management proxy network 521 which is a block chain (S1010). One check node in the block chain node 506 executes a confirmation process on the notified block of the second file browsing transaction and issues a confirmation notification (S1011).

クライアント端末504で実行中のブロックチェーンアプリ511は、第2のファイル閲覧トランザクションの発行通知(S1009)とそれに対応する確定通知(S1011)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、クライアント端末504内の分散ファイル共有アプリ512に、第2のファイル閲覧トランザクションに含まれるイベント情報ファイルのハッシュ値(アドレス情報)を指定したファイル要求を発行する(S1012)。   When the block chain application 511 being executed on the client terminal 504 receives the second file browsing transaction issuance notification (S1009) and the corresponding confirmation notification (S1011), the blockchain application 511 executes the following processing. The block chain application 511 issues a file request specifying the hash value (address information) of the event information file included in the second file browsing transaction to the distributed file sharing application 512 in the client terminal 504 (S1012).

この結果、クライアント端末504内の分散ファイル共有アプリ512は、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、イベント情報ファイルを取得し、クライアント端末504内のブロックチェーンアプリ511に送信する。上記ブロックチェーンアプリ511は、このイベント情報ファイルの内容を、クライアント端末504内のトランザクション発行アプリ510に送信する(以上、S1013)。この結果、クライアント端末504の特には図示しないディスプレイ等に、イベント情報ファイルの内容が表示され、ユーザが閲覧可能となる。   As a result, the distributed file sharing application 512 in the client terminal 504 accesses the distributed file sharing network 522 using the hash value, acquires an event information file, and transmits it to the block chain application 511 in the client terminal 504. The block chain application 511 transmits the contents of the event information file to the transaction issuing application 510 in the client terminal 504 (S1013). As a result, the contents of the event information file are displayed on the client terminal 504, particularly a display (not shown), and can be browsed by the user.

次に、図11に示される、図10で説明したファイルアクセスの処理例で使用されるトランザクションのデータフォーマット例の詳細について説明する。   Next, details of a data format example of a transaction used in the file access processing example illustrated in FIG. 10 illustrated in FIG. 11 will be described.

図10のS1004又はS1009でクライアント端末504のトランザクション発行アプリ510により発行される第1又は第2のファイル閲覧トランザクションは、図11に例示されるデータフォーマットを有する。図11に示されるように、ファイル閲覧トランザクションには、ブロックチェーンの入力トランザクションとして、S1003で通知されたサービス認可トランザクションのハッシュ値が設定される。また、ファイル閲覧トランザクションには、自装置内で発生したポータルファイル又はイベント情報ファイルの閲覧要求に対応するポータルファイル又はイベント情報ファイルのハッシュ値(アドレス情報)が設定される。更に、イベントトランザクションには、発行元の情報として、クライアント端末504のユーザID(図11中の「userID #W」)とそれに対応する公開鍵情報が設定される。また、ファイル閲覧トランザクションには、宛先の情報として、前述したファイル閲覧処理のサービスに予め割り当てられたユーザID(図11中の「userID #Y」)又はグループID(図11中の「groupID #Z」)とそれらに対応する公開鍵情報が設定される。このユーザID又はグループIDは、前述したファイル登録処理のサービスに予め割り当てられた図7に示される宛先のユーザID又はグループIDと同じである。   The first or second file browsing transaction issued by the transaction issuing application 510 of the client terminal 504 in S1004 or S1009 of FIG. 10 has a data format illustrated in FIG. As shown in FIG. 11, the hash value of the service authorization transaction notified in S1003 is set as the input transaction of the block chain in the file browsing transaction. In the file browsing transaction, a hash value (address information) of the portal file or event information file corresponding to the portal file or event information file browsing request generated in the own apparatus is set. Further, in the event transaction, the user ID of the client terminal 504 (“userID #W” in FIG. 11) and the corresponding public key information are set as issuer information. Further, in the file browsing transaction, as destination information, a user ID (“userID #Y” in FIG. 11) or a group ID (“groupID #Z in FIG. 11) assigned in advance to the file browsing processing service described above is used. ]) And public key information corresponding to them. This user ID or group ID is the same as the destination user ID or group ID shown in FIG. 7, which is assigned in advance to the above-described file registration processing service.

以上のファイルアクセス処理により、分散ファイル共有ネットワーク522上の分散ファイルシステムでのファイルアクセスの認証と証跡情報を、ブロックチェーンの機能を活用し実現することが可能になる。この情報は、サービス課金等に利用してもよい。   Through the above file access processing, file access authentication and trail information in the distributed file system on the distributed file sharing network 522 can be realized by utilizing the block chain function. This information may be used for service billing or the like.

また、要求したファイル情報をユーザが取得するまでは、ファイル閲覧トランザクションの発行を待機し、ファイル取得確認後に該当トランザクションが発行されるようにしてもよい。   Further, until the user obtains the requested file information, it waits for the issuance of a file browsing transaction, and the transaction may be issued after the file acquisition is confirmed.

図12は、図5のIoTゲートウェイ/クライアント端末503又はクライアント端末504の機能をソフトウェア処理として実現できるコンピュータのハードウェア構成の一例を示す図である。   FIG. 12 is a diagram illustrating an example of a hardware configuration of a computer that can realize the function of the IoT gateway / client terminal 503 or the client terminal 504 of FIG. 5 as software processing.

図12に示されるコンピュータは、CPU(中央演算処理装置)1201、メモリ1202、入力装置1203、出力装置1204、外部記憶装置1205、可搬記録媒体1209が挿入される可搬記録媒体駆動装置1206、及び通信インタフェース1207を有し、これらがバス1208によって相互に接続された構成を有する。図12に示される構成はIoTゲートウェイ/クライアント端末503又はクライアント端末504の機能を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。   A computer shown in FIG. 12 includes a CPU (Central Processing Unit) 1201, a memory 1202, an input device 1203, an output device 1204, an external storage device 1205, a portable recording medium driving device 1206 into which a portable recording medium 1209 is inserted, And a communication interface 1207, which are connected to each other by a bus 1208. The configuration shown in FIG. 12 is an example of a computer that can realize the function of the IoT gateway / client terminal 503 or the client terminal 504, and such a computer is not limited to this configuration.

CPU1201は、当該コンピュータ全体の制御を行う。メモリ1202は、プログラムの実行、データ更新等の際に、外部記憶装置1205(或いは可搬記録媒体1209)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP1201は、プログラムをメモリ1202に読み出して実行することにより、全体の制御を行う。   The CPU 1201 controls the entire computer. The memory 1202 is a memory such as a RAM that temporarily stores a program or data stored in the external storage device 1205 (or the portable recording medium 1209) when executing a program, updating data, or the like. The CUP 1201 performs overall control by reading the program into the memory 1202 and executing it.

入力装置1203は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU1201に通知する。   The input device 1203 detects an input operation by a user using a keyboard, a mouse, or the like, and notifies the CPU 1201 of the detection result.

出力装置1204は、CPU1201の制御によって送られてくるデータを表示装置や印刷装置に出力する。   The output device 1204 outputs data sent under the control of the CPU 1201 to a display device or a printing device.

外部記憶装置1205は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。   The external storage device 1205 is, for example, a hard disk storage device. Mainly used for storing various data and programs.

可搬記録媒体駆動装置1206は、SDカード、コンパクトフラッシュ(登録商標)や、CD−ROM、DVD、光ディスク等の可搬記録媒体1209を収容するもので、外部記憶装置1205の補助の役割を有する。   The portable recording medium driving device 1206 accommodates a portable recording medium 1209 such as an SD card, a compact flash (registered trademark), a CD-ROM, a DVD, and an optical disk, and has a role of assisting the external storage device 1205. .

通信インターフェース1207は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。   The communication interface 1207 is a device for connecting, for example, a LAN (local area network) or WAN (wide area network) communication line.

図5のIoTゲートウェイ/クライアント端末503又はクライアント端末504の機能は、以下に説明する図13から図15のフローチャート等で実現される機能を搭載したプログラムをCPU1201が実行することで実現される。そのプログラムは、例えば外部記憶装置1205や可搬記録媒体1209に記録して配布してもよく、或いは通信インタフェース1207によりネットワークから取得できるようにしてもよい。   The functions of the IoT gateway / client terminal 503 or the client terminal 504 in FIG. 5 are realized by the CPU 1201 executing a program equipped with functions realized by the flowcharts in FIGS. 13 to 15 described below. The program may be distributed by being recorded in, for example, the external storage device 1205 or the portable recording medium 1209, or may be acquired from the network by the communication interface 1207.

図13は、図5のIoTゲートウェイ/クライアント端末503が図12のハードウェア構成例を有するコンピュータとして実装される場合において実行されるファイル発行処理例、及びそれに対応する検査ノードの処理例を示すフローチャートである。この処理は、前述した図6のシーケンス例で示されるIoTゲートウェイ/クライアント端末503のファイル発行処理を、図12のハードウェア構成例のコンピュータで実行する場合の処理を示した図である。この処理は、図12のCPU1201が、外部記憶装置1205等からメモリ1202にロードされたファイル発行処理プログラムを実行する処理である。   FIG. 13 is a flowchart showing an example of file issuance processing executed when the IoT gateway / client terminal 503 of FIG. 5 is implemented as a computer having the hardware configuration example of FIG. 12, and a processing example of a check node corresponding thereto. It is. This processing is a diagram showing processing when the file issuing processing of the IoT gateway / client terminal 503 shown in the sequence example of FIG. 6 described above is executed by the computer of the hardware configuration example of FIG. This process is a process in which the CPU 1201 in FIG. 12 executes a file issuance process program loaded from the external storage device 1205 or the like into the memory 1202.

図13において、ステップS1301及びS1302は、図5のIoTゲートウェイ/クライアント端末503が実装するトランザクション発行アプリ510が実行する処理である。ステップS1305、S1308からS1310、及びS1313及びS1314の処理は、図5のIoTゲートウェイ/クライアント端末503が実装するブロックチェーンアプリ511が実行する処理である。また、ステップS1311とS1312、及びS1319とS1320の処理は、図5のIoTゲートウェイ/クライアント端末503が実装する分散ファイル共有アプリ512が実行する処理である。更に、ステップS1303とS1304、S1306とS1307、及びS1315とS1316の処理は、検査ノードの特には図示しないCPUが実行する処理である。   In FIG. 13, steps S1301 and S1302 are processes executed by the transaction issuing application 510 implemented by the IoT gateway / client terminal 503 in FIG. The processes in steps S1305 and S1308 to S1310, and S1313 and S1314 are processes executed by the block chain application 511 installed in the IoT gateway / client terminal 503 in FIG. Further, the processes in steps S1311 and S1312, and S1319 and S1320 are processes executed by the distributed file sharing application 512 implemented by the IoT gateway / client terminal 503 in FIG. Further, the processes in steps S1303 and S1304, S1306 and S1307, and S1315 and S1316 are processes executed by a CPU (not shown) of the check node.

CPU1201はまず、自装置に対するユーザ認証処理を実行する(ステップS1301)。この処理は、ブロックチェーンの既存の認証処理であり、図6のS601から S603のシーケンスを実行する処理である。   First, the CPU 1201 executes user authentication processing for its own device (step S1301). This process is an existing authentication process of the block chain, and is a process for executing the sequence from S601 to S603 in FIG.

次に、CPU1201は、イベントトランザクション発行処理を実行する(ステップS1302)。この処理は、図6のS604のシーケンスを実行する処理である。   Next, the CPU 1201 executes event transaction issuing processing (step S1302). This process is a process for executing the sequence of S604 in FIG.

ステップS1302の処理の結果、CPU1201から通信インタフェース1207を介してLAN上の認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図6のS605)が送信される。この結果、検査ノードのCPUは、イベントトランザクションを取得し(ステップS1303)、そのイベントトランザクションを含むブロックを確定させ、そのブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1304)。この処理は、図6のS606のシーケンスを実行する処理である。   As a result of the processing in step S1302, a transaction notification (S605 in FIG. 6) is transmitted from the CPU 1201 to the inspection node on the authentication / trait management proxy network 521 (see FIG. 5) on the LAN via the communication interface 1207. As a result, the CPU of the check node acquires an event transaction (step S1303), determines a block including the event transaction, and returns a confirmation notification of the block to the IoT gateway / client terminal 503 (step S1304). This process is a process for executing the sequence of S606 in FIG.

IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、ファイル生成トランザクション発行処理を実行する(ステップS1305)。この処理は、図6のS607のシーケンスを実行する処理である。   When the CPU 1201 of the IoT gateway / client terminal 503 receives the confirmation notification via the communication interface 1207, the CPU 1201 executes a file generation transaction issuing process (step S1305). This process is a process for executing the sequence of S607 in FIG.

ステップS1305の処理の結果、CPU1201から通信インタフェース1207を介して認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図6のS608)が送信される。この結果、検査ノードのCPUは、ファイル生成トランザクションを取得し(ステップS1306)、そのファイル生成トランザクションを含むブロックを確定させ、そのブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1307)。この処理は、図6のS609のシーケンスを実行する処理である。   As a result of the processing in step S1305, a transaction notification (S608 in FIG. 6) is transmitted from the CPU 1201 to the inspection node on the authentication / trait management proxy network 521 (see FIG. 5) via the communication interface 1207. As a result, the CPU of the check node acquires the file generation transaction (step S1306), determines the block including the file generation transaction, and returns a notification of the block determination to the IoT gateway / client terminal 503 (step S1307). . This process is a process for executing the sequence of S609 in FIG.

IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応するファイル生成トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1308)。   When the CPU 1201 of the IoT gateway / client terminal 503 receives the confirmation notification via the communication interface 1207, the CPU 1201 starts executing the processing logic executed in response to the file generation transaction corresponding to the confirmed block ( Step S1308).

この処理ロジックにおいて、CPU1201はまず、ファイル生成処理を実行する(ステップS1309)。この処理は、図6のS610のシーケンスを実行する処理である。   In this processing logic, the CPU 1201 first executes a file generation process (step S1309). This process is a process for executing the sequence of S610 in FIG.

上記処理ロジックにおいて、CPU1201は次に、ファイル登録処理を実行する(ステップS1310)。この処理は、図6のS611のシーケンスを実行する処理である。   In the above processing logic, the CPU 1201 next executes a file registration process (step S1310). This process is a process for executing the sequence of S611 in FIG.

この結果、CPU1201は、通信インタフェース1207を介してLAN上の分散ファイル共有ネットワーク522に対して、イベント情報ファイルの登録処理を実行する(ステップS1311)。この処理は、図6のS611のシーケンスを実行する処理である。   As a result, the CPU 1201 executes an event information file registration process for the distributed file sharing network 522 on the LAN via the communication interface 1207 (step S1311). This process is a process for executing the sequence of S611 in FIG.

ステップS1311のファイル登録処理の結果、CPU1201は、イベント情報ファイルのハッシュ値をアドレス情報として発行する(ステップS1312)。この結果、CPU1201は、発行されたアドレス情報を取得してメモリ1202に記憶する等の処理を実行する(ステップS1313)。ステップS1312とS1313の処理は、図6のS612のシーケンスを実行する処理である。   As a result of the file registration process in step S1311, the CPU 1201 issues the hash value of the event information file as address information (step S1312). As a result, the CPU 1201 executes processing such as acquiring the issued address information and storing it in the memory 1202 (step S1313). The processes in steps S1312 and S1313 are processes for executing the sequence of S612 in FIG.

続いて、CPU1201は、サービス登録トランザクション発行処理を実行する(ステップS1314)。この処理は、図6のS613のシーケンスを実行する処理である。   Subsequently, the CPU 1201 executes a service registration transaction issue process (step S1314). This process is a process for executing the sequence of S613 in FIG.

ステップS1314の処理の結果、CPU1201から通信インタフェース1207を介して認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図6のS614)が送信される。この結果、検査ノードのCPUは、サービス登録トランザクションを取得し(ステップS1315)、そのサービス登録トランザクションを含むブロックを確定させ、そのサービス登録トランザクションのブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1316)。この処理は、図6のS615のシーケンスを実行する処理である。   As a result of the processing in step S1314, a transaction notification (S614 in FIG. 6) is transmitted from the CPU 1201 to the inspection node on the authentication / trait management proxy network 521 (see FIG. 5) via the communication interface 1207. As a result, the CPU of the inspection node obtains the service registration transaction (step S1315), confirms the block including the service registration transaction, and returns a confirmation notification of the block of the service registration transaction to the IoT gateway / client terminal 503. (Step S1316). This process is a process for executing the sequence of S615 in FIG.

IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応するサービス登録トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1317)。   When the CPU 1201 of the IoT gateway / client terminal 503 receives the confirmation notification via the communication interface 1207, the CPU 1201 starts execution of processing logic executed in response to the service registration transaction corresponding to the confirmed block ( Step S1317).

この処理ロジックにおいて、CPU1201はまず、ブロックチェーンアプリ511上で、ポータルファイルの取得処理を実行する(ステップS1318)。この結果、CPU1201は、分散ファイル共有アプリ512を実行することにより、分散ファイル共有ネットワーク522上のポータルファイルにアクセスし、それを取得する(ステップS1319)。ステップS1318及びS1319の処理は、図6のS616のシーケンスを実行する処理である。   In this processing logic, the CPU 1201 first executes portal file acquisition processing on the block chain application 511 (step S1318). As a result, the CPU 1201 executes the distributed file sharing application 512 to access the portal file on the distributed file sharing network 522 and acquire it (step S1319). The processing in steps S1318 and S1319 is processing for executing the sequence in S616 in FIG.

上記処理ロジックにおいて、CPU1201は次に、ポータルファイルの更新処理を実行する(ステップS1320)。ここでは、CPU1201は、ブロックチェーンアプリ511を実行する。これにより、CPU1201は、ステップS1313で取得したイベント情報ファイルに対応するハッシュ値(アドレス情報)に、イベント情報ファイルに対応するサービス内容を含む情報を紐付けた情報を、上記取得したポータルファイルに追加して更新する。その後、CPU1201は、ブロックチェーンアプリ511から分散ファイル共有アプリ512に実行を移す。CPU1201は、ステップS1320で更新したポータルファイルを、分散ファイル共有ネットワーク522に再登録する(ステップS1321)。ステップS1320とS1321の処理は、図6のS617のシーケンスを実行する処理である。   In the above processing logic, the CPU 1201 next executes a portal file update process (step S1320). Here, the CPU 1201 executes the block chain application 511. As a result, the CPU 1201 adds, to the acquired portal file, information obtained by associating the hash value (address information) corresponding to the event information file acquired in step S1313 with the information including the service content corresponding to the event information file. And update. Thereafter, the CPU 1201 shifts execution from the block chain application 511 to the distributed file sharing application 512. The CPU 1201 re-registers the portal file updated in step S1320 in the distributed file sharing network 522 (step S1321). The processing in steps S1320 and S1321 is processing for executing the sequence in S617 in FIG.

以上の図13のフローチャートで例示されるファイル発行処理を図12のハードウェア構成例のコンピュータが実行することにより、IoTゲートウェイ/クライアント端末503による図6に例示されるシーケンスのファイル発行処理が実現される。   The file issuing process illustrated in the flowchart of FIG. 13 is executed by the computer of the hardware configuration example of FIG. 12, whereby the file issuing process of the sequence illustrated in FIG. 6 by the IoT gateway / client terminal 503 is realized. The

図14は、図5のIoTゲートウェイ/クライアント端末503が図12のハードウェア構成例を有するコンピュータとして実装される場合において実行される他のファイル発行処理例、及びそれに対応する検査ノードの処理例を示すフローチャートである。この処理は、前述した図9のシーケンス例で示されるIoTゲートウェイ/クライアント端末503の他のファイル発行処理を、図12のハードウェア構成例のコンピュータで実行する場合の処理を示した図である。この処理は、図12のCPU1201が、外部記憶装置1205等からメモリ1202にロードされた他のWEB発行処理プログラムを実行する処理である。   FIG. 14 shows another example of file issuance processing executed when the IoT gateway / client terminal 503 in FIG. 5 is implemented as a computer having the hardware configuration example in FIG. It is a flowchart to show. This processing is a diagram showing processing when another file issuing processing of the IoT gateway / client terminal 503 shown in the sequence example of FIG. 9 described above is executed by the computer of the hardware configuration example of FIG. This process is a process in which the CPU 1201 in FIG. 12 executes another WEB issue process program loaded from the external storage device 1205 or the like into the memory 1202.

前述した図13では、図6で説明したシーケンス例に対応して、イベントトランザクションの発行(S1302)に加えて、2つのトランザクションが発行されていた。そのうちの1つは、ファイル生成処理(S1309)及びファイル登録処理(S1310、S1311)を実行するための、ファイル生成トランザクション発行(S1305)である。他の1つは、サービス登録処理(S1318〜S1321)を実行するための、サービス登録トランザクション発行(S1314)である。これに対して、図14では、図9で前述したシーケンス例に対応して、上記一連の処理(S1309〜S1311、S1318〜S1321)が、1つのトランザクションのブロックの確定を契機として、連続して実行される点が異なる。   In FIG. 13 described above, two transactions are issued in addition to the event transaction issuance (S1302) corresponding to the sequence example described in FIG. One of them is a file generation transaction issuance (S1305) for executing a file generation process (S1309) and a file registration process (S1310, S1311). The other is a service registration transaction issuance (S1314) for executing the service registration process (S1318 to S1321). On the other hand, in FIG. 14, the series of processes (S1309 to S1311, S1318 to S1321) correspond to the sequence example described above with reference to FIG. It is executed differently.

具体的には、図14において、図13と同じ参照番号が付されたステップは、図13の場合と同じ処理である。図14のステップが図13のステップと異なる部分についてのみ、以下に説明する。   Specifically, in FIG. 14, steps denoted by the same reference numerals as in FIG. 13 are the same processing as in FIG. 13. Only portions where the steps of FIG. 14 are different from the steps of FIG. 13 will be described below.

CPU1201は、ブロックチェーンアプリ511の実行において、図13の場合と同様にして、イベントトランザクションに対応するブロックの確定通知(S1304)を受信すると、次の処理を実行する。CPU1201は、統合トランザクションの発行処理を実行する(ステップS1401)。この処理は、図9のS901のシーケンスを実行する処理である。   In the execution of the block chain application 511, the CPU 1201 executes the following process when receiving the block confirmation notification (S1304) corresponding to the event transaction, as in the case of FIG. The CPU 1201 executes integrated transaction issuance processing (step S1401). This process is a process for executing the sequence of S901 in FIG.

ステップS1401の処理の結果、CPU1201から通信インタフェース1207を介して認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図9のS902)が送信される。この結果、検査ノードのCPUは、統合トランザクションを取得し(ステップS1402)、その統合トランザクションを含むブロックを確定させ、その統合トランザクションに対応するブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1403)。この処理は、図9のS903のシーケンスを実行する処理である。   As a result of the processing in step S1401, a transaction notification (S902 in FIG. 9) is transmitted from the CPU 1201 to the inspection node on the authentication / trait management proxy network 521 (see FIG. 5) via the communication interface 1207. As a result, the CPU of the check node acquires the integrated transaction (step S1402), determines the block including the integrated transaction, and returns a confirmation notification of the block corresponding to the integrated transaction to the IoT gateway / client terminal 503 ( Step S1403). This process is a process for executing the sequence of S903 in FIG.

IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応する統合トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1401)。   When the CPU 1201 of the IoT gateway / client terminal 503 receives the confirmation notification via the communication interface 1207, the CPU 1201 starts execution of processing logic executed corresponding to the integrated transaction corresponding to the confirmed block (step). S1401).

この処理ロジックにおいて、CPU1201は、図13の場合と同様の、ステップS1309からS1313の一連の処理を実行し、更に、ステップS1318からS1321の一連の処理を連続して実行する。これらの処理は、図9のS610からS612の一連のシーケンスを実行し、更にS616とS617の一連のシーケンスを連続して実行する処理である。   In this processing logic, the CPU 1201 executes a series of processes from Steps S1309 to S1313 as in the case of FIG. 13, and further continuously executes a series of processes from Steps S1318 to S1321. These processes are processes in which a series of sequences from S610 to S612 in FIG. 9 are executed, and a series of sequences in S616 and S617 are executed successively.

以上の図14のフローチャートで例示される他のファイル発行処理を図12のハードウェア構成例のコンピュータが実行することにより、IoTゲートウェイ/クライアント端末503による図9に例示されるシーケンスの他のWEB発行処理が実現される。   The other file issuance processing illustrated in the flowchart of FIG. 14 is executed by the computer of the hardware configuration example of FIG. 12, so that another WEB issuance of the sequence illustrated in FIG. 9 by the IoT gateway / client terminal 503 is performed. Processing is realized.

図15は、図5のクライアント端末504が図12のハードウェア構成例を有するコンピュータとして実装される場合において実行されるファイルアクセス処理例、及びそれに対応する検査ノードの処理例を示すフローチャートである。この処理は、前述した図10のシーケンス例で示されるクライアント端末504のファイルアクセス処理を、図12のハードウェア構成例のコンピュータで実行する場合の処理を示した図である。この処理は、図12のCPU1201が、外部記憶装置1205等からメモリ1202にロードされたファイルアクセス処理プログラムを実行する処理である。   FIG. 15 is a flowchart illustrating an example of file access processing executed when the client terminal 504 of FIG. 5 is implemented as a computer having the hardware configuration example of FIG. 12, and a processing example of a check node corresponding thereto. This processing is a diagram showing processing when the file access processing of the client terminal 504 shown in the above-described sequence example of FIG. 10 is executed by the computer of the hardware configuration example of FIG. This process is a process in which the CPU 1201 in FIG. 12 executes a file access processing program loaded from the external storage device 1205 or the like into the memory 1202.

図15において、ステップS1501とS1502、及びS1508は、図5のクライアント端末504が実装するトランザクション発行アプリ510が実行する処理である。ステップS1505とS1506、S1511とS1512は、図5のクライアント端末504が実装するブロックチェーンアプリ511が実行する処理である。また、ステップS1507とS1513の処理は、図5のクライアント端末504が実装する分散ファイル共有アプリ512が実行する処理である。更に、ステップS1503とS1504、及びS1509とS1510の処理は、検査ノードの特には図示しないCPUが実行する処理である。   15, steps S1501, S1502, and S1508 are processes executed by the transaction issuing application 510 implemented by the client terminal 504 in FIG. Steps S1505 and S1506, and S1511 and S1512 are processes executed by the block chain application 511 implemented by the client terminal 504 in FIG. Further, the processing in steps S1507 and S1513 is processing executed by the distributed file sharing application 512 implemented by the client terminal 504 in FIG. Further, the processes of steps S1503 and S1504 and S1509 and S1510 are processes executed by a CPU (not shown) of the check node.

CPU1201はまず、クライアント端末504に対するユーザ認証処理を実行する(ステップS1501)。この処理は、ブロックチェーンの既存の認証処理であり、図10のS1001から S1003のシーケンスを実行する処理である。   First, the CPU 1201 executes user authentication processing for the client terminal 504 (step S1501). This process is an existing authentication process of the block chain, and is a process for executing the sequence from S1001 to S1003 in FIG.

次に、CPU1201は、第1のファイル閲覧トランザクション発行処理を実行する(ステップS1502)。この処理は、図10のS1004のシーケンスを実行する処理である。   Next, the CPU 1201 executes a first file browsing transaction issuing process (step S1502). This process is a process for executing the sequence of S1004 in FIG.

ステップS1502の処理の結果、CPU1201から通信インタフェース1207を介してLAN上の認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図10のS1005)が送信される。この結果、検査ノードのCPUは、第1のファイル閲覧トランザクションを取得し(ステップS1503)、その第1のファイル閲覧トランザクションを含むブロックを確定させ、そのブロックの確定通知を、クライアント端末504に返す(ステップS1504)。この処理は、図10のS1006のシーケンスを実行する処理である。   As a result of the processing in step S1502, a transaction notification (S1005 in FIG. 10) is transmitted from the CPU 1201 to the inspection node on the authentication / trait management proxy network 521 on the LAN (see FIG. 5) via the communication interface 1207. As a result, the CPU of the inspection node acquires the first file browsing transaction (step S1503), determines the block including the first file browsing transaction, and returns a confirmation notification of the block to the client terminal 504 ( Step S1504). This process is a process for executing the sequence of S1006 in FIG.

クライアント端末504のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応する第1のファイル閲覧トランザクションに対して実行される処理ロジックの実行を開始する(ステップS1505)。   When the CPU 1201 of the client terminal 504 receives the confirmation notification via the communication interface 1207, the CPU 1201 starts execution of the processing logic executed for the first file browsing transaction corresponding to the confirmed notification block (Step S1). S1505).

この処理ロジックで、CPU1201はまず、クライアント端末504内でブロックチェーンアプリ511から分散ファイル共有アプリ512に、ポータルファイルのハッシュ値(アドレス情報)を用いたポータルファイル要求処理を実行する(ステップS1506)。ポータルファイルのハッシュ値(アドレス情報)は、第1のファイル閲覧トランザクションで指定されているものが使用される。この処理は、図10のS1007のシーケンスを実行する処理である。   With this processing logic, the CPU 1201 first executes a portal file request process using the hash value (address information) of the portal file from the block chain application 511 to the distributed file sharing application 512 in the client terminal 504 (step S1506). As the hash value (address information) of the portal file, the one specified in the first file browsing transaction is used. This process is a process for executing the sequence of S1007 in FIG.

この結果、CPU1201は、分散ファイル共有アプリ512上で、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、ポータルファイルを取得し、ブロックチェーンアプリ511を介してトランザクション発行アプリ510に送信する。この結果、CPU1201は、クライアント端末504の特には図示しないディスプレイ等に、図8に例示した、各サービス名、イベント情報ファイル名、及びイベント情報ファイルのハッシュ値(アドレス情報)の一覧を表示し、ユーザが閲覧可能となる。この処理は、図10のS1008のシーケンスを実行する処理である。   As a result, the CPU 1201 accesses the distributed file sharing network 522 using the hash value on the distributed file sharing application 512, acquires a portal file, and transmits the portal file to the transaction issuing application 510 via the block chain application 511. As a result, the CPU 1201 displays a list of service names, event information file names, and hash values (address information) of the event information files illustrated in FIG. The user can browse. This process is a process for executing the sequence of S1008 in FIG.

続いて、クライアント端末504のユーザが、ディスプレイ上の上記一覧を見ながら、何れかのサービス名に対応するイベント情報ファイルのハッシュ値を指定する。この結果、CPU1201は、トランザクション発行アプリ510上で、自装置内で発生したファイル閲覧要求で指定されているイベント情報ファイルのハッシュ値(アドレス情報)を含む第2のファイル閲覧トランザクション発行処理を実行する(S1508)。この処理は、図10のS1009のシーケンスを実行する処理である。   Subsequently, the user of the client terminal 504 designates the hash value of the event information file corresponding to one of the service names while viewing the list on the display. As a result, the CPU 1201 executes the second file browsing transaction issuing process including the hash value (address information) of the event information file specified by the file browsing request generated in the own device on the transaction issuing application 510. (S1508). This process is a process for executing the sequence of S1009 in FIG.

ステップS1508の処理の結果、CPU1201から通信インタフェース1207を介してLAN上の認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図10のS1010)が送信される。この結果、検査ノードのCPUは、第2のファイル閲覧トランザクションを取得し(ステップS1509)、その第2のファイル閲覧トランザクションを含むブロックを確定させ、そのブロックの確定通知を、クライアント端末504に返す(ステップS1510)。この処理は、図10のS1011のシーケンスを実行する処理である。   As a result of the processing in step S1508, a transaction notification (S1010 in FIG. 10) is transmitted from the CPU 1201 to the inspection node on the authentication / trait management proxy network 521 (see FIG. 5) via the communication interface 1207. As a result, the CPU of the inspection node acquires the second file browsing transaction (step S1509), determines the block including the second file browsing transaction, and returns a confirmation notification of the block to the client terminal 504 ( Step S1510). This process is a process for executing the sequence of S1011 in FIG.

クライアント端末504のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応する第2のファイル閲覧トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1511)。   When the CPU 1201 of the client terminal 504 receives the confirmation notification via the communication interface 1207, the CPU 1201 starts executing the processing logic executed in response to the second file browsing transaction corresponding to the confirmed block ( Step S1511).

この処理ロジックで、CPU1201はまず、クライアント端末504内でブロックチェーンアプリ511から分散ファイル共有アプリ512に、イベント情報ファイルのハッシュ値(アドレス情報)を用いたファイル要求処理を実行する(ステップS1512)。イベント情報ファイルファイルのハッシュ値(アドレス情報)は、第2のファイル閲覧トランザクションで指定されているものが使用される。この処理は、図10のS1012のシーケンスを実行する処理である。   With this processing logic, the CPU 1201 first executes file request processing using the hash value (address information) of the event information file from the block chain application 511 to the distributed file sharing application 512 in the client terminal 504 (step S1512). As the hash value (address information) of the event information file, the one specified in the second file browsing transaction is used. This process is a process for executing the sequence of S1012 in FIG.

この結果、CPU1201は、分散ファイル共有アプリ512上で、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、イベント情報ファイルを取得し、ブロックチェーンアプリ511を介してトランザクション発行アプリ510に送信する。この結果、クライアント端末504の特には図示しないディスプレイ等に、イベント情報ファイルの内容が表示され、ユーザが閲覧可能となる。この処理は、図10のS1013のシーケンスを実行する処理である。   As a result, the CPU 1201 accesses the distributed file sharing network 522 using the hash value on the distributed file sharing application 512, acquires an event information file, and transmits the event information file to the transaction issuing application 510 via the block chain application 511. As a result, the contents of the event information file are displayed on the client terminal 504, particularly a display (not shown), and can be browsed by the user. This process is a process for executing the sequence of S1013 in FIG.

以上説明したように、本実施形態では、端末で発生したイベントに関する情報が、ブロックチェーンを用いて分散ファイル共有ネットワークに含まれるノード装置間で共有される。そして、そのイベントに関する情報を含むファイルが生成され、このファイルを分散ファイル共有ネットワークのいずれかのノード装置で保持する。これにより、分散ファイル共有システムにおいて、閉域ネットワーク空間である高セキュアなファイル共有空間を構築することが可能となる。本実施形態では、IoTゲートウェイ/クライアント端末503でセンサ検知や端末入力等に基づくイベント情報のファイル登録要求が発生したり、クライアント端末504からファイル閲覧要求が発生したりした場合に、次のような制御が実行される。この場合、IoTゲートウェイ/クライアント端末503やクライアント端末504でブロックチェーンアプリ511が実行され、このブロックチェーンアプリケーション511が分散ファイル共有アプリ512を実行(キック)する。これにより、分散ファイル共有アプリ512が、分散ファイル共有ネットワーク522に対するイベント情報ファイルの登録やアクセスを実行する。この場合、IoTゲートウェイ/クライアント端末503やクライアント端末504のブロックチェーンアプリ511は、ユーザ/グループ認証や、コンテンツの一意性の保証、サービスリポジトリ、ファイルのデータ/アクセスログ管理、ファイルのアクセス制御を実行する。これにより、分散ファイル共有ネットワーク522に対するイベント情報ファイルの登録/アクセスや、ポータルファイルのアクセスが、高セキュアに実行される。   As described above, in this embodiment, information related to an event that has occurred in a terminal is shared between node devices included in a distributed file sharing network using a block chain. Then, a file including information regarding the event is generated, and this file is held in any node device of the distributed file sharing network. Thereby, in the distributed file sharing system, it is possible to construct a highly secure file sharing space that is a closed network space. In the present embodiment, when a file registration request for event information based on sensor detection, terminal input, or the like occurs in the IoT gateway / client terminal 503 or a file browsing request occurs from the client terminal 504, the following Control is executed. In this case, the block chain application 511 is executed by the IoT gateway / client terminal 503 and the client terminal 504, and the block chain application 511 executes (kicks) the distributed file sharing application 512. Thereby, the distributed file sharing application 512 executes registration and access of the event information file to the distributed file sharing network 522. In this case, the block chain application 511 of the IoT gateway / client terminal 503 and the client terminal 504 executes user / group authentication, guarantee of content uniqueness, service repository, file data / access log management, and file access control. To do. Thereby, the registration / access of the event information file to the distributed file sharing network 522 and the access of the portal file are executed with high security.

具体的には、本実施形態では、ブロックチェーンが備える認証機能により、分散ファイル共有ネットワークにおけるユーザやグループを単位とする認証機能を提供することが可能となる。   Specifically, in this embodiment, an authentication function provided in the block chain can provide an authentication function in units of users and groups in the distributed file sharing network.

また、本実施形態では、ファイル生成処理において、イベントトランザクションのハッシュ値が、コンテンツの一意性を保証する識別情報としてイベント情報ファイルに埋め込まれる。これにより、本実施形態によれば、分散ファイル共有ネットワーク上のイベント情報ファイルのコンテンツの一意性を保証する機能を提供することが可能となる。   In this embodiment, in the file generation process, the hash value of the event transaction is embedded in the event information file as identification information that guarantees the uniqueness of the content. As a result, according to the present embodiment, it is possible to provide a function for guaranteeing the uniqueness of the content of the event information file on the distributed file sharing network.

更に、本実施形態では、分散ファイル共有ネットワークに登録されたイベント情報ファイルのアドレス情報にサービス内容を含む情報を紐付けた情報が、分散ファイル共有ネットワーク上のポータルファイルに登録される。これにより、本実施形態によれば、サービスと分散ファイル共有ネットワーク上のイベント情報ファイルのアドレスとの関係を一元管理するリポジトリ機能を提供することが可能となる。   Furthermore, in the present embodiment, information in which information including service contents is associated with the address information of the event information file registered in the distributed file sharing network is registered in the portal file on the distributed file sharing network. Thus, according to the present embodiment, it is possible to provide a repository function that centrally manages the relationship between the service and the address of the event information file on the distributed file sharing network.

加えて、本実施形態では、イベント情報ファイルの登録やアクセスの過程がブロックチェーンに記録される。これにより、本実施形態によれば、分散ファイル共有ネットワークにおけるファイル登録時のデータ履歴(ログ)の記録やファイルアクセス時のアクセス履歴(ログ)の記録等の証跡管理機能を提供することが可能となる。   In addition, in the present embodiment, the registration and access process of the event information file is recorded in the block chain. Thereby, according to the present embodiment, it is possible to provide a trail management function such as data history (log) recording at the time of file registration in the distributed file sharing network and access history (log) recording at the time of file access. Become.

以上説明したように、本実施形態では、ブロックチェーンでつくる堅牢なネットワーク空間に、例えばIPFSによる分散WEBシステム等の分散ファイル共有ネットワークを統合することが可能となる。これにより、例えば膨大なセンサ情報出力やクライアント端末入力のファイルサービス化を行うことのできるIoTゲートウェイ/クライアント端末を簡単かつセキュアに実現することが可能となる。   As described above, in this embodiment, it is possible to integrate a distributed file sharing network such as a distributed WEB system based on IPFS, for example, in a robust network space formed by a block chain. Thereby, for example, it is possible to easily and securely realize an IoT gateway / client terminal that can perform file service of a huge amount of sensor information output and client terminal input.

本実施形態が適用されるユースケースとしては、物流における「モノ」の状態をセンシングし、異常発生等の「コト」の情報を記録して公開するようなシステムが考えられる。   As a use case to which the present embodiment is applied, a system that senses a state of “thing” in physical distribution, records information of “thing” such as occurrence of abnormality, and publishes it can be considered.

より具体的には、本実施形態によれば、IoTゲートウェイ/クライアント端末間のピアツーピア通信のみで、センサ情報出力やクライアント端末入力のファイルサービス化を創る自己組織型ネットワークが実現される。   More specifically, according to the present embodiment, a self-organizing network that creates sensor information output and file service of client terminal input is realized only by peer-to-peer communication between the IoT gateway / client terminal.

また、本実施形態によれば、ユーザ認証、データ著作権を含むコンテンツの一意性の保証、アクセス証跡等のセキュリティ機能をブロックチェーン技術を応用・拡張して実現でき、堅牢な閉空間を創る分散型セキュリティプラットホームが実現される。   In addition, according to the present embodiment, security functions such as user authentication, guaranteeing the uniqueness of content including data copyright, and access trail can be realized by applying and expanding blockchain technology to create a robust closed space. Type security platform is realized.

更に、本実施形態による通信システムを、特定の業種/組織のスモールスタートから、複数の業種/組織を繋ぐサービス共創の場に発展させることが可能となり、スモールスタートから拡げるIoT情報の共創空間が実現される。   Further, the communication system according to the present embodiment can be developed from a small start of a specific industry / organization to a place of service co-creation connecting a plurality of industries / organizations, and a co-creation space of IoT information expanded from the small start. Is realized.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
分散ファイル共有ネットワークに含まれるノード装置が実行する通信方法であって、
端末で発生したイベントに関する情報をブロックチェーンを用いて前記分散ファイル共有ネットワークに含まれるノード装置間で共有し、
前記イベントに関する情報を含むファイルを生成し、
前記生成されたファイルを前記分散ファイル共有ネットワークに含まれるいずれかのノード装置で保持する、
ことを特徴とする通信方法。
(付記2)
前記ノード装置が、前記ファイルの保持を行った後に、前記分散ファイル共有ネットワークに保持された前記ファイルのアドレス情報に前記ファイルに対応するサービス内容を含む情報を紐付けた情報をポータルファイルに追加し、前記ポータルファイルを前記分散ファイル共有ネットワークに保持する、
ことを特徴とする付記1に記載の通信方法。
(付記3)
前記ノード装置が、
前記イベントに関する情報を含むトランザクションに対応するブロックの確定後に前記ファイルを生成するトランザクションを発行することにより、前記確定したトランザクションのハッシュ値を、コンテンツの一意性を保証する識別情報として前記ファイルに埋め込む、
ことを特徴とする付記1又は2に記載の通信方法。
(付記4)
前記ノード装置が、前記ファイルを前記分散ファイル共有ネットワークに保持した時のデータ履歴を、前記ブロックチェーンによって管理する、
ことを特徴とする付記1乃至3の何れかに記載の通信方法。
(付記5)
少なくとも1つの前記ノード装置が、
前記ポータルファイルのアドレス情報を指定したブロックチェーンのトランザクションを第1のファイル閲覧トランザクションとして認証及び発行し、
前記第1のファイル閲覧トランザクションの発行を契機に、前記ポータルファイルのアドレス情報に基づいて前記分散ファイル共有ネットワークから前記ポータルファイルを取得し、
前記取得したポータルファイル上で選択された前記サービス内容に対応する前記イベントに関する情報のファイルのアドレス情報を指定したブロックチェーンのトランザクションを第2のファイル閲覧トランザクションとして発行し、
前記第2のファイル閲覧トランザクションの発行を契機に、前記イベントに関する情報のファイルのアドレス情報に基づいて前記分散ファイル共有ネットワークから前記イベントに関する情報のファイルを取得する、
ことを特徴とする付記2に記載の通信方法。
(付記6)
前記ノード装置が、
前記イベント情報に関するファイルのアドレス情報を指定したブロックチェーンのトランザクションをファイル閲覧トランザクションとして発行し、
前記ファイル閲覧トランザクションの発行を契機に、前記イベントに関する情報のファイルのアドレス情報に基づいて前記分散ファイル共有ネットワークから前記イベントに関する情報のファイルを取得する、
ことを特徴とする付記1に記載の通信方法。
(付記7)
前記ノード装置が、前記分散ファイル共有ネットワークへのアクセス時のアクセス履歴を、前記ブロックチェーンによって管理する、
ことを特徴とする付記5又は6に記載の通信方法。
(付記8)
前記ノード装置が、
前記ノード装置を操作するユーザ毎にユーザ公開鍵とユーザ秘密鍵の組を含むユーザアカウント情報を設定し、
複数のユーザが属するグループ毎に前記グループに属する前記複数のユーザ間で共有されるグループ公開鍵とグループ秘密鍵の組を含むグループアカウント情報を設定し、
前記ファイルを生成するとき、前記ブロックチェーン中のトランザクションに設定されている宛先のユーザ又はグループに対応するユーザ公開鍵又はグループ公開鍵で、前記ファイルを暗号化する、
ことを特徴とする付記1乃至7の何れかに記載の通信方法。
(付記9)
前記ノード装置が、前記ユーザ公開鍵及び前記ユーザ秘密鍵の組の各値、又は前記グループ公開鍵及び前記グループ秘密鍵の組の各値に、利用期限を設けて定期的に更新する、
ことを特徴とする付記8に記載の通信方法。
(付記10)
前記イベントに関する情報を前記ブロックチェーンのトランザクションとして発行し、前記トランザクションの発行を契機として前記イベントに関する情報を含むファイルを生成する、
ことを特徴とする付記1乃至9の何れかに記載の通信方法。
(付記11)
前記ファイルの生成、前記ファイルの保持、又は前記ポータルファイルの保持の少なくとも1つは、異なる前記ノード装置によって実行される、
ことを特徴とする付記1乃至10の何れかに記載の通信方法。
(付記12)
前記分散ファイル共有ネットワークは、分散ファイルシステムとしてインタープラネタリーファイルシステムを構成し、前記アドレス情報を、前記保持が行われたファイルのハッシュ値を内容アドレスとして含むハイパーリンクとして指定する、
ことを特徴とする付記1乃至11の何れかに記載の通信方法。
(付記13)
分散ファイル共有ネットワークに含まれる通信装置であって、
端末で発生したイベントに関する情報を、ブロックチェーン用いて前記分散ファイル共有ネットワークに含まれるノード装置間で共有する手段と、
前記イベントに関する情報を含むファイルを生成する手段と、
前記生成されたファイルを前記分散ファイル共有ネットワークに含まれるいずれかのノード装置で保持する手段と、
を備えることを特徴とする通信装置。
(付記14)
分散ファイル共有ネットワークに含まれるノード装置のコンピュータに、
端末で発生したイベントに関する情報を、ブロックチェーンを用いて前記分散ファイル共有ネットワークに含まれるノード装置間で共有し、
前記イベントに関する情報を含むファイルを生成し、
前記生成されたファイルを前記分散ファイル共有ネットワークに含まれるいずれかのノード装置で保持する、
ことを実行させるためのプログラム。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
A communication method executed by a node device included in a distributed file sharing network,
Sharing information about events that occur in the terminal between the node devices included in the distributed file sharing network using a block chain,
Generate a file containing information about the event;
Holding the generated file in any of the node devices included in the distributed file sharing network;
A communication method characterized by the above.
(Appendix 2)
After the node device holds the file, the node device adds, to the portal file, information in which information including service contents corresponding to the file is associated with the address information of the file held in the distributed file sharing network. , Holding the portal file in the distributed file sharing network,
The communication method according to supplementary note 1, wherein:
(Appendix 3)
The node device is
By issuing a transaction for generating the file after determining a block corresponding to a transaction including information on the event, the hash value of the determined transaction is embedded in the file as identification information that guarantees the uniqueness of content.
The communication method according to appendix 1 or 2, characterized in that:
(Appendix 4)
The node device manages the data history when the file is held in the distributed file sharing network by the block chain.
The communication method according to any one of appendices 1 to 3, characterized in that:
(Appendix 5)
At least one of the node devices is
Authenticate and issue a blockchain transaction that specifies the address information of the portal file as a first file browsing transaction,
When the first file browsing transaction is issued, the portal file is acquired from the distributed file sharing network based on the address information of the portal file,
Issuing a block chain transaction specifying the address information of the file of information related to the event corresponding to the service content selected on the acquired portal file as a second file browsing transaction;
Triggering the issuance of the second file browsing transaction, the information file related to the event is acquired from the distributed file sharing network based on the address information of the file related to the event.
The communication method according to Supplementary Note 2, wherein
(Appendix 6)
The node device is
Issuing a blockchain transaction that specifies the file address information related to the event information as a file browsing transaction,
Triggering the issuance of the file browsing transaction, the information file related to the event is acquired from the distributed file sharing network based on the address information of the file related to the event.
The communication method according to supplementary note 1, wherein:
(Appendix 7)
The node device manages an access history when accessing the distributed file sharing network by the block chain.
The communication method according to appendix 5 or 6, characterized in that:
(Appendix 8)
The node device is
Set user account information including a set of user public key and user secret key for each user who operates the node device,
For each group to which a plurality of users belong, set group account information including a group public key and a group secret key shared among the plurality of users belonging to the group,
When generating the file, encrypt the file with a user public key or group public key corresponding to the destination user or group set in the transaction in the blockchain;
The communication method according to any one of appendices 1 to 7, characterized in that:
(Appendix 9)
The node device periodically updates each value of the set of the user public key and the user secret key, or each value of the set of the group public key and the group secret key, with an expiration date.
The communication method according to appendix 8, characterized by:
(Appendix 10)
Issuing information related to the event as a transaction of the block chain, and generating a file including information related to the event triggered by the issue of the transaction,
The communication method according to any one of appendices 1 to 9, characterized in that:
(Appendix 11)
At least one of the generation of the file, the holding of the file, or the holding of the portal file is executed by the different node device.
The communication method according to any one of appendices 1 to 10, characterized in that:
(Appendix 12)
The distributed file sharing network configures an interplanetary file system as a distributed file system, and specifies the address information as a hyperlink including a hash value of the held file as a content address.
The communication method according to any one of appendices 1 to 11, characterized in that:
(Appendix 13)
A communication device included in a distributed file sharing network,
Means for sharing information about an event occurring at a terminal between node devices included in the distributed file sharing network using a block chain;
Means for generating a file containing information about the event;
Means for holding the generated file in any of the node devices included in the distributed file sharing network;
A communication apparatus comprising:
(Appendix 14)
In the node device computer included in the distributed file sharing network,
Information related to the event that occurred in the terminal is shared between the node devices included in the distributed file sharing network using a block chain,
Generate a file containing information about the event;
Holding the generated file in any of the node devices included in the distributed file sharing network;
A program to make things happen.

101、301、522 分散ファイル共有ネットワーク
103 IoTデバイス
104、222、306、504 クライアント端末
201 分散WEBネットワーク
202 クラウドサービス
203 インターネット又はキャリアネットワーク
221、305 IoTゲートウェイ
302 認証/証跡管理ネットワーク
303 ブロックチェーンアプリケーション
304 IPFSアプリケーション
307 ノード
500 通信システム
501 センサデバイス/クライアント端末
502 センサエッジノード/クライアント端末
503 IoTゲートウェイ/クライアント端末
505 ブロックチェーン認証ノード
506 ブロックチェーンノード
510 トランザクション発行アプリ
511 ブロックチェーンアプリ
512 分散ファイル共有アプリ
521 認証/証跡管理プロキシネットワーク
1201 CPU
1202 メモリ
1203 入力装置
1204 出力装置
1205 外部記憶装置
1206 可搬記録媒体駆動装置
1207 通信インタフェース
1208 バス
1209 可搬記録媒体
101, 301, 522 Distributed file sharing network 103 IoT device 104, 222, 306, 504 Client terminal 201 Distributed WEB network 202 Cloud service 203 Internet or carrier network 221, 305 IoT gateway 302 Authentication / trail management network 303 Block chain application 304 IPFS Application 307 Node 500 Communication system 501 Sensor device / client terminal 502 Sensor edge node / client terminal 503 IoT gateway / client terminal 505 Block chain authentication node 506 Block chain node 510 Transaction issuing application 511 Block chain application 512 Distributed file sharing application 521 Authentication Trail management proxy network 1201 CPU
1202 Memory 1203 Input device 1204 Output device 1205 External storage device 1206 Portable recording medium driving device 1207 Communication interface 1208 Bus 1209 Portable recording medium

Claims (6)

分散ファイル共有ネットワークに含まれ、かつ前記分散ファイル共有ネットワークに参加する他の装置とデータを共有するノード装置と、
前記分散ファイル共有ネットワークに保持されているデータを指定したブロックチェーンのファイル閲覧トランザクションの発行を契機にファイル要求を送信する端末
を備え、
前記ノード装置は、前記端末から前記ファイル要求を受信すると、前記ファイル要求で指定されているデータを前記端末に送信する
ことを特徴とする通信システム。
A distributed file contained in a shared network, and the distributed file that share the other device and the data to participate in a shared network node apparatus,
Terminal transmitting the file request triggered by the issuance of a file browsing transaction block chain specifying the data held in the distributed file sharing network
With
It said node device receives the file request from the terminal, communication system and transmits the data specified by the file request to the terminal.
前記ファイル閲覧トランザクションは、ブロックチェーンネットワークでの承認結果を用いて前記分散ファイル共有ネットワークに保持された前記データに関する情報に基づいて、発行されることを特徴とする請求項1に記載の通信システム。 The file browsing transaction, communication system according to claim 1, characterized in that based on the information about the data retained with the approval result of block chain network to the distributed file sharing network, issued . 前記データに関する情報は、前記データのアドレス情報を含み、
前記データのアドレス情報に前記データに対応するサービス内容を含む情報を紐付けた情報は、前記データに関する情報として前記分散ファイル共有ネットワークに保持される、ことを特徴とする請求項2に記載の通信システム。
The information about the data includes address information of the data,
3. The communication according to claim 2, wherein information in which information including service contents corresponding to the data is associated with address information of the data is held in the distributed file sharing network as information on the data. System.
前記データのアドレス情報が前記分散ファイル共有ネットワークに保持される時のデータ履歴を、前記ブロックチェーンによって管理する、ことを特徴とする請求項3に記載の通信システム。 Communication system according to claim 3 in which the address information of the data is the data history as it is held in the distributed file sharing network, managed by the block chain, and wherein the. 前記ノード装置が、前記分散ファイル共有ネットワークへのアクセス時のアクセス履歴を、前記ブロックチェーンによって管理する、ことを特徴とする請求項1乃至4のいずれかに記載の通信システム。 It said node device, the distributed file access history during access to the shared network, communication system as claimed in any one of claims 1 to 4 wherein the managing by the block chain, and wherein the. ノード装置は、分散ファイル共有ネットワークに含まれ、かつ前記分散ファイル共有ネットワークに参加する他の装置とデータを共有し、
端末は、前記分散ファイル共有ネットワークに保持されているデータを指定したブロックチェーンのファイル閲覧トランザクションの発行を契機にファイル要求を送信し
前記ノード装置は、前記端末から前記ファイル要求を受信すると、前記ファイル要求で指定されているデータを前記端末に送信する
ことを特徴とする通信方法。
The node device is included in the distributed file sharing network and shares data with other devices participating in the distributed file sharing network.
Terminal transmits file request triggered by the issuance of file browsing transaction block chain specifying the data held in the distributed file sharing network,
When the node device receives the file request from the terminal, the node device transmits data specified by the file request to the terminal .
JP2019022382A 2019-02-12 2019-02-12 COMMUNICATION METHOD, DEVICE, AND PROGRAM Active JP6610814B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019022382A JP6610814B2 (en) 2019-02-12 2019-02-12 COMMUNICATION METHOD, DEVICE, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019022382A JP6610814B2 (en) 2019-02-12 2019-02-12 COMMUNICATION METHOD, DEVICE, AND PROGRAM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016222778A Division JP6533771B2 (en) 2016-11-15 2016-11-15 Communication method, apparatus and program

Publications (2)

Publication Number Publication Date
JP2019079577A JP2019079577A (en) 2019-05-23
JP6610814B2 true JP6610814B2 (en) 2019-11-27

Family

ID=66628004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019022382A Active JP6610814B2 (en) 2019-02-12 2019-02-12 COMMUNICATION METHOD, DEVICE, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6610814B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7333554B2 (en) * 2019-05-29 2023-08-25 日本電信電話株式会社 Update device, update method, update program, and data structure
WO2021009789A1 (en) * 2019-07-12 2021-01-21 日本電信電話株式会社 Control device, data registration system, and control program
EP4047544A4 (en) 2019-10-16 2022-11-16 NEC Corporation Data recording device and method
CN110889137B (en) * 2019-11-21 2023-04-07 盛世智云(云南)软件有限公司 Data exchange method based on block chain
KR102244150B1 (en) * 2020-04-13 2021-04-22 송혜선 On-Line NoraeBang System by Using BlockChain and Smart Terminal and Method thereof
JP7253809B2 (en) * 2020-05-28 2023-04-07 株式会社ユビキタスAi Information processing system, information processing method, IoT device, information processing apparatus, and its control program
KR102272089B1 (en) * 2020-06-24 2021-07-01 송혜선 On-Line Image NoraeBang System by Using BlockChain and Smart Terminal and Method thereof
CN116438560A (en) 2020-11-19 2023-07-14 松下电器(美国)知识产权公司 Incentive determination method, server, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1220173A1 (en) * 2000-12-29 2002-07-03 THOMSON multimedia System and method for the secure distribution of digital content in a sharing network
WO2015024129A1 (en) * 2013-08-21 2015-02-26 Trent Lorne Mcconaghy Method to securely establish, affirm, and transfer ownership of artworks
JP5871347B1 (en) * 2015-03-11 2016-03-01 株式会社Orb Virtual currency management program and virtual currency management method
GB2531828A (en) * 2015-03-24 2016-05-04 Intelligent Energy Ltd An energy resource network
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology

Also Published As

Publication number Publication date
JP2019079577A (en) 2019-05-23

Similar Documents

Publication Publication Date Title
JP6533771B2 (en) Communication method, apparatus and program
JP6610814B2 (en) COMMUNICATION METHOD, DEVICE, AND PROGRAM
JP7436568B2 (en) Methods and systems realized by blockchain
CN109961292B (en) Block chain verification code application method, equipment and storage medium
CN111373400B (en) System and method for implementing a resolver service for decentralizing identity
EP4047487A1 (en) File storage method, terminal, and storage medium
CN107145768B (en) Copyright management method and system
JP5858796B2 (en) Authority delegation system, server system in the authority delegation system, and control method for controlling authority delegation system
CN102170440B (en) Method suitable for safely migrating data between storage clouds
EP3631659A1 (en) System for blockchain based domain name and ip number register
JP4533935B2 (en) License authentication system and authentication method
JP2001216198A (en) Method and device for issuing use permit card
US11848934B2 (en) Resource management system, resource management method, resource transaction management device, resource management device, and program
JP6463023B2 (en) Information processing apparatus, control method therefor, and program
CN113505354B (en) Data processing method, device and storage medium
US9886685B2 (en) Distributed digital rights-managed file transfer and access control
CN114282193A (en) Application authorization method, device, equipment and storage medium
KR102297425B1 (en) method of distributing digital content by the amount of issuance, server performing the method, and computer program
JP7053031B2 (en) Information processing system, information processing device, information processing method and information processing program
CN111984936B (en) Authorization distribution method, device, server and storage medium
Liu HPCLS-BC: A novel blockchain framework using heterogeneous peer-node and cloud-based ledger storage for Internet of Things applications
CN110795749B (en) Data processing method, device and storage medium
JP7156888B2 (en) Payment processing method
JP6792133B2 (en) Server and its processing method and program
CN113709138B (en) Multimedia file acquisition method, entertainment method, system and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190212

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190212

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190718

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190718

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R150 Certificate of patent or registration of utility model

Ref document number: 6610814

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150