JP7267349B2 - プログラム、情報処理装置、及び情報処理方法 - Google Patents

プログラム、情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
JP7267349B2
JP7267349B2 JP2021120804A JP2021120804A JP7267349B2 JP 7267349 B2 JP7267349 B2 JP 7267349B2 JP 2021120804 A JP2021120804 A JP 2021120804A JP 2021120804 A JP2021120804 A JP 2021120804A JP 7267349 B2 JP7267349 B2 JP 7267349B2
Authority
JP
Japan
Prior art keywords
user
processing
electronic certificate
certification
virtual card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021120804A
Other languages
English (en)
Other versions
JP2023016468A (ja
Inventor
公照 間下
享 南井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JCB Co Ltd
Original Assignee
JCB Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JCB Co Ltd filed Critical JCB Co Ltd
Priority to JP2021120804A priority Critical patent/JP7267349B2/ja
Publication of JP2023016468A publication Critical patent/JP2023016468A/ja
Application granted granted Critical
Publication of JP7267349B2 publication Critical patent/JP7267349B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、プログラム、情報処理装置、及び情報処理方法に関する。
従来、電子マネーを保管するウォレット技術(以下、単に「ウォレット」ともいう)が知られている(特許文献1参照)。このウォレットでは、電子マネーの他に、クレジットカードやデビットカードなどの複数の決済手段それぞれのアカウント情報(例えば、クレジットカード番号やセキュリティコードなど)を保管することができる。
国際公開第2020/202311号
ウォレットが保管するもの(価値やアカウント情報など)について、その真正性を確保することが求められている。しかしながら、電子マネーなどの価値については、利用の際に、その真正性を容易に検証する手段がない。また、クレジットカードなどのアカウント情報については有効期限やセキュリティコードによってその真正性を検証できるが、利用の際、クレジットカードのこれらの情報を利用者が都度確認する必要がありその使い勝手に課題がある。
そこで、本発明は、上記課題を解決するため、ウォレットが保管するものの真正性を確保しつつ、使い勝手のよいウォレットを提供できるプログラム、情報処理装置、及び情報処理方法を提供することを目的とする。
本発明の一態様に係るプログラムは、ユーザが使用するユーザ装置に、ユーザが保有する価値またはデータ、もしくはユーザのアカウント情報である証明対象と、証明対象の電子証明書と、を有する複数の仮想カードを記憶するカード記憶機能と、ユーザまたはユーザにサービスを提供する事業者の事業者装置の少なくともいずれかから、証明対象の参照、更新、判定または移転の少なくともいずれかを含む証明対象に関する処理の処理要求を受け付ける受付機能と、処理要求に基づいて、カード記憶機能が記憶する複数の仮想カードの中から、要求された証明対象の仮想カードを抽出する抽出機能と、抽出された仮想カードの電子証明書が有効か否かを判定する判定機能と、電子証明書が有効である場合、処理要求の応答として、抽出された仮想カードの証明対象に関する処理を行う対象処理機能と、を実現させる。
本発明の一態様に係る情報処理装置は、ユーザが保有する価値またはデータ、もしくはユーザのアカウント情報である証明対象と、証明対象の電子証明書と、を有する複数の仮想カードを記憶するカード記憶部と、ユーザまたはユーザにサービスを提供する事業者の事業者装置の少なくともいずれかから、証明対象の参照、更新、判定または移転の少なくともいずれかを含む証明対象に関する処理の処理要求を受け付ける受付部と、処理要求に基づいて、カード記憶部が記憶する複数の仮想カードの中から、要求された証明対象の仮想カードを抽出する抽出部と、抽出された仮想カードの電子証明書が有効か否かを判定する判定部と、電子証明書が有効である場合、処理要求の応答として、抽出された仮想カードの証明対象に関する処理を行う対象処理部と、を備える。
本発明の一態様に係る情報処理方法は、ユーザが使用するユーザ装置が、ユーザが保有する価値またはデータ、もしくはユーザのアカウント情報である証明対象と、証明対象の電子証明書と、を有する複数の仮想カードを記憶し、ユーザまたはユーザにサービスを提供する事業者の事業者装置の少なくともいずれかから、証明対象の参照、更新、判定または移転の少なくともいずれかを含む証明対象に関する処理の処理要求を受け付け、処理要求に基づいて、記憶する複数の仮想カードの中から、要求された証明対象の仮想カードを抽出し、抽出された仮想カードの電子証明書が有効か否かを判定し、電子証明書が有効である場合、処理要求の応答として、抽出された仮想カードの証明対象に関する処理を行う。
本発明によれば、ウォレットが保管するものの真正性を確保しつつ、使い勝手のよいウォレットを提供できるプログラム、情報処理装置、及び情報処理方法を提供することができる。
本実施形態に係るウォレットシステムのシステム構成例を説明するための図である。 本実施形態に係るウォレットシステムの概要の一例を説明するための図である。 本実施形態に係るウォレットシステムの概要の一例を説明するための図である。 本実施形態に係るウォレットシステムの概要の一例を説明するための図である。 本実施形態に係るウォレットシステムの概要の一例を説明するための図である。 本実施形態に係るウォレットシステムの概要の一例を説明するための図である。 本実施形態に係るウォレットシステムの概要の一例を説明するための図である。 本実施形態に係るユーザ装置の機能構成の一例を示す図である。 本実施形態に係る中継サーバの機能構成の一例を示す図である。 本実施形態に係るウォレットシステムの動作例を示す図である。 実施形態に係る中継サーバ及びユーザ装置のハードウェア構成の一例を示す図である。
添付図面を参照して、本発明の好適な実施形態(以下、「本実施形態」という)について説明する。なお、各図において、同一の符号を付したものは、同一または同様の構成を有する。
本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や「手段」、「装置」、「システム」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や「手段」、「装置」、「システム」の機能が1つの物理的手段や装置により実現されても良い。
本実施形態のプログラムは、CD-ROMなどの光学ディスク、磁気ディスク、半導体メモリなどの各種の記憶媒体を通じて、または通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストールまたはダウンロードすることができる。
<1.システム構成>
図1を参照して、本実施形態に係るウォレットシステム1のシステム構成例を説明する。
ウォレットシステム1は、ユーザが保有する価値やデータ、ユーザのアカウント情報などの利用において、セキュアかつ自由な利用を実現するためのシステムである。具体的には、ウォレットシステム1は、ユーザが保有する価値やデータ、ユーザのアカウント情報(以下、総称して「証明対象」ともいう)をウォレット技術(以下、単に「ウォレット」ともいう)により保管させる。そして、ウォレットシステム1は、電子証明書の技術を用いて、ウォレットに保管されている証明対象の真正性を確保しつつ、これらの証明対象やその電子証明書をユーザや外部から利用可能にする。図1に示すように、ウォレットシステム1は、中継サーバ100と、ユーザが使用するユーザ装置200とを含む。
「アカウント情報」とは、ユーザが保有するアカウントに関する情報である。このアカウントは、例えば、サービスを利用するための権利(いわゆるユーザアカウント)やユーザ名義の金融口座などを含む。アカウント情報は、例えば、ユーザやアカウントを識別するための識別情報(ユーザIDや口座番号)、および/またはこの識別情報に関連付けられた認証情報(例えば、パスワードやセキュリティコードなど)を含む。
「価値」とは、例えば、電子マネーや仮想通貨(暗号資産)、または各社が発行するポイント(いわゆる企業通貨)や商品引換券などのトークンを含む。
[中継サーバ]
中継サーバ100は、ネットワークNを介して、ユーザ装置200と、事業者装置300や認証機関装置400を含む外部装置との通信が可能な情報処理装置である。中継サーバ100は、所定のプログラムを実行することにより、ユーザ装置200にインストールされた後述するウォレットアプリと外部装置とを中継するゲートウェイサーバの機能を実現する。また、中継サーバ100は、複数のユーザ装置200それぞれのウォレットアプリの管理を行うサーバ機能を実現する。なお、中継サーバ100は、ウォレットシステム1専用のハードウェアやOSなど(例えば、オンプレミス型のサーバ構成)を設けずに、クラウドサーバによるSaaS(Software as a Service)、Paas(Platform as a Service)、IaaS(Infrastructure as a Service)を適宜用いてもよい。
[ユーザ装置]
ユーザ装置200は、ユーザが使用する情報処理装置であり、例えば、スマートフォンやラップトップなどの端末装置である。ユーザ装置200は、情報処理機能が備わる装置であればどのような装置でもよく、他の例として、ドローン、車両、車載機器、家電、またはウェアラブル・デバイスなどであってもよい。ユーザ装置200は、所定のプログラムを実行することにより、中継サーバ100と接続して証明対象や電子証明書そのもの、またはこれらに関する情報を送受信したり、ユーザに対してこれらに関する情報を画面で表示したり、ユーザからの証明対象や電子証明書に対する指示を受け付けたりする。
「所定のプログラム」とは、例えば、ユーザ装置200にインストールされたウォレットシステム1専用のアプリケーションプログラム(以下、「ウォレットアプリ」ともいう)であってもよいし、汎用の端末装置であるユーザ装置200が標準的に備えるWebブラウザであってもよいし、それらの組み合わせであってもよい。本実施形態では、所定のプログラムがウォレットアプリとする例を説明する。
[ネットワーク]
ネットワークNは、無線ネットワークや有線ネットワークにより構成される。ネットワークNの一例としては、携帯電話網や、PHS(Personal Handy-phone System)網、無線LAN(Local Area Network)、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation)、WiMax(登録商標)、赤外線通信、Bluetooth(登録商標)、有線LAN、電話線、電灯線ネットワーク、IEEE1394などに準拠したネットワークがある。
[事業者装置]
事業者装置300は、サービスをユーザに提供する事業者(以下、単に「サービス事業者」ともいう)、いわゆるSP(Service Provider)の情報処理装置である。事業者装置300は、中継サーバ100を介して、ユーザ装置200のウォレットアプリに保管されている証明対象や電子証明書を取得し、サービスをユーザに提供する。例えば、サービス事業者は、いわゆるRP(Relying Party)であってもよく、この事業者装置300が取得した電子証明書などのユーザの認証情報を信頼してこのユーザにサービスを提供してもよい。
[認証機関装置]
認証機関装置400は、認証機関の情報処理装置である。認証機関は、公的な機関でも民間の機関でもよく、例えば、信頼できる第三者機関として、TTP(Trusted Third Party(認証局))や認証機関(CA:Certification Authority)であってもよい。また認証機関は、例えば、IdP(Identity Provider(SAML認証における認証情報の提供者))などであってもよい。認証機関装置400は、中継サーバ100を介して、ユーザ装置200からの発行要求に基づいて電子証明書を発行し、ユーザ装置200に提供する。
<2.概要>
図2~7を参照して、ウォレットシステム1の概要の一例を説明する。
<2-1.ウォレットの概要>
まず図2を参照して、ウォレットシステム1のウォレットの一例を説明する。図2に示すように、ウォレットシステム1では、ユーザが保有する価値やデータ、ユーザのアカウント情報などの証明対象それぞれが、その電子証明書と組み合わされて一枚の仮想カードとしてユーザ装置200のウォレットに格納される。
電子証明書は、証明対象それぞれについて、信頼できる第三者(認証機関)が間違いなく本物であることを電子的に証明するものである。電子証明書は、言い換えれば、証明対象それぞれが一定の真正性があることを電子的に証明するものである。この真正性とは、例えば、正当な権限において発行されたものであり、虚偽入力、書き換え、消去、および混同が防止されており、第三者から見て発行の責任の所在が明確であることをいう。電子証明書は、発行の責任者の電子署名(公開鍵を含む)を含んでもよい。
「仮想カード」は、証明対象とその電子証明書を有する仮想のカードである。仮想カードは、言い換えれば、ウォレットシステム1における操作単位、管理単位または処理単位の一つである。仮想カードは、例えば物理的なカードのように一つの記憶媒体の中に証明対象とその電子証明書などが記憶されていなくてもよい。例えば、仮想カードは、設定された仮想カードの定義それぞれの括りの中で、証明対象とその電子証明書が1対1~Nで関連付けられていればよい。具体的には、仮想カードを識別するカードIDと証明対象を識別する証明対象IDおよびその電子証明書を識別する証明書IDとが関連付けられてカード記憶部231に記憶されていればよい。なお、仮想カードは、例えば、証明対象のみ有していてもよく、その電子証明書は任意のタイミングで認証機関から取得したり自ら発行したりすればよい。
ウォレットシステム1では、ユーザ装置200のウォレットに格納された仮想カードそれぞれを、ユーザまたはサービス事業者を含む外部からの要求に応じて取り出すことができる。
一例として、仮想カードAに格納されている認証IDをユーザが参照(照会)したい場合、ウォレットシステム1は、この認証IDの参照要求を受け付けると、仮想カードAを取り出して認証IDの電子証明書が有効か否かを判定する。ウォレットシステム1は、この電子証明書が有効であると判定した場合には、認証IDをユーザが参照するための処理(例えば、ウォレットアプリの画面に表示させるなど)を行う。
一例として、価値取引サービスのアカウント情報(価値取引ID)を利用して価値取引サービスとは別のサービスにログインしたい場合(いわゆるシングルサインオン(SSO))にも、ウォレットシステム1を利用することができる。例えば、ウォレットシステム1は、仮想カードBに格納されている価値取引サービスの価値取引IDで別のサービスにログインするための認証要求を受け付けると、仮想カードBを取り出して価値取引IDの電子証明書が有効か否かを判定する。ウォレットシステム1は、この電子証明書が有効であると判定した場合には、別のサービスにログインさせるための処理(認証要求に対するログイン成功の応答)を行う。なお、この場合の電子証明書は、価値取引サービスが発行した認証情報であってもよい。
一例として、仮想カードCに格納されているユーザの属性情報(以下、単に「属性情報」ともいう)をユーザが更新したい場合、ウォレットシステム1は、この属性情報の更新要求を受け付けると、仮想カードCを取り出して属性情報の電子証明書が有効か否かを判定する。ウォレットシステム1は、この電子証明書が有効であると判定した場合には、更新要求に基づいた属性情報の更新処理を行う。
「属性情報」は、証明対象のデータの一つである。属性情報は、例えば、ユーザの個人情報(例えば、ユーザの氏名、電話番号、住所、メールアドレス、または生年月日など)や生体情報(顔画像データや指紋情報など)のように、特定の個人を識別できる情報であってもよい。また、属性情報は、ユーザの性質や特徴を表す情報であってもよく、例えば、年代、性別、または居住地などであってもよい。
証明対象のデータは、属性情報の他に、例えば、ユーザ装置200のデバイス情報(例えば、MACアドレス、IPアドレス、製造番号など)を含んでもよい。また、証明対象のデータは、ユーザに関する、位置情報(例えば、GPSデータなど)、Web履歴情報(例えば、閲覧履歴、検索履歴、Cookie情報など)、またはECサイトでの商品の購入履歴情報などを含んでもよい。
上記構成によれば、ウォレットシステム1は、ユーザに対して、自身が保有する価値やデータ、アカウント情報をウォレットにより管理させることができ、また現実世界での実際の財布のように、これらの真正性を確保しつつ、ユーザが自由にこれらを取り出すことができる。
<2-1.全体像>
次に図3を参照して、ウォレットシステム1の全体像の一例を説明する。なお、図3~7を参照して説明する例では、認証機関をIdPとし、認証機関装置400を「Identity Provider」と図3~7では表記する。さらに本例では、サービス事業者をRPとし、事業者装置300を「Relying Party」と図3~7では表記する。
図3に示すように、ウォレットシステム1全体が実現する機能は、以下のA)~L)の機能に分類される。ウォレットシステム1では、分類した機能間において互いに連携(情報連携および/または機能連携を含む。以下同じ。)を行う。以下、このA)~L)機能単位での情報のやり取りや処理を説明する。なお、例えば、A)の機能に分類されるサブ機能を、A1)、A2)などの連番を振って説明する。
A)格納機能:各証明対象と電子証明書を仮想カードに格納し、証明対象と電子証明書を有する仮想カードをウォレットに格納する機能
B)IF機能:ウォレットアプリと外部装置との間の連携を担う機能
C)ウォレットセキュリティ:ウォレットの情報セキュリティ(機密性、完全性(真正性を含む)、可用性)を確保するための機能
D)生成機能:証明対象の取得、電子証明書の発行や取得などを含む仮想カードの生成機能(他の仮想カードを利用して仮想カードの生成する機能を含む)
E)授受機能:外部装置からの仮想カードの授受機能(仮想カードに関する外部装置の代行機能を含む)
F)カードセキュリティ:仮想カードの情報セキュリティを確保するための機能
G)識別/判定機能:各仮想カードまたは各証明対象を識別したり、証明対象や電子証明書に対する各種判定したり、またこれらの識別または判定の結果に基づいて仮想カードを抽出する機能
H)組み合わせ/マスキング機能:複数の仮想カードを組み合わせたり仮想カードに含まれる情報の一部を秘匿(マスキング)したりする機能
I)利用制限機能:仮想カードの利用を制限する機能
J)自動失効機能:仮想カードが所定の条件を満たした場合自動的に失効させる機能
K)要求機能:外部装置に各種情報や各種処理を要求する機能
L)Fee精算機能:仮想カードの授受に関する精算処理を行う機能
[基本機能]
次に図4を参照して、ウォレットシステム1の基本となる、(ア)証明対象の電子証明書を取得してウォレットに格納する場面と、(イ)格納した電子証明書を利用する場面について説明する。
まず上記(ア)の場面について説明する。(1)<K1)発行要求機能>図4に示すように、ユーザ装置200の要求部215は、自動または手動により、認証機関装置400に対して、仮想カードに格納される証明対象の電子証明書の発行要求を、中継サーバ100に送信する。中継サーバ100のサーバ要求部112は、受信したこの発行要求を認証機関装置400に送信する。
(2)<D1)証明書授受機能>中継サーバ100のサーバ取得部113は、上記(1)の発行要求に対する応答として、認証機関装置400から提供された電子証明書を取得する。
(2)-a~c<D2)証明書発行代行機能>中継サーバ100のサーバ取得部113は、認証機関が電子証明書を発行できない場合、認証機関装置400からAPIなどを利用して情報を連携してもらい、連携された情報に基づいて電子証明書の発行を代行してもよい。(2)-a.具体的には、まず電子証明書の発行に必要な情報を認証機関装置400から中継サーバ100のサーバ取得部が取得する。(2)-b.次に中継サーバ100のサーバ発行部114は、取得したこの情報に基づいて電子証明書を発行する。(2)-c.次に中継サーバ100のサーバ取得部113は、この発行された電子証明書を取得する。
(3)・(4)<A1)証明書格納機能>ユーザ装置200の記憶部230は、中継サーバ100のサーバ取得部から連携され電子証明書を、仮想カードに格納するよう記憶する。
次に上記(イ)の場面について説明する。(5)<E1)カード授受>中継サーバ100のサーバ受付部111は、例えば、サービスAを提供するための事業者装置300から、証明対象に関する処理の処理要求(以下、単に「処理要求」ともいう)を受け付ける。本例では、証明対象を、サービスAと異なるサービスBのユーザのアカウント情報(ユーザIDとパスワード)とする。
<B2)外部連携機能>ユーザ装置200の受付部211は、中継サーバ100を介して事業者装置300からの処理要求を受け付ける。なお、この処理要求においては、特定の証明対象に限らず、特定の仮想カード、すなわち特定の証明対象とその電子証明書が要求されていてもよい。また、この処理要求においては、複数の仮想カードを要求してもよく、また複数の仮想カードの中で処理の優先順位が特定されていてもよい。
「証明対象に関する処理」とは、証明対象の参照、更新、判定または移転の少なくともいずれかを含む処理である。また、証明対象に関する処理は、例えば、証明対象の電子証明書の参照、更新、判定または移転の少なくともいずれかを含む処理であってもよい。また、証明対象に関する処理は、例えば、証明対象および/または電子証明書の削除を含んでもよい。本例では、証明対象に関する処理を、サービスBのユーザアカウントを利用してサービスAの提供を受けるためのユーザ認証における参照処理および判定処理とする。この参照処理および判定処理の処理要求には、サービスAの画面でユーザが入力したサービスBのアカウント情報を含んでもよい。
価値の移転とは、価値を所有する所有者が変わることをいう。価値の移転は、例えば、同じ人物が保有する複数の異なるアカウント(例えば、口座)間の移転を含んでもよい。価値の移転は、例えば、複数の口座間の送金取引、口座への入金/口座からの出金、ポイント変換、銀行口座を利用する決済取引(例えば、銀行振込)、またはデビットカードやクレジットカードもしくはプリペイドカードなどを利用したカード決済取引などを含んでもよい。
(6)<G1)識別/判定>ユーザ装置200の抽出部212は、要求されたサービスBのアカウント情報の仮想カードを取り出すために、複数の仮想カードの中から、要求されたサービスBのアカウント情報の仮想カードを抽出する。具体的には、抽出部212は、処理要求に含まれるアカウント情報と少なくとも一部が一致するアカウント情報を含む仮想カードを検索して抽出する。本例では、ウォレットに格納されている仮想カードの中から、処理要求に含まれるアカウント情報のユーザIDに一致するアカウント情報が抽出されたものとする。抽出された仮想カードは仮想カードBとする。なお他方、抽出部212は、ユーザIDが一致するアカウント情報が抽出されない場合、抽出エラーとする結果を、中継サーバ100を介して事業者装置300に返してもよい。
ユーザ装置200の対象処理部214は、ユーザのアカウント情報に関する処理を行う。対象処理部214は、例えば、抽出された仮想カードに含まれるアカウント情報のパスワードや電子証明書の参照処理を行う。サービスBのユーザアカウントの認証のために、対象処理部214は、参照処理の結果に基づいて、処理要求に含まれるアカウント情報のパスワードと、仮想カードBのアカウント情報のパスワードとが一致するかの判定処理を行う。対象処理部214は、これらの処理の結果、ユーザIDは一致するけれどもパスワードが不一致の場合、参照・判定エラーとする結果を、中継サーバ100を介して事業者装置300に返す。
(7)<G2)有効性判定機能>ユーザ装置200の判定部213は、処理要求に含まれるアカウント情報と抽出された仮想カードのアカウント情報とがユーザIDおよびパスワードがいずれも一致する場合、仮想カードBの電子証明書が有効か否かを判定する。本例では、電子証明書が有効であると判定されたものとする。他方、判定部213は、電子証明書が有効でないと判定された場合、有効性エラーとする結果を、中継サーバ100を介して事業者装置300に返す。なお、以降の説明では、認証成功として、処理要求に含まれるアカウント情報と仮想カードBのアカウント情報とにおいてユーザIDおよびパスワードがいずれも一致し、かつ仮想カードBの電子証明書が有効であった場合の処理の説明を行う。
(8)<B2)証明書連携機能>ユーザ装置200の通信部240は、有効性の判定結果として、事業者装置300に有効な電子証明書を連携するために、中継サーバ100のサーバ通信部140に送信する。サーバ通信部140は、事業者装置300に有効な電子証明書を提供する。事業者装置300は、上記の結果に基づいて、サービスAのユーザ認証を成功させ、ユーザにサービスAを提供する。他方、事業者装置300は、上記の各種エラー(抽出エラーや参照・判定エラー)が返された場合には、サービスAのユーザ認証を失敗させ、認証失敗の旨をユーザに通知してもよい。
(9)-a~c <E2)証明書変換機能>参照された電子証明書がサービスAの仕様に合わない場合、中継サーバ100の変換部115は、サービスAの仕様に合わせるよう電子証明書を変換する。変換部115は、例えば、サービスAのAPIで電子証明書を連携するにあたってこのAPIに電子証明書のデータ形式が合わない場合、データ形式をこのAPIに合うように変換してもよい。また、変換部115は、他の例として、サービスAに電子証明書を連携する際に、サービスAのAPIで連携する方法から他の連携方法に変換してもよい。他の連携方法とは、例えば、金融電文やメッセージ処理、FTPを利用したファイル転送処理などにより連携する方法であってもよい。
[スキーム]
次に図5を参照して、ウォレットシステム1を支える枠組みであるスキーム(以下、単に「スキーム」ともいう)について説明する。本例では、スキームは、中継サーバ100またはユーザ装置200の少なくともいずれかが備えているものとする。他の例として、スキームは、サードパーティシステムなどの外部装置に実装されていてもよいし、ウォレットシステム1におけるウォレットアプリとは異なるプログラムに実装されていてもよい。
(1)<F1)認証サイド確認機能>図5に示すように、中継サーバ100のサーバ確認部116は、認証機関サイドの仮想カードの生成処理(D)において、電子証明書の発行や取得の処理が適切に行われているか確認する。サーバ確認部116は、例えば、電子証明書に含まれる電子署名の公開鍵を取得し、取得した公開鍵による電子署名の検証を行うことで電子証明書の完全性を確保してもよい。ここで「電子署名の検証」とは、例えば、電子署名の復号化を行い、復号化した電子署名と電子証明書のハッシュ値とを照合することであってもよい。
(2)<F2)証明書確認機能>中継サーバ100のサーバ確認部116は、記憶部230に記憶されている仮想カードについて、証明対象や電子証明書の改ざんが行われていないこと、また、仮想カードに含まれる電子証明書が適切に発行されたものか確認する。サーバ確認部116は、例えば、ハッシュポインタ技術を利用したり上記のとおり電子証明書に含まれる電子署名を検証したりして、証明対象や電子証明書の改ざんを検出してもよい。
(3)<F3)サービスサイド確認機能>中継サーバ100のサーバ確認部116は、サービス事業者サイドの仮想カードの授受処理(E)において、この授受処理が適切に行われているか確認する。
(4)<B3)ユーザIF機能/C2)ウォレット利用権限確認機能>ユーザ装置200の受付部211は、ユーザからのウォレットアプリの利用要求(起動要求またはログイン要求)を受け付けた場合、このユーザのウォレットアプリに対する利用権限を確認する。受付部211は、例えば、ウォレットアプリのログイン要求に対して、ユーザIDおよびパスワード(OTP:one-timepasswardの発行やこの発行されたOTPのSMSへの送信を含む)による認証、またはFIDO(Fast IDentity Online)認証などのユーザ認証を行ってもよい。
(5)<C2)ウォレット異常検知機能>ユーザ装置200の確認部218は、ウォレットアプリの各機能において異常処理が行われていないことを確認する。確認部218は、例えば、仮想カードに対する各種処理の履歴情報などに基づいて学習された学習モデル(AI)を用いて、ウォレットの仮想カードに対する異常な操作などの異常処理を検知してもよい。
<A3)仮想カードの設定機能>ユーザ装置200の登録部219は、仮想カードに関する情報の各種設定登録を行う。
<B4)ホワイトレーベル機能>ユーザ装置200の受付部211が外部装置からの処理要求受け付けると、対象処理部214は、この処理要求に応じて証明対象に関する処理を実行する。対象処理部214は、例えば、外部装置からの処理要求に応じてウォレットアプリの機能を提供するにあたって、SDKのライブラリやAPIなどによるいわゆるホワイトレーベル機能を実現してもよい。また、対象処理部214が行う外部装置への連携の他の例として、EDI(電子データ交換:Electronic Data Interchange)、メッセージ(電文)送信、メールやその他の手段によるデータファイルの送信などにより外部装置に処理要求に対する処理結果を連携してもよい。
<M)Fee精算機能>中継サーバ100のサーバ登録部117またはユーザ装置200の登録部219は、ウォレットと外部装置との間の仮想カードの連携に関する精算情報(例えば、精算条件など)を登録する。中継サーバ100の精算部118は、この設定された精算情報に基づいてこの仮想カードの連携に関する精算処理を行い、精算処理の結果に基づいて決済をするための処理を行う。
上記構成によれば、ウォレットシステム1は、証明対象の有効な電子証明書によりその真正性を確保しつつ、ユーザや外部からの要求に応じて証明対象に関する処理を行うことができる。例えば、サービスの提供を受けるためのシングルサインオンの際のSAML認証ではIdPなどの認証機関との通信が必要になるが、上記構成によれば、ユーザ装置200内に閉じて、またはユーザ装置200と事象者装置300との間の通信だけで、証明対象に関する処理を行うために必要な認証を行うことができる。このため、上記構成によれば、ウォレットシステム1は、ウォレットが保管するものの真正性を確保しつつ、使い勝手のよいウォレットを提供できる。
[設定登録機能]
次に図6を参照して、ウォレットシステム1の基本機能を利用するにあたっての各種設定登録と登録内容の利用について説明する。
(1)<G1)定義情報の登録・参照機能>図6に示すように、中継サーバ100のサーバ登録部117は、認証機関装置400や事業者装置300から受け付けた証明対象の定義情報をサーバ記憶部130またはユーザ装置200の記憶部230に登録する。また、中継サーバ100のサーバ対象処理部119は、認証機関装置400からの処理要求に基づいて、定義情報の参照処理を実行し、その処理結果を認証機関装置400に連携してもよい。
「定義情報」とは、仮想カード、もしくは証明対象または電子証明書を定義する情報である。定義情報は、例えば、証明対象の種別を含んでもよい。証明対象の種別とは、例えば、(ア)認証用ID、(イ)決済用ID、(ウ)属性情報、(エ)価値、(オ)データなどの種別である。また、定義情報は、例えば、証明対象に関する処理の実行可能な処理態様、もしくは仮想カードの利用条件または失効条件の少なくともいずれかを含んでもよい。また、定義情報は、例えば、仮想カード、証明対象または電子証明書の少なくともいずれかのステータス(例えば、証明対象の参照回数または更新回数、もしくは利用(本人確認)済みの電子証明書か否かを示す情報など)を含んでもよい。
「証明対象に関する処理の実行可能な処理態様」は、例えば、以下の(ア)~(ウ)の少なくともいずれかの許容する処理態様を規定する。
(ア)事業者装置300の処理要求に応じて証明対象の参照処理を実行しその結果を連携する
(イ)事業者装置300の処理要求に応じて他のアカウントなどに対する価値またはデータの移転処理を実行する
(ウ)事業者装置300の処理要求に応じて証明対象に対する判定処理を実行し、その判定結果のみ連携する
「仮想カードの利用条件」は、例えば、利用回数、利用期間、利用先、または利用する仮想カードの組み合わせの少なくともいずれかを制限する制限条件を含む。
例えば、無制限に仮想カードの利用を許容すると証明対象の情報セキュリティ(機密性と完全性)の確保が難しくなる。上記構成によれば、仮想カードの利用に制限を設けることで、証明対象の情報セキュリティを確保することができる。
「仮想カードの失効条件」は、仮想カードが失効する条件であり、例えば、失効期日、仮想カードの利用限度回数の少なくともいずれかを満たすと仮想カードを失効されるものであってもよい。また、失効条件は、例えば、仮想カードが有する証明対象が決済手段のアカウント情報の場合、仮想カードによるその決済手段の利用限度額の条件であってもよい。
(2)<I2)制限情報の登録機能>中継サーバ100のサーバ登録部117は、ユーザまたは外部装置からの要求に基づいて、仮想カードの生成を制限する生成制限条件を登録する。この生成制限条件は、例えば、電子証明書の発行要求の回数、発行要求の期間、発行要求先、発行回数、発行頻度の少なくともいずれかを制限する条件を含む。サーバ登録部117は、例えば、生成制限条件を、D)生成機能に適用するようサーバ記憶部130に登録してもよい。
(2)<G2)定義情報などの記憶・照会機能>中継サーバ100のサーバ記憶部130またはユーザ装置200の記憶部230は、中継サーバ100のサーバ登録部117からの定義情報の登録要求に基づいて、ウォレットに保管する仮想カードの中で該当する仮想カードに関連づけて記憶する。中継サーバ100のサーバ記憶部130またはユーザ装置200の記憶部230は、これらの記憶した定義情報を、ユーザや外部装置からの要求に基づいて参照して、その参照の結果を連携する。
(3)・(4)<G3)定義情報の登録・参照機能>ユーザ装置200の登録部219は、受付部211が受け付けたユーザからの定義情報(利用条件含む)の登録要求または更新要求に基づいて、サーバ記憶部130または記憶部230に定義情報を登録し、登録された定義情報を更新する。ユーザ装置200の対象処理部214は、受付部211が受け付けたユーザからの定義情報の参照要求に基づいて、サーバ記憶部130または記憶部230に記憶された定義情報の参照処理を行う。その処理結果をユーザに提供する(例えば、ウォレットアプリの画面に出力させる)。
(5)<B3)ユーザIF機能/E)授受機能/H1)仮想カードの組み合わせ機能>ユーザ装置200の受付部211または中継サーバ100のサーバ受付部111は、ユーザまたは外部装置から、複数の証明対象の組み合わせ、または1以上の証明対象と1以上の他の証明対象の電子証明書との組み合わせに関する処理の要求(以下、「組み合わせ処理要求」ともいう)を受け付けてもよい。この際、抽出部212は、組み合わせ処理要求に基づいて、カード記憶部231が記憶する複数の仮想カードの中から、要求された組み合わせに対応する複数の仮想カードを抽出する。対象処理部214は、組み合わせ処理要求の応答として、抽出された複数の仮想カードを組み合わせて、要求された組み合わせに関する処理を行う。
(6)<B3)ユーザIF機能/E)授受機能/H2)仮想カードのマスキング機能>ユーザ装置200の対象処理部214は、ユーザまたは外部装置からの要求に基づいて、抽出された仮想カードの証明対象および/または電子証明書の少なくとも一部を秘匿する。
(7)(8)<J1)自動失効機能>ユーザ装置200の登録部219は、定義情報に含まれる失効条件を満たした仮想カードを失効登録(例えば、失効を示す情報を仮想カードに格納するなど)してもよい。また他の例として、ユーザ装置200の抽出部212は、抽出対象の仮想カードが失効条件を満たす場合に、抽出を取り止めてもよい。
[付加機能]
次に図7を参照して、ウォレットシステム1の基本機能の付加機能について説明する。
図7に示すように、(1)<E1)カード授受>中継サーバ100のサーバ受付部111は、例えば、サービスCを提供するための事業者装置300から、第1仮想カードとして仮想カードC(属性情報とその電子証明書)の参照要求を受け付ける。
<B2)外部連携機能>ユーザ装置200の受付部211は、中継サーバ100を介して事業者装置300からの処理要求を受け付ける。
(3)<G)識別・判定機能>ユーザ装置200の抽出部212は、要求された属性情報の仮想カードを取り出すために、複数の仮想カードの中から、要求された属性情報の仮想カードCを抽出する。具体的には、処理要求に含まれるキーワード(例えば、ユーザのメールアドレスなど)と一致する属性を含む仮想カードCを検索して抽出する。
ユーザ装置200の対象処理部214は、属性情報に関する処理として、属性情報の参照処理を行う。対象処理部214は、参照処理の結果に基づいて、電子証明書が格納されていないことを判定する。
(4)<K1)発行要求機能>ユーザ装置200の要求部215は、自動または手動により、認証機関装置400に対して、仮想カードCの属性情報の電子証明書の発行要求を、中継サーバ100に送信する。中継サーバ100のサーバ要求部112は、受信したこの発行要求を認証機関装置400に送信する。また要求部215は、認証機関における電子証明書の発行に本人確認などのユーザ認証が必要な場合など、第2仮想カードとして、ウォレットに保管されている別の仮想カードDを発行要求と併せて認証機関装置400に連携してもよい。
(5)<D1)証明書授受機能>中継サーバ100のサーバ取得部113は、上記(1)の発行要求に対する応答として、認証機関装置400から提供された電子証明書を取得する。
(6)<A2)証明書格納機能>ユーザ装置200の記憶部230は、中継サーバ100のサーバ取得部113から連携され電子証明書を、仮想カードCに格納するよう記憶する。
(8)<A3)証明書連携機能>ユーザ装置200の通信部240は、事業者装置300に電子証明書を含む仮想カードCを連携するために、中継サーバ100のサーバ通信部140に送信する。サーバ通信部140は、事業者装置300に有効な仮想カードCを連携する。
上記構成によれば、ウォレットシステム1は、サービス事業者やユーザから処理要求された証明対象の電子証明書がウォレットになくとも、認証機関に発行要求して取得することができる。また、ウォレットシステム1は、この発行要求の際、ウォレットに格納されている別の仮想カード(電子証明書)を用いて発行要求に必要な認証をクリアすることができる。このため、ウォレットシステム1は、証明対象の真正性を確保しつつ、使い勝手のよいウォレットを提供することができる。
<3.機能構成>
<3-1.ユーザ装置の機能構成>
図8を参照して、本実施形態に係るユーザ装置200の機能構成を説明する。図8に示すように、ユーザ装置200は、制御部210と、記憶部230と、通信部240と、を備える。
制御部210は、受付部211と、抽出部212と、判定部213と、対象処理部214とを備える。また、制御部210は、例えば、要求部215、取得部216、発行部217、確認部218または登録部219を備えてもよい。
[受付部]
受付部211は、ユーザや外部装置から、中継サーバ100を介してまたは直接的に、各種要求(処理要求または登録要求など)や各種情報(証明対象や電子証明書)を受け付ける。受付部211が各種要求などを受け付ける態様は、どのような態様でもよい。受付部211は、例えば、各種情報を示すデータファイルやメッセージを各装置から受信してもよい。また他の例として、受付部211は、ウォレットアプリの画面やウォレットシステム1のWebページから各種情報を入力させて受け付けてもよい。また、受付部211は、例えば、APIやウォレットシステム1に対応するSDKのライブラリなどを利用することで、各種情報を受け付けてもよい。
受付部211は、ユーザまたは事業者装置300の少なくともいずれかから、証明対象の参照、更新、判定または移転の少なくともいずれかを含む証明対象に関する処理の処理要求を受け付ける。
受付部211は、ユーザからのウォレットアプリの利用要求を受け付ける。また受付部211は、この利用要求を受け付けた場合、ユーザ装置200のウォレットアプリに対する要求元のユーザの利用権限を確認する。
[抽出部]
抽出部212は、受付部211が受け付けた処理要求に基づいて、カード記憶部231が記憶する複数の仮想カードの中から、要求された証明対象の仮想カードを抽出する。抽出部212は、例えば、処理要求に含まれる抽出キーワード(例えば、IDや個人情報など)と一致する情報を含む仮想カードを検索して抽出する。
抽出部212は、例えば、定義情報を記憶する定義記憶部232を参照して、定義情報にさらに基づいて、要求された証明対象の仮想カードを抽出してもよい。例えば、処理要求に「本人確認済みの電子証明書であること」および「仮想カードの利用回数はN回未満であること」などの定義情報に関する指定が含まれていた場合、抽出部212は、定義情報にさらに基づいて、「本人確認済みの電子証明書であること」および「仮想カードの利用回数はN回未満であること」を満たす仮想カードを抽出する。また、抽出部212は、例えば、抽出対象の仮想カードが失効条件を満たす場合に、抽出を取り止めてもよい。
上記構成によれば、抽出部212は、ユーザやサービス事業者が特定の仮想カードを指定して処理要求をしなくても、定義情報で規定するような種別や条件を処理要求で指定すれば、ユーザやサービス事業者が所望する仮想カードを抽出することができる。
抽出部212は、例えば、複数の仮想カードに含まれる第1仮想カードに電子証明書がない場合、この電子証明書の発行要求をするための第2仮想カードを複数の仮想カードから抽出してもよい。
抽出部212は、例えば、複数の仮想カードに含まれる第1仮想カードに電子証明書がない場合、この電子証明書の発行するための第3仮想カードを複数の仮想カードから抽出してもよい。
抽出部212は、例えば、組み合わせ処理要求に基づいて、カード記憶部231が記憶する複数の仮想カードの中から、要求された組み合わせに対応する複数の仮想カードを抽出してもよい。この組み合わせは、例えば、(a)複数の証明対象の組み合わせ、(b)1以上の証明対象と1以上の他の証明対象の電子証明書との組み合わせなどが考えられる。
[判定部]
判定部213は、抽出部212により抽出された仮想カードの電子証明書が有効か否かを判定する。判定部213は、例えば、認証機関装置400から取得した証明書失効リスト(CRL:Certificate Revocation List)に基づいて、電子証明書が有効か否かを判定してもよい。判定部213は、この判定の結果を、通信部240を介して処理要求の要求元であるユーザや外部装置に返す。
[対象処理部]
対象処理部214は、判定部213の判定結果より電子証明書が有効である場合、処理要求の応答として、抽出された仮想カードの証明対象に関する処理を行う。対象処理部214は、処理要求の応答として、ユーザや外部装置に、仮想カードに関する情報提供および/または機能提供を行う。対象処理部214は、例えば、外部装置からの処理要求に応じてウォレットアプリの機能を提供するにあたって、SDKのライブラリやAPIなどによるいわゆるホワイトレーベル機能を実現してもよい。
対象処理部214は、例えば、ユーザのアカウント情報に関する処理を行う。まず対象処理部214は、抽出された仮想カードに含まれるアカウント情報のパスワードや電子証明書の参照処理を行う。次に対象処理部214は、参照処理の結果に基づいて、処理要求に含まれるアカウント情報のパスワードと、仮想カードのアカウント情報のパスワードとが一致するかの判定処理を行う。そして対象処理部214は、これらの処理の結果を、通信部240を介して処理要求の要求元であるユーザや外部装置に返す。
対象処理部214は、例えば、受付部211が受け付けたユーザからの定義情報の参照要求に基づいて、定義記憶部232に記憶された定義情報の参照処理を行ってもよい。対象処理部214は、この処理結果をユーザに提供する(例えば、ウォレットアプリの画面に出力させる)。
上記構成によれば、対象処理部214は、証明対象の有効な電子証明書によりその真正性を確保しつつ、ユーザや外部からの要求に応じて証明対象に関する処理を行うことができる。また、対象処理部214は、認証機関装置400とのSAML認証を必要とせずに、異なるドメイン間(例えば、サービスAとサービスBとの間)をまたいだ証明対象に関する処理を行うことができる。このため、対象処理部214は、ウォレットが保管する証明対象の真正性を確保しつつ、使い勝手のよいウォレットを提供することができる。
対象処理部214は、例えば、ユーザまたは外部装置からの組み合わせ処理要求に基づいて、複数の仮想カードを組み合わせてもよい。対象処理部214は、例えば、組み合わせ処理要求の応答として、抽出部212により抽出された複数の仮想カードにおいて、要求された組み合わせに関する処理(以下、「組み合わせ処理」ともいう)を行ってもよい。
上記(a)の組み合わせにおける組み合わせ処理の一例について説明する。本例では、組み合わせ処理要求として、免許証と保険証とで本人確認をするためのこれらの画像データの参照要求および判定要求を受付部211が事業者装置300から受け付けた場合について説明する。このような場合、抽出部212は、免許証の画像データとその電子証明書とを有する仮想カードFの他に、保険証の画像データとその電子証明書とを有する仮想カードGを抽出してもよい。対象処理部214は、仮想カードFと仮想カードGを組み合わせて、各仮想データが有する画像データの参照処理と各画像データに示された人物が同一か否かの判定処理を行ってもよい。
上記構成によれば、対象処理部214は、証明対象に関する処理において複数の証明対象を組み合わせて、ユーザや外部装置からの要求に応えることができる。このため、対象処理部214は、複数のデータの組み合わせや価値とデータの組み合わせを必要とするような複雑なのための要求にも応答することができる。
上記(b)の組み合わせにおける組み合わせ処理の一例について説明する。本例では、組み合わせ処理要求として、価値Aを他のアカウントに移転させる処理要求であってさらにこの移転にあたって本人確認を必要とする処理要求を受付部211がユーザから受け付けた場合について説明する。このような場合、抽出部212は、移転対象の価値Hとその電子証明書を有する仮想カードHの他に、本人確認済みの別の証明対象の電子証明書を有する仮想カードJを抽出してもよい。対象処理部214は、仮想カードHと仮想カードJを組み合わせて、仮想カードHの価値の移転処理とこの移転処理に必要な本人確認として仮想カードJの電子証明書の参照処理を行ってもよい。
上記構成によれば、証明対象に関する処理のための多段階認証や多要素認証としてユーザ認証をさらに必要とする場合、ユーザ装置200がオンラインかオフラインかに関わらず容易にユーザ認証を追加で行うことができる。
対象処理部214は、例えば、ユーザまたは外部装置からの要求に基づいて、抽出された仮想カードの証明対象および/または電子証明書の少なくとも一部を秘匿(匿名加工含む)する。対象処理部214は、例えば、証明対象および/または電子証明書に、項目削除もしくはセル削除、データの全部もしくは一部を抽象化、上位概念化もしくは数値による短縮化によって置き換える一般化、トップ(ボトム)コーディング、データ交換、またはノイズ(誤差やぼかし)の付加などを施すことによって秘匿してもよい。このような構成によれば、対象処理部214は、より機密性を向上させたウォレットを提供することができる。
対象処理部214は、例えば、組み合わせ処理要求の応答として、組み合わせ処理を行うにあたって、抽出部212により抽出された複数の仮想カードの組み合わせに基づいて、複数の仮想カードそれぞれが有する証明対象の少なくとも一部を秘匿してもよい。この秘匿の対象とする部分は、例えば、証明対象における、高い機密性が求められる箇所(例えば、個人情報を開示する箇所)、要求対象外の箇所(要求されている処理に不要な箇所)、組み合わされた証明対象で共通する箇所以外の箇所などであってもよい。
例えば、上記(a)の組み合わせの例において免許証と保険証それぞれの画像データで示された人物が同一であることを氏名と住所で確認するような場合、対象処理部214は、それぞれの画像データに対して、共通する氏名と住所以外の箇所についてはぼかし加工を施して秘匿してもよい。また、このように人物が同一であることが確認できればいいような場合は、対象処理部214は、これらの画像データに対して氏名と住所もぼかし加工を施して、さらに一致する旨の情報を付加するよう加工してもよい。対象処理部214は、このように秘匿した画像データを、要求された処理の結果として、要求元の事業者装置300に送信する。
上記構成によれば、対象処理部214は、仮想カードの組み合わせに応じて、情報の開示を必要最小限にとどめて組み合わされた証明対象に関する処理を行うことができる。さらに、対象処理部214は、仮想カードの組み合わせに基づいて自動で秘匿するため、ユーザが秘匿する箇所を指定する手間を省くことができる。このため、対象処理部214は、機密性を向上させつつ、使い勝手のよいウォレットを提供することができる。
[要求部]
要求部215は、他のユーザ装置200や中継サーバ100,外部装置に各種要求を行う。要求部215は、例えば、ユーザや外部装置の処理要求、または所定条件に基づいて、要求する電子証明書に対応する認証機関の認証機関装置400に、証明対象の電子証明書の発行要求を行ってもよい。また、要求部215は、例えば、第1仮想カードの電子証明書に対応する認証機関の認証機関装置400に、第2仮想カードの電子証明書に基づいて、第1仮想カードの電子証明書の発行要求を行ってもよい。このような構成によれば、要求部215は、電子証明書の発行要求の際、ウォレットに格納されている別の仮想カードの電子証明書を用いて発行要求に必要な認証をクリアすることができる。
[取得部]
取得部216は、中継サーバ100または外部装置から、証明対象や電子証明書を含む各種情報を取得する。取得部216が各種情報を取得する態様に関してはどのような態様でもよい。取得部216は、事業者装置300が提供するサービスの画面に対してユーザから属性情報が入力された際、この入力された属性情報を示すメッセージを随時受信してもよい。また他の例として、取得部216は、例えば、認証機関装置400から電子証明書をイベントドリブンで受信してもよい。また他の例として、取得部216は、例えば、事業者装置300や認証機関装置400が実装するAPIに情報の参照を指示して、その参照の結果として情報を取得してもよい。
取得部216は、認証機関装置400から、要求部215による発行要求に対する応答として第1仮想カードの電子証明書を取得する。
[発行部]
発行部217は、抽出部212により抽出された第3仮想カードの電子証明書に基づいて、第1仮想カードの電子証明書の発行を行う。
[確認部]
確認部218は、ウォレットアプリの各機能において異常処理が行われていないことを確認する。確認部218は、例えば、仮想カードに対する証明対象に関する処理の履歴情報を学習データとして学習された学習モデルを用いて、ウォレットの仮想カードの異常処理を検知してもよい。
確認部218は、例えば、カード記憶部231に記憶されている仮想カードについて、証明対象や電子証明書の改ざんが行われていないこと、また、仮想カードに含まれる電子証明書が適切に発行されたものか確認してもよい。
[登録部]
登録部219は、仮想カードに関する情報の各種設定登録を行う。登録部219は、例えば、ユーザや外部装置からの証明対象や電子証明書の登録要求に基づいて、ウォレットで保管する該当する仮想カードに格納するように、カード記憶部231にこれらを登録する。また、登録部219は、例えば、受付部211が受け付けたユーザからの定義情報の登録要求または更新要求に基づいて、記憶部230に定義情報を登録する、または記憶部230に登録された定義情報を更新する。
登録部219は、例えば、仮想カードそれぞれに対して定義情報に含まれる失効条件を満たすか否かをサイクリックまたはイベントドリブンでチェックして、失効条件を満たす仮想カードを、失効登録してもよい。
登録部219は、例えば、ウォレットと外部装置との間の仮想カードの連携に関する精算情報を記憶部230に登録する。
[記憶部]
記憶部230は、ウォレットに必要な各種情報(ユーザの秘密鍵や公開鍵を含む)を記憶する。記憶部230は、カード記憶部231と、定義記憶部232とを備える。記憶部230は、データベースマネジメントシステム(DBMS)を利用して各情報を記憶してもよいし、ファイルシステムを利用して各情報を記憶してもよい。DBMSを利用する場合は、記憶部230は、情報ごとにテーブルを設けて、テーブル間を関連付けて各情報を管理してもよい。
カード記憶部231は、証明対象と、証明対象の電子証明書と、を有する複数の仮想カードを記憶する。
カード記憶部231は、例えば、取得部216により取得された電子証明書を、第1仮想カードに格納するよう記憶してもよい。このような構成によれば、カード記憶部231は、サービス事業者やユーザから処理要求された証明対象の電子証明書がウォレットに予め保管されていないような場合でも、認証機関で発行された電子証明書を仮想カードに格納しウォレットで保管することができる。このため、カード記憶部231は、証明対象の真正性を確保することができる。
カード記憶部231は、例えば、発行部217により発行された電子証明書を、第1仮想カードに格納するよう記憶してもよい。このような構成によれば、カード記憶部231は、サービス事業者やユーザから処理要求された証明対象の電子証明書がウォレットに予め保管されていないような場合でも、ウォレットアプリで発行された電子証明書を仮想カードに格納しウォレットで保管することができる。このため、カード記憶部231は、ユーザ装置200がオフライン環境であっても、証明対象の真正性を容易に確保することができる。
定義記憶部232は、仮想カードの定義情報を、該当する仮想カードと関連付けて記憶する。
[通信部]
通信部240は、ネットワークNを介して、中継サーバ100や外部装置との間で電子証明書や証明対象などの各種情報を送受信する。通信部240は、例えば、処理要求の結果として、証明対象に関する処理の結果と電子証明書の有効性の判定の結果とを、中継サーバ100を介して事業者装置300に送信する。また、通信部240は、例えば、事業者装置300に電子証明書を含む仮想カードを連携するために、中継サーバ100のサーバ通信部140にこの仮想カードを送信してもよい。サーバ通信部140は、事業者装置300にこの送信された仮想カードを連携する。
<3-2.中継サーバの機能構成>
図9を参照して、本実施形態に係る中継サーバ100の機能構成を説明する。図9に示すように、中継サーバ100は、サーバ制御部110と、サーバ記憶部130と、サーバ通信部140と、を備える。
サーバ制御部110は、サーバ受付部111、サーバ要求部112、サーバ取得部113、サーバ発行部114、サーバ確認部116と、サーバ登録部117、サーバ対象処理部119を備える。これらの機能部は、ユーザ装置200の受付部211、要求部215、取得部216、発行部217、確認部218および対象処理部214それぞれと同じ機能を備えてもよい。以下、これらの機能部との差異点のみ説明する。また、サーバ制御部110は、例えば、変換部115または精算部118を備えてもよい。
[サーバ受付部]
サーバ受付部111は、事業者装置300から、証明対象に関する処理の処理要求を受け付ける。サーバ受付部111は、サーバ通信部140を介してユーザ装置200にこの処理要求を連携する。
[サーバ取得部]
サーバ取得部113は、認証機関が電子証明書を発行できない場合、認証機関装置400からAPIなどを利用して情報を連携してもらい、連携された情報に基づいて電子証明書の発行を代行してもよい。
[変換部]
変換部115は、サービス事業者が提供するサービスの仕様に電子証明書が合わない場合、このサービスの仕様に合わせるよう電子証明書を変換する。変換部115は、例えば、サービスの仕様に合うように電子証明書のデータ形式を変換して、変換した電子証明書を事業者装置300に連携してもよい。変換部115は、例えば、電子証明書の連携方法としてAPI連携が初期設定されている場合、他の連携方法(例えば、金融電文やメッセージ処理、FTPを利用したファイル転送処理など)に変換してもよい。
[サーバ確認部]
サーバ確認部116は、例えば、認証機関サイドの仮想カードの生成処理において、電子証明書の発行や取得の処理が適切に行われているか確認する。
[サーバ登録部]
サーバ登録部117は、認証機関装置400や事業者装置300から受け付けた証明対象の定義情報をサーバ記憶部130または記憶部230(定義記憶部232)に登録する。
サーバ登録部117は、例えば、ユーザまたは外部装置からの要求に基づいて、仮想カードの生成を制限する生成制限条件を登録してもよい。
[精算部]
精算部118は、サーバ記憶部130に記憶された精算情報に基づいて、ウォレットと外部装置との間の仮想カードの連携に関する精算処理を行い、精算処理の結果に基づいて決済をするための処理を行う。
[サーバ記憶部]
サーバ記憶部130は、仮想カード(証明対象や電子証明書)、定義情報などの各種情報を記憶する。サーバ記憶部130は、例えば、サーバ登録部117からの定義情報の登録要求に基づいて、ウォレットに保管する仮想カードの中で該当する仮想カードに関連づけて記憶する。なお、仮想カード(証明対象や電子証明書)に関しては、ユーザ装置200の記憶部230が記憶するもの、すなわちウォレットアプリが保管するものをマスタとする。
[サーバ通信部]
サーバ通信部140は、ネットワークNを介して、ユーザ装置200や外部装置との間で各種情報を送受信する。
<4.動作例>
図10を参照して、ウォレットシステム1の動作例を説明する。図10(a)は、ウォレットシステム1において、第2仮想カードを利用して第1仮想カードを取得し、ウォレットに格納するまでの処理の流れを表すフロー図である。図10(b)は、ウォレットに保管されている仮想カードが利用される際の処理の流れを表すフロー図である。なお、以下に示す処理の順番は一例であって、適宜、変更されてもよい。
図10(a)に示すように、ユーザ装置200の抽出部212は、ウォレットに保管されている複数の仮想カードに含まれる第1仮想カードに電子証明書がない場合、この電子証明書の発行要求をするための第2仮想カードを複数の仮想カードから抽出する(S10)。
要求部215は、発行要求する電子証明書に対応する認証機関の認証機関装置400に、第2仮想カードの電子証明書に基づいて、第1仮想カードの電子証明書の発行要求を行う(S11)。取得部216は、この認証機関装置から、発行要求に対する応答として第1仮想カードの電子証明書を取得する(S12)。カード記憶部231は、この取得された電子証明書を、第1仮想カードに格納するよう記憶する(S13)。
図10(b)に示すように、ユーザ装置200の受付部211は、ユーザまたは事業者装置300の少なくともいずれかから、証明対象に関する処理の処理要求を受け付ける(S20)。抽出部212は、この処理要求に基づいて、カード記憶部231が記憶する複数の仮想カードの中から、要求された証明対象の仮想カードを抽出する(S21)。判定部213は、抽出された仮想カードの電子証明書が有効か否かを判定する(S22)。電子証明書が有効である場合(S22のYes)、対象処理部214は、この処理要求の応答として、抽出された仮想カードの証明対象に関する処理を行う(S23)。
<5.ハードウェア構成>
図11を参照して、上述してきた中継サーバ100及びユーザ装置200をコンピュータ800により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
図11に示すように、コンピュータ800は、プロセッサ801と、メモリ803と、記憶装置805と、入力I/F部807と、データI/F部809と、通信I/F部811、及び表示装置813を含む。
プロセッサ801は、メモリ803に記憶されているプログラムを実行することによりコンピュータ800における様々な処理を制御する。例えば、中継サーバ100のサーバ制御部110やユーザ装置200の制御部210が備える各機能部などは、メモリ803に一時記憶された上で、主にプロセッサ801上で動作するプログラムとして実現可能である。
メモリ803は、例えばRAM(Random Access Memory)などの記憶媒体である。メモリ803は、プロセッサ801によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
記憶装置805は、例えばハードディスクドライブ(HDD)やフラッシュメモリなどの不揮発性の記憶媒体である。記憶装置805は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。この他、記憶装置805は、仮想カードや定義情報を登録するテーブルと、当該テーブルを管理するDBを記憶することも可能である。このようなプログラムやデータは、必要に応じてメモリ803にロードされることにより、プロセッサ801から参照される。
入力I/F部807は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部807の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイスなどが挙げられる。入力I/F部807は、例えばUSB(Universal Serial Bus)などのインタフェースを介してコンピュータ800に接続されても良い。
データI/F部809は、コンピュータ800の外部からデータを入力するためのデバイスである。データI/F部809の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置などがある。データI/F部809は、コンピュータ800の外部に設けられることも考えられる。その場合、データI/F部809は、例えばUSBなどのインタフェースを介してコンピュータ800へと接続される。
通信I/F部811は、コンピュータ800の外部の装置と有線または無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部811は、コンピュータ800の外部に設けられることも考えられる。その場合、通信I/F部811は、例えばUSBなどのインタフェースを介してコンピュータ800に接続される。
表示装置813は、各種情報を表示するためのデバイスである。表示装置813の具体例としては、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイなどが挙げられる。表示装置813は、コンピュータ800の外部に設けられても良い。その場合、表示装置813は、例えばディスプレイケーブルなどを介してコンピュータ800に接続される。また、入力I/F部807としてタッチパネルが採用される場合には、表示装置813は、入力I/F部807と一体化して構成することが可能である。
なお、上記実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均などなものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。
また、上記実施の形態で記載された中継サーバ100及びユーザ装置200が備える構成要素は、記憶装置805に格納されたプログラムがプロセッサ801によって実行されることで、定められた処理が他のハードウェアと協働して実現されるものとする。また、言い換えれば、これらの構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、「機能」、「手段」、「部」、「処理回路」、「ユニット」、または「モジュール」などとも記載され、またそれぞれに読み替えることができる。
[変形例]
なお、本発明を上記実施の形態に基づいて説明してきたが、以下のような場合も本発明に含まれる。
[変形例1]
上記実施形態に係る中継サーバ100のサーバ制御部110に含まれる機能部の一部または全部は、ユーザ装置200が備えていてもよい。例えば、ユーザ装置200のウォレットアプリに中継サーバ100の変換部115や精算部118の機能を実装させてもよい。この場合、認証機関装置400や事業者装置300との間の連携において、中継サーバ100を介さずに、ユーザ装置200が直接これらの装置と連携してもよい。また、その逆に、ユーザ装置200の制御部210に含まれる機能部の一部または全部は、中継サーバ100が備えていてもよい。
1…ウォレットシステム、100…中継サーバ、110…サーバ制御部、111…サーバ受付部、112…サーバ要求部、113…サーバ取得部、114…サーバ発行部、115…変換部、116…サーバ確認部、117…サーバ登録部、118…精算部、130…サーバ記憶部、140…サーバ通信部、200…ユーザ装置、210…制御部、211…受付部、212…抽出部、213…判定部、214…対象処理部、230…記憶部、240…通信部、800…コンピュータ、801…プロセッサ、803…メモリ、805…記憶装置、807…入力I/F部、809…データI/F部、811…通信I/F部、813…表示装置。

Claims (9)

  1. ユーザが使用するユーザ装置に、
    前記ユーザが保有する価値またはデータ、もしくは前記ユーザのアカウント情報である証明対象と、前記証明対象の電子証明書と、を有する複数の仮想カードを記憶するカード記憶機能と、
    前記ユーザまたは前記ユーザにサービスを提供する事業者の事業者装置の少なくともいずれかから、前記証明対象の参照、更新、判定または移転の少なくともいずれかを含む前記証明対象に関する処理の処理要求を受け付ける受付機能と、
    前記処理要求に基づいて、前記カード記憶機能が記憶する複数の仮想カードの中から、要求された前記証明対象の仮想カードを抽出する抽出機能と、
    前記抽出された仮想カードの前記電子証明書が有効か否かを判定する判定機能と、
    前記電子証明書が有効である場合、前記処理要求の応答として、前記抽出された仮想カードの前記証明対象に関する処理を行う対象処理機能と、を実現させる、
    プログラム。
  2. 前記仮想カードの定義情報であって、前記証明対象に関する処理の実行可能な処理態様、もしくは前記仮想カードの利用条件または失効条件の少なくともいずれかを含む定義情報を記憶する定義記憶部を参照して、前記抽出機能は、前記定義情報にさらに基づいて、要求された前記証明対象の仮想カードを抽出する、
    請求項1に記載のプログラム。
  3. 前記利用条件は、前記仮想カードの利用回数、利用期間、または利用先の少なくともいずれかを制限する制限条件を含む、
    請求項2に記載のプログラム。
  4. 前記抽出機能は、前記複数の仮想カードに含まれる第1仮想カードに前記電子証明書がない場合、前記電子証明書の発行要求をするための第2仮想カードを前記複数の仮想カードから抽出し、
    前記ユーザ装置に、
    前記発行要求する電子証明書に対応する認証機関の認証機関装置に、前記第2仮想カードの電子証明書に基づいて、前記発行要求を行う要求機能と、
    前記認証機関装置から、前記発行要求に対する応答として前記第1仮想カードの電子証明書を取得する取得機能と、をさらに実現させ、
    前記カード記憶機能は、前記取得された電子証明書を、前記第1仮想カードに格納するよう記憶する、
    請求項1から3のいずれか一項に記載のプログラム。
  5. 前記抽出機能は、前記複数の仮想カードに含まれる第1仮想カードに前記電子証明書がない場合、前記電子証明書の発行するための第3仮想カードを前記複数の仮想カードから抽出し、
    前記第3仮想カードの電子証明書に基づいて、前記第1仮想カードの電子証明書の発行を行う発行部と、
    前記カード記憶機能は、前記発行された電子証明書を、前記第1仮想カードに格納するよう記憶する、
    請求項1から3のいずれか一項に記載のプログラム。
  6. 前記処理要求は、複数の証明対象の組み合わせ、または1以上の証明対象と1以上の他の証明対象の電子証明書との組み合わせに関する処理の要求であり、
    前記抽出機能は、前記処理要求に基づいて、前記カード記憶機能が記憶する複数の仮想カードの中から、要求された前記組み合わせに対応する複数の仮想カードを抽出し、
    前記対象処理機能は、前記電子証明書が有効である場合、前記処理要求の応答として、前記抽出された複数の仮想カードにおける前記組み合わせに関する処理を行う、
    請求項1から5のいずれか一項に記載のプログラム。
  7. 前記対象処理機能は、前記組み合わせに関する処理を行うにあたって、前記抽出された複数の仮想カードの組み合わせに基づいて、前記複数の仮想カードそれぞれが有する証明対象の少なくとも一部を秘匿する、
    請求項6に記載のプログラム。
  8. ユーザが保有する価値またはデータ、もしくは前記ユーザのアカウント情報である証明対象と、前記証明対象の電子証明書と、を有する複数の仮想カードを記憶するカード記憶部と、
    前記ユーザまたは前記ユーザにサービスを提供する事業者の事業者装置の少なくともいずれかから、前記証明対象の参照、更新、判定または移転の少なくともいずれかを含む前記証明対象に関する処理の処理要求を受け付ける受付部と、
    前記処理要求に基づいて、前記カード記憶部が記憶する複数の仮想カードの中から、要求された前記証明対象の仮想カードを抽出する抽出部と、
    前記抽出された仮想カードの前記電子証明書が有効か否かを判定する判定部と、
    前記電子証明書が有効である場合、前記処理要求の応答として、前記抽出された仮想カードの前記証明対象に関する処理を行う対象処理部と、を備える、
    情報処理装置。
  9. ユーザが使用するユーザ装置が、
    前記ユーザが保有する価値またはデータ、もしくは前記ユーザのアカウント情報である証明対象と、前記証明対象の電子証明書と、を有する複数の仮想カードを記憶し、
    前記ユーザまたは前記ユーザにサービスを提供する事業者の事業者装置の少なくともいずれかから、前記証明対象の参照、更新、判定または移転の少なくともいずれかを含む前記証明対象に関する処理の処理要求を受け付け、
    前記処理要求に基づいて、前記記憶する複数の仮想カードの中から、要求された前記証明対象の仮想カードを抽出し、
    前記抽出された仮想カードの前記電子証明書が有効か否かを判定し、
    前記電子証明書が有効である場合、前記処理要求の応答として、前記抽出された仮想カードの前記証明対象に関する処理を行う、
    情報処理方法。
JP2021120804A 2021-07-21 2021-07-21 プログラム、情報処理装置、及び情報処理方法 Active JP7267349B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021120804A JP7267349B2 (ja) 2021-07-21 2021-07-21 プログラム、情報処理装置、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021120804A JP7267349B2 (ja) 2021-07-21 2021-07-21 プログラム、情報処理装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2023016468A JP2023016468A (ja) 2023-02-02
JP7267349B2 true JP7267349B2 (ja) 2023-05-01

Family

ID=85131485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021120804A Active JP7267349B2 (ja) 2021-07-21 2021-07-21 プログラム、情報処理装置、及び情報処理方法

Country Status (1)

Country Link
JP (1) JP7267349B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120310826A1 (en) 2011-06-03 2012-12-06 Saurav Chatterjee Virtual wallet card selection apparatuses, methods and systems
JP2018511137A (ja) 2015-04-05 2018-04-19 デジタル・アセット・ホールディングス デジタル資産仲介電子決済プラットフォーム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120310826A1 (en) 2011-06-03 2012-12-06 Saurav Chatterjee Virtual wallet card selection apparatuses, methods and systems
JP2018511137A (ja) 2015-04-05 2018-04-19 デジタル・アセット・ホールディングス デジタル資産仲介電子決済プラットフォーム

Also Published As

Publication number Publication date
JP2023016468A (ja) 2023-02-02

Similar Documents

Publication Publication Date Title
US20210314313A1 (en) Certificate issuing system based on block chain
US11276056B2 (en) Digital contracts in blockchain environments
US11374754B2 (en) System and method for generating trust tokens
US20230246842A1 (en) Compact recordation protocol
JP5517314B2 (ja) ソフトトークンを生成する方法、プログラム及びコンピュータシステム
US11501292B1 (en) Systems and methods for third party token based authentication
US11122031B2 (en) Privacy-aware ID gateway
JP5397917B2 (ja) Idトークンから属性を読み込む方法とプログラム、idトークン、およびコンピュータシステム
JP5585969B2 (ja) Idトークンから属性を読み出す方法、プログラム及びコンピュータシステム
CN112106324A (zh) 用于创建、注册和验证经数字盖章的资产的方法、计算机程序产品和设备
WO2018223125A1 (en) Methods and systems for ownership verification using blockchain
KR102280061B1 (ko) 블록체인 기반의 did를 이용한 법인 관련 증명서 발급 시스템 및 방법
AU2017267715A1 (en) Systems and methods for creating subtokens using primary tokens
JP6800045B2 (ja) 署名支援サーバ、中継サーバ、署名支援プログラム、及び中継プログラム
US20240086876A1 (en) Systems and methods for private network issuance of digital currency
JP6688266B2 (ja) 本人確認情報提供方法および本人確認情報提供サーバ
JP7171504B2 (ja) 個人情報管理サーバ、個人情報管理方法及び個人情報管理システム
CN117426073A (zh) 针对可验证凭证的受信监管链
US20240095720A1 (en) Automatic token wallet generation
WO2023250403A1 (en) Data resolution using user domain names
JP7267349B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP7288934B2 (ja) プログラム、情報処理装置、情報処理方法、及びサーバ装置
JP4800126B2 (ja) 属性情報検証方法、失効情報生成装置、サービス提供元装置、及び属性情報検証システム
US12033120B1 (en) Systems and methods for private network issuance of digital currency
US20240020355A1 (en) Non-fungible token authentication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230419

R150 Certificate of patent or registration of utility model

Ref document number: 7267349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150