(57)【特許請求の範囲】
【請求項１】
データ放送用文章に記述されるＡＰＩ（Application Programming Interface）のうち放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む番組配列情報とを、多重化したストリームとして、前記デジタル署名を検証することで前記高レベル認証ＡＰＩを実行する受信装置へ送信する送信装置であって、
前記高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、前記受信装置においてデータ放送の画面構成を少なくとも実現させるデータ放送コンテンツを制作するデータ放送コンテンツオーサリング手段と、
前記放送事業者に予め割り当てられた秘密鍵を用いて、前記データ放送用文章と対応付けたデジタル署名の署名値を生成するデジタル署名生成手段と、
前記生成された署名値と、前記対応付けられたデータ放送用文章に関するリンク情報とを含む署名値用のリソースファイルを生成するリソースファイル生成手段と、
前記生成されたリソースファイルと、前記データ放送用文章とをデータカルーセル化するデータカルーセル化手段と、
前記データカルーセル化されたリソースファイルおよびデータ放送用文章を、前記符号化されたコンテンツおよび前記番組配列情報と共に多重化する多重化手段とを備えることを特徴とする送信装置。
【請求項２】
前記デジタル署名生成手段は、前記データ放送用文章のうち、前記受信装置の不揮発メモリにアクセスするためのアクセス用の前記高レベル認証ＡＰＩが記述されたデータ放送用文章に対して前記デジタル署名の署名値を生成することを特徴とする請求項１に記載の送信装置。
【請求項３】
前記データカルーセル化手段は、前記署名値用のリソースファイルを、当該署名値用のリソースファイルと対応付けられたデータ放送用文章と同じモジュールに入れてパケット化することを特徴とする請求項１または請求項２に記載の送信装置。
【請求項４】
前記データカルーセル化手段は、前記秘密鍵に対応して前記放送事業者またはその系列局の識別情報を含んだ公開鍵証明書をリソースファイルとして、前記モジュールにさらに入れることを特徴とする請求項３に記載の送信装置。
【請求項５】
データ放送用文章に記述されるＡＰＩのうち放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む番組配列情報とを、多重化したストリームとして、前記デジタル署名を検証することで前記高レベル認証ＡＰＩを実行する受信装置へ送信する送信装置であって、
前記高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、前記受信装置においてデータ放送の画面構成少なくとも実現させるデータ放送コンテンツを制作するデータ放送コンテンツオーサリング手段と、
前記放送事業者に予め割り当てられた秘密鍵を用いて、前記データ放送用文章と対応付けたデジタル署名の署名値を生成するデジタル署名生成手段と、
前記生成された署名値をＤＩＩ（Download Info Indication）の記述子として、当該署名値と対応付けられたデータ放送用文章をデータカルーセル化するデータカルーセル化手段と、
前記データカルーセル化されたデータ放送用文章を、前記符号化されたコンテンツおよび前記番組配列情報と共に多重化する多重化手段とを備えることを特徴とする送信装置。
【請求項６】
前記データ放送コンテンツオーサリング手段は、
前記受信装置の不揮発メモリにアクセスするためのアクセス用のＡＰＩとして、前記番組配列情報で伝送される放送事業者またはその系列局の識別情報に基づく認証によって実行を可能とする低レベル認証ＡＰＩを記述したデータ放送用文章と、
前記受信装置の不揮発メモリにアクセスするためのアクセス用のＡＰＩとして、前記高レベル認証ＡＰＩを記述したデータ放送用文章とを生成し、
前記デジタル署名生成手段は、前記高レベル認証ＡＰＩを記述した前記データ放送用文章に対してのみ前記署名値を生成することを特徴とする請求項１ないし請求項５のいずれか一項に記載の送信装置。
【請求項７】
前記データ放送コンテンツオーサリング手段は、前記低レベル認証ＡＰＩと、前記高レベル認証ＡＰＩとに対して異なる関数名を割り当てることを特徴とする請求項６に記載の送信装置。
【請求項８】
データ放送用文章に記述されるＡＰＩのうち放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む番組配列情報とを、多重化したストリームとして、前記デジタル署名を検証することで前記高レベル認証ＡＰＩを実行する受信装置へ送信するために、コンピュータを、
前記高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、前記受信装置においてデータ放送の画面構成を少なくとも実現させるデータ放送コンテンツを制作するデータ放送コンテンツオーサリング手段、
前記放送事業者に予め割り当てられた秘密鍵を用いて、前記データ放送用文章と対応付けたデジタル署名の署名値を生成するデジタル署名生成手段、
前記生成された署名値と、前記対応付けられたデータ放送用文章に関するリンク情報とを含む署名値用のリソースファイルを生成するリソースファイル生成手段、
前記生成されたリソースファイルと、前記データ放送用文章とをデータカルーセル化するデータカルーセル化手段、
前記データカルーセル化されたリソースファイルおよびデータ放送用文章を、前記符号化されたコンテンツおよび前記番組配列情報と共に多重化する多重化手段、
として機能させることを特徴とする送信プログラム。
【請求項９】
データ放送のリソースファイルと、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む事業者情報をセクション形式化した番組配列情報とを受信し、前記リソースファイルとして受信するデータ放送用文章に記述されているＡＰＩを実行するＡＰＩ実行手段とを備えた受信装置において、
前記ＡＰＩ実行手段は、
不揮発メモリへのアクセス用のＡＰＩの関数名に基づいて、前記アクセス用のＡＰＩが、前記放送事業者に予め割り当てられた秘密鍵を用いて生成されたデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩであるか否かを判定するＡＰＩ判定手段と、
前記高レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、当該ＡＰＩが記述された前記データ放送用文章に対応する署名値を、前記受信したリソースファイルから取得し、前記秘密鍵に対応した公開鍵証明書を用いて前記署名値を検証する署名検証手段と、
前記署名値の検証に成功した場合に、前記公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される前記不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する比較判定手段と、
前記公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可するデータ制御手段とを備えることを特徴とする受信装置。
【請求項１０】
前記ＡＰＩ実行手段は、同じ前記データ放送用文章を開いている間には、
前記署名検証手段によって、前記署名値の検証を１度だけ行い、
前記比較判定手段によって、前記公開鍵証明書に記載された情報と前記ＡＰＩの引数として指定される情報とが一致するか否かの判定を１度だけ行うことを特徴とする請求項９に記載の受信装置。
【請求項１１】
前記ＡＰＩ実行手段は、前記データ制御手段によって前記不揮発メモリにアクセスすることを許可した場合に、前記不揮発メモリに対してデータの入出力を行う際に、当該受信装置内で暗号復号を行う暗号復号手段をさらに備えることを特徴とする請求項９または請求項１０に記載の受信装置。
【請求項１２】
データ放送のリソースファイルと、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む事業者情報をセクション形式化した番組配列情報とを受信し、前記リソースファイルとして受信するデータ放送用文章に記述されているＡＰＩを実行するＡＰＩ実行手段とを備えた受信装置において、
前記ＡＰＩ実行手段は、
不揮発メモリへのアクセス用のＡＰＩの関数名に基づいて、前記アクセス用のＡＰＩが、前記放送事業者に予め割り当てられた秘密鍵を用いて生成されたデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩであるか、または、前記番組配列情報で伝送される放送事業者またはその系列局の識別情報に基づく認証によって実行を可能とする低レベル認証ＡＰＩであるかを判定するＡＰＩ判定手段と、
前記高レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、当該ＡＰＩが記述された前記データ放送用文章に対応する署名値を、前記受信したリソースファイルから取得し、前記秘密鍵に対応した公開鍵証明書を用いて前記署名値を検証する署名検証手段と、
前記署名値の検証に成功した場合に、前記公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される前記不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する比較判定手段と、
前記公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可するデータ制御手段と、
前記データ制御手段によって前記不揮発メモリにアクセスすることを許可した場合に、前記不揮発メモリに対してデータの入出力を行う際に、当該受信装置内で暗号復号を行う暗号復号手段と、
前記低レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、前記番組配列情報で伝送される放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する第２比較判定手段と、
前記番組配列情報で伝送される情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可する第２データ制御手段と、
前記第２データ制御手段によって前記不揮発メモリにアクセスすることを許可した場合に、前記不揮発メモリに対してデータの入出力を行う際に、前記不揮発メモリにおいてアクセスされる前記アドレスに書き込まれたデータが暗号化されているか否かを判定し、暗号化されたデータが書き込まれている場合に、データのアクセスを拒否する暗号化情報判定手段とを備えることを特徴とする受信装置。
【請求項１３】
データ放送のリソースファイルと、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む事業者情報をセクション形式化した番組配列情報とを受信し、前記リソースファイルとして受信するデータ放送用文章に記述されているＡＰＩを実行するために、コンピュータを、
不揮発メモリへのアクセス用のＡＰＩの関数名に基づいて、前記アクセス用のＡＰＩが、前記放送事業者に予め割り当てられた秘密鍵を用いて生成されたデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩであるか否かを判定するＡＰＩ判定手段、
前記高レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、当該ＡＰＩが記述された前記データ放送用文章に対応する署名値を、前記受信したリソースファイルから取得し、前記秘密鍵に対応した公開鍵証明書を用いて前記署名値を検証する署名検証手段、
前記署名値の検証に成功した場合に、前記公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される前記不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する比較判定手段、
前記公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可するデータ制御手段、
として機能させることを特徴とするＡＰＩ実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ放送を送信する送信装置および受信装置に関し、特に、受信装置の不揮発メモリに対する情報の読み書きを行う際のアクセスを制御する送信装置およびそのプログラム、ならびに、受信装置およびＡＰＩ実行プログラムに関する。
【背景技術】
【０００２】
従来、データ放送を送信する送信装置およびその受信装置において、受信装置の不揮発メモリ（ＮＶＲＡＭ：Non-volatile Random Access Memory）に対する情報の読み書きを行う際のアクセス制御は以下のように行われている（例えば、非特許文献１参照）。
放送局の送信装置は、例えば、ＭＰＥＧ−２ ＴＳ（Moving Picture Expert Group-2 Transport Stream）として、映像や音声等のコンテンツと共に多重化する情報として、放送事業者情報を示すＢＩＴ(Broadcaster Information Table)を伝送すると共に、データ放送の符号化方式を示すＢＭＬ（Broadcast Markup Language）文章（データ放送用文章）をデータカルーセルで伝送している。ＢＩＴは、受信装置において放送中のＭＰＥＧ−２ ＴＳの放送事業者識別を行うために、放送事業者を識別するための「original＿network＿id」または系列局を識別するための「affiliation＿id」を含んでいる。放送局は、ＢＭＬを用いて、受信装置内に設けられている不揮発メモリに対して、不揮発メモリにアクセスするためのＢＭＬのコマンド（Application Programming Interface、以下ＡＰＩという）を使い個人情報などの情報の読み書きを行う。
【０００３】
受信装置内の不揮発メモリには、放送事業者毎に領域（事業者領域）が確保されている。ＢＭＬの当該コマンドにおいては、不揮発メモリの事業者領域へアクセスするためのアドレス空間として、「original＿network＿id」または「affiliation＿id」を使い、アクセス対象の前記したいずれかのidで特定される事業者領域に対する情報の読み書きを行う。このように不揮発メモリの事業者領域へアクセスするときに、ＢＩＴに含まれる「original＿network＿id」または「affiliation＿id」と、ＢＭＬの当該コマンドに記載されている「original＿network＿id」または「affiliation＿id」とが一致する場合にのみ、情報の読み書きを許可するように制御される。これにより、不揮発メモリ内の事業者領域へのアクセスは、その事業者領域に該当する放送事業者のみに制限されている。
【０００４】
受信装置内の不揮発メモリに対するアクセス制御に用いられるＢＩＴやＢＭＬは、放送波で送られる。一般に、放送波に対する海賊行為は難しい。つまり、放送波のデータを改竄する不正をしたり、正当な放送事業者になりすまして自ら作成した放送データを送信電波として受信装置に受信させたりすることは困難である。したがって、不揮発メモリに記憶されたデータは安全に保護されることになる。
【０００５】
また、受信装置内の不揮発メモリに対する不正な書込みや読み出しを防止しつつ、不揮発メモリに記憶されたデータを、異なる放送局間で相互に共有して利用できるようにした受信装置が知られている（特許文献１参照）。特許文献１に記載された受信装置は、現在受信している放送局のチャンネルの情報に基づいて書込み放送局がどの放送局であるかということを確認し、その放送局に成りすまして不正書込みするものを排除する。また、この受信装置は、共有する不揮発メモリ（ＮＶＲＡＭ）の記憶領域からデータを読み出す放送局がどの放送局であるかを確認して、許諾先の放送局にだけデータの読み出しを保証する。
【特許文献１】特開２００２−３０５４８５号公報（段落００３８，００４４、図１）
【非特許文献１】技術資料「地上デジタルテレビジョン放送運用規定（ＡＲＩＢ  ＴＲ−Ｂ１４）」、社団法人電波産業会、第１分冊(２／２)、pp.3-344〜345
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術は、放送波に対する海賊行為が困難であることを前提として受信装置内の不揮発メモリに対するアクセスを制御しているため、想定されていない状況には対応することができない。例えば、近年、微弱電波を発信する簡易で安価な送信装置が登場してきている。放送事業者以外の者が、不正を目的に、このような送信装置を用いた場合には、全国規模の不正はできないが、微弱な電波に対応して限定された狭小な領域において不正なアクセスができる可能性を否めない。仮に、例えば学校や地下街のような狭小な領域を前提として、その送信装置を扱う者が、ＢＩＴに含まれる「original＿network＿id」または「affiliation＿id」に対して、放送事業者の割当値を与えて送出すれば、あたかも当該放送事業者であるかのように放送データを送出できてしまう。これは、不揮発メモリの当該放送事業者領域に容易に不正アクセスできてしまうことを意味する。
【０００７】
そこで、データ放送の受信に利用される受信装置が、不正なデータ放送を受信したとしてもその不正を無効にする技術が望まれる。例えば微弱電波で送信される不正な放送データを受信した場合に、受信装置内の不揮発メモリの事業者領域への不正アクセスを防止する技術が必要不可欠である。
また、不正アクセスを防止する技術が、新型の受信装置と既存の受信装置との共存を可能とする互換性を実現するものであることが望まれる。
【０００８】
本発明は、以上のような問題点に鑑みてなされたものであり、不正なデータ放送を受信したとしてもその不正を無効にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載の送信装置は、データ放送用文章に記述されるＡＰＩのうち放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む番組配列情報とを、多重化したストリームとして、前記デジタル署名を検証することで前記高レベル認証ＡＰＩを実行する受信装置へ送信する送信装置であって、データ放送コンテンツオーサリング手段と、デジタル署名生成手段と、リソースファイル生成手段と、データカルーセル化手段と、多重化手段とを備える構成とした。
【００１０】
かかる構成によれば、送信装置は、データ放送コンテンツオーサリング手段によって、前記高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、前記受信装置においてデータ放送の画面構成を少なくとも実現させるデータ放送コンテンツを制作する。ここで、データ放送用文章は、例えば、ＢＭＬ（Broadcast Markup Language）文章、スクリプト文章、スクリプト文章を用いるＢＭＬ文章等である。また、オーサリングとは、データ放送コンテンツを制作するために、データ放送用文章において、必要なＡＰＩを組み合わせてプログラミングや表示画面の設計等を行うことをいう。そして、送信装置は、デジタル署名生成手段によって、前記放送事業者に予め割り当てられた秘密鍵を用いて、前記データ放送用文章と対応付けたデジタル署名の署名値を生成し、リソースファイル生成手段によって、前記生成された署名値と、前記対応付けられたデータ放送用文章に関するリンク情報とを含む署名値用のリソースファイルを生成する。ここで、リソースファイルは実行時に使用されるデータが格納されたファイルを示す。そして、送信装置は、データカルーセル化手段によって、前記生成されたリソースファイルと、前記データ放送用文章とをデータカルーセル化し、多重化手段によって、前記データカルーセル化されたリソースファイルおよびデータ放送用文章を、前記符号化されたコンテンツおよび前記番組配列情報と共に多重化する。したがって、送信装置が送信する多重化されたストリームには、データカルーセル化されたリソースファイルとして、データ放送用文章と対応付けた署名値が含まれている。これにより、受信側においてデータ放送用文章に記述されたＡＰＩを実行するときに、その署名値が読み出され、秘密鍵に対応した公開鍵証明書で検証することが可能となる。その結果、秘密鍵を持たない者が生成したデータ放送による不正を防止することができる。
【００１１】
また、請求項２に記載の送信装置は、請求項１に記載の送信装置において、前記デジタル署名生成手段が、前記データ放送用文章のうち、前記受信装置の不揮発メモリにアクセスするためのアクセス用の前記高レベル認証ＡＰＩが記述されたデータ放送用文章に対して前記デジタル署名の署名値を生成することとした。
【００１２】
かかる構成によれば、送信装置は、受信装置の不揮発メモリにアクセスする高レベル認証ＡＰＩが記述されていないデータ放送用文章に対してはデジタル署名を省略することができる。
【００１３】
また、請求項３に記載の送信装置は、請求項１または請求項２に記載の送信装置において、前記データカルーセル化手段が、前記署名値用のリソースファイルを、当該署名値用のリソースファイルと対応付けられたデータ放送用文章と同じモジュールに入れてパケット化することとした。
【００１４】
かかる構成によれば、送信装置は、署名値用のリソースファイルと、当該署名値用のリソースファイルと対応付けたデータ放送用文章とを同じモジュールに入れてデータカルーセルで伝送することができる。したがって、受信側では、データ放送用文章に記述されたＡＰＩを実行するときに同じモジュール内にある署名値を利用して検証を行うことができる。
【００１５】
また、請求項４に記載の送信装置は、請求項３に記載の送信装置において、前記データカルーセル化手段が、前記秘密鍵に対応して前記放送事業者またはその系列局の識別情報を含んだ公開鍵証明書をリソースファイルとして、前記モジュールにさらに入れることとした。
【００１６】
かかる構成によれば、送信装置は、データカルーセルの同じモジュール内に、署名値用のリソースファイルと、秘密鍵に対応する公開鍵証明書用のリソースファイルとを入れることができる。したがって、受信側では、データ放送用文章を実行するときに同じモジュール内で検証することが可能となる。
【００１７】
また、請求項５に記載の送信装置は、データ放送用文章に記述されるＡＰＩのうち放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む番組配列情報とを、多重化したストリームとして、前記デジタル署名を検証することで前記高レベル認証ＡＰＩを実行する受信装置へ送信する送信装置であって、データ放送コンテンツオーサリング手段と、デジタル署名生成手段と、データカルーセル化手段と、多重化手段とを備えることとした。
【００１８】
かかる構成によれば、送信装置は、データ放送コンテンツオーサリング手段によって、前記高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、前記受信装置においてデータ放送の画面構成少なくとも実現させるデータ放送コンテンツを制作する。そして、送信装置は、デジタル署名生成手段によって、前記放送事業者に予め割り当てられた秘密鍵を用いて、前記データ放送用文章と対応付けたデジタル署名の署名値を生成する。そして、送信装置は、データカルーセル化手段によって、前記生成された署名値をＤＩＩ（Download Info Indication）の記述子として、当該署名値と対応付けられたデータ放送用文章をデータカルーセル化する。そして、送信装置は、多重化手段によって、前記データカルーセル化されたデータ放送用文章を、前記符号化されたコンテンツおよび前記番組配列情報と共に多重化する。したがって、送信装置が送信する多重化されたストリームには、データカルーセルのＤＩＩとして、データ放送用文章と対応付けた署名値が含まれている。これにより、受信側において、データカルーセルの受信時にその署名値が読み出され、秘密鍵に対応した公開鍵証明書で検証することが可能となる。その結果、秘密鍵を持たない者が生成したデータ放送による不正を防止することができる。
【００１９】
また、請求項６に記載の送信装置は、請求項１ないし請求項５のいずれか一項に記載の送信装置において、前記データ放送コンテンツオーサリング手段が、前記受信装置の不揮発メモリにアクセスするためのアクセス用のＡＰＩとして、前記番組配列情報で伝送される放送事業者またはその系列局の識別情報に基づく認証によって実行を可能とする低レベル認証ＡＰＩを記述したデータ放送用文章と、前記受信装置の不揮発メモリにアクセスするためのアクセス用のＡＰＩとして、前記高レベル認証ＡＰＩを記述したデータ放送用文章とを生成し、前記デジタル署名生成手段が、前記高レベル認証ＡＰＩを記述した前記データ放送用文章に対してのみ前記署名値を生成することを特徴とすることとした。
【００２０】
かかる構成によれば、送信装置は、低レベル認証ＡＰＩを記述したデータ放送用文章を生成することで既存の受信装置に対応させてデータ放送を送信することができる。さらに、送信装置は、高レベル認証ＡＰＩを記述したデータ放送用文章を生成することで、高レベル認証ＡＰＩに対応した受信装置内の不揮発メモリの事業者領域への不正アクセスを防止することができる。
【００２１】
また、請求項７に記載の送信装置は、請求項６に記載の送信装置において、前記データ放送コンテンツオーサリング手段が、前記低レベル認証ＡＰＩと、前記高レベル認証ＡＰＩとに対して異なる関数名を割り当てることとした。
【００２２】
かかる構成によれば、送信装置は、低レベル認証ＡＰＩの関数名を既存のものとし、かつ、高レベル認証ＡＰＩに対して新たな関数名を付与してデータ放送を送信することができる。したがって、既存の受信装置は、低レベル認証ＡＰＩを実行できる。また、高レベル認証ＡＰＩに対応した受信装置は、低レベル認証ＡＰＩと高レベル認証ＡＰＩとの相違を容易に判別できる。
【００２３】
また、請求項８に記載の送信プログラムは、データ放送用文章に記述されるＡＰＩのうち放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む番組配列情報とを、多重化したストリームとして、前記デジタル署名を検証することで前記高レベル認証ＡＰＩを実行する受信装置へ送信するために、コンピュータを、データ放送コンテンツオーサリング手段、デジタル署名生成手段、リソースファイル生成手段、データカルーセル化手段、多重化手段として機能させることとした。
【００２４】
かかる構成によれば、送信プログラムは、データ放送コンテンツオーサリング手段によって、前記高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、前記受信装置においてデータ放送の画面構成を少なくとも実現させるデータ放送コンテンツを制作する。そして、送信プログラムは、デジタル署名生成手段によって、前記放送事業者に予め割り当てられた秘密鍵を用いて、前記データ放送用文章と対応付けたデジタル署名の署名値を生成し、リソースファイル生成手段によって、前記生成された署名値と、前記対応付けられたデータ放送用文章に関するリンク情報とを含む署名値用のリソースファイルを生成する。そして、送信プログラムは、データカルーセル化手段によって、前記生成されたリソースファイルと、前記データ放送用文章とをデータカルーセル化し、多重化手段によって、前記データカルーセル化されたリソースファイルおよびデータ放送用文章を、前記符号化されたコンテンツおよび前記番組配列情報と共に多重化する。したがって、多重化されたストリームには、データカルーセル化されたリソースファイルとして、データ放送用文章と対応付けた署名値が含まれるので、受信側においてデータ放送用文章に記述されたＡＰＩを実行するときに、秘密鍵を持たない者が生成したデータ放送による不正を防止できる。
【００２５】
また、請求項９に記載の受信装置は、データ放送のリソースファイルと、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む事業者情報をセクション形式化した番組配列情報とを受信し、前記リソースファイルとして受信するデータ放送用文章に記述されているＡＰＩを実行するＡＰＩ実行手段とを備えた受信装置において、前記ＡＰＩ実行手段が、ＡＰＩ判定手段と、署名検証手段と、比較判定手段と、データ制御手段とを備えることとした。
【００２６】
かかる構成によれば、受信装置において、ＡＰＩ実行手段は、ＡＰＩ判定手段によって、不揮発メモリへのアクセス用のＡＰＩの関数名に基づいて、前記アクセス用のＡＰＩが、前記放送事業者に予め割り当てられた秘密鍵を用いて生成されたデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩであるか否かを判定する。そして、ＡＰＩ実行手段は、署名検証手段によって、前記高レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、当該ＡＰＩが記述された前記データ放送用文章に対応する署名値を、前記受信したリソースファイルから取得し、前記秘密鍵に対応した公開鍵証明書を用いて前記署名値を検証する。ここで、公開鍵証明書は、署名値用のリソースファイルと共に受信してもよいし、予め受信装置に格納しておいてもよい。そして、ＡＰＩ実行手段は、比較判定手段によって、前記署名値の検証に成功した場合に、前記公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される前記不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する。そして、ＡＰＩ実行手段は、データ制御手段によって、前記公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可する。したがって、秘密鍵を持たない者が生成したデータ放送による不正を防止することができる。
【００２７】
また、請求項１０に記載の受信装置は、請求項９に記載の受信装置において、前記ＡＰＩ実行手段が、同じ前記データ放送用文章を開いている間には、前記署名検証手段によって、前記署名値の検証を１度だけ行い、前記比較判定手段によって、前記公開鍵証明書に記載された情報と前記ＡＰＩの引数として指定される情報とが一致するか否かの判定を１度だけ行うこととした。
【００２８】
かかる構成によれば、受信装置は、ＡＰＩ実行手段が、同じデータ放送用文章を開いている間には、２回目以降のＡＰＩ発行時には、１回目のＡＰＩ発行時の検証および比較結果を代用することができる。したがって、２回目以降のＡＰＩ発行時には、検証処理や比較処理の負荷を軽減できる。
【００２９】
また、請求項１１に記載の受信装置は、請求項９または請求項１０に記載の受信装置において、前記ＡＰＩ実行手段が、前記データ制御手段によって前記不揮発メモリにアクセスすることを許可した場合に、前記不揮発メモリに対してデータの入出力を行う際に、当該受信装置内で暗号復号を行う暗号復号手段をさらに備えることを特徴とする。
【００３０】
かかる構成によれば、受信装置は、ＡＰＩの検証および比較の結果により高レベル認証ＡＰＩに対してアクセスを許可して不揮発メモリに対してデータの入出力を行う際に、当該受信装置内で暗号復号を行う。したがって、高レベル認証ＡＰＩと従来のＡＰＩとに対して不揮発メモリを共用するときに、従来のＡＰＩに対して不揮発メモリへのアクセスを許可したとしても暗号化情報に対しての読み書きをブロックすることができる。
【００３１】
また、請求項１２に記載の受信装置は、データ放送のリソースファイルと、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む事業者情報をセクション形式化した番組配列情報とを受信し、前記リソースファイルとして受信するデータ放送用文章に記述されているＡＰＩを実行するＡＰＩ実行手段とを備えた受信装置において、前記ＡＰＩ実行手段が、ＡＰＩ判定手段と、署名検証手段と、比較判定手段と、データ制御手段と、暗号復号手段と、第２比較判定手段と、第２データ制御手段と、暗号化情報判定手段とを備えることとした。
【００３２】
かかる構成によれば、受信装置において、ＡＰＩ実行手段は、ＡＰＩ判定手段によって、不揮発メモリへのアクセス用のＡＰＩの関数名に基づいて、前記アクセス用のＡＰＩが、前記放送事業者に予め割り当てられた秘密鍵を用いて生成されたデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩであるか、または、前記番組配列情報で伝送される放送事業者またはその系列局の識別情報に基づく認証によって実行を可能とする低レベル認証ＡＰＩであるかを判定する。そして、ＡＰＩ実行手段は、署名検証手段によって、前記高レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、当該ＡＰＩが記述された前記データ放送用文章に対応する署名値を、前記受信したリソースファイルから取得し、前記秘密鍵に対応した公開鍵証明書を用いて前記署名値を検証する。そして、ＡＰＩ実行手段は、比較判定手段によって、前記署名値の検証に成功した場合に、前記公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される前記不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する。そして、ＡＰＩ実行手段は、データ制御手段によって、前記公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可し、前記データ制御手段によって前記不揮発メモリにアクセスすることを許可した場合に、前記不揮発メモリに対してデータの入出力を行う際に、暗号復号手段によって、当該受信装置内で暗号復号を行う。
【００３３】
そして、受信装置において、ＡＰＩ実行手段は、前記低レベル認証ＡＰＩであると判定された場合に、第２比較判定手段によって、当該ＡＰＩの実行時に、前記番組配列情報で伝送される放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する。そして、ＡＰＩ実行手段は、第２データ制御手段によって、前記番組配列情報で伝送される情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可する。そして、ＡＰＩ実行手段は、暗号化情報判定手段によって、前記第２データ制御手段によって前記不揮発メモリにアクセスすることを許可した場合に、前記不揮発メモリに対してデータの入出力を行う際に、前記不揮発メモリにおいてアクセスされる前記アドレスに書き込まれたデータが暗号化されているか否かを判定し、暗号化されたデータが書き込まれている場合に、データのアクセスを拒否する。したがって、高レベル認証ＡＰＩと低レベル認証ＡＰＩで不揮発メモリを共用するときに、低レベル認証ＡＰＩに対して不揮発メモリへのアクセスを許可したとしても高レベル認証ＡＰＩによって書き込まれた暗号化情報に対しての上書きおよび読み出しをブロックすることができる。
【００３４】
また、請求項１３に記載のＡＰＩ実行プログラムは、データ放送のリソースファイルと、符号化されたコンテンツと、放送事業者またはその系列局の識別情報を含む事業者情報をセクション形式化した番組配列情報とを受信し、前記リソースファイルとして受信するデータ放送用文章に記述されているＡＰＩを実行するために、コンピュータを、ＡＰＩ判定手段、署名検証手段、比較判定手段、データ制御手段として機能させることとした。
【００３５】
かかる構成によれば、ＡＰＩ実行プログラムは、ＡＰＩ判定手段によって、不揮発メモリへのアクセス用のＡＰＩの関数名に基づいて、前記アクセス用のＡＰＩが、前記放送事業者に予め割り当てられた秘密鍵を用いて生成されたデジタル署名による認証を実行のために必要とするＡＰＩを示す高レベル認証ＡＰＩであるか否かを判定する。そして、ＡＰＩ実行プログラムは、署名検証手段によって、前記高レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、当該ＡＰＩが記述された前記データ放送用文章に対応する署名値を、前記受信したリソースファイルから取得し、前記秘密鍵に対応した公開鍵証明書を用いて前記署名値を検証する。そして、ＡＰＩ実行プログラムは、比較判定手段によって、前記署名値の検証に成功した場合に、前記公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される前記不揮発メモリへアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定する。そして、ＡＰＩ実行プログラムは、データ制御手段によって、前記公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致した場合に、前記不揮発メモリにアクセスすることを許可する。
【発明の効果】
【００３６】
請求項１または請求項８に記載の発明によれば、受信側において、データ放送用文章に記述されたＡＰＩ実行時にデジタル署名を検証することが可能となる。その結果、秘密鍵を持たない者が生成した不正なデータ放送を受信したとしてもその検証によりこの不正なデータ放送による不正を無効化することができる。
請求項２に記載の発明によれば、デジタル署名の生成負荷を軽減できる。
請求項３に記載の発明によれば、受信側では、データ放送用文章に記述されたＡＰＩを実行するときに同じモジュール内にある署名値を利用して検証を行うことができる。
請求項４に記載の発明によれば、デジタル署名の検証用の公開鍵証明書をデータ放送の受信者に配布することができる。また、受信側では、データ放送用文章を実行するときに同じモジュール内で検証することが可能となる。
【００３７】
請求項５に記載の発明によれば、受信側において、データカルーセルの受信時にデジタル署名を検証することが可能となる。その結果、秘密鍵を持たない者が生成したデータ放送による不正を防止することができる。
請求項６に記載の発明によれば、新型の受信装置と既存の受信装置との共存を可能とする互換性を実現できる。
請求項７に記載の発明によれば、高レベル認証ＡＰＩに対応した受信装置は、低レベル認証ＡＰＩと高レベル認証ＡＰＩとの相違を容易に判別できる。
【００３８】
請求項９または請求項１３に記載の発明によれば、秘密鍵を持たない者が、受信装置内の不揮発メモリの事業者領域へ不正にアクセスすることを防止することができる。その結果、不正なデータ放送を受信したとしてもその不正を無効にすることができる。
請求項１０に記載の発明によれば、２回目以降のＡＰＩ発行時には、検証処理や比較処理の負荷を軽減できる。
請求項１１に記載の発明によれば、不揮発メモリを従来のＡＰＩと共用する際に、従来のＡＰＩに対して不揮発メモリに格納された暗号化情報への読み書きをブロックできる。
請求項１２に記載の発明によれば、新型の受信装置と既存の受信装置との共存を可能とする互換性を実現できる。また、低レベル認証ＡＰＩと高レベル認証ＡＰＩとに対して不揮発メモリを共用するときに、低レベル認証ＡＰＩに対しては、高レベル認証ＡＰＩで書き込まれた暗号化情報への上書きおよび読み出しをブロックできる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施形態に係るデータ放送を送信する送信装置およびその受信装置とを実施するための最良の形態（以下「実施形態」という）について図面を参照して詳細に説明する。以下では、送信装置と受信装置とに分けて順次説明を行う。
【００４０】
（第１実施形態）
［送信装置］
まず、図１を参照して、送信装置について説明する。図１は、本発明の実施形態に係る送信装置の構成を示す機能ブロック図である。送信装置１０は、放送事業者またはその系列局のデジタル署名による認証を実行のために必要とするＡＰＩ（Application Programming Interface）を示す高レベル認証ＡＰＩが記述されたデータ放送用文章を含む１以上のデータ放送用文章と、符号化されたコンテンツと、放送事業者またはその系列局の識別情報（original＿network＿idやaffiliation＿id）を含む事業者情報（ＢＩＴ）をセクション形式化した番組配列情報（ＳＩ）とを多重化したストリームを送信するものである。
【００４１】
この送信装置１０は、図１に示すように、映像音声符号化部１１と、番組送出情報生成部１２と、データ放送コンテンツオーサリング部１３と、利用ＡＰＩ判定部１４と、デジタル署名生成部１５と、ＤＳＲリソースファイル生成部１６と、マルチパート化部１７と、データカルーセル化部１８と、多重化部１９とを備えている。
【００４２】
映像音声符号化部１１は、入力される映像音声をデジタル化し、映像音声ストリーム（Ｖｉｄｅｏ、Ａｕｄｉｏ）を生成する。映像の符号化処理は、例えば、Ｈ．２６４／ＡＶＣ符号化より行う。また、音声の符号化処理は、例えば、ＭＰＥＧ−２ ＡＡＣ（Advanced Audio Coding）符号化等により行う。
【００４３】
番組送出情報生成部１２は、放送事業者またはその系列局の識別情報を含む事業者情報（ＢＩＴ）をセクションと呼ばれる形式にして番組送出情報を生成し、番組配列情報（ＳＩ：Service Information）として構成する。例えば、放送事業者の識別子を「original＿network＿id」で示し、系列局の識別子を「affiliation＿id」で示し、ＢＩＴとして構成する。
【００４４】
データ放送コンテンツオーサリング部（データ放送コンテンツオーサリング手段）１３は、高レベル認証ＡＰＩを少なくとも含むＡＰＩを組み合わせて１以上のデータ放送用文章を生成することで、受信装置においてデータ放送の画面構成を少なくとも実現させるデータ放送コンテンツを制作するものである。ここで、データ放送用文章とは、ＢＭＬ文章、スクリプト文章、ＣＳＳ（Cascading Style Sheets段階スタイルシート）文章等を指す。また、スクリプト文章には、例えば、ＥＣＭ（ECMa scripts）文章やＪＳ（JavaScript（登録商標））ファイル等が含まれる。本実施形態では、データ放送コンテンツオーサリング部１３は、データ放送のサービスを機能させるために必要なＡＰＩを組み合わせて、プログラミングや表示画面の設計等を行うツール（オーサリングツール）として機能する。制作されるデータ放送コンテンツは、受信装置においてデータ放送の表示に係る画面構成のほか、例えば、双方向サービスに対応して受信装置の不揮発メモリへのアクセスに利用される。
【００４５】
本実施形態では、データ放送コンテンツオーサリング部１３は、図５に示す受信装置２０の不揮発メモリ２８にアクセスするためのアクセス用のＡＰＩとして、ＳＩで伝送される放送事業者またはその系列局の識別情報に基づく認証によって実行を可能とする低レベル認証ＡＰＩを記述したデータ放送用文章と、より高レベルな認証を必要とする高レベル認証ＡＰＩを記述したデータ放送用文章とをオーサリングする。また、本実施形態では、データ放送コンテンツオーサリング部１３は、低レベル認証ＡＰＩと、高レベル認証ＡＰＩとに対して異なる関数名を割り当てることとした。
【００４６】
利用ＡＰＩ判定部１４は、データ放送コンテンツオーサリング部１３でオーサリングされたデータ放送用文章が低レベル認証ＡＰＩと高レベル認証ＡＰＩとのうちのいずれを記述したものであるのか判定するものである。利用ＡＰＩ判定部１４は、高レベル認証ＡＰＩが用いられている文章を抽出し、デジタル署名生成部１５に出力する。本実施形態では、利用ＡＰＩ判定部１４は、図５に示す受信装置２０の不揮発メモリ２８にアクセスするためのアクセス用の高レベル認証ＡＰＩが記述された文章を抽出する。
【００４７】
デジタル署名生成部（デジタル署名生成手段）１５は、放送事業者に予め割り当てられた秘密鍵を用いて、データ放送コンテンツオーサリング部１３で生成されたデータ放送用文章と対応付けたデジタル署名の署名値を生成するものである。
本実施形態では、デジタル署名生成部１５は、利用ＡＰＩ判定部１４で抽出されたデータ放送用文章、すなわち、アクセス用の高レベル認証ＡＰＩが記述された文章に対応付けて署名値を生成する。デジタル署名生成部１５は、例えば、データ放送用文章にハッシュ関数（例えば、ＳＨＡ−２５６）を用いて演算したハッシュ値（ダイジェスト値）を、放送事業者ごとに割り当てられた秘密鍵で暗号化した結果を署名値として生成する。
【００４８】
ＤＳＲリソースファイル生成部（リソースファイル生成手段）１６は、デジタル署名生成部１５で生成された署名値と、対応付けられたデータ放送用文章に関するリンク情報とを含む署名値用のリソースファイルを生成するものである。この署名値用のリソースファイルのことを、以下では、ＤＳＲ（Digital Signature Resource）ファイル、または、ＤＳＲリソースファイルと呼ぶ。その構造の詳細は後記する。ＤＳＲリソースファイルは、図５に示す受信装置２０の不揮発メモリ２８にアクセスする際の認証に用いられる。すなわち、前記した高レベル認証ＡＰＩとは、この署名値用のＤＳＲリソースファイルに基づく認証（第１の認証）と、放送事業者またはその系列局の識別情報に基づく認証（第２の認証）とによって不揮発メモリ２８にアクセスすることを可能とするものである。
【００４９】
マルチパート化部１７は、データ放送コンテンツオーサリング部１３でオーサリングされたＢＭＬ文章、スクリプト文章、ＣＳＳファイル等と、ＤＳＲリソースファイル生成部１６で生成されたＤＳＲリソースファイルと、署名に用いた秘密鍵に対応する公開鍵証明書（リソースファイル）とを、１つのファイルとしてパッキングする（マルチパート化する）ものである。
【００５０】
データカルーセル化部（データカルーセル化手段）１８は、ＤＳＲリソースファイルと、ＤＳＲリソースファイルに対応付けられたＢＭＬ文章やスクリプト文章等のデータ放送用文章とをデータカルーセル化するものである。本実施形態では、データカルーセル化部１８は、マルチパート化されたファイルをモジュール化したり（マルチパート形式のモジュール）、それぞれのリソースファイルをモジュール化したりする。また、データカルーセル化部１８は、ＤＳＲリソースファイルを、当該ＤＳＲリソースファイルと対応付けられたデータ放送用文章と同じモジュールに入れてパケット化することとした。データカルーセル化部１８は、どのモジュールの何番目のブロックであるかを示すＤＤＢ（Download Data Block）と、データカルーセルに含まれているモジュールの個数やモジュールに関する情報を示すＤＩＩ（Download Info Indication）とによりパケット化を行う。また、本実施形態では、公開鍵証明書をリソースファイルとして、データ放送用文章およびＤＳＲリソースファイルと共にモジュールにさらに入れることとした。このように多数のファイルを同じモジュールとして伝送することで図５に示す受信装置２０の処理負担を軽減できる。
【００５１】
多重化部（多重化手段）１９は、データカルーセル化されたＤＳＲリソースファイルおよびデータ放送用文章を、コンテンツおよびＳＩと共に多重化するものである。本実施形態では、多重化部１９は、データカルーセル化されたＤＳＲリソースファイル、データ放送用文章および公開鍵証明書を、コンテンツおよびＳＩと共に多重化する。多重化部１９は、それぞれのパケットを多重化し、ＭＰＥＧ−２ Ｓｙｓｔｅｍｓを用いて、ＭＰＥＧ−２ ＴＳファイル（ＴＳ）を生成する。
【００５２】
なお、送信装置１０は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラム（送信プログラム）は、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００５３】
［リソースファイル］
図２に、リソースファイルの構成例を示す。データカルーセル化部１８（図１参照）は、データカルーセル２００として、一定周期ごとに繰り返しモジュール２１０を伝送する。このモジュール２１０内には、リソースファイル２２０や、そのリソースファイル２２０をまとめてマルチパート化したファイルが入っている。ここで、リソースファイル２２０としては、例えば、ＢＭＬファイル２２１、ＥＣＭファイル２２２、ＣＳＳファイル２２３、ＣＬＴファイル２２４、ＰＮＧファイル２２５、ＪＰＧファイル２２６、ＤＳＲファイル（ＤＳＲリソースファイル）２２７、公開鍵証明書２２８が挙げられる。
【００５４】
ＢＭＬファイル２２１は、ＢＭＬ文章が記載されたファイル、ＥＣＭファイル２２２は、コマンド（スクリプト文章）が記載されたファイルをそれぞれ示す。
ＣＳＳファイル２２３は、構造（ＣＳＳ文章）が記載されたファイルを示す。
ＣＬＴ（Color Lookup Table）ファイル２２４は、色彩について記載されたファイル、ＰＮＧ（Portable Network Graphics）ファイル２２５やＪＰＧファイル２２６は静止画の規格が記載されたファイルを示す。
【００５５】
ＤＳＲリソースファイル２２７は、ＤＳＲリソースファイル生成部１６で生成されるファイルであり署名値が記述されている。本実施形態では、モジュール２１０単位でデータを取得するため、ＤＳＲリソースファイル２２７と、その対象となるＢＭＬ文章が記載されたＢＭＬファイル２２１またはスクリプト文章（ＥＣＭファイル２２２）とは、同じモジュール２１０内に配置される。公開鍵証明書２２８は、図５に示す受信装置２０で署名値を検証するために利用される。
【００５６】
図２に示すリソースファイル２２０のうち、ＢＭＬファイル２２１やＥＣＭファイル２２２には、図５に示す受信装置２０の不揮発メモリ２８へのアクセス用のＡＰＩとして、低レベル認証ＡＰＩ２３０と高レベル認証ＡＰＩ２４０の双方が記述されている。
【００５７】
低レベル認証ＡＰＩ２３０は、デジタル署名生成部１５で生成される署名値についての認証を必要としない従来のＡＰＩである。低レベル認証ＡＰＩとしては、例えば、リードコマンドを示す関数名「readPersistentArray()」２３１や、ライトコマンドを示す関数名「writePersistentArray()」２３２が該当する。
【００５８】
高レベル認証ＡＰＩ２４０は、従来の認証に加えて、デジタル署名生成部１５で生成される署名値についての認証も必要とするＡＰＩである。高レベル認証ＡＰＩの関数名は、従来のＡＰＩの関数名とは別名称で定義されている。例えば、リードコマンドを示す関数名として「ExreadPersistentArray()」２４１、ライトコマンドを示す関数名として「ExwritePersistentArray()」２４２を用いることとする。
【００５９】
これらにより、ＡＰＩの関数名（名称）により、低レベル認証ＡＰＩ２３０と高レベル認証ＡＰＩ２４０とを区別することができる。なお、「readPersistentArray()」２３１、「writePersistentArray()」２３２、「ExreadPersistentArray()」２４１、「ExwritePersistentArray()」２４２は、少なくとも、放送事業者の識別情報（original＿network＿id）またはその系列局の識別情報（affiliation＿id）から成るアドレスと、図５に示す受信装置２０の不揮発メモリ２８に対して読み書きするためのデータを引数とする。具体的には、“Array()”のカッコ内に、アドレスと、対象とするデータとが記述される。
【００６０】
［ＤＳＲリソースファイル］
図２に示したＤＳＲリソースファイル２２７の構造例を図３に示す。ＤＳＲリソースファイルは、符号３０１〜３０３に示すように、該当するＢＭＬ文章やスクリプト文章に対して生成した署名データ（署名値）を、そのＢＭＬ文章やスクリプト文章を示すファイル名と共に列挙した構造を有している。例えば、符号３０１は、ＢＭＬ文章のファイル名（例えば、Ａ）と、その署名データとを示している。同様に、符号３０２は、ＢＭＬ文章のファイル名（例えば、Ｂ）と、その署名データとを示している。さらに、符号３０３は、スクリプト文章が記載されたＥＣＭファイルと、そのスクリプト文章を引用するＢＭＬファイルのファイル名（例えば、Ａ）と、その署名データとを示している。つまり、符号３０１に示すＢＭＬファイルと、符号３０３に示すＥＣＭファイルとは親子の関係になっている（ＢＭＬファイルで使用するコマンドの参照先がＥＣＭファイルとなっている）。なお、図３に示す例では、署名データは１０２４ビットの署名長（データ長）を有している。
【００６１】
第１実施形態の送信装置１０によれば、放送事業者に予め割り当てられた秘密鍵を用いて、データ放送用文章と対応付けたデジタル署名の署名値を生成し、生成された署名値用のＤＳＬリソースファイルを生成し、ＤＳＬリソースファイルと、対応付けられたデータ放送用文章とをデータカルーセル化して送信する。したがって、受信側においてデータ放送用文章に記述されたＡＰＩを実行するときに、その署名値が読み出され、秘密鍵に対応した公開鍵証明書で検証することが可能となる。その結果、秘密鍵を持たない者が生成したデータ放送による不正を防止することができる。
【００６２】
［送信装置の動作］
次に、図４を参照（適宜図１参照）して、送信装置１０の動作について説明する。図４は、図１に示した送信装置の動作を示すフローチャートである。送信装置１０は、利用ＡＰＩ判定部１４によって、データ放送コンテンツオーサリング部１３でオーサリングされたデータ放送用文章が、不揮発メモリ２８へのアクセス用の高レベル認証ＡＰＩと低レベル認証ＡＰＩとのうちのいずれを記述したものであるのか判定する（ステップＳ１）。高レベル認証ＡＰＩを記述したものである場合（ステップＳ１：Ｙｅｓ）、送信装置１０は、デジタル署名生成部１５によって、アクセス用の高レベル認証ＡＰＩが記述された文章に対応付けて署名値を生成する（ステップＳ２）。そして、送信装置１０は、ＤＳＲリソースファイル生成部１６によって、ＤＳＲリソースファイルを生成する（ステップＳ３）。そして、送信装置１０は、マルチパート化部１７によって、オーサリングされたＢＭＬ文章等と、ＤＳＲリソースファイルと、公開鍵証明書とをマルチパート化する（ステップＳ４）。そして、送信装置１０は、データカルーセル化部１８によって、マルチパート化されたファイルや各リソースファイルをモジュールとしてデータカルーセル化する（ステップＳ５）。そして、送信装置１０は、多重化部１９によって、データカルーセル化されたＤＳＲリソースファイル、データ放送用文章および公開鍵証明書を、コンテンツおよびＳＩと共に多重化し、ＭＰＥＧ−２ Ｓｙｓｔｅｍｓを用いて、ＭＰＥＧ−２ ＴＳファイル（ＴＳ）を生成する（ステップＳ６）。前記したステップＳ１において、オーサリングされたデータ放送用文章が、低レベル認証ＡＰＩを記述したものである場合（ステップＳ１：Ｎｏ）、送信装置１０は、ステップＳ２，Ｓ３をスキップしてスキップＳ４に進む。
【００６３】
［受信装置］
次に、図５を参照して、図１に示した送信装置１０（図１参照）から送信されたストリームを受信する受信装置の構成について説明する。図５は、本発明の実施形態に係る受信装置の構成例を示す機能ブロック図である。ここでは、受信装置２０は、図５に示すように、分離部２１と、データカルーセルＤｅＭＵＸ部２２と、マルチパートＤｅＭＵＸ部２３と、ＢＭＬブラウザ部２４と、番組送出情報解析部２５と、映像音声復号部２６と、合成部２７と、不揮発メモリ２８とを備えている。
【００６４】
分離部２１は、受信したＭＰＥＧ−２ ＴＳファイル（ＴＳ）から、そのＰＩＤ（Packet Identification）値を用いてフィルタリングし、映像音声ストリーム（Ｖｉｄｅｏ、Ａｕｄｉｏ）と、ＳＩと、データカルーセルとに分離するものである。
【００６５】
データカルーセルＤｅＭＵＸ（de-multiplexer）部２２は、分離部２１で分離されたデータカルーセルから、ＤＩＩとＤＤＢを用いて、リソースファイルやマルチパート化したファイルをモジュール毎に取り出すものである。
マルチパートＤｅＭＵＸ部２３は、モジュールのうち、マルチパート化されたファイルに含まれるリソースファイル（ＢＭＬファイル、スクリプト、ＤＳＲリソースファイル等）を取り出すものである。
【００６６】
ＢＭＬブラウザ部２４は、データカルーセルＤｅＭＵＸ部２２およびマルチパートＤｅＭＵＸ部２３により取り出されたリソースファイル群（ＢＭＬファイル、スクリプト、ＤＳＲリソースファイル等）を適宜開いて実行するものである。このＢＭＬブラウザ部２４は、ＡＰＩ実行部３０と、データ放送レンダリング部４０とを備えている。
【００６７】
ＡＰＩ実行部（ＡＰＩ実行手段）３０は、スクリプトで記述されるＡＰＩを実行するプログラムモジュールであり、疑似ブラウザオブジェクトとして動作するものである。本実施形態では、ＡＰＩ実行部３０は、受信したデータ放送用文章（ＢＭＬ、スクリプト）に記述されている不揮発メモリ２８へのアクセス用のＡＰＩ（以下、ＮＶＲＡＭアクセス用ＡＰＩという）を実行するために、ＡＰＩ判定部５０と、高認証ＡＰＩ処理部６０と、低認証ＡＰＩ処理部７０とを備えている。
【００６８】
ＡＰＩ判定部（ＡＰＩ判定手段）５０は、ＮＶＲＡＭアクセス用ＡＰＩの関数名に基づいて、当該ＡＰＩが、高レベル認証ＡＰＩであるか、または、低レベル認証ＡＰＩであるかを判定するものである。ＮＶＲＡＭアクセス用ＡＰＩの関数名が、例えば、「ExreadPersistentArray()」や「ExwritePersistentArray()」などの場合には、高レベル認証ＡＰＩであると判定される。ＡＰＩ判定部５０は、ＡＰＩを選択し、高レベル認証ＡＰＩであると判定した場合に、そのＡＰＩと、そのＡＰＩが記述されたＢＭＬ文章やスクリプト文章とを高認証ＡＰＩ処理部６０に出力する。
【００６９】
また、ＮＶＲＡＭアクセス用ＡＰＩの関数名が、例えば、「readPersistentArray()」や「writePersistentArray()」などの場合には、低レベル認証ＡＰＩであると判定される。ＡＰＩ判定部５０は、ＡＰＩを選択し、低レベル認証ＡＰＩであると判定した場合に、そのＡＰＩを低認証ＡＰＩ処理部７０に出力する。
【００７０】
高認証ＡＰＩ処理部６０は、署名検証部６１と、比較判定部６２と、データ制御部６３と、ローカル暗号復号部６４と、暗号化情報生成判定部６５とを備えている。
【００７１】
署名検証部（署名検証手段）６１は、ＡＰＩ判定部５０で高レベル認証ＡＰＩであると判定されたＡＰＩの実行時に、当該ＡＰＩが記述されたデータ放送用文章（ＢＭＬ、スクリプト（ＥＣＭ））に対応する署名値を、受信した署名値用のＤＳＲリソースファイル（ＤＳＲ）から取得し、秘密鍵に対応した公開鍵証明書を用いて署名値を検証するものである。これは、ＮＶＲＡＭアクセス用ＡＰＩにおいて、署名値用のＤＳＲリソースファイルに基づく認証（第１の認証）に相当する。
【００７２】
本実施形態では、署名検証部６１は、ＤＳＲリソースファイルから取得した署名値を公開鍵証明書を用いて暗号復号したものと、データ放送用文章にハッシュ関数（例えば、ＳＨＡ−２５６）を用いて演算したハッシュ値（ダイジェスト値）とを比較し、一致した場合に検証が成功したものとする。一致した場合（検証に成功した場合）、その公開鍵証明書に記述された「original＿network＿id」で示される放送事業者（または、「affliation＿id」で示される系列局）が署名したことを意味する。
【００７３】
比較判定部（比較判定手段）６２は、署名検証部６１で署名値の検証に成功した場合に、公開鍵証明書に記載された放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される不揮発メモリ２８へアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定するものである。これは、ＮＶＲＡＭアクセス用ＡＰＩにおいて、放送事業者またはその系列局の識別情報に基づく認証（第２の認証）に相当する。
【００７４】
データ制御部（データ制御手段）６３は、比較判定部６２により公開鍵証明書に記載された情報と当該ＡＰＩの引数として指定される情報とが一致したと判定された場合に、不揮発メモリ２８にアクセスすることを許可するものである。
【００７５】
ローカル暗号復号部（暗号復号手段）６４は、データ制御部６３によって不揮発メモリ２８にアクセスすることを許可した場合に、不揮発メモリ２８に対してデータの入出力を行う際に、当該受信装置２０内で暗号復号を行うものである。具体的には、ローカル暗号復号部６４は、書き込み時には、データ制御部６３が出力する個人情報などのデータを、メーカ毎や機種別、機器別に異なる鍵で暗号化（ローカル暗号という）して不揮発メモリ２８に保持する。同様に、ローカル暗号復号部６４は、読み出し時には、不揮発メモリ２８に保持された暗号化データを復号（暗号復号）してデータ制御部６３に出力する。ここで、ローカル暗号には、共通鍵暗号化方式であるＡＥＳ（Advanced Encryption Standard）やＤＥＳ（Data Encryption Standard）等を用いることができる。
【００７６】
暗号化情報生成判定部６５は、ローカル暗号復号部６４によりローカル暗号復号を行う際に、不揮発メモリ２８に記憶されたデータが、ローカル暗号化されている暗号化データであるのか、または平文状態で記憶されている平文データ（非暗号化データ）であるのかを識別するための暗号化情報を付与するものである。本実施形態では、暗号化情報生成判定部６５は、暗号化情報として、暗号化データに例えば「１」を付与し、平文データに例えば「０」を付与する。これにより、ローカル暗号復号部６４は、読み込み時には、暗号化情報を参照し、暗号化データであれば、ローカル暗号を復号し、平文データであれば、そのままデータを読み出す。
【００７７】
低認証ＡＰＩ処理部７０は、比較判定部７１と、データ制御部７２と、暗号化情報判定部７３とを備えている。
比較判定部（第２比較判定手段）７１は、ＡＰＩ判定部５０で低レベル認証ＡＰＩであると判定された場合に、当該ＡＰＩの実行時に、ＳＩで伝送される放送事業者またはその系列局の識別情報と、当該ＡＰＩの引数として指定される不揮発メモリ２８へアクセスするためのアドレスを示す放送事業者またはその系列局の識別情報とを比較し、一致するか否かを判定するものである。これは、ＮＶＲＡＭアクセス用ＡＰＩにおいて、放送事業者またはその系列局の識別情報に基づく認証に相当する。なお、ＳＩで伝送される放送事業者またはその系列局の識別情報は、番組送出情報解析部２５でＢＩＴを解析することで得られる。
【００７８】
データ制御部（第２データ制御手段）７２は、比較判定部７１によりＳＩで伝送される情報と当該ＡＰＩの引数として指定される情報とが一致したと判定された場合に、不揮発メモリ２８にアクセスすることを許可するものである。これにより、一致すれば、データ制御部７２で受信した個人情報などのデータを不揮発メモリ２８に読み書きすることを許可し、不一致であれば、読み書きを拒否することができる。
【００７９】
暗号化情報判定部７３は、不揮発メモリ２８にアクセスすることを許可した場合に、不揮発メモリ２８に対してデータの入出力を行う際に、不揮発メモリ２８においてアクセスされるアドレスに書き込まれたデータが暗号化されているか否かを判定し、暗号化されたデータ（暗号化データ）が書き込まれている場合に、データのアクセスを拒否するものである。本実施形態では、暗号化情報判定部７３は、前記した暗号化情報生成判定部６５で付与された、不揮発メモリ２８の記憶構造における暗号化情報を参照することで、書き込まれたデータが暗号化されているか否かを判定する。例えば、暗号化情報が「１」であれば暗号化されていると判定し、「０」であれば暗号化されていないと判別する。ここで、暗号化情報判定部７３は、暗号化されたデータ（暗号化データ）が書き込まれている場合に、暗号化データの読み出しだけではなく書き込みも拒否する。これは、アドレスで指定されたデータが暗号化データである場合には、高レベル認証ＡＰＩで書き込んであることを意味するので、この大事なデータが消失しないようにするためである。
【００８０】
なお、ＡＰＩ実行部３０は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラム（ＡＰＩ実行プログラム）は、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００８１】
データ放送レンダリング部（レンダリング手段）４０は、データカルーセルＤｅＭＵＸ部２２およびマルチパートＤｅＭＵＸ部２３により取り出されたリソースファイル群（ＢＭＬファイル、スクリプト、ＤＳＲリソースファイル等）として受信したデータ放送用文章（ＢＭＬ、スクリプト）に基づいてデータ放送の画面構成を行うものである。
【００８２】
番組送出情報解析部２５は、分離部２１で分離されたＳＩを解析するものである。番組送出情報解析部２５は、ＳＩに含まれるＢＩＴを解析した結果得られた「original＿network＿id（またはaffiliation＿id）」を、低認証ＡＰＩ処理部７０の比較判定部７１に出力する。
【００８３】
映像音声復号部２６は、分離部２１でＴＳから分離された映像音声ストリーム（Ｖｉｄｅｏ、Ａｕｄｉｏ）をデコードして合成部２７に出力するものである。この映像音声復号部２６は、例えば、Ｈ．２６４／ＡＶＣにおける一般的なデコーダや、ＭＰＥＧ−２ ＡＡＣにおける一般的なデコーダから構成される。
【００８４】
合成部２７は、映像音声復号部２６でデコードした映像音声と、データ放送レンダリング部４０でレンダリングしたデータ放送とを合成して図示しない出力装置に出力するものである。なお、出力装置は、任意であり、例えば、液晶ディスプレイ等の表示装置とスピーカ等から構成される。
【００８５】
不揮発メモリ２８は、視聴者情報を記憶する事業者領域と、暗号化情報を記憶する暗号化情報領域とを放送事業者（または系列局）毎に有しており、例えば、一般的なＮＶＲＡＭから構成される。ここで、視聴者情報は、例えば、視聴者の名前や住所等である。また、暗号化情報は、暗号化情報生成判定部６５で付与される情報であり、例えば、「１」、「０」である。
【００８６】
［受信装置の動作］
次に、図６を参照（適宜図５参照）して、受信装置２０の動作について、ＡＰＩ実行部３０の動作を中心に説明する。図６は、図５に示した受信装置の動作を示すフローチャートである。受信装置２０のＡＰＩ実行部３０は、ＡＰＩ判定部５０によって、ＡＰＩを選択し（ステップＳ１１）、当該ＡＰＩが、高レベル認証ＡＰＩであるか（高認証ＡＰＩ処理部６０を利用するか）、または、低レベル認証ＡＰＩであるか（低認証ＡＰＩ処理部７０を利用するか）を判別する（ステップＳ１２）。高レベル認証ＡＰＩである場合、すなわち、高認証ＡＰＩ処理部６０を利用する場合（ステップＳ１２：Ｙｅｓ）、ＡＰＩ実行部３０は、ＡＰＩ判定部５０によって、当該ＡＰＩの実行タイミングであるか否かを判別する（ステップＳ１３）。当該ＡＰＩの実行時ではない場合（ステップＳ１３：Ｎｏ）、ＡＰＩ実行部３０は、当該ＡＰＩの実行タイミングがくるまで待機する。
【００８７】
一方、当該ＡＰＩの実行時である場合（ステップＳ１３：Ｙｅｓ）、高認証ＡＰＩ処理部６０は、署名検証部６１によって、当該ＡＰＩが記述されたデータ放送用文章に対応する署名値を、ＤＳＲリソースファイルを開いて検証することで、署名が正当なものであるか否かを判別する（ステップＳ１４）。署名が正当な場合（ステップＳ１４：Ｙｅｓ）、高認証ＡＰＩ処理部６０は、比較判定部６２によって、当該ＡＰＩの引数として指定される不揮発メモリ２８へアクセスするためのアドレスが、公開鍵証明書に記載された情報と一致するか否かを判別する（ステップＳ１５）。アドレスが一致する場合（ステップＳ１５：Ｙｅｓ）、高認証ＡＰＩ処理部６０は、データ制御部６３によって、不揮発メモリ２８へアクセスする動作モードを関数名から判定する（ステップＳ１６）。
【００８８】
ステップＳ１６において、動作モードが「ライト」である場合、高認証ＡＰＩ処理部６０は、ローカル暗号復号部６４によって、データ制御部６３が出力する個人情報などのデータをローカル暗号化して（ステップＳ１７）、この暗号化したデータ（暗号化データ）を不揮発メモリ２８の所定の事業者領域に書き込む（ステップＳ１８）。このとき、高認証ＡＰＩ処理部６０は、暗号化情報生成判定部６５によって、暗号化情報を付与し、ローカル暗号復号部６４によって、個人情報などのデータを書き込む事業者領域に対応付けて暗号化情報を書き込む。
【００８９】
ステップＳ１６において、動作モードが「リード」である場合、高認証ＡＰＩ処理部６０は、暗号化情報生成判定部６５によって、不揮発メモリ２８の暗号化情報領域に記憶された暗号化情報を参照することで、読み出し対象のデータが暗号化されているか否かを判別する（ステップＳ１９）。読み出し対象のデータが暗号化されている場合（ステップＳ１９：Ｙｅｓ）、高認証ＡＰＩ処理部６０は、ローカル暗号復号部６４によって、ローカル暗号を復号し（ステップＳ２０）、読み出してデータ制御部６３に出力する（ステップＳ２１）。一方、読み出し対象のデータが暗号化されていない場合（ステップＳ１９：Ｎｏ）、高認証ＡＰＩ処理部６０は、ステップＳ２０をスキップして、ステップＳ２１に進む。
【００９０】
前記したステップＳ１４において、署名が正当なものではない場合やＤＳＲリソースファイルがない場合（ステップＳ１４：Ｎｏ）、高認証ＡＰＩ処理部６０は、その後の動作をスキップして選択されたＡＰＩについての処理を終了する。また、前記したステップＳ１５において、アドレスが不一致である場合（ステップＳ１５：Ｎｏ）、高認証ＡＰＩ処理部６０は、その後の動作をスキップして選択されたＡＰＩについての処理を終了する。
【００９１】
前記したステップＳ１２において、低レベル認証ＡＰＩである場合、すなわち、低認証ＡＰＩ処理部７０を利用する場合（ステップＳ１２：Ｎｏ）、ＡＰＩ実行部３０は、ＡＰＩ判定部５０によって、当該ＡＰＩの実行タイミングであるか否かを判別する（ステップＳ２２）。当該ＡＰＩの実行時ではない場合（ステップＳ２２：Ｎｏ）、ＡＰＩ実行部３０は、当該ＡＰＩの実行タイミングがくるまで待機する。
【００９２】
一方、当該ＡＰＩの実行時である場合（ステップＳ２２：Ｙｅｓ）、低認証ＡＰＩ処理部７０は、比較判定部７１によって、番組送出情報解析部２５から取得したＳＩで伝送される情報が、当該ＡＰＩの引数として指定される不揮発メモリ２８へアクセスするためのアドレスと一致するか否かを判別する（ステップＳ２３）。アドレスが一致する場合（ステップＳ２３：Ｙｅｓ）、低認証ＡＰＩ処理部７０は、データ制御部７２によって、不揮発メモリ２８への動作モードを関数名から判定する（ステップＳ２４）。
【００９３】
ステップＳ２４において、動作モードが「ライト」である場合、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、不揮発メモリ２８においてアクセスされるアドレスに書き込まれたデータが暗号化されているか否かを判定する（ステップＳ２５）。書き込まれたデータが暗号化されていない場合（ステップＳ２５：Ｎｏ）、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、データ制御部７２が出力する個人情報などのデータを不揮発メモリ２８の所定の事業者領域に書き込む（ステップＳ２６）。一方、書き込まれたデータが暗号化されている場合（ステップＳ２５：Ｙｅｓ）、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、データの書き込みを拒否してその後の処理を終了する。
【００９４】
ステップＳ２４において、動作モードが「リード」である場合、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、不揮発メモリ２８においてアクセスされるアドレスに書き込まれたデータが暗号化されているか否かを判定する（ステップＳ２７）。書き込まれたデータが暗号化されていない場合（ステップＳ２７：Ｎｏ）、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、その書き込まれたデータ（読み出し対象のデータ）を読み出す（ステップＳ２８）。一方、書き込まれたデータが暗号化されている場合（ステップＳ２５：Ｙｅｓ）、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、データの読み出しを拒否してその後の処理を終了する。
【００９５】
前記したステップＳ２３において、アドレスが不一致である場合（ステップＳ２３：Ｎｏ）、低認証ＡＰＩ処理部７０は、その後の動作をスキップして選択されたＡＰＩについての処理を終了する。
【００９６】
本実施形態では、ＡＰＩ実行部３０は、高認証ＡＰＩ処理部６０の動作において、同じデータ放送用文章（ＢＭＬ、スクリプト）を開いている間には、署名検証部６１によって、署名値の検証を１度だけ行い、比較判定部６２によって、公開鍵証明書に記載された情報とＡＰＩの引数として指定される情報とが一致するか否かの判定を１度だけ行うこととした。これにより、同じデータ放送用文章を開いている間には、２回目以降のＡＰＩ発行時には、１回目のＡＰＩ発行時の検証および比較結果を代用することができる。したがって、２回目以降のＡＰＩ発行時には、検証処理や比較処理の負荷を軽減できる。
【００９７】
［不揮発メモリの構成と読み書き方法の具体例］
不揮発メモリの構成と読み書き方法の具体例について図７を参照（適宜図５参照）して説明する。図７に、不揮発メモリの構成と読み書き方法の具体例を示す。図７に示した不揮発メモリの記憶構造６００は、事業者領域６１０と、暗号化情報領域６２０とを備えている。
事業者領域６１０は、放送事業者（または系列局）毎に割り当てられている。この事業者領域６１０として、例えば２ｋＢの記憶領域を確保し、３２のブロックに分けて、各ブロックを６４バイト（Ｂ：Byte）で構成することができる。図７に示した不揮発メモリの記憶構造６００は、１つの放送事業者（または系列局）に割り当てられたものを示している。したがって、放送事業者が例えば１０局存在するならば、受信装置２０の不揮発メモリ２８は、同様に１０局分の記憶構造６００に対応して、全体として２０ｋＢの記憶領域を備えることとなる。ＡＰＩ実行部３０では、例えば、この３２のブロックにデータの読み書きを行うために、「original network id、または、affiliation id」と、ブロック番号とを指定する。図７では、ブロック番号を、「０」〜「３１」で表示し、「original network id、または、affiliation id」の図示を省略した。
【００９８】
暗号化情報領域６２０は、ブロック毎に、暗号化されているのかどうかを示す暗号化情報を書き込む領域である。書き込まれる暗号化情報は、暗号化情報生成判定部６５で付与される情報であり、該当するブロックが暗号化されていれば、「１」の値を持ち、平文データであれば「０」の値を持つこととする。この例では、暗号化情報領域６２０は、該当するブロックに対応して、符号６２１，６２３で示す領域が「０」すなわち平文データを示し、符号６２２，６２４，６２５で示す領域が「１」すなわち暗号化データを示す。この例では、ブロック毎に１ビット必要なので、暗号化情報領域６２０は、４バイト必要となる。なお、暗号化情報領域６２０に、予め「０」を付与しておいてもよい。
【００９９】
高認証ＡＰＩ処理部６０を利用する高レベル認証ＡＰＩの書き込み（ライト）においては、高認証ＡＰＩ処理部６０は、ローカル暗号復号部６４によってローカル暗号化した暗号化データ６３１を、事業者領域６１０においてブロック番号が例えば「１」で識別されるブロックに書き込み、符号６２２に示すように暗号化情報「１」を付与して、暗号化データ６３１に対応付けて暗号化情報領域に書き込む。なお、暗号化データ６３１のハッチングは暗号化されていることを示す。
【０１００】
高認証ＡＰＩ処理部６０を利用する高レベル認証ＡＰＩの読み出し（リード）においては、高認証ＡＰＩ処理部６０は、暗号化情報生成判定部６５によって、暗号化情報領域６２０に記憶された情報として、例えば符号６２２に示す暗号化情報「１」を参照した場合には、暗号化データ６３１をローカル暗号復号部６４によって復号して読み出す。
一方、高認証ＡＰＩ処理部６０は、暗号化情報生成判定部６５によって、暗号化情報領域６２０に記憶された情報として、例えば符号６２１に示す暗号化情報「０」を参照した場合には、ブロック番号が例えば「０」で識別されるブロックから平文データをそのまま読み出す。
【０１０１】
低認証ＡＰＩ処理部７０を利用する低レベル認証ＡＰＩにおいて、暗号化情報判定部７３によって、暗号化情報領域６２０に記憶された情報として、例えば符号６２３に示す暗号化情報「０」を参照した場合には、書き込み（ライト）においては、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、非暗号化データ６３２（平文データ）を、事業者領域６１０において符号６１１で示すブロックに書き込む。また、この場合、逆に読み出し（リード）においては、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、例えば符号６２３に示す暗号化情報「０」を参照した場合には、符号６１１で示すブロックから非暗号化データ６３２（平文データ）を読み出す。
【０１０２】
また、低認証ＡＰＩ処理部７０の処理において、暗号化情報判定部７３によって、例えば符号６２４に示す暗号化情報「１」を参照した場合を想定する。この場合には、符号６１２で示すブロックに既に暗号化データが書き込まれている。なお、符号６１２で示すブロックのハッチングは暗号化されていることを示す。したがって、低レベル認証ＡＰＩの書き込み（ライト）においては、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、非暗号化データ６３３（平文データ）による上書きを拒否することとなる。
【０１０３】
また、低認証ＡＰＩ処理部７０の処理において、暗号化情報判定部７３によって、例えば符号６２５に示す暗号化情報「１」を参照した場合を想定する。この場合には、符号６１３で示すブロックに既に暗号化データが書き込まれている。なお、符号６１３で示すブロックのハッチングは暗号化されていることを示す。したがって、低レベル認証ＡＰＩの読み出し（リード）においては、低認証ＡＰＩ処理部７０は、暗号化情報判定部７３によって、符号６１３で示すブロックに書き込まれている暗号化データの読み出しを拒否する。
【０１０４】
本実施形態の受信装置２０によれば、高レベル認証ＡＰＩの実行時に読み出すデジタル署名の署名値を、その対応する公開鍵証明書を用いて検証し、かつ、該当ＡＰＩの引数で示されるアドレスと公開鍵証明書に含まれる識別子とが同一である場合に不揮発メモリへのアクセスを許可する。したがって、個人情報などのセキュリティレベルの高い情報を受信装置２０の不揮発メモリ２８に安全に保存でき、そのデータへのアクセスは該当する放送事業者に限定することができる。また、受信装置２０は、高認証ＡＰＩによる読み書きと、低認証ＡＰＩによる読み書きとを、同じ不揮発メモリ２８上、同じ事業者領域６１０を共有化したとしても、低認証ＡＰＩによる読み書きに対して、高認証ＡＰＩで書き込まれた暗号化データへのアクセスを拒否するため、高いセキュリティレベルを担保できる。そのため、受信装置２０は、従来の既存のデータ放送を受信する受信装置との互換性も担保している。
【０１０５】
（第２実施形態）
図８は、本発明の第２実施形態に係る送信装置の構成を示す機能ブロック図である。図８に示すように、第２実施形態の送信装置１０Ａは、図１に示したＤＳＲリソースファイル生成部１６を有していない点と、データカルーセル化部１８および多重化部１９の機能が異なる点を除いて、第１実施形態の送信装置１０と同様なので、同じ構成には同じ符号を付して説明を省略する。
【０１０６】
データカルーセル化部１８は、デジタル署名生成部１５で生成された署名値をＤＩＩの記述子として、当該署名値と対応付けられたデータ放送用文章をデータカルーセル化する。多重化部１９は、データカルーセル化されたデータ放送用文章を、符号化されたコンテンツおよびＳＩと共に多重化する。したがって、送信装置１０Ａが送信する多重化されたストリームには、データカルーセルのＤＩＩとして、データ放送用文章と対応付けた署名値が含まれている。これにより、例えば図５に示した受信装置２０において、データカルーセルの受信時に（展開前に）その署名値が読み出され、秘密鍵に対応した公開鍵証明書で検証することが可能となる。その結果、秘密鍵を持たない者が生成したデータ放送による不正を防止することができる。
【０１０７】
以上、本発明の各実施形態について説明したが、本発明は、これらの実施形態には限定されない。例えば、受信装置２０は、ＡＰＩ実行部３０に高認証ＡＰＩ処理部６０と低認証ＡＰＩ処理部７０とを備えるベストモードで説明したが、高認証ＡＰＩ処理部６０のみを備えるようにしてもよい。この場合には、ＡＰＩ判定部５０は、アクセス用のＡＰＩが、高レベル認証ＡＰＩであるか否かを判定し、高レベル認証ＡＰＩではない場合には、不揮発メモリ２８へのアクセスを拒否する。また、対応する送信装置においては、データ放送コンテンツオーサリング部１３において、高レベル認証ＡＰＩのみをオーサリングするようにして、利用ＡＰＩ判定部１４を省略できる。これにより、送信装置および受信装置の構成を簡略化することができる。
【０１０８】
また、各実施形態では、公開鍵証明書をリソースファイルとして伝送することとして説明したが、ＤＩＩの記述子として伝送してもよい。また、公開鍵証明書は、受信装置２０のユーザによって、図示を省略した入力手段によって、記録媒体を介して入力することとしてもよいし、製品化段階で、対象とするすべての公開鍵証明書（例えば１０局分の公開鍵証明書）を予め受信装置２０に埋め込むこととしてもよい。
【０１０９】
また、各実施形態では、送信装置１０のマルチパート化部１７は必須ではなく、伝送すべき各々のリソースファイルをマルチパート化せずにデータカルーセル化してもよい。この場合には、受信装置２０のマルチパートＤｅＭＵＸ部２３も省略できる。したがって、構成を簡略化することができる
また、映像符号化方式をＨ．２６４／ＡＶＣの例で説明したが、これに限定されるものではなく、ＭＰＥＧ−４やＭ−ＰＥＧ２で符号化したコンテンツ（映像）にも適用可能である。
【０１１０】
また、第１実施形態では、送信装置１０は、ＤＳＲリソースファイルをデータカルーセルで伝送するものとして説明したが、ＤＳＲリソースファイルの伝送手段として通信回線を用いる場合は、ＨＴＴＰ（Hypertext Transfer Protocol）やＦＴＰ（File Transfer Protocol）を用いてもよい。この場合、対応する受信装置２０は、ＨＴＴＰやＦＴＰで伝送されるＤＳＲリソースファイル（署名値）を受信可能なものとして構成することができる。
【図面の簡単な説明】
【０１１１】
【図１】本発明の第１実施形態に係る送信装置の構成を示す機能ブロック図である。
【図２】本発明の第１実施形態に係る送信装置で生成するデータカルーセルの構造の一例を示す説明図である。
【図３】本発明の第１実施形態に係る送信装置で生成するＤＳＲリソースファイルの構造の一例を示す説明図である。
【図４】本発明の第１実施形態に係る送信装置の動作を示すフローチャートである。
【図５】本発明の実施形態に係る受信装置の構成を示す機能ブロック図である。
【図６】本発明の実施形態に係る受信装置の動作を示すフローチャートである。
【図７】本発明の実施形態に係る受信装置の不揮発メモリの構成例と読み書き方法を示す説明図である。
【図８】本発明の第２実施形態に係る送信装置の構成を示す機能ブロック図である。
【符号の説明】
【０１１２】
１０（１０Ａ）  送信装置
１１    映像音声符号化部
１２    番組送出情報生成部
１３    データ放送コンテンツオーサリング部（データ放送コンテンツオーサリング手段）
１４    利用ＡＰＩ判定部
１５    デジタル署名生成部（デジタル署名生成手段）
１６    ＤＳＲリソースファイル生成部（リソースファイル生成手段）
１７    マルチパート化部
１８    データカルーセル化部（データカルーセル化手段）
１９    多重化部（多重化手段）
２０    受信装置
２１    分離部（分離手段）
２２    データカルーセルＤｅＭＵＸ部
２３    マルチパートＤｅＭＵＸ部
２４    ＢＭＬブラウザ部
２５    番組送出情報解析部
２６    映像音声復号部
２７    合成部
２８    不揮発メモリ
３０    ＡＰＩ実行部（ＡＰＩ実行手段）
４０    データ放送レンダリング部（レンダリング手段）
５０    ＡＰＩ判定部（ＡＰＩ判定手段）
６０    高認証ＡＰＩ処理部
６１    署名検証部（署名検証手段）
６２    比較判定部（比較判定手段）
６３    データ制御部（データ制御手段）
６４    ローカル暗号復号部（暗号復号手段）
６５    暗号化情報生成判定部
７０    低認証ＡＰＩ処理部
７１    比較判定部（第２比較判定手段）
７２    データ制御部（第２データ制御手段）
７３    暗号化情報判定部（暗号化情報判定手段）
【図１】
0005027636.tif 000002
【図２】
0005027636.tif 000003
【図３】
0005027636.tif 000004
【図４】
0005027636.tif 000005
【図５】
0005027636.tif 000006
【図６】
0005027636.tif 000007
【図７】
0005027636.tif 000008
【図８】
0005027636.tif 000009