(57)【要約】【課題】ＩＰ制限やＶＰＮといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現できるようにする。【解決手段】クライアント端末１００からの要求に応じて認証サーバ２００にて発行した証明書を発行済み証明書記憶部１１３に記憶しておき、当該記憶された証明書をデバイス情報と共に認証サーバ２００に送信して第１の認証を実行した後、ユーザＩＤ／パスワードを認証サーバ２００に送信して第２の認証を実行することにより、クライアント端末１００の証明書とユーザＩＤ／パスワードとを対応付けて認証サーバ２００にあらかじめ記憶するとともに、証明書を各クライアント端末１００にあらかじめ記憶するというサービス利用環境のセットアップを行うことなく、証明書を用いた第１の認証と、ユーザＩＤ／パスワードを用いた第２の認証とを行うことができるようにする。【選択図】図２
2020071620.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザを備えたクライアント端末と、上記クライアント端末からの要求に応じて認証を行う認証サーバとを備えて構成された認証システムであって、
上記クライアント端末は、
上記クライアント端末のデバイス情報を上記ウェブブラウザから上記認証サーバに送信して証明書の発行を要求する証明書発行要求部と、
上記証明書発行要求部による証明書発行要求に対する応答として上記認証サーバから発行された証明書を受信し、端末内部の記憶媒体に記憶させる証明書記録部と、
上記記憶媒体に記憶された証明書を上記デバイス情報と共に上記ウェブブラウザから上記認証サーバに送信して第１の認証を要求する第１の認証要求部と、
上記第１の認証に成功した旨の通知を上記第１の認証要求部が上記認証サーバから受信した後、ユーザにより入力されたユーザＩＤおよびパスワードを上記ウェブブラウザから上記認証サーバに送信して第２の認証を要求する第２の認証要求部とを備え、
上記認証サーバは、
上記証明書発行要求部による証明書発行要求に応じて、上記証明書を上記クライアント端末に対して発行するとともに、当該発行した証明書を上記証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部に記憶させる証明書発行部と、
上記第１の認証要求部による要求に応じて、上記クライアント端末から送られてきた証明書およびデバイス情報と、上記証明書情報記憶部に記憶されている証明書およびデバイス情報とを照合することによって第１の認証処理を行い、その成否の結果を上記クライアント端末に通知する第１の認証処理部と、
上記第２の認証要求部による要求に応じて、上記クライアント端末から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって第２の認証処理を行い、その成否の結果を上記クライアント端末に通知する第２の認証処理部とを備えたことを特徴とする認証システム。
【請求項２】
上記第２の認証処理部は、初回のログイン時に、上記クライアント端末から送られてきたユーザＩＤおよびパスワードと、上記ユーザ情報記憶部にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって上記第２の認証処理を行う一方、２回目以降のログイン時に、上記クライアント端末から送られてきたユーザＩＤおよびパスワードと、上記ユーザ情報記憶部にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合するとともに、上記クライアント端末から送られてきたユーザＩＤおよびパスワードの少なくとも一方が、上記第１の認証に使用された証明書と紐付けられたものであるかを照合することによって上記第２の認証処理を行うようになされ、
上記証明書発行部は、上記初回のログイン時における上記第２の認証が成功した後、上記証明書発行要求部による証明書発行要求に応じて上記証明書を発行し、当該発行した証明書を上記デバイス情報と関連付けて証明書情報記憶部に記憶させるとともに、当該発行した証明書と上記初回のログイン時に使用された上記ユーザＩＤおよびパスワードの少なくとも一方とを紐付ける紐付け情報を上記証明書情報記憶部に記憶させることを特徴とする請求項１に記載の認証システム。
【請求項３】
上記第２の認証処理部は、上記第１の認証が成功した場合にのみ、上記ユーザＩＤおよびパスワードの入力を促す認証情報入力画面を上記クライアント端末の上記ウェブブラウザに提供し、
上記第２の認証要求部は、上記認証情報入力画面を受信し、当該認証情報入力画面を通じてユーザにより入力されたユーザＩＤおよびパスワードを上記認証サーバに送信して上記第２の認証を要求することを特徴とする請求項１に記載の認証システム。
【請求項４】
上記証明書発行要求部は、上記デバイス情報と共にＩＰアドレスを上記認証サーバに送信して証明書の発行を要求し、
上記証明書発行部は、上記クライアント端末から送られてきたＩＰアドレスと、登録ＩＰアドレス記憶部にあらかじめ記憶されている特定のＩＰアドレスとを照合し、上記特定のＩＰアドレスと共に上記証明書発行要求を受けたと判定された場合に、上記証明書を発行することを特徴とする請求項１〜３の何れか１項に記載の認証システム。
【請求項５】
上記証明書発行部は、ユーザによる所定の操作によって上記証明書発行要求の受付待機状態に設定されてから所定時間以内に上記証明書発行要求を受信した場合に、上記証明書を発行することを特徴とする請求項１〜３の何れか１項に記載の認証システム。
【請求項６】
上記第１の認証処理部は、上記第１の認証が不成功と判断した場合に、上記証明書情報記憶部に記憶されている証明書のうち、上記クライアント端末から送られてきた証明書と同じ証明書を無効化することを特徴とする請求項１〜５の何れか１項に記載の認証システム。
【請求項７】
上記第１の認証要求部および上記第２の認証要求部の少なくとも一方は、認証要求の際にＩＰアドレスを上記認証サーバに送信し、
上記第１の認証処理部および上記第２の認証処理部の少なくとも一方は、上記認証要求の際に送られてきたＩＰアドレスを一時記憶部に記憶し、
上記認証サーバは、上記第１の認証および上記第２の認証の成功後に上記クライアント端末からウェブサーバに対して行われるアクセス時に送られてくるＩＰアドレスが上記一時記憶部に記憶されたＩＰアドレスと一致しているか否かを判定し、一致していない場合に強制ログアウトする強制ログアウト部を更に備えたことを特徴とする請求項１〜６の何れか１項に記載の認証システム。
【請求項８】
ウェブブラウザを備えたクライアント端末からの要求に応じて認証を行う認証サーバであって、
上記クライアント端末のデバイス情報と共に送信されてくる証明書発行要求に応じて、証明書を上記クライアント端末に対して発行するとともに、当該発行した証明書を上記デバイス情報と関連付けて証明書情報記憶部に記憶させる証明書発行部と、
上記証明書発行部により発行された証明書および上記デバイス情報と共に送信されてくる第１の認証要求に応じて、上記クライアント端末から送られてきた証明書およびデバイス情報と、上記証明書情報記憶部に記憶されている証明書およびデバイス情報とを照合することによって第１の認証処理を行い、その成否の結果を上記クライアント端末に通知する第１の認証処理部と、
上記第１の認証に成功した旨を上記クライアント端末に通知した後、上記クライアント端末からユーザＩＤおよびパスワードと共に送信されてくる第２の認証要求に応じて、上記クライアント端末から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって第２の認証処理を行い、その成否の結果を上記クライアント端末に通知する第２の認証処理部とを備えたことを特徴とする認証サーバ。
【請求項９】
ウェブブラウザを備えたクライアント端末と、上記クライアント端末からの要求に応じて認証を行う認証サーバとを備えて構成された認証システムにおける認証方法であって、
上記クライアント端末の証明書発行要求部が、上記クライアント端末のデバイス情報を上記ウェブブラウザから上記認証サーバに送信して証明書の発行を要求する第１のステップと、
上記認証サーバの証明書発行部が、上記証明書発行要求部による証明書発行要求に応じて、上記証明書を上記クライアント端末に対して発行するとともに、当該発行した証明書を上記証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部に記憶させる第２のステップと、
上記クライアント端末の証明書記録部が、上記証明書発行要求部による証明書発行要求に対する応答として上記認証サーバから発行された証明書を受信し、端末内部の記憶媒体に記憶させる第３のステップと、
上記クライアント端末の第１の認証要求部が、上記記憶媒体に記憶された証明書を上記デバイス情報と共に上記ウェブブラウザから上記認証サーバに送信して第１の認証を要求する第４のステップと、
上記認証サーバの第１の認証処理部が、上記第１の認証要求部による要求に応じて、上記クライアント端末から送られてきた証明書およびデバイス情報と、上記証明書情報記憶部に記憶されている証明書およびデバイス情報とを照合することによって第１の認証処理を行い、その成否の結果を上記クライアント端末に通知する第５のステップと、
上記クライアント端末の第２の認証要求部が、上記第１の認証に成功した旨の通知を上記第１の認証要求部が上記認証サーバから受信した後、ユーザにより入力されたユーザＩＤおよびパスワードを上記ウェブブラウザから上記認証サーバに送信して第２の認証を要求する第６のステップと、
上記認証サーバの第２の認証処理部が、上記第２の認証要求部による要求に応じて、上記クライアント端末から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって第２の認証処理を行い、その成否の結果を上記クライアント端末に通知する第７のステップとを有することを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、認証サーバおよび認証方法に関し、特に、証明書を用いた第１の認証と、ユーザＩＤ／パスワードを用いた第２の認証とを行う認証システムに用いて好適なものである。
【背景技術】
【０００２】
従来、クライアント端末がウェブサーバにアクセスする場合に、正当なクライアント端末に対してのみアクセスを許可することがある。正当なクライアント端末かどうかを確認するために、ユーザＩＤとパスワードとを用いた認証を行うことが多い。また、より強いセキュリティ制御が求められる環境では、ＩＰ制限やＶＰＮ（Virtual Private Network）が利用されている。
【０００３】
ユーザＩＤ／パスワードを用いた認証の場合、基本的にクライアント端末ではウェブブラウザがあれば利用することができるため、簡便に導入することが可能である。しかしながら、近年、防犯カメラの高解像度化も進み、ユーザＩＤ／パスワードを盗み見られるケースが増えている。そのため、セキュリティの強さという点では弱みがある。
【０００４】
一方、ＩＰ制限やＶＰＮの利用は、セキュリティの強度を向上させることができる反面、ユーザの利便性が低下するという問題がある。すなわち、ＩＰ制限は、接続元のＩＰアドレスによって認証を行うため、固定ＩＰアドレスが用いられるオフィスからの接続については問題ないが、サテライト的な拠点で変動ＩＰアドレスが用いられる場所からの接続では利便性が低下する。また、ＶＰＮは、端末毎にＶＰＮ環境のセットアップが必要であり、サービス側の対応も必要となるため、サービス利用までに多くの手間がかかり、また多くの管理コストが発生するという問題があった。
【０００５】
なお、従来、クライアント認証を比較的簡単に行うことを目的として、ユーザＩＤ／パスワードとクライアント証明書とを用いて認証を行うシステムが提案されている（例えば、特許文献１参照）。この特許文献１には、クライアント端末に固有の情報を用いたクライアント証明書をクライアント端末に記憶しておき、クライアント証明書を用いた第１認証の後に、ユーザＩＤ／パスワードを用いた第２認証を行うことが開示されている。
【０００６】
具体的には、特許文献１に記載の認証システムでは、クライアント証明書とユーザＩＤ／パスワードとを対応付けて認証サーバのユーザ・データベースにあらかじめ記憶しておき、クライアント証明書を用いた認証サーバにおける第１認証に成功した後に、認証サーバがユーザ・データベースからユーザＩＤ／パスワードを読み出してウェブサーバに送ることによって第２認証を行う。これにより、ユーザは、直接的にはクライアント証明書を用いた認証だけを行えばよく、クライアント認証を比較的簡単に行うことが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−９８７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に記載の認証システムを利用するためには、クライアント証明書とユーザＩＤ／パスワードとを対応付けて認証サーバのユーザ・データベースにあらかじめ記憶するとともに、クライアント証明書を各クライアント端末にあらかじめ記憶するというサービス利用環境のセットアップを行う必要がある。そのため、サービス利用までに多くの手間がかかり、また多くの管理コストが発生するという問題があった。
【０００９】
本発明は、このような問題を解決するために成されたものであり、ＩＰ制限やＶＰＮといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記した課題を解決するために、本発明では、クライアント端末からの要求に応じて認証サーバにて証明書を発行し、当該発行した証明書をクライアント端末の内部の記憶媒体に記憶しておく。そして、記憶媒体に記憶された証明書をデバイス情報と共にクライアント端末から認証サーバに送信して第１の認証を実行した後、第１の認証の成功後に、クライアント端末からユーザＩＤおよびパスワードを認証サーバに送信して第２の認証を実行するようにしている。
【発明の効果】
【００１１】
上記のように構成した本発明によれば、認証を受けたいクライアント端末ごとに随時、証明書発行要求を認証サーバに送信することによって証明書を発行してもらい、その証明書をクライアント端末に記憶しておくことで、その後の任意のタイミングで証明書を用いた第１の認証を行い、その第１の認証に続けてユーザＩＤ／パスワードを用いた第２の認証を行うことができる。このため、クライアント端末の証明書とユーザＩＤ／パスワードとを対応付けて認証サーバにあらかじめ記憶するとともに、クライアント証明書を各クライアント端末にあらかじめ記憶するというサービス利用環境のセットアップを行うことなく、証明書を用いた第１の認証と、ユーザＩＤ／パスワードを用いた第２の認証とを行うことができるようになる。これにより、本発明によれば、ＩＰ制限やＶＰＮといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態による認証システムを備えたサービス提供システムの構成例を示す図である。
【図２】第１の実施形態によるサービス提供システムの機能構成例を示す図である。
【図３】第１の実施形態による認証システムの証明書発行時の動作例を示すフローチャートである。
【図４】第１の実施形態による認証システムの認証処理時の動作例を示すフローチャートである。
【図５】第２の実施形態によるサービス提供システムの機能構成例を示す図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
以下、本発明の第１の実施形態を図面に基づいて説明する。図１は、第１の実施形態による認証システムを備えたサービス提供システムの構成例を示す図である。第１の実施形態による認証システムは、ウェブブラウザを備えたクライアント端末１００と、クライアント端末１００からの要求に応じて認証を行う認証サーバ２００とを備えて構成される。
【００１４】
また、サービス提供システムは、以上の認証システムに加え、更にアプリケーションサーバ３００（特許請求の範囲のウェブサーバに相当）を備えて構成される。アプリケーションサーバ３００は、クライアント端末１００のウェブブラウザと認証サーバ２００との間でウェブベースにて行われる認証に成功した場合に、クライアント端末１００のウェブブラウザからの要求に応じて所与のウェブアプリケーション処理を実行する。
【００１５】
クライアント端末１００は、複数の拠点ＢＳ１，ＢＳ２からインターネット５００にアクセスし、認証サーバ２００およびアプリケーションサーバ３００と接続可能に構成されている。
【００１６】
例えば、第１の拠点ＢＳ１は、ユーザが所属する企業内に構築された社内ＬＡＮ４００を有するネットワークである。クライアント端末１００は、社内ＬＡＮ４００に対して有線で接続し、社内ＬＡＮ４００に接続されたルータ４０１を介してインターネット５００に接続することが可能である。また、クライアント端末１００は、社内ＬＡＮ４００に接続されたアクセスポイント（ＡＰ４０２）に無線で接続し、当該ＡＰ４０２からルータ４０１を介してインターネット５００に接続することも可能である。
【００１７】
第２の拠点ＢＳ２は、ユーザが所属する企業外に構築された社外ＬＡＮ４１０を有するネットワークである。クライアント端末１００は、社外ＬＡＮ４１０に接続されたＡＰ４１２に無線で接続し、当該ＡＰ４１２からルータ４１１を介してインターネット５００に接続することが可能である。なお、ここでは説明の簡略化のため第２の拠点ＢＳ２を１つのみ図示しているが、実際には複数ある。
【００１８】
第２の拠点ＢＳ２からインターネット５００を介してアプリケーションサーバ３００にアクセスする際には、認証サーバ２００による認証（後述する証明書を用いた第１の認証と、ユーザＩＤ／パスワードを用いた第２の認証）を行う必要がある。一方、第１の拠点ＢＳ１からインターネット５００を介してアプリケーションサーバ３００にアクセスする際には、認証サーバ２００による認証を不要としてもよいが、第２の認証のみを行うようにしてもよい。また、第２の拠点ＢＳ２からアクセスする場合と同様に、第１の認証および第２の認証の両方を行うようにしてもよい。以下では、第１の認証および第２の認証の両方を行うものとして説明する。
【００１９】
図２は、第１の実施形態によるサービス提供システム（クライアント端末１００、認証サーバ２００およびアプリケーションサーバ３００）の機能構成例を示すブロック図である。図２に示すように、クライアント端末１００は、その機能構成として、証明書発行要求部１０１、証明書記録部１０２、第１の認証要求部１０３、第２の認証要求部１０４、アプリケーション実行要求部１０５および操作部１０６を備えている。また、クライアント端末１００は、記憶媒体として、デバイス情報記憶部１１１、使用ＩＰアドレス記憶部１１２および発行済み証明書記憶部１１３を備えている。
【００２０】
上記各機能ブロック１０１〜１０６は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１０１〜１０６は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００２１】
認証サーバ２００は、その機能構成として、証明書発行部２０１、第１の認証処理部２０２および第２の認証処理部２０３を備えている。また、認証サーバ２００は、記憶媒体として、ユーザ情報記憶部２１１、登録ＩＰアドレス記憶部２１２および証明書情報記憶部２１３を備えている。
【００２２】
上記各機能ブロック２０１〜２０３は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック２０１〜２０３は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００２３】
アプリケーションサーバ３００は、その機能構成として、アプリケーション実行部３０１を備えている。このアプリケーション実行部３０１は、ハードウェア、ＤＳＰ、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、アプリケーション実行部３０１は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００２４】
なお、ここでは、認証サーバ２００とアプリケーションサーバ３００とを別サーバとして構成する例について説明したが、これに限定されない。例えば、アプリケーションサーバ３００が認証サーバ２００を備える構成としてもよい。
【００２５】
まず、クライアント端末１００および認証サーバ２００が備える記憶媒体につて説明する。
【００２６】
クライアント端末１００のデバイス情報記憶部１１１は、クライアント端末１００に固有のデバイス情報を記憶する。デバイス情報記憶部１１１には各種のデバイス情報が記憶されているが、本実施形態において用いるデバイス情報は、例えば、クライアント端末１００に搭載されているＣＰＵおよびＯＳ（オぺーレーティングシステム）の種類およびバージョンを示す情報である。また、これらの情報に加えて、バッテリの有無、設定されている画面解像度の他、搭載されている各種デバイス（メモリ、ストレージ、チップセット等）の何れかに関する情報を用いてもよい。また、ＭＡＣアドレスを用いてもよい。要は、クライアント端末１００をユニークに特定可能な情報であればよく、１つの情報または複数の情報の組み合わせをデバイス情報として用いる。
【００２７】
使用ＩＰアドレス記憶部１１２は、クライアント端末１００において使用中のＩＰアドレスを記憶する。クライアント端末１００において使用するＩＰアドレスは、クライアント端末１００を接続する拠点のネットワークによって変動し得る。すなわち、使用ＩＰアドレス記憶部１１２は、クライアント端末１００が現在接続している拠点のネットワークに由来するＩＰアドレスを記憶する。よって、クライアント端末１００が接続する拠点のネットワークを変えると、使用ＩＰアドレス記憶部１１２に記憶されるＩＰアドレスも変わる。
【００２８】
発行済み証明書記憶部１１３は、認証サーバ２００に対する要求に応じて発行された証明書を記憶する。なお、いったん証明書が発行された後は、ユーザが意図的に削除の指示をしない限り、証明書は発行済み証明書記憶部１１３に記憶され続ける。
【００２９】
認証サーバ２００のユーザ情報記憶部２１１は、ユーザに対して発行したユーザＩＤおよびパスワードをユーザ毎に記憶する。ユーザに対するユーザＩＤ／パスワードの発行は、公知の手法によってあらかじめ行われているものとする。例えば、アプリケーションサーバ３００が提供するアプリケーションサービスの利用を希望するユーザが、サービス利用の申し込みを行い、その申込時にユーザまたはアプリケーションサーバ３００により設定されたユーザＩＤ／パスワードをユーザ情報記憶部２１１に記憶する。
【００３０】
登録ＩＰアドレス記憶部２１２は、証明書の発行を許可するＩＰアドレスを事前に登録して記憶しておくものである。後述するように、本実施形態では、認証サーバ２００は、特定のＩＰアドレスを使用しているクライアント端末１００から証明書の発行要求が送られてきたときにのみ、証明書の発行を許可する。特定のＩＰアドレスは、第１の拠点ＢＳ１における社内ＬＡＮ４００にクライアント端末１００を接続した場合に使用される固定ＩＰアドレスである。
【００３１】
証明書情報記憶部２１３は、クライアント端末１００からの証明書発行要求に応じて発行された証明書を、当該証明書発行要求と共に送られてくるデバイス情報と関連付けてクライアント端末１００ごとに記憶する。証明書情報記憶部２１３は、証明書が発行される都度、証明書とデバイス情報との組を随時追加して記憶していく。
【００３２】
次に、クライアント端末１００、認証サーバ２００およびアプリケーションサーバ３００の機能構成について説明する。
【００３３】
クライアント端末１００の操作部１０６は、ユーザがクライアント端末１００のウェブブラウザに対して各種の指示をしたり、各種の情報を入力したりするために用いるものである。例えば、ユーザは、操作部１０６を操作することにより、認証サーバ２００に対して証明書の発行を要求したり、第１の認証の実行を要求したり、第２の認証の実行を要求したりする。また、ユーザは、操作部１０６を操作することにより、アプリケーションサーバ３００に対してアプリケーションサービスの実行を要求する。
【００３４】
クライアント端末１００の証明書発行要求部１０１は、デバイス情報記憶部１１１に記憶されているクライアント端末１００のデバイス情報と、使用ＩＰアドレス記憶部１１２に記憶されているＩＰアドレスとをウェブブラウザから認証サーバ２００に送信して証明書の発行を要求する。後述するように、この証明書の発行要求は、クライアント端末１００が第１の拠点ＢＳ１の社内ＬＡＮ４００に接続されているときに行うと有効であり（証明書の発行が認められる）、クライアント端末１００が第２の拠点ＢＳ２の社外ＬＡＮ４１０に接続されているときに行うと無効である（証明書の発行が認められない）。
【００３５】
認証サーバ２００の証明書発行部２０１は、証明書発行要求部１０１による証明書発行要求に応じて、証明書をクライアント端末１００に対して発行するとともに、当該発行した証明書を、証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部２１３に記憶させる。ここで、証明書発行部２０１は、クライアント端末１００から送られてきたＩＰアドレスと、登録ＩＰアドレス記憶部２１２にあらかじめ記憶されている特定のＩＰアドレスとを照合し、両者が一致すると判定された場合、つまり、第１の拠点ＢＳ１で使用される特定のＩＰアドレスと共に証明書発行要求を受けたと判定された場合に、証明書を発行する。
【００３６】
クライアント端末１００の証明書記録部１０２は、証明書発行要求部１０１による証明書発行要求に対する応答として証明書発行部２０１により発行された証明書を認証サーバ２００から受信し、端末内部の記憶媒体である発行済み証明書記憶部１１３に記憶させる。
【００３７】
クライアント端末１００の第１の認証要求部１０３は、発行済み証明書記憶部１１３に記憶された証明書を、デバイス情報記憶部１１１に記憶されているデバイス情報と共にウェブブラウザから認証サーバ２００に送信して第１の認証を要求する。この第１の認証の要求は、クライアント端末１００が第１の拠点ＢＳ１の社内ＬＡＮ４００に接続されているときでも、第２の拠点ＢＳ２の社外ＬＡＮ４１０に接続されているときでも有効である（証明書の発行を受けた正当なクライアント端末１００から第１の認証を要求すれば、当該認証は成功する）。
【００３８】
認証サーバ２００の第１の認証処理部２０２は、第１の認証要求部１０３による要求に応じて、クライアント端末１００から送られてきた証明書およびデバイス情報と、証明書情報記憶部２１３に記憶されている証明書およびデバイス情報とを照合することによって第１の認証処理を行い、その成否の結果をクライアント端末１００に通知する。
【００３９】
上述のように、証明書の発行を受けた正当なクライアント端末１００から第１の認証を要求すれば、認証サーバ２００に送信される証明書およびデバイス情報と、証明書情報記憶部２１３に記憶されている証明書およびデバイス情報とが一致するので、第１の認証は成功する。一方、クライアント端末１００から証明書を盗んで別の不正なクライアント端末から第１の認証を要求すると、証明書との組み合わせで認証サーバ２００に送信されるデバイス情報と、証明書情報記憶部２１３に当該証明書との組み合わせで記憶されているデバイス情報とが一致しないので、第１の認証は不成功となる。
【００４０】
第１の認証処理部２０２は、第１の認証が不成功と判断した場合に、証明書情報記憶部２１３に記憶されている証明書のうち、クライアント端末１００から第１の認証の要求と共に送られてきた証明書と同じ証明書を無効化する。証明書の無効化は、例えば、証明書情報記憶部２１３から該当の証明書を削除（破棄）することによって行う。または、該当の証明書に対して無効であることを示すフラグ情報を付加する方法によって無効化を行うようにしてもよい。このように、不正なクライアント端末１００からのアクセスによって第１の認証が要求された場合に、その要求に使われた証明書を無効化することにより、セキュリティをより強固なものとすることができる。
【００４１】
クライアント端末１００の第２の認証要求部１０４は、第１の認証に成功した旨の通知を第１の認証要求部１０３が認証サーバ２００から受信した後、ユーザが操作部１０６を操作することによって入力されたユーザＩＤおよびパスワードをウェブブラウザから認証サーバ２００に送信して第２の認証を要求する。
【００４２】
認証サーバ２００の第２の認証処理部２０３は、第２の認証要求部１０４による要求に応じて、クライアント端末１００から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部２１１にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって第２の認証処理を行い、その成否の結果をクライアント端末１００に通知する。
【００４３】
ここで、第２の認証処理部２０３は、ユーザＩＤ／パスワードの照合に加え、クライアント端末１００から送られてきたユーザＩＤおよびパスワードの少なくとも一方が、第１の認証に使用された証明書と紐付けられたものであるかを照合することによって第２の認証処理を行う。なお、ユーザＩＤおよびパスワードの少なくとも一方と証明書との紐付けは、証明書の発行を要求する際の初回のログイン時に実行する。
【００４４】
すなわち、本実施形態では、証明書発行要求部１０１による証明書の発行要求を行うに先だって、ユーザＩＤおよびパスワードを認証サーバ２００に送信し、ログインを行う。このログインは、ユーザに対してユーザＩＤ／パスワードが発行された後に最初に行う初回のログインである。つまり、ユーザは、証明書発行要求部１０１による証明書の発行要求を行う前に、第２の認証要求部１０４による第２の認証の要求を行い、第２の認証処理部２０３による第２の認証を受けてログインをする。そして、この状態で証明書発行要求部１０１による証明書の発行要求を行い、証明書発行部２０１による証明書の発行を受ける。
【００４５】
ここで、証明書発行部２０１は、初回のログイン時における第２の認証が成功した後、証明書発行要求部１０１による証明書発行要求に応じて証明書を発行し、当該発行した証明書をデバイス情報と関連付けて証明書情報記憶部２１３に記憶させるとともに、当該発行した証明書と初回のログイン時に使用されたユーザＩＤおよびパスワードの少なくとも一方とを紐付ける紐付け情報を証明書情報記憶部２１３に記憶させる。初回のログイン時に使用されたユーザＩＤおよびパスワードの少なくとも一方は、当該初回のログインが成功したときに第２の認証処理部２０３が証明書発行部２０１に通知する。
【００４６】
第２の認証処理部２０３は、初回のログイン時には、クライアント端末１００から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部２１１にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって第２の認証処理を行う。一方、第２の認証処理部２０３は、２回目以降のログイン時には、クライアント端末１００から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部２１１にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合するとともに、クライアント端末１００から送られてきたユーザＩＤおよびパスワードの少なくとも一方が、証明書情報記憶部２１３に記憶されている紐付け情報によって、第１の認証に使用された証明書と紐付けられたものであるかを照合することによって第２の認証処理を行う。
【００４７】
第１の認証および第２の認証の何れにも成功すると、クライアント端末１００からアプリケーションサーバ３００にアクセスしてアプリケーションサービスを利用することが可能な状態となる。この状態で、クライアント端末１００のアプリケーション実行要求部１０５は、ウェブブラウザから所望のアプリケーションサービスの実行をアプリケーションサーバ３００に要求する。アプリケーションサーバ３００のアプリケーション実行部３０１は、アプリケーション実行要求部１０５により要求されたアプリケーションサービスの処理を実行し、その結果をクライアント端末１００のウェブブラウザに提供する。
【００４８】
図３および図４は、上記のように構成した認証システム（クライアント端末１００および認証サーバ２００）の動作例を示すフローチャートである。このうち、図３は証明書発行時の動作例を示すフローチャートであり、図４は認証処理時の動作例を示すフローチャートである。
【００４９】
図３において、まず、クライアント端末１００の第２の認証要求部１０４は、ユーザにより入力されたユーザＩＤおよびパスワードを認証サーバ２００に送信して第２の認証を要求する（ステップＳ１）。認証サーバ２００の第２の認証処理部２０３は、第２の認証要求部１０４による要求に応じて、クライアント端末１００から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部２１１にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合することによって第２の認証処理を行う（ステップＳ２）。
【００５０】
ここで、第２の認証処理部２０３は、第２の認証に成功したか否かを判定する（ステップＳ３）。第２の認証に成功した場合は（ステップＳ３：Ｙｅｓ）、認証に成功した旨をクライアント端末１００に通知する（ステップＳ４）。これにより、クライアント端末１００から認証サーバ２００への初回のログインが完了する。一方、第２の認証に失敗した場合は（ステップＳ３：Ｎｏ）、認証に失敗した旨をクライアント端末１００に通知する（ステップＳ５）。これにより、認証サーバ２００の処理は終了する。
【００５１】
クライアント端末１００の第２の認証要求部１０４は、認証サーバ２００から第２の認証の成否の結果を知らせる通知を受信し、第２の認証に成功したか否かを判定する（ステップＳ６）。ここで、第２の認証に失敗した旨の通知を認証サーバ２００から受信した場合（ステップＳ６：Ｎｏ）、第２の認証要求部１０４が認証失敗のエラーメッセージを表示して（ステップＳ７）、クライアント端末１００の処理を終了する。
【００５２】
一方、第２の認証に成功した旨の通知を認証サーバ２００から受信した場合（ステップＳ６：Ｙｅｓ）、第２の認証要求部１０４は、認証成功のメッセージを表示する（ステップＳ８）。これを受けて、ユーザが操作部１０６を操作して証明書発行の要求を指示すると、証明書発行要求部１０１は、デバイス情報記憶部１１１に記憶されているクライアント端末１００のデバイス情報と、使用ＩＰアドレス記憶部１１２に記憶されているＩＰアドレスとを認証サーバ２００に送信して証明書の発行を要求する（ステップＳ９）。
【００５３】
認証サーバ２００の証明書発行部２０１は、クライアント端末１００から送られてきたＩＰアドレスと、登録ＩＰアドレス記憶部２１２にあらかじめ記憶されている特定のＩＰアドレスとを照合し、両者が一致するか否かを判定する（ステップＳ１０）。ここで、両者が一致しない場合（ステップＳ１０：Ｎｏ）、証明書の発行に失敗した旨をクライアント端末１００に通知する（ステップＳ１１）。これにより、認証サーバ２００の処理は終了する。
【００５４】
一方、両者のＩＰアドレスが一致した場合（ステップＳ１０：Ｙｅｓ）、証明書発行部２０１は、証明書をクライアント端末１００に対して発行するとともに（ステップＳ１２）、当該発行した証明書を、証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部２１３に記憶する（ステップＳ１３）。これにより、認証サーバ２００の処理は終了する。
【００５５】
クライアント端末１００では、証明書発行要求部１０１が証明書の発行を要求した後、証明書記録部１０２は、証明書が認証サーバ２００から送られてきたか否かを判定する（ステップＳ１４）。ここで、証明書の発行に失敗した旨の通知を受信した場合（ステップＳ１４：Ｎｏ）、証明書記録部１０２がその旨のエラーメッセージを表示して（ステップＳ１５）、クライアント端末１００の処理を終了する。
【００５６】
一方、証明書記録部１０２が認証サーバ２００から証明書を受信した場合（ステップＳ１４：Ｙｅｓ）、証明書記録部１０２は、証明書発行成功のメッセージを表示して（ステップＳ１６）、受信した証明書を発行済み証明書記憶部１１３に記憶させる（ステップＳ１７）。これにより、クライアント端末１００の処理を終了する。
【００５７】
図４において、まず、クライアント端末１００の第１の認証要求部１０３は、発行済み証明書記憶部１１３に記憶された証明書を、デバイス情報記憶部１１１に記憶されているデバイス情報と共に認証サーバ２００に送信して第１の認証を要求する（ステップＳ２１）。認証サーバ２００の第１の認証処理部２０２は、第１の認証要求部１０３による要求に応じて、クライアント端末１００から送られてきた証明書およびデバイス情報と、証明書情報記憶部２１３に記憶されている証明書およびデバイス情報とを照合することによって第１の認証処理を行う（ステップＳ２２）。
【００５８】
ここで、第１の認証処理部２０２は、第１の認証に成功したか否かを判定する（ステップＳ２３）。第１の認証に成功した場合は（ステップＳ２３：Ｙｅｓ）、認証に成功した旨をクライアント端末１００に通知する（ステップＳ２４）。一方、第１の認証に失敗した場合は（ステップＳ２３：Ｎｏ）、認証に失敗した旨をクライアント端末１００に通知するとともに（ステップＳ２５）、証明書情報記憶部２１３に記憶されている証明書のうち、クライアント端末１００から第１の認証の要求と共に送られてきた証明書と同じ証明書を無効化する（ステップＳ２６）。これにより、認証サーバ２００の処理は終了する。
【００５９】
クライアント端末１００の第１の認証要求部１０３は、認証サーバ２００から第１の認証の成否の結果を知らせる通知を受信し、第１の認証に成功したか否かを判定する（ステップＳ２７）。ここで、第１の認証に失敗した旨の通知を認証サーバ２００から受信した場合（ステップＳ２７：Ｎｏ）、第１の認証要求部１０３が認証失敗のエラーメッセージを表示して（ステップＳ２８）、クライアント端末１００の処理を終了する。
【００６０】
一方、第１の認証に成功した旨の通知を認証サーバ２００から受信した場合（ステップＳ２７：Ｙｅｓ）、第１の認証要求部１０３は、認証成功のメッセージを表示する（ステップＳ２９）。これを受けて、ユーザが操作部１０６を操作してユーザＩＤ／パスワードを入力し、第２の認証の要求を指示すると、第２の認証要求部１０４は、ユーザにより入力されたユーザＩＤおよびパスワードを認証サーバ２００に送信して第２の認証を要求する（ステップＳ３０）。
【００６１】
認証サーバ２００の第２の認証処理部２０３は、第２の認証要求部１０４による要求に応じて、クライアント端末１００から送られてきたユーザＩＤおよびパスワードと、ユーザ情報記憶部２１１にあらかじめ記憶されているユーザＩＤおよびパスワードとを照合するとともに、クライアント端末１００から送られてきたユーザＩＤおよびパスワードの少なくとも一方が、第１の認証に使用された証明書と紐付けられたものであるかを照合することによって第２の認証処理を行う（ステップＳ３１）。
【００６２】
ここで、第２の認証処理部２０３は、第２の認証に成功したか否かを判定する（ステップＳ３２）。第２の認証に成功した場合は（ステップＳ３２：Ｙｅｓ）、第２の認証に成功した旨をクライアント端末１００に通知する（ステップＳ３３）。一方、第２の認証に失敗した場合は（ステップＳ３２：Ｎｏ）、認証に失敗した旨をクライアント端末１００に通知する（ステップＳ３４）。これにより、認証サーバ２００の処理は終了する。
【００６３】
クライアント端末１００の第２の認証要求部１０４は、認証サーバ２００から第２の認証の成否の結果を知らせる通知を受信し、第２の認証に成功したか否かを判定する（ステップＳ３５）。ここで、第２の認証に失敗した旨の通知を認証サーバ２００から受信した場合（ステップＳ３５：Ｎｏ）、第２の認証要求部１０４が認証失敗のエラーメッセージを表示して（ステップＳ３６）、クライアント端末１００の処理を終了する。
【００６４】
一方、第２の認証に成功した旨の通知を認証サーバ２００から受信した場合（ステップＳ３５：Ｙｅｓ）、第２の認証要求部１０４は、認証成功のメッセージを表示して（ステップＳ３７）、第２の認証に成功した旨をアプリケーションサーバ３００に通知する（ステップＳ３８）。これにより、クライアント端末１００の認証に関する処理を終了する。この通知により、クライアント端末１００はアプリケーションサーバ３００にアクセスして所望のアプリケーションサービスを利用することが可能となる。
【００６５】
以上詳しく説明したように、第１の実施形態では、クライアント端末１００からの要求に応じて認証サーバ２００にて証明書を発行し、当該発行した証明書をクライアント端末１００の内部の記憶媒体に記憶しておく。そして、記憶媒体に記憶された証明書をデバイス情報と共にクライアント端末１００から認証サーバ２００に送信して第１の認証を実行した後、第１の認証の成功後に、クライアント端末１００からユーザＩＤおよびパスワードを認証サーバ２００に送信して第２の認証を実行するようにしている。
【００６６】
このように構成した本実施形態によれば、認証を受けたいクライアント端末１００ごとに随時、証明書発行要求を認証サーバ２００に送信することによって証明書を発行してもらい、その証明書をクライアント端末１００に記憶しておくことにより、その後の任意のタイミングで証明書を用いた第１の認証を行い、その第１の認証に続けてユーザＩＤ／パスワードを用いた第２の認証を行うことができる。
【００６７】
このため、クライアント端末１００の証明書とユーザＩＤ／パスワードとを対応付けて認証サーバ２００にあらかじめ記憶するとともに、クライアント証明書を各クライアント端末１００にあらかじめ記憶するというサービス利用環境のセットアップを行うことなく、証明書を用いた第１の認証と、ユーザＩＤ／パスワードを用いた第２の認証とを行うことができるようになる。そして、これらの証明書の発行および認証を、クライアント端末１００のウェブブラウザを用いて行うことができる。
【００６８】
これにより、本実施形態によれば、ＩＰ制限やＶＰＮといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現することができる。
【００６９】
また、本実施形態では、特定のＩＰアドレス（第１の拠点ＢＳ１における社内ＬＡＮ４００で使用されるＩＰアドレス）を使用しているクライアント端末１００から要求があった場合にのみ証明書を発行するようにしているので、社内ＬＡＮ４００を正当に利用することのできない第三者が証明書の発行を受けることはできない。社内ＬＡＮ４００を正当に利用することのできるユーザに対して正当に発行された証明書を第三者が盗んだとしても、第三者のクライアント端末から第１の認証を要求するとデバイス情報の不一致により認証が失敗する。第三者が不正に認証を受けようとする場合、ユーザのクライアント端末１００を盗み、ユーザＩＤ／パスワードも盗む必要があるため、攻撃の難易度が非常に高くなる。
【００７０】
（第２の実施形態）
次に、本発明の第２の実施形態を図面に基づいて説明する。図５は、第２の実施形態によるサービス提供システムの機能構成例を示すブロック図である。なお、この図５において、図２に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【００７１】
図５に示すように、第２の実施形態によるクライアント端末１００’は、第１の認証要求部１０３およびアプリケーション実行要求部１０５に代えて、第１の認証要求部１０３’およびアプリケーション実行要求部１０５’を備えている。また、第２の実施形態による認証サーバ２００’は、第１の認証処理部２０２に代えて第１の認証処理部２０２’を備えるとともに、強制ログアウト部２０４およびＩＰアドレス一時記憶部２１４を更に備えている。
【００７２】
第１の認証要求部１０３’は、第１の認証を要求する際に、使用ＩＰアドレス記憶部１１２に記憶されているＩＰアドレスを認証サーバ２００に送信する。第１の認証処理部２０２’は、認証要求の際に送られてきたＩＰアドレスをＩＰアドレス一時記憶部２１４に記憶する。
【００７３】
強制ログアウト部２０４は、第１の認証および第２の認証の成功後にクライアント端末１００のアプリケーション実行要求部１０５’からアプリケーションサーバ３００に対して行われるアクセス時に送られてくるＩＰアドレスが、ＩＰアドレス一時記憶部２１４に記憶されたＩＰアドレスと一致しているか否かを判定し、一致していない場合に強制ログアウトする。
【００７４】
このように構成した第２の実施形態によれば、クライアント端末１００’がログインした状態のまま第三者に盗難されても、強制的なログアウトによってセキュリティを確保することができる。すなわち、クライアント端末１００’が盗難された後、これを使用するネットワークが変わるとＩＰアドレスが変わるので、その変わったＩＰアドレスを使用してアプリケーションサーバ３００にアクセスしようとすると、ＩＰアドレスの不一致により強制的にログアウトが行われる。これにより、第三者がアプリケーションサーバ３００にアクセスすることを防ぐことができる。
【００７５】
なお、ここでは、第１の認証要求部１０３’が第１の認証を要求する際にＩＰアドレスを認証サーバ２００’に送信し、第１の認証処理部２０２’がＩＰアドレスをＩＰアドレス一時記憶部２１４に記憶する例について説明したが、本発明はこれに限定されない。例えば、第２の認証要求部１０４’が第２の認証を要求する際にＩＰアドレスを認証サーバ２００’に送信し、第２の認証処理部２０３’がＩＰアドレスをＩＰアドレス一時記憶部２１４に記憶するようにしてもよい。また、第１の認証の要求時および第２の認証の要求時の両方において上記のような処理を行うようにしてもよい。
【００７６】
上記第１および第２の実施形態では、初回のログイン時に発行した証明書とユーザＩＤおよびパスワードの少なくとも一方とを紐付けておき、２回目以降のログイン時に、ユーザＩＤ／パスワードの照合に加えて、クライアント端末１００から送られてきたユーザＩＤおよびパスワードの少なくとも一方が、第１の認証に使用された証明書と紐付けられたものであるかを照合することによって第２の認証処理を行う構成について説明した。すなわち、第１の認証と第２の認証との関連付けを、初回のログイン時に生成した紐付け情報によって行う例について説明したが、本発明はこれに限定されない。
【００７７】
例えば、第２の認証処理部２０３が、第１の認証処理部２０２（２０２’）による第１の認証が成功した場合にのみ、ユーザＩＤおよびパスワードの入力を促す認証情報入力画面をクライアント端末１００（１００’）のウェブブラウザに提供するようにする。そして、第２の認証要求部１０４が認証情報入力画面を受信し、当該認証情報入力画面を通じてユーザにより入力されたユーザＩＤおよびパスワードを認証サーバ２００（２００’）に送信して第２の認証を要求するようにしてもよい。このようにすれば、第１の認証と第２の認証とを関連付けるために紐付け情報を生成する必要がなくなる。
【００７８】
また、上記第１および第２の実施形態では、特定のＩＰアドレスを使用しているクライアント端末１００（１００’）から証明書発行要求があった場合にのみ証明書を発行する例について説明したが、本発明はこれに限定されない。例えば、証明書発行部２０１は、ユーザによる所定の操作によって証明書発行要求の受付待機状態に設定されてから所定時間以内に証明書発行要求を受信した場合に、証明書を発行するようにしてもよい。
【００７９】
具体的には、認証サーバ２００（２００’）を社内ＬＡＮ４００に接続し、ユーザが認証サーバ２００（２００’）を直接操作することによって証明書発行要求の受付待機状態に設定した後、それから所定時間以内に、同じ社内ＬＡＮ４００に接続されているクライアント端末１００（１００’）から証明書の発行要求を行った場合にのみ、証明書発行部２０１により証明書の発行を行うようにする。このようにすれば、ユーザが物理的に第１の拠点ＢＳ１にいるときでなければ証明書の発行を受けることができないので、第三者が不正に証明書の発行を受けることはできない。なお、ユーザが認証サーバ２００（２００’）を直接操作する形態に代えて、認証サーバ２００（２００’）に接続した受付待機状態設定用の操作部をユーザが操作することによって証明書発行要求の受付待機状態を設定するようにしてもよい。
【００８０】
また、上記第１および第２の実施形態では、いったん発行された証明書は、ユーザが意図的に削除しない限り発行済み証明書記憶部１１３に記憶し続ける構成について説明したが、ユーザ単位で有効期限を設定するようにしてもよい。
【００８１】
その他、上記第１および第２の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８２】
１００，１００’  クライアント端末
１０１  証明書発行要求部
１０２  証明書記録部
１０３，１０３’  第１の認証要求部
１０４  第２の認証要求部
１０５，１０５’  アプリケーション実行要求部
１１１  デバイス情報記憶部
１１２  使用ＩＰアドレス記憶部
１１３  発行済み証明書記憶部
２００，２００’  認証サーバ
２０１  証明書発行部
２０２，２０２’  第１の認証処理部
２０３  第２の認証処理部
２０４  強制ログアウト部
２１１  ユーザ情報記憶部
２１２  登録ＩＰアドレス記憶部
２１３  証明書情報記憶部
３００  アプリケーションサーバ
３０１  アプリケーション実行部
【図１】
2020071620.tif 000003
【図２】
2020071620.tif 000004
【図３】
2020071620.tif 000005
【図４】
2020071620.tif 000006
【図５】
2020071620.tif 000007