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

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

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

特許7232863情報処理装置、情報処理方法および情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図8
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図9
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図10
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図11
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図12
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図13
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図14
  • 特許-情報処理装置、情報処理方法および情報処理プログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-22
(45)【発行日】2023-03-03
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20230224BHJP
   G06F 21/32 20130101ALI20230224BHJP
   G06F 21/33 20130101ALI20230224BHJP
【FI】
H04L9/32 200B
H04L9/32 100D
G06F21/32
G06F21/33
【請求項の数】 4
(21)【出願番号】P 2021070648
(22)【出願日】2021-04-19
(65)【公開番号】P2022165317
(43)【公開日】2022-10-31
【審査請求日】2021-11-18
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】五味 秀仁
(72)【発明者】
【氏名】大神 渉
【審査官】金沢 史明
(56)【参考文献】
【文献】国際公開第2019/239591(WO,A1)
【文献】加藤 圭佑,作って学ぶ WebAuthn,WEB+DB PRESS,日本,(株)技術評論社,2020年01月04日,Vol. 114,pp. 40-67
【文献】上野 博司,Web Authentication API,WEB+DB PRESS,日本,(株)技術評論社,2018年11月07日,Vol. 107,pp. 112-120
【文献】五味 秀仁,FIDO2の最新動向,シェルスクリプトマガジン,日本,(有)USP研究所,2021年01月25日,Vol. 70,pp. 14-25
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/30-21/46
(57)【特許請求の範囲】
【請求項1】
認証サーバとインターネット上におけるアドレスが同じであるFIDOサーバである情報処理装置であって、
FIDO認証のための認証器を有するユーザ端末からサービス提供サーバに送信された登録要求に従って前記サービス提供サーバで生成された生成要求であって、前記FIDO認証のための鍵ペアの生成要求を前記認証サーバを介して取得し、前記生成要求に基づいて前記認証器に前記鍵ペアを生成させる生成指示を生成し、前記生成指示を前記認証サーバを介して前記認証器へ通知する制御部を備え、
前記制御部は、
前記生成指示に従って前記認証器で生成された前記鍵ペアのうち、公開鍵を前記認証サーバを介して取得し、取得した前記公開鍵を連携IDと紐付けて記憶するとともに、前記連携IDを前記認証サーバへ通知し、前記ユーザ端末からアクセスを要求されたサービス提供サーバから前記認証サーバを介して対象のユーザに対応する前記連携IDとともに認証要求を取得し、前記連携IDに対応する認証情報の取得指示を生成し、前記取得指示を前記認証サーバを介して前記認証器へ通知し、前記取得指示に従って前記認証器で取得された前記認証情報に秘密鍵を使って署名されたアサーション情報を前記認証サーバを介して取得するとともに、前記ユーザに関する付加情報を取得し、前記アサーション情報および前記付加情報の検証結果に基づいて、前記ユーザの認証可否を示す認証結果コンテキストを生成して前記認証サーバへ通知し、
前記付加情報は、
前記ユーザの位置情報、前記ユーザの行動情報、および前記ユーザの属性情報を含むこと
を特徴とする情報処理装置。
【請求項2】
前記制御部は、
前記公開鍵を取得する際に、前記認証器のアテステーション情報を前記認証サーバを介して取得し、前記アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成して前記認証サーバへ通知すること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
認証サーバとインターネット上におけるアドレスが同じであるFIDOサーバであるコンピュータが実行する情報処理方法であって、
FIDO認証のための認証器を有するユーザ端末からサービス提供サーバに送信された登録要求に従って前記サービス提供サーバで生成された生成要求であって、前記FIDO認証のための鍵ペアの生成要求を前記認証サーバを介して取得し、前記生成要求に基づいて前記認証器に前記鍵ペアを生成させる生成指示を生成し、前記生成指示を前記認証サーバを介して前記認証器へ通知する制御工程を含み、
前記制御工程は、
前記生成指示に従って前記認証器で生成された前記鍵ペアのうち、公開鍵を前記認証サーバを介して取得し、取得した前記公開鍵を連携IDと紐付けて記憶するとともに、前記連携IDを前記認証サーバへ通知し、前記ユーザ端末からアクセスを要求されたサービス提供サーバから前記認証サーバを介して対象のユーザに対応する前記連携IDとともに認証要求を取得し、前記連携IDに対応する認証情報の取得指示を生成し、前記取得指示を前記認証サーバを介して前記認証器へ通知し、前記取得指示に従って前記認証器で取得された前記認証情報に秘密鍵を使って署名されたアサーション情報を前記認証サーバを介して取得するとともに、前記ユーザに関する付加情報を取得し、前記アサーション情報および前記付加情報の検証結果に基づいて、前記ユーザの認証可否を示す認証結果コンテキストを生成して前記認証サーバへ通知し、
前記付加情報は、
前記ユーザの位置情報、前記ユーザの行動情報、および前記ユーザの属性情報を含むこと
を特徴とする情報処理方法。
【請求項4】
認証サーバとインターネット上におけるアドレスが同じであるFIDOサーバであるコンピュータに実行させる情報処理プログラムであって、
FIDO認証のための認証器を有するユーザ端末からサービス提供サーバに送信された登録要求に従って前記サービス提供サーバで生成された生成要求であって、前記FIDO認証のための鍵ペアの生成要求を前記認証サーバを介して取得し、前記生成要求に基づいて前記認証器に前記鍵ペアを生成させる生成指示を生成し、前記生成指示を前記認証サーバを介して前記認証器へ通知する制御手順をコンピュータに実行させ、
前記制御手順は、
前記生成指示に従って前記認証器で生成された前記鍵ペアのうち、公開鍵を前記認証サーバを介して取得し、取得した前記公開鍵を連携IDと紐付けて記憶するとともに、前記連携IDを前記認証サーバへ通知し、前記ユーザ端末からアクセスを要求されたサービス提供サーバから前記認証サーバを介して対象のユーザに対応する前記連携IDとともに認証要求を取得し、前記連携IDに対応する認証情報の取得指示を生成し、前記取得指示を前記認証サーバを介して前記認証器へ通知し、前記取得指示に従って前記認証器で取得された前記認証情報に秘密鍵を使って署名されたアサーション情報を前記認証サーバを介して取得するとともに、前記ユーザに関する付加情報を取得し、前記アサーション情報および前記付加情報の検証結果に基づいて、前記ユーザの認証可否を示す認証結果コンテキストを生成して前記認証サーバへ通知し、
前記付加情報は、
前記ユーザの位置情報、前記ユーザの行動情報、および前記ユーザの属性情報を含むこと
を特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
近年、利用者の認証を容易にするための技術が提案されている。例えば、ファイド(FIDO(登録商標))と呼ばれる認証技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-230520号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、FIDOによる認証技術を容易に導入する点で改善の余地があった。具体的には、FIDOによる認証技術を導入する場合、FIDOに対応する機能を認証サーバに追加したり、改修したりする必要があり、FIDOの導入に対する障壁となるおそれがあった。
【0005】
本願は、上記に鑑みてなされたものであって、FIDOによる認証技術を容易に導入することができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、制御部を備える。前記制御部は、FIDO認証のための認証器を有するユーザ端末から認証サーバに送信された前記FIDO認証のための鍵ペアの生成要求を前記認証サーバから取得し、前記生成要求に基づいて前記認証器に前記鍵ペアを生成させる生成指示を生成し、前記生成指示を前記認証サーバを介して前記認証器へ通知する。
【発明の効果】
【0007】
実施形態の一態様によれば、FIDOによる認証技術を容易に導入することができるという効果を奏する。
【図面の簡単な説明】
【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は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【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認証を行うための機能を有したFIDOサーバを認証サーバとは別に配置し、認証サーバがFIDO認証の機能をFIDOサーバから呼び出せるようにした。
【0017】
図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以降で詳細に後述する。
【0018】
ユーザ端末30は、サービスを受けようとするユーザが扱う端末装置である。ユーザ端末30は、スマートフォン、デスクトップ型PC、ノート型PC、タブレット型PC等の任意のタイプの端末装置を用いることができる。
【0019】
また、ユーザ端末30は、サービス提供サーバ20にアクセスすることで、サービス提供サーバ20が提供するサービスを利用することができる。本開示では、サービスを受けるためのユーザの登録および認証をFIDO認証に行う。なお、登録処理および認証処理については、図9以降で詳細に後述する。
【0020】
また、ユーザ端末30は、FIDO認証のための認証器を有する。認証器は、例えば、ユーザの生体認証を行うための機能を有する。生体認証は、指紋、虹彩、顔等の生体情報を検知して行う。なお、認証器は、ユーザ端末30に内蔵される場合に限らず、ユーザ端末30に対してUSB(Universal Serial Bus)キー等で外付けされてもよい。また、認証器は、ユーザの本人性の検証結果に対して電子署名を行うための秘密鍵を保管している。この秘密鍵は、後述する公開鍵とともに鍵ペアとして認証器によって生成される。
【0021】
サービス提供サーバ20は、各種サービスを提供するサーバである。サービス提供サーバ20が提供するサービスは、例えば、ブラウザや、インターネットショッピング、電子商店街等の電子商取引サービス等を含む。
【0022】
サービス提供サーバ20は、ユーザ端末30がサービスへのアクセスを要求した場合に、ユーザの認証を認証サーバ10に対して依頼し、認証サーバ10によってユーザが認証された場合に、ユーザ端末30によるサービスへのアクセスを承認する。
【0023】
認証サーバ10は、サービスへのアクセスを要求したユーザの本人性を認証するサーバである。認証サーバ10は、FIDOサーバ1の機能を利用することで、FIDO認証のための登録処理や、認証処理を実現する。具体的には、認証サーバ10は、サービスにユーザを登録する登録処理において、FIDO認証に必要な鍵ペアを認証器に生成させるためのメッセージ作成をFIDOサーバ1に依頼したり、認証器のアテステーション情報の検証や、認証器から送信されるアサーション情報の検証をFIDOサーバ1に依頼する。
【0024】
また、図1に示すように、認証サーバ10は、ユーザID管理機能と、認証に関するコンテキスト読み取り・検証機能と、アサーション送信機能とを有する。
【0025】
ユーザID管理機能とは、ユーザを識別する識別子であるユーザIDと、FIDOサーバ1および認証サーバ10の間で利用するユーザの識別子である連携IDとを紐付けて記憶し、利用する機能である。
【0026】
認証に関するコンテキスト読み取り・検証機能とは、FIDOサーバ1によって生成される認証登録コンテキストや、認証結果コンテキストを読み取り、妥当性を検証する機能である。認証登録コンテキストは、登録処理時のアテステーション情報の検証結果や、登録された認証手段(生体認証等)に関する情報を含んだコンテキストである。認証結果コンテキストは、認証処理時のアサーション情報の検証結果や、ユーザが行った認証手段の情報等を含んだコンテキストである。
【0027】
アサーション送信機能とは、認証器によって生成されたアサーション情報をFIDOサーバ1へ送信する機能である。アサーション情報とは、秘密鍵を用いて、認証器の認証結果に署名した情報である。具体的には、アサーション情報とは、署名付き認証結果の証明書である。
【0028】
FIDOサーバ1は、FIDO認証に関する処理を行う情報処理装置である。FIDOサーバ1は、認証サーバ10と論理的に分離しており、同一ドメイン、あるいは、別ドメインに設置される。
【0029】
図1に示すように、FIDOサーバ1は、FIDOメッセージ生成・検証機能と、認証に関するコンテキスト生成・送信機能と、連携ID管理機能とを有する。
【0030】
FIDOメッセージ生成・検証機能とは、FIDO認証に関するメッセージを生成したり、検証したりする機能である。FIDO認証に関するメッセージは、例えば、クレデンシャル生成オプションメッセージ(鍵ペアの生成指示メッセージ)や、アテステーション情報に関するメッセージ、アサーション情報に関するメッセージである。
【0031】
認証に関するコンテキスト生成・送信機能とは、上述した認証登録コンテキストや、認証結果コンテキストを生成し、認証サーバ10へ送信する機能である。連携ID管理機能とは、認証器によって生成された公開鍵を連携IDと紐付けて記憶し、利用する機能である。
【0032】
このように、認証システムSでは、FIDO認証に関する機能をFIDOサーバ1として認証サーバ10から分離することで、サービス提供者は、認証サーバ10にFIDO認証に関する機能を追加する必要が無い。さらに、サービス提供者は、FIDOサーバ1と連携するための機能を認証サーバ10に導入するだけでよいため、認証サーバ10の改変を最小限に抑えることができる。すなわち、情報処理装置であるFIDOサーバ1によれば、FIDOによる認証技術を容易に導入することができる。
【0033】
次に、図2図5を参照して、認証システムSにおける各装置の構成例について説明する。
【0034】
図2は、実施形態に係るFIDOサーバ1の構成例を示す図である。図2に示されるように、FIDOサーバ1は、通信部2と、制御部3と、記憶部4とを有する。
【0035】
通信部2は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0036】
制御部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)等の集積回路により実現されてもよい。
【0037】
記憶部4は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図2に示されるように、記憶部4は、公開鍵情報4Aを有する。なお、公開鍵情報4Aの詳細については、図6で後述する。
【0038】
図3は、実施形態に係る認証サーバ10の構成例を示す図である。図3に示されるように、認証サーバ10は、通信部11と、制御部12と、記憶部13とを有する。
【0039】
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0040】
制御部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)等の集積回路により実現されてもよい。
【0041】
記憶部13は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図3に示されるように、記憶部13は、ユーザ情報13Aを有する。なお、ユーザ情報13Aの詳細については、図7で後述する。
【0042】
図4は、実施形態に係るサービス提供サーバ20の構成例を示す図である。図4に示されるように、サービス提供サーバ20は、通信部21と、制御部22と、記憶部23とを有する。
【0043】
通信部21は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0044】
制御部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)等の集積回路により実現されてもよい。
【0045】
記憶部23は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
【0046】
図5は、実施形態に係るユーザ端末30の構成例を示す図である。図5に示されるように、ユーザ端末30は、通信部31と、制御部32と、記憶部33とを有する。
【0047】
通信部31は、例えば、NIC(Network Interface Card)等によって実現される。通信部2は、有線または無線によりネットワーク網と接続される。
【0048】
制御部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)等の集積回路により実現されてもよい。
【0049】
記憶部33は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図5に示されるように、記憶部33は、秘密鍵情報33Aを有する。なお、秘密鍵情報33Aの詳細については、図8で後述する。
【0050】
(公開鍵情報4A)
図6は、実施形態に係る公開鍵情報4Aの一例を示す図である。公開鍵情報4Aは、上述したように、FIDOサーバ1の記憶部4に記憶される情報であり、認証器によって生成された公開鍵の情報を含む。
【0051】
図6の例では、公開鍵情報4Aは、「連携ID」、「認証サーバ」、「ユーザID」および「公開鍵」等の項目を有する。
【0052】
「連携ID」は、連携している認証サーバ10との間で利用するユーザの識別子である。「認証サーバ」は、連携している認証サーバ10を識別する情報である。「ユーザID」は、認証サーバ10によって発行されたユーザを識別する識別子である。「公開鍵」は、公開鍵の情報である。
【0053】
(ユーザ情報13A)
図7は、実施形態に係るユーザ情報13Aの一例を示す図である。ユーザ情報13Aは、上述したように、認証サーバ10の記憶部13に記憶される情報であり、サービスを受けるための登録処理が完了したユーザに関する情報を含む。
【0054】
図7の例では、ユーザ情報13Aは、「ユーザID」、「連携ID」、「属性情報」および「認証手段」等の項目を有する。
【0055】
「ユーザID」は、ユーザを識別する識別子である。「連携ID」は、連携しているFIDOサーバ1との間で利用するユーザの識別子である。「属性情報」は、ユーザの属性に関する情報である。「認証手段」は、認証器による認証手段の情報である。
【0056】
(秘密鍵情報33A)
図8は、実施形態に係る秘密鍵情報33Aの一例を示す図である。秘密鍵情報33Aは、上述したように、ユーザ端末30の記憶部33に記憶される情報であり、認証器によって生成された秘密鍵の情報を含む。
【0057】
図8の例では、秘密鍵情報33Aは、「サービス」、「認証サーバ」および「秘密鍵」等の項目を有する。
【0058】
「サービス」は、認証を受けるサービスを識別する情報である。「認証サーバ」は、認証サーバ10を識別する情報である。「秘密鍵」は、秘密鍵の情報である。
【0059】
次に、図9図14を用いて、認証システムSの動作例について説明する。なお、以下では、図9および図10を用いて、FIDOサーバ1および認証サーバ10が同一ドメインに配置される場合の動作例を説明し、図11図14を用いて、FIDOサーバ1および認証サーバ10が別のドメインに配置される場合の動作例を説明する。
【0060】
まず、図9および図10を用いて、FIDOサーバ1および認証サーバ10が同一ドメインに配置される場合の動作例を説明する。言い換えれば、FIDOサーバ1は認証サーバ10のバックエンドのような位置づけで配置される。
【0061】
〔同一ドメイン時の登録処理〕
まず、図9を参照して、実施形態に係る認証システムSにおけるユーザの登録処理について説明する。図9は、実施形態に係る認証システムSによって実行される登録処理の一例を示すシーケンス図である。なお、図9では、説明の便宜上、ユーザ端末30および認証器を分けて示している。
【0062】
図9に示す登録処理とは、認証が必要となるサービスに対してユーザの本人性を登録する処理である。図9に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対して登録要求を送信する(ステップS1)。
【0063】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル生成要求を送信する(ステップS2)。クレデンシャル生成要求とは、認証器に鍵ペアを生成させることを要求することである。
【0064】
つづいて、認証サーバ10は、取得したクレデンシャル生成要求をFIDOサーバ1へ送信する(ステップS3)。つづいて、FIDOサーバ1は、クレデンシャル生成要求に基づいて、鍵ペアの生成指示メッセージを作成する(ステップS4)。
【0065】
つづいて、FIDOサーバ1は、生成指示メッセージを認証サーバ10へ送信する(ステップS5)。
【0066】
つづいて、認証サーバ10は、鍵ペアの生成指示メッセージをサービス提供サーバ20へ送信する(ステップS6)。
【0067】
つづいて、サービス提供サーバ20は、鍵ペアの生成指示メッセージを、認証器に対して送信する(ステップS7)。つまり、ステップS1~S7において、制御部3は、FIDO認証ための認証器を有するユーザ端末30から認証サーバ10に送信されたFIDO認証のための鍵ペアの生成要求を認証サーバ10から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示を認証サーバ10を介して認証器へ通知する。すなわち、認証サーバ10は、FIDO認証に関するメッセージ(生成指示や後述する取得指示)生成機能を有していないため、FIDO認証に関するメッセージ生成機能を有するFIDOサーバ1へメッセージ生成を依頼する。これにより、FIDO認証に関するメッセージ生成機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0068】
つづいて、認証器は、ユーザ検証要求を送信する(ステップS8)。ユーザ検証要求は、ユーザに対して認証器による生体情報等の入力を要求することである。
【0069】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS9)。
【0070】
つづいて、認証器は、鍵ペア(秘密鍵および公開鍵)を生成し(ステップS10)、公開鍵をサービス提供サーバ20へ送信する(ステップS11)。
【0071】
つづいて、サービス提供サーバ20は、アテステーション情報およびユーザ情報(生体情報および公開鍵)を認証サーバ10へ送信する(ステップS12)。なお、サービス提供サーバ20は、ステップS12において、ユーザから同意を得て、ユーザに関する付加情報を送信してもよい。付加情報は、例えば、ユーザの位置情報(ユーザ端末30の位置情報)を含む。また、付加情報は、ユーザの行動情報や、属性情報等が含まれてもよい。
【0072】
つまり、FIDOサーバ1の制御部3は、アテステーション情報とともに、付加情報を認証サーバ10を介して取得する。
【0073】
つづいて、認証サーバ10は、アテステーション情報およびユーザ情報(生体情報および公開鍵)をFIDOサーバ1へ送信する(ステップS13)。
【0074】
つづいて、FIDOサーバ1は、アテステーション情報の検証、連携IDの付与、公開鍵の登録を行うとともに、アテステーション情報の検証結果に基づいてユーザの登録可否を示す認証登録コンテキストを生成する(ステップS14)。
【0075】
つづいて、FIDOサーバ1は、認証登録コンテキストおよび連携IDを認証サーバ10へ送信する(ステップS15)。つまり、ステップS10~S15において、制御部3は、生成指示に従って認証器で生成された鍵ペアのうち、公開鍵を認証サーバ10を介して取得し、取得した公開鍵を連携IDと紐付けて記憶するとともに、連携IDを認証サーバ10へ通知する。また、制御部3は、公開鍵を取得する際に、認証器のアテステーション情報を認証サーバ10を介して取得し、アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成して認証サーバ10へ通知する。なお、FIDOサーバ1は、付加情報を取得した場合には、公開鍵および連携IDに付加情報を紐付けて記憶する。つまり、認証サーバ10は、アテステーション情報や後述するアサーション情報の検証機能(アテステーション情報やアサーション情報の読取機能含む)を有していないため、アテステーション情報やアサーション情報の検証機能を有するFIDOサーバ1へアテステーション情報やアサーション情報の検証を依頼する。これにより、アテステーション情報やアサーション情報の検証機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0076】
つづいて、認証サーバ10は、認証登録コンテキストの検証および連携IDをユーザIDに紐付けて保管する(ステップS16)。
【0077】
つづいて、認証サーバ10は、認証登録コンテキストの検証の結果、問題無ければ、クレデンシャル生成応答をサービス提供サーバ20へ送信する(ステップS17)。つづいて、サービス提供サーバ20は、登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS18)。
【0078】
〔同一ドメイン時の認証処理〕
次に、図10を参照して、実施形態に係る認証システムSにおけるユーザの認証処理について説明する。図10は、実施形態に係る認証システムSによって実行される認証処理の一例を示すシーケンス図である。
【0079】
図10に示す認証処理とは、本人性を登録済のサービスに対してユーザがアクセス(あるいはログイン)を要求する場合に、ユーザの本人性を確認してアクセス(ログイン)を承認する処理である。図10に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対してアクセス(またはログイン)要求を送信する(ステップS101)。
【0080】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル取得要求を送信する(ステップS102)。クレデンシャル取得要求とは、ユーザIDの情報を含み、かかるユーザIDに対応するユーザの本人性の認証処理を依頼する要求(認証要求)である。
【0081】
つづいて、認証サーバ10は、取得したクレデンシャル取得要求を連携IDとともにFIDOサーバ1へ送信する(ステップS103)。つづいて、FIDOサーバ1は、クレデンシャル取得要求および連携IDに基づいて、対応する公開鍵を選択し、選択した公開鍵に対応するユーザ情報(生体情報等の認証情報)の取得指示メッセージを作成する(ステップS104)。
【0082】
つづいて、FIDOサーバ1は、取得指示メッセージを認証サーバ10へ送信する(ステップS105)。
【0083】
つづいて、認証サーバ10は、認証のためのユーザ情報の取得指示メッセージをサービス提供サーバ20へ送信する(ステップS106)。
【0084】
つづいて、サービス提供サーバ20は、認証のためのユーザ情報の取得指示メッセージを、認証器に対して送信する(ステップS107)。つまり、ステップS101~S107において、制御部3は、ユーザ端末30からアクセスを要求されたサービス提供サーバ20から認証サーバ10を介して対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示を認証サーバ10を介して認証器へ通知する。
【0085】
つづいて、認証器は、取得指示に基づいてユーザ検証要求を送信する(ステップS108)。ユーザ検証要求は、ユーザに対して認証器による指定されたユーザ情報(生体情報等)の入力を要求することである。
【0086】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS109)。
【0087】
つづいて、認証器は、入力された生体情報に基づいて、秘密鍵へアクセスし、アサーション情報を生成する(ステップS110)。具体的には、認証器は、入力された生体情報(認証情報)に、対応する秘密鍵を用いて署名した署名付き認証情報の証明書をアサーション情報として生成する。つづいて、認証器は、アサーション情報をサービス提供サーバ20へ送信する(ステップS111)。
【0088】
つづいて、サービス提供サーバ20は、アサーション情報を認証サーバ10へ送信する(ステップS112)。なお、サービス提供サーバ20は、ステップS112において、ユーザから同意を得て、ユーザに関する付加情報を送信してもよい。付加情報は、例えば、ユーザの位置情報(ユーザ端末30の位置情報)を含む。また、付加情報は、ユーザの行動情報や、属性情報等が含まれてもよい。
【0089】
つまり、FIDOサーバ1の制御部3は、アサーション情報とともに、付加情報を認証サーバ10を介して取得する。
【0090】
つづいて、認証サーバ10は、アサーション情報をFIDOサーバ1へ送信する(ステップS113)。
【0091】
つづいて、FIDOサーバ1は、アサーション情報の検証を行うとともに、アサーション情報の検証結果に基づいてユーザの認証可否を示す認証結果コンテキストを生成する(ステップS114)。なお、FIDOサーバ1は、アサーション情報と併せて付加情報を取得した場合には、付加情報の検証結果に基づく情報を認証結果コンテキストに含ませるようにする。
【0092】
つづいて、FIDOサーバ1は、認証結果コンテキストを認証サーバ10へ送信する(ステップS115)。つまり、ステップS110~S115において、制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報を認証サーバ10を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成して認証サーバ10へ通知する。
【0093】
つづいて、認証サーバ10は、認証結果コンテキストの検証を行い、検証の結果、問題無ければ、サービスへのアクセス要求を承認し(ステップS116)、承認したことを示すクレデンシャル取得応答をサービス提供サーバ20へ送信する(ステップS117)。つづいて、サービス提供サーバ20は、アクセスが承認された旨を示すアクセス応答をユーザ端末30へ送信するとともに(ステップS118)、ユーザ端末30へサービスを提供する。
【0094】
次に、図11図14を用いて、FIDOサーバ1および認証サーバ10が別ドメインに配置される場合の動作例を説明する。FIDOサーバ1および認証サーバ10が別ドメインに配置される場合、認証サーバ10は、サービス提供サーバ20にリダイレクトさせることで各種要求をFIDOサーバ1へ送信することとなる。図11および図12では、このリダイレクト時に認証サーバ10を明示しない場合の動作例を示し、図13および図14では、リダイレクト時に委任状によって認証サーバ10を明示する場合の動作例を示す。
【0095】
〔別ドメイン時の登録処理(その1)〕
まず、図11を参照して、実施形態に係る認証システムSにおけるユーザの登録処理について説明する。図11は、実施形態に係る認証システムSによって実行される登録処理の一例を示すシーケンス図である。
【0096】
図11に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対して登録要求を送信する(ステップS201)。
【0097】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル生成要求を送信する(ステップS202)。
【0098】
つづいて、認証サーバ10は、取得したクレデンシャル生成要求をリダイレクト先(FIDOサーバ1)の情報とともにサービス提供サーバ20へ返信し(ステップS203)、サービス提供サーバ20は、FIDOサーバ1へクレデンシャル生成要求をリダイレクトする(ステップS204)。つづいて、FIDOサーバ1は、クレデンシャル生成要求に基づいて、鍵ペアの生成指示メッセージを作成する(ステップS205)。
【0099】
つづいて、FIDOサーバ1は、鍵ペアの生成指示メッセージをサービス提供サーバ20へ送信する(ステップS206)。
【0100】
つづいて、サービス提供サーバ20は、鍵ペアの生成指示メッセージを、認証器に対して送信する(ステップS207)。つづいて、認証器は、ユーザ検証要求を送信する(ステップS208)。つまり、ステップS201~S207において、制御部3は、FIDO認証ための認証器を有するユーザ端末30から認証サーバ10を介してサービス提供サーバ20に送信されたFIDO認証のための鍵ペアの生成要求をサービス提供サーバ20から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示をサービス提供サーバ20を介して認証器へ通知する。すなわち、認証サーバ10は、FIDO認証に関するメッセージ(生成指示や後述する取得指示)生成機能を有していないため、FIDO認証に関するメッセージ生成機能を有するFIDOサーバ1へサービス提供サーバ20を介してメッセージ生成を依頼する。これにより、FIDO認証に関するメッセージ生成機能を認証サーバ10に導入する必要がないため、FIDOによる認証技術を容易に導入することができる。
【0101】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS209)。
【0102】
つづいて、認証器は、鍵ペア(秘密鍵および公開鍵)を生成し(ステップS210)、公開鍵をサービス提供サーバ20へ送信する(ステップS211)。
【0103】
つづいて、サービス提供サーバ20は、アテステーション情報およびユーザ情報(生体情報および公開鍵)をFIDOサーバ1へ送信する(ステップS212)。なお、サービス提供サーバ20は、アテステーション情報とともに付加情報を送信してもよい。
【0104】
つづいて、FIDOサーバ1は、アテステーション情報の検証、連携IDの付与、公開鍵の登録を行うとともに、アテステーション情報の検証結果に基づいて認証登録コンテキストを生成する(ステップS213)。
【0105】
つづいて、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による認証技術を容易に導入することができる。
【0106】
つづいて、認証サーバ10は、認証登録コンテキストの検証および連携IDをユーザIDに紐付けて保管する(ステップS216)。
【0107】
つづいて、認証サーバ10は、認証登録コンテキストの検証の結果、問題無ければ、クレデンシャル生成応答をサービス提供サーバ20へ送信する(ステップS217)。つづいて、サービス提供サーバ20は、登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS218)。
【0108】
〔別ドメイン時の認証処理(その1)〕
次に、図12を参照して、実施形態に係る認証システムSにおけるユーザの認証処理について説明する。図12は、実施形態に係る認証システムSによって実行される認証処理の一例を示すシーケンス図である。
【0109】
図11に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対してアクセス(またはログイン)要求を送信する(ステップS301)。
【0110】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル取得要求を送信する(ステップS302)。このクレデンシャル取得要求には、ユーザIDの情報が含まれる。
【0111】
つづいて、認証サーバ10は、取得したクレデンシャル取得要求を連携IDおよびリダイレクト先(FIDOサーバ1)の情報とともにサービス提供サーバ20へ返信し(ステップS303)、サービス提供サーバ20は、クレデンシャル取得要求および連携IDをFIDOサーバ1へリダイレクトする(ステップS304)。つづいて、FIDOサーバ1は、クレデンシャル取得要求および連携IDに基づいて、対応する公開鍵を選択し、選択した公開鍵に対応するユーザ情報(認証のための生体情報等)の取得指示メッセージを作成する(ステップS305)。
【0112】
つづいて、FIDOサーバ1は、取得指示メッセージをサービス提供サーバ20へ送信する(ステップS306)。
【0113】
つづいて、サービス提供サーバ20は、認証のためのユーザ情報の取得指示メッセージを、認証器に対して送信する(ステップS307)。つまり、ステップS301~S307において、制御部3は、ユーザ端末30からサービス提供サーバ20に対してアクセスを要求された場合に、認証サーバ10を介してサービス提供サーバ20から対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示をサービス提供サーバ20を介して認証器へ通知する。
【0114】
つづいて、認証器は、取得指示に基づいてユーザ検証要求を送信する(ステップS308)。つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS309)。
【0115】
つづいて、認証器は、入力された生体情報に基づいて、秘密鍵へアクセスし、アサーション情報を生成する(ステップS310)。具体的には、認証器は、入力された生体情報に基づいて、ユーザを認証して認証結果を生成するとともに、対応する秘密鍵を用いて認証結果に署名した署名付き認証結果の証明書をアサーション情報として生成する。つづいて、認証器は、アサーション情報をサービス提供サーバ20へ送信する(ステップS311)。
【0116】
つづいて、サービス提供サーバ20は、アサーション情報をFIDOサーバ1へ送信する(ステップS312)。なお、サービス提供サーバ20は、アサーション情報と併せて付加情報を送信してもよい。
【0117】
つづいて、FIDOサーバ1は、アサーション情報の検証を行うとともに、アサーション情報の検証結果に基づいて認証結果コンテキストを生成する(ステップS313)。
【0118】
つづいて、FIDOサーバ1は、認証結果コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信し(ステップS314)、サービス提供サーバ20は、認証結果コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS315)。つまり、ステップS310~S315において、制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報をサービス提供サーバ20を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成してサービス提供サーバ20を介して認証サーバ10へ通知する。
【0119】
つづいて、認証サーバ10は、認証結果コンテキストの検証を行い、検証の結果、問題無ければ、サービスへのアクセス要求を承認し(ステップS316)、承認したことを示すクレデンシャル取得応答をサービス提供サーバ20へ送信する(ステップS317)。つづいて、サービス提供サーバ20は、アクセスが承認された旨を示すアクセス応答をユーザ端末30へ送信するとともに(ステップS318)、ユーザ端末30へサービスを提供する。
【0120】
図13および図14を用いて、リダイレクト時に委任状によって認証サーバ10を明示する場合の動作例について説明する。
【0121】
〔別ドメイン時の登録処理(その2)〕
まず、図13を参照して、実施形態に係る認証システムSにおけるユーザの登録処理について説明する。図13は、実施形態に係る認証システムSによって実行される登録処理の一例を示すシーケンス図である。
【0122】
図13に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対して登録要求を送信する(ステップS401)。
【0123】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル生成要求を送信する(ステップS402)。
【0124】
つづいて、認証サーバ10は、取得したクレデンシャル生成要求にFIDOサーバ1への委任状を添えて、リダイレクト先(FIDOサーバ1)の情報とともにサービス提供サーバ20へ返信し(ステップS403)、サービス提供サーバ20は、FIDOサーバ1へクレデンシャル生成要求をリダイレクトする(ステップS404)。この委任状は、FIDOサーバ1に対してFIDO認証の登録を委任することを明示的に示す情報であり、委任元である認証サーバ10の情報を含む。つづいて、FIDOサーバ1は、クレデンシャル生成要求に基づいて、鍵ペアの生成指示メッセージを作成する(ステップS405)。
【0125】
つづいて、FIDOサーバ1は、鍵ペアの生成指示メッセージをサービス提供サーバ20へ送信する(ステップS406)。
【0126】
つづいて、サービス提供サーバ20は、鍵ペアの生成指示メッセージを、認証器に対して送信する(ステップS407)。つづいて、認証器は、ユーザ検証要求を送信する(ステップS408)。
【0127】
つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS409)。
【0128】
つづいて、認証器は、鍵ペア(秘密鍵および公開鍵)を生成し(ステップS410)、公開鍵をサービス提供サーバ20へ送信する(ステップS411)。
【0129】
つづいて、サービス提供サーバ20は、アテステーション情報およびユーザ情報(生体情報および公開鍵)をFIDOサーバ1へ送信する(ステップS412)。
【0130】
つづいて、FIDOサーバ1は、アテステーション情報の検証、連携IDの付与、公開鍵の登録を行うとともに、アテステーション情報の検証結果に基づいて認証登録コンテキストを生成する(ステップS413)。
【0131】
つづいて、FIDOサーバ1は、認証登録コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信(ステップS414)、サービス提供サーバ20は、認証登録コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS415)。
【0132】
つづいて、認証サーバ10は、認証登録コンテキストの検証および連携IDをユーザIDに紐付けて保管する(ステップS416)。
【0133】
つづいて、認証サーバ10は、認証登録コンテキストの検証の結果、問題無ければ、クレデンシャル生成応答をサービス提供サーバ20へ送信する(ステップS417)。つづいて、サービス提供サーバ20は、登録が完了した旨を示す登録応答をユーザ端末30へ送信する(ステップS418)。
【0134】
〔別ドメイン時の認証処理(その2)〕
次に、図14を参照して、実施形態に係る認証システムSにおけるユーザの認証処理について説明する。図14は、実施形態に係る認証システムSによって実行される認証処理の一例を示すシーケンス図である。
【0135】
図14に示すように、まず、ユーザ端末30は、サービス提供サーバ20に対してアクセス(またはログイン)要求を送信する(ステップS501)。
【0136】
つづいて、サービス提供サーバ20は、認証サーバ10に対してクレデンシャル取得要求を送信する(ステップS502)。このクレデンシャル取得要求には、ユーザIDの情報が含まれる。
【0137】
つづいて、認証サーバ10は、取得したクレデンシャル取得要求を連携IDおよびリダイレクト先(FIDOサーバ1)の情報とともに、FIDOサーバ1への委任状を添えて、サービス提供サーバ20へ返信し(ステップS503)、サービス提供サーバ20は、クレデンシャル取得要求および連携IDをFIDOサーバ1へリダイレクトする(ステップS504)。この委任状は、FIDOサーバ1に対してFIDO認証の認証を委任することを明示的に示す情報であり、委任元である認証サーバ10の情報を含む。つづいて、FIDOサーバ1は、クレデンシャル取得要求および連携IDに基づいて、対応する公開鍵を選択し、選択した公開鍵に対応するユーザ情報(認証のための生体情報等)の取得指示メッセージを作成する(ステップS505)。
【0138】
つづいて、FIDOサーバ1は、取得指示メッセージをサービス提供サーバ20へ送信する(ステップS506)。
【0139】
つづいて、サービス提供サーバ20は、認証のためのユーザ情報の取得指示メッセージを、認証器に対して送信する(ステップS507)。
【0140】
つづいて、認証器は、取得指示に基づいてユーザ検証要求を送信する(ステップS508)。つづいて、ユーザ端末30は、ユーザの操作により認証器に対して生体情報等を入力する(ステップS509)。
【0141】
つづいて、認証器は、入力された生体情報に基づいて、秘密鍵へアクセスし、アサーション情報を生成する(ステップS510)。具体的には、認証器は、入力された生体情報に基づいて、ユーザを認証して認証結果を生成するとともに、対応する秘密鍵を用いて認証結果に署名した署名付き認証結果の証明書をアサーション情報として生成する。つづいて、認証器は、アサーション情報をサービス提供サーバ20へ送信する(ステップS511)。
【0142】
つづいて、サービス提供サーバ20は、アサーション情報をFIDOサーバ1へ送信する(ステップS512)。
【0143】
つづいて、FIDOサーバ1は、アサーション情報の検証を行うとともに、アサーション情報の検証結果に基づいて認証結果コンテキストを生成する(ステップS513)。
【0144】
つづいて、FIDOサーバ1は、認証結果コンテキストおよび連携IDをリダイレクト先(認証サーバ10)の情報とともにサービス提供サーバ20へ送信し(ステップS514)、サービス提供サーバ20は、認証結果コンテキストおよび連携IDを認証サーバ10へリダイレクトする(ステップS515)。
【0145】
つづいて、認証サーバ10は、認証結果コンテキストの検証を行い、検証の結果、問題無ければ、サービスへのアクセス要求を承認し(ステップS516)、承認したことを示すクレデンシャル取得応答をサービス提供サーバ20へ送信する(ステップS517)。つづいて、サービス提供サーバ20は、アクセスが承認された旨を示すアクセス応答をユーザ端末30へ送信するとともに(ステップS518)、ユーザ端末30へサービスを提供する。
【0146】
〔その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0147】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0148】
例えば、図2に示した記憶部4、図3に示した記憶部13、図5に示した記憶部23、図6に示した記憶部33それぞれの一部又は全部は、各装置によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、各装置は、ストレージサーバにアクセスすることで、各種情報を取得する。
【0149】
〔ハードウェア構成〕
また、上述してきた実施形態に係るFIDOサーバ1は、例えば図15に示すような構成のコンピュータ1000によって実現される。図15は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0150】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0151】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0152】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0153】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0154】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0155】
例えば、コンピュータ1000がFIDOサーバ1として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部3の機能を実現する。
【0156】
〔効果〕
上述してきたように、実施形態に係る情報処理装置(FIDOサーバ1)は、制御部3を備える。制御部3は、FIDO認証ための認証器を有するユーザ端末30から認証サーバ10に送信されたFIDO認証のための鍵ペアの生成要求を認証サーバ10から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示を認証サーバ10を介して認証器へ通知する。制御部3は、生成指示に従って認証器で生成された鍵ペアのうち、公開鍵を認証サーバ10を介して取得し、取得した公開鍵を連携IDと紐付けて記憶するとともに、連携IDを認証サーバ10へ通知する。制御部3は、公開鍵を取得する際に、認証器のアテステーション情報を認証サーバ10を介して取得し、アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成して認証サーバ10へ通知する。制御部3は、ユーザ端末30からアクセスを要求されたサービス提供サーバ20から認証サーバ10を介して対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示を認証サーバ10を介して認証器へ通知する。制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報を認証サーバ10を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成して認証サーバ10へ通知する。制御部3は、アサーション情報とともに、ユーザに関する付加情報を取得し、アサーション情報および付加情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成する。付加情報は、少なくともユーザの位置情報を含む。このような構成により、FIDOによる認証技術を容易に導入することができる。
【0157】
また、上述してきたように、実施形態に係る情報処理装置(FIDOサーバ1)は、制御部3を備える。制御部3は、FIDO認証のための認証器を有するユーザ端末30から認証サーバ10を介してサービス提供サーバ20に送信されたFIDO認証のための鍵ペアの生成要求をサービス提供サーバ20から取得し、生成要求に基づいて認証器に鍵ペアを生成させる生成指示を生成し、生成指示をサービス提供サーバ20を介して認証器へ通知する。制御部3は、生成指示に従って認証器で生成された鍵ペアのうち、公開鍵をサービス提供サーバ20を介して取得し、取得した公開鍵を連携IDと紐付けて記憶するとともに、連携IDをサービス提供サーバ20を介して認証サーバ10へ通知する。制御部3は、公開鍵を取得する際に、認証器のアテステーション情報をサービス提供サーバ20を介して取得し、アテステーション情報の検証結果に基づいて、ユーザの登録可否を示す認証登録コンテキストを生成してサービス提供サーバ20を介して認証サーバ10へ通知する。制御部3は、ユーザ端末30からサービス提供サーバ20に対してアクセスを要求された場合に、認証サーバ10を介してサービス提供サーバ20から対象のユーザに対応する連携IDとともに認証要求を取得し、連携IDに対応する認証情報の取得指示を生成し、取得指示をサービス提供サーバ20を介して認証器へ通知する。制御部3は、取得指示に従って認証器で取得された認証情報に秘密鍵を使って署名されたアサーション情報をサービス提供サーバ20を介して取得し、アサーション情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成してサービス提供サーバ20を介して認証サーバ10へ通知する。制御部3は、アサーション情報とともに、ユーザに関する付加情報を取得し、アサーション情報および付加情報の検証結果に基づいて、ユーザの認証可否を示す認証結果コンテキストを生成する。付加情報は、少なくともユーザの位置情報を含む。このような構成により、FIDOによる認証技術を容易に導入することができる。
【0158】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0159】
〔その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0160】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0161】
また、上述してきた実施形態に記載した各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0162】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部3は、制御手段や制御回路に読み替えることができる。
【符号の説明】
【0163】
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