(57)【要約】【課題】ＷＥＢサービスを利用するユーザが鍵を紛失した場合に、オンラインで鍵を復旧すること。【解決手段】予備鍵預かりサーバ３が、ＷＥＢサービスサーバ２から端末１による予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録の要求を受信した場合に、予備の公開鍵Ｋ３および秘密鍵Ｋ４を生成し、記憶部に記憶させ、該予備の公開鍵Ｋ３をＷＥＢサービスサーバ２に送信して記憶させ、予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録の後に鍵認証に用いる秘密鍵が記憶されていない端末１から鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２の再登録を要求された場合に、要求を記憶部に記憶されている予備の秘密鍵Ｋ４を用いて暗号化してＷＥＢサービスサーバ２に送信し、ＷＥＢサービスサーバ２が、予備の公開鍵Ｋ３を用いて復号した要求に応じて、端末１に鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２を生成させる。【選択図】図１
2016144038.tif 000002
【特許請求の範囲】
【請求項１】
認証端末と認証サーバと予備鍵管理装置とが通信ネットワークを介して互いに通信可能に接続されている認証システムであって、
前記認証端末は、
鍵認証に用いる秘密鍵を記憶する第１の記憶部と、
鍵認証に用いる秘密鍵が記憶されている場合に、前記認証サーバに鍵認証に用いる予備の公開鍵および秘密鍵の登録を要求し、
前記予備の公開鍵および秘密鍵の登録の後、鍵認証に用いる秘密鍵が記憶されていない場合に、前記予備鍵管理装置に鍵認証に用いる公開鍵および秘密鍵の再登録を要求する第１の制御部と、を備え、
前記認証サーバは、
前記鍵認証に用いる公開鍵および前記予備の公開鍵を記憶する第２の記憶部と、
前記鍵認証に用いる秘密鍵が記憶されている認証端末から前記予備の公開鍵および秘密鍵の登録を要求された場合に、該要求を前記予備鍵管理装置に転送し、前記予備の公開鍵および秘密鍵が生成された場合に、前記予備の公開鍵を該予備鍵管理装置から受信して前記第２の記憶部に保存し、
前記予備鍵管理装置から、前記予備の秘密鍵を用いて暗号化された前記鍵認証に用いる公開鍵および秘密鍵の再登録の要求を受信した場合に、前記予備の公開鍵を用いて復号した該要求に応じて、前記認証端末に前記鍵認証に用いる公開鍵および秘密鍵を生成する指示を前記認証端末に送信する第２の制御部と、を備え、
前記予備鍵管理装置は、
前記予備の公開鍵および秘密鍵を記憶する第３の記憶部と、
前記認証サーバから前記認証端末による前記予備の公開鍵および秘密鍵の登録の要求を受信した場合に、前記予備の公開鍵および秘密鍵を生成して前記第３の記憶部に保存し、該予備の公開鍵を前記認証サーバに送信して記憶させ、
前記鍵認証に用いる秘密鍵が記憶されていない前記認証端末から前記鍵認証に用いる公開鍵および秘密鍵の再登録を要求された場合に、該要求を前記第３の記憶部に記憶されている前記予備の秘密鍵を用いて暗号化して前記認証サーバに送信する第３の制御部と、を備える
ことを特徴とする認証システム。
【請求項２】
前記認証端末、前記認証サーバ、および前記予備鍵管理装置の間の通信は、ＨＴＴＰＳによって行われることを特徴とする請求項１に記載の認証システム。
【請求項３】
予備の公開鍵および秘密鍵を記憶する記憶部と、
鍵認証に用いる秘密鍵が記憶されている認証端末による、鍵認証に用いる予備の公開鍵および秘密鍵の登録の要求を、認証サーバから受信した場合に、該予備の公開鍵および秘密鍵を生成して前記記憶部に保存し、該予備の公開鍵を前記認証サーバに送信して記憶させ、
前記予備の公開鍵および秘密鍵の登録の後、鍵認証に用いる秘密鍵が記憶されていない認証端末から該鍵認証に用いる公開鍵および秘密鍵の再登録を要求された場合に、該要求を前記記憶部に記憶されている前記予備の秘密鍵を用いて暗号化して前記認証サーバに送信する制御部と、
を備えることを特徴とする予備鍵管理装置。
【請求項４】
予備鍵管理装置で実行される予備鍵管理方法であって、
前記予備鍵管理装置は、予備の公開鍵および秘密鍵を記憶する記憶部を備え、
鍵認証に用いる秘密鍵が記憶されている認証端末による、鍵認証に用いる予備の公開鍵および秘密鍵の登録の要求を、認証サーバから受信した場合に、該予備の公開鍵および秘密鍵を生成して前記記憶部に保存し、該予備の公開鍵を前記認証サーバに送信して記憶させ、
前記予備の公開鍵および秘密鍵の登録の後、鍵認証に用いる秘密鍵が記憶されていない認証端末から該鍵認証に用いる公開鍵および秘密鍵の再登録を要求された場合に、該要求を前記記憶部に記憶されている前記予備の秘密鍵を用いて暗号化して前記認証サーバに送信する制御工程を含んだことを特徴とする予備鍵管理方法。
【請求項５】
鍵認証に用いる秘密鍵を記憶している認証端末による、鍵認証に用いる予備の公開鍵および秘密鍵の登録の要求を、認証サーバから受信した場合に、該予備の公開鍵および秘密鍵を生成して記憶部に保存し、該予備の公開鍵を前記認証サーバに送信して記憶させ、
前記予備の公開鍵および秘密鍵の登録の後、鍵認証に用いる秘密鍵が記憶されていない認証端末から該鍵認証に用いる公開鍵および秘密鍵の再登録を要求された場合に、該要求を前記記憶部に記憶されている前記予備の秘密鍵を用いて暗号化して前記認証サーバに送信する制御ステップをコンピュータに実行させるための予備鍵管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、予備鍵管理装置、予備鍵管理方法および予備鍵管理プログラムに関する。
【背景技術】
【０００２】
従来、ＷＥＢサービスでは、ＩＤとパスワードとを確認するパスワード認証によってユーザ認証を行っている。しかしながら、パスワード認証は、セキュリティ強度がパスワードの長さや使い分け等に依存するため、辞書攻撃等によるアカウントの不正操作が頻発している。
【０００３】
そこで、パスワード認証に代わり、公開鍵と秘密鍵とを用いた鍵認証が注目されている。通信ネットワークを介して情報を送信する場合に、送信する情報を鍵を用いて暗号化すれば、情報を第三者に盗み見られることなく安全に行える。
【０００４】
鍵認証では、ＷＥＢサービスサーバ等の認証サーバに公開鍵、ユーザが所有する端末の認証デバイスに秘密鍵が配備され、認証サーバが秘密鍵の所有を確認することでユーザを認証する。この場合、ユーザが所有する端末が公開鍵と秘密鍵を生成し、秘密鍵を端末の認証デバイスに閉じ込めることでセキュリティ強度を高めている。
【０００５】
しかしながら、ユーザが端末を紛失した場合には、秘密鍵も紛失してしまう。鍵を紛失すると、暗号化された情報を受信しても復号することができなくなってしまうため、紛失した鍵を復旧する技術が必要となる。
【０００６】
そこで、例えば企業内で運用される鍵を用いた認証システムにおいて、鍵を紛失したユーザに対して、このユーザが鍵の復旧の権限を有する所定のグループに属することを条件に、鍵を復旧する方法が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３７３４１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の鍵を復旧する技術は、たかだか数千人のグループに属するユーザを対象としており、鍵の復旧の権限をもつ本人であるか否かを直接確認することができるために実施できるものである。しかしながら、数万人のユーザを対象とするＷＥＢサービスでは、鍵の復旧の権限をもつ本人であるか否かを直接確認することは困難である。
【０００９】
本発明は、上記に鑑みてなされたものであって、ＷＥＢサービスを利用するユーザが鍵を紛失した場合に、オンラインで鍵を復旧することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明に係る認証システムは、認証端末と認証サーバと予備鍵管理装置とが通信ネットワークを介して互いに通信可能に接続されている認証システムであって、前記認証端末は、鍵認証に用いる秘密鍵を記憶する第１の記憶部と、鍵認証に用いる秘密鍵が記憶されている場合に、前記認証サーバに鍵認証に用いる予備の公開鍵および秘密鍵の登録を要求し、前記予備の公開鍵および秘密鍵の登録の後、鍵認証に用いる秘密鍵が記憶されていない場合に、前記予備鍵管理装置に鍵認証に用いる公開鍵および秘密鍵の再登録を要求する第１の制御部と、を備え、前記認証サーバは、前記鍵認証に用いる公開鍵および前記予備の公開鍵を記憶する第２の記憶部と、前記鍵認証に用いる秘密鍵が記憶されている認証端末から前記予備の公開鍵および秘密鍵の登録を要求された場合に、該要求を前記予備鍵管理装置に転送し、前記予備の公開鍵および秘密鍵が生成された場合に、前記予備の公開鍵を該予備鍵管理装置から受信して前記記憶部に保存し、前記予備鍵管理装置から、前記予備の秘密鍵を用いて暗号化された前記鍵認証に用いる公開鍵および秘密鍵の再登録の要求を受信した場合に、前記予備の公開鍵を用いて復号した該要求に応じて、前記認証端末に前記鍵認証に用いる公開鍵および秘密鍵を生成する指示を前記認証端末に送信する第２の制御部と、を備え、前記予備鍵管理装置は、前記予備の公開鍵および秘密鍵を記憶する第３の記憶部と、前記認証サーバから前記認証端末による前記予備の公開鍵および秘密鍵の登録の要求を受信した場合に、前記予備の公開鍵および秘密鍵を生成して前記第３の記憶部に保存し、該予備の公開鍵を前記認証サーバに送信して記憶させ、前記鍵認証に用いる秘密鍵が記憶されていない前記認証端末から前記鍵認証に用いる公開鍵および秘密鍵の再登録を要求された場合に、該要求を前記第３の記憶部に記憶されている前記予備の秘密鍵を用いて暗号化して前記認証サーバに送信する第３の制御部と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＷＥＢサービスを利用するユーザが鍵を紛失した場合に、オンラインで鍵を復旧することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の一実施形態に係る認証システムの概略構成を示す模式図である。
【図２】図２は、本実施形態の端末の認証方法の概要を示す説明図である。
【図３】図３は、本実施形態のＷＥＢサービスサーバの記憶部に記憶される情報の構成例を示す図である。
【図４】図４は、本実施形態の予備鍵預かりサーバの記憶部に記憶される情報の構成例を示す図である。
【図５】図５は、本実施形態の認証処理手順を例示するシーケンス図である。
【図６】図６は、本実施形態のＩＳＰへのログイン処理手順を例示するフローチャートである。
【図７】図７は、本実施形態のＩＳＰへのログイン処理手順を説明するための説明図である。
【図８】図８は、本実施形態の端末認証トークンを説明するための説明図である。
【図９】図９は、本実施形態の端末認証トークンを説明するための説明図である。
【図１０】図１０は、本実施形態の認証処理手順を例示するシーケンス図である。
【図１１】図１１は、本実施形態の鍵再登録トークンを説明するための説明図である。
【図１２】図１２は、本実施形態の鍵再登録トークンを説明するための説明図である。
【図１３】図１３は、予備鍵管理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１４】
［認証システムの構成］
まず、図１を参照して、本実施形態の認証システムの構成について説明する。図１に示すように、認証システム１０は、認証端末としての端末１と、認証サーバとしてのＷＥＢサービスサーバ２と、予備鍵管理装置としての予備鍵預かりサーバ３とが、互いにインターネット等の通信ネットワークを介して通信可能に接続されている。
【００１５】
ＷＥＢサービスサーバ２は、ＷＥＢサービスのサービス事業者が運用するサーバ装置であって、サービスを利用するユーザの登録と認証とを行う。ＷＥＢサービスサーバ２は、登録したユーザを鍵認証を用いて認証する。そのため、ＷＥＢサービスサーバ２では、鍵認証に用いる公開鍵（以後、サービス認証用の公開鍵とも称する。）Ｋ１が、登録されたユーザを識別するユーザＩＤと対応付けして記憶部に記憶され登録されている。
【００１６】
端末１は、ＷＥＢサービスサーバ２に対してサービスの利用を開始するログインを要求するユーザが所有するパソコン、スマートホン、またはタブレット等の端末装置であって、ＷＥＢサービスサーバ２との間の鍵認証に応答する。そのため、端末１の認証デバイスの耐タンパー領域に、鍵認証に用いる秘密鍵（以後、サービス認証用の秘密鍵とも称する。）Ｋ２が登録されている。
【００１７】
予備鍵預かりサーバ３は、サービスの利用登録を行ったユーザに対して端末１とＷＥＢサービスサーバ２との間で行われる鍵認証に用いる予備の秘密鍵Ｋ４を管理する装置である。本実施形態では、予備鍵預かりサーバ３は、ＩＳＰ（Internet  Service  Provider）により運用される。予備鍵預かりサーバ３は、ＷＥＢサービスサーバ２にログインを要求するユーザの鍵認証に用いる予備の公開鍵Ｋ３および秘密鍵Ｋ４（以後、予備鍵または予備鍵ペアとも称する。）を生成する。そして、予備鍵預かりサーバ３は、生成した予備の秘密鍵Ｋ４を登録するとともに、生成した予備の公開鍵Ｋ３をＷＥＢサービスサーバ２に引き渡す。また、予備鍵預かりサーバ３は、予備鍵が登録された後、ユーザが、例えば端末１を紛失したり変更したりして、サービス認証用の秘密鍵Ｋ２が記憶されていない端末１を用いて予備鍵預かりサーバ３にアクセスした際、予備鍵を用いてユーザを認証し、端末１およびＷＥＢサービス２の間にサービス認証用の秘密鍵Ｋ２および公開鍵Ｋ１を再登録、すなわち、改めて生成し登録する。
【００１８】
ここで、図２を参照し、本実施形態の概要について説明する。図２に例示するように、ＩＳＰでの端末１の認証は、例えばＰＰＰｏＥ（PPP  over  Ethernet（登録商標））のセッションＩＤと払い出されたＩＰ（Internet  Protocol）アドレス等のアクセス時の回線認証情報と、ＩＳＰのユーザＩＤおよび予め登録されたパスワード（ＰＷ）との組み合わせで実施される。一方、ＷＥＢサービスサーバ２での端末１の認証は、後述するように、予備鍵預かりサーバ３に予備鍵を登録する場合には、サービス認証用の公開鍵Ｋ１を用いて行われ、サービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２を再登録させる場合には、予備鍵を用いて行われる。
【００１９】
なお、図１に例示した認証システム１０では、予備鍵預かりサーバ３がＩＳＰ網内に設置されているが、認証システム１０の構成はこれに限定されない。例えば、予備鍵預かりサーバ３は、ＬＴＥ（Long  Term  Evolution）網内や固定網内に設置されもよい。この場合、端末１がＷｉ−Ｆｉ（登録商標）（Wireless  Fidelity）やＬＴＥ等を介してアクセスする。
【００２０】
また、予備鍵預かりサーバ３を、例えば、予備鍵預かりサービスというようなＷＥＢサービスを提供するサービス事業者が運用してもよい。その場合、ＩＳＰ等における回線情報を用いた認証の代わりに、パスワードに依らないハードウェアのＯＴＰ（One  Time  Password）トークン等による認証を提供する。
【００２１】
［ＷＥＢサービスサーバの構成］
ＷＥＢサービスサーバ２は、ワークステーションやパソコン等の汎用コンピュータで実現され、装置内部のＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部として機能する。
【００２２】
また、ＷＥＢサービスサーバ２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される記憶部を備える。記憶部は、予備の公開鍵Ｋ３を記憶する。具体的に記憶部には、図３に例示するように、ＷＥＢサービスのユーザＩＤ、サービス認証用公開鍵、予備の公開鍵、および予備鍵預かりサーバのＵＲＩ（Uniform  Resource  Identifier）等を含む情報が記憶される。図３に示す例では、例えば、ＷＥＢサービスのユーザＩＤが「userid2」であるユーザに対応付けられて、サービス認証用公開鍵「Reoin.....niwoak」、予備の公開鍵「Nioowa.....ewnin」、予備鍵預かりサーバのＵＲＩ「https://spare-key.isp.com/authorize」が記憶されている。これらの情報は、後述する認証処理手順でＷＥＢサービスのユーザＩＤに対応づけて記憶される。
【００２３】
ＷＥＢサービスサーバ２は、制御部の制御により、鍵認証に用いる秘密鍵が記憶されている端末１から予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録を要求された場合に、この要求を予備鍵預かりサーバ３に転送し、予備の公開鍵Ｋ３および秘密鍵Ｋ４が生成された場合に、生成された予備の公開鍵Ｋ３を予備鍵預かりサーバ３から受信して記憶部に保存する。ここで、予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録とは、予備の公開鍵Ｋ３および秘密鍵Ｋ４を生成させ、予備の秘密鍵Ｋ４を予備鍵預かりサーバ３に記憶させるとともに、予備の公開鍵Ｋ３をＷＥＢサービスサーバ２に記憶させることを意味する。
【００２４】
また、ＷＥＢサービスサーバ２は、予備鍵預かりサーバ３から、予備の秘密鍵Ｋ４を用いて暗号化された、鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２の再登録の要求を受信した場合に、予備の公開鍵Ｋ３を用いて復号した要求に応じて、鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２を生成させ指示を端末１に送信する。ここで、鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２の再登録とは、サービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２のペアを生成させ、サービス認証用の秘密鍵Ｋ２を端末１に記憶させ、サービス認証用の公開鍵Ｋ１をＷＥＢサービスサーバ２に更新記憶させることを意味する。認証システム１０の全体における認証処理手順については後述する。
【００２５】
［端末の構成］
端末１は、パソコンやスマートホンやタブレット等の汎用コンピュータで実現され、装置内部のＣＰＵ等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部として機能する。また、端末１は、記憶部として認証デバイスを備え、耐タンパー領域にサービス認証用の秘密鍵Ｋ２が記憶される。このサービス認証用の秘密鍵Ｋ２は、ＷＥＢサービスのユーザＩＤが発行された際や、後述する鍵再登録処理の際等に実行されるサービス認証用鍵の登録処理により、端末１に登録される。
【００２６】
端末１は、制御部の制御により、鍵認証に用いる秘密鍵が記憶されている場合に、ＷＥＢサービスサーバ２に鍵認証に用いる予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録を要求する。また、端末１は、予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録の後、鍵認証に用いる秘密鍵が記憶されていない場合に、予備鍵預かりサーバ３に鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２の再登録を要求する。認証システム１０の全体における認証処理手順については後述する。
【００２７】
［予備鍵預かりサーバの構成］
予備鍵預かりサーバ３は、ワークステーションやパソコン等の汎用コンピュータで実現され、装置内部のＣＰＵ等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部として機能する。
【００２８】
また、予備鍵預かりサーバ３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される記憶部を備える。記憶部は、予備の秘密鍵Ｋ４を記憶する。具体的に記憶部には、図４に例示するように、ＩＳＰのユーザＩＤ、予備の秘密鍵、予備の公開鍵、ＷＥＢサービスサーバ２のＵＲＩ、ＷＥＢサービスのユーザＩＤ、端末認証トークン等を含む情報が記憶される。図４に示す例では、ＩＳＰのユーザＩＤが「Isp_userid1」であるユーザに対応付けて、予備の秘密鍵「nwio.....ewnioa」、予備の公開鍵「hun....eniv」、ＷＥＢサービスサーバのＵＲＩ「https://spare-key.web-service.com/cb」、ＷＥＢサービスのユーザＩＤ「userid1」、端末認証トークン「awniw....newoan」が記憶されている。これらの情報は、後述する認証処理手順でＩＳＰのユーザＩＤに対応づけて記憶される。
【００２９】
予備鍵預かりサーバ３は、制御部の制御により、ＷＥＢサービスサーバ２から端末１による予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録の要求を受信した場合に、予備の公開鍵Ｋ３および秘密鍵Ｋ４を生成して記憶部に保存し、該予備の公開鍵Ｋ３をＷＥＢサービスサーバ２に送信して記憶させる。また、予備鍵預かりサーバ３は、予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録の後に鍵認証に用いる秘密鍵が記憶されていない端末１から鍵認証に用いる公開鍵Ｋ１および秘密鍵Ｋ２の再登録を要求された場合に、要求を記憶部に記憶されている予備の秘密鍵Ｋ４を用いて暗号化してＷＥＢサービスサーバ２に送信する。認証システム１０の全体における認証処理手順については後述する。
【００３０】
［認証処理手順］
次に、図５〜図１２を参照して、認証システム１０における認証処理手順について説明する。本実施形態の認証処理は、予備鍵登録処理および鍵再登録処理を含む。
【００３１】
［予備鍵登録処理］
図５は、予備の公開鍵Ｋ３および秘密鍵Ｋ４を生成し登録する予備鍵登録処理手順を例示するシーケンス図である。端末１は、ＷＥＢサービスのサービスＩＤが発行され、サービス認証用の秘密鍵Ｋ２を認証デバイスに記憶している場合に、予備の公開鍵Ｋ３および秘密鍵Ｋ４の生成を要求できる。その場合、図５に示すように、端末１はまず、ＷＥＢサービスサーバ２との間でＨＴＴＰＳのセッションを確立し（Ｓ１）、ＷＥＢサービスサーバ２のサーバ証明書を受信して、このサーバ証明書を検証する（Ｓ２）。ここで、ＨＴＴＰＳを利用することにより、サーバ証明書を利用したＴＬＳ／ＳＳＬ接続により、二者間の通信を中継するようなＭＩＴＭ（Man-In-The-Middle）攻撃を防止することができる。
【００３２】
次に、端末１は、ＷＥＢサービスサーバ２のＵＲＩにアクセスしてログインを要求する（Ｓ３）。ＷＥＢサービスサーバ２は、端末１が記憶しているサービス認証用の秘密鍵Ｋ２と自身が記憶しているサービス認証用の公開鍵Ｋ１とを用いた鍵認証により、端末１のユーザに対して発行されているＷＥＢサービスのユーザＩＤでログインさせる（Ｓ４）。
【００３３】
次に、ユーザが予備鍵預かりサーバ３のＵＲＩを指定して、予備鍵の生成を要求するための所定のボタンを押下する等の操作入力を行うと、端末１が、ユーザが指定した予備鍵預かりサーバ３のＵＲＩが含まれた予備鍵登録要求を、ＷＥＢサービスサーバ２に送信する（Ｓ５）。
【００３４】
ＷＥＢサービスサーバ２は、予備鍵登録要求を受信した際、この予備鍵預かりサーバ３のＵＲＩを記憶部に記憶させる（Ｓ６、図３参照）とともに、予備鍵登録要求をリダイレクトにより予備鍵預かりサーバ３に転送する（Ｓ７）。このリダイレクトには、次式（１）に例示されるように、ユーザのＷＥＢサービスのユーザＩＤ「userid1」、予備鍵預かりサーバ３のＵＲＩ「https://spare-key.isp.com/authorize」が含まれる。
【００３５】
【数１】
2016144038.tif 000003
【００３６】
端末１は、予備鍵預かりサーバ３との間でＨＴＴＰＳのセッションを確立し（Ｓ８）、予備鍵預かりサーバ３のサーバ証明書を受信して検証する（Ｓ９）。また、予備鍵預かりサーバ３は、ＩＳＰのユーザＩＤでログインさせる（Ｓ１０）。
【００３７】
ここで、図６および図７を参照して、Ｓ１０の予備鍵預かりサーバ３へのログイン処理について説明する。図６に示すように、予備鍵預かりサーバ３は、まずログインを要求したユーザのＩＳＰのユーザＩＤとパスワード（ＰＷ）との入力を受け付け、併せて端末の接続情報を取得する（Ｓ１０１）。ここで取得される端末の接続情報とは、ログイン要求時のＰＰＰのセッションＩＤとＩＰアドレスとを意味する。
【００３８】
図７に例示するように、予備鍵預かりサーバ３は、ユーザがＩＳＰとの契約時に決定されたＩＳＰのユーザＩＤとパスワードとを、記憶部に記憶させて管理している。なお、ここで決定されたＩＳＰのユーザＩＤとパスワードとは、通知を受けたユーザ側では、例えばブロードバンドルータに設定される。また、予備鍵預かりサーバ３は、インターネット接続時にＩＳＰで決定された、ＰＰＰのセッションＩＤと払い出したＩＰアドレスとを記憶部に記憶させて管理している。例えば、図７に示す例では、ＩＳＰのユーザＩＤ「Isp_userid1」に対応して、パスワード「lwojwkif」、ＰＰＰのセッションＩＤ「０ｘ３４５７」、払い出したＩＰアドレス「２１０．１３２．１００．２０」が記憶されている。
【００３９】
予備鍵預かりサーバ３は、入力されたＩＳＰのユーザＩＤおよびパスワードと、取得された端末の接続情報とが、記憶部で管理している図７に示す情報と一致するか否かを判定する（Ｓ１０２）。一致している場合には（Ｓ１０２，ＯＫ）ログインが許可され（Ｓ１０３）、Ｓ１０の処理が完了して次の処理に移行する。一方、不一致の場合には（Ｓ１０２，ＮＧ）ログインが不許可とされ（Ｓ１０４）、Ｓ１０１の処理に戻る。
【００４０】
図５に戻る。予備鍵預かりサーバ３は、予備鍵ペア、すなわち予備の公開鍵Ｋ３および秘密鍵Ｋ４を生成し、記憶部等の適当なメモリ領域に記憶する（Ｓ１１）。また、予備鍵預かりサーバ３は、端末１の認証が完了した旨をＷＥＢサービスサーバ２に通知するための端末認証トークンを、生成した予備の秘密鍵Ｋ４を用いて生成する（Ｓ１２）。
【００４１】
ここで、図８および図９を参照して、端末認証トークンの生成処理について説明する。端末認証トークンは、図８に示すように、図９に示す各種パラメータの値を含んだ情報を、予備の秘密鍵Ｋ４で暗号化して生成される。
【００４２】
すなわち、端末認証トークンには、図９に示すように、トークンごとに発行されるランダム値（nonce）、リダイレクト（Ｓ７）に含まれるＷＥＢサービスサーバ２のＵＲＩ（web_service_uri）およびＷＥＢサービスのユーザＩＤ（user_id）、トークンの有効期限（秒）（expire）およびトークンの生成時の時刻（年月日時分秒）（time）の各パラメータ値が含まれる。予備鍵預かりサーバ３は、これらのパラメータ値を含んだ情報を予備の秘密鍵Ｋ４で暗号化し、Ｂａｓｅ６４Ｅｎｃｏｄｉｎｇ等によりＵＲＬに記載できる文字コードに表現形式を変えることによって、端末認証トークンを生成する。
【００４３】
具体的に、図８に示す例では、生成された端末認証トークン「awniw....newoan」には、ランダム値（nonce）として「nkidsoab」、ＷＥＢサービスサーバ２のＵＲＩ（web_service_uri）として「https://spare-key.isp.com/authorize」、ＷＥＢサービスのユーザＩＤ（user_id）として「userid1」、トークンの有効期限（秒）（expire）として「３００」、トークンの生成時の時刻（年月日時分秒）（time）として「２０１４１１２２１３３０２０」が含まれている。
【００４４】
図５に戻る。予備鍵預かりサーバ３は、生成した端末認証トークンと、リダイレクト（Ｓ７）に含まれるＷＥＢサービスサーバ２のＵＲＩおよびＷＥＢサービスのユーザＩＤとを記憶部に記憶させる（Ｓ１３、図４参照）。
【００４５】
また、予備鍵預かりサーバ３は、Ｓ１２の処理で生成した端末認証トークンを、リダイレクトによりＷＥＢサービスサーバ２に転送する（Ｓ１４）。このリダイレクトには、次式（２）に例示されるように、ＷＥＢサービスサーバ２のＵＲＩ「https://spare-key.web-service.com/cb」、端末認証トークン「awniw....newoan」が含まれる。
【００４６】
【数２】
2016144038.tif 000004
【００４７】
ＷＥＢサービスサーバ２は、Ｓ６の処理で記憶しておいた予備鍵預かりサーバ３のＵＲＩ（図３参照）のドメインと、リダイレクト（Ｓ１４）の送信元のＵＲＩのドメインとが一致していることを確認する（Ｓ１５）。また、ＷＥＢサービスサーバ２は、予備鍵預かりサーバ３との間でＨＴＴＰＳのセッションを確立し、予備鍵預かりサーバ３のサーバ証明書を受信する（Ｓ１６）。そして、ＷＥＢサービスサーバ２は、受信したサーバ証明書に記載されているＵＲＩのドメインと、Ｓ６の処理で記憶しておいた予備鍵預かりサーバ３のＵＲＩのドメインとが一致していることを確認する（Ｓ１７）。これらの確認により、予備鍵預かりサーバ３の成りすましを防止できる。
【００４８】
次に、ＷＥＢサービスサーバ２は、Ｓ１４の処理で受信した端末認証トークンをＰＯＳＴにより予備鍵預かりサーバ３にデータ送信、すなわち返送する（Ｓ１８）。このＰＯＳＴには、次式（３）に例示されるように、端末認証トークン「awniw....newoan」の他、送信元であるＷＥＢサービスサーバ２のＵＲＩ（web_service_uri）として「https://spare-key.web-service.com/cb」と、ＷＥＢサービスのユーザＩＤ（user_id）として「userid1」とが含まれる。
【００４９】
【数３】
2016144038.tif 000005
【００５０】
予備鍵預かりサーバ３は、Ｓ１６の処理で受信して記憶しておいた、ＷＥＢサービスサーバ２のサーバ証明書を参照し、サーバ証明書に記載されているＵＲＩのドメインと、データ送信（Ｓ１８）の送信元のＵＲＩのドメインと、Ｓ１３の処理で記憶しておいたＷＥＢサービスサーバ２のドメインとが一致していることを確認する（Ｓ１９）。
【００５１】
また、予備鍵預かりサーバ３は、Ｓ１８の処理で受信した端末認証トークンを生成した予備の公開鍵Ｋ３で復号し検証する（Ｓ２０）。具体的に、予備鍵預かりサーバ３は、図９に例示した検証方法により、検証を行う。
【００５２】
例えば、予備鍵預かりサーバ３は、トークン毎に生成されるランダム値（nonce）が以前に受信した値ではないことを確認する。これにより、リプレイアタックを防止する。また予備鍵預かりサーバ３は、Ｓ１３の処理で記憶しておいたＷＥＢサービスサーバ２のＵＲＩ、Ｓ１８の処理で受信したＰＯＳＴのボディ部に送信元として含まれるＷＥＢサービスサーバ２のＵＲＩ（web_service_uri）、および復号した端末認証トークンに含まれるＷＥＢサービスサーバ２のＵＲＩ（web_service_uri）が一致することを確認する。これにより、ＷＥＢサービスサーバ２の詐称を防止する。また、予備鍵預かりサーバ３は、Ｓ１３の処理で記憶しておいたＷＥＢサービスのユーザＩＤ、Ｓ１８の処理で受信したＰＯＳＴのボディ部に含まれるＷＥＢサービスのユーザＩＤ（user_id）、および復号した端末認証トークンに含まれるＷＥＢサービスのユーザＩＤ（user_id）が一致することを確認する。これにより、ＷＥＢサービスを利用しているユーザの詐称を防止する。また、予備鍵預かりサーバ３は、復号した端末認証トークンが有効期限内であること、すなわち、現在時刻が、端末認証トークンの生成時刻（time）に端末認証トークンの有効期限（expire）を加算した時刻より前であることを確認する。これにより、端末認証トークンを一定期間中のみ有効にして、不正利用されることを防止する。
【００５３】
以上、Ｓ１９の確認処理およびＳ２０の検証処理により、端末１およびＷＥＢサービスサーバ２の成りすましを防止できる。
【００５４】
その後、予備鍵預かりサーバ３は、Ｓ５およびＳ７の予備鍵登録要求に応答して、ＷＥＢサービスサーバ２に生成した予備の公開鍵Ｋ３を送信する（Ｓ２１）。この応答には、次式（４）に例示されるように、ユーザのＷＥＢサービスのユーザＩＤ（user_id）「userid1」および公開鍵（public_key）「WQiOiAic…………zZCaGRSa3F」が含まれる。
【００５５】
【数４】
2016144038.tif 000006
【００５６】
応答を受信したＷＥＢサービスサーバ２は、受信した予備の公開鍵Ｋ３を記憶部に記憶させる（Ｓ２２、図４参照）。これにより、一連の予備鍵登録処理が完了する。
【００５７】
［鍵再登録処理］
図１０は、サービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２を再登録する鍵再登録処理手順を例示するシーケンス図である。上記の予備鍵登録処理により予備鍵を登録したユーザは、端末１を紛失したり変更したりして認証デバイスにサービス認証用の秘密鍵Ｋ２を記憶していない場合に、サービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２の再登録を要求できる。その場合、図１０に示すように、端末１はまず、予備鍵預かりサーバ３との間でＨＴＴＰＳのセッションを確立し（Ｓ３１）、予備鍵預かりサーバ３のサーバ証明書を受信して検証する（Ｓ３２）。また、端末１が予備鍵預かりサーバ３にログインを要求し（Ｓ３３）、予備鍵預かりサーバ３は、ＩＳＰのユーザＩＤでログインさせる（Ｓ３４）。なお、Ｓ３４の処理は、前述したＳ１０の処理と同様に行われる。
【００５８】
ユーザは、ＷＥＢサービスサーバ２のＵＲＩを指定して、サービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２の再登録を要求するための所定のボタンを押下する等の操作入力を行う（Ｓ３５）。予備鍵預かりサーバ３およびＷＥＢサービスサーバ２は、互いの間でＨＴＴＰＳのセッションを確立し、サーバ証明書を交換し検証する（Ｓ３６）。
【００５９】
予備鍵預かりサーバ３はＷＥＢサービスサーバ２のサーバ証明書に記載されているＵＲＩのドメインと、Ｓ１３の処理で記憶しておいたＷＥＢサービスサーバ２のＵＲＩ（図４参照）のドメインとが一致していることを確認する（Ｓ３７）。
【００６０】
予備鍵預かりサーバ３は、端末１からの鍵再登録要求をＷＥＢサービスサーバ２に通知するための鍵再登録トークンを、予備の秘密鍵Ｋ４を用いて生成する（Ｓ３８）。
【００６１】
ここで、図１１および図１２を参照して、鍵再登録トークンの生成処理について説明する。鍵再登録トークンは、図１１に示すように、図１２に示す各種パラメータの値を含んだ情報を、予備の秘密鍵Ｋ４で暗号化して生成される。
【００６２】
すなわち、鍵再登録トークンには、図１２に示すように、トークンごとに発行されるランダム値（nonce）、予備鍵預かりサーバ３のＵＲＩ（isp_uri）、予備鍵預かりサーバ３が記憶しているＷＥＢサービスのユーザＩＤ（user_id）、トークンの有効期限（秒）（expire）およびトークンの生成時の時刻（年月日時分秒）（time）の各パラメータ値が含まれる。予備鍵預かりサーバ３は、これらのパラメータ値を含んだ情報を予備の秘密鍵Ｋ４で暗号化して、鍵再登録トークンを生成する。
【００６３】
具体的に、図１１に示す例では、生成された端末認証トークン「ncion......ewnoi」には、ランダム値（nonce）として「na35soab」、予備鍵預かりサーバ３のＵＲＩ（isp_uri）として「https://spare-key.web-service.com/cb」、予備鍵預かりサーバ３が記憶しているＷＥＢサービスのユーザＩＤ（user_id）として「userid1」、トークンの有効期限（秒）（expire）として「３００」、トークンの生成時の時刻（年月日時分秒）（time）として「２０１４１２２２１４３０２０」が含まれている。
【００６４】
図１０に戻る。予備鍵預かりサーバ３は、生成した鍵再登録トークンをＰＯＳＴによりＷＥＢサービスサーバ２にデータ送信する（Ｓ３９）。このＰＯＳＴには、次式（５）に例示されるように、鍵再登録トークン（recreate_token）として「ncion......ewnoi」が含まれる他、鍵生成要求を示すフラグ「key_recreate=1」と、ＷＥＢサービスのユーザＩＤ（user_id）として「userid1」とが含まれる。
【００６５】
【数５】
2016144038.tif 000007
【００６６】
ＷＥＢサービスサーバ２は、記憶部を参照して受信したＷＥＢサービスのユーザＩＤに対応する予備の公開鍵Ｋ３を抽出し、受信した鍵再登録トークンを、抽出した予備の公開鍵Ｋ３で復号し検証する（Ｓ４０）。具体的に、ＷＥＢサービスサーバ２は、図１２に例示した検証方法により、検証を行う。
【００６７】
例えば、ＷＥＢサービスサーバ２は、トークン毎に生成されるランダム値（nonce）が以前に受信した値ではないことを確認する。これにより、リプレイアタックを防止する。また、ＷＥＢサービスサーバ２は、Ｓ６の処理で記憶しておいた予備鍵預かりサーバ３のＵＲＩ（図３参照）と、復号した鍵再登録トークンに含まれる予備鍵預かりサーバ３のＵＲＩ（isp_uri）とが一致することを確認する。これにより、予備鍵預かりサーバ３の詐称を防止する。また、ＷＥＢサービスサーバ２は、Ｓ３９の処理で受信したＰＯＳＴのボディ部に含まれるＷＥＢサービスのユーザＩＤ（user_id）と、復号した鍵再登録トークンに含まれるＷＥＢサービスのユーザＩＤ（user_id）とが一致することを確認する。これにより、ＷＥＢサービスを利用しているユーザの詐称を防止する。また、ＷＥＢサービスサーバ２は、復号した鍵再登録トークンが有効期限内であること、すなわち、現在時刻が、鍵再登録トークンの生成時刻（time）に鍵再登録トークンの有効期限（expire）を加算した時刻より前であることを確認する。これにより、鍵再登録トークンを一定期間中のみ有効として不正利用されることを防止する。
【００６８】
また、ＷＥＢサービスサーバ２は、Ｓ６の処理で記憶しておいた予備鍵預かりサーバ３のＵＲＩ（図３参照）のドメインと、Ｓ３６の処理で受信した予備鍵預かりサーバ３のサーバ証明書に記載されているＵＲＩのドメインとが一致することを確認する（Ｓ４１）。
【００６９】
以上の処理により、端末１および予備鍵預かりサーバ３を認証すると、ＷＥＢサービスサーバ２は、サービス認証用の鍵の登録処理に用いられるワンタイムパスワード（ｏｔｐ）を生成し（Ｓ４２）、鍵生成要求（Ｓ３９）に応答して、予備鍵預かりサーバ３にｏｔｐを送信する（Ｓ４３）。予備鍵預かりサーバ３は、受信したｏｔｐを鍵再登録要求（Ｓ３５）に応答して端末１に転送する（Ｓ４４）。
【００７０】
端末１がｏｔｐを受信すると、端末１とＷＥＢサービスサーバ２との間で、サービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２の登録処理が実行される（Ｓ４５）。これにより、端末１にサービス認証用の秘密鍵Ｋ２が記憶され、ＷＥＢサービスサーバ２のサービス認証用の公開鍵Ｋ１が更新される。
【００７１】
なお、上記の予備鍵登録処理は、ユーザに対してＷＥＢサービスのユーザＩＤが発行され、Ｓ４５の処理と同様に端末１とＷＥＢサービスサーバ２との間でサービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２が生成され登録された後に、引き続き行われてもよい。この場合、ＷＥＢサービスサーバ２へのログイン処理（Ｓ１〜Ｓ４）を省略できる。
【００７２】
以上、説明したように、本実施形態の認証システム１０において、ＷＥＢサービスのユーザＩＤが発行されているユーザが所有し、サービス認証用の秘密鍵Ｋ２を記憶している端末１が、予備の公開鍵Ｋ３および秘密鍵Ｋ４の登録を要求すると、予備鍵預かりサーバ３がＷＥＢサービスサーバ２を介して要求を受信して、予備の公開鍵Ｋ３および秘密鍵Ｋ４を生成し、生成した予備の秘密鍵Ｋ４を登録するとともに、生成した予備の公開鍵Ｋ３をＷＥＢサービスサーバ２に送信して登録させる。また、予備の公開鍵Ｋ３および秘密鍵Ｋ４が登録されているユーザが所有し、サービス認証用の秘密鍵Ｋ２が登録されていない端末１が、サービス認証用の秘密鍵Ｋ２の再登録を要求すると、予備鍵預かりサーバ３は、要求を予備の秘密鍵Ｋ４を用いて暗号化した鍵再登録トークンをＷＥＢサービスサーバ２に送信する。ＷＥＢサービスサーバ２は、予備の公開鍵Ｋ３を用いて鍵再登録トークンを復号して得た要求に基づいて、端末１とＷＥＢサービスサーバ２との間でサービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２を生成し登録するサービス認証用鍵の登録処理を開始させる。
【００７３】
これにより、ユーザの所有する端末ではなく予備鍵預かりサーバ３とＷＥＢサービスサーバ２との間で予備鍵を管理することができる。そして、ユーザがサービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２の再登録を要求した場合、ＷＥＢサービスサーバ２が予備鍵を用いてユーザを認証することができる。したがって、本実施形態の認証システム１０によれば、ＷＥＢサービスを利用するユーザが、所有端末を紛失したり変更したりして鍵を紛失した場合に、セキュリティを低下させることなくオンラインでサービス認証用の公開鍵Ｋ１および秘密鍵Ｋ２を再登録すなわち復旧することができる。
【００７４】
また、ＨＴＴＰＳを利用して通信することにより、サーバ証明書を利用したＴＬＳ／ＳＳＬ接続を行うことができるので、二者間の通信を中継するようなＭＩＴＭ攻撃を防止することができる。さらに、ランダム値を用いた有効期限のあるトークンを生成して情報を送受するため、リプレイ攻撃や不正利用を防止することができる。
【００７５】
［他の実施形態］
［プログラム］
上記実施形態に係る予備鍵預かりサーバ３が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、係るプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、予備鍵預かりサーバ３と同様の機能を実現する予備鍵管理プログラムを実行するコンピュータの一例を説明する。
【００７６】
図１３に示すように、予備鍵管理プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００７７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００７８】
ここで、図１３に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００７９】
また、予備鍵管理プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した予備鍵預かりサーバ３が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０３１に記憶される。
【００８０】
また、予備鍵管理プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００８１】
なお、予備鍵管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、予備鍵管理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００８２】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００８３】
１  端末
２  ＷＥＢサービスサーバ
３  予備鍵預かりサーバ
１０  認証システム
【図１】
2016144038.tif 000008
【図２】
2016144038.tif 000009
【図３】
2016144038.tif 000010
【図４】
2016144038.tif 000011
【図５】
2016144038.tif 000012
【図６】
2016144038.tif 000013
【図７】
2016144038.tif 000014
【図８】
2016144038.tif 000015
【図９】
2016144038.tif 000016
【図１０】
2016144038.tif 000017
【図１１】
2016144038.tif 000018
【図１２】
2016144038.tif 000019
【図１３】
2016144038.tif 000020