一般ユーザの自己証明および認証システム
【課題】ユーザに保安アプリケーションへのアクセスを提供する好適な方法を提供すること。
【解決手段】本発明は、保安アプリケーションの認証要件を満たすのに必要な認証情報を、暗号化された形態で記憶する。ユーザが保安アプリケーションへのアクセスを要求する場合、ユーザは認証と要求と共に表示を示される。ユーザは、認証要求に適切に応答するために、シンボルの少なくとも一部分を操作する必要がある。ユーザがシンボルを操作することにより、暗号化されて記憶された認証情報を結果へと復号化するために使用されるコードキーを生成する。結果が生成された後、結果は保安アプリケーションに提供される。この結果が保安アプリケーションの認証要件をサポートする場合(つまり、暗号化されて記憶された認証情報をコードキーが適切に復号化する場合)、ユーザは保安アプリケーションにアクセスすることを認められる。
【解決手段】本発明は、保安アプリケーションの認証要件を満たすのに必要な認証情報を、暗号化された形態で記憶する。ユーザが保安アプリケーションへのアクセスを要求する場合、ユーザは認証と要求と共に表示を示される。ユーザは、認証要求に適切に応答するために、シンボルの少なくとも一部分を操作する必要がある。ユーザがシンボルを操作することにより、暗号化されて記憶された認証情報を結果へと復号化するために使用されるコードキーを生成する。結果が生成された後、結果は保安アプリケーションに提供される。この結果が保安アプリケーションの認証要件をサポートする場合(つまり、暗号化されて記憶された認証情報をコードキーが適切に復号化する場合)、ユーザは保安アプリケーションにアクセスすることを認められる。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は一般に安全保証アプリケーションのユーザのアイデンティティを検証するための方法に関する。より詳細には、本発明は1つ以上の安全保証アプリケーションまたはシステム(例えば、コンピュータ、オンラインサービス、自動取引機など)にアクセスするユーザのアイデンティティを検証するための方法に関する。
【背景技術】
【0002】
発明の背景
多くの電子システムが、システムへのアクセス許可を受ける前に、ユーザが自分自身であることを証明することを要求することは一般的である。これらのシステムは、コンピュータネットワーク、自動支払い機(ATM)、自動データベース(例えばLEXISTM)、バンキングシステム、電子メールシステム、オンライン証明者プロバイダ(例えばAmerica On-Line(AOL)TM)、株式取引システム、教育機関、給与支払いアカウント、およ
び幅広く多様な、さらなるアプリケーションを含む。これらのシステム上の情報が改ざん、自動破壊、あるいは悪用から保護されることを確実にするために、これらのシステムの多くは何らかのタイプのセキュリティを採用している。セキュリティは、ネットワーク上で多数のロケーションにおける潜在的ユーザからなる大きなコミュニティへ情報が簡単に入手可能となる場合に、特に重要である。
【0003】
システムセキュリティは、典型的には、物理的、手続き的、および技術的な機構を含み得る。しかし、ほとんどのシステムは、自己証明および認証における3つの基本的な方法の内、1つ以上に依存しており、それぞれは以下に示す、証明者のあるものを要求する(本明細書中に渡って、用語「証明者」および「ユーザ」は可換に用いられる)。
・証明者の知っているもの(例えば、名前およびパスワード)
・証明者の所有するもの(例えば、アイデンティティバッジ)、または
・証明者自身であるもの(例えば、指紋)
セキュリティシステムは、通例、証明者が所有するものを呈示したときでさえ、証明者の知っているものに依存する。「知っているもの」として最も広く適用されている方法は、コンピュータシステム内の名前およびパスワードである。最近のセキュリティの改善(例えばスマートカード、ファイアウォール、デジタル署名)でさえ、アクセスを許可する際にユーザの身元を証明および認証するために、従来のパスワードおよびユーザIDに依存している。
【0004】
ほとんどの認証方法論は、プロセスのステージごとに認証情報の完全なセットの存在(例えば、名前およびパスワード)に依存する。典型的なプロセスは、ユーザが認証情報の完全なセットを知っており、そしてその完全なセットをコンピュータまたは端末に入力することである。完全なセットは、安全保証アプリケーションへ転送され、そこで記憶された認証情報のセットと比較される。プロセスの各ステージにおいて、認証データの必然的完全なセットは、傍受および可能性のある無許可使用に曝される。このことは、特にネットワーク化コンピュータ環境にあてはまる。
【0005】
優れたセキュリティを確実にするため、パスワードは推測または解読しにくいものでなくてはならない。よって、ユーザは名前のような「弱い」パスワード(例えば、自分の配偶者、ペットの名前)、容易に入手できる情報(例えば、電話番号、誕生日)、辞書単語、多数のシステムでの同じパスワードなどを避けるように忠告される。無許可のアクセスの脅威を縮小するため、コンピュータセキュリティの専門家はたいてい、ユーザパスワードは一見無作為な文字列(例えば、87SFs81R9)のように入り混じった文字および数字の
みを含み、そしてそれをしばしば変更することを勧めている。検出されない無許可アクセスは、パスワードが発見、傍受、あるいは推測された場合に、容易に起こり得る。
【0006】
そのような方法についての問題点は、2つの要素からなる。第1に、ヒューマンユーザが典型的に、そのユーザにとって脈絡を有するパスワード(例えば単語または日付)を覚える方が簡単であると考えるため、ユーザらが選ぶパスワードは、典型的に推測することが難しいものではない。コンピュータオペレータにより選択されたパスワードの範囲を研究すると、全ユーザパスワードの3分の1は辞書中で見つかり得ることがわかった。そのようなパスワードは、パスワードとして辞書中の全単語を試し得る、共通に利用可能なソフトウェアにとっては無防備なものである。
【0007】
第2に、「パスワードオーバーロード」の問題が、慎重に設計されたセキュリティ技術において多くの侵害(breach)をもたらす。ますます増えるアプリケーションは、典型的に、アクセスを得るために名前およびパスワードを何らかの形式で呈示することを含む認証プロセスにユーザが従うことを要求する。ユーザがセキュリティ規格に応じる場合、ユーザは各アプリケーション用に文字および数字の一見無作為な文字列を暗記しなければならない。さらに、ほとんどの安全保証アプリケーションは、それら自身のインターフェースを有しており、ユーザのユニークなものを要求し得る。いくつかのアプリケーションは、ユーザのパスワードを見なおし、ユーザが使用し得るパスワードの種類、ならびにどれだけの期間そのパスワードが有効であり得るかを制限している。しかし、大多数のアプリケーションは、ユーザにとってのプロセスをより複雑にする代わりに単純化するために、何もしていない。
【0008】
最終的には、多数のアプリケーションでの多数のパスワードを暗記することの難しさは、ユーザをよくない習慣へと促す。ユーザは弱いパスワードを選び、それらを共有し、そして無防備なパスワードリストを維持し、しばしばパスワードを自分のコンピュータ上へ固着させる。実際のところ、ユーザ自身はほとんどの安全保証アプリケーションおよびシステム内の最も弱いリンクであり、そのシステムを容易な侵害および無許可なアクセスに対して無防備なものにしている。
【0009】
従って、ある種のパスワード認証システムに対するある必要性が存在する。その必要性とは、ユーザにとっては覚えやすく、その他の者には考え出すことが難しいという、2つの一見矛盾したゴールを満足させ得ることである。
【0010】
1つの従来技術においてのこの問題を解決する方法は、米国特許第5,241,594号により
代表される「シングルログオン」もしくは「シングルサインオン」として知られる技術である。この技術において、ユーザは、従来のユーザIDおよびパスワードを用いて、一度だけそのユーザのユーザコンピュータにログオンする。ユーザが遠隔のコンピュータまたはアプリケーションにアクセスする必要がある場合、ユーザがそのとき入力したIDおよびパスワードは、ユーザコンピュータと遠隔コンピュータとの間で安全保証転送レイヤプロトコルを用いて、暗号化され、遠隔コンピュータへ転送される。安全保証転送レイヤプロトコルは、ユーザコンピュータ上の特別なソフトウェアを用いるか、あるいは独立したサーバを用いるかのどちらかにより確立される。暗号化パスワードは、その後中央ロケーション内に記憶された暗号化パスワードのデータベースと(典型的にはサーバ上または遠隔コンピュータ上で)比較される。加えて、ユーザがアクセスを求める全システムは同じパスワードを使用しなければならない。
【0011】
しかし、システム内の全コンピュータまたはアプリケーション(すなわちユーザコンピュータおよび全ての遠隔コンピュータ)が同じパスワード有するという要件は、この技術は全てのシステムにとっては機能し得ないことを意味する。この方法は、複雑な、もしくは非定型な認証要件を有する遠隔コンピュータまたはアプリケーションには使用できないかもしれない。よって、多くのシングルサインオンアプリケーションは、限られた数のアプリケーションとは互換性がある。さらには、シングルサインオンシステムのほとんどの市販バージョンは、独立したサーバ方法を利用しており、これは認証プロセスを複雑化し、経費を追加する。加えて、多くの市販のシステムは、全ての協力的な(compliant)アプ
リケーションが同じセキュリティプロトコル、ハードウェアインターフェースなどを使用することを要求し、そのようなシステムの適用性を制限する。従って、追加のハードウェアを要求せず、ならびに多様な認証技術および要件を有するシステムと共に機能する、単純、かつ保証された、認証システムの必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0012】
発明の要約
本発明は、伝統的な名前とパスワードのアプローチに取って代わり、様々な認証要件に適合性を有する、単一かつ単純な認証方法をユーザに提供する。本発明は、検証者(本明細書中において「検証者」および「安全なアプリケーション」は同義に用いられる)が安全に証明者を認証することを可能にし、また証明者が複数の検証者によって認証されることを可能にする。本発明は、証明者が、容易に思い出せる1セットのルーチン、すなわち証明者ステップのみを完成することを要求するプロセスを適用する。これらの証明者ステップは、証明者からのさらなる介入または入力なしに、各検証者に対して適切な認証プロセスを開始する。従って証明者は、全ての認証要件に関して単一の統一された方法を有している。これは本発明が各安全なアプリケーションに付随する精妙さに対処するためである。
【0013】
1つの局面において、本発明は、安全なアプリケーションに対するユーザアクセスを提供するための方法を特徴とする。本方法は、安全なアプリケーションの認証要件を満たすために必要な認証情報を、暗号化形態で記憶することを包含する。あくまで例としてであるが、この情報はユーザのコンピュータ上に記憶され得る。ユーザが安全なアプリケーションへのアクセスを要求すると、ユーザのディスプレイ上において、認証要求がユーザに呈示される。しかし、伝統的な名前とパスワードのアプローチと異なり、ユーザに呈示される認証要求は少なくとも1つのシンボルを含む。ユーザは、シンボルの少なくとも一部を操作することにより、適切に認証要求に応答しなければならない。あくまで例としてであるが、本発明は、ユーザに対して、テーブル、皿、および複数の食べ物(edible item)の表示を表示し得る。ユーザは、いくつかの食物を選択し(すなわち「食事(meal)」を作成し)て、皿の上に移動させる。順不動(order-sensitive)であっても順不同(non-order-sensitive)であってもよいこれらの操作は、ユーザが思い出す必要のある唯一のステップである。「秘密の食事」はユーザが思い出すのは容易であるが、他者が推測することは困難である。さらに、「秘密の食事」は、アクセスされる安全なアプリケーションに関わらず同一である。
【0014】
本発明は、ユーザによるシンボル(単数または複数)の操作(単数または複数)を用いてコードキーを生成するステップを包含する。このコードキーは、暗号化されて記憶された認証情報を、復号化して結果に変えるために用いられる。各安全なアプリケーションあるいはログオンセッションは、異なる期待結果を要求し得るが、ユーザのみが、その証明者ステップを知っている。ユーザはいずれの期待結果もまたその導出方法も知ることはなく(また実際知る必要はない)、加えて、安全なアプリケーションは証明者ステップ(すなわち操作または一連の操作)もまたその導出方法も知ることはない(また知る必要はない)。
【0015】
結果が作成された後、結果は安全なアプリケーションに供給される。もし結果が安全なアプリケーションの認証要件を満たしていれば(すなわち暗号化されて記憶された認証情報をコードキーが適切に復号化していれば)、ユーザには安全なアプリケーションへのアクセスが許可される。
【0016】
本発明は、一連の複雑なパスワードを思い出す必要なしに、ユーザが複数の安全なアプリケーションへのアクセスを得るための単一の、安全かつ効果的な方法を提供する。従来技術における単一のサイン−オンシステムとは異なり、本発明は、認証プロセスのいかなる段階においても、認証データの静的かつ完全なセットの入力、転送、または記憶を排除する。本発明は、何ら追加的なハードウェアを必要とせず、アクセスされる全ての安全なアプリケーションが同じ認証要件を用いることを必要としない。
【0017】
本発明はさらに、以下の手段を提供する。
1.ユーザに保安アプリケーションへのアクセスを提供する方法であって、該方法は、
a)該保安アプリケーションの認証要件を満たすように、暗号化された形態で必要な認証情報を記憶するステップと、
b)該保安アプリケーションにアクセスするために認証要求をユーザに提供するステップであって、該認証要求が少なくとも1つのシンボルをユーザに対して表示するステップを含む、ステップと、
c)該認証要求に応答して、該表示されたシンボルの少なくとも一部分のユーザ操作を受け取るステップと、
d)該表示されたシンボルの少なくとも一部分のユーザ操作に基づいて、コードキーを生成するステップと、
e)該暗号化された認証情報を該コードキーを用いて復号化して、結果を生成するステップと、
f)該保安アプリケーションに該結果を提供するステップと、
g)該結果が該保安アプリケーションの認証要件をサポートする場合に、該保安アプリケーションへのアクセスを該ユーザに許可するステップと、
を含む方法。
2.前記コードキーを生成するステップが、
a)前記表示されたシンボルの少なくとも一部分の前記ユーザ操作に基づいてレイアウトを生成するステップと、
b)該レイアウトを、不可逆性単方向機能で処理して、前記認証情報を復号化するためのコードキーを生成するステップと、
をさらに含む項目1に記載の方法。
3.前記認証情報を記憶するステップが、
前記保安アプリケーションと互換性を有するフォーマットで前記認証情報を記憶するステップをさらに含む項目1に記載の方法。
4.前記認証情報を記憶するステップが、保安アプリケーションによってアクセス可能なロケーションに該認証情報を記憶するステップをさらに含む、項目1に記載の方法。
5.前記認証情報を記憶するステップが、前記ユーザのロケーションに該認証情報を記憶するステップをさらに含む、項目1に記載の方法。
6.前記コードキーを用いて前記認証情報を復号化するステップが、該認証情報を、前記保安アプリケーションによって特定されたフォーマットへマッピングするステップをさらに含む、項目1に記載の方法。
7.リセット要求を受け取ると、前記ユーザにステップを繰り返させるステップをさらに含む、項目1に記載の方法。
8.前記保安アプリケーションへのアクセスのために、複数の認証要求を前記ユーザに提供するステップをさらに含む、項目1に記載の方法。
9.a)前記認証情報を記憶するステップが、ランダム値を該認証情報に供給するステップをさらに含み、
b)該認証要求を前記ユーザに提供するステップが、ランダム値を該認証要求に供給するステップをさらに含む、
項目1に記載の方法。
10.前記認証情報を記憶するステップが、複数の保安アプリケーションにアクセスするために必要な認証情報を、暗号化された形態で記憶するステップをさらに含む、項目1に記載の方法。
11.前記認証情報を記憶するステップが、複数の保安アプリケーションにアクセスするために必要な情報を記憶するステップであって、該複数のアプリケーションの各々が同じ認証情報を要求するステップをさらに含む、項目10に記載の方法。
12.前記認証情報を記憶するステップが、複数の保安アプリケーションにアクセスするのに必要な情報を記憶するステップであって、該複数のアプリケーションの少なくとも1つが他の残りのアプリケーションと同じ認証情報を要求しないステップをさらに含む、項目10に記載の方法。
13.コンピュータユーザアクセスを保安アプリケーションを提供する方法であって、該方法は、
a)複数のグラフィカルシンボルを該ユーザに対して表示するステップと、
b)該グラフィカルシンボルの少なくとも一部分を操作することを該ユーザに要求するステップであって、該ユーザ操作が、該保安アプリケーションにアクセスするためのアウトカムを生成するステップと、
c)該保安アプリケーションにアクセス不可能なロケーションに記憶された認証情報と該アウトカムとを比較するステップと、
e)該アウトカムが該認証情報を満たす場合に、該保安アプリケーションへのアクセスを該ユーザに提供するステップと、
を含む方法。
14.前記アウトカムを比較するステップが、該アウトカムを用いて、保安アプリケーションによってアクセス可能なロケーションに記憶された認証情報を復号化するステップをさらに含む、項目13に記載の方法。
15.前記アウトカムを比較するステップが、該アウトカムを用いて、前記ユーザのロケーションに記憶された認証情報を復号化するステップをさらに含む、項目13に記載の方法。
16.前記ユーザの経験に基づいて該ユーザに表示するグラフィカルシンボルのタイプを決定するステップをさらに含み、複数の表示されるグラフィカルシンボルは、該ユーザになじみのある経験に対応する、項目13に記載の方法。
17.前記アウトカムを処理するステップは、
a)前記表示されたグラフィカルシンボルの少なくとも一部分の該ユーザ操作に対応するレイアウトを生成するステップと、
b)該レイアウトを数学的結果に変換するステップと、
c)該結果を不可逆性単方向機能で処理して、コードキーを生成するステップと、
d)前記保安アプリケーションにアクセスするための暗号化された認証情報を該キーを用いて復号化して、結果を生成するステップと、
をさらに含む、項目11に記載の方法。
18.ユーザに保安アプリケーションへのアクセスを提供する方法であって、該方法は、
a)該ユーザから認証を要求するステップであって、該要求が複数のグラフィカルシンボルの該ユーザへの表示を少なくとも含むステップと、
b)該表示されたグラフィカルシンボルの操作によって少なくとも1つの認証活動を行うことを該ユーザに要求するステップと、
c)該ユーザの該表示されたグラフィカルシンボルの操作に応答して、レイアウトを生成するステップと、
d)不可逆性単方向機能を適用することにより該レイアウトをコードキーに変換するステップと、
e)該暗号化された認証情報を該コードキーを用いて復号化して、結果を生成するステップと、
f)該アプリケーションとの互換性を有するフォーマットに該結果をマッピングするステップと、
g)該保安アプリケーションによる要求に応答して、該マッピングされた結果を用いて、該保安アプリケーションの認証要件を満たすように活動を実行するステップと、
h)該アプリケーションの認証要件が満たされた場合に、該ユーザに該アプリケーションへのアクセスを提供するステップと、
を含む方法。
19.前記レイアウトを結果に変換するステップが、前記ユーザの操作に基づいて、該レイアウトをバイナリー文字列に変換するステップをさらに含む、項目18に記載の方法。20.前記レイアウトが、単方向ハッシュ関数で該結果を処理するステップを含む、項目19に記載の方法。
21.前記結果をマッピングするステップが、
a)前記特定の保安アプリケーションを決定するステップと、
b)前記コードキーを用いて、該保安アプリケーションにアクセスするのに必要な前記認証を生成するステップと、
をさらに含む項目20に記載の方法。
【図面の簡単な説明】
【0018】
本発明のこれらおよびその他の特徴を、以下の詳細な説明および、添付の図面においてより完全に説明する。図面は、安全なアプリケーションに対するユーザアクセスを提供する方法を例示している。
【図1】図1は、本発明が、各証明者に対して複数の検証者をサポートすることを例示する、ブロック図である。
【図2】図2は、証明者による証明者ステップの実行と、適切な検証者特異的サブプロセスの起動との間のシーケンスを例示する、ブロック図である。
【図3】図3A〜Bは、チャレンジとして用いられ得る、順不同な一連の証明者ステップの例を示す。
【図4】図4A〜Dは、チャレンジとして用いられ得る、順不動な一連の証明者ステップの例を示す。
【図5】図5は、ユーザが選択した証明者ステップを容認し、それらを文字列に変換する際のステップを例示する、フローチャートである。
【図6】図6は、検証者およびその認証情報を指定するステップを例示する、フローチャートである。
【図7】図7は、証明者開始から検証者認証までのプロセスに含まれる一連のサブプロセスを例示する、フローチャートである。
【図8】図8は、プロセスの開始および、後のチャレンジプロセスの開始のためのステップを例示する、フローチャートである。
【図9】図9は、証明者インターフェースのセットアップおよび、チャレンジに対する証明者応答を容認する準備を例示する、フローチャートである。
【図10】図10は、証明者チャレンジを呈示し処理する際におけるステップを例示する、フローチャートである。
【図11】図11は、証明者ステップをコードキーに変換する際に行われるステップを例示する、フローチャートである。
【図12】図12は、証明者入力に基づいたコードキーが生成されると自動的に行われるステップを例示する、フローチャートである。
【図13】図13は、マッピングプロセスがどのようにしてアプリケーション特異的なサブプロセスを選択および作成することにより認証を完了するかを例示する、フローチャートである。
【図14】図14は、名前とパスワードに依拠して認証を行うアプリケーションのための、マッピングサブプロセスを例示するフローチャートである。
【図15】図15は、デジタル証明書および署名ならびに公開鍵に依拠して認証を行うアプリケーションのための、マッピングサブプロセスを例示するフローチャートである。
【図16】図16は、ゼロ知識(zero-knowledge)に依拠して認証を行うアプリケーションのための、マッピングサブプロセスを例示するフローチャートである。
【図17】図17は、外部プロセスに依拠して認証を行うアプリケーションのためのマッピングサブプロセスを例示する、フローチャートである。
【図18】図18は、マッピングプロセスの結果を最終的な検証者に通信する際のステップを例示する、フローチャートである。
【図19】図19は、レガシーに基づく認証のための通信サブプロセスを例示する、フローチャートである。
【図20】図20は、証明書に基づく認証のための通信サブプロセスを例示する、フローチャートである。
【図21】図21は、認証を完了するためのプロセス中の最終ステップを例示する、フローチャートである。
【発明を実施するための形態】
【0019】
発明の詳細な説明
以下の発明の詳細な説明において、以下の用語を用いている。これらの用語のうちのいくつかは、明細書中を通じて他の用語と同義に用いている場合は、注記している。
【0020】
証明者は、安全なアプリケーションまたは検証者へのアクセスを取得しようとする個人と定義される。証明者はまた、「ユーザ」として参照される.証明者ステップは、証明者によって選択される一連の個人的ステップと定義される。証明者ステップは、ユーザに表示される1以上のシンボルおよび証明者によって実行されるこれらのシンボルの一連の動きまたは操作に基づく。シンボルは、図形または視覚的オブジェクトと定義されるが、視覚的に表示され得て任意の様式で選択、移動、または操作され得るものは何でも本発明の目的のためのシンボルとして用いられ得ることに留意すべきである。検証者は、証明者がアクセスを取得しようとしているアプリケーション、システム、コンピュータ、およびサーバなどと定義される。安全であり、ユーザがアクセスを取得するために認証を必要とするエンティティは何でも検証者である。検証者は、本明細書全体において、「安全なアプリケーション」と交換可能に用いられる。認証は、証明者のアイデンティティなどの、請求の範囲に記載されたアイデンティティを証明するプロセスと定義される。認証情報は、証明者がアクセスを取得するために検証者に提供しなければならない情報と定義される。認証情報は、1以上のユーザネームおよびパスワードから複数の複雑なルーチン、手順および情報まで、いずれでもあり得る。チャレンジは、証明者が入力を行って証明者ステップを含む行為を完了することを必要とする視覚的表示と定義される。チャレンジは、「認証要求」とも呼ばれる。コードキーは、暗号化された認証情報を復号化するために用いられ得る鍵と定義される。
【0021】
図1は、本発明が各証明者のための複数の検証者をサポートするという概略を提供するブロック図である。ユーザは、図1の検証者のうちの1つを選択することにより、図2、より特定すると図7〜図21に概して示すステップを開始する。
【0022】
図2は、証明者が検証者へのアクセスを取得するために必要な一連のステップを概して示すブロック図である。検証者1〜Nは各々、証明者がアクセスを取得するためには、図2にそれぞれサブプロセス1〜サブプロセスNとして示す別々の独自のステップを必要とする。サブプロセスは、多くのオンラインシステムで一般的であるように、ユーザネームおよびパスワードを提供するほど簡単なものであり得る。しかし、サブプロセスは、一連のパスワードまたはコードあるいは他のアプリケーション独特の要件も含み得る。特定の検証者に必要とされるサブプロセスの複雑性にかかわらず、証明者が検証者に対するアクセスを欲する場合、特定の検証者に対する適切なプロセスを開始するために証明者がしなければならないのは、図2に示すように、証明者ステップを実行することだけである。
【0023】
予備的行為として、証明者は、本発明を実施するシステムに対して以下のことを示す:(a)すべての安全なアプリケーションにアクセスするために証明者が用いる証明者ステップ(概して、ユーザが覚えていなければならない「象徴的パスワード」に対応する)および(b)検証者およびそれに関連する認証情報(概して、安全なアプリケーションおよびそれに関連するパスワードに対応する)。
【0024】
証明者ステップを指定するために、ユーザはオブジェクトまたはシンボルを表示される。オブジェクトまたはシンボルを配置すること、移動させること、および配列することにより、証明者のステップは完了する。好適には、オブジェクトまたはシンボルは、ユーザに馴染みのあるものである。例えば、化学者であるユーザは、周期表を表示されることを選択し得る。化学者はその後いくつかの元素を選択するか、あるいは、元素をまとめて一般式または分子を生成するか、あるいは化学者が書き留めることなく容易に覚えておける別の組み合わせを生成し得る。選択は、順序に従って行わなければならないものであってもよいし、そうでなくてもよい。
【0025】
他の可能性は、例えば、コックの場合は食物であり、金融アナリストの場合は株であり、トランプ好きの人にとってはトランプの1組である。多数の様々なオブジェクトおよびその組み合わせは、本発明の思想および範囲から逸脱しない限りにおいて考えられ得、上述の例のみではない。
【0026】
図3Aおよび図3Bは、一連の3つの証明者ステップから作成された順序に従って行わなくてもよいレイアウトの簡略図である。図3Aにおいて、2つのオブジェクト「X」および「Y」が、片方または両方のオブジェクトの移動先であり得る三目並べ様のグリッドと共にユーザに表示される。3つの証明者ステップは、「X」のオブジェクトから出る3本の破線により示されている。証明者ステップのこの特定のセットは順序に従って行わなくてもよいものではないため、図3Bに類似するレイアウトをもたらす一連の任意の証明者ステップがこれらの証明者ステップに基づいてチャレンジ(すなわち図3A)を満足させる。
【0027】
対照的に、図4A〜図4Cは、順序に従って行わなければならない一連の証明者ステップの簡略図を示す。図4Aは証明者ステップ1を示し、図4Bは証明者ステップ2を示し、図4Cは証明者ステップ3を示す。図4Dは図3A〜図3Bの順序に従って行なわなくてもよい証明者ステップから得られるレイアウトと、図4A〜図4Cの順序に従って行わなければならない証明者ステップから得られるレイアウトとを比較した表を示す。順序に従って行わなければならない証明者ステップの場合、図4A〜図4Cに示すように、各証明者ステップがレイアウトに対応する。順序に従って行わなくてもよい証明者ステップの場合、図3Bに示すように、レイアウトはすべての証明者ステップの最終結果に対応する。
【0028】
本発明の一実施形態において、一連の証明者ステップが単独で、安全なアプリケーションへのアクセスのための覚えやすいパスワードとして用いられる。レイアウトまたは一連のレイアウトが安全なアプリケーションにアクセス可能なロケーションに格納され、それにより、証明者が安全なアプリケーションへのアクセスを求めると、ユーザにシンボルを表示してユーザがユーザの以前に指定されたパスワードを複製することを必要とするチャレンジが提示され得る。パスワードレイアウト情報はさらに、安全なアプリケーションのみが、ユーザのチャレンジ応答と比較するために復号化することができるように暗号化され得る。しかし、そうではなく、一連の証明者ステップおよび対応するレイアウトがコードキーを形成するために用いられ、それにより、本明細書により詳細に記載されるように、安全なアプリケーションにアクセスするために必要な認証情報を復号化する方が好適である。
【0029】
レイアウトまたは一連のレイアウトが生成された後、本発明を実施するシステムは、得られたレイアウトを、コードキーを構築するために後に用いられる文字列を生成するために用いる。図5は、証明者ステップ構築プロセスを示す。ユーザが図3および図4に示す一連の証明者ステップを提供した後、図5の証明者ステップ構築プロセスは、証明者ステップに基づいたレイアウトを形成する。レイアウトは、図4Dに示すタイプの情報を概して含む。次に、このプロセスは、一連の証明者ステップに対応する文字列を生成するために、レイアウトによって表示された選択物、オブジェクトおよび行為を数学的に組み合わせる。典型的には、この文字列は、バイナリ文字列という形態にある。生成された文字列は、証明者ステップが順序に従って行わなければならないこと、証明者ステップで用いられるシンボルまたはオブジェクトの配置、および証明者ステップの配列に特異的である。文字列は、コードキーを生成するために後に用いられ得る(図9を参照のこと)ように格納される。さらに、証明者は、図5の証明者ステップ構築プロセスを反復することにより、いつでも、証明者ステップにチャレンジするという選択肢を有することに留意されたい。
【0030】
好適な実施形態において、文字列は、文字列が、ユーザがアクセスを求めている安全なアプリケーションにはアクセス不可能であるようなロケーションおよび様式で、ユーザのコンピュータに格納されている。このことは、認証情報の完全なセットが安全なアプリケーションに伝送されないことを確実にすることを補助する。しかし、他の実施形態においては、安全なアプリケーションに対してまだアクセス不可能なユーザのコンピュータ以外のロケーション、例えば、遠隔のコンピュータまたはサーバに、文字列を格納することが可能である。ユーザが、用いられている任意のコンピュータにおいて本発明の利益を得ることを可能にするために、フロッピー(登録商標)ディスクなどのポータブルな格納媒体に文字列を格納することも可能である。別の可能性は、他のユーザから「隠された」ロケーションにおいてコンピュータネットワークに文字列を格納することである。
【0031】
図6は、本発明を使用する別の準備プロセスを示し、特定のアプリケーションに関連する認証要求をの一度きりの指定を含む。検証者の特定認証要求に適応するために、本発明は、ユーザが前もって検証者および認証要求を指定することを可能にする。これは、図3、4、および5に示すように、ユーザが彼らの証明者工程を選択し終えた後に、典型的に行われる。しかしながら、図6に示すように、ユーザが証明者工程をまだ行い終えていない場合、証明者は検証者指定プロセスに干渉し、検証者が指定されるときに証明者工程を選択し得る。
【0032】
図6に示すプロセスの作用の説明するために、一例が役立ち得る。ユーザが、LEXISTMオンラインサービスのためのユーザネームおよびパスワードを発行された、と想定されたい。このユーザは、図5の工程を既に完了していて、本発明を適用したシステムに、この保安アプリケーションを追加したいと所望している。まず、ユーザは、特定の保安アプリケーション(即ちLEXISTM)を指定する。指定は、本発明を適用したシステムが、ユーザの提供する認証情報を適切に構成し得、その認証情報が保安アプリケーションの要求と適合することを確証するように行われる。好適には、この指定は、プルダウンメニューまたはアプリケーションリストからの選択のような、簡単でユーザフレンドリなインターフェイスを介して行われる。しかしながら、手動でアプリケーション名を入力したり、または外部ソースからアプリケーション情報を受け取ったりすることを含むアプリケーション指定の様々な方法が、可能であると予測される。将来の実施形態では、本発明を適用したシステムは、ユーザが指定を所望するアプリケーションを自動的に検出して決定し得ると、さらに予測される。
【0033】
次に、図6に示すように、ユーザは、保安アプリケーションのための適切な認証情報を供給する。この例では、ユーザは、「Jsmith、ab2dc3e」のようなLEXISTMユーザネームおよびパスワードを供給し得る。そのアプリケーションに対する認証情報をユーザが覚えていなければならないのは、このときのみである。ユーザがこの認証情報を供給した後で、本発明は、文字列(図5に示す)を用いて、認証情報を暗号化するのに使用されるコードキーを生成する。コードキー自体は決して記憶されず、記憶されるのは、(前述のように)文字列および暗号化された検証者認証情報のみである。好適な実施形態では、暗号化された検証者認証情報は、ユーザコンピュータ内など検証者がアクセスできないロケーションに記憶される。しかしながら、文字列の記憶のために利用される代替の場所が、暗号化された検証者認証情報の記憶にも適用される。
【0034】
コードキーにとともに使用される暗号化方法は、好適には、単方向ハッシュ機能のような不可逆性単方向機能である。しかしながら、その他の利用可能な暗号化技術を当業者が予測することは理解されるべきである。
【0035】
文字列と文字列からのコードキーとを生成するプロセス、およびアプリケーション情報を暗号化するプロセスは、証明者工程、レイアウト、および認証情報を容易に引き出せなくすることを確証するのに役立つ。さらに、このプロセスによって、コードキーは、各アプリケーションおよびログオンセッションに特殊であり得る。
【0036】
図7は、本発明の好適な実施形態に含まれる工程の概略を提供する。これらの工程は、証明者工程(図5)および検証者指定(図6)の選択の工程を既に完了しているユーザが、検証者にアクセスを求めたときに起こる事象を記録する。
【0037】
一般的に、本発明は、従来のネームおよびパスワード方に代わる単一、且つ単純な認証方法を証明者に提供する。それは、検証者が証明者を保安に認証することを可能にし、証明者が複数の検証者によって認証されることを可能にする。大抵の検証者は、個別で特殊なプロセスを要求する(即ち、大抵の検証者は特殊な認証要求を有する)。検証者へのアクセスを獲得するために、本発明は、証明者に一組のルーチン、または証明工程を完了するように要求する。証明者は、各検証者に対して適切なプロセスを起動するために、証明者工程を一度だけ実行すればよい。
【0038】
本発明は、複数の異なる認証方法をサポートする。証明者認証は、証明者工程と、アクセスされているアプリケーションに対する適切なプロセスまたはサブプロセスとを組み合せた結果に基づいて、達成される。本発明は、図7に概略を示す、各検証者の特定要求に対する適切なサブプロセスを起動する単一のシーケンスに従う。本発明のための一連の工程は、いったん起動されると、証明者からそれ以上の干渉または入力を必要としない。その結果、証明者は、証明者工程にアクセスして完了するために、検証者または保安アプリケーションを選択するだけでよい。証明者は、認証要求のすべてに対して単一の統一された方法を提供される。このプロセスは、各アプリケーションまたはシステムに伴う微差を処理する。
【0039】
図7に示す工程は、ユーザがアクセスを求めるすべての保安アプリケーションに応用され、各特殊な認証ベースのアプリケーションまたはシステムに対して起動される。一般的には、証明者インターフェイスプロセスでは証明者が入力し、チャレンジプロセスは、コードキー構築プロセスにおいてキー(「コードキー」)を構築するのに使用される。このコードキーは、図5の証明者工程構築プロセスから図6にもたらされたものである。次に、本発明は、証明者によってアクセスされているアプリケーションに基づく特定サブプロセスを、検証者にマッピングする。このマッピングプロセスは、コードキーを試験し、通信プロセスにおいて検証者へ伝送される適切な出力を生成する。通信プロセスは、単一の交換または一連のインタラクティブ交換であり得る。図7の各工程に関する詳細を以下に説明する。
【0040】
図7に示すように、本発明の工程は、二つの主要な工程の組を含む。即ち、証明者関与プロセスおよび自動プロセスである。証明者関与プロセスは、証明者による入力によって起動され、この入力を必要とする。自動プロセスは、証明者関与プロセスの完了によって起動され、証明者からそれ以上の入力を必要としない。
【0041】
証明者関与プロセス
証明者関与工程は、認証に対する証明者の要求によって起動され、完了するために証明者の入力を要する。このシーケンスは、証明者インターフェイスプロセス、チャレンジプロセス、およびコードキー構築プロセスを含む。
【0042】
証明者インターフェイスプロセス
図8に示すように、証明者インターフェイスプロセスは、全体のプロセスの最初の工程であり、チャレンジプロセスを設定するために必要な工程を含んでいる。証明者インターフェイスプロセスは、認証に対する証明者の要求により起動される。この要求は、リソース制御器、アクセスプロバイダ、ならびに手動および自動プロセスを含む様々なソースからもたらされるが、これらのソースに限定されない。証明者インターフェイスプロセスは、証明者チャレンジを提示し含む。
【0043】
いったん起動されると、証明者インターフェイスプロセス中の任意の時点で、証明者が認証プロセスを取り消し/打ち切り得る。取り消しプロセスは、証明者側の明示的な行動による。取り消しは、このプロセスを打ち切り、認証は失敗する。証明者インターフェイスプロセス中の任意の時点で、証明者はすべてのチャレンジ応答が完了し、認証が継続すべきことを指示し得る。これは、認証の成功を意味しない。これは、単に証明者がチャレンジに対し完全な組の応答が供給されたと信じていることを意味する。
【0044】
図9は、証明者インターフェイスプロセスが、いったん起動されると、証明者選択環境に基づいた意義ある方法において証明者へのチャレンジを含み提示して、証明者が馴染みよく応答し得るように経過することをさらに示している。証明者工程構築プロセスにて説明したように、チャレンジは、ユーザが操作を要求した馴染みあるオブジェクトの表示を複製し得る。あるいは、証明者は、一般的な提示を基準として、即ちチャレンジを提示する最も簡単な方法(最低共通項アプローチ)、または、より緊密に選択された環境と証明者の体験とを一致させる証明者予備定義方法として提示され得る。
【0045】
例えば、ユーザが、そのユーザの環境および経験に合うように特定のシンボル組を選択していなかった場合、1組のカードのような、上位概念または馴染みのあるシンボルまたはシンボル組の表示が提示され得る。提示プロセスは、証明者の選択された環境およびそれがサポートされているかどうかに基づいて判定を行う。最終ステップは、証明者に提示すべき個々のチャレンジを規定するサブプロセスを作成するステップである。これらの個々のチャレンジは、特定の安全なアプリケーションの認証要件を満たす一助となる。これらのサブプロセスがいずれも作成できない場合、プロセスは失敗し、プロセスは打ち切られる。そうでない場合には、チャレンジプロセスが開始される。
【0046】
チャレンジプロセス
図10は、チャレンジが証明者に提示されたときに行われる初期ステップを示す。チャレンジは、単一のチャレンジでも一連のチャレンジでもよい。プロセスを継続するために、チャレンジは証明者の応答を要求する。チャレンジの出力をランダム化し、セッション特異的なデータ組を提供するために、チャレンジ自体がランダム値を用いて選択され得る。
【0047】
初期証明者ステップを選択するために示される表示と同様に、チャレンジは、馴染みのオブジェクトまたはシンボル組として提示される。オブジェクトおよびシンボルの配置、移動またはシーケンシングにより、証明者のアクションまたは証明者ステップが完了する。チャレンジは、順不動であってもよい。これは、特定のチャレンジの寿命中に、全アクションのリスト(例えば、証明者ステップ)が構築および保存されることを示している。証明者ステップの順序は、チャレンジプロセスの結果に直接的な影響を及ぼす。
【0048】
チャレンジプロセスの間の任意の時点において、証明者はそのプロセスをキャンセル/打ち切り得る。キャンセルは、証明者側からの明示的なアクションによるものである。キャンセルによって、プロセスは打ち切られ、認証は失敗する。また、チャレンジプロセスの間の任意の時点において、証明者は、チャレンジをリセットできる。これにより、証明者がその証明者ステップを完了する際に間違いをした場合に、証明者がそのプロセスをリスタートさせることが可能になる。これにより、証明者は、チャレンジプロセスのスタートに戻る。
【0049】
コードキー構築プロセス
証明者がチャレンジプロセスの完了を示すと、図11のコードキー構築プロセスが始まる。完了は、認証の成功とは異なり、また、それを示すものでもない。コードキーは、チャレンジプロセスにおいて証明者ステップによって生成されたレイアウトを処理することに基づいて生成される。図11に示すように、各証明者ステップは、コードキー構築プロセスにおいて処理されるレイアウトを生成する。順不動および順不同の両方のレイアウトが生成され得る。変換は、チャレンジの種類、順不動、オブジェクトの配置、および証明者ステップのシーケンスに特異的である。
【0050】
順不同証明者ステップの場合、コードキー構築プロセスは、証明者ステップに対応するレイアウトダイジェスト(図4Cの表同様)を生成する。最終レイアウトは処理されて、コードキーを構築するために使用される文字列等のある結果となる。典型的に、この結果または文字列は、単方向ハッシュ関数等の不可逆性単方向関数を用いて処理され、これにより、コードキーが生成される。コードキーは、保存された認証情報を復号化するために使用される。
【0051】
順不動証明者ステップの場合、図11に示すような順不動コードキー構築プロセスが行われる。このプロセスは、チャレンジプロセスにおける証明者ステップによって生じた一連のレイアウトの中の1番目のものを選択する。次に、順不動コードキー構築プロセスによって、選択されたレイアウトを文字列等の結果に変換する。その後、順不動シーケンスにおいて次のレイアウトが選択される。前の結果は、新たに選択されたレイアウトと用いた不可逆単方向関数(例えば、単方向ハッシュ関数)を用いて処理され、そして、コードキー構築プロセスに渡される。このプロセスは、そのシーケンスにおける最終レイアウトが処理され(不可逆単方向関数を適用することによって実際のコードキーに変換され)るまで継続する。得られるコードキーは、順不同コードキー構築プロセスによって生成されたコードキーと同様に使用される。
【0052】
上記のコードキー構築プロセスは、不可逆単方向関数に限定されるものではなく、当業者であれば本発明に使用可能なさらなる暗号化方法を想起するであろうことが理解されるべきである。
【0053】
コードキー構築プロセスの間に生成された文字列は、ユーザのコンピュータ上に保存された文字列と同じであってもよいし、同じでなくてもよいことにも留意されたい。しかし、コードキー構築プロセスの間に生成された文字列をユーザのコンピュータ上に保存された文字列とは異なったものにする方がより安全である。より重要な結果は、この文字列から得られるコードキーによって復号化した認証情報が、アクセスすべき安全なアプリケーションの要件を満たすかどうかである。チャレンジが順不動でない場合、チャレンジプロセスの結果を決定するにあたって重要なのは、証明者ステップの最終的な結果またはレイアウトである(図8参照)。チャレンジプロセスは、証明者がプロセスの完了を示すか、あるいはプロセスを打ち切るまで継続される。
【0054】
コードキープロセスにより、証明者ステップおよびレイアウトが簡単には演繹できないようになる。コードキーが保存されることは決してなく、また、コードキーは、各アプリケーションおよび認証セッションについて固有であり得る。コードキー構築プロセスが完了すると、その結果は自動プロセスに送られる。コードキー構築プロセスの完了は、いかなる意味においても、認証の成功を示すものではない。単に、チャレンジプロセスの間に証明者ステップから得られたレイアウトから特定のコードキーが生成されたということを示すだけである。
【0055】
自動プロセス
このプロセスの残りのステップは、自動的に行われ、それ以上証明者が関与することを必要としない。図7および図12は、関与するステップのハイレベル概観図である。
【0056】
コードキー構築プロセスの結果は、自動プロセスを開始する。適切な認証プロトコルおよび対応するサブプロセスは、アクセスされるアプリケーションに基づいて選択される。マッピングプロセスは、検証者および以降の検証プロセスによって通信プロセスを開始する。コードキーをマッピングできない場合、認証は失敗し、プロセス全体が打ち切られる。
【0057】
マッピングプロセス
図13に示すように、マッピングプロセスは、コードキー構築プロセスの結果によって開始される。適切なマッピングサブプロセスは、証明者によってアクセスされるアプリケーション、およびそのアプリケーションに必要な認証の種類に基づいて選択される。特定のマッピングサブプロセスの作成が成功すると、それに、コードキーが与えられる。マッピングシーケンス内においてさらなるマッピングが要求されると、マッピングサブプロセスの結果がマッピングプロセスにフィードバックされる。特定のマッピングサブプロセスの作成が失敗する、あるいは、適切なマッピングサブプロセスが全く見つからない場合、認証は失敗し、プロセス全体が打ち切られる。そうでない場合、マッピングプロセスの結果によって通信プロセスが開始される。
【0058】
以下、特定の認証プロトコルに関連する可能なマッピングサブプロセスについて説明する。これらには、レガシーネーム&パスワード(図14)、デジタル署名/証明書(図15)、ゼロ知識(図16)、および外部認証(図17)が含まれる。代替的な認証プロトコルが利用可能になったり、開発されたりすると、この他のサブプロセスも追加され得る。
【0059】
図14は、古いレガシーネームおよびパスワードアプリケーションをサポートするサブプロセスに含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果が、サブプロセスを開始する。マッピングプロセス内の前のステップは、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、通信プロセスで使用するために、逆にマッピングプロセスに戻される。この特定的なケースにおいて、結果は、認証で使用され得る特定のネームおよびパスワード対である。この特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが打ち切られる。
【0060】
図15は、ゼロ知識スタイル認証をサポートするサブプロセス内に含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果がサブプロセスを開始する。マッピングプロセス内の前のステップはまた、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、逆にマッピングプロセスに戻される。この特定的なケースにおいて、サブプロセスの結果は、認証で使用され得る特定のデジタル証明書、署名、公開鍵/プライベート鍵対である。この特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが異常終了する。
【0061】
図16は、デジタル署名またはデジタル証明書の使用をサポートするサブプロセス内に含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果がサブプロセスを開始する。マッピングプロセス内の前のステップはまた、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、逆にマッピングプロセスに供給される。この特定的なケースにおいて、サブプロセスの結果は、認証で使用され得るゼロ知識キーおよび情報である。この特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが異常終了する。
【0062】
図17は、アプリケーションに基づいて外部の認証をサポートするサブプロセス内に含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果がサブプロセスを開始する。マッピングプロセス内の前のステップはまた、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、外部認証プロセスに供給される。認証タスクの制御が、完了のためにこの外部プロセスに渡される。特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが異常終了する。
【0063】
通信プロセス
図18の通信プロセスは、証明者と検証者との間のリンクである。マッピングプロセスの結果が、通信プロセスを開始する。このプロセスは、最終検証プロセスおよび究極認証結論へと至る。
【0064】
適切な通信サブプロセスは、証明者によってはじめに選択されたアプリケーション、行われる認証のタイプ、および関連する通信要件に基づいて選択および生成される必要がある。これらの通信サブプロセスの例を以下に説明する。特定の通信サブプロセスの生成が成功すると、通信が開始され、そして、マッピング結果が通信に供給されてその処理が行われる。マッピングのシーケンスにおいてさらなるマッピングが要求される場合、現在のマッピングサブプロセスの結果が、通信プロセスループへと戻すように供給される。そうでない場合には、通信プロセスの結果は検証プロセスを開始し、プロセスの結果が、最終認証の完了または失敗へと至る。
【0065】
通信プロセスの途中の任意の時点において、検証プロセスは失敗を示し得る。このような場合、認証は停止し、そして、プロセスは異常終了する。検証プロセスが成功を示す限りは、サブプロセスは必要であれば継続し得る。特定の通信サブプロセスの生成が停止するか、または、適切な通信サブプロセスが発見され得る場合、認証は停止し、そして、プロセスは異常終了する。
【0066】
図19は、レガシー/対称コミュニケーションサブプロセスに含まれるステップを示す。マッピングプロセスおよび/または他の通信サブプロセスの結果が、このプロセスを開始する。通信プロセス内の前のステップはまた、このサブプロセスに必要なさらなる情報を供給し得る。証明者および検証者が、このサブプロセスによって提供されたチャネルを介して、網羅的な(exhaustive)対称検証プロセスを実行した後に、この通信サブプロセスの結果が通信プロセスに供給される。認証プロセスを完了するタスクが、外部認証プロセスに与えられ得、そして、全ての制御がそのプロセスに譲渡(relinquish)される。この特定の通信サブプロセスの生成が失敗した場合、または、通信自体が何らかの理由(有効な通信チャネルの完成失敗)で完了不可能である場合、認証が停止し、そして、プロセス全体が異常終了する。
【0067】
図20は、認証/非対称コミュニケーションサブプロセスに含まれるステップを示す。マッピングプロセスおよび/または他の通信サブプロセスの結果が、このプロセスを開始する。通信プロセス内の前のステップはまた、このサブプロセスに必要なさらなる情報を供給し得る。証明者および検証者がこのサブプロセスによって提供されたチャネルを介して網羅的な対称検証プロセスを実行した後に、この通信サブプロセスの結果が通信プロセスに供給される。認証プロセスを完了するタスクが、外部認証プロセスに与えられ得、そして、全ての制御がそのプロセスに譲渡される。この特定の通信サブプロセスの生成が失敗した場合、または、通信自体が何らかの理由(有効な通信チャネルの完成失敗)で完了不可能である場合、認証が停止し、そして、プロセス全体が異常終了する。
【0068】
検証プロセス
図21は、最終検証プロセスステップおよびそれらの認証チャレンジに対する関係を示す。以前の通信/マッピングプロセスと検証プロセスとの間で、自動的チャレンジ/レスポンスプロセスが開始される。通信/マッピングプロセスは、特定のチャレンジと共に提示される(presented)。通常、チャレンジは、プロセスを継続するために応答を要求する
。検証者は、現在の通信/マッピングプロセス応答プロセスが正確であるかどうかを示し、それに従ってプロセスが進行する。検証プロセスのチャレンジ/レスポンスハンドリング方法は、検証者が認証プロセスの完了または異常終了を示すまで継続される。検証者がチャレンジ/レスポンスプロセスの最終完了を示す場合、検証者が十分な応答を受け取ったかどうかに基づいて認証が成功または失敗して、期待された結果を生成する。
【0069】
特定の検証プロセスの間の任意の時点において、証明者はチャレンジをリセットし得る。このことにより、通信/マッピングプロセスは、証明者がエラーをした瞬間にプロセスをリスタートすることができる。これは、このプロセスの開始に戻る。検証プロセスの間の任意の時点において、(通信/マッピングプロセスに加えて)検証者が、認証プロセスをキャンセル/異常終了し得る。キャンセルプロセスは、検証者および/または通信/マッピングプロセスの一部分の上で明白なアクションによって開始される。キャンセルは、認証プロセスを異常終了し、そして、プロセスが停止する。
【技術分野】
【0001】
発明の分野
本発明は一般に安全保証アプリケーションのユーザのアイデンティティを検証するための方法に関する。より詳細には、本発明は1つ以上の安全保証アプリケーションまたはシステム(例えば、コンピュータ、オンラインサービス、自動取引機など)にアクセスするユーザのアイデンティティを検証するための方法に関する。
【背景技術】
【0002】
発明の背景
多くの電子システムが、システムへのアクセス許可を受ける前に、ユーザが自分自身であることを証明することを要求することは一般的である。これらのシステムは、コンピュータネットワーク、自動支払い機(ATM)、自動データベース(例えばLEXISTM)、バンキングシステム、電子メールシステム、オンライン証明者プロバイダ(例えばAmerica On-Line(AOL)TM)、株式取引システム、教育機関、給与支払いアカウント、およ
び幅広く多様な、さらなるアプリケーションを含む。これらのシステム上の情報が改ざん、自動破壊、あるいは悪用から保護されることを確実にするために、これらのシステムの多くは何らかのタイプのセキュリティを採用している。セキュリティは、ネットワーク上で多数のロケーションにおける潜在的ユーザからなる大きなコミュニティへ情報が簡単に入手可能となる場合に、特に重要である。
【0003】
システムセキュリティは、典型的には、物理的、手続き的、および技術的な機構を含み得る。しかし、ほとんどのシステムは、自己証明および認証における3つの基本的な方法の内、1つ以上に依存しており、それぞれは以下に示す、証明者のあるものを要求する(本明細書中に渡って、用語「証明者」および「ユーザ」は可換に用いられる)。
・証明者の知っているもの(例えば、名前およびパスワード)
・証明者の所有するもの(例えば、アイデンティティバッジ)、または
・証明者自身であるもの(例えば、指紋)
セキュリティシステムは、通例、証明者が所有するものを呈示したときでさえ、証明者の知っているものに依存する。「知っているもの」として最も広く適用されている方法は、コンピュータシステム内の名前およびパスワードである。最近のセキュリティの改善(例えばスマートカード、ファイアウォール、デジタル署名)でさえ、アクセスを許可する際にユーザの身元を証明および認証するために、従来のパスワードおよびユーザIDに依存している。
【0004】
ほとんどの認証方法論は、プロセスのステージごとに認証情報の完全なセットの存在(例えば、名前およびパスワード)に依存する。典型的なプロセスは、ユーザが認証情報の完全なセットを知っており、そしてその完全なセットをコンピュータまたは端末に入力することである。完全なセットは、安全保証アプリケーションへ転送され、そこで記憶された認証情報のセットと比較される。プロセスの各ステージにおいて、認証データの必然的完全なセットは、傍受および可能性のある無許可使用に曝される。このことは、特にネットワーク化コンピュータ環境にあてはまる。
【0005】
優れたセキュリティを確実にするため、パスワードは推測または解読しにくいものでなくてはならない。よって、ユーザは名前のような「弱い」パスワード(例えば、自分の配偶者、ペットの名前)、容易に入手できる情報(例えば、電話番号、誕生日)、辞書単語、多数のシステムでの同じパスワードなどを避けるように忠告される。無許可のアクセスの脅威を縮小するため、コンピュータセキュリティの専門家はたいてい、ユーザパスワードは一見無作為な文字列(例えば、87SFs81R9)のように入り混じった文字および数字の
みを含み、そしてそれをしばしば変更することを勧めている。検出されない無許可アクセスは、パスワードが発見、傍受、あるいは推測された場合に、容易に起こり得る。
【0006】
そのような方法についての問題点は、2つの要素からなる。第1に、ヒューマンユーザが典型的に、そのユーザにとって脈絡を有するパスワード(例えば単語または日付)を覚える方が簡単であると考えるため、ユーザらが選ぶパスワードは、典型的に推測することが難しいものではない。コンピュータオペレータにより選択されたパスワードの範囲を研究すると、全ユーザパスワードの3分の1は辞書中で見つかり得ることがわかった。そのようなパスワードは、パスワードとして辞書中の全単語を試し得る、共通に利用可能なソフトウェアにとっては無防備なものである。
【0007】
第2に、「パスワードオーバーロード」の問題が、慎重に設計されたセキュリティ技術において多くの侵害(breach)をもたらす。ますます増えるアプリケーションは、典型的に、アクセスを得るために名前およびパスワードを何らかの形式で呈示することを含む認証プロセスにユーザが従うことを要求する。ユーザがセキュリティ規格に応じる場合、ユーザは各アプリケーション用に文字および数字の一見無作為な文字列を暗記しなければならない。さらに、ほとんどの安全保証アプリケーションは、それら自身のインターフェースを有しており、ユーザのユニークなものを要求し得る。いくつかのアプリケーションは、ユーザのパスワードを見なおし、ユーザが使用し得るパスワードの種類、ならびにどれだけの期間そのパスワードが有効であり得るかを制限している。しかし、大多数のアプリケーションは、ユーザにとってのプロセスをより複雑にする代わりに単純化するために、何もしていない。
【0008】
最終的には、多数のアプリケーションでの多数のパスワードを暗記することの難しさは、ユーザをよくない習慣へと促す。ユーザは弱いパスワードを選び、それらを共有し、そして無防備なパスワードリストを維持し、しばしばパスワードを自分のコンピュータ上へ固着させる。実際のところ、ユーザ自身はほとんどの安全保証アプリケーションおよびシステム内の最も弱いリンクであり、そのシステムを容易な侵害および無許可なアクセスに対して無防備なものにしている。
【0009】
従って、ある種のパスワード認証システムに対するある必要性が存在する。その必要性とは、ユーザにとっては覚えやすく、その他の者には考え出すことが難しいという、2つの一見矛盾したゴールを満足させ得ることである。
【0010】
1つの従来技術においてのこの問題を解決する方法は、米国特許第5,241,594号により
代表される「シングルログオン」もしくは「シングルサインオン」として知られる技術である。この技術において、ユーザは、従来のユーザIDおよびパスワードを用いて、一度だけそのユーザのユーザコンピュータにログオンする。ユーザが遠隔のコンピュータまたはアプリケーションにアクセスする必要がある場合、ユーザがそのとき入力したIDおよびパスワードは、ユーザコンピュータと遠隔コンピュータとの間で安全保証転送レイヤプロトコルを用いて、暗号化され、遠隔コンピュータへ転送される。安全保証転送レイヤプロトコルは、ユーザコンピュータ上の特別なソフトウェアを用いるか、あるいは独立したサーバを用いるかのどちらかにより確立される。暗号化パスワードは、その後中央ロケーション内に記憶された暗号化パスワードのデータベースと(典型的にはサーバ上または遠隔コンピュータ上で)比較される。加えて、ユーザがアクセスを求める全システムは同じパスワードを使用しなければならない。
【0011】
しかし、システム内の全コンピュータまたはアプリケーション(すなわちユーザコンピュータおよび全ての遠隔コンピュータ)が同じパスワード有するという要件は、この技術は全てのシステムにとっては機能し得ないことを意味する。この方法は、複雑な、もしくは非定型な認証要件を有する遠隔コンピュータまたはアプリケーションには使用できないかもしれない。よって、多くのシングルサインオンアプリケーションは、限られた数のアプリケーションとは互換性がある。さらには、シングルサインオンシステムのほとんどの市販バージョンは、独立したサーバ方法を利用しており、これは認証プロセスを複雑化し、経費を追加する。加えて、多くの市販のシステムは、全ての協力的な(compliant)アプ
リケーションが同じセキュリティプロトコル、ハードウェアインターフェースなどを使用することを要求し、そのようなシステムの適用性を制限する。従って、追加のハードウェアを要求せず、ならびに多様な認証技術および要件を有するシステムと共に機能する、単純、かつ保証された、認証システムの必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【0012】
発明の要約
本発明は、伝統的な名前とパスワードのアプローチに取って代わり、様々な認証要件に適合性を有する、単一かつ単純な認証方法をユーザに提供する。本発明は、検証者(本明細書中において「検証者」および「安全なアプリケーション」は同義に用いられる)が安全に証明者を認証することを可能にし、また証明者が複数の検証者によって認証されることを可能にする。本発明は、証明者が、容易に思い出せる1セットのルーチン、すなわち証明者ステップのみを完成することを要求するプロセスを適用する。これらの証明者ステップは、証明者からのさらなる介入または入力なしに、各検証者に対して適切な認証プロセスを開始する。従って証明者は、全ての認証要件に関して単一の統一された方法を有している。これは本発明が各安全なアプリケーションに付随する精妙さに対処するためである。
【0013】
1つの局面において、本発明は、安全なアプリケーションに対するユーザアクセスを提供するための方法を特徴とする。本方法は、安全なアプリケーションの認証要件を満たすために必要な認証情報を、暗号化形態で記憶することを包含する。あくまで例としてであるが、この情報はユーザのコンピュータ上に記憶され得る。ユーザが安全なアプリケーションへのアクセスを要求すると、ユーザのディスプレイ上において、認証要求がユーザに呈示される。しかし、伝統的な名前とパスワードのアプローチと異なり、ユーザに呈示される認証要求は少なくとも1つのシンボルを含む。ユーザは、シンボルの少なくとも一部を操作することにより、適切に認証要求に応答しなければならない。あくまで例としてであるが、本発明は、ユーザに対して、テーブル、皿、および複数の食べ物(edible item)の表示を表示し得る。ユーザは、いくつかの食物を選択し(すなわち「食事(meal)」を作成し)て、皿の上に移動させる。順不動(order-sensitive)であっても順不同(non-order-sensitive)であってもよいこれらの操作は、ユーザが思い出す必要のある唯一のステップである。「秘密の食事」はユーザが思い出すのは容易であるが、他者が推測することは困難である。さらに、「秘密の食事」は、アクセスされる安全なアプリケーションに関わらず同一である。
【0014】
本発明は、ユーザによるシンボル(単数または複数)の操作(単数または複数)を用いてコードキーを生成するステップを包含する。このコードキーは、暗号化されて記憶された認証情報を、復号化して結果に変えるために用いられる。各安全なアプリケーションあるいはログオンセッションは、異なる期待結果を要求し得るが、ユーザのみが、その証明者ステップを知っている。ユーザはいずれの期待結果もまたその導出方法も知ることはなく(また実際知る必要はない)、加えて、安全なアプリケーションは証明者ステップ(すなわち操作または一連の操作)もまたその導出方法も知ることはない(また知る必要はない)。
【0015】
結果が作成された後、結果は安全なアプリケーションに供給される。もし結果が安全なアプリケーションの認証要件を満たしていれば(すなわち暗号化されて記憶された認証情報をコードキーが適切に復号化していれば)、ユーザには安全なアプリケーションへのアクセスが許可される。
【0016】
本発明は、一連の複雑なパスワードを思い出す必要なしに、ユーザが複数の安全なアプリケーションへのアクセスを得るための単一の、安全かつ効果的な方法を提供する。従来技術における単一のサイン−オンシステムとは異なり、本発明は、認証プロセスのいかなる段階においても、認証データの静的かつ完全なセットの入力、転送、または記憶を排除する。本発明は、何ら追加的なハードウェアを必要とせず、アクセスされる全ての安全なアプリケーションが同じ認証要件を用いることを必要としない。
【0017】
本発明はさらに、以下の手段を提供する。
1.ユーザに保安アプリケーションへのアクセスを提供する方法であって、該方法は、
a)該保安アプリケーションの認証要件を満たすように、暗号化された形態で必要な認証情報を記憶するステップと、
b)該保安アプリケーションにアクセスするために認証要求をユーザに提供するステップであって、該認証要求が少なくとも1つのシンボルをユーザに対して表示するステップを含む、ステップと、
c)該認証要求に応答して、該表示されたシンボルの少なくとも一部分のユーザ操作を受け取るステップと、
d)該表示されたシンボルの少なくとも一部分のユーザ操作に基づいて、コードキーを生成するステップと、
e)該暗号化された認証情報を該コードキーを用いて復号化して、結果を生成するステップと、
f)該保安アプリケーションに該結果を提供するステップと、
g)該結果が該保安アプリケーションの認証要件をサポートする場合に、該保安アプリケーションへのアクセスを該ユーザに許可するステップと、
を含む方法。
2.前記コードキーを生成するステップが、
a)前記表示されたシンボルの少なくとも一部分の前記ユーザ操作に基づいてレイアウトを生成するステップと、
b)該レイアウトを、不可逆性単方向機能で処理して、前記認証情報を復号化するためのコードキーを生成するステップと、
をさらに含む項目1に記載の方法。
3.前記認証情報を記憶するステップが、
前記保安アプリケーションと互換性を有するフォーマットで前記認証情報を記憶するステップをさらに含む項目1に記載の方法。
4.前記認証情報を記憶するステップが、保安アプリケーションによってアクセス可能なロケーションに該認証情報を記憶するステップをさらに含む、項目1に記載の方法。
5.前記認証情報を記憶するステップが、前記ユーザのロケーションに該認証情報を記憶するステップをさらに含む、項目1に記載の方法。
6.前記コードキーを用いて前記認証情報を復号化するステップが、該認証情報を、前記保安アプリケーションによって特定されたフォーマットへマッピングするステップをさらに含む、項目1に記載の方法。
7.リセット要求を受け取ると、前記ユーザにステップを繰り返させるステップをさらに含む、項目1に記載の方法。
8.前記保安アプリケーションへのアクセスのために、複数の認証要求を前記ユーザに提供するステップをさらに含む、項目1に記載の方法。
9.a)前記認証情報を記憶するステップが、ランダム値を該認証情報に供給するステップをさらに含み、
b)該認証要求を前記ユーザに提供するステップが、ランダム値を該認証要求に供給するステップをさらに含む、
項目1に記載の方法。
10.前記認証情報を記憶するステップが、複数の保安アプリケーションにアクセスするために必要な認証情報を、暗号化された形態で記憶するステップをさらに含む、項目1に記載の方法。
11.前記認証情報を記憶するステップが、複数の保安アプリケーションにアクセスするために必要な情報を記憶するステップであって、該複数のアプリケーションの各々が同じ認証情報を要求するステップをさらに含む、項目10に記載の方法。
12.前記認証情報を記憶するステップが、複数の保安アプリケーションにアクセスするのに必要な情報を記憶するステップであって、該複数のアプリケーションの少なくとも1つが他の残りのアプリケーションと同じ認証情報を要求しないステップをさらに含む、項目10に記載の方法。
13.コンピュータユーザアクセスを保安アプリケーションを提供する方法であって、該方法は、
a)複数のグラフィカルシンボルを該ユーザに対して表示するステップと、
b)該グラフィカルシンボルの少なくとも一部分を操作することを該ユーザに要求するステップであって、該ユーザ操作が、該保安アプリケーションにアクセスするためのアウトカムを生成するステップと、
c)該保安アプリケーションにアクセス不可能なロケーションに記憶された認証情報と該アウトカムとを比較するステップと、
e)該アウトカムが該認証情報を満たす場合に、該保安アプリケーションへのアクセスを該ユーザに提供するステップと、
を含む方法。
14.前記アウトカムを比較するステップが、該アウトカムを用いて、保安アプリケーションによってアクセス可能なロケーションに記憶された認証情報を復号化するステップをさらに含む、項目13に記載の方法。
15.前記アウトカムを比較するステップが、該アウトカムを用いて、前記ユーザのロケーションに記憶された認証情報を復号化するステップをさらに含む、項目13に記載の方法。
16.前記ユーザの経験に基づいて該ユーザに表示するグラフィカルシンボルのタイプを決定するステップをさらに含み、複数の表示されるグラフィカルシンボルは、該ユーザになじみのある経験に対応する、項目13に記載の方法。
17.前記アウトカムを処理するステップは、
a)前記表示されたグラフィカルシンボルの少なくとも一部分の該ユーザ操作に対応するレイアウトを生成するステップと、
b)該レイアウトを数学的結果に変換するステップと、
c)該結果を不可逆性単方向機能で処理して、コードキーを生成するステップと、
d)前記保安アプリケーションにアクセスするための暗号化された認証情報を該キーを用いて復号化して、結果を生成するステップと、
をさらに含む、項目11に記載の方法。
18.ユーザに保安アプリケーションへのアクセスを提供する方法であって、該方法は、
a)該ユーザから認証を要求するステップであって、該要求が複数のグラフィカルシンボルの該ユーザへの表示を少なくとも含むステップと、
b)該表示されたグラフィカルシンボルの操作によって少なくとも1つの認証活動を行うことを該ユーザに要求するステップと、
c)該ユーザの該表示されたグラフィカルシンボルの操作に応答して、レイアウトを生成するステップと、
d)不可逆性単方向機能を適用することにより該レイアウトをコードキーに変換するステップと、
e)該暗号化された認証情報を該コードキーを用いて復号化して、結果を生成するステップと、
f)該アプリケーションとの互換性を有するフォーマットに該結果をマッピングするステップと、
g)該保安アプリケーションによる要求に応答して、該マッピングされた結果を用いて、該保安アプリケーションの認証要件を満たすように活動を実行するステップと、
h)該アプリケーションの認証要件が満たされた場合に、該ユーザに該アプリケーションへのアクセスを提供するステップと、
を含む方法。
19.前記レイアウトを結果に変換するステップが、前記ユーザの操作に基づいて、該レイアウトをバイナリー文字列に変換するステップをさらに含む、項目18に記載の方法。20.前記レイアウトが、単方向ハッシュ関数で該結果を処理するステップを含む、項目19に記載の方法。
21.前記結果をマッピングするステップが、
a)前記特定の保安アプリケーションを決定するステップと、
b)前記コードキーを用いて、該保安アプリケーションにアクセスするのに必要な前記認証を生成するステップと、
をさらに含む項目20に記載の方法。
【図面の簡単な説明】
【0018】
本発明のこれらおよびその他の特徴を、以下の詳細な説明および、添付の図面においてより完全に説明する。図面は、安全なアプリケーションに対するユーザアクセスを提供する方法を例示している。
【図1】図1は、本発明が、各証明者に対して複数の検証者をサポートすることを例示する、ブロック図である。
【図2】図2は、証明者による証明者ステップの実行と、適切な検証者特異的サブプロセスの起動との間のシーケンスを例示する、ブロック図である。
【図3】図3A〜Bは、チャレンジとして用いられ得る、順不同な一連の証明者ステップの例を示す。
【図4】図4A〜Dは、チャレンジとして用いられ得る、順不動な一連の証明者ステップの例を示す。
【図5】図5は、ユーザが選択した証明者ステップを容認し、それらを文字列に変換する際のステップを例示する、フローチャートである。
【図6】図6は、検証者およびその認証情報を指定するステップを例示する、フローチャートである。
【図7】図7は、証明者開始から検証者認証までのプロセスに含まれる一連のサブプロセスを例示する、フローチャートである。
【図8】図8は、プロセスの開始および、後のチャレンジプロセスの開始のためのステップを例示する、フローチャートである。
【図9】図9は、証明者インターフェースのセットアップおよび、チャレンジに対する証明者応答を容認する準備を例示する、フローチャートである。
【図10】図10は、証明者チャレンジを呈示し処理する際におけるステップを例示する、フローチャートである。
【図11】図11は、証明者ステップをコードキーに変換する際に行われるステップを例示する、フローチャートである。
【図12】図12は、証明者入力に基づいたコードキーが生成されると自動的に行われるステップを例示する、フローチャートである。
【図13】図13は、マッピングプロセスがどのようにしてアプリケーション特異的なサブプロセスを選択および作成することにより認証を完了するかを例示する、フローチャートである。
【図14】図14は、名前とパスワードに依拠して認証を行うアプリケーションのための、マッピングサブプロセスを例示するフローチャートである。
【図15】図15は、デジタル証明書および署名ならびに公開鍵に依拠して認証を行うアプリケーションのための、マッピングサブプロセスを例示するフローチャートである。
【図16】図16は、ゼロ知識(zero-knowledge)に依拠して認証を行うアプリケーションのための、マッピングサブプロセスを例示するフローチャートである。
【図17】図17は、外部プロセスに依拠して認証を行うアプリケーションのためのマッピングサブプロセスを例示する、フローチャートである。
【図18】図18は、マッピングプロセスの結果を最終的な検証者に通信する際のステップを例示する、フローチャートである。
【図19】図19は、レガシーに基づく認証のための通信サブプロセスを例示する、フローチャートである。
【図20】図20は、証明書に基づく認証のための通信サブプロセスを例示する、フローチャートである。
【図21】図21は、認証を完了するためのプロセス中の最終ステップを例示する、フローチャートである。
【発明を実施するための形態】
【0019】
発明の詳細な説明
以下の発明の詳細な説明において、以下の用語を用いている。これらの用語のうちのいくつかは、明細書中を通じて他の用語と同義に用いている場合は、注記している。
【0020】
証明者は、安全なアプリケーションまたは検証者へのアクセスを取得しようとする個人と定義される。証明者はまた、「ユーザ」として参照される.証明者ステップは、証明者によって選択される一連の個人的ステップと定義される。証明者ステップは、ユーザに表示される1以上のシンボルおよび証明者によって実行されるこれらのシンボルの一連の動きまたは操作に基づく。シンボルは、図形または視覚的オブジェクトと定義されるが、視覚的に表示され得て任意の様式で選択、移動、または操作され得るものは何でも本発明の目的のためのシンボルとして用いられ得ることに留意すべきである。検証者は、証明者がアクセスを取得しようとしているアプリケーション、システム、コンピュータ、およびサーバなどと定義される。安全であり、ユーザがアクセスを取得するために認証を必要とするエンティティは何でも検証者である。検証者は、本明細書全体において、「安全なアプリケーション」と交換可能に用いられる。認証は、証明者のアイデンティティなどの、請求の範囲に記載されたアイデンティティを証明するプロセスと定義される。認証情報は、証明者がアクセスを取得するために検証者に提供しなければならない情報と定義される。認証情報は、1以上のユーザネームおよびパスワードから複数の複雑なルーチン、手順および情報まで、いずれでもあり得る。チャレンジは、証明者が入力を行って証明者ステップを含む行為を完了することを必要とする視覚的表示と定義される。チャレンジは、「認証要求」とも呼ばれる。コードキーは、暗号化された認証情報を復号化するために用いられ得る鍵と定義される。
【0021】
図1は、本発明が各証明者のための複数の検証者をサポートするという概略を提供するブロック図である。ユーザは、図1の検証者のうちの1つを選択することにより、図2、より特定すると図7〜図21に概して示すステップを開始する。
【0022】
図2は、証明者が検証者へのアクセスを取得するために必要な一連のステップを概して示すブロック図である。検証者1〜Nは各々、証明者がアクセスを取得するためには、図2にそれぞれサブプロセス1〜サブプロセスNとして示す別々の独自のステップを必要とする。サブプロセスは、多くのオンラインシステムで一般的であるように、ユーザネームおよびパスワードを提供するほど簡単なものであり得る。しかし、サブプロセスは、一連のパスワードまたはコードあるいは他のアプリケーション独特の要件も含み得る。特定の検証者に必要とされるサブプロセスの複雑性にかかわらず、証明者が検証者に対するアクセスを欲する場合、特定の検証者に対する適切なプロセスを開始するために証明者がしなければならないのは、図2に示すように、証明者ステップを実行することだけである。
【0023】
予備的行為として、証明者は、本発明を実施するシステムに対して以下のことを示す:(a)すべての安全なアプリケーションにアクセスするために証明者が用いる証明者ステップ(概して、ユーザが覚えていなければならない「象徴的パスワード」に対応する)および(b)検証者およびそれに関連する認証情報(概して、安全なアプリケーションおよびそれに関連するパスワードに対応する)。
【0024】
証明者ステップを指定するために、ユーザはオブジェクトまたはシンボルを表示される。オブジェクトまたはシンボルを配置すること、移動させること、および配列することにより、証明者のステップは完了する。好適には、オブジェクトまたはシンボルは、ユーザに馴染みのあるものである。例えば、化学者であるユーザは、周期表を表示されることを選択し得る。化学者はその後いくつかの元素を選択するか、あるいは、元素をまとめて一般式または分子を生成するか、あるいは化学者が書き留めることなく容易に覚えておける別の組み合わせを生成し得る。選択は、順序に従って行わなければならないものであってもよいし、そうでなくてもよい。
【0025】
他の可能性は、例えば、コックの場合は食物であり、金融アナリストの場合は株であり、トランプ好きの人にとってはトランプの1組である。多数の様々なオブジェクトおよびその組み合わせは、本発明の思想および範囲から逸脱しない限りにおいて考えられ得、上述の例のみではない。
【0026】
図3Aおよび図3Bは、一連の3つの証明者ステップから作成された順序に従って行わなくてもよいレイアウトの簡略図である。図3Aにおいて、2つのオブジェクト「X」および「Y」が、片方または両方のオブジェクトの移動先であり得る三目並べ様のグリッドと共にユーザに表示される。3つの証明者ステップは、「X」のオブジェクトから出る3本の破線により示されている。証明者ステップのこの特定のセットは順序に従って行わなくてもよいものではないため、図3Bに類似するレイアウトをもたらす一連の任意の証明者ステップがこれらの証明者ステップに基づいてチャレンジ(すなわち図3A)を満足させる。
【0027】
対照的に、図4A〜図4Cは、順序に従って行わなければならない一連の証明者ステップの簡略図を示す。図4Aは証明者ステップ1を示し、図4Bは証明者ステップ2を示し、図4Cは証明者ステップ3を示す。図4Dは図3A〜図3Bの順序に従って行なわなくてもよい証明者ステップから得られるレイアウトと、図4A〜図4Cの順序に従って行わなければならない証明者ステップから得られるレイアウトとを比較した表を示す。順序に従って行わなければならない証明者ステップの場合、図4A〜図4Cに示すように、各証明者ステップがレイアウトに対応する。順序に従って行わなくてもよい証明者ステップの場合、図3Bに示すように、レイアウトはすべての証明者ステップの最終結果に対応する。
【0028】
本発明の一実施形態において、一連の証明者ステップが単独で、安全なアプリケーションへのアクセスのための覚えやすいパスワードとして用いられる。レイアウトまたは一連のレイアウトが安全なアプリケーションにアクセス可能なロケーションに格納され、それにより、証明者が安全なアプリケーションへのアクセスを求めると、ユーザにシンボルを表示してユーザがユーザの以前に指定されたパスワードを複製することを必要とするチャレンジが提示され得る。パスワードレイアウト情報はさらに、安全なアプリケーションのみが、ユーザのチャレンジ応答と比較するために復号化することができるように暗号化され得る。しかし、そうではなく、一連の証明者ステップおよび対応するレイアウトがコードキーを形成するために用いられ、それにより、本明細書により詳細に記載されるように、安全なアプリケーションにアクセスするために必要な認証情報を復号化する方が好適である。
【0029】
レイアウトまたは一連のレイアウトが生成された後、本発明を実施するシステムは、得られたレイアウトを、コードキーを構築するために後に用いられる文字列を生成するために用いる。図5は、証明者ステップ構築プロセスを示す。ユーザが図3および図4に示す一連の証明者ステップを提供した後、図5の証明者ステップ構築プロセスは、証明者ステップに基づいたレイアウトを形成する。レイアウトは、図4Dに示すタイプの情報を概して含む。次に、このプロセスは、一連の証明者ステップに対応する文字列を生成するために、レイアウトによって表示された選択物、オブジェクトおよび行為を数学的に組み合わせる。典型的には、この文字列は、バイナリ文字列という形態にある。生成された文字列は、証明者ステップが順序に従って行わなければならないこと、証明者ステップで用いられるシンボルまたはオブジェクトの配置、および証明者ステップの配列に特異的である。文字列は、コードキーを生成するために後に用いられ得る(図9を参照のこと)ように格納される。さらに、証明者は、図5の証明者ステップ構築プロセスを反復することにより、いつでも、証明者ステップにチャレンジするという選択肢を有することに留意されたい。
【0030】
好適な実施形態において、文字列は、文字列が、ユーザがアクセスを求めている安全なアプリケーションにはアクセス不可能であるようなロケーションおよび様式で、ユーザのコンピュータに格納されている。このことは、認証情報の完全なセットが安全なアプリケーションに伝送されないことを確実にすることを補助する。しかし、他の実施形態においては、安全なアプリケーションに対してまだアクセス不可能なユーザのコンピュータ以外のロケーション、例えば、遠隔のコンピュータまたはサーバに、文字列を格納することが可能である。ユーザが、用いられている任意のコンピュータにおいて本発明の利益を得ることを可能にするために、フロッピー(登録商標)ディスクなどのポータブルな格納媒体に文字列を格納することも可能である。別の可能性は、他のユーザから「隠された」ロケーションにおいてコンピュータネットワークに文字列を格納することである。
【0031】
図6は、本発明を使用する別の準備プロセスを示し、特定のアプリケーションに関連する認証要求をの一度きりの指定を含む。検証者の特定認証要求に適応するために、本発明は、ユーザが前もって検証者および認証要求を指定することを可能にする。これは、図3、4、および5に示すように、ユーザが彼らの証明者工程を選択し終えた後に、典型的に行われる。しかしながら、図6に示すように、ユーザが証明者工程をまだ行い終えていない場合、証明者は検証者指定プロセスに干渉し、検証者が指定されるときに証明者工程を選択し得る。
【0032】
図6に示すプロセスの作用の説明するために、一例が役立ち得る。ユーザが、LEXISTMオンラインサービスのためのユーザネームおよびパスワードを発行された、と想定されたい。このユーザは、図5の工程を既に完了していて、本発明を適用したシステムに、この保安アプリケーションを追加したいと所望している。まず、ユーザは、特定の保安アプリケーション(即ちLEXISTM)を指定する。指定は、本発明を適用したシステムが、ユーザの提供する認証情報を適切に構成し得、その認証情報が保安アプリケーションの要求と適合することを確証するように行われる。好適には、この指定は、プルダウンメニューまたはアプリケーションリストからの選択のような、簡単でユーザフレンドリなインターフェイスを介して行われる。しかしながら、手動でアプリケーション名を入力したり、または外部ソースからアプリケーション情報を受け取ったりすることを含むアプリケーション指定の様々な方法が、可能であると予測される。将来の実施形態では、本発明を適用したシステムは、ユーザが指定を所望するアプリケーションを自動的に検出して決定し得ると、さらに予測される。
【0033】
次に、図6に示すように、ユーザは、保安アプリケーションのための適切な認証情報を供給する。この例では、ユーザは、「Jsmith、ab2dc3e」のようなLEXISTMユーザネームおよびパスワードを供給し得る。そのアプリケーションに対する認証情報をユーザが覚えていなければならないのは、このときのみである。ユーザがこの認証情報を供給した後で、本発明は、文字列(図5に示す)を用いて、認証情報を暗号化するのに使用されるコードキーを生成する。コードキー自体は決して記憶されず、記憶されるのは、(前述のように)文字列および暗号化された検証者認証情報のみである。好適な実施形態では、暗号化された検証者認証情報は、ユーザコンピュータ内など検証者がアクセスできないロケーションに記憶される。しかしながら、文字列の記憶のために利用される代替の場所が、暗号化された検証者認証情報の記憶にも適用される。
【0034】
コードキーにとともに使用される暗号化方法は、好適には、単方向ハッシュ機能のような不可逆性単方向機能である。しかしながら、その他の利用可能な暗号化技術を当業者が予測することは理解されるべきである。
【0035】
文字列と文字列からのコードキーとを生成するプロセス、およびアプリケーション情報を暗号化するプロセスは、証明者工程、レイアウト、および認証情報を容易に引き出せなくすることを確証するのに役立つ。さらに、このプロセスによって、コードキーは、各アプリケーションおよびログオンセッションに特殊であり得る。
【0036】
図7は、本発明の好適な実施形態に含まれる工程の概略を提供する。これらの工程は、証明者工程(図5)および検証者指定(図6)の選択の工程を既に完了しているユーザが、検証者にアクセスを求めたときに起こる事象を記録する。
【0037】
一般的に、本発明は、従来のネームおよびパスワード方に代わる単一、且つ単純な認証方法を証明者に提供する。それは、検証者が証明者を保安に認証することを可能にし、証明者が複数の検証者によって認証されることを可能にする。大抵の検証者は、個別で特殊なプロセスを要求する(即ち、大抵の検証者は特殊な認証要求を有する)。検証者へのアクセスを獲得するために、本発明は、証明者に一組のルーチン、または証明工程を完了するように要求する。証明者は、各検証者に対して適切なプロセスを起動するために、証明者工程を一度だけ実行すればよい。
【0038】
本発明は、複数の異なる認証方法をサポートする。証明者認証は、証明者工程と、アクセスされているアプリケーションに対する適切なプロセスまたはサブプロセスとを組み合せた結果に基づいて、達成される。本発明は、図7に概略を示す、各検証者の特定要求に対する適切なサブプロセスを起動する単一のシーケンスに従う。本発明のための一連の工程は、いったん起動されると、証明者からそれ以上の干渉または入力を必要としない。その結果、証明者は、証明者工程にアクセスして完了するために、検証者または保安アプリケーションを選択するだけでよい。証明者は、認証要求のすべてに対して単一の統一された方法を提供される。このプロセスは、各アプリケーションまたはシステムに伴う微差を処理する。
【0039】
図7に示す工程は、ユーザがアクセスを求めるすべての保安アプリケーションに応用され、各特殊な認証ベースのアプリケーションまたはシステムに対して起動される。一般的には、証明者インターフェイスプロセスでは証明者が入力し、チャレンジプロセスは、コードキー構築プロセスにおいてキー(「コードキー」)を構築するのに使用される。このコードキーは、図5の証明者工程構築プロセスから図6にもたらされたものである。次に、本発明は、証明者によってアクセスされているアプリケーションに基づく特定サブプロセスを、検証者にマッピングする。このマッピングプロセスは、コードキーを試験し、通信プロセスにおいて検証者へ伝送される適切な出力を生成する。通信プロセスは、単一の交換または一連のインタラクティブ交換であり得る。図7の各工程に関する詳細を以下に説明する。
【0040】
図7に示すように、本発明の工程は、二つの主要な工程の組を含む。即ち、証明者関与プロセスおよび自動プロセスである。証明者関与プロセスは、証明者による入力によって起動され、この入力を必要とする。自動プロセスは、証明者関与プロセスの完了によって起動され、証明者からそれ以上の入力を必要としない。
【0041】
証明者関与プロセス
証明者関与工程は、認証に対する証明者の要求によって起動され、完了するために証明者の入力を要する。このシーケンスは、証明者インターフェイスプロセス、チャレンジプロセス、およびコードキー構築プロセスを含む。
【0042】
証明者インターフェイスプロセス
図8に示すように、証明者インターフェイスプロセスは、全体のプロセスの最初の工程であり、チャレンジプロセスを設定するために必要な工程を含んでいる。証明者インターフェイスプロセスは、認証に対する証明者の要求により起動される。この要求は、リソース制御器、アクセスプロバイダ、ならびに手動および自動プロセスを含む様々なソースからもたらされるが、これらのソースに限定されない。証明者インターフェイスプロセスは、証明者チャレンジを提示し含む。
【0043】
いったん起動されると、証明者インターフェイスプロセス中の任意の時点で、証明者が認証プロセスを取り消し/打ち切り得る。取り消しプロセスは、証明者側の明示的な行動による。取り消しは、このプロセスを打ち切り、認証は失敗する。証明者インターフェイスプロセス中の任意の時点で、証明者はすべてのチャレンジ応答が完了し、認証が継続すべきことを指示し得る。これは、認証の成功を意味しない。これは、単に証明者がチャレンジに対し完全な組の応答が供給されたと信じていることを意味する。
【0044】
図9は、証明者インターフェイスプロセスが、いったん起動されると、証明者選択環境に基づいた意義ある方法において証明者へのチャレンジを含み提示して、証明者が馴染みよく応答し得るように経過することをさらに示している。証明者工程構築プロセスにて説明したように、チャレンジは、ユーザが操作を要求した馴染みあるオブジェクトの表示を複製し得る。あるいは、証明者は、一般的な提示を基準として、即ちチャレンジを提示する最も簡単な方法(最低共通項アプローチ)、または、より緊密に選択された環境と証明者の体験とを一致させる証明者予備定義方法として提示され得る。
【0045】
例えば、ユーザが、そのユーザの環境および経験に合うように特定のシンボル組を選択していなかった場合、1組のカードのような、上位概念または馴染みのあるシンボルまたはシンボル組の表示が提示され得る。提示プロセスは、証明者の選択された環境およびそれがサポートされているかどうかに基づいて判定を行う。最終ステップは、証明者に提示すべき個々のチャレンジを規定するサブプロセスを作成するステップである。これらの個々のチャレンジは、特定の安全なアプリケーションの認証要件を満たす一助となる。これらのサブプロセスがいずれも作成できない場合、プロセスは失敗し、プロセスは打ち切られる。そうでない場合には、チャレンジプロセスが開始される。
【0046】
チャレンジプロセス
図10は、チャレンジが証明者に提示されたときに行われる初期ステップを示す。チャレンジは、単一のチャレンジでも一連のチャレンジでもよい。プロセスを継続するために、チャレンジは証明者の応答を要求する。チャレンジの出力をランダム化し、セッション特異的なデータ組を提供するために、チャレンジ自体がランダム値を用いて選択され得る。
【0047】
初期証明者ステップを選択するために示される表示と同様に、チャレンジは、馴染みのオブジェクトまたはシンボル組として提示される。オブジェクトおよびシンボルの配置、移動またはシーケンシングにより、証明者のアクションまたは証明者ステップが完了する。チャレンジは、順不動であってもよい。これは、特定のチャレンジの寿命中に、全アクションのリスト(例えば、証明者ステップ)が構築および保存されることを示している。証明者ステップの順序は、チャレンジプロセスの結果に直接的な影響を及ぼす。
【0048】
チャレンジプロセスの間の任意の時点において、証明者はそのプロセスをキャンセル/打ち切り得る。キャンセルは、証明者側からの明示的なアクションによるものである。キャンセルによって、プロセスは打ち切られ、認証は失敗する。また、チャレンジプロセスの間の任意の時点において、証明者は、チャレンジをリセットできる。これにより、証明者がその証明者ステップを完了する際に間違いをした場合に、証明者がそのプロセスをリスタートさせることが可能になる。これにより、証明者は、チャレンジプロセスのスタートに戻る。
【0049】
コードキー構築プロセス
証明者がチャレンジプロセスの完了を示すと、図11のコードキー構築プロセスが始まる。完了は、認証の成功とは異なり、また、それを示すものでもない。コードキーは、チャレンジプロセスにおいて証明者ステップによって生成されたレイアウトを処理することに基づいて生成される。図11に示すように、各証明者ステップは、コードキー構築プロセスにおいて処理されるレイアウトを生成する。順不動および順不同の両方のレイアウトが生成され得る。変換は、チャレンジの種類、順不動、オブジェクトの配置、および証明者ステップのシーケンスに特異的である。
【0050】
順不同証明者ステップの場合、コードキー構築プロセスは、証明者ステップに対応するレイアウトダイジェスト(図4Cの表同様)を生成する。最終レイアウトは処理されて、コードキーを構築するために使用される文字列等のある結果となる。典型的に、この結果または文字列は、単方向ハッシュ関数等の不可逆性単方向関数を用いて処理され、これにより、コードキーが生成される。コードキーは、保存された認証情報を復号化するために使用される。
【0051】
順不動証明者ステップの場合、図11に示すような順不動コードキー構築プロセスが行われる。このプロセスは、チャレンジプロセスにおける証明者ステップによって生じた一連のレイアウトの中の1番目のものを選択する。次に、順不動コードキー構築プロセスによって、選択されたレイアウトを文字列等の結果に変換する。その後、順不動シーケンスにおいて次のレイアウトが選択される。前の結果は、新たに選択されたレイアウトと用いた不可逆単方向関数(例えば、単方向ハッシュ関数)を用いて処理され、そして、コードキー構築プロセスに渡される。このプロセスは、そのシーケンスにおける最終レイアウトが処理され(不可逆単方向関数を適用することによって実際のコードキーに変換され)るまで継続する。得られるコードキーは、順不同コードキー構築プロセスによって生成されたコードキーと同様に使用される。
【0052】
上記のコードキー構築プロセスは、不可逆単方向関数に限定されるものではなく、当業者であれば本発明に使用可能なさらなる暗号化方法を想起するであろうことが理解されるべきである。
【0053】
コードキー構築プロセスの間に生成された文字列は、ユーザのコンピュータ上に保存された文字列と同じであってもよいし、同じでなくてもよいことにも留意されたい。しかし、コードキー構築プロセスの間に生成された文字列をユーザのコンピュータ上に保存された文字列とは異なったものにする方がより安全である。より重要な結果は、この文字列から得られるコードキーによって復号化した認証情報が、アクセスすべき安全なアプリケーションの要件を満たすかどうかである。チャレンジが順不動でない場合、チャレンジプロセスの結果を決定するにあたって重要なのは、証明者ステップの最終的な結果またはレイアウトである(図8参照)。チャレンジプロセスは、証明者がプロセスの完了を示すか、あるいはプロセスを打ち切るまで継続される。
【0054】
コードキープロセスにより、証明者ステップおよびレイアウトが簡単には演繹できないようになる。コードキーが保存されることは決してなく、また、コードキーは、各アプリケーションおよび認証セッションについて固有であり得る。コードキー構築プロセスが完了すると、その結果は自動プロセスに送られる。コードキー構築プロセスの完了は、いかなる意味においても、認証の成功を示すものではない。単に、チャレンジプロセスの間に証明者ステップから得られたレイアウトから特定のコードキーが生成されたということを示すだけである。
【0055】
自動プロセス
このプロセスの残りのステップは、自動的に行われ、それ以上証明者が関与することを必要としない。図7および図12は、関与するステップのハイレベル概観図である。
【0056】
コードキー構築プロセスの結果は、自動プロセスを開始する。適切な認証プロトコルおよび対応するサブプロセスは、アクセスされるアプリケーションに基づいて選択される。マッピングプロセスは、検証者および以降の検証プロセスによって通信プロセスを開始する。コードキーをマッピングできない場合、認証は失敗し、プロセス全体が打ち切られる。
【0057】
マッピングプロセス
図13に示すように、マッピングプロセスは、コードキー構築プロセスの結果によって開始される。適切なマッピングサブプロセスは、証明者によってアクセスされるアプリケーション、およびそのアプリケーションに必要な認証の種類に基づいて選択される。特定のマッピングサブプロセスの作成が成功すると、それに、コードキーが与えられる。マッピングシーケンス内においてさらなるマッピングが要求されると、マッピングサブプロセスの結果がマッピングプロセスにフィードバックされる。特定のマッピングサブプロセスの作成が失敗する、あるいは、適切なマッピングサブプロセスが全く見つからない場合、認証は失敗し、プロセス全体が打ち切られる。そうでない場合、マッピングプロセスの結果によって通信プロセスが開始される。
【0058】
以下、特定の認証プロトコルに関連する可能なマッピングサブプロセスについて説明する。これらには、レガシーネーム&パスワード(図14)、デジタル署名/証明書(図15)、ゼロ知識(図16)、および外部認証(図17)が含まれる。代替的な認証プロトコルが利用可能になったり、開発されたりすると、この他のサブプロセスも追加され得る。
【0059】
図14は、古いレガシーネームおよびパスワードアプリケーションをサポートするサブプロセスに含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果が、サブプロセスを開始する。マッピングプロセス内の前のステップは、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、通信プロセスで使用するために、逆にマッピングプロセスに戻される。この特定的なケースにおいて、結果は、認証で使用され得る特定のネームおよびパスワード対である。この特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが打ち切られる。
【0060】
図15は、ゼロ知識スタイル認証をサポートするサブプロセス内に含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果がサブプロセスを開始する。マッピングプロセス内の前のステップはまた、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、逆にマッピングプロセスに戻される。この特定的なケースにおいて、サブプロセスの結果は、認証で使用され得る特定のデジタル証明書、署名、公開鍵/プライベート鍵対である。この特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが異常終了する。
【0061】
図16は、デジタル署名またはデジタル証明書の使用をサポートするサブプロセス内に含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果がサブプロセスを開始する。マッピングプロセス内の前のステップはまた、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、逆にマッピングプロセスに供給される。この特定的なケースにおいて、サブプロセスの結果は、認証で使用され得るゼロ知識キーおよび情報である。この特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが異常終了する。
【0062】
図17は、アプリケーションに基づいて外部の認証をサポートするサブプロセス内に含まれるステップを示す。コードキー構築プロセスおよび/または別のマッピングサブプロセスの結果がサブプロセスを開始する。マッピングプロセス内の前のステップはまた、このサブプロセスの開始に必要なさらなる情報を供給し得る。このマッピングサブプロセスの結果は、外部認証プロセスに供給される。認証タスクの制御が、完了のためにこの外部プロセスに渡される。特定のマッピングサブプロセスの生成が停止した場合、または、マッピング自体が何らかの理由で完了不可能である場合、認証が停止し、そして、プロセスが異常終了する。
【0063】
通信プロセス
図18の通信プロセスは、証明者と検証者との間のリンクである。マッピングプロセスの結果が、通信プロセスを開始する。このプロセスは、最終検証プロセスおよび究極認証結論へと至る。
【0064】
適切な通信サブプロセスは、証明者によってはじめに選択されたアプリケーション、行われる認証のタイプ、および関連する通信要件に基づいて選択および生成される必要がある。これらの通信サブプロセスの例を以下に説明する。特定の通信サブプロセスの生成が成功すると、通信が開始され、そして、マッピング結果が通信に供給されてその処理が行われる。マッピングのシーケンスにおいてさらなるマッピングが要求される場合、現在のマッピングサブプロセスの結果が、通信プロセスループへと戻すように供給される。そうでない場合には、通信プロセスの結果は検証プロセスを開始し、プロセスの結果が、最終認証の完了または失敗へと至る。
【0065】
通信プロセスの途中の任意の時点において、検証プロセスは失敗を示し得る。このような場合、認証は停止し、そして、プロセスは異常終了する。検証プロセスが成功を示す限りは、サブプロセスは必要であれば継続し得る。特定の通信サブプロセスの生成が停止するか、または、適切な通信サブプロセスが発見され得る場合、認証は停止し、そして、プロセスは異常終了する。
【0066】
図19は、レガシー/対称コミュニケーションサブプロセスに含まれるステップを示す。マッピングプロセスおよび/または他の通信サブプロセスの結果が、このプロセスを開始する。通信プロセス内の前のステップはまた、このサブプロセスに必要なさらなる情報を供給し得る。証明者および検証者が、このサブプロセスによって提供されたチャネルを介して、網羅的な(exhaustive)対称検証プロセスを実行した後に、この通信サブプロセスの結果が通信プロセスに供給される。認証プロセスを完了するタスクが、外部認証プロセスに与えられ得、そして、全ての制御がそのプロセスに譲渡(relinquish)される。この特定の通信サブプロセスの生成が失敗した場合、または、通信自体が何らかの理由(有効な通信チャネルの完成失敗)で完了不可能である場合、認証が停止し、そして、プロセス全体が異常終了する。
【0067】
図20は、認証/非対称コミュニケーションサブプロセスに含まれるステップを示す。マッピングプロセスおよび/または他の通信サブプロセスの結果が、このプロセスを開始する。通信プロセス内の前のステップはまた、このサブプロセスに必要なさらなる情報を供給し得る。証明者および検証者がこのサブプロセスによって提供されたチャネルを介して網羅的な対称検証プロセスを実行した後に、この通信サブプロセスの結果が通信プロセスに供給される。認証プロセスを完了するタスクが、外部認証プロセスに与えられ得、そして、全ての制御がそのプロセスに譲渡される。この特定の通信サブプロセスの生成が失敗した場合、または、通信自体が何らかの理由(有効な通信チャネルの完成失敗)で完了不可能である場合、認証が停止し、そして、プロセス全体が異常終了する。
【0068】
検証プロセス
図21は、最終検証プロセスステップおよびそれらの認証チャレンジに対する関係を示す。以前の通信/マッピングプロセスと検証プロセスとの間で、自動的チャレンジ/レスポンスプロセスが開始される。通信/マッピングプロセスは、特定のチャレンジと共に提示される(presented)。通常、チャレンジは、プロセスを継続するために応答を要求する
。検証者は、現在の通信/マッピングプロセス応答プロセスが正確であるかどうかを示し、それに従ってプロセスが進行する。検証プロセスのチャレンジ/レスポンスハンドリング方法は、検証者が認証プロセスの完了または異常終了を示すまで継続される。検証者がチャレンジ/レスポンスプロセスの最終完了を示す場合、検証者が十分な応答を受け取ったかどうかに基づいて認証が成功または失敗して、期待された結果を生成する。
【0069】
特定の検証プロセスの間の任意の時点において、証明者はチャレンジをリセットし得る。このことにより、通信/マッピングプロセスは、証明者がエラーをした瞬間にプロセスをリスタートすることができる。これは、このプロセスの開始に戻る。検証プロセスの間の任意の時点において、(通信/マッピングプロセスに加えて)検証者が、認証プロセスをキャンセル/異常終了し得る。キャンセルプロセスは、検証者および/または通信/マッピングプロセスの一部分の上で明白なアクションによって開始される。キャンセルは、認証プロセスを異常終了し、そして、プロセスが停止する。
【特許請求の範囲】
【請求項1】
本明細書に記載の発明。
【請求項1】
本明細書に記載の発明。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2011−70699(P2011−70699A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願番号】特願2010−277482(P2010−277482)
【出願日】平成22年12月13日(2010.12.13)
【分割の表示】特願2009−14812(P2009−14812)の分割
【原出願日】平成10年5月12日(1998.5.12)
【出願人】(509025485)パスロジックス, インコーポレイテッド (2)
【Fターム(参考)】
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【出願日】平成22年12月13日(2010.12.13)
【分割の表示】特願2009−14812(P2009−14812)の分割
【原出願日】平成10年5月12日(1998.5.12)
【出願人】(509025485)パスロジックス, インコーポレイテッド (2)
【Fターム(参考)】
[ Back to top ]