(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし従来のパスワード認証では、いずれも被認証者の識別子(ID)とパスワードの両者を併用して認証成立の決定がなされており、悪意のある第三者にとっては、被認証者の識別子(ID)が情報収集の手掛かりになる可能性があり、又被認証者にとっても、自分の固有の番号である識別子(ID)を、そのままでは勿論、たとえそれを暗号化したとしても、通信回線上に直接自分の識別子(ID)を流すことに抵抗感を持つ場合も考えられる。
【0006】
本発明はこのような点に鑑みてなされたものであり、被認証者の識別子(ID)を併用しないで、毎回異なるパスワードである、ワンタイム・パスワードのみを使用してパスワード認証を行うシステムと方法を提供するものである。
【0007】
更に、被認証者にとっては、自身の識別子(ID)を併用しないでワンタイム・パスワードのみを使用して行う認証では、認証者が本当に間違いなく正しく自分を認証しているのかどうか不安になることも考えられ、その問題を解決するための認証者の正しい正確な認証を被認証者が確認するシステムと方法をも提供するものである。
【課題を解決するための手段】
【0008】
前記課題を解決するために、本発明では、ワンタイム・パスワードを発生させる既存のセキュリティ・トークンの仕組みを利用する。インターネット銀行ではRSA_SecurIDのセキュリティ・トークンを使用した方式などが広く実用化されており、これは時刻同期方式のワンタイム・パスワードを被認証者側と認証者側が共有する仕組みであるが、これ以外にもAuthenex社のA−Key方式のUSBセキュリティ・トークンはカウンター同期方式のワンタイム・パスワードを被認証者側と認証者側が共有する仕組みである。本発明では、これらの既存の仕組みを利用してもよいし、新たに作成してもよい。しかし、これらの仕組みが作成するワンタイム・パスワードは被認証者側と認証者側との同期はされているが、被認証者同士のワンタイム・パスワードの重複の可能性があり、これではワンタイム・パスワードのみでの認証は不可能である。
請求項1の本発明では、これら既存の、全ての被認証者側装置のワンタイム・パスワードが異なるデータ(値)であることが保障されていないワンタイム・パスワードと、全ての被認証者側装置ごとに異なるデータ(値)として割り当てられた被認証者側装置の識別子(ID)と、更に、必要に応じて認証回数や日付・時刻の情報などと、を適宜組み合わせて、全ての被認証者側装置で異なるデータ(値)を作成し、これをそのまま、あるいはこのデータ(値)を更に全ての被認証者側装置と認証者側装置とで共用する1対1対応の関数に入力して得た関数の値を、ワンタイム・パスワードとして使用する。こうすることで、常時に全ての被認証者側装置のそれぞれのワンタイム・パスワードが異なるデータ(値)になるように設定することが可能となる。
【0009】
請求項1の本発明は、被認証者側装置の識別子(ID)そのものを直接やりとりしないで認証を行うことを可能としたパスワード認証システムである。
【0010】
尚、請求項6の本発明は、請求項1のシステムで行う方法の発明である。
【0011】
しかし、認証が成立することと、認証者に本当に自分を正しく認証されていると被認証者が確信することと、は別問題であり、被認証者自身が認証者に本当に自分を正しく認証してもらっていることを確信できなければ次の手続きに進められない場合も多い。
【0012】
この問題を解決するために、請求項2および請求項3の本発明では、被認証者側装置と認証者側装置の双方は予め同定用と確認用の二つのワンタイム・パスワードを作成し、まず、認証者側装置が同定用のワンタイム・パスワードで被認証者側装置を同定した後に、認証者側装置が当該被認証者側装置に確認用のワンタイム・パスワードを返送し、その確認用のワンタイム・パスワードを被認証者側装置が確認することで認証が成立することとした。こうすることで、請求項2および請求項3の本発明は、認証者側装置が本当に正しく自分を認証していることを被認証者側装置が確認することを可能としたシステムである。
請求項2の発明と請求項3の発明の違いは、請求項2の発明では一つの共有乱数から同定用と確認用の二つのワンタイム・パスワードを作成するが、それに対して、請求項3の発明では二つの共有乱数を作ってそのそれぞれから一つずつのワンタイム・パスワードを作成して、それを同定用と確認用の二つのワンタイム・パスワードとするという違いである。
【0013】
尚、請求項7および請求項8の本発明は、それぞれ、請求項2および請求項3のシステムで行う方法の発明である。
【0014】
その他の問題としては、被認証者が悪意やいたずらで故意にランダムに入力した数値で、あるいは誤ってワンタイム・パスワードを誤入力した数値で、被認証者が別の被認証者として誤認証されてしまう問題がある。これに対しては、チェックデジット(検査数字)を使用すれば単なる入力ミスによる誤認証の多くを防ぐ効果があるが、それでも万能ではない。
【0015】
この場合に悪意のない単なるミスによる誤入力が誤認証につながったのならば、認証者から返送された確認用のワンタイム・パスワードが被認証者自身が作成した確認用のワンタイム・パスワードと異なることから被認証者自身が自分の誤入力に気づくことで解決できるが、時に、ある被認証者が悪意やいたずらで故意にランダムな数字を入力してそのランダムな数字が偶然に別の被認証者の1人と一致することで
別の被認証者と誤認証された場合や、あるいは過失による誤入力がきっかけではあっても認証者の誤認証につけこんで途中から悪意をいだいた場合には、確認用のワンタイム・パスワードをそのまま受け入れさえすれば、誤入力した被認証者が別の被認証者として、あるいは第三者が被認証者の一人として、なりすましを行うことが可能になる。
【0016】
この問題を解決するための方法の一つとして、請求項4の本発明では、被認証者側装置と認証者側装置の双方は予め同定用と確認用と再確認用の三つのワンタイム・パスワードを作成し、まず、同定用のワンタイム・パスワードで認証者側装置が被認証者側装置を同定した後に、認証者側装置が当該被認証者側装置に確認用のワンタイム・パスワードを返送して被認証者側装置は認証者側装置が正しく同定していることを確認し、更に、被認証者側装置は再確認用のワンタイム・パスワードを認証者側装置に再送信して、認証者側装置が、最初の同定用のワンタイム・パスワードによる被認証者側装置の同定が偶然なされたものでないことを再確認し、これで認証が成立することとした。
【0017】
もしも、最初の同定用のワンタイム・パスワードによる認証が被認証者が悪意やいたずらで故意にランダムに入力した数字や文字列を、あるいは誤ってワンタイム・パスワードを誤入力した数字や文字列を、別の被認証者の1人としての認証者による誤認証だった場合に、当該被認証者やいたずら者にとっては認証者の確認用のワンタイム・パスワードをそのまま受け入れる
ところまではかんたんだが、その、当該被認証者やいたずら者にとっては再確認用のワンタイム・パスワードを再送信することは不可能である。こうすることで、請求項3の本発明は、故意や偶然による誤認証の問題を解決することを可能としたシステムである。
【0018】
尚、請求項9の本発明は、請求項4のシステムで行う方法の発明である。
【0019】
なりすましの問題を解決するためのもう一つの方法として、請求項5の本発明では、認証者が被認証者に確認用のワンタイム・パスワードを返送するときに、正しい正規の確認用のワンタイム・パスワードに加えて、更におとり用の偽のワンタイム・パスワードを含めた、複数のデータ(値)を返送して、その中から被認証者が正しい正規の確認用のワンタイム・パスワードを選ぶことで、認証者は被認証者が正規の確認用のワンタイム・パスワードを知っていることを再確認することができる。こうすることで、請求項5の本発明は、被認証者が認証者の誤認証につけこんで途中から悪意をいだいてなりすましを行うことを高い確率で防止することを可能としたシステムである。
【0020】
尚、請求項10の本発明は、請求項5のシステムで行う方法の発明である。
【0021】
尚、請求項1乃至請求項10の本発明において、1対1対応の関数は十進法の四則計算を用いても良いし、その他のどのような関数を使用してもよい。
【0022】
又、一般に共通鍵方式の暗号方式では、暗号鍵が一定に固定され、元のデータ(平文)のデータ量が1ブロック以内のデータ量であれば、元のデータ(平文)の集合と暗号化したデータ(暗号文)の集合との間に1対1対応が保障されており、これをこの場合の1対1対応の関数として使用することも可能である。
【発明の効果】
【0023】
請求項1および請求項6の本発明によれば、悪意ある盗聴者にとっては情報収集の手がかりになりうる被認証者の識別子(ID)そのものを直接やりとりしないで認証を行うことを可能としたパスワード認証システムや方法を提供することができる。
【0024】
請求項2、請求項3、請求項7、および請求項8の本発明によれば、請求項1および請求項6の本発明によって被認証者の識別子(ID)そのものを直接やりとりしないで認証を
行う場合にも、被認証者が認証者に本当に正しく自分を認証してもらっていることを確認することができるパスワード認証システムや方法を提供することができる。
【0025】
請求項4、請求項5、請求項9、および請求項10の本発明によれば、請求項1および請求項6の本発明によって被認証者の識別子(ID)そのものを直接やりとりしないで認証を行う場合にも、被認証者が認証者に本当に正しく自分を認証してもらっていることを確認することができのみならず、時に、被認証者の過失あるいは第三者の故意の入力の結果、認証者が被認証者を別の被認証者と誤認証することが偶然起こったとしても、そのまま認証を成立させてなりすましを行うことをも予防することができるパスワード認証システムや方法を提供することができる。
【0026】
尚、ここでは「識別子(ID)を直接やりとりしない」とは、「識別子(ID)をそのまま平文のままでやりとりしないで暗号化した暗号文などの加工したデータにしてやりとりする」という意味ではなく、ワンタイム・パスワードそのものなかに、識別子(ID)そのものの情報も加工して組み込んでそれをワンタイムで変化させてやりとりすると言う意味である。
【図面の簡単な説明】
【0027】
【
図1】
実施の形態1に記載のパスワード認証システムの構成例を模式的に表すブロック図である。
【
図2】
実施の形態1に記載の被認証者側装置と認証者側装置における処理課程を示すフローチャートである。
【
図3】実施の形態2および実施の形態3における各被認証者の共有乱数を示した表である。
【
図4】実施の形態2における各被認証者のワンタイム・パスワードと実施の形態3における各被認証者の同定用のワンタイム・パスワードを示した表である。
【
図5】実施の形態3における各被認証者の確認用のワンタイム・パスワードを示した表である。
【0028】
[実施の形態1]
実施の形態1は、請求項4に記載の、被認証者側装置と認証者側装置とからなるパスワード認証システムであって、
図1と
図2を参照しながら説明する。
本実施例では、被認証者はインターネットショッピングを行う80000人の会員で、認証者は会員から商品の注文を受けるインターネットショップであると仮定する。全ての被認証者には1人あたり1台の被認証者側装置を割り当てられ、認証者のデータベースには認証者側装置が接続されている。全ての被認証者側装置と認証者側装置はインターネットに接続されている。本実施例では被認証者側装置が認証者側装置に接続する時に本発明のパスワード認証システムを使用することとする。
【0029】
まず、
図1には本パスワード認証システムの構成例を模式的にブロック図で表す。本パスワード認証システムは、通信網200(ここではインターネット)を介して相互に通信可能に接続されている被認証者側装置100と認証者側装置300とからなる。本実施例では、被認証者側装置100には、携帯端末装置として、セキュリティ・トークンや携帯型コンピュータや携帯電話などが該当し、認証者側装置300には、サーバやコンピュータなどが該当する。
【0030】
被認証者側装置100と認証者側装置300の双方は、共に記憶部110、310とデータ処理手段120、320とから構成される。
【0031】
双方の記憶部110、310は、例えば主記憶装置、ハードディスク装置、フラッシュメモリ等のように記憶可能な装置や媒体が該当する。
【0032】
被認証者側装置100の記憶部110は、自身の共有乱数111と、自身のワンタイム・パスワード112と、自身の識別子(ID)113と、自身の認証回数114と、全ての被認証者側装置100と認証者側装置300とで共用する1対1対応の関数115と、各種処理のプロトコール116と、各種処理に必要な各種パラメータ117と、を記憶する。
【0033】
認証者側装置300の記憶部310は、各々の被認証者側装置100のそれぞれと個別に共有する共有乱数111の一覧である共有乱数・テーブル311と、全ての被認証者側装置100のそれぞれに対応するワンタイム・パスワード112の一覧であるワンタイム・パスワード・テーブル312と、全ての被認証者側装置100に予め割り当てた前記識別子(ID)113の一覧である識別子(ID)・テーブル313と、各々の被認証者側装置100ごとの認証回数114の一覧である認証回数・テーブル314と、全ての被認証者側装置100と認証者側装置300とで共用する1対1対応の関数315と、各種処理のプロトコール316と、各種処理に必要な各種パラメータ317と、を記憶する。
【0034】
双方のデータ処理手段120、320は、共に、共有乱数作成手段121、321とワンタイム・パスワード作成手段122、322とカレンダ時計手段123、323とカウント手段124、324と認証決定手段128、328と通信手段129、329とから構成される。
双方の共有乱数作成手段121、321の仕組みは市販のセキュリティ・トークンの中に組み込まれた乱数作成の仕組みと同様の概念の仕組みである。例えばインターネットバンクで採用されているRSA_SecurIDのトークンの仕組みは60秒ごとに被認証者側装置と認証者側装置で同一の6〜8桁の乱数を作成するタイムベース型のセキュリティ・トークンで、これは本発明では共有乱数作成手段121、321とカレンダ時計手段123、323を組み合わせた概念の仕組みに相当する。他には、飛天ジャパンのC100タイプのトークンの仕組みはスイッチを押した時に被認証者側装置と認証者側装置で同一の6桁の乱数を作成するイベントベース型のトークンのセキュリティ・トークンで、これは本発明では共有乱数作成手段121、321とカウント手段124、324を組み合わせた概念の仕組みに相当する。
本実施例では、共有乱数作成手段121、321はカレンダ時計手段123、323が示す毎日午前0時に被認証者側装置と認証者側装置で同一の6桁の乱数を作成して前日の共有乱数を更新するものとする。
【0035】
被認証者側装置100のワンタイム・パスワード作成手段122は、共有乱数作成手段121が作成する認証当日の自身の共有乱数111と、自身の識別子(ID)113と、カウント手段124が示す認証当日の認証回数114と、を組み合わせて、全ての被認証者側装置100それぞれで異なる値であるデータ(値)を三つ作成してその三つのデータ(値)を更に全ての被認証者側装置100と認証者側装置300とで共用する1対1対応の関数115に入力して得た関数の値を、同定用と確認用と再確認用の三つのワンタイム・パスワード112として作成して自身の記憶部110に記憶した過去のワンタイム・パスワード112を更新する。
【0036】
認証者側装置300のワンタイム・パスワード作成手段322は、共有乱数・テーブル311と、識別子(ID)・テーブル313と、認証回数・テーブル314と、を使用して、各々の被認証者装置100のワンタイム・パスワード作成手段122とそれぞれ同一の方法で、当該被認証者側装置100に対応する同定用と確認用と再確認用の三つずつのワンタイム・パスワードを作成し、更に同様にして全ての被認証者側装置のそれぞれに対応する同定用と確認用と再確認用の三つずつのワンタイム・パスワードの一覧であるワンタイム・パスワード・テーブル312を作成して自身の記憶部310に記憶した過去のワンタイム・パスワード・テーブル312を更新する。
【0037】
ここでは全ての被認証者側装置100と認証者側装置300とで共用する1対1対応の関数115、315として、知られた暗号方式であるアメリカ合衆国の国家新標準暗号規格で、1ブロックが128ビットのブロック暗号方式であるAES(Advanced Encryption Standard)を使用する。又、この本実施例のシステムではAES暗号の鍵はこのシステム全体で一つの任意の値に固定することとすると、1ブロックが128ビットのブロック暗号方式であるAESでは128ビット以下のデータ量の平文を暗号化して128ビットの暗号文を作成した場合、平文と暗号文は1対1に対応する。従って、数字やアルファベットの1文字は8ビットのデータ量で指定することができるため、16文字(=128ビット)以下の数の数字やアルファベットによるデータの平文をAESで暗号化して128ビットの暗号文を作成した場合、平文と暗号文は1対1に対応する。
【0038】
又、ここではAESを使用した暗号文の表記法として、平文であるPをAESを使用して暗号化した暗号文をAES[P]と表記することとする。
【0039】
本実施例では、識別子(ID)113としては、80000人の会員にランダムに8桁の数字か大文字か小文字のアルファベットによる識別子(ID)113が重複しないように割り当てられており、会員は互いに各々の識別子(ID)113を知らないで、80000人の会員のそれぞれの識別子(ID)113は被認証者である会員本人とインターネットショップのデータベースのみが知っていることとする。又、本実施例での1日の認証回数の上限を33回に制限することとする。
【0040】
本実施例での被認証者側装置100のワンタイム・パスワード作成手段122でのワンタイム・パスワード122の作成方法としては、識別子(ID)113としてabcdefghが割り当てられた被認証者側装置100の認証当日の6桁の共有乱数111がijklmnとして、認証当日の第op回めの認証に用いるワンタイム・パスワード112の元になる「全ての被認証者ごとに異なるデータ(値)」を「abcdefghijklmnop」と取り決めて、更に、このデータ(値)を平文としてこの平文を1対1対応の関数115であるAESを用いて暗号化した暗号文であるデータ(値)であるAES[abcdefghijklmnop]をワンタイム・パスワード112とすると取り決める。ただし、ここで「a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p」は全てそれぞれ1桁の数字又は大文字か小文字のアルファベットでそれぞれ8ビットのデータとする。
【0041】
一方、認証者側装置300では各々の被認証者側装置100のそれぞれのワンタイム・パスワード作成手段122がワンタイム・パスワード112を作成するのと同一の方法で、当該被認証者側装置100のそれぞれに対応するワンタイム・パスワードを作成して、全ての被認証者側装置に対応するワンタイム・パスワードの一覧をワンタイム・パスワード・テーブル312として作成する。
【0042】
ここでは上述のように本実施例での一日の認証回数の上限を33回と取り決め、「全ての被認証者ごとに異なるデータ(値)」を作成する元になる認証回数114としては、同定用のワンタイム・パスワードの認証回数114は実際の認証当日の認証回数を2桁の数値で示したものを、確認用のワンタイム・パスワードの認証回数114には実際の認証当日の認証回数に33を加算した2桁の数値を、再確認用のワンタイム・パスワードの認証回数114には実際の認証当日の認証回数に66を加算した2桁の数値を、それぞれ使用するとする。すると、例えば識別子(ID)111として4k5LM37pが割り当てられた被認証者側装置の2011年12月10日の23回めの認証の際のワンタイム・パスワード112は、当該被認証者側装置の共有乱数作成手段121、321が作成した2011年12月10日の6桁の共有乱数111を1210Hsと仮定すると、同定用のワンタイム・パスワードはAES[4k5LM37p1210Hs23]、確認用のワンタイム・パスワードはAES[4k5LM37p1210Hs56]、再確認用のワンタイム・パスワードはAES[4k5LM37p1210Hs89]で表されるそれぞれ2進法128ビット(16バイト)のデータ(値)になる。
【0043】
上述のように構成されたパスワード認証システムにおいて実行される手続き例について
図2を参照しながら説明する。
図2の左側には被認証者側装置の手続き例を表し、右側には認証者側装置の手続きを表す。尚、これは2011年12月10日に行われた23回めの認証手続き例で、認証当日の当該被認証者側装置に対応する共有乱数を1210Hsと仮定する。
【0044】
まず、被認証者側装置が認証者側装置に
認証要求信号を送信する[ステップS11]、本実施例では、例えば、インターネットのホームページの接続ボタンをクリックすることなどを行うこととする。
認証者側装置は被認証者側装置から
認証要求信号を受信すると[ステップS31]、当該被認証者側装置に対して
パスワードの送信を
要求する信号を送信する[ステップS32]。
被認証者側装置は認証者側装置から
パスワードの送信を
要求する信号を受信すると[ステップS12]、
まず、自身の記憶部に記憶した同定用のワンタイム・パスワードとしてAES[4k5LM37p1210Hs23]を認証者側装置に送信する[ステップS13]。
認証者側装置は被認証者側装置から同定用のワンタイム・パスワードとしてAES[4k5LM37p1210Hs23]を受信すると[ステップS33]、認証決定手段では、この受信したデータ(値)を自身の記憶部のワンタイム・パスワード・テーブルに照会して、両者が一致する同定用のワンタイム・パスワードを有する被認証者側装置を、認証を依頼した、識別子(ID)が4k5LM37pの被認証者側装置である、と同定し[ステップS34]、
次に、当該被認証者側装置に対してワンタイム・パスワード・テーブルとして記憶された当該被認証者側装置100に対応する確認用のワンタイム・パスワードとしてAES[4k5LM37p1210Hs56]を送信する[ステップS35]。
被認証者側装置は認証者側装置から確認用のワンタイム・パスワードとしてAES[4k5LM37p1210Hs56]を受信すると[ステップS15]、認証決定手段では、この受信したデータ(値)を自身の記憶部に記憶した確認用のワンタイム・パスワードと比較して、両者が一致したことで、認証者側装置が正しく被認証者側装置を同定したことを確認し[ステップS16]、
次に、自身の記憶部に記憶した再確認用のワンタイム・パスワードとしてAES[4k5LM37p1210Hs89]を認証者側装置に送信する[ステップS17]。
認証者側装置は被認証者側装置から再確認用のワンタイム・パスワードとしてAES[4k5LM37p1210Hs89]を受信すると[ステップS37]、認証決定手段では、この受信したデータ(値)を自身の記憶部のワンタイム・パスワード・テーブルに照会して、両者が一致する再確認用のワンタイム・パスワードを有する被認証者側装置を、識別子(ID)が4k5LM37pの被認証者側装置であることを再確認し[ステップS38]、これにより、最初の認証が故意や偶然による誤認証でなかったことが確定し、以上で認証が成立する。
【0045】
本実施例では1つのワンタイム・パスワードの量は0〜9とa〜fを用いた16進法で表せば32桁で、自動入力の方が楽ではあるものの、手入力でも実用可能である。
一方、本システムの安全性の程度はAESの安全性によって強化されてはいるが、最低限の安全性は共有乱数に依存している。本システムではAESの鍵は、同一時期では全ての被認証者装置100と認証者装置300で同一にする必要があり、その結果は、すなわち被認証者装置100の1つに不法に侵入されてAESの鍵を解析されてしまえば全ての本システムの安全性が損なわれてしまうという本システムの弱点となる。
しかし、例え、ある一つの被認証者側装置100が不法に侵入されてその装置のワンタイム・パスワード作成手段122が解析されてAESの鍵が解読されたとしても、共有乱数作成手段121の耐タンパー性が十分に高くて他の被認証者側装置100の共有乱数121が推測できない仕組みにすることで、
一日の最初の認証に関しては、例えばインターネットバンクで採用されているRSA_SecurIDセキュリティ・トークンと同程度以上のセキュリティは確保することができ、同日の二回め以降の認証を含めても最大33回程度の認証では本実施例のインターネットショッピングの形態では従来の方法に劣らない程度のセキュリティを確保することができると思われる。
【0046】
[実施の形態2]
実施の形態2は、請求項6に記載のパスワード認証方法の実施例で、
図3を参照しながら説明する。
本実施例では、被認証者は6人の会社員で、毎日会社に出社して特別管理区域に入るときに特別管理区域の専用扉でセキュリティチェックを受ける。本実施例では、この特別管理区域の専用扉が認証者に相当する。この認証に際して今回請求項6で発明したワンタイム・パスワードを使用することとする。いま、6人の会社員の氏名を、それぞれ、A、B、C、D、E、Fとし、それぞれの会社員の固有の社員番号(ID=識別子)を、それぞれ、2、3、5、6、8、9とする。
本実施例ではそれぞれの会社員は日付が変わるごとに2桁の数字で構成する共有乱数を作成して前日の共有乱数を更新する日付同期型のワンタイム・パスワード作成用のセキュリティ・トークンを持参することとし、そのセキュリティ・トークンが作成する2桁の共有乱数は、例えば
図3に示したように、X年5月1日のA、B、C、D、E、Fそれぞれの共有乱数を36、36、52、36、25、15とし、X年5月2日のA、B、C、D、E、Fそれぞれの共有乱数を67、68、05、30、52、95とすると仮定する(以下
図3を参照)。
又、ワンタイム・パスワードの作成方法としては、それぞれの会社員は出社日の日付に対応する自分の共有乱数の2桁の数字の1桁めの数字に自分の固有の社員番号(ID=識別子)の1桁の数字と数字の5と出社日の日付の月の数値とを加算した数値の1桁めの数字を3桁の数字で構成するワンタイム・パスワードの3桁めの数字とし、出社日の自分の共有乱数の2桁の数字の1桁めと2桁めの数字をそれぞれ3桁の数字で構成するワンタイム・パスワードの1桁めと2桁めの数字として付加して作成した3桁の数字をワンタイム・パスワードとすると取り決めをする。すると、
図4に示したように、X年5月1日のA、B、C、D、E、Fそれぞれのワンタイム・パスワードはそれぞれ836、936、752、236、325、415で、X年5月2日のA、B、C、D、E、Fそれぞれのワンタイム・パスワードはそれぞれ967、168、005、630、052、495で、以下同様に、X年5月5日のA、B、C、D、E、Fそれぞれのワンタイム・パスワードはそれぞれ452、552、752、852、052、152となる。
会社のデータベースにはそれぞれの会社員の固有の社員番号(ID=識別子)とパスワード作成方法が記憶されており、それを用いてこの特別管理区域の専用扉は被認証者である6人の会社員のそれぞれを認証することができる。
【0047】
[実施の形態3]
実施の形態3は、請求項7に記載のパスワード認証方法の実施例で、
図3乃至
図5を参照しながら説明する。この実施例は、実施の形態2と同様の会社および会社員で構成され、又、被認証者が持参する共有乱数作成装置が作成する共有乱数も実施の形態2と同一とし(
図3を参照)、この認証に際して今回請求項7で発明したワンタイム・パスワードを使用することとする。
本実施例では同定用のワンタイム・パスワードは実施の形態2で使用したワンタイム・パスワードをそのまま使用し(
図4を参照)、確認用のワンタイム・パスワードの作成方法としては、それぞれの会社員は出社日の日付に対応する2桁の数字の共有乱数の2桁めの数字に自分の固有の社員番号(ID=識別子)の数値と出社日の日付の月の数値とを加算した数値の1桁めの数字を3桁の数字の1桁めとし、それに先の共有乱数の2桁の数字の1桁めと2桁めの数字をそれぞれ3桁の数字の2桁めと3桁めの数字として付加して作成した3桁の数字を確認用のワンタイム・パスワードとすると取り決めをする。すると、
図5に示すようにX年5月1日のA、B、C、D、E、Fそれぞれの確認用のワンタイム・パスワードはそれぞれ360、361、525、364、255、155で、X年5月2日のA、B、C、D、E、Fそれぞれの確認用のワンタイム・パスワードはそれぞれ673、684、050、304、528、953で、以下同様に、X年5月5日のA、B、C、D、E、Fそれぞれの確認用のワンタイム・パスワードはそれぞれ522、523、525、526、528、529となる。
【0048】
この実施例では、同定用のワンタイム・パスワードを使用してこの特別管理区域の専用扉が被認証者である会社員を同定すると、次に認証者が作成したワンタイム・パスワード・テーブルのなかの、
図5に示す各々の会社員の確認用のワンタイム・パスワードのなかから当該被認証者の確認用のワンタイム・パスワードが選別されて専用扉の表示部に表示され、当該会社員は自分が正しく認証されたことを確認して確認のボタンを押すことで認証が成立する。
【0049】
実施の形態1のユニークな特徴としては、単なる認証のみではなく、簡単な情報伝達機能をも備えていることである。例えば、今回提示した実施例の中で未使用領域である、認証当日の第00回めの認証に用いるワンタイム・パスワードであるAES[4k5LM37p1210Hs00]を送信すると「前回の注文は取り消し」の意味にするなどの応用が可能である。そのためには、認証者のワンタイム・パスワード・テーブルにAES[4k5LM37p1210Hs00]を追加することと、被認証者
側装置がAES[4k5LM37p1210Hs00]を、表示できる(手入力の場合)、あるいは送信できる(自動入力の場合)、機能を追加するだけでよい。これによれば、容易にキャンセルできるようにすることにより、購入へのハードルを下げ、結果的に購入量増加につなげることができる可能性がある。
又、本実施例で一日の認証回数を更に制限してその分の未使用領域のワンタイム・パスワードを「リセット」や「退会」などの機能的な連絡に使用することも可能であるなど、応用範囲を広げることができる。
又、実施の形態1では1対1対応の関数としてAESを使用したが、他の
共通鍵暗号方式を使用してもよいし、普通の四則計算を使用してもよい。システムに求められる安全性の程度と実用可能なワンタイム・パスワードの量とから、そのシステムに適した1対1対応の関数を決定することができる。
【0050】
実施の形態2と3では、原理を分かりやすく説明するために、認証回数を1日1回に限定し、更にワンタイム・パスワードには極めて少ない桁数の数字を用いたが、このままではワンタイム・パスワードの桁数が少なすぎて何も知らない第三者でも思いつきの数字を入力するだけで正規の会社員のうちの誰かに認証されて特別管理区域に入
ることができてしまう可能性もあり、実用的ではない。
【0051】
実施の形態2と3の実用化への改良案としては、識別子(ID)や共有乱数やワンタイム・パスワードの桁数をもっと大きくすることでセキュリティと実用性の向上を図ることである。実施の形態2と3では、実施の形態1のように、実際の被認証者の人数よりも識別子(ID)の桁を格段に大きくして、該当被認証者の存在しない空の識別子(ID)を多くすることで、より実際的にすることができる。すなわち、被認証者である社員が6人でも、例えば、識別子(ID)は3桁に、更に共有乱数も3桁に、そしてワンタイム・パスワードの桁数は6桁にして、更にそれぞれの桁ごとに日付や月の数値や固有の社員番号(ID=識別子)と別々の演算をすることなどをすることで、実施の形態2と3はこの原理のままのでも実用化が可能になる。
【0052】
実施の形態1では、原理をわかりやすく説明するために、ワンタイム・パスワードとして使用した暗号文であるAES[P]の平文にあたるPとしては、認証を行った年月日の当該被認証者側装置と認証者との共有乱数と、当該被認証者側装置の識別子(ID)と認証日の認証回数とをそのまま並べて作成した。また実施の形態2と3では原理をわかりやすく説明するために、当該被認証者の識別子(ID)を、それぞれ数字一桁に設定した。
しかし、本発明の実際の運用にあたっては、実施の形態1乃至3の仕組みを組み合わせて、今回のように年月日同期方式の共有乱数を使用する場合には、認証当日の当該被認証者側装置と認証者
側装置との共有乱数と、共有乱数の重複対策として共有乱数の一部又は全部と当該被認証者側装置の識別子(ID)とで演算を行った値と、更に認証日での認証回数の値又は認証回数の値に演算を行った値と、から桁を入れ替えたりして作成した「全ての被認証者側装置それぞれで異なる値」をAESなどで暗号化した値を、ワンタイム・パスワードとして作成するほうが実際的である。
【0053】
更に、本発明の範囲外ではあるが、暗号の鍵は既存の鍵交換・鍵配送システムを用いて定期的に変更するような仕組みを追加することで、セキュリティの高いシステムや方法とすることができると考える。
【0054】
又、特に手入力を想定する場合で、単なる入力ミスによる誤認証を防ぐためには、チェックデジット(検査数字)の併用は有用と思われる。
【0055】
又、本発明では、共有乱数やワンタイム・パスワードは、予め被認証者と認証者の双方それぞれで作成しておいて、その後にパスワード認証を行ったが、被認証者はパスワード認証を行う時に共有乱数やワンタイム・パスワードを作成するようにしてもよいし、認証者はある被認証者の認証依頼を受けたあとで、共有乱数・テーブルやワンタイム・パスワード・テーブルを作成するようにしてもよい。
【0056】
又、請求項5および請求項10では、おとり用の偽ワンタイム・パスワードは、認証者が被認証者から確認用のワンタイム・パスワードを受信してから作成したが、予め作成しておいてもよい。
【0057】
なお、本発明を実施するための最良の形態について前記のように3つの実施例を説明したが、本発明は当該形態になんら限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で種々の認証分野で実施することができる。