(57)【特許請求の範囲】
【請求項１】
アクセサリとコントローラとの間にワイヤレス通信リンクを確立する方法において、
コントローラがそれとペアリングすべきアクセサリをサーチしていることを示す第１のプローブをコントローラからアクセサリにより受信する段階と、
前記第１のプローブに応答して第２のプローブをアクセサリによりコントローラへ送信する段階と、
コントローラとの共有シークレットをアクセサリによって確立する段階であって、その共有シークレットの確立は、少なくともアクセサリにより送信される第３のプローブ及びアクセサリにより受信される第４のプローブを含む複数の付加的なプローブを使用してコントローラとパブリックキーを交換することを含み、前記第３のプローブ及び前記第４のプローブは、プローブ要求フレーム又はプローブ応答フレームの少なくとも１つであり、対応する前記パブリックキーが所定の情報要素に含まれており、さらに、
アクセサリによって固定パスワードを使用して、アクセサリパブリックキーを発生すること、
アクセサリによってランダムソルトを発生すること、
アクセサリパブリックキー及びランダムソルトを含む第３のプローブをアクセサリによりコントローラへ送信すること、
コントローラパブリックキーと、ランダムソルトに基づくコントローラ応答とを含む第４のプローブをコントローラからアクセサリにより受信すること、
前記アクセサリパブリックキー、コントローラパブリックキー、及びランダムソルトを使用して、共有シークレットをアクセサリにより計算すること、
を含む当該段階と、
前記共有シークレットがコントローラによって共有されることをアクセサリにより確認する段階と、
前記共有シークレットを使用して更に別の暗号キーをアクセサリによって発生する段階と、
暗号メッセージを含む第５のプローブをコントローラからアクセサリによって受信する段階と、
前記更に別の暗号キーを使用して前記暗号メッセージを解読する段階と、を備えた方法。
【請求項２】
共有シークレットがコントローラによって共有されることをアクセサリにより確認する前記段階は、
共有シークレットを使用してコントローラ応答をアクセサリにより検証する段階、
共有シークレットを使用してアクセサリ応答をアクセサリにより計算する段階、及び
前記アクセサリ応答を含む第６のプローブをアクセサリによりコントローラへ送信する段階、
を含む請求項１に記載の方法。
【請求項３】
前記暗号メッセージは、アクセスポイントを有するワイヤレスネットワークに関連したクレデンシャルを含み、前記方法は、更に、
ワイヤレスネットワークに参加する要求であって少なくとも一部分は前記クレデンシャルに基づくものである要求をアクセサリによりアクセスポイントへ送信する段階、
を含む請求項１に記載の方法。
【請求項４】
ワイヤレスインターフェイスと、
前記ワイヤレスインターフェイスに結合されたプロセッサであって、
コントローラにより送信されたブラウジングプローブ要求を、前記ワイヤレスインターフェイスを経て受信し、そのブラウジングプローブは、コントローラがペアリングに利用できることを示すものであり、
前記ブラウジングプローブ要求に応答して、識別プローブ応答を、前記ワイヤレスインターフェイスを経て送信し、その識別プローブ応答は、アクセサリ識別情報を含むものであり、
コントローラとのペアリングを確立し、
アクセサリによって送信される第３のプローブ及び当該アクセサリによって受信される第４のプローブを少なくとも含む複数の付加的なプローブを使用して前記コントローラとパブリックキーを交換し、ここで、前記第３のプローブ及び前記第４のプローブは、プローブ要求フレーム又はプローブ応答フレームの少なくとも１つであり、対応する前記パブリックキーが所定の情報要素に含まれており、
アクセサリによって固定パスワードを使用して、アクセサリパブリックキーを発生し、
アクセサリによってランダムソルトを発生し、
アクセサリパブリックキー及びランダムソルトを含む第３のプローブをアクセサリによりコントローラへ送信し、
コントローラパブリックキーと、ランダムソルトに基づくコントローラ応答とを含む第４のプローブをコントローラからアクセサリにより受信し、
前記アクセサリパブリックキー、コントローラパブリックキー、及びランダムソルトを使用して、共有シークレットをアクセサリにより計算し、
ワイヤレスネットワークに関連したクレデンシャルをコントローラからワイヤレスインターフェイスを経て受信し、そのクレデンシャルは、コントローラから受け取る更に別のプローブ要求における暗号情報として受信されるものであり、
前記クレデンシャルを使用して、ワイヤレスネットワークに参加する、
というように構成されたプロセッサと、
を備えたアクセサリ。
【請求項５】
前記ブラウジングプローブ要求及び更に別のプローブ要求の各々は、ＩＥＥＥ８０２．１１規格群に適合するプローブ要求フレームを含み、前記識別プローブ応答は、ＩＥＥＥ８０２．１１規格群に適合するプローブ応答フレームである、請求項４に記載のアクセサリ。
【請求項６】
スピーカを更に備え、前記プロセッサは、更に、
ワイヤレスネットワークを経て、コントローラからストリーム状のオーディオデータを受信し、この受信は、ワイヤレスネットワークに参加した後に行われ、
前記ストリーム状のオーディオデータをアナログ信号に変換し、
そのアナログ信号を使用して前記スピーカを駆動する、
というように構成された請求項４に記載のアクセサリ。
【請求項７】
プリンティング要素を更に備え、前記プロセッサは、更に、
ワイヤレスネットワークを経て、コントローラからデータを受信し、この受信は、ワイヤレスネットワークに参加した後に行われ、
そのデータに応答してプリントアウトを発生するように前記プリンティング要素を駆動する、
というように構成された請求項４に記載のアクセサリ。
【請求項８】
アクセサリとコントローラとの間にワイヤレス通信リンクを確立する方法において、
コントローラがそれとペアリングすべきアクセサリをブラウジングしていることを示す第１のプローブをコントローラによりブロードキャストする段階と、
アクセサリについての識別情報を含む第２のプローブをアクセサリからコントローラにより受信する段階と、
アクセサリとの共有シークレットをコントローラにより確立する段階であって、前記共有シークレットを確立することは、前記第１のプローブ及び前記第２のプローブ又は前記コントローラによって受信される第４のプローブ及び当該コントローラによって送信される第５のプローブの一つを使用して前記アクセサリとパブリックキーを交換することを含み、前記各プローブは、プローブ要求フレーム又はプローブ応答フレームの少なくとも１つであり、対応する前記パブリックキーが所定の情報要素に含まれており、さらに、
アクセサリによって固定パスワードを使用して、アクセサリパブリックキーを発生すること、
アクセサリによってランダムソルトを発生すること、
アクセサリパブリックキー及びランダムソルトを含む第３のプローブをアクセサリによりコントローラへ送信すること、
コントローラパブリックキーと、ランダムソルトに基づくコントローラ応答とを含む第４のプローブをコントローラからアクセサリにより受信すること、
前記アクセサリパブリックキー、コントローラパブリックキー、及びランダムソルトを使用して、共有シークレットをアクセサリにより計算すること、
を含む当該段階と、
その共有シークレットがアクセサリにより共有されることをコントローラによって確認する段階と、
その共有シークレットを使用して更に別の暗号キーをコントローラにより発生する段階と、
前記暗号キーを使用してメッセージをコントローラにより暗号化する段階と、
その暗号化されたメッセージを含む第３のプローブをコントローラによりアクセサリへ送信する段階と、
を備えた方法。
【請求項９】
前記暗号化されたメッセージは、ワイヤレスネットワークに参加するためにアクセサリにより使用可能なクレデンシャルを含む、請求項８に記載の方法。
【請求項１０】
クレデンシャルを含む前記暗号化されたメッセージを送信するのに続いて、コントローラにより、ワイヤレスネットワークを経てアクセサリと通信することを更に含む、請求項９に記載の方法。
【請求項１１】
ワイヤレスインターフェイスと、
ユーザインターフェイスと、
前記ワイヤレスインターフェイス及びユーザインターフェイスに結合されたプロセッサと、
を備え、前記プロセッサは、
アクセサリ識別情報を含む第１のプローブをアクセサリからワイヤレスインターフェイスを経て検出し、
ユーザインターフェイスを経て通信して、アクセサリがワイヤレスネットワークに参加することを確認し、
ワイヤレスインターフェイスを経てアクセサリと通信して、ペアリングを確立し、このペアリングの確立は、複数の付加的なプローブを使用してアクセサリと情報を交換することを含み、その複数の付加的なプローブは、コントローラにより受信される第３のプローブ及びコントローラにより送信される第４のプローブを含み、前記第３のプローブ及び第４のプローブのそれぞれは、プローブ要求フレーム又はプローブ応答フレームの少なくとも１つであり、前記情報が所定の情報要素に含まれており、さらに、
アクセサリによって固定パスワードを使用して、アクセサリパブリックキーを発生し、
アクセサリによってランダムソルトを発生し、
アクセサリパブリックキー及びランダムソルトを含む第３のプローブをアクセサリによりコントローラへ送信し、
コントローラパブリックキーと、ランダムソルトに基づくコントローラ応答とを含む第４のプローブをコントローラからアクセサリにより受信し、
前記アクセサリパブリックキー、コントローラパブリックキー、及びランダムソルトを使用して、共有シークレットをアクセサリにより計算し、
更に、ユーザインターフェイスを経て共有シークレットの確認を得ることも含み、
ワイヤレスネットワークに関連したクレデンシャルを、ペアリングの確立に続いて、ワイヤレスインターフェイスを経てアクセサリへ送信し、前記クレデンシャルは、第５のプローブに含まれる暗号メッセージにおいて送信される、
ように構成されたコントローラ。
【請求項１２】
前記プロセッサは、更に、ユーザインターフェイスを経て通信して、アクセサリがワイヤレスネットワークに参加することが、
前記第１のプローブからアクセサリ識別情報を抽出し、
前記抽出されたアクセサリ識別情報の少なくとも一部分を、ユーザインターフェイスを経てユーザへ提示し、
アクセサリがワイヤレスネットワークに参加すべきであるという確認を、ユーザインターフェイスを経て受信する、
ことを含んでいることを確認する、請求項１１に記載のコントローラ。
【請求項１３】
前記プロセッサは、更に、
前記クレデンシャルを送信するのに続いて、アクセサリがワイヤレスネットワークに参加したことを確認し、
アクセサリがワイヤレスネットワークに参加したことを確認した後に、ワイヤレスネットワークを経てアクセサリへデータを送信する、
ように構成される、請求項１１に記載のコントローラ。
【請求項１４】
アクセサリとコントローラとの間にワイヤレス通信リンクを確立するためのシステムにおいて、
コントローラがそれとペアリングすべきアクセサリをサーチしていることを示す第１のプローブをコントローラからアクセサリにより受信する手段と、
前記第１のプローブに応答して第２のプローブをアクセサリによりコントローラへ送信する手段と、
コントローラとの共有シークレットをアクセサリによって確立する手段であって、その共有シークレットの確立は、少なくともアクセサリにより送信される第３のプローブ及びアクセサリにより受信される第４のプローブを含む複数の付加的なプローブを使用してコントローラとパブリックキーを交換することを含み、前記第３のプローブ及び前記第４のプローブは、プローブ要求フレーム又はプローブ応答フレームの少なくとも１つであり、対応する前記パブリックキーが所定の情報要素に含まれており、さらに、
アクセサリによって固定パスワードを使用して、アクセサリパブリックキーを発生すること、
アクセサリによってランダムソルトを発生すること、
アクセサリパブリックキー及びランダムソルトを含む第３のプローブをアクセサリによりコントローラへ送信すること、
コントローラパブリックキーと、ランダムソルトに基づくコントローラ応答とを含む第４のプローブをコントローラからアクセサリにより受信すること、
前記アクセサリパブリックキー、コントローラパブリックキー、及びランダムソルトを使用して、共有シークレットをアクセサリにより計算すること、
を含む当該手段と、
前記共有シークレットがコントローラによって共有されることをアクセサリにより確認する手段と、
前記共有シークレットを使用して更に別の暗号キーをアクセサリによって発生する手段と、
暗号メッセージを含む第５のプローブをコントローラからアクセサリによって受信する手段と、
前記更に別の暗号キーを使用して前記暗号メッセージを解読する手段と、
を備えたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、電子装置間のワイヤレス通信に係り、より詳細には、２つの装置間のセキュアなワイヤレスリンクに係る。
【背景技術】
【０００２】
ワイヤレスネットワークが至る所に存在してきている。インスティテュート・オブ・エレクトリカル・アンド・エレクトロニックス・エンジニアズ（ＩＥＥＥ）は、電子装置が互いに通信できるようにするための“ＷｉＦｉ”とも称される８０２．１１規格群を発布した。これら規格（８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及び８０２．１１ｎを含む）は、装置間で情報を通信するための周波数、変調、データレート及びメッセージフォーマットを規定している。一般的に、８０２．１１適合のワイヤレスネットワーク（「ＷｉＦｉネットワーク」とも称される）では、ＷｉＦｉネットワークを管理する指定の「アクセスポイント」が、しばしば、インターネットへのワイヤード接続と共に存在する。他の動作の中で、アクセスポイントは、ネットワーク装置間にメッセージをルーティングすることができる。ＷｉＦｉネットワークは、アクセスポイントが周期的にブロードキャストできる名前（アクセスポイントと対話するネットワークアドミニストレーターにより一般的に構成可能である）を有し、そしてその名前を知っているか又はアクセスポイントのブロードキャストメッセージからネットワーク名を発見する装置が、アクセスポイントに「参加(join)」要求を送信することによりネットワークに参加することができる。一般的に、アクセスポイントは、ネットワークに参加した装置間のみにメッセージをルーティングする。
【０００３】
当然、ワイヤレス信号は、容易に傍受される。従って、ＷｉＦｉ規格は、ワイヤード・イクイバレント・プライバシー（ＷＥＰ）、ＷｉＦｉプロテクテッド・アクセス（ＷＰＡ）、及びＩＥＥＥ８０２．１１ｉ（“ＷＰＡ２”としても知られている）のような種々のセキュリティプロトコルを与える。これらのプロトコルは、ネットワークを経て送られる情報が暗号化されるようにすると共に、使用すべき特定の暗号技術を指定する。ＷｉＦｉネットワークアクセスポイントは、特定のセキュリティプロトコルに対して構成することができる。
【０００４】
一般的に、セキュアなＷｉＦｉネットワークに参加する装置は、メッセージを暗号化し解読するのに使用できるネットワーク特有のパスワード又はキーを知る必要がある。このパスワード又はキーは、一般的に、装置間でワイヤレス通信されないが、セキュアなＷｉＦｉネットワークのアクセスポイントは、ネットワークへの参加を試みる装置が、例えば、ランダムチャレンジを正しく暗号化することにより、パスワード又はキーを知っていることを証明することを要求する。セキュアなＷｉＦｉネットワークにコンピュータを接続するために、ユーザは、例えば、コンピュータで実行されるネットワークコンフィギュレーションプログラムにより発生されたプロンプトに応答して、ネットワークアドミニストレーターからパスワードを得て、それをコンピュータに入力することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、最近、ＷｉＦｉイネーブル型装置の世界は、ある範囲の周辺装置を含ませるためにコンピュータを越えて拡張し始めた。例えば、通信のために８０２．１１規格を使用するワイヤレスプリンタが開発された。ある周辺装置は、限定されたユーザインターフェイスしかもたず、ユーザがＷｉＦｉネットワークのためのパスワード又はキーを装置へ入力することを困難又は不可能にする。多くの場合、先ず、ワイヤードインターフェイス（例えば、ＵＳＢ）を経て周辺装置をコンピュータへ接続して、ＷｉＦｉインターフェイスを構成し、次いで、周辺装置をワイヤレス動作モードにスイッチすることが必要となる。
【課題を解決するための手段】
【０００６】
本発明の幾つかの実施形態は、ネットワークにまだ参加していない装置間でメッセージを交換するためのワイヤレスネットワークプロトコルのサポートをレバレッジすることにより２つの装置（ここでは「コントローラ」及び「アクセサリ」と称される）間にセキュアなワイヤレスリンク（ここでは「ペアリング」と称される）を確立するための技術を提供する。このようなメッセージは、ここでは「プローブ要求」及び「プローブ応答」又はより一般的に「プローブ」と称される。ＩＥＥＥ８０２．１１規格に基づくワイヤレスネットワークのケースでは、プローブ要求及びプローブ応答フレームをプローブとして使用することができる。ここに使用するプローブは、コンピュータ、移動装置、周辺装置、等を含む２つのＷｉＦｉイネーブル型装置間でメッセージのシーケンスを交換するのに使用できるものである。そのシーケンスは、２つの装置間に共有シークレットを確立するのに使用できるメッセージを含むことができ、共有シークレットが確立されると、２つの装置は、これに限定されないが、装置の１つがワイヤレスネットワークに参加できるようにする情報（例えば、ネットワーク名及びパスワード又は他のクレデンシャル）を含む他のメッセージをセキュアに通信することができる。
【０００７】
適当に構成されたワイヤレスインターフェイスを伴う２つの装置がペアリングを確立することができる。ここに述べる幾つかの実施形態では、１つの装置（コントローラ）は、それとペアになり得る装置をサーチしていることを通知するために初期プローブをブロードキャストすることができる。別の装置（アクセサリー）は、ペアリングを要求する別のプローブで初期プローブに応答することができる。２つの装置は、共有シークレットを確立し、及び／又は他方が同じ共有シークレットを有することを検証できる。ある実施形態では、共有シークレットは、更に別のプローブを交換することにより確立され及び／又は検証される。他の実施形態では、共有シークレットを確立するのに必要な全ての情報をプローブの初期交換において与えることができ、そしてユーザ確認のような別のメカニズムを通して共有シークレットを検証することができる。各装置は、共有シークレットを使用して、付加的な暗号及び認証キーを発生することができる。これらのキーは、付加的なプローブ要求及びプローブ応答を使用して装置間に送信できるメッセージコンテンツをセキュアなものにする（例えば、暗号化及び／又は認証する）ために使用することができる。
【０００８】
ある実施形態では、装置間で交換されるセキュアなものとされたメッセージコンテンツは、セキュアなワイヤレスネットワークに参加するのに必要なクレデンシャル、例えば、ネットワーク名及びパスワード又はキーを含むことができる。例えば、限定されたユーザインターフェイスを伴うアクセサリ（例えば、ＷｉＦｉイネーブル型プリンタ）は、コントローラ（例えば、ＷｉＦｉイネーブル型パーソナルコンピュータ）とのペアリングを確立し、そのペアリングを経て、コントローラが現在参加しているワイヤレスネットワークのためのクレデンシャルを得ることができる。アクセサリは、次いで、これらのクレデンシャルを使用して、ワイヤレスネットワークに参加することができる。アクセサリがワイヤレスネットワークに参加すると、アクセサリ及びコントローラは、そのネットワークを経て互いに又は他の装置と通信することができる。この点において、ペアリングを終了できるか、又はペアリングリンクを側波帯通信経路として維持することができる。
【０００９】
ある実施形態では、ペアリングプロセスは、ほぼ自動化することができ、ユーザの介在をほとんど又は全く必要としない。ユーザの介在は、アクセサリとコントローラとの間のパスコード一致を検証するか、又は一方の装置（例えば、アクセサリ）により与えられたパスワードを他方の装置（例えば、コントローラ）に入力する程度の簡単なものとなる。
【００１０】
本発明の１つの態様は、アクセサリとコントローラとの間にワイヤレス通信リンクを確立するための方法に係る。コントローラは、コントローラがペアリングすべきアクセサリをサーチしていることを指示するために第１のプローブをブロードキャストすることができる。アクセサリは、その第１のプローブを受け取り、そしてアクセサリに関する情報を与える第２のプローブで応答する。コントローラ及びアクセサリは、アクセサリにより送信される第３のプローブ及びコントローラにより送信される第４のプローブを含む付加的なプローブを使用して各パブリックキーを交換することにより共有シークレットを確立することができる。コントローラ及びアクセサリの各々は、他の装置が同じシークレットを共有することを確認し、そしてその共有したシークレットを使用して更に別の暗号キーを発生することができる。その後、いずれかの装置が、その更に別の暗号キーを使用してメッセージを暗号化し、そしてその暗号化したメッセージを第５のプローブ内で送信することにより、他方の装置へメッセージを送信することができる。受信側の装置は、その暗号化されたメッセージを第５のプローブから抽出し、そしてその更に別の暗号キーを使用してそれを解読することができる。ある実施形態では、暗号化されたメッセージは、認証データと共に送信され、受信者がメッセージの発信点及び完全性を検証できるようにする。
【００１１】
本発明の第２の態様は、ワイヤレスインターフェイスを有するアクセサリに係る。ワイヤレスインターフェイスに結合されたプロセッサは、コントローラと通信して、プローブのシーケンスを使用してペアリングを確立し、そのペアリングを経てコントローラからワイヤレスネットワークに参加するためのクレデンシャルを得、そしてそのクレデンシャルを使用して、ワイヤレスネットワークに参加するように構成することができる。その後、コントローラも同じワイヤレスネットワークにあると仮定すれば、アクセサリ及びコントローラは、ワイヤレスネットワークを経て及び／又はペアリングを経て通信することができる。ある実施形態では、アクセサリは、最小限のユーザインターフェイスを有するか、又はユーザインターフェイスをもたず、必要に応じて、ユーザは、コントローラと対話することにより、アクセサリのペアリング及びネットワーク参加の振舞いを制御することができる。
【００１２】
本発明の別の態様は、ワイヤレスインターフェイス及びユーザインターフェイスを有するコントローラに係る。ワイヤレスインターフェイス及びユーザインターフェイスに結合されたプロセッサは、アクセサリと通信し、プローブのシーケンスを使用してペアリングを確立するように構成することができる。ペアリングの確立は、ユーザインターフェイスを経てユーザと通信して、アクセサリがワイヤレスネットワークに参加し及び／又はペアリングの確立に使用するアクセサリ用のパスワードを得ることが許されねばならない旨の確認をすることを含む。ペアリングが確立されると、コントローラは、ワイヤレスネットワークに参加するためのクレデンシャルをアクセサリへセキュアに（例えば、アクセサリへ送られるプローブに含まれる暗号化されたメッセージとして）送信することができる。アクセサリがワイヤレスネットワークに参加すると、コントローラ及びアクセサリは、ワイヤレスネットワークを経て及び／又はペアリングを経て通信することができる。
【００１３】
本発明の特徴及び効果を良く理解するために添付図面を参照して以下に詳細に本発明を説明する。
【図面の簡単な説明】
【００１４】
【図１】本発明のある実施形態に使用される動作原理を示す。
【図２】本発明の一実施形態によるコントローラのブロック図である。
【図３】本発明の一実施形態によるアクセサリのブロック図である。
【図４】本発明の別の実施形態によるアクセサリのブロック図である。
【図５】本発明のある実施形態に使用可能なプローブフレーム構造体のブロック図である。
【図６】本発明の一実施形態によりコントローラとのペアリングを確立するためにアクセサリにより使用可能なプロセスのフローチャートである。
【図７】本発明の一実施形態によりアクセサリとのペアリングを確立するためにコントローラにより使用可能なプロセスのフローチャートである。
【図８Ａ】本発明の一実施形態によりコントローラとアクセサリとの間にペアリングを確立するためのプロセスのフローチャートである。
【図８Ｂ】本発明の一実施形態によりコントローラとアクセサリとの間にペアリングを確立するためのプロセスのフローチャートである。
【図９Ａ】本発明の一実施形態によりコントローラとアクセサリとの間にペアリングを確立するためのプロセスのフローチャートである。
【図９Ｂ】本発明の一実施形態によりコントローラとアクセサリとの間にペアリングを確立するためのプロセスのフローチャートである。
【図１０】本発明の一実施形態によりコントローラに表示することのできるパスワードプロンプトを示す。
【図１１】本発明の一実施形態により送信者（アクセサリ又はコントローラのいずれか）により使用されて、送信者とペアリングされる受信者の装置へメッセージを送信できるプロセスを示す。
【図１２】本発明の一実施形態により受信者（コントローラ又はアクセサリのいずれか）により使用されて、受信者とペアリングされる送信者の装置からメッセージを受信できるプロセスを示す。
【図１３】本発明の一実施形態によりワイヤレスネットワークに参加するためにアクセサリにより使用できるプロセスのフローチャートである。
【図１４】本発明の一実施形態によりワイヤレスネットワークへのアクセサリの参加を容易にするためにコントローラにより実行できるプロセスのフローチャートである。
【図１５】本発明の一実施形態によりワイヤレスネットワークへのアクセサリの参加を容易にするためにコントローラにより実行できるプロセスのフローチャートである。
【発明を実施するための形態】
【００１５】
本発明の幾つかの実施形態は、ネットワークにまだ参加していない装置間でメッセージを交換するためのワイヤレスネットワークプロトコルのサポートをレバレッジすることにより２つの装置（ここでは「コントローラ」及び「アクセサリ」と称される）間にセキュアなワイヤレスリンク（ここでは「ペアリング」と称される）を確立するための技術を提供する。このようなメッセージは、ここでは「プローブ要求」及び「プローブ応答」又はより一般的に「プローブ」と称される。
【００１６】
例えば、ＩＥＥＥ８０２．１１規格では、「フレーム」と称される構造でメッセージが送信される。この規格は、参加するネットワークをサーチしている装置がブロードキャストできるプローブ要求フレームと、プローブ要求を受け取るアクセスポイントにより送信できるプローブ応答フレームとを定義する。このように、装置は、利用可能なワイヤレスネットワークを自動的に識別することができる。この規格によれば、プローブ要求又はプローブ応答要求は、「情報エレメント」を合体することができ、そのコンテンツは、特定のベンダーにより定義することができる。
【００１７】
本発明のある実施形態は、コンピュータ及び周辺装置を含む２つのＷｉＦｉイネーブル型装置間でのメッセージのシーケンスの交換をサポートするためにＩＥＥＥプローブ要求及びプローブ応答フレームのベンダー特有情報エレメントをレバレッジする。そのシーケンスは、２つの装置間に共有シークレットを確立するメッセージを含むことができ、共有シークレットが確立されると、２つの装置は、これに限定されないが、一方の装置が標準的ＷｉＦｉネットワークに参加できるようにする情報を含むその他のメッセージをセキュアに通信することができる。
【００１８】
適当に構成されたワイヤレスインターフェイスを伴う２つの装置は、ペアリングを確立することができる。ここに述べる幾つかの実施形態において、一方の装置（コントローラ）は、それとペアリングできる装置をサーチしていることを通知するために初期「ブラウジング」プローブをブロードキャストすることができる。このブラウジング信号は、８０２．１１プローブ要求フレームの情報エレメント又は別のタイプのプローブ要求内に含ませることができる。他方の装置（アクセサリ）は、アクセサリ識別情報を含む識別プローブでブラウジングプローブに応答することができる。その識別情報は、８０２．１１プローブ応答フレームの情報エレメント又は別のタイプのプローブ内に含ませることができる。２つの装置は、共有シークレットを確立し、及び／又は他方が同じ共有シークレットを有することを検証することができる。ある実施形態では、共有シークレットは、更に別のプローブを交換することにより確立及び／又は検証することができる。他の実施形態では、共有シークレットを確立するのに必要な全ての情報をプローブの初期交換において与えることができ、そしてユーザ確認のような別のメカニズムを通して共有シークレットを検証することができる。各装置は、次いで、共有シークレットを使用して、付加的な暗号及び認証キーを発生することができる。これら後者のキーは、付加的なプローブ要求及びプローブ応答を使用して装置間に送信できるメッセージコンテンツをセキュアなものにする（例えば、暗号化及び／又は認証する）のに使用することができる。例えば、セキュアなものにされた（例えば、暗号化された）メッセージコンテンツは、ＩＥＥＥ８０２．１１プローブ要求又はプローブ応答フレーム内の情報エレメントに含ませることができる。
【００１９】
ある実施形態では、装置間で交換されるセキュアなものとされたメッセージコンテンツは、セキュアなワイヤレスネットワークに参加するのに必要なクレデンシャル、例えば、ネットワーク名及びパスワード又はキーを含むことができる。例えば、限定されたユーザインターフェイスを伴うアクセサリ（例えば、ＷｉＦｉイネーブル型プリンタ）は、コントローラ（例えば、ＷｉＦｉイネーブル型パーソナルコンピュータ）とのペアリングを確立し、そのペアリングを経て、コントローラが現在参加しているワイヤレスネットワークのためのクレデンシャルを得ることができる。アクセサリは、次いで、これらのクレデンシャルを使用して、ワイヤレスネットワークに参加することができる。アクセサリがワイヤレスネットワークに参加すると、アクセサリ及びコントローラは、そのネットワークを経て互いに又は他の装置と通信することができる。この点において、ペアリングを終了できるか、又はペアリングリンクを側波帯通信経路として維持することができる。
【００２０】
ある実施形態では、ペアリングプロセスは、ほぼ自動化することができ、ユーザの介在をほとんど又は全く必要としない。ユーザの介在は、アクセサリとコントローラとの間のパスコード一致を検証するか、又は一方の装置（例えば、アクセサリ）により与えられたパスワードを他方の装置（例えば、コントローラ）に入力する程度の簡単なものとなる。
【００２１】
図１は、本発明のある実施形態に使用される動作原理を示す。図１には、コントローラ１００、この場合、パーソナルコンピュータと、アクセサリ１１０（例えば、プリンタ）及び１２０（例えば、ステレオスピーカ）とが示されている。コントローラ１００及びアクセサリ１１０、１２０は、各々、標準的ＷｉＦｉカードのようなワイヤレス通信インターフェイスと、種々の他のコンポーネントとを含み、その幾つかの例を以下に詳細に述べる。
【００２２】
コントローラ１００及びアクセサリ１１０は、プローブ要求及びプローブ応答に埋め込まれたメッセージを交換することによりセキュアな直接通信リンク（ペアリングとも称される）１１２を確立することができる。又、「プローブ」という語は、ここでは、プローブ要求及びプローブ応答の両方を交換可能に包含するように使用される。ペアリング１１２が確立されると、コントローラ１００及びアクセサリ１１０は、付加的なプローブを使用して、暗号化されたメッセージを互いに送信することができる。同様に、コントローラ１００及びアクセサリ１１０は、プローブに埋め込まれたメッセージを交換することによりペアリング１２２を確立することができる。ペアリング１２２が確立されると、コントローラ１００及びアクセサリ１１０は、付加的なプローブを使用して、暗号化されたメッセージを互いに送信することができる。
【００２３】
プローブは、ワイヤレス送信され、そしてアクセサリ１１０は、ペアリング１２２に関連したプローブを検出する。同様に、アクセサリ１２０は、ペアリング１１２に関連したプローブを検出することができる。セキュリティを与えるために、ペアリングが確立されると、特定のペアリングに特有の仕方でメッセージを暗号化することができ、従って、例えば、ペアリング１１２は、ペアリング１２２から異なる暗号キーを与えることができる。その結果、アクセサリ１１０は、ペアリング１２２に関連したプローブに含まれたメッセージを解読することができない。（同様に、アクセサリ１２０は、ペアリング１１２に関連したプローブに含まれたメッセージを解読することができない。）ペアリングに特有の暗号キーを確立することを含めて、ペアリングを確立するための技術の特定の例を以下に説明する。
【００２４】
図１に示すように、ある実施形態では、単一のコントローラを複数のアクセサリと同時にペアリングさせることができる。ある実施形態では、コントローラ１００は、一度に１つのペアリングのみを確立するプロセスにあり、しかしながら、１つのペアリング（例えば、ペアリング１２２）が確立されると、コントローラ１１０は、その第１のペアリングが利用可能である間に、第２のペアリング（例えば、ペアリング１２２）を確立することができる。他の実施形態では、コントローラ１００が受信メッセージのソースを確実に決定できるに充分な識別情報がプローブ要求及びプローブ応答に含まれ、且つ各アクセサリが、それ又は別の装置が受信メッセージのターゲットであるかどうか決定できる場合に、コントローラ１００は、複数のペアリングを同時に確立することができる。更に別の実施形態では、コントローラ１００は、一度に１つのアクセサリとのペアリングを確立することに限定される。従って、例えば、アクセサリ１１０がコントローラ１００とのペアリングを開始する場合、アクセサリ１２０は、ペアリング１１２が完全に確立されるまで待機することが要求される。別の実施形態において、アクセサリ１１０がそのペアリングを確立するプロセス中にアクセサリ１２０がコントローラ１００とのペアリングを開始するよう試みる場合に、コントローラ１００は、アクセサリ１２０からのペアリング要求に応じるためにアクセサリ１１０との通信を終了する。又、ペアリング動作をプライオリティ決めする他のルールを使用することもできる。
【００２５】
図１に示す装置は、例示に過ぎず、変更や修正が考えられることが明らかである。例えば、コントローラ１００は、パーソナルコンピュータとして描かれているが、コントローラ１００は、これに限定されないが、ラップトップコンピュータ、タブレットコンピュータ、スマートホン、移動通信又はコンピューティング装置、等の別のタイプの装置でもよい。更に、コントローラ１００は、顕著なコンピューティング能力を含む必要がなく、ここに述べるコントローラ動作を遂行できる装置であれば、コントローラとして使用することができる。
【００２６】
同様に、アクセサリ１１０及び１２０は、各々、プリンタ及び一対のステレオスピーカとして描かれているが、ワイヤレス通信インターフェイスを伴う装置を含む他のタイプのアクセサリも使用できる。アクセサリである装置の他の例は、周辺装置、カメラ、電子医療装置を含むパーソナル電子装置、及び家庭用機器を含む。コントローラ１００と同様に、ここに述べるアクセサリ動作を遂行できる装置は、アクセサリとして使用することができる。明らかなように、「アクセサリ」とは、ペアリングプロセス中に、アクセサリがコントローラから初期プローブ要求を受け取ってそれに応答するという点で、コントローラと区別される。
【００２７】
ある実施形態では、アクセサリは、限定されたユーザインターフェイスを有するか又はユーザインターフェイスをもたない装置である。例えば、スピーカ１２０は、音響を発生するが、ユーザアクションを検出できるコンポーネント（例えば、ボタン、ダイヤル、タッチ感知エリア、等）をもつ必要がない。同様に、プリンタ１１０は、紙に任意の画像を（具現化により白黒又はカラーで）形成できると共に、若干のキャラクタを表示できるディスプレイ又は単なる状態ライトしかもたず、即ちユーザ入力インターフェイスは、１つ又は２つの制御ボタンしか備えていない。このような限定された又は存在しないユーザインターフェイスは、従来のセキュアなワイヤレスネットワークに参加するのに要求されるネットワーク名、パスワード又は他のクレデンシャルをユーザが入力するのを困難又は不可能にする。ある実施形態では、アクセサリは、アクセサリとユーザとの対話がほとんど又は全くない状態で、ネットワーククレデンシャルをワイヤレスで且つセキュアに得ることができ、そのようなアクセサリをワイヤレスネットワークに接続するタスクを簡単にする。
【００２８】
ここで使用する「プローブ要求」及び「プローブ応答」（又は「プローブ」）という語は、一般的に、特定のワイヤレスネットワークの状況に関わらず送信されるメッセージを指す。これらメッセージは、送信側装置の識別及び／又は受信側装置に関する情報の要求を含むことができる。これらメッセージは、ブロードキャストすることができ、又はある実施形態では、送信者が受信者の識別情報を有する場合に、あるメッセージをユニキャスト（即ち、特定の受信者に宛てる）ことができる。プローブは、一般的に、平文で送信される（が、以下に述べる幾つかの実施形態では、平文のプローブ要求又はプローブ応答に暗号化メッセージを埋め込むことができる）。ＩＥＥＥ８０２．１１適合のプローブ要求及びプローブ応答フレームを使用できるが、本発明は、ＩＥＥＥ８０２．１１規格に適合するそれらの特定フレーム又はネットワークに限定されない。
【００２９】
図２は、本発明の一実施形態によるコントローラ２００のブロック図である。コントローラ２００（図１のコントローラ１００を具現化する）は、プロセッサ２０２、ユーザインターフェイス２０４、ワイヤレスインターフェイス２０６、及び記憶媒体２０８のような種々のコンポーネントを含むことができる。
【００３０】
１つ以上の集積回路として具現化できるプロセッサ２０２（例えば、従来のマイクロプロセッサ又はマイクロコントローラ）は、コントローラ２００の動作を制御することができる。種々の実施形態において、プロセッサ２０２は、プログラムコードに応答して種々のプログラムを実行することができ、又、複数の同時実行プログラム又はプロセスを維持することができる。所与の時間に、実行されるべきプログラムコードの幾つか又は全部をプロセッサ２０２に常駐させることができ及び／又は記憶媒体２０８のような記憶媒体に常駐させることができる。
【００３１】
適当なプログラミングを通して、プロセッサ２０２は、コントローラ２００のための種々の機能を与えることができる。例えば、ユーザインターフェイス２０４により与えられるユーザ入力信号に応答して、プロセッサ２０２は、アプリケーションプログラム（ワードプロセッサ、ウェブブラウザ、等）を起動し、記憶されたメディアコンテンツを再生し、ネットワーク接続を確立又は終了するようにワイヤレスインターフェイス２０６を制御し、或いはデータ及び他の信号を送受信し、等々を行うことができる。
【００３２】
ユーザインターフェイス２０４は、キーボード、タッチパッド、タッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、マイクロホン、等の入力装置と、ビデオスクリーン、インジケータライト、スピーカ、ヘッドホーンジャック、等の出力装置を、サポート電子装置（例えば、デジタル／アナログ又はアナログ／デジタルコンバータ、信号プロセッサ、等）と一緒に含むことができる。ユーザは、ユーザインターフェイス２０４の入力装置を操作して、コントローラ２００の機能を呼び出すことができると共に、ユーザインターフェイス２０４の出力装置を経てコントローラ２００からの出力を見及び／又は聞くことができる。
【００３３】
ワイヤレスインターフェイス２０６は、コントローラ２００のデータ通信能力を与えることができる。ある実施形態では、ワイヤレスインターフェイス２０６は、（例えば、３Ｇ、４Ｇ又はＥＤＧＥのような進歩型データネットワーク技術、ＷｉＦｉ（ＩＥＥＥ８０２．１１規格群）、又は他のワイヤレス通信技術、或いはその組み合わせを使用して）ワイヤレスボイス及び／又はデータネットワークにアクセスするための高周波（ＲＦ）トランシーバコンポーネントを含むことができる。ワイヤレスインターフェイス２０６は、ハードウェア（例えば、アンテナ、変調器／復調器、エンコーダ／デコーダ、並びに他のアナログ及び／又はデジタル信号処理回路）及びソフトウェアコンポーネントの組み合わせを使用して実施することができる。
【００３４】
記憶媒体２０８は、例えば、ディスク、フラッシュメモリ、又は他の不揮発性記憶媒体を使用して具現化することができる。ある実施形態では、記憶媒体２０８は、プロセッサ２０２により実行されるべきプログラムコード（アプリケーション及びオペレーティングシステムプログラムを含む）を記憶することができる。このコードは、以下に述べるように、アクセサリとのペアリングを確立することに関連したプログラムコードを含むことができる。又、記憶媒体２０８は、コントローラ２００により再生されるか又は別の装置へストリーミングされるメディアアセット（オーディオ、ビデオ、静止画像、等）、パーソナル情報電子ドキュメント、及び／又はユーザのためのデータファイル、並びに他の情報のようなデータを記憶することもできる。ある実施形態では、記憶媒体２０８は、コントローラ２００がワイヤレスインターフェイス２０６を経て接続できる特定のワイヤレスネットワークに関連したネットワーククレデンシャル２１０（例えば、ネットワーク名及びパスワード）を記憶することができる。
【００３５】
コントローラ２００は、例示に過ぎず、変更や修正が考えられることは明らかである。コントローラ２００は、ここに詳細に述べない能力（例えば、移動電話、衛星ベースのナビゲーション）を有してもよく、又、メディア再生能力を有する必要はない。「コントローラ」という語は、ここでは、セキュアなワイヤレスリンク又はペアリングの要求に応答して、その後、別の装置とのペアリングを確立できる装置を一般的に指す。
【００３６】
ある実施形態では、コントローラ２００は、他の入力／出力チャンネルを使用してユーザ又は別の装置と情報を交換することもできる。他の入力／出力チャンネルは、例えば、オーディオラインイン又はラインアウト経路におけるアナログ信号（例えば、オーディオジャック）；カメラ、バーコードリーダー、又は画像分析器と組み合わせた他の画像形成装置（入力用）；マシン読み取り可能な画像を発生するディスプレイスクリーン（出力用）；加速度計、ジャイロスコープ又は接近検出器のようなセンサ（これを経て装置の動き、方向又は位置を使用して、コントローラ２００へ情報を入力できる）；非可視光（例えば、赤外線）検出器及び／又は送信器；超音波検出器及び／又は送信器；等々を含む。
【００３７】
図３は、本発明の一実施形態によるアクセサリ３００のブロック図である。このアクセサリ３００（例えば、図１のプリンタアクセサリ１１０を具現化する）は、プロセッサ３０２、ユーザインターフェイス３０４、ワイヤレスインターフェイス３０６、記憶媒体３０８、及びプリンティング要素３１０を含むことができる。
【００３８】
１つ以上の集積回路として具現化できるプロセッサ３０２（例えば、従来のマイクロプロセッサ又はマイクロコントローラ）は、アクセサリ３００の動作を制御することができる。種々の実施形態において、プロセッサ３０２は、プログラムコードに応答して種々のプログラムを実行することができ、又、複数の同時実行プログラム又はプロセスを維持することができる。所与の時間に、実行されるべきプログラムコードの幾つか又は全部をプロセッサ３０２に常駐させることができ及び／又は記憶媒体３０８のような記憶媒体に常駐させることができる。
【００３９】
ユーザインターフェイス３０４は、従来のプリンタのような単純なインターフェイスである。例えば、あるプリンタは、少数のボタン及び状態インジケータライトとの最小限のインターフェイスをなす。他のプリンタは、プリンタ設定の調整、ペーパー又はペーパー経路の選択、ジョブのキャンセル、故障発見、等を容易にするための双方向メニューをサポートするより精巧なインターフェイス（例えば、文字列ディスプレイ又は他のディスプレイをキーパッド、タッチスクリーン、等と一緒に含む）をなす。ある実施形態では、ユーザインターフェイス３０４のディスプレイは、以下に述べるように、ペアリングを確認するための情報をユーザに与えるのに使用される。
【００４０】
ワイヤレスインターフェイス３０６は、アクセサリ３００のための少なくともデータ通信能力を与えることができる。ある実施形態において、ワイヤレスインターフェイス３０６は、（例えば、３Ｇ、４Ｇ又はＥＤＧＥ、ＷｉＦｉ、又は他の移動通信技術、或いはその組み合わせを使用して）ワイヤレスデータネットワークにアクセスするための高周波（ＲＦ）トランシーバコンポーネントを含むことができる。ワイヤレスインターフェイス３０６は、ハードウェア（例えば、アンテナ、変調器／復調器、エンコーダ／デコーダ、並びに他のアナログ及び／又はデジタル信号処理回路）及びソフトウェアコンポーネントの組み合わせを使用して具現化することができる。
【００４１】
記憶媒体３０８は、例えば、ディスク、フラッシュメモリ、又は他の不揮発性記憶媒体を使用して具現化することができる。ある実施形態では、記憶媒体３０８は、プロセッサ３０２により実行されるべきプログラムコード（例えば、プリンティング制御プログラムを含む）を記憶することができる。このコードは、以下に述べるように、コントローラとのペアリングを確立することに関連したプログラムコードを含むことができる。
【００４２】
プリンティング要素３１０は、種々の電子的及び／又は機械的コンポーネント、例えば、ペーパーフィーダー、インクジェット装置、レーザープリンティング装置、等を含む。
【００４３】
図４は、本発明の別の実施形態によるアクセサリ４００のブロック図である。このアクセサリ４００（例えば、図１のスピーカアクセサリ１２０を具現化する）は、プロセッサ４０２、ワイヤレスインターフェイス４０６、記憶媒体４０８、及びスピーカ４１０を含む。
【００４４】
１つ以上の集積回路として具現化できるプロセッサ４０２（例えば、従来のマイクロプロセッサ又はマイクロコントローラ）は、アクセサリ４００の動作を制御することができる。種々の実施形態において、プロセッサ４０２は、プログラムコードに応答して種々のプログラムを実行することができ、又、複数の同時実行プログラム又はプロセスを維持することができる。所与の時間に、実行されるべきプログラムコードの幾つか又は全部をプロセッサ４０２に常駐させることができ及び／又は記憶媒体４０８のような記憶媒体に常駐させることができる。
【００４５】
ワイヤレスインターフェイス４０６は、アクセサリ４００のための少なくともデータ通信能力を与えることができる。ある実施形態において、ワイヤレスインターフェイス４０６は、（例えば、３Ｇ、４Ｇ又はＥＤＧＥ、ＷｉＦｉ、又は他の移動通信技術、或いはその組み合わせを使用して）ワイヤレスデータネットワークにアクセスするための高周波（ＲＦ）トランシーバコンポーネントを含むことができる。ワイヤレスインターフェイス４０６は、ハードウェア（例えば、アンテナ、変調器／復調器、エンコーダ／デコーダ、並びに他のアナログ及び／又はデジタル信号処理回路）及びソフトウェアコンポーネントの組み合わせを使用して具現化することができる。
【００４６】
記憶媒体４０８は、例えば、ディスク、フラッシュメモリ、又は他の不揮発性記憶媒体を使用して具現化することができる。ある実施形態では、記憶媒体４０８は、プロセッサ４０２によって実行されるべきプログラムコード（例えば、ワイヤレスインターフェイス４０６を経て受け取られたデジタルオーディオをデコードすることに関連したコードを含む）を記憶することができる。このコードは、以下に述べるように、コントローラとのペアリングを確立することに関連したプログラムコードを含むことができる。ある実施形態では、記憶媒体４０８は、装置ファームウェアの一部分であるか又は装置へハードコード化される装置パスワード４１２も記憶することができる。装置パスワード４１２は、以下に述べるように、ペアリングを確立するときに使用できる。
【００４７】
スピーカ４１０は、増幅器、トランスジューサ、スピーカコーン、出力ジャック、等の種々の電子的及び／又は機械的コンポーネントを含む。ある実施形態では、プロセッサ４０２は、ワイヤレスインターフェイス４０６を経てデジタルオーディオデータを受け取り、そのデータをアナログ信号に変換し、そしてそのアナログ信号をスピーカ４１０内のスピーカドライバに与えることができる。又、ある実施形態では、スピーカ４１０は、補助入力ジャック（例えば、標準的３．５ｍｍオーディオジャック）も含み、その経路を経てアナログオーディオ信号を受け取ることもできる。
【００４８】
アクセサリ３００とは異なり、アクセサリ４００は、ユーザインターフェイスを有するものとして示されておらず、実際に、アクセサリは、ユーザインターフェイスを有する必要性がない。ある実施形態では、ユーザインターフェイスは、例えば、パワースイッチ、入力ソースセレクタ、ボリュームコントロール、等に限定される。
【００４９】
アクセサリ３００及び４００は、例示に過ぎず、変更や修正が考えられることが明らかである。ここで使用する「アクセサリ」という語は、一般的に、コントローラとのペアリングを確立できる装置を指し、ペアリングにより与えられる通信リンクは、これに限定されないが、コントローラが既に属しているネットワークへのアクセサリの追加を容易にすることを含む任意の目的に使用できる。ある実施形態では、アクセサリの機能に関連したデータ及び制御信号は、ペアリングリンクを使用して送信することができる。従って、アクセサリは、プリンティング、サウンドの再生、ビデオの表示、コントローラへのデータ（例えば、センサの読み）の供給、コントローラからのデータの受け取り及び処理、等を含む種々の目的に使用することができる。アクセサリは、スピーカやカメラのような周辺装置に限定されず、他の例として、家庭用機器（例えば、冷蔵庫、従来のオーブン、マイクロ波オーブン、洗濯機、等）や、パーソナル電子装置（例えば、トレーニングモニタ、電子医療機器）が含まれる。ワイヤレスインターフェイス及び適当な構成をもついかなる装置もアクセサリとして動作できる。
【００５０】
更に、コントローラ及びアクセサリは、図２ないし４に示す特定のブロックを参照して説明したが、これらのブロックは、説明の便宜上定義されたもので、コンポーネントパーツの特定の物理的配列を意味するものではないことを理解されたい。更に、ブロックは、物理的な個別のコンポーネントに対応する必要がない。又、ブロックは、例えば、プロセッサをプログラムするか又は適当な制御回路を設けることにより種々の動作を遂行するように構成することができ、そして種々のブロックは、初期構成がどのように得られるかに基づいて構成可能であってもなくてもよい。本発明の実施形態は、回路及びソフトウェアの任意の組み合わせを使用して具現化される電子装置を含む種々の装置において実現することができる。
【００５１】
ここに述べるように、コントローラ及びアクセサリは、プローブを交換することによりワイヤレスペアリングを確立することができる。図５は、本発明のある実施形態に使用できるプローブフレーム構造体５００のブロック図である。
【００５２】
このプローブフレーム構造体５００は、多数のフィールドを含み、ある実施形態では、これらフィールドの幾つか又は全部がＩＥＥＥ８０２．１１規格により規定されたフレーム構造体に対応する。例えば、フレーム制御フィールド５０２は、フレームに関する一般的情報、例えば、プロトコルバージョン、フレームのタイプ（例えば、それをプローブ要求又はプローブ応答フレームとして識別する）、及び受信したワイヤレス信号ストリームを解釈するために受信側装置により使用できる他の情報を与えることができる。期間フィールド５０４は、例えば、ＩＥＥＥ８０２．１１規格に定義された期間情報を与えることができる。アドレスフィールド５０６は、フレーム５００の送信者及び意図される受信者のアドレス、並びに、例えば、ＩＥＥＥ８０２．１１規格で指定された他のアドレス情報を指定することができる。シーケンスフィールド５０８は、複数の受信した断片からフレームを再構成するために使用できるシーケンス情報を含むことができる。データフィールド５１０は、受信者により処理されるべきデータを含むフレームコンテンツを含むことができる。チェック和フィールド５１２は、エラー検出及び／又はエラー修正コード、例えば、３２ビットの繰り返し冗長チェックを含むことができる。
【００５３】
プローブ要求又はプローブ応答フレームに対するデータフィールド５１０は、１つ以上の情報エレメント５２０を含むことができる。各情報エレメント（ＩＥ）５２０は、種々のフィールドを含む構造体である。エレメントＩＤフィールド５２２は、ＩＥのタイプを識別することができる。例えば、情報エレメントは、標準エレメントであるか又はベンダー特有エレメントであり、そしてエレメントＩＤフィールド５２２は、ＩＥ５２０が標準的であるかベンダー特有であるか指示するのに使用できる。ここに述べる実施形態では、ベンダー特有の情報エレメントを仮定するが、ここに述べる情報エレメントが将来の規格の一部分となることが明らかである。長さフィールド５２４は、ＩＥ５２０の長さを（例えば、バイトで）指示する。ベンダーフィールド５２６は、ベンダー特有の情報エレメント５２０に関連したベンダーの独特の識別子を含むことができる。ベンダーは、例えば、ここに述べるペアリング動作を遂行することのできるコントローラの製造者である。ある実施形態では、フィールド５２６のベンダー識別子は、ＩＥＥＥにより指定される２４ビットの組織独特識別子（ＯＵＩ）であり、他の識別子も使用できる。サブタイプフィールド５２８は、ベンダー指定のサブタイプを与える。ある実施形態では、サブタイプフィールド５２８は、全てのペアリング関連プローブにわたって固定値を有し、そして情報エレメント５２０がペアリングに使用するためのものであることを指示するのに使用される。
【００５４】
サブＩＥフィールド５３０は、１つ以上のサブＩＥ５４０を含むことができる。図示されたように、サブＩＥ５４０は、サブエレメントにおいて与えられる情報のタイプを指示するタイプ識別子フィールド５４２を与える。与えられる情報のタイプは、例えば、ＩＥ５２０に関連した動作（例えば、ペアリングすべきアクセサリをサーチし、キーをネゴシエーションし、共有シークレットを認証し、ワイヤレスネットワーククレデンシャルのような暗号化されたメッセージを送信する）を識別するＯＰコード；ターゲット装置のアドレス；セッション識別子；シーケンス番号；暗号キー；ランダムナンス；認証又はデジタルシグネチャー；暗号化データ；装置能力及び／又は構成情報；装置名（製造者及び／又はモデル名）；ネットワーククレデンシャル（例えば、以下に述べるように暗号化できる）を含む。種々の情報タイプについての使用例を以下に説明する。
【００５５】
長さフィールド５４４は、サブＩＥ５４０の長さを指示するのに使用できる。ペイロードフィールド５４６は、タイプ識別子フィールド５４２により識別された情報を含むことができる。
【００５６】
ここに述べるプローブフォーマットは、例示に過ぎず、変更や修正が考えられることが明らかである。ある実施形態では、プローブフレームは、プローブ要求及びプローブ応答フレームを定義するＩＥＥＥ８０２．１１規格に適合するものであるが、他のプローブフォーマットも使用できる。少なくとも一方の装置がワイヤレスネットワークに参加しない場合に装置間で情報を送信するのに使用できるデータ構造は、プローブとして使用することができる。
【００５７】
アクセサリとコントローラとの間にペアリングを確立するのに使用できるプロセスの例を以下に説明する。
【００５８】
図６は、本発明の一実施形態によりコントローラとのペアリングを確立するためにアクセサリにより使用可能なプロセッサ６００のフローチャートである。このプロセス６００は、ブロック６０２において、アクセサリ（例えば、アクセサリ３００又はアクセサリ４００）がペアリングの生成を試みなければならないと決定したときにスタートする。ある実施形態では、この決定は、アクセサリのスタートアッププロセス中に自動的に行われ、他の実施形態では、ユーザは、アクセサリの制御器を操作して、プロセスを開始することができる。更に別の実施形態では、スタートアップ時にペアリングを自動的に生成するよう試みるべきか又は特定のインストラクションを待機すべきかは、アクセサリの構成可能なパラメータである。
【００５９】
ブロック６０４において、アクセサリは、コントローラが、それとペアリングできるアクセサリをサーチしている（又はブラウジングしている）ことを指示するコントローラからの「ブラウジング」プローブ要求を聴取し受け取ることができる。ある実施形態では、このブラウジングプローブ要求は、上述したプローブフレーム５００として受け取ることができる。この例において、プローブフレーム５００は、コントローラが、それとペアリングするアクセサリをサーチし又はブラウジングしていることを指示するＯＰコードを（例えば、サブＩＥフィールド５３０内に）含むことができる。ブラウジングプローブ要求は、例えば、受信者アドレスを指定しないことによりブロードキャストできる。ＩＥＥＥ８０２．１１適合ネットワークの場合には、アクセスポイントだけがプローブ要求を聴取しそしてそれに応答し、他の装置は、それを無視するのが典型的である。しかしながら、プローブ要求は、明瞭にブロードキャストされるので、アクセスポイント以外の装置も、プローブ要求を検出してそれに応答することができる。
【００６０】
ブロック６０６において、アクセサリは、コントローラへプローブ応答を送信することができる。ある実施形態では、プローブ応答は、上述したプローブフレーム５００として送信することができる。この例では、プローブフレーム５００は、アクセサリに関する識別情報、例えば、製造者名、モデル名、及びアクセサリがキーネゴシエーションを動的に遂行できるか又は記憶されたパスワードに基づいて遂行できるかといった特定能力情報を（例えば、サブＩＥフィールド５３０内に）含むことができる。プローブ応答は、ブロック６０４においてプローブ要求を受け取ったところのコントローラへアドレスされる。ブロック６０４において複数のプローブ要求が受け取られた場合には、アクセサリがコントローラを選択することができる。ある実施形態では、アクセサリは、プローブ要求を受け取ったところの最初のコントローラを選択し、他の実施形態では、最後のコントローラを選択する。更に別の実施形態では、他の選択ルールを使用することもできるし、或いはアクセサリがユーザを促すことのできるユーザインターフェイスを有する場合には、アクセサリは、アクセサリがペアリングすべきコントローラを選択するようにユーザを促すこともできる。
【００６１】
ブロック６０８において、アクセサリ及びコントローラは、パブリック暗号キーを確立し交換することができる。ある実施形態では、パブリックキーは、付加的なプローブを使用して交換される。プローブフレーム５００が使用される場合には、キーをサブＩＥフィールド５３０にサブＩＥとして組み込むことができ、又、他のフォーマットを使用することもできる。ある実施形態では、キーは、動的にネゴシエーションすることができ、他の実施形態では、キーの発生は、アクセサリに関連した固定パスワードに基づいて行うことができる。これら技術の各々を使用するペアリングプロセスの例を以下に説明する。
【００６２】
ブロック６１０において、アクセサリは、共有シークレットを計算し、そしてコントローラが同じ共有シークレットを有することを確認することによりコントローラを有効なものとすることができる。例えば、アクセサリ及びコントローラは、各々、共有シークレットに基づいてある情報を表示することができる。両表示は、両方が同じシークレットを有する場合に一致すべきであり、ユーザは、一致を検証することが求められる。或いは又、アクセサリ及びコントローラは、各々、ランダムチャレンジを使用して、他方が同じ共有シークレットを有することを検証してもよい。これらの技術の各々を使用するペアリングプロセスの例を以下に説明する。
【００６３】
ブロック６１２において、アクセサリは、共有シークレットに基づき付加的な暗号及び認証キーを発生することができる。ブロック６１４において、アクセサリは、付加的なキーを使用してコントローラとセキュアに通信することができる。例えば、アクセサリは、キーを使用して、メッセージを暗号化し、次いで、その暗号化されたメッセージをプローブ内の情報エレメント（又は他のデータアイテム）において送信することができる。同様に、アクセサリは、暗号化されたメッセージを含むプローブをコントローラから受け取り、キーを使用してそのメッセージを解読し認証することができる。ブロック６１４におけるペアリングを通る通信は、不定に継続することができ、通信が完了したときに、プロセス６００は、終了となる。
【００６４】
図７は、本発明の実施形態によりアクセサリとのペアリングを確立するためにコントローラにより使用できるプロセス７００のフローチャートである。このプロセス７００は、ブロック７０２において、コントローラが、アクセサリとのペアリングを試みなければならないことを決定したときにスタートする。例えば、ユーザは、ペアリングすべきアクセサリをサーチするようにコントローラに命令することができる。
【００６５】
ブロック７０４において、コントローラは、ペアリングを行うことのできるアクセサリに対してコントローラがブラウジングすることを指示するブラウジングプローブ要求をブロードキャストする。ある実施形態では、このプローブ要求は、上述したプローブフレーム５００としてブロードキャストされる。この例では、プローブフレーム５００は、コントローラが、それとペアリングされるアクセサリをサーチするか又はブラウジングすることを指示するＯＰコードを（例えば、サブＩＥフィールド５３０内に）含む。プローブ要求は、例えば、受信者のアドレスを指定しないことにより、それがブロードキャストされるという指示を含むことができる。
【００６６】
ブロック７０６において、コントローラは、アクセサリからプローブ応答を受け取る。ある実施形態では、プローブ応答は、上述したプローブフレーム５００として送信することができる。この例では、プローブフレーム５００は、アクセサリに関する識別情報、例えば、製造者名、モデル名、及びアクセサリがキーネゴシエーションを動的に遂行できるか又は記憶されたパスワードに基づいて遂行できるかといった特定能力情報を（例えば、サブＩＥフィールド５３０内に）含むことができる。プローブ応答は、コントローラへアドレスされる。ある実施形態では、コントローラは、ブロック７０６において、複数のプローブ応答を受け取ることができる。
【００６７】
ある実施形態では、コントローラは、更に別の処理の前にユーザを促すことができる。例えば、コントローラは、アクセサリを接続すべきかどうかユーザに尋ねるメッセージを表示することができ、このメッセージは、プローブ要求から抽出されたアクセサリ識別情報を含むことができる。ユーザがこの接続を許す場合には、コントローラが処理を進めることができる。複数のアクセサリからのプローブ応答がブロック７０６において受け取られた場合には、コントローラは、ペアリングすべきアクセサリを選択するようにユーザに求めることができる。他の実施形態では、コントローラは、最初にユーザの許可を得ずにペアリングを進めることができる。
【００６８】
ブロック７０８において、コントローラ及びアクセサリは、パブリック暗号キーを確立し交換することができる。ある実施形態では、パブリックキーは、付加的なプローブを使用して交換される。プローブフレーム５００が使用される場合には、キーは、サブＩＥフィールド５３０にサブＩＥとして組み込まれ、又、他のフォーマットも使用できる。ある実施形態では、キーは、動的にネゴシエーションすることができ、他の実施形態では、キーの発生は、アクセサリに関連した固定パスワードに基づいて行うことができる。これら技術の各々を使用するペアリングプロセスの例を以下に説明する。
【００６９】
ブロック７１０において、コントローラは、共有シークレットを計算し、そしてアクセサリが同じ共有シークレットを有することを確認することによりアクセサリを有効なものとすることができる。例えば、コントローラ及びアクセサリは、両方が同じシークレットを有する場合に一致すべき共有シークレットに基づいてある情報を表示し、そしてユーザは、一致を検証することができる。或いは又、コントローラ及びアクセサリは、各々、ランダムチャレンジを使用して、他方が同じ共有シークレットを有することを検証してもよい。これらの技術の各々を使用するペアリングプロセスの例を以下に説明する。
【００７０】
ブロック７１２において、コントローラは、共有シークレットに基づいて付加的な暗号及び認証キーを発生する。ブロック７１４において、コントローラは、付加的なキーを使用してアクセサリとセキュアに通信することができる。例えば、コントローラは、キーを使用してメッセージを暗号化し、次いで、その暗号化されたメッセージをプローブ内の情報エレメント（又は他のデータアイテム）において送信することができる。同様に、コントローラは、暗号化されたメッセージを含むプローブをアクセサリから受け取り、キーを使用してそのメッセージを解読し認証することができる。ブロック７１４において与えられるセキュアなペアリングリンクを通る通信は、不定に継続することができ、通信が完了したときに、プロセス７００は、終了となる。
【００７１】
プロセス６００及び７００は、例示であり、変更や修正が考えられることが明らかである。順次のものとして説明したステップは、並列に実行されてもよく、ステップの順序を変えてもよく、そしてステップは、変更、結合、追加、又は省略されてもよい。例えば、プローブ要求及びプローブ応答の種々のシーケンスを使用して、ペアリングのためのセキュリティ（キー、共有シークレット、等）を確立することができる。種々の暗号技術及びアルゴリズムを使用することができ、幾つかの例を以下に説明する。プローブは、ＩＥＥＥ８０２．１１に適合するプローブ要求及びプローブ応答フレームであるか、或いは他のワイヤレスネットワークプロトコルに適合する他のフォーマットのメッセージである。一般的に、プローブは、明瞭に（即ち、暗号化されずに）送信されると予想され、適当な能力をもつ装置がメッセージを読み取ることができる。メッセージコンテンツを平文プローブ内に（例えば、情報エレメント又は他のデータアイテムとして）埋め込む前に、それを、例えば、上述したように暗号化することにより、ペアリング内にセキュリティを与えることができる。
【００７２】
ある実施形態では、２つ程度のプローブを使用して、ペアリングを完了することができる。例えば、コントローラにより送られる初期プローブ要求は、コントローラのパブリックキーを含むことができ、そしてアクセサリにより送られる初期プローブ応答は、アクセサリのパブリックキーを含むことができる。（従って、ブロック６０８は、ブロック６０４及び６０６と一緒に行うことができ、同様に、ブロック７０８は、ブロック７０４及び７０６と一緒に行うことができる。）又、共有シークレットを有効とすることも、更に別のプローブを交換せずに行うことができ、その例を以下に説明する。
【００７３】
プロセス６００及び７００を使用してセキュアなペアリングリンクが確立されると、どのタイプの情報もそのリンクを経て通信することができ、具現化に基づく帯域巾制約しか受けない。ある実施形態では、アクセサリは、ブロック６１４において与えられたペアリングを使用して、ワイヤレスネットワークのクレデンシャル（例えば、保護されたＩＥＥＥ８０２．１１ネットワークの名前及びパスワード又はキー）をコントローラから得ることができ、次いで、アクセサリは、これらクレデンシャルを使用して、そのネットワークに参加することができる。アクセサリがワイヤレスネットワークに参加すると、ペアリングリンクを通る通信を切断することができるが、ある実施形態では、そのような通信を続けて、通信側波帯を与えることができる。
【００７４】
ペアリングリンクを経て通信できる他のタイプの情報は、アクセサリ、コントローラ又はその両方のための構成パラメータ及び／又は制御信号を含む。従って、例えば、ペアリングされたアクセサリは、（プローブ内においてコントローラへコマンドを送信することにより）コントローラのためのリモートコントロール装置として働くことができ、或いはその逆のことも言える。プローブにより与えられる帯域巾が充分である場合には装置間にデータをストリーミングすることができる。（現在のＩＥＥＥ８０２．１１規格については、プローブ要求及びプローブ応答フレームにより与えられる帯域巾は、一般に、高品質メディアストリーミングにとって充分なものではなく、他の具現化で、より高い帯域巾を与えることができる。）
【００７５】
上述したように、ある実施形態では、ブロック６０８及び６１０（又は７０８及び７１０）において動的なキーネゴシエーション及び確認が与えられ、他の実施形態では、固定装置パスワードに基づいてキーネゴシエーション及び確認が与えられる。図８Ａ−８Ｂは、本発明の実施形態による両方の代替え形態を与えるプロセス８００のフローチャートである。
【００７６】
ブロック８０２において、コントローラ（例えば、コントローラ２００）は、それがペアリングするアクセサリを探索するため、例えば、ユーザからインストラクションを受け取ることができる。例えば、コントローラにより実行されるアプリケーションプログラムは、ユーザが、ペアリングに利用できるアクセサリをサーチするようコントローラに命令するために（例えば、メニューから選択することにより）操作できる制御器を伴うユーザインターフェイスを含むことができる。他の実施形態では、アクセサリを探索するためのインストラクションがコントローラの動作中に自動的に発生され（例えば、規則的な間隔で）、ユーザの開始は必要とされない。ブロック８０４において、コントローラは、ペアリングを行うことのできるアクセサリをブラウジングするためにプローブ要求をブロードキャストすることができる（例えば、上述したように）。これは、一般的に、上述したプロセス７００のブロック７０４と同様である。
【００７７】
ブロック８０６において、アクセサリは、コントローラからプローブ要求を受け取る。ブロック８０８において、アクセサリは、それに応答して、プローブ応答（例えば、上述した）をコントローラへ送信する。これは、上述したプロセス６００のブロック６０６と一般的に同様である。
【００７８】
ブロック８１０において、コントローラは、アクセサリからプローブ応答を受け取る。ブロック８１２において、コントローラは、ペアリングを進めるべきかどうかユーザと確認することができる。上述したように、ある実施形態では、コントローラは、アクセサリを接続すべきかどうかユーザに尋ねるメッセージを表示することができ、このメッセージは、プローブ要求から抽出されたアクセサリ識別情報を含むことができる。コントローラが複数のアクセサリからプローブ応答を受け取る場合には、ブロック８１２は、ペアリングすべきアクセサリを選択するようにユーザを促すことを含む。ペアリングを進めるべきであることをユーザが確認すると仮定すれば、コントローラは、処理を進めることができる。他の実施形態では、コントローラは、最初にユーザの許可を得ることなくペアリングを進めることができ、ブロック８１２を省略することができる。
【００７９】
ブロック８１４において、コントローラは、アクセサリが動的なキーネゴシエーションを使用するか又は固定パスワードベースのキーを使用するか決定することができる。アクセサリが動的なキーネゴシエーションを使用しない場合には、図９Ａ−９Ｂに示して以下に説明するシーケンスを、ブロック８１６に示すように使用することができる。
【００８０】
動的なキーネゴシエーションについては、プロセス８００の残り部分が図８Ｂに示されている。ブロック８２２において、コントローラは、そのプライベートキー（ＣＰＲＩＶ）及びパブリックキー（ＣＰＵＢ）を発生することができる。１つの実施形態では、コントローラは、３２バイトの暗号的に強力なランダムデータを発生し、そのデータを、Ｃｕｒｖｅ２５５１９（http://cr.yp.to/ecdh.htmlで文書化された楕円曲線ディフィー・ヘルマン解決策）のような暗号アルゴリズムを使用してプライベートキーＣＰＲＩＶへ変換し、そしてＣＰＲＩＶからパブリックキーＣＰＵＢを計算することができる。パブリック／プライベートキー対を発生するための他の技術に置き換えることもできる。
【００８１】
ブロック８２４において、コントローラは、プローブ要求を使用して、パブリックキーＣＰＵＢをアクセサリへ送信することができる。このパブリックキーＣＰＵＢは、情報エレメント又は他のデータアイテムとして含ませることができる。パブリックキーは、平文テキストとして送信することができる。又、コントローラは、プローブ要求の１つ以上の情報エレメント内に他の情報、例えば、ペアリングセッションに関連した全てのプローブ要求及びプローブ応答にその後含ませることのできる独特のセッションＩＤ、を含むこともできる。セッションＩＤを使用すると、コントローラ及びアクセサリは、ペアリングリンクの状態（例えば、キーネゴシエーションが進行中であるか又は完了したか）を決定し、それに応じて、受け取ったプローブ要求及びプローブ応答を処理する上で助けとなる。ある実施形態では、他の情報も、プローブ応答を特定のプローブ要求に一致させることのできる独特のシーケンス識別子（セッション内で独特）を含むことができる。
【００８２】
ブロック８２６において、アクセサリは、コントローラのパブリックキーＣＰＵＢを含むプローブ要求を受け取る。アクセサリは、ブロック８２８において、それ自身のプライベートキー（ＡＰＲＩＶ）及びパブリックキー（ＡＰＵＢ）を発生する。１つの実施形態では、アクセサリは、３２バイトの暗号的に強力なランダムデータを発生し、そのデータを、Ｃｕｒｖｅ２５５１９のような暗号アルゴリズムを使用してプライベートキーＡＰＲＩＶへ変換し、そしてＡＰＲＩＶからパブリックキーＡＰＵＢを計算することができる。又、パブリック／プライベートキー対を発生するための他の技術に置き換えることもでき、一般的に、ブロック８２２及び８２８では、適合する技術を使用しなければならない。ブロック８３０では、アクセサリは、プローブ応答を使用してコントローラへそのパブリックキーＡＰＵＢを送信することができる。
【００８３】
ブロック８３２において、コントローラは、プローブ応答を受け取り、ＡＰＵＢを抽出することができる。この段階において、コントローラ及びアクセサリは、各々、両パブリックキーＡＰＵＢ及びＣＰＵＢを所有する。
【００８４】
ブロック８３４及び８３６において、コントローラ及びアクセサリは、各々、パブリックキーＡＰＵＢ及びＣＰＵＢに基づいて共有シークレットを計算することができる。ある実施形態では、共有シークレットは、曲線２５５１９を使用して計算され、他の暗号アルゴリズムに置き換えることもできる。一般的に、両装置は、共有シークレット（即ち、両装置に知られた１つのシークレット）を与えるのに同じアルゴリズムを使用しなければならない。
【００８５】
ブロック８３８及び８４０において、コントローラ及びアクセサリは、各々、共有シークレットからパスコードを計算することができる。例えば、ＳＨＡ−２５６のようなハッシュアルゴリズムを共有シークレット又は共有シークレットのある関数に適用することができる。その結果、又はその一部分を、パスコードとして使用できるアルファニューメリックキャラクタストリング（例えば、８個のキャラクタ）に変換することができる。パスコードの発生には種々の技術を使用できるが、アクセサリ及びコントローラは、一致するか又は相関されたパスコードを生じる技術を使用しなければならない。ブロック８４２及び８４４において、コントローラ及びアクセサリは、各々、それらの計算されたパスコードをユーザに与える。例えば、コントローラ２００は、パスコードをそのディスプレイに表示することができる。プリンタアクセサリ（例えば、アクセサリ３００）は、パスコードをそのユーザインターディスプレイに表示するか、又はパスコードを含むページをプリントすることができる。ユーザは、例えば、コントローラ及び／又はアクセサリの入力制御器を操作して一致を確認することにより、２つのパスコードを比較して、それらが一致することを確認できる。ブロック８４６及び８４８において、アクセサリ及びコントローラは、各々、この確認を受け取ることができる。ある実施形態では、ユーザは、一方の装置（例えば、コントローラ）のみのユーザインターフェイスを経て情報を与え、その装置は、プローブを送信することにより他方の装置（例えば、アクセサリ）へ確認を通信することができる。確認が受け取られない場合に、確認を受け取らない装置（一方又は両方）は、プロセス８００を中断する。
【００８６】
ある実施形態では、アクセサリは、パスコードを表示することができない。例えば、図１に示すスピーカアクセサリ１２０は、ディスプレイ装置をもたない。このようなケースでは、図９Ａ−９Ｂを参照して以下に述べるパスワードベースの認証を使用することができる。
【００８７】
パスコードが検証されたと仮定すると、ブロック８５０及び８５２において、コントローラ及びアクセサリは、各々、共有シークレットから付加的な暗号及び認証キーを発生することができる。このようなキーは、例えば、進歩型暗号規格（http://en.wikipedia.org/wiki/Advanced_Encryption_Standardにおいて文書化された“ＡＥＳ”）及び／又はポリ１３０５−ＡＥＳメッセージ認証コード（http://cr.yp.to/mac.htmlにおいて文書化された）のような標準技術を使用して導出することができる。
【００８８】
この点において、ペアリングが確立されると考えられ、そしてブロック８５０及び８５２で確立されたキーを使用するコントローラとアクセサリとの間のセキュアな通信が可能となる。メッセージをセキュアに送信及び受信するための特定のプロセスの例を以下に説明する。
【００８９】
上述したように、プロセス８００は、コントローラ及びアクセサリによりユーザへパスコードを与え、そしてパスコードが一致することを検証するようユーザに求めることを含む。ある実施形態において、ある装置にとってユーザにパスコードを与えるのは不便であり又は不可能なことがある。例えば、図１に示すスピーカアクセサリ１２０は、表示能力を含まず、そのような能力を追加することはできるが、そのようにすることは望ましくない（例えば、コスト又は審美的な理由で）。従って、ある実施形態では、動的なキーネゴシエーションに加えて又はそれに代わってパスワードベースの認証が与えられる。
【００９０】
ある実施形態では、プロセス８００は、ペアリングを確立するために交換されるプローブの数を減少するよう変更することができる。例えば、ブロック８０２においてコントローラにより送信される初期プローブ要求は、コントローラのパブリックキーＣＰＵＢを含み、そしてブロック８０８においてアクセサリにより送信される初期プローブ応答は、アクセサリのパブリックキーＡＰＵＢを含み、この場合に、ブロック８２４及び８３２における付加的なプローブの送信は、省略することができる。その後のステップにプローブが使用されず、例えば、ユーザが（ブロック８４６及び８４８において）各装置と対話してパスコードの一致を検証できる場合には、２つ程度のプローブ（コントローラからの１つの要求及びアクセサリからの１つの応答）でペアリングを生成することができる。
【００９１】
図９Ａ−９Ｂは、本発明の一実施形態によるパスワードベースの認証のためのプロセス９００のフローチャートである。図８Ａに示されたように、プロセス８００及び９００の両方を使用することができ、コントローラが、アクセサリにより与えられる情報に基づいて、どちらを使用するか決定する。他の実施形態では、プロセス８００を具現化せずに、プロセス９００を具現化することができ、この場合、全てのアクセサリがパスワードベースの認証をサポートする。
【００９２】
プロセス９００は、アクセサリがペアリングの生成を求めていることを指示するプローブ要求をコントローラがアクセサリから受け取った後に開始される。この場合のプローブ要求は、アクセサリがパスワードベースの認証を使用することを指示できる。ブロック９０２において、コントローラは、セッションＩＤを含むプローブ要求をアクセサリへ送信することができる。上述したように、セッションＩＤは、コントローラにより指定され、特定のアクセサリとのペアリングに特有のものである。
【００９３】
ブロック９０４において、アクセサリは、プローブ要求を受け取る。この実施形態では、アクセサリは、メモリ、又はアクセサリにとってアクセス可能な他の記憶装置に持続的に記憶された固定の又はプリセットされたパスワードを有し（例えば、図４のアクセサリ４００は、記憶媒体４０８に記憶された装置パスワード４１２を有し）、そしてブロック９０６において、アクセサリは、このパスワードを使用して、パブリックキー（ＡＰＵＢ）を発生することができる。１つの実施形態では、アクセサリは、セキュアなリモートパスワード（http://srp.standford.edu/において文書化された“ＳＲＰ”）を使用して、パブリックキーＡＰＵＢを発生する。ブロック９０８において、アクセサリは、例えば、ＳＲＰに適合するランダムソルトを発生する。ブロック９１０において、アクセサリは、パブリックキーＡＰＵＢ及びランダムソルトを含むプローブ応答をコントローラへ送信する。このプローブ応答、及びその後の全てのプローブ要求又はプローブ応答は、ブロック９０２においてコントローラにより与えられるセッションＩＤも含むことができる。
【００９４】
ブロック９１２において、コントローラは、アクセサリからプローブ応答を受け取る。ブロック９１４において、コントローラは、アクセサリのパスワードをコントローラへ入力するようにユーザを促す。この実施形態では、ユーザがアクセサリのパスワードを得ることができると仮定する。このパスワードは、例えば、アクセサリでパックされた文書において、アクセサリに添付されたデカールにおいて、アクセサリ本体に刻印されたパスワードとして、又は他の仕方で、ユーザに与えることができる。あるケースでは、アクセサリのシリアルナンバー又は他の独特の識別コードを、パスワードとして使用することができる。
【００９５】
パスワードをユーザに通信するためにある範囲のオプションが与えられると、ブロック９１４において、アクセサリのパスワードをどこで見つけるかに関してユーザを促し又は思い出させることが有益である。ある実施形態では、アクセサリは、パスワードがどこにあるかの情報をコントローラに与えることができる。例えば、「左側」「右側」「上」「下」「前」「後」及び「文書」を指示するように、異なる位置コードを定義することができる。アクセサリは、ペアリングパートナーを探索するためにアクセサリが送信する初期プローブ要求、又はプロセス９００のブロック９１０で送信されるプローブ応答のような、プローブ要求又はプローブ応答の情報エレメント（又は他のデータアイテム）に、適当な位置コードを含む。
【００９６】
図１０は、本発明の一実施形態によりコントローラに表示することのできるパスワードプロンプトを示す。ウインドウ１０００は、プロンプトを含む。タイトルバー１００２は、コントローラが接続を試みるアクセサリを識別し、そしてプロンプト１００４は、テキストボックス１００６にパスワードを入力するようユーザに求める。ティップ(TIP)メッセージ１００８は、どこにパスワードがあるかユーザに知らせる。ある実施形態では、コントローラは、アクセサリから受け取ったプローブ要求又はプローブ応答から位置コードを読み取り、そして位置コードに基づいて適当なテキストを選択することにより、ティップメッセージ１００８を発生することができる。
【００９７】
再び、図９Ａに戻ると、ブロック９１６において、コントローラは、ユーザ入力装置を経てパスワードを受け取る。ある実施形態では、ユーザは、パスワードを入力するのではなく、ペアリングプロセスをキャンセル又は中止するようにコントローラに命令することができる。ブロック９１８において、コントローラは、それ自身のパブリックキー（ＣＰＵＢ）を発生し、ＳＲＰ又は他の技術を使用することができる。ブロック９２０において、コントローラは、アクセサリのパブリックキーＡＰＵＢ、コントローラのパブリックキーＣＰＵＢ、及びアクセサリから受け取ったランダムソルトに基づき、共有シークレットを計算する（例えば、ＳＲＰを使用して）。ブロック９２０において、コントローラは、アクセサリのパスワードを知っていることを証明する例えばＳＲＰを使用して応答（ＣＲＥＳＰ）を計算する。
【００９８】
プロセス９００の残り部分が図９Ｂに示されている。ブロック９２４において、コントローラは、パブリックキーＣＰＵＢ及び応答ＣＲＥＳＰを含むプローブ要求を送信する。
【００９９】
ブロック９２６において、アクセサリは、プローブ要求を受け取る。ブロック９２８において、アクセサリは、アクセサリのパブリックキーＡＰＵＢ、コントローラのパブリックキーＣＰＵＢ、及びブロック９０８（図９Ａ）で発生されたランダムソルトに基づき、共有シークレットを計算する（例えば、ＳＲＰを使用して）。ブロック９３０において、アクセサリは、計算された共有シークレットを使用して、コントローラから受け取った応答ＣＲＥＳＰを検証する。ある実施形態では、検証が失敗であると、プロセス９００は、終了となる。検証が成功であったと仮定すれば、ブロック９３２において、アクセサリは、それ自身の応答（ＡＲＥＳＰ）を計算し、アクセサリのパスワードも知っていることを証明する。ブロック９３４において、アクセサリは、コントローラへのプローブ応答において応答ＡＲＥＳＰを送信する。
【０１００】
ブロック９３６において、コントローラは、プローブ応答を受け取り、そしてブロック９３８において、コントローラは、その応答ＡＲＥＳＰを検証する。ブロック９３０の場合と同様に、ある実施形態では、検証の失敗は、プロセス９００の終了となる。検証が成功すると、ブロック９４０において、コントローラは、共有シークレットに基づき、暗号及び認証キーを計算する。プロセス８００と同様に、これらのキーは、各々、ＡＥＳ及びＰｏｌｙ１３０５−ＡＥＳを使用して計算することができる。
【０１０１】
同様に、アクセサリがコントローラの応答（ＣＲＥＳＰ）を有効なものとすると、アクセサリは、ブロック９４２において、共有シークレットに基づき暗号及び認証キーを計算することもできる。
【０１０２】
この点において、ペアリングが確立され、そしてブロック９４０及び９４２で確立されたキーを使用するセキュアな通信が可能となる。メッセージをセキュアに送信及び受信する特定のプロセスの例を以下に説明する。
【０１０３】
ここに述べるペアリングプロセスは、例示に過ぎず、変更や修正が考えられることが明らかである。順次のものとして説明したステップは、並列に実行されてもよく、ステップの順序を変えてもよく、そしてステップは、変更、結合、追加、又は省略されてもよい。例えば、種々のキーが発生される順序を変えてもよい。又、アクセサリ及びコントローラは、幾つかの計算を同時に遂行することができる。
【０１０４】
ここに述べる実施形態は、ペアリングを確立するのに使用できるプローブ要求及びプローブ応答の特定のシーケンスを識別するが、他の実施形態では、プローブの異なるシーケンスが使用されてもよい。（従って、プローブ間を区別する普通の番号、例えば「第１」「第２」等の使用は、単なる区別のために過ぎず、プローブ間の特定の時間的順序を要求するものではないことを理解されたい。）更に、明確に示されず、又、上述されてもいない付加的なプローブ要求及びプローブ応答も使用できる。例えば、ＩＥＥＥ８０２．１１のようなあるプロトコルでは、プローブ要求を送信する装置は、ある期間内にプローブ応答を受け取ることが予想され、応答が受け取られない場合には、応答を待機しているプロセスが時間切れとなる。ある実施形態では、プローブ要求を受け取る装置は、プローブ要求の受信を確認する第１のプローブ応答であって、プローブ要求の送信者が応答をどれほど待機すべきか（例えば、情報エレメントを経て）指示する第１のプローブ応答を送信することができる。要求側装置は、指定の時間切れを使用して、要求を再送信し又はプロセスを中断するまでにどれほど応答を待機すべきか決定することができる。これは、応答側装置が、デフォールトの時間切れ期間より長くを要する計算を遂行できるようにし、即ち応答側装置は、要求側装置が完全な応答を待機すべきであることを指示するためのプローブ応答を時間切れ期間内に送信することができる。
【０１０５】
又、プロセス８００及び９００は、コントローラが、プローブ応答ではなく、プローブ要求のみを送信し、一方、アクセサリが、プローブ要求ではなくて、プローブ応答のみを送信するように具現化できることにも注意されたい。従って、コントローラは、プローブ要求を検出したりそれに応答したりする必要はない。
【０１０６】
特定の暗号化及び認証技術（ＡＥＳ、ＳＲＰ、等）の識別は、例示に過ぎず、他の技術に置き換えることもできる。コントローラ及びアクセサリは、一方の装置が、他方の装置により送信されたメッセージを首尾良く認証し解読できるように、ペアリング内で両立する技術を使用することが予想される。
【０１０７】
ある実施形態では、コントローラが第１のアクセサリとのペアリングを確立するプロセスにある間に、第２のアクセサリがコントローラとのペアリングを試みることができる。例えば、図１の実施形態では、コントローラ１００がスピーカ１２０とのペアリングを確立するプロセスにある間に、プリンタ１１０がペアリングプロセスの開始を求めるプローブ要求を送信する。コントローラ１００は、種々の仕方でこの状態を取り扱うように構成することができる。
【０１０８】
ある実施形態では、第１のペアリングプロセスが開始されると、コントローラは、第１のプロセスに保持され、そしてその第１のプロセスが完了するか又は中止されるまで、ペアリングの開始を試みる更に別のプローブ要求を無視する。他の実施形態では、第１のプロセスがまだ続いている間に、ペアリングを開始する第２の要求が受け取られると、コントローラは、第１のプロセスを中止し、そして第２の要求に基づいて第２のペアリングプロセスを開始することができる。後者の設計選択は、ユーザがミスを犯すか、或いはペアリングプロセス中に心変りして、やり直したい場合に有益であり、即ちユーザは、第１のプロセスが完了するか又は時間切れするのを待機する必要がない。更に別の実施形態では、コントローラは、複数のペアリングプロセスを同時に管理するように構成される。
【０１０９】
同様に、アクセサリは、複数のコントローラからブラウジングプローブを受け取ることも考えられる。ある実施形態では、アクセサリは、ブラウジングプローブが受け取られたところの第１のコントローラに応答し、そしてその第１のコントローラとのペアリングが終了するまでその後のブラウジングプローブを無視することができる。他の実施形態では、ペアリングが進行中である（確立されたか又は確立されつつある）間にブラウジングプローブが受け取られる場合には、アクセサリは、現在のペアリングを終了し、そして最も新しいブラウジングプローブに応答することにより新たなペアリングプロセスを開始することができる。アクセサリがユーザインターフェイスを有する実施形態では、アクセサリは、新たなブラウジングプローブに応答して現在のペアリングを終了すべきかどうかに関してユーザを促すことができる。
【０１１０】
上述したように、プロセス８００及び９００は、コントローラとアクセサリとの間にペアリング、即ちセキュアなワイヤレスリンクを確立させる。各装置は、互いに他の装置を確認し、２つの装置は、ワイヤレス通信を監視する侵入者にとって決定することが困難な共有シークレットを確立することができる。ペアリングは、確立されると、セキュアな（暗号化及び／又は認証された）通信に使用することができる。図１１及び１２は、本発明の一実施形態によりワイヤレスペアリングを経てセキュアなメッセージを送信及び受信するためのプロセスのフローチャートである。
【０１１１】
図１１は、本発明の一実施形態により送信者とペアリングされる受信者装置へメッセージを送信するために送信者（アクセサリ又はコントローラのいずれか）によって使用できるプロセス１１００を示す。このプロセス１１００は、例えば、上述したいずれかのプロセスを使用してペアリングが確立された後にスタートする（ブロック１１０２）。ブロック１１０４において、送信者は、セキュアに送信されるメッセージを準備する。これは、例えば、データを発生し、記憶された情報を検索し、データをフォーマット又はエンコードし、等々を含む。ブロック１１０６において、送信者は、ペアリングに関連した暗号キー（例えば、上述したいずれかのプロセスを使用して発生されたＡＥＳキー）を使用してメッセージを暗号化する。ブロック１１０８において、送信者は、認証の目的でナンスとして使用されるべき例えば１６バイトのランダムデータを発生する。ブロック１１１０において、送信者は、メッセージ、ナンス、及びペアリングに関連した認証キー（例えば、上述したいずれかのプロセスを使用して発生されたＰｏｌｙ１３０５−ＡＥＳコード）に基づいて認証子（データブロック）を発生する。
【０１１２】
ブロック１１１２において、送信者は、暗号メッセージ、ナンス、及び認証されたデータブロックを含むプローブ（プローブ要求又はプローブ応答）を送信する。これらアイテムは、プローブ内に情報エレメント又は他のデータエレメントとして含まれる。又、送信者は、ペアリングに関連したセッションＩＤもプローブに含むことができる。ある実施形態では、メッセージそれ自体が暗号化されるだけであり、セッションＩＤ及びナンスのような他のアイテムは、暗号化されない。（認証子は、暗号技術を使用して発生されるが、それ以上は暗号化されない。）プローブ要求が送信されると、プロセス１１００は、終了となる（ブロック１１１４）。
【０１１３】
図１２は、本発明の一実施形態により受信者とペアリングされる送信者装置からメッセージを受信するために受信者（コントローラ又はアクセサリのいずれか）により使用できるプロセス１２００を示す。この例では、図１１のプロセス１１００を使用してメッセージが送信されると仮定する。プロセス１２００は、例えば、上述したいずれかのプロセスを使用してペアリングが確立された後にスタートする（ブロック１２０２）。ブロック１２０４において、受信者は、ペアリングに関連したセッション識別子を含むプローブ（プローブ要求又はプローブ応答）を受け取る。ブロック１２０６において、受信者は、暗号メッセージ、ナンス、及び認証子ブロックをプローブから抽出する。ブロック１２０８において、受信者は、認証子及びナンスを、それ自身の認証キー（例えば、上述したＰｏｌｙ１３０５−ＡＥＳコード）と一緒に使用して、メッセージの真正性を検証する。ブロック１２１０で真正性が検証された場合には、受信者は、ブロック１２１２において、暗号メッセージを解読するように進む。この実施形態では、ブロック１２１０で真正性が検証されない場合には、受信者は、メッセージを単に無視する。
【０１１４】
プロセス１２００は、ブロック１２１４で終了となる。メッセージが認証されて解読されたと仮定すれば、受信者は、メッセージのコンテンツに基づく特定のアクションでメッセージに作用することができる。上述したように、プローブを使用して送信される暗号メッセージに、任意のタイプの構成情報、制御信号、又は他のデータを含ませることができる。ある実施形態では、メッセージに対する応答は、プローブを使用して送信者へ暗号メッセージを返送することを含む。この場合、受信者は、プロセス１１００を使用して送信者となり、従って、同じ装置が、あるときは、送信者として、別のときは、受信者として動作することができる。
【０１１５】
ここに述べる通信プロセスは、例示に過ぎず、変更や修正が考えられることが明らかである。順次のものとして説明したステップは、並列に実行されてもよく、ステップの順序を変えてもよく、そしてステップは、変更、結合、追加又は省略されてもよい。他の暗号技術を、ここに述べた技術に置き換えてもよい。
【０１１６】
プロセス１１００及び１２００を使用して、望ましい情報をアクセサリとコントローラとの間に通信することができる。ある実施形態では、コントローラは、アクセサリとペアリングする間に従来のワイヤレスネットワーク（例えば、ＩＥＥＥ８０２．１１適合ネットワーク）に参加することができる。ペアリングが確立されると、コントローラは、セキュアなリンクを使用して、ワイヤレスネットワークに参加するのに必要なクレデンシャル（例えば、ネットワーク名およびパスワード）をアクセサリに与えることができる。
【０１１７】
図１３は、本発明の一実施形態によりワイヤレスネットワークに参加するためにアクセサリ（例えば、図１のアクセサリ１１０又は１２０）により使用できるプロセス１３００のフローチャートである。このプロセスでは、ワイヤレスネットワークがアクセスポイントにより管理されると仮定し、アクセスポイントは、他の装置がネットワークに参加してアクセスポイントを経て種々のリソース（例えば、インターネット）にアクセスできるかどうか決定するものである。
【０１１８】
プロセス１３００は、ブロック１３０２で開始され、アクセサリは、それがワイヤレスネットワークへの参加を試みなければならないことを決定する。この決定は、装置の設定時に、ユーザ入力に応答して又は他の環境のもとで自動的に行うことができる。ブロック１３０４において、アクセサリは、アクセサリとのペアリングを確立できるコントローラからのブラウジングプローブ要求を聴取する。コントローラは、ネットワークアクセスポイントであるが、そうである必要はなく、そしてアクセサリがワイヤレスネットワークの存在又はそのアクセスクレデンシャルに関する情報を有することは要求されない。
【０１１９】
ブロック１３０６において、アクセサリは、ブラウジングプローブが検出されたかどうか決定する。ブラウジングプローブが検出されない場合には、アクセサリは、聴取を続ける（ブロック１３０４）か、又はプロセス１３００を終了する。ブラウジングプローブが検出された場合には、ブロック１３０８において、アクセサリは、（例えば、更に別のプローブを使用して）コントローラと通信して、ペアリングを確立する。例えば、上述したプロセス８００及び／又は９００を使用することができる。
【０１２０】
ペアリングが確立されると、ブロック１３１０において、アクセサリは、ペアリングリンクを経てコントローラからワイヤレスネットワークのクレデンシャル（例えば、ネットワーク名及びパスワード）を得ることができる。例えば、上述したプロセス１１００及び１２００は、コントローラによりアクセサリへ送信される暗号メッセージ、例えば、プローブ要求に、ワイヤレスネットワーククレデンシャルが含まれるようにして、使用することができる。コントローラは、クレデンシャルをアクセサリへ供給するときにワイヤレスネットワークに参加できるが、そのようにする必要はない。ある実施形態では、アクセサリは、ネットワーククレデンシャルを明確に要求せず、コントローラは、ペアリングが確立されると、クレデンシャルを自動的に（例えば、プローブ要求において）送信するように構成される。他の実施形態では、ブロック１３１０は、例えば、プローブを使用して、クレデンシャルの要求をコントローラへ送信することを含む。
【０１２１】
ブロック１３１２において、アクセサリは、ワイヤレスネットワーククレデンシャルをネットワークアクセスポイントへ送信する。ＷＥＰ、ＷＰＡ又はＷＰＡ２（ＩＥＥＥ８０２．１１適合ネットワークの場合）のような従来の技術を使用して、クレデンシャル又はクレデンシャルから導出された情報をアクセスポイントへセキュアに送信することができる。
【０１２２】
ブロック１３１４において、アクセサリは、それが首尾良くネットワークに参加したかどうかに関する情報を待機する。もしそうでなければ、プロセス１３００は、ブロック１３１６において終了となるか、又はアクセサリが再試みとなる（例えば、ブロック１３１２へ戻ってクレデンシャルを再送信するか、又はブロック１３１０へ戻って新たなクレデンシャルを得る）。
【０１２３】
ネットワークに参加した後、アクセサリは、ワイヤレスネットワークプロトコルを使用してネットワーク上の他の装置と通信する（ブロック１３１８）。ある実施形態では、コントローラとのペアリングは、アクセサリがワイヤレスネットワークに参加すると終了となる。他の実施形態では、ペアリングセッションが不定にオープンのままであり、コントローラ及びアクセサリは、いずれかの装置がワイヤレスネットワークに参加したままであるかどうかに関わらず、側波帯で通信することが許される。
【０１２４】
ある実施形態では、ユーザは、コントローラと対話することによりペアリング及びネットワーク参加プロセスを制御することができる。図１４は、本発明の一実施形態によりアクセサリをワイヤレスネットワークに容易に参加させるためにコントローラにより実行できるプロセス１４００のフローチャートである。
【０１２５】
プロセス１４００は、コントローラがワイヤレスアクセサリとペアリングする準備ができたときにスタートする（ブロック１４０２）。例えば、ユーザは、ワイヤレス装置と通信するための制御インターフェイスをなすコントローラのアプリケーションプログラムを起動することができる。ある実施形態では、このプログラムは、ワイヤレスネットワークを経てアクセサリへデジタルメディアデータをストリーミングできるメディアアセット再生プログラムである（例えば、本出願の譲受人であるアップル社により提供されるｉＴｕｎｅｓ（登録商標）メディアアセット管理プログラム）。
【０１２６】
ブロック１４０４において、コントローラは、ワイヤレスアクセサリを探索するためのインストラクションをユーザから受け取る。例えば、ユーザは、アプリケーションプログラムと対話して、ワイヤレスアクセサリをサーチするようにコントローラに命令することができる。ブロック１４０６において、コントローラは、ブラウジングプローブをブロードキャストし、例えば、コントローラがペアリングすべきアクセサリをサーチしていることを指示するプローブ要求をブロードキャストする。
【０１２７】
ブロック１４０８において、コントローラは、アクセサリからプローブ応答を受け取る。上述したように、このプローブ応答は、アクセサリに関する情報を含むことができる。ブロック１４１０において、コントローラは、アクセサリに関する情報（例えば、プローブ応答から抽出された情報）をユーザに表示する。ブロック１４１２において、コントローラは、ペアリングを行うべきであるという確認をユーザから受け取る。この確認が受け取られない場合には、プロセス１４００は、終了となるか（ブロック１４１４）又はブロック１４０６へ戻って、異なるアクセサリからのプローブ要求をサーチする。
【０１２８】
ブロック１４１２において確認が受け取られると、コントローラは、ブロック１４１６においてアクセサリとのキーネゴシエーションプロセス（例えば、上述したプロセス８００）を開始する。ブロック１４１８において、キーネゴシエーションの一部分として、コントローラは、例えば、上述したように、ユーザ確認のためのパスコードを表示することができる。ブロック１４２０において、ユーザは、パスコードを確認する。パスコードが確認されない場合には、プロセス１４００は、ブロック１４２２で終了となるか又は前のブロックへ戻って再び試みることができる。パスコードが確認される場合には、コントローラは、ブロック１４２４において、ペアリングを完了する（例えば、プロセス８００を完了する）。ある実施形態では、ペアリングを完了することは、ペアリングが確立されたことを確認するためにプローブをアクセサリへ送信することを含む。
【０１２９】
ペアリングが確立されると、ブロック１４２６において、コントローラは、例えば、上述したプロセス１１００及び１２００を使用して、ペアリングリンクを経てアクセサリへワイヤレスネットワーククレデンシャルを送信し、そのワイヤレスネットワーククレデンシャルは、例えば、プローブ要求において、コントローラによりアクセサリへ送信される暗号メッセージに含まれる。ある実施形態では、コントローラは、ユーザ入力を得て、アクセサリが参加すべきネットワークを選択するか、或いはコントローラが既に参加しているワイヤレスネットワーク、又は（例えば、ユーザにより）以前に識別された好ましいワイヤレスネットワークを自動的に選択することができる。又、ある実施形態では、コントローラは、ペアリングが確立されると、（例えば、プローブ要求において）クレデンシャルをアクセサリへ自動的に送信するように構成できる。他の実施形態では、ブロック１４２６は、アクセサリからクレデンシャルの要求を受け取ることを含み、そのような要求は、プローブを使用してペアリングリンクを経て送信することができる。
【０１３０】
ブロック１４２８において、コントローラは、アクセサリがネットワークに参加したかどうか決定する。もしそうでなければ、プロセス１４００は、ブロック１４３０で終了となるか、又は前の段階へ戻って再試みするか、或いはプロセス１４００は、ブロック１４２８において、アクセサリが参加するまで又は他のユーザインストラクションが受け取られるまで待機となる。アクセサリがネットワークに参加すると、コントローラは、ブロック１４３２においてワイヤレスネットワークを経てアクセサリと通信し、例えば、メディアデータをアクセサリへストリーミングする。
【０１３１】
上述したように、ある実施形態では、キーネゴシエーションではなくパスワードベースの認証を使用してペアリングを確立することができる。図１５は、本発明の一実施形態により、パスワードベースの認証をサポートするアクセサリの、ワイヤレスネットワークへの参加を容易にするためにコントローラにより実行できるプロセス１５００のフローチャートである。
【０１３２】
プロセス１５００は、コントローラがワイヤレスアクセサリとペアリングする準備ができたときにスタートする（ブロック１５０２）。ブロック１５０４において、コントローラは、ワイヤレスアクセサリを探索するためのインストラクションをユーザから受け取る。ブロック１５０６において、コントローラは、ブラウジングプローブをブロードキャストし、又、ブロック１５０８において、コントローラは、アクセサリからプローブ応答を受け取る。これらブロックは、上述したプロセス１４００における対応ブロックと一般的に同様である。
【０１３３】
ブロック１５１０において、コントローラは、アクセサリに関する情報をユーザに表示する。この例では、ブロック１５０８で受け取られたアクセサリからのプローブ応答は、アクセサリがパスワードベースの認証を使用するという指示を含み、又、ブロック１５１２において、コントローラは、例えば、図１０のプロンプトスクリーンを使用して、アクセサリパスワードを入力するようにユーザを促す。ブロック１５１４において、パスワードの入力は、コントローラが処理を進めるべきであるという確認として働き、パスワードが入力されない（例えば、ユーザが動作をキャンセルした）場合には、プロセス１５００は、ブロック１５１６において終了となる。
【０１３４】
ブロック１５１８において、コントローラは、（例えば、前記プロセス９００により）ブロック１５１０でユーザにより供給されたパスワードに一部分基づいてアクセサリとのペアリングを確立する。
【０１３５】
セキュアなペアリングリンクが確立されると、ブロック１５２０において、コントローラは、そのリンクを経てアクセサリへワイヤレスネットワーククレデンシャルを送信する。これは、上述したプロセス１４００のブロック１４２６と一般的に同様である。
【０１３６】
ブロック１５２２において、コントローラは、アクセサリがネットワークに参加したかどうか決定する。もしそうでなければ、プロセス１５００は、ブロック１５２４において終了となるか、又は前の段階へ戻って再試みとなるか、或いはコントローラは、ブロック１５２２において、アクセサリが参加するまで又は他のユーザインストラクションが受け取られるまで待機となる。アクセサリがネットワークに参加すると、コントローラは、ブロック１５２６において、ワイヤレスネットワークを経てアクセサリと通信し、例えば、アクセサリへメディアデータをストリーミングさせる。
【０１３７】
ここに述べるネットワーク参加プロセスは、例示に過ぎず、変更や修正が考えられることは明らかである。順次のものとして説明したステップは、並列に実行されてもよく、ステップの順序を変えてもよく、そしてステップは、変更、結合、追加、又は省略されてもよい。アクセサリ及びコントローラは、ペアリングを確立するための種々の技術を使用して、アクセサリが参加できるワイヤレスネットワークのクレデンシャルをアクセサリが得られるようにする。更に、コントローラは、ワイヤレスネットワークのクレデンシャルをアクセサリに与えるものとして説明されたが、ここに述べるペアリングは、両方向通信をサポートできることが明らかであり、又、アクセサリが、ネットワークのクレデンシャル（又は他の構成情報又は制御信号）をコントローラに与えることもできる。
【０１３８】
本発明は、特定の実施形態について説明したが、当業者であれば、多数の変更が考えられることが明らかであろう。例えば、本発明は、ＩＥＥＥ８０２．１１適合のワイヤレスネットワークの環境において、そのようなネットワークについて定義されたプローブ要求及びプローブ応答フレームを、上述した種々のデータアイテムを与えるために含まれるベンダー特有の情報エレメントと共に使用して実施できることが意図されるが、他のワイヤレスプロトコル（既存のもの又は将来のもの）も、ネットワークにまだ参加していない装置間で情報を通信するのに使用できるメッセージフォーマットを含み得ることが意図される。本発明の実施形態は、そのようなプロトコルにも適応させることができる。従って、特定の情報がプローブ要求又はプローブ応答に含まれるものとしてここに説明されたが、そのような使用は例示に過ぎず、一般的な語「プローブ」は、プローブ要求及びプローブ応答や、共通のネットワークに現在参加していない２つのワイヤレス装置間で交換できる他のメッセージフォーマットも包含するものと理解されたい。
【０１３９】
上述した実施形態では、ペアリングプロセスは、コントローラがブラウジングプローブ要求をブロードキャストすることで開始でき、アクセサリは、ペアリング中にそれに応答する。上述したように、このような実施形態におけるコントローラは、プローブ要求を受け取り又はそれに応答する必要はない。別の実施形態では、ペアリングプロセスは、アクセサリがプローブ要求をブロードキャストすることで開始でき、コントローラは、それに応答して、アクセサリとのペアリングに利用できることを指示する。
【０１４０】
更に、説明上、特定の暗号技術を参照したが、コントローラ及びアクセサリが両立する技術を使用するならば、本発明は、その特定の暗号技術に限定されないことを理解されたい。
【０１４１】
上述した実施形態は、特定のハードウェア及びソフトウェアコンポーネントを参照したが、当業者であれば、ハードウェア及び／又はソフトウェアコンポーネントの異なる組み合わせも使用でき、且つハードウェアで具現化されると説明された特定の動作をソフトウェアで具現化することもできるし、又はその逆も行えることが明らかであろう。
【０１４２】
回路、論理モジュール、プロセッサ、及び／又は他のコンポーネントは、ここに述べる種々の動作を遂行するように構成される。当業者であれば、具現化によって、このような構成は、特定のコンポーネントの設計、設定、相互接続及び／又はプログラミングを通して達成することもできるし、且つ具現化によって、構成されたコンポーネントは、異なる動作に対して再構成できてもできなくてもよいことが明らかであろう。例えば、プログラム可能なプロセッサは、適当な実行可能なコードを与えることにより構成でき、専用のロジック回路は、ロジックゲート及び他の回路素子を適当に接続することにより構成でき、等々である。
【０１４３】
本発明の種々の特徴を組み込んだコンピュータプログラムは、種々のコンピュータ読み取り可能な記憶媒体においてエンコードされ、適当な媒体は、磁気ディスク又はテープ、コンパクトディスク（ＣＤ）又はＤＶＤ（デジタル多様性ディスク）のような光学的記憶媒体、フラッシュメモリ、等を含む。プログラムコードでエンコードされるコンピュータ読み取り可能な記憶媒体は、両立性装置でパッケージされてもよいし、又は他の装置とは個別に設けられてもよい。更に、プログラムコードは、インターネットを含む種々のプロトコルに適合するワイヤード、光学、及び／又はワイヤレスネットワークを経てエンコード及び送信され、例えば、インターネットのダウンロードを経て配布することができる。
【０１４４】
従って、本発明は、特定の実施形態について説明したが、特許請求の範囲内に含まれる全ての変更や等効物を包含することが明らかであろう。
【符号の説明】
【０１４５】
１００：コントローラ
１１０：アクセサリ（プリンタ）
１１２、１２２：ペアリング
１２０：アクセサリ（ステレオスピーカ）
２００：コントローラ
２０２：プロセッサ
２０４：ユーザインターフェイス
２０６：ワイヤレスインターフェイス
２０８：記憶媒体
２１０：ネットワーククレデンシャル
３００：アクセサリ
３０２：プロセッサ
３０４：ユーザインターフェイス
３０６：ワイヤレスインターフェイス
３０８：記憶媒体
３１０：プリンティング要素
４００：アクセサリ
４０２：プロセッサ
４０６：ワイヤレスインターフェイス
４０８：記憶媒体
４１０：スピーカ
４１２：装置パスワード
【図１】
0005524157.tif 000002
【図２】
0005524157.tif 000003
【図３】
0005524157.tif 000004
【図４】
0005524157.tif 000005
【図５】
0005524157.tif 000006
【図６】
0005524157.tif 000007
【図７】
0005524157.tif 000008
【図８Ａ】
0005524157.tif 000009
【図８Ｂ】
0005524157.tif 000010
【図９Ａ】
0005524157.tif 000011
【図９Ｂ】
0005524157.tif 000012
【図１０】
0005524157.tif 000013
【図１１】
0005524157.tif 000014
【図１２】
0005524157.tif 000015
【図１３】
0005524157.tif 000016
【図１４】
0005524157.tif 000017
【図１５】
0005524157.tif 000018