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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024174727
(43)【公開日】2024-12-17
(54)【発明の名称】情報処理プログラム
(51)【国際特許分類】
   G06F 21/10 20130101AFI20241210BHJP
   G06F 21/64 20130101ALI20241210BHJP
【FI】
G06F21/10
G06F21/64
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023092711
(22)【出願日】2023-06-05
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】金子 真由子
(72)【発明者】
【氏名】矢崎 孝一
(57)【要約】
【課題】データを適切に取引し易くすること。
【解決手段】情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。情報処理装置100は、データ取引1に基づいて、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、検証装置204から受信する。情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致するため、アイテムデータを取引すると判定する。
【選択図】図9
【特許請求の範囲】
【請求項1】
取引元に対応する第1の端末と通信することにより、取引する対象に対応付けられた、第1の値が付与された第1の証明書の指定を受け付け、
前記対象を取引する度に単調変化する第2の値を記憶する記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記第2の値を単調変化させた第3の値を記憶するよう、前記記憶部を制御し、
前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記対象に対応付けられた、前記第3の値が付与された第2の証明書を生成し、
生成した前記第2の証明書を、前記対象に対応付けられた最新の証明書を管理する管理部と、取引先に対応する第2の端末とに送信する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記第2の値は、前記対象を取引する度に単調増加する値であって、
前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値よりも大きいと判定した場合、前記最新の証明書に付与された最新の値を、前記管理部に問い合わせる、
処理を前記コンピュータに実行させ、
前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致すると判定した場合、前記第3の値を記憶するよう、前記記憶部を制御し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致すると判定した場合、前記第3の値が付与された前記第2の証明書を生成する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値よりも小さいと判定した場合、前記指定を受け付けた前記第1の証明書が、前記最新の証明書であるか否かを、前記管理部に問い合わせる、
処理を前記コンピュータに実行させ、
前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書であると判定した場合、前記第3の値を記憶するよう、前記記憶部を制御し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書であると判定した場合、前記第3の値が付与された前記第2の証明書を生成する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記第3の値を、前記第2の値を単調変化させた前記第3の値を生成する生成部に問い合わせる、
処理を前記コンピュータに実行させ、
前記制御する処理は、
前記生成部に問い合わせた結果取得した前記第3の値を記憶するよう、前記記憶部を制御する、ことを特徴とする請求項3に記載の情報処理プログラム。
【請求項5】
前記制御する処理は、
前記生成部に問い合わせた結果、過去に前記第2の値を単調変化させた前記第3の値を生成済みであることを表す通知を受信した場合、前記記憶部を制御しないと判定し、
前記生成する処理は、
前記生成部に問い合わせた結果、前記通知を受信した場合、前記第2の証明書を生成しないと判定する、ことを特徴とする請求項4に記載の情報処理プログラム。
【請求項6】
前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致しないと判定した場合、前記記憶部を制御しないと判定し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致しないと判定した場合、前記第2の証明書を生成しないと判定する、ことを特徴とする請求項5に記載の情報処理プログラム。
【請求項7】
前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書ではないと判定した場合、前記記憶部を制御しないと判定し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書ではないと判定した場合、前記第2の証明書を生成しないと判定する、ことを特徴とする請求項6に記載の情報処理プログラム。
【請求項8】
前記第1の値は、順序保存暗号化された値であり、
前記第2の値は、順序保存暗号化された値であり、
前記第3の値は、順序保存暗号化された値であり、
前記最新の値は、順序保存暗号化された値である、ことを特徴とする請求項2~7のいずれか一つに記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラムに関する。
【背景技術】
【0002】
従来、メタバースと呼ばれる仮想空間が存在する。メタバース内またはメタバース間では、アイテムを表すデータが取引される。例えば、データを適切に取引するために、データに対応する最新の証明書を管理する管理サーバが用意される。例えば、証明書は、データを取引する度に発行される。例えば、制御サーバは、データを取引するよう要求された場合、データに対応付けられた証明書が最新であるか否かを、管理サーバに問い合わせることにより、データを取引するか否かを決定する。
【0003】
先行技術としては、例えば、オブジェクトを特定するオブジェクトIDとオブジェクトが真正であることを示す真正情報とを対応付けて記憶するものがある。また、例えば、公開鍵インフラストラクチャーを利用する技術がある。また、例えば、複数のメタバースでコンテンツを配信および管理する技術がある。また、例えば、メタバース内に存在する各種のアバターの情報を管理する技術がある。また、例えば、電子証明書の有効性および電子署名文書の改ざんの有無を検証する技術がある。また、例えば、ユーザ鍵を用いて機微データを所定の暗号方式で暗号化する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-217387号公報
【特許文献2】米国特許出願公開第2022/0114542号明細書
【特許文献3】米国特許出願公開第2011/0014985号明細書
【特許文献4】特開2011-216073号公報
【特許文献5】特開2011-077933号公報
【特許文献6】特開2022-146998号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、アイテムを表すデータを適切に取引することが難しい。例えば、制御サーバが、データを取引するよう要求される都度、データに対応付けられた証明書が最新であるか否かを、管理サーバに問い合わせることになり、管理サーバにかかる処理負担の増大化を招くという問題がある。
【0006】
1つの側面では、本発明は、データを適切に取引し易くすることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、取引元に対応する第1の端末と通信することにより、取引する対象に対応付けられた、第1の値が付与された第1の証明書の指定を受け付け、前記対象を取引する度に単調変化する第2の値を記憶する記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記第2の値を単調変化させた第3の値を記憶するよう、前記記憶部を制御し、前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記対象に対応付けられた、前記第3の値が付与された第2の証明書を生成し、生成した前記第2の証明書を、前記対象に対応付けられた最新の証明書を管理する管理部と、取引先に対応する第2の端末とに送信する情報処理プログラムが提案される。
【発明の効果】
【0008】
一態様によれば、データを適切に取引し易くすることが可能になる。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
図2図2は、情報処理システム200の一例を示す説明図である。
図3図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図4図4は、検証装置204のハードウェア構成例を示すブロック図である。
図5図5は、ID情報管理テーブル410の記憶内容の一例を示す説明図である。
図6図6は、管理装置201のハードウェア構成例を示すブロック図である。
図7図7は、証明書情報管理テーブル610の記憶内容の一例を示す説明図である。
図8図8は、情報処理装置100の機能的構成例を示すブロック図である。
図9図9は、情報処理装置100の第1動作例を示す説明図(その1)である。
図10図10は、情報処理装置100の第1動作例を示す説明図(その2)である。
図11図11は、情報処理装置100の第1動作例を示す説明図(その3)である。
図12図12は、第1取引処理手順の一例を示すシーケンス図である。
図13図13は、情報処理装置100の第2動作例を示す説明図である。
図14図14は、第2取引処理手順の一例を示すシーケンス図である。
図15図15は、情報処理装置100の第3動作例を示す説明図である。
図16図16は、第3取引処理手順の一例を示すシーケンス図である。
図17図17は、情報処理装置100の第4動作例を示す説明図である。
図18図18は、第4取引処理手順の一例を示すシーケンス図である。
図19図19は、情報処理装置100の第5動作例を示す説明図である。
図20図20は、第5取引処理手順の一例を示すシーケンス図である。
図21図21は、情報処理装置100の第6動作例を示す説明図である。
図22図22は、第6取引処理手順の一例を示すシーケンス図である。
図23図23は、全体処理手順の一例を示すフローチャートである。
図24図24は、登録処理手順の一例を示すフローチャートである。
図25図25は、更新処理手順の一例を示すフローチャートである。
図26図26は、情報処理システム200の適用例を示す説明図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる情報処理プログラムの実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、データを適切に取引し易くするためのコンピュータである。情報処理装置100は、例えば、サーバまたはPC(Personal Computer)などである。
【0012】
データは、例えば、メタバース内に存在するアイテムを表す。メタバースは、仮想空間である。データは、例えば、ゲーム内に存在するアイテムを表していてもよい。ここで、メタバース内またはメタバース間で、データを取引することがある。取引は、例えば、譲渡または複製などである。
【0013】
この際、データを適切に取引することが望まれる。例えば、データを不正に取引することを防止することが望まれる。例えば、データは、同時に複数存在することを禁止されていることがある。例えば、データは、複製することが禁止されていることがある。具体的には、データの所有者が、データを一人にのみ譲渡し、データを不正に複製して複数人に譲渡することを禁止することが望まれる。具体的には、データの過去の所有者が、データを不正に複製しておき、同一のデータを再び誰かに譲渡することを禁止することが望まれる。例えば、データを適切に取引することにより、メタバース内の秩序を維持し、または、メタバース内の参加者同士の公平性を担保することが望まれる。
【0014】
ここで、例えば、データに、電子署名を含む証明書を対応付けておくことにより、データを適切に取引し易くする手法1が考えられる。具体的には、データを取引する度に、取引するデータに対応付けて、電子署名を含む証明書を発行する発行サーバが用意される。また、具体的には、データに対応付けて過去に発行された証明書を管理する管理サーバが用意される。
【0015】
具体的には、発行サーバは、取引するよう要求されるデータと、データに対応付けられた第1の証明書とを、取引元から受け付ける。具体的には、発行サーバは、第1の証明書が、最新の証明書と一致するか否かを、管理サーバに問い合わせる。具体的には、発行サーバは、第1の証明書が、最新の証明書と一致する場合に、データに対応付けて新たな証明書を発行し、データと、発行した証明書とを、取引先に送信する。具体的には、発行サーバは、第1の証明書が、最新の証明書と一致しない場合には、データを取引先に送信しない。これにより、発行サーバは、管理サーバと協働し、データを適切に取引し易くすることができる。
【0016】
しかしながら、手法1では、データを適切に取引することが難しい場合がある。例えば、発行サーバが、データを取引するよう要求される都度、データに対応付けられた第1の証明書が、最新の証明書と一致するか否かを、管理サーバに問い合わせることになる。このため、管理サーバにかかる処理負担の増大化を招くという問題がある。また、発行サーバと管理サーバとのトラフィックの増大化を招くという問題がある。そして、データを取引する際にかかる所要時間の増大化を招くという問題がある。
【0017】
ここで、データを取引する際にかかる所要時間が増大すると、データの取引元または取引先となるメタバースの参加者が、メタバース内で過ごす際の快適性を損ねるおそれがある。また、データを取引する際にかかる所要時間が増大すると、データの取引元または取引先となるメタバースの参加者が、メタバース内で覚える没入感を損ねるおそれがある。
【0018】
これに対し、管理サーバが、データに対応付けて過去に発行された証明書のうち、最新の証明書に対して、フラグ情報を付与しておき、最新の証明書を特定し易くする手法2が考えられる。手法2でも、データを適切に取引することが難しい場合がある。例えば、発行サーバが、データに対応付けられた第1の証明書が、最新の証明書と一致するか否かを、管理サーバに問い合わせる回数を低減することはできない。このため、データを取引する際にかかる所要時間の増大化を招くという問題がある。
【0019】
また、データに、真贋情報を付与しておく手法3が考えられる。手法3については、例えば、上述した特許文献1を参照することができる。手法3でも、データを適切に取引することが難しい場合がある。例えば、真贋情報を検証するために、データを取引する際にかかる所要時間の増大化を招くという問題がある。
【0020】
そこで、本実施の形態では、データを適切に取引し易くすることができる情報処理方法について説明する。この情報処理方法によれば、具体的には、データを不正に取引することを防止しつつ、データを取引する際にかかる所要時間の低減化を図ることができる。
【0021】
図1において、情報処理装置100と、記憶部120と、管理部130と、第1の端末111と、第2の端末112とが存在する。記憶部120は、例えば、情報処理装置100とは異なるコンピュータによって実現される。記憶部120は、メタバースを実現するシステム内に存在していてもよい。管理部130は、例えば、情報処理装置100とは異なるコンピュータによって実現される。記憶部120と、管理部130とは、例えば、それぞれ異なるコンピュータによって実現される。
【0022】
第1の端末111は、対象101を取引する際の取引元に対応する端末である。第1の端末111は、例えば、対象101を取引する際の取引元となる、メタバースの参加者によって利用される端末である。第2の端末112は、対象101を取引する際の取引先に対応する端末である。第2の端末112は、例えば、対象101を取引する際の取引先となる、メタバースの参加者によって利用される端末である。
【0023】
(1-1)情報処理装置100は、取引する対象101に対応付けられた、第1の値が付与された第1の証明書の指定を受け付ける。第1の値は、例えば、順序保存暗号化された値であることが好ましい。対象101は、例えば、アイテムを表すデータである。情報処理装置100は、例えば、第1の端末111と通信することにより、第1の値が付与された第1の証明書の指定を受け付ける。
【0024】
情報処理装置100は、具体的には、第1の端末111から、第1の値が付与された第1の証明書の識別子を受信することにより、第1の値が付与された第1の証明書の指定を受け付ける。情報処理装置100は、具体的には、第1の端末111から、第1の値が付与された第1の証明書を受信することにより、第1の値が付与された第1の証明書の指定を受け付けてもよい。
【0025】
記憶部120は、例えば、対象101を取引する度に単調変化する第2の値121を記憶する。第2の値121は、例えば、対象101を取引する度に単調増加する値である。第2の値121は、例えば、対象101を取引する度に単調減少する値である。第2の値121は、順序保存暗号化された値であることが好ましい。管理部130は、例えば、対象101に対応付けられた最新の証明書を管理する。管理部130は、具体的には、対象101に対応付けて過去に生成された証明書131を記憶する。管理部130は、具体的には、最新の証明書の識別子を記憶していてもよい。
【0026】
(1-2)情報処理装置100は、記憶部120を利用して、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致するか否かを判定する。第1の値と第2の値121とが、それぞれ順序保存暗号化された値である場合、第1の値と第2の値121とは、それぞれ復号されない状態で大小関係を比較可能である。
【0027】
情報処理装置100は、例えば、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致するか否かを判定することを、記憶部120に要求する。情報処理装置100は、例えば、第1の証明書に付与された第1の値が、第2の値121と一致するか否かを判定した結果を、記憶部120から受信する。
【0028】
(1-3)情報処理装置100は、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致すると判定した場合、第2の値121を単調変化させた第3の値を記憶するよう、記憶部120を制御する。情報処理装置100は、例えば、第2の値121を単調変化させた第3の値を生成し、記憶部120に送信することにより、第2の値121を単調変化させた第3の値を記憶するよう、記憶部120を制御する。
【0029】
(1-4)情報処理装置100は、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致すると判定した場合、対象101に対応付けられた、第3の値が付与された第2の証明書140を生成する。これにより、情報処理装置100は、取引先が有することが好ましい第2の証明書140を生成することができる。
【0030】
(1-5)情報処理装置100は、生成した第2の証明書140を、管理部130と第2の端末112とに送信する。情報処理装置100は、対象101を、第2の端末112に送信してもよい。これにより、情報処理装置100は、管理部130が、最新の証明書を適切に管理可能にすることができ、取引元が、再び対象101を取引してしまう事態を防止することができる。情報処理装置100は、取引先が、対象101を適切に所有可能にすることができ、取引先が、以降、対象101を適切に取引可能にすることができる。
【0031】
情報処理装置100は、証明書を検証しなくても、データを取引するか否かを適切に判定することができる。このため、情報処理装置100は、証明書を検証するよう、管理部130に要求せずに済ませることができる。従って、情報処理装置100は、管理部130にかかる処理負担の増大化を抑制することができる。また、情報処理装置100は、管理部130とのトラフィックの増大化を抑制することができる。また、情報処理装置100は、データを取引する際にかかる所要時間の増大化を抑制することができる。このように、情報処理装置100は、データを取引し易くすることができる。
【0032】
ここでは、情報処理装置100が、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致するか否かを判定することを、記憶部120に要求する場合について説明したが、これに限らない。例えば、情報処理装置100が、第2の値121を、記憶部120から取得し、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致するか否かを判定する場合があってもよい。
【0033】
ここでは、情報処理装置100が、第2の値121を単調変化させた第3の値を生成する場合について説明したが、これに限らない。例えば、情報処理装置100が、第2の値121を単調変化させた第3の値を生成するよう、記憶部120に要求する場合があってもよい。例えば、情報処理装置100が、第2の値121を単調変化させた第3の値を生成する生成部から、第2の値121を単調変化させた第3の値を取得する場合があってもよい。
【0034】
ここでは、情報処理装置100が、単独のコンピュータである場合について説明したが、これに限らない。例えば、情報処理装置100としての機能が、複数のコンピュータによって実現される場合があってもよい。具体的には、クラウド上に、情報処理装置100としての機能が実現される場合があってもよい。
【0035】
(情報処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
【0036】
図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、管理装置201と、発行装置202と、生成装置203と、検証装置204と、記録装置205と、1以上のクライアント装置206とを含む。
【0037】
情報処理システム200において、上述した各種装置同士は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0038】
例えば、情報処理システム200において、情報処理装置100と管理装置201とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、情報処理装置100と発行装置202とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、情報処理装置100と生成装置203とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、情報処理装置100と検証装置204とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、情報処理装置100と記録装置205とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、情報処理装置100とクライアント装置206とは、有線または無線のネットワーク210を介して接続される。
【0039】
また、例えば、情報処理システム200において、管理装置201と検証装置204とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、管理装置201と生成装置203とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、管理装置201とクライアント装置206とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、発行装置202と生成装置203とは、有線または無線のネットワーク210を介して接続される。また、例えば、情報処理システム200において、発行装置202と記録装置205とは、有線または無線のネットワーク210を介して接続される。
【0040】
情報処理装置100は、対象を適切に取引し易くするためのコンピュータである。対象は、アイテムを表すデータである。情報処理装置100は、対象を取引することを要求する処理依頼を、取引元に対応するクライアント装置206から受信する。処理依頼は、例えば、対象と、対象に対応付けられた証明書とを含む。
【0041】
証明書は、例えば、対象を識別する識別子であるモノトニックID(Monotonic ID)を含む。モノトニックIDは、対象を取引する度に単調増加する値である。証明書は、具体的には、証明書を発行した時点におけるモノトニックIDを含む。証明書は、例えば、証明書の正当性を保証する署名を含む。署名は、例えば、発行装置202で生成された情報である。署名は、具体的には、発行装置202の秘密鍵によって発行装置202で生成される。署名は、例えば、発行装置202の公開鍵によって検証可能である。証明書は、例えば、発行装置202で生成される。
【0042】
情報処理装置100は、受信した処理依頼に基づいて、証明書を取得する。情報処理装置100は、取得した証明書が正当であるか否かを検証することを要求する第1検証要求を、検証装置204に送信する。第1検証依頼は、例えば、証明書を含む。第1検証依頼は、例えば、証明書を含まず、証明書内の署名を含んでいてもよい。情報処理装置100は、証明書が正当であるか否かを表す通知を、検証装置204から受信する。情報処理装置100は、証明書が正当ではない場合、処理依頼を破棄し、エラーを表す通知を、取引元に対応するクライアント装置206と、取引先に対応するクライアント装置206とに送信する。
【0043】
情報処理装置100は、証明書が正当である場合、受信した処理依頼に基づいて、証明書に含まれるモノトニックIDを取得する。情報処理装置100は、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとの大小関係を検証することを要求する第2検証要求を、検証装置204に送信する。大小関係は、例えば、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致するという関係である。大小関係は、例えば、証明書に含まれるモノトニックIDが、検証装置204が有する最新のモノトニックIDよりも大きいという関係である。大小関係は、例えば、証明書に含まれるモノトニックIDが、検証装置204が有する最新のモノトニックIDよりも小さいという関係である。第2検証依頼は、例えば、証明書に含まれるモノトニックIDを含む。情報処理装置100は、大小関係を表す通知を、検証装置204から受信する。
【0044】
情報処理装置100は、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致する場合、管理装置201から譲渡認可を受け付ける。情報処理装置100は、譲渡認可に応じて、対象に対応する証明書を発行することを要求する発行依頼を、発行装置202に送信する。情報処理装置100は、新たな証明書を、発行装置202から受信する。情報処理装置100は、受信した証明書を、検証装置204に送信する。情報処理装置100は、受信した証明書を、管理装置201に送信する。情報処理装置100は、受信した証明書を、取引先に対応するクライアント装置206に送信する。
【0045】
情報処理装置100は、証明書に含まれるモノトニックIDが、最新のモノトニックIDよりも小さい場合、取得した証明書が最新であるか否かを判定することを要求する判定依頼を、管理装置201に送信する。判定依頼は、例えば、取得した証明書を含む。情報処理装置100は、証明書が最新であるか否かを表す通知を、管理装置201から受信する。情報処理装置100は、証明書が最新である場合、管理装置201から譲渡認可を受け付ける。情報処理装置100は、譲渡認可に応じて、対象に対応する証明書を発行することを要求する発行依頼を、発行装置202に送信する。情報処理装置100は、新たな証明書を、発行装置202から受信する。情報処理装置100は、受信した証明書を、検証装置204に送信する。情報処理装置100は、受信した証明書を、管理装置201に送信する。情報処理装置100は、受信した証明書を、取引先に対応するクライアント装置206に送信する。情報処理装置100は、証明書が最新ではない場合、管理装置201から譲渡否決を受け付ける。情報処理装置100は、譲渡否決を受け付けると、エラーを表す通知を、取引元に対応するクライアント装置206と、取引先に対応するクライアント装置206とに送信する。
【0046】
情報処理装置100は、証明書に含まれるモノトニックIDが、検証装置204が有する最新のモノトニックIDよりも大きい場合、管理部が有する最新のモノトニックIDを、管理装置201に問い合わせる。情報処理装置100は、管理部が有する最新のモノトニックIDを、管理装置201から受信する。情報処理装置100は、管理部が有する最新のモノトニックIDを、検証装置204に送信する。情報処理装置100は、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致するか否かを検証することを要求する第3検証要求を、検証装置204に送信する。情報処理装置100は、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致するか否かを表す通知を、検証装置204から受信する。
【0047】
情報処理装置100は、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致する場合、管理装置201から譲渡認可を受け付ける。情報処理装置100は、譲渡認可に応じて、対象に対応する証明書を発行することを要求する発行依頼を、発行装置202に送信する。情報処理装置100は、新たな証明書を、発行装置202から受信する。情報処理装置100は、受信した証明書を、検証装置204に送信する。情報処理装置100は、受信した証明書を、管理装置201に送信する。情報処理装置100は、受信した証明書を、取引先に対応するクライアント装置206に送信する。情報処理装置100は、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致しない場合、管理装置201から譲渡否決を受け付ける。情報処理装置100は、譲渡否決を受け付けると、エラーを表す通知を、取引元に対応するクライアント装置206と、取引先に対応するクライアント装置206とに送信する。情報処理装置100は、例えば、サーバまたはPCなどである。
【0048】
管理装置201は、対象に対応する最新の証明書を管理するためのコンピュータである。管理装置201は、対象に対応する証明書を、情報処理装置100から受信した場合、受信した対象に対応する証明書を、対象に対応する最新の証明書として管理する。管理装置201は、例えば、図6および図7に後述する証明書情報管理テーブル610を用いて、受信した対象に対応する証明書を、対象に対応する最新の証明書として管理する。管理装置201は、判定依頼を、情報処理装置100から受信した場合、判定依頼に含まれる証明書が最新であるか否かを判定する。管理装置201は、判定依頼に含まれる証明書が最新であるか否かを表す通知を、情報処理装置100に送信する。
【0049】
管理装置201は、譲渡認可または譲渡否決を、情報処理装置100に送信する。管理装置201は、例えば、証明書に含まれるモノトニックIDと、検証装置204が有する最新のモノトニックIDとが一致する場合、譲渡認可を、情報処理装置100に送信する。管理装置201は、証明書が最新である場合、譲渡認可を、情報処理装置100に送信する。管理装置201は、2重譲渡のエラーを、発行装置202から受信した場合、譲渡否決を、情報処理装置100に送信する。管理装置201は、例えば、サーバまたはPCなどである。
【0050】
発行装置202は、対象に対応する証明書を発行するためのコンピュータである。発行装置202は、秘密鍵を有する。発行装置202は、発行依頼を、情報処理装置100から受信する。発行装置202は、発行依頼を受信すると、秘密鍵を利用して、署名を生成する。発行装置202は、最新のモノトニックIDを生成することを要求する生成依頼を、生成装置203に送信する。発行装置202は、最新のモノトニックIDを、生成装置203から受信する。
【0051】
発行装置202は、生成した署名と、受信したモノトニックIDとを含む、対象に対応する証明書を発行する。発行装置202は、発行した証明書を、情報処理装置100に送信する。発行装置202は、発行した証明書を、記録装置205に送信する。発行装置202は、2重譲渡のエラーを、生成装置203から受信した場合、2重譲渡のエラーを、管理装置201に送信する。発行装置202は、例えば、サーバまたはPCなどである。
【0052】
生成装置203は、対象に対応するモノトニックIDを生成するためのコンピュータである。生成装置203は、生成依頼を、発行装置202から受信する。生成装置203は、生成依頼を受信すると、対象に対応する最新のモノトニックIDを生成する。生成装置203は、生成した最新のモノトニックIDを、発行装置202に送信する。生成装置203は、対象に対応する最新のモノトニックIDが生成済みである場合、2重譲渡のエラーを、発行装置202に送信する。生成装置203は、記録装置205を確認し、対象に対応する証明書が発行済みである場合に、2重譲渡のエラーを、発行装置202に送信する場合があってもよい。生成装置203は、例えば、サーバまたはPCなどである。
【0053】
検証装置204は、対象に対応するモノトニックIDを管理するためのコンピュータである。検証装置204は、対象に対応するモノトニックIDを、情報処理装置100から受信した場合、受信した対象に対応するモノトニックIDを、対象に対応する最新のモノトニックIDとして記憶する。検証装置204は、具体的には、図4および図5に後述するID情報管理テーブル410を用いて、受信した対象に対応するモノトニックIDを記憶する。
【0054】
検証装置204は、第1検証依頼を、情報処理装置100から受信した場合、証明書が正当であるか否かを検証する。検証装置204は、証明書が正当であるか否かを表す通知を、情報処理装置100に送信する。検証装置204は、第2検証依頼を、情報処理装置100から受信した場合、証明書に含まれるモノトニックIDと、記憶した最新のモノトニックIDとの大小関係を検証する。検証装置204は、検証した大小関係を表す通知を、情報処理装置100に送信する。
【0055】
検証装置204は、第3検証依頼を、情報処理装置100から受信した場合、証明書に含まれるモノトニックIDと、記憶した最新のモノトニックIDとが一致するか否かを検証する。検証装置204は、証明書に含まれるモノトニックIDと、記憶した最新のモノトニックIDとが一致するか否かを表す通知を、情報処理装置100に送信する。検証装置204は、例えば、サーバまたはPCなどである。
【0056】
記録装置205は、対象に対応する証明書を記録するためのコンピュータである。記録装置205は、対象に対応する証明書を、発行装置202から受信する。記録装置205は、対象に対応する証明書を記録する。記録装置205は、例えば、サーバまたはPCなどである。
【0057】
クライアント装置206は、メタバース220の参加者によって利用されるコンピュータである。クライアント装置206は、取引元となるメタバース220の参加者となる利用者の操作入力に基づき、処理依頼を生成し、情報処理装置100に送信する。クライアント装置206は、対象に対応する証明書を、情報処理装置100から受信した場合、受信した対象に対応する証明書を記憶する。クライアント装置206は、エラーを表す通知を受信した場合、エラーを表す通知を、取引元または取引先となるメタバース220の参加者となる利用者が参照可能に出力する。クライアント装置206は、例えば、PC、タブレット端末、または、スマートフォンなどである。
【0058】
(情報処理装置100のハードウェア構成例)
次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
【0059】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0060】
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
【0061】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0062】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
【0063】
情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0064】
(検証装置204のハードウェア構成例)
次に、図4を用いて、検証装置204のハードウェア構成例について説明する。
【0065】
図4は、検証装置204のハードウェア構成例を示すブロック図である。図4において、検証装置204は、CPU401と、メモリ402と、ネットワークI/F403と、記録媒体I/F404と、記録媒体405とを有する。また、各構成部は、バス400によってそれぞれ接続される。
【0066】
ここで、CPU401は、検証装置204の全体の制御を司る。メモリ402は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることにより、コーディングされている処理をCPU401に実行させる。メモリ402は、ID情報管理テーブル410を記憶する。
【0067】
ネットワークI/F403は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F403は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F403は、例えば、モデムやLANアダプタなどである。
【0068】
記録媒体I/F404は、CPU401の制御に従って記録媒体405に対するデータのリード/ライトを制御する。記録媒体I/F404は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体405は、記録媒体I/F404の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体405は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体405は、検証装置204から着脱可能であってもよい。
【0069】
検証装置204は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、検証装置204は、記録媒体I/F404や記録媒体405を複数有していてもよい。また、検証装置204は、記録媒体I/F404や記録媒体405を有していなくてもよい。
【0070】
(ID情報管理テーブル410の記憶内容)
次に、図5を用いて、ID情報管理テーブル410の記憶内容の一例について説明する。ID情報管理テーブル410は、例えば、図4に示した検証装置204のメモリ402や記録媒体405などの記憶領域により実現される。
【0071】
図5は、ID情報管理テーブル410の記憶内容の一例を示す説明図である。図5に示すように、ID情報管理テーブル410は、NO.と、データIDと、モノトニックIDとのフィールドを有する。ID情報管理テーブル410は、データごとに各フィールドに情報を設定することにより、ID情報がレコード410-aとして記憶される。aは、任意の整数である。
【0072】
NO.のフィールドには、レコードの番号が設定される。データIDのフィールドには、アイテムを表すデータを識別するデータIDが設定される。データIDは、例えば、データから得られるハッシュ値である。モノトニックIDのフィールドには、検出装置が最新であると認識する、上記アイテムを表すデータに対応するモノトニックIDが設定される。
【0073】
(管理装置201のハードウェア構成例)
次に、図6を用いて、管理装置201のハードウェア構成例について説明する。
【0074】
図6は、管理装置201のハードウェア構成例を示すブロック図である。図6において、管理装置201は、CPU601と、メモリ602と、ネットワークI/F603と、記録媒体I/F604と、記録媒体605とを有する。また、各構成部は、バス600によってそれぞれ接続される。
【0075】
ここで、CPU601は、管理装置201の全体の制御を司る。メモリ602は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU601のワークエリアとして使用される。メモリ602に記憶されるプログラムは、CPU601にロードされることにより、コーディングされている処理をCPU601に実行させる。メモリ602は、証明書情報管理テーブル610を記憶する。
【0076】
ネットワークI/F603は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F603は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F603は、例えば、モデムやLANアダプタなどである。
【0077】
記録媒体I/F604は、CPU601の制御に従って記録媒体605に対するデータのリード/ライトを制御する。記録媒体I/F604は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体605は、記録媒体I/F604の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体605は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体605は、管理装置201から着脱可能であってもよい。
【0078】
管理装置201は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、管理装置201は、記録媒体I/F604や記録媒体605を複数有していてもよい。また、管理装置201は、記録媒体I/F604や記録媒体605を有していなくてもよい。
【0079】
(証明書情報管理テーブル610の記憶内容)
次に、図7を用いて、証明書情報管理テーブル610の記憶内容の一例について説明する。証明書情報管理テーブル610は、例えば、図6に示した管理装置201のメモリ602や記録媒体605などの記憶領域により実現される。
【0080】
図7は、証明書情報管理テーブル610の記憶内容の一例を示す説明図である。図7に示すように、証明書情報管理テーブル610は、No.と、データIDと、モノトニックIDと、取引とのフィールドを有する。証明書情報管理テーブル610は、データごとに各フィールドに情報を設定することにより、証明書情報がレコード610-bとして記憶される。bは、任意の整数である。
【0081】
NO.のフィールドには、レコードの番号が設定される。データIDのフィールドには、アイテムを表すデータを識別するデータIDが設定される。データIDは、例えば、データから得られるハッシュ値である。モノトニックIDのフィールドには、上記アイテムを表すデータに対応付けて過去に発行されたいずれかの証明書に含まれ、上記アイテムを表すデータに対応するモノトニックIDが設定される。取引のフィールドには、上記いずれかの証明書を識別する識別子が設定される。
【0082】
(発行装置202のハードウェア構成例)
発行装置202のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0083】
(生成装置203のハードウェア構成例)
生成装置203のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0084】
(記録装置205のハードウェア構成例)
記録装置205のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0085】
(クライアント装置206のハードウェア構成例)
クライアント装置206のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0086】
(情報処理装置100の機能的構成例)
次に、図8を用いて、情報処理装置100の機能的構成例について説明する。
【0087】
図8は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、取得部801と、検証部802と、更新部803と、発行部804と、出力部805とを含む。また、記憶部800と、管理部810と、生成部820とが存在する。
【0088】
取得部801~出力部805は、制御部の一例として機能する。取得部801~出力部805は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0089】
記憶部800は、例えば、情報処理装置100と通信可能な、情報処理装置100とは異なる装置によって実現される。記憶部800は、例えば、第1のメタバースを実現する第1のシステム内に存在する、情報処理装置100とは異なる装置によって実現される。記憶部800は、具体的には、検証装置204によって実現される。記憶部800は、より具体的には、図4に示したメモリ402や記録媒体405などの記憶領域によって実現される。記憶部800は、例えば、情報処理装置100によって実現されていてもよい。
【0090】
管理部810は、例えば、情報処理装置100と通信可能な、情報処理装置100とは異なる装置によって実現される。管理部810は、例えば、第1のメタバースを実現する第1のシステム外に存在する、情報処理装置100とは異なる装置によって実現される。管理部810は、具体的には、管理装置201によって実現される。管理部810は、より具体的には、図6に示したメモリ602や記録媒体605などの記憶領域によって実現される。
【0091】
生成部820は、例えば、情報処理装置100と通信可能な、情報処理装置100とは異なる装置によって実現される。生成部820は、例えば、第1のメタバースを実現する第1のシステム外に存在する、情報処理装置100とは異なる装置によって実現される。生成部820は、具体的には、生成装置203によって実現される。生成部820は、例えば、管理部810と一体であってもよい。
【0092】
取得部801は、各機能部の処理に用いられる各種情報を取得する。取得部801は、取得した各種情報を、図3に示したメモリ302や記録媒体305などの記憶領域に記憶し、または、各機能部に出力する。また、取得部801は、図3に示したメモリ302や記録媒体305などの記憶領域に記憶しておいた各種情報を、各機能部に出力してもよい。取得部801は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部801は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
【0093】
取得部801は、例えば、取引する対象に対応付けられた、第1の値が付与された第1の証明書の指定を受け付ける。取引は、例えば、譲渡または複製などである。対象は、例えば、第1のメタバース内に存在する。対象は、具体的には、第1のメタバース内に存在するアイテムを表すデータである。
【0094】
取引元は、例えば、第1のメタバース内に存在する。取引元は、具体的には、第1のメタバースの参加者などである。取引先は、例えば、第2のメタバース内に存在する。取引先は、具体的には、第2のメタバースの参加者などである。第2のメタバースは、例えば、第1のメタバースと同一のメタバースである。第2のメタバースは、例えば、第1のメタバースとは異なるメタバースであってもよい。
【0095】
第1の値は、例えば、対象を取引する度に単調変化する値が、過去に対象を取引した際に採った値である。単調変化は、例えば、単調増加または単調減少などである。第1の値は、例えば、順序保存暗号化された値であることが好ましい。第1の値は、例えば、順序保存暗号化とは異なる暗号方式で暗号化された値であってもよい。第1の証明書は、過去に対象を取引した際に生成された証明書である。第1の証明書は、例えば、第1の証明書の正当性を保証する署名を含んでいてもよい。
【0096】
取得部801は、具体的には、取引する対象に対応付けられた、第1の値が付与された第1の証明書を、他のコンピュータから受信することにより、第1の証明書の指定を受け付ける。他のコンピュータは、例えば、クライアント装置206である。取得部801は、具体的には、取引する対象に対応付けられた、第1の値が付与された第1の証明書の識別子を、他のコンピュータから受信することにより、第1の証明書の指定を受け付けてもよい。取得部801は、利用者の操作入力に基づき、取引する対象に対応付けられた、第1の値が付与された第1の証明書の指定を受け付けてもよい。
【0097】
取得部801は、例えば、指定を受け付けた第1の証明書と、指定を受け付けた第1の証明書に付与された第1の値とを取得する。
【0098】
取得部801は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部801は、第1の証明書の指定を受け付けたことを、検証部802と、更新部803と、発行部804との処理を開始する開始トリガーとして受け付けてもよい。
【0099】
記憶部800は、第2の値を記憶する。第2の値は、例えば、対象を取引する度に単調変化する値が、過去に対象を取引した際に採った値である。単調変化は、例えば、単調増加または単調減少などである。第2の値は、例えば、対象を取引する度に単調変化する値が、最後に対象を取引した際に採った最新の値であると、記憶部800が認識する値である。第2の値は、例えば、順序保存暗号化された値であることが好ましい。第2の値は、例えば、順序保存暗号化とは異なる暗号方式で暗号化された値であってもよい。第2の値は、例えば、記憶部800では平文であって、セキュアに管理されていてもよい。これにより、記憶部800は、対象を取引することが好ましいか否かを判定する指針を記憶しておくことができる。
【0100】
管理部810は、対象に対応する最新の証明書を管理する。管理部810は、例えば、対象に対応付けて過去に生成された証明書を記憶していくことにより、対象に対応する最新の証明書を特定可能に管理する。管理部810は、他のコンピュータから、対象に対応する証明書を受信する都度、受信した証明書を、最新の証明書として管理する。他のコンピュータは、例えば、情報処理装置100である。これにより、管理部810は、対象を取引することが好ましいか否かを判定する指針を記憶しておくことができる。
【0101】
生成部820は、対象を取引する度に単調変化するよう、対象に対応する値を更新することにより、対象を取引する度に単調変化する値が採る最新の値を生成する。最新の値は、例えば、順序保存暗号化された値であることが好ましい。最新の値は、例えば、順序保存暗号化とは異なる暗号方式で暗号化された値であってもよい。最新の値は、例えば、生成部820では平文であって、セキュアに管理されていてもよい。生成部820は、例えば、第2の値を単調変化させた第3の値を、最新の値として生成するよう要求する生成依頼を、情報処理装置100から受信する。生成部820は、例えば、生成依頼に応じて、第2の値を単調変化させた第3の値を、最新の値として生成し、情報処理装置100に送信する。生成部820は、過去に第3の値を、最新の値として生成済みである場合、エラーを、情報処理装置100に送信する。これにより、生成部820は、対象を取引する度に単調変化する値が採る最新の値を利用可能にすることができる。
【0102】
検証部802は、記憶部800を利用して、取得部801で取得した第1の値が、第2の値と一致するか否かを判定する。検証部802は、例えば、第1の値が、第2の値と一致するか否かを判定することを要求する判定依頼を、記憶部800に送信する。検証部802は、例えば、第1の値が、第2の値と一致するか否かを判定した結果を、記憶部800から受信することにより、第1の値が、第2の値と一致するか否かを判定する。これにより、検証部802は、管理部810と通信しなくても、対象を取引することが好ましいか否かを判定することができる。
【0103】
検証部802は、取得部801で取得した第1の値が、第2の値よりも大きいと判定した場合、最新の証明書に付与された、対象を取引する度に単調変化する値が採る最新の値を、管理部810に問い合わせる。最新の値は、順序保存暗号化された値であることが好ましい。最新の値は、例えば、順序保存暗号化とは異なる暗号方式で暗号化された値であってもよい。検証部802は、管理部810に問い合わせた結果、対象を取引する度に単調変化する値が採る最新の値を取得する。検証部802は、第1の値が、取得した最新の値と一致するか否かを判定する。これにより、検証部802は、対象を取引することが好ましいか否かを判定することができる。
【0104】
検証部802は、取得部801で取得した第1の値が、第2の値よりも小さいと判定した場合、取得部801で取得した第1の証明書が、対象に対応する最新の証明書であるか否かを、管理部810に問い合わせる。検証部802は、第1の証明書が、対象に対応する最新の証明書であるか否かを判定した結果を、管理部810から受信する。検証部802は、第1の証明書が、対象に対応する最新の証明書であるか否かを判定した結果を、管理部810から受信することにより、第1の証明書が、最新の証明書であるか否かを判定する。これにより、検証部802は、対象を取引することが好ましいか否かを判定することができる。
【0105】
更新部803は、第1の値が、第2の値と一致すると検証部802で判定した場合、第3の値を記憶するよう、記憶部800を制御する。第3の値は、順序保存暗号化された値であることが好ましい。第3の値は、例えば、順序保存暗号化とは異なる暗号方式で暗号化された値であってもよい。更新部803は、例えば、第3の値を、生成部820に問い合わせて、第3の値を、生成部820から受信する。更新部803は、例えば、受信した第3の値を記憶するよう、記憶部800を制御する。更新部803は、具体的には、受信した第3の値を、記憶部800に送信する。これにより、更新部803は、対象を適切に取引可能であると判定することができ、記憶部800の記憶内容を適切に更新することができる。
【0106】
更新部803は、第1の値が、最新の値と一致すると検証部802で判定した場合、第3の値を記憶するよう、記憶部800を制御する。更新部803は、例えば、第3の値を、生成部820に問い合わせて、第3の値を、生成部820から受信する。更新部803は、例えば、受信した第3の値を記憶するよう、記憶部800を制御する。更新部803は、具体的には、受信した第3の値を、記憶部800に送信する。これにより、更新部803は、対象を適切に取引可能であると判定することができ、記憶部800の記憶内容を適切に更新することができる。
【0107】
更新部803は、第1の証明書が、最新の証明書であると検証部802で判定した場合、第3の値を記憶するよう、記憶部800を制御する。更新部803は、例えば、第3の値を、生成部820に問い合わせて、第3の値を、生成部820から受信する。更新部803は、例えば、受信した第3の値を記憶するよう、記憶部800を制御する。更新部803は、具体的には、受信した第3の値を、記憶部800に送信する。これにより、更新部803は、対象を適切に取引可能であると判定することができ、記憶部800の記憶内容を適切に更新することができる。
【0108】
更新部803は、第1の値が、最新の値と一致しないと検証部802で判定した場合、記憶部800を制御しないと判定する。更新部803は、例えば、記憶部800の記憶内容を更新しないようにする。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、記憶部800の記憶内容を更新せずに済ませることができる。
【0109】
更新部803は、第1の証明書が、最新の証明書ではないと検証部802で判定した場合、記憶部800を制御しないと判定する。更新部803は、例えば、記憶部800の記憶内容を更新しないようにする。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、記憶部800の記憶内容を更新せずに済ませることができる。
【0110】
更新部803は、第1の値が、第2の値と一致しないと検証部802で判定した場合、記憶部800を制御しないと判定してもよい。更新部803は、例えば、記憶部800の記憶内容を更新しないようにする。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、記憶部800の記憶内容を更新せずに済ませることができる。
【0111】
更新部803は、過去に第3の値を、最新の値として生成部820で生成済みであり、エラーを、生成部820から受信した場合、記憶部800を制御しないと判定する。更新部803は、例えば、記憶部800の記憶内容を更新しないようにする。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、記憶部800の記憶内容を更新せずに済ませることができる。
【0112】
発行部804は、第1の値が、第2の値と一致すると検証部802で判定した場合、対象に対応付けられた、第3の値が付与された第2の証明書を生成する。発行部804は、例えば、第3の値が付与された第2の証明書を生成するよう要求する生成依頼を、他のコンピュータに送信してもよい。発行部804は、他のコンピュータから、第3の値が付与された第2の証明書を受信することにより、第3の値が付与された第2の証明書を生成する。これにより、更新部803は、対象を適切に取引可能であると判定することができ、対象を適切に取引する際に利用する第2の証明書を用意することができる。
【0113】
発行部804は、第1の値が、最新の値と一致すると検証部802で判定した場合、対象に対応付けられた、第3の値が付与された第2の証明書を生成する。発行部804は、例えば、第3の値が付与された第2の証明書を生成するよう要求する生成依頼を、他のコンピュータに送信してもよい。発行部804は、他のコンピュータから、第3の値が付与された第2の証明書を受信することにより、第3の値が付与された第2の証明書を生成する。
【0114】
発行部804は、第1の証明書が、最新の証明書であると検証部802で判定した場合、対象に対応付けられた、第3の値が付与された第2の証明書を生成する。発行部804は、例えば、第3の値が付与された第2の証明書を生成するよう要求する生成依頼を、他のコンピュータに送信してもよい。発行部804は、他のコンピュータから、第3の値が付与された第2の証明書を受信することにより、第3の値が付与された第2の証明書を生成する。
【0115】
発行部804は、第1の値が、最新の値と一致しないと検証部802で判定した場合、第2の証明書を生成しないと判定する。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、第2の証明書を生成せずに済ませることができる。
【0116】
発行部804は、第1の証明書が、最新の証明書ではないと検証部802で判定した場合、第2の証明書を生成しないと判定する。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、第2の証明書を生成せずに済ませることができる。
【0117】
発行部804は、第1の値が、第2の値と一致しないと検証部802で判定した場合、第2の証明書を生成しないと判定してもよい。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、第2の証明書を生成せずに済ませることができる。
【0118】
発行部804は、過去に第3の値を、最新の値として生成部820で生成済みであり、エラーを、生成部820から受信した場合、第2の証明書を生成しないと判定する。これにより、更新部803は、対象を適切に取引可能ではなく、対象を取引しないことが好ましいと判定することができ、第2の証明書を生成せずに済ませることができる。
【0119】
出力部805は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部805は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
【0120】
出力部805は、生成した第2の証明書を、管理部810と、取引先に対応する第2の端末とに送信する。出力部805は、対象を、第2の端末に送信してもよい。これにより、出力部805は、対象を取引することができる。出力部805は、管理部810が、最新の証明書を適切に管理可能にすることができる。
【0121】
(情報処理装置100の第1動作例)
次に、図9図11を用いて、情報処理装置100の第1動作例について説明する。
【0122】
図9図11は、情報処理装置100の第1動作例を示す説明図である。図9において、情報処理装置100は、ユーザAに対応する秘密鍵と、ユーザBに対応する秘密鍵と、管理装置201に対応する秘密鍵とを有する。
【0123】
検証装置204は、例えば、発行装置202が運営する認証局に対応する公開鍵を有する。検証装置204は、例えば、最新と認識するEncOPE(モノトニックID)を、ID情報管理テーブル410を用いて管理する。EncOPE(・)は、順序保存暗号化(Order Preserving Encryption)することを表す。検証装置204は、例えば、サブの取引所を運営する。管理装置201は、例えば、アイテムデータに対応する最新の証明書を、証明書情報管理テーブル610を用いて管理する。管理装置201は、例えば、取引所を運営する。生成装置203は、例えば、アイテムデータに対応する最新のモノトニックIDを管理する。
【0124】
図9の例では、ユーザAが利用するクライアント装置206が存在する。以下の説明では、ユーザAが利用するクライアント装置206を「クライアント装置206A」と表記する場合がある。また、ユーザBが利用するクライアント装置206が存在する。以下の説明では、ユーザBが利用するクライアント装置206を「クライアント装置206B」と表記する場合がある。
【0125】
(9-1)クライアント装置206Aは、ユーザAの操作入力に基づき、データ取引1を、情報処理装置100に送信する。データ取引1は、アイテムデータに対応付けられる管理データである。データ取引1は、例えば、アイテムデータを前回取引した際に利用した管理データであるデータ取引0を含む。データ取引1は、例えば、アイテムデータに関する過去の取引履歴を表す集約署名を含む。集約署名は、例えば、KAIASと呼ばれる署名方式と、ハッシュチェーンとの組み合わせによって実現される。データ取引1は、アイテムデータを前回取引した際に生成された取引証明書を含む。情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。ここで、図10の説明に移行する。
【0126】
図10は、データ取引1の内容1010を表す。図10に示す通り、データ取引1は、例えば、アイテムデータを前回取引した際の取引元となるユーザPの署名Pと、アイテムデータを前回取引した際の取引先となるユーザAの署名Aと、管理装置201に対応する取引所署名とを付与したデータ取引0を含む。データ取引1は、アイテムデータを前回取引した際に生成されたP-A間取引証明書を含む。ここで、図11の説明に移行し、P-A間取引証明書の内容の一例について説明する。
【0127】
図11は、P-A間取引証明書の内容1100の一例を表す。P-A間取引証明書は、例えば、シリアルIDと、Issuerと、Subjectと、SANと、公開鍵と、署名とを含む。シリアルIDは、P-A間取引証明書を識別する識別子である。Issuerは、P-A間取引証明書を発行した発行者を表す。SANは、プロセス名と、アイテムデータを識別するデータIDと、アイテムデータに対応するEncOPE(モノトニックID)とを含む。公開鍵は、発行装置202が運営する認証局に対応する。署名は、発行装置202が運営する認証局に対応する秘密鍵によって生成される。
【0128】
図9の説明に戻り、(9-2)情報処理装置100は、受信したデータ取引1に基づいて、P-A間取引証明書を取得する。情報処理装置100は、P-A間取引証明書が正当であるか否かを判定することを要求する判定依頼を、検証装置204に送信する。
【0129】
検証装置204は、発行装置202が運営する認証局に対応する公開鍵を利用して、P-A間取引証明書内の署名が正当であるか否かを判定する。検証装置204は、署名が正当であれば、P-A間取引証明書が正当であると判定し、署名が正当でなければ、P-A間取引証明書が正当ではないと判定する。図9の例では、検証装置204は、署名が正当であり、P-A間取引証明書が正当であると判定したとする。検証装置204は、P-A間取引証明書が正当であることを表す通知を、情報処理装置100に送信する。
【0130】
(9-3)情報処理装置100は、P-A間取引証明書が正当であることを表す通知を、検証装置204から受信すると、受信したデータ取引1に基づいて、EncOPE(モノトニックID)を取得する。情報処理装置100は、取得したEncOPE(モノトニックID)を指定し、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。
【0131】
検証装置204は、検証依頼を受信すると、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0132】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0133】
図9の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致すると判定したとする。検証装置204は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、検証装置204から受信する。
【0134】
(9-4)情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致するため、アイテムデータを取引すると判定し、管理装置201に、譲渡認可を要求する。情報処理装置100は、譲渡認可を、管理装置201から受信する。この場合、情報処理装置100は、データ取引1に、アイテムデータを今回取引する際の取引元となるユーザAの署名Aと、アイテムデータを今回取引する際の取引先となるユーザBの署名Bと、管理装置201に対応する取引所署名とを付与する。
【0135】
(9-5)情報処理装置100は、アイテムデータを今回取引する際に利用するA-B間取引証明書を発行することを要求する発行依頼を、発行装置202に送信する。発行装置202は、発行依頼を、情報処理装置100から受信する。
【0136】
(9-6)発行装置202は、最新のEncOPE(モノトニックID)を生成することを要求する生成依頼を、生成装置203に送信する。生成依頼は、例えば、データIDと、指定のEncOPE(モノトニックID)とを含む。生成装置203は、生成依頼を受信する。生成装置203は、生成依頼を受信すると、データIDが表すアイテムデータに対応する最新のモノトニックIDに基づいて、過去に、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を生成済みであるか否かを判定する。
【0137】
生成装置203は、生成済みであれば、エラーを、管理装置201に出力する。生成装置203は、生成済みでなければ、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を、最新のEncOPE(モノトニックID)として生成する。最新のEncOPE(モノトニックID)は、EncOPE(最新のモノトニックID+1)である。図9の例では、生成装置203は、最新のEncOPE(モノトニックID)を生成したとする。生成装置203は、最新のEncOPE(モノトニックID)を、発行装置202に送信する。発行装置202は、最新のEncOPE(モノトニックID)を、生成装置203から受信する。
【0138】
(9-7)発行装置202は、受信した最新のEncOPE(モノトニックID)に基づいて、A-B間取引証明書を発行する。発行装置202は、発行したA-B間取引証明書を、情報処理装置100に送信する。情報処理装置100は、A-B間取引証明書を、発行装置202から受信する。
【0139】
(9-8)情報処理装置100は、受信したA-B間取引証明書を、管理装置201に送信する。管理装置201は、A-B間取引証明書を、情報処理装置100から受信する。管理装置201は、受信したA-B間取引証明書を、アイテムデータに対応する最新の取引証明書として管理する。
【0140】
(9-9)情報処理装置100は、署名Aと署名Bと取引所署名とを付与したデータ取引1と、受信したA-B間取引証明書とに基づいて、データ取引2を生成する。ここで、図10の説明に移行する。
【0141】
図10は、データ取引2の内容1020を表す。図10に示す通り、データ取引2は、例えば、署名Aと署名Bと取引所署名とを付与したデータ取引1を含む。データ取引2は、アイテムデータを今回取引する際に生成されたA-B間取引証明書を含む。このように、データ取引0とデータ取引1とデータ取引2とは、入れ子構造になる。
【0142】
図9の説明に戻り、情報処理装置100は、生成したデータ取引2を、クライアント装置206Bに送信する。クライアント装置206Bは、データ取引2を受信して記憶する。
【0143】
これにより、情報処理装置100は、アイテムデータを適切に取引完了することができる。情報処理装置100は、管理装置201に、最新の取引証明書を問い合わせることなく、アイテムデータを取引するか否かを適切に判定することができる。このため、情報処理装置100は、管理装置201にかかる処理負担の低減化を図ることができる。情報処理装置100は、アイテムデータを取引する際にかかる所要時間の低減化を図ることができる。
【0144】
(第1取引処理手順)
次に、図12を用いて、情報処理システム200が実行する、第1動作例に対応する第1取引処理手順の一例について説明する。
【0145】
図12は、第1取引処理手順の一例を示すシーケンス図である。図12において、クライアント装置206Aは、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、情報処理装置100に送信する(ステップS1201)。モノトニックIDは、順序保存暗号化された状態であることが好ましい。
【0146】
情報処理装置100は、受信したデータ取引1の証明書を、検証装置204に送信する。検証装置204は、証明書を受信すると、発行装置202の公開鍵を利用して、受信した証明書が正当であるか否かを検証した結果を、情報処理装置100に送信する(ステップS1202)。
【0147】
情報処理装置100は、受信したデータ取引1の証明書のモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS1203)。ここでは、大小関係は、一致である。
【0148】
情報処理装置100は、大小関係を検証した結果を受信する。情報処理装置100は、大小関係を検証した結果に基づいて、譲渡認可を、管理装置201に要求する。情報処理装置100は、譲渡認可を、管理装置201から受信する(ステップS1204)。情報処理装置100は、証明書の発行依頼を、発行装置202に送信する(ステップS1205)。
【0149】
発行装置202は、証明書の発行依頼を、情報処理装置100から受信する。発行装置202は、証明書の発行依頼を受信すると、モノトニックIDの更新依頼を、生成装置203に送信する(ステップS1206)。生成装置203は、更新依頼に応じて、更新した後のモノトニックIDを、発行装置202に送信する。発行装置202は、更新した後のモノトニックIDを、生成装置203から受信し、データIDと、更新した後のモノトニックIDを含む証明書を生成し、情報処理装置100に送信する(ステップS1207)。発行装置202は、生成した証明書を、記録装置205に送信する(ステップS1208)。記録装置205は、証明書を受信して記録する。
【0150】
情報処理装置100は、受信した証明書を、管理装置201に送信する(ステップS1209)。管理装置201は、受信した証明書を最新として管理する。情報処理装置100は、受信した証明書のデータIDとモノトニックIDとを、検証装置204に送信する(ステップS1210)。検証装置204は、受信したデータIDとモノトニックIDとを対応付けて記憶する。情報処理装置100は、受信した証明書を、クライアント装置206Bに送信する(ステップS1211)。情報処理システム200は、第1取引処理を終了する。
【0151】
(情報処理装置100の第2動作例)
次に、図13を用いて、情報処理装置100の第2動作例について説明する。
【0152】
図13は、情報処理装置100の第2動作例を示す説明図である。図13において、情報処理装置100は、ユーザAに対応する秘密鍵と、ユーザBに対応する秘密鍵と、管理装置201に対応する秘密鍵とを有する。
【0153】
検証装置204は、例えば、発行装置202が運営する認証局に対応する公開鍵を有する。検証装置204は、例えば、最新と認識するEncOPE(モノトニックID)を、ID情報管理テーブル410を用いて管理する。EncOPE(・)は、順序保存暗号化することを表す。検証装置204は、例えば、サブの取引所を運営する。管理装置201は、例えば、アイテムデータに対応する最新の証明書を、証明書情報管理テーブル610を用いて管理する。管理装置201は、例えば、取引所を運営する。生成装置203は、例えば、アイテムデータに対応する最新のモノトニックIDを管理する。図13の例では、ユーザAが利用するクライアント装置206Aが存在する。また、ユーザBが利用するクライアント装置206Bが存在する。
【0154】
(13-1)クライアント装置206Aは、ユーザAの操作入力に基づき、データ取引1を、情報処理装置100に送信する。データ取引1は、アイテムデータに対応付けられる管理データである。データ取引1は、例えば、アイテムデータを前回取引した際に利用した管理データであるデータ取引0を含む。データ取引1は、例えば、アイテムデータに関する過去の取引履歴を表す集約署名を含む。データ取引1は、アイテムデータを前回取引した際に生成された取引証明書を含む。情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。
【0155】
(13-2)情報処理装置100は、受信したデータ取引1に基づいて、P-A間取引証明書を取得する。情報処理装置100は、P-A間取引証明書が正当であるか否かを判定することを要求する判定依頼を、検証装置204に送信する。
【0156】
検証装置204は、発行装置202が運営する認証局に対応する公開鍵を利用して、P-A間取引証明書内の署名が正当であるか否かを判定する。検証装置204は、署名が正当であれば、P-A間取引証明書が正当であると判定し、署名が正当でなければ、P-A間取引証明書が正当ではないと判定する。図13の例では、検証装置204は、署名が正当であり、P-A間取引証明書が正当であると判定したとする。検証装置204は、P-A間取引証明書が正当であることを表す通知を、情報処理装置100に送信する。
【0157】
(13-3)情報処理装置100は、P-A間取引証明書が正当であることを表す通知を、検証装置204から受信すると、受信したデータ取引1に基づいて、EncOPE(モノトニックID)を取得する。情報処理装置100は、取得したEncOPE(モノトニックID)を指定し、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。
【0158】
検証装置204は、検証依頼を受信すると、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0159】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0160】
図13の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいと判定したとする。検証装置204は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことを表す通知を、検証装置204から受信する。
【0161】
(13-4)情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいため、最新のEncOPE(モノトニックID)を、管理装置201に問い合わせる。情報処理装置100は、最新のEncOPE(モノトニックID)を、管理装置201から受信する。
【0162】
(13-5)情報処理装置100は、指定のEncOPE(モノトニックID)と、受信した最新のEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。検証装置204は、検証依頼を受信すると、ID情報管理テーブル410を参照して、検証装置204が最新と認識するEncOPE(モノトニックID)を更新する。
【0163】
検証装置204は、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0164】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0165】
図13の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致すると判定したとする。検証装置204は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、検証装置204から受信する。
【0166】
(13-6)情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致するため、アイテムデータを取引すると判定し、管理装置201に、譲渡認可を要求する。情報処理装置100は、譲渡認可を、管理装置201から受信する。この場合、情報処理装置100は、データ取引1に、アイテムデータを今回取引する際の取引元となるユーザAの署名Aと、アイテムデータを今回取引する際の取引先となるユーザBの署名Bと、管理装置201に対応する取引所署名とを付与する。
【0167】
(13-7)情報処理装置100は、アイテムデータを今回取引する際に利用するA-B間取引証明書を発行することを要求する発行依頼を、発行装置202に送信する。発行装置202は、発行依頼を、情報処理装置100から受信する。
【0168】
(13-8)発行装置202は、最新のEncOPE(モノトニックID)を生成することを要求する生成依頼を、生成装置203に送信する。生成依頼は、例えば、データIDと、指定のEncOPE(モノトニックID)とを含む。生成装置203は、生成依頼を受信する。生成装置203は、生成依頼を受信すると、データIDが表すアイテムデータに対応する最新のモノトニックIDに基づいて、過去に、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を生成済みであるか否かを判定する。
【0169】
生成装置203は、生成済みであれば、エラーを、管理装置201に出力する。生成装置203は、生成済みでなければ、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を、最新のEncOPE(モノトニックID)として生成する。最新のEncOPE(モノトニックID)は、EncOPE(最新のモノトニックID+1)である。図13の例では、生成装置203は、最新のEncOPE(モノトニックID)を生成したとする。生成装置203は、最新のEncOPE(モノトニックID)を、発行装置202に送信する。発行装置202は、最新のEncOPE(モノトニックID)を、生成装置203から受信する。
【0170】
(13-9)発行装置202は、受信した最新のEncOPE(モノトニックID)に基づいて、A-B間取引証明書を発行する。発行装置202は、発行したA-B間取引証明書を、情報処理装置100に送信する。情報処理装置100は、A-B間取引証明書を、発行装置202から受信する。
【0171】
(13-10)情報処理装置100は、受信したA-B間取引証明書を、管理装置201に送信する。管理装置201は、A-B間取引証明書を、情報処理装置100から受信する。管理装置201は、受信したA-B間取引証明書を、アイテムデータに対応する最新の取引証明書として管理する。
【0172】
(13-11)情報処理装置100は、署名Aと署名Bと取引所署名とを付与したデータ取引1と、受信したA-B間取引証明書とに基づいて、データ取引2を生成する。情報処理装置100は、生成したデータ取引2を、クライアント装置206Bに送信する。クライアント装置206Bは、データ取引2を受信して記憶する。
【0173】
これにより、情報処理装置100は、アイテムデータを適切に取引完了することができる。情報処理装置100は、検証装置204が最新と認識するEncOPE(モノトニックID)が誤っていても、アイテムデータを適切に取引完了することができる。情報処理装置100は、管理装置201に、最新の取引証明書を問い合わせることなく、アイテムデータを取引するか否かを適切に判定することができる。このため、情報処理装置100は、管理装置201にかかる処理負担の低減化を図ることができる。情報処理装置100は、アイテムデータを取引する際にかかる所要時間の低減化を図ることができる。
【0174】
(第2取引処理手順)
次に、図14を用いて、情報処理システム200が実行する、第2動作例に対応する第2取引処理手順の一例について説明する。
【0175】
図14は、第2取引処理手順の一例を示すシーケンス図である。図14において、クライアント装置206Aは、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、情報処理装置100に送信する(ステップS1401)。モノトニックIDは、順序保存暗号化された状態であることが好ましい。
【0176】
情報処理装置100は、受信したデータ取引1の証明書を、検証装置204に送信する。検証装置204は、証明書を受信すると、発行装置202の公開鍵を利用して、受信した証明書が正当であるか否かを検証した結果を、情報処理装置100に送信する(ステップS1402)。
【0177】
情報処理装置100は、受信したデータ取引1の証明書のモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS1403)。ここでは、大小関係は、受信したモノトニックIDが、検証装置204が保持するモノトニックIDよりも大きい関係である。
【0178】
検証装置204は、受信したモノトニックIDが、検証装置204が保持するモノトニックIDよりも大きい場合、最新のモノトニックIDを、管理装置201に問い合わせる(ステップS1404)。管理装置201は、最新のモノトニックIDを、情報処理装置100に送信する(ステップS1405)。
【0179】
情報処理装置100は、受信したモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS1406)。ここでは、大小関係は、一致である。
【0180】
情報処理装置100は、大小関係を検証した結果に基づいて、譲渡認可を、管理装置201に要求する。情報処理装置100は、譲渡認可を、管理装置201から受信する(ステップS1407)。情報処理装置100は、証明書の発行依頼を、発行装置202に送信する(ステップS1408)。
【0181】
発行装置202は、発行依頼を、情報処理装置100から受信する。発行装置202は、証明書の発行依頼を受信すると、モノトニックIDの更新依頼を、生成装置203に送信する(ステップS1409)。生成装置203は、更新依頼に応じて、更新した後のモノトニックIDを、発行装置202に送信する。発行装置202は、更新した後のモノトニックIDを、生成装置203から受信し、データIDと、更新した後のモノトニックIDを含む証明書を生成し、情報処理装置100に送信する(ステップS1410)。発行装置202は、生成した証明書を、記録装置205に送信する(ステップS1411)。記録装置205は、証明書を受信して記録する。
【0182】
情報処理装置100は、受信した証明書を、管理装置201に送信する(ステップS1412)。管理装置201は、受信した証明書を最新として管理する。情報処理装置100は、受信した証明書のデータIDとモノトニックIDとを、検証装置204に送信する(ステップS1413)。検証装置204は、受信したデータIDとモノトニックIDとを対応付けて記憶する。情報処理装置100は、受信した証明書を、クライアント装置206Bに送信する(ステップS1414)。情報処理システム200は、第2取引処理を終了する。
【0183】
(情報処理装置100の第3動作例)
次に、図15を用いて、情報処理装置100の第3動作例について説明する。
【0184】
図15は、情報処理装置100の第3動作例を示す説明図である。図15において、情報処理装置100は、ユーザAに対応する秘密鍵と、ユーザBに対応する秘密鍵と、管理装置201に対応する秘密鍵とを有する。
【0185】
検証装置204は、例えば、発行装置202が運営する認証局に対応する公開鍵を有する。検証装置204は、例えば、最新と認識するEncOPE(モノトニックID)を、ID情報管理テーブル410を用いて管理する。EncOPE(・)は、順序保存暗号化することを表す。検証装置204は、例えば、サブの取引所を運営する。管理装置201は、例えば、アイテムデータに対応する最新の証明書を、証明書情報管理テーブル610を用いて管理する。管理装置201は、例えば、取引所を運営する。生成装置203は、例えば、アイテムデータに対応する最新のモノトニックIDを管理する。図15の例では、ユーザAが利用するクライアント装置206が存在する。また、ユーザBが利用するクライアント装置206が存在する。
【0186】
(15-1)クライアント装置206Aは、ユーザAの操作入力に基づき、データ取引1を、情報処理装置100に送信する。データ取引1は、アイテムデータに対応付けられる管理データである。データ取引1は、例えば、アイテムデータを前回取引した際に利用した管理データであるデータ取引0を含む。データ取引1は、例えば、アイテムデータに関する過去の取引履歴を表す集約署名を含む。データ取引1は、アイテムデータを前回取引した際に生成された取引証明書を含む。情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。
【0187】
(15-2)情報処理装置100は、受信したデータ取引1に基づいて、P-A間取引証明書を取得する。情報処理装置100は、P-A間取引証明書が正当であるか否かを判定することを要求する判定依頼を、検証装置204に送信する。
【0188】
検証装置204は、発行装置202が運営する認証局に対応する公開鍵を利用して、P-A間取引証明書内の署名が正当であるか否かを判定する。検証装置204は、署名が正当であれば、P-A間取引証明書が正当であると判定し、署名が正当でなければ、P-A間取引証明書が正当ではないと判定する。図15の例では、検証装置204は、署名が正当であり、P-A間取引証明書が正当であると判定したとする。検証装置204は、P-A間取引証明書が正当であることを表す通知を、情報処理装置100に送信する。
【0189】
(15-3)情報処理装置100は、P-A間取引証明書が正当であることを表す通知を、検証装置204から受信すると、受信したデータ取引1に基づいて、EncOPE(モノトニックID)を取得する。情報処理装置100は、取得したEncOPE(モノトニックID)を指定し、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。
【0190】
検証装置204は、検証依頼を受信すると、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0191】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0192】
図15の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいと判定したとする。検証装置204は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことを表す通知を、検証装置204から受信する。
【0193】
(15-4)情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいため、P-A間取引証明書が最新であるか否かを判定することを要求する判定依頼を、管理装置201に送信する。管理装置201は、判定依頼を、情報処理装置100から受信する。
【0194】
(15-5)管理装置201は、証明書情報管理テーブル610を参照して、P-A間取引証明書が、アイテムデータに対応する最新の取引証明書であるか否かを判定する。ここでは、管理装置201は、P-A間取引証明書が、アイテムデータに対応する最新の取引証明書であると判定したとする。このため、管理装置201は、譲渡認可を、情報処理装置100に送信する。
【0195】
(15-6)情報処理装置100は、譲渡認可を、管理装置201から受信する。この場合、情報処理装置100は、データ取引1に、アイテムデータを今回取引する際の取引元となるユーザAの署名Aと、アイテムデータを今回取引する際の取引先となるユーザBの署名Bと、管理装置201に対応する取引所署名とを付与する。
【0196】
(15-7)情報処理装置100は、アイテムデータを今回取引する際に利用するA-B間取引証明書を発行することを要求する発行依頼を、発行装置202に送信する。発行装置202は、発行依頼を、情報処理装置100から受信する。
【0197】
(15-8)発行装置202は、最新のEncOPE(モノトニックID)を生成することを要求する生成依頼を、生成装置203に送信する。生成依頼は、例えば、データIDと、指定のEncOPE(モノトニックID)とを含む。生成装置203は、生成依頼を受信する。生成装置203は、生成依頼を受信すると、データIDが表すアイテムデータに対応する最新のモノトニックIDに基づいて、過去に、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を生成済みであるか否かを判定する。
【0198】
生成装置203は、生成済みであれば、エラーを、管理装置201に出力する。生成装置203は、生成済みでなければ、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を、最新のEncOPE(モノトニックID)として生成する。最新のEncOPE(モノトニックID)は、EncOPE(最新のモノトニックID+1)である。図15の例では、生成装置203は、最新のEncOPE(モノトニックID)を生成したとする。生成装置203は、最新のEncOPE(モノトニックID)を、発行装置202に送信する。発行装置202は、最新のEncOPE(モノトニックID)を、生成装置203から受信する。
【0199】
(15-9)発行装置202は、受信した最新のEncOPE(モノトニックID)に基づいて、A-B間取引証明書を発行する。発行装置202は、発行したA-B間取引証明書を、情報処理装置100に送信する。情報処理装置100は、A-B間取引証明書を、発行装置202から受信する。
【0200】
(15-10)情報処理装置100は、受信したA-B間取引証明書を、管理装置201に送信する。管理装置201は、A-B間取引証明書を、情報処理装置100から受信する。管理装置201は、受信したA-B間取引証明書を、アイテムデータに対応する最新の取引証明書として管理する。
【0201】
(15-11)情報処理装置100は、署名Aと署名Bと取引所署名とを付与したデータ取引1と、受信したA-B間取引証明書とに基づいて、データ取引2を生成する。情報処理装置100は、生成したデータ取引2を、クライアント装置206Bに送信する。クライアント装置206Bは、データ取引2を受信して記憶する。
【0202】
これにより、情報処理装置100は、アイテムデータを適切に取引完了することができる。情報処理装置100は、検証装置204が最新と認識するEncOPE(モノトニックID)が誤っていても、アイテムデータを適切に取引完了することができる。
【0203】
(第3取引処理手順)
次に、図16を用いて、情報処理システム200が実行する、第3動作例に対応する第3取引処理手順の一例について説明する。
【0204】
図16は、第3取引処理手順の一例を示すシーケンス図である。図16において、クライアント装置206Aは、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、情報処理装置100に送信する(ステップS1601)。モノトニックIDは、順序保存暗号化された状態であることが好ましい。
【0205】
情報処理装置100は、受信したデータ取引1の証明書を、検証装置204に送信する。検証装置204は、証明書を受信すると、発行装置202の公開鍵を利用して、受信した証明書が正当であるか否かを検証した結果を、情報処理装置100に送信する(ステップS1602)。
【0206】
情報処理装置100は、受信したデータ取引1の証明書のモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS1603)。ここでは、大小関係は、受信したモノトニックIDが、検証装置204が保持するモノトニックIDよりも小さい関係である。
【0207】
情報処理装置100は、受信したデータ取引1の証明書を、管理装置201に送信する(ステップS1604)。管理装置201は、受信した証明書が、最新の証明書である場合、譲渡認可を、情報処理装置100に送信する(ステップS1605)。情報処理装置100は、譲渡認可を、管理装置201から受信する。
【0208】
情報処理装置100は、証明書の発行依頼を、発行装置202に送信する(ステップS1606)。発行装置202は、証明書の発行依頼を受信すると、モノトニックIDの更新依頼を、生成装置203に送信する(ステップS1607)。生成装置203は、更新依頼に応じて、更新した後のモノトニックIDを、発行装置202に送信する。発行装置202は、更新した後のモノトニックIDを、生成装置203から受信し、データIDと、更新した後のモノトニックIDを含む証明書を生成し、情報処理装置100に送信する(ステップS1608)。発行装置202は、生成した証明書を、記録装置205に送信する(ステップS1609)。
【0209】
情報処理装置100は、受信した証明書を、管理装置201に送信する(ステップS1610)。管理装置201は、受信した証明書を最新として管理する。情報処理装置100は、受信した証明書のデータIDとモノトニックIDとを、検証装置204に送信する(ステップS1611)。検証装置204は、受信したデータIDとモノトニックIDとを対応付けて記憶する。情報処理装置100は、受信した証明書を、クライアント装置206Bに送信する(ステップS1612)。情報処理システム200は、第3取引処理を終了する。
【0210】
(情報処理装置100の第4動作例)
次に、図17を用いて、情報処理装置100の第4動作例について説明する。
【0211】
図17は、情報処理装置100の第4動作例を示す説明図である。図17において、情報処理装置100は、ユーザAに対応する秘密鍵と、ユーザBに対応する秘密鍵と、管理装置201に対応する秘密鍵とを有する。
【0212】
検証装置204は、例えば、発行装置202が運営する認証局に対応する公開鍵を有する。検証装置204は、例えば、最新と認識するEncOPE(モノトニックID)を、ID情報管理テーブル410を用いて管理する。EncOPE(・)は、順序保存暗号化することを表す。検証装置204は、例えば、サブの取引所を運営する。管理装置201は、例えば、アイテムデータに対応する最新の証明書を、証明書情報管理テーブル610を用いて管理する。管理装置201は、例えば、取引所を運営する。生成装置203は、例えば、アイテムデータに対応する最新のモノトニックIDを管理する。図17の例では、ユーザAが利用するクライアント装置206が存在する。また、ユーザBが利用するクライアント装置206が存在する。
【0213】
(17-1)クライアント装置206Aは、ユーザAの操作入力に基づき、データ取引1を、情報処理装置100に送信する。データ取引1は、アイテムデータに対応付けられる管理データである。データ取引1は、例えば、アイテムデータを前回取引した際に利用した管理データであるデータ取引0を含む。データ取引1は、例えば、アイテムデータに関する過去の取引履歴を表す集約署名を含む。データ取引1は、アイテムデータを前回取引した際に生成された取引証明書を含む。情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。
【0214】
(17-2)情報処理装置100は、受信したデータ取引1に基づいて、P-A間取引証明書を取得する。情報処理装置100は、P-A間取引証明書が正当であるか否かを判定することを要求する判定依頼を、検証装置204に送信する。
【0215】
検証装置204は、発行装置202が運営する認証局に対応する公開鍵を利用して、P-A間取引証明書内の署名が正当であるか否かを判定する。検証装置204は、署名が正当であれば、P-A間取引証明書が正当であると判定し、署名が正当でなければ、P-A間取引証明書が正当ではないと判定する。図17の例では、検証装置204は、署名が正当であり、P-A間取引証明書が正当であると判定したとする。検証装置204は、P-A間取引証明書が正当であることを表す通知を、情報処理装置100に送信する。
【0216】
(17-3)情報処理装置100は、P-A間取引証明書が正当であることを表す通知を、検証装置204から受信すると、受信したデータ取引1に基づいて、EncOPE(モノトニックID)を取得する。情報処理装置100は、取得したEncOPE(モノトニックID)を指定し、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。
【0217】
検証装置204は、検証依頼を受信すると、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0218】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0219】
図17の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致すると判定したとする。検証装置204は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することを表す通知を、検証装置204から受信する。
【0220】
(17-4)情報処理装置100は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致するため、アイテムデータを取引すると判定し、管理装置201に、譲渡認可を要求する。情報処理装置100は、譲渡認可を、管理装置201から受信する。この場合、情報処理装置100は、データ取引1に、アイテムデータを今回取引する際の取引元となるユーザAの署名Aと、アイテムデータを今回取引する際の取引先となるユーザBの署名Bと、管理装置201に対応する取引所署名とを付与する。
【0221】
(17-5)情報処理装置100は、アイテムデータを今回取引する際に利用するA-B間取引証明書を発行することを要求する発行依頼を、発行装置202に送信する。発行装置202は、発行依頼を、情報処理装置100から受信する。
【0222】
(17-6)発行装置202は、最新のEncOPE(モノトニックID)を生成することを要求する生成依頼を、生成装置203に送信する。生成依頼は、例えば、データIDと、指定のEncOPE(モノトニックID)とを含む。生成装置203は、生成依頼を受信する。生成装置203は、生成依頼を受信すると、データIDが表すアイテムデータに対応する最新のモノトニックIDに基づいて、過去に、指定のEncOPE(モノトニックID)の次となるEncOPE(モノトニックID)を生成済みであるか否かを判定する。図17の例では、生成装置203は、生成済みであるため、エラーを、管理装置201に出力したとする。管理装置201は、エラーを、生成装置203から受信する。
【0223】
(17-7)管理装置201は、エラーを受信したため、譲渡中止を、情報処理装置100に送信する。情報処理装置100は、譲渡中止を、検証装置204から受信する。
【0224】
(17-8)管理装置201は、エラーを受信したため、アイテムデータを取引しないことを表す譲渡エラーを、クライアント装置206Aと、クライアント装置206Bとに送信する。クライアント装置206Aは、譲渡エラーを受信し、ユーザAが参照可能に出力する。クライアント装置206Bは、譲渡エラーを受信し、ユーザBが参照可能に出力する。
【0225】
これにより、情報処理装置100は、アイテムデータを誤って取引してしまう事態を回避することができる。情報処理装置100は、アイテムデータを不正に取引することを防止することができる。情報処理装置100は、例えば、アイテムデータを適切に取引することにより、メタバース220内の秩序を維持し、または、メタバース220内の参加者同士の公平性を担保することができる。
【0226】
(第4取引処理手順)
次に、図18を用いて、情報処理システム200が実行する、第4動作例に対応する第4取引処理手順の一例について説明する。
【0227】
図18は、第4取引処理手順の一例を示すシーケンス図である。図18において、クライアント装置206Aは、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、情報処理装置100に送信する(ステップS1801)。モノトニックIDは、順序保存暗号化された状態であることが好ましい。
【0228】
情報処理装置100は、受信したデータ取引1の証明書を、検証装置204に送信する。検証装置204は、証明書を受信すると、発行装置202の公開鍵を利用して、受信した証明書が正当であるか否かを検証した結果を、情報処理装置100に送信する(ステップS1802)。
【0229】
情報処理装置100は、受信したデータ取引1の証明書のモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS1803)。ここでは、大小関係は、一致である。
【0230】
情報処理装置100は、大小関係を検証した結果に基づいて、譲渡認可を、管理装置201に要求する。情報処理装置100は、譲渡認可を、管理装置201から受信する(ステップS1804)。情報処理装置100は、証明書の発行依頼を、発行装置202に送信する(ステップS1805)。発行装置202は、証明書の発行依頼を受信すると、モノトニックIDの更新依頼を、生成装置203に送信する(ステップS1806)。
【0231】
生成装置203は、更新依頼を受信した際、モノトニックIDが更新済みであるため、更新エラーを、発行装置202に送信する(ステップS1807)。発行装置202は、更新エラーを、生成装置203から受信する。発行装置202は、更新エラーを受信すると、2重譲渡を検出したことを表す通知を、管理装置201に送信する(ステップS1808)。
【0232】
管理装置201は、2重譲渡を検出したことを表す通知を受信すると、譲渡中止を、情報処理装置100に送信する(ステップS1809)。管理装置201は、2重譲渡を検出したことを表す通知を受信すると、譲渡エラーを、クライアント装置206Aに送信する(ステップS1810)。管理装置201は、2重譲渡を検出したことを表す通知を受信すると、譲渡エラーを、クライアント装置206Bに送信する(ステップS1811)。情報処理システム200は、第4取引処理を終了する。
【0233】
(情報処理装置100の第5動作例)
次に、図19を用いて、情報処理装置100の第5動作例について説明する。
【0234】
図19は、情報処理装置100の第5動作例を示す説明図である。図19において、情報処理装置100は、ユーザAに対応する秘密鍵と、ユーザBに対応する秘密鍵と、管理装置201に対応する秘密鍵とを有する。
【0235】
検証装置204は、例えば、発行装置202が運営する認証局に対応する公開鍵を有する。検証装置204は、例えば、最新と認識するEncOPE(モノトニックID)を、ID情報管理テーブル410を用いて管理する。EncOPE(・)は、順序保存暗号化することを表す。検証装置204は、例えば、サブの取引所を運営する。管理装置201は、例えば、アイテムデータに対応する最新の証明書を、証明書情報管理テーブル610を用いて管理する。管理装置201は、例えば、取引所を運営する。生成装置203は、例えば、アイテムデータに対応する最新のモノトニックIDを管理する。図19の例では、ユーザAが利用するクライアント装置206Aが存在する。また、ユーザBが利用するクライアント装置206Bが存在する。
【0236】
(19-1)クライアント装置206Aは、ユーザAの操作入力に基づき、データ取引1を、情報処理装置100に送信する。データ取引1は、アイテムデータに対応付けられる管理データである。データ取引1は、例えば、アイテムデータを前回取引した際に利用した管理データであるデータ取引0を含む。データ取引1は、例えば、アイテムデータに関する過去の取引履歴を表す集約署名を含む。データ取引1は、アイテムデータを前回取引した際に生成された取引証明書を含む。情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。
【0237】
(19-2)情報処理装置100は、受信したデータ取引1に基づいて、P-A間取引証明書を取得する。情報処理装置100は、P-A間取引証明書が正当であるか否かを判定することを要求する判定依頼を、検証装置204に送信する。
【0238】
検証装置204は、発行装置202が運営する認証局に対応する公開鍵を利用して、P-A間取引証明書内の署名が正当であるか否かを判定する。検証装置204は、署名が正当であれば、P-A間取引証明書が正当であると判定し、署名が正当でなければ、P-A間取引証明書が正当ではないと判定する。図19の例では、検証装置204は、署名が正当であり、P-A間取引証明書が正当であると判定したとする。検証装置204は、P-A間取引証明書が正当であることを表す通知を、情報処理装置100に送信する。
【0239】
(19-3)情報処理装置100は、P-A間取引証明書が正当であることを表す通知を、検証装置204から受信すると、受信したデータ取引1に基づいて、EncOPE(モノトニックID)を取得する。情報処理装置100は、取得したEncOPE(モノトニックID)を指定し、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。
【0240】
検証装置204は、検証依頼を受信すると、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0241】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0242】
図19の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいと判定したとする。検証装置204は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことを表す通知を、検証装置204から受信する。
【0243】
(19-4)情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいため、最新のEncOPE(モノトニックID)を、管理装置201に問い合わせる。情報処理装置100は、最新のEncOPE(モノトニックID)を、管理装置201から受信する。
【0244】
(19-5)情報処理装置100は、指定のEncOPE(モノトニックID)と、受信した最新のEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。検証装置204は、検証依頼を受信すると、ID情報管理テーブル410を参照して、検証装置204が最新と認識するEncOPE(モノトニックID)を更新する。
【0245】
検証装置204は、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0246】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0247】
図19の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致しないと判定したとする。検証装置204は、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致しないため、譲渡否決を、情報処理装置100に送信する。情報処理装置100は、譲渡否決を、検証装置204から受信する。
【0248】
(19-6)検証装置204は、アイテムデータを取引しないことを表す譲渡エラーを、クライアント装置206Aと、クライアント装置206Bとに送信する。クライアント装置206Aは、譲渡エラーを受信し、ユーザAが参照可能に出力する。クライアント装置206Bは、譲渡エラーを受信し、ユーザBが参照可能に出力する。
【0249】
これにより、情報処理装置100は、アイテムデータを誤って取引してしまう事態を回避することができる。情報処理装置100は、アイテムデータを不正に取引することを防止することができる。情報処理装置100は、例えば、アイテムデータを適切に取引することにより、メタバース220内の秩序を維持し、または、メタバース220内の参加者同士の公平性を担保することができる。
【0250】
(第5取引処理手順)
次に、図20を用いて、情報処理システム200が実行する、第5動作例に対応する第5取引処理手順の一例について説明する。
【0251】
図20は、第5取引処理手順の一例を示すシーケンス図である。図20において、クライアント装置206Aは、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、情報処理装置100に送信する(ステップS2001)。モノトニックIDは、順序保存暗号化された状態であることが好ましい。
【0252】
情報処理装置100は、受信したデータ取引1の証明書を、検証装置204に送信する。検証装置204は、証明書を受信すると、発行装置202の公開鍵を利用して、受信した証明書が正当であるか否かを検証した結果を、情報処理装置100に送信する(ステップS2002)。
【0253】
情報処理装置100は、受信したデータ取引1の証明書のモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS2003)。ここでは、大小関係は、受信したモノトニックIDが、検証装置204が保持するモノトニックIDよりも大きい関係である。
【0254】
検証装置204は、受信したモノトニックIDが、検証装置204が保持するモノトニックIDよりも大きい場合、最新のモノトニックIDを、管理装置201に問い合わせる(ステップS2004)。管理装置201は、最新のモノトニックIDを、検証装置204に送信する(ステップS2005)。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証する。ここでは、大小関係は、不一致である。検証装置204は、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとが一致しないため、譲渡否決を、情報処理装置100に送信する(ステップS2006)。情報処理装置100は、譲渡否決を、検証装置204から受信する。
【0255】
検証装置204は、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとが一致しない場合、譲渡エラーを、クライアント装置206Aに送信する(ステップS2007)。検証装置204は、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとが一致しない場合、譲渡エラーを、クライアント装置206Bに送信する(ステップS2008)。情報処理システム200は、第5取引処理を終了する。
【0256】
(情報処理装置100の第6動作例)
次に、図21を用いて、情報処理装置100の第6動作例について説明する。
【0257】
図21は、情報処理装置100の第6動作例を示す説明図である。図21において、情報処理装置100は、ユーザAに対応する秘密鍵と、ユーザBに対応する秘密鍵と、管理装置201に対応する秘密鍵とを有する。
【0258】
検証装置204は、例えば、発行装置202が運営する認証局に対応する公開鍵を有する。検証装置204は、例えば、最新と認識するEncOPE(モノトニックID)を、ID情報管理テーブル410を用いて管理する。EncOPE(・)は、順序保存暗号化することを表す。検証装置204は、例えば、サブの取引所を運営する。管理装置201は、例えば、アイテムデータに対応する最新の証明書を、証明書情報管理テーブル610を用いて管理する。管理装置201は、例えば、取引所を運営する。生成装置203は、例えば、アイテムデータに対応する最新のモノトニックIDを管理する。図21の例では、ユーザAが利用するクライアント装置206が存在する。また、ユーザBが利用するクライアント装置206が存在する。
【0259】
(21-1)クライアント装置206Aは、ユーザAの操作入力に基づき、データ取引1を、情報処理装置100に送信する。データ取引1は、アイテムデータに対応付けられる管理データである。データ取引1は、例えば、アイテムデータを前回取引した際に利用した管理データであるデータ取引0を含む。データ取引1は、例えば、アイテムデータに関する過去の取引履歴を表す集約署名を含む。データ取引1は、アイテムデータを前回取引した際に生成された取引証明書を含む。情報処理装置100は、データ取引1を、クライアント装置206Aから受信する。
【0260】
(21-2)情報処理装置100は、受信したデータ取引1に基づいて、P-A間取引証明書を取得する。情報処理装置100は、P-A間取引証明書が正当であるか否かを判定することを要求する判定依頼を、検証装置204に送信する。
【0261】
検証装置204は、発行装置202が運営する認証局に対応する公開鍵を利用して、P-A間取引証明書内の署名が正当であるか否かを判定する。検証装置204は、署名が正当であれば、P-A間取引証明書が正当であると判定し、署名が正当でなければ、P-A間取引証明書が正当ではないと判定する。図21の例では、検証装置204は、署名が正当であり、P-A間取引証明書が正当であると判定したとする。検証装置204は、P-A間取引証明書が正当であることを表す通知を、情報処理装置100に送信する。
【0262】
(21-3)情報処理装置100は、P-A間取引証明書が正当であることを表す通知を、検証装置204から受信すると、受信したデータ取引1に基づいて、EncOPE(モノトニックID)を取得する。情報処理装置100は、取得したEncOPE(モノトニックID)を指定し、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証することを要求する検証依頼を、検証装置204に送信する。
【0263】
検証装置204は、検証依頼を受信すると、指定のEncOPE(モノトニックID)を特定する。検証装置204は、ID情報管理テーブル410を参照して、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)との大小関係を検証する。
【0264】
大小関係は、例えば、指定のEncOPE(モノトニックID)と、最新と認識するEncOPE(モノトニックID)とが一致することである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも大きいことである。大小関係は、例えば、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことである。
【0265】
図21の例では、検証装置204は、大小関係を検証した結果、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいと判定したとする。検証装置204は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことを表す通知を、情報処理装置100に送信する。情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいことを表す通知を、検証装置204から受信する。
【0266】
(21-4)情報処理装置100は、指定のEncOPE(モノトニックID)が、最新と認識するEncOPE(モノトニックID)よりも小さいため、P-A間取引証明書が最新であるか否かを判定することを要求する判定依頼を、管理装置201に送信する。管理装置201は、判定依頼を、情報処理装置100から受信する。
【0267】
(21-5)管理装置201は、証明書情報管理テーブル610を参照して、P-A間取引証明書が、アイテムデータに対応する最新の取引証明書であるか否かを判定する。ここでは、管理装置201は、P-A間取引証明書が、アイテムデータに対応する最新の取引証明書ではないと判定したとする。このため、管理装置201は、譲渡否決を、情報処理装置100に送信する。情報処理装置100は、譲渡否決を、管理装置201から受信する。
【0268】
(21-6)管理装置201は、アイテムデータを取引しないことを表す譲渡エラーを、クライアント装置206Aと、クライアント装置206Bとに送信する。クライアント装置206Aは、譲渡エラーを受信し、ユーザAが参照可能に出力する。クライアント装置206Bは、譲渡エラーを受信し、ユーザBが参照可能に出力する。
【0269】
これにより、情報処理装置100は、アイテムデータを誤って取引してしまう事態を回避することができる。情報処理装置100は、アイテムデータを不正に取引することを防止することができる。情報処理装置100は、例えば、アイテムデータを適切に取引することにより、メタバース220内の秩序を維持し、または、メタバース220内の参加者同士の公平性を担保することができる。
【0270】
(第6取引処理手順)
次に、図22を用いて、情報処理システム200が実行する、第6動作例に対応する第6取引処理手順の一例について説明する。
【0271】
図22は、第6取引処理手順の一例を示すシーケンス図である。図22において、クライアント装置206Aは、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、情報処理装置100に送信する(ステップS2201)。モノトニックIDは、順序保存暗号化された状態であることが好ましい。
【0272】
情報処理装置100は、受信したデータ取引1の証明書を、検証装置204に送信する。検証装置204は、証明書を受信すると、発行装置202の公開鍵を利用して、受信した証明書が正当であるか否かを検証した結果を、情報処理装置100に送信する(ステップS2202)。
【0273】
情報処理装置100は、受信したデータ取引1の証明書のモノトニックIDを、検証装置204に送信する。検証装置204は、モノトニックIDを受信すると、受信したモノトニックIDと、検証装置204が保持するモノトニックIDとの大小関係を検証した結果を、情報処理装置100に送信する(ステップS2203)。ここでは、大小関係は、受信したモノトニックIDが、検証装置204が保持するモノトニックIDよりも小さい関係である。
【0274】
情報処理装置100は、受信したデータ取引1の証明書を、管理装置201に送信する(ステップS2204)。管理装置201は、受信した証明書が、最新の証明書ではない場合、譲渡否決を、情報処理装置100に送信する(ステップS2205)。情報処理装置100は、譲渡否決を、管理装置201から受信する。
【0275】
管理装置201は、譲渡エラーを、クライアント装置206Aに送信する(ステップS2206)。管理装置201は、譲渡エラーを、クライアント装置206Bに送信する(ステップS2207)。情報処理システム200は、第6取引処理を終了する。
【0276】
(全体処理手順)
次に、図23を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0277】
図23は、全体処理手順の一例を示すフローチャートである。図23において、情報処理装置100は、データIDとモノトニックIDとを含む証明書を含むデータ取引1を、クライアント装置206から受信する(ステップS2301)。次に、情報処理装置100は、データ取引1の証明書のデータIDを、検証装置204に送信し、データ取引1の証明書のデータIDに対応するモノトニックIDを取得する(ステップS2302)。
【0278】
そして、情報処理装置100は、発行装置202の公開鍵を利用して、データ取引1の証明書が正当であるか否かを判定する(ステップS2303)。ここで、データ取引1の証明書が正当である場合(ステップS2303:Yes)、情報処理装置100は、ステップS2304の処理に移行する。一方で、データ取引1の証明書が正当ではない場合(ステップS2303:No)、情報処理装置100は、ステップS2312の処理に移行する。
【0279】
ステップS2304では、情報処理装置100は、データ取引1の証明書のモノトニックIDと、検証装置204から取得したモノトニックIDとが一致するか否かを判定する(ステップS2304)。ここで、一致する場合(ステップS2304:Yes)、情報処理装置100は、ステップS2310の処理に移行する。一方で、一致しない場合(ステップS2304:No)、情報処理装置100は、ステップS2305の処理に移行する。
【0280】
ステップS2305では、情報処理装置100は、データ取引1の証明書のモノトニックIDが、検証装置204から取得したモノトニックIDよりも大きいか否かを判定する(ステップS2305)。ここで、検証装置204から取得したモノトニックIDよりも大きい場合(ステップS2305:Yes)、情報処理装置100は、ステップS2308の処理に移行する。一方で、検証装置204から取得したモノトニックIDよりも小さい場合(ステップS2305:No)、情報処理装置100は、ステップS2306の処理に移行する。
【0281】
ステップS2306では、情報処理装置100は、データ取引1の証明書を、管理装置201に送信する(ステップS2306)。次に、情報処理装置100は、データ取引1の証明書が、最新の証明書と一致するか否かを判定する(ステップS2307)。ここで、最新の証明書と一致する場合(ステップS2307:Yes)、情報処理装置100は、ステップS2310の処理に移行する。一方で、最新の証明書と一致しない場合(ステップS2307:No)、情報処理装置100は、ステップS2312の処理に移行する。
【0282】
ステップS2308では、情報処理装置100は、最新のモノトニックIDを、生成装置203から取得する(ステップS2308)。次に、情報処理装置100は、データ取引1の証明書のモノトニックIDが、生成装置203から取得した最新のモノトニックIDと一致するか否かを判定する(ステップS2309)。ここで、最新のモノトニックIDと一致する場合(ステップS2309:Yes)、情報処理装置100は、ステップS2310の処理に移行する。一方で、最新のモノトニックIDと一致しない場合(ステップS2309:No)、情報処理装置100は、ステップS2306の処理に移行する。
【0283】
ステップS2310では、情報処理装置100は、モノトニックIDを更新することを、生成装置203に要求し、2重登録があるか否かを判定する(ステップS2310)。ここで、2重登録がある場合(ステップS2310:Yes)、情報処理装置100は、ステップS2312の処理に移行する。一方で、2重登録がない場合(ステップS2310:No)、情報処理装置100は、ステップS2311の処理に移行する。
【0284】
ステップS2311では、情報処理装置100は、取引を許可すると設定する(ステップS2311)。そして、情報処理装置100は、ステップS2313の処理に移行する。
【0285】
ステップS2312では、情報処理装置100は、取引を却下すると設定する(ステップS2312)。そして、情報処理装置100は、ステップS2313の処理に移行する。
【0286】
ステップS2313では、情報処理装置100は、取引を許可または却下することを表す通知を出力する(ステップS2313)。そして、情報処理装置100は、全体処理を終了する。ここで、情報処理装置100は、図23の一部ステップの処理の順序を入れ替えて実行してもよい。また、情報処理装置100は、図23の一部ステップの処理を省略してもよい。
【0287】
(登録処理手順)
次に、図24を用いて、情報処理装置100が実行する、登録処理手順の一例について説明する。登録処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0288】
図24は、登録処理手順の一例を示すフローチャートである。図24において、情報処理装置100は、クライアント装置206などから、新規のデータを登録することを要求する作成依頼を受け付ける(ステップS2401)。
【0289】
情報処理装置100は、作成依頼に応じて、モノトニックIDを発行する(ステップS2402)。情報処理装置100は、生成装置203を利用して、モノトニックIDを発行してもよい。情報処理装置100は、モノトニックIDを順序保存暗号化する(ステップS2403)。情報処理装置100は、生成装置203を利用して、モノトニックIDを順序保存暗号化してもよい。
【0290】
情報処理装置100は、新規のデータに、データIDを割り当てて、新規のデータに対応する証明書を発行する(ステップS2404)。情報処理装置100は、発行装置202を利用して、新規のデータに対応する証明書を発行してもよい。情報処理装置100は、データIDと、証明書と、モノトニックIDとを、記録装置205に送信して記録する(ステップS2405)。
【0291】
情報処理装置100は、新規のデータに対応する証明書を、クライアント装置206などに送信する(ステップS2406)。情報処理装置100は、登録処理を終了する。これにより、情報処理装置100は、新規に生成されたデータを取引可能に、証明書を発行することができる。
【0292】
(更新処理手順)
次に、図25を用いて、検証装置204が実行する、更新処理手順の一例について説明する。検証装置204は、例えば、定期的に更新処理を実行する。更新処理は、例えば、図4に示したCPU401と、メモリ402や記録媒体405などの記憶領域と、ネットワークI/F403とによって実現される。
【0293】
図25は、更新処理手順の一例を示すフローチャートである。図25において、検証装置204は、記録装置205から、データIDと、モノトニックIDを取得する(ステップS2501)。検証装置204は、データIDと、モノトニックIDとに基づいて、ID情報管理テーブル410を更新する(ステップS2502)。これにより、検証装置204は、ID情報管理テーブル410を、適切な状態に更新することができる。
【0294】
(情報処理システム200の適用例)
次に、図26を用いて、情報処理システム200の適用例について説明する。
【0295】
図26は、情報処理システム200の適用例を示す説明図である。図26において、情報処理システム200は、1つの管理装置201と、複数のメタバース220を含む。それぞれのメタバース220は、検証装置204を含む。
【0296】
それぞれのメタバース220が、検証装置204を含まない場合、それぞれのメタバース220内でデータを取引する都度、メタバース220から管理装置201に対して、データに付与された証明書が最新であるか否かを問い合わせることになる。従って、管理装置201にかかる処理負担の増大化を招く。これに対し、情報処理システム200では、それぞれのメタバース220が、検証装置204を含むため、管理装置201にかかる処理負担の低減化を図ることができる。
【0297】
情報処理システム200は、例えば、それぞれ異なる実行環境で実現される複数のメタバース220が連携する大規模仮想空間を実現する際に適用することができる。また、同様に、情報処理システム200は、例えば、それぞれ異なる実行環境で実現される複数の仮想空間を包含するオンラインゲームを実現する際に適用することができる。
【0298】
以上説明したように、情報処理装置100によれば、取引元に対応する第1の端末111と通信することにより、取引する対象101に対応付けられた、第1の値が付与された第1の証明書の指定を受け付けることができる。情報処理装置100によれば、対象101を取引する度に単調変化する第2の値121を記憶する記憶部120を利用することができる。情報処理装置100によれば、記憶部120を利用して、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致すると判定した場合、第2の値121を単調変化させた第3の値を記憶するよう、記憶部120を制御することができる。情報処理装置100によれば、記憶部120を利用して、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致すると判定した場合、対象101に対応付けられた、第3の値が付与された第2の証明書140を生成することができる。情報処理装置100によれば、生成した第2の証明書140を、対象101に対応付けられた最新の証明書を管理する管理部130と、取引先に対応する第2の端末112とに送信することができる。これにより、情報処理装置100は、管理部130に問い合わせることなく、対象101を取引するか否かを適切に判定することができる。情報処理装置100は、対象101を取引する際にかかる所要時間の低減化を図ることができる。このように、情報処理装置100は、対象101を取引し易くすることができる。
【0299】
情報処理装置100によれば、第2の値121に、対象101を取引する度に単調増加する値を採用することができる。情報処理装置100によれば、記憶部120を利用して、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121よりも大きいと判定した場合、最新の証明書に付与された最新の値を、管理部130に問い合わせることができる。情報処理装置100によれば、管理部130に問い合わせた結果、第1の値が、最新の値と一致すると判定した場合、第3の値を記憶するよう、記憶部120を制御することができる。情報処理装置100によれば、管理部130に問い合わせた結果、第1の値が、最新の値と一致すると判定した場合、第3の値が付与された第2の証明書140を生成することができる。これにより、情報処理装置100は、第2の値121が誤っていても、対象101を取引するか否かを適切に判定することができる。
【0300】
情報処理装置100によれば、記憶部120を利用して、第1の証明書に付与された第1の値が、第2の値121よりも小さいと判定した場合、第1の証明書が、最新の証明書であるか否かを、管理部130に問い合わせることができる。情報処理装置100によれば、管理部130に問い合わせた結果、第1の証明書が、最新の証明書であると判定した場合、第3の値を記憶するよう、記憶部120を制御することができる。情報処理装置100によれば、管理部130に問い合わせた結果、第1の証明書が、最新の証明書であると判定した場合、第3の値が付与された第2の証明書140を生成することができる。これにより、情報処理装置100は、第2の値121が誤っていても、対象101を取引するか否かを適切に判定することができる。
【0301】
情報処理装置100によれば、記憶部120を利用して、指定を受け付けた第1の証明書に付与された第1の値が、第2の値121と一致すると判定した場合、第3の値を、第2の値121を単調変化させた第3の値を生成する生成部に問い合わせることができる。情報処理装置100によれば、生成部に問い合わせた結果取得した第3の値を記憶するよう、記憶部120を制御することができる。これにより、情報処理装置100は、第3の値を外部で生成する場合に適用することができる。
【0302】
情報処理装置100によれば、生成部に問い合わせた結果、過去に第2の値121を単調変化させた第3の値を生成済みであることを表す通知を受信した場合、記憶部120を制御しないと判定することができる。情報処理装置100によれば、生成部に問い合わせた結果、通知を受信した場合、第2の証明書140を生成しないと判定することができる。これにより、情報処理装置100は、対象101を誤って取引してしまう事態を回避することができる。
【0303】
情報処理装置100によれば、管理部130に問い合わせた結果、第1の値が、最新の値と一致しないと判定した場合、記憶部120を制御しないと判定することができる。情報処理装置100によれば、管理部130に問い合わせた結果、第1の値が、最新の値と一致しないと判定した場合、第2の証明書140を生成しないと判定することができる。これにより、情報処理装置100は、対象101を誤って取引してしまう事態を回避することができる。
【0304】
情報処理装置100によれば、管理部130に問い合わせた結果、第1の証明書が、最新の証明書ではないと判定した場合、記憶部120を制御しないと判定することができる。情報処理装置100によれば、管理部130に問い合わせた結果、第1の証明書が、最新の証明書ではないと判定した場合、第2の証明書140を生成しないと判定することができる。これにより、情報処理装置100は、対象101を誤って取引してしまう事態を回避することができる。
【0305】
情報処理装置100によれば、第1の値に、順序保存暗号化された値を採用することができる。情報処理装置100によれば、第2の値121は、順序保存暗号化された値を採用することができる。情報処理装置100によれば、第3の値は、順序保存暗号化された値を採用することができる。情報処理装置100によれば、最新の値は、順序保存暗号化された値を採用することができる。これにより、情報処理装置100は、セキュリティを確保し易くすることができる。情報処理装置100は、値同士を比較する際にかかる処理時間の低減化を図ることができる。
【0306】
情報処理装置100によれば、対象101が、第1のメタバース内に存在する状況に適用することができる。情報処理装置100によれば、取引元が、第1のメタバース内に存在する状況に適用することができる。情報処理装置100によれば、取引先が、第2のメタバース内に存在する状況に適用することができる。情報処理装置100によれば、記憶部120が、第1のメタバースを実現する第1のシステム内に存在する、コンピュータとは異なる他のコンピュータによって実現される状況に適用することができる。情報処理装置100によれば、管理部130が、第1のシステム外に存在する、コンピュータとは異なる他のコンピュータによって実現される状況に適用することができる。情報処理装置100によれば、生成部が、第1のシステム外に存在する、コンピュータとは異なる他のコンピュータによって実現される状況に適用することができる。これにより、情報処理装置100は、第1のメタバースと第2のメタバースとの間で、対象101を取引可能にすることができる。
【0307】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0308】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0309】
(付記1)取引元に対応する第1の端末と通信することにより、取引する対象に対応付けられた、第1の値が付与された第1の証明書の指定を受け付け、
前記対象を取引する度に単調変化する第2の値を記憶する記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記第2の値を単調変化させた第3の値を記憶するよう、前記記憶部を制御し、
前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記対象に対応付けられた、前記第3の値が付与された第2の証明書を生成し、
生成した前記第2の証明書を、前記対象に対応付けられた最新の証明書を管理する管理部と、取引先に対応する第2の端末とに送信する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0310】
(付記2)前記第2の値は、前記対象を取引する度に単調増加する値であって、
前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値よりも大きいと判定した場合、前記最新の証明書に付与された最新の値を、前記管理部に問い合わせる、
処理を前記コンピュータに実行させ、
前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致すると判定した場合、前記第3の値を記憶するよう、前記記憶部を制御し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致すると判定した場合、前記第3の値が付与された前記第2の証明書を生成する、ことを特徴とする付記1に記載の情報処理プログラム。
【0311】
(付記3)前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値よりも小さいと判定した場合、前記指定を受け付けた前記第1の証明書が、前記最新の証明書であるか否かを、前記管理部に問い合わせる、
処理を前記コンピュータに実行させ、
前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書であると判定した場合、前記第3の値を記憶するよう、前記記憶部を制御し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書であると判定した場合、前記第3の値が付与された前記第2の証明書を生成する、ことを特徴とする付記2に記載の情報処理プログラム。
【0312】
(付記4)前記記憶部を利用して、前記指定を受け付けた前記第1の証明書に付与された前記第1の値が、前記第2の値と一致すると判定した場合、前記第3の値を、前記第2の値を単調変化させた前記第3の値を生成する生成部に問い合わせる、
処理を前記コンピュータに実行させ、
前記制御する処理は、
前記生成部に問い合わせた結果取得した前記第3の値を記憶するよう、前記記憶部を制御する、ことを特徴とする付記3に記載の情報処理プログラム。
【0313】
(付記5)前記制御する処理は、
前記生成部に問い合わせた結果、過去に前記第2の値を単調変化させた前記第3の値を生成済みであることを表す通知を受信した場合、前記記憶部を制御しないと判定し、
前記生成する処理は、
前記生成部に問い合わせた結果、前記通知を受信した場合、前記第2の証明書を生成しないと判定する、ことを特徴とする付記4に記載の情報処理プログラム。
【0314】
(付記6)前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致しないと判定した場合、前記記憶部を制御しないと判定し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の値が、前記最新の値と一致しないと判定した場合、前記第2の証明書を生成しないと判定する、ことを特徴とする付記5に記載の情報処理プログラム。
【0315】
(付記7)前記制御する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書ではないと判定した場合、前記記憶部を制御しないと判定し、
前記生成する処理は、
前記管理部に問い合わせた結果、前記第1の証明書が、前記最新の証明書ではないと判定した場合、前記第2の証明書を生成しないと判定する、ことを特徴とする付記6に記載の情報処理プログラム。
【0316】
(付記8)前記第1の値は、順序保存暗号化された値であり、
前記第2の値は、順序保存暗号化された値であり、
前記第3の値は、順序保存暗号化された値であり、
前記最新の値は、順序保存暗号化された値である、ことを特徴とする付記2~7のいずれか一つに記載の情報処理プログラム。
【0317】
(付記9)前記対象は、第1のメタバース内に存在し、
前記取引元は、前記第1のメタバース内に存在し、
前記取引先は、第2のメタバース内に存在し、
前記記憶部は、前記第1のメタバースを実現する第1のシステム内に存在する、前記コンピュータとは異なる他のコンピュータによって実現され、
前記管理部は、前記第1のシステム外に存在する、前記コンピュータとは異なる他のコンピュータによって実現され、
前記生成部は、前記第1のシステム外に存在する、前記コンピュータとは異なる他のコンピュータによって実現される、ことを特徴とする付記4~7のいずれか一つに記載の情報処理プログラム。
【符号の説明】
【0318】
100 情報処理装置
101 対象
111 第1の端末
112 第2の端末
120,800 記憶部
121 第2の値
130,810 管理部
131 証明書
140 第2の証明書
200 情報処理システム
201 管理装置
202 発行装置
203 生成装置
204 検証装置
205 記録装置
206 クライアント装置
210 ネットワーク
220 メタバース
300,400,600 バス
301,401,601 CPU
302,402,602 メモリ
303,403,603 ネットワークI/F
304,404,604 記録媒体I/F
305,405,605 記録媒体
410 ID情報管理テーブル
610 証明書情報管理テーブル
801 取得部
802 検証部
803 更新部
804 発行部
805 出力部
820 生成部
1010,1020,1100 内容
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26