(57)【特許請求の範囲】
【請求項１】
回線上で通信する２つの装置間の通信セッションを確実にするための検証プロセスを実行するための方法であって、
ａ．前記２つの装置の内の一方の装置である第１の装置が、他方の装置である第２の装置に、前記第１の装置の公開キーを含む第１のセットのデータを送信し、前記第２の装置が、前記第１の装置に、前記第２の装置の公開キーを含む第２のセットのデータを送信し、
ｂ．前記第１の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第１の１系列の個別値を生成し、前記第２の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第２の１系列の個別値を生成し、
ｃ．ユーザからの入力を受信して、ユーザの入力に基づいて、前記第１の装置が、前記第１の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び予め指定された関数に基づいて得られる値から第１の個別値を選択し、前記第２の装置が、前記第２の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び前記関数に基づいて得られる値から第２の個別値を選択し、
ｄ．前記第１の装置が、前記選択された前記第１の個別値を使用して第１の出力を生成し、前記第２の装置が、前記選択された前記第２の個別値を使用して第２の出力を生成し、
ｅ．検証のために、前記第１の装置が前記第１の出力を前記ユーザに提示し、前記第２の装置が前記第２の出力を前記ユーザに提示し、
ｆ．ユーザ入力にしたがってステップｃ〜ｅを繰り返す
検証プロセスを実行するための方法。
【請求項２】
前記予め指定された関数はハッシュ関数である、請求項１に記載の方法。
【請求項３】
前記第１の出力を生成することは前記第１の個別値を使用し、前記第２の出力を生成することは前記第２の個別値を使用してそれぞれ、個別の可視性、可聴性および触覚性出力のうちの少なくとも１つを生成することを更に含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記２つの装置の少なくとも１つは移動端末である、請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
前記移動端末は着用可能な（ウェアラブル）装置である、請求項４に記載の方法。
【請求項６】
メモリ装置に接続され、通信回線への侵入攻撃をユーザに警告できる処理装置であって、
ａ．前記２つの装置の内の一方の装置である第１の装置が、他方の装置である第２の装置に、前記第１の装置の公開キーを含む第１のセットのデータを送信し、前記第２の装置が、前記第１の装置に、前記第２の装置の公開キーを含む第２のセットのデータを送信し、
ｂ．前記第１の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第１の１系列の個別値を生成し、前記第２の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第２の１系列の個別値を生成し、
ｃ．ユーザからの入力を受信して、ユーザの入力に基づいて、前記第１の装置が、前記第１の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び予め指定された関数に基づいて得られる値から第１の個別値を選択し、前記第２の装置が、前記第２の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び前記関数に基づいて得られる値から第２の個別値を選択し、
ｄ．前記第１の装置が、前記選択された前記第１の個別値を使用して第１の出力を生成し、前記第２の装置が、前記選択された前記第２の個別値を使用して第２の出力を生成し、
ｅ．検証のために、前記第１の装置が前記第１の出力を前記ユーザに提示し、前記第２の装置が前記第２の出力を前記ユーザに提示し、
ｆ．ユーザ入力にしたがってステップｃ〜ｅを繰り返す
機能を実行するように動作する処理装置。
【請求項７】
メモリ装置に接続されるコンピュータに、通信回線への侵入攻撃をユーザに警告する機能を実行させるためのプログラムであって、
前記コンピュータに、
ａ．前記２つの装置の内の一方の装置である第１の装置が、他方の装置である第２の装置に、前記第１の装置の公開キーを含む第１のセットのデータを送信し、前記第２の装置が、前記第１の装置に、前記第２の装置の公開キーを含む第２のセットのデータを送信し、
ｂ．前記第１の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第１の１系列の個別値を生成し、前記第２の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第２の１系列の個別値を生成し、
ｃ．ユーザからの入力を受信して、ユーザの入力に基づいて、前記第１の装置が、前記第１の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び予め指定された関数に基づいて得られる値から第１の個別値を選択し、前記第２の装置が、前記第２の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び前記関数に基づいて得られる値から第２の個別値を選択し、
ｄ．前記第１の装置が、前記選択された前記第１の個別値を使用して第１の出力を生成し、前記第２の装置が、前記選択された前記第２の個別値を使用して第２の出力を生成し、
ｅ．検証のために、前記第１の装置が前記第１の出力を前記ユーザに提示し、前記第２の装置が前記第２の出力を前記ユーザに提示し、
ｆ．ユーザ入力にしたがってステップｃ〜ｅを繰り返す
機能を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不安定な通信チャネル上での確実な電子通信に関する。特に本発明は、たとえ２つの特定の装置が事前に秘密の、または共通の信頼の根源を共有しない場合でも、不安定な通信チャネル上でこれら２つの特定の装置が正しく情報を交換したことをユーザに保証できるシステムおよび方法に関する。
【背景技術】
【０００２】
移動端末が急増し、益々ユーザは、特別の方法で移動端末と他の装置との間で情報を伝送することを必要としている。一般に伝送は、有線または無線接続（ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）などの効率的な手元のチャネル上で実行される。
【０００３】
しかしながら、不注意な情報漏洩、盗聴および詐欺を防止するためにユーザは、所定の２つの装置が互いに通信して（これらの装置が互いにペアになって）確実に通信することを保証しなくてはならない。これは、これらの装置がペアリングに先立って秘密の、または共通の信頼の根源を共有していない場合には達成困難である。これは、ランダムな最初の遭遇時、または装置がペアを組まなくてはならない他のすべての装置との間で現在のセキュリティ関係を保持するためには装置の記憶容量が不十分である場合、典型的なことである。反対に共通の信頼の根源を先験的に交換しなくてはならないことは、自由なＷｉＦｉアクセスポイントなどのサービスの基本的前提を阻害する。自由なＷｉＦｉの急増の背後の駆動要因は、ＷｉＦｉアクセスポイントの特性の予備知識なしでの容易な接続性である。
【０００４】
このような状況における確実な通信は、更なる防護手段なしでは中間者攻撃などの不正行為に対して脆弱である既知の匿名キー交換プロトコルを介して達成可能である。中間者攻撃では、両装置は、互いによりむしろ敵と暗号キーを交換する。これは、第１の装置と敵との間の１つの接続と、敵と目標装置との間のもう１つの接続という２つの別々の確実な接続という結果を生じる。これら２つの装置の間を中継することによって敵は、これら２つの装置の間の通信全体を知る。
【０００５】
本発明は２つの装置間のいかなるタイプの通信にも適用可能であるが、関連する種々の問題を説明し、提案される解決策の利益を強調するためにＷｉＦｉ環境が使用され得る。無線技術が急増するにつれて、いわゆる「エビルツイン（ｅｖｉｌ  ｔｗｉｎ：邪悪な双子）」無線アクセスポイントに基づく詐欺およびフィッシング攻撃に関して益々大きな懸念が存在する。エビルツインは、悪意の敵によって展開されて制御され、真正のアクセスポイントになりすます。カフェまたは空港ターミナルのような公の場所は特に、この形式の攻撃を受けやすい。エビルツインに結びつくことを疑わないユーザは、自分のネットワーク通信を危うくする。ユーザのログイン情報とパスワードは盗まれる可能性があり、ユーザのブラウザは、そっくりに見えるフィッシングウェブサイトと破壊工作ソフトを含むダウンロードページとに向け直される可能性がある。
【０００６】
典型的にはエビルツインは、場所に合った名前を含む合法的なホットスポットに似た名前を有する。多くのホットスポット所有者が彼らのホットスポットに関して「ホットスポット」のような一般的な名前またはサービスプロバイダの名前を使用することは、この問題を悪化させている。前に使用した名前と同じ名前を有するアクセスポイント、または最も強い信号を有するアクセスポイントに自動的に接続するように構成された多くのラップトップおよび他の無線装置は、特に影響を受けやすい。エビルツインがセットアップされ得る容易さは、例えば悪質なアクセスポイントが公衆の無線ホットスポットからユーザ名とパスワードとをどのようにして盗むことができるかを実証するように設計された無線アクセスポイントセットアップユーティリティであるＡｉｒｓｎａｒｆを使用して実証されている。
【０００７】
エビルツインは、ゲートウェイサービスとＤＮＳセッティングとを接続クライアントに与えるので、ハッカーはクライアントのネットワーク通信に対して完全な制御権を獲得する。例えばエビルツインは、バンキング（銀行業務）ウェブサイトの真正のドメイン名をフィッシングウェブサイトのＩＰ番号に写像し得る。これは、ユーザのための主要な信用指標を、すなわちユーザのブラウザに表示されるＵＲＬをひそかに傷つける、すなわちユーザは自分のブラウザで正しいＵＲＬを見ているのにアドレスがハイジャックされていて、ユーザは実際にはフィッシングウェブサイトに接続される。Ｅｔｔｅｒｃａｐなどの更なるツールには、例えば偽の証明書を生成することによって非暗号化および暗号化通信に対する中間者攻撃のための広範なサポートが付いている。しかしながら、ユーザの装置が結びつくアクセスポイントはユーザによって高い信頼度で検証され得る方法で自分自身を識別しないので、侵入または攻撃の検出はユーザにとって、なお困難である。ケーブルなしでは、伝統的なセキュリティ政策の重要な暗示的構成要素は、ユーザの装置がある特定の物理的エンドポイント（終点）に接続されるという保証を果たせないでいる。その代わり無線装置は、広告と発見とを介して仮想エンドポイントを確立する。
【０００８】
エビルツイン問題は、かなりの量の研究を引き付けている、２つの無線装置をペアリングする一般問題に密接に関係している。ＷｉＦｉおよびＢｌｕｅｔｏｏｔｈのための代替のセキュリティメカニズムを指定する規格が立案されている。これらの規格は、装置間のセキュリティ結合の確実なセットアップにユーザを参加させるメカニズムを規定する。３つの原理的メカニズムが弁別され得る。
１．ユーザはコードを両装置に手動で入力する、
２．一方の装置が１つのコードを表示し、ユーザはそのコードを第２の装置に入力する、
３．両装置があるコードを表示し、ユーザはそれらが等しいかどうか検証する。
【０００９】
メカニズムの選択は、ペアリング装置によってサポートされるユーザインタフェースタイプの組合せに依存する。
【００１０】
数人の著者は、人間可読語、音声言語、フラグ状記号あるいはランダムな技法として両装置上に表現することによってコードの比較を容易にするための手段を提案している。これらのメカニズムは、装置が適当なユーザインタフェースをサポートしていればうまく働くことができるが、これらのユーザインタフェースが制約されれば適用困難になる。
【００１１】
比較作業の使用可能性を改善するための第２の（相補的）手法は、得られたセキュリティのレベルに対するコードの長さと成功した攻撃の確率とをトレード（交換）することである。数人の著者は、この原理に基づいたメカニズムを提案した。共通の現実的仮定は、ユーザがｎビットを有するある値を比較すれば、敵は確実性をもってメカニズムのセッションを破るために、ほぼ２n単位の作業を実行しなくてはならないはずである。引用されたメカニズムはこの性質を有し、従来技術はこの結果が最適であることを示唆している。
【００１２】
更なる関連情報に関して読者は、下記の文献を吟味することが推奨される。Ｄｉｒｋ  Ｂａｌｆａｎｚ，Ｄ．Ｋ．Ｓｍｅｔｔｅｒｓ，Ｐａｕｌ  Ｓｔｅｗａｒｔ，ａｎｄ  Ｈ．Ｃｈｉ  Ｗｏｎｇ「Ｔａｌｋｉｎｇ  ｔｏ  ｓｔｒａｎｇｅｒｓ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｉｎ  ａｄ−ｈｏｃ  ｗｉｒｅｌｅｓｓ  ｎｅｔｗｏｒｋｓ（他人との会話：特別無線ネットワークにおける認証）」、ネットワークおよび分散システムセキュリティシンポジウム２００２（Ｎｅｔｗｏｒｋ  ａｎｄ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍ  Ｓｅｃｕｒｉｔｙ  Ｓｙｍｐｏｓｉｕｍ  ２００２（ＮＤＳＳ’０２））、カリフォルニア州、サンディエゴ（Ｓａｎ  Ｄｉｅｇｏ，ＣＡ）、２００２年２月の会報；Ｓｔｅｖｅ  Ｄｏｈｒｍａｎｎ  ａｎｄ  Ｃａｒｌ  Ｅｌｌｉｓｏｎ「Ｐｕｂｌｉｃ−ｋｅｙ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｇｒｏｕｐｓ（協同グループのための公開キーサポート）」、第１回年次ＰＫＩ研究ワークショップ、１３９〜１４８頁（１ｓｔ  Ａｎｎｕａｌ  ＰＫＩ  Ｒｅｓｅａｒｃｈ  ｗｏｒｋｓｈｏｐ，ｐａｇｅｓ  １３９−１４８）、米国、メリーランド州、ゲイザースブルグ（Ｇａｉｔｈｅｒｓｂｕｒｇ，Ｍａｒｙｌａｎｄ，Ｕ．Ｓ．Ａ）、２００２年４月、規格と技術に関する国立研究所（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｆｏｒ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ）の会報；Ｍｉｃｈａｅｌ  Ｔ．Ｇｏｏｄｒｉｃｈ，Ｍｉｃｈａｅｌ  Ｓｉｒｉｖｉａｎｏｓ，Ｊｏｈｎ  Ｓｏｉｌｓ，Ｇｅｎｅ  Ｔｓｕｄｉｋ，ａｎｄ  Ｅｒｓｉｎ  Ｕｚｕｎ「Ｌｏｕｄ  Ａｎｄ  Ｃｌｅａｒ：Ｈｕｍａｎ  Ｖｅｒｉｆｉａｂｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ａｕｄｉｏ（大音量で明瞭：可聴音に基づく人間が検証可能な認証）」、分散コンピューティングシステムに関するＩＥＥＥ第２６回国際会議、２００６年７月（２６ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍｓ  ＩＥＥＥ，Ｊｕｌｙ  ２００６）の会報；Ｎ．Ｈｅｌｌｅｒ，Ｃ．Ｍｅｔｚ，Ｐ．Ｎｅｓｓｅｒ，ａｎｄ  Ｍ．Ｓｔｒａｗ、「Ａ  Ｏｎｅ−ｔｉｍｅ  Ｐａｓｓｗｏｒｄ  Ｓｙｓｔｅｍ（１回パスワードシステム）」、コメント２２８９に関するインターネット要求、インターネットエンジニアリングタスクフォース、１９９８年２月（Ｉｎｔｅｒｎｅｔ  Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ  ２２８９，Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ，Ｆｅｂｒｕａｒｙ  １９９８）；Ｊｏｎａｔｈａｎ  Ｍ．ＭｃＣｕｎｅ，Ａｄｒｉａｎ  Ｐｅｒｒｉｇ，ａｎｄ  Ｍｉｃｈａｅｌ  Ｋ．Ｒｅｉｔｅｒ、「Ｓｅｅｉｎｇ−Ｉｓ−Ｂｅｌｉｅｖｉｎｇ：Ｕｓｉｎｇ  Ｃａｍｅｒａ  Ｐｈｏｎｅｓ  ｆｏｒ  Ｈｕｍａｎ−ｖｅｒｉｔａｂｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ（百聞は一見にしかず：人間による真正認証のためのカメラ電話の使用）」、セキュリティとプライバシーに関するＩＥＥＥシンポジウム、１１０〜１２４頁、２００５年（ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ，ｐａｇｅｓ  １１０−１２４，２００５）；Ｊｕｎ  Ｒｅｋｉｍｏｔｏ，Ｙｕｊｉ  Ａｙａｔｓｕｋａ  ａｎｄ  Ｍｉｃｈｉｍｕｎｅ  Ｋｏｈｎｏ、「Ｓｙｎｃ  Ｔａｐ：Ａｎ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｎｅｔｗｏｒｋｉｎｇ（シンクタップ：移動体ネットワーキングのための対話技法）」Ｌ．Ｃｈｉｔｔａｒｏ、編集者、移動端末およびサービスとの人間・コンピュータ対話（Ｈｕｍａｎ−ｃｏｍｐｕｔｅｒ  ｉｎｔｅｒａｃｔｉｏｎ  ｗｉｔｈ  ｍｏｂｉｌｅ  ｄｅｖｉｃｅｓ  ａｎｄ  ｓｅｒｖｉｃｅｓ（Ｍｏｂｉｌｅ  ＨＣＩ  ２００３））、コンピュータサイエンスのレクチャーノートの２７９５番、１０４〜１１５頁、スプリンガーヴェルラーグ、２００３年（ｎｕｍｂｅｒ  ２７９５  ｉｎ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，ｐａｇｅｓ  １０４−１１５，Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ，２００３）；Ｎｉｔｅｓｈ  Ｓａｘｅｎａ，Ｊａｎ−Ｅｒｉｋ  Ｅｋｂｅｒｇ，Ｋａｒｉ  Ｋｏｓｔｉａｉｎｅｎ，ａｎｄ  Ｎ．Ａｓｏｋａｎ、「Ｓｅｃｕｒｅ  Ｄｅｖｉｃｅ  Ｐａｉｒｉｎｇ  Ｂａｓｅｄ  ｏｎ  ａ  Ｖｉｓｕａｌ  Ｃｈａｎｎｅｌ（可視チャネルに基づく確実な装置ペアリング）」、セキュリティとプライバシーに関するＩＥＥＥシンポジウム、２００６年５月（ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ，Ｍａｙ  ２００６）；Ｆ．Ｓｔａｊａｎｏ  ａｎｄ  Ｒ．Ｊ．Ａｎｄｅｒｓｏｎ「Ｔｈｅ  Ｒｅｓｕｒｒｅｃｔｉｎｇ  Ｄｕｃｋｌｉｎｇ：Ｓｅｃｕｒｉｔｙ  Ｉｓｓｕｅｓ  ｆｏｒ  ａｄ−ｈｏｃ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ（特別無線ネットワークに関するセキュリティ問題）」、第７回国際セキュリティプロトコルワークショップ、ページ１７２〜１９４、１９９９年（７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｅｃｕｒｉｔｙ  Ｐｒｏｔｏｃｏｌｓ  Ｗｏｒｋｓｈｏｐ，ｐａｇｅｓ  １７２−１９４，１９９９）の会報；Ｍ．Ｃａｇａｌｊ，Ｓ．Ｃａｐｋｕｎ，ａｎｄ  Ｊ．Ｐ．Ｈｕｂａｕｘ、「Ｋｅｙ  Ａｇｒｅｅｍｅｎｔ  ｉｎ  Ｐｅｅｒ−ｔｏ−ｐｅｅｒ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ（ピアツーピア無線ネットワークにおけるキーの一致）」、ＩＥＥＥ会報９４号（２）：４６７〜４７８、２００６年２月（Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ｔｈｅ  ＩＥＥＥ，９４（２）：４６７−４７８，Ｆｅｂｒｕａｒｙ  ２００６）。
【特許文献１】米国特許第５４５０４９３号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、不安定なチャンネルでも確実に通信することができる検証プロセスを実行するための方法、移動端末、処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の下記の概要は、本発明のある幾つかの態様と特徴の基本的理解を与えるために提供される。この概要は、本発明の広範な概要ではなく、またそれとして特に本発明のキーとなる要素または極めて重要な要素を識別すること、または本発明の範囲を明確に記述することは意図していない。その唯一の目的は、以下に提示される、より詳細な説明への序曲として単純化された形で本発明の幾つかの概念を提示することである。
【００１５】
本発明の一態様によれば、２つのペアリング装置が互いのキーを交換したことをユーザが検証できるメカニズムが提供される。このメカニズムは、理解し易く使い易く、最小のユーザインタフェース要件を有し、安価に実現可能であり、このクラスのメカニズムのための最適のセキュリティレベルとして提案されてきたものを超えている。
【００１６】
本発明の種々の態様によれば、ほとんど事前訓練も予備知識も有さずに、ユーザが目標との接続を容易に検証することを可能にすることによってエビルツイン（邪悪な双子）攻撃を打ち破るためのメカニズムが提供される。ここに開示されるメカニズムは「心理的に受入れ可能」であり、言い換えればこのメカニズムはカフェなどの公の場所からインターネットにアクセスする人々によって理解し易く使い易い。このメカニズムが限られた表示能力を有する小型で低価格の装置を含む種々の装置によって使用され得るように最小限のハードウエアが使用される。本発明の種々の態様によればこの方法論は、短い認証列に基づいて既存のキー確立プロトコルを梃子入れ（レバレッジ）する。
【００１７】
本発明の一実施形態によれば、無線アクセスポイントは２つの色を表示できる光を有し、またユーザ装置はこのような表示能力に加えて少なくとも１つのボタンを有する。各短い認証列は、２つの異なる色からなる色系列に変換される。無線アクセスポイントとユーザの装置の両方は、一度に１つの色でこれらの系列を表現する。アクセスポイントの光は、ユーザがそれを見てそれが真正の目標アクセスポイントに関係しているという確信を有することができるところに搭載されなくてはならない。ユーザが指定されたボタンをユーザの装置上で押すと、両方の光は系列の次の色を示す。これら色を効果的に比較する必要がある限りユーザがこれらの色を見ることができるように、これらの色はボタンが押下されている間中、表示されている。ユーザは、所望のセキュリティレベルに依存してどれほど多くの系列を比較すべきかを選択することができる。一旦ユーザが比較を完了すると、ユーザは指定されたボタンまたは他の入力手段によって接続の受諾または辞退を示す。
【００１８】
本発明のもう１つの態様によれば、ユーザと目標装置との間の通信が検証される。ユーザと目標装置は、２色以上の色を表示できる光などのユーザ検証装置を有し、ユーザの信頼する装置はユーザの入力のための１つのボタンを有する。ユーザがこのボタンをクリックすると、両装置は所与の関数によって決められた色で点灯する。これらの光の間の色違いまたは顕著な遅延は、能動的攻撃を示す。ユーザは、この単純な対話の多数ラウンドを実行でき、より多くのラウンドはセキュリティを高める。このメカニズムは、ユーザのボタンクリックのランダム性を梃子入れし、あるいは一連の光の色を生成するために所与のランダム関数を利用し、またこの一連の色を順次に進めるためにユーザのクリックを利用する。一例では光の色は、交換されたキーとユーザがボタンを押下するときに累積されたクロック示度とに依存し得る。これらの装置は、単純なトリガー信号と同期する。クロック速度は、トリガー信号に対する色変化攻撃が著しい遅延として現れるように選択される。
【００１９】
本発明の検証方法とシステムは、従来技術において示唆された限界に挑戦する。本メカニズムは、ユーザの装置がボタンを有し、両装置が２つの二者択一的色によって光を表示できれば、極めて良好に機能する。同時に本メカニズムは、ユーザがｎビット比較を実行するならば、確実性をもってセッションを破るために敵がほぼｅｘｐ（ｅｘｐ（ｎ*ｌｏｇ（２））*ｌｏｇ（２））単位の作業を実行することを要求する。このレートでは、本発明のメカニズムのセキュリティは、交換されたキーのセキュリティを急速に超える。単に１０ビット比較を与えれば、敵は０．３％の成功確率のために交換においてほぼ２114単位の作業を実行しなくてはならないことが推定される。この確率を０．４％に高めるためには、敵は、ほぼ２397単位の作業を実行しなくてはならない（これらの数は実際の研究室での測定に基づいた推定値であって、実際には変わる可能性がある）。比較のために、一般数体ふるい（Ｇｅｎｅｒａｌ  Ｎｕｍｂｅｒ  Ｆｉｅｌｄ  Ｓｉｅｖｅ）による１０２４ＲＳＡモジュラスの因数分解は、２102単位未満の作業を要し、２０４８ビットモジュラスのためには２137単位未満の作業を要する。
【００２０】
本発明のメカニズムは、ユーザのボタンクリックにおけるランダム性に梃子入れすることによってその利点を達成する。この様式で本発明のメカニズムは、ｎビット比較をｎ個の１ビット比較に分割する。各比較は、ユーザが自分の装置上のボタンを押したときに始まる。この時点で装置は、内部クロックなどの同期化された入力を読み取り、その引数として入力と交換されたキーなどの交換データとによって１ビット耐衝突性単方向関数を評価する。この結果は、２色のうちの１色に変換される。クリック時間は、単純なトリガー信号によってペアリング装置に伝達される。トリガー信号を受信するとペアリング装置は、それ自体の同期化された入力、例えば内部クロックを読み取り、同じ計算を実行する。内部クロックが同期化された入力として使用されれば、クロック速度は、トリガー信号に対する潜在的に色を変える攻撃が光の著しい同時性につながるように、うまく定義され選択される。この特徴は、人間の視覚的認識の限界に梃子入れする。人間は、２つの事象間の遅延が主観的等価点（ｔｈｅ  ｐｏｉｎｔ  ｏｆ  ｓｕｂｊｅｃｔｉｖｅ  ｅｑｕａｌｉｔｙ：ＰＳＥ）として知られるある一定の閾値を超えない限り、これら２つの事象を同時と認識する。更なる特徴によればこの装置は、内部クロックなどの同期化された入力を読み取り、その引数として交換されたキーなどの交換されたデータと、すべての累積されたクロック示度とによって１ビット耐衝突性単方向関数を評価する。これは、更なるセキュリティを与える。
【００２１】
本発明のメカニズムのセキュリティは、下記の条件で理解され得る。両装置はハッシュ関数などの１セットの単方向関数において一致する。交換されたデータ、例えば公開キーに基づいてこれらの装置は、これらの関数の１つを使用して出力を生成する。ボタンを押すたびにユーザは、益々ランダムな位置にある両装置についてこの関数からサンプル採取し、これらの出力が同じであるかどうかを検証する。同じでないことがない満足な回数のラウンドの後にユーザは、これらの装置が同じ引数を使用して同じ関数を選択したと結論する。この理由からこの基礎的原理は、ヒューマンサンプリング（人間サンプル採取）関数と呼ばれる。
【００２２】
請求項１に記載の発明は、回線上で通信する２つの装置間の通信セッションを確実にするための検証プロセスを実行するための方法であって、ａ．前記２つの装置の内の一方の装置である第１の装置が、他方の装置である第２の装置に、前記第１の装置の公開キーを含む第１のセットのデータを送信し、前記第２の装置が、前記第１の装置に、前記第２の装置の公開キーを含む第２のセットのデータを送信し、ｂ．前記第１の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第１の１系列の個別値を生成し、前記第２の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第２の１系列の個別値を生成し、ｃ．ユーザからの入力を受信して、ユーザの入力に基づいて、前記第１の装置が、前記第１の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び予め指定された関数に基づいて得られる値から第１の個別値を選択し、前記第２の装置が、前記第２の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び前記関数に基づいて得られる値から第２の個別値を選択し、ｄ．前記第１の装置が、前記選択された前記第１の個別値を使用して第１の出力を生成し、前記第２の装置が、前記選択された前記第２の個別値を使用して第２の出力を生成し、ｅ．検証のために、前記第１の装置が前記第１の出力を前記ユーザに提示し、前記第２の装置が前記第２の出力を前記ユーザに提示し、ｆ．ユーザ入力にしたがってステップｃ〜ｅを繰り返す機能を実行するように動作する。
【００２３】
請求項６に記載の発明は、メモリ装置に接続され、通信回線への侵入攻撃をユーザに警告できる処理装置であって、ａ．前記２つの装置の内の一方の装置である第１の装置が、他方の装置である第２の装置に、前記第１の装置の公開キーを含む第１のセットのデータを送信し、前記第２の装置が、前記第１の装置に、前記第２の装置の公開キーを含む第２のセットのデータを送信し、ｂ．前記第１の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第１の１系列の個別値を生成し、前記第２の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第２の１系列の個別値を生成し、ｃ．ユーザからの入力を受信して、ユーザの入力に基づいて、前記第１の装置が、前記第１の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び予め指定された関数に基づいて得られる値から第１の個別値を選択し、前記第２の装置が、前記第２の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び前記関数に基づいて得られる値から第２の個別値を選択し、ｄ．前記第１の装置が、前記選択された前記第１の個別値を使用して第１の出力を生成し、前記第２の装置が、前記選択された前記第２の個別値を使用して第２の出力を生成し、ｅ．検証のために、前記第１の装置が前記第１の出力を前記ユーザに提示し、前記第２の装置が前記第２の出力を前記ユーザに提示し、ｆ．ユーザ入力にしたがってステップｃ〜ｅを繰り返す。
【００２４】
請求項７に記載の発明は、メモリ装置に接続されるコンピュータに、通信回線への侵入攻撃をユーザに警告する機能を実行させるためのプログラムであって、前記コンピュータに、ａ．前記２つの装置の内の一方の装置である第１の装置が、他方の装置である第２の装置に、前記第１の装置の公開キーを含む第１のセットのデータを送信し、前記第２の装置が、前記第１の装置に、前記第２の装置の公開キーを含む第２のセットのデータを送信し、ｂ．前記第１の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第１の１系列の個別値を生成し、前記第２の装置が、前記第１のセットのデータと前記第２のセットのデータを使用して、第２の１系列の個別値を生成し、ｃ．ユーザからの入力を受信して、ユーザの入力に基づいて、前記第１の装置が、前記第１の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び予め指定された関数に基づいて得られる値から第１の個別値を選択し、前記第２の装置が、前記第２の１系列の個別値、前記ユーザの入力の受信時により定まる値、及び前記関数に基づいて得られる値から第２の個別値を選択し、ｄ．前記第１の装置が、前記選択された前記第１の個別値を使用して第１の出力を生成し、前記第２の装置が、前記選択された前記第２の個別値を使用して第２の出力を生成し、ｅ．検証のために、前記第１の装置が前記第１の出力を前記ユーザに提示し、前記第２の装置が前記第２の出力を前記ユーザに提示し、ｆ．ユーザ入力にしたがってステップｃ〜ｅを繰り返す機能を実行させるプログラムである。
【００２７】
本明細書の一部に組み込まれ、また本明細書の一部を構成する付属図面は、本発明の実施形態を例示し、また本説明と共に本発明の原理を説明して例示するために役立つ。これらの図面は、図形的な様式で例示的実施形態の主要な特徴を図示するように意図されている。これらの図面は、実際の実施形態のすべての特徴を描くことも、描かれた要素の相対的寸法を描くことも意図されておらず、一定の縮尺で書かれてもいない。
【発明の効果】
【００２８】
本発明によれば、不安定なチャンネルでも確実に通信することができる。
【発明を実施するための最良の形態】
【００２９】
本発明の種々の実施形態は、２つの電子装置が無線または有線通信回線などの不安定な回線上で確実に通信するようにユーザに保証できるものである。種々の実施形態は、中間者攻撃などのサードパーティセキュリティ攻撃から、ユーザを保護またはユーザに警告する。下記の詳細な説明では、本発明の一般的概念の説明および種々の実施形態の特定の実現形態を説明する。
【００３０】
図１は、本発明の種々の実施形態にしたがって検出および／または回避可能な中間者攻撃の状況を示す。この例では装置Ａは、装置Ｂと確実に通信しようとしている。しかしながら装置Ｍが盗聴している可能性がある。例えばＡは、電子送信ＳAを装置Ｂに送信することによってＢとの通信チャネルをセットアップするための手順を開始し得る。この時、Ｍは、Ａの送信を「ハイジャック」して、修正された信号ＳMをＢに中継し、センダ（送信者）Ａになりすます。Ｂは、信号ＳMを受信すると、それが送信者Ａからのものであると信じてＳBを送信することによってＡに応答する。Ｍは、今度はＳBをハイジャックして、修正された信号ＳMをＡに中継する。この時点で、Ａは自分がＢと通信していると信じ、一方Ｂは自分がＡと通信していると信じているが、すべての通信はＭを通っている。
【００３１】
図１に示された状況の存在を防止または識別するための種々の方法が提案されている。上記のようにある幾つかの提案は、２つの意図された装置すなわちＡとＢを有し、人間が検証可能な出力（すなわち可視表示または可聴音）を生成し、２つの出力が一致したことをユーザが検証した場合だけ通信を進める。しかしながら、ある幾つかの提案は検証ステップのために人間であるユーザを利用するが、これらの提案のいずれも符号化プロセスでユーザを利用することを考えていない。以下詳細に説明されるように本発明の種々の態様は、符号化をより盗聴困難にするためにプロセス内にランダム性を導入するユーザの能力を利用する。
【００３２】
本発明の一態様によれば、データを交換するに先立って、装置ＡおよびＢは次のように検証プロセスを実行する。先ずＡとＢは、公開キー、署名、セッションＩＤなどの所定の情報を交換する。ＡおよびＢはまた、同期クロック信号、ＲＳＳフィードなどの所定の同期入力を受信する。両装置ＡおよびＢは、出力を生成するために、交換された情報と同期入力とを使用する。ユーザは、ユーザの検証のために装置ＡおよびＢが発行するために生成された出力の部分をランダムに選択する。本発明のもう１つの態様によれば、上記のプロセスは、ＡとＢとの間で本当に通信されていることにユーザが満足するまで多回数、繰り返される。更にもう１つの態様によれば、繰り返しのたびに前のラウンドで生成された出力の少なくとも一部が現在のラウンドの出力を生成するために使用される。
【００３３】
本発明の態様によれば、通信チャネル上でのサードパーティによる盗聴なしで２つの装置が互いに直接通信することを検証するためのシステムと方法が提供される。典型的なアプリケーションでは、チャネルは無線ネットワーク接続であり、２つの装置は、典型的なこれら２つの装置の公開キーからなる情報を交換することによって、検証プロセスを開始する。交換された公開キーは、２つの装置間において任意の更なる通信を保証するために引き続き使用される。
【００３４】
本発明の更なる態様によれば、本システムまたは方法は、両装置が人間すなわちユーザによって解釈可能な出力形式を有することを必要とする。これらの装置の１つ、ユーザ「パーソナル装置」は、ユーザによって操作可能である入力形式を有さなくてはならない。入力形式と出力形式は、極めて単純であってもよく、例えば、ボタンと可聴性または可視性出力（例えばＬＥＤ）とから構成されてもよい。本発明のシステムと方法は、オン状態とオフ状態とを有する単純なＬＥＤによってでも機能し得る。各ＬＥＤがそのオフ状態に加えて少なくとも２つの色を表示できれば、更に有用であり得る。一実施形態によればユーザは、ボタンを多数回、押下する。１回の押下ごとに両装置上のＬＥＤは、予め規定されたパターンにしたがって点灯し、例えば所与の色を表示し、ユーザはその点灯を比較して、これらが同期していることを検証する。著しい遅延または色違いは、セキュリティの脅威を示し、所望の動作を直ちにキャンセルするようにユーザを促すべきである。１色のＬＥＤが使用されるのであれば、点灯パターンは、例えば一定期間または可変期間の反復されるオン／オフ点灯のパターンであり得る。
【００３５】
本発明の検証方法を実行するためのユーザ要件は、極めて単純である。ユーザは、ボタンを繰り返し押して、両装置が予期された同じ出力を得るかチェックしなくてはならない。実現形態によるが、ユーザは、例えば２つの光信号または２つの可聴信号が同期しているかどうか、またそれらが同じ色または同じピッチであるかどうかをチェックするように期待される。多数のＬＥＤまたは可聴信号でペアにされた多数のボタンが使用可能であり、より豊富なユーザ入力とより高いセキュリティという結果をもたらす。この対話は、このプロトコルの多数のセッションを並行して実行することと同等である。検証ステップに先立って、何らかの方法でキーが交換される。使用されるキー交換プロトコルに依存して、ユーザに対する要件は変わり得る。
【００３６】
本発明による通信と検証プロトコルの一実施形態は、次のように図１を参照しながら説明され得る。第１の装置Ａと第２の装置Ｂは、それぞれある情報ＳAおよびＳBを交換し、ユーザは、これらの情報がまったく同じである、すなわちＳA＝ＳBであることを検証する。例えばＳAは、ＡがＢに送信したという情報であるｅAと、ＡがＢから受信した情報であるｅBと、の組（ｅA，ｅB）からなり得る。
【００３７】
両装置はまた、同期入力を受信する。本実施形態では同期入力は、同期化された時間である。すなわち両装置は、通信チャネルを経由して送られたメッセージによって同期化され得るローカルタイマーを有する。このチャネルは、保護されず、また能動的または受動的攻撃を受ける可能性がある。しかしながら入力形式と出力形式は、ユーザとの直接対話を与え、攻撃者によって操作されることはあり得ない。
【００３８】
本実施形態の検証プロセスは、第１の入力形式、例えばボタンを介して第１の装置Ａと対話するユーザによって開始される。この対話が発生するとＡは、関数ｈ（ＳA，ｔA）を計算するためにそのタイマーの現在値ｔAを使用する。第１の装置Ａは、通信チャネルを介して信号を送り、第２の装置（Ｂ）は同様に関数ｈ（ＳB，ｔB）を計算するためにそのタイマーの現在値ｔBを使用する。両装置は、関数ｈによって計算された値をそれぞれ第１および第２の出力形式で、例えばＬＥＤ、可聴音ピッチなどで伝達する。ユーザは、２つの装置から受信された信号を比較する。等しくない信号はＳAとＳBが異なることを示し、これに対して等しい信号はＳAとＳBが等しい可能性があることを示すが保証はしない。ユーザはまた、第１および第２の出力形式両者からの信号の適時到着を検証する。元の入力信号とどちらかの出力信号との間の、またはこれら２つの出力信号の間の遅延は、通信チャネルが攻撃された可能性を示す。ユーザは、１回ごとにＳAとＳBとが等しいという確信を高める数回のラウンドを通してプロセスを繰り返すことができる。
【００３９】
これらのことから理解され得るように、本実施形態によれば、装置Ａとのユーザの対話は、タイマー入力をランダムに選択することと同等である。その結果、装置ＡおよびＢによって生成された機能は、送信された値例えば公開キーと、ランダムに生成された値すなわちユーザによって選択されたランダムな時間との両方を含む。この方法で、人間であるユーザは、一方では符号機能にランダム性を挿入するために、他方では最終結果を検証するために利用される。タイミング情報とおそらくは他の情報という結果をもたらすユーザ対話は、ボタン押下から可聴音コマンドまでの多くの方法で取得され得る。出力信号は２進でも多値でもよく、また単純または複雑な可視性、可聴性または触覚性信号でもよい。
【００４０】
説明された実施形態によって解決される問題は、多くの状況で、例えばキー交換プロトコルが２つの装置間で実行された後に発生する。Ａがその公開キーｅAをＢに送り、Ｂがその公開キーｅBをＡに送ると仮定する。本発明の検証方法は、ｅ’BがＢの公開キーであるとＡが信じ、ｅ’AがＡの公開キーであるとＢが信じている２つの組ＳA＝（ｅA，ｅ’B）とＳB＝（ｅ’A，ｅB）とを比較することによって、中間者攻撃を検出できる。
【００４１】
もう１つの適用可能なアプリケーションは、第１の装置に記憶された契約が、保証された装置に記憶された契約と同じであることをユーザが検証したいと思っている契約の電子署名である。
【００４２】
交換された情報が上記のように公開キーからなるならば、装置Ａは、装置Ｂが受信された公開キーｅ’Bに対応する秘密キーｄ’Bを知っているという保証を必ずしも取得するものではないことに留意されたい。これは攻撃につながり、それによって悪意の装置Ｍは、この悪意の装置が情報を解読できない場合でも装置ＡおよびＢ間でこの情報を中継できる。しかしながら装置Ｍは、装置Ｂが実際よりも装置Ａに近いことを装置Ａ（およびユーザ）に信じさせるためにこの攻撃を使用できる。
【００４３】
説明された攻撃は、下記の方法で本発明を増強することによって容易に防止できる。公開キーの交換時に装置Ａは装置Ｂの公開キーでノンス（ｎｏｎｃｅ）（１度だけ使用されるランダムな数）を暗号化して、この暗号を装置Ｂに送る。装置Ｂはこの暗号を解読して、本発明のプロトコルにおいて比較される情報にこのノンスを含ませなくてはならない。装置Ｂは、対応する動作を実行する。本発明のプロトコルを実行することによってユーザは、キーと暗号が正しく伝送されることばかりでなく、それぞれ他の装置が暗号を解読でき、それによって検証下で公開キーに対応する秘密キーへのアクセス権を有することも保証される。
【００４４】
前述の実施形態を「ハッキング」の際の複雑さは、次のように説明できる。ＡがＢと直接通信する場合には、ＡとＢの両者は、ＡとＢとの間の交換情報すなわちＳAとＳBとを有し、また両者は同じ同期化入力、例えば時間ｔを有する。ＡとＢの両者は、変数（ＳA，ＳB，ｔ）が同じであるときに同じ、すなわちｘA＝ｘBであるｘAとｘBとを取得して出力するために変数（ＳA，ＳB，ｔ）に演算を施すためにハッシュ関数を使用する。しかしながら中間者攻撃が発生していれば、ＳMがサードパーティによって供給された情報であるとして、Ａは変数（ＳA，ＳM，ｔ）を有し、一方Ｂは変数（ＳM，ＳB，ｔ）を有する。このような状況下では検出を回避するために、Ｍはいかなるｔに関してもＳMがｘA＝ｘBという結果をもたらすようなＳMを見つけなければならない。
【００４５】
図２は、本発明の一実施形態によるプロセスを示す流れ図である。図２の実施形態の下記の詳細な説明は、特定のキー交換プロトコルを含む。この例では第１の装置（Ａ）、例えばＡＴＭ、ＰＯＳ（販売時点情報管理）端末などが、第２の装置（Ｂ）、例えば携帯型装置、スマートカード、携帯電話などと通信する。ユーザ入力は装置Ａのボタンを押下することであってもよく、出力信号はこれら２つの装置上のＬＥＤからの光であってもよい。
【００４６】
この例に関しては、両装置は公開／秘密キーのペアを有し、これらのキーを使用して暗号化とディジタル署名とを実行できることが仮定されている。図２では、Ｅkは公開キーｋを使用する暗号化動作のために使用され、Ｄkは公開キーｋに関連した秘密キーを使用する解読動作のために使用され、Ｓkはｋに関連した秘密キーを使用してディジタルに署名するために使用される。この例では装置Ａは暗号化のために公開キーｕを、そのディジタル署名方式のために公開キーｗを使用し、装置Ｂは暗号化のために公開キーｖを、そのディジタル署名方式のために公開キーｘを使用する。これらの装置は、αとβが十分に大きな集合からランダムに選択される図２に示すプロセスを実行することによって共有キーを確立し得る。
【００４７】
図２のプロセスは、ステップ２００でＡがＢにその２つのキーｕ、ｗを送るときに始まる。応答としてステップ２０５でＢはそれ自身の２つの公開キーｖとｘをＡに送る。それからＡはαがセッションを識別するために使用されるノンスであるディジタルに署名された集合Ｓｗ（ｕ，ｗ，ｖ，ｘ，α）を暗号化し、ステップ２１０でこの暗号化されたメッセージをＢに送る。ステップ２１５でＡは自分のクロックを起動し、ステップ２２０でＢは自分のクロックを起動する。この例で本発明者らは、クロックを起動したＡとＢとの間のいかなる差もユーザにとって認識できないほど短いと仮定する。ステップ２２５でＢはノンスβを使用する相補的暗号をＡに送る。ステップ２３０でＡはＢからの暗号化されたメッセージを、Ａの秘密キーを使用して解読し、ステップ２３５でＢはＡの暗号化されたメッセージを、Ｂの秘密キーを使用して解読する。ステップ２４０で、どちらかの装置での検証が失敗であれば、このプロセスはステップ２４５で打ち切られる。他方、検証が成功であれば、各装置はステップ２５０と２５５で、それぞれ自分の検証情報をＳA＝（ｕ，ｗ，α，ｖ，ｘ，β）とＳB＝（ｕ，ｗ，α，ｖ，ｘ，β）にセットする。本発明の実施形態にしたがって検証を完了するために、この情報は時間などの同期入力でコンボリュートされて（畳み込まれて）ユーザによる最終検証を行う。
【００４８】
特に図２には、ＡとＢはステップ２１５と２２０で自分のタイマーを起動することが示されている。しかしながらこのタイミングは決定的ではない。ＡとＢは単に、自分のローカルタイマーを同期させるために、１つの一致した通信事象を使用し得る。敵がこの通信を遅延させ、それによって同期を妨げ得ることは可能であるが、本発明の方法はこのような妨害を後で検出する。このようにしてこの例は、精巧で確実なクロック同期化プロトコルが実行されることを必要としない。
【００４９】
中間者攻撃を実行する敵は、このプロトコルを各装置に対して別々に実行して、異なる２つの値ＳAおよびＳBという結果をもたらす。この理由から本発明者らは、成功したときには高い確率で中間者攻撃を排除する検証ステップへの入力としてＳAおよびＳBを採用する。
【００５０】
検証ステップ２６０で両装置は、共有情報Ｓと同期化入力、ここで現在時間ｔとに対してハッシュ値を計算するために耐衝突性暗号ハッシュ関数ｈを利用する。それから各装置は、人間が認識できる何らかの方法でハッシュ値を表現する。ユーザは、これら２つの装置上のハッシュ値が同じであることと過度な遅延がないこととを検証する。特に本実施形態は、敵が時間を操作できないことを利用している。時間間隔δは、ユーザがそれぞれ時間ｔとｔ＋δとで表現される２つの類似した単純な表示の間の遅延を検出するような最短時間として定義される。δの値は、広範なグループまたは集中したグループに関して実験的に決定できる。ここでは、装置ＡおよびＢのタイマーがそれぞれの値を２δの割合で増加することが仮定されているが、他の割合を選択することも可能である。
【００５１】
時間因子にランダム性を挿入するために、タイマーはユーザの入力に応答する。例えば装置Ａがユーザのパーソナル装置であれば、ユーザはランダム性を与えるために装置Ａのボタンを押下して検証ステップ２６０を開始する。下記は、検証プロトコル２６０の実現形態の一例である。この例は、装置Ａがユーザ活性化ボタンと可視性表示器（ＬＥＤ）、可聴性ブザーなどのオン／オフ表示器とを有すると仮定している。
【００５２】
そのタイマーが増加するときはいつでも装置Ａは、下記のアルゴリズムを実行する。
１：ボタン状態がオフからオンに切り替わると、
２：非同期でオン信号を装置Ｂに送り、
３：ｘをｈ（ＳA，ｔA）にセットし、
４：ｘの最下位ビットが１であれば、
５：表示状態をオンにセットし、
６：終了し、
７：そうでなく、ボタン状態がオンからオフに切り替わると、
８：非同期でオフ信号を装置Ｂに送り、
９：表示状態をオフにセットし、
１０：終了する。
【００５３】
ここでは、ｈを計算して信号を装置Ｂに送る時間はδよりかなり遅いものと仮定する。装置Ｂは整合するアルゴリズムを実行する。
１：オン信号が受信されると、
２：ｘをｈ（ＳB，ｔB）にセットし、
３：ｘの最下位ビットが１であれば、
４：表示状態をオンにセットして、
５：終了し、
６：そうでなく、オフ信号が受信されると、
７：表示状態をオフにセットして、
８：終了する。
【００５４】
この例は、ユーザが「サンプル採取」して、２つの装置ＡおよびＢによって前に交換された２つの検査合計から誘導される情報のビットを比較することを可能にする。このサンプリングは、装置Ａ上のボタンをユーザが押下することによって誘発される。装置ＡおよびＢが異なる値を表示すれば（すなわち中間者攻撃が発生したならば）、ユーザがこの事実に気付かないようにさせるために、盗聴者は、少なくともδの期間だけオン信号を遅延させることのみを選択するしかない。装置Ｂによって選択された次のビットは、０．５の確率で、装置Ａ上に現在表示されているビットと同じ値を有する。しかしながら、想定ではあるが、これは装置Ｂの表示が顕著に遅延するので、この攻撃があったことがユーザに警告される。
【００５５】
理解され得るように本発明の上記の実施形態の特徴は、検証の少なくとも一部を実施するための人間の利用と、予測不可能性を加えるためのランダムな人間の対話の利用と、信号のタイミングの組み込みとを含む。ユーザのランダム性のコンピュータ増幅と、１系列のクリックの入力およびその後のこの系列のチェックと、入力および表示のための異なるタイムスケールとを含む多くの変形版が可能である。当業者は、例えば異なる入力形式と出力形式に基づく他の変形版と、Ｓとｔの入力に限定されずにこれらに基づいてｘを決定するために使用される関数の変形版とを容易に見つけることができる。
【００５６】
これまでに与えられた例ではユーザは、２つのペアリング装置が互いのキーを交換したことを検証することができ、また中間者攻撃を検出することができた。このメカニズムは理解し易くて使い易く、また最小限のユーザインタフェース要件を有する。これは、安価に実現可能であるが、このクラスのメカニズムに関する最適なセキュリティレベルとして提案されてきたものを超えている。上記の例では各装置は、オフ／オン検証装置を有し、より複雑な装置も使用可能である。例えば２つ以上の色を表示できる光が使用され得る。ユーザの信頼される装置、例えば装置Ａもまたユーザの入力のための１つのボタンを含む。１つより多い光の色が使用されれば、ユーザがボタンをクリックするとき両装置は入力と時間値に対して演算を行うハッシュ関数の結果によって決定される色で点灯する。これらの光の間の色違いまたは著しい遅延は、能動的攻撃を示す。ユーザは、より多くのラウンドがセキュリティを高めるので、この単純な対話の多数回のラウンドを実行できる。このメカニズムは、ユーザのボタンクリックのランダム性に梃子入れする。これらの色は、交換されたキーと、ユーザがボタンを押下したときの累積されたクロック示度とに依存し得る。クロック速度は、トリガー信号に対する色変化攻撃が顕著な遅延として現れるように選択される。
【００５７】
上記に説明されたように本発明は、種々の移動端末が他の移動または静止装置と通信することを可能にするように実現され得る。本発明を実現する単純さを例示するために、下記の説明は、リングの形に本発明を実現する一実施形態のものである。
【００５８】
図３は、リングの形をした本発明の一実施形態を示す。本実施形態におけるリング３００は、２つのボタン３０５および３１０と点灯されるリム３１５とを有する。本実施形態ではこのリムは、少なくとも２色の異なる色で点灯されることが可能である。リング３００は、サンマイクロシステムズ（Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ）が１９９８年のＪａｖａ（登録商標）Ｏｎｅ会議で紹介した「Ｊａｖａ（登録商標）  Ｒｉｎｇ」と類似の方法で実現され得る。Ｊａｖａ（登録商標）  Ｒｉｎｇは、幾つかの特徴を列挙するためにモジュラー累乗法と暗号とハッシュ関数とランダム数発生とリアルタイムクロックとをサポートした。実際の装置は、小印宝石（シグニットジュエル：ｓｉｇｎｅｔ  ｊｅｗｅｌ）としてリングに搭載されたダラス半導体（Ｄａｌｌａｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）のＤＳ１９５５ｉＢｕｔｔｏｎからなっていた。ダラス半導体は、ＦＩＰＳ承認の暗号方式に加えて、改ざんに対する保護、検出および応答方法を必要とするそのＤ５１９５５のためのＦＩＰＳ１０４−１Ｌｅｖｅｌ３認可をも取得した。リング３００はまた、他の移動または静止装置との通信を交換するためのトランシーバも含む。この通信は、無線ＲＦ（高周波）、有線、ＩＲ（赤外線）などであり得る。ＩＲ通信のためにボタン３０５または３１０の１つは、ＩＲトランスペアレントウィンドウとして役立ち得る。
【００５９】
本実施形態によればユーザは、キー検証プロトコルのために１つのボタン３０５または３１０を選択する。プロトコルが攻撃の証拠なしに完了すれば、ユーザの手は向きを変えて、ユーザは第２のボタン３０５または３１０を押すことによって実際のトランザクション（処理）を誘発する。リング３００は、どんな順序でボタンが使用されなくてはならないかをユーザが知る必要がないように、どのボタンが最初に使用されたかを決定してそのボタンからの入力を受け入れることができる。
【００６０】
リング３００は、それが遭遇した端末または他の移動端末のキーを収集でき、またユーザが構成可能な省略時措置をこれらのキーに関連付けることを可能にし得る。引き続く遭遇時にこれらの措置は、単にリングのボタンの１つを押すことによって誘発され得る。既知のキーに関して、認証と暗号化セッション確立とのために通常のプロトコルが使用可能であり、確保されたチャネル上で関連措置が実行される。この方法でリングは、ドアの開放または使用料の明細説明と料金請求する装置へのログインなどの種々の反復性の認証および命令のタスクを制御するために使用され得る。その省略時措置メカニズムは、これらの他の装置と安全に通信するための柔軟な方法を与える。
【００６１】
実証の目的で、このリングプロトコルはここでは、ユーザとリングと端末との間の対話としてモデル化されている。これらは、まとめて役者と呼ばれる。ユーザは人間であり、リングと端末は電子装置である。すべての役者は、図４に示す単方向通信チャネルによって接続される。チャネル上の通信は、ｃ！ｘ（送信）またはｃ？ｙ（受信）と書かれ、ここでｃはチャネル名であり、ｘは変数または直定数（リテラル）であり、ｙは送信された値を受信する変数の名前である。例えばリングが青色で点灯し、観察者がこれを見て変数ｘの色を記録すれば、本発明者らはこれら２つのプロセスを「ｒｉｎｇ！‘ｂｌｕｅ’」と「ｕｓｅｒ？ｘ」と記述できる。
【００６２】
本発明者らは、本発明者らのプロトコルを記述し、理想化された暗号プリミティブ（基本要素）に基づいてそのセキュリティを分析する。このプロトコルは、単方向ハッシュ関数ｈを利用する。所与のｋに関して、Ｐkはランダムな落とし戸順列であるとし、Ｑkはその逆数であるとする。ＰkとＱkの両方は、計算するために効率的であるが、ＰkとｋからＱkを誘導することは、落とし戸情報が知られていなければ実行不可能である。ＰkとＱkに基づいて本発明者らは非対称暗号化をＥｋ（ｍ）＝Ｐｋ（０｜ｍ）として、署名計算をＳｋ（ｍ）＝Ｑk（１｜ｍ）として定義する。ここで「｜」は列連結を示す。まっすぐ単純な方法で解読と署名検証が続く：
Ｄk（ｃ）＝｛Ｑｋ（ｃ）＝０｜ｍであればｍ
そうでなければ誤り
Ｖk（ｍ，σ）＝｛Ｐｋ（σ）＝１｜ｍであれば真
そうでなければ偽
暗号化されて署名されたメッセージをそれぞれ０または１でプリペンド（ｐｒｅｐｅｎｄｉｎｇ）することによって、本発明者らはＰｋを２つの独立な順列に分ける。これは、本発明者らが本発明者らのプロトコルの記述において暗号化と署名の両方のために単一のキーｋを使用することを可能にする。同時に敵は挑戦ｃに署名するためにＱｋを知るパーティに尋ねることによってｃの解読を得ることはできない。
【００６３】
この例では、ユーザとリングと端末は信頼でき、操作に対して安心できることが仮定されている。帯域外チャネルのユーザ、リングおよび端末は、能動的攻撃に対して安全である。帯域内チャネル通信は不安定であることが仮定されている。敵は、帯域内チャネル通信に対して受動的および能動的攻撃を実行し得る。本発明者らのシステムが攻撃を知らせるときはいつでもユーザが攻撃を検出するという意味でユーザは完全であることも想定されている。
【００６４】
リングと端末は、それらの公開キーｕとｖとを交換することによってプロトコルを開始する。次にこれらは、推測している攻撃を実行不可能にするために十分に大きな空間からランダムに選択された、署名され暗号化されたセッション識別子αとβを交換する。リングと端末の両方は受信された情報を解読して検証する。どちらかの装置が、そのペアリング装置の署名が無効であると決定すれば、この装置はプロトコルを打ち切る。そうでなければこれらの装置は、公開キーとセッション識別子とをそれぞれγＲとγＴとにコンパイルし、この情報をキー検証プロセスに入力する。このプロセスは、下記の表１に要約されている。端末がｖの選択のための解読関数Ｄvを知らなければ、端末がαを取得できないことは注目に値する。これは、詐欺師端末が、対応する秘密キーを所有しない公開キーを供給することを防止する。
【００６５】
【表１】
0005407147.tif 000002
表１：リングプロトコルのセットアップフェーズ（設定段階）。値γR、γTはキー検証ステージに入力される。
【００６６】
キー検証プロセスは、多数のラウンドからなり、３つのＩ／Ｏオートマトン（自動装置）の形に図５、６および７で指定されている。１つのオートマトンはユーザの振舞いをモデル化し、第２のものはリングをモデル化し、第３は端末をモデル化している。図４は、Ｉ／Ｏオートマトンとしてユーザモデルを示す。この図ではもし、また単にもしリングと端末が同じ色を示せばｘ＝ｙが成り立ち、また単にもしリングと端末の光が同期して点灯すればｔx＝ｔyが成り立つ。図６は、Ｉ／Ｏオートマトンとしてのリングモデルを示す。図７はＩ／Ｏオートマトンとしての端末モデルを示す。
【００６７】
これら３つのオートマトンのうちの１つが受入れ状態（二重円によって示されたＵ0、Ｒ0およびＴ0）を離れればラウンドが開始され、３つすべてのオートマトンが再び受入れ状態になればこのラウンドは終了する。ラウンドは、リングのボタンを押す状態Ｕ0のユーザによって開始される。そのような際にユーザは、状態Ｕ1に入り、ｉがラウンド番号である個別時間ｔiを暗示的に選択し、ｔiをリングに送信する。リングは、（不安定な）チャネル通信を介して端末にｔiを中継する。次にリングは、入力γRとＳR＝（ｔi，・・・，ｔi）によって単方向ハッシュ関数ｈに問合わせを行い、この結果をｔiと一緒にユーザに送信する。一方、端末は同じ問合せを実行してその結果を同様にユーザに送る。ユーザは、両方の結果を比較する。これらが等しくなければ、ユーザはこのプロトコルを拒否して終了する。そうでなければユーザは、自分が受け入れる用意ができるまで更なるラウンドを実行する。受入れは、何らかの受入れ可能メカニズム、例えばボタンの引き伸ばされた押下、第２のボタンの押下などによってリングに知らされる。
【００６８】
上記の時機の合わないモデルでは、本発明者らはユーザがリングに明示的な時間値を送ると仮定した。リングは時間値を端末に中継するが、おそらく敵によって途中で混乱させられる。リングと端末の両方は、それらの時間値ｔxおよびｔyと、それぞれの計算の出力ｘおよびｙとを、これらが等しいかどうか比較するユーザに送る（図５を参照のこと）。しかしながらユーザは、これらの値を文字通りには比較しない。これは以下に示されるように、あまりユーザフレンドリではなく、また敵が検出されずには変更できない伝送時間自体を使用するほど安定でもない。
【００６９】
その代わり下記の実施形態では、これらの値は、差が容易に認識されるように、単純な可視性または可聴性特徴要素として符号化される。より正確にはユーザは、色（またはトーン）によってｘとｙを比較し、同時性によってｔxとｔyを比較する。
【００７０】
時機合わせモードは、セットアップフェーズに少しの追加を必要とする。セットアップフェーズの状態Ｓ１においてリングがその公開キーｕを端末に送る前に、リングは内部クロックをゼロにリセットする。リングの公開キーを受信すると、端末は同様にそれ自体の内部クロックをゼロにリセットする。端末のクロックは、リングのクロックに関して僅かな量の時間εだけシフトされている。両クロックは、δが認識のための閾値を超えている割合δでクロックの値を増加させる。言い換えれば、δは刺激がユーザ人口の大部分によって同時とは認識されないような２つの（可視性、可聴性などの）刺激の間の最小の遅延である。本発明者らはε＜＜δであると仮定している。
【００７１】
ユーザがリングのボタンを押すと、ボタンはダウン信号を端末に送り、クロックが増加するまで遅延し、クロック値ｔiを読み取り、ＳR：＝（ｔ1，・・・，ｔi）をセットする。それからリングは、γRおよびＳRによってハッシュ関数ｈに問合わせを行い、これはｂ∈｛０，１｝という結果を与える。ｂ＝１であれば、リングは１つの色、例えばオレンジで点灯する。そうでなければリングはもう１つの色、例えばブルーで点灯する。ユーザがボタンを離すとリングは、端末にアップ信号を送り、次のクロック拍まで遅延し、その光をスイッチオフする。遅延している間、リングはユーザ入力を受け入れず、光は構成可能な最小時間の間、オンのままになっている。
【００７２】
端末がダウンまたはアップ信号を受信するとこの端末は、ボタン押下時または解放時のリングの振舞いと同じように振舞う。例えば端末がダウン信号を受信すれば、端末はクロックが増加するまで遅延し、クロック値ｔ’iを読み取り、ＳT：＝（ｔ’1，・・・，ｔi）をセットし、γRおよびＳTによってハッシュ関数ｈに問合わせを行い、それにしたがって点灯することによってユーザに知らせる。
【００７３】
ユーザがリング（または端末）のクロック増分のε以内にボタンを押すかどうかの潜在的な競争状態が存在する。リングが遅延εに関して控えめな推定を行えば、競争状態は、両装置の同じ時間間隔内にボタンクリックが落ちるまでボタンクリックの効果を遅延させることによって回避できる。
【００７４】
上記のリングの例は、特定の出力チャネル（光）と、特定の入力チャネル（ボタン）と、本発明者らが本発明者らの妥当性検査ポイント（時間）をサンプル採取する特定のソース（源）とに基づいて本発明のメカニズムを説明している。抽象的な意味で入力チャネルは、ランダムに選択されたインデックスを妥当性検査ポイントのソースに与える。このソースは、完全体で真正でなくてはならず、また両装置に利用可能でなければならない。このソースはまた、ある一定レベルの分散を有さなくてはならないが、内密でもランダムでもある必要はない。これは、本発明者らのメカニズムが機能し得る形式とパラメータとを選択する際に本発明者らにかなりの柔軟性を与える。下記に、簡単に幾つかの変形版を挙げるが、その他多くのものも実行可能であることは無論である。
【００７５】
出力チャネル：１対話ごとにこのメカニズムのセキュリティが増加する割合を増加させる色の数は増加できる。これはまた、ランダムな攻撃（敵による事前計算なしでの）の成功確率を大幅に低下させる。同じ傾向で多数の光が使用され得る。ここから、本発明者らのメカニズムがいかなる複雑な可視性表示および複雑な表現にも拡張可能であることは明らかである（ただし、これはある程度本発明者らのメカニズムの単純さと的確さとを損ないはする）。
【００７６】
他の人間の感覚も同様に、出力チャネルとして梃子入れされ得る。これは、可聴性出力を含む。２つの色よりむしろ本発明者らは、本発明者らの妥当性検査手順の２つの異なる結果を示すために２つの音またはメロディーを使用し得る。触覚性出力でさえ、点字表示などを使用して表現できる。
【００７７】
入力チャネル：ボタンを使用するよりもむしろ、その代わりにユーザの装置がマイクロフォンを有する場合にサンプリングを誘発するために発声が使用され得る。両装置がマイクロフォンを特徴としていれば、両装置は誘因としてこの入力を同時に使用できる。これは、一方の装置から他方の装置にトリガー信号を送信する必要をなくす。これはまた、遅延が帯域内で送信されたトリガー信号の操作を暴露することを意味されるので、表示を観察する必要もなくす。
【００７８】
一方または両方の装置が近接感知を特徴とするのであれば、２つの装置間の距離の変化は同様にトリガー信号として役立ち得る。同じ回線に沿って、全地球測位システム（「ＧＰＳ」）または同様なサービスを介して測定された相対的または絶対的位置変化は、更に他のトリガー信号源として役立ち得る。
【００７９】
トリガー信号が両装置によって測定され得るならば、またこの信号が十分な分散を有するならば、測定値は妥当性検査ポイントのソース（源）へのインデックスとして直接役立ち得る。測定値は妥当性ポイントのソースにさえなり得る。
【００８０】
妥当性検査ポイントのソース：本発明者らは、妥当性検査ポイントのソースとして動作しているクロック値を、インデックスとして時間を使用した。これは、多くの利点を有する。時間は常に利用可能であって単調に増加し、また時間自体は容易には操作され得ない。しかしながら十分な分散を有するいかなるソースも、そのソースが両装置に知られている、またはアクセス可能であることが仮定され得るならば、使用され得る。例えば両装置が近さを測定できれば、装置相互間距離の変化はトリガー信号としてばかりでなく妥当性検査ポイントのソースとしても役立ち得る。他の可能性のある妥当性検査ポイントのソースは、放送信号または予め固定されたデータである。
【００８１】
図８は、本発明の一実施形態による一般的移動端末を示す。この移動端末は、例えばラップトップコンピュータ、ＰＤＡ、携帯電話、移動体ＧＰＳ、ＩＤカードなどであり得る。この装置は、例えばアンテナ８４０、ＵＢＳまたはファイヤワイヤ（Ｆｉｒｅｗｉｒｅ）接続などを介して他の移動端末または静止装置と通信するためのトランシーバ８０５を有する。トランシーバは、これが符号器／復号器８１０と交換する符号化されたメッセージを送信および／または受信することができる。例えば符号器／復号器８１０は、もう１つの装置の公開キーを使用してメッセージを暗号化して、これを他方の装置への送信のためにトランシーバ８０５に供給する。同様にトランシーバ８０５は、他方の装置からの暗号化されたメッセージを受信して、これを解読のために復号器８１０に中継することができる。
【００８２】
同期入力８２５は、例えばタイマー、ＲＳＳフィード、距離測定などとして実現可能である。これは、ユーザ入力要素８３０からの信号を受信したときはいつでも、関数モジュール８１５に同期値を供給する。ユーザ入力要素８３０は、単純なボタン、距離センサーなどであり得る。関数モジュール８１５は、符号器／復号器８１０から受信されたデータと同期入力８２５からの同期値とに演算を行う。上記に示されたようにある幾つかの実施形態では、このデータは公開キーとセッション識別子である。また上記に示されたように、関数モジュール８１５はハッシュ関数を使用できる。関数モジュール８１５は、その演算結果を分析し、その結果に基づいてユーザ出力要素８３５に命令を与えるインタプリタ（解釈器）８２０にその演算結果を与える。例えばインタプリタは、この結果の最下位ビットを検査して、それが「１」であればユーザ出力要素８３５に１つの色で点灯するように命令し、それが「０」であればもう１つの色で点灯するように命令する。移動端末の動作は、コントローラ８５０によって制御される。
【００８３】
図９は、例えばＷｉＦｉアクセスポイントに接続する際に実現され得る本発明のもう１つの実施形態を示す。図９においてユーザは、ユーザ装置９００を目標装置９１０に接続しようと試みている。ユーザ装置９００は例えばラップトップコンピュータであり得るが、目標装置９１０は例えばＷｉＦｉアクセスポイント（ホットスポット）であり得る。このシナリオで本発明者らは、ユーザ装置９００と目標装置９１０が秘密キーを共有していて、互いに信頼されているサードパーティによって署名された公開キー証明書を所有していることを仮定することはできない。その代わりに両装置は、不安定な無線チャネル上で公開キーを交換し、自分の通信を保証するためにこれらのキーを使用する。ユーザは、低帯域幅（認証された）可視性チャネル上で交換されたキーを認証することによって中間者攻撃を妨げる。これは、等分野で説明されてきて、安定であることが明らかになっているように、「短い認証列」プロトコルによって効率的に遂行され得る。このクラスの単純ではあるが典型的なプロトコルは、説明されたメッセージ認証プロトコルであって、その１つのバージョンは図１０に示されている。
【００８４】
図１０に示すように、セットアップフェーズ時に２つの装置は、それらの公開キーとノンスＮＡおよびＮＢとをコミットする。ノンスは短くできるので、名前「短い認証列」であり得る。しかしながらこれらは、ユーザが喜んで実行する比較の最大数よりは長くすべきである。コミットメントは、１ペア（ｃ，ｄ）を返す関数ｃｏｍｍｉｔ（ｘ）とコミットされたデータ、所与のｃおよびｄを返す関数ｏｐｅｎすなわちｏｐｅｎ（ｃｏｍｍｉｔ（ｘ））＝ｘとによって定義される。プロトコルが妨害なしに進めば、ＮＡ＝Ｎ’ＡおよびＮＢ＝Ｎ’Ｂである。エビルツイン（邪悪な双子）による中間者攻撃の下でこのプロトコルは、高い確率でＮＡ≠Ｎ’Ａ、したがってＮＡ・Ｎ’Ｂ≠Ｎ’Ａ・ＮＢであることを保証する。このような事象発生の確率は、敵が有する計算パワーの量に無条件的である。妥当性検査のポイントは、これら２つのケースを区別することである。
【００８５】
図９に示す実施形態では、認証されたチャネルを実現して短い列の比較を実行するための特定の技法が提供される。認証されたチャネルは、本質的に２つのチャネルから構成される。ユーザは１つはＡ（ユーザ装置９００）からユーザへ、１つはＢ（目標装置９１０）からユーザへという２つの認証されたチャネルを作り出す両装置上で光を物理的に観察できる。図９の実施形態によれば、Ｎ’Ａ・ＮＢを、１つの認証されたチャネルを介してこれがＮＡ・Ｎ’Ｂと比較されるＡに送る代わりに、両装置はそれぞれの光９０５、９１５を介してそれぞれの値を表示する。それからユーザは比較を実行する。
【００８６】
更に、単に２つの平行な系列の着色光をユーザに示す代わりにユーザは、比較を制御することに積極的に関わる。これは次のように達成される。ビット列ＮＡ・Ｎ’ＢとＮ’Ａ・ＮＢは、侵入者が存在しないときに一致する２つの系列の色を定義する。ユーザ装置９００上のボタンまたはキー９２０を押下することによってユーザは、各装置のそれぞれの系列の次の着色光９０５、９１５を点灯するようにこの系列において１ステップ進める。この例ではユーザがボタン９２０を保持している限り、光は点灯したままになっていて、ユーザが比較のために必要とされる時間を決定することを可能にする。
【００８７】
図９の実施形態ではユーザ装置９００は、ユーザのボタン押下をオープンしている高速チャネルを介して装置９１０に中継する。このチャネルに干渉することによって侵入者はクリックを抑制し、光の持続時間を変更し、あるいは追加のクリックを作り出すことができる。これらの変化がユーザによって検出されることを保証するために図９の実施形態は、各光が認識可能な最短時間の間、点灯したままになっていることを必要とする。ユーザは、必要とされるセキュリティに基づいて使用すべきボタンクリックの回数を選択できる。侵入が存在していないことにユーザが満足すれば、ユーザはユーザ装置９００を介して装置９１０に「受入れ」を知らせて、このプロトコルを完了する。
【００８８】
サービス拒否攻撃に対して保護するために、許されるクリックの回数の限界と更に２つの連続したクリック間の遅延に関するタイムアウト（時間切れ）とが存在する必要がある。多数のユーザが１つの共用装置（例えばＷｉＦｉアクセスポイント）を認証しようと試みる環境では、この共用装置は認証要求を系列化する必要がある。図９の実施形態では短い認証列の目視による妥当性検査のための予期される時間は、２０秒未満である。したがって大抵のアプリケーションでは、認証要求の頻度が過渡の待ち時間を作り出すことはないようである。
【００８９】
理解され得るように図９に示された実施形態は、他のシナリオで、例えば家庭からのＷｉＦｉアクセスを保証するために、使用され得る。プライベートな近所での攻撃は公共の場所でより少ない頻度で発生するが、それにもかかわらず攻撃者は、家庭の無線ネットワークを攻撃するためにプライベートな家庭の外にエビルツインアクセスポイントをセットアップできる。説明されたメカニズムは、ユーザがユーザ自身のネットワークへの接続に成功したかどうかをユーザが確認することを可能にする。このメカニズムはまた、装置とホットスポットよりもむしろ２つの代替装置をペアにするためにも使用可能である。例えばこれは、内密の情報が盗まれる可能性がある異なるプリンタまたは他の装置に、よりもむしろユーザの前に在るプリンタに機密文書が送られることを保証するように無線装置とプリンタとをペアにするために使用され得る。
【００９０】
このメカニズムはまた、特別なネットワークをセットアップするためにも有用である。例えばある幾つかのセッティングにおいて、技術的知識も訓練もほとんど持たない軍事要員でも、信頼されない無線装置が多くある都市のような場所で安定な特別の無線ネットワークをセットアップできなくてはならない。同様にこのメカニズムは、視線上の送信機と受信機のアンテナをペアにすることによって屋上の無線ネットワークをセットアップするためにあるコミュニティで、おそらくは第３世界の国で近隣者によって使用され得る。ある幾つかのシナリオでは、あるいはある何人かのユーザに関しては、光の代わりに可聴性モードのような比較のための他のモードが使用され得る。
【００９１】
本明細書で説明されたプロセスと技法が何らかの特定の装置に本来的に関係しておらず、構成要素の任意の適当な組合せによって実現され得ることは理解されるべきである。更に本明細書で説明された教示にしたがって種々のタイプの汎用装置が使用可能である。本明細書で説明された方法ステップを実行するために専門化された装置を構築することが有利であることも証明できる。本発明は、すべての点で限定的であるよりむしろ例示的であることを意図された特定の例に関連して説明されてきた。当業者は、本発明を実施するためにハードウエア、ソフトウエアおよびファームウエアの多くの異なる組合せが適していることを認める。例えば説明されたソフトウエアは、アセンブラー、Ｃ／Ｃ＋＋、パール、シェル、ＰＨＰ、Ｊａｖａ（登録商標）などの幅広い種々のプログラミング言語または記述言語に実現され得る。
【００９２】
本発明は、すべての点で限定的であるよりむしろ例示的であることを意図された特定の例に関連して説明されてきた。当業者は、本発明を実施するためにハードウエア、ソフトウエアおよびファームウエアの多くの異なる組合せが適していることを認める。更に当業者には、本明細書で開示された本発明の詳述と実施の考察から本発明の他の実現形態も明らかになる。前述の特許請求の範囲によって指示されている本発明の真の範囲と精神とによって、本明細と例は単に例示的であると考えられることが意図されている。
【図面の簡単な説明】
【００９３】
【図１】本発明の種々の実施形態にしたがって検出および／または回避され得る、可能性のある中間者攻撃を示す図である。
【図２】本発明の一実施形態によるプロセスを示す流れ図である。
【図３】リングの形状をした本発明の一実施形態を描く図である。
【図４】役者たちを接続する単方向通信チャネルを示す図である。
【図５】Ｉ／Ｏオートマトンとしてのユーザモデルを示す図である。
【図６】Ｉ／Ｏオートマトンとしてのリングモデルを示す図である。
【図７】Ｉ／Ｏオートマトンとしての端末モデルを示す図である。
【図８】本発明の一実施形態による一般的移動端末を示す図である。
【図９】例えばＷｉＦｉアクセスポイントに接続する際に実現され得る本発明のもう１つの実施形態を示す図である。
【図１０】本発明のある実施形態で使用される短い認証列プロトコルの一例を示す図である。
【符号の説明】
【００９４】
３００  リング、３０５  ボタン、３１０  ボタン、３１５  リム、８０５  トランシーバ、８１０  符号器／復号器、８１５  関数モジュール、８２０  インタプリタ（解釈器）、８２５  同期入力、８３０  ユーザ入力要素、８３５  ユーザ出力要素、９００  ユーザ装置、９０５  光、９１０  目標装置、９１５  光、９２０  ボタンまたはキー
【図１】
0005407147.tif 000003
【図２】
0005407147.tif 000004
【図３】
0005407147.tif 000005
【図４】
0005407147.tif 000006
【図５】
0005407147.tif 000007
【図６】
0005407147.tif 000008
【図７】
0005407147.tif 000009
【図８】
0005407147.tif 000010
【図９】
0005407147.tif 000011
【図１０】
0005407147.tif 000012