IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特開-通信装置、方法およびプログラム 図1
  • 特開-通信装置、方法およびプログラム 図2
  • 特開-通信装置、方法およびプログラム 図3
  • 特開-通信装置、方法およびプログラム 図4
  • 特開-通信装置、方法およびプログラム 図5
  • 特開-通信装置、方法およびプログラム 図6
  • 特開-通信装置、方法およびプログラム 図7
  • 特開-通信装置、方法およびプログラム 図8
  • 特開-通信装置、方法およびプログラム 図9
  • 特開-通信装置、方法およびプログラム 図10
  • 特開-通信装置、方法およびプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171152
(43)【公開日】2024-12-11
(54)【発明の名称】通信装置、方法およびプログラム
(51)【国際特許分類】
   H04W 76/10 20180101AFI20241204BHJP
   H04W 76/38 20180101ALI20241204BHJP
   H04W 12/03 20210101ALI20241204BHJP
   H04W 12/73 20210101ALI20241204BHJP
【FI】
H04W76/10
H04W76/38
H04W12/03
H04W12/73
【審査請求】未請求
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2023088071
(22)【出願日】2023-05-29
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】山田 康平
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA32
5K067EE02
5K067EE10
5K067GG01
5K067HH36
(57)【要約】
【課題】通信装置とアクセスポイントとを接続させるための構成において、セキュリティをより向上させる通信装置を提供する。
【解決手段】通信装置は、通信可能な情報処理装置と異なり且つ前記通信装置と異なる外部アクセスポイントと前記通信装置との間での第1の接続方式による無線接続の確立のための通信に用いられる情報を保持する保持手段と、前記情報に基づいて前記情報処理装置から送信される要求を受信する受信手段と、前記受信手段により受信した前記要求に基づいて、前記第1の接続方式による無線接続のための通信を実行する通信手段と、前記受信手段により前記要求を受信したことに基づいて、前記保持手段に保持されている前記情報を破棄する破棄手段とを備える。
【選択図】図9
【特許請求の範囲】
【請求項1】
情報処理装置と通信可能な通信装置であって、
前記情報処理装置と異なり且つ前記通信装置と異なる外部アクセスポイントと前記通信装置との間での第1の接続方式による無線接続の確立のための通信に用いられる情報を保持する保持手段と、
前記情報に基づいて前記情報処理装置から送信される要求を受信する受信手段と、
前記受信手段により受信した前記要求に基づいて、前記第1の接続方式による無線接続のための通信を実行する通信手段と、
前記受信手段により前記要求を受信したことに基づいて、前記保持手段に保持されている前記情報を破棄する破棄手段と、
を備えることを特徴とする通信装置。
【請求項2】
前記情報を生成する生成手段をさらに備え、
前記保持手段は、前記生成手段により生成された前記情報を保持することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記破棄手段はさらに、前記受信手段により前記要求を受信しない場合、所定の期間が経過したことに基づいて、前記保持手段に保持されている前記情報を破棄することを特徴とする請求項1に記載の通信装置。
【請求項4】
前記破棄手段はさらに、前記通信手段により実行される前記通信が失敗した場合、前記保持手段に保持されている前記情報を破棄することを特徴とする請求項1に記載の通信装置。
【請求項5】
前記通信手段により実行される前記通信においては、前記通信装置と前記情報処理装置の間で通信パラメータが通信され、前記情報は、前記通信パラメータの暗号化に用いられる情報であることを特徴とする請求項1に記載の通信装置。
【請求項6】
前記通信パラメータの暗号化に用いられる情報は、公開鍵を含むことを特徴とする請求項5に記載の通信装置。
【請求項7】
前記破棄手段はさらに、前記通信手段により実行される前記通信において前記情報処理装置から取得した前記通信パラメータが条件を満たさない場合、前記保持手段に保持されている前記情報を破棄することを特徴とする請求項5に記載の通信装置。
【請求項8】
前記条件は、前記通信パラメータが所定の情報を含むことであることを特徴とする請求項7に記載の通信装置。
【請求項9】
前記所定の情報は、前記外部アクセスポイントのSSID(Service Set Identifier)であることを特徴とする請求項8に記載の通信装置。
【請求項10】
前記所定の情報は、前記外部アクセスポイントのセキュリティ方式の情報であることを特徴とする請求項8に記載の通信装置。
【請求項11】
前記所定の情報は、前記外部アクセスポイントのパスワードであることを特徴とする請求項8に記載の通信装置。
【請求項12】
前記通信手段により実行される前記通信は、DPP(Device Provisioning Protocol)によって実行される通信であることを特徴とする請求項5に記載の通信装置。
【請求項13】
前記破棄手段は、前記DPPによって実行され、前記情報に基づく通信の実行を待ち受けるモードの終了後に、前記情報を破棄することを特徴とする請求項12に記載の通信装置。
【請求項14】
前記保持手段は、前記情報を前記情報処理装置が取得可能なように保持することを特徴とする請求項1に記載の通信装置。
【請求項15】
前記保持手段は、前記情報を前記情報処理装置による撮像が可能な情報として保持することを特徴とする請求項14に記載の通信装置。
【請求項16】
前記撮像が可能な情報は、表示部に表示されたコード情報であることを特徴とする請求項15に記載の通信装置。
【請求項17】
前記破棄手段により前記保持手段に保持されている前記情報が破棄されることにより、前記コード情報の表示が停止することを特徴とする請求項16に記載の通信装置。
【請求項18】
前記受信手段により前記要求の受信が可能なように前記通信装置を制御する制御手段をさらに備え、
前記制御手段は、前記情報処理装置と前記通信装置との間での前記外部アクセスポイントを介さない第2の接続方式による無線接続を行う状態への移行が開始された場合に、前記要求の受信が可能なように前記通信装置を制御する、
ことを特徴とする請求項1に記載の通信装置。
【請求項19】
前記第2の接続方式による無線接続は、前記情報処理装置と前記通信装置との間におけるピア・ツー・ピアによる無線接続であることを特徴とする請求項18に記載の通信装置。
【請求項20】
前記第2の接続方式による無線接続は、前記情報処理装置と前記通信装置との間で前記通信装置がアクセスポイントとなる無線接続であることを特徴とする請求項19に記載の通信装置。
【請求項21】
前記通信装置は、プリンタであることを特徴とする請求項1に記載の通信装置。
【請求項22】
情報処理装置と通信可能な通信装置において実行される方法であって、
前記情報処理装置と異なり且つ前記通信装置と異なる外部アクセスポイントと前記通信装置との間での第1の接続方式による無線接続の確立のための通信に用いられる情報を保持する保持工程と、
前記情報に基づいて前記情報処理装置から送信される要求を受信する受信工程と、
前記受信工程において受信した前記要求に基づいて、前記第1の接続方式による無線接続のための通信を実行する通信工程と、
前記受信工程において前記要求を受信したことに基づいて、前記保持工程で保持されている前記情報を破棄する破棄工程と、
を有することを特徴とする方法。
【請求項23】
請求項1乃至21のいずれか1項に記載の通信装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置と無線接続の確立が可能な通信装置、方法およびプログラムに関する。
【背景技術】
【0002】
PC(パーソナルコンピュータ)等の情報処理装置が、プリンタ等の通信装置に、アクセスポイントに関する情報を送信し、当該通信装置と当該外部装置とを接続させる技術が知られている。その一つとして、Wi-Fi AllianceでDevice Provisioning Protocol(DPP)を使ったWi-Fi Easy Connect(WEC)という機器間でネットワーク情報を送受信する仕組みが規格化されている。WECでは、ネットワーク情報の送受信のトリガーとなるBootstrappingの構成としてQRコード(登録商標)、Bluetooth Low Energy(BLE)、Near Field Communication(NFC)などが挙げられており、通信相手となる機器に公開鍵を提供することで通信が開始される。特許文献1には、Bootstrappingの情報をQRコードで表示することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-180036号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
通信装置とアクセスポイントとを接続させる機能において、セキュリティをより向上させることが求められる。
【0005】
本発明は、通信装置とアクセスポイントとを接続させるための構成において、セキュリティをより向上させる通信装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る通信装置は、情報処理装置と通信可能な通信装置であって、前記情報処理装置と異なり且つ前記通信装置と異なる外部アクセスポイントと前記通信装置との間での第1の接続方式による無線接続の確立のための通信に用いられる情報を保持する保持手段と、前記情報に基づいて前記情報処理装置から送信される要求を受信する受信手段と、前記受信手段により受信した前記要求に基づいて、前記第1の接続方式による無線接続のための通信を実行する通信手段と、前記受信手段により前記要求を受信したことに基づいて、前記保持手段に保持されている前記情報を破棄する破棄手段とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、通信装置とアクセスポイントとを接続させるための構成において、セキュリティをより向上させることができる。
【図面の簡単な説明】
【0008】
図1】システムの構成を示す図である。
図2】通信装置の外観構成を示す図である。
図3】通信装置に表示されるユーザインタフェース画面を示す図である。
図4】通信装置の構成を示す図である。
図5】情報処理装置の外観構成を示す図である。
図6】情報処理装置の構成を示す図である。
図7】外部アクセスポイントの構成を示す図である。
図8】装置間の処理を示すシーケンス図である。
図9】通信装置において実行される処理を示すフローチャートである。
図10】装置間の処理を示すシーケンス図である。
図11】通信装置において実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
[第1実施形態]
図1に、本実施形態におけるシステムの構成の一例を示す図である。本システムは、複数の装置が相互に無線で通信可能な無線通信システムである。図1では、装置として、情報処理装置200、通信装置300、アクセスポイント400を含む。情報処理装置200は、無線LAN等による無線通信機能を有する装置である。なお、以下では、無線LANをWLANと呼ぶ場合がある。情報処理装置200は例えば、PDA(Personal Digital Assistant)等の個人情報端末、携帯電話、デジタルカメラ等である。通信装置300は、印刷機能を有する印刷装置であり、さらに、読取機能(スキャナ)やFAX機能、電話機能を有していてもよい。また、通信装置300は、無線LAN等による無線通信機能を有し、情報処理装置200と無線通信可能である。また、本実施形態では通信装置300の一例としてMFPが用いられる場合について説明するが、これに限られない。例えば、通信機能を有する、スキャナ装置、プロジェクタ、携帯端末、スマートフォン、ノートPC、タブレット端末、PDA、デジタルカメラ、音楽再生デバイス、テレビ、スマートスピーカ等が用いられてもよい。なお、MFPは、Multi Function Peripheral(多機能周辺機器)の頭字語である。
【0011】
アクセスポイント400は、情報処理装置200の外部且つ通信装置300の外部に設けられる外部アクセスポイントであり、WLANの基地局装置として動作する。なお、アクセスポイント400は、無線基地局と表されることもある。WLANの通信機能を有する装置は、アクセスポイント400を介してWLANのインフラストラクチャモードでの通信を行うことができる。なお、以下では、アクセスポイントを「AP」と呼ぶ場合がある。また、インフラストラクチャモードを「無線インフラモード」と呼ぶ場合がある。アクセスポイント400は、自装置への接続を許可した(認証済みの)装置と無線通信を行い、その装置と、他の装置との無線通信を中継する。また、アクセスポイント400は、例えば有線通信ネットワークに接続され、その有線通信ネットワークに接続されている装置と、アクセスポイント400に無線接続されている他の装置との通信を中継し得る。
【0012】
情報処理装置200と通信装置300は、各々が有するWLAN通信機能を用いて、外部のアクセスポイント400を介した無線インフラモードや、外部のアクセスポイント400を介さないピア・ツー・ピアモードで無線通信を行いうる。なお、以下では、ピア・ツー・ピアを「P2P」もしく「P2P(WLAN)」とも呼ぶ。P2Pモードでは、Wi-Fi Direct(登録商標)やソフトAPモード等を含む。なお、以下ではWi-Fi Direct(登録商標)をWFDと呼ぶ場合がある。つまり、P2P(WLAN)は、IEEE802.11シリーズに準拠した通信ともいえる。なお、本実施形態では、情報処理装置200及び通信装置300が、後述のように、WLAN通信を用いて、複数の印刷サービスに対応した処理を実行可能であるものとする。
【0013】
図2は、通信装置300の外観構成の一例を示す図である。通信装置300は、例えば、原稿台301、原稿蓋302、印刷用紙挿入口303、印刷用紙排出口304、及び、操作表示部305を有する。原稿台301は、読取対象の原稿を置く台である。原稿蓋302は、原稿台301に置かれた原稿を押さえ、また、読取の際に原稿を照射する光源からの光が外部に漏れないようにするための蓋である。印刷用紙挿入口303は、サポート可能なサイズの用紙をセット可能な挿入口である。印刷用紙排出口304は、印刷が完了した用紙を排出する排出口である。印刷用紙挿入口303にセットされた用紙は、一枚ずつ印刷部に搬送され、印刷部で印刷が行われた後に、印刷用紙排出口304から排出される。操作表示部305は、文字入力キー、カーソルキー、決定キー、取り消しキー等のキーと、LEDやLCD等を含んで構成され、ユーザによるMFPとしての各種機能の起動や各種設定の操作を受付可能に構成される。また、操作表示部305は、タッチパネルディスプレイを含んで構成されてもよい。通信装置300は、WLANによる無線通信機能を有し、必ずしも外観から視認できる必要はないが、その無線通信のための無線通信用のアンテナ306を含んで構成される。通信装置300も、情報処理装置200と同様に、WLANによって、2.4GHz帯や5GHz帯の周波数帯域で無線通信を行うことができる。
【0014】
図3(a)~図3(c)は、通信装置300の操作表示部305の画面表示の一例を示す図である。図3(a)は、通信装置300の電源が投入され、印刷やスキャン等の動作が行われていない状態(アイドル状態、Standby状態)の間に表示されるホーム画面の一例である。ユーザのキー操作やタッチパネル操作により、コピー、スキャン、インターネット通信を利用したクラウド機能等のメニュー表示が選択されることにより、通信装置300は、対応する設定や機能を実行する。通信装置300は、図3(a)のホーム画面上でキー操作やタッチパネルの操作を受け付けることによってシームレスに図3(a)とは異なる画面を表示することができる。図3(b)は、その一例であり、プリント又はフォト機能の実行や、通信設定の変更等のメニューが表示されている例を示している。この画面におけるユーザ選択に基づいて、プリント機能又はフォト機能や通信設定が実行される。
【0015】
図3(c)は、図3(b)の画面において通信設定が選択された場合に表示される通信インタフェース選択画面の例である。この画面では、有線接続の設定、無線インフラモードの有効/無効設定や、WFDやソフトAPモード等のP2Pモードの有効/無効設定など各種のLAN設定メニューが選択可能に表示される。例えば、図3(c)において、「無線LAN」がユーザ操作により有効に設定された場合、無線インフラモードが有効となり、「無線ダイレクト」がユーザ操作により有効に設定された場合、P2P(WLAN)モードが有効となる。また、この画面では、各接続形態に関する「共通設定」メニューもユーザが選択可能に表示される。さらに、ユーザは、この画面から、無線LANの周波数帯域や周波数チャネルの設定等を行うことができる。
【0016】
図4は、通信装置300の構成の一例を示す図である。通信装置300は、装置自身のメイン制御を行うメインボード311と、WLAN通信を少なくとも1つのアンテナを用いて行う通信モジュールである無線ユニット326とを含んで構成される。また、通信装置300は、例えば有線通信を行うためのモデム329を含んで構成される。メインボード311は、例えば、CPU312、ROM313、RAM314、不揮発性メモリ315、画像メモリ316、読取制御部317、データ変換部318、読取部319、符号復号化処理部321、FAX制御部327を含んで構成される。また、メインボード311は、例えば、印刷部322、給紙部323、印刷制御部324、操作表示部305を含んで構成される。これらのメインボード311内の機能部は、CPU312が管理するシステムバス330を介して、相互に接続される。また、メインボード311と無線ユニット326との間は、例えば、専用のバス325を介して接続され、メインボード311とモデム329との間は、例えばバス328を介して接続される。
【0017】
CPU312は、システム制御部であり、通信装置300の全体を制御する。以下で説明する通信装置300の処理は、一例において、CPU312がROM313に記憶されたプログラムを実行することにより、実現される。なお、各処理の専用のハードウェアが用意されていてもよい。ROM313は、CPU312が実行する制御プログラムや組込OSプログラム等を記憶する。本実施形態では、CPU312が、ROM313に記憶されている各制御プログラムを、ROM313に記憶されている組込OSの管理の下で実行することにより、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。RAM314は、SRAM等により構成される。RAM314は、プログラム制御変数等のデータや、ユーザが登録した設定値や通信装置300の管理データ等のデータを記憶する。また、RAM314は、各種ワーク用バッファとして利用されうる。不揮発性メモリ315は、例えばフラッシュメモリ等のメモリによって構成され、通信装置300の電源がオフとされてもデータを記憶し続ける。画像メモリ316は、DRAM等のメモリで構成される。画像メモリ316は、無線ユニット326を介して受信した画像データや、符号復号化処理部321で処理した画像データなどを蓄積する。なお、通信装置300のメモリ構成は、上述の構成に限定されない。例えば、画像メモリ316とRAM314とが共有されてもよい。データ変換部318は、種々の形式のデータの解析や、画像データから印刷データへの変換等を行う。
【0018】
読取制御部317は、読取部319(例えば、CIS(密着型イメージセンサ))を制御して、原稿台301に置かれた原稿を光学的に読み取る。読取制御部317は、光学的に原稿を読み取ることによって得られた画像を電気的な画像データ(画像信号)に変換して出力する。読取制御部317は、このときに、2値化処理や中間調処理等の各種画像処理を施してから画像データを出力してもよい。操作表示部305は、表示制御やユーザ操作に対応した電気信号の生成制御等を実行する。操作表示部305は例えば、図3(a)~図3(c)の画面を表示する。また、操作表示部305は、二次元コードなどのコード情報を表示することが可能である。
【0019】
符号復号化処理部321は、通信装置300で扱う画像データ(JPEG、PNG等)の符号化処理及び復号化処理や、拡大縮小処理を行う。給紙部323は、印刷のための用紙を保持する。給紙部323は、印刷制御部324による制御の下で、セットされた用紙を供給することができる。給紙部323は、複数種類の用紙を1つの装置に保持するために、複数の給紙部を含んでもよく、印刷制御部324による制御の下で、どの給紙部から給紙を行うかを制御することができる。印刷制御部324は、印刷される画像データに対して、スムージング処理、印刷濃度補正処理、色補正等の各種画像処理を施し、処理後の画像データを印刷部322に出力する。印刷部322は、例えば、インクジェット記録方式の印刷処理を実行可能に構成され、インクタンクから供給されるインクをプリントヘッドから吐出させて、用紙等の記録媒体に画像を記録する。なお、印刷部322は、電子写真方式等の他の記録方式の印刷処理を実行可能に構成されてもよい。また、印刷制御部324は、印刷部322の情報を定期的に読み出して、RAM314に記憶された、インクタンクの残量やプリントヘッドの状態等を含んだステータス情報等を更新しうる。
【0020】
無線ユニット326は、WLANの通信機能を提供可能なユニットであり、例えば、情報処理装置200のWLANユニット201と同様の機能を提供可能である。すなわち、無線ユニット326は、WLANの規格に従って、データをパケットに変換して他デバイスにパケットを送信し、また、外部の他デバイスからのパケットを元データに復元してCPU312に対して出力する。無線ユニット326は、IEEE802.11規格シリーズに準拠したstaionとしての通信が可能である。以下ではstaionをSTAと呼ぶ場合がある。なお、情報処理装置200及び通信装置300はWFDに基づくP2P(WLAN)通信が可能であり、無線ユニット326はソフトウェアアクセスポイント(ソフトAP)機能又はグループオーナ機能を有する。すなわち、無線ユニット326が、P2P通信のネットワークを構築することや、P2P通信に使用するチャネルを決定することができる。
【0021】
ここで、無線ユニット326を用いた無線通信を実行するモードや接続方式について説明する。
【0022】
<ダイレクト接続方式について>
ダイレクト接続とは、AP400等の外部装置を介さずに装置同士が直接にダイレクト接続する形態を指す。ダイレクト接続は、Peer to Peer接続(P2P接続)ともいう。通信装置300は、接続モードの1つとして、ダイレクト接続により通信するためのモード(ダイレクト接続モード)で動作可能である。Wi-Fi通信において、ダイレクト接続により通信するためのモードにはソフトウェアAPモードやWi-Fi Direct(WFD)モード等の様に複数のモードが存在する。
【0023】
WFDによって、ダイレクト接続を実行するモードをWFDモードという。WFDはWi-Fi Allianceによって策定された規格であり、IEEE802.11シリーズの通信規格に含まれる規格である。WFDモードでは機器探索コマンドにより通信相手となる機器が探索された後に、P2Pのグループオーナー(GO)と、P2Pのクライアントの役割を決定した上で、残りの無線接続の処理を行うことになる。グループオーナーはWi-Fiの親局(親機)に相当し、クライアントはWi-Fiの子局(子機)に相当する。この役割決定は、GO Negotiationとも呼ばれる。なお役割決定が行われる前の状態のWFDモードでは、通信装置300は、親局でも子局でもない状態である。具体的には、まず通信を行う機器との間で、一方の機器が、機器探索コマンドを発行し、WFDモードで接続する機器を探索する。通信相手となる他方の機器が探索されると、両者の間で、互いの機器で供給可能なサービスや機能に関する情報を確認する。なお、この機器供給情報確認はオプションであり、必須ではない。この機器供給情報確認フェーズは、例えばP2PのProvision Discoveryに対応する。次に、この機器供給情報を互いに確認することで、その役割として、どちらがP2Pのクライアントとなり、どちらがP2Pのグループオーナーとなるかを決定する。次に、クライアントとグループオーナーが決定したら、両者の間で、WFDによる通信を行うためのパラメータを交換する。交換したパラメータに基づいて、P2Pのクライアントとグループオーナーとの間で残りの無線接続の処理、IP接続の処理を行う。なおWFDモードでは、通信装置300は、上述したGO Negotiationを実行せずに、通信装置300が必ずGOとして動作しても良い。すなわち通信装置300は、Autonomous GOモードであるWFDモードとして動作しても良い。また通信装置300がWFDモードで動作している状態とは即ち例えば、WFDによる接続が確立されていないが通信装置300がGOとして動作している状態や、WFDによる接続が確立されており、且つ通信装置300がGOとして動作している状態である。
【0024】
ソフトウェアAPモード(ソフトAPモード)では、通信を行う機器(例えば、情報処理装置200と通信装置300)との間で、一方の機器(例えば、情報処理装置200)が、各種サービスを依頼する役割を果たすクライアントとなる。そして、もう一方の機器が、Wi-Fiにおけるアクセスポイントの機能をソフトウェアの設定により実現する。ソフトウェアAPはWi-Fiの親局に相当し、クライアントはWi-Fiの子局に相当する。ソフトウェアAPモードでは、クライアントは、機器探索コマンドによりソフトウェアAPとなる機器を探索する。ソフトウェアAPが探索されると、クライアントとソフトウェアAPとの間で残りの無線接続の処理(無線接続の確立等)を経て、その後、IP接続の処理(IPアドレスの割当等)を行うことになる。なお、クライアントとソフトウェアAPとの間で無線接続を実現する場合に送受信されるコマンドやパラメータについては、Wi-Fi規格で規定されているものを用いればよく、ここでの説明は省略する。
【0025】
本実施形態において、通信装置300がダイレクト接続を確立・維持している場合、通信装置300が属するネットワーク内で、親局として動作する。なお、親局とは無線ネットワークを構築する装置であり、無線ネットワークへの接続に用いられるパラメータを子局に対して提供する装置である。無線ネットワークへの接続に用いられるパラメータとは、例えば、親局が利用するチャネルに関するパラメータである。子局は、当該パラメータを受信することで、親局が利用しているチャネルを用いて、親局が構築している無線ネットワークに接続する。ダイレクト接続モードにおいては、通信装置300が親局として動作するため、ダイレクト接続モードにおける通信にいずれの周波数帯を用いるのか、及びいずれのチャネルを用いるのかを、通信装置300が決定することが可能である。本実施形態では、通信装置300は、ダイレクト接続モードにおける通信に、2.4GHzの周波数帯に対応するチャネルと、5GHzの周波数帯に対応するチャネルとを使用可能であるものとする。
【0026】
<インフラストラクチャ(インフラ)接続方式について>
インフラ接続は、通信を行う機器(例えば、情報処理装置200と通信装置300)のネットワークを統括するアクセスポイント(例えば、AP400)と接続し、機器同士がアクセスポイントを介して通信するための接続形態である。通信装置300は、接続モードの1つとして、インフラ接続で通信するためのモード(インフラ接続モード)でも動作可能である。
【0027】
インフラ接続において、各機器は機器探索コマンドによりアクセスポイントを探索する。アクセスポイントが探索されると、機器とアクセスポイントとの間で残りの無線接続の処理(無線接続の確立等)を経て、その後、IP接続の処理(IPアドレスの割当等)を行うことになる。なお、機器とアクセスポイントとの間で無線接続を実現する場合に送受信されるコマンドやパラメータについては、Wi-Fi規格で規定されているものを用いればよく、ここでの説明は省略する。
【0028】
本実施形態において通信装置300がインフラ接続で動作する際はAP400が親局、通信装置300が子局として動作する。すなわち本実施形態では、インフラ接続は、子機として動作する通信装置300と親機として動作する装置との間の接続を指す。通信装置300がインフラ接続を確立しており、且つ情報処理装置200もAP400とのインフラ接続を確立している場合、通信装置300と情報処理装置200との間で、AP400を介した通信が可能となる。インフラ接続における通信に使用されるチャネルは、AP400により決定されるため、通信装置300は、AP400により決定されたチャネルを使用してインフラ接続における通信を実行する。本実施形態では、通信装置300は、インフラ接続における通信に、2.4GHzの周波数帯に対応するチャネルと、5GHzの周波数帯に対応するチャネルとを使用可能であるものとする。なお通信装置300は、インフラ接続における通信には、5GHzの周波数帯のうちDFS(Dynamic Frequency Selection)帯に対応するチャネルも使用可能である。なお、情報処理装置200は、通信装置300とAP400を介して通信するためには、AP400によって形成され、情報処理装置200が属するネットワーク上に、通信装置300が属していることを認識する必要がある。
【0029】
<ネットワークセットアップモードについて>
通信装置300は、ネットワークセットアップモードで動作可能である。通信装置300がネットワークセットアップモードでの動作を開始するためのトリガは、例えば、ネットワークセットアップモード用ボタンをユーザが押下することであっても良いし、通信装置300が、着荷後初めて起動(電源ON)することであっても良い。ネットワークセットアップモード用ボタンは、通信装置300が備えるハード(物理)ボタンであっても良いし、通信装置300が操作表示部305に表示するソフトウェアボタンであっても良い。
【0030】
通信装置300は、ネットワークセットアップモードでの動作を開始すると、Wi-Fi通信を有効化する。具体的には、通信装置300は、Wi-Fi通信の有効化処理として、ネットワークセットアップモード専用の、通信装置300の内部のAP(接続設定用AP)を有効化する。これにより、通信装置300は、情報処理装置200とWi-Fiによるダイレクト接続を確立可能な状態になる。接続設定用APと接続するための接続情報は、情報処理装置200にインストールされたセットアップ用アプリに予め保持されており、情報処理装置200は、接続設定用APと接続するための接続情報を予め認識しているものとする。なお、接続情報とは例えば、SSID(Service Set Identifier)やパスワードである。そのため、ダイレクト接続モードにおいて有効化されるAPの接続情報と異なり、接続設定用APと接続するための接続情報は、ユーザによって任意に変更できないものとする。なお、ネットワークセットアップモードにおいて、通信装置300は、通常のWi-Fiでなく、Wi-Fi Direct(WFD)によって情報処理装置200と接続しても良い。すなわち、通信装置300は、Group Ownerとして動作し、WFDによる通信によって情報処理装置200から設定コマンドを受信しても良い。またネットワークセットアップモードにおいて、通信装置300は、Bluetoothによって情報処理装置200と接続しても良い。ここでBluetoothとは、Bluetooth ClassicやBluetooth Low Energy(BLE)を含む。すなわち例えば、通信装置300は、ネットワークセットアップモードにおいてBLEにおけるスレーブ装置として動作し、BLEによる通信によって情報処理装置200から設定コマンドを受信しても良い。また、ネットワークセットアップモードにおいて、通信装置300は、Wi-Fiによるネットワークセットアップと、BLEによるネットワークセットアップの両方を実行可能となっても良い。すなわち通信装置300は、ネットワークセットアップモードでの動作を開始すると、Wi-Fi通信とBLE通信の両方を有効化しても良い。具体的には通信装置300は、ネットワークセットアップモードでの動作を開始すると、接続設定用APの有効化と、BLEによってアドバタイズ情報を送信してBLE接続が可能となる状態であるアドバタイズ状態の有効化の両方を実行しても良い。
【0031】
通信装置300は、ネットワークセットアップモードとして動作する場合、無線ユニット326を制御して、ネットワークセットアップモードとして動作中のみ有効な、セットアップ用アクセスポイント(接続設定用AP)として動作する。当該セットアップ用アクセスポイントは、上述のソフトAPモード時に有効化されるアクセスポイントとは異なるアクセスポイントである。また当該セットアップ用アクセスポイントのSSIDは、情報処理装置200の設定アプリが認識可能な所定の文字列を含むものとする。
【0032】
また、ネットワークセットアップモードとして動作している通信装置300は、セットアップ用アクセスポイントと接続している情報処理装置200との通信において、所定の通信プロトコル(セットアップ用通信プロトコル)を用いるものとする。セットアップ用通信プロトコルは具体的には例えば、SNMP(Simple Network Management Protocol)である。
【0033】
通信装置300は、ネットワークセットアップモードでの動作を開始した後、所定の時間が経過したら、ネットワークセットアップモードでの動作を停止し、セットアップ用アクセスポイントを無効化する。また、ネットワークセットアップモード中に情報処理装置200から、AP400へ接続するための接続情報と無線通信の動作モードの変更指示を受け取った場合にも、セットアップ用アクセスポイントを無効化する。また、当該セットアップ用アクセスポイントは、接続にパスワードを必要としないアクセスポイントであるものとする。なお、セットアップ用アクセスポイントは、パスワードを必要とするアクセスポイントであっても良い。その場合、セットアップ用アクセスポイントとの接続に用いられるパスワードは、設定アプリが予め把握している固定の(ユーザが変更できない)パスワードであるものとする。
【0034】
図5は、情報処理装置200の外観構成の一例を示す図である。本実施形態では、一例として、情報処理装置200が、一般的な形式のスマートフォンである場合について示す。なお、情報処理装置200は、例えば、表示部202、操作部203、及び電源キー204を含んで構成される。表示部202は、例えば、LCD(Liquid Crystal Display)方式の表示機構を含んだディスプレイである。なお、表示部202は、例えばLED(Light Emitting Diode)等を用いて情報を表示してもよい。また、情報処理装置200は、表示部202に加えて又はこれに代えて、音声によって情報を出力する機能を有していてもよい。操作部203は、ユーザ操作を検出するための、キーやボタン等のハードキー、タッチパネル等を含んで構成される。なお、本例では、表示部202における情報表示と、操作部203によるユーザ操作の受付とを、共通のタッチパネルディスプレイを用いて行うため、表示部202と操作部203とが1つの装置によって実現されている。この場合、例えば、表示部202による表示機能を用いてボタンアイコンやソフトウェアキーボードが表示され、ユーザがそれらの箇所に触れたことが、操作部203による操作受付機能によって検出される。なお、表示部202と操作部203とが、分離されて、表示用のハードウェアと操作受付用のハードウェアとが別個に用意されてもよい。電源キー204は、情報処理装置200の電源をオン又はオフとするためのユーザ操作を受け付けるためのハードキーである。
【0035】
情報処理装置200は、必ずしも外観から視認できる必要はないが、WLANの通信機能を提供するWLANユニット201を有する。WLANユニット201は、例えばIEEE802.11規格シリーズ(IEEE802.11a/b/g/n/ac/ax等)に準拠したWLANシステムにおけるデータ(パケット)通信を実行可能に構成される。ただしこれに限られず、WLANユニット201は、他の規格に準拠したWLANシステムの通信を実行可能であってもよい。なお、本例では、WLANユニット201は、2.4GHz帯及び5GHz帯の両方の周波数帯域で通信可能であるものとする。また、WLANユニット201は、WFDをベースにした通信、ソフトAPモードによる通信、無線インフラモードによる通信等を実行可能であるものとする。
【0036】
図6は、情報処理装置200の構成の一例を示す図である。情報処理装置200は、一例において、装置自身のメイン制御を行うメインボード211、WLAN通信を行うWLANユニット201を有する。メインボード211は、例えば、CPU212、ROM213、RAM214、画像メモリ215、データ変換部216、電話部217、GPS219、カメラ部221、不揮発性メモリ222、データ蓄積部223、スピーカ部224、電源部225を含む。ここで、CPUはCentral Processing Unitの、ROMはRead Only Memoryの、RAMはRandom Access Memoryの、GPSはGlobal Positioning Systemの、頭字語である。また、情報処理装置200は、表示部202、操作部203を含む。これらのメインボード211内の機能部は、CPU212が管理するシステムバス228を介して、相互に接続される。また、メインボード211とWLANユニット201との間は、例えば、専用のバス226を介して接続される。
【0037】
CPU212は、システム制御部であり、情報処理装置200の全体を制御する。以下で説明する情報処理装置200の処理は、一例において、CPU212がROM213に記憶されたプログラムを実行することにより、実現される。なお、各処理の専用のハードウェアが用意されていてもよい。ROM213は、CPU212が実行する制御プログラムや組込オペレーティングシステム(OS)プログラム等を記憶する。本実施形態では、CPU212が、ROM213に記憶されている各制御プログラムを、ROM213に記憶されている組込OSの管理の下で実行することにより、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。RAM214は、SRAM(Static RAM)等により構成される。RAM214は、プログラム制御変数等のデータや、ユーザが登録した設定値や情報処理装置200の管理データ等のデータを記憶する。また、RAM214は、各種ワーク用バッファとして利用されうる。画像メモリ215は、DRAM(Dynamic RAM)等のメモリで構成される。画像メモリ215は、WLANユニット201を介して受信した画像データや、データ蓄積部223から読み出した画像データをCPU212で処理するために一時的に記憶する。不揮発性メモリ222は、例えばフラッシュメモリ等のメモリによって構成され、情報処理装置200の電源がオフとされてもデータを記憶し続ける。なお、情報処理装置200のメモリ構成は、上述の構成に限定されない。例えば、画像メモリ215とRAM214とが共有されてもよいし、データ蓄積部223を用いてデータのバックアップ等が行われてもよい。また、本実施形態では、画像メモリ215の一例としてDRAMを挙げているが、ハードディスクや不揮発性メモリ等の他の記憶媒体が使用されてもよい。
【0038】
ROM213は、サービス登録アプリ、通信装置300のネットワークセットアップを実行するためのアプリケーションプログラム、プリンタ管理アプリケーション、通信装置300が解釈可能な印刷情報を生成する印刷情報生成プログラム等を保存している。各プログラムは、例えば、WLANユニット201を介したインターネット通信によって、外部のサーバ(不図示)からインストールされることにより、ROM213に格納される。サービス登録アプリは、通信装置300から取得した情報や、情報処理装置200で取得したユーザの個人情報などをサービス管理サーバ(不図示)に送信するためのアプリケーションプログラムである。通信装置300のネットワークセットアップを実行するためのアプリケーションプログラム(設定アプリ)とは、通信装置300の接続先のアクセスポイントの設定を行うためのアプリケーションプログラムである。プリンタ管理アプリケーションは、プリンタの情報を管理するためのアプリケーションである。なお、サービス登録アプリ、設定アプリ、プリンタ管理アプリケーション、印刷情報生成プログラム(印刷アプリケーション)が一つのアプリケーションとして構成されていても良い。
【0039】
データ変換部216は、種々の形式のデータの解析や、色変換、画像変換等のデータ変換を行う。電話部217は、電話回線の制御を行い、スピーカ部224を介して入出力される音声データを処理することによって、電話による通信を実現する。GPS219は、衛星から送出されている電波を受信して、情報処理装置200の現在の緯度や経度等の位置情報を取得する。カメラ部221は、レンズを介して入力された画像を電子的に記録して符号化する機能を有する。カメラ部221による撮像で得られた画像データは、データ蓄積部223に保存される。スピーカ部224は、電話機能のための音声を入力または出力する機能や、その他、アラーム通知等の機能を実現するための制御を行う。電源部225は、例えば携帯可能な電池であり、装置内への電力供給制御を行う。電源状態は、例えば、電池に残量が無い電池切れ状態、電源キー204を押下していない電源オフ状態、通常起動している起動状態、起動しているが省電力になっている省電力状態を含む。表示部202は、図5を参照して説明した表示部202であり、表示内容を電子的に制御し、各種入力操作や、MFP300の動作状況、ステータス状況の表示等を行うための制御を実行する。操作部203は、図5を参照して説明した操作部203であり、ユーザ操作を受け付けたことによって、その操作に対応する電気信号を生成してCPU212へ出力する等の制御を実行する。
【0040】
情報処理装置200は、WLANユニット201を用いて無線通信を行い、通信装置300等の他のデバイスとのデータ通信を行う。WLANユニット201は、データをパケットに変換し、他デバイスにパケットを送信する。また、WLANユニット201は、外部の他デバイスからのパケットを、元データに復元してCPU212に対して出力する。WLANユニット201は、それぞれWLANの規格に準拠した通信を実現するためのユニットである。WLANユニット201は、無線インフラモード及びP2P(WLAN)モードを含んだ少なくとも2つの通信モードで並行して動作することができる。なお、これらの通信モードで使用される周波数帯域は、ハードウェアの機能や性能により制限され得る。
【0041】
図7は、無線LANアクセスポイント機能を有するアクセスポイント400の構成の一例を示すブロック図である。アクセスポイント400は、アクセスポイント400の制御を行うメインボード710と、無線LANユニット716、有線LANユニット718、操作ボタン720を含んで構成される。
【0042】
メインボード710に配置されるCPU711は、内部バス712を介して接続されているROM形態のプログラムメモリ713に格納されている制御プログラムと、RAM形態のデータメモリ714に格納されているデータとに従って動作する。CPU711は、無線LAN通信制御部715を通じて無線LANユニット716を制御することで、他の装置と無線LAN通信を行う。また、CPU711は、有線LAN通信制御部717を通じて有線LANユニット718を制御することで、他の装置と有線LAN通信を行う。CPU711は、操作部制御回路719を制御することによって操作ボタン720によるユーザからの操作を受付可能である。
【0043】
また、アクセスポイント400は、干渉波検出部721、チャンネル変更部722を含んで構成される。干渉波検出部721は、DFSが実施される帯域で無線通信を実行している時に、干渉波の検出処理を行う。チャンネル変更部722はDFSが実施される帯域で無線通信を実行している時に、干渉波を検出した場合、即座に空いているチャンネルに変更しなければならない場合等に使用するチャンネルの変更処理を行う。
【0044】
本実施形態では、情報処理装置200は、Wi-Fi Easy Connect(以下、WEC)(登録商標)と呼ばれる機能に対応している場合は、当該機能を実行可能である。WECとは、Wi-Fi Allianceで策定されたDevice Provisioning Protocol(以下、DPP)を用いて、通信装置300のネットワークセットアップを実行する機能である。なお通信装置300のネットワークセットアップとは具体的には、他の装置を、ネットワークを形成するアクセスポイントと接続させる処理である。WECにおいては、「Configurator」という役割で動作する装置(以下、Configurator装置)と、「Enrollee」という役割で動作する装置(以下、Enrollee装置)との間で通信が行われる。なお本実施形態では、Configurator装置はDPPにおけるInitiatorであり、Enrollee装置は、DPPにおけるResponderであるものとする。
【0045】
Enrollee装置はWEC関連情報に含めた無線接続チャネルにて通信を待ち受けるDPP Listenモード(以下、DPP待ち受けモード)を起動する。Configurator装置は取得したWEC関連情報を用いて、DPP待ち受けモードとなっているEnrollee装置とDPP接続を確立する。
【0046】
Bootstrappingにおいて、Configurator装置はEnrollee装置からBootstrapping情報を取得する。本実施形態では、Bootstrapping情報は、例えば、通信装置300が撮像により取得可能なように表示される例えばQRコードの読み取り及び読み取られたQRコードの解析によって取得される。Bootstrapping情報には、例えばEnrollee装置の識別情報(MACアドレス等)や、Enrollee装置とセキュアな通信を行うために用いられる公開鍵情報などが含まれる。本実施形態では、Bootstrapping情報を「WEC関連情報」として説明する。なお、他の情報もWEC関連情報として扱われて良い。Configurator装置は取得したWEC関連情報を用いて、DPP待ち受けモードとなっているEnrollee装置とDPP接続を確立することができる。
【0047】
Configurator装置は、取得したBootstrapping情報を用いてEnrollee装置との無線通信を実行する。具体的には例えば、Configurator装置は、Bootstrapping情報に含まれるブートストラッピング公開鍵Brと一時的に生成したエフェメラル秘密鍵piを乗算し、共有秘密k1を生成する。また、前述したエフェメラル秘密鍵piの対であるエフェメラル公開鍵Piを含むDPP Autentication リクエストをEnrollee装置に送信する。当該リクエストを受信したEnrollee装置は、ブートストラッピング公開鍵Brの対となるブートストラッピング秘密鍵brと、受信したエフェメラル公開鍵Piを乗算し、共有秘密k1を導出する。この処理により、Configurator装置とEnrollee装置は共有秘密k1を共有する。この処理は楕円曲線ディフィ‐ヘルマン鍵共有(ECDH)方式に基づく暗号鍵の共有に相当する。
【0048】
また、Enrollee装置は、受信したエフェメラル公開鍵Piと自身が保持するエフェメラル秘密鍵prを乗算し、共有秘密k2を導出する。そして、エフェメラル秘密鍵prの対となるエフェメラル公開鍵Prを含むDPP Autentication レスポンスをConfigurator装置に応答する。Configurator装置は、受信したエフェメラル公開鍵Prと、自身が保持するエフェメラル秘密鍵piとを用いて共有秘密k2を生成する。この処理は、互いに一時的に生成した公開鍵/秘密鍵を用いる暗号鍵を共有するエフェメラル楕円曲線ディフィ‐ヘルマン鍵共有(ECDHE)方式に基づく鍵共有に相当する。
【0049】
最後に、k1、k2を共有したConfigurator装置とEnrollee装置は、鍵導出関数に対してk1、k2を入力パラメータとして入力し、DPP通信に使用する共通鍵keを導出する。
【0050】
以降、2者間で共有した共通鍵keを用いてDPPのConfiguration処理が実行される。具体的には、Enrollee装置は、DPP Configuration リクエストをConfigurator装置に送信する。当該リクエストの中身は共通鍵keで暗号化される。当該リクエストを受信したConfigurator装置はユーザにより選択されたアクセスポイントの情報を含むDPP Configuretion レスポンスをEnrollee装置に送信する。アクセスポイントの情報は、アクセスポイントのSSID(Service Set Identifier)や、アクセスポイントのパスワードである。レスポンスを受信したEnrollee装置は、keでレスポンスの中身を復号し、アクセスポイントの情報を得る。最後に、Enrollee装置は、復号して得られたアクセスポイントの情報に基づき、アクセスポイントとの無線接続を確立する。Enrollee装置は、Station(以下、STA)を起動し、Configurator装置から受信したアクセスポイントの接続情報を利用して、アクセスポイントとの無線インフラ接続を確立する。
【0051】
なお、本実施形態におけるWECによるネットワークセットアップ処理においては、WECに対応している情報処理装置200は、Configurator装置として動作するとして説明する。また、WECに対応している通信装置300は、Enrollee装置として動作するとして説明する。また、Enrollee装置同士の接続ではSTAとして動作するものとして説明する。
【0052】
以下、情報処理装置200と通信装置300を接続し、情報処理装置200が参加しているアクセスポイント400により開設されている無線インフラネットワークに、WECを用いて通信装置300を参加させる無線ネットワークセットアップを説明する。また、本実施形態では、所定のタイミングにおいてWEC関連情報の破棄を実施する。
【0053】
上述したように、DPPにおいては、Enrolleeが公開鍵を含むBootstrapping情報をConfiguratorに提供し、この公開鍵と秘密鍵の鍵ペアにより安全な認証が実現される。具体的には、DPP Authenticationにおいて鍵ペアに基づく認証が行われ、共有鍵による暗号化によってセキュリティが担保される。鍵ペアは一般に推定されにくいが、アルゴリズムの脆弱性や総当たり攻撃によって推定される可能性がある。また、Bootstrapping情報が例えばQRコードとして提供される場合、Enrolleeとして動作する装置が小さな表示部しか持たないならば、鍵長が短くなり、鍵の強度が下がることも考えられる。
【0054】
本実施形態では、所定のタイミングにおいてWEC関連情報の破棄を実施するので、鍵ペアを比較的短い期間で更新することができ、セキュリティをより向上させることができる。
【0055】
図8は、WECによるネットワークセットアップを行うシーケンスの一例を示す図である。図8の各装置の処理は例えば、各装置のCPUが、ROMに記憶されたプログラムをRAMに読み出して実行することにより実現される。
【0056】
本実施形態では、図8のシーケンスが開始される前に、情報処理装置200は、アクセスポイント400が形成する無線インフラネットワークに接続し、通信するための通信パラメータを既に保持しているものとする。即ち、S801において、情報処理装置200は、アクセスポイント400を介して他の装置とデータ通信処理を実施している。
【0057】
S802において、通信装置300は、ネットワークセットアップモードを実行する。上述したように、ネットワークセットアップモードは例えば、ネットワークセットアップモード用ボタンをユーザが押下することで実行されても良いし、通信装置300が、着荷後初めて起動(電源ON)することで実行されても良い。即ち、工場出荷状態(着荷状態)から初期設定を行うための処理シーケンスの開始などをトリガーとしても良い。S802では、通信装置300は、周波数帯と周波数チャネルを決定し、セットアップ用アクセスポイントとして無線ユニット326を起動し、親局として動作させる。即ち、CPU312は、ネットワークセットアップモードとしての動作を通信装置300に開始させる。これにより、パソコンやスマートフォン、タブレット等の外部の装置が、クライアント(子機)として通信装置300と接続し、通信することが可能となる。ネットワークセットアップの際には、2.4GHz帯又は5GHz帯の周波数帯域が使用される。なお、どちらの周波数帯域を使用するかは、例えば、通信装置300が、周囲の無線通信状況に基づいて決定してもよい。例えば、通信装置300が、2.4GHz帯を使った無線通信が5GHz帯を使った無線通信よりも混雑していると判定した場合、5GHz帯を使用するアクセスポイントとして無線ユニット326を動作させてもよい。
【0058】
S803において、通信装置300は、WEC関連情報の生成処理を実行する。WEC関連情報には、例えば、通信装置300の識別情報(MACアドレス等)や、通信装置300と情報処理装置200との間でセキュアな通信を行うために用いられる公開鍵情報などが含まれる。本実施形態では、通信装置300は、WEC関連情報に基づいてコード情報を生成し、操作表示部305に表示する。なお、コード情報とは例えばQRコード(登録商標)等の二次元コードである。また、本実施形態では、後述するように、内部に保持しているWEC関連情報の破棄が行われる。よって、S803のWEC関連情報の生成処理は、WECによるネットワークセットアップの実行の度に実行される。つまり、WECによるネットワークの実行の度に、鍵情報等、WEC関連情報の一部の情報は更新され得る。
【0059】
S804において、通信装置300は、DPP待ち受けモード開始処理を実行する。本実施形態では、通信装置300のCPU312は例えば、通信装置300がネットワークセットアップモードとして動作を開始したことに基づいて、DPP待ち受けモードとしての動作を通信装置300に開始させる。即ち、S804において、CPU312は、DPP通信の待ち受けチャネルを決定し、DPP待ち受けモードとしての動作を通信装置300に開始させる。これにより、情報処理装置200のような外部の装置とDPPで通信することが可能となる。なお、DPP通信の待ち受けチャネルにどのチャネルを使用するかは、例えば、ユーザが通信装置300の操作画面から設定してもよい。
【0060】
次に、S805において、通信装置300と情報処理装置200との間で、P2P接続処理が実行される。P2P接続処理では例えば、通信装置300が情報処理装置200とIEEE802.11で規定されるP2P(WLAN)の接続処理が実行される。
【0061】
そして、S806において、通信装置300と情報処理装置200との間で、WEC関連情報の取得処理が実行される。本実施形態では例えば、WEC関連情報の取得処理として、通信装置300の操作表示部305に表示されたQRコードを、情報処理装置200が撮影することによって実行される。それにより、情報処理装置200は、通信装置300からWEC関連情報を取得する。なお、WEC関連情報は、Bluetooth Low Energy(BLE)、Near Field Communication(NFC)を介して取得されても良い。
【0062】
次に、S807において、通信装置300と情報処理装置200との間で、DPP Authenticationと呼ばれる処理が実行される。S807の処理は例えば、情報処理装置200におけるWEC用アプリによるWEC開始画面上でのユーザ指示に基づいて実行される。なお、WEC用アプリとは、情報処理装置200において設定アプリからOSに指示することで起動されるアプリである。DPP Authenticationにおいては、通信装置300と情報処理装置200との間で、認証情報や、情報の暗号化に利用される情報などが通信され、装置間の通信の認証が行われる。なお、DPP Authenticationにおける通信において情報処理装置200から送信される各種情報は、S806で取得されたWEC関連情報に基づき暗号化される。通信装置300は、情報処理装置200から受信した情報を、予め保持している復号鍵によって復号化することに成功した場合、情報処理装置200との通信を認証する。なお、情報処理装置200が、正確なWEC関連情報を取得できておらず、正確に情報を暗号化できていなかった場合は、通信装置300における復号化が失敗するため、認証は失敗する。また、DPP Authenticationにおいては、DPPが用いられて通信が実行される。
【0063】
次に、S808において、通信装置300と情報処理装置200との間で、DPP Configurationと呼ばれる処理が実行される。DPP Configurationにおいては、情報処理装置200は、WECによる設定対象として設定されているアクセスポイント400と接続するための接続情報をDPPにより通信装置300に送信する。なお、接続情報には、WECによる設定対象として設定されているアクセスポイント400のSSIDやパスワード、暗号化方式を示す情報等が含まれる。なお、DPP Configurationにおいても、DPPが用いられて通信が実行される。
【0064】
そして、S809において、通信装置300と情報処理装置200との間で、P2P接続の切断処理が実行される。このP2P接続の切断処理は、IEEE802.11で規定されるP2P(WLAN)接続の切断処理であってよい。
【0065】
次に、S810において、通信装置300は、S808で取得したアクセスポイント400と接続するための接続情報を用いて、アクセスポイント400との接続処理を実行する。DPPにおいて通信エラーが発生した場合、アクセスポイント400が発見されなかった場合、WEC関連情報が適切な情報でなかった場合などには、S810におけるアクセスポイント400との接続が失敗する。また、例えば、WECによる設定対象として設定されているアクセスポイント400との接続に用いられる暗号化方式に、通信装置300が対応していない暗号化方式であった場合にも、S810におけるアクセスポイント400との接続が失敗する。
【0066】
通信装置300は、S810でアクセスポイント400との接続が成功した後、S811において、アクセスポイント400を介して、情報処理装置200とのデータ通信処理が可能となる。
【0067】
図9は、図8のS807~S810の処理(WEC接続判定処理(S812))を示すフローチャートである。図9の処理は例えば、CPU312がROM313に記憶されているプログラムをRAM314に読み出して実行することにより実現される。
【0068】
S901において、CPU312は、情報処理装置200とのDPP Authentication処理が成功したか否かを判定する。上述したように、DPP Authenticationにおける通信において情報処理装置200から送信される各種情報は、WEC関連情報に基づき暗号化される。CPU312は、情報処理装置200から受信した情報を、予め保持している復号鍵によって復号化することに成功した場合、情報処理装置200との通信を認証する。なお、情報処理装置200が、正確なWEC関連情報を取得できておらず、正確に情報を暗号化できていなかった場合は、通信装置300における復号化が失敗するため、認証は失敗する。よって、CPU312は、情報処理装置200との通信の認証が成功した場合、DPP Authenticationが成功したと判定し、認証が失敗した場合、DPP Authenticationが失敗したと判定する。DPP Authentication処理が失敗したと判定された場合、S902において、CPU312は、DPP待ち受けモードを終了し、図9のWEC接続判定処理を終了する。一方、DPP Authentication処理が成功したと判定された場合、S903に進む。
【0069】
S903において、CPU312は、情報処理装置200とのDPP Configuration処理が成功したか否かを判定する。例えば、CPU312は、情報処理装置200からWECによる設定対象として設定されているアクセスポイントと接続するための接続情報をWECにより受信した場合、成功したと判定し、受信できなかった場合、失敗したと判定する。DPP Configuration処理が失敗したと判定された場合、S902において、CPU312は、DPP待ち受けモードを終了し、図9のWEC接続判定処理を終了する。一方、DPP Configuration処理が成功したと判定された場合、S904の処理に進む。
【0070】
DPP Configuration処理が成功すると、CPU312は、WECによる設定対象として設定されているアクセスポイント400の情報を取得する。
【0071】
S904において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報にSSIDが含まれているか否かを判定する。接続先アクセスポイントの情報にSSIDが含まれていないと判定された場合、S902において、CPU312は、DPP待ち受けモードを終了し、図9のWEC接続判定処理を終了する。一方、接続先アクセスポイントの情報にSSIDが含まれていると判定された場合、S905に進む。
【0072】
S905において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報にセキュリティ方式が含まれているか否かを判定する。接続先アクセスポイントの情報にセキュリティ方式が含まれていないと判定された場合、S902において、CPU312は、DPP待ち受けモードを終了し、図9のWEC接続判定処理を終了する。一方、接続先アクセスポイントの情報にセキュリティ方式が含まれていると判定された場合、S906に進む。
【0073】
S906において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報にパスワードが含まれているか否かを判定する。接続先アクセスポイントの情報にパスワードが含まれていないと判定された場合、S902において、CPU312は、DPP待ち受けモードを終了し、図9のWEC接続判定処理を終了する。一方、接続先アクセスポイントの情報にパスワードが含まれていると判定された場合、S907に進む。
【0074】
S907において、CPU312は、DPP待ち受けモードを終了する。CPU312は、DPP待ち受けモードを終了すると、情報処理装置200からのDPP Authentication要求に応じることができなくなる。
【0075】
そして、S908において、CPU312は、ネットワークセットアップモードを終了する。ネットワークセットアップモードの終了に伴い、通信装置300と情報処理装置200との間のP2P接続の切断処理が実行される。このP2P接続の切断処理は、IEEE802.11で規定されるP2P(WLAN)接続の切断処理であってよい。
【0076】
ネットワークセットアップモードが終了すると、S909において、CPU312は、内部に保持しているWEC関連情報を破棄する。もし、破棄されたWEC関連情報が情報処理装置200により使用されてDPP Authenticationが実行された場合、認証に失敗することになる。その場合、改めてS803で生成されたWEC関連情報が情報処理装置200により使用されてDPP Authenticationが実行されることで、認証は成功する。S803でWEC関連情報の破棄に基づくコード情報が表示されていた場合、S909におけるWEC関連情報の破棄により、コード情報の表示が停止される。
【0077】
本実施形態では、ネットワークセットアップモードを終了した後にWEC関連情報を破棄するようにしている。しかしながら、DPP Authentication処理の後であればWEC関連情報を用いることはないため、DPP Authentication処理の終了後の任意のタイミングで破棄するようにしてもよい。
【0078】
そして、S910において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報のSSID、セキュリティ方式、パスワードを使用して、アクセスポイント400に接続する。この接続はIEEE802.11規格に準拠した接続もしくはDPPを使用した接続である。その後、図9のWEC接続判定処理を終了する。
【0079】
以上のように、本実施形態によれば、DPP Authentication処理の後、WEC関連情報の破棄を実施するので、鍵ペアを比較的短い期間で更新することができ、セキュリティをより向上させることができる。
【0080】
また、本実施形態では、S901~S906の判定条件を満たさない場合には、DPP待ち受けモードを終了するとして説明した。その際、内部に保持しているWEC関連情報を破棄するようにしても良い。また、S910において、アクセスポイント400への接続に成功したか失敗したかについて判定するようにしても良い。そして、アクセスポイント400への接続に失敗したと判定された場合、内部に保持しているWEC関連情報を破棄するようにしても良い。
【0081】
[第2実施形態]
以下、第1実施形態と異なる点について第2実施形態を説明する。本実施形態では、WEC関連情報の破棄を行うためのタイマーの満了、もしくは、WFDモードの終了を契機に、WEC関連情報の破棄を実施する。
【0082】
図10は、WECによるネットワークセットアップを行うシーケンスの一例を示す図である。図10の各装置の処理は例えば、各装置のCPUが、ROMに記憶されたプログラムをRAMに読み出して実行することにより実現される。
【0083】
本実施形態では、図10のシーケンスが開始される前に、情報処理装置200は、アクセスポイント400が形成する無線インフラネットワークに接続し、通信するための通信パラメータを既に保持しているものとする。即ち、S1001において、情報処理装置200は、アクセスポイント400を介して他の装置とデータ通信処理を実施している。
【0084】
S1002において、通信装置300は、WFDモードを実行する。なお、WFDモード開始のトリガーは、ユーザ操作によるWECセットアップ開始指示に限られず、ユーザが初めて電源を投入した際に、工場出荷状態(着荷状態)から初期設定を行うための処理シーケンスの開始などをトリガーとしてもよい。
【0085】
S1003において、通信装置300は、WEC関連情報の生成処理を実行する。WEC関連情報には、例えば、通信装置300の識別情報(MACアドレス等)や、通信装置300と情報処理装置200との間でセキュアな通信を行うために用いられる公開鍵情報などが含まれる。本実施形態では、通信装置300は例えば、WEC関連情報に基づいてQRコードを生成し、操作表示部305に表示する。
【0086】
次に、S1004において、通信装置300は、内部に保持しているWEC関連情報の破棄タイマー開始処理を実行する。WEC関連情報の破棄タイマーは、タイムアウトの発生によって、内部に保持しているWEC関連情報を破棄することを目的としたタイマーである。S1004では、WEC関連情報の制限時間として指定されている所定の時間を設定してタイマーを開始する。WEC関連情報の破棄タイマーは、ハードウェアタイマーに基づいて計測されてもよいし、ソフトウェアタイマーに基づいて計測されてもよい。
【0087】
そして、S1005において、通信装置300は、DPP待ち受けモード開始処理を実行する。即ち、CPU312は、通信装置300をDPP待ち受けモードに移行させる。S1005において、CPU312は、DPP通信の待ち受けチャネルを決定し、DPP待ち受けモードとしての動作を通信装置300に開始させる。これにより、情報処理装置200のような外部の装置とDPPで通信することが可能となる。なお、DPP通信の待ち受けチャネルにどのチャネルを使用するかは、例えば、ユーザが通信装置300の操作画面から設定してもよい。
【0088】
S1006~S1012は、図8のS805~S811における説明と同じであるので、それらの説明を省略する。
【0089】
図11は、図10のS1008~S1011の処理(WEC接続判定処理(S1013))を示すフローチャートである。図11の処理は例えば、CPU312がROM313に記憶されているプログラムをRAM314に読み出して実行することにより実現される。
【0090】
S1101において、CPU312は、内部に保持しているWEC関連情報の破棄タイマーが、WEC関連情報の制限時間として指定されている所定の時間を満了したか否かを判定する。満了していると判定された場合、S1102において、CPU312は、DPP待ち受けモードを終了する。そして、S1103において、CPU312は、内部に保持しているWEC関連情報を破棄し、その後、図11のWEC接続判定処理を終了する。なお、WEC関連情報を破棄する場合、WEC関連情報のうち、DPP Authenticationに必要な鍵情報のみを破棄してもよい。一方、満了していないと判定された場合、S1104に進む。S1003でWEC関連情報の破棄に基づくコード情報が表示されていた場合、S1103におけるWEC関連情報の破棄により、コード情報の表示が停止される。
【0091】
S1104において、CPU312は、情報処理装置200からDPP Authentication Requestを受信したか否かを判定する。ここで、DPP Authentication Requestを受信したと判定された場合、S1105に進む。一方、DPP Authentication Requestを受信していないと判定された場合、S1101からの処理を繰り返す。
【0092】
即ち、本実施形態では、WEC関連情報の破棄タイマーが所定の時間を満了するまでDPP Authentication Requestを受信しなかった場合、内部に保持しているWEC関連情報を破棄する。例えば、情報処理装置200側で、WECによるネットワークセットアップを中止することが想定される。その場合、通信装置300側で、WEC関連情報に基づくQRコード等を表示し続けることはセキュリティ上好ましくない。本実施形態では、所定の時間が満了してもDPP Authentication Requestを受信しなかった場合には内部に保持しているWEC関連情報を破棄するので、セキュリティの低下を防ぐことができる。
【0093】
S1105において、CPU312は、情報処理装置200とのDPP Authentication処理が成功したか否かを判定する。S1105は、S901における説明と同じである。DPP Authentication処理が失敗したと判定された場合、S1102に進む。一方、DPP Authentication処理が成功したと判定された場合、S1106に進む。
【0094】
S1106において、CPU312は、情報処理装置200とのDPP Configuration処理が成功したか否かを判定する。S1106は、S903における説明と同じである。DPP Configuration処理が失敗したと判定された場合、S1102に進む。一方、DPP Configuration処理が成功したと判定された場合、S1107に進む。
【0095】
DPP Configuration処理が成功すると、CPU312は、WECによる設定対象として設定されているアクセスポイント400の情報を取得する。
【0096】
S1107において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報にSSIDが含まれているか否かを判定する。S1107は、S904における説明と同じである。接続先アクセスポイントの情報にSSIDが含まれていないと判定された場合、S1102に進む。一方、接続先アクセスポイントの情報にSSIDが含まれていると判定された場合、S1108に進む。
【0097】
S1108において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報にセキュリティ方式が含まれているか否かを判定する。S1108は、S905における説明と同じである。接続先アクセスポイントの情報にセキュリティ方式が含まれていないと判定された場合、S1102に進む。一方、接続先アクセスポイントの情報にセキュリティ方式が含まれていると判定された場合、S1109に進む。
【0098】
S1109において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報にパスワードが含まれているか否かを判定する。S1109は、S906における説明と同じである。接続先アクセスポイントの情報にパスワードが含まれていないと判定された場合、S1102に進む。一方、接続先アクセスポイントの情報にパスワードが含まれていると判定された場合、S1110に進む。
【0099】
S1110において、CPU312は、DPP待ち受けモードを終了する。CPU312は、DPP待ち受けモードを終了すると、情報処理装置200からのDPP Authentication要求に応じることができなくなる。
【0100】
そして、S1111において、CPU312は、WFDモードを終了する。MFP300は、WFDモードの終了に伴い、通信装置300と情報処理装置200との間のP2P接続の切断処理が実行される。このP2P接続の切断処理は、IEEE802.11で規定されるP2P(WLAN)接続の切断処理であってよい。
【0101】
WFDモードが終了すると、S1112において、CPU312は、内部に保持しているWEC関連情報を破棄する。もし、破棄されたWEC関連情報を使用して、DPP Authenticationが実行された場合、認証に失敗することになる。その場合、改めてS1003で生成されたWEC関連情報が情報処理装置200により使用されてDPP Authenticationが実行されることで、認証は成功する。
【0102】
そして、S1113において、CPU312は、情報処理装置200から受信した接続先アクセスポイントの情報のSSID、セキュリティ方式、パスワードを使用して、アクセスポイント400に接続する。この接続はIEEE802.11規格に準拠した接続もしくはDPPを使用した接続である。その後、図11のWEC接続判定処理を終了する。
【0103】
以上のように、本実施形態によれば、タイマーによる所定の時間の満了を契機に、WEC関連情報の破棄を実施するので、鍵ペアを比較的短い期間で更新することができ、セキュリティをより向上させることができる。また、S1113において、アクセスポイント400への接続に成功したか失敗したかについて判定するようにしても良い。そして、アクセスポイント400への接続に失敗したと判定された場合、内部に保持しているWEC関連情報を破棄するようにしても良い。
【0104】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0105】
本実施形態の開示は、以下の通信装置、方法およびプログラムを含む。
(項目1)
情報処理装置と通信可能な通信装置であって、
前記情報処理装置と異なり且つ前記通信装置と異なる外部アクセスポイントと前記通信装置との間での第1の接続方式による無線接続の確立のための通信に用いられる情報を保持する保持手段と、
前記情報に基づいて前記情報処理装置から送信される要求を受信する受信手段と、
前記受信手段により受信した前記要求に基づいて、前記第1の接続方式による無線接続のための通信を実行する通信手段と、
前記受信手段により前記要求を受信したことに基づいて、前記保持手段に保持されている前記情報を破棄する破棄手段と、
を備えることを特徴とする通信装置。
(項目2)
前記情報を生成する生成手段をさらに備え、
前記保持手段は、前記生成手段により生成された前記情報を保持することを特徴とする項目1に記載の通信装置。
(項目3)
前記破棄手段はさらに、前記受信手段により前記要求を受信しない場合、所定の期間が経過したことに基づいて、前記保持手段に保持されている前記情報を破棄することを特徴とする項目1又は2に記載の通信装置。
(項目4)
前記破棄手段はさらに、前記通信手段により実行される前記通信が失敗した場合、前記保持手段に保持されている前記情報を破棄することを特徴とする項目1乃至3のいずれか1項に記載の通信装置。
(項目5)
前記通信手段により実行される前記通信においては、前記通信装置と前記情報処理装置の間で通信パラメータが通信され、前記情報は、前記通信パラメータの暗号化に用いられる情報であることを特徴とする項目1乃至4のいずれか1項に記載の通信装置。
(項目6)
前記通信パラメータの暗号化に用いられる情報は、公開鍵を含むことを特徴とする項目5に記載の通信装置。
(項目7)
前記破棄手段はさらに、前記通信手段により実行される前記通信において前記情報処理装置から取得した前記通信パラメータが条件を満たさない場合、前記保持手段に保持されている前記情報を破棄することを特徴とする項目5又は6に記載の通信装置。
(項目8)
前記条件は、前記通信パラメータが所定の情報を含むことであることを特徴とする項目7に記載の通信装置。
(項目9)
前記所定の情報は、前記外部アクセスポイントのSSID(Service Set Identifier)であることを特徴とする項目8に記載の通信装置。
(項目10)
前記所定の情報は、前記外部アクセスポイントのセキュリティ方式の情報であることを特徴とする項目8又は9に記載の通信装置。
(項目11)
前記所定の情報は、前記外部アクセスポイントのパスワードであることを特徴とする項目8乃至10のいずれか1項に記載の通信装置。
(項目12)
前記通信手段により実行される前記通信は、DPP(Device Provisioning Protocol)によって実行される通信であることを特徴とする項目5乃至11のいずれか1項に記載の通信装置。
(項目13)
前記破棄手段は、前記DPPによって実行され、前記情報に基づく通信の実行を待ち受けるモードの終了後に、前記情報を破棄することを特徴とする項目12に記載の通信装置。
(項目14)
前記保持手段は、前記情報を前記情報処理装置が取得可能なように保持することを特徴とする項目1乃至13のいずれか1項に記載の通信装置。
(項目15)
前記保持手段は、前記情報を前記情報処理装置による撮像が可能な情報として保持することを特徴とする項目14に記載の通信装置。
(項目16)
前記撮像が可能な情報は、表示部に表示されたコード情報であることを特徴とする項目15に記載の通信装置。
(項目17)
前記破棄手段により前記保持手段に保持されている前記情報が破棄されることにより、前記コード情報の表示が停止することを特徴とする項目16に記載の通信装置。
(項目18)
前記受信手段により前記要求の受信が可能なように前記通信装置を制御する制御手段をさらに備え、
前記制御手段は、前記情報処理装置と前記通信装置との間での前記外部アクセスポイントを介さない第2の接続方式による無線接続を行う状態への移行が開始された場合に、前記要求の受信が可能なように前記通信装置を制御する、
ことを特徴とする項目1乃至17のいずれか1項に記載の通信装置。
(項目19)
前記第2の接続方式による無線接続は、前記情報処理装置と前記通信装置との間におけるピア・ツー・ピアによる無線接続であることを特徴とする項目18に記載の通信装置。
(項目20)
前記第2の接続方式による無線接続は、前記情報処理装置と前記通信装置との間で前記通信装置がアクセスポイントとなる無線接続であることを特徴とする項目19に記載の通信装置。
(項目21)
前記通信装置は、プリンタであることを特徴とする項目1乃至20のいずれか1項に記載の通信装置。
(項目22)
情報処理装置と通信可能な通信装置において実行される方法であって、
前記情報処理装置と異なり且つ前記通信装置と異なる外部アクセスポイントと前記通信装置との間での第1の接続方式による無線接続の確立のための通信に用いられる情報を保持する保持工程と、
前記情報に基づいて前記情報処理装置から送信される要求を受信する受信工程と、
前記受信工程において受信した前記要求に基づいて、前記第1の接続方式による無線接続のための通信を実行する通信工程と、
前記受信工程において前記要求を受信したことに基づいて、前記保持工程で保持されている前記情報を破棄する破棄工程と、
を有することを特徴とする方法。
(項目23)
項目1乃至21のいずれか1項に記載の通信装置の各手段としてコンピュータを機能させるためのプログラム。
【0106】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0107】
200 情報処理: 300 通信装置: 312 CPU: 313 ROM: 314 RAM: 400 アクセスポイント
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11