(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-05
(45)【発行日】2022-07-13
(54)【発明の名称】認証システム、認証サーバおよび認証方法
(51)【国際特許分類】
G06F 21/44 20130101AFI20220706BHJP
G06F 21/31 20130101ALI20220706BHJP
G06F 21/33 20130101ALI20220706BHJP
【FI】
G06F21/44
G06F21/31
G06F21/33
(21)【出願番号】P 2018204445
(22)【出願日】2018-10-30
【審査請求日】2021-08-02
(73)【特許権者】
【識別番号】316013389
【氏名又は名称】ウイングアーク1st株式会社
(74)【代理人】
【識別番号】100105784
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】島澤 甲
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2011-123811(JP,A)
【文献】特開2009-098761(JP,A)
【文献】特開2013-179489(JP,A)
【文献】特開2005-339093(JP,A)
【文献】特開2010-165079(JP,A)
【文献】国際公開第2010/050192(WO,A1)
【文献】米国特許出願公開第2017/0076284(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/31
G06F 21/33
(57)【特許請求の範囲】
【請求項1】
ウェブブラウザを備えたクライアント端末と、上記クライアント端末からの要求に応じて認証を行う認証サーバとを備えて構成された認証システムであって、
上記クライアント端末は、
上記クライアント端末のデバイス情報を上記ウェブブラウザから上記認証サーバに送信して証明書の発行を要求する証明書発行要求部と、
上記証明書発行要求部による証明書発行要求に対する応答として上記認証サーバから発行された証明書を受信し、端末内部の記憶媒体に記憶させる証明書記録部と、
上記記憶媒体に記憶された証明書を上記デバイス情報と共に上記ウェブブラウザから上記認証サーバに送信して第1の認証を要求する第1の認証要求部と、
上記第1の認証に成功した旨の通知を上記第1の認証要求部が上記認証サーバから受信した後、ユーザにより入力されたユーザIDおよびパスワードを上記ウェブブラウザから上記認証サーバに送信して第2の認証を要求する第2の認証要求部とを備え、
上記認証サーバは、
上記証明書発行要求部による証明書発行要求に応じて、上記証明書を上記クライアント端末に対して発行するとともに、当該発行した証明書を上記証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部に記憶させる証明書発行部と、
上記第1の認証要求部による要求に応じて、上記クライアント端末から送られてきた証明書およびデバイス情報と、上記証明書情報記憶部に記憶されている証明書およびデバイス情報とを照合することによって第1の認証処理を行い、その成否の結果を上記クライアント端末に通知する第1の認証処理部と、
上記第2の認証要求部による要求に応じて、上記クライアント端末から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって第2の認証処理を行い、その成否の結果を上記クライアント端末に通知する第2の認証処理部とを備えたことを特徴とする認証システム。
【請求項2】
上記第2の認証処理部は、初回のログイン時に、上記クライアント端末から送られてきたユーザIDおよびパスワードと、上記ユーザ情報記憶部にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって上記第2の認証処理を行う一方、2回目以降のログイン時に、上記クライアント端末から送られてきたユーザIDおよびパスワードと、上記ユーザ情報記憶部にあらかじめ記憶されているユーザIDおよびパスワードとを照合するとともに、上記クライアント端末から送られてきたユーザIDおよびパスワードの少なくとも一方が、上記第1の認証に使用された証明書と紐付けられたものであるかを照合することによって上記第2の認証処理を行うようになされ、
上記証明書発行部は、上記初回のログイン時における上記第2の認証が成功した後、上記証明書発行要求部による証明書発行要求に応じて上記証明書を発行し、当該発行した証明書を上記デバイス情報と関連付けて証明書情報記憶部に記憶させるとともに、当該発行した証明書と上記初回のログイン時に使用された上記ユーザIDおよびパスワードの少なくとも一方とを紐付ける紐付け情報を上記証明書情報記憶部に記憶させることを特徴とする請求項1に記載の認証システム。
【請求項3】
上記第2の認証処理部は、上記第1の認証が成功した場合にのみ、上記ユーザIDおよびパスワードの入力を促す認証情報入力画面を上記クライアント端末の上記ウェブブラウザに提供し、
上記第2の認証要求部は、上記認証情報入力画面を受信し、当該認証情報入力画面を通じてユーザにより入力されたユーザIDおよびパスワードを上記認証サーバに送信して上記第2の認証を要求することを特徴とする請求項1に記載の認証システム。
【請求項4】
上記証明書発行要求部は、上記デバイス情報と共にIPアドレスを上記認証サーバに送信して証明書の発行を要求し、
上記証明書発行部は、上記クライアント端末から送られてきたIPアドレスと、登録IPアドレス記憶部にあらかじめ記憶されている特定のIPアドレスとを照合し、上記特定のIPアドレスと共に上記証明書発行要求を受けたと判定された場合に、上記証明書を発行することを特徴とする請求項1~3の何れか1項に記載の認証システム。
【請求項5】
上記証明書発行部は、ユーザによる所定の操作によって上記証明書発行要求の受付待機状態に設定されてから所定時間以内に上記証明書発行要求を受信した場合に、上記証明書を発行することを特徴とする請求項1~3の何れか1項に記載の認証システム。
【請求項6】
上記第1の認証処理部は、上記第1の認証が不成功と判断した場合に、上記証明書情報記憶部に記憶されている証明書のうち、上記クライアント端末から送られてきた証明書と同じ証明書を無効化することを特徴とする請求項1~5の何れか1項に記載の認証システム。
【請求項7】
上記第1の認証要求部および上記第2の認証要求部の少なくとも一方は、認証要求の際にIPアドレスを上記認証サーバに送信し、
上記第1の認証処理部および上記第2の認証処理部の少なくとも一方は、上記認証要求の際に送られてきたIPアドレスを一時記憶部に記憶し、
上記認証サーバは、上記第1の認証および上記第2の認証の成功後に上記クライアント端末からウェブサーバに対して行われるアクセス時に送られてくるIPアドレスが上記一時記憶部に記憶されたIPアドレスと一致しているか否かを判定し、一致していない場合に強制ログアウトする強制ログアウト部を更に備えたことを特徴とする請求項1~6の何れか1項に記載の認証システム。
【請求項8】
ウェブブラウザを備えたクライアント端末からの要求に応じて認証を行う認証サーバであって、
上記クライアント端末のデバイス情報と共に送信されてくる証明書発行要求に応じて、証明書を上記クライアント端末に対して発行するとともに、当該発行した証明書を上記デバイス情報と関連付けて証明書情報記憶部に記憶させる証明書発行部と、
上記証明書発行部により発行された証明書および上記デバイス情報と共に送信されてくる第1の認証要求に応じて、上記クライアント端末から送られてきた証明書およびデバイス情報と、上記証明書情報記憶部に記憶されている証明書およびデバイス情報とを照合することによって第1の認証処理を行い、その成否の結果を上記クライアント端末に通知する第1の認証処理部と、
上記第1の認証に成功した旨を上記クライアント端末に通知した後、上記クライアント端末からユーザIDおよびパスワードと共に送信されてくる第2の認証要求に応じて、上記クライアント端末から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって第2の認証処理を行い、その成否の結果を上記クライアント端末に通知する第2の認証処理部とを備えたことを特徴とする認証サーバ。
【請求項9】
ウェブブラウザを備えたクライアント端末と、上記クライアント端末からの要求に応じて認証を行う認証サーバとを備えて構成された認証システムにおける認証方法であって、
上記クライアント端末の証明書発行要求部が、上記クライアント端末のデバイス情報を上記ウェブブラウザから上記認証サーバに送信して証明書の発行を要求する第1のステップと、
上記認証サーバの証明書発行部が、上記証明書発行要求部による証明書発行要求に応じて、上記証明書を上記クライアント端末に対して発行するとともに、当該発行した証明書を上記証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部に記憶させる第2のステップと、
上記クライアント端末の証明書記録部が、上記証明書発行要求部による証明書発行要求に対する応答として上記認証サーバから発行された証明書を受信し、端末内部の記憶媒体に記憶させる第3のステップと、
上記クライアント端末の第1の認証要求部が、上記記憶媒体に記憶された証明書を上記デバイス情報と共に上記ウェブブラウザから上記認証サーバに送信して第1の認証を要求する第4のステップと、
上記認証サーバの第1の認証処理部が、上記第1の認証要求部による要求に応じて、上記クライアント端末から送られてきた証明書およびデバイス情報と、上記証明書情報記憶部に記憶されている証明書およびデバイス情報とを照合することによって第1の認証処理を行い、その成否の結果を上記クライアント端末に通知する第5のステップと、
上記クライアント端末の第2の認証要求部が、上記第1の認証に成功した旨の通知を上記第1の認証要求部が上記認証サーバから受信した後、ユーザにより入力されたユーザIDおよびパスワードを上記ウェブブラウザから上記認証サーバに送信して第2の認証を要求する第6のステップと、
上記認証サーバの第2の認証処理部が、上記第2の認証要求部による要求に応じて、上記クライアント端末から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって第2の認証処理を行い、その成否の結果を上記クライアント端末に通知する第7のステップとを有することを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システム、認証サーバおよび認証方法に関し、特に、証明書を用いた第1の認証と、ユーザID/パスワードを用いた第2の認証とを行う認証システムに用いて好適なものである。
【背景技術】
【0002】
従来、クライアント端末がウェブサーバにアクセスする場合に、正当なクライアント端末に対してのみアクセスを許可することがある。正当なクライアント端末かどうかを確認するために、ユーザIDとパスワードとを用いた認証を行うことが多い。また、より強いセキュリティ制御が求められる環境では、IP制限やVPN(Virtual Private Network)が利用されている。
【0003】
ユーザID/パスワードを用いた認証の場合、基本的にクライアント端末ではウェブブラウザがあれば利用することができるため、簡便に導入することが可能である。しかしながら、近年、防犯カメラの高解像度化も進み、ユーザID/パスワードを盗み見られるケースが増えている。そのため、セキュリティの強さという点では弱みがある。
【0004】
一方、IP制限やVPNの利用は、セキュリティの強度を向上させることができる反面、ユーザの利便性が低下するという問題がある。すなわち、IP制限は、接続元のIPアドレスによって認証を行うため、固定IPアドレスが用いられるオフィスからの接続については問題ないが、サテライト的な拠点で変動IPアドレスが用いられる場所からの接続では利便性が低下する。また、VPNは、端末毎にVPN環境のセットアップが必要であり、サービス側の対応も必要となるため、サービス利用までに多くの手間がかかり、また多くの管理コストが発生するという問題があった。
【0005】
なお、従来、クライアント認証を比較的簡単に行うことを目的として、ユーザID/パスワードとクライアント証明書とを用いて認証を行うシステムが提案されている(例えば、特許文献1参照)。この特許文献1には、クライアント端末に固有の情報を用いたクライアント証明書をクライアント端末に記憶しておき、クライアント証明書を用いた第1認証の後に、ユーザID/パスワードを用いた第2認証を行うことが開示されている。
【0006】
具体的には、特許文献1に記載の認証システムでは、クライアント証明書とユーザID/パスワードとを対応付けて認証サーバのユーザ・データベースにあらかじめ記憶しておき、クライアント証明書を用いた認証サーバにおける第1認証に成功した後に、認証サーバがユーザ・データベースからユーザID/パスワードを読み出してウェブサーバに送ることによって第2認証を行う。これにより、ユーザは、直接的にはクライアント証明書を用いた認証だけを行えばよく、クライアント認証を比較的簡単に行うことが可能となる。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記特許文献1に記載の認証システムを利用するためには、クライアント証明書とユーザID/パスワードとを対応付けて認証サーバのユーザ・データベースにあらかじめ記憶するとともに、クライアント証明書を各クライアント端末にあらかじめ記憶するというサービス利用環境のセットアップを行う必要がある。そのため、サービス利用までに多くの手間がかかり、また多くの管理コストが発生するという問題があった。
【0009】
本発明は、このような問題を解決するために成されたものであり、IP制限やVPNといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
上記した課題を解決するために、本発明では、クライアント端末からの要求に応じて認証サーバにて証明書を発行し、当該発行した証明書をクライアント端末の内部の記憶媒体に記憶しておく。そして、記憶媒体に記憶された証明書をデバイス情報と共にクライアント端末から認証サーバに送信して第1の認証を実行した後、第1の認証の成功後に、クライアント端末からユーザIDおよびパスワードを認証サーバに送信して第2の認証を実行するようにしている。
【発明の効果】
【0011】
上記のように構成した本発明によれば、認証を受けたいクライアント端末ごとに随時、証明書発行要求を認証サーバに送信することによって証明書を発行してもらい、その証明書をクライアント端末に記憶しておくことで、その後の任意のタイミングで証明書を用いた第1の認証を行い、その第1の認証に続けてユーザID/パスワードを用いた第2の認証を行うことができる。このため、クライアント端末の証明書とユーザID/パスワードとを対応付けて認証サーバにあらかじめ記憶するとともに、クライアント証明書を各クライアント端末にあらかじめ記憶するというサービス利用環境のセットアップを行うことなく、証明書を用いた第1の認証と、ユーザID/パスワードを用いた第2の認証とを行うことができるようになる。これにより、本発明によれば、IP制限やVPNといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現することができる。
【図面の簡単な説明】
【0012】
【
図1】第1の実施形態による認証システムを備えたサービス提供システムの構成例を示す図である。
【
図2】第1の実施形態によるサービス提供システムの機能構成例を示す図である。
【
図3】第1の実施形態による認証システムの証明書発行時の動作例を示すフローチャートである。
【
図4】第1の実施形態による認証システムの認証処理時の動作例を示すフローチャートである。
【
図5】第2の実施形態によるサービス提供システムの機能構成例を示す図である。
【発明を実施するための形態】
【0013】
(第1の実施形態)
以下、本発明の第1の実施形態を図面に基づいて説明する。
図1は、第1の実施形態による認証システムを備えたサービス提供システムの構成例を示す図である。第1の実施形態による認証システムは、ウェブブラウザを備えたクライアント端末100と、クライアント端末100からの要求に応じて認証を行う認証サーバ200とを備えて構成される。
【0014】
また、サービス提供システムは、以上の認証システムに加え、更にアプリケーションサーバ300(特許請求の範囲のウェブサーバに相当)を備えて構成される。アプリケーションサーバ300は、クライアント端末100のウェブブラウザと認証サーバ200との間でウェブベースにて行われる認証に成功した場合に、クライアント端末100のウェブブラウザからの要求に応じて所与のウェブアプリケーション処理を実行する。
【0015】
クライアント端末100は、複数の拠点BS1,BS2からインターネット500にアクセスし、認証サーバ200およびアプリケーションサーバ300と接続可能に構成されている。
【0016】
例えば、第1の拠点BS1は、ユーザが所属する企業内に構築された社内LAN400を有するネットワークである。クライアント端末100は、社内LAN400に対して有線で接続し、社内LAN400に接続されたルータ401を介してインターネット500に接続することが可能である。また、クライアント端末100は、社内LAN400に接続されたアクセスポイント(AP402)に無線で接続し、当該AP402からルータ401を介してインターネット500に接続することも可能である。
【0017】
第2の拠点BS2は、ユーザが所属する企業外に構築された社外LAN410を有するネットワークである。クライアント端末100は、社外LAN410に接続されたAP412に無線で接続し、当該AP412からルータ411を介してインターネット500に接続することが可能である。なお、ここでは説明の簡略化のため第2の拠点BS2を1つのみ図示しているが、実際には複数ある。
【0018】
第2の拠点BS2からインターネット500を介してアプリケーションサーバ300にアクセスする際には、認証サーバ200による認証(後述する証明書を用いた第1の認証と、ユーザID/パスワードを用いた第2の認証)を行う必要がある。一方、第1の拠点BS1からインターネット500を介してアプリケーションサーバ300にアクセスする際には、認証サーバ200による認証を不要としてもよいが、第2の認証のみを行うようにしてもよい。また、第2の拠点BS2からアクセスする場合と同様に、第1の認証および第2の認証の両方を行うようにしてもよい。以下では、第1の認証および第2の認証の両方を行うものとして説明する。
【0019】
図2は、第1の実施形態によるサービス提供システム(クライアント端末100、認証サーバ200およびアプリケーションサーバ300)の機能構成例を示すブロック図である。
図2に示すように、クライアント端末100は、その機能構成として、証明書発行要求部101、証明書記録部102、第1の認証要求部103、第2の認証要求部104、アプリケーション実行要求部105および操作部106を備えている。また、クライアント端末100は、記憶媒体として、デバイス情報記憶部111、使用IPアドレス記憶部112および発行済み証明書記憶部113を備えている。
【0020】
上記各機能ブロック101~106は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック101~106は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0021】
認証サーバ200は、その機能構成として、証明書発行部201、第1の認証処理部202および第2の認証処理部203を備えている。また、認証サーバ200は、記憶媒体として、ユーザ情報記憶部211、登録IPアドレス記憶部212および証明書情報記憶部213を備えている。
【0022】
上記各機能ブロック201~203は、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック201~203は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0023】
アプリケーションサーバ300は、その機能構成として、アプリケーション実行部301を備えている。このアプリケーション実行部301は、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、アプリケーション実行部301は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0024】
なお、ここでは、認証サーバ200とアプリケーションサーバ300とを別サーバとして構成する例について説明したが、これに限定されない。例えば、アプリケーションサーバ300が認証サーバ200を備える構成としてもよい。
【0025】
まず、クライアント端末100および認証サーバ200が備える記憶媒体につて説明する。
【0026】
クライアント端末100のデバイス情報記憶部111は、クライアント端末100に固有のデバイス情報を記憶する。デバイス情報記憶部111には各種のデバイス情報が記憶されているが、本実施形態において用いるデバイス情報は、例えば、クライアント端末100に搭載されているCPUおよびOS(オぺーレーティングシステム)の種類およびバージョンを示す情報である。また、これらの情報に加えて、バッテリの有無、設定されている画面解像度の他、搭載されている各種デバイス(メモリ、ストレージ、チップセット等)の何れかに関する情報を用いてもよい。また、MACアドレスを用いてもよい。要は、クライアント端末100をユニークに特定可能な情報であればよく、1つの情報または複数の情報の組み合わせをデバイス情報として用いる。
【0027】
使用IPアドレス記憶部112は、クライアント端末100において使用中のIPアドレスを記憶する。クライアント端末100において使用するIPアドレスは、クライアント端末100を接続する拠点のネットワークによって変動し得る。すなわち、使用IPアドレス記憶部112は、クライアント端末100が現在接続している拠点のネットワークに由来するIPアドレスを記憶する。よって、クライアント端末100が接続する拠点のネットワークを変えると、使用IPアドレス記憶部112に記憶されるIPアドレスも変わる。
【0028】
発行済み証明書記憶部113は、認証サーバ200に対する要求に応じて発行された証明書を記憶する。なお、いったん証明書が発行された後は、ユーザが意図的に削除の指示をしない限り、証明書は発行済み証明書記憶部113に記憶され続ける。
【0029】
認証サーバ200のユーザ情報記憶部211は、ユーザに対して発行したユーザIDおよびパスワードをユーザ毎に記憶する。ユーザに対するユーザID/パスワードの発行は、公知の手法によってあらかじめ行われているものとする。例えば、アプリケーションサーバ300が提供するアプリケーションサービスの利用を希望するユーザが、サービス利用の申し込みを行い、その申込時にユーザまたはアプリケーションサーバ300により設定されたユーザID/パスワードをユーザ情報記憶部211に記憶する。
【0030】
登録IPアドレス記憶部212は、証明書の発行を許可するIPアドレスを事前に登録して記憶しておくものである。後述するように、本実施形態では、認証サーバ200は、特定のIPアドレスを使用しているクライアント端末100から証明書の発行要求が送られてきたときにのみ、証明書の発行を許可する。特定のIPアドレスは、第1の拠点BS1における社内LAN400にクライアント端末100を接続した場合に使用される固定IPアドレスである。
【0031】
証明書情報記憶部213は、クライアント端末100からの証明書発行要求に応じて発行された証明書を、当該証明書発行要求と共に送られてくるデバイス情報と関連付けてクライアント端末100ごとに記憶する。証明書情報記憶部213は、証明書が発行される都度、証明書とデバイス情報との組を随時追加して記憶していく。
【0032】
次に、クライアント端末100、認証サーバ200およびアプリケーションサーバ300の機能構成について説明する。
【0033】
クライアント端末100の操作部106は、ユーザがクライアント端末100のウェブブラウザに対して各種の指示をしたり、各種の情報を入力したりするために用いるものである。例えば、ユーザは、操作部106を操作することにより、認証サーバ200に対して証明書の発行を要求したり、第1の認証の実行を要求したり、第2の認証の実行を要求したりする。また、ユーザは、操作部106を操作することにより、アプリケーションサーバ300に対してアプリケーションサービスの実行を要求する。
【0034】
クライアント端末100の証明書発行要求部101は、デバイス情報記憶部111に記憶されているクライアント端末100のデバイス情報と、使用IPアドレス記憶部112に記憶されているIPアドレスとをウェブブラウザから認証サーバ200に送信して証明書の発行を要求する。後述するように、この証明書の発行要求は、クライアント端末100が第1の拠点BS1の社内LAN400に接続されているときに行うと有効であり(証明書の発行が認められる)、クライアント端末100が第2の拠点BS2の社外LAN410に接続されているときに行うと無効である(証明書の発行が認められない)。
【0035】
認証サーバ200の証明書発行部201は、証明書発行要求部101による証明書発行要求に応じて、証明書をクライアント端末100に対して発行するとともに、当該発行した証明書を、証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部213に記憶させる。ここで、証明書発行部201は、クライアント端末100から送られてきたIPアドレスと、登録IPアドレス記憶部212にあらかじめ記憶されている特定のIPアドレスとを照合し、両者が一致すると判定された場合、つまり、第1の拠点BS1で使用される特定のIPアドレスと共に証明書発行要求を受けたと判定された場合に、証明書を発行する。
【0036】
クライアント端末100の証明書記録部102は、証明書発行要求部101による証明書発行要求に対する応答として証明書発行部201により発行された証明書を認証サーバ200から受信し、端末内部の記憶媒体である発行済み証明書記憶部113に記憶させる。
【0037】
クライアント端末100の第1の認証要求部103は、発行済み証明書記憶部113に記憶された証明書を、デバイス情報記憶部111に記憶されているデバイス情報と共にウェブブラウザから認証サーバ200に送信して第1の認証を要求する。この第1の認証の要求は、クライアント端末100が第1の拠点BS1の社内LAN400に接続されているときでも、第2の拠点BS2の社外LAN410に接続されているときでも有効である(証明書の発行を受けた正当なクライアント端末100から第1の認証を要求すれば、当該認証は成功する)。
【0038】
認証サーバ200の第1の認証処理部202は、第1の認証要求部103による要求に応じて、クライアント端末100から送られてきた証明書およびデバイス情報と、証明書情報記憶部213に記憶されている証明書およびデバイス情報とを照合することによって第1の認証処理を行い、その成否の結果をクライアント端末100に通知する。
【0039】
上述のように、証明書の発行を受けた正当なクライアント端末100から第1の認証を要求すれば、認証サーバ200に送信される証明書およびデバイス情報と、証明書情報記憶部213に記憶されている証明書およびデバイス情報とが一致するので、第1の認証は成功する。一方、クライアント端末100から証明書を盗んで別の不正なクライアント端末から第1の認証を要求すると、証明書との組み合わせで認証サーバ200に送信されるデバイス情報と、証明書情報記憶部213に当該証明書との組み合わせで記憶されているデバイス情報とが一致しないので、第1の認証は不成功となる。
【0040】
第1の認証処理部202は、第1の認証が不成功と判断した場合に、証明書情報記憶部213に記憶されている証明書のうち、クライアント端末100から第1の認証の要求と共に送られてきた証明書と同じ証明書を無効化する。証明書の無効化は、例えば、証明書情報記憶部213から該当の証明書を削除(破棄)することによって行う。または、該当の証明書に対して無効であることを示すフラグ情報を付加する方法によって無効化を行うようにしてもよい。このように、不正なクライアント端末100からのアクセスによって第1の認証が要求された場合に、その要求に使われた証明書を無効化することにより、セキュリティをより強固なものとすることができる。
【0041】
クライアント端末100の第2の認証要求部104は、第1の認証に成功した旨の通知を第1の認証要求部103が認証サーバ200から受信した後、ユーザが操作部106を操作することによって入力されたユーザIDおよびパスワードをウェブブラウザから認証サーバ200に送信して第2の認証を要求する。
【0042】
認証サーバ200の第2の認証処理部203は、第2の認証要求部104による要求に応じて、クライアント端末100から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部211にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって第2の認証処理を行い、その成否の結果をクライアント端末100に通知する。
【0043】
ここで、第2の認証処理部203は、ユーザID/パスワードの照合に加え、クライアント端末100から送られてきたユーザIDおよびパスワードの少なくとも一方が、第1の認証に使用された証明書と紐付けられたものであるかを照合することによって第2の認証処理を行う。なお、ユーザIDおよびパスワードの少なくとも一方と証明書との紐付けは、証明書の発行を要求する際の初回のログイン時に実行する。
【0044】
すなわち、本実施形態では、証明書発行要求部101による証明書の発行要求を行うに先だって、ユーザIDおよびパスワードを認証サーバ200に送信し、ログインを行う。このログインは、ユーザに対してユーザID/パスワードが発行された後に最初に行う初回のログインである。つまり、ユーザは、証明書発行要求部101による証明書の発行要求を行う前に、第2の認証要求部104による第2の認証の要求を行い、第2の認証処理部203による第2の認証を受けてログインをする。そして、この状態で証明書発行要求部101による証明書の発行要求を行い、証明書発行部201による証明書の発行を受ける。
【0045】
ここで、証明書発行部201は、初回のログイン時における第2の認証が成功した後、証明書発行要求部101による証明書発行要求に応じて証明書を発行し、当該発行した証明書をデバイス情報と関連付けて証明書情報記憶部213に記憶させるとともに、当該発行した証明書と初回のログイン時に使用されたユーザIDおよびパスワードの少なくとも一方とを紐付ける紐付け情報を証明書情報記憶部213に記憶させる。初回のログイン時に使用されたユーザIDおよびパスワードの少なくとも一方は、当該初回のログインが成功したときに第2の認証処理部203が証明書発行部201に通知する。
【0046】
第2の認証処理部203は、初回のログイン時には、クライアント端末100から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部211にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって第2の認証処理を行う。一方、第2の認証処理部203は、2回目以降のログイン時には、クライアント端末100から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部211にあらかじめ記憶されているユーザIDおよびパスワードとを照合するとともに、クライアント端末100から送られてきたユーザIDおよびパスワードの少なくとも一方が、証明書情報記憶部213に記憶されている紐付け情報によって、第1の認証に使用された証明書と紐付けられたものであるかを照合することによって第2の認証処理を行う。
【0047】
第1の認証および第2の認証の何れにも成功すると、クライアント端末100からアプリケーションサーバ300にアクセスしてアプリケーションサービスを利用することが可能な状態となる。この状態で、クライアント端末100のアプリケーション実行要求部105は、ウェブブラウザから所望のアプリケーションサービスの実行をアプリケーションサーバ300に要求する。アプリケーションサーバ300のアプリケーション実行部301は、アプリケーション実行要求部105により要求されたアプリケーションサービスの処理を実行し、その結果をクライアント端末100のウェブブラウザに提供する。
【0048】
図3および
図4は、上記のように構成した認証システム(クライアント端末100および認証サーバ200)の動作例を示すフローチャートである。このうち、
図3は証明書発行時の動作例を示すフローチャートであり、
図4は認証処理時の動作例を示すフローチャートである。
【0049】
図3において、まず、クライアント端末100の第2の認証要求部104は、ユーザにより入力されたユーザIDおよびパスワードを認証サーバ200に送信して第2の認証を要求する(ステップS1)。認証サーバ200の第2の認証処理部203は、第2の認証要求部104による要求に応じて、クライアント端末100から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部211にあらかじめ記憶されているユーザIDおよびパスワードとを照合することによって第2の認証処理を行う(ステップS2)。
【0050】
ここで、第2の認証処理部203は、第2の認証に成功したか否かを判定する(ステップS3)。第2の認証に成功した場合は(ステップS3:Yes)、認証に成功した旨をクライアント端末100に通知する(ステップS4)。これにより、クライアント端末100から認証サーバ200への初回のログインが完了する。一方、第2の認証に失敗した場合は(ステップS3:No)、認証に失敗した旨をクライアント端末100に通知する(ステップS5)。これにより、認証サーバ200の処理は終了する。
【0051】
クライアント端末100の第2の認証要求部104は、認証サーバ200から第2の認証の成否の結果を知らせる通知を受信し、第2の認証に成功したか否かを判定する(ステップS6)。ここで、第2の認証に失敗した旨の通知を認証サーバ200から受信した場合(ステップS6:No)、第2の認証要求部104が認証失敗のエラーメッセージを表示して(ステップS7)、クライアント端末100の処理を終了する。
【0052】
一方、第2の認証に成功した旨の通知を認証サーバ200から受信した場合(ステップS6:Yes)、第2の認証要求部104は、認証成功のメッセージを表示する(ステップS8)。これを受けて、ユーザが操作部106を操作して証明書発行の要求を指示すると、証明書発行要求部101は、デバイス情報記憶部111に記憶されているクライアント端末100のデバイス情報と、使用IPアドレス記憶部112に記憶されているIPアドレスとを認証サーバ200に送信して証明書の発行を要求する(ステップS9)。
【0053】
認証サーバ200の証明書発行部201は、クライアント端末100から送られてきたIPアドレスと、登録IPアドレス記憶部212にあらかじめ記憶されている特定のIPアドレスとを照合し、両者が一致するか否かを判定する(ステップS10)。ここで、両者が一致しない場合(ステップS10:No)、証明書の発行に失敗した旨をクライアント端末100に通知する(ステップS11)。これにより、認証サーバ200の処理は終了する。
【0054】
一方、両者のIPアドレスが一致した場合(ステップS10:Yes)、証明書発行部201は、証明書をクライアント端末100に対して発行するとともに(ステップS12)、当該発行した証明書を、証明書発行要求と共に送られてきたデバイス情報と関連付けて証明書情報記憶部213に記憶する(ステップS13)。これにより、認証サーバ200の処理は終了する。
【0055】
クライアント端末100では、証明書発行要求部101が証明書の発行を要求した後、証明書記録部102は、証明書が認証サーバ200から送られてきたか否かを判定する(ステップS14)。ここで、証明書の発行に失敗した旨の通知を受信した場合(ステップS14:No)、証明書記録部102がその旨のエラーメッセージを表示して(ステップS15)、クライアント端末100の処理を終了する。
【0056】
一方、証明書記録部102が認証サーバ200から証明書を受信した場合(ステップS14:Yes)、証明書記録部102は、証明書発行成功のメッセージを表示して(ステップS16)、受信した証明書を発行済み証明書記憶部113に記憶させる(ステップS17)。これにより、クライアント端末100の処理を終了する。
【0057】
図4において、まず、クライアント端末100の第1の認証要求部103は、発行済み証明書記憶部113に記憶された証明書を、デバイス情報記憶部111に記憶されているデバイス情報と共に認証サーバ200に送信して第1の認証を要求する(ステップS21)。認証サーバ200の第1の認証処理部202は、第1の認証要求部103による要求に応じて、クライアント端末100から送られてきた証明書およびデバイス情報と、証明書情報記憶部213に記憶されている証明書およびデバイス情報とを照合することによって第1の認証処理を行う(ステップS22)。
【0058】
ここで、第1の認証処理部202は、第1の認証に成功したか否かを判定する(ステップS23)。第1の認証に成功した場合は(ステップS23:Yes)、認証に成功した旨をクライアント端末100に通知する(ステップS24)。一方、第1の認証に失敗した場合は(ステップS23:No)、認証に失敗した旨をクライアント端末100に通知するとともに(ステップS25)、証明書情報記憶部213に記憶されている証明書のうち、クライアント端末100から第1の認証の要求と共に送られてきた証明書と同じ証明書を無効化する(ステップS26)。これにより、認証サーバ200の処理は終了する。
【0059】
クライアント端末100の第1の認証要求部103は、認証サーバ200から第1の認証の成否の結果を知らせる通知を受信し、第1の認証に成功したか否かを判定する(ステップS27)。ここで、第1の認証に失敗した旨の通知を認証サーバ200から受信した場合(ステップS27:No)、第1の認証要求部103が認証失敗のエラーメッセージを表示して(ステップS28)、クライアント端末100の処理を終了する。
【0060】
一方、第1の認証に成功した旨の通知を認証サーバ200から受信した場合(ステップS27:Yes)、第1の認証要求部103は、認証成功のメッセージを表示する(ステップS29)。これを受けて、ユーザが操作部106を操作してユーザID/パスワードを入力し、第2の認証の要求を指示すると、第2の認証要求部104は、ユーザにより入力されたユーザIDおよびパスワードを認証サーバ200に送信して第2の認証を要求する(ステップS30)。
【0061】
認証サーバ200の第2の認証処理部203は、第2の認証要求部104による要求に応じて、クライアント端末100から送られてきたユーザIDおよびパスワードと、ユーザ情報記憶部211にあらかじめ記憶されているユーザIDおよびパスワードとを照合するとともに、クライアント端末100から送られてきたユーザIDおよびパスワードの少なくとも一方が、第1の認証に使用された証明書と紐付けられたものであるかを照合することによって第2の認証処理を行う(ステップS31)。
【0062】
ここで、第2の認証処理部203は、第2の認証に成功したか否かを判定する(ステップS32)。第2の認証に成功した場合は(ステップS32:Yes)、第2の認証に成功した旨をクライアント端末100に通知する(ステップS33)。一方、第2の認証に失敗した場合は(ステップS32:No)、認証に失敗した旨をクライアント端末100に通知する(ステップS34)。これにより、認証サーバ200の処理は終了する。
【0063】
クライアント端末100の第2の認証要求部104は、認証サーバ200から第2の認証の成否の結果を知らせる通知を受信し、第2の認証に成功したか否かを判定する(ステップS35)。ここで、第2の認証に失敗した旨の通知を認証サーバ200から受信した場合(ステップS35:No)、第2の認証要求部104が認証失敗のエラーメッセージを表示して(ステップS36)、クライアント端末100の処理を終了する。
【0064】
一方、第2の認証に成功した旨の通知を認証サーバ200から受信した場合(ステップS35:Yes)、第2の認証要求部104は、認証成功のメッセージを表示して(ステップS37)、第2の認証に成功した旨をアプリケーションサーバ300に通知する(ステップS38)。これにより、クライアント端末100の認証に関する処理を終了する。この通知により、クライアント端末100はアプリケーションサーバ300にアクセスして所望のアプリケーションサービスを利用することが可能となる。
【0065】
以上詳しく説明したように、第1の実施形態では、クライアント端末100からの要求に応じて認証サーバ200にて証明書を発行し、当該発行した証明書をクライアント端末100の内部の記憶媒体に記憶しておく。そして、記憶媒体に記憶された証明書をデバイス情報と共にクライアント端末100から認証サーバ200に送信して第1の認証を実行した後、第1の認証の成功後に、クライアント端末100からユーザIDおよびパスワードを認証サーバ200に送信して第2の認証を実行するようにしている。
【0066】
このように構成した本実施形態によれば、認証を受けたいクライアント端末100ごとに随時、証明書発行要求を認証サーバ200に送信することによって証明書を発行してもらい、その証明書をクライアント端末100に記憶しておくことにより、その後の任意のタイミングで証明書を用いた第1の認証を行い、その第1の認証に続けてユーザID/パスワードを用いた第2の認証を行うことができる。
【0067】
このため、クライアント端末100の証明書とユーザID/パスワードとを対応付けて認証サーバ200にあらかじめ記憶するとともに、クライアント証明書を各クライアント端末100にあらかじめ記憶するというサービス利用環境のセットアップを行うことなく、証明書を用いた第1の認証と、ユーザID/パスワードを用いた第2の認証とを行うことができるようになる。そして、これらの証明書の発行および認証を、クライアント端末100のウェブブラウザを用いて行うことができる。
【0068】
これにより、本実施形態によれば、IP制限やVPNといった仕組みを利用することなく、端末認証技術によって高いセキュリティを特別なセットアップなしに実現することができる。
【0069】
また、本実施形態では、特定のIPアドレス(第1の拠点BS1における社内LAN400で使用されるIPアドレス)を使用しているクライアント端末100から要求があった場合にのみ証明書を発行するようにしているので、社内LAN400を正当に利用することのできない第三者が証明書の発行を受けることはできない。社内LAN400を正当に利用することのできるユーザに対して正当に発行された証明書を第三者が盗んだとしても、第三者のクライアント端末から第1の認証を要求するとデバイス情報の不一致により認証が失敗する。第三者が不正に認証を受けようとする場合、ユーザのクライアント端末100を盗み、ユーザID/パスワードも盗む必要があるため、攻撃の難易度が非常に高くなる。
【0070】
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。
図5は、第2の実施形態によるサービス提供システムの機能構成例を示すブロック図である。なお、この
図5において、
図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0071】
図5に示すように、第2の実施形態によるクライアント端末100’は、第1の認証要求部103およびアプリケーション実行要求部105に代えて、第1の認証要求部103’およびアプリケーション実行要求部105’を備えている。また、第2の実施形態による認証サーバ200’は、第1の認証処理部202に代えて第1の認証処理部202’を備えるとともに、強制ログアウト部204およびIPアドレス一時記憶部214を更に備えている。
【0072】
第1の認証要求部103’は、第1の認証を要求する際に、使用IPアドレス記憶部112に記憶されているIPアドレスを認証サーバ200に送信する。第1の認証処理部202’は、認証要求の際に送られてきたIPアドレスをIPアドレス一時記憶部214に記憶する。
【0073】
強制ログアウト部204は、第1の認証および第2の認証の成功後にクライアント端末100のアプリケーション実行要求部105’からアプリケーションサーバ300に対して行われるアクセス時に送られてくるIPアドレスが、IPアドレス一時記憶部214に記憶されたIPアドレスと一致しているか否かを判定し、一致していない場合に強制ログアウトする。
【0074】
このように構成した第2の実施形態によれば、クライアント端末100’がログインした状態のまま第三者に盗難されても、強制的なログアウトによってセキュリティを確保することができる。すなわち、クライアント端末100’が盗難された後、これを使用するネットワークが変わるとIPアドレスが変わるので、その変わったIPアドレスを使用してアプリケーションサーバ300にアクセスしようとすると、IPアドレスの不一致により強制的にログアウトが行われる。これにより、第三者がアプリケーションサーバ300にアクセスすることを防ぐことができる。
【0075】
なお、ここでは、第1の認証要求部103’が第1の認証を要求する際にIPアドレスを認証サーバ200’に送信し、第1の認証処理部202’がIPアドレスをIPアドレス一時記憶部214に記憶する例について説明したが、本発明はこれに限定されない。例えば、第2の認証要求部104’が第2の認証を要求する際にIPアドレスを認証サーバ200’に送信し、第2の認証処理部203’がIPアドレスをIPアドレス一時記憶部214に記憶するようにしてもよい。また、第1の認証の要求時および第2の認証の要求時の両方において上記のような処理を行うようにしてもよい。
【0076】
上記第1および第2の実施形態では、初回のログイン時に発行した証明書とユーザIDおよびパスワードの少なくとも一方とを紐付けておき、2回目以降のログイン時に、ユーザID/パスワードの照合に加えて、クライアント端末100から送られてきたユーザIDおよびパスワードの少なくとも一方が、第1の認証に使用された証明書と紐付けられたものであるかを照合することによって第2の認証処理を行う構成について説明した。すなわち、第1の認証と第2の認証との関連付けを、初回のログイン時に生成した紐付け情報によって行う例について説明したが、本発明はこれに限定されない。
【0077】
例えば、第2の認証処理部203が、第1の認証処理部202(202’)による第1の認証が成功した場合にのみ、ユーザIDおよびパスワードの入力を促す認証情報入力画面をクライアント端末100(100’)のウェブブラウザに提供するようにする。そして、第2の認証要求部104が認証情報入力画面を受信し、当該認証情報入力画面を通じてユーザにより入力されたユーザIDおよびパスワードを認証サーバ200(200’)に送信して第2の認証を要求するようにしてもよい。このようにすれば、第1の認証と第2の認証とを関連付けるために紐付け情報を生成する必要がなくなる。
【0078】
また、上記第1および第2の実施形態では、特定のIPアドレスを使用しているクライアント端末100(100’)から証明書発行要求があった場合にのみ証明書を発行する例について説明したが、本発明はこれに限定されない。例えば、証明書発行部201は、ユーザによる所定の操作によって証明書発行要求の受付待機状態に設定されてから所定時間以内に証明書発行要求を受信した場合に、証明書を発行するようにしてもよい。
【0079】
具体的には、認証サーバ200(200’)を社内LAN400に接続し、ユーザが認証サーバ200(200’)を直接操作することによって証明書発行要求の受付待機状態に設定した後、それから所定時間以内に、同じ社内LAN400に接続されているクライアント端末100(100’)から証明書の発行要求を行った場合にのみ、証明書発行部201により証明書の発行を行うようにする。このようにすれば、ユーザが物理的に第1の拠点BS1にいるときでなければ証明書の発行を受けることができないので、第三者が不正に証明書の発行を受けることはできない。なお、ユーザが認証サーバ200(200’)を直接操作する形態に代えて、認証サーバ200(200’)に接続した受付待機状態設定用の操作部をユーザが操作することによって証明書発行要求の受付待機状態を設定するようにしてもよい。
【0080】
また、上記第1および第2の実施形態では、いったん発行された証明書は、ユーザが意図的に削除しない限り発行済み証明書記憶部113に記憶し続ける構成について説明したが、ユーザ単位で有効期限を設定するようにしてもよい。
【0081】
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0082】
100,100’ クライアント端末
101 証明書発行要求部
102 証明書記録部
103,103’ 第1の認証要求部
104 第2の認証要求部
105,105’ アプリケーション実行要求部
111 デバイス情報記憶部
112 使用IPアドレス記憶部
113 発行済み証明書記憶部
200,200’ 認証サーバ
201 証明書発行部
202,202’ 第1の認証処理部
203 第2の認証処理部
204 強制ログアウト部
211 ユーザ情報記憶部
212 登録IPアドレス記憶部
213 証明書情報記憶部
300 アプリケーションサーバ
301 アプリケーション実行部