(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-28
(45)【発行日】2023-09-05
(54)【発明の名称】端末装置と端末装置のためのコンピュータプログラム
(51)【国際特許分類】
H04W 76/18 20180101AFI20230829BHJP
H04W 84/12 20090101ALI20230829BHJP
H04W 12/0431 20210101ALI20230829BHJP
【FI】
H04W76/18
H04W84/12
H04W12/0431
(21)【出願番号】P 2019158082
(22)【出願日】2019-08-30
【審査請求日】2022-07-26
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】三宅 猛
【審査官】伊東 和重
(56)【参考文献】
【文献】特開2017-175468(JP,A)
【文献】特開2017-028460(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24-7/26
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
端末装置であって、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、
前記第1の要求信号が前記通信装置に送信され、かつ、
前記通信装置から前記第1の要求信号に対するエラー信号が受信される場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、
前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
を備える端末装置。
【請求項2】
端末装置であって、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
前記通信装置の公開鍵を取得する取得部と、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中であるのか否かを判断する第1の判断部と、
前記公開鍵が取得され
、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中であると判断される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部
であって、前記公開鍵が取得され、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記第1の要求信号は前記通信装置に送信されない、前記第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、
前記第1の要求信号が前記通信装置に送信され、かつ、前記第1種の通信が失敗する場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、
前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
を備える端末装置。
【請求項3】
前記端末装置は、さらに、
前記公開鍵が取得され、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第3の要求信号を前記通信装置に送信する第3の送信部と、
前記第3の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った前記第2種の通信を前記通信装置と実行することを試行する第2の試行部と、を備える、請求項2に記載の端末装置。
【請求項4】
前記端末装置は、さらに、
表示部と、
前記第3の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記端末装置と前記アクセスポイントとの間に無線接続を確立させることを促す第1の通知情報を前記表示部に表示させる第1の表示制御部と、を備える、請求項3に記載の端末装置。
【請求項5】
前記通信装置は、前記通信装置と他の装置との間に無線接続を確立させるための操作を受け付ける場合に、前記第1の通信方式に対応する第1の状態と、前記第2の通信方式に対応する第2の状態と、のどちらかの状態で動作し、
前記端末装置は、さらに、
表示部と、
前記第3の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記通信装置の状態を前記第2の状態で動作させることを促す第2の通知情報を前記表示部に表示させる第2の表示制御部と、を備える、請求項3又は4に記載の端末装置。
【請求項6】
端末装置であって、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行することを試行する第2の試行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記第2の試行部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が成功する場合に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記無線インターフェースを介して、前記第2の要求信号とは異なる第1の要求信号であって、前記公開鍵が利用された前記第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行する通信実行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記通信実行部と、
を備える端末装置。
【請求項7】
前記端末装置は、さらに、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中であるのか否かを判断する第1の判断部を備え、
前記第1の送信部は、前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中であると判断される場合に、前記第1の要求信号を前記通信装置に送信し、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記第1の要求信号は前記通信装置に送信されない、請求項6に記載の端末装置。
【請求項8】
前記端末装置は、さらに、
表示部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記端末装置と前記アクセスポイントとの間に無線接続を確立させることを促す第1の通知情報を前記表示部に表示させる第1の表示制御部と、を備える、請求項7に記載の端末装置。
【請求項9】
前記通信装置は、前記通信装置と他の装置との間に無線接続を確立させるための操作を受け付ける場合に、前記第1の通信方式に対応する第1の状態と、前記第2の通信方式に対応する第2の状態と、のどちらかの状態で動作し、
前記端末装置は、さらに、
表示部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記通信装置の状態を前記第2の状態で動作させることを促す第2の通知情報を前記表示部に表示させる第2の表示制御部と、を備える、請求項7又は8に記載の端末装置。
【請求項10】
前記端末装置は、さらに、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中である場合に、前記第3の無線接続が、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従った第1種の無線接続であるのか、前記アクセスポイントが親局として動作する無線ネットワークのSSID(Service Set Identifierの略)及びパスワードが利用された第2種の無線接続であるのか、を判断する第2の判断部を備え、
前記第3の無線接続が前記第1種の無線接続であると判断される場合に、前記第1の接続情報は、前記DPP方式に従ったSigned-Connectorを含み、
前記第3の無線接続が前記第2種の無線接続であると判断される場合に、前記第1の接続情報は、前記SSID及び前記パスワードを含む、請求項1~9のいずれか一項に記載の端末装置。
【請求項11】
前記第1の要求信号は、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従ったDPP Authentication Requestである、請求項1~10のいずれか一項に記載の端末装置。
【請求項12】
前記第2の通信方式は、前記Wi-Fi規格のWi-Fi Direct(登録商標)方式であり、
前記第2の要求信号は、前記Wi-Fi Direct方式に従ったG/O Negotiation Requestである、請求項1~11のいずれか一項に記載の端末装置。
【請求項13】
前記取得部は、前記公開鍵がコード化されたQRコード(登録商標)を撮影することによって、前記公開鍵を取得する、請求項1~12のいずれか一項に記載の端末装置。
【請求項14】
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、
前記第1の要求信号が前記通信装置に送信され、かつ、
前記通信装置から前記第1の要求信号に対するエラー信号が受信される場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、
前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
として機能させるコンピュータプログラム。
【請求項15】
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を取得する取得部と、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中であるのか否かを判断する第1の判断部と、
前記公開鍵が取得され
、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中であると判断される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部
であって、前記公開鍵が取得され、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記第1の要求信号は前記通信装置に送信されない、前記第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、
前記第1の要求信号が前記通信装置に送信され、かつ、前記第1種の通信が失敗する場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、
前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
として機能させるコンピュータプログラム。
【請求項16】
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行することを試行する第2の試行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記第2の試行部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が成功する場合に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記無線インターフェースを介して、前記第2の要求信号とは異なる第1の要求信号であって、前記公開鍵が利用された前記第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行する通信実行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記通信実行部と、
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、端末装置を利用して通信装置と他の装置との間に無線接続を確立させるための技術を開示する。
【背景技術】
【0002】
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、一対の装置の間に無線接続を容易に確立させるための無線通信方式である。
【先行技術文献】
【非特許文献】
【0003】
【文献】「Device Provisioning Protocol Technical Specification Version1.1」 Wi-Fi Alliance, 2018年
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、Wi-Fi規格の異なる通信方式に従った無線通信を実行可能である無線インターフェースを備える端末装置が、通信装置の無線接続を適切に確立させることが可能な技術を開示する。
【課題を解決するための手段】
【0005】
本明細書によって開示される端末装置は、Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、前記通信装置の公開鍵を取得する取得部と、前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部と、前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、前記第1の要求信号が前記通信装置に送信され、かつ、前記第1種の通信が失敗する場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、を備えてもよい。
【0006】
上記の構成によると、端末装置は、第1の要求信号を通信装置に送信し、第1の通信方式に従った第1種の通信を通信装置と実行することを試行する。第1種の通信が成功する場合には、第1の接続情報が通信装置に送信されるので、通信装置とアクセスポイントとの間に第1の無線接続を確立させることができる。一方、第1種の通信が失敗する場合には、端末装置は、第2の要求信号を通信装置に送信し、第2の通信方式に従った第2種の通信を通信装置と実行する。そして、端末装置は、第2の接続情報を利用して、端末装置と通信装置との間に第2の無線接続を確立する。このために、Wi-Fi規格の異なる通信方式に従った無線通信を実行可能である無線インターフェースを備える端末装置は、通信装置の無線接続を適切に確立させることができる。
【0007】
本明細書によって開示される他の端末装置は、上記の無線インターフェースと上記の取得部とに加えて、前記公開鍵が取得される場合に、前記無線インターフェースを介して、第2の要求信号を前記通信装置に送信する第2の送信部と、前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行することを試行する第2の試行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記第2の試行部と、前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が成功する場合に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記無線インターフェースを介して、前記第2の要求信号とは異なる第1の要求信号であって、前記公開鍵が利用された前記第1の要求信号を前記通信装置に送信する第1の送信部と、前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行する通信実行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記通信実行部と、を備えてもよい。
【0008】
上記の構成によると、端末装置は、第2の要求信号を通信装置に送信し、第2の通信方式に従った第2種の通信を通信装置と実行することを試行する。第2種の通信が成功する場合には、端末装置は、第2の接続情報を利用して、端末装置と通信装置との間に第2の無線接続を確立する。一方、第2種の通信が失敗する場合には、端末装置は、第1の要求信号を通信装置に送信し、第1の通信方式に従った第1種の通信を通信装置と実行する。これにより、第1の接続情報が通信装置に送信されるので、通信装置とアクセスポイントとの間に第1の無線接続を確立させることができる。このために、Wi-Fi規格の異なる通信方式に従った無線通信を実行可能である無線インターフェースを備える端末装置は、通信装置の無線接続を適切に確立させることができる。
【0009】
上記の端末装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の端末装置と他の装置(例えば通信装置)とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0010】
【
図2】プリンタとアクセスポイントとの間に無線接続を確立するための処理の概略のシーケンス図を示す。
【
図3】Bootstrappingの処理のシーケンス図を示す。
【
図4】Authenticationの処理のシーケンス図を示す。
【
図5】Configurationの処理のシーケンス図を示す。
【
図6】Network Accessの処理のシーケンス図を示す。
【
図7】第1~第4実施例の端末の処理のフローチャートを示す。
【
図8】端末とアクセスポイントとの間にAP接続が確立中であるケースAのシーケンス図を示す。
【
図9】端末とアクセスポイントとの間にAP接続が確立中でないケースBのシーケンス図を示す。
【
図12】第5実施例の端末の処理のフローチャートを示す。
【
図13】端末とアクセスポイントとの間にAP接続が確立中でないケースCのシーケンス図を示す。
【
図14】端末とアクセスポイントとの間にAP接続が確立中であるケースDのシーケンス図を示す。
【
図15】端末とアクセスポイントとの間にAP接続が確立中でないケースEのシーケンス図を示す。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、アクセスポイント(以下では、単に「AP」と記載する)6と、端末10と、プリンタ100と、を備える。本実施例では、ユーザが、端末10を利用して、プリンタ100と他の装置(例えばAP6又は端末10)との間にWi-Fi規格に従った無線接続であるWi-Fi接続を確立させる状況を想定している。
【0012】
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、操作部12と、表示部14と、Wi-Fiインターフェース16と、カメラ18と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを単に「I/F」と記載する。
【0013】
操作部12は、複数個のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。
【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等)に従って、無線通信を実行するための無線通信規格である。
【0015】
Wi-FiI/F16は、Wi-Fi Allianceによって策定されたDPP(Device Provisioning Protocolの略)方式をサポートしている。DPP方式は、Wi-Fi Allianceによって作成された規格書「Device Provisioning Protocol Technical Specification Version 1.1」に記述されており、端末10を利用して一対のデバイスの間に容易にWi-Fi接続を確立させるための接続方式である。以下では、DPP方式に従って確立されるWi-Fi接続のことを「DPP接続」と記載することがある。
【0016】
また、Wi-FiI/F16は、Wi-Fi Allianceによって策定されたWFD(Wi-Fi Direct(登録商標)の略)方式をサポートしている。WFD方式は、Wi-Fi Allianceによって作成された規格書「Wi-Fi Peer-to-Peer (P2P) Technical Specification Version1.1」に記述されている接続方式である。WFDでは、Group Owner状態(以下では「G/O状態」と呼ぶ)、及び、クライアント状態(以下では「CL状態」と呼ぶ)が定義されている。また、本明細書では、G/O状態及びCL状態のいずれとも異なる状態のことを「デバイス状態」と呼ぶ。WFD方式をサポートしている機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。以下では、WFD方式に従って確立されるWi-Fi接続のことを「WFD接続」と記載することがある。
【0017】
また、端末10は、DPP方式及びWFD方式とは異なる通常のWi-Fi方式に従って、AP6とのWi-Fi接続を確立することができる。具体的には、通常のWi-Fi方式では、端末10は、AP6によって形成されている無線ネットワークのSSID(Service Set Identifierの略)及びパスワードを利用して、AP6とのWi-Fi接続を確立することができる。以下では、通常のWi-Fi方式に従って確立されるWi-Fi接続のことを「通常Wi-Fi接続」と記載することがある。また、以下では、AP6とのDPP接続及びAP6との通常Wi-Fi接続をまとめて「AP接続」と記載することがある。
【0018】
カメラ18は、物体を撮影するためのデバイスであり、本実施例では、AP6及びプリンタ100のためのQRコード(登録商標)を撮影するために利用される。
【0019】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36,38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OSプログラム36と、アプリケーション38(以下では単に「アプリ38」と記載する)と、を記憶する。
【0020】
OSプログラム36は、端末10の基本的な動作を制御するためのプログラムである。アプリ38は、端末10を利用して、プリンタ100と他の装置(例えばAP6又は端末10)との間にWi-Fi接続を確立させるためのプログラムである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
【0021】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0022】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0023】
Wi-FiI/F116は、物理的に1個のI/Fである。Wi-FiI/F116は、DPP方式とWFD方式とをサポートしている。このために、プリンタ100は、AP6とのDPP接続を確立することができ、さらに、端末10とのWFD接続を確立することができる。また、プリンタ100は、AP6との通常Wi-Fi接続を確立することもできる。Wi-FiI/F116には、AP接続を確立するためのMACアドレス「macA」と、WFD接続を確立するためのMACアドレス「macB」と、が割り当てられている。MACアドレス「macA」とMACアドレス「macB」とは互いに異なる。
【0024】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。また、メモリ134は、プリンタ100の出荷段階から、公開鍵PPK1Aと、公開鍵PPK1Aとは異なる公開鍵PPK1Bと、を予め記憶している。また、メモリ134は、公開鍵PPK1Aに対応する秘密鍵psk1Aと、公開鍵PPK1Bに対応する秘密鍵psk1Bと、を予め記憶している。公開鍵PPK1A及び秘密鍵psk1Aは、プリンタ100がAP接続を確立すべき状況で利用される。また、公開鍵PPK1B及び秘密鍵psk1Bは、プリンタ100が端末10とのWFD接続の確立すべき状況で利用される。
【0025】
(DPPの概略;
図2)
続いて、
図2を参照して、DPPの概略を説明する。AP6もDPP方式をサポートしている。本実施例では、各デバイス6,10,100がDPP方式に従った通信を実行することによって、プリンタ100とAP6との間にDPP接続を確立させることを実現する。以下では、理解の容易化のため、各デバイスのCPU(例えばCPU32,132)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば端末10、プリンタ100)を主体として記載する。
【0026】
T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP6から端末10に提供する処理である。
【0027】
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末10及びAP6のそれぞれが通信相手を認証するための処理である。
【0028】
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP6と実行する。当該Configは、AP6がDPP接続を確立するための情報をAP6に送信する処理である。具体的には、端末10は、AP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP6に送信する。この結果、AP6では、AP用COが記憶される。
【0029】
T20では、端末10は、DPP方式のNetwork Access(以下では、単に「NA」と記載する)をAP6と実行する。端末10は、当該NAにおいて、端末用COを生成して、メモリ34に記憶する。そして、端末10及びAP6は、端末用CO及びAP用COを利用して、端末10とAP6との間のDPP接続を確立するための接続キーを共有する。その後、端末10及びAP6は、4way-handshakeの通信を実行する。4way-handshakeの通信の少なくとも一部の過程において、端末10及びAP6は、共有済みの接続キーによって暗号化された暗号情報を通信する。そして、暗号情報の復号が成功する場合に、端末10とAP6との間にDPP接続が確立される。これにより、端末10は、AP6によって形成される無線ネットワークに子局として参加することができる。なお、変形例では、端末10及びAP6は、4way-handshakeの通信に代えて、SAE(Simultaneous Authentication of Equalsの略、通称「Dragonfly」)の通信を実行してもよい。
【0030】
次いで、端末10は、T25において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100に表示されるQRコードが端末10によって撮影されることに応じて、後述のT30のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
【0031】
T30では、端末10は、T25のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
【0032】
T35では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100とAP6との間にDPP接続を確立するための情報をプリンタ100に送信する処理である。端末10は、当該Configにおいて、プリンタ100とAP6との間にDPP接続を確立させるためのプリンタ用COを生成して、プリンタ用COをプリンタ100に送信する。この結果、プリンタ100では、プリンタ用COが記憶される。
【0033】
T40では、プリンタ100及びAP6は、記憶済みのAP用CO及びプリンタ用COを利用してDPP方式のNAを実行し、接続キーを共有する。その後、プリンタ100及びAP6は、4way-handshakeの通信を実行し、共有済みの接続キーによって暗号化された暗号情報を通信する。この結果、プリンタ100とAP6との間にDPP接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加することができる。即ち、端末10及びプリンタ100がAP6によって形成される同じ無線ネットワークに所属している状態になる。このために、端末10及びプリンタ100は、AP6を介して、例えば印刷対象の画像を表わすデータの通信を実行することができる。
【0034】
DPP方式では、端末10又はプリンタ100とAP6との間にWi-Fi接続(即ちDPP接続)を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID、パスワード等)を端末10又はプリンタ100に入力する必要がない。従って、ユーザは、端末10又はプリンタ100とAP6との間にWi-Fi接続を容易に確立させることができる。
【0035】
(各処理の詳細;
図3~
図6)
続いて、
図3~
図6を参照して、
図2のT25~T40において実行される各処理の詳細を説明する。なお、T5~T15の処理は、プリンタ100に代えてAP6が利用される点を除いてT25~T35の処理と同様であるので、その詳細な説明を省略する。また、T20の処理は、端末10とAP6との間の処理である点を除いてT40と同様であるので、その詳細な説明を省略する。
【0036】
(Bootstrapping(BS);
図3)
まず、
図3を参照して、
図2のT25において端末10とプリンタ100との間で実行されるBSの処理を説明する。
【0037】
T100では、プリンタ100は、ユーザからの操作を受け付けることに応じて、QRコードを表示部114に表示させる。本ケースでは、QRコードは、プリンタ100の公開鍵PPK1Aと、プリンタ100のWi-FiI/F116のMACアドレス「macA」と、をコード化することによって得られる。即ち、当該QRコードは、プリンタ100がAP接続を確立するためのQRコードである。なお、変形例では、上記のQRコードは、プリンタ100の筐体に貼り付けられていてもよいし、プリンタ100の説明書等に添付されていてもよい。
【0038】
T110では、ユーザは、端末10にインストールされたアプリ38を起動する。端末10は、アプリ38が起動されることに応じて、カメラ18を起動し、T120において、カメラ18を利用して、プリンタ100に表示されているQRコードを撮影する。そして、端末10は、T122において、撮影済みのQRコードをデコードして、公開鍵PPK1AとMACアドレス「macA」とを取得する。T122の処理が終了すると、
図3の処理が終了する。
【0039】
(Authentication(Auth);
図4)
続いて、
図4を参照して、
図2のT30において端末10とプリンタ100との間で実行されるAuthの処理を説明する。
【0040】
T200では、端末10は、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T202において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、
図3のT122で取得されたプリンタ100の公開鍵PPK1Aと、を用いて、共有鍵SK1を生成する。そして、端末10は、T204において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
【0041】
T210では、端末10は、Wi-FiI/F16を介して、
図3のT122で取得されたMACアドレス「macA」を送信先として、DPP Authentication Request(以下では、単に「AReq」と記載する)をプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。AReqは、T200で生成された端末10の公開鍵TPK1と、T204で生成された暗号化データED1と、端末10のcapabilityと、を含む。
【0042】
capabilityは、DPP方式をサポートしている機器において予め指定されている情報であり、DPP方式のConfiguratorのみとして動作可能であることを示す値と、DPP方式のEnrolleeのみとして動作可能であることを示す値と、Configurator及びEnrolleeのどちらとしても動作可能であることを示す値と、のいずれか1個の値を含む。Configuratorは、Config(例えば
図2のT35)において、NA(例えば
図2のT40)で利用されるCOをEnrolleeに送信するデバイスを意味する。一方、Enrolleeは、Configにおいて、ConfiguratorからNAで利用されるCOを受信するデバイスを意味する。上記のように、本実施例では、端末10が、AP用CO及びプリンタ用COを生成して、AP6及びプリンタ100に送信する。従って、端末10のcapabilityは、Configuratorのみとして動作可能であることを示す値を含む。
【0043】
プリンタ100は、T210において、端末10から、Wi-FiI/F116を介して、AReqを受信する。上記のように、当該AReqは、プリンタ100のMACアドレス「macA」を送信先として送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
【0044】
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、プリンタ100は、T212において、ECDHに従って、AReq内の端末10の公開鍵TPK1と、プリンタ100の秘密鍵psk1Aと、を用いて、共有鍵SK1を生成する。ここで、T202で端末10によって生成される共有鍵SK1と、T212でプリンタ100によって生成される共有鍵SK1と、は同じである。従って、プリンタ100は、T214において、生成済みの共有鍵SK1を用いて、AReq内の暗号化データED1を適切に復号することができ、この結果、ランダム値RV1を取得することができる。プリンタ100は、暗号化データED1の復号が成功する場合には、AReqの送信元が、プリンタ100に表示されたQRコードを撮影したデバイスであると判断し、即ち、認証が成功したと判断し、T216以降の処理を実行する。一方、プリンタ100は、仮に、暗号化データED1の復号が成功しない場合には、AReqの送信元が、プリンタ100に表示されたQRコードを撮影したデバイスでないと判断し、即ち、認証が失敗したと判断し、T216以降の処理を実行しない。
【0045】
プリンタ100は、T216において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、プリンタ100は、公開鍵PPK2及び秘密鍵psk2を予め記憶していてもよい。次いで、プリンタ100は、T217において、ECDHに従って、T210のAReq内の端末10の公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
【0046】
T220では、プリンタ100は、Wi-FiI/F116を介して、DPP Authentication Response(以下では、単に「ARes」と記載する)を端末10に送信する。当該AResは、T216で生成されたプリンタ100の公開鍵PPK2と、T218で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0047】
端末10は、T220において、プリンタ100から、Wi-FiI/F16を介して、AResを受信することに応じて、当該AResの送信元(即ちプリンタ100)を認証するための以下の処理を実行する。具体的には、端末10は、T222において、ECDHに従って、T200で生成された端末10の秘密鍵tsk1と、ARes内のプリンタ100の公開鍵PPK2と、を用いて、共有鍵SK2を生成する。ここで、T217でプリンタ100によって生成される共有鍵SK2と、T222で端末10によって生成される共有鍵SK2と、は同じである。従って、端末10は、T224において、生成済みの共有鍵SK2を用いて、ARes内の暗号化データED2を適切に復号することができ、この結果、ランダム値RV1及びRV2を取得することができる。端末10は、暗号化データED2の復号が成功する場合には、AResの送信元が撮影済みのQRコードを有するデバイスであると判断し、即ち、認証が成功したと判断し、T230以降の処理を実行する。一方、端末10は、仮に、暗号化データED2の復号が成功しない場合には、AResの送信元が撮影済みのQRコードを有するデバイスでないと判断し、即ち、認証が失敗したと判断し、T230以降の処理を実行しない。
【0048】
T230では、端末10は、Wi-FiI/F16を介して、Confirmをプリンタ100に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末10によって決定され、T234において、Enrolleeとして動作することがプリンタ100によって決定される。T234の処理が終了すると、
図4の処理が終了する。
【0049】
(Configuration(Config);
図5)
続いて、
図5を参照して、
図2のT35において端末10とプリンタ100との間で実行されるConfigの処理を説明する。
【0050】
T300では、プリンタ100は、Wi-FiI/F116を介して、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、プリンタ用COの送信を要求する信号である。
【0051】
端末10は、T300において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T302において、端末10の新たな公開鍵TPK2及び新たな秘密鍵tsk2を生成する。次いで、端末10は、T304において、生成済みの秘密鍵tsk2を利用して、プリンタ用COを生成する。具体的には、端末10は、以下の各処理を実行する。
【0052】
端末10は、まず、端末10の公開鍵TPK2をハッシュ化することによって、ハッシュ値HVを生成する。また、端末10は、ハッシュ値HVと、グループID「Group」と、
図4のT220のARes内のプリンタ100の公開鍵PPK2と、の組み合わせをハッシュ化することによって、特定値を生成する。そして、端末10は、ECDSA(Elliptic Curve Digital Signature Algorithmの略)に従って、端末10の秘密鍵tsk2を利用して、生成済みの特定値を暗号化することによって、電子署名DSprを生成する。この結果、端末10は、ハッシュ値HVと、グループID「Group」と、プリンタ100の公開鍵PPK2と、電子署名DSprと、を含むプリンタ用Signed-Connector(以下では、Signed-Connectorのことを単に「SC」と記載する)を生成することができる。そして、端末10は、プリンタ用SCと、端末10の公開鍵TPK2と、を含むプリンタ用COを生成する。
【0053】
T310では、端末10は、Wi-FiI/F16を介して、プリンタ用COを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をプリンタ100に送信する。
【0054】
プリンタ100は、T310において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T312において、当該CRes内のプリンタ用COを記憶する。プリンタ用COは、AP6とのDPP接続で利用される情報であり、AP6とのDPP接続を確立するための接続情報であると言える。T312の処理が終了すると、
図5の処理が終了する。
【0055】
(Network Access(NA);
図6)
続いて、
図6を参照して、プリンタ100とAP6との間で実行される
図2のT40のNAの処理を説明する。上記のように、
図2のT25~T35と同様に、
図2のT5~T15の処理が端末10及びAP6の間で実行済みである。AP6は、AP6の公開鍵APK1及び秘密鍵ask1を予め記憶している。そして、AP6の公開鍵APK1と、AP6のMACアドレスと、をコード化することによって得られるQRコードが、AP6の筐体に貼り付けられている。端末10が当該QRコードを撮影することによって、端末10及びAP6の間で
図4のT200以降の各処理と同様の各処理が実行される。この結果、AP6は、AP6の公開鍵APK2及び秘密鍵ask2を記憶し(
図4のT216参照)、さらに、端末10から受信されるAP用COを記憶する(
図5のT312参照)。AP用COは、AP用SCと、端末10の公開鍵TPK2と、を含む。当該公開鍵TPK2は、プリンタ用COに含まれる公開鍵TPK2と同じである。また、AP用SCは、ハッシュ値HVと、グループID「Group」と、AP6の公開鍵APK2と、電子署名DSapと、を含む。当該ハッシュ値HV及び当該グループID「Group」は、それぞれ、プリンタ用COに含まれるハッシュ値HV及びグループID「Group」と同じである。電子署名DSapは、ハッシュ値HVとグループID「Group」と公開鍵APK2との組み合わせをハッシュ化することによって得られる特定値が端末10の秘密鍵tsk2によって暗号化された情報であり、プリンタ用COに含まれる電子署名DSprとは異なる値である。
【0056】
プリンタ100は、T400において、Wi-FiI/F116を介して、プリンタ用SCを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行と、AP用SCの送信と、をAP6に要求する信号である。
【0057】
AP6は、T400において、プリンタ100からDReqを受信することに応じて、DReqの送信元(即ちプリンタ100)、及び、DReq内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵PPK2)を認証するための処理を実行する。具体的には、AP6は、T402において、まず、受信済みのプリンタ用SC内のハッシュ値HV及びグループID「Group」が、それぞれ、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HV及びグループID「Group」に一致するのか否かに関する第1のAP判断処理を実行する。
図6のケースでは、AP6は、第1のAP判断処理で「一致する」と判断するので、DReqの送信元(即ちプリンタ100)の認証が成功したと判断する。なお、受信済みのプリンタ用SC内のハッシュ値HVと、記憶済みのAP用COに含まれるAP用SC内のハッシュ値HVと、が一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、AP6は、受信済みのプリンタ用SCの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、AP6は、記憶済みのAP用COに含まれる端末10の公開鍵TPK2を用いて、受信済みのプリンタ用SC内の電子署名DSprを復号する。
図6のケースでは、電子署名DSprの復号が成功するので、AP6は、電子署名DSprを復号することによって得られた特定値と、受信済みのプリンタ用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵PPK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のAP判断処理を実行する。
図6のケースでは、AP6は、第2のAP判断処理で「一致する」と判断するので、DReq内の各情報の認証が成功したと判断し、T404以降の処理を実行する。第2のAP判断処理で「一致する」と判断されることは、プリンタ用COがプリンタ100に記憶された後に、受信済みのプリンタ用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵PPK2)が第三者によって改ざんされていないことを意味する。一方、第1のAP判断処理で「一致しない」と判断される場合、電子署名DSprの復号が失敗する場合、又は、第2のAP判断処理で「一致しない」と判断される場合には、AP6は、認証が失敗したと判断し、T404以降の処理を実行しない。
【0058】
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ100の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
【0059】
T410では、AP6は、AP用SCを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)をプリンタ100に送信する。
【0060】
プリンタ100は、T410において、Wi-FiI/F116を介して、AP6からDResを受信することに応じて、DResの送信元(即ちAP6)、及び、DRes内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵APK2)を認証するための処理を実行する。具体的には、プリンタ100は、T412において、まず、受信済みのAP用SC内のハッシュ値HV及びグループID「Group」が、それぞれ、記憶済みのプリンタ用COに含まれるプリンタ用SC内のハッシュ値HV及びグループID「Group」に一致するのか否かに関する第1のPR判断処理を実行する。
図6のケースでは、プリンタ100は、第1のPR判断処理で「一致する」と判断するので、DResの送信元(即ちAP6)の認証が成功したと判断する。なお、受信済みのAP用SC内のハッシュ値HVと、記憶済みのプリンタ用COに含まれるプリンタ用SC内のハッシュ値HVと、が一致するということは、プリンタ用SC及びAP用SCが、同じ装置(即ち、端末10)によって生成されたことを意味する。従って、プリンタ100は、受信済みのAP用SCの生成元(即ち、端末10)の認証が成功したとも判断する。さらに、プリンタ100は、記憶済みのプリンタ用COに含まれる端末10の公開鍵TPK2を用いて、受信済みのAP用SC内の電子署名DSapを復号する。
図6のケースでは、電子署名DSapの復号が成功するので、プリンタ100は、電子署名DSapを復号することによって得られた特定値と、受信済みのAP用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵APK2)をハッシュ化することによって得られる値と、が一致するのか否かに関する第2のPR判断処理を実行する。
図6のケースでは、プリンタ100は、第2のPR判断処理で「一致する」と判断するので、DRes内の各情報の認証が成功したと判断し、T414以降の処理を実行する。第2のPR判断処理で「一致する」と判断されることは、AP用COがAP6に記憶された後に、AP用SC内の各情報(即ち、ハッシュ値HV、「Group」、及び、公開鍵APK2)が第三者によって改ざんされていないことを意味する。一方、第1のPR判断処理で「一致しない」と判断される場合、電子署名DSapの復号が失敗する場合、又は、第2のPR判断処理で「一致しない」と判断される場合には、プリンタ100は、認証が失敗したと判断し、T414以降の処理を実行しない。
【0061】
プリンタ100は、T414において、ECDHに従って、記憶済みのプリンタ100の秘密鍵psk2と、受信済みのAP用SC内のAP6の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP6によって生成される接続キーCKと、T414でプリンタ100によって生成される接続キーCKと、は同じである。これにより、DPP接続を確立するための接続キーCKがプリンタ100及びAP6の間で共有される。
【0062】
上述したように、接続キーCKがプリンタ100及びAP6の間で共有された後に、T420において、プリンタ100及びAP6は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6との間にDPP接続が確立される。T420の処理が終了すると、
図6の処理が終了する。
【0063】
(端末の処理;
図7)
図7を参照して、端末10のCPU32によって実行される処理を説明する。CPU32は、ユーザによってアプリ38が起動される場合に、
図7の処理を開始する。
【0064】
S10では、CPU32は、プリンタ100とのBSを実行する。ユーザがプリンタ100を操作すると、QRコードが表示される(
図3のT100参照)。ここで、本実施例では、ユーザの操作に応じて、異なるQRコードが表示される。具体的には、公開鍵PPK1AとMACアドレス「macA」とがコード化されることによって得られるQRコードと、公開鍵PPK1BとMACアドレス「macB」とがコード化されることによって得られるQRコードと、のうちの一方が表示される。プリンタ100に表示されるQRコードがカメラ18で撮影されると、CPU32は、当該QRコードをデコードして、当該QRコードに対応する情報(即ち、公開鍵PPK1AとMACアドレス「macA」との組み合わせ、又は、公開鍵PPK1BとMACアドレス「macB」との組み合わせ)を取得する(
図3のT120、T130参照)。
【0065】
S12では、CPU32は、端末10がAP接続を確立中であるのか否かを判断する。具体的には、CPU32は、メモリ34内のAP接続フラグ(図示省略)がONを示す場合に、AP接続を確立中であると判断し(S12でYES)、S20に進む。一方、CPU32は、AP接続フラグがOFFを示す場合に、AP接続を確立中でないと判断し(S12でNO)、S30に進む。
【0066】
S20では、CPU32は、Wi-FiI/F16を介して、AReqをプリンタ100に送信する(
図4のT210参照)。上述したように、当該AReqは、端末10がConfiguratorのみとして動作可能であるcapabilityを含む。
【0067】
S22では、CPU32は、Wi-FiI/F16を介して、プリンタ100からAResを受信する(
図4のT220参照)。
【0068】
S24では、CPU32は、AResに含まれる情報に基づいて、エラーが発生したのか否かを判断する。具体的には、CPU32は、AResがコード「STATUS_AUTH_FAILURE」を含む場合に、エラーが発生したと判断し(S24でYES)、S30に進む。ここで、当該コードは、Authが失敗したことを示すコードである。一方、CPU32は、AResがコード「STATUS_OK」を含む場合に、エラーが発生しなかったと判断し(S24でNO)、S26に進む。ここで、当該コードは、エラーが発生しなかったこと、即ち、正常に処理が実行されたことを示すコードである。
【0069】
S26では、CPU32は、端末10とAP6との間に確立されているAP接続が、DPP接続であるのか否かを判断する。具体的には、CPU32は、端末用SCを含む端末用COがメモリ34に記憶されている場合に、AP接続がDPP接続であると判断し(S26でYES)、S28に進む。一方、CPU32は、AP6によって形成されている無線ネットワークのSSID及びパスワードがメモリ34に記憶されている場合に、AP接続がDPP接続でない(即ち、通常Wi-Fi接続である)と判断し(S26でNO)、S30に進む。
【0070】
S28では、CPU32は、プリンタ100とのConfigを実行する。具体的には、CPU32は、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する(
図5のT300参照)。その後、CPU32は、プリンタ用SCを含むプリンタ用COを生成し(T302~T304参照)、Wi-FiI/F16を介して、当該プリンタ用COと、コード「netRole = sta」と、を含むCResをプリンタ100に送信する(T310参照)。コード「netRole = sta」は、プリンタ100がAP6によって形成されている無線ネットワークにステーション(即ち子局)として参加すべきことを示す。
【0071】
S30の処理は、プリンタ100に送信されるCResに含まれるプリンタ用COが、プリンタ用SCを含むことに代えて、AP6によって形成されている無線ネットワークのSSID及びパスワードを含む点を除いて、S28の処理と同様である。なお、この場合、プリンタ100は、AP6とのNA(
図2のT40、
図6)を実行せずに、通常のWi-Fi方式に従って(即ちSSID及びパスワードを利用して)、AP接続を確立する。
【0072】
S32では、CPU32は、プリンタ100とのConfigで通信される情報に基づいて、エラーが発生したのか否かを判断する。具体的には、CPU32は、CResをプリンタ100に送信した後に、プリンタ100から、コード「STATUS_CONFIG_REJECTED」を含むConfiguration Resultを受信する場合に、エラーが発生したと判断し(S32でYES)、S40に進む。ここで、当該コードは、Configが拒絶されたことを示すコードである。一方、CPU32は、CResをプリンタ100に送信した後に、プリンタ100から、コード「STATUS_OK」を含むConfiguration Resultを受信する場合に、エラーが発生しなかったと判断し(S32でNO)、
図7の処理を終了する。
【0073】
S40では、CPU32は、Wi-FiI/F16を介して、G/O Negotiation Request(以下では、単に「GNReq」と記載する)をプリンタ100に送信する。GNReqは、WFD方式のG/Oネゴシエーションの実行をプリンタ100に要求するための信号である。G/Oネゴシエーションは、端末10とプリンタ100とのうちのどちらがG/Oになるのかを決定するための通信である。GNReqは、端末10において予め決められている端末10のIntent値を含む。Intent値は、1~15の値の中のうちの1つの値であり、G/Oへのなり易さを示す。Intent値が大きいほど、G/Oになり易い。
【0074】
S42では、CPU32は、プリンタ100からG/O Negotiation Response(以下では、単に「GNRes」と記載する)を受信したのか否かを判断する。CPU32は、プリンタ100からGNResを受信したと判断する場合(S42でYES)に、S44に進む。ここで、GNResは、プリンタ100において予め決められているプリンタ100のIntent値を含む。CPU32は、端末10のIntent値とプリンタ100のIntent値とを比較して、端末10とプリンタ100とのうちのどちらがG/Oになるのかを決定する。
【0075】
一方、CPU32は、GNReqをプリンタ100に送信した後に所定時間が経過してもプリンタ100からGNResを受信しない場合に、プリンタ100からGNResを受信しなかったと判断し(S42でNO)、S50に進む。
【0076】
S44では、CPU32は、プリンタ100とのAuth及びConfigを実行する。当該Authでは、G/OネゴシエーションにおいてG/Oになることが決定されたデバイスがConfiguratorとして動作し、CLになることが決定されたデバイスがEnrolleeとして動作することが決定される。また、当該Configでは、端末10とプリンタ100との間で通信されるCOは、G/Oになるデバイスによって形成される無線ネットワークのSSID及びパスワードを含む。例えば、端末10がG/Oになることが決定された場合には、端末10は、Configuratorとして動作し、端末10によって形成される無線ネットワークのSSID及びパスワードを含むプリンタ用COをプリンタ100に送信する。また、例えば、プリンタ100がG/Oになることが決定された場合には、端末10は、Enrollerとして動作し、プリンタ100から、プリンタ100によって形成される無線ネットワークのSSID及びパスワードを含む端末用COを受信する。
【0077】
S46では、CPU32は、Wi-FiI/F16を介して、Authentication、Association、4way-handshake等のWFD方式に従った各種通信をプリンタ100と実行する。そして、CPU32は、当該各種通信の過程において、G/Oとして動作するデバイス(即ち端末10又はプリンタ100)によって形成されているネットワークのSSID及びパスワードを利用した認証を実行し、当該認証が成功する場合に、プリンタ100とのWFD接続を確立する。これにより、端末10とプリンタ100との双方が所属している無線ネットワークが形成される。即ち、端末10は、AP6を介さずに、プリンタ100との無線通信(例えば印刷データの通信)を直接的に実行することができる。S46の処理が終了したら、
図7の処理が終了する。
【0078】
S50では、CPU32は、通知画面を表示部14に表示させる。当該通知画面は、端末10とAP6との間にAP接続を確立させることを促すメッセージと、プリンタ100の状態をWFD接続の確立を待機する状態に設定することを促すメッセージと、の双方を含む。S50の処理が終了したら、
図7の処理が終了する。
【0079】
(ケースA;
図8)
次いで、
図7の処理によって実現される具体的なケースを説明する。まず、
図8を参照して、端末10とAP6との間にAP接続が確立中であるケースAを説明する。T500に示すように、端末10とAP6との間にDPP接続が確立中である。なお、変形例では、端末10とAP6との間に通常Wi-Fi接続が確立中であってもよい。
【0080】
プリンタ100は、T502において、ユーザから接続操作を受け付ける。接続操作は、プリンタ100と他の装置(即ちAP6又は端末10)との間にWi-Fi接続を確立させるための設定を開始するトリガとなる操作である。
【0081】
プリンタ100は、T504において、選択画面を表示部114に表示する。選択画面は、プリンタ100がWi-Fi接続を確立すべきデバイス(即ち接続先)を選択することをユーザに促すメッセージと、接続先としてAP6を選択するためのAPボタン(即ち文字列「APと接続」)と、接続先として端末10を選択するための端末ボタン(即ち文字列「端末と接続」)と、を含む。
【0082】
プリンタ100は、T506において、ユーザによって端末ボタンが選択される場合に、T508において、WFD方式のデバイス状態に移行する。即ち、プリンタ100は、WFD方式に従った各種通信(例えばGNResの送信)を実行不可能である状態から、当該各種通信を実行可能である状態(即ちデバイス状態)に移行する。そして、プリンタ100は、T509において、WFD接続を確立するための公開鍵PPK1B及びMACアドレス「macB」をコード化することによって得られるQRコードを表示部114に表示する。ここで、当該QRコードは、T509でプリンタ100によって生成されてもよいし、プリンタ100のメモリ134に予め記憶されていてもよい。以降の他のケース(例えば
図9のケースB)のQRコードも同様である。
【0083】
端末10は、T510において、ユーザからの操作を受け付けることに応じて、アプリ38を起動する。次いで、端末10は、T512において、カメラ18を利用して、プリンタ100に表示されているQRコードを撮影する。そして、端末10は、当該QRコードをデコードして、プリンタ100の公開鍵PPK1BとMACアドレス「macB」とを取得する(
図7のS10)。
【0084】
その後、端末10は、T514において、AP接続が確立中であると判断し(S12でYES)、T520において、公開鍵PPK1Bが利用されたAReqをプリンタ100に送信する(S20)。これ以降のDPP方式の処理では、プリンタ100の公開鍵PPK1B、秘密鍵psk1b、及び、MACアドレス「macB」が利用される。この点を除くと、DPP方式の処理は、
図2~
図6と同様である。
【0085】
本ケースでは、プリンタ100は、WFD方式のデバイス状態で動作しながらWFD接続の確立を待機している(T508参照)。即ち、プリンタ100は、G/O状態でもCL状態でもない。仮に、プリンタ100がG/O状態である場合には、プリンタ100は、Configuratorとして動作すべきことを決定することができる。また、仮に、プリンタ100がCL状態である場合には、プリンタ100は、Enrollerとして動作すべきことを決定することができる。即ち、これらの場合には、プリンタ100は、AResに含まれるcapabilityの値を決定することができる。しかしながら、プリンタ100がデバイス状態である場合には、プリンタ100は、AResに含まれるcapabilityの値を決定することができない。従って、プリンタ100は、T520において、端末10からAReqを受信すると、T530において、コード「STATUS_AUTH_FAILURE」を含むAResを端末10に送信する。
【0086】
端末10は、T530において、プリンタ100からコード「STATUS_AUTH_FAILURE」を含むAResを受信し(S22)、T532において、エラーが発生したと判断する(S24でYES)。
【0087】
端末10は、エラーが発生することに応じて、T540において、GNReqをプリンタ100に送信し(S40)、T542において、プリンタ100からGNResを受信する(S42でYES)。この結果、端末10とプリンタ100との間でG/Oネゴシエーションが実行され、本ケースでは、T544において、端末10がG/Oになることが決定され、T546において、プリンタ100がCLになることが決定される。そして、端末10は、端末10がG/Oとして動作する無線ネットワークのSSID及びパスワードを決定する。なお、変形例では、プリンタ100がG/Oになることが決定され、端末10がCLになることが決定されてもよい。
【0088】
その後、端末10は、T550において、Authを実行する(S44)。当該Authでは、G/Oになることが決定された端末10がConfiguratorとして動作し、CLになることが決定されたプリンタ100がEnrolleeとして動作することが決定される。即ち、端末10は、T550のAuthにおいて、Configuratorのみとして動作可能であることを示すcapabilityを含むAReqをプリンタ100に送信する。また、端末10は、プリンタ100から、Enrollerのみとして動作可能であることを示すcapabilityを含むAResを受信する。
【0089】
次いで、端末10は、T552において、Configを実行する(S44)。当該Configでは、Configuratorとして動作する端末10は、プリンタ用COを生成し、当該プリンタ用COを含むCResをプリンタ100に送信する。当該プリンタ用COは、G/Oとして動作する端末10によって決定されたSSID及びパスワードを含む。
【0090】
プリンタ100は、端末10からプリンタ用COを含むCResを受信すると、T560において、プリンタ用COを記憶する。そして、プリンタ100は、T570において、プリンタ用COを利用して(より詳細には、プリンタ用COに含まれるSSID及びパスワードを利用して)、端末10とのWFD接続を確立する(S46)。
【0091】
(ケースB;
図9)
続いて、
図9を参照して、端末10とAP6との間にAP接続が確立中でないケースBを説明する。T602~T604の処理は、
図8のT502~T504の処理と同様である。プリンタ100は、T606において、ユーザによってAPボタンが選択される場合に、T609において、AP接続を確立するための公開鍵PPK1A及びMACアドレス「macA」をコード化することによって得られるQRコードを表示部114に表示する。
【0092】
T610~T612の処理は、公開鍵及びMACアドレスが異なる点を除いて、
図8のT510~T512の処理と同様である。端末10は、T614において、AP6との間にAP接続が確立中でないと判断する(
図7のS12でNO)。この場合、端末10は、T620において、GNReqをプリンタ100に送信する(S40)。
【0093】
本ケースでは、プリンタ100は、WFD方式のデバイス状態で動作していない。即ち、プリンタ100は、WFD方式に従った各種通信(例えばGNResの送信)を実行不可能である。このために、プリンタ100は、端末10からGNReqを受信しても、GNResを端末10に送信しない。
【0094】
端末10は、プリンタ100からGNResを受信しないので、T622において、エラーが発生したと判断する(S42でNO)。この場合、端末10は、T630において、通知画面を表示する(S50)。通知画面は、端末10とAP6との間にAP接続を確立させることを促すメッセージと、プリンタ100の状態をWFD接続の確立を待機する状態に設定することを促すメッセージ(即ち、T604の選択画面において端末ボタンを選択することを促すメッセージ)と、「OK」ボタンと、を含む。
【0095】
(本実施例の効果)
本実施例によると、端末10は、AReqをプリンタ100に送信し(
図7のS20、
図8のT520)、プリンタ100とAP6との間にAP接続を確立するための通信(即ち、AResの受信、CReqの受信、CResの送信、及び、Configuration Resultの受信等)をプリンタ100と実行することを試行する(S22~S30)。当該通信が成功する場合には、プリンタ用COがプリンタ100に送信されるので、プリンタ100とAP6との間にAP接続を確立させることができる。一方、当該通信が失敗する場合には、端末10は、GNReqをプリンタ100に送信し(S40、T540)、端末10とプリンタ100との間にWFD接続を確立するための通信をプリンタ100と実行する(S42、S44、T542、T550、T552)。そして、端末10は、プリンタ用CO又は端末用COを利用して、端末10とプリンタ100との間にWFD接続を確立する(S46、T570)。このために、Wi-Fi規格の異なる通信方式に従った無線通信を実行可能であるWi-FiI/F16を備える端末10は、プリンタ100のWi-Fi接続を適切に確立させることができる。
【0096】
特に、端末10は、プリンタ100の選択画面(
図8のT504参照)において、ユーザによってAPボタン及び端末ボタンのどちらが選択されたのかを知ることができない。このため、本実施例では、端末10は、まず、プリンタ100とAP6との間にAP接続を確立するための通信を実行する。そして、端末10は、選択画面で端末ボタンが選択されたことに起因して当該通信が失敗する場合(
図8のT532)に、ユーザから指示を受け付けなくても、端末10とプリンタ100との間にWFD接続を確立するための通信を自動的に実行する(T540)。このために、ユーザの利便性が向上する。
【0097】
端末10は、端末10がAP接続を確立中であるのか否かを判断し(
図7のS12)、端末10がAP接続を確立中であると判断する場合(S12でYES)に、プリンタ100とAP6との間にAP接続を確立するためのトリガとなるAReqをプリンタ100に送信する(S20、
図8のT520)。一方、端末10は、端末10がAP接続を確立中でないと判断する場合(S12でNO)に、当該AReqをプリンタ100に送信しない(即ちS20を実行しない)。仮に、プリンタ100とAP6との間にAP接続が確立されても、端末10がAP接続を確立中でないので、端末10は、AP6を介してプリンタ100との通信を実行することができないからである。この構成によると、無駄な処理を実行するのを抑制することができる。
【0098】
端末10は、端末10がAP接続を確立中でないと判断する場合(
図7のS12でNO)に、GNReqをプリンタ100に送信する(S40、
図9のT620)。そして、端末10は、端末10とプリンタ100との間にWFD接続を確立するための通信(即ち、GNResの受信、AReqの送信、AResの受信、CReqの送信又は受信、CResの送信又は送信等)をプリンタ100と実行することを試行する(S42~S44)。当該通信が成功する場合には、端末10は、端末10とプリンタ100との間にWFD接続を確立することができる(S46)。このために、Wi-Fi規格の異なる通信方式に従った無線通信を実行可能であるWi-FiI/F16を備える端末10は、プリンタ100のWi-Fi接続を適切に確立させることができる。
【0099】
端末10とプリンタ100との間にWFD接続を確立するための通信が失敗する場合(
図7のS42でNO)に、端末10は、通知画面を表示する(S50、
図9のT630)。通知画面は、端末10とAP6との間にAP接続を確立させることを促すメッセージを含む。ユーザは、このメッセージに従って、端末10とAP6との間にAP接続を確立させ、その後、プリンタ100の選択画面(
図8のT504参照)に含まれるAPボタンを再び選択することができる。この場合、プリンタ100とAP6との間にAP接続が確立され、端末10は、AP6を介して、プリンタ100との通信を実行することができる。また、通知画面は、プリンタ100の状態をWFD接続の確立を待機する状態に設定することを促すメッセージを含む。ユーザは、このメッセージに従って、プリンタ100の選択画面に含まれるWFDボタンを選択することができる。この場合、端末10とプリンタ100との間にWFD接続が確立され、端末10は、AP6を介さずに、プリンタ100との通信を実行することができる。
【0100】
端末10は、端末10がAP接続を確立中であると判断する場合に、さらに、当該AP接続がDPP接続であるのか通常Wi-Fi接続であるのかを判断する(
図7のS26)。当該AP接続がDPP接続である場合(S26でYES)には、端末10は、Configにおいて、プリンタ用SCを含むプリンタ用COを生成し、当該プリンタ用COを含むCResをプリンタ100に送信する(S28)。このために、プリンタ100は、AP6とのDPP接続を適切に確立することができる。一方、当該AP接続が通常Wi-Fi接続である場合(S26でNO)には、端末10は、Configにおいて、AP6によって形成されている無線ネットワークのSSID及びパスワードを含むプリンタ用COを生成し、当該プリンタ用COを含むCResをプリンタ100に送信する(S30)。このために、プリンタ100は、AP6との通常Wi-Fi接続を適切に確立することができる。このように、端末10は、AP6とのDPP接続を確立中であるのかAP6との通常Wi-Fi接続を確立中であるのかに応じて、適切なプリンタ用COをプリンタ100に送信することができる。
【0101】
(対応関係)
端末10、プリンタ100が、それぞれ、「端末装置」、「通信装置」の一例である。Wi-FiI/F16が、「無線インターフェース」の一例である。AP6を介した通信を実行するための通信方式(即ち、プリンタ100とAP6との間にAP接続を確立させるための通信方式)が、「第1の通信方式」の一例である。WFD方式が、「第2の通信方式」の一例である。
図8のT520で送信されるAReq、
図8のT540で送信されるGNReq、
図9のT620で送信されるGNReqが、それぞれ、「第1の要求信号」、「第2の要求信号」、「第3の要求信号」の一例である。
図8のT520~T530で実行される通信、T540~T542及びT550~T552で実行される通信が、それぞれ、「第1種の通信」、「第2種の通信」の一例である。コード「STATUS_AUTH_FAILURE」を含むAResを受信することが(即ち
図7のS24でYES)、「第1種の通信が失敗する場合」の一例である。また、GNResを受信しないことが(即ちS32でNO)が、「第2種の通信が失敗する場合」の一例である。
図7のS28又はS30で送信されるプリンタ用COが、「第1の接続情報」の一例である。S44で通信されるプリンタ用CO又は端末用COが、「第2の接続情報」の一例である。プリンタ100とAP6との間の無線接続、端末10とプリンタ100との間のWFD接続が、それぞれ、「第1の無線接続」、「第2の無線接続」の一例である。端末10とAP6との間のDPP接続、端末10とAP6との間の通常Wi-Fi接続が、それぞれ、「第1種の無線接続」、「第2種の無線接続」の一例である。
図7のS50で表示される通知画面において、端末10とAP6との間にAP接続を確立させることを促すメッセージ、プリンタ100の状態をWFD接続の確立を待機する状態に設定することを促すメッセージが、それぞれ、「第1の通知情報」、「第2の通知情報」の一例である。プリンタ100がAP6との接続の確立を待機する状態、プリンタ100が端末10とのWFD接続の確立を待機する状態が、それぞれ、「第1の状態」、「第2の状態」の一例である。
【0102】
図7のS10の処理、S20の処理、S30の処理が、それぞれ、「取得部」、「第1の送信部」、「第2の送信部」によって実行される処理の一例である。S22~S30の処理、S42~S44の処理、S46の処理が、それぞれ、「第1の試行部」、「通信実行部」、「確立部」によって実行される処理の一例である。S12の処理、S26の処理、S40の処理、S42~S44の処理が、それぞれ、「第1の判断部」、「第2の判断部」、「第3の送信部」、「第2の試行部」によって実行される処理の一例である。
図7のS50の処理が、「第1の表示制御部」及び「第2の表示制御部」によって実行される処理の一例である。
【0103】
(第2実施例)
続いて、第2実施例を説明する。本実施例では、プリンタ100は、選択画面に含まれる端末ボタンが選択される場合に、デバイス状態ではなく、G/O状態に移行する。即ち、プリンタ100は、G/Oネゴシエーションを実行することなく、G/O状態に自発的に移行する。また、本実施例では、端末10は、
図7のS24の判断において、以下を実行する。即ち、端末10は、S22で受信されるAResに含まれるcapabilityがConfiguratorのみとして動作可能であることを示す場合には、エラーが発生したと判断する(S24でYES)。端末10もConfiguratorとして動作しようとしているので(即ち、S20のAReqはConfiguratorのみとして動作可能である値を示すcapabilityを含む)、役割分担が失敗するからである。
【0104】
(具体的なケース;
図10及び
図11)
図10のT700に示すように、端末10とAP6との間にDPP接続が確立中である。なお、変形例では、端末10とAP6との間に通常Wi-Fi接続が確立中であってもよい。T702~T706の処理は、
図8のT502~T506の処理と同様である。プリンタ100は、T708において、WFD方式のG/O状態に移行する。そして、プリンタ100は、プリンタ100がG/Oとして動作する無線ネットワークのSSID及びパスワードを決定する。T709の処理は、T509の処理と同様である。
【0105】
T710~T720の処理は、T510~T520の処理と同様である。端末10は、T720において、端末10がConfiguratorのみとして動作可能であることを示すcapabilityを含むAReqをプリンタ100に送信する(S20)。
【0106】
プリンタ100は、T720において、端末10からAReqを受信することに応じて、T730において、AResを端末10に送信する。ここで、プリンタ100がG/Oとして動作しているので、当該AResは、プリンタ100がConfiguratorのみとして動作可能であることを示すcapabilityを含む。
【0107】
端末10は、T730において、プリンタ100からAResを受信すると、端末10及びプリンタ100の双方がConfiguratorとして動作しようとしているので、T732において、エラーが発生したと判断する(S24でYES)。その後、端末10は、
図11のT770において、プリンタ100にGNReqを送信する(S40)。
【0108】
プリンタ100は、T770において、端末10からGNReqを受信すると、T772において、G/Oネゴシエーションの実行要求に応じることができないことを示すコード「Fail; unable to accommodate request」を含むGNResを端末10に送信する。プリンタ100は、既にG/Oとして動作しており、G/Oネゴシエーションを実行する必要がないからである。
【0109】
端末10は、T772において、プリンタ100からGNResを受信すると(S42)、GNResがコード「Fail; unable to accommodate request」を含むので、プリンタ100が既にG/Oとして動作していることを知ることができる。この場合、端末10は、CLとして動作することを決定し、T780において、Authを実行する(S44)。当該Authでは、G/Oとして動作するプリンタ100がConfiguratorとして動作し、端末10がEnrolleeとして動作することが決定される。即ち、端末10は、CLとして動作することを決定したので、T780のAuthにおいて、Enrollerのみとして動作可能であることを示すcapabilityを含むAReqをプリンタ100に送信する。また、端末10は、プリンタ100から、Configuratorのみとして動作可能であることを示すcapabilityを含むAResを受信する。
【0110】
次いで、端末10は、T782において、Configを実行する(S44)。当該Configでは、Enrollerとして動作する端末10は、プリンタ100から、プリンタ100によって生成される端末用COを含むCResを受信する。当該端末用COは、G/Oとして動作するプリンタ100によって決定されたSSID及びパスワードを含む。
【0111】
端末10は、T782において、プリンタ100から端末用COを含むCResを受信すると、T784において、端末用COを記憶する。そして、端末10は、T790において、当該端末用COを利用して(より詳細には、端末用COに含まれるSSID及びパスワード)を利用して、プリンタ100とのWFD接続を確立する(S46)。
【0112】
本実施例によっても、端末10は、プリンタ100とAP6との間にAP接続を確立するための通信が失敗する場合(
図10のT732)に、端末10とプリンタ100との間にWFD接続を確立することができる(
図11のT790)。本実施例では、プリンタ100がConfiguratorのみとして動作可能であることを示すcapabilityを含むAResを受信することが、「第1種の通信が失敗する場合」の一例である。
【0113】
(第3実施例)
続いて、第3実施例を説明する。第2実施例と同様に、プリンタ100は、選択画面に含まれる端末ボタンが選択される場合に、G/O状態に移行する。また、端末10は、
図7のS24の判断において、以下を実行する。即ち、端末10は、S22で受信されるAResがコード「STATUS_NOT_COMPATIBLE」を含む場合に、エラーが発生したと判断する(S24でYES)。「STATUS_NOT_COMPATIBLE」は、役割分担が失敗したことを示すコードである。
【0114】
(具体的なケース;
図10及び
図11)
図10のT700~T720の処理は第2実施例と同様である。プリンタ100は、T740において、端末10からAReqを受信することに応じて、T740において、AResを端末10に送信する。当該AResは、コード「STATUS_NOT_COMPATIBLE」を含む。端末10とプリンタ100との双方がConfiguratorとして動作しようとしているからである。
【0115】
端末10は、T740において、プリンタ100から、コード「STATUS_NOT_COMPATIBLE」を含むAResを受信すると、T742において、エラーが発生したと判断する(S24でYES)。その後に実行される
図11のT770~T790の処理は第2実施例と同様である。
【0116】
本実施例によっても、端末10は、プリンタ100とAP6との間にAP接続を確立するための通信が失敗する場合(
図10のT742)に、端末10とプリンタ100との間にWFD接続を確立することができる(
図11のT790)。本実施例では、プリンタ100からコード「STATUS_NOT_COMPATIBLE」を含むAResを受信することが、「第1種の通信が失敗する場合」の一例である。
【0117】
(第4実施例)
続いて、第4実施例を説明する。第2実施例と同様に、プリンタ100は、選択画面に含まれる端末ボタンが選択される場合に、G/O状態に移行する。また、本実施例では、
図7のS24においてエラーが発生したと判断されるケースを想定しておらず、
図7のS32の判断においてエラーが発生したと判断されるケースを想定する。
【0118】
(具体的なケース;
図10及び
図11)
図10のT700~T720の処理は第2実施例と同様である。プリンタ100は、
図11のT750において、端末10からAReqを受信することに応じて、T740において、AResを端末10に送信する。ここで、プリンタ100は、AReq内のcapabilityに基づいて、端末10がConfiguratorとして動作することを知ることができる。このために、プリンタ100は、G/Oとして動作しているが、Enrolleeとして動作することを決定する。従って、プリンタ100は、プリンタ100がEnrolleeのみとして動作可能であることを示すcapabilityを含むAResを端末10に送信する。
【0119】
端末10は、T750において、プリンタ100からAResを受信すると、ARes内のcapabilityに基づいて、プリンタ100がEnrolleeとして動作することを知ることができる。このために、端末10は、役割分担が成功したのでエラーが発生しなかったと判断する。
【0120】
端末10は、T760において、Enrolleeとして動作するプリンタ100からCReqを受信することに応じて、T762において、CResをプリンタ100に送信する。当該CResは、コード「netRole = sta」を含む。
【0121】
プリンタ100は、T762において、端末10からCResを受信すると、CRes内のコード「netRole = sta」に基づいて、プリンタ100が子局として動作することが要求されていることを知ることができる。プリンタ100は、既にG/O(即ち親局)として動作しているので、当該要求に応じることができない。このために、プリンタ100は、T764において、コード「STATUS_CONFIG_REJECTED」を含むConfiguration Resultを端末10に送信する。
【0122】
端末10は、T764において、プリンタ100からコード「STATUS_CONFIG_REJECTED」を含むConfiguration Resultを受信すると、T766において、エラーが発生したと判断する(S32でYES)。その後に実行されるT770~T790の処理は第2実施例と同様である。
【0123】
本実施例によっても、端末10は、プリンタ100とAP6との間にAP接続を確立するための通信が失敗する場合(
図11のT766)に、端末10とプリンタ100との間にWFD接続を確立することができる(
図11のT790)。本実施例では、プリンタ100からコード「STATUS_CONFIG_REJECTED」を含むConfiguration Resultを受信することが、「第1種の通信が失敗する場合」の一例である。
【0124】
(第5実施例)
続いて、第5実施例を説明する。本実施例では、端末10は、まず、端末10とプリンタ100との間にWFD接続を確立するための通信を実行し、当該通信が失敗する場合に、プリンタ100とAP6との間にAP接続を確立するための通信を実行する。
【0125】
(端末の処理;
図12)
本実施例では、
図7の処理に代えて、
図12の処理が実行される。S110~S114の処理は、
図7のS10、S40、S42の処理と同様である。即ち、端末10は、プリンタ100とのBSを実行すると、まず、端末10とプリンタ100との間にWFD接続を確立するための通信を実行する。S114でYESの場合にはS120に進み、S114でNOの場合にはS130に進む。
S120~S122の処理は、S44~S46の処理と同様である。また、S130~S140の処理は、S12、S20~S22、及び、S26~S30の処理と同様である。S150の処理は、S50の処理と同様である。
【0126】
(ケースC;
図13)
次いで、
図12の処理によって実現される具体的なケースを説明する。まず、
図13を参照して、端末10とAP6との間にAP接続が確立中でないケースCを説明する。T802~T812の処理(
図12のS110)は、
図8のT502~T512の処理と同様である。また、T820~T850の処理(S112、S114でYES、S120、S122)は、T540~T570の処理と同様である。なお、変形例では、T808において、デバイス状態ではなく、G/O状態に移行してもよい。この場合、端末10は、T822において、コード「Fail; unable to accommodate request」を含むGNResをプリンタ100から受信する(
図11のT772参照)。また、T832では、端末10は、プリンタ100から、プリンタ100によって生成される端末用COを含むCResを受信する(T782~T784参照)。
【0127】
(ケースD;
図14)
続いて、
図14を参照して、端末10とAP6との間にAP接続が確立中であるケースDを説明する。
図14のT900に示すように、端末10とAP6との間にDPP接続が確立中である。なお、変形例では、端末10とAP6との間に通常Wi-Fi接続が確立中であってもよい。T902~T912の処理(
図12のS110)は、
図9のT602~T612の処理と同様である。また、T920~T922の処理は(S112、S114でNO)、T620~T622の処理と同様である。
【0128】
その後、端末10は、T924において、AP接続が確立中であると判断する(
図12のS130でYES)。この場合、端末10は、T930において、AReqをプリンタ100に送信し(S132)、T932において、プリンタ100からAResを受信する(S134)。本ケースでは、Authにおいて、端末10がConfiguratorとして動作することが決定され、プリンタ100がEnrolleeとして動作することが決定される。
【0129】
端末10とプリンタ100との間のAuthが終了したら、端末10とプリンタ100との間でConfigが実行される(S138)。本ケースでは、端末10とAP6との間にDPP接続が確立中であるので(S136でYES)、当該Configにおいて、端末10は、プリンタ用SCを含むプリンタ用COを生成し、当該プリンタ用COを含むCResをプリンタ100に送信する。なお、変形例では、端末10とAP6との間に通常Wi-Fi接続が確立中である場合(S136でNO(通常Wi-Fi接続))には、端末10は、AP6によって形成されている無線ネットワークのSSID及びパスワードを含むプリンタ用COを生成し、当該プリンタ用COを含むCResをプリンタ100に送信してもよい。
【0130】
プリンタ100は、端末10からプリンタ用COを含むCResを受信すると、T940において、プリンタ用COを記憶する。そして、プリンタ100は、T950において、プリンタ用COを利用して(より詳細には、プリンタ用COに含まれるプリンタ用SCを利用して)、AP6とのDPP接続を確立する(
図6参照)。
【0131】
(ケースE;
図15)
続いて、
図15を参照して、端末10とAP6との間にAP接続が確立中でないケースEを説明する。T1002~T1022の処理(
図12のS110、S112、S114でNO)は、
図14のT902~T922の処理と同様である。
【0132】
端末10は、T1024において、AP6との間にAP接続が確立中でないと判断する(S130でNO)。この場合、端末10は、T1030において、通知画面を表示する(S150、
図9のT630参照)。
【0133】
(本実施例の効果)
本実施例によると、端末10は、GNReqをプリンタ100に送信し(
図12のS110、
図13のT820)、端末10とプリンタ100との間にWFD接続を確立するための通信(即ち、GNResの受信、AReqの送信、AReqの受信、CReqの受信(又は送信)、CResの送信(又は受信)、及び、Configuration Resultの受信(又は送信)等)をプリンタ100と実行することを試行する(S114~S120、T822、T830、T832)。当該通信が成功する場合には、端末10は、プリンタ用CO又は端末用COを利用して、端末10とプリンタ100との間にWFD接続を確立する(S122、T850)。一方、当該通信が失敗する場合には、端末10は、AReqをプリンタ100に送信し(S132、
図14のT930)、プリンタ100とAP6との間にAP接続を確立するための通信をプリンタ100と実行する(S134~S140、T932~T934、T940)。これにより、プリンタ用COがプリンタ100に送信されるので、プリンタ100とAP6との間にAP接続を確立させることができる。このために、Wi-Fi規格の異なる通信方式に従った無線通信を実行可能であるWi-FiI/F16を備える端末10は、プリンタ100のWi-Fi接続を適切に確立させることができる。
【0134】
端末10は、まず、端末10とプリンタ100との間にWFD接続を確立するための通信を実行し、当該通信が失敗する場合に、ユーザから指示を受け付けなくても、プリンタ100とAP6との間にAP接続を確立するための通信を自動的に実行する。このために、ユーザの利便性が向上する。また、端末10は、端末10がAP接続を確立中であると判断する場合(S130でYES)に、AReqをプリンタ100に送信するが(S132、
図14のT930)、端末10がAP接続を確立中でないと判断する場合(S130でNO)に、AReqをプリンタ100に送信しない(即ちS132を実行しない)。無駄な処理を実行するのを抑制することができる。
【0135】
(対応関係)
図13のT820で送信されるGNReq、
図14のT930で送信されるAReqが、それぞれ、「第2の要求信号」、「第1の要求信号」の一例である。
図13のT822及びT830~T832で実行される通信、
図14のT930~T934で実行される通信が、それぞれ、「第2種の通信」、「第1種の通信」の一例である。GNResを受信しないことが(即ちS114でNO)が、「第2種の通信が失敗する場合」の一例である。
【0136】
図12のS110の処理、S112の処理、S132の処理が、それぞれ、「取得部」、「第2の送信部」、「第1の送信部」によって実行される処理の一例である。S114~S120の処理、S122の処理、S132~S140の処理が、それぞれ、「第2の試行部」、「確立部」、「通信実行部」によって実行される処理の一例である。S130の処理、S136の処理が、それぞれ、「第1の判断部」、「第2の判断部」によって実行される処理の一例である。
【0137】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を列挙する。
【0138】
(変形例1)端末10及びプリンタ100のそれぞれは、Wi-Fi方式とは異なる無線方式(例えば、BT(Blue Tooth(登録商標)の略)方式、NFC(Near Field Communicationの略)方式等)に従った無線インターフェース(例えば、BTI/F、NFCI/F等)をさらに備えてもよい。この場合、プリンタ100は、
図3のT100でQRコードを表示する代わりに、例えば、プリンタ100のBTI/Fを介して、公開鍵とMACアドレスとを含む情報を送信してもよい。この場合、端末10は、端末10のBTI/Fを介して、当該情報を受信することができる。また、別の変形例では、プリンタ100は、プリンタ100のNFCI/Fを介して、当該情報を送信してもよい。この場合、端末10は、端末10のNFCI/Fを介して、当該情報を受信することができる。一般的に言うと、「取得部」が通信装置の公開鍵を取得する手法は特定に限定されない。
【0139】
(変形例2)「第2の通信方式」は、WFD方式でなくてもよく、いわゆるSoftAP方式又はアドホック方式であってもよい。一般的に言うと、「第2の通信方式」は、アクセスポイントを介さずに通信装置との無線通信を実行するための通信方式であればよい。
【0140】
(変形例3)
図7のS12及び
図12のS130の判断は、例えば、プリンタ100とのBSの前に実行されてもよい。即ち、「第1の判断部」が判断を実行するタイミングは特に限定されない。
【0141】
(変形例4)端末10は、
図7のS10を終えると、S12の判断を実行せずに、S20を実行してもよい。本変形例では、「第1の判断部」、「第3の送信部」、及び、「第2の試行部」を省略可能である。また、端末10は、
図12のS114でNOと判断する場合に、S130の判断を実行せずに、S132を実行してもよい。本変形例では、「第1の判断部」を省略可能である。
【0142】
(変形例5)上記の実施例では、
図7のS50又は
図12のS150の通知画面は、端末10とAP6との間にAP接続を確立させることを促すメッセージと、プリンタ100の状態をWFD接続の確立を待機する状態に設定することを促すメッセージと、の双方を含む。これに代えて、通知画面は、上記の2つのメッセージのうちの一方のみを含んでいてもよい。本変形例では、「第1の表示制御部」及び「第2の表示制御部」のどちらか一方を省略可能である。また、別の変形例では、
図7のS42でNOの場合又は
図12のS130でNOの場合に、S50又はS150を実行することなく、処理を終了してもよい。本変形例では、「第1の表示制御部」及び「第2の表示制御部」の双方を省略可能である。
【0143】
(変形例6)端末10が、AP6との通常Wi-Fi接続を確立不可能であり、AP6とのDPP接続を確立可能であることが前提であるシステムでは、
図7のS26及びS30(又は
図12のS136及びS140)を省略可能である。また、端末10が、AP6とのDPP接続を確立不可能であり、AP6との通常Wi-Fi接続を確立可能であることが前提であるシステムでは、
図7のS26及びS28(又は
図12のS136及びS138)を省略可能である。本変形例では、「第2の判断部」を省略可能である。
【0144】
(変形例7)端末10は、DPP方式をサポートしていなくてもよく、DPP方式とは異なる方式に従って、プリンタ100の公開鍵を取得し、認証要求、認証応答、接続情報等の各種通信を実行してもよい。
【0145】
(変形例8)「通信装置」は、プリンタ100でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
【0146】
(変形例9)上記の実施例では、
図2~
図15の各処理がソフトウェア(例えばアプリ38)によって実行されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0147】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下の項目は、出願時の特許請求の範囲に記載の要素である。
(項目1)
端末装置であって、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、
前記第1の要求信号が前記通信装置に送信され、かつ、前記第1種の通信が失敗する場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、
前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
を備える端末装置。
(項目2)
前記端末装置は、さらに、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中であるのか否かを判断する第1の判断部を備え、
前記第1の送信部は、前記公開鍵が取得され、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中であると判断される場合に、前記第1の要求信号を前記通信装置に送信し、
前記公開鍵が取得され、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記第1の要求信号は前記通信装置に送信されない、項目1に記載の端末装置。
(項目3)
前記端末装置は、さらに、
前記公開鍵が取得され、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第3の要求信号を前記通信装置に送信する第3の送信部と、
前記第3の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った前記第2種の通信を前記通信装置と実行することを試行する第2の試行部と、を備える、項目2に記載の端末装置。
(項目4)
前記端末装置は、さらに、
表示部と、
前記第3の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記端末装置と前記アクセスポイントとの間に前記無線接続を確立させることを促す第1の通知情報を前記表示部に表示させる第1の表示制御部と、を備える、項目3に記載の端末装置。
(項目5)
前記通信装置は、前記通信装置と他の装置との間に無線接続を確立させるための操作を受け付ける場合に、前記第1の通信方式に対応する第1の状態と、前記第2の通信方式に対応する第2の状態と、のどちらかの状態で動作し、
前記端末装置は、さらに、
表示部と、
前記第3の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記通信装置の状態を前記第2の状態で動作させることを促す第2の通知情報を前記表示部に表示させる第2の表示制御部と、を備える、項目3又は4に記載の端末装置。
(項目6)
端末装置であって、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行することを試行する第2の試行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記第2の試行部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が成功する場合に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記無線インターフェースを介して、前記第2の要求信号とは異なる第1の要求信号であって、前記公開鍵が利用された前記第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行する通信実行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記通信実行部と、
を備える端末装置。
(項目7)
前記端末装置は、さらに、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中であるのか否かを判断する第1の判断部を備え、
前記第1の送信部は、前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中であると判断される場合に、前記第1の要求信号を前記通信装置に送信し、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記第3の無線接続が確立中でないと判断される場合に、前記第1の要求信号は前記通信装置に送信されない、項目6に記載の端末装置。
(項目8)
前記端末装置は、さらに、
表示部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記無線接続が確立中でないと判断される場合に、前記端末装置と前記アクセスポイントとの間に前記無線接続を確立させることを促す第1の通知情報を前記表示部に表示させる第1の表示制御部と、を備える、項目7に記載の端末装置。
(項目9)
前記通信装置は、前記通信装置と他の装置との間に無線接続を確立させるための操作を受け付ける場合に、前記第1の通信方式に対応する第1の状態と、前記第2の通信方式に対応する第2の状態と、のどちらかの状態で動作し、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗し、かつ、前記端末装置と前記アクセスポイントとの間に前記無線接続が確立中でないと判断される場合に、前記通信装置の状態を前記第2の状態で動作させることを促す第2の通知情報を前記表示部に表示させる第2の表示制御部と、を備える、項目7又は8に記載の端末装置。
(項目10)
前記端末装置は、さらに、
前記端末装置と前記アクセスポイントとの間に第3の無線接続が確立中である場合に、前記第3の無線接続が、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従った第1種の無線接続であるのか、前記アクセスポイントが親局として動作する無線ネットワークのSSID(Service Set Identifierの略)及びパスワードが利用された第2種の無線接続であるのか、を判断する第2の判断部を備え、
前記第3の無線接続が前記第1種の無線接続であると判断される場合に、前記第1の接続情報は、前記DPP方式に従ったSigned-Connectorを含み、
前記第3の無線接続が前記第2種の無線接続であると判断される場合に、前記第1の接続情報は、前記SSID及び前記パスワードを含む、項目1~9のいずれか一項に記載の端末装置。
(項目11)
前記第1の要求信号は、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従ったDPP Authentication Requestである、項目1~10のいずれか一項に記載の端末装置。
(項目12)
前記第2の通信方式は、前記Wi-Fi規格のWi-Fi Direct(登録商標)方式であり、
前記第2の要求信号は、前記Wi-Fi Direct方式に従ったG/O Negotiation Requestである、項目1~11のいずれか一項に記載の端末装置。
(項目13)
前記取得部は、前記公開鍵がコード化されたQRコード(登録商標)を撮影することによって、前記公開鍵を取得する、項目1~12のいずれか一項に記載の端末装置。
(項目14)
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行することを試行する第1の試行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記第1の試行部と、
前記第1の要求信号が前記通信装置に送信され、かつ、前記第1種の通信が失敗する場合に、前記無線インターフェースを介して、前記第1の要求信号とは異なる第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行する通信実行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記通信実行部と、
前記第2種の通信が前記通信装置と実行された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
として機能させるコンピュータプログラム。
(項目15)
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
Wi-Fi規格の第1の通信方式と前記Wi-Fi規格の第2の通信方式とに従った無線通信を実行可能である無線インターフェースであって、前記第1の通信方式は、アクセスポイントを介して通信装置との無線通信を実行するための通信方式であり、前記第2の通信方式は、前記アクセスポイントを介さずに前記通信装置との無線通信を実行するための通信方式である、前記無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、第2の要求信号を前記通信装置に送信する第2の送信部と、
前記第2の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第2の通信方式に従った第2種の通信を前記通信装置と実行することを試行する第2の試行部であって、前記第2種の通信は、第2の接続情報を前記通信装置と通信することを含み、前記第2の接続情報は、前記端末装置と前記通信装置との間に第2の無線接続を確立するための情報である、前記第2の試行部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が成功する場合に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記端末装置と前記通信装置との間に前記第2の無線接続を確立する確立部と、
前記第2の要求信号が前記通信装置に送信され、かつ、前記第2種の通信が失敗する場合に、前記無線インターフェースを介して、前記第2の要求信号とは異なる第1の要求信号であって、前記公開鍵が利用された前記第1の要求信号を前記通信装置に送信する第1の送信部と、
前記第1の要求信号が前記通信装置に送信されることに応じて、前記無線インターフェースを介して、前記第1の通信方式に従った第1種の通信を前記通信装置と実行する通信実行部であって、前記第1種の通信は、第1の接続情報を前記通信装置に送信することを含み、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に第1の無線接続を確立するための情報である、前記通信実行部と、
として機能させるコンピュータプログラム。
【符号の説明】
【0148】
2:通信システム、6:AP、10:端末、12,112:操作部、14,114:表示部、16,116:Wi-FiI/F、18:カメラ、30,130:制御部、32,132:CPU、34,134:メモリ、36:OSプログラム、38:アプリケーション、100:プリンタ、118:印刷実行部、136:プログラム