(57)【要約】      （修正有）【課題】デジタルテレビと、操作端末、店舗用端末とをそれぞれセキュリティを担保しながら、連携して情報処理を実行可能とする。【解決手段】アプリ情報読取部は、被操作部を操作可能なアプリケーションの識別情報を取得し、操作アプリ実行部は、識別情報と対応するアプリケーションを実行する。機器情報管理部は、被操作部との間で認証情報を用いた認証を行い、認証が成功した場合に認証情報を保存する。トークン管理部は被操作部ごとに発行され、被操作部の操作を許可する証明書を保存する。トークン生成部は、機器情報管理部により認証が成功した場合に、トークン配信部に認証済みの被操作部に対応する証明書の生成を依頼し、生成された証明書をトークン管理部に証明書を保存させる。送信部は、実行されたアプリケーションから要求される機器操作命令と、機器情報管理部から取得した認証情報と、トークン管理部から取得した証明書とを被操作部へと送信する。【選択図】図２
2015036935.tif 000002
【特許請求の範囲】
【請求項１】
被操作部を操作可能なアプリケーションの識別情報を取得するアプリ情報読取部と、
前記識別情報と対応する前記アプリケーションを実行する操作アプリ実行部と、
前記被操作部との間で認証情報を用いた認証を行い、認証が成功した場合に前記認証情報を保存する機器情報管理部と、
前記被操作部ごとに発行され、前記被操作部の操作を許可することを表す証明書を保存するトークン管理部と、
前記機器情報管理部により認証が成功している場合に、トークン配信部に認証済みの前記被操作部に対応する証明書の生成を依頼し、生成された証明書を受け付け、前記トークン管理部に前記証明書を保存させるトークン生成部と、
実行された前記アプリケーションから要求される機器操作命令と、前記機器情報管理部から取得した前記認証情報と、前記トークン管理部から取得した前記証明書とを前記被操作部へと送信する送信部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記アプリ情報読取部が取得した前記識別情報に対応する前記アプリケーションをネットワークを介して取得し、前記操作アプリ実行部へと渡す操作アプリ取得部を
さらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリ情報読取部が、前記識別情報を取得した端末を特定する端末情報を、取得した前記識別情報と対応付けて保存する端末情報管理部と、
を更に備え、
前記操作アプリ実行部は、前記端末情報管理部から、前記識別情報と対応する前記端末情報を取得し、前記端末に対して、前記証明書を送信する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記トークン生成部は、前記端末情報管理部から取得した前記端末情報に基づき、前記端末に対して前記証明書の生成を許可するか否かの情報を問い合わせ、許可されている場合に前記証明書の生成を行う
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
被操作部を操作可能なアプリケーションの識別情報を取得するアプリ情報読取ステップと、
前記識別情報と対応する前記アプリケーションを実行する操作アプリ実行ステップと、
前記被操作部との間で認証情報を用いた認証を行い、認証が成功した場合に前記認証情報を保存する認証ステップと、
前記認証ステップにおいて認証が成功している場合に、トークン配信部に、認証済みの前記被操作部に対応し、前記被操作部の操作を許可することを表す証明書の生成を依頼し、生成された証明書を受け付け、前記証明書を保存させるトークン生成ステップと、
実行された前記アプリケーションから要求される機器操作命令と、保存した前記認証情報と、保存した前記証明書とを前記被操作部へと送信する送信ステップと、
を備えることを特徴とする情報処理方法。
【請求項６】
コンピュータに、
被操作部を操作可能なアプリケーションの識別情報を取得するアプリ情報読取ステップと、
前記識別情報と対応する前記アプリケーションを実行する操作アプリ実行ステップと、
前記被操作部との間で認証情報を用いた認証を行い、認証が成功した場合に前記認証情報を保存する認証ステップと、
前記認証ステップにおいて認証が成功している場合に、トークン配信部に認証済みの前記被操作部に対応し、前記被操作部の操作を許可することを表す証明書の生成を依頼し、生成された証明書を受け付け、前記証明書を保存させるトークン生成ステップと、
実行された前記アプリケーションから要求される機器操作命令と、保存した前記認証情報と、保存した前記証明書とを前記被操作部へと送信する送信ステップと、
を実行させるためのプログラム。
【請求項７】
操作対象となる被操作部と、前記被操作部を操作する操作部と、前記被操作部ごとに発行され、前記被操作部の操作を許可することを示す証明書を生成するトークン配信部と、前記操作部が実行するアプリケーションの識別情報を提供するアプリ情報提供部と、を備える情報処理システムであって、
前記操作部は、
前記被操作部を操作可能な前記アプリケーションの識別情報を前記アプリ情報提供部から取得するアプリ情報読取部と、
前記識別情報と対応する前記アプリケーションを実行する操作アプリ実行部と、
前記被操作部との間で認証情報を用いた認証を行い、認証が成功した場合に認証情報を保存する機器情報管理部と、
前記トークン配信部から取得した前記証明書を保存するトークン管理部と、
前記機器情報管理部により認証が成功している場合に、前記トークン配信部に認証済みの前記被操作部に対応する証明書の生成を依頼し、生成された証明書を受け付け、前記トークン管理部に前記証明書を保存させるトークン生成部と、
実行された前記アプリケーションから要求される機器操作命令と、前記機器情報管理部から取得した前記認証情報と、前記トークン管理部から取得した前記証明書とを前記被操作部へと送信する命令送信部と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法、情報処理システム、プログラムに関する。
【背景技術】
【０００２】
現在、タブレットやスマートフォン等の操作端末からネットワークを介してデジタルテレビ等の操作対象装置を制御する技術が一般的に普及しつつある。一方で、そのような遠隔制御は一般的にデジタルテレビ等の操作対象装置のユーザが持つ端末からの制御からのみ許可されるが、店舗などに置かれるＰＯＳ端末や情報端末などの店舗端末からデジタルテレビ等の操作対象装置を操作するニーズが存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４６３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、上述のように店舗用端末から、操作端末を介して操作対象装置を操作するための解決策は未だ提供されていない。特にこうした連携の際には操作対象装置を勝手に操作されることを防止するといったセキュリティ面も考慮する必要がある。
【０００５】
本発明の実施形態は、上記に鑑みてなされたものであって、操作対象装置と、操作端末、店舗用端末とをそれぞれセキュリティを担保しながら、連携して情報処理を実行可能とする情報処理装置、情報処理システム、情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の実施形態の情報処理装置は、アプリ情報読取部と、操作アプリ実行部と、機器情報管理部と、トークン管理部と、トークン生成部と、送信部とを備える。
【０００７】
アプリ情報読取部は、被操作部を操作可能なアプリケーションの識別情報を取得する。操作アプリ実行部は、前記アプリ情報読取部が読み取った前記識別情報と対応する前記アプリケーションを実行する。機器情報管理部は、前記被操作部との間で認証情報を用いた認証を行い、認証が成功した場合に認証情報を保存する。トークン管理部は前記被操作部ごとに発行され、前記被操作部の操作を許可するこを示す証明書を保存する。
【０００８】
トークン生成部は、前記機器情報管理部により認証が成功している場合に、トークン配信部に認証済みの前記被操作部に対応する証明書の生成を依頼し、生成された証明書を受け付け、前記トークン管理部に前記証明書を保存させる。送信部は、実行された前記アプリケーションから要求される機器操作命令と、前記機器情報管理部から取得した前記認証情報と、前記トークン管理部から取得した前記証明書とを前記被操作部へと送信する。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態の情報処理システムの全体構成を示すブロック図。
【図２】実施形態の情報処理システムの詳細な全体構成を示すブロック図。
【図３】実施形態のトークン提供部から返されるトークンのデータ構造図。
【図４】実施形態のアプリケーションの識別子に対応する付加情報の表。
【図５】実施形態の識別子情報と被操作部毎の秘密鍵、公開鍵の対応関係の表。
【図６】実施形態の被操作部の認証時の処理の流れを示すフロー図。
【図７】実施形態の被操作部を操作するためのトークンを生成する際のフロー図。
【図８】実施形態のトークン認証と被操作部の操作の処理の流れを示すフロー図。
【図９】実施形態の別例の情報処理システムの全体構成を示すブロック図。
【図１０】実施形態の別例のトークンを生成する際のフロー図。
【図１１】実施形態の別例のトークン認証と被操作部の操作の処理のフロー図。
【図１２】実施形態の情報処理システムの詳細な全体構成を示すブロック図。
【図１３】実施形態のアプリ情報提供部の識別子情報を保存する際の形式の表。
【図１４】実施形態のトークンを生成する際のフロー図。
【図１５】実施形態の情報処理システムの詳細な全体構成を示すブロック図。
【図１６】実施形態のトークンを生成する際のフロー図。
【図１７】実施形態の操作部のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
以下、第１の実施形態の情報操作装置の詳細を図面を参照して説明する。図１はシステム全体の概略を示したブロック図である。図１に示されるように、情報処理システムは、被操作部１００と操作部２００、アプリ情報提供部４００、トークン配信部３００を備えている。被操作部１００は操作部２００を介してアプリ情報提供部４００から制御されるデバイスである。被操作部１００は例えば家庭内に存在するデジタルテレビなどの据え置き型デバイスである。操作部２００はアプリ情報提供部４００からの指示によって被操作部１００を制御するデバイスである。操作部２００は例えばタブレット端末やスマートフォンなどのポータブルデバイスである。アプリ情報提供部４００は操作部２００を介して被操作部１００を制御する装置（端末）である。アプリ情報提供部４００は例えばＰＯＳ端末やキオスク端末などの事業者が管理する端末である。トークン配信部３００はインターネット上のサーバなどである。各部はインターネット等のネットワークや、赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＮＦＣなどの近距離無線などで接続されて相互に通信が可能である。なお、各部を接続する通信方式は、相互に通信が可能であればよく、通信方式は問わない。
【００１１】
まず、アプリ情報提供部４００は操作部２００に対して、操作部２００で実行するアプリの識別情報を送信する。ここでいうアプリとはＨＴＭＬなどのＷｅｂ技術を用いて記述されたアプリケーションでも良いし、機械語にコンパイルされたネイティブアプリケーションでも良い。また、アプリの識別情報はアプリケーションを一意に識別できる情報であればよく、例えば操作部２００に格納されたアプリの実行ファイル名、Ｗｅｂ技術を用いて記述されたアプリケーションではＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などでよい。
【００１２】
操作部２００はアプリ情報提供部４００から指示されたアプリ識別の情報に対応するアプリケーションを実行する。また、操作部２００はそのアプリに記述された内容に従い、被操作部１００を操作する。例えば被操作部１００に対して、録画予約命令を出しても良いし、アプリケーションの実行命令を送信しても良い。その際には、操作部２００は機器操作命令とともにアプリごと、被操作部１００ごとに発行されるトークンと呼ばれる被操作機器の操作を許可することを表す証明書と被操作部固有のパスワードであるＰＩＮ（Ｐｅｒｓｏｎａｌ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｎｕｍｂｅｒ）をあわせて被操作部１００に対して送信する。ＰＩＮが認証情報に相当する。また、操作部２００はトークン配信部３００からトークンを取得する機能や、操作部２００の操作者に入力させたＰＩＮを使ってあらかじめ被操作部１００との認証を行う。これにより、認証が完了しているかどうかを判断できる。
【００１３】
被操作部１００は機器操作命令とトークン、ＰＩＮを受け取り、トークンとＰＩＮが正しい場合にのみ機器操作命令を実行する。被操作部１００はトークンの正当性を検証するためにトークン配信部３００から被操作部１００固有のトークンの公開鍵を取得し、トークンの署名を検証する。さらに被操作部１００は受け取ったＰＩＮが自分自身に設定されたＰＩＮと一致するかを検証する。トークンを検証することで機器操作命令が自分自身を操作する権限を持ったアプリケーションから操作されていることが確認できるほか、ＰＩＮが正しければ操作部２００の操作者が正しいＰＩＮを入力したことが確認できるので、ＰＩＮを検証することで操作部２００の操作者が被操作部１００に対する操作を許可していることを確認できる。
【００１４】
トークン配信部３００は操作部２００からのトークンの発行要求に従い、トークンを発行する機能を持つ。トークンは偽造を防ぐために被操作部１００ごとに用意される鍵（秘密鍵）で署名される。また、トークンの正当性を検証するために被操作部１００に対してトークンを署名した秘密鍵に対応する公開鍵を送信する。
【００１５】
機器操作命令が含まれるアプリケーションをアプリ情報提供部４００の指示により操作部２００で実行し、被操作部１００に対して機器操作命令を送信することで、アプリ情報提供部４００は被操作部１００を間接的に操作することができる。その際にはトークンとＰＩＮにより、不正な機器操作を防ぐことが可能となる。
【００１６】
図２は第１の実施形態の情報処理システムの詳細な全体構成を示すブロック図である。図２に示されるように、被操作部１００は機器情報提供部１０１、トークン検証部１０２、操作命令受信部１０３、及び被操作アプリ実行部１０４を備えている。機器情報提供部１０１は、操作部２００との間で、認証を行う。トークン検証部１０２は、機器操作命令とともに渡されるトークンを検証する。操作命令受信部１０３は、操作部２００からの機器操作命令を受信する。被操作アプリ実行部１０４は、アプリを実行する。
【００１７】
機器情報提供部１０１は操作部２００の機器情報管理部２０１からの要求に従い、認証を行う。機器情報提供部１０１が行う認証は機器情報管理部２０１から渡されたＰＩＮが正しいかどうかの認証を行う。ＰＩＮが正しいかどうか判定するための認証方法としては、機器情報提供部１０１がランダムに生成したチャレンジを操作部２００に送り、機器情報管理部２０１が受け取ったチャレンジと、ユーザが入力したＰＩＮ情報からレスポンスを生成して返す、チャレンジアンドレスポンスなどの既知の方式を使えばよい。認証が成功した場合には、機器情報提供部１０１は正常終了したことを機器情報管理部２０１へと返答する。一方、認証が失敗した場合には機器情報提供部１０１は異常終了したことを機器情報管理部２０１へと返答する。
【００１８】
トークン検証部１０２は操作部２００より渡されたトークンが正しいかどうかを判定する。トークン検証部１０２はトークン配信部３００の鍵管理部３０１に被操作部１００の識別子を渡して、対応するトークン生成時の公開鍵を取得する。さらにトークン検証部１０２はその公開鍵を用いて、トークンが対応する秘密鍵で正しく署名されているかどうかを確認する。正しく署名されていれば、署名チェックが成功したことを返す。一方で改ざん等の異常が検出されればエラーを返す。なお、トークン検証部１０２は、検証の都度、トークン配信部３００より公開鍵を取得するのではなく、取得した公開鍵を保存しておくようにしてもよい。
【００１９】
操作命令受信部１０３は被操作部１００が持つ機能を操作する機器操作命令を受信して実行する。ここで言う操作命令としては被操作機器を操作するための命令であり、例えば被操作機器がデジタルテレビの場合、アプリケーションの起動、チャンネルの変更、視聴予約、録画予約などである。その際に、被操作部１００を操作するためのトークンとＰＩＮを操作元から受信して、機器情報提供部１０１、及びトークン検証部１０２がトークンとＰＩＮが正しいと判定した場合にのみ、機器操作命令を実行する。特に、操作命令がアプリケーション起動命令の場合には、操作命令受信部１０３は被操作アプリ実行部１０４に対して起動するアプリケーションの識別子を渡してアプリの実行を要求する。
【００２０】
被操作アプリ実行部１０４は、操作命令受信部１０３からアプリの識別子を受け取り、アプリケーションを実行する。ここでいうアプリケーションとは例えば広告の表示、アンケートの表示などを行うアプリケーションであり、ＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）などのＷｅｂ技術で書かれたアプリケーションでも良いし、Ｊａｖａ（登録商標）言語などの中間言語にコンパイルされたアプリケーションでも良いし、Ｃ言語などから機械語にコンパイルされたネイティブアプリケーションでも良い。被操作アプリ実行部１０４は操作命令受信部１０３からアプリ識別子を受け取ると、対応するアプリケーションを決定し、アプリケーションを起動する。
【００２１】
続いて操作部２００について説明する。操作部２００は機器情報管理部２０１、操作命令送信部２０２、トークン管理部２０３、トークン生成部２０４、操作アプリ実行部２０５、及びアプリ情報読取部２０６を備えている。機器情報管理部２０１は、被操作部１００との間でＰＩＮによる認証を実行する。トークン管理部２０３は、トークンの生成要求送信・保存とトークンの送信を行う。トークン生成部２０４は、被操作部１００との認証が完了している場合にのみ認証済みの、被操作部１００に対応するトークンの生成を依頼し、生成されたトークンを受け付ける。操作アプリ実行部２０５は、被操作部１００を操作するアプリケーションを実行する。アプリ情報読取部２０６は、アプリ情報をアプリ情報提供部４００から読み取る。操作命令送信部２０２は、機器操作命令を送信する。
【００２２】
機器情報管理部２０１は被操作部１００との間で認証を行う。このために機器情報管理部２０１はＰＩＮ情報のユーザによる入力を受け付け、入力されたＰＩＮを保存する。機器情報管理部２０１は認証を行う際には、機器情報提供部１０１に対して認証要求を送信し、入力したＰＩＮ情報に基づき認証を行う。認証が成功した場合には、被操作部１００の識別子と結びつけてＰＩＮ情報を保存する。被操作部１００の識別子としては被操作部１００のＭＡＣアドレスなど一意に被操作部１００を識別できる情報を用いればよい。また、機器情報管理部２０１は被操作部１００との認証が完了しているかどうかの問い合わせに対して返答する。問い合わせに対して、認証が完了している場合には機器情報管理部２０１は認証が完了している被操作部１００の識別情報を返す。ここでいう識別情報とは識別子情報や認証に成功したＰＩＮ情報のことである。一方、認証が完了していない場合には機器情報管理部２０１は完了していないとの情報を返す。
【００２３】
トークン管理部２０３は操作アプリ実行部２０５からのトークンの生成要求を受け取り、トークンを生成して保存する。トークンを生成する際には、トークン生成部２０４に対してトークンを生成する対象のアプリケーションの識別子とともにトークン生成要求を出す。そして、トークンが生成されたと判定された場合、トークン管理部２０３は、トークンをトークン生成部２０４から受け取って保存する。また、トークン生成部２０４からトークン生成が拒否された場合にはトークン管理部２０３は操作アプリ実行部２０５に対してトークン生成が拒否されたことを示す情報を返す。またトークンの取得要求に基づき、トークン管理部２０３は保存したトークンを渡す。トークンはアプリケーション毎に生成され、操作アプリ実行部２０５からトークンの取得要求があった際にはそのアプリケーションのトークンを渡す。対応するアプリケーションのトークンが存在しない場合にはエラーを返す。
【００２４】
トークン生成部２０４はトークンを生成する対象のアプリケーションの識別子とともにトークンの生成要求を受信し、トークンの生成を行うかどうかを判定する。この際の判定方法としては、機器情報管理部２０１に被操作部１００との認証が完了しているかどうかを問い合わせ、認証が完了している場合には認証が完了している機器の識別子を受け取り、トークン配信部３００のトークン提供部３０２に対して被操作部１００およびアプリケーションの識別子を送信してトークン生成要求を送信する。トークン生成部２０４はトークンの生成が成功した場合には呼び出し元に対してトークンを返す。一方、トークン生成部２０４はトークン提供部３０２からトークンの生成が拒否された場合には呼び出し元のトークン管理部２０３に対してエラーを返す。また、トークン生成部２０４は認証が完了していない場合にも呼び出し元に対してトークンエラーを返す。
【００２５】
アプリ情報読取部２０６は、アプリ情報提供部４００からアプリの識別情報を読み取る。この際には、ＷｉＦｉ等のネットワークを経由しても良いし、ＱＲコード（登録商標）や赤外線を用いても良いし、ＮＦＣ（Near  Field  Communication）などの近接無線を利用しても良い。アプリ情報読取部２０６はアプリ情報を読み取る際にユーザからの実行確認入力を受け取り、ユーザが許可した場合に限りアプリ情報を読み取る。さらに、アプリ情報読取部２０６はアプリ情報読み取り後、操作アプリ実行部２０５に対して読み取ったアプリ情報に対応するアプリの起動を要求する。
【００２６】
操作アプリ実行部２０５はアプリ起動要求を受け取り、アプリを実行する。操作アプリ実行部２０５はアプリケーションの記述内容により、トークン管理部２０３に対してトークンの生成やトークンの取得を要求する。さらに、操作アプリ実行部２０５は操作命令送信部２０２に対して操作命令とトークン管理部２０３から取得したトークンを送り、被操作部１００に対して操作命令送信を依頼する。
【００２７】
操作命令送信部２０２は操作アプリ実行部２０５からの要求に従い、被操作部１００の操作命令受信部１０３に対して、機器操作命令を送信する。その際に操作部２００の操作アプリ実行部２０５からトークンを受け取り、被操作部１００に対して送信する。その際には機器情報管理部２０１に被操作部１００の識別子の情報を渡して対応するＰＩＮ情報を取得して情報を付加して送信する。
【００２８】
続いて、アプリ情報提供部４００は操作部２００に対して起動したいアプリケーション情報を提示するアプリ情報部４０１を備える。アプリ情報部４０１は、アプリ情報読取部２０６に対して操作部２００で起動したいアプリケーションの識別子の情報を提示する。このアプリケーションとしては例えば、被操作部１００で広告表示アプリを起動するアプリケーションや被操作部１００でアンケートアプリを起動するアプリケーションが考えられる。
【００２９】
トークン配信部３００は公開鍵方式でトークンを生成するための秘密鍵および対応する公開鍵を保持する鍵管理部３０１と、トークン生成要求を受け付けてトークン生成を行うトークン提供部３０２と、を備える。トークンの署名用鍵は被操作部１００毎に用意される。
【００３０】
トークン提供部３０２はトークン生成部２０４から、トークンの生成要求をトークン生成対象となるアプリケーションの識別子、操作対象となる被操作部１００の識別子情報、操作部２００の識別子情報を受け取り、さらにアプリケーションの識別子に対応する付加情報を図４に示す表から取得して、それらに署名して図３のような構造を持つトークンとして返す。すなわち、トークン提供部３０２はアプリケーション識別子とアプリケーションの付加情報を紐付ける図４に示す表を管理する。図３での付加情報はパーミッション情報であるが、そのほかにも例えばアプリケーションのバージョン情報などがあっても良い。トークンに署名をするために、トークン提供部３０２は被操作部１００の識別子情報を鍵管理部３０１に渡して対応する秘密鍵を取得する。さらに、トークン提供部３０２はこの秘密鍵を用いて署名を行う。署名のアルゴリズムについてはＲＳＡ方式など広く知られた公開鍵方式による方法を使えばよい。
【００３１】
鍵管理部３０１は図５に示すような被操作部１００の識別子情報と被操作部１００毎の秘密鍵、公開鍵のリストを持つ。鍵管理部３０１はトークン検証部１０２や機器情報提供部１０１から公開鍵を取得したい被操作部１００の識別子情報を受け取り、図５の表から対応する公開鍵を返す。例えば識別子情報として被操作部１００の識別子２を受け取った場合には公開鍵２を返す。また、鍵管理部３０１はトークン提供部３０２から秘密鍵を取得したい被操作部１００の識別子情報を受け取り、図５の表から対応する秘密鍵を返す。例えば識別子情報として被操作部１００の識別子１を受け取った場合には秘密鍵１を返す。
【００３２】
次に図６のフローチャートに示される被操作部１００との認証時のフローについて述べる。まず、機器情報管理部２０１はＰＩＮの入力をユーザに要求し、ＰＩＮの入力が行われる（ステップＳ１０１）。ついで、機器情報管理部２０１は機器情報提供部１０１に対して認証を要求し、機器情報提供部１０１と機器情報管理部２０１は入力されたＰＩＮにより認証を行う（ステップＳ１０２）。機器情報提供部１０１は認証が成功したか失敗したかの情報を機器情報管理部２０１へと返し、機器情報管理部２０１は認証が成功したかどうかをその情報から判定する（ステップＳ１０３）。認証が成功したと判定された場合（ステップＳ１０３：Ｙｅｓ）、入力されたＰＩＮコードを被操作部１００の識別子とともに保存し（ステップＳ１０４）、認証を終了する。一方、認証が失敗したと判定された場合（ステップＳ１０３：Ｎｏ）、認証エラーとなる（ステップＳ１０５）。この場合には、入力されたＰＩＮは保存しない。
【００３３】
続いて図７を参照し、アプリ情報を読み取り、被操作部１００を操作するためのトークンを生成する際のフローについて述べる。例えば、この処理は店舗での決済時にアプリ情報の読み取りを行う際に行われる。まず、アプリ情報提供部４００の操作者の明示的なアプリ起動要求などによりアプリ情報部４０１はアプリ情報を例えば端末の画面上などに提示する（ステップＳ２０１）。続いて、操作部２００の操作者の明示的なアプリ起動要求などにより、アプリ情報読取部２０６を起動する（ステップＳ２０２）。もしくは、アプリ情報読取部２０６は操作部２００の起動時に自動的に起動して、操作部２００の起動中は常に起動しておいても良い。さらにアプリ情報読取部２０６はユーザがアプリの読み取りを許可したかどうかを判定する（ステップＳ２０３）。判定方法としては、例えば明示的にダイアログ画面をユーザに提示して許可、拒否を選択させれば良い。なお、ユーザがアプリ情報読取部２０６を明示的に起動する場合にはその行動をもって同意したと見なせるため、ステップＳ２０３の処理は必須ではない。
【００３４】
アプリ情報読み取りが拒否された場合（ステップＳ２０３：Ｎｏ）、異常終了とする。一方、アプリ情報読み取りが許可された場合（ステップＳ２０３：Ｙｅｓ）、アプリ情報読取部２０６はアプリ情報を読み取る（ステップＳ２０４）。この際には、ＷｉＦｉ等のネットワークを経由しても良いし、ＱＲコード（登録商標）や赤外線を用いても良いし、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などの近接無線を利用しても良い。
【００３５】
さらに、アプリ情報読取部２０６は、操作アプリ実行部２０５に対して読み取ったアプリ情報を渡して、アプリ起動を要求する（ステップＳ２０５）。対応するアプリを起動後、操作アプリ実行部２０５はトークン管理部２０３にアプリ識別子を渡してトークン生成を要求し、さらにトークン管理部２０３はトークン生成部２０４に対してアプリ識別子を渡してトークン生成を要求する。トークン生成部２０４は、図６のシーケンスで既に認証（ペアリング）が完了しているかどうかをＰＩＮおよび被操作部１００の識別子が保存されているかどうかで判断する（ステップＳ２０６）。ペアリングが完了していた場合（ステップＳ２０６：Ｙｅｓ）、トークン生成部２０４はトークン提供部３０２に対してアプリ識別子、操作対象機器（被操作部１００）の識別子、操作部２００の識別子を渡してトークン生成要求を出す（ステップＳ２０７）。ペアリングが完了していなかった場合（ステップＳ２０６：Ｎｏ）には異常終了する。
【００３６】
さらに、ペアリングが完了されていた場合にはトークン提供部３０２は鍵管理部３０１から被操作部１００に対応する秘密鍵を取得してトークン生成部２０４から受け取ったデータに対して署名を行い、トークンとしてトークン生成部２０４に返す。この際にトークン提供部３０２は被操作部１００の識別子に対応する鍵が存在しないなど異常が発生した場合には、エラー情報を返す。トークン生成部２０４はトークン管理部２０３にトークン提供部３０２から受信したデータを渡し、トークン管理部２０３はトークンが正常に生成されたかどうかを判定する（ステップＳ２０８）。正常に生成された場合（ステップＳ２０８：Ｙｅｓ）、トークン管理部２０３はトークンを不揮発領域に保存して（ステップＳ２０９）正常終了とする。一方、トークンが生成されなかった場合（ステップＳ２０８：Ｎｏ）には異常終了とする。
【００３７】
続いて図８に示す被操作機器の操作時のフローについて述べる。操作アプリ実行部２０５は被操作部１００を検知する（ステップＳ３０１）と、トークン管理部２０３に被操作部１００の識別子を渡して図７で保存したトークンを取得する（ステップＳ３０２）。さらに、操作アプリ実行部２０５は操作命令送信部２０２に取得したトークンと機器操作命令を渡し、操作命令送信部２０２は機器情報管理部２０１に被操作部１００の識別子を渡して対応するＰＩＮコードを取得する（ステップＳ３０３）。
【００３８】
操作命令送信部２０２は、さらにトークンと、取得したＰＩＮコード、機器操作命令を操作命令受信部１０３に対して送信する（ステップＳ３０４）。この通信経路としては、有線ＬＡＮ、無線ＬＡＮ、赤外線、近接無線など一般に知られた方法を用いればよい。操作命令受信部１０３は、トークン検証部１０２に対して受信したトークンを渡し、トークン検証部１０２は機器情報提供部１０１を介して鍵管理部３０１から被操作部１００の識別子に対応する公開鍵を取得して、トークンに含まれる署名情報を検証するとともにＰＩＮコードが正しいかどうかを判定する（ステップＳ３０５）。正しいと判定された場合（ステップＳ３０５：Ｙｅｓ）、操作命令受信部１０３は、渡された機器操作命令を被操作アプリ実行部１０４に渡して実行し（ステップＳ３０６）、正しくなければ（ステップＳ３０５：Ｎｏ）、機器操作命令は実行せずに異常終了する。
【００３９】
以上に示した本実施形態によれば、アプリ情報提供部４００から被操作部１００でアプリケーションを起動できるなど、操作部２００を介して間接的に操作することができるようになる。これによって例えば、店舗での決済時に、ユーザの帰宅後に被操作部１００であるデジタルテレビに対して広告や商品に関するアンケートを表示するプログラムを起動させるようにすることや、特典映像を表示するプログラムを起動させるようにすることが可能となる。すなわち、被操作部１００を操作部２００からセキュアに制御するだけではなく、操作部２００を介する形でアプリ情報提供部４００から被操作部１００を制御することができる。また、この場合携帯電話に商品の支払情報や検索情報を蓄積、携帯電話から支払や検索情報をデジタルテレビに送信、デジタルテレビでは支払・検索情報を用いてユーザの嗜好を判断し、嗜好に合った広告を優先的に表示するだけではなく、直接支払いを行う端末から任意の処理を実行することも可能となる。
【００４０】
（変形例１）
図２の構成では、被操作部１００で動くアプリケーションは被操作部１００に、操作部２００で動くアプリケーションは操作部２００にあらかじめ導入しておくことを前提としていた。近年のアプリケーションでは、アプリケーションの起動要求があった際にネットワークを介して自動的にダウンロードされ実行されるアプリケーションの形式も広く普及しつつある。例えば、ＨＴＭＬやＪａｖａＳｃｒｉｐｔといったＷｅｂの技術を利用して作成するＷｅｂアプリケーションではこの形式が一般的である。図９の構成では、アプリケーションの起動要求があった際に、動的にアプリケーションのダウンロードを行い、実行することが可能となる。以降、図９の情報処理システムの構成について述べる。
【００４１】
図９では、図２の構成と、アプリ配信部５００とその内部にアプリ提供部５０１を備えることと、操作部２００が操作アプリ取得部２０７を備えること、操作アプリ実行部２０５ａの内部処理、被操作部１００がアプリ取得部１０５を備えることおよび被操作アプリ実行部１０４ａの内部動作が異なる。
【００４２】
アプリ提供部５０１はアプリケーションを識別する情報（アプリ情報）を受け取り、対応するアプリケーションデータを操作アプリ取得部２０７へと返す。例えばＷｅｂアプリケーションの場合にはアプリ情報はＵＲＬで指定されればよい。またアプリケーションデータとは、例えばＷｅｂアプリケーションであれば、ＨＴＭＬやＪａｖａＳｃｒｉｐｔ、動画像ファイルといった一連のデータであり、通常のネイティブアプリケーションであれば実行ファイルである。操作部２００とアプリ配信部５００がインターネットなど何らかのネットワークで接続されていれば、アプリ配信部５００は遠隔地に存在しても良い。
【００４３】
操作アプリ取得部２０７はアプリ情報を受け取り、アプリ配信部５００からアプリ情報が指し示すアプリケーションデータを取得する。例えばＷｅｂアプリケーションであれば、ＨＴＴＰ、ＦＴＰといったプロトコルでアプリケーションデータを取得する。
【００４４】
操作アプリ実行部２０５ａは図２の機能に加えてアプリケーションの起動要求があった場合に、操作アプリ取得部２０７に対してアプリ情報を渡して、アプリケーションデータの取得を要求する。アプリケーションデータの取得が完了すると、そのアプリケーションの実行を開始する。
【００４５】
また、操作アプリ取得部２０７はアプリ情報を受け取り、アプリ配信部５００からアプリ情報が指し示すアプリケーションデータを取得する。被操作アプリ実行部１０４ａは図２の構成における機能に加えて、操作命令受信部１０３から受信した命令がアプリ起動命令の場合に、アプリ提供部５０１にアプリ情報を渡してアプリケーションデータをダウンロードして、実行する。操作アプリ取得部２０７はアプリ配信部５００から取得したアプリケーションデータを操作部２００の非図示の不揮発領域にキャッシュするようにして、二度目以降のアプリケーション起動を高速化しても良い。
【００４６】
続いて、図１０を用いて図９の構成におけるアプリ情報読み取り時のフローについて述べる。図１０は図７と点線枠部分のＳ２１０のフローが異なる。その部分について説明する。アプリ情報読取部２０６によるアプリ情報読み取り後、アプリ情報読取部２０６から操作アプリ実行部２０５ａにアプリ情報が渡され、操作アプリ実行部２０５ａは操作アプリ取得部２０７に対してアプリ情報を渡し、操作アプリ取得部２０７はアプリ提供部５０１にアプリ情報を渡してアプリケーションデータを取得する（ステップＳ２１０）。その後、アプリケーションの実行を開始する。
【００４７】
さらに、図１１を用いて被操作部の操作時のフローについて述べる。図１１は図８と点線枠部分のＳ３０８〜Ｓ３１１のフローが異なる。その部分について説明する。操作命令受信部１０３によりトークンおよびＰＩＮが正規かどうかの確認が終わった後（ステップＳ３０５）、被操作アプリ実行部１０４ａが操作命令とともに呼び出され、被操作アプリ実行部１０４ａはその操作命令がアプリ実行命令かどうかを判断する（ステップＳ３０８）。アプリ実行命令でない場合（ステップＳ３０８：Ｎｏ）、通常の機器操作命令と見なし、指定された機器操作命令を実行して（ステップＳ３１１）、終了する。例えばアプリ実行命令以外の操作命令には、被操作機器がデジタルテレビであればチャンネル変更命令、録画命令、視聴予約命令などが該当する。
【００４８】
一方アプリ実行命令の場合（ステップＳ３０８：Ｙｅｓ）、被操作アプリ実行部１０４ａはアプリ取得部１０５に対して機器操作命令に含まれるアプリ情報を渡して、アプリの取得を依頼し、さらにアプリ取得部１０５はアプリ提供部５０１にアプリ情報を渡してアプリケーションデータのダウンロードを行う（ステップＳ３０９）。その後被操作アプリ実行部１０４ａは取得したアプリケーションの実行を行い（ステップＳ３１０）、終了する。
【００４９】
以上のような本実施形態の別例の場合、あらかじめアプリケーションを端末にインストールしておくことなく、操作部２００および被操作部１００において多様なアプリケーションが実行できるようになる。これは多くの事業者がアプリ情報提供部４００を運用し、操作部２００、被操作部１００で起動するアプリケーションを個々に開発もしくはカスタマイズするような場合には、あらかじめ全てのアプリケーションをインストールしておくことは現実的でないため、効果を発揮する。
【００５０】
（第２の実施形態）
第１の実施形態では、事業者の端末であることを想定しているアプリ情報提供部４００からトークンの正当性や被操作部１００とのペアリングが完了しているか否かを確認することができず、被操作部１００を操作できるかどうかを確認することができなかった。事業者が被操作部１００を操作することにメリットがある場合には、事業者は被操作部１００を操作できることを確認できることが好ましい。例えば被操作部１００に事業者の販売する製品のアンケートを表示する場合や、広告を表示するような場合がこれに該当する。アンケートに回答することや広告を表示することを製品購入者が約束する代わりに、製品の値引きを行うような場合にはより重要な問題となる。第２の実施形態によれば、被操作部１００とのペアリングの有無やトークンの正当性の有無をアプリ情報提供部４００から確認できるため、先述の問題を解決することが可能となる。以下、詳細な構成について説明する。
【００５１】
図１２は第２の実施形態における本システムの構成の一例を示している。以降図１２を用いて第２の実施形態について詳細に説明する。図１２におけるアプリ情報提供部４００は、図２とトークン判定部４０２とアプリ実行部４０３を設けることが異なる。トークン判定部４０２は、トークンの正当性を検証する。第１の実施形態で述べたようにトークン生成部２０４の機能により、トークンは被操作部１００とのペアリングが完了している場合にのみ生成されるので、正当なトークンが存在することを確認できれば、アプリ情報提供部４００は被操作部１００を操作できることが確認できる。
【００５２】
トークン判定部４０２は、トークンを受け取り、そのトークンに含まれる被操作部１００の識別子をトークン配信部３００の鍵管理部３０１に渡して、トークンの署名検証用の公開鍵を取得する。さらにその鍵を用いてトークンの署名を検証する。署名が正しければ被操作部１００がそのトークンにより操作できることが保証できる。さらに、トークンには操作部２００の識別子も含まれるので、トークンが送信された操作部２００の識別子とトークンに含まれる操作部２００の識別子情報が一致するかどうかを確認して、トークンは別の操作部２００から不正にコピーされたものかどうかを確認してもよい。
【００５３】
アプリ実行部４０３はトークン判定部４０２からトークンが正しいかどうかの情報を受け取り、アプリ情報提供部４００で動作させるアプリケーションに渡す。例えば、このアプリケーションとして商品の決済の例では、商品の決済を行うアプリケーションをアプリ実行部４０３により動作させ、トークンが正しい場合には値引きを行った価格で決済を行い、トークンが不正な場合には通常価格で決済を行うようにしておけばよい。
【００５４】
図１２における操作部２００は、図２と端末情報管理部２０８を備える点と、アプリ情報読取部２０６ｂおよび操作アプリ実行部２０５ｂの内部構造が異なる。
【００５５】
アプリ情報読取部２０６ｂは、アプリ情報部４０１からアプリの識別情報を読み取る。この際には、ＷｉＦｉ等のネットワークを経由しても良いし、ＱＲコードや赤外線を用いても良いし、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などの近接無線を利用しても良い。アプリ情報読取部２０６ｂはアプリ情報を読み取る際にユーザからの実行確認入力を受け取り、ユーザが許可した場合に限りアプリ情報を読み取る。アプリ情報読取部２０６ｂはアプリ情報読み取り後、端末情報管理部２０８に対してアプリ識別子とアプリ情報提供部４００の識別子情報を渡して、アプリ識別子に対応するアプリの起動を要求する。
【００５６】
端末情報管理部２０８は、アプリ情報読取部２０６ｂからアプリ識別子情報とアプリ情報読み取り元のアプリ情報提供部４００の識別子情報を受け取り、操作アプリ実行部２０５ｂに対してアプリ識別子情報を渡してアプリ起動要求を行う。また、端末情報管理部２０８は受け取ったアプリ情報提供部４００の識別子情報を図１３に示すような表に保存し、操作アプリ実行部２０５からの要求に応じてアプリ情報の読み取り元のアプリ情報提供部４００の識別子情報を操作アプリ実行部２０５ｂに対して渡す。これは操作アプリ実行部２０５ｂがアプリ情報を読み取ったアプリ情報提供部４００に対してトークン情報を渡す必要があるためである。例えばアプリケーション識別子１のアプリケーションを実行中に、アプリ情報の読み取り元のアプリ情報提供部４００の識別子情報読み取り要求があった場合には、アプリ情報提供部４００へ識別子１を返す。
【００５７】
操作アプリ実行部２０５ｂは第１の実施形態における操作アプリ実行部２０５の機能に加えて、トークン判定部４０２に対して取得したトークンを渡す。その際に、操作アプリ実行部２０５ｂはアプリ情報読取部２０６ｂがアプリ情報を読み取ったアプリ情報提供部４００に対してトークンを送信するために、端末情報管理部２０８からアプリ情報提供部４００の識別子情報を受け取り、トークン判定部４０２に対してトークン管理部２０３から取得したトークンを送信する。
【００５８】
図１２における被操作部１００の構成は、図２における被操作部１００の構成と同等である。また、トークン配信部３００の構成も、図２におけるトークン配信部３００の構成とほぼ同じであるが、鍵管理部３０１がトークン判定部４０２に対してもトークンの検証用の公開鍵を渡す。
【００５９】
続いて、第２の実施形態におけるペアリング時、アプリ情報読み取り以降、被操作部１００の操作時の各フローについて述べる。被操作機器とのペアリングのフローは図６と、被操作機器の操作時のフローは図８と同等である。ここでは、アプリ情報読み取り以降のフローについて図１４を用いて述べる。
【００６０】
図１４は図７とＳ２１１〜Ｓ２１３のアプリ情報読み取りから端末情報を保存するまでの処理と、Ｓ２０９〜Ｓ２１９までのトークン保存後以降の処理が異なる。それぞれについて説明する。まずアプリ情報読取部２０６ｂがアプリ情報とアプリ情報提供部４００の端末情報を読み取る（ステップＳ２１１）。この端末情報とはアプリ情報提供部４００を一意に識別するための情報で、例えばＩＰネットワークを介してアプリ情報を読み取るのであれば、アプリ情報提供部４００のＩＰアドレスやＭＡＣアドレスなどでも良いし、アプリ情報提供部４００とのコネクションが確立しているのであれば、コネクションの識別子でも良い。続いてアプリ情報読取部２０６ｂは端末情報管理部２０８に読み取ったアプリ情報と端末情報を渡し、端末情報管理部２０８は端末情報をアプリ情報と対応付けて保存する（ステップＳ２１２）。さらに操作アプリ実行部２０５ｂにアプリ情報を渡して、対応するアプリ起動を要求する（ステップＳ２１３）。
【００６１】
また、トークン生成が成功したと判定された場合（ステップＳ２０８：Ｙｅｓ）、トークン管理部２０３はトークンを保存し（ステップＳ２０９）、操作アプリ実行部２０５ｂは端末情報管理部２０８にアプリ情報を渡し、端末情報管理部２０８は与えられたアプリ情報に対応する端末情報をＳ２１２で保存した情報から取得し、操作アプリ実行部２０５ｂに返す（ステップＳ２１４）。操作アプリ実行部２０５ｂは、端末情報に対応するアプリ情報提供部４００のトークン判定部４０２に対してトークンを送信する（ステップＳ２１５）。
【００６２】
トークン判定部４０２はトークンに含まれる被操作部１００の識別子をトークン配信部３００の鍵管理部３０１に渡し、鍵管理部３０１は被操作部１００の識別子に対応するトークンの署名検証用の公開鍵をトークン判定部４０２に返す（ステップＳ２１６）。トークン判定部４０２はトークンに含まれる署名を取得した公開鍵で検証し、正規トークンであるか否かを判定する（ステップＳ２１７）。正規トークンでなければ（ステップＳ２１７：Ｎｏ）、トークン判定部４０２は、操作アプリ実行部２０５ｂにトークンが異常であることを通知し（ステップＳ２１０）、異常終了する。
【００６３】
正規トークンであった場合には（ステップＳ２１７：Ｙｅｓ）、トークンに含まれる操作部２００の識別子とトークンの送信元の操作部２００の識別子が一致するかから正規の操作部２００であるか否かを判定する（ステップＳ２１８）。正規の操作部２００の場合（ステップＳ２１８：Ｙｅｓ）、トークン判定部４０２は、操作アプリ実行部２０５ｂにトークンが正常であることを通知（ステップＳ２１９）した後に正常終了し、正規の操作部２００でなければ（ステップＳ２１８：Ｎｏ）、操作アプリ実行部２０５ｂにトークンが異常であることを通知し（ステップＳ２１０）、異常終了する。
【００６４】
本実施形態の情報処理システムにあっては、アプリ情報提供部４００はトークンの正当性を検証できるようになり、渡されたトークンにより被操作部１００が操作可能であるかどうかを確認することができる。これによって例えば、店舗での決済時にユーザの帰宅後に被操作部１００であるデジタルテレビに対して広告や商品に関するアンケートを表示するプログラムを起動させることを保証する代わりに、図１４のフローが正常終了した場合にはアプリ情報提供部４００の一例であるＰＯＳレジで商品を値引きする、といったことが可能になる。
【００６５】
（第３の実施形態）
第２の実施形態では、事業者が被操作部１００を操作することにメリットがあるようなケースで利用することを想定していた。この場合、操作部２００に保存されるトークンが正当であるかどうかを事業者の端末であるアプリ情報提供部４００が確認できれば良かった。一方、ユーザ側に被操作部１００を操作させることにメリットがある場合も存在する。例えば、商品購入と引き替えに特典映像を被操作部１００であるデジタルテレビで表示するような場合である。例えばこのような場合、商品を購入せずにユーザがトークンを生成することができてしまうと、あとは操作部２００で実行するアプリケーションを操作部２００に導入して実行すれば、不正に特典映像を見ることができてしまう。そこで第３の実施形態によれば、事業者側でトークンの生成が許された場合にのみトークンを生成する機能を提供することが可能となる。これにより、不正に特典映像を見るといったことが困難になり、事業者を保護することが可能となる。
【００６６】
図１５は第３の実施形態における本システムの構成の一例を示している。以降図１５を用いて第３の実施形態について詳細に説明する。図１５におけるアプリ情報提供部４００は、図２とトークン生成許可部４０４を設けることが異なる。トークン生成許可部４０４は操作部２００の識別子を受け取りトークンの生成を許可するかを判定し、トークン生成部２０４ｃに伝える。この判定基準としては例えば操作部２００の識別子から、その識別子に対して確実にアプリ情報を送信したかどうかを確認することなどが考えられる。また、アプリ情報提供部４００がＰＯＳ端末の場合には、商品購入を行ったユーザの端末の端末識別子かどうかを確認することにより、商品購入を行ったユーザのみにトークン生成が行えるようになる。以上によりトークン生成許可部４０４が許可した場合にのみ操作部２００はトークンを取得できるようになり、ユーザが不正にトークンを取得することが困難になる。
【００６７】
図１５における操作部２００は、図２と端末情報管理部２０８を備える点と、アプリ情報読取部２０６ｃおよび操作アプリ実行部２０５ｃ、トークン生成部２０４ｃの内部構造が異なる。
【００６８】
アプリ情報読取部２０６ｃは、アプリ情報部４０１からアプリの識別情報を読み取る。この際には、ＷｉＦｉ等のネットワークを経由しても良いし、ＱＲコードや赤外線を用いても良いし、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などの近接無線を利用しても良い。アプリ情報読取部２０６ｃはアプリ情報を読み取る際にユーザからの実行確認入力を受け取り、ユーザが許可した場合に限りアプリ情報を読み取る。アプリ情報読取部２０６ｃはアプリ情報読み取り後、端末情報管理部２０８に対してアプリ識別子とアプリ情報提供部４００の識別子情報を渡して、対応するアプリの起動を要求する。
【００６９】
端末情報管理部２０８は、アプリ情報読取部２０６ｃからアプリ識別子情報とアプリ情報読み取り元のアプリ情報提供部４００の識別子情報を受け取り、操作アプリ実行部２０５ｃに対してアプリ識別子情報を渡してアプリ起動要求を行う。また、端末情報管理部２０８は受け取ったアプリ情報提供部４００の識別子情報を保存し、トークン生成部２０４ｃからの要求に応じてアプリ情報の読み取り元のアプリ情報提供部４００の識別子情報を操作アプリ実行部２０５ｃに対して渡す。これはトークン生成部２０４ｃがアプリ情報を読み取ったアプリ情報提供部４００に対してトークンを生成して良いかどうかを確認する必要があるためである。
【００７０】
操作アプリ実行部２０５ｃは第１の実施形態ではアプリ情報読取部２０６ｃからアプリケーションの識別子を受け取っていたが、端末情報管理部２０８から受け取る点が図２の構成と異なる。トークン生成部２０４ｃはトークンを生成する対象のアプリケーションの識別子とともにトークンの生成要求を受信し、トークンの生成を行うかどうかを判定する。この際の判定方法としては、第１の実施形態では、機器情報管理部２０１に被操作部１００との認証が完了しているかどうかを問い合わせ、認証が完了している場合にトークン生成要求を行っていた。本実施形態では、端末情報管理部２０８にアプリ情報が送信されたアプリ情報提供部４００の識別子情報を問い合わせ、その識別子情報から対応するアプリ情報提供部４００のトークン生成許可部４０４にトークンを生成して良いか確認する。トークン生成が許可され、さらに被操作部１００との認証が完了している場合に限り、トークン提供部３０２にトークン生成命令を送信する。トークン生成部２０４ｃはトークンの生成が成功した場合には呼び出し元に対してトークンを返す。一方、トークン生成部２０４ｃはトークン提供部３０２からトークンの生成が拒否された場合には呼び出し元に対してエラーを返す。また、トークン生成部２０４ｃは認証が完了していない場合や、トークン生成許可部４０４からトークン生成を拒否された場合にも呼び出し元に対してエラーを返す。
【００７１】
トークン生成許可部４０４はトークン生成部２０４ｃからトークンを生成して良いかどうかの判定要求を受け取り、判定結果を返す。この条件として例えば、判定要求後、商品の決済が実施されたかどうかを判定し、決済を実施された場合にのみトークン生成を許可するような条件が考えられる。これにより、決済を行った場合にのみトークンを操作部２００が受け取ることができる。
【００７２】
続いて、第３の実施形態におけるペアリング時、アプリ情報読み取り以降、被操作機器の操作時の各フローについて述べる。被操作機器とのペアリングのフローは図６と、被操作機器の操作時のフローは図８と同等である。ここでは、アプリ情報読み取り以降のフローについて図１６を用いて述べる。
【００７３】
図１６は図７とＳ２１１〜Ｓ２１３のアプリ情報読み取りから端末情報を保存するまでの処理と、Ｓ２２１〜Ｓ２２６の端末情報取得以降の処理が異なる。それぞれについて説明する。
【００７４】
まずアプリ情報読取部２０６ｃがアプリ情報とアプリ情報提供部４００の端末情報を読み取る（ステップＳ２１１）。この端末情報とはアプリ情報提供部４００を一意に識別するための情報で、例えばＩＰネットワークを介してアプリ情報を読み取るのであれば、アプリ情報提供部４００のＩＰアドレスやＭＡＣアドレスなどでも良いし、アプリ情報提供部４００とのコネクションが確立しているのであれば、コネクションの識別子でも良い。続いてアプリ情報読取部２０６ｃは端末情報管理部２０８に読み取ったアプリ情報と端末情報を渡し、端末情報管理部２０８は端末情報をアプリ情報と対応付けて保存する（ステップＳ２１２）。さらに操作アプリ実行部２０５ｃにアプリ情報を渡して、対応するアプリ起動を要求する（ステップＳ２１３）。
【００７５】
また、被操作機器がペアリング済みであると（ステップＳ２０６：Ｙｅｓ）、被操作機器とペアリングが完了しているかの確認後にトークン生成部２０４ｃは、端末情報管理部２０８に対してアプリ情報を渡して、端末情報管理部２０８は与えられたアプリ情報に対応する端末情報をＳ２１２で保存した情報から取得し、トークン生成部２０４ｃに返す（ステップＳ２２１）。そののち、トークン生成部２０４は取得した端末情報に対応するアプリ情報提供部４００のトークン生成許可部４０４に対して操作部２００の識別子情報を渡し、トークン生成部２０４ｃはトークン生成を許可するか否かの情報を受け取る（ステップＳ２２２）。トークン生成が許可されなかった場合には（ステップＳ２２３：Ｎｏ）、異常終了する。一方、トークン生成が許可された場合には（ステップＳ２２３：Ｙｅｓ）、トークン生成部２０４ｃはトークン提供部３０２に対してアプリ識別子、操作対象機器（被操作部１００）の識別子、操作部２００の識別子を渡してトークン生成要求を出す（ステップＳ２２４）。トークン提供部３０２は鍵管理部３０１から被操作部１００に対応する秘密鍵を取得してトークン生成部２０４ｃから受け取ったデータに対して署名を行い、トークンとしてトークン生成部２０４ｃに返す。この際にトークン提供部３０２は被操作部１００の識別子に対応する鍵が存在しないなど異常が発生した場合には、エラー情報を返す。トークン生成部２０４ｃはトークン管理部２０３にトークン提供部３０２から受信したデータを渡し、トークン管理部２０３はトークンが正常に生成されたかどうかを判定し（ステップＳ２２５）、正常に生成された場合（ステップＳ２２５：Ｙｅｓ）にはトークンを不揮発領域に保存して（ステップＳ２２６）正常終了とし、トークンが生成されなかった場合（ステップＳ２２５：Ｎｏ）には異常終了とする。
【００７６】
以上より本実施形態によれば、事業者側でトークンの生成が許された場合にのみトークンを生成する機能を提供することが可能となる。これにより、ユーザが被操作機器を操作させることにメリットがあるユースケースにおいて、ユーザがトークンを不正に生成して、そのメリットを不正に享受することが困難になり、アプリ情報提供部４００を運用する事業者を保護することが可能となる。
【００７７】
図１７は、上記実施形態の操作部２００のハードウェア構成の一例を示す図である。操作部２００は、ＣＰＵなどの制御装置１００２と、ＲＯＭやＲＡＭなどの記憶装置１００４と、ＨＤＤなどの外部記憶装置１００６と、を備えており、通常のコンピュータを利用した構成として実現することもできる。
【００７８】
上記実施形態の操作部２００で実行される処理はプログラムとして記憶されていてもよい。対象となるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital  Versatile  Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。また、操作部２００の各部は、プログラムではなく電子回路によるハードウェアとして実現されていてもよい。
【００７９】
また、上記実施形態の操作部２００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び各変形例の操作部２００で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び各変形例の操作部２００で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【００８０】
上記実施形態の操作部２００で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【００８１】
なお、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【００８２】
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【００８３】
以上に、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８４】
１００  被操作部
１０１  機器情報提供部
１０２  トークン検証部
１０３  操作命令受信部
１０４  被操作アプリ実行部
１０５  アプリ取得部
２００  操作部
２０１  機器情報管理部
２０２  操作命令送信部
２０３  トークン管理部
２０４  トークン生成部
２０５  操作アプリ実行部
２０６  アプリ情報読取部
２０７  操作アプリ取得部
２０８  端末情報管理部
３００  トークン配信部
３０１  鍵管理部
３０２  トークン提供部
４００  アプリ情報提供部
４０１  アプリ情報部
４０２  トークン判定部
４０３  アプリ実行部
４０４  トークン生成許可部
５００  アプリ配信部
５０１  アプリ提供部
【図１】
2015036935.tif 000003
【図２】
2015036935.tif 000004
【図３】
2015036935.tif 000005
【図４】
2015036935.tif 000006
【図５】
2015036935.tif 000007
【図６】
2015036935.tif 000008
【図７】
2015036935.tif 000009
【図８】
2015036935.tif 000010
【図９】
2015036935.tif 000011
【図１０】
2015036935.tif 000012
【図１１】
2015036935.tif 000013
【図１２】
2015036935.tif 000014
【図１３】
2015036935.tif 000015
【図１４】
2015036935.tif 000016
【図１５】
2015036935.tif 000017
【図１６】
2015036935.tif 000018
【図１７】
2015036935.tif 000019