(57)【特許請求の範囲】
【請求項１】
署名付きトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットとを受信する受信部と、
前記受信部により受信したトランスポートストリームのうち、前記検証パケットに含まれる第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットから、ハッシュ値を生成する生成部と、
前記受信部により前記検証パケットを受信した後、次の検証パケットを受信するまでの時間を計測する計測部と、
前記受信部により前記検証パケットを受信した後、前記次の検証パケットを受信するまでの区間に、前記受信部により受信した前記トランスポートストリームのパケットの数をカウントするカウンタ部と、
前記次の検証パケットに含まれるハッシュ値と、前記生成部により生成されたハッシュ値とを照合する照合部と、
前記照合部による照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部によりカウントされたトランスポートストリームパケットの数と、前記計測部により計測された計測時間とに基づいて、前記区間でパケットロスがあるか否かを判定し、パケットロスがあると判定した場合は、前記区間を署名検証区間から除外する処理部と、
を具える受信装置。
【請求項２】
請求項１に記載の受信装置において、
前記処理部は、
前記照合部による照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部がカウントした前記トランスポートストリームパケットの数と、前記計測部が計測した計測時間とに基づき、前記区間のパケットロスがあるか否かを判定し、パケットロスがないと判定した場合は、前記区間を、不正区間と判定する、
ことを特徴とする受信装置。
【請求項３】
請求項１または２に記載の受信装置において、
１つのトランスポートストリームパケットの受信に要する基準時間を格納する記憶部をさらに具え、
前記処理部は、
前記計測部により計測された前記計測時間と、前記記憶部に格納している前記基準時間とを用いて、予測パケット受信数を算出し、当該予測パケット受信数と、前記カウンタ部によりカウントされたトランスポートストリームパケットの数とに基づいて、パケットロスがあるか否かを判定する、
ことを特徴とする受信装置。
【請求項４】
請求項１〜３のいずれか１項に記載の受信装置において、
前記署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および／または後の区間の署名検証結果に基づいて、前記コンテンツまたはサービスの出力を制御するように制御する制御部と、
をさらに具える、
ことを特徴とする受信装置。
【請求項５】
請求項１〜４のいずれか１項に記載の受信装置において、
前記受信部は、
前記第１の識別子および第２の識別子を含む検証パケットを受信し、
前記生成部は、
前記受信部により受信したトランスポートストリームのうち、前記第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記第２の識別子が示す数だけ用いて、ハッシュ値を生成する、
ことを特徴とする受信装置。
【請求項６】
署名付きトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットとを受信する受信部と、
前記受信部により受信したトランスポートストリームのうち、前記検証パケットに含まれる第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記検証パケットに含まれる第２の識別子が示す数だけ用いてハッシュ値を生成する生成部と、
前記受信部により前記検証パケットを受信した後、所定の区間毎に、前記特定のパケットを前記第２の識別子が示す数だけ受信したか否かを判定するとともに、各区間毎にパケットロスがあるか否かを判定する判定部と、
前記特定のパケットを前記第２の識別子が示す数だけ受信したと判定された場合、前記判定部の判定動作を停止させる停止部と、
前記次の検証パケットに含まれるハッシュ値と、前記生成部により生成されたハッシュ値とを照合する照合部と、
前記照合部による照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記判定部により前記所定の区間のいずれか１つ以上の区間でパケットロスがあると判定されている場合は、当該区間を署名検証区間から除外する処理部と、
を具えることを特徴とする受信装置。
【請求項７】
請求項６に記載の受信装置において、
前記受信部により前記検証パケットを受信してから時間を計測する計測部と、
前記受信部により前記検証パケットを受信してから前記受信部により受信した前記トランスポートストリームのパケットの数をカウントするカウンタ部と、をさらに具え、
前記判定部は、
前記計測部による計測時間と、前記カウンタ部によりカウントされたトランスポートストリームパケットの数とに基づいてパケットロスがあるか否かを判定し、
前記停止部は、前記計測部による時間の計測と、前記カウンタ部によるカウントを停止させることによって、前記判定部の判定動作を停止させる、
ことを特徴とする受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名検証方法および受信装置に関し、特に、ストリーム全体を適正に認証する署名検証技法に関する。
【背景技術】
【０００２】
従来、テレビやラジオなどコンテンツは、アナログ形式で放送／送信されてきた。しかしながら、最近のデジタル技術の発達に伴って、コンテンツやサービスのデータがデジタル化されるようになり、デジタルデータの形式でコンテンツやサービスが放送されるようになってきている。さらに、地上波デジタル放送が実用化され、携帯端末向けのデジタル放送であるワンセグメント放送も始まっている。
【０００３】
このようなデジタル放送では、通常の映像や音声サービス（コンテンツ）のみならず、字幕などのサービスおよびデータ放送用のデータ（コンテンツ付属情報）も放送されている。このようなコンテンツおよびコンテンツ付属情報は、パケット化され、一連のパケットとしてストリーミングで放送される。特に、地上波デジタル放送（ワンセグメント放送を含む）は、電波を用いて送信されているため、これと同じチャンネルにおいて、攻撃者が妨害電波として不正な放送波を送信した場合、一般の視聴者が使用しているデジタル放送受信端末は、正規の放送局による放送波と、攻撃者による不正な放送波とを判別することができない。図２４に、例えば、従来システムにおいて不正放送が行われた場合の状況を模式的に示す。図２４の（ａ）に示すように、攻撃者の不正な放送波の方が正規の放送波よりも強い環境下にある受信端末は、不正な放送波を正規の放送波であると見なして受信してしまう。従って、図２４の（ｂ）に示すように、視聴者は、気付かないうちに不正な放送波に基づく映像や音声を視聴してしまい、そのような映像や音声の情報を正しいものであると認識する恐れがある。また、ワンセグメント放送の場合は、地下街や屋内などの都市部における難視聴エリア向けの中継装置やギャップフィラーなどの送信装置の普及が予想される。さらには、ワンセグメント放送の場合、店舗や商業施設での狭い受信エリアを対象として独自放送を行う小型の送信装置も開発されている。このような様々なタイプの送信装置からの放送波を受信する受信装置には、受信している放送波が、正規の放送局からの放送波であるか否か、或いは、信頼し得る事業者からの放送波であるか否かを区別する機能があれば、ユーザにとって便利であるが、このような仕組みや技術は開発されていない。
【０００４】
このように、不正な放送波により、正規の放送局への成りすまし、データ改竄、悪意のあるサイトへの誘導（フィッシング詐欺）などが問題になる可能性がある。特に、字幕放送、データ放送などのデータは、経済活動において重要な情報（テレビ／ラジオショッピングなどで販売される商品の名称、仕様や価格、或いは、株価や経済統計などの経済指標、電話番号やウェブサイトのアドレスなど）が配信される。これによって視聴者と企業との間で様々な経済活動が営まれることが多く、放送波の内容の正当性や信頼性（即ち、コンテンツやコンテンツ付属情報の非改竄性）を保証することは非常に重要である。例えば、データ放送は、ＢＭＬ（Broadcast Markup Language）で放送されるため、ＢＭＬで記述されたスクリプトが、放送とは無関係なリンク先ＵＲＬへジャンプさせる命令や、不必要なアプリケーションを起動させる命令などの、不正なコードに置き換えられる可能性がある。このような本来の動作とは異なる動作を防ぐことも、非常に重要である。
【０００５】
そこで、放送波の正当性や安全性を保証するため、各パケットから認証情報を導出して、導出した各認証情報をパケット毎に付加し、受信側で、パケット単位でその内容を認証して、改竄されていないことを確かめるメッセージ認証装置が提案されている（特許文献１を参照されたい）。
【０００６】
図２５に、従来技術によってストリーム転送方式のパケットにハッシュ値を付加する技法を示す。図２５の（ａ）に示すように、転送方式のパケットは、認証するための情報が含まれておらず、その非改竄性を証明することができなかった。例えば、図２５の（ｂ）に示すように、各パケットのメッセージからハッシュ関数を用いてハッシュ値を計算し、この計算したハッシュ値を、ハッシュ計算に用いたパケットに付加する従来技術がある。
【特許文献１】特開２００１−２５１２９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来技術は、個々のパケットの認証は可能であるが、パケットストリーム全体（即ち、一連のパケット）としての認証はできない。
【０００８】
また、パケット毎に認証処理を行うためには、受信装置は高い計算処理能力を持つ必要があり、計算処理能力が比較的低い、携帯電話端末装置、ＳＴＢ（Set Top Box）、ＰＤＡ（Personal Digital Assistants）などの小型の受信機器には、計算負荷が重すぎて上述した従来のメッセージ認証技法を適用することは困難である。
【０００９】
さらに、ストリーム全体を認証するときに地上波デジタル放送などの無線伝送を使用する場合、電波伝播環境が悪いことが多く、そのようなときにはパケットロスなどの通信エラーが高い頻度で発生するので、このような頻発するパケットロスの影響によって認証処理ができなくなる恐れが高い。特に、ブロードキャスト／マルチキャストの無線伝送路では、パケットロスの確率が大幅に増大しているにもかかわらず、パケット再送をしないため、認証処理ができなくなってしまう。従って、無線のようなパケットロスが多い環境においてメッセージ認証を実用化するためには、パケットロスを代表とする受信エラーへの耐性を高める技法も同時に必要となる。
【００１０】
そこで、本発明の目的は、ストリーム全体を適正に認証／検証するストリーム認証／検証技法（装置、方法）を提供することである。
【課題を解決するための手段】
【００１１】
上述した諸課題を解決すべく、第１の発明による受信装置は、
署名付きトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケット（VP: Verification Packet）とを受信する受信部と、
前記受信部により受信したトランスポートストリームのうち、前記検証パケットに含まれる第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットから、ハッシュ値を生成する生成部と、
前記受信部により前記検証パケットを受信した後、次の検証パケットを受信するまでの時間を計測する計測部と、
前記受信部により前記検証パケットを受信した後、前記次の検証パケットを受信するまでの区間に、前記受信部により受信した前記トランスポートストリームのパケットの数をカウントするカウンタ部と、
前記次の検証パケットに含まれるハッシュ値と、前記生成部により生成されたハッシュ値とを照合する照合部と、
前記照合部による照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部によりカウントされたトランスポートストリームパケットの数（即ち、前記区間において正常に受信されたTSパケットおよびヌルパケットの数）と、前記計測部により計測された計測時間とに基づいて、前記区間でパケットロスがあるか否かを判定し、パケットロスがあると判定した場合は、前記区間を署名検証区間から除外する処理部と、
を具えることを特徴とする。
【００１２】
また、第２の発明による受信装置は、
前記処理部は、
前記照合部による照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部がカウントした前記トランスポートストリームパケットの数と、前記計測部が計測した計測時間とに基づき、前記区間のパケットロスがあるか否かを判定し、パケットロスがないと判定した場合は、前記区間を、不正区間と判定する、
ことを特徴とする。
【００１３】
また、第３の発明による受信装置は、
１つのトランスポートストリームパケットの受信に要する基準時間を格納する記憶部をさらに具え、
前記処理部は、
前記処理部により計測された前記計測時間と、前記記憶部に格納している前記基準時間とを用いて、予測パケット受信数を算出し、当該予測パケット受信数と、前記カウンタ部によりカウントされたトランスポートストリームパケットの数とに基づいて、パケットロスがあるか否かを判定する、
ことを特徴とする。
【００１４】
また、第４の発明による受信装置は、
前記署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および／または後の区間の署名検証結果に基づいて、前記コンテンツまたはサービスの出力を制御するように制御する制御部と、
をさらに具えることを特徴とする。
【００１５】
また、第５の発明による受信装置は、
前記受信部は、
前記第１の識別子および第２の識別子を含む検証パケットを受信し、
前記生成部は、
前記受信部により受信したトランスポートストリームのうち、前記第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記第２の識別子が示す数だけ用いて、ハッシュ値を生成する、ことを特徴とする。
【００１６】
また、第６の発明による受信装置は、
署名付きトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケット（VP: Verification Packet）とを受信する受信部と、
前記受信部により受信したトランスポートストリームのうち、前記検証パケットに含まれる第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記検証パケットに含まれる第２の識別子が示す数だけ用いてハッシュ値を生成する生成部と、
前記受信部により前記検証パケットを受信した後、所定の区間毎に、前記特定のパケットを前記第２の識別子が示す数だけ受信したか否かを判定するとともに、各区間毎にパケットロスがあるか否かを判定する判定部と、
前記特定のパケットを前記第２の識別子が示す数だけ受信したと判定された場合、前記判定部の判定動作を停止させる停止部と、
前記次の検証パケットに含まれるハッシュ値と、前記生成部により生成されたハッシュ値とを照合する照合部と、
前記照合部による照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記判定部により前記所定の区間のいずれか１つ以上の区間でパケットロスがあると判定されている場合は、当該区間を署名検証区間から除外する処理部と、
を具えることを特徴とする。
【００１７】
また、第７の発明による受信装置は、
前記受信部により前記検証パケットを受信してから時間を計測する計測部と、
前記受信部により前記検証パケットを受信してから前記受信部により受信した前記トランスポートストリームのパケットの数をカウントするカウンタ部と、をさらに具え、
前記判定部は、
前記計測部による計測時間と、前記カウンタ部によりカウントされたトランスポートストリームパケットの数とに基づいてパケットロスがあるか否かを判定し、
前記停止部は、前記計測部による時間の計測と、前記カウンタ部によるカウントを停止させることによって、前記判定部の判定動作を停止させる、
ことを特徴とする。
【００１８】
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
【００１９】
例えば、本発明を方法として実現させた第８の発明による署名検証方法は、
署名付きトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットとを受信するステップと、
前記受信したトランスポートストリームのうち、前記検証パケットに含まれる第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットからハッシュ値を生成するステップと、
前記検証パケットを受信した後、次の検証パケットを受信するまでの時間を計測するステップと、
前記検証パケットを受信した後、前記次の検証パケットを受信するまでの区間に、前記受信するステップで受信した前記トランスポートストリームのパケットの数をカウントするステップと、
前記次の検証パケットに含まれるハッシュ値と、前記生成するステップで生成されたハッシュ値とを照合するステップと、
前記照合するステップによる照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウントするステップによりカウントされたトランスポートストリームパケットと、前記計測するステップにより計測された計測時間とに基づいて、前記区間でパケットロスがあるか否かを判定し、パケットロスがあると判定した場合は、前記区間を署名検証区間から除外するステップと、
を有することを特徴とする。
【００２０】
また、第９の発明による署名検証方法は、
署名付きトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットとを受信するステップと、
前記受信したトランスポートストリームのうち、前記検証パケットに含まれる第１の識別子に基づき、前記トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記検証パケットに含まれる第２の識別子が示すから数だけ用いて、ハッシュ値を生成するステップと、
前記検証パケットを受信した後、所定の区間毎に、前記特定のパケットを前記第２の識別子が示す数だけ受信したか否かを判定するとともに、各区間毎にパケットロスがあるか否かを判定するステップと、
前記特定のパケットを前記第２の識別子が示す数だけ受信したと判定された場合、前記判定するステップを停止するステップと、
前記次の検証パケットに含まれるハッシュ値と、前記生成するステップにより生成されたハッシュ値とを照合するステップと、
前記照合するステップによる照合の結果、前記次の検証パケットに含まれるハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記判定するステップにより前記所定の区間のいずれか１つ以上の区間でパケットロスがあると判定されている場合は、当該区間を署名検証区間から除外するステップと、
を有することを特徴とする。
なお、各ステップの計算や処理には、演算手段（ＣＰＵ、ＤＳＰ、ＭＰＵなどのプロセッサ）を必要に応じて使用することができる。
【発明の効果】
【００２１】
本発明によれば、ストリーム全体を適正に認証することが可能になる。
【発明を実施するための最良の形態】
【００２２】
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。本発明は、パケット（放送波）の伝送路が有線、無線であろうと適用することができるが、パケットロスが起こり易く、本発明のメリットを最も享受できるであろう、無線伝送路を用いるワンセグメント放送システムに適用した態様で説明する。ワンセグメント放送の受信機能を持つ受信装置の典型例は、携帯電話端末やノートパソコンなどである。
【００２３】
図１は、本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。図に示すように、受信装置１００は、アンテナＡＮＴ１、受信部１１０、ハッシュ値計算部（生成部）１２０、パケット処理部１３０、認証部１４０、制御部１５０、メモリ１６０、出力部１７０、およびデコーダ１８０を具える。アンテナＡＮＴ１は、パケットを含む放送波を受信し、受信した放送波を受信部１１０に供給する。受信部１１０は、受信した放送波から信号処理（ＯＦＤＭ復調処理など）して得たトランスポートストリーム（ＴＳ）信号（TSパケットおよび検証パケット）を、ハッシュ値計算部１２０、パケット処理部１３０、およびメモリ１６０に供給する。メモリ１６０はTSパケットを格納する。
【００２４】
また、受信部１１０は、受信したトランスポートストリームから、コンテンツを特定する情報（例えば、プログラム・アソシエーション・テーブルＰＡＴ、プログラム・マップ・テーブルＰＭＴを格納している番組特定情報ＰＳＩ）を分離して解析し、その情報に基づいて、トランスポートストリームから、映像信号、音声信号、データ信号を分離する。デコーダ１８０は、メモリ１６０に格納されている音声パケット、映像パケット、データ放送パケットなどをデコードして、出力部１７０に設けられた表示部１７２やスピーカ１７４に供給する。
【００２５】
パケット処理部１３０は、TS信号から検証パケット（VPパケット）を抽出し、当該検証パケットに含まれている、検証パケット間の区間[VP-VP]に存在する一連のTSパケットに対する署名情報としてのハッシュ値Ｈを取得し、取得したハッシュ値Ｈをメモリ１６０に格納しておく。ハッシュ値計算部１２０は、検証パケット以降の一連のTSパケットの先頭から、TSパケットを１つずつ読み出し、この１つのTSパケットと計算したハッシュ値ｈとを連鎖的に用いて、所定の関数を用いて署名情報としてのハッシュ値を生成／計算し（生成手法の詳細は後述する）、生成したハッシュ値ｈを認証部１４０に供給する。ハッシュ値計算部１２０は、新たな検証パケットを受信する毎に、同様のハッシュ値計算処理を繰り返す。
【００２６】
認証部１４０は、照合部１４２および処理部１４４を具える。照合部１４２は、次の検証パケットに含まれる署名情報としてのハッシュ値Ｈと、前記生成されたハッシュ値ｈとが一致するか否かを照合する。処理部１４４は、照合部１４２による照合の結果、次の検証パケットに含まれる署名情報としてのハッシュ値Ｈと、生成されたハッシュ値ｈとが一致しない場合、当該区間を不正区間であると判定し、判定結果（照合結果）を制御部１５０に供給する。
【００２７】
制御部１５０は、出力部１７０やデコーダ１８０へのデータの供給を制御する。即ち、制御部１５０は、認証部１４０から供給された判定結果に基づき、不正区間と判定された区間のトランスポートストリームパケットを用いて、コンテンツまたはサービスの出力を停止したり、不正区間である旨を示す字幕を付加して出力したり、その旨の文字をスーパーインポーズして出力したり、その旨を示す音声を出力したりするように、表示部１７２やスピーカ１７４を制御する。
【００２８】
図２は、本発明の一実施態様による送信装置の基本的な構成を示すブロック図である。図に示すように、送信装置２００は、ハッシュ値計算部（生成部）２１０、ストリーム生成部２２０、送信部２３０、カウンタ部２４０、メモリ２５０、およびアンテナＡＮＴ２を具える。送信装置２００は、有線経由などで上位装置（コンテンツサーバなど）から、送信されるべきオリジナルメッセージ（元の一連のTSパケット）を受け取る。ハッシュ値計算部２１０は、例えば、第１のヌルパケットと、それの１以上後の第２のヌルパケット（即ち、２番目以降のヌルパケット）との間にある「一連のパケット」の先頭から、TSパケットを１つずつ読み出し、この１つのTSパケットと計算したハッシュ値とを連鎖的に用いて、所定のハッシュ関数を用いて署名情報としてのハッシュ値ｈを計算する。そして、当該区間の最後のTSパケットのメッセージと、前回計算したハッシュ値ｈとを用いて算出したハッシュ値を、署名情報としてのハッシュ値Ｈとする。カウンタ部２４０は、前述した一連のパケットの中で処理したパケットの数をカウントし、カウントした値をメモリ２５０に格納する。
【００２９】
ストリーム生成部２２０は、先行する一連のパケットの区間に対する署名情報としてのハッシュ値Ｈを含む検証パケットを生成し、前述したヌルパケットをこの検証パケットに置き換える。ヌルパケットは、タイミングをとるためにストリームにある程度定期的に挿入されるものであり、本実施態様では、このヌルパケットを検証パケットに置き換えて、署名のための情報（ハッシュ値Ｈ）を受信者に伝達する。
【００３０】
このようにして、ストリーム生成部２２０は、検証パケット間の区間のメッセージを認証する署名情報としてのハッシュ値Ｈを含む検証パケットを、一連のトランスポートストリームパケットの後に配置する。従って、ストリーム生成部２２０は、検証パケット、一連のトランスポートストリームパケット、検証パケットという順番でストリームを生成していく。生成された一連のストリームは、送信部２３０が、変調処理など必要な処理を行った後に、アンテナＡＮＴ２から放送波として送出される。
【００３１】
図３は、図１の受信装置で実行される署名検証方法の一例を示すフローチャートである。まず、ハッシュ値計算部１２０は、ステップＪ１１にて検証パケットを選び出し、次に、ループ１（ステップＪ１３，Ｊ１４）を開始する。次にステップＪ１３では、TSパケットのメッセージｍ（ペイロード）と、前回のハッシュ値ｈ０（最初の実行時はヌル）とから、ステップＪ１４の終了条件を満たすまで、すなわち次の検証パケットを受信するまで、受信した全てのTSパケットから、以下の所定のハッシュ関数ｆを用いてハッシュ値ｈを生成する。
ｈ＝ｆ（ｍ，ｈ０）
【００３２】
次の検証パケットを受信してループ１を終了すると、ステップＪ１５で、パケット処理部１３０は、次の検証パケットに格納されている署名情報としてのハッシュ値Ｈを取得し、これをメモリ１６０に格納する。認証部１４０内の照合部１４２は、ステップＪ１６にて、検証パケットから取得した署名情報としてのハッシュ値Ｈと、ハッシュ値計算部１２０で生成したハッシュ値ｈとが一致するか否かを照合する。取得したハッシュ値Ｈと生成したハッシュ値ｈとが一致する場合は、署名情報を正常に認証できたものとして処理を終え、制御部１５０の制御により、当該区間のTSパケットは正常にデコーダ１７０によりデコードされ、出力部１６０により出力される。Ｈとｈとが一致しない場合は、ステップＪ１７に進み、照合部１４２は、当該区間を不正区間であると見なし、制御部１５０は、照合部１４２の照合結果を受け、当該区間で受信したコンテンツを出力しないように、デコーダ１８０および出力部１７０を制御する。
【００３３】
図４は、図２の送信装置で実行されるストリーム生成方法の実施態様を示すフローチャートである。図４は、署名検証区間内の全てのTSパケットからハッシュ値Ｈを求め、これをストリームに含ませて送信する実施態様である。図に示すように、ステップＫ１１では、送信装置２００に設けられたネットワーク部（図示しない）が上位装置（コンテンツサーバなど）から受け取った、オリジナルメッセージ（元の一連のTSパケット）から、第１のヌルパケットと、それの１以上後の第２のヌルパケット（即ち、２番目以降のヌルパケット）との区間を署名検証区間に設定する。
【００３４】
次に、ステップＫ１２にて、ハッシュ値計算部２１０が、この署名検証区間にある一連のパケット全て（但し、区間内のヌルパケットは除く。）から、所定のハッシュ関数を用いて、署名情報としてのハッシュ値Ｈを計算する。ステップＫ１３にて、ストリーム生成部２２０が、求めたハッシュ値Ｈを含む検証パケットを作成する。次に、ステップＫ１４にて、ストリーム生成部２２０が、生成した検証パケットで当該区間の終点（または始点）のヌルパケットを置換することによって、当該署名検証区間内の一連のTSパケットと検証パケットとからなる、一連のストリームを生成する。最後に、ステップＫ１５にて、送信部２３０が、生成した一連のストリームに含まれるパケットを、順次、送信する。なお、送信装置２００内の各ブロックにて作成、生成されたデータや情報は、必要に応じてメモリ２５０に一時的に格納され、同様に、必要に応じて格納したデータや情報は読み出されるものとする。
【００３５】
ここで、図５を用いて、図２に示した送信装置２００の送信処理について説明する。図５は、送信装置２００において、ヌル（NULL）パケットを含むトランスポートストリーム（TS）からハッシュ値を計算する手法を説明する図である。
【００３６】
図５の上段に示すように、オリジナルメッセージ（元のTSパケット）は、パケットＰ０（ヌルパケット）、Ｐ１（PID=A）、Ｐ２（PID=B）、Ｐ３（PID=C）、Ｐ４（PID=A）、Ｐ５（ヌルパケット）、Ｐ６（PID=A）の順のパケットストリームである。ここで、PID=Aは映像信号、PID=Bは音声信号、PID=Cはデータ放送信号を示すパケット識別子である。送信装置２００のハッシュ値計算部２１０は、署名検証区間［Ｐ１−Ｐ４］のTSパケットであるパケットＰ１〜Ｐ４を連鎖的に用いて、ハッシュ値を生成する。図５の下段に示すように、パケットＰ１（PID=A）のペイロード部に格納されているメッセージ（１８４バイト）から、所定のハッシュ関数を用いて１６バイトのハッシュ値ｈ１を生成する。次に、ハッシュ値ｈ１とパケットＰ２（PID=B）のメッセージｍ１（１８４バイト）から、ハッシュ値ｈ２を生成する。同様に、ハッシュ値ｈ２とパケットＰ３（PID=C）のメッセージｍ２（１８４バイト）から、ハッシュ値ｈ３を生成し、さらに、ハッシュ値ｈ３とパケットＰ４（PID=A）のメッセージｍ３（１８４バイト）から、ハッシュ値ｈ４を生成する。区間内の全てのパケットを処理し終えたため、最後のハッシュ値ｈ４を最終的なハッシュ値Ｈとし、このハッシュ値Ｈを含む検証パケット（VP）で、パケットＰ５（ヌルパケット）を置換する。また、パケットＰ０も、自己に先行する区間のためのハッシュ値Ｈを含む検証パケット（VP）に置換する。そして、これらのパケットをストリームとして送信する。
【００３７】
図５に示したストリームの受信処理について説明する。図６は、図１の受信装置１００において、受信したトランスポートストリーム（TS）のメッセージからハッシュ値を計算し、メッセージの正当性を検証する手法を説明する図である。図に示すように、受信装置１００のハッシュ値計算部１２０は、署名検証区間［Ｐ１−Ｐ４］のTSパケットであるパケットＰ１〜Ｐ４を連鎖的に用いて、ハッシュ値を生成する。すなわち、パケットＰ１（PID=A）のペイロード部に格納されているメッセージから、所定のハッシュ関数を用いて、１６バイトのハッシュ値ｈ１を計算する。次に、ハッシュ値ｈ１とパケットＰ２（PID=B）のメッセージｍ１（１８４バイト）から、ハッシュ値ｈ２を計算する。同様に、ハッシュ値ｈ２とパケットＰ３（PID=C）のメッセージｍ２（１８４バイト）から、ハッシュ値ｈ３を計算し、さらに、ハッシュ値ｈ３とパケットＰ４（PID=A）のメッセージｍ３から、ハッシュ値ｈ４を計算する。ハッシュ値計算部１２０は、区間内の全てのパケットを処理し終えると、最後のハッシュ値ｈ４を最終的なハッシュ値とする。照合部１４２は、署名検証区間に後続するパケットＰ５（検証パケットVP）に格納されている、署名情報としてのハッシュ値Ｈをメモリ１６０から取得する。そして、照合部１４２は、計算したハッシュ値ｈ４と、検証パケットＰ５のハッシュ値Ｈとを照合する。照合部１４２の照合結果に応じて、制御部１５０は、当該署名検証区間のコンテンツやサービスの出力を制御する。
【００３８】
このように、本実施態様では、区間内の全てのTSパケット（４個）をハッシュ値の生成元として使用しているため、TSパケット数と同じ数だけハッシュ計算が行われることになり、ストリーム全体としての認証処理が可能となる。しかしながら、小型の携帯端末は計算能力が低い場合が多く、ハッシュ計算の負荷が重すぎるという事態の発生が考えられる。
【００３９】
即ち、図５および６に示した手法では、４つのＴＳパケットを例にして説明しているが、検証区間を長くすればするほどその演算処理は大きくなる。そこで、小型の携帯端末向けの低負荷の署名検証手法を説明する。
【００４０】
図７は、本発明の一実施態様による、低負荷の署名検証手法を適用した受信装置の基本的な構成を示すブロック図である。図に示すように、受信装置１００Ａは、アンテナＡＮＴ１、受信部１１０、ハッシュ値計算部（生成部）１２０Ａ、カウンタ部１２５、パケット処理部１３０Ａ、認証部１４０Ａ、制御部１５０Ａ、メモリ１６０、出力部１７０、およびデコーダ１８０を具える。アンテナＡＮＴ１は、パケットを含む放送波を受信し、受信した放送波を受信部１１０に供給する。受信部１１０は、受信した放送波から信号処理（ＯＦＤＭ復調処理など）して得たトランスポートストリーム（TS）信号（TSパケットおよび検証パケット）を、ハッシュ値計算部１２０Ａ、パケット処理部１３０Ａ、およびメモリ１６０に供給する。メモリ１６０はTSパケットを格納する。
【００４１】
パケット処理部１３０Ａは、TS信号から検証パケットを抽出し、さらに検証パケットに格納されている第１の識別子（パケットID：PID）と第２の識別子（一連のTSパケットのうち、署名情報の作成に使用されたパケットの数：n）とを取得し、取得した第１および第２の識別子（PIDとn）をメモリ１６０に格納しておく。また、パケット処理部１３０Ａは、検証パケット間（区間［VP-VP］）に対する署名情報としてのハッシュ値Ｈをさらに取得し、これをメモリ１６０に格納しておく。
【００４２】
ハッシュ値計算部１２０Ａは、PIDとnを取り出した検証パケット以降の一連のTSパケットから、第１の識別子で規定されたPIDと同じPIDを持つTSパケット（検証対象パケット）をnと同じ数だけ選び出し、選び出したTSパケットを連鎖的に用いてハッシュ値を生成し、生成したハッシュ値ｈを認証部１４０Ａに供給する。カウンタ部１２５は、検証パケットを受信すると、カウンタを０でクリアし、第１の識別子と同じPIDを持つTSパケットを選び出す毎に、１ずつインクリメントし、そのカウント値をメモリ１６０に格納する。ハッシュ値計算部１２０Ａおよびカウンタ部１２５は、新たな検証パケットを受信する毎に、同様のハッシュ値計算処理およびカウント処理を繰り返す。また、ハッシュ計算に用いるパケット（第１の識別子で規定されたPIDを持つパケット）は、検証パケットを受信した直後からn個を選択してもよいし、さらに次に受信する検証パケットより前に受信したパケットのうち、前記次に受信する検証パケットに近いほうからn個としてもよい。つまり、予め受信装置と送信装置との間で選択ルールを決定しておき、その選択ルールに応じてn個を選択すればよい。また、この第２の識別子で規定される数nは、受信装置の計算能力に応じて、適宜設定することができるものである。
【００４３】
認証部１４０Ａは、照合部１４２および処理部１４４Ａを具える。照合部１４２は、ハッシュ計算を開始するトリガーとなった検証パケットの次に受信する検証パケットに含まれる署名情報としてのハッシュ値Ｈと、前記生成されたハッシュ値ｈとが一致するか否かを照合する。処理部１４４Ａは、照合の結果、次の検証パケットに含まれる署名情報としてのハッシュ値Ｈと、生成されたハッシュ値ｈとが一致しない場合、当該区間は不正区間であると判定する。制御部１５０Ａは、不正区間におけるコンテンツまたはサービスの、出力部１７０による出力を制御する。例えば、制御部１５０Ａは、デコーダ１８０における当該区間のデコードを中止するように制御する。
【００４４】
このように、ハッシュ値の計算に、第１の識別子と第２の識別子とで指定された特定のパケットのみを用いるため、ストリームを構成する全パケットを用いてハッシュ値を計算する場合よりも、受信側での計算負荷を軽減することができる。なお、パケット（メッセージ）を改竄されにくくする、すなわち、攻撃への耐性を高めるために、第１の識別子であるPIDは、署名検証区間毎にランダムに変更するのが好適である。また、ハッシュ値の計算に用いるパケットの数nは、受信装置の処理能力に応じて指定することができる。
【００４５】
図８に、本発明の一実施態様による送信装置のブロック図を示す。この送信装置２００Ａによる処理を、図１０を用いて説明する。図１０は、ストリーム全体を認証しながら、第１の識別子（PID）と第２の識別子（ハッシュ計算に用いるパケット数n）を用いてハッシュ計算の負荷を軽減させた、送信側でのハッシュ値計算手法を説明する図である。図１０の上段に示すように、オリジナルメッセージ（元のTSパケット）は、パケットＰ０（ヌルパケット）、Ｐ１（PID=A）、Ｐ２（PID=B）、Ｐ３（PID=A）、Ｐ４（PID=C）、Ｐ５（PID=A）、Ｐ６（ヌルパケット）、Ｐ７（PID=A）、Ｐ８（PID=B）、Ｐ９（PID=A）、Ｐ１０（PID=B）、Ｐ１１（ヌルパケット）の順のパケットストリームである。本実施態様では、検証パケット間［VP-VP］の署名検証区間にはパケットＰ１〜Ｐ１０が存在する。ヌルパケットのパケットＰ０を、ＶＰパケットに置換する。このＶＰパケットは、第１の識別子としての”PID＝A”、第２の識別子としてのパケット数”n＝４”、および自己に先行する区間のためのハッシュ値Ｈを含む。送信装置２００Ａのハッシュ値計算部２１０Ａは、第１の識別子および第２の識別子に従って、PIDがAのTSパケットを順次にn個まで選び出して、連鎖的にハッシュ値を生成する。すなわち、ハッシュ値計算部２１０Ａは、第１の識別子で規定されたPIDと同じPIDを持つTSパケットをｎと同じ数だけ用いてハッシュ値を生成し、生成したハッシュ値を含む検証パケットで、パケットＰ１１（ヌルパケット）を置換する。また、このストリームは、パケットＰ９にPIDがAのパケットがあるが、パケットＰ７の時点で、nで指定された数のパケットを選び出しているため、パケットＰ９はハッシュ計算には使わない。また、パケットＰ２などのPIDがA以外のパケットは、ハッシュ計算から除外される。具体的には、まず、図１０の下段に示すように、パケットＰ１（PID=A）のペイロード部に格納されているメッセージ（１８４バイト）から、所定のハッシュ関数を用いて１６バイトのハッシュ値ｈ１を生成する。次に、ハッシュ値ｈ１とパケットＰ３（PID=A）のメッセージｍ１（１８４バイト）から、ハッシュ値ｈ２を生成する。同様に、ハッシュ値ｈ２とパケットＰ５（PID=A）のメッセージｍ２（
１８４バイト）から、ハッシュ値ｈ３を生成し、さらに、ハッシュ値ｈ３とパケットＰ７（PID=A）のメッセージｍ３（１８４バイト）から、ハッシュ値ｈ４を生成する。区間内のｎ個のパケットを処理し終えたため、最後のハッシュ値ｈ４を最終的なハッシュ値Ｈとし、このハッシュ値Ｈを含む検証パケット（VP）で、パケットＰ１１（ヌルパケット）を置換する。そして、これらのパケットをストリームとして送信する。
【００４６】
このような限定した数のパケットを用いてハッシュ値の計算を行う、送信装置２００Ａの処理のフローチャートを、図９に示す。図９に示すように、ステップＫ２１では、上位装置（コンテンツサーバなど）から受け取った、オリジナルメッセージ（元の一連のTSパケット）のヌルパケットに基づいて署名検証区間を設定する。ステップＫ２２にて、この署名検証区間にある「一連のパケット」から、ハッシュ値の算出の対象となるパケットの識別子（例えば映像信号のパケットを示すPID）および当該識別子を持つハッシュ値の生成に使用するべきパケット数n（但し、nは２以上の整数）を設定する。次に、ステップＫ２３にて、ハッシュ値計算部２１０Ａが、区間の最初から、設定した識別子（PID）と同じPIDを持つTSパケットをn個選び出し、それらの選び出した一部のTSパケットを連鎖的に用いて、所定のハッシュ関数を用いて署名情報としてのハッシュ値Ｈを計算する。
【００４７】
このようにして、一連のTSパケットの一部から署名情報としてのハッシュ値を生成する。ステップＫ２４にて、第１の識別子（PID）および第２の識別子（n）と、署名検証区間用のハッシュ値Ｈとが格納される検証パケットを作成する。但し、第１の識別子（PID）および第２の識別子（n）は該検証パケットに後続する署名検証区間に用いる識別子を格納し、ハッシュ値は、当該検証パケットに先行する署名検証区間に対応する値を格納する。
【００４８】
次に、ステップＫ２５にて、ストリーム生成部２２０が、後続する署名検証区間用の第１の識別子（PID）および第２の識別子（n）と、当該検証パケットに先行する署名検証区間用のハッシュ値Ｈとを含む検証パケットで、当該区間の始点のヌルパケットを置換する。このヌルパケットの置換を繰り返すことによって、検証パケット、当該署名検証区間内の一連のTSパケット、検証パケットからなる一連のストリームを生成する。最後に、ステップＫ２６にて、送信部２３０が、生成した一連のストリームに含まれるパケットを順次、送信（放送）する。
【００４９】
次に、図１０に示したストリームの受信処理について説明する。図１１は、図７の受信装置１００Ａにおいて、受信したトランスポートストリーム（TS）のメッセージからハッシュ値を計算し、メッセージの正当性を検証する手法を説明する図である。図に示すように、受信装置１００Ａのハッシュ値計算部１２０Ａは、第１の識別子（PID=A）および第２の識別子（n）に従って、PIDがAのTSパケットを順次にn個まで選び出して、連鎖的にハッシュ値を生成する。即ち、ハッシュ値計算部１２０Ａは、第１の識別子で規定されたPIDと同じPIDを持つTSパケットをｎと同じ数だけ用いてハッシュ値を生成する。また、このストリームには、PIDがAを示すパケットＰ９があるが、パケットＰ７の時点で、nで指定された数のパケットを選び出しているため、パケットＰ９はハッシュ値計算には使わない。
【００５０】
なお、図１０，１１の手法において、パケットの選択方法以外は、図３におけるハッシュ計算手法と同様である。このようにして、Ｐ１−Ｐ１０の１０個のパケット中、PIDがAを示す４個（ｎ＝４）のパケットが署名情報としてハッシュ値の計算に使用されるため、パケットストリーム全体（一連のパケット）を認証しつつも、計算負荷を４０％まで低減することが可能となる。このように、本実施態様では、区間内の特定のTSパケット（PIDがAを示すパケットであり、区間の始点から４個目までのパケット）をハッシュ値の生成データとして使用しているため、限定した数のパケットを用いて、ハッシュ計算が行われることになる。これにより、受信装置における署名検証の処理負荷を低く抑えることが出来る。
【００５１】
次に、図１１の手法において、受信側が検証対象パケット（特定のTSパケット）をパケットロスしたとき不都合となるケースを図１２を用いて説明する。
【００５２】
図１２は、図１０，１１に示した手法において、検証対象パケット（特定のTSパケット）を受信側でパケットロスしたケースを説明する図である。図１２のストリーム構成（パケット構成、順序）は図１０，１１と同じである。図１２（ａ）はパケットロスが発生しないパターンを示したものである。この場合には、求めたハッシュ値ｈ４と、検証パケットVP（パケットＰ１１）内に格納されていた署名検証のためのハッシュ値Ｈとが一致し、当該署名検証区間の照合が成功となり、当該区間の非改竄性が保証される。他方、図１２（ｂ）は、送信時に署名情報のハッシュ値の計算に使用したパケットＰ７（PID=A）をパケットロスして受信できなかっため、パケットIDがAのパケットＰ９を間違って対象のTSパケットと判定し、当該パケットのメッセージｍ３′と、前段のハッシュ値ｈ３とから、ハッシュ値ｈ４′を計算してしまっている。従って、計算したハッシュ値ｈ４′と、検証パケットVP（パケットＰ１１）のハッシュ値Ｈとは一致せず、照合失敗となってしまう。この場合は、攻撃者による不正放送波が原因というよりは、むしろパケットロスが主たる要因であると考えられる。特に、パケット伝送に無線経路を用いる場合には、パケットロスは高い頻度で発生する。このようなパケットロスを攻撃者による不正放送であると一律に判定すると、ユーザに正常放送として表示できる区間が僅かなものとなってしまうという不都合が発生する。
【００５３】
上記のような検証対象パケットのパケットロスを検出するための実施態様を説明する。図１３は、本発明の一実施態様によるパケットロス検出機能を含む低負荷の署名検証手法を適用した受信装置の、基本的な構成を示すブロック図である。図に示すように、受信装置１００Ｂは、アンテナＡＮＴ１、受信部１１０、ハッシュ値計算部（生成部）１２０Ａ、カウンタ部１２５Ｂ、パケット処理部１３０Ａ、認証部１４０Ｂ、制御部１５０Ａ、メモリ１６０、出力部１７０、デコーダ１８０、および計測部１９０を具える。ここで、図７の受信装置１００Ａと同一の符号で、図７の送信装置１００Ａと同じ機能を有する部材については説明を省略する。
【００５４】
計測部１９０は、検証パケットを受信してからTSパケットを受信している間、時間の計測を継続する。カウンタ部１２５Ｂは、ＴＳＰカウンタ部１２６およびＰＩＤカウンタ部１２７を具え、検証パケットを受信すると、ＴＳＰカウンタ部１２６およびＰＩＤカウンタ部１２７のカウンタを０でクリアする。ＴＳＰカウンタ部１２６は、TSパケットを受信すると、どの種のPIDかには依存せず、カウント値ccを１ずつインクリメントする。ＰＩＤカウンタ部１２７は、第１の識別子と同じPIDを持つTSパケットを選び出す毎に、カウント値cを１ずつインクリメントする。カウント値は、どちらも、メモリ１６０に格納される。ハッシュ値計算部１２０Ａおよびカウンタ部１２５Ｂは、新たな検証パケットを受信する毎に、図７で説明したハッシュ値計算処理および前述のカウント処理を繰り返す。また、ハッシュ計算に用いるパケットは、検証パケットを受信した直後からn個を選択してもよいし、さらに次に受信する検証パケットより前に受信したパケットのうち、前記次に受信する検証パケットに近いほうからn個としてもよい。つまり、予め受信装置と送信装置との間で選択ルールを決定しておき、その選択ルールに応じてn個を選択すればよい。また、この第２の識別子で規定される数nは、受信装置の計算能力に応じて、適宜設定することができるものである。
【００５５】
認証部１４０Ｂは、照合部１４２、および処理部１４４Ｂを具える。照合部１４２は、次の検証パケットに含まれる署名情報としてのハッシュ値Ｈと、ハッシュ値計算部１２０Ａにより生成されたハッシュ値ｈとが一致するか否かを照合する。処理部１４４Ｂは、照合部１４２による照合の結果、次の検証パケットに含まれる署名情報としてのハッシュ値Ｈと、生成されたハッシュ値ｈとが一致しない場合、この区間において、ＴＳＰカウンタ部１２６でカウントされたパケットの数cc（即ち、当該区間において正常に受信したパケットの数）と、計測部１９０で計測した当該区間の計測時間から算出される理論的に受信すべきTSパケット数(TSPt)とを比較して、これらが一致しないときは、パケットロスが発生したと見なし、当該区間を署名検証区間から除外する。さらに、処理部１４４Ｂは、照合部１４２による照合の結果、署名情報としてのハッシュ値Ｈと、生成されたハッシュ値ｈとが一致せず、かつ、ＴＳＰカウンタ部１２６でカウントされたパケットの数ccと、前記TSパケットの受信数の理論値TSPtとが一致したときは、当該区間を不正区間であると判定する。
【００５６】
制御部１５０Ａは、出力部１７０やデコーダ１８０へのデータの供給を制御する。また、署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および／または後の区間の、認証部１４０Ｂによる署名検証結果に基づいて、当該コンテンツまたはサービスの出力を制御する。例えば、前または後の区間の署名検証が正常であれば、除外区間は、検証対象パケットのロスにより、ハッシュ値が一致しなかったとして、出力する。また、前または後の区間の署名検証が異常（不一致）であれば、除外区間の出力を停止する。また、必要に応じて、除外区間について、パケットロスがあった旨を示す字幕を付加して出力したり、その旨の文字をスーパーインポーズして出力したり、その旨の音声を出力したりするように表示部１７２やスピーカ１７４を制御する。
【００５７】
このように、ハッシュ値の計算に、第１の識別子と第２の識別子とで指定された特定のパケットのみを用いるため、ストリームを構成する全パケットを用いてハッシュ値を計算する場合よりも、受信側での計算負荷を軽減することができる。また、パケットロスに対応する処理を追加することにより、出力制御を柔軟に行うことが出来る。なお、パケット（メッセージ）を改竄されにくくする、すなわち、攻撃への耐性を高めるために、第１の識別子であるPIDは、署名検証区間毎にランダムに変更するのが好適である。また、ハッシュ値の計算に用いるパケットの数nは、受信装置の処理能力に応じて指定することができる。
【００５８】
次に、図１３の受信装置で実行される署名検証処理を、フローチャートを用いて説明するが、説明に先立ち、まず、１つのパケットを受信するのに要する時間の理論値を説明するために、トランスポートストリームパケット（TSP）の構成について説明する。図１４は、送信側から送信されるデータのデータ構造を示す図である。ここでは図１４のように、１８８バイトのTSPと、１６バイトのヌルバイトとが送信されるものとする。この２０４バイトのデータは、４つのガードインターバルと、４つの有効シンボル期間とから構成されている。それらの受信にかかる時間は、ガードインターバルで０．１２６ｍｓ、有効シンボル期間で１．００８ｍｓであり、従って、TSPとヌルバイトの受信には、（０．１２６＋１．００８）［ｍｓ］×４＝１．１３４×４［ｍｓ］の時間を要することになる。同図（ｂ）に示すヌルパケットも同様の構成であり、同じく受信に１．１３４×４［ｍｓ］の時間を要する。これ以前の実施態様と同様に、このヌルパケットのうち一部は、送信側で、署名のための情報（ハッシュ値Ｈ、第１の識別子（PID）、第２の識別子（n）など）を格納した検証パケットに置き換えられる。また、図１５は、図１４のTSPの受信側（受信装置）による処理を説明する図である。図のように、受信装置では、４つの有効シンボル期間のみが復調されて１つのTSP＋ヌルパケットの形にされ、そのうち１８８バイトのパケットのみがメモリ１６０に格納される。
【００５９】
次に、図１３の受信装置で実行される署名検証処理を、図１６のフローチャートを用いて説明する。まず、ステップＳ１１にて、初期値を設定する（カウント値c，cc、前回のハッシュ値ｈ０をゼロにする）。次にステップＳ１２にて、ハッシュ値計算部１２０Ａは、受信して復調されたＴＳ信号を監視し、予め定めた固有の識別子を持つ検証パケットを選び出す。次にステップＳ１３にて、ハッシュ値計算部１２０Ａは、選び出した検証パケットから第１の識別子（PID）と第２の識別子（ハッシュ作成に使用するパケットの個数n）とを抽出する。ステップＳ１４で、計測部１９０は、時間の計測を開始する。
【００６０】
ステップＳ１５では、ハッシュ値計算部１２０Ａは、ループ２（ステップＳ１６、Ｓ１７）を開始する。ステップＳ１６では、TSパケットを受信する毎に、ＴＳＰカウンタ部１２６がカウント値ccを１ずつ増分する。また、第１の識別子（PID）に該当するPIDを持つTSパケットを選び出し、パケットを選び出す毎に、ＰＩＤカウンタ部１２７がカウント値cを１ずつ増分する。次にステップＳ１７では、TSパケットのメッセージｍ（ペイロード）と、前回のハッシュ値ｈ０（最初の実行時はヌル）とから、ハッシュ計算回数が、第２の識別子で規定されたn回になるまで、所定のハッシュ関数ｆを用いてハッシュ値ｈを生成する。
ｈ＝ｆ（ｍ，ｈ０）
【００６１】
このように、本発明においても、一連のパケットのうち一部をPIDによってフィルタリングすることによって、署名検証に使用されるパケット数を限定し、さらに、個数nによってもハッシュ計算回数を制限しているため、小型の携帯端末においても適正な計算負荷（低負荷）のもとでスムーズに署名検証処理を実行させることが可能である。
【００６２】
次にステップＳ１８にて、ループ２の終了条件を満たすまでループ２を繰り返す。終了条件は、検証パケットと次の検証パケットとの間の区間［VP-VP］において、第１の識別子で規定されたPIDを持つTSパケットを全て（n個）処理する（ハッシュ値を生成する）ことである。ループ２を終了すると、次の検証パケットを受信するまで、ＴＳＰカウンタ部１２７は、受信したTSパケットの数のカウント（カウント値cc）を継続する（ステップＳ１９〜Ｓ２１、ループ３）。次の検証パケットを受信すると、ループ３を終え、ステップＳ２２で、計測部１９０による時間の計測を停止（終了）する。その後、ステップＳ２３にて、パケット処理部１３０Ａは、次の検証パケットに格納されている署名情報としてのハッシュ値Ｈを取得し、これをメモリ１６０に格納する。認証部１４０Ｂ内の照合部１４２は、ステップＳ２４にて、検証パケットから取得した署名情報としてのハッシュ値Ｈと、ハッシュ値計算部１２０Ａで生成したハッシュ値ｈとが一致するか否かを照合する。取得したハッシュ値Ｈと生成したハッシュ値ｈとが一致する場合は、署名情報を正常に認証できたものとして処理を終え、制御部１５０Ａの制御により、当該区間のTSパケットは正常にデコーダ１８０によりデコードされ、出力部１７０により出力される。取得したハッシュ値Ｈと生成したハッシュ値ｈとが一致しない場合は、ステップＳ２５に進み、パケットロス検出処理を行う（詳細は後述する）。なお、このパケットロス検出処理におけるパケットロス判定（Ｌ１１〜Ｌ１３）と、前記ハッシュ値の照合処理は、並行して行われてもよい。つまり、ハッシュ値が一致しているか否かにかかわらず、パケットロス判定処理を行っても良い。
【００６３】
処理部１４４Ｂは、検出処理においてパケットロスが検出されなかった場合は、パケットロスがないにも拘らず、ハッシュ値の照合に失敗したことになるため、当該区間を不正区間であると見なし、制御部１５０Ａは、当該区間のデコードを停止するようにデコーダ１８０を制御する。或いは、デコーダ１８０ではなく、直接、出力部１７０が出力しないように制御してもよい。検出処理においてパケットロスが検出された場合は、処理部１４４Ｂは、当該区間を署名検証区間から除外して、処理を終える。
【００６４】
ここで、図１６のステップＳ２５の、パケットロス検出処理を説明する。図１７は、パケットロス検出処理のフローチャートである。まず、ステップＬ１１で、処理部１４４Ｂは、区間［VP-VP］間の計測時間t、ＴＳＰカウンタ部１２６がカウントした、この区間で受信した全てのＴＳＰのカウント値ccを、格納されているメモリ１６０から取得する。次にステップＬ１２で、計測時間ｔ内に受信すべきＴＳＰの数の理論値TSPtを、図１４のようにTSパケットが構成されていることから、以下の式で求める。
TSPt＝t／（1.134×4）
その後、ステップＬ１３で、算出した理論値TSPtが、実際にＴＳＰカウンタ部１２６でカウントしたTSPの受信数ccに等しいか否かを判定する。ステップＬ１３で等しいと判定された場合は、パケットロスが発生していないことになる。従って、パケットロスが発生していないにも拘らず、図１６のステップＳ２４ではハッシュ値が不一致であったので、この認証に失敗した主な原因が、不正波によるものと見なすことができる。このような場合は、ステップＬ１４へ進み、当該区間のデコードを中止する。ステップＬ１３で、理論値TSPtが、実際にＴＳＰカウンタ部１２６がカウントしたTSPの受信数ccと等しくないと判定された場合は、パケットロスが発生したことになる。このような場合は、認証失敗の主原因がパケットロスの可能性があるものと考えられる、という事実を把握することが可能となる。このような場合は、当該区間を不正とは判定せずに、単に認証区間（署名検証区間）から除外し、先行する区間や後続の区間の認証結果に基づき、出力制御することが好適である。
【００６５】
図１８，１９は、この検出処理により、ハッシュ値の認証失敗の原因が、パケットロスによるものか、あるいは不正波によるものか、の判別が可能となることを説明する図である。なお、図１８は、パケットロスが発生した場合、図１９は、不正波による妨害が生じた場合の図である。図１８のように、計測部１９０は、検証パケットＰ０を受信すると、時間の計測を開始し、ＴＳＰカウンタ部１２６は、TSパケットを受信する度に、カウント値ccを１ずつ増分させ、TSパケットをカウントしていく。図１８の場合、送信時に署名情報のハッシュ値の計算に使用したパケットＰ５（PID=A）をパケットロスして受信できなかっため、PIDがAのパケットＰ９を間違って対象のTSパケットと判定し、当該パケットのメッセージｍ３′と、前段のハッシュ値ｈ３とから、ハッシュ値ｈ４′を計算してしまっている。従って、計算したハッシュ値ｈ４′と、検証パケットVPのハッシュ値Ｈとは一致せず、照合に失敗している。また、一方で、署名検証区間［Ｐ１−Ｐ１０］の計測部１９０による計測時間Ｔ１１に基づき、この計測時間Ｔ１１内で受信すべきTSパケットの理論値を算出し、この算出した理論値（＝１０）とカウント値cc（＝９）とが一致せず、パケットロスが発生していることが判明している。このような場合は、ハッシュ値の不一致の原因がパケットロスを主原因とするものと見なすことができ、例えば、当該区間を署名検証区間から除外することが可能となる。図１９の場合、図１８と同様にハッシュ値は一致せず照合に失敗しているが、署名検証区間［Ｐ１−Ｐ１０］の計測部１９０による計測時間Ｔ２１に基づいて求めた受信すべきTSパケット数の理論値（＝１０）は、ＴＳＰカウント部１３２のカウント値cc（＝１０）と一致している。従ってこの場合は、パケットロスが発生していないにも拘らずハッシュ値が一致しないことになり、不正波による改竄を受けたものと見なすことが可能となる。
【００６６】
このように、本実施態様では、署名情報の認証に失敗した場合でも、すぐに不正波であると見なさず、その原因がパケットロスにあるか否かを判定して、その判定結果に基づき、改竄性が低いと判定した場合にはユーザへ出来る限りコンテンツを表示するため、パケットロスが発生しやすい環境で署名情報の認証（すなわち、受信電波の安全性の確認）ができずに、いつまでもコンテンツが表示されない従来技術と比べて、ユーザビリティを向上させることができる。また、このパケットロスが発生したか否かの判定は、受信装置のみで行うことができるため、パケットを生成する送信側に特別な処理を課することがない、という利点もある。
【００６７】
次に、別の実施態様を説明する。この別の実施態様では、受信したTSパケット数をカウントするとともに、ハッシュ値の計算対象となるパケット（すなわち、検証パケットで指定されたPIDを有するパケット）を受信した数を、カウントしていく。そして、所定の区間毎に、パケットロスが発生したか否かを、受信したTSパケット数に基づいて判定する。判定結果は、ハッシュ値計算部１２０Ａに出力するとともに、所定の区間毎にメモリ１６０に格納しておく。その後、検証パケットで指定されたPIDを有するパケットを指定された数nだけ受信すると、タイマ処理、受信したTSパケットのカウント、およびパケットロス有無の判定を停止し、次の検証パケットを受信するのを待つ。次の検証パケットを受信した時点で、計算したハッシュ値と、当該次の検証パケットに含まれるハッシュ値とで認証処理を行う。認証に失敗し、メモリ１６０に格納されている判定結果に、パケットロス有りと判定したものがある場合は、ハッシュ値の認証に失敗した区間を、署名検証区間から除外し、当該区間の前後の区間の認証結果に応じてコンテンツを出力するようにする。
【００６８】
このように、これ以降に説明する実施態様では、ある所定の時間でタイマを設定し、受信したTSパケット数をカウントするとともに、ハッシュ値の計算対象となる、検証パケットで指定されたPIDを有するパケットを受信した数を、カウントしていく。そして、タイマが満了した時点で、または、検証パケットで指定されたPIDを有するパケットを指定された数nだけ受信した時点で、対象区間の時間と受信したTSパケット数とに基づいて、パケットロスの有無を判定し、その後は、検証パケットを受信するまで、タイマ処理、パケットロスの判定、および受信したTSパケットのカウントを停止する。なお、次回から、所定の時間を、ハッシュ値の計算対象となるパケット（すなわち、検証パケットで指定されたPIDを有するパケット）を、指定された数全て受信できる時間となるように更新していく。こうすることにより、１回のタイマ起動のみで、ハッシュ値計算に必要なパケットを全て受信しつつ、パケットロスを検出することができる。このようにすれば、ハッシュ値対象パケットを全て受信した後から次の検証パケットを受信するまでの間での不必要な処理（カウントおよび時間計測）を行わずに済むため、受信装置の処理負荷を低減することができる。以下、フローチャートと図面を用いて説明する。
【００６９】
図２０，２１は、本実施態様のフローチャートである。まず、受信装置１００Ｂは、図１６のステップＳ１１〜Ｓ１３と同様に、初期値を設定（カウント値c，cc、前回のハッシュ値ｈ０をゼロにする）し、ハッシュ値計算部１２０Ａによって、受信して復調されたTS信号を監視して、予め定めた固有の識別子を持つ検証パケットを選び出す。次に、ハッシュ値計算部１２０Ａは、選び出した検証パケットから第１の識別子（PID）と第２の識別子（ハッシュ作成に使用したパケットの個数n）とを抽出する（ステップＭ１１〜Ｍ１３）。ステップＭ１４にて、初めて検証パケットを受信したか否か、すなわち１回目の受信であるか否かを判定する。１回目の受信であると判定された場合は、ステップＭ１５に進み、タイマ値TI、第１の識別子（PID）に該当するパケットを受信できる予測数TSPpを設定し、タイマＴＩＭを起動する。ここで設定するタイマ値TIの初期値は、ハッシュ値対象パケットを最速で受信できる時間とし、
TI＝n×（1.134×4）
とする。タイマ値TIを上記のように設定するのは、本実施態様では、タイマの起動回数を少なくしつつ、パケットロスの発生を、ハッシュ値対象パケットを全て受信した時点で早期に検出することを目的としているためである。すなわち、１回のタイマ終了時に、ハッシュ値対象パケットを全て受信していることが好ましく、初期値のTIは、n個のパケットを受信した時点でハッシュ値対象パケットを全て受信できるとの予測の元に、上式のように設定する。また、受信パケットの予測数TSPpの初期値は、タイマ値TIの起動時間中で受信できるパケットの数であり、TSPp=n=４となる。
【００７０】
次に、ステップＭ１６に進み、ループ４（ステップＭ１７〜Ｍ１９）を開始する。ステップＭ１７では、TSパケットを受信する毎に、ＴＳＰカウンタ部１２６がカウント値ccを１ずつ増分する。また、第１の識別子（PID）に該当するPIDを持つTSパケットを選び出し、パケットを選び出す毎に、ＰＩＤカウンタ部１２７がカウント値cを１ずつ増分する。次にステップＭ１８では、TSパケットのメッセージｍ（ペイロード）と、前回のハッシュ値ｈ０（最初の実行時はヌル）とから、ハッシュ計算回数が、第２の識別子で規定された（第２の識別子が示す数）n回になるまで、以下の所定のハッシュ関数ｆを用いてハッシュ値ｈを生成する。
ｈ＝ｆ（ｍ，ｈ０）
このハッシュ値の生成処理は、図３および１６のフローに基づき説明した方法と同様である。
【００７１】
ループ４においてタイマが満了すると、ステップＭ１９のタイマ満了後処理を行う。この処理を、図２１のフローチャートに基づき説明する。まず、ステップＮ１１で、処理部（判定部）１４４は、タイマが満了した時点での、ＴＳＰカウンタ部１２６のカウント値ccが、TSパケットの受信予測数TSPpに等しいか否かを判定する。等しくない場合は、パケットロスが発生したことになるため、ステップＮ１２へ進み、パケットロスが発生したことをハッシュ値計算部１２０Ａおよびメモリ１６０に出力する。カウント値ccが受信予測数TSPpに等しい（cc=TSPp）の場合は、ステップＮ１３へ進み、ハッシュ値対象パケットの受信に不足した時間分だけ増やすようにタイマ値TIを更新する。よって、タイマ値TIは、
TI＝前回TI＋（TSPp−c）×1.134
となる。その後、ステップＮ１４でタイマＴＩＭを起動する。
【００７２】
その後、図２０のステップＭ１７に戻り、ステップＭ２０の所定の条件（検証パケット間［VP-VP］において、指定されたPIDを持つTSパケットを全て（n個）処理すること（ハッシュ値の計算））を満たすまでループ４を繰り返す。
【００７３】
ループ４が終了すると、制御部１５０Ａは、カウンタ部１２５Ｂによる受信パケット数のカウントを停止する。次に、処理部１４４Ｂは、ステップＭ２１にて、タイマＴＩＭが起動中であるか否かを判定する。タイマが起動中であった場合は、ステップＭ２２へ進み、制御部１５０Ａは、タイマＴＩＭを停止して、その時点での残り時間とタイマの設定時間とから、タイマを起動してから受信したTSパケットの予測値を求め、検証パケットより後に受信すべき全てのTSパケットの予測値TSPpを求める。これは、以下の式で求めることができる。なお、式中の「前回TSPp」とは、これ以前の処理（ステップＭ１７〜Ｍ２０、ループ４）で設定（更新）された予測値TSPpのうち最新のものを言う。
TSPp＝前回TSPp＋（タイマ設定時間TI−タイマ残り時間）／（1.134×4）
【００７４】
次に、ステップＭ２３へ進み、処理部１４４Ｂは、予測値TSPpが、この区間でのＴＳＰカウンタ部１２６のカウント値ccと等しいか否かを判定する。等しくないと判定された場合は、パケットロスが発生したことになるため、ステップＭ２４へ進み、パケットロスが発生したことをハッシュ値計算部１２０Ａおよびメモリ１６０に出力する。等しいと判定された場合は、ステップＭ２５にて、パケット処理部１３０Ａは、次の検証パケットの受信を待って、該検証パケットに格納されている署名情報としてのハッシュ値Ｈを取得し、これをメモリ１６０に格納する。認証部１４０Ｂ内の照合部１４２は、ステップＭ２６にて、検証パケットから取得した署名情報としてのハッシュ値Ｈと、ハッシュ値計算部１２０Ａで生成したハッシュ値ｈとが一致するか否かを照合する。取得したハッシュ値Ｈと生成したハッシュ値ｈとが一致する場合は、署名情報を正常に認証できたものとして処理を終え、当該区間のTSパケットは、制御部１５０Ａの制御により、正常にデコーダ１８０によりデコードされ、出力部１７０により出力される。一致しない場合は、ステップＭ２７にて、これまでにパケットロスが発生したか否かを判定する。パケットロスが発生していない場合は、ステップＭ２８へ進み、当該区間を改竄された不正区間と見なして、デコードを中止する。パケットロスが発生している場合は、ステップＭ２９へ進み、当該区間を署名検証区間から除外する。
【００７５】
なお、ステップＭ１４にて、検証パケットの受信が２回目以降であった場合は、ステップＭ３０にて、処理部１４４Ｂは、タイマＴＩＭが起動中であるか否かを判定する。タイマＴＩＭが起動中であれば、検証パケット間で、指定されたPIDに該当するTSパケットを受信できていないことになるため、パケットロスが発生しているとして、ステップＭ３１にてタイマを停止し、その後ステップＭ３２にて、パケットロスが発生したことをハッシュ値計算部１２０Ａおよびメモリ１６０へ出力して、当該区間を署名検証区間から除外する。ステップＭ３０にて、タイマが停止している場合は、ステップＭ３３へ進み、最新の予測値TSPpを新しいTSPp、最新のタイマ値TIをタイマＴＩＭに設定し、タイマを起動する。その後は、ループ４へ進み、上述のパケット受信処理を行う。
【００７６】
ここで、図を用いて、本実施態様の受信処理を説明する。図２２および２３は、本実施態様を説明するための一連のTSパケットの概略図である。ここで、図２２は、パケットロスが生じない場合、図２３は、パケットロスが生じた場合を説明する図である。まず、図２２および図２３にて、それぞれ、時間Ｔ３１，Ｔ４１でタイマＴＩＭが満了する。この時点での受信すると想定される全TSパケットの予測値と、ＴＳＰカウント部１２６によるカウント値ccとを比較すると、それぞれ一致しており、タイマが満了するまでの区間でパケットロスが発生していないことが判明する。その後、受信装置１００Ｂは、TSパケットの受信およびハッシュ値の計算（図２２および２３には示していない）を続け、ＰＩＤカウンタ部１２７により、検証パケットＰ０で指定されたPID（PID=A）に該当するハッシュ値対象パケットを、指定数（n＝４）だけ受信した時点（カウンタ満了時）で、タイマＴＩＭおよびカウンタ部１２５Ｂによるカウントを停止する。これは、図２２では、パケットＰ７を受信してカウント値cが４となった時刻Ｔ３２、図２３では、ハッシュ値対象パケットＰ７をロスしているため、次のハッシュ値対象パケットＰ９(PID=A)を受信して、カウント値cが４となった時刻Ｔ４２に相当する。その後、上述したようにタイマの残り時間から、それぞれ［Ｔ３１−Ｔ３２］間、［Ｔ４１−Ｔ４２］間で受信すると想定されるパケットの予測値(TSPp)を求め、時刻Ｔ３１およびＴ４１の時点で受信していたTSパケット数と合わせて、この時点で受信すると想定されるTSパケットの予測値(TSPp)を求めると、図２２の場合は、TSPp=cc=７で一致するが、図２３の場合は、TSPp=９，cc=８で不一致となり、パケットロスが発生していることが判明する。なお、本実施態様では、次の検証パケットを受信してからのタイマ値ＴＩは、１回のタイマ起動でハッシュ値対象パケットを全て（n＝４）受信できるように設定するため、図２２の場合はＴ３２、図２３の場合はＴ４２を、新たなタイマ値ＴＩに設定することになる。
【００７７】
なお、タイマＴＩＭのタイマ値は、上述のように更新していくこともできるが、ハッシュ値対象パケットを、指定された数全て受信するのに要した時間を、検証パケット間毎にメモリに格納して、それらを平均した時間としてもよい。
【００７８】
上述のように、本実施態様では、指定されたPIDを有するパケットを、指定された数だけ受信した早い時点で、TSパケットのカウントやタイマの計測を停止するので、その後、次の検証パケットを受信するまで、受信したTSパケットのカウントや時間の計測を行う必要はない。従って、受信装置の処理負荷を低減することができる。もし、不正波によるパケットストリームを受信し始めた場合には、不正波には検証パケットが挿入されていないため、次の検証パケットを受信するまで時間の計測および受信パケット数のカウントを継続すると、受信装置に負荷がかかる。このような場合に、指定した数のTSパケットを受信した後に上記のように処理を停止させる本実施態様は、非常に有効である。
【００７９】
本発明の利点を再度述べる。従来技術では、個々のパケットのみの認証しかできず、さらに、パケットロスによりハッシュ値の認証が失敗したにもかかわらず、不正なストリームを受信したと判定せざるを得なかった。本発明では、ヌルパケットにハッシュ値の計算に用いるパケットの情報を格納して、検証パケットとしてトランスポートストリームに挿入して送信することにより、個々のパケットのみならず、ストリーム全体の認証処理を、連鎖的に行うことが可能となる。また、第１の識別子と第２の識別子とで指定されるパケットの種類および対象パケットの個数を設定して、一連のパケットから一部のパケットに限定することによって、一連のパケット全体（即ち、ストリーム全体）を認証しつつも、ハッシュ計算の対象パケット数を低減して、特に受信装置側における署名検証のための処理負荷を軽減することが可能である。さらに、受信したパケット数およびパケットを受信し続けた時間を計測して、計測時間に基づく受信すべきパケット数と、実際の受信パケット数とを比較することで、パケットロスを検出することができる。これにより、署名情報の認証に失敗しても、その主要因が、改竄か、あるいはパケットロスによるものかを判別して、主要因がパケットロスであれば、例えば前後の認証結果に基づいてユーザに番組コンテンツを出力することができるため、認証に失敗したコンテンツを出力しない従来技法と比べ、ユーザビリティを向上させることができる。また、本発明では、一連のストリームパケットの一部に限定して署名情報としてのハッシュ値を生成し、当該一部のパケットとは離れた位置の検証パケットに格納するため、攻撃者は、署名情報を含む検証パケットと、署名情報生成に使用された一部のパケット（メッセージ）との関連性を見つけ出すことが困難であり、改竄への耐性が高い堅牢な認証システムを提供することが可能である。
【００８０】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各部、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。
【００８１】
すなわち、実施態様では、第１の識別子として映像信号のパケットを示すPIDを利用したが、音声信号のパケットを示すPIDやデータ放送信号のパケットを示すPIDなどを用いたり、或いは、区間が更新される毎に、映像信号を示すパケット、音声信号を示すパケット、データ放送信号を示すパケットのうちのからランダムにPIDを選択したりしてもよい。また、本来の目的としていないサイトへの誘導の防止のみを目的とする場合は、BMLを含むデータ放送のPIDのみを用いてもよい。さらに、第１の識別子は、２以上のPID（例えば、映像信号を示すパケット、データ放送信号を示すパケットの組合せ）、および、複数個の数のnを含むことが可能である。また、第１の検証パケットは、対象とする署名検証区間よりも前に配置したが、当該区間よりも後に配置してもよい。また、実施態様では、前方から順に各メッセージおよび生成したハッシュ値を用いて連鎖的にハッシュ値を生成したが、それらは単なる例示に過ぎず、例えば、後方から順に各メッセージを連鎖的に用いてハッシュ値を生成するなど、本発明はハッシュ生成に様々な形式を使用することが可能である。実施例ではパケットロスをパケットの数で比較したが、これに限らず、受信したパケット数を時間に換算して、経過時間と照合してパケットロスを判定してもよい。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。
【図２】本発明の一実施態様による送信装置の基本的な構成を示すブロック図である。
【図３】図１の受信装置で実行される署名検証方法の一例を示すフローチャートである。
【図４】図２の送信装置で実行されるストリーム生成方法の一例を示すフローチャートである。
【図５】ヌル（NULL）パケットを含むトランスポートストリーム（TS）からハッシュ値を計算して送信する手法を説明する図である
【図６】トランスポートストリーム（ＴＳ）のメッセージからハッシュ値を計算し、メッセージの正当性を検証する手法を説明する図である。
【図７】本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。
【図８】本発明の一実施態様による送信装置の基本的な構成を示すブロック図である。
【図９】図８の送信装置で実行されるストリーム生成方法の一例を示すフローチャートである。
【図１０】ハッシュ計算の負荷を軽減させた送信側でのハッシュ値計算手法および送信処理を説明する図である。
【図１１】ハッシュ計算の負荷を軽減させた受信側でのハッシュ値計算手法および受信処理を説明する図である。
【図１２】図１１に示した手法においてパケットロスに対応できないケースを説明する図である。
【図１３】本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。
【図１４】TSパケットの構成を説明する図である。
【図１５】図１４に示すTSパケットの受信装置での処理を説明する図である。
【図１６】本発明の一実施態様による署名検証方法の一例を示すフローチャートである。
【図１７】図１６のフローチャートにおけるパケットロス検出処理のフローチャートである。
【図１８】パケットを受信した時間を計測することによってパケットロスを検出可能な検証方法を説明する図である。
【図１９】パケットを受信した時間を計測することによって改竄を検出可能な検証方法を説明する図である。
【図２０】本発明の一実施態様による署名検証方法の一例を示すフローチャートである。
【図２１】図２０のフローチャートにおけるタイマ満了後処理のフローチャートである。
【図２２】タイマをかけることによってパケットロスを検出可能な検証方法を説明する図である。
【図２３】タイマをかけることによってパケットロスを検出可能な検証方法を説明する図である。
【図２４】従来システムにおける不正放送受信を模式的に示す図である。
【図２５】従来技術によってトランスポートストリームパケットにハッシュ値を付加する手法を示す図である。
【符号の説明】
【００８３】
１００，１００Ａ，１００Ｂ  受信装置
１１０  受信部
１２０，１２０Ａ  ハッシュ値計算部
１２５，１２５Ｂ  カウンタ部
１２６  ＴＳＰカウンタ部
１２７  ＰＩＤカウンタ部
１３０，１３０Ａ  パケット処理部
１４０，１４０Ａ  認証部
１４２  照合部
１４４，１４４Ａ，１４４Ｂ  処理部
１５０，１５０Ａ  制御部
１６０  メモリ
１７０  出力部
１７２  表示部
１７４  スピーカ
１８０  デコーダ
１９０  計測部
ＴＩＭ  タイマ
２００，２００Ａ  送信装置
２１０，２１０Ａ  ハッシュ値計算部
２２０  ストリーム生成部
２３０  送信部
２４０  カウンタ部
２５０  メモリ
ＡＮＴ１−２  アンテナ
ｈ０−４，ｈ４′，ｈ４″  ハッシュ値
ｍ１−３，ｍ３′  メッセージ
Ｐ１−Ｐ１１  パケット
ＶＰ  検証パケット
Ｔ１１，Ｔ２１，Ｔ３１，Ｔ３２，Ｔ４１，Ｔ４２  時刻
【図１】
0005101965.tif 000002
【図２】
0005101965.tif 000003
【図３】
0005101965.tif 000004
【図４】
0005101965.tif 000005
【図５】
0005101965.tif 000006
【図６】
0005101965.tif 000007
【図７】
0005101965.tif 000008
【図８】
0005101965.tif 000009
【図９】
0005101965.tif 000010
【図１０】
0005101965.tif 000011
【図１１】
0005101965.tif 000012
【図１２】
0005101965.tif 000013
【図１３】
0005101965.tif 000014
【図１４】
0005101965.tif 000015
【図１５】
0005101965.tif 000016
【図１６】
0005101965.tif 000017
【図１７】
0005101965.tif 000018
【図１８】
0005101965.tif 000019
【図１９】
0005101965.tif 000020
【図２０】
0005101965.tif 000021
【図２１】
0005101965.tif 000022
【図２２】
0005101965.tif 000023
【図２３】
0005101965.tif 000024
【図２４】
0005101965.tif 000025
【図２５】
0005101965.tif 000026