JP6533771B2 - 通信方法、装置、及びプログラム - Google Patents

通信方法、装置、及びプログラム Download PDF

Info

Publication number
JP6533771B2
JP6533771B2 JP2016222778A JP2016222778A JP6533771B2 JP 6533771 B2 JP6533771 B2 JP 6533771B2 JP 2016222778 A JP2016222778 A JP 2016222778A JP 2016222778 A JP2016222778 A JP 2016222778A JP 6533771 B2 JP6533771 B2 JP 6533771B2
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
JP2016222778A
Other languages
English (en)
Other versions
JP2018081464A5 (ja
JP2018081464A (ja
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 JP2016222778A priority Critical patent/JP6533771B2/ja
Priority to US15/795,800 priority patent/US11063767B2/en
Publication of JP2018081464A publication Critical patent/JP2018081464A/ja
Publication of JP2018081464A5 publication Critical patent/JP2018081464A5/ja
Application granted granted Critical
Publication of JP6533771B2 publication Critical patent/JP6533771B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

分散ファイル共有ネットワークにおいてファイルを通信する通信方法、装置、及びプログラムに関する。
クライアント端末やIoT(Internet of Things)デバイス間のピアツーピア通信により、電子ファイルの情報を共有する分散ファイル共有技術が提案されている。電子ファイルのフォーマットとしては、HTML(Hyper Text Markup Language)やPDF(Portable Document Format)等が使用される。
分散ファイル共有技術の具体的な実装例として、インタープラネタリーファイルシステム(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/
これにより、IPFSでは、高速なコンテンツファイルの検索と取得が可能になる。IPFSは、従来のクラウド等に配備されたサーバによるコンテンツ配信やネットワークリソース浪費や耐障害性の問題を解決することが可能であり、サーバレスのコンテンツ配信技術として、分散されたクライアントだけで永続的にコンテンツを提供できる。
特開2011−70557号公報 特開2013−105227号公報
しかし、上述した従来の分散ファイル共有システムでは、ファイル発行やアクセスに関するユーザに紐づいた認証の仕組みがなく、アプリケーションさえインストールすれば、分散ファイル共有ネットワークにアクセスできてしまうという課題があった。
そこで、本発明の1つの側面では、分散ファイル共有システムにおいて、高セキュアなファイル共有空間を構築することを目的とする。
態様の一例では、分散ファイル共有ネットワークに含まれるノード装置が実行する通信方法であって、端末で発生したイベントに関する情報をブロックチェーンを用いて前記分散ファイル共有ネットワークに含まれるノード装置間で共有し、イベントに関する情報を含むファイルを生成し、生成されたファイルを分散ファイル共有ネットワークに含まれるいずれかのノード装置で保持する。
分散ファイル共有システムにおいて、高セキュアなファイル共有空間を構築することが可能となる。
本実施形態が対象とするユースケースの例を示す図である。 IPFS等の分散ファイル共有システムにおいて高セキュアな情報共有サービスをクラウドサービスによって実現する構成例を示す図である。 本実施形態の基本概念の説明図である。 ブロックチェーンの説明図である。 本実施形態における通信システムの構成例を示す図である。 ファイル発行の処理例を示すシーケンス図である。 ファイル発行の処理例で使用されるトランザクションのデータフォーマット例を示す図である。 ポータルファイルのデータフォーマット例を示す図である。 ファイル発行の他の処理例を示すシーケンス図である。 ファイルアクセスの処理例を示すシーケンス図である。 ファイルアクセスの処理例で使用されるトランザクションのデータフォーマット例を示す図である。 本実施形態のハードウェア構成例を示す図である。 ファイル発行の処理例を示すフローチャートである。 ファイル発行の他の処理例を示すフローチャートである。 ファイルアクセスの処理例を示すフローチャートである。
以下、本発明を実施するための形態(以下、「本実施形態」と記載)について図面を参照しながら詳細に説明する。図1は、本実施形態が対象とするユースケースの例を示す図である。本実施形態は、ノード装置の一つであるクライアント端末やIoTデバイスのピアツーピア通信により、HTML、PDFやテキスト等の電子ファイル情報を共有する分散ファイル共有技術を用いて、次のようなサービスを実現するものである。例えば図1(a)のように、各IoTデバイスから収集される情報AからEが、各IoTデバイス103と一体の又は分離した各IoTゲートウェイで形成される分散ファイル共有ネットワーク101上で自律的にWEBサービス化され、共有される。或いは図1(b)のように、サプライチェーン上の原材料・部品の調達から、製造、在庫管理、販売、配送までの製品の工程情報AからEが、流通に関わる組織のクライアント端末104で形成される分散ファイル共有ネットワーク101上で共有される。分散ファイル共有ネットワーク上で共有される情報は、ユーザの端末から任意に状況確認102を行うことができる。
本実施形態における分散ファイル共有ネットワーク101は例えば、前述したIPFSによって実現される。しかし、IPFSでは、以下のような課題がある。
1.ファイル発行やアクセスに関するユーザに紐づいた認証の仕組みがなく、アプリケーションさえインストールすれば、分散ファイル共有ネットワークにアクセスできてしまう。
2.ハッシュ値によるアドレッシングとアドレス指定によるファイル検索機能はあるものの、サービスとアドレスの関係を一元管理するリポジトリ機能やWEBアクセスやデータ履歴(ログ)等を管理できる機能はない。
3.誰でも、また、どこでもWEBファイルを登録でき、コンテンツの一意性を保証できる機能はない。
上述のIPFSなどは、例えばインターネット上で、あらゆるIoTゲートウェイ又はクライアント端末によってファイルを共有することを主眼として開発された分散ファイル共有システムである。このような分散ファイル共有システム上で、ユーザ認証と、ファイル登録やファイルアクセスの証跡(ログ)が管理された高セキュアな情報共有サービスを実現するためには、次のような機能が必要となる。まず、ユーザによるファイル発行やファイルアクセスに関するユーザ認証の機能が必要となる。また、ファイル発行者であるコンテンツの一意性を保証する機能が必要となる。更に、ファイル登録やアクセスログを管理する機能が必要となる。加えて、ファイルによって提供するサービス情報とアドレスの関係を一元管理する機能が必要となる。
図2は、IPFS等の分散ファイル共有システムにおいて高セキュアな情報共有サービスをクラウドサービスによって実現する構成例を示す図である。この構成例では、クライアント端末222やIoTゲートウェイ221によって構成されるIPFSによる閉域ネットワークである分散WEBネットワーク201に対して、インターネット又はキャリアネットワーク203を介して、クラウドサービスが提供される。このクラウドサービス202は、以下のような機能のサービスを提供する。
1.認証機能:アクセスやデータ履歴(ログ)管理を提供するサービスである。例えば、RADIUS(Remote Authentification Dial In User Service)サーバ201によって、ネットワーク利用可否(認証)と利用事実の記録(アカウンティング)を実行するサービスが提供される。
2.サービスリポジトリ機能:WEBポータルサイトのようなポータルサーバ212によって、サービスとURLの関係を管理するサービスが提供される。
3.コンテンツの一意性の保証機能:コンテンツが登録される際に、サーバ213によって、ライセンスコードやコンテンツID(識別子)を発行すると共に、コンテンツファイルに記載することで、該当ファイルの一意性を保証するサービスが提供される。
4.ログ管理機能:サーバ214によって、ファイル登録やファイルアクセスのログを記録するサービスが提供される。
しかし、図2に示されるように、IPFSのような分散ファイル共有システムに対して上述の1から4の機能をクラウドサービス202で実現した場合、次のような課題が生じる。分散WEBネットワーク201とクラウドサービス202とを結ぶインターネット又はキャリアネットワーク203内でやり取りされるトラフィック量が増大する。この結果、クライアント端末222やIoTゲートウェイ221などのエッジノードで実現するサーバレスの処理、即時ファイル共有といった分散ファイル共有システムの利点が享受されないという課題が生じる。
そこで、以下に説明する本実施形態では、分散ファイル共有システムを維持したまま、アクセス認証やファイルのコンテンツの一意性の保証、アクセスログやファイル登録の証跡情報の管理をサポートし、高セキュアなファイル共有システムを実現する。図3は、本実施形態の基本概念の説明図である。
本実施形態はまず、IPFSに代表されるピアツーピア型通信で実現する分散ファイル共有ネットワーク上で、前述した4つの機能が分散環境のもとで実現される。そのため本実施形態では、ブロックチェーンと呼ばれる通信方法が利用される。本実施形態では、端末で発生したイベントに関する情報が、ブロックチェーンを用いて分散ファイル共有ネットワークに含まれるノード装置間で共有される。そして、そのイベントに関する情報を含むファイルが生成され、このファイルを分散ファイル共有ネットワークのいずれかのノード装置で保持する。これにより、分散環境でのトランザクション(取引)の認証と正当性保証、及び改ざん不能な取引履歴管理の機能が応用され拡張される。概念的には本実施形態では、図3(a)に示されるように、各ノード307は、分散ファイル共有ネットワーク301と通信を行うときに、まず、ブロックチェーンの拡張により実現される分散型の認証/証跡管理ネットワーク302にアクセスする。その後、認証/証跡管理ネットワーク302に包含されるように構成される分散ファイル共有ネットワーク301へのアクセスが行われる。
より具体的には、本実施形態は、図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が形成される。以下、クライアント端末とは、クライアントが操作する端末あるいはクライアントそのものを指すものとする。
本実施形態において、IoTゲートウェイ305でセンサ検知等のイベントが発生し又は受信され、それに対応するイベント情報(イベントに関する情報)のファイル登録要求が発生すると、まず、IoTゲートウェイ305でブロックチェーンアプリケーション303が実行される。このブロックチェーンアプリケーション303は、IPFSアプリケーション304を実行することにより、IPFSアプリケーション304に、分散ファイル共有ネットワーク301へのイベント情報ファイルの登録を実行させる。このとき、IoTゲートウェイ305で動作するブロックチェーンアプリケーション303は、IoTゲートウェイ305のユーザに対する認証や、コンテンツの一意性の保証、サービスリポジトリ、データ履歴(ログ)管理(証跡管理)等の機能を実行する。これにより、イベント情報ファイルの分散ファイル共有ネットワーク301への登録が、高セキュアに実行される。
また、本実施形態において、クライアント端末306からファイル閲覧要求が発生すると、そのクライアント端末306でブロックチェーンアプリケーション303が実行される。このブロックチェーンアプリケーション303は、IPFSアプリケーション304を実行することにより、IPFSアプリケーション304に、分散ファイル共有ネットワーク101へのファイル要求処理を実行させる。このとき、クライアント端末306で動作するブロックチェーンアプリケーション303は、クライアント端末306のユーザ又はユーザが属するグループに対する認証や、ファイルのアクセス制御、アクセスログ管理(証跡管理)等の機能を実行する。これにより、分散ファイル共有ネットワーク301上のファイル閲覧が、高セキュアに実行される。
以上の図3(b)に関する説明のように、本実施形態では、ブロックチェーンアプリケーション303が、IPFSアプリケーション304を介して分散ファイル共有ネットワーク301にアクセスするためのプロキシとして動作する。これにより、高セキュアな分散ファイル共有の閉域ネットワーク空間が構築される。
ここで、ブロックチェーンとは、ユーザ間で 『情報(台帳)』 を共有する技術であり、様々な取引情報(トランザクション)を記した台帳を公開し、ユーザ全員でその正当性をチェックすることで、不正の無い契約を遂行する分散台帳システムである。
図4は、ブロックチェーンの説明図である。ブロックチェーンでは、電子証明書の技術を使ってユーザ認証が行われる。ユーザが最初にブロックチェーンにアカウント登録した時点で、図4(a)に示されるように、まず秘密鍵とその秘密鍵に対応する公開鍵が生成され、更にユーザIDが生成されて、ユーザに対して発行される。更に、これらの秘密鍵及び公開鍵に基づいて、電子証明書がユーザに対して発行される。ブロックチェーンは、この電子証明書を持っているユーザがブロックチェーンを使うことができるという認証の機能を有している。本実施形態では、この認証の機能を活用する。
ユーザは、秘密鍵、公開鍵、ユーザIDという3つの情報を用いて、トランザクションを発行する。今、発行元の自分がBだとすると、BからCにトランザクションTx2が発行されるケースを考える。この場合に、ブロックチェーンは、自分宛てに送られているトランザクションTx1を入力として新しいトランザクションを発行する機能を有する。このように、ブロックチェーンでは、承認済みのトランザクションをもとにして新しいトランザクションが発行されることにより、トランザクションの信頼性を向上させることができる。
図4(b)に示されるように、送信先のユーザCの公開鍵が、トランザクションTx2の宛先の情報として指定される。また、承認済みのトランザクションTx1のハッシュ値を含む未署名のトランザクションTx2に対して、ハッシュ値が計算され、そのハッシュ値に対しユーザB自身の秘密鍵を用いて電子署名が計算され、その電子署名がトランザクションTx2の発行元の情報として付加される。
このようなトランザクションTx2がブロックチェーンネットワークにブロードキャストされると、ブロックチェーンネットワークに属する他のユーザがトランザクションTx2の署名を次のようにして検証する。図4(b)のように、トランザクションTx2の未署名部分からハッシュ値が計算される。また、トランザクションTx2の発行元として添付されているユーザBの電子署名を生成させたハッシュ値が、ユーザBの公開鍵を使って計算される。そして、これらの2つのハッシュ値が比較され、2つのハッシュ値が一致すれば、トランザクションTx2は、正しいユーザBが発行したものであるとの検証結果が得られる。
このように、ブロックチェーンは、過去の承認済トランザクションに対して、電子署名による検証を行いながら、そのハッシュ値を入力として新たなトランザクションを発行していくことで、トランザクションそのものの信頼性を向上させる仕組みを有する。ブロックチェーンを構成するそれぞれのブロックは、「そのブロックの一つ前のブロックに関する情報」と、「ある時間内に行われたすべての取引のリスト(=個々のトランザクションをまとめたもの)」を記録したトランザクションで構成される。これにより、各ブロックのトランザクションには、ある時間内に行われたすべての取引が記録されることになる。
ブロックチェーンでは更に、ブロックチェーンネットワーク内でマイナーと呼ばれる特定の検査ノードが、任意のノードから新規に発行されたトランザクションのブロックを確定する処理を実行する。この確定処理によって、高セキュアな台帳管理を実現することが可能であり、それらのトランザクション発行のすべての履歴情報が分散台帳上で共有・管理されるという特徴を有する。
図4(c)は、上記確定処理の説明図である。マイナーは、直前ブロックのハッシュ値と、取引リストをまとめたマークルツリーのルートのハッシュ値とに、自身がランダムに生成するナンス(nonce)値と呼ばれる情報を加えた3つの情報からなる未承認ブロックに対して、ハッシュ値を計算する。マイナーは、ナンス値をランダムに変更しながら、このハッシュ値が特定の条件を満たす(例えば先頭に一定数以上の0が並ぶような値となる)ようなナンス値を発見する。この結果、マイナーは、上記発見したナンス値を含む上記3つの情報によって、未承認ブロックを改ざん不能な形で確定(承認)する。この確定処理を実行したマイナーは報酬を獲得できる。マイナーは、上記確定したブロックを、ブロックチェーンネットワーク内のユーザ全員にブロードキャストする。上記ブロックの確定の仕組みにより、ブロックチェーンネットワークにおいて、上記特定の条件(例えば先頭に一定数以上の0が並ぶ値となっている状態)が満たされないハッシュ値となるブロックは、確定された(承認された)ブロックとは見なされない。確定されていない未承認のブロックは、次のブロックへの入力として採用することはできない。
ブロックのナンス値を受け取った他のユーザは、ブロックに含まれる各トランザクションの電子署名が正しいか否かをまず検証する。更に、上記ユーザは、そのブロックから算出されるハッシュ値が前述した特定の条件(例えば先頭に一定数以上の0が並ぶ値となっている状態)が満たされているか否かを検証する。そして、上記ユーザは、上記2つの検証に問題がなければ、図4(b)で説明した手順で、自身のブロックチェーンの末尾に承認済みのブロックを追加する。
このブロック内の情報を改ざんしようとした場合、ブロック内の3つの情報とブロックチェーン全体に矛盾が生じるようにデータ構造を作ることで、実質改ざん不能なデータベースを構築することができる。ネットワーク全体で「唯一のブロックの鎖」を持つようにされることによって、一貫した取引履歴を全体が共有することができる。
本実施形態では、以上の仕組みのブロックチェーンネットワークで動作する図3(b)のブロックチェーンアプリケーション303が、IPFSアプリケーション304を介して分散ファイル共有ネットワーク301にアクセスするためのプロキシとして動作する。このように、本実施形態では、端末で発生したイベントに関する情報が、ブロックチェーンを用いて分散ファイル共有ネットワークに含まれるノード装置間で共有される。
図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として説明する。
また、通信システム500は、トランザクション発行アプリ510とブロックチェーンアプリ511と分散ファイル共有アプリ512とを備えるクライアント端末504を備える。例えば、クライアント端末504がトランザクション発行アプリ510のみを有するようにし、クライアント端末504内のブロックチェーンアプリ511と分散ファイル共有アプリ512が別のノード装置に実装されるような構成であってもよい。
そのほか、通信システム500は、ブロックチェーン認証ノード505及びブロックチェーンノード506を備える。この認証部は、認証証跡管理ブロックネットワーク521へのユーザまたはグループのログインと、ブロックチェーンの初期トランザクションであるサービス許可トランザクションの発行を行う。
トランザクション発行アプリ510は、ブロックチェーン認証ノード505と通信を行って、IoTゲートウェイ/クライアント端末503又はクライアント端末504を操作するユーザ又はグループを認証する認証部を備える。
IoTゲートウェイ/クライアント端末503は、図1のIoTゲートウェイ103又はクライアント端末104、或いは図3のIoTゲートウェイ305に対応する。即ち、IoTゲートウェイ/クライアント端末503は、センサ情報を出力し、又は端末操作者によって入力される原材料・部品の調達から、製造、在庫管理、販売、配送までの製品の工程情報等を出力する。
IoTゲートウェイ/クライアント端末503、クライアント端末504、ブロックチェーン認証ノード505、及びブロックチェーンノード506は、認証/証跡管理プロキシネットワーク521を形成する。認証/証跡管理プロキシネットワーク521は、ブロックチェーンネットワークに含まれる。また、IoTゲートウェイ/クライアント端末503及びクライアント端末504は、分散ファイル共有ネットワーク522を形成する。
図5の構成を有する本実施形態における通信システム500の動作の詳細について、以下に説明する。図6は、図5の通信システム500におけるファイル発行の処理例を示すシーケンス図、図7は、図6のファイル発行の処理例で使用される各トランザクションのデータフォーマット例を示す図である。
まず、ファイル発行の処理例について概説する。
<STEP1:ユーザ認証の実行>
最初に、IoTゲートウェイ/クライアント端末503内のセンサデバイス/クライアント端末501に対するユーザ認証を、既存のブロックチェーンソフトウェアで利用される電子証明書を用いて行う。
<STEP2:ファイル登録の証跡管理の実行>
センサデバイス/クライアント端末501がイベントを検知した際、図6のトランザクション発行アプリ510が、次の処理を実行する。トランザクション発行アプリ510は、センサデバイス/クライアント端末501(userID #X)から、特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)宛てに、イベントトランザクション(イベントに関するトランザクション)を発行する。このイベントトランザクションは、サービス認可トランザクションのハッシュ値を入力し、イベント情報を含む。
<STEP3:イベント情報ファイルの生成/登録とコンテンツの一意性の保証>
イベントトランザクションを含むブロックが検査ノードにより確定された後、ブロックチェーンアプリ511は、イベントトランザクションに含まれるイベント情報を含むファイルを生成するためのファイル生成トランザクション(ファイルを生成するトランザクション)を新たに発行する。ブロックチェーンアプリ511は、ファイル生成トランザクションの発行を契機に、イベントトランザクションのハッシュ値の情報をコンテンツの一意性を保証するIDとして埋め込み、上記イベント情報を含んだイベント情報ファイルを自動生成する。ブロックチェーンアプリ511は、上記イベント情報ファイルを、分散ファイル共有アプリ512を介してIPFS等の分散ファイル共有ネットワーク522に登録する。このとき、イベント情報ファイルには、イベントトランザクションを発行したタイムスタンプ情報が付与されても良い。
<STEP4:ポータルファイルの更新によるリポジトリ機能の提供>
ブロックチェーンアプリ511は、イベント情報ファイルが分散ファイル共有ネットワーク522に登録された際に発行されるファイルアドレス情報(IPFSの場合はハッシュ値のアドレス)を、分散ファイル共有アプリ512を介して取得する。ブロックチェーンアプリ511は、ファイル生成トランザクションのハッシュ値を入力とし、前記ファイルアドレスを記載したセンサデバイス/クライアント端末501(userID #X)から、特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)宛てのサービス登録トランザクションを発行する。このサービス登録トランザクションは、ファイル生成トランザクションのハッシュ値と、イベント情報ファイルのアドレス情報と、サービス情報とを含む。ブロックチェーンアプリ511は、サービス登録トランザクションの発行を契機に、コンテンツ例えばサービス名とファイルアドレスとを紐づけた情報を、分散ファイル共有ネットワーク522で公開されるポータルサイトを示すポータルファイルに追加・更新し、再登録する。
上記手続きにより、分散ファイル共有ネットワーク522へのファイル登録に関する認証と証跡情報、およびコンテンツの一意性の保証をブロックチェーンで管理することが可能になる。同時に、ファイルアドレスとコンテンツ例えばサービス情報の関係を紐づけ、分散ファイル共有ネットワーク522上のポータルファイルとして一元管理するリポジトリ機能を提供することが可能となる。
次に、図6のファイル発行の処理例の詳細について説明する。
まず、IoTゲートウェイ/クライアント端末503は、自装置内のセンサからのセンサ出力又は端末入力等のイベントが発生すると、自装置内のトランザクション発行アプリ510を起動する。トランザクション発行アプリ510は、自装置に予め割り当てられているユーザアカウントを用いて、自装置で実行されるブロックチェーンアプリ511内の既存の認証部にアクセスし、ログインを実行する(S601)。
IoTゲートウェイ/クライアント端末503内のブロックチェーンアプリ511の認証部は、認証/証跡管理プロキシネットワーク521内のブロックチェーン認証ノード505と通信をしながら、上記ログインのアクセスに対して認証を実行する(S602)。
上記認証部は、認証が成立したら、トランザクション発行アプリ510に、所定のサービス認可トランザクションのハッシュ値を通知して、ユーザが認証/証跡ネットワーク(ブロックチェーン)302に対してログインすることを認可する(S603)。
続いて、IoTゲートウェイ/クライアント端末503内のトランザクション発行アプリ510は、自装置内で発生したイベントに対応するイベント情報(センサ出力情報又は工程情報等)と、上記サービス認可トランザクションのハッシュ値とを含むイベントトランザクションを発行する(S604)。このとき、トランザクション発行アプリ510は、イベントトランザクションに、発行元の情報として、自装置のユーザIDと、それに対応する公開鍵情報を設定する。また、トランザクション発行アプリ510は、イベントトランザクションに、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDと、それに対応する公開鍵情報を併せて設定する。
このイベントトランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S605)。ブロックチェーンノード506のうちの1つ以上のノードは、図4(c)で説明した検査ノード(マイナー)として動作しており、通知されたトランザクションに記載された電子署名を検証し、ブロックを確定する処理を実行している。この結果、何れかの検査ノードは、上記イベントトランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S606)。
IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、イベントトランザクションの発行通知(S604)とそれに対応する確定通知(S606)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、ファイル生成トランザクションを発行する(S607)。このファイル生成トランザクションは、確定したブロックに対応するイベントトランザクションのハッシュ値とイベントトランザクションに含まれていたイベント情報とを含み、ファイル生成処理を実行する。このとき、上記ブロックチェーンアプリ511は、ファイル生成トランザクションに、イベントトランザクションに設定されているセンサデバイス/クライアント端末501(図5参照)のユーザIDを設定する。このユーザIDは発行元の情報である。また、ブロックチェーンアプリ511は、ファイル生成トランザクションに、宛先の情報として、イベントトランザクションに設定されているファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDを設定する。
このファイル生成トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S608)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記ファイル生成トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S606)。
IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、ファイル生成トランザクションの発行通知(S607)とそのブロックに対応する確定通知(S609)を受信すると、次の処理を実行する。
上記ブロックチェーンアプリ511は、受信したイベントトランザクション内のイベント情報を含むイベント情報ファイルを生成するファイル生成処理(S610)を実行する。上記ブロックチェーンアプリ511は、このとき同時に、確定したブロックに対応するファイル生成トランザクションに設定されているイベントトランザクションのハッシュ値を、コンテンツの一意性を保証するIDとして、イベント情報ファイルに埋め込む。また、イベント情報ファイルには、イベントトランザクションが発行されたときのタイムスタンプ情報が付与されてもよい。更に、ファイルそのものの秘匿性を向上させるため、上記ブロックチェーンアプリ511は、ファイル生成トランザクションに設定されている宛先のユーザID又はグループIDに対応した公開鍵で、分散ファイルシステムに登録するイベント情報ファイルを暗号化してもよい。この場合、上記ユーザID又はグループIDの公開鍵に対応した秘密鍵を持つユーザやグループのみが、分散ファイル共有システムに登録された該当するイベント情報ファイルの情報を閲覧することが可能になる。その後、上記ブロックチェーンアプリ511は、自装置内の分散ファイル共有アプリ512を起動する(以上、S610)。
上記分散ファイル共有アプリ512は、生成されたイベント情報ファイルに対して、以下のS611及びS612からなるファイル登録処理を実行する。上記分散ファイル共有アプリ512は、このファイル登録処理において、まず、分散ファイル共有ネットワーク522に対して、上記イベント情報ファイルを登録する(S611)。そして、上記分散ファイル共有アプリ512は、登録先のノードから登録したイベント情報ファイルのハッシュ値をアドレス情報として取得し、そのアドレス情報を自装置内のブロックチェーンアプリ511に通知する(S612)」。
上記ブロックチェーンアプリ511は、イベント情報ファイルに対応するアドレス情報を取得すると、ファイル生成トランザクションのハッシュ値を入力とするサービス登録トランザクションを発行する(S613)。このとき、上記ブロックチェーンアプリ511は、サービス登録トランザクションに、S612で取得したイベント情報ファイルのハッシュ値(アドレス情報)と、このイベント情報ファイルに対応するイベントのサービスの情報とを設定する。また、上記ブロックチェーンアプリ511は、サービス登録トランザクションに、発行元の情報として、ファイル生成トランザクションに設定されているセンサデバイス/クライアント端末501(図5参照)のユーザIDを設定する。また、ブロックチェーンアプリ511は、サービス登録トランザクションに、宛先の情報として、ファイル生成トランザクションに設定されているファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDを設定する。
このサービス登録トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S614)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記サービス登録トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S615)。
IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、サービス登録トランザクションの発行通知(S613)とそのブロックに対応する確定通知(S615)を受信すると、以下のサービス登録処理を実行する。上記ブロックチェーンアプリ511は、まず、自装置の分散ファイル共有アプリ512にアクセスして、分散ファイル共有ネットワーク522からポータルファイルを取得する(S616)。続いて、上記ブロックチェーンアプリ511は、S612で取得したイベント情報ファイルに対応するハッシュ値(アドレス情報)に、イベント情報ファイルに対応するサービス内容を含む情報を紐付けた情報を、上記取得したポータルファイルに追加して更新する。そして、上記ブロックチェーンアプリ511は、その更新したポータルファイルを、自装置の分散ファイル共有アプリ512にアクセスして、分散ファイル共有ネットワーク522に再登録させる(以上、S617)。
上記ポータルファイルの更新処理で、他のIoTゲートウェイ/クライアント端末503からのポータルファイルの同時更新を避けるために、IoTゲートウェイ/クライアント端末503内の上記分散ファイル共有アプリ512は、排他制御を実行してもよい。この場合、上記分散ファイル共有アプリ512では、ポータルファイルの同時更新が許容されず、1ユーザのみに更新権限が与えられ、他ユーザはロックされるような制御が実行される。また、ポータルファイル管理者にコンテンツとファイルアドレスの関係を通知するAPIを設け、IoTゲートウェイ/クライアント端末503内の上記分散ファイル共有アプリ512がポータルファイル管理者にポータルファイルの更新を一任する制御が実行されてもよい。
上記制御処理により、分散ファイル共有ネットワーク522へのファイル登録に関する認証と証跡情報、およびコンテンツの一意性の保証を、ブロックチェーンである認証/証跡管理プロキシネットワーク521で管理することが可能になる。
また、コンテンツとファイルアドレスの関係が紐づけられ、分散ファイル共有システム上のポータルファイルとして、ブロックチェーンで一元管理することも可能となる。図8は、S616及びS617で処理されるポータルファイルのデータフォーマット例を示す図である。ポータルファイルには、イベント情報ファイルに対応するハッシュ値(アドレス情報)に、イベント情報ファイルに対応するサービス内容と、イベント情報ファイルのファイル名とが紐付けられる。
次に、図7に示される、図6で説明したファイル発行の処理で使用される各トランザクションのデータフォーマット例の詳細について説明する。
図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」)とそれに対応する公開鍵情報が設定される。
図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」)とそれに対応する公開鍵情報が設定される。
図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」)が設定される。
図7(d)の統合トランザクションのデータフォーマットについては、後述する。
図9は、図5の通信システム500におけるファイル発行の他の処理例を示すシーケンス図である。前述した図6では、ファイル生成処理(S610)及びファイル登録処理(S611、S612)を実行するためのファイル生成トランザクションと、サービス登録処理(S616、S617)を実行するためのサービス登録トランザクションが、2つに分かれていた。これに対して、図9では、ファイル生成処理(S610)、ファイル登録処理(S611、S612)、及びサービス登録処理(S616、S617)が、1つのトランザクションのブロックの確定を契機として、連続して実行される点が異なる。
具体的には、図9において、図6と同じ参照番号が付されたシーケンスは、図6の場合と同じ処理である。図9のシーケンスが図6のシーケンスと異なる部分についてのみ、以下に説明する。
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」)が設定される。
この統合トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S902)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記ファイル生成トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S903)。
IoTゲートウェイ/クライアント端末503で実行中のブロックチェーンアプリ511は、統合トランザクションの発行通知(S901)とそれに対応する確定通知(S903)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、図6のシーケンスで説明したファイル生成処理(S610)、ファイル登録処理(S611、S612)、及びサービス登録処理(S616、S617)を、連続して実行する。
図10は、図5の通信システム500におけるファイルアクセスの処理例を示すシーケンス図、図11は、図10のファイルアクセスの処理例で使用されるトランザクションのデータフォーマット例を示す図である。
まず、ファイルアクセスの処理例について概説する。
<STEP1:ユーザ認証の実行>
最初に、クライアント端末504からファイルアクセスを行うユーザの認証を、既存のブロックチェーンで発行される電子証明書を用いて行う。
<STEP2:ファイルアクセスの証跡管理の実行>
ユーザがファイルにアクセスするため、クライアント端末504内のトランザクション発行アプリ510が、サービス認可トランザクションのハッシュ値を入力とし、ポータルサイトのポータルファイルのアドレスを含むファイル閲覧トランザクションを発行する。このファイル閲覧トランザクションの発行元はクライアント端末504のユーザ(userID #W)、宛先は特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)とそられに対応する公開鍵情報である。トランザクション発行アプリ510は、クライアント端末504内のブロックチェーンアプリ511及び分散ファイル共有アプリ512を介して、分散ファイル共有ネットワーク522から、共有空間を管理するサービスのポータルファイルの情報を取得する。これによってユーザはポータルサイトの情報を閲覧する。
<STEP3:ファイルアクセスの実行とファイルアクセスの証跡管理の実行>
クライアント端末504において、ユーザがポータルサイトに記載されているファイルを選択する。この結果、クライアント端末504内のトランザクション発行アプリ510が、サービス認可トランザクションのハッシュ値を入力とし、ユーザが選択したファイルのアドレスを含むファイル閲覧トランザクションを発行する。このファイル閲覧トランザクションの発行元はクライアント端末504のユーザ(userID #W)、宛先は特定ユーザ(userID #Y)あるいは共有サービス(groupID #Z)とそららに対応する公開鍵情報である。トランザクション発行アプリ510は、クライアント端末504内のブロックチェーンアプリ511及び分散ファイル共有アプリ512を介して、分散ファイル共有ネットワーク522から該当するファイルを取得する。この結果、ユーザは、該当ファイルを閲覧することが可能になる。
以上の処理により、分散ファイル共有ネットワーク522上でのファイルアクセスの認証と証跡情報をブロックチェーンの機能を活用し実現することが可能になる。この情報をサービス課金に利用してもよい。また、要求したファイル情報をユーザが取得するまでは、ファイルアクセスのファイル閲覧トランザクションの発行を待機し、ファイル取得確認後に該当トランザクションを発行するようにしてもよい。なお、各トランザクションはブロックチェーンにおけるブロック確定の処理が完了するまでは実行されないものとし、ブロック確定を実行するノードは、自身のノードでも他のノードでも良い。
次に、図10のファイルアクセスの処理例の詳細について説明する。
まず、クライアント端末504は、ファイル閲覧要求のイベントが発生すると、自装置内のトランザクション発行アプリ510を起動する。トランザクション発行アプリ510は、クライアント端末504に予め割り当てられているユーザアカウントを用いて、クライアント端末504のブロックチェーンアプリ511内の既存の認証部にアクセスし、ログインを実行する(S1001)。
クライアント端末504内のブロックチェーンアプリ511の認証部は、認証/証跡管理プロキシネットワーク521内のブロックチェーン認証ノード505と通信をしながら上記ログインのアクセスに対して認証を実行する(S1002)。
上記認証部は、認証が成立したら、トランザクション発行アプリ510に、所定のサービス認可トランザクションのハッシュ値を通知して、ログインを認可する(S1003)。
続いて、クライアント端末504内のトランザクション発行アプリ510は、自装置内で発生したファイル閲覧要求で指定されているポータルファイルのハッシュ値(アドレス情報)と、上記サービス認可トランザクションのハッシュ値とを含む第1のファイル閲覧トランザクションを発行する(S1004)。このとき、トランザクション発行アプリ510は、第1のファイル閲覧トランザクションに、発行元の情報として、クライアント端末504のユーザIDを設定する。また、トランザクション発行アプリ510は、第1のファイル閲覧トランザクションに、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDを設定する。
この第1のファイル閲覧トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S1005)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記第1のファイル閲覧トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S1006)。
クライアント端末504で実行中のブロックチェーンアプリ511は、第1のファイル閲覧トランザクションの発行通知(S1004)とそれに対応する確定通知(S1006)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、クライアント端末504内の分散ファイル共有アプリ512に、第1のファイル閲覧トランザクションに含まれるポータルファイルのハッシュ値(アドレス情報)を指定したポータルファイル要求を発行する(S1007)。
この結果、クライアント端末504内の分散ファイル共有アプリ512は、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、ポータルファイルを取得し、クライアント端末504内のブロックチェーンアプリ511に送信する。上記ブロックチェーンアプリ511は、このポータルファイルの内容を、クライアント端末504内のトランザクション発行アプリ510に送信する(以上、S1008)。この結果、クライアント端末504の特には図示しないディスプレイ等に、図8に例示した、各サービス名、イベント情報ファイル名、及びイベント情報ファイルのハッシュ値(アドレス情報)の一覧が表示され、ユーザが閲覧可能となる。
続いて、クライアント端末504のユーザが、ディスプレイ上の上記一覧を見ながら、何れかのサービス名に対応するイベント情報ファイルのハッシュ値を指定する。この結果、クライアント端末504内のトランザクション発行アプリ510は、自装置内で発生したファイル閲覧要求で指定されているイベント情報ファイルのハッシュ値(アドレス情報)と、S1003で取得されているサービス認可トランザクションのハッシュ値とを含む第2のファイル閲覧トランザクションを発行する(S1009)。このとき、トランザクション発行アプリ510は、第2のファイル閲覧トランザクションに、発行元の情報として、クライアント端末504のユーザIDとそれに対する公開鍵情報を設定する。また、トランザクション発行アプリ510は、第2のファイル閲覧トランザクションに、宛先の情報として、ファイル登録処理のサービスに予め割り当てられたユーザID又はグループIDとそられに対する公開鍵情報を設定する。
この第2のファイル閲覧トランザクションは、ブロックチェーンである認証/証跡管理プロキシネットワーク521を形成している全てのブロックチェーンノード506に通知される(S1010)。ブロックチェーンノード506のうちの1つの検査ノードは、通知された上記第2のファイル閲覧トランザクションのブロックに対して確定処理を実行し、確定通知を発行する(S1011)。
クライアント端末504で実行中のブロックチェーンアプリ511は、第2のファイル閲覧トランザクションの発行通知(S1009)とそれに対応する確定通知(S1011)を受信すると、次の処理を実行する。上記ブロックチェーンアプリ511は、クライアント端末504内の分散ファイル共有アプリ512に、第2のファイル閲覧トランザクションに含まれるイベント情報ファイルのハッシュ値(アドレス情報)を指定したファイル要求を発行する(S1012)。
この結果、クライアント端末504内の分散ファイル共有アプリ512は、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、イベント情報ファイルを取得し、クライアント端末504内のブロックチェーンアプリ511に送信する。上記ブロックチェーンアプリ511は、このイベント情報ファイルの内容を、クライアント端末504内のトランザクション発行アプリ510に送信する(以上、S1013)。この結果、クライアント端末504の特には図示しないディスプレイ等に、イベント情報ファイルの内容が表示され、ユーザが閲覧可能となる。
次に、図11に示される、図10で説明したファイルアクセスの処理例で使用されるトランザクションのデータフォーマット例の詳細について説明する。
図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と同じである。
以上のファイルアクセス処理により、分散ファイル共有ネットワーク522上の分散ファイルシステムでのファイルアクセスの認証と証跡情報を、ブロックチェーンの機能を活用し実現することが可能になる。この情報は、サービス課金等に利用してもよい。
また、要求したファイル情報をユーザが取得するまでは、ファイル閲覧トランザクションの発行を待機し、ファイル取得確認後に該当トランザクションが発行されるようにしてもよい。
図12は、図5のIoTゲートウェイ/クライアント端末503又はクライアント端末504の機能をソフトウェア処理として実現できるコンピュータのハードウェア構成の一例を示す図である。
図12に示されるコンピュータは、CPU(中央演算処理装置)1201、メモリ1202、入力装置1203、出力装置1204、外部記憶装置1205、可搬記録媒体1209が挿入される可搬記録媒体駆動装置1206、及び通信インタフェース1207を有し、これらがバス1208によって相互に接続された構成を有する。図12に示される構成はIoTゲートウェイ/クライアント端末503又はクライアント端末504の機能を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
CPU1201は、当該コンピュータ全体の制御を行う。メモリ1202は、プログラムの実行、データ更新等の際に、外部記憶装置1205(或いは可搬記録媒体1209)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP1201は、プログラムをメモリ1202に読み出して実行することにより、全体の制御を行う。
入力装置1203は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU1201に通知する。
出力装置1204は、CPU1201の制御によって送られてくるデータを表示装置や印刷装置に出力する。
外部記憶装置1205は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置1206は、SDカード、コンパクトフラッシュ(登録商標)や、CD−ROM、DVD、光ディスク等の可搬記録媒体1209を収容するもので、外部記憶装置1205の補助の役割を有する。
通信インターフェース1207は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
図5のIoTゲートウェイ/クライアント端末503又はクライアント端末504の機能は、以下に説明する図13から図15のフローチャート等で実現される機能を搭載したプログラムをCPU1201が実行することで実現される。そのプログラムは、例えば外部記憶装置1205や可搬記録媒体1209に記録して配布してもよく、或いは通信インタフェース1207によりネットワークから取得できるようにしてもよい。
図13は、図5のIoTゲートウェイ/クライアント端末503が図12のハードウェア構成例を有するコンピュータとして実装される場合において実行されるファイル発行処理例、及びそれに対応する検査ノードの処理例を示すフローチャートである。この処理は、前述した図6のシーケンス例で示されるIoTゲートウェイ/クライアント端末503のファイル発行処理を、図12のハードウェア構成例のコンピュータで実行する場合の処理を示した図である。この処理は、図12のCPU1201が、外部記憶装置1205等からメモリ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が実行する処理である。
CPU1201はまず、自装置に対するユーザ認証処理を実行する(ステップS1301)。この処理は、ブロックチェーンの既存の認証処理であり、図6のS601から S603のシーケンスを実行する処理である。
次に、CPU1201は、イベントトランザクション発行処理を実行する(ステップS1302)。この処理は、図6のS604のシーケンスを実行する処理である。
ステップS1302の処理の結果、CPU1201から通信インタフェース1207を介してLAN上の認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図6のS605)が送信される。この結果、検査ノードのCPUは、イベントトランザクションを取得し(ステップS1303)、そのイベントトランザクションを含むブロックを確定させ、そのブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1304)。この処理は、図6のS606のシーケンスを実行する処理である。
IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、ファイル生成トランザクション発行処理を実行する(ステップS1305)。この処理は、図6のS607のシーケンスを実行する処理である。
ステップS1305の処理の結果、CPU1201から通信インタフェース1207を介して認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図6のS608)が送信される。この結果、検査ノードのCPUは、ファイル生成トランザクションを取得し(ステップS1306)、そのファイル生成トランザクションを含むブロックを確定させ、そのブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1307)。この処理は、図6のS609のシーケンスを実行する処理である。
IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応するファイル生成トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1308)。
この処理ロジックにおいて、CPU1201はまず、ファイル生成処理を実行する(ステップS1309)。この処理は、図6のS610のシーケンスを実行する処理である。
上記処理ロジックにおいて、CPU1201は次に、ファイル登録処理を実行する(ステップS1310)。この処理は、図6のS611のシーケンスを実行する処理である。
この結果、CPU1201は、通信インタフェース1207を介してLAN上の分散ファイル共有ネットワーク522に対して、イベント情報ファイルの登録処理を実行する(ステップS1311)。この処理は、図6のS611のシーケンスを実行する処理である。
ステップS1311のファイル登録処理の結果、CPU1201は、イベント情報ファイルのハッシュ値をアドレス情報として発行する(ステップS1312)。この結果、CPU1201は、発行されたアドレス情報を取得してメモリ1202に記憶する等の処理を実行する(ステップS1313)。ステップS1312とS1313の処理は、図6のS612のシーケンスを実行する処理である。
続いて、CPU1201は、サービス登録トランザクション発行処理を実行する(ステップS1314)。この処理は、図6のS613のシーケンスを実行する処理である。
ステップS1314の処理の結果、CPU1201から通信インタフェース1207を介して認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図6のS614)が送信される。この結果、検査ノードのCPUは、サービス登録トランザクションを取得し(ステップS1315)、そのサービス登録トランザクションを含むブロックを確定させ、そのサービス登録トランザクションのブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1316)。この処理は、図6のS615のシーケンスを実行する処理である。
IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応するサービス登録トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1317)。
この処理ロジックにおいて、CPU1201はまず、ブロックチェーンアプリ511上で、ポータルファイルの取得処理を実行する(ステップS1318)。この結果、CPU1201は、分散ファイル共有アプリ512を実行することにより、分散ファイル共有ネットワーク522上のポータルファイルにアクセスし、それを取得する(ステップS1319)。ステップS1318及びS1319の処理は、図6のS616のシーケンスを実行する処理である。
上記処理ロジックにおいて、CPU1201は次に、ポータルファイルの更新処理を実行する(ステップS1320)。ここでは、CPU1201は、ブロックチェーンアプリ511を実行する。これにより、CPU1201は、ステップS1313で取得したイベント情報ファイルに対応するハッシュ値(アドレス情報)に、イベント情報ファイルに対応するサービス内容を含む情報を紐付けた情報を、上記取得したポータルファイルに追加して更新する。その後、CPU1201は、ブロックチェーンアプリ511から分散ファイル共有アプリ512に実行を移す。CPU1201は、ステップS1320で更新したポータルファイルを、分散ファイル共有ネットワーク522に再登録する(ステップS1321)。ステップS1320とS1321の処理は、図6のS617のシーケンスを実行する処理である。
以上の図13のフローチャートで例示されるファイル発行処理を図12のハードウェア構成例のコンピュータが実行することにより、IoTゲートウェイ/クライアント端末503による図6に例示されるシーケンスのファイル発行処理が実現される。
図14は、図5のIoTゲートウェイ/クライアント端末503が図12のハードウェア構成例を有するコンピュータとして実装される場合において実行される他のファイル発行処理例、及びそれに対応する検査ノードの処理例を示すフローチャートである。この処理は、前述した図9のシーケンス例で示されるIoTゲートウェイ/クライアント端末503の他のファイル発行処理を、図12のハードウェア構成例のコンピュータで実行する場合の処理を示した図である。この処理は、図12のCPU1201が、外部記憶装置1205等からメモリ1202にロードされた他のWEB発行処理プログラムを実行する処理である。
前述した図13では、図6で説明したシーケンス例に対応して、イベントトランザクションの発行(S1302)に加えて、2つのトランザクションが発行されていた。そのうちの1つは、ファイル生成処理(S1309)及びファイル登録処理(S1310、S1311)を実行するための、ファイル生成トランザクション発行(S1305)である。他の1つは、サービス登録処理(S1318〜S1321)を実行するための、サービス登録トランザクション発行(S1314)である。これに対して、図14では、図9で前述したシーケンス例に対応して、上記一連の処理(S1309〜S1311、S1318〜S1321)が、1つのトランザクションのブロックの確定を契機として、連続して実行される点が異なる。
具体的には、図14において、図13と同じ参照番号が付されたステップは、図13の場合と同じ処理である。図14のステップが図13のステップと異なる部分についてのみ、以下に説明する。
CPU1201は、ブロックチェーンアプリ511の実行において、図13の場合と同様にして、イベントトランザクションに対応するブロックの確定通知(S1304)を受信すると、次の処理を実行する。CPU1201は、統合トランザクションの発行処理を実行する(ステップS1401)。この処理は、図9のS901のシーケンスを実行する処理である。
ステップS1401の処理の結果、CPU1201から通信インタフェース1207を介して認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図9のS902)が送信される。この結果、検査ノードのCPUは、統合トランザクションを取得し(ステップS1402)、その統合トランザクションを含むブロックを確定させ、その統合トランザクションに対応するブロックの確定通知を、IoTゲートウェイ/クライアント端末503に返す(ステップS1403)。この処理は、図9のS903のシーケンスを実行する処理である。
IoTゲートウェイ/クライアント端末503のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応する統合トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1401)。
この処理ロジックにおいて、CPU1201は、図13の場合と同様の、ステップS1309からS1313の一連の処理を実行し、更に、ステップS1318からS1321の一連の処理を連続して実行する。これらの処理は、図9のS610からS612の一連のシーケンスを実行し、更にS616とS617の一連のシーケンスを連続して実行する処理である。
以上の図14のフローチャートで例示される他のファイル発行処理を図12のハードウェア構成例のコンピュータが実行することにより、IoTゲートウェイ/クライアント端末503による図9に例示されるシーケンスの他のWEB発行処理が実現される。
図15は、図5のクライアント端末504が図12のハードウェア構成例を有するコンピュータとして実装される場合において実行されるファイルアクセス処理例、及びそれに対応する検査ノードの処理例を示すフローチャートである。この処理は、前述した図10のシーケンス例で示されるクライアント端末504のファイルアクセス処理を、図12のハードウェア構成例のコンピュータで実行する場合の処理を示した図である。この処理は、図12のCPU1201が、外部記憶装置1205等からメモリ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が実行する処理である。
CPU1201はまず、クライアント端末504に対するユーザ認証処理を実行する(ステップS1501)。この処理は、ブロックチェーンの既存の認証処理であり、図10のS1001から S1003のシーケンスを実行する処理である。
次に、CPU1201は、第1のファイル閲覧トランザクション発行処理を実行する(ステップS1502)。この処理は、図10のS1004のシーケンスを実行する処理である。
ステップS1502の処理の結果、CPU1201から通信インタフェース1207を介してLAN上の認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図10のS1005)が送信される。この結果、検査ノードのCPUは、第1のファイル閲覧トランザクションを取得し(ステップS1503)、その第1のファイル閲覧トランザクションを含むブロックを確定させ、そのブロックの確定通知を、クライアント端末504に返す(ステップS1504)。この処理は、図10のS1006のシーケンスを実行する処理である。
クライアント端末504のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応する第1のファイル閲覧トランザクションに対して実行される処理ロジックの実行を開始する(ステップS1505)。
この処理ロジックで、CPU1201はまず、クライアント端末504内でブロックチェーンアプリ511から分散ファイル共有アプリ512に、ポータルファイルのハッシュ値(アドレス情報)を用いたポータルファイル要求処理を実行する(ステップS1506)。ポータルファイルのハッシュ値(アドレス情報)は、第1のファイル閲覧トランザクションで指定されているものが使用される。この処理は、図10のS1007のシーケンスを実行する処理である。
この結果、CPU1201は、分散ファイル共有アプリ512上で、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、ポータルファイルを取得し、ブロックチェーンアプリ511を介してトランザクション発行アプリ510に送信する。この結果、CPU1201は、クライアント端末504の特には図示しないディスプレイ等に、図8に例示した、各サービス名、イベント情報ファイル名、及びイベント情報ファイルのハッシュ値(アドレス情報)の一覧を表示し、ユーザが閲覧可能となる。この処理は、図10のS1008のシーケンスを実行する処理である。
続いて、クライアント端末504のユーザが、ディスプレイ上の上記一覧を見ながら、何れかのサービス名に対応するイベント情報ファイルのハッシュ値を指定する。この結果、CPU1201は、トランザクション発行アプリ510上で、自装置内で発生したファイル閲覧要求で指定されているイベント情報ファイルのハッシュ値(アドレス情報)を含む第2のファイル閲覧トランザクション発行処理を実行する(S1508)。この処理は、図10のS1009のシーケンスを実行する処理である。
ステップS1508の処理の結果、CPU1201から通信インタフェース1207を介してLAN上の認証/証跡管理プロキシネットワーク521(図5参照)上の検査ノードに、トランザクション通知(図10のS1010)が送信される。この結果、検査ノードのCPUは、第2のファイル閲覧トランザクションを取得し(ステップS1509)、その第2のファイル閲覧トランザクションを含むブロックを確定させ、そのブロックの確定通知を、クライアント端末504に返す(ステップS1510)。この処理は、図10のS1011のシーケンスを実行する処理である。
クライアント端末504のCPU1201は、通信インタフェース1207を介して上記確定通知を受信すると、その確定通知されたブロックに対応する第2のファイル閲覧トランザクションに対応して実行される処理ロジックの実行を開始する(ステップS1511)。
この処理ロジックで、CPU1201はまず、クライアント端末504内でブロックチェーンアプリ511から分散ファイル共有アプリ512に、イベント情報ファイルのハッシュ値(アドレス情報)を用いたファイル要求処理を実行する(ステップS1512)。イベント情報ファイルファイルのハッシュ値(アドレス情報)は、第2のファイル閲覧トランザクションで指定されているものが使用される。この処理は、図10のS1012のシーケンスを実行する処理である。
この結果、CPU1201は、分散ファイル共有アプリ512上で、上記ハッシュ値によって分散ファイル共有ネットワーク522にアクセスし、イベント情報ファイルを取得し、ブロックチェーンアプリ511を介してトランザクション発行アプリ510に送信する。この結果、クライアント端末504の特には図示しないディスプレイ等に、イベント情報ファイルの内容が表示され、ユーザが閲覧可能となる。この処理は、図10のS1013のシーケンスを実行する処理である。
以上説明したように、本実施形態では、端末で発生したイベントに関する情報が、ブロックチェーンを用いて分散ファイル共有ネットワークに含まれるノード装置間で共有される。そして、そのイベントに関する情報を含むファイルが生成され、このファイルを分散ファイル共有ネットワークのいずれかのノード装置で保持する。これにより、分散ファイル共有システムにおいて、閉域ネットワーク空間である高セキュアなファイル共有空間を構築することが可能となる。本実施形態では、IoTゲートウェイ/クライアント端末503でセンサ検知や端末入力等に基づくイベント情報のファイル登録要求が発生したり、クライアント端末504からファイル閲覧要求が発生したりした場合に、次のような制御が実行される。この場合、IoTゲートウェイ/クライアント端末503やクライアント端末504でブロックチェーンアプリ511が実行され、このブロックチェーンアプリケーション511が分散ファイル共有アプリ512を実行(キック)する。これにより、分散ファイル共有アプリ512が、分散ファイル共有ネットワーク522に対するイベント情報ファイルの登録やアクセスを実行する。この場合、IoTゲートウェイ/クライアント端末503やクライアント端末504のブロックチェーンアプリ511は、ユーザ/グループ認証や、コンテンツの一意性の保証、サービスリポジトリ、ファイルのデータ/アクセスログ管理、ファイルのアクセス制御を実行する。これにより、分散ファイル共有ネットワーク522に対するイベント情報ファイルの登録/アクセスや、ポータルファイルのアクセスが、高セキュアに実行される。
具体的には、本実施形態では、ブロックチェーンが備える認証機能により、分散ファイル共有ネットワークにおけるユーザやグループを単位とする認証機能を提供することが可能となる。
また、本実施形態では、ファイル生成処理において、イベントトランザクションのハッシュ値が、コンテンツの一意性を保証する識別情報としてイベント情報ファイルに埋め込まれる。これにより、本実施形態によれば、分散ファイル共有ネットワーク上のイベント情報ファイルのコンテンツの一意性を保証する機能を提供することが可能となる。
更に、本実施形態では、分散ファイル共有ネットワークに登録されたイベント情報ファイルのアドレス情報にサービス内容を含む情報を紐付けた情報が、分散ファイル共有ネットワーク上のポータルファイルに登録される。これにより、本実施形態によれば、サービスと分散ファイル共有ネットワーク上のイベント情報ファイルのアドレスとの関係を一元管理するリポジトリ機能を提供することが可能となる。
加えて、本実施形態では、イベント情報ファイルの登録やアクセスの過程がブロックチェーンに記録される。これにより、本実施形態によれば、分散ファイル共有ネットワークにおけるファイル登録時のデータ履歴(ログ)の記録やファイルアクセス時のアクセス履歴(ログ)の記録等の証跡管理機能を提供することが可能となる。
以上説明したように、本実施形態では、ブロックチェーンでつくる堅牢なネットワーク空間に、例えばIPFSによる分散WEBシステム等の分散ファイル共有ネットワークを統合することが可能となる。これにより、例えば膨大なセンサ情報出力やクライアント端末入力のファイルサービス化を行うことのできるIoTゲートウェイ/クライアント端末を簡単かつセキュアに実現することが可能となる。
本実施形態が適用されるユースケースとしては、物流における「モノ」の状態をセンシングし、異常発生等の「コト」の情報を記録して公開するようなシステムが考えられる。
より具体的には、本実施形態によれば、IoTゲートウェイ/クライアント端末間のピアツーピア通信のみで、センサ情報出力やクライアント端末入力のファイルサービス化を創る自己組織型ネットワークが実現される。
また、本実施形態によれば、ユーザ認証、データ著作権を含むコンテンツの一意性の保証、アクセス証跡等のセキュリティ機能をブロックチェーン技術を応用・拡張して実現でき、堅牢な閉空間を創る分散型セキュリティプラットホームが実現される。
更に、本実施形態による通信システムを、特定の業種/組織のスモールスタートから、複数の業種/組織を繋ぐサービス共創の場に発展させることが可能となり、スモールスタートから拡げるIoT情報の共創空間が実現される。
以上の実施形態に関して、更に以下の付記を開示する。
(付記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)
分散ファイル共有ネットワークに含まれるノード装置のコンピュータに、
端末で発生したイベントに関する情報を、ブロックチェーンを用いて前記分散ファイル共有ネットワークに含まれるノード装置間で共有し、
前記イベントに関する情報を含むファイルを生成し、
前記生成されたファイルを前記分散ファイル共有ネットワークに含まれるいずれかのノード装置で保持する、
ことを実行させるためのプログラム。
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 可搬記録媒体

Claims (7)

  1. 分散ファイル共有ネットワークに含まれるノード装置が通信プログラムを実行することによって、
    端末が有するデータに関する情報を前記分散ファイル共有ネットワークに保持させ、
    前記データを指定したブロックチェーンのトランザクションをファイル閲覧トランザクションとして発行し、
    前記ファイル閲覧トランザクションの発行を契機に、前記データに関する情報に基づいて前記データを取得する、
    ことを特徴とする通信プログラム。
  2. 前記データに関する情報は、ブロックチェーンネットワークでの承認結果を用いて前記分散ファイル共有ネットワークに保持されることを特徴とする請求項1に記載の通信プログラム。
  3. 前記データに関する情報は、前記データのアドレス情報を含み、
    前記データのアドレス情報に前記データに対応するサービス内容を含む情報を紐付けた情報は、前記データに関する情報として前記分散ファイル共有ネットワークに保持される、ことを特徴とする請求項1または2に記載の通信プログラム。
  4. 前記データのアドレス情報が前記分散ファイル共有ネットワークに保持される時のデータ履歴を、前記ブロックチェーンによって管理する、ことを特徴とする請求項3に記載の通信プログラム。
  5. 前記ノード装置が、前記分散ファイル共有ネットワークへのアクセス時のアクセス履歴を、前記ブロックチェーンによって管理する、ことを特徴とする請求項1乃至4のいずれかに記載の通信プログラム。
  6. 分散ファイル共有ネットワークに含まれるノード装置であって、
    端末が有するデータに関する情報を前記分散ファイル共有ネットワークに保持させるための処理を行う処理部と、
    前記データを指定したブロックチェーンのトランザクションをファイル閲覧トランザクションとして発行する発行部と、
    前記ファイル閲覧トランザクションの発行を契機に、前記データに関する情報に基づいて前記データを取得する取得部
    を有することを特徴とするノード装置。
  7. 分散ファイル共有ネットワークに含まれるノード装置が実行する通信方法であって、
    端末が有するデータに関する情報を前記分散ファイル共有ネットワークに保持させ、
    前記データを指定したブロックチェーンのトランザクションをファイル閲覧トランザクションとして発行し、
    前記ファイル閲覧トランザクションの発行を契機に、前記データに関する情報に基づいて前記データを取得する、
    ことを特徴とする通信方法。
JP2016222778A 2016-11-15 2016-11-15 通信方法、装置、及びプログラム Active JP6533771B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016222778A JP6533771B2 (ja) 2016-11-15 2016-11-15 通信方法、装置、及びプログラム
US15/795,800 US11063767B2 (en) 2016-11-15 2017-10-27 Apparatus and method to perform secure data sharing in a distributed network by using a blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016222778A JP6533771B2 (ja) 2016-11-15 2016-11-15 通信方法、装置、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019022382A Division JP6610814B2 (ja) 2019-02-12 2019-02-12 通信方法、装置、及びプログラム

Publications (3)

Publication Number Publication Date
JP2018081464A JP2018081464A (ja) 2018-05-24
JP2018081464A5 JP2018081464A5 (ja) 2019-01-10
JP6533771B2 true JP6533771B2 (ja) 2019-06-19

Family

ID=62108184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016222778A Active JP6533771B2 (ja) 2016-11-15 2016-11-15 通信方法、装置、及びプログラム

Country Status (2)

Country Link
US (1) US11063767B2 (ja)
JP (1) JP6533771B2 (ja)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180157700A1 (en) * 2016-12-06 2018-06-07 International Business Machines Corporation Storing and verifying event logs in a blockchain
US10356102B2 (en) * 2017-02-24 2019-07-16 Verizon Patent And Licensing Inc. Permissions using blockchain
CN110365491B (zh) * 2017-03-30 2021-03-26 腾讯科技(深圳)有限公司 业务处理方法、装置、设备、存储介质以及数据共享系统
US10608910B2 (en) * 2017-06-26 2020-03-31 Myomega Systems Gmbh Using blockchain to track information for devices on a network
CN107566337B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间的通信方法及装置
SG11201913992XA (en) * 2017-08-07 2020-01-30 Visa Int Service Ass Blockchain architecture with record security
KR102575120B1 (ko) 2017-11-02 2023-09-07 엔체인 홀딩스 리미티드 블록체인을 디지털 트윈의 세트에 연계하기 위한 컴퓨터 구현형 시스템 및 방법
US10686611B2 (en) 2017-11-24 2020-06-16 International Business Machines Corporation Data anonymizing blockchain system
US10819684B2 (en) * 2017-11-24 2020-10-27 International Business Machines Corporation Cognitive blockchain for internet of things
US10841237B2 (en) * 2018-04-23 2020-11-17 EMC IP Holding Company LLC Decentralized data management across highly distributed systems
CN108809625A (zh) * 2018-05-21 2018-11-13 爱图智能(深圳)有限公司 一种基于区块链的智能家居控制系统、方法及装置
CN108769186B (zh) * 2018-05-28 2021-11-23 中国联合网络通信集团有限公司 业务权限控制方法及装置
US10972463B2 (en) 2018-06-06 2021-04-06 Cisco Technology, Inc. Blockchain-based NB-IoT devices
JPWO2019234850A1 (ja) * 2018-06-06 2020-06-25 サスメド株式会社 セキュリティシステムおよびデータ処理装置
US11323530B2 (en) * 2018-06-06 2022-05-03 International Business Machines Corporation Proxy agents and proxy ledgers on a blockchain
US10944548B2 (en) 2018-06-07 2021-03-09 Coinfirm Blockchain Lab Sp. Z O.O. Method for registration of data in a blockchain database and a method for verifying data
WO2019233614A1 (en) * 2018-06-07 2019-12-12 Coinfirm Blockchain Lab Sp. Z O.O. A method for registration of data in a blockchain database and a method for verifying data
US10673618B2 (en) 2018-06-08 2020-06-02 Cisco Technology, Inc. Provisioning network resources in a wireless network using a native blockchain platform
WO2019236470A1 (en) * 2018-06-08 2019-12-12 The Trustees Of Columbia University In The City Of New York Blockchain-embedded secure digital camera system to verify audiovisual authenticity
US10505718B1 (en) 2018-06-08 2019-12-10 Cisco Technology, Inc. Systems, devices, and techniques for registering user equipment (UE) in wireless networks using a native blockchain platform
CN108932433B (zh) * 2018-06-14 2021-11-05 江苏百倍云信息科技有限公司 一种基于区块链的工业数据共享系统及方法
CN108830599A (zh) * 2018-06-19 2018-11-16 众安信息技术服务有限公司 处理区块链中的交易的方法、系统及装置
CN109003078B (zh) 2018-06-27 2021-08-24 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
US11132756B2 (en) * 2018-06-28 2021-09-28 Motorola Solutions, Inc. Method and system to associate the IoT devices with an incident and manage access
US11481509B1 (en) * 2018-07-10 2022-10-25 United Services Automobile Association (Usaa) Device management and security through a distributed ledger system
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
JP6994739B2 (ja) * 2019-04-02 2022-01-14 株式会社Zmp 無人配送車両による無人配送システム
JP6994738B2 (ja) * 2018-07-12 2022-01-14 株式会社Zmp 無人配送車両による無人配送システム
CN112714746B (zh) * 2018-07-12 2023-02-17 株式会社Zmp 基于无人配送车辆的无人配送系统
CN109150968B (zh) * 2018-07-13 2021-09-14 上海大学 一种基于秘密共享的区块链分布式存储方法
US10887082B2 (en) * 2018-07-24 2021-01-05 Vmware, Inc. Internet of things blockchain auditing
CN109509516A (zh) * 2018-07-26 2019-03-22 深圳还是威健康科技有限公司 一种基于区块链的个人档案管理方法
CN109033376B (zh) * 2018-07-27 2022-09-27 深圳市汇尊区块链技术有限公司 一种去中心化的应用平台
CN109145205B (zh) * 2018-07-27 2020-09-01 阿里巴巴集团控股有限公司 一种基于区块链的跨链数据操作方法和装置
CN109167811B (zh) 2018-07-27 2020-05-05 阿里巴巴集团控股有限公司 一种基于区块链的跨链数据访问方法和装置
KR101994455B1 (ko) * 2018-07-27 2019-06-28 박기업 시스템에 포함되는 노드들에 대하여 그룹을 운영하는 분산 네트워크 시스템
JP6934847B2 (ja) * 2018-07-30 2021-09-15 株式会社日立製作所 流通管理装置、流通管理システム、及び流通管理方法
FR3085076A1 (fr) * 2018-08-14 2020-02-21 Alexandre Lavergne Procede de notarisation de masse sans recu de notarisation et decentralise en blokchains et espace a adressage par contenu.
CN109191355B (zh) * 2018-08-21 2022-02-25 严治 一种基于区块链的创伤数据共享系统
JP7033731B2 (ja) * 2018-08-22 2022-03-11 パナソニックIpマネジメント株式会社 サーバ、車両、分散型トランザクション証明システムおよび分散型トランザクション証明方法
KR102107115B1 (ko) * 2018-08-22 2020-05-28 주식회사 머니브레인 스마트 계약을 지원하는 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치
CN109151030B (zh) * 2018-08-24 2021-07-27 中国电子科技集团公司信息科学研究院 一种物联网物体分布式交互系统、方法
CN109189857B (zh) * 2018-09-17 2021-03-30 北京京东尚科信息技术有限公司 基于区块链的数据共享系统、方法和装置
JP2022002351A (ja) * 2018-09-20 2022-01-06 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US11803664B2 (en) * 2018-10-09 2023-10-31 Ebay Inc. Distributed application architectures using blockchain and distributed file systems
CN109377223B (zh) * 2018-10-18 2021-07-27 李玥 一种基于区块链技术管理网络安全事件处置过程的方法及系统
WO2020085378A1 (ja) * 2018-10-24 2020-04-30 日本電信電話株式会社 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法
CN109286632B (zh) * 2018-10-25 2021-01-15 中国信息通信研究院 一种基于区块链的大数据授权存证方法和系统
US11232446B2 (en) * 2018-10-26 2022-01-25 Hewlett Packard Enterprise Development Lp Carrier grade telecom blockchain
CN109491968B (zh) * 2018-11-13 2021-01-22 恒生电子股份有限公司 一种文件处理方法、装置、设备及计算机可读存储介质
US11625449B2 (en) * 2018-11-16 2023-04-11 Syracuse University Intent-oriented internet browsing
CN111614656B (zh) * 2018-11-16 2021-12-24 创新先进技术有限公司 跨链数据的可信管理方法及装置、电子设备
US11048690B2 (en) * 2018-11-21 2021-06-29 Adobe Inc. Contribution of multiparty data aggregation using distributed ledger technology
KR102016039B1 (ko) * 2018-11-21 2019-08-29 주식회사 케이씨티앤에스 게이트웨이 장치 및 그 권한 검증 방법
JP7209518B2 (ja) 2018-12-03 2023-01-20 富士通株式会社 通信装置、通信方法、および通信プログラム
CN109903027A (zh) * 2018-12-14 2019-06-18 阿里巴巴集团控股有限公司 基于区块链的事件处理方法及装置、电子设备
CN109903026A (zh) 2018-12-14 2019-06-18 阿里巴巴集团控股有限公司 基于区块链的事件处理方法及装置、电子设备
JP6694048B1 (ja) 2018-12-20 2020-05-13 ぷらっとホーム株式会社 データ取引システム
CN109474706B (zh) * 2018-12-29 2019-12-13 北京明朝万达科技股份有限公司 一种数据安全集中服务方法和系统
CN109743177B (zh) * 2018-12-29 2021-07-16 湖南大学 一种基于区块链以及共享环境的物联网数据管理系统
KR20200085095A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법
CN110061843B (zh) * 2019-01-31 2022-02-18 创新先进技术有限公司 一种链式账本中的块高创建方法、装置及设备
JP2020123188A (ja) 2019-01-31 2020-08-13 富士通株式会社 通信装置、通信プログラム、および通信方法
CN109902109B (zh) * 2019-02-20 2021-04-30 北京邮电大学 一种多方协作数据挖掘方法及装置
WO2019101233A2 (en) * 2019-03-04 2019-05-31 Alibaba Group Holding Limited Property management system utilizing a blockchain network
JP2020145270A (ja) * 2019-03-05 2020-09-10 住友ベークライト株式会社 電子装置
CN109992298B (zh) * 2019-04-02 2022-08-26 深圳智乾区块链科技有限公司 审批平台扩充方法、装置、审批平台及可读存储介质
JP7316081B2 (ja) * 2019-04-03 2023-07-27 株式会社日立製作所 分散台帳装置、分散台帳システム、及び分散台帳管理方法
CN110062046B (zh) * 2019-04-24 2021-08-13 全知科技(杭州)有限责任公司 一种数据访问全路径关联审计方法
US11009859B2 (en) * 2019-05-06 2021-05-18 Fisher-Rosemount Systems, Inc. Framework for privacy-preserving big-data sharing using distributed ledger
US10929570B2 (en) 2019-05-17 2021-02-23 Advanced New Technologies Co., Ltd. Method, apparatus, and electronic device for blockchain-based infringement evidence storage
KR102230764B1 (ko) * 2019-07-01 2021-03-19 건국대학교 산학협력단 블록체인 기반 파일 수정 증거 저장 방법 및 이를 이용하는 장치
JP7319564B2 (ja) * 2019-07-10 2023-08-02 日本電信電話株式会社 データ共有システム、管理端末、データ共有方法、および、データ共有プログラム
CN110335026A (zh) * 2019-07-10 2019-10-15 北京元链科技有限公司 一种基于区块链电子政务信息并发管理系统
CN110335025A (zh) * 2019-07-10 2019-10-15 北京元链科技有限公司 一种基于区块链电子政务信息并发管理系统
US10944578B2 (en) * 2019-07-24 2021-03-09 Advanced New Technologies Co., Ltd. Identity verification
CN111104386B (zh) 2019-11-04 2023-09-01 京东科技信息技术有限公司 一种文件存储方法、终端及存储介质
US11291077B2 (en) 2019-11-25 2022-03-29 International Business Machines Corporation Internet of things sensor major and minor event blockchain decisioning
US11341463B2 (en) 2019-11-25 2022-05-24 International Business Machines Corporation Blockchain ledger entry upon maintenance of asset and anomaly detection correction
US11449811B2 (en) 2019-11-25 2022-09-20 International Business Machines Corporation Digital twin article recommendation consultation
CN111356261B (zh) * 2020-02-18 2022-11-08 杭州士兰微电子股份有限公司 分布式照明控制系统及其控制方法、客户端
JP7158690B2 (ja) * 2020-02-28 2022-10-24 長瀬産業株式会社 情報処理システム、及びプログラム
CN111524006A (zh) * 2020-04-16 2020-08-11 武汉有牛科技有限公司 基于区块链技术的跨链支付解决方案
KR102648498B1 (ko) * 2020-05-25 2024-03-19 한국전자통신연구원 블록체인 기반 센서 데이터 제공 장치 및 방법
CN111683082A (zh) * 2020-06-04 2020-09-18 杭州溪塔科技有限公司 一种基于区块链的数据共享方法、系统及电子设备
CN112653763A (zh) * 2020-12-24 2021-04-13 武汉俊俊技术有限公司 公有链跨链管理系统
CN112953712B (zh) * 2021-02-19 2022-10-18 昆明理工大学 一种基于零知识证明和同态加密的数据跨链共享方法
CN113535661A (zh) * 2021-07-30 2021-10-22 天津光电通信技术有限公司 基于区块链技术的分布式共享文件管理方法及装置
CN113328864B (zh) * 2021-08-03 2021-12-07 北京理工大学 基于函数加密、区块链和机器学习的数据传输方法及系统
CN113938496B (zh) * 2021-10-11 2024-04-02 上海万向区块链股份公司 基于物联网设备的区块链网络方法及系统
US11747792B1 (en) * 2022-02-10 2023-09-05 Applied Information, Inc. Remotely managing and updating Internet of Things device configuration logic

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610390B2 (en) * 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
EP1540875A4 (en) 2002-08-28 2011-01-26 Ntt Docomo Inc ENCRYPTION ON THE BASIS OF CERTIFICATES AND PUBLIC KEY INFRASTRUCTURE
US9031876B2 (en) * 2009-06-19 2015-05-12 Hewlett-Packard Development Company, L.P. Managing keys for encrypted shared documents
JP5326968B2 (ja) 2009-09-28 2013-10-30 ブラザー工業株式会社 情報通信システム、サポート装置、サポート装置のプログラム、及びコンテンツ取得方法
JP2013105227A (ja) 2011-11-11 2013-05-30 Nomura Research Institute Ltd P2P型Webプロキシネットワークシステム
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
EP3036672A4 (en) * 2013-08-21 2017-04-26 Ascribe GmbH Method to securely establish, affirm, and transfer ownership of artworks
WO2015142765A1 (en) * 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
US10269077B2 (en) * 2014-06-09 2019-04-23 Visa International Service Association Systems and methods to detect changes in merchant identification information
US20160267575A1 (en) * 2015-02-09 2016-09-15 TapNSell, Inc. System for Distributing Item Listing Notifications
JP5871347B1 (ja) * 2015-03-11 2016-03-01 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
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
US10097356B2 (en) * 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US9665734B2 (en) * 2015-09-12 2017-05-30 Q Bio, Inc. Uniform-frequency records with obscured context
EP3380984A4 (en) 2015-11-24 2019-07-31 Ben-Ari, Adi SYSTEM AND METHOD FOR THE PROTECTION OF DATA BY INTELLIGENT BLOCKCHAIN CONTRACT
EP4050503B1 (en) * 2015-12-22 2023-11-01 Financial & Risk Organisation Limited Methods and systems for identity creation, verification and management
EP3193299A1 (en) * 2016-01-15 2017-07-19 Accenture Global Services Limited Device, method and system for autonomous selection of a commodity supplier through a blockchain distributed database
US20170236123A1 (en) * 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
US10346406B2 (en) * 2016-03-28 2019-07-09 International Business Machines Corporation Decentralized autonomous edge compute coordinated by smart contract on a blockchain
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
US10769600B2 (en) * 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values

Also Published As

Publication number Publication date
US11063767B2 (en) 2021-07-13
US20180139056A1 (en) 2018-05-17
JP2018081464A (ja) 2018-05-24

Similar Documents

Publication Publication Date Title
JP6533771B2 (ja) 通信方法、装置、及びプログラム
JP6610814B2 (ja) 通信方法、装置、及びプログラム
JP7436568B2 (ja) ブロックチェーンにより実現される方法及びシステム
CN111373400B (zh) 用于实现用于去中心化标识的解析器服务的系统和方法
CN111183426B (zh) 基于区块链的通知的系统和方法
JP6961818B2 (ja) データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体
CN111066020B (zh) 用于创建去中心化标识的系统和方法
EP4047487A1 (en) File storage method, terminal, and storage medium
CN109961292B (zh) 区块链验证码应用方法、设备和存储介质
JP6166596B2 (ja) 認可サーバーシステムおよびその制御方法、並びにプログラム
JP6425738B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
Choi et al. Blockchain-based distributed firmware update architecture for IoT devices
JP6543743B1 (ja) 管理プログラム
JP6463023B2 (ja) 情報処理装置とその制御方法、及びプログラム
WO2009093572A1 (ja) ライセンス認証システム及び認証方法
CN113505354B (zh) 一种数据处理方法、装置及存储介质
JP7053031B2 (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
US9886685B2 (en) Distributed digital rights-managed file transfer and access control
CN115906181A (zh) 一种基于区块链属性的加密文件确权方法、装置及系统
KR20230043800A (ko) 컨텐츠 관리 서버
JP7090903B2 (ja) 情報処理システム、データ提供方法、および情報処理システムの製造方法
KR102354451B1 (ko) 디지털 컨텐츠의 이용 권리 증서를 유통시키는 방법, 및 상기 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램
JP2022151190A (ja) 業務監査支援システム及び業務監査支援方法
JP6792133B2 (ja) サーバと、その処理方法及びプログラム
EP4227820A1 (en) System for managing data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180706

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180905

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180912

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20180912

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20181101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181101

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6533771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150