(57)【特許請求の範囲】
【請求項１】
被認証装置と認証装置とを有する認証システムであって、
前記被認証装置は、
時計と、
前記認証装置から当該認証装置における時刻を示す認証装置時刻情報を取得する認証用データ取得部と、
前記認証用データ取得部が取得した前記認証装置時刻情報により示される時刻と、前記認証装置時刻情報の取得時に当該被認証装置が備える前記時計から取得した時刻との差分を示す時刻差分情報を生成する時刻差分情報生成部と、
認証要求時に当該被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成部が生成した前記時刻差分情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する認証情報生成部と、
前記認証情報生成部が生成した前記認証情報を送信する認証情報送信部と、
を備え、
前記認証装置は、
時計と、
当該認証装置が備える前記時計の時刻を示す前記認証装置時刻情報を前記被認証装置へ送信する認証用データ送信部と、
前記被認証装置から送信された前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証部と、
を備える、
ことを特徴とする認証システム。
【請求項２】
前記時刻差分情報生成部は、前記被認証装置が備える前記時計の時刻が補正された場合、補正前の時刻と補正後の時刻の差分を示す時刻補正情報を生成し、
前記認証情報生成部は、前記被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成部が生成した前記時刻差分情報及び前記時刻差分情報生成部が生成した前記時刻補正情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する、
ことを特徴とする請求項１に記載の認証システム。
【請求項３】
前記認証装置は、ユーザがサービスの利用を許可されているかの確認に用いるトークンを生成するトークン生成部をさらに備え、
前記認証用データ送信部は、前記被認証装置へ前記認証装置時刻情報と、前記トークン生成部が当該被認証装置のユーザについて生成した前記トークンとを送信し、
前記認証用データ取得部は、前記認証装置から前記認証装置時刻情報と前記トークンとを取得し、
前記認証情報生成部は、前記補正された時刻と前記トークンとを含んで暗号化した認証情報を生成し、
前記認証部は、前記被認証装置から受信した前記認証情報を復号して前記補正された時刻と前記トークンを取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が所定の範囲内であり、かつ取得した前記トークンが正当である場合に認証が成功したと判断する、
ことを特徴とする請求項１または請求項２に記載の認証システム。
【請求項４】
被認証装置と認証装置とを有する認証システムにおける前記認証装置であって、
時計と、
前記時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信
部と、
前記被認証装置において認証要求時に当該被認証装置の時計から取得した時刻を、前記認証装置時刻情報が示す時刻と前記認証装置時刻情報の受信時に当該被認証装置の前記時計から取得した時刻との差分に基づいて補正した時刻を含んで暗号化して生成された認証情報を受信し、受信した前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証部と、
を備えることを特徴とする認証装置。
【請求項５】
被認証装置と認証装置とを有する認証システムが実行する認証方法であって、
前記認証装置の認証用データ送信部が、当該認証装置が備える時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信過程と、
前記被認証装置において、
認証用データ取得部が、前記認証装置から前記認証装置時刻情報を取得する認証用データ取得過程と、
時刻差分情報生成部が、前記認証用データ取得過程において取得した前記認証装置時刻情報が示す時刻と、前記認証装置時刻情報の取得時に当該被認証装置が備える時計から取得した時刻との差分を示す時刻差分情報を生成する時刻差分情報生成過程と、
認証情報生成部が、認証要求時に当該被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成過程において生成された前記時刻差分情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する認証情報生成過程と、
認証情報送信部が、前記認証情報生成過程において生成した前記認証情報を送信する認証情報送信過程と、
前記認証装置の認証部が、前記被認証装置から送信された前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証過程と、
を有することを特徴とする認証方法。
【請求項６】
被認証装置と認証装置とを有する認証システムにおける前記認証装置が実行する認証方法であって、
認証用データ送信部が、当該認証装置が備える時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信過程と、
認証部が、前記被認証装置において認証要求時に当該被認証装置の時計から取得した時刻を、前記認証装置時刻情報が示す時刻と前記認証装置時刻情報の受信時に当該被認証装置の前記時計から取得した時刻との差分に基づいて補正した時刻を含んで暗号化して生成された認証情報を受信する受信過程と、
前記認証部が、前記受信過程において受信した前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証過程と、
を有することを特徴とする認証方法。
【請求項７】
被認証装置と認証装置とを有する認証システムにおける前記認証装置として用いるコンピュータを、
当該認証装置が備える時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信部、
前記被認証装置において認証要求時に当該被認証装置の時計から取得した時刻を、前記認証装置時刻情報が示す時刻と前記認証装置時刻情報の受信時に当該被認証装置の前記時計から取得した時刻との差分に基づいて補正した時刻を含んで暗号化して生成された認証情報を受信し、受信した前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証部、
として機能させるプログラム。
【請求項８】
被認証装置と認証装置とを有する認証システムにおける前記被認証装置として用いるコンピュータを、
前記認証装置から当該認証装置における時刻を示す認証装置時刻情報を取得する認証用データ取得部、
前記認証用データ取得部が取得した前記認証装置時刻情報により示される時刻と、前記認証装置時刻情報の取得時に当該被認証装置が備える時計から取得した時刻との差分を示す時刻差分情報を生成する時刻差分情報生成部、
認証要求時に当該被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成部が生成した前記時刻差分情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する認証情報生成部、
前記認証情報生成部が生成した前記認証情報を送信する認証情報送信部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、認証装置、認証方法、及びプログラムに関する。
【背景技術】
【０００２】
携帯端末等のユーザ端末がネットワークを介してサービスの提供を受けるサービス提供システムがある。このサービス提供システムにおいて、ユーザ端末は、予め認証サーバに認証を依頼し、サービスを受けるために必要となる認証情報を取得する。ユーザ端末は、認証サーバから受信した認証情報をサービス提供サーバに送信し、サービス提供サーバは、受信した認証情報による認証が成功した場合にサービスを提供する。しかし、ユーザ端末がサービスを利用する度に認証サーバから認証情報を取得すると、ユーザ端末の数が数千台などに増大した場合、認証サーバの負荷が大きくなりすぎてしまう。そこで、このようなサービス提供システムでは、認証サーバは、一旦ユーザ端末を認証すると、一定期間有効な認証情報を発行する。一方、特許文献１には、セキュリティのリスクを回避するために、時刻によって変化し、１回限り有効な認証情報であるワンタイムパスワードを用いて認証を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９８１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザ端末に一定期間有効な認証情報を利用して認証を行う場合、第三者が不正にその認証情報を傍受し、利用してしまうというリスクがある。そこで、ワンタイムパスワードのように使用する度に異なる認証情報を利用して認証を行い、セキュリティを強化することが望まれている。
【０００５】
一般に、ワンタイムパスワードを用いた認証を行うには、ユーザ端末と認証サーバのそれぞれが通信前に乱数を発生させ、発生させた乱数を秘密鍵によって暗号化し、交換する。ユーザ端末は、交換した乱数を用いて時刻に応じたワンタイムパスワード（暗号）を作成して認証装置へ送信し、認証サーバは、交換した乱数を用いてワンタイムパスワードを認証する。
【０００６】
しかし、この認証方法をサービス提供するシステムに適用した場合、サービスを利用する度に認証サーバと乱数を交換しなければならならず、上述したようにユーザ端末の増加によって、認証サーバの負荷が増大してしまう。また、サービス提供サーバは、ＰＯＰ（Post Office Protocol）やＨＴＴＰ（Hypertext Transfer Protocol）など、通信を確立する前のネゴシエーション手順（例えば、ハンドシェークなど）がないプロトコルを用いている場合がある。このようなプロトコルでは、ワンタイムパスワードの生成に必要な乱数を事前に交換することができない。
【０００７】
本発明は、このような事情を考慮してなされたものであり、認証の度に認証情報の生成に必要な情報を交換することなく、都度異なる認証情報を用いて認証を行う認証システム、認証装置、認証方法、及びプログラムを提供する。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明は、被認証装置と認証装置とを有する認証システムであって、前記被認証装置は、時計と、前記認証装置から当該認証装置における時刻を示す認証装置時刻情報を取得する認証用データ取得部と、前記認証用データ取得部が取得した前記認証装置時刻情報により示される時刻と、前記認証装置時刻情報の取得時に当該被認証装置が備える前記時計から取得した時刻との差分を示す時刻差分情報を生成する時刻差分情報生成部と、認証要求時に当該被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成部が生成した前記時刻差分情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する認証情報生成部と、前記認証情報生成部が生成した前記認証情報を送信する認証情報送信部と、を備え、前記認証装置は、時計と、当該認証装置が備える前記時計の時刻を示す前記認証装置時刻情報を前記被認証装置へ送信する認証用データ送信部と、前記被認証装置から送信された前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証部と、を備える、ことを特徴とする認証システムである。
【０００９】
また、本発明は、上述した認証システムであって、前記時刻差分情報生成部は、前記被認証装置が備える前記時計の時刻が補正された場合、補正前の時刻と補正後の時刻の差分を示す時刻補正情報を生成し、前記認証情報生成部は、前記被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成部が生成した前記時刻差分情報及び前記時刻補正情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する、ことを特徴とする。
【００１０】
また、本発明は、上述した認証システムであって、前記認証装置は、ユーザがサービスの利用を許可されているかの確認に用いるトークンを生成するトークン生成部をさらに備え、前記認証用データ送信部は、前記被認証装置へ前記認証装置時刻情報と、前記トークン生成部が当該被認証装置のユーザについて生成した前記トークンとを送信し、前記認証用データ取得部は、前記認証装置から前記認証装置時刻情報と前記トークンとを取得し、前記認証情報生成部は、前記補正された時刻と前記トークンとを含んで暗号化した認証情報を生成し、前記認証部は、前記被認証装置から受信した前記認証情報を復号して前記補正された時刻と前記トークンを取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が所定の範囲内であり、かつ取得した前記トークンが正当である場合に認証が成功したと判断する、ことを特徴とする。
【００１１】
また、本発明は、被認証装置と認証装置とを有する認証システムにおける前記認証装置であって、時計と、前記時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信部と、前記被認証装置において認証要求時に当該被認証装置の時計から取得した時刻を、前記認証装置時刻情報が示す時刻と前記認証装置時刻情報の受信時に当
該被認証装置の前記時計から取得した時刻との差分に基づいて補正した時刻を含んで暗号化して生成された認証情報を受信し、受信した前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証部と、を備えることを特徴とする認証装置である。
【００１２】
また、本発明は、被認証装置と認証装置とを有する認証システムが実行する認証方法であって、前記認証装置の認証用データ送信部が、当該認証装置が備える時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信過程と、前記被認証装置において、認証用データ取得部が、前記認証装置から前記認証装置時刻情報を取得する認証用データ取得過程と、時刻差分情報生成部が、前記認証用データ取得過程において取得した前記認証装置時刻情報が示す時刻と、前記認証装置時刻情報の取得時に当該被認証装置が備える時計から取得した時刻との差分を示す時刻差分情報を生成する時刻差分情報生成過程と、認証情報生成部が、認証要求時に当該被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成過程において生成された前記時刻差分情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する認証情報生成過程と、認証情報送信部が、前記認証情報生成過程において生成した前記認証情報を送信する認証情報送信過程と、前記認証装置の認証部が、前記被認証装置から送信された前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証過程と、を有することを特徴とする認証方法である。
【００１３】
また、本発明は、被認証装置と認証装置とを有する認証システムにおける前記認証装置が実行する認証方法であって、認証用データ送信部が、当該認証装置が備える時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信過程と、認証部が、認証部が、前記被認証装置において認証要求時に当該被認証装置の時計から取得した時刻を、前記認証装置時刻情報が示す時刻と前記認証装置時刻情報の受信時に当該被認証装置の前記時計から取得した時刻との差分に基づいて補正した時刻を含んで暗号化して生成された認証情報を受信する受信過程と、前記認証部が、前記受信過程において受信した前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証過程と、を有することを特徴とする認証方法である。
【００１４】
また、本発明は、被認証装置と認証装置とを有する認証システムにおける前記認証装置として用いるコンピュータを、当該認証装置が備える時計の時刻を示す認証装置時刻情報を前記被認証装置へ送信する認証用データ送信部、前記被認証装置において認証要求時に当該被認証装置の時計から取得した時刻を、前記認証装置時刻情報が示す時刻と前記認証装置時刻情報の受信時に当該被認証装置の前記時計から取得した時刻との差分に基づいて補正した時刻を含んで暗号化して生成された認証情報を受信し、受信した前記認証情報を復号して前記補正された時刻を取得し、前記補正された時刻と当該認証装置が備える前記時計から取得した時刻との差分が、前記時計のずれまたは通信遅延に応じた所定の範囲内である場合に認証が成功したと判断する認証部、として機能させるプログラムである。
【００１５】
また、本発明は、被認証装置と認証装置とを有する認証システムにおける前記被認証装置として用いるコンピュータを、前記認証装置から当該認証装置における時刻を示す認証装置時刻情報を取得する認証用データ取得部、前記認証用データ取得部が取得した前記認証装置時刻情報により示される時刻と、前記認証装置時刻情報の取得時に当該被認証装置が備える時計から取得した時刻との差分を示す時刻差分情報を生成する時刻差分情報生成部、認証要求時に当該被認証装置が備える前記時計から取得した時刻を、前記時刻差分情報生成部が生成した前記時刻差分情報に基づいて補正し、補正された時刻を含んで暗号化した認証情報を生成する認証情報生成部、前記認証情報生成部が生成した前記認証情報を送信する認証情報送信部、として機能させるプログラムである。
【発明の効果】
【００１６】
本発明によれば、認証の度に認証情報の生成に必要な情報を交換することなく、都度異なる認証情報を用いて認証を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態による認証システムの構成を示すブロック図である。
【図２】同実施形態によるユーザ端末の構成を示すブロック図である。
【図３】同実施形態による認証装置の構成を示すブロック図である。
【図４】同実施形態によるサービス提供装置の構成を示すブロック図である。
【図５】同実施形態による認証情報を示す図である。
【図６】同実施形態による認証システムにおける処理フローを示す図である。
【図７】同実施形態による認証システムにおける認証情報生成処理の処理フローを示す図である。
【図８】同実施形態による認証システムにおける認証処理の処理フローを示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【００１９】
図１は、本発明の一実施形態による認証システムの構成を示すブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。本実施形態の認証システムはサービス提供システムに適用され、同図に示すように、ユーザ端末１、認証装置２、及びサービス提供装置３を、ネットワーク９を介して接続して構成される。ネットワーク９は、例えば、第３世代の携帯電話方式のネットワークである３Ｇ（3rd. Generation）網である。同図においては、ユーザ端末１及びサービス提供装置３をそれぞれ１台のみ示しているが、複数台が接続され得る。
【００２０】
図２は、被認証装置であるユーザ端末１の構成を示すブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。ユーザ端末１は、例えば、スマートフォン、タブレット端末、パーソナルコンピュータなどのコンピュータ端末である。同図に示すようにユーザ端末１は、通信部１１、アプリ実行部１２（認証情報送信部）、認証用データ取得部１３、暗号処理部１４、時刻差分情報生成部１５、時計１６、記憶部１７、認証情報生成部１８、及び入力部１９を備えて構成される。
【００２１】
通信部１１は、ネットワーク９を介して他の装置とデータを送受信する。アプリ実行部１２は、サービス提供装置３から提供されるサービスを利用するアプリケーションを実行する。暗号処理部１４は、認証装置２へ送信するデータを暗号化するとともに、認証装置２から受信した暗号化データを復号する。
【００２２】
認証用データ取得部１３は、認証用データを認証装置２から取得する。認証用データは、サービス提供装置３が提供する各種サービスを利用する際の認証に用いられる認証情報の生成に用いられ、認証装置時刻情報とトークンが含まれる。認証装置時刻情報は、認証装置２が備える時計の時刻を示す。トークンは、認証装置２においてサービスの利用が許可されたユーザであることを確認するための情報である。トークンは、３ヶ月などの所定の有効期限があるため、認証用データ取得部１３は、トークンの有効期限が切れる度に認証用データを取得する。
【００２３】
時計１６は、時刻を出力する。時刻差分情報生成部１５は、認証用データの取得時に時計１６が出力した時刻と、取得した認証用データに含まれる認証装置時刻情報が示す時刻との差分を示す時刻差分情報を生成する。記憶部１７は、認証用データ取得部１３が取得したトークンと、時刻差分情報生成部１５が生成した時刻差分情報とを記憶する。
【００２４】
認証情報生成部１８は、認証装置２が備える時計の認証要求時における推定時刻と、記憶部１７から読み出したトークンと、ユーザに固有の情報とを用いて、生成の度に異なるワンタイムの認証情報を生成する。認証要求時とは、例えば、アプリ実行部１２がサービスの提供を要求するためにサービス提供装置３へアクセスする時である。認証情報生成部１８は、認証要求時に時計１６から取得した時刻を、記憶部１７から読み出した時刻差分情報に基づいて補正することによって、認証装置２が備える時計の推定時刻を算出する。
入力部１９は、例えば、ボタンやキー、タッチパネルであり、ユーザによる入力を受ける。
【００２５】
図３は、認証装置２の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。認証装置２は、例えば、１台以上のサーバコンピュータで実現でき、同図に示すように通信部２１、暗号処理部２２、認証用データ送信部２３、トークン生成部２４、記憶部２５、時計２６、及び認証部２７を備えて構成される。
【００２６】
記憶部２５は、ユーザ情報、及びトークン付与情報を記憶する。
ユーザ情報は、ユーザ名（Ｕｓｅｒｎａｍｅ）、ユーザの識別情報、端末情報、及びトークンＩＤを対応付けた情報であり、予め設定される。ユーザ名は、サービス提供装置３が提供するサービスの正当な利用者に付与され、例えば、メールアドレスなどを使用することができる。ユーザの識別情報は、ユーザ端末１により通信を行っているユーザを特定する。ユーザの識別情報には、例えば、ＭＳＮ（multiple subscriber number）やＷｉＦｉ（wireless fidelity）（登録商標）パスワードを使用することができる。端末情報は、通信を行っているユーザ端末１を特定する。端末情報は、例えば、ＳＩＭ（Subscriber Identity Module）のＩＤを用いることができる。トークンＩＤは、ユーザに付与するトークンを特定する。
トークン付与情報は、トークンを付与したユーザのユーザＩＤ、端末情報、及びトークンＩＤを対応付けた情報である。なお、トークン付与情報に、トークンの有効期限が含まれてもよい。
【００２７】
通信部２１は、ネットワーク９を介して他の装置とデータを送受信する。暗号処理部２２は、ユーザ端末１へ送信するデータを暗号化するとともに、ユーザ端末１から受信した暗号化データを復号する。
【００２８】
時計２６は、時刻を出力する。認証用データ送信部２３は、ユーザ端末１からの要求を受け、認証用データを送信する。認証用データには、時計２６から取得した時刻を示す認証装置時刻情報と、トークンが含まれる。トークン生成部２４は、ユーザ端末１へ送信するトークンを生成する。認証部２７は、サービス提供装置３がユーザ端末１から受信した認証情報の認証を行い、認証結果を返送する。認証部２７は、受信した認証情報からユーザ端末１が算出した認証装置２の推定時刻とトークンとを取得し、認証情報の受信時に時計２６が出力した時刻と取得した推定時刻との差分が所定以内であるか、また、取得したトークンが正当であるかによって認証を行う。
【００２９】
図４は、サービス提供装置３の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。サービス提供装置３は、例えば、１台以上のサーバコンピュータで実現でき、同図に示すように通信部３１、認証依頼部３２、及びサービス提供部３３を備えて構成される。
【００３０】
通信部３１は、ネットワーク９を介して他の装置とデータを送受信する。認証依頼部３２は、ユーザ端末１から受信した認証情報を認証装置２に送信し、認証を依頼する。認証依頼部３２は、認証の依頼に対応して認証装置２から認証失敗を受信した場合、その旨をユーザ端末１に通知する。サービス提供部３３は、認証の依頼に対応して認証装置２から認証成功を受信した場合、ユーザ端末１にサービスを提供する。
【００３１】
なお、サービス提供装置３が複数台備えられる場合、各サービス提供装置３は、異なるサービスを提供するものであってもよい。例えば、サービス提供装置３は、メールサーバ、ＰＯＰ（Post Office Protocol）サーバ、情報提供サーバなどでありうる。
【００３２】
図５は、認証情報を示す図である。
同図に示すように、認証情報は、乱数と、時刻情報と、トークンとを、認証情報用暗号鍵情報により暗号化した情報である。時刻情報が示す時刻は、ユーザ端末１の時計１６から取得した情報を時刻差分情報によって補正した時刻であり、認証装置２が備える時計２６の推定時刻である。認証情報用暗号鍵情報は、固定データと、ユーザの識別情報とを用いた所定の演算により生成される。ユーザの識別情報は、例えば、ユーザ端末１が通信に３Ｇを用いる場合はＭＳＮ、ＷｉＦｉ（登録商標）を用いる場合は、ＷｉＦｉ（登録商標）パスワードとすることができる。
【００３３】
図６は、認証システムの処理フローを示す図である。
ユーザ端末１のアプリ実行部１２は、有効なトークンが含まれる認証用データを保持していないことを検出すると、認証用データ取得部１３に認証用データの取得を指示する。有効なトークンが含まれる認証用データを保持していない場合とは、例えば、記憶部１７にトークンが記憶されていない場合、認証用データを取得してから所定期間が過ぎた場合などである。認証用データ取得部１３は、認証用データの取得が指示されると、認証装置２へアクセス要求を送信するよう暗号処理部１４に指示する。暗号処理部１４は、アクセス要求の送信が指示されると、通信用鍵情報を生成するために使用する乱数Ｒ１を発生させる（ステップＳ１０５）。通信用鍵情報とは、認証装置２との間で送受信するデータを暗号化及び復号化するために使用する鍵情報である。暗号処理部１４は、乱数Ｒ１を設定したアクセス要求を通信部１１に出力し、通信部１１は、入力されたアクセス要求を認証装置２に送信する（ステップＳ１１０）。
【００３４】
認証装置２の通信部２１は、ユーザ端末１から受信したアクセス要求を暗号処理部２２に出力する。暗号処理部２２は、アクセス要求から乱数Ｒ１とＭＳＮを取得する（ステップＳ１１５）。なお、ＭＳＮは、ネットワーク９上のゲートウェイにおいて、アクセス要求に設定されている伝送レイヤから判断して設定されるが、ユーザ端末１において設定してもよい。暗号処理部２２は、通信用鍵情報を生成するために使用する乱数Ｒ２を発生させると、取得したＭＳＮ及び乱数Ｒ１と、発生させた乱数Ｒ２とを用いて、所定の通信用鍵生成ロジックの演算により通信用鍵情報を生成する（ステップＳ１２０）。暗号処理部２２は、セッションＩＤを割り当てると、乱数Ｒ２を設定したアクセス要求応答と割り当てたセッションＩＤを通信部２１に出力する。通信部２１は、アクセス要求応答にセッションＩＤを付加してユーザ端末１に送信する（ステップＳ１２５）。
【００３５】
ユーザ端末１の通信部１１は、認証装置２から受信したアクセス要求応答を暗号処理部１４に出力する。暗号処理部１４は、アクセス要求応答から乱数Ｒ２とセッションＩＤを取得すると、自装置のＭＳＮと、ステップＳ１０５において発生させた乱数Ｒ１と、アクセス要求応答から取得した乱数Ｒ２とを用いて、暗号処理部２２が用いた通信用鍵生成ロジックと同じ演算により通信用鍵情報を生成する（ステップＳ１３０）。暗号処理部１４は、アクセス要求応答の受信を認証用データ取得部１３に通知する。
【００３６】
認証用データ取得部１３は、自装置の端末情報とユーザＩＤを設定した認証用データ要求を暗号処理部１４に出力する。暗号処理部１４は、ステップＳ１３０において生成した通信用鍵情報により認証用データ要求を暗号化し、暗号化認証用データ要求を生成すると、セッションＩＤとともに通信部１１に出力する（ステップＳ１３５）。通信部１１は、暗号化認証用データ要求にセッションＩＤを付加して認証装置２に送信する（ステップＳ１４０）。
【００３７】
認証装置２の通信部２１は、ユーザ端末１から受信した暗号化認証用データ要求及びセッションＩＤを暗号処理部２２に出力する。暗号処理部２２は、セッションＩＤに対応した通信用鍵情報により暗号化認証用データ要求を復号し、得られた平文の認証用データ要求を認証用データ送信部２３に出力する（ステップＳ１４５）。認証用データ送信部２３は、認証用データ要求から取得した端末情報とユーザＩＤをトークン生成部２４に出力し、トークンの生成を指示する。
【００３８】
トークン生成部２４は、ユーザＩＤ及び端末情報に対応したトークンＩＤを記憶部２５に記憶されているユーザ情報から読み出す。トークン生成部２４は、例えば、現在から所定期間が経過した日をトークンの有効期限として決定すると、トークンＩＤ、ユーザＩＤ、端末情報、及び有効期限をトークン用鍵情報により暗号化してトークンを生成する（ステップＳ１５０）。トークン生成部２４は、トークンＩＤ、ユーザＩＤ、及び端末情報を対応付けたトークン付与情報を記憶部２５に書き込み、生成したトークンを認証用データ送信部２３に出力する。
【００３９】
認証用データ送信部２３は、時計２６から現在の時刻を取得すると、取得した時刻を示す認証装置時刻情報と、トークン生成部２４が生成したトークンとを設定した認証用データ通知を暗号処理部２２に出力する。暗号処理部２２は、認証用データ通知を通信用鍵情報により暗号化し、暗号化認証用データ通知を生成する。通信部２１は、暗号化認証用データ通知をユーザ端末１に送信する（ステップＳ１５５）。
【００４０】
ユーザ端末１の通信部１１は、認証装置２から受信した暗号化認証用データ通知を暗号処理部１４に出力する。暗号処理部１４は、通信用鍵情報により暗号化認証用データ通知を復号し、得られた認証用データ通知を認証用データ取得部１３に出力する。認証用データ取得部１３は、認証用データ通知からトークンと認証装置時刻情報を取得すると、トークンを記憶部１７に書き込むとともに、認証装置時刻情報を時刻差分情報生成部１５に出力する。時刻差分情報生成部１５は、時計１６から現在の時刻を取得すると、認証装置時刻情報が示す時刻との差分を算出し、算出した差分を示す時刻差分情報を記憶部１７に書き込む（ステップＳ１６０）。時刻差分情報生成部１５は、アプリ実行部１２に、認証用データの取得完了を通知する。
【００４１】
アプリ実行部１２は、サービス提供装置３にサービスを要求するため、認証情報生成部１８に認証情報の生成を指示する。認証情報生成部１８は、記憶部１７から時刻差分情報及びトークンを読み出すと、時計１６から取得した時刻を時刻差分情報により補正する。認証情報生成部１８は、補正した時刻とトークンとを用いて認証情報を生成し、アプリ実行部１２に出力する（ステップＳ１６５）。アプリ実行部１２は、認証情報生成部１８が生成した認証情報をサービス要求に設定し、サービス提供装置３に送信する（ステップＳ１７０）。サービス提供装置３の認証依頼部３２は、受信したサービス要求に設定されている認証情報の認証を認証装置２に依頼する（ステップＳ１７５）。認証装置２の認証部２７は認証情報の認証処理を行い、結果をサービス提供装置３に返送する（ステップＳ１８０）。サービス提供装置３のサービス提供部３３は、認証の成功を受信した場合、ユーザ端末１から要求されたアプリ層のサービスを実行し、実行結果を示すレスポンスを通信部３１に出力する（ステップＳ１８５）。通信部３１は、レスポンスをユーザ端末１に送信する（ステップＳ１９０）。
【００４２】
例えば、サービス提供装置３がメールサーバであり、サービス要求がメールの読み出しの要求であれば、サービス提供装置３は、メールの本文をレスポンスとしてユーザ端末１へ返送する。あるいは、例えば、サービス提供装置３がウェブサーバであり、サービス要求がウェブページの読み出しの要求であれば、サービス提供装置３は、要求されたウェブページのデータをレスポンスとしてユーザ端末１へ返送する。
【００４３】
ユーザ端末１の通信部１１は、レスポンスをアプリ実行部１２に出力し、アプリ実行部１２は、受信したレスポンスを用いてアプリケーション処理を行う（ステップＳ１９５）。
【００４４】
図７は、図６に示すステップＳ１６５の認証情報生成処理の詳細な処理フローを示す図である。
ユーザ端末１のアプリ実行部１２は、サービス提供装置３にサービス提供を要求する際、認証情報生成部１８に認証情報の生成を要求する。認証情報生成部１８は、あらかじめ認証装置２との間で決められた固定データと、ユーザの識別情報であるＭＳＮ（３Ｇを用いる場合）とを用いて、所定の暗号鍵生成ロジックの演算により認証情報用暗号鍵情報を生成する（ステップＳ２０５）。なお、ＷｉＦｉ（登録商標）を用いる場合、ＷｉＦｉ（登録商標）パスワードをユーザの識別情報とする。
【００４５】
認証情報生成部１８は、記憶部１７から時刻差分情報とトークンを読み出すと、時計１６から取得した現在の時刻を、読み出した時刻差分情報が示す差分に基づいて補正し、認証装置２の推定時刻を算出する（ステップＳ２１０）。認証情報生成部１８は、固定長の乱数を発生させ、発生させた乱数と、算出した推定時刻を示す時刻情報と、トークンとを結合したデータを、認証情報用暗号鍵情報を用いて所定の暗号化ロジックの演算により暗号化し、認証情報を生成する（ステップＳ２１５）。認証情報生成部１８は、生成した認証情報をアプリ実行部１２に出力する。アプリ実行部１２は、認証情報と、ユーザ名とを設定したサービス要求を通信部１１に出力し、通信部１１は、サービス要求をサービス提供装置３へ送信する（ステップＳ２２０）。サービス要求には、例えば、ＰＯＰや、ＳＭＴＰ（Simple Mail Transfer Protocol）  ｏｖｅｒ  ＴＬＳ（Transport Layer Security）などが使用され得る。
【００４６】
図８は、図６に示すステップＳ１７５〜Ｓ１８０の認証処理の詳細な処理フローを示す図である。
サービス提供装置３の通信部３１は、ユーザ端末１から受信したサービス要求を認証依頼部３２に出力する。認証依頼部３２は、サービス要求から読み出した認証情報及びユーザ名を設定した認証装置２宛ての認証依頼を通信部３１に出力し、通信部３１は、認証依頼を認証装置２に送信する（ステップＳ３０５）。
【００４７】
認証装置２の通信部２１は、認証依頼を認証部２７に出力する。認証部２７は、認証依頼に設定されているユーザ名に対応したＭＳＮを、記憶部２５が記憶しているユーザ情報から読み出す。なお、ユーザ端末１がＷｉＦｉ（登録商標）を用いてサービス提供装置３にアクセスした場合は、ＭＳＮに代えてＷｉＦｉ（登録商標）パスワードを読み出す。認証部２７は、固定データとＭＳＮを用いて、図７のステップＳ２０５において用いた暗号鍵生成ロジックに対応した復号鍵生成ロジックの演算により認証情報用復号鍵情報を生成する（ステップＳ３１０）。認証部２７は、認証依頼に設定されている認証情報を、生成した認証情報用復号鍵情報を用いて所定の復号化ロジックの演算により復号する（ステップＳ３１５）。認証部２７は、復号した認証情報のフォーマットが正しいかを判断するフォーマットチェックを行う（ステップＳ３２０）。フォーマットが正しく、チェックがＯＫである場合、認証部２７は、復号された認証情報から、時刻情報及びトークンを取得する。
【００４８】
認証部２７は、取得した時刻情報が示す時刻の時刻チェックを行う（ステップＳ３２５）。具体的には、認証部２７は、時計２６から取得した現在の時刻と、時刻情報が示す時刻との差分が、予め決められたしきい値以下であるなど所定の範囲内である場合、時刻チェックがＯＫであると判断する。このしきい値は、時計のずれや、通信遅延などを考慮して決められる。これにより、認証装置２は、ユーザ端末１の時計が正確ではない場合や、通信に遅延が生じた場合でも、認証を行うことができる。
【００４９】
さらに、認証部２７は、トークンチェックを行う（ステップＳ３３０）。具体的には、認証部２７は、取得したトークンをトークン用鍵情報により復号し、トークンＩＤ、ユーザＩＤ、端末情報、及び有効期限を取得する。認証部２７は、取得したトークンＩＤ、ユーザＩＤ、及び端末情報が対応付けて記憶部２５のトークン付与情報に設定されており、かつ、有効期限が現在の日時以降であれば、トークンチェックがＯＫであると判断する。
【００５０】
認証部２７は、ステップＳ３２０、Ｓ３２５、Ｓ３３０のチェックが全てＯＫであれば認証成功と判断し、いずれかがＮＧであれば認証失敗と判断する。認証部２７は、認証結果を示す認証結果通知を通信部２１に出力し、通信部２１は、認証結果通知をサービス提供装置３に送信する（ステップＳ３３５）。なお、認証失敗の場合、認証部２７は、認証情報、トークンのいずれが原因であるかを認証結果通知に設定する。ステップＳ３２０、Ｓ３２５のチェックのいずれかがＮＧであれば認証情報の認証失敗が原因として設定され、ステップＳ３３０のチェックがＮＧであればトークンの不正が原因として設定される。
【００５１】
サービス提供装置３の通信部２１は、受信した認証結果通知を認証依頼部３２に出力する。認証依頼部３２は、認証結果通知に認証成功が設定されている場合（ステップＳ３４０：ＹＥＳ）、サービス提供部３３にサービス要求を出力し、サービスの提供を指示する。サービス提供部３３は、サービス要求により要求されたサービスをユーザ端末１に提供する（ステップＳ３４５）。
【００５２】
一方、認証結果通知に認証失敗が設定されている場合（ステップＳ３４０：ＮＯ）、認証依頼部３２は、通信部３１を介してエラーをユーザ端末１に通知する（ステップＳ３５０）。ユーザ端末１は、エラーが通知されると、トークンの期限が切れている可能性があるとして、再び、図６のステップＳ１０５からの処理を行う。
【００５３】
なお、ステップＳ２０５で用いた暗号鍵生成ロジック、ステップＳ３１５で用いた復号鍵生成ロジック、ステップＳ２１５で用いた暗号化ロジック、及びステップＳ３１０で用いた復号化ロジックは、ユーザ端末１と認証装置２の間で交換可能である。ＡＥＳ（Advanced Encryption Standard）など共通鍵暗号方式を用いた場合、暗号鍵生成ロジック及び復号鍵生成ロジックは同一であり、認証情報用暗号鍵情報と認証情報用復号鍵情報も同一となる。
【００５４】
なお、ユーザが、ユーザ端末１の入力部１９により時計１６の時刻補正を入力した場合、時刻差分情報生成部１５は、時計１６の補正前の時刻と補正後の時刻との差分を、時刻補正情報として記憶部１７に書き込む。そして、図７のステップＳ２１０において、ユーザ端末１の認証情報生成部１８は、記憶部１７からさらに時刻補正情報を読み出す。認証情報生成部１８は、時計１６から取得した現在の時刻を、読み出した時刻差分情報が示す差分と、時刻補正情報が示す差分に基づいて補正し、認証装置２の推定時刻を算出する。これにより、例えば、ユーザがユーザ端末１を海外で使用し、時計１６を現地の時刻に合わせた場合でも、認証装置２において認証を行うことができる。
【００５５】
上述した実施形態によれば、ユーザ端末１は、予め取得しておいた認証装置２との時刻のずれによって自装置の時刻を補正し、補正した時刻を用いてワンタイムの認証情報を生成する。認証装置２は、認証情報から得られた時刻と、自装置の時刻との差分に基づいて認証を行う。よって、ユーザ端末１は、認証の度に乱数など認証情報の生成に用いる情報を認証装置２との間で交換する必要がなく、認証装置２に負荷をかけずにワンタイムの認証情報を用いた認証を行うことが可能である。
【００５６】
これにより、認証装置２は、ネットワーク９を介してサービス提供装置３がユーザ端末１にサービスを提供する際、ユーザ端末１が事前に取得した認証装置２の時刻の情報に基づいて都度生成した異なる認証情報によりユーザ端末１の認証を行うことができる。従って、ユーザ端末１は、サービス提供装置３に直接サービスの提供を要求することができるとともに、サービス提供装置３が実装している通信プロトコルによらず、ワンタイムの認証情報による認証を行った後にサービスを提供することが可能となる。また、万が一、第三者が認証情報を取得したとしても極めて短時間で使用できなくなるため、不正利用を防ぐことができる。
【００５７】
また、上記実施形態においては、所定期間有効なトークンをさらに用いて認証情報を生成するため、ユーザ端末１はトークンの有効期間が経過するたびに認証装置２から認証用データをダウンロードしなければならない。このとき、認証装置２は、正当なユーザ端末１のみが復号できるように認証用データを暗号化して送信する。従って、認証用データの取得時にもユーザ端末１の正当性が確認され、この正当性確認はトークンの有効期間が満了する度に行われるため、セキュリティがさらに向上する。
【００５８】
なお、認証装置２がサービス提供装置３を兼ねてもよい。また、上記においては、ユーザ端末１がサービス提供装置３へサービスを要求する際に認証情報を生成し、送信しているが、サービス提供装置３から随時認証情報送信指示を受けて認証情報を生成し、送信してもよい。
【００５９】
上述したユーザ端末１、認証装置２、及びサービス提供装置３は、内部にコンピュータシステムを有している。そして、上述したユーザ端末１のアプリ実行部１２、認証用データ取得部１３、暗号処理部１４、時刻差分情報生成部１５、及び認証情報生成部１８、認証装置２の暗号処理部２２、認証用データ送信部２３、トークン生成部２４、及び認証部２７、ならびにサービス提供装置３の認証依頼部３２、及びサービス提供部３３の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【００６０】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【００６１】
１  ユーザ端末（被認証装置）
２  認証装置
３  サービス提供装置
９  ネットワーク
１１、２１、３１  通信部
１２  アプリ実行部（認証情報送信部）
１３  認証用データ取得部
１４  暗号処理部
１５  時刻差分情報生成部
１６、２６  時計
１７、２５  記憶部
１８  認証情報生成部
２２  暗号処理部
２３  認証用データ送信部
２４  トークン生成部
２７  認証部
３２  認証依頼部
３３  サービス提供部
【図１】
0005829574.tif 000002
【図２】
0005829574.tif 000003
【図３】
0005829574.tif 000004
【図４】
0005829574.tif 000005
【図５】
0005829574.tif 000006
【図６】
0005829574.tif 000007
【図７】
0005829574.tif 000008
【図８】
0005829574.tif 000009