説明

認証システム、認証方法、および認証プログラム

【課題】よりセキュリティ性の高い認証技術を提供すること。
【解決手段】PCからサーバへユーザIDを送信する(S11)。サーバは対応するKEYを抽出する(S21)。乱数Xを生成し(S22)KEYとXからハッシュ値R1を算出する(S23)。XとR1から認証コードを生成し(S24)PCへ送信する(S25)。PCに認証コードを表示し(S12)携帯電話で撮像する(S31)。撮像データを解析してXとR1に変換し(S32)KEYとXからハッシュ値R1を算出する(S33)。R1の解析値と算出値とが一致した場合(S34;Y)、KEYとR1からハッシュ値R2を算出し(S35)サーバへ送信する(S36)。サーバはKEYとR1からハッシュ値R2を算出し(S26)、R2(受信値)と一致した場合(S27;Y)認証通知をPCへ送信する(S28)。PCはログインを完了させる(S13)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システム、認証方法、および認証プログラムに関し、例えば、撮像機能を有する携帯端末装置を用いた認証技術に関する。
【背景技術】
【0002】
オンラインバンキングやショッピングサイトなどへログイン(ログオン)する際には、一般にIDとパスワードを端末装置からタイプ入力させて、その入力内容に基づいて認証処理が行われている。
ところが近年、パソコンを使うユーザの行動や個人情報などを収集するスパイウェアを用いてログイン(ログオン)時に入力されたIDやパスワードの情報を不正に詐取する犯罪が増加している。
【0003】
従来、このようなスパイウェアによる被害を防止するために、下記の特許文献に提案されている情報の入力技術が利用されている。
【特許文献1】特開2005−100186公報
【0004】
特許文献1には、ソフトウェアキーボードを用いて秘匿性の高いパスワードなどの文字情報を入力する技術が開示されている。
なお、ソフトウェアキーボードとは、キーボードの機能をソフトウェアによって実現したものである。これは、ソフトウェアキーボード専用のプログラムを起動することにより、画面上にキーボードが表示され、表示されているキーをペンでタッチしたりマウスでクリックすることにより、文字を入力することができるように構成されている。
【0005】
また、最近では、上述したスパイウェアによる情報の他にも、金融機関などからの正規のメールやウェブサイトを装い、IDやパスワードの情報を不正に詐取するフィッシングと呼ばれる手法を用いた犯罪が広がっている。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述したようなソフトウェアキーボードを用いた技術では、タイプ入力された情報の詐取を抑制することができるものの、そのセキュリティ強度や使い勝手(利便性)において多少の問題が残っているため、幅広く普及するまでに至っていない。
また、従来のソフトウェアキーボードを用いた手法は、上述したフィッシングによる情報の不正詐取を防止する対策とはならなかった。
そこで本発明は、フィッシングによる情報の不正詐取の防止を考慮した、よりセキュリティ性の高い認証技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1記載の発明では、第1の端末装置をサーバへ接続する際に行われる利用認証処理を、撮像手段および所定の撮像データの解析手段を有する第2の端末装置を介して行う認証システムであって、所定の原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて認証表示を生成する生成手段と、前記生成手段により生成された認証表示を前記第1の端末装置へ送信し、前記第1の端末装置に表示させる認証表示提示手段と、前記第2の端末装置から送信される、前記認証表示提示手段により前記第1の端末装置に表示された前記認証表示の撮像データの解析結果に基づいて算出されたデータを受け付ける受付手段と、前記受付手段により受け付けられたデータに基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断する判断手段と、を備えることにより前記目的を達成する。
請求項2記載の発明では、請求項1記載の認証システムにおいて、利用者の識別情報とキーワードが対応づけられたテーブルと、ランダムな値である乱数を生成する乱数発生手段と、前記第1の端末装置から利用者の識別情報を取得する識別情報取得手段と、を備え、前記生成手段は、前記所定の原文として、前記識別情報取得手段により取得した利用者の識別情報に対応するキーワードと、前記乱数発生手段により生成した乱数値を用い、前記第2の端末装置の有する所定の撮像データの解析手段は、前記認証表示の撮像データから、前記認証表示を生成する際の元データとなったキーワード及び乱数値を抽出し、前記受付手段は、前記第2の端末装置から送信される、前記撮像データの解析手段により抽出されたキーワード及び乱数値に基づいて算出されたデータを受け付け、前記判断手段は、前記識別情報取得手段により取得した利用者の識別情報に対応するキーワード及び前記乱数発生手段により生成した乱数値に基づいて算出されたデータと、前記受付手段により受け付けられたデータと、の比較結果に基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断することを特徴とする。
請求項3記載の発明では、撮像手段および所定の撮像データの解析手段を有する端末装置を用いて認証処理を行う認証システムであって、特定の発信元情報または発行元情報を含む原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて生成された認証表示を撮像する撮像手段と、前記撮像手段により撮像された撮像データを解析し、前記認証表示を生成する際の元データとなった前記原文を抽出する解析手段と、前記解析手段により抽出された前記原文に基づいて、前記認証表示が添付された情報の発信元、または前記認証表示が添付された印刷物の発行元を特定する特定手段と、を備えることにより前記目的を達成する。
請求項4記載の発明では、第1の端末装置をサーバへ接続する際に行われる利用認証処理を、撮像手段および所定の撮像データの解析手段を有する第2の端末装置を介して行う認証システムにおいて用いられる認証方法であって、所定の原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて認証表示を生成する第1のステップと、前記第1のステップにより生成された認証表示を前記第1の端末装置へ送信し、前記第1の端末装置に表示させる第2のステップと、前記第2の端末装置から送信される、前記第2のステップにより前記第1の端末装置に表示された前記認証表示の撮像データの解析結果に基づいて算出されたデータを受け付ける第3のステップと、前記第3のステップにより受け付けられたデータに基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断する第4のステップと、を有することにより前記目的を達成する。
請求項5記載の発明では、撮像手段および所定の撮像データの解析手段を有する端末装置を用いて認証処理を行う認証システムにおいて用いられる認証方法であって、特定の発信元情報または発行元情報を含む原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて生成された認証表示を撮像する第1のステップと、前記第1のステップにより撮像された撮像データを解析し、前記認証表示を生成する際の元データとなった前記原文を抽出する第2のステップと、前記第2のステップにより抽出された前記原文に基づいて、前記認証表示が添付された情報の発信元、または前記認証表示が添付された印刷物の発行元を特定する第3のステップと、を有することにより前記目的を達成する。
請求項6記載の発明では、第1の端末装置をサーバへ接続する際に行われる利用認証処理を、撮像手段および所定の撮像データの解析手段を有する第2の端末装置を介して行う認証システムにおいて用いられる認証プログラムであって、所定の原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて認証表示を生成する生成機能と、前記生成機能により生成された認証表示を前記第1の端末装置へ送信し、前記第1の端末装置に表示させる認証表示提示機能と、前記第2の端末装置から送信される、前記認証表示提示機能により前記第1の端末装置に表示された前記認証表示の撮像データの解析結果に基づいて算出されたデータを受け付ける受付機能と、前記受付機能により受け付けられたデータに基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断する判断機能と、をコンピュータに実現させることにより前記目的を達成する。
請求項7記載の発明では、撮像手段および所定の撮像データの解析手段を有する端末装置を用いて認証処理を行う認証システム用いられる認証プログラムであって、特定の発信元情報または発行元情報を含む原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて生成された認証表示を撮像する撮像機能と、前記撮像機能により撮像された撮像データを解析し、前記認証表示を生成する際の元データとなった前記原文を抽出する解析機能と、前記解析機能により抽出された前記原文に基づいて、前記認証表示が添付された情報の発信元、または前記認証表示が添付された印刷物の発行元を特定する特定機能と、をコンピュータに実現させることにより前記目的を達成する。
【発明の効果】
【0008】
請求項1、請求項4、請求項6記載の発明によれば、第2の端末装置から送信されるデータに基づいて、第1の端末装置によるサーバへの接続の許可または不許可を判断することにより、認証の判断基準となる情報を、直接第1の端末装置から取得することなく認証処理を行うことができる。
請求項2記載の発明によれば、第2の端末装置から送信される、撮像データの解析手段により抽出されたキーワード及び乱数値に基づいて算出されたデータと、利用者の識別情報に対応するキーワード及び前記乱数発生手段により生成した乱数値に基づいて算出されたデータと、比較結果に基づいて、第1の端末装置による前記サーバへの接続の許可または不許可を判断することにより、認証の判断基準となる情報を、直接第1の端末装置から取得することなく認証処理を行うことができる。
請求項3、請求項5、請求項7記載の発明によれば、撮像データから抽出された原文に基づいて、認証表示が添付された情報の発信元、または認証表示が添付された印刷物の発行元を特定することにより、受信者側から認証表示が添付された情報の発信元、または認証表示が添付された印刷物の発行元の認証(確認)を行うことができる。
【発明を実施するための最良の形態】
【0009】
以下、本発明の好適な実施の形態について、図1から図8を参照して詳細に説明する。
図1は、本実施の形態に係る認証システムの概略構成を示した図である。
図に示すように、認証システムは、ネットワーク接続が可能なサーバ1、PC2および携帯電話3を備えている。
サーバ1は、本実施の形態に係る認証システムにおいて、制御管理全般に担うホストコンピュータであり、クライアントコンピュータとして機能するPC2に対し、自身の持っている機能やデータ、サービスなどを提供する装置である。
【0010】
図2は、本実施の形態に係るサーバ1の概略構成を示した図である。
サーバ1は、例えば高速で高度な情報処理機能を備えたコンピュータによって構成されている。
図2に示すように、サーバ1は、CPU(中央演算処理装置)11、ROM(リード・オンリ・メモリ)12、RAM(ランダム・アクセス・メモリ)13を備えている。
これらのデバイスは、データや制御信号などを送受信する際の伝送媒体として機能するバスライン22を介して接続されている。
【0011】
CPU11は、ROM12に記憶されているプログラムやRAM13にロードされたプログラムなどにしたがって、各種の処理、計算、条件判断、ディスプレイなどの各種デバイスの制御を行う。
ROM12は、サーバ1を機能させるための基本的なプログラムやパラメータなどが記憶された読み取り専用メモリである。
RAM13は、CPU11が各種の処理を行う上で必要なプログラムやデータを記憶するメモリであり、CPU11によってデータの書込みおよび消去を行うことができる。
【0012】
また、サーバ1は、インターフェース14を介してCPU11と接続された、記憶装置15、光磁気ディスク16、通信部17、入力部18、ディスプレイ19、印刷装置20、データベース21などの各種デバイスを備えている。
記憶装置15は、例えば大容量のハードディスクなどにより構成されており様々なプログラムやデータが記憶されている。
記憶装置15には、例えば、認証システムにおける各種処理を実行する際に用いられる、ブラウザソフト、通信(接続)プログラム、データベース検索プログラム、乱数発生プログラム、第1ハッシュ値算出(変換)プログラム、第2ハッシュ値算出(変換)プログラム、2次元コード変換プログラム、判定プログラムなどが記憶されている。
記憶装置15には、その他に、例えば、OS(オペレーティング・システム)や、外部からの不正アクセスを防止するプログラム、または管理者がメンテナンスに使用するプログラムなどが記憶されている。
【0013】
ブラウザソフトは、HTML形式のファイルをディスプレイ19に表示するソフトウェアである。なお、HTML形式のファイルは、タグ(予約語の一種)などを用いて、文書の構造、画像などのある場所、リンク先などを記述したファイルである。
通信(接続)プログラムは、サーバ1をネットワーク(プロバイダを介してインターネットに接続する場合はプロバイダ)に接続するためのプログラムである。
通信(接続)プログラムによって、サーバ1とネットワーク(通信網)との接続を制御することができる。
【0014】
データベース検索プログラムは、後述するデータベース(データテーブル)から、指定された「ユーザID」を検索語(キーワード)として、検索対象である「KEY」を探し出すプログラムである。
乱数発生プログラムは、ランダムな文字列(英字、ひらがな、カタカナ、漢字、数字、記号などを用いて構成された文字データ)を生成するプログラムである。
【0015】
第1ハッシュ値算出(変換)プログラムおよび第2ハッシュ値算出(変換)プログラムは、与えられた原文(文字列)から一定の長さ(例えば、128ビット、160ビット)のハッシュ値に圧縮する、即ち、ハッシュ値を生成するプログラムである。
なお、第1ハッシュ値算出(変換)プログラムおよび第2ハッシュ値算出(変換)プログラムにおける計算方法には、初期値敏感性の不可逆な一方向関数を含むため、生成(変換)されたハッシュ値は擬似的な乱数のような値をとり、これをもとに原文(文字列)を再現することはできない。また、同じハッシュ値を生成する別のメッセージを作成することも極めて困難である。
本実施の形態では、第1ハッシュ値算出(変換)プログラムおよび第2ハッシュ値算出(変換)プログラムに、例えば、MD5、MASH、SHA−1などの関数を用いている。
【0016】
2次元コード変換プログラムは、任意の文字列を水平方向と垂直方向に情報を持つ表示方式のコードに変換するプログラムである。なお、2次元コードは、バーコードに比べ、より多くの情報をコード化でき、また印字面積を小さくできる。
判定プログラムは、算出結果や解析結果など各種データの比較を行うプログラムである

【0017】
光磁気ディスク16は、一般にハードディスクよりもアクセス速度が遅く、サーバ1に対して着脱自在であるため、プログラムやデータのバックアップなどに使用される。
通信部17は、サーバ1をネットワーク(通信網)に接続するデバイスである。なお、サーバ1を公衆回線に接続する場合はモデムなどで構成する。
サーバ1は、通信部17を介してネットワーク(通信網)に接続し、これによってPC2および携帯電話3と接続することができる。
【0018】
入力部18は、キーボードやマウスなどにより構成されている。キーボードは、文字情報などを入力する入力手段である。
マウスは、ポインティングデバイスであり、ディスプレイ上に表示されたアイコンやボタンなどをクリックすることにより、データの入力を行うことができる。また、マウスの他にタブレット、タッチパネル、ジョイスティックなどを用いることもできる。
ディスプレイ19は、例えばCRT(ブラウン管)、液晶ディスプレイ、プラズマディスプレイなどで構成された表示装置である。
印刷装置20は、記憶装置15に格納されたデータやディスプレイ19への表示結果などを紙などの記録媒体に印刷するためのデバイスである。印刷装置20は、例えば、レーザプリンタ、インクジェットプリンタ、ドットプリンタ、ページプリンタ、感熱式プリンタ、熱転写式プリンタなどの各種プリンタなどによって構成されている。
【0019】
データベース21には、認証システムにおける認証処理を行う際に用いられるデータテーブルが格納されている。
図2に示すように、データテーブルは、「ユーザID」と「KEY」とが、一対一に対応付けられた2次元の配列(表)である。
なお、データテーブルに格納される「ユーザID」は、認証システムにおいて、利用者の認証や管理をするために使用する、番号や文字列などの識別符号である。
また、「KEY」は、「ユーザID」と組み合わせて用いられるパスワードの機能を有するものであり、このデータテーブルに格納(登録)されている「KEY」と同一の情報(データ)が、携帯電話3にも格納(登録)されている。
【0020】
図1の説明に戻り、PC2は、ユーザ(利用者)による操作される端末装置であり、入力、記憶、演算、制御、出力の5大機能を備えた、所定のプログラムによって情報処理を行う電子計算機(コンピュータ)により構成されている。
なお、PC2は、出力機能として、少なくとも表示装置(ディスプレイ)を備えている。
図に示すように、PC2は、ネットワーク(通信網)を介してサーバ1と通信可能に接続されている。
【0021】
携帯電話3は、PC2を操作するユーザ(利用者)の所持する移動(携帯)可能な端末装置である。
携帯電話3は、入力、記憶、演算、制御、出力の5大機能の他、ネットワークへ接続可能な通信端末として機能させるための通信手段、2次元コードを読み取る撮像手段(カメラ機能)を備えている。
なお、撮像手段は、例えば、2次元コードの読み取りが可能なバーコードリーダにより構成されている。
携帯電話3の記憶機能(メモリ装置)には、予め、認証システムにおける認証処理を行う際に用いられる、「KEY」の情報(データ)、データ解析プログラム、第1ハッシュ値算出(変換)プログラム、第2ハッシュ値算出(変換)プログラム、判定プログラムなどが格納(登録)されている。
これらの情報やプログラムは、サーバ1から提供されるデータをネットワークを介してダウンロードすることにより携帯電話3へ取り込むことができる。
【0022】
携帯電話3に格納されている「KEY」の情報(データ)は、サーバ1のデータベース21、即ちデータテーブルに登録されている「KEY」と同一の情報(データ)である。
詳しくは、携帯電話3の所持者、即ちユーザ(利用者)に対して付されたユーザIDに対応する(紐付けられた)「KEY」の情報(データ)が、携帯電話3に格納(登録)されている。
即ち、予め「KEY」の情報(データ)が携帯電話3にシーディング(植え付け)処理された状態になっている。
【0023】
データ解析プログラムは、読み取った2次元コードを解析するプログラムであり、例えば、2次元コードの読み取り結果に基づいて、2次元コードの変換前の元(オリジナル)データに変換し、さらにそのデータを第1ハッシュ値算出(変換)プログラムによる変換処理が施される前の原文(文字列)に変換する。
判定プログラムは、算出結果や解析結果など各種データの比較を行うプログラムである

なお、データ解析プログラム、第1ハッシュ値算出(変換)プログラムおよび第2ハッシュ値算出(変換)プログラムは、予め、サーバ1から提供されたもの(またはサイトの運営業者から配布されたもの)が格納されている。
【0024】
第1ハッシュ値算出(変換)プログラムおよび第2ハッシュ値算出(変換)プログラムは、与えられた原文(文字列)から一定の長さ(例えば、128ビット、160ビット)のハッシュ値に圧縮する、即ち、ハッシュ値を生成するプログラムである。
なお、サーバ1に格納されている第1ハッシュ値算出(変換)プログラムと、携帯電話3に格納されている第1ハッシュ値算出(変換)プログラムは、同一のアルゴリズムを有するものである。
また、サーバ1に格納されている第2ハッシュ値算出(変換)プログラムと、携帯電話3に格納されている第2ハッシュ値算出(変換)プログラムは、同一のアルゴリズムを有するものである。
【0025】
次に、このように構成された認証システムにおける認証処理動作について説明する。
本実施の形態では、架空のネット銀行(以下、ゴールド銀行とする)へのログイン(ログオン)時における認証処理を例に取り、認証システムの処理動作の詳細について説明を行う。
なお、本実施の形態では、サーバ1が、ゴールド銀行におけるサービスを提供するホストサーバを兼ねるものとする。
【0026】
図3は、本実施の形態に係る認証システムを用いた認証処理動作の手順を示したフローチャートである。
はじめに、ユーザ(利用者)は、PC2をネットワークを介してゴールド銀行のサイトへ接続する。
図4は、ログイン(ログオン)画面の一例を示した図である。
PC2がゴールド銀行のサイトへ接続すると、PC2のディスプレイに、図4に示すようなログイン(ログオン)を促す画面が表示される。
【0027】
そして、ユーザ(利用者)は、図4に示す「契約者番号」の入力欄に、PC2におけるキーボードなどの入力装置を用いて、ユーザ(利用者)に予め付されているユーザIDを入力する。
次に、ユーザ(利用者)は、図4に示す「パスワード」の入力欄への入力方法を選択する。ここでは、認証システムを用いた入力を行うため、「携帯電話認証ツールで入力」を選択する。
この入力方法の選択は、選択する項目の表領域をマウスなどのポインティングデバイスを用いてクリックすることにより行うことができる。
【0028】
ユーザ(利用者)によるユーザIDの入力、および「パスワード」の入力欄への入力方法の選択が行われると、PC2のCPUは、これらの入力情報および選択情報を受け付ける。
PC2のCPUは、受け付けた「ユーザID」情報をネットワークを介してサーバ1へ送信する(ステップ11)。
なお、「携帯電話認証ツールで入力」が選択された旨の情報も「ユーザID」情報と共に送信する。
【0029】
サーバ1は、PC2から送信された情報(データ)を通信部17を介して受信し、CPU11は、受信した「ユーザID」情報などをRAM13に格納する。
次に、CPU11は、データベース検索プログラムを起動し、データベース21に格納されているデータテーブルから受信した「ユーザID」に対応する「KEY」を抽出(検索)する(ステップ21)。
CPU11は、抽出(検出)した「KEY」のデータを、一旦RAM13に格納する。
【0030】
続いて、CPU11は、乱数発生プログラムを起動し、ランダムな値(乱数)「X」を生成する(ステップ22)。なお、このランダムな値をランダム値「X」とする。
CPU11は、生成した「X」のデータを、一旦RAM13に格納する。
そして、CPU11は、第1ハッシュ値算出(変換)プログラムを起動し、RAM13に格納されている、「KEY」と「X」を原文として、これらの文字列(値)から、ハッシュ値「R1」を算出(生成)する(ステップ23)。
CPU11は、算出されたハッシュ値「R1」をRAM13に格納する。
【0031】
次に、CPU11は、2次元コード変換プログラムを起動し、RAM13に格納されている、ランダム値「X」とハッシュ値「R1」を組み合わせ、組み合わせたものに基づいて、認証用の2次元コードを生成(変換)する(ステップ24)。
CPU11は、生成した2次元コードの情報(データ)をRAM13に格納する。
そして、CPU11は、生成された2次元コードの情報(データ)を、通信部17およびネットワークを介してPC2へ送信する(ステップ25)。
【0032】
PC2のCPUは、サーバ1から送信された2次元コードの情報(データ)を受信し、この受信したデータに基づいて認証用の2次元コードをPC2のディスプレイに表示する(ステップ12)。
図5は、認証用の2次元コードの表示例を示した図である。
図5に示すように、本実施の形態では、ゴールド銀行のサイトの「パスワード」の項目に認証用の2次元コードが表示される。
そして、ユーザ(利用者)は、携帯電話3の撮像機能(カメラ)を用いて、PC2のディスプレイに表示された認証用の2次元コードを撮像する(ステップ31)。
撮像された認証用の2次元コードは、携帯電話3に読み込まれ、撮像データが所定のメモリ装置に格納される。
【0033】
次に、携帯電話3のCPUは、データ解析プログラムを起動し、メモリに読み込まれた認証用の2次元コードの撮像データを解析し、元(オリジナル)データであるランダム値「X」とハッシュ値「R1」に変換する(ステップ32)。
なお、この変換(解析)されたハッシュ値をハッシュ値「R1(解析値)」とする。
携帯電話3のCPUは、変換(解析)したランダム値「X」とハッシュ値「R1(解析値)」のデータを、一旦RAMに格納する。
【0034】
続いて、携帯電話3のCPUは、第1ハッシュ値算出(変換)プログラムを起動し、携帯電話3の記憶機能(メモリ装置)に格納されている「KEY」と、RAMに格納されている「X」を原文として、これらの文字列(値)から、ハッシュ値「R1」を算出(生成)する(ステップ33)。
なお、この算出(生成)されたハッシュ値をハッシュ値「R1(算出値)」とする。
即ち、ここでは、ステップ23の処理においてサーバ1で実行されたハッシュ値「R1」の算出処理と同じ処理を実行する。
【0035】
次に、携帯電話3のCPUは、判定プログラムを起動し、ステップ32の処理において認証用の2次元コードの撮像データの解析値として算出されたハッシュ値「R1(解析値)」と、ステップ33の処理において算出されたハッシュ値「R1(算出値)」とを比較し、これらの値(文字列)が一致するか否かを判断する(ステップ34)。
ハッシュ値「R1(解析値)」とハッシュ値「R1(算出値)」とが一致した場合(ステップ34;Y)、携帯電話3のCPUは、サーバ1のデータベース(データテーブル)に格納(登録)されている「KEY」と、携帯電話3の記憶機能(メモリ装置)に格納(登録)されている「KEY」とが一致すると判断する。
【0036】
そして、携帯電話3のCPUは、認証用の「KEY」が一致する旨を示す認証表示を携帯電話3のディスプレイに表示する。
図6は、ゴールド銀行へのログイン(ログオン)が可能であることを示した認証表示の表示例を示した図である。
図6に示すような認証表示を視覚的に認識することにより、ユーザ(利用者)は、自身の所持する携帯電話3が、予めサーバ1に登録されている適切な認証用の装置であると判断できる。
【0037】
また、ユーザ(利用者)は、図6に示すような認証表示を視覚的に認識することにより、現在、PC2がログイン(ログオン)処理を実行しているサイトが正規のゴールド銀行のサイトであると判断することができる。
これは、現在PC2がアクセス(接続)しているサイトのサーバ1に、携帯電話3に格納されているものと同一のアルゴリズムを有する第1ハッシュ値算出(変換)プログラムが格納されていると判断できるため、現在、PC2がログイン(ログオン)処理を実行しているサイトが正規のゴールド銀行のサイトであると判断することができる。
このように、本実施の形態では、認証処理の過程において、現在PC2がアクセス(接続)しているサイトが正規のものであるか否かを適切に判断することができる。
【0038】
ユーザ(利用者)は、認証処理の継続を希望する場合、図6に表示されている「ログイン」ボタンを押下(選択)する。
すると、携帯電話3のCPUは、第2ハッシュ値算出(変換)プログラムを起動し、携帯電話3の記憶機能(メモリ装置)に格納されている「KEY」と、RAMに格納されているハッシュ値「R1」を原文として、これらの文字列(値)から、ハッシュ値「R2」を算出(生成)する(ステップ35)。
なお、ここで用いるハッシュ値は、ハッシュ値「R1(解析値)」およびハッシュ値「R1(算出値)」のどちらでもよい。
携帯電話3のCPUは、算出(生成)したハッシュ値「R2」のデータを、一旦RAMに格納する。
そして、携帯電話3のCPUは、通信手段を介してネットワークへ接続し、RAMに格納されている算出(生成)したハッシュ値「R2」のデータをサーバ1へ送信し(ステップ36)、認証処理を終了する。
【0039】
一方、ステップ34の処理において、ハッシュ値「R1(解析値)」とハッシュ値「R1(算出値)」とが一致しないと判定された場合(ステップ34;N)、携帯電話3のCPUは、サーバ1のデータベース(データテーブル)に格納(登録)されている「KEY」と、携帯電話3の記憶機能(メモリ装置)に格納(登録)されている「KEY」とが一致しない(相違する)と判断する。
そして、サーバ1のに格納(登録)されている「KEY」と、携帯電話3に格納(登録)されている「KEY」とが一致しないと判断した場合、携帯電話3のCPUは、認証用の「KEY」が一致しない旨のメッセージ、即ちエラーメッセージを携帯電話3のディスプレイに表示した後、ハッシュ値「R2」の算出処理は実行せずに、そのまま認証処理を終了する。
【0040】
このような現象は、例えば、現在PC2がアクセス(接続)しているサイトのサーバ1が、携帯電話3に格納されているものと同一のアルゴリズムを有する第1ハッシュ値算出(変換)プログラムが格納されていない場合(例えば、正規のサイトを模して作成された偽りのサイト(偽造サイト)である場合)や、ステップ11の処理においてPC2からサーバ1へ送信された「ユーザID」に対応する適切な「KEY」が携帯電話3に格納されていない場合などに生じる。
【0041】
サーバ1は、携帯電話3から送信されたハッシュ値「R2」を受信し、この受信したデータをRAM13に格納する。
なお、この受信した値をハッシュ値「R2(受信値)」とする。
続いて、サーバ1のCPU11は、第2ハッシュ値算出(変換)プログラムを起動し、RAM13に格納されている「KEY」と、RAM13に格納されているステップ23の処理において算出(生成)されたハッシュ値「R1」を原文として、これらの文字列(値)から、ハッシュ値「R2」を算出(生成)する(ステップ26)。
なお、この算出(生成)されたハッシュ値をハッシュ値「R2(算出値)」とする。
サーバ1のCPU11は、算出(生成)したハッシュ値「R2(算出値)」のデータを、一旦RAM13に格納する。
【0042】
次に、サーバ1のCPU11は、判定プログラムを起動し、携帯電話3から受信したハッシュ値「R2(受信値)」と、ステップ26の処理において算出されたハッシュ値「R2(算出値)」とを比較し、これらの値(文字列)が一致するか否かを判断する(ステップ27)。
ハッシュ値「R2(受信値)」とハッシュ値「R2(算出値)」とが一致した場合(ステップ27;Y)、サーバ1のCPU11は、サーバ1のデータベース(データテーブル)に格納(登録)されている「KEY」と、携帯電話3の記憶機能(メモリ装置)に格納(登録)されている「KEY」とが一致すると判断する。
【0043】
サーバ1のCPU11は、正しい(正規)の「KEY」、つまり正しいパスワードが携帯電話3から入力(返答)されたと、即ち、正しい認証処理が実行されたと判断する。
そして、サーバ1のCPU11は、当該サイト(ゴールド銀行)へのログイン(ログオン)の認証処理が適切に実行された旨を示した認証通知(認証信号)を通信部17およびネットワークを介してPC2へ送信し(ステップ28)、認証処理を終了する。
【0044】
一方、ステップ27の処理において、ハッシュ値「R2(受信値)」とハッシュ値「R2(算出値)」とが一致しないと判定された場合(ステップ27;N)、サーバ1のCPU11は、携帯電話3からのハッシュ値「R2」の送信過程、または、携帯電話3におけるハッシュ値「R2」の算出過程において適切な処理が行われなかった(エラーが発生した)と判断し、そのまま認証処理を終了する。
このような現象は、例えば、サーバ1において用いられる第2ハッシュ値算出(変換)プログラムと、携帯電話3において用いられる第2ハッシュ値算出(変換)プログラムとが同一でない場合に生じる。
【0045】
PC2のCPUは、サーバ1から送信された認証通知(認証信号)を受信し、この受信した認証通知(認証信号)に基づいて、所定のログイン(ログオン)処理、即ちサーバ1との正規の接続処理を実行した後、ゴールド銀行へのログイン(ログオン)処理が完了した旨のメッセージをディスプレイ19に表示し(ステップ13)、認証処理を終了する。
図7は、ゴールド銀行へのログイン(ログオン)処理が完了した旨のメッセージの表示例を示した図である。
図7に示すように、本実施の形態では、ゴールド銀行のサイトへの正式(正規)のログイン(ログオン)処理が完了した際に、「ログイン成功」のメッセージが表示される。
【0046】
なお、上述したステップ22においてランダム値「X」を生成する場合には、再送攻撃(即ち、正規のサーバを装って、過去に生成したランダム値「X」とハッシュ値「R1」の組み合わせに基づいて生成された認証用の2次元コードを、再度PC2に送信する方法)を避けるために、過去に一度生成した(利用した)ランダム値「X」は、二度と生成しないように構成された乱数発生プログラムを用いることが望ましい。
【0047】
このように、本実施の形態によれば、オンラインバンキングやショッピングサイトなどへのログイン(ログオン)処理、即ち、ユーザ(利用者)の認証処理を、認証用のパスワードをPC2(端末装置)から直接入力させる代わりに、携帯電話3を用いて間接的にサーバ1へパスワードの代わりとなる認証用のデータ(ハッシュ値「R2」)を送信することによって行うことができる。
このように、PC2からパスワードの入力を行うことなく適切な認証処理を可能にすることにより、フィッシングやスパイウェアなどにより不正に認証時に必要となる情報(例えばパスワードなど)を不正に詐取されることを防ぐことができる。
【0048】
暗号化を施したり、乱数表やソフトウェアキーボードを用いたりなどの従来のパスワードをユーザ(利用者)に入力させる技術は、セキュリティ強度や使い勝手において問題があり、不正アクセスや情報漏洩に対する完全な対策手法としての認知度は低いものであった。
しかしながら、上述したような、PC2と携帯電話3の2つのハードウェアを用いた2要素認証による認証システムを採用することにより、サイトを運営する事業者やサイトの運営を委託されたベンダーは、従来のような乱数表やソフトウェアキーボードの使いにくさの部分を改善するだけでなく、セキュリティ強度も向上させることができる。
【0049】
また、上述したような、PC2と携帯電話3の2つのハードウェアを用いた2要素認証による認証システムを採用することにより、認証用のパスワードをPC2(端末装置)から直接入力することなくログイン(ログオン)処理を実行することができるため、PC2に認証用のパスワードの情報が残ることがない。
そのため、ホテルのビジネスセンターなどに備え付けられている、不特定多数のユーザ(利用者)が使用するPC2からでも安心して所望のサイトへのログイン(ログオン)処理を実行することができる。
また、必要な情報は、予め携帯電話3に格納されているため、ユーザ(利用者)がパスワードなどの情報を覚えておく必要がないため利便性がよい。
【0050】
上述した本実施の形態では、ユーザ(利用者)側と、サービスを提供するサーバ1側の両者による相互認証が行われるように構成されているが、認証方法はこれに限定されるものではない。
例えば、単純にユーザ(利用者)が、現在アクセスしているサイトが正規のサイトであるか否かをユーザ(利用者)側で判断することが可能なシステムとして構成してもよい。
このようなシステムを構成する場合、サイトの真贋(正規のものであるか否か)を判断するための要素として、上述した認証用の2次元コードの生成技術を用いて、判断用の2次元コードを生成して用いる。
【0051】
詳しくは、例えば、PC2を介してアクセスしたサイトのトップページに、特定のアルゴリズムを有する変換プログラムを用いて変換(生成)された情報を2次元コードで示した判断用の2次元コードを表示する。
そして、ユーザ(利用者)は、携帯電話3を用いて表示されている判断用の2次元コードを撮像し、判断用の2次元コードのデータを携帯電話3に読み込む。
そして、携帯電話3において解析プログラムを起動し、読み込んだ判断用の2次元コードのデータの解析を行う。
なお、携帯電話3には、予め、正規のサイトのサーバ1から取得した解析プログラムを格納しておくものとする。
【0052】
この解析プログラムを用いてデータの解析処理が施されると、解析対象となるデータが、正規の判断用の2次元コード変換(生成)用の特定のアルゴリズムを有する変換プログラムを用いて適切に生成されたものの場合、その解析結果として所定の文字列が出力され、当該サイトが正規サイトである旨のメッセージが携帯電話3のディスプレイに表示されるように構成されている。
一方、解析対象となるデータが、正規の判断用の2次元コード変換(生成)用の特定のアルゴリズムを有する変換プログラムを用いて適切に生成されたものでない場合、その解析結果として所定の文字列とは異なる文字列が出力され、当該サイトが偽装サイトである旨のメッセージが携帯電話3のディスプレイに表示されるように構成されている。
【0053】
そして、ユーザ(利用者)は、判断用の2次元コードの解析結果、即ち、携帯電話3のディスプレイの表示を視覚的に認識することによって、当該サイトの真贋(正規のものであるか否か)を容易に判断することができる。
このように、ユーザ(利用者)側で適切なサイトの真贋の判断を行うことができるため、サイトの信用度を確保することができ、ユーザ(利用者)は、サイトの提供するサービスを受ける際に、安心して情報をサイト側へ提供することができる。
【0054】
また、上述した本実施の形態に係る認証システムでは、ログイン(ログオン)時に必要となるパスワードの入力の代わりに、携帯電話3による認証処理(認証ツール)を用いるように構成されているが、このような携帯電話3による認証処理(認証ツール)の利用方法は、パスワードの入力の代用に限定されるものではない。
例えば、ショッピングサイトにおけるクレジットカードによる決済処理時のカード情報の入力をPC2から直接入力する代わりに、携帯電話3による認証処理(認証ツール)を応用し、携帯電話3からサーバ1へ必要なカード情報等の入力を実行するようにしてもよい。
【0055】
詳しくは、携帯電話3におけるサイトの認証処理(ステップ34)が終了した後、決済を行うクレジットカード情報を携帯電話3から入力し、入力された情報をハッシュ値「R2」に添付してサーバ1へ送信する。
そして、サーバ1は、受信した情報に基づいて決済処理を行う。
なお、クレジットカード情報を送信する際には、セキュリティを考慮し、情報(データ)を暗号化することが望ましい。
また、サーバ1は、受信したクレジットカード情報をPC2へは送信せずに、受信したクレジットカード情報が適正なものであると判断された場合に、決済処理処理が適切に実行された旨を示した決済完了通知(完了信号)を通信部17およびネットワークを介してPC2へ送信する。
【0056】
PC2のCPUは、サーバ1から送信された決済完了通知(完了信号)を受信し、この受信した決済完了通知(完了信号)に基づいて、クレジットカードによる決済処理が完了した旨のメッセージをディスプレイ19に表示する。
一方、受信したクレジットカード情報が適正なものでないと判断された場合に、入力情報が無効である旨を示したエラー通知(エラー信号)を通信部17およびネットワークを介してPC2へ送信する。
PC2のCPUは、サーバ1から送信されたエラー通知(エラー信号)を受信し、この受信したエラー通知(エラー信号)に基づいて、クレジットカードによる決済処理が無効である旨のメッセージをディスプレイ19に表示する。
【0057】
また、本実施の形態では、正規のものであるか否かの判断対象をインターネット上のウェブサイトに限定して説明を行ったが、上述した認証システムを応用した技術における正規のものであるか否かの判断対象は、これに限定されるものではない。
正規のものであるか否かの判断対象は、特定のユーザ(利用者)へ送信されるメールや印刷物であってもよい。
【0058】
図8は、発信元の認証を可能にする発信元認証用の2次元コードが添付された、特定のユーザ(利用者)へ送信されたメールの一例を示した図である。
例えば、メールの発信者は、図8に示すように、発信元の認証を可能するための、特定のアルゴリズムを有する変換プログラムを用いて変換(生成)された情報を発信元認証用の2次元コードをメールに添付し、メールの発信元が正規の発信元であるか否かをユーザ(利用者)側で判断することが可能なシステムとして構成してもよい。
このようなシステムを構成する場合、発信元の真贋(正規のものであるか否か)を判断するための要素として、上述した認証用の2次元コードの生成技術を用いて、発信元認証用の2次元コードを生成して用いる。
【0059】
詳しくは、メールの受信者であるユーザ(利用者)は、携帯電話3を用いて表示されている発信元認証用の2次元コードを撮像し、発信元認証用の2次元コードのデータを携帯電話3に読み込む。
そして、携帯電話3において解析プログラムを起動し、読み込んだ発信元認証用の2次元コードのデータの解析を行う。
なお、携帯電話3には、予め、正規の発信元から取得した解析プログラムを格納しておくものとする。
【0060】
この解析プログラムを用いてデータの解析処理が施されると、解析対象となるデータが、正規の発信元認証用の2次元コード変換(生成)用の特定のアルゴリズムを有する変換プログラムを用いて適切に生成されたものの場合、その解析結果として所定の文字列、例えば、発信元を示す文字列やロゴが出力され、当該発信元が正規のものである旨のメッセージが携帯電話3のディスプレイに表示されるように構成されている。
一方、解析対象となるデータが、正規の発信元認証用の2次元コード変換(生成)用の特定のアルゴリズムを有する変換プログラムを用いて適切に生成されたものでない場合、その解析結果として所定の文字列とは異なる文字列が出力され、メールに記載されている発信元が偽装されている旨のメッセージが携帯電話3のディスプレイに表示されるように構成されている。
【0061】
そして、ユーザ(利用者)は、発信元認証用の2次元コードの解析結果、即ち、携帯電話3のディスプレイの表示を視覚的に認識することによって、当該発信元の真贋(正規のものであるか否か)を容易に判断することができる。
このように、ユーザ(利用者)側でメールの発信元の真贋の判断を行うことができるため、ユーザ(利用者)は、送信されたメールの内容を安心して信用することができる。
【0062】
また、メールの発信元が正規のものであると判断された場合には、携帯電話3のCPUは、携帯電話3に搭載されているメーラーを起動し、メールを本人が受け取った旨を発信元に伝えるメッセージ(信号)を送信するように構成してもよい。
なお、この場合、発信元認証用の2次元コードに、発信元のアドレス(受信確認送付先のアドレス)の情報を予め組み込んでおき、携帯電話3においてメールの発信元が正規のものであると判断された場合におけるメーラーの起動時に、自動的に発信元のアドレスがメール(メッセージ)の送信先の欄に入力されるようにする。
このように、メールを本人が受け取った旨のメッセージを発信元に送信することにより、発信元は、適切に該当メールの受信確認を行うことができる。
【0063】
なお、本実施の形態では、認証用(判断用、発信元認証用など)のコードとして、2次元コードを用いているが、コードの種類はこれに限定されるものではない。
例えば、文字列コードや番号コード、また、1次元コード(バーコード)などを用いるようにしてもよい。
また、本実施の形態では、2要素認証による認証システムにおいて携帯電話3を用いるように構成されているが、2要素認証に用いるハードウェアはこれに限定されるものではない。
ネットワーク経由での通信可能であり、撮像機能を有するデバイスであればよく、例えば、カメラ機能を有するPDA(携帯端末装置)や携帯音楽プレーヤーであってもよい。
【図面の簡単な説明】
【0064】
【図1】本実施の形態に係る認証システムの概略構成を示した図である。
【図2】本実施の形態に係るサーバの概略構成を示した図である。
【図3】本実施の形態に係る認証システムを用いた認証処理動作の手順を示したフローチャートである。
【図4】ログイン(ログオン)画面の一例を示した図である
【図5】認証用の2次元コードの表示例を示した図である。
【図6】ゴールド銀行へのログイン(ログオン)が可能であることを示した認証表示の表示例を示した図である。
【図7】ゴールド銀行へのログイン(ログオン)処理が完了した旨のメッセージの表示例を示した図である。
【図8】発信元の認証を可能にする発信元認証用の2次元コードが添付された、特定のユーザ(利用者)へ送信されたメールの一例を示した図である。
【符号の説明】
【0065】
1 サーバ
2 PC
3 携帯電話
11 CPU
12 ROM
13 RAM
14 インターフェース
15 記憶装置
16 光磁気ディスク
17 通信部
18 入力部
19 ディスプレイ
20 印刷装置
21 データベース
22 バスライン

【特許請求の範囲】
【請求項1】
第1の端末装置をサーバへ接続する際に行われる利用認証処理を、撮像手段および所定の撮像データの解析手段を有する第2の端末装置を介して行う認証システムであって、
所定の原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて認証表示を生成する生成手段と、
前記生成手段により生成された認証表示を前記第1の端末装置へ送信し、前記第1の端末装置に表示させる認証表示提示手段と、
前記第2の端末装置から送信される、前記認証表示提示手段により前記第1の端末装置に表示された前記認証表示の撮像データの解析結果に基づいて算出されたデータを受け付ける受付手段と、
前記受付手段により受け付けられたデータに基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断する判断手段と、
を備えたことを特徴とする認証システム。
【請求項2】
利用者の識別情報とキーワードが対応づけられたテーブルと、
ランダムな値である乱数を生成する乱数発生手段と、
前記第1の端末装置から利用者の識別情報を取得する識別情報取得手段と、
を備え、
前記生成手段は、前記所定の原文として、前記識別情報取得手段により取得した利用者の識別情報に対応するキーワードと、前記乱数発生手段により生成した乱数値を用い、
前記第2の端末装置の有する所定の撮像データの解析手段は、前記認証表示の撮像データから、前記認証表示を生成する際の元データとなったキーワード及び乱数値を抽出し、
前記受付手段は、前記第2の端末装置から送信される、前記撮像データの解析手段により抽出されたキーワード及び乱数値に基づいて算出されたデータを受け付け、
前記判断手段は、前記識別情報取得手段により取得した利用者の識別情報に対応するキーワード及び前記乱数発生手段により生成した乱数値に基づいて算出されたデータと、前記受付手段により受け付けられたデータと、の比較結果に基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断することを特徴とする請求項1記載の認証システム。
【請求項3】
撮像手段および所定の撮像データの解析手段を有する端末装置を用いて認証処理を行う認証システムであって、
特定の発信元情報または発行元情報を含む原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて生成された認証表示を撮像する撮像手段と、
前記撮像手段により撮像された撮像データを解析し、前記認証表示を生成する際の元データとなった前記原文を抽出する解析手段と、
前記解析手段により抽出された前記原文に基づいて、前記認証表示が添付された情報の発信元、または前記認証表示が添付された印刷物の発行元を特定する特定手段と、
を備えたことを特徴とする認証システム。
【請求項4】
第1の端末装置をサーバへ接続する際に行われる利用認証処理を、撮像手段および所定の撮像データの解析手段を有する第2の端末装置を介して行う認証システムにおいて用いられる認証方法であって、
所定の原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて認証表示を生成する第1のステップと、
前記第1のステップにより生成された認証表示を前記第1の端末装置へ送信し、前記第1の端末装置に表示させる第2のステップと、
前記第2の端末装置から送信される、前記第2のステップにより前記第1の端末装置に表示された前記認証表示の撮像データの解析結果に基づいて算出されたデータを受け付ける第3のステップと、
前記第3のステップにより受け付けられたデータに基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断する第4のステップと、
を有することを特徴とする認証方法。
【請求項5】
撮像手段および所定の撮像データの解析手段を有する端末装置を用いて認証処理を行う認証システムにおいて用いられる認証方法であって、
特定の発信元情報または発行元情報を含む原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて生成された認証表示を撮像する第1のステップと、
前記第1のステップにより撮像された撮像データを解析し、前記認証表示を生成する際の元データとなった前記原文を抽出する第2のステップと、
前記第2のステップにより抽出された前記原文に基づいて、前記認証表示が添付された情報の発信元、または前記認証表示が添付された印刷物の発行元を特定する第3のステップと、
を有することを特徴とする認証方法。
【請求項6】
第1の端末装置をサーバへ接続する際に行われる利用認証処理を、撮像手段および所定の撮像データの解析手段を有する第2の端末装置を介して行う認証システムにおいて用いられる認証プログラムであって、
所定の原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて認証表示を生成する生成機能と、
前記生成機能により生成された認証表示を前記第1の端末装置へ送信し、前記第1の端末装置に表示させる認証表示提示機能と、
前記第2の端末装置から送信される、前記認証表示提示機能により前記第1の端末装置に表示された前記認証表示の撮像データの解析結果に基づいて算出されたデータを受け付ける受付機能と、
前記受付機能により受け付けられたデータに基づいて、前記第1の端末装置による前記サーバへの接続の許可または不許可を判断する判断機能と、
をコンピュータに実現させることを特徴とする認証プログラム。
【請求項7】
撮像手段および所定の撮像データの解析手段を有する端末装置を用いて認証処理を行う認証システム用いられる認証プログラムであって、
特定の発信元情報または発行元情報を含む原文を特定のアルゴリズムに基づいて変換することにより得られたデータに基づいて生成された認証表示を撮像する撮像機能と、
前記撮像機能により撮像された撮像データを解析し、前記認証表示を生成する際の元データとなった前記原文を抽出する解析機能と、
前記解析機能により抽出された前記原文に基づいて、前記認証表示が添付された情報の発信元、または前記認証表示が添付された印刷物の発行元を特定する特定機能と、
をコンピュータに実現させることを特徴とする認証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−3754(P2008−3754A)
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2006−171024(P2006−171024)
【出願日】平成18年6月21日(2006.6.21)
【出願人】(504377367)株式会社セキュアブレイン (6)
【Fターム(参考)】