JP2024060389A - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

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
Application number
JP2022167723A
Other languages
Japanese (ja)
Inventor
秀仁 五味
渉 大神
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2022167723A priority Critical patent/JP2024060389A/en
Publication of JP2024060389A publication Critical patent/JP2024060389A/en
Pending legal-status Critical Current

Links

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).

特開2020-141331号公報JP 2020-141331 A

しかしながら、上記の従来技術では、認証時の本人確認を含め、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.

図1は、FIDO認証の概要を示す説明図である。FIG. 1 is an explanatory diagram showing an overview of FIDO authentication. 図2は、実施形態に係る情報処理方法の概要を示す説明図である。FIG. 2 is an explanatory diagram showing an overview of the information processing method according to the embodiment. 図3は、実施形態に係る情報システムと信頼関係の概要を示す説明図である。FIG. 3 is an explanatory diagram showing an overview of an information system and a trust relationship according to an embodiment. 図4は、RP1にてFIDO登録を行う場合の概要を示す説明図である。FIG. 4 is an explanatory diagram showing an overview of FIDO registration at RP1. 図5は、RP1にてFIDO登録を行った後、RP2にてFIDO登録を行う場合の概要を示す説明図である。FIG. 5 is an explanatory diagram showing an overview of a case where FIDO registration is performed at RP1 and then at RP2. 図6は、RP1にてFIDO登録を行った後、RP2にてFIDO認証を行う場合の概要を示す説明図である。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. 図7は、RP1にてFIDO登録を行った後、ID連携してRP2にて登録を行う場合の概要を示す説明図である。FIG. 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 via ID federation. 図8は、実施形態に係る情報処理システムの構成例を示す図である。FIG. 8 is a diagram illustrating an example of the configuration of an information processing system according to the embodiment. 図9は、実施形態に係る端末装置の構成例を示す図である。FIG. 9 is a diagram illustrating an example of the configuration of a terminal device according to the embodiment. 図10は、実施形態に係るサーバ装置の構成例を示す図である。FIG. 10 is a diagram illustrating an example of the configuration of a server device according to the embodiment. 図11は、利用者情報データベースの一例を示す図である。FIG. 11 is a diagram illustrating an example of the user information database. 図12は、履歴情報データベースの一例を示す図である。FIG. 12 is a diagram illustrating an example of the history information database. 図13は、鍵情報データベースの一例を示す図である。FIG. 13 is a diagram illustrating an example of the key information database. 図14は、実施形態に係る第1の処理手順を示すフローチャートである。FIG. 14 is a flowchart showing a first processing procedure according to the embodiment. 図15は、実施形態に係る第2の処理手順を示すフローチャートである。FIG. 15 is a flowchart showing a second processing procedure according to the embodiment. 図16は、実施形態に係る第3の処理手順を示すフローチャートである。FIG. 16 is a flowchart showing a third processing procedure according to the embodiment. 図17は、ハードウェア構成の一例を示す図である。FIG. 17 is a diagram illustrating an example of a hardware configuration.

以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 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 information processing system 1 includes a terminal device 10 and a server device 100. The terminal device 10 and the server device 100 are connected to each other via a network N (see FIG. 10) in a wired or wireless manner so as to be able to communicate with each other. In this embodiment, the terminal device 10 cooperates with the server device 100.

端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット端末等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。 The terminal device 10 is a smart device such as a smartphone or tablet terminal used by a user U, and is a mobile terminal device capable of communicating with any server device via a wireless communication network such as 4G (Generation) or LTE (Long Term Evolution). The terminal device 10 has a screen such as a liquid crystal display with touch panel functions, and accepts various operations on displayed data such as content, such as tapping, sliding, scrolling, etc., performed by the user U with a finger or a stylus. An operation performed on an area of the screen where content is displayed may be considered to be an operation on the content. The terminal device 10 may be not only a smart device, but also an information processing device such as a desktop PC (Personal Computer) or a notebook PC.

本実施形態では、端末装置10は、FIDO認証(Fast Identity Online)におけるFIDOクライアントとして機能する。FIDOクライアントは、認証器(Authenticator)と連携してユーザの認証を行う。なお、認証器は、FIDOクライアントと同一のデバイスに実装されることがあってもよく(内蔵認証器)、FIDOクライアントとは物理的に異なるデバイスに実装されていてもよい(外部認証器)。 In this embodiment, the terminal device 10 functions as a FIDO client in FIDO authentication (Fast Identity Online). The FIDO client authenticates the user in cooperation with an authenticator. Note that the authenticator may be implemented in the same device as the FIDO client (built-in authenticator), or may be implemented in a device that is physically different from the FIDO client (external authenticator).

例えば、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 terminal device 10 will be described as both a FIDO client and an authenticator. In other words, the case where the authenticator is an internal authenticator will be described as an example. Note that in reality, the authenticator may be an external authenticator that is physically independent from the terminal device 10 and can be linked to the terminal device 10.

また、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 server device 100 is an information processing device that functions as an authentication server (FIDO server) in FIDO authentication, and is realized by a computer, a cloud system, or the like. The authentication server corresponds to an RP (Relying Party)/IdP (Identity Provider). An RP (Relying Party) refers to an entity/organization that implements a FIDO server. In FIDO authentication, "secrets" such as passwords or biometric information are not shared between the authenticator and the authentication server, making it resistant to phishing.

図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 server device 100 also functions as a federated RP/SP (Service Provider) that provides identity services through ID federation with an RP/IdP that supports FIDO authentication. When FIDO authentication and ID federation are combined, the authentication context is propagated from the authenticator to the federated RP/SP via the RP/IdP.

以下、説明の簡略化のため、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 server device 100 is described as both RP/IdP and linked RP/SP. Note that in practice, the server device 100 as RP/IdP and the server device 100 as linked RP/SP may be different, physically independent server devices 100.

例えば、サーバ装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供してもよい。 For example, the server device 100 may cooperate with the terminal device 10 of each user U and provide API (Application Programming Interface) services for various applications (hereinafter, apps), etc., and various data to the terminal device 10 of each user U.

また、サーバ装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、サーバ装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引(EC:Electronic Commerce)、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、サーバ装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。 The server device 100 may also be an information processing device that provides some kind of web service online to the terminal device 10 of each user U. For example, the server device 100 may provide services such as Internet connection, search services, SNS (Social Networking Service), electronic commerce (EC), electronic payment, online games, online banking, online trading, accommodation and ticket reservations, video and music distribution, news, maps, route searches, route guidance, line information, operation information, and weather forecasts as web services. In practice, the server device 100 may cooperate with various servers that provide the above-mentioned web services, and may act as an intermediary for the web services or be responsible for processing the web services.

なお、サーバ装置100は、利用者Uに関する利用者情報を取得可能である。例えば、サーバ装置100は、利用者Uの性別、年代、居住地域といった利用者Uの属性に関する情報を取得する。そして、サーバ装置100は、利用者Uを示す識別情報(利用者ID等)とともに利用者Uの属性に関する情報を記憶して管理する。 The server device 100 can acquire user information about the user U. For example, the server device 100 acquires information about the attributes of the user U, such as the gender, age, and area of residence of the user U. The server device 100 then stores and manages the information about the attributes of the user U together with identification information (such as a user ID) indicating the user U.

また、サーバ装置100は、利用者Uの端末装置10から、あるいは利用者ID等に基づいて各種サーバ等から、利用者Uの行動を示す各種の履歴情報(ログデータ)を取得する。例えば、サーバ装置100は、利用者Uの位置や日時の履歴である位置履歴を端末装置10から取得する。また、サーバ装置100は、利用者Uが入力した検索クエリの履歴である検索履歴を検索サーバ(検索エンジン)から取得する。また、サーバ装置100は、利用者Uが閲覧したコンテンツの履歴である閲覧履歴をコンテンツサーバから取得する。また、サーバ装置100は、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)を電子商取引サーバや決済処理サーバから取得する。また、サーバ装置100は、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴を電子商取引サーバや決済処理サーバから取得してもよい。また、サーバ装置100は、利用者Uの投稿の履歴である投稿履歴を口コミの投稿サービスを提供する投稿サーバやSNSサーバから取得する。なお、上記の各種サーバ等は、サーバ装置100自体であってもよい。すなわち、サーバ装置100が上記の各種サーバ等として機能してもよい。 The server device 100 also acquires various history information (log data) indicating the behavior of the user U from the terminal device 10 of the user U or from various servers based on the user ID, etc. For example, the server device 100 acquires a location history, which is a history of the location and date and time of the user U, from the terminal device 10. The server device 100 also acquires a search history, which is a history of search queries entered by the user U, from a search server (search engine). The server device 100 also acquires a browsing history, which is a history of content viewed by the user U, from a content server. The server device 100 also acquires a purchase history (payment history), which is a history of product purchases and payment processing by the user U, from an electronic commerce server or a payment processing server. The server device 100 may also acquire a listing history and a sales history, which are a history of listings on the marketplace by the user U, from an electronic commerce server or a payment processing server. The server device 100 also acquires a posting history, which is a history of posts by the user U, from a posting server that provides a word-of-mouth posting service or an SNS server. The various servers and the like described above may be the server device 100 itself. In other words, the server device 100 may function as the various servers and the like described above.

〔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 multiple server devices 100, which are authentication servers. Each of the multiple server devices 100 (100-i, i = 1 to n: n is arbitrary) belonging to the same authentication server group 100G (RP group) performs FIDO authentication using a public key common to the authentication servers in the authentication server group. Note that in practice, a public key common to all authentication servers may be used, rather than on an authentication server group basis.

例えば、図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 terminal device 10 manages the authentication server groups 100G (RP groups) and the key pairs (or private keys) for each group, and changes the private key used for FIDO authentication for each group.

また、認証サーバグループ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 authentication server group 100G (RP group) includes a server device 100-1 (RP1) and a server device 100-2 (RP2). That is, RP1 and RP2 belong to the same authentication server group (RP group), and each of them has a user ID management function. RP1 manages a user's account ID1, and RP2 manages a user's account ID2. RP1 and RP2 also manage a reference DID of a common public key. The entity of the public key is stored in the key registry 200. In this embodiment, RP1 and RP2 each manage a key ID, a reference DID of the public key (public key URL), and a user ID (account) in association with each other.

また、鍵レジストリ200は、複数の認証サーバに対して共通に利用できる公開鍵を保管する。鍵レジストリ200は、ネットワークN(図8参照)上のストレージサーバ等であってもよいし、認証サーバグループ100G(RPグループ)に所属する複数のサーバ装置100(RP)のうちの1台であってもよい。すなわち、鍵レジストリ200は、独立したデータベースであってもよいし、グループ内の複数のサーバ装置100(RP)のうちの1台に搭載されていてもよい。また、鍵レジストリ200は、分散型台帳技術(DLT:Distributed Ledger Technology)を用いて、ブロックチェーンで公開鍵を管理してもよい。例えば、鍵レジストリ200は、ブロックチェーンのネットワークを構成するノードであってもよい。 The key registry 200 also stores a public key that can be used in common by multiple authentication servers. The key registry 200 may be a storage server on the network N (see FIG. 8), or may be one of the multiple server devices 100 (RP) belonging to the authentication server group 100G (RP group). That is, the key registry 200 may be an independent database, or may be installed in one of the multiple server devices 100 (RP) in the group. The key registry 200 may also manage public keys in a blockchain using distributed ledger technology (DLT). For example, the key registry 200 may be a node that constitutes a blockchain network.

〔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 authentication server group 100G. There is no cryptographically constructed trust between the terminal device 10 (authenticator) and a server device outside the group. Note that in the example of Figure 3, there is cryptographically constructed trust with both the server device 100-1 (RP1) and the server device 100-2 (RP2) belonging to the authentication server group 100G (RP group).

また、利用者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 authentication server group 100G. There is no trust established by FIDO authentication between user U and a server device outside the group. Note that in the example of Figure 3, there is trust established by FIDO authentication with both server device 100-1 (RP1) and server device 100-2 (RP2) belonging to authentication server group 100G (RP group).

本実施形態では、複数の認証サーバに対して共通に使用できる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 key registry 200 stores a public key that can be used commonly for the server device 100-1 (RP1) and the server device 100-2 (RP2) that belong to the authentication server group 100G (RP group).

本実施形態では、鍵ペアと認証サーバグループとは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 key registry 200, similar to the authentication public key.

〔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 authentication server group 100G (RP group) via a network N (see Fig. 10) in response to an operation or request of the user U (step S0).

続いて、サーバ装置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 authentication server group 100G (RP group) and the server device 100-1 (RP1) (step S1). The challenge is a random character string that is valid only once, and is a data string that is different each time and is determined based on random numbers. The server device 100-1 (RP1) and the server device 100-2 (RP2) that are the registration destinations are registered in the group list. That is, the server device 100-1 (RP1) transmits a group list (RP-G list) related to the server devices 100 (RP) that belong to the authentication server group 100G (RP group (RP-G)) that includes the server device 100-1 (RP1) together with the challenge.

利用者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 key registry 200, and stores the authentication public key common to the server devices 100 (RP) in the group in association with the user ID (ID1) of the user U (step S6). In the example of FIG. 3, the server device 100-1 (RP1) manages the key ID for identifying the authentication public key common to the server devices 100 (RP) in the group, the reference DID (DID1) of the authentication public key common to the server devices 100 (RP) in the group, and the user ID (ID1) of the user U in association with each other. The key registry 200 manages the authentication public key (RPG-G authentication public key) in association with the reference DID (DID1) of the authentication public key (RPG-G authentication public key).

これにより、認証サーバグループ100G(RPグループ)に所属している認証サーバへの認証には、RP-G認証用公開鍵を用いて認証できる。 As a result, authentication to an authentication server belonging to the authentication server group 100G (RP group) can be performed using the RPG authentication public key.

〔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 authentication server group 100G (RP group) via a network N (see Fig. 10) in response to an operation or request of the user U (step S10). This registration request is a registration request for a group key based on a group list.

続いて、サーバ装置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 authentication server group 100G (RP group) and the server device 100-2 (RP2) (step S11). At this time, along with the FIDO registration request, information indicating the server device 100-2 (RP2) as the registration destination and information indicating the authentication server group 100G (RP-G) are transmitted.

利用者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 authentication server group 100G (RP group), signs the challenge with the registration private key (attestation private key), and generates an attestation document (step S13). At this time, the server devices 100 (RP) in the group already have a common authentication private key (RP-G authentication private key), but here the "attestation private key" is used in accordance with the original FIDO registration process.

続いて、端末装置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 authentication server group 100G (RP group) knows that the registration request in step S10 is a "group key registration request," and the response in step S14 inherits the challenge in step S10 and is associated with the registration request in step S10. Therefore, if the signature verification is successful, it recognizes this as a legitimate group key registration in the processing of step S16 and proceeds with the processing.

続いて、サーバ装置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 authentication server group 100G (RP group) via a network N (see Fig. 10) in response to an operation or request of the user U (step S20).

続いて、サーバ装置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 authentication server group 100G (RP group) and the server device 100-2 (RP2) (step S21). At this time, along with the FIDO authentication request, information indicating the server device 100-2 (RP2) that is the authentication destination and information indicating the authentication server group 100G (RP-G) are transmitted.

利用者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 authentication server group 100G (RP group), signs the challenge with a common authentication private key (RPG-G authentication private key), and generates an assertion document (step S23). Here, the terminal device 10 uses the existing RPG-G authentication private key that was generated when registering FIDO to the server device 100-1 (RP1) shown in Figure 4.

続いて、端末装置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 authentication server group 100G (RP-G) using the key ID as a key to confirm the existence of a corresponding public key URL. As it is assumed that this is the first time key registration is being performed for server device 100-2 (RP2), the data is originally empty, and it is determined that there is no public key URL corresponding to the key ID (keyID) (empty).

続いて、サーバ装置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 authentication server group 100G (RP group) via a network N (see Fig. 10) in response to an operation or request of the user U (step S30).

続いて、サーバ装置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 authentication server group 100G (RP group) and the server device 100-2 (RP2) via the network N (see FIG. 10) (step S31). At this time, when the server device 100-2 (RP2) receives the group key registration request, it may determine that the terminal device 10 (authenticator) has already been registered with the server device 100-1 (RP1), and request authentication from the server device 100-1 (RP1). For example, when server device 100-2 (RP2) receives a group key registration request from terminal device 10 (authentication device) of user U (user), it may redirect the request to server device 100-1 (RP1) where the group key has already been registered.

利用者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 authentication server group 100G (RP group), signs the challenge with the common authentication private key (RPG-G authentication private key), and generates an assertion document (step S33). Here, ID federation is used instead of FIDO authentication as a method of notifying RP2 of the authentication information and DID information (it is assumed that ID1-ID2 are federated between RP1-RP2).

続いて、端末装置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 authentication server group 100G is the same, a single key can be registered for multiple authentication servers, and the user's terminal device (authentication device) does not need to have a private key for each authentication server. This simplifies key management for FIDO.

なお、異なる認証サーバグループ100Gについては、ユーザの端末装置(認証器)が認証サーバグループ100Gを管理して、認証サーバグループ100GごとにFIDO認証に使う秘密鍵を変更する。 For different authentication server groups 100G, the user's terminal device (authenticator) manages the authentication server groups 100G and changes the private key used for FIDO authentication for each authentication server group 100G.

また、認証サーバはアイデンティティ管理が簡易で管理コストを軽減できる。公開鍵管理が不要となるからである。 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 information processing system 1 including a server device 100 according to an embodiment will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of a configuration of the information processing system 1 according to an embodiment. As shown in Fig. 8, the information processing system 1 according to an embodiment includes a terminal device 10 and a server device 100. These various devices are connected to each other via a network N so as to be able to communicate with each other by wire or wirelessly. The network N is, for example, a local area network (LAN) or a wide area network (WAN) such as the Internet.

また、図8に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、図8では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。 Furthermore, the number of devices included in the information processing system 1 shown in FIG. 8 is not limited to that shown. For example, in FIG. 8, only one terminal device 10 is shown to simplify the illustration, but this is merely an example and is not limiting, and there may be two or more devices.

端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォン(スマホ)やタブレット端末等のスマートデバイス、フィーチャーフォン(ガラケー・ガラホ)等の携帯電話、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、情報家電・デジタル家電、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。また、端末装置10は、IOT(Internet of Things)に対応した住宅・建物、車、家電製品、電子機器等であってもよい。 The terminal device 10 is an information processing device used by a user U. For example, the terminal device 10 is a smart device such as a smartphone or tablet terminal, a mobile phone such as a feature phone, a personal computer (PC), a personal digital assistant (PDA), a game console or AV device with communication functions, information appliances or digital appliances, a car navigation system, a wearable device such as a smart watch or a head-mounted display, smart glasses, etc. The terminal device 10 may also be a house or building, a car, a home appliance, an electronic device, etc. that is compatible with the Internet of Things (IOT).

また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、サーバ装置100と通信することができる。 In addition, the terminal device 10 can connect to the network N via a wireless communication network such as LTE (Long Term Evolution), 4G (4th Generation), or 5G (5th Generation: 5th generation mobile communication system), or via short-range wireless communication such as Bluetooth (registered trademark) or wireless LAN (Local Area Network), and communicate with the server device 100.

サーバ装置100は、例えばPCやブレードサーバ(blade server)等のコンピュータ、あるいはメインフレーム又はワークステーション等である。なお、サーバ装置100は、クラウドコンピューティングにより実現されてもよい。 The server device 100 is, for example, a computer such as a PC or a blade server, or a mainframe or a workstation. The server device 100 may also be realized by cloud computing.

〔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 terminal device 10 will be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of the configuration of the terminal device 10. As shown in Fig. 9, the terminal device 10 includes a communication unit 11, a display unit 12, an input unit 13, a positioning unit 14, a sensor unit 20, a control unit 30 (controller), and a storage unit 40.

(通信部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 server device 100 via the network N. For example, the communication unit 11 is realized by a network interface card (NIC), an antenna, or the like.

(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
(Display unit 12)
The display unit 12 is a display device that displays various information such as position information. For example, the display unit 12 is a liquid crystal display (LCD) or an organic electro-luminescent display (OLED). The display unit 12 is also a touch panel display, but is not limited to this.

(入力部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 display unit 12 is a touch panel display, a part of the display unit 12 functions as the input unit 13. In addition, the input unit 13 may be a microphone that accepts voice input from the user U, and the like. The microphone may be wireless.

(測位部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 terminal device 10 based on the received signals. That is, the positioning unit 14 measures the position of the terminal device 10. Note that the GPS is merely an example of a GNSS (Global Navigation Satellite System).

また、測位部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 terminal device 10 as an auxiliary positioning means for position correction, etc., as described below.

(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 terminal device 10 or a communication network provided by each communication company to measure the position of the terminal device 10. Specifically, the positioning unit 14 performs Wi-Fi communication or the like and measures the distance to a nearby base station or access point to measure the position of the terminal device 10.

(ビーコン測位)
また、測位部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 terminal device 10. For example, the positioning unit 14 measures the position of the terminal device 10 by connecting to a beacon transmitter connected by the Bluetooth (registered trademark) function.

(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
(geomagnetic positioning)
In addition, the positioning unit 14 locates the position of the terminal device 10 based on a geomagnetic pattern of a structure that has been measured in advance and a geomagnetic sensor provided in the terminal device 10 .

(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
(RFID positioning)
Furthermore, for example, if the terminal device 10 has a function of an RFID (Radio Frequency Identification) tag equivalent to a contactless IC card used at station ticket gates, stores, etc., or has a function of reading an RFID tag, the location of use is recorded together with information on a payment or the like made by the terminal device 10. The positioning unit 14 may obtain such information to measure the location of the terminal device 10. Furthermore, the location may be measured by an optical sensor, an infrared sensor, or the like provided in the terminal device 10.

測位部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 terminal device 10.

(センサ部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 terminal device 10. The connection may be wired or wireless. For example, the sensors may be detection devices other than the terminal device 10, such as wearable devices and wireless devices. In the example shown in FIG. 9, the sensor unit 20 includes an acceleration sensor 21, a gyro sensor 22, an air pressure sensor 23, a temperature sensor 24, a sound sensor 25, a light sensor 26, a magnetic sensor 27, and an image sensor (camera) 28.

なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。 Note that the above-mentioned sensors 21 to 28 are merely examples and are not limiting. In other words, the sensor unit 20 may be configured to include some of the sensors 21 to 28, or may include other sensors such as a humidity sensor in addition to or instead of the sensors 21 to 28.

加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。 The acceleration sensor 21 is, for example, a three-axis acceleration sensor, and detects the physical movement of the terminal device 10, such as the direction of movement, speed, and acceleration of the terminal device 10. The gyro sensor 22 detects the physical movement of the terminal device 10, such as the tilt in three axial directions, based on the angular velocity of the terminal device 10. The air pressure sensor 23 detects, for example, the air pressure around the terminal device 10.

端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。 Since the terminal device 10 is equipped with the above-mentioned acceleration sensor 21, gyro sensor 22, air pressure sensor 23, etc., it is possible to determine the position of the terminal device 10 using technology such as Pedestrian Dead-Reckoning (PDR) that utilizes these sensors 21 to 23. This makes it possible to obtain indoor position information that is difficult to obtain using positioning systems such as GPS.

例えば、加速度センサ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 acceleration sensor 21. In addition, the gyro sensor 22 can be used to know the user U's direction of travel, line of sight, and body inclination. In addition, the air pressure detected by the air pressure sensor 23 can be used to know the altitude and floor on which the user U's terminal device 10 is located.

気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。 The air temperature sensor 24 detects, for example, the air temperature around the terminal device 10. The sound sensor 25 detects, for example, sound around the terminal device 10. The light sensor 26 detects the illuminance around the terminal device 10. The magnetic sensor 27 detects, for example, the geomagnetism around the terminal device 10. The image sensor 28 captures an image around the terminal device 10.

上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。 The above-mentioned air pressure sensor 23, temperature sensor 24, sound sensor 25, light sensor 26, and image sensor 28 can detect the environment and situation around the terminal device 10 by detecting air pressure, temperature, sound, and illuminance, and capturing images of the surroundings. In addition, it becomes possible to improve the accuracy of the location information of the terminal device 10 based on the environment and situation around the terminal device 10.

(制御部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 control unit 30 includes, for example, a microcomputer having a central processing unit (CPU), a read only memory (ROM), a RAM, an input/output port, and various other circuits. The control unit 30 may also be configured with hardware such as an integrated circuit, for example, an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The control unit 30 includes a transmitting unit 31, a receiving unit 32, and a processing unit 33.

(送信部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 sensor 21 to 28 mounted on or connected to the terminal device 10, and location information of the terminal device 10 measured by the positioning unit 14 to the server device 100 via the communication unit 11.

(受信部32)
受信部32は、通信部11を介して、サーバ装置100から提供される各種情報や、サーバ装置100からの各種情報の要求を受信することができる。
(Receiving unit 32)
The receiving unit 32 can receive various information provided by the server device 100 and requests for various information from the server device 100 via the communication unit 11 .

(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信されたサーバ装置100からの各種情報を表示部12へ出力して表示させることができる。
(Processing Unit 33)
The processing unit 33 controls the entire terminal device 10, including the display unit 12, etc. For example, the processing unit 33 can output various information transmitted by the transmission unit 31 and various information received from the server device 100 by the reception unit 32 to the display unit 12 for display.

また、処理部33は、グループ管理部33Aと、検証部33Bと、確認部33Cと、鍵生成部33Dとを有する。なお、実際には、処理部33は、アプリを起動又はプログラムを実行することで、下記のグループ管理部33A、検証部33B、確認部33C、及び鍵生成部33Dとして機能してもよい。 The processing unit 33 also has a group management unit 33A, a verification unit 33B, a confirmation unit 33C, and a key generation unit 33D. In practice, the processing unit 33 may function as the group management unit 33A, the verification unit 33B, the confirmation unit 33C, and the key generation unit 33D described below by starting an app or executing a program.

(グループ管理部33A)
グループ管理部33Aは、FIDO認証を実施する複数の認証サーバ(サーバ装置100)を認証サーバグループ単位で管理する。このとき、送信部31は、同一の認証サーバグループに所属する複数の認証サーバ(サーバ装置100)のいずれかに対して登録要求を送信する。受信部32は、登録要求に対してチャレンジを受信する。また、送信部31は、同一の認証サーバグループに所属する複数の認証サーバ(サーバ装置100)のいずれかに対して認証要求を送信する。受信部32は、認証要求に対してチャレンジを受信する。あるいは、送信部31は、同一の認証サーバグループに所属する複数の認証サーバ(サーバ装置100)のうちユーザ未登録の第2の認証サーバに対して鍵登録要求を送信する。受信部32は、複数の認証サーバ(サーバ装置100)のうちユーザ登録済みの第1の認証サーバから第1のチャレンジを受信する。
(Group management unit 33A)
The group management unit 33A manages a plurality of authentication servers (server devices 100) that perform FIDO authentication in units of authentication server groups. At this time, the transmission unit 31 transmits a registration request to one of the plurality of authentication servers (server devices 100) that belong to the same authentication server group. The reception unit 32 receives a challenge in response to the registration request. Also, the transmission unit 31 transmits an authentication request to one of the plurality of authentication servers (server devices 100) that belong to the same authentication server group. The reception unit 32 receives a challenge in response to the authentication request. Alternatively, the transmission unit 31 transmits a key registration request to a second authentication server that is not registered with a user among the plurality of authentication servers (server devices 100) that belong to the same authentication server group. The reception unit 32 receives a first challenge from a first authentication server that is registered with a user among the plurality of authentication servers (server devices 100).

(検証部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は、共通の認証用鍵ペアがない場合には、署名付きチャレンジとともに共通の認証用公開鍵を送信する。
(Key generation unit 33D)
If there is no common authentication key pair, the key generating unit 33D generates a key pair of an authentication private key and an authentication public key common to the multiple authentication servers (server devices 100) belonging to the authentication server group. At this time, if there is no common authentication key pair, the transmitting unit 31 transmits the common authentication public key together with the signed challenge.

(記憶部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 private key 40C. In this case, the group list 40A, the registration private key 40B, and the authentication private key 40C may each be stored in a different secure area. In reality, the group list 40A, the registration private key 40B, and the authentication private key 40C may be stored in association with each other, or the registration private key 40B and the authentication private key 40C may be included in the group list 40A. Also, only the registration private key 40B and the authentication private key 40C may be stored in the secure area. In other words, the group list 40A may be stored in the normal area.

グループリスト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 authentication server group 100G (RP group) on an authentication server group basis. For example, the group list 40A is data in a list format that registers the URLs, etc., of the server devices 100 in the group. Note that the data format is not limited to a list format, and may be a table format. In other words, any data format may be used as long as it can fulfill the role of the group list 40A.

登録用秘密鍵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 private key 40C.

認証用秘密鍵40Cは、認証サーバグループ単位で、同一の認証サーバグループ内の認証サーバに共通の認証用鍵ペアのうちの認証用秘密鍵である。すなわち、認証用秘密鍵40Cは、グループ内のサーバ装置100(RP)に共通の認証用秘密鍵(RP-G認証用秘密鍵)である。 The authentication private key 40C is an authentication private key of an authentication key pair common to the authentication servers in the same authentication server group on an authentication server group basis. In other words, the authentication private key 40C is an authentication private key (RPG authentication private key) common to the server devices 100 (RP) in the group.

〔4.サーバ装置の構成例〕
次に、図10を用いて、実施形態に係るサーバ装置100の構成について説明する。図10は、実施形態に係るサーバ装置100の構成例を示す図である。図10に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを備える。
4. Example of Server Device Configuration
Next, the configuration of the server device 100 according to the embodiment will be described with reference to Fig. 10. Fig. 10 is a diagram showing an example of the configuration of the server device 100 according to the embodiment. As shown in Fig. 10, the server device 100 includes a communication unit 110, a storage unit 120, and a control unit 130.

(通信部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 storage unit 120 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 HDD, an SSD, an optical disk, etc. As shown in FIG. 10 , the storage unit 120 has a user information database 121, a history information database 122, and a key information database 123.

(利用者情報データベース121)
利用者情報データベース121は、利用者Uに関する利用者情報を記憶する。例えば、利用者情報データベース121は、利用者Uの属性等の種々の情報を記憶する。図11は、利用者情報データベース121の一例を示す図である。図11に示した例では、利用者情報データベース121は、「利用者ID(Identifier)」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目を有する。
(User Information Database 121)
The user information database 121 stores user information related to the user U. For example, the user information database 121 stores various information such as the attributes of the user U. Fig. 11 is a diagram showing an example of the user information database 121. In the example shown in Fig. 11, the user information database 121 has items such as "User ID (Identifier)", "Age", "Gender", "Home", "Workplace", and "Interests".

「利用者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 terminal device 10.

また、「年齢」は、利用者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 user information database 121 may store various information according to the purpose, not limited to the above. For example, the user information database 121 may store various information related to the terminal device 10 of the user U. The user information database 121 may also store information related to the attributes of the user U, such as demographic attributes, psychographic attributes, geographic attributes, and behavioral attributes. For example, the user information database 121 may store information such as name, family structure, place of origin (hometown), occupation, job title, income, qualifications, type of residence (detached house, apartment, etc.), whether or not the user has a car, commuting time, commuting route, commuter pass section (station, line, etc.), frequently used station (other than the nearest station to home or workplace), extracurricular activities (location, time period, etc.), hobbies, interests, and lifestyle.

(履歴情報データベース122)
履歴情報データベース122は、利用者Uの行動を示す履歴情報(ログデータ)に関する各種情報を記憶する。図12は、履歴情報データベース122の一例を示す図である。図12に示した例では、履歴情報データベース122は、「利用者ID」、「位置履歴」、「検索履歴」、「閲覧履歴」、「購入履歴」、「投稿履歴」といった項目を有する。
(History information database 122)
The history information database 122 stores various information related to history information (log data) indicating the behavior of the user U. Fig. 12 is a diagram showing an example of the history information database 122. In the example shown in Fig. 12, the history information database 122 has items such as "user ID", "location history", "search history", "browsing history", "purchase history", and "posting history".

「利用者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 "location history #1", searches as shown in "search history #1", views content as shown in "browsing history #1", purchases specific products etc. at specific stores etc. as shown in "purchase history #1", and posts as shown in "post history #1".

ここで、図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", "Location History #1", "Search History #1", "Browse History #1", "Purchase History #1", and "Post History #1" are used for illustration, but it is assumed that specific information such as character strings and numerical values is stored in "U1", "Location History #1", "Search History #1", "Browse History #1", "Purchase History #1", and "Post History #1".

なお、履歴情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、履歴情報データベース122は、利用者Uの所定のサービスの利用履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの実店舗の来店履歴又は施設の訪問履歴等を記憶してもよい。また、履歴情報データベース122は、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。 The history information database 122 may store various information depending on the purpose, not limited to the above. For example, the history information database 122 may store the usage history of a specific service by the user U. The history information database 122 may also store the history of the user U's visit to a physical store or the history of the user U's visit to a facility. The history information database 122 may also store the payment history of payments (electronic payments) made using the user U's terminal device 10.

(鍵情報データベース123)
鍵情報データベース123は、認証サーバグループ内の認証サーバに共通の公開鍵に関する各種情報を記憶する。図13は、鍵情報データベース123の一例を示す図である。図13に示した例では、鍵情報データベース123は、「鍵ID」、「公開鍵URL」、「ユーザID」といった項目を有する。
(Key information database 123)
The key information database 123 stores various information related to a public key common to the authentication servers in the authentication server group. Fig. 13 is a diagram showing an example of the key information database 123. In the example shown in Fig. 13, the key information database 123 has items such as "key ID", "public key URL", and "user ID".

「鍵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 key registry 200. The "user ID" indicates identification information for identifying the user U who receives FIDO authentication using the common public key. In this embodiment, the common public key indicates a common authentication public key.

例えば、図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 key information database 123 may store various information according to the purpose, not limited to the above. For example, the key information database 123 may store identification information for identifying the authentication server group 100G (RP group). The key information database 123 may store a group list in which the server device 100 (RP) in the group is registered. The key information database 123 may store identification information for identifying the server device 100 (RP) in the group. The key information database 123 may store an authenticator certificate (Attestation) or a certificate of a user verification result (Assertion). The key information database 123 may store VC (Verifiable Credentials). The key information database 123 may store various information related to a registration public key common to the authentication servers in the authentication server group, not limited to an authentication public key common to the authentication servers in the authentication server group.

また、記憶部120は、鍵レジストリ200を記憶してもよい。例えば、認証サーバグループ100G(RPグループ)内のサーバ装置100(RP)のうちの1台は、記憶部120に鍵レジストリ200を保管していてもよい。 The storage unit 120 may also store the key registry 200. For example, one of the server devices 100 (RP) in the authentication server group 100G (RP group) may store the key registry 200 in the storage unit 120.

(制御部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 server device 100 using a storage area such as a RAM as a working area. In the example shown in Fig. 10, the control unit 130 has an acquisition unit 131, a registration processing unit 132, an authentication processing unit 133, and a provision unit 134.

(取得部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 terminal device 10 of user U. The acquisition unit 131 may also acquire identification information indicating user U, attribute information of user U, etc. when user U is registered. Then, the acquisition unit 131 registers the user information in the user information database 121 of the storage unit 120.

また、取得部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 terminal device 10 of the user U, or from various servers, etc. based on the user ID, etc. Then, the acquisition unit 131 registers the various types of history information in the history information database 122 of the storage unit 120.

(登録処理部132)
登録処理部132は、通信部110を介して、端末装置10(認証器)から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管する。例えば、登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、認証サーバグループ単位で、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管する。
(Registration Processing Unit 132)
When the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator) via the communication unit 110, it stores an authentication public key (RPG-G authentication public key) common to multiple authentication servers that perform FIDO authentication in the key registry 200. For example, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator), it stores, in the key registry 200, an authentication public key (RPG-G authentication public key) common to multiple authentication servers belonging to the same authentication server group, on an authentication server group basis.

また、登録処理部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 registration processing unit 132 also manages a key ID for identifying the common authentication public key (RPG-G authentication public key), a public key reference DID (public URL) indicating the location of the common authentication public key (RPG-G authentication public key), and a user ID indicating the user who will undergo FIDO authentication using the terminal device 10 (authenticator) by linking them together. For example, the registration processing unit 132 links the key ID, the public key reference DID, and the user ID and registers them in the key information database 123 of the storage unit 120. The key registry 200 also manages a key ID for identifying the common authentication public key (RPG-G authentication public key), a public key reference DID indicating the location of the common authentication public key (RPG-G authentication public key), and the common authentication public key (RPG-G authentication public key) by linking them together.

このとき、登録処理部132は、第1の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジと、共通の認証用鍵ペアがないことを確認した端末装置10(認証器)が生成した共通の認証用公開鍵(RP-G認証用公開鍵)とを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管するとともに、鍵IDと、公開鍵の参照DIDと、第1のユーザIDとを紐づけて管理する。 At this time, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator) as the first authentication server, it sends a challenge to the terminal device 10 (authenticator), receives from the terminal device 10 (authenticator) a signed challenge signed using the registration private key by the terminal device 10 (authenticator) that has succeeded in user verification, and a common authentication public key (RPG-G authentication public key) generated by the terminal device 10 (authenticator) that has confirmed that there is no common authentication key pair, and if signature verification of the signed challenge is successful using the published registration public key, it stores the common authentication public key (RPG-G authentication public key) in the key registry 200 and manages the key ID, the reference DID of the public key, and the first user ID in association with each other.

また、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDを取得し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。 In addition, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator) as a second authentication server, it sends a challenge to the terminal device 10 (authenticator), and if there is a common authentication public key (RPG-G authentication public key), it receives from the terminal device 10 (authenticator) a signed challenge signed using the registration private key by the terminal device 10 (authenticator) that has successfully verified the user, and if the signature verification of the signed challenge is successful using the published registration public key, it obtains the public key reference DID from the key registry 200 using the key ID, and manages the key ID, public key reference DID, and second user ID in association with each other.

あるいは、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、第1の認証サーバに、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、端末装置10(認証器)に、チャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを送信する処理を実施させる。 Alternatively, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator) as a second authentication server, the registration processing unit 132 causes the first authentication server to perform a process of sending a challenge to the terminal device 10 (authenticator), and if there is a common authentication public key (RPG-G authentication public key), the terminal device 10 (authenticator) that has successfully verified the user receives a signed challenge signed using the common authentication private key from the terminal device 10 (authenticator), and if the signature verification of the signed challenge is successful using the published registration public key, sending the challenge and a group key registration authentication assertion including the reference DID of the public key to the terminal device 10 (authenticator).

(認証処理部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 authentication processing unit 133 obtains a common authentication public key (RPG-G authentication public key) from the key registry 200 and performs FIDO authentication using the common authentication public key (RPG-G authentication public key). For example, when receiving an authentication request from the terminal device 10 (authenticator), the authentication processing unit 133 obtains an authentication public key (RPG-G 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 (RPG-G authentication public key).

なお、認証処理部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 authentication processing unit 133 receives an authentication request from the terminal device 10 (authenticator) as a second authentication server, it sends a challenge to the terminal device 10 (authenticator), and if there is a common authentication public key (RPG-G authentication public key), the terminal device 10 (authenticator) that has successfully verified the user receives a signed challenge signed using the common authentication private key (RPG-G authentication private key), and if it is confirmed using the key ID that the reference DID (public URL) of the public key managed in association with the key ID does not exist internally, it uses the key ID to obtain the reference DID of the public key and the common authentication public key (RPG-G authentication public key) from the key registry 200, and if the signature verification of the signed challenge is successful using the common authentication public key (RPG-G authentication public key), it may manage the key ID, the reference DID of the public key, and the second user ID in association with each other.

あるいは、認証処理部133は、第2の認証サーバとして、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジと公開鍵の参照DIDとを含むグループ鍵登録用認証アサーションを端末装置10(認証器)から受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、グループ鍵登録用認証アサーションに含まれる公開鍵の参照DIDを使用して鍵レジストリ200から共通の認証用公開鍵(RP-G認証用公開鍵)を取得し、共通の認証用公開鍵(RP-G認証用公開鍵)を使用してグループ鍵登録用認証アサーションに含まれる署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理してもよい。 Alternatively, the authentication processing unit 133 may, as a second authentication server, receive from the terminal device 10 (authenticator) a group key registration authentication assertion including a signed challenge signed using a common authentication private key (RPG-G authentication public key) and a public key reference DID when the terminal device 10 (authenticator) that has successfully verified the user has a common authentication public key (RPG-G authentication public key), and if it is confirmed using the key ID that the public key reference DID managed in association with the key ID does not exist internally, obtain a common authentication public key (RPG-G authentication public key) from the key registry 200 using the public key reference DID included in the group key registration authentication assertion, and if the signature verification of the signed challenge included in the group key registration authentication assertion is successful using the common authentication public key (RPG-G authentication public key), manage the key ID, the public key reference DID, and the second user ID in association with each other.

(提供部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 terminal device 10 of the user U (or to the user U himself, or to another device owned by the user U) via the communication unit 110.

〔5.処理手順〕
次に、図14~図16を用いて実施形態に係るサーバ装置100による処理手順について説明する。図14は、実施形態に係る第1の処理手順を示すフローチャートである。図15は、実施形態に係る第2の処理手順を示すフローチャートである。図16は、実施形態に係る第3の処理手順を示すフローチャートである。なお、以下に示す処理手順は、サーバ装置100の制御部130によって繰り返し実行される。
5. Processing Procedure
Next, the processing procedure by the server device 100 according to the embodiment will be described with reference to Figs. 14 to 16. Fig. 14 is a flowchart showing a first processing procedure according to the embodiment. Fig. 15 is a flowchart showing a second processing procedure according to the embodiment. Fig. 16 is a flowchart showing a third processing procedure according to the embodiment. Note that the processing procedure shown below is repeatedly executed by the control unit 130 of the server device 100.

〔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 registration processing unit 132 of the server device 100-1 (RP1) belonging to the authentication server group 100G (RP group) receives a registration request from the terminal device 10 (authentication device) of the user U via the communication unit 110 (step S101).

続いて、サーバ装置100-1(RP1)の登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、通信部110を介して、端末装置10(認証器)にチャレンジを送信し、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジと、グループ内のサーバ装置100(RP)に共通の認証用鍵ペアがないことを確認した端末装置10(認証器)が生成した共通の認証用公開鍵(RP-G認証用公開鍵)とを端末装置10(認証器)から受信する(ステップS102)。 Next, when the registration processing unit 132 of the server device 100-1 (RP1) receives a registration request from the terminal device 10 (authenticator), it sends a challenge to the terminal device 10 (authenticator) via the communication unit 110, and receives from the terminal device 10 (authenticator) a signed challenge signed using the registration private key by the terminal device 10 (authenticator) that has successfully verified the user, and a common authentication public key (RPG authentication public key) generated by the terminal device 10 (authenticator) that has confirmed that the server devices 100 (RP) in the group do not have a common authentication key pair (step S102).

続いて、サーバ装置100-1(RP1)の登録処理部132は、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名を検証する(ステップS103)。 Then, the registration processing unit 132 of the server device 100-1 (RP1) verifies the signature of the signed challenge using the published registration public key (step S103).

続いて、サーバ装置100-1(RP1)の登録処理部132は、署名付きチャレンジの署名検証に成功した場合、共通の認証用公開鍵(RP-G認証用公開鍵)を鍵レジストリ200に保管するとともに、鍵IDと、公開鍵の参照DID(公開URL)と、第1のユーザIDとを紐づけて管理する(ステップS104)。 Next, if the registration processing unit 132 of the server device 100-1 (RP1) is successful in verifying the signature of the signed challenge, it stores the common authentication public key (RPG-G authentication public key) in the key registry 200 and manages the key ID, the reference DID (public URL) of the public key, and the first user ID in association with each other (step S104).

続いて、認証サーバグループ100G(RPグループ)に所属するサーバ装置100-2(RP2)の登録処理部132は、通信部110を介して、利用者Uの端末装置10(認証器)から登録要求を受け付ける(ステップS201)。 Next, the registration processing unit 132 of the server device 100-2 (RP2) belonging to the authentication server group 100G (RP group) receives a registration request from the terminal device 10 (authentication device) of the user U via the communication unit 110 (step S201).

続いて、サーバ装置100-2(RP2)の登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、通信部110を介して、端末装置10(認証器)にグループリストとチャレンジを送信し、グループ内のサーバ装置100(RP)に共通の認証用鍵ペアがあることを確認した端末装置10(認証器)から、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを受信する(ステップS202)。 Next, when the registration processing unit 132 of the server device 100-2 (RP2) receives a registration request from the terminal device 10 (authenticator), it transmits a group list and a challenge to the terminal device 10 (authenticator) via the communication unit 110, and receives a signed challenge signed by the terminal device 10 (authenticator) that has successfully verified the user using the registration private key from the terminal device 10 (authenticator) that has confirmed that the server devices 100 (RP) in the group have a common authentication key pair (step S202).

続いて、サーバ装置100-2(RP2)の登録処理部132は、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名を検証する(ステップS203)。 Then, the registration processing unit 132 of the server device 100-2 (RP2) verifies the signature of the signed challenge using the published registration public key (step S203).

続いて、サーバ装置100-2(RP2)の登録処理部132は、署名付きチャレンジの署名検証に成功した場合、グループ鍵登録であることを認識し、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDを取得する(ステップS204)。 Next, if the registration processing unit 132 of the server device 100-2 (RP2) is successful in verifying the signature of the signed challenge, it recognizes that this is a group key registration and obtains the reference DID of the public key from the key registry 200 using the key ID (step S204).

続いて、サーバ装置100-2(RP2)の登録処理部132は、第2のユーザIDを取得(又は生成)し、鍵IDと、公開鍵の参照DID(公開URL)と、第2のユーザIDとを紐づけて管理する(ステップS205)。 Then, the registration processing unit 132 of the server device 100-2 (RP2) acquires (or generates) a second user ID, and manages the key ID, the reference DID (public URL) of the public key, and the second user ID in association with each other (step S205).

〔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 authentication processing unit 133 of the server device 100-2 (RP2) accepts a registration request from the terminal device 10 (authentication device) of user U via the communication unit 110 (step S211).

続いて、サーバ装置100-2(RP2)の認証処理部133は、端末装置10(認証器)から認証要求を受けた際に、通信部110を介して、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジを受信する(ステップS212)。 Next, when the authentication processing unit 133 of the server device 100-2 (RP2) receives an authentication request from the terminal device 10 (authenticator), it sends a challenge to the terminal device 10 (authenticator) via the communication unit 110, and if there is a common authentication public key (RPG-G authentication public key), the terminal device 10 (authenticator) that has successfully verified the user receives a signed challenge signed using the common authentication private key (RPG-G authentication private key) (step S212).

続いて、サーバ装置100-2(RP2)の認証処理部133は、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DID(公開URL)が内部に存在しないことを確認した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDと共通の認証用公開鍵(RP-G認証用公開鍵)とを取得する(ステップS213)。 Next, if the authentication processing unit 133 of the server device 100-2 (RP2) uses the key ID to confirm that the reference DID (public URL) of the public key managed in association with the key ID does not exist internally, it uses the key ID to obtain the reference DID of the public key and a common authentication public key (RPG-G authentication public key) from the key registry 200 (step S213).

続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名を検証する(ステップS214)。 Then, the authentication processing unit 133 of the server device 100-2 (RP2) verifies the signature of the signed challenge using the common authentication public key (RPG authentication public key) (step S214).

続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名検証に成功した場合、第2のユーザIDを取得(又は生成)し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する(ステップS215)。 Next, if the authentication processing unit 133 of the server device 100-2 (RP2) is successful in verifying the signature of the signed challenge using the common authentication public key (RPG-G authentication public key), it acquires (or generates) a second user ID and manages the key ID, the reference DID of the public key, and the second user ID in association with each other (step S215).

〔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 registration processing unit 132 of the server device 100-2 (RP2) redirects the request to the server device 100-1 (RP1) in the group via the communication unit 110 (step S221).

続いて、サーバ装置100-1(RP1)の認証処理部133は、すでに共通の認証用公開鍵(RP-G認証用公開鍵)があることを確認して、通信部110を介して、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵(RP-G認証用公開鍵)がある場合にユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信する(ステップS121)。 Then, the authentication processing unit 133 of the server device 100-1 (RP1) confirms that a common authentication public key (RPG-G authentication public key) already exists, and sends a challenge to the terminal device 10 (authenticator) via the communication unit 110. If a common authentication public key (RPG-G authentication public key) exists, the terminal device 10 (authenticator) that has successfully verified the user receives a signed challenge signed using the registration private key from the terminal device 10 (authenticator) (step S121).

続いて、サーバ装置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 authentication processing unit 133 of the server device 100-1 (RP1) succeeds in verifying the signature of the signed challenge using the common authentication public key (RPG-G authentication public key), it creates a group key registration authentication assertion including the reference DID of the public key, and transmits the challenge and the group key registration authentication assertion to the terminal device 10 (authenticator) via the communication unit 110 (step S122). At this time, the authentication processing unit 133 of the server device 100-1 (RP1) may instruct the terminal device 10 (authenticator) to respond to the server device 100-2 (RP2) in the group. The terminal device 10 (authenticator) transmits the group key registration authentication assertion including the signed challenge signed using the common authentication private key (RPG-G authentication private key) and the reference DID of the public key to the server device 100-2 (RP2) via the communication unit 11.

続いて、サーバ装置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 authentication processing unit 133 of the server device 100-2 (RP2) receives, via the communication unit 110, from the terminal device 10 (authenticator) that has successfully verified the user, an authentication assertion for group key registration that includes a signed challenge signed using the common authentication private key (RPG-G authentication private key) and a reference DID for the public key (step S222).

続いて、サーバ装置100-2(RP2)の認証処理部133は、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、グループ鍵登録用認証アサーションに含まれる公開鍵の参照DIDを使用して鍵レジストリ200から共通の認証用公開鍵(RP-G認証用公開鍵)を取得する(ステップS223)。 Next, if the authentication processing unit 133 of the server device 100-2 (RP2) uses the key ID to confirm that the reference DID of the public key managed in association with the key ID does not exist internally, it obtains a common authentication public key (RPG authentication public key) from the key registry 200 using the reference DID of the public key included in the authentication assertion for group key registration (step S223).

続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を用いて署名付きチャレンジの署名を検証する(ステップS224)。 Then, the authentication processing unit 133 of the server device 100-2 (RP2) verifies the signature of the signed challenge using the common authentication public key (RPG authentication public key) (step S224).

続いて、サーバ装置100-2(RP2)の認証処理部133は、共通の認証用公開鍵(RP-G認証用公開鍵)を使用してグループ鍵登録用認証アサーションに含まれる署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する(ステップS225)。 Next, if the authentication processing unit 133 of the server device 100-2 (RP2) successfully verifies the signature of the signed challenge included in the group key registration authentication assertion using the common authentication public key (RPG authentication public key), it manages the key ID, the reference DID of the public key, and the second user ID in association with each other (step S225).

〔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 server device 100 may actually be executed by the terminal device 10. For example, the processing may be completed in a stand-alone manner (by the terminal device 10 alone). In this case, the terminal device 10 is assumed to have the functions of the server device 100 in the above embodiment. Also, in the above embodiment, since the terminal device 10 is linked to the server device 100, from the perspective of the user U, it appears that the processing of the server device 100 is also executed by the terminal device 10. In other words, from another perspective, it can also be said that the terminal device 10 is equipped with the server device 100.

また、上記の実施形態において、サーバ装置100は、1つの認証サーバグループ(RPグループ)に限らず、複数の認証サーバグループ(RPグループ)に所属していてもよい。すなわち、1台のサーバ装置100が複数の認証サーバグループ(RPグループ)に所属していてもよい。このとき、どの認証サーバグループ(RPグループ)のグループ鍵を使用するかは、利用者U(ユーザ)に選択させてもよいし(「どちらにしますか?」)、先に見つかったほうから使用するようにしてもよい。すなわち、任意である。FIDO認証が実施可能であれば、どの認証サーバグループ(RPグループ)であっても問題ない。 In addition, in the above embodiment, the server device 100 is not limited to belonging to one authentication server group (RP group), but may belong to multiple authentication server groups (RP groups). That is, one server device 100 may belong to multiple authentication server groups (RP groups). In this case, the user U may be allowed to select which authentication server group (RP group)'s group key to use ("Which one would you like?"), or the first one found may be used. In other words, it is optional. As long as FIDO authentication can be implemented, it does not matter which authentication server group (RP group) is used.

また、上記の実施形態において、端末装置10は、サーバ装置100がサブドメインに属しているのであれば、上位ドメインのグループに属していると判断してもよい。すなわち、端末装置10は、上位ドメインのグループを、認証サーバグループ(RPグループ)と判断してもよい。 In addition, in the above embodiment, if the server device 100 belongs to a subdomain, the terminal device 10 may determine that it belongs to a group of a higher-level domain. In other words, the terminal device 10 may determine that the group of a higher-level domain is an authentication server group (RP group).

また、上記の実施形態において、サーバ装置100は、FIDO認証と他の認証とを組み合わせて多段階認証としてもよい。例えば、サーバ装置100は、FIDO認証とパスワード認証とを組み合わせて2段階認証としてもよい。あるいは、サーバ装置100は、FIDO認証と秘密の質問とを組み合わせて2段階認証としてもよい。 In addition, in the above embodiment, the server device 100 may combine FIDO authentication with other authentication to provide multi-step authentication. For example, the server device 100 may combine FIDO authentication with password authentication to provide two-step authentication. Alternatively, the server device 100 may combine FIDO authentication with a secret question to provide two-step authentication.

また、上記の実施形態において、サーバ装置100は、FIDO認証において、認証の3要素である「知識情報」、「所持情報」、「生体情報」のうち、2つ以上を組み合わせて認証するようにしてもよい。すなわち、サーバ装置100は、多要素認証(MFA:Multi-Factor Authentication)を採用してもよい。 In addition, in the above embodiment, the server device 100 may perform authentication using a combination of two or more of the three elements of authentication, namely, "knowledge information," "possession information," and "biometric information," in FIDO authentication. In other words, the server device 100 may employ multi-factor authentication (MFA).

〔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 registration processing unit 132 that stores, in a key registry 200, an authentication public key common to multiple authentication servers that perform FIDO authentication when a registration request is received from a terminal device 10 (authenticator); and an authentication processing unit 133 that, when an authentication request is received from the terminal device 10 (authenticator), obtains the common authentication public key from the key registry 200 and performs FIDO authentication using the common authentication public key.

例えば、登録処理部132は、端末装置10(認証器)から登録要求を受けた際に、認証サーバグループ単位で、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵を鍵レジストリ200に保管する。認証処理部133は、端末装置10(認証器)から認証要求を受けた際に、同一の認証サーバグループに所属する複数の認証サーバに共通の認証用公開鍵を取得し、共通の認証用公開鍵を用いてFIDO認証を実施する。 For example, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator), it stores an authentication public key common to multiple authentication servers belonging to the same authentication server group in the key registry 200 on an authentication server group basis. When the authentication processing unit 133 receives an authentication request from the terminal device 10 (authenticator), it 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.

また、登録処理部132は、共通の認証用公開鍵を識別するための鍵IDと、共通の認証用公開鍵の所在を示す公開鍵の参照DIDと、端末装置10(認証器)を用いてFIDO認証を受けるユーザを示すユーザIDとを紐づけて管理する。鍵レジストリ200は、共通の認証用公開鍵を識別するための鍵IDと、共通の認証用公開鍵の所在を示す公開鍵の参照DIDと、共通の認証用公開鍵とを紐づけて管理する。 The registration processing unit 132 also 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 a user ID indicating the user who will undergo FIDO authentication using the terminal device 10 (authenticator) in association with each other. The key registry 200 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.

このとき、登録処理部132は、第1の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、ユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジと、共通の認証用鍵ペアがないことを確認した端末装置10(認証器)が生成した共通の認証用公開鍵とを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、共通の認証用公開鍵を鍵レジストリ200に保管するとともに、鍵IDと、公開鍵の参照DIDと、第1のユーザIDとを紐づけて管理する。 At this time, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator) as a first authentication server, it sends a challenge to the terminal device 10 (authenticator), receives from the terminal device 10 (authenticator) a signed challenge signed using the registration private key by the terminal device 10 (authenticator) that has succeeded in user verification, and a common authentication public key generated by the terminal device 10 (authenticator) that has confirmed that there is no common authentication key pair, and if the signature verification of the signed challenge is successful using the published registration public key, it stores the common authentication public key in the key registry 200 and manages the key ID, the reference DID of the public key, and the first user ID in association with each other.

また、登録処理部132は、第2の認証サーバとして、端末装置10(認証器)から登録要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵がある場合にユーザ検証に成功した端末装置10(認証器)が登録用秘密鍵を用いて署名した署名付きチャレンジを端末装置10(認証器)から受信し、公開済みの登録用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDを取得し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。 In addition, when the registration processing unit 132 receives a registration request from the terminal device 10 (authenticator) as a second authentication server, it sends a challenge to the terminal device 10 (authenticator), and if there is a common authentication public key, it receives from the terminal device 10 (authenticator) a signed challenge signed using the registration private key by the terminal device 10 (authenticator) that has successfully verified the user, and if the signature verification of the signed challenge is successful using the published registration public key, it obtains the public key reference DID from the key registry 200 using the key ID, and manages the key ID, the public key reference DID, and the second user ID in association with each other.

あるいは、認証処理部133は、第2の認証サーバとして、端末装置10(認証器)から認証要求を受けた際に、端末装置10(認証器)にチャレンジを送信し、共通の認証用公開鍵がある場合にユーザ検証に成功した端末装置10(認証器)が共通の認証用秘密鍵(RP-G認証用秘密鍵)を用いて署名した署名付きチャレンジを受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、鍵IDを使用して鍵レジストリ200から公開鍵の参照DIDと共通の認証用公開鍵とを取得し、共通の認証用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する。 Alternatively, when the authentication processing unit 133 receives an authentication request from the terminal device 10 (authenticator) as a second authentication server, it sends a challenge to the terminal device 10 (authenticator), and if there is a common authentication public key, the terminal device 10 (authenticator) that has successfully verified the user receives a signed challenge signed using the common authentication private key (RPG authentication private key), and if it uses the key ID to confirm that the reference DID of the public key managed in association with the key ID does not exist internally, it uses the key ID to obtain the reference DID of the public key and the common authentication public key from the key registry 200, and if signature verification of the signed challenge is successful using the common authentication public key, it manages the key ID, the reference DID of the public key, and the second user ID in association with each other.

あるいは、登録処理部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 registration processing unit 132, as a second authentication server, receives a registration request from the terminal device 10 (authenticator), it causes the first authentication server to perform a process of sending a challenge to the terminal device 10 (authenticator), and if a common authentication public key is present, the terminal device 10 (authenticator) that has successfully verified the user receives a signed challenge signed using the common authentication private key from the terminal device 10 (authenticator), and if signature verification of the signed challenge is successful using the published registration public key, sending the challenge and a group key registration authentication assertion including a reference DID of the public key to the terminal device 10 (authenticator). The authentication processing unit 133, as a second authentication server, receives from the terminal device 10 (authenticator) a group key registration authentication assertion that includes a signed challenge signed by the terminal device 10 (authenticator) using a common authentication private key (RPG-G authentication private key) and a public key reference DID when the terminal device 10 (authenticator) that has succeeded in user verification when there is a common authentication public key, and if it is confirmed using the key ID that the public key reference DID managed in association with the key ID does not exist internally, it obtains a common authentication public key from the key registry 200 using the public key reference DID included in the group key registration authentication assertion, and if signature verification of the signed challenge included in the group key registration authentication assertion using the common authentication public key is successful, it manages the key ID, the public key reference DID, and the second user ID in association with each other.

別の観点では、本願に係る情報処理装置(端末装置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 terminal device 10 and the server device 100 according to the above-described embodiment are realized by a computer 1000 having a configuration as shown in Fig. 17, for example. The server device 100 will be described below as an example. Fig. 17 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to an output device 1010 and an input device 1020, and has a configuration in which a calculation device 1030, a primary storage device 1040, a secondary storage device 1050, an output I/F (Interface) 1060, an input I/F 1070, and a network I/F 1080 are connected by a bus 1090.

演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。 The arithmetic device 1030 operates based on programs stored in the primary storage device 1040 and the secondary storage device 1050, programs read from the input device 1020, and the like, and executes various processes. The arithmetic device 1030 is realized, for example, by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like.

一次記憶装置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 primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that primarily stores data used by the arithmetic device 1030 for various calculations. The secondary storage device 1050 is a storage device in which data used by the arithmetic device 1030 for various calculations and various databases are registered, and is realized by a ROM (Read Only Memory), a HDD (Hard Disk Drive), a SSD (Solid State Drive), a flash memory, or the like. The secondary storage device 1050 may be an internal storage device or an external storage device. The secondary storage device 1050 may be a removable storage medium such as a USB (Universal Serial Bus) memory or a SD (Secure Digital) memory card. The secondary storage device 1050 may be a cloud storage device (online storage device), a NAS (Network Attached Storage), a file server, or the like.

出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。 The output I/F 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various types of information, such as a display, projector, printer, etc., and is realized by a connector conforming to a standard such as USB (Universal Serial Bus), DVI (Digital Visual Interface), or HDMI (registered trademark) (High Definition Multimedia Interface). The input I/F 1070 is an interface for receiving information from various input devices 1020, such as a mouse, keyboard, keypad, button, scanner, etc., and is realized by a USB, etc.

また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。 In addition, the output I/F 1060 and the input I/F 1070 may be wirelessly connected to the output device 1010 and the input device 1020, respectively. That is, the output device 1010 and the input device 1020 may be wireless devices.

また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。 The output device 1010 and the input device 1020 may be integrated together, such as a touch panel. In this case, the output I/F 1060 and the input I/F 1070 may also be integrated together as an input/output I/F.

なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。 The input device 1020 may be a device that reads information from, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.

ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。 The network I/F 1080 receives data from other devices via the network N and sends it to the computing device 1030, and also transmits data generated by the computing device 1030 to other devices via the network N.

演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。 The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output I/F 1060 and the input I/F 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040 and executes the loaded program.

例えば、コンピュータ1000がサーバ装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。 For example, when the computer 1000 functions as the server device 100, the arithmetic unit 1030 of the computer 1000 executes a program loaded onto the primary storage device 1040 to realize the functions of the control unit 130. The arithmetic unit 1030 of the computer 1000 may also load a program acquired from another device via the network I/F 1080 onto the primary storage device 1040 and execute the loaded program. The arithmetic unit 1030 of the computer 1000 may also cooperate with other devices via the network I/F 1080 and use the functions and data of a program by calling them from other programs of the other devices.

〔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 server device 100 may be realized by multiple server computers, and depending on the functions, the configuration can be flexibly changed, such as by calling an external platform using an API (Application Programming Interface) or network computing.

また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 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 Information processing system 10 Terminal device (authentication device)
33 Processing unit 33A Group management unit 33B Verification unit 33C Confirmation unit 33D Key generation unit 40 Storage unit 40A Group list 40B Registration private key 40C Authentication private key 100G Authentication server group (RP group)
100 Server device (RP)
REFERENCE SIGNS LIST 110 Communication unit 120 Storage unit 121 User information database 122 History information database 123 Key information database 130 Control unit 131 Acquisition unit 132 Registration processing unit 133 Authentication processing unit 134 Provision unit 200 Key registry

Claims (14)

認証器から登録要求を受けた際に、FIDO認証を実施する複数の認証サーバに共通の認証用公開鍵を鍵レジストリに保管する登録処理部と、
前記認証器から認証要求を受けた際に、前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いて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と、前記認証器を用いてFIDO認証を受けるユーザを示すユーザIDとを紐づけて管理し、
前記鍵レジストリは、前記共通の認証用公開鍵を識別するための鍵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.
前記登録処理部は、第1の認証サーバとして、前記認証器から登録要求を受けた際に、前記認証器にチャレンジを送信し、ユーザ検証に成功した前記認証器が登録用秘密鍵を用いて署名した署名付きチャレンジと、前記共通の認証用鍵ペアがないことを確認した前記認証器が生成した前記共通の認証用公開鍵とを前記認証器から受信し、公開済みの登録用公開鍵を用いて前記署名付きチャレンジの署名検証に成功した場合、前記共通の認証用公開鍵を前記鍵レジストリに保管するとともに、鍵IDと、公開鍵の参照DIDと、第1のユーザIDとを紐づけて管理する
ことを特徴とする請求項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.
前記登録処理部は、第2の認証サーバとして、前記認証器から登録要求を受けた際に、前記認証器にチャレンジを送信し、前記共通の認証用公開鍵がある場合にユーザ検証に成功した前記認証器が登録用秘密鍵を用いて署名した署名付きチャレンジを前記認証器から受信し、公開済みの登録用公開鍵を用いて前記署名付きチャレンジの署名検証に成功した場合、鍵IDを使用して前記鍵レジストリから公開鍵の参照DIDを取得し、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する
ことを特徴とする請求項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.
前記認証処理部は、第2の認証サーバとして、前記認証器から認証要求を受けた際に、前記認証器にチャレンジを送信し、前記共通の認証用公開鍵がある場合にユーザ検証に成功した前記認証器が共通の認証用秘密鍵を用いて署名した署名付きチャレンジを受信し、鍵IDを使用して、鍵IDに紐づけて管理されている公開鍵の参照DIDが内部に存在しないことを確認した場合、鍵IDを使用して前記鍵レジストリから公開鍵の参照DIDと前記共通の認証用公開鍵とを取得し、前記共通の認証用公開鍵を用いて署名付きチャレンジの署名検証に成功した場合、鍵IDと、公開鍵の参照DIDと、第2のユーザIDとを紐づけて管理する
ことを特徴とする請求項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の認証サーバとして、前記認証器から登録要求を受けた際に、第1の認証サーバに、前記認証器にチャレンジを送信し、前記共通の認証用公開鍵がある場合にユーザ検証に成功した前記認証器が登録用秘密鍵を用いて署名した署名付きチャレンジを前記認証器から受信し、公開済みの登録用公開鍵を用いて前記署名付きチャレンジの署名検証に成功した場合、前記認証器に、チャレンジと、公開鍵の参照DIDを含むグループ鍵登録用認証アサーションとを送信する処理を実施させ、
前記認証処理部は、第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.
認証器として、FIDO認証を実施する複数の認証サーバを認証サーバグループ単位で管理するグループ管理部と、
同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して登録要求を送信する送信部と、
前記登録要求に対してチャレンジを受信する受信部と、
ユーザ検証に成功した場合に登録用秘密鍵を用いて前記チャレンジに署名した署名付きチャレンジを作成する検証部と、
前記認証サーバグループに所属する複数の認証サーバに共通の認証用鍵ペアの有無を確認する確認部と、
前記共通の認証用鍵ペアがない場合には、前記認証サーバグループに所属する複数の認証サーバに共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する鍵生成部と、
を備え、
前記送信部は、
前記共通の認証用鍵ペアがある場合には、前記署名付きチャレンジを送信し、
前記共通の認証用鍵ペアがない場合には、前記署名付きチャレンジとともに前記共通の認証用公開鍵を送信する
ことを特徴とする情報処理装置。
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.
前記送信部は、同一の認証サーバグループに所属する複数の認証サーバのうちユーザ未登録の第2の認証サーバに対して鍵登録要求を送信し、
前記受信部は、前記複数の認証サーバのうちユーザ登録済みの第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認証を実施する複数の認証サーバに共通の認証用公開鍵を鍵レジストリに保管する登録処理手順と、
前記認証器から認証要求を受けた際に、前記鍵レジストリから前記共通の認証用公開鍵を取得し、前記共通の認証用公開鍵を用いて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.
認証器として、FIDO認証を実施する複数の認証サーバを認証サーバグループ単位で管理するグループ管理手順と、
同一の認証サーバグループに所属する複数の認証サーバのいずれかに対して登録要求を送信する送信手順と、
前記登録要求に対してチャレンジを受信する受信手順と、
ユーザ検証に成功した場合に登録用秘密鍵を用いて前記チャレンジに署名した署名付きチャレンジを作成する検証手順と、
前記認証サーバグループに所属する複数の認証サーバに共通の認証用鍵ペアの有無を確認する確認手順と、
前記共通の認証用鍵ペアがない場合には、前記認証サーバグループに所属する複数の認証サーバに共通の認証用秘密鍵と認証用公開鍵との鍵ペアを生成する鍵生成手順と、
をコンピュータに実行させ、
前記送信手順では、
前記共通の認証用鍵ペアがある場合には、前記署名付きチャレンジを送信し、
前記共通の認証用鍵ペアがない場合には、前記署名付きチャレンジとともに前記共通の認証用公開鍵を送信する
ことを特徴とする情報処理プログラム。
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.
JP2022167723A 2022-10-19 2022-10-19 Information processing device, information processing method, and information processing program Pending JP2024060389A (en)

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)

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