(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023124455
(43)【公開日】2023-09-06
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20230830BHJP
G06F 21/33 20130101ALI20230830BHJP
【FI】
H04L9/32 200B
G06F21/33
H04L9/32 200F
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022028223
(22)【出願日】2022-02-25
(71)【出願人】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】五味 秀仁
(72)【発明者】
【氏名】大神 渉
(57)【要約】
【課題】複数の認証サーバに対する認証を簡単化した認証システムを実現する。
【解決手段】情報処理装置は、第1の認証サーバへの登録要求を行った利用者に対して生成されたFIDO(Fast Identity Online)認証のための公開鍵を受信する受信部と、利用者が第2の認証サーバへの認証要求を行った場合に、上記公開鍵を用いたFIDO認証を行う認証処理部と、第2の認証サーバに対して認証結果を提供する提供部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の認証サーバへの登録要求を行った利用者に対して生成されたFIDO認証のための公開鍵を受信する受信部と、
前記利用者が第2の認証サーバへの認証要求を行った場合に、前記公開鍵を用いたFIDO認証を行う認証処理部と、
前記第2の認証サーバに対して認証結果を提供する提供部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記受信部は、
前記利用者が前記第1の認証サーバへの登録要求を行った際に、前記利用者をユーザ検証して認証用秘密鍵と認証用公開鍵との鍵ペアを生成した認証器からFIDO認証のための認証用公開鍵を受信し、
前記認証処理部は、
前記利用者が前記第1の認証サーバへの認証要求を行った際に、前記認証器が前記認証用秘密鍵で署名した署名付きチャレンジを前記認証用公開鍵で署名検証し、
前記利用者が前記第2の認証サーバへの認証要求を行った際にも、前記認証器が前記認証用秘密鍵で署名した署名付きチャレンジを前記認証用公開鍵で署名検証し、
前記提供部は、
前記利用者が前記第1の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果を前記第1の認証サーバへ提供し、
前記利用者が前記第2の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果を前記第2の認証サーバへ提供する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受信部は、前記利用者が前記第1の認証サーバへの登録要求を行った際に、前記認証器から、前記認証器が登録用秘密鍵で署名した署名付きチャレンジと前記認証用公開鍵とを受信し、
前記認証処理部は、前記認証器が前記登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証し、署名検証に成功した場合には、前記利用者を示すユーザIDと前記認証用公開鍵とを紐付けて保管する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記受信部は、前記利用者が前記第1の認証サーバへの登録要求を行った際に、前記認証器から、前記認証器が登録用秘密鍵で署名した署名付きチャレンジと前記認証用公開鍵とともに、前記利用者が用いる認証器の証明書を受信し、
前記認証処理部は、前記認証器が前記登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証し、署名検証に成功した場合には、前記利用者を示すユーザIDと前記認証器の証明書とを紐付けて保管する
ことを特徴とする請求項2又は3に記載の情報処理装置。
【請求項5】
前記受信部は、前記利用者から認証サーバへの登録要求及び認証要求の際、前記認証サーバがドメイン外の外部サーバであり、疎な関係である場合、前記利用者と前記認証サーバの間は直接的にメッセージを交換するため前記認証サーバの間でメッセージの交換を行わず、前記認証サーバからのリダイレクトで前記利用者と直接的にメッセージを交換する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項6】
前記受信部は、前記利用者から認証サーバへの登録要求及び認証要求の際、前記認証サーバが同一ドメイン内であり、密な関係である場合、前記認証サーバと直接的にメッセージを交換する
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。
【請求項7】
前記提供部は、前記利用者が認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子を前記認証サーバへ提供する
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
【請求項8】
前記提供部は、
前記利用者が前記第1の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子に紐付けられた第1のユーザ識別子を前記第1の認証サーバへ提供し、
前記利用者が前記第2の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管している前記ユーザ識別子に紐付けられた第2のユーザ識別子を前記第2の認証サーバへ提供し、
前記第1のユーザ識別子と前記第2のユーザ識別子とは互いに異なる
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
【請求項9】
前記利用者を示す前記ユーザ識別子を内部で保管する管理部と、
をさらに備え、
前記管理部は、
内部で保管している前記ユーザ識別子と、前記第1の認証サーバの識別子と、前記第1のユーザ識別子とを紐付けて保管し、
内部で保管している前記ユーザ識別子と、前記第2の認証サーバの識別子と、前記第2のユーザ識別子とを紐付けて保管する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
情報処理装置が実行する情報処理方法であって、
第1の認証サーバへの登録要求を行った利用者に対して生成されたFIDO認証のための公開鍵を受信する受信工程と、
前記利用者が第2の認証サーバへの認証要求を行った場合に、前記公開鍵を用いたFIDO認証を行う認証処理工程と、
前記第2の認証サーバに対して認証結果を提供する提供工程と、
を含むことを特徴とする情報処理方法。
【請求項11】
第1の認証サーバへの登録要求を行った利用者に対して生成されたFIDO認証のための公開鍵を受信する受信手順と、
前記利用者が第2の認証サーバへの認証要求を行った場合に、前記公開鍵を用いたFIDO認証を行う認証処理手順と、
前記第2の認証サーバに対して認証結果を提供する提供手順と、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
FIDO(Fast Identity Online)認証に関する技術であって、認証器を用いる技術が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、FIDO認証に対応した複数の認証サーバ「IDentity Provider:IdP)に対して認証する場合、個々の認証サーバに対して個別に鍵登録をする必要があり、ユーザにとってはわずらわしい。認証サーバは鍵を管理する必要があり、管理のための実装と運用が負荷となる。
【0005】
本願は、上記に鑑みてなされたものであって、複数の認証サーバに対する認証を簡単化した認証システムを実現することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、第1の認証サーバへの登録要求を行った利用者に対して生成されたFIDO認証のための公開鍵を受信する受信部と、前記利用者が第2の認証サーバへの認証要求を行った場合に、前記公開鍵を用いたFIDO認証を行う認証処理部と、前記第2の認証サーバに対して認証結果を提供する提供部と、を備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、複数の認証サーバに対する認証を簡単化した認証システムを実現することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理方法の概要を示す説明図である。
【
図2】
図2は、実施形態に係るFIDO登録の概要を示す説明図である。
【
図3】
図3は、実施形態に係るFIDO認証の概要を示す説明図である。
【
図4A】
図4Aは、実施形態に係る他のIdPでのFIDO認証の第1の概要を示す説明図である。
【
図4B】
図4Bは、実施形態に係る他のIdPでのFIDO認証の第2の概要を示す説明図である。
【
図5】
図5は、名寄せ防止導入の際のID管理の概要を示す説明図である。
【
図6】
図6は、実施形態に係る情報処理システムの構成例を示す図である。
【
図7】
図7は、実施形態に係る端末装置の構成例を示す図である。
【
図8】
図8は、実施形態に係るサーバ装置の構成例を示す図である。
【
図9】
図9は、利用者情報データベースの一例を示す図である。
【
図10】
図10は、履歴情報データベースの一例を示す図である。
【
図11】
図11は、ID対応情報データベースの一例を示す図である。
【
図12】
図12は、実施形態に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理方法の概要〕
まず、
図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。
図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、
図1では、FIDO(Fast Identity Online)認証において、複数の認証サーバ「IDentity Provider:IdP)に対する認証を簡単化する認証システムを例に挙げて説明する。
【0011】
図1に示すように、認証システムとしての情報処理システム1は、端末装置10と、サーバ装置100と、サーバ装置200とを含む。端末装置10とサーバ装置100とサーバ装置200とは、ネットワークN(
図6参照)を介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10は、サーバ装置100と連携する。
【0012】
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット端末等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0013】
サーバ装置100及びサーバ装置200は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、コンピュータやクラウドシステム等により実現される。
【0014】
また、サーバ装置100及びサーバ装置200は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、サーバ装置100及びサーバ装置200は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、サーバ装置100及びサーバ装置200は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
【0015】
なお、サーバ装置100及びサーバ装置200は、利用者Uに関する利用者情報を取得可能である。例えば、サーバ装置100及びサーバ装置200は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、サーバ装置100及びサーバ装置200は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。
【0016】
また、サーバ装置100及びサーバ装置200は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、サーバ装置100及びサーバ装置200は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、サーバ装置100及びサーバ装置200は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、サーバ装置100及びサーバ装置200は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、サーバ装置100及びサーバ装置200は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、サーバ装置100及びサーバ装置200は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済処理サーバから取得してもよい。また、サーバ装置100及びサーバ装置200は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。
【0017】
通常、FIDO(Fast Identity Online)認証では、認証サーバ「IDentity Provider:IdP)は、ユーザからの認証要求を受けると、ユーザ側の認証器(Authenticator)にチャレンジ(Challenge)を送る。ユーザは、認証器を用いてユーザ検証(User verification)を行い、本人性の検証をローカルで実施する。そして、認証器は、検証結果を秘密鍵(Private Key)で署名し、署名付き検証結果(Signed response)として認証サーバ(IdP)に送る。認証サーバは、署名付き検証結果を受け取ると、公開鍵(Public Key)で署名検証する。
【0018】
このように、FIDO認証では、認証サーバ(IdP)が、公開鍵を用いて、ユーザ側の認証器が適切な秘密鍵を保有することを確認することによって認証を実現する。認証器と認証サーバは「秘密鍵」を共有しない。
【0019】
本実施形態では、FIDO認証において、ユーザ側の認証器と複数の認証サーバ(IdP)との間に、メタ認証サーバ(メタIdP)を設置する。サーバ装置100は、このメタ認証サーバとして機能する。サーバ装置200は、複数の認証サーバのいずれか(一般的な認証サーバ)として機能する。端末装置10は、認証器として機能する。
【0020】
なお、認証器は、FIDOクライアントと同一のデバイスに実装されることがあってもよく(内蔵認証器)、FIDOクライアントとは物理的に異なるデバイスに実装されていてもよい(外部認証器)。
【0021】
例えば、FIDO認証では、PIN(Personal Identification Number)、USB(Universal Serial Bus)セキュリティキー、スマートカードなどの記憶や所有物を用いた認証方式や、指紋、顔、虹彩、静脈、声紋などの生体情報や行動情報を用いた認証方式を実装できる。認証方式は、これらに限定されず、あらゆる方式を導入することができる。また、複数の認証方式を組み合わせて、マルチモーダル生体認証や多要素認証を実現することもできる。
【0022】
また、一般的な認証サーバ(IdP)であるサーバ装置200の台数は任意である。以下、個々のサーバ装置200を識別する際には、便宜上、サーバ装置200-i(i=1,2,…、x:xは任意)のように表記する。本実施形態では、一般的な認証サーバであるサーバ装置200が2台(IdP1、IdP2)の場合を例に説明する。
【0023】
図1に示すように、本実施形態では、サーバ装置100及びサーバ装置200は、いずれもFIDO登録機能を有する。ただし、サーバ装置100は公開鍵を管理するが、サーバ装置200は公開鍵を持たないものとする。
【0024】
さらに、本実施形態では、サーバ装置100及びサーバ装置200は、いずれもユーザID管理機能を有する。メタ認証サーバ(メタIdP)であるサーバ装置100は、ユーザである利用者UのアカウントID0を保有する。複数の認証サーバ(IdP)のうち第1の認証サーバ(IdP1)であるサーバ装置200-1は、ユーザである利用者UのアカウントID1を保有する。複数の認証サーバ(IdP)のうち第2の認証サーバ(IdP2)であるサーバ装置200-2は、ユーザである利用者UのアカウントID2を保有する。認証サーバ(IdP)であるサーバ装置200が保有するアカウントID1及びID2はそれぞれ、メタ認証サーバ(メタIdP)であるサーバ装置100が保有するアカウントID0と紐付けられている。
【0025】
〔1-1.FIDO登録〕
図2は、実施形態に係るFIDO登録の概要を示す説明図である。
【0026】
図2に示すように、まずユーザである利用者Uは、端末装置10を用いて、ネットワークN(
図6参照)を介して、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)に対してユーザ登録を要求する(ステップSR1)。ユーザ登録の要求は、未登録ユーザの初回アクセスであってもよい。
【0027】
このとき、サーバ装置200は、ユーザからの登録要求を受けた際に、メタ認証サーバ(メタIdP)であるサーバ装置100にリダイレクトしてもよい。あるいは、サーバ装置200は、ネットワークN(
図6参照)を介して、メタ認証サーバ(メタIdP)であるサーバ装置100に対して、ユーザである利用者Uから登録要求を受けたことを通知してもよい。
【0028】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ネットワークN(
図6参照)を介して、ユーザ側の認証器である端末装置10に、認証器の登録を要求し、チャレンジを送信する(ステップSR2)。チャレンジは、一度だけ有効なランダムな文字列であり、乱数を元に決めた毎回異なるデータ列である。
【0029】
次に、認証器である端末装置10は、ユーザである利用者Uに対して、生体認証など所定の認証手段でユーザ検証を行う(ステップSR3)。例えば、端末装置10は、利用者Uから取得した生体情報に基づいて、ユーザ検証を行う。生体情報は、指紋、静脈、顔、虹彩及び声紋等のいずれか又はこれらの組合せ等であってもよい。また、生体情報の代わりに、ジェスチャー等の所定の動きに関する行動情報を用いてもよい。なお、実際には、本人性を確認するための手段は生体認証に限定されるものではない。例えば、端末装置10は、ワンタイムパスワードを生成するトークンを用いた認証により本人性を確認してもよい。
【0030】
次に、認証器である端末装置10は、ユーザ検証の結果、本人性を確認した場合、登録用秘密鍵(アテステーション用秘密鍵)でチャレンジに署名し、認証用鍵ペアを生成する(ステップSR4)。登録用秘密鍵(アテステーション用秘密鍵)は、その認証器に対応したものであり、その認証器の出生証明の役割を果たす。認証用鍵ペアは、認証用秘密鍵と認証用公開鍵との鍵ペアである。FIDO認証では、アテステーション用と認証用の2つの鍵ペアを登録と認証で使い分けることで、認証器が生成する署名の信頼性を高め、利用者の安全性を高めている。
【0031】
次に、認証器である端末装置10は、ネットワークN(
図6参照)を介して、メタ認証サーバ(メタIdP)であるサーバ装置100に、登録要求に対する応答として、署名付きチャレンジと、認証用公開鍵と、アテステーション(attestation:端末/認証器の証明)文書とを送信する(ステップSR5)。このとき、端末装置10は、署名付きチャレンジと認証用公開鍵とアテステーション文書とともに、登録用公開鍵(アテステーション用公開鍵)を送信してもよい。
【0032】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、署名付きチャレンジと認証用公開鍵とアテステーション文書とを受けとると、登録用公開鍵(アテステーション用公開鍵)を用いて署名を検証する(ステップSR6)。例えば、サーバ装置100は、ルート認証局を通じ、アテステーション機能を用いて受け取った署名を検証する。
【0033】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、署名の検証に成功すると、ユーザである利用者Uを示すユーザID「ID0」と認証用公開鍵とを紐付けて保管する(ステップSR7)。すなわち、サーバ装置100は、アテステーションに成功した場合、その利用者Uの認証用公開鍵をユーザID「ID0」と紐付けて保管する。
【0034】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ユーザID「ID0」と紐づけてアテステーション文書を保管する(ステップSR8)。すなわち、サーバ装置100は、ユーザID「ID0」と認証用公開鍵とアテステーション文書とを紐づけて保管する。
【0035】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ユーザID「ID0」のユーザをFIDO認証した旨を示す認証コンテキストを、ネットワークN(
図6参照)を介して、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)に送付する(ステップSR9)。すなわち、サーバ装置100は、認証器の登録が完了した旨を認証コンテキストとして/とともに提供する。
【0036】
次に、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)は、ユーザである利用者Uを示すユーザIDについて、メタ認証サーバ(メタIdP)であるサーバ装置100が保管するユーザID「ID0」と自身が保管するユーザID「ID1」とを紐付ける(ステップSR10)。
【0037】
次に、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)は、ユーザID「ID1」のユーザとして、端末装置10を用いた利用者Uのアクセスを制御する(ステップSR11)。
【0038】
〔1-2.FIDO認証〕
図3は、実施形態に係るFIDO認証の概要を示す説明図である。
【0039】
図3に示すように、まずユーザである利用者Uは、端末装置10を用いて、ネットワークN(
図6参照)を介して、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)に対してユーザ認証を要求する(ステップSA1)。
【0040】
このとき、サーバ装置200は、ユーザからの認証要求を受けた際に、メタ認証サーバ(メタIdP)であるサーバ装置100にリダイレクトしてもよい。あるいは、サーバ装置200は、ネットワークN(
図6参照)を介して、メタ認証サーバ(メタIdP)であるサーバ装置100に対して、ユーザである利用者Uから認証要求を受けたことを通知してもよい。
【0041】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ネットワークN(
図6参照)を介して、ユーザ側の認証器である端末装置10に、ユーザの認証を要求し、チャレンジを送信する(ステップSA2)。
【0042】
次に、認証器である端末装置10は、ユーザである利用者Uに対して、生体認証など所定の認証手段でユーザ検証を行う(ステップSA3)。
【0043】
次に、認証器である端末装置10は、ユーザ検証の結果、本人性を確認した場合、認証用秘密鍵でチャレンジに署名する(ステップSA4)。
【0044】
次に、認証器である端末装置10は、ネットワークN(
図6参照)を介して、メタ認証サーバ(メタIdP)であるサーバ装置100に、認証要求に対する応答として、署名付きチャレンジと認証結果情報とを送信する(ステップSA5)。
【0045】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、署名付きチャレンジと認証結果情報とを受けとると、認証用公開鍵を用いて署名を検証する(ステップSA6)。
【0046】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、署名の検証に成功すると、保管しているユーザIDの中から、ユーザである利用者Uを示すユーザID「ID0」を抽出する(ステップSA7)。
【0047】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ユーザID「ID0」のユーザをFIDO認証した旨を示す認証コンテキストを、ネットワークN(
図6参照)を介して、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)に送付する(ステップSA8)。
【0048】
次に、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)は、保管しているユーザIDの中から、ユーザID「ID0」に紐付けられたユーザID「ID1」を抽出する(ステップSA9)。
【0049】
次に、第1の認証サーバ(IdP1)であるサーバ装置200(サーバ装置200-1)は、ユーザID「ID1」のユーザとして、端末装置10を用いた利用者Uのアクセスを制御する(ステップSA10)。
【0050】
〔1-3.別のIdPでFIDO認証〕
図4Aは、実施形態に係る他のIdPでのFIDO認証の第1の概要(アカウント有り)を示す説明図である。
図4Bは、実施形態に係る他のIdPでのFIDO認証の第2の概要(アカウント無し)を示す説明図である。
図4A及び
図4Bの例では、IdP2で(最初にFIDO登録したIdP1とは別のIdPで)FIDO認証を実施する。
図4Aは、IdP2がユーザのアカウント(ユーザID「ID2」)を既に保有している場合の例である。
図4Bは、IdP2がユーザのアカウント(ユーザID「ID2」)を保有していない場合の例である。
【0051】
図4Aに示すように、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)は、ユーザである利用者Uのアカウント(ユーザID「ID2」)を既に保有している場合、単独でも、ユーザである利用者UをユーザID「ID2」のユーザとして認証可能(識別可能)である(ステップS20)。
【0052】
図4A及び
図4Bに示すように、ユーザである利用者Uは、端末装置10を用いて、ネットワークN(
図6参照)を介して、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)に対してユーザ認証を要求する(ステップSA21)。例えば、端末装置10は、ユーザ認証要求として、メタ認証サーバ(メタIdP)に関する情報と、ポリシーに関する情報とを送信する。なお、ポリシーはオプションである。ポリシーには、「こういうやり方で認証をしてほしい」という指示を入れてもよい。
【0053】
このとき、サーバ装置200は、ユーザからの認証要求を受けた際に、メタ認証サーバ(メタIdP)であるサーバ装置100にリダイレクトしてもよい。あるいは、サーバ装置200は、ネットワークN(
図6参照)を介して、メタ認証サーバ(メタIdP)であるサーバ装置100に対して、ユーザである利用者Uから認証要求を受けたことを通知してもよい。
【0054】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ネットワークN(
図6参照)を介して、ユーザ側の認証器である端末装置10に、ユーザの認証を要求し、チャレンジを送信する(ステップSA22)。
【0055】
次に、認証器である端末装置10は、ユーザである利用者Uに対して、生体認証など所定の認証手段でユーザ検証を行う(ステップSA23)。
【0056】
次に、認証器である端末装置10は、ユーザ検証の結果、本人性を確認した場合、認証用秘密鍵でチャレンジに署名する(ステップSA24)。
【0057】
次に、認証器である端末装置10は、ネットワークN(
図6参照)を介して、メタ認証サーバ(メタIdP)であるサーバ装置100に、認証要求に対する応答として、署名付きチャレンジと認証結果情報とを送信する(ステップSA25)。
【0058】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、署名付きチャレンジと認証結果情報とを受けとると、認証用公開鍵を用いて署名を検証する(ステップSA26)。
【0059】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、署名の検証に成功すると、保管しているユーザIDの中から、ユーザである利用者Uを示すユーザID「ID0」を抽出する(ステップSA27)。
【0060】
次に、メタ認証サーバ(メタIdP)であるサーバ装置100は、ユーザID「ID0」のユーザをFIDO認証した旨を示す認証コンテキストを、ネットワークN(
図6参照)を介して、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)に送付する(ステップSA28)。
【0061】
次に、
図4Aに示すように、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)がユーザである利用者Uのアカウント(ユーザID「ID2」)を既に保有している場合、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)は、保管しているユーザID「ID2」への紐付けがないことを確認して、ユーザID「ID0」とユーザID「ID2」とを紐付ける(ステップSA29A)。この場合、ステップS20で認証済みなので、ユーザである利用者UがユーザID「ID2」のユーザであることは既知である。
【0062】
反対に、
図4Bに示すように、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)がユーザである利用者Uのアカウント(ユーザID「ID2」)を保有していない場合、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)は、ユーザである利用者Uに対して新規アカウント(ユーザID「ID2」)を作成し、ユーザID「ID0」とユーザID「ID2」とを紐付ける(ステップSA29B)。
【0063】
なお、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)は、単に紐付けの有無を確認するだけでなく、メタ認証サーバ(メタIdP)が実施した認証結果情報である認証コンテキストを評価する(IdP2のサービス利用ポリシーに叶うものかどうかを判断する)というプロセスによって紐付けを行うか、判断を行うようにしてもよい。
【0064】
以降、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)は、保管しているユーザIDの中から、ユーザID「ID0」に紐付けられたユーザID「ID2」を抽出する。
【0065】
次に、第2の認証サーバ(IdP2)であるサーバ装置200(サーバ装置200-2)は、ユーザID「ID2」のユーザとして、端末装置10を用いた利用者Uのアクセスを制御する(ステップSA30)。
【0066】
本実施形態では、ユーザは第1の認証サーバ(IdP1)に対する登録・認証によりメタ認証サーバ(メタIdP)のための認証用秘密鍵及び認証用公開鍵を設定済であるため、第2の認証サーバ(IdP2)は明示的な「登録」処理をせずに、認証を実施できる。また、第2の認証サーバ(IdP2)がメタ認証サーバ(メタIdP)で実施した実際のFIDOプロトコルを理解しなくてもその認証内容を信頼することで、第2の認証サーバ(IdP2)では煩わしい登録などがなくとも全体としてFIDO認証が実施できる。
【0067】
ユーザは最初に1回だけメタ認証サーバ(メタIdP)にFIDO登録するだけでよく、複数の認証サーバ(IdP1、IdP2等)に個別にFIDO登録しなくてもよい。よって、FIDO登録が簡便である。
【0068】
また、個々の認証サーバ(IdP1、IdP2等)はアイデンティティ管理が簡易で管理コストを軽減できる。公開鍵管理をメタ認証サーバ(メタIdP)に依存するため、ユーザ/認証器ごとの公開鍵管理が不要となるからである。
【0069】
このように、本実施形態に係る認証システムでは、第1サービスの利用者にFIDO認証のための鍵ペアを生成して公開鍵を提供し、当該利用者が第2サービスの利用を所望した場合は、提供済の公開鍵と鍵ペアを用いた認証を行い、第2サービスに対して認証結果を提供する。
【0070】
〔1-4.メッセージのフロー〕
登録(認証)要求の開始(最初のメッセージ)には以下の2つの場合がある。
(1)ユーザから認証サーバ(IdP)への要求
(2)ユーザからメタ認証サーバ(メタIdP)への要求
【0071】
なお、ここでは、記載の簡略化のため、利用者Uと端末装置10とを含めて「ユーザ」と表記する。このとき、メタ認証サーバ(メタIdP)と認証サーバ(IdP)との信頼関係(ドメイン内か外か)によってメッセージのフローは異なる。
【0072】
例えば、メタ認証サーバ(メタIdP)が認証サーバ(IdP)のドメイン外の外部サーバであり、メタ認証サーバ(メタIdP)と認証サーバ(IdP)が疎な関係(loosely coupled)である場合、ユーザとメタ認証サーバ(メタIdP)の間、またはユーザと認証サーバ(IdP)の間は直接的にメッセージを交換することになる。すなわち、リダイレクトでユーザからメタ認証サーバ(メタIdP)/認証サーバ(IdP)に向かう。
【0073】
反対に、メタ認証サーバ(メタIdP)と認証サーバ(IdP)とが同一ドメイン内で、メタ認証サーバ(メタIdP)と認証サーバ(IdP)が密な関係(tightly coupled)である場合、認証サーバ(IdP)とメタ認証サーバ(メタIdP)間のメッセージが互いに転送される。
【0074】
〔1-5.名寄せ防止機能の導入〕
(ユーザのトラッキング問題)
上記の実施形態のようにメタ認証サーバ(メタIdP)のユーザID「ID0」を、第1の認証サーバ(IdP1)と第2の認証サーバ(IdP2)の両方に利用していると、ユーザID「ID0」はグローバルに流通する共通のIDになるので、仮に第1の認証サーバ(IdP1)と第2の認証サーバ(IdP2)が結託してユーザID「ID0」に関する情報を共有すれば、ユーザID「ID0」であるユーザのあらゆる行動をトラッキングできて、プライバシー漏洩となり得る。
【0075】
複数の認証サーバ(IdP)による名寄せを防ぐため、メタ認証サーバ(メタIdP)から認証サーバ(IdP)に渡されるユーザID「ID0」は認証サーバ(IdP)ごとに仮名化することがより望ましい。そこで、ユーザID「ID0」であるユーザに関して、第1の認証サーバ(IdP1)と第2の認証サーバ(IdP2)に知らせる識別子を異なるものにする。
図5は、名寄せ防止導入の際のID管理の概要を示す説明図である。
【0076】
図5に示すように、メタ認証サーバ(メタIdP)は、ユーザID「ID0」のユーザについて、第1の認証サーバ(IdP1)に対してはユーザID「ID100」を紐付けて保管し、第2の認証サーバ(IdP2)に対してはユーザID「ID200」を紐付けて保管する。
【0077】
すなわち、メタ認証サーバ(メタIdP)は、ユーザID「ID0」のユーザについて、第1の認証サーバ(IdP1)に対してはユーザID「ID100」をFIDO認証した旨を示す認証コンテキストを送付し、第2の認証サーバ(IdP2)に対してはユーザID「ID200」をFIDO認証した旨を示す認証コンテキストを送付する。
【0078】
第1の認証サーバ(IdP1)は、ユーザID「ID1」とユーザID「ID100」とを紐付けて保管する。第2の認証サーバ(IdP2)は、ユーザID「ID2」とユーザID「ID200」とを紐付けて保管する。ユーザID「ID1」のユーザとユーザID「ID2」のユーザはいずれもメタ認証サーバではユーザID「ID0」のユーザである。
【0079】
第1の認証サーバ(IdP1)では、ユーザID「ID100」という識別子で、ユーザID「ID0」のユーザのことを参照し、メッセージに含める。第2の認証サーバ(IdP2)では、ユーザID「ID200」という識別子で、ユーザID「ID0」のユーザのことを参照し、メッセージに含める。
【0080】
ユーザID「ID100」のユーザとユーザID「ID200」のユーザは、同一のユーザを指すが、第1の認証サーバ(IdP1)及び第2の認証サーバ(IdP2)には同一のユーザであると判断できない。すなわち、第1の認証サーバ(IdP1)及び第2の認証サーバ(IdP2)はいずれも、ユーザID「ID100」のユーザとユーザID「ID200」のユーザとを結びつけることができない。これにより、メタ認証サーバ以外の複数の認証サーバ間でのユーザの名寄せを防止する。
【0081】
〔2.情報処理システムの構成例〕
次に、
図6を用いて、実施形態に係るサーバ装置100が含まれる情報処理システム1の構成について説明する。
図6は、実施形態に係る情報処理システム1の構成例を示す図である。
図6に示すように、実施形態に係る情報処理システム1は、端末装置10とサーバ装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0082】
また、
図6に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、
図6では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
【0083】
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。
【0084】
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。
【0085】
サーバ装置100は、例えばPCやブレードサーバ(blade server)等のコンピュータ、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。
【0086】
〔3.端末装置の構成例〕
次に、
図7を用いて、端末装置10の構成について説明する。
図7は、端末装置10の構成例を示す図である。
図7に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0087】
(通信部11)
通信部11は、ネットワークN(
図6参照)と有線又は無線で接続され、ネットワークNを介して、サーバ装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0088】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0089】
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0090】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0091】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0092】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0093】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0094】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0095】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0096】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0097】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。
図7に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0098】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0099】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0100】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0101】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0102】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0103】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0104】
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33とを備える。
【0105】
(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介してサーバ装置100へ送信することができる。
【0106】
(受信部32)
受信部32は、通信部11を介して、サーバ装置100から提供される各種情報や、サーバ装置100からの各種情報の要求を受信することができる。
【0107】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。
【0108】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
【0109】
〔4.サーバ装置の構成例〕
次に、
図8を用いて、実施形態に係るサーバ装置100の構成について説明する。
図8は、実施形態に係るサーバ装置100の構成例を示す図である。
図8に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0110】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(
図6参照)と有線又は無線で接続される。
【0111】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。
図8に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、ID対応情報データベース123とを有する。
【0112】
(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。
図9は、利用者情報データベース121の一例を示す図である。
図9に示した例では、利用者情報データベース121は、「利用者ID「IDentifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
【0113】
「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。
【0114】
また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。
【0115】
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、
図9に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0116】
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、
図9に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0117】
また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、
図9に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。
【0118】
例えば、
図9に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。
【0119】
ここで、
図9に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。
【0120】
なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
【0121】
(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。
図10は、履歴情報データベース122の一例を示す図である。
図10に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購入履歴」、「投稿履歴」といった項目を有する。
【0122】
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購入履歴」は、利用者Uによる購入の履歴である購入履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。
【0123】
例えば、
図10に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購入履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴」の通りに投稿したことを示す。
【0124】
ここで、
図10に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0125】
なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。
【0126】
「ID対応情報データベース123)
ID対応情報データベース123は、利用者UのIDの対応関係に関する各種情報を記憶する。
図11は、ID対応情報データベース123の一例を示す図である。
図11に示した例では、ID対応情報データベース123は、「ユーザID名」、「IdP名」、「通知用ユーザID名」といった項目を有する。
【0127】
「ユーザID名」は、利用者Uを識別するための識別情報であって、メタ認証サーバ(メタIdP)であるサーバ装置100の内部で保管されているユーザ識別子を示す。
【0128】
また、「IdP名」は、複数の認証サーバ(IdP)のいずれかであるサーバ装置200を識別するための識別情報を示す。
【0129】
また、「通知用ユーザID名」は、利用者Uを識別するための識別情報であって、複数の認証サーバ(IdP)のいずれかであるサーバ装置200に向けて通知するためのユーザ識別子を示す。
【0130】
例えば、
図11に示す例において、メタ認証サーバ(メタIdP)であるサーバ装置100は、利用者Uを識別するための識別情報としてユーザID名「ID0」を内部で保管しており、利用者UがIdP名「IdP1」により識別される認証サーバ200に対して、通知用ユーザID名「ID100」を紐付けて保管していることを示す。
【0131】
ここで、
図11に示す例では、「ID0」、「IdP1」及び「ID100」といった抽象的な値を用いて図示するが、「ID0」、「IdP1」及び「ID100」には、具体的な文字列や数値等の情報が記憶されるものとする。
【0132】
なお、ID対応情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ID対応情報データベース123は、ユーザ識別子に紐付けて登録用公開鍵(アテステーション用公開鍵)や認証用公開鍵等の各種公開鍵を記憶してもよい。また、ID対応情報データベース123は、ユーザ識別子に紐付けてアテステーション文書を記憶してもよい。
【0133】
(制御部130)
図8に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、サーバ装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。
図8に示す例では、制御部130は、取得部131と、送信部132と、受信部133と、認証処理部134と、管理部135と、提供部136とを有する。
【0134】
(取得部131)
取得部131は、利用者Uにより入力された検索クエリを取得する。例えば、取得部131は、利用者Uが検索エンジン等に検索クエリを入力してキーワード検索を行った際に、通信部110を介して、当該検索クエリを取得する。すなわち、取得部131は、通信部110を介して、利用者Uにより検索エンジンやサイト又はアプリの検索窓に入力されたキーワードを取得する。
【0135】
また、取得部131は、通信部110を介して、利用者Uに関する利用者情報を取得する。例えば、取得部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、取得部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、取得部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。
【0136】
また、取得部131は、通信部110を介して、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、取得部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、取得部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。
【0137】
(送信部132)
送信部132は、利用者Uが複数の認証サーバ(IdP)のいずれかへの登録要求又は認証要求を行った際に、利用者U側の認証器(Authenticator)にチャレンジ(Challenge)を送信する。利用者U側の認証器は、利用者Uの端末装置10の内蔵認証器であってもよいし、外部認証器であってもよい。チャレンジは、一度だけ有効なランダムな文字列であり、乱数を元に決めた毎回異なるデータ列である。
【0138】
(受信部133)
受信部133は、第1の認証サーバ(IdP1)への登録要求を行った利用者Uに対して生成されたFIDO認証のための公開鍵を受信する。
【0139】
具体的には、受信部133は、利用者Uが第1の認証サーバへの登録要求を行った際に、利用者Uをユーザ検証して認証用秘密鍵と認証用公開鍵との鍵ペアを生成した認証器からFIDO認証のための認証用公開鍵を受信する。
【0140】
このとき、受信部133は、利用者Uが第1の認証サーバへの登録要求を行った際に、認証器から、認証器が登録用秘密鍵(アテステーション用秘密鍵)で署名した署名付きチャレンジと認証用公開鍵とを受信する。
【0141】
また、受信部133は、利用者Uが第1の認証サーバへの登録要求を行った際に、認証器から、認証器が登録用秘密鍵で署名した署名付きチャレンジと認証用公開鍵とともに、利用者Uが用いる認証器の証明書を受信する。
【0142】
なお、受信部133は、利用者Uから認証サーバへの登録要求及び認証要求の際、認証サーバがドメイン外の外部サーバであり、疎な関係である場合、利用者Uと認証サーバの間は直接的にメッセージを交換するため認証サーバの間でメッセージの交換を行わず、認証サーバからのリダイレクトで利用者Uと直接的にメッセージを交換する。
【0143】
あるいは、受信部133は、利用者Uから認証サーバへの登録要求及び認証要求の際、認証サーバが同一ドメイン内であり、密な関係である場合、認証サーバと直接的にメッセージを交換する。
【0144】
(認証処理部134)
認証処理部134は、利用者Uが第2の認証サーバ(IdP2)への認証要求を行った場合に、第1の認証サーバ(IdP1)への認証のための公開鍵を用いたFIDO認証を行う。
【0145】
具体的には、認証処理部134は、利用者Uが第1の認証サーバ(IdP1)への認証要求を行った際に、認証器が認証用秘密鍵で署名した署名付きチャレンジを認証用公開鍵で署名検証する。また、認証処理部134は、利用者Uが第2の認証サーバ(IdP2)への認証要求を行った際にも、認証器が認証用秘密鍵で署名した署名付きチャレンジを認証用公開鍵で署名検証する。
【0146】
このとき、認証処理部134は、認証器が登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証し、署名検証に成功した場合には、利用者Uを示すユーザIDと認証用公開鍵とを紐付けて保管する。
【0147】
また、認証処理部134は、認証器が登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証し、署名検証に成功した場合には、利用者Uを示すユーザIDと認証器の証明書とを紐付けて保管する。
【0148】
(管理部135)
管理部135は、利用者Uを示すユーザ識別子(ユーザID:ID0」を内部で保管する。このとき、管理部135は、内部で保管しているユーザ識別子と、第1の認証サーバの識別子と、第1のユーザ識別子(ユーザID:ID100」とを紐付けて保管し、内部で保管しているユーザ識別子と、第2の認証サーバの識別子と、第2のユーザ識別子(ユーザID:ID200」とを紐付けて保管する。第1のユーザ識別子と第2のユーザ識別子とは互いに異なる。
【0149】
(提供部136)
提供部136は、利用者Uが第2の認証サーバ(IdP2)への認証要求を行った際に、第1の認証サーバ(IdP1)への認証のための公開鍵を用いたFIDO認証が行われた場合に、第2の認証サーバに対して認証結果を提供する。
【0150】
具体的には、提供部136は、利用者Uが第1の認証サーバ(IdP1)への認証要求を行った際に署名検証に成功した場合には認証結果を第1の認証サーバへ提供する。また、提供部136は、利用者Uが第2の認証サーバ(IdP2)への認証要求を行った際に署名検証に成功した場合には認証結果を第2の認証サーバへ提供する。
【0151】
このとき、提供部136は、利用者Uが認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子を認証サーバへ提供する。
【0152】
あるいは、提供部136は、利用者Uが第1の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子に紐付けられた第1のユーザ識別子を第1の認証サーバへ提供する。また、提供部136は、利用者Uが第2の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子に紐付けられた第2のユーザ識別子を第2の認証サーバへ提供する。第1のユーザ識別子と第2のユーザ識別子とは互いに異なる。
【0153】
〔5.処理手順〕
次に、
図12を用いて実施形態に係るサーバ装置100による処理手順について説明する。
図12は、実施形態に係る処理手順を示すフローチャートである。なお、以下に示す処理手順は、サーバ装置100の制御部130によって繰り返し実行される。
【0154】
図12に示すように、サーバ装置100の送信部132は、ユーザである利用者Uが第1の認証サーバ(IdP1)であるサーバ装置200-1に対して登録要求を行った際に、通信部110を介して、認証器の登録を要求し、チャレンジを送信する(ステップS101)。
【0155】
続いて、サーバ装置100の受信部133は、利用者Uをユーザ検証して認証用秘密鍵と認証用公開鍵との鍵ペアを生成した認証器である端末装置10から、通信部110を介して、認証器である端末装置10が登録用秘密鍵(アテステーション用秘密鍵)で署名した署名付きチャレンジと認証用公開鍵とを受信する(ステップS102)。
【0156】
続いて、サーバ装置100の認証処理部134は、認証器である端末装置10が登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証する(ステップS103)。
【0157】
続いて、サーバ装置100の認証処理部134は、署名検証に成功した場合には、ユーザである利用者Uを示すユーザID「ID0」と認証用公開鍵とを紐付けて保管する(ステップS104)。
【0158】
続いて、サーバ装置100の送信部132は、利用者Uが第2の認証サーバ(IdP2)であるサーバ装置200-2に対して認証要求を行った際に、通信部110を介して、チャレンジを送信する(ステップS105)。
【0159】
続いて、サーバ装置100の受信部133は、利用者Uをユーザ検証した認証器である端末装置10から、通信部110を介して、認証器である端末装置10が認証用秘密鍵で署名した署名付きチャレンジを受信する(ステップS106)。
【0160】
続いて、サーバ装置100の認証処理部134は、認証器である端末装置10が認証用秘密鍵で署名した署名付きチャレンジを認証用公開鍵で署名検証する(ステップS107)。
【0161】
続いて、サーバ装置100の認証処理部134は、署名の検証に成功すると、保管しているユーザIDの中から、ユーザである利用者Uを示すユーザID「ID0」を抽出する(ステップS108)。
【0162】
続いて、サーバ装置100の認証処理部134は、ユーザID「ID0」の利用者UをFIDO認証した旨を示す認証コンテキストを、通信部110を介して、第2の認証サーバ(IdP2)であるサーバ装置200-2に提供する(ステップS109)。
【0163】
〔6.変形例〕
上述した端末装置10及びサーバ装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0164】
上記の実施形態において、サーバ装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態におけるサーバ装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10はサーバ装置100と連携しているため、利用者Uから見れば、サーバ装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、サーバ装置100を備えているともいえる。
【0165】
また、上記の実施形態において、登録用秘密鍵(アテステーション用秘密鍵)と登録用公開鍵(アテステーション用公開鍵)との鍵ペアである登録用鍵ペアと、認証用秘密鍵と認証用公開鍵との鍵ペアである認証用鍵ペアとを同一の鍵ペアとすることも技術的には可能である。例えば、認証器は、認証用秘密鍵と認証用公開鍵との鍵ペアである認証用鍵ペアを生成する際に、登録用秘密鍵(アテステーション用秘密鍵)と登録用公開鍵(アテステーション用公開鍵)との鍵ペアである登録用鍵ペアを認証用鍵ペアとして設定することも可能である。
【0166】
また、上記の実施形態において、サーバ装置100は、複数の認証サーバ(IdP)の各々が同一ドメイン内の認証サーバである場合にのみ、同一の認証用公開鍵で署名検証するようにしてもよい。例えば、メタ認証サーバ(メタIdP)であるサーバ装置100は、複数の認証サーバ(IdP)であるサーバ装置200のうち、第1の認証サーバ(IdP1)であるサーバ装置200-1と、第2の認証サーバ(IdP2)であるサーバ装置200-2とが同一ドメイン内の認証サーバである場合にのみ、第2の認証サーバ(IdP2)への認証要求時に、第1の認証サーバ(IdP1)への登録要求時に生成された認証用公開鍵で署名検証するようにしてもよい。
【0167】
〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10及びサーバ装置100)は、第1の認証サーバへの登録要求を行った利用者Uに対して生成されたFIDO認証のための公開鍵を受信する受信部133と、利用者Uが第2の認証サーバへの認証要求を行った場合に、上記公開鍵を用いたFIDO認証を行う認証処理部134と、第2の認証サーバに対して認証結果を提供する提供部136と、を備える。
【0168】
受信部133は、利用者Uが第1の認証サーバへの登録要求を行った際に、利用者Uをユーザ検証して認証用秘密鍵と認証用公開鍵との鍵ペアを生成した認証器からFIDO認証のための認証用公開鍵を受信する。認証処理部134は、利用者Uが第1の認証サーバへの認証要求を行った際に、認証器が認証用秘密鍵で署名した署名付きチャレンジを認証用公開鍵で署名検証する。また、認証処理部134は、利用者Uが第2の認証サーバへの認証要求を行った際にも、認証器が認証用秘密鍵で署名した署名付きチャレンジを認証用公開鍵で署名検証する。提供部136は、利用者Uが第1の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果を第1の認証サーバへ提供する。また、提供部136は、利用者Uが第2の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果を第2の認証サーバへ提供する。
【0169】
受信部133は、利用者Uが第1の認証サーバへの登録要求を行った際に、認証器から、認証器が登録用秘密鍵で署名した署名付きチャレンジと認証用公開鍵とを受信する。認証処理部134は、認証器が登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証し、署名検証に成功した場合には、利用者Uを示すユーザIDと認証用公開鍵とを紐付けて保管する。
【0170】
受信部133は、利用者Uが第1の認証サーバへの登録要求を行った際に、認証器から、認証器が登録用秘密鍵で署名した署名付きチャレンジと認証用公開鍵とともに、利用者Uが用いる認証器の証明書を受信する。認証処理部134は、認証器が登録用秘密鍵で署名した署名付きチャレンジを登録用公開鍵で署名検証し、署名検証に成功した場合には、利用者Uを示すユーザIDと認証器の証明書とを紐付けて保管する。
【0171】
受信部133は、利用者Uから認証サーバへの登録要求及び認証要求の際、認証サーバがドメイン外の外部サーバであり、疎な関係である場合、利用者Uと認証サーバの間は直接的にメッセージを交換するため認証サーバの間でメッセージの交換を行わず、認証サーバからのリダイレクトで利用者Uと直接的にメッセージを交換する。
【0172】
受信部133は、利用者Uから認証サーバへの登録要求及び認証要求の際、認証サーバが同一ドメイン内であり、密な関係である場合、認証サーバと直接的にメッセージを交換する。
【0173】
提供部136は、利用者Uが認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子を認証サーバへ提供する。
【0174】
提供部136は、利用者Uが第1の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子に紐付けられた第1のユーザ識別子を第1の認証サーバへ提供する。また、提供部136は、利用者Uが第2の認証サーバへの認証要求を行った際に署名検証に成功した場合には認証結果として、内部で保管しているユーザ識別子に紐付けられた第2のユーザ識別子を第2の認証サーバへ提供する。第1のユーザ識別子と第2のユーザ識別子とは互いに異なる。
【0175】
本願に係る情報処理装置は、利用者Uを示すユーザ識別子を内部で保管する管理部135をさらに備える。管理部135は、内部で保管しているユーザ識別子と、第1の認証サーバの識別子と、第1のユーザ識別子とを紐付けて保管し、内部で保管しているユーザ識別子と、第2の認証サーバの識別子と、第2のユーザ識別子とを紐付けて保管する。
【0176】
上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は、複数の認証サーバに対する認証を簡単化した認証システムを実現することができる。
【0177】
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10やサーバ装置100は、例えば
図13に示すような構成のコンピュータ1000によって実現される。以下、サーバ装置100を例に挙げて説明する。
図13は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0178】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0179】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0180】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
【0181】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0182】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0183】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0184】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0185】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0186】
例えば、コンピュータ1000がサーバ装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0187】
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0188】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0189】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0190】
例えば、上述したサーバ装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0191】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0192】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0193】
1 情報処理システム
10 端末装置
100 サーバ装置
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 ID対応情報データベース
130 制御部
131 取得部
132 送信部
133 受信部
134 認証処理部
135 管理部
136 提供部