(57)【特許請求の範囲】
【請求項１】
通信装置であって、
ユーザによって入力された所定の文字列を取得する取得手段と、
前記取得手段によって取得された文字列に基づく情報を含んだ検索信号であって、通信パラメータを提供する提供装置を検索するための検索信号を送信する送信手段と、
前記検索信号に対する応答を受信する受信手段と、
前記取得手段によって取得された文字列に基づいて暗号鍵を生成する第一の生成手段と、
公開鍵と秘密鍵を生成する第二の生成手段と、
前記第一の生成手段によって生成された暗号鍵を用いて、前記第二の生成手段によって生成された公開鍵を暗号化する暗号化手段と、
前記暗号化手段によって暗号化された公開鍵を、前記受信手段によって受信された応答を送信した提供装置に送信する送信手段と、
前記受信手段によって受信した応答に基づいて、当該応答を送信した提供装置との間で、少なくとも前記公開鍵及び前記秘密鍵を用いた通信パラメータ共有処理を開始する開始手段と、
を有することを特徴とする通信装置。
【請求項２】
前記通信パラメータ共有処理は、前記第二の生成手段によって生成された公開鍵および暗号鍵と前記提供装置が生成した公開鍵および秘密鍵とを使用した公開鍵暗号方式に基づいて通信パラメータの共有を行う通信パラメータ共有処理であることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記取得手段によって取得された文字列の一部または全部にハッシュ関数を適用することで前記情報を生成する生成手段を更に備えることを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記ハッシュ関数は、ＳＨＡ−２（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ−２）であることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記通信パラメータは、前記提供装置が参加している無線ネットワークに参加するために用いられる通信パラメータであることを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項６】
前記通信パラメータは、前記提供装置が参加している無線ネットワークのアクセスポイントに接続するために用いられる通信パラメータであることを特徴とする請求項５に記載の通信装置。
【請求項７】
前記通信パラメータは、ＳＳＩＤ、暗号鍵、暗号方式、認証鍵、認証方式のうち少なくとも何れか一つを含むことを特徴とする請求項１乃至６の何れか１項に記載の通信装置。
【請求項８】
前記通信パラメータは、ＩＥＥＥ８０２．１１規格に準拠した無線通信を行うために用いられる通信パラメータであることを特徴とする請求項１乃至７の何れか１項に記載の通信装置。
【請求項９】
ユーザによって入力された所定の文字列を取得する取得工程と、
前記取得工程によって取得された文字列に基づく情報を含んだ検索信号であって、通信パラメータを提供する提供装置を検索するための検索信号を送信する送信工程と、
前記検索信号に対する応答を受信する受信工程と、
前記取得工程によって取得された文字列に基づいて暗号鍵を生成する第一の生成工程と、
公開鍵と秘密鍵を生成する第二の生成工程と、
前記第一の生成工程によって生成された暗号鍵を用いて、前記第二の生成工程によって生成された公開鍵を暗号化する暗号化工程と、
前記暗号化工程によって暗号化された公開鍵を、前記受信工程によって受信された応答を送信した提供装置に送信する送信工程と、
前記受信工程によって受信された応答に基づいて、当該応答を送信した提供装置との間で、少なくとも前記公開鍵及び前記秘密鍵を用いた通信パラメータ共有処理を開始する開始工程と、
を有することを特徴とする通信方法。
【請求項１０】
請求項１乃至８のいずれか１項に記載の通信装置としてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術に関する。
【背景技術】
【０００２】
ＩＥＥＥ８０２．１１規格シリーズに準拠した無線ＬＡＮに代表される無線通信では、使用前に設定しなければならない設定項目が数多く存在する。例えば、設定項目として、ネットワーク識別子としてのＳＳＩＤ（Ｓｅｒｖｉｃｅ    Ｓｅｔ    Ｉｄｅｎｔｉｆｉｅｒ）、暗号方式、暗号鍵、認証方式、認証鍵等の無線通信を行うために必要な通信パラメータがある。これら全てをユーザが手入力により設定するのは非常に煩雑である。
【０００３】
これに対し、通信パラメータを簡単に無線機器に設定する業界標準の自動設定方法であるＷｉ−Ｆｉ    Ｐｒｏｔｅｃｔｅｄ    Ｓｅｔｕｐ（以下、ＷＰＳ）が規格化され、無線機器への搭載が進んでいる。ＷＰＳの一方式として、無線機器を識別するための端末識別情報（例えば、ＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｎｕｍｂｅｒ）コードと呼ばれる情報）を用いる方法がある。この方法では、通信パラメータを受信する側の装置（以下、受信装置とする）が生成した端末識別情報を、通信パラメータを提供する側の装置（以下、提供装置とする）に登録する。これにより、自動的に、上述した規格にしたがった通信を可能にするための設定情報の送受信および設定が行われ、セキュリティ機能を使った接続が確立される。
【０００４】
特許文献１には、無線ＬＡＮの設定時における、端末識別情報の登録方法に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１９４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の端末識別情報を用いた方法により通信パラメータの自動設定を行う場合において、複数の提供装置が存在する場合、受信装置はそれぞれの提供装置と接続を行った上で、正しい端末識別情報が登録されているかどうかを判断しなければならない。具体的には、受信装置は、探索により提供装置を発見すると、発見した提供装置とＩＥＥＥ８０２．１１規格シリーズに準拠した無線ＬＡＮによって接続する。接続には、ＩＥＥＥ８０２．１１規格シリーズにて規定されたＡｓｓｏｃｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅが用いられる。受信装置は提供装置に接続した後、ＥＡＰＯＬ−ｓｔａｒｔメッセージを送信し、ＷＰＳにおいて規定されているレジストレーションプロトコルを開始する。その後、レジストレーションプロトコルにおいて、提供装置は、自装置が生成した端末識別情報が提供装置にも登録されているかどうかを判断し、その結果に応じてレジストレーションプロトコルを継続するか否かを決定する。
【０００７】
このように、従来の方法では、受信装置が生成した端末識別情報と異なる端末識別情報が入力されている提供装置に対しても無線ＬＡＮのＡｓｓｏｃｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅによる接続を行ってしまうという無駄が発生していた。
【０００８】
本発明は、上述の課題を鑑みて、受信装置と異なる端末識別情報が入力されている提供装置への無駄な接続を防ぎ、通信パラメータの自動設定にかかる時間を短縮することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の通信装置は、ユーザによって入力された所定の文字列を取得する取得手段と、前記取得手段によって取得された文字列に基づく情報を含んだ検索信号であって、通信パラメータを提供する提供装置を検索するための検索信号を送信する送信手段と、前記検索信号に対する応答を受信する受信手段と、前記取得手段によって取得された文字列に基づいて暗号鍵を生成する第一の生成手段と、公開鍵と秘密鍵を生成する第二の生成手段と、
前記第一の生成手段によって生成された暗号鍵を用いて、前記第二の生成手段によって生成された公開鍵を暗号化する暗号化手段と、前記暗号化手段によって暗号化された公開鍵を、前記受信手段によって受信された応答を送信した提供装置に送信する送信手段と、前記受信手段によって受信した応答に基づいて、当該応答を送信した提供装置との間で、少なくとも前記公開鍵及び前記秘密鍵を用いた通信パラメータ共有処理を開始する開始手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、受信装置と異なる端末識別情報が入力されている提供装置への無駄な接続を防ぎ、通信パラメータの自動設定にかかる時間を短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】通信装置の構成を示す図である。
【図２】通信装置のソフトウェア機能構成を示す図である。
【図３】通信システムの構成の一例を示す図である。
【図４】通信システムのシーケンスの一例を示す図である。
【図５】通信パラメータを受領する通信装置の動作を示すフローチャートである。
【図６】通信パラメータを提供する通信装置の動作を示すフローチャートである。
【図７】通信システムのシーケンスの一例を示す図である。
【発明を実施するための形態】
【００１２】
（実施形態１）
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ（Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ．）８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明する。しかしながら、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１３】
図３に本実施形態の通信システムについて示す。図３に示す通信システムには、カメラ３２、携帯電話３３、アクセスポイント３４（以後、ＡＰと称す）、および無線ネットワーク３１が含まれる。以降において、ＡＰ３４が形成する無線ネットワーク３１にカメラ３２及び携帯電話３３が参加し、カメラ３２と携帯電話３３とが無線ネットワーク３１でＡＰ３４を介して通信する場合について説明を行う。
【００１４】
なお、本実施形態における通信システムにおける通信装置をカメラと携帯電話として説明を行うが、例えばプリンタ、ＰＣ、ビデオカメラ、スマートウォッチ、ＰＤＡ、各種のデジタル家電などの他の通信装置であってもよい。
【００１５】
続いて、カメラ３２および携帯電話３３の本実施形態におけるハードウェア構成について図１を用いて説明する。図１において、１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により構成される。１０３は制御部１０２が実行する制御プログラム、画像データ、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。記憶部１０３は、例えば、ＲＯＭ、ＲＡＭ、ＨＤＤ、フラッシュメモリまたは着脱可能なＳＤカードなどの記憶媒体により構成される。
【００１６】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。無線部１０４は、無線通信を行うチップにより構成される。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部１０５は、文字列を視覚情報および音情報の少なくともどちらか一方の形式として出力する機能を備えるものである。表示部１０５は視覚情報を表示する場合、表示する視覚情報に対応する画像データを保持するＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）を有する。表示部１０５は、ＶＲＡＭに格納した画像データをＬＣＤやＬＥＤに表示させ続ける表示制御を行う。
【００１７】
１０７はアンテナ１０８の出力制御を行うアンテナ制御部であり、１０８は無線ＬＡＮで通信するための２．４ＧＨｚ帯および／または５ＧＨｚ帯で通信可能なアンテナである。１０９は、ユーザが各種入力等を行い、通信装置１０１を操作するための入力部である。入力部１０９は、入力された文字列を記憶部１０３等のメモリに記憶する。
【００１８】
図２は、後述の通信制御機能を実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。本実施形態において、カメラ３２、携帯電話３３の機能ブロックは、それぞれ記憶部１０３にプログラムとして記憶され、制御部１０２によって当該プログラムが実行されることによりその機能が実施される。制御部１０２は、制御プログラムにしたがって、各ハードウェアの制御、および、情報の演算や加工を行うことで各機能を実現する。なお、本機能ブロックに含まれる一部または全部がハードウェア化されていてもよい。この場合、各機能ブロックに含まれる一部または全部は、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により構成される。
【００１９】
図２において、２０１はソフトウェア機能ブロック全体を示す。２０２は通信パラメータ制御部である。通信パラメータ制御部２０２は、装置間で通信パラメータを共有するための通信パラメータ共有処理を実行する。通信パラメータ共有処理においては、提供装置が受信装置に無線通信するための通信パラメータを提供する。ここで、通信パラメータには、ネットワーク識別子としてのＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）、暗号方式、暗号鍵、認証方式、認証鍵等の無線ＬＡＮ通信を行うために必要な無線通信パラメータが含まれる。また、ＭＡＣ（Ｍｅｄｉａ Ａｃｃｅｓｓ Ｃｏｎｔｒｏｌ）アドレス、パスフレーズ、ＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）層での通信を行うためのＩＰアドレス、上位サービスに必要な情報等も含めてもよい。通信パラメータ制御部２０２が実行する通信パラメータ共有処理は、Ｗｉ−Ｆｉアライアンスで規定されているＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）またはＷｉ−Ｆｉ  Ｄｉｒｅｃｔであってよい。
【００２０】
２０３は文字列入力制御部である。文字列入力制御部２０３は、入力部１０９により入力された文字列を取得する。文字列入力制御部２０３によって取得される文字列は、数字のみで構成された文字列であってもよいし、英数字または記号のみで構成されてもよいし、これらの組み合わせによって構成された文字列であってもよい。
【００２１】
２０４は文字列生成制御部である。通信パラメータ提供に用いる文字列の生成を実施し、表示部１０５へ生成した文字列を表示するための制御を実施する。２０５はアプリケーションレイヤにおけるサービス制御部である。ここでのアプリケーションレイヤとはＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供層のことをさす。すなわちサービス制御部２０５は、無線部１０４による無線通信を用いて印刷処理や画像ストリーミング処理や、ファイル転送処理などを実行する。
【００２２】
２０６はパケット受信部、２０７はパケット送信部であり、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信を制御する。また、パケット受信２０６及びパケット送信部２０７は、対向装置との間でＩＥＥＥ８０２．１１規格に準拠したパケットの送信及び受信を行うため無線部１０４を制御する。
【００２３】
２０８はステーション機能制御部であり、ＩＥＥＥ８０２．１１規格に定められたインフラストラクチャモードにおけるステーション（ＳＴＡ）として動作するＳＴＡ機能を提供する。ＳＴＡ機能制御部２０８は、ＳＴＡとして動作する際に、認証・暗号処理等を実施する。また、２０９はアクセスポイント機能制御部であり、ＩＥＥＥ８０２．１１規格に定められたインフラストラクチャモードにおけるアクセスポイント（ＡＰ）として動作するＡＰ機能を提供する。ＡＰ機能制御部２０９は、無線ネットワークを形成し、ＳＴＡに対する認証・暗号処理およびＳＴＡの管理等を実施する。２１０はデータ記憶部であり、ソフトウェアそのものおよび、通信パラメータや、バーコード類の情報の記憶部１０３への書き込み及び読み込みの制御を行う。
【００２４】
また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２５】
以上の構成を有する通信システムの動作について説明を行う。カメラ３２、携帯電話３３、およびＡＰ３４の各通信装置間における通信設定時の接続シーケンスを図４に示す。この例では、ＡＰ３４によって構築されている無線ネットワーク３１にカメラ３２を参加させる場合について説明を行う。図４において、携帯電話３３は、ＡＰ３４が形成する無線ネットワーク３１に接続し、通信するための通信パラメータを既に保持しており、携帯電話３３は、ＡＰ３４を介したデータ通信処理が実施されている（Ｆ４０１）。
【００２６】
携帯電話３３は、無線ネットワーク３１にカメラ３２を参加させるため、携帯電話３３を特定するための文字列を文字列生成制御部２０４にて生成し、携帯電話３３の表示部１０５にユーザ操作に従って表示させる。
【００２７】
ユーザは、カメラ３２の入力部１０９より携帯電話３３に表示されている文字列を入力する（Ｆ４０２）。カメラ３２は、入力部１０９から得た文字列を基に、提供装置を検索するために用いる検索用識別子と、提供装置に公開鍵を送付するための暗号鍵を生成する。例えば検索用識別子は入力文字列にＳＨＡ−２（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ−２）を適用して生成したハッシュコードの一部または全部であってよい。また、暗号鍵は、入力文字列に、あらかじめ定められた固定の文字列あるいは自端末のＭＡＣアドレスの少なくとも一方を付加して生成した一時文字列に、ＳＨＡ−２を適用して生成したハッシュコードの一部または全部であってよい。なお、検索用識別子および暗号鍵の生成に用いるハッシュ関数は、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）やＳＨＡ−１などのその他のハッシュ関数であってもよい。
【００２８】
カメラ３２は、通信パラメータ共有処理を実施するために、カメラ３２の無線部１０４を起動する（Ｆ４０３）。
【００２９】
カメラ３２は携帯電話３３から読みとった文字列の情報に基づいて、提供装置（携帯電話３３）を検索するための提供装置検索信号を送信する（Ｆ４０４）。この検索信号は、ＩＥＥＥ８０２．１１で規定されるアクションフレームであってよい。この検索信号には、Ｆ４０２で生成した検索用識別子を付与して送信する。また、この提供装置検索信号は、全ての無線端末宛てにブロードキャスト送信される。
【００３０】
携帯電話３３はカメラ３２からの提供装置検索信号を受信すると、検索信号に含まれる検索用識別子と、Ｆ４０２に記載の生成方法と同じ方法で自身が生成した検索用識別子を比較する。比較の結果、両者が同一であると判断した場合、携帯電話３３はカメラ３２に対し応答信号を返信する（Ｆ４０５）。Ｆ４０４とＦ４０５の信号のやり取りにより、カメラ３２は、通信パラメータ共有処理の相手装置として携帯電話３３を認識し、両者間で通信パラメータ共有処理を実施する（Ｆ４０６）。Ｆ４０６における通信パラメータ共有処理において、携帯電話３３およびカメラ３２は、それぞれの端末が生成した公開鍵暗号方式における公開鍵を上記文字列から生成した暗号鍵を用いて暗号化し、互いに共有する。続いて、携帯電話３３およびカメラ３２はそれぞれの端末の公開鍵および秘密鍵を用いてＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有を実施し、双方の端末において同一の共通鍵を生成する。続いて、携帯電話３３は上記共通鍵を用いて通信パラメータを暗号化し、カメラ３３へ送信する。通信パラメータには、無線ネットワーク３１のネットワーク識別子（ＳＳＩＤ）、認証方式、暗号方式、パスフレーズのうちの一部又は全部が含まれる。また、前記通信パラメータに、無線ネットワーク３１の周波数帯域、チャネルを示す情報が含まれていてもよい。以上のステップにより、カメラ３２が無線ネットワーク３１に接続するために必要な通信パラメータが携帯電話３３からカメラ３２へ安全に提供される。
【００３１】
カメラ３２は、携帯電話３３から通信パラメータを無線部１０４による無線通信により共有した後に、取得した通信パラメータを用いてＡＰ３４が形成する無線ネットワーク３１に接続する。具体的には、カメラ３２からＡＰ３４へＩＥＥＥ８０２．１１において規定されたＡｓｓｏｃｉａｔｉｏｎ  Ｒｅｑｕｅｓｔメッセージを送信し、ＡＰ３４が形成する無線ネットワーク３１に接続する。そして、カメラ３２は、ＡＰ３４を介したデータ通信処理を実施する（Ｆ４０７）。Ｆ４０７におけるデータ通信において、カメラ３２はＡＰ３４が接続するインターネットで通信してもよいし、撮影した画像を携帯電話３３にＡＰ３４を介して送信する画像転送サービスを実施してもよい。
【００３２】
続いて、上述のカメラ３２の動作を図５に示すフローチャートを用いて説明する。なお、図５に示すフローチャートは、カメラ３２の制御部１０２が記憶部１０３に記憶されている制御プログラムを実行し、情報の演算および加工、各ハードウェアの制御を実行することにより実現される。なお、図５に示すフローチャートに示すステップの一部または全部を例えばＡＳＩＣ等のハードウェアで実現する構成としても良い。
【００３３】
図５のフローチャートは、カメラ３２の入力部１０９により、ユーザから通信パラメータ設定モードを指示された場合に開始される。カメラ３２は、通信パラメータ設定モードに設定されると、通信パラメータ設定アプリケーションを起動する（Ｓ５０１）。ここで、通信パラメータ設定アプリケーションは、通信パラメータ制御部２０２に対応し、通信パラメータ共有処理を行うためのアプリケーションである。
【００３４】
カメラ３２は、通信パラメータ設定アプリを起動すると、入力部１０９を起動するとともに表示部１０５に文字列を入力することを指示する情報を表示する。カメラ３２は、入力部１０９によりユーザから文字列を取得する（Ｓ５０２）。
【００３５】
次に、カメラ３２は、Ｓ５０２で取得した文字列から検索用識別子と暗号鍵を生成する（Ｓ５０３）。なお、カメラ３２は、Ｓ５０２の文字列取得以降ユーザ操作なしにＳ５０３以降の処理を行うようにしてよい。また、カメラ３２は、ユーザに以降の処理を行うか否かを問い合わせ、ユーザにより実行指示を受け付けた場合にＳ５０３以降の処理を行うようにしてもよい。
【００３６】
続いて、カメラ３２は自装置の無線部１０４が起動中か否かを判定する（Ｓ５０４）。Ｓ５０４の判定の結果、カメラ３２は、無線部１０４が未起動である場合は、無線部１０４を起動する（Ｓ５０５）。無線部１０４が起動済みである場合は、Ｓ５０６に処理を進める。
【００３７】
次に、カメラ３２は、無線部１０４を用いて、提供装置（図４においては携帯電話３３）を検索するために提供装置検索信号を送信する（Ｓ５０６）。この検索信号には、Ｓ５０３で生成した検索用識別子が含まれる。この提供装置検索信号は、全ての無線端末宛てにブロードキャスト送信される。なお、この提供装置検索信号は、予め定められた特定のチャネル、乃至は複数の特定のチャネルセット上にのみ繰り返し送信されるものであってもよい。あるいは、無線部１０４が使用可能な全ての周波数チャネルを時分割に切り替えて繰り返し送信されるものであってもよい。
【００３８】
カメラ３２は、Ｓ５０６で送信した提供装置検索信号に対する探索応答信号を待ち受ける（Ｓ５０７）。Ｓ５０７において、提供装置検索信号を送信してから所定の時間内に探索応答信号を受信しなかった場合、または、通信パラメータを受領できず、通信パラメータ共有処理に失敗した場合は、エラー終了する（Ｓ５１２）。このとき、例えば「設定処理に失敗しました」などとエラーの内容を表示部１０５に表示してもよい。さらには、Ｓ５０７において、異なる装置から複数の探索応答信号を受信した場合も、Ｓ５１２のエラー終了処理を行ってもよいし、Ｓ５０８に進み、異なる装置と順次あるいは、同時に公開鍵の交換を行っても良い。
【００３９】
Ｓ５０７にて探索応答信号を受信した場合、カメラ３２は、探索応答信号を送信した提供装置との間で、通信パラメータ共有処理を開始する。ここでカメラ３２は、自端末の公開鍵ＰＵＢ＿Ａと、対になる秘密鍵ＰＲＩ＿Ａを生成し、公開鍵ＰＵＢ＿Ａを提供装置へ送信する（Ｓ５０８）。設定開始時に共有した文字列を持つ端末の公開鍵であることを明示するため、公開鍵ＰＵＢ＿ＡはＳ５０３で生成した暗号鍵を用いて暗号化したものを送信する。なお、公開鍵ＰＵＢ＿Ａは、提供装置宛てのユニキャストによるＩＥＥＥ８０２．１１アクションフレームで送信してよい。また、公開鍵ＰＵＢ＿Ａを暗号化するアルゴリズムは、ＡＥＳ−Ｋｅｙｗｒａｐなど既知の共通鍵暗号アルゴリズムであってよい。また、Ｓ５０８で生成される公開鍵ＰＵＢ＿Ａおよび秘密鍵ＰＲＩ＿Ａは、例えばＲＳＡ暗号方式のような、既知の非対称鍵暗号方式における公開鍵および秘密鍵であってよい。
【００４０】
続いて、カメラ３２は、提供装置から提供装置が生成した秘密鍵ＰＲＩ＿Ｂと対になる公開鍵ＰＵＢ＿Ｂを受領する（Ｓ５０９）。Ｓ５０８と同様、公開鍵ＰＵＢ＿ＢもＳ５０３で生成した暗号鍵を用いて暗号化されているため、Ｓ５０３で生成した暗号鍵を用いて復号する。なお、Ｓ５０９で公開鍵ＰＵＢ＿Ｂを含むフレームを受領しなかった場合、あるいは公開鍵ＰＵＢ＿ＢをＳ５０３で生成した暗号鍵で正しく復号できなかった場合、Ｓ５１２と同様にユーザにエラーを通知して終了するよう構成してもよい。また、暗号鍵の復号ができなかった場合に、エラーを発生した装置とは別の装置との間でＳ５０８に戻って継続して処理を行っても良い。この場合、カメラ３２では、すでにエラーが発生した装置とは繰り返し処理を行わないように制御する。
【００４１】
次に、カメラ３２は、提供装置と共有した公開鍵を用いて、通信パラメータ共有を実施する（Ｓ５１０）。例えば、Ｓ５１０では、まずＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有を実施し、公開鍵ＰＵＢ＿Ａ、公開鍵ＰＵＢ＿Ｂ、秘密鍵ＰＲＩ＿Ａ、秘密鍵ＰＲＩ＿Ｂを用いて双方の端末に同一の共通鍵を生成する。続いて、カメラ３３は提供装置が共通鍵を用いて暗号化した通信パラメータを、提供装置から受領する。その後、カメラ３３は受領した通信パラメータを共通鍵で復号する。
【００４２】
次に、カメラ３２は、通信提供装置から受領した通信パラメータを使って、無線ネットワーク３１に接続し、ＡＰ３４を介したデータ通信を開始する（Ｓ５１１）。
【００４３】
続いて、上述の携帯電話３３の動作を図６に示すフローチャートを用いて説明する。なお、図６に示すフローチャートは、携帯電話３３の制御部１０２が記憶部１０３に記憶されている制御プログラムを実行し、情報の演算および加工、各ハードウェアの制御を実行することにより実現される。なお、図６に示すフローチャートに示すステップの一部または全部を例えばＡＳＩＣ等のハードウェアで実現する構成としても良い。
【００４４】
図６のフローチャートは、携帯電話３３の入力部１０９により、ユーザから通信パラメータ設定モードを指示された場合に開始される。携帯電話３３は、通信パラメータ設定モードに設定されると、通信パラメータ設定アプリケーションを起動する（Ｓ６０１）。ここで、通信パラメータ設定アプリケーションは、通信パラメータ制御部２０２に対応し、通信パラメータ共有処理を行うためのアプリケーションである。
【００４５】
携帯電話３３は、通信パラメータ設定アプリを起動すると、表示部１０５に通信パラメータ設定に用いるための文字列を表示する（Ｓ６０２）。Ｓ６０２で表示される文字列は、表示されるたびに文字列生成制御部２０４によりランダムに生成されてもよい。あるいは、Ｓ６０２で表示される文字列は、工場出荷時に携帯電話３３に貼り付けられたラベルに記載された文字列と同一の文字列であってもよい。
【００４６】
次に、携帯電話３３は、Ｓ６０２で表示した文字列から検索用識別子と暗号鍵を生成する（Ｓ６０３）。なお、携帯電話３３は、Ｓ６０２の文字列表示以降ユーザ操作なしにＳ６０３以降の処理を行うようにしてよい。
【００４７】
次に、携帯電話３３は、無線部１０４を用いて、受信装置（図４においてはカメラ３２）からの提供装置検索信号を待ちうける（Ｓ６０４）。なお、Ｓ６０４において、携帯電話３３は、無線ネットワーク３１が使用している無線チャネル上で提供装置検索信号を待ちうけてよい。あるいは、Ｓ６０４において、携帯電話３３は、一時的に無線ネットワーク３１を離脱し、予め定められた特定の無線チャネル上で提供装置検索信号を待ちうけてもよい。
【００４８】
次に、携帯電話３３は、Ｓ６０４で受信した提供装置検索信号に、Ｓ６０３で生成した検索用識別子が含まれているかどうか判定する（Ｓ６０５）。Ｓ６０５にて、検索用識別子が含まれていない場合や、Ｓ６０３で生成したものとは異なる検索用識別子が含まれている場合、再度Ｓ６０４に戻り提供装置検索信号を待受ける。一方、Ｓ６０５にて、Ｓ６０３で生成した検索用識別子を含む提供装置検索信号を受信した場合、その提供装置検索信号の送信元装置に対し、検索応答信号を送信する（Ｓ６０６）。Ｓ６０６で送信される検索応答信号は、送信元装置を宛先としたユニキャストのＩＥＥＥ８０２．１１アクションフレームであってよい。Ｓ６０６で送信される検索応答信号は、全ての端末にブロードキャストされるＩＥＥＥ８０２．１１アクションフレームであってもよい。あるいは、同一のマルチキャストグループに属する端末に対して送信するマルチキャストの当該フレームでもよい。また、この検索応答信号には、携帯電話３３のＭＡＣアドレス、機種名、製造元、デバイスのニックネーム、Ｓ６０６で生成した検索識別子等の情報要素が含まれていてもよい。なお、携帯電話３３は、Ｓ６０６で検索応答信号を送信した時点でユーザに以降の処理を行うか否かを問い合わせ、ユーザにより実行指示を受け付けた場合にＳ６０７以降の処理を行うようにしてもよい。
【００４９】
次に、携帯電話３３は、Ｓ６０４で提供装置検索信号を送信した受信装置との間で、通信パラメータ共有処理を開始するため、自端末の公開鍵ＰＵＢ＿Ｂと、対になる秘密鍵ＰＲＩ＿Ｂを生成し、公開鍵ＰＵＢ＿Ｂを受信装置へ送信する（Ｓ６０７）。なお、Ｓ６０７において、公開鍵ＰＵＢ＿ＢはＳ６０３で生成した暗号鍵を用いて暗号化したものを送信してもよい。あるいは、暗号化されない公開鍵ＰＵＢ＿Ｂを送信してもよい。
【００５０】
続いて、携帯電話３３は、受信装置から受信装置が生成した秘密鍵ＰＲＩ＿Ａと対になる公開鍵ＰＵＢ＿Ａを受信する（Ｓ６０８）。Ｓ６０７と同様、公開鍵ＰＵＢ＿ＡもＳ６０３で生成した暗号鍵を用いて暗号化されているため、Ｓ６０３で生成した暗号鍵を用いて復号する。なお、Ｓ６０８で公開鍵ＰＵＢ＿Ａを含むフレームを受信しなかった場合、あるいは公開鍵ＰＵＢ＿ＡをＳ６０３で生成した暗号鍵で正しく復号できなかった場合、ユーザにエラーを通知して終了するよう構成してもよい。
【００５１】
次に、携帯電話３３は、受信装置と共有した公開鍵を用いて、通信パラメータ共有を実施する（Ｓ６０９）。例えば、Ｓ６０９では、まずＳ５１０と同様にＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有を実施し、公開鍵ＰＵＢ＿Ａ、公開鍵ＰＵＢ＿Ｂ、秘密鍵ＰＲＩ＿Ａ、秘密鍵ＰＲＩ＿Ｂを用いて双方の端末に同一の共通鍵を生成する。続いて、携帯電話３３は通信パラメータを共通鍵で暗号化し、受信装置へ送信する。なお、Ｓ６０９において携帯電話３３が通信パラメータを暗号化する方法は、ＡＥＳ−Ｋｅｙｗｒａｐなど既知の共通鍵暗号アルゴリズムであってよい。なお、Ｓ６０９において携帯電話３３が通信パラメータを暗号化する際に使用する暗号鍵は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵共有にて共有した共有鍵そのものに限らず、共有鍵にＳＨＡ−２等既知のハッシュ関数を適用したものであってもよい。
【００５２】
このように本実施形態によれば、提供装置が、受信装置と同一の文字列に基づいてパラメータ提供動作を行っているかを判断した上で当該情報に基づいて通信パラメータの設定を行うことができる。したがって、同一の文字列に基づいてパラメータ提供動作を行っている提供装置を速やかに発見することが可能となり、通信パラメータ設定完了までのユーザの待ち時間を短縮することができる。また、本実施形態によれば、通信パラメータの設定に用いる文字列を誤って入力したとしても、この誤った情報に基づいて通信パラメータ設定が開始されてしまうことがなくなるため、無駄な通信パラメータ共有処理の開始を防ぐことができる。
【００５３】
（実施形態２）
実施形態１では、カメラ３２が文字列取得を契機に提供装置を検索する信号の送信を開始し、携帯電話３３からの検索応答を待受ける場合について説明した。本実施形態においては、携帯電話３３が生成した文字列をもとにした報知信号を報知する場合について説明する。なお、装置の構成は、実施形態１と同様である。
【００５４】
本実施形態におけるカメラ３２、携帯電話３３、およびＡＰ３４の各通信装置間における通信設定時の接続シーケンスを図７に示す。この例では、ＡＰ３４によって開設されている無線ネットワーク３１にカメラ３２を参加させる場合について説明を行う。なお、Ｆ７０１からＦ７０３、Ｆ７０６からＦ７０８はそれぞれ実施形態１のＦ４０１からＦ４０３、Ｆ４０６からＦ４０８と同一であるため、説明は省略する。
【００５５】
パラメータ提供動作開始後、携帯電話３３はＦ７０２で表示した文字列の情報に基づいて、受信装置（カメラ３２）に対してパラメータ提供動作を報知するための提供動作報知信号を送信する（Ｆ７０４）。この報知信号は、ＩＥＥＥ８０２．１１で規定されるアクションフレームであってよい。この報知信号には、Ｆ７０２で生成した検索用識別子を付与して送信する。また、この報知信号は、全ての無線端末宛てにブロードキャスト送信される。また、この報知信号には、受信装置が同一の文字列を所有していることを検証するためのチャレンジコードを含んでいてもよい。報知信号に含まれるチャレンジコードは、携帯電話３３によりランダムに生成されたバイト列であってよい。
【００５６】
カメラ３２は携帯電話３３からの提供動作報知信号を受信すると、報知信号に含まれる検索用識別子と、Ｆ７０２に記載の生成方法と同じ方法で自身が生成した検索用識別子を比較する。比較の結果、両者が同一であると判断した場合、カメラ３２は携帯電話３３に対し提供要求信号を送信する（Ｆ７０５）。なお、このＦ７０５で送信される提供要求信号は、上記提供動作報知信号の送信元を宛先としたＩＥＥＥ８０２．１１アクションフレームであってよい。あるいは、全ての端末にブロードキャストされるＩＥＥＥ８０２．１１アクションフレームであってもよい。また、Ｆ７０５で送信される提供要求信号には、Ｆ７０２で生成した暗号鍵により暗号化した、報知信号に含まれるチャレンジコードが含まれていてもよい。
【００５７】
Ｆ７０４とＦ７０５の信号のやり取りにより、カメラ３２は、通信パラメータ共有処理の相手装置として携帯電話３３を認識し、両者間で通信パラメータ共有処理を実施する（Ｆ７０６）。なお、Ｆ７０６において、携帯電話３３はカメラ３２から受領した提供要求信号に含まれる暗号化されたチャレンジコードをＦ７０２で生成した暗号鍵で復号し、Ｆ７０４で付与したチャレンジコードと一致するかどうか判定してもよい。また、判定の結果、一致した場合に限りＦ７０６の通信パラメータ共有処理を実施するよう構成してもよい。また、判定の結果、一致しない場合に、表示部１０５を用いてユーザにエラーを通知してパラメータ設定処理を中止するよう構成してもよい。
【００５８】
このように本実施形態によれば、提供装置が、受信装置と同一の文字列に基づいてパラメータ提供動作を行っているかを判断した上で当該情報に基づいて通信パラメータの設定を行うことができる。したがって、同一の文字列に基づいてパラメータ提供動作を行っている提供装置を速やかに発見することが可能となり、通信パラメータ設定完了までのユーザの待ち時間を短縮することができる。また、本実施形態によれば、通信パラメータの設定に用いる文字列を誤って入力したとしても、この誤った情報に基づいて通信パラメータ設定が開始されてしまうことがなくなるため、無駄な通信パラメータ共有処理の開始を防ぐことができる。
【００５９】
（その他の実施形態）
上述の実施形態においては、文字列を利用して通信パラメータの設定を行うための情報を装置間でやり取りする構成について説明した。しかし、文字列の入力に代えて、ＱＲコード（登録商標）の撮影や、ＮＦＣやＢｌｕｅｔｏｏｔｈ（登録商標）などの無線通信を用いてもよい。また、ＩＥＥＥ８０２．１１ａｄもしくはトランスファージェット（ＴｒａｎｓｆｅｒＪｅｔ）（登録商標）等の無線通信を用いてもよい。
【００６０】
なお、入力する文字列は表示部に表示されている文字列だけではなく、通信機器の筺体にシールなどの形態で貼り付けられている文字列であってよい。また、入力する文字列は取り扱い説明書や通信機器の販売時の段ボールなどの包装に貼り付けられているものであってもよい。また、文字列でなく、バーコード、二次元コードであっても良い。
【００６１】
また、上記実施形態では、提供装置検索信号及びその応答や、提供機能報知信号として、ＩＥＥＥ８０２．１１規格に基づくアクションフレームを用いるものとしたが、その他のメッセージフレームを用いてもよい。例えば、ＩＥＥＥ８０２．１１規格に基づくＰｒｏｂｅ  Ｒｅｑｕｅｓｔ／Ｒｅｓｐｏｎｓｅメッセージを用いてもよい。  本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６２】
３２  カメラ
３３  携帯電話
３４  アクセスポイント
【図１】
0006570355.tif 000002
【図２】
0006570355.tif 000003
【図３】
0006570355.tif 000004
【図４】
0006570355.tif 000005
【図５】
0006570355.tif 000006
【図６】
0006570355.tif 000007
【図７】
0006570355.tif 000008