(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146686
(43)【公開日】2024-10-15
(54)【発明の名称】情報処理装置、情報処理方法、及びサービス提供方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20241004BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023117449
(22)【出願日】2023-07-19
(62)【分割の表示】P 2023532793の分割
【原出願日】2023-03-31
(71)【出願人】
【識別番号】316014722
【氏名又は名称】株式会社VRC
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】謝 英弟
(72)【発明者】
【氏名】張 彦鵬
(72)【発明者】
【氏名】劉 雨佳
(72)【発明者】
【氏名】井口 道久
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC11
5L050CC11
(57)【要約】
【課題】3Dデータの真正性を認証する、改善された技術を提供する。
【解決手段】情報処理装置は、対象生体の体から取得した身体データを取得するデータ取得手段と、前記身体データの真正性を示す証明書データを取得する証明書取得手段と、(a)前記身体データの識別情報及び前記証明書データの識別情報、並びに(b)当該身体データの特徴情報及び当該証明書データの特徴情報を、証明書記憶手段に登録する登録手段と、前記身体データ及び前記証明書データを出力する出力手段とを有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
対象生体の体から取得した身体データを取得するデータ取得手段と、
前記身体データの真正性を示す証明書データを取得する証明書取得手段と、
(a)前記身体データの識別情報及び前記証明書データの識別情報、並びに(b)当該身体データの特徴情報及び当該証明書データの特徴情報を、証明書記憶手段に登録する登録手段と、
前記身体データ及び前記証明書データを出力する出力手段と
を有する情報処理装置。
【請求項2】
前記出力手段は、前記身体データ及び前記証明書データを対応付けて記憶するデータ記憶手段に対し、前記身体データ及び前記証明書データを出力する
請求項1に記載の情報処理装置。
【請求項3】
前記証明書記憶手段が分散台帳である
請求項1に記載の情報処理装置。
【請求項4】
前記分散台帳がブロックチェーン技術を用いた分散台帳である
請求項3に記載の情報処理装置。
【請求項5】
前記身体データの特徴情報が、当該身体データのインデックス情報を含む
請求項1に記載の情報処理装置。
【請求項6】
前記身体データの特徴情報が、前記情報処理装置の識別情報に基づいて生成される
請求項1に記載の情報処理装置。
【請求項7】
前記身体データの特徴情報が、当該身体データの用途を限定する情報に基づいて生成される
請求項1に記載の情報処理装置。
【請求項8】
前記身体データが、前記対象生体の3Dモデルであり、
前記身体データの特徴情報が、前記3Dモデルを構成するメッシュ又はポリゴンに関する情報に基づいて生成される
請求項1に記載の情報処理装置。
【請求項9】
前記対象生体に関連するメタ情報を取得するメタ情報取得手段を有し、
前記証明書データが、前記メタ情報に紐付く情報を含む
請求項1に記載の情報処理装置。
【請求項10】
前記メタ情報が、前記対象生体の生体情報である
請求項9に記載の情報処理装置。
【請求項11】
前記メタ情報が、前記対象生体の属性情報である
請求項9に記載の情報処理装置。
【請求項12】
前記メタ情報が、前記身体データの用途を限定する情報である
請求項9に記載の情報処理装置。
【請求項13】
前記出力手段は、前記証明書データ及び前記メタ情報を、前記身体データ及び前記証明書データを対応付けて記憶するデータ記憶手段に出力する
請求項9に記載の情報処理装置。
【請求項14】
前記データ記憶手段において、ある対象生体について異なるタイミングで取得された複数の身体データが登録され、
前記身体データの特徴情報が、複数の前記身体データのインデックス情報を含む
請求項2に記載の情報処理装置。
【請求項15】
対象生体の体から取得した身体データを取得するステップと、
前記身体データの真正性を示す証明書データを取得するステップと、
(a)前記身体データの識別情報及び前記証明書データの識別情報、並びに(b)当該身体データの特徴情報及び当該証明書データの特徴情報を、証明書記憶手段に登録するステップと、
前記身体データ及び前記証明書データを出力するステップと
をコンピュータが実行する情報処理方法。
【請求項16】
情報処理装置と、
証明書記憶手段と、
認証局と、
ユーザ端末と、
サービスサーバと
を有するコンピュータシステムにおいて、
前記証明書記憶手段が、身体データの真正性を示す証明書データの登録を受けるステップと、
前記ユーザ端末が、前記証明書データを前記サービスサーバに提示するステップと、
前記サービスサーバが、前記ユーザ端末において前記身体データを用いたサービスを提供するに際し、前記ユーザ端末から提示を受けた前記証明書データの認証を前記証明書記憶手段に要求するステップと、
前記証明書記憶手段が、登録されている証明書データを用いて、前記ユーザ端末から認証を要求された証明書データの認証をするステップと、
前記認証により前記身体データの真正性が確認された場合、前記サービスサーバが、前記ユーザ端末に対し前記サービスを提供するステップと
を有するサービス提供方法。
【請求項17】
前記認証により前記身体データの真正性が確認されなかった場合、前記サービスサーバが、前記ユーザ端末に対し前記サービスのうち一部機能を制限したサービスを提供する
請求項16に記載のサービス提供方法。
【請求項18】
前記認証局が、前記情報処理装置から前記身体データを受信するステップと、
前記認証局が、前記身体データの真正性を示す前記証明書データを生成するステップと、
を有する
請求項16に記載のサービス提供方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びサービス提供方法の技術に関する。
【背景技術】
【0002】
データの真正性を認証する技術が知られている。例えば特許文献1は、メタバースにおいてオブジェクトの真贋判断を行うシステムを開示している。
【0003】
特許文献2は、3DモデルデータをAPI(Application Programming Interface)応答として送信する技術を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第5159375号
【特許文献2】特許第6799883号
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1において、真正性の認証の対象となるのはメタバース内のオブジェクトはあくまで広義のデータを含むため専門性が乏しく、3Dデータを生成するスキャナにまで応用できる技術ではない。
【0006】
特許文献2には、3Dモデルデータの真正性を認証することは開示がない。
【0007】
上記の背景に鑑み、本発明は、3Dデータの真正性を認証する、改善された技術を提供する。
【課題を解決するための手段】
【0008】
本開示の一態様は、対象生体の体から取得した身体データを取得するデータ取得手段と、前記身体データの真正性を示す証明書データを取得する証明書取得手段と、(a)前記身体データの識別情報及び前記証明書データの識別情報、並びに(b)当該身体データの特徴情報及び当該証明書データの特徴情報を、証明書記憶手段に登録する登録手段と、前記身体データ及び前記証明書データを出力する出力手段とを有する情報処理装置を提供する。
【0009】
前記出力手段は、前記身体データ及び前記証明書データを対応付けて記憶するデータ記憶手段に対し、前記身体データ及び前記証明書データを出力してもよい。
【0010】
前記証明書記憶手段が分散台帳でもよい。
【0011】
前記分散台帳がブロックチェーン技術を用いた分散台帳でもよい。
【0012】
前記身体データの特徴情報が、当該身体データのインデックス情報を含んでもよい。
【0013】
前記身体データの特徴情報が、前記情報処理装置の識別情報に基づいて生成されてもよい。
【0014】
前記身体データの特徴情報が、当該身体データの用途を限定する情報に基づいて生成されてもよい。
【0015】
前記身体データが、前記対象生体の3Dモデルであり、前記身体データの特徴情報が、前記3Dモデルを構成するメッシュ又はポリゴンに関する情報に基づいて生成されてもよい。
【0016】
前記対象生体に関連するメタ情報を取得するメタ情報取得手段を有し、前記証明書データが、前記メタ情報に紐付く情報を含んでもよい。
【0017】
前記メタ情報が、前記対象生体の生体情報であってもよい。
【0018】
前記メタ情報が、前記対象生体の属性情報であってもよい。
【0019】
前記メタ情報が、前記身体データの用途を限定する情報であってもよい。
【0020】
前記出力手段は、前記証明書データ及び前記メタ情報を、前記身体データ及び前記証明書データを対応付けて記憶するデータ記憶手段に出力してもよい。
【0021】
前記データ記憶手段において、ある対象生体について異なるタイミングで取得された複数の身体データが登録され、前記身体データの特徴情報が、複数の前記身体データのインデックス情報を含んでもよい。
【0022】
本開示の別の態様は、対象生体の体から取得した身体データを取得するステップと、前記身体データの真正性を示す証明書データを取得するステップと、(a)前記身体データの識別情報及び前記証明書データの識別情報、並びに(b)当該身体データの特徴情報及び当該証明書データの特徴情報を、証明書記憶手段に登録するステップと、前記身体データ及び前記証明書データを出力するステップとをコンピュータが実行する情報処理方法を提供する。
【0023】
本開示の別の態様は、体スキャナと、証明書記憶手段と、認証局と、サーバ装置と、サービスサーバとを有するコンピュータシステムにおいて、前記証明書記憶手段が、身体データの真正性を示す証明書データの登録を受けるステップと、前記サーバ装置が、前記証明書データを前記サービスサーバに提示するステップと、前記サービスサーバが、前記サーバ装置において前記身体データを用いたサービスを提供するに際し、前記サーバ装置から提示を受けた前記証明書データの認証を前記証明書記憶手段に要求するステップと、前記証明書記憶手段が、登録されている証明書データを用いて、前記サーバ装置から認証を要求された証明書データの認証をするステップと、前記認証により前記身体データの真正性が確認された場合、前記サービスサーバが、前記サーバ装置に対し前記サービスを提供するステップとを有するサービス提供方法を提供する。
【0024】
前記認証により前記身体データの真正性が確認されなかった場合、前記サービスサーバが、前記サーバ装置に対し前記サービスのうち一部機能を制限したサービスを提供してもよい。
【0025】
前記認証局が、前記体スキャナから前記身体データを受信するステップと、前記認証局が、前記身体データの真正性を示す前記証明書データを生成するステップとを有してもよい。
【発明の効果】
【0026】
本発明によれば、3Dデータの真正性を認証する、改善された技術を提供することができる。
【図面の簡単な説明】
【0027】
【
図1】体スキャナシステム1のシステム概要を例示する図。
【
図2】体スキャナシステム1の構成概要を例示する図。
【
図3】体スキャナシステム1の機能構成を例示する図。
【
図4】体スキャナ10のハードウェア構成を例示する図。
【
図5】サーバ装置20のハードウェア構成を例示する図。
【
図6】ユーザ端末30のハードウェア構成を例示する図。
【
図7】体スキャナシステム1による3Dデータ生成方法を例示するシーケンスチャート。
【
図8】証明書情報を記録したデータベースを例示する図。
【
図9】体スキャナシステム1によるウォレットへの登録方法を例示するシーケンスチャート。
【
図10】体スキャナシステム1による3Dデータ利用方法を例示するシーケンスチャート。
【発明を実施するための形態】
【0028】
1.構成
図1は、体スキャナシステム1のシステム概要を例示する図である。体スキャナシステム1(コンピュータシステムの一例)において、前提となる技術基盤は、エンドユーザ(又は単にユーザ)に自身の3Dモデル(例えばアバター)のデータを提供するとともに、メタバースといった仮想空間内でのアバター利用を可能にする技術である。体スキャナシステム1の目的の一つは、ユーザがアバターを利用する上で、盗作利用又は不正利用によるなりすまし行為を抑止及び排除するために、データ改ざんが困難なブロックチェーン技術を利用することで、真贋(又は真正)判断を可能にするとともに、ユーザが利用するアバターの真正性を保証することである。この例において真正性とは、例えばユーザと、アバターとが、予め正規に対応付けられている状態において、常にこの対応関係の正しさが証明可能であるという意味を含む。
【0029】
この例において体スキャナシステム1の主体は、スキャナ、サーバ、エンドユーザ、アプリケーション、及びブロックチェーンネットワーク(又は単にブロックチェーン)からなる。なお、
図1は、あくまでシステムの概念図を表しているにすぎない。そのため、係る主体は、特定の装置、人、ソフトウェア、システム、又は技術基盤に限定されない種々の構成要素である。
【0030】
この例においてスキャナは、ユーザの3Dモデルデータを生成する。この例において3Dモデルデータは、アバター(すなわちユーザの身体的外観)を表すデータの一例である。この例においてアバターは、身体データによってユーザ本人を再現したコンピュータ上のオブジェクトといった概念を含む。アバターの生成時に、スキャナは、本人認証(例えば生体認証)に基づいたユーザ及びアバター双方の真正性を保証するためのアバター証明書(又は単に証明書)を取得する。この証明書は、例えば、一般的な電子証明書システムを含む認証局によって発行される(図示略)。サーバは、スキャナによって生成された3Dデータと、アバター証明書とを紐づけてデータベース等で記憶及び管理する。エンドユーザは、サービスを受ける対象であって、自身の3Dデータ及びアバター証明書をサーバからウォレットにデータ移行し、保管及び利用することができる。この例においてウォレットとは、3Dデータ及びアバター証明書をデータとして保管するための技術概念を含み、例えば、ユーザが保有する端末内にインストールされたアプリケーション(又はソフトウェア)をいう。アプリケーションは、ユーザが自身のアバターを利用するためのプラットフォームであって、例えば、メタバース(又は仮想空間)のようなサービスを提供する。アプリケーションにおいてユーザは、証明書を提示することで、自身の3Dデータの真正性が保証された状態で種々のサービスを利用することができる。ブロックチェーンネットワークは、ユーザが利用するアバターの真正性を保証するための認証システムである。この例においてブロックチェーンネットワークは、データの改ざん不可能性を有する技術基盤といった概念を含み、例えば、複数の端末(ノード)を利用して分散的にデータを処理及び記録するデータベースである。ブロックチェーンネットワークは、サーバ、エンドユーザ、及びアプリケーションに対し、相互的に機能する。例えば、サーバは、3Dデータ及びアバター証明書を紐づけてブロックチェーンネットワークに登録できる。エンドユーザは、3Dデータ、アバター証明書、及び個人情報IDを紐づけてブロックチェーンネットワークに登録できる。アプリケーションは、ユーザによって提示された証明書と、過去にそのユーザがブロックチェーンに登録した各種データとを、ブロックチェーンネットワークを介して比較及び検証することで、3Dデータがユーザ本人のものであるという真正認証を行うことができる。次に、体スキャナシステム1のシステム構成、ハードウェア構成、及びネットワーク構成を説明する。
【0031】
図2は、体スキャナシステム1の構成概要を例示する図である。この例において構成とは、システム構成、ハードウェア構成、及びネットワーク構成を含む。体スキャナシステム1は、体スキャナ10、サーバ装置20、ユーザ端末30、アプリケーション40、及びブロックチェーンネットワーク100を有する。また、装置、アプリケーション、又はシステム等の各々は、ネットワーク9を介して
図1のようにそれぞれ統合的に接続される。この例においてネットワーク9は、インターネット等のコンピュータネットワークである。
【0032】
この例において体スキャナ10は、ユーザの身体データを取得するための情報処理装置/画像処理装置であり、例えば3Dスキャナである。この例において身体データとは、ユーザ(生体)の3Dのジオメトリ、皮膚の質感、及び肌の状態・色といった、立体的な外観に関する情報を含む。これらの情報を取得するため、体スキャナ10は、設置された撮影装置によって、被写体の写真(具体的には、色(RGB)及び距離)を撮影する。これによって体スキャナ10は、身体データを取得することができる。ユーザは、体スキャナシステム1にこれらの身体データを提供することが可能である。体スキャナ10は、被写体であるユーザを撮影し、ユーザの3Dモデルデータを生成する。体スキャナ10は、3Dモデルの生成時に、3Dモデルの証明書データを取得する。この例において証明書は、ユーザ本人と、生成した3Dデータとを紐づけてその真正性を保証するためのデータである。証明書は、体スキャナ10によるユーザへの本人認証(例えば生体認証)に基づき、例えば、CA(Certificate Authorities)等の汎用的な電子証明書システムによって発行される。
【0033】
この例において体スキャナ10は、さらに、連携する各種センサを利用することで、体スキャナ10は、被写体の身体的外観だけでなく、体温マップ、血圧、体重、体脂肪、及び脈拍等の生体データ(身体データの一例)も取得可能である。
【0034】
この例においてサーバ装置20は、体スキャナ10から提供されたユーザの身体データ及び証明書データを紐づけてデータベース等で記憶及び管理する情報処理装置/サーバ装置である。サーバ装置20は、例えば、ユーザから提供された身体データ及び証明書データ等を管理する上で、ブロックチェーンネットワーク100に各種データを登録する。登録されたデータは、データ改ざんが困難な(又は極めて不可能に近い)ブロックチェーン技術によって、データの安全性が確保される。つまり、上述したデータの真正性も保証される。
【0035】
この例においてユーザ端末30は、エンドユーザが使用する端末装置(又は単に端末)である。ユーザは、この端末装置を介して市場にある種々のサービスを利用することができる。ユーザ端末30は、サーバ装置20と連動し、ユーザ自身の3Dデータ及び発行されたアバター証明書をサーバ装置20から端末内のウォレットにデータを移行させ、移行させたデータの保管及び利用を可能にする。この例においてウォレットとは、例えば、ユーザが使用する端末内のアプリケーションを指し、このアプリケーションに実装されるデータベースを含む。ウォレットは、ユーザ本人の個人IDに紐づけられたデータベースであり、原則としてユーザ本人のみが使用できる。この例において個人IDは、端末の利用者が、予め定められたユーザ本人であるとシステム上で認定するためのデータであり、例えば、ユーザ本人の名前、生年月日、電話番号、住所、メールアドレス、又はパスワード等の情報を含む。これらの情報は、例えば、複合的に組み合わされ、システムを介して、端末の利用者の確認及び認証が行われる。ウォレットは、ブロックチェーンネットワーク100と通信できる機能を有し、各種データに加え、暗号資産(仮想通貨)又はNFT(Non-Fungible Token)の登録が可能である。ユーザ端末30は、端末内のウォレットと、ユーザ本人の個人IDとを紐づけてブロックチェーンネットワーク100に登録する。登録されたデータは、サーバ装置20同様、データ改ざんが困難なブロックチェーン技術によって、データの安全性が確保される。つまり、端末内のウォレット、ウォレット内のデータ、及びユーザ本人の個人IDの真正性が保証される。
【0036】
この例においてアプリケーション40は、ユーザがユーザ端末30を介し、自身のアバターを利用するためのプラットフォームを指し、例えば、係るソフトウェア又はこのソフトウェアの機能を実現するためのハードウェア(例えば情報処理装置/サービスサーバ装置)を含む。アプリケーション40によって、例えば、メタバース、端末内のアプリ、又はVR/ARといった種々のサービスがユーザに提供される。アプリケーション40においてユーザは、端末(又はウォレット)内の証明書を提示することで、自身の3Dデータの真正性が保証された状態で上述したサービスを利用することができる。この例においてアプリケーション40は、ブロックチェーンネットワーク100を介して真正認証を行う。アプリケーション40は、ユーザによって提示された証明書と、過去にそのユーザがブロックチェーンネットワーク100に登録した証明書データとを、ブロックチェーンネットワーク100を介して比較及び検証することで、3Dデータがユーザ本人のものであるという真正認証を行うことができる。この真正認証による結果に関し、上記同様、データ改ざんが困難なブロックチェーン技術によって、認証結果の確実性が保証される。
【0037】
この例においてブロックチェーンネットワーク100は、データの改ざん不可能性を有する技術基盤及び技術分野といった概念を含む。この例においてデータの改ざん不可能性とは、一度でもブロックチェーンに登録(記録)されたデータは、それ以降、そのデータの削除又は書き換え等が技術的に不可能、又は、技術的に実現が困難であることを意味する。ブロックチェーンネットワーク100は、例えば、分散かつ自律的にデータを処理及び記録するコンピュータネットワークである。ブロックチェーンネットワーク100に係るシステムに登録されるデータは新たなブロックに書き込まれ、そのブロックは従前のブロックに接続されるが、その接続関係を示す情報もブロックに書き込まれる。新たなブロックは、システム内に存在するいくつもの端末に送信され、その端末において保存される。そのため、悪意ある者が、データの改ざんをしようとしても、ブロックチェーンネットワーク100のシステム内のほとんど全てのブロックを改ざんしなければならないため、事実上それは不可能に近くなる。上記のブロックチェーンネットワーク100の特徴は、体スキャナシステム1において、例えば、データの真正性を保証するために利用される。ブロックチェーンネットワーク100は、上述したようにサーバ装置20、ユーザ端末30、及びアプリケーション40に対し、相互的に機能する。
【0038】
図3は、体スキャナシステム1の機能構成を例示する図である。この実施形態では、体スキャナ10は、データ取得手段11、証明書取得手段12、出力手段13、メタ情報取得手段14、記憶手段18、及び制御手段19を有する。サーバ装置20は、登録手段21及びデータ記憶手段22を有する。ブロックチェーンネットワーク100は、証明書記憶手段110を有する。
【0039】
この例においてデータ取得手段11は、対象生体(又は単に生体)の体から取得した身体データを取得する。この例において生体は、人間だけでなく、サービスの対象となる生命体(例えばペット又は研究の被験体等の動物)を含む。この例において身体データは、ユーザの3Dのジオメトリ、皮膚の質感、及び肌の状態(例えば色)といった外観のデータだけでなく、体組成データ又は採血した血液分析データなどの生体データを含む。この例において体スキャナ10が、設置された撮影装置から、写真(RGB及び距離)のデータを取得(例えば撮影)することで、データ取得手段11は、身体データを取得することができる。この例において体スキャナ10は、データ取得手段11によって取得された身体データを用いて、ユーザの3Dモデルデータ、つまりアバターを生成する。なお、生成されたアバターも身体データの一例である。
【0040】
この例において証明書取得手段12は、データ取得手段11が取得した身体データの真正性を示す証明書データを取得する。この例において証明書データは、例えばアバター証明書であり、このアバター証明書は、体スキャナ10にて、ユーザのアバター生成時に、例えば、本人認証(生体認証)に基づき、認証局等を介して取得される。この例において生体認証は、指紋認証又は顔認証等である。生体認証に関し、ユーザ本人の固有の情報(指紋又は顔等)を基に認証が行われる。そのため、証明書データは、この本人認証に基づき、ユーザ本人と、本人のアバターとが、データ上紐づいていること、すなわち真正性を保証する。
【0041】
この例において出力手段13は、上述した身体データ及び証明書データをサーバ装置20に出力する。より具体的には、サーバ装置20において身体データ及び証明書データを対応付けて記憶するデータ記憶手段22に対し、身体データ及び証明書データを出力する。この例において出力手段13は、ネットワーク9を介して、サーバ装置20に身体データ及び証明書データを出力する。
【0042】
この例においてメタ情報取得手段14は、ユーザに関連するメタ情報を取得する。この例においてメタ情報は、ユーザの生体情報、属性情報、及び身体データの用途を限定する情報(限定情報)の少なくとも1種を含む。この例において生体情報は、遺伝子情報等である。この例において属性情報は、氏名、性別、年齢、既往歴、居住地、勤務地、又は生活習慣等、ユーザの属性を示す情報である。この例において限定情報は、3Dデータの用途限定、会員ランク、又は有効期限等である。すなわち、メタ情報は、ユーザ自身に付属する情報という概念を含む。この例においてメタ情報取得手段14によって取得されたメタ情報に関し、出力手段13は、ネットワーク9を介して、サーバ装置20にメタ情報及び証明書データを出力する。
【0043】
この例において記憶手段18は、各種のデータを記憶する。この例において制御手段19は、各種の制御を行う。
【0044】
この例において登録手段21は、出力手段13から、ネットワーク9を介して、サーバ装置20に出力された身体データ及び証明書データに関し、以下の情報を取得し、証明書記憶手段110に登録する。この例において登録手段21は、(a)身体データの識別情報及び証明書データの識別情報、並びに、(b)身体データの特徴情報及び証明書データの特徴情報を取得する。この例において識別情報は、身体データ及び証明書データをそれぞれ固有に区別するための情報、例えばIDを含む。この例において特徴情報は、例えば、身体データ又は証明書データのインデックス情報(例えばハッシュコード)である。ハッシュコードは、身体データ及び証明書データを、それぞれハッシュ関数を用いて生成したコード(すなわち整数値又は文字列等)を含む。なお、この識別情報は、身体データ及び証明書データを受信した際に、サーバ装置20によって割り当てられる。また、サーバ装置20は、身体データ及び証明書データのそれぞれに対しハッシュ関数を適用し、ハッシュコードを得る。識別情報及び特徴情報に関し、登録手段21は、これらの情報を証明書記憶手段110に登録する。
【0045】
この例においてデータ記憶手段22は、出力手段13から、ネットワーク9を介して、サーバ装置20に出力された身体データ及び証明書データを対応付けて記憶する。この例において身体データ及び証明書データに関し、ある一のユーザが、例えば、定期的に(つまり異なるタイミングで)体スキャナ10から身体データ及び証明書データを取得する場合、データ記憶手段22は、これら時系列的に複数の身体データ及び証明書データを対応付けて記憶する。これによって、例えば、ある一のユーザにおける身体データ(例えば3Dモデルの外観)の経時変化が分かりやすく記録されるようになる。この例においてデータ記憶手段22は、上記のデータに加え、出力手段13によって出力されたメタ情報も、同様に対応付けて記憶する。
【0046】
この例において証明書記憶手段110は、登録手段21によって、出力された(a)身体データの識別情報及び証明書データの識別情報、並びに、(b)身体データの特徴情報及び証明書データの特徴情報を登録する。この例において証明書記憶手段110は、データ等を分散的に記録及び管理する分散台帳であって、例えば、ブロックチェーン技術を用いた分散台帳である。そのため、上記識別情報及び特徴情報は、ブロックチェーンに記録されることで、削除及び書き換え等ができない状態でデータが保護される。このような特徴は、体スキャナシステム1において例えば、ユーザ本人と、本人のアバター(身体データの一例)とが、データ上紐づいていること、すなわち真正性を保証するために利用される。そのため、証明書記憶手段110は、各装置(例えばサーバ装置20)と連携して相互的に機能する。なお、証明書記憶手段110に登録されるデータは、身体データそのもの及び証明書データそのものである必要はなく、あくまでこれらのデータに紐づく上述した識別情報及び特徴情報が、証明書記憶手段110に登録される。
【0047】
図4は、体スキャナ10のハードウェア構成をそれぞれ例示する図である。この例において体スキャナ10は、CPU(Central Processing Unit)101、メモリ102、ストレージ103、通信IF104、撮影装置105、入力装置106、及び表示装置107を有するコンピュータ及びスキャナであり、例えば3Dスキャナ等である。CPU101は、プログラムに従って各種の演算を行うプロセッサである。メモリ102は、CPU101がプログラムを実行する際のワークエリアとして機能する主記憶装置であり、例えばRAM(Random Access Memory)を含む。ストレージ103は、各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばSSD(Solid State Drive)又はHDD(Hard Disc Drive)を含む。通信IF104は、所定の通信規格に従って他の装置と通信する装置であり、例えばNIC(Network Interface Card)を含む。
【0048】
撮影装置105は、被写体であるユーザを撮影し、各種身体データを取得するための装置であり、例えば、RGBカメラ及び距離センサである。入力装置106は、体スキャナ10に情報を入力するための装置であり、例えばタッチスクリーン(タッチパネル)、キーボード、マウス、又はポインティングデバイスを含む。表示装置107は情報を表示する装置であり、例えば有機EL(Electro Luminescence)ディスプレイ又は液晶ディスプレイを含む。体スキャナ10は、ユーザを撮影するための撮影室を有し、この撮影室内にカメラ・センサ類(撮影装置105の一例)及びディスプレイ(表示装置107の一例)等が設置される。
【0049】
この例においてストレージ103が記憶するプログラムには、コンピュータ及びスキャナを体スキャナシステム1における体スキャナ10として機能させるためのプログラム(以下「制御プログラム」という。)が含まれる。CPU101が制御プログラムを実行している状態において、CPU101、メモリ102、ストレージ103、通信IF104、撮影装置105、入力装置106、及び表示装置107は、体スキャナ10を動作させるための機能の一例である。CPU101は、証明書取得手段12、メタ情報取得手段14、及び制御手段19の一例である。メモリ102及びストレージ103の少なくとも一方は、記憶手段18の一例である。通信IF104は、出力手段13の一例である。撮影装置105は、データ取得手段11の一例である。
【0050】
図5は、サーバ装置20のハードウェア構成をそれぞれ例示する図である。この例においてサーバ装置20は、CPU201、メモリ202、ストレージ203、及び通信IF204を有する汎用的なコンピュータ(サーバ)である。CPU201は、プログラムに従って各種の演算を行うプロセッサである。メモリ202は、CPU201がプログラムを実行する際のワークエリアとして機能する主記憶装置であり、例えばRAMを含む。ストレージ203は、各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばSSD又はHDDを含む。通信IF204は、所定の通信規格に従って他の装置と通信する装置であり、例えば無線で通信する場合には無線チップを含む。
【0051】
この例においてストレージ203が記憶するプログラムには、コンピュータを体スキャナシステム1におけるサーバとして機能させるためのプログラム(以下「サーバプログラム」という。)が含まれる。CPU201がサーバプログラムを実行している状態において、CPU201、メモリ202、ストレージ203、及び通信IF204は、サーバ装置20を動作させるための機能の一例である。メモリ202及びストレージ203の少なくとも一方は、データ記憶手段22の一例である。通信IF204は、登録手段21の一例である。
【0052】
図6は、ユーザ端末30のハードウェア構成をそれぞれ例示する図である。この例においてユーザ端末30は、CPU301、メモリ302、ストレージ303、通信IF304、入力装置305、及び表示装置306を有するコンピュータであり、例えばスマートフォン、タブレット、又はパーソナルコンピュータである。CPU301は、プログラムに従って各種の演算を行うプロセッサである。メモリ302は、CPU301がプログラムを実行する際のワークエリアとして機能する主記憶装置であり、例えばRAMを含む。ストレージ303は、各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばSSD又はHDDを含む。通信IF304は、所定の通信規格に従って他の装置と通信する装置であり、例えば無線で通信する場合には無線チップを含む。入力装置305は、ユーザ端末30に情報を入力するための装置であり、例えばタッチスクリーン、キーボード、マウス、又はポインティングデバイスを含む。表示装置306は情報を表示する装置であり、例えば有機ELディスプレイ又は液晶ディスプレイを含む。
【0053】
また、ユーザ端末30は、例えば、仮想空間(例えばメタバース)内又は複合現実(MR:Mixed Reality)空間内におけるサービスを利用するための操作が可能なデバイス等を含み、例えばVR(Virtual Reality)ヘッドセット、VRゴーグル、又はスマートグラスを含む。この例において入力装置305は、例えば、VRコントローラを含む。表示装置306は、例えば、ヘッドマウントディスプレイ又は汎用ディスプレイを含む。
【0054】
この例においてストレージ303が記憶するプログラムには、コンピュータを体スキャナシステム1におけるクライアントとして機能させるためのプログラム(以下「クライアントプログラム」という。)が含まれる。CPU301がクライアントプログラムを実行している状態において、CPU301、メモリ302、ストレージ303、通信IF304、入力装置305、及び表示装置306は、ユーザ端末30を動作させるための機能の一例である。
【0055】
2.動作
ここまで体スキャナシステム1の構成を説明してきた。次に、体スキャナシステム1の動作を説明する。体スキャナシステム1は、例えば、エンドユーザに自身のアバターの3Dモデルデータを提供するとともに、メタバースといった仮想空間内でのアバター利用を可能にする。そのため、かかる体スキャナシステム1の目的の一つは、ユーザがアバターを利用する上で、盗作利用又は不正利用によるなりすまし行為を抑止及び排除するために、データ改ざんが困難なブロックチェーン技術を利用することで、真贋(又は真正)判断を可能にするとともに、ユーザが利用するアバターの真正性を保証することにある。
【0056】
上記の目的を達成するために、体スキャナシステム1は、体スキャナ10、サーバ装置20、ユーザ端末30、アプリケーション40、及びブロックチェーンネットワーク100等の主体と連動することで、システム全体として機能する。すなわち、体スキャナシステム1の動作は、各主体が制御するステップからなるシーケンスに細分化されるため、それぞれ、2-1節「3Dデータの生成」、2-2節「ウォレットへの登録」、及び2-3節「3Dデータの利用」に分割し、以下に説明する。
【0057】
2-1.3Dデータ生成
図7は、体スキャナシステム1による3Dデータ生成方法を例示するシーケンスチャートである。この例においてシーケンス動作の主体は、主として体スキャナ10、サーバ装置20、及びブロックチェーンネットワーク(略:BN)100が想定されている。ステップS101において、体スキャナ10は、ユーザの生体認証を行う。この例において生体認証は、本人認証の一例であり、指紋認証又は顔認証等である。生体認証に関し、ユーザ本人の固有の情報(例えば指紋又は顔等)を基に認証が行われる。ユーザが初めて体スキャナ10を利用する場合、この生体認証をもとにユーザ登録が行われる。ユーザが2回目以降に体スキャナ10を利用する場合、この生体認証をもとに正規のユーザかどうか認証が行われる。
【0058】
ステップS102において、体スキャナ10は、ユーザを撮影する。この例において体スキャナ10は、設置された撮影装置105によって、ユーザの写真を撮影する。撮影装置105は、(RGBデータ2次元画像)及び距離情報を取得する。これによって体スキャナ10は、ユーザの3Dモデルデータを生成することができる。体スキャナ10は、ユーザの撮影を行うとともに、体組成データ又は採血による血液分析データの取得を行ってもよい。
【0059】
ステップS103において、体スキャナ10は、ユーザのメタ情報を取得する。この例においてメタ情報の取得は、ユーザの入力によって行われる。ユーザは、例えば、入力装置106を介し、生体情報、属性情報、又は限定情報等の入力を行う。これによって体スキャナ10は、ユーザの遺伝子情報、氏名、性別、年齢、居住地、勤務地、3Dデータの用途、又は会員ランクといったユーザの個人情報を取得することができる。既存のユーザであれば、入力の簡略化又は省略化が行われてもよく、もしくは、データ更新等が行われてもよい。
【0060】
ステップS104において、体スキャナ10は、ユーザの3Dデータを生成する。この例において体スキャナ10は、ユーザの撮影(ステップS102)によって取得したRGB写真及び距離情報をもとに、ユーザの3Dモデルデータを生成する。体スキャナ10は、取得した2次元情報及び距離情報からユーザの3Dのジオメトリ及び皮膚の質感等をデータ上に再現する。体スキャナ10は、取得したRGB写真からユーザの肌の状態・色等をデータ上に再現する。
【0061】
ステップS105において、体スキャナ10は、証明書データを取得する。この例において証明書データは、通称アバター証明書とも呼ばれ、ユーザ本人に対し、例えば、上述したステップによって、少なくともユーザ本人の再現として生成されたアバターであること(つまり真正性)をデータ上証明するための情報である。この証明書データに関し、例えば、ユーザの生体認証が行われたとき(ステップS101)の認証結果を記録したデータと、ユーザの3Dデータを生成したとき(ステップS104)の生成記録のデータとを紐づけて証明書を発行する認証局を介して、体スキャナ10は、証明書データを取得する。
【0062】
ステップS106において、体スキャナ10は、サーバ装置20に登録要求を行う。この例において体スキャナ10の出力手段13は、取得した身体データ、証明書データ、及び/又はメタ情報をサーバ装置20に送信する。登録要求の際に体スキャナ10の出力手段13は、身体データ、証明書データ、及び/又はメタ情報が、ユーザ毎に対応付いた状態で出力する。
【0063】
ステップS107において、サーバ装置20は、体スキャナ10から登録要求が出力されると、データベースに、身体データ、証明書データ、及び/又はメタ情報の登録を行う。サーバ装置20のデータ記憶手段22は、受信した各種データをユーザ毎に対応付けて記憶する。この例においてユーザが、新規のユーザであった場合、データ記憶手段22は、新たに各種データの登録を行う。ユーザが、新規ではなく、例えば、二回目以降に、体スキャナ10から各種データを取得したユーザであった場合、データ記憶手段22は、既にデータベースに存在する複数の各種データを、ユーザ毎及び時系列毎に対応付けて記憶する。
【0064】
ステップS108において、サーバ装置20は、証明書情報を生成する。この例において証明書情報は、識別情報及び特徴情報を含む。この例において識別情報は、3DデータID及び証明書データIDを含む。この例において3DデータIDは、データベース上の3Dデータを特定するための固有のID情報である。この例において証明書データIDは、データベース上の証明書データを特定するための固有のID情報である。
【0065】
この例において特徴情報は、例えばハッシュコードである。この例においてハッシュコード(ハッシュ値)は、ハッシュ関数を用いて生成されたデータである。この例においてある一のデータが、ハッシュ関数を含む予め定められたアルゴリズムに入力されると、例えば「54g84754b5ad4f30」という文字列(ハッシュコード)が出力される。この文字列は、ある一のデータに相当する。次に、ある一のデータとは異なる別のデータが、このアルゴリズムに入力されると、例えば「a0g9f4sdvbd15fbh」という文字列が出力される。この文字列は、ある一のデータとは異なる別のデータに相当する文字列であって、ある一のデータに相当する「54g84754b5ad4f30」と固有に区別される。ハッシュ関数を含むアルゴリズムに入力されるデータに関し、同じデータから得られる文字列は常に同じであるとともに、データが僅かにでも異なれば、出力される文字列は全く異なるものになる。これらの特徴によって、ハッシュコードを比較するだけで元のデータが同一か否かを判断することが可能になる。
【0066】
この例において特徴情報(ハッシュコード)は、3Dデータのハッシュコード、証明書データのハッシュコード、3Dデータの属性情報のハッシュコード、及び被写体のメタ情報のハッシュコードを含む。この例において3Dデータの属性情報は、3DスキャナID、撮影日時、3Dデータの用途、3Dモデルのメッシュ・ポリゴン形状、メッシュ・ポリゴン数、及びメッシュ構造等である。この例においてメタ情報は、生体情報、属性情報、及び限定情報を含む。
【0067】
図8は、証明書情報を記録したデータベースを例示する図である。この例においてデータベース2001は、サーバ装置20が記録するデータベースの一例である。サーバ装置20は、データベース2001において、ユーザ毎に身体データ、証明書データ、及びメタ情報を記録し管理する。この例においてサーバ装置20は、データベース2001に記録されたデータに関し、上述した証明書情報を生成する。そのため、サーバ装置20は、特徴情報(ハッシュコード)を出力するための予め定められたアルゴリズム等を有する。この例において証明書情報データベース2002は、サーバ装置20が生成した証明書情報を記録するデータベースの一例である。証明書情報データベース2002は、データベース2001に対応するデータベースとして定義される。証明書情報データベース2002は、識別情報及び特徴情報を記録し、特徴情報は各データのハッシュコードを含む。この例においてハッシュコード「54g84754b5ad4f30」は、データベース2001の3Dデータをハッシュ化した文字列の一例である。同様に、ハッシュコード「a0g9f4sdvbd15fbh」は、データベース2001の証明書データをハッシュ化した文字列の一例である。
【0068】
図7に戻る。ステップS109において、サーバ装置20は、ブロックチェーンネットワーク100に登録要求を行う。この例においてサーバ装置20は、証明書情報データベース2002に記録されたデータ、つまり証明書情報を、登録要求の際にブロックチェーンネットワーク100に出力する。
【0069】
ステップS110において、ブロックチェーンネットワーク100は、サーバ装置20から登録要求が行われると、入力された証明書情報の登録を行う。続いてエンドユーザによるデータの保管方法について以下に説明する。
【0070】
2-2.ウォレットへの登録
図9は、体スキャナシステム1によるウォレットへの登録方法を例示するシーケンスチャートである。この例において動作の主体は、主としてサーバ装置20、ユーザ端末30、及びブロックチェーンネットワーク(略:BN)100が想定されている。
【0071】
ステップS201において、ユーザ端末30は、サーバ装置20にデータ要求を行う。この例においてデータ要求は、例えば、サーバ装置20のデータベース2001に記録されるデータのうち、身体データ、証明書データ、及びメタ情報等のデータをユーザ端末30に取得させるための処理をいう。
【0072】
ステップS202において、サーバ装置20は、ユーザ端末30の認証を行う。この例においてサーバ装置20は、ユーザ端末30のデータ要求の際(ステップS201)に、端末IDのような端末情報を、ユーザ端末30に出力させる。サーバ装置20は、この端末情報をもとに予め登録されているユーザの端末か否かを判断する認証処理を行う。
【0073】
ステップS203において、サーバ装置20は、ユーザ端末30の認証が完了すると、ユーザ端末30にデータを出力する。この例においてデータは、サーバ装置20のデータベース2001に記録されるデータのうち、身体データ、証明書データ、及びメタ情報等のデータを含む。
【0074】
ステップS204において、ユーザ端末30は、サーバ装置20から送信されたデータをウォレットに登録する。この例においてウォレットは、予めユーザ本人の個人IDに紐づけられたデータベース等を含む。この例において個人IDは、例えば、ユーザ本人の名前、生年月日、電話番号、住所、メールアドレス、又はパスワード等の情報を含む。ウォレットと、個人IDとの紐づけは、アプリケーションのインストール等の際に本人確認によって行われてもよい。データの安全性を考慮し、サーバ装置20から取得し、ウォレットに登録するデータは、証明書データのみ又は証明書データIDのみであってもよい。
【0075】
ステップS205において、ユーザ端末30は、ブロックチェーンネットワーク100に登録要求を行う。この例において登録要求は、ユーザ端末30のウォレット内の証明書データID及び個人IDをブロックチェーンネットワーク100に登録させるための処理をいう。この例においてユーザ端末30は、登録要求の際に、証明書データID及び個人IDを、ブロックチェーンネットワーク100に出力する。証明書データID及び個人ID以外にも、例えば、ユーザ端末30は、3DデータIDを出力してもよい。
【0076】
ステップS206において、ブロックチェーンネットワーク100は、ユーザ端末30から登録要求が出力されると、証明書データID及び個人IDの登録を行う。なお、ユーザ端末30のウォレットに紐づけられた個人IDの登録は事前に行われてもよい。ブロックチェーンネットワーク100は、証明書データID及び個人IDに加え、例えば、ユーザ端末30から出力された3DデータIDの登録を行ってもよい。
【0077】
以上より、ブロックチェーンネットワーク100に登録された証明書データID及び個人ID、並びに、個人IDに紐づけられたウォレット(又はウォレット内のデータ)は、ブロックチェーンネットワーク100によるデータ改ざんの困難な状態で安全に管理される。続いてユーザによるデータの利用方法について以下に説明する。
【0078】
2-3.3Dデータ利用
図10は、体スキャナシステム1による3Dデータ利用方法を例示するシーケンスチャートである。この例において動作の主体は、主としてサーバ装置20、ユーザ端末30、アプリケーション(略:APP)40、及びブロックチェーンネットワーク(略:BN)100が想定されている。
【0079】
ステップS301において、ユーザ端末30は、アプリケーション40にログイン要求を行う。この例においてログイン要求は、これらのアプリケーション40にアクセス(例えばログイン)するための処理を含む。この例においてユーザ端末30は、ログイン要求の際に、個人ID、証明書データID、及び/又は3DデータIDを、アプリケーション40に出力する。この出力は、アプリケーション40からの要求に応じて行われてもよく、いずれのIDが利用されてもよい。
【0080】
ステップS302において、アプリケーション40は、ユーザ端末30からログイン要求が出力されると、出力された個人ID、証明書データID、及び/又は3DデータIDをもとに、ブロックチェーンネットワーク100に認証要求を行う。この例においてアプリケーション40は、認証要求の際に、出力された個人ID、証明書データID、及び/又は3DデータIDを、ブロックチェーンネットワーク100に出力する。この出力は、ブロックチェーンネットワーク100からの要求に応じて行われてもよく、いずれのIDが利用されてもよい。
【0081】
ステップS303において、ブロックチェーンネットワーク100は、認証を行う。この例において認証は、ブロックチェーンネットワーク100に入力された各種データと、予めブロックチェーンネットワーク100に登録された各種データとを、比較・検証し、相違があるか否かを判定する処理を含む。ブロックチェーンネットワーク100は、アプリケーション40から出力された個人ID、証明書データID、及び/又は3DデータIDをもとに認証を行う。予めブロックチェーンネットワーク100に登録された各種データに関し、例えば、ステップS110において、サーバ装置20からブロックチェーンネットワーク100に登録された証明書情報のうち識別情報である証明書データID及び/又は3DデータIDを対象に、比較・検証が行われる。あるいは、ステップS206において、ユーザ端末30からブロックチェーンネットワーク100に登録された証明書データID及び/又は個人IDを対象に、比較・検証が行われる。認証処理は、いずれのIDが利用されてもよく、複数が組み合わされて利用されてもよい。
【0082】
ステップS304において、ブロックチェーンネットワーク100は、アプリケーション40に認証の結果を出力する。この例において結果は、認証の成功/失敗を含む。ステップS304よりも後のステップは、ブロックチェーンネットワーク100において、認証の成功/失敗に関わらず、以下の2通りの実装が可能である。1つ目は、(A)アプリケーション40からユーザ端末30に認証の結果を出力する実装である。2つ目は、(B)アプリケーション40からサーバ装置20に認証の結果を出力する実装である。(A)及び(B)の2つの実装に関し、それぞれの場合に分けて以下に説明する。はじめに実装(A)について説明する。
【0083】
ステップSA305において、アプリケーション40は、ユーザ端末30に認証の結果を出力する。この例において認証の結果が成功の場合、ユーザ端末30によるログイン要求に対し、アプリケーション40は、ログインを許可する。認証の結果が失敗の場合、ユーザ端末30によるログイン要求に対し、アプリケーション40は、ログインを許可しない。認証が成功した場合、アプリケーション40は、処理をステップSA306に進める。
【0084】
ステップSA306において、ユーザ端末30によるアプリケーション40へのログインが行われる場合、つまり出力された認証の結果が成功の場合、ユーザ端末30は、ウォレット内の3Dデータ、つまりアバターをアプリケーション40に出力する。これによって、ユーザ端末30は、ウォレット内のアバターを使用してアプリケーション40内の各種サービスを利用することができる。この例においてユーザ端末30を使用するユーザ及びアプリケーション40で使用するアバターは、ブロックチェーンネットワーク100によって行われた認証処理(ステップS303)によりそれぞれ真正性が保証される。予めブロックチェーンネットワーク100に登録されるデータのうち、個人IDは、ユーザ本人を保証するデータである。3DデータIDは、アバター本体を保証するデータである。証明書データIDは、ユーザ本人と、アバター本体とを直接紐づけ、両者の関係を保証するデータである。つまり、ユーザ及びアバターにおける真正性の保証に関し、上述したデータを用いたブロックチェーンネットワーク100による認証(ステップS303)が行われることで、盗作利用又は不正利用によるなりすまし行為を抑止及び排除することができる。次に実装(B)について説明する。
【0085】
ステップSB305において、アプリケーション40は、サーバ装置20に認証の結果を出力する。この例においてアプリケーション40は、サーバ装置20に認証の結果を出力するとともに、認証の結果に応じて、ユーザ端末30によるログイン要求に応答してもよい。この例において認証の結果が成功の場合、ユーザ端末30によるログイン要求に対し、アプリケーション40は、ログインを許可する。認証の結果が失敗の場合、ユーザ端末30によるログイン要求に対し、アプリケーション40は、ログインを許可しない。認証の結果が成功の場合、サーバ装置20は、処理をステップSB306に進める。
【0086】
ステップSB306において、出力された認証の結果が成功の場合、サーバ装置20は、3Dデータをアプリケーション40に出力する。この例においてサーバ装置20は、データベース2001内から、例えば、認証された3DデータIDに紐づく3Dデータを読み出し、アプリケーション40に出力する。出力されたアバターは、ログインが許可されたユーザ端末30と紐づけられる。この紐づけは、ID等による紐づけであってもよく、アプリケーション40による出力情報の履歴走査等によって紐づけられてもよい。これによって、ログインが許可されたユーザ端末30は、サーバ装置20内のアバターを使用してアプリケーション40内の各種サービスを利用することができる。
【0087】
以上説明した(A)及び(B)の2つの実装に関し、例えば、ユーザ端末30のウォレット内にアバターが保管される場合でも、あるいは、サーバ装置20のデータベース等にアバターが保管される場合でも、ユーザは自身のアバターをアプリケーション40内で使用することができる。さらに、この例においてユーザ本人及びアバター本体は、ブロックチェーンネットワーク100によって行われた認証処理(ステップS303)により、真正性が保証され、なりすまし行為等を抑止及び排除することができる。
【0088】
ステップS307において、アプリケーション40は、出力された3Dデータに対し処理を行う。この例において処理は、アプリケーション40内で、ユーザによるアバターの利用を可能にする動作を含む概念である。そのため、出力されたアバターのデータ処理、つまり、読み込み等に加え、ユーザ端末30のログイン処理又はユーザ本人及びアバター本体の紐づけ処理等が含まれてもよい。
【0089】
以上より、体スキャナシステム1は、ユーザがアバターを利用する上で、データ改ざんが困難なブロックチェーン技術を利用することで、ユーザが利用するアバターの真正性を保証するとともに、ID等によってシステム内での真正判断を可能にすることができる。
【0090】
3.変形例
本発明は上述した実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する事項のうち2つ以上の事項が組み合わされて適用されてもよい。
【0091】
(1)体スキャナシステム1
体スキャナシステム1におけるハードウェア構成及びネットワーク構成は、実施形態において例示したものに限定されない。要求される機能を実現できるものであれば、体スキャナシステム1はどのようなハードウェア構成及びネットワーク構成を有していてもよい。例えば、物理的に複数の装置が協働して体スキャナシステム1として機能してもよい。この例において上述した証明書データを発行することができるCA等の汎用的な電子証明書システム(認証局の一例)の機能の少なくとも一部が、体スキャナ10又はサーバ装置20に実装されてもよい(図示略)。
【0092】
(2)体スキャナ10
体スキャナ10の機能の少なくとも一部はサーバに実装されてもよい。このサーバは、例えば、物理サーバでもよいし、仮想サーバ(いわゆるクラウドを含む)であってもよい。また、機能要素とハードウェアとの対応関係は実施形態において例示したものに限定されない。例えば、実施形態において、体スキャナ10に実装されるものとして説明した機能の少なくとも一部が他の装置に実装されてもよいし、反対に、他の装置に実装されるものとして説明した機能の少なくとも一部が体スキャナ10に実装されてもよい。この例において体スキャナ10には、サーバ装置20の機能の少なくとも一部が実装されてもよい。これによって、体スキャナ10は、各種データの記録及び管理、証明書情報の生成、ブロックチェーンネットワーク100へのデータ登録、及びユーザ端末30へのデータ出力等を行うことができる。
【0093】
体スキャナ10は、メタ情報取得手段14を有していなくてもよい。メタ情報取得手段14が取得する生体情報、属性情報、及び限定情報は、セキュリティの観点から認証に利用されず、体スキャナ10において必須でなくてもよい。
【0094】
体スキャナ10のハードウェアの外観(構造)はどのような設計であってもよい。人体の精巧な3Dモデルを生成するため、例えば、複数のセンサを有するブース型の3Dスキャナであってもよい。体スキャナ10の撮影装置105又は入力装置106は、例えば、ユーザ本人の生体認証又は指紋認証の撮影部又は入力部として機能してもよい。この例において体スキャナ10は、顔認証スキャナ又は指紋認証スキャナを有してもよい。
【0095】
(3)サーバ装置20
サーバ装置20は、実施形態において例示したものに限定されない。サーバ装置20は、管理サーバに加え、証明書データを発行するための認証局として機能してもよく、上述した認証局に替えてサーバ装置20が証明書データを発行してもよい。この例においてサーバ装置20は、体スキャナ10から身体データを受信し、受信した身体データの真正性を示す証明書データを生成してもよい。
【0096】
実施形態において例示した体スキャナ10の機能の少なくとも一部が、サーバ装置20に実装されてもよい(図示略)。また、体スキャナ10の機能の少なくとも一部を備えたサーバ装置20を本発明における情報処理装置として扱ってもよい。
【0097】
(4)ブロックチェーンネットワーク100
ブロックチェーンネットワーク100におけるシステム、ノード、種類、及び構成等は、実施形態において例示したものに限定されない。ブロックチェーンネットワーク100は、例えば、パブリックブロックチェーン又はプライベートブロックチェーンであってもよい。ブロックチェーンネットワーク100は、予め定められたコンセンサスアルゴリズムを用いて実施形態において例示した機能を実現してもよい。コンセンサスアルゴリズム(又は合意形成方法)とは、例えば、データの登録履歴等のトランザクションの集合(いわゆるブロック)を新たに生成・追加する際のルールとなる予め定められたアルゴリズムであり、例えば、PoW(Proof of Work)又はPoS(Proof of Stake)等のコンセンサスアルゴリズムであってもよい。これらのコンセンサスアルゴリズムによって生成されたブロックの真正性(つまりデータが正しいか否か)は、例えば、マイニング(Mining)又はバリデーター(Validator)による検証等によって保証されてもよい。
【0098】
(5)ユーザ端末30
ユーザ端末30は、実施形態において例示したものに限定されない。ユーザ端末30内のウォレットは複数のアプリ(例えばアプリケーション40)で共用されてもよい。ウォレットは、証明書データに加え、クーポン、搭乗券、学生証、イベント入場券、映画入場券、公共交通機関の乗車券、及び小売カード等のデータを保存するソフトウェアであってもよい。
【0099】
(6)アプリケーション40
アプリケーション40は、実施形態において例示したものに限定されない。アプリケーション40は、サービスサーバとして機能するための対象であってもよく、その形態は、例えば、物理サーバでもよいし、仮想サーバであってもよい。アプリケーション40は、あくまでユーザが生成したアバターを使用するためのプラットフォームであって、そもそも体スキャナシステム1に含まれなくてもよい。
【0100】
アプリケーション40上で実行されるサービスに関し、ユーザが利用できるサービスは実施形態において例示したものに限定されない。ユーザは、アバターを使用して各種サービスを利用することができるが、アプリケーション40によって実現可能なサービスとして、仮想空間だけでなく、現実空間にまで及ぶサービスがアバターを介してユーザに利用されてもよい。この例においてサービスは、現実空間のサービスを提供するもの(例えばレストラン、フィットネス、又はアパレル等)と、仮想空間のサービスを提供するもの(例えばメタバース等)とに分けられてもよい。現実空間のサービスは、例えば、レストラン予約及びレビュー入力、又は、フィットネスジムの入会及びコース選択である。仮想空間のサービスは、例えば、VR体験又はNFTゲームである。あるいは、1つのプラットフォームで現実空間のサービス及び仮想空間のサービスが複合的に利用されてもよい。
【0101】
(7)3Dデータ生成方法
図7に示すシーケンスチャートはあくまで動作の一例を示すものであり、体スキャナシステム1の動作はこれに限定されない。図示した動作の一部が省略されてもよいし、順番が入れ替えられてもよいし、新たな動作が追加されてもよい。この例においてステップS101で生体認証が行われるが、生体認証とともに、生体データの少なくとも一部、例えば体温等の取得が行われてもよい。
【0102】
(8)ウォレットへの登録方法
図9に示すシーケンスチャートはあくまで動作の一例を示すものであり、体スキャナシステム1の動作はこれに限定されない。図示した動作の一部が省略されてもよいし、順番が入れ替えられてもよいし、新たな動作が追加されてもよい。この例においてステップS203にてユーザ端末30に出力されるデータに関し、サーバ装置20のデータベース2001に記録されるデータのうち、身体データ、証明書データ、及びメタ情報等のデータが含まれるが、セキュリティの観点から各データの特徴情報(ハッシュコード)のみが出力されてもよい。
【0103】
(9)3Dデータ利用方法
図10に示すシーケンスチャートはあくまで動作の一例を示すものであり、体スキャナシステム1の動作はこれに限定されない。図示した動作の一部が省略されてもよいし、順番が入れ替えられてもよいし、新たな動作が追加されてもよい。この例においてステップS303の認証により、身体データの真正性が確認されなかった場合、つまり、認証の結果が失敗の場合、アプリケーション40は、ユーザ端末30に対し、サービスのうち一部機能を制限したサービスを提供してもよい。この例においてアプリケーション40は、例えば、ユーザ端末30のログイン要求に対し、そのログインを制限し、本人確認又はパスワード等の再発行といった機能(サービス)を提供してもよい。
【0104】
(10)身体データ
身体データは、実施形態において例示したものに限定されない。実施形態では3Dモデル(身体データの一例)の生成に関し、アバターをユーザ本人と同等に再現する処理であったが、例えば、ユーザ本人と全く同じでなくてもよく、補正処理が行われた3Dモデルであってもよいし、デフォルメ化等によってユーザ本人が表現された3Dモデルであってもよい。
【0105】
体スキャナシステム1が取り扱う3Dモデルデータのデータ形式はどのような形式でもよい。例えば、3Dモデルデータが生体データ又は過去の3Dモデルデータを一体として含むデータ形式であってもよい。
【0106】
実施形態において例示した身体データに関し、身体データの少なくとも一部が、3Dモデルデータのみ、生体データのみ、又はメタ情報のみに替えられて発明が実施されてもよい。また、実施形態において例示した3Dモデルデータに関し、3Dモデルデータの少なくとも一部が、生体データのみに替えられて発明が実施されてもよい。また、実施形態において例示したメタ情報に関し、メタ情報の少なくとも一部が、生体情報のみ、属性情報のみ、又は限定情報のみに替えられて発明が実施されてもよい。
【0107】
(11)証明書データ
証明書データは、実施形態において例示したものに限定されない。証明書データは、どのようなアルゴリズムによって発行されてもよく、証明書データに含まれる情報は、暗号化されてもよい。証明書データは、暗号資産のようなトークン又はNFT等に置き換えられてもよく、これらによって発行及び流通が管理されてもよい。証明書データは、メタ情報(属性情報、生体情報、及び限定情報)に紐付く情報を含んでもよい。
【0108】
(12)証明書情報
証明書情報は、実施形態において例示したものに限定されない。実施形態では証明書情報は、(a)身体データの識別情報及び証明書データの識別情報、並びに(b)身体データの特徴情報及び証明書データの特徴情報を含むが、どちらか一方であってもよい。この例において(a)身体データの識別情報及び証明書データの識別情報のみが、サーバ装置20のデータベースに記録され、同時にブロックチェーンネットワーク100へ登録されてもよい。この例においてブロックチェーンネットワーク100に、ハッシュコードを出力するための機能(例えばアルゴリズム)が実装されてもよい。つまり、入力された(a)身体データの識別情報及び証明書データの識別情報を、ブロックチェーンネットワーク100がハッシュ化してもよく、ハッシュ化された特徴情報は、ブロックチェーンネットワーク100へ登録されるとともに、サーバ装置20へ出力されてもよい。サーバ装置20はブロックチェーンネットワーク100から出力された特徴情報をデータベースに記録してもよい。
【0109】
(13)識別情報
識別情報は、実施形態において例示したものに限定されない。
図8の証明書情報データベース2002において識別情報は、3DデータID及び証明書データIDを含むが、上記に加えメタ情報のIDが含まれてもよい。また、3DデータIDに替えて生体データのID及び/又はメタ情報のIDが採用されてもよい。さらにメタ情報のIDに替えて生体情報のID、属性情報のID、及び/又は限定情報のIDが採用されてもよい。
【0110】
(14)特徴情報
特徴情報は、実施形態において例示したものに限定されない。
図8の証明書情報データベース2002において特徴情報は、実施形態で説明した3Dデータのハッシュコード及び証明書データのハッシュコードを含む。その他に、体スキャナ10の識別情報、3Dモデルを構成するメッシュ及びポリゴン等に関する情報といった3Dデータの属性情報、又は、身体データの用途を限定する限定情報等に基づいて特徴情報(ハッシュコード)が生成されてもよい。
【0111】
実施形態では、特徴情報(b)を、例えば、ハッシュコード(インデックス情報の一例)として説明してきた。しかし、この例においてインデックス情報は、ハッシュコード(ハッシュ関数等を用いて生成された身体データ及び証明書データ)以外の方式によって生成された情報であってもよく、例えば、インデックス情報は、暗号化されたデータであってもよい。
【0112】
(15)ハッシュコード
ハッシュコードは、実施形態において例示したものに限定されない。ハッシュコードはどのようなアルゴリズムによって生成されてもよく、例えば、SHA-2(SHA-256)又はSHA-3等のアルゴリズムが採用されてもよい。
【0113】
(16)メタ情報
メタ情報は、実施形態において例示したものに限定されない。メタ情報の登録は、ユーザの入力によって行われるが、例えば、性別の入力を「男・女」いずれかではなく、「無回答」にし、その結果がメタ情報としてシステムに記録されてもよい。
【0114】
(17)その他
CPU201、CPU401、及び各装置によって実行される各種プログラムは、インターネット等のネットワークを介したダウンロードにより提供されるものであってもよいし、DVD-ROM等のコンピュータ読み取り可能な非一時的記録媒体に記録された状態で提供されてもよい。なお、各プロセッサは、CPUに代えて、例えば、MPU(Micro Processing Unit)又はGPU(Graphics Processing Unit)であってもよい。
【符号の説明】
【0115】
1…体スキャナシステム、10…体スキャナ、20…サーバ装置、30…ユーザ端末、40…アプリケーション、100…ブロックチェーンネットワーク、9…ネットワーク、11…データ取得手段、12…証明書取得手段、13…出力手段、14…メタ情報取得手段、18…記憶手段、19…制御手段、21…登録手段、22…データ記憶手段、110…証明書記憶手段、101…CPU、102…メモリ、103…ストレージ、104…通信IF、105…撮影装置、106…入力装置、107…表示装置、201…CPU、202…メモリ、203…ストレージ、204…通信IF、301…CPU、302…メモリ、303…ストレージ、304…通信IF、305…入力装置、306…表示装置、2001…データベース、2002…証明書情報データベース