(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-16
(45)【発行日】2023-11-27
(54)【発明の名称】受信機、方法およびプログラム
(51)【国際特許分類】
H04N 21/435 20110101AFI20231117BHJP
H04N 21/433 20110101ALI20231117BHJP
H04N 21/437 20110101ALI20231117BHJP
G06F 21/60 20130101ALI20231117BHJP
H04H 20/28 20080101ALI20231117BHJP
H04H 40/18 20080101ALI20231117BHJP
H04H 60/23 20080101ALI20231117BHJP
H04H 20/91 20080101ALI20231117BHJP
H04H 20/93 20080101ALI20231117BHJP
H04H 60/82 20080101ALI20231117BHJP
【FI】
H04N21/435
H04N21/433
H04N21/437
G06F21/60 360
H04H20/28
H04H40/18
H04H60/23
H04H20/91
H04H20/93
H04H60/82
(21)【出願番号】P 2020127540
(22)【出願日】2020-07-28
【審査請求日】2022-09-12
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】藤吉 靖浩
【審査官】川中 龍太
(56)【参考文献】
【文献】特開2009-130835(JP,A)
【文献】特開2009-147808(JP,A)
【文献】特開2002-305512(JP,A)
【文献】特開2010-178190(JP,A)
【文献】特開2014-098773(JP,A)
【文献】米国特許出願公開第2014/0281489(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
H04H 20/00 - 60/98
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
デジタルテレビ放送の受信機であって、
放送信号を受信する放送信号受信手段と、
前記放送信号に含まれる読み出し命令に基づいて、前記受信機にある受信機データを暗号化鍵で暗号化した暗号化付きデータを情報蓄積手段から読み出す情報読み出し手段と、
前記放送信号に含まれる送信命令に基づいて、前記暗号化付きデータを外部装置へ送信する情報送信手段とを具備した受信機。
【請求項2】
前記暗号化鍵は、公開暗号鍵方式の公開鍵である請求項1に記載の受信機。
【請求項3】
前記読み出し命令または前記送信命令を処理する命令処理手段を備える請求項1または請求項2のいずれか1項に記載の受信機。
【請求項4】
前記読み出し命令は、前記暗号化付きデータの格納先であるデータ格納識別情報を含む請求項1乃至請求項3のいずれか1項に記載の受信機。
【請求項5】
前記送信命令は、送信先の宛先としてサーバのURLを含む請求項1乃至請求項4に記載の受信機。
【請求項6】
前記読み出し命令または前記送信命令は、前記放送信号に含まれるデータ放送サービスのアプリケーションデータに含められて送信され、
前記放送信号から前記アプリケーションデータを取得するアプリケーションデータ取得手段と、
前記アプリケーションデータから前記読み出し命令と前記送信命令とを抽出する命令抽出手段とを具備した請求項1乃至請求項5のいずれか1項に記載の受信機。
【請求項7】
前記読
み出し命令に基づいて、前記情報読み出し手段を実行させるAPIを備える請求項6に記載の受信機。
【請求項8】
前記送信命令に基づいて、前記情報送信手段を実行させるAPIを備える請求項6または請求項7のいずれか1項に記載の受信機。
【請求項9】
受信機によるデジタルテレビ放送の受信方法であって、
放送信号受信手段により放送信号を受信
するステップと、
情報読み出し手段により前記放送信号に含まれる読み出し命令に基づいて、前記受信機にある受信機データを暗号化鍵で暗号化した暗号化付きデータを情報蓄積手段から読み
出すステップと、
情報送信手段により前記放送信号に含まれる送信命令に基づいて、前記暗号化付きデータを外部装置へ送信
するステップと、
を具備する受信方法。
【請求項10】
デジタルテレビ放送の受信機に含まれる複数の手段を機能させるプログラムであって、
放送信号を受信する放送信号受信手段と、
前記放送信号に含まれる読み出し命令に基づいて、前記受信機にある受信機データを暗号化鍵で暗号化した暗号化付きデータを情報蓄積手段から読み出す情報読み出し手段と、
前記放送信号に含まれる送信命令に基づいて、前記暗号化付きデータを外部装置へ送信する情報送信手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、受信機、方法およびプログラムに関する。
【背景技術】
【0002】
BSデジタル放送、110度CSデジタル放送、地上デジタル放送(これらを総称して2K放送とも称する)や高度広帯域衛星デジタル放送(4K/8K放送とも称する)に対応する受信機(以下、単に受信機とも称する)には書き換え可能かつ電源断によっても記憶内容が保持される(すなわち、不揮発性の)記憶媒体であるNVRAM(Non-Volatile Memory)が搭載されている。NVRAMは、2K放送や4K/8K放送で実施されているサービスの一つであるデータ放送で取り扱うデータ(受信機データとも称する)の格納媒体(データ放送用NVRAMとも称する)などとして用いられている。データ放送用NVRAMには放送事業者が作成および送信し、受信機上で実行されるデータ放送コンテンツからアクセス可能であるが、放送事業者ごとにアクセス可能な領域が決められているなど、ある放送事業者がデータ放送用NVRAMに記録したデータを他の放送事業者から秘匿するためのアクセス制御技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】ARIB TR-B14 6.2版 「地上デジタルテレビジョン放送運用規定」
【文献】ARIB TR-B39 2.2版 「高度広帯域衛星デジタル放送運用規定」
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、受信機の所有者や放送事業者ではない第三者が、データ放送コンテンツからアクセスする以外の方法(例えば、データ放送用NVRAMの実体である半導体メモリに、その読み出し装置を接続して読み出す方法等が考えられる)を用いてデータ放送用NVRAMに記録されたデータを読み出した場合、当該第三者は当該データにより表されている情報を得ることができる。すなわち、情報の機密性は確保されない。不揮発性の記憶媒体であるNVRAMに記録されたデータは明示的に消去されない限り保持されるため、例えば、受信機を他人に譲渡した場合や廃棄した場合に第三者に情報が取り出される可能性が考えられる。放送事業者が作成するデータ放送コンテンツ(将来的に作成されるものを含む)によっては、個人情報など、第三者に取り出されれば重大な問題となりうる情報をデータ放送用NVRAMに記録することを鑑みると、第三者にデータを取り出された場合であっても情報の機密性を確保することが必要である。
【0006】
本発明が解決しようとする課題は、情報の機密性を確保しながら受信機データを記録・収集するための受信機、方法およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
一実施形態に係るデジタルテレビ放送の受信機は、デジタルテレビ放送の受信機であって、放送信号を受信する放送信号受信手段と、前記放送信号に含まれる読み出し命令に基づいて、前記受信機にある受信機データを暗号化鍵で暗号化した暗号化付きデータを情報蓄積手段から読み出す情報読み出し手段と、前記放送信号に含まれる送信命令に基づいて、前記暗号化付きデータを外部装置へ送信する情報送信手段とを具備する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係るシステムの構成例を示すブロック図である。
【
図2】
図2は、実施形態に係る放送局の送信機の機能構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る送信機のアプリケーションデータ生成部で記述可能なAPIコマンドの例である。
【
図4】
図4は、実施形態に係る放送局のサーバの機能構成例を示すブロック図である。
【
図5】
図5は、実施形態に係る受信機の機能構成例を示すブロック図である。
【
図6】
図6は、実施形態に係る受信機の情報蓄積部の蓄積データ領域の例を示す図である。
【
図7】
図7は、実施形態に係る受信機のアプリケーション実行部の機能構成例を示すブロック図である。
【
図8】
図8は、第1の実施形態に係るシステムの動作例を示すシーケンスチャートである。
【
図9】
図9は、同実施形態に係る送信機の処理動作の例を示すフローチャートである。
【
図10】
図10は、同実施形態における受信機の処理動作の例を示すフローチャートである。
【
図11】
図11は、同実施形態における暗号化鍵取得時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【
図12】
図12は、同実施形態における暗号化鍵取得時のサーバの処理動作の例を示すフローチャートである。
【
図13】
図13は、同実施形態におけるデータ書き込み時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【
図14】
図14は、同実施形態におけるデータ読み出し時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【
図15】
図15は、同実施形態におけるデータ送信時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【
図16】
図16は、同実施形態におけるデータ受信時のサーバの処理動作の例を示すフローチャートである。
【
図17】
図17は、第2の実施形態に係るシステムのシーケンスチャートである。
【
図18】
図18は、同実施形態に係る送信機の処理動作の例を示すフローチャートである。
【
図19】
図19は、同実施形態における暗号化鍵取得時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【
図20】
図20は、第3の実施形態に係るシステムのシーケンスチャートである。
【
図21】
図21は、同実施形態におけるTS方式の放送波4のSIで暗号化鍵を送信する場合の例である。
【
図22】
図22は、同実施形態におけるMMT方式の放送波4のSIで暗号化鍵を送信する場合の例である。
【
図23】
図23は、同実施形態における受信機の処理動作の例を示すフローチャートである。
【
図24】
図24は、同実施形態におけるデータ書き込み時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【
図25】
図25は、第4の実施形態におけるデータ書き込み時の書込み処理部の処理動作の例を示すフローチャートである。
【
図26】
図26は、同実施形態におけるデータ書き込み時のアプリケーション実行部の処理動作の例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
【0010】
図1は、実施形態に係るシステムの構成例を示すブロック図である。
【0011】
放送局10は、2K放送または4K/8K放送の放送局である。特に2K放送の放送局と4K/8K放送の放送局とを区別する場合は、それぞれ2K放送局、4K/8K放送局と称する。放送局10は送信機1、サーバ2を含む。
【0012】
送信機1は、アプリケーションデータ、各種制御情報などを含めたデジタル放送信号を2K放送や4K/8K放送などの放送波に乗せて、アンテナやケーブルなどから放送波を出力する。
【0013】
サーバ2は、例えばコンピュータであり、外部装置との通信を実施する通信インターフェースや、データの処理を実施するCPUなどを備える。具体的には、サーバ2は、ネットワーク5を介して受信機3と各種データのやり取りをする。また、サーバ2は、ネットワーク6を介して送信機1と各種データのやり取りをする。送信機1はサーバ2から得たデータを放送波4によって送信することができる。なお
図1においては、放送局10、受信機3それぞれ1つしか図示していないが、通常、放送局10(送信機1、サーバ2)、受信機3ともに複数ある。この場合、各放送局のサーバ2はそれぞれ複数の受信機3とデータのやり取りが可能である。また各放送局の送信機1はそれぞれが個別に放送波4を出力し、各受信機3は複数の送信機1からの放送波4を1つまたは複数受信することができる。
【0014】
放送波4は、例えば電波であるが、アンテナから出力されてもよいし、ケーブル放送などの有線で伝送されても良い。
【0015】
ネットワーク5は、例えばインターネットなどの電気通信回線であり、その媒体は無線でも有線でもよい。
【0016】
ネットワーク6は、放送局内で主に送信機1とサーバとの通信を行うためのインターフェースであり、例えば、インターネットなどの電気通信回線でもよいし、専用線でもよい。その媒体は無線でも有線でもよい。
【0017】
図2は、実施形態に係る放送局の送信機の機能構成例を示すブロック図である。
【0018】
送信機1は、例えばサーバ2から得たデジタル放送信号(デジタル放送用のデジタルデータ)、アプリケーションデータ、各種制御情報などから各種デジタル放送の規格に応じた放送ストリーム(デジタルデータストリーム)を生成し、デジタルデータストリームを放送波4によって出力する。各種デジタル放送の規格とは、例えば、2K放送の送信方式であるMPEG2トランスポートストリーム方式(TS方式)や、4K/8K放送の送信方式であるMPEG Media Transport方式(MMT方式)でもよい。
【0019】
サービスデータストリーム生成部11は、映像、音声、字幕などのサービスデータに対して、各種デジタル放送の規格に応じた情報源符号化を含む符号化やパケット化などにより、符号化したサービスデータのデータストリームを生成する。
【0020】
制御情報生成部12は、サービスデータの提示に関する制御情報や、アプリケーションを制御するための制御情報(以降、アプリケーション制御情報と称する)などを生成する。
【0021】
アプリケーションストリーム生成部13は、アプリケーションデータに対して、各種デジタル放送の規格に準じた情報源符号化を含む符号化やパケット化などにより、アプリケーションデータのデータストリームを生成する。アプリケーションデータは、各種デジタル放送の規格に準じた方式、例えばデータカルーセル方式やイベントメッセージ方式などに基づいてデータストリーム(アプリケーションストリーム)として生成される。
【0022】
アプリケーションデータ生成部14は、受信機3において実行させるアプリケーションのデータを生成する。本実施形態において、アプリケーションデータ生成部14は、
図3に示すApplication Programming Interface(API)に対するコマンド(以降、APIコマンドと称する)を含めたアプリケーションデータを生成する。APIは、受信機3に組み込まれる実行プログラムであるアプリケーションエンジンがアプリケーションに対して提供するインターフェースであり、ARIB STD-B24やARIB STD-B62などの規格に規定される放送用拡張関数(または放送用拡張オブジェクト)とも称される。本実施形態におけるアプリケーションは、データ放送アプリケーション(4K/8K放送の場合)、データ放送コンテンツ(2K放送の場合)を想定する。具体的には、Broadcast Markup Language(BML)やHyperText Markup Language(HTML)などで記述されたファイル(それぞれBMLファイル、HTMLファイルと称する)が送信され、本実施形態においては、これらのファイルに次のようなAPIを実行するためのAPIコマンドを含む。詳細は
図3の説明において述べる。
・暗号化に用いる暗号化鍵を取得・格納するAPI(暗号化鍵取得API)
・データ書き込みAPI(暗号化付き)
・暗号化付きデータ読み出しAPI(復号なし)
・データ送信API
なお、本実施形態においてアプリケーションデータ生成部14は、送信機1の機能とする例を示すが、サーバ2の機能であってもよい。アプリケーションデータ生成部14をサーバ2の機能とする場合は、アプリケーションデータ生成部14が生成したアプリケーションデータはネットワーク6を介して送信機1に送信される。
【0023】
暗号化鍵格納部15は、サーバ2が生成する非対称暗号の暗号化鍵を格納し、アプリケーションデータ生成部14に出力する。
【0024】
放送ストリーム生成部16は、例えばマルチプレクサを含み、サービスデータストリーム生成部11、制御情報生成部12、アプリケーションストリーム生成部13が出力するデータストリームを各種デジタル放送の規格に応じて多重し、放送ストリームとして出力する。
【0025】
放送信号送信部17は、放送ストリームのデジタルデータに対して、各種デジタル放送の規格に応じた伝送路符号化を含む符号化や変調などを実施し、放送波4を生成し、図示せぬアンテナ、ケーブルなどへ出力する。
【0026】
通信部18は、サーバ2と通信するための機能であり、例えばネットワーク6を介する場合は、ネットワーク6に適用されている通信プロトコル(IP通信方式、専用線の方式など)を実装している。
【0027】
図3は、実施形態に係る送信機のアプリケーションデータ生成部14で記述可能なAPIコマンドの例であり、列ごとに左からAPIのNo.(
図3における番号)、API機能、API機能に対するAPIコマンド(API名、引数など)をBMLまたはHTMLに記述する場合について示す。ここで、APIは受信機3に組み込まれる実行プログラムであるアプリケーションエンジンがアプリケーションに対して提供するインターフェースであり、送信機1がBMLファイルやHTMLファイルに記述するのは、本図が示すAPIコマンド(API名やAPIへの引数など)である。
【0028】
No.1の行は、暗号化鍵取得APIを実行させるAPIコマンドであり、受信機3にサーバ2から暗号化に用いる暗号化鍵を取得させるAPIコマンドである。
【0029】
BMLの場合、例えば、ARIB STD-B24に規定されるbrowser疑似オブジェクトのメソッドとして定義するAPIであるdownloadBroadcasterCertificateを呼び出すAPIコマンドである。APIコマンドは、例えばdownloadBroadcasterCertificate(引数)とする。本実施形態においては、引数には、少なくともサーバ2から取得する暗号化鍵を識別する情報(例えば、“https://サーバ2のアドレス/暗号化鍵ファイルのパス”というURL)を含むが、受信機3に取得させる他の内容(例えば、暗号化鍵の属性を示す識別情報など)を含めてもよい。
【0030】
HTMLの場合、例えば、ARIB STD-B62に規定されるReceiverDeviceオブジェクトのメソッドとして定義するAPIであるdownloadBroadcasterCertificateを呼び出すAPIコマンドである。APIコマンドは、例えばdownloadBroadcasterCertificate(引数)とする。本実施形態においては、引数には、少なくともサーバ2から取得する暗号化鍵を識別する情報(例えば、“https://サーバ2のアドレス/暗号化鍵ファイルのパス”というURL)を含むが、受信機3に取得させる他の内容(例えば、暗号化鍵の属性を示す識別情報など)を含めてもよい。
【0031】
No.1のAPIコマンドによって受信機3が取得する暗号化鍵の信頼性は、hypertext transfer Protocol secure(https)コネクションの信頼性により担保することでもよい。No.1のAPIを用いる場合、受信機3は、まず放送局サーバ2とhttpsを用いてコネクションを確立し、そのhttpsコネクションでの通信により暗号化鍵を放送局サーバ2から取得する。httpsコネクションによって受信機3からみてサーバ2は認証されており、取得した暗号化鍵の信頼性が確保される。
【0032】
No.2の行は、暗号化鍵取得APIを実行させるAPIコマンドであり、放送中のアプリケーションストリーム内にて送信されている暗号化鍵を受信機3に取得させるAPIコマンドである。
【0033】
BMLの場合、例えば、ARIB STD-B24に規定されるbrowser疑似オブジェクトのメソッドとして定義するAPIであるdownloadBroadcasterCertificateを呼び出すAPIコマンドである。APIコマンドは、例えばdownloadBroadcasterCertificate(引数)とする。本実施形態においては、引数には、少なくとも放送データ(放送信号)中の暗号化鍵の格納場所を識別する情報(例えば、“arib-dc://暗号化鍵のリソース名”というURL)を含むが、受信機3に取得させる他の内容(例えば、暗号化鍵の属性を示す識別情報など)を含めてもよい。
【0034】
HTMLの場合、例えば、ARIB STD-B62に規定されるReceiverDeviceオブジェクトのメソッドとして定義するAPIであるdownloadBroadcasterCertificateを呼び出すAPIコマンドである。APIコマンドは、例えばdownloadBroadcasterCertificate(引数)とする。本実施形態においては、引数には、少なくとも放送データ(放送信号)中の暗号化鍵の格納場所を識別する情報(例えば、“arib-dc2://暗号化鍵のリソース名”というURL)を含むが、受信機3に取得させる他の内容(例えば、暗号化鍵の属性を示す識別情報など)を含めてもよい。
【0035】
No.3の行は、データ書き込みAPIを実行させるAPIコマンドであり、受信機3に、受信機データを暗号化させ、暗号化したデータ(以降、暗号化付きデータと称する)を受信機3の情報蓄積部36(データ放送用NVRAM)に書き込ませるAPIコマンドである。
【0036】
BMLの場合、例えば、ARIB STD-B24に規定されたAPIであるwritePersistentArrayを呼び出すAPIコマンドである。APIコマンドは、例えばwritePersistentArray(引数)である。APIコマンドの引数には、少なくとも、受信機3に暗号化付きデータとして書込みさせる受信機データを識別する情報(受信機データ識別情報)と、前記データを暗号化付きデータとして書き込むことを受信機3に指示する情報(暗号化書込み指示情報)と、前記暗号化付きデータを書き込む格納場所を識別する情報(格納場所識別情報)とを含む。例えば、受信機データ識別情報は、ARIB TR-B14で規定される通りとしてもよい。また受信機データ識別情報と、格納場所識別情報については、ARIB TR-B14で規定されるデータ放送用NVRAM内の格納場所を識別する情報の一形態である“nvram://~/<ブロック番号>”というURI(Uniform Resource Identifier)に代えて、“nvrame://~/<ブロック番号>”というURIを用いてもよい。ここで、~や<ブロック番号>の意味は、ARIB TR-B14の規定に準じた値とする。
【0037】
HTMLの場合、例えば、ARIB TR-B39にその運用が規定されるLocalStorageオブジェクトのメソッドを用いたAPIであるsetItemを呼び出すAPIコマンドである。APIコマンドは、例えばsetItem(引数)とする。APIコマンドの引数には、少なくとも、受信機データ識別情報と、暗号化書込み指示情報と、格納場所識別情報とを含む。例えば、受信機データ識別情報は、ARIB TR-B39で規定される通りとしてもよい。また暗号化書込み指示情報と、格納場所識別情報とについては、例えば、ARIB TR-B39で規定されるアクセスキー名、例えば「“_wlocal”+アイテム番号」に代えて、「“_e_wlocal“+アイテム番号」、例えば”_e_wlocal0“を用いてもよい。
【0038】
No.4の行は、データ書き込みAPIを実行させるAPIコマンドであり、受信機3に、受信機データを暗号化させ、暗号化したデータ(以降、暗号化付きデータと称する)を受信機3の情報蓄積部36(データ放送用NVRAM)に書き込ませるAPIコマンドである。
【0039】
BMLの場合、例えば、ARIB STD-B24に規定されたwritePersistentArrayに準じたAPIであるwritePersistentArrayEncryptedを呼び出すAPIコマンドである。APIコマンドは、例えばwritePersistentArrayEncrypted(引数)とする。APIコマンドの引数には、少なくとも、受信機データ識別情報と、格納場所識別情報とを含む。例えば、前記No.3の行のBMLの場合のAPIコマンドにおける引数の実施形態に準じた引数としてもよいし、ARIB TR-B14で規定されるwritePersistentArrayの引数に準じた引数としてもよい。後者の場合、受信機3は、API名に含まれる「Encrypted」からNVRAMに書き込むデータを暗号化させる必要があることを認識し、引数に指定された書込みデータを暗号化した上で、NVRAMに格納することでもよい。
【0040】
HTMLの場合、例えば、ARIB TR-B39にその運用が規定されるLocalStorageオブジェクトのメソッドに準じたAPIであるsetItemEncryptedを呼び出すAPIコマンドである。APIコマンドは、例えばsetItemEncrypted(引数)とする。APIコマンドの引数には、少なくとも、受信機3に暗号化付きデータとして書き込みさせる受信機データ識別情報と、格納場所識別情報とを含む。例えば、前記No.3の行のHTMLの場合のAPIコマンドにおける引数の実施形態に準じた引数としてもよいし、ARIB TR-B39で規定されるsetItemの引数に準じた引数としてもよい。後者の場合、受信機3は、No.4のAPIが呼び出された場合、API名に含まれる「Encrypted」からNVRAMに書き込むデータを暗号化させる必要があることを認識し、引数に指定された書込みデータを暗号化した上で、NVRAMに格納することでもよい。本実施形態において、受信機3が、No.1やNo.2のAPIで取得した暗号化鍵を用いて、No.3とNo.4のAPIで暗号化付きの書き込みを実施する例を示す。
【0041】
No.3とNo.4のAPIコマンドにより暗号化付きデータを書き込むNVRAMの領域は、ARIB TR-B14やARIB TR-B39で規定されているNVRAMの領域とは別の領域としても良いし、同じ領域としても良い。例えば、No.3のBMLのAPIコマンドにおいて、暗号化付きデータを書き込む格納場所を指示するURL“nvrame://~/0”が表す領域は、ARIB TR-B14の規定するURL“nvram://~/0”が表す領域とは別の領域であってもよいし、同じ領域であってもよい。No.3のHTMLのAPIコマンドにおいてアクセスキーが表す領域についても同様である。さらに、例えばNo.3とNo.4のBMLのAPIコマンド、すなわちwritePersistentArray(引数)とwritePersistentArrayEncrypted(引数)において、例えばURL“nvram://~/0”を指示したとき、前者のNo.3のAPIコマンドによってAPIが呼び出されたときに受信機3がデータを書き込む領域と、後者のNo.4のAPIコマンドによってAPIが呼び出されたときに受信機3が暗号化付きデータを書き込む領域は、別々の領域であってもよいし、同じ領域であってもよい。No.4のHTMLのAPIコマンドにおいても同様である。
【0042】
No.5の行は、暗号化付きデータ読み出しAPIを実行させるAPIコマンドであり、受信機3に暗号化付きデータを情報蓄積部36から読出しをさせるAPIコマンドである。
【0043】
BMLの場合、例えば、ARIB STD-B24に規定されたAPIであるReadPersistentArrayを呼び出すAPIコマンドである。APIコマンドは、例えばReadPersistentArray(引数)である。APIコマンドの引数には、少なくとも、受信機3に読み出しをさせる暗号化付きデータの格納場所を識別する情報(格納場所識別情報、例えば、nvrame://~/<ブロック番号>)を含む。ただし、~や<ブロック番号>は、上記のNo.3の場合と同様である。
【0044】
HTMLの場合、例えば、ARIB TR-B39にその運用が規定されるLocalStorageオブジェクトのメソッドとして定義するAPIであるgetItemを呼び出すAPIコマンドである。APIコマンドは、例えばgetItem(引数)とする。APIコマンドの引数には、受信機3に読み出しをさせる暗号化付きデータの格納場所を識別する情報(格納場所識別情報、例えば、”_e_wlocal“+アイテム番号)を含む。アイテム番号は、上記のNo.3の場合と同様である。
【0045】
No.6の行は、暗号化付きデータ読み出しAPIを実行させるAPIコマンドであり、受信機3に暗号化付きデータを情報蓄積部36から読出させるAPIコマンドである。
【0046】
BMLの場合、例えば、ARIB STD-B24に規定されたReadPersistentArrayに準じたAPIであるReadPersistentArrayEncryptedを呼び出すAPIコマンドである。APIコマンドは、例えばReadPersistentArrayEncrypted(引数)とする。APIコマンドの引数には、少なくとも、受信機3に読み出しをさせる暗号化付きデータの格納場所識別情報を含む。読み出しさせる暗号化付きデータの格納場所識別情報として、例えば、ARIB TR-B14に規定されるデータ放送用NVRAM内の格納場所を識別する情報の一形態である“nvram://~/<ブロック番号>”というURIを指定しても良い。このとき、同じブロック番号であっても暗号化付きデータと暗号化なし受信機データとが別の領域に格納される実施形態の場合には、受信機3は、No.6のAPIコマンドを受信した場合、API名に含まれる「Encrypted」から暗号化付きデータを格納する領域から読み出すことを認識し、暗号化付きデータをNVRAMから読み出すことでもよい。
【0047】
HTMLの場合、例えば、ARIB TR-B39にその運用が規定されるLocalStorageオブジェクトに準じたAPIであるgetItemEncryptedを呼び出すAPIコマンドである。APIコマンドは、例えばgetItemEncrypted(引数)とする。APIコマンドの引数には、少なくとも、受信機3に読出させる暗号化付きデータの格納場所を識別する情報を含む。読み出しさせる暗号化付きデータの格納場所を識別する情報として、例えば、ARIB TR-B39で規定されるアクセスキー名を指定してもよい。このとき、同じブロック番号であっても暗号化付きデータと暗号化なし受信機データとが別の領域に格納される実施形態の場合には、受信機3は、No.6のAPIコマンドを受信した場合、API名に含まれる「Encrypted」から暗号化付きデータを格納する領域から読み出すことを認識し、暗号化付きデータをNVRAMから読み出すことでもよい。
【0048】
No.7の行は、データ送信APIを実行させるAPIコマンドであり、受信機3に暗号化付きデータを放送局のサーバ2へ送信させるAPIコマンドである。
【0049】
BMLの場合、例えば、ARIB STD-B24に規定されたAPIであるtransmitTextDataOverIPを呼び出すAPIコマンドである。APIコマンドは、例えばtransmitTextDataOverIP(引数)である。本実施形態においては、APIコマンドの引数には、No.4またはNo.5のAPIコマンドを用いて読み出した暗号化付きデータと、送信先を識別する情報を含む。本実施形態において、前記暗号化付きデータはテキストデータであってもよい。なお一般に暗号化付きデータはバイナリデータでありテキストデータではないので、例えば、Base64符号化により暗号化付きデータを可逆的にテキストデータへ変換したデータを引数としてもよい。また前記送信先を識別する情報は、例えば、サーバ2のURL“https://サーバ2のアドレス”でありさらにパラメータとして「?datatype=nvram&encrypted=yes」を付加したURLである。この情報は、本APIコマンドを受信した受信機3に、暗号化付きのデータを放送局のサーバ2へ送信させることを示す。より具体的には、受信機3は暗号化データを送信するためにサーバ2に対して接続要求をする。接続要求時には上記のパラメータを送信する。受信機3から送信のための接続を受けたサーバ2は、受信したパラメータにより、受信機3が暗号化付きデータを送信しようとしていることを確認する。
【0050】
HTMLの場合、標準機能である通信手段を用いてサーバ2との通信を実行可能である。本実施形態では、例えば、JavaScriptのXMLHttpRequestオブジェクトを用いて、サーバ2へ暗号化付きデータを送信する。この場合、APIコマンドは、例えばXMLHttpRequest.open(引数)とXMLHttpRequest.send(引数)とを含めても良い(前者の引数は暗号化付きデータを送信する送信先を識別する情報であり、後者の引数は送信する暗号化付きデータである)。これらの実施形態は、前記BMLのtransmitTextOverIPにおける実施形態と同じとしてもよい。No.7のAPIコマンドにより、受信機3は、情報蓄積部36(データ放送用NVRAM)から読み出した暗号化付きデータをそのまま、すなわち暗号化を復号せずに指定された放送局のサーバ2に送信する。
【0051】
なお、本実施形態においては、受信機3のAPIへの命令であるAPIコマンドを、デジタルテレビのデータ放送サービスで放送するアプリケーションデータに含める例を示すが、これに限られない。例えば、API機能の命令をTS方式のSignaling Information(SI)信号などに含めることでもよい。
【0052】
図4は、実施形態に係る放送局のサーバの機能構成例を示すブロック図である。
【0053】
放送局のサーバ2は、例えばコンピュータであり、外部装置との通信を実施する通信インターフェースや、データの処理を実施するCPUなどを備える。具体的には、放送局のサーバ2は、ネットワーク5を介して受信機3と各種データのやり取りをする。また、サーバ2は、ネットワーク6を介して送信機1と各種データのやり取りをする。
【0054】
通信部21は、サーバ2がネットワーク5やネットワーク6を介して通信をするための通信インターフェースを含み、ネットワーク5、ネットワーク6に適用されている通信プロトコル(IP通信方式、専用線の方式など)をそれぞれ実装している。
【0055】
アプリケーションデータ処理部22は、受信機3や送信機2と、https通信によりアプリケーションレベルのデータをやり取りし、処理をする。例えば、アプリケーションデータ処理部22は、受信機3からのアプリケーションデータ(ここではBMLファイル、HTMLファイルとは限らない)を解析し、必要に応じてサーバ2内の機能に処理命令をする。
【0056】
暗号化鍵要求処理部23は、受信した受信機3からの暗号化鍵要求に応じて、サーバ2内に格納された暗号化鍵をアプリケーションデータ処理部22へ出力する。出力された暗号化鍵は、通信部21などを介して受信機3へ送信される。
【0057】
鍵格納部24は、例えば不揮発性メモリであり、暗号化鍵や暗号化復号鍵が格納されている。ただし、暗号化鍵と暗号化復号鍵はそれらの秘匿の重要性の違いを考慮して物理的に異なるメモリに格納することでもよい。
【0058】
鍵生成部25は、暗号化鍵や暗号復号化鍵を生成し、鍵格納部24に格納する。本実施形態においては非対称鍵暗号技術を適用し、暗号化鍵を公開鍵とし、暗号復号化鍵を秘密鍵とする。鍵生成部25は、公開鍵と秘密鍵とを1対1の組み合わせで生成する。秘密鍵は生成者が秘密に所持し、公開鍵は秘密にする必要はなく第三者に公開されてもよい。非対称鍵暗号技術また公開鍵および秘密鍵の生成方法については一般的な技術であるため説明は省略する。
【0059】
復号処理部26は、受信機3から受信した暗号化付きデータを暗号化復号鍵で復号し、受信機データを得て、出力する。具体的には、復号処理部26は、アプリケーションデータ処理部22から暗号化鍵で暗号化された受信機データである暗号化付きデータを受信する。復号処理部26は、暗号化付きデータを暗号化復号鍵によって復号し、受信機データを得る。非対称鍵暗号技術による暗号化復号鍵(秘密鍵)を用いた復号方法については一般的な技術であるため説明は省略する。なお、本実施形態においては、サーバ2が暗号化鍵と暗号化復号鍵を持つ例を示すが、暗号化鍵と暗号化復号鍵を持つサーバが異なっていてもよい。その場合は、暗号化復号鍵を持つサーバが、暗号化復号鍵を用いた処理をする機能を備える。なお、本実施形態においては、サーバ2が暗号化鍵と暗号化復号鍵を持つ例を示すが、暗号化鍵と暗号化復号鍵を持つサーバが異なっていてもよい。その場合は、暗号化復号鍵を持つサーバが、暗号化復号鍵を用いた処理をする機能を備える。
【0060】
受信機データ格納部27は、復号処理部26から出力される受信機データを格納する。受信機データは、受信機3が所有する受信機3に関する設置場所情報、所有者情報、視聴データ、視聴行動データなどの任意のデータであり、例えば、視聴データや視聴行動データは視聴分析などの解析データとして用いられる。
【0061】
図5は、実施形態に係る受信機の機能構成例を示すブロック図である。
【0062】
受信機3は、例えばデジタルテレビの受信機であり、2K放送、4K/8K放送を含むデジタル放送の受信機能を備える。また受信機3は、ネットワーク5を介してサーバ2や図示せぬ外部サーバとデータのやり取りをするための通信インターフェースを備える。さらに受信機3は、デジタル放送から得たデータとサーバから得たデータとを連携させて各種放送通信連携サービスを実現するための機能を備える。また、受信機3は、受信機3によって視聴されたデジタル放送の番組の視聴履歴など視聴行動データや、例えば受信機3の所有者に関する情報を取得し、保存することができる。これらを含めて受信機3が保存可能なデータを受信機データと称する。受信機3は、受信機データの全てもしくは一部を、情報蓄積部36(データ放送用NVRAM)に記憶することができる。受信機3は、例えばネットワーク5を介してサーバ2に受信機データを送信することができる。サーバ2は受信した受信機データを解析するなどして利用する。本実施形態においては、受信機データを暗号化した上で暗号化付きデータとして情報蓄積部36に記憶し、情報蓄積部36から暗号化付きデータを読み出してサーバ2へ送信する。また、受信機3は、上記の機能を実現するためのCPUなどの演算処理機能を備える。
【0063】
放送チューナ31は、放送波4をアンテナやケーブルなどから受波し、各種デジタル放送の規格に応じた送信機1の伝送路符号化や変調方式などに対応する復号、復調などを放送波4に対して実施し、放送ストリームのデジタルデータを取得し、出力する。
【0064】
放送ストリーム処理部32は、放送チューナ31から入力される放送ストリームに対して、各種デジタル放送の規格に応じた、例えばデマルチプレクサ(データ分離)、情報源符号化復号化などを実施して、サービスデータ、データ放送サービスデータ、アプリケーションデータ、各種制御情報などを取得し、出力する。
【0065】
制御部33は、受信機3の全体の制御を実施する。例えば制御部33は、放送ストリーム処理部32から各種制御情報などを取得し、取得した各種制御情報などに基づいて受信機3の各種機能を制御する。また制御部33は、リモコン部303やインターフェース部302を介して、ユーザからの各種制御命令を受信し、各種制御命令に基づいて受信機3の各種機能を制御することでもよい。
【0066】
アプリケーションデータ格納部34は、例えばメモリであり、放送ストリーム処理部32が出力するアプリケーションデータを格納する。具体的には、放送チューナ31が放送信号の受信を開始してから、受信機3(具体的にはアプリケーション実行部35)がアプリケーションを実行するまでに受信したアプリケーションデータを格納しておくキャッシュ、バッファとして用いてもよい。
【0067】
アプリケーション実行部35は、例えばBMLブラウザ、HTMLブラウザなどアプリケーションエンジンの機能を含む。
図7の説明において詳述する。
【0068】
情報蓄積部36は、例えば不揮発性の記憶媒体であるNVRAM(Non-Volatile Memory)である。情報蓄積部36は、2K放送や4K/8K放送で実施されているサービスの一つであるデータ放送で取り扱うデータ(受信機データとも称する)の格納媒体(データ放送用NVRAMとも称する)であってもよい。情報蓄積部36は、論理アドレス中の識別子であるnvrame、nvramによって、記憶されるデータが暗号化付きであるか否かが区別されてもよい。
【0069】
本実施形態においては、情報蓄積部36(NVRAM)に暗号化付きデータが格納され、また格納されているデータが暗号化付きデータであるか非暗号化データであるかを判別可能である。
【0070】
図6は、実施形態に係る受信機の情報蓄積部の蓄積データ領域の例を示す図である。本図は情報蓄積部36に蓄積されているデータの説明を目的として、データの内容に基づいて、論理的に区別して示したものであり、情報蓄積部36における物理的な関係を示すものとは限らない。従って、図に示される内容が必ずしも全て情報蓄積部36に蓄積されているとは限らない。
【0071】
図6(a)は、放送事業者に割り当てられたNVRAM上の記憶領域の一例を示している。NVRAMは大きく、放送事業者ごとの領域や放送事業者共用の領域に分けられ、さらに各放送事業者の領域や放送事業者共用の領域は、ブロック(またはアイテム)という小領域に分けられる。
【0072】
領域3601に示すアドレス“nvram://b_id”は、情報蓄積部36(NVRAM)上の記憶領域の場所を示している。b_idは、具体的には、放送事業者のブロードキャスタ識別子の値であり、当該ブロードキャスタ識別子を割り当てられた放送事業者が送信するアプリケーションにおいては、記号~によっても表すことができる。ここで領域3601自体は、NVRAM上になくてもよく、図示せぬ別のメモリ上にて、NVRAMの格納場所と放送事業者とを紐づける対応表などを格納し、受信機3がNVRAMにアクセスする際には、その対応表を参照することでもよい。
【0073】
本実施例では、ブロック(またはアイテム)に「氏名」「住所」や「メールアドレス」を格納している。なお、「氏名」「住所」「メールアドレス」といった情報の種類を「情報要素名」として図示しているが、データとして格納しているものではない。すなわち「情報要素名」は、
図6の説明のために便宜上示したものであり、具体的なデータとして情報蓄積部36に格納されていなくてもよい。また、各ブロックをフィールド1、フィールド2に分割し、それぞれに「データ本体」、「登録日時」を書き込む形態をとっている。
【0074】
領域3602は、フィールド1でありデータ本体が格納される。例えばブロック0のフィールド1には、「氏名」が格納される。
【0075】
領域3603は、フィールド2であり、フィールド1に格納するデータ本体に対する「登録日時」が格納される。例えばブロック0においては、「氏名」をブロック0に書き込んだ(登録した)日時が格納される。
【0076】
領域3604は、情報蓄積部36上の記憶領域であるブロック1のデータを示す。ブロック1に格納される情報要素は「住所」である。より詳細には、ブロック1のフィールド1にはデータ本体として具体的な「住所」が格納され、フィールド2には「住所」の登録された「登録日時」が格納される。
【0077】
領域3605は、情報蓄積部36上の記憶領域であるブロックNのデータを示す。ブロックNに格納される情報要素は「視聴行動データ」であり、より詳細には、領域3604と同様であるので省略する。
【0078】
図6(b)は、情報蓄積部36の記憶領域に格納されるデータの一例を示している。
図6(a)との違いは、領域3606に示すアドレスである。領域3606に示すアドレスnvrame://b_idは、
図6(a)と同じブロードキャスタ識別子b_idで識別される放送事業者に割り当てられた領域であるが、暗号化付きデータを記憶する情報蓄積部36上の領域であることを示す。
図6(b)におけるフィールド1の「データ本体」は、全て暗号化されているデータ(暗号化付きデータ)である。
【0079】
図6(c)は、情報蓄積部36の記憶領域に格納されるデータの一例を示している。
図6(a)との違いは、領域3607である。
図6(c)においては、フィールド3「暗号化有無」を追加している。
図6(b)の場合は、領域3606に示すアドレスにより、情報蓄積部36に格納されているデータが暗号化付きであることを判断可能としているが、
図6(c)の場合は、フィールド3によりデータが暗号化付きであるかどうかを判断できる。
【0080】
図5に戻り、受信機データ格納部37には、受信機3が取得した視聴行動データや、受信機3の所有者に関する受信機固有の情報などの受信機データが格納される。受信機データ格納部37は、例えば、アプリケーション実行部35が用いるワークメモリの一部としてもよい。前記ワークメモリは、DRAM(Dynamic Random Access Memory)などでもよい。
【0081】
通信部38は、受信機3がネットワーク5を介して通信をするための通信インターフェースを含み、ネットワーク5に適用されている通信プロトコル(IP通信方式、専用線の方式など)を実装している。
【0082】
提示制御部39は、サービスデータ、データ放送サービスデータ、アプリケーションデータなどを提示部301に表示もしくは音声出力するために各データの出力タイミング、各データの加工などの調整を実施した上でデータ(提示データと称する)を提示部301に出力する。
【0083】
提示部301は、例えばモニタ、スピーカであり、提示データを、映像データや画像データとて表示したり音声としてスピーカから出力したりする。
【0084】
インターフェース部302は、受信機3とユーザとのユーザーインターフェースであり、例えば受信機3の付属のリモートコントローラ(リモコン)とのインターフェースであるIR通信、PC用のマウス、キーボードなどとのインターフェースであるUSBなどを含んでもよい。なお、インターフェース部302と結線されていない受信機3内の機能ブロックとデータ、信号などのやり取りをする場合もある。
【0085】
リモコン部303は、例えば受信機3の付属のリモコンである。例えばユーザがリモコン部303を操作するとリモコン部303が制御データを出力する。出力された制御データを制御部33がインターフェース部302を介して受信し、制御部33が受信機3内の機能を制御することで、ユーザは受信機3の制御が可能である。
【0086】
図7は、実施形態に係る受信機のアプリケーション実行部の機能構成例を示すブロック図である。
【0087】
データ解析部350は、アプリケーションデータを解析するなどの機能を有する。アプリケーションデータは、例えばBMLやHTMLで記述されたデータでもよい。データ解析部350は、アプリケーションデータからAPIコマンドを抽出し、API処理部351に出力する。
【0088】
API処理部351は、データ解析部350から入力された各種APIコマンドを解釈し、解釈結果またはAPIコマンドそのものを関連する機能に出力する。具体的には、API処理部351は、データ解析部350から入力されたAPIコマンド(API名および付随する引数など)に基づいて、関連機能にAPIの処理を実行させる。
【0089】
読出し処理部352は、API処理部351から暗号化付きデータの読み出しに関する実行命令を受信し、命令に従って処理を実行する。具体的には、読出し処理部352は、処理を実行することにより、情報蓄積部36(NVRAM)から暗号化付きデータを読み出し、例えば、通信処理部359に出力する。
【0090】
暗号化判定部353は、API処理部351からAPIコマンドを受信し、APIコマンドが暗号化付きデータに関わるものであるかどうかを判定する。具体的には、
図3のNo.4、No.6のAPIのようにAPI名に「encrypted」などが含まれる場合や、
図3のNo.3、No.5のAPIのように引数によってそれが示される場合(例えば、格納先識別情報として“nvrame://~/<ブロック番号>”が指示される場合)場合は、それらのAPIコマンドは暗号化付きデータを扱うAPIコマンドであると認識する。
【0091】
暗号化鍵取得部354は、API処理部351から暗号化鍵の取得の実行命令を受信し、受信した実行命令に従って、処理を実行する。具体的には、暗号化鍵取得部354は、処理を実行することにより、暗号化鍵を取得したり暗号化鍵格納部355に暗号化鍵を取得済みであるかどうかを確認したりする。
【0092】
暗号化鍵格納部355は、暗号化鍵取得部354が取得した暗号化鍵を格納するメモリである。
【0093】
暗号化処理部356は、API処理部351からの実行命令に応じて、暗号化鍵取得部354が取得した暗号化鍵を用いて受信機データを暗号化する。非対称鍵暗号技術による暗号化およびその復号化の方法については一般的な技術であるため説明は省略する。
【0094】
受信機データ取得部357は、API処理部351からの実行命令に応じて処理を実行する。具体的には、受信機データ取得部357は、情報蓄積部36や受信機データ格納部37などから受信機データを取得し、取得した受信機データを暗号化処理部356に出力する。
【0095】
書込み処理部358は、API処理部351からの実行命令に応じて、処理を実行する。具体的には、書込み処理部358は、暗号化処理部356から入力される暗号化付きデータをAPIコマンドで指定される情報蓄積部36のブロックまたはアイテムに書き込む。
【0096】
通信処理部359は、アプリケーション実行部35がネットワーク5を介して受信機3外部の装置(例えばサーバ2)と通信をするための機能を備える。具体的には、HyperText Transfer Protocol(HTTP)通信、hypertext transfer Protocol secure(https)通信またはTransport Layer Security/Secure Sockets Layer(TLS/SSL)通信などの機能を備えている。通信処理部359から出力されるデータは通信部38からネットワーク5に出力される。
【0097】
(第1の実施形態)
本実施形態においては、データ放送サービスのアプリケーションに含めた命令により、受信機3に対して、受信機データを暗号化させ、暗号化付きデータを格納領域を指定して情報蓄積部36に書きこませ、さらに暗号付き受信機データを情報蓄積部36から読み出させ、放送局のサーバに暗号化付きデータを送信させる例を説明する。
【0098】
本実施形態のシステムの構成は
図1、送信機1の機能構成は
図2、サーバ2の機能構成は
図4、受信機3の機能構成は
図5、
図6(a)、
図7による。
【0099】
以下、本実施形態に係るシステムの動作例を説明する。
【0100】
図8は、第1の実施形態に係るシステムの動作例を示すシーケンスチャートである。
【0101】
本実施形態に係るシステムの動作は、大きく4つのフェーズがある。フェーズごとに各装置の動作を示す。
【0102】
フェーズ1は受信機3が暗号化鍵を取得するフェーズである。送信機1が「暗号化鍵取得命令」を放送波4で送信する(ステップP11)。受信機3は放送波4を受信し、「暗号化鍵取得命令」を取得すると、「暗号化鍵要求」をサーバ2に出力する(ステップP12)。サーバ2は、「暗号化鍵要求」を受信すると、「暗号化鍵」を受信機3に出力し、受信機3は「暗号化鍵」を受信し、暗号化鍵格納部355に格納する(ステップP13)。
【0103】
フェーズ2は受信機3が情報蓄積部36に暗号化付きでデータを書き込むフェーズである。送信機1が(暗号化付きのデータの)書き込み命令を放送波4で送信する(ステップP21)。受信機3は、放送波4を受信し、(暗号化付きのデータの)書き込み命令を取得すると、フェーズ1で取得した「暗号化鍵」を用いて受信機データを暗号化する(ステップP22)。受信機3は、暗号化した受信機データを情報蓄積部36に格納する(ステップP23)。
【0104】
フェーズ3は受信機3が情報蓄積部36から暗号化付きデータを読み込むフェーズである。送信機1が「(暗号化付きデータの)読み出し命令」を放送波4で送信する(ステップP31)。受信機3は放送波4を受信し、「(暗号化付きデータの)読み出し命令」を取得すると、情報蓄積部36から指定された暗号化付きデータを読み出す(ステップP32)。
【0105】
フェーズ4は受信機3が暗号化付きデータをサーバ2へ送信し、サーバ2が受信機データを取得するフェーズである。送信機1が「(暗号化付きのデータの)送信命令」を放送波4で送信する(ステップP41)。受信機3は放送波4を受信し、「(暗号化付きのデータの)送信命令」を取得すると、暗号化付きのデータを指定された装置(本実施形態においてはサーバ2)へ送信する(ステップP42)。サーバ2は、暗号化付きのデータを受信し(ステップP43)、暗号化復号鍵を用いて受信した暗号化付きのデータを復号し、受信機データを取得する(ステップP44)。
【0106】
なお、本実施形態においては送信機1が「書き込み命令」、「読み出し命令」、「送信命令」の生成を実施する例を示すが、サーバ2が各命令を生成し、ネットワーク6を介して送信機1に転送し、送信機1に各命令を放送波4で送信させることでもよい。
【0107】
以下、各フェーズにおける送信機1、サーバ2、受信機3の動作例について各フローチャートを用いて説明する。
【0108】
図9は、同実施形態に係る送信機の処理動作の例を示すフローチャートである。
【0109】
送信機1のアプリケーションデータ生成部14は、上記全てのフェーズの処理を順番に受信機3に実行させるためのAPIコマンドを含めてアプリケーションデータを生成する(ステップS11)。具体的なアプリケーションデータ例を以下に示す。
<アプリケーションデータがBMLファイルの場合>{
downloadBroadcasterCertificate(引数1)
writePersistentArray(引数2、引数3)
readPersistentArray(引数2)
transmitTextDataOverIP(引数4、引数5)
}
<アプリケーションデータがHTMLファイルの場合>{
downloadBroadcasterCertificate(引数1)
setItem(引数2、引数3)
getItem(引数2)
XMLHttpRequest.open(引数4)
XMLHttpRequest.send(引数5)
}
ただし、BMLファイル、HTMLファイルともに、引数1は“https://サーバ2のアドレス/暗号化鍵ファイルのパス”、引数2はnvrame://~/<ブロック番号>、引数3は受信機データ識別情報としてもよい。引数4は、送信先を識別する情報であり、例えば、暗号化付きのデータを放送局のサーバ2へ送信させる場合には“https://サーバ2のアドレス?datatype=nvram&encrypted=yes”などでもよい。引数5は、各ファイルごとのAPIコマンド、すなわちreadPersistentArray(引数2)またはgetItem(引数2)によって読み出される暗号化付きデータを表す情報であって、例えば読み出される暗号化付きデータの格納先を示す変数、オブジェクトなどでもよい。
放送ストリーム生成部16は、生成したアプリケーションデータ(BMLファイルまたはHTMLファイル)と、サービスデータストリーム生成部11や制御情報生成部12が出力するデータストリームとを多重し、放送ストリームとして出力する(ステップS12)。
【0110】
放送信号送信部17は、放送ストリームのデジタルデータが入力されると、各種デジタル放送の規格に応じた伝送路符号化や変調などを実施して放送波4を生成し、出力する(ステップS13)。放送波4は図示せぬアンテナ、ケーブルなどから出力される。
【0111】
図10は、同実施形態における受信機の処理動作の例を示すフローチャートである。
【0112】
例えばユーザがリモコン303からチャンネル切替をしたとする。受信機3は、インターフェース部302を介してリモコン303からのリモコン制御信号を受信し、制御部33でリモコン制御信号が「チャンネル選択命令」であることを認識する(ステップS31のYes)。制御部33は「チャンネル選択命令」に応じて放送チューナ31を制御すると、放送チューナ31は選択されたチャンネルの放送波4を受信する(ステップS32)。放送チューナ31は放送波4を処理して放送ストリームを得て、放送ストリーム処理部32は放送ストリームを処理して各種データを得る。放送ストリーム処理部32が取得したデータのうち、アプリケーション制御情報が制御部33に出力されると、制御部33はアプリケーション制御情報を解析する(ステップS33)。制御部33によりアプリケーション制御情報が解析され、「アプリケーション実行命令」が検知されると、制御部33は、アプリケーション実行部35を起動させる(ステップS34)。一方、放送ストリーム処理部32から得たデータのうちアプリケーションデータは、一旦、アプリケーションデータ格納部34に格納される(ステップS35)。アプリケーション実行部35が起動すると、データ解析部350は、アプリケーション格納部34からアプリケーションデータを取得し、アプリケーションデータを解析する(ステップS36)。データ解析部350は、アプリケーションデータを解析して抽出したAPIコマンドをAPI処理部351に出力し、API処理部351はAPIコマンドを解釈し、APIの機能を実行する(ステップS37)。
【0113】
図11は、同実施形態における暗号化鍵取得時のアプリケーション実行部の処理動作の例を示すフローチャートであり、フェーズ1での処理動作に相当する。本図は、
図10のフローチャートのステップS37の詳細に相当する。
【0114】
API処理部351は、
図3のNo.1の行に示されるAPIコマンドを受信し、APIコマンドを認識する(ステップS311)。なお、各機能のAPIについては、2K放送(TS方式)と4K8K方式(MMT方式)とでAPIコマンドの違いはあるが、APIコマンドの処理およびAPIによる処理には特に違いはない。従って、以降特に断らない限りは実施形態における説明は2K放送(TS方式)の場合および4K8K方式(MMT方式)の場合両者に適用可能である。受信機3が受信する放送波4が2K放送(TS方式)であるか4K8K方式(MMT方式)であるかは
図10のステップS32において決まる。API処理部351は、受信したAPIコマンドが暗号化鍵をサーバ2に要求するAPIコマンドであることを認識し、暗号化鍵取得部354に暗号化鍵取得処理を実行させる。暗号化鍵取得部354は、サーバ2に対して暗号化鍵を要求する(ステップS312)。具体的には、暗号化鍵取得部354は、API処理部351からのAPIコマンドに基づいた実行要求に従って暗号化鍵要求メッセージを作成し、通信処理部359、通信部38を介して、サーバ2に暗号化鍵要求メッセージを送信する。サーバ2から暗号化鍵が送信されると、暗号化鍵取得部354は、通信部38、通信処理部359を介して暗号化鍵を受信し、暗号化鍵格納部355に暗号化鍵を格納する(ステップS313)。
【0115】
図12は、同実施形態における暗号化鍵取得時のサーバの処理動作の例を示すフローチャートである。
【0116】
サーバ2において、鍵生成部25は、暗号化鍵、暗号化復号鍵を生成し、鍵格納部24に格納する(ステップS211)。なお、鍵生成部25は、受信機3の暗号化鍵要求メッセージを受信したタイミングで暗号化鍵、暗号化復号鍵を生成してもよいし、受信機3の暗号化鍵要求メッセージの受信有無に関わらず任意のタイミングで生成し、鍵格納部24に格納することでもよい。アプリケーションデータ処理部22は、通信部21を介してメッセージを受信し、暗号化鍵要求メッセージであることを認識すると、暗号化鍵要求処理部23に暗号化鍵要求メッセージを出力する(ステップS212)。暗号化鍵要求処理部23は、受信した暗号化鍵要求メッセージに基づいて、暗号化鍵を鍵格納部24から取得する(ステップS213)。暗号化鍵要求処理部23は、受信機3に例えばhttps通信で暗号化鍵を送信する(ステップS214)。以上の手順により、受信機3は、サーバ2が所有する暗号化鍵を取得することができる。
【0117】
図13は、同実施形態におけるデータ書き込み時のアプリケーション実行部の処理動作の例を示すフローチャートであり、フェーズ2での処理動作に相当する。本図は、
図10のフローチャートのステップS37の詳細に相当する。
【0118】
API処理部351は、
図3のNo.3またはNo.4の行に示されるAPIコマンドを受信する。API処理部351は、APIコマンドを認識し、暗号化判定部353に出力する(ステップS321)。暗号化判定部353は、API名またはその引数などから、APIコマンドが暗号化付きデータを扱うAPIコマンドであるかどうかを判定する(ステップS322)。本実施形態においては、例えば、APIコマンド名が”writePersistentArrayEncrypted“であれば暗号化付きデータを扱うAPIコマンドであると判定し、APIコマンド名が”writePersistentArray“であれば暗号化付きデータを扱わないと判定してもよい。または、APIコマンドの引数が“nvrame://~/<ブロック番号>”であれば暗号化付きデータを扱うAPIコマンドであると判定し、APIコマンドの引数が“nvram://~/<ブロック番号>”であれば暗号化付きデータを扱わないと判定することとしてもよい。
【0119】
APIコマンドが暗号化付きデータを扱う場合は、API処理部351は暗号化処理部356にAPIコマンドに基づいた処理を実行させて、暗号化処理部356はAPIコマンドの引数などにて指定される受信機データ識別情報から暗号化すべき受信機データを認識し、指定された受信機データ(暗号化されていないデータ)を暗号化する(ステップS322のYes、ステップS323)。より詳細には、暗号化処理部356は、API処理部351から処理の実行命令を受信すると、例えば受信機データ格納部37(場合によって情報蓄積部36)から受信機データを取得し、暗号化鍵格納部355に格納されている暗号化鍵を用いて取得した受信機データの暗号化を実施し、暗号化付きデータを書込み処理部358に出力する。書込み処理部358は、暗号化付きデータを情報蓄積部36の暗号化付きデータの格納エリア(例えば、nvrame://~/<ブロック番号>の<ブロック番号>により指示されるブロック)に格納する(ステップS324)。一方、暗号化判定部353が、受信したAPIコマンドは暗号化付きデータを扱わないと判定した場合、API処理部351は、暗号化を行わずに指定のデータを情報蓄積部36に格納する(ステップS322のNo、ステップS325)。
【0120】
図14は、同実施形態におけるデータ読み出し時のアプリケーション実行部の処理動作の例を示すフローチャートであり、フェーズ3での処理動作に相当する。本図は、
図10のフローチャートのステップS37の詳細に相当する。
【0121】
API処理部351は、
図3のNo.5またはNo.6の行に示されるAPIコマンドを受信し、APIコマンドを認識する(ステップS331)。具体的には、API処理部351は、APIコマンドを認識し、暗号化判定部353に出力する。暗号化判定部353は、API名またはその引数などから、APIコマンドが暗号化付きデータを扱うAPIコマンドであるかどうかを判定する(ステップS332)。本実施形態においては、例えば、APIコマンド名が”readPersistentArrayEncrypted“であれば暗号化付きデータを扱うAPIコマンドであると判定し、APIコマンド名が”readPersistentArray“であれば暗号化付きデータを扱わないと判定してもよいし、または、APIコマンドの引数が“nvrame://~/<ブロック番号>”であれば暗号化付きデータを扱うAPIコマンドであると判定し、APIコマンドの引数が“nvram://~/<ブロック番号>”であれば暗号化付きデータを扱わないと判定することとしてもよい。APIコマンドが暗号化付きデータを扱う場合は、読出し処理部352は、情報蓄積部36の暗号化付きデータの格納エリアから暗号化付きデータを取り出し、通信処理部359に出力する(ステップS333)。APIコマンドが暗号化付きデータを扱わない場合は、読出し処理部352は、情報蓄積部36の暗号化無しデータの格納エリアからデータを取り出し、通信処理部359に出力する(ステップS334)。なお、暗号化付きデータの格納エリアと、暗号化なしデータの格納エリアを区別しない実施形態においては、前記APIコマンドが暗号化付きデータを扱うAPIコマンドであるかの判定(ステップS332)を行わず、読出し処理部352は情報蓄積部36からデータを取り出し、通信処理部359に出力するのでもよい。通信処理部359においては、暗号化付きデータを例えば図示せぬメモリ、バッファなどに格納することでもよい。
【0122】
図15は、同実施形態におけるデータ送信時のアプリケーション実行部の処理動作の例を示すフローチャートであり、フェーズ4での処理動作に相当する。本図は、
図10のフローチャートのステップS37の詳細に相当する。
【0123】
API処理部351は、
図3のNo.7の行に示されるAPIコマンドを受信し、APIコマンドを認識する(ステップS341)。API処理部351は、認識したAPIコマンドに基づいて、通信処理部359に処理を実行させる。具体的には、通信処理部359はAPIコマンドで指定されたデータを、https通信で送信するためのデータ(以降、https送信データと称する)に変換する(ステップS342)。https送信データは、通信部38からネットワーク5を介してAPIコマンドで指定されたURLにより識別されるサーバ2に送信される(ステップS343)。なお、フェーズ3である
図3のNo.5またはNo.6の行のAPIコマンドに応じたAPI機能の実行直後に
図3のNo.7の行のAPIコマンドに応じたAPI機能を連続的に実行させることで、通信処理部359は、No.7の行のAPIコマンドの引数に関わらずフェーズ3において情報蓄積部36から読み出された暗号化付きデータを送信することにしてもよい。
【0124】
図16は、同実施形態におけるデータ受信時のサーバの処理動作の例を示すフローチャートである。
【0125】
サーバ2のアプリケーションデータ処理部22は、受信機3が送信したhttps送信データを受信する(ステップS221)。アプリケーションデータ処理部22は、https送信データに含まれる送信宛先URLを解析する(ステップS222)。例えば、送信宛先URLに”
https://サーバ2のアドレス?datatype=nvram&encrypted=yes“のように「encrypted=yes」と記載されている場合は、アプリケーションデータ処理部22は、https送信データに含まれるデータが暗号化付きデータであると判断する。一方、送信宛先URL”https://サーバ2のアドレス?datatype=nvram&encrypted=no“のように「encrypted=no」と記載されている場合は、https送信データに含まれるデータが暗号化付きでないデータであると判断する。URLの解析の結果、https送信データに含まれるデータが暗号化付きデータである場合、アプリケーションデータ処理部22は、復号処理部26に暗号化付きデータを出力する(ステップS222のYes)。復号処理部26は鍵格納部24に格納されている暗号化復号鍵を用いて、暗号化付きデータを復号する(ステップS223)。
【0126】
以上の手順により、データ放送サービスのアプリケーションに含めたAPIコマンドによって、受信機3に受信機データを暗号化させ、情報蓄積部36(NVRAM)に書きこませることができる。さらにデータ放送サービスのアプリケーションに含めたAPIコマンドによって、受信機3に情報蓄積部36上の暗号化付きの受信機データを読み出させて、放送局のサーバ2に送信させることができる。放送局のサーバ2は、受信機3から暗号化付きの受信機データを受信し、暗号化付きの受信機データを復号することで受信機データを取得することが可能になる。
【0127】
本実施形態においては、情報蓄積部36に格納されるデータに対して非対称鍵暗号技術を用いて暗号化を実施することで、情報蓄積部36に格納される暗号化付きデータはサーバ2のみが保有する暗号化復号鍵によってのみ復号することが可能となるので、サーバ2は機密性(または情報セキュリティ技術におけるConfidentiality)を確保しながら受信機データを収集することが可能になる。なお、データに対する暗号化技術としては、対称鍵暗号技術を用いることも可能である。ただし対称鍵暗号技術を用いる場合、データを暗号化するには共通鍵を用いる。共通鍵は、暗号化付きのデータの暗号化および暗号化の復号に必要となる。もし本実施形態において対称鍵暗号技術を適用させる場合、データの暗号化をする受信機3と暗号化付きデータの復号をするサーバ2とが同一の共通鍵を共有する。従って、対称鍵暗号技術を適用する場合、受信機3も暗号化付きデータを復号することのできる鍵を保有することとなる。受信機3の所有者やサーバ2の管理者である放送事業者ではない第三者が、何らかの手段(例えば、データ放送用NVRAMの実体である半導体メモリに、その読み出し装置を接続して読出しを行うなど)により情報蓄積部36から暗号化付きデータを読み出し、かつ、前記の受信機3が保有する共通鍵も同様に取り出した場合、前記第三者は前記暗号化付きデータを復号して受信機データを入手することが可能であり、情報の機密性を確保するという課題は解決されない。非対称鍵暗号技術は、第三者に知られてもよい公開可能な公開鍵を暗号化鍵として利用し、復号鍵を共有する必要が無いために、本実施形態のようなシステムにおいて情報の機密性を確保するのに非常に効果的である。本実施形態においては、非対称鍵暗号技術を適用することで以上の問題は解決される。
【0128】
(第2の実施形態)
本実施形態においては、データ放送サービスのアプリケーションに含めた命令により、受信機3に対して、放送信号に含まれている暗号化鍵を取得させる例を説明する。本実施形態においては、アプリケーションデータの一部として放送波4で送信される暗号化鍵を取得する場合の例を説明する。
【0129】
本実施形態のシステムの構成は
図1、送信機1の機能構成は
図2、サーバ2の機能構成は
図4、受信機3の機能構成は
図5、
図7を用いて説明する。
【0130】
以下、本実施形態に係るシステムの動作例を説明する。
【0131】
図17は、第2の実施形態に係るシステムのシーケンスチャートであり、受信機3がアプリケーションデータの一部として送信される暗号化鍵を取得するフェーズにおけるシステムの動作の例である。
【0132】
放送局のサーバ2は暗号化鍵を生成し、生成した「暗号化鍵」を、ネットワーク6を介して送信機1に送信する(ステップP121)。送信機1は、暗号化鍵を放送波4で送信する(ステップP122)。ここで送信機1は、アプリケーションデータ内に暗号化鍵を格納し、放送波4で送信する。送信機1は、暗号化鍵の送信とは別に「暗号化鍵取得命令」を放送波4で送信する(ステップP123)。受信機3は放送波4を受信し、解析する(ステップP124)。解析の結果、受信機3は「暗号化鍵取得命令」を検知すると、放送波4をさらに解析し、アプリケーションデータ内の暗号化鍵を取得する(ステップP125)。
【0133】
図18は、同実施形態に係る送信機の処理動作の例を示すフローチャートである。
【0134】
送信機1のアプリケーションデータ生成部14は、サーバ2から受信した暗号化鍵データを放送波4に乗せて送信するための暗号化鍵の送信データを生成する(ステップS1201)。具体的には、以下に示すような放送波4の種類に応じた放送波4上の格納場所(ARIB STD-B24、ARIB STD-B62などに準ずる)である、アプリケーションを構成するリソース(ファイル)として暗号化鍵の送信データを格納することでもよい。
<放送波4がTS方式の場合>arib-dc://暗号化鍵のリソース名
<放送波4がMMT方式の場合>arib-dc2://暗号化鍵のリソース名
さらに、ステップS1201とは独立に(並行して)、受信機3に暗号化鍵の取得を実行させるために以下に示すようにAPIコマンドを含めてアプリケーションデータを生成する(ステップS1202)。
<アプリケーションデータがBMLファイルの場合>{
downloadBroadcasterCertificate(引数1)
}
<アプリケーションデータがHTMLファイルの場合>{
downloadBroadcasterCertificate(引数2)
}
引数1、引数2については、例えばBMLファイルの引数1は“arib-dc://暗号化鍵のリソース名”、HTMLファイルの引数2は“arib-dc2://暗号化鍵のリソース名”とする。
【0135】
放送ストリーム生成部16は、生成した暗号化鍵の送信データとアプリケーションデータ(BMLファイルまたはHTMLファイル)とを、他のサービスデータストリーム生成部11や制御情報生成部12が出力するデータストリームと多重し、放送ストリームとして出力する(ステップS1203)。暗号化鍵の送信データは、アプリケーションストリームに格納される。
【0136】
放送信号送信部17は、放送ストリームのデジタルデータが入力されると、各種デジタル放送の規格に応じた伝送路符号化や変調などを実施して放送波4を生成し、出力する(ステップS1204)。放送波4は図示せぬアンテナ、ケーブルなどから出力される。
【0137】
図19は、同実施形態における暗号化鍵取得時のアプリケーション実行部の処理動作の例を示すフローチャートである。受信機3の処理動作は、
図10のフローチャートと同様であり、
図19は
図10のステップS37に相当する処理動作を示している。
【0138】
受信機3のAPI処理部351は、
図3のNo.2の行に示されるAPIコマンドを受信し、APIコマンドを認識する(ステップS3201)。API処理部351は、APIコマンドの引数から放送波4に暗号化鍵が格納されていることを認識すると、制御部33にAPIコマンドに基づいた処理を実行させる。制御部33は、放送波4の解析を実行する。(ステップS3202)。具体的には、制御部33は、APIコマンドの引数として指定された暗号化鍵データの格納場所に基づいて、放送ストリーム処理部32が出力するデータ放送サービスのデータから、暗号化鍵を特定する。制御部33は、特定した暗号化鍵をAPI処理部351に出力し、API処理部351は、入力された暗号化鍵を暗号化鍵格納部355に格納する(ステップS3203)。
【0139】
以上の手順により、データ放送サービスのアプリケーションに含めた命令により、受信機3は、放送波4に含めて送信される暗号化鍵を取得することが可能になる。
【0140】
(第3の実施形態)
本実施形態においては、受信機3に対して、放送信号に含まれている暗号化鍵を取得させる例を説明する。本実施形態においては、アプリケーションデータとは別に同一の放送波4で送信されるSI(Signaling Information)から暗号化鍵を取得する場合の例を説明する。
【0141】
本実施形態のシステムの構成は
図1、送信機1の機能構成は
図2、サーバ2の機能構成は
図4、受信機3の機能構成は
図5、
図7を用いて説明する。
【0142】
以下、本実施形態に係るシステムの動作例を説明する。
【0143】
図20は、第3の実施形態に係るシステムのシーケンスチャートであり、受信機3がアプリケーションデータとは別に同一の放送波4で送信されるSIから暗号化鍵を取得するフェーズにおけるシステムの動作の例である。
【0144】
放送局のサーバ2は、暗号化鍵を生成し、生成した暗号化鍵をネットワーク6を介して送信機1に送信する(ステップP131)。送信機1は、暗号化鍵を放送波4のSIで送信する(ステップP132)。ここで送信機1は、暗号化鍵を繰り返し放送波4で送信することでもよい。受信機3は放送波4を受信し、解析する(ステップP133)。解析により、受信機3は放送波4に格納されている暗号化鍵を取得する(ステップP134)。
【0145】
図21は、同実施形態におけるTS方式の放送波4のSIで暗号化鍵を送信する場合の例である。
図21(a)は、暗号化鍵である放送事業者の公開鍵を格納する記述子(ブロードキャスタ公開鍵記述子)であり、その構造はARIB STD-B10に規定される記述子の共通構造の通りである。前記記述子を、例えば、
図21(b)の領域1241Aまたは1241Bに示す、ARIB STD-B10が規定するブロードキャスタ情報テーブル(BIT)の記述子領域に配置して送信する。
【0146】
図22は、同実施形態におけるMMT方式の放送波4のSIで暗号化鍵を送信する場合の例である。
図22(a)は、暗号化鍵である放送事業者の公開鍵を格納する記述子(MH-ブロードキャスタ公開鍵記述子)であり、その構造はARIB STD-B60に規定される記述子の共通構造の通りである。前記記述子を、例えば、
図22(b)の領域1242Aまたは1242Bに示す、ARIB STD-B60が規定するMH-ブロードキャスタ情報テーブル(MH-BIT)の記述子領域に配置して送信する。
【0147】
送信機1は、ステップP131とは独立に(暗号化付きのデータの)書き込み命令を放送波4で送信する(ステップP231)。受信機3は、(暗号化付きのデータの)書き込み命令を受信すると、例えば暗号化で必要な暗号化鍵が暗号化鍵格納部355に格納されているかを確認する(ステップP232)。受信機3は、暗号化鍵格納部355に暗号化鍵が格納されていることを認識すると、(暗号化付きのデータの)書き込み命令の対象となる受信機データを暗号化鍵を用いて暗号化する(ステップP233)。受信機3は、暗号化した受信機データを情報蓄積部36に格納する(ステップP234)。以下、本実施形態における送信機1、受信機3の動作例について説明する。
【0148】
送信機1は、例えば制御情報生成部12において制御情報(例えばSI)として暗号化鍵を送信する。また、送信機1のアプリケーションデータ生成部14は、暗号化鍵の送信とは独立に、
図3のNo.3の行のAPIコマンドを含めて以下のようにアプリケーションデータを生成する。
<アプリケーションデータがBMLファイルの場合>{
writePersistentArray(引数1、引数2)
}
<アプリケーションデータがHTMLファイルの場合>{
setItem(引数3、引数4)
}
ただし、引数1は“nvrame://~/<ブロック番号>”、引数3は“_e_wlocal+アイテム番号”としてもよい。また、引数2および引数4は受信機データ識別情報としてもよい。
上記のAPIコマンドについては、第1の実施形態において用いたAPIコマンドと同一なので説明を省略する。
【0149】
図23は、同実施形態における受信機の処理動作の例を示すフローチャートである。
【0150】
ステップS3301からS3306までの動作は、第1の実施形態の
図10のステップS31からS37と同様であるのでここでは説明を省略する。本実施形態においては、第1の実施形態の動作例と異なり、ステップS3307からS3309が追加されている。
図23のフローチャートにおいては、ステップS3302以降、S3303、S3304、S3307が並列(独立)に動作していることを示している。
【0151】
受信機3の制御部33は、放送ストリーム処理部32が出力する放送ストリームを解析し、暗号化鍵を含むSIを抽出する(ステップS3307)。さらに制御部33は、抽出したSIから暗号化鍵を抽出し、暗号化鍵取得部354に暗号化鍵を出力する(ステップS3308)。暗号化鍵取得部354は入力された暗号化鍵を暗号化鍵格納部355に格納する(ステップS3309)。
【0152】
図24は、同実施形態におけるデータ書き込み時のアプリケーション実行部の処理動作の例を示すフローチャートであり、
図23のフローチャートのステップS3310の詳細に相当する。
【0153】
API処理部351は、
図3のNo.3の行に示されるAPIコマンドを受信し、APIコマンドを認識する(ステップS3321)。API処理部351は、認識したAPIコマンドを暗号化判定部353に出力する。暗号化判定部353は、API名またはその引数などから、APIコマンドが暗号化付きデータを扱うAPIコマンドであるかどうかを判定する(ステップS3322)。本実施形態においては、APIコマンドの引数に「nvrame:」が含まれていることから、暗号化判定部353は、暗号化付きデータを扱うAPIコマンドであると判定し、API処理部351は、その判定に基づいて、暗号化鍵格納部355に必要な暗号化鍵が格納されているかを暗号化鍵取得部354に確認させる(ステップS3323)。暗号化鍵格納部355に必要な暗号化鍵が格納されている場合、暗号化鍵取得部354は、暗号化鍵格納部355から暗号化鍵を取得し、暗号化処理部356に入力する(ステップS3323のYes、S3324)。暗号化処理部356は、APIコマンドの引数の受信機データ識別情報などにて指定された受信機データ(暗号化されていないデータ)を先のステップで取得した暗号化鍵で暗号化し、暗号化付きデータを生成する(ステップS3325)。暗号化処理部356は、暗号化付きデータを書込み処理部358に出力し、書込み処理部358は、暗号化付きデータを情報蓄積部36の暗号化付きデータの格納エリア(例えば、nvrame://~/<ブロック番号>)に格納する(ステップS3326)。暗号化判定部353が、APIコマンドが暗号化付きデータを扱わないAPIコマンドであると判定した場合、API処理部351は、暗号化を行わずに指定のデータを情報蓄積部36に格納する(ステップS3322のNo、S3327)。また、暗号化鍵取得部354は、暗号化鍵格納部355に必要な暗号化鍵が格納されていない場合、指定の受信機データの暗号化を行わずに終了する(ステップS3323のNo)。もしくは、しばらく待ってから再度、ステップS3323から繰り返してもよい。
【0154】
以上の手順によって、受信機3が放送波4におけるアプリケーションデータとは別に同一の放送波4にて送信されるSIから暗号化鍵を取得し、データ放送サービスのアプリケーションに含めた命令により、受信機3に対して、受信機データを暗号化させ、暗号化付きデータを情報蓄積部36(NVRAM)に書き込ませることができる。
【0155】
なお、第2の実施形態において、放送波4のアプリケーションデータの一部として暗号化鍵を送信する例について説明し、第3の実施形態において、放送波4のSIとして暗号化鍵を送信する例について説明したが、例えば、第2の実施形態において暗号化鍵をSIとして送信する形態や、第3の実施形態において暗号化鍵をアプリケーションの一部として送信する形態も可能である。具体的には、前者の形態においては、暗号化鍵を取得させるAPIコマンドに、暗号化鍵の放送波4における格納位置を識別する情報として、例えば空文字列を設定し、制御部33は、暗号化鍵の格納位置を識別する情報として空文字列が指定されていることを確認した場合に、暗号化鍵を放送波4のSIから取得し、取得した暗号化鍵をAPI処理部351に出力するようにしてもよい。後者の形態においては、暗号化鍵をアプリケーションデータのあらかじめ定められたリソースとして格納することでもよい。以上のように、送信側(送信機1)が鍵を送信する方法には、アプリケーションデータの一部として送信する方法やSIとして送信する方法などがある。また、受信側(受信機3)が鍵を受信する方法には、APIで行う方法やAPIを用いずに受信機がバックグラウンドで行う方法などがある。これら鍵を送信する方法と鍵を受信する方法との組み合わせに特に制限はなく、任意の組み合わせが可能である。
【0156】
(第4の実施形態)
本実施形態においては、データ放送サービスのアプリケーションに含めた命令により、受信機3に対して、暗号化領域を指定せずに暗号化付きデータを情報蓄積部36(NVRAM)に書きこませ、さらに書き込ませたデータを読み出させる例について説明する。本実施形態においては、APIコマンドのAPI名に暗号化データを扱うことがわかるワードを含ませることで、受信機3はAPIコマンドが暗号化付きデータを扱うことを認識する。
【0157】
本実施形態のシステムの構成は
図1、送信機1の機能構成は
図2、サーバ2の機能構成は
図4、受信機3の機能構成は
図5、
図7を用いて説明する。
【0158】
以下、本実施形態に係るシステムの動作例を説明する。本実施形態においては、暗号化鍵が暗号化鍵格納部355に格納されているものとする。また、送信機1、サーバ2、受信機3の動作例は、第1の実施形態で用いたフローチャートを用いて説明する。また、第1の実施形態における動作例と同様の部分については説明を省略する。
【0159】
以下、
図9のフローチャートを用いて送信機1の動作例を説明する。
【0160】
アプリケーションデータ生成部14は、受信機3に暗号化付きの受信機データの書き込み、読出し、送信を実行させるために
図3のNo.4、No.6、No.7の行のAPIコマンドを含めて以下に示すようにアプリケーションデータを生成する(
図9のステップS11)。
<アプリケーションデータがBMLファイルの場合>
{
writePersistentArrayEncrypted(引数1、引数2)
ReadPersistentArrayEncrypted(引数1)
transmitTextDataOverIP(引数3、引数4)
}
<アプリケーションデータがHTMLファイルの場合>{
setItemEncrypted(引数1、引数2)
getItemEncrypted(引数1)
putItem(引数3、引数4)
}
ただし、引数1はBMLファイルでは“nvram://~/<ブロック番号>”、HTMLファイルでは“_wlocal+アイテム番号”などとしてもよい。引数2はBMLファイル、HTMLファイルともに受信機データ識別情報としてもよい。引数3は、各ファイルごとのAPIコマンド、すなわちreadPersistentArray(引数1)またはgetItemEncrypted(引数1)によって読み出される暗号化付きデータを表す情報であって、例えば読み出される暗号化付きデータの格納先を示す変数、オブジェクトなどでもよい。引数4は、送信先を識別する情報であり、例えば、暗号化付きのデータを放送局のサーバ2へ送信させる場合には“https://サーバ2のアドレス?datatype=nvram&encrypted=yes”などでもよい。
第1の実施形態での引数と異なり、本実施形態においては、データ書き込み先の引数1を「nvram:」としている。また、データ送信APIコマンド(
図3のNo.7の行のAPI)について、上記のように暗号化付きデータ読み出しAPIを実行するAPIコマンドとデータ送信APIを実行するAPIコマンドが連続して記述されている場合には、引数2の指定がなくとも、データ送信APIは暗号化付きデータ読み出しAPIが読み出したデータを送信するようにしてもよい。
【0161】
放送ストリーム生成部16は、生成したアプリケーションデータ(BMLファイルまたはHTMLファイル)と他のデータストリームとを多重した放送ストリームを生成し、放送信号送信部17は、放送ストリームを放送波4として出力する(ステップS12、S13)。
【0162】
次に受信機3のデータ書き込み時の動作例を、第1の実施形態の説明で示した
図10および
図13を用いて説明する。
【0163】
受信機3は、
図10のフローチャートによってAPIコマンドを抽出し(ステップS37)、さらに
図13のフローチャートによって受信機データの暗号化処理(ステップS323)を実施し、暗号化付きデータを得たものとする。
【0164】
図25は、第4の実施形態におけるデータ書き込み時の書込み処理部の処理動作の例を示すフローチャートであり、
図13のステップS324の詳細に相当する。
【0165】
書込み処理部358は、暗号化を実施した受信機データに対して、「暗号化を実施したデータ」であることを示すための暗号化識別情報を生成する(ステップS3401)。書込み処理部358は、暗号化した受信機データと暗号化識別情報とを含めて、データブロックを生成する(ステップS3402)。データブロックとは、
図6に示したブロックごとの全てのフィールドのデータを示しており、特にフィールド1の「データ」が暗号化された受信機データである場合、暗号化データブロックと称してもよい。
【0166】
図6(c)は、情報蓄積部36の記憶領域に格納されるデータの一例を示しており、
図6(a)に対して領域3607、「暗号化有無」のフィールドを追加している。暗号化識別情報は、例えば、1ビットのデータとして、0の場合は暗号化なしのデータ、1の場合は暗号化有のデータとすることでもよい。本実施形態では、ブロックごとに「データ」の暗号化処理を実施し、ブロックごとの暗号化識別情報を領域3607に格納する例を示している。第1の実施形態では、
図6(b)の領域3606に示すように暗号化した受信機データを格納する領域をnvrame://~として指定したが、本実施形態では、暗号化した受信機データを格納する領域をnvram://~としている。そのために本実施形態の例では、暗号化した受信機データと暗号化されていない受信機データが混在して格納される可能性がある。本実施形態においては
図6(c)の領域3607を追加することで、暗号化した受信機データと暗号化されていない受信機データを区別することが可能である。なお、暗号化識別情報を領域3607に格納するのではなく、情報蓄積部36のブロックと暗号化識別情報との対応表を作成し、対応表を別途メモリなどに格納することでもよい。
【0167】
図25に戻り、書込み処理部358は、暗号化データブロックをnvram://~で指定される情報蓄積部36に書き込む(ステップS3403)。
【0168】
以上の手順により、暗号化データの領域を定めることなく、情報蓄積部36(データ放送用NVRAM)に暗号化データを書き込むことができる。
【0169】
以下に、受信機3のデータ読み出し時の動作例を説明する。
【0170】
図26は、同実施形態におけるデータ読み出し時のアプリケーション実行部の処理動作の例を示すフローチャートであり、
図10のフローチャートのステップS37の詳細に相当する。
【0171】
API処理部351は、
図3のNo.6の行に示されるAPIコマンドを受信し、APIコマンドを認識する(ステップS3431)。API処理部351は、認識したAPIコマンドを暗号化判定部353に出力する。暗号化判定部353は、API名またはその引数などから、APIコマンドが暗号化付きデータを扱うAPIコマンドであるかどうかを判定する(ステップS3432)。本実施形態においては、API名に「Encrypted」が含まれていることから暗号化判定部353は、暗号化付きデータを扱うAPIコマンドであると判定し、API処理部351は読出し処理部352にAPIコマンドに基づく処理を実行させ、読出し処理部352は、暗号化付きデータの読み出し処理を実施する。読出し処理部352は、APIコマンドの引数である受信機データ識別情報で読出し指定された「情報要素」に対する暗号化識別情報(
図6(c)の領域3607)が1の場合に、読出し指定された「情報要素」のデータを読み出して、通信処理部359に出力する(ステップS3433のYes、S3434)。読出し指定された「情報要素」に対する暗号化識別情報が0の場合は、読出し処理部352は、読出し指定された「情報要素」の読出しを中止する(ステップS3433のNo、S3435)。一方、暗号化判定部353が、暗号化付きデータを扱うAPIコマンドであると判定しなかった場合、API処理部351は読出し処理部352に暗号化のされていないデータの読み出し処理を実施させる。読出し処理部352は、読出し指定された「情報要素」に対する暗号化識別情報(
図6(c)の領域3607)が0の場合に、指定された「情報要素」のデータを読み出して、通信処理部359に出力する(ステップS3436のYes、S3434)。読出し指定された「情報要素」に対する暗号化識別情報が1の場合は、読出し処理部352は、読出し指定された「情報要素」の読出しを中止する(ステップS3433のNo、S3435)。通信処理部359において、読出し処理部352が読み出したデータが入力された場合、例えば図示せぬメモリ、バッファなどに格納することでもよい。本実施形態においては、暗号化付きデータ読み出しAPIを実行するAPIコマンドの直後にデータ送信APIを実行するAPIコマンドが記述されているので、読出し処理部352が読み出したデータは直ちに、通信処理部359から通信部38を介してサーバ2へと送信されることでもよい。
【0172】
以上の手順により、暗号化データの領域を定めずに情報蓄積部36(データ放送用NVRAM)から暗号化データを読み出すことができる。なお、情報蓄積部36のブロックと暗号化識別情報との対応表がある場合は、読出し処理部352は、対応表に基づいて、読出し処理を実施することでもよい。また本実施形態によれば、暗号化データの領域を定めない情報蓄積部36に、暗号化されたデータと暗号化されていないデータが混在する場合においても、暗号化されたデータと暗号化されていないデータ双方を選択して読み出すことができる。
【0173】
以上の手順で読み出されたデータは、
図15のフローチャートを用いて外部に送信することできる。データの送信の詳細については、第1の実施形態と同様であるため説明を省略する。さらに、受信機3から送信された暗号化付きのデータは、
図16のフローチャートを用いてサーバ2が受信し、暗号化を復号して(暗号化されていない)受信機データを取得することができる。サーバ2による暗号化付きデータの受信、復号の詳細については、第1の実施形態と同様であるため説明を省略する。
【0174】
本実施形態によれば、データ放送サービスのアプリケーションに含めた命令により、受信機3に対して、受信機データを暗号化させ、暗号化領域を指定せずに暗号化付きデータを情報蓄積部36(データ放送用NVRAM)に書きこませ、さらに書き込ませたデータを読み出し、サーバ2へ送信させることが可能となる。
【0175】
以上述べた少なくとも1つの実施形態によれば、情報の機密性を確保しながら受信機データを記録または収集するための受信機、方法およびプログラムを提供することができる。
【0176】
上記した本システムにおける受信機の要点は以下のように記載することもできる。
(1)放送信号に含まれるデータ放送サービスのアプリケーションデータを実行するアプリケーション実行手段(アプリケーション実行部35)と、前記アプリケーションデータにより指示された情報の書き込みを実行する情報書き込み手段(書込み処理部358)、前記アプリケーションデータにより指示された情報を蓄積する情報蓄積手段(情報蓄積部部36)を備える受信機であって、前記アプリケーションデータにより指示された情報を暗号化する暗号化手段(暗号化処理部356)、前記暗号化手段が用いる暗号化鍵を格納する暗号化鍵格納手段(暗号化鍵格納部355)を備え、前記情報を前記暗号化手段によって暗号化してから、前記情報蓄積手段へ書き込むことを特徴とする受信機。
(2)前記アプリケーションデータによる指示により前記情報蓄積手段から暗号化された情報を読み出しする情報読出し手段(読出し処理部352)を備え、前記読み出した情報を復号せず外部装置(サーバ2)へ出力することを特徴とする、(1)に記載の受信機。
(3)前記暗号化鍵は、公開鍵暗号方式の公開鍵であることを特徴とする(1)または(2)に記載の受信機。
(4)前記アプリケーションデータに含まれる指示によって暗号化鍵を前記暗号化鍵格納手段へ格納する前記暗号化鍵格納指示手段を備えることを特徴とする(1)から(3)に記載の受信機。
(5)前記暗号化鍵は、前記放送信号に含まれるデータ放送のアプリケーションデータの一部であることを特徴とする、(4)に記載の受信機。
(6)前記暗号化鍵は、暗号化復号鍵を所有する外部装置(サーバ2)から取得することを特徴とする(4)に記載の受信機。
(7)前記放送信号の前記アプリケーションデータを除いた部分から前記暗号化鍵を取り出し、前記暗号化鍵を前記暗号化鍵格納手段に格納する暗号化鍵分離手段(制御部33)を備えることを特徴とする、(1)から(3)に記載の受信機
(8)前記情報書き込み手段、前記情報読み出し手段は、前記アプリケーション実行手段が提供する、データアプリケーションから呼び出されるためのAPIであることを特徴とする、(1)から(7)に記載の受信機。
(9)前記暗号化鍵格納指示手段は、前記アプリケーション実行手段が提供する、データアプリケーションから呼び出されるためのAPIであることを特徴とする、(4)から(6)に記載の受信機。
【0177】
上記した本システムにおける送信機の要点は以下のように記載することもできる。
(A1)
デジタルテレビ放送の送信機であって、
前記デジタルテレビ放送の受信機にある受信機データを暗号化鍵で暗号した暗号化付きデータの読み出し命令と前記暗号化付きデータの送信命令を含めて放送信号として送信する放送信号送信手段を具備した送信機。
(A2)
前記暗号化鍵は、公開暗号鍵方式の公開鍵である(A2)に記載の送信機。
(A3)
前記読み出し命令を生成する読み出し命令生成手段を備える(A1)または(A2)のいずれか1項に記載の送信機。
(A4)
前記送信命令を生成する送信命令生成手段を備える(A1)乃至(A3)のいずれか1項に記載の送信機。
(A5)
前記読み出し命令は、前記暗号化付きデータの格納先であるデータ格納識別情報を含む(A1)乃至(A4)のいずれか1項に記載の送信機。
(A6)
前記送信命令は、送信先の宛先としてサーバのURLを含む(A1)乃至(A5)のいずれか1項に記載の送信機。
(A7)
前記送信命令は、前記受信機において前記読み出し命令の後に実行されるように実行順序が制御される(A6)に記載の送信機。
(A8)
前記読み出し命令または前記送信命令は、前記放送信号に含まれるデータ放送サービスのアプリケーションデータに含められて送信される(A1)乃至(A7)のいずれか1項に記載の送信機。
(A9)
前記読み出し命令は、前記受信機に組み込まれるAPIに対する命令であるAPIコマンドである(A8)に記載の送信機。
(A10)
前記送信命令は、受信機に組み込まれるAPIに対する命令であるAPIコマンドである(A8)に記載の送信機。
【0178】
上記した本システムの要点は以下のように記載することもできる。
(B1)
送信機とサーバと受信機とを備えるデジタルテレビ放送のシステムにおいて、
前記送信機は、前記受信機にある受信機データを暗号化鍵で暗号した暗号化付きデータの読み出し命令と前記暗号化付きデータの送信命令を含めて放送信号として送信する放送信号送信手段を備え、
前記受信機は、放送信号を受信する放送信号受信手段と、
前記放送信号に含まれる読み出し命令に基づいて、前記受信機にある受信機データを暗号化鍵で暗号化した暗号化付きデータを情報蓄積手段から読み出す情報読み出し手段と、
前記放送信号に含まれる送信命令に基づいて、前記暗号化付きデータを前記サーバへ送信する情報送信手段とを備え、
前記サーバは、前記暗号化付きデータを受信し、暗号化復号鍵を用いて前記暗号化付きデータを復号し、受信機データを取得する受信機データ取得手段を備えるシステム。
(B2)
前記暗号化鍵は、公開暗号鍵方式の公開鍵であり、前記暗号化復号鍵は、前記公開鍵と同時に生成される秘密鍵である(B1)に記載のシステム。
(B3)
前記読み出し命令と前記送信命令は、前記デジタルテレビ放送のデータ放送サービスで放送されるアプリケーションデータに含められて、前記放送信号として送信される(B1)または(B2)のいずれか1項に記載のシステム。
【0179】
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。さらにまた、請求項の各構成要素において、構成要素を分割して表現した場合、或いは複数を合わせて表現した場合、或いはこれらを組み合わせて表現した場合であっても本発明の範疇である。また、複数の実施形態を組み合わせてもよく、この組み合わせで構成される実施例も発明の範疇である。
【0180】
また、図面は、説明をより明確にするため、実際の態様に比べて、各部の幅、厚さ、形状などについて模式的に表される場合がある。図面の機能ブロック図においては、説明に必要な機能の構成要素をブロックで表しており、一般的な機能の構成要素についての記載を省略している場合がある。また機能を示すブロックは機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。例えば、各機能のブロックの分散・統合の具体的な形態は図中の形態に限らない。各機能のブロックにおける使用状況などに応じて、機能的もしくは物理的に分散・統合して構成する。ブロック図においては、結線されていないブロック間もしくは、結線されていても矢印が示されていない方向に対してもデータや信号のやり取りを行う場合もある。ブロック図に示される各機能や、フローチャート、シーケンスチャートに示す処理は、ハードウェア(ICチップなど)、ソフトウェア(プログラムなど)、デジタル信号処理用演算チップ(Digital Signal Processor、DSP)、またはこれらのハードウェアとソフトウェアの組み合わせによって実現してもよい。また請求項を制御ロジックとして表現した場合、コンピュータを実行させるインストラクションを含むプログラムとして表現した場合、および前記インストラクションを記載したコンピュータ読み取り可能な記録媒体として表現した場合でも本発明の装置または方法を適用したものである。また、使用している名称や用語についても限定されるものではなく、他の表現であっても実質的に同一内容、同趣旨であれば、本発明に含まれるものである。
【符号の説明】
【0181】
1…送信機、2…サーバ、3…受信機、4…放送波、5…ネットワーク、6…ネットワーク、10…放送局、11…サービスデータストリーム生成部、12…制御情報生成部、13…アプリケーションストリーム生成部、14…アプリケーションデータ生成部、15…暗号化鍵格納部、16…放送ストリーム生成部、17…放送信号送信部、21…通信部、22…アプリケーションデータ処理部、23…暗号化鍵要求処理部、24…鍵格納部、25…鍵生成部、26…復号処理部、27…受信機データ格納、31…放送チューナ、32…放送ストリーム処理部、33…制御部、34…アプリケーションデータ格納部、35…アプリケーション実行部、36…情報蓄積部、37…受信機データ格納部、38…通信部、39…提示制御部、301…提示部、302…インターフェース部、303…リモコン部、350…データ解析部、351…API処理部、352…読出し処理部、353…暗号化判定部、354…暗号化鍵取得部、355…暗号化鍵格納部、356…暗号化処理部、357…受信機データ取得部、358…書込み処理部、359…通信処理部。