(58)【調査した分野】(Int.Cl.,DB名)
ユーザの本人認証を行う認証器による認証結果に対して署名を付すための第1の鍵と、当該第1の鍵を用いて付された署名を検証するための第2の鍵とのペアを生成する生成部と、
前記生成部によって生成された鍵のペアを識別する鍵識別子と、前記ユーザを識別するユーザ識別情報とを対応付けて登録する登録部と、
前記生成部によって生成された第1の鍵を、前記ユーザが利用する認証器に送信する送信部と、
前記署名を検証する認証サーバであって、前記ユーザに対してサービス等を提供する認証サーバが、前記ユーザによる前記認証器への認証手段の登録を契機として前記認証器から認証に関する要求を受信したタイミングで、前記認証サーバから、前記送信部によって送信された第1の鍵が設定された認証器に関する第2の鍵の送信要求を受け付け、前記鍵識別子と前記ユーザ識別情報とに基づいて、当該認証器に対応する第2の鍵を当該認証サーバに送信するよう応答する応答部と
を備えたことを特徴とする認証器管理装置。
ユーザの本人認証を行う認証器による認証結果に対して署名を付すための第1の鍵と、当該第1の鍵を用いて付された署名を検証するための第2の鍵とのペアを生成する生成部と、
前記生成部によって生成された鍵のペアを識別する鍵識別子と、前記ユーザを識別するユーザ識別情報とを対応付けて登録する登録部と、
前記生成部によって生成された第1の鍵を、前記ユーザが利用する認証器に送信する送信部と、
前記送信部によって送信された第1の鍵が設定された認証器であって、前記ユーザによる前記認証器への認証手段の登録を契機とするタイミングで、前記認証器から認証に関する要求を受け付け、前記鍵識別子と前記ユーザ識別情報とに基づいて、当該認証器に対応する第2の鍵を有効化するよう応答する応答部と
を備えたことを特徴とする認証器管理装置。
ユーザの本人認証を行う認証器による認証結果に対して署名を付すための第1の鍵と、当該第1の鍵を用いて付された署名を検証するための第2の鍵とのペアを生成する生成手順と、
前記生成手順によって生成された鍵のペアを識別する鍵識別子と、前記ユーザを識別するユーザ識別情報とを対応付けて登録する登録手順と、
前記生成手順によって生成された第1の鍵を、前記ユーザが利用する認証器に送信する送信手順と、
前記署名を検証する認証サーバであって、前記ユーザに対してサービス等を提供する認証サーバが、前記ユーザによる前記認証器への認証手段の登録を契機として前記認証器から認証に関する要求を受信したタイミングで、前記認証サーバから、前記送信手順によって送信された第1の鍵が設定された認証器に関する第2の鍵の送信要求を受け付け、前記鍵識別子と前記ユーザ識別情報とに基づいて、当該認証器に対応する第2の鍵を当該認証サーバに送信するよう応答する応答手順と
をコンピュータに実行させることを特徴とする認証器管理プログラム。
【発明を実施するための形態】
【0010】
以下に、本願に係る認証器管理装置、認証器管理方法、認証器管理プログラム及び認証器管理システムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る認証器管理装置、認証器管理方法、認証器管理プログラム及び認証器管理システムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.認証器管理処理の一例〕
まず、
図1及び
図2を用いて、実施形態に係る認証器管理処理の一例について説明する。
図1は、実施形態に係る認証器管理処理の一例を示す図(1)である。
図1では、本願に係る認証器管理装置100によって、複数の認証器が管理される処理の一例を示す。
【0012】
図1に示す認証器管理装置100は、認証器を管理するサーバ装置である。実施形態において、認証器とは、ユーザに対する認証処理を実行する機器である。ユーザに対する認証処理とは、例えば、指紋や虹彩等の生体情報もしくはパスワード等のクレデンシャル情報(Credential Information)を利用して、当該ユーザが本人であるか否かを検証する処理をいう。すなわち、認証器とは、上記した指紋や虹彩等の真偽を判定し、当該ユーザの本人性を検証する機能を有する機器もしくは機能である。認証器は、例えば、指紋照合機等の専用機器であってもよいし、認証処理の機能を有するアプリケーション等がインストールされた端末装置(スマートフォン等)であってもよい。また、認証器とは、認証処理の機能を有するアプリケーションそのものを意味する場合もある。
【0013】
図1に示した例では、認証器は、ユーザU01が利用するスマートフォン10aや、ユーザU02が利用するタブレット10bや、ユーザU03が利用する時計型端末10c等の各種デバイスである。なお、説明において、これらの各種デバイスを区別する必要のない場合、「ユーザ端末10」と総称する。また、各ユーザを区別する必要のない場合、「ユーザ」と総称する。また、以下の説明では、ユーザ端末10もしくは認証器を「ユーザ」と読み替える場合がある。例えば、「認証器管理装置100がユーザU01に情報を送信する」とは、「認証器管理装置100がユーザU01の利用するユーザ端末10(認証器)に情報を送信する」ことを意味する場合がある。
【0014】
(実施形態に係る認証方式について)
ここで、
図1及び
図2の説明に先立ち、
図3を用いて、実施形態に係る認証器がユーザを認証する処理、及び、認証器が実行した認証結果を検証する認証方式の詳細について説明する。
図3は、実施形態に係る認証方式を説明するシーケンス図である。
図3では、サービスサーバ60が提供するアクセス制限付きのサービス(例えば、本人認証を完了させなければ一部機能が制限されるサービス等)をユーザが利用する状況を例に挙げて、認証器(区別のため、
図3では、「クライアント20」と表記する)による認証処理の流れについて説明する。
【0015】
一般に、サーバがクライアントを認証する場合、サーバ側は予め登録されたクレデンシャル情報を保持し、保持した情報と、認証の際にクライアントから送信されるクレデンシャル情報との照合に基づいて認証を行う。
【0016】
しかし、実施形態では、以下に説明するように、一般の認証処理とは異なる方式が採用される。具体的には、実施形態では、クライアント20がローカルでユーザの本人性を認証し、かかる認証の結果のみをサービスサーバ60に送信する。サービスサーバ60は、送信された認証結果が間違いなくクライアント20による認証処理を経たものであるという結果を検証することで、クライアント20(言い換えれば、クライアント20を利用するユーザ)を認証する。
【0017】
なお、ローカルでの認証とは、インターネット等の広域ネットワーク(外部ネットワーク)の接続を要しない状況で行われる認証をいい、例えば、クライアント20内部に備えられる機能を用いて行われる認証をいう。クライアント20は、例えば、ユーザの生体情報など、ユーザ本人を認証することが可能な情報について、予めユーザから登録を受け付ける。そして、クライアント20は、認証の際には、ユーザから生体情報等の入力を受け付け、登録データと入力データとの照合結果に基づいて本人認証を行う。本人認証の手段としては、例えば、指紋認証や、虹彩認証や、声紋認証等が含まれる。なお、認証処理は、クライアント20内部にインストールされたソフトウェアにより実現されてもよいし、クライアント20とLAN(Local Area Network)等で接続される範囲内に存在するハードウェアにより実現されてもよい。すなわち、クライアント20による認証処理とは、インターネット等の外部ネットワークを介さない、例えば、クライアント20に備えられたインターフェイスに直接接続されることによりクライアント20と協働するようなハードウェア等を利用した認証も含まれる。このように、認証器とは、クライアント20側で機能する認証機能、あるいは、認証手段と読み替えることもできる。
【0018】
まず、サービスサーバ60がクライアント20を認証対象として登録する手順として、
図3に示したステップS21からステップS26を説明する。すなわち、
図3に示したステップS21からステップS26では、サービスを利用する際の実際の認証処理に先立ち、サービスサーバ60がクライアント20を認証器として登録する処理の流れを示している。
【0019】
クライアント20は、サービスサーバ60にアクセスし、認証器の登録を要求する(ステップS21)。サービスサーバ60は、クライアント20から送信された要求に応答して、クライアント20を登録するための認証を要求する(ステップS22)。具体的には、サービスサーバ60は、登録を要求したクライアント20に対して、チャレンジと称されるランダムな文字列を送信する。
【0020】
クライアント20は、サービスサーバ60からの認証要求に応答して、認証手段を動作させ、ローカルにおいてユーザの認証を実行する(ステップS23)。例えば、認証に利用する認証手段として指紋認証をユーザが選択した場合には、ユーザは、指紋データの入力箇所に指をかざすことにより、認証処理を実行させる。なお、ユーザの指紋データ(正解データ)は、予めユーザによってクライアント20内に登録されているか、もしくは、ステップS23の時点で登録が行われるものとする。
【0021】
クライアント20内の正解データと入力データとの照合により、クライアント20がユーザを正規のユーザと確認できた場合、クライアント20は、当該認証処理に対応する公開鍵と秘密鍵とを発行する(ステップS24)。そして、クライアント20は、発行された秘密鍵をクライアント20内部に記憶するとともに、当該秘密鍵を用いて先に受け取ったチャレンジに対する署名を生成する。そして、クライアント20は、生成した署名付きのチャレンジとともに、秘密鍵とペアになる公開鍵をサービスサーバ60に送信する(ステップS25)。サービスサーバ60は、クライアント20から公開鍵を受信し、クライアント20と対応付けて公開鍵を記憶する(ステップS26)。クライアント20内部の秘密鍵は、原則としてアクセスを受け付けない記憶領域に格納され、登録を受けた認証手段によるローカルでの認証が成功しない限り、アクセスが許可されないものとする。これにより、クライアント20について、サービスサーバ60への登録が完了する。
【0022】
続いて、クライアント20の登録が完了したのち、実際にユーザがサービスを利用しようとしてサービスサーバ60にアクセスする状況について、
図3に係るステップS31からステップS37に沿って説明する。
【0023】
クライアント20は、サービスサーバ60に、所定のアクセス制限付きサービスへのアクセスを要求する(ステップS31)。なお、かかる要求は、例えば、ネットワークを介してサービスを行うウェブサーバ等を経由して送信されてもよい。すなわち、ユーザは、サービスを利用する過程において、接続先のウェブサーバから本人認証を求められる場合がある。この場合、ユーザが本人認証を行う旨を表明すると、かかる情報は、クライアント20又は接続先のウェブサーバからサービスサーバ60に送信される。
【0024】
要求を受け付けたサービスサーバ60は、クライアント20に対してチャレンジ(ランダムな文字列)を発行し、ユーザの認証を要求する(ステップS32)。要求を受け付けたクライアント20のユーザは、登録時と同じく、ローカルな認証を実行する(ステップS33)。
【0025】
認証が成功した場合、すなわち、ローカルにおいて本人性が確認された場合、クライアント20は、自装置内部の記憶領域に記憶されている秘密鍵へのアクセスが可能となる。そして、クライアント20は、正規のユーザと認められたユーザしかアクセスすることのできない秘密鍵を用いて、チャレンジを含めた認証の結果に関する情報に対する署名(ハッシュ値)を生成する。言い換えれば、クライアント20は、秘密鍵による署名付き情報を生成する(ステップS34)。なお、以下では、秘密鍵を利用して生成された署名付き情報であってユーザの認証結果を示す情報を「認証結果情報」と表記する場合がある。
【0026】
続いて、クライアント20は、サービスサーバ60との間で規定される特定の通信方式(詳細は後述する)を用いて、生成した認証結果情報を送信する(ステップS35)。サービスサーバ60は、秘密鍵とペアとなる公開鍵を用いて、送信されたチャレンジを含む認証結果情報に付された署名を検証する(ステップS36)。すなわち、サービスサーバ60は、認証結果情報に改竄がないこと、言い換えれば、適切な秘密鍵によって認証結果情報が生成されたか否かを検証する。このように、サービスサーバ60は、認証器であるクライアント20が適切な秘密鍵を保有していることを検証する。検証が完了した場合、サービスサーバ60は、クライアント20を利用するユーザが正規のユーザであることを認証する。そして、サービスサーバ60は、自身がクライアント20を認証した旨をクライアント20に送信する(ステップS37)。認証がなされた旨の情報とは、例えば、認証クッキー等である。
【0027】
このように、上記認証方式によれば、クライアント20は、一般的な認証で用いられることの多い生体情報やパスワードやサービスIDなど、認証に用いるクレデンシャル情報そのものをネットワークに送信することがない。すなわち、クライアント20からサービスサーバ60に送信される情報(認証結果情報)は、ローカルでの認証結果を示した情報に過ぎず、第三者がクライアント20から送信された情報を傍受したとしても、第三者は傍受した情報を利用することができない。このため、実施形態に係る認証方式は、一般の認証方式と比較して安全性の高い方式といえる。また、サービスサーバ60が採用する認証方式によれば、ユーザは、パスワードを記憶することを要しないため、ユーザの負担を軽減させることができる。
【0028】
なお、上述したように、サービスサーバ60は、クライアント20から送信される認証結果情報の処理において、クライアント20との間で規定される特定の通信方式を用いてもよい。特定の通信方式とは、サービスサーバ60とクライアント20との間で規定される認証手順であり、通信に関するプロトコルと読み替えることもできる。例えば、サービスサーバ60は、UAF(Universal Authentication Framework)や、U2F(Universal Second Factor)といったプロトコルを用いる。これにより、サービスサーバ60とクライアント20との通信は、高い安全性が確保される。
【0029】
図3を用いて説明してきたように、サービスサーバ60とクライアント20(認証器)との間で、特定のプロトコルを用いた公開鍵暗号方式を基礎とした認証方式による通信が確立する場合、クライアント20は、パスワード等の認証情報そのものをネットワーク上に送信することなく、本人認証をサービスサーバ60に対して行うことができる。
【0030】
上記のように、
図3で示した方式では、登録処理の際にクライアント20内部で鍵のペアが発行され、発行した鍵がサービスサーバ60に送信される。すなわち、サービスを利用するユーザは、複数のデバイスでサービスを利用しようとする場合、デバイス(認証器)ごとに登録を行うことを要する。このため、例えば、企業の共有サーバがサービスサーバ60に対応し、クライアント20が当該企業に勤務する社員が利用するデバイスに対応する場合、企業のシステム管理者は全てのデバイスを個別に登録する必要があり、作業負担が大きい。また、クライアント20の各々が個別にサービスサーバ60に登録した場合、企業のシステム管理者は、例えば、クライアント20のサービスサーバ60へのアクセス許可期間を一括又は個別に設定したり、あるいは、アクセス権限を失効させたりといった管理を行うことが困難である。すなわち、上記の認証方式を採用する場合、複数端末の管理を行うことが難しいという問題がある。
【0031】
そこで、本願に係る認証器管理装置100は、下記に説明する処理により、一括に複数の認証器を管理することを可能にする。これにより、認証器管理装置100は、複数端末の登録や管理等の煩雑な手間を軽減させる。以下、
図1及び
図2の説明に戻り、認証器管理装置100による認証器管理処理の一例を流れに沿って説明する。
【0032】
(実施形態に係る秘密鍵の設定処理について)
図1に示すように、認証器管理装置100は、管理するユーザの情報を取得する(ステップS01)。例えば、認証器管理装置100は、企業のシステムを管理する管理者等から情報の入力を受け付けて、管理するユーザの情報を取得する。認証器管理装置100は、例えば、各ユーザの属性情報(性別や年齢、あるいは、企業における役職や、期限付き社員であるか否かといった情報等)や、各ユーザに配備する認証器の種類等の情報を取得する。認証器管理装置100は、取得したユーザに関する情報をユーザ情報記憶部121に格納する。
【0033】
そして、認証器管理装置100は、ユーザごとの鍵ペアを生成する(ステップS02)。
図1の例では、認証器管理装置100は、ユーザU01が利用するスマートフォン10aに対応する鍵として、秘密鍵KA01と公開鍵KB01のペアを生成する。また、認証器管理装置100は、ユーザU02が利用するタブレット10bに対応する鍵として、秘密鍵KA02と公開鍵KB02のペアを生成する。また、認証器管理装置100は、ユーザU03が利用する時計型端末10cに対応する鍵として、秘密鍵KA03と公開鍵KB03のペアを生成する。
【0034】
認証器管理装置100は、鍵ペアの生成処理に際して、生成する鍵を識別するための情報である鍵識別子と、鍵を配備するユーザを識別するための識別情報であるユーザIDを発行する。そして、認証器管理装置100は、生成した鍵ペアのうちの公開鍵と、鍵識別子と、ユーザIDとを対応付けて、鍵情報記憶部122に格納する(ステップS03)。なお、鍵識別子は、鍵そのものを識別するID(Key ID)と、認証器を識別するAAID(Authenticator Attestation ID)とを含んでいてもよい。
【0035】
続いて、認証器管理装置100は、生成した鍵ペアのうち、各ユーザに配備する秘密鍵を各ユーザに送信する(ステップS04)。例えば、認証器管理装置100は、ユーザU01に秘密鍵KA01を送信する。同様に、認証器管理装置100は、ユーザU02に秘密鍵KA02を送信し、ユーザU03に秘密鍵KA03を送信する。なお、認証器管理装置100は、各秘密鍵とともに、秘密鍵を各認証器で設定するための制御情報等を送信してもよい。制御情報は、例えば、秘密鍵を各認証器で利用できるようにするための所定のスクリプトや、専用のアプリケーション(プログラム)等であってもよい。また、制御情報は、これらのスクリプトやアプリケーションに付随し、所定のポリシー言語で記載された制御ポリシーであってもよい。
【0036】
秘密鍵KA01が配備されたユーザU01は、スマートフォン10aを操作し、秘密鍵KA01を利用するための設定を行う。具体的には、ユーザU01は、スマートフォン10aにおいて自身の本人性を認証する認証手段を設定する。かかる認証手段は、認証器管理装置100により指定されてもよいし、認証器管理装置100から指定のない場合は、ユーザU01が任意に選択してもよい。また、認証手段は、認証器の有する機能に応じて選択されてもよい。例えば、スマートフォン10aが指紋認証機能を有する場合、ユーザU01は、認証手段として「指紋」を選択してもよい。
【0037】
具体的には、ユーザU01は、スマートフォン10aの認証に係る機能を起動させ、自身の指紋データを登録する。この場合、ユーザU01は、次回以降に認証を求められた場合には、自身の指紋をスマートフォン10aの入力部(例えばタッチパネルを備えた画面等)にかざし、自身がユーザU01であることを認証させる。スマートフォン10aは、上記のような認証手段の登録が行われた場合に、秘密鍵KA01をスマートフォン10a内の安全な記憶領域に保持する。これにより、スマートフォン10aにおける秘密鍵KA01の設定が完了する。すなわち、スマートフォン10aは、次回以降にユーザU01をローカルで認証した場合、その認証結果に対して秘密鍵KA01を利用して署名することにより、認証結果情報を生成することが可能となる。スマートフォン10aは、秘密鍵KA01の設定が完了した旨を認証器管理装置100に送信する。ユーザU02やユーザU03も、同様に秘密鍵KA02や秘密鍵KA03の設定を行う。これにより、認証器管理装置100による秘密鍵の配備が完了する。
【0038】
なお、スマートフォン10aは、ステップS05では、必ずしもユーザU01から指紋等の登録を受け付けなくてもよい。例えば、スマートフォン10aは、ステップS05では秘密鍵KA01を受信し、受信した秘密鍵KA01を記憶領域に保持する。そして、スマートフォン10aは、後述する
図2のステップS11においてユーザU01に対する認証処理を行う場合に、はじめて指紋等を登録してもよい。
【0039】
(実施形態に係る認証器の登録処理について)
続いて、
図2を用いて、ユーザに対してサービス等を提供するサーバ(
図2に示す例では認証サーバ50)が、秘密鍵の配備されたユーザ端末10を認証器として登録する処理の流れを説明する。言い換えれば、
図2は、認証サーバ50に対して認証器(及び認証器管理装置100によって生成された鍵ペア)を有効化するための処理の流れを示す。
図2は、実施形態に係る認証器管理処理の一例を示す図(2)である。
【0040】
図2に示すように、ユーザU01は、スマートフォン10aに認証手段(指紋等)を登録する(ステップS11)。ステップS11の処理は、例えば、
図1に示したステップS05の処理と同様の手順で行われる。かかる登録を契機として、スマートフォン10aは、認証サーバ50に認証要求を送信する(ステップS12)。なお、認証手段が登録されたことを契機として認証要求を送信する処理は、例えば、秘密鍵KA01が送信される際に認証器管理装置100から送信された制御情報(スクリプト)等によってスマートフォン10aが制御されることで実行されてもよい。この場合、制御情報には、認証要求が送信される送信先となる対象(
図2の例では認証サーバ50)を特定する情報等も含まれる。
【0041】
認証要求を受信した認証サーバ50は、鍵情報の要求をスマートフォン10aに応答する(ステップS13)。鍵情報とは、スマートフォン10aに配備された鍵を特定する情報であり、具体的には、秘密鍵KA01に対応する鍵識別子である。ユーザU01は、要求に応答して、自身に配備された秘密鍵KA01に対応する鍵識別子を含む鍵情報を認証サーバ50に送信する(ステップS14)。
【0042】
鍵識別子を受信した認証サーバ50は、鍵識別子に基づいて、公開鍵の送信を認証器管理装置100に要求する(ステップS15)。認証器管理装置100は、鍵識別子に基づいて公開鍵を特定するとともに、鍵識別子と対応したユーザIDを特定する。そして、認証器管理装置100は、特定した公開鍵(
図2の例では公開鍵KB01)とユーザIDを認証サーバ50に送信するよう応答する(ステップS16)。
【0043】
認証サーバ50は、認証器(
図2の例ではスマートフォン10a)と、認証器管理装置100から受信した公開鍵KB01と、ユーザIDとを対応付けて、認証器情報記憶部521に格納する(ステップS17)。そして、認証サーバ50は、認証完了をスマートフォン10aに応答する(ステップS18)。
【0044】
認証完了とは、認証サーバ50に対する認証に用いられる有効な認証器として、スマートフォン10aが登録されたことを示す。言い換えれば、認証完了とは、秘密鍵KA01が配備されたスマートフォン10aが認証器として有効化されたことを意味する。
図2での図示は省略するが、ユーザU02やユーザU03もユーザU01と同様の処理を行い、タブレット10bや時計型端末10cを認証器として有効化させる。これにより、今後、スマートフォン10aやタブレット10bや時計型端末10cは、
図3で示したような、指紋データ等の認証情報そのものを送信せずに、認証サーバ50による本人認証を受けることができる認証処理が可能となる。
【0045】
図1及び
図2で説明したように、実施形態に係る認証器管理装置100は、ユーザの本人認証を行う認証器による認証結果に対して署名を付すための秘密鍵と、当該秘密鍵を用いて付された署名を検証するための公開鍵とのペアを生成する。また、認証器管理装置100は、生成した鍵のペアを識別する鍵識別子と、ユーザを識別するユーザIDとを対応付けて鍵情報記憶部122に登録する。続けて、認証器管理装置100は、生成した秘密鍵を、ユーザが利用する認証器に送信する。その後、認証器管理装置100は、署名を検証する認証サーバ50から、送信された秘密鍵が設定された認証器に関する公開鍵の送信要求を受け付けた場合に、鍵識別子とユーザIDとに基づいて、当該認証器に対応する公開鍵を認証サーバ50に送信するよう応答する。
【0046】
このように、実施形態に係る認証器管理装置100は、上記で示した公開鍵暗号方式を利用した認証方式における鍵のペアを、認証器に代わって生成する。そして、認証器管理装置100は、生成した鍵を各認証器に配備する。これにより、認証器管理装置100は、通常であれば認証器が個別に保持する鍵識別子やユーザIDをまとめて管理することができる。このため、認証器管理装置100は、例えば、配備した鍵の有効性を一括に管理したり、予め利用期間を制限した鍵を特定のユーザに配備したり、企業を退職したユーザの鍵を失効させたりといった、一括の管理が可能となる。例えば、認証器管理装置100は、管理処理を規定した管理ポリシー等を予め作成し、管理ポリシーに則った管理を行ってもよい。
【0047】
また、詳細は後述するが、認証器管理装置100は、鍵の生成処理を認証器ではなく自装置で行うことにより、例えば、鍵を生成する際の暗号アルゴリズムを任意に設定したり、認証に用いるソフトウェアの更新処理を一括で行ったりすることも可能となる。このように、実施形態に係る認証器管理装置100は、複数端末(認証器)に配備する鍵の生成を自装置で行い、生成した鍵に基づいて複数端末の管理を行うことで、管理を効率よく行うことができる。以下、実施形態に係る認証器管理装置100や、認証器管理装置100を含む認証器管理システム1について、詳細に説明する。
【0048】
〔2.認証器管理システムの構成〕
次に、
図4を用いて、実施形態に係る認証器管理装置100が含まれる認証器管理システム1の構成について説明する。
図4は、実施形態に係る認証器管理システム1の構成例を示す図である。
図4に例示するように、実施形態に係る認証器管理システム1には、ユーザ端末10と、認証サーバ50と、認証器管理装置100とが含まれる。ユーザ端末10には、例えば、スマートフォン10aや、タブレット10bや、時計型端末10c等が含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。
【0049】
ユーザ端末10は、例えば、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、スマートフォンを含む携帯電話機、PDA(Personal Digital Assistant)等の情報処理端末(デバイス)である。ユーザ端末10は、実施形態に係る認証器として機能する。なお、ユーザ端末10には、時計型端末や、眼鏡型端末などのウェアラブルデバイス(wearable device)が含まれてもよい。さらに、ユーザ端末10には、情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末10には、TV(Television)などのスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボットなどが含まれてもよい。
【0050】
認証サーバ50は、認証器から送信される認証結果情報に基づいて、ユーザの本人性を認証するサーバ装置である。例えば、認証サーバ50は、ユーザに各種サービスを提供するサービスサーバであったり、企業に設置される共有サーバ等であったり、もしくは、サービスサーバや共有サーバにアクセスするユーザを認証し、安全性を確保するためのフロントエンドサーバ等である。
【0051】
認証器管理装置100は、上述のように、認証器が実行する認証処理の結果に対して署名を付すための秘密鍵と、秘密鍵と対になる公開鍵とを生成し、生成した鍵を認証器に配備するサーバ装置である。また、認証器管理装置100は、ユーザIDや鍵識別子を用いて各認証器を特定することにより、認証器に配備した鍵の有効性を管理する。
【0052】
なお、認証器管理装置100は、認証サーバ50の機能を兼ねてもよい。すなわち、認証器管理装置100と認証サーバ50は、一体のサーバであってもよい。
【0053】
〔3.認証器管理装置の構成〕
次に、
図5を用いて、実施形態に係る認証器管理装置100の構成について説明する。
図5は、実施形態に係る認証器管理装置100の構成例を示す図である。
図5に示すように、認証器管理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、認証器管理装置100は、認証器管理装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0054】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10や認証サーバ50との間で情報の送受信を行う。
【0055】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、ユーザ情報記憶部121と、鍵情報記憶部122と、管理ポリシー記憶部123とを有する。
【0056】
(ユーザ情報記憶部121について)
ユーザ情報記憶部121は、認証器を利用するユーザに関する情報を記憶する。ここで、
図6に、実施形態に係るユーザ情報記憶部121の一例を示す。
図6は、実施形態に係るユーザ情報記憶部121の一例を示す図である。
図6に示した例では、ユーザ情報記憶部121は、「ユーザID」、「従業員ID」、「属性情報」、「認証器情報」といった項目を有する。また、認証器情報の項目は、「認証器」、「認証手段」、「認証ソフトウェア」といった小項目を有する。
【0057】
「ユーザID」は、ユーザを識別するための識別情報を示す。なお、実施形態において、ユーザID等の識別情報を参照符号として用いる場合がある。例えば、ユーザIDが「U01」であるユーザは、「ユーザU01」を示す。
【0058】
「従業員ID」は、ユーザが企業の従業員である場合に、従業員ごとに割り当てられる識別情報である。「属性情報」は、ユーザの属性情報を示す。
図6の例では、属性情報を「B01」といった概念で示しているが、実際には、属性情報の項目には、当該ユーザの企業における役職や、従業員として契約している期間や、性別や年齢等、ユーザの種々の具体的な属性情報が記憶される。
【0059】
「認証器情報」は、ユーザが利用する認証器に関する情報を示す。「認証器」は、ユーザが利用する認証器の名称や機種名を示す。なお、認証器の項目には、認証器を識別する識別情報が記憶されてもよい。「認証手段」は、認証器が有する、ユーザの本人認証を行うことができる認証の手段(機能)を示す。「認証ソフトウェア」は、認証器において認証処理に用いられるソフトウェアを示す。
図6の例では、認証ソフトウェアを「C01」といった概念で示しているが、実際には、認証ソフトウェアの項目には、認証ソフトウェアの名称やバージョン情報などの具体的な情報が記憶される。
【0060】
すなわち、
図6では、ユーザ情報記憶部121に記憶される情報の一例として、ユーザID「U01」で識別されるユーザU01は、従業員ID「A01」によって識別される従業員であり、その属性情報が「B01」であることを示している。また、ユーザU01が利用する認証器は「スマートフォン10a」であり、その認証手段は「指紋、虹彩、顔、・・・」等であり、認証ソフトウェアは「C01」であることを示している。
【0061】
(鍵情報記憶部122について)
鍵情報記憶部122は、認証器管理装置100が生成した鍵に関する情報を記憶する。ここで、
図7に、実施形態に係る鍵情報記憶部122の一例を示す。
図7は、実施形態に係る鍵情報記憶部122の一例を示す図である。
図7に示した例では、鍵情報記憶部122は、「鍵識別子」、「配備先ユーザID」、「配備先認証器」、「秘密鍵ID」、「公開鍵ID」、「公開鍵送信先」、「指定情報」といった項目を有する。また、指定情報の項目は、「有効期間」、「認証手段」、「暗号アルゴリズム」といった小項目を有する。
【0062】
「鍵識別子」は、生成した鍵ペアを特定するために利用される識別子である。「配備先ユーザID」は、鍵が配備されたユーザを識別する識別情報である。なお、配備先ユーザIDが示す情報は、
図6に示した「ユーザID」と共通する。「配備先認証器」は、鍵が配備された認証器を示す。
【0063】
「秘密鍵ID」は、秘密鍵を識別する識別情報を示す。「公開鍵ID」は、公開鍵を識別する識別情報を示す。「公開鍵送信先」は、認証器に配備された秘密鍵と対になる公開鍵を送付した送付先を示す。例えば、送付先は、認証結果情報を検証するサーバ装置等が該当する。
【0064】
「指定情報」は、秘密鍵もしくは公開鍵に設定される情報であり、認証器管理装置100の管理者等により指定される種々の情報を示す。「有効期間」は、秘密鍵及び公開鍵が有効な期間を示す。有効な期間とは、秘密鍵及び公開鍵を用いてユーザの認証を行うことができる期間である。なお、有効期間が指定されていない場合、「有効期間」の項目は空欄となる。
【0065】
「認証手段」は、指定された認証手段を示す。例えば、認証手段が指定された鍵が配備されたユーザは、指定された認証手段を用いて認証器を有効化することを要する。なお、認証手段が指定されていない場合、認証手段の項目は空欄となる。認証手段が指定されていない場合、ユーザは、任意の手段で認証器を有効化することができる。
【0066】
「暗号アルゴリズム」は、鍵が生成される際に利用される暗号アルゴリズムを示す。例えば、認証器管理装置100は、暗号アルゴリズムをユーザごとに異なったものを採用することで、共通した一つの暗号アルゴリズムで大多数の鍵が生成されるような事態を防止できるため、企業全体の安全性を向上させることができる。
【0067】
すなわち、
図7では、鍵情報記憶部122に記憶される情報の一例として、鍵識別子「KI01」で識別される鍵が配備されるユーザは、ユーザID「U01」で識別されるユーザU01であり、その認証器は「スマートフォン10a」であることを示している。また、ユーザU01に配備される秘密鍵は、秘密鍵ID「KA01」で識別される秘密鍵KA01であり、その対になる公開鍵は、公開鍵ID「KB01」で識別される公開鍵KB01であり、また、公開鍵KB01が送信された先は「認証サーバ50」であることを示している。また、鍵識別子「KI01」で識別される鍵に指定された情報として、有効期間の指定はなく、認証手段の指定は「指紋」であり、鍵生成の暗号アルゴリズムは「RSA暗号」であることを示している。
【0068】
(管理ポリシー記憶部123について)
管理ポリシー記憶部123は、ユーザ(認証器)を管理するポリシーを記憶する。ここで、
図8に、実施形態に係る管理ポリシー記憶部123の一例を示す。
図8は、実施形態に係る管理ポリシー記憶部123の一例を示す図である。
図8に示した例では、管理ポリシー記憶部123は、「管理ポリシーID」、「ポリシー内容」といった項目を有する。
【0069】
「管理ポリシーID」は、管理ポリシーを識別する識別情報を示す。「ポリシー内容」は、管理ポリシーの具体的な内容を示す。例えば、管理ポリシーは、企業の管理者等により設定される。認証器管理装置100は、管理ポリシーとして設定された内容に従い、秘密鍵もしくは公開鍵に対する制御を実行する。例えば、管理ポリシーとして、「夜10時以降朝5時までの認証処理を禁止する」といった内容が規定された場合、認証器管理装置100は、管理ポリシーに従い、該当時間に行われる認証処理を無効なものとして取り扱う。具体的には、認証器管理装置100は、鍵識別子に基づいて、秘密鍵が配備された認証器を特定し、かかる認証器で該当時間に行われる認証処理を無効化したり、認証サーバ50が公開鍵を用いて認証結果情報を検証する処理を無効化したりする。
【0070】
すなわち、
図8では、管理ポリシー記憶部123に記憶される情報の一例として、管理ポリシーID「P01」で識別される管理ポリシーP01には、「指定時間帯以外の認証不可」という管理の内容が設定されていることを示している。
【0071】
また、管理ポリシーP02には、「特定の部署のユーザには2段階認証を要求」という管理の内容が設定されていることを示している。これは、例えば、特定の部署のユーザが認証器を有効化する場合や、実際に認証を行う場合には、指紋とパスワードなど、2段階認証が要求されることを示している。この場合、認証器管理装置100は、例えば、管理ポリシーP02に記載された特定の部署のユーザに鍵を配備する際に、指定情報として認証手段に「2段階認証」という情報を書き込んだうえで、ユーザに鍵を配備する。
【0072】
また、管理ポリシーP03には、「ソフトウェアの順次更新」という管理の内容が設定されていることを示している。これは、鍵を配備したのちに認証ソフトウェアの更新が行われた場合には、認証器管理装置100が鍵識別子を用いて認証器を特定して認証ソフトウェアを順次更新する処理を行う、と規定されていることを示している。
【0073】
また、管理ポリシーP04には、「期限付き社員は期限後の認証不可」という管理の内容が設定されていることを示している。これは、例えばインターン等の期限付き社員が認証器を利用している場合、その期限が経過したのちは、認証器管理装置100によって認証処理(鍵)が無効化されることを示している。
【0074】
なお、上記で示した管理ポリシーは一例であり、認証器管理装置100は、例えば企業に管理者等から上記以外の種々の管理ポリシーの入力を受け付け、受け付けた内容に従って管理処理を実行するようにしてもよい。例えば、
図8で示した以外の管理ポリシーの例としては、複数の認証手段(指紋による認証手段や虹彩による認証手段など)を持つ認証器に対して「指紋による認証手段のみを指定する」等、管理者がユーザの認証手段を任意に指定すること等がある。
【0075】
(制御部130について)
制御部130は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、認証器管理装置100内部の記憶装置に記憶されている各種プログラム(実施形態に係る認証器管理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0076】
図5に示すように、制御部130は、取得部131と、生成部132と、登録部133と、送信部134と、要求受付部135と、応答部136と、管理部137とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図5に示した接続関係に限られず、他の接続関係であってもよい。
【0077】
(取得部131について)
取得部131は、各種情報を取得する。例えば、取得部131は、認証器管理装置100の管理者等の入力を介して、管理を行うユーザに関する情報を取得する。また、取得部131は、ユーザに関する情報として、ユーザが利用するユーザ端末10(認証器)に関する情報を取得する。また、取得部131は、管理に用いられる管理ポリシーを取得する。取得部131は、取得した情報を記憶部120に格納する。また、取得部131は、処理に応じて、各種情報を記憶部120から取得する。
【0078】
(生成部132について)
生成部132は、ユーザの本人認証を行う認証器による認証結果に対して署名を付すための秘密鍵と、当該秘密鍵を用いて付された署名を検証するための公開鍵とのペアを生成する。なお、生成部132は、生成した鍵ペアごとに鍵識別子を付与する。
【0079】
生成部132は、取得部131によって取得されたユーザに関する情報に基づいて、秘密鍵及び公開鍵のペアを生成する。例えば、生成部132は、生成した鍵ペアに対応付けて、鍵が配備されるユーザのユーザIDを付与する。また、生成部132は、生成部132は、ユーザの属性情報に基づいて、各ユーザの認証の有効期間の指定を行ってもよい。そして、生成部132は、かかる指定情報によって指定された期間のみ利用できる鍵のペアを生成する。
【0080】
また、生成部132は、ユーザに関する情報に基づいて選択される暗号アルゴリズムを用いて、秘密鍵及び公開鍵のペアを生成する。例えば、生成部132は、特定の部署に属する従業員に配備する鍵についてはRSA暗号のアルゴリズムを用いて生成し、別の部署に属する従業員に配備する鍵については楕円曲線暗号のアルゴリズムを用いて生成するなど、暗号アルゴリズムを変えながら生成を行ってもよい。
【0081】
また、生成部132は、取得部131によって取得されたユーザに関する情報に基づいて、認証器において秘密鍵が設定されるための認証手段が指定された秘密鍵を生成してもよい。具体的には、生成部132は、ユーザの属性情報に基づいて、ユーザが鍵を有効化するための認証手段等の指定を行う。そして、生成部132は、かかる指定情報によって指定された認証手段のみで有効化される鍵のペアを生成する。
【0082】
(登録部133について)
登録部133は、生成部132によって生成された鍵のペアを識別する鍵識別子と、ユーザを識別するユーザ識別情報であるユーザIDとを対応付けて登録する。具体的には、登録部133は、生成された鍵ペアと、鍵ペアの鍵識別子と、ユーザIDとをそれぞれ対応付けて、鍵情報記憶部122内に登録する。
【0083】
(送信部134について)
送信部134は、生成部132によって生成された秘密鍵を、ユーザが利用する認証器に送信する。具体的には、送信部134は、秘密鍵と対応付けられたユーザIDに基づいて、送信先となるユーザ(認証器)を特定する。そして、送信部134は、特定した送信先に対して、生成部132によって生成された秘密鍵を送信する。なお、送信部134は、秘密鍵とともに、送信された秘密鍵を認証器に設定させるよう制御する制御情報を送信してもよい。また、送信部134は、送信した秘密鍵が認証器によって設定された旨を示す設定完了の通知を認証器から受信してもよい。
【0084】
(要求受付部135について)
要求受付部135は、認証器から認証要求を受信した認証サーバ50から、鍵情報の要求を受け付ける。具体的には、要求受付部135は、認証サーバ50から、認証要求の送信元である認証器の認証結果情報を検証するための公開鍵を送信する旨の要求を受け付ける。このとき、要求受付部135は、鍵情報の要求とともに、認証サーバ50が受信した認証要求において提示された鍵識別子を受け付ける。
【0085】
(応答部136について)
応答部136は、要求受付部135によって受け付けられた鍵情報の要求に基づいて、公開鍵を認証サーバ50に送信するよう応答する。具体的には、応答部136は、要求受付部135によって受け付けられた鍵識別子に基づいて、認証サーバ50に認証要求を行っているユーザ及び認証器を特定する。また、応答部136は、鍵識別子に基づいて、認証サーバ50に認証要求を行っているユーザ及び認証器に対応する公開鍵を特定する。そして、応答部136は、特定した公開鍵及びユーザIDを認証サーバ50に送信する。
【0086】
(管理部137について)
管理部137は、鍵識別子とユーザIDとに基づいて、認証器に送信した秘密鍵、及び、認証サーバ50に送信した公開鍵の有効性を管理する。
【0087】
例えば、管理部137は、認証器に送信した複数の秘密鍵、及び、認証サーバ50に送信した複数の公開鍵の各々の有効性を一括又は個別に管理する。すなわち、管理部137によれば、鍵識別子に基づいて、配備した鍵の送信先を特定することができるので、かかる鍵の有効性を一括又は個別に管理することが可能となる。
【0088】
具体的には、管理部137は、秘密鍵及び公開鍵が生成される際に予め設定された所定期間に基づいて、認証器に送信した秘密鍵、及び、認証サーバ50に送信した公開鍵の有効性を管理する。上記のように、生成部132は、鍵の生成の際に、ユーザの属性情報等に基づいて鍵の有効期間を設定することが可能である。管理部137は、かかる有効期間を参照することにより、既に配備された鍵であって、有効期間の切れた秘密鍵や公開鍵を無効化するよう制御する。例えば、管理部137は、認証器が認証結果情報を生成したタイミングや、認証器から認証サーバ50に認証結果情報が送信されたタイミングや、認証サーバ50から認証器に認証トークンが送信されたタイミング等で、これらの送受信される情報の生成日時を参照する。そして、管理部137は、これらの情報の生成日時が有効期間外である場合、これらの認証に係る情報を無効なものとする制御情報を認証器又は認証サーバ50に送信する。
【0089】
なお、管理部137は、秘密鍵及び公開鍵が生成されたのちに指定された所定期間もしくは所定時間帯に基づいて、認証器に送信した秘密鍵、及び、認証サーバ50に送信した公開鍵の有効性を管理してもよい。すなわち、管理部137は、予め設定された有効期間に限らず、例えば、鍵の生成ののちに受け付けられた管理ポリシーに設定された期間や時間帯を参照して、鍵の有効性を管理してもよい。
【0090】
また、管理部137は、鍵識別子及びユーザIDに基づいて秘密鍵が設定された認証器を特定するとともに、当該認証器における認証処理に利用されるプログラムの更新処理を管理してもよい。具体的には、管理部137は、認証器の認証処理に利用される認証ソフトウェアの新規インストールやバージョン更新等を制御する。例えば、管理部137は、管理ポリシーに設定された順序(例えばセキュリティ管理の厳格な部署で扱う認証器については更新を優先させる等)に基づいて、プログラムの更新処理を行ってもよい。
【0091】
なお、上記の管理部137による処理は一例であり、管理部137は、種々の管理ポリシーに従い、認証器及び認証サーバ50に関する管理を定期的かつ継続的に行ってもよい。例えば、管理部137は、従業員が退職した場合には、当該従業員の利用していた認証器に係る秘密鍵を失効させるよう管理する。また、管理部137は、認証器が認証処理(登録処理)を行うことのできるサーバやサービスを制限したり、指定したりしてもよい。また、管理部137は、例えば企業が従来の認証手段に代えて2段階認証を導入する際には、新たな認証手段を用いてあらためて認証サーバ50への登録を行うよう、認証器を制御したり、認証器に通知を送信したりするなどの管理を行ってもよい。このように、管理部137が、複数の認証器に共通して適用される管理ポリシーに沿って管理を行うことにより、例えば企業のシステム管理者等は、個別の認証器ごとに鍵の有効性の設定を行う手間等を省くことができる。
【0092】
〔4.ユーザ端末の構成〕
次に、
図9を用いて、実施形態に係るユーザ端末10の構成について説明する。
図9は、実施形態に係るユーザ端末10の構成例を示す図である。
図9に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。
【0093】
(通信部11について)
通信部11は、例えば、NIC等によって実現される。かかる通信部11は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、認証サーバ50や認証器管理装置100等との間で情報の送受信を行う。
【0094】
(入力部12及び表示部13について)
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
【0095】
(検知部14について)
検知部14は、ユーザ端末10に関する各種情報を検知する。具体的には、検知部14は、ユーザ端末10に対するユーザの操作や、ユーザ端末10の所在する位置情報や、ユーザ端末10と接続されている機器に関する情報や、ユーザ端末10における環境等を検知する。
【0096】
例えば、検知部14は、入力部12に入力された情報に基づいて、ユーザの操作を検知する。すなわち、検知部14は、入力部12に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、検知部14は、ユーザによって所定のアプリが起動されたことを検知してもよい。かかるアプリがユーザ端末10内の撮像機能(例えば、カメラ)を動作させるアプリである場合、検知部14は、ユーザによって撮像機能が利用されていることを検知する。また、検知部14は、ユーザ端末10内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末10自体が動かされているといった操作を検知してもよい。
【0097】
また、検知部14は、ユーザ端末10の現在位置を検知する。具体的には、検知部14は、GPS(Global Positioning System)衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。また、検知部14は、種々の手法により位置情報を取得してもよい。例えば、ユーザ端末10が駅改札や商店等で使用される非接触型ICカードと同等の機能を備えている場合(もしくは、ユーザ端末10が非接触型ICカードの履歴を読み取る機能を備えている場合)、ユーザ端末10によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。検知部14は、かかる情報を検知し、位置情報として取得する。また、検知部14は、ユーザ端末10が特定のアクセスポイントと通信を行う際には、アクセスポイントから取得可能な位置情報を検知してもよい。また、位置情報は、ユーザ端末10が備える光学式センサや、赤外線センサや、磁気センサ等によって取得されてもよい。
【0098】
また、検知部14は、ユーザ端末10に接続される外部装置を検知する。例えば、検知部14は、外部装置との相互の通信パケットのやり取りや、外部装置が発する信号等に基づいて、外部装置を検知する。具体的には、検知部14は、外部装置が利用しているWifi(登録商標)やBluetooth(登録商標)等の電波を検知する。また、検知部14は、外部装置と通信が確立する場合に、外部装置との接続の種類を検知してもよい。例えば、検知部14は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、検知部14は、無線通信で用いられている通信方式等を検知してもよい。また、検知部14は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
【0099】
また、検知部14は、ユーザ端末10における環境を検知する。検知部14は、ユーザ端末10に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、検知部14は、ユーザ端末10の周囲の音を収集するマイクロフォンや、ユーザ端末10の周囲の照度を検知する照度センサや、ユーザ端末10の物理的な動きを検知する加速度センサ(又は、ジャイロセンサなど)や、ユーザ端末10の周囲の湿度を検知する湿度センサや、ユーザ端末10の所在位置における磁場を検知する地磁気センサ等を利用する。そして、検知部14は、各種センサを用いて、種々の情報を検知する。例えば、検知部14は、ユーザ端末10の周囲における騒音レベルや、ユーザ端末10の周囲がユーザの虹彩を撮像に適する照度であるか等を検知する。さらに、検知部14は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。
【0100】
また、ユーザ端末10は、検知部14によって検知された情報に基づいて、ユーザ端末10のコンテキスト(context)を示すコンテキスト情報を取得するようにしてもよい。上述のように、ユーザ端末10は、内蔵された各種センサ(検知部14)により、位置、加速度、温度、重力、回転(角速度)、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキスト情報として取得する。また、ユーザ端末10は、内蔵する通信機能を利用して、各種装置との接続状況(例えば、通信の確立に関する情報や、利用している通信規格)などを、コンテキスト情報として取得してもよい。
【0101】
(記憶部15について)
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部15には、鍵情報記憶部151が含まれる。
【0102】
(鍵情報記憶部151について)
鍵情報記憶部151は、認証器管理装置100によって生成され、認証器管理装置100から送信された秘密鍵に関する情報を記憶する。ここで、
図10に、実施形態に係る鍵情報記憶部151の一例を示す。
図10は、実施形態に係る鍵情報記憶部151の一例を示す図である。
図10に示すように、鍵情報記憶部151は、「秘密鍵ID」、「鍵識別子」、「有効化した認証手段」、「有効化したサーバ」といった項目を有する。
【0103】
「秘密鍵ID」及び「鍵識別子」は、
図7に示した同一の項目に対応する。「有効化した認証手段」は、秘密鍵を設定するためや、認証サーバ50に対する認証処理を有効化するために用いた、ユーザの本人性を認証するための手段を示す。「有効化したサーバ」は、ユーザ端末10が認証器として登録された(有効化された)サーバを特定する情報を示す。
【0104】
すなわち、
図10では、鍵情報記憶部151に記憶される情報の一例として、ユーザ端末10には、秘密鍵ID「KA01」、及び、鍵識別子「KI01」で識別される秘密鍵KA01が設定されており、かかる秘密鍵KA01を有効化した認証手段は「指紋」であり、ユーザ端末10が認証器として有効化されたサーバは「認証サーバ50」であることを示している。
【0105】
(制御部16について)
制御部16は、コントローラであり、例えば、CPUやMPU等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0106】
図9に示すように、制御部16は、受信部161と、鍵設定部162と、認証制御部163と、生成部164と、送信部165とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、
図9に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0107】
(受信部161について)
受信部161は、各種情報を受信する。例えば、受信部161は、認証器管理装置100から送信された秘密鍵を受信する。また、受信部161は、認証器管理装置100から送信される制御情報を受信してもよい。例えば、制御情報には、ユーザ端末10において秘密鍵の設定を制御するための命令(スクリプト)や、秘密鍵を設定したユーザ端末10に対する管理(例えば、秘密鍵の有効期間)を行うための命令等が含まれる。
【0108】
(鍵設定部162について)
鍵設定部162は、受信部161が受信した秘密鍵を設定する。具体的には、鍵設定部162は、受信した秘密鍵を、認証処理の結果に署名するための鍵として設定する処理を行う。
【0109】
例えば、鍵設定部162は、受信した受信した秘密鍵に認証器管理装置100から指定された情報が付与されている場合、指定された情報に従って秘密鍵を設定する。具体的には、鍵設定部162は、認証器管理装置100によって認証手段が指定されている場合、指定された認証手段によってユーザ本人を認証することによって、秘密鍵の設定を行う。
【0110】
鍵設定部162は、例えばユーザの認証が完了した場合、秘密鍵を所定の記憶領域である鍵情報記憶部151に格納する。かかる記憶領域は、例えば、ユーザの本人認証が完了した場合にのみアクセス可能となる記憶領域である。かかる記憶領域に秘密鍵を格納することで、鍵設定部162による秘密鍵の設定が完了する。鍵設定部162は、秘密鍵の設定が完了した場合、その旨を認証器管理装置100に送信する。
【0111】
また、鍵設定部162は、秘密鍵を設定した場合、秘密鍵において指定された登録先情報等に従い、認証要求を登録先(実施形態では認証サーバ50)に送信する。そして、鍵設定部162は、認証サーバ50からの要求に応答して、鍵識別子を認証サーバ50に送信する。その後、鍵設定部162は、秘密鍵に対応する公開鍵を認証サーバ50が認証器管理装置100から受信し、認証器としての設定が完了した場合に、その旨を受信する。鍵設定部162は、認証サーバ50に対する認証器としての有効化が完了した場合には、鍵情報と有効化したサーバとを対応付けて鍵情報記憶部151に格納する。
【0112】
(認証制御部163について)
認証制御部163は、ユーザの本人性を認証するための認証処理を制御する。例えば、認証制御部163は、指紋認証手段163a等の認証手段(機能)を有する。認証制御部163は、例えば、認証手段に対応する認証ソフトウェアを起動し、ユーザの認証を実行する。例えば、認証制御部163は、認証要求が発生した場合に、認証ソフトウェアを起動し、指紋等の生体情報の入力をユーザに求める。そして、認証制御部163は、ユーザから入力された生体情報と、予め登録されている正解データとの照合に基づいて、ユーザの本人性を認証する。
【0113】
(生成部164について)
生成部164は、認証制御部163によってユーザの認証処理が行われた場合に、その認証結果に秘密鍵を用いて署名をすることで、認証結果情報を生成する。
【0114】
(送信部165について)
送信部165は、各種情報を送信する。例えば、送信部165は、生成部164によって生成された認証結果情報を認証サーバ50に送信する。
【0115】
〔5.認証サーバの構成〕
次に、
図11を用いて、実施形態に係る認証サーバ50の構成について説明する。
図11は、実施形態に係る認証サーバ50の構成例を示す図である。
図11に示すように、認証サーバ50は、通信部51と、記憶部52と、制御部53とを有する。なお、認証サーバ50は、認証サーバ50を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0116】
(通信部51について)
通信部51は、例えば、NIC等によって実現される。通信部51は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10や認証器管理装置100との間で情報の送受信を行う。
【0117】
(記憶部52について)
記憶部52は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部52は、認証器情報記憶部521を有する。
【0118】
(認証器情報記憶部521について)
認証器情報記憶部521は、認証器に関する情報を記憶する。ここで、
図12に、実施形態に係る認証器情報記憶部521の一例を示す。
図12は、実施形態に係る認証器情報記憶部521の一例を示す図である。
図12に示した例では、認証器情報記憶部521は、「有効化した認証器」、「ユーザID」、「鍵識別子」、「公開鍵」といった項目を有する。
【0119】
「有効化した認証器」は、認証対象として登録した認証器の名称を示す。「ユーザID」は、有効化した認証器を利用するユーザの識別情報を示す。「鍵識別子」及び「公開鍵ID」は、
図7に示した同一の項目に対応する。
【0120】
すなわち、
図12では、認証器情報記憶部521に記憶される情報の一例として、有効化した認証器「スマートフォン10a」は、ユーザID「U01」で識別されるユーザU01が利用する認証器であり、その鍵識別子は「KI01」であることを示している。また、スマートフォン10aから送信された認証結果情報の署名を検証(復号)するために用いる公開鍵は、公開鍵ID「KB01」で識別される公開鍵KB01であることを示している。
【0121】
(制御部53について)
制御部53は、例えば、コントローラであり、CPUやMPU等によって、認証サーバ50内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部53は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0122】
図11に示すように、制御部53は、受信部531と、登録制御部532と、検証部533と、送信部534とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部53の内部構成は、
図11に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部53が有する各処理部の接続関係は、
図11に示した接続関係に限られず、他の接続関係であってもよい。
【0123】
(受信部531について)
受信部531は、ユーザ端末10から送信される認証要求を受信する。なお、受信部531は、ユーザ端末10が認証サーバ50に登録された認証器でない場合、ユーザ端末10が有する鍵の鍵識別子を送信させることをユーザ端末10に要求する。また、受信部531は、ユーザ端末10が認証サーバ50に登録された認証器である場合、送信された認証要求とともに送信された認証結果情報を検証部533に送る。
【0124】
(登録制御部532について)
登録制御部532は、認証器の登録を制御する。例えば、登録制御部532は、認証要求を送信したユーザ端末10が認証サーバ50に登録された認証器でない場合、ユーザ端末10が有する鍵の鍵識別子を取得する。そして、登録制御部532は、取得した鍵識別子を提示して、鍵の生成元である認証器管理装置100に公開鍵の送信を要求する。
【0125】
そして、登録制御部532は、認証器管理装置100から送信された公開鍵と、ユーザ端末10を利用するユーザのユーザIDと、鍵識別子とを対応付けて、認証器情報記憶部521に格納する。これにより、登録制御部532による認証器の登録処理が完了する。
【0126】
(検証部533について)
検証部533は、ユーザ端末10(認証器)から送信される認証結果情報を検証する。具体的には、検証部533は、認証結果情報に付与された署名に対応する公開鍵を用いて復号を行うことにより、かかる認証結果情報が真にユーザ端末10によって生成されたものであるか否かを検証する。検証部533は、検証結果を送信部534に送る。
【0127】
(送信部534について)
送信部534は、検証部533による検証結果をユーザ端末10に送信する。例えば、送信部534は、認証結果情報が真にユーザ端末10によって生成されたものであることが検証された場合、その旨をユーザ端末10に送信する。言い換えれば、送信部534は、認証サーバ50によるユーザの認証が成功した旨をユーザ端末10に送信する。また、送信部534は、認証結果情報が真にユーザ端末10によって生成されたものであることが検証されなかった場合、その旨をユーザ端末10に送信する。言い換えれば、送信部534は、認証サーバ50によるユーザの認証が失敗した旨をユーザ端末10に送信する。この場合、送信部534は、認証結果情報の再送をユーザ端末10に要求してもよい。
【0128】
〔6.処理手順〕
次に、
図13を用いて、実施形態に係る認証器管理システム1による処理の手順について説明する。
図13は、実施形態に係る処理手順を示すシーケンス図である。
【0129】
図13に示すように、認証器管理装置100は、管理するユーザに関する情報を取得する(ステップS101)。そして、認証器管理装置100は、ユーザに配備する鍵のペアを生成する(ステップS102)。続けて、認証器管理装置100は、生成した鍵のペアのうち、秘密鍵をユーザ端末10(認証器)に送信する(ステップS103)。
【0130】
秘密鍵を受信したユーザ端末10は、秘密鍵を利用できるように設定を行う(ステップS104)。秘密鍵の設定後、ユーザ端末10は、認証結果情報の検証を行う認証サーバ50に対して、認証要求を送信する(ステップS105)。
【0131】
認証サーバ50は、認証要求に含まれる鍵識別子を取得する(ステップS106)。なお、認証サーバ50は、最初の認証要求に鍵識別子が含まれない場合には、鍵識別子を送信させる要求をユーザ端末10に送信してもよい。認証サーバ50は、鍵識別子を提示して、鍵識別子に対応する公開鍵の送信を認証器管理装置100に要求する(ステップS107)。
【0132】
認証器管理装置100は、受信した鍵識別子に基づいて、送信する公開鍵と、当該鍵識別子に対応付けられたユーザIDを特定する(ステップS108)。そして、認証器管理装置100は、公開鍵とユーザIDを認証サーバ50に送信する(ステップS109)。
【0133】
認証サーバ50は、受信した公開鍵とユーザIDとユーザ端末10との各々を対応付けて登録する。かかる処理によって、認証サーバ50は、ユーザ端末10に送信された秘密鍵と、自装置が受信した公開鍵のペアが利用可能なよう鍵ペアを有効化する(ステップS110)。そして、認証サーバ50は、ユーザ端末10の認証が完了した旨を送信する(ステップS111)。
【0134】
〔7.変形例〕
上述した認証器管理システム1による処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、認証器管理システム1の他の実施形態について説明する。
【0135】
〔7−1.認証器管理装置の機能〕
上述した例では、ユーザ端末10が、認証器管理装置100から受信した秘密鍵を設定するとともに、認証結果情報の送信先である認証サーバ50に認証器として有効化を要求する例を示した。ここで、認証サーバ50の機能は、認証器管理装置100が有していてもよい。
【0136】
この点について、
図14を用いて説明する。
図14は、変形例に係る認証器管理装置100Aの構成例を示す図である。
図14に示すように、変形例に係る認証器管理装置100Aは、
図5に示した例と比較して、認証受付部138と、鍵情報登録部139と、認証器情報記憶部124とをさらに有する。
【0137】
認証受付部138は、
図11で示した認証サーバ50に係る受信部531と、検証部533と、送信部534に対応する処理を実行する。また、鍵情報登録部139は、
図11で示した認証サーバ50に係る登録制御部532に対応する処理を実行する。また、認証器情報記憶部124は、
図11で示した認証サーバ50に係る認証器情報記憶部521と同様の情報を記憶する。
【0138】
また、応答部136は、秘密鍵が設定された認証器から認証に関する要求を受け付けた場合に、鍵識別子とユーザIDとに基づいて、当該認証器に対応する公開鍵を有効化するよう応答する。ここで、公開鍵を有効化するとは、認証器において秘密鍵で署名された認証結果情報を、当該公開鍵を用いて検証することが可能になったことを示す。言い換えれば、公開鍵を有効化するとは、認証要求のあった認証器を、認証器管理装置100Aが有効な認証器として登録完了したことを意味する。
【0139】
このように、変形例に係る認証器管理装置100Aは、認証サーバ50が実行する認証器登録処理や、認証結果情報の検証処理や、ユーザ端末10との各種情報の送受信処理等を実行する。これにより、変形例に係る認証器管理装置100Aは、認証サーバ50が存在せずとも、実施形態に係る認証器の登録処理(有効化処理)等を実行することができる。
【0140】
〔7−2.処理のバリエーション〕
上記実施形態の各処理において、ユーザ端末10、認証サーバ50又は認証器管理装置100が行う各処理には、種々のバリエーションが存在してもよい。
【0141】
例えば、上記実施形態では、認証器管理装置100が鍵ペアを生成する処理を説明した。しかし、認証器管理装置100は、鍵識別子に基づいて、鍵ペアの有効性やユーザ端末10の権限管理等を行うことができれば、必ずしも自装置で鍵ペアを生成する処理を実行することを要しない。この点について、
図15及び
図16を用いて説明する。
【0142】
図15は、変形例に係る認証器管理処理の一例を説明する図である。
図15に示す認証器管理装置100Bは、実施形態に係る認証器管理装置100と比較して、自装置で鍵ペアを生成する処理を行わないものとする。
【0143】
図15に示す例では、認証器管理装置100Bは、管理するユーザの情報を取得し(ステップS51)、かかる情報に基づいて、鍵ペアを生成させる端末を特定する(ステップS52)。鍵ペアを生成させる端末とは、例えば、認証器としての機能を有するユーザ端末10であり、かつ、鍵ペアを生成する機能を有するユーザ端末10である。
図15に示した例では、認証器管理装置100Bは、変形例に係るユーザ端末10dを、鍵を生成させる端末として特定するものとする。
【0144】
この場合、認証器管理装置100Bは、鍵生成を制御する制御情報をユーザ端末10dに送信する(ステップS53)。かかる制御情報は、例えば、認証器管理装置100Bが指定した情報に従い、例えば、有効期間が設定された鍵や、その鍵を有効化するための認証手段が設定された鍵等をユーザ端末10dに生成させる命令(スクリプト等)である。また、認証器管理装置100Bは、かかる制御情報に鍵識別子を含ませてもよい。認証器管理装置100Bは、かかる鍵識別子を自身で発行することにより、実施形態と同様の管理処理を行うことができる。なお、認証器管理装置100Bは、
図7に示したような管理ポリシーをユーザ端末10dに送信し、ユーザ端末10dによる鍵生成処理を制御してもよい。これにより、認証器管理装置100Bは、企業の管理者等によって設定された管理ポリシーに従った手法で鍵を生成させることができる。
【0145】
ユーザ端末10dは、認証器管理装置100Bから送信された制御情報に従い、鍵ペアを生成する(ステップS54)。例えば、ユーザ端末10dは、秘密鍵KA11と公開鍵KB11のペアを生成する。このとき、ユーザ端末10dは、生成した鍵ペアに、認証器管理装置100Bによって発行された鍵識別子を対応付ける。そして、ユーザ端末10dは、生成した鍵ペアのうち、秘密鍵KA11を利用できるよう設定する(ステップS55)。かかる処理は、
図1に示したステップS05と同様である。ユーザ端末10dは、鍵情報記憶部151に秘密鍵KA11を格納する。
【0146】
その後、ユーザ端末10dは、認証サーバ50に認証要求を行う(ステップS56)。かかる処理は、
図2に示したステップS12と同様である。かかる要求では、認証サーバ50は、ユーザ端末10dに対して公開鍵KB11を要求する。そして、ユーザ端末10dは、要求に応答して公開鍵KB11を認証サーバ50に送信する。この後の認証処理等については、実施形態と同様に行われる。なお、ユーザ端末10dは、鍵ペアを生成した場合に、公開鍵KB11を認証器管理装置100Bに送信してもよい。この場合、認証サーバ50は、実施形態と同じく、公開鍵KB11の送信要求を認証器管理装置100Bに送信する。
【0147】
このように、鍵ペアの生成自体は、認証器管理装置100Bによらず、ユーザ端末10等によって実行されてもよい。かかる構成においても、認証器管理装置100Bは、ユーザ端末10dに送信する鍵識別子を用いて、各認証器に配備した鍵を特定することができるため、実施形態で説明したような管理処理を行うことができる。
【0148】
なお、認証器管理装置100Bは、必ずしも鍵識別子を自装置で発行しなくてもよい。例えば、認証器管理装置100Bは、ユーザ端末10dで鍵ペアが生成された際にユーザ端末10dが発行した鍵識別子を取得し、取得した鍵識別子に基づいて管理処理を行ってもよい。
【0149】
次に、
図16を用いて、上記変形例に係るユーザ端末10dの構成について説明する。
図16は、変形例に係るユーザ端末10dの構成例を示す図である。
図16に示すように、変形例に係るユーザ端末10dは、
図9の例と比較して、鍵生成部166をさらに有する。
【0150】
鍵生成部166は、
図5に係る生成部132及び登録部133と同様の処理を実行する。具体的には、鍵生成部166は、認証器管理装置100Bに係る送信部134から送信された制御情報に従い、ユーザの本人認証を行った認証結果に対して署名を付すための秘密鍵と、当該秘密鍵を用いて付された署名を検証するための公開鍵とのペアを生成する。さらに、鍵生成部166は、生成した鍵のペアを識別する鍵識別子と、ユーザを識別するユーザIDとを対応付けて鍵情報記憶部151に登録する。例えば、鍵生成部166は、認証器管理装置100Bによって予め設定された指定情報に基づいて、指定された有効期間等が設定された鍵ペアを生成してもよい。
【0151】
なお、変形例に係るユーザ端末10dは、認証器管理装置100に係る管理部137に対応する管理部を有していてもよい。すなわち、ユーザ端末10dは、自装置が有する秘密鍵や認証サーバ50に送信した公開鍵の管理を自装置で制御してもよい。
【0152】
〔7−3.ユーザ端末の構成〕
上記実施形態及び変形例では、
図9や
図16を用いてユーザ端末10の構成例を示したが、ユーザ端末10は、
図9や
図16で示した構成を必ずしも全て有していなくてもよい。ユーザ端末10には、上述のように、スマートフォン10aやタブレット10bのようなスマートデバイスのみならず、通信機能を有する時計型端末10cや眼鏡型端末、あるいは、ユーザの指紋を照合する指紋照合専用機器など、種々のデバイスが含まれる。この場合、ユーザ端末10は、必ずしもユーザから入力を受け付けるのではなく、通信を介して情報を取得し、かかる情報を通信ネットワークに送信するなどの機能を持ちうる。すなわち、ユーザ端末10は、いわゆるIoT(Internet of Things)を実現するような、所定の通信機能を有するデバイスであれば、必ずしも
図9や
図16で示した構成を有していなくてもよい。
【0153】
〔7−4.鍵の発行(生成)〕
上記実施形態及び変形例では、一人のユーザに一つの鍵ペアが配備される例を示したが、認証器管理装置100は、一人のユーザに複数の鍵を配備してもよい。この場合、認証器管理装置100は、ユーザIDに基づいてユーザを管理するとともに、鍵ペアごとに付与される鍵識別子に基づいて、複数の鍵ペアを管理する。例えば、認証器管理装置100は、認証手段ごとに異なる鍵を配備したり、認証先の対象(認証サーバ50に相当するサーバ等)ごとに異なる鍵を配備したりしてもよい。
【0154】
〔7−5.適用事例〕
上記実施形態及び変形例では、例えば認証器管理装置100が企業の従業員に配備する鍵を生成する事例を説明したが、上記実施形態及び変形例に係る認証器管理処理は、この事例に限られない。
【0155】
例えば、認証器管理装置100は、親が子どもに対して買い与えるユーザ端末10の管理に利用されてもよい。上述のように、認証器管理装置100は、鍵が有効な時間帯(言い換えれば、サービスを利用することができる時間帯)等を指定することができるため、例えば、ペアレンタルコントロール(parental control)を適切に行わせることができる。
【0156】
〔7−6.管理ポリシー〕
認証器管理装置100は、上記で説明した管理ポリシーを様々に組み合わせられたメタポリシーに基づいて管理を行ってもよい。例えば、認証器管理装置100によれば、メタポリシーを利用した管理を行うことで、複数の認証器に対するライフサイクル管理を一括して自動的に行うことができる。
【0157】
具体的には、認証器管理装置100は、「「ある従業員の退職手続きが開始」された場合に、自動的に「その従業員IDに紐づく認証器(鍵)を失効させる」」というメタポリシーを受け付ける。これにより、認証器管理装置100は、従業員の退職手続きが開始されたという情報の入力を受け付けたことを契機として、自動的に当該従業員が利用していた認証器を失効させることができる。あるいは、認証器管理装置100は、例えば、「XX月YY日ZZ時に、特定の研究所に属する従業員に紐づく認証器(鍵)を一時停止させる」というメタポリシーを受け付ける。これにより、認証器管理装置100は、企業のシステム管理者等の想定している管理手法に従って、認証器全体を制御することができる。
【0158】
〔7−7.制御情報〕
認証器管理装置100のユーザ端末10に対する制御や管理は、様々な任意の手法により行われてもよい。例えば、ユーザは、認証処理を制御するためのアプリ(認証ソフトウェア)をユーザ端末10にインストールする。そして、認証器管理装置100は、かかるアプリに制御情報を送信することにより、ユーザ端末10の認証処理を制御したり、鍵の有効性を管理したりしてもよい。制御情報は、実施形態に係る認証器管理プログラムに対応するものであり、例えば、CSS(Cascading Style Sheets)、JavaScript(登録商標)、HTML、あるいは、上述した認証器管理処理を記述可能な任意の言語あるいは任意のプログラムによって実現される。
【0159】
〔8.ハードウェア構成〕
上述してきた実施形態に係る認証器管理装置100やユーザ端末10や認証サーバ50は、例えば
図17に示すような構成のコンピュータ1000によって実現される。以下、認証器管理装置100を例に挙げて説明する。
図17は、認証器管理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0160】
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
【0161】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(
図4に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
【0162】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0163】
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0164】
例えば、コンピュータ1000が実施形態に係る認証器管理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0165】
〔9.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0166】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図5に示した生成部132と、登録部133とは統合されてもよい。また、例えば、記憶部120に記憶される情報は、ネットワークNを介して、外部に備えられた記憶装置に記憶されてもよい。
【0167】
また、例えば、上記実施形態では、認証器管理装置100が、鍵ペアを生成する生成処理と、生成した秘密鍵を送信する送信処理とを行う例を示した。しかし、上述した認証器管理装置100は、生成処理を行う生成装置と、送信処理を行う送信装置とに分離されてもよい。すなわち、認証器管理装置100は、ユーザ端末10等との情報の送受信等を行うフロントエンドサーバと、受信した情報等に基づいて処理を行うバックエンドサーバとに分離されてもよい。この場合、実施形態に係る認証器管理装置100による処理は、フロントエンドサーバの機能を実現する装置と、バックエンドサーバの機能を実現する装置とを有する認証器管理システム1によって実現される。
【0168】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0169】
〔10.効果〕
上述してきたように、実施形態に係る認証器管理装置100は、生成部132と、登録部133と、送信部134と、応答部136とを有する。生成部132は、ユーザの本人認証を行う認証器による認証結果に対して署名を付すための第1の鍵(実施形態では秘密鍵)と、当該第1の鍵を用いて付された署名を検証するための第2の鍵(実施形態では公開鍵)とのペアを生成する。登録部133は、生成部132によって生成された鍵のペアを識別する鍵識別子と、ユーザを識別するユーザ識別情報とを対応付けて登録する。送信部134は、生成部132によって生成された第1の鍵を、ユーザが利用する認証器に送信する。応答部136は、署名を検証する認証サーバ50から、送信部134によって送信された第1の鍵が設定された認証器に関する第2の鍵の送信要求を受け付けた場合に、鍵識別子とユーザ識別情報とに基づいて、当該認証器に対応する第2の鍵を認証サーバ50に送信するよう応答する。
【0170】
このように、実施形態に係る認証器管理装置100は、二つの鍵を利用して認証を行う認証方式(例えば公開鍵暗号方式)における鍵のペアを、認証器に代わって生成する。そして、認証器管理装置100は、生成した第1の鍵を認証器に送信するとともに、認証サーバ50から要求があった場合にはペアとなる第2の鍵を認証サーバに送信する。すなわち、認証器管理装置100は、認証器と認証サーバ50とを仲介する役割を果たすことによって、通常では認証サーバ50から個別に管理される認証器を、一括に制御及び管理することが可能となる。このように、認証器管理装置100によれば、複数端末に対する管理を効率よく行うことができる。
【0171】
また、実施形態に係る認証器管理装置100は、鍵識別子とユーザ識別情報とに基づいて、認証器に送信した第1の鍵、及び、認証サーバ50に送信した第2の鍵の有効性を管理する管理部137をさらに備える。
【0172】
このように、実施形態に係る認証器管理装置100は、自装置で鍵を生成することにより、生成した鍵の有効性を管理することができる。これにより、認証器管理装置100は、複数端末の管理を効率よく行うことができる。
【0173】
また、管理部137は、認証器に送信した複数の第1の鍵、及び、認証サーバ50に送信した複数の第2の鍵の各々の有効性を一括又は個別に管理する。
【0174】
このように、実施形態に係る認証器管理装置100は、ユーザIDや鍵識別子に基づいて鍵を管理することで、各々の有効性を一括又は個別に管理することができる。これにより、認証器管理装置100は、個々の状況に応じた柔軟な管理を行うことができる。
【0175】
また、管理部137は、第1の鍵及び第2の鍵が生成される際に予め設定された所定期間に基づいて、認証器に送信した第1の鍵、及び、認証サーバ50に送信した第2の鍵の有効性を管理する。
【0176】
このように、実施形態に係る認証器管理装置100は、鍵に設定した期間に応じた管理を行う。これにより、認証器管理装置100は、例えば、期限付きの社員に認証器を配備したり、認証を制限する期間を設けた認証器を配備したりといった、種々の状況に応じた適切な管理を行うことができる。
【0177】
また、管理部137は、第1の鍵及び第2の鍵が生成されたのちに指定された所定期間もしくは所定時間帯に基づいて、認証器に送信した第1の鍵、及び、認証サーバ50に送信した第2の鍵の有効性を管理する。
【0178】
このように、実施形態に係る認証器管理装置100は、管理者等の指定によって、既に配備した鍵の有効性を管理してもよい。例えば、認証器管理装置100は、企業ごとに任意に設定可能な管理ポリシーに従い、鍵の有効性を管理する。これにより、認証器管理装置100は、鍵の生成や失効など、鍵のライフサイクルを管理者が想定するとおりに管理することができる。
【0179】
また、管理部137は、鍵識別子及びユーザ識別情報に基づいて第1の鍵が設定された認証器を特定するとともに、当該認証器における認証処理に利用されるプログラムの更新処理を管理する。
【0180】
このように、実施形態に係る認証器管理装置100は、認証ソフトウェア等の更新を管理してもよい。認証サーバ50と認証器とが一対一で認証関係を有する場合、例えば、企業が利用する認証ソフトウェアが更新された場合、全ての従業員の各々がソフトウェアを更新する処理を行わなければならず、ソフトウェアの統一が図れない場合がある。一方、実施形態に係る認証器管理装置100によれば、自装置が生成した鍵に基づいて認証器の制御を行うことで、一律にソフトウェアの更新を行うことができる。このように、認証器管理装置100によれば、複数端末の管理負担を軽減させることができる。
【0181】
また、実施形態に係る認証器管理装置100は、ユーザに関する情報を取得する取得部131をさらに備える。生成部132は、取得部131によって取得されたユーザに関する情報に基づいて、第1の鍵及び第2の鍵のペアを生成する。
【0182】
このように、実施形態に係る認証器管理装置100は、ユーザ情報に基づいて鍵を生成することで、当該ユーザの属性情報等に応じた管理を行うことのできる鍵を生成することができる。
【0183】
また、生成部132は、ユーザに関する情報に基づいて選択される暗号アルゴリズムを用いて、第1の鍵及び第2の鍵のペアを生成する。
【0184】
このように、実施形態に係る認証器管理装置100は、ユーザに応じて異なる暗号アルゴリズムを用いて鍵を生成することができる。これにより、認証器管理装置100は、所属する部署に応じて暗号アルゴリズムを強化したり、あるいは簡易な暗号アルゴリズムを採用したりといった、柔軟な鍵の生成を行うことができる。
【0185】
また、生成部132は、ユーザに関する情報に基づいて、認証器において第1の鍵が設定されるための認証手段が指定された第1の鍵を生成する。
【0186】
このように、実施形態に係る認証器管理装置100は、認証手段を指定した鍵を生成することができる。これにより、認証器管理装置100は、例えば安全性の高い認証手段(ユーザの生体情報等を利用した認証手段)を指定することで、複数端末全体における認証の安全性を担保することができる。
【0187】
なお、認証器管理装置100は、上記と異なる構成であってもよい。例えば、変形例に係る認証器管理装置100Aは、生成部132と、登録部133と、送信部134と、応答部136を有する。生成部132は、ユーザの本人認証を行う認証器による認証結果に対して署名を付すための第1の鍵と、当該第1の鍵を用いて付された署名を検証するための第2の鍵とのペアを生成する。登録部133は、生成部132によって生成された鍵のペアを識別する鍵識別子と、ユーザを識別するユーザ識別情報とを対応付けて登録する。送信部134は、生成部132によって生成された第1の鍵を、ユーザが利用する認証器に送信する。応答部136は、送信部134によって送信された第1の鍵が設定された認証器から認証に関する要求を受け付けた場合に、鍵識別子とユーザ識別情報とに基づいて、当該認証器に対応する第2の鍵を有効化するよう応答する。
【0188】
このように、変形例に係る認証器管理装置100Aは、自装置が認証サーバ50の役割を担ってもよい。かかる構成により、認証器管理装置100Aは、自装置が鍵を生成しつつ、また、その鍵を有効化する処理も行うことができるため、より簡易なシステムで認証器管理処理を行うことができる。
【0189】
また、認証器管理装置100は、上記と異なる構成であってもよい。例えば、変形例に係る認証器管理装置100Bは、送信部134を有する。送信部134は、ユーザの本人認証を行う認証器に対して制御情報を送信する。また、制御情報は、認証器に、生成手順と、登録手順と、送信手順とを実行させる。生成手順は、ユーザの本人認証を行った認証結果に対して署名を付すための第1の鍵と、当該第1の鍵を用いて付された署名を検証するための第2の鍵とのペアを生成する。登録手順は、生成手順によって生成された鍵のペアを識別する鍵識別子と、ユーザを識別するユーザ識別情報とを対応付けて登録する。送信手順は、生成手順によって生成された第2の鍵を、署名を検証する認証サーバ50に送信するとともに、鍵識別子とユーザ識別情報とを認証器管理装置100Bに送信する。なお、生成手順及び登録手順は、
図16に示した鍵生成部166が実行する処理に対応する。また、送信手順は、
図16に示した送信部165が実行する処理に対応する。
【0190】
このように、変形例に係る認証器管理装置100Bは、認証器を制御することにより、認証器自体に鍵を生成させてもよい。すなわち、認証器管理装置100Bは、自装置で鍵を生成せずとも、鍵生成の指令を認証器に対して行うことで、実施形態に係る認証器管理処理を行うことができる。これにより、認証器管理装置100Bは、自装置の処理負担を抑えつつ、複数端末の効率的な管理を実現することができる。
【0191】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0192】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、受信部は、受信手段や受信回路に読み替えることができる。