(58)【調査した分野】(Int.Cl.,DB名)
前記事前認証部は、前記認証クライアントと正当に通信した際に生成した秘密鍵および公開鍵を用いてチャレンジ・レスポンス認証を行う動的認証部を含むことを特徴とする請求項1に記載の認証システム。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0015】
[第1の実施形態]
[認証システムの構成]
まず、
図1を参照して、第1の実施形態の認証システムの構成について説明する。
図1に示すように、認証システム1は、認証サーバ100と認証クライアント200と認証鍵管理装置300とが、互いにインターネット等の通信ネットワークを介して通信可能に接続されている。
【0016】
認証サーバ100は、EC(Electronic Commerce)サイトを運営するサービス事業者が運用するWebサーバ等のサーバ装置であって、サービスを利用するユーザの登録と認証とを行う。
【0017】
認証クライアント200は、認証サーバ100に対してサービスの利用の登録や認証を要求するユーザが使用する端末装置であって、後述の認証鍵管理装置300の各機能と連携し、認証サーバ100との間のチャレンジ・レスポンス認証に応答する。本実施形態では、ユーザの端末装置のWebブラウザ上で実現される。
【0018】
認証鍵管理装置300は、サービスの利用登録を行った登録ユーザに対して認証サーバ100と認証クライアント200との間で行われる認証に用いられる秘密鍵を管理する装置である。認証鍵管理装置300は、認証クライアント200に代わり、認証サーバ100との間のチャレンジ・レスポンス認証の秘密鍵とこの秘密鍵を用いたレスポンスとを生成する。この認証鍵管理装置300は、例えば、携帯電話事業者が運用しデータセンタ等に設置される。
【0019】
なお、
図1には、認証サーバ100、認証クライアント200がそれぞれ1台ずつ配置されている認証システム1が例示されているが、認証システム1の構成はこれに限定されない。例えば、
図2に示すように、認証サーバ100、認証クライアント200がそれぞれ複数ずつ配置され、任意の組み合わせで認証システム1を構築してもよい。例えば1つの認証クライアント200が、利用するWebサービスに応じて複数の認証鍵管理装置300を使い分けてもよい。また1つのWebサービスについて複数の認証サーバ100が存在する形態も認められる。
【0020】
[認証サーバの構成]
認証サーバ100は、装置内部のCPU(Central Processing Unit)等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、公開鍵受信部111と、ユーザ認証部113として機能する。また、認証サーバ100は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される公開鍵管理部112を備える。
【0021】
公開鍵管理部112は、サービスの利用登録が行われた登録ユーザと公開鍵とを対応付けした情報を記憶する。具体的に、公開鍵管理部112は、後述する手順で登録ユーザに対して生成された公開鍵と発行されたサービスIDとを対応づけて記憶する。
【0022】
公開鍵受信部111は、ユーザのサービスの利用登録の要求があった場合に、チャレンジ・レスポンス認証に用いられる公開鍵の生成を要求し取得する。具体的に、公開鍵受信部111は、認証クライアント200からユーザのサービスの利用登録を要求された際、認証クライアント200を介して認証鍵管理装置300に公開鍵の生成を要求し、生成された公開鍵を受信する。その際、公開鍵受信部111は、ECサイト内で登録ユーザを識別するためのサービスIDを発行し、受信した公開鍵と対応付けして公開鍵管理部112に格納する。
【0023】
ユーザ認証部113は、登録ユーザの利用開始の要求があった場合に、チャレンジ・レスポンス認証におけるチャレンジを生成しこのチャレンジに応答して返送されたレスポンスを検証して登録ユーザを認証する。具体的に、ユーザ認証部113は、認証クライアント200からユーザのサービスへのログインを要求された際、チャレンジを生成し、認証クライアント200を介して認証鍵管理装置300へ送信する。また、ユーザ認証部113は、公開鍵管理部112からこの登録ユーザのサービスIDをキー情報にして公開鍵を読み出して、取り出した公開鍵を用いて認証鍵管理装置300から返送されたレスポンスを復号化する。そして、ユーザ認証部113は、レスポンスを復号化したものと先に生成したチャレンジとを照合し、一致した場合にこの登録ユーザとして認証する。
【0024】
[認証クライアントの構成]
認証クライアント200は、装置内部のCPU等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、公開鍵登録制御部211、認証応答制御部213、事前認証応答部221、個別認証応答部222、動的個別認証応答部223として機能する。
【0025】
事前認証応答部221は、ユーザがサービスの利用を要求した場合に、ユーザを認証する事前認証の要求を認証鍵管理装置300に送信し、該認証鍵管理装置による該事前認証に応答する。具体的に、事前認証応答部221は、予めユーザに対して発行されている事前認証IDを伴って認証鍵管理装置300に後述する事前認証を要求し、認証鍵管理装置300が実行する事前認証に応答する。また、事前認証応答部221は、事前認証の結果、認証鍵管理装置300が事前認証IDに対応するユーザを認証してセッションIDを発行した場合、このセッションIDを受信して、適当なメモリ領域に記憶する。
【0026】
公開鍵登録制御部211は、事前認証により認証されたユーザの利用登録の要求を認証サーバ100に送信する。具体的に、公開鍵登録制御部211は、認証鍵管理装置300の事前認証により認証されセッションIDを受信したユーザによるサービスの利用登録を認証サーバ100に要求する。また、公開鍵登録制御部211は、認証サーバ100から発行されたサービスIDを受信して、適当なメモリ領域に記憶する。
【0027】
さらに、公開鍵登録制御部211は、認証サーバ100と認証鍵管理装置300との間の通信を中継する。具体的に、公開鍵登録制御部211は、認証サーバ100からこの認証サーバ100の識別情報である認証サーバIDを伴った公開鍵の要求を受信すると、認証サーバIDおよびセッションIDを伴った公開鍵生成要求を認証鍵管理装置300に送信する。また、認証鍵管理装置300から生成された公開鍵を認証サーバIDを伴って受信すると、認証サーバ100に公開鍵を送信する。
【0028】
認証応答制御部213は、認証サーバ100にサービスの利用登録が行われた登録ユーザの利用開始の要求を認証サーバ100に送信する。具体的に、認証応答制御部213は、認証サーバ100にサービスの利用登録が行われサービスIDが発行された登録ユーザによるサービスへのログインを認証サーバ100に要求する。
【0029】
さらに、認証応答制御部213は、認証サーバ100と認証鍵管理装置300との間の通信を中継する。具体的に、認証応答制御部213は、認証サーバ100からチャレンジを受信すると、認証サーバID、セッションIDおよびチャレンジを伴ったレスポンスの要求を認証鍵管理装置300に送信する。また、認証応答制御部213は、認証鍵管理装置300からレスポンスを受信すると、認証サーバ100にレスポンスを送信する。
【0030】
なお、個別認証応答部222は、認証鍵管理装置300が実行する事前認証のうち、事前認証IDを認証する個別認証に応答する。また、動的個別認証応答部223は、事前認証において個別認証の他に、オンラインで発行された認証鍵による鍵認証等の動的認証が行われる場合に、動的認証に応答する。詳細については後述する。
【0031】
[認証鍵管理装置の構成]
認証鍵管理装置300は、装置内部のCPU等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、事前認証部330、認証応答部310として機能する。また、認証鍵管理装置300は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される事前認証管理部323、セッション管理部321、および秘密鍵管理部322を備える。
【0032】
事前認証管理部323は、予めユーザに対して発行された事前認証IDとその認証方法とを対応付けした情報を記憶する。具体的に事前認証管理部323に記憶される情報は、
図3に例示するように、事前認証ID、認証方法および制御を含んで構成される。
【0033】
ここで、事前認証IDとは、例えば携帯電話店で予めユーザと対面して発行される携帯電話番号等の、ユーザを識別する情報を意味する。事前認証とは、事前認証IDに対応するユーザの認証を意味する。認証方法とは、事前認証IDに対応するユーザに対する事前認証を実行するために予め指定された、SIM(Subscriber Identity Module)認証、鍵認証等の認証方法を意味する。制御とは、同一の事前認証IDに対する1以上の認証方法のうち適用する認証方法を指定するAND、OR等の情報を意味する。複数の認証方法の全ての適用を指定する場合には「AND」、複数の認証方法のうちいずれかの適用を指定する場合には「OR」が設定される。
図3には、事前認証ID「090−1234−5678」について、認証方法として「SIM認証」および「鍵認証」の全て(「AND」)が適用されることが例示されている。
【0034】
この認証方法および制御は、例えば、事前認証IDが発行された際に併せて、図示しない入力部を介して設定されればよい。その際に、各認証方法に用いられる情報も、事前認証管理部323の適当なメモリ領域に記憶される。
【0035】
セッション管理部321は、発行されたセッションIDとその有効期限とを事前認証IDと対応付けした情報を記憶する。具体的に、セッション管理部321に記憶される情報は、
図4に例示するように、セッションID、事前認証ID、および有効期限を含んで構成される。ここで、セッションIDは、後述する手順により、事前認証IDに対応するユーザが認証された場合にランダムに発行される。有効期限とは、セッションIDの有効期限を意味し、セッションID発行時に、例えば、セッションID発行時から予め指定された期間が経過した日時が設定される。
図4には、事前認証ID「090−1234−5678」に対して発行されたセッションID「12345」の有効期限が「2014年12月31日23時59分59秒」であることが例示されている。
【0036】
秘密鍵管理部322は、生成された秘密鍵をユーザに対応付けした情報を記憶する。具体的に、秘密鍵管理部322に記憶される情報は、
図5に例示するように、事前認証ID、認証サーバIDおよび秘密鍵を含んで構成される。ここで、認証サーバIDとは、後述する手順により秘密鍵とともに生成された公開鍵を保持する認証サーバ100の識別情報を意味する。
図5には、事前認証ID「090−1234−5678」に対して生成された公開鍵を保持する認証サーバ100の認証サーバIDが「EC01」、生成された秘密鍵が「PrivateKey1」であることが例示されている。
【0037】
事前認証部330は、認証クライアント200の事前認証の要求に応じて事前認証を行う。具体的に、事前認証部330は、事前認証制御部331、個別認証部332、動的個別認証部333を含んで構成される。認証クライアント200から事前認証IDを伴って事前認証が要求された場合に、事前認証制御部331は、まず、事前認証管理部323を参照してこの事前認証IDについて指定されている認証方法を特定する。そして、事前認証制御部331は、特定された認証方法に従って事前認証IDに対応するユーザを認証する。
【0038】
事前認証IDに対応するユーザが認証された場合、事前認証制御部331は、事前認証IDに対してセッションIDを発行する。事前認証制御部331は、発行したセッションIDを認証クライアント200に送信するとともに、有効期限および事前認証IDと対応付けしてセッション管理部321に格納する。
【0039】
なお、個別認証部332および動的個別認証部333は、事前認証制御部331により制御統括される。個別認証部332は、事前認証のうち、回線契約時等に予め設定された情報を用いて事前認証IDに対応するユーザを認証する個別認証を実行する。また、事前認証において、個別認証に加えて、オンラインで動的に生成された認証鍵による鍵認証等の動的認証が行われる場合に、動的個別認証部333が動的認証を実行する。
【0040】
例えば、事前認証管理部323に設定されている認証方法として、SIM認証および鍵認証が指定されている場合、個別認証部332が、事前認証IDに対応するSIMカードであることを認証するSIM認証を実行する。また、動的個別認証部333が鍵認証を実行する。ここで、鍵認証として、予め携帯電話店等で事前認証IDとともに発行され認証クライアント200のメモリ領域等に格納されたランダムな文字列等の秘密の情報を用いたチャレンジ・レスポンス認証が例示される。このチャレンジ・レスポンス認証に使用する秘密鍵・公開鍵は、例えば、初めて認証クライアント200にSIMカードを装着して認証鍵管理装置300にアクセスした際等に、動的に認証クライアント200が発行し、秘密鍵を認証クライアント200が管理するとともに、公開鍵を認証鍵管理装置300が管理する。具体的な処理手順については後述する。これにより、例えば、その後にSIMカードが盗難された場合にも、秘密鍵を保持していない端末では、事前認証でユーザが認証されないことになる。
【0041】
認証応答部310は、事前認証により認証されセッションIDが発行されたユーザ、すなわち認証クライアント200に代わり、認証サーバ100との間のチャレンジ・レスポンス認証に応答する。具体的に、認証応答部310は、鍵ペア生成部314、公開鍵送信部311、および認証応答生成部313を含んで構成される。
【0042】
鍵ペア生成部314は、認証サーバ100の公開鍵の生成の要求があった場合に、チャレンジ・レスポンス認証に用いられる公開鍵および秘密鍵を生成する。具体的に、鍵ペア生成部314は、認証サーバ100からの公開鍵の生成の要求を認証クライアント200を介して認証サーバIDとセッションIDとを伴って受信すると、セッション管理部321を参照し、セッションIDが有効期限内であることを確認して、対応付けされている事前認証IDを抽出する。そして、鍵ペア生成部314は、公開鍵および秘密鍵のペアを生成する。
【0043】
公開鍵送信部311は、公開鍵を認証サーバ100に送信する。具体的に、公開鍵送信部311は、鍵ペア生成部314により生成された公開鍵を認証クライアント200を介して認証サーバ100に送信する。また、公開鍵送信部311は、秘密鍵を事前認証IDおよび認証サーバIDと対応付けして秘密鍵管理部322に格納する。
【0044】
認証応答生成部313は、チャレンジ・レスポンス認証におけるチャレンジに応答するレスポンスを生成する。具体的に、認証応答生成部313は、認証サーバ100から認証クライアント200を介してチャレンジを受信した際、すなわち、認証クライアント200からセッションID、認証サーバIDおよびチャレンジを伴ったレスポンスの要求を受信した際、以下の手順でレスポンスを生成する。まず、認証応答生成部313は、セッション管理部321を参照し、セッションIDが有効期限内であることを確認して、対応付けされている事前認証IDを抽出する。次に、認証応答生成部313は、秘密鍵管理部322を参照し、事前認証IDおよび認証サーバIDに対応付けされている秘密鍵を抽出する。そして、認証応答生成部313は、この秘密鍵を用いてチャレンジを暗号化したレスポンスを生成し、認証クライアント200を介して認証サーバ100に返送する。
【0045】
[認証処理手順]
次に、
図6および
図7を参照して、認証システム1における認証処理手順について説明する。本実施形態の認証処理は、事前設定、事前認証、ユーザ登録およびログインの各処理を含む。
【0046】
[事前設定]
図6は、事前設定、事前認証、およびユーザ登録お各処理手順を例示するシーケンス図である。
図6に示すように、ユーザが認証クライアント200を利用して認証サーバ100へサービスの利用登録を要求するために、まず、認証クライアント200と認証鍵管理装置300との間で行われる事前認証を行うための事前設定が行われる(S1)。
【0047】
具体的に、携帯電話店等でユーザに対面して「090−1234−5678」等の事前認証IDが発行される。その際に、併せて「ABCDEFGHIJKL」のようなランダムな文字列等で表される秘密の情報が生成される。事前認証IDと秘密の情報とは、事前認証IDを発行した携帯電話店等で安全にSIMカードに書き込まれる。また、認証鍵管理装置300の適当なメモリ領域に、事前認証IDと秘密の情報とが対応付けされて記憶される。
【0048】
また、事前認証IDに対応するユーザを認証する事前認証の認証方法を決定し、事前認証管理部323に記憶させる。本実施形態では、事前認証の認証方法がSIM認証および鍵認証であるため、認証クライアント200が、この鍵認証に用いられる事前認証用秘密鍵および事前認証用公開鍵を生成する。例えば、認証クライアント200が初めてSIMカードを用いて認証鍵管理装置300にアクセスした際等に動的に、認証クライアント200の事前認証応答部221が、事前認証用秘密鍵および事前認証用公開鍵のペアを生成する。生成された事前認証用秘密鍵は認証クライアント200の適当なメモリ領域に記憶される。一方、生成された事前認証用公開鍵は、認証鍵管理装置300の適当なメモリ領域に、事前認証IDと対応付けして記憶される。
【0049】
[事前認証]
ユーザがECサイトのサービスへの利用登録を要求する場合、まず、認証クライアント200の事前認証応答部221から認証鍵管理装置300の事前認証制御部331へ事前認証IDを含む事前認証要求が送信される(S11)。
【0050】
事前認証要求を受信した事前認証制御部331は、事前認証管理部323を参照して事前認証IDに対応付けされている事前認証の認証方法を特定し、個別認証部332および動的個別認証部333を制御して、事前認証を行う(S12)。具体的に、個別認証部332が、認証クライアント200の個別認証応答部222と連携してSIM認証を実施する。また、動的個別認証部333が、認証クライアント200の動的個別認証応答部223と連携して、鍵認証を行う。すなわち、事前設定により共有された秘密の情報、事前認証用秘密鍵および事前認証用公開鍵により、動的個別認証部333および動的個別認証応答部223との間でチャレンジ・レスポンス認証を行う。これにより、事前認証IDに対応するユーザが認証される。
【0051】
事前認証IDに対応するユーザが認証されると、認証鍵管理装置300の事前認証制御部331は、事前認証が完了したことの印としてセッションIDを発行する。また、事前認証制御部331は、発行したセッションIDをその有効期限とともに事前認証IDと対応付けしてセッション管理部321に格納する(S13)。併せて、事前認証制御部331は、発行したセッションIDを認証クライアント200の事前認証応答部221に送信する(S14)。認証クライアント200の事前認証応答部221は、発行されたセッションIDを適当なメモリ領域に記憶させる。
【0052】
なお、事前認証要求は、例えば、ユーザがWebブラウザ等で実現される図示しない入力部から認証クライアント200に利用登録を要求する旨の指示入力を行うと、認証クライアント200が有効期限内のセッションIDの有無等により事前認証の要否を判定し、事前認証が要と判定された場合に送信される。あるいは、認証クライアント200が定期的に有効期限内のセッションIDの有無を確認し、有効期限内のセッションIDを保持していない場合に、事前認証要求を送信してもよい。
【0053】
[ユーザ登録]
セッションIDを取得した認証クライアント200の公開鍵登録制御部211は、ECサイトである認証サーバ100へサービスの利用登録を要求するユーザ登録要求を送信する(S21)。これを受信した認証サーバ100の公開鍵受信部111は、認証サーバIDを伴った公開鍵生成要求を認証クライアント200に送信する(S22)。この公開鍵の要求を受信した公開鍵登録制御部211は、セッションIDおよび認証サーバIDを伴った公開鍵生成要求を認証鍵管理装置300に送信する(S23)。
【0054】
公開鍵生成要求を受信した公開鍵送信部311は、セッション管理部321を参照し、セッションIDが有効期限内であることを確認した後、鍵ペア生成部314を制御して公開鍵および秘密鍵のペアを生成させる(S24)。公開鍵送信部311は、生成された秘密鍵を、認証サーバIDおよびセッション管理部321を参照して抽出した事前認証IDと対応付けして秘密鍵管理部322に記憶させる(S25)。また、公開鍵送信部311は、公開鍵生成要求に応答して、生成された公開鍵を認証クライアント200の公開鍵登録制御部211へ返信する(S26)。
【0055】
なお、セッションIDが有効期限内ではなかった場合には、その旨が通知された認証クライアント200が、上記したステップS11〜S14の事前認証処理によりセッションIDを取得した後、ステップS21の処理を開始する。
【0056】
生成された公開鍵を受信した公開鍵登録制御部211は、公開鍵の生成の要求に応答して、受信した公開鍵を認証サーバ100へ返信する(S27)。公開鍵を受信した認証サーバ100の公開鍵受信部111は、サービスIDを発行し、サービスIDと公開鍵とを対応付けして公開鍵管理部112に格納する(S28)。これにより、ユーザを登録ユーザとして認証サーバ100に登録するユーザ登録処理が完了する。
【0057】
なお、公開鍵受信部111は、併せて、発行したサービスIDを認証クライアント200に送信する(S29)。サービスIDを受信した認証クライアント200の公開鍵登録制御部211は、適当なメモリ領域にサービスIDを記憶させる。このサービスIDは、後述するログインの際に用いられる。
【0058】
[ログイン]
図7は、ログイン処理手順を例示するシーケンス図である。
図7に示すように、ユーザのサービスサイトへのログインに際し、認証クライアント200は、まず上記ステップS11〜S14の事前認証処理によりセッションIDを取得する。なお、認証クライアント200が有効期限内のセッションIDを保持している場合には、事前認証処理は省略され、以下の処理に進む。
【0059】
ユーザが認証クライアント200のブラウザ等を用いてログインを要求すると、認証クライアント200の認証応答制御部213が認証サーバ100にサービス要求を送信する(S31)。サービス要求を受信した認証サーバ100のユーザ認証部113は、認証クライアント200の認証応答制御部213にログイン画面の表示データを返信する(S32)。ユーザがログイン画面を用いて、認証手段としてチャレンジ・レスポンス認証を選択すると、認証応答制御部213がサービスIDを伴ったチャレンジ・レスポンス認証要求を認証サーバ100に送信する(S33)。チャレンジ・レスポンス認証要求を受信した認証サーバ100のユーザ認証部113は、チャレンジ・レスポンス認証に用いるチャレンジを生成し(S34)、認証サーバIDとともに認証クライアント200の認証応答制御部213に送信する(S35)。
【0060】
認証応答制御部213は、受信した認証サーバIDおよびチャレンジと、セッションIDとを含めたレスポンス要求を認証鍵管理装置300へ送信する(S36)。レスポンス要求を受信した認証鍵管理装置300の認証応答生成部313は、セッション管理部321を参照し、セッションIDが有効期限内であることを確認し、対応付けされている事前認証IDを抽出する。また、認証応答生成部313は、秘密鍵管理部322を参照し、事前認証IDおよび認証サーバIDに対応付けされている秘密鍵を抽出する(S37)。そして、認証応答生成部313は、受信したチャレンジを抽出した秘密鍵で暗号化してレスポンスを生成し(S38)、認証クライアント200に送信する(S39)。
【0061】
レスポンスを受信した認証クライアント200の認証応答制御部213は、チャレンジに応答してレスポンスを認証サーバ100のユーザ認証部113に返信する(S40)。
レスポンスを受信したユーザ認証部113は、公開鍵管理部112を参照してサービスIDに対応付けされている公開鍵を抽出し、受信したレスポンスを公開鍵で復号化する。ユーザ認証部113は、復号化したレスポンスと生成したチャレンジとを比較するレスポンス検証を行う(S41)。レスポンス検証の結果、一致した場合に、登録ユーザが認証され、ログインが完了する。これにより、サービスが開始される(S42)。
【0062】
以上、説明したように、本実施形態の認証システム1において、認証鍵管理装置300が、事前認証IDに対応するユーザの事前認証を行ってセッションIDを発行する。ユーザの利用登録の要求に応じて認証サーバ100が、公開鍵の生成の要求を認証クライアント200を介して認証鍵管理装置300に送信する。認証鍵管理装置300は、有効期限内のセッションIDを伴った公開鍵の生成の要求に応じて前記チャレンジ・レスポンス認証に用いられる公開鍵および秘密鍵を生成し、公開鍵を認証サーバ100に送信し、秘密鍵を事前認証IDと対応付けして記憶する。また、認証鍵管理装置300は、認証サーバ100と認証クライアント200との間の登録ユーザのチャレンジ・レスポンス認証におけるレスポンスを秘密鍵を用いて生成する。これにより、サービスの利用登録を行った登録ユーザの認証に用いる秘密鍵を、ネットワーク上を流通させずに、ユーザ端末の紛失や変更に伴って消失させることもユーザ端末の追加に伴って追加することもなく、ユーザの端末に依らずサービス毎に生成して管理することができる。
【0063】
[第2の実施形態]
上記の実施形態では、認証鍵管理装置300は、携帯電話事業者が運用する場合を例示しているが、これに限定されない。例えば、固定通信事業者やSI(System Integration)事業者が認証鍵管理装置300を運用する形態でもよい。第2の実施形態では、固定通信事業者が認証鍵管理装置300を運用する場合について説明する。この場合、事前認証には、上記の実施形態におけるSIM認証に替えて、固定回線認証が適用される。固定回線認証には、固定回線敷設時に設定される、集線スイッチのポート番号や回線終端装置のMAC(Media Access Control)アドレス等の固定回線の敷設に関する情報が用いられる。そこで、事前設定(S1)の処理の際に、発行された事前認証IDに対応付けして固定回線の敷設に関する情報が設定される。
【0064】
また、事前設定(S1)の際に、ユーザに対して発行された事前認証IDに対応付けしてパスワードを設定する。これにより、事前認証時にユーザが固定回線を経由して認証鍵管理装置300にアクセスした場合に、固定回線認証に併せてパスワード認証を行って、高いセキュリティ強度を維持して固定回線の敷設場所およびユーザを識別して認証することができる。
【0065】
さらに、初めて上記事前認証が行われた際等、事前認証が行われたことを前提に、動的に認証クライアント200が事前認証用秘密鍵と事前認証用公開鍵とのペアを生成し、公開鍵を認証鍵管理装置300に送信しておくとよい。この動的な事前認証用秘密鍵と事前認証用公開鍵とを用いた鍵認証を、固定回線認証およびパスワード認証に替えて、事前認証として行うようにしてもよい。ユーザが外出時等に予め設定されている固定回線を経由せずに認証クライアント200から認証鍵管理装置300にアクセスした場合にも、鍵認証による事前認証が可能となり、認証鍵管理装置300を利用することができる。
【0066】
以上に説明した事前認証の認証方法は、事前認証管理部323に記憶させる情報を
図8に例示するように設定することにより指定できる。すなわち、
図8には、事前認証ID「0123456789」について、認証方法として、「回線認証+パスワード認証」または「鍵認証」のいずれか(「OR」)が適用されることが例示されている。
【0067】
図9は、以上に説明した事前認証のための事前設定処理手順を例示するシーケンス図である。
図9に示すように、まず、認証クライアント200が固定回線を経由して認証鍵管理装置300に事前設定要求を送信する(S51)。事前設定要求を受信した認証鍵管理装置300の事前認証制御部331は、個別認証部332を制御して(S52)、固定回線認証に必要な情報を確認させる(S53)。また、事前認証制御部331は、個別認証部332を制御して、認証クライアント200との間のパスワード認証に必要な事前認証IDに対するパスワードを設定させる(S54)。
【0068】
事前認証制御部331は、個別認証部332から固定回線認証およびパスワード認証により事前認証IDに対応するユーザの認証の完了通知を受信した(S55)後には、認証クライアント200から鍵認証の申請を受け付ける(S56,S57)。この場合、事前認証制御部331は、動的個別認証部333を制御して、鍵認証機能に必要な情報を収集させる(S58)。事前認証制御部331は、動的個別認証部333の送信した事前認証用公開鍵の要求を受信すると(S59)、認証クライアント200に転送する(S60)。事前認証用公開鍵の要求を受信した認証クライアント200は、事前認証用公開鍵と事前認証用秘密鍵の鍵ペアを生成し(S61)、事前認証用公開鍵を事前認証制御部331を介して動的個別認証部333に送信する(S62,S63)。これにより、「回線認証+パスワード認証」または「鍵認証」による事前認証のための事前設定が完了する。
【0069】
[第3の実施形態]
第3の実施形態では、SI事業者が認証鍵管理装置300を運用する場合について説明する。SI事業者は、通常、SIMや固定回線のようなユーザ識別に利用可能なハードウェアを配布していないため、上記のようなSIM認証や固定回線認証による事前認証を行なえない。そこで、ユーザとの間で対面の作業により、以下のように事前認証のための事前設定を行う。
【0070】
本実施形態では、SI事業者の顧客である法人が認証サーバ100および認証クライアント200を管理する場合を想定する。この場合、認証鍵管理装置300を運用するSI事業者は、予め認証サーバ100および認証クライアント200との間の事前認証に適用する指紋認証デバイスや電子証明書等のセキュアな認証方法を顧客に選択させ、選択された認証方法に用いられる秘密の情報を予め認証サーバ100および認証クライアント200との間で交換させる。例えば、認証クライアント200に認証用のセキュリティトークンそのものを設定してもよい。これにより、SIM認証や固定回線認証に依らずセキュアな事前認証が可能となる。
【0071】
なお、認証鍵管理装置300を携帯電話事業者や固定通信事業者が運用する場合にも、指紋認証や電子証明書等による認証方法を事前認証に適用できる。例えば、携帯電話事業者が、SIM認証に替えて指紋認証を事前認証に適用してもよい。仮にSIM認証を前提にオンラインで指紋認証デバイスを登録するようにすれば、SIMカードを紛失してしまった場合に紛失したSIMカードを用いて悪意のある人が虚偽の指紋認証デバイスを登録することも可能となる。そこで、携帯電話店等でユーザと対面して指紋認証デバイスを登録すれば、SIM認証に替わるセキュアな事前認証が可能となる。
【0072】
[第4の実施形態]
第4の実施形態では、
図10に例示するように、事前認証部330および事前認証管理部323が認証鍵管理装置300から分離された事前認証装置400で実現される。本実施形態では、認証鍵管理装置300を鍵管理会社が運用し、事前認証装置400を通信キャリアA,Bがそれぞれに運用する場合を想定する。この場合、鍵管理会社と通信キャリアA,Bそれぞれの間には信頼関係があり、事前認証においても事前認証後のチャレンジ・レスポンス認証においても、認証に関わる情報を互いにセキュアに流通可能であるものとする。
【0073】
上記の実施形態においては、事前認証部330と認証応答部310との間でセッションIDを流通させることにより認証結果の連携を可能としていた。一方、本実施形態では、事前認証部330と認証応答部310との提供主体が異なるため、SAML(Security Assertion Markup Language)等のプロトコルを適用して認証連携を実現する。
【0074】
例えば、事前認証装置400がセッションIDを発行して、認証鍵管理装置300に連携するSAML push型の形態にすることができる。この場合、認証システム1は上記の実施形態と同様に動作する。
【0075】
一方、認証鍵管理装置300がセッションIDを発行するSAML pull型の形態とすることも可能である。この場合、上記の実施形態とは、事前設定および事前認証において動作が異なる。この場合の事前設定および事前認証の処理手順について、
図11を参照して説明する。
【0076】
図11に示すように、まず、認証クライアント200と事前認証装置400との間で、上記の実施形態と同様に、SIMの発行等の事前設定が行われる(S1)。加えて、事前認証装置400と認証鍵管理装置300の間で、事業者間の信頼関係を前提にして、認証連携のための事前設定が行われる(S71)。具体的に、事前認証装置400が署名用の秘密鍵および公開鍵を発行し、秘密鍵を適当なメモリ領域に記憶させ、公開鍵を認証鍵管理装置300に受け渡す。また、事前認証装置400または認証鍵管理装置300のいずれかが事前認証IDを発行した場合に、事前認証IDを共有する。
【0077】
認証クライアント200は、事前認証が必要な場合に、認証鍵管理装置300へ事前認証IDを含む事前認証要求を送信する(S11)。事前認証要求を受信した認証鍵管理装置300は、セッションIDを発行し、事前認証IDと対応付けしてセッション管理部321に格納する(S81)。また、認証鍵管理装置300は、発行したセッションIDと事前認証IDとを伴った認証連携要求を、リダイレクト等を用いて認証クライアント200を介して事前認証装置400に送信する(S82)。
【0078】
認証連携要求を受信した事前認証部330は、上記の実施形態と同様にSIM認証等の事前認証を行う(S12)。事前認証により事前認証IDに対応するユーザが認証された場合に、事前認証部330は、署名用の秘密鍵を用いて署名文を生成し、受信したセッションIDに署名文を付した署名付セッションIDを認証クライアント200に送信する(S83)。
【0079】
認証クライアント200は、受信した署名付セッションIDを適当なメモリ領域に記憶させる。そして、認証サーバ100から受信した公開鍵生成要求(S22)やチャレンジ(S35)を認証鍵管理装置300に中継する際(S23またはS36)、上記の実施形態のセッションIDに替えて、署名付セッションIDを付与して送信する。
【0080】
署名付セッションIDを伴った情報を受信した認証鍵管理装置300は、署名用の公開鍵を用いて署名を検証する(S84)。署名が検証を通過した場合、信頼関係にある事前認証部330による署名であることが確認される。これにより、事前認証装置400による認証クライアント200の事前認証が完了していることが確認される。
【0081】
なお、認証鍵管理装置300と事前認証装置400とが信頼関係にあるため、例えば、ユーザが通信キャリアAから通信キャリアBにキャリアを変更した場合、ユーザの申し出により事業者間の連携を行うことができる。これにより、ユーザは、通信キャリアを変更しても、事前認証IDや、事前認証IDに対応付けされている秘密鍵を引き継ぐことが可能である。その場合、事前認証は通信キャリアBの提供する回線認証やSIM認証に変更されても、それまで利用していた秘密鍵を継続して利用することが可能となる。
【0082】
以上に説明したように、事前認証部330および事前認証管理部323を認証鍵管理装置300と分離した事前認証装置400とすることにより、例えば、事前認証装置400を通信事業者が運用し、認証鍵管理装置300を通信事業者とは異なる鍵管理事業者が複数の通信事業者に共通に運用することができる。その場合、例えば、ユーザが通信キャリアを変更した場合にも、複数の通信事業者に共通の鍵管理事業者が管理している秘密鍵を継続して使用することが可能となり、ユーザの利便性を一層高めることが可能となる。
【0083】
なお、事前認証装置400と認証鍵管理装置300とは必ずしも別事業者が運用する必要はない。認証鍵管理装置300を複数の事前認証装置400と連携可能とし、ユーザが利用する事業者に応じて事前認証装置400を選択して認証鍵管理装置300と連携させてもよい。
【0084】
[他の実施形態]
[プログラム]
上記実施形態に係る認証鍵管理装置300が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、係るプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、認証鍵管理装置300と同様の機能を実現する認証鍵管理プログラムを実行するコンピュータの一例を説明する。
【0085】
図12に示すように、認証鍵管理プログラムを実行するコンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
【0086】
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
【0087】
ここで、
図12に示すように、ハードディスクドライブ1031例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1031モリ1010に記憶される。
【0088】
また、認証鍵管理プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した認証鍵管理装置300が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1031に記憶される。
【0089】
また、認証鍵管理プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
【0090】
なお、認証鍵管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、認証鍵管理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0091】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。