(57)【特許請求の範囲】
【請求項１】
放送コンテンツを受信し処理する放送コンテンツ処理部と、
前記放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに 電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御することを可能とするコントローラと
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記コントローラは、前記取得したアプリケーション情報テーブルに格納された前記モード情報をもとに前記電子署名の検証の要否を判定する
情報処理装置。
【請求項４】
放送コンテンツとともに処理するアプリケーションを情報処理装置に取得させるために必要なロケーション情報と、電子署名の検証の要否を示すとともに、アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを生成し、前記情報処理装置からの当該アプリケーション情報テーブルの取得要求に応じて応答する生成部
を有するサーバ装置。
【請求項５】
コントローラが、放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御する
情報処理方法。
【請求項６】
請求項５に記載の情報処理方法であって、
前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
情報処理方法。
【請求項７】
請求項５または６に記載の情報処理方法であって、
前記コントローラは、前記取得したアプリケーション情報テーブルに格納された前記モード情報をもとに前記電子署名の検証の要否を判定する
情報処理方法。
【請求項８】
生成部が、放送コンテンツとともに処理するアプリケーションを情報処理装置に取得させるために必要なロケーション情報と、電子署名の検証の要否を示すとともに、アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを生成し、前記情報処理装置からの当該アプリケーション情報テーブルの取得要求に応じて応答する
サーバ処理方法。
【請求項９】
請求項８に記載のサーバ処理方法であって、
前記生成部は、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
サーバ処理方法。
【請求項１０】
放送コンテンツを受信し処理する放送コンテンツ処理部と、
前記放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御することを可能とするコントローラと
としてコンピュータを機能させるプログラム。
【請求項１１】
放送コンテンツを受信し処理する放送コンテンツ処理部と、
前記放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに 電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御することを可能とするコントローラと
を具備するテレビジョン装置。
【請求項１２】
請求項１１に記載のテレビジョン装置であって、
前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
テレビジョン装置。
【請求項１３】
請求項１１または１２に記載のテレビジョン装置であって、
前記コントローラは、前記取得したアプリケーション情報テーブルに格納された前記モード情報をもとに前記電子署名の検証の要否を判定する
テレビジョン装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、アプリケーション管理テーブルを用いて放送コンテンツに関連するアプリケ
ーションを実行することが可能な情報処理装置、アプリケーション管理テーブルを供給す
るサービスを行うサーバ装置、これらの装置に関連する情報処理方法、サーバ処理方法お
よびプログラムに関する。
【背景技術】
【０００２】
近年、放送コンテンツの再生と同時に、インターネット等のネットワークを通じて配信
されるアプリケーションの実行を行うことを可能とする技術が知られている。このような
技術として、ハイブリッドブロードバンド放送（Hybrid Broadcast Broadband TV、以下
「ＨｂｂＴＶ」と称する。）と呼ばれる技術が知られている。ＨｂｂＴＶの標準規格とし
て、欧州では「ETSI TS 102 796」（非特許文献１参照。）が策定されている。また、我
が国でもこれに準拠した標準規格「ARIB STD-B23」（非特許文献２参照。）が策定されて
いる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ETSI（European Telecommunications Standards Institute）「ETSI TS 102 796 V1.1.1 （2010-06)」http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.01.01_60/ts_102796v010101p.pdf（平成２３年１０月２１日閲覧）
【非特許文献２】社団法人電波産業会「デジタル放送におけるアプリケーション実行環境  標準規格  ARIB STD-B23 1.2版」http://www.arib.or.jp/english/html/overview/doc/2-STD-B23v1_2.pdf（平成２３年１０月２１日閲覧）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばＨｂｂＴＶなどのように、放送コンテンツの再生と同時にアプリケーションが実
行されるシステムでは、アプリケーションの起動から終了までのライフサイクルが、放送
コンテンツに重畳されたＡＩＴセクション（Application Information Table）と呼ばれ
るデータ構造によって管理される。ＡＩＴセクションを取得した情報端末は、ＡＩＴセク
ションに含まれるアプリケーション制御用のコードをもとにアプリケーションの制御を行
う。
【０００５】
また、放送ＡＩＴセクションと同等の情報を有し、インターネットなど通信網を利用し
て受信機にアプリケーションに関する情報を提供するために最適なフォーマットとして、
ＸＭＬ形式で記述されたＡＩＴセクションであるＸＭＬ−ＡＩＴがある。
【０００６】
しかしながら、ＸＭＬ−ＡＩＴは、インターネットを通じて提供されるファイルである
ことから、悪意のある第三者による改ざんなどの危険に晒されたものと言える。ＸＭＬ−
ＡＩＴが改ざんされると、意図しないアプリケーションサーバのアプリケーションをダウ
ンロードするように誘導されたり、正規とは異なるアプリケーションの制御が実行された
りするなどの可能性が生じる。
【０００７】
また、アプリケーションには、放送から番組やデータを受信して提示するなど、様々な
機能を利用できるものが多い。しかし、このようなアプリケーションが利用することので
きる機能の中の一部を利用不可とするためには、アプリケーションそのものに変更を加え
るなど、時間と手間がかかる。
【０００８】
以上のような事情に鑑み、本技術の目的は、アプリケーションの信頼性の向上を図るこ
とのできる情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム
を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本技術に係る情報処理装置は、放送コンテンツを受信し
処理する放送コンテンツ処理部と、電子署名が添付され、前記放送コンテンツとともに処
理するアプリケーションを取得するために必要なロケーション情報が格納されたアプリケ
ーション情報テーブルを取得し、前記電子署名を検証し、少なくとも当該検証に成功した
場合に、前記ロケーション情報をもとに前記アプリケーションを取得することを可能とす
るコントローラとを具備する。
【００１０】
前記アプリケーション情報テーブルには、前記アプリケーションから所定の演算によっ
て求められた当該アプリケーションを代表する第１の代表値が格納され、
前記コントローラは、前記取得したアプリケーションに対して前記所定の演算によって
当該アプリケーションを代表する第２の代表値を算出し、前記第１の代表値と前記第２の
代表値を比較して当該アプリケーションの検証を行うものであってよい。
【００１１】
前記アプリケーション情報テーブルには、モード情報が格納され、前記コントローラは
、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記アプリ
ケーションが利用できる機能を制御するものであってよい。
【００１２】
前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報
をもとに、前記電子署名の検証の要否を判定するものであってよい。
【００１３】
本技術に係るサーバ装置は、電子署名が添付され、放送コンテンツとともに処理するア
プリケーションを情報処理装置に取得させるために必要なロケーション情報が格納された
アプリケーション情報テーブルを生成し、前記情報処理装置からの当該アプリケーション
情報テーブルの取得要求に応じて応答する生成部を有する。
【００１４】
前記生成部は、前記アプリケーションから所定の演算によって求められた当該アプリケ
ーションを代表する第１の代表値を前記アプリケーション情報テーブルに付加するもので
あってよい。
【００１５】
前記生成部は、前記アプリケーションが利用できる機能を制御するモード情報を前記ア
プリケーション情報テーブルに付加するものであってよい。
【００１６】
本技術に係る情報処理方法は、コントローラが、電子署名が添付され、放送コンテンツ
とともに処理するアプリケーションを取得するために必要なロケーション情報が格納され
たアプリケーション情報テーブルを取得し、前記電子署名を検証し、少なくとも当該検証
に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得すること
を可能とする。
【００１７】
本技術に係るサーバ処理方法は、生成部が、電子署名が添付され、放送コンテンツとと
もに処理するアプリケーションを情報処理装置に取得させるために必要なロケーション情
報が格納されたアプリケーション情報テーブルを生成し、前記情報処理装置からの当該ア
プリケーション情報テーブルの取得要求に応じて応答する。
【００１８】
本技術に係るプログラムは、放送コンテンツを受信し処理する放送コンテンツ処理部と
、電子署名が添付され、前記放送コンテンツとともに処理するアプリケーションを取得す
るために必要なロケーション情報が格納されたアプリケーション情報テーブルを取得し、
前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報を
もとに前記アプリケーションを取得することを可能とするコントローラとしてコンピュー
タを機能させる。
【発明の効果】
【００１９】
以上のように、本技術によれば、アプリケーションの信頼性の向上を図ることができる
。
【図面の簡単な説明】
【００２０】
【図１】本実施形態の情報処理システムの概要を示す図である。
【図２】ＡＩＴセクションのデータ構造を示す図である。
【図３】ＸＭＬ−ＡＩＴのデータ構造を示す図である。
【図４】アプリケーションモード記述子およびアプリケーションハッシュ記述子のデータ構造を示す図である。
【図５】ＡＩＴセクションおよびＸＭＬ−ＡＩＴに指定されるアプリケーション制御コードの定義を示す図である。
【図６】本実施形態の情報処理装置の構成を示すブロック図である。
【図７】ＡＩＴセクションを用いたアプリケーションの制御の動作例を示す図である。
【図８】図７の動作例のフローチャートである。
【図９】ＸＭＬ−ＡＩＴを用いたアプリケーションの起動の動作例を示す図である。
【図１０】図９の動作例のフローチャートである。
【図１１】放送ＢＭＬデータからアプリケーションを起動する場合の動作例を示す図である。
【図１２】図１１の動作例のフローチャートである。
【図１３】放送連動型アプリケーションを起動した後、ＸＭＬ−ＡＩＴによって放送非連動型アプリケーションを起動する場合の動作例を示す図である。
【図１４】図１３の動作例のフローチャートである。
【図１５】図１３の動作例のフローチャートである。
【図１６】アプリケーションランチャから放送非連動型アプリケーションを起動する場合の動作例を示す図である。
【図１７】図１６の動作例のフローチャートである。
【図１８】電子署名およびハッシュ値の生成と検証の方法を説明する図である。
【図１９】電子署名およびハッシュ値の生成と検証の方法の変形例を説明する図である。
【発明を実施するための形態】
【００２１】
以下、本技術の実施の形態を図面をもとに説明する。
＜第１の実施形態＞
［情報処理システム］
図１は、本実施形態の情報処理システムの概要を示す図である。
本実施形態の情報処理システム１は、放送設備１００と、インターネットなどの第１の
ネットワーク２００と、アプリケーションサーバ３００と、ＸＭＬ−ＡＩＴサーバ４００
と、エッジルータ５００と、ＬＡＮ（Local Area Network）などの第２のネットワーク６
００と、情報処理装置７００とを有する。
【００２２】
放送設備１００は、例えば、地上波、衛星波、ＩＰ（Internet Protocol）ネットワー
クなどの通信媒体を介してデジタル放送信号を送信する。放送設備１００は、映像、音声
、字幕などの各ストリームが多重化されたＡＶストリームと、ＡＶストリームに付随する
データなどが重畳されたいわゆる放送ストリームを送出する。ＡＶストリームに付随する
データとしては、ＨＴＭＬ、ＢＭＬなどなどのマークアップ言語、Java（登録商標）スク
リプトなどのスクリプト言語で記述されたアプリケーション、アプリケーションを管理す
るための情報からなるＡＩＴセクション（Application Information Table）セクション
などが含まれる。ここで放送設備１００より放送されるアプリケーションを「放送アプリ
ケーション」と呼ぶ。
【００２３】
アプリケーションサーバ３００は、第１のネットワーク２００に接続可能とされ、第１
のネットワーク２００を通じて情報処理装置７００に、放送ストリームとともに処理され
るアプリケーションを提供する。ここで、放送ストリームとともに処理されるアプリケー
ションには、放送コンテンツに関連する放送連携型アプリケーションと、放送コンテンツ
に関連しない放送非連携型アプリケーションとがある。放送連携型アプリケーションは、
放送から番組やデータなどの様々なリソースを取得して提示することができるアプリケー
ションである。一方、放送非連携型アプリケーションは放送コンテンツと関連しないため
、放送リソースにアクセスすることのないアプリケーションである。
【００２４】
ＸＭＬ−ＡＩＴサーバ４００は、第１のネットワーク２００に接続可能とされ、第１の
ネットワーク２００を通じて情報処理装置７００に、アプリケーションサーバ３００から
提供されるアプリケーションを管理するためのＸＭＬ（Extensible Markup Language）−
ＡＩＴを配信する。
【００２５】
なお、アプリケーションサーバ３００とＸＭＬ−ＡＩＴサーバ４００は１つのサーバで
あってもよい。
【００２６】
エッジルータ５００は、第１のネットワーク２００と第２のネットワーク６００とを接
続するためのルータである。第２のネットワーク６００は有線、無線を問わない。
【００２７】
情報処理装置７００は、例えば、パーソナルコンピュータ、携帯電話、スマートフォン
、テレビジョン装置、ゲーム機、タブレット端末、オーディオ・ビデオ再生機器などであ
るが、具体的に製品形態は問わない。
情報処理装置７００は、放送設備１００からデジタル放送信号を受信し、復調してトラ
ンスポートストリームを得る。情報処理装置７００は、このトランスポートストリームか
ら放送ストリームを分離し、デコードして情報処理装置７００に接続される表示部（図示
せず）及びスピーカ部（図示せず）や、記録装置（図示せず）に出力することが可能であ
る。
【００２８】
なお、表示部、スピーカ部および記録装置はそれぞれ、情報処理装置７００と一体であ
ってもよいし、互いに独立した機器として直接又は第２のネットワーク６００を介して情
報処理装置７００に接続されていてもよい。あるいは、表示部及びスピーカ部を有する機
器（図示せず）が直接又は第２のネットワーク６００を介して情報処理装置７００に接続
されていてもよい。
【００２９】
また、情報処理装置７００は、取得したトランスポートストリームからアプリケーショ
ンや、ＡＩＴセクションを含むＰＳＩ／ＳＩを抽出し、当該ＡＩＴセクションを解釈して
アプリケーションの制御を行うことが可能である。情報処理装置７００は、アプリケーシ
ョンが可視的なアプリケーションである場合には、このアプリケーションの実行により生
成された映像信号を、上記放送コンテンツの映像信号及び字幕信号と合成して表示部に出
力することが可能である。
【００３０】
さらに、情報処理装置７００は、第１のネットワーク２００、エッジルータ５００及び
第２のネットワーク６００を通じて、アプリケーションサーバ３００からアプリケーショ
ンを取得することができる。同様に情報処理装置７００は、ＸＭＬ−ＡＩＴサーバ４００
からＸＭＬ−ＡＩＴのファイルを取得することができる。情報処理装置７００は、取得し
たＸＭＬ−ＡＩＴを解釈して、アプリケーションサーバ３００から取得したアプリケーシ
ョンや放送を通じて取得したアプリケーションを制御することが可能である。
【００３１】
［アプリケーション］
ここで、アプリケーションについて説明する。アプリケーションは、放送設備１００お
よびアプリケーションサーバ３００から情報処理装置７００に提供される。アプリケーシ
ョンは、例えばＨＴＭＬ（Hyper Text Markup Language）文書、BML文書(Broadcast Mark
up Language)、MHEG文書(Multimedia and Hypermedia information coding)、Ｊａｖａ（
登録商標）スクリプト、静止画ファイル、動画ファイルなどで構成される。
【００３２】
アプリケーションは可視的なものであっても不可視的なものであってもよい。可視的な
アプリケーションとは、画面を通じてその状態をユーザが視ることのできるアプリケーシ
ョンである。不可視的なアプリケーションは、画面を通じてその状態をユーザが視ること
のできないアプリケーションである。例えば、ブラウザがユーザに不可視の透明な状態で
起動中であるときに利用されるアプリケーションや、視聴率調査などを目的として情報処
理装置にて視聴された放送コンテンツを特定するための情報や視聴時間を記録して特定の
サーバに配信したりするアプリケーションなどが考えられる。
【００３３】
また、アプリケーションは、情報処理装置７００のユーザの操作に従って提示する情報
や機能を変えることができる双方向型アプリケーションでもよいし、ユーザに対して一方
向に情報を提示するアプリケーションでもよい。
さらに、アプリケーションには、放送コンテンツに連動した放送連動型アプリケーショ
ンと、放送コンテンツに連動しない放送非連動型アプリケーションとがある。
【００３４】
［ＡＩＴセクション及びＸＭＬ−ＡＩＴのデータ構造］
ここで、放送設備１００からＡＩＴセクションとして伝送されるＡＩＴのデータ構造と
、アプリケーションサーバ３００から提供されるＸＭＬ−ＡＩＴのデータ構造について説
明する。なお、本明細書で単に「ＡＩＴ」と記述するときは、放送設備１００からＡＩＴ
セクションで伝送されるＡＩＴのことを言う。
【００３５】
図２は、本実施形態のＡＩＴのデータ構造を示す図である。
ＡＩＴは、アプリケーションに関する種々の情報や、アプリケーションを制御するため
のアプリケーション制御コード等が格納されるテーブルである。具体的には、ＡＩＴには
、テーブルＩＤ、セクションシンタックス指示、セクション長、アプリケーション形式、
バージョン番号、カレントネクスト指示、セクション番号、最終セクション番号、共通記
述子ループ長、アプリケーション情報ループ長、アプリケーション識別子、アプリケーシ
ョン制御コード１１、アプリケーション記述子ループ長、アプリケーション記述子等が格
納される。
【００３６】
図３は、本実施形態のＸＭＬ−ＡＩＴのデータ構造を示す図である。
ＸＭＬ−ＡＩＴには、アプリケーション毎の、アプリケーション名、アプリケーション
識別子、アプリケーション記述子、アプリケーションタイプ、アプリケーション制御コー
ド２１、アプリケーションの可視性、現在のサービス内でのみ有効かを示すフラグ、アプ
リケーションの優先度、アプリケーションのバージョン、プラットフォームプロファイル
にあわせたバージョン、アイコン、ストレージ機能の性能、トランスポートプロトコル記
述子、アプリケーションロケーション記述子、アプリケーションバウンダリ記述子、アプ
リケーションスペシフィック記述子、アプリケーションユーセジ記述子、アプリケーショ
ンモード記述子２２、アプリケーションハッシュ記述子２３等が格納される。
【００３７】
このＸＭＬ−ＡＩＴには、改ざんを検出するための電子署名が添付される。電子署名と
しては、例えばＸＭＬ署名などが用いられる。ＸＭＬ署名の形式は、ＸＭＬ−ＡＩＴに対
して独立したdetached署名、ＸＭＬ−ＡＩＴを包含した形式を有するenveloping署名、Ｘ
ＭＬ−ＡＩＴに包含された形式のenveloped署名のいずれであるかを問わない。なお、Ｘ
ＭＬ−ＡＩＴのフォーマットへの影響を抑えるにはdetached署名を採用するのがよい。
【００３８】
情報処理装置７００のアプリケーションコントローラ７０８は、リファレンス検証（Re
ference Validation）と署名検証（Signature Validation）とを含むコア検証（Core Val
idation）の手続きに従って、ＸＭＬ署名を検証する。
リファレンス検証とは、リソース（ＸＭＬ−ＡＩＴ）に正規化変換プロセス（Transfor
m）及びダイジェスト計算アルゴリズム（DigestMethod）を適用することにより、リファ
レンス（Reference）のダイジェスト値（DigestValue）を検証する方式である。リファレ
ンス検証により得られた結果と、登録されたダイジェスト値（DigestValue）とが比較さ
れ、これらが一致しない場合、検証失敗となる。
署名検証とは、署名情報（SignatureInfo）要素をＸＭＬ正規化アルゴリズム（Canonic
alizationMethod）で指定された正規化方式でシリアル化し、鍵情報（KeyInfo）等を用い
て鍵データを取得し、署名アルゴリズム（SignatureMethod）で指定された方式を用いて
署名を検証する方式である。
【００３９】
上記のＸＭＬ−ＡＩＴのデータ構造において、アプリケーションモード記述子２２およ
びアプリケーションハッシュ記述子２３は本技術に係る実施形態のシステムから新規に導
入された情報である。
【００４０】
図４はアプリケーションモード記述子２２およびアプリケーションハッシュ記述子２３
のデータ構造を示す図である。
アプリケーションモード記述子２２は、アプリケーションモード記述子２２を識別する
記述子タグ、記述子長、アプリケーションのモードを示すアプリケーションモードなどで
構成される。
【００４１】
アプリケーションモードは、アプリケーションが利用できる機能（ＡＰＩ：Applicatio
n Program Interface）を制御するための情報である。アプリケーションによって利用が
制限される機能としては、例えば、放送の番組やデータなどの様々な放送リソースにアク
セスして提示する放送リソース提示機能などが挙げられる。より詳細には、放送連動型ア
プリケーションは、その放送リソース提示機能を利用できるようにアプリケーションモー
ドの値が設定され、放送に無関係（連動しない）放送非連動型アプリケーションは、その
放送リソース提示機能を利用できないようにアプリケーションモードの値が設定される。
なお、アプリケーションモードによって、利用できるかどうかが切り替えられる機能は放
送リソース提示機能に限られない。
【００４２】
ここで、放送連動型アプリケーションに対して設定されるアプリケーションモードを"m
ode1"、放送非連動型アプリケーションに対して設定されるアプリケーションモードを"mo
de2"とした場合を想定する。
この想定においては、アプリケーションモードは、情報処理装置において電子署名の検
証の要否を知るための情報として利用することができる。すなわち、情報処理装置はアプ
リケーションモードが"mode1"であるとき電子署名の検証が不要と判定し、"mode2"である
とき電子署名の検証が必要であることを判定する。但し、これは１つの運用形態に過ぎず
、放送連動型アプリケーションについても電子署名の検証を必要とすることとしてもよい
。
【００４３】
アプリケーションハッシュ記述子２３は、記述子タグ、記述子長、ハッシュ値の計算方
法を示すハッシュアルゴリズム、ハッシュ値長、ハッシュ値などで構成される。ハッシュ
値は、アプリケーションのハッシュ値であり、所定のハッシュ関数などによってアプリケ
ーションの実体から生成された値であり、そのアプリケーションを代表する値と言うこと
ができる。このハッシュ値の利用方法については後で説明する。
【００４４】
［アプリケーション制御コードの定義］
アプリケーションのライフサイクルは、ＡＩＴセクション及びＸＭＬ−ＡＩＴに格納さ
れるアプリケーション制御コード１１、２１をもとに、情報処理装置７００によって動的
に制御される。
図５はＡＩＴセクション及びＸＭＬ−ＡＩＴに格納されるアプリケーション制御コード
１１、２１の定義を示す図である。
同図に示すように、アプリケーション制御コードとしては、"AUTOSTART"、"PRESENT"、
"DESTROY"、"KILL"、"PREFETCH"、"REMOTE"、"DISABLED"、"PLAYBACK_AUTOSTART"が標準
規格上存在する。これらアプリケーション制御コードの定義は以下のとおりである。
【００４５】
"AUTOSTART"は、サービスの選択に伴いアプリケーションを自動で起動することを指示
するコードである。アプリケーションが既に実行されている場合にはこの限りでない。
"PRESENT"は、サービスが選択されている間、アプリケーションを実行可能な状態とす
ることを指示するコードである。但し、対象のアプリケーションは、サービスの選択に伴
って自動的にアプリケーションは起動されず、ユーザからの起動の指示を受けて起動され
る。
"DESTROY"は、アプリケーションの終了の許可を指示するコードである。
"KILL"は、アプリケーションの強制的な終了を指示するコードである。
"PREFETCH"は、アプリケーションのキャッシュを指示するコードである。
"REMOTE"は、現在のトランスポートストリームでは取得できないアプリケーションであ
ることを示すコードである。そのアプリケーションは、別のトランスポートストリームあ
るいはキャッシュから取得して利用可能となる。
"DISABLED"は、アプリケーションの起動を禁止することを示すコードである。
"PLAYBACK_AUTOSTART"は、ストレージ（記録装置）に録画された放送コンテンツの再生
に伴いアプリケーションを起動させるためのコードである。
【００４６】
［第１の情報処理装置の構成］
図６は本実施形態の情報処理装置７００の構成を示すブロック図である。
情報処理装置７００は、放送インタフェース７０１、デマルチプレクサ７０２、出力処
理部７０３、映像デコーダ７０４、音声デコーダ７０５、字幕デコーダ７０６、通信イン
タフェース７０７、アプリケーションコントローラ７０８（コントローラ）を有する。
【００４７】
放送インタフェース７０１は、アンテナ及びチューナを有し、これらを用いてユーザに
より選局されたデジタル放送信号を受信する。放送インタフェース７０１は、受信したデ
ジタル放送信号に対して復調処理などを施して得たトランスポートストリームをデマルチ
プレクサ７０２に出力する。
【００４８】
デマルチプレクサ７０２は、トランスポートストリームから放送コンテンツのストリー
ムパケット、アプリケーションのパケット、ＡＩＴセクションのパケットをそれぞれ分離
する。デマルチプレクサ７０２は、放送コンテンツのストリームパケットから映像ＥＳ（
Elementary Stream）、音声ＥＳ、字幕ＥＳを分離する。デマルチプレクサ７０２は、映
像ＥＳを映像デコーダ７０４に、音声ＥＳを音声デコーダ７０５に、字幕ＥＳを字幕デコ
ーダ７０６に、そしてアプリケーションのパケット、およびＡＩＴセクションを含むＰＳ
Ｉ／ＳＩ（Program Specific Information/Service Information）のパケットをアプリケ
ーションコントローラ７０８にそれぞれ分配する。
【００４９】
映像デコーダ７０４は、映像ＥＳをデコードして映像信号を生成し、生成した映像信号
を出力処理部７０３に出力する。音声デコーダ７０５は、音声ＥＳをデコードして音声信
号を生成し、生成した音声信号を出力処理部７０３に出力する。
字幕デコーダ７０６は、字幕ＥＳをデコードして字幕信号を生成し、生成した字幕信号
を出力処理部７０３に出力する。
【００５０】
放送インタフェース７０１、デマルチプレクサ７０２、出力処理部７０３、映像デコー
ダ７０４、音声デコーダ７０５、字幕デコーダ７０６は、放送コンテンツを受信して処理
する放送コンテンツ処理部である。
【００５１】
通信インタフェース７０７は、ＬＡＮなどの第２のネットワーク６００を通じて外部の
機器と通信を行うためのインタフェースである。通信インタフェース７０７は無線による
通信、有線による通信を問わない。
【００５２】
アプリケーションコントローラ７０８は、アプリケーションの制御に関する処理を行う
コントローラである。
【００５３】
出力処理部７０３は、映像デコーダ７０４からの映像信号、音声デコーダ７０５からの
音声信号、字幕デコーダ７０６からの字幕信号及びアプリケーションコントローラ７０８
からの映像信号や音声信号等を合成し、情報処理装置７００に接続された記録装置（図示
せず）、表示部及びスピーカ部（図示せず）に出力する。
【００５４】
上記の情報処理装置７００の少なくともアプリケーションコントローラ７０８を含む構
成の一部または全ては、ＣＰＵ（Central Processing Unit）およびメモリを有するコン
ピュータとプログラムとにより提供することが可能である。
【００５５】
［情報処理システム１の動作］
次に、本実施形態の情報処理システム１の動作を説明する。
動作の説明は、
１．ＡＩＴセクションを用いたアプリケーションの起動
２．ＸＭＬ−ＡＩＴを用いたアプリケーションの起動
３．放送ＢＭＬデータからのアプリケーションの起動
４．放送非連動型のアプリケーションの起動
５．アプリケーションランチャから放送非連動型アプリケーションの起動
６．電子署名およびハッシュ値の生成と検証
の順で行う。
【００５６】
（１．ＡＩＴセクションを用いたアプリケーションの起動）
図７はＡＩＴセクションを用いたアプリケーションの起動の動作例を示す図である。
図８は図７の動作例のフローチャートである。
情報処理装置７００は、例えばリモコンなどを使ってユーザにより選局された放送設備
１００からの放送コンテンツを受信し、映像データ、音声データ、字幕データなどのデコ
ード処理などを行って、情報処理装置７００に接続された表示部及びスピーカ部に放送コ
ンテンツを出力する（ステップＳ１０１）。
【００５７】
具体的には、放送インタフェース７０１が、ユーザにより選局された放送設備１００か
ら放送コンテンツのデジタル放送信号を受信し、復調処理などを施して得たトランスポー
トストリームをデマルチプレクサ７０２に出力する。デマルチプレクサ７０２はトランス
ポートストリームから放送コンテンツのストリームパケットを分離し、さらに放送コンテ
ンツのストリームパケットを映像ＥＳ、音声ＥＳ、字幕ＥＳに分離する。分離された映像
ＥＳ、音声ＥＳ、字幕ＥＳはそれぞれ、映像デコーダ７０４、音声デコーダ７０５、字幕
デコーダ７０６にてデコードされ、出力処理部７０３にて合成されて表示部及びスピーカ
部に出力される。
【００５８】
この例では、放送設備１００から時刻Ｔ１に、放送連動型アプリケーションApp1に関す
るＡＩＴが格納されたＡＩＴセクションが放送コンテンツに重畳して伝送される。このＡ
ＩＴセクションには放送連動型アプリケーションApp1のロケーション情報と起動を指示す
るアプリケーション制御コード"AUTOSTART"が格納されている。ここで、放送連動型アプ
リケーションApp1はアプリケーションサーバ３００から取得される場合を想定しているた
め、ロケーション情報はそのアプリケーションサーバ３００から当該放送連動型アプリケ
ーションApp1を取得するために必要な情報として、ＨＴＴＰ（Hypertext Transfer Proto
col）などの通信プロトコル情報とＵＲＬ（Uniform Resource Locator）などで構成され
る。
【００５９】
デマルチプレクサ７０２はトランスポートストリームから放送連動型アプリケーション
App1のパケットとＡＩＴセクションのパケットを分離してアプリケーションコントローラ
７０８に供給する。アプリケーションコントローラ７０８はＡＩＴセクションを取得する
と（ステップＳ１０２）、これを解析する（ステップＳ１０３）。
【００６０】
なお、本実施形態では、ＡＩＴセクションは悪意のある第三者によって改ざんされる可
能性は極めて低いという理由から、電子署名の検証は不要とされている。
【００６１】
この動作例では、ＡＩＴセクションにアプリケーション制御コードとして"AUTOSTART"
が指定されているので、アプリケーションコントローラ７０８は、当該ＡＩＴセクション
に記述されたロケーション情報をもとにアプリケーションサーバ３００にアクセスして放
送連動型アプリケーションApp1を取得し、これを起動させる（ステップＳ１０４のＮ、ス
テップＳ１０５のＹ、ステップＳ１０６）。起動された放送連動型アプリケーションApp1
は、例えば、表示部に表示された放送番組Ａの映像とともに可視化（提示）される。
【００６２】
続いて、時刻Ｔ２にＡＩＴセクションの更新が発生したものとする。情報処理装置７０
０のアプリケーションコントローラ７０８は、ＡＩＴセクションのデータ構造の中のバー
ションナンバーをもとにＡＩＴセクションの更新が発生したことを知ることができる。こ
こで、更新されたＡＩＴセクションには、放送連動型アプリケーションApp1の終了を指示
するアプリケーション制御コード"DESTROY"または"KILL"と、次の放送連動型アプリケー
ションApp2の起動を指示するアプリケーション制御コード"AUTOSTART"が記述されている
ものとする。
【００６３】
情報処理装置７００のアプリケーションコントローラ７０８は、新たなＡＩＴセクショ
ンを取得すると（ステップＳ１０２）、このＡＩＴセクションに記述された放送連動型ア
プリケーションApp1に対するアプリケーション制御コード"DESTROY"または"KILL"に従っ
て放送連動型アプリケーションApp1を終了させる（ステップＳ１０４のＹ、エンド）。ま
た、アプリケーションコントローラ７０８は、当該ＡＩＴセクションに放送連動型アプリ
ケーションApp2に対するアプリケーション制御コードとして格納された"AUTOSTART"に従
って放送連動型アプリケーションApp2を取得し（ステップＳ１０５のＹ、Ｓ１０６）、こ
れを起動させる（ステップＳ１０５）。これにより、放送連動型アプリケーションApp1に
代わって放送連動型アプリケーションApp2が放送番組Ａの映像とともに提示される。
【００６４】
なお、アプリケーションコントローラ７０８は、取得したＡＩＴセクションに"AUTOSTA
RT"、"DESTROY"、"KILL"以外のアプリケーション制御コードが記述されている場合には、
そのアプリケーション制御コードに従って放送連動型アプリケーションの状態を遷移させ
るなどの処理を行った後（ステップＳ１０７）、次のＡＩＴセクションを待機する。
【００６５】
図７において、放送連動型アプリケーションApp1および放送連動型アプリケーションAp
p2は放送番組の映像に対して領域を分けてL字形に表示されるものとしたが、必ずしも放
送番組の映像と同時に表示される必要はなく、全画面に表示してもよい。また、放送番組
の映像に対して領域を分けて表示するにしても、縦横に分離して表示したり、左右に分離
して表示させるようにしてもよい。アプリケーションを全画面に表示させる場合、放送番
組の映像が表示されなくなるが、この状態においても、放送インタフェース７０１のチュ
ーナは選局状態にあり、ＡＩＴセクションを含む放送ストリームの受信状態が継続される
。
【００６６】
上記のように、放送連動型アプリケーションを時間によって切り替えて情報処理装置７
００に提示させるサービスの具体的な態様としては、例えば、次のようなものが挙げられ
る。
１．歌手のコンサート全体を映す動画が主映像としてＡＶストリームで伝送される場合
に、その様子を別の角度から撮影したり、歌手をズーム撮影したりした副映像、その歌手
やコンサートに関する文字データなどの情報を提供するためのアプリケーション。
２．様々な国の言語によるスポーツ実況の音声や字幕を提供するためのアプリケーショ
ン。
３．目の不自由な人向けにＡＶストリームで伝送される映像の内容を音声で説明するた
めのオーディオディスクリプションのアプリケーション。
【００６７】
（２．ＸＭＬ−ＡＩＴを用いたアプリケーションの起動）
図９はＸＭＬ−ＡＩＴを用いたアプリケーションの起動の動作例を示す図である。
図１０は図９の動作例のフローチャートである。
【００６８】
ユーザによるリモコンの操作による放送の選局（ステップＳ２０１）からＡＩＴセクシ
ョンに基づく放送連動型アプリケーションの取得、提示（ステップＳ２０８）までの動作
は、上記の１．ＡＩＴセクションを用いたアプリケーションの起動と同じである。
【００６９】
この動作例では、提示中の放送連動型アプリケーションApp1に、次に提示させる放送連
動型アプリケーションApp2用のＸＭＬ−ＡＩＴを情報処理装置７００に取得させるための
createApplication()関数などを含むスクリプトが組み込まれている場合を想定している
。createApplication()関数には、引数として、その放送連動型アプリケーションApp2用
のＸＭＬ−ＡＩＴにアクセスするために必要な通信プロトコルに関する情報とＸＭＬ−Ａ
ＩＴのロケーション情報などが記述されている。
【００７０】
放送連動型アプリケーションApp1の提示中、ユーザからの指示あるいは時間など所定の
条件が成立すると（ステップＳ２０９のＹ）、放送連動型アプリケーションApp1に組み込
まれた上記のスクリプトが実行されることによって、情報処理装置７００のアプリケーシ
ョンコントローラ７０８は、新たなＸＭＬ−ＡＩＴをＸＭＬ−ＡＩＴサーバ４００から取
得し（ステップＳ２１０）、解析する（ステップＳ２１１）。
【００７１】
この新たなＸＭＬ−ＡＩＴには、実行中の放送連動型アプリケーションApp1に関する情
報とこれから実行される放送連動型アプリケーションApp2に関する情報が記述されている
。ここで、放送連動型アプリケーションApp1に関する情報として、放送連動型アプリケー
ションApp1の終了を指示するアプリケーション制御コード"DESTROY"または"KILL"と、ア
プリケーションモード"mode1"が記述され、放送連動型アプリケーションApp2に関する情
報としては、当該放送連動型アプリケーションApp2の起動を指示するアプリケーション制
御コード"AUTOSTART"とアプリケーションモード"mode1"が記述されている。つまり各アプ
リケーションApp1、App2とも放送連動型のアプリケーションであるためアプリケーション
モードは"mode1"とされている。
【００７２】
アプリケーションコントローラ７０８は、取得したＸＭＬ−ＡＩＴにおいて各アプリケ
ーションApp1、App2ともアプリケーションモードが"mode1"であることから、電子署名の
検証を要することなく、このＸＭＬ−ＡＩＴに記述されたアプリケーション制御コードに
従って各アプリケーションApp1、App2に関する制御を開始する。
【００７３】
すなわち、ＸＭＬ−ＡＩＴに記述された放送連動型アプリケーションApp1に対するアプ
リケーション制御コード"DESTROY"または"KILL"に従って放送連動型アプリケーションApp
1を終了させる。さらに、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記
述された放送連動型アプリケーションApp2に対するアプリケーション制御コード"AUTOSTA
RT"に従って（ステップＳ２１２のＹ）、そのＸＭＬ−ＡＩＴに記述された放送連動型ア
プリケーションApp2のロケーション情報をもとにアプリケーションサーバ３００から放送
連動型アプリケーションApp2を取得し、これを起動させる（ステップＳ２１３）。この際
、アプリケーションコントローラ７０８は、放送連動型アプリケーションApp2のアプリケ
ーションモードが"mode1"に設定されているので、放送リソース提示機能などを利用でき
るモードで放送連動型アプリケーションApp2を起動させる。
【００７４】
（３．放送ＢＭＬデータからのアプリケーションの起動）
次に、放送ＢＭＬデータからアプリケーションを起動する場合の動作を説明する。
図１１は放送ＢＭＬデータからアプリケーションを起動する場合の動作例を示す図であ
る。
図１２は図１１の動作例のフローチャートである。
【００７５】
本動作例は、ＢＭＬデータ放送に放送連動型アプリケーションApp1のＸＭＬ−ＡＩＴを
情報処理装置７００に取得させるためのスクリプトが組み込まれている場合を想定してい
る。なお、データ放送はＢＭＬであることに限定されない。例えば、ＭＨＥＧ（Multimed
ia and Hypermedia Experts Group）など、マルチメディアを扱うことのできる他のマー
クアップ言語によるデータ放送も可である。
【００７６】
情報処理装置７００は、例えばリモコンなどを使ってユーザにより選局された放送設備
１００からの放送コンテンツを受信し、映像データ、音声データ、字幕データなどのデコ
ード処理などを行って、情報処理装置７００に接続された表示部及びスピーカ部にＡＶコ
ンテンツ（放送番組）を出力する（ステップＳ３０１）。
【００７７】
ＡＶコンテンツ（放送番組）の出力中、例えばリモコンなどを使ってユーザによりデー
タ放送を再生する指示が入力されると（ステップＳ３０３）、当該視聴中のＡＶコンテン
ツ（放送番組）に付随して伝送されるＢＭＬデータ放送がＡＶコンテンツ（放送番組）と
ともに提示される（ステップＳ３０４）。
【００７８】
ＢＭＬデータ放送の提示中、ユーザからの指示あるいは時間など所定の条件が成立する
と（ステップＳ３０５のＹ）、ＢＭＬデータ放送に組み込まれた上記のスクリプトが実行
されることによって、情報処理装置７００のアプリケーションコントローラ７０８は、放
送連動型アプリケーションApp1用のＸＭＬ−ＡＩＴをＸＭＬ−ＡＩＴサーバ４００から取
得し（ステップＳ３０６）、解析する（ステップＳ３０７）。
【００７９】
この放送連動型アプリケーションApp1用のＸＭＬ−ＡＩＴには、アプリケーション制御
コードとして"AUTOSTART"が指定され、アプリケーションモードとしては"mode1"が記述さ
れている。
【００８０】
アプリケーションコントローラ７０８は、放送連動型アプリケーションApp1のアプリケ
ーションモードが"mode1"であることから、電子署名の検証を要することなく、当該ＸＭ
Ｌ−ＡＩＴに記述されたロケーション情報をもとにアプリケーションサーバ３００にアク
セスして放送連動型アプリケーションApp1を取得し、これを起動させる（ステップＳ３０
８のＹ、ステップＳ３０９）。このとき、アプリケーションコントローラ７０８は、放送
連動型アプリケーションApp1のアプリケーションモードが"mode1"であることから、放送
リソース提示機能を利用できるモードで放送連動型アプリケーションApp1を起動させる。
なお、電子署名の検証の要否の判定はアプリケーションモードのみで行われるとは限ら
ない。例えば、取得したＸＭＬ−ＡＩＴが、改ざんされる可能性が小さい放送のＢＭＬ文
書に記述されたＵＲＬをもとに取得されたものである場合には、電子署名の検証は不要と
判定される。逆に、ＸＭＬ−ＡＩＴが、後述するアプリケーションランチャなど、放送以
外の伝送系を通じて取得されたものである場合には、電子署名の検証は必要と判定される
。
【００８１】
この後、情報処理装置７００のアプリケーションコントローラ７０８は、新たに取得し
たＸＭＬ−ＡＩＴに放送連動型アプリケーションApp1の終了を指示するアプリケーション
制御コード"DESTROY"、または"KILL"が記述されている場合には、このアプリケーション
制御コードに従って放送連動型アプリケーションApp1を終了させる（ステップＳ３０２の
Ｙ）。
【００８２】
また、情報処理装置７００のアプリケーションコントローラ７０８は、新たに取得した
ＸＭＬ−ＡＩＴに"AUTOSTART"、"DESTROY"、"KILL"以外のアプリケーション制御コードが
記述されている場合には、そのアプリケーション制御コードに従って放送連動型アプリケ
ーションApp1の状態を遷移させるなどの処理を行った後（ステップＳ３１０）、次のＸＭ
Ｌ−ＡＩＴを待機する。
【００８３】
（４．放送非連動型のアプリケーションの起動）
次に、放送非連動型のアプリケーションの起動に関する動作を説明する。
図１３は放送連動型アプリケーションApp1を起動した後、ＸＭＬ−ＡＩＴによって放送
非連動型アプリケーションApp3を起動する場合の動作例を示す図である。
図１４及び図１５は図１３の動作例のフローチャートである。
【００８４】
リモコンの操作による放送の選局（ステップＳ４０１）からＡＩＴセクションに基づく
放送連動型アプリケーションの取得、提示（ステップＳ４０５）までの動作は、上記の１
．ＡＩＴセクションを用いた放送連動型アプリケーションの制御と同じである。
【００８５】
この動作例では、放送連動型アプリケーションApp1に放送非連動型アプリケーションAp
p3用のＸＭＬ−ＡＩＴを情報処理装置７００に取得させるためのcreateApplication()関
数を含むスクリプトが組み込まれている場合を想定している。
【００８６】
放送連動型アプリケーションApp1の実行中、ユーザからの指示あるいは時間など所定の
条件が成立すると（ステップＳ４０７のＹ）、放送連動型アプリケーションApp1に組み込
まれた上記のスクリプトが実行されることによって、情報処理装置７００のアプリケーシ
ョンコントローラ７０８は、放送非連動型アプリケーションApp3用のＸＭＬ−ＡＩＴをＸ
ＭＬ−ＡＩＴサーバ４００から取得し、解析する（ステップＳ４０８）。
【００８７】
ここで、放送非連動型のアプリケーションは、一般的に、放送事業者とは異なるアプリ
ケーション提供事業者より提供される。このため、放送非連動型アプリケーションのＸＭ
Ｌ−ＡＩＴにはアプリケーションモードとして"mode2"が設定される。したがって、当該
ＸＭＬ−ＡＩＴには本来、電子署名が添付されているはずであり、情報処理装置７００の
側でＸＭＬ−ＡＩＴを利用するにあたって当該電子署名の検証が必須条件となる。
【００８８】
また、このＸＭＬ−ＡＩＴには、実行中の放送連動型アプリケーションApp1に関する情
報として、放送連動型アプリケーションApp1の終了を指示するアプリケーション制御コー
ド"DESTROY"または"KILL"と、アプリケーションモード"mode1"が記述され、これから実行
される放送非連動型アプリケーションApp3に関する情報として当該放送非連動型アプリケ
ーションApp3の起動を指示するアプリケーション制御コード"AUTOSTART"とアプリケーシ
ョンモード"mode2"が記述されている。さらに、このＸＭＬ−ＡＩＴには、放送非連動型
アプリケーションApp3のハッシュ値（第１の代表値）が記述されている。
【００８９】
情報処理装置７００のアプリケーションコントローラ７０８は、取得したＸＭＬ−ＡＩ
Ｔに電子署名が添付されているかどうかを判定する（ステップＳ４１０）。ＸＭＬ−ＡＩ
Ｔに電子署名が添付されている場合にはアプリケーションコントローラ７０８は当該電子
署名の検証が必要であることを判定し、検証を行う（ステップＳ４１１）。
【００９０】
また、ＸＭＬ−ＡＩＴに電子署名が添付されていない場合（ステップＳ４１０のＮ）、
アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述されたアプリケーション
モードが、電子署名の検証を必要としないモードの値である"mode1"であるかどうかを確
認する（ステップＳ４１２）。この確認で、アプリケーションモードが"mode1"であれば
、電子署名の検証が不要であることが判定される。
【００９１】
電子署名の検証に失敗した場合にはエラーが表示される（ステップＳ４２３）。電子署
名の検証に成功した場合（ステップＳ４１１のＹ）、あるいは、電子署名の検証が不要で
あることが判定された場合（ステップＳ４１２のＹ）、アプリケーションコントローラ７
０８は、ＸＭＬ−ＡＩＴに記述されたアプリケーション制御コードが"AUTOSTART"である
かどうかを判定する（ステップＳ４１３）。アプリケーション制御コードが"AUTOSTART"
であれば、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴにアプリケーション
モードの値とハッシュ値が記述されているかどうかを判定する（ステップＳ４１４、Ｓ４
１５）。ＸＭＬ−ＡＩＴにアプリケーションモードの値が設定されていない場合にはエラ
ーが表示される（ステップＳ４２３）。ＸＭＬ−ＡＩＴにアプリケーションモードの値が
記述されていれば、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述され
ているハッシュ値（Ａ）（第１の代表値）を保持する（ステップＳ４１６）。
【００９２】
次に、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述されている放送
非連動型アプリケーションApp3のロケーション情報をもとにアプリケーションサーバ３０
０から放送非連動型アプリケーションApp3を取得して、ＸＭＬ−ＡＩＴに記述されている
ハッシュ値の計算方法を示すハッシュアルゴリズムにより当該放送非連動型アプリケーシ
ョンApp3のハッシュ値（Ｂ）（第２の代表値）を計算する（ステップＳ４１７）。
【００９３】
次に、アプリケーションコントローラ７０８はハッシュ値（Ａ）とハッシュ値（Ｂ）と
を比較する（ステップＳ４１８）。一致する場合、アプリケーションコントローラ７０８
は、その放送非連動型アプリケーションApp3のアプリケーションモードが"mode2"である
ことから、その放送非連動型アプリケーションApp3を放送リソース提示機能を利用できな
いモードで起動させる（ステップＳ４１９）。一致しない場合にはエラー表示が行われる
（ステップＳ４２３）。この後は、新たなＸＭＬ−ＡＩＴに記述されているアプリケーシ
ョン制御コードに従って、放送非連動型アプリケーションApp3の状態の遷移、終了などの
制御や、その他、ユーザのリモコンの操作やイベントメッセージによるイベント処理が行
われる（ステップＳ４２０、Ｓ４２１、Ｓ４２２）。
【００９４】
（５．アプリケーションランチャから放送非連動型アプリケーションの起動）
次に、アプリケーションランチャから放送非連動型アプリケーションを起動する場合の
動作を説明する。
図１６はアプリケーションランチャから放送非連動型アプリケーションを起動する場合
の動作例を示す図である。
図１７は図１６の動作例のフローチャートである。
【００９５】
情報処理装置７００は、例えばリモコンなどを使ってユーザにより選択されたアプリケ
ーションランチャ画面を表示する。アプリケーションランチャ画面とは、情報処理装置７
００に実装された、いわゆるレジデントアプリケーションや、ＨＴＭＬブラウザによって
提示されるＨＴＭＬ５などの文書によって実現される。アプリケーションランチャ画面に
は、アプリケーションのメニューなどが表示される（ステップＳ５０１）。ユーザは例え
ばリモコンなどを使って提示させたいアプリケーションを選択することができる。アプリ
ケーションの個々のメニューには、そのメニューに対応するアプリケーション用のＸＭＬ
−ＡＩＴを情報処理装置７００に取得させるためのスクリプトなどが組み込まれている。
【００９６】
アプリケーションランチャ画面に表示されたアプリケーションのメニュー上で、リモコ
ンを使ったユーザの操作によって任意の放送非連動型アプリケーションApp3が選択される
と（ステップＳ５０２）、そのアプリケーションに対応する上記のスクリプトが実行され
ることによって、情報処理装置７００のアプリケーションコントローラ７０８は、当該ア
プリケーション用のＸＭＬ−ＡＩＴをＸＭＬ−ＡＩＴサーバ４００から取得し、解析する
（ステップＳ５０３）。
【００９７】
ここで、アプリケーションランチャ画面から選択可能な放送非連動型のアプリケーショ
ンは、一般的に、放送事業者とは異なるアプリケーション提供事業者より提供される。こ
のため、放送非連動型アプリケーションのＸＭＬ−ＡＩＴにはアプリケーションモードと
して"mode2"が設定される。したがって、当該ＸＭＬ−ＡＩＴには本来、電子署名が添付
されているはずであり、情報処理装置７００の側では、ＸＭＬ−ＡＩＴを利用するにあた
って当該電子署名の検証が必須条件となる。
【００９８】
また、このＸＭＬ−ＡＩＴには、放送非連動型アプリケーションApp3に関する情報とし
て、放送非連動型アプリケーションApp3の起動を指示するアプリケーション制御コード"A
UTOSTART"とアプリケーションモード"mode2"が記述されている。さらに、このＸＭＬ−Ａ
ＩＴには、放送非連動型アプリケーションApp3のハッシュ値が記述されている。
【００９９】
情報処理装置７００のアプリケーションコントローラ７０８は、取得したＸＭＬ−ＡＩ
Ｔに電子署名が添付されているかどうかを判定する（ステップＳ５０４）。ＸＭＬ−ＡＩ
Ｔに電子署名が添付されている場合にはアプリケーションコントローラ７０８は当該電子
署名の検証が必要であることを判定する。以降の動作は、上記の４．放送非連動型のアプ
リケーションの起動と同じである。
【０１００】
（６．電子署名およびハッシュ値の生成と検証）
次に、電子署名およびハッシュ値の生成と検証について説明する。
【０１０１】
ＸＭＬ−ＡＩＴサーバ４００およびアプリケーションサーバ３００は一台のサーバであ
ってもよく、別々のサーバであってもよい。ここでは、ＸＭＬ−ＡＩＴサーバ４００およ
びアプリケーションサーバ３００を総称して「サーバ」と呼ぶ。サーバは、典型的なコン
ピュータの構成を有する機器である。したがって、ＣＰＵ、メインメモリ、ＨＤＤなどの
ストレージデバイス、マウスやキーボードなどの入力装置、液晶ディスプレイなどの表示
部などで構成される。メインメモリおよびストレージデバイスには、ＯＳ（Operating Sy
stem）、サーバ用のアプリケーションプログラムなどのソフトウェア、情報処理装置７０
０に提供されるアプリケーション（放送連動型アプリケーション、放送非連動型アプリケ
ーション）、アプリケーション毎のＸＭＬ−ＡＩＴのファイル、署名生成鍵などが格納さ
れる。サーバ用のアプリケーションプログラムとしては、電子署名およびハッシュ値の生
成を行うプログラムなどが含まれる。
【０１０２】
図１８はサーバでの電子署名およびハッシュ値の生成と、情報処理装置７００での電子
署名およびハッシュ値の検証の方法を説明する図である。
サーバは、ＡＩＴ生成部３５０を有する。ＡＩＴ生成部３５０は、具体的にはメインメ
モリにロードされた、電子署名およびハッシュ値の生成を行うプログラムと、このプログ
ラムを実行するＣＰＵとで実現される。
【０１０３】
ＡＩＴ生成部３５０は、以下の処理を行う。
１．ＡＩＴ生成部３５０は、アプリケーション３５１の実体（バイナリコード）から所
定のハッシュ演算器３５２を用いてハッシュ値３５３を算出する。ハッシュのアルゴリズ
ムとしては、例えばFIPS PUB 180-1,180-2で標準規格化されているＳＨＡ−１やＳＨＡ−
2などがある。
【０１０４】
２．ＡＩＴ生成部３５０は、当該アプリケーション３５１のＸＭＬ−ＡＩＴ３６２にハ
ッシュ値３５３を合成（３５４）して、ハッシュ値付きのＸＭＬ−ＡＩＴ３５５を生成す
る。
【０１０５】
３．ＡＩＴ生成部３５０は、署名生成器３５６にて、ハッシュ値付きのＸＭＬ−ＡＩＴ
３５５に対して署名用のハッシュ関数を用いてダイジェストを生成し、このダイジェスト
を署名生成鍵（秘密鍵）３５７で暗号化してＸＭＬ署名３５８を生成する。
【０１０６】
４．ＡＩＴ生成部３５０は、ＸＭＬ署名３５８をハッシュ値付きのＸＭＬ−ＡＩＴ３５
５に付加（３５９）して電子署名付きのＸＭＬ−ＡＩＴ３６０を生成する。
５．そして、電子署名付きのＸＭＬ−ＡＩＴ３６０は情報処理装置７００に提供される
。
【０１０７】
情報処理装置７００のコントローラ７０８は、以下の処理を行う。
１．コントローラ７０８は、署名生成器７５３にて、サーバより取得した電子署名付き
のＸＭＬ−ＡＩＴ３６０からＸＭＬ署名を抽出し、このＸＭＬ署名を署名検証鍵（公開鍵
）７５４を用いて検証して署名検証結果７５５を得る。
【０１０８】
２．ＸＭＬ署名の検証に成功した場合、コントローラ７０８は、サーバより取得したア
プリケーション３５１の実体（バイナリコード）から所定のハッシュ演算器７５１（ハッ
シュ関数）を用いてハッシュ値７５２を算出する。ここで用いられるハッシュ関数は、サ
ーバのＡＩＴ生成部３５０のハッシュ演算器３５２のそれと同じである必要がある。そこ
でコントローラ７０８は、サーバより取得した電子署名付きのＸＭＬ−ＡＩＴ３６０に記
述されたハッシュアルゴリズムを確認して、ハッシュ演算器７５１（ハッシュ関数）のハ
ッシュアルゴリズムとの整合がとれているかどうかを判定する。もしハッシュアルゴリズ
ムの不整合が判定された場合、コントローラ７０８はハッシュ演算器７５１（ハッシュ関
数）を切り替えてサーバのＡＩＴ生成部３５０のハッシュ演算器３５２のそれと整合させ
る。
【０１０９】
３．コントローラ７０８は、サーバより取得した電子署名付きのＸＭＬ−ＡＩＴ３６０
から抽出したハッシュ値３５３とハッシュ値７５２とをハッシュ比較器７５６を用いて比
較し、一致／不一致の結果７５７を得る。
【０１１０】
４．ＸＭＬ署名の検証に失敗した場合、もしくはＸＭＬ署名の検証に成功してもハッシ
ュ値３５３とハッシュ値７５２が不一致の場合にはエラーとして終了する。
【０１１１】
［実施形態の効果等］
本実施形態では、次のような効果が得られる。
１．例えば、インターネット網といった通信路によってＸＭＬ−ＡＩＴおよびアプリケ
ーションを伝送するサービスにおいて、それらの信頼性を保持しながら情報処理装置７０
０に伝送することができる。悪意のある第三者によるＸＭＬ−ＡＩＴおよびアプリケーシ
ョンの改ざんなどを防止することが可能であり、情報処理装置７００において安全にアプ
リケーションを利用することができる。
２．より具体的には、ＸＭＬ−ＡＩＴにアプリケーションのハッシュ値を記述して情報
処理装置７００に提供されるので、情報処理装置７００はアプリケーションサーバ３００
より取得したアプリケーションに対して算出したハッシュ値とＸＭＬ−ＡＩＴにより伝達
されたハッシュ値とを比較することによって、アプリケーションの正当性を判定すること
ができる。
３．また、ハッシュ値を含むＸＭＬ−ＡＩＴには電子署名が添付され、情報処理装置７
００はこの電子署名の検証に成功しなければ、アプリケーションを取得することもできな
いようにしたので、ＸＭＬ−ＡＩＴの改ざんなどにより、不正なアプリケーションが情報
処理装置７００において実行されることを防止できる。
４．ＸＭＬ−ＡＩＴにアプリケーションモードを記述できるようにしたことで、アプリ
ケーションが利用できる機能を制御することができる。さらに、情報処理装置７００は、
ＸＭＬ−ＡＩＴに記述されたアプリケーションモードなどに基づいて電子署名の検証の要
否を一意に知ることができる。これにより例えば、放送事業者によって制作されたアプリ
ケーション用のＸＭＬ−ＡＩＴについては電子署名の検証をスキップできることで、トー
タル的な速度向上を期待できる。
【０１１２】
＜変形例等＞
なお、上記の実施形態では、ハッシュ関数を用いてアプリケーションのハッシュ値を算
出することとしたが、その変形例として、図１９に示すように、ＨＭＡＣ（Keyed-Hashin
g for Message Authentication）演算器３５２Ａ、７５１Ａを用いる方法がある。ＨＭＡ
Ｃ演算器３５２Ａ、７５１Ａは、ＳＨＡ−１、ＳＨＡ−２などのハッシュ関数を秘密の共
有鍵（ハッシュキー）３６１Ａ、７５８Ａと組み合わせて使用することでハッシュ値３５
３Ａ、７５２Ａを算出する。その他は、上記の実施形態と同様である。
【０１１３】
また、以上の実施形態では、アプリケーションの代表値としてハッシュ値を用いる場合
について説明したが、アプリケーションのバイナリコードから所定の演算によって得られ
る値であれば、ハッシュ演算以外の方式を採用してもよい。
【０１１４】
ＨｂｂＴＶの標準規格を前提とした実施形態を説明したが、本技術は、ＨｂｂＴＶの標
準規格を前提とすることに必ずしも限定されるものではない。
【０１１５】
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸
脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０１１６】
１…情報処理システム
１１．２１…アプリケーション制御コード
２２…アプリケーションモード記述子
２３…アプリケーションハッシュ記述子
１００…放送設備
２００…第１のネットワーク
３００…アプリケーションサーバ
３５０…ＡＩＴ生成部
３５１…アプリケーション
３５２…ハッシュ演算器
３５３…ハッシュ値
３５５…ＡＩＴ
３５６…署名生成器
３５７…署名生成鍵
３５８…ＸＭＬ署名
３６０…ＡＩＴ
４００…ＡＩＴサーバ
６００…第２のネットワーク
７００…情報処理装置
７０１…放送インタフェース
７０２…デマルチプレクサ
７０３…出力処理部
７０４…映像デコーダ
７０５…音声デコーダ
７０６…字幕デコーダ
７０７…通信インタフェース
７０８…アプリケーションコントローラ
７５１…ハッシュ演算器
７５２…ハッシュ値
７５３…署名生成器
７５４…署名検証鍵
７５５…署名検証結果
７５６…ハッシュ比較器
【図１】
0006456426.tif 000002
【図２】
0006456426.tif 000003
【図３】
0006456426.tif 000004
【図４】
0006456426.tif 000005
【図５】
0006456426.tif 000006
【図６】
0006456426.tif 000007
【図７】
0006456426.tif 000008
【図８】
0006456426.tif 000009
【図９】
0006456426.tif 000010
【図１０】
0006456426.tif 000011
【図１１】
0006456426.tif 000012
【図１２】
0006456426.tif 000013
【図１３】
0006456426.tif 000014
【図１４】
0006456426.tif 000015
【図１５】
0006456426.tif 000016
【図１６】
0006456426.tif 000017
【図１７】
0006456426.tif 000018
【図１８】
0006456426.tif 000019
【図１９】
0006456426.tif 000020