JP2020077347A - 情報処理システム、データ提供方法、および情報処理システムの製造方法 - Google Patents

情報処理システム、データ提供方法、および情報処理システムの製造方法 Download PDF

Info

Publication number
JP2020077347A
JP2020077347A JP2018211813A JP2018211813A JP2020077347A JP 2020077347 A JP2020077347 A JP 2020077347A JP 2018211813 A JP2018211813 A JP 2018211813A JP 2018211813 A JP2018211813 A JP 2018211813A JP 2020077347 A JP2020077347 A JP 2020077347A
Authority
JP
Japan
Prior art keywords
node
contract
data
unit
identification information
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.)
Granted
Application number
JP2018211813A
Other languages
English (en)
Other versions
JP7090903B2 (ja
Inventor
正夫 酒井
Masao Sakai
正夫 酒井
淳也 岩▲崎▼
Junya Iwazaki
淳也 岩▲崎▼
英介 小泉
Eisuke Koizumi
英介 小泉
真吾 長谷川
Shingo Hasegawa
真吾 長谷川
秀司 磯邉
Shuji Isobe
秀司 磯邉
正幸 福光
Masayuki Fukumitsu
正幸 福光
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.)
Tohoku University NUC
Original Assignee
Tohoku University NUC
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 Tohoku University NUC filed Critical Tohoku University NUC
Priority to JP2018211813A priority Critical patent/JP7090903B2/ja
Priority to US16/674,379 priority patent/US20200153637A1/en
Publication of JP2020077347A publication Critical patent/JP2020077347A/ja
Application granted granted Critical
Publication of JP7090903B2 publication Critical patent/JP7090903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】販売者がオフラインであっても、データを提供するスマートコントラクトを安全かつ迅速に実行できる情報処理システムを提供する。【解決手段】情報処理システムにおいて、第1ノードは、個人データの識別情報生成S2し、個人データ販売のための契約書のテンプレート取得S3し、取得したテンプレートに識別情報を記入して署名することにより契約書作成S4する。その後、第1ノードは、第2ノードへ契約書公開S5し、ストレージノードに対して個人データをデータ保存依頼S6する。第2ノードは、契約書選択S11して取得した契約書に、第2ノードのデータ受け取りアドレスをアドレス記入S12して、契約書に署名S13を行い、ブロックチェーン4へ契約書登録S14する。ストレージノードは、個人データと識別情報を保存実行S9し、契約成立判定S10、S15で契約成立済みが確認できたならば、個人データを第2ノードへデータ送信S16する。【選択図】図5

Description

本発明は、秘密情報のスマートコントラクトを安全かつ迅速に実行するための情報処理システム、データ提供方法、および情報処理システムの製造方法に関する。
スマートコントラクトとは、中央集権的な管理サーバに頼ること無く、不特定多数のノード群による協調処理により自動実行される取引(契約)である。スマートコントラクトは、Bitcoinの成功後、その基幹技術であるブロックチェーン技術の応用例として注目されている。
映画や音楽といったコンテンツや医療画像などの個人情報などの価値のある商品データを売買するスマートコントラクトの場合、契約内容がブロックチェーンに記載されて契約が成立した後(購入者から販売者への代金の支払い完了後)に、購入者が何らかの方法で販売者から商品データを受け取る必要がある。それを実現する従来技術は主に2つある。
1つ目の技術は、販売者から購入者に対して、秘密情報を直接送付してもらう方法である(例えば、非特許文献1)。この方法の場合、販売者がオンラインにならない限り、購入者は秘密情報を送付してもらえないという問題がある。すなわち、頻繁かつ長期にオフラインになる可能性がある一般的なユーザは、販売者としてスマートコントラクトに参加できない。
2つ目の技術は、販売者が秘密情報をどこかのオンラインストレージに保存して、その保存先を契約内容に記載しておき、購入者が契約成立後にその保存先からダウンロードする方式である(例えば、非特許文献2および3)。この方法であれば、販売者が頻繁かつ長期にオフラインになる場合でも、購入者は秘密情報を即時に受け取ることが可能である。しかし、この方法の場合、秘密情報の保存先がブロックチェーンに記載され、全ユーザに公開される。したがって、仮に保存先ストレージが購入者以外からのアクセスを拒否する設定になっていたとしても、強力なハッキング攻撃を受けた場合、購入者以外に秘密情報が漏洩するリスクがある。
福光正幸、外7名、「ブロックチェーンと中央集権型サーバの連携による実用的スマートコントラクトの実現手法」、情報処理学会研究報告、2018年7月25日、Vol.2018-CSEC-82、No.8 「『Kirari!』を支える構成技術:ブロックチェーン応用コンテンツ管理技術」、R&Dアクティビティ、2016年2月、[online]、インターネット<URL: http://www.ntt.co.jp/RD/active/201602/jp/pf/pf003.html> 大橋盛徳、「スマートプロパティの概要とコンテンツ管理への適用」、NTTサービスエボリューション研究所、2016年4月26日、[online]、インターネット<URL: http://www.glocom.ac.jp/wp-content/uploads/2016/04/20160426BC1_mrohashi.pdf>
本発明は、上記問題を解決するためになされたものであって、販売者がオフラインであっても、データを提供するスマートコントラクトを安全かつ迅速に実行できる技術を提供することを課題とする。
本発明に係る情報処理システムは、
データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムであって、
前記第1ノードは、
前記データの識別情報を生成する第1識別情報生成部と、
前記第1ノードが前記データを提供するための契約書のテンプレートを取得するテンプレート取得部と、
前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部と、
前記契約書を前記第2ノードに公開する契約書公開部と、
前記データを前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部と、
を備え、
前記テンプレートには、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられ、
前記第2ノードは、
前記公開された契約書を選択する契約書選択部と、
前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部と、
前記選択された契約書に署名を行う署名部と、
前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部と、
を備え、
前記ストレージノードは、
前記保存依頼部からの前記依頼を受け付けた場合に、前記データの識別情報を生成する第2識別情報生成部と、
前記データを前記識別情報とともに保存する保存実行部と、
前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部と、
前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部と、
を備える。
本発明に係る情報処理システムは、
データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムであって、
前記第1ノードは、
前記データの識別情報を生成する第1識別情報生成部と、
前記第1ノードが前記データを提供するための契約書のテンプレートを取得するテンプレート取得部と、
前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部と、
前記契約書を前記第2ノードに公開する契約書公開部と、
前記データを前記識別情報とともに前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部と、
を備え、
前記テンプレートには、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられ、
前記第2ノードは、
前記公開された契約書を選択する契約書選択部と、
前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部と、
前記選択された契約書に署名を行う署名部と、
前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部と、
を備え、
前記ストレージノードは、
前記保存依頼部からの前記依頼を受け付けた場合に、前記データを前記識別情報とともに保存する保存実行部と、
前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部と、
前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部と、
を備える。
本発明に係るデータ提供方法は、
第1ノードと、第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムにおいて、前記第1ノードから前記第2ノードにデータを提供するデータ提供方法であって、
前記第1ノードにおいて、前記データの識別情報を生成する第1識別情報生成ステップと、
前記第1ノードにおいて、前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得ステップと、
前記第1ノードにおいて、前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成ステップと、
前記契約書を前記第2ノードに公開する契約書公開ステップと、
前記第1ノードから、前記データを前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼ステップと、
前記ストレージノードにおいて、前記保存依頼ステップにおける前記依頼を受け付けた場合に、前記データの識別情報を生成する第2識別情報生成ステップと、
前記データを前記識別情報とともに保存する保存実行ステップと、
前記ストレージノードにおいて、前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定ステップと、
前記第2ノードにおいて、前記公開された契約書を選択する契約書選択ステップと、
前記第2ノードにおいて、前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入ステップと、
前記第2ノードにおいて、前記選択された契約書に署名を行う署名ステップと、
前記アドレス記入ステップにおいて前記データ受取アドレスが記入され、前記署名ステップにおいて署名された前記契約書を、前記データベースに登録する登録ステップと、
前記契約成立判定ステップにおいて前記契約が成立済みであると判定された場合、前記ストレージノードから前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信ステップと、
を有する。
本発明に係るデータ提供方法は、
第1ノードと、第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムにおいて、前記第1ノードから前記第2ノードにデータを提供するデータ提供方法であって、
前記第1ノードにおいて、前記データの識別情報を生成する第1識別情報生成ステップと、
前記第1ノードにおいて、前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得ステップと、
前記第1ノードにおいて、前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成ステップと、
前記契約書を前記第2ノードに公開する契約書公開ステップと、
前記第1ノードから、前記データを前記識別情報とともに前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼ステップと、
前記ストレージノードにおいて、前記保存依頼ステップにおける前記依頼を受け付けた場合に、前記データを前記識別情報とともに保存する保存実行ステップと、
前記ストレージノードにおいて、前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定ステップと、
前記第2ノードにおいて、前記公開された契約書を選択する契約書選択ステップと、
前記第2ノードにおいて、前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入ステップと、
前記第2ノードにおいて、前記選択された契約書に署名を行う署名ステップと、
前記アドレス記入ステップにおいて前記データ受取アドレスが記入され、前記署名ステップにおいて署名された前記契約書を、前記データベースに登録する登録ステップと、
前記契約成立判定ステップにおいて前記契約が成立済みであると判定された場合、前記ストレージノードから前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信ステップと、
を有する。
本発明に係る情報処理システムの製造方法は、
データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムの製造方法であって、
前記データの識別情報を生成する第1識別情報生成部、
前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得部、
前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部、
前記契約書を前記第2ノードに公開する契約書公開部、および、
前記データを前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部、
としてコンピュータを動作させるためのプログラムを前記第1ノードに配信するステップと、
前記公開された契約書を選択する契約書選択部、
前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部、
前記選択された契約書に署名を行う署名部、および、
前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部、
としてコンピュータを動作させるためのプログラムを前記第2ノードに配信するステップと、
前記保存依頼部からの前記依頼を受け付けた場合に、前記データの識別情報を生成する第2識別情報生成部、
前記データを前記識別情報とともに保存する保存実行部、
前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部、および、
前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部、
としてコンピュータを動作させるためのプログラムを前記ストレージノードに配信するステップと、
を有する。
本発明に係る情報処理システムの製造方法は、
データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムの製造方法であって、
前記データの識別情報を生成する第1識別情報生成部、
前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得部、
前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部、
前記契約書を前記第2ノードに公開する契約書公開部、および、
前記データを前記識別情報とともに前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部、
としてコンピュータを動作させるためのプログラムを前記第1ノードに配信するステップと、
前記公開された契約書を選択する契約書選択部、
前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部、
前記選択された契約書に署名を行う署名部、および、
前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部、
としてコンピュータを動作させるためのプログラムを前記第2ノードに配信するステップと、
前記保存依頼部からの前記依頼を受け付けた場合に、前記データを前記識別情報とともに保存する保存実行部、
前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部、および、
前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部、
としてコンピュータを動作させるためのプログラムを前記ストレージノードに配信するステップと、
を有する。
前記データベースは、好ましくはブロックチェーンが用いられる。
本発明によれば、データは、第1ノードから一旦ストレージノードに保存され、ストレージノードから第2ノードに送信されるが、契約書には、データの保存先は記載されておらず、その代わりに、購入者である第2ノードのデータ受取アドレスが記載されている。そして、契約が成立した場合、ストレージノードから契約書に記載されたデータ受取アドレスにデータが送信される構成となっている。そのため、データの販売者である第1ノード1がオフラインの場合でも、契約成立後に速やかに、購入者である第2ノードはデータを受け取ることができる。また、データベースに登録された契約書には、データの保存先(ストレージノード)は記載されていないため、第三者によるストレージノードへのハッキング攻撃も回避できる。したがって、販売者がオフラインであっても、データを提供するスマートコントラクトを安全かつ迅速に実行することができる。
第1実施形態に係る情報処理システムの概略図である。 第1実施形態に係る第1ノードの構成を示す機能ブロックである。 第1実施形態に係る第2ノードの構成を示す機能ブロックである。 第1実施形態に係るストレージノードの構成を示す機能ブロックである。 第1実施形態に係る情報処理システムにおけるデータ提供方法の処理を示すシーケンスチャートである。 第1実施形態に係る契約書のテンプレートの一例である。 第1実施形態に係る第1ノードにおいて作成された契約書の一例である。 さらにアドレス記入欄にデータ受取アドレスが記入され、データ購入者の署名欄に電子署名がなされた契約書の一例である。 第2実施形態に係る情報処理システムの概略図である。 第2実施形態に係る第1ノードの構成を示す機能ブロックである。 第2実施形態に係る第2ノードの構成を示す機能ブロックである。 第2実施形態に係るストレージノードの構成を示す機能ブロックである。 第2実施形態に係る仲介ノードの構成を示す機能ブロックである。 第2実施形態に係る情報処理システムにおけるデータ提供方法の処理を示すシーケンスチャートである。 第2実施形態に係る情報処理システムにおけるデータ提供方法の処理を示すシーケンスチャートである。 第2実施形態に係る契約書のテンプレートの一例である。 第2実施形態に係る第1ノードにおいて作成された契約書の一例である。 さらに仲介業者の署名欄に電子署名がなされた契約書の一例である。 さらにアドレス記入欄にデータ受取アドレスが記入され、データ購入者の署名欄に電子署名がなされた契約書の一例である。
以下、本発明の実施形態について添付図面を参照して説明する。なお、本発明は、下記の実施形態に限定されるものではない。
〔第1実施形態〕
まず、本発明の特徴の把握を容易にすべく簡略化した実施形態を第1実施形態として説明する。
(システム構成)
図1は、第1実施形態に係る情報処理システム100の概略図である。情報処理システム100は、ブロックチェーン技術を利用したプラットフォームであり、第1ノード1と、第2ノード2と、ストレージノード3と、ブロックチェーン4と、を備えている。第1ノード1、第2ノード2、ストレージノード3およびブロックチェーン4は、例えばインターネットなどの通信ネットワークNを介して有線または無線により通信可能に接続されている。
第1ノード1は、秘密情報であるデータを保有し、そのデータの販売を希望している販売者が管理している情報処理装置であり、第1ノード1には、後述する第1プログラムP1がインストールされている。第1ノード1は、デスクトップ型PC、ノート型PC、スマートフォン、タブレット端末、PDAなどの汎用のコンピュータで構成することができる。
第2ノード2は、第1ノード1が保有するデータの提供を受ける購入者が管理している情報処理装置であり、第2ノード2には、後述する第2プログラムP2がインストールされている。第2ノード2も、第1ノード1と同様に、デスクトップ型PC、ノート型PC、スマートフォン、タブレット端末、PDAなどの汎用のコンピュータで構成することができる。
ストレージノード3は、転送されるデータを一時的に保管するためのオンラインストレージを有する情報処理装置であり、ストレージノード3には、後述するストレージプログラムがインストールされている。ストレージノード3のユーザは特に限定されず、オンラインストレージサービスを提供する業者が管理するサーバであってもよいし、個人が管理する端末装置であってもよい。あるいは、後述する第2実施形態のように、ストレージノード3は、P2Pストレージを構成するノードであってもよい。
ブロックチェーン4は、情報処理システム100に存在する全てのノード間で実施された取引情報(トランザクション)群を一定時間毎に集約してブロック化して、各ブロックが直前ブロックとの連結条件を満たしていることを示す証拠情報を各ブロックに記載して、各ブロックをチェーン状に連結させたものである。ブロックチェーン4は、これまでの全てのトランザクションを記録しており、情報処理システム100に存在するノード群によって分散管理されている。また、情報処理システム100では、独自の暗号通貨による取引を発生させることができる。そのような暗号通貨の例として、ビットコイン(Bitcoin)やイーサリアム(Ethereum)などが挙げられるが、本実施形態では、暗号通貨がビットコインであるものとする。
なお、情報処理システム100は、第1ノード1、第2ノード2およびストレージノード3以外のノード、すなわち、第1プログラム、第2プログラムおよびストレージプログラムのいずれもがインストールされていないノードを含むことができる。
(各ノードの構成)
図2は、第1ノード1の構成を示す機能ブロックであり、図3は、第2ノード2の構成を示す機能ブロックであり、図4は、ストレージノード3の構成を示す機能ブロックである。
図2に示すように、第1ノード1は、入力部11と、表示部12と、通信部13と、記憶部14と、制御部15と、を備えている。
入力部11は、例えばキーボード、マウスまたはタッチパネルで構成することができ、表示部12は、例えば液晶ディスプレイや有機ELディスプレイで構成することができる。通信部13は、第1ノード1が通信ネットワークNを介して他のノード等と通信を行うためのインターフェースである。
記憶部14は、第1ノード1で用いられる各種プログラムやデータを記憶するための不揮発性の補助記憶装置であり、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)で構成することができる。
記憶部14には、本実施形態に係る第1プログラムP1、個人データD1およびテンプレートT1が記憶されている。第1プログラムP1は、情報処理システム100においてスマートコントラクトの安全かつ迅速な実行を可能にするためのサービス(以下、「スマートコントラクト実行サービス」と称する)の処理の一部を第1ノード1に実行させるためのプログラムである。第1プログラムP1を第1ノード1に配信する方法は特に限定されず、通信ネットワークNを介して第1プログラムP1を第1ノード1にダウンロードしてもよいし、コンピュータ読み取り可能な非一時的な記録媒体に第1プログラムP1を記録しておき、当該記憶媒体を介して第1プログラムP1を第1ノード1にインストールしてもよい。例えば、第1ノード1がスマートフォンである場合、Apple社のAppStore(登録商標)やGoogle社のGooglePlay(登録商標)などを介して、第1プログラムP1を第1ノード1に配信することができる。
個人データD1は、第1ノード1のユーザが販売を希望する秘密情報である。そのような秘密情報として、例えばユーザの医療画像が挙げられる。
テンプレートT1は、第1ノード1が各種データを提供する契約書のテンプレートであり、第1ノード1が第1プログラムP1をインストールすることにより記憶部14に格納される。テンプレートT1の例については、後述する。
制御部15は、第1ノード1が備えるCPUやMPUなどの演算処理装置が、記憶部14に記憶されている第1プログラムP1をRAMなどの主記憶装置に読み出して実行することにより実現される機能ブロックである。制御部15は、カタログ作成部151と、第1識別情報生成部152と、テンプレート取得部153と、契約書作成部154と、契約書公開部155と、保存依頼部156と、を備えている。これらの各部の機能については、後述する。
図3に示すように、第2ノード2は、入力部21と、表示部22と、通信部23と、記憶部24と、制御部25と、を備えている。入力部21、表示部22、通信部23および記憶部24はそれぞれ、第1ノード1の入力部11、表示部12、通信部13および記憶部14と同様に構成することができる。
記憶部24には、本実施形態に係る第2プログラムP2が記憶されている。第2プログラムP2は、スマートコントラクト実行サービスの処理の一部を第2ノード2に実行させるためのプログラムである。第2プログラムP2を第2ノード2に配信する方法は特に限定されず、通信ネットワークNを介して第2プログラムP2を第2ノード2にダウンロードしてもよいし、コンピュータ読み取り可能な非一時的な記録媒体に第2プログラムP2を記録しておき、当該記憶媒体を介して第2プログラムP2を第2ノード2にインストールしてもよい。
制御部25は、第2ノード2が備えるCPUやMPUなどの演算処理装置が、記憶部24に記憶されている第2プログラムP2をRAMなどの主記憶装置に読み出して実行することにより実現される機能ブロックである。制御部25は、契約書選択部251と、アドレス記入部252と、署名部253と、登録部254と、を備えている。これらの各部の機能については、後述する。
図4に示すように、ストレージノード3は、入力部31と、表示部32と、通信部33と、記憶部34と、制御部35と、を備えている。入力部31、表示部32、通信部33および記憶部34はそれぞれ、第1ノード1の入力部11、表示部12、通信部13および記憶部14と同様に構成することができる。
記憶部34には、本実施形態に係るストレージプログラムP3が記憶されている。ストレージプログラムP3は、スマートコントラクト実行サービスの処理の一部をストレージノード3に実行させるためのプログラムである。ストレージプログラムP3をストレージノード3に配信する方法は特に限定されず、通信ネットワークNを介してストレージプログラムP3をストレージノード3にダウンロードしてもよいし、コンピュータ読み取り可能な非一時的な記録媒体にストレージプログラムP3を記録しておき、当該記憶媒体を介してストレージプログラムP3をストレージノード3にインストールしてもよい。
制御部35は、ストレージノード3が備えるCPUやMPUなどの演算処理装置が、記憶部34に記憶されているストレージプログラムP3をRAMなどの主記憶装置に読み出して実行することにより実現される機能ブロックである。制御部35は、第2識別情報生成部351と、契約書確認部352と、保存実行部353と、契約成立判定部354と、データ送信部355と、を備えている。これらの各部の機能については、後述する。
(処理手順)
図5は、情報処理システム100において、第1ノード1から第2ノード2に個人データを提供するデータ提供方法の処理を示すシーケンスチャートである。なお、各処理における通信の形態は特に限定されない。また実際には、暗号通貨による決済処理等も実施されるが、便宜上、本実施形態では省略する。
本実施形態では、図2〜図4にそれぞれ示す第1ノード1の制御部15、第2ノード2の制御部25およびストレージノード3の制御部35によって図5の主な処理が実行される。なお、図5の処理の一部を、ユーザが第1ノード1の入力部11、第2ノード2の入力部21またはストレージノード3の入力部31を介して操作することによりマニュアルで行ってもよい。
まず、第1ノード1において、カタログ作成部151が、秘密情報である個人データD1の内容を説明するためのカタログを作成する(ステップS1)。個人データD1が医療画像の場合、カタログには、ユーザの性別、身長、体重、病歴、撮影日時、フォーマットの種類などが含まれる。
続いて、第1ノード1の第1識別情報生成部152が、個人データD1の識別情報を生成する(ステップS2、第1識別情報生成ステップ)。識別情報の具体的な内容は特に限定されないが、本実施形態では、第1識別情報生成部152は、個人データD1のハッシュ値Hash−Dを計算し、そのハッシュ値Hash−Dを識別情報とする。
続いて、第1ノード1のテンプレート取得部153が、個人データD1を販売するための契約書のテンプレートT1を取得する(ステップS3、テンプレート取得ステップ)。本実施形態では、テンプレート取得部153は、記憶部14に格納されているテンプレートT1を主記憶装置に読み出すことにより、テンプレートT1を取得する。なお、テンプレートT1が記憶部14に格納されていない場合、テンプレート取得部153は、他のノードからテンプレートT1をダウンロードしたり、ユーザの操作によってテンプレートT1を作成することにより、テンプレートT1を取得してもよい。
図6は、テンプレートT1の一例である。テンプレートT1には、通常の契約書と同様に、識別情報(Data ID)、データを提供する条件(Conditions)、署名(Signatures)を記入するための領域が設けられている。さらに、テンプレートT1には、データの提供を所望するノードのデータ受取アドレス(Delivery Address)を記入するためのアドレス領域が設けられている。
再び図5を参照する。テンプレートT1の取得が完了すると、第1ノード1の契約書作成部154が、テンプレートT1に識別情報を記入して署名を行うことにより、契約書を作成する(ステップS4、契約書作成ステップ)。作成された契約書の一例を図7に示す。上述のように、識別情報は個人データD1のハッシュ値Hash−Dであるため、識別情報には、Hash−Dが記入され、条件には、データの提供価格などの条件が記入され、データ販売者(Seller)の署名欄に電子署名がなされている。
なお、契約書におけるデータ受取アドレスの記入領域は、データ購入者(Buyer)のアドレスを記入するための領域であるため、この段階では空欄となっている。
再び図5を参照する。契約書の作成が完了すると、第1ノード1の契約書公開部155が、契約書を第2ノード2に公開する(ステップS5、契約書公開ステップ)。本実施形態では、契約書公開部155は、所定の契約書公開サーバSに契約書をカタログとともにアップロードすることにより、情報処理システム100の全ノードに契約書を公開する。なお、契約書公開部155が契約書を第2ノード2に公開する方法は特に限定されず、例えば、第1ノード1が第2ノード2に契約書を直接送信して、個人データD1の販売を申し出てもよい。この場合は、第2ノード2以外のノードには契約書は公開されない。
また、第1ノード1において、保存依頼部156が、個人データD1をストレージノード3に送信して、個人データD1をストレージノード3に保存するように依頼する(ステップS6、保存依頼ステップ)。ストレージノード3は、第1ノード1が適宜選択してもよいし、スマートコントラクト実行サービスを提供する業者が指定するノードであってもよい。前記依頼には、ステップS5でアップロードされた契約書のアクセス先が含まれていてもよい。なお、ステップS6において、保存依頼部156は、個人データD1を識別情報(ハッシュ値Hash−D)とともにストレージノード3に送信してもよい。
以上のように、最初のステップS1〜S6は、第1ノード1において実施される。
続いて、ストレージノード3では、第1ノード1の保存依頼部156からの前記依頼を受け付けた場合に、第2識別情報生成部351が、個人データD1のハッシュ値を(=Hash−D)をその識別情報H1として計算する(ステップS7)。なお、ステップS6において、保存依頼部156が個人データD1とともに識別情報もストレージノード3に送信していた場合、ステップS7を省略してもよい。
さらに、契約書確認部352が、ステップS5でアップロードされた契約書にアクセスする。契約書確認部352は、前述の識別情報H1に基づき、当該識別情報H1が記入された契約書が公開されていることを確認する(ステップS8)。なお、ステップS8は省略してもよい。
その後、ストレージノード3の保存実行部353が、個人データD1および識別情報H1をストレージノード3の記憶部34に保存する(ステップS9、保存実行ステップ)。なお、個人データD1および識別情報H1の保存先は特に限定されず、ストレージノード3と通信可能な他のストレージであってもよい。また、契約書が第2ノード2以外に公開されていない場合は、ステップS8を実施せずに、ステップS9を実施してもよい。
続いて、ストレージノード3の契約成立判定部354が、定期的にブロックチェーン4にアクセスして、ブロックチェーン4に識別情報H1が記入された契約書が登録されているかを検索することにより、契約書の契約が成立済みであるかを判定する(ステップS10、契約成立判定ステップ)。契約成立判定部354がブロックチェーン4にアクセスする間隔は特に限定されないが、ブロックチェーン4に新たなブロックが追加される間隔と同じであってもよい。本実施形態では、スマートコントラクトに用いられる暗号通貨がビットコインであるため、契約成立判定部354は約10分ごとにブロックチェーン4にアクセスする。
ステップS5においてカタログとともに契約書公開サーバSにアップロードされた契約書は、上述のように、契約書公開サーバSにアクセス可能な全ノードに公開される。そして、これらのノードの中で、第2ノード2のユーザが、カタログおよび契約書を閲覧して個人データD1の購入を希望したとする。
その場合、第2ノード2の契約書選択部251は、例えばユーザの入力部21を介した操作に応じて、公開された契約書を選択し、契約書を第2ノード2にダウンロードする(ステップS11、契約書選択ステップ)。なお、契約書のダウンロードは必須ではない。
続いて、第2ノード2のアドレス記入部252が、前記選択された契約書のアドレス領域に、第2ノード2のデータ受取アドレスを記入し(ステップS12、アドレス記入ステップ)、署名部253が、契約書に署名を行う(ステップS13、署名ステップ)。これにより、図8に示すように契約書のアドレス記入欄に第2ノード2のデータ受取アドレス(abc@defg.com)が記入され、データ購入者(Buyer)の署名欄に電子署名がなされた契約書が完成する。
続いて、第2ノード2の登録部254が、アドレス記入部252によってデータ受取アドレスが記入され、署名部253によって署名された契約書を、ブロックチェーン4に登録する(ステップS14、登録ステップ)。登録完了後、個人データD1を第2ノード2のユーザに提供する旨の契約が成立する。
その後、ストレージノード3の契約成立判定部354がブロックチェーン4にアクセスし、ブロックチェーン4に契約書が登録されていることが確認できた場合、契約が成立済みであると判定する(ステップS15)。
これに応じて、ストレージノード3のデータ送信部355は、契約書のアドレス領域に記入されたデータ受取アドレス(abc@defg.com)に、記憶部34に保存された個人データD1を送信する(ステップS16、データ送信ステップ)。これにより、第2ノード2は個人データD1を受け取ることができる。なお、データ受取アドレスは特に限定されず、メールアドレスであってもよいし、ストレージ領域アドレスであってもよいし、郵便住所であってもよい。
(本実施形態の総括)
以上のように、個人データD1は、第1ノード1から一旦ストレージノード3に保存され、ストレージノード3から第2ノード2に送信されるが、契約書には、個人データD1の保存先は記載されておらず、その代わりに、購入者である第2ノード2のデータ受取アドレスが記載されている。そして、契約が成立した場合、ストレージノード3から契約書に記載されたデータ受取アドレスに個人データD1が送信される構成となっている。
このような構成とすることにより、個人データD1の販売者である第1ノード1がオフラインの場合でも、契約成立後に速やかに、購入者である第2ノード2は個人データD1を受け取ることができる。また、ブロックチェーン4に登録された契約書には、個人データD1の保存先(ストレージノード3)は記載されていないため、第三者によるストレージノード3へのハッキング攻撃も回避できる。したがって、販売者がオフラインであっても、秘密情報のスマートコントラクトを安全かつ迅速に実行できる。
〔第2実施形態〕
第2実施形態では、スマートコントラクトの実行をさらに安全かつスムーズに行うための仲介ノードをさらに設けた形態について説明する。なお、第1実施形態におけるものと同じの機能を有する部材については、同じ符号を付し、その説明を省略する。
(システム構成)
図9は、第2実施形態に係る情報処理システム200の概略図である。情報処理システム200は、第1ノード1’と、第2ノード2’と、P2Pストレージ3’と、ブロックチェーン4と、仲介ノード5と、を備えている。第1ノード1’、第2ノード2’、P2Pストレージ3’、ブロックチェーン4および仲介ノード5は、通信ネットワークNを介して有線または無線により通信可能に接続されている。
第1ノード1’は、秘密情報であるデータを保有し、そのデータの販売を希望している販売者が管理している情報処理装置であり、第1ノード1には、後述する第1プログラムP1’がインストールされている。第1ノード1’のハードウェア構成は、第1実施形態に係る第1ノード1と同様である。
第2ノード2’は、第1ノード1’が保有するデータの提供を受ける購入者が管理している情報処理装置であり、第2ノード2’には、後述する第2プログラムP2’がインストールされている。第2ノード2’のハードウェア構成は、第1実施形態に係る第2ノード2と同様である。
P2Pストレージ3’は、P2Pネットワークでつながっている不特定多数のストレージノード3”により共同で構築されているストレージである。P2Pストレージ3’の保存データは、複数のストレージノード3”に分散秘匿されるため、個々のストレージノード3”は完全な保存データにアクセスできない。
仲介ノード5は、スマートコントラクト実行サービスを提供する仲介業者が管理する情報処理装置であり、仲介ノード5には、後述する仲介プログラムP4がインストールされている。また本実施形態では、第1ノード1にインストールされる第1プログラムP1’、第2ノード2にインストールされる第2プログラムP2’、およびストレージノード3”にインストールされるストレージプログラムP3は、仲介ノード5から配信される。
(各ノードの構成)
図10は、第1ノード1’の構成を示す機能ブロックであり、図11は、第2ノード2’の構成を示す機能ブロックであり、図12は、P2Pストレージ3’を共同構成するストレージノード3”の構成を示す機能ブロック図であり、図13は、仲介ノード5の構成を示す機能ブロックである。
図10に示すように、第1ノード1’は、入力部11と、表示部12と、通信部13と、記憶部14と、制御部15’と、を備えている。すなわち、第1ノード1’は、図2に示す第1ノード1において、制御部15を制御部15’に置き換えた構成である。
記憶部14には、本実施形態に係る第1プログラムP1’、個人データD1、テンプレートT1’および復元鍵K1が記憶されている。第1プログラムP1’は、情報処理システム200におけるスマートコントラクト実行サービスの処理の一部を第1ノード1’に実行させるためのプログラムである。個人データD1は、第1実施形態におけるものと同様、第1ノード1’のユーザが販売を希望する秘密情報である。テンプレートT1’および復元鍵K1については、後述する。
制御部15’は、カタログ作成部151と、第1識別情報生成部152と、テンプレート取得部153と、契約書作成部154と、契約書公開部155と、保存依頼部156と、暗号化部157と、契約書等送信部158と、を備えている。すなわち、制御部15’は、図2に示す制御部15において、暗号化部157および契約書等送信部158をさらに備えた構成である。これらの各部の機能については、後述する。
図11に示すように、第2ノード2’は、入力部21と、表示部22と、通信部23と、記憶部24と、制御部25’と、を備えている。すなわち、第2ノード2’は、図3に示す第2ノード2において、制御部25を制御部25’に置き換えた構成である。
記憶部24には、本実施形態に係る第2プログラムP2’が記憶されている。第2プログラムP2’は、情報処理システム200におけるスマートコントラクト実行サービスの処理の一部を第2ノード2’に実行させるためのプログラムである。
制御部25’は、契約書選択部251と、アドレス記入部252と、署名部253と、登録部254と、ハッシュ値計算部255と、ハッシュ値送信部256と、復元部257と、を備えている。これらの各部の機能については、後述する。
図12に示すように、ストレージノード3”は、入力部31と、表示部32と、通信部33と、記憶部34と、制御部35’と、を備えている。すなわち、ストレージノード3”は、図4に示すストレージノード3において、制御部35を制御部35’に置き換えた構成である。
制御部35’は、契約書確認部352と、保存実行部353と、契約成立判定部354と、データ送信部355と、を備えている。すなわち、制御部35’は、図4に示す制御部35において、第2識別情報生成部351を省略した構成である。
図13に示すように、仲介ノード5は、入力部51と、表示部52と、通信部53と、記憶部54と、制御部55と、を備えている。入力部51、表示部52、通信部53および記憶部54はそれぞれ、図2に示す第1ノード1の入力部11、表示部12、通信部13および記憶部14と同様に構成することができる。
記憶部54には、本実施形態に係る仲介プログラムP4が記憶されている。仲介プログラムP4は、情報処理システム200におけるスマートコントラクト実行サービスの処理の一部を仲介ノード5に実行させるためのプログラムである。
制御部55は、仲介ノード5が備えるCPUやMPUなどの演算処理装置が、記憶部54に記憶されている仲介プログラムP4をRAMなどの主記憶装置に読み出して実行することにより実現される機能ブロックである。制御部55は、検証部551と、保存部552と、署名部553と、アップロード部554と、比較部555と、鍵送信部556と、決済部557と、を備えている。これらの各部の機能については、後述する。
(処理手順)
図14および図15は、情報処理システム200において、第1ノード1から第2ノード2に個人データを提供するデータ提供方法の処理を示すシーケンスチャートである。図14および図15におけるノード間の通信を示す矢印について、実線矢印はブロードキャストを示し、破線矢印は暗号通信を示し、一点鎖線矢印は送信元を匿名化と通信路の暗号化を実施した匿名暗号通信を示し、二点鎖線矢印はブロックチェーン4上での暗号通貨の動きを示している。なお、各処理における通信の形態は上記に限定されない。
本実施形態では、図10〜図13にそれぞれ示す第1ノード1’の制御部15’、第2ノード2’の制御部25’、ストレージノード3”の制御部35’および仲介ノード5の制御部55によって図14および図15の主な処理が実行される。なお、図14および図15の処理の一部を、ユーザが第1ノード1’の入力部11、第2ノード2’の入力部21、ストレージノード3”の入力部31または仲介ノード5の入力部51を介して操作することによりマニュアルで行ってもよい。
まず、第1ノード1’において、カタログ作成部151が、秘密情報である個人データD1の内容を説明するためのカタログを作成する(ステップS21)。個人データD1が医療画像の場合、カタログには、ユーザの性別、身長、体重、病歴、撮影日時、フォーマットの種類などが含まれる。
続いて、第1ノード1’の暗号化部157が、個人データD1を暗号化して暗号化データを作成する(ステップS22)。なお、記憶部14に格納されている復元鍵K1は、暗号化データを復元するための鍵である。
続いて、第1ノード1’の第1識別情報生成部152が、個人データD1の識別情報を生成する(ステップS23、第1識別情報生成ステップ)。本実施形態では、第1識別情報生成部152は、個人データD1のハッシュ値Hash−Dを計算することにより、ハッシュ値Hash−Dを識別情報として生成するとともに、カタログのハッシュ値であるハッシュ値Hash−Xを計算する。さらに、第1識別情報生成部152は、暗号化データのハッシュ値(暗号ハッシュ値Hash−Eとする)も計算する。
続いて、第1ノード1’のテンプレート取得部153が、個人データD1を販売するための契約書のテンプレートT1’を取得する(ステップS24、テンプレート取得ステップ)。テンプレートT1’の取得態様は、第1実施形態と同様である。
図16は、テンプレートT1’の一例である。テンプレートT1’には、識別情報(Data ID)、カタログのハッシュ値(XML ID)、データを提供する条件(Conditions)、署名(Signatures)およびデータ受取アドレス(Delivery Address)を記入するための領域が設けられている。署名を記入するための領域は、データ販売者(Seller)、データ購入者(Buyer)および仲介業者(Agent)の署名欄からなる。
再び図14を参照する。テンプレートT1’の取得が完了すると、第1ノード1’の契約書作成部154が、テンプレートT1’に識別情報を記入して署名を行うことにより、契約書を作成する(ステップS25、契約書作成ステップ)。作成された契約書の一例を図17に示す。上述のように、識別情報は個人データD1およびカタログのハッシュ値Hash−D、Hash−Xであるため、Data IDおよびXML IDには、Hash−DおよびHash−Xがそれぞれ記入され、条件には、データの提供価格などの条件が記入され、データ販売者(Seller)の署名欄に電子署名がなされている。また、購入者に届いた秘匿化データの復元方法も記載されている。
なお、契約書におけるデータ受取アドレスの記入領域は、データ購入者のアドレスを記入するための領域であるため、この段階では空欄となっている。
再び図14を参照する。契約書の作成が完了すると、第1ノード1’の契約書等送信部158が、仲介ノード5に契約書をカタログ、復元鍵K1および暗号ハッシュ値Hash−Eとともに送信する(ステップS26)。そして、第1ノード1’の契約書公開部155が、情報処理システム200の全ノードに契約書を公開するために、仲介ノード5に対し契約書およびカタログの公開を依頼する(ステップS27)。
これに対し、仲介ノード5の検証部551は、第1ノード1’から受信した契約書およびカタログに基づき、第1ノード1’が販売しようとしている個人データD1が社会通念上適切なものであるか(例えば反社会的な内容が含まれていないか)等を検証する(ステップS28)。なお、ステップS28は省略してもよい。
個人データD1が適切なものであると判定された場合、仲介ノード5の保存部552は、第1ノード1’から受信した復元鍵K1および暗号ハッシュ値Hash−Eを記憶部54に保存する(ステップS29)。
また、仲介ノード5の署名部553が契約書に署名を行う(ステップS30)。これにより、図18に示すように契約書の仲介業者の署名欄に電子署名がなされる。なお、ステップS29とステップS30の順序は逆でもよい。
続いて、仲介ノード5のアップロード部554が、第1ノード1’から受信した契約書を所定の契約書公開サーバ(例えば、仲介業者が運営するWebサイト)にカタログとともにアップロードすることにより、契約書を公開する(ステップS31、契約書公開ステップ)。
また、第1ノード1’において、保存依頼部156が、個人データD1を暗号化や分散化などにより秘匿化したデータを、識別情報(ハッシュ値Hash−D)とともにP2Pストレージ3’を共同構成する任意のストレージノード3”群に送信して、データをストレージノード3”群に分散秘匿保存するように依頼する(ステップS32、保存依頼ステップ)。当該依頼には、ステップS31でアップロードされた契約書のアクセス先が含まれてもよい。すなわち本実施形態では、第1実施形態と異なり、保存依頼部156は、個人データD1の代わりに秘匿化されたデータをストレージノード3”に送信して、秘匿化されたデータをストレージノード3”群に分散秘匿保存するように依頼する。
続いて、各々のストレージノード3”では、第1ノード1’の保存依頼部156からの前記依頼を受け付けた場合に、契約書確認部352がステップS31でアップロードされた契約書にアクセスし、保存依頼部156から受信した識別情報に基づき、当該識別情報が記入された契約書が公開されていることを確認する(ステップS33)。なお、ステップS33は省略してもよい。
その後、各々のストレージノード3”の保存実行部353が、第1ノード1’から受信した秘匿化されたデータおよび識別情報(ハッシュ値Hash−D=個人データハッシュ値H1とする)をストレージノード3”の記憶部34に保存する(ステップS34、保存実行ステップ)。すなわち本実施形態では、第1実施形態と異なり、保存実行部353は、個人データD1の代わりに秘匿化されたデータを保存する。
続いて、各々のストレージノード3”群の契約成立判定部354が、定期的にブロックチェーン4にアクセスして、ブロックチェーン4に識別情報が記入された契約書が登録されているかを検索することにより、契約書の契約が成立済みであるかを判定する(ステップS35、契約成立判定ステップ)。
続いて、第2ノード2’のユーザが、ステップS31において公開された契約書およびカタログを閲覧して個人データD1の購入を希望したとする。
その場合、第2ノード2’の契約書選択部251は、例えばユーザの入力部21を介した操作に応じて、公開された契約書を選択し、契約書を第2ノード2’にダウンロードする(ステップS36、契約書選択ステップ)。なお、契約書のダウンロードは必須ではない。
続いて、第2ノード2’のアドレス記入部252が、前記選択された契約書のアドレス領域に、第2ノード2’のデータ受取アドレスを記入し(ステップS37、アドレス記入ステップ)、署名部253が、契約書に署名を行う(ステップS38、署名ステップ)。これにより、図19に示すように契約書のアドレス記入欄に第2ノード2’のデータ受取アドレス(abc@defg.com)が記入され、データ購入者(Buyer)の署名欄に電子署名がなされた契約書が完成する。
続いて、第2ノード2’の登録部254が、アドレス記入部252によってデータ受取アドレスが記入され、署名部253によって署名された契約書を、ブロックチェーン4に登録する(ステップS39、登録ステップ)。登録完了後、個人データD1を第2ノード2’のユーザに販売する旨の契約が成立する。
契約が成立すると、個人データD1の代金は、いったん仲介ノード5に預託される(S40)。より具体的には、第2ノード2’から仲介ノード5へ、個人データD1の代金に仲介手数料を上乗せした金額が送金される。
その後、各々のストレージノード3”の契約成立判定部354がブロックチェーン4にアクセスし、ブロックチェーン4に契約書が登録されていることが確認できた場合、契約書の契約が成立済みであると判定する(ステップS41)。
これに応じて、契約書の契約が成立済みであると判定したストレージノード3”群のデータ送信部355は、契約書のアドレス領域に記入されたデータ受取アドレス(abc@defg.com)に、記憶部34に保存されている秘匿化されたデータを送信する(ステップS42、データ送信ステップ)。すなわち本実施形態では、第1実施形態と異なり、データ送信部355は、個人データD1の代わりに秘匿化されたデータを第2ノード2’に送信する。これにより、第2ノード2’は、秘匿化されたデータを受信し、それを結合することで暗号データを取得する(ステップS43)。
続いて、暗号化データを復元して個人データD1を得るために、第2ノード2’および仲介ノード5によって以下の処理が実施される。
まず、第2ノード2’において、ハッシュ値計算部255が、ストレージノード3”から受信した暗号化データのハッシュ値である暗号ハッシュ値(Hash−E’とする)を計算する(ステップS44)。そして、ハッシュ値送信部256が、ハッシュ値計算部255によって算出された暗号ハッシュ値Hash−E’を仲介ノード5に送信する(ステップS45)。
これに対し、仲介ノード5では、比較部555が、ハッシュ値送信部256から受信した暗号ハッシュ値Hash−E’を、記憶部54に保存された暗号ハッシュ値Hash−Eと比較する(ステップS46)。そして、比較部555によって比較された2つの暗号ハッシュ値Hash−E,Hash−E’が一致した場合に、鍵送信部556が、記憶部54に保存された復元鍵K1を第2ノード2’に送信する(ステップS47)。
第2ノード2’では、復元部257が、仲介ノード5から受信した復元鍵K1を用いて、ステップS43で取得した暗号化データを復元する(ステップS48)。これにより、第2ノード2’は暗号化データを復元した個人データD1を取得することができる。
なお、何らかの不具合により、第2ノード2’が個人データD1を取得できなかった場合は、第2ノード2’は、仲介ノード5に対し、預託した代金の返金依頼を行う等の措置を講ずることができる。
仲介ノード5では、鍵送信部556が第2ノード2’に復元鍵K1を送信した後、第2ノード2’から返金依頼等を受け付けることなく一定時間が経過した場合、決済部557が決済処理を実施する(ステップS49〜S51)。具体的には、決済部557は、個人データD1の提供元である第1ノード1’へ代金を送金するための取引(トランザクション)を作成し(ステップS49)、取引をブロックチェーン4に登録する(ステップS50)。これにより、第1ノード1’へ代金が送金される(ステップS51)。
(本実施形態の総括)
本実施形態では、個人データD1を暗号化した暗号化データが、第1ノード1’から一旦P2Pストレージ3’を共同構成するストレージノード3”群に分散秘匿保存され、ストレージノード3”群から第2ノード2’に送信されるが、契約書には、暗号化データの保存先の代わりに、第2ノード2’のデータ受取アドレスが記載されている。そして、契約が成立した場合、ストレージノード3”群から契約書に記載されたデータ受取アドレスに暗号化データが送信される。そのため、第1ノード1’がオフラインの場合でも、契約成立後に速やかに、暗号化データが第2ノード2’に送信される。また、ブロックチェーン4に登録された契約書には、暗号化データの保存先は記載されていないため、第三者によるストレージノード3”へのハッキング攻撃も回避できる。
また、個人データD1は、複数のストレージノード3”群に秘匿分散保存されるので、個々のストレージノード3”は、個人データD1を知ることができず、個人データD1が第三者に漏洩するリスクを小さくできる。また、各種通信に匿名暗号通信を使うことで、第1ノード1の場所や、個人データD1の秘匿化データの分散保存先であるストレージノード3”群の場所の秘匿性を高めることができる。
また、暗号化データを復元するための復元鍵および暗号化データのハッシュ値が仲介ノード5に保存され、第2ノード2’が暗号化データを受け取った場合に、暗号化データのハッシュ値を仲介ノード5に送信し、仲介ノード5において、保存されたハッシュ値と第2ノード2’から受信したハッシュ値が一致したことが確認されたことを条件に、復号鍵が第2ノード2’に提供される。このように、本実施形態では、個人データD1をいったん暗号化し、暗号化データを受け取った第2ノード2’に対し、所定の条件で復号鍵を提供しているため、第1実施形態に比べ、個人データD1が第三者に漏洩することをさらに確実に防止することができる。
(付記事項)
以上、本発明の2つの実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて種々の変更が可能であり、例えば、各実施形態に開示された技術的手段を適宜組み合わせて得られる形態も、本発明の技術的範囲に属する。
例えば、第1実施形態において、保存依頼部156が個人データD1とともに識別情報をストレージノード3に送信し、ストレージノード3では、第2識別情報生成部351を設けずに、識別情報を生成しない構成としてもよい。また、第2実施形態において、保存依頼部156が識別情報をストレージノード3”に送信せずに、ストレージノード3”において、第2識別情報生成部351によって秘匿化されたデータの識別情報を生成する構成としてもよい。
また、上記実施形態では、情報処理システムがブロックチェーン技術を利用したプラットフォームであったが、本発明はこれに限定されず、通常のサーバ・クライアントシステムであってもよい。この場合、契約書は、ブロックチェーンの代わりに、サーバ等に設けられるデータベースに登録される。
1 第1ノード
1’ 第1ノード
2 第2ノード
2’ 第2ノード
3 ストレージノード
3’ P2Pストレージ
3” ストレージノード
4 ブロックチェーン
5 仲介ノード
11 入力部
12 表示部
13 通信部
14 記憶部
15 制御部
15’ 制御部
151 カタログ作成部
152 第1識別情報生成部
153 テンプレート取得部
154 契約書作成部
155 契約書公開部
156 保存依頼部
157 暗号化部
158 契約書等送信部
21 入力部
22 表示部
23 通信部
24 記憶部
25 制御部
25’ 制御部
251 契約書選択部
252 アドレス記入部
253 署名部
254 登録部
255 ハッシュ値計算部
256 ハッシュ値送信部
257 復元部
31 入力部
32 表示部
33 通信部
34 記憶部
35 制御部
351 第2識別情報生成部
352 契約書確認部
353 保存実行部
354 契約成立判定部
355 データ送信部
51 入力部
52 表示部
53 通信部
54 記憶部
55 制御部
551 検証部
552 保存部
553 署名部
554 アップロード部
555 比較部
556 鍵送信部
557 決済部
100 情報処理システム
200 情報処理システム
D1 個人データ
H1 個人データハッシュ値
K1 復元鍵
N 通信ネットワーク
P1 第1プログラム
P1’ 第1プログラム
P2 第2プログラム
P2’ 第2プログラム
P3 ストレージプログラム
P4 仲介プログラム
S 契約書公開サーバ
T1 テンプレート
T1’ テンプレート

Claims (11)

  1. データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムであって、
    前記第1ノードは、
    前記データの識別情報を生成する第1識別情報生成部と、
    前記第1ノードが前記データを提供するための契約書のテンプレートを取得するテンプレート取得部と、
    前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部と、
    前記契約書を前記第2ノードに公開する契約書公開部と、
    前記データを前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部と、
    を備え、
    前記テンプレートには、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられ、
    前記第2ノードは、
    前記公開された契約書を選択する契約書選択部と、
    前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部と、
    前記選択された契約書に署名を行う署名部と、
    前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部と、
    を備え、
    前記ストレージノードは、
    前記保存依頼部からの前記依頼を受け付けた場合に、前記データの識別情報を生成する第2識別情報生成部と、
    前記データを前記識別情報とともに保存する保存実行部と、
    前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部と、
    前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部と、
    を備えたことを特徴とする、情報処理システム。
  2. データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムであって、
    前記第1ノードは、
    前記データの識別情報を生成する第1識別情報生成部と、
    前記第1ノードが前記データを提供するための契約書のテンプレートを取得するテンプレート取得部と、
    前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部と、
    前記契約書を前記第2ノードに公開する契約書公開部と、
    前記データを前記識別情報とともに前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部と、
    を備え、
    前記テンプレートには、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられ、
    前記第2ノードは、
    前記公開された契約書を選択する契約書選択部と、
    前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部と、
    前記選択された契約書に署名を行う署名部と、
    前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部と、
    を備え、
    前記ストレージノードは、
    前記保存依頼部からの前記依頼を受け付けた場合に、前記データを前記識別情報とともに保存する保存実行部と、
    前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部と、
    前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部と、
    を備えたことを特徴とする、情報処理システム。
  3. 仲介ノードをさらに備え、
    前記第1ノードは、
    前記データを暗号化して暗号化データを作成する暗号化部と、
    前記契約書作成部が作成した前記契約書、および前記暗号化データを復元するための復元鍵を前記仲介ノードに送信する契約書等送信部と、
    をさらに備え、
    前記識別情報は、前記データのハッシュ値であり、
    前記第1識別情報生成部は、さらに前記暗号化データのハッシュ値である暗号ハッシュ値を計算し、
    前記契約書等送信部は、さらに前記暗号ハッシュ値を前記仲介ノードに送信し、
    前記保存依頼部は、前記データの代わりに前記暗号化データを前記ストレージノードに送信して、前記暗号化データを前記ストレージノードに保存するように依頼し、
    前記ストレージノードにおいて、
    前記保存実行部は、前記データの代わりに前記暗号化データを保存し、
    前記データ送信部は、前記データの代わりに前記暗号化データを送信し、
    前記第2ノードは、
    前記ストレージノードから受信した前記暗号化データのハッシュ値である暗号ハッシュ値を計算するハッシュ値計算部と、
    前記ハッシュ値計算部によって算出された前記暗号ハッシュ値を前記仲介ノードに送信するハッシュ値送信部と、
    を備え、
    前記仲介ノードは、
    前記契約書等送信部から受信した前記復元鍵および前記暗号ハッシュ値を保存する保存部と、
    前記ハッシュ値送信部から受信した前記暗号ハッシュ値を、前記保存された前記暗号ハッシュ値と比較する比較部と、
    前記比較部によって比較された前記暗号ハッシュ値が一致した場合に、前記保存された復元鍵を前記第2ノードに送信する鍵送信部と、
    を備えた、ことを特徴とする、請求項1または2に記載の情報処理システム。
  4. 前記ストレージノードは、P2Pストレージを共同構成するノードであることを特徴とする、請求項1から3のいずれかに記載の情報処理システム。
  5. 前記データベースは、ブロックチェーンであることを特徴とする、請求項1から4のいずれかに記載の情報処理システム。
  6. 第1ノードと、第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムにおいて、前記第1ノードから前記第2ノードにデータを提供するデータ提供方法であって、
    前記第1ノードにおいて、前記データの識別情報を生成する第1識別情報生成ステップと、
    前記第1ノードにおいて、前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得ステップと、
    前記第1ノードにおいて、前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成ステップと、
    前記契約書を前記第2ノードに公開する契約書公開ステップと、
    前記第1ノードから、前記データを前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼ステップと、
    前記ストレージノードにおいて、前記保存依頼ステップにおける前記依頼を受け付けた場合に、前記データの識別情報を生成する第2識別情報生成ステップと、
    前記データを前記識別情報とともに保存する保存実行ステップと、
    前記ストレージノードにおいて、前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定ステップと、
    前記第2ノードにおいて、前記公開された契約書を選択する契約書選択ステップと、
    前記第2ノードにおいて、前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入ステップと、
    前記第2ノードにおいて、前記選択された契約書に署名を行う署名ステップと、
    前記アドレス記入ステップにおいて前記データ受取アドレスが記入され、前記署名ステップにおいて署名された前記契約書を、前記データベースに登録する登録ステップと、
    前記契約成立判定ステップにおいて前記契約が成立済みであると判定された場合、前記ストレージノードから前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信ステップと、
    を有することを特徴とする、データ提供方法。
  7. 第1ノードと、第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムにおいて、前記第1ノードから前記第2ノードにデータを提供するデータ提供方法であって、
    前記第1ノードにおいて、前記データの識別情報を生成する第1識別情報生成ステップと、
    前記第1ノードにおいて、前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得ステップと、
    前記第1ノードにおいて、前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成ステップと、
    前記契約書を前記第2ノードに公開する契約書公開ステップと、
    前記第1ノードから、前記データを前記識別情報とともに前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼ステップと、
    前記ストレージノードにおいて、前記保存依頼ステップにおける前記依頼を受け付けた場合に、前記データを前記識別情報とともに保存する保存実行ステップと、
    前記ストレージノードにおいて、前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定ステップと、
    前記第2ノードにおいて、前記公開された契約書を選択する契約書選択ステップと、
    前記第2ノードにおいて、前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入ステップと、
    前記第2ノードにおいて、前記選択された契約書に署名を行う署名ステップと、
    前記アドレス記入ステップにおいて前記データ受取アドレスが記入され、前記署名ステップにおいて署名された前記契約書を、前記データベースに登録する登録ステップと、
    前記契約成立判定ステップにおいて前記契約が成立済みであると判定された場合、前記ストレージノードから前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信ステップと、
    を有することを特徴とする、データ提供方法。
  8. 前記データベースは、ブロックチェーンであることを特徴とする、請求項6または7に記載のデータ提供方法。
  9. データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムの製造方法であって、
    前記データの識別情報を生成する第1識別情報生成部、
    前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得部、
    前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部、
    前記契約書を前記第2ノードに公開する契約書公開部、および、
    前記データを前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部、
    としてコンピュータを動作させるためのプログラムを前記第1ノードに配信するステップと、
    前記公開された契約書を選択する契約書選択部、
    前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部、
    前記選択された契約書に署名を行う署名部、および、
    前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部、
    としてコンピュータを動作させるためのプログラムを前記第2ノードに配信するステップと、
    前記保存依頼部からの前記依頼を受け付けた場合に、前記データの識別情報を生成する第2識別情報生成部、
    前記データを前記識別情報とともに保存する保存実行部、
    前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部、および、
    前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部、
    としてコンピュータを動作させるためのプログラムを前記ストレージノードに配信するステップと、
    を有することを特徴とする、情報処理システムの製造方法。
  10. データを保有する第1ノードと、前記第1ノードから前記データの提供を受ける第2ノードと、ストレージノードと、データベースと、を備えた情報処理システムの製造方法であって、
    前記データの識別情報を生成する第1識別情報生成部、
    前記第1ノードが前記データを提供するための契約書のテンプレートであって、前記データの提供を所望するノードのデータ受取アドレスを記入するためのアドレス領域が設けられたテンプレートを取得するテンプレート取得部、
    前記テンプレートに前記識別情報を記入して署名を行うことにより、契約書を作成する契約書作成部、
    前記契約書を前記第2ノードに公開する契約書公開部、および、
    前記データを前記識別情報とともに前記ストレージノードに送信して、前記データを前記ストレージノードに保存するように依頼する保存依頼部、
    としてコンピュータを動作させるためのプログラムを前記第1ノードに配信するステップと、
    前記公開された契約書を選択する契約書選択部、
    前記選択された契約書の前記アドレス領域に、前記第2ノードのデータ受取アドレスを記入するアドレス記入部、
    前記選択された契約書に署名を行う署名部、および、
    前記アドレス記入部によって前記データ受取アドレスが記入され、前記署名部によって署名された前記契約書を、前記データベースに登録する登録部、
    としてコンピュータを動作させるためのプログラムを前記第2ノードに配信するステップと、
    前記保存依頼部からの前記依頼を受け付けた場合に、前記データを前記識別情報とともに保存する保存実行部、
    前記データベースに前記識別情報が記入された前記契約書が登録されているかを検索することにより、前記契約書の契約が成立済みであるかを判定する契約成立判定部、および、
    前記契約が成立済みであると判定された場合、前記契約書の前記アドレス領域に記入された前記データ受取アドレスに、前記保存された前記データを送信するデータ送信部、
    としてコンピュータを動作させるためのプログラムを前記ストレージノードに配信するステップと、
    を有することを特徴とする、情報処理システムの製造方法。
  11. 前記データベースは、ブロックチェーンであることを特徴とする、請求項9または10に記載の情報処理システムの製造方法。
JP2018211813A 2018-11-09 2018-11-09 情報処理システム、データ提供方法、および情報処理システムの製造方法 Active JP7090903B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018211813A JP7090903B2 (ja) 2018-11-09 2018-11-09 情報処理システム、データ提供方法、および情報処理システムの製造方法
US16/674,379 US20200153637A1 (en) 2018-11-09 2019-11-05 Information processing system, method for providing data, and method for building information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018211813A JP7090903B2 (ja) 2018-11-09 2018-11-09 情報処理システム、データ提供方法、および情報処理システムの製造方法

Publications (2)

Publication Number Publication Date
JP2020077347A true JP2020077347A (ja) 2020-05-21
JP7090903B2 JP7090903B2 (ja) 2022-06-27

Family

ID=70552095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018211813A Active JP7090903B2 (ja) 2018-11-09 2018-11-09 情報処理システム、データ提供方法、および情報処理システムの製造方法

Country Status (2)

Country Link
US (1) US20200153637A1 (ja)
JP (1) JP7090903B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10942920B2 (en) 2019-06-03 2021-03-09 Advanced New Technologies Co., Ltd. Service processing system and method based on blockchain
US20220027350A1 (en) * 2020-07-21 2022-01-27 Gigaforce, Inc. Blockchain enabled service provider system
CN111914293B (zh) * 2020-07-31 2024-05-24 平安科技(深圳)有限公司 一种数据访问权限验证方法、装置、计算机设备及存储介质
CN112714157B (zh) * 2020-12-18 2022-11-11 成都质数斯达克科技有限公司 资产合约的发布方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282684A (ja) * 2000-03-29 2001-10-12 Nucleus Co Ltd 情報配信仲介システム
US20020053024A1 (en) * 2000-10-31 2002-05-02 Kabushiki Kaisha Toshiba Encrypted program distribution system using computer network
JP2003323574A (ja) * 2002-04-30 2003-11-14 Ntt Data Corp 契約データ処理方法、装置及びコンピュータプログラム
JP2009122731A (ja) * 2007-11-12 2009-06-04 Osamu Kameda 安全にファイルを送信し及び/又は管理するシステム
JP2018116578A (ja) * 2017-01-19 2018-07-26 富士通株式会社 情報処理システム、検証装置、情報処理方法、検証方法およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306440A (ja) * 2000-04-24 2001-11-02 Sony Corp 電子情報内容自動配信サービスシステム、情報処理装置、記録媒体及び電子情報内容自動配信方法
CN101122977A (zh) * 2006-08-09 2008-02-13 鸿富锦精密工业(深圳)有限公司 合约电子签核系统及方法
US20080228578A1 (en) * 2007-01-25 2008-09-18 Governing Dynamics, Llc Digital rights management and data license management
US10726098B2 (en) * 2014-01-23 2020-07-28 Dror Samuel Brama Method, system and program product for transferring genetic and health data
US10764037B2 (en) * 2014-12-23 2020-09-01 Nokia Technologies Oy Method and apparatus for duplicated data management in cloud computing
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
GB2571390B (en) * 2016-02-03 2022-07-20 Luther Systems Ltd Systems and method for secure management of digital contracts
US10445698B2 (en) * 2016-06-30 2019-10-15 Clause, Inc. System and method for forming, storing, managing, and executing contracts
CN110546663A (zh) * 2017-03-08 2019-12-06 锡克拜控股有限公司 用于在数据库中登记信息的高级方法、系统和装置
US11720689B2 (en) * 2017-10-27 2023-08-08 Nippon Telegraph And Telephone Corporation Data registration method, data decryption method, data structure, computer, and program
BR112020016421A2 (pt) * 2018-02-14 2020-12-15 Lexigogo Bvba Método e sistema para contratos em vídeo
US11010403B2 (en) * 2018-04-24 2021-05-18 Microsoft Technology Licensing, Llc Relational distributed ledger for smart contracts
WO2020069526A1 (en) * 2018-09-28 2020-04-02 ShelterZoom Smart contracts

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282684A (ja) * 2000-03-29 2001-10-12 Nucleus Co Ltd 情報配信仲介システム
US20020053024A1 (en) * 2000-10-31 2002-05-02 Kabushiki Kaisha Toshiba Encrypted program distribution system using computer network
JP2002140126A (ja) * 2000-10-31 2002-05-17 Toshiba Corp プログラム配布システム、暗号化プログラム配布装置、プログラム不具合情報収集システム、及びプログラム配布方法
JP2003323574A (ja) * 2002-04-30 2003-11-14 Ntt Data Corp 契約データ処理方法、装置及びコンピュータプログラム
JP2009122731A (ja) * 2007-11-12 2009-06-04 Osamu Kameda 安全にファイルを送信し及び/又は管理するシステム
JP2018116578A (ja) * 2017-01-19 2018-07-26 富士通株式会社 情報処理システム、検証装置、情報処理方法、検証方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
福光 正幸: "ブロックチェーンと中央集権型サーバの連携による実用的スマートコントラクトの実現手法", 情報処理学会 研究報告 コンピュータセキュリティ(CSEC) 2018−CSEC−082, JPN6022017943, 18 July 2018 (2018-07-18), pages 1 - 7, ISSN: 0004766130 *
西谷 智広: "Hybrid−P2Pでのコンテンツ課金システム", 情報処理学会 第64回(平成14年)全国大会講演論文集(3), JPN6022017942, 12 March 2002 (2002-03-12), pages 3 - 445, ISSN: 0004766131 *

Also Published As

Publication number Publication date
US20200153637A1 (en) 2020-05-14
JP7090903B2 (ja) 2022-06-27

Similar Documents

Publication Publication Date Title
US11271754B2 (en) Data authorization based on decentralized identifiers
CN111066020B (zh) 用于创建去中心化标识的系统和方法
CN111373400B (zh) 用于实现用于去中心化标识的解析器服务的系统和方法
US11093933B1 (en) Data authorization based on decentralized identifiers
CN111095327B (zh) 用于验证可验证声明的系统和方法
US10708060B2 (en) System and method for blockchain-based notification
JP7090903B2 (ja) 情報処理システム、データ提供方法、および情報処理システムの製造方法
US11329819B2 (en) Information processing system, method for changing public key, program, and method for building information processing system
JP2018181309A (ja) 取引情報提供システム、サーバ装置、ノード装置ならびにプログラム
US7490755B2 (en) Method and program for establishing peer-to-peer karma and trust
JP6293245B1 (ja) 強化されたセキュリティを有する取引相互監視システム
WO2010090821A2 (en) Personal data subscriber systems and methods
Patel et al. EMRs with blockchain: a distributed democratised electronic medical record sharing platform
JP2019036218A (ja) ジョブ管理システム
JP6664716B1 (ja) 情報処理システム、およびサービスデータ提供方法
US11941141B2 (en) Method and system for anonymous user data storage and controlled data access
CN114240414A (zh) 资源转移方法、装置、计算机设备和存储介质
JP2023153962A (ja) 情報処理装置、プログラム、情報処理方法
JP2002007262A (ja) コンテンツ配信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220608

R150 Certificate of patent or registration of utility model

Ref document number: 7090903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150