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

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

▶ ブラザー工業株式会社の特許一覧

特許7315066通信装置と通信装置のためのコンピュータプログラム
<>
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図1
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図2
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図3
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図4
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図5
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図6
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図7
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図8
  • 特許-通信装置と通信装置のためのコンピュータプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-18
(45)【発行日】2023-07-26
(54)【発明の名称】通信装置と通信装置のためのコンピュータプログラム
(51)【国際特許分類】
   H04W 76/10 20180101AFI20230719BHJP
   H04W 4/00 20180101ALI20230719BHJP
   H04W 12/069 20210101ALI20230719BHJP
   H04W 12/08 20210101ALI20230719BHJP
   H04W 84/10 20090101ALI20230719BHJP
   H04W 84/12 20090101ALI20230719BHJP
   H04W 88/06 20090101ALI20230719BHJP
【FI】
H04W76/10
H04W4/00 110
H04W12/069
H04W12/08
H04W84/10 110
H04W84/12
H04W88/06
【請求項の数】 16
(21)【出願番号】P 2022096624
(22)【出願日】2022-06-15
(62)【分割の表示】P 2018068819の分割
【原出願日】2018-03-30
(65)【公開番号】P2022121487
(43)【公開日】2022-08-19
【審査請求日】2022-07-12
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】柴田 寛
【審査官】▲高▼木 裕子
(56)【参考文献】
【文献】特開2017-50612(JP,A)
【文献】特開2016-136704(JP,A)
【文献】特開2018-42058(JP,A)
【文献】特開2016-19042(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24 - 7/26
H04W 4/00 - 99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
通信装置であって、
表示部と、
第1の無線インターフェースと、
前記第1の無線インターフェースとは異なる第2の無線インターフェースと、
制御部と、を備え、
前記制御部は、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立される場合に、公開鍵の送信を含む対象処理を実行すべきことを指示するための指示画面を前記表示部に表示させる表示制御部と、
前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示される場合に、前記公開鍵の送信を指示する指示情報を前記第1の無線インターフェースに供給する供給部であって、前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示されない場合に、前記指示情報は前記第1の無線インターフェースに供給されない、前記供給部と、
を備え、
前記第1の無線インターフェースは、前記制御部から前記指示情報を取得した後に、前記公開鍵を前記第1の外部装置に送信し、
前記制御部は、さらに、
前記第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、
前記公開鍵が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
を備える、通信装置。
【請求項2】
通信装置であって、
第1の無線インターフェースと、
前記第1の無線インターフェースとは異なる第2の無線インターフェースと、
制御部と、を備え、
前記制御部は、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、
を備え、
前記第1の無線インターフェースは、前記第1の無線接続が確立された後に、前記公開鍵を前記第1の外部装置に送信し、
前記制御部は、さらに、
前記公開鍵が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
を備える、通信装置。
【請求項3】
前記第1の無線インターフェースは、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を前記第1の外部装置に送信し、
前記可能状態は、前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、請求項又はに記載の通信装置。
【請求項4】
前記第1の確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する、請求項に記載の通信装置。
【請求項5】
前記第1の無線インターフェースは、前記第1の無線接続が切断され、かつ、前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した第4の無線接続が確立される場合に、前記第4の無線接続を利用して、前記公開鍵を前記第1の外部装置に送信する、請求項1からのいずれか一項に記載の通信装置。
【請求項6】
前記第1の無線インターフェースは、インターフェースメモリを備え、
前記公開鍵の送信を指示する指示情報は、前記公開鍵を含み、
前記第1の無線インターフェースは、
前記制御部から前記指示情報を取得することに応じて、前記指示情報に含まれる前記公開鍵を前記インターフェースメモリに記憶し、
前記第1の無線接続が切断され、かつ、前記公開鍵が前記インターフェースメモリに記憶された後に、前記第4の無線接続が確立される場合に、前記第4の無線接続を利用して、前記公開鍵を前記第1の外部装置に送信する、請求項に記載の通信装置。
【請求項7】
前記制御部は、さらに、
所定条件が満たされる場合に、前記第1の無線インターフェースの動作モードを第1のモードから第2のモードに移行させるモード移行部であって、前記第1のモードは、前記第1の無線インターフェースを介した無線接続を確立不可能なモードであり、前記第2のモードは、前記第1の無線インターフェースを介した無線接続を確立可能なモードである、前記モード移行部を備える、請求項1からのいずれか一項に記載の通信装置。
【請求項8】
前記制御部は、さらに、
制御部メモリと、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記制御部メモリに記憶する記憶制御部と、を備え、
前記制御部メモリ内に前記接続情報が記憶されていない状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされ、
前記制御部メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされない、請求項に記載の通信装置。
【請求項9】
前記通信装置は、さらに、
操作部を備え、
前記制御部メモリ内に前記接続情報が記憶されている状況において、前記操作部を介した特定操作が受け付けられる場合に、前記所定条件が満たされる、請求項に記載の通信装置。
【請求項10】
前記第1の無線インターフェースは、前記第1の無線接続が確立される場合に、前記第1の無線接続を利用して、前記第1の外部装置にインストールされている接続アプリケーションプログラムであって、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立させるための前記接続アプリケーションプログラムを起動するための起動情報を前記第1の外部装置に送信し、
前記認証要求受信部は、前記第1の外部装置から前記接続アプリケーションプログラムに従って送信された前記認証要求を受信する、請求項1からのいずれか一項に記載の通信装置。
【請求項11】
前記第1の無線インターフェースは、NFC(Near Field Communicationの略)方式のタグインターフェースである、請求項1から10のいずれか一項に記載の通信装置。
【請求項12】
前記第2の外部装置は、前記第1の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記第1の確立部は、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立して、前記通信装置を前記無線ネットワークに子局として参加させる、請求項1から11のいずれか一項に記載の通信装置。
【請求項13】
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、請求項1から12のいずれか一項に記載の通信装置。
【請求項14】
前記制御部は、さらに、
前記認証応答が前記第1の外部装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記第1の外部装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、請求項1から13のいずれか一項に記載の通信装置。
【請求項15】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置と第1の外部装置との間に前記通信装置の第1の無線インターフェースを介した第1の無線接続が確立される場合に、公開鍵の送信を含む対象処理を実行すべきことを指示するための指示画面を前記通信装置の表示部に表示させる表示制御部と、
前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示される場合に、前記公開鍵の送信を指示する指示情報を前記第1の無線インターフェースに供給する供給部であって、前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示されない場合に、前記指示情報は前記第1の無線インターフェースに供給されない、前記供給部と、
前記第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から前記公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、
記指示情報が前記第1の無線インターフェースに供給され、前記公開鍵が前記第1の無線インターフェースから前記第1の外部装置に送信された後に、前記第1の外部装置から、前記通信装置の第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部であって、前記第2の無線インターフェースは、前記第1の無線インターフェースとは異なる、前記認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
として機能させる、コンピュータプログラム。
【請求項16】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置と第1の外部装置との間に前記通信装置の第1の無線インターフェースを介した第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、
前記第1の無線接続が確立され、前記公開鍵が前記第1の無線インターフェースから前記第1の外部装置に送信された後に、前記第1の外部装置から、前記通信装置の第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部であって、前記第2の無線インターフェースは、前記第1の無線インターフェースとは異なる、前記認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、外部装置との無線接続を確立可能な通信装置に関する技術を開示する。
【背景技術】
【0002】
非特許文献1には、Wi-Fi Allianceによって策定される予定であるDevice Provisioning Protocolと呼ばれる無線通信方式(以下では「DPP方式」と記載する。)が記述されている。DPP方式では、例えば、第1の装置と第2の装置との間にNFC接続が確立されることに応じて、DPP方式に従った無線通信が実行される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-37978号公報
【非特許文献】
【0004】
【文献】「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」 Wi-Fi Alliance, 2017年
【発明の概要】
【発明が解決しようとする課題】
【0005】
本明細書では、第1の外部装置を利用して、通信装置と第2の外部装置との間に第2の無線接続を確立させるための新規な技術を開示する。
【課題を解決するための手段】
【0006】
本明細書によって開示される通信装置は、表示部と、第1の無線インターフェースと、前記第1の無線インターフェースとは異なる第2の無線インターフェースと、制御部と、を備え、前記制御部は、前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立される場合に、公開鍵の送信を含む対象処理を実行すべきことを指示するための指示画面を前記表示部に表示させる表示制御部と、前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示される場合に、前記公開鍵の送信を指示する第1の指示情報を前記第1の無線インターフェースに供給する第1の供給部であって、前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示されない場合に、前記第1の指示情報は前記第1の無線インターフェースに供給されない、前記第1の供給部と、を備え、前記第1の無線インターフェースは、前記制御部から前記第1の指示情報を取得した後に、前記公開鍵を前記第1の外部装置に送信し、前記制御部は、さらに、前記公開鍵が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、を備えてもよい。
【0007】
上記の構成によると、通信装置は、第1の外部装置との第1の無線接続が確立される場合に、指示画面を表示する。指示画面が表示されている状況において、対象処理を実行すべきことが指示される場合に、公開鍵の送信を指示する第1の指示情報が第1の無線インターフェースに供給される。この結果、第1の無線インターフェースは、公開鍵を第1の外部装置に送信する。これにより、通信装置は、第1の外部装置から公開鍵が利用された認証要求を受信し、認証応答を第1の外部装置に送信し、第1の外部装置から接続情報を受信し、接続情報を利用して第2の外部装置との第2の無線接続を確立することができる。一方、指示画面が表示されている状況において、対象処理を実行すべきことが指示されない場合に、第1の指示情報は第1の無線インターフェースに供給されない。これにより、第1の無線インターフェースを介して公開鍵が第1の外部装置に送信されないので、通信装置は、第1の外部装置から公開鍵が利用された認証要求を受信せず、第2の外部装置との第2の無線接続を確立しない。このように、本技術によると、通信装置と第2の外部装置との間に第2の無線接続を確立させるのか否かを切り替えることができる。
【0008】
また、本明細書によって開示される通信装置は、第1の無線インターフェースと、前記第1の無線インターフェースとは異なる第2の無線インターフェースと、制御部と、を備え、前記制御部は、前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、を備え、前記第1の無線インターフェースは、前記第1の無線接続が確立された後に、前記公開鍵を前記第1の外部装置に送信し、前記制御部は、さらに、前記公開鍵が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、を備えてもよい。
【0009】
上記の構成によると、通信装置は、第1の外部装置との第1の無線接続が確立された後に、不可能状態から可能状態に移行する。これにより、通信装置は、第1の外部装置から、公開鍵が利用された認証要求を受信し、認証応答を第1の外部装置に送信し、第1の外部装置から接続情報を受信し、接続情報を利用して第2の外部装置との第2の無線接続を確立することができる。通信装置は、第1の外部装置との第1の無線接続が確立される前に、不可能状態よりも高い処理負荷である可能状態に移行しない。このために、第1の外部装置を利用して、通信装置と第2の外部装置との間に第2の無線接続を確立させる技術において、通信装置の処理負荷を軽減できる。
【0010】
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の通信装置によって実行される方法も新規で有用である。また、上記の通信装置と他の装置(例えば第1の外部装置、第2の外部装置)とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0011】
図1】通信システムの構成を示す。
図2】本実施例の概略を説明するための説明図を示す。
図3】ケースAのBootstrappingの処理のシーケンス図を示す。
図4】Authenticationの処理のシーケンス図を示す。
図5】Configurationの処理のシーケンス図を示す。
図6】Network Accessの処理のシーケンス図を示す。
図7】ケースBのBootstrappingの処理のシーケンス図を示す。
図8】ケースCのBootstrappingの処理のシーケンス図を示す。
図9】プリンタと端末との間にWi-Fi接続を確立する処理のシーケンス図を示す。
【発明を実施するための形態】
【0012】
(通信システム2の構成;図1
図1に示されるように、通信システム2は、AP(Access Pointの略)6と、端末10と、プリンタ100と、を備える。本実施例では、ユーザが端末10を利用して、プリンタ100とAP6との間にWi-Fi方式に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立させる状況を想定している。
【0013】
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、Wi-Fiインターフェース16と、NFCインターフェース18と、を備える。以下では、インターフェースを単に「I/F」と記載する。また、端末10は、接続アプリケーション40(以下では単に「アプリ40」と記載する)を記憶している。アプリ40は、プリンタ100とAP6との間にWi-Fi接続を確立させるためのプログラムであり、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
【0014】
Wi-FiI/F16は、Wi-Fi方式に従ったWi-Fi通信を実行するための無線インターフェースである。Wi-Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に従って、無線通信を実行するための無線通信方式である。特に、Wi-FiI/F16は、Wi-Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式と、Wi-Fi Allianceによって策定される予定であるDPP(Device Provisioning Protocolの略)方式と、をサポートしている。WFD方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている無線通信方式である。WFDの規格では、WFD機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態、及び、デバイス状態の3つの状態が定義されている。WFD機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。DPP方式は、Wi-Fi Allianceによって作成された規格書のドラフトである「DRAFT Device Provisioning Protocol Technical Specification Version 0.2.11」に記述されており、端末10を利用して一対のデバイス(例えばプリンタ100とAP6)の間に容易にWi-Fi接続を確立させるための無線通信方式である。
【0015】
NFCI/F18は、NFC方式に従ったNFC通信を実行するためのI/Fである。NFC方式は、例えば、ISO/IEC14443、15693、18092等の国際標準規格に基づく無線通信方式である。なお、NFC通信を実行するためのI/Fの種類として、NFCフォーラムデバイス(NFC Forum Device)と呼ばれるI/Fと、NFCフォーラムタグと呼ばれるI/Fと、が知られている。本実施例では、NFCI/F18は、NFCフォーラムデバイスである。
【0016】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、NFCI/F118と、印刷実行部120と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0017】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。印刷実行部120は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0018】
Wi-FiI/F116は、端末10のWi-FiI/F16と同様である。即ち、Wi-FiI/F116は、WFD方式とDPP方式とをサポートしている。このため、プリンタ100は、DPP方式に従ってAP6とのWi-Fi接続を確立することができ、さらに、WFD方式に従って端末10とのWi-Fi接続を確立することができる。また、Wi-FiI/F116は、MACアドレス「abc」を有する。NFCI/F118は、NFCフォーラムタグである点を除いて、端末10のNFCI/F18と同様である。なお、変形例では、NFCI/F118は、NFCフォーラムデバイスであってもよい。また、NFCI/F118は、メモリ119を備える。
【0019】
ここで、Wi-Fi通信とNFC通信との間の相違点を説明しておく。Wi-Fi通信の通信速度(例えば最大の通信速度が11~600Mbps)は、NFC通信の通信速度(例えば最大の通信速度が100~424Kbps)よりも速い。また、Wi-Fi通信における搬送波の周波数(例えば2.4GHz帯又は5.0GHz帯)は、NFC通信における搬送波の周波数(例えば13.56MHz帯)とは異なる。また、Wi-Fi通信を実行可能な最大の距離(例えば最大で約100m)は、NFC通信を実行可能な最大の距離(例えば最大で約10cm)よりも大きい。
【0020】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0021】
(具体例;図2図9
続いて、図2図9を参照して、各デバイス6,10,100によって実行される処理の具体例を説明する。まず、図2図8を参照して、プリンタ100とAP6との間にWi-Fi接続を確立するための処理を説明する。
【0022】
(AP6との接続のための処理の概要;図2
まず、図2を参照して、プリンタ100とAP6との間にWi-Fi接続を確立するための処理の概要を説明する。端末10及びプリンタ100がDPP方式をサポートしていることを上述したが、AP6もDPP方式をサポートしている。そして、本実施例では、各デバイス6,10,100がDPP方式に従った通信を実行することによって、プリンタ100とAP6との間のWi-Fi接続を確立することを実現する。以下では、理解の容易化のために、各デバイスのCPU(例えばCPU132等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えばプリンタ100)を主体として記載する。
【0023】
T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコード(登録商標)が端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP6から端末10に提供する処理である。
【0024】
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末10及びAP6のそれぞれが通信相手を認証するための処理である。
【0025】
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP6と実行する。当該Configは、プリンタ100とAP6との間のWi-Fi接続を確立するための情報をAP6に送信する処理である。具体的には、端末10は、当該Configにおいて、プリンタ100とAP6との間にWi-Fi接続を確立させるための第1のConfiguration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、第1のCOをAP6に送信する。この結果、AP6では、第1のCOが記憶される。
【0026】
次いで、端末10は、T20において、DPP方式のBSをプリンタ100と実行する。当該BSは、端末10のNFCI/F18とプリンタ100のNFCI/F118との間に確立されるNFC接続を利用して、後述のT25のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
【0027】
T25では、端末10は、T20のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
【0028】
T30では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100とAP6との間のWi-Fi接続を確立するための情報をプリンタ100に送信する処理である。端末10は、当該Configにおいて、プリンタ100とAP6との間にWi-Fi接続を確立させるための第2のCOを生成して、第2のCOをプリンタ100に送信する。この結果、プリンタ100では、第2のCOが記憶される。
【0029】
T35では、プリンタ100及びAP6は、記憶済みの第1及び第2のCOを利用して、DPP方式のNetwork Access(以下では、単に「NA」と記載する)を実行する。NAは、Wi-Fi接続を確立するための接続キーをプリンタ100及びAP6の間で共有するための処理である。
【0030】
T40では、プリンタ100及びAP6は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、プリンタ100及びAP6は、T35のNAで共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、プリンタ100とAP6との間にWi-Fi接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加することができ、この結果、AP6を介して、当該無線ネットワークに参加している他のデバイスとの通信を実行することができる。なお、変形例では、プリンタ100及びAP6は、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
【0031】
T45では、プリンタ100は、Wi-Fi接続がAP6と確立されたことを示す完了画面を表示部114に表示させる。T45の処理が終了すると、図2の処理が終了する。
【0032】
DPP方式では、プリンタ100とAP6との間にWi-Fi接続を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID(Service Set Identifierの略)、パスワード等)をプリンタ100に入力する必要がない。従って、ユーザは、プリンタ100とAP6との間のWi-Fi接続を容易に確立させることができる。
【0033】
(各処理の説明;図3図8
続いて、図3図8を参照して、図2のT20~T35において実行される各処理の詳細を説明する。なお、T5~T15の処理は、プリンタ100に代えてAP6が利用される点を除いて、T20~T30の処理と同様であるので、その詳細な説明を省略する。また、図3図7、及び、図8は、端末10とプリンタ100との間で実行されるBSの各ケースを示す。これらのケースは、一つの実施例において実行される処理である。
【0034】
(ケースAのBootstrapping(BS);図3
まず、図3を参照して、図2のT20のBSのケースAの処理を説明する。図3の初期状態では、プリンタ100のメモリ134は、プリンタ100の公開鍵PPK1及び秘密鍵psk1を予め記憶している。
【0035】
プリンタ100は、T100において、ユーザから電源ON操作を受け付けることに応じて、T105において、メニュー画面MSを表示部114に表示させる。画面MSは、換言すればプリンタ100のデフォルト画面であり、プリンタ100に印刷を実行させる印刷ボタンと、プリンタ100の各種設定(例えば印刷設定等)を指定するための設定ボタンと、を含む。
【0036】
プリンタ100は、メモリ134が第2のCO(図2のT30参照)をまだ記憶していないので、T107において、NFCI/F118の動作モードを非設定モードから設定モードに移行させる。従って、メモリ134が第2のCOを記憶していない状態では、ユーザがプリンタ100の電源をONするだけで、NFCI/F118の動作モードが非設定モードから設定モードに自動的に移行される。非設定モードは、NFCI/F118に通電されていない状態であり、NFC接続を確立不可能なモードである。設定モードは、NFCI/F118に通電されている状態であり、NFC接続を確立可能なモードである。
【0037】
T109では、プリンタ100(即ちCPU132)は、端末10にインストールされているアプリ40を起動するためのアプリ起動指示をNFCI/F118に供給する。この結果、NFCI/F118では、メモリ119内にアプリ起動指示が記憶される。
【0038】
T110において、ユーザによって端末10がプリンタ100に近付けられることに応じて、T112において、端末10のNFCI/F18とプリンタ100のNFCI/F118との間にNFC接続が確立される。この場合、NFCI/F118は、T113において、当該NFC接続を利用して、NFCI/F18からReadコマンドを受信することに応じて、T114において、当該NFC接続を利用して、メモリ119内のアプリ起動指示をNFCI/F18に送信する。この結果、T118において、端末10のアプリ40が起動される。このように、ユーザが端末10をプリンタ100に近付けるだけでアプリ40が起動されるので、ユーザの利便性が向上する。
【0039】
プリンタ100(即ちCPU132)は、アプリ起動指示を送信したことを示す通知をNFCI/F118から取得することに応じて、T116において、選択画面SLSを表示部114に表示させる。画面SLSは、AP6とのWi-Fi接続を確立するための処理を実行すべきことを示す「APとの接続」ボタンと、端末10とのWi-Fi接続を確立するための処理を実行すべきことを示す「端末との接続」ボタンと、を含む。
【0040】
端末10は、T118において、アプリ40を起動すると、アプリ40に従って以下の各処理を実行する。具体的には、端末10は、まず、通知画面を表示する。当該通知画面は、プリンタにおいて処理を選択した後に、端末10をプリンタ100に近付けることをユーザに促すメッセージを含む。次いで、端末10は、T112で確立されたNFC接続の切断を指示する情報をNFCI/F18に供給する。この結果、T119では、当該NFC接続が切断される。
【0041】
プリンタ100(即ちCPU132)は、T120において、画面SLS内の「APとの接続」ボタンがユーザによって選択されることに応じて、T122において、公開鍵の送信を指示する公開鍵送信指示をNFCI/F118に供給する。公開鍵送信指示は、メモリ134に予め記憶されているプリンタ100の公開鍵PPK1と、メモリ134に予め記憶されているチャネルリストと、Wi-FiI/F116のMACアドレス「abc」と、を含む。チャネルリストは、プリンタ100において予め決められている複数個の通信チャネル(即ちプリンタ100が利用可能な複数個の通信チャネル)を示す情報である。NFCI/F118では、公開鍵送信指示が取得されることに応じて、公開鍵送信指示内の公開鍵PPK1とチャネルリストとMACアドレス「abc」とがメモリ119内に記憶される。
【0042】
次いで、T124では、プリンタ100は、不可能状態から可能状態に移行する。不可能状態は、Wi-FiI/F116が、端末10からDPP Authentication Request(以下では、単に「AReq」と記載する)(後述の図4のT200参照)を受信しても、DPP Authentication Response(以下では、単に「ARes」と記載する)(後述のT210参照)を送信しない状態である。可能状態は、Wi-FiI/F116が、端末10からAReqを受信することに応じて、AResを端末10に送信する状態である。即ち、プリンタ100は、不可能状態から可能状態に移行することによって、Auth(図2のT25参照)を実行可能な状態になる。具体的には、本実施例では、不可能状態は、Wi-FiI/F116が、外部から信号を受信しても、当該信号をCPU132に供給しない状態である。また、可能状態は、Wi-FiI/F116が、外部から信号を受信することに応じて、当該信号をCPU132に供給し、当該信号に対する応答を送信する状態である。可能状態は、CPU132が外部から受信した信号を処理する状態であるので、不可能状態と比較して処理負荷が高い。なお、変形例では、不可能状態がWi-FiI/F116に通電されていない状態であり、可能状態がWi-FiI/F116に通電されている状態であってもよい。また、別の変形例では、不可能状態は、Wi-FiI/F116が、外部からAReqを受信しても、AReqが受信されたことを示す通知をCPU132に供給しない状態であり、可能状態は、Wi-FiI/F116が、外部からAReqを受信することに応じて、AReqが受信されたことを示す通知をCPU132に供給する状態であってもよい。
【0043】
T130~T133は、T110~T113と同様である。T134では、プリンタ100のNFCI/F118は、T132で確立されたNFC接続を利用して、メモリ119内の公開鍵PPK1とチャネルリストとMACアドレス「abc」とを端末10のNFCI/F18に送信する。この結果、プリンタ100の公開鍵PPK1とチャネルリストとMACアドレス「abc」とが端末10によって取得される。
【0044】
T136では、端末10は、プリンタ100とAP6との間にWi-Fi接続を確立するための接続処理を実行するのか否かをユーザに問い合せる端末側確認画面TCSを表示する。画面TCSは、接続処理を実行することを示すYESボタンと、接続処理を実行しないことを示すNOボタンと、を含む。T140では、端末10は、ユーザから画面TCS内のYESボタンの選択を受け付ける。T140の処理が終了すると、ケースAのBSの処理が終了する。
【0045】
(Authentication(Auth);図4
続いて、図4を参照して、図2のT25のAuthの処理を説明する。端末10は、図3のT140において、画面TCS内のYESボタンがユーザによって選択されることに応じて、T141において、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T142において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT134で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T144において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
【0046】
T200では、端末10は、Wi-FiI/F16を介して、図3のT134で取得されたMACアドレス「abc」を送信先として、AReqをプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。ここで、端末10は、T134で取得されたチャネルリスト内の複数個の通信チャネルを順次利用して、AReqをプリンタ100に送信することを繰り返す。当該AReqは、T141で生成された端末10の公開鍵TPK1と、T144で生成された暗号化データED1と、端末10のcapabilityと、を含む。
【0047】
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。なお、Configuratorは、Config(図2のT30)において、NA(図2のT35)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10が第1又は第2のCOを生成してAP6又はプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
【0048】
プリンタ100は、T200において、端末10から、Wi-FiI/F116を介して、AReqを受信する。上記のように、当該AReqは、プリンタ100のMACアドレス「abc」を送信先として送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
【0049】
また、プリンタ100は、図3のT124で可能状態に移行すると、チャネルリスト内の複数個の通信チャネルのうちの1個の通信チャネルが利用されたAReqを受信することを監視する。上記のように、T200のAReqは、チャネルリスト内の複数個の通信チャネルを順次利用して送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
【0050】
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、まず、プリンタ100は、T202において、ECDHに従って、当該AReq内の端末10の公開鍵TPK1と、メモリ134内に予め記憶されているプリンタ100の秘密鍵psk1と、を用いて、共有鍵SK1を生成する。ここで、T142で端末10によって生成される共有鍵SK1と、T204でプリンタ100によって生成される共有鍵SK1と、は同じである。従って、プリンタ100は、T204において、生成済みの共有鍵SK1を用いて、当該AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ100は、暗号化データED1の復号が成功する場合には、当該AReqの送信元が図3のT132でNFC接続が確立されたデバイスであると判断し、即ち、認証が成功したと判断し、T206以降の処理を実行する。一方、プリンタ100は、仮に、暗号化データED1の復号が成功しない場合には、当該AReqの送信元がT132でNFC接続が確立されたデバイスでないと判断し、即ち、認証が失敗したと判断し、T206以降の処理を実行しない。
【0051】
プリンタ100は、T206において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、公開鍵PPK2及び秘密鍵psk2は、メモリ134に予め記憶されていてもよい。次いで、プリンタ100は、T207において、ECDHに従って、T200のAReq内の端末10の公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T208において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
【0052】
T210では、プリンタ100は、Wi-FiI/F116を介して、AResを端末10に送信する。当該AResは、T206で生成されたプリンタ100の公開鍵PPK2と、T208で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0053】
端末10は、T210において、プリンタ100から、Wi-FiI/F16を介して、AResを受信することに応じて、当該AResの送信元(即ちプリンタ100)を認証するための以下の処理を実行する。具体的には、まず、端末10は、T212において、ECDHに従って、T141で生成された端末10の秘密鍵tsk1と、当該ARes内のプリンタ100の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T207でプリンタ100によって生成される共有鍵SK2と、T212で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T214において、生成済みの共有鍵SK2を用いて、当該ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、当該AResの送信元が図3のT132でNFC接続が確立されたデバイスであると判断し、即ち、認証が成功したと判断し、T220以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、当該AResの送信元がT132でNFC接続が確立されたデバイスでないと判断し、即ち、認証が失敗したと判断し、T220以降の処理を実行しない。
【0054】
T220において、端末10は、Wi-FiI/F16を介して、Confirmをプリンタ100に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T222において、Configuratorとして動作することが端末10によって決定され、T224において、Enrolleeとして動作することがプリンタ100によって決定される。T224の処理が終了すると、図4の処理が終了する。
【0055】
(Configuration(Config);図5
続いて、図5を参照して、図2のT30のConfigの処理を説明する。T300では、プリンタ100は、Wi-FiI/F116を介して、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、CO(即ちプリンタ100とAP6との間のWi-Fi接続を確立するための情報)の送信を要求する信号である。
【0056】
端末10は、T300において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T301において、端末10のメモリ(図示省略)から、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを取得する。上述したように、端末10は、図2のT15のConfigをAP6と実行済みであり、この際に、グループID「Group1」と公開鍵TPK2と秘密鍵tsk2とを生成してメモリに記憶する。グループID「Group1」は、プリンタ100とAP6との間のWi-Fi接続が確立されることによって形成される無線ネットワークを識別する情報である。なお、変形例では、ユーザによって指定された文字列がグループIDとして利用されてもよい。即ち、T301では、端末10は、図2のT15で記憶された各情報を取得する。次いで、端末10は、T302において、第2のCO(図2のT30参照)を生成する。具体的には、端末10は、以下の各処理を実行する。
【0057】
端末10は、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「Group1」と、図4のT210のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を用いて、生成済みの特定値を暗号化することによって、電子署名DS1を生成する。この結果、端末10は、ハッシュ値HVと、グループID「Group1」と、プリンタ100の公開鍵PPK2と、電子署名DS1と、を含むプリンタ用Signed-Connector(以下では、Signed-Connectorのことを単に「SCont」と記載する)を生成することができる。そして、端末10は、プリンタ用SContと、端末10の公開鍵TPK2と、を含む第2のCOを生成する。
【0058】
T310では、端末10は、Wi-FiI/F16を介して、第2のCOを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をプリンタ100に送信する。
【0059】
プリンタ100は、T310において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T312において、当該CRes内の第2のCOをメモリ134に記憶する。T312の処理が終了すると、図5の処理が終了する。
【0060】
(Network Access(NA);図6
続いて、図6を参照して、プリンタ100とAP6との間で実行される図2のT35のNAの処理を説明する。上記のように、図2のT20~T30と同様に、図2のT5~T15の処理が端末10及びAP6の間で実行済みである。ただし、AP6は、図3のT105~T134の処理を実行しない。AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6の公開鍵APK1と、AP6のチャネルリストと、AP6のMACアドレスと、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。端末10が当該QRコードを撮影することによって、端末10及びAP6の間でT136以降の各処理と同様の各処理が実行される。この結果、AP6は、AP6の公開鍵APK2及び秘密鍵ask2を記憶し(図4のT206参照)、さらに、端末10から受信される第1のCOを記憶する(図5のT312参照)。第1のCOは、AP用SContと、端末10の公開鍵TPK2と、を含む。当該公開鍵TPK2は、第2のCOに含まれる公開鍵TPK2と同じである。また、AP用SContは、ハッシュ値HVと、グループID「Group1」と、AP6の公開鍵APK2と、電子署名DS2と、を含む。当該ハッシュ値HV及び当該グループID「Group1」は、それぞれ、第2のCOに含まれるハッシュ値HV及びグループID「Group1」と同じである。電子署名DS2は、ハッシュ値HVとグループID「Group1」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末10の秘密鍵tsk2によって暗号化された情報であり、第2のCOに含まれる電子署名DS1とは異なる値である。
【0061】
プリンタ100は、T400において、Wi-FiI/F116を介して、プリンタ用SContを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行と、AP用SContの送信と、をAP6に要求する信号である。
【0062】
AP6は、T400において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6は、T402において、まず、受信済みのプリンタ用SCont内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第1のCOに含まれるAP用SCont内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のAP判断処理を実行する。図6のケースでは、AP6は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する。なお、受信済みのプリンタ用SCont内のハッシュ値HVと、記憶済みの第1のCOに含まれるAP用SCont内のハッシュ値HVと、が一致するということは、プリンタ用SCont及びAP用SContが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、AP6は、受信済みのプリンタ用SContの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、AP6は、記憶済みの第1のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのプリンタ用SCont内の電子署名DS1を復号する。図6のケースでは、電子署名DS1の復号が成功するので、AP6は、電子署名DS1を復号することによって得られた特定値と、受信済みのプリンタ用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。図6のケースでは、AP6は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で「一致する」と判断されることは、第2のCOがプリンタ100に記憶された後に、受信済みのプリンタ用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DS1の復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6は、認証が失敗したと判断し、T404以降の処理を実行しない。
【0063】
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ100の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
【0064】
T410では、AP6は、AP用SContを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)をプリンタ100に送信する。
【0065】
プリンタ100は、T410において、Wi-FiI/F116を介して、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、T412において、まず、受信済みのAP用SCont内のハッシュ値HV及びグループID「Group1」が、それぞれ、記憶済みの第2のCOに含まれるプリンタ用SCont内のハッシュ値HV及びグループID「Group1」に一致するのか否かに関する第1のPR判断処理を実行する。図6のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、受信済みのAP用SCont内のハッシュ値HVと、記憶済みの第2のCOに含まれるプリンタ用SCont内のハッシュ値HVと、が一致するということは、プリンタ用SCont及びAP用SContが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、プリンタ100は、受信済みのAP用SContの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、プリンタ100は、記憶済みの第2のCOに含まれる端末10の公開鍵TPK2を用いて、受信済みのAP用SCont内の電子署名DS2を復号する。図6のケースでは、電子署名DS2の復号が成功するので、プリンタ100は、電子署名DS2を復号することによって得られた特定値と、受信済みのAP用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。図6のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で「一致する」と判断されることは、第1のCOがAP6に記憶された後に、AP用SCont内の各情報(即ち、ハッシュ値HV、「Group1」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DS2の復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T414以降の処理を実行しない。
【0066】
プリンタ100は、T414において、ECDHに従って、記憶済みのプリンタ100の秘密鍵psk2と、受信済みのAP用SCont内のAP6の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP6によって生成される接続キーCKと、T414でプリンタ100によって生成される接続キーCKと、は同じである。これにより、Wi-Fi接続を確立するための接続キーCKがプリンタ100及びAP6の間で共有される。T414が終了すると、図6の処理が終了する。
【0067】
上述したように、接続キーCKがプリンタ100及びAP6の間で共有された後に、図2のT40において、プリンタ100及びAP6は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6との間にWi-Fi接続が確立される。なお、上述したように、プリンタ100は、プリンタ100のチャネルリストに含まれる複数個の通信チャネルのうちの1個の通信チャネルを利用して、端末10から図4のT200のAReqを受信する。即ち、プリンタ100は、プリンタ100と端末10との双方が利用可能な通信チャネルを利用して、端末10からT200のAReqを受信する。一方、図2のT40では、プリンタ100は、プリンタ100とAP6との双方が利用可能な通信チャネルを利用して、Wi-Fi接続をAP6と確立する。ここで、端末10が利用可能な通信チャネルと、AP6が利用可能な通信チャネルと、は異なる場合がある。本実施例では、プリンタ100が図4のT200で端末10からAReqを受信するための通信チャネルと、プリンタ100が図2のT40でWi-Fi接続をAP6と確立するための通信チャネルと、が異なる。ただし、変形例では、前者の通信チャネルと後者の通信チャネルとは同じでもよい。
【0068】
(ケースBのBootstrapping(BS);図7
続いて、図7を参照して、図2のT20のBSのケースBの処理を説明する。ケースBは、図2のT20~T40が実行される前の状態、即ち、プリンタ100のメモリ134が第2のCOをまだ記憶していない状態である。また、ケースBは、端末10においてアプリ40が起動された後(図3のT118)に、端末10がユーザによってプリンタ100に再び近づけられない状況を想定している。
【0069】
T500~T524は、図3のT100~T124と同様である。本ケースでは、端末10がユーザによってプリンタ100に再び近づけられないので、T130以降の処理が実行されない。即ち、プリンタ100の公開鍵PPK1とチャネルリストとMACアドレス「abc」とが端末10によって取得されないので、端末10からAReqがプリンタ100に送信されない。この場合、プリンタ100は、T526において、T524で可能状態に移行してから所定時間以内にAReqを受信しなかったと判断し、T528において、可能状態から不可能状態に移行する。これにより、プリンタ100において長時間に亘って可能状態が継続することを抑制することができる。従って、プリンタ100の処理負荷を軽減することができる。そして、T530では、プリンタ100は、端末10からAReqが受信されなかったことを示すエラー画面を表示部114に表示させる。T530の処理が終了すると、図7の処理が終了し、DPP方式に従った通信が中止される。
【0070】
(ケースCのBootstrapping(BS);図8
続いて、図8を参照して、BSの他のケースCの処理を説明する。ケースCは、図2のT20~T40が実行された後の状態、即ち、プリンタ100のメモリ134が第2のCOを記憶済みである状態である。
【0071】
T600及びT603は、図3のT100及びT105と同様である。本ケースでは、プリンタ100のメモリ134が第2のCOを記憶しているので、プリンタ100は、NFCI/F118の動作モードを非設定モードから設定モードに移行させない。プリンタ100は、第2のCOを記憶している状況では、第2のCOを利用して、Wi-Fi接続をAP6と確立することができる。従って、プリンタ100においてBSが実行される可能性が低い。プリンタ100は、このような状況において、NFCI/F118の動作モードを設定モードに移行させない、即ち、NFCI/F118に通電しないので、消費電力を軽減することができる。
【0072】
ユーザは、プリンタ100が第2のCOを記憶している状態において、例えば、AP6とは異なるAPとプリンタ100との間のWi-Fi接続の確立を望む可能性がある。この場合、ユーザは、T604において、メニュー画面MS内の設定ボタンを選択する。この場合、プリンタ100は、T605において、設定画面SSを表示部114に表示させる。画面SSは、プリンタ100の印刷設定を変更するための印刷設定ボタンと、NFCI/F118の動作モードを変更するためのモード移行ボタンと、を含む。そして、T606では、ユーザは、画面SS内のモード移行ボタンを選択する。この場合、プリンタ100は、T607において、NFCI/F118の動作モードを非設定モードから設定モードに移行させる。これにより、端末10がユーザによってプリンタ100に近付けられることに応じて、図3のT110以降の処理が実行される。T609は、図3のT109と同様である。
【0073】
なお、プリンタ100は、DPP方式を利用せずに、通常のWi-Fi方式(即ちSSID及びパスワードを利用する方式)に従って、AP6とのWi-Fi接続を確立することもできる。この場合、プリンタ100のメモリ134は、AP6とのWi-Fi接続を確立するための無線設定情報(即ちSSID及びパスワード)を記憶する。このような状態でプリンタ100の電源がONされても、プリンタ100は、図8のケースCと同様に、NFCI/F118の動作モードを非設定モードから設定モードに移行させない。プリンタ100が無線設定情報を利用してAP6とWi-Fi接続を確立することができるからである。このような状況でもNFCI/F118に通電されないので、消費電力を軽減することができる。
【0074】
(端末10との接続のための処理;図9
続いて、図9を参照して、端末10とプリンタ100との間にWi-Fi接続を確立するための処理を説明する。T700~T719は、図3のT100~T119と同様である。プリンタ100は、T720において、選択画面SLS内の「端末との接続」ボタンがユーザによって選択されることに応じて、T721において、G/O状態に移行し、プリンタ100がG/Oとして動作する無線ネットワークで利用されるSSID「xxx」及びパスワードを生成する。そして、プリンタ100は、T722において、SSIDの送信を指示するSSID送信指示をNFCI/F118に供給する。当該SSID送信指示は、生成済みのSSID「xxx」を含む。この結果、NFCI/F118では、SSID「xxx」がメモリ119内に記憶される。
【0075】
T730~T733は、図3のT130~T133と同様である。T734では、プリンタ100のNFCI/F118は、T732で確立されたNFC接続を利用して、メモリ119内のSSID「xxx」を端末10のNFCI/F18に送信する。この結果、SSID「xxx」が端末10によって取得される。
【0076】
T740では、端末10が接続対象の装置(即ち、プリンタ100)を検索するための検索処理が実行される。具体的には、以下の処理が実行される。まず、プリンタ100は、Wi-FiI/F116を介して、端末10からブロードキャストによって送信されたProbe Request(以下では、単に「PReq」と記載する)を受信し、Probe Response(以下では、単に「PRes」と記載する)を端末10に送信する。当該PResは、SSID「xxx」を含む。
【0077】
端末10は、PReqをブロードキャストによって送信すると、プリンタ100を含む1個以上のデバイスのそれぞれからPResを受信する。この場合、端末10は、1個以上のPResの中から、T734で取得されたSSID「xxx」を含むPResを特定することによって、接続対象のプリンタ100を特定する。そして、端末10は、Wi-FiI/F16を介して、特定済みのプリンタ100のSSID「xxx」を含むPReqをプリンタ100に送信する(即ちユニキャストによって送信する)。
【0078】
プリンタ100は、Wi-FiI/F116を介して、端末10からSSID「xxx」を含むPReqを受信することに応じて、PResを端末10に送信する。
【0079】
T750では、プリンタ100は、端末10との各種通信(Association、WPS Negotiation、4way-handshake)を実行する。プリンタ100は、WPS Negotiationにおいて、生成済みのSSID「xxx」及び生成済みのパスワードを含む無線設定情報を端末10に送信する。そして、プリンタ100は、SSID「xxx」及びパスワードを利用して、端末10との4way-handshakeの通信を実行して、端末10とのWi-Fi接続を確立する。これにより、プリンタは、T760において、ユーザがプリンタ100に印刷を実行させるための印刷操作を端末10に実行することに応じて、T762において、Wi-FiI/F116を介して、端末10から印刷データを受信することができる。そして、プリンタ100は、T764において、受信済みの印刷データに従った印刷を印刷実行部120に実行させる。T764の処理が終了すると、図9の処理が終了する。
【0080】
(本実施例の効果)
本実施例では、プリンタ100は、端末10とのNFC接続が確立される場合(図3のT112)に、選択画面SLSを表示する(T116)。画面SLS内の「APとの接続」ボタンがユーザによって選択される場合(T120)に、公開鍵送信指示がNFCI/F118に供給される(T122)。この結果、NFCI/F118は、公開鍵PPK1を端末10に送信する(T134)。これにより、プリンタ100は、端末10からAReqを受信し(図4のT200)、AResを端末10に送信し(T210)、端末10から第2のCOを受信し(図5のT310)、第2のCOを利用してAP6とのWi-Fi接続を確立することができる(図2のT35、T40)。一方、画面SLS内の「APとの接続」ボタンがユーザによって選択されない場合(図9のT720)に、公開鍵送信指示はNFCI/F118に供給されない。これにより、NFCI/F118を介して公開鍵TPK1が端末10に送信されないので、プリンタ100は、端末10からAReqを受信せず、AP6とのWi-Fi接続を確立しない。このように、プリンタ100とAP6との間にWi-Fi接続を確立させるのか否かを切り替えることができる。
【0081】
また、本実施例では、プリンタ100は、端末10とのNFC接続が確立された後に(図3のT112)、不可能状態から可能状態に移行する(T124)。これにより、プリンタ100は、端末10からAReqを受信し(図4のT200)、AResを端末10に送信し(T210)、端末10から第2のCOを受信し(図5のT310)、第2のCOを利用してAP6とのWi-Fi接続を確立することができる(図2のT35、T40)。プリンタ100は、端末10とのNFC接続が確立される前に、不可能状態よりも高い処理負荷である可能状態に移行しない。このために、端末10を利用して、プリンタ100とAP6との間にWi-Fi接続を確立させる技術において、プリンタ100の処理負荷を軽減できる。
【0082】
(対応関係)
プリンタ100、端末10、AP6が、それぞれ、「通信装置」、「第1の外部装置」、「第2の外部装置」の一例である。NFCI/F118、Wi-FiI/F116、CPU132が、それぞれ、「第1の無線インターフェース」、「第2の無線インターフェース」、「制御部」の一例である。図3のT112(又は図7のT512、図9のT712)のNFC接続、図2のT40のWi-Fi接続が、それぞれ、「第1の無線接続」、「第2の無線接続」の一例である。選択画面SLS、公開鍵PPK1、公開鍵送信指示が、それぞれ、「指示画面」、「公開鍵」、「第1の指示情報」の一例である。図2の処理が、「対象処理」の一例である。AReq、ARes、第2のCOが、それぞれ、「認証要求」、「認証応答」、「接続情報」の一例である。図2のT40で確立されるWi-Fi接続が、「無線接続」の一例である。
【0083】
設定画面SS内の「APとの接続」ボタン、「端末との接続」ボタン、図9のT750のWi-Fi接続が、それぞれ、「第1の選択領域」、「第2の選択領域」、「第3の無線接続」の一例である。NFCI/F118のメモリ119、図3のT132のNFC接続、T732のNFC接続、SSID「xxx」、SSID送信指示が、それぞれ、「インターフェースメモリ」、「第4の無線接続」、「第5の無線接続」、「確立情報」、「第2の指示情報」の一例である。チャネルリスト、図4のT200で利用される通信チャネル、図2のT40で利用される通信チャネルが、それぞれ、「通信チャネル情報」、「第1の通信チャネル」、「第2の通信チャネル」の一例である。メモリ134内に第2のCOが記憶されていない状態でユーザからの電源ON操作を受け付けること、及び、メモリ134内に第2のCOが記憶されている状態でユーザからのモード移行ボタンの選択を受け付けることが、「所定条件」の一例である。非設定モード、設定モードが、それぞれ、「第1のモード」、「第2のモード」の一例である。メモリ134が、「制御部メモリ」の一例である。図8のT606のモード移行ボタンの選択操作が、「特定操作」の一例である。アプリ40、アプリ起動指示が、それぞれ、「アプリケーションプログラム」、「起動情報」の一例である。AP用SCont、第2のCO内のハッシュ値HVが、それぞれ、「受信情報」、「認証情報」の一例である。
【0084】
図3のT116(又は、図7のT516、図9のT716)の処理、T122(又はT522)の処理、図4のT200の処理、T210の処理、図5のT310の処理、図2のT35及びT40の処理が、それぞれ、「表示制御部」、「第1の供給部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「第1の確立部」によって実行される処理の一例である。
【0085】
図3のT124(又は、図7のT524)の処理、図4のT200の処理、T210の処理、図5のT310の処理、図2のT35及びT40の処理が、それぞれ、「状態移行部」、「認証要求受信部」、「認証応答送信部」、「接続情報受信部」、「確立部」によって実行される処理の一例である。
【0086】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0087】
(変形例1)図3のT122でプリンタ100は、チャネルリスト及びMACアドレス「abc」を含まず、公開鍵PPK1を含む公開鍵送信指示をNFCI/F118に供給してもよい。この場合、プリンタ100は、T124で不可能状態から可能状態に移行することに応じて、プリンタ100が利用可能な全ての無線チャネルのうちの1個の無線チャネルが利用されたAReqを受信することを監視する。また、端末10は、図4のT200において、端末10が利用可能な全ての無線チャネルを順次利用して、AReqをブロードキャストによって順次送信する。即ち、「第1の無線インターフェース」は、少なくとも公開鍵を第1の外部装置に送信すればよい。
【0088】
(変形例2)共有鍵(例えばSK1)を生成するための処理(例えば、図4のT142、T202)は、ECDHに従った上記の実施例の処理に限らず、ECDHに従った他の処理であってもよい。また、共有鍵を生成するための処理は、ECDHに従った処理に限らず、他の方式(例えば、DH(Diffie-Hellman key exchangeの略)等)に従った処理が実行されてもよい。また、上記の実施例では、電子署名DS1及びDS2が、ECDSAに従って生成されたが、他の方式(例えば、DSA(Digital Signature Algorithmの略)、RAS(Rivest-Shamir-Adleman cryptosystemの略)等)に従って生成されてもよい。
【0089】
(変形例3)図9のT721の処理が省略されてもいい。この場合、プリンタ100は、T722の処理を実行する代わりに、MACアドレス「abc」を含むMACアドレス送信指示をNFCI/F118に供給する。この結果、MACアドレス「abc」が、プリンタ100のNFCI/F118から端末10のNFCI/F18に送信され、端末10においてMACアドレス「abc」が取得される。これにより、端末10は、検索処理において、受信済みのMACアドレス「abc」を利用して、接続対象のプリンタ100を特定することができる。その後、端末10とプリンタ100との間でG/O Negotiationが実行されることによって、端末10及びプリンタ100の一方がG/Oとして動作すると共に他方がクライアントとして動作することが決定される。そして、端末10とプリンタ100との間で図9のT750と同様の処理が実行されて、端末10とプリンタ100との間にWi-Fi接続が確立される。本変形例では、MACアドレス送信指示、MACアドレス「abc」が、それぞれ、「第2の指示情報」、「確立情報」の一例である。
【0090】
(変形例4)プリンタ100のWi-FiI/F116がWFD方式をサポートしていなくてもよい。この場合、例えば、図3のT116では、プリンタ100は、選択画面SLSに代えて、プリンタ100とAP6との間のWi-Fi接続を確立するための接続処理を実行することをユーザに確認するプリンタ側確認画面PCSを表示部114に表示させてもよい。画面PCSは、接続処理を実行することを示すYESボタンを含む。プリンタ100は、画面PCS内のYESボタンが選択されることに応じて、T122以降の処理を実行する。なお、プリンタ100は、画面PCS内のYESボタンが所定時間内に選択されない場合に、T122以降の処理を実行することなく、メニュー画面MSを表示部114に再び表示させる。本変形例では、プリンタ側確認画面PCSが、「指示画面」の一例である。また、本変形例では、「第2の選択領域」、「第2の確立部」、及び、「第2の供給部」が省略可能である。なお、別の変形例では、画面PCSが、接続処理を実行しないことを示すNOボタンをさらに含んでもよい。この場合、プリンタ100は、画面PCS内のNOボタンがユーザによって選択される場合に、T122以降の処理を実行することなく、画面MSを表示部114に再び表示させる。本変形例では、画面PCS内のNOボタンが選択されることが、「対象処理を実行すべきことが指示されない場合」の一例である。
【0091】
(変形例5)プリンタ100の公開鍵PPK1とチャネルリストとMACアドレス「abc」とが、NFCI/F118のメモリ119内に予め記憶されていてもよい。また、プリンタ100は、図3のT109の処理を実行しなくてもよい。この場合、端末10において、アプリ40の起動操作がユーザによって実行され、アプリ40が起動された後に、T110及びT112の処理が実行される。なお、この時点では、NFCI/F118は、端末10からReadコマンドを受信しても、当該Readコマンドに対する応答を送信しない状態となっている。従って、NFCI/F118は、メモリ119内のプリンタ100の公開鍵PPK1とチャネルリストとMACアドレス「abc」とを送信しない。また、プリンタ100のNFCI/F118は、端末10のNFCI/F18とのNFC接続が確立されることに応じて、NFC接続が確立されたことを示す通知をプリンタ100のCPU132に供給する。プリンタ100(即ちCPU132)は、NFCI/F118から当該通知を取得することに応じて、選択画面SLSを表示部114に表示させる。そして、プリンタ100は、画面SLS内の「APとの接続」ボタンがユーザによって選択される場合に、公開鍵送信指示をNFCI/F118に供給する。なお、当該公開鍵送信指示は、プリンタ100の公開鍵PPK1等を含まない。そして、プリンタ100のNFCI/F118は、公開鍵送信指示を取得することに応じて、端末10からReadコマンドを受信することに応じて、当該Readコマンドに対する応答を送信する状態に移行する。従って、NFCI/F118は、確立済みのNFC接続を利用して、メモリ119内のプリンタ100の公開鍵PPK1とチャネルリストとMACアドレス「abc」とを端末10のNFCI/F18に送信する。本変形例では、T112のNFC接続が、「第1の無線接続」の一例である。また、本変形例では、「起動情報」が省略可能である。さらに、本変形例では、「第1の指示情報」は、公開鍵を含まなくてもよい。
【0092】
(変形例6)プリンタ100が、NFCI/F118に代えて、NFC方式とは異なる無線方式(例えば、Bluetooth(登録商標)方式、TransferJet方式)に従った異なる無線インターフェースを備えていてもよい。なお、上記のBluetooth方式は、Bluetooth方式バージョン4.0以上(いわゆるBlue Tooth Low Energy)を含む。この場合、プリンタ100は、例えば、図3のT134において、当該無線インターフェースを介して、公開鍵PPK1とチャネルリストとMACアドレス「abc」とを端末10に送信する。本変形例では、当該無線インターフェースが、「第1の無線インターフェース」の一例である。
【0093】
(変形例7)プリンタ100のNFCI/F118が、メモリ119を備えていなくてもよい。この場合、NFCI/F118は、図3のT132でNFCI/F18とのNFC接続が確立されることに応じて、NFC接続が確立されたことを示す通知をCPU132に供給する。プリンタ100は、当該通知を取得することに応じて、公開鍵送信指示をNFCI/F118に供給する。この結果、プリンタ100のNFCI/F118は、確立済みのNFC接続を利用して、公開鍵送信指示内の公開鍵PPK1等を端末10のNFCI/F18に送信する。本変形例では、「インターフェースメモリ」が省略可能である。なお、上記のNFC通信がNFC規格のP2P(Peer to Peerの略)モードに従った通信であってもよい。
【0094】
(変形例8)図2のT35において、端末10とプリンタ100との間でNAの処理が実行されて、端末10とプリンタ100との間でWi-Fi接続が確立されてもよい。即ち、「第2の外部装置」は、「第1の外部装置」と同じ装置であってもよい。
【0095】
(変形例9)プリンタ100は、図3のT109において、アプリ起動指示と公開鍵送信指示とをNFCI/F118に供給してもよい。この場合、プリンタ100は、T112においてNFC接続が確立されたことを示す通知をNFCI/F118から取得することに応じて、不可能状態から可能状態に移行する。また、T114では、NFCI/F118は、確立済みのNFC接続を利用して、アプリ起動指示と公開鍵PPK1とチャネルリストとMACアドレス「abc」とを端末10のNFCI/F18に送信する。その後、T136以降の処理が実行される。また、別の変形例では、プリンタ100は、T134の処理の後に、不可能状態から可能状態に移行してもよい。この場合、プリンタ100は、NFCI/F118から公開鍵PPK1等を送信したことを示す通知を取得することに応じて、不可能状態から可能状態に移行する。即ち、プリンタ100は、T112でNFC接続が確立された後に、可能状態に移行すればよい。
【0096】
(変形例10)図9のT721において、プリンタ100は、WFD方式のG/Oとして動作することに代えて、いわゆるSoftAPとして動作してもよい。この場合、プリンタ100は、プリンタ100がSoftAPとして動作する無線ネットワークで利用されるSSID及びパスワードを生成して、当該SSID及びパスワードを含むSSID送信指示をNFCI/F118に供給する。この結果、T734では、NFCI/F118は、確立済みのNFC接続を利用して、当該SSID及びパスワードをNFCI/F18に送信する。本変形例では、上記のSSID及びパスワードが、「確立情報」の一例である。
【0097】
(変形例11)プリンタ100のNFCI/F118が常に設定モードで動作するように構成されてもよい。本変形例では、「モード移行部」が省略可能である。
【0098】
(変形例12)上記の実施例では、端末10を利用して、プリンタ100とAP6との間のWi-Fi接続が確立される。これに代えて、例えば、端末10を利用して、G/Oとして動作するプリンタ100(即ち親局として動作するデバイス)と、他のデバイス(即ち子局として動作するデバイス)と、の間のWi-Fi接続が確立されてもよい。即ち、「第2の外部装置」は、「親局装置」でなくてもよい。
【0099】
(変形例13)「通信装置」は、プリンタでなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
【0100】
(変形例14)上記の各実施例では、図2図9の各処理がソフトウェア(即ちプログラム136)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0101】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下の項目は、出願時の特許請求の範囲に記載の要素である。
(項目1)
通信装置であって、
表示部と、
第1の無線インターフェースと、
前記第1の無線インターフェースとは異なる第2の無線インターフェースと、
制御部と、を備え、
前記制御部は、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立される場合に、公開鍵の送信を含む対象処理を実行すべきことを指示するための指示画面を前記表示部に表示させる表示制御部と、
前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示される場合に、前記公開鍵の送信を指示する第1の指示情報を前記第1の無線インターフェースに供給する第1の供給部であって、前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示されない場合に、前記第1の指示情報は前記第1の無線インターフェースに供給されない、前記第1の供給部と、
を備え、
前記第1の無線インターフェースは、前記制御部から前記第1の指示情報を取得した後に、前記公開鍵を前記第1の外部装置に送信し、
前記制御部は、さらに、
前記公開鍵が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部と、
前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
を備える、通信装置。
(項目2)
前記第2の外部装置は、前記第1の外部装置とは異なる装置であり、
前記指示画面は、前記対象処理に対応する第1の選択領域と、前記対象処理とは異なる処理に対応する第2の選択領域と、を含み、
前記第1の供給部は、前記指示画面が表示されている状況において、前記第1の選択領域が選択される場合に、前記第1の指示情報を前記第1の無線インターフェースに供給し、
前記制御部は、さらに、
前記指示画面が表示されている状況において、前記第2の選択領域が選択される場合に、前記通信装置と前記第1の外部装置との間に前記第2の無線インターフェースを介した第3の無線接続を確立する第2の確立部を備える、項目1に記載の通信装置。
(項目3)
前記第1の無線インターフェースは、インターフェースメモリを備え、
前記第1の指示情報は、前記公開鍵を含み、
前記第1の無線インターフェースは、
前記制御部から前記第1の指示情報を取得することに応じて、前記第1の指示情報に含まれる前記公開鍵を前記インターフェースメモリに記憶し、
前記第1の無線接続が切断され、かつ、前記公開鍵が前記インターフェースメモリに記憶された後に、前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した第4の無線接続が確立される場合に、前記第4の無線接続を利用して、前記公開鍵を前記第1の外部装置に送信し、
前記制御部は、さらに、
前記指示画面が表示されている状況において、前記第2の選択領域が選択される場合に、前記第3の無線接続を確立するための確立情報を含む第2の指示情報を前記第1の無線インターフェースに供給する第2の供給部を備え、
前記第1の無線インターフェースは、
前記制御部から前記第2の指示情報を取得することに応じて、前記第2の指示情報に含まれる前記確立情報を前記インターフェースメモリに記憶し、
前記第1の無線接続が切断され、かつ、前記確立情報が前記インターフェースメモリに記憶された後に、前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した第5の無線接続が確立される場合に、前記第5の無線接続を利用して、前記第1の無線インターフェースを介して前記確立情報を前記第1の外部装置に送信し、
前記第2の確立部は、前記確立情報が前記第1の外部装置に送信された後に、前記確立情報を利用して、前記通信装置と前記第1の外部装置との間に前記第2の無線インターフェースを介した前記第3の無線接続を確立する、項目2に記載の通信装置。
(項目4)
前記制御部は、さらに、
前記第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から前記認証要求を受信しても、前記認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部を備え、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、項目1から3のいずれか一項に記載の通信装置。
(項目5)
通信装置であって、
第1の無線インターフェースと、
前記第1の無線インターフェースとは異なる第2の無線インターフェースと、
制御部と、を備え、
前記制御部は、
前記通信装置と第1の外部装置との間に前記第1の無線インターフェースを介した第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、
を備え、
前記第1の無線インターフェースは、前記第1の無線接続が確立された後に、前記公開鍵を前記第1の外部装置に送信し、
前記制御部は、さらに、
前記公開鍵が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
を備える、通信装置。
(項目6)
前記第1の無線インターフェースは、前記公開鍵と、前記通信装置において予め決められている第1の通信チャネルを示す通信チャネル情報と、を前記第1の外部装置に送信し、
前記可能状態は、前記第1の通信チャネルが利用された前記認証要求を受信することを監視し、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態であり、
前記認証応答送信部は、前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記第1の通信チャネルが利用された前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する、項目4又は5に記載の通信装置。
(項目7)
前記第1の確立部は、前記第1の通信チャネルとは異なる第2の通信チャネルを利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する、項目6に記載の通信装置。
(項目8)
前記第1の無線インターフェースは、前記第1の無線接続が切断され、かつ、前記通信装置と前記第1の外部装置との間に前記第1の無線インターフェースを介した第4の無線接続が確立される場合に、前記第4の無線接続を利用して、前記公開鍵を前記第1の外部装置に送信する、項目1から7のいずれか一項に記載の通信装置。
(項目9)
前記第1の無線インターフェースは、インターフェースメモリを備え、
前記公開鍵の送信を指示する第1の指示情報は、前記公開鍵を含み、
前記第1の無線インターフェースは、
前記制御部から前記第1の指示情報を取得することに応じて、前記第1の指示情報に含まれる前記公開鍵を前記インターフェースメモリに記憶し、
前記第1の無線接続が切断され、かつ、前記公開鍵が前記インターフェースメモリに記憶された後に、前記第4の無線接続が確立される場合に、前記第4の無線接続を利用して、前記公開鍵を前記第1の外部装置に送信する、項目8に記載の通信装置。
(項目10)
前記制御部は、さらに、
所定条件が満たされる場合に、前記第1の無線インターフェースの動作モードを第1のモードから第2のモードに移行させるモード移行部であって、前記第1のモードは、前記第1の無線インターフェースを介した無線接続を確立不可能なモードであり、前記第2のモードは、前記第1の無線インターフェースを介した無線接続を確立可能なモードである、前記モード移行部を備える、項目1から9のいずれか一項に記載の通信装置。
(項目11)
前記制御部は、さらに、
制御部メモリと、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を前記制御部メモリに記憶する記憶制御部と、を備え、
前記制御部メモリ内に前記接続情報が記憶されていない状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされ、
前記制御部メモリ内に前記接続情報が記憶されている状況において、前記通信装置の電源がONされる場合に、前記所定条件が満たされない、項目10に記載の通信装置。
(項目12)
前記通信装置は、さらに、
操作部を備え、
前記制御部メモリ内に前記接続情報が記憶されている状況において、前記操作部を介した特定操作が受け付けられる場合に、前記所定条件が満たされる、項目11に記載の通信装置。
(項目13)
前記第1の無線インターフェースは、前記第1の無線接続が確立される場合に、前記第1の無線接続を利用して、前記第1の外部装置にインストールされているアプリケーションプログラムを起動するための起動情報を前記第1の外部装置に送信し、
前記認証要求受信部は、前記アプリケーションプログラムに従って前記第1の外部装置から送信された前記認証要求を受信する、項目1から12のいずれか一項に記載の通信装置。
(項目14)
前記第1の無線インターフェースは、NFC(Near Field Communicationの略)方式のタグインターフェースである、項目1から13のいずれか一項に記載の通信装置。
(項目15)
前記第2の外部装置は、前記第1の外部装置とは異なる装置であって、無線ネットワークの親局として動作すべき親局装置であり、
前記第1の確立部は、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立して、前記通信装置を前記無線ネットワークに子局として参加させる、項目1から14のいずれか一項に記載の通信装置。
(項目16)
前記接続情報は、前記第2の外部装置から受信される受信情報を認証するための認証情報を含む、項目1から15のいずれか一項に記載の通信装置。
(項目17)
前記制御部は、さらに、
前記認証応答が前記第1の外部装置に送信された後に、前記通信装置をWi-Fi規格に従ったEnrolleeとして動作させる動作制御部であって、前記第1の外部装置は、前記Wi-Fi規格に従ったConfiguratorとして動作する、前記動作制御部を備える、項目1から16のいずれか一項に記載の通信装置。
(項目18)
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置と第1の外部装置との間に前記通信装置の第1の無線インターフェースを介した第1の無線接続が確立される場合に、公開鍵の送信を含む対象処理を実行すべきことを指示するための指示画面を前記通信装置の表示部に表示させる表示制御部と、
前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示される場合に、前記公開鍵の送信を指示する第1の指示情報を前記第1の無線インターフェースに供給する第1の供給部であって、前記指示画面が表示されている状況において、前記対象処理を実行すべきことが指示されない場合に、前記第1の指示情報は前記第1の無線インターフェースに供給されない、前記第1の供給部と、
前記第1の指示情報が前記第1の無線インターフェースに供給され、前記公開鍵が前記第1の無線インターフェースから前記第1の外部装置に送信された後に、前記第1の外部装置から、前記通信装置の第2の無線インターフェースを介して、前記公開鍵が利用された認証要求を受信する認証要求受信部であって、前記第2の無線インターフェースは、前記第1の無線インターフェースとは異なる、前記認証要求受信部と、
前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証要求に対する応答である認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
として機能させる、コンピュータプログラム。
(項目19)
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置と第1の外部装置との間に前記通信装置の第1の無線インターフェースを介した第1の無線接続が確立された後に、前記通信装置の動作状態を不可能状態から可能状態に移行させる状態移行部であって、前記不可能状態は、前記第1の外部装置から公開鍵が利用された認証要求を受信しても、前記認証要求に対する応答である認証応答を送信しない状態であり、前記可能状態は、前記第1の外部装置から前記認証要求を受信することに応じて、前記認証応答を前記第1の外部装置に送信する状態である、前記状態移行部と、
前記第1の無線接続が確立され、前記公開鍵が前記第1の無線インターフェースから前記第1の外部装置に送信された後に、前記第1の外部装置から、前記通信装置の第2の無線インターフェースを介して、前記認証要求を受信する認証要求受信部であって、前記第2の無線インターフェースは、前記第1の無線インターフェースとは異なる、前記認証要求受信部と、
前記通信装置の動作状態が前記可能状態に移行された後に、前記第1の外部装置から前記認証要求が受信される場合に、前記第2の無線インターフェースを介して、前記認証応答を前記第1の外部装置に送信する認証応答送信部と、
前記認証応答が前記第1の外部装置に送信された後に、前記第1の外部装置から、前記第2の無線インターフェースを介して、接続情報を受信する接続情報受信部であって、前記接続情報は、前記通信装置と第2の外部装置との間に前記第2の無線インターフェースを介した第2の無線接続を確立するための情報である、前記接続情報受信部と、
前記第1の外部装置から前記接続情報が受信される場合に、前記接続情報を利用して、前記通信装置と前記第2の外部装置との間に前記第2の無線インターフェースを介した前記第2の無線接続を確立する第1の確立部と、
として機能させる、コンピュータプログラム。
【符号の説明】
【0102】
2:通信システム、6:AP、10:端末、16,116:Wi-FiI/F、18,118:NFCI/F、40:接続アプリケーション、100:プリンタ、112:操作部、114:表示部、120:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9