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

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

▶ ヤフー株式会社の特許一覧

特許7351873情報処理装置、情報処理方法および情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図8
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図9
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図10
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図11
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図12
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図13
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図14
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図15
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図16
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図17
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-19
(45)【発行日】2023-09-27
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
   G06F 21/45 20130101AFI20230920BHJP
【FI】
G06F21/45
【請求項の数】 7
(21)【出願番号】P 2021101696
(22)【出願日】2021-06-18
(65)【公開番号】P2023000715
(43)【公開日】2023-01-04
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】五味 秀仁
(72)【発明者】
【氏名】山口 修司
【審査官】局 成矢
(56)【参考文献】
【文献】特開2017-059153(JP,A)
【文献】特開2019-046044(JP,A)
【文献】再公表特許第19/163043(JP,A1)
【文献】特表2019-523595(JP,A)
【文献】米国特許出願公開第2017/0163615(US,A1)
【文献】大川 悠人,属性ベース暗号方式を用いたFIDO2の拡張による代理認証の実現,情報処理学会研究報告,日本,情報処理学会,2020年03月06日,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/45
(57)【特許請求の範囲】
【請求項1】
ユーザを識別する識別子であるユーザIDと、別途配置されたFIDO認証を行うための機能を有したFIDOサーバとの間で利用する前記ユーザの識別子である連携IDとを紐付けて記憶して利用するユーザID管理部と、
認証器のアテステーション情報、又は前記認証器によって生成されたアサーション情報を前記FIDOサーバに送信して検証を依頼する送信部と、
前記FIDOサーバによって生成されるコンテキストであって、登録処理時のアテステーション情報の検証結果及び登録された認証手段に関する情報を含んだ認証登録コンテキスト、又は認証処理時のアサーション情報の検証結果及びユーザが行った認証手段の情報を含んだ認証結果コンテキストを読み取り、妥当性を検証するコンテキスト検証部と、
前記ユーザが通常利用する第1認証器が使用不能になったときのバックアップ用の第2認証器の鍵ペアを生成するリカバリー鍵生成部と、
前記第1認証器が使用不能になったときに、バックアップ用の前記第2認証器に権限を与えるための検証を行うリカバリー鍵検証部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記リカバリー鍵生成部は、前記第1認証器の鍵ペアと前記第2認証器のリカバリー鍵ペアの間に属性ベース暗号技術を導入し、公開鍵を使ってデータを暗号化する際の暗号文に、リカバリーできるユーザの属性を制御条件として組み込んで暗号化可能にし、該属性を持っているユーザのみ前記公開鍵に対応する秘密鍵を使って暗号化データをリカバリー可能にする
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記リカバリー鍵生成部は、ユーザ端末から取得したリカバリー要求の確認としての前記第2認証器の連携IDを前記第1認証器へ送信し、前記第1認証器からのリカバリー確認応答に対して、属性ベース暗号に基づいて前記第2認証器のリカバリー鍵ペアを生成するとともに、リカバリー登録応答を前記ユーザ端末へ送信する
ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記リカバリー鍵生成部は、前記ユーザ端末からリカバリー登録要求を受けた前記第2認証器からのリカバリー秘密鍵の生成要求に対する応答として、リカバリー秘密鍵を前記第2認証器へ送信する
ことを特徴とする請求項に記載の情報処理装置。
【請求項5】
前記リカバリー鍵検証部は、前記第1認証器が使用不能になったときの前記第2認証器からのリカバリー実施要求に対する応答として、認証器検証要求を前記第2認証器へ送信し、アサーションにリカバリー秘密鍵で署名した署名付きアサーションを認証器検証応答として前記第2認証器から受け取り、リカバリー秘密鍵での署名を検証し、前記第2認証器のリカバリー権限を確認し、リカバリー応答を前記第2認証器へ送信する
ことを特徴とする請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
コンピュータが実行する情報処理方法であって、
ユーザを識別する識別子であるユーザIDと、別途配置されたFIDO認証を行うための機能を有したFIDOサーバとの間で利用する前記ユーザの識別子である連携IDとを紐付けて記憶して利用するユーザID管理工程と、
認証器のアテステーション情報、又は前記認証器によって生成されたアサーション情報を前記FIDOサーバに送信して検証を依頼する送信工程と、
前記FIDOサーバによって生成されるコンテキストであって、登録処理時のアテステーション情報の検証結果及び登録された認証手段に関する情報を含んだ認証登録コンテキスト、又は認証処理時のアサーション情報の検証結果及びユーザが行った認証手段の情報を含んだ認証結果コンテキストを読み取り、妥当性を検証するコンテキスト検証工程と、
前記ユーザが通常利用する第1認証器が使用不能になったときのバックアップ用の第2認証器の鍵ペアを生成するリカバリー鍵生成工程と、
前記第1認証器が使用不能になったときに、バックアップ用の前記第2認証器に権限を与えるための検証を行うリカバリー鍵検証工程と、
を含むことを特徴とする情報処理方法。
【請求項7】
ユーザを識別する識別子であるユーザIDと、別途配置されたFIDO認証を行うための機能を有したFIDOサーバとの間で利用する前記ユーザの識別子である連携IDとを紐付けて記憶して利用するユーザID管理手順と、
認証器のアテステーション情報、又は前記認証器によって生成されたアサーション情報を前記FIDOサーバに送信して検証を依頼する送信手順と、
前記FIDOサーバによって生成されるコンテキストであって、登録処理時のアテステーション情報の検証結果及び登録された認証手段に関する情報を含んだ認証登録コンテキスト、又は認証処理時のアサーション情報の検証結果及びユーザが行った認証手段の情報を含んだ認証結果コンテキストを読み取り、妥当性を検証するコンテキスト検証手順と、
前記ユーザが通常利用する第1認証器が使用不能になったときのバックアップ用の第2認証器の鍵ペアを生成するリカバリー鍵生成手順と、
前記第1認証器が使用不能になったときに、バックアップ用の前記第2認証器に権限を与えるための検証を行うリカバリー鍵検証手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
近年、利用者の認証を容易にするための技術が提案されている。例えば、ファイド(FIDO(登録商標))と呼ばれる認証技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-230520号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、FIDOによる認証技術を容易に導入する点で改善の余地があった。具体的には、FIDOによる認証技術を導入する場合、FIDOに対応する機能を認証サーバに追加したり、改修したりする必要があり、FIDOの導入に対する障壁となるおそれがあった。
【0005】
本願は、上記に鑑みてなされたものであって、登録済の認証器が利用不能になったときのアカウントの復旧を可能とする情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、ユーザを識別する識別子であるユーザIDと、別途配置されたFIDO認証を行うための機能を有したFIDOサーバとの間で利用する前記ユーザの識別子である連携IDとを紐付けて記憶して利用するユーザID管理部と、認証器のアテステーション情報、又は前記認証器によって生成されたアサーション情報を前記FIDOサーバに送信して検証を依頼する送信部と、前記FIDOサーバによって生成されるコンテキストであって、登録処理時のアテステーション情報の検証結果及び登録された認証手段に関する情報を含んだ認証登録コンテキスト、又は認証処理時のアサーション情報の検証結果及びユーザが行った認証手段の情報を含んだ認証結果コンテキストを読み取り、妥当性を検証するコンテキスト検証部と、前記ユーザが通常利用する第1認証器が使用不能になったときのバックアップ用の第2認証器の鍵ペアを生成するリカバリー鍵生成部と、前記第1認証器が使用不能になったときに、バックアップ用の前記第2認証器に権限を与えるための検証を行うリカバリー鍵検証部と、を備える。
【発明の効果】
【0007】
実施形態の一態様によれば、登録済の認証器が利用不能になったときのアカウントの復旧を可能とすることができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る認証システムの構成例を示す図である。
図2図2は、実施形態に係るFIDOサーバの構成例を示す図である。
図3図3は、実施形態に係る認証サーバの構成例を示す図である。
図4図4は、実施形態に係るサービス提供サーバの構成例を示す図である。
図5図5は、実施形態に係るユーザ端末の構成例を示す図である。
図6図6は、実施形態に係る公開鍵情報の一例を示す図である。
図7図7は、実施形態に係るユーザ情報の一例を示す図である。
図8図8は、実施形態に係る秘密鍵情報の一例を示す図である。
図9図9は、実施形態に係る認証システムによって実行される登録処理の一例を示すシーケンス図である。
図10図10は、実施形態に係る認証システムによって実行される認証処理の一例を示すシーケンス図である。
図11図11は、実施形態に係る認証システムによって実行される登録処理の一例を示すシーケンス図である。
図12図12は、実施形態に係る認証システムによって実行される認証処理の一例を示すシーケンス図である。
図13図13は、実施形態に係る認証システムによって実行される登録処理の一例を示すシーケンス図である。
図14図14は、実施形態に係る認証システムによって実行される認証処理の一例を示すシーケンス図である。
図15図15は、実施形態に係る認証システムによって実行されるリカバリー登録処理の一例を示すシーケンス図である。
図16図16は、実施形態に係る認証システムによって実行されるリカバリー認証処理の一例を示すシーケンス図である。
図17図17は、実施形態に係る認証システムによって実行されるリカバリー登録処理の一例を示すシーケンス図である。
図18図18は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
インターネット上の各種サービスは、典型的には、パスワードとID(Identifier)とを使用するリモート認証を採用している。リモート認証では、パスワードおよびIDが、インターネット等のネットワークを介して、クライアントデバイスから認証サーバに送信される。例えば、ユーザがサービスにログインする際に、ユーザは、パスワードと、IDとを入力する。次に、認証サーバは、受信されたパスワードが認証サーバに記憶されたIDに関連付けられた適切なパスワードであるかを検証する。
【0011】
リモート認証に関連する問題のうちの1つは、ユーザが複数のサービスの間で1つのパスワードを使いまわすことである。ユーザは、一般的に、電子メール、SNS(Social Networking Service)、オンライン動画プラットフォーム、オンラインショッピング、オンラインバンキング等の、複数のサービスの複数のアカウントを有する。ユーザがサービスごとに異なるパスワードを設定した場合に、サービスごとに異なる複数のパスワードを覚えることは、ユーザにとって難しい場合がある。このため、ユーザは、複数のサービスにおいてパスワードを共通にすることがある。しかしながら、複数のサービスのうちの1つがパスワードを漏洩させた場合に、悪意のある者が、このパスワードを使用して複数のサービスのうちの他のサービスに、不正にアクセスする可能性がある。
【0012】
上述したようなリモート認証に関連する問題を解決するために、FIDOと呼ばれる認証技術が提案されている。FIDOの認証形態では、ユーザの本人性が、スマートフォン等のユーザデバイスに内蔵または外付けされた認証器によって検証される。認証器の一例は、スマートフォンの生体認証機能である。このように、FIDO認証は、ローカル認証を採用している。
【0013】
ローカル認証では、認証器は、認証器に保管された秘密鍵を使用することによって、本人性の検証結果に対して電子署名を行う。そして、電子署名付き検証結果が、インターネット上のサービスに、ユーザデバイスから送信される。インターネット上のサービスは、このサービスに登録された公開鍵を使用することによって、ユーザデバイスから送信された電子署名付き検証結果の妥当性を確認することができる。
【0014】
上述のように、FIDO認証は、ユーザデバイスに内蔵または外付けされた認証器を使用したパスワードレス認証を可能にする。例えば、ユーザは、指紋等の生体情報をスマートフォンに入力することによって、FIDO認証を採用したサービスにおいて、パスワードレスログインを実行することができる。FIDO認証は、ユーザがパスワードを使用せずにサービスにログインすることを可能にするため、FIDO認証は、利便性や安全性の観点から好ましい。
【0015】
しかしながら、サービス提供者がFIDO認証を導入しようする場合、FIDO認証に対応する機能を認証サーバに追加したり、認証サーバを改修したりする必要がある。この場合、サービス提供者は、サービスの提供を一時的に停止させたり、FIDO認証が正常に動作するかの認定を受けたりする必要がある。このようなことが、FIDOの導入に対する障壁となるおそれがあった。
【0016】
また、FIDO認証では、ユーザのデバイス(認証器)を登録し、そのときにペアの公開鍵と秘密鍵を生成する。そして、秘密鍵を認証器に保管し、公開鍵をサーバに登録する。これによって、パスワードを用いることなく認証することができる。しかし、ユーザは、所有するデバイスを登録するタイプの認証(デバイスベース認証)であるため、デバイスを紛失したり、盗難されたり、故障したときに認証ができなくなってしまう。
【0017】
そこで、本開示では、FIDO認証を行うための機能を有したFIDOサーバを認証サーバとは別に配置し、認証サーバがFIDO認証の機能をFIDOサーバから呼び出せるようにした。また、認証器を有するデバイスの紛失、盗難、故障などにより登録済の認証器が利用不能になったとき、セキュアで柔軟なアカウントの復旧を可能とした。
【0018】
図1は、実施形態に係る認証システムSの構成例を示す図である。図1に示すように、実施形態に係る認証システムSは、FIDOサーバ1と、認証サーバ10と、サービス提供サーバ20と、ユーザ端末30とを含む。FIDOサーバ1と、認証サーバ10と、サービス提供サーバ20と、ユーザ端末30とは、それぞれ不図示のネットワークと有線又は無線により接続される。ネットワークは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等のネットワークである。認証システムSの構成要素は、ネットワークを介して互いに通信を行うことができる。なお、認証システムSの構成要素の動作例については、図9以降で詳細に後述する。
【0019】
ユーザ端末30は、サービスを受けようとするユーザが扱う端末装置である。ユーザ端末30は、スマートフォン、デスクトップ型PC、ノート型PC、タブレット型PC等の任意のタイプの端末装置を用いることができる。
【0020】
また、ユーザ端末30は、サービス提供サーバ20にアクセスすることで、サービス提供サーバ20が提供するサービスを利用することができる。本開示では、サービスを受けるためのユーザの登録および認証をFIDO認証に行う。なお、登録処理および認証処理については、図9以降で詳細に後述する。
【0021】
また、ユーザ端末30は、FIDO認証のための認証器を有する。認証器は、例えば、ユーザの生体認証を行うための機能を有する。生体認証は、指紋、虹彩、顔等の生体情報を検知して行う。なお、認証器は、ユーザ端末30に内蔵される場合に限らず、ユーザ端末30に対してUSB(Universal Serial Bus)キー等で外付けされてもよい。また、認証器は、ユーザの本人性の検証結果に対して電子署名を行うための秘密鍵を保管している。この秘密鍵は、後述する公開鍵とともに鍵ペアとして認証器によって生成される。
【0022】
サービス提供サーバ20は、各種サービスを提供するサーバである。サービス提供サーバ20が提供するサービスは、例えば、ブラウザや、インターネットショッピング、電子商店街等の電子商取引サービス等を含む。
【0023】
サービス提供サーバ20は、ユーザ端末30がサービスへのアクセスを要求した場合に、ユーザの認証を認証サーバ10に対して依頼し、認証サーバ10によってユーザが認証された場合に、ユーザ端末30によるサービスへのアクセスを承認する。
【0024】
認証サーバ10は、サービスへのアクセスを要求したユーザの本人性を認証するサーバである。認証サーバ10は、FIDOサーバ1の機能を利用することで、FIDO認証のための登録処理や、認証処理を実現する。具体的には、認証サーバ10は、サービスにユーザを登録する登録処理において、FIDO認証に必要な鍵ペアを認証器に生成させるためのメッセージ作成をFIDOサーバ1に依頼したり、認証器のアテステーション情報の検証や、認証器から送信されるアサーション情報の検証をFIDOサーバ1に依頼する。
【0025】
また、図1に示すように、認証サーバ10は、ユーザID管理機能と、認証に関するコンテキスト読み取り・検証機能と、アサーション送信機能と、リカバリー鍵生成機能と、リカバリー鍵検証機能とを有する。
【0026】
ユーザID管理機能とは、ユーザを識別する識別子であるユーザIDと、FIDOサーバ1および認証サーバ10の間で利用するユーザの識別子である連携IDとを紐付けて記憶し、利用する機能である。
【0027】
認証に関するコンテキスト読み取り・検証機能とは、FIDOサーバ1によって生成される認証登録コンテキストや、認証結果コンテキストを読み取り、妥当性を検証する機能である。認証登録コンテキストは、登録処理時のアテステーション情報の検証結果や、登録された認証手段(生体認証等)に関する情報を含んだコンテキストである。認証結果コンテキストは、認証処理時のアサーション情報の検証結果や、ユーザが行った認証手段の情報等を含んだコンテキストである。
【0028】
アサーション送信機能とは、認証器によって生成されたアサーション情報をFIDOサーバ1へ送信する機能である。アサーション情報とは、秘密鍵を用いて、認証器の認証結果に署名した情報である。具体的には、アサーション情報とは、署名付き認証結果の証明書である。
【0029】
リカバリー鍵生成機能とは、通常利用する第1認証器に対して、第1認証器が使用不能になったときのバックアップ用の第2認証器の鍵ペアを生成する機能である。
【0030】
リカバリー鍵検証機能とは、第1認証器が使用不能になったときに、バックアップ用の第2認証器に権限を与えるための検証を行う機能である。
【0031】
FIDOサーバ1は、FIDO認証に関する処理を行う情報処理装置である。FIDOサーバ1は、認証サーバ10と論理的に分離しており、同一ドメイン、あるいは、別ドメインに設置される。
【0032】
図1に示すように、FIDOサーバ1は、FIDOメッセージ生成・検証機能と、認証に関するコンテキスト生成・送信機能と、連携ID管理機能と、リカバリー鍵生成機能とを有する。
【0033】
FIDOメッセージ生成・検証機能とは、FIDO認証に関するメッセージを生成したり、検証したりする機能である。FIDO認証に関するメッセージは、例えば、クレデンシャル生成オプションメッセージ(鍵ペアの生成指示メッセージ)や、アテステーション情報に関するメッセージ、アサーション情報に関するメッセージである。
【0034】
認証に関するコンテキスト生成・送信機能とは、上述した認証登録コンテキストや、認証結果コンテキストを生成し、認証サーバ10へ送信する機能である。連携ID管理機能とは、認証器によって生成された公開鍵を連携IDと紐付けて記憶し、利用する機能である。
【0035】
リカバリー鍵生成機能とは、通常利用する第1認証器に対して、第1認証器が使用不能になったときのバックアップ用の第2認証器の鍵ペアを生成する機能である。
【0036】
このように、認証システムSでは、FIDO認証に関する機能をFIDOサーバ1として認証サーバ10から分離することで、サービス提供者は、認証サーバ10にFIDO認証に関する機能を追加する必要が無い。さらに、サービス提供者は、FIDOサーバ1と連携するための機能を認証サーバ10に導入するだけでよいため、認証サーバ10の改変を最小限に抑えることができる。すなわち、情報処理装置であるFIDOサーバ1によれば、FIDOによる認証技術を容易に導入することができる。
【0037】
次に、図2図5を参照して、認証システムSにおける各装置の構成例について説明する。
【0038】
図2は、実施形態に係るFIDOサーバ1の構成例を示す図である。図2に示されるように、FIDOサーバ1は、通信部2と、制御部3と、記憶部4とを有する。
【0039】
通信部2は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0040】
制御部3は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、FIDOサーバ1内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部3は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
【0041】
記憶部4は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図2に示されるように、記憶部4は、公開鍵情報4Aを有する。なお、公開鍵情報4Aの詳細については、図6で後述する。
【0042】
図3は、実施形態に係る認証サーバ10の構成例を示す図である。図3に示されるように、認証サーバ10は、通信部11と、制御部12と、記憶部13とを有する。
【0043】
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0044】
制御部12は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、FIDOサーバ1内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部12は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
【0045】
記憶部13は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図3に示されるように、記憶部13は、ユーザ情報13Aを有する。なお、ユーザ情報13Aの詳細については、図7で後述する。
【0046】
図4は、実施形態に係るサービス提供サーバ20の構成例を示す図である。図4に示されるように、サービス提供サーバ20は、通信部21と、制御部22と、記憶部23とを有する。
【0047】
通信部21は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0048】
制御部22は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、FIDOサーバ1内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部22は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
【0049】
記憶部23は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0050】
図5は、実施形態に係るユーザ端末30の構成例を示す図である。図5に示されるように、ユーザ端末30は、通信部31と、制御部32と、記憶部33とを有する。
【0051】
通信部31は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0052】
制御部32は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、FIDOサーバ1内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部32は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
【0053】
記憶部33は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図5に示されるように、記憶部33は、秘密鍵情報33Aを有する。なお、秘密鍵情報33Aの詳細については、図8で後述する。
【0054】
(公開鍵情報4A)
図6は、実施形態に係る公開鍵情報4Aの一例を示す図である。公開鍵情報4Aは、上述したように、FIDOサーバ1の記憶部4に記憶される情報であり、認証器によって生成された公開鍵の情報を含む。
【0055】
図6の例では、公開鍵情報4Aは、「連携ID」、「認証サーバ」、「ユーザID」および「公開鍵」等の項目を有する。
【0056】
「連携ID」は、連携している認証サーバ10との間で利用するユーザの識別子である。「認証サーバ」は、連携している認証サーバ10を識別する情報である。「ユーザID」は、認証サーバ10によって発行されたユーザを識別する識別子である。「公開鍵」は、公開鍵の情報である。
【0057】
(ユーザ情報13A)
図7は、実施形態に係るユーザ情報13Aの一例を示す図である。ユーザ情報13Aは、上述したように、認証サーバ10の記憶部13に記憶される情報であり、サービスを受けるための登録処理が完了したユーザに関する情報を含む。
【0058】
図7の例では、ユーザ情報13Aは、「ユーザID」、「連携ID」、「属性情報」および「認証手段」等の項目を有する。
【0059】
「ユーザID」は、ユーザを識別する識別子である。「連携ID」は、連携しているFIDOサーバ1との間で利用するユーザの識別子である。「属性情報」は、ユーザの属性に関する情報である。「認証手段」は、認証器による認証手段の情報である。
【0060】
(秘密鍵情報33A)
図8は、実施形態に係る秘密鍵情報33Aの一例を示す図である。秘密鍵情報33Aは、上述したように、ユーザ端末30の記憶部33に記憶される情報であり、認証器によって生成された秘密鍵の情報を含む。
【0061】
図8の例では、秘密鍵情報33Aは、「サービス」、「認証サーバ」および「秘密鍵」等の項目を有する。
【0062】
「サービス」は、認証を受けるサービスを識別する情報である。「認証サーバ」は、認証サーバ10を識別する情報である。「秘密鍵」は、秘密鍵の情報である。
【0063】
次に、図9図14を用いて、認証システムSの動作例について説明する。なお、以下では、図9および図10を用いて、FIDOサーバ1および認証サーバ10が同一ドメインに配置される場合の動作例を説明し、図11図14を用いて、FIDOサーバ1および認証サーバ10が別のドメインに配置される場合の動作例を説明する。
【0064】
まず、図9および図10を用いて、FIDOサーバ1および認証サーバ10が同一ドメインに配置される場合の動作例を説明する。言い換えれば、FIDOサーバ1は認証サーバ10のバックエンドのような位置づけで配置される。
【0065】
〔同一ドメイン時の登録処理〕
まず、図9を参照して、実施形態に係る認証システムSにおけるユーザの登録処理について説明する。図9は、実施形態に係る認証システムSによって実行される登録処理の一例を示すシーケンス図である。なお、図9では、説明の便宜上、ユーザ端末30および認証器を分けて示している。
【0066】
図9に示す登録処理とは、認証が必要となるサービスに対してユーザの本人性を登録する処理である。図9に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対して登録要求を送信する(ステップS1)。
【0067】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル生成要求を送信する(ステップS2)。クレデンシャル生成要求とは、認証器に鍵ペアを生成させることを要求することである。
【0068】
つづいて、認証サーバ10は、取得したクレデンシャル生成要求をFIDOサーバ1へ送信する(ステップS3)。つづいて、FIDOサーバ1は、クレデンシャル生成要求に基づいて、鍵ペアの生成指示メッセージを作成する(ステップS4)。
【0069】
つづいて、FIDOサーバ1は、生成指示メッセージを認証サーバ10へ送信する(ステップS5)。
【0070】
つづいて、認証サーバ10は、鍵ペアの生成指示メッセージをサービス提供サーバ20へ送信する(ステップS6)。
【0071】
つづいて、サービス提供サーバ20は、鍵ペアの生成指示メッセージを、認証器に対して送信する(ステップS7)。つまり、ステップS1~S7において、制御部3は、FIDO認証ための認証器を有するユーザ端末30から認証サーバ10に送信されたFIDO認証のための鍵ペアの生成要求を認証サーバ10から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示を認証サーバ10を介して認証器へ通知する。すなわち、認証サーバ10は、FIDO認証に関するメッセージ(生成指示や後述する取得指示)生成機能を有していないため、FIDO認証に関するメッセージ生成機能を有するFIDOサーバ1へメッセージ生成を依頼する。これにより、FIDO認証に関するメッセージ生成機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0072】
つづいて、認証器は、ユーザ検証要求を送信する(ステップS8)。ユーザ検証要求は、ユーザに対して認証器による生体情報等の入力を要求することである。
【0073】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS9)。
【0074】
つづいて、認証器は、鍵ペア(秘密鍵および公開鍵)を生成し(ステップS10)、公開鍵をサービス提供サーバ20へ送信する(ステップS11)。
【0075】
つづいて、サービス提供サーバ20は、アテステーション情報およびユーザ情報(生体情報および公開鍵)を認証サーバ10へ送信する(ステップS12)。なお、サービス提供サーバ20は、ステップS12において、ユーザから同意を得て、ユーザに関する付加情報を送信してもよい。付加情報は、例えば、ユーザの位置情報(ユーザ端末30の位置情報)を含む。また、付加情報は、ユーザの行動情報や、属性情報等が含まれてもよい。
【0076】
つまり、FIDOサーバ1の制御部3は、アテステーション情報とともに、付加情報を認証サーバ10を介して取得する。
【0077】
つづいて、認証サーバ10は、アテステーション情報およびユーザ情報(生体情報および公開鍵)をFIDOサーバ1へ送信する(ステップS13)。
【0078】
つづいて、FIDOサーバ1は、アテステーション情報の検証、連携IDの付与、公開鍵の登録を行うとともに、アテステーション情報の検証結果に基づいてユーザの登録可否を示す認証登録コンテキストを生成する(ステップS14)。
【0079】
つづいて、FIDOサーバ1は、認証登録コンテキストおよび連携IDを認証サーバ10へ送信する(ステップS15)。つまり、ステップS10~S15において、制御部3は、生成指示に従って認証器で生成された鍵ペアのうち、公開鍵を認証サーバ10を介して取得し、取得した公開鍵を連携IDと紐付けて記憶するとともに、連携IDを認証サーバ10へ通知する。また、制御部3は、公開鍵を取得する際に、認証器のアテステーション情報を認証サーバ10を介して取得し、アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成して認証サーバ10へ通知する。なお、FIDOサーバ1は、付加情報を取得した場合には、公開鍵および連携IDに付加情報を紐付けて記憶する。つまり、認証サーバ10は、アテステーション情報や後述するアサーション情報の検証機能(アテステーション情報やアサーション情報の読取機能含む)を有していないため、アテステーション情報やアサーション情報の検証機能を有するFIDOサーバ1へアテステーション情報やアサーション情報の検証を依頼する。これにより、アテステーション情報やアサーション情報の検証機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0080】
つづいて、認証サーバ10は、認証登録コンテキストの検証および連携IDをユーザIDに紐付けて保管する(ステップS16)。
【0081】
つづいて、認証サーバ10は、認証登録コンテキストの検証の結果、問題無ければ、クレデンシャル生成応答をサービス提供サーバ20へ送信する(ステップS17)。つづいて、サービス提供サーバ20は、登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS18)。
【0082】
〔同一ドメイン時の認証処理〕
次に、図10を参照して、実施形態に係る認証システムSにおけるユーザの認証処理について説明する。図10は、実施形態に係る認証システムSによって実行される認証処理の一例を示すシーケンス図である。
【0083】
図10に示す認証処理とは、本人性を登録済のサービスに対してユーザがアクセス(あるいはログイン)を要求する場合に、ユーザの本人性を確認してアクセス(ログイン)を承認する処理である。図10に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対してアクセス(またはログイン)要求を送信する(ステップS101)。
【0084】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル取得要求を送信する(ステップS102)。クレデンシャル取得要求とは、ユーザIDの情報を含み、かかるユーザIDに対応するユーザの本人性の認証処理を依頼する要求(認証要求)である。
【0085】
つづいて、認証サーバ10は、取得したクレデンシャル取得要求を連携IDとともにFIDOサーバ1へ送信する(ステップS103)。つづいて、FIDOサーバ1は、クレデンシャル取得要求および連携IDに基づいて、対応する公開鍵を選択し、選択した公開鍵に対応するユーザ情報(生体情報等の認証情報)の取得指示メッセージを作成する(ステップS104)。
【0086】
つづいて、FIDOサーバ1は、取得指示メッセージを認証サーバ10へ送信する(ステップS105)。
【0087】
つづいて、認証サーバ10は、認証のためのユーザ情報の取得指示メッセージをサービス提供サーバ20へ送信する(ステップS106)。
【0088】
つづいて、サービス提供サーバ20は、認証のためのユーザ情報の取得指示メッセージを、認証器に対して送信する(ステップS107)。つまり、ステップS101~S107において、制御部3は、ユーザ端末30からアクセスを要求されたサービス提供サーバ20から認証サーバ10を介して対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示を認証サーバ10を介して認証器へ通知する。
【0089】
つづいて、認証器は、取得指示に基づいてユーザ検証要求を送信する(ステップS108)。ユーザ検証要求は、ユーザに対して認証器による指定されたユーザ情報(生体情報等)の入力を要求することである。
【0090】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS109)。
【0091】
つづいて、認証器は、入力された生体情報に基づいて、秘密鍵へアクセスし、アサーション情報を生成する(ステップS110)。具体的には、認証器は、入力された生体情報(認証情報)に、対応する秘密鍵を用いて署名した署名付き認証情報の証明書をアサーション情報として生成する。つづいて、認証器は、アサーション情報をサービス提供サーバ20へ送信する(ステップS111)。
【0092】
つづいて、サービス提供サーバ20は、アサーション情報を認証サーバ10へ送信する(ステップS112)。なお、サービス提供サーバ20は、ステップS112において、ユーザから同意を得て、ユーザに関する付加情報を送信してもよい。付加情報は、例えば、ユーザの位置情報(ユーザ端末30の位置情報)を含む。また、付加情報は、ユーザの行動情報や、属性情報等が含まれてもよい。
【0093】
つまり、FIDOサーバ1の制御部3は、アサーション情報とともに、付加情報を認証サーバ10を介して取得する。
【0094】
つづいて、認証サーバ10は、アサーション情報をFIDOサーバ1へ送信する(ステップS113)。
【0095】
つづいて、FIDOサーバ1は、アサーション情報の検証を行うとともに、アサーション情報の検証結果に基づいてユーザの認証可否を示す認証結果コンテキストを生成する(ステップS114)。なお、FIDOサーバ1は、アサーション情報と併せて付加情報を取得した場合には、付加情報の検証結果に基づく情報を認証結果コンテキストに含ませるようにする。
【0096】
つづいて、FIDOサーバ1は、認証結果コンテキストを認証サーバ10へ送信する(ステップS115)。つまり、ステップS110~S115において、制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報を認証サーバ10を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成して認証サーバ10へ通知する。
【0097】
つづいて、認証サーバ10は、認証結果コンテキストの検証を行い、検証の結果、問題無ければ、サービスへのアクセス要求を承認し(ステップS116)、承認したことを示すクレデンシャル取得応答をサービス提供サーバ20へ送信する(ステップS117)。つづいて、サービス提供サーバ20は、アクセスが承認された旨を示すアクセス応答をユーザ端末30へ送信するとともに(ステップS118)、ユーザ端末30へサービスを提供する。
【0098】
次に、図11図14を用いて、FIDOサーバ1および認証サーバ10が別ドメインに配置される場合の動作例を説明する。FIDOサーバ1および認証サーバ10が別ドメインに配置される場合、認証サーバ10は、サービス提供サーバ20にリダイレクトさせることで各種要求をFIDOサーバ1へ送信することとなる。図11および図12では、このリダイレクト時に認証サーバ10を明示しない場合の動作例を示し、図13および図14では、リダイレクト時に委任状によって認証サーバ10を明示する場合の動作例を示す。
【0099】
〔別ドメイン時の登録処理(その1)〕
まず、図11を参照して、実施形態に係る認証システムSにおけるユーザの登録処理について説明する。図11は、実施形態に係る認証システムSによって実行される登録処理の一例を示すシーケンス図である。
【0100】
図11に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対して登録要求を送信する(ステップS201)。
【0101】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル生成要求を送信する(ステップS202)。
【0102】
つづいて、認証サーバ10は、取得したクレデンシャル生成要求をリダイレクト先(FIDOサーバ1)の情報とともにサービス提供サーバ20へ返信し(ステップS203)、サービス提供サーバ20は、FIDOサーバ1へクレデンシャル生成要求をリダイレクトする(ステップS204)。つづいて、FIDOサーバ1は、クレデンシャル生成要求に基づいて、鍵ペアの生成指示メッセージを作成する(ステップS205)。
【0103】
つづいて、FIDOサーバ1は、鍵ペアの生成指示メッセージをサービス提供サーバ20へ送信する(ステップS206)。
【0104】
つづいて、サービス提供サーバ20は、鍵ペアの生成指示メッセージを、認証器に対して送信する(ステップS207)。つづいて、認証器は、ユーザ検証要求を送信する(ステップS208)。つまり、ステップS201~S207において、制御部3は、FIDO認証ための認証器を有するユーザ端末30から認証サーバ10を介してサービス提供サーバ20に送信されたFIDO認証のための鍵ペアの生成要求をサービス提供サーバ20から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示をサービス提供サーバ20を介して認証器へ通知する。すなわち、認証サーバ10は、FIDO認証に関するメッセージ(生成指示や後述する取得指示)生成機能を有していないため、FIDO認証に関するメッセージ生成機能を有するFIDOサーバ1へサービス提供サーバ20を介してメッセージ生成を依頼する。これにより、FIDO認証に関するメッセージ生成機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0105】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS209)。
【0106】
つづいて、認証器は、鍵ペア(秘密鍵および公開鍵)を生成し(ステップS210)、公開鍵をサービス提供サーバ20へ送信する(ステップS211)。
【0107】
つづいて、サービス提供サーバ20は、アテステーション情報およびユーザ情報(生体情報および公開鍵)をFIDOサーバ1へ送信する(ステップS212)。なお、サービス提供サーバ20は、アテステーション情報とともに付加情報を送信してもよい。
【0108】
つづいて、FIDOサーバ1は、アテステーション情報の検証、連携IDの付与、公開鍵の登録を行うとともに、アテステーション情報の検証結果に基づいて認証登録コンテキストを生成する(ステップS213)。
【0109】
つづいて、FIDOサーバ1は、認証登録コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信(ステップS214)、サービス提供サーバ20は、認証登録コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS215)。つまり、ステップS210~S215において、制御部3は、生成指示に従って認証器で生成された鍵ペアのうち、公開鍵をサービス提供サーバ20を介して取得し、取得した公開鍵を連携IDと紐付けて記憶するとともに、連携IDをサービス提供サーバ20を介して認証サーバ10へ通知する。また、制御部3は、公開鍵を取得する際に、認証器のアテステーション情報をサービス提供サーバ20を介して取得し、アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成してサービス提供サーバ20を介して認証サーバ10へ通知する。つまり、認証サーバ10は、アテステーション情報やアサーション情報の検証機能(アテステーション情報やアサーション情報の読取機能含む)を有していないため、アテステーション情報やアサーション情報の検証機能を有するFIDOサーバ1へサービス提供サーバ20を介してアテステーション情報やアサーション情報の検証を依頼する。これにより、アテステーション情報やアサーション情報の検証機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0110】
つづいて、認証サーバ10は、認証登録コンテキストの検証および連携IDをユーザIDに紐付けて保管する(ステップS216)。
【0111】
つづいて、認証サーバ10は、認証登録コンテキストの検証の結果、問題無ければ、クレデンシャル生成応答をサービス提供サーバ20へ送信する(ステップS217)。つづいて、サービス提供サーバ20は、登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS218)。
【0112】
〔別ドメイン時の認証処理(その1)〕
次に、図12を参照して、実施形態に係る認証システムSにおけるユーザの認証処理について説明する。図12は、実施形態に係る認証システムSによって実行される認証処理の一例を示すシーケンス図である。
【0113】
図11に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対してアクセス(またはログイン)要求を送信する(ステップS301)。
【0114】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル取得要求を送信する(ステップS302)。このクレデンシャル取得要求には、ユーザIDの情報が含まれる。
【0115】
つづいて、認証サーバ10は、取得したクレデンシャル取得要求を連携IDおよびリダイレクト先(FIDOサーバ1)の情報とともにサービス提供サーバ20へ返信し(ステップS303)、サービス提供サーバ20は、クレデンシャル取得要求および連携IDをFIDOサーバ1へリダイレクトする(ステップS304)。つづいて、FIDOサーバ1は、クレデンシャル取得要求および連携IDに基づいて、対応する公開鍵を選択し、選択した公開鍵に対応するユーザ情報(認証のための生体情報等)の取得指示メッセージを作成する(ステップS305)。
【0116】
つづいて、FIDOサーバ1は、取得指示メッセージをサービス提供サーバ20へ送信する(ステップS306)。
【0117】
つづいて、サービス提供サーバ20は、認証のためのユーザ情報の取得指示メッセージを、認証器に対して送信する(ステップS307)。つまり、ステップS301~S307において、制御部3は、ユーザ端末30からサービス提供サーバ20に対してアクセスを要求された場合に、認証サーバ10を介してサービス提供サーバ20から対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示をサービス提供サーバ20を介して認証器へ通知する。
【0118】
つづいて、認証器は、取得指示に基づいてユーザ検証要求を送信する(ステップS308)。つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS309)。
【0119】
つづいて、認証器は、入力された生体情報に基づいて、秘密鍵へアクセスし、アサーション情報を生成する(ステップS310)。具体的には、認証器は、入力された生体情報に基づいて、ユーザを認証して認証結果を生成するとともに、対応する秘密鍵を用いて認証結果に署名した署名付き認証結果の証明書をアサーション情報として生成する。つづいて、認証器は、アサーション情報をサービス提供サーバ20へ送信する(ステップS311)。
【0120】
つづいて、サービス提供サーバ20は、アサーション情報をFIDOサーバ1へ送信する(ステップS312)。なお、サービス提供サーバ20は、アサーション情報と併せて付加情報を送信してもよい。
【0121】
つづいて、FIDOサーバ1は、アサーション情報の検証を行うとともに、アサーション情報の検証結果に基づいて認証結果コンテキストを生成する(ステップS313)。
【0122】
つづいて、FIDOサーバ1は、認証結果コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信し(ステップS314)、サービス提供サーバ20は、認証結果コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS315)。つまり、ステップS310~S315において、制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報をサービス提供サーバ20を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成してサービス提供サーバ20を介して認証サーバ10へ通知する。
【0123】
つづいて、認証サーバ10は、認証結果コンテキストの検証を行い、検証の結果、問題無ければ、サービスへのアクセス要求を承認し(ステップS316)、承認したことを示すクレデンシャル取得応答をサービス提供サーバ20へ送信する(ステップS317)。つづいて、サービス提供サーバ20は、アクセスが承認された旨を示すアクセス応答をユーザ端末30へ送信するとともに(ステップS318)、ユーザ端末30へサービスを提供する。
【0124】
図13および図14を用いて、リダイレクト時に委任状によって認証サーバ10を明示する場合の動作例について説明する。
【0125】
〔別ドメイン時の登録処理(その2)〕
まず、図13を参照して、実施形態に係る認証システムSにおけるユーザの登録処理について説明する。図13は、実施形態に係る認証システムSによって実行される登録処理の一例を示すシーケンス図である。
【0126】
図13に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対して登録要求を送信する(ステップS401)。
【0127】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル生成要求を送信する(ステップS402)。
【0128】
つづいて、認証サーバ10は、取得したクレデンシャル生成要求にFIDOサーバ1への委任状を添えて、リダイレクト先(FIDOサーバ1)の情報とともにサービス提供サーバ20へ返信し(ステップS403)、サービス提供サーバ20は、FIDOサーバ1へクレデンシャル生成要求をリダイレクトする(ステップS404)。この委任状は、FIDOサーバ1に対してFIDO認証の登録を委任することを明示的に示す情報であり、委任元である認証サーバ10の情報を含む。つづいて、FIDOサーバ1は、クレデンシャル生成要求に基づいて、鍵ペアの生成指示メッセージを作成する(ステップS405)。
【0129】
つづいて、FIDOサーバ1は、鍵ペアの生成指示メッセージをサービス提供サーバ20へ送信する(ステップS406)。
【0130】
つづいて、サービス提供サーバ20は、鍵ペアの生成指示メッセージを、認証器に対して送信する(ステップS407)。つづいて、認証器は、ユーザ検証要求を送信する(ステップS408)。
【0131】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS409)。
【0132】
つづいて、認証器は、鍵ペア(秘密鍵および公開鍵)を生成し(ステップS410)、公開鍵をサービス提供サーバ20へ送信する(ステップS411)。
【0133】
つづいて、サービス提供サーバ20は、アテステーション情報およびユーザ情報(生体情報および公開鍵)をFIDOサーバ1へ送信する(ステップS412)。
【0134】
つづいて、FIDOサーバ1は、アテステーション情報の検証、連携IDの付与、公開鍵の登録を行うとともに、アテステーション情報の検証結果に基づいて認証登録コンテキストを生成する(ステップS413)。
【0135】
つづいて、FIDOサーバ1は、認証登録コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信(ステップS414)、サービス提供サーバ20は、認証登録コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS415)。
【0136】
つづいて、認証サーバ10は、認証登録コンテキストの検証および連携IDをユーザIDに紐付けて保管する(ステップS416)。
【0137】
つづいて、認証サーバ10は、認証登録コンテキストの検証の結果、問題無ければ、クレデンシャル生成応答をサービス提供サーバ20へ送信する(ステップS417)。つづいて、サービス提供サーバ20は、登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS418)。
【0138】
〔別ドメイン時の認証処理(その2)〕
次に、図14を参照して、実施形態に係る認証システムSにおけるユーザの認証処理について説明する。図14は、実施形態に係る認証システムSによって実行される認証処理の一例を示すシーケンス図である。
【0139】
図14に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対してアクセス(またはログイン)要求を送信する(ステップS501)。
【0140】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル取得要求を送信する(ステップS502)。このクレデンシャル取得要求には、ユーザIDの情報が含まれる。
【0141】
つづいて、認証サーバ10は、取得したクレデンシャル取得要求を連携IDおよびリダイレクト先(FIDOサーバ1)の情報とともに、FIDOサーバ1への委任状を添えて、サービス提供サーバ20へ返信し(ステップS503)、サービス提供サーバ20は、クレデンシャル取得要求および連携IDをFIDOサーバ1へリダイレクトする(ステップS504)。この委任状は、FIDOサーバ1に対してFIDO認証の認証を委任することを明示的に示す情報であり、委任元である認証サーバ10の情報を含む。つづいて、FIDOサーバ1は、クレデンシャル取得要求および連携IDに基づいて、対応する公開鍵を選択し、選択した公開鍵に対応するユーザ情報(認証のための生体情報等)の取得指示メッセージを作成する(ステップS505)。
【0142】
つづいて、FIDOサーバ1は、取得指示メッセージをサービス提供サーバ20へ送信する(ステップS506)。
【0143】
つづいて、サービス提供サーバ20は、認証のためのユーザ情報の取得指示メッセージを、認証器に対して送信する(ステップS507)。
【0144】
つづいて、認証器は、取得指示に基づいてユーザ検証要求を送信する(ステップS508)。つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS509)。
【0145】
つづいて、認証器は、入力された生体情報に基づいて、秘密鍵へアクセスし、アサーション情報を生成する(ステップS510)。具体的には、認証器は、入力された生体情報に基づいて、ユーザを認証して認証結果を生成するとともに、対応する秘密鍵を用いて認証結果に署名した署名付き認証結果の証明書をアサーション情報として生成する。つづいて、認証器は、アサーション情報をサービス提供サーバ20へ送信する(ステップS511)。
【0146】
つづいて、サービス提供サーバ20は、アサーション情報をFIDOサーバ1へ送信する(ステップS512)。
【0147】
つづいて、FIDOサーバ1は、アサーション情報の検証を行うとともに、アサーション情報の検証結果に基づいて認証結果コンテキストを生成する(ステップS513)。
【0148】
つづいて、FIDOサーバ1は、認証結果コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信し(ステップS514)、サービス提供サーバ20は、認証結果コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS515)。
【0149】
つづいて、認証サーバ10は、認証結果コンテキストの検証を行い、検証の結果、問題無ければ、サービスへのアクセス要求を承認し(ステップS516)、承認したことを示すクレデンシャル取得応答をサービス提供サーバ20へ送信する(ステップS517)。つづいて、サービス提供サーバ20は、アクセスが承認された旨を示すアクセス応答をユーザ端末30へ送信するとともに(ステップS518)、ユーザ端末30へサービスを提供する。
【0150】
ここで、図15図17を用いて、認証システムSにおけるリカバリーの動作例について説明する。なお、上述の説明では、ユーザ端末30とFIDOサーバ1および認証サーバ10との間にサービス提供サーバ20が存在するが、図15図17の説明では、サービス提供サーバ20の記載および説明を省略している。また、以下では、図15および図16を用いて、FIDOサーバ1および認証サーバ10がリカバリーのための属性ベース署名用の秘密鍵を送付する場合の動作例を説明し、図17を用いて、FIDOサーバ1および認証サーバ10がリカバリーのための属性ベース署名用の秘密鍵を生成するためのシードを送付する場合の動作例を説明する。
【0151】
実施形態に係る認証システムSは、通常使用する第1認証器に対してバックアップ用の第2認証器のリカバリー鍵ペアを生成する機能と、第1認証器を有するユーザ端末30が利用不能であるときに第2認証器のリカバリー鍵ペアを検証する機能とを有する。そして、認証システムSは、FIDO認証を導入したアカウントシステムにおいて、第1認証器の鍵ペアと第2認証器のリカバリー鍵ペアとの間に、属性ベース暗号技術を導入する。属性ベース暗号技術は、公開鍵暗号技術の一種であり、暗号文または鍵に属性を関連付け、特定の属性集合を持つユーザのみがリカバリーできる技術である。従来の公開鍵暗号方式では、秘密鍵の発行に応じて人数分の暗号処理が必要であった。しかし、属性ベース暗号では、ある1つの暗号文に対してリカバリー可能なユーザが複数存在できる。暗号文に、リカバリーできるユーザの情報(属性)を制御条件として組み込んで暗号化し、その属性(集合)を持っている人しか、暗号化データをリカバリーできなくする。
【0152】
公開鍵暗号の応用として、公開鍵署名がある。公開鍵暗号では、公開鍵を使ってデータを暗号化し、その暗号化データを受け取った人は、公開鍵に対応する秘密鍵を使ってリカバリーする。秘密鍵がないとリカバリーすることができない。属性ベース暗号では、属性に合致する人しかリカバリーすることができない。一方、署名は、反対に、秘密鍵を使ってデータに署名し、受け取った人は、データの署名を公開鍵を使って検証する。属性ベース暗号に対応する署名は、属性ベース署名と呼んでおり、FIDO認証においても、公開鍵暗号における署名を検証することが基本である。認証システムSは、属性ベース署名を応用する。
【0153】
まず、図15および図16を用いて、FIDOサーバ1および認証サーバ10がリカバリーのための属性ベース署名用の秘密鍵を送付する場合の動作例を説明する。
【0154】
〔リカバリー登録処理〕
ここで、図15を参照して、実施形態に係る認証システムSにおけるリカバリー登録処理について説明する。図15は、実施形態に係る認証システムSによって実行されるリカバリー登録処理の一例を示すシーケンス図である。なお、図15では、利用中のユーザ端末30の第1認証器と、バックアップ用のユーザ端末30Aの第2認証器とを示している。また、認証サーバ10の処理は、FIDOサーバ1の処理を含むものとする。
【0155】
図15に示すリカバリー登録処理とは、利用中のユーザ端末30(第1認証器)の紛失時、盗難時、故障時などに、再認証するためのバックアップ用の第2認証器(ユーザ端末30A)を登録する処理である。図15に示すように、まず、ユーザは、ユーザ端末30を用いて、認証サーバ10との間でFIDO認証を行う(ステップS601)。このFIDO認証は、例えば、図10を用いて説明したユーザ認証処理により行う。
【0156】
つづいて、ユーザは、ユーザ端末30を用いて、認証サーバ10に対してリカバリー要求を送信する(ステップS602)。リカバリー要求とは、第2認証器を第1認証器のバックアップ用の認証器として登録する要求することである。この場合、属性として、第2認証器の連携IDを送信する。
【0157】
但し、属性は、第2認証器の連携IDに限定されるものではない。例えば、部長グループというように、人のグループに該当する情報を属性としてもよい。また、位置情報データ(時系列)セット、コンテキストデータセット、行動情報セットを属性としてもよい。また、属性は、属性証明書もあってよい。この場合、属性情報自体は、検証が必要なこともあるが、属性情報の検証を認証サーバ10で実行してもよい。
側性としての位置情報の時系列データセットを機械学習し、所定の位置情報データセットが条件を満たす場合に、条件を満たしていることを検証したことを証明する位置情報証明書を認証サーバ10に送付してもよい。
【0158】
つづいて、認証サーバ10は、取得したリカバリー要求の確認を第1認証器へ送信する(ステップS603)。ここで、認証サーバ10は、第2認証器の連携IDを第1認証器へ送信する。つづいて、第1認証器は、リカバリー要求の確認(第2認証器の連携ID)をユーザ端末30へ送信する(ステップS604)。ユーザは、ユーザ端末30を用いて、リカバリー要求の確認(FIDO認証)を行う(ステップS605)。
【0159】
つづいて、ユーザは、ユーザ端末30を用いて、リカバリー要求の確認の応答を第1認証器に送信する(ステップS606)。つづいて、第1認証器は、リカバリー要求の確認応答(リカバリー確認アサーション)を認証サーバ10へ送信する(ステップS607)。
【0160】
認証サーバ10は、リカバリー確認応答に対して、マスター鍵およびリカバリー鍵ペア(公開鍵および公開鍵)を生成し、リカバリー公開鍵を登録する(ステップS608)。この場合、リカバリー鍵ペアは、属性ベース暗号に基づいて生成されたものである。
【0161】
つづいて、認証サーバ10は、リカバリー登録応答をユーザ端末30へ送信する(ステップS609)。ユーザは、ユーザ端末30に、例えば、USBを介してバックアップ用のユーザ端末30Aを接続し、ユーザ端末30とユーザ端末30Aとを通信可能な状態とする(ステップS610)。つづいて、ユーザは、ユーザ端末30を用いて、リカバリー登録要求を第2認証器(ユーザ端末30A)へ送信する(ステップS611)。つづいて、第2認証器(ユーザ端末30A)は、リカバリー秘密鍵の生成要求を認証サーバ10へ送信する(ステップS612)。
【0162】
つづいて、認証サーバ10は、リカバリー秘密鍵の生成要求に対する応答として、リカバリー秘密鍵を第2認証器へ送信する(ステップS613)。第2認証器は、リカバリー秘密鍵を登録して保管する(ステップS614)。つづいて、第2認証器は、リカバリー秘密鍵の登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS615)。
【0163】
〔リカバリー認証処理〕
次に、図16を参照して、実施形態に係る認証システムSにおけるリカバリー認証処理について説明する。図16は、実施形態に係る認証システムSによって実行されるリカバリー認証処理の一例を示すシーケンス図である。
【0164】
図16に示すリカバリー認証処理とは、第1認証器を有するユーザ端末30の紛失時、盗難時、故障時した場合に、登録済の第2認証器を有するユーザ端末30Aを用いて認証する処理である。図16に示すように、ユーザは、第1認証器を有するユーザ端末30を紛失、盗難、故障してしまう(ステップS701)。すると、まず、ユーザは、バックアップ用のユーザ端末30Aを用いて、第2認証器に対してリカバリー実施要求を送信する(ステップS702)。リカバリー実施要求とは、第2認証器をリカバリー用の認証器として登録する要求することである。
【0165】
つづいて、第2認証器は、リカバリー実施要求を認証サーバ10へ送信する(ステップS703)。つづいて、認証サーバ10は、認証器検証要求を第2認証器へ送信する(ステップS704)。第2認証器は、認証器確認要求をユーザ端末30Aへ送信する(ステップS705)。つづいて、ユーザは、第2認証器を認証(FIDO認証)する(ステップS706)。つついて、ユーザは、ユーザ端末30Aを用いて、認証器確認応答を第2認証器へ送信する(ステップS707)。第2認証器は、認証器確認応答に対するアサーションを作成し、アサーションにリカバリー秘密鍵で署名する(ステップS708)。
【0166】
つづいて、第2認証器は、認証器検証応答(署名付きアサーション)を認証サーバ10へ送信する(ステップS709)。つづいて、認証サーバ10は、リカバリー秘密鍵での署名を検証し、第2認証器のリカバリー権限(アクセス制御)を確認する(ステップS710)。つづいて、認証サーバ10は、リカバリー応答を第2認証器へ送信する(ステップS711)。
【0167】
つづいて、第2認証器は、リカバリー実施応答をユーザ端末30Aへ送信する(ステップS712)。つづいて、ユーザは、ユーザ端末30Aを用いて、リカバリー後処理を第2認証器へ送信する(ステップS713)。第2認証器は、リカバリー後処理を認証サーバ10へ送信する(ステップS714)。つづいて、認証サーバ10は、リカバリー後処理として、例えば、第1認証器の公開鍵の削除などの処理を行う(ステップS715)。認証サーバ10は、リカバリー後処理応答を第2認証器へ送信する(ステップS716)。第2認証器は、リカバリー後処理応答をユーザ端末30Aへ送信する(ステップS717)。
【0168】
次に、図17を用いて、FIDOサーバ1および認証サーバ10がリカバリーのための属性ベース署名用の秘密鍵を生成するためのシードを送付する場合の動作例を説明する。
【0169】
〔リカバリー登録処理〕
ここで、図17を参照して、実施形態に係る認証システムSにおけるリカバリー登録処理について説明する。図17は、実施形態に係る認証システムSによって実行されるリカバリー登録処理の一例を示すシーケンス図である。
【0170】
図17に示すように、まず、ユーザは、ユーザ端末30を用いて、認証サーバ10との間でFIDO認証を行う(ステップS801)。このFIDO認証は、例えば、図10を用いて説明したユーザ認証処理により行う。
【0171】
つづいて、ユーザは、ユーザ端末30を用いて、認証サーバ10に対してシード登録要求を送信する(ステップS802)。シード登録要求とは、第2認証器を第1認証器のバックアップ用の認証器として登録する要求することである。この場合、属性として、第2認証器の連携IDを送信する。
【0172】
つづいて、認証サーバ10は、取得したシード登録要求の確認を第1認証器へ送信する(ステップS803)。ここで、認証サーバ10は、第2認証器の連携IDを第1認証器へ送信する。つづいて、第1認証器は、リカバリー要求の確認(第2認証器の連携ID)をユーザ端末30へ送信する(ステップS804)。ユーザは、ユーザ端末30を用いて、リカバリー要求の確認(FIDO認証)を行う(ステップS805)。
【0173】
つづいて、ユーザは、ユーザ端末30を用いて、リカバリー要求の確認の応答を第1認証器に送信する(ステップS806)。つづいて、第1認証器は、リカバリー要求の確認応答に対してシードを生成するとともに、リカバリー鍵ペア(公開鍵および公開鍵)を生成する(ステップS807)。第1認証器は、リカバリー確認応答(リカバリー確認アサーションおよびシード)を認証サーバ10へ送信する(ステップS808)。
【0174】
認証サーバ10は、リカバリー確認応答に対して、マスター鍵およびリカバリー鍵ペア(公開鍵および公開鍵)を生成し、シードを保管する(ステップS809)。この場合、リカバリー鍵ペアは、属性ベース暗号に基づいて生成されたものである。
【0175】
つづいて、認証サーバ10は、リカバリー登録応答(シードのURL)をユーザ端末30へ送信する(ステップS810)。ユーザは、ユーザ端末30に、例えば、USBを介してバックアップ用のユーザ端末30Aを接続し、ユーザ端末30とユーザ端末30Aとを通信可能な状態とする(ステップS811)。つづいて、ユーザは、ユーザ端末30を用いて、リカバリー登録要求(シードのURL)を第2認証器へ送信する(ステップS812)。つづいて、第2認証器は、シード要求を認証サーバ10へ送信する(ステップS813)。
【0176】
つづいて、認証サーバ10は、シード要求に対するシード応答として、シードおよび秘密鍵の作成方法を第2認証器へ送信する(ステップS814)。第2認証器は、シードからリカバリー秘密鍵を生成し、生成した秘密鍵を登録して保管する(ステップS815)。つづいて、第2認証器は、リカバリー秘密鍵の登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS816)。
【0177】
リカバリー認証処理は、図16で説明したものと同様である。
【0178】
上述したリカバリー登録処理およびリカバリー認証処理において、第1認証器のバックアップ用として1つの第2認証器を用意したが、複数の認証器を用意してもよい。また、認証サーバ10が属性ベース暗号に基づいたリカバリー鍵の生成機能と検証機能を有するものとしたが、第1認証器がその機能を有していてもよく、別の装置がリカバリー鍵の生成機能と検証機能を有していてもよい。すなわち、認証サーバ10から第1認証器を経由した第2認証器への秘密鍵の送信は、様々な方法が考えられる。例えば、第1認証器に直接に秘密鍵を送付し、第1認証器と第2認証器の間ではQRコード(登録商標)などの2次元コードや各種の通信機器を用いて情報を共有してもよい。また、認証サーバ10に秘密鍵アクセス用のサービスのURLを第1認証器を経由して第2認証器に通知し、第2認証器がそのURLにアクセスして入手してもよい。また、DH法(Diffie-Hellman鍵共有法)のような情報共有方法を用いてもよい。そして、グループ署名技術も代替技術として採用可能である。また、第2認証器が複数の秘密鍵を格納してもよい。
【0179】
〔その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0180】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0181】
例えば、図2に示した記憶部4、図3に示した記憶部13、図5に示した記憶部23、図6に示した記憶部33それぞれの一部又は全部は、各装置によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、各装置は、ストレージサーバにアクセスすることで、各種情報を取得する。
【0182】
〔ハードウェア構成〕
また、上述してきた実施形態に係るFIDOサーバ1は、例えば図18に示すような構成のコンピュータ1000によって実現される。図18は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0183】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0184】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0185】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0186】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0187】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0188】
例えば、コンピュータ1000がFIDOサーバ1として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部3の機能を実現する。
【0189】
〔効果〕
上述してきたように、実施形態に係る情報処理装置(FIDOサーバ1)は、制御部3を備える。制御部3は、FIDO認証ための認証器を有するユーザ端末30から送信されたFIDO認証のための鍵ペアの生成要求を認証サーバ10から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示を認証サーバ10を介して認証器へ通知する。制御部3は、生成指示に従って認証器で生成された鍵ペアのうち、公開鍵を認証サーバ10を介して取得し、取得した公開鍵を連携IDと紐付けて記憶するとともに、連携IDを認証サーバ10へ通知する。制御部3は、公開鍵を取得する際に、認証器のアテステーション情報を認証サーバ10を介して取得し、アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成して認証サーバ10へ通知する。制御部3は、ユーザ端末30からアクセスを要求されたサービス提供サーバ20から認証サーバ10を介して対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示を認証サーバ10を介して認証器へ通知する。制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報を認証サーバ10を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成して認証サーバ10へ通知する。制御部3は、アサーション情報とともに、ユーザに関する付加情報を取得し、アサーション情報および付加情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成する。付加情報は、少なくともユーザの位置情報を含む。このような構成により、FIDOによる認証技術を容易に導入することができる。
【0190】
また、上述してきたように、実施形態に係る実施形態に係る情報処理装置(FIDOサーバ1)は、制御部3を備える。制御部3は、第1認証器を有するユーザ端末30からバックアップ用の第2認証器のリカバリー登録要求を認証サーバ10から取得し、登録要求に基づいて第2認証器のリカバリー鍵ペアを生成し、生成された鍵ペアのうちの、公開鍵を連携IDと紐付けて記憶し、秘密鍵を第2認証器に保管する。第1認証器を有するユーザ端末30が利用不能であるとき、制御部3は、第2認証器を有するユーザ端末30Aから送信された第2認証器のリカバリー実施要求を認証サーバ10から取得し、リカバリー実施要求に基づいて第2認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報を取得し、アサーション情報の検証結果に基づいて、第2認証器のリカバリー権限を確認する。制御部3は、第2認証器のリカバリー権限を確認したリカバリー応答を第2認証器を介してユーザ端末30Aへ送信する。このような構成により、登録済の認証器が利用不能になったときのアカウントの復旧を可能とする。
【0191】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0192】
〔その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0193】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0194】
また、上述してきた実施形態に記載した各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0195】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部3は、制御手段や制御回路に読み替えることができる。
【符号の説明】
【0196】
1 FIDOサーバ
2、11、31 通信部
3、12、32 制御部
4、13、33 記憶部
10 認証サーバ
20 サービス提供サーバ
30 ユーザ端末
S 認証システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18