JP2006004020A - ワンタイムパスワード型認証システム及び認証方法 - Google Patents

ワンタイムパスワード型認証システム及び認証方法 Download PDF

Info

Publication number
JP2006004020A
JP2006004020A JP2004177570A JP2004177570A JP2006004020A JP 2006004020 A JP2006004020 A JP 2006004020A JP 2004177570 A JP2004177570 A JP 2004177570A JP 2004177570 A JP2004177570 A JP 2004177570A JP 2006004020 A JP2006004020 A JP 2006004020A
Authority
JP
Japan
Prior art keywords
time key
communication terminal
time
authentication server
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004177570A
Other languages
English (en)
Inventor
Masakatsu Morii
昌克 森井
Tadayuki Kitajima
忠征 北島
Yoshiaki Shiraishi
善明 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TAKASUKA SADAKO
Original Assignee
TAKASUKA SADAKO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TAKASUKA SADAKO filed Critical TAKASUKA SADAKO
Priority to JP2004177570A priority Critical patent/JP2006004020A/ja
Publication of JP2006004020A publication Critical patent/JP2006004020A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】
ユーザの作業性と利便性を向上させたワンタイムパスワード認証システム及び認証方法、及び、アクセス権の一時貸与に適したワンタイムパスワード認証システム及び認証方法を提供すること。
【解決手段】
ワンタイムキー生成用携帯通信端末と、該ワンタイムキー生成用携帯通信端末と通信により相互認証するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、該ログイン用通信端末と通信により認証してログインとコンテンツ配信をするログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システム。
【選択図】 図1

Description

本発明は、通信ネットワークにおけるワンタイムパスワード型認証システム及び認証方法に関する。
いわゆるインターネット等の安全でない通信路を用いて情報通信を行う際に、通信相手を認証することは必要不可欠である。認証方式には様々なものがあるが、公開鍵暗号を用いる方式と共通鍵暗号や一方向性ハッシュ関数を用いる方式が広く普及している。公開鍵暗号を用いる方式は安全性が高い方式であるが、非常に多くの計算量を必要とするという問題点がある。そして、計算能力の低い端末での認証には、必要な計算量が公開鍵暗号に比べて格段に低い共通鍵暗号や一方向性ハッシュ関数を用いる方式が適している。共通鍵暗号や一方向性ハッシュ関数を用いる方式として一般的なものはパスワードを用いる認証方式である。パスワードを用いる認証方式において、固定のパスワードを用いると通信路上での盗聴によってパスワードが盗まれてしまうという問題点がある。この問題を回避すべく、各認証セッションごとにパスワードが変化するワンタイムパスワード型認証システムが実用されている。
ワンタイムパスワード型認証システムにおいては、ユーザ側及びサーバ側とがどのようにしてワンタイムパスワードを共有するかが問題となる。これに対して幾つかの解決の方式が提示されている。
代表的な方式としては、時間同期方式、及びチャレンジアンドレスポンス方式がある。いずれも通常、ユーザは小型のワンタイムパスワード発生器を保持し、これにより発生させたパスワードとユーザIDを手元のコンピュータに打ち込み、手元のコンピュータからリモートにあるコンピュータ(サーバ)にログインする。
時間同期方式は、認証サーバとワンタイムパスワード発生器が共通の暗号鍵を保持し、ワンタイムパスワード発生器はパスワードを発生させるときの時刻を共通の暗号鍵により暗号化し、これをパスワードとするものである。認証サーバ側でもログイン要求があったときの時刻を共通の暗号鍵により暗号化し、送られてきたパスワードと比較して認証を行う。パスワード発生器と認証サーバ側の時計のずれを考慮して、時刻は分までを暗号化する。また、認征サーバでは認証サーバの時刻、1分前後の時刻或は数分前後内の時刻をすべて分間隔で暗号化し、この内のどれかと一致すれば有効なパスワードとする。例えば、特許文献1(特開平11−316740号公報)は、安全性向上のために「秒」の単位までを使用する時刻同期方式ワンタイムパスワード認証システムを開示している。
チャレンジアンドレスポンス方式も同様に、認証サーバとワンタイムパスワード発生器が共通の暗号鍵を保持する。認証要求があると認証サーバはチャレンジコードと呼ばれる乱数を発生させ、これをユーザの手元にあるコンピュータに送る。ユーザはこのチャレンジコードをパスワード発生器に打ち込み、パスワード発生器はチャレンジコードを共通の暗号鍵で暗号化し、これをパスワードとする。認証サーバでもチャレンジコードを共通の暗号鍵で暗号化し、送られてきたパスワードと比較することで認証を行う。
特開平11−316740号公報
しかし、上記の時間同期方式では認証サーバとワンタイムパスワード発生器とが相互に通信することがなく、ワンタイムパスワードが有効となるのは、認証サーバ側にあらかじめ設定された所定の時間、通常はわずか1分程度の間と決められているために、ユーザーが短時間で正確にそのワンタイムパスワードを打ち込みことが必要であり、作業性や利便性に問題があった。
また、上記のチャレンジアンドレスポンス方式では、ユーザがワンタイムパスワードを打ち込むに先立って、このチャレンジコードを正確にパスワード発生器に打ち込む作業が必要であり、ユーザの負担は大きく、やはりこの点で作業性や利便性に問題があった。
そして、いずれの方式でも、専用のパスワード発生器を持ち運んで使用することが必要であり、この点でもユーザの感じる不便さと紛失等によるセキュリティ上の不安は無視できないものであった。
従来の方式によるワンタイムパスワード認証システムは、上記のように、ユーザにとっての作業性と利便性に問題があった。
さらに、ワンタイムパスワードとは一度のみ有効であるパスワードであるので、これを他人に伝えることによって、アクセス権を一時的に貸与できれば、非常に便利である。しかし、従来の方式によるワンタイムパスワード認証システムは、上記のような作業性と利便性に問題があり、そのような用途を全く想定することができないほどであった。
すなわち、ワンタイムパスワードの有効期間が、わずか1〜2分程度では、それを他人に伝えてアクセス権を貸与することは現実的には不可能であるほどに短い。かといって、その有効期間を一律に長くしてしまうと、ワンタイムパスワードの漏洩や、全数探索攻撃に対して極めて脆弱になり、安全性の点で問題がある。
さらに、現実の社会の組織においては、アクセス権の貸与といった許可は、唯一人の権限によって行われるものではなく、所属の部門の責任者、さらにその部門を統括するより上位の部門の責任者、といった複数の人物からの許可を得て、初めて可能となるような仕組みとなっている。しかし、上述のような従来のワンタイムパスワード認証システムは、そのような社会の仕組みを反映して、簡易に使用することができるものではなかった。
従って、本発明の目的は、従来の方式によるワンタイムパスワード認証システムに比較して、ユーザにとっての作業性と利便性を向上させた新規なワンタイムパスワード認証システム及び認証方法を提供することにある。
さらに、本発明の目的は、ワンタイムパスワードを他人に伝えることによりアクセス権を一時的に貸与するために適した新規なワンタイムパスワード認証システム及び認証方法を提供することにもある。
本発明者等は、上記目的が、
ワンタイムキー生成用携帯通信端末と、該ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、該ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
ワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
ワンタイムキー生成用認証サーバ手段は、ワンタイムキー生成用携帯通信端末との相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用通信端末は、ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用認証サーバ手段は、ワンタイムキー生成用認証サーバ手段から上記ワンタイムキーを受信する手段と、ログイン用通信端末から上記ワンタイムキーを受信する手段と、受信したこれらのワンタイムキーを比較判断して一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システムによって達成されることを見いだした。
さらに、上記目的が、
第1のワンタイムキー生成用携帯通信端末と、第2のワンタイムキー生成用携帯通信端末と、ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
第1のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
第2のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
ワンタイムキー生成用認証サーバ手段は、第1のワンタイムキー生成用携帯通信端末との相互認証手段と、第2のワンタイムキー生成用携帯通信端末との相互認証手段と、各ワンタイムキーの生成手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用通信端末は、各ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
ログイン用認証サーバ手段は、
ワンタイムキー生成用認証サーバ手段から上記各ワンタイムキーを受信する手段と、
第1のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第1のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
第2のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第2のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
各ワンタイムキーの組の比較が全て一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システムによって達成されることを見いだした。
上記のシステムは、携帯端末を使用することにより、別途専用のワンタイムパスワード発生器を持ち運ぶことなく、ユーザがワンタイムキーを入手することを可能にしている。これによりユーザの感じる不便さと紛失等によるセキュリティ上の不安を軽減している。さらに、ワンタイムキーの生成のために通信端末を使用して相互認証を行う結果、ユーザはチャレンジコードを目視して正確に打ち込む等の負担から解放されており、ユーザにとっての作業性と利便性が極めて向上している。
そして上記のシステムは、ログイン用通信端末とログイン用認証サーバ手段とのワンタイムキーによる認証に先立って、ワンタイムキー生成用携帯通信端末とワンタイムキー生成用認証サーバ手段との相互認証が行われるために、いわば扉に対してあらかじめ二重に鍵をかけておき、そのうちの内鍵を開けた後に、残った外鍵を開けることに相当するような手順とすることができる。
すなわち、本来のアクセス権を有するユーザが、まず自ら内鍵を開けることに相当する作業、すなわちログイン用通信端末とログイン用認証サーバ手段との相互認証を行った後に、そのユーザが一時的にアクセス権を貸与しようとする他人へと外鍵を開けるために必要な鍵を渡して、その他人にその一度に限って外鍵を開けさせることに相当する作業、すなわちワンタイムキーによるログイン用通信端末とログイン用認証サーバ手段との認証を許すことができる。これによってユーザは安心して、アクセス権の一時的な貸与をすることができる。従って、上記のシステムは、ワンタイムパスワード(ワンタイムキー)を他人に伝えることによりアクセス権を一時的に貸与するために適したものとなっている。
さらに、複数のワンタイムキー生成用携帯通信端末を使用する場合においては、それぞれのワンタイムキー生成用携帯通信端末を使用した相互認証よってワンタイムキーを生成する権限を有するユーザは、それぞれ異なるユーザとすることが当然に可能である。
すなわち、この場合には、ワンタイムキーの生成の権限を有するユーザの両方から、それぞれワンタイムキーを得て初めて、第ログイン用通信端末とログイン用認証サーバ手段とのワンタイムキーによる認証が可能となるシステムとすることができる。これによって例えば、会社のような組織において、部長と課長の両方からワンタイムキーを得て初めて、重要書類の閲覧を可能とするようなシステムとすることができる。従って、上記のシステムは、ワンタイムパスワードを他人に伝えることによりアクセス権を一時的に貸与する場合において、権限ある複数のユーザがワンタイムキーを一人の他人に伝えることにより、アクセス権を一時的に貸与するために特に適したものとなっている。
また、本発明のシステムは、ワンタイムキー生成用携帯通信端末を、さらに付加してゆくことにより、それに応じてワンタイムキーの生成の権限を有するユーザをさらに多く参加させることができるシステムとすることが可能である。原理的には、そのようなワンタイムキーの生成の権限を有するユーザの数に上限を設けることなく、システムを設置することが可能である。これにより、アクセス許可の権限が多人数にわたっているような組織であっても、それに対応したアクセス許可を可能とするシステムを設置することができる。
またこのワンタイムキー生成用携帯通信端末とは、本発明においてワンタイムキーの生成のための通信による相互認証のために使用される端末であるが、このワンタイムキー生成用携帯通信端末としては、通信機能を有するPDA等をも含む種々の携帯端末を使用することができるが、携帯電話端末、特にJAVA(登録商標)搭載携帯電話端末を使用することが好ましい。現在の生活では常に身近に置いている携帯電話を使用することによって、ユーザの感じる不便さやストレスを最小限にすることができ、また別途専用のワンタイムパスワード発生器を用意するよりも低い費用でこのシステムを構築することができる。
また、このログイン用通信端末とは、本発明において生成されたワンタイムキーを入力することによる認証でその後の通信接続によるコンテンツ受信を可能とすること、すなわちいわゆるログインのために使用される端末であるが、このログイン用通信端末としては、種々の端末を使用することができ、一般にはパーソナルコンピュータ(PC)端末を使用することができるが、インターネット接続機能を備えた携帯電話端末を使用することも本発明の好適な実施の態様である。
上記のワンタイムキー生成用携帯通信端末が備えたワンタイムキー生成用認証サーバ手段との通信による相互認証手段は、ワンタイムパスワードを使用した相互認証であることが好ましい。なお、上記ワンタイムキーとは、ワンタイムパスワードのうちで、ログイン用通信端末とログイン用認証サーバ手段との間で使用されるものを意味している。
上記のログイン用認証サーバ手段は、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作する手段を備えていることが好ましい。ログイン用認証サーバ手段がプロキシとして動作することによって、ログイン用通信端末のコンテンツへのアクセスを制御することが可能となる。
また、ワンタイムキー生成用認証サーバ手段とログイン用認証サーバ手段とは、それぞれ別個のサーバのなかに備えることも可能であるが、これらを備えた1個の認証サーバによりシステムを構築することが好ましく、これにより管理を容易にすることができる。
ワンタイムキー生成用携帯通信端末は、生成するワンタイムキーの有効時間として任意の有効時間の値を入力又は選択する手段と、入力又は選択された有効時間の値を、通信による相互認証においてワンタイムキー生成用認証サーバ手段に送信する手段とを有し、
ワンタイムキー生成用認証サーバ手段は、前記有効時間の値を通信による相互認証においてワンタイムキー生成用携帯通信端末から受信する手段と、ログイン用認証サーバ手段にワンタイムキーを送信する際に該ワンタイムキーの生成された時刻の値と前記有効時間の値とを関連づけて送信する手段とを有し、
ログイン用認証サーバ手段は、
ワンタイムキー生成用認証サーバ手段から前記関連づけられたワンタイムキーとワンタイムキーの生成された時刻の値と有効時間の値とを受信する手段と、
ログイン用通信端末から受信したワンタイムキーとワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較判断して一致する場合において、ログイン用通信端末から受信した各ワンタイムキーの受信時刻がそのワンタイムキーの有効時間内であるかどうかをさらに比較判断して、有効時間内でない場合には、ログインを許可しない比較判断手段とを有するワンタイムパスワード型認証システムが好ましい。
すなわち、ワンタイムキー生成用携帯通信端末が、認証サーバとの通信による相互認証によって、生成するワンタイムキーの有効時間を任意に設定する手段を備えたものとすることが好ましい。この有効時間は任意の時間を入力するものとすることも所定の候補時間から選択するものとすることも可能である。この有効時間は、ワンタイムキーの生成された時刻と関連づけられて以後の処理に用いられ、ログイン用通信端末から受信した各ワンタイムキーの受信時刻と比較されるが、この関連づけには種々の方式があり、例えば有効時間とワンタイムキー生成時刻とを1組の値とする方式、ワンタイムキーの生成時刻に有効時間を加算して、ワンタイムキーの有効時間の終了時刻を算出してその値を用いる方式等を使用することができる。
このようにしてワンタイムキーを生成する権限を有するユーザの意思によって、生成するワンタイムキーの有効時間を任意に設定することができる。
また、通常の時間同期方式等を使用したワンタイムパスワードシステムでは、認証サーバ側の事前の設定でワンタイムパスワードの有効時間は決定されてしまい、これをユーザ側で変更することはできない。しかし、ワンタイムパスワード(ワンタイムキー)を他人に伝えることによりアクセス権を一時的に貸与しようとする場合には、その有効時間があまりに短くても長くても不便である。そして、他人の信用やその貸与の目的等に応じて、ワンタイムキーの生成権限を有するユーザの意思で、これを変更できれば非常に便利である。すなわち、第2通信端末を除く上記通信端末の1個以上が、認証サーバとの通信による相互認証によって、生成するワンタイムキーの有効時間を任意に設定する手段を備えたものとすることによって、本発明のワンタイムパスワード型認証システムを、ワンタイムパスワード(ワンタイムキー)を他人に伝えることによりアクセス権を一時的に貸与するために特に適したものとすることができる。
また、本発明は、
ワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、該ワンタイムキー生成用携帯通信端末及び該ログイン用通信端末と通信する認証サーバとを使用するワンタイムパスワード型認証方法であり、
ワンタイムキー生成用携帯通信端末を使用する初回登録処理、初回登録完了後の第i回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理、及び初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、

ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
ワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Rが秘密通信路で送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1を、上記セッション用乱数Rとユーザーの秘密情報文字列Sとの2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Kを、上記ユーザーの秘密情報文字列S及び上記共有使い捨て鍵K−1と、上記セッション用乱数Rとの3者からハッシュ関数による計算処理によって生成して保存するステップと、
ワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1及びKが秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵K−1及びKを保存するステップとが行われ、

初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理として、
ワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数R、共有使い捨て鍵Ki−1及びKの3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第i番目のセッション用乱数Rと、セッション用乱数R、共有使い捨て鍵Ki−1及びKの3者から生成された上記ハッシュ値とが送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Rと、ワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1及びKとの3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
ワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、ワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
ワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Rが検証されたものと判断して認証処理を継続するステップと、
ワンタイムキー生成用携帯通信端末が、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子Pを生成するステップと、
ワンタイムキー生成用携帯通信端末から上記セッション用認証子Pが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’を生成するステップと、
認証サーバが、ワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Pと、認証サーバにより生成された上記セッション用認証子P’とを比較判断して、セッション用認証子Pとセッション用認証子P’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、
認証サーバから上記接続許可が送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
ワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ri及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップとが行われ、

初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、
ワンタイムキー生成用携帯通信端末が上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
ワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法にある。
さらに本発明は、
第1のワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、第2のワンタイムキー生成用携帯通信端末と、該第1のワンタイムキー生成用携帯通信端末、該ログイン用通信端末及び該第2のワンタイムキー生成用携帯通信端末に接続する認証サーバとを使用するワンタイムパスワード型認証方法であり、
携帯端末を使用する初回登録処理、初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理、及び初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、

ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
第1のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Rが秘密通信路で送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第1のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1を、上記セッション用乱数Rとユーザーの秘密情報文字列Sとの2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Kを、上記ユーザーの秘密情報文字列S及び上記共有使い捨て鍵K−1と、上記セッション用乱数Rとの3者からハッシュ関数による計算処理によって生成して保存するステップと、
第1のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1及びKが秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵K−1及びKを保存するステップと、

第2のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数R’’が秘密通信路で送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第2のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1’’を、上記セッション用乱数R’’とユーザーの秘密情報文字列S’’との2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵K’’を、上記ユーザーの秘密情報文字列S’’及び上記共有使い捨て鍵K−1’’と、上記セッション用乱数R’’との3者からハッシュ関数による計算処理によって生成して保存するステップと、
第2のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1’’及びK’’が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵K−1’’及びK’’を保存するステップとが行われ、
初回登録完了後の第i回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理として、
第1のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数R、共有使い捨て鍵Ki−1及びKの3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第i番目のセッション用乱数Rと、セッション用乱数R、共有使い捨て鍵Ki−1及びKの3者から生成された上記ハッシュ値とが送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第1のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Rと、第1のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1及びKとの3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第1のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第1のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第1のワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Rが検証されたものと判断して認証処理を継続するステップと、
第1のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子Pを生成するステップと、
第1のワンタイムキー生成用携帯通信端末から上記セッション用認証子Pが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’を生成するステップと、
認証サーバが、第1のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Pと、認証サーバにより生成された上記セッション用認証子P’とを比較判断して、セッション用認証子Pとセッション用認証子P’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第1のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、

第2のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数R’’、共有使い捨て鍵Ki−1’’及びK’’の3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第i番目のセッション用乱数R’’と、セッション用乱数R’’、共有使い捨て鍵Ki−1’’及びK’’の3者から生成された上記ハッシュ値とが送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第2のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数R’’と、第2のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1’’及びK’’との3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第2のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第2のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第2のワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数R’’が検証されたものと判断して認証処理を継続するステップと、
第2のワンタイムキー生成用携帯通信端末が、上記セッション用乱数R’’と上記共有使い捨て鍵K’’との2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’’を生成するステップと、
第2のワンタイムキー生成用携帯通信端末から上記セッション用認証子P’’が送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数R’’と上記共有使い捨て鍵K’’との2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’’’を生成するステップと、
認証サーバが、第2のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子P’’と、認証サーバにより生成された上記セッション用認証子P’’’とを比較判断して、セッション用認証子P’’とセッション用認証子P’’’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数R’’及び上記共有使い捨て鍵K’’と、上記セッション用認証子P’’との3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1’’を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第2のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数R’’及び上記共有使い捨て鍵K’’と、上記セッション用認証子P’’との3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1’’を計算して保存するステップとが行われ、

初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、
第1のワンタイムキー生成用携帯通信端末が上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
第1のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップと、

第2のワンタイムキー生成用携帯通信端末が上記セッション用認証子P’’、上記共有使い捨て鍵K’’及びKi+1’’の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
第2のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子P’’、上記共有使い捨て鍵K’’及びKi+1’’の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
第2のワンタイムキー生成用携帯通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
第2のワンタイムキー生成用携帯通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法にもある。
上記のワンタイムパスワード型認証方法は、本発明のワンタイムパスワード型認証システムにおいて実施されることが特に好適な方法である。
上記方法は、ユーザの秘密情報ではなく、各セッションごとに更新される使い捨ての秘密鍵を用いて認証子を作成する。そしてユーザの秘密情報は、はじめに使い捨ての秘密鍵を作成するためだけに用いられるため、本質的にはユーザとサーバの端末上に残らずネットワーク上を流れることもない。そのために秘密情報に関する安全性を最大限に確保すると同時に、携帯端末の紛失等に対するユーザの不安を最小限にすることができる。また、例えばアクセス権を他人に貸与するためにワンタイムキーを生成するための相互認証の通信を、その他人の目前で行うことにより認証のための通信をしている事実を知られてしまい、それによって通信を傍受する機会を与えてしまったとしても、その他人はユーザの秘密情報を知ることはできず、新たなワンタイムキーの生成のための情報を得ることもできないため、本発明の方法は他人にアクセス権を一時的に貸与するためには特に便利で安全である。
上記方法は、本発明のシステムにおいて実施されることが特に好適な方法であるため、本発明のシステムの種々の態様に対応した態様とすることが可能であり、対応する利点を有する。
すなわち、上記方法は、ワンタイムパスワード(ワンタイムキー)を他人に伝えることによりアクセス権を一時的に貸与するために適したものとなっており、さらに、複数のワンタイムキー生成用携帯通信端末を使用する場合には、権限ある2人のユーザがワンタイムキーを一人の他人に伝えることにより、アクセス権を一時的に貸与するために特に適したものとなっている。さらに通信端末を付加してゆくことにより、それに応じてワンタイムキーの生成の権限を有するユーザをさらに多く参加させることができる方法とすることが可能である。
また、上記方法は、初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合により、接続許可と判断して以後の通信を可能とするステップが、入力されるべき全てのワンタイムキーについて行われた後に、
認証サーバが、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作するステップが行われる方法とすることが好ましい。コンテンツへのアクセス制御を容易にするためである。
また、上記方法は、初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップが行われる方法とすることが好ましい。その他人に信用や貸与の目的等に応じて、ワンタイムキーの有効時間を任意に設定できれば、ワンタイムパスワード(ワンタイムキー)を他人に伝えることによりアクセス権を一時的に貸与するために特に適したものとすることができるからである。
また、上記方法は、初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップを含み、且つ、
初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理において、上記有効時間を任意に設定した場合にワンタイムキー生成用携帯通信端末に表示されるワンタイムキーの文字列の所定の一部の長さを、設定した有効時間の長さに対応させて長くして、その後の表示、入力、送信、比較判断の各ステップに使用する方法とすることが好ましい。
ワンタイムキーの文字列はもともとは長い文字列となる。しかしワンタイムキーの文字列は短いほうが、記憶、伝達、入力に便利である。そのために本来得られたワンタイムキーの一部の文字列を端末に表示して、ユーザはその一部の文字列のみをその後の処理に使用する方式を用いることが便利である。本発明のシステム及び方法においても、その方式を使用することが可能である。しかしその一方で、ワンタイムキーの文字列が短くなると、全数探索攻撃に対する安全性は低下する。そして、ワンタイムキーの有効時間は短い方が全数探索攻撃に対しては安全である。そこで、本来得られたワンタイムキーの一部の文字列を端末に表示してその後の処理に使用する方式を用いる場合において、利便性と安全性を両立しうるように、設定したワンタイムキーの有効時間を長くする場合には、それに応じて使用するワンタイムキーの文字列の一部の長さを、より長いものとすることが好ましい。表示されるワンタイムキーの文字列の長さと有効時間との両方をユーザに任意に設定させることも可能ではあるが、ワンタイムキーの有効時間に対して、表示されるワンタイムキーの文字列の長さを自動的に対応させて表示することにより、上記利便性と安全性のバランスをユーザがその都度判断しなくてもすむようにできる。
上記ワンタイムキー生成用携帯通信端末として、通信機能を有するPDA等をも含む種々の携帯端末を使用することができるが、携帯電話端末、特にJAVA(登録商標)搭載携帯電話端末を使用することが好ましい。ログイン用通信端末として、種々の端末を使用することができ、一般にはパーソナルコンピュータ(PC)端末を使用することができるが、インターネット接続機能を備えた携帯電話端末を使用することも本発明の好適な実施の態様である。
さらに本発明は、上記ワンタイムパスワード型認証方法を行うことを特徴とするワンタイムパスワード型認証システムにもある。
本発明のワンタイムパスワード認証システム及び認証方法は、従来の方式によるワンタイムパスワード認証システムに比較して、ユーザにとっての作業性と利便性とを大幅に向上させている。すなわち、複雑なチャレンジコードを打ち込んだりする必要がなく、別途専用のワンタイムパスワード発生器を持ち運ぶ必要もない。
さらに、種々の態様によりユーザにとっての作業性と利便性とを大幅に向上させた結果、本発明のワンタイムパスワード認証システム及び認証方法を使用すれば、アクセス権限を有するユーザがワンタイムパスワード(ワンタイムキー)を他人に伝えることによりアクセス権を一時的に貸与するという従来ではほとんど想定できなかったワンタイムパスワードの用途を容易に実現することができる。
また、本発明のワンタイムパスワード認証システム及び認証方法は、あたかも部屋の扉に対してあらかじめ二重に鍵をかけておき、そのうちの内鍵を自らが開けた後に、残った外鍵を他人に開けさせることに相当するような手順とすることができ、アクセス権を一時的に貸与することを前提とするコンテンツ配信においても、外鍵が攻撃されても内鍵がかかっていれば大丈夫であるという安心感のある認証システム及び認証方法となっている。
本発明をその実施の態様を用いて、以下に詳細に説明する。本発明はその具体的実施の態様に限定されるものではない。本発明は以下の説明でシステムとして説明される場合にも、方法として説明される場合にも、システム及び方法の両方にある。
[システム概要]
ワンタイムパスワードを用いた相互認証システム(以下、本システム) の概要を説明する。本システムは例えば一般のWebサーバに対する通信に際して、ワンタイムパスワードによる認証と、通信路暗号化の2つの機能を付加的に実現することができる。
本システムは例えば携帯端末と認証サーバからなるものとすることができる。ユーザは携帯端末から認証サーバにアクセスすることでワンタイムパスワードによる相互認証を行う。その後、携帯端末上に表示されるパスワード(ワンタイムキー)をパーソナルコンピュータなどのブラウザ上で入力することにより目的のコンテンツにアクセスすることができる。本システムでは携帯端末をいわゆる認証トークンとして用いるため、出張先などからでもワンタイムパスワードを用い
て相互認証を行うことができる。
図1に本システムのシステム構成の一例を示す。
[開発環境]
本システムは種々の開発環境で実現することが可能である。例えば好ましい一例として、携帯端末での処理を行うi アプリ、サーバ側での処理を行うJava(登録商標) サーブレット、認証情報の管理を行うデータベースからなるものとすることができる。本システムの開発環境の好ましい一例を次に示す。
開発環境
OS : Linux 系列
Web サーバ : Apache1.3
Java(登録商標) : J2SDK1.4.1
i アプリ : DoJa3.0(505i シリーズ対応)
Servlet コンテナ : Tomcat3.2(Servlet API2.2)
RDBMS : PostgreSQL7.2.3
[認証処理]
以下に携帯端末とサーバ間での相互認証処理について説明する。相互認証処理は例えばユーザの携帯端末(i アプリ) と認証サーバ(Java(登録商標) サーブレット) との通信によって実現される。以下では認証を行うサーブレットを認証サーブレットと表記する。認証処理はサーバ認証機能を有するワンタイムパスワード方式を用いて行われることが好ましい。
以下にさらに具体的な処理の流れを説明する。
[初回登録処理]
ユーザが最初に本システムを使用する際には、まず初回登録処理を行うことが必要である。例えば、初めてi アプリを起動したときは初回登録処理を行う。ユーザは初回登録としてユーザ名と認証用パスワードを入力し、ブラウザ入力用パスワードであるワンタイムキーの有効時間を選択する。有効時間は任意の値を御入力するものとすることもできるが、幾つかの選択肢から選択するものとすることが便利である。この有効時間の選択は、いったんこの初回登録処理の入力の際に行うこととされるが、その後のワンタイムキーの生成の際に新たに別な有効時間を選択し直すことは当然に可能としている。上記のユーザ名と認証用パスワードはあらかじめユーザとサーバで共有しておく必要がある。認証用パスワードがユーザの秘密情報であり、これを元に認証プロトコルのK-1,K0 が生成される。ここで入力された情報は初回登録時に、所定の記憶領域、例えばスクラッチパッドに保存されるものとすることができる。あるいはさらに初回登録が完了したことを示す情報がスクラッチパッドに保存される。以降はこれらの情報を用いて認証を行う。
図1を使用して、この初回登録処理をさらに説明する。
携帯電話には、ユーザ名と認証用パスワードを入力する手段が備えられている。認証サーバは、ワンタイムキーの生成のための認証サーバ手段として認証サーブレットと認証データベース(認証DB)を有し、またログイン用認証サーバ手段としてコンテンツ配信サーブレットとワンタイムキーデータベース(ワンタイムキーDB)を有している。認証サーブレットは、以下のステップを行うための計算手段と、携帯電話との通信手段と、乱数発生手段と、認証DBにアクセスして情報を保存及び呼び出しする手段と、ワンタイムキーDBに情報を送信する手段を有している。認証DBは、ユーザの秘密情報である文字列、例えば初回登録のための認証用パスワードの文字列、及び次々に生成されてゆく共有使い捨て鍵の文字列を認証サーブレットから受信して保存し、認証サーブレットの要求によりこれを呼び出して認証サーブレットへ送信する手段を有している。ワンタイムキーDBは、次々に生成されてゆくワンタイムキーの文字列、及びこれと関連づけられた有効時間情報、例えばワンタイムキーの生成時刻と設定された有効時間又はワンタイムキーの有効時間の終了時刻とを認証サーブレットから受信して保存する手段を有している。図1のそれぞれの手段は、上記に加えてさらに以降に説明するそれぞれのステップを行う手段を備えている。
そして、まず初回登録のための認証処理のために、ワンタイムキー生成用携帯通信端末である携帯電話と、認証サーバとが無線通信、好ましくはi−モード等のパケット通信が行われ、通常の通信接続を確立するステップが行われる。通信は、秘密通信路とすることが好ましく、これには例えばSSLなどを使用することができる。次に携帯電話から認証サーバの認証サーブレットへ登録要求が送信されるステップが行われる。この登録要求により初回登録処理として行われる相互認証が開始される。
例えば、携帯電話から入力されたユーザ名が、認証サーバの認証サーブレットへ送信されるステップが登録要求として行われる。登録要求が認証サーブレットにより受信されると、認証サーブレットで生成されたセッション用乱数Rが秘密通信路で送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
携帯電話が、共有使い捨て鍵K−1を、上記セッション用乱数Rとあらかじめユーザによって入力されたユーザーの秘密情報文字列Sとの2者からハッシュ関数による計算処理によって生成して記憶領域に保存し、共有使い捨て鍵Kを、上記ユーザーの秘密情報文字列S及び上記共有使い捨て鍵K−1と、上記セッション用乱数Rとの3者からハッシュ関数による計算処理によって生成して記憶領域に保存するステップと、
携帯電話から上記共有使い捨て鍵K−1及びKが秘密通信路で送信されて認証サーブレットによって受信されるステップと、
認証サーブレットが上記受信した共有使い捨て鍵K−1及びKを認証DBへ保存するステップとが行われる。
[認証処理]
初回登録が完了すれば、以後はログインに必要な認証処理を行うことが可能になる。認証は、1. 認証要求、2. サーバ認証、3. ユーザ認証、4. ワンタイムキー生成、という手順で行うことができる。
[認証要求]
ユーザ端末は認証要求として、例えば認証サーブレットにPOST データとして[Request = ユーザ名] を送信する。認証要求を受け取った認証サーブレットは疑似乱数Ri を生成し、Ri の認証子h(Ri||Ki-1||Ki) を計算する。その後、Riを一時領域に保存しRi, h(Ri||Ki-1||Ki) をユーザ端末に送信する。
図1を使用して、初回登録処理の説明に続けてさらにこの認証要求処理を説明する。
携帯電話にはユーザ名を入力し、認証サーブレットへと送信する手段が備えられている。この場合に、ユーザ名を携帯電話の記憶する手段を備えてこの記憶領域にユーザ名を保存しておけば、毎回の入力の手間を省くことができて便利である。
そして例えば、携帯電話から認証要求としてユーザ名が送信されて認証サーバによって受信されるステップと、
認証サーブレットが、認証サーブレットの有する乱数発生手段によってセッション用乱数Rを生成して、初回登録処理の際に生成した共有使い捨て鍵Ki−1及びKを認証DBから呼び出して受信し、このセッション用乱数R、有使い捨て鍵Ki−1及びKの3者からハッシュ関数による計算処理を行うことによってハッシュ値が生成されるステップと、
認証サーバから第i番目のセッション用乱数Rと、セッション用乱数R、共有使い捨て鍵Ki−1及びKの3者から生成された上記ハッシュ値とが送信されて携帯電話によって受信されるステップとが行われる。
[サーバ認証]
Ri とRi の認証子を受け取ったユーザ端末は、記憶領域例えばスクラッチパッドからKi-1,Ki を読み込み、Ri,Ki-1,Ki を連結して一方向性ハッシュ関数にかける。得られたハッシュ値とRi の認証子を比較することでサーバ認証を行う。
図1を使用して、認証要求処理の説明に続けてさらにこのサーバ認証処理を説明する。
例えば、携帯電話によって、上記受信したセッション用乱数Rと、携帯電話の記憶領域に保存されていた共有使い捨て鍵Ki−1及びKとの3者から、認証サーブレットが使用したものと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
携帯電話が、認証サーブレットから受信した上記ハッシュ値と、携帯電話で生成した上記ハッシュ値とを比較判断するステップと、
携帯電話が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーブレットから受信した上記セッション用乱数Rが検証されたものと判断して認証処理を継続するステップと、
携帯電話が、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子Pを生成するステップと、
携帯電話から上記セッション用認証子Pが送信されて認証サーブレットによって受信されるステップとが行われる。
この処理によってサーバ認証がなされたこととなる。なお、上記の比較判断により2者のハッシュ値が一致していない場合には、認証サーブレットから受信した上記セッション用乱数Rが検証されないものと判断して、サーバ認証処理は中断される。
[ユーザ認証]
サーバ認証に成功するとユーザ端末はセッションの認証子(ワンタイムパスワード) Pi を生成し、例えばPOST データとして[Auth = ユーザ名, Pi] をサーバに送信する。サーバは受け取ったPi を検証することでユーザ認証を行う。ユーザ認証に成功するとサーバはユーザ端末に認証成功を通知する。
図1を使用して、サーバ認証処理の説明に続けてさらにこのユーザ認証処理を説明する。
例えば、認証サーブレットが、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’を生成するステップと、
認証サーブレットが、携帯電話から受信した上記セッション用認証子Pと、認証サーブレットにより生成された上記セッション用認証子P’とを比較判断して、セッション用認証子Pとセッション用認証子P’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーブレットが、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して算出し、これが認証DBに送信され、認証DBにより受信され保存されるステップと、
認証サーブレットから上記接続許可が送信されて携帯電話によって受信されるステップとが行われる。
この処理によってユーザ認証がなされたこととなる。なお、上記の比較判断により、セッション用認証子Pとセッション用認証子P’との2者が一致していない場合には、接続不許可と判断して、ユーザ認証処理は中断される。
[ワンタイムキー生成]
相互認証に成功するとユーザ端末、サーバ共にワンタイムパスワードからワンタイムキーを計算する。ワンタイムキーの計算式は次のようになる。
ワンタイムキー= h(Pi||Ki||Ki+1)
得られたワンタイムキーは例えば128bit であるが、これがアルファベット大文字小文字52 文字に数字10 文字、*、@ の2 文字をあわせた合計64 文字によって64 進数として表現される。つまりこの場合には、1 文字は6bit を表すことになる。ユーザ側の携帯端末では、求めたワンタイムキーのうちから、適切な長さの文字列を選んで表示することが適切である。例えば、始めの4 文字もしくは8 文字が携帯端末に表示されることとできる。
図1を使用して、ユーザ認証処理の説明に続けてさらにこのワンタイムキー生成証処理を説明する。
例えば、携帯電話が上記通信許可の受信の後に、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して記憶領域に保存するステップが行われる。
そしてさらに、携帯電話が上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
携帯電話の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップとが行われる。上述のように、ワンタイムキーの文字列の全部を表示することとするのではやや長すぎて不便でもあるために、例えば、始めの4 文字もしくは8 文字が表示されるステップとすることが好ましい。
ユーザはこの携帯電話の表示部に表示されたワンタイムキーを視認して、以後のログインに使用することとなる。このワンタイムキーは、使い捨てのものであり、アクセス権の一時貸与のためにユーザが他人に知らせることができるものである。
また、このワンタイムキーの生成は、認証サーバ側でも行われており、例えば認証サーブレットが、上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成し、これをワンタイムキーDBに送信して、ワンタイムキーDBが記憶領域にこのワンタイムキーの文字列を保存するステップが行われる。
ここまでのワンタイムキーの生成によってあたかも、部屋の扉にかけた内鍵と外鍵の二重の鍵のうちで、内鍵が開かれて、その外鍵を他人に渡す準備ができた状態ということができる。
[ワンタイムキーの有効時間]
得られたワンタイムキーは上述のように、例えば64 進数4 文字もしくは8 文字で表現されるため、その場合にはサイズは24bit もしくは48bit である。これは全数探索で十分に推測し得る長さである。そこで、ワンタイムキーに有効期限を設けることで全数探索に対する安全性を確保することが好ましい。有効時間はその適切な一例として、30 秒、60 秒、3 分、1 時間、1 日から選択可能なものとすることができる。この場合には、例えば有効時間とワンタイムキー長は、30 秒、60 秒、3 分の場合には、4 文字の長さ、1 時間、1 日の場合には、8 文字の長さという関係を持つようにすると安全性と利便性のバランスが適切である。有効時間は初回登録時に設定することもできるが、以降も有効時間変更画面で変更可能とすることが好ましい。
図1を使用して、ワンタイムキー生成証処理の説明に続けてさらにこのワンタイムキーの有効時間に関して説明する。
なお、図1のユーザPC(パーソナルコンピュータ)は、ワンタイムキーを使用した認証、すなわちいわゆるログインに使用する端末である。ユーザはこのPC端末を使用して、コンテンツ配信サーブレットと通信して、ログインし、認証されてた後に種々のコンテンツの配信を受ける。従って、ユーザPCは、ログインのためのワンタイムキーの入力手段、コンテンツ配信サーブレットとの通信手段、配信コンテンツの受信及び表示手段等を有している。また、ログイン用認証サーバ手段とは、ワンタイムキーDBとコンテンツ配信サーブレットとを備えたものである。
例えばこのような場合には、携帯電話は、生成するワンタイムキーの有効時間として任意の有効時間の値を入力又は選択する手段と、入力又は選択された有効時間の値を、通信による相互認証において認証サーブレットに送信する手段とを有し、これによってユーザの入力又は選択した有効時間情報を認証サーブレットへ送信し、
認証サーブレットは、前記有効時間の値を通信による相互認証において携帯電話から受信する手段と、コンテンツ配信サーブレットにワンタイムキーを送信する際に該ワンタイムキーの生成された時刻の値と前記有効時間の値とを関連づけて送信する手段とを有し、これによってユーザの入力又は選択した有効時間情報をログイン用認証サーバ手段へと送信し、
ログイン用認証サーバ手段では、備えられたワンタイムキーDBは、認証サーブレットから前記関連づけられたワンタイムキーと、ワンタイムキーの生成された時刻の値及び有効時間の値とを受信して保存し、すなわちこれによってユーザの入力又は選択した有効時間情報を保存し、さらにコンテンツ配信サーブレットの要求によりこれをコンテンツ配信サーブレットへ送信する手段を有し、
さらにログイン用認証サーバ手段では、備えられたコンテンツ配信サーブレットは、ワンタイムキーDBから上記関連づけられたワンタイムキーと、ワンタイムキーの生成された時刻の値及び有効時間の値を受信し、ユーザPCから受信したワンタイムキーとワンタイムキーDBから受信したワンタイムキーとを比較判断して一致する場合において、ユーザPCから受信したワンタイムキーの受信時刻がそのワンタイムキーの有効時間内であるかどうかをさらに比較判断して、有効時間内でない場合にはワンタイムキーの文字列が一致する場合であってもログインを許可しないこととし、全てのワンタイムキーが文字列として一致して且つ全てのワンタイムキーが有効時間内である場合にはログインを許可することとする比較判断手段とを有するワンタイムパスワード型認証システムとすることで適切な実施が可能である。
すなわち、携帯電話が、認証サーブレットとの通信による相互認証によって、生成するワンタイムキーの有効時間を任意に設定する手段を備えたものであり、この有効時間は任意の時間を入力するものとすることも所定の候補時間から選択するものとすることも可能である。この有効時間は、ワンタイムキーの生成された時刻と関連づけられて以後の処理に用いられ、ユーザPCから受信した各ワンタイムキーの受信時刻と比較されるが、この関連づけには種々の方式があり、例えば有効時間とワンタイムキー生成時刻とを1組の値としてワンタイムキーDBに保存しておき、コンテンツ配信サーブレットのワンタイムキー受信時刻が、ワンタイムキー生成時刻から有効時間内であるかどうかをその都度判断する方式、あるいは、ワンタイムキーの生成時刻に有効時間を加算して算出した時刻をワンタイムキーの有効時間の終了時刻としてワンタイムキーDBに保存しておき、コンテンツ配信サーブレットのワンタイムキー受信時刻がその有効時間の終了時刻以前の時刻であるかどうかを判断する方式等を使用することができる。
[コンテンツ配信処理]
さらに以下に実際にユーザ端末からコンテンツサーバへ接続する処理を例として説明する。
コンテンツの配信はユーザのPC端末等が直接コンテンツサーバにアクセスするのではなく、認証サーバ内のコンテンツ配信サーブレットを介して行うことが適切である。コンテンツサーバにおいて認証を必要とする領域へは、コンテンツ配信サーブレットからの通信のみを受け付けるようにする。
上述のように携帯電話での認証に成功すると適切な長さと有効時間のワンタイムキーが表示される。コンテンツサーバへログインするためにユーザのPC端末等は、まず認証サーバのログインページにアクセスする。ログインページで入力フォームにワンタイムキーが入力されると、コンテンツ配信サーブレットが呼び出され、コンテンツサーバへのアクセスが可能となる。さらに以下にコンテンツ配信サーブレットの動作を説明する。
図1を使用して、ワンタイムキーの有効時間に関する説明に続けてさらにこのコンテンツ配信処理について説明する。
コンテンツ配信処理の最初の段階としてのユーザのログインは、ユーザPCにワンタイムキーを入力することにより行われ、すなわち、携帯電話に上記表示されたワンタイムキーの文字列が入力されるステップと、
携帯電話から上記入力されたワンタイムキーの文字列が送信されてコンテンツ配信サーブレットによって受信されるステップと、
コンテンツ配信サーブレットが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とし、この2者が一致していない場合には、接続不許可と判断して以後の通信を不可能とするステップとが行われる。これにより、既に述べた内鍵と外鍵の両方の鍵が開いた状態となり、すなわちログインされ、以後のコンテンツ配信を受けることが可能となる。なお、ワンタイムキーが不一致である場合、あるいはワンタイムキーが一致しても、上述のような有効時間情報の比較の結果、有効時間内のものではない場合には、接続不許可と判断して、ログインはなされず、以後のコンテンツ配信を受けることはできない。
これらの通信もさらにSSL等を使用すると安全性の点から好ましい。
[コンテンツ配信サーブレット]
コンテンツ配信サーブレットの役割はプロキシとしてコンテンツサーバの代役を行うことである。コンテンツ配信サーブレットの処理は初期処理と通常の転送処理に分けられる。ユーザ端末と認証サーバ間のセッションを維持するためにワンタイムキーが用いられる。通常、ワンタイムキーは例えばCookie に格納されて送受信されるが、初回だけはユーザが手動で入力する必要がある。そこで初期処理用にログインページとしてワンタイムキーの入力フォームを用意すると便利である。図2 に上述のワンタイムキーを使用した初期処理の流れを示す。図3 に初期処理以降の通常のコンテンツ閲覧時の転送処理の流れを示す。
図1を使用して、コンテンツ配信処理の説明に続けてさらにこのコンテンツ配信サーブレットによる処理についてより詳細に説明する。
図1では、ユーザPCはコンテンツサーバと直接に通信してそのコンテンツ、例えばHTTPファイルの配信を受けることはできない構成となっている。すなわち、ユーザPCが直接に通信できるのは、コンテンツ配信サーブレットのみであり、このコンテンツ配信サーブレットがユーザPCからのHTTPリクエストをコンテンツサーバに送信し、コンテンツサーバからのHTTPレスポンスをユーザPCに送信することによってのみ、ユーザPCはHTTPファイルの配信を受けることができる。そして、コンテンツ配信サーブレットは、ワンタイムキーを入力したログインによる認証の後でなければ、上記の取り次ぎの動作、すなわちプロキシとしての動作を行わない。このような構成によって、ワンタイムキーによりログイン後したユーザPCのみが、コンテンツの配信を受けることができるようになっている。
図2は、ワンタイムキーによるログイン時の初期処理の流れを示す説明図である。認証サーバとしてはログインに使用される手段のみを記載している。ログインにあたってはフォームを備えたログインページを設置して、使用するようしている。この初期処理においてワンタイムキーはフォームに入力して送信するようにしている。
図3は、ログイン後の通常の転送処理の流れを示す説明図である。認証サーバとしてはログイン後に使用される手段のみを記載している。この場合にはワンタイムキーはCookie に格納して自動的にユーザPCから送信されてコンテンツ配信サーブレットに受信されるようにしている。ただし、この場合にもコンテンツ配信サーブレットは、受信したワンタイムキーの一致と有効時間は常に検証しており、ログイン時と同様にワンタイムキーDBからワンタイムキーの文字列及び有効時間情報を受信して、認証に使用している。従って、ユーザPCがアクセス権を一時的に貸与された他人によって継続的に使用されていたとしても、その使用中にワンタイムキーの有効時間が過ぎれば、コンテンツの配信を受けることはできない。
[暗号化処理]
ユーザ端末と認証サーバ間、および認証サーバとコンテンツサーバ間は暗号化して通信を行うことが適切である。通信の暗号化には例えばSSL を用いる。ここで、SSL は通信データの暗号化のためだけに用いるのであり、認証機能は必要としない。
[ハイパーリンクの管理]
上述のように本システムではユーザ端末とコンテンツサーバ間にプロキシとして認証サーバを挟む構成になっている。そのため、ユーザ端末側からのコンテンツサーバへのアクセスは全て認証サーバが受ける必要がある。ここで、コンテンツサーバ側で自サーバ内へハイパーリンクが張られていた場合、コンテンツサーバを介さずにアクセスすることになってしまう。この対策法として、コンテンツサーバからのHTTP レスポンス(HTML) をユーザ端末に転送する前に認証サーバでリンクを張り変えることが考えられる。つまり、コンテンツサーバ内に張られているハイパーリンクを全て認証サーバへのアクセスへと書き換える。そして、ユーザ端末からのアクセスを受けた認証サーバがコンテンツサーバへとリクエストを転送する。こうすることでコンテンツサーバ内に置かれているファイル自体は書き換えずにリンクを辿ることができる。
[コンテンツサーバの設定]
コンテンツサーバは一般に公開する領域は従来通りでよいが、認証および暗号化を適用したい領域はアクセス制限をかけておく必要がある。認証、および暗号化を行う領域へのアクセスは認証サーバのみ可能であるように設定する。
[本発明の異なる実施の形態]
以下に本発明の異なる実施の形態を説明する。
本発明のシステム及び方法では、ワンタイムキー生成用携帯通信端末を複数使用して、実施することが可能である。原理的には使用できるワンタイムキー生成用携帯通信端末の台数には上限はなく実施することが可能であり、それぞれのワンタイムキー生成用携帯通信端末は、本質的には同じ相互認証をワンタイムキー生成用認証サーバ手段との間で行って、ワンタイムキーを生成することができ、その場合には、生成したワンタイムキーの数に対応した数のワンタイムキーをユーザPCから送信して、ログイン用認証サーバ手段との間で認証をすればよい。ログイン後のコンテンツの配信についても、本質的にはワンタイムキー生成用携帯通信端末が1台である場合と異なるところがない。
例えば、携帯端末を2台使用して実施することが可能であり、これについて以下、実施の形態を説明する。以下の説明でシステムとして説明される場合にも、方法として説明される場合にも、本発明はシステム及び方法の両方にあり、本発明は以下の実施の形態によって限定されるものではない。
すなわち、第1のワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、第2のワンタイムキー生成用携帯通信端末と、該第1のワンタイムキー生成用携帯通信端末、該ログイン用通信端末及び該第2のワンタイムキー生成用携帯通信端末に接続する認証サーバとを使用するワンタイムパスワード型認証方法であり、
携帯端末を使用する初回登録処理、初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理、及び初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、

ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
第1のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数Rが秘密通信路で送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第1のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1を、上記セッション用乱数Rとユーザーの秘密情報文字列Sとの2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Kを、上記ユーザーの秘密情報文字列S及び上記共有使い捨て鍵K−1と、上記セッション用乱数Rとの3者からハッシュ関数による計算処理によって生成して保存するステップと、
第1のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1及びKが秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵K−1及びKを保存するステップと、

第2のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
認証サーバからセッション用乱数R’’が秘密通信路で送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第2のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1’’を、上記セッション用乱数R’’とユーザーの秘密情報文字列S’’との2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵K’’を、上記ユーザーの秘密情報文字列S’’及び上記共有使い捨て鍵K−1’’と、上記セッション用乱数R’’との3者からハッシュ関数による計算処理によって生成して保存するステップと、
第2のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1’’及びK’’が秘密通信路で送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信した共有使い捨て鍵K−1’’及びK’’を保存するステップとが行われ、

初回登録完了後の第i回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理として、
第1のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数R、共有使い捨て鍵Ki−1及びKの3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第i番目のセッション用乱数Rと、セッション用乱数R、共有使い捨て鍵Ki−1及びKの3者から生成された上記ハッシュ値とが送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第1のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Rと、第1のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1及びKとの3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第1のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第1のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第1のワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Rが検証されたものと判断して認証処理を継続するステップと、
第1のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子Pを生成するステップと、
第1のワンタイムキー生成用携帯通信端末から上記セッション用認証子Pが送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’を生成するステップと、
認証サーバが、第1のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Pと、認証サーバにより生成された上記セッション用認証子P’とを比較判断して、セッション用認証子Pとセッション用認証子P’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第1のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、

第2のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
認証サーバによりセッション用乱数R’’、共有使い捨て鍵Ki−1’’及びK’’の3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
認証サーバから第i番目のセッション用乱数R’’と、セッション用乱数R’’、共有使い捨て鍵Ki−1’’及びK’’の3者から生成された上記ハッシュ値とが送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第2のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数R’’と、第2のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1’’及びK’’との3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
第2のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第2のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
第2のワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数R’’が検証されたものと判断して認証処理を継続するステップと、
第2のワンタイムキー生成用携帯通信端末が、上記セッション用乱数R’’と上記共有使い捨て鍵K’’との2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’’を生成するステップと、
第2のワンタイムキー生成用携帯通信端末から上記セッション用認証子P’’が送信されて認証サーバによって受信されるステップと、
認証サーバが、セッション用乱数R’’と上記共有使い捨て鍵K’’との2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’’’を生成するステップと、
認証サーバが、第2のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子P’’と、認証サーバにより生成された上記セッション用認証子P’’’とを比較判断して、セッション用認証子P’’とセッション用認証子P’’’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
認証サーバが、上記セッション用乱数R’’及び上記共有使い捨て鍵K’’と、上記セッション用認証子P’’との3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1’’を計算して保存するステップと、
認証サーバから上記接続許可が送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
第2のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数R’’及び上記共有使い捨て鍵K’’と、上記セッション用認証子P’’との3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1’’を計算して保存するステップとが行われ、

初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、
第1のワンタイムキー生成用携帯通信端末が上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
第1のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップと、

第2のワンタイムキー生成用携帯通信端末が上記セッション用認証子P’’、上記共有使い捨て鍵K’’及びKi+1’’の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
第2のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
認証サーバが、上記セッション用認証子P’’、上記共有使い捨て鍵K’’及びKi+1’’の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
第2のワンタイムキー生成用携帯通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
第2のワンタイムキー生成用携帯通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることによって、本発明を実施することができる。
本発明の実施において、特に好適である「サーバ認証機能を有するワンタイムパスワード方式」について、その理論的背景と理論的検証の実施を、学術的提案の形式で以下に説明する。本発明の内容は以下の説明によって限定されるものではない。以下の説明でしようする用語及び記号は、以下の説明中において整合するように記載されている。
[序]
ワンタイムパスワード方式としてLamport 方式、CINON、PERM、SAS、OSPA、SAS-2 などがある。Lamport 方式 はあらかじめ一方向性ハッシュ関数を複数回適用したデータをサーバ側に保存しておき、ユーザがハッシュ関数の適用とは逆順にデータをサーバに示すことで認証される方式である。Lamport 方式にはあらかじめ登録されていた認証情報を使い切るたびに再設定する必要があることや、ユーザ側で必要とされる計算量が多いことなどの問題点があった。清水らは認証情報の再設定が必要なく、ユーザ側での計算量も少ないCINON (Chained One-Way Data Verification Method)を提案した。しかし、Lamport 方式、CINON ともにユーザ側で何らかの認証情報を保持しておく記憶媒体が必要であり、特にCINON はユーザ側で擬似乱数を生成できる必要があった。そこで、清水らはユーザ端末側に記憶媒体や擬似乱数生成装置がない状況での認証を実現する方式としてPERM (Privacy Enhanced informationReading and writing Management method) を提案した。上記のLamport 方式、CINON、PERM はいずれもMan in the Middle attack などの通信回線への能動的な攻撃には対応できない方式であった。そこでMan in the Middle attack への耐性を持った認証方式としてSAS(Simple And Secure password authenticationprotocol) が提案された。SAS はMan in the Middleattack への耐性を持ち、ユーザ側で必要とされる計算量もCINON やPERM よりも低い方式であるが、PERMとは違いユーザ側で擬似乱数を生成する必要があった。さらに、Replay attack やDenial of Service attack が成立することが示された。その報告ではReplay attackとDenial of Service attack に耐性のある認証方式としてOSPA (Optimal Strong-Password Authentication) が提案されている。OSPA はユーザ側で必要とされる計算量がSAS と同程度であり、ユーザ側に擬似乱数生成装置や記憶領域を必要としない方式であるが、Impersonationattack が成立することが示された。また、上記の各種攻撃法に耐性があり、サーバ認証が可能である方式としてSAS-2 が提案されている。本稿では、サーバ認証が可能であり、各種攻撃法に耐性のある新しい認証方式を提案する。提案方式はユーザの秘密情報ではなく、各セッションごとに更新される使い捨ての秘密鍵を用いて認証子を作成する。ユーザの秘密情報は、はじめに使い捨ての秘密鍵を作成するためだけに用いられるため、ユーザとサーバの端末上に残らずネットワーク上を流れることもない。
[記号の定義]
以下の説明で用いる記号を次のように定義する。
Figure 2006004020
[提案方式]
提案方式はサーバ認証機能を有するワンタイムパスワード認証方式である。提案方式ではサーバの送信する情報をクライアント側で認証し、クライアントの送信する情報をサーバ側で認証する。また、提案方式ではセッションごとに更新される使い捨て鍵を用いて認証が行われる。ユーザの秘密情報は登録フェーズにおいて使い捨て鍵を生成するためだけに用いられ、即座に削除されるためユーザ端末やサーバ上に残らず、ネットワーク上を流れることもない。
[プロトコル]
プロトコル提案プロトコルは登録フェーズと認証フェーズに分けられる。登録フェーズは初めに一度だけ行われる。認証フェーズはユーザがログインする度に毎回行われる。登録フェーズの手順を図4、認証フェーズの手順を図5 に示す。
[登録フェーズ]
A は次のように初回登録を行う。
Figure 2006004020
[認証フェーズ]
A のi 回目のログインに対して次のように認証を行う。
Figure 2006004020
[安全性の評価]
代表的な攻撃手法であるMan in the Middle attack、Replay attack、Denial of Service attack、Impersonationattack についての耐性を考察することで提案方式の安全性を評価する。
[Man in the Middle attack]
Man in the Middle (MIM) attack とは、攻撃者E が通信する2 者の間に割り込み、通信データの盗聴や改ざんを行う攻撃である。
提案方式に対してMIM attack を適用することを考える。このとき、E はH の送信するRi を改ざんして偽のデータをA に送り、それに対するA の返答を搾取して正しい返答をH に送信する必要がある。しかし、提案方式ではA は受信したRi を毎回検証するため、E の改ざんを検知できる。また、A の返答はA とH しか知らない使い捨て鍵を用いて生成されるため、E は正しい返答を生成することができない。以上より、提案方式はMIM attack に対して安全であると言える。
[Replay attack]
Replay attack とは過去の認証セッションの通信データをE が盗聴し、再利用することでなりすましを行う攻撃である。提案方式にReplay attack を適用する場合、i 回目のセッションでE が盗聴できる通信データは次の通りである。
Ri, h(Ri||Ki-1||Ki)
Pi = h(Ri||Ki)
これらのデータからi 回目以降のセッションの通信データや使い捨て鍵が作成できれば攻撃は成功であると言える。仮にE が各セッションにおける乱数を自由に選択できるとする。例えばRj = 0, j = 0, 1, 2,:::とする。このとき使い捨て鍵の更新は次のように表せる。
Ki+1 = h2(Pi||Ki)
E はPi は知り得るが、Ki を知ることができないため、Ki+1 を作成することはできない。また、i + 1 回目の通信データは次のように表される。
0, h(Ki||Ki+1)
Pi+1 = h(Ki+1)
E はKi+1 が作成できないため、h(Ki||Ki+1) とPi+1 =h(Ki+1) を作成することもできない。以上より、たとえE が自由に乱数を決定できたとしても提案方式はReplayattack に対して安全であると言える。
[Denial of Service attack]
Denial of Service (DoS) attack とはE が通信する2者の正規の認証を不可能にする攻撃である。DoS attackの実現方法として、E がA もしくはH に偽の認証情報を受理させることで誤った認証情報を登録させ、以降の認証セッションを不可能にする方法がある。提案方式に対してDoS attack を適用するには、E がA もしくはH に偽の認証情報を受理させる必要がある。しかし、提案方式ではH からA に送られるRi はh(Ri||Ki-1||Ki) によって検証され、A からH に送られ
るPi はP'i = h(Ri||Ki) によって検証される。Ki を知らないE はh(Ri||Ki-1||Ki),Pi ともに作ることができず、偽の認証情報を受理させることができない。以上より、提案方式はDoS attack に対して安全であると言える。
[既存方式との比較]
以下に既存方式との比較を行う。
[SAS-2 との性能比較]
必要とされる計算量、記憶容量、通信回数、通信量について提案方式とSAS-2 との比較を行う。比較結果を表1 に示す。
Figure 2006004020
必要とされる計算量の大部分はハッシュ関数の処理が占めるため、ハッシュ回数を用いて計算量を評価する。計算量や記憶容量が問われるのは処理能力の低いユーザ側である。ユーザ側での性能に着目すると、提案方式、SAS-2 共にハッシュ回数は4 回で同じである。記憶容量に関しては、0 でない限りは何らかの記憶装置が必要となる。提案方式は一般にSAS-2 より必要とされる記憶容量は大きいが、携帯端末などに実装する場合はその差は問題にはならないと考えられる。通信回数については提案方式では4 回の通信を行っているが、実際に認証用データの通信を行うのは2 回であり、残りの2 回はセッション確立のリクエストや認証成功の通知が行われるのみである。通信量に関しては両方式ともほぼ同じ値になっている。結論として、提案方式はSAS-2 と同程度の性能であると言える。加えて、提案方式は次節に示すようにセッション鍵の更新を行うため、安全性が高い方式であると言える。
[セッションごとの鍵の更新]
Lamport 方式、CINON、PERM、SAS、OSPA、SAS-2 の各方式はいずれも固定の秘密情報を一方向性関数で変換したものを用いて認証子の作成を行っていた。そのため、定期的に秘密情報を更新しなければ同じ秘密情報を長期に渡って使用することになり、時間の経過と共に危険性が高まるという問題点があった。提案方式では認証にユーザの秘密情報を用いるのではなく、各セッションごとに更新される使い捨ての秘密鍵を用いている。秘密情報は登録フェーズにおいて初回の使い捨て鍵を生成するためだけに用いられるため、ユーザやサーバの端末上に残らず、ネットワーク上を流れることもない。提案方式ではネットワーク上を流れる認証子のみならず、ユーザとサーバの各端末で保持されている秘密の情報も各セッションごとに更新されるため、既存方式に比べてより安全性が高い方式であると言える。
[まとめ]
以上のようにサーバ認証機能を有するワンタイムパスワード認証方式を提案した。提案方式では各セッションごとに使い捨て鍵を用いるため、ユーザの秘密情報がユーザやサーバの端末上に残らず、ネットワーク上を流れることもない。また、代表的な攻撃手法であるMIM attack、Replay attack、DoS attack、Imperson ation attack についての耐性を考察し、提案方式がこれらの攻撃に対して安全であることを示した。さらに、SAS-2 との性能の比較を行うことで提案方式がSAS-2 と同程度の性能で、より安全性が高い方式であることを示した。
図1は、本発明のシステム構成の一例を示す説明図である。 図2は、本発明における初期処理の一例を示す説明図である。 図3は、本発明におけるログイン後の通常の転送処理の一例を示す説明図である。 図4は、本発明の登録フェーズの理論的な一例を示す説明図である。 図5は、本発明の認証フェーズの理論的な一例を示す説明図である。

Claims (14)

  1. ワンタイムキー生成用携帯通信端末と、該ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、該ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
    ワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
    ワンタイムキー生成用認証サーバ手段は、ワンタイムキー生成用携帯通信端末との相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
    ログイン用通信端末は、ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
    ログイン用認証サーバ手段は、ワンタイムキー生成用認証サーバ手段から上記ワンタイムキーを受信する手段と、ログイン用通信端末から上記ワンタイムキーを受信する手段と、受信したこれらのワンタイムキーを比較判断して一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システム。
  2. 第1のワンタイムキー生成用携帯通信端末と、第2のワンタイムキー生成用携帯通信端末と、ワンタイムキー生成用携帯通信端末と通信するワンタイムキー生成用認証サーバ手段と、ログイン用通信端末と、ログイン用通信端末と通信するログイン用認証サーバ手段とを備えたワンタイムパスワード型認証システムであり、
    第1のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
    第2のワンタイムキー生成用携帯通信端末は、ワンタイムキー生成用認証サーバ手段との通信による相互認証手段と、ワンタイムキーの生成手段と、該ワンタイムキーの表示手段とを有し、
    ワンタイムキー生成用認証サーバ手段は、第1のワンタイムキー生成用携帯通信端末との相互認証手段と、第2のワンタイムキー生成用携帯通信端末との相互認証手段と、各ワンタイムキーの生成手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
    ログイン用通信端末は、各ワンタイムキー生成用携帯通信端末の表示手段に表示されたワンタイムキーを入力する手段と、該各ワンタイムキーをログイン用認証サーバ手段へ送信する手段とを有し、
    ログイン用認証サーバ手段は、
    ワンタイムキー生成用認証サーバ手段から上記各ワンタイムキーを受信する手段と、
    第1のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第1のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
    第2のワンタイムキー生成用携帯通信端末により生成されてログイン用通信端末から受信したワンタイムキーと、第2のワンタイムキー生成用携帯通信端末との相互認証によって生成されてワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較して一致するかどうかを判断し、
    各ワンタイムキーの組の比較が全て一致する場合には以後のログインを許可し、一致しない場合にはログインを許可しない比較判断手段とを有することを特徴とするワンタイムパスワード型認証システム。
  3. ワンタイムキー生成用携帯通信端末は、生成するワンタイムキーの有効時間として任意の有効時間の値を入力又は選択する手段と、入力又は選択された有効時間の値を、通信による相互認証においてワンタイムキー生成用認証サーバ手段に送信する手段とを有し、
    ワンタイムキー生成用認証サーバ手段は、前記有効時間の値を通信による相互認証においてワンタイムキー生成用携帯通信端末から受信する手段と、ログイン用認証サーバ手段にワンタイムキーを送信する際に該ワンタイムキーの生成された時刻の値と前記有効時間の値とを関連づけて送信する手段とを有し、
    ログイン用認証サーバ手段は、
    ワンタイムキー生成用認証サーバ手段から前記関連づけられたワンタイムキーとワンタイムキーの生成された時刻の値と有効時間の値とを受信する手段と、
    ログイン用通信端末から受信したワンタイムキーとワンタイムキー生成用認証サーバ手段から受信したワンタイムキーとを比較判断して一致する場合において、ログイン用通信端末から受信した各ワンタイムキーの受信時刻がそのワンタイムキーの有効時間内であるかどうかをさらに比較判断して、有効時間内でない場合には、ログインを許可しない比較判断手段とを有する請求項1又は請求項2に記載のワンタイムパスワード型認証システム。
  4. 前記ログイン用認証サーバ手段が、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作する手段を備えた請求項1〜3のいずれかに記載のワンタイムパスワード型認証システム。
  5. 前記ワンタイムキー生成用携帯通信端末として、携帯電話端末を使用する請求項1〜4のいずれかに記載のワンタイムパスワード型認証システム。
  6. 前記ログイン用通信端末として、携帯電話端末を使用する請求項1〜5のいずれかに記載のワンタイムパスワード型認証システム。
  7. ワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、該ワンタイムキー生成用携帯通信端末及び該ログイン用通信端末と通信する認証サーバとを使用するワンタイムパスワード型認証方法であり、
    ワンタイムキー生成用携帯通信端末を使用する初回登録処理、初回登録完了後の第i回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理、及び初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
    ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
    ワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
    認証サーバからセッション用乱数Rが秘密通信路で送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
    ワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1を、上記セッション用乱数Rとユーザーの秘密情報文字列Sとの2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Kを、上記ユーザーの秘密情報文字列S及び上記共有使い捨て鍵K−1と、上記セッション用乱数Rとの3者からハッシュ関数による計算処理によって生成して保存するステップと、
    ワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1及びKが秘密通信路で送信されて認証サーバによって受信されるステップと、
    認証サーバが上記受信した共有使い捨て鍵K−1及びKを保存するステップとが行われ、
    初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理として、
    ワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
    認証サーバによりセッション用乱数R、共有使い捨て鍵Ki−1及びKの3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
    認証サーバから第i番目のセッション用乱数Rと、セッション用乱数R、共有使い捨て鍵Ki−1及びKの3者から生成された上記ハッシュ値とが送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
    ワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Rと、ワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1及びKとの3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
    ワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、ワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
    ワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Rが検証されたものと判断して認証処理を継続するステップと、
    ワンタイムキー生成用携帯通信端末が、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子Pを生成するステップと、
    ワンタイムキー生成用携帯通信端末から上記セッション用認証子Pが送信されて認証サーバによって受信されるステップと、
    認証サーバが、セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’を生成するステップと、
    認証サーバが、ワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Pと、認証サーバにより生成された上記セッション用認証子P’とを比較判断して、セッション用認証子Pとセッション用認証子P’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
    認証サーバが、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、
    認証サーバから上記接続許可が送信されてワンタイムキー生成用携帯通信端末によって受信されるステップと、
    ワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数Ri及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップとが行われ、
    初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、
    ワンタイムキー生成用携帯通信端末が上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
    ワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
    認証サーバが、上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
    ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
    ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
    認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法。
  8. 第1のワンタイムキー生成用携帯通信端末と、ログイン用通信端末と、第2のワンタイムキー生成用携帯通信端末と、該第1のワンタイムキー生成用携帯通信端末、該ログイン用通信端末及び該第2のワンタイムキー生成用携帯通信端末に接続する認証サーバとを使用するワンタイムパスワード型認証方法であり、
    携帯端末を使用する初回登録処理、初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理、及び初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理とが行われる方法であり、
    ワンタイムキー生成用携帯通信端末を使用する初回登録処理として、
    第1のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
    認証サーバからセッション用乱数Rが秘密通信路で送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
    第1のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1を、上記セッション用乱数Rとユーザーの秘密情報文字列Sとの2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵Kを、上記ユーザーの秘密情報文字列S及び上記共有使い捨て鍵K−1と、上記セッション用乱数Rとの3者からハッシュ関数による計算処理によって生成して保存するステップと、
    第1のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1及びKが秘密通信路で送信されて認証サーバによって受信されるステップと、
    認証サーバが上記受信した共有使い捨て鍵K−1及びKを保存するステップと、
    第2のワンタイムキー生成用携帯通信端末から登録要求が送信されて認証サーバによって受信されるステップと、
    認証サーバからセッション用乱数R’’が秘密通信路で送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
    第2のワンタイムキー生成用携帯通信端末が、共有使い捨て鍵K−1’’を、上記セッション用乱数R’’とユーザーの秘密情報文字列S’’との2者からハッシュ関数による計算処理によって生成して保存し、共有使い捨て鍵K’’を、上記ユーザーの秘密情報文字列S’’及び上記共有使い捨て鍵K−1’’と、上記セッション用乱数R’’との3者からハッシュ関数による計算処理によって生成して保存するステップと、
    第2のワンタイムキー生成用携帯通信端末から上記共有使い捨て鍵K−1’’及びK’’が秘密通信路で送信されて認証サーバによって受信されるステップと、
    認証サーバが上記受信した共有使い捨て鍵K−1’’及びK’’を保存するステップとが行われ、
    初回登録完了後の第i回目のログインのためにワンタイムキー生成用携帯通信端末を使用する認証処理として、
    第1のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
    認証サーバによりセッション用乱数R、共有使い捨て鍵Ki−1及びKの3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
    認証サーバから第i番目のセッション用乱数Rと、セッション用乱数R、共有使い捨て鍵Ki−1及びKの3者から生成された上記ハッシュ値とが送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
    第1のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数Rと、第1のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1及びKとの3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
    第1のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第1のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
    第1のワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数Rが検証されたものと判断して認証処理を継続するステップと、
    第1のワンタイムキー生成用携帯通信端末が、上記セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子Pを生成するステップと、
    第1のワンタイムキー生成用携帯通信端末から上記セッション用認証子Pが送信されて認証サーバによって受信されるステップと、
    認証サーバが、セッション用乱数Rと上記共有使い捨て鍵Kとの2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’を生成するステップと、
    認証サーバが、第1のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子Pと、認証サーバにより生成された上記セッション用認証子P’とを比較判断して、セッション用認証子Pとセッション用認証子P’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
    認証サーバが、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、
    認証サーバから上記接続許可が送信されて第1のワンタイムキー生成用携帯通信端末によって受信されるステップと、
    第1のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数R及び上記共有使い捨て鍵Kと、上記セッション用認証子Pとの3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1を計算して保存するステップと、
    第2のワンタイムキー生成用携帯通信端末から認証要求が送信されて認証サーバによって受信されるステップと、
    認証サーバによりセッション用乱数R’’、共有使い捨て鍵Ki−1’’及びK’’の3者からハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
    認証サーバから第i番目のセッション用乱数R’’と、セッション用乱数R’’、共有使い捨て鍵Ki−1’’及びK’’の3者から生成された上記ハッシュ値とが送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
    第2のワンタイムキー生成用携帯通信端末によって、上記受信したセッション用乱数R’’と、第2のワンタイムキー生成用携帯通信端末に保存されていた共有使い捨て鍵Ki−1’’及びK’’との3者から、認証サーバと同じハッシュ関数による計算処理によってハッシュ値が生成されるステップと、
    第2のワンタイムキー生成用携帯通信端末が、認証サーバから受信した上記ハッシュ値と、第2のワンタイムキー生成用携帯通信端末で生成した上記ハッシュ値とを比較判断するステップと、
    第2のワンタイムキー生成用携帯通信端末が、上記比較判断により2者のハッシュ値が一致していた場合には、認証サーバから受信した上記セッション用乱数R’’が検証されたものと判断して認証処理を継続するステップと、
    第2のワンタイムキー生成用携帯通信端末が、上記セッション用乱数R’’と上記共有使い捨て鍵K’’との2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’’を生成するステップと、
    第2のワンタイムキー生成用携帯通信端末から上記セッション用認証子P’’が送信されて認証サーバによって受信されるステップと、
    認証サーバが、セッション用乱数R’’と上記共有使い捨て鍵K’’との2者からハッシュ関数による計算処理によって第i番目のセッション用認証子P’’’を生成するステップと、
    認証サーバが、第2のワンタイムキー生成用携帯通信端末から受信した上記セッション用認証子P’’と、認証サーバにより生成された上記セッション用認証子P’’’とを比較判断して、セッション用認証子P’’とセッション用認証子P’’’との2者が一致していた場合には、接続許可と判断して処理を続行するステップと、
    認証サーバが、上記セッション用乱数R’’及び上記共有使い捨て鍵K’’と、上記セッション用認証子P’’との3者から、ハッシュ関数による計算処理によって共有使い捨て鍵Ki+1’’を計算して保存するステップと、
    認証サーバから上記接続許可が送信されて第2のワンタイムキー生成用携帯通信端末によって受信されるステップと、
    第2のワンタイムキー生成用携帯通信端末が上記通信許可の受信の後に、上記セッション用乱数R’’及び上記共有使い捨て鍵K’’と、上記セッション用認証子P’’との3者から、認証サーバと同じハッシュ関数による計算処理によって共有使い捨て鍵Ki+1’’を計算して保存するステップとが行われ、
    初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、
    第1のワンタイムキー生成用携帯通信端末が上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
    第1のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
    認証サーバが、上記セッション用認証子P、上記共有使い捨て鍵K及びKi+1の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
    ログイン用通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
    ログイン用通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
    認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップと、
    第2のワンタイムキー生成用携帯通信端末が上記セッション用認証子P’’、上記共有使い捨て鍵K’’及びKi+1’’の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
    第2のワンタイムキー生成用携帯通信端末の表示部に上記ワンタイムキーの文字列の全部又は所定の一部が表示されるステップと、
    認証サーバが、上記セッション用認証子P’’、上記共有使い捨て鍵K’’及びKi+1’’の3者からハッシュ関数による計算処理によって第i回目のログインのためのワンタイムキーの文字列を生成するステップと、
    第2のワンタイムキー生成用携帯通信端末に上記表示されたワンタイムキーの文字列が入力されるステップと、
    第2のワンタイムキー生成用携帯通信端末から上記入力されたワンタイムキーの文字列が送信されて認証サーバによって受信されるステップと、
    認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合には、接続許可と判断して以後の通信を可能とするステップとが行われることを特徴とするワンタイムパスワード型認証方法。
  9. 初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理として、認証サーバが上記受信したワンタイムキーの文字列と、認証サーバにより生成されたワンタイムキーの文字列の全部又は所定の一部とを比較判断して、この2者が一致していた場合により、接続許可と判断して以後の通信を可能とするステップが、入力されるべき全てのワンタイムキーについて行われた後に、
    認証サーバが、ログイン用通信端末に対するコンテンツ配信のためのプロキシとして動作するステップが行われる、請求項7又は請求項8に記載のワンタイムパスワード型認証方法。
  10. 初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップが行われる、請求項7〜9のいずれかに記載のワンタイムパスワード型認証方法。
  11. 初回登録完了後の第i回目のログインのために携帯端末を使用する認証処理において、ログイン用通信端末を除く上記いずれかの通信端末が認証サーバとの通信により、生成するワンタイムキーの有効時間として任意の時間を設定するステップを含み、且つ、
    初回登録完了後の第i回目のログインのためにログイン用通信端末を使用する認証処理において、上記有効時間を任意に設定した場合にワンタイムキー生成用携帯通信端末に表示されるワンタイムキーの文字列の所定の一部の長さを、設定した有効時間の長さに対応させて長くして、その後の表示、入力、送信、比較判断の各ステップに使用する請求項7〜10のいずれかに記載のワンタイムパスワード型認証方法。
  12. 前記ワンタイムキー生成用携帯通信端末として、携帯電話端末を使用する請求項7〜11のいずれかに記載のワンタイムパスワード型認証方法。
  13. 前記ログイン用通信端末として、携帯電話端末を使用する請求項7〜12のいずれかに記載のワンタイムパスワード型認証方法。
  14. 請求項7〜13のいずれかに記載のワンタイムパスワード型認証方法を行うことを特徴とするワンタイムパスワード型認証システム。
JP2004177570A 2004-06-15 2004-06-15 ワンタイムパスワード型認証システム及び認証方法 Pending JP2006004020A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004177570A JP2006004020A (ja) 2004-06-15 2004-06-15 ワンタイムパスワード型認証システム及び認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004177570A JP2006004020A (ja) 2004-06-15 2004-06-15 ワンタイムパスワード型認証システム及び認証方法

Publications (1)

Publication Number Publication Date
JP2006004020A true JP2006004020A (ja) 2006-01-05

Family

ID=35772386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004177570A Pending JP2006004020A (ja) 2004-06-15 2004-06-15 ワンタイムパスワード型認証システム及び認証方法

Country Status (1)

Country Link
JP (1) JP2006004020A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100737173B1 (ko) 2006-05-09 2007-07-10 경북대학교 산학협력단 일회용 암호 발생기 및 일회용 암호 발생기를 이용한 인증장치
GB2434663A (en) * 2006-01-13 2007-08-01 Deepnet Technologies Ltd Mutual authentication using a pair of one-time passwords
JP2007233266A (ja) * 2006-03-03 2007-09-13 Mitsubishi Electric Corp 情報処理装置及び暗号化方法及びプログラム
JP2008124579A (ja) * 2006-11-08 2008-05-29 Nippon Telegr & Teleph Corp <Ntt> 通信システムおよび通信方法
JP2009541870A (ja) * 2006-07-05 2009-11-26 ヴァレー テクノロジーズ, エルエルシー. 生体特徴による身分認証の方法、装置、サーバ及びシステム
JP2012141856A (ja) * 2011-01-04 2012-07-26 Ricoh Co Ltd 情報処理装置
JP2013509840A (ja) * 2009-12-30 2013-03-14 エヌイーシー ヨーロッパ リミテッド ユーザー認証の方法及びシステム
US8621216B2 (en) 2006-08-31 2013-12-31 Encap As Method, system and device for synchronizing between server and mobile device
CN104049741A (zh) * 2013-03-15 2014-09-17 兄弟工业株式会社 服务器、系统和方法
KR101537097B1 (ko) * 2008-03-10 2015-07-15 주식회사 케이티 에스엠에스를 이용한 일회용 패스워드 인증 방법 및 인증 시스템
JP2017208144A (ja) * 2017-09-05 2017-11-24 パスロジ株式会社 ユーザ認証方法及びかかる方法を実現するためのシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243196A (ja) * 2000-03-01 2001-09-07 Fujitsu Ltd 携帯電話とicカードを利用した個人認証システム
JP2002312319A (ja) * 2001-04-17 2002-10-25 Yokogawa Electric Corp パスワードシステム
JP2003150553A (ja) * 2001-11-14 2003-05-23 Nippon Telegr & Teleph Corp <Ntt> 複数のアカウントを用いた認証方法及び装置並びに処理プログラム
WO2004019553A1 (ja) * 2002-06-19 2004-03-04 Advanced Computer Systems, Inc. 相互認証方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243196A (ja) * 2000-03-01 2001-09-07 Fujitsu Ltd 携帯電話とicカードを利用した個人認証システム
JP2002312319A (ja) * 2001-04-17 2002-10-25 Yokogawa Electric Corp パスワードシステム
JP2003150553A (ja) * 2001-11-14 2003-05-23 Nippon Telegr & Teleph Corp <Ntt> 複数のアカウントを用いた認証方法及び装置並びに処理プログラム
WO2004019553A1 (ja) * 2002-06-19 2004-03-04 Advanced Computer Systems, Inc. 相互認証方法及び装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2434663A (en) * 2006-01-13 2007-08-01 Deepnet Technologies Ltd Mutual authentication using a pair of one-time passwords
GB2434663B (en) * 2006-01-13 2010-12-15 Deepnet Technologies Ltd One-time password authentication
JP2007233266A (ja) * 2006-03-03 2007-09-13 Mitsubishi Electric Corp 情報処理装置及び暗号化方法及びプログラム
KR100737173B1 (ko) 2006-05-09 2007-07-10 경북대학교 산학협력단 일회용 암호 발생기 및 일회용 암호 발생기를 이용한 인증장치
JP2009541870A (ja) * 2006-07-05 2009-11-26 ヴァレー テクノロジーズ, エルエルシー. 生体特徴による身分認証の方法、装置、サーバ及びシステム
US8621216B2 (en) 2006-08-31 2013-12-31 Encap As Method, system and device for synchronizing between server and mobile device
JP2008124579A (ja) * 2006-11-08 2008-05-29 Nippon Telegr & Teleph Corp <Ntt> 通信システムおよび通信方法
KR101537097B1 (ko) * 2008-03-10 2015-07-15 주식회사 케이티 에스엠에스를 이용한 일회용 패스워드 인증 방법 및 인증 시스템
JP2013509840A (ja) * 2009-12-30 2013-03-14 エヌイーシー ヨーロッパ リミテッド ユーザー認証の方法及びシステム
JP2012141856A (ja) * 2011-01-04 2012-07-26 Ricoh Co Ltd 情報処理装置
JP2014178984A (ja) * 2013-03-15 2014-09-25 Brother Ind Ltd サーバ、及びネットワークシステム
CN104049741A (zh) * 2013-03-15 2014-09-17 兄弟工业株式会社 服务器、系统和方法
US9525678B2 (en) 2013-03-15 2016-12-20 Brother Kogyo Kabushiki Kaisha Non-transitory computer readable medium, server and system
CN104049741B (zh) * 2013-03-15 2017-09-19 兄弟工业株式会社 服务器、系统和方法
JP2017208144A (ja) * 2017-09-05 2017-11-24 パスロジ株式会社 ユーザ認証方法及びかかる方法を実現するためのシステム

Similar Documents

Publication Publication Date Title
CN108064440B (zh) 基于区块链的fido认证方法、装置及系统
ES2645289T3 (es) Autenticación de transacciones seguras
CN101495956B (zh) 扩展一次性密码方法和装置
US6510523B1 (en) Method and system for providing limited access privileges with an untrusted terminal
US6173400B1 (en) Methods and systems for establishing a shared secret using an authentication token
US7035442B2 (en) User authenticating system and method using one-time fingerprint template
US7555655B2 (en) Apparatus, system, and method for generating and authenticating a computer password
CN109417553A (zh) 经由内部网络监视来检测使用泄漏证书的攻击
US7907542B2 (en) Apparatus, system, and method for generating and authenticating a computer password
US11245526B2 (en) Full-duplex password-less authentication
JP4698751B2 (ja) アクセス制御システム、認証サーバシステムおよびアクセス制御プログラム
US20220116385A1 (en) Full-Duplex Password-less Authentication
CN105187382A (zh) 防止撞库攻击的多因子身份认证方法
JP2001186122A (ja) 認証システム及び認証方法
JP2006004020A (ja) ワンタイムパスワード型認証システム及び認証方法
Boonkrong Internet banking login with multi-factor authentication
JP2005115743A (ja) 携帯電話と暗号を利用した情報通信端末の自動認証システム
JP4657706B2 (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
JPH11203248A (ja) 認証装置、および、そのプログラムを記録した記録媒体
Weerasinghe et al. Security framework for mobile banking
Soni et al. Provably secure and biometric-based secure access of E-Governance services using mobile devices
JP2004206258A (ja) 多重認証システム、コンピュータプログラムおよび多重認証方法
JP4324951B2 (ja) パスワードシステム
JP2000224162A (ja) 不可逆関数を用いたクライアント認証方法
KR20090096258A (ko) 우회네트워크를 이용한 일회용암호 기반의 인증방법과 이를지원하는 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101019