(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024020492
(43)【公開日】2024-02-14
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06F 21/64 20130101AFI20240206BHJP
【FI】
G06F21/64
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023197531
(22)【出願日】2023-11-21
(62)【分割の表示】P 2022057260の分割
【原出願日】2022-03-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】515039731
【氏名又は名称】株式会社アクセルスペース
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】宮下 直己
(57)【要約】
【課題】衛星に関する衛星データに対して認証することが可能なプログラム等を提供すること。
【解決手段】一つの側面に係るプログラムは、認証を要求する衛星4に関する衛星データを情報処理装置1に出力し、前記衛星データに対応する前記情報処理装置1での認証結果を表示する処理をコンピュータ3に実行させる。また、好適には、一つの側面に係るプログラムは、認証に成功した場合に、前記衛星データに対応する認証結果及び認証日時を表示する処理をコンピュータ3に実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
認証を要求する衛星に関する衛星データを情報処理装置に出力し、
前記衛星データに対応する前記情報処理装置での認証結果を表示する
処理をコンピュータに実行させるプログラム。
【請求項2】
認証に成功した場合に、前記衛星データに対応する認証結果及び認証日時を表示する
請求項1に記載のプログラム。
【請求項3】
前記衛星データは、前記衛星の挙動データを含み、
前記挙動データを前記情報処理装置に出力し、
前記挙動データに対応する前記情報処理装置での認証結果を、前記衛星が撮影した衛星画像に対応付けて表示する
請求項1又は2に記載のプログラム。
【請求項4】
前記衛星が撮影した衛星画像と、前記衛星の前記衛星画像に対応する挙動データと、前記衛星における前記衛星画像に対応する命令データとの組み合わせにより得られた組み合わせデータを前記情報処理装置に出力し、
前記組み合わせデータに対応する前記情報処理装置での認証結果を表示する
請求項1から3までのいずれかひとつに記載のプログラム。
【請求項5】
前記衛星データは、前記衛星が撮影した衛星画像を含み、
前記衛星画像に対応して発行された衛星画像NFTの選択を受け付け、
受け付けた衛星画像NFTに対応する衛星画像を取得し、
取得した衛星画像を表示する
請求項1から4までのいずれかひとつに記載のプログラム。
【請求項6】
前記衛星データは、前記衛星が撮影した衛星画像を含み、
前記衛星画像に対応して発行された衛星画像NFTの選択を受け付け、
受け付けた衛星画像NFTに対応して記憶された第1ハッシュ値に一致する衛星画像、及び、第2ハッシュ値に一致する前記衛星の挙動データを取得し、
取得した衛星画像と、取得した挙動データとを関連付けて表示する
請求項1から5までのいずれかひとつに記載のプログラム。
【請求項7】
認証を要求する衛星に関する衛星データを情報処理装置に出力し、
前記衛星データに対応する前記情報処理装置での認証結果を表示する
情報処理方法。
【請求項8】
制御部を備える情報処理装置において、
前記制御部は、
認証を要求する衛星に関する衛星データを情報処理装置に出力し、
前記衛星データに対応する前記情報処理装置での認証結果を表示する
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、衛星画像に関する技術が普及している。特許文献1には、人工衛星が作成した衛星画像上の照合用基準点の位置を特定し、特定した位置情報に基づいて衛星画像を補正する衛星画像の補正方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、衛星に関する衛星データに対して認証することができないという問題がある。
【0005】
一つの側面では、衛星に関する衛星データに対して認証することが可能なプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、認証を要求する衛星に関する衛星データを情報処理装置に出力し、前記衛星データに対応する前記情報処理装置での認証結果を表示する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、衛星に関する衛星データに対して認証することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】衛星データ改ざん防止システムの概要を示す説明図である。
【
図3】衛星データDBのレコードレイアウトの一例を示す説明図である。
【
図4】ブロックチェーンのノードの構成例を示すブロック図である。
【
図5】ユーザ端末の構成例を示すブロック図である。
【
図6】衛星画像のハッシュ値をブロックチェーンのノードに記録する処理を説明する説明図である。
【
図7】衛星データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。
【
図8】挙動データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。
【
図9】命令データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。
【
図10】変形例4におけるサーバの構成例を示すブロック図である。
【
図11】観測データDBのレコードレイアウトの一例を示す説明図である。
【
図12】観測データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。
【
図13】衛星画像の認証画面の一例を示す説明図である。
【
図14】衛星画像を認証する際の処理手順を示すフローチャートである。
【
図15】観測データの認証画面の一例を示す説明図である。
【
図16】実施形態3における衛星データDBのレコードレイアウトの一例を示す説明図である。
【
図17】衛星画像NFTを発行する際の処理手順を示すフローチャートである。
【
図18】衛星画像NFTに対応する衛星画像を表示する際の処理手順を示すフローチャートである。
【
図19】衛星画像NFTに対応する衛星画像及び挙動データを表示する際の処理手順を示すフローチャートである。
【
図20】スマートコントラクトによる管理者への支払処理を説明する説明図である。
【
図21】管理者に仮想通貨を支払う際の処理手順を示すフローチャートである。
【
図22】実施形態4における衛星データDBのレコードレイアウトの一例を示す説明図である。
【
図23】組み合わせデータに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【0010】
(実施形態1)
実施形態1は、衛星に関する衛星データに対する改ざん防止処理を実行し、改ざん防止処理後の衛星データを出力する形態に関する。
図1は、衛星データ改ざん防止システムの概要を示す説明図である。本実施形態のシステムは、情報処理装置1、ブロックチェーンシステム2、情報処理端末3及び衛星4を含み、各装置はインターネット等のネットワークNを介して情報の送受信を行う。
【0011】
情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータまたは汎用のタブレットPC(パソコン)等である。本実施形態において情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。
【0012】
ブロックチェーンシステム2は、分散型台帳技術又は分散型ネットワークである。ブロックチェーンシステム2は、コンセンサス処理を実行する複数のノード21により構成される。ノード21の各々は、当該コンセンサス処理の実行を通じて、ブロックチェーンデータのコピーを保持する。ブロックチェーンシステム2は、ブロックと呼ばれるデータの単位を一定時間ごとに生成し、鎖のように連結していくことによりデータを保管する。
【0013】
ブロックチェーンシステム2は、ピアツーピア(Peer to Peer)ネットワークと分散型タイムスタンプサーバの使用により自律的に管理される。鎖状に保存しているため、ブロック内のデータを一度記憶した場合、該データを遡及的に変更することが難しい。なお、ブロックチェーンシステム2は、パブリック型、プライベート型、コンソーシアム型のいずれであっても良い。データの単位はブロックではなく個々のトランザクションであっても良い。また、データの保存は鎖状以外にも有向非巡回グラフ等の保存形式であっても良い。以下では簡潔のため、ブロックチェーンシステム2をブロックチェーン2と読み替える。
【0014】
情報処理端末3は、改ざん防止処理後の衛星データの受信及び表示、並びに、衛星データに対する認証要求の送信、認証結果の受信及び表示等を行う端末装置である。情報処理端末3は、例えばスマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、タブレット、パーソナルコンピュータ端末等の情報処理機器である。以下では簡潔のため、情報処理端末3をユーザ端末3と読み替える。
【0015】
衛星4は、人工衛星、宇宙探査機、宇宙往還機、UAS(Unmanned Aircraft System)またはUAF(Unmanned Aviation Fundamentals)等を含む宇宙航行体である。
【0016】
本実施形態に係るサーバ1は、衛星4に関する衛星データを取得し、取得した衛星データに対する改ざん防止処理を実行する。サーバ1は、当該衛星データに対する改ざん防止処理後の衛星データをユーザ端末3に出力する。また、サーバ1は、衛星データに対する認証要求をユーザ端末3から受け付けた場合、当該衛星データに対して認証処理を行う。サーバ1は、認証結果をユーザ端末3に出力する。
【0017】
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16及び大容量記憶部17を含む。各構成はバスBで接続されている。
【0018】
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1P(プログラム製品)を読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。また、制御プログラム1Pには、例えばイーサリアムのGeth(Go-Ethereum)、Mist Wallet等のスマートコントラクトの生成・実行、仮想通貨の送金、アカウントの作成またはマイニング等の処理を実行するプログラムが含まれる。
【0019】
なお、制御プログラム1Pは、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。なお、
図2では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0020】
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、ブロックチェーン2のノード21、ユーザ端末3または衛星4等との間で情報の送受信を行う。
【0021】
入力部14は、マウス、キーボード、タッチパネルまたはボタン等の入力デバイスであり、受け付けた操作情報を制御部11へ出力する。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。
【0022】
読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
【0023】
大容量記憶部17は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部17は、衛星データDB(データベース:database)171を含む。衛星データDB171は、衛星データに関する情報を記憶している。
【0024】
なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はサーバ1に接続された外部記憶装置であっても良い。
【0025】
サーバ1は、種々の情報処理及び制御処理等をコンピュータ単体で実行しても良いし、複数のコンピュータで分散して実行しても良い。また、サーバ1は、1台のサーバ内に設けられた複数の仮想マシンによって実現されても良いし、クラウドサーバを用いて実現されても良い。
【0026】
図3は、衛星データDB171のレコードレイアウトの一例を示す説明図である。衛星データDB171は、衛星データID列、種類列、衛星データ列、ハッシュ値列及び衛星ID列を含む。衛星データID列は、各衛星データを識別するために、一意に特定される衛星データのIDを記憶している。種類列は、衛星データの種類を記憶している。衛星データの種類は、衛星4が撮影した衛星画像、衛星4の挙動データ、または衛星4における命令データを含む。
【0027】
衛星画像は、衛星4に搭載された撮影装置で得られた画像、UASもしくはUAF等により撮影された画像、光学画像(光学衛星画像)、SAR(Synthetic Aperture Radar)画像、ハイパースペクトル画像、またはAI(Artificial Intelligence)技術を活用した画像処理を行うAI画像処理装置等により得られた画像等を含む。なお、AI画像処理は地上のコンピュータ等により行われても良い。SAR画像は、衛星4または航空機等に搭載されたSARにより取得されたデータを処理して得られた画像である。ハイパースペクトル画像は、衛星4に搭載されたハイパースペクトルセンサにより撮影された画像である。
【0028】
なお、挙動データは及び命令データに関しては後述する。
【0029】
なお、衛星データの種類は上述した種類に限るものではない。例えば衛星データの種類には、衛星画像を解析した解析結果データ、または衛星4の軌道、高度、姿勢もしくはエラー範囲等を記述したログデータ等が含まれても良い。解析結果データは、例えば衛星画像に含まれる領域の識別結果、または識別結果の時間的な変化データ等を含む。衛星画像に含まれる領域の識別結果は、例えば対象エリアが浸水したか否かを示す情報、またはGHG(Greenhouse Gas)の推定排出量等を含む。
【0030】
衛星データ列は、衛星データを記憶している。ハッシュ値列は、衛星データのハッシュ値を記憶している。衛星ID列は、衛星4を特定する衛星IDを記憶している。
【0031】
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
【0032】
図4は、ブロックチェーン2のノード21の構成例を示すブロック図である。ブロックチェーン2のノード21は、制御部211、記憶部212、通信部213、受付部214、出力部215、ブロック生成部216、ブロック検証部217及びブロック共有部218を含む。各構成はバスBで接続されている。
【0033】
制御部211は、他ノード21(端末)の制御部211と自律分散的に協調して、常に最新のブロックチェーン(台帳:ブロックチェーンデータのコピー)を記憶部212に保持する。記憶部212には、分散型のネットワークへブロードキャストされたトランザクションが含まれたブロックチェーン(台帳)、及びブロック内の情報の検証処理に必要となる情報等が記憶される。
【0034】
通信部213は、通信に関する処理を行うための通信モジュールである。受付部214は、外部ノード21から、ブロックチェーン2が管理するブロックチェーン2である分散型のネットワークに記録する情報を受け付ける。出力部215は、外部ノード21からの要求に応じて、自身が保持するブロックチェーン2の情報を出力する。
【0035】
ブロック生成部216は、受付部214が受け付けた情報を基に、ブロックチェーン2に追加するブロックを生成する。ブロック生成部216は、前ブロックに基づく情報と受付部214が受け付けた情報とを含むブロックを生成する。また、ブロック生成部216は、自身が生成したブロックまたは後述するブロック共有部218を介して他のノード21が生成したブロックに対して、所定のコンセンサス処理として、例えば、ノンスを探索する処理または署名を付与する処理を行った上で、自身が管理するブロックチェーン2にブロックを追加する。なお、ブロック生成部216が生成したブロックに対して、複数のノード21が所定のコンセンサス処理を行って得られたものが、最終的にブロックチェーン2に追加されるブロックとなる。
【0036】
ブロック検証部217は、自身が保持するブロックチェーン2にブロックを追加する際に、該ブロック内の情報の検証を行う。通常、追加対象とされるブロックは、自ノード21を含むノード21群において最も早く規則が満たされたブロックであるが、悪意のあるノード21が含まれていた場合等を考慮して、実際に規則が満たされているか等を検証しても良い。
【0037】
ブロック共有部218は、ブロックチェーン2に属するノード21間で情報交換を行う。ブロック共有部218は、より具体的には、受付部214が受け付けた情報、ブロック生成部216が生成したブロック、及び他のノード21から受け付けたブロック等を、適宜他のノード21に送信する。これにより、可能な限り全てのノード21でこれらの情報および最新のブロックチェーン2を共有する。
【0038】
なお、
図4の構成はあくまで一例であって、ブロックチェーンのノード21は、改ざんが困難なブロックチェーン2を複数のノードが共有して管理するための所定のコンセンサス処理を実行可能であり、外部ノードからの要求に応じて分散型のネットワークへの情報追加、及び分散型のネットワークに記録された情報の参照が可能なノードであれば、具体的な構成は問わない。
【0039】
なお、サーバ1は、ブロックチェーン2のノード21であっても良い。
【0040】
図5は、ユーザ端末3の構成例を示すブロック図である。ユーザ端末3は、制御部31、記憶部32、通信部33、入力部34及び表示部35を含む。各構成はバスBで接続されている。
【0041】
制御部31はCPU、MPU等の演算処理装置を含み、記憶部32に記憶された制御プログラム3P(プログラム製品)を読み出して実行することにより、ユーザ端末3に係る種々の情報処理、制御処理等を行う。なお、
図5では制御部31を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0042】
記憶部32はRAM、ROM等のメモリ素子を含み、制御部31が処理を実行するために必要な制御プログラム3P又はデータ等を記憶している。また、記憶部32は、制御部31が演算処理を実行するために必要なデータ等を一時的に記憶する。
【0043】
通信部33は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1等と情報の送受信を行う。入力部34は、キーボード、マウスまたは表示部35と一体化したタッチパネルでも良い。表示部35は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部31の指示に従い各種情報を表示する。
【0044】
続いて、衛星データに対する改ざん防止処理を説明する。なお、以下では、衛星データが衛星画像である例を説明する。ほかの種類の衛星データに対する改ざん防止処理に関しては、後述する変形例で説明する。
【0045】
衛星画像に対する偽造又は改ざんを防止するため、ブロックチェーン2を利用して衛星画像に対する改ざん防止処理を実行することができる。具体的には、サーバ1は、改ざん防止対象となる衛星画像を衛星4から取得する。サーバ1は、取得した衛星画像に対し、衛星画像ID(衛星データID)を割り振る。サーバ1は、暗号学的ハッシュ関数を用いて、取得した衛星画像のハッシュ値を算出する。
【0046】
暗号学的ハッシュ関数は、デジタル文書の改ざんを検出する一方向の暗号処理方法であり、出力値は常に16進数表記として64桁と固定されている。例えばサーバ1は、SHA(Secure Hash Algorithm)2-256アルゴリズムを用いたハッシュ関数を採用し、衛星画像のハッシュ値を算出しても良い。なお、本実施形態では、ハッシュ関数を用いたが、これに限らず、他の改ざんを検知する方式であっても良い。例えば、チェックサム(Checksum)、またはHMAC(Hash Message Authentication Code)等の改ざん検知技術を利用しても良い。
【0047】
サーバ1は、衛星画像IDに対応付けて、「衛星画像」である衛星データの種類、衛星画像の画像データ、算出した衛星画像のハッシュ値及び衛星IDを一つのレコードとして衛星データDB171に記憶する。サーバ1は、算出した衛星画像のハッシュ値を衛星画像IDに対応付けてブロックチェーン2のいずれかのノード21に送信する。ブロックチェーン2のノード21は、サーバ1から送信された衛星データID及び衛星画像のハッシュ値を受信して記録する。
【0048】
図6は、衛星画像のハッシュ値をブロックチェーン2のノード21に記録する処理を説明する説明図である。ブロックチェーン2の一つのノード21は、サーバ1から送信されたデータ(トランザクション)を受信する。図示のように、衛星画像ID及び衛星画像のハッシュ値がデータに含まれる。ノード21は、受信したデータに含まれている衛星画像ID及び衛星画像のハッシュ値と、自身が管理しているブロックチェーンの情報とを基に作成した前ブロック管理情報とを少なくとも含むブロックを生成する。
【0049】
そして、ブロックチェーン2の各々のノード21は、所定のコンセンサスアルゴリズムに従った処理を実行する。例えばビットコイン(登録商標)に係るブロックチェーン技術を本システムに応用した場合、ノード21、ノード21、ノード21…は、PoW(Proof of Work)と呼ばれる演算処理を実行し、ブロックチェーン2を更新するノード21を決定する。PoWは、新たに生成するブロックの一つ前のブロックに予め格納されたハッシュ値から、ある正解値を探索する(マイニング)演算処理である。
【0050】
ノード21は、新たにブロックを生成する場合、当該ブロックの一つ前のブロックに格納されたハッシュ値及びデータをハッシュ化したハッシュ値を生成し、最新のブロックに格納する。例えば
図6に示すように、ブロック3を生成する場合、ノード21は、ブロック2に格納されているハッシュ値と、複数のデータとをハッシュ化してハッシュ値を生成し、ブロック3に格納する。例えばビットコインの例では、ノード21は演算処理の難易度を上げる目的で、データのほかにナンス値をヘッダに挿入してハッシュ値を生成する。ナンス値は、ハッシュ値のヘッダにゼロが所定数連続するような値であり、ナンス値に係るゼロの数を適切な数に設計することで、演算処理の処理負荷が調整される。
【0051】
各ノード21は、最新のブロックを生成する場合、前のブロックに含まれる当該ハッシュ値から正解値(ビットコインの例ではナンス値)を探索するという探索問題を解く。例えば
図6に示すように、ブロック3を新たに生成する場合、各ノード21は、ブロック2のブロックに格納されているハッシュ値から正解値を探索する。1回の演算処理で正解値を探し当てる確率は低く、例えばビットコイン等の仮想通貨に係るブロックチェーン技術を応用した場合、平均して10分程度の時間を要する。各ノード21は一斉に探索問題の演算処理を実行し、正解値を探索する。そして、最も早く正解値を探し当てたノード21に、最新のブロックを生成する権限が与えられる。不正者がブロックチェーンのデータを書き換えようとする場合、善意の検証者(ノード21)全ての演算処理速度を上回る速度でブロックを生成する必要があり、実際に不正な書き換えを行うことは極めて難しくなっている。
【0052】
探索に成功した場合、ノード21は、検証したデータ(衛星画像ID及び衛星画像のハッシュ値)を格納した最新のブロックを生成し、当該ブロックに係るデータを他のノード21、21、21…に通知する。この場合、上述の如くノード21は、一つ前のブロックに格納されているハッシュ値及びデータからハッシュ値を生成し、当該ハッシュ値を新たなブロックに格納した上で各ノード21に通知する。
【0053】
例えば
図6に示すように、ノード21は、ブロック2に格納されているハッシュ値及びデータをハッシュ化したハッシュ値を生成し、新たなブロック3に格納して他のノード21、21、21…に通知する。新たなブロックに格納されたハッシュ値は、一つ前のブロックのハッシュ値を含むことから、ブロックチェーンを構成する各ブロックは時系列的に関連付けられている。他のノード21、21、21…は、通知されたブロックのデータの正当性を確認した後、データを記憶部212に記憶する。これにより、各ノード21、21、21…の記憶部212には、同一のブロックチェーン2に係るデータが複製されて記憶される。
【0054】
なお、探索に成功したノード21の管理者(マイナー)には、探索に成功した報酬が与えられる。すなわち、探索に成功したノード21の管理者に、当該ブロックに格納されている各取引の手数料が支払われる。これにより、管理者にはノード21という計算資源を投入するインセンティブが与えられる。
【0055】
なお、上記ではブロックチェーン2の更新権限を決定する手法としてPoWを用いたが、本実施の形態はこれに限定されるものではなく、例えばPOI(Proof of Importance)、POS(Proof of Stake)等を用いても良い。また、上記ではビットコイン技術を応用したシステムについて説明したが、本実施の形態はこれに限定されるものではない。例えばビットコイン以外に、イーサリアム、ハイパーレジャー・ファブリック(Hyperledger Fabric)等に係るブロックチェーン技術を応用しても良い。
【0056】
ブロックチェーン2を利用し、衛星画像等のデータは過去の取引履歴と連鎖して保存されているため、データの改ざんが難しく、信頼性が高い取引を実現することが可能となる。従って、衛星画像に対する改ざんを防止することができる。
【0057】
なお、ブロックチェーン2による改ざん防止処理に限るものではない。例えば、デジタル認証用の署名を利用しても良い。具体的には、サーバ1は、偽造又は改ざんを防止するため、公開鍵暗号方式に基づくデジタル認証用の電子署名付き衛星画像を生成する。サーバ1は、生成した電子署名付き衛星画像を、衛星画像の認証処理を行う機関またはサービスの提供者(電子認証局)等の端末(以下では、認証端末と読み替える)に送信する。
【0058】
認証端末は、電子署名付き衛星画像の生成時に使用された公開鍵を用いて、衛星画像の電子署名の正当性を検証する。具体的には、認証端末は、秘密鍵で作成された電子署名付き衛星画像に対し、秘密鍵と対になった公開鍵で復号する。認証端末は、公開鍵を用いて復号されたハッシュ値と、提供時点の衛星画像のハッシュ値とを比較することにより、改ざんの有無を検知する。電子署名後に衛星画像が改ざんされると、復号された衛星画像のハッシュ値が提供時点の衛星画像のハッシュ値と合致しなくなるため、電子署名自体が無効になる。このように、暗号化された電子署名付き衛星画像が公開鍵で復号できることで、衛星画像の正当性を検証することができる。
【0059】
図7は、衛星データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、改ざん防止対象となる衛星画像を衛星4から取得する(ステップS101)。なお、衛星画像が予め記憶部12または大容量記憶部17に記憶された場合、制御部11は、衛星画像を記憶部12または大容量記憶部17から取得しても良い。制御部11は、取得した衛星画像に対して衛星画像IDを割り振る(ステップS102)。
【0060】
制御部11は、暗号学的ハッシュ関数を用いて、取得した衛星画像のハッシュ値を算出する(ステップS103)。制御部11は、割り振った衛星画像IDに対応付けて、「衛星画像」である衛星データの種類、衛星画像の画像データ、算出した衛星画像のハッシュ値及び衛星IDを一つのレコードとして大容量記憶部17の衛星データDB171に記憶する(ステップS104)。
【0061】
制御部11は、衛星画像に対する改ざん防止処理のトランザクションを作成する(ステップS105)。トランザクションは、ブロックチェーン2における取引記録であり、ブロックチェーン2の参加者間での各種の情報及び価値の移転を記憶している。作成されたトランザクションは、衛星画像ID及び衛星画像のハッシュ値等を含む。制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS106)。
【0062】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS201)。制御部211は、受信したトランザクションに含まれる衛星画像ID及び衛星画像のハッシュ値を記憶部212に記録する(ステップS202)。
【0063】
具体的には、トランザクションを受信したノード21の制御部211は、ブロック生成部216を介して、受信したトランザクションに含まれた衛星画像ID及び衛星画像のハッシュ値と、自身が管理しているブロックチェーン2の情報とを基に作成した前ブロック管理情報とを少なくとも含むブロックを生成する。そして、ブロックチェーン2のノード21各々の制御部211は、所定のコンセンサス処理をブロック生成部216により実行する。ブロックチェーン2は、ブロックとよばれる所定のデータ構造を有するデータ群を時系列に並べたものであり、取引内容を記した台帳としての役割を有する。各ブロックは、取引内容等の当該ブロックに記録したいデータの他に、一つ以上前のブロック(以下、前ブロックという)の情報と、改ざんの有無を検知するための情報(ノンスまたは署名等)とを含む。ノンスは、あるデータ領域に対して、その領域内のデータを一方向性関数により処理したときに得られる値が予め決められた規則を満たすように設定される、当該データ領域内の値である。
【0064】
ブロックチェーン2には、2台以上のノードが参加する所定のコンセンサスアルゴリズムに従った処理を経て新たなブロックが追加される。例えば、コンセンサスアルゴリズムの一つであるPoWでは、前ブロックの情報とノンスとを含む各ブロック(データ群)に対して、「ブロックのHash値が閾値以下であること」といった規則が予め決められており、ブロックを追加する際に、そのような規則を満たすようなノンスを複数のノードが同時並列的に探索する処理がブロック検証部217により行われる。なお、PoW以外にもBFT(Byzantine fault tolerance)等のコンセンサスアルゴリズムがある。ブロックチェーン2のノード21各々の制御部211は、所定のコンセンサス処理を実行した後に、ブロック共有部218を介して、ブロック生成部216が生成したブロックを記憶部212に記録(追加)する。
【0065】
本実施形態によると、衛星画像に対する改ざん防止処理を実行することが可能となる。
【0066】
本実施形態によると、衛星画像に対する改ざん防止処理を実行することにより、衛星画像の改ざんが難しく、信頼性が高い衛星画像を実現することが可能となる。
【0067】
<変形例1>
衛星画像に対し機械学習処理を実行した処理後の衛星画像を取得した場合、当該衛星画像に対する改ざん防止処理を実行する処理を説明する。
【0068】
例えばサーバ1は、衛星画像を入力した場合に、当該衛星画像を高解像化処理した衛星画像を出力するよう学習済みの学習モデルを用いて、衛星画像の解像度を高くするよう処理を行う。サーバ1は、高解像化処理した衛星画像に対し、上述した改ざん防止処理と同様に、当該衛星画像に対する改ざん防止処理を実行する。
【0069】
サーバ1は、衛星画像に対する改ざん防止処理後の衛星画像をユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信された改ざん防止処理後の衛星画像を受信し、受信した衛星画像を画面に表示する。
【0070】
本変形例1によると、衛星画像に対し機械学習処理を実行した処理後の衛星画像に対し、当該衛星画像に対する改ざん防止処理を実行することが可能となる。
【0071】
<変形例2>
衛星4の挙動データに対する改ざん防止処理を実行する処理を説明する。
図8は、挙動データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、改ざん防止対象となる挙動データを衛星4から取得する(ステップS111)。挙動データは、撮影時間、撮影位置、撮影時の姿勢または衛星4の軌道データ等を含む。
【0072】
制御部11は、取得した挙動データに対して挙動データID(衛星データID)を割り振る(ステップS112)。制御部11は、暗号学的ハッシュ関数を用いて、取得した挙動データのハッシュ値を算出する(ステップS113)。制御部11は、割り振った挙動データIDに対応付けて、「挙動データ」である衛星データの種類、挙動データ、算出した挙動データのハッシュ値及び衛星IDを一つのレコードとして大容量記憶部17の衛星データDB171に記憶する(ステップS114)。
【0073】
制御部11は、挙動データに対する改ざん防止処理のトランザクションを作成する(ステップS115)。作成されたトランザクションは、挙動データID及び挙動データのハッシュ値等を含む。制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS116)。
【0074】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS211)。制御部211は、受信したトランザクションに含まれる挙動データID及び挙動データのハッシュ値を記憶部212に記録する(ステップS212)。
【0075】
本変形例2によると、衛星4の挙動データに対する改ざん防止処理を実行することが可能となる。
【0076】
<変形例3>
衛星4における命令データに対する改ざん防止処理を実行する処理を説明する。
図9は、命令データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、改ざん防止対象となる命令データを衛星4から取得する(ステップS121)。命令データは、衛星4の軌道、高度、姿勢または温度等に対して制御を行うためのコマンド(命令)、及び当該衛星4が命令を実行した実行時刻等を含む。
【0077】
制御部11は、取得した挙動データに対して命令データID(衛星データID)を割り振る(ステップS122)。制御部11は、暗号学的ハッシュ関数を用いて、取得した命令データのハッシュ値を算出する(ステップS123)。制御部11は、割り振った命令データIDに対応付けて、「命令データ」である衛星データの種類、命令データ、算出した命令データのハッシュ値及び衛星IDを一つのレコードとして大容量記憶部17の衛星データDB171に記憶する(ステップS124)。
【0078】
制御部11は、命令データに対する改ざん防止処理のトランザクションを作成する(ステップS125)。作成されたトランザクションは、命令データID及び命令データのハッシュ値等を含む。制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS126)。
【0079】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS221)。制御部211は、受信したトランザクションに含まれる命令データID及び命令データのハッシュ値を記憶部212に記録する(ステップS222)。
【0080】
本変形例3によると、衛星4における命令データに対する改ざん防止処理を実行することが可能となる。
【0081】
<変形例4>
衛星データの種類は、衛星4による観測データをさらに含む。観測データは、衛星4に搭載されるセンサ等により地球または宇宙空間等を観測して得られたデータである。観測データは、例えば、気象データ(気温、降水量、風向または風速等)、地象データ(地表面における温度または圧力等)、植物の活性度、または災害が発生した地域等の様々なデータを含む。本変形例4では、衛星4による観測データに対する改ざん防止処理を実行する処理を説明する。
【0082】
図10は、変形例4におけるサーバ1の構成例を示すブロック図である。なお、
図2と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、観測データDB172が含まれる。観測データDB172は、衛星4による観測データを記憶している。
【0083】
図11は、観測データDB172のレコードレイアウトの一例を示す説明図である。観測データDB172は、観測データID列、観測データ列、ハッシュ値列、衛星ID列及び観測日時列を含む。観測データID列は、各観測データを識別するために、一意に特定される観測データのIDを記憶している。観測データ列は、観測データを記憶している。ハッシュ値列は、観測データのハッシュ値を記憶している。衛星ID列は、衛星を特定する衛星IDを記憶している。観測日時列は、観測データを観測した日時を記憶している。
【0084】
図12は、観測データに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、改ざん防止対象となる観測データを衛星4から取得する(ステップS131)。制御部11は、取得した観測データに対して観測データIDを割り振る(ステップS132)。
【0085】
制御部11は、暗号学的ハッシュ関数を用いて、取得した観測データのハッシュ値を算出する(ステップS133)。制御部11は、割り振った観測データIDに対応付けて、観測データ、算出した観測データのハッシュ値及び衛星IDを一つのレコードとして大容量記憶部17の観測データDB172に記憶する(ステップS134)。
【0086】
制御部11は、観測データに対する改ざん防止処理のトランザクションを作成する(ステップS135)。作成されたトランザクションは、観測データID及び観測データのハッシュ値等を含む。制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS136)。
【0087】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS231)。制御部211は、受信したトランザクションに含まれる観測データID及び観測データのハッシュ値を記憶部212に記録する(ステップS232)。
【0088】
本変形例4によると、衛星4による観測データに対する改ざん防止処理を実行することが可能となる。
【0089】
(実施形態2)
実施形態2は、衛星データ(衛星画像、挙動データ、命令データまたは観測データ等)に対して認証処理を行う形態に関する。なお、実施形態1と重複する内容については説明を省略する。
【0090】
以下では、衛星データの一つの種類である衛星画像に対する認証処理の例を説明する。ユーザ端末3は、認証対象となる衛星画像を取得する。ユーザ端末3は、衛星画像の真正性を証明するための認証画面(
図13)に、取得した衛星画像を表示する。ユーザ端末3は認証画面を通じて、ユーザによる認証要求を受け付けた場合、受け付けた認証要求をサーバ1に送信する。認証要求には、ユーザID、認証対象となる衛星画像の衛星画像ID、及び当該衛星画像の画像データが含まれる。
【0091】
サーバ1は、ユーザ端末3から送信された認証要求に含まれる衛星画像のハッシュ値を算出する。サーバ1は、認証要求に含まれる衛星画像IDに基づき、ブロックチェーン2のノード21上に記憶された当該衛星画像のハッシュ値を取得する。なお、サーバ1は、衛星画像IDに基づき、衛星データDB171に記憶された当該衛星画像のハッシュ値を取得しても良い。サーバ1は、算出した衛星画像のハッシュ値と、記憶されている当該衛星画像のハッシュ値とが一致するか否かを判断する。
【0092】
サーバ1は、両者が一致すると判定した場合、当該衛星画像が真正な衛星画像であり、認証に成功したと判定する。逆に、サーバ1は、両者が一致していないと判定した場合、当該衛星画像が不正な衛星画像であり、認証に失敗したと判定する。サーバ1は、衛星画像に対する認証結果及び認証日時をユーザ端末3に送信する。認証結果には、衛星画像ID、及び認証に成功したか否かを示す情報等を含む。ユーザ端末3は、サーバ1から送信された認証結果及び認証日時を受信して画面に表示する。
【0093】
図13は、衛星画像の認証画面の一例を示す説明図である。当該画面は、選択ボタン11a、衛星画像表示欄11b、認証ボタン11c及び認証結果表示欄11dを含む。
【0094】
選択ボタン11aは、認証対象となる衛星画像を選択するボタンである。衛星画像表示欄11bは、衛星画像を表示する表示欄である。認証ボタン11cは、衛星画像の真正性を認証するボタンである。認証結果表示欄11dは、衛星画像の認証結果を表示する表示欄である。
【0095】
ユーザ端末3は、選択ボタン11aのタッチ操作を受け付けた場合、衛星画像を選択可能な選択画面(図示なし)を表示する。ユーザ端末3は、当該選択画面を通じて、ユーザによる認証対象となる衛星画像の選択を受け付ける。ユーザ端末3は、受け付けた衛星画像を衛星画像表示欄11bに表示する。ユーザ端末3は、認証ボタン11cのタッチ操作を受け付けた場合、選択された衛星画像を衛星画像IDに対応付けてサーバ1に送信する。
【0096】
サーバ1は、ユーザ端末3から送信された衛星画像ID及び衛星画像を受信する。サーバ1は、受信した衛星画像に対して認証処理を行う。なお、衛星画像の認証処理に関しては、上述した認証処理と同様であるため、説明を省略する。サーバ1は、衛星画像の認証結果及び認証日時をユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信された認証結果及び認証日時を受信し、受信した認証結果及び認証日時を認証結果表示欄11dに表示する。図示のように、認証に成功したか否かを示す情報、衛星画像ID及び認証日時が認証結果表示欄11dに表示される。
【0097】
図14は、衛星画像を認証する際の処理手順を示すフローチャートである。ユーザ端末3の制御部31は、認証対象となる衛星画像を記憶部12または大容量記憶部17から取得する(ステップS341)。なお、制御部31は、外部の情報処理装置から衛星画像を通信部33により取得しても良い。制御部31は、取得した衛星画像を表示部35により表示する(ステップS342)。
【0098】
制御部31は、ユーザによる認証要求を入力部34により受け付ける(ステップS343)。認証要求には、認証対象となる衛星画像の衛星画像ID、及び当該衛星画像の画像データが含まれる。制御部31は、受け付けた認証要求を通信部33によりサーバ1に送信する(ステップS344)。サーバ1の制御部11は、ユーザ端末3から送信された認証要求を通信部13により受信する(ステップS141)。制御部11は、暗号学的ハッシュ関数を用いて、受信した認証要求に含まれる衛星画像のハッシュ値を算出する(ステップS142)。
【0099】
制御部11は通信部13を介して、認証要求に含まれる衛星画像IDに基づき、当該衛星画像に対応する衛星画像のハッシュ値をブロックチェーン2のノード21から取得する(ステップS143)。なお、制御部11は衛星画像IDに基づき、当該衛星画像のハッシュ値を大容量記憶部17の衛星データDB171から取得しても良い。制御部11は、算出した衛星画像のハッシュ値と、記憶されている当該衛星画像のハッシュ値とが一致するか否かを判断する(ステップS144)。
【0100】
制御部11は、両者が一致していないと判定した場合(ステップS144でNO)、当該衛星画像の認証に失敗したと判定する(ステップS147)。制御部11は、後述するステップS146の処理に遷移する。制御部11は、両者が一致すると判定した場合(ステップS144でYES)、当該衛星画像の認証に成功したと判定する(ステップS145)。
【0101】
制御部11は、衛星画像ID、及び認証に成功したか否かを示す情報等を含む衛星画像の認証結果、並びに、認証日時を通信部13によりユーザ端末3に送信する(ステップS146)。ユーザ端末3の制御部31は、サーバ1から送信された認証結果及び認証日時を通信部33により受信する(ステップS345)。制御部31は、当該衛星画像、受信した認証結果及び認証日時を表示部35により表示し(ステップS346)、処理を終了する。
【0102】
また、衛星4の挙動データ、衛星4における命令データまたは衛星4による観測データに対し、上述した認証処理にも同様に適用することができる。サーバ1は、挙動データ、命令データまたは観測データに対する認証結果を、当該衛星4により撮影された衛星画像とともにユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信された認証結果及び衛星画像を受信する。ユーザ端末3は、受信した挙動データ、命令データまたは観測データに対する認証結果を、衛星4により撮影された衛星画像に対応付けて画面に表示する。
【0103】
図15は、観測データの認証画面の一例を示す説明図である。なお、
図13と重複する内容については同一の符号を付して説明を省略する。なお、
図15では、観測データが二酸化炭素データである例を説明したが、他の種類の観測データにも同様に適用することができる。
【0104】
当該画面は、観測期間表示欄12a、観測期間設定ボタン12b及び観測データ表示欄12cを含む。観測期間表示欄12aは、二酸化炭素データの観測期間を表示する表示欄である。観測期間設定ボタン12bは、観測期間の設定を受け付けるボタンである。観測データ表示欄12cは、二酸化炭素の時系列データ、または、変動の時系列データを総計した上で生成されたグラフもしくは画像等を表示する表示欄である。
【0105】
ユーザ端末3は、観測期間設定ボタン12bのタッチ操作を受け付けた場合、観測期間を設定可能な設定画面(図示なし)を表示する。ユーザ端末3は、当該設定画面を通じて、ユーザによる観測期間の設定を受け付ける。ユーザ端末3は、受け付けた観測期間を観測期間表示欄12aに表示し、当該観測期間をサーバ1に送信する。
【0106】
サーバ1は、ユーザ端末3から送信された観測期間に応じて、該当する二酸化炭素の時系列データを観測データDB172から取得する。サーバ1は、取得した時系列データに基づいて、例えば、二酸化炭素の濃度分布を示す二酸化炭素濃度のヒートマップを生成する。サーバ1は、生成した二酸化炭素濃度のヒートマップをユーザ端末3に送信する。
【0107】
ユーザ端末3は、サーバ1から送信された二酸化炭素濃度のヒートマップを受信し、受信した二酸化炭素濃度のヒートマップを観測データ表示欄12cに表示する。なお、
図15では、二酸化炭素の時系列データを基に濃度分布を示すヒートマップを表示した例を説明したが、これに限るものではない。例えば、観測データ表示欄12cに二酸化炭素の時系列データを直接表示しても良い。
【0108】
ユーザ端末3は、認証ボタン11cのタッチ操作を受け付けた場合、観測期間設定ボタン12bにより設定された観測期間をサーバ1に送信する。サーバ1は、ユーザ端末3から送信された観測期間を受信する。サーバ1は、受信した観測期間に応じて、当該観測期間内の各二酸化炭素データの観測データIDを取得する。サーバ1は、取得した各観測データIDに基づき、ブロックチェーン2のノード21上に記憶された各二酸化炭素データのハッシュ値を取得する。
【0109】
サーバ1は、対象観測期間における二酸化炭素の時系列データに対し、ブロックチェーン2のノード21から取得された各二酸化炭素データのハッシュ値と、観測データDB172に記憶された各二酸化炭素データのハッシュ値とが一致しているか否かを判定する。サーバ1は、すべての時点での二酸化炭素データのハッシュ値が一致していると判定した場合、当該観測期間における二酸化炭素データの認証に成功したと判定する。
【0110】
サーバ1は、二酸化炭素データの認証結果及び認証日時をユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信された認証結果及び認証日時を受信し、受信した認証結果及び認証日時を認証結果表示欄11dに表示する。図示のように、認証に成功したか否かを示す情報、観測データID及び認証日時が認証結果表示欄11dに表示される。
【0111】
なお、
図15では、認証ボタン11cが設けられたが、これに限るものではない。例えば認証ボタン11cが設けられていない場合、サーバ1は、対象となる二酸化炭素データに対して認証処理を行った認証結果を、当該二酸化炭素データとともにユーザ端末3に送信する。ユーザ端末3は、サーバ1から送信された二酸化炭素データ及び認証結果を画面に直接表示しても良い。
【0112】
本実施形態によると、衛星画像に対して認証処理を行い、当該衛星画像の認証結果を出力することが可能となる。
【0113】
本実施形態によると、衛星4の挙動データ、当該衛星4における命令データ、または衛星4による観測データに対して認証処理を行い、当該挙動データ、命令データまたは観測データの認証結果を出力することが可能となる。
【0114】
(実施形態3)
実施形態3は、ブロックチェーン2上で衛星画像に対応する衛星画像NFT(Non-Fungible Token;非代替性トークン)を発行する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。
【0115】
NFTは、鑑定書または所有証明書付きのデジタルデータであり、仮想通貨と同様にデータ管理にブロックチェーン技術が用いられ、改ざん・偽造ができない仕組みである。衛星画像NFTは、ブロックチェーン2上で発行され、衛星画像とNFTとを紐付けることで当該衛星画像の所有権を持っているという証明である。
【0116】
図16は、実施形態3における衛星データDB171のレコードレイアウトの一例を示す説明図である。なお、
図3と重複する内容については同一の符号を付して説明を省略する。衛星データDB171は、衛星画像NFT列及びシリアル番号列を含む。衛星画像NFT列は、ブロックチェーン2上で発行された衛星画像NFTを記憶している。例えば、ブロックチェーン2上で、Ethereumの一つのスマートコントラクト規格であるERC721を利用し、鑑定書等のようにその「真正性」または「価値」を証明することができる衛星画像NFTを発行しても良い。ERC721が利用された場合、衛星画像NFTは、トークン(Token)ID、所有者アドレス及びトークンURI(Uniform Resource
Identifier)等が構成される。
【0117】
例えば衛星画像NFT列には、衛星画像NFTのトークンID、所有者アドレス及びトークンURI等を含むブロックチェーン2上でのインデックスが記憶されている。なお、衛星画像NFTの発行時に、衛星画像NFTのトークンID、所有者アドレス及びトークンURI等がブロックチェーン2上で記憶される。トークンURIは、衛星画像NFTに対するメタデータの場所を示す属性である。メタデータの場所は、例えばメタデータ(画像または動画等)のURL(Uniform Resource Locator)等である。なお、メタデータそのものは、例えばJSON(JavaScript Object Notation)形式で外部のデータベース装置に記憶されても良い。
【0118】
シリアル番号列は、衛星画像NFTにおける上限数に対するシリアル番号を記憶している。シリアル番号は、衛星画像NFTを識別するために割り当てられる一連の一意での番号である。
【0119】
図17は、衛星画像NFTを発行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、衛星画像NFTを発行する対象となる衛星画像を通信部13または入力部14により取得する(ステップS151)。制御部11は、ステップS152~S154の処理を実行する。なお、ステップS152~S154の処理に関しては、
図7でのステップS102~S104の処理と同様であるため、説明を省略する。
【0120】
制御部11は、衛星画像NFTにおける発行上限数に達しているか否かを判定する(ステップS155)。なお、発行上限数は予め記憶部12または大容量記憶部17に記憶されても良い。制御部11は、発行上限数に達していると判定した場合(ステップS155でYES)、処理を終了する。制御部11は、発行上限数に達していないと判定した場合(ステップS155でNO)、衛星画像NFTの発行指示を通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS156)。
【0121】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信された衛星画像NFTの発行指示を通信部213により受信する(ステップS251)。ノード21の制御部211は、受信した発行指示に応じて、当該ブロックチェーン2上で衛星画像NFTを発行する(ステップS252)。ノード21の制御部211は、発行した衛星画像NFTのトークンID、所有者アドレス及びトークンURIを記憶部212に記録する(ステップS253)。
【0122】
ノード21の制御部211は、発行した衛星画像NFTを通信部213によりサーバ1に送信する(ステップS254)。サーバ1の制御部11は、ブロックチェーン2のノード21から送信された衛星画像NFTを通信部13により受信する(ステップS157)。制御部11は、受信した衛星画像NFTに対してシリアル番号を割り振る(ステップS158)。制御部11は、衛星画像IDに対応付けて、割り振ったシリアル番号及び受信した衛星画像NFTを大容量記憶部17の衛星データDB171に記憶する(ステップS159)。制御部11は、処理を終了する。
【0123】
また、衛星画像NFTに対応する衛星画像を表示することができる。
図18は、衛星画像NFTに対応する衛星画像を表示する際の処理手順を示すフローチャートである。ユーザ端末3の制御部31は、通信部33を介して、ユーザの暗号ウォレットにより、衛星4が撮影した衛星画像に対応して発行された、当該ユーザが所有しているすべての衛星画像NFTをブロックチェーン2のノード21から取得する(ステップS361)。各衛星画像NFTには、トークンID、所有者アドレス及びトークンURI等が含まれる。
【0124】
制御部31は表示部35を介して、取得した各衛星画像NFTを一覧表示する(ステップS362)。制御部31は、ユーザによる衛星画像NFTの選択を入力部34により受け付ける(ステップS363)。制御部31は、受け付けた衛星画像NFTのトークンIDを通信部33によりサーバ1に送信する(ステップS364)。
【0125】
サーバ1の制御部11は、ユーザ端末3から送信されたトークンIDを通信部13により受信する(ステップS161)。制御部11は、受信したトークンIDに基づき、当該衛星画像NFTに対応する衛星画像の衛星画像IDを大容量記憶部17の衛星データDB171から取得する(ステップS162)。制御部11は、取得した衛星画像IDに基づき、ブロックチェーン2上に記憶された当該衛星画像のハッシュ値を通信部13により取得する(ステップS163)。
【0126】
制御部11は、取得した当該衛星画像のハッシュ値に基づき、大容量記憶部17の衛星データDB171に記憶されたハッシュ値に一致する衛星画像を取得する(ステップS164)。制御部11は、取得した衛星画像を通信部13によりユーザ端末3に送信する(ステップS165)。ユーザ端末3の制御部31は、サーバ1から送信された衛星画像を通信部33により受信する(ステップS365)。制御部31は、受信した衛星画像を表示部35により表示し(ステップS366)、処理を終了する。
【0127】
また、衛星画像NFTに対応する衛星画像及び挙動データを表示することができる。
図19は、衛星画像NFTに対応する衛星画像及び挙動データを表示する際の処理手順を示すフローチャートである。なお、
図18と重複する内容については同一の符号を付して説明を省略する。
【0128】
サーバ1の制御部11は、ユーザ端末3から送信されたトークンIDを通信部13により受信する(ステップS171)。制御部11は、受信したトークンIDに基づき、当該衛星画像NFTに対応する衛星画像の衛星画像ID(衛星データID)を大容量記憶部17の衛星データDB171から取得する(ステップS172)。制御部11は通信部13を介して、取得した衛星画像IDに基づき、ブロックチェーン2上に記憶された当該衛星画像のハッシュ値を第1ハッシュ値として取得する(ステップS173)。制御部11は、取得した第1ハッシュ値に基づき、大容量記憶部17の衛星データDB171に記憶されたハッシュ値に一致する衛星画像を取得する(ステップS174)。
【0129】
制御部11は、受信したトークンIDに基づき、当該衛星画像NFTに対応する衛星画像を撮影した衛星4の挙動データの挙動データID(衛星データID)を大容量記憶部17の衛星データDB171から取得する(ステップS175)。制御部11は通信部13を介して、取得した挙動データIDに基づき、ブロックチェーン2上に記憶された当該挙動データのハッシュ値を第2ハッシュ値として取得する(ステップS176)。制御部11は、取得した第2ハッシュ値に基づき、大容量記憶部17の衛星データDB171に記憶されたハッシュ値に一致する当該衛星4の挙動データを取得する(ステップS177)。
【0130】
制御部11は、取得した衛星画像及び挙動データを通信部13によりユーザ端末3に送信する(ステップS178)。ユーザ端末3の制御部31は、サーバ1から送信された衛星画像及び挙動データを通信部33により受信する(ステップS371)。制御部31は、受信した衛星画像及び挙動データを表示部35により表示し(ステップS372)、処理を終了する。
【0131】
なお、本実施形態では、衛星画像NFTに対応する衛星画像、または当該衛星画像を撮影した衛星4の挙動データの表示処理を説明したが、これに限るものではない。例えば、当該衛星4における命令データ、または当該衛星4による観測データ等を表示しても良い。
【0132】
続いて、衛星画像NFTの譲渡に伴い、当該衛星画像NFTに対応する衛星画像を管理する管理者に仮想通貨(暗号資産)を支払う処理を説明する。
【0133】
衛星画像に対応する衛星画像NFTを所有する所有者が、ブロックチェーン2上で当該衛星画像NFTを他人に譲渡することができる。例えば、第1ユーザが所有する衛星画像NFTをブロックチェーン2上で第2ユーザに譲渡した場合、当該衛星画像NFTの所有権を第1ユーザから第2ユーザに移転する。
【0134】
衛星画像の譲渡に伴い、当該衛星画像NFTに対応する衛星画像を管理する管理者に、所定基準により算出された仮想通貨を支払うことができる。なお、本実施形態では、仮想通貨の例を説明したが、これに限るものではない。例えば、法定通貨、電子マネー、クーポンまたはポイント等であっても良い。
【0135】
図20は、スマートコントラクトによる管理者への支払処理を説明する説明図である。衛星画像NFTを所有する所有者A氏から、所有者B氏に当該衛星画像NFTを譲渡することができる。所有者A氏から所有者B氏に衛星画像NFTを譲渡した場合、ERC721上に所有者A氏のアドレスから所有者B氏のアドレスに変更することにより、当該衛星画像NFTの譲渡を完成させる。
【0136】
衛星画像NFTの譲渡に伴い、衛星画像を管理する管理者への支払いを実行するスマートコントラクトにより、管理者に所定基準により算出された仮想通貨を支払う。スマートコントラクトは、事前に執行条件及び契約内容の定義がプログラム化されてトランザクションに組み込まれ、執行条件及び契約内容に合致した取引が発生した場合、自動的に契約が履行される仕組みである。
【0137】
サーバ1は、管理者への支払処理を行うための必要な執行条件、契約内容及び管理者のウォレットアドレス等が記述されたスマートコントラクトのコードを生成する。サーバ1は、生成したスマートコントラクトのコードを含むトランザクションを予めブロックチェーン2に記録する。
【0138】
スマートコントラクトのコードの内容は、本実施形態では、衛星画像NFTが譲渡された場合、管理者のウォレットアドレス宛に所定の基準により算出された仮想通貨を支払う契約をコードで定義している。なお、本実施形態では、単一のスマートコントラクトが単一のトランザクションに含まれたが、これに限るものではない。例えば、連携された複数のスマートコントラクトが単一又は複数のトランザクションに含まれても良い。
【0139】
図示のように、トランザクションは、スマートコントラクトのコード、衛星画像NFTに対応するトークンID、譲渡費用、譲渡先及び管理者の電子署名を含む。ブロックチェーン2は、当該衛星画像NFTの譲渡に関する執行条件に合致した場合、契約内容上で決められた仮想通貨量を譲渡先(所有者B氏)のウォレットアドレス宛から管理者のウォレットアドレス宛に支払う。
【0140】
例えば、譲渡費用が100仮想通貨量である場合、契約内容に基づき、譲渡費用の5%である5仮想通貨量を管理者に支払う。なお、スマートコントラクト内に所有者B氏の仮想通貨を予めデポジットしておいても良い。この場合、デポジットされた仮想通貨から対応する額の仮想通貨が管理者のウォレットアドレス宛に支払われる。
【0141】
なお、本実施形態では、管理者に支払われた仮想通貨量を譲渡費用に基づいて算出した例を説明したが、これに限るものではない。例えば、管理者に支払われた仮想通貨量が固定の金額(例えば、10仮想通貨量)であっても良い。なお、システムの運営者は管理者に仮想通貨を支払っても良い。
【0142】
図21は、管理者に仮想通貨を支払う際の処理手順を示すフローチャートである。サーバ1の制御部11は、衛星画像NFTの譲渡指示を通信部13または入力部14により受け付ける(ステップS181)。制御部11は、受け付けた譲渡指示に応じて、衛星画像NFTを譲渡するトランザクションを作成する(ステップS182)。トランザクションは、衛星画像NFTのトークンID、譲渡元の所有者アドレス、譲渡先の所有者アドレス及び取引日時等を含む。
【0143】
制御部11は、通信部13を介して、作成したトランザクションをブロックチェーン2のいずれかのノード21に送信する(ステップS183)。ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS281)。
【0144】
制御部211は、受信したトランザクションに応じて、対象となる衛星画像NFTの譲渡処理を実行する(ステップS282)。具体的には、制御部211は、衛星画像NFTのトークンID及びトークンURIを引き継ぐようにする。制御部211は、衛星画像NFTの所有者アドレスを、譲渡元の所有者アドレスから譲渡先の所有者アドレスに変更する。制御部211は、譲渡後の衛星画像NFTのトークンID、所有者アドレス(譲渡先)及びトークンURI等を記憶部212に記録する。
【0145】
制御部211は、予め記憶部212に記録された管理者への支払処理のスマートコントラクトにより、管理者に仮想通貨を支払う処理を実行する(ステップS283)。制御部211は、譲渡後の衛星画像NFTを通信部213によりサーバ1に送信する(ステップS284)。
【0146】
サーバ1の制御部11は、ノード21から送信された譲渡後の衛星画像NFTを通信部13により受信する(ステップS184)。制御部11は、衛星画像IDに基づき、譲渡後の衛星画像NFTを大容量記憶部17の衛星データDB171に更新し(ステップS185)、処理を終了する。
【0147】
本実施形態によると、衛星画像に対応する衛星画像NFTをブロックチェーン2上に発行することが可能となる。
【0148】
本実施形態によると、衛星画像NFTに対応する衛星画像、または当該衛星画像を撮影した衛星4の挙動データを表示することが可能となる。
【0149】
本実施形態によると、衛星画像NFTの譲渡に伴い、当該衛星画像NFTに対応する衛星画像を管理する管理者に仮想通貨を支払うことが可能となる。
【0150】
(実施形態4)
実施形態4は、異なる種類の衛星データの組み合わせにより得られたデータに対する改ざん防止処理を実行する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
【0151】
図22は、実施形態4における衛星データDB171のレコードレイアウトの一例を示す説明図である。衛星データDB171は、衛星データID列、衛星画像列、挙動データ列、命令データ列、観測データ列、ハッシュ値列、衛星ID列、組み合わせデータNFT列及びシリアル番号列を含む。衛星データID列は、衛星データを特定する衛星データIDを記憶している。
【0152】
衛星画像列は、所定期間(例えば、60秒)内に衛星4が撮影した時系列の衛星画像を記憶している。衛星画像列は、画像ID列、日時列及び画像データ列を含む。
【0153】
画像ID列は、衛星4が撮影した衛星画像を特定する衛星画像IDを記憶している。日時列は、衛星画像を撮影した日時情報を記憶している。画像データ列は、衛星画像のデータを記憶している。
挙動データ列は、衛星画像の画像データに対応付けて、衛星4の挙動データを記憶している。挙動データは、撮影位置、撮影時の姿勢または衛星4の軌道データ等を含む。
【0154】
命令データ列は、衛星画像の画像データに対応付けて、衛星4における命令データを記憶している。命令データは、衛星4の軌道、高度、姿勢または温度等に対して制御を行うためのコマンド、及び当該衛星4が命令を実行した実行時刻等を含む。命令データは、所定期間内に衛星4が撮影した時系列の衛星画像の全体に対応付けられた命令データであっても良く、または、各撮影時点での衛星画像に対応付けられた命令データであっても良い。
【0155】
観測データ列は、衛星4に搭載されるセンサ等により地球または宇宙空間等を観測して得られた観測データ(例えば、気象データ、または二酸化炭素の濃度データ)を記憶している。なお、観測データは、衛星画像の画像データ、挙動データ及び命令データが対応付けられている。
【0156】
ハッシュ値列は、衛星画像、当該衛星画像を撮影した際の挙動データ、当該衛星画像を撮影した際の命令データ、及び当該衛星画像に対する解析等により得られた観測データの全て、または少なくとも2つの組み合わせにより得られた組み合わせデータのハッシュ値を記憶している。組み合わせデータは、例えば、衛星画像と挙動データとの組み合わせにより得られたデータ、衛星画像と命令データとの組み合わせにより得られたデータ、衛星画像と観測データとの組み合わせにより得られたデータ、挙動データと命令データとの組み合わせにより得られたデータ、挙動データと観測データとの組み合わせにより得られたデータ、または、命令データと観測データとの組み合わせにより得られたデータであっても良い。
【0157】
また、組み合わせデータは、衛星画像と、挙動データと命令データとの組み合わせにより得られたデータ、衛星画像と、命令データと観測データとの組み合わせにより得られたデータ、挙動データ、命令データと観測データとの組み合わせにより得られたデータ、または、衛星画像と、挙動データと、命令データと観測データとの組み合わせにより得られたデータであっても良い。
【0158】
なお、上述した組み合わせデータの種類に限るものではない。例えば、異なる種類の衛星データのいずれか、または、衛星データの組み合わせデータとさらに組み合わせても良い。または、衛星画像に対し機械学習処理を実行した処理後の衛星画像と、異なる種類の衛星データとを組み合わせても良い。
【0159】
組み合わせデータNFT列は、ブロックチェーン2上で発行された組み合わせデータNFTを記憶している。なお、組み合わせデータNFTの構成に関しては、実施形態3での衛星画像NFTの構成と同様であるため、説明を省略する。シリアル番号列は、組み合わせデータNFTにおける上限数に対するシリアル番号を記憶している。シリアル番号は、組み合わせデータNFTを識別するために割り当てられる一連の一意での番号である。
【0160】
以下では、衛星画像と、挙動データと命令データとの組み合わせにより得られた組み合わせデータの例を説明したが、ほかの種類のデータにも同様に適用することができる。
【0161】
図23は、組み合わせデータに対する改ざん防止処理を実行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、改ざん防止対象となる衛星画像を衛星4から取得する(ステップS191)。制御部11は、通信部13を介して、改ざん防止対象となる挙動データを衛星4から取得する(ステップS192)。制御部11は、通信部13を介して、改ざん防止対象となる命令データを衛星4から取得する(ステップS193)。制御部11は、取得した衛星画像、挙動データ及び命令データを組み合わせることにより、組み合わせデータを作成する(ステップS194)。
【0162】
制御部11は、作成した組み合わせデータに対して衛星データIDを割り振る(ステップS195)。制御部11は、暗号学的ハッシュ関数を用いて、作成した組み合わせデータのハッシュ値を算出する(ステップS196)。制御部11は、割り振った衛星データIDに対応付けて、衛星画像(画像ID、日時及び画像データ)、挙動データ、命令データ、算出した組み合わせデータのハッシュ値及び衛星IDを一つのレコードとして大容量記憶部17の衛星データDB171に記憶する(ステップS197)。
【0163】
制御部11は、組み合わせデータに対する改ざん防止処理のトランザクションを作成する(ステップS198)。作成されたトランザクションは、衛星データID及び組み合わせデータのハッシュ値等を含む。制御部11は、作成したトランザクションを通信部13によりブロックチェーン2のいずれかのノード21に送信する(ステップS199)。
【0164】
ブロックチェーン2のノード21の制御部211は、サーバ1から送信されたトランザクションを通信部213により受信する(ステップS291)。制御部211は、受信したトランザクションに含まれる衛星データID及び組み合わせデータのハッシュ値を記憶部212に記録する(ステップS292)。
【0165】
また、組み合わせデータに対して認証処理を行うことができる。具体的には、ユーザ端末3は、認証対象となる組み合わせデータを取得する。ユーザ端末3は、組み合わせデータの真正性を証明するための認証画面(図示なし)に、取得した組み合わせデータを表示する。ユーザ端末3は認証画面を通じて、ユーザによる認証要求を受け付けた場合、受け付けた認証要求をサーバ1に送信する。認証要求には、ユーザID、組み合わせデータの衛星データID、及び当該組み合わせデータが含まれる。
【0166】
サーバ1は、ユーザ端末3から送信された認証要求に含まれる組み合わせデータのハッシュ値を算出する。サーバ1は、認証要求に含まれる衛星データIDに基づき、ブロックチェーン2のノード21上に記憶されている当該組み合わせデータのハッシュ値を取得する。サーバ1は、算出した組み合わせデータのハッシュ値と、記憶されている当該組み合わせデータのハッシュ値とが一致するか否かを判断する。
【0167】
サーバ1は、両者が一致すると判定した場合、当該組み合わせデータが真正な組み合わせデータであり、認証に成功したと判定する。逆に、サーバ1は、両者が一致していないと判定した場合、当該組み合わせデータが不正な組み合わせデータであり、認証に失敗したと判定する。
【0168】
サーバ1は、組み合わせデータに対する認証結果及び認証日時をユーザ端末3に送信する。認証結果には、衛星データID、及び認証に成功したか否かを示す情報等を含む。ユーザ端末3は、サーバ1から送信された認証結果及び認証日時を受信して画面に表示する。
【0169】
なお、本実施形態では、組み合わせデータの全体に対し、ハッシュ値の記憶処理またはハッシュ値に基づく認証処理の例を説明したが、これに限るものではない。例えば、サーバ1は、組み合わせデータの中の各種データのハッシュ値をそれぞれ算出し、算出したそれぞれのハッシュ値をブロックチェーン2のノード21に記録しても良い。
【0170】
サーバ1は、組み合わせデータに対する認証要求をユーザ端末3から受け付けた場合、組み合わせデータの中の各種データのハッシュ値をそれぞれ算出する。サーバ1は、ブロックチェーン2のノード21上に記憶されている当該組み合わせデータの中の各種データのハッシュ値を取得する。サーバ1は、算出した組み合わせデータの中の各種データのハッシュ値と、記憶されている当該組み合わせデータの中の各種データのハッシュ値とのそれぞれを比較することで、両者が一致するか否かを判定しても良い。
【0171】
また、組み合わせデータに対応する組み合わせデータNFTをブロックチェーン2上に生成することができる。具体的には、サーバ1は、組み合わせデータNFTを発行する対象となる組み合わせデータを取得する。例えば組み合わせデータは、衛星画像と、挙動データと命令データとの組み合わせにより得られたデータである。サーバ1は、暗号学的ハッシュ関数を用いて、取得した組み合わせデータのハッシュ値を算出する。サーバ1は、組み合わせデータNFTにおける発行上限数(例えば、100)に達しているか否かを判定する。
【0172】
サーバ1は、発行上限数に達していないと判定した場合、組み合わせデータNFTの発行指示をブロックチェーン2のいずれかのノード21に送信する。ブロックチェーン2のノード21は、サーバ1から送信された組み合わせデータNFTの発行指示を受信する。ノード21は、受信した発行指示に応じて、当該ブロックチェーン2上で組み合わせデータNFTを発行する。ノード21は、発行した組み合わせデータNFTのトークンID、所有者アドレス及びトークンURIを記録する。
【0173】
ノード21は、発行した組み合わせデータNFTをサーバ1に送信する。サーバ1は、ブロックチェーン2のノード21から送信された組み合わせデータNFTを受信する。サーバ1は、受信した組み合わせデータNFTに対してシリアル番号を割り振る。サーバ1は、衛星データIDに対応付けて、受信した組み合わせデータNFT、及び割り振ったシリアル番号を衛星データDB171に記憶する。
【0174】
本実施形態によると、異なる種類の衛星データの組み合わせにより得られた組み合わせデータに対する改ざん防止処理を実行することが可能となる。
【0175】
本実施形態によると、組み合わせデータに対する改ざん防止処理を実行することにより、セキュリティ強度を高めることが可能となる。
【0176】
本実施形態によると、組み合わせデータに対して認証処理を行い、当該組み合わせデータの認証結果を出力することが可能となる。
【0177】
本実施形態によると、組み合わせデータに対応する組み合わせデータNFTをブロックチェーン2上に発行することが可能となる。
【0178】
なお、上述した各実施形態におけるサーバ1上で実行された各種の処理は、人工衛星、宇宙探査機、宇宙往還機、UASもしくはUAF等を含む宇宙航行体である衛星4に設置された情報処理装置等上で実行されても良い。また、上述した各種の処理は、複数機の衛星4に設置された複数の情報処理装置等上で分散して実行されても良い。
【0179】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0180】
1 情報処理装置(サーバ)
11 制御部
12 記憶部
13 通信部
14 入力部
15 表示部
16 読取部
17 大容量記憶部
171 衛星データDB
172 観測データDB
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム
2 ブロックチェーンシステム(ブロックチェーン)
21 ノード
211 制御部
212 記憶部
213 通信部
214 受付部
215 出力部
216 ブロック生成部
217 ブロック検証部
218 ブロック共有部
3 情報処理端末(ユーザ端末)
31 制御部
32 記憶部
33 通信部
34 入力部
35 表示部
3P 制御プログラム
4 衛星