IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 新日鉄住金ソリューションズ株式会社の特許一覧

特許7261566プログラム、記憶媒体、情報処理装置及び情報処理方法
<>
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図1
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図2
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図3
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図4
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図5
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図6
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図7
  • 特許-プログラム、記憶媒体、情報処理装置及び情報処理方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-12
(45)【発行日】2023-04-20
(54)【発明の名称】プログラム、記憶媒体、情報処理装置及び情報処理方法
(51)【国際特許分類】
   G09C 1/00 20060101AFI20230413BHJP
   H04L 9/32 20060101ALI20230413BHJP
【FI】
G09C1/00 650Z
H04L9/32 200Z
H04L9/32 200B
G09C1/00 640D
【請求項の数】 12
(21)【出願番号】P 2018213547
(22)【出願日】2018-11-14
(65)【公開番号】P2020079891
(43)【公開日】2020-05-28
【審査請求日】2021-09-17
(73)【特許権者】
【識別番号】000191076
【氏名又は名称】日鉄ソリューションズ株式会社
(74)【代理人】
【識別番号】100117857
【弁理士】
【氏名又は名称】南林 薫
(72)【発明者】
【氏名】高橋 真
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2003-216434(JP,A)
【文献】特開2002-140126(JP,A)
【文献】特開2017-046075(JP,A)
【文献】国際公開第2007/026430(WO,A1)
【文献】特開2017-142810(JP,A)
【文献】特開2002-149978(JP,A)
【文献】特開2008-171076(JP,A)
【文献】国際公開第2017/170912(WO,A1)
【文献】特開平08-272562(JP,A)
【文献】特開2006-031069(JP,A)
【文献】米国特許出願公開第2018/0067777(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
H04L 9/32
G06Q 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
一の装置との間で、1対1の処理を行う処理手段と、
前記処理手段による処理に関する処理情報を、前記コンピュータの記憶手段に格納する格納手段と、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、
として機能させ、
前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とするプログラム。
【請求項2】
前記第1の送信手段は、ユーザ操作により指定された前記他の装置に前記処理情報を送信することを特徴とする請求項1に記載のプログラム。
【請求項3】
前記コンピュータを、
前記処理プログラムを作成する第1の作成手段として機能させ、
前記第1のコンパイル手段は、前記第1の作成手段により作成された前記処理プログラムをコンパイルすることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
前記処理プログラムは、前記処理プログラムを実行可能な装置を制限する情報を含むことを特徴とする請求項3に記載のプログラム。
【請求項5】
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを暗号化する第1の暗号化手段をさらに有し、
前記第2の送信手段は、暗号化された前記処理プログラムを送信することを特徴とする請求項1乃至4の何れか1項に記載のプログラム。
【請求項6】
前記第3の送信手段は、ユーザ操作により指定された装置に前記共有プログラムを送信することを特徴とする請求項1乃至5の何れか1項に記載のプログラム。
【請求項7】
前記コンピュータを、
前記共有プログラムを作成する第2の作成手段として機能させ、
前記第2のコンパイル手段は、前記第2の作成手段により作成された前記共有プログラムをコンパイルすることを特徴とする請求項1乃至6の何れか1項に記載のプログラム。
【請求項8】
前記共有プログラムは、前記共有プログラムを実行可能な装置を制限する情報を含むことを特徴とする請求項に記載のプログラム。
【請求項9】
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを暗号化する第2の暗号化手段をさらに有し、
前記第3の送信手段は、暗号化された前記共有プログラムを送信することを特徴とする請求項1乃至8の何れか1項に記載のプログラム。
【請求項10】
コンピュータを、
一の装置との間で、1対1の処理を行う処理手段と、
前記処理手段による処理に関する処理情報を、前記コンピュータの記憶手段に格納する格納手段と、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、
として機能させ、
前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とするプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
【請求項11】
情報処理装置であって、
一の装置との間で、1対1の処理を行う処理手段と、
前記処理手段による処理に関する処理情報を、前記情報処理装置の記憶手段に格納する格納手段と、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、
を備え、
前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とする情報処理装置。
【請求項12】
情報処理装置が実行する情報処理方法であって、
一の装置との間で、1対1の処理を行う処理ステップと、
前記処理ステップにおける処理に関する処理情報を、前記情報処理装置の記憶手段に格納する格納ステップと、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信ステップと、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイルステップと、
前記第1のコンパイルステップにおいてコンパイルされた前記処理プログラムを送信する第2の送信ステップと、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイルステップと、
前記第2のコンパイルステップにおいてコンパイルされた前記共有プログラムを送信する第3の送信ステップと、
を含み、
前記処理ステップは、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信ステップは、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、記憶媒体、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
従来、サーバ装置等において情報を一元管理する仕組みが多く知られている。例えば、特許文献1には、複数のユーザの給与明細データを一元管理する給与明細提供システムが開示されている。また、2台の装置間で相対取引を行い、相対取引に関する情報を互いの装置に記憶するアプリケーションも知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2005-275956号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のように情報が一元管理されると、情報管理の負担が一か所に集中する。このため、情報量や情報の種類が増加すると、セキュリティ対策などのコストが増大するといった問題があった。また、2台の装置間で相対取引を行った場合において、相対取引に関する情報を取引者以外の者との間でも共有したいケースもある。
【0005】
本発明はこのような問題点に鑑みなされたもので、コストを抑えつつ、安全に情報を管理することを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明は、コンピュータを、一の装置との間で、1対1の処理を行う処理手段と、前記処理手段による処理に関する処理情報を、前記コンピュータの記憶手段に格納する格納手段と、前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、として機能させ、前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とするプログラムである。
【発明の効果】
【0007】
本発明によれば、コストを抑えつつ、安全に情報を管理することができる。
【図面の簡単な説明】
【0008】
図1図1は、情報処理装置のハードウェア構成図である。
図2図2は、情報処理装置の機能構成図である。
図3図3は、情報処理装置の利用形態の説明図である。
図4図4は、相対取引処理を示すシーケンス図である。
図5図5は、作成画面の一例を示す図である。
図6図6は、暗号復号画面の一例を示す図である。
図7図7は、取引実行画面の一例を示す図である。
図8図8は、データ共有処理を示すシーケンス図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
図1は、本実施形態に係る情報処理装置100のハードウェア構成図である。情報処理装置100は、PCや、携帯端末装置等のコンピュータである。情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、入力部106と、通信部107とを有している。CPU101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。RAM103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置100の機能や処理は、CPU101がROM102又はHDD104に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。また、他の例としては、CPU101は、ROM102等に替えて、SDカード等の記憶媒体に格納されているプログラムを読み出してもよい。
【0011】
表示部105は、各種情報を表示する。入力部106は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部107は、ネットワークを介して画像形成装置等の外部装置との通信処理を行う。
【0012】
図2は、情報処理装置100の機能構成図である。情報処理装置100は、受付部201と、通信処理部202と、暗号復号部203と、プログラム作成部204と、コンパイル部205と、相対取引部206と、データ共有部207と、データ保管部208と、を有している。受付部201は、入力部106へのユーザ操作に応じて各種情報を受け付ける。通信処理部202は、外部装置との通信を行う。暗号復号部203は、情報の暗号化及び復号化を行う。
【0013】
プログラム作成部204は、受付部201が受け付けた情報に基づいて、プログラムを作成する。本実施形態のプログラム作成部204は、相対取引プログラム及びデータ共有プログラムを作成する。相対取引プログラムは、2台の情報処理装置100の間での1対1での取引である相対取引を行うためのプログラムである。相対取引プログラムには、取引するデータのモデルや、相対取引に係る条件、チェック内容等が含まれるものとする。このように、相対取引プログラムには、相対取引に係る情報が含まれる。相対取引プログラムは、相対取引毎に作成されるプログラムであり、契約そのものであるとも捉えることができる。データ共有プログラムは、相対取引に関するデータを共有するためのプログラムである。相対取引プログラム及びデータ共有プログラムは、いずれもスマートコントラクトプログラムである。なお、プログラム作成部204は、各プログラムの作成に際し、ワークフロー等が記述されたテンプレートを利用してもよい。なお、相対取引プログラムは、1対1の処理を実現する処理プログラムの一例である。また、データ共有プログラムは、1対1の処理に関する処理情報を共有する処理を実現する共有プログラムの一例である。
【0014】
コンパイル部205は、プログラム作成部204により作成されたプログラムをコンパイルすることで、実行形式のファイルを得る。相対取引プログラムがコンパイルされることにより、相対取引部206が実現される。また、データ共有プログラムがコンパイルされることにより、データ共有部207が実現される。
【0015】
相対取引部206は、相対取引の相手となる情報処理装置との間で相対取引に係る処理を行う。相対取引部206は、相対取引に関するデータをデータ保管部208に格納する。データ共有部207は、データ保管部208に記憶されているデータを、他の情報処理装置との間で共有するための処理を行う。データ共有部207は、具体的には、データ保管部208に記憶されているデータを、通信処理部202を介して、共有相手の情報処理装置に送信する。
【0016】
なお、情報処理装置100と他の装置との間での相対取引毎に相対取引プログラムが作成され、相対取引プログラム毎に相対取引部206が作成される。ここで、相対取引部が作成されるというのは、相対取引ごとに取引内容に応じた相対取引プログラムがデプロイされ、取引当事者間での取引の実行が可能な状態を準備・形成されると言い換えることができる。このため、1つの情報処理装置100において、複数の相対取引部206が実現され得る。そして、作成された相対取引部206は、コンパイル部205によりコンパイルされた実行形式のファイルが送信された情報処理装置との間でのみ相対取引処理を行うことができる。なお、相対取引部206は、自装置以外でコンパイルされた相対取引プログラムを有する装置との間では相対取引処理を行うことはできない。
【0017】
同様に、情報処理装置100と他の装置との間でのデータ共有の処理毎にデータ共有プログラムが作成され、データ共有プログラム毎にデータ共有部207が作成される。このため、1つの情報処理装置100において、複数のデータ共有部207が実現され得る。そして、作成されたデータ共有部207は、コンパイル部205によりコンパイルされた実行形式のファイルが送信された情報処理装置との間でのみデータ共有処理を行うことができる。なお、データ共有部207は、自装置以外でコンパイルされたデータ共有プログラムを有する装置との間ではデータ共有処理を行うことはできない。
【0018】
図3は、情報処理装置100の利用形態の説明図である。例えば、ある企業における給与の支払担当者が受給者との間で相対取引を行うものとする。さらに、支払担当者は、承認者及び社内のバックアップ装置との間で相対取引に関する取引データを共有することを希望しているものとする。また、受給者は、家族との間で取引データを共有することを希望しているものとする。
【0019】
この場合、支払担当者が利用する情報処理装置100は、受給者が利用する情報処理装置100との間で給与の支払いに関する相対取引を行うための相対取引プログラムを作成する。そして、支払担当者の情報処理装置100は、受給者の情報処理装置100との間で相対取引プログラムに基づく相対取引処理を行う。
【0020】
さらに、支払担当者の情報処理装置100は、承認者の情報処理装置100及びバックアップのための情報処理装置100との間で取引データを共有するためのデータ共有プログラムを作成する。そして、支払担当者の情報処理装置100は、承認者の情報処理装置100との間でデータ共有プログラムに基づくデータ共有処理を行い、さらにバックアップのための情報処理装置100との間でデータ共有プログラムに基づくデータ共有処理を行う。
【0021】
一方で、受給者の情報処理装置100は、家族の情報処理装置100との間で取引データを共有するためのデータ共有プログラムを作成する。そして、受給者の情報処理装置100は、家族の情報処理装置100との間でデータ共有プログラムに基づくデータ共有処理を行う。
【0022】
以下、上記の利用形態を実現するための情報処理装置100の処理について説明する。なお、以降では、複数の情報処理装置100を区別すべく、支払担当者が利用する情報処理装置100を装置A、受給者が利用する情報処理装置100を装置Bと称する。また、承認者が利用する情報処理装置100、バックアップのための情報処理装置100をそれぞれ装置C、装置Dと称する。また、受給者の家族が利用する情報処理装置100を装置Eと称する。
【0023】
図4は、装置Aと装置Bの間での相対取引処理を示すシーケンス図である。まず、S401において、装置Aのプログラム作成部204は、装置Bとの間の相対取引のための相対取引プログラムを作成する。本実施形態においては、装置Aのプログラム作成部204は、給与の支払いに関する相対取引プログラムを作成する。次に、S402において、装置Aのコンパイル部205は、S401において作成された相対取引プログラムをコンパイルし、実行形式のファイルを得る。これにより、装置Aにおいて、相対取引プログラムに対応した相対取引部206が展開される。
【0024】
S401及びS402の処理に際し、装置Aの表示部105には、図5に示す作成画面500が表示される。装置Aのユーザは、作成画面500の入力欄501に相対取引プログラムの名称を入力する。さらに、装置Aのユーザは、テンプレートを利用する場合には、作成画面500のテンプレートボタン502を選択し、表示欄504において、テンプレートを選択する。また、自身で作成する場合には、装置Aのユーザは、独自実装ボタン503を選択する。さらに、「プログラムエディタを開く」のボタン505を選択し、取引プログラムに関する情報を入力する。S401においては、作成画面500において入力された情報に基づいて、相対取引プログラムが作成される。また、コンパイルボタン506が選択されると、S402におけるコンパイル部205のコンパイルが実行される。コンパイルが実行されると、作成画面500には、「コンパイルに成功しました。スマートコントラクト一覧に追加しました。」といった情報が表示される。
【0025】
次に、S403において、装置Aの暗号復号部203は、S402において得られた、相対取引プログラムの実行形式のファイルを暗号化する。次に、S404において、通信処理部202は、暗号化された相対取引プログラムを装置Bへ送信する。このように、装置Aが相対取引プログラムを暗号化して送信することで、本来送信すべき相手と異なる第三者に相対取引プログラムが転送された場合に、第三者により相対取引プログラムが利用されるのを防ぐことができる。また、相対取引プログラムの送信先は、ユーザ操作に応じて指定されるものとする。
【0026】
装置BのCPU101は、相対取引プログラムを受信すると処理をS405へ進める。S405において、装置Bの暗号復号部203は、S404において受信した相対取引プログラムを復号化する。なお、復号化のためのキーは、支払担当者が受給者に口頭等で伝え、受給者が装置Bに入力することとする。このように、装置Bは、相対取引プログラムとは別の経路で復号化のためのキーを取得するものとする。暗号復号部203により相対取引プログラムが復号化されると、装置Bにおいて、相対取引プログラムに応じた相対取引部206が展開される。
【0027】
上述のように、相対取引プログラムは、同一の実行形式ファイルにより展開された相対取引部間でのみしか相対取引処理が実行できないように作成される。このため、装置Aの相対取引部206は、装置A以外の装置において同一の相対取引プログラムをコンパイルすることで得られた実行形式ファイルにより展開された相対取引部との間では相対取引処理を行うことができない。一方で、装置Aは、装置Aのコンパイル部205によりコンパイルされた相対取引プログラムの実行形式ファイルを取得した装置Bの相対取引部206と相対取引処理が可能となる。すなわち、装置Aの相対取引部206は、装置Bにおいて、相対取引部206が展開されることで、装置Aと装置Bの間での相対取引処理を実行可能となる。このように、相対取引処理の相手を制限することで、相対取引処理のセキュリティを保つことができる。
【0028】
図6は、装置Aの表示部105に表示される暗号復号画面600の一例を示す図である。装置Aのユーザが選択欄601において暗号化の対象の相対取引プログラムを選択し、暗号ボタン602を押下する、これに対応して、暗号復号部203は、相対取引プログラムの暗号化を行う。暗号化が完了すると、「スマートコントラクトを暗号化しました。」といった確認情報が表示される。さらに、装置Bが相対取引プログラムを復号化する際にも、装置Bの表示部105に暗号復号画面600が表示される。装置Bのユーザが選択欄601において復号化の対象の相対取引プログラムを選択し、復号ボタン603を押下すると、装置Bの暗号復号部203は、相対取引プログラムを復号化する。
【0029】
次に、S406において、装置Aの相対取引部206と装置Bの相対取引部206とにより相対取引処理が行われる。図7は、装置Aの表示部105に表示される取引実行画面700の一例を示す図である。装置Aのユーザは、選択欄701において、実行を希望する相対取引プログラムを選択し、確認ボタン702を押下する。これにより、「社員番号X12345に給与を支払うスマートコントラクトです。」というように、選択中の相対取引プログラムに関する情報が表示される。さらに、実行ボタン703が押下されると、装置Aの相対取引部206は、相対取引プログラムに対応した相対取引処理を開始する。そして、各装置A,Bの相対取引部206は、相対取引に関する取引データを自装置のデータ保管部208に格納する(S407,S408)。以上で、相対取引処理が完了する。なお、相対取引に関する取引データには、支払日、支払額等が含まれる。
【0030】
このように、装置Aは、自装置でコンパイルした相対取引プログラムを暗号化した上で取引相手のみに送信する。装置Aとの相対取引ができる装置は、装置Aによりコンパイルされた相対取引プログラムを受信し、かつ復号化できる装置に限定されるので、装置Aは、安全かつ秘匿性を保持した状態で相対取引を行うことができる。
【0031】
図8は、装置Aと、装置C及び装置Dとの間でのデータ共有処理を示すシーケンス図である。まず、S801において、装置Aのプログラム作成部204は、データ共有プログラムを作成する。装置Aのユーザは、共有相手を指定する情報及び共有するデータを指定する情報を入力する。これに対応し、装置Aのプログラム作成部204は、受付部201を介して、共有相手を指定する情報及び共有するデータを指定する情報を取得し、この情報に従い共有相手及び共有するデータを指定したデータ共有プログラムを作成する。
【0032】
次に、S802において、装置Aのコンパイル部205は、S801において作成されたデータ共有プログラムをコンパイルし、実行形式のファイルを得る。これにより、装置Aにおいて、データ共有プログラムに対応したデータ共有部207が展開される。次に、S803において、装置Aの暗号復号部203は、S803において得られた、データ共有プログラムの実行形式のファイルを暗号化する。次に、S804において、装置Aの通信処理部202は、暗号化されたデータ共有プログラムを装置Dへ送信する。なお、上述のように、データ共有プログラムの送信先は、データ共有プログラムにおいて定義されている。他の例としては、データ共有プログラムの送信先は、ユーザ操作に応じて指定されてもよい。
【0033】
装置DのCPU101は、データ共有プログラムを受信すると、処理をS805へ進める。S805において、装置Dの暗号復号部203は、S804において受信したデータ共有プログラムを復号化する。なお、復号化のためのキーは、装置Aのユーザが装置Dのユーザに口頭等で伝え、装置Dのユーザが装置Dに入力することとする。このように、装置Dは、データ共有プログラムとは別の経路で、復号化のためのキーを取得するものとする。暗号復号部203によりデータ共有プログラムが復号化されると、装置Dにおいて、データ共有プログラムに応じたデータ共有部207が展開される。なお、データ共有プログラムは、相対取引プログラムと同様、同一の実行形式ファイルにより展開されたデータ共有部間でのみしかデータ共有処理を実行できないように作成されている。
【0034】
次に、S806において、装置Aのデータ共有部207は、自装置のデータ保管部208から、共有対象のデータを取得し、取得した共有対象のデータを、通信処理部202を介して装置Dに送信する。装置Aのデータ共有部207は、例えば、図4を参照しつつ説明した取引処理においてデータ保管部208に格納された取引データを装置Dに送信する。装置Dは、共有対象のデータを受信すると、S807において、共有対象のデータを自装置のデータ保管部208に格納する。これにより、装置Aの取引データを装置Dとの間で共有することができる。
【0035】
続いて、装置Aは、装置Cとの間で、S812~S815の処理を行う。なお、S811~S815の処理は、装置Dとの間で行ったS804~S807の処理と同様である。なお、S812~S815の処理は、S804~S807の処理とは独立した処理であり、その実行タイミングは、実施形態に限定されるものではない。他の例としては、装置Aは、S804~S807の処理とS812~S815の処理を同時に並行して行ってもよい。このように、装置Aは、データ共有プログラムの送信相手との間でデータ共有処理により取引データを共有することができる。なお、装置Aは、共有したい相手が複数存在する場合には、各相手との間で、S804~S807の処理を行えばよい。
【0036】
また、装置Bは、装置Eとの間で、データ共有処理を行うことで、装置Bのデータ保管部208に保管されている取引データを装置Eとの間で共有することができる。以上の処理により、図3を参照しつつ説明したように、支払担当者の装置Aと受給者の装置Bとの間で相対取引を行い、その取引データを、装置C、装置D、装置Eといった相対取引を行っていない情報処理装置100との間で共有することができる。
【0037】
このように、本実施形態においては、2者間で行った処理に関するデータを、処理を行った2者以外の者との間で共有することができる。すなわち、ブロックチェーンのように複数の装置の間でのデータ共有を実現する一方で、共有者を所望の相手のみに制限することができる。
【0038】
以上のように、本実施形態に係る情報処理装置100は、相対取引に関する取引データを自装置に格納し、さらには、相対取引の相手以外の装置との間で取引データを共有することでバックアップも行うことができる。このため、例えば、サーバ装置のように、特定の装置が取引等に係る情報を一元管理することなく、安全にデータを管理することができる。すなわち、本実施形態によれば、複数の情報処理装置100が取引データを共有して管理することで、コストを掛けることなく安全に情報を管理することができる。
【0039】
また、相対取引処理とデータ共有処理とを独立した処理としたので、情報処理装置100は、相対取引処理毎に、データ共有の相手を自由に選択することができる。これにより、例えば、装置Bが、毎月支払われる給与については装置Eとの間でデータを共有し、ボーナスについては装置Fとの間でデータを共有する、といったことも可能となる。
【0040】
次に、実施形態の変形例について説明する。第1の変形例としては、情報処理装置100は、データ共有の対象となるデータの単位を任意に指定可能であってもよい。例えば、給与支払いの例において、給与のうち一部の金額についてのみデータ共有の対象としてもよい。
【0041】
第2の変形例としては、情報処理装置100は、相対取引の相手の識別情報を含み、識別情報に一致した情報処理装置以外では起動しないような相対取引データを作成してもよい。同様に、情報処理装置100は、データ共有の相手の識別情報を含み、識別情報に一致した情報処理装置以外では起動しないようなデータ共有プログラムを作成してもよい。これにより、セキュリティを高く保つことができる。
【0042】
第3の変形例としては、相対取引プログラムの作成等の処理は、相対取引を行う2つの情報処理装置のうち何れか一方の装置が行えばよく、いずれかの装置に限定されるものではない。また、データ共有プログラムの作成等の処理は、データ共有元の情報処理装置に替えて、データ共有先の情報処理装置が行ってもよい。
【0043】
第4の変形例としては、実施形態においては、情報処理装置100が相対取引を行う場合について説明したが、情報処理装置100は、2つの装置の間で、1対1で行われる処理を実行すればよく、相対取引に限定されるものではない。他の例としては、住民票、免許証、パスポート等の証明書の交付に係る処理であってもよい。この場合、役所の装置と申請者の装置との間で、交付に係る処理を行う。そして、役所の装置と申請者の装置には、交付に関する交付データが格納される。さらに、申請者は、家族等信頼できる人物の装置との間で交付データを共有し、役所では、バックアップ装置との間で交付データを共有する。
【0044】
また、他の例としては、1対1で行われる処理は、病院等での診察に係る処理であってもよい。この場合、医師が使用する装置と患者の装置との間で、診察に係る処理を行う。そして、医師の装置と患者の装置には、診察に係るデータとして電子カルテが格納される。さらに、患者の装置は、信頼できる人物の装置との間で電子カルテを共有する。
【0045】
以上の技術により、ユーザが所持する情報処理装置において、取引に係る情報、電子カルテ、住民票やパスポート、免許証に関する情報等、自身に関する多数の情報を記憶、管理することができる。これにより、サーバ装置のように情報を一元管理する装置を不要とすることができる。
【0046】
なお、上述のとおり、本発明に係る情報処理システムにおいてはスマートコントラクトや分散台帳等を含めたブロックチェーン関連の技術の利用が好適である。ここで、本実施形態に係る情報処理システムにおけるブロックチェーン関連技術の利用について簡単に説明すれば、以下のとおりである。
【0047】
ブロックチェーンの技術的な要素としては、ピアツーピア(P2P)ネットワーク、電子署名・ハッシュ関数、コンセンサスアルゴリズムなどが挙げられる。また、ブロックチェーンを利用した技術としてスマートコントラクトがある。
【0048】
P2Pネットワークは、特定の管理主体が存在するクライアント・サーバ型ではなく、各コンピュータノードが対等に直接通信し、ネットワークを形成する方式である。ブロックチェーンにおけるP2Pネットワークにおいては、ネットワーク参加ノードの計算資源においてハッシュ計算が正しいことと、ブロック内の取引が正しいものであることを確認する。そして、全ての参加ノードは同じ内容のブロックチェーンを保有する。ここで、ノードとは、ブロックチェーンのP2Pネットワークに接続される通信機器を意味し、例えば、銀行間取引においては銀行が保持するサーバ、個人間取引においては個人が保持する端末等がノードとなる。
【0049】
また、コンセンサスアルゴリズムとは、各参加者がブロックチェーンを保有し正当性を検証するためのアルゴリズムであり、P2Pネットワークなどの分散ネットワーク上で合意形成を行う為のアルゴリズムである。ブロックチェーンを複数ノード間で共有するために最も重要な仕組みであるといえる。また、電子署名・ハッシュ関数は、トランザクションを発行する人の正当性を保証する仕組みや、取引・ブロックチェーンの改ざん防止や暗号化など、セキュリティに関する仕組みである。
【0050】
ところで、ブロックチェーンの定義については色々あるが、日本ブロックチェーン協会によるブロックチェーンの定義によれば、狭義の意味では、ビザンチン障害を含む不特定多数のノードを用い、時間の経過と共にその時点の合意が覆る確率が0へ収束するプロトコルまたはその実装をブロックチェーンと呼ぶ。
【0051】
また、広義の意味では、電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造をもち、且つ、当該データをブロックチェーン上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。これは、換言すれば、取引履歴のブロックを暗号技術によって過去から1本の鎖のように繋げ、ある取引について改ざんを行う為には、それより新しい取引について全て改ざんしていく必要がある仕組みとすることで、正確な取引履歴を維持しようとする技術といえる。
【0052】
ここでビザンチン将軍問題とは、相互に通信し合うネットワークにおいて、故障または故意によって偽の情報を伝達する可能性がある場合、全体として正しい合意を形成できるかを問う問題である。ブロックチェーン技術の応用の一例であるビットコインにおいてはこの問題が実質的に解決されているという。上述したコンセンサスアルゴリズムの1つにPoWというものがある。PoWでは、ナンスという値(新しいブロックを生成する際にハッシュ計算に与えるパラメータ)を求める計算(マイニング)をして、初めに正解を出したノードが取引の承認を行い、新たなブロックを追加する権利を得る。この計算の正解者には報酬が与えられるため、多くの人がこの報酬を求めて計算勝負をする。しかしながら、不正を働こうとするノードが参加ノード全体の50%を超える計算力が得られると取引記録の改ざんができてしまうという。これを51%攻撃という。
【0053】
ここで、上述のとおり、ブロックチェーンにおいては、取引履歴のブロックを暗号技術によって過去から1本の鎖のように繋げ、ある取引について改ざんを行う為には、それより新しい取引について全て改ざんしていく必要がある。より具体的には、各ブロックは、ナンスと前ブロックのハッシュ値を保有している。したがって、この51%攻撃にはとてつもない時間とコストが必要となるため、事実上、51%攻撃は不可能であり、単純に問題を解くことが合理的であるとういことになり、このことがビットコインのセキュリティを支えているともいえる。
【0054】
ところで、ビットコインのようなパブリックなブロックチェーンは、中央管理者は存在せず、ネットワークへの参加は自由であり、トランザクションの承認もブロックチェーンに参加する全てのノードによって行われる。すなわち、悪意のある参加者が存在することを前提としつつ、このようにオープンな形のブロックチェーンを構成してコンセンサスアルゴリズムとしてPoWを採用することで、情報の改ざんや二重譲渡等のかく乱を防止できるような仕組みが構築されていると考えられる。一方で、このようなパブリックなブロックチェーンにおいては、PoWのようなコンセンサスアルゴリズムを採用するため、取引の承認やファイナリティに時間を要したり、情報が暗号化はされているとはいえトランザクションはオープンな状態となっており、取引の当事者以外でもその内容を参照したりすることができるというような問題もある。
【0055】
そこで、ブロックチェーン関連の技術(分散台帳技術)を利用しつつ、第三者には取引の内容を参照できないようにしたプライベートないしはセミプライベート(コンソーシアム型)なネットワークを構成することが考えられる。この場合、ネットワークへの参加を許可制として取引の承認に中央の管理者が存在したり、あるいはノータリーによって取引の正当性が確認されたトランザクションを当事者間だけで承認したりするような構成が考えられる。したがって、取引の秘密性は担保される反面、参加ノードが少なくパブリックな構成に比べると冗長性が低く、信頼性の高い参加者のみで構成されるとはいえ、情報の改ざんやかく乱等に対する耐性は低くなる。
【0056】
これに対し、本実施形態に係る情報処理装置は、主に、ブロックチェーン関連の技術(分散台帳技術)を利用したプライベートなネットワークにおいて、そのような課題を解決するための技術と捉えることができる。
【0057】
一般的には、プライベートなネットワークは、ネットワークを構成するノードが企業のサーバや個人が利用するクラウドサービスの仮想ノードである。これに対して、本実施形態の情報処理装置においては、一般の個人のユーザが占有する端末(所有に限らず貸与されているもの等も含まれる)を、プライベートネットワークにおける分散台帳を構成するノードとして利用することが想定されている。なお、上述したプライベートなネットワークの特徴として、管理者ノードが存在する場合を例として挙げたが、信頼できる者のみが参加するネットワークであれば管理者ノードを不在とする構成とすることもできる。
【0058】
これにより、ユーザは自己の取引にかかる各種の情報を自己の端末に保持することができるため、ブロックチェーン関連の技術を利用しつつも、自己の情報を自己の管理下におくことができるようになるのである。
【0059】
すなわち、一般の個人のユーザが自己の占有する端末を介して、自己のトランザクションを参照することにより、銀行等のインターネットバンキングのサーバにアクセスすることなく自己が所有する通貨の残高を確認することが可能となる。また、例えば給与の支払いが仮想通貨のようなコインによって行われる場合には、同様のコインを利用する相手との間で銀行等を介することなく決済を行ったりすることが可能となる。
【0060】
また、役所から交付される個人情報を含む各種の情報を自己の端末に保持することができる。例えば、現状、各種の手続きにおいて住民票の提出を求められる場合、提出の都度、役所への申請手続きが必要であるが、本実施形態に係る仕組みによって住民票の交付を受けた場合、役所と自己の端末には、交付された住民票の情報とともに、当該住民票の発行を役所から受けたという取引履歴が記録される。すなわち、住民票の提出が必要になった場合、自己の端末に記録されている住民票の情報が正当なものであることを証明することができる。したがって、例えば提出先が同様のプライベートなネットワークに参加すれば、新たに役所から住民票の交付を受けることなく当該住民票の提出を行うことができる。
【0061】
以上のとおり、本実施形態にかかるプログラムによれば、このような商取引あるいは会計上の意味での取引に限られない各種の取引をプライベートネットワークによって行うためのプラットフォームを提供することができる。さらには、上述した冗長性の問題に対しても、全くの第三者ノードに対しては取引内容を非公開にしつつも、自己が許容するノードを指定して取引にかかる情報を共有することで、例えば自己の端末が破損等した場合であっても、データを復元することができるようになる。
【0062】
また、さらには、取引にかかる情報としてハッシュ関数を用いて取引内容に関するハッシュ値等の不可逆な値を算出し、そのハッシュ値をパブリックなブロックチェーンに送信(ブロードキャスト)して記憶させる構成であってもよい。この場合、パブリックなブロックチェーン上に記憶されるのはあくまでハッシュ値等の不可逆な値であって、第三者に取引内容を知られることはない。このような構成とすることで、万一後々情報の改ざん等が疑われるようになった場合、取引の当事者の端末間に記憶されている取引情報から算出されるハッシュ値とブロックチェーン上のハッシュ値とを突き合わせて確認することで、改ざんがなされていないことを確認することができるようになる。
【0063】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0064】
100 情報処理装置
203 暗号復号部
204 プログラム作成部
205 コンパイル部
206 相対取引部
207 データ共有部
208 データ保管部
図1
図2
図3
図4
図5
図6
図7
図8