JP2024060389A - Information processing device, information processing method, and information processing program - Google Patents
Information processing device, information processing method, and information processing program Download PDFInfo
- Publication number
- JP2024060389A JP2024060389A JP2022167723A JP2022167723A JP2024060389A JP 2024060389 A JP2024060389 A JP 2024060389A JP 2022167723 A JP2022167723 A JP 2022167723A JP 2022167723 A JP2022167723 A JP 2022167723A JP 2024060389 A JP2024060389 A JP 2024060389A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- key
- public key
- common
- registration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 49
- 238000003672 processing method Methods 0.000 title claims description 10
- 238000012545 processing Methods 0.000 claims abstract description 101
- 238000012795 verification Methods 0.000 claims description 85
- 238000000034 method Methods 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 22
- 230000004044 response Effects 0.000 description 18
- 230000001133 acceleration Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】認証の効率をさらに向上させる。【解決手段】本願に係る情報処理装置は、認証器から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵を鍵レジストリに保管する登録処理部と、認証器から認証要求を受けた際に、鍵レジストリから共通の認証用公開鍵を取得し、共通の認証用公開鍵を用いてFIDO認証を実施する認証処理部と、を備えることを特徴とする。【選択図】図2[Problem] To further improve the efficiency of authentication. [Solution] The information processing device according to the present application is characterized by comprising: a registration processing unit that, when receiving a registration request from an authentication device, stores in a key registry an authentication public key common to multiple authentication servers that perform FIDO authentication, and an authentication processing unit that, when receiving an authentication request from the authentication device, obtains the common authentication public key from the key registry and performs FIDO authentication using the common authentication public key. [Selected Figure] Figure 2
Description
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.
FIDO(Fast Identity Online)に関する技術であって、認証器を用いる技術が開示されている(特許文献1参照)。 A technology related to FIDO (Fast Identity Online) that uses an authentication device has been disclosed (see Patent Document 1).
しかしながら、上記の従来技術では、認証時の本人確認を含め、FIDO認証に関してまだまだ改善の余地がある。 However, the above conventional technologies still have room for improvement in terms of FIDO authentication, including identity verification during authentication.
本願は、上記に鑑みてなされたものであって、認証の効率をさらに向上させることを目的とする。 This application was made in consideration of the above, and aims to further improve the efficiency of authentication.
本願に係る情報処理装置は、認証器から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵を鍵レジストリに保管する登録処理部と、前記認証器から認証要求を受けた際に、前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いてFIDO認証を実施する認証処理部と、を備えることを特徴とする。 The information processing device according to the present application is characterized by comprising: a registration processing unit that, when receiving a registration request from an authentication device, stores in a key registry an authentication public key common to multiple authentication servers that perform FIDO authentication; and an authentication processing unit that, when receiving an authentication request from the authentication device, obtains the common authentication public key from the key registry and performs FIDO authentication using the common authentication public key.
実施形態の一態様によれば、認証の効率をさらに向上させることができる。 According to one aspect of the embodiment, the efficiency of authentication can be further improved.
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Below, the information processing device, information processing method, and information processing program according to the present application will be described in detail with reference to the drawings. Note that the information processing device, information processing method, and information processing program according to the present application are not limited to these embodiments. In addition, the same components in the following embodiments will be denoted by the same reference numerals, and duplicated descriptions will be omitted.
〔1.情報処理方法の概要〕
まず、図1を参照し、FIDO認証の概要について説明する。図1は、FIDO認証の概要を示す説明図である。なお、図1では、FIDO認証の基本的な仕組みについて説明する。
[1. Overview of information processing method]
First, an overview of FIDO authentication will be described with reference to Fig. 1. Fig. 1 is an explanatory diagram showing an overview of FIDO authentication. In Fig. 1, the basic mechanism of FIDO authentication will be described.
図1に示すように、情報処理システム1は、端末装置10とサーバ装置100とを含む。端末装置10とサーバ装置100とは、ネットワークN(図10参照)を介して有線又は無線で互いに通信可能に接続される。本実施形態では、端末装置10は、サーバ装置100と連携する。
As shown in FIG. 1, the
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット端末等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
The
本実施形態では、端末装置10は、FIDO認証(Fast Identity Online)におけるFIDOクライアントとして機能する。FIDOクライアントは、認証器(Authenticator)と連携してユーザの認証を行う。なお、認証器は、FIDOクライアントと同一のデバイスに実装されることがあってもよく(内蔵認証器)、FIDOクライアントとは物理的に異なるデバイスに実装されていてもよい(外部認証器)。
In this embodiment, the
例えば、FIDO認証では、PIN(Personal Identification Number)、USB(Universal Serial Bus)セキュリティキー、スマートカードなどの記憶や所有物を用いた認証方式や、指紋、顔、虹彩、静脈、声紋などの生体情報や行動情報を用いた認証方式を実装できる。認証方式は、これらに限定されず、あらゆる方式を導入することができる。また、複数の認証方式を組み合わせて、マルチモーダル生体認証や多要素認証を実現することもできる。 For example, FIDO authentication can implement authentication methods that use stored or owned items such as a PIN (Personal Identification Number), a USB (Universal Serial Bus) security key, or a smart card, or authentication methods that use biometric or behavioral information such as a fingerprint, face, iris, vein, or voiceprint. Authentication methods are not limited to these, and any method can be implemented. In addition, multiple authentication methods can be combined to achieve multimodal biometric authentication or multifactor authentication.
以下、説明の簡略化のため、FIDOクライアントと認証器とを区別せず、端末装置10をFIDOクライアントかつ認証器として説明する。すなわち、認証器が内部認証器である場合を例に説明する。なお、実際には、認証器は、端末装置10から物理的に独立し、端末装置10と連携可能な外部認証器であってもよい。
In the following, for the sake of simplicity, no distinction will be made between the FIDO client and the authenticator, and the
また、FIDOクライアントのWebブラウザに表示されるウェブコンテンツから認証器を呼び出し、認証サーバとのやり取りでFIDO認証を可能にするためのWeb認証API(Application Programming Interface)も実装可能であるが、本実施形態では説明を割愛する。 It is also possible to implement a Web authentication API (Application Programming Interface) that calls an authenticator from web content displayed in the FIDO client's web browser and enables FIDO authentication through interaction with the authentication server, but a description of this will be omitted in this embodiment.
サーバ装置100は、FIDO認証における認証サーバ(FIDOサーバ)として機能する情報処理装置であり、コンピュータやクラウドシステム等により実現される。認証サーバは、RP(Relying Party)/IdP(Identity Provider)に相当する。RP(Relying Party)は、FIDOサーバを実装するエンティティ・組織のことを指す。FIDO認証では、認証器(Authenticator)と認証サーバとの間で、パスワードや生体情報のような「秘密」を共有しないので、フィッシングに対する耐性がある。
The
図1に示すように、FIDO認証では、認証サーバは、ユーザからの認証要求を受けると、ユーザ側の認証器にチャレンジ(Challenge)を送る。チャレンジは、一度だけ有効なランダムな文字列であり、乱数を元に決めた毎回異なるデータ列である。ユーザは、認証器を用いてユーザ検証(User verification)を行い、本人性の検証をローカルで実施する。そして、認証器は、検証結果として秘密鍵(Private Key)でチャレンジに署名し、署名付き検証結果(Signed response)として署名付きチャレンジを認証サーバに送る。認証サーバは、署名付きチャレンジを受け取ると、公開鍵(Public Key)で署名検証する。秘密鍵と公開鍵との組を、鍵ペアと称する。 As shown in Figure 1, in FIDO authentication, when an authentication server receives an authentication request from a user, it sends a challenge to the authenticator on the user side. The challenge is a random character string that is valid only once, and is a different data string each time determined based on random numbers. The user performs user verification using the authenticator to locally verify the user's identity. The authenticator then signs the challenge with a private key as the verification result, and sends the signed challenge to the authentication server as a signed response. When the authentication server receives the signed challenge, it verifies the signature with a public key. The pair of private and public keys is called a key pair.
このように、FIDO認証では、認証サーバが、公開鍵を用いて、ユーザ側の認証器が適切な秘密鍵を保有することを確認することによって認証を実現する。認証器と認証サーバは「秘密鍵」を共有しない。 In this way, in FIDO authentication, the authentication server uses a public key to verify that the authenticator on the user side holds the appropriate private key, thereby achieving authentication. The authenticator and authentication server do not share a "private key."
また、サーバ装置100は、FIDO認証に対応したRP/IdPとのID連携(フェデレーション)によりアイデンティティサービスを提供する連携RP/SP(Service Provider)としても機能する。FIDO認証とID連携とを組み合わせると、認証コンテキストは認証器からRP/IdPを介して連携RP/SPへと伝搬する。
The
以下、説明の簡略化のため、RP/IdPと連携RP/SPとを区別せず、サーバ装置100をRP/IdPかつ連携RP/SPとして説明する。なお、実際には、RP/IdPとしてのサーバ装置100と、連携RP/SPとしてのサーバ装置100とは、物理的に独立した異なるサーバ装置100であってもよい。
In the following, for the sake of simplicity, no distinction is made between RP/IdP and linked RP/SP, and the
例えば、サーバ装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供してもよい。
For example, the
また、サーバ装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、サーバ装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、サーバ装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
The
なお、サーバ装置100は、利用者Uに関する利用者情報を取得可能である。例えば、サーバ装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、サーバ装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。
The
また、サーバ装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、サーバ装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、サーバ装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、サーバ装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、サーバ装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、サーバ装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済処理サーバから取得してもよい。また、サーバ装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。なお、上記の各種サーバ等は、サーバ装置100自体であってもよい。すなわち、サーバ装置100が上記の各種サーバ等として機能してもよい。
The
〔1-1.共通の公開鍵(グループ鍵)〕
従来のFIDO認証では、鍵ペアと認証サーバ(FIDOサーバ)とは1対1の関係にある。FIDO認証に対応したIdP(FIDOサーバ機能を実装)に対して認証する場合、個々のIdPに対して個別に鍵登録をする必要があり、ユーザにとってはわずらわしい。また、IdPにとっては、鍵を管理する必要があり、管理のための実装と運用が負荷となる。
[1-1. Common public key (group key)]
In conventional FIDO authentication, there is a one-to-one relationship between a key pair and an authentication server (FIDO server). When authenticating with an IdP (implementing a FIDO server function) that supports FIDO authentication, it is necessary to register a key for each IdP individually, which is troublesome for users. In addition, the IdP needs to manage the keys, which imposes a burden on the implementation and operation for management.
そこで、本実施形態では、複数の認証サーバに共通の鍵ペアを利用可能とする公開鍵暗号ベース認証システム(FIDO multi-server credentials)を実現する。本実施形態では、認証器で複数の認証サーバに対して共通に利用できるFIDOの秘密鍵と公開鍵との鍵ペアを生成し、生成された公開鍵を鍵レジストリで管理する。複数の認証サーバの各々は、共通の公開鍵の参照DID(Decentralized Identifier:分散型ID)を管理し、鍵レジストリに保管された共通の公開鍵(グループ鍵)を利用する。公開鍵の参照DIDは、例えば公開鍵の所在を示す公開鍵URL(Uniform Resource Locator)等である。 Therefore, in this embodiment, a public key cryptography-based authentication system (FIDO multi-server credentials) is realized that allows a common key pair to be used by multiple authentication servers. In this embodiment, an authenticator generates a FIDO key pair of a private key and a public key that can be used commonly by multiple authentication servers, and the generated public key is managed in a key registry. Each of the multiple authentication servers manages a reference DID (Decentralized Identifier) of the common public key, and uses the common public key (group key) stored in the key registry. The reference DID of the public key is, for example, a public key URL (Uniform Resource Locator) that indicates the location of the public key.
図2は、実施形態に係る情報処理方法の概要を示す説明図である。本実施形態では、認証サーバであるサーバ装置100は複数存在する。同一の認証サーバグループ100G(RPグループ)に所属する複数のサーバ装置100(100-i、i=1~n:nは任意)の各々は、認証サーバグループ内の認証サーバに共通の公開鍵を用いてFIDO認証を行う。なお、実際には、認証サーバグループ単位ではなく、全認証サーバに共通の公開鍵を利用してもよい。
Figure 2 is an explanatory diagram showing an overview of an information processing method according to an embodiment. In this embodiment, there are
例えば、図2に示すように、利用者U(ユーザ)は、サーバ装置100-1(RP1)と、サーバ装置100-2(RP2)とにそれぞれアカウントID1、ID2を保有する。すなわち、利用者U(ユーザ)は、サーバ装置100-1(RP1)にアカウントID1を保有し、サーバ装置100-2(RP2)にアカウントID2を保有する。 For example, as shown in FIG. 2, user U holds accounts ID1 and ID2 on server device 100-1 (RP1) and server device 100-2 (RP2), respectively. That is, user U holds account ID1 on server device 100-1 (RP1) and account ID2 on server device 100-2 (RP2).
また、端末装置10(認証器)は、認証サーバグループ識別機能を有し、認証サーバグループ情報(グループリスト)を保有する。認証サーバグループ情報は、例えば対象の認証サーバグループに所属するサーバ装置100-1(RP1)と、サーバ装置100-2(RP2)のURL等を含む。このように、端末装置10は、認証サーバグループ100G(RPグループ)とグループごとの鍵ペア(又は秘密鍵)を管理して、グループごとにFIDO認証に使う秘密鍵を変更する。
The terminal device 10 (authenticator) also has an authentication server group identification function and holds authentication server group information (group list). The authentication server group information includes, for example, the URLs of the server device 100-1 (RP1) and server device 100-2 (RP2) that belong to the target authentication server group. In this way, the
また、認証サーバグループ100G(RPグループ)は、サーバ装置100-1(RP1)と、サーバ装置100-2(RP2)とを含む。すなわち、RP1とRP2は同じ認証サーバグループ(RPグループ)に所属するRP1、RP2はそれぞれ、ユーザID管理機能を有する。RP1はユーザのアカウントID1を管理し、RP2はユーザのアカウントID2を管理する。またRP1とRP2はそれぞれ、共通の公開鍵の参照DIDを管理する。公開鍵の実体は、鍵レジストリ200に保管する。本実施形態では、RP1、RP2はそれぞれ、鍵IDと、公開鍵の参照DID(公開鍵URL)と、ユーザID(アカウント)とを紐づけて管理する。
The
また、鍵レジストリ200は、複数の認証サーバに対して共通に利用できる公開鍵を保管する。鍵レジストリ200は、ネットワークN(図8参照)上のストレージサーバ等であってもよいし、認証サーバグループ100G(RPグループ)に所属する複数のサーバ装置100(RP)のうちの1台であってもよい。すなわち、鍵レジストリ200は、独立したデータベースであってもよいし、グループ内の複数のサーバ装置100(RP)のうちの1台に搭載されていてもよい。また、鍵レジストリ200は、分散型台帳技術(DLT:Distributed Ledger Technology)を用いて、ブロックチェーンで公開鍵を管理してもよい。例えば、鍵レジストリ200は、ブロックチェーンのネットワークを構成するノードであってもよい。
The
〔1-2.システム概要〕
図3は、実施形態に係る情報システムと信頼関係の概要を示す説明図である。例えば、図3に示すように、利用者U(ユーザ)と、端末装置10(認証器)との間には、ユーザ検証により構築されるトラスト(trust:信頼/信用)がある。他のユーザと、端末装置10(認証器)との間には、ユーザ検証により構築されるトラストは無い。
[1-2. System Overview]
Fig. 3 is an explanatory diagram showing an overview of an information system and a trust relationship according to an embodiment. For example, as shown in Fig. 3, there is trust established by user verification between a user U (user) and a terminal device 10 (authentication device). There is no trust established by user verification between other users and the terminal device 10 (authentication device).
また、端末装置10(認証器)と、認証サーバグループ100Gに所属する複数のサーバ装置100(100-i、i=1~n:nは任意)の各々との間には、暗号学的に構築されるトラストがある。端末装置10(認証器)と、グループ外のサーバ装置との間には、暗号学的に構築されるトラストは無い。なお、図3の例では、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-1(RP1)とサーバ装置100-2(RP2)のいずれに対しても暗号学的に構築されるトラストがある。
Furthermore, there is cryptographically constructed trust between the terminal device 10 (authenticator) and each of the multiple server devices 100 (100-i, i = 1 to n: n is arbitrary) belonging to the
また、利用者Uと、認証サーバグループ100Gに所属する複数のサーバ装置100(100-i、i=1~n:nは任意)の各々との間には、FIDO認証により構築されるトラストがある。利用者Uと、グループ外のサーバ装置との間には、FIDO認証により構築されるトラストは無い。なお、図3の例では、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-1(RP1)とサーバ装置100-2(RP2)のいずれに対してもFIDO認証により構築されるトラストがある。
In addition, there is trust established by FIDO authentication between user U and each of the multiple server devices 100 (100-i, i = 1 to n: n is arbitrary) belonging to
本実施形態では、複数の認証サーバに対して共通に使用できるFIDOの鍵を保管する。図3の例では、鍵レジストリ200は、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-1(RP1)とサーバ装置100-2(RP2)に対して共通に使用できる公開鍵を保管する。
In this embodiment, a FIDO key that can be used commonly for multiple authentication servers is stored. In the example of FIG. 3, the
本実施形態では、鍵ペアと認証サーバグループとは1対1の関係にあるが、鍵ペアと認証サーバ(FIDOサーバ)とは1対多の関係にある。なお、認証用の鍵ペアと認証サーバとは1対多の関係にあるが、登録用の鍵ペアと認証サーバとは1対1の関係にある。登録用の鍵ペアは、例えば認証器証明書(Attestation:アテステーション)の署名検証用の鍵ペア等である。認証用の鍵ペアは、例えば認証器でのユーザ検証結果の証明書(Assertion:アサーション)の署名検証用の鍵ペア等である。すなわち、登録用の鍵ペア(アテステーション鍵ペア)は従来通りである。 In this embodiment, there is a one-to-one relationship between a key pair and an authentication server group, but a one-to-many relationship between a key pair and an authentication server (FIDO server). Note that there is a one-to-many relationship between an authentication key pair and an authentication server, but a one-to-one relationship between a registration key pair and an authentication server. The registration key pair is, for example, a key pair for signature verification of an authenticator certificate (Attestation). The authentication key pair is, for example, a key pair for signature verification of a certificate (Assertion) of the user verification result in the authenticator. In other words, the registration key pair (attestation key pair) is the same as before.
ただし、技術的には、登録用の鍵ペアと認証サーバとの関係についても、認証用の鍵ペアと認証サーバとの関係と同様に、1対多の関係にすることも可能である。すなわち、本実施形態において、認証用公開鍵と同様に、複数の認証サーバに対して共通に利用できる共通の登録用公開鍵を鍵レジストリ200に保管することも可能である。
However, technically, the relationship between the registration key pair and the authentication server can also be a one-to-many relationship, similar to the relationship between the authentication key pair and the authentication server. That is, in this embodiment, it is also possible to store a common registration public key that can be commonly used for multiple authentication servers in the
〔1-3.RP1にてFIDO登録〕
図4は、RP1にてFIDO登録を行う場合の概要を示す説明図である。例えば、図4に示すように、利用者U(ユーザ)の端末装置10(認証器)は、利用者Uの操作又は要求に応じて、ネットワークN(図10参照)を介して、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-1(RP1)に対して、登録要求を送信する(ステップS0)。
[1-3. FIDO registration with RP1]
Fig. 4 is an explanatory diagram showing an overview of FIDO registration at RP1. For example, as shown in Fig. 4, the terminal device 10 (authentication device) of a user U (user) transmits a registration request to a server device 100-1 (RP1) belonging to an
続いて、サーバ装置100-1(RP1)は、利用者Uの端末装置10(認証器)からの登録要求に応じて、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)に対して、認証サーバグループ100G(RPグループ)及びサーバ装置100-1(RP1)へのFIDOの登録要求とともに/として、チャレンジ(Challenge)とグループリストとを送信する(ステップS1)。チャレンジは、一度だけ有効なランダムな文字列であり、乱数を元に決めた毎回異なるデータ列である。グループリストには、登録先である当該サーバ装置100-1(RP1)と、サーバ装置100-2(RP2)とが登録されている。すなわち、サーバ装置100-1(RP1)は、チャレンジとともに、当該サーバ装置100-1(RP1)を含む認証サーバグループ100G(RPグループ(RP-G))に所属するサーバ装置100(RP)に関するグループリスト(RP-G list)を送信する。
Next, in response to a registration request from the terminal device 10 (authenticator) of the user U, the server device 100-1 (RP1) transmits a challenge and a group list to the terminal device 10 (authenticator) of the user U via the network N (see FIG. 10) together with a registration request for FIDO to the
利用者Uは、端末装置10(認証器)を用いてユーザ検証(User verification)を行い、本人性の検証をローカルで実施する(ステップS2)。例えば、端末装置10(認証器)は、利用者Uから取得した生体情報に基づき、生体認証を行う。 The user U performs user verification using the terminal device 10 (authentication device) and performs local verification of the user's identity (step S2). For example, the terminal device 10 (authentication device) performs biometric authentication based on biometric information acquired from the user U.
続いて、端末装置10(認証器)は、ユーザ検証に成功した場合、登録用秘密鍵(アテステーション秘密鍵)でチャレンジに署名し、アテステーション文書を生成するとともに、グループ内のサーバ装置100(RP)に共通の認証用鍵ペア(RP-G認証用鍵ペア)がないことを確認して、認証用鍵ペア(RP-G認証用鍵ペア)を生成する(ステップS3)。端末装置10(認証器)は、グループ内のサーバ装置100(RP)に共通の認証用秘密鍵(RP-G認証用秘密鍵)を保管する。なお、端末装置10(認証器)は、認証サーバグループ(RP-G)と、共通の認証用秘密鍵(RP-G認証用秘密鍵)とを紐づけて保管してもよい。 Next, if the user verification is successful, the terminal device 10 (authenticator) signs the challenge with the registration private key (attestation private key), generates an attestation document, and verifies that the server devices 100 (RP) in the group do not have a common authentication key pair (RPG-G authentication key pair), and generates an authentication key pair (RPG-G authentication key pair) (step S3). The terminal device 10 (authenticator) stores the authentication private key (RPG-G authentication private key) common to the server devices 100 (RP) in the group. The terminal device 10 (authenticator) may store the authentication server group (RPG-G) and the common authentication private key (RPG-G authentication private key) in association with each other.
続いて、端末装置10(認証器)は、登録応答として、登録用秘密鍵(アテステーション秘密鍵)で署名した署名付きチャレンジ(アテステーション文書)と、グループ内のサーバ装置100(RP)に共通の認証用公開鍵(RP-G認証用公開鍵)とを、FIDOの登録要求の送信元のサーバ装置100-1(RP1)に送信する(ステップS4)。 Then, the terminal device 10 (authenticator) sends a signed challenge (attestation document) signed with the registration private key (attestation private key) and an authentication public key (RP-G authentication public key) common to the server devices 100 (RP) in the group as a registration response to the server device 100-1 (RP1) that sent the FIDO registration request (step S4).
続いて、サーバ装置100-1(RP1)は、署名付きチャレンジ(アテステーション文書)を受け取ると、登録用公開鍵(アテステーション公開鍵)で署名検証する(ステップS5)。 Next, when the server device 100-1 (RP1) receives the signed challenge (attestation document), it verifies the signature using the registration public key (attestation public key) (step S5).
続いて、サーバ装置100-1(RP1)は、署名検証に成功した場合、グループ内のサーバ装置100(RP)に共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管するとともに、利用者UのユーザID(ID1)とグループ内のサーバ装置100(RP)に共通の認証用公開鍵を紐付けて保存する(ステップS6)。図3の例では、サーバ装置100-1(RP1)は、グループ内のサーバ装置100(RP)に共通の認証用公開鍵を識別するための鍵IDと、グループ内のサーバ装置100(RP)に共通の認証用公開鍵の参照DID(DID1)と、利用者UのユーザID(ID1)とを紐づけて管理する。鍵レジストリ200は、認証用公開鍵(RP-G認証用公開鍵)を、当該認証用公開鍵(RP-G認証用公開鍵)の参照DID(DID1)と紐づけて管理する。
Next, if the signature verification is successful, the server device 100-1 (RP1) stores the authentication public key (RPG-G authentication public key) common to the server devices 100 (RP) in the group in the
これにより、認証サーバグループ100G(RPグループ)に所属している認証サーバへの認証には、RP-G認証用公開鍵を用いて認証できる。
As a result, authentication to an authentication server belonging to the
〔1-4.RP2にてFIDO登録〕
図5は、RP1にてFIDO登録を行った後、RP2にてFIDO登録を行う場合の概要を示す説明図である。例えば、図5に示すように、利用者U(ユーザ)の端末装置10(認証器)は、利用者Uの操作又は要求に応じて、ネットワークN(図10参照)を介して、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-2(RP2)に対して、登録要求を送信する(ステップS10)。この登録要求は、グループリストに基づくグループ鍵の登録要求である。
[1-4. FIDO registration with RP2]
Fig. 5 is an explanatory diagram showing an overview of a case where FIDO registration is performed at RP2 after FIDO registration is performed at RP1. For example, as shown in Fig. 5, a terminal device 10 (authentication device) of a user U (user) transmits a registration request to a server device 100-2 (RP2) belonging to an
続いて、サーバ装置100-2(RP2)は、利用者Uの端末装置10(認証器)からの登録要求に応じて、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)に対して、認証サーバグループ100G(RPグループ)及びサーバ装置100-2(RP2)へのFIDOの登録要求とともに、チャレンジ(Challenge)を送信する(ステップS11)。このとき、FIDOの登録要求とともに/として、登録先であるサーバ装置100-2(RP2)を示す情報と、認証サーバグループ100G(RP-G)を示す情報とを送信する。
Next, in response to a registration request from the terminal device 10 (authenticator) of user U, the server device 100-2 (RP2) transmits a challenge to the terminal device 10 (authenticator) of user U via the network N (see FIG. 10) along with a request to register FIDO to the
利用者Uは、端末装置10(認証器)を用いてユーザ検証(User verification)を行い、本人性の検証をローカルで実施する(ステップS12)。例えば、端末装置10(認証器)は、利用者Uから取得した生体情報に基づき、生体認証を行う。 The user U performs user verification using the terminal device 10 (authentication device) and performs local verification of the user's identity (step S12). For example, the terminal device 10 (authentication device) performs biometric authentication based on biometric information acquired from the user U.
続いて、端末装置10(認証器)は、ユーザ検証に成功した場合、サーバ装置100-2(RP2)が認証サーバグループ100G(RPグループ)に所属していることを確認して、登録用秘密鍵(アテステーション秘密鍵)でチャレンジに署名し、アテステーション文書を生成する(ステップS13)。このとき、グループ内のサーバ装置100(RP)に共通の認証用秘密鍵(RP-G認証用秘密鍵)は既にあるが、ここではFIDO登録本来の処理に則り「アテステーション秘密鍵」を利用する。
Next, if the user verification is successful, the terminal device 10 (authenticator) confirms that the server device 100-2 (RP2) belongs to the
続いて、端末装置10(認証器)は、登録応答として、登録用秘密鍵(アテステーション秘密鍵)で署名した署名付きチャレンジ(アテステーション文書)と、グループ内のサーバ装置100(RP)に共通の認証用公開鍵(RP-G認証用公開鍵)とを、FIDOの登録要求の送信元のサーバ装置100-2(RP2)に送信する(ステップS14)。 Then, the terminal device 10 (authenticator) sends a signed challenge (attestation document) signed with the registration private key (attestation private key) and an authentication public key (RPG-G authentication public key) common to the server devices 100 (RP) in the group as a registration response to the server device 100-2 (RP2) that sent the FIDO registration request (step S14).
続いて、サーバ装置100-2(RP2)は、署名付きチャレンジ(アテステーション文書)を受け取ると、登録用公開鍵(アテステーション公開鍵)で署名検証する(ステップS15)。 Next, when the server device 100-2 (RP2) receives the signed challenge (attestation document), it verifies the signature using the registration public key (attestation public key) (step S15).
続いて、サーバ装置100-2(RP2)は、署名検証に成功した場合、グループ鍵登録であることを認識し、鍵IDを使用して鍵レジストリ200から当該認証用公開鍵(RP-G認証用公開鍵)の参照DID(DID1)を取得する(ステップS16)。 Next, if the signature verification is successful, the server device 100-2 (RP2) recognizes that this is a group key registration, and uses the key ID to obtain the reference DID (DID1) of the authentication public key (RPG authentication public key) from the key registry 200 (step S16).
なお、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-2(RP2)は、ステップS10の登録要求が「グループ鍵の登録要求」であることがわかっており、ステップS14のレスポンスはステップS10のチャレンジを受け継いでおりステップS10の登録要求と関連づけられているため、署名検証に成功した場合、このステップS16の処理で正規のグループ鍵登録であると認識して処理を進める。
Note that the server device 100-2 (RP2) belonging to the
続いて、サーバ装置100-2(RP2)は、RP2における利用者UのユーザID(ID2)を取得(又は生成)し、認証を完了する(ステップS17)。例えば、サーバ装置100-2(RP2)は、RP2における既存のサービス等において利用者Uが既に登録済みであれば登録済みの利用者UのユーザID(ID2)を取得し、未登録の利用者Uであれば新規の利用者UのユーザID(ID2)を新たに生成(発行)する。このとき、サーバ装置100-2(RP2)は、グループ内のサーバ装置100(RP)に共通の認証用公開鍵を識別するための鍵ID(keyID)と、グループ内のサーバ装置100(RP)に共通の認証用公開鍵の参照DID(DID1)と、ユーザID(ID2)とを紐づけて管理する。 Then, the server device 100-2 (RP2) acquires (or generates) the user ID (ID2) of the user U at RP2 and completes the authentication (step S17). For example, if the user U is already registered in an existing service or the like at RP2, the server device 100-2 (RP2) acquires the user ID (ID2) of the registered user U, and if the user U is unregistered, it newly generates (issues) a user ID (ID2) for the new user U. At this time, the server device 100-2 (RP2) manages by linking a key ID (keyID) for identifying an authentication public key common to the server devices 100 (RP) in the group, a reference DID (DID1) for the authentication public key common to the server devices 100 (RP) in the group, and the user ID (ID2).
〔1-5.RP2にてFIDO認証〕
図6は、RP1にてFIDO登録を行った後、RP2にてFIDO認証を行う場合の概要を示す説明図である。例えば、図6に示すように、利用者U(ユーザ)の端末装置10(認証器)は、利用者Uの操作又は要求に応じて、ネットワークN(図10参照)を介して、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-2(RP2)に対して、認証要求を送信する(ステップS20)。
[1-5. FIDO authentication at RP2]
Fig. 6 is an explanatory diagram showing an overview of a case where FIDO registration is performed at RP1 and then FIDO authentication is performed at RP2. For example, as shown in Fig. 6, a terminal device 10 (authentication device) of a user U (user) transmits an authentication request to a server device 100-2 (RP2) belonging to an
続いて、サーバ装置100-2(RP2)は、利用者Uの端末装置10(認証器)からの認証要求に応じて、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)に対して、認証サーバグループ100G(RPグループ)及びサーバ装置100-2(RP2)へのFIDOの認証要求とともに、チャレンジ(Challenge)を送信する(ステップS21)。このとき、FIDOの認証要求とともに/として、認証先であるサーバ装置100-2(RP2)を示す情報と、認証サーバグループ100G(RP-G)を示す情報とを送信する。
Next, in response to an authentication request from the terminal device 10 (authenticator) of user U, the server device 100-2 (RP2) transmits a challenge to the terminal device 10 (authenticator) of user U via the network N (see FIG. 10) along with a FIDO authentication request to the
利用者Uは、端末装置10(認証器)を用いてユーザ検証(User verification)を行い、本人性の検証をローカルで実施する(ステップS22)。例えば、端末装置10(認証器)は、利用者Uから取得した生体情報に基づき、生体認証を行う。 The user U performs user verification using the terminal device 10 (authentication device) and performs local verification of the user's identity (step S22). For example, the terminal device 10 (authentication device) performs biometric authentication based on biometric information acquired from the user U.
続いて、端末装置10(認証器)は、ユーザ検証に成功した場合、サーバ装置100-2(RP2)が認証サーバグループ100G(RPグループ)に所属していることを確認して、共通の認証用秘密鍵(RP-G認証用秘密鍵)でチャレンジに署名し、アサーション文書を生成する(ステップS23)。ここでは、図4に示したサーバ装置100-1(RP1)へのFIDO登録時に生成した、既にあるRP-G認証用秘密鍵を利用する。
Next, if the user verification is successful, the terminal device 10 (authenticator) confirms that the server device 100-2 (RP2) belongs to the
続いて、端末装置10(認証器)は、認証応答として、共通の認証用秘密鍵(RP-G認証用秘密鍵)で署名した署名付きチャレンジ(アサーション文書)を、FIDOの認証要求の送信元のサーバ装置100-2(RP2)に送信する(ステップS24)。 Then, the terminal device 10 (authenticator) sends a signed challenge (assertion document) signed with the common authentication private key (RPG-G authentication private key) as an authentication response to the server device 100-2 (RP2) that sent the FIDO authentication request (step S24).
続いて、サーバ装置100-2(RP2)は、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)から署名付きチャレンジ(アサーション文書)を受け取ると、鍵IDを使用するが、未登録のため、公開鍵URLがないことを確認すると、鍵IDを使用して鍵レジストリ200から当該認証用公開鍵(RP-G認証用公開鍵)の参照DID(DID1)、及び認証用公開鍵(RP-G認証用公開鍵)を取得する(ステップS25)。 Next, when the server device 100-2 (RP2) receives a signed challenge (assertion document) from the terminal device 10 (authenticator) of the user U via the network N (see FIG. 10), it uses the key ID, but when it confirms that there is no public key URL because it is unregistered, it uses the key ID to obtain the reference DID (DID1) of the authentication public key (RPG-G authentication public key) and the authentication public key (RPG-G authentication public key) from the key registry 200 (step S25).
「公開鍵URLがないこと」の確認方法として、例えば、サーバ装置100-2(RP2)は、署名付きチャレンジ(アサーション文書)を受け取ると、自身が保有する認証サーバグループ100G(RP-G)の鍵情報データベース(鍵ID-公開鍵URL-ユーザID)にて、鍵IDをキーとして検索し、対応する公開鍵URLの存在を確認する。サーバ装置100-2(RP2)に関しては、初めての鍵登録を想定しているので、元々データは空のため、鍵ID(keyID)に該当する公開鍵URLは無し(空)と判定されることになる。
As a method of confirming that there is no public key URL, for example, when server device 100-2 (RP2) receives a signed challenge (assertion document), it searches the key information database (key ID-public key URL-user ID) of its own
続いて、サーバ装置100-2(RP2)は、認証用公開鍵(RP-G認証用公開鍵)を使用して署名付きチャレンジ(アサーション文書)の署名を検証する(ステップS26)。 Then, the server device 100-2 (RP2) uses the authentication public key (RPG authentication public key) to verify the signature of the signed challenge (assertion document) (step S26).
続いて、サーバ装置100-2(RP2)は、署名検証に成功した場合、RP2における利用者UのユーザID(ID2)を取得(又は生成)し、認証を完了する(ステップS27)。このとき、サーバ装置100-2(RP2)は、グループ内のサーバ装置100(RP)に共通の認証用公開鍵を識別するための鍵ID(keyID)と、グループ内のサーバ装置100(RP)に共通の認証用公開鍵の参照DID(DID1)と、ユーザID(ID2)とを紐づけて管理する。 Next, if the signature verification is successful, the server device 100-2 (RP2) acquires (or generates) the user ID (ID2) of the user U at RP2 and completes the authentication (step S27). At this time, the server device 100-2 (RP2) manages by linking together a key ID (keyID) for identifying the authentication public key common to the server devices 100 (RP) in the group, a reference DID (DID1) for the authentication public key common to the server devices 100 (RP) in the group, and the user ID (ID2).
〔1-6.ID連携してRP2にて登録〕
図7は、RP1にてFIDO登録を行った後、ID連携してRP2にて登録を行う場合の概要を示す説明図である。例えば、図7に示すように、利用者U(ユーザ)の端末装置10(認証器)は、利用者Uの操作又は要求に応じて、ネットワークN(図10参照)を介して、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-2(RP2)に対して、グループ鍵登録要求を送信する(ステップS30)。
[1-6. Register with RP2 by linking ID]
7 is an explanatory diagram showing an overview of a case where FIDO registration is performed at RP1, and then registration is performed at RP2 through ID federation. For example, as shown in Fig. 7, a terminal device 10 (authentication device) of a user U (user) transmits a group key registration request to a server device 100-2 (RP2) belonging to an
続いて、サーバ装置100-2(RP2)は、利用者U(ユーザ)の端末装置10(認証器)がすでにサーバ装置100-1(RP1)に登録済みと判断して、利用者Uの端末装置10(認証器)からのグループ鍵登録要求に応じて、サーバ装置100-1(RP1)から、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)に対して、認証サーバグループ100G(RPグループ)及びサーバ装置100-2(RP2)へのFIDOの認証要求とともに、チャレンジ(Challenge)を送信する(ステップS31)。このとき、サーバ装置100-2(RP2)は、グループ鍵登録要求を受信した際に、すでにサーバ装置100-1(RP1)に登録済みと判断して、サーバ装置100-1(RP1)に認証を要求してもよい。例えば、サーバ装置100-2(RP2)は、利用者U(ユーザ)の端末装置10(認証器)からグループ鍵登録要求を受信した際に、すでに登録済みのサーバ装置100-1(RP1)にリダイレクトしてもよい。
Next, the server device 100-2 (RP2) determines that the terminal device 10 (authenticator) of the user U (user) has already been registered with the server device 100-1 (RP1), and in response to a group key registration request from the terminal device 10 (authenticator) of the user U, the server device 100-1 (RP1) transmits a challenge to the terminal device 10 (authenticator) of the user U, together with a FIDO authentication request to the
利用者Uは、端末装置10(認証器)を用いてユーザ検証(User verification)を行い、本人性の検証をローカルで実施する(ステップS32)。例えば、端末装置10(認証器)は、利用者Uから取得した生体情報に基づき、生体認証を行う。 The user U performs user verification using the terminal device 10 (authentication device) and performs local verification of the user's identity (step S32). For example, the terminal device 10 (authentication device) performs biometric authentication based on biometric information acquired from the user U.
続いて、端末装置10(認証器)は、ユーザ検証に成功した場合、グループ内のサーバ装置100(RP)に共通の認証用秘密鍵(RP-G認証用秘密鍵)があることと、サーバ装置100-2(RP2)が認証サーバグループ100G(RPグループ)に所属していることを確認して、共通の認証用秘密鍵(RP-G認証用秘密鍵)でチャレンジに署名し、アサーション文書を生成する(ステップS33)。ここでは、RP2への認証情報とDID情報の通知方法として、FIDO認証ではなく、ID連携を利用する(ID1-ID2がRP1-RP2間で連携されていることが前提となる)。
Next, if the user verification is successful, the terminal device 10 (authenticator) confirms that the server device 100 (RP) in the group has a common authentication private key (RPG-G authentication private key) and that the server device 100-2 (RP2) belongs to the
続いて、端末装置10(認証器)は、認証応答として、共通の認証用秘密鍵(RP-G認証用秘密鍵)で署名した署名付きチャレンジ(アサーション文書)を、FIDOの認証要求の送信元のサーバ装置100-1(RP1)に送信する(ステップS34)。 Next, the terminal device 10 (authenticator) sends a signed challenge (assertion document) signed with the common authentication private key (RPG-G authentication private key) as an authentication response to the server device 100-1 (RP1) that sent the FIDO authentication request (step S34).
続いて、サーバ装置100-1(RP1)は、署名付きチャレンジ(アサーション文書)を受け取ると、グループ鍵登録用認証アサーション(アサーション文書、DID1を含む)を作成し、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)に対して、グループ鍵登録用認証アサーション(アサーション文書、DID1を含む)を送信する(ステップS35)。すなわち、グループ鍵登録用認証アサーションは、署名付きチャレンジ(アサーション文書)と、認証用公開鍵の参照DID(DID1)とを含む。 Next, when the server device 100-1 (RP1) receives the signed challenge (assertion document), it creates an authentication assertion for group key registration (assertion document, including DID1) and transmits the authentication assertion for group key registration (assertion document, including DID1) to the terminal device 10 (authenticator) of user U via the network N (see FIG. 10) (step S35). That is, the authentication assertion for group key registration includes the signed challenge (assertion document) and the reference DID (DID1) of the authentication public key.
このとき、サーバ装置100-1(RP1)は、署名付きチャレンジ(アサーション文書)を受け取ると、認証用公開鍵(RP-G認証用公開鍵)を使用して署名付きチャレンジ(アサーション文書)の署名を検証し、署名検証に成功した場合に、グループ鍵登録用認証アサーション(アサーション文書、DID1を含む)を作成するようにしてもよい。 At this time, when the server device 100-1 (RP1) receives the signed challenge (assertion document), it may verify the signature of the signed challenge (assertion document) using the authentication public key (RPG authentication public key), and if the signature verification is successful, create an authentication assertion for group key registration (assertion document, including DID1).
続いて、利用者Uの端末装置10(認証器)は、ネットワークN(図10参照)を介して、サーバ装置100-2(RP2)に対して、グループ鍵登録用認証アサーション(アサーション文書、DID1を含む)を送信する(ステップS36)。 Next, the terminal device 10 (authentication device) of user U transmits an authentication assertion for group key registration (including the assertion document and DID1) to the server device 100-2 (RP2) via the network N (see FIG. 10) (step S36).
続いて、サーバ装置100-2(RP2)は、ネットワークN(図10参照)を介して、利用者Uの端末装置10(認証器)からグループ鍵登録用認証アサーション(アサーション文書、DID1を含む)を受け取ると、鍵IDを使用するが、未登録のため、公開鍵URLがないことを確認すると、グループ鍵登録用認証アサーションに含まれる認証用公開鍵の参照DID(DID1)を使用して、鍵レジストリ200から認証用公開鍵(RP-G認証用公開鍵)を取得する(ステップS37)。 Next, when the server device 100-2 (RP2) receives the group key registration authentication assertion (including the assertion document, DID1) from the terminal device 10 (authenticator) of the user U via the network N (see FIG. 10), it uses the key ID, but when it confirms that there is no public key URL because it has not been registered, it uses the reference DID (DID1) of the authentication public key included in the group key registration authentication assertion to obtain the authentication public key (RPG authentication public key) from the key registry 200 (step S37).
続いて、サーバ装置100-2(RP2)は、グループ鍵登録用認証アサーションに含まれる署名付きチャレンジ(アサーション文書)を取得(抽出)し、認証用公開鍵(RP-G認証用公開鍵)を使用して署名付きチャレンジ(アサーション文書)の署名を検証する(ステップS38)。 Next, the server device 100-2 (RP2) obtains (extracts) the signed challenge (assertion document) included in the group key registration authentication assertion, and verifies the signature of the signed challenge (assertion document) using the authentication public key (RP-G authentication public key) (step S38).
続いて、サーバ装置100-2(RP2)は、署名検証に成功した場合、RP2における利用者UのユーザID(ID2)を取得(又は生成)し、認証を完了する(ステップS39)。このとき、サーバ装置100-2(RP2)は、グループ内のサーバ装置100(RP)に共通の認証用公開鍵を識別するための鍵ID(keyID)と、グループ内のサーバ装置100(RP)に共通の認証用公開鍵の参照DID(DID1)と、ユーザID(ID2)とを紐づけて管理する。 Next, if the signature verification is successful, the server device 100-2 (RP2) acquires (or generates) the user ID (ID2) of the user U at RP2 and completes the authentication (step S39). At this time, the server device 100-2 (RP2) manages a key ID (keyID) for identifying the authentication public key common to the server devices 100 (RP) in the group, a reference DID (DID1) for the authentication public key common to the server devices 100 (RP) in the group, and the user ID (ID2) in association with each other.
〔1-7.グループ鍵の更新/削除、グループリストの更新〕
なお、上記の例では、共通の公開鍵(グループ鍵)の登録に関する処理についてのみ説明したが、グループ鍵の更新、グループ鍵の削除、グループリストの更新についても、上記のグループ鍵の登録と同様の処理を行うことができる。
[1-7. Updating/deleting group keys, updating group lists]
In the above example, only the process for registering a common public key (group key) has been described. However, the same process as for registering the group key can also be used for updating the group key, deleting the group key, and updating the group list.
〔1-8.効果〕
本実施形態では、FIDOの鍵登録について、同一の認証サーバグループ100Gであれば、複数の認証サーバに対して単一の鍵登録でよく、ユーザの端末装置(認証器)は認証サーバごとの秘密鍵を持つ必要がない。よって、FIDOの鍵管理が簡便になる。
[1-8. Effects]
In this embodiment, for FIDO key registration, if the
なお、異なる認証サーバグループ100Gについては、ユーザの端末装置(認証器)が認証サーバグループ100Gを管理して、認証サーバグループ100GごとにFIDO認証に使う秘密鍵を変更する。
For different
また、認証サーバはアイデンティティ管理が簡易で管理コストを軽減できる。公開鍵管理が不要となるからである。 In addition, the authentication server simplifies identity management and reduces management costs because public key management is no longer necessary.
〔2.情報処理システムの構成例〕
次に、図8を用いて、実施形態に係るサーバ装置100が含まれる情報処理システム1の構成について説明する。図8は、実施形態に係る情報処理システム1の構成例を示す図である。図8に示すように、実施形態に係る情報処理システム1は、端末装置10とサーバ装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
2. Example of information processing system configuration
Next, a configuration of an
また、図8に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、図8では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
Furthermore, the number of devices included in the
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォン(スマホ)やタブレット端末等のスマートデバイス、フィーチャーフォン(ガラケー・ガラホ)等の携帯電話、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、情報家電・デジタル家電、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。また、端末装置10は、IOT(Internet of Things)に対応した住宅・建物、車、家電製品、電子機器等であってもよい。
The
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。
In addition, the
サーバ装置100は、例えばPCやブレードサーバ(blade server)等のコンピュータ、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。
The
〔3.端末装置の構成例〕
次に、図9を用いて、端末装置10の構成について説明する。図9は、端末装置10の構成例を示す図である。図9に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
3. Example of terminal device configuration
Next, the configuration of the
(通信部11)
通信部11は、ネットワークN(図8参照)と有線又は無線で接続され、ネットワークNを介して、サーバ装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
(Communication unit 11)
The communication unit 11 is connected to a network N (see FIG. 8 ) by wire or wirelessly, and transmits and receives information to and from the
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
(Display unit 12)
The
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
(Input unit 13)
The input unit 13 is an input device that accepts various operations from the user U. For example, the input unit 13 has buttons for inputting characters, numbers, and the like. The input unit 13 may be an input/output port (I/O port) or a Universal Serial Bus (USB) port, and the like. In addition, when the
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
(Positioning unit 14)
The positioning unit 14 receives signals (radio waves) transmitted from satellites of a GPS (Global Positioning System), and acquires position information (e.g., latitude and longitude) indicating the current position of the
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
The positioning unit 14 can also measure the position using various methods other than GPS. For example, the positioning unit 14 may measure the position using various communication functions of the
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
(Wi-Fi positioning)
For example, the positioning unit 14 uses the Wi-Fi (registered trademark) communication function of the
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
(Beacon positioning)
Furthermore, the positioning unit 14 may measure the position by using a Bluetooth (registered trademark) function of the
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
(geomagnetic positioning)
In addition, the positioning unit 14 locates the position of the
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
(RFID positioning)
Furthermore, for example, if the
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
If necessary, the positioning unit 14 may use one or a combination of the positioning means described above to determine the position of the
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。図9に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
(Sensor unit 20)
The sensor unit 20 includes various sensors mounted on or connected to the
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
Note that the above-mentioned
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
The
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
Since the
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
For example, the number of steps, walking speed, and distance walked can be calculated using a pedometer that uses the
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
The air temperature sensor 24 detects, for example, the air temperature around the
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
The above-mentioned air pressure sensor 23, temperature sensor 24,
(制御部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とを有する。
(Control unit 30)
The
(送信部31)
送信部31は、例えば入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知された各種情報、測位部14によって測位された端末装置10の位置情報等を、通信部11を介してサーバ装置100へ送信することができる。
(Transmitter 31)
The transmission unit 31 can transmit, for example, various information input by the user U using the input unit 13, various information detected by each
(受信部32)
受信部32は、通信部11を介して、サーバ装置100から提供される各種情報や、サーバ装置100からの各種情報の要求を受信することができる。
(Receiving unit 32)
The receiving unit 32 can receive various information provided by the
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。
(Processing Unit 33)
The processing unit 33 controls the entire
また、処理部33は、グループ管理部33Aと、検証部33Bと、確認部33Cと、鍵生成部33Dとを有する。なお、実際には、処理部33は、アプリを起動又はプログラムを実行することで、下記のグループ管理部33A、検証部33B、確認部33C、及び鍵生成部33Dとして機能してもよい。
The processing unit 33 also has a
(グループ管理部33A)
グループ管理部33Aは、FIDO認証を実施する複数の認証サーバ(サーバ装置100)を認証サーバグループ単位で管理する。このとき、送信部31は、同一の認証サーバグループに所属する複数の認証サーバ(サーバ装置100)のいずれかに対して登録要求を送信する。受信部32は、登録要求に対してチャレンジを受信する。また、送信部31は、同一の認証サーバグループに所属する複数の認証サーバ(サーバ装置100)のいずれかに対して認証要求を送信する。受信部32は、認証要求に対してチャレンジを受信する。あるいは、送信部31は、同一の認証サーバグループに所属する複数の認証サーバ(サーバ装置100)のうちユーザ未登録の第2の認証サーバに対して鍵登録要求を送信する。受信部32は、複数の認証サーバ(サーバ装置100)のうちユーザ登録済みの第1の認証サーバから第1のチャレンジを受信する。
(
The
(検証部33B)
検証部33Bは、登録要求に対するチャレンジを受信した際、ユーザ検証に成功した場合に登録用秘密鍵を用いてチャレンジに署名した署名付きチャレンジを作成する。また、検証部33Bは、認証要求に対するチャレンジを受信した際、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いてチャレンジに署名した署名付きチャレンジを作成する。
(Verification unit 33B)
When the verification unit 33B receives a challenge for a registration request, if the user verification is successful, the verification unit 33B creates a signed challenge by signing the challenge with a registration private key. Also, when the verification unit 33B receives a challenge for an authentication request, if the user verification is successful, the verification unit 33B creates a signed challenge by signing the challenge with a common authentication private key.
検証部33Bは、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いて第1のチャレンジに署名した第1の署名付きチャレンジを作成する。このとき、送信部31は、第1の認証サーバに第1の署名付きチャレンジを送信する。受信部32は、第1の認証サーバから第2のチャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを受信する。 If user verification is successful, the verification unit 33B creates a first signed challenge by signing the first challenge using a common authentication private key. At this time, the transmission unit 31 transmits the first signed challenge to the first authentication server. The reception unit 32 receives the second challenge and a group key registration authentication assertion including the reference DID of the public key from the first authentication server.
また、検証部33Bは、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いて第2のチャレンジに署名した第2の署名付きチャレンジを作成する。このとき、送信部31は、第2の認証サーバに、第2の署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションとを送信する。 If the user verification is successful, the verification unit 33B creates a second signed challenge by signing the second challenge using the common authentication private key. At this time, the transmission unit 31 transmits the second signed challenge and a group key registration authentication assertion including the reference DID of the public key to the second authentication server.
(確認部33C)
確認部33Cは、認証サーバグループに所属する複数の認証サーバ(サーバ装置100)に共通の認証用鍵ペアの有無を確認する。このとき、送信部31は、共通の認証用鍵ペアがある場合には、署名付きチャレンジを送信する。
(Confirmation unit 33C)
The verification unit 33C verifies whether or not a common authentication key pair exists among a plurality of authentication servers (server devices 100) belonging to the authentication server group. At this time, the transmission unit 31 transmits a signed challenge if a common authentication key pair exists.
(鍵生成部33D)
鍵生成部33Dは、共通の認証用鍵ペアがない場合には、認証サーバグループに所属する複数の認証サーバ(サーバ装置100)に共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する。このとき、送信部31は、共通の認証用鍵ペアがない場合には、署名付きチャレンジとともに共通の認証用公開鍵を送信する。
(
If there is no common authentication key pair, the
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
(Memory unit 40)
The storage unit 40 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk drive (HDD), a solid state drive (SSD), an optical disk, etc. Various programs and various data are stored in the storage unit 40.
また、記憶部40のセキュア領域(セキュアエレメント)には、グループリスト40Aと、登録用秘密鍵40Bと、認証用秘密鍵40Cとが記憶される。このとき、グループリスト40Aと、登録用秘密鍵40Bと、認証用秘密鍵40Cとはそれぞれ異なるセキュア領域に記憶されてもよい。なお、実際には、グループリスト40Aと、登録用秘密鍵40Bと、認証用秘密鍵40Cとは紐づけられて記憶されていてもよいし、登録用秘密鍵40Bと認証用秘密鍵40Cはグループリスト40Aに含まれていてもよい。また、セキュア領域に記憶されるのは、登録用秘密鍵40Bと、認証用秘密鍵40Cだけでも良い。すなわち、グループリスト40Aは、ノーマル領域に記憶されてもよい。
In addition, the secure area (secure element) of the storage unit 40 stores the group list 40A, the registration private key 40B, and the authentication
グループリスト40Aは、認証サーバグループ単位で、同一の認証サーバグループ100G(RPグループ)に所属する複数のサーバ装置100(RP)を登録したデータである。例えば、グループリスト40Aは、グループ内のサーバ装置100のURL等を登録したリスト形式のデータである。なお、データ形式は、リスト形式に限らず、テーブル形式であってもよい。すなわち、グループリスト40Aの役割を果たすことが可能であれば、データ形式は任意である。
The group list 40A is data that registers multiple server devices 100 (RP) that belong to the same
登録用秘密鍵40Bは、従来通りの登録用鍵ペアのうちの登録用秘密鍵(アテステーション秘密鍵)である。ただし、実際には、登録用秘密鍵40Bも、認証用秘密鍵40Cと同様に、認証サーバグループ単位で、同一の認証サーバグループ内の認証サーバに共通の登録用鍵ペアのうちの登録用秘密鍵であってもよい。
The registration private key 40B is a registration private key (attestation private key) of a conventional registration key pair. However, in reality, the registration private key 40B may also be a registration private key of a registration key pair common to authentication servers in the same authentication server group, on an authentication server group basis, similar to the authentication
認証用秘密鍵40Cは、認証サーバグループ単位で、同一の認証サーバグループ内の認証サーバに共通の認証用鍵ペアのうちの認証用秘密鍵である。すなわち、認証用秘密鍵40Cは、グループ内のサーバ装置100(RP)に共通の認証用秘密鍵(RP-G認証用秘密鍵)である。
The authentication
〔4.サーバ装置の構成例〕
次に、図10を用いて、実施形態に係るサーバ装置100の構成について説明する。図10は、実施形態に係るサーバ装置100の構成例を示す図である。図10に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを備える。
4. Example of Server Device Configuration
Next, the configuration of the
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(図8参照)と有線又は無線で接続される。
(Communication unit 110)
The communication unit 110 is realized by, for example, a network interface card (NIC), etc. The communication unit 110 is also connected to a network N (see FIG. 8) in a wired or wireless manner.
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD、SSD、光ディスク等の記憶装置によって実現される。図10に示すように、記憶部120は、利用者情報データベース121と、履歴情報データベース122と、鍵情報データベース123とを有する。
(Memory unit 120)
The
(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。図11は、利用者情報データベース121の一例を示す図である。図11に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
(User Information Database 121)
The
「利用者ID」は、利用者Uを識別するための識別情報を示す。なお、「利用者ID」は、利用者Uの連絡先(電話番号、メールアドレス等)であってもよいし、利用者Uの端末装置10を識別するための識別情報であってもよい。
"User ID" indicates identification information for identifying user U. Note that "user ID" may be contact information for user U (telephone number, email address, etc.) or may be identification information for identifying user U's
また、「年齢」は、利用者IDにより識別される利用者Uの年齢を示す。なお、「年齢」は、利用者Uの具体的な年齢(例えば35歳など)を示す情報であってもよいし、利用者Uの年代(例えば30代など)を示す情報であってもよい。あるいは、「年齢」は、利用者Uの生年月日を示す情報であってもよいし、利用者Uの世代(例えば80年代生まれなど)を示す情報であってもよい。また、「性別」は、利用者IDにより識別される利用者Uの性別を示す。 Furthermore, "age" indicates the age of user U identified by the user ID. Note that "age" may be information indicating the specific age of user U (e.g., 35 years old) or information indicating the generation of user U (e.g., 30s). Alternatively, "age" may be information indicating user U's date of birth or information indicating user U's generation (e.g., born in the 1980s). Furthermore, "gender" indicates the gender of user U identified by the user ID.
また、「自宅」は、利用者IDにより識別される利用者Uの自宅の位置情報を示す。なお、図11に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。 "Home" indicates the location information of the home of user U, which is identified by the user ID. In the example shown in FIG. 11, "Home" is illustrated as an abstract code such as "LC11", but it may also be latitude and longitude information, etc. For example, "Home" may also be the name of a region or an address.
また、「勤務地」は、利用者IDにより識別される利用者Uの勤務地(学生の場合は学校)の位置情報を示す。なお、図11に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度経度情報等であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。 "Workplace" indicates the location information of the workplace (school in the case of a student) of user U identified by the user ID. In the example shown in FIG. 11, "workplace" is illustrated as an abstract code such as "LC12", but it may also be latitude and longitude information, etc. For example, "workplace" may also be the name of a region or an address.
また、「興味」は、利用者IDにより識別される利用者Uの興味を示す。すなわち、「興味」は、利用者IDにより識別される利用者Uが関心の高い対象を示す。例えば、「興味」は、利用者Uが検索エンジンに入力して検索した検索クエリ(キーワード)等であってもよい。なお、図11に示す例では、「興味」は、各利用者Uに1つずつ図示するが、複数であってもよい。 Furthermore, "interests" indicate the interests of user U identified by the user ID. In other words, "interests" indicate subjects in which user U identified by the user ID is highly interested. For example, "interests" may be search queries (keywords) entered by user U into a search engine. Note that, although one "interest" is illustrated for each user U in the example shown in FIG. 11, there may be multiple "interests."
例えば、図11に示す例において、利用者ID「U1」により識別される利用者Uの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、自宅が「LC11」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、勤務地が「LC12」であることを示す。また、例えば、利用者ID「U1」により識別される利用者Uは、「スポーツ」に興味があることを示す。 For example, in the example shown in FIG. 11, the age of user U identified by user ID "U1" is "20s" and the gender is "male." Furthermore, for example, user U identified by user ID "U1" indicates that his/her home address is "LC11." Furthermore, for example, user U identified by user ID "U1" indicates that his/her workplace is "LC12." Furthermore, for example, user U identified by user ID "U1" indicates that he/she is interested in "sports."
ここで、図11に示す例では、「U1」、「LC11」及び「LC12」といった抽象的な値を用いて図示するが、「U1」、「LC11」及び「LC12」には、具体的な文字列や数値等の情報が記憶されるものとする。以下、他の情報に関する図においても、抽象的な値を図示する場合がある。 In the example shown in FIG. 11, abstract values such as "U1", "LC11", and "LC12" are used to illustrate the data, but it is assumed that concrete information such as character strings and numerical values is stored in "U1", "LC11", and "LC12". In the following figures relating to other information, abstract values may also be illustrated.
なお、利用者情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、利用者情報データベース121は、利用者Uの端末装置10に関する各種情報を記憶してもよい。また、利用者情報データベース121は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、利用者情報データベース121は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。
The
(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。図12は、履歴情報データベース122の一例を示す図である。図12に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購入履歴」、「投稿履歴」といった項目を有する。
(History information database 122)
The
「利用者ID」は、利用者Uを識別するための識別情報を示す。また、「位置履歴」は、利用者Uの位置や移動の履歴である位置履歴を示す。また、「検索履歴」は、利用者Uが入力した検索クエリの履歴である検索履歴を示す。また、「閲覧履歴」は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴を示す。また、「購入履歴」は、利用者Uによる購入の履歴である購入履歴を示す。また、「投稿履歴」は、利用者Uによる投稿の履歴である投稿履歴を示す。なお、「投稿履歴」は、利用者Uの所有物に関する質問を含んでいてもよい。 "User ID" refers to identification information for identifying user U. "Location history" refers to location history, which is a history of user U's location and movements. "Search history" refers to search history, which is a history of search queries entered by user U. "Browse history" refers to browse history, which is a history of content viewed by user U. "Purchase history" refers to purchase history, which is a history of purchases made by user U. "Post history" refers to posting history, which is a history of posts made by user U. "Post history" may include questions about user U's possessions.
例えば、図12に示す例において、利用者ID「U1」により識別される利用者Uは、「位置履歴#1」の通りに移動し、「検索履歴#1」の通りに検索し、「閲覧履歴#1」の通りにコンテンツを閲覧し、「購入履歴#1」の通りに所定の店舗等で所定の商品等を購入し、「投稿履歴#1」の通りに投稿したことを示す。
For example, in the example shown in FIG. 12, user U identified by user ID "U1" moves as shown in "
ここで、図12に示す例では、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」といった抽象的な値を用いて図示するが、「U1」、「位置履歴#1」、「検索履歴#1」、「閲覧履歴#1」、「購入履歴#1」及び「投稿履歴#1」には、具体的な文字列や数値等の情報が記憶されるものとする。
In the example shown in FIG. 12, abstract values such as "U1", "
なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。
The
(鍵情報データベース123)
鍵情報データベース123は、認証サーバグループ内の認証サーバに共通の公開鍵に関する各種情報を記憶する。図13は、鍵情報データベース123の一例を示す図である。図13に示した例では、鍵情報データベース123は、「鍵ID」、「公開鍵URL」、「ユーザID」といった項目を有する。
(Key information database 123)
The
「鍵ID」は、認証サーバグループ内の認証サーバに共通の公開鍵を識別するための識別情報を示す。また、「公開鍵URL」は、認証サーバグループ内の認証サーバに共通の公開鍵の所在を示す参照DIDを示す。ここでは、参照DIDは、鍵レジストリ200に保管されている共通の公開鍵に紐づけられた参照DIDと対応している。また、「ユーザID」は、共通の公開鍵によりFIDO認証を受ける利用者Uを識別するための識別情報を示す。本実施形態では、共通の公開鍵は、共通の認証用公開鍵を示す。
The "key ID" indicates identification information for identifying a public key common to the authentication servers in the authentication server group. The "public key URL" indicates a reference DID indicating the location of the public key common to the authentication servers in the authentication server group. Here, the reference DID corresponds to the reference DID linked to the common public key stored in the
例えば、図13に示す例において、鍵ID「KeyID」により示される共通の公開鍵は、公開鍵URL「DID1」が示す場所(鍵レジストリ200)にあり、共通の公開鍵を用いたFIDO認証に成功した場合、ユーザID「ID1」が抽出されることを示す。 For example, in the example shown in FIG. 13, the common public key indicated by the key ID "KeyID" is located at the location indicated by the public key URL "DID1" (key registry 200), and if FIDO authentication using the common public key is successful, the user ID "ID1" is extracted.
ここで、図13に示す例では、「KeyID」、「DID1」及び「ID1」といった抽象的な値を用いて図示するが、「KeyID」、「DID1」及び「ID1」には、具体的な文字列や数値等の情報が記憶されるものとする。 Here, in the example shown in FIG. 13, abstract values such as "KeyID", "DID1", and "ID1" are used for illustration, but "KeyID", "DID1", and "ID1" are assumed to store information such as specific character strings and numerical values.
なお、鍵情報データベース123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、鍵情報データベース123は、認証サーバグループ100G(RPグループ)を識別するための識別情報を記憶してもよい。また、鍵情報データベース123は、グループ内のサーバ装置100(RP)を登録したグループリストを記憶してもよい。また、鍵情報データベース123は、グループ内のサーバ装置100(RP)を識別するための識別情報を記憶してもよい。また、鍵情報データベース123は、認証器証明書(Attestation:アテステーション)やユーザ検証結果の証明書(Assertion:アサーション)を記憶してもよい。また、鍵情報データベース123は、VC(Verifiable Credentials:検証可能な資格証明書)を記憶してもよい。また、鍵情報データベース123は、認証サーバグループ内の認証サーバに共通の認証用公開鍵に限らず、認証サーバグループ内の認証サーバに共通の登録用公開鍵に関する各種情報を記憶してもよい。
The
また、記憶部120は、鍵レジストリ200を記憶してもよい。例えば、認証サーバグループ100G(RPグループ)内のサーバ装置100(RP)のうちの1台は、記憶部120に鍵レジストリ200を保管していてもよい。
The
(制御部130)
図10に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、サーバ装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図10に示す例では、制御部130は、取得部131と、登録処理部132と、認証処理部133と、提供部134とを有する。
(Control unit 130)
Returning to Fig. 10, the description will be continued. The control unit 130 is a controller, and is realized by, for example, a central processing unit (CPU), a micro processing unit (MPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like, executing various programs (corresponding to an example of an information processing program) stored in a storage device inside the
(取得部131)
取得部131は、利用者U(ユーザ)により入力された検索クエリを取得する。例えば、取得部131は、利用者Uが検索エンジン等に検索クエリを入力してキーワード検索を行った際に、通信部110を介して、当該検索クエリを取得する。すなわち、取得部131は、通信部110を介して、利用者Uにより検索エンジンやサイト又はアプリの検索窓に入力されたキーワードを取得する。
(Acquisition unit 131)
The acquisition unit 131 acquires a search query input by a user U (user). For example, when the user U inputs a search query into a search engine or the like to perform a keyword search, the acquisition unit 131 acquires the search query via the communication unit 110. That is, the acquisition unit 131 acquires keywords input by the user U into a search box of a search engine, a site, or an app via the communication unit 110.
また、取得部131は、通信部110を介して、利用者Uに関する利用者情報を取得する。例えば、取得部131は、利用者Uの端末装置10から、利用者Uを示す識別情報(利用者ID等)や、利用者Uの位置情報、利用者Uの属性情報等を取得する。また、取得部131は、利用者Uのユーザ登録時に、利用者Uを示す識別情報や、利用者Uの属性情報等を取得してもよい。そして、取得部131は、利用者情報を、記憶部120の利用者情報データベース121に登録する。
The acquisition unit 131 also acquires user information related to user U via the communication unit 110. For example, the acquisition unit 131 acquires identification information (such as a user ID) indicating user U, location information of user U, attribute information of user U, etc. from the
また、取得部131は、通信部110を介して、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、取得部131は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報を取得する。そして、取得部131は、各種の履歴情報を、記憶部120の履歴情報データベース122に登録する。
The acquisition unit 131 also acquires various types of history information (log data) indicating the behavior of the user U via the communication unit 110. For example, the acquisition unit 131 acquires various types of history information indicating the behavior of the user U from the
(登録処理部132)
登録処理部132は、通信部110を介して、端末装置10(認証器)から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管する。例えば、登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、認証サーバグループ単位で、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管する。
(Registration Processing Unit 132)
When the
また、登録処理部132は、共通の認証用公開鍵(RP-G認証用公開鍵)を識別するための鍵IDと、共通の認証用公開鍵(RP-G認証用公開鍵)の所在を示す公開鍵の参照DID(公開URL)と、端末装置10(認証器)を用いてFIDO認証を受けるユーザを示すユーザIDとを紐づけて管理する。例えば、登録処理部132は、鍵IDと、公開鍵の参照DIDと、ユーザIDとを紐づけて記憶部120の鍵情報データベース123に登録する。また、鍵レジストリ200は、共通の認証用公開鍵(RP-G認証用公開鍵)を識別するための鍵IDと、共通の認証用公開鍵(RP-G認証用公開鍵)の所在を示す公開鍵の参照DIDと、共通の認証用公開鍵(RP-G認証用公開鍵)とを紐づけて管理する。
The
このとき、登録処理部132は、第1の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジと、共通の認証用鍵ペアがないことを確認した端末装置10(認証器)が生成した共通の認証用公開鍵(RP-G認証用公開鍵)とを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管するとともに、鍵IDと、公開鍵の参照DIDと、第1のユーザIDとを紐づけて管理する。
At this time, when the
また、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDを取得し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。
In addition, when the
あるいは、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、第1の認証サーバに、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、端末装置10(認証器)に、チャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを送信する処理を実施させる。
Alternatively, when the
(認証処理部133)
認証処理部133は、通信部110を介して、端末装置10(認証器)から認証要求を受けた際に、鍵レジストリ200から共通の認証用公開鍵(RP-G認証用公開鍵)を取得し、共通の認証用公開鍵(RP-G認証用公開鍵)を用いてFIDO認証を実施する。例えば、認証処理部133は、端末装置10(認証器)から認証要求を受けた際に、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵(RP-G認証用公開鍵)を取得し、共通の認証用公開鍵(RP-G認証用公開鍵)を用いてFIDO認証を実施する。
(Authentication Processing Unit 133)
When receiving an authentication request from the terminal device 10 (authenticator) via the communication unit 110, the
なお、認証処理部133は、第2の認証サーバとして、端末装置10(認証器)から認証要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジを受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DID(公開URL)が内部に存在しないことを確認した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDと共通の認証用公開鍵(RP-G認証用公開鍵)とを取得し、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理してもよい。
When the
あるいは、認証処理部133は、第2の認証サーバとして、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションを端末装置10(認証器)から受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、グループ鍵登録用認証アサーションに含まれる公開鍵の参照DIDを使用して鍵レジストリ200から共通の認証用公開鍵(RP-G認証用公開鍵)を取得し、共通の認証用公開鍵(RP-G認証用公開鍵)を使用してグループ鍵登録用認証アサーションに含まれる署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理してもよい。
Alternatively, the
(提供部134)
提供部134は、FIDO認証に成功した場合、通信部110を介して、利用者Uの端末装置10(又は利用者U自身、あるいは利用者Uが保有する他の機器)に、サービスを提供する。
(Providing Unit 134)
If FIDO authentication is successful, the providing unit 134 provides the service to the
〔5.処理手順〕
次に、図14~図16を用いて実施形態に係るサーバ装置100による処理手順について説明する。図14は、実施形態に係る第1の処理手順を示すフローチャートである。図15は、実施形態に係る第2の処理手順を示すフローチャートである。図16は、実施形態に係る第3の処理手順を示すフローチャートである。なお、以下に示す処理手順は、サーバ装置100の制御部130によって繰り返し実行される。
5. Processing Procedure
Next, the processing procedure by the
〔5-1.第1の処理手順〕
例えば、図14に示すように、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-1(RP1)の登録処理部132は、通信部110を介して、利用者Uの端末装置10(認証器)から登録要求を受け付ける(ステップS101)。
5-1. First Processing Procedure
For example, as shown in FIG. 14, the
続いて、サーバ装置100-1(RP1)の登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、通信部110を介して、端末装置10(認証器)にチャレンジを送信し、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジと、グループ内のサーバ装置100(RP)に共通の認証用鍵ペアがないことを確認した端末装置10(認証器)が生成した共通の認証用公開鍵(RP-G認証用公開鍵)とを端末装置10(認証器)から受信する(ステップS102)。
Next, when the
続いて、サーバ装置100-1(RP1)の登録処理部132は、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名を検証する(ステップS103)。
Then, the
続いて、サーバ装置100-1(RP1)の登録処理部132は、署名付きチャレンジの署名検証に成功した場合、共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管するとともに、鍵IDと、公開鍵の参照DID(公開URL)と、第1のユーザIDとを紐づけて管理する(ステップS104)。
Next, if the
続いて、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-2(RP2)の登録処理部132は、通信部110を介して、利用者Uの端末装置10(認証器)から登録要求を受け付ける(ステップS201)。
Next, the
続いて、サーバ装置100-2(RP2)の登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、通信部110を介して、端末装置10(認証器)にグループリストとチャレンジを送信し、グループ内のサーバ装置100(RP)に共通の認証用鍵ペアがあることを確認した端末装置10(認証器)から、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを受信する(ステップS202)。
Next, when the
続いて、サーバ装置100-2(RP2)の登録処理部132は、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名を検証する(ステップS203)。
Then, the
続いて、サーバ装置100-2(RP2)の登録処理部132は、署名付きチャレンジの署名検証に成功した場合、グループ鍵登録であることを認識し、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDを取得する(ステップS204)。
Next, if the
続いて、サーバ装置100-2(RP2)の登録処理部132は、第2のユーザIDを取得(又は生成)し、鍵IDと、公開鍵の参照DID(公開URL)と、第2のユーザIDとを紐づけて管理する(ステップS205)。
Then, the
〔5-2.第2の処理手順〕
あるいは、図15に示すように、図14のステップS201以降の処理の代わりに、サーバ装置100-2(RP2)の認証処理部133は、通信部110を介して、利用者Uの端末装置10(認証器)から登録要求を受け付ける(ステップS211)。
5-2. Second Processing Procedure
Alternatively, as shown in FIG. 15, instead of the processing from step S201 onwards in FIG. 14, the
続いて、サーバ装置100-2(RP2)の認証処理部133は、端末装置10(認証器)から認証要求を受けた際に、通信部110を介して、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジを受信する(ステップS212)。
Next, when the
続いて、サーバ装置100-2(RP2)の認証処理部133は、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DID(公開URL)が内部に存在しないことを確認した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDと共通の認証用公開鍵(RP-G認証用公開鍵)とを取得する(ステップS213)。
Next, if the
続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名を検証する(ステップS214)。
Then, the
続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名検証に成功した場合、第2のユーザIDを取得(又は生成)し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する(ステップS215)。
Next, if the
〔5-3.第3の処理手順〕
あるいは、図16に示すように、図14のステップS201以降の処理の代わりに、サーバ装置100-2(RP2)の登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、通信部110を介して、グループ内のサーバ装置100-1(RP1)にリダイレクトする(ステップS221)。
5-3. Third Processing Procedure
Alternatively, as shown in FIG. 16, instead of the processing from step S201 onwards in FIG. 14, when a registration request is received from the terminal device 10 (authenticator), the
続いて、サーバ装置100-1(RP1)の認証処理部133は、すでに共通の認証用公開鍵(RP-G認証用公開鍵)があることを確認して、通信部110を介して、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信する(ステップS121)。
Then, the
続いて、サーバ装置100-1(RP1)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名検証に成功した場合、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションを作成し、通信部110を介して、端末装置10(認証器)に、チャレンジと、グループ鍵登録用認証アサーションとを送信する(ステップS122)。このとき、サーバ装置100-1(RP1)の認証処理部133は、端末装置10(認証器)に対して、グループ内のサーバ装置100-2(RP2)に応答するように指示してもよい。端末装置10(認証器)は、通信部11を介して、共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションをサーバ装置100-2(RP2)に送信する。
Next, if the
続いて、サーバ装置100-2(RP2)の認証処理部133は、すでに共通の認証用公開鍵(RP-G認証用公開鍵)がある場合に、通信部110を介して、ユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションを端末装置10(認証器)から受信する(ステップS222)。
Next, if a common authentication public key (RPG-G authentication public key) is already present, the
続いて、サーバ装置100-2(RP2)の認証処理部133は、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、グループ鍵登録用認証アサーションに含まれる公開鍵の参照DIDを使用して鍵レジストリ200から共通の認証用公開鍵(RP-G認証用公開鍵)を取得する(ステップS223)。
Next, if the
続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名を検証する(ステップS224)。
Then, the
続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を使用してグループ鍵登録用認証アサーションに含まれる署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する(ステップS225)。
Next, if the
〔6.変形例〕
上述した端末装置10(認証器)及びサーバ装置100(RP)は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
6. Modifications
The above-described terminal device 10 (authentication device) and server device 100 (RP) may be implemented in various different forms other than the above embodiment. Therefore, the following describes modified examples of the embodiment.
上記の実施形態において、サーバ装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態におけるサーバ装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10はサーバ装置100と連携しているため、利用者Uから見れば、サーバ装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、サーバ装置100を備えているともいえる。
In the above embodiment, some or all of the processing executed by the
また、上記の実施形態において、サーバ装置100は、1つの認証サーバグループ(RPグループ)に限らず、複数の認証サーバグループ(RPグループ)に所属していてもよい。すなわち、1台のサーバ装置100が複数の認証サーバグループ(RPグループ)に所属していてもよい。このとき、どの認証サーバグループ(RPグループ)のグループ鍵を使用するかは、利用者U(ユーザ)に選択させてもよいし(「どちらにしますか?」)、先に見つかったほうから使用するようにしてもよい。すなわち、任意である。FIDO認証が実施可能であれば、どの認証サーバグループ(RPグループ)であっても問題ない。
In addition, in the above embodiment, the
また、上記の実施形態において、端末装置10は、サーバ装置100がサブドメインに属しているのであれば、上位ドメインのグループに属していると判断してもよい。すなわち、端末装置10は、上位ドメインのグループを、認証サーバグループ(RPグループ)と判断してもよい。
In addition, in the above embodiment, if the
また、上記の実施形態において、サーバ装置100は、FIDO認証と他の認証とを組み合わせて多段階認証としてもよい。例えば、サーバ装置100は、FIDO認証とパスワード認証とを組み合わせて2段階認証としてもよい。あるいは、サーバ装置100は、FIDO認証と秘密の質問とを組み合わせて2段階認証としてもよい。
In addition, in the above embodiment, the
また、上記の実施形態において、サーバ装置100は、FIDO認証において、認証の3要素である「知識情報」、「所持情報」、「生体情報」のうち、2つ以上を組み合わせて認証するようにしてもよい。すなわち、サーバ装置100は、多要素認証(MFA:Multi-Factor Authentication)を採用してもよい。
In addition, in the above embodiment, the
〔7.効果〕
上述してきたように、本願に係る情報処理装置(サーバ装置100)は、端末装置10(認証器)から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵を鍵レジストリ200に保管する登録処理部132と、端末装置10(認証器)から認証要求を受けた際に、鍵レジストリ200から共通の認証用公開鍵を取得し、共通の認証用公開鍵を用いてFIDO認証を実施する認証処理部133と、を備えることを特徴とする。
7. Effects
As described above, the information processing device (server device 100) of the present application is characterized by comprising: a
例えば、登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、認証サーバグループ単位で、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵を鍵レジストリ200に保管する。認証処理部133は、端末装置10(認証器)から認証要求を受けた際に、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵を取得し、共通の認証用公開鍵を用いてFIDO認証を実施する。
For example, when the
また、登録処理部132は、共通の認証用公開鍵を識別するための鍵IDと、共通の認証用公開鍵の所在を示す公開鍵の参照DIDと、端末装置10(認証器)を用いてFIDO認証を受けるユーザを示すユーザIDとを紐づけて管理する。鍵レジストリ200は、共通の認証用公開鍵を識別するための鍵IDと、共通の認証用公開鍵の所在を示す公開鍵の参照DIDと、共通の認証用公開鍵とを紐づけて管理する。
The
このとき、登録処理部132は、第1の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジと、共通の認証用鍵ペアがないことを確認した端末装置10(認証器)が生成した共通の認証用公開鍵とを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、共通の認証用公開鍵を鍵レジストリ200に保管するとともに、鍵IDと、公開鍵の参照DIDと、第1のユーザIDとを紐づけて管理する。
At this time, when the
また、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵がある場合にユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDを取得し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。
In addition, when the
あるいは、認証処理部133は、第2の認証サーバとして、端末装置10(認証器)から認証要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジを受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDと共通の認証用公開鍵とを取得し、共通の認証用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。
Alternatively, when the
あるいは、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、第1の認証サーバに、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、端末装置10(認証器)に、チャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを送信する処理を実施させる。認証処理部133は、第2の認証サーバとして、共通の認証用公開鍵がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションを端末装置10(認証器)から受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、グループ鍵登録用認証アサーションに含まれる公開鍵の参照DIDを使用して鍵レジストリ200から共通の認証用公開鍵を取得し、共通の認証用公開鍵を使用してグループ鍵登録用認証アサーションに含まれる署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。
Alternatively, when the
別の観点では、本願に係る情報処理装置(端末装置10)は、認証器として、FIDO認証を実施する複数の認証サーバを認証サーバグループ単位で管理するグループ管理部と、同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して登録要求を送信する送信部と、登録要求に対してチャレンジを受信する受信部と、ユーザ検証に成功した場合に登録用秘密鍵を用いてチャレンジに署名した署名付きチャレンジを作成する検証部と、認証サーバグループに所属する複数の認証サーバに共通の認証用鍵ペアの有無を確認する確認部と、共通の認証用鍵ペアがない場合には、認証サーバグループに所属する複数の認証サーバに共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する鍵生成部と、を備え、送信部は、共通の認証用鍵ペアがある場合には、署名付きチャレンジを送信する。共通の認証用鍵ペアがない場合には、署名付きチャレンジとともに共通の認証用公開鍵を送信する。 From another perspective, the information processing device (terminal device 10) according to the present application includes, as an authenticator, a group management unit that manages multiple authentication servers that perform FIDO authentication on an authentication server group basis, a transmission unit that transmits a registration request to one of multiple authentication servers belonging to the same authentication server group, a reception unit that receives a challenge in response to the registration request, a verification unit that creates a signed challenge by signing the challenge using a registration private key if user verification is successful, a confirmation unit that confirms whether or not there is a common authentication key pair for multiple authentication servers belonging to the authentication server group, and a key generation unit that generates a key pair of a common authentication private key and authentication public key for multiple authentication servers belonging to the authentication server group if there is no common authentication key pair, and the transmission unit transmits the signed challenge if there is a common authentication key pair. If there is no common authentication key pair, it transmits the common authentication public key together with the signed challenge.
また、送信部は、同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して認証要求を送信する。受信部は、認証要求に対してチャレンジを受信する。検証部は、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いてチャレンジに署名した署名付きチャレンジを作成する。確認部は、共通の認証用鍵ペアがあることを確認する。送信部は、共通の認証用鍵ペアがある場合には、署名付きチャレンジを送信する。 The transmitting unit also transmits an authentication request to one of multiple authentication servers belonging to the same authentication server group. The receiving unit receives a challenge in response to the authentication request. If user verification is successful, the verifying unit creates a signed challenge by signing the challenge using a common authentication private key. The confirming unit verifies that a common authentication key pair exists. If a common authentication key pair exists, the transmitting unit transmits the signed challenge.
あるいは、送信部は、同一の認証サーバグループに所属する複数の認証サーバのうちユーザ未登録の第2の認証サーバに対して鍵登録要求を送信する。受信部は、複数の認証サーバのうちユーザ登録済みの第1の認証サーバから第1のチャレンジを受信する。検証部は、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いて第1のチャレンジに署名した第1の署名付きチャレンジを作成する。送信部は、第1の認証サーバに第1の署名付きチャレンジを送信する。受信部は、第1の認証サーバから第2のチャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを受信する。検証部は、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いて第2のチャレンジに署名した第2の署名付きチャレンジを作成する。送信部は、第2の認証サーバに、第2の署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションとを送信する。 Alternatively, the transmission unit transmits a key registration request to a second authentication server in which the user is not registered among multiple authentication servers belonging to the same authentication server group. The reception unit receives a first challenge from a first authentication server in which the user is registered among the multiple authentication servers. If the user verification is successful, the verification unit creates a first signed challenge by signing the first challenge using a common authentication private key. The transmission unit transmits the first signed challenge to the first authentication server. The reception unit receives a second challenge from the first authentication server and a group key registration authentication assertion including a reference DID of the public key. If the user verification is successful, the verification unit creates a second signed challenge by signing the second challenge using a common authentication private key. The transmission unit transmits the second signed challenge and the group key registration authentication assertion including a reference DID of the public key to the second authentication server.
上述した各処理のいずれかもしくは組合せにより、本願に係る情報処理装置は認証の効率をさらに向上させることができる。 By using any one or a combination of the above-mentioned processes, the information processing device according to the present application can further improve the efficiency of authentication.
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10やサーバ装置100は、例えば図17に示すような構成のコンピュータ1000によって実現される。以下、サーバ装置100を例に挙げて説明する。図17は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
8. Hardware Configuration
Moreover, the
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
The
一次記憶装置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)、ファイルサーバ等であってもよい。
The
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
The output I/
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
In addition, the output I/
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
The output device 1010 and the
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
The
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
The network I/
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
The
例えば、コンピュータ1000がサーバ装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
For example, when the
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
[9. Other]
Although the embodiments of the present application have been described above, the present invention is not limited to the contents of these embodiments. The above-described components include those that a person skilled in the art can easily imagine, those that are substantially the same, and those that are within the so-called equivalent range. Furthermore, the above-described components can be appropriately combined. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the above-described embodiments.
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。 Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods. In addition, the information including the processing procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown in the drawings.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 In addition, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
例えば、上述したサーバ装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
For example, the above-mentioned
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 The above-described embodiments and variations can be combined as appropriate to the extent that they do not cause inconsistencies in the processing content.
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。 In addition, the above-mentioned "section, module, unit" can be read as "means" or "circuit." For example, an acquisition unit can be read as an acquisition means or an acquisition circuit.
1 情報処理システム
10 端末装置(認証器)
33 処理部
33A グループ管理部
33B 検証部
33C 確認部
33D 鍵生成部
40 記憶部
40A グループリスト
40B 登録用秘密鍵
40C 認証用秘密鍵
100G 認証サーバグループ(RPグループ)
100 サーバ装置(RP)
110 通信部
120 記憶部
121 利用者情報データベース
122 履歴情報データベース
123 鍵情報データベース
130 制御部
131 取得部
132 登録処理部
133 認証処理部
134 提供部
200 鍵レジストリ
1
33
100 Server device (RP)
REFERENCE SIGNS LIST 110
Claims (14)
前記認証器から認証要求を受けた際に、前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いてFIDO認証を実施する認証処理部と、
を備えることを特徴とする情報処理装置。 a registration processing unit that stores an authentication public key common to a plurality of authentication servers that perform FIDO authentication in a key registry when a registration request is received from the authentication device;
an authentication processing unit that, upon receiving an authentication request from the authenticator, obtains the common authentication public key from the key registry and performs FIDO authentication using the common authentication public key;
An information processing device comprising:
前記認証処理部は、前記認証器から認証要求を受けた際に、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いてFIDO認証を実施する
ことを特徴とする請求項1に記載の情報処理装置。 when receiving a registration request from the authentication device, the registration processing unit stores, in the key registry, an authentication public key common to a plurality of authentication servers belonging to the same authentication server group, on an authentication server group basis;
The information processing device according to claim 1, characterized in that, when receiving an authentication request from the authentication device, the authentication processing unit obtains an authentication public key common to multiple authentication servers belonging to the same authentication server group, and performs FIDO authentication using the common authentication public key.
前記鍵レジストリは、前記共通の認証用公開鍵を識別するための鍵IDと、前記共通の認証用公開鍵の所在を示す公開鍵の参照DIDと、前記共通の認証用公開鍵とを紐づけて管理する
ことを特徴とする請求項1に記載の情報処理装置。 the registration processing unit manages, in association with each other, a key ID for identifying the common authentication public key, a public key reference DID indicating the location of the common authentication public key, and a user ID indicating a user who is to undergo FIDO authentication using the authentication device;
The information processing device according to claim 1, characterized in that the key registry manages a key ID for identifying the common authentication public key, a public key reference DID indicating the location of the common authentication public key, and the common authentication public key in association with each other.
ことを特徴とする請求項3に記載の情報処理装置。 4. The information processing device according to claim 3, wherein the registration processing unit, as a first authentication server, when receiving a registration request from the authenticator, transmits a challenge to the authenticator, receives from the authenticator a signed challenge signed using a registration private key by the authenticator that has succeeded in user verification, and the common authentication public key generated by the authenticator that has confirmed that the common authentication key pair does not exist, and, when signature verification of the signed challenge is successful using a published registration public key, stores the common authentication public key in the key registry and manages a key ID, a reference DID of the public key, and a first user ID in association with each other.
ことを特徴とする請求項4に記載の情報処理装置。 5. The information processing device according to claim 4, wherein the registration processing unit, as a second authentication server, when receiving a registration request from the authentication device, transmits a challenge to the authentication device, and when the common authentication public key is present, receives from the authentication device a signed challenge signed by the authentication device that has succeeded in user verification using a registration private key, and when signature verification of the signed challenge is successful using a published registration public key, obtains a public key reference DID from the key registry using a key ID, and manages the key ID, the public key reference DID, and a second user ID in association with each other.
ことを特徴とする請求項4に記載の情報処理装置。 5. The information processing device according to claim 4, wherein the authentication processing unit, as a second authentication server, when receiving an authentication request from the authentication device, sends a challenge to the authentication device, and when the common authentication public key is present, the authentication device that has succeeded in user verification receives a signed challenge signed using the common authentication private key, and when it is confirmed using a key ID that a reference DID of a public key managed in association with a key ID does not exist internally, obtains a reference DID of a public key and the common authentication public key from the key registry using the key ID, and when signature verification of the signed challenge is successful using the common authentication public key, manages the key ID, the reference DID of a public key, and a second user ID in association with each other.
前記認証処理部は、第2の認証サーバとして、前記共通の認証用公開鍵がある場合にユーザ検証に成功した前記認証器が共通の認証用秘密鍵を用いて署名した署名付きチャレンジと公開鍵の参照DIDとを含む前記グループ鍵登録用認証アサーションを前記認証器から受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、前記グループ鍵登録用認証アサーションに含まれる公開鍵の参照DIDを使用して前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を使用して前記グループ鍵登録用認証アサーションに含まれる署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する
ことを特徴とする請求項4に記載の情報処理装置。 the registration processing unit, as a second authentication server, when receiving a registration request from the authenticator, causes a first authentication server to execute a process of transmitting a challenge to the authenticator, receiving from the authenticator a signed challenge signed by the authenticator that has succeeded in user verification using a registration private key when the common authentication public key is present, and transmitting to the authenticator a challenge and a group key registration authentication assertion including a reference DID of a public key when signature verification of the signed challenge using a published registration public key is successful;
5. The information processing device according to claim 4, wherein the authentication processing unit, as a second authentication server, receives from the authenticator the group key registration authentication assertion including a signed challenge signed by the authenticator that has succeeded in user verification using a common authentication private key and a public key reference DID, and when it is confirmed using a key ID that a public key reference DID managed in association with a key ID does not exist internally, obtains the common authentication public key from the key registry using the public key reference DID included in the group key registration authentication assertion, and when signature verification of the signed challenge included in the group key registration authentication assertion is successful using the common authentication public key, manages the key ID, the public key reference DID, and a second user ID in association with each other.
同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して登録要求を送信する送信部と、
前記登録要求に対してチャレンジを受信する受信部と、
ユーザ検証に成功した場合に登録用秘密鍵を用いて前記チャレンジに署名した署名付きチャレンジを作成する検証部と、
前記認証サーバグループに所属する複数の認証サーバに共通の認証用鍵ペアの有無を確認する確認部と、
前記共通の認証用鍵ペアがない場合には、前記認証サーバグループに所属する複数の認証サーバに共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する鍵生成部と、
を備え、
前記送信部は、
前記共通の認証用鍵ペアがある場合には、前記署名付きチャレンジを送信し、
前記共通の認証用鍵ペアがない場合には、前記署名付きチャレンジとともに前記共通の認証用公開鍵を送信する
ことを特徴とする情報処理装置。 a group management unit that manages a plurality of authentication servers that perform FIDO authentication as an authenticator in units of authentication server groups;
a transmission unit that transmits a registration request to one of a plurality of authentication servers that belong to the same authentication server group;
a receiving unit for receiving a challenge to the registration request;
a verification unit that creates a signed challenge by signing the challenge using a registration private key when the user verification is successful;
a confirmation unit that confirms whether or not a common authentication key pair exists among a plurality of authentication servers that belong to the authentication server group;
a key generating unit that generates a key pair of an authentication private key and an authentication public key that are common to the plurality of authentication servers belonging to the authentication server group when the common authentication key pair does not exist;
Equipped with
The transmission unit is
sending the signed challenge if there is a common authentication key pair;
If the common authentication key pair does not exist, the information processing device transmits the common authentication public key together with the signed challenge.
前記受信部は、前記認証要求に対してチャレンジを受信し、
前記検証部は、ユーザ検証に成功した場合に前記共通の認証用秘密鍵を用いて前記チャレンジに署名した署名付きチャレンジを作成し、
前記確認部は、前記共通の認証用鍵ペアがあることを確認し、
前記送信部は、前記共通の認証用鍵ペアがある場合には、前記署名付きチャレンジを送信する
ことを特徴とする請求項8に記載の情報処理装置。 the transmission unit transmits an authentication request to one of a plurality of authentication servers belonging to the same authentication server group;
The receiving unit receives a challenge to the authentication request;
the verification unit creates a signed challenge by signing the challenge using the common authentication private key when the user verification is successful;
The verification unit verifies that the common authentication key pair exists,
The information processing apparatus according to claim 8 , wherein the transmission unit transmits the signed challenge when the common authentication key pair is present.
前記受信部は、前記複数の認証サーバのうちユーザ登録済みの第1の認証サーバから第1のチャレンジを受信し、
前記検証部は、ユーザ検証に成功した場合に共通の認証用秘密鍵を用いて前記第1のチャレンジに署名した第1の署名付きチャレンジを作成し、
前記送信部は、前記第1の認証サーバに前記第1の署名付きチャレンジを送信し、
前記受信部は、前記第1の認証サーバから第2のチャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを受信し、
前記検証部は、ユーザ検証に成功した場合に前記共通の認証用秘密鍵を用いて前記第2のチャレンジに署名した第2の署名付きチャレンジを作成し、
前記送信部は、前記第2の認証サーバに、前記第2の署名付きチャレンジと公開鍵の参照DIDとを含む前記グループ鍵登録用認証アサーションとを送信する
ことを特徴とする請求項8に記載の情報処理装置。 the transmission unit transmits a key registration request to a second authentication server in which the user has not been registered among a plurality of authentication servers belonging to the same authentication server group;
the receiving unit receives a first challenge from a first authentication server in which a user has been registered among the plurality of authentication servers;
the verification unit creates a first signed challenge by signing the first challenge using a common authentication private key when the user verification is successful;
The transmitting unit transmits the first signed challenge to the first authentication server;
The receiving unit receives a second challenge and a group key registration authentication assertion including a reference DID of a public key from the first authentication server,
the verification unit creates a second signed challenge by signing the second challenge using the common authentication private key when the user verification is successful;
The information processing device according to claim 8 , wherein the transmission unit transmits the second signed challenge and the group key registration authentication assertion including a reference DID of a public key to the second authentication server.
認証器から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵を鍵レジストリに保管する登録処理工程と、
前記認証器から認証要求を受けた際に、前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いてFIDO認証を実施する認証処理工程と、
を含むことを特徴とする情報処理方法。 An information processing method executed by an information processing device,
a registration process step of storing an authentication public key common to a plurality of authentication servers that perform FIDO authentication in a key registry when a registration request is received from the authentication device;
an authentication process step of acquiring the common authentication public key from the key registry when receiving an authentication request from the authenticator, and performing FIDO authentication using the common authentication public key;
13. An information processing method comprising:
前記認証器から認証要求を受けた際に、前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いてFIDO認証を実施する認証処理手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。 a registration process step of storing an authentication public key common to a plurality of authentication servers performing FIDO authentication in a key registry when a registration request is received from an authenticator;
an authentication process step of acquiring the common authentication public key from the key registry when receiving an authentication request from the authenticator, and performing FIDO authentication using the common authentication public key;
An information processing program characterized by causing a computer to execute the above.
認証器として、FIDO認証を実施する複数の認証サーバを認証サーバグループ単位で管理するグループ管理工程と、
同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して登録要求を送信する送信工程と、
前記登録要求に対してチャレンジを受信する受信工程と、
ユーザ検証に成功した場合に登録用秘密鍵を用いて前記チャレンジに署名した署名付きチャレンジを作成する検証工程と、
前記認証サーバグループに所属する複数の認証サーバに共通の認証用鍵ペアの有無を確認する確認工程と、
前記共通の認証用鍵ペアがない場合には、前記認証サーバグループに所属する複数の認証サーバに共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する鍵生成工程と、
を含み、
前記送信工程では、
前記共通の認証用鍵ペアがある場合には、前記署名付きチャレンジを送信し、
前記共通の認証用鍵ペアがない場合には、前記署名付きチャレンジとともに前記共通の認証用公開鍵を送信する
ことを特徴とする情報処理方法。 An information processing method executed by an information processing device,
a group management step of managing a plurality of authentication servers that perform FIDO authentication as an authentication device in units of authentication server groups;
a transmission step of transmitting a registration request to one of a plurality of authentication servers belonging to the same authentication server group;
receiving a challenge to the registration request;
a verification step of creating a signed challenge by signing the challenge using a registration private key if the user verification is successful;
a confirmation step of confirming whether or not a common authentication key pair exists among a plurality of authentication servers belonging to the authentication server group;
a key generating step of generating a key pair of an authentication private key and an authentication public key common to the plurality of authentication servers belonging to the authentication server group when the common authentication key pair does not exist;
Including,
In the transmitting step,
sending the signed challenge if there is a common authentication key pair;
If the common authentication key pair does not exist, the common authentication public key is transmitted together with the signed challenge.
同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して登録要求を送信する送信手順と、
前記登録要求に対してチャレンジを受信する受信手順と、
ユーザ検証に成功した場合に登録用秘密鍵を用いて前記チャレンジに署名した署名付きチャレンジを作成する検証手順と、
前記認証サーバグループに所属する複数の認証サーバに共通の認証用鍵ペアの有無を確認する確認手順と、
前記共通の認証用鍵ペアがない場合には、前記認証サーバグループに所属する複数の認証サーバに共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する鍵生成手順と、
をコンピュータに実行させ、
前記送信手順では、
前記共通の認証用鍵ペアがある場合には、前記署名付きチャレンジを送信し、
前記共通の認証用鍵ペアがない場合には、前記署名付きチャレンジとともに前記共通の認証用公開鍵を送信する
ことを特徴とする情報処理プログラム。 A group management procedure for managing a plurality of authentication servers that perform FIDO authentication as an authenticator in units of authentication server groups;
a transmission step of transmitting a registration request to one of a plurality of authentication servers belonging to the same authentication server group;
a receiving step of receiving a challenge to the registration request;
a verification step of creating a signed challenge by signing the challenge using a registration private key if the user verification is successful;
a confirmation step of confirming whether a common authentication key pair exists among a plurality of authentication servers belonging to the authentication server group;
a key generation step of generating a key pair of an authentication private key and an authentication public key common to a plurality of authentication servers belonging to the authentication server group if the common authentication key pair does not exist;
Run the following on your computer:
In the transmission step,
sending the signed challenge if there is a common authentication key pair;
If the common authentication key pair does not exist, the common authentication public key is transmitted together with the signed challenge.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022167723A JP2024060389A (en) | 2022-10-19 | 2022-10-19 | Information processing device, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022167723A JP2024060389A (en) | 2022-10-19 | 2022-10-19 | Information processing device, information processing method, and information processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024060389A true JP2024060389A (en) | 2024-05-02 |
Family
ID=90828846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022167723A Pending JP2024060389A (en) | 2022-10-19 | 2022-10-19 | Information processing device, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024060389A (en) |
-
2022
- 2022-10-19 JP JP2022167723A patent/JP2024060389A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6170982B2 (en) | Determination device, determination method, and determination program | |
US20140137206A1 (en) | Password-free, token-based wireless access | |
US20150304325A1 (en) | Method, system and apparatus for geo-verification | |
JP6947529B2 (en) | Judgment device, judgment method and judgment program | |
JP2024060389A (en) | Information processing device, information processing method, and information processing program | |
US20150113068A1 (en) | Barcode, sound and collision for a unified user interaction | |
JP7012123B2 (en) | Information processing equipment, information processing methods and information processing programs | |
JP7343545B2 (en) | Terminal device, information processing method, and information processing program | |
JP7197630B2 (en) | Terminal device, authentication server, authentication method and authentication program | |
JP7326382B2 (en) | Information processing device, information processing method and information processing program | |
JP7305703B2 (en) | Authentication server, terminal device, key management method and key management program | |
JP7492545B2 (en) | Information processing device, information processing method, and information processing program | |
JP7490008B2 (en) | Information processing device, information processing method, and information processing program | |
JP2024044013A (en) | Information processing device, information processing method, and information processing program | |
JP2023124455A (en) | Information processing device, information processing method, and information processing program | |
JP2024060266A (en) | Information processing device, information processing method, and information processing program | |
JP2022178691A (en) | Information processing unit, information processing method and information processing program | |
JP7342079B2 (en) | Information processing device, information processing method, and information processing program | |
JP7436436B2 (en) | Information processing device, information processing method, and information processing program | |
JP2023124201A (en) | Information processing device, information processing method, and information processing program | |
JP2023159773A (en) | Information processing apparatus, information processing method, and information processing program | |
KR102358708B1 (en) | Method for substitute authentication using membership server and substitute authentication system using the same | |
JP6077077B1 (en) | Authentication apparatus, authentication method, and authentication program | |
JP2023159786A (en) | Information processing apparatus, information processing method, and information processing program | |
JP2023159785A (en) | Information processing apparatus, information processing method, and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20231026 |