(57)【要約】【課題】  よりセキュア且つ容易に通信相手を登録することができる技術を提供することを目的とする。【解決手段】  復号鍵の生成に用いられる鍵情報を、情報処理装置が所定の無線通信により参照可能な記憶領域に書き込む。そして、鍵情報が記憶領域に書き込まれてからの経過時間が所定の時間を越えた場合に、登録処理が行われないように記憶領域に記憶された鍵情報に関する制御を行う。その場合に、該所定の時間を、鍵情報を書き込んだときの要因に応じて異ならせる。【選択図】  図１１
2020022025.tif 000002
【特許請求の範囲】
【請求項１】
所定の無線通信により通信を行う第１の通信部を有する通信装置と、前記所定の無線通信により通信を行う第２の通信部を有する情報処理装置を含む情報処理システムにおける情報処理方法であって、
前記通信装置が、復号鍵の生成に用いられる鍵情報を、前記情報処理装置が前記第２の通信部により参照可能な記憶領域に書き込む書き込み工程と、
前記情報処理装置が前記第２の通信部により、前記書き込み工程において前記通信装置により前記記憶領域に書き込まれた前記鍵情報を、前記第１の通信部から読み込む読み込み工程と、
前記情報処理装置が、前記読み込み工程において読み込まれた前記鍵情報に基づき復号鍵を生成し、前記生成された復号鍵に基づき所定の条件が満たされた場合に、前記通信装置を登録するための登録処理を実行する登録工程と、
前記通信装置が、前記書き込み工程において前記鍵情報が前記記憶領域に書き込まれてからの経過時間が所定の時間を越えた場合に、前記情報処理装置において前記所定の条件が満たされなくなるように、前記記憶領域に記憶された前記鍵情報に関する制御を行う制御工程と、
を有し、
前記通信装置は、第１の要因が発生した場合と、第２の要因が発生した場合に、前記書き込み工程において前記鍵情報を前記記憶領域に書き込み、
前記所定の時間は、前記鍵情報が前記第１の要因が発生したことで書き込まれた場合と前記鍵情報が前記第２の要因が発生したことで書き込まれた場合で異なることを特徴とする情報処理方法。
【請求項２】
前記第１の要因は、前記通信装置における所定のユーザ操作であることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記情報処理装置は、前記通信装置において前記所定のユーザ操作を行うことを促す表示を行う表示工程を実行することを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記第２の要因は、前記表示工程における前記表示がなく行われる、前記所定のユーザ操作とは異なる前記通信装置におけるユーザ操作であり、
前記鍵情報が前記第１の要因が発生したことで書き込まれた場合の前記所定の時間としての第１の時間よりも、前記鍵情報が前記第２の要因が発生したことで書き込まれた場合の前記所定の時間としての第２の時間の方が長いことを特徴とする請求項３に記載の情報処理方法。
【請求項５】
前記第２の要因は、所定の状態である前記通信装置の電源をオンにする操作であり、
前記通信装置は、前記通信装置が前記所定の状態でないときに前記通信装置の電源をオンにするユーザ操作が行われたとしても、前記鍵情報を前記記憶領域に書き込まないことを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記所定の状態は、前記通信装置において所定のフラグがセットされている状態であり、
前記書き込み工程において前記通信装置は、前記通信装置の電源がオンになったときに前記所定のフラグがセットされていることを条件に、前記鍵情報を前記記憶領域に書き込むことを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記制御工程において前記通信装置は、前記経過時間が前記所定の時間を越えなくても、前記登録処理の後における所定の通知が前記情報処理装置から受信された場合には、前記制御を行うことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理方法。
【請求項８】
前記書き込み工程において前記通信装置は、前記鍵情報と、前記鍵情報により生成される復号鍵に対応する暗号鍵により暗号化が行われた所定の第１の情報とを、前記記憶領域に書き込み、
前記読み込み工程において前記情報処理装置は、前記第２の通信部により、前記書き込み工程において前記通信装置により前記記憶領域に書き込まれた前記鍵情報と前記第１の情報を、前記第１の通信部から読み込み、
前記情報処理装置には、前記通信装置との通信に関わらず、前記第１の情報に対応する所定の第２の情報が予め記憶されており、
前記登録工程において前記情報処理装置は、前記鍵情報に基づいて復号鍵を生成し、生成された前記復号鍵により前記第１の情報が復号化され且つ復号化された前記第１の情報が前記第２の情報に対応する場合に、前記登録処理を行うことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理方法。
【請求項９】
前記第１の書き込み工程において前記通信装置は、前記鍵情報に基づいて暗号鍵を作成し、作成された暗号鍵により前記第１の情報を暗号化して、前記記憶領域に書き込むことを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記情報処理装置が、前記登録工程において前記登録処理が実行されたことを条件に、前記登録処理が実行される前に取得可能でなかった情報を、前記第１の通信部から取得する取得工程をさらに有することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理方法。
【請求項１１】
前記情報処理装置は、前記取得工程において取得された情報を、前記読み込み工程において読み込まれた前記鍵情報により生成された復号鍵により復号化することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記所定の無線通信は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）であることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理方法。
【請求項１３】
前記通信装置は、印刷を行うプリンタであることを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理方法。
【請求項１４】
所定の無線通信により通信を行う第１の通信部を有する通信装置と、前記所定の無線通信により通信を行う第２の通信部を有する情報処理装置を含む情報処理システムであって、
前記通信装置は、
復号鍵の生成に用いられる鍵情報を、前記情報処理装置が前記第２の通信部により参照可能な記憶領域に書き込む書き込み手段を有し、
前記情報処理装置は、
前記第２の通信部により、前記書き込み手段により前記通信装置により前記記憶領域に書き込まれた前記鍵情報を、前記第１の通信部から読み込む読み込み手段と、
前記読み込み手段により読み込まれた前記鍵情報に基づき復号鍵を生成し、前記生成された復号鍵に基づき所定の条件が満たされた場合に、前記通信装置を登録するための登録処理を実行する登録手段と、
を有し、
前記通信装置はさらに、前記書き込み手段により前記鍵情報が前記記憶領域に書き込まれてからの経過時間が所定の時間を越えた場合に、前記情報処理装置において前記所定の条件が満たされなくなるように、前記記憶領域に記憶された前記鍵情報に関する制御を行う制御手段を有し、
前記書き込み手段は、第１の要因が発生した場合と、第２の要因が発生した場合に、前記書き込み手段により前記鍵情報を前記記憶領域に書き込み、
前記所定の時間は、前記鍵情報が前記第１の要因が発生したことで書き込まれた場合と前記鍵情報が前記第２の要因が発生したことで書き込まれた場合で異なることを特徴とする情報処理システム。
【請求項１５】
所定の無線通信により、復号鍵の生成に用いられる鍵情報を他の装置の記憶領域から読み込む読み込み手段と、前記読み込み手段により読み込まれた前記鍵情報に基づき復号鍵を生成し、前記生成された復号鍵に基づき所定の条件が満たされた場合に、前記他の装置を登録するための登録処理を実行する登録手段とを有する情報処理装置と前記所定の無線通信により通信を行う通信装置であって、
前記鍵情報を、前記情報処理装置が前記所定の無線通信により参照可能な記憶領域に書き込む書き込み手段と、
前記書き込み手段により前記鍵情報が前記記憶領域に書き込まれてからの経過時間が所定の時間を越えた場合に、前記情報処理装置において前記所定の条件が満たされなくなるように、前記記憶領域に記憶された前記鍵情報に関する制御を行う制御手段と、
を有し、
前記書き込み手段は、第１の要因が発生した場合と、第２の要因が発生した場合に、前記書き込み手段により前記鍵情報を前記記憶領域に書き込み、
前記所定の時間は、前記鍵情報が前記第１の要因が発生したことで書き込まれた場合と前記鍵情報が前記第２の要因が発生したことで書き込まれた場合で異なることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の無線通信により通信を行う情報処理方法、情報処理システム、および通信装置に関する。
【背景技術】
【０００２】
近年、装置間での無線通信が普及している。また、その無線通信で種々のデータがやり取りされる前に、装置間で認証や相手装置の登録を行う技術がある。特許文献１には、一方の装置が公開鍵の送信を行い、もう一方の装置が該公開鍵により暗号化したデータを返信することで認証を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−３９０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮に、無線通信のための認証が常に可能であった場合、ユーザが意図しないタイミングで、意図しない他のユーザにより認証が行われてしまう可能性があり、即ちセキュリティーレベルが低下してしまう可能性がある。そのため、認証が可能な状態に時間的制限を設けることが考えられる。
【０００５】
しかしながら、例えばその制限時間が短い場合、無線通信による認証を行わせるユーザ操作が無効になる可能性が高まり、ユーザの利便性が低下する可能性がある一方、その制限時間が長い場合、セキュリティーレベルが低下してしまう可能性がある。
【０００６】
そこで本発明は、通信相手の装置を登録するための処理において、ユーザの利便性とセキュリティーレベルの確保とを両立させることができる情報処理方法、情報処理システム、および通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するためになされたものであり、所定の無線通信により通信を行う第１の通信部を有する通信装置と、前記所定の無線通信により通信を行う第２の通信部を有する情報処理装置を含む情報処理システムにおける情報処理方法であって、前記通信装置が、復号鍵の生成に用いられる鍵情報を、前記情報処理装置が前記第２の通信部により参照可能な記憶領域に書き込む書き込み工程と、前記情報処理装置が前記第２の通信部により、前記書き込み工程において前記通信装置により前記記憶領域に書き込まれた前記鍵情報を、前記第１の通信部から読み込む読み込み工程と、前記情報処理装置が、前記読み込み工程において読み込まれた前記鍵情報に基づき復号鍵を生成し、前記生成された復号鍵に基づき所定の条件が満たされた場合に、前記通信装置を登録するための登録処理を実行する登録工程と、前記通信装置が、前記書き込み工程において前記鍵情報が前記記憶領域に書き込まれてからの経過時間が所定の時間を越えた場合に、前記情報処理装置において前記所定の条件が満たされなくなるように、前記記憶領域に記憶された前記鍵情報に関する制御を行う制御工程と、を有し、前記通信装置は、第１の要因が発生した場合と、第２の要因が発生した場合に、前記書き込み工程において前記鍵情報を前記記憶領域に書き込み、前記所定の時間は、前記鍵情報が前記第１の要因が発生したことで書き込まれた場合と前記鍵情報が前記第２の要因が発生したことで書き込まれた場合で異なることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、通信相手の装置を登録するための処理において、ユーザの利便性とセキュリティーレベルの確保とを両立させることができる
【図面の簡単な説明】
【０００９】
【図１】本本実施形態の情報処理装置と通信装置の構成を示す図である。
【図２】本実施形態における近距離無線通信部の構成を示す図である。
【図３】本実施形態に記載のＧＡＴＴのデータ形式を示す図である。
【図４】本実施形態に記載の鍵シードを生成または読み出す処理を示す図である。
【図５】近距離無線通信部１５７に暗号化したデータを書き込む処理を示す図である。
【図６】通信装置の近距離無線通信部が備えるデータベースの構造を示す図である。
【図７】通信装置の鍵シード公開に関する状態遷移を示す図である。
【図８】情報処理装置におけるプリンタ登録処理を示す図である。
【図９】情報処理装置におけるＢＬＥ経由での情報取得を示す図である。
【図１０】初期設定時の通信装置１５１による処理を説明するための図である。
【図１１】鍵シード公開状態を保つ、タイムアウト時間を示す図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照しながら、本発明の実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に限定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
本実施形態では、所定の無線通信として、Ｂｌｕｅｔｏｏｔｈ  Ｃｏｒｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖ４．２において策定されている、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（以下、ＢＬＥ）という低消費電力の無線通信を例に説明する。ＢＬＥ規格によれば、通信機器がアドバタイジングパケットを間欠的にブロードキャストすることで自分自身の存在を周知する。他の通信機器はブロードキャスト通信されたアドバタイズパケットを受信して、受信後のタイミングでＧｅｎｅｒｉｃ  Ａｔｔｒｉｂｕｔｅ  Ｐｒｏｆｉｌｅ（以下、ＧＡＴＴ）通信処理に従いデバイス間の通信が行われる。詳細は後述する。
【００１２】
次に、本実施形態の情報処理システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートフォンを例示しているが、これに限定されず、携帯端末、ノートＰＣ、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートフォン、ノートＰＣ、タブレット端末、ＰＤＡ、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、ＦＡＸ機能、印刷機能等の複数の機能を備えるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）にも適用可能である。
【００１３】
まず、本実施形態の情報処理装置と、本実施形態の情報処理装置と通信可能な通信装置の構成について説明する。図１は、本実施形態の情報処理装置と通信装置の構成を示す図である。また、本実施形態では以下の構成を例に記載するが、本実施形態は通信装置と通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能を限定するものではない。
【００１４】
情報処理装置１０１は、本実施形態の情報処理装置である。情報処理装置１０１は、入力インタフェース１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５を有する。情報処理装置１０１はさらに、外部記憶装置１０６、出力インタフェース１０７、表示部１０８、通信部１０９、近距離無線通信部１１０、撮影装置１１１等を有する。情報処理装置１０１は、スマートフォンのようなデバイスが想定されるが、スマートフォンに限定するものではなく、ＰＣ等の種々の装置であってもよい。
【００１５】
入力インタフェース１０２は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース１０７と入力インタフェース１０２とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。
【００１６】
ＣＰＵ１０３は、システム制御部であり、情報処理装置１０１の全体を制御する。
【００１７】
ＲＯＭ１０４は、ＣＰＵ１０３が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（以下、ＯＳという。）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ１０４に格納されている各制御プログラムは、ＲＯＭ１０４に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。
【００１８】
ＲＡＭ１０５は、バックアップ電源を必要とするＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。なお、ＲＡＭ１０５は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置１０１の設定情報や情報処理装置１０１の管理データ等を格納するメモリーエリアもＲＡＭ１０５に設けられている。また、ＲＡＭ１０５は、ＣＰＵ１０３の主メモリーとワークメモリーとしても用いられる。
【００１９】
外部記憶装置１０６は、印刷実行機能を提供するアプリケーションを備えている。また、外部記憶装置１０６は、通信装置１５１が解釈可能な印刷情報を生成する印刷情報生成プログラム、通信部１０９を介して接続している通信装置１５１との間で送受信する情報送受信制御プログラム等の各種プログラムを備えている。これらのプログラムが使用する各種情報を保存している。また、通信部を介して他の情報処理装置やインターネットから得た画像データも保存している。
【００２０】
出力インタフェース１０７は、表示部１０８がデータの表示や情報処理装置１０１の状態の通知を行うための制御を行うインタフェースである。
【００２１】
表示部１０８は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などから構成され、データの表示や情報処理装置１０１の状態の通知を行う。なお、表示部１０８上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部１０８を介してユーザからの入力を受け付けても良い。
【００２２】
通信部１０９は、通信装置１５１等の装置と接続して、データ通信を実行するための構成である。例えば、通信部１０９は、通信装置１５１内のアクセスポイント（不図示）に接続可能である。通信部１０９と通信装置１５１内のアクセスポイントが接続することで、情報処理装置１０１と通信装置１５１は相互に通信可能となる。なお、通信部１０９は無線通信で通信装置１５１とダイレクトに通信しても良いし、情報処理装置１０１や通信装置１５１の外部に存在する外部アクセスポイント（アクセスポイント１３１）を介して通信しても良い。無線通信方式としては、例えば、Ｗｉ−Ｆｉ（ＷｉｒｅｌｅｓｓＦｉｄｅｌｉｔｙ）（商標登録）やＢｌｕｅｔｏｏｔｈ（商標登録）等が挙げられる。また、アクセスポイント１３１としては、例えば、無線ＬＡＮルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置１０１と通信装置１５１とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置１０１と通信装置１５１とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。
【００２３】
近距離無線通信部１１０は、通信装置１５１等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部１０９とは異なる通信方式によって通信を行う。近距離無線通信部１１０は、通信装置１５１内の近距離無線通信部１５７と接続可能である。なお、本実施形態では、近距離無線通信部１１０の通信方式として、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）が用いられる。Ｂｌｕｅｔｏｏｔｈ機器の各々の通信モジュールには、機器固有の識別情報であるＢＤ＿ＡＤＤＲ（Ｂｌｕｅｔｏｏｔｈ  Ｄｅｖｉｃｅ  Ａｄｄｒｅｓｓ）が割り当てられている。
【００２４】
撮影装置１１１は撮影素子で撮影した画像をデジタルデータに変換する装置である。デジタルデータは一度ＲＡＭ１０５に格納する。その後、ＣＰＵ１５４が実行するプログラムで所定の画像フォーマットに変換し、画像データとして外部記憶装置１０６に保存する。
【００２５】
ＲＯＭ１５２は、ＣＰＵ１５４が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。
【００２６】
通信装置１５１は、本実施形態の通信装置である。通信装置１５１は、ＲＯＭ１５２、ＲＡＭ１５３、ＣＰＵ１５４、プリントエンジン１５５、通信部１５６、近距離無線通信部１５７、入力インタフェース１５８、出力インタフェース１５９、表示部１６０、不揮発性メモリー１６１等を有する。通信装置１５１は、Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ（ＭＦＰ）のようなデバイスを想定しているが、ＭＦＰに限定するものではない。
【００２７】
通信部１５６は、通信装置１５１内部のアクセスポイントとして、情報処理装置１０１等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置１０１の通信部１０９に接続可能である。なお、通信部１５６は無線通信で情報処理装置１０１とダイレクトに通信しても良いし、アクセスポイント１３１を介して通信しても良い。通信方式としては、例えば、Ｗｉ−Ｆｉ（商標登録）やＢｌｕｅｔｏｏｔｈ等が挙げられる。また、通信部１５６は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウエアにより、アクセスポイントとして動作してもよい。
【００２８】
ＲＡＭ１５３は、バックアップ電源を必要とするＤｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）等で構成される。なお、ＲＡＭ１５３は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、ＲＡＭ１５３は、ＣＰＵ１５４の主メモリーとワークメモリーとしても用いられ、情報処理装置１０１等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
【００２９】
ＲＯＭ１５２は、ＣＰＵ１５４が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。本実施形態では、ＲＯＭ１５２に格納されている各制御プログラムは、ＲＯＭ１５２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウエア実行制御を行う。また、通信装置１５１の設定情報や通信装置１５１の管理データ等の電源供給がされていない場合も保持する必要があるデータを格納するメモリーエリアもＲＯＭ１５２に設けられている。
【００３０】
ＣＰＵ１５４は、システム制御部であり、通信装置１５１の全体を制御する。
【００３１】
プリントエンジン１５５、ＲＡＭ１５３に保存された情報や情報処理装置１０１等から受信した印刷ジョブに基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置１０１等から送信される印刷ジョブは、送信データ量が大きく、高速な通信が求められるため、近距離無線通信部１５７よりも高速に通信可能な通信部１５６を介して受信する。
【００３２】
入力インタフェース１５８は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース１５９と入力インタフェース１５８とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。出力インタフェース１５９は、表示部１６０がデータの表示や通信装置１５１の状態の通知を行うための制御を行うインタフェースである。
【００３３】
表示部１６０は、ＬＥＤやＬＣＤなどから構成され、データの表示や通信装置１５１の状態の通知を行う。なお、表示部１６０上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部１６０を介してユーザからの入力を受け付けても良い。
不揮発性メモリー１６１は、Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＥＥＰＲＯＭ）、フラッシュメモリ−等のデバイスから構成される。不揮発性メモリー１６１は主に、通信装置１５１の電源が供給されない時も保持する必要がある、通信装置１５１の設定値等のデータを保存する目的で使用する。
【００３４】
図２は、近距離無線通信部１５７の詳細を示す図である。近距離無線通信部１５７は、情報処理装置１０１等の装置と近距離で無線接続するための構成である。本実施形態では、近距離無線通信部１５７の通信方式として、ＢＬＥが用いられる。近距離無線通信部１５７とＣＰＵ１５４は、Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（Ｉ２Ｃ）等のバスインタフェースを介して通信を行う。また、近距離無線通信部１５７内には、ＣＰＵ２０１と記憶領域２０２とＲＯＭ２０３とＲＡＭ２０４を備えている。記憶領域２０２は、ＣＰＵ１５４からアクセス可能である。また、近距離無線通信部１１０を介して情報処理装置１０１からもアクセス可能である。ＲＡＭ２０４は、バックアップ電源を必要とするＤＲＡＭ等で構成される。なお、ＲＡＭ２０４は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、ＲＡＭ２０４は、ＣＰＵ２０１の主メモリーとワークメモリーとしても用いられる。ＲＯＭ２０３は、ＣＰＵ２０１が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。
【００３５】
なお、通信装置１５１には、外付けＨＤＤやＳＤカード等のメモリーがオプション機器として装着されてもよく、通信装置１５１に保存される情報は、当該メモリーに保存されても良い。
【００３６】
ここでは、例として情報処理装置１０１と通信装置１５１との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。
【００３７】
ここで、ＢＬＥ規格におけるＧｅｎｅｒｉｃ  Ａｔｔｒｉｂｕｔｅ  Ｐｒｏｆｉｌｅ（ＧＡＴＴ）通信の概要について説明する。
【００３８】
ＧＡＴＴにおいては、データの転送元と転送先に基づいてＧＡＴＴクライアント、ＧＡＴＴサーバーの２つのロールを定義されている。ＧＡＴＴクライアントは、ＧＡＴＴサーバーにリクエストを送信し、ＧＡＴＴサーバーからの応答を受信する。本実施形態では、情報処理装置１０１がＧＡＴＴクライアントとなる。ＧＡＴＴサーバーは、ＧＡＴＴクライアントからの要求を受信すると、応答を返す。本実施形態では、通信装置１５１がＧＡＴＴサーバーとなる。またＧＡＴＴサーバーは、データまたは状態情報を格納するデバイスである。一方、ＧＡＴＴクライアントは、ＧＡＴＴサーバーに対して、データのリード・ライトを実行することが出来る。
【００３９】
次に、ＧＡＴＴのデータ形式について説明する。ＧＡＴＴのデータは、サービス、キャラクタリスティック、ディスクリプタと呼ばれる３つの要素から構成される。これら３つの要素の関係を図３に示す。ただし、ディスクリプタは存在していなくてもかまわない。
【００４０】
サービス、キャラクタリスティック、ディスクリプタは３２桁のＵｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ（ＵＵＩＤ）で識別することができる。ただし、Ｂｌｕｅｔｏｏｔｈ  ＳＩＧ  の標準で定義されているものについては  ４桁で表現される。
【００４１】
ここで言う、ＵＵＩＤとは、ソフトウエア上でオブジェクトを一意に識別するための識別子として使用されるものである。ＵＵＩＤは１２８ビットの数値だが、通常は１６進数で「５５０ｅ８４００−ｅ２９ｂ−４１ｄ４−ａ７１６−４４６６５５４４００００」のように表現する。
【００４２】
キャラクタリスティックは、キャラクタリスティック毎に単一の値を持つ。ディスクリプタは、キャラクタリスティックに付加情報が必要な際に用いられる属性値を持つ。サービス、キャラクタリスティック、ディスクリプタは、それぞれ、ＧＡＴＴクライアントに対する、リード・ライトの属性やセキュリティーの属性を設定することが出来る。
【００４３】
ＧＡＴＴクライアントは、サービス、キャラクタリスティックそれぞれのＵＵＩＤを指定することで、キャラクタリスティック毎に持っている値に対して、リード・ライトを実行することが出来る。ただし、リード・ライトが実行できるかは、各サービス、キャラクタリスティックに設定されている、リード・ライト属性に従う。
【００４４】
図４、図５、図６、図７、図８、図９、図１０、図１１を用いて、本実施形態に係る処理の説明を行う。以下、通信装置１５１による処理は、ＣＰＵ１５４がＲＯＭ１５２等の記憶領域に記憶されているプログラムをＲＡＭ１５３において実行することで実現される。一方、情報処理装置１０１による処理は、ＣＰＵ１０３がＲＯＭ１０４等の記憶領域に記憶されているプログラム（例えばアプリケーションプログラム）をＲＡＭ１０５において実行することで実現される。
【００４５】
通信装置１５１が鍵シードを生成する、もしくは既存の鍵シードを読み出す処理について、図４のフローチャートを用いて説明する。
【００４６】
ここで、鍵シードとは暗号鍵に関する鍵情報であり、暗号鍵を生成するために利用する値のことである。また、暗号鍵とは暗号化を施す際に用いられる値であって、本実施形態では、暗号鍵は鍵シードを用いて算出される。この鍵シードから暗号鍵を算出するアルゴリズムは、本実施形態ではハッシュ関数を用いる。ハッシュ関数とは入力に対して出力が一意となる関数であり、出力の重複が少なくなるよう設計されている関数である。ただし、暗号鍵を算出するアルゴリズムはハッシュ関数に限定されるわけではなく、入力と出力が一意に定まるどのようなアルゴリズムを用いても構わない。
【００４７】
また、本実施形態においては鍵シードと無効値が区別可能なように制御を行い、鍵シードを生成する。具体的には鍵シードの値が０であれば無効値として扱い、鍵シードを生成する際には、無効値を生成しないように制御される。
【００４８】
Ｓ４０１で、通信装置１５１は、通信装置１５１内の不揮発性メモリー１６１に鍵シードが保存されているかどうかを確認する。Ｓ４０１では、ＣＰＵ１５４が不揮発性メモリー１６１に設けられた鍵シードのための領域から情報を読み出す処理を実行し、その情報が無効値であるか否かを判定することで、鍵シードが保存されているかどうか判定される。
【００４９】
なお、図４に示す処理が開始されるタイミング、即ちＳ４０１において鍵シードが保存されているかを確認するタイミングは、本実施形態では通信装置１５１の起動時である。ただし、それ以外のタイミングで図４に示す処理が開始されてもかまわない。
【００５０】
Ｓ４０１で鍵シードが保存されていないと判定された場合は、鍵シードを生成する必要があるとして、Ｓ４０２において通信装置１５１は、鍵シードを生成する処理を実行する。鍵シードは、生成する毎に同じ値を生成しても、ランダムな値を生成してもかまわないが、無効値は生成されないように制御される。またＳ４０２において通信装置１５１は、生成された鍵シードを不揮発性メモリー１６１に保存する。なお、Ｓ４０１で鍵シードが保存されていると判定された場合でも、ユーザが鍵シードの再生成を指示した場合は、通信装置１５１は、鍵シードの生成を実行する。
【００５１】
次に、図４で説明したように不揮発性メモリー１６１に保存された鍵シードを通信装置１５１が利用する例について説明する。具体的には、通信装置１５１は、鍵シードを用いて暗号鍵を生成し、その暗号鍵を用いてＲＡＭ１５３または不揮発性メモリー１６１に保存されている設定値を暗号化した上で、近距離無線通信部１５７に書き込む。この処理の詳細について、図５のフローチャート、図６を用いて説明する。
【００５２】
図６は、本実施形態における、通信装置１５１の近距離無線通信部１５７がＧＡＴＴサーバーとして備えるデータベースの構造を示す。図５を用いて後述する処理により、図６に示すデータベースに暗号化された情報が書き込まれる。図６において、ベンダーの独自サービス名Ｏｒｉｇｉｎａｌ（Ｓｅｒｖｉｃｅ  ＵＵＩＤ：００００００００−００００−１０００−１０００−００４０５ｆ９ｂ３４ｆｂ）には５つのキャラクタリスティックが設けられている。各々に対しＲｅａｄ或いはＷｒｉｔｅ属性及び保存するデータに対する暗号化の有無が定められている。図中の「Ｒｅａｄ」が「○」でかつ「暗号化」部分が「○」で示されている各キャラクタリスティックに関しては、後述する鍵シード６０３にて提供される鍵シードの値より算出される暗号鍵により暗号化が施された後に保存される。
【００５３】
次に近距離無線通信部１５７が備える各キャラクタリスティックの一部の内容について詳細に説明する。ＳＳＩＤ６０１、パスワード６０２のキャラクタリスティックには通信装置１５１の通信部１５６をアクセスポイントとしてダイレクトに接続が可能となるＳＳＩＤとパスワードが暗号化された状態で保存される。また本実施形態の固有名称６０４のキャラクタリスティックには固有名称である“ｐｒｉｎｔｅｒ”という文字列が暗号化された状態で保存される。これらの暗号化された情報は機密性の高い情報として扱われる。図６で説明される近距離無線通信部１５７がＧＡＴＴサーバーとして備えるデータベースは本実施形態における一例であって、任意の項目を追加することが可能であり、これに限定されるものではない。
【００５４】
Ｓ５０１で、通信装置１５１は、近距離無線通信部１５７のキャラクタリスティックを更新するタイミングであるか判定する。近距離無線通信部１５７のキャラクタリスティックを更新するタイミングとは、例えば、通信装置１５１内のＲＡＭ１５３または不揮発性メモリー１６１に保存されている設定値が更新される場合のことである。また、通信装置１５１の起動時に近距離無線通信部１５７のキャラクタリスティックを初期化する場合や設定値に因らないキャラクタリスティックの値を更新する場合、また鍵シードが初期化された場合も含まれる。
【００５５】
Ｓ５０１においてキャラクタリスティックを更新するタイミングであると判定されると、該更新が必要であるとして、処理がＳ５０２に進む。Ｓ５０２で通信装置１５１は、Ｓ４０２においてＲＡＭ１５３や不揮発性メモリー１６１に保存された鍵シード値を読み出す。Ｓ５０３で通信装置１５１は、Ｓ５０２で読みだされた鍵シードを利用して暗号鍵を生成する。暗号鍵とは暗号化アルゴリズムを用いて情報に暗号化を施す際に用いる値である。
【００５６】
本実施形態で用いる暗号化アルゴリズムは、情報に対して暗号化を施す際に用いる暗号鍵と、復号化を実施する際に用いる復号鍵が同一である共通鍵暗号化方式である。本実施形態では暗号化アルゴリズムとして、共通鍵暗号化方式の一種であるＡｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）を用いるが、これに限定されるものではなく、その他の暗号化アルゴリズムを用いても良い。
【００５７】
Ｓ５０４で通信装置１５１は、Ｓ５０３で生成された暗号鍵を用いて、ＲＡＭ１５３または不揮発性メモリー１６１に保存されている情報（通信装置１５１の設定値）を読み出し、これを暗号化する。本実施形態では、情報処理装置１０１が通信装置１５１の通信部１０９とダイレクトに通信するためのＳＳＩＤ及びパスワードを、ＲＡＭ１５３または不揮発性メモリー１６１から読み出す設定値とするが、これに限定されるものではない。
【００５８】
Ｓ５０５で、Ｓ５０４で暗号化された情報（設定値）を近距離無線通信部１５７のキャラクタリスティックへ書き込む。また、暗号化する必要のない値に関してはこのタイミングでＲＡＭ１５３や不揮発性メモリー１６１から読み出し、暗号化を施さずに近距離無線通信部１５７のキャラクタリスティックに書き込んでも良い。本実施形態においてネットワーク設定値が更新された場合は、ＳＳＩＤ６０１、パスワード６０２をＳ５０４で暗号化を施した上でキャラクタリスティックに書き込む。もちろんこの組み合わせに限定するものではなく、任意の値に暗号化を施し、もしくは暗号化を施さずにキャラクタリスティックに書き込むことも可能である。
【００５９】
また、Ｓ５０１において、鍵シードが初期化されたことが判定された場合には、Ｓ５０２の処理及びＳ５０３の処理により、初期化された鍵シードにより暗号鍵を生成する。その後、通信装置１５１は、図６において「Ｒｅａｄ」が「○」でかつ「暗号化」部分が「○」で示される各キャラクタリスティックに保存される全ての値をＲＡＭ１５３または不揮発性メモリー１６１から読み出す。そして、通信装置１５１は、読み出された値についてＳ５０４において暗号化を実施した上で、Ｓ５０５においてキャラクタリスティックに書き込む。
【００６０】
次に、通信装置１５１による鍵シードの公開について説明する。図８を用いて後述するように、本実施形態では、鍵シードの公開および暗号化された情報の送受信により、ＢＬＥのＧＡＴＴ通信のためのペアリング（通信相手の登録処理）が実行される。そこで図７のフローチャートを用いて、通信装置１５１における、鍵シード公開状態の処理について説明する。
【００６１】
なお、本実施形態では、通信装置１５１が鍵シード公開状態へ遷移する要因として、入力インタフェース１５８を介したユーザによる特定のキー操作がある。このキー操作を行うことにより、通信装置１５１の状態が鍵シード公開状態へ移行する。本実施形態では、鍵シード非公開状態とは、鍵シードの値が無効値になっている状態を示し、鍵シード公開状態とは、鍵シードの値が有効値となっている状態を示すものとする。
【００６２】
ユーザにより特定のキー操作が行われると、Ｓ７０１の処理が実行される。Ｓ７０１において通信装置１５１は、図６に示したデータベースにおける、鍵シードの値を格納する所定のＧＡＴＴキャラクタリスティックである鍵シード６０３に対して、Ｓ４０２において作成された鍵シードの値を書き込む。鍵シード６０３は、情報処理装置１０１が、ＢＬＥ通信により参照可能である。
【００６３】
Ｓ７０２、Ｓ７０４で通信装置１５１は、鍵シード公開状態の所定の終了条件が満たされたか判定する。鍵シードの公開状態は、該終了条件が満たされるまで継続される。Ｓ７０２における終了条件は、例えば情報処理装置１０１とのＧＡＴＴ通信による、情報処理装置１０１からの、通信装置１５１が登録された旨の通知である。例えば、図８のＳ８１０について後述する、完了通知である。この通知が受信されると、Ｓ７０２では、上記終了条件が満たされたと判定される。一方、Ｓ７０４における判定で用いられる終了条件はタイムアウトである。即ち、Ｓ７０１における鍵シードの書き込みから所定時間経過した場合（タイムアウトとなった場合）、Ｓ７０４においては終了条件が満たされたと判定される。即ち、Ｓ７０２において、通信装置１５１が登録された旨の通知を情報処理装置１０１から受信したと判定された場合、もしくは、Ｓ７０４においてタイムアウトとなったと判定された場合に、鍵シード公開状態の終了条件が満たされたと判定される。終了条件が満たされるまでＳ７０２、Ｓ７０４の処理を繰り返す。なお、Ｓ７０１においてユーザ操作に応じて鍵シードが公開された場合のＳ７０４における判定のためのタイムアウト時間は、後述する図１１において、初期設定時に鍵シードが公開された場合のタイムアウト時間より短く設定されている。詳細は図１１を用いて説明する。
【００６４】
Ｓ７０２またはＳ７０４で終了条件が満たされたと判定されると、Ｓ７０３で通信装置１５１は、鍵シード６０３が示す鍵シードの値を無効値に書き換える。Ｓ７０３における処理により、通信装置１５１の状態が鍵シード非公開状態に遷移し、図７に示す処理が終了する。
【００６５】
なお、Ｓ７０３における鍵シード非公開状態への遷移は、図６に示すＧＡＴＴデータベース上で鍵シードが格納されているキャラクタリスティックを読み取り不可能な状態にすることによっても行うことができる。この場合でも本実施形態の効果を得ることが可能となる。このように制御が行われることで、装置に対して特定の操作を行える正当な利用者以外は、鍵シードを読み取れないようにすることができる。
【００６６】
次に、情報処理装置１０１によるペアリング処理（通信相手の登録処理）について説明する。図８のフローチャートを用いて、情報処理装置１０１のアプリケーションにおける通信装置１５１としてのプリンタの登録処理について説明する。なお、図８に示すプリンタ登録処理は、アプリケーションにより表示部１０８に表示された特定のキーに対する、入力インタフェース１０２を介したユーザの指示が入力された場合に開始される。また、図８に示す処理は、情報処理装置１０１において該アプリケーションが実行されることで実現される。
【００６７】
アプリケーションにおいてプリンタ登録処理が開始されると、Ｓ８０１で近距離無線通信部１１０は、周囲のプリンタからのＢＬＥアドバタイズ及びスキャンレスポンスによりアドバタイズ情報を受信する。
【００６８】
その後、Ｓ８０２において情報処理装置１０１は、Ｓ８０１で受信したアドバタイズ情報により、アプリケーションが対応可能であり且つ登録済みでないプリンタを確認する。そして、該プリンタが新規登録可能なプリンタであることを示すプリンタ情報を、表示部１０８に表示する。なお、Ｓ８０２でアドバタイズ情報により新規登録可能なプリンタが複数見つかった場合には、複数のプリンタに対応する複数のプリンタ情報を表示し、ユーザに登録するプリンタを選択させる（不図示）。
【００６９】
次にＳ８０３において情報処理装置１０１は、ユーザにより選択されたプリンタ情報に対応するプリンタに対し、近距離無線通信部１１０を通じて接続要求を行い、ＢＬＥ接続を行う。なお、この段階ではペアリング済みであることが必要なＧＡＴＴ通信は行われない。ＢＬＥ接続が完了すると、Ｓ８０４において情報処理装置１０１は、通信装置１５１の鍵シード６０３に格納されている所定のキャラクタリスティックの値を読み込む。
【００７０】
その後、Ｓ８０５において情報処理装置１０１は、通信装置１５１が鍵シード公開状態であるかどうかを判断する。具体的には、Ｓ８０５において情報処理装置１０１は、Ｓ８０４で読み込んだ鍵シード６０３の値が無効値である場合や読み取れない場合に、通信装置１５１が鍵シード非公開状態と判断する。
【００７１】
Ｓ８０５において通信装置１５１が鍵シード非公開状態であると判断されると、処理はＳ８０６に進む。Ｓ８０６において情報処理装置１０１は、所定時間待機する。なお、Ｓ８０６において情報処理装置１０１は、情報処理装置１０１の表示部１０８などにより、通信装置１５１を鍵シード公開状態に移行するように促す表示を行ってもよい。
【００７２】
情報処理装置１０１は、Ｓ８０６における所定時間の待機後に、Ｓ８０４、Ｓ８０５の処理を繰り返すことにより通信装置１５１が鍵シード公開状態になるのを待つ。Ｓ８０６における待機が所定回数繰り返されても、あるいはＳ８０６における待機時間より長い所定時間経過しても、通信装置１５１が鍵シード公開状態にならない場合、図８に示す処理が終了する（不図示）。あるいは、ユーザによるキャンセル指示などを受けた場合、図８に示す処理が終了する（不図示）。
【００７３】
Ｓ８０５において、通信装置１５１が鍵シード公開状態であると判断されると、Ｓ８０７において情報処理装置１０１は、Ｓ８０４において読み込んだ鍵シード６０３を元に復号鍵を生成する。
【００７４】
図６で説明した通信装置１５１のＧＡＴＴデータベースには固有名称６０４のキャラクタリスティックには“ｐｒｉｎｔｅｒ”という固有名称文字列が暗号化された状態で保存され、読み取り可能な状態となっている。Ｓ８０８で情報処理装置１０１は、ペアリングが不要なＧＡＴＴ通信により、暗号化された固有名称６０４を読み込み、Ｓ８０７で生成した復号鍵により復号化を行う。
【００７５】
なお、図８に示す処理を実行するための上記のアプリケーションは、図６で説明したキャラクタリスティックに関する構成、固有名称６０４の復号化後の固有値、及び完了通知６０５への書き込み値を、通信装置１５１との通信に関わらず、予め記憶している。例えば、該アプリケーションのプログラムが情報処理装置１０１にインストールされたときに、情報処理装置１０１に記憶される。上記のキャラクタリスティックに関する構成、固有名称６０４の復号化後の固有値、及び完了通知６０５への書き込み値は、通信装置１５１であるプリンタが備えるベンダー独自サービスに関するものである。そのため、例えば通信装置１５１とアプリケーションを同一ベンダーが提供している場合、これらの構成、値が定められている。
【００７６】
Ｓ８０９で情報処理装置１０１は、Ｓ８０９において復号化した固有名称情報と、情報処理装置１０１に予め記憶してある固有名称情報“ｐｒｉｎｔｅｒ”とを比較し、両者が一致した場合、復号鍵が正常値であると判断する。
【００７７】
Ｓ８０９において復号鍵が正常値であると判断されると、Ｓ８１０において情報処理装置１０１は、Ｓ８０２において選択されたプリンタのＢＤ＿ＡＤＤＲなどの識別子と鍵シードを紐付けて記憶することにより、登録処理を行う。更に完了通知６０５のキャラクタリスティックに対して、登録が完了したことを示す“ｒｅｇｉｓｔｅｒｅｄ”という特定の文字列を上記共通鍵方式で暗号化を行い、ＧＡＴＴ通信を用いて値を書き込み、図８に示す処理を終了する。一方、Ｓ８０９において復号鍵が正常値でないと判断された場合には、情報処理装置１０１は、プリンタを登録せずに、図８に示す処理を終了する。
【００７８】
通信装置１５１は、Ｓ８１０において情報処理装置１０１により完了通知６０５として書き込まれた値を復号化する。そして、その復号化された値が予め定められた値である場合、当該完了通知６０５としての書き込みが、図４において指定した鍵シードを用いて暗号化が行われた上で行われた書き込みであることを確認する。この確認により、通信装置１５１においても、情報処理装置１０１において登録処理が正常に完了したことを確認することが可能となる。
【００７９】
次に、図９のフローチャートを用いて、情報処理装置１０１のアプリケーションにおける、通信装置１５１としてのプリンタからＢＬＥ経由で情報を取得する処理について詳細に説明する。ここでは前提として、図８に示す処理が行われ、情報処理装置１０１にプリンタが登録されているとする。即ち、Ｓ８０３のように情報処理装置１０１と通信装置１５１はＢＬＥ接続済の状態でありかつ、Ｓ８１０の処理により通信装置１５１は情報処理装置１０１のアプリケーションに登録済みの状態であるものとする。また、図９に示す処理についても、情報処理装置１０１が、図８に示す処理を実行する際に使用したアプリケーションを実行することにより実現される。
【００８０】
Ｓ９０１において情報処理装置１０１は、通信装置１５１としてのプリンタに対して、近距離無線通信部１１０を通じて情報取得要求を行う。ここで取得要求を行う情報は、図６で示される情報のうち、「暗号化」に「○」が付いているＳＳＩＤ、パスワードのような情報であり、Ｓ５０４における通信装置１５１における処理により暗号化されている情報である。なお、情報処理装置１０１のアプリケーションは、Ｓ８１０の処理により通信装置１５１が情報処理装置１０１に登録済みの状態であることを条件に、ＳＳＩＤやパスワード等の取得要求を行う。即ち、Ｓ８１０の処理が行われる前は取得可能でなかった情報が、該処理により取得可能となる。
【００８１】
Ｓ９０２において情報処理装置１０１は、Ｓ８０４における処理により通信装置１５１から取得した鍵シードから、暗号化された情報を復号化するための復号鍵を生成する。復号鍵を生成する処理は、Ｓ５０３とＳ８０７と同様の処理である。なお、本実施形態では共通鍵暗号化方式を用いるため、暗号鍵の算出処理と復号鍵の算出処理が同様となるが、その他の暗号化方式を用いる場合には必ずしも暗号鍵の算出処理と同様となるものではない。
【００８２】
Ｓ９０３において情報処理装置１０１は、Ｓ９０１にて取得した情報を、Ｓ９０２で生成した復号鍵を用いて、復号化を行う。この復号化処理により、情報処理装置１０１のアプリケーションは、通信装置１５１としてのプリンタから暗号化された情報を取得し、取得した通信装置１５１の情報を活用することが可能となる。例えば情報処理装置１０１がアクセスポイント１３１のＳＳＩＤ、パスワードの情報を事前に記憶している場合、通信装置１５１に通知することで、通信装置１５１の操作をすることなくアクセスポイント１３１と接続する構成をとることが可能となる。
【００８３】
以上の実施形態によれば、図８に示したように、ＢＬＥのペアリング（通信相手の登録処理）を行う際に、暗号化された情報の通信によりペアリングを行うことができる。また、本実施形態によれば、ユーザは情報処理装置１０１（スマートフォン等）と、通信装置１５１（プリンタ等）とに対するキーの押下により、ペアリングが自動で実行される。そのため、例えば通信装置１５１に表示されたＰＩＮコードをユーザが情報処理装置１０１に入力するペアリング方法などと比べて、容易にペアリングを実行させることができる。即ち、本実施形態における処理によれば、セキュアな通信により容易にペアリングを実行させることができる。
【００８４】
また、本実施形態によれば、図９に示したようなペアリング後の、暗号化、復号化が行われるセキュア通信と同様に、情報の暗号化、情報の送受信、情報の復号化を情報処理装置１０１、通信装置１５１で行うことで、ペアリングが行われる。そのため、上記のＰＩＮコードを表示、入力する方法のように、ペアリング後の通信とは異なる特別な処理を行わなくても、ペアリング後のセキュア通信と同様の処理により、ペアリングを実現することができる。
【００８５】
次に、通信装置１５１における初期設定時の動作について説明する。本実施形態では、通信装置１５１において鍵シードが公開される要因として、図７に示したように、ユーザ操作（例えば通信装置１５１に設けられた特定のキーの押下）がある。また本実施形態では、通信装置１５１において鍵シードが公開される別の要因として、通信装置１５１の電源オン時の初期設定がある。初期設定とは、通信装置１５１（例えばプリンタ）の電源が初めて投入された場合に行われる設定である。初期設定には、通信装置１５１とＰＣ、スマートフォン等の装置（例えば情報処理装置１０１）を無線ＬＡＮ等で接続するためのネットワーク設定を含む。そのネットワーク設定のために、初期設定において公開された鍵シードにより情報処理装置１０１が自動的に通信装置１５１と、図８に示した処理によりＢＬＥによるペアリングを行う。ペアリングが完了すると、情報処理装置１０１と通信装置１５１の間で、ＧＡＴＴ通信によりネットワーク設定（無線ＬＡＮ設定等）のための情報が通信され、その通信により、情報処理装置１０１と通信装置１５１が自動的に無線ＬＡＮ等で接続される。
【００８６】
本実施形態におけるネットワーク設定は種々のものであってよい。例えば通信装置１５１がアクセスポイントとして動作するときの、該アクセスポイントのＳＳＩＤ６０１、パスワード６０２を、情報処理装置１０１がペアリング後のＧＡＴＴ通信により受信してもよい。そして、情報処理装置１０１が受信したＳＳＩＤ６０１、パスワード６０２を用いてアクセスポイントと接続することで、情報処理装置１０１、通信装置１５１がダイレクトに無線ＬＡＮで接続されてもよい。ネットワーク設定の別の方法として、例えば情報処理装置１０１が接続されている外部のアクセスポイント（例えばアクセスポイント１３１）のＳＳＩＤ、パスワードを、情報処理装置１０１がペアリング後のＧＡＴＴ通信により通信装置１５１に送信してもよい。そして、通信装置１５１が、受信したＳＳＩＤ、パスワードにより、自動的にアクセスポイントに接続することで、情報処理装置１０１、通信装置１５１が、共通のアクセスポイントに接続される。これにより、情報処理装置１０１と通信装置１５１が自動的に無線ＬＡＮで接続されてもよい。この場合、通信装置１５１がアクセスポイントを検索し、その検索結果として複数のＳＳＩＤがＧＡＴＴ通信により情報処理装置１０１に通知されてもよい。そして、情報処理装置１０１が、受信した複数のＳＳＩＤのうち、自身が接続されているアクセスポイントのＳＳＩＤを通信装置１５１にＧＡＴＴ通信により送信してもよい。これにより、通信装置１５１と情報処理装置１０１が共に接続可能なアクセスポイントにより確実に両者を接続させることができる。
【００８７】
次に、図１０を用いて初期設定時の通信装置１５１による処理を詳細に説明する。通信装置１５１の初期設定時においては、個人情報、利用履歴など、流出してはならない機密性の高い情報は、ＧＡＴＴデータベースに保持していない。ユーザが機器を利用していくにつれ、機密性の高い情報が機器に蓄えられ、ＧＡＴＴデータベースにＳ５０５で説明した通り、暗号化した状態で情報を保存し、共通の暗号鍵を保持する外部機器から読み込みが可能となる。ここでいう初期設定時とは、例えば機器購入後に初めて利用を開始する場合や、機密性の高い情報を全てクリアした状態を示す。通信装置１５１の不揮発性メモリー１６１には初期設定状態であるかどうかを示す、初期設定フラグが記憶されており、特に通信装置１５１の販売時や、機密性の高い情報が全てクリアされた状態ではフラグがセットされた状態で記憶されている。
【００８８】
図１０のフローチャートは、通信装置１５１に電源が投入された、立ち上げ時の処理を示している。Ｓ１００１で通信装置１５１は、不揮発性メモリー１６１に記憶されている初期設定フラグを確認し、初期設定状態であるかどうかを判断する。初期設定状態でないと判断された場合は図１０に示す処理が終了する。
【００８９】
初期設定状態であると判断された場合は、Ｓ１００２において通信装置１５１は、鍵シード公開状態を継続する、タイムアウト時間を１時間に設定する。このタイムアウト時間については後述する。Ｓ１００３において通信装置１５１は、Ｓ７０１での説明と同様に鍵シード６０３に有効値を書き込み鍵シード公開状態に移行する。
【００９０】
Ｓ１００４、Ｓ１００５では、前述の図７のＳ７０２、Ｓ７０４における鍵シード公開の終了条件の判定処理と同様の判定処理を示している。Ｓ１００４において通信装置１５１は、図８のＳ８１０で説明したプリンタ登録処理が終わり、完了通知を受け取ったか否かの判定を行う。登録完了通知を受けていない場合は、Ｓ１００５において通信装置１５１は、Ｓ１００３において鍵シードが公開されてからの経過時間が、タイムアウト時間を超すかを確認する。終了条件が満たされるまでＳ１００４、Ｓ１００５の処理を繰り返す。
【００９１】
Ｓ１００４において登録完了通知を受けた場合は、Ｓ１００６において通信装置１５１は、図７のＳ７０３と同様に鍵シード非公開状態に移行する。続いてＳ１００７において通信装置１５１は、暗号鍵が生成された情報処理装置１０１と、ＧＡＴＴ通信により、ネットワーク設定のための暗号化された情報を通信する。ネットワーク設定のための情報は、例えば上述のように、情報処理装置１０１が接続されているアクセスポイント１３１のＳＳＩＤ、パスワード等である。通信装置１５１は、その受信した情報を復号化して利用することにより、アクセスポイント１３１を経由した情報処理装置１０１とのネットワーク接続を確立する。
【００９２】
一方、Ｓ１００４において登録完了が通知されないままＳ１００５においてタイムアウト時間が満了したと判定された場合、Ｓ１００９において通信装置１５１は、Ｓ７０３およびＳ１００６と同様に、鍵シード非公開の状態に遷移する。
【００９３】
Ｓ１００７においてネットワーク設定が完了した場合、もしくはＳ１００９において鍵シード非公開状態に遷移した場合、Ｓ１００８において通信装置１５１は、初期状態フラグを落とし、初期設定状態を解除して、図１０に示す処理を終了する。なお、初期設定としてネットワーク設定以外の設定項目があり、且つそれが未完了の場合、Ｓ１００８においてその設定項目の設定が実行されてもよい。
【００９４】
図１０に示した処理により、通信装置１５１の初期設定状態において、ユーザは、通信装置１５１の電源ＯＮを指示した後、通信装置１５１を操作せずに、情報処理装置１０１を操作することで、通信装置１５１にネットワーク設定を行わせることが可能となる。
【００９５】
図１１は、鍵シード公開状態を保つ、タイムアウト時間を示している。図７で説明したように、ユーザが特定のキーを操作することにより通信装置１５１が鍵シード公開状態に移行する場合は、Ｓ７０４において、鍵シード公開状態の終了判定のためのタイムアウト時間として、１０秒間が設定される。この特定のキー操作が発生するタイミングは、図８のＳ８０５で説明したように、情報処理装置１０１において、通信装置１５１を鍵シード公開状態へ移行させることを促す表示が行われた場合が想定される。即ち、情報処理装置１０１による該表示を見たユーザが、通信装置１５１において上記特定のキーの操作を行うことが想定される。例えば、通信装置１５１が既に他の情報処理装置１０１とＢＬＥ接続がされた状態で、新たに別の情報処理装置１０１とＢＬＥ接続を行う場合に、上記のような特定のキーの操作が行われる。
【００９６】
一方、図１０で説明したような、通信装置１５１が初期設定状態であるときに電源がオンされた場合、Ｓ１００５において、鍵シード公開状態のタイムアウト時間が１時間に設定される。例えば、通信装置１５１としてのプリンタにおける初期設定処理では、Ｓ１００７におけるネットワーク設定処理と同時に、インクタンクの充填処理や印刷媒体の設定処理などのメンテナンス処理が実行される。そのため、Ｓ１００５における判定のためのタイムアウト時間を比較的長い時間に設定される。即ち、インクタンクや印刷媒体に関する処理に時間を要したとしても、情報処理装置１０１を通して通信装置１５１のネットワーク設定処理が実施可能な構成となっている。このように、本実施形態では、ユーザ操作時よりも初期設定時の方が比較的長い時間に設定されている。具体的なタイムアウト時間は、図１１に示す時間に限られない。
【００９７】
このように、鍵シードの公開時間にタイムアウト制限を設けることにより、不用意な鍵シードの公開を避けることが可能となりセキュリティーを向上させることができる。また、通信装置の利用状況に応じて鍵シード公開状態のタイムアウト時間を変更させることにより、セキュリティーを確保しつつ利便性の高い機器を提供することができる。例えば、図７について説明したユーザの特定のキー操作では、ユーザに対してキー操作が通知されており、且つユーザが明示的にＢＬＥのペアリングを指示している。そのため、鍵シード公開状態のタイムアウト時間として比較的短い時間でも十分であり、またその短い時間によりセキュリティーを確保することができる。一方、図１０について説明した、初期設定については、通信装置１５１の最初の電源オンに伴い、自動的に鍵シードが公開されている。さらに、インクタンクや印刷媒体等の設定操作をユーザが行う必要がある。そのため、鍵シード公開状態のタイムアウト時間として比較的長い時間が設定されることで、ユーザによるＢＬＥペアリングの機会を確保することができる。
【００９８】
なお、本実施形態において、図７のＳ７０３、図１０のＳ１００６、Ｓ１００９において通信装置１５１は、自身に記憶された鍵シードを非公開にするための制御として、鍵シードに無効値を書き込んでいた。しかし、情報処理装置１０１により登録処理が行われないようにするための、通信装置１５１に記憶された鍵シードに関する制御はこれに限らない。例えば、鍵シードを削除する制御が行われてもよいし、鍵シードが記憶される記憶領域へのアクセスを禁止する制御が行われてもよい。これらの制御によっても、情報処理装置１０１において、鍵シードを用いた復号鍵の生成や、その復号鍵による復号が行えなくなる。そのため、情報処理装置１０１において登録処理を行う条件が満たされなくなり、登録処理が行われることを防ぐことができる。
【００９９】
なお、本実施形態では、ＢＬＥ通信を使用して情報処理装置１０１が通信装置１５１から暗号化された情報を取得する処理について記載している。しかし、情報処理装置１０１が通信装置１５１から暗号化された情報を取得する通信方式はＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等のＢＬＥ以外の近距離無線通信を利用しても本実施形態の効果を得ることができる。
【０１００】
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０１０１】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【０１０２】
１０３  ＣＰＵ
１０４  ＲＯＭ
１０５  ＲＡＭ
１５２  ＲＯＭ
１５３  ＲＡＭ
１５４  ＣＰＵ
【図１】
2020022025.tif 000003
【図２】
2020022025.tif 000004
【図３】
2020022025.tif 000005
【図４】
2020022025.tif 000006
【図５】
2020022025.tif 000007
【図６】
2020022025.tif 000008
【図７】
2020022025.tif 000009
【図８】
2020022025.tif 000010
【図９】
2020022025.tif 000011
【図１０】
2020022025.tif 000012
【図１１】
2020022025.tif 000013