説明

ユーザ認証システムおよびユーザ認証方法

【課題】業務システムにログインする際に必要とされるパスワードの盗聴・盗難等に対処でき、かつ、ユーザ認証における機密性を向上させる。
【解決手段】クライアント端末20が、サービス提供サーバ10へアクセス可能な端末を認証するワンタイム・パスワード(以下、「OTP」という。)を作成する認証サーバ30に対してOTPを含む二次元バーコードの発行要求を行うと、認証サーバ30は、生成したOTPを携帯電話機50との間で共有する共通鍵で暗号化し、これを含む二次元バーコードをクライアント端末20へ返送する。次に、クライアント端末20が、返送された二次元バーコードを画面表示すると、携帯電話機50が、二次元バーコードを撮影して解読すると共に共通鍵で復号化してOTPを取得する。そして、クライアント端末20が、OTPに基づいてサービス提供サーバ10へ認証を要求する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力されたパスワードに基づいてユーザ認証を行うユーザ認証システムおよびユーザ認証方法に関する。
【背景技術】
【0002】
近年、ネットワーク技術の発展に伴い、社外からネットワークを介して業務システムに接続し、データ通信を高速に行うことが可能となっている。しかし、ネットワーク上では「なりすまし」、「盗聴」、「改ざん」などの脅威に対して高度なセキュリティを確保する必要がある。例えば、PCなどのクライアント端末からインターネットを介して業務システムにログインする際に、「トークン」と呼ばれるワンタイム・パスワードを発行する専用機、あるいはトークン発行ソフトウェアがインストールされた携帯電話機などのトークン発行装置を利用してユーザ認証を行う技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−287461号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のユーザ認証においては、トークン発行装置の画面上にワンタイム・パスワードを平文で表示する形式のため、例えばユーザIDとワンタイム・パスワードの組合せで認証を行うようなシステムの場合には、盗難などによってトークン発行装置の表示内容が知られると、正規のユーザになりすましてログインされてしまう可能性があった。
【0005】
そこで、本発明は、上記従来技術の問題に鑑み、業務システムにログインする際に必要とされるパスワードの盗聴・盗難等に対処でき、かつ、ユーザ認証における機密性を向上させたユーザ認証システムおよびユーザ認証方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るユーザ認証システムは、ワンタイム・パスワードに基づいてユーザを認証し、サービスを提供するサービス提供サーバと、このサービス提供サーバに接続され、前記ユーザからの入力情報に基づいて前記サービス提供サーバに前記サービスの提供を要求するクライアント端末と、このクライアント端末に接続され、前記ワンタイム・パスワードを作成すると共に共通鍵によって暗号化して暗号化ワンタイム・パスワードを生成し、これを前記クライアント端末に送信する認証サーバと、前記認証サーバとの間で前記共通鍵を共有する携帯電話機と、前記認証サーバおよび前記サービス提供サーバに接続され、少なくとも前記ユーザの識別情報、前記携帯電話機の識別情報、前記ワンタイム・パスワード、および前記共通鍵の関係を記憶する共有データベースと、からなり、前記携帯電話機は、前記認証サーバから前記クライアント端末に送信された前記暗号化ワンタイム・パスワードを取得して前記共通鍵で復号化し、かつ、前記クライアント端末は、前記携帯電話機で復号化されたワンタイム・パスワードに基づいて前記サービス提供サーバに前記サービスの提供を要求することを特徴とする。
【0007】
本発明に係るユーザ認証方法は、ワンタイム・パスワードに基づいてユーザを認証し、サービスを提供するサービス提供サーバと、このサービス提供サーバに接続され、前記ユーザからの入力情報に基づいて前記サービス提供サーバに前記サービスの提供を要求するクライアント端末と、このクライアント端末に接続され、前記ワンタイム・パスワードを作成すると共に共通鍵によって暗号化して暗号化ワンタイム・パスワードを生成し、これを前記クライアント端末に送信する認証サーバと、前記認証サーバとの間で前記共通鍵を共有する携帯電話機と、前記認証サーバおよび前記サービス提供サーバに接続され、少なくとも前記ユーザの識別情報、前記携帯電話機の識別情報、前記ワンタイム・パスワード、および前記共通鍵の関係を記憶する共有データベースと、からなるユーザ認証システムにおけるユーザ認証方法であって、前記クライアント端末が、前記ワンタイム・パスワードの発行要求を前記認証サーバへ行うOTP発行要求ステップと、前記認証サーバが、前記発行要求毎に新たな前記ワンタイム・パスワードを生成するOTP生成ステップと、前記認証サーバが、前記生成されたワンタイム・パスワードを前記共有データベースから取得された前記共通鍵で暗号化し、暗号化ワンタイム・パスワードを生成するOTP暗号化ステップと、前記認証サーバが、前記生成された暗号化ワンタイム・パスワードを前記クライアント端末へ返送する暗号化OTP返送ステップと、前記携帯電話機が、前記認証サーバにおいて前記取得された暗号化ワンタイム・パスワードを前記共通鍵で復号化し、前記ワンタイム・パスワードを取得するOTP復号化ステップと、前記クライアント端末が、前記取得されたワンタイム・パスワードに基づいて前記サービス提供サーバへ前記ユーザの認証を要求する認証要求ステップと、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、業務システムにログインする際に必要とされるパスワードの盗聴・盗難等に対処でき、かつ、ユーザ認証における機密性を向上させたユーザ認証システムおよびユーザ認証方法が提供される。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態1に係るユーザ認証システムの全体構成例を示す図。
【図2】図1に示すサービス提供サーバ、クライアント端末、認証サーバ、および携帯電話機に適用されるコンピュータの構成例を示す図。
【図3】本発明の実施形態1に係るユーザ認証システムを構成する各装置の機能を示すブロック図。
【図4】図1に示す共有データベースに記憶される情報のデータフォーマットの具体例を示す図。
【図5】図3に示す認証サーバの二次元バーコード生成部において生成される二次元バーコードのデータフォーマットの具体例を示す図。
【図6】図1に示すユーザ認証システムの処理の具体例を示すシーケンス図。
【図7】図1に示すユーザ認証システムの処理の具体例を示すシーケンス図。
【図8】図1に示すユーザ認証システムにおける認証方法を説明する図。
【図9】図3に示す認証サーバのOTP暗号化部における暗号化処理の具体例を示すフローチャート。
【図10】図3に示すサービス提供サーバの認証処理部におけるバリデーションチェックの具体例を示すフローチャート。
【図11】図1に示すユーザ認証システムにおける共通鍵の登録処理の具体例を示すシーケンス図。
【図12】図1に示すユーザ認証システムにおける共通鍵の登録方法を説明する図。
【図13】本発明の実施形態2に係るユーザ認証システムを構成する各装置の機能を示すブロック図。
【図14】図13に示すユーザ認証システムにおける共通鍵の登録処理の具体例を示すシーケンス図。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を用いて詳細に説明する。
【0011】
<実施形態1>
図1は、本発明の実施形態1に係るユーザ認証システムの全体構成例を示す図である。同図に示されるように、本実施形態に係るユーザ認証システムは、サービス提供サーバ10、クライアント端末20、認証サーバ30、共有データベース40、および携帯電話機50から構成されたコンピュータシステムである。
【0012】
サービス提供サーバ10は、クライアント端末20からインターネット60を介して送信されるユーザID、固定パスワード(PINコード)、並びに認証サーバ30が発行したパスワードを含む認証情報に基づいてユーザを認証し、その認証結果に応じてサービスを提供するコンピュータである。クライアント端末20からログインを要求するユーザが正規のユーザであると確認できた場合には、サービス提供サーバ10にアクセスすることを許可するサービスチケット(認証セッション情報)をクライアント端末20宛に発行する。
【0013】
クライアント端末20は、サービス提供サーバ10および認証サーバ30にインターネット60を介して接続され、Webブラウザソフトを利用して認証サーバ30と通信を実施するコンピュータである。このクライアント端末20では、認証情報となる二次元バーコードを静止画として認証サーバ30から受信してWebブラウザ上に表示する。また、ユーザからの入力情報に基づいてサービス提供サーバ10へ認証を要求し、この認証結果に応じて発行されるサービスチケットを使用してサービス提供サーバ10へアクセスする。
【0014】
認証サーバ30は、クライアント端末20にインターネット60を介して接続され、クライアント端末20からの要求毎にワンタイム・パスワード(One Time Password)(以下、「OTP」という。)を作成すると、携帯電話機50との間で予め共有する共通鍵によってOTPを暗号化して暗号化OTPを生成し、これをクライアント端末20に送信するコンピュータである。クライアント端末20からは、OTPの発行要求を出す際にユーザIDとOTP発行要求パスワードが送信されるため、認証サーバ30はその発行要求情報を元にOTPを含んだ二次元バーコードを作成して返送する。また、認証サーバ30はNTPサーバ(図示省略する)により標準時と時刻同期していることを前提とする。これはOTPが時刻同期方式を採用することに起因する。
【0015】
共有データベース40は、サービス提供サーバ10および認証サーバ30に接続され、少なくともユーザID、携帯電話機ID、OTP、および共通鍵の関係を記憶するデータベースである。
【0016】
携帯電話機50は、インターネット60にCDMA(code-division multiple access)網などの携帯電話通信網70を介して接続され、クライアント端末20において画面表示される二次元バーコードに含まれる暗号化OTPを認証サーバ30との間で予め共有する共通鍵によって復号化し、OTPを取得する端末である。本発明では、携帯電話機50(例えばGPSが搭載された3G携帯電話機)は、クライアント端末20に画面表示されるOTPを含む二次元バーコードを読取るため、デジタルカメラが内蔵された機種とする。また、携帯電話機50からサービス提供サーバ10への接続は不可とする。
【0017】
また、携帯電話機50では、デジタルカメラで撮影された二次元バーコードは携帯電話機50に実装されているデコーダソフトによって解読され、認証サーバ30との間で予め共有している共通鍵を使用して暗号化OTPを復号化し、平文のOTPが画面表示される。OTPに有効時間(例えば現在時刻から180秒後)が設定される場合には、ユーザはOTPの有効時間内にネットワーク上にあるサービス提供サーバ10にクライアント端末20からログインする必要がある。また、OTPが時刻同期方式を採用するため、携帯電話機50はGPSから取得した時間情報により時刻同期するものとする。尚、携帯電話機50がGPSの搭載されていない機種の場合には、GPSに基づく時間情報を携帯基地局から取得することで時刻同期を行えば良い。
【0018】
図2は、サービス提供サーバ10、クライアント端末20、認証サーバ30、および携帯電話機50に適用されるコンピュータの構成例を示す図である。同図に示すように、サービス提供サーバ10などに適用されるコンピュータは、CPU(Central Processing Unit)81、ROM(Read Only Memory)82、RAM(Random Access Memory)83、インターフェース84、システムバス85、入力装置86、表示装置87、補助記憶装置88、および通信装置89から構成される。
【0019】
CPU81は、ROM82やRAM83に格納されたプログラムやデータなどを用いて各種の演算処理を実行する処理装置である。ROM82は、コンピュータを機能させるための基本プログラムや環境ファイルなどを記憶する読み取り専用の記憶装置である。RAM83は、CPU81が実行するプログラムおよび各プログラムの実行に必要なデータを記憶する記憶装置であり、高速な読み出しと書き込みが可能である。インターフェース84は、各種のハードウェアとシステムバス85との接続を仲介する装置およびプログラムである。システムバス85は、CPU81、ROM82、RAM83、およびインターフェース84で共有される情報伝達路である。
【0020】
また、インターフェース84には、入力装置86、表示装置87、補助記憶装置88、および通信装置89などのハードウェアが接続されている。入力装置86は、ユーザからの入力を処理する装置であり、例えばキーボードやマウスなどである。表示装置87は、ユーザに対して演算結果や作成画面などを表示する装置であり、例えばCRT、液晶ディスプレイ、プラズマディスプレイなどである。補助記憶装置88は、プログラムやデータを蓄積する大容量の記憶装置であり、例えばハードディスク装置などである。通信装置89は、コンピュータをネットワークに接続する装置であり、例えばモデムやNIC(Network Interface Card)などである。尚、携帯電話機50については、二次元バーコードを撮影する撮影装置90(デジタルカメラ)を更に備えるものとする。
【0021】
図3は、本発明の実施形態1に係るユーザ認証システムを構成する各装置の機能を示すブロック図である。同図に示されるように、サービス提供サーバ10は、認証処理部101、サービス提供部102、データベース103、および通信処理部104を備えている。
【0022】
認証処理部101は、クライアント端末20から送信されたユーザID、パスワードに基づいてユーザの認証を行い、その認証結果(サービスチケット等)を通信処理部104からクライアント端末20へ返送するプログラムである。サービス提供部102は、ログインを許可したクライアント端末20からの要求に応じて各種のサービスを提供するアプリケーションプログラム群である。データベース103は、サービス提供部102の処理に係る各種データを記憶するデータベースである。通信処理部104は、サービス提供サーバ10の各部からの要求に応じて通信装置89を起動し、クライアント端末20または共有データベース40との通信を行うためのプログラムである。
【0023】
クライアント端末20は、入力部201、二次元バーコード発行要求部202、表示部203、認証要求部204、サービス要求部205、および通信処理部206を備えている。
【0024】
入力部201は、ユーザがキーボードやマウスなどの入力装置86より入力した情報を取得する入力インターフェースである。二次元バーコード発行要求部202は、OTPに係る二次元バーコードの発行要求を認証サーバ30へ行うプログラムである。表示部203は、二次元バーコード発行要求部202からの発行要求に応じて認証サーバ30から返送された二次元バーコードを取得し、表示装置87上に画面表示する表示インターフェースである。認証要求部204は、返送された二次元バーコードを携帯電話機50において復号化して得られたOTPと入力部201より入力されたユーザIDおよびパスワードに基づいてサービス提供サーバ10へユーザの認証を要求するプログラムである。
【0025】
サービス要求部205は、サービス提供サーバ10から返送されたサービスチケットに基づいて所望のサービスの提供をサービス提供サーバ10へ要求するプログラムである。尚、本実施形態では、二次元バーコード発行要求部202、認証要求部204、およびサービス要求部205は、Webブラウザの機能として実装されるものとする。通信処理部206は、クライアント端末20の各部からの要求に応じて通信装置89を起動し、サービス提供サーバ10または認証サーバ30との通信を行うプログラムである。
【0026】
認証サーバ30は、OTP生成部301、OTP暗号化部302、二次元バーコード生成部303、共通鍵復号化部304、共通鍵登録部305、および通信処理部306を備えている。
【0027】
OTP生成部301は、二次元バーコード発行要求部202からの発行要求毎に新たなOTPを生成するプログラムである。OTP暗号化部302は、OTP生成部301において生成されたOTPを発行要求に含まれるユーザIDに基づいて共有データベース40から取得される共通鍵を用いて暗号化し、暗号化OTPを生成するプログラムである。また、OTP暗号化部302は、生成した暗号化OTPと暗号化に使用した共通鍵を関連付けた認証情報を共有データベース40に登録・更新する機能を有する。図4は、共有データベース40に記憶される情報のデータフォーマットの具体例を示す図である。図4(a)は、ユーザ情報の具体例であり、ユーザID、OTP発行要求パスワード、および当該ユーザが保有する携帯電話機50のIDが関連付けられている。すなわち、ユーザからの要求に応じて生成した二次元バーコードを復号可能な携帯電話機50が定義されている。また、図4(b)は、認証情報のデータフォーマットの具体例であり、ユーザが要求したサービスを一意に特定するサービスID、サービス名、暗号化OTPを復号する共通鍵を保有する携帯電話機ID、暗号化OTPの有効期限、OTPの暗号化に使用した共通鍵、共通鍵の有効期限が項目として挙げられている。また、本実施形態では、暗号化OTPおよび共通鍵の有効期限は年月日時分秒(YYYY.MM.DD HH:MM:SS)の形式で記録されるものとする。
【0028】
二次元バーコード生成部303は、生成された暗号化OTPを含めた二次元バーコードを生成し、クライアント端末20へ返送するプログラムである。図5は、二次元バーコード生成部303において生成される二次元バーコードのデータフォーマットの具体例を示す図である。ここでは、サービスID、サービス名、携帯電話ID、暗号化OTP、暗号化OTPの有効期限、および共通鍵の有効期限が二次元バーコード内に含まれることが示されている。共通鍵復号化部304は、携帯電話機50から送信された暗号化共通鍵を携帯電話機50との間で予め共有している他の共通鍵によって復号化し、登録対象となる共通鍵を取得するプログラムである。共通鍵登録部305は、共通鍵復号化部304において復号化された共通鍵を携帯電話機IDに関連付けて共有データベース40への登録を行うプログラムである。通信処理部306は、認証サーバ30の各部からの要求に応じて通信装置89を起動し、クライアント端末20または共有データベース40との通信を行うプログラムである。
【0029】
携帯電話機50は、入力部501、二次元バーコード撮影部502、二次元バーコード解読部503、OTP復号化部504、OTP表示部505、共通鍵作成部506、共通鍵記憶部507、共通鍵暗号化部508、共通鍵登録要求部509、および通信処理部510を備えている。
【0030】
入力部501は、ユーザが操作ボタン等より入力した情報を取得する入力インターフェースである。二次元バーコード撮影部502は、クライアント端末20において画面表示された二次元バーコードを撮影するデジタルカメラである。二次元バーコード解読部503は、二次元バーコード撮影部502において撮影された二次元バーコードを解読し、二次元バーコードに含まれる暗号化OTPなどの各種データ項目を取得するプログラムである。OTP復号化部504は、共通鍵作成部506において予め作成され、認証サーバ30との間で共有する共通鍵を用いて暗号化OTPを復号化するプログラムである。OTP表示部505は、OTP復号化部504において復号化されたOTPを取得し、表示装置87上に画面表示する表示インターフェースである。
【0031】
共通鍵作成部506は、入力部501から入力される作成要求や予め定義された作成周期に基づいて共通鍵を作成するプログラムである。ここでは、携帯電話機50のOS上で動作するプラットフォーム(例えばJava(登録商標)、Brew(登録商標)等)で提供している乱数生成メソッドを用いるものとする。尚、本実施形態ではユーザIDの乱数に基づいて共通鍵を作成するが、共通鍵の作成方法はこれに限定されない。共通鍵暗号化部508は、共通鍵作成部506において作成された共通鍵を認証サーバ30との間で共有する他の共通鍵を用いて暗号化し、暗号化共通鍵を生成するプログラムである。共通鍵登録要求部509は、暗号化共通鍵を携帯電話機IDと共に認証サーバ30に送信し、認証サーバ30に対して共通鍵の登録を要求するプログラムである。通信処理部510は、携帯電話機50の各部からの要求に応じて通信装置89を起動し、認証サーバ30との通信を行うプログラムである。
【0032】
図6および図7は、ユーザ認証システムの処理の具体例を示すシーケンス図である。また、図8は、ユーザ認証システムにおける認証方法を説明する図である。尚、図8中の処理内容に付された符号は図6および図7における符号と共通である。
【0033】
先ず、クライアント端末20からユーザIDとパスワード(OTP発行要求パスワード)が入力され、認証サーバ30に対してログイン要求が行われる(S601)と、認証サーバ30からログイン要求に対する認証結果がクライアント端末20へ返送される(S602)。ここで、認証結果がログイン許可である場合には、クライアント端末20から認証サーバ30に対してOTPを含む二次元バーコードの発行要求がなされる(S603)。これに対し、認証結果がログイン拒否である場合には、クライアント端末20においてエラー画面を表示してユーザに再入力を促し、処理を終了する。
【0034】
クライアント端末20から二次元バーコードの発行要求を受けると、認証サーバ30(OTP生成部301)は、乱数発生アルゴリズムなどを用いてOTPを生成する(S604)。次に、認証サーバ30(OTP暗号化部302)は、生成されたOTPを予め携帯電話機50との間で共有する共通鍵によって暗号化し、暗号化OTPを生成する(S605)。また、認証サーバ30(OTP暗号化部302)は、暗号化OTPと暗号化に使用した共通鍵を関連付けた認証情報を共有データベース40に登録する(S606)。
【0035】
次に、認証サーバ30(二次元バーコード生成部303)は、上記図4(b)に示される暗号化OTPを含む認証情報から二次元バーコードを生成する(S607)。ここでは、市販されている携帯電話機50で読み取ることができるJIS X 0510規格のQRコード(登録商標)を利用することを前提とするが、携帯電話機50で読み取り、その情報を解読できる二次元バーコードであれば良い。二次元バーコードは、GIFやJPEG等の形式の静止画を作成するものとする。次に、認証サーバ30(二次元バーコード生成部303)は、発行要求を行ったクライアント端末20に発行する(S608)。
【0036】
認証サーバ30から二次元バーコードを取得すると、クライアント端末20(表示部203)は、この二次元バーコードを画面表示する(S609)。次に、携帯電話機50のデジタルカメラ(二次元バーコード撮影部502)によってクライアント端末20の画面上に表示された二次元バーコードの静止画(GIF画像等)を撮影して読取ると(S610)、携帯電話機50(二次元バーコード解読部503)は、二次元バーコードの情報を解読する(S611)。この際、二次元バーコードの各データ項目をOTP復号化部504において認識できるデータ型(例えばバイナリデータ)へ変換するものとする。また、二次元バーコードに含まれている各データ項目が規定のフォーマットデータ(サイズやデータ型等)に合致している否かのチェック(バリデーションチェック)を実施すると好適である。
【0037】
次に、携帯電話機50(OTP復号化部504)は、解読されたデータ項目の中から暗号化OTPを取得し、これを認証サーバ30との間で共有している共通鍵によって復号化して(S612)、取得された平文のOTPを画面表示する(S613)。
【0038】
携帯電話機50において平文のOTPが画面表示されると、ユーザはログイン情報としてユーザID、固定パスワード(PINコード)、OTPを入力し(S614)、サービス提供サーバ10へサービス利用認証要求を行う。尚、携帯電話機50からOTPが転送され、自動入力されるとしても良い。
【0039】
次に、サービス提供サーバ10(認証処理部101)は、クライアント端末20から送信されてきたユーザID、固定パスワード(PINコード)、OTPが正しいか否かを確認するため、クライアント端末20側に既に発行済みの二次元バーコードに係る認証情報(OTPデータ等)の取得要求を共有データベース40に行う(S616)。ここでは、共有データベース40に記憶されている情報をSQL文の実行により取得する(S617)。この場合、クライアント端末20側から送信されてきたユーザIDをキーとして、固定パスワード(PINコード)、OTPの各種情報を取得するものとする。また、暗号化OTPを復号するための共通鍵についても同時に取得するものとする。
【0040】
次に、サービス提供サーバ10(認証処理部101)は、クライアント端末20から送信されてきたユーザID、固定パスワード(PINコード)、OTPのバリデーションチェックを行う(S618)。ユーザID、固定パスワード(PINコード)については、サービス提供サーバ10のデータベース103から取得して一致するか否かを確認する。OTPについては、共有データベース40から取得した暗号化OTPを共通鍵で復号化し、送信されたOTPと一致するか否かを確認する。ここで、バリデーションチェックの結果が完全一致の場合には、クライアント端末20へ認証結果としてサービスチケット(サービス利用許可)が送信される(S620)。これに対し、バリデーション結果が完全一致以外の場合には、クライアント端末20へサービス利用拒否の認証結果が送信される。ここでは、サービスチケットは8バイトで構成され、セッションタイムアウト時間内(例えば3600秒等)であればサービス提供サーバ10へアクセスすることができるものとする。また、セッションタイムアウトの設定値はサービス提供サーバ10において任意に変更可能とすると好適である。
【0041】
サービス提供サーバ10からサービスチケットを取得すると、クライアント端末20(サービス要求部205)はサービスチケットに基づいてサービス提供サーバ10へアクセス認証を行い(S621)、その認証結果がクライアント端末20へ返送される(S622)。
【0042】
ここで、認証結果がアクセス許可である場合には、クライアント端末20(サービス要求部205)からのサービス要求に応じてサービス提供サーバ10(サービス提供部102)で処理が行われ(S623)、その処理結果がクライアント端末20へ返送される(S624)。これに対し、認証結果がアクセス拒否である場合(セッションタイムアウト等)には、クライアント端末20へエラー情報が返送される。
【0043】
図9は、認証サーバ30のOTP暗号化部302における暗号化処理の具体例を示すフローチャートであり、図6のS605の処理に相当する。
【0044】
先ず、ユーザIDをキーとして共有データベース40からユーザの保有する携帯電話機50のIDを取得すると共に、この携帯電話機IDをキーとして取得される認証情報に含まれる共通鍵の有効期限と携帯電話機50のシステムクロックの現在日時を比較し、有効期限内か否かを判定する(S901)。ここで、共通鍵が有効期限内と判定された場合には、認証情報に含まれる暗号化OTPの有効期限と携帯電話機50のシステムクロックの現在日時を比較し、有効期限内か否かを判定する(S902)。
【0045】
これに対し、S901において共通鍵が有効期限を経過していると判定された場合には、クライアント端末20に対して携帯電話機50からの共通鍵の再登録を促すエラー情報を作成し、処理を終了する(S903)。
【0046】
また、S902において暗号化OTPが有効期限内と判定された場合には、ログインユーザの保有する携帯電話機50に係る共通鍵を用いた復号アルゴリズム(AES等)によって暗号化OTPから平文のOTPを取得し(S905)、処理を終了する。
【0047】
これに対し、S902において暗号化OTPが有効期限を経過していると判定された場合には、クライアント端末20に対して二次元バーコードの再取得を促すエラー情報を作成し(S904)、処理を終了する。
【0048】
図10は、サービス提供サーバ10の認証処理部101におけるバリデーションチェックの具体例を示すフローチャートであり、図7のS618の処理に相当する。
【0049】
先ず、サービス提供サーバ10へのログイン情報に含まれるユーザIDをキーとしてデータベース103からユーザ情報(ユーザIDおよび固定パスワード)を取得する(S1001)。
【0050】
次に、取得されたユーザ情報とログイン情報を比較し、桁数やビット列が完全に一致するか否かを判定する(S1002)。ここで、ユーザ情報とログイン情報が一致すると判定された場合には、共有データベース40から取得された認証情報に含まれる共通鍵の有効期限とサービス提供サーバ10のシステムクロックの現在日時を比較し、有効期限内か否かを判定する(S1003)。これに対し、S1002においてログイン情報とユーザ情報が一致しないと判定された場合には、ログイン拒否の認証結果としてエラー情報を出力し(S1007)、処理を終了する。
【0051】
また、S1003において共通鍵が有効期限内と判定された場合には、共有データベース40から取得された認証情報に含まれる暗号化OTPを共通鍵で復号化し(S1004)、復号化により得られるOTPとログイン情報に含まれるOTPを比較し、完全に一致するか否かを判定する(S1005)。これに対し、S1003において共通鍵が有効期限を経過していると判定された場合には、ログイン拒否の認証結果としてエラー情報を出力し(S1007)、処理を終了する。
【0052】
また、S1005においてOTPが一致すると判定された場合には、ログイン許可の認証結果としてサービスチケットを出力し(S1006)、処理を終了する。これに対し、S1005においてOTPが一致しないと判定された場合には、ログイン拒否の認証結果としてエラー情報を出力し(S1007)、処理を終了する。
【0053】
以上のように、本実施形態に係るユーザ認証システムにおける認証方法では、共通鍵を認証サーバ30と各携帯電話機50との間で予め共有していることを前提として説明した。そこで、以下では共通鍵の登録処理を図面に基づいて詳細に説明する。
【0054】
図11は、共通鍵の登録処理の具体例を示すシーケンス図である。また、図12は、共通鍵の登録方法を説明する図である。図12の処理内容に付された符号は図11における符号と共通である。
【0055】
先ず、携帯電話機50からユーザIDとパスワード(固定パスワード)が入力され、認証サーバ30へログイン要求が行われる(S1101)と、認証サーバ30からログイン要求に対する認証結果が携帯電話機50へ返送される(S1102)。ここで、認証結果がログイン許可である場合には、携帯電話機50(共通鍵作成部506)は、認証サーバ30にログインするためのパスワード(固定パスワード)から128bitsサイズの乱数を生成して128bitの共通鍵を作成する(S1103)。
【0056】
次に、携帯電話機50(共通鍵暗号化部508)は、作成された共通鍵を他の共通鍵を用いて暗号化して暗号化共通鍵を作成する(S1104)。
【0057】
次に、携帯電話機50(共通鍵登録要求部509)は、暗号化前の平文データの乱数値が正しいことを確認可能とするためにSHA1等の一方向性関数を利用してHash値を算出し、先の暗号化共通鍵と共に認証サーバ30に送信する(S1105)。ここでは、携帯電話機50において決定したOTPの有効期限と共通鍵の有効期限も送信する。
【0058】
次に、認証サーバ30(共通鍵復号化部304)は、携帯電話機50から送信された暗号化共通鍵を携帯電話機50との間で予め共有する共通鍵を使用し、所定の復号化アルゴリズム(AES等)によって復号化する。この際、この復号化された共通鍵が正しいか否かはSHA1等の一方向性関数を利用してHash値を算出し、携帯電話機50より送信された共通鍵(平文データ)のHash値と比較することによって検証する(S1107)。ここで、Hash値が等しい、すなわち、共通鍵の改ざんはないとの検証結果が得られた場合には、認証サーバ30(共通鍵登録部305)は、登録要求を行った携帯電話機50のIDに共通鍵のデータを関連付けた認証情報を共有データベース40に登録し(S1107)、その登録結果が認証サーバ30へ返送される(S1108)。
【0059】
次に、認証サーバ30(共通鍵登録部305)は、登録要求を行った携帯電話機50へ共通鍵の登録結果を返送する(S1109)。共通鍵が共有データベース40に登録された場合には、携帯電話機50(共通鍵作成部506)は、登録要求を行った共通鍵を共通鍵記憶部507へ記憶する(S1110)。この際、認証サーバ30から受信した有効期限についても共通鍵に関連付けて記憶する。そして、共通鍵の登録結果(登録処理の成否、有効期限等)の画面表示を行わせる(S1111)。これに対し、共通鍵が共有データベース40に登録されなかった場合には、エラー情報が画面表示される。尚、上記共通鍵の登録処理はユーザからの要求等に応じて行われるが、セキュリティを保持するため、共通鍵の定期的な変更を促すと好適である。
【0060】
このように、上記実施形態に係るユーザ認証システムによれば、以下の効果が奏される。
【0061】
(1)二次元バーコードの中に含まれるOTPが暗号化されているため、従来のトークン発行装置とは異なり、暗号化OTPを復号するためにユーザの保有する携帯電話機50に固有な共通鍵を必要となる。すなわち、二次元バーコードの情報をネットワーク上で盗聴されてもクライアント端末20からのログインに必要なOTPを保護できるセキュアな環境を提供できる。
【0062】
(2)携帯電話機50が携帯電話通信網70への接続時に認証サーバ30との間で共通鍵を予め共有しておくため、携帯電話機50が携帯電話通信網70の圏外にある場合であっても、クライアント端末20がインターネット60に接続可能であり、かつ、共通鍵が有効期間内であるならば別の認証手段を利用することなく同一手段で認証することが可能である。
【0063】
<実施形態2>
以下、本発明の実施形態2に係るユーザ認証システムを図面に基づいて説明する。図13は、本発明の実施形態2に係るユーザ認証システムを構成する各装置の機能を示すブロック図である。尚、図1において付された符号と共通する符号は同一の対象を表すため説明を省略し、実施形態1と異なる箇所について詳細に説明する。
【0064】
同図に示されるように、本実施形態に係るユーザ認証システムにおいては、実施形態1と比べて、認証サーバ30に共通鍵作成部307、共通鍵暗号化部308、および共通鍵配布部309が追加され、共通鍵復号化部304が削除されている。また、携帯電話機50には、共通鍵復号化部511が追加され、共通鍵作成部506、共通鍵暗号化部508、および共通鍵登録要求部509が削除された構成となっている。
【0065】
共通鍵作成部307は、クライアント端末20からの二次元バーコードの発行要求毎に新たな共通鍵を作成すると共に、作成した共通鍵を携帯電話機IDに関連付けて共有データベース40に登録するプログラムである。共通鍵暗号化部308は、共通鍵作成部307において作成された新たな共通鍵を携帯電話機50と予め共有する他の共通鍵を用いて暗号化し、暗号化共通鍵を生成するプログラムである。OTP暗号化部302は、共通鍵作成部307において作成された新たな共通鍵を用いてOTPを暗号化して暗号化OTPを生成する。共通鍵配布部309は、二次元バーコードの発行要求に含まれるユーザIDに基づいて共有データベース40を参照してユーザIDに関連付けされた携帯電話機IDを抽出し、該当する携帯電話機50へ暗号化共通鍵を配布するプログラムである。
【0066】
共通鍵復号化部511は、認証サーバ30(共通鍵配布部309)から配布された暗号化共通鍵を他の共通鍵を用いて復号化して新たな共通鍵を取得するプログラムである。OTP復号化部504は、共通鍵復号化部511で復号化された新たな共通鍵を用いて暗号化OTPを復号化する。
【0067】
図14は、本実施形態に係るユーザ認証システムにおける共通鍵の登録処理の具体例を示すシーケンス図である。尚、S1401〜S1403の処理は、図6に示されるS601〜S603と共通であるので説明を省略し、S1404より説明する。
【0068】
クライアント端末20からOTPを含む二次元バーコードの発行要求を受けた認証サーバ30(共通鍵作成部307)は、ログイン情報に含まれるパスワード(固定パスワード)から128bitsサイズの乱数を生成して128bitの共通鍵を作成する(S1404)。次に、認証サーバ30(共通鍵登録部305)は、クライアント端末20からのログイン情報に含まれるユーザIDに基づいて共有データベース40のユーザ情報を参照し、ユーザの保有する携帯電話機50を特定すると、その携帯電話機50のIDに共通鍵のデータを関連付けた認証情報を共有データベース40に登録し(S1406)、その登録結果が認証サーバ30へ返送される(S1407)。
【0069】
共有データベース40へ共通鍵が登録された場合には、認証サーバ30(共通鍵暗号化部308)は、作成された新たな共通鍵を携帯電話機50との間で予め共有している他の共通鍵を用いた所定の共通鍵暗号化方式で暗号化する(S1407)。次に、認証サーバ30(共通鍵配布部309)は、二次元バーコードの発行要求を行ったユーザに係る携帯電話機50へ暗号化共通鍵を送信する(S1408)。
【0070】
次に、携帯電話機50(共通鍵復号化部511)は、認証サーバ30から送信された機暗号化共通鍵を受信すると、認証サーバ30との間で予め共有している共通鍵によって暗号化共通鍵を復号化し、認証サーバ30において新たに作成された共通鍵を取得する(S1409)。
【0071】
次に、携帯電話機50(共通鍵復号化部511)は、取得された共通鍵を静的メモリ(共通鍵記憶部507)へ記憶する(S1410)。この際、認証サーバ30から共通鍵と共に受信した有効期限についても同様に記憶する。そして、共通鍵の登録結果(共通鍵の有効期限等)の画面表示を行わせる(S1411)。以降の処理は図6および図7に示されるS604〜S624の処理と同様であるため、説明は省略する。
【0072】
このように、本実施形態に係るユーザ認証システムによれば、クライアント端末20から二次元バーコードの発行要求がなされる度に新たな共通鍵が作成され、この共通鍵によってOTPの暗号化、二次元バーコードの発行がなされる。また、携帯電話機50に対しては、認証サーバ30からクライアント端末20へ送信される二次元バーコードの解読に必要な共通鍵が平行して配布される。すなわち、二次元バーコードと共通鍵の両方が発行要求の度に新規作成される構成であるため、ユーザ認証における機密性が向上する効果を奏する。
【0073】
尚、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0074】
上記実施形態においては、共通鍵暗号化方式を用いたが、公開鍵暗号方式を用いて共通鍵の配送を行っても良い。すなわち、実施形態1の場合、携帯電話機50においては認証サーバ30の公開鍵で登録対象の共通鍵を暗号化して認証サーバ30へ送信し、認証サーバ30では公開鍵と一対である秘密鍵を用いて復号化することが可能である。同様に、実施形態2の場合、認証サーバ30において生成した共通鍵を携帯電話機50の公開鍵で暗号化して携帯電話機50へ送信し、携帯電話機50では公開鍵と一対である秘密鍵を用いて復号化することが可能である。
【0075】
また、共有データベース40を認証サーバ30とサービス提供サーバ10の間で共有する構成としたが、共有データベース40を認証サーバ30と一体とし、認証サーバ30とサービス提供サーバ10が接続する構成でも良い。任意に設計変更可能である。
【0076】
また、クライアント端末20からログイン要求を行う際に共通鍵またはOTPの有効期限を経過していた場合は、一律にログイン不可としたが、有効期限日時を経過していた場合でも“経過時間が現在時刻から例えば180秒以内であれば許可する”等のように許容時間を持たせても良い。これはネットワーク遅延のためにクライアント端末20から接続するのに多く時間を要する場合があるため、多少の猶予時間を持たせたい場合に有効である。この経過後の許容時間についてはサービス提供サーバ10において任意に決定できると好適である。
【0077】
更に、クライアント端末20に表示される二次元バーコード解読し、暗号化OTPを復号化する端末は、デジタルカメラを内蔵している端末であれば、携帯電話機50ではなくても良い。例えば、PDAなどの他の移動通信装置を用いても良い。
【符号の説明】
【0078】
10…サービス提供サーバ、
20…クライアント端末、
30…認証サーバ、
40…共有データベース、
50…携帯電話機、
60…インターネット、
70…携帯電話通信網、
81…CPU、
82…ROM、
83…RAM、
84…インターフェース、
85…システムバス、
86…入力装置、
87…表示装置、
88…補助記憶装置、
89…通信装置、
90…撮影装置、
101…認証処理部、
102…サービス提供部、
103…データベース、
104…通信処理部、
201…入力部、
202…二次元バーコード発行要求部、
203…表示部、
204…認証要求部、
205…サービス要求部、
206…通信処理部、
301…OTP生成部、
302…OTP暗号化部、
303…二次元バーコード生成部、
304…共通鍵復号化部、
305…共通鍵登録部、
306…通信処理部、
307…共通鍵作成部、
308…共通鍵暗号化部、
309…共通鍵配布部、
501…入力部、
502…二次元バーコード撮影部、
503…二次元バーコード解読部、
504…OTP復号化部、
505…OTP表示部、
506…共通鍵作成部、
507…共通鍵記憶部、
508…共通鍵暗号化部、
509…共通鍵登録要求部、
510…通信処理部、
511…共通鍵復号化部。

【特許請求の範囲】
【請求項1】
ワンタイム・パスワードに基づいてユーザを認証し、サービスを提供するサービス提供サーバと、
このサービス提供サーバに接続され、前記ユーザからの入力情報に基づいて前記サービス提供サーバに前記サービスの提供を要求するクライアント端末と、
このクライアント端末に接続され、前記ワンタイム・パスワードを作成すると共に共通鍵によって暗号化して暗号化ワンタイム・パスワードを生成し、これを前記クライアント端末に送信する認証サーバと、
前記認証サーバとの間で前記共通鍵を共有する携帯電話機と、
前記認証サーバおよび前記サービス提供サーバに接続され、少なくとも前記ユーザの識別情報、前記携帯電話機の識別情報、前記ワンタイム・パスワード、および前記共通鍵の関係を記憶する共有データベースと、
からなり、
前記携帯電話機は、前記認証サーバから前記クライアント端末に送信された前記暗号化ワンタイム・パスワードを取得して前記共通鍵で復号化し、かつ、
前記クライアント端末は、前記携帯電話機で復号化されたワンタイム・パスワードに基づいて前記サービス提供サーバに前記サービスの提供を要求することを特徴とするユーザ認証システム。
【請求項2】
前記クライアント端末は、
前記ワンタイム・パスワードに係る二次元バーコードの発行要求を前記認証サーバへ行う二次元バーコード発行要求部と、
前記発行要求に応じて前記認証サーバから返送された前記二次元バーコードを取得し、画面表示する表示部と、
前記返送された二次元バーコードを前記携帯電話機において復号化して得られたワンタイム・パスワードに基づいて前記サービス提供サーバへ前記ユーザの認証を要求する認証要求部と、
を備え、
前記認証サーバは、
前記二次元バーコード発行要求部からの発行要求毎に前記ワンタイム・パスワードを新たに生成するOTP生成部と、
前記共通鍵を用いて前記ワンタイム・パスワードを暗号化し、暗号化ワンタイム・パスワードを生成するOTP暗号化部と、
前記生成された暗号化ワンタイム・パスワードを含めた二次元バーコードを生成し、前記クライアント端末へ返送する二次元バーコード生成部と、
を備え、
前記携帯電話機は、
前記表示部に画面表示された二次元バーコードを撮影する二次元バーコード撮影部と、
前記撮影された二次元バーコードを解読し、前記暗号化ワンタイム・パスワードを取得する二次元バーコード解読部と、
前記取得された暗号化ワンタイム・パスワードを前記共通鍵で復号化し、前記ワンタイム・パスワードを取得するOTP復号化部と、
を備えることを特徴とする請求項1記載のユーザ認証システム。
【請求項3】
前記携帯電話機は、
前記共通鍵を作成する共通鍵作成部と、
前記作成された共通鍵を他の共通鍵または前記認証サーバの公開鍵を用いて暗号化し、暗号化共通鍵とする共通鍵暗号化部と、
前記暗号化共通鍵を前記携帯電話機の識別情報と共に前記認証サーバに送信し、前記認証サーバに対して前記共通鍵の登録を要求する共通鍵登録要求部と、
を更に備え、かつ、
前記認証サーバは、
前記共通鍵登録要求部から送信された前記暗号化共通鍵を前記他の共通鍵または前記認証サーバの公開鍵と一対である秘密鍵を用いて復号化し、前記共通鍵を取得する共通鍵復号化部と、
前記復号化された共通鍵を前記携帯電話機の識別情報に関連付けて前記共有データベースへ登録する共通鍵登録部と、
を更に備えており、
前記認証サーバにおいて前記OTP暗号化部は、前記発行要求に含まれるユーザの識別情報に基づいて前記共有データベースから取得される前記共通鍵を用いて前記ワンタイム・パスワードを暗号化して前記暗号化ワンタイム・パスワードを生成し、
前記携帯電話機において前記OTP復号化部は、前記共通鍵作成部において作成された前記共通鍵を用いて前記暗号化ワンタイム・パスワードを復号化することを特徴とする請求項2記載のユーザ認証システム。
【請求項4】
前記認証サーバは、
前記発行要求毎に新たな共通鍵を作成すると共に、前記共有データベースに登録する共通鍵作成部と、
前記作成された新たな共通鍵を前記携帯電話機の識別情報に関連付けて前記共有データベースへ登録する共通鍵登録部と、
前記作成された新たな共通鍵を他の共通鍵または前記携帯電話機の公開鍵を用いて暗号化し、暗号化共通鍵とする共通鍵暗号化部と、
前記二次元バーコードの発行要求に含まれるユーザの識別情報に基づいて前記共有データベースを参照し、前記ユーザの識別情報に関連付けされた前記携帯電話機へ前記暗号化共通鍵を配布する共通鍵配布部と、
を更に備え、かつ、
前記携帯電話機は、前記共通鍵配布部から配布された前記暗号化共通鍵を前記他の共通鍵または前記携帯電話機の公開鍵と一対である秘密鍵を用いて復号化して前記新たな共通鍵を取得する共通鍵復号化部を更に備えており、
前記認証サーバにおいて前記OTP暗号化部は、前記共通鍵作成部において作成された前記新たな共通鍵を用いて前記ワンタイム・パスワードを暗号化して前記暗号化ワンタイム・パスワードを生成し、
前記携帯電話機において前記OTP復号化部は、前記共通鍵復号化部で復号化された前記新たな共通鍵を用いて前記暗号化ワンタイム・パスワードを復号化することを特徴とする請求項2記載のユーザ認証システム。
【請求項5】
ワンタイム・パスワードに基づいてユーザを認証し、サービスを提供するサービス提供サーバと、このサービス提供サーバに接続され、前記ユーザからの入力情報に基づいて前記サービス提供サーバに前記サービスの提供を要求するクライアント端末と、このクライアント端末に接続され、前記ワンタイム・パスワードを作成すると共に共通鍵によって暗号化して暗号化ワンタイム・パスワードを生成し、これを前記クライアント端末に送信する認証サーバと、前記認証サーバとの間で前記共通鍵を共有する携帯電話機と、前記認証サーバおよび前記サービス提供サーバに接続され、少なくとも前記ユーザの識別情報、前記携帯電話機の識別情報、前記ワンタイム・パスワード、および前記共通鍵の関係を記憶する共有データベースと、からなるユーザ認証システムにおけるユーザ認証方法であって、
前記クライアント端末が、前記ワンタイム・パスワードの発行要求を前記認証サーバへ行うOTP発行要求ステップと、
前記認証サーバが、前記発行要求毎に新たな前記ワンタイム・パスワードを生成するOTP生成ステップと、
前記認証サーバが、前記生成されたワンタイム・パスワードを前記共有データベースから取得された前記共通鍵で暗号化し、暗号化ワンタイム・パスワードを生成するOTP暗号化ステップと、
前記認証サーバが、前記生成された暗号化ワンタイム・パスワードを前記クライアント端末へ返送する暗号化OTP返送ステップと、
前記携帯電話機が、前記認証サーバにおいて前記取得された暗号化ワンタイム・パスワードを前記共通鍵で復号化し、前記ワンタイム・パスワードを取得するOTP復号化ステップと、
前記クライアント端末が、前記取得されたワンタイム・パスワードに基づいて前記サービス提供サーバへ前記ユーザの認証を要求する認証要求ステップと、
を有することを特徴とするユーザ認証方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−211294(P2010−211294A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−53786(P2009−53786)
【出願日】平成21年3月6日(2009.3.6)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】