(57)【要約】  ユーザ認証方法は、ユーザ式の形で認証キーを生成するステップと、各々に値が割り当てられた変数の配列をユーザに提示するステップと、前記ユーザ式の一致する変数に前記割り当てられた値を当てはめて第１の結果を計算するステップと、前記第１の結果が前記ユーザ式の別個で独立した計算についての第２の結果に一致する場合に前記ユーザを認証するステップと、を含む。
2007516512.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ認証方法であって、
ユーザ式の形で認証キーを生成するステップと、
各々に値が割り当てられた変数の配列をユーザに提示するステップと、
前記ユーザ式の一致する変数に前記割り当てられた値を当てはめて第１の結果を計算するステップと、
前記第１の結果が前記ユーザ式の別個で独立した計算についての第２の結果に一致する場合に前記ユーザを認証するステップと、
を含む方法。
【請求項２】
前記変数が文字を含むことを特徴とする請求項１記載の方法。
【請求項３】
前記変数の配列がアルファベット順の文字を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記割り当てられた値が数値を含むことを特徴とする請求項１記載の方法。
【請求項５】
前記割り当てられた値がランダムに生成される数値を含むことを特徴とする請求項１記載の方法。
【請求項６】
前記変数が１０×１０のマトリクスに配置されていることを特徴とする請求項１記載の方法。
【請求項７】
前記ユーザにユーザ式を生成する助けを提供することを含む請求項１記載の方法。
【請求項８】
前記ユーザ式が１つ以上のカスタム演算子を含むことを特徴とする請求項１記載の方法。
【請求項９】
前記１つ以上のカスタム演算子は、ユーザ式変数と関連付けられて、前記関連付けられた変数からオフセットされた前記配列の変数からの値を当てはめる関数を含むことを特徴とする請求項８記載の方法。
【請求項１０】
前記ユーザ式は、前記ユーザ式で用いる演算子を含む１つ以上の関数を含むことを特徴とする請求項１記載の方法。
【請求項１１】
請求項１記載の方法であって、
前記第１の結果を与えられる変数を有するローカル式と前記ユーザ式を有するリモート式とを生成するステップと、
前記ローカル式の計算が前記リモート式の計算と一致する場合に前記ユーザを認証するステップと、
を含む方法。
【請求項１２】
前記ローカル式及び前記リモート式が、ランダムに選択されて指示される少なくとも１つの変数、定数及び演算子を含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記ローカル式が可搬型であることを特徴とする請求項１１記載の方法。
【請求項１４】
前記ローカル式の前記計算が、ローカルコンピュータ機器によって実施され、前記リモート式の計算が、前記ローカルコンピュータ機器から離隔した制御装置によって実施されることを特徴とする請求項１１記載の方法。
【請求項１５】
前記第１の結果がダミーのキャラクタを含むように前記ユーザ式が構築されることを特徴とする請求項１記載の方法。
【請求項１６】
前記ユーザ式が、前記配列の変数に割り当てられた値を利用して、秘密のフレーズ内の特定の文字を指示することを特徴とする請求項１記載の方法。
【請求項１７】
前記ユーザ式が、起動時に前記ユーザに新しい配列を提示するリセット関数を含むことを特徴とする請求項１記載の方法。
【請求項１８】
認証で、前記ユーザがローカルサービスにアクセスすることを許可されることを特徴とする請求項１記載の方法。
【請求項１９】
前記ユーザに前記変数の配列を提示することがローカルコンピュータ機器によって実施され、前記ユーザ式の前記別個で独立した計算が前記ローカルコンピュータ機器から離隔した制御装置によって実施され、前記ユーザは認証でサービスにアクセスすることを許可されることを特徴とする請求項１記載の方法。
【請求項２０】
前記ユーザ、サービス及び制御装置が、ネットワークを介して商取引に参加している企業体であることを特徴とする請求項１９記載の方法。
【請求項２１】
請求項１による認証セッションを開始する包袋を用意するステップと、
前記包袋にデータとともにメッセージを封入するステップと、
メッセージ受信者に対する第１の認証セッションとメッセージ発信者に対する第２の認証セッションとをメッセージを開こうとする試みで開始するステップと、
前記第２の認証セッションに起因するユーザ式を判断するステップと、
前記結果を前記第１の認証セッションに与えるステップと、
認証で、前記受信者に前記メッセージ及びデータにアクセスすることを許可するステップと、
をさらに含む請求項１記載の方法。
【請求項２２】
ユーザ認証システムであって、
ユーザ式と、
各々に値が割り当てられた変数の配列と、
ユーザにより入力される、前記変数の配列に関係付けられた前記値を前記ユーザ式の一致する変数に当てはめた第１の結果と、
前記ユーザ式を用いて別個で独立した計算を実施して第２の結果を取得し、前記第１の結果が前記第２の結果と一致する場合にユーザを認証する回路と、
を含むシステム。
【請求項２３】
前記変数が文字を含むことを特徴とする請求項２２記載のシステム。
【請求項２４】
前記変数の配列がアルファベット順の文字を含むことを特徴とする請求項２２記載のシステム。
【請求項２５】
前記割り当てられた値が数値を含むことを特徴とする請求項２２記載のシステム。
【請求項２６】
前記割り当てられた値がランダムに生成された数値を含むことを特徴とする請求項２２記載のシステム。
【請求項２７】
前記変数が、１０×１０のマトリクスで配置されることを特徴とする請求項２２記載のシステム。
【請求項２８】
前記１つ以上のカスタム演算子は、ユーザ式変数と関連付けられて前記関連付けられた変数からオフセットされた前記配列の変数からの値を当てはめる関数を含むことを特徴とする請求項２２記載のシステム。
【請求項２９】
前記ユーザ式が前記ユーザ式において用いられる演算を含む１つ以上の関数を含むことを特徴とする請求項２２記載のシステム。
【請求項３０】
前記第１の結果を与えられる変数を有するローカル式の結果を記憶して計算するローカルコンピュータ機器と、
前記ユーザ式を有するリモート式の結果を記憶して計算し、前記ローカル式の前記結果が前記リモート式の前記結果と一致する場合に前記ユーザを認証する、前記ローカルコンピュータ機器から離隔している制御装置と、
を含む請求項２２記載のシステム。
【請求項３１】
前記ローカル式及び前記リモート式が、ランダムに選ばれて指示される少なくとも１つの変数、定数及び演算子を含むことを特徴とする請求項３０記載のシステム。
【請求項３２】
前記ローカル式が可搬型であることを特徴とする請求項３０記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの安全保護に関し、特に、ユーザの認証に関する。
【背景技術】
【０００２】
コンピュータシステムは、ユーザに対して様々なアプリケーションまたはサービスを提供できる。一般に、システムへのアクセスは、許可されたユーザに限られているかもしれない。ユーザの認証についての一例は、ユーザがユーザ名及びパスワードを入力することを要求されるログイン方法である。
【０００３】
技術の新たな進展にも関わらず、ユーザ名とパスワードとの組合せは、相変わらず最も一般的なアクセス制御手段のうちの１つである。しかしながら、パスワードは不利であるかもしれない。なんとなれば、容易に記憶されるパスワードは割り出すのが極めて容易であり、複雑で割り出すのに難しいものは容易に忘れられるからである。
【０００４】
この種のシステムの完全な状態は、概して、パスワードを秘密にしておくことに基づいている。しかしながら、パスワードを割り出す多くの知られている方法がある。知られている方法には、推測すること、一般的なパスワードまたは全ての知られている言葉についての辞書を用いること、文字・記号（キャラクタ）の全ての組合せを用いることを含むしらみつぶしの試み、サーバとやり取りしている間にパスワードに関してネットワークトラフィックを監視すること、「ショルダーサーフィン」（ログインの間にユーザの肩越しに見ること）、キーロギング（ログインの間にユーザのキー入力を記憶するかまたは伝えること）、その他を含む。
【０００５】
この種の攻撃に対する知られている防御策は、パスワードをより長くして推測するのをより難しくすることと、辞書の適用及びしらみつぶしの技術をより難しくすることとを含む。他の防御策は、例えばユーザに関係のある名前、電話番号、生年月日、その他などの「意味がある」パスワードの使用を禁止すること、ユーザがパスワードを入力するときにアスタリスクなどの意味のないキャラクタを表示してショルダーサーファーにアスタリスクだけが見えるようにすること、ネットワークを介してパスワードを送出する前にパスワードを暗号化してネットワーク監視による探知を防ぐこと、を含む。
【０００６】
アクセス制御及び認証の１つの方法は、ワンタイムパスワード（ＯＴＰ）の使用である。ユーザはログインするたびに異なるパスワードを使用し、よって、上述の攻撃技術の多くを役に立たない技術にする。パスワードを傍受し、キーログし、そうでなければ割り出すことは、何らの利点をもたらさない。なんとなれば、取得されたパスワードを再び用いることができないからである。
【０００７】
最も一般的に利用可能なＯＴＰシステムは、多かれ少なかれ同じプロトコルを共有する。ログイン方法の一部として、サーバはユーザにいわゆるチャレンジを送出する。いわゆるチャレンジは単に大きい乱数であってもよい。ユーザは、例えばＯＴＰを生成する特別な物理的な機器またはソフトウェアなどのＯＴＰ生成器に、この数を入力する。ユーザは該ＯＴＰを入力する。サーバも同様に、それ自体のＯＴＰ生成器に該チャレンジを入力する。サーバのＯＴＰとユーザのＯＴＰが一致すれば、ユーザは認証される。
【０００８】
ＯＴＰ生成器が物理的な機器（例えばスマートカード、トークン、バイオメトリック装置、その他）であるという点に、失われたか、壊れたかまたは盗まれたＯＴＰ生成器のコスト及び不利が不安となる。
【０００９】
パスワード生成アルゴリズムが全てのユーザに対して同じものである例では、各々のユーザは、結果を唯一のものにするために秘密のキーを割り当てられる。このキーは、通常、ユーザのＯＴＰ生成器に埋め込まれ、サーバのデータベースにも記憶される。このＯＴＰ生成スキームにはいくつかのバリエーションがある。例えば、時刻がチャレンジの代わりに用いられてユーザとサーバとを同期させてもよい。ほとんどの場合、安全確保はユーザの秘密のキーの完全性に依存する。キーの情報が漏洩されると、システムは無効になる。その結果、パスワードのように、最もよく知られているものの１つであるしらみつぶしを用いて、キーは様々な種類の攻撃の対象となる。安全確保のさらなる層が、ＯＴＰを計算するアルゴリズムを保護することにより提供されるが、執拗にアルゴリズムは割り出されて信頼できる安全確保の要素でない。
【００１０】
ネットワーク環境において、通常、サーバは様々なサービス及びアプリケーションを、ネットワークで結ばれた多数のユーザへ提供する。サーバは、特定のサービスまたはアプリケーションの使用を適切に許可するために作動してユーザを確かめる。通常、これは上記した標準のログインプロセスによって実施される。サーバはその時入力されたユーザ名及びパスワードを記憶されたユーザ名及びパスワードと合致させる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
辞書アプリケーション、しらみつぶし攻撃、トラフィック監視、ショルダーサーフィン、キーロギング及び様々な他の種類の攻撃に強固であって耐える認証システムを提供することが有利である。
【課題を解決するための手段】
【００１２】
本発明は、ユーザを認証する方法及び装置を目的とする。１つの実施例において、本発明は、ユーザ式の形で認証キーを生成するステップと、各々に値が割り当てられた変数の配列をユーザに提示するステップと、前記ユーザ式の一致する変数に前記割り当てられた値を当てはめて第１の結果を計算するステップと、前記第１の結果が前記ユーザ式の別個で独立した計算についての第２の結果に一致する場合に前記ユーザを認証するステップと、を含む。
【００１３】
他の実施例において、本発明は、ユーザ式と、各々に値が割り当てられた変数の配列と、
ユーザにより入力される、前記変数の配列に関係付けられた前記値を前記ユーザ式の一致する変数に当てはめた第１の結果と、前記ユーザ式を用いて別個で独立した計算を実施して第２の結果を取得し、前記第１の結果が前記第２の結果と一致する場合にユーザを認証する回路と、を含むユーザ認証システムを含む。
【発明を実施するための形態】
【００１４】
本発明の前述の態様及び他の特徴は、添付の図面に関連して成される以下の記述において説明される。
【００１５】
図１を参照すると、本発明の特徴を取り入れているユーザ認証システム１００が、示されている。本発明は図面に示される実施例を参照して説明されるが、本発明は実施例の多くの代替形式において実施され得るということが理解されるべきである。さらに、いかなる適切なサイズ、要素の形状または種類、または構成要素が用いられてもよい。
【００１６】
図１に示すように、システム１００は、この例ではユーザインタフェース１１０で示されるユーザインタフェース機能と、この例では制御装置１１５として示される認証制御機能とを含む。
【００１７】
本発明は、ユーザ式の形で認証キーを生成することを含む。認証セッションの開始時に、ユーザは、各々が値を割り当てられている変数の配列を提示される。ユーザは、提示された変数と関連付けられた値をユーザ式の一致する変数に当てはめて結果を入力する。
【００１８】
図２のフローチャートを参照してさらに詳細に説明すると、ユーザ式は、ブロック３１０に示されるように生成される。ユーザ式は、一組の変数及び演算子からユーザによって構築されてもよい。認証システムがアプリケーションを提供し、そこから選択される変数及び演算子のリストを提供することによってユーザを補助してもよい。認証システムは、また、ユーザのために自動的にユーザ式を生成できるアプリケーションを提供してもよい。得られる式は、ブロック３１５に示すように、通常、ユーザにより記憶され、認証システムによって記憶される。
【００１９】
ユーザが、装置、サービス、アプリケーションまたは機能へのアクセスを要求し、そのとき認証セッションが、ブロック３２０に示すように開始されてもよい。認証セッションの開始時に、認証システムはブロック３２５で示すように、各々が値を割り当てられた変数の配列をユーザに提示する。ユーザは、ユーザ式の変数に一致する、配列に示された変数を認識する。次にユーザは、変数に割り当てられた値を、ブロック３３０に示すようなユーザ式に当てはめ、ブロック３３５に示すように結果を入力する。
【００２０】
値は、ランダムに生成されて変数に割り当てられてもよく、通常各認証セッションとともに変化してもよい。認証システムは、変数に割り当てられた値を独立してユーザ式に当てはめて、ブロック３４０に示すように独立の結果を生成する。認証システムは、ブロック３４５に示すように独立の結果を入力された結果と比較する。そして、結果が一致する場合、認証システムはユーザにサービスまたはアプリケーションへのアクセスの権利を与える（ブロック３５０）。結果が一致しない場合、アクセスが拒否される（ブロック３５５）。
【００２１】
例えば、ユーザは以下のユーザ式を構成してもよい。即ち、３＊（２＊Ｑ＋３＊Ｔ）であってもよい。認証セッションの間に、変数及び値の配列が、ユーザに提示される。配列の変数Ｑが値３２を割り当てられ、配列の変数Ｔが値９を割り当てられると、ユーザ式は、３＊（２＊３２  ＋３＊９）、または値２７３を生じる。次にユーザは、数２７３を入力する。認証システムが変数及び値の配列を生成してユーザ式を記憶したので、認証システムはユーザ式を用いて同じ計算をする。結果が一致すれば、ユーザは認証される。
【００２２】
上記した認証セッションに加えて、システム１００は、認証システムの一部として管理方法を提供してもよい。認証セッションは、上記したような装置、サービス、アプリケーションまたは機能へアクセスするためにユーザに資格を与えることを含む。通常、管理方法はユーザに、ユーザが式を設定することができるツールを提供し、次の認証セッションに対する式を記録する。さらに、例えばスペース及びディレクトリの割り当て、暗号化方法、プログラム間通信、その他などの他の設定及び管理方法を取り扱う。
【００２３】
上記の認証セッションの一部として、変数の配列が、ユーザに提示されてもよい。配列例が、図３に示される。この例では、配列３６０は、格子３６５、ユーザ名３７０を入力する領域及び、本発明によるユーザ式を当てはめた結果であるパスワード３７５を入力する領域を含む。格子３６５はセル３８０で構成されていて、各々のセルはユーザ式変数を表す文字または文字の組合せ３８５により示されてもよい。各変数は、値３９０を割り当てられる。上記したように、各変数に割り当てられた値は、配列がユーザに提示される度に変化してもよい。１つの実施例では、各々の値は、配列が提示される度に、乱数生成器によって生成される。
【００２４】
上述した典型的な式３＊（２＊Ｑ＋３＊Ｔ）を用いると、ユーザは配列３６０を調べ、変数Ｑが６９という値を割り当てられていて、変数Ｔが４９という変数を割り当てられているとわかる。ユーザは、式を当てはめて、結果を入力する。
【００２５】
この例では、各セルが２つの構成要素、変数及び値を含む。変数が文字に関連して記載されていて、値が数に関連して記載されていると同時に、変数及び値がいかなる認識可能ないかなるマーク、シンボル、またはイメージとして示されてもよいということが理解されるべきである。
【００２６】
また、この例では、変数の配列が１０×１０のセル格子として示されている。しかしながら、配列はいかなる形であってもよく、いかなる数のセルまたは位置を含んでいてもよい。
【００２７】
ユーザ式が、例えば、足し算、引き算、乗算、除算、累乗、最大、最小、絶対値、連結、その他といった、いかなる数学的及び非数学的演算を含んでいてもよい。さらに、括弧を含んで演算の順序を変えてもよい。認証システムはまた、一般演算子を提供して、望ましい式の変数に関するいかなる関数もユーザが実施することを可能にしてもよい。
【００２８】
図４は、管理上の方法の一部としてユーザに提示されてもよい管理画面４００の例を示す。管理上の方法は、例えば、ユーザ設定処理の各ステップを通してユーザをエスコートする「ウィザード」、及びユーザが式を設定するのを助ける式ビルダーといった多様なツールをユーザに提供してもよい。１つの実施例において、式ビルダーは、ユーザにそこから選択する変数及び演算子のメニューを提供し、そのユーザに唯一の式をコンパイルしてユーザを助けてもよい。
【００２９】
管理画面４００は、変数４０５、数のキーパッド４１０、数学的キー４１５及び非数学的キー４２０、及び式のテスト用キー４２５、式の保存用キー４３０といった配列を含んでもよい。管理画面４００は、また、ユーザ名３７０及びユーザ式４４０を入力する領域を含んでもよい。ユーザは変数及び様々な演算子から選択してユーザ式を入力してもよい。
【００３０】
例えば、ユーザはキーボード１４５（図１）を用いてユーザ式をタイプしてもよい。ユーザが式をタイプするときに、ユーザ式がユーザ式領域４４０に表示されてもよい。代わりとして、ユーザはポインティングデバイスを用いて、キャラクタ、変数または演算子にわたってカーソルを位置決めし、マウスボタンをクリックするかまたはエンターキーを押して所望のキャラクタ、変数または演算子を選択してもよい。選択が、ユーザ式領域４４０に表示される。ユーザは、ユーザ式が所望通り構築されるまで続ける。ユーザ式が完了すると、次にユーザは「セーブ」ボタン４３０を作動させて式を記憶してもよい。
【００３１】
１つの実施例において、ユーザが、１つ以上の一般演算子を構築する関数を与えられていてもよい。例えば、演算子の１つがオフセット関数を含み、そこで関数がユーザ式の変数と関連付けられ、関連付けられた変数からオフセットした配列の変数から値を当てはめる。オフセット関数は、（オフセット（ｘ、ｙ））として表され、ｘはX軸のオフセットをいい、ｙはy軸のオフセットをいう。オフセット関数を含む典型的なユーザ式は、Ａ＋Ｂ（オフセット（1、1））であってもよい。図３を参照すると、ユーザは変数Ａに割り当てられる値を最初に見つけて用いる。次に、変数Ｂを見つけるが、この認証セッションにおいて座標（１、１）だけオフセットされる変数Ｍから値を用いる。
【００３２】
オフセットが配列３６５の範囲内で提示されている変数を示している限り、ユーザは所望されるいかなるオフセットをも使用できる。１つの典型的な実施において、ユーザはユーザ式内で所望される「（オフセット（x、y））」を単にタイプすることによってオフセット関数を入力する。別の実施例では、非数学的機能４２０の１つがオフセットと名付けられたボタンを含んでもよい。オフセットボタンを押すことが、ユーザにオフセット座標を入力することを要求するダイアログボックスを開始してもよい。座標を入力すると、例えば（オフセット（１、１））などのオフセット指定が、ユーザ式領域４４０において表示されるユーザ式に現れてもよい。
【００３３】
オフセット関数の別の展開では、ＩＸ関数として参照される特別のオフセットが決定されてもよい。ＩＸ関数は、配列の上側左手位置を示している座標として、変数と関係付けられた値を利用する。例えば、ユーザがユーザ式２＊Ｂを用いることを望み、配列３６５の上側左手コーナーを特定するのに変数Ｋを指定することを望んでもよい。オフセットボタンを押した後に、座標に対する要求に応えて、ユーザがＩＸ（Ｋ）かまたは、特別のオフセット及び指定に対するいくつかの他の適当な指定で応答してもよい。
【００３４】
その後、ユーザがユーザ式３６５を用いてユーザ式の結果を判断するときに、ユーザは、変数Ｋが値「４３」を割り当てられているということがわかり、次に変数Ａのオフセット位置として座標（４、３）、変数Ｂに対するオフセット位置を指定する座標（５、３）、変数Ｃのオフセット位置を指定する座標（６、３）、その他、を考慮する。座標（５、３）の値を用いると、ユーザ式２＊Ｂは、そのときパスワード領域３７５において入力される「１０４」を生じる。
【００３５】
いかなる関数、演算子、または演算子または関数の組合せを実行する他のカスタム演算子が生成されてもよい。
【００３６】
別の例として、管理画面４００は、１つ以上の変数に関して演算するカスタム関数を生成する選択を含んでもよい。カスタム関数は、数学、論理的（AND、OR、XOR、その他）三角法、統計、及びその他の様々なタイプ演算子のいかなる数を含んでもよい。ユーザは、カスタム関数を設計するためのテンプレートとして用いることができる１つ以上のスクリプトを提示されてもよい。同様にスクリプトが提供され、ユーザへのボタンまたはメニュー項目をユーザに提示し、カスタム関数を呼び出して、ユーザ式においてカスタム関数を用いてもよい。
【００３７】
カスタム関数を生成する機能が有利である。なんとなれば、それはシステムが特定のユーザまたは企業の一部に対してカスタマイズされることを可能にするからである。システムの購入者は、他のシステムの購入者に利用可能でないかまたは知られていないカスタム関数及び演算子を生成することによって、更にシステムの安全確保を強化する機能を提供される。
【００３８】
認証システムは、AutoToken（登録商標）関数と称される、式内で式を生成する関数を提供することによって、より大きな安全確保の手段を提供してもよい。例えば、ユーザはAutoToken（登録商標）キー４３５（図４）を選択することによって、AutoToken（登録商標）関数を呼び出す。AutoToken（登録商標）関数は、ユーザにユーザ式領域４４０にユーザが入力するユーザ式を促す。
【００３９】
AutoToken（登録商標）関数は、それぞれローカル式及びリモート式と称される２つの式を自動的に生成する。ローカル式及びリモート式の各々は、それらが演算式を形成する限り、ランダムに選択されてランダムに命令されてもよい変数、定数及び演算子を含む。変数、定数及び演算子は、ユーザに提示される変数及び管理プロセスによって提供される演算子の配列からの変数を含んでもよい。ローカル式とリモート式とはいかなる複雑さ及び長さであってもよい。さらに、ローカル式はユーザによって入力されるユーザ式の結果を与えられる結果変数を含むがリモートユーザ式はユーザ式自体を含む、ということ以外は概して同じである。
【００４０】
リモート式は認証システムにより指定されるいかなる場所に記憶されてもよい。そして、ローカル式はユーザ近辺の場所に記憶されてもよい。１つの実施例では、ローカル式は、ユーザによって指定されるかまたは選択されるいかなる場所で記憶されてもよい。
【００４１】
ローカル式は、異なる場所から、装置、サービス、アプリケーションまたは機能にアクセスすることにおいて使用するために持ち運びできるものでもよい。例えばローカル式は、磁気、光学、半導体、または他の適当な媒体などのいかなる種類の持ち運び可能な媒体上にローカル式を記憶することを含むといった可搬性があるように記憶されてもよい。ローカル式は、（例えば後述する図５の２４７の）ローカル式を記憶してアクセスする、フロッピー（登録商標）ディスク、コンパクトディスク、フラッシュメモリーカード、 ＵＳＢドライブ、またはいかなる適切な装置などに保存されてもよい。
【００４２】
１つの実施例では、ローカル式は、必ずしも記憶されないが、ユーザによって使用のために別の場所に運ばれるか伝送されてもよい。
【００４３】
AutoToken（登録商標）関数を実施したユーザに対する認証セッションは以下のように進む。ユーザは、装置、サービス、アプリケーションまたは機能へのアクセスを要求し、認証セッションが開始される。システムはユーザに変数の配列を提示し、ユーザは自分のユーザ式の結果を入力する。この時またはこの時点より前のいつでも、ローカル式が可搬性の媒体に記憶された場合、可搬性媒体がシステムに結合されてローカル式は認証システムによってアクセスされることが可能である。認証システムがローカル式の結果変数の位置に結果を挿入し、ローカル式の残りに変数の配列からの値を挿入し、ローカル式の結果を計算する。認証システムは、また、変数の配列からの値を、リモート式の残りだけでなくリモート式のユーザ式へ挿入し、リモート式の結果を計算する。
【００４４】
認証システムは結果を比較し、それらが一致すれば、ユーザは、所望する装置、サービス、アプリケーション、または機能へのアクセスを許可される。
【００４５】
なにかの理由のためにユーザのユーザ式が漏れた場合、ユーザは再びAutoToken（登録商標）関数を呼び出して、追加の支持リソースを要求することなしに新しいローカル式、リモート式及びユーザ式を生成して、安全なアクセスの継続を確保する。
【００４６】
他の特徴として、認証システムは、通常、ユーザが他の関数内に関数を埋め込んでユーザ式の安全性を拡張することを可能にする。例えば、ユーザ式はＡ＋（ＡＶＥ（ＡＶＥ  Ｂ＋Ｃ＋（ＡＶＥ  Ｄ＋Ｅ＋Ｆ））＋Ｇ＋Ｈ）を含んでもよい。特別な関数が用いられて、配列３６５からの変数に割り当てられた値に基づいて、ユーザ式内でダミーのキャラクタを埋め込んでもよい。この関数は、「セットされた」関数として指定されてもよい。セットされた関数を用いた典型的なユーザ式は、
（ｓｅｔ  Ｚ，１）[ユーザ式]
であってもよい。
【００４７】
変数Ｚが値５を割り当てられる配列では、ユーザ式の結果の最初の値を入力する前に５つのダミーのキャラクタをタイプしてもよい。このように、いかなる数のダミーキャラクタが、ユーザ式の結果内のいかなる位置に挿入されてもよい。
【００４８】
付加的な安全の特徴として、ユーザ式が、配列３６５の変数に割り当てられた値を用いて、秘密のフレーズの特定の言葉の中で、特定の文字を指定してもよい。例えば、ユーザは自分たちの秘密のフレーズを「the dog is lazy」と決定してもよく、ＡＢＣＤというユーザ式を決定してもよい。自分たちのユーザ式を構築するときに、ユーザはユーザ式領域４４０へ自分たちの秘密のフレーズ及び自分たちのユーザ式を指示するコマンドをタイプしてもよい。
【００４９】
替わりとして、非数学的関数４２０は、ユーザが指示を選択することを可能にする関数を含んでもよい。認証の間、配列が提示されてもよい。例えば、Ａが値３１を割り当てられ、Ｂが値１４を割り当てられ、Ｃが値２１を割り当てられ、Ｄが値１３を割り当てられる。Ａ＝３１に対するフレーズに配列の値を用いることは、最初の言葉の３番目の文字を生じ、Ｂ＝１４は第４の言葉の最初の文字を生じ、Ｃ＝２１は第１の言葉の第２の文字を生じ、Ｄ＝１３は３番目の言葉の第１の文字を生じる。このようにして、ユーザはＥＬＨＩを打ち込む。配列及びフレーズの秘密の性質を与えられると、この種の結果を解析する試みは、たぶん失敗するだろう。
【００５０】
認証システムは、ユーザ式内でリセット関数を提供することによって、より大きな安全手段を提供してもよい。このリセット関数は、ユーザに提示される変数の配列をリセットするために働く。例えば、認証セッションの一部として、図３に示す変数の配列がユーザに提示される。ユーザは、配列を調べて、ユーザ式の第１の変数の値を認識して、第１の変数を入力する。第１の変数を入力した後に、リセット関数が、例えば、ユーザ式内の命令によって、またはコマンドをタイプすることによって起動される。そして、値及び変数が変更されて、ユーザは新しい配列を提示される。ユーザはユーザ式を利用し続けて、新しい配列から式の次の変数の値を認識する。ユーザが全ての値を認識して、ユーザ式の結果を計算して入力すると、ユーザは所望するようにアクセスを許可される。
【００５１】
リセット関数を用いているユーザ式の例は、
Ａ｜｜Ｂ｜｜＜ｒｅｓｅｔ＞Ｃ
であってもよい。ここで、変数Ａと関連する値が、Ｂと関係する値と連結され、変数の配列がリセットされて、ＡとＢとの連結は変数の新しい値Ｃに連結される。
【００５２】
リセット関数は、ユーザ式のいかなる位置に挿入されてもよく、ユーザ式の１つ以上の場所で挿入されてもよいということが理解されるべきである。リセット関数は様々な方法により起動されてもよい。例えば、特定のキーを押すことへの応答または値が入力された後に自動的にである。
【００５３】
図４の管理画面を参照すると、リセット関数は、式ビルダーの一部としてまたはリセット関数を挿入するための順を追った方法をユーザに提供する「ウィザード」として、ユーザに提示されてもよい。
【００５４】
上記したように、リセット関数は、ユーザに提示される変数の配列をリセットするために機能する。このことは、配列の変数に対する新しい値を再生するか、変数の場所を変更するか、またはその両方の組合せという形をとることができる。リセット関数は、式ビルダーまたはウィザード処理の間にユーザによって与えられる種子数または変数に基づく式を用いる新しい配列を生成してもよい。変数種子は、ユーザに提示される変数の配列からの変数であってもよい。
【００５５】
このように、リセット関数は、本発明に高い水準の安全性を提供する。例えば、ネットワークされた環境において、デスクトップコンピュータとサーバーとの間の通信が妨害されると、変数の配列についてのデータが抽出されるかもしれない。例えば、ある人は、妨害されたデータから変数の配列を、失敗はするが引き出そうとするかもしれない。リセット関数は、外部コミュニケーションを用いずに、局所的に変数の配列をリセットするために働く。よって、通信を阻止することによって変数の配列を引き出す努力は役に立たなくなる。なんとなれば、新しい変数の配列が生成されて、リセットまたは新しい変数の配列と関係する通信がないからである。
【００５６】
再び図１を参照すると、システム１００はユーザインタフェース１１０及び制御装置１１５を含むデスクトップコンピュータであってもよい。制御装置１１５は、１つ以上のプロセッサ１２０を含んでいてメモリ１２５から認証プログラム１３５を実行し、また、情報、データ及びプログラムを記憶するための記憶装置１３０を含んでいてもよい。制御装置１１５は、他の装置と通信するためのインタフェースも含んでいてもよい。ユーザインタフェース１１０は、情報をユーザに提示する表示装置１４０と、情報、質問、応答及びコマンドを入力するための例えばキーボード及びポインティングデバイスなどの１つ以上の入力装置１４５とを含んでいてもよい。
【００５７】
プロセッサ１２０は、認証プログラム１３５の制御下で認証サービスを提供し、認証で認証されたユーザがサービス１５０にアクセスするかまたは利用することを可能にしてもよい。本実施例において、サービス１５０は局所的なサービスであってもよい。即ち、デスクトップコンピュータ１００の範囲内に存在してもよい。サービス１５０は、プロセッサ１２０またはシステム１００のユーザがアクセスを要求できるいかなる装置、サービス、アプリケーションまたは機能であってもよい。例えば、サービス１５０は、データ処理システム、コンピュータを利用したサービス、コンテンツ配信サービス、データベース、ファイルシステム、その他であってもよい。
【００５８】
演算の間に、ユーザは、制御装置１１５を介してサービス１５０にアクセスしようとしてもよい。制御装置１１５は、上記したような認証セッションを開始して、ユーザが有資格者であるか否か、許可を有するか否か、または一般にサービス１５０にアクセスすることを許されているか否か判断する。ユーザが適当な資格証明書、即ち、ここで説明したようなユーザ式へ割り当てられた値についての適当なアプリケーションを提供する場合、制御装置１１５はサービス１５０へのアクセスを許可する。
【００５９】
図５は、分散型システム５００として示される本発明の別の実施例を示す。システム５００は、企業または会社のワイドエリアネットワークまたはローカルエリアネットワークの一部であってもよく、一般的に、ユーザインタフェース２１０、制御装置２１５、及び通信ネットワーク２２５によって接続されたアプリケーションまたはサービス２２０を含む。ユーザインタフェース２１０は、通常、ローカルのコンピュータ機器２３０の一部であって、制御装置２１５及びサービス２２０は通常、コンピュータ機器２３０から離隔している。ローカルのコンピュータ機器２３０は、記憶装置２４５に記憶されたプログラム２４０を実行する１つ以上のプロセッサ２３５を含んでいてもよい。コンピュータ機器２３０は、また、ローカル式を記憶するための外部の、着脱可能な記憶装置２４７を含んでいてもよい。ユーザインタフェース２１０は、ユーザに情報を表示する表示装置２５０と、情報、質問、応答及びコマンドを入力するための例えばキーボード及びポインティングデバイスなどの１つ以上の入力装置２５５とを含んでいてもよい。
【００６０】
制御装置２１５が認証サーバとして働いてもよく、１つ以上のプロセッサ２６０及び認証処理及びセッションを制御するプログラムを記憶する記憶機能２６５を含んでいてもよい。認証サーバとして、制御装置２１５はコンピュータ機器２３０またはコンピュータ機器２３０のユーザを認証するために働いてもよい。認証で制御装置２１５が作動してコンピュータ機器２３０にサービス２２０を提供するかまたはコンピュータ機器２３０がサービス２２０にアクセスすることを可能にする。制御装置２３０も、記憶設備２６５に記憶された指示又はプログラムの制御下でシステム２００の構成要素の間のトラフィックを指示するために働いてもよい。制御装置２１５はまた、記憶設備２６５の中でコンピュータ機器２３０に対する記憶容量を提供してもよい。認証サーバとして、制御装置２１５は他のコンピュータ機器２７５1・・・２７５nを認証し、認証時に他のコンピュータ機器２７５1・・・２７５nにサービス２２０及び他のサービス２７０1・・・２７０nへのアクセスを提供してもよい。
【００６１】
本実施例では、認証方法及びセッションを制御するプログラムが、記憶装置２４５及び記憶設備２６５の間で分散されてもよい。認証方法及びセッションの一部は、それぞれ記憶装置２４５及び記憶設備２６５に記憶されたプログラムの制御下でプロセッサ２３５及び２６０によって実施されてもよい。
【００６２】
サービス２２０は、コンピュータ機器２３０またはコンピュータ機器２３０のユーザがアクセスを要求できるいかなるアプリケーションまたはサービスであってもよい。例えば、サービス２２０は、データ処理システム、コンピュータを利用したサービス、コンテンツ配信サービス、データベース、ファイルシステム、その他であってもよい。サービス２２０は、コンピュータ装置２３０または制御装置２１５内に存在するか、またはシステム２００内でまたはシステム２００のいかなる構成要素と結合したいずれかに存在してもよい。
【００６３】
通信ネットワーク２２５は、例えばインターネット、一般加入電話網（ＰＳＴＮ）、無線ネットワーク、有線ネットワーク、仮想プライベートネットワーク（ＶＰＮ）、その他などの通信に適しているいかなるリンクまたはネットワークを含んでもよい。通信は、Ｘ．２５、ＡＴＭ、ＴＣＰ／ＩＰ、その他を含むいかなる適切なプロトコルを用いて実施されてもよい。
【００６４】
演算の間に、ユーザはサービス２２０にアクセスしようとするかもしれない。制御装置２１５は、試みられたアクセスを監視するかまたは報告される。例えば、制御装置２１５は、記憶設備２６５に記憶されたプログラムの制御下でサービス２２０にアクセスしようとする全ての試みを監視して阻止する。別の例として、サービス２２０が、全てのアクセスの試みを、処理のために制御装置２１５へ自動的に転送してもよい。サービス２２０へのアクセスを制御するために制御装置２１５を用いるいかなる他の適切な方法が実施されてもよい。
【００６５】
制御装置２１５は、認証セッションを開始して、ユーザが有資格者であるか否か、許可を有するか否か、または一般的にサービス２２０にアクセスすることが許されているか否かを判断する。制御装置２１５は、データ及びコマンドをコンピュータ機器２３０に与えて、表示２５０上に変数の配列を表示し、ユーザにユーザ式の結果を与えるように促す。コンピュータ機器は、結果を制御装置２１５へ送信する。制御装置２１５も、ユーザ式及び変数の配列からの値を用いて結果を計算する。送信された結果と制御装置２１５によって計算された結果が一致する場合、制御装置２１５はサービス２２０へのアクセスを許可する。
【００６６】
本実施例では、ユーザが上記したようなAutoToken（登録商標）関数を実施するときに、ローカル式が外部の着脱可能な記憶装置２４７に記憶されてもよい。ローカル式における結果変数の代わりにユーザ式の結果を挿入し、ローカル式の残りへ変数の配列からの値を挿入し、ローカル式の結果を計算することを含むローカル式に関する演算が、コンピュータ機器２３０上で動作しているクライアントプログラムによって実施されてもよい。リモート式の残りだけでなく、リモート式内のユーザ式へ変数の配列からの値を挿入し、リモート式の結果を計算することを含むリモート式に関する演算が、制御装置２１５上のサーバプログラムによって実施されてもよい。
【００６７】
図６は、電子商取り引きまたはｅ−コマース用の分散型システム６００として示される本発明の別の実施例を示す。システム６００は、インターネットに基づくものであってもよく、共通の通信媒体としてワールドワイドウェブを用いてもよい。システム６００は、通常、先に述べた実施例の全ての特徴を提供し、多くのユーザ６１０1・・・６１０n、制御装置６２０、及び多くのアプリケーションまたはサービス６５０1・・・６５０nを含む。ユーザ６１０1・・・６１０n、サービス６５０1・・・６５０n、及び制御装置６２０は、通常、インターネット６６０によって接続されている企業体などの独立した事業体を示す。例えば、ユーザ６１０1・・・６１０nはサービスにアクセスする個人であってもよいし、またはプログラムの制御下でサービスにアクセスするコンピュータ機器であってもよい。１つの実施例では、ユーザ６１０1・・・６１０nは料金を払って１つ以上のサービス６５０1・・・６５０nにアクセスしてもよく、制御装置６２０が作動して認証を介してかかるアクセスを制御する。サービス６５０1・・・６５０nのオペレータが順にアクセス及び認証サービスに対して制御装置のオペレータに料金を払ってもよい。ユーザ、サービスオペレータ、及び制御装置のオペレータの間の他のビジネスの配置も意図される。制御装置６２０が１つ以上のプロセッサ４２５を含んで、ユーザ認証を制御してサービス６５０1・・・６５０nにアクセスするプログラムを実施する。制御装置６２０が作動してユーザ６１０1・・・６５０nを認証し、認証されたユーザに１つ以上のサービス６５０1・・・６５０nを提供する。サービス６５０1・・・サービス６５０nは、ユーザ６０１1・・・６１０nがｅ−コマース取引を含むアクセスを要求するいかなるサービスを含んでもよい。例えば、サービス６５０1・・・６５０nは、商品購買システム、データ処理システム、コンピュータを利用したサービス、テキスト、オーディオまたはビデオその他を配信するコンテンツ配信サービス、インターネットなどのネットワークを介しての全ての商取引への参加型を含んでもよい。
【００６８】
システム６００において、１人以上のユーザ６１０1・・・６１０nが、サービス６５０1・・・６５０nに規定通りにアクセスしてもよい。制御装置６２０は、試みられたアクセスを監視するかまたは報告される。例えば、制御装置６２０はサービス６５０1・・・６５０nのいずれかにアクセスする全ての試みを監視し防ぐことができる。別の例では、サービス６５０1・・・６５０nが全てのアクセスの試みを、処理のための制御装置６２０へ自動的に送信するか、そうでなければ、試みられたアクセスについて制御装置６２０に報告してもよい。
【００６９】
それに応じて、制御装置６２０は各々のユーザ６１０と認証セッションを開始し、当該ユーザが有資格者であるか否か、許可を有するか否か、または一般的に１つ以上のサービス６５０1・・・６５０nにアクセスすることを許可されているか否かを判断する。ユーザ６１０が適当な資格証明書、即ちここで記載されているようなユーザ式の適当な結果を与える場合、制御装置６２０は所望のサービスまたは複数のサービスへの接近を許可する。
【００７０】
別の実施例では、ユーザ６１０が、サービスへのアクセスが１回限りで許可される１つ以上のサービス６５０1・・・６５０nにアクセスしようと試みてもよい。制御装置６２０は、試みられたアクセスを報告されるかまたは積極的に監視する。それに応じて、制御装置６２０がユーザ６１０との認証セッションを開始する。プログラムまたはオペレータであってもよい管理者は、ユーザ６１０へ１回の使用に対してだけ有効であるユーザ式を送信する。ユーザ６１０は１回限りのユーザ式の結果を入力し、通常、１つ以上のサービス６５０1・・・６５０nにアクセスすることが許可される。
【００７１】
図７は、例えばｅメールなどのメッセージの一部として送信されるデータの安全を確保する本発明の実施例を利用するシステム７００を示す。システム７００は、本発明の認証システム７１０を利用するメッセージ発信者７０５、受信者７１５、及び通信ネットワークを含む。発信者７０５及び受信者７１５の両方は、１つ以上のプロセッサ、記憶装置、及びメッセージ転送及び本発明による認証動作を支援するプログラムを含む。発信者７０５は、例えばｅメールなどのメッセージを作成する。それは発信者が安全確保することを望むデータを含む。かかるメッセージ８１０のブロック図が図８に示される。データ８２０はメッセージの一部またはメッセージに添付されたファイルとして含まれてもよい。認証システム７１０は、メッセージ８１０及びデータ８２０を有する包袋８２５を含み、包袋８２５は、認証セッションを開始して受信者７１５が適当な資格証明書を生成しなければデータ８２０へのアクセスを阻止する。次にメッセージは、例えば標準のｅメールプロトコルを用いて、受信者７１５へ送信される。
【００７２】
受信で受信者７１５はメッセージを開こうとする。包袋は認証セッションを開始して、図３に示す配列を表示する。発信者に対する受領通知も生成されて、それは発信者７０５に対して開始されるべき同じ認証セッションを生じる。
【００７３】
発信者７０５は、発信者のユーザ式の結果を判断し、次に、通常メッセージを送信するために用いられる方法と異なった方法を介して結果を受信者７１５へ送信する。受信者が結果を入力し、正しければ、包袋８２５はデータ８２０へのアクセスを許可する。一旦データが閉じられると、認証セッションは終了する。メッセージを開く試みがなされる度に、別の認証が新しい配列から始まる。このようにして、配列は変数に割り当てられる新しい値を含んで、発信者のユーザ式を適用した結果を再び判断することを発信者７０５に要求する。従って、受信者７１５が再びメッセージを開こうとするか、または別の人にメッセージを転送しようとすると、ユーザ式の前の結果はもはやメッセージを開くために演算可能でなく、発信者７０５に報告されてもよい。
【００７４】
前述の説明が本発明を説明するだけであるということが理解されるべきである。様々な変化形が、本発明から逸脱することなく、当業者によって工夫され得る。従って、本発明は添付された請求項の範囲内にあたる全てのかかる変化形を包含することを意図する。
【図面の簡単な説明】
【００７５】
【図１】本発明によるユーザ認証システムの1つの例を示す。
【図２】本発明に関係する演算のフローチャートを示す。
【図３】ユーザ認証システム用のユーザインタフェース画面の例を示す。
【図４】ユーザ認証システム用の管理画面の例を示す。
【図５】企業ネットワークにおいて実施される本発明を示す。
【図６】電子商取り引きまたはｅコマース用分散型システムにおける本発明の別の実施例を示す。
【図７】メッセージによって送出されるデータを守る本発明の実施例を示す。
【図８】典型的なメッセージのブロック図を示す。
【図１】
2007516512.tif 000003
【図２】
2007516512.tif 000004
【図３】
2007516512.tif 000005
【図４】
2007516512.tif 000006
【図５】
2007516512.tif 000007
【図６】
2007516512.tif 000008
【図７】
2007516512.tif 000009
【図８】
2007516512.tif 000010
【手続補正書】
【提出日】平成17年12月19日(2005.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザインタフェースで実施されるユーザ認証方法であって、
ユーザに知られているユーザ式の形で認証キーを生成するステップと、
各々に値が割り当てられた変数の配列を前記ユーザに提示する前記ユーザインタフェースを利用するステップと、
前記ユーザ式の一致する変数に前記割り当てられた値を当てはめて第１の結果を計算するステップと、
前記第１の結果が前記ユーザ式の別個で独立した計算についての第２の結果に一致する場合に前記ユーザを認証するステップと、
を含む方法。
【請求項２】
前記変数が文字を含むことを特徴とする請求項１記載の方法。
【請求項３】
前記変数の配列がアルファベット順の文字を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記割り当てられた値が数値を含むことを特徴とする請求項１記載の方法。
【請求項５】
前記割り当てられた値がランダムに生成される数値を含むことを特徴とする請求項１記載の方法。
【請求項６】
前記変数が１０×１０のマトリクスに配置されていることを特徴とする請求項１記載の方法。
【請求項７】
前記ユーザにユーザ式を生成する助けを提供することを含む請求項１記載の方法。
【請求項８】
前記ユーザ式が１つ以上のカスタム演算子を含むことを特徴とする請求項１記載の方法。
【請求項９】
前記１つ以上のカスタム演算子は、ユーザ式変数と関連付けられて、前記関連付けられた変数からオフセットされた前記配列の変数からの値を当てはめる関数を含むことを特徴とする請求項８記載の方法。
【請求項１０】
前記ユーザ式は、前記ユーザ式で用いる演算子を含む１つ以上の関数を含むことを特徴とする請求項１記載の方法。
【請求項１１】
請求項１記載の方法であって、
前記第１の結果を与えられる変数を有するローカル式と前記ユーザ式を有するリモート式とを生成するステップと、
前記ローカル式の計算が前記リモート式の計算と一致する場合に前記ユーザを認証するステップと、
を含む方法。
【請求項１２】
前記ローカル式及び前記リモート式が、ランダムに選択されて指示される少なくとも１つの変数、定数及び演算子を含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記ローカル式が可搬型であることを特徴とする請求項１１記載の方法。
【請求項１４】
前記ローカル式の前記計算が、ローカルコンピュータ機器によって実施され、前記リモート式の計算が、前記ローカルコンピュータ機器から離隔した制御装置によって実施されることを特徴とする請求項１１記載の方法。
【請求項１５】
前記第１の結果がダミーのキャラクタを含むように前記ユーザ式が構築されることを特徴とする請求項１記載の方法。
【請求項１６】
前記ユーザ式が、前記配列の変数に割り当てられた値を利用して、秘密のフレーズ内の特定の文字を指示することを特徴とする請求項１記載の方法。
【請求項１７】
前記ユーザ式が、起動時に前記ユーザに新しい配列を提示するリセット関数を含むことを特徴とする請求項１記載の方法。
【請求項１８】
認証で、前記ユーザがローカルサービスにアクセスすることを許可されることを特徴とする請求項１記載の方法。
【請求項１９】
前記ユーザに前記変数の配列を提示することがローカルコンピュータ機器によって実施され、前記ユーザ式の前記別個で独立した計算が前記ローカルコンピュータ機器から離隔した制御装置によって実施され、前記ユーザは認証でサービスにアクセスすることを許可されることを特徴とする請求項１記載の方法。
【請求項２０】
前記ユーザ、サービス及び制御装置が、ネットワークを介して商取引に参加している企業体であることを特徴とする請求項１９記載の方法。
【請求項２１】
請求項１による認証セッションを開始する包袋を用意するステップと、
前記包袋にデータとともにメッセージを封入するステップと、
メッセージ受信者に対する第１の認証セッションとメッセージ発信者に対する第２の認証セッションとをメッセージを開こうとする試みで開始するステップと、
前記第２の認証セッションに起因するユーザ式を判断するステップと、
前記結果を前記第１の認証セッションに与えるステップと、
認証で、前記受信者に前記メッセージ及びデータにアクセスすることを許可するステップと、
をさらに含む請求項１記載の方法。
【請求項２２】
ユーザインタフェースを有するユーザ認証システムであって、
ユーザに知られているユーザ式と、
各々に値が割り当てられた変数の配列を前記ユーザに提示する前記ユーザインタフェースと、
ユーザにより入力される、前記変数の配列に関係付けられた前記値を前記ユーザ式の一致する変数に当てはめた第１の結果と、
前記ユーザ式を用いて別個で独立した計算を実施して第２の結果を取得し、前記第１の結果が前記第２の結果と一致する場合に前記ユーザを認証する回路と、
を含むシステム。
【請求項２３】
前記変数が文字を含むことを特徴とする請求項２２記載のシステム。
【請求項２４】
前記変数の配列がアルファベット順の文字を含むことを特徴とする請求項２２記載のシステム。
【請求項２５】
前記割り当てられた値が数値を含むことを特徴とする請求項２２記載のシステム。
【請求項２６】
前記割り当てられた値がランダムに生成された数値を含むことを特徴とする請求項２２記載のシステム。
【請求項２７】
前記変数が、１０×１０のマトリクスで配置されることを特徴とする請求項２２記載のシステム。
【請求項２８】
前記１つ以上のカスタム演算子は、ユーザ式変数と関連付けられて前記関連付けられた変数からオフセットされた前記配列の変数からの値を当てはめる関数を含むことを特徴とする請求項２２記載のシステム。
【請求項２９】
前記ユーザ式が前記ユーザ式において用いられる演算を含む１つ以上の関数を含むことを特徴とする請求項２２記載のシステム。
【請求項３０】
前記第１の結果を与えられる変数を有するローカル式の結果を記憶して計算するローカルコンピュータ機器と、
前記ユーザ式を有するリモート式の結果を記憶して計算し、前記ローカル式の前記結果が前記リモート式の前記結果と一致する場合に前記ユーザを認証する、前記ローカルコンピュータ機器から離隔している制御装置と、
を含む請求項２２記載のシステム。
【請求項３１】
前記ローカル式及び前記リモート式が、ランダムに選ばれて指示される少なくとも１つの変数、定数及び演算子を含むことを特徴とする請求項３０記載のシステム。
【請求項３２】
前記ローカル式が可搬型であることを特徴とする請求項３０記載のシステム。
【国際調査報告】
2007516512.tif 000011