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