(57)【要約】パスワードが、一連の生起例（１００、１１０、１２０、１３０）において提示することができるいくつかのフィールド（１０１〜１０５）から形成される。フィールドは、（ａ）当該パスワードの各生起例で変化しない静的フィールド（１０５）および（ｂ）当該パスワードの各生起例で外的データに基づいて変化する動的フィールド（１０１、１０２）のうちの少なくとも一つを有する。さらに、当該パスワードの前回の生起例の関数であるデータを含む「ヒステリシス」フィールド（または「履歴のある動的フィールド」、１０３、１０４）がある。当該パスワードの現在提示された生起例（１１０）が入力／受信されたとき、当該パスワードの該現在提示された生起例のヒステリシスフィールド（１１３、１１４）が当該パスワードの認証の前回の生起例以来保持されているデータ（１０１、１０２）を使って比較される比較処理が実行される。
2006527880.tif 000002
【特許請求の範囲】
【請求項１】
一連の生起例において提示することができ、第一のフィールドの組および第二のフィールドを有するパスワードを認証する方法であって、
前記第一のフィールドの組が、（ａ）当該パスワードの各生起例で変化しない静的フィールドおよび（ｂ）当該パスワードの各生起例で外的データに基づいて変化する動的フィールドのうちの少なくとも一つを有し、前記第二のフィールドが、以前の認証の生起例の関数である履歴データを含むよう構成される方法であって、
当該パスワードの現在提示された生起例を受信し、
当該パスワードの該現在提示された生起例の前記第二のフィールドが当該パスワードの認証の以前の生起例以来保持されているデータを使って比較される比較処理を実行する、ことを含むことを特徴とする方法。
【請求項２】
前記履歴データが以前のパスワードの関数であることを特徴とする、請求項１記載の方法。
【請求項３】
前記履歴データが以前の認証の生起例のイベント記録の関数であることを特徴とする、請求項１または２記載の方法。
【請求項４】
前記第一のフィールドの組が静的フィールドおよび動的フィールドを有することを特徴とする、請求項１ないし３のうちいずれか一項記載の方法。
【請求項５】
前記動的フィールドについて、比較処理を実行する前記ステップが、日付および／または時刻および／または場所データおよび／またはクライアント機のインターネットプロトコルアドレスの形での外的データを受信することを含むことを特徴とする、請求項４記載の方法。
【請求項６】
比較が成功したときに当該パスワードの次の生起例の比較のためにデータを保持することを特徴とする、請求項１ないし５のうちいずれか一項記載の方法。
【請求項７】
前記保持されるデータが当該パスワードの現在提示された生起例の生起例受信の日付および時刻の一つを含んでいることを特徴とする、請求項６記載の方法。
【請求項８】
前記保持されるデータが当該パスワードの現在提示された生起例の生起例受信の場所から導出されることを特徴とする、請求項６記載の方法。
【請求項９】
前記保持されるデータが当該パスワードの現在提示された生起例の少なくとも一部を含んでいることを特徴とする、請求項６記載の方法。
【請求項１０】
前記比較ステップが、
当該パスワードの生成された生起例の少なくとも第二のフィールドを生成し、
当該パスワードの現在提示された生起例の第二のフィールドと当該パスワードの前記生成された生起例の第二のフィールドとを比較する、
ことを含むことを特徴とする、請求項１ないし９のうちいずれか一項記載の方法。
【請求項１１】
当該パスワードがさらに、擬似ランダムデータを含む第三のフィールドを有することを特徴とする、請求項１記載の方法。
【請求項１２】
前記擬似ランダムデータが利用者によって入力されることを特徴とする、請求項１１記載の方法。
【請求項１３】
前記保持されるデータが前記第三のフィールドの内容であることを特徴とする、請求項１１または１２記載の方法。
【請求項１４】
前記第三のフィールドの内容を保持することを有することを特徴とする、請求項６および１３のうちいずれか一項記載の方法。
【請求項１５】
一連の生起例において提示することができ、第一のフィールドの組および第二のフィールドを有するパスワードを受信し、認証するための装置であって、前記第一のフィールドの組が、（ａ）当該パスワードの各生起例で変化しない静的フィールドおよび（ｂ）当該パスワードの各生起例で外的データに基づいて変化する動的フィールドのうちの少なくとも一つを有し、前記第二のフィールドが、以前の認証の生起例の関数である履歴データを含むよう構成される装置であって、
当該パスワードの現在提示された生起例を入力する入力手段と、
当該パスワードの現在提示された生起例の第二のフィールドが当該パスワードの認証の以前の生起例以来保持されているデータを使って比較される比較処理を実行する比較手段、
とを有することを特徴とする装置。
【請求項１６】
前記履歴データが以前のパスワードの関数であることを特徴とする、請求項１５記載の装置。
【請求項１７】
命令やデータを保存したデータ担体であって、好適なコンピュータのメモリに読み込まれ、一連の生起例において提示することができ、第一のフィールドの組および第二のフィールドを有しており、前記第一のフィールドの組が、（ａ）当該パスワードの各生起例で変化しない静的フィールドおよび（ｂ）当該パスワードの各生起例で外的データに基づいて変化する動的フィールドのうちの少なくとも一つを有し、前記第二のフィールドが、以前の認証の生起例の関数である履歴データを含むよう構成されているあるパスワード現在の提示された生起例を提示されると、当該コンピュータをして、
当該パスワードの現在提示された生起例の前記第二のフィールドを当該パスワードの認証の以前の生起例以来保持されているデータを使って比較する比較処理を実行させることを特徴とするデータ担体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばクレジットカード決済またはハードウェアもしくはウェブサイトへのログインの認証などのための、パスワードを認証する方法ならびにパスワード認証のための装置およびソフトウェアに関するものである。
【背景技術】
【０００２】
電子商取引は人々がインターネットを使う主要な理由の一つになると予言されている。現在のところ、オンライン決済の拡大に対する主たる障害は、クレジットカードに関するセキュリティ問題およびＴＣＰ／ＩＰのオープンな特性ゆえにさらされるパスワードである。クレジットカード問題の主要な原因は窃盗およびクレジットカードの違法コピーである。これらはクレジットカードが用いている現行のパスワードシステムの問題に直接関係している。
【０００３】
多くの会社はクレジットカードやオンライン決済のためのセキュリティ解決策を提供する方法を見出そうと努力してきた。しばしばハードウェアによる解決策が提案されるが、それらは高価であり、コピーやハッキングの余地があるなどいまだ不完全である。さらに、暗号化されていようがいまいがインターネット上を流れるデータはいかなるものであれ第三者によって傍受することが可能であり、再使用される可能性がある。暗号化は、暗号化されたデータは人には理解できないという意味では有用ではあるが、技術的にはいかなる暗号化されたデータも「そのまま」インターネット上で再使用される可能性がある。
【０００４】
動的パスワードアルゴリズムが日経エレクトロニクス・アジア版（Nikkei  Electronics  Asia）の2000年4月号でChoonyeol  Yuによって記載されている。これは、単にパスワードアルゴリズムを変更することによってクレジットカードのセキュリティ用コンピュータシステムに実装されるソフトウェア的な解決策である。従来のシステムが毎回同じ英数字を使ってパスワードを入力することを許していたのに対し、記載されたシステムはクレジットカードが使われる時と場所によってパスワードが自動的に変化するという意味で動的である。パスワードは、時間上の点もしくは場所的な点またはその両方などに従って変わる変数の特性を利用して設定される。時間上の点は年、月、日、時、分、秒さらにはナノ秒などさえ含む。一方、場所的な点は地域コード、郵便番号、ホストＩＰアドレス、会社名などを含む。
【０００５】
銀行サーバーに接続する時点において実際に入力される数値は、「静的」パスワード（ｘ＋）変数として計算される。図１がそのパスワードの設定と使用のための方法を図解している。該図１を参照すると、マスターパスワード１０が第一の部分（フィールド）１１および第二の部分（フィールド）１２を有するものとして示されている。例を挙げると、マスターパスワードは１２３４に設定される。ある所与の時点で入力されるべき実際のパスワードを決定するために、マスターパスワードの両部分が変数因子を用いて結び付けられる。この例では、部分１１は時間因子の「時」の部分と結び付けられ、第二の部分１２は時間因子の「月」の部分と結び付けられる。よって、たとえば、利用者が２月５日の１０時にパスワードを入力しようとすれば、時の因子は１０であり月の因子は２である。これらの因子がパスワードのそれぞれの部分に加算され、その日のその時点において入力されるべき実際のパスワードは２２３６となる。同様に、１０月５日の１５：００には、入力すべきパスワードは２７４６となる。
【０００６】
前記技術を使えば利用者は、銀行で利用者の隣にいる他人、あるいはインターネット上のハッカーにパスワードが見られるかもしれないという心配から解放される。しかし、詐欺師やハッカーがマスターパスワードとその後のパスワード生成方式とを知ればセキュリティは危うくなるという問題が残る。追加的なセキュリティ対策を施すことが有益であろう。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
パスワードが受信者や傍受者によって再使用されることを防ぐ追加的なセキュリティを提供することが本発明の目的の一つである。
【課題を解決するための手段】
【０００８】
本発明の第一の側面によれば、一連の生起例において提示することができ、第一のフィールドの組および第二のフィールドを有するパスワードを認証する方法が提供される。前記第一のフィールドの組は、（ａ）当該パスワードの各生起例で変化しない静的フィールドおよび（ｂ）当該パスワードの各生起例で外的データに基づいて変化する動的フィールドのうちの少なくとも一つを有する。前記第二のフィールド（ここでは「ヒステリシスフィールド」または「履歴のある動的フィールド」と称する）は、当該パスワードの前回の生起例の関数であるデータ（または当該パスワードの前回の生起例のデータ）を含むよう構成される。当該方法は、当該パスワードの現在提示された生起例を受信し、当該パスワードの該現在提示された生起例の前記第二のフィールドが当該パスワードの認証の以前の生起例以来保持されているデータを使って比較される比較処理を実行することを含む。
【０００９】
これらの手段によって、パスワードの生起例（あるいは当該パスワードおよび新たなパスワードを構築するためのアルゴリズムさえも）は一回の使用に限り有効となり、再利用はできなくなる。ある一回の使用についてはパスワードは人に使わせることができるが、受け取った側がそれを再び使うことは防いでいるのである。方式や必要な外的データ（場所や時間など）を知っていることは、当該パスワードの新たな生起例を生成できるには十分ではないのである。
【００１０】
第一のフィールドの組は好ましくは、静的フィールドおよび動的フィールドを有する。動的フィールドについては、前記比較ステップは、日付および／または時刻および／または場所データおよび／または機械のＩＰアドレスなどの形での外的データを受信することを含んでいてもよい。
【００１１】
比較が成功すれば、当該パスワードの次の生起例での比較のためにデータが保持される。保持されるデータは、当該パスワードの現在提示された生起例の生起例受信の日付および時刻の一つを含んでいてもよいし、当該パスワードの現在提示された生起例の少なくとも一部を含んでいてもよいし、その両方でもよい。追加的あるいは代替的に、当該パスワードの現在提示された生起例の生起例受信の場所から導出されてもよい（たとえば、地名の字数からなっていてもよい）。
【００１２】
前記比較ステップは好ましくは、当該パスワードの生成された生起例の少なくとも第二のフィールドを生成し、当該パスワードの現在提示された生起例の第二のフィールドと当該パスワードの前記生成された生起例の第二のフィールドとを比較することを含む。
【００１３】
本発明の別の側面によれば、一連の生起例において提示することができるパスワードを受信し、認証するための、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）またはクライアント・サーバーの対をなす装置といった装置が提供される。当該装置は、当該パスワードの現在提示された生起例を入力する入力手段と、当該パスワードの生成された生起例のヒステリシスフィールド（履歴のある動的フィールド）を当該パスワードの認証の前回の生起例以来保持されているデータを使って比較する比較処理を実行する比較手段とを有する。
【００１４】
ラップトップコンピュータやＰＤＡのようなスタンドアロン機器の場合、前記入力手段はキーボードやキーパッドであってよい。ネットワーク接続された機器の場合、前記入力手段はネットワーク上の別の機器であってよい。後者の場合、前記入力手段および前記比較手段の位置が離れている場合、前記入力手段から前記比較手段に伝達されるパスワードを暗号化するための暗号化手段を設けてもよい。
【００１５】
好ましくは前記比較手段内のメモリが、比較が成功すると当該パスワードの次の生起例での比較のためにデータを保持する。
【００１６】
記載され、請求される本発明は、命令やデータを保存したデータ担体の形で提供されることもできる。これらの命令およびデータは下記にてより詳細に説明するように、好適なコンピュータのメモリに読み込まれ、あるパスワードの現在の提示された生起例を提示されると、当該コンピュータをして、当該パスワードの現在提示された生起例のヒステリシスフィールド（履歴のある動的フィールド）を当該パスワードの認証の前回の生起例以来保持されているデータを使って比較する比較処理を実行させる。
【００１７】
本発明のさらなる側面および好ましい実施形態の詳細について、これから、あくまでも例としての図面を参照しつつ説明する。
【発明を実施するための最良の形態】
【００１８】
図２を参照すると、マスターパスワード１００がフィールド１０１から１０５を有するものとして示されている。フィールド１０１は動的であり、日付フィールドである。フィールド１０２は動的であり、時間フィールドである。フィールド１０３および１０４はヒステリシスフィールドであり、第一のもの（フィールド１０３）は前回の日付フィールド、第二のもの（フィールド１０４）は前回の時間フィールドである。フィールド１０５は静的フィールドである。マスターパスワード１００の下には、現在パスワード１１０が示されている。これはマスターパスワード１００から次のようにして導出される。パスワード１１０が２月２１日１４：１５に生成される例が示されている。この生起例１１０では、今扱っている例では日付の日の数字および時間の時の数字を使って日付フィールド１０１および時間フィールド１０２を修正する。今扱っている例では、マスターパスワードは１２３４５６７８９０である。
【００１９】
２月２１日１４：１５には、パスワード１１０は、フィールド１０１の値に２１を加えて３３とし、フィールド１０２の値に１４を加えて４８として生成される。「前回の日付」フィールド１１３はマスターパスワード１００（これが今の場合の前回の有効なパスワードである）の日付フィールド１０１からその値をとり、「前回の時間」フィールド１１４はマスターパスワード１００の時間フィールド１０２からその値をとる。静的フィールド１１５は変化せず、パスワード１００の静的フィールド１０５に見られる値９０をとる。こうして新たなパスワードは３３４８１２３４９０となる。
【００２０】
図のさらに下に行くと、第３のパスワード１２０が同様にして生成される。日付フィールド１２１および時間フィールド１２２はマスターパスワードの日付フィールド１０１および時間フィールド１０２から現在の日付および現在の時間（すなわち、新たなパスワードを入力する日付および時間）を使って導出される。「前回の日付」フィールド１２３および「前回の時間」フィールド１２４はそれぞれ直前のパスワード１１０の日付フィールドおよび時間フィールドから導出される。この方法は第４のパスワード１３０を生成するために繰り返される。ここでもマスターパスワード１００から導出されるフィールドと、前回のパスワード１２０から導出されるフィールドとがある。
【００２１】
記載された構成の主要な利点は、「一度きり使用」の特徴をもつことである。このため、不正使用される心配なく他人に使わせることができる。たとえば、利用者Ａが利用者Ｂにパスワード１１０をその使用法とともに伝える場合、利用者Ｂは「日付＋１２、時間＋３４、１２３４９０」を入力するよう指示される。そうすれば、利用者Ｂがそのパスワードを２月２１日１４：１５に使用したとすると、利用者Ｂはパスワード３３４８１２３４９０を生成し、保護されているアカウント、装置またはドメインを利用することができる。しかし、利用者Ｂはフィールド１１３、１１４、１１５（すなわち１２３４９０の数字）が静的フィールドでないことを知らない。利用者Ｂは、たとえ同じ日付の同じ時間に使用を試みたとしてもそのパスワードを再使用することはできない。
【００２２】
パスワードを再使用するためには、利用者は前回の使用の日付と時間を記憶していなければならない。利用者は各使用後にパスワードに小修正を加えなければならない。これは利用者にとっては余計な知的努力が要求されることになるが、セキュリティは著しく向上する。
【００２３】
日付と時間を使う代わりとして、前回の使用の場所をフィールド１０１、１０２に入力することもできる。この情報を入力する簡単な方法は、前回の使用場所の地名の文字数を数えることである。たとえば、前回の使用場所がバンガロール（Bangalore）であれば、これは９文字なので、この数字がマスターパスワードの基本数に加えられる。
【００２４】
もちろん、この方式はフィールド（日、月、時、場所）を追加することによってより複雑にすることも、使うフィールド数を少なくすることによって単純化することもできる。
【実施例１】
【００２５】
図３を見ると、本発明の代替的な実施例に基づくパスワードの構造が示されている。パスワードは静的な部分と動的な部分に分けられる。動的な部分は履歴のある動的な部分および履歴のない動的な部分を含んでいる。こうして、静的なフィールド２０１、履歴のある動的フィールドである一連のフィールド２０２、履歴のない動的フィールドである一連のフィールド２０３がある。
【００２６】
履歴のある動的フィールド（dynamic  fields  with  history）は次の関係式を用いて更新される。
【００２７】
PiのDH0＝F0(Pi-1,Ei-1)
PiのDH1＝F1(Pi-1,Ei-1)
PiのDHn＝Fn(Pi-1,Ei-1)
ここで、Pi、Pi-1はそれぞれ現在のパスワードと前回のパスワードである。Ei-1は前回のログインセッションのログイン日時などのイベント記録（event  record）である。F0、F1、...Fnは単純な関数である。すなわち、DH0…DHnについてn+1個の記憶（履歴）関数があり、それぞれ前回のパスワード（Pi-1）および前回のログインセッションのイベント記録（Ei-1）に依存する。
【００２８】
履歴のない動的フィールドは次の関係式を用いて規定される。
【００２９】
D1＝f1(v1,v2,...)
D2＝f2(v1,v2,...)
Dm＝fm(v1,v2,...)
ここで、v1,v2,...は変数（variable）であり、時間上の点、場所的な点などに基づいて変化する。
【００３０】
この第二の実施形態の使用について図４を参照しつつ説明する。
【００３１】
図４では、マスターパスワードが、第一の履歴のある動的フィールド（DH0）３０１（今の場合時間フィールド）、静的フィールド３０２、第二の履歴のある動的フィールド（DH1）３０３、第三の履歴のある動的フィールド（DH2）３０４、第一の履歴のない動的フィールド（D1）３０５、第二の履歴のない動的フィールド（D2）３０６を有するものとして示されている。
【００３２】
マスターパスワード３００が生成されるとき、まだ履歴がないので履歴のある動的フィールド（DH0〜DH2）は０に設定される。マスターパスワード３００はバンガロールで３月（March）３日１７：３１に生成され、履歴のない動的フィールド３０５、３０６はこのデータを使って設定される。今の例では、アルゴリズムは月の英語名の文字数と地名の文字数を動的データとして使用する。よって、フィールド３０５は０５と設定され、フィールド３０６は０９と設定される。
【００３３】
次の使用の際には、パスワード３１０を生成する必要がある。今の例では、パスワード３１０は２月（February）７日１８：２３にムンバイ（Mumbai）で生成される。フィールド３１１を生成するための関数F0は利用者が前回のパスワード入力の正確な時間を覚えており、たとえば前回のログインセッションのイベント記録を使うことを要求する。前回の入力時間の時間フィールドから分がマスターパスワード３００のDH0フィールド（すなわちフィールド３０１）に加えられる。今の例では、マスターパスワードは午後５時３１分に生成されているので、フィールド３１１は３１を入れることによって生成される。（フィールド３１１は、マスターパスワード３００のフィールド３０１の値に３１を加えることによっても同じように生成できることを注意しておく。）フィールド３１２は静的フィールドであり、変化しない。フィールド３１３は履歴のある動的フィールドであり、前回の有効なパスワード（今の場合はマスターパスワード３００）のフィールド３０４における履歴値を受け取る。フィールド３１４もまた履歴のある動的フィールドであり、前回の有効なパスワード３００の前回の有効なフィールド３０５からの値を使う。フィールド３１５、３１６は先ほどと同じように月名の文字数（今の場合、月は２月［February］なので値は８）および地名の文字数（今の場合、土地はムンバイ［Mumbai］であり値は６）を入れることによって生成される。こうしてパスワード３１０は、前回のパスワードからのフィールド、前回のパスワードの入力時間からの情報、現在のパスワードの入力の時間と場所からの情報を使って生成される。
【００３４】
のちの時点において異なる場所で、図示しているように同様のアルゴリズムによってさらなるパスワード３２０を生成することができる。ここでもまた、利用者は前回のパスワードが入力された正確な時間を分単位で覚えていることが必要である。
【００３５】
もちろん、関数F0,F1,...,Fnおよびf1,f2,...,fmは今の例で用いたものより複雑さを上げたり下げたりすることもできる。たとえば、前回のパスワード入力を分単位で正確に覚えなければならない代わりに、前回のパスワード入力の日や月、あるいは現在のログインの時間をフィールド３１１に使うこともできる。あるいはまた、図２のアルゴリズムの場合ｔ同様に、フィールド３１１、３１５、３１６は、値を入れるのではなく加算することによって生成することもできる。すなわち、値をマスターパスワードの対応するフィールドの値に加えるのである。
【００３６】
パスワードを認証するシステムは、利用者が使うアルゴリズムとそっくり同じパスワード生成アルゴリズム、あるいは単純化したアルゴリズムを使う。図２の例の場合でいえば、認証システムは、利用者のカレンダーと時計に同期したカレンダーと時計を有していることで、利用者がログオンを試みている日付と時間を知り、パスワードの５つのフィールド全部はいかなる認証でも比較できる。
【００３７】
認証は暗号化と一緒に使うこともできる。その場合、鍵が利用者に渡され、利用者はパスワードを暗号化してシステムに送り、システムは比較を実行する前にパスワードを復号する。
【００３８】
図４に挙げられている例では、システムはパスワード３００の入力時間を記録する。次のパスワード３１０が入力されるときにフィールド３１１の比較ができるようにするためである。認証システムがパスワード入力の場所を同定でき、それによりパスワード３１０のフィールド３１６の比較をするための入力地点の文字数を計算できる手段が提供される（下記でより詳細に説明する）。
【００３９】
入力された全フィールドについて比較すなわち検証が行われることが好ましい。それにより誤ったデータが他のフィールドに伝搬してのちのログインに支障をきたすことが避けられる。
【実施例２】
【００４０】
別の実施形態では、パスワードはランダムヒステリシス（random  hysteresis）（ＲＨ）フィールドおよびランダム無関心（random  don't  care）（ＲＤ）フィールドを有する。現在のパスワードの「ランダムヒステリシス」フィールドは「前回の」パスワードのランダム無関心フィールドの関数であるデータを含んでおり、現在のパスワードの「ランダム無関心フィールド」は乱数値である。この実施形態によれば、パスワード認証のための単純かつ安全な解決法が提供される。ランダムヒステリシスフィールドは関数Fとして次のように表せる。
【００４１】
RH＝F(RD′)
ここで、RD′はパスワードの前回の生起例のランダム無関心フィールドである。
【００４２】
第二のフィールド（「ランダム無関心フィールド」）は利用者によってランダムに入力されるデータである。このフィールドがランダム無関心フィールドと称されるのは、パスワードのある特定の生起例において利用者がランダムに入力するいかなる文字列でもよい（ある最大値以下の長さに限定されるが）からである。パスワードの現在の生起例については、このフィールドは「無関心」フィールドと考えられる。このフィールドは、当該パスワードののちの生起例において関数Fを使ってRHフィールドを知るのに使われる。
【００４３】
マスターパスワード１００がランダムヒステリシスフィールドおよびランダム無関心フィールドの２つのフィールドを有している。このマスターパスワード１００から現在のパスワード２００は次のようにして導出される。
【００４４】
マスターパスワード１００はランダム無関心フィールド１２５７３を有している。現在のパスワードのランダムヒステリシスフィールドを構築するため、例として関数はF＝abs(RD′−1111)であるとする。
【００４５】
この関数を使うと、ランダムヒステリシスフィールドは12573−1111＝11462として計算される。利用者はランダム無関心フィールドをランダムに43509として入力する。よって、パスワードは1146243509となる。このランダム無関心フィールドは当該パスワードの現在の生起例にとっては関心のないものである。パスワード認証アルゴリズムは現在の生起についてはこのフィールドを単に無視し、当該パスワードののちの生起においてランダムヒステリシスフィールドを生成するためにこの値を単に保存しておく。同様にして、当該パスワードの次の生起例のランダムヒステリシスフィールドは43509−1111＝42398として計算される。この生起例では、利用者はランダム無関心フィールドをランダムに選んだ数である34524として入力する。これによりパスワードは4239834524となる。当該パスワードのその次の生起例の生成も同様の手順に従って行われる。
【００４６】
この場合、利用者は、当該パスワードの前回の生起例で入力したランダム無関心フィールドと、ランダムヒステリシスフィールドを生成するための関数とを覚えなければならない。いずれもこの場合にはより覚えやすい。このパスワード認証は、生成されるパスワードのランダム性が高いため追加的な安全性を提供する。また、ヒステリシス挙動も追加的な安全性を提供する。同時に、パスワード生成は非常に単純である。ほとんど静的パスワードと同じくらい単純である。
【実施例３】
【００４７】
ここで図５を参照すると、パスワード入力および認証のための、利用者装置５００とサーバー５０１とを有するシステムが示されている。利用者装置はキーパッドやキーボードのようなデータ入力装置５１０、プロセッサ５１１、メモリ５１２、時計５１３、ネットワークポート５１５に接続されたネットワークインターフェース５１４を有している。サーバー５０１はプロセッサ５２０、メモリ５２１、時計５２２、ネットワークポート５２４に接続されたネットワークインターフェース５２３を有している。ネットワークポート５１５および５２４はネットワーク（図示せず）を通じて接続されている。
【００４８】
動作では、利用者装置５００の利用者はサーバー５０１との通信を確立し、その際、サーバーは利用者にパスワード入力を要求する。そうして利用者に要求をしたサーバー５０１は、利用者装置５００が暗号化されたパスワードを返せるよう利用者装置５００に鍵を伝送してもよい。利用者装置５００の利用者はパスワードを構築し、それを入力装置５１０を通じて入力する。利用者はパスワード構築において、メモリ５１２に保存されたデータや時計５１３によって提供される時間や日付によって支援されてもよい。利用者がそのようにパスワード構築を支援される度合いは、このシステムのためにその利用者がパスワードを入力するのが利用者装置５００を通じてのみであるのかどうかに依存する。パスワードの入力があると、プロセッサ５１１はサーバー５０１によって提供された鍵を使ってそのパスワードを暗号化し、インターフェース５１４を通じてそのパスワードをサーバー５０１に届ける。サーバー５０１の側ではパスワードはインターフェース５２３で受信され、プロセッサ５２０によって復号され、プロセッサ５２０によってメモリ位置５２１ａに保存されているマスターパスワードデータおよびメモリ位置５２１ｂに保存されている前回のパスワードデータと比較される。前回のパスワードデータは前回のパスワードであってもよいし、前回のパスワードの入力の時間や日付や場所を含んでいてもよい。マスターパスワードデータおよび前回のパスワードデータを使って、マイクロプロセッサ５２０が期待されるパスワードを構築し、受信され復号されたパスワードとローカルに構築されたパスワードとの間の比較を実行する。一致すれば認証メッセージが利用者装置５００に返送され、利用者に認証が成功したことを通知し、パスワードで保護されたサービス（これはサーバー５０１によって提供されるものでもよいし、他の何らかのシステムによって提供されるものでもよい）へのアクセスを提供する。
【００４９】
ログインの場所を知っていることを要求する認証システムでは、サーバー５０１は利用者５００の位置をポート５１５のＴＣＰ／ＩＰ番号によって同定する。サーバー５０１はＴＣＰ／ＩＰ番号の探索を実行し、地名を同定し、認証を簡単にするためにその地名中の文字数の計数を実行する。
【００５０】
図６を見ると、サーバー５０１で実行されるプロセスが示されている。プロセスはステップ６００で、サーバー５０１が利用者装置５００の利用者からのログインを受信する用意ができるところから始まる。利用者がログインを実行すると、それがステップ６０１において受信され、二つの同時処理を引き起こす。第一に、ログインの時間もしくは場所またはその両方がメモリ５２１内のイベントログに記録される（ステップ６０２）。第二に、プロセスはステップ６０３に進み、マスターパスワードと前回のパスワードがそれぞれメモリ位置５２１ａ、５２１ｂから呼び出され、前回のログインについての時間データがイベントログから呼び出される。次に、ステップ６０４において、ステップ６０２で記録された時間もしくは場所またはその両方のデータを使い、またステップ６０３で呼び出されたマスターパスワードおよび前回のパスワードならびにイベントログからの時間データを使い、新たなパスワードが構築される。この新たに構築されたパスワードは、ステップ６０５において利用者から新たに受信されたパスワードと比較される。一致すれば（ステップ６０６）、新たなパスワードが将来の使用のためにメモリ位置５２１ｂに記録され（ステップ６０７）、ステップ６０８でアクセスが認められる。ステップ６０６で一致しなければ、利用者にエラーメッセージが返される（ステップ６１０）。
【００５１】
利用者はパスワードを構築する複雑な役割において、利用者装置５００の時計５１３もしくはメモリ５１２またはその両方を使って支援されることができる。これは、サーバー５０１が常に利用者装置５００からアクセスされるようシステムが構成されている場合にはとりわけ有用である。その場合、利用者に対して利用者装置５００が、適当な履歴のある動的フィールド、静的フィールド、履歴のない動的フィールドに適当なデータを入力するよう促すこともできる。さらなる支援機能として、これらのフィールドの一部または全部がメモリ５１２に保存されているデータから自動的に置かれていてもよい。その場合、たとえばパスワードは、利用者が完全に記憶しておかなければならない部分、利用者が構築の仕方を記憶しなければならない部分、メモリ５１２もしくは時計５１３またはその両方から自動的に構築される部分に分割することができる。
【００５２】
いずれの場合でも、ネットワークを通じて送信される暗号化されたパスワードは動的であり、盗聴者による傍受によって安全性が損なわれることはない。
【００５３】
装置５００および５０１はラップトップコンピュータのような単一の装置にまとめられることもできる。当該システムはそのスタンドアロン機器へのパスワードアクセスのために使われることができるのである。
【００５４】
パスワード生成および認証の方法について、パスワードを生成するためのさまざまなソフトウェアアルゴリズム、パスワードを認証するためのソフトウェアプログラム、パスワード認証された装置やサービスへのアクセスを提供するシステムとともに述べてきた。第一の記載された実施形態は、前回のパスワードからの履歴データだけを使うものであった。その一方、第二の実施形態はイベントログデータ（たとえば最後のログインの時間）や現在ログインデータ（たとえば現在ログインの場所）も利用する。こうして記述された本発明は、最高レベルのセキュリティが期待され、断続的なパスワード検証が活動の間に実行され、そのパスワードが毎回変わりうる防衛設備における用途がある。本発明はまた、電子商取引の決済にも用途がある。その場合、絶えず変化するパスワードは著しく安全性を向上させる利点がある。記載された本発明は、パスワードをおおっぴらに他人に使わせることができ、それでいて受け取った側がそのパスワードを一度きりしか使えないことが保証されるという利点がある。
【００５５】
請求項において述べられるいくつかの手段の機能は単一のプロセッサまたはユニットが果たしてもよい。述べられている単一の手段がネットワーク接続された環境において複数の手段によって果たされてもよい。一つまたは複数の要素またはステップを有する要素またはステップが記載されている場合、「有する」の語は他の要素やステップを排除するものではない。単数形の表現は複数を排除するものではない。通常の技量を有する当業者には、本発明の範囲内で、本発明のさらなる修正を行うことができ、またさらなる利点が明らかとなることであろう。
【図面の簡単な説明】
【００５６】
【図１】従来技術の動的パスワード割り当て方式の方法を示す図である。
【図２】本発明の第一の実施形態に基づくヒステリシスのある動的パスワード割り当ての方法を示す図である。
【図３】本発明の第二の実施形態に基づく、履歴のある動的フィールドをもつパスワードの構造を示す図である。
【図４】本発明の第二の実施形態に基づく、履歴のある動的フィールドをもつパスワードの使用を示す図である。
【図５】本発明に基づくパスワードを受信するハードウェア機器を示す図である。
【図６】図５のような機器におけるソフトウェアの動作を示すフローチャートである。
【図１】
2006527880.tif 000003
【図２】
2006527880.tif 000004
【図３】
2006527880.tif 000005
【図４】
2006527880.tif 000006
【図５】
2006527880.tif 000007
【図６】
2006527880.tif 000008
【国際調査報告】
2006527880.tif 000009
2006527880.tif 000010
2006527880.tif 000011