JP6456426B2 - 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム - Google Patents

情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム Download PDF

Info

Publication number
JP6456426B2
JP6456426B2 JP2017082531A JP2017082531A JP6456426B2 JP 6456426 B2 JP6456426 B2 JP 6456426B2 JP 2017082531 A JP2017082531 A JP 2017082531A JP 2017082531 A JP2017082531 A JP 2017082531A JP 6456426 B2 JP6456426 B2 JP 6456426B2
Authority
JP
Japan
Prior art keywords
application
information
broadcast
electronic signature
ait
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017082531A
Other languages
English (en)
Other versions
JP2017158195A (ja
Inventor
淳 北原
淳 北原
北里 直久
直久 北里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Saturn Licensing LLC
Original Assignee
Saturn Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Saturn Licensing LLC filed Critical Saturn Licensing LLC
Publication of JP2017158195A publication Critical patent/JP2017158195A/ja
Application granted granted Critical
Publication of JP6456426B2 publication Critical patent/JP6456426B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Description

本技術は、アプリケーション管理テーブルを用いて放送コンテンツに関連するアプリケ
ーションを実行することが可能な情報処理装置、アプリケーション管理テーブルを供給す
るサービスを行うサーバ装置、これらの装置に関連する情報処理方法、サーバ処理方法お
よびプログラムに関する。
近年、放送コンテンツの再生と同時に、インターネット等のネットワークを通じて配信
されるアプリケーションの実行を行うことを可能とする技術が知られている。このような
技術として、ハイブリッドブロードバンド放送(Hybrid Broadcast Broadband TV、以下
「HbbTV」と称する。)と呼ばれる技術が知られている。HbbTVの標準規格とし
て、欧州では「ETSI TS 102 796」(非特許文献1参照。)が策定されている。また、我
が国でもこれに準拠した標準規格「ARIB STD-B23」(非特許文献2参照。)が策定されて
いる。
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(平成23年10月21日閲覧) 社団法人電波産業会「デジタル放送におけるアプリケーション実行環境 標準規格 ARIB STD-B23 1.2版」http://www.arib.or.jp/english/html/overview/doc/2-STD-B23v1_2.pdf(平成23年10月21日閲覧)
例えばHbbTVなどのように、放送コンテンツの再生と同時にアプリケーションが実
行されるシステムでは、アプリケーションの起動から終了までのライフサイクルが、放送
コンテンツに重畳されたAITセクション(Application Information Table)と呼ばれ
るデータ構造によって管理される。AITセクションを取得した情報端末は、AITセク
ションに含まれるアプリケーション制御用のコードをもとにアプリケーションの制御を行
う。
また、放送AITセクションと同等の情報を有し、インターネットなど通信網を利用し
て受信機にアプリケーションに関する情報を提供するために最適なフォーマットとして、
XML形式で記述されたAITセクションであるXML−AITがある。
しかしながら、XML−AITは、インターネットを通じて提供されるファイルである
ことから、悪意のある第三者による改ざんなどの危険に晒されたものと言える。XML−
AITが改ざんされると、意図しないアプリケーションサーバのアプリケーションをダウ
ンロードするように誘導されたり、正規とは異なるアプリケーションの制御が実行された
りするなどの可能性が生じる。
また、アプリケーションには、放送から番組やデータを受信して提示するなど、様々な
機能を利用できるものが多い。しかし、このようなアプリケーションが利用することので
きる機能の中の一部を利用不可とするためには、アプリケーションそのものに変更を加え
るなど、時間と手間がかかる。
以上のような事情に鑑み、本技術の目的は、アプリケーションの信頼性の向上を図るこ
とのできる情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム
を提供することにある。
上記の課題を解決するために、本技術に係る情報処理装置は、放送コンテンツを受信し
処理する放送コンテンツ処理部と、電子署名が添付され、前記放送コンテンツとともに処
理するアプリケーションを取得するために必要なロケーション情報が格納されたアプリケ
ーション情報テーブルを取得し、前記電子署名を検証し、少なくとも当該検証に成功した
場合に、前記ロケーション情報をもとに前記アプリケーションを取得することを可能とす
るコントローラとを具備する。
前記アプリケーション情報テーブルには、前記アプリケーションから所定の演算によっ
て求められた当該アプリケーションを代表する第1の代表値が格納され、
前記コントローラは、前記取得したアプリケーションに対して前記所定の演算によって
当該アプリケーションを代表する第2の代表値を算出し、前記第1の代表値と前記第2の
代表値を比較して当該アプリケーションの検証を行うものであってよい。
前記アプリケーション情報テーブルには、モード情報が格納され、前記コントローラは
、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記アプリ
ケーションが利用できる機能を制御するものであってよい。
前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報
をもとに、前記電子署名の検証の要否を判定するものであってよい。
本技術に係るサーバ装置は、電子署名が添付され、放送コンテンツとともに処理するア
プリケーションを情報処理装置に取得させるために必要なロケーション情報が格納された
アプリケーション情報テーブルを生成し、前記情報処理装置からの当該アプリケーション
情報テーブルの取得要求に応じて応答する生成部を有する。
前記生成部は、前記アプリケーションから所定の演算によって求められた当該アプリケ
ーションを代表する第1の代表値を前記アプリケーション情報テーブルに付加するもので
あってよい。
前記生成部は、前記アプリケーションが利用できる機能を制御するモード情報を前記ア
プリケーション情報テーブルに付加するものであってよい。
本技術に係る情報処理方法は、コントローラが、電子署名が添付され、放送コンテンツ
とともに処理するアプリケーションを取得するために必要なロケーション情報が格納され
たアプリケーション情報テーブルを取得し、前記電子署名を検証し、少なくとも当該検証
に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得すること
を可能とする。
本技術に係るサーバ処理方法は、生成部が、電子署名が添付され、放送コンテンツとと
もに処理するアプリケーションを情報処理装置に取得させるために必要なロケーション情
報が格納されたアプリケーション情報テーブルを生成し、前記情報処理装置からの当該ア
プリケーション情報テーブルの取得要求に応じて応答する。
本技術に係るプログラムは、放送コンテンツを受信し処理する放送コンテンツ処理部と
、電子署名が添付され、前記放送コンテンツとともに処理するアプリケーションを取得す
るために必要なロケーション情報が格納されたアプリケーション情報テーブルを取得し、
前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報を
もとに前記アプリケーションを取得することを可能とするコントローラとしてコンピュー
タを機能させる。
以上のように、本技術によれば、アプリケーションの信頼性の向上を図ることができる
本実施形態の情報処理システムの概要を示す図である。 AITセクションのデータ構造を示す図である。 XML−AITのデータ構造を示す図である。 アプリケーションモード記述子およびアプリケーションハッシュ記述子のデータ構造を示す図である。 AITセクションおよびXML−AITに指定されるアプリケーション制御コードの定義を示す図である。 本実施形態の情報処理装置の構成を示すブロック図である。 AITセクションを用いたアプリケーションの制御の動作例を示す図である。 図7の動作例のフローチャートである。 XML−AITを用いたアプリケーションの起動の動作例を示す図である。 図9の動作例のフローチャートである。 放送BMLデータからアプリケーションを起動する場合の動作例を示す図である。 図11の動作例のフローチャートである。 放送連動型アプリケーションを起動した後、XML−AITによって放送非連動型アプリケーションを起動する場合の動作例を示す図である。 図13の動作例のフローチャートである。 図13の動作例のフローチャートである。 アプリケーションランチャから放送非連動型アプリケーションを起動する場合の動作例を示す図である。 図16の動作例のフローチャートである。 電子署名およびハッシュ値の生成と検証の方法を説明する図である。 電子署名およびハッシュ値の生成と検証の方法の変形例を説明する図である。
以下、本技術の実施の形態を図面をもとに説明する。
<第1の実施形態>
[情報処理システム]
図1は、本実施形態の情報処理システムの概要を示す図である。
本実施形態の情報処理システム1は、放送設備100と、インターネットなどの第1の
ネットワーク200と、アプリケーションサーバ300と、XML−AITサーバ400
と、エッジルータ500と、LAN(Local Area Network)などの第2のネットワーク6
00と、情報処理装置700とを有する。
放送設備100は、例えば、地上波、衛星波、IP(Internet Protocol)ネットワー
クなどの通信媒体を介してデジタル放送信号を送信する。放送設備100は、映像、音声
、字幕などの各ストリームが多重化されたAVストリームと、AVストリームに付随する
データなどが重畳されたいわゆる放送ストリームを送出する。AVストリームに付随する
データとしては、HTML、BMLなどなどのマークアップ言語、Java(登録商標)スク
リプトなどのスクリプト言語で記述されたアプリケーション、アプリケーションを管理す
るための情報からなるAITセクション(Application Information Table)セクション
などが含まれる。ここで放送設備100より放送されるアプリケーションを「放送アプリ
ケーション」と呼ぶ。
アプリケーションサーバ300は、第1のネットワーク200に接続可能とされ、第1
のネットワーク200を通じて情報処理装置700に、放送ストリームとともに処理され
るアプリケーションを提供する。ここで、放送ストリームとともに処理されるアプリケー
ションには、放送コンテンツに関連する放送連携型アプリケーションと、放送コンテンツ
に関連しない放送非連携型アプリケーションとがある。放送連携型アプリケーションは、
放送から番組やデータなどの様々なリソースを取得して提示することができるアプリケー
ションである。一方、放送非連携型アプリケーションは放送コンテンツと関連しないため
、放送リソースにアクセスすることのないアプリケーションである。
XML−AITサーバ400は、第1のネットワーク200に接続可能とされ、第1の
ネットワーク200を通じて情報処理装置700に、アプリケーションサーバ300から
提供されるアプリケーションを管理するためのXML(Extensible Markup Language)−
AITを配信する。
なお、アプリケーションサーバ300とXML−AITサーバ400は1つのサーバで
あってもよい。
エッジルータ500は、第1のネットワーク200と第2のネットワーク600とを接
続するためのルータである。第2のネットワーク600は有線、無線を問わない。
情報処理装置700は、例えば、パーソナルコンピュータ、携帯電話、スマートフォン
、テレビジョン装置、ゲーム機、タブレット端末、オーディオ・ビデオ再生機器などであ
るが、具体的に製品形態は問わない。
情報処理装置700は、放送設備100からデジタル放送信号を受信し、復調してトラ
ンスポートストリームを得る。情報処理装置700は、このトランスポートストリームか
ら放送ストリームを分離し、デコードして情報処理装置700に接続される表示部(図示
せず)及びスピーカ部(図示せず)や、記録装置(図示せず)に出力することが可能であ
る。
なお、表示部、スピーカ部および記録装置はそれぞれ、情報処理装置700と一体であ
ってもよいし、互いに独立した機器として直接又は第2のネットワーク600を介して情
報処理装置700に接続されていてもよい。あるいは、表示部及びスピーカ部を有する機
器(図示せず)が直接又は第2のネットワーク600を介して情報処理装置700に接続
されていてもよい。
また、情報処理装置700は、取得したトランスポートストリームからアプリケーショ
ンや、AITセクションを含むPSI/SIを抽出し、当該AITセクションを解釈して
アプリケーションの制御を行うことが可能である。情報処理装置700は、アプリケーシ
ョンが可視的なアプリケーションである場合には、このアプリケーションの実行により生
成された映像信号を、上記放送コンテンツの映像信号及び字幕信号と合成して表示部に出
力することが可能である。
さらに、情報処理装置700は、第1のネットワーク200、エッジルータ500及び
第2のネットワーク600を通じて、アプリケーションサーバ300からアプリケーショ
ンを取得することができる。同様に情報処理装置700は、XML−AITサーバ400
からXML−AITのファイルを取得することができる。情報処理装置700は、取得し
たXML−AITを解釈して、アプリケーションサーバ300から取得したアプリケーシ
ョンや放送を通じて取得したアプリケーションを制御することが可能である。
[アプリケーション]
ここで、アプリケーションについて説明する。アプリケーションは、放送設備100お
よびアプリケーションサーバ300から情報処理装置700に提供される。アプリケーシ
ョンは、例えばHTML(Hyper Text Markup Language)文書、BML文書(Broadcast Mark
up Language)、MHEG文書(Multimedia and Hypermedia information coding)、Java(
登録商標)スクリプト、静止画ファイル、動画ファイルなどで構成される。
アプリケーションは可視的なものであっても不可視的なものであってもよい。可視的な
アプリケーションとは、画面を通じてその状態をユーザが視ることのできるアプリケーシ
ョンである。不可視的なアプリケーションは、画面を通じてその状態をユーザが視ること
のできないアプリケーションである。例えば、ブラウザがユーザに不可視の透明な状態で
起動中であるときに利用されるアプリケーションや、視聴率調査などを目的として情報処
理装置にて視聴された放送コンテンツを特定するための情報や視聴時間を記録して特定の
サーバに配信したりするアプリケーションなどが考えられる。
また、アプリケーションは、情報処理装置700のユーザの操作に従って提示する情報
や機能を変えることができる双方向型アプリケーションでもよいし、ユーザに対して一方
向に情報を提示するアプリケーションでもよい。
さらに、アプリケーションには、放送コンテンツに連動した放送連動型アプリケーショ
ンと、放送コンテンツに連動しない放送非連動型アプリケーションとがある。
[AITセクション及びXML−AITのデータ構造]
ここで、放送設備100からAITセクションとして伝送されるAITのデータ構造と
、アプリケーションサーバ300から提供されるXML−AITのデータ構造について説
明する。なお、本明細書で単に「AIT」と記述するときは、放送設備100からAIT
セクションで伝送されるAITのことを言う。
図2は、本実施形態のAITのデータ構造を示す図である。
AITは、アプリケーションに関する種々の情報や、アプリケーションを制御するため
のアプリケーション制御コード等が格納されるテーブルである。具体的には、AITには
、テーブルID、セクションシンタックス指示、セクション長、アプリケーション形式、
バージョン番号、カレントネクスト指示、セクション番号、最終セクション番号、共通記
述子ループ長、アプリケーション情報ループ長、アプリケーション識別子、アプリケーシ
ョン制御コード11、アプリケーション記述子ループ長、アプリケーション記述子等が格
納される。
図3は、本実施形態のXML−AITのデータ構造を示す図である。
XML−AITには、アプリケーション毎の、アプリケーション名、アプリケーション
識別子、アプリケーション記述子、アプリケーションタイプ、アプリケーション制御コー
ド21、アプリケーションの可視性、現在のサービス内でのみ有効かを示すフラグ、アプ
リケーションの優先度、アプリケーションのバージョン、プラットフォームプロファイル
にあわせたバージョン、アイコン、ストレージ機能の性能、トランスポートプロトコル記
述子、アプリケーションロケーション記述子、アプリケーションバウンダリ記述子、アプ
リケーションスペシフィック記述子、アプリケーションユーセジ記述子、アプリケーショ
ンモード記述子22、アプリケーションハッシュ記述子23等が格納される。
このXML−AITには、改ざんを検出するための電子署名が添付される。電子署名と
しては、例えばXML署名などが用いられる。XML署名の形式は、XML−AITに対
して独立したdetached署名、XML−AITを包含した形式を有するenveloping署名、X
ML−AITに包含された形式のenveloped署名のいずれであるかを問わない。なお、X
ML−AITのフォーマットへの影響を抑えるにはdetached署名を採用するのがよい。
情報処理装置700のアプリケーションコントローラ708は、リファレンス検証(Re
ference Validation)と署名検証(Signature Validation)とを含むコア検証(Core Val
idation)の手続きに従って、XML署名を検証する。
リファレンス検証とは、リソース(XML−AIT)に正規化変換プロセス(Transfor
m)及びダイジェスト計算アルゴリズム(DigestMethod)を適用することにより、リファ
レンス(Reference)のダイジェスト値(DigestValue)を検証する方式である。リファレ
ンス検証により得られた結果と、登録されたダイジェスト値(DigestValue)とが比較さ
れ、これらが一致しない場合、検証失敗となる。
署名検証とは、署名情報(SignatureInfo)要素をXML正規化アルゴリズム(Canonic
alizationMethod)で指定された正規化方式でシリアル化し、鍵情報(KeyInfo)等を用い
て鍵データを取得し、署名アルゴリズム(SignatureMethod)で指定された方式を用いて
署名を検証する方式である。
上記のXML−AITのデータ構造において、アプリケーションモード記述子22およ
びアプリケーションハッシュ記述子23は本技術に係る実施形態のシステムから新規に導
入された情報である。
図4はアプリケーションモード記述子22およびアプリケーションハッシュ記述子23
のデータ構造を示す図である。
アプリケーションモード記述子22は、アプリケーションモード記述子22を識別する
記述子タグ、記述子長、アプリケーションのモードを示すアプリケーションモードなどで
構成される。
アプリケーションモードは、アプリケーションが利用できる機能(API:Applicatio
n Program Interface)を制御するための情報である。アプリケーションによって利用が
制限される機能としては、例えば、放送の番組やデータなどの様々な放送リソースにアク
セスして提示する放送リソース提示機能などが挙げられる。より詳細には、放送連動型ア
プリケーションは、その放送リソース提示機能を利用できるようにアプリケーションモー
ドの値が設定され、放送に無関係(連動しない)放送非連動型アプリケーションは、その
放送リソース提示機能を利用できないようにアプリケーションモードの値が設定される。
なお、アプリケーションモードによって、利用できるかどうかが切り替えられる機能は放
送リソース提示機能に限られない。
ここで、放送連動型アプリケーションに対して設定されるアプリケーションモードを"m
ode1"、放送非連動型アプリケーションに対して設定されるアプリケーションモードを"mo
de2"とした場合を想定する。
この想定においては、アプリケーションモードは、情報処理装置において電子署名の検
証の要否を知るための情報として利用することができる。すなわち、情報処理装置はアプ
リケーションモードが"mode1"であるとき電子署名の検証が不要と判定し、"mode2"である
とき電子署名の検証が必要であることを判定する。但し、これは1つの運用形態に過ぎず
、放送連動型アプリケーションについても電子署名の検証を必要とすることとしてもよい
アプリケーションハッシュ記述子23は、記述子タグ、記述子長、ハッシュ値の計算方
法を示すハッシュアルゴリズム、ハッシュ値長、ハッシュ値などで構成される。ハッシュ
値は、アプリケーションのハッシュ値であり、所定のハッシュ関数などによってアプリケ
ーションの実体から生成された値であり、そのアプリケーションを代表する値と言うこと
ができる。このハッシュ値の利用方法については後で説明する。
[アプリケーション制御コードの定義]
アプリケーションのライフサイクルは、AITセクション及びXML−AITに格納さ
れるアプリケーション制御コード11、21をもとに、情報処理装置700によって動的
に制御される。
図5はAITセクション及びXML−AITに格納されるアプリケーション制御コード
11、21の定義を示す図である。
同図に示すように、アプリケーション制御コードとしては、"AUTOSTART"、"PRESENT"、
"DESTROY"、"KILL"、"PREFETCH"、"REMOTE"、"DISABLED"、"PLAYBACK_AUTOSTART"が標準
規格上存在する。これらアプリケーション制御コードの定義は以下のとおりである。
"AUTOSTART"は、サービスの選択に伴いアプリケーションを自動で起動することを指示
するコードである。アプリケーションが既に実行されている場合にはこの限りでない。
"PRESENT"は、サービスが選択されている間、アプリケーションを実行可能な状態とす
ることを指示するコードである。但し、対象のアプリケーションは、サービスの選択に伴
って自動的にアプリケーションは起動されず、ユーザからの起動の指示を受けて起動され
る。
"DESTROY"は、アプリケーションの終了の許可を指示するコードである。
"KILL"は、アプリケーションの強制的な終了を指示するコードである。
"PREFETCH"は、アプリケーションのキャッシュを指示するコードである。
"REMOTE"は、現在のトランスポートストリームでは取得できないアプリケーションであ
ることを示すコードである。そのアプリケーションは、別のトランスポートストリームあ
るいはキャッシュから取得して利用可能となる。
"DISABLED"は、アプリケーションの起動を禁止することを示すコードである。
"PLAYBACK_AUTOSTART"は、ストレージ(記録装置)に録画された放送コンテンツの再生
に伴いアプリケーションを起動させるためのコードである。
[第1の情報処理装置の構成]
図6は本実施形態の情報処理装置700の構成を示すブロック図である。
情報処理装置700は、放送インタフェース701、デマルチプレクサ702、出力処
理部703、映像デコーダ704、音声デコーダ705、字幕デコーダ706、通信イン
タフェース707、アプリケーションコントローラ708(コントローラ)を有する。
放送インタフェース701は、アンテナ及びチューナを有し、これらを用いてユーザに
より選局されたデジタル放送信号を受信する。放送インタフェース701は、受信したデ
ジタル放送信号に対して復調処理などを施して得たトランスポートストリームをデマルチ
プレクサ702に出力する。
デマルチプレクサ702は、トランスポートストリームから放送コンテンツのストリー
ムパケット、アプリケーションのパケット、AITセクションのパケットをそれぞれ分離
する。デマルチプレクサ702は、放送コンテンツのストリームパケットから映像ES(
Elementary Stream)、音声ES、字幕ESを分離する。デマルチプレクサ702は、映
像ESを映像デコーダ704に、音声ESを音声デコーダ705に、字幕ESを字幕デコ
ーダ706に、そしてアプリケーションのパケット、およびAITセクションを含むPS
I/SI(Program Specific Information/Service Information)のパケットをアプリケ
ーションコントローラ708にそれぞれ分配する。
映像デコーダ704は、映像ESをデコードして映像信号を生成し、生成した映像信号
を出力処理部703に出力する。音声デコーダ705は、音声ESをデコードして音声信
号を生成し、生成した音声信号を出力処理部703に出力する。
字幕デコーダ706は、字幕ESをデコードして字幕信号を生成し、生成した字幕信号
を出力処理部703に出力する。
放送インタフェース701、デマルチプレクサ702、出力処理部703、映像デコー
ダ704、音声デコーダ705、字幕デコーダ706は、放送コンテンツを受信して処理
する放送コンテンツ処理部である。
通信インタフェース707は、LANなどの第2のネットワーク600を通じて外部の
機器と通信を行うためのインタフェースである。通信インタフェース707は無線による
通信、有線による通信を問わない。
アプリケーションコントローラ708は、アプリケーションの制御に関する処理を行う
コントローラである。
出力処理部703は、映像デコーダ704からの映像信号、音声デコーダ705からの
音声信号、字幕デコーダ706からの字幕信号及びアプリケーションコントローラ708
からの映像信号や音声信号等を合成し、情報処理装置700に接続された記録装置(図示
せず)、表示部及びスピーカ部(図示せず)に出力する。
上記の情報処理装置700の少なくともアプリケーションコントローラ708を含む構
成の一部または全ては、CPU(Central Processing Unit)およびメモリを有するコン
ピュータとプログラムとにより提供することが可能である。
[情報処理システム1の動作]
次に、本実施形態の情報処理システム1の動作を説明する。
動作の説明は、
1.AITセクションを用いたアプリケーションの起動
2.XML−AITを用いたアプリケーションの起動
3.放送BMLデータからのアプリケーションの起動
4.放送非連動型のアプリケーションの起動
5.アプリケーションランチャから放送非連動型アプリケーションの起動
6.電子署名およびハッシュ値の生成と検証
の順で行う。
(1.AITセクションを用いたアプリケーションの起動)
図7はAITセクションを用いたアプリケーションの起動の動作例を示す図である。
図8は図7の動作例のフローチャートである。
情報処理装置700は、例えばリモコンなどを使ってユーザにより選局された放送設備
100からの放送コンテンツを受信し、映像データ、音声データ、字幕データなどのデコ
ード処理などを行って、情報処理装置700に接続された表示部及びスピーカ部に放送コ
ンテンツを出力する(ステップS101)。
具体的には、放送インタフェース701が、ユーザにより選局された放送設備100か
ら放送コンテンツのデジタル放送信号を受信し、復調処理などを施して得たトランスポー
トストリームをデマルチプレクサ702に出力する。デマルチプレクサ702はトランス
ポートストリームから放送コンテンツのストリームパケットを分離し、さらに放送コンテ
ンツのストリームパケットを映像ES、音声ES、字幕ESに分離する。分離された映像
ES、音声ES、字幕ESはそれぞれ、映像デコーダ704、音声デコーダ705、字幕
デコーダ706にてデコードされ、出力処理部703にて合成されて表示部及びスピーカ
部に出力される。
この例では、放送設備100から時刻T1に、放送連動型アプリケーションApp1に関す
るAITが格納されたAITセクションが放送コンテンツに重畳して伝送される。このA
ITセクションには放送連動型アプリケーションApp1のロケーション情報と起動を指示す
るアプリケーション制御コード"AUTOSTART"が格納されている。ここで、放送連動型アプ
リケーションApp1はアプリケーションサーバ300から取得される場合を想定しているた
め、ロケーション情報はそのアプリケーションサーバ300から当該放送連動型アプリケ
ーションApp1を取得するために必要な情報として、HTTP(Hypertext Transfer Proto
col)などの通信プロトコル情報とURL(Uniform Resource Locator)などで構成され
る。
デマルチプレクサ702はトランスポートストリームから放送連動型アプリケーション
App1のパケットとAITセクションのパケットを分離してアプリケーションコントローラ
708に供給する。アプリケーションコントローラ708はAITセクションを取得する
と(ステップS102)、これを解析する(ステップS103)。
なお、本実施形態では、AITセクションは悪意のある第三者によって改ざんされる可
能性は極めて低いという理由から、電子署名の検証は不要とされている。
この動作例では、AITセクションにアプリケーション制御コードとして"AUTOSTART"
が指定されているので、アプリケーションコントローラ708は、当該AITセクション
に記述されたロケーション情報をもとにアプリケーションサーバ300にアクセスして放
送連動型アプリケーションApp1を取得し、これを起動させる(ステップS104のN、ス
テップS105のY、ステップS106)。起動された放送連動型アプリケーションApp1
は、例えば、表示部に表示された放送番組Aの映像とともに可視化(提示)される。
続いて、時刻T2にAITセクションの更新が発生したものとする。情報処理装置70
0のアプリケーションコントローラ708は、AITセクションのデータ構造の中のバー
ションナンバーをもとにAITセクションの更新が発生したことを知ることができる。こ
こで、更新されたAITセクションには、放送連動型アプリケーションApp1の終了を指示
するアプリケーション制御コード"DESTROY"または"KILL"と、次の放送連動型アプリケー
ションApp2の起動を指示するアプリケーション制御コード"AUTOSTART"が記述されている
ものとする。
情報処理装置700のアプリケーションコントローラ708は、新たなAITセクショ
ンを取得すると(ステップS102)、このAITセクションに記述された放送連動型ア
プリケーションApp1に対するアプリケーション制御コード"DESTROY"または"KILL"に従っ
て放送連動型アプリケーションApp1を終了させる(ステップS104のY、エンド)。ま
た、アプリケーションコントローラ708は、当該AITセクションに放送連動型アプリ
ケーションApp2に対するアプリケーション制御コードとして格納された"AUTOSTART"に従
って放送連動型アプリケーションApp2を取得し(ステップS105のY、S106)、こ
れを起動させる(ステップS105)。これにより、放送連動型アプリケーションApp1に
代わって放送連動型アプリケーションApp2が放送番組Aの映像とともに提示される。
なお、アプリケーションコントローラ708は、取得したAITセクションに"AUTOSTA
RT"、"DESTROY"、"KILL"以外のアプリケーション制御コードが記述されている場合には、
そのアプリケーション制御コードに従って放送連動型アプリケーションの状態を遷移させ
るなどの処理を行った後(ステップS107)、次のAITセクションを待機する。
図7において、放送連動型アプリケーションApp1および放送連動型アプリケーションAp
p2は放送番組の映像に対して領域を分けてL字形に表示されるものとしたが、必ずしも放
送番組の映像と同時に表示される必要はなく、全画面に表示してもよい。また、放送番組
の映像に対して領域を分けて表示するにしても、縦横に分離して表示したり、左右に分離
して表示させるようにしてもよい。アプリケーションを全画面に表示させる場合、放送番
組の映像が表示されなくなるが、この状態においても、放送インタフェース701のチュ
ーナは選局状態にあり、AITセクションを含む放送ストリームの受信状態が継続される
上記のように、放送連動型アプリケーションを時間によって切り替えて情報処理装置7
00に提示させるサービスの具体的な態様としては、例えば、次のようなものが挙げられ
る。
1.歌手のコンサート全体を映す動画が主映像としてAVストリームで伝送される場合
に、その様子を別の角度から撮影したり、歌手をズーム撮影したりした副映像、その歌手
やコンサートに関する文字データなどの情報を提供するためのアプリケーション。
2.様々な国の言語によるスポーツ実況の音声や字幕を提供するためのアプリケーショ
ン。
3.目の不自由な人向けにAVストリームで伝送される映像の内容を音声で説明するた
めのオーディオディスクリプションのアプリケーション。
(2.XML−AITを用いたアプリケーションの起動)
図9はXML−AITを用いたアプリケーションの起動の動作例を示す図である。
図10は図9の動作例のフローチャートである。
ユーザによるリモコンの操作による放送の選局(ステップS201)からAITセクシ
ョンに基づく放送連動型アプリケーションの取得、提示(ステップS208)までの動作
は、上記の1.AITセクションを用いたアプリケーションの起動と同じである。
この動作例では、提示中の放送連動型アプリケーションApp1に、次に提示させる放送連
動型アプリケーションApp2用のXML−AITを情報処理装置700に取得させるための
createApplication()関数などを含むスクリプトが組み込まれている場合を想定している
。createApplication()関数には、引数として、その放送連動型アプリケーションApp2用
のXML−AITにアクセスするために必要な通信プロトコルに関する情報とXML−A
ITのロケーション情報などが記述されている。
放送連動型アプリケーションApp1の提示中、ユーザからの指示あるいは時間など所定の
条件が成立すると(ステップS209のY)、放送連動型アプリケーションApp1に組み込
まれた上記のスクリプトが実行されることによって、情報処理装置700のアプリケーシ
ョンコントローラ708は、新たなXML−AITをXML−AITサーバ400から取
得し(ステップS210)、解析する(ステップS211)。
この新たなXML−AITには、実行中の放送連動型アプリケーションApp1に関する情
報とこれから実行される放送連動型アプリケーションApp2に関する情報が記述されている
。ここで、放送連動型アプリケーションApp1に関する情報として、放送連動型アプリケー
ションApp1の終了を指示するアプリケーション制御コード"DESTROY"または"KILL"と、ア
プリケーションモード"mode1"が記述され、放送連動型アプリケーションApp2に関する情
報としては、当該放送連動型アプリケーションApp2の起動を指示するアプリケーション制
御コード"AUTOSTART"とアプリケーションモード"mode1"が記述されている。つまり各アプ
リケーションApp1、App2とも放送連動型のアプリケーションであるためアプリケーション
モードは"mode1"とされている。
アプリケーションコントローラ708は、取得したXML−AITにおいて各アプリケ
ーションApp1、App2ともアプリケーションモードが"mode1"であることから、電子署名の
検証を要することなく、このXML−AITに記述されたアプリケーション制御コードに
従って各アプリケーションApp1、App2に関する制御を開始する。
すなわち、XML−AITに記述された放送連動型アプリケーションApp1に対するアプ
リケーション制御コード"DESTROY"または"KILL"に従って放送連動型アプリケーションApp
1を終了させる。さらに、アプリケーションコントローラ708は、XML−AITに記
述された放送連動型アプリケーションApp2に対するアプリケーション制御コード"AUTOSTA
RT"に従って(ステップS212のY)、そのXML−AITに記述された放送連動型ア
プリケーションApp2のロケーション情報をもとにアプリケーションサーバ300から放送
連動型アプリケーションApp2を取得し、これを起動させる(ステップS213)。この際
、アプリケーションコントローラ708は、放送連動型アプリケーションApp2のアプリケ
ーションモードが"mode1"に設定されているので、放送リソース提示機能などを利用でき
るモードで放送連動型アプリケーションApp2を起動させる。
(3.放送BMLデータからのアプリケーションの起動)
次に、放送BMLデータからアプリケーションを起動する場合の動作を説明する。
図11は放送BMLデータからアプリケーションを起動する場合の動作例を示す図であ
る。
図12は図11の動作例のフローチャートである。
本動作例は、BMLデータ放送に放送連動型アプリケーションApp1のXML−AITを
情報処理装置700に取得させるためのスクリプトが組み込まれている場合を想定してい
る。なお、データ放送はBMLであることに限定されない。例えば、MHEG(Multimed
ia and Hypermedia Experts Group)など、マルチメディアを扱うことのできる他のマー
クアップ言語によるデータ放送も可である。
情報処理装置700は、例えばリモコンなどを使ってユーザにより選局された放送設備
100からの放送コンテンツを受信し、映像データ、音声データ、字幕データなどのデコ
ード処理などを行って、情報処理装置700に接続された表示部及びスピーカ部にAVコ
ンテンツ(放送番組)を出力する(ステップS301)。
AVコンテンツ(放送番組)の出力中、例えばリモコンなどを使ってユーザによりデー
タ放送を再生する指示が入力されると(ステップS303)、当該視聴中のAVコンテン
ツ(放送番組)に付随して伝送されるBMLデータ放送がAVコンテンツ(放送番組)と
ともに提示される(ステップS304)。
BMLデータ放送の提示中、ユーザからの指示あるいは時間など所定の条件が成立する
と(ステップS305のY)、BMLデータ放送に組み込まれた上記のスクリプトが実行
されることによって、情報処理装置700のアプリケーションコントローラ708は、放
送連動型アプリケーションApp1用のXML−AITをXML−AITサーバ400から取
得し(ステップS306)、解析する(ステップS307)。
この放送連動型アプリケーションApp1用のXML−AITには、アプリケーション制御
コードとして"AUTOSTART"が指定され、アプリケーションモードとしては"mode1"が記述さ
れている。
アプリケーションコントローラ708は、放送連動型アプリケーションApp1のアプリケ
ーションモードが"mode1"であることから、電子署名の検証を要することなく、当該XM
L−AITに記述されたロケーション情報をもとにアプリケーションサーバ300にアク
セスして放送連動型アプリケーションApp1を取得し、これを起動させる(ステップS30
8のY、ステップS309)。このとき、アプリケーションコントローラ708は、放送
連動型アプリケーションApp1のアプリケーションモードが"mode1"であることから、放送
リソース提示機能を利用できるモードで放送連動型アプリケーションApp1を起動させる。
なお、電子署名の検証の要否の判定はアプリケーションモードのみで行われるとは限ら
ない。例えば、取得したXML−AITが、改ざんされる可能性が小さい放送のBML文
書に記述されたURLをもとに取得されたものである場合には、電子署名の検証は不要と
判定される。逆に、XML−AITが、後述するアプリケーションランチャなど、放送以
外の伝送系を通じて取得されたものである場合には、電子署名の検証は必要と判定される
この後、情報処理装置700のアプリケーションコントローラ708は、新たに取得し
たXML−AITに放送連動型アプリケーションApp1の終了を指示するアプリケーション
制御コード"DESTROY"、または"KILL"が記述されている場合には、このアプリケーション
制御コードに従って放送連動型アプリケーションApp1を終了させる(ステップS302の
Y)。
また、情報処理装置700のアプリケーションコントローラ708は、新たに取得した
XML−AITに"AUTOSTART"、"DESTROY"、"KILL"以外のアプリケーション制御コードが
記述されている場合には、そのアプリケーション制御コードに従って放送連動型アプリケ
ーションApp1の状態を遷移させるなどの処理を行った後(ステップS310)、次のXM
L−AITを待機する。
(4.放送非連動型のアプリケーションの起動)
次に、放送非連動型のアプリケーションの起動に関する動作を説明する。
図13は放送連動型アプリケーションApp1を起動した後、XML−AITによって放送
非連動型アプリケーションApp3を起動する場合の動作例を示す図である。
図14及び図15は図13の動作例のフローチャートである。
リモコンの操作による放送の選局(ステップS401)からAITセクションに基づく
放送連動型アプリケーションの取得、提示(ステップS405)までの動作は、上記の1
.AITセクションを用いた放送連動型アプリケーションの制御と同じである。
この動作例では、放送連動型アプリケーションApp1に放送非連動型アプリケーションAp
p3用のXML−AITを情報処理装置700に取得させるためのcreateApplication()関
数を含むスクリプトが組み込まれている場合を想定している。
放送連動型アプリケーションApp1の実行中、ユーザからの指示あるいは時間など所定の
条件が成立すると(ステップS407のY)、放送連動型アプリケーションApp1に組み込
まれた上記のスクリプトが実行されることによって、情報処理装置700のアプリケーシ
ョンコントローラ708は、放送非連動型アプリケーションApp3用のXML−AITをX
ML−AITサーバ400から取得し、解析する(ステップS408)。
ここで、放送非連動型のアプリケーションは、一般的に、放送事業者とは異なるアプリ
ケーション提供事業者より提供される。このため、放送非連動型アプリケーションのXM
L−AITにはアプリケーションモードとして"mode2"が設定される。したがって、当該
XML−AITには本来、電子署名が添付されているはずであり、情報処理装置700の
側でXML−AITを利用するにあたって当該電子署名の検証が必須条件となる。
また、このXML−AITには、実行中の放送連動型アプリケーションApp1に関する情
報として、放送連動型アプリケーションApp1の終了を指示するアプリケーション制御コー
ド"DESTROY"または"KILL"と、アプリケーションモード"mode1"が記述され、これから実行
される放送非連動型アプリケーションApp3に関する情報として当該放送非連動型アプリケ
ーションApp3の起動を指示するアプリケーション制御コード"AUTOSTART"とアプリケーシ
ョンモード"mode2"が記述されている。さらに、このXML−AITには、放送非連動型
アプリケーションApp3のハッシュ値(第1の代表値)が記述されている。
情報処理装置700のアプリケーションコントローラ708は、取得したXML−AI
Tに電子署名が添付されているかどうかを判定する(ステップS410)。XML−AI
Tに電子署名が添付されている場合にはアプリケーションコントローラ708は当該電子
署名の検証が必要であることを判定し、検証を行う(ステップS411)。
また、XML−AITに電子署名が添付されていない場合(ステップS410のN)、
アプリケーションコントローラ708は、XML−AITに記述されたアプリケーション
モードが、電子署名の検証を必要としないモードの値である"mode1"であるかどうかを確
認する(ステップS412)。この確認で、アプリケーションモードが"mode1"であれば
、電子署名の検証が不要であることが判定される。
電子署名の検証に失敗した場合にはエラーが表示される(ステップS423)。電子署
名の検証に成功した場合(ステップS411のY)、あるいは、電子署名の検証が不要で
あることが判定された場合(ステップS412のY)、アプリケーションコントローラ7
08は、XML−AITに記述されたアプリケーション制御コードが"AUTOSTART"である
かどうかを判定する(ステップS413)。アプリケーション制御コードが"AUTOSTART"
であれば、アプリケーションコントローラ708は、XML−AITにアプリケーション
モードの値とハッシュ値が記述されているかどうかを判定する(ステップS414、S4
15)。XML−AITにアプリケーションモードの値が設定されていない場合にはエラ
ーが表示される(ステップS423)。XML−AITにアプリケーションモードの値が
記述されていれば、アプリケーションコントローラ708は、XML−AITに記述され
ているハッシュ値(A)(第1の代表値)を保持する(ステップS416)。
次に、アプリケーションコントローラ708は、XML−AITに記述されている放送
非連動型アプリケーションApp3のロケーション情報をもとにアプリケーションサーバ30
0から放送非連動型アプリケーションApp3を取得して、XML−AITに記述されている
ハッシュ値の計算方法を示すハッシュアルゴリズムにより当該放送非連動型アプリケーシ
ョンApp3のハッシュ値(B)(第2の代表値)を計算する(ステップS417)。
次に、アプリケーションコントローラ708はハッシュ値(A)とハッシュ値(B)と
を比較する(ステップS418)。一致する場合、アプリケーションコントローラ708
は、その放送非連動型アプリケーションApp3のアプリケーションモードが"mode2"である
ことから、その放送非連動型アプリケーションApp3を放送リソース提示機能を利用できな
いモードで起動させる(ステップS419)。一致しない場合にはエラー表示が行われる
(ステップS423)。この後は、新たなXML−AITに記述されているアプリケーシ
ョン制御コードに従って、放送非連動型アプリケーションApp3の状態の遷移、終了などの
制御や、その他、ユーザのリモコンの操作やイベントメッセージによるイベント処理が行
われる(ステップS420、S421、S422)。
(5.アプリケーションランチャから放送非連動型アプリケーションの起動)
次に、アプリケーションランチャから放送非連動型アプリケーションを起動する場合の
動作を説明する。
図16はアプリケーションランチャから放送非連動型アプリケーションを起動する場合
の動作例を示す図である。
図17は図16の動作例のフローチャートである。
情報処理装置700は、例えばリモコンなどを使ってユーザにより選択されたアプリケ
ーションランチャ画面を表示する。アプリケーションランチャ画面とは、情報処理装置7
00に実装された、いわゆるレジデントアプリケーションや、HTMLブラウザによって
提示されるHTML5などの文書によって実現される。アプリケーションランチャ画面に
は、アプリケーションのメニューなどが表示される(ステップS501)。ユーザは例え
ばリモコンなどを使って提示させたいアプリケーションを選択することができる。アプリ
ケーションの個々のメニューには、そのメニューに対応するアプリケーション用のXML
−AITを情報処理装置700に取得させるためのスクリプトなどが組み込まれている。
アプリケーションランチャ画面に表示されたアプリケーションのメニュー上で、リモコ
ンを使ったユーザの操作によって任意の放送非連動型アプリケーションApp3が選択される
と(ステップS502)、そのアプリケーションに対応する上記のスクリプトが実行され
ることによって、情報処理装置700のアプリケーションコントローラ708は、当該ア
プリケーション用のXML−AITをXML−AITサーバ400から取得し、解析する
(ステップS503)。
ここで、アプリケーションランチャ画面から選択可能な放送非連動型のアプリケーショ
ンは、一般的に、放送事業者とは異なるアプリケーション提供事業者より提供される。こ
のため、放送非連動型アプリケーションのXML−AITにはアプリケーションモードと
して"mode2"が設定される。したがって、当該XML−AITには本来、電子署名が添付
されているはずであり、情報処理装置700の側では、XML−AITを利用するにあた
って当該電子署名の検証が必須条件となる。
また、このXML−AITには、放送非連動型アプリケーションApp3に関する情報とし
て、放送非連動型アプリケーションApp3の起動を指示するアプリケーション制御コード"A
UTOSTART"とアプリケーションモード"mode2"が記述されている。さらに、このXML−A
ITには、放送非連動型アプリケーションApp3のハッシュ値が記述されている。
情報処理装置700のアプリケーションコントローラ708は、取得したXML−AI
Tに電子署名が添付されているかどうかを判定する(ステップS504)。XML−AI
Tに電子署名が添付されている場合にはアプリケーションコントローラ708は当該電子
署名の検証が必要であることを判定する。以降の動作は、上記の4.放送非連動型のアプ
リケーションの起動と同じである。
(6.電子署名およびハッシュ値の生成と検証)
次に、電子署名およびハッシュ値の生成と検証について説明する。
XML−AITサーバ400およびアプリケーションサーバ300は一台のサーバであ
ってもよく、別々のサーバであってもよい。ここでは、XML−AITサーバ400およ
びアプリケーションサーバ300を総称して「サーバ」と呼ぶ。サーバは、典型的なコン
ピュータの構成を有する機器である。したがって、CPU、メインメモリ、HDDなどの
ストレージデバイス、マウスやキーボードなどの入力装置、液晶ディスプレイなどの表示
部などで構成される。メインメモリおよびストレージデバイスには、OS(Operating Sy
stem)、サーバ用のアプリケーションプログラムなどのソフトウェア、情報処理装置70
0に提供されるアプリケーション(放送連動型アプリケーション、放送非連動型アプリケ
ーション)、アプリケーション毎のXML−AITのファイル、署名生成鍵などが格納さ
れる。サーバ用のアプリケーションプログラムとしては、電子署名およびハッシュ値の生
成を行うプログラムなどが含まれる。
図18はサーバでの電子署名およびハッシュ値の生成と、情報処理装置700での電子
署名およびハッシュ値の検証の方法を説明する図である。
サーバは、AIT生成部350を有する。AIT生成部350は、具体的にはメインメ
モリにロードされた、電子署名およびハッシュ値の生成を行うプログラムと、このプログ
ラムを実行するCPUとで実現される。
AIT生成部350は、以下の処理を行う。
1.AIT生成部350は、アプリケーション351の実体(バイナリコード)から所
定のハッシュ演算器352を用いてハッシュ値353を算出する。ハッシュのアルゴリズ
ムとしては、例えばFIPS PUB 180-1,180-2で標準規格化されているSHA−1やSHA−
2などがある。
2.AIT生成部350は、当該アプリケーション351のXML−AIT362にハ
ッシュ値353を合成(354)して、ハッシュ値付きのXML−AIT355を生成す
る。
3.AIT生成部350は、署名生成器356にて、ハッシュ値付きのXML−AIT
355に対して署名用のハッシュ関数を用いてダイジェストを生成し、このダイジェスト
を署名生成鍵(秘密鍵)357で暗号化してXML署名358を生成する。
4.AIT生成部350は、XML署名358をハッシュ値付きのXML−AIT35
5に付加(359)して電子署名付きのXML−AIT360を生成する。
5.そして、電子署名付きのXML−AIT360は情報処理装置700に提供される
情報処理装置700のコントローラ708は、以下の処理を行う。
1.コントローラ708は、署名生成器753にて、サーバより取得した電子署名付き
のXML−AIT360からXML署名を抽出し、このXML署名を署名検証鍵(公開鍵
)754を用いて検証して署名検証結果755を得る。
2.XML署名の検証に成功した場合、コントローラ708は、サーバより取得したア
プリケーション351の実体(バイナリコード)から所定のハッシュ演算器751(ハッ
シュ関数)を用いてハッシュ値752を算出する。ここで用いられるハッシュ関数は、サ
ーバのAIT生成部350のハッシュ演算器352のそれと同じである必要がある。そこ
でコントローラ708は、サーバより取得した電子署名付きのXML−AIT360に記
述されたハッシュアルゴリズムを確認して、ハッシュ演算器751(ハッシュ関数)のハ
ッシュアルゴリズムとの整合がとれているかどうかを判定する。もしハッシュアルゴリズ
ムの不整合が判定された場合、コントローラ708はハッシュ演算器751(ハッシュ関
数)を切り替えてサーバのAIT生成部350のハッシュ演算器352のそれと整合させ
る。
3.コントローラ708は、サーバより取得した電子署名付きのXML−AIT360
から抽出したハッシュ値353とハッシュ値752とをハッシュ比較器756を用いて比
較し、一致/不一致の結果757を得る。
4.XML署名の検証に失敗した場合、もしくはXML署名の検証に成功してもハッシ
ュ値353とハッシュ値752が不一致の場合にはエラーとして終了する。
[実施形態の効果等]
本実施形態では、次のような効果が得られる。
1.例えば、インターネット網といった通信路によってXML−AITおよびアプリケ
ーションを伝送するサービスにおいて、それらの信頼性を保持しながら情報処理装置70
0に伝送することができる。悪意のある第三者によるXML−AITおよびアプリケーシ
ョンの改ざんなどを防止することが可能であり、情報処理装置700において安全にアプ
リケーションを利用することができる。
2.より具体的には、XML−AITにアプリケーションのハッシュ値を記述して情報
処理装置700に提供されるので、情報処理装置700はアプリケーションサーバ300
より取得したアプリケーションに対して算出したハッシュ値とXML−AITにより伝達
されたハッシュ値とを比較することによって、アプリケーションの正当性を判定すること
ができる。
3.また、ハッシュ値を含むXML−AITには電子署名が添付され、情報処理装置7
00はこの電子署名の検証に成功しなければ、アプリケーションを取得することもできな
いようにしたので、XML−AITの改ざんなどにより、不正なアプリケーションが情報
処理装置700において実行されることを防止できる。
4.XML−AITにアプリケーションモードを記述できるようにしたことで、アプリ
ケーションが利用できる機能を制御することができる。さらに、情報処理装置700は、
XML−AITに記述されたアプリケーションモードなどに基づいて電子署名の検証の要
否を一意に知ることができる。これにより例えば、放送事業者によって制作されたアプリ
ケーション用のXML−AITについては電子署名の検証をスキップできることで、トー
タル的な速度向上を期待できる。
<変形例等>
なお、上記の実施形態では、ハッシュ関数を用いてアプリケーションのハッシュ値を算
出することとしたが、その変形例として、図19に示すように、HMAC(Keyed-Hashin
g for Message Authentication)演算器352A、751Aを用いる方法がある。HMA
C演算器352A、751Aは、SHA−1、SHA−2などのハッシュ関数を秘密の共
有鍵(ハッシュキー)361A、758Aと組み合わせて使用することでハッシュ値35
3A、752Aを算出する。その他は、上記の実施形態と同様である。
また、以上の実施形態では、アプリケーションの代表値としてハッシュ値を用いる場合
について説明したが、アプリケーションのバイナリコードから所定の演算によって得られ
る値であれば、ハッシュ演算以外の方式を採用してもよい。
HbbTVの標準規格を前提とした実施形態を説明したが、本技術は、HbbTVの標
準規格を前提とすることに必ずしも限定されるものではない。
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸
脱しない範囲内において種々変更を加え得ることは勿論である。
1…情報処理システム
11.21…アプリケーション制御コード
22…アプリケーションモード記述子
23…アプリケーションハッシュ記述子
100…放送設備
200…第1のネットワーク
300…アプリケーションサーバ
350…AIT生成部
351…アプリケーション
352…ハッシュ演算器
353…ハッシュ値
355…AIT
356…署名生成器
357…署名生成鍵
358…XML署名
360…AIT
400…AITサーバ
600…第2のネットワーク
700…情報処理装置
701…放送インタフェース
702…デマルチプレクサ
703…出力処理部
704…映像デコーダ
705…音声デコーダ
706…字幕デコーダ
707…通信インタフェース
708…アプリケーションコントローラ
751…ハッシュ演算器
752…ハッシュ値
753…署名生成器
754…署名検証鍵
755…署名検証結果
756…ハッシュ比較器

Claims (13)

  1. 放送コンテンツを受信し処理する放送コンテンツ処理部と、
    前記放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに 電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御することを可能とするコントローラと
    を具備する情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
    情報処理装置。
  3. 請求項1または2に記載の情報処理装置であって、
    前記コントローラは、前記取得したアプリケーション情報テーブルに格納された前記モード情報をもとに前記電子署名の検証の要否を判定する
    情報処理装置。
  4. 放送コンテンツとともに処理するアプリケーションを情報処理装置に取得させるために必要なロケーション情報と、電子署名の検証の要否を示すとともに、アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを生成し、前記情報処理装置からの当該アプリケーション情報テーブルの取得要求に応じて応答する生成部
    を有するサーバ装置。
  5. コントローラが、放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御する
    情報処理方法。
  6. 請求項5に記載の情報処理方法であって、
    前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
    情報処理方法。
  7. 請求項5または6に記載の情報処理方法であって、
    前記コントローラは、前記取得したアプリケーション情報テーブルに格納された前記モード情報をもとに前記電子署名の検証の要否を判定する
    情報処理方法。
  8. 生成部が、放送コンテンツとともに処理するアプリケーションを情報処理装置に取得させるために必要なロケーション情報と、電子署名の検証の要否を示すとともに、アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを生成し、前記情報処理装置からの当該アプリケーション情報テーブルの取得要求に応じて応答する
    サーバ処理方法。
  9. 請求項8に記載のサーバ処理方法であって、
    前記生成部は、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
    サーバ処理方法。
  10. 放送コンテンツを受信し処理する放送コンテンツ処理部と、
    前記放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御することを可能とするコントローラと
    としてコンピュータを機能させるプログラム。
  11. 放送コンテンツを受信し処理する放送コンテンツ処理部と、
    前記放送コンテンツとともに処理するアプリケーションを取得するために必要なロケーション情報および前記アプリケーションが利用できる機能を制御するためのモード情報が格納されたアプリケーション情報テーブルを取得し、前記取得したモード情報をもとに 電子署名の検証の要否を判定し、前記電子署名の検証が必要であることが判定された場合に前記電子署名を検証し、少なくとも当該検証に成功した場合に、前記ロケーション情報をもとに前記アプリケーションを取得し、前記取得したアプリケーションが利用できる機能を前記モード情報をもとに制御することを可能とするコントローラと
    を具備するテレビジョン装置。
  12. 請求項11に記載のテレビジョン装置であって、
    前記コントローラは、前記アプリケーション情報テーブルに記述された前記モード情報をもとに、前記取得したアプリケーションによる放送リソースの提示機能の利用の有無を制限する
    テレビジョン装置。
  13. 請求項11または12に記載のテレビジョン装置であって、
    前記コントローラは、前記取得したアプリケーション情報テーブルに格納された前記モード情報をもとに前記電子署名の検証の要否を判定する
    テレビジョン装置。
JP2017082531A 2011-12-21 2017-04-19 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム Active JP6456426B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011279850 2011-12-21
JP2011279850 2011-12-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013550087A Division JPWO2013094110A1 (ja) 2011-12-21 2012-11-08 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2017158195A JP2017158195A (ja) 2017-09-07
JP6456426B2 true JP6456426B2 (ja) 2019-01-23

Family

ID=48668030

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013550087A Pending JPWO2013094110A1 (ja) 2011-12-21 2012-11-08 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム
JP2017082531A Active JP6456426B2 (ja) 2011-12-21 2017-04-19 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013550087A Pending JPWO2013094110A1 (ja) 2011-12-21 2012-11-08 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム

Country Status (9)

Country Link
US (1) US9723376B2 (ja)
EP (1) EP2797023B1 (ja)
JP (2) JPWO2013094110A1 (ja)
KR (1) KR102066299B1 (ja)
CN (1) CN103988210B (ja)
BR (1) BR112014014585A8 (ja)
IN (1) IN2014MN00981A (ja)
RU (1) RU2602355C2 (ja)
WO (1) WO2013094110A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5857636B2 (ja) * 2011-11-02 2016-02-10 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
KR20140029049A (ko) * 2012-08-31 2014-03-10 삼성전자주식회사 디스플레이 장치 및 이를 이용한 입력 신호 처리 방법
MX358674B (es) 2013-07-10 2018-08-31 Sony Corp Dispositivo de recepción, método de recepción, y método de transmisión.
EP3054701B1 (en) * 2013-09-30 2020-04-01 Sony Corporation Receiver device, broadcast device, server device and reception method
JPWO2015076178A1 (ja) * 2013-11-21 2017-03-16 シャープ株式会社 ウェブアプリケーションアクセス制御システム
JP6213197B2 (ja) 2013-12-05 2017-10-18 ソニー株式会社 情報処理装置および受信方法
JP6328045B2 (ja) * 2014-12-11 2018-05-23 東芝メモリ株式会社 メモリデバイス
GB2538934A (en) * 2015-01-28 2016-12-07 British Broadcasting Corp Broadcasting data in MPEG transport streams
WO2016126023A1 (en) 2015-02-03 2016-08-11 Samsung Electronics Co., Ltd. Broadcast apparatus and method of authenticating broadcast data
GB2535146B (en) * 2015-02-03 2019-07-24 Samsung Electronics Co Ltd Broadcast application security
WO2017014034A1 (ja) * 2015-07-23 2017-01-26 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
WO2017038353A1 (ja) * 2015-08-28 2017-03-09 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
EP3404924B1 (en) * 2016-01-15 2023-04-26 Sony Group Corporation Reception device and data processing method
WO2018024545A1 (en) * 2016-08-04 2018-02-08 Smardtv S.A. Method and device for checking authenticity of a hbbtv related application
JP6663892B2 (ja) * 2017-09-19 2020-03-13 ソニー株式会社 送信システム及び送信方法
JP6766918B2 (ja) * 2019-05-13 2020-10-14 ソニー株式会社 受信装置および受信方法
JP6984709B2 (ja) * 2019-05-13 2021-12-22 ソニーグループ株式会社 受信装置および受信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627762B2 (en) * 2001-05-23 2009-12-01 Thomson Licensing Signing and authentication devices and processes and corresponding products, notably for DVB/MPEG MHP digital streams
FR2825209A1 (fr) 2001-05-23 2002-11-29 Thomson Licensing Sa Dispositifs et procede de securisation et d'identification de messages
US20030023770A1 (en) 2001-07-26 2003-01-30 Barmettler James W. Automated software driver installation
JP3880384B2 (ja) * 2001-12-06 2007-02-14 松下電器産業株式会社 Icカード
US20030217369A1 (en) * 2002-05-17 2003-11-20 Heredia Edwin Arturo Flexible application information formulation
ES2280611T3 (es) * 2002-05-22 2007-09-16 Thomson Licensing Procesos y dispositivos de firma y autenticacion y productos correspondientes, principalmente para flujos digitales dvb/mpeg mhp.
JP2007515092A (ja) * 2003-12-18 2007-06-07 松下電器産業株式会社 プログラムデータファイル保存方法および認証プログラム実行方法
WO2007072959A1 (en) 2005-12-19 2007-06-28 Matsushita Electric Industrial Co., Ltd. Broadcast receiving apparatus
US9674869B2 (en) * 2006-03-20 2017-06-06 Qualcomm Incorporated Apparatus and method for fast access in a wireless communication system
KR20080022805A (ko) * 2006-09-07 2008-03-12 엘지전자 주식회사 데이터 방송 신호를 처리하는 방법 및 수신하는 장치
US9071414B2 (en) * 2007-03-23 2015-06-30 Qualcomm Incorporated Method and apparatus for distinguishing broadcast messages in wireless signals
JP2010004498A (ja) * 2008-06-23 2010-01-07 Panasonic Corp コンテンツ表示装置およびコンテンツ表示方法
WO2011013303A1 (ja) * 2009-07-30 2011-02-03 パナソニック株式会社 受信データ認証方法及びデジタル放送受信機
KR101776630B1 (ko) * 2009-12-04 2017-09-08 엘지전자 주식회사 디지털 방송 수신기 및 디지털 방송 수신기에서 부팅 방법
JP5965723B2 (ja) * 2011-05-19 2016-08-10 日本放送協会 受信機

Also Published As

Publication number Publication date
JP2017158195A (ja) 2017-09-07
BR112014014585A2 (pt) 2017-06-13
US20140331250A1 (en) 2014-11-06
KR102066299B1 (ko) 2020-01-14
RU2602355C2 (ru) 2016-11-20
CN103988210B (zh) 2018-04-03
CN103988210A (zh) 2014-08-13
US9723376B2 (en) 2017-08-01
JPWO2013094110A1 (ja) 2015-04-27
EP2797023A1 (en) 2014-10-29
WO2013094110A1 (ja) 2013-06-27
IN2014MN00981A (ja) 2015-04-24
EP2797023A4 (en) 2015-06-10
BR112014014585A8 (pt) 2017-07-04
RU2014124119A (ru) 2015-12-20
KR20140103115A (ko) 2014-08-25
EP2797023B1 (en) 2022-04-06

Similar Documents

Publication Publication Date Title
JP6456426B2 (ja) 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム
JP7110166B2 (ja) 送信装置、送信方法、受信装置及び受信方法
JP5983741B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20200128302A1 (en) Information processing apparatus, broadcast apparatus, and receiving method
WO2015045324A1 (ja) 受信装置、放送装置、サーバ装置および受信方法
US20150188929A1 (en) Signature validation information transmission method, information processing apparatus, information processing method, and broadcast delivery apparatus
US20160316260A1 (en) Information processing apparatus and information processing method
US20170041663A1 (en) Information processing apparatus and information processing method
JP7334772B2 (ja) 情報処理装置及び受信方法
JP6984709B2 (ja) 受信装置および受信方法
JP6766918B2 (ja) 受信装置および受信方法
JP6663892B2 (ja) 送信システム及び送信方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181218

R150 Certificate of patent or registration of utility model

Ref document number: 6456426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250