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

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

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

特許7293950端末装置と端末装置のためのコンピュータプログラム
<>
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図1
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図2
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図3
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図4
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図5
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図6
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図7
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図8
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図9
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図10
  • 特許-端末装置と端末装置のためのコンピュータプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-12
(45)【発行日】2023-06-20
(54)【発明の名称】端末装置と端末装置のためのコンピュータプログラム
(51)【国際特許分類】
   H04W 76/10 20180101AFI20230613BHJP
   H04W 12/047 20210101ALI20230613BHJP
   H04W 84/12 20090101ALI20230613BHJP
   H04W 84/20 20090101ALI20230613BHJP
【FI】
H04W76/10
H04W12/047
H04W84/12
H04W84/20
【請求項の数】 13
(21)【出願番号】P 2019140732
(22)【出願日】2019-07-31
(65)【公開番号】P2021027378
(43)【公開日】2021-02-22
【審査請求日】2022-06-17
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】竹内 瞬
【審査官】田畑 利幸
(56)【参考文献】
【文献】特開2013-219430(JP,A)
【文献】特開2017-028460(JP,A)
【文献】特開2016-144002(JP,A)
【文献】米国特許出願公開第2017/0295448(US,A1)
【文献】国際公開第2018/075135(WO,A1)
【文献】特表2019-537871(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04W 4/00-99/00
H04M 1/00
H04M 1/72-1/72516
H04L 12/28
H04L 12/44-12/46
(57)【特許請求の範囲】
【請求項1】
端末装置であって、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
通信装置の公開鍵を取得する取得部と、
前記端末装置が前記通信装置とは異なるアクセスポイントとの無線接続を確立中であるのか否かを判断する第1の判断部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を前記通信装置に送信する認証要求送信部と、
前記認証要求が前記通信装置に送信される場合に、前記無線インターフェースを介して、前記通信装置から認証応答を受信する認証応答受信部と、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断される場合に、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、第1の接続情報を前記通信装置に送信する第1の接続情報通信部であって、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に無線接続を確立するための情報である、前記第1の接続情報通信部と、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中でないと判断される場合に、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、第2の接続情報を前記通信装置と通信する第2の接続情報通信部であって、前記第2の接続情報は、前記端末装置と前記通信装置との間に前記アクセスポイントを介さない無線接続を確立するための情報である、前記第2の接続情報通信部と、
前記第2の接続情報が前記通信装置と通信された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記通信装置との無線接続を確立する確立部と、
を備える端末装置。
【請求項2】
前記第1の判断部は、前記公開鍵が取得された後であって、前記認証要求が前記通信装置に送信される前に、前記端末装置が前記アクセスポイントとの前記無線接続を確立中であるのか否かを判断する、請求項1に記載の端末装置。
【請求項3】
前記取得部は、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従ったBootstrappingを実行して、前記公開鍵を取得し、
前記認証要求は、DPP Authentication Requestであり、
前記認証応答は、DPP Authentication Responseであり、
前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に無線接続を確立するための第1のConfiguration Objectであり、
前記第2の接続情報は、前記端末装置と前記通信装置との間に前記アクセスポイントを介さない無線接続を確立するための第2のConfiguration Objectである、請求項1又は2に記載の端末装置。
【請求項4】
前記端末装置は、前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断される場合、及び、前記端末装置が前記アクセスポイントとの前記無線接続を確立中でないと判断される場合のどちらでも、前記通信装置から前記認証応答が受信された後に、前記DPP方式に従ったConfiguratorとして動作し、
前記第2の接続情報通信部は、前記第2のConfiguration Objectである前記第2の接続情報を前記通信装置に送信する、請求項3に記載の端末装置。
【請求項5】
前記端末装置は、さらに、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断される場合に、前記アクセスポイントとの前記無線接続が、前記DPP方式に従った第1種の無線接続であるのか、前記アクセスポイントが親局として動作する第1の無線ネットワークのSSID(Service Set Identifierの略)及びパスワードが利用された第2種の無線接続であるのか、を判断する第2の判断部を備え、
前記第1の接続情報通信部は、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断され、かつ、前記アクセスポイントとの前記無線接続が前記第1種の無線接続であると判断される場合に、前記DPP方式に従ったSigned-Connectorを含む前記第1のConfiguration Objectである前記第1の接続情報を前記通信装置に送信し、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断され、かつ、前記アクセスポイントとの前記無線接続が前記第2種の無線接続であると判断される場合に、前記第1の無線ネットワークの前記SSID及び前記パスワードを含む前記第1のConfiguration Objectである前記第1の接続情報を前記通信装置に送信する、請求項3又は4に記載の端末装置。
【請求項6】
前記第2の接続情報通信部は、前記端末装置が親局として動作する第2の無線ネットワークのSSID(Service Set Identifierの略)及びパスワードを含む前記第2の接続情報を前記通信装置に送信し、
前記確立部は、前記第2の接続情報が前記通信装置に送信された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記通信装置との前記無線接続を確立し、
前記通信装置との前記無線接続が確立される場合に、前記第2の無線ネットワークでは、前記通信装置は子局として動作する、請求項1から5のいずれか一項に記載の端末装置。
【請求項7】
前記端末装置は、さらに、
前記公開鍵が取得され、かつ、前記端末装置が前記アクセスポイントとの前記無線接続を確立中でないと判断される場合に、前記無線インターフェースの状態を、前記無線インターフェースを介した前記無線通信を実行不可能である状態から、前記無線インターフェースを介した前記無線通信を実行可能である状態に移行させるための処理を実行する移行処理実行部を備え、
前記認証要求送信部は、前記無線インターフェースの状態が前記無線通信を実行可能である状態に移行された後に、前記無線インターフェースを介して、前記認証要求を前記通信装置に送信する、請求項1から6のいずれか一項に記載の端末装置。
【請求項8】
端末装置であって、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースの状態を、前記無線インターフェースを介した前記無線通信を実行不可能である状態から、前記無線インターフェースを介した前記無線通信を実行可能である状態に移行させるための処理を実行する移行処理実行部と、
前記無線インターフェースの状態が前記無線通信を実行可能である状態に移行された後に、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を前記通信装置に送信する認証要求送信部と、
前記認証要求が前記通信装置に送信される場合に、前記無線インターフェースを介して、前記通信装置から認証応答を受信する認証応答受信部と、
前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、接続情報を前記通信装置と通信する接続情報通信部であって、前記接続情報は、前記端末装置と前記通信装置との間にアクセスポイントを介さない無線接続を確立するための情報である、前記接続情報通信部と、
前記接続情報が前記通信装置と通信された後に、前記接続情報を利用して、前記無線インターフェースを介して、前記通信装置との無線接続を確立する確立部と、
を備える端末装置。
【請求項9】
前記取得部は、前記Wi-Fi規格のDPP(Device Provisioning Protocolの略)方式に従ったBootstrappingを実行して、前記公開鍵を取得し、
前記認証要求は、DPP Authentication Requestであり、
前記認証応答は、DPP Authentication Responseであり、
前記接続情報は、前記端末装置と前記通信装置との間に前記アクセスポイントを介さない無線接続を確立するためのConfiguration Objectである、請求項8に記載の端末装置。
【請求項10】
前記端末装置は、前記通信装置から前記認証応答が受信された後に、前記DPP方式に従ったConfiguratorとして動作し、
前記接続情報通信部は、前記Configuration Objectである前記接続情報を前記通信装置に送信する、請求項9に記載の端末装置。
【請求項11】
前記接続情報通信部は、前記端末装置が親局として動作する無線ネットワークのSSID(Service Set Identifierの略)及びパスワードを含む前記接続情報を前記通信装置に送信し、
前記確立部は、前記接続情報が前記通信装置に送信された後に、前記接続情報を利用して、前記無線インターフェースを介して、前記通信装置との前記無線接続を確立し、
前記通信装置との前記無線接続が確立される場合に、前記無線ネットワークでは、前記通信装置は子局として動作する、請求項8~10のいずれか一項に記載の端末装置。
【請求項12】
端末装置のためのコンピュータプログラムであって、
前記端末装置は、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
通信装置の公開鍵を取得する取得部と、
前記端末装置が前記通信装置とは異なるアクセスポイントとの無線接続を確立中であるのか否かを判断する第1の判断部と、
前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を前記通信装置に送信する認証要求送信部と、
前記認証要求が前記通信装置に送信される場合に、前記無線インターフェースを介して、前記通信装置から認証応答を受信する認証応答受信部と、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断される場合に、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、第1の接続情報を前記通信装置に送信する第1の接続情報通信部であって、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に無線接続を確立するための情報である、前記第1の接続情報通信部と、
前記端末装置が前記アクセスポイントとの前記無線接続を確立中でないと判断される場合に、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、第2の接続情報を前記通信装置と通信する第2の接続情報通信部であって、前記第2の接続情報は、前記端末装置と前記通信装置との間に前記アクセスポイントを介さない無線接続を確立するための情報である、前記第2の接続情報通信部と、
前記第2の接続情報が前記通信装置と通信された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記通信装置との無線接続を確立する確立部と、
として機能させるコンピュータプログラム。
【請求項13】
端末装置のためのコンピュータプログラムであって、
Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
通信装置の公開鍵を取得する取得部と、
前記公開鍵が取得される場合に、前記無線インターフェースの状態を、前記無線インターフェースを介した前記無線通信を実行不可能である状態から、前記無線インターフェースを介した前記無線通信を実行可能である状態に移行させるための処理を実行する移行処理実行部と、
前記無線インターフェースの状態が前記無線通信を実行可能である状態に移行された後に、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を前記通信装置に送信する認証要求送信部と、
前記認証要求が前記通信装置に送信される場合に、前記無線インターフェースを介して、前記通信装置から認証応答を受信する認証応答受信部と、
前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、接続情報を前記通信装置と通信する接続情報通信部であって、前記接続情報は、前記端末装置と前記通信装置との間にアクセスポイントを介さない無線接続を確立するための情報である、前記接続情報通信部と、
前記接続情報が前記通信装置と通信された後に、前記接続情報を利用して、前記無線インターフェースを介して、前記通信装置との無線接続を確立する確立部と、
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、端末装置を利用して通信装置と他の装置との間に無線接続を確立させるための技術を開示する。
【背景技術】
【0002】
非特許文献1には、Wi-Fi Allianceによって策定された無線通信方式であるDPP(Device Provisioning Protocolの略)方式が記述されている。DPP方式は、一対の装置の間に無線接続を容易に確立させるための無線通信方式である。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-028460号公報
【非特許文献】
【0004】
【文献】「Device Provisioning Protocol Technical Specification Version1.1」 Wi-Fi Alliance,2018年
【発明の概要】
【発明が解決しようとする課題】
【0005】
本明細書では、従来とは異なる手法に従って、端末装置を利用して通信装置と他の装置との間に無線接続を確立させるための技術を開示する。
【課題を解決するための手段】
【0006】
本明細書によって開示される端末装置は、Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、通信装置の公開鍵を取得する取得部と、前記端末装置が前記通信装置とは異なるアクセスポイントとの無線接続を確立中であるのか否かを判断する第1の判断部と、前記公開鍵が取得される場合に、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を前記通信装置に送信する認証要求送信部と、前記認証要求が前記通信装置に送信される場合に、前記無線インターフェースを介して、前記通信装置から認証応答を受信する認証応答受信部と、前記端末装置が前記アクセスポイントとの前記無線接続を確立中であると判断される場合に、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、第1の接続情報を前記通信装置に送信する第1の接続情報通信部であって、前記第1の接続情報は、前記通信装置と前記アクセスポイントとの間に無線接続を確立するための情報である、前記第1の接続情報通信部と、前記端末装置が前記アクセスポイントとの前記無線接続を確立中でないと判断される場合に、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、第2の接続情報を前記通信装置と通信する第2の接続情報通信部であって、前記第2の接続情報は、前記端末装置と前記通信装置との間に前記アクセスポイントを介さない無線接続を確立するための情報である、前記第2の接続情報通信部と、前記第2の接続情報が前記通信装置と通信された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記通信装置との無線接続を確立する確立部と、を備えてもよい。
【0007】
上記の構成によると、端末装置は、アクセスポイントとの無線接続を確立中であるか否かを判断する。端末装置は、アクセスポイントとの無線接続を確立中であると判断する場合に、第1の接続情報を通信装置に送信する。これにより、通信装置とアクセスポイントとの間に無線接続を確立させることができる。また、端末装置は、アクセスポイントとの無線接続を確立中でないと判断する場合に、第2の接続情報を通信装置と通信し、第2の接続情報を利用して、通信装置との無線接続を確立する。これにより、通信装置と端末装置との間に無線接続を確立させることができる。このように、端末装置がアクセスポイントとの無線接続を確立中であるのか否かに応じて、通信装置と他の適切な装置(即ちアクセスポイント又は端末装置)との間に無線接続を確立させることができる。
【0008】
本明細書によって開示される他の端末装置は、Wi-Fi規格に従った無線通信を実行するための無線インターフェースと、通信装置の公開鍵を取得する取得部と、前記公開鍵が取得される場合に、前記無線インターフェースの状態を、前記無線インターフェースを介した前記無線通信を実行不可能である状態から、前記無線インターフェースを介した前記無線通信を実行可能である状態に移行させるための処理を実行する移行処理実行部と、前記無線インターフェースの状態が前記無線通信を実行可能である状態に移行された後に、前記無線インターフェースを介して、前記公開鍵が利用された認証要求を前記通信装置に送信する認証要求送信部と、前記認証要求が前記通信装置に送信される場合に、前記無線インターフェースを介して、前記通信装置から認証応答を受信する認証応答受信部と、前記通信装置から前記認証応答が受信された後に、前記無線インターフェースを介して、接続情報を前記通信装置と通信する接続情報通信部であって、前記接続情報は、前記端末装置と前記通信装置との間にアクセスポイントを介さない無線接続を確立するための情報である、前記接続情報通信部と、前記第2の接続情報が前記通信装置と通信された後に、前記第2の接続情報を利用して、前記無線インターフェースを介して、前記通信装置との無線接続を確立する確立部と、を備えてもよい。
【0009】
上記の構成によると、端末装置は、通信装置の公開鍵を取得する場合に、無線インターフェースの状態を、無線通信を実行可能である状態に移行させる。このために、端末装置は、無線インターフェースを介して、認証要求、認証応答、及び、接続情報の通信を適切に実行することができる。従って、端末装置は、通信装置との無線接続を適切に確立することができる。
【0010】
上記の端末装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の端末装置と他の装置(例えば通信装置)とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0011】
図1】通信システムの構成を示す。
図2】プリンタとアクセスポイントとの間にDPP方式に従ったWi-Fi接続を確立するための処理の概略のシーケンス図を示す。
図3】Bootstrappingの処理のシーケンス図を示す。
図4】Authenticationの処理のシーケンス図を示す。
図5】Configurationの処理のシーケンス図を示す。
図6】Network Accessの処理のシーケンス図を示す。
図7】端末の処理のフローチャートを示す。
図8】WFD接続処理のフローチャートを示す。
図9】端末とアクセスポイントとの間にDPP接続が確立中である状況で、プリンタとアクセスポイントとの間にDPP接続が確立されるケースAのシーケンス図を示す。
図10】端末とアクセスポイントとの間に通常Wi-Fi接続が確立中である状況で、プリンタとアクセスポイントとの間に通常Wi-Fi接続が確立されるケースBのシーケンス図を示す。
図11】端末とアクセスポイントとの間にWi-Fi接続が確立されていない状況で、端末とプリンタとの間にWFD接続が確立されるケースCのシーケンス図を示す。
【発明を実施するための形態】
【0012】
(通信システム2の構成;図1
図1に示されるように、通信システム2は、アクセスポイント(以下では、単に「AP」と記載する)6と、端末10と、プリンタ100と、を備える。本実施例では、ユーザが、端末10を利用して、プリンタ100と他の装置(例えばAP6又は端末10)との間にWi-Fi方式に従った無線接続であるWi-Fi接続を確立させる状況を想定している。
【0013】
(端末10の構成)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、操作部12と、表示部14と、Wi-Fiインターフェース16と、セルラーインターフェース18と、カメラ20と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを単に「I/F」と記載する。
【0014】
操作部12は、複数個のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。
【0015】
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は、ON及びOFFのどちらかの状態に設定される。Wi-FiI/F16がONである状態は、Wi-FiI/F16がWi-Fi方式に従った通信(例えば、Probe Requestの送信又は受信、DPP Authentication Requestの送信等)を実行可能な状態である。Wi-FiI/F16がOFFである状態は、Wi-FiI/F16が上記の通信を実行不可能である状態である(例えばWi-FiI/F16に対する通電が停止されている状態)。
【0016】
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接続」と記載することがある。
【0017】
また、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接続」と記載することがある。
【0018】
また、端末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接続」と記載することがある。
【0019】
セルラーI/F18は、セルラー方式に従ったセルラー通信を実行するための無線インターフェースである。セルラー方式は、エリアを一定の区画(即ちセル)に分割し、各セルに配置された基地局が利用される無線通信方式である。セルラー方式は、International Telecommunication Unionによって定められる3G、4G、5G等を含む。
【0020】
セルラーI/F18は、通常、いずれかの基地局に接続されており、端末10は、セルラーI/F18を介したセルラー通信を実行可能である。ただし、端末10は、Wi-FiI/F16の状態がONであり、かつ、Wi-Fi接続(即ちWFD接続又はAP接続)が確立中である場合には、セルラー通信よりもWi-Fi通信を優先的に実行する。一方、端末10は、Wi-FiI/F16の状態がONであり、かつ、Wi-Fi接続が確立中でない場合には、セルラー通信を実行する。また、端末10は、Wi-FiI/F16の状態がOFFである場合には、セルラー通信を実行する。即ち、Wi-Fi接続が確立中でない状態は、端末10がセルラー通信を実行する状態であると言い換えることができる。
【0021】
カメラ20は、物体を撮影するためのデバイスであり、本実施例では、AP6及びプリンタ100のためのQRコード(登録商標)を撮影するために利用される。
【0022】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36、38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OSプログラム36と、アプリケーション38(以下では単に「アプリ38」と記載する)と、を記憶する。
【0023】
OSプログラム36は、端末10の基本的な動作を制御するためのプログラムである。アプリ38は、端末10を利用して、プリンタ100と他の装置(例えばAP6又は端末10)との間にWi-Fi接続を確立させるためのプログラムである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット上のサーバから端末10にインストールされる。
【0024】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、操作部112と、表示部114と、Wi-FiI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0025】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0026】
Wi-FiI/F116は、DPP方式とWFD方式とをサポートしている。このために、プリンタ100は、AP6とのDPP接続を確立することができ、さらに、端末10とのWFD接続を確立することができる。また、プリンタ100は、AP6との通常Wi-Fi接続を確立することもできる。
【0027】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0028】
(DPPの概略;図2
続いて、図2を参照して、DPPの概略を説明する。AP6もDPP方式をサポートしている。本実施例では、各デバイス6,10,100がDPP方式に従った通信を実行することによって、プリンタ100とAP6との間にDPP接続を確立させることを実現する。以下では、理解の容易化のため、各デバイスのCPU(例えばCPU32、132)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば端末10、プリンタ100)を主体として記載する。
【0029】
T5では、端末10は、DPP方式のBootstrapping(以下では、単に「BS」と記載する)をAP6と実行する。当該BSは、AP6に貼り付けられているQRコードが端末10によって撮影されることに応じて、後述のT10のAuthentication(以下では、単に「Auth」と記載する)で利用される情報をAP6から端末10に提供する処理である。
【0030】
T10では、端末10は、T5のBSで取得済みの情報を利用して、DPP方式のAuthをAP6と実行する。当該Authは、端末10及びAP6のそれぞれが通信相手を認証するための処理である。
【0031】
T15では、端末10は、DPP方式のConfiguration(以下では、単に「Config」と記載する)をAP6と実行する。当該Configは、AP6がDPP接続を確立するための情報をAP6に送信する処理である。具体的には、端末10は、AP用Configuration Object(以下では、Configuration Objectのことを単に「CO」と記載する)を生成して、AP用COをAP6に送信する。この結果、AP6では、AP用COが記憶される。
【0032】
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」)の通信を実行してもよい。
【0033】
次いで、端末10は、T25において、DPP方式のBSをプリンタ100と実行する。当該BSは、プリンタ100に表示されるQRコードが端末10によって撮影されることに応じて、後述のT30のAuthで利用される情報をプリンタ100から端末10に提供する処理である。
【0034】
T30では、端末10は、T25のBSで取得済みの情報を利用して、DPP方式のAuthをプリンタ100と実行する。当該Authは、端末10及びプリンタ100のそれぞれが通信相手を認証するための処理である。
【0035】
T35では、端末10は、DPP方式のConfigをプリンタ100と実行する。当該Configは、プリンタ100とAP6との間にDPP接続を確立するための情報をプリンタ100に送信する処理である。端末10は、当該Configにおいて、プリンタ100とAP6との間にDPP接続を確立させるためのプリンタ用COを生成して、プリンタ用COをプリンタ100に送信する。この結果、プリンタ100では、プリンタ用COが記憶される。
【0036】
T40では、プリンタ100及びAP6は、記憶済みのAP用CO及びプリンタ用COを利用してDPP方式のNAを実行し、接続キーを共有する。その後、プリンタ100及びAP6は、4way-handshakeの通信を実行し、共有済みの接続キーによって暗号化された暗号情報を通信する。この結果、プリンタ100とAP6との間にDPP接続が確立される。これにより、プリンタ100は、AP6によって形成される無線ネットワークに子局として参加することができる。即ち、端末10及びプリンタ100がAP6によって形成される同じ無線ネットワークに所属している状態になる。このために、端末10及びプリンタ100は、AP6を介して、例えば印刷対象の画像を表わすデータの通信を実行することができる。
【0037】
DPP方式では、端末10又はプリンタ100とAP6との間にWi-Fi接続(即ちDPP接続)を確立させるために、ユーザは、AP6が親局として動作する無線ネットワークの情報(例えばSSID、パスワード等)を端末10又はプリンタ100に入力する必要がない。従って、ユーザは、端末10又はプリンタ100とAP6との間にWi-Fi接続を容易に確立させることができる。
【0038】
(各処理の詳細;図3図6
続いて、図3図6を参照して、図2のT25~T40において実行される各処理の詳細を説明する。なお、T5~T15の処理は、プリンタ100に代えてAP6が利用される点を除いてT25~T35の処理と同様であるので、その詳細な説明を省略する。また、T20の処理は、端末10とAP6との間の処理である点を除いてT40と同様であるので、その詳細な説明を省略する。
【0039】
(Bootstrapping(BS);図3
まず、図3を参照して、図2のT25において端末10とプリンタ100との間で実行されるBSの処理を説明する。図3の初期状態では、プリンタ100のメモリ134は、プリンタ100の公開鍵PPK1及び秘密鍵psk1を予め記憶している。
【0040】
T100では、プリンタ100は、ユーザからの操作を受け付けることに応じて、表示部114にQRコードを表示させる。当該QRコードは、プリンタ100の公開鍵PPK1と、プリンタ100のWi-FiI/F116のMACアドレス「macpr」と、をコード化することによって得られる。なお、変形例では、上記のQRコードは、プリンタ100の筐体に貼り付けられていてもよいし、プリンタ100の説明書等に添付されていてもよい。
【0041】
T110では、ユーザは、端末10にインストールされたアプリ38を起動する。端末10は、アプリ38が起動されることに応じて、カメラ20を起動し、T120において、カメラ20を利用して、プリンタ100に表示されているQRコードを撮影する。そして、端末10は、T122において、撮影済みのQRコードをデコードして、公開鍵PPK1とMACアドレス「macpr」とを取得する。T122の処理が終了すると、図3の処理が終了する。
【0042】
(Authentication(Auth);図4
続いて、図4を参照して、図2のT30において端末10とプリンタ100との間で実行されるAuthの処理を説明する。
【0043】
T200では、端末10は、端末10の公開鍵TPK1及び秘密鍵tsk1を生成する。次いで、端末10は、T202において、ECDH(Elliptic curve Diffie-Hellman key exchangeの略)に従って、生成済みの秘密鍵tsk1と、図3のT122で取得されたプリンタ100の公開鍵PPK1と、を用いて、共有鍵SK1を生成する。そして、端末10は、T204において、生成済みの共有鍵SK1を用いてランダム値RV1を暗号化して、暗号化データED1を生成する。
【0044】
T210では、端末10は、Wi-FiI/F16を介して、図3のT122で取得されたMACアドレス「macpr」を送信先として、DPP Authentication Request(以下では、単に「AReq」と記載する)をプリンタ100に送信する。AReqは、認証の実行をプリンタ100に要求する信号である。AReqは、T200で生成された端末10の公開鍵TPK1と、T204で生成された暗号化データED1と、端末10のcapabilityと、を含む。
【0045】
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のみとして動作可能であることを示す値を含む。
【0046】
プリンタ100は、T210において、端末10から、Wi-FiI/F116を介して、AReqを受信する。上記のように、当該AReqは、プリンタ100のMACアドレス「macpr」を送信先として送信される。従って、プリンタ100は、端末10から当該AReqを適切に受信することができる。
【0047】
次いで、プリンタ100は、AReqの送信元(即ち端末10)を認証するための以下の処理を実行する。具体的には、プリンタ100は、T212において、ECDHに従って、AReq内の端末10の公開鍵TPK1と、プリンタ100の秘密鍵psk1と、を用いて、共有鍵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以降の処理を実行しない。
【0048】
プリンタ100は、T216において、プリンタ100の新たな公開鍵PPK2及び新たな秘密鍵psk2を生成する。なお、変形例では、プリンタ100は、公開鍵PPK2及び秘密鍵psk2を予め記憶していてもよい。次いで、プリンタ100は、T217において、ECDHに従って、T210のAReq内の端末10の公開鍵TPK1と、生成済みのプリンタ100の秘密鍵psk2と、を用いて、共有鍵SK2を生成する。そして、プリンタ100は、T218において、生成済みの共有鍵SK2を用いて、取得済みのランダム値RV1及び新たなランダム値RV2を暗号化して、暗号化データED2を生成する。
【0049】
T220では、プリンタ100は、Wi-FiI/F116を介して、DPP Authentication Response(以下では、単に「ARes」と記載する)を端末10に送信する。当該AResは、T216で生成されたプリンタ100の公開鍵PPK2と、T218で生成された暗号化データED2と、プリンタ100のcapabilityと、を含む。当該capabilityは、Enrolleeのみとして動作可能であることを示す値を含む。
【0050】
端末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以降の処理を実行しない。
【0051】
T230では、端末10は、Wi-FiI/F16を介して、Confirmをプリンタ100に送信する。Confirmは、端末10がConfiguratorとして動作し、かつ、プリンタ100がEnrolleeとして動作することを示す情報を含む。この結果、T232において、Configuratorとして動作することが端末10によって決定され、T234において、Enrolleeとして動作することがプリンタ100によって決定される。T234の処理が終了すると、図4の処理が終了する。
【0052】
(Configuration(Config);図5
続いて、図5を参照して、図2のT35において端末10とプリンタ100との間で実行されるConfigの処理を説明する。
【0053】
T300では、プリンタ100は、Wi-FiI/F116を介して、DPP Configuration Request(以下では、単に「CReq」と記載する)を端末10に送信する。当該CReqは、プリンタ用COの送信を要求する信号である。
【0054】
端末10は、T300において、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する。この場合、端末10は、T302において、端末10の新たな公開鍵TPK2及び新たな秘密鍵tsk2を生成する。次いで、端末10は、T304において、生成済みの秘密鍵tsk2を利用して、プリンタ用COを生成する。具体的には、端末10は、以下の各処理を実行する。
【0055】
端末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を生成する。
【0056】
T310では、端末10は、Wi-FiI/F16を介して、プリンタ用COを含むDPP Configuration Response(以下では、単に「CRes」と記載する)をプリンタ100に送信する。
【0057】
プリンタ100は、T310において、端末10から、Wi-FiI/F116を介して、CResを受信する。この場合、プリンタ100は、T312において、当該CRes内のプリンタ用COを記憶する。プリンタ用COは、AP6とのDPP接続で利用される情報であり、AP6とのDPP接続を確立するための接続情報であると言える。T312の処理が終了すると、図5の処理が終了する。
【0058】
(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とは異なる値である。
【0059】
プリンタ100は、T400において、Wi-FiI/F116を介して、プリンタ用SCを含むDPP Peer Discovery Request(以下では、単に「DReq」と記載する)をAP6に送信する。当該DReqは、認証の実行と、AP用SCの送信と、をAP6に要求する信号である。
【0060】
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以降の処理を実行しない。
【0061】
次いで、AP6は、T404において、ECDHに従って、取得済みのプリンタ100の公開鍵PPK2と、記憶済みのAP6の秘密鍵ask2と、を用いて、接続キー(即ち共有鍵)CKを生成する。
【0062】
T410では、AP6は、AP用SCを含むDPP Peer Discovery Response(以下では、単に「DRes」と記載する)をプリンタ100に送信する。
【0063】
プリンタ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以降の処理を実行しない。
【0064】
プリンタ100は、T414において、ECDHに従って、記憶済みのプリンタ100の秘密鍵psk2と、受信済みのAP用SC内のAP6の公開鍵APK2と、を用いて、接続キーCKを生成する。ここで、T404でAP6によって生成される接続キーCKと、T414でプリンタ100によって生成される接続キーCKと、は同じである。これにより、DPP接続を確立するための接続キーCKがプリンタ100及びAP6の間で共有される。
【0065】
上述したように、接続キーCKがプリンタ100及びAP6の間で共有された後に、T420において、プリンタ100及びAP6は、接続キーCKを利用して、4way-handshakeの通信を実行する。この結果、プリンタ100とAP6との間にDPP接続が確立される。T420の処理が終了すると、図6の処理が終了する。
【0066】
(端末の処理;図7
図7を参照して、端末10のCPU32によって実行される処理を説明する。CPU32は、ユーザによってアプリ38が起動される場合に、図7の処理を開始する。
【0067】
S10では、CPU32は、プリンタ100とのBootstrappingを実行する。即ち、ユーザがプリンタ100に表示されているQRコードをカメラ20で撮影することに応じて(図3のT120参照)、CPU32は、当該QRコードをデコードして、プリンタ100の公開鍵PPK1と、MACアドレス「macpr」と、を取得する(T122参照)。
【0068】
S12では、CPU32は、端末10がAP接続を確立中であるのか否かを判断する。具体的には、CPU32は、メモリ34内のAP接続フラグ(図示省略)がONを示す場合に、AP接続を確立中であると判断し(S12でYES)、S20に進む。一方、CPU32は、AP接続フラグがOFFを示す場合に、AP接続を確立中でないと判断し(S12でNO)、S30に進む。
【0069】
S20では、CPU32は、Wi-FiI/F16を介して、プリンタ100とのAuthを実行する(図4参照)。上述したように、当該Authでは、端末10がConfiguratorのみとして動作可能であることを示すcapabilityが送信されるので(図4のT210)、端末10がConfiguratorとして動作することが決定され(T232参照)、プリンタ100がEnrolleeとして動作することが決定される(T234参照)。
【0070】
S22では、CPU32は、プリンタ100から、Wi-FiI/F16を介して、CReqを受信する(図5のT300参照)。
【0071】
S24では、CPU32は、端末10とAP6との間に確立されているAP接続が、DPP接続であるのか、通常Wi-Fi接続であるのか、を判断する。具体的には、CPU32は、端末用SCを含む端末用COがメモリ34に記憶されている場合に、AP接続がDPP接続であると判断し(S24で「DPP接続」)、S26に進む。一方、CPU32は、AP6によって形成されている無線ネットワークのSSID及びパスワードがメモリ34に記憶されている場合に、AP接続が通常Wi-Fi接続であると判断し(S24で「通常Wi-Fi接続」)、S28に進む。
【0072】
S26では、CPU32は、プリンタ用SCを含むプリンタ用COを生成し(図5のT302~T304参照)、Wi-FiI/F16を介して、当該プリンタ用COを含むCResをプリンタ100に送信する(T310参照)。この結果、プリンタ100は、当該プリンタ用COを利用して、AP6とのDPP接続を確立することができる(図6参照)。S26の処理が終了すると、図7の処理が終了する。
【0073】
S28では、CPU32は、AP6によって形成されている無線ネットワークのSSID「IDap」及びパスワード「PWap」をメモリ34から取得し、取得済みのSSID「IDap」及びパスワード「PWap」を含むプリンタ用COを生成し、Wi-FiI/F16を介して、当該プリンタ用COを含むCResをプリンタ100に送信する。この結果、プリンタ100は、当該プリンタ用COを利用して、AP6との通常Wi-Fi接続を確立することができる。S28の処理が終了すると、図7の処理が終了する。
【0074】
(WFD接続処理(図7のS30);図8
次いで、図8を参照して、図7のS30のWFD接続処理について説明する。
【0075】
S40では、CPU32は、Wi-FiI/F16がONであるか否かを判断する。CPU32は、メモリ34内のWi-Fi状態フラグ(図示省略)がONを示す場合に、Wi-FiI/F16がONであると判断し(S40でYES)、S50に進む。一方、CPU32は、Wi-Fi状態フラグがOFFを示す場合に、Wi-FiI/F16がONでない(即ちOFFである)と判断し(S40でNO)、S42に進む。
【0076】
S42では、CPU32は、Wi-FiI/F16の状態をOFFからONに移行させる。具体的には、CPU32は、アプリ38に従って、Wi-FiI/F16の状態をOFFからONに移行させることをOSプログラム36に指示する。そして、CPU32は、OSプログラム36に従って、Wi-FiI/F16の状態をOFFからONに移行させる。これにより、端末10は、Wi-FiI/F16を介して、他の装置と各種の通信を実行可能な状態に移行する。
【0077】
S50及びS52は、図7のS20及びS22と同様である。即ち、S50のAuthでは、端末10がConfiguratorのみとして動作可能であることを示すcapabilityが送信されるので、端末10がConfiguratorとして動作することが決定され、プリンタ100がEnrolleeとして動作することが決定される。その後、S54では、CPU32は、端末10の状態をWFD方式のデバイス状態からG/O状態に移行させる。そして、CPU32は、G/O状態として動作する端末10によって形成される無線ネットワークのSSID「IDte」及びパスワード「PWte」を生成する。
【0078】
S56では、CPU32は、S54で生成されたSSID「IDte」及びパスワード「PWte」を含むプリンタ用COを生成し、Wi-FiI/F16を介して、当該プリンタ用COを含むCResをプリンタ100に送信する。
【0079】
S58では、CPU32は、Wi-FiI/F16を介して、Authentication、Association、4way-handshake等のWFD方式に従った各種通信をプリンタ100と実行する。そして、CPU32は、当該各種通信の過程において、SSID「IDte」及びパスワード「PWte」を利用した認証を実行し、当該認証が成功する場合に、プリンタ100とのWFD接続を確立する。これにより、端末10とプリンタ100との双方が所属している無線ネットワークが形成される。当該無線ネットワークでは、端末10がG/O(即ち親局)として動作し、プリンタ100が子局(CL又はいわゆるレガシー)として動作する。S58の処理が終了したら、図8の処理が終了する。
【0080】
(ケースA;図9
続いて、図7及び図8の処理によって実現される具体的なケースを説明する。まず、図9を参照して、端末10とAP6との間にDPP接続が確立中である状況で、プリンタ100とAP6との間にDPP接続が確立されるケースAを説明する。T500に示すように、端末10とAP6との間にDPP接続が確立中である(図2のT5~T20参照)。従って、端末10には、端末用SCを含む端末用COが記憶されており、AP6には、AP用SCを含むAP用COが記憶されている。
【0081】
このような状況において、図2のT25~T30と同様に、端末10とプリンタ100との間でBS及びAuthが実行される(図7のS10、S12でYES、S20)。その後、端末10は、T510において、プリンタ100からCReqを受信すると(S22)、AP接続がDPP接続であると判断する(S24で「DPP接続」)。この場合、端末10は、T512において、プリンタ用SCを含むプリンタ用COを生成し、T520において、当該プリンタ用COを含むCResをプリンタ100に送信する(S26)。
【0082】
プリンタ100は、T520において、端末10からCResを受信すると、T530において、CResに含まれるプリンタ用COを記憶し、T540において、プリンタ用CO(より詳細にはプリンタ用SC)を利用して、AP6とのDPP接続を確立する(図6参照)。
【0083】
(ケースB;図10
続いて、図10を参照して、端末10とAP6との間に通常Wi-Fi接続が確立中である状況で、プリンタ100とAP6との間に通常Wi-Fi接続が確立されるケースBを説明する。T600に示すように、端末10とAP6との間に通常Wi-Fi接続が確立中である。従って、端末10には、AP6によって形成されるネットワークのSSID「IDap」及びパスワード「PWap」が記憶されている。
【0084】
このような状況において、図2のT25~T30と同様に、端末10とプリンタ100との間でBS及びAuthが実行される(図7のS10、S12でYES、S20)。その後、端末10は、T610において、プリンタ100からCReqを受信すると(S22)、AP接続が通常Wi-Fi接続であると判断する(S24で「通常Wi-Fi接続」)。この場合、端末10は、T612において、SSID「IDap」及びパスワード「PWap」を含むプリンタ用COを生成し、T620において、当該プリンタ用COを含むCResをプリンタ100に送信する(S28)。
【0085】
プリンタ100は、T620において、端末10からCResを受信すると、T630において、CResに含まれるプリンタ用COを記憶し、T640において、プリンタ用CO(より詳細にはSSID「IDap」及びパスワード「PWap」)を利用して、AP6との通常Wi-Fi接続を確立する。
【0086】
(ケースC;図11
続いて、図11を参照して、端末10がAP接続を確立していない状況で、端末10とプリンタ100との間にWFD接続が確立されるケースCを説明する。図11の初期状態では、端末10のWi-FiI/F16がOFFであり、端末10がAP接続を確立していない。
【0087】
端末10は、T700において、プリンタ100とのBSを実行すると(図7のS10)、AP接続を確立していないと判断する(S12でNO)。端末10は、さらに、Wi-FiI/F16がOFFであると判断する(図8のS40でNO)。この場合、端末10は、T710において、Wi-FiI/F16の状態をOFFからONに移行させる(S42)。
【0088】
その後、端末10は、T720において、プリンタ100とのAuthを実行し(S50)、T730において、プリンタ100からCReqを受信する(S52)。この場合、端末10は、T732において、WFD方式のデバイス状態からG/O状態に移行させる(S54)。そして、端末10は、T736において、SSID「IDte」及びパスワード「PWte」を生成し(S54)、T738において、SSID「IDte」及びパスワード「PWte」を含むプリンタ用COを生成し、T740において、当該プリンタ用COを含むCResをプリンタ100に送信する(S56)。
【0089】
プリンタ100は、T740において、端末10からCResを受信すると、T742において、CResに含まれるプリンタ用COを記憶し、T750において、プリンタ用CO(より詳細にはSSID「IDte」及びパスワード「PWte」)を利用して、端末10とのWFD接続を確立する。これにより、端末10及びプリンタ100は、AP6を介さずに、例えば印刷対象の画像を表わすデータの通信を実行することができる。
【0090】
(本実施例の効果)
本実施例によると、端末10は、プリンタ100とのBSを実行した後であって、AReqがプリンタ100に送信される前に、AP接続を確立中であるか否かを判断する(図7のS12)。端末10は、AP接続を確立中であると判断する場合(S12でYES、図9のケースA、図10のケースB)に、AP接続を確立するためのプリンタ用COを含むCResをプリンタ100に送信する(S26、S28、図9のT520、図10のT620)。これにより、プリンタ100とAP6との間にAP接続を確立させることができる(図9のT540、図10のT640)。また、端末10は、AP接続を確立中でないと判断する場合(S12でNO、図11のケースC)に、端末10とのWFD接続を確立するためのプリンタ用COを含むCResをプリンタ100に送信し(図8のS56、図11のT740)、プリンタ100とのWFD接続を確立する(S58、T750)。このように、端末10がAP接続を確立中であるのか否かに応じて、プリンタ100と他の適切な装置(即ちAP6又は端末10)との間に無線接続を確立させることができる。
【0091】
また、端末10は、AP接続を確立中であると判断する場合に、当該AP接続がDPP接続であるのか通常Wi-Fi接続であるのかを判断する(図7のS24)。そして、端末10は、AP接続がDPP接続であると判断する場合には、プリンタ用SCを含むプリンタ用COをプリンタ100に送信し(S26)、AP接続が通常Wi-Fi接続であると判断する場合には、SSID「IDap」及びパスワード「PWap」を含むプリンタ用COをプリンタ100に送信する(S28)。このように、端末10がAP6とのDPP接続を確立中であるのかAP6との通常Wi-Fi接続を確立中であるのかに応じて、AP接続を適切に確立可能なプリンタ用COをプリンタ100に送信することができる。
【0092】
また、端末10は、AP接続を現在確立していなくても、特定のAPとのAP接続を過去に確立済みである場合には、特定のAPとのAP接続を確立するための情報(端末用SC、又は、SSID及びパスワード)を記憶している可能性がある。仮に、端末10がAP接続を確立中でない場合に、当該情報に基づいて生成されるプリンタ用COが端末10からプリンタ100に送信される比較例を想定する。比較例では、プリンタ100は、当該プリンタ用COを利用して、特定のAPとのAP接続を確立することを試みる。しかしながら、特定のAPがプリンタ100の近くに存在しない状況では、プリンタ100は、特定のAPとのAP接続を確立することができない。従って、無駄なプリンタ用COがプリンタ100に送信されることになる。また、仮に、特定のAPがプリンタ100の近くに存在する状況では、プリンタ100は、特定のAPとのAP接続を確立し得る。しかしながら、端末10が特定のAPとのAP接続を確立していないので、端末10及びプリンタ100の間で特定のAPと介して通信することはできない。従って、この場合も無駄なプリンタ用COがプリンタ100に送信されることになる。
【0093】
これに対し、本実施例では、端末10は、AP接続を確立中でないと判断する場合に、AP接続を確立するための情報を含むプリンタ用COをプリンタ100に送信せず、端末10とのWFD接続を確立するためのプリンタ用COをプリンタ100に送信する。このために、端末10及びプリンタ100の間でWFD接続が確立されるので、端末10及びプリンタ100の間でAPを介さずに通信することができる。従って、無駄なプリンタ用COがプリンタ100に送信されることを抑制することができる。特に、端末10は、過去にAP接続が確立されたAPに関する情報をプリンタ100に送信しないので、当該情報が外部に漏れることを抑制することができる。このために、当該APによって形成される無線ネットワークのセキュリティが低下することを抑制することができる。
【0094】
特に、端末10は、AP接続を確立中でないと判断する場合に、端末10がG/Oとして動作する無線ネットワークのSSID「IDte」及びパスワード「PWte」を含むプリンタ用COをプリンタ100に送信する。このために、プリンタ100は、当該無線ネットワークの子局として動作することができる。プリンタ100がG/Oとして動作する構成と比べると、プリンタ100の処理負荷を低減させることができる。
【0095】
また、端末10は、プリンタ100とのBSを実行する場合に、ユーザからWi-FiI/F16の状態を変更するための操作を受け付けることなく、Wi-FiI/F16の状態をOFFからONに自動的に移行させる(図11のT710)。これにより、端末10は、Wi-FiI/F16を介して、プリンタ100とのAuth及びConfigを含む各種通信を適切に実行することができる(T720~T740)。従って、端末10は、プリンタ100とのWFD接続を適切に確立することができる(T750)。
【0096】
また、端末10は、AP接続を確立中であると判断する場合、及び、AP接続を確立中でないと判断する場合のどちらでも、Configuratorとして動作する(図7のS20、図8のS50)。この結果、端末10とプリンタ100との間で実行されるConfigにおいて、プリンタ100がCOを生成する必要がないので、プリンタ100の処理負荷を軽減させることができる。
【0097】
(対応関係)
端末10、プリンタ100が、それぞれ、「端末装置」、「通信装置」の一例である。Wi-FiI/F16が、「無線インターフェース」の一例である。プリンタ用SCを含むプリンタ用CO、及び、SSID「IDap」及びパスワード「PWap」を含むプリンタ用COが、「第1の接続情報」の一例である。SSID「IDte」及びパスワード「PWte」を含むプリンタ用COが、「第2の接続情報」及び「接続情報」の一例である。DPP接続、通常Wi-Fi接続が、それぞれ、「第1種の無線接続」、「第2種の無線接続」の一例である。AP6によって形成される無線ネットワーク、G/Oとして動作する端末10によって形成される無線ネットワークが、それぞれ、「第1の無線ネットワーク」、「第2の無線ネットワーク」の一例である。
【0098】
図7のS10の処理、S12の処理、S24の処理が、それぞれ、「取得部」、「第1の判断部」、「第2の判断部」によって実行される処理の一例である。S20の処理及び図8のS50の処理が、「認証要求送信部」及び「認証応答受信部」によって実行される処理の一例である。S26の処理及びS28の処理が、「第1の接続情報通信部」によって実行される処理の一例である。図8のS42の処理、S56の処理、S58の処理が、それぞれ、「移行処理実行部」、「第2の接続情報通信部(又は接続情報通信部)」、「確立部」によって実行される処理の一例である。
【0099】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を列挙する。
【0100】
(変形例1)端末10及びプリンタ100のそれぞれは、Wi-Fi方式とは異なる無線方式(例えば、BT(Blue Tooth(登録商標)の略)方式、NFC(Near Field Communicationの略)方式等)に従った無線インターフェース(例えば、BTI/F、NFCI/F等)をさらに備えてもよい。この場合、プリンタ100は、図3のT100でQRコードを表示する代わりに、例えば、プリンタ100のBTI/Fを介して、公開鍵PPK1とMACアドレスとを含むDPP情報を送信してもよい。この場合、端末10は、端末10のBTI/Fを介して、DPP情報を受信することができる。また、別の変形例では、プリンタ100は、プリンタ100のNFCI/Fを介して、DPP情報を送信してもよい。この場合、端末10は、端末10のNFCI/Fを介して、DPP情報を受信することができる。一般的に言うと、「取得部」が通信装置の公開鍵を取得する手法は特定に限定されない。
【0101】
(変形例2)端末10は、AP接続を確立中でないと判断する場合に、端末10がEnrolleeのみとして動作することを示すcapabilityを含むAReqをプリンタ100に送信してもよい。この場合、端末10がEnrolleeとして動作することが決定され、プリンタ100がConfiguratorとして動作することが決定される。従って、端末10がCReqをプリンタ100に送信し、プリンタ100がG/O状態に移行する。この場合、端末10は、プリンタ100から、プリンタ100がG/Oとして動作する無線ネットワークのSSID及びパスワードを含む端末用COを含むCResを受信する。そして、端末10は、当該SSID及びパスワードを利用してプリンタ100とのWFD接続を確立し、無線ネットワークの子局として動作する。即ち、「第2の接続情報通信部(又は接続情報通信部)」は、上記の実施例のように、第2の接続情報(例えばプリンタ用CO)を通信装置に送信してもよいし、本変形例のように、通信装置から第2の接続情報(例えば端末用CO)を受信してもよい。一般的に言うと、「第2の接続情報通信部(又は接続情報通信部)」は、第2の接続情報を通信装置と通信すればよい。また、本変形例で説明したように、「第2の無線ネットワーク(又は無線ネットワーク)」では、端末装置が子局として動作し、通信装置が親局として動作してもよい。
【0102】
(変形例3)端末10は、WFD方式をサポートしていなくてもよく、いわゆるSoftAP方式をサポートしていてもよい。この場合、端末10は、AP接続を確立中でないと判断する場合に、例えば図11のT730でCReqを受信することに応じて、SoftAPとして動作してもよい。本変形例では、SoftAPが、「親局状態」の一例である。
【0103】
(変形例4)端末10は、AP接続を確立中でないと判断する場合に、アドホック方式に従った無線接続を確立するための情報を含むプリンタ用COをプリンタ100に送信してもよい。本変形例では、当該情報を含むプリンタ用COが、「第2の接続情報」の一例である。一般的に言うと、「第2の接続情報」は、端末装置と通信装置との間にアクセスポイントを介さない無線接続を確立するための情報であればよい。
【0104】
(変形例5)図7のS12の判断は、プリンタ100とのBSの前に実行されてもよいし、プリンタ100とのAuthの後に実行されてもよい。一般的に言うと、「第1の判断部」が判断を実行するタイミングは特に限定されない。
【0105】
(変形例6)端末10が、AP6との通常Wi-Fi接続を確立不可能であり、AP6とのDPP接続を確立可能であることが前提であるシステムでは、図7のS24及びS28を省略可能である。また、端末10が、AP6とのDPP接続を確立不可能であり、AP6との通常Wi-Fi接続を確立可能であることが前提であるシステムでは、図7のS24及びS26を省略可能である。本変形例では、「第2の判断部」を省略可能である。
【0106】
(変形例7)端末10のWi-FiI/F16が常にONされていることが前提であるシステムでは、図8のS40及びS42を省略可能である。本変形例では、「移行処理実行部」を省略可能である。
【0107】
(変形例8)端末10は、DPP方式をサポートしていなくてもよく、DPP方式とは異なる方式に従って、プリンタ100の公開鍵を取得し、認証要求、認証応答、接続情報等の各種通信を実行してもよい。
【0108】
(変形例9)「通信装置」は、プリンタ100でなくてもよく、スキャナ、多機能機、携帯端末、PC、サーバ等の他のデバイスであってもよい。
【0109】
(変形例10)上記の実施例では、図2図11の各処理がソフトウェア(例えばアプリ38)によって実行されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0110】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0111】
2:通信システム、6:AP、10:端末、12,112:操作部、14,114:表示部、16,116:Wi-FiI/F、18:セルラーI/F、20:カメラ、30,130:制御部、32,132:CPU、34,134:メモリ、36:OSプログラム、38:アプリケーション、100:プリンタ、118:印刷実行部、136:プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11