(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-03-12
(45)【発行日】2024-03-21
(54)【発明の名称】通信端末、プログラム、及び情報処理方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240313BHJP
【FI】
G06Q50/10
(21)【出願番号】P 2022188770
(22)【出願日】2022-11-25
【審査請求日】2023-02-08
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】安酸 円秀
(72)【発明者】
【氏名】野口 勝義
(72)【発明者】
【氏名】薛 育敏
(72)【発明者】
【氏名】作田 宗臣
【審査官】星野 裕
(56)【参考文献】
【文献】韓国公開特許第10-2022-0097186(KR,A)
【文献】国際公開第2021/033262(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
ユーザに関するVC(Verifiable Credential)を記憶するVC記憶部と、
前記ユーザの指示に基づいて、前記ユーザが利用するサービスを提供するサービスバックエンドに対して、前記VCを送信するVC送信部と、
前記ユーザによる前記サービスの利用を証明するVCを前記サービスバックエンドから受信するVC受信部と
を備え、
前記VC送信部は、前記VC受信部が受信した前記VCを送信した前記サービスバックエンドとは異なるサービスバックエンドに対して、当該VCを送信する、通信端末。
【請求項2】
前記VC記憶部は、前記VC受信部が受信した前記VCを記憶し、
前記VC送信部は、前記VC記憶部に記憶されている複数の前記VCのうち、前記ユーザが利用するサービスに対応する前記VCを選択して、選択した前記VCを当該サービスを提供するサービスバックエンドに対して送信する、請求項1に記載の通信端末。
【請求項3】
前記VC送信部は、複数のサービスのそれぞれに対応するVCの属性情報が登録された属性登録情報に基づいて、前記ユーザが利用するサービスに対応する前記VCの属性を特定し、前記VC記憶部に記憶されている複数の前記VCのうち、属性が、特定した前記属性と一致する前記VCを選択する、請求項2に記載の通信端末。
【請求項4】
前記ユーザが要求する処理に対応する複数のサービスを特定するサービス特定部と、
前記サービス特定部によって特定された前記複数のサービスのうちの第1のサービスの第1のサービスバックエンドに対して、前記VC記憶部に記憶されている複数の前記VCのうち、前記第1のサービスに対応する前記VCを送信し、前記第1のサービスバックエンドから受信した、前記第1のサービスを利用したことを証明する第1のVCを、前記複数のサービスのうちの第2のサービスの第2のサービスバックエンドに対して自動的に送信するように前記VC送信部を制御する連携サービス制御部と
を備える、請求項1に記載の通信端末。
【請求項5】
前記ユーザのDID(Decentralized ID)を記憶するDID記憶部と、
前記ユーザのDIDを、前記ユーザの個人情報を証明するサービスを提供するサービスバックエンドに対して送信するDID送信部と
を備え、
前記VC受信部は、前記DIDを送信した前記サービスバックエンドから前記ユーザの個人情報を証明するVCを受信し、
前記VC記憶部は、前記VC受信部が受信した前記ユーザの個人情報を証明する前記VCを記憶する、請求項1に記載の通信端末。
【請求項6】
前記VC送信部は、それぞれが複数のサービスのそれぞれを利用する機能を有する複数のミニアプリを含むウォレットアプリの前記複数のミニアプリのうちの一のミニアプリの実行を前記ユーザによって指示された場合に、当該一のミニアプリが利用するサービスに対応する前記VCを当該サービスのサービスバックエンドに対して送信し、
前記VC受信部は、前記一のミニアプリが利用する前記サービスの前記サービスバックエンドにおいて前記VCが認証されたことに応じて当該サービスバックエンドが送信した、前記ユーザによる前記サービスの利用を証明する前記VCを受信する、請求項1に記載の通信端末。
【請求項7】
前記VC送信部は、レストランを予約するレストラン予約ミニアプリの実行を前記ユーザによって指示された場合に、レストラン予約サービスに対応する前記VCを、前記レストラン予約サービスのサービスバックエンドに対して送信し、
前記VC受信部は、前記レストラン予約サービスの前記サービスバックエンドにおいて前記VCが認証されたことに応じて当該サービスバックエンドが送信した、前記ユーザが予約したことを証明する前記VCを受信する、請求項6に記載の通信端末。
【請求項8】
前記VC送信部は、口コミ管理サービスのサービスバックエンドに対して、前記VC受信部が受信した前記ユーザが予約したことを証明する前記VCを送信する、請求項7に記載の通信端末。
【請求項9】
コンピュータを、請求項1から8のいずれか一項に記載の通信端末として機能させるためのプログラム。
【請求項10】
コンピュータによって実行される情報処理方法であって、
ユーザの指示に基づいて、前記ユーザが利用するサービスを提供するサービスバックエンドに対して、前記ユーザに関するVC(Verifiable Credential)を送信する第1VC送信ステップと、
前記ユーザによる前記サービスの利用を証明するVCを前記サービスバックエンドから受信するVC受信ステップと、
前記VC受信ステップにおいて受信した前記VCを送信した前記サービスバックエンドとは異なるサービスバックエンドに対して、当該VCを送信する第2VC送信ステップと
を備える情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信端末、プログラム、及び情報処理方法に関する。
【背景技術】
【0002】
従来、ユーザがサービスを利用する際には個人を特定するためのいわゆるIDが発行され、国や企業によって集中的に管理されている。そのような管理手法はCentralizedID(CID:中央集権型ID)として知られている。一方、個人情報の漏えい、ID枯渇等の問題が生じ得ることを背景として、ユーザが利用するサービスに係るIDをユーザ自身で管理する手法の開発が進められており、DecentralizedID(DID:分散型/自己主権型ID)として知られている(例えば、特許文献1参照)。
[先行技術文献]
[特許文献]
[特許文献1]国際公開第2021/033262号
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、通信端末が提供される。前記通信端末は、ユーザに関するVC(Verifiable Credential)を記憶するVC記憶部を備えてよい。前記通信端末は、前記ユーザの指示に基づいて、前記ユーザが利用するサービスを提供するサービスバックエンドに対して、前記VCを送信するVC送信部を備えてよい。前記通信端末は、前記ユーザによる前記サービスの利用を証明するVCを前記サービスバックエンドから受信するVC受信部を備えてよい。 前記VC送信部は、前記VC受信部が受信した前記VCを送信した前記サービスバックエンドとは異なるサービスバックエンドに対して、当該VCを送信する、通信端末。
【0004】
前記通信端末において、前記VC記憶部は、前記VC受信部が受信した前記VCを記憶してよく、前記VC送信部は、前記VC記憶部に記憶されている複数の前記VCのうち、前記ユーザが利用するサービスに対応する前記VCを選択して、選択した前記VCを当該サービスを提供するサービスバックエンドに対して送信してよい。前記VC送信部は、複数のサービスのそれぞれに対応するVCの属性情報が登録された属性登録情報に基づいて、前記ユーザが利用するサービスに対応する前記VCの属性を特定し、前記VC記憶部に記憶されている複数の前記VCのうち、属性が、特定した前記属性と一致する前記VCを選択してよい。
【0005】
前記いずれかの通信端末は、前記ユーザが要求する処理に対応する複数のサービスを特定するサービス特定部を備えてよい。前記いずれかの通信端末は、前記サービス特定部によって特定された前記複数のサービスのうちの第1のサービスの第1のサービスバックエンドに対して、前記VC記憶部に記憶されている複数の前記VCのうち、前記第1のサービスに対応する前記VCを送信し、前記第1のサービスバックエンドから受信した、前記第1のサービスを利用したことを証明する第1のVCを、前記複数のサービスのうちの第2のサービスの第2のサービスバックエンドに対して自動的に送信するように前記VC送信部を制御する連携サービス制御部を備えてよい。
【0006】
前記いずれかの通信端末は、前記ユーザのDID(Decentralized ID)を記憶するDID記憶部を備えてよい。前記いずれかの通信端末は、前記ユーザのDIDを、前記ユーザの個人情報を証明するサービスを提供するサービスバックエンドに対して送信するDID送信部を備えてよい。
【0007】
前記いずれかの通信端末において、前記VC受信部は、前記DIDを送信した前記サービスバックエンドから前記ユーザの個人情報を証明するVCを受信してよく、前記VC記憶部は、前記VC受信部が受信した前記ユーザの個人情報を証明する前記VCを記憶してよい。
【0008】
前記いずれかの通信端末において、前記VC送信部は、それぞれが複数のサービスのそれぞれを利用する機能を有する複数のミニアプリを含むウォレットアプリの前記複数のミニアプリのうちの一のミニアプリの実行を前記ユーザによって指示された場合に、当該一のミニアプリが利用するサービスに対応する前記VCを当該サービスのサービスバックエンドに対して送信してよく、前記VC受信部は、前記一のミニアプリが利用する前記サービスの前記サービスバックエンドにおいて前記VCが認証されたことに応じて当該サービスバックエンドが送信した、前記ユーザによる前記サービスの利用を証明する前記VCを受信してよい。前記VC送信部は、レストランを予約するレストラン予約ミニアプリの実行を前記ユーザによって指示された場合に、レストラン予約サービスに対応する前記VCを、前記レストラン予約サービスのサービスバックエンドに対して送信してよく、前記VC受信部は、前記レストラン予約サービスの前記サービスバックエンドにおいて前記VCが認証されたことに応じて当該サービスバックエンドが送信した、前記ユーザが予約したことを証明する前記VCを受信してよい。前記VC送信部は、口コミ管理サービスのサービスバックエンドに対して、前記VC受信部が受信した前記ユーザが予約したことを証明する前記VCを送信してよい。
【0009】
本発明の一実施態様によれば、コンピュータを、前記通信端末として機能させるためのプログラムが提供される。
【0010】
本発明の一実施態様によれば、コンピュータによって実行される情報処理方法が提供される。前記情報処理方法は、ユーザの指示に基づいて、前記ユーザが利用するサービスを提供するサービスバックエンドに対して、前記ユーザに関するVCを送信する第1VC送信ステップを備えてよい。前記情報処理方法は、前記ユーザによる前記サービスの利用を証明するVCを前記サービスバックエンドから受信するVC受信ステップを備えてよい。前記情報処理方法は、前記VC受信ステップにおいて受信した前記VCを送信した前記サービスバックエンドとは異なるサービスバックエンドに対して、当該VCを送信する第2VC送信ステップを備えてよい。
【0011】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0012】
【
図3】通信端末100の機能構成の一例を概略的に示す。
【
図4】通信端末100による処理の流れの一例を概略的に示す。
【発明を実施するための形態】
【0013】
DIDによる分散管理は上記のような問題を解決し得るが、ユーザが利用するサービスごとにIDを発行し、それぞれをユーザ自身で管理することとなると、ユーザの管理負担が過大なものとなるおそれがある。そのため、ユーザが利用するサービスに係るIDを横断的に管理し得る管理方法が求められている。本実施形態に係るシステム10は、そのような管理方法の提供に寄与する。
【0014】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0015】
図1は、システム10の一例を概略的に示す。システム10は、ユーザ102が利用するサービスを提供するサービスバックエンド300を含む。サービスバックエンド300が提供するサービスは、世の中に存在するあらゆる種類のサービスを含んでよい。システム10は、複数のサービスバックエンド300を含む。サービスバックエンド300は、サーバ等のコンピュータによって実現されてよい。
【0016】
システム10は、ネットワーク200の分散台帳210を利用する。システム10は、分散台帳210を含んでもよい。ネットワーク200は、任意のネットワークであってよい。ネットワーク200は、例えば、クラウドネットワークであったり、インターネットであったりしてよい。
【0017】
システム10は、サービスバックエンド300が提供するサービスを利用するアプリケーションを含んでよい。当該アプリケーションは、通信端末100にインストールされてよい。システム10は、当該アプリケーションを備える通信端末100を含んでもよい。
【0018】
通信端末100は、スマートフォンであってよい。通信端末100は、タブレット端末、ウェアラブル端末、及びPC(Personal Computer)等であってもよい。
【0019】
システム10は、当該アプリケーションを管理するサーバ400を含んでよい。サーバ400は、例えば、通信端末100からの要求に応じて、通信端末100に対してアプリケーションを提供する。サーバ400は、いわゆるアプリストアを構成するサーバであってよい。
【0020】
通信端末100は、サーバ400からアプリケーションを取得する。例えば、通信端末100は、サービスバックエンド300によって提供されるサービスを利用するためのミニアプリをサーバ400から取得する。通信端末100は、複数のミニアプリを取得してよい。通信端末100は、複数のミニアプリを管理するウォレットアプリを備えてよい。なお、通信端末100は、複数のサービスバックエンド300によって提供される複数のサービスをまとめて利用可能な一のアプリケーションを取得して用いてもよい。
【0021】
通信端末100は、ユーザ102のDIDと秘密鍵とを保管する。通信端末100は、DIDドキュメントを分散台帳210に公開する。DIDドキュメントは、ユーザ102の秘密鍵に対応する公開鍵と、ユーザ102のVCにアクセスするためのエンドポイントとを含んでよい。DIDドキュメントは、ユーザ102宛の情報の送信先となる送信エンドポイントを含んでよい。
【0022】
通信端末100は、ユーザ102のDIDを用いて、政府や行政等の公的機関のサービスバックエンド300から、ユーザ102の個人情報を証明するVCを取得して保管する。当該VCには、発行機関の署名が付与されている。ユーザ102の個人情報の例として、ユーザ102の年齢、名前、及び住所等の他、運転免許証、有資格証明書、学位証、賞歴、学習履歴、研修修了証、及び出生証明書等が挙げられるが、これらに限られない。
【0023】
本実施形態に係る通信端末100は、例えば、ユーザ102の個人情報を証明するVCを用いて、サービスバックエンド300による各種サービスを利用し、サービスバックエンド300から、サービスを利用したことを証明するVCを取得して保管してよい。
【0024】
例えば、通信端末100は、レストラン予約サービスを利用する場合において、当該サービスが、予約内容(時間、人数、コース内容、及び金額等)を示すVCと、年齢が20歳以上であることを証明するVCを必要としている場合に、ユーザ102の指示に従って、予約内容を示すVCを作成して、ユーザ102の署名を付与するとともに、保管しているVCのうち、ユーザ102の年齢を証明するVCを特定して、これらを当該サービスのサービスバックエンド300に送信する。そして、通信端末100は、当該サービスバックエンド300から、予約処理結果のVCを受信する。予約処理結果のVCは、例えば、予約の成功又は失敗と、予約時間、人数、及びコース内容等の情報と、予約者のDIDと、レストラン側の署名とを含む。予約が成功した場合、当該VCによって、予約したことを証明することが可能となる。
【0025】
本実施形態に係る通信端末100は、あるサービスを利用したことを証明するVCを、他のサービスに対して用いる。例えば、通信端末100は、レストランの店舗で、受け付け用アプリに、予約したことを証明するVCを提示することで、来店者が予約者自身であることを検証可能にする。また、例えば、通信端末100は、口コミサイトで口コミを投稿するときに、当該VCを提示することにより、投稿者が実際にそのレストランを利用したことを証明することで、信頼性を保証する。また、例えば、通信端末100は、送迎サービスの利用時に、当該VCを提示することにより、行先や乗車時刻・到着時刻等の入力を省略することを可能にできる。
【0026】
予約したことを証明するVCは、通信端末100に保管され、署名によって検証できるので、連携するサービスは、レストラン側と通信する必要がない。例えば、口コミサイトは、提示されたVCを検証するのに、レストラン側に確認する必要はない。
【0027】
これらにより、本実施形態に係るシステム10によれば、複数のサービスをまたいだデータ連携を活発化することができる。
【0028】
図2は、システム10の一具体例を概略的に示す。
図2に示す例において、通信端末100には、ウォレットアプリ104がインストールされている。ウォレットアプリ104は、複数のミニアプリ106を含み、ミニアプリ106は、ウォレットアプリ104において実行される。
【0029】
通信端末100は、ユーザ102のDIDを保管して管理する。通信端末100は、サービスバックエンド300から受信したVCを保管して管理する。
【0030】
サービスバックエンド300は、サービス提供者のDID及び秘密鍵を保管し、サービス提供者のDIDドキュメントを分散台帳210に公開する。
【0031】
ミニアプリストア410は、サーバ400において実現され、複数のミニアプリ106をユーザ102に対して提供する。サービスバックエンド300は、ミニアプリストア410に対してデータ登録を行う。サービスバックエンド300は、サービス提供者のDID、名称、及びホームページ等のサービス提供者に関する情報をミニアプリストア410に登録する。また、サービスバックエンド300は、サービス提供者が提供するサービスを利用するためのミニアプリをミニアプリストア410に登録する。ミニアプリストア410が管理するデータには、サービス提供者の署名に加えて、ミニアプリストア410の署名が付与される。
【0032】
通信端末100は、ミニアプリストア410からミニアプリを取得する。通信端末100は、取得したミニアプリを検証してよい。例えば、通信端末100は、分散台帳210を参照することによって、ミニアプリを検証する。例えば、通信端末100は、ミニアプリが利用する、カメラデータやカレンダーデータ等のデータを利用させてよいか等の検証を行う。検証の結果、利用可能と判定した場合、通信端末100は、取得したミニアプリをウォレットアプリ104内において有効とする。
【0033】
通信端末100は、例えば、ユーザ102の指示に従って、ユーザ102が利用することを希望するサービスに対応するサービスバックエンド300に対して、サービスの利用を要求する。サービスバックエンド300は、サービスの利用に必要となるVCを通信端末100に通知する。
【0034】
通信端末100は、保管しているVCから、サービスの利用に必要となるVCを特定して、サービスバックエンド300に送信することによって、サービスバックエンド300に提示する。サービスバックエンド300は、受信したVCを検証して、結果を示すVCを通信端末100に送信する。
【0035】
通信端末100は、サービスバックエンド300との間で、DID暗号通信(DIDComm)を実行してよい。通信端末100は、分散台帳210に公開されているサービスバックエンド300のDIDドキュメントを参照して、サービスバックエンド300の公開鍵と送信エンドポイントとを取得し、ユーザ102のメッセージ及び署名を、サービスバックエンド300の公開鍵で暗号化して、サービスバックエンド300のDIDを付与して、サービスバックエンド300の送信エンドポイントに送信する。サービスバックエンド300が通信端末100に対して情報を送信する際も、同様の処理を行う。これらにより、セキュリティを高めることが出来る。
【0036】
図3は、通信端末100の機能構成の一例を概略的に示す。通信端末100は、記憶部120、通信部130、受付部140、サービス特定部142、及び連携サービス制御部144を備える。なお、通信端末100がこれらの機能を備えることは必須とは限らない。
【0037】
記憶部120は、各種情報を記憶する。記憶部120は、DIDを記憶するDID記憶部122として機能してよい。記憶部120は、ユーザ102のDIDを記憶してよい。記憶部120は、ユーザ102の秘密鍵を記憶する。記憶部120は、VCを記憶するVC記憶部124として機能してよい。
【0038】
通信部130は、外部との通信を実行する。通信部130は、外部との間でDID暗号通信を実行してよい。例えば、通信部130は、サービスバックエンド300との間でDID暗号通信を実行する。
【0039】
通信部130は、記憶部120に記憶されているユーザ102を送信するDID送信部132として機能してよい。通信部130は、ユーザ102に関するVCを受信するVC受信部134として機能してよい。通信部130は、例えば、サービスバックエンド300からユーザ102に関するVCを受信する。通信部130が受信したユーザ102に関するVCは、記憶部120に記憶される。通信部130は、記憶部120に記憶されているユーザ102に関するVCを送信するVC送信部136として機能してよい。通信部130は、例えば、ユーザ102に関するVCをサービスバックエンド300に対して送信する。
【0040】
受付部140は、ユーザ102の指示を受け付ける。受付部140は、通信端末100が備える入力デバイスを用いたユーザ102の指示を受け付けてよい。
【0041】
通信部130は、例えば、受付部140が、ユーザ102の個人情報を証明するサービスの利用指示を受け付けたことに応じて、記憶部120に記憶されているユーザ102のDIDを、ユーザ102の個人情報を証明するサービスを提供するサービスバックエンド300に対して送信する。そして、通信部130は、DIDを送信したサービスバックエンド300から、ユーザ102の個人情報を証明するVCを受信する。記憶部120は、通信部130が受信したユーザ102の個人情報を証明するVCを記憶する。
【0042】
通信部130は、受付部140が受け付けたユーザ102の指示に基づいて、ユーザ102が利用するサービスを提供するサービスバックエンド300に対して、サービスの利用要求を送信する。通信部130は、利用要求に応じてサービスバックエンド300が送信した、サービスの利用に必要となるVCの情報を受信する。
【0043】
通信部130は、サービスの利用に必要となるVCをサービスバックエンド300に送信する。通信部130は、記憶部120に記憶されている複数のVCのうち、ユーザ102が利用するサービスに対応するVCを選択して、サービスバックエンド300に対して送信する。通信部130は、サービスバックエンド300から受信したサービスの利用に必要となるVCの情報を参照して、記憶部120に記憶されている複数のVCから、対応するVCを特定して、サービスバックエンド300に送信する。
【0044】
サービスバックエンド300は、通信端末100から受信したVCを検証して、結果を示すVCを通信端末100に送信する。サービスバックエンド300は、例えば、ユーザ102によるサービスの利用が可能と判定した場合に、ユーザ102によるサービスの利用を証明するVCを通信端末100に送信する。通信部130は、当該VCを受信して、記憶部120に記憶させる。
【0045】
このような処理を複数回に渡って実行することによって、記憶部120には、複数のVCが記憶される。
【0046】
通信部130は、あるVCを送信したサービスバックエンド300とは異なるサービスバックエンド300に対して、当該VCを送信する。例えば、通信部130は、第1のサービスの第1のサービスバックエンド300から、ユーザ102が第1のサービスを利用したことを証明するVCを受信して、記憶部120に記憶させる。そして、通信部130は、第2のサービスを利用するために、第1のサービスを利用したことを証明するVCが必要である場合に、第1のサービスを利用したことを証明するVCを、第2のサービスの第2のサービスバックエンド300に対して送信する。
【0047】
具体例として、第1のサービスが年齢を証明するサービスである場合、通信部130は、第1のサービスバックエンド300から、ユーザ102の年齢を証明するVCを受信して記憶部120に記憶させる。そして、第2のサービスを利用するために、ユーザ102の年齢を証明する必要がある場合に、通信部130は、ユーザ102の年齢を証明するVCを、第2のサービスバックエンド300に対して送信する。
【0048】
また、第1のサービスがレストランの予約サービスである場合、通信部130は、第1のサービスバックエンド300から、ユーザ102がレストランを予約したことを証明するVCを受信して記憶部120に記憶させる。そして、第2のサービスが、口コミサイトサービス等であって、ユーザ102がレストランを予約したことを証明する必要がある場合に、通信部130は、ユーザ102がレストランを予約したことを証明するVCを、第2のサービスバックエンド300に送信する。
【0049】
このように、あるサービスバックエンド300から取得したVCを、他のサービスバックエンド300のサービスを受けるために利用することによって、ユーザ102の利便性を向上させることができる。
【0050】
通信端末100は、あるサービスを利用するために必要となるVCの情報を、当該サービスのサービスバックエンド300から受信することによって、必要となるVCを判定してよい。それ以外に、通信端末100が、あるサービスを利用するために必要となるVCの情報を、自身で判断できるようにしてもよい。
【0051】
例えば、各VCに対して、VCの属性情報を付与するように構成する。属性情報は、対応するVCが、ユーザ102の何を証明するためのVCであるかを示してよい。属性情報は、例えば、VCが、ユーザ102の年齢等の、ユーザ102の個人情報を証明するためのVCであることを示したり、VCが、ユーザ102がある種のサービスを利用したことを証明するためのVCであることを示したりする。そして、記憶部120が、複数のサービスのそれぞれに対応するVCの属性情報が登録された属性登録情報を予め記憶しておく。通信部130は、受付部140が、ユーザ102が利用することを希望するサービスの指示を受け付けた場合に、属性登録情報を参照して、当該サービスに対応するVCの属性情報を特定し、記憶部120に記憶されている複数のVCのうち、属性情報が、特定した属性情報と一致するVCを特定して、当該サービスのサービスバックエンド300に対して送信する。
【0052】
通信端末100は、ユーザ102が要求する処理を実現するために、複数のサービスを利用しなければならない場合に、必要なサービスを自動的に判定して、複数のサービスを連続的に利用するように制御してもよい。このような処理の例として、確定申告及び改姓手続等が挙げられるが、これらに限られない。
【0053】
例えば、受付部140が、ユーザ102が要求する処理の指示を受け付ける。サービス特定部142は、ユーザ102が要求する処理に対応する複数のサービスを特定する。例えば、記憶部120が、複数の処理のそれぞれについて、対応する複数のサービスが登録された処理登録情報を記憶しておく。そして、サービス特定部142は、処理登録情報を参照することによって、ユーザ102が要求する処理に対応する複数のサービスを特定する。
【0054】
サービス特定部142によって、第1のサービスを利用した後に、第2のサービスを利用することが特定された場合に、連携サービス制御部144が、第1のサービスの第1のサービスバックエンド300に対して、記憶部120に記憶されている複数のVCのうち、第1のサービスに対応するVCを送信し、第1のサービスバックエンド300から受信した、第1のサービスを利用したことを証明する第1のVCを、第2のサービスバックエンド300に対して自動的に送信するように、通信部130を制御する。
【0055】
通信端末100は、
図2において例示したように、ウォレットアプリ104及び複数のミニアプリ106を備えてもよい。この場合、通信部130は、ウォレットアプリ104の複数のミニアプリ106のうちの一のミニアプリ106の実行をユーザ102によって指示された場合に、当該一のミニアプリ106が利用するサービスに対応するVCを、当該サービスのサービスバックエンド300に対して送信する。そして、通信部130は、当該サービスバックエンド300においてVCが認証されたことに応じて、当該サービスバックエンド300が送信した、ユーザ102による当該サービスの利用を証明するVCを受信して記憶部120に記憶させる。
【0056】
例えば、通信部130は、レストランを予約するレストラン予約ミニアプリの実行をユーザに102によって指示された場合に、レストラン予約サービスに対応するVCを、レストラン予約サービスのサービスバックエンド300に対して送信する。そして、通信部130は、レストラン予約サービスのサービスバックエンド300において当該VCが認証されたことに応じて当該サービスバックエンド300が送信した、ユーザ102が予約したことを証明するVCを受信して、記憶部120に記憶させる。レストラン予約サービスに対応するVCは、例えば、ユーザ102の年齢を証明するVCであってよい。
【0057】
通信部130は、レストラン予約サービス以外のサービスのサービスバックエンド300に対して、レストラン予約サービス以外のサービスのサービスバックエンド300から受信したユーザ102が予約したことを証明するVCを提示してよい。例えば、通信部130は、グルメ関連の口コミ管理サービスのサービスバックエンド300に対して、ユーザ102が予約したことを証明するVCを送信する。
【0058】
ユーザが予約したことを証明するVCは、レストランの位置情報を含んでよい。この場合、通信部130は、送迎サービスのサービスバックエンド300に対して、ユーザが予約したことを証明するVCを送信する。
【0059】
図4は、通信端末100による処理の流れの一例を概略的に示す。ここでは、レストラン予約ミニアプリによって、レストランの予約をする場合における通信端末100の処理内容について説明する。
【0060】
ステップ(ステップをSと省略して記載する場合がある。)102では、ウォレットアプリ104が、ユーザ102の指示に従って、レストラン予約ミニアプリを起動する。S104では、受付部140が、ユーザ102による、予約内容の入力を受け付ける。
【0061】
S106では、通信部130が、S104において入力された予約内容を含む予約要求を、レストラン予約サービスのサービスバックエンド300に送信する。サービスバックエンド300は、予約要求を受信したことに応じて、予約に必要なVCを示すVC情報を送信する。
【0062】
S108では、通信部130が、サービスバックエンド300によって送信されたVC情報を受信する。ここでは、VC情報が、ユーザ102の年齢を証明するVCを示す場合を例に挙げて説明する。通信部130は、記憶部120に、ユーザ102の年齢を証明するVCが有るか否かを判定する。有ると判定した場合、S114に進み、無いと判定した場合、S112に進む。
【0063】
S112では、通信部130が、ユーザ102の年齢を証明するVCを取得する処理を実行する。通信部130は、ユーザ102のDIDと、その他必要な情報があればその情報とを、ユーザ102の年齢を証明するサービスのサービスバックエンド300に対して送信し、当該サービスバックエンド300から、ユーザ102の年齢を証明するVCを受信する。
【0064】
S114では、通信部130が、ユーザ102の年齢を証明するVCを、レストラン予約サービスのサービスバックエンド300に送信する。レストラン予約サービスのサービスバックエンド300は、受信したVCを検証し、検証OKであり、かつ、予約内容から予約OKである場合に、ユーザ102の予約を行う。S116では、レストラン予約サービスのサービスバックエンド300が、予約したことを証明するVCを、通信端末100に送信する。通信部130は、受信した当該VCを、記憶部120に記憶させる。
【0065】
図5は、通信端末100として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0066】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0067】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0068】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0069】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0070】
プログラムは、ICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0071】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0072】
また、CPU1212は、記憶装置1224、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0073】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0074】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0075】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0076】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0077】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0078】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0079】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0080】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0081】
10 システム、100 通信端末、102 ユーザ、104 ウォレットアプリ、106 ミニアプリ、120 記憶部、122 DID記憶部、124 VC記憶部、130 通信部、132 DID送信部、134 VC受信部、136 VC送信部、140 受付部、142 サービス特定部、144 連携サービス制御部、200 ネットワーク、210 分散台帳、300 サービスバックエンド、400 サーバ、410 ミニアプリストア、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ
【要約】 (修正有)
【課題】コンピュータを、通信端末として機能させるためのプログラム及び情報処理方法を提供する。
【解決手段】ユーザ102が利用するサービスを提供するサービスバックエンド300及びネットワーク200の分散台帳210を含むシステム10において、通信端末100は、ユーザ102に関するVC(Verifiable Credential)を記憶するVC記憶部と、ユーザの指示に基づいて、ユーザが利用するサービスを提供するサービスバックエンドに対して、VCを送信するVC送信部と、ユーザによるサービスの利用を証明するVCをサービスバックエンドから受信するVC受信部とを備える。VC送信部は、前記VC受信部が受信した前記VCを送信したサービスバックエンドとは異なるサービスバックエンドに対して、当該VCを送信する。
【選択図】
図1