JP5053013B2 - 受信装置、およびストリーム送信装置 - Google Patents

受信装置、およびストリーム送信装置 Download PDF

Info

Publication number
JP5053013B2
JP5053013B2 JP2007247733A JP2007247733A JP5053013B2 JP 5053013 B2 JP5053013 B2 JP 5053013B2 JP 2007247733 A JP2007247733 A JP 2007247733A JP 2007247733 A JP2007247733 A JP 2007247733A JP 5053013 B2 JP5053013 B2 JP 5053013B2
Authority
JP
Japan
Prior art keywords
packet
verification
hash value
unit
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007247733A
Other languages
English (en)
Other versions
JP2009081549A (ja
Inventor
崇之 三宅
晋作 清本
淳 栗原
俊昭 田中
耕司 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
KDDI Corp
Original Assignee
Kyocera Corp
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp, KDDI Corp filed Critical Kyocera Corp
Priority to JP2007247733A priority Critical patent/JP5053013B2/ja
Publication of JP2009081549A publication Critical patent/JP2009081549A/ja
Application granted granted Critical
Publication of JP5053013B2 publication Critical patent/JP5053013B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、署名検証方法、ストリーム生成方法、受信装置、およびストリーム送信装置に関し、特に、ストリーム全体を適正に認証/検証する署名検証技法に関する。
従来、テレビやラジオなどコンテンツは、アナログ形式で放送/送信されてきた。しかしながら、最近のデジタル技術の発達に伴って、コンテンツやサービスのデータがデジタル化されるようになり、デジタルデータの形式でコンテンツやサービスが放送されるようになってきている。さらに、地上波デジタル放送が実用化され、携帯端末向けのデジタル放送であるワンセグメント放送も始まっている。
このようなデジタル放送では、通常の映像や音声サービス(コンテンツ)のみならず、字幕などのサービスおよびデータ放送用のデータ(コンテンツ付属情報)も放送されている。このようなコンテンツおよびコンテンツ付属情報は、パケット化され、一連のパケットとしてストリーミングで放送される。特に、地上波デジタル放送(ワンセグメント放送を含む)は、電波を用いて送信されているため、これと同じチャンネルにおいて、攻撃者が妨害電波として不正な放送波を送信した場合、一般の視聴者が使用しているデジタル放送受信端末は、正規の放送局による放送波と、攻撃者による不正な放送波とを判別することができない。図16に、例えば、従来システムにおいて不正放送が行われた場合の状況を模式的に示す。図16の(a)に示すように、攻撃者の不正な放送波の方が正規の放送波よりも強い環境下にある受信端末は、不正な放送波を正規の放送波であると見なして受信してしまう。従って、図16の(b)に示すように、視聴者は、気付かないうちに不正な放送波に基づく映像や音声を視聴してしまい、そのような映像や音声の情報を正しいものであると認識する恐れがある。また、ワンセグメント放送の場合は、地下街や屋内などの都市部における難視聴エリア向けの中継装置やギャップフィラーなどの送信装置の普及が予想される。さらには、ワンセグメント放送の場合、店舗や商業施設での狭い受信エリアを対象として独自放送を行う小型の送信装置も開発されている。このような様々なタイプの送信装置からの放送波を受信する受信装置には、受信している放送波が、正規の放送局からの放送波であるか否か、或いは、信頼し得る事業者からの放送波であるか否かを区別する機能があれば、ユーザにとって便利であるが、このような仕組みや技術は開発されていない。
このように、不正な放送により、正規の放送局への成りすまし、データ改竄、悪意があるサイトへの誘導(フィッシング詐欺)などが問題になる可能性がある。特に、字幕放送、データ放送などのデータは、経済活動において重要な情報(テレビ/ラジオショッピングなどで販売される商品の名称、仕様や価格、或いは、株価や経済統計などの経済指標、電話番号やウェブサイトのアドレスなど)が配信される。これによって視聴者と企業との間で様々な経済活動が営まれることが多く、放送波の内容の正当性や信頼性(即ち、コンテンツやコンテンツ付属情報の非改竄性)を保証することは非常に重要である。例えば、データ放送は、BML(Broadcast Markup Language)で放送されるため、BMLで記述されたスクリプトが、放送とは無関係なリンク先URLへのジャンプさせる命令や、不必要なアプリケーションを起動させるる命令などの不正なコードに置き換えられる可能性がある。このような本来の動作とは異なる動作を防ぐことも非常に重要である。
そこで、放送波の正当性や安全性を保証するため、各パケットから認証情報を導出して、導出した各認証情報をパケット毎に付加し、受信側で、パケット単位でその内容を認証して、改竄されていないことを確かめるメッセージ認証装置が提案されている(特許文献1を参照されたい)。
図17に、従来技術によってストリーム転送方式のパケットにハッシュ値を付加する技法を示す。図17の(a)に示すように、転送方式のパケットは、認証するための情報が含まれておらず、その非改竄性を証明することができなかった。例えば、図17の(b)に示すように、各パケットのメッセージからハッシュ関数を用いてハッシュ値を計算し、この計算したハッシュ値を、ハッシュ計算に用いたパケットに付加する従来技術がある。
特開2001−251296号公報
上述した従来技術は、個々のパケットの認証は可能であるが、パケットストリーム全体(即ち、一連のパケット)としての認証はできない。
また、パケット毎に認証処理を行うためには、受信装置は高い計算処理能力を持つ必要があり、計算処理能力が比較的低い、携帯電話端末装置、STB(Set Top Box)、PDA(Personal Digital Assistants)などの小型の受信機器には、計算負荷が重すぎて上述した従来のメッセージ認証技法を適用することは困難である。
さらに、ストリーム全体を認証するときに地上波デジタル放送などの無線伝送を使用する場合、電波伝播環境が悪いことが多く、そのようなときにはパケットロスなどの通信エラーが高い頻度で発生するので、このような頻発するパケットロスの影響によって認証処理ができなくなる恐れが高い。特に、ブロードキャスト/マルチキャストの無線伝送路では、パケットロスの確率が大幅に増大しているにもかかわらず、パケット再送をしないため、認証処理ができなくなってしまう。従って、無線のようなパケットロスが多い環境においてメッセージ認証を実用化するためには、パケットロスを代表とする受信エラーへの耐性を高める技法も同時に必要となる。
そこで、本発明の目的は、ストリーム全体を適正に認証/検証するストリーム認証/検証技法(装置、方法)を提供することである。
上述した諸課題を解決すべく、第1の発明による受信装置は、
署名付きのトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケット(VP: Verification Packet)と、を受信する受信部と、
前記受信部により受信したトランスポートストリームのうち、前記検証パケットに含まれる第1の識別子に基づき、特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記検証パケットに含まれる第2の識別子が示す数だけ用いてハッシュ値を生成する生成部と、
前記検証パケットを受信した後、前記第1の識別子に基づき選び出されるトランスポートストリームパケットの数をカウントするカウンタ部と、
前記受信部が次に受信した検証パケットに含まれる署名情報としてのハッシュ値と、前記生成されたハッシュ値とを照合する照合部と、
前記照合部による照合の結果、前記検証パケットに含まれる前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記検証パケットと前記次に受信した検証パケットとの間の区間において、前記カウンタ部でカウントされたパケットの数(即ち、当該区間において正常に受信した対象となるパケットの数)と、前記検証パケットに含まれている、前記検証パケットと前記次に受信した検証パケットとの間の区間に存在するべき前記第1の識別子に該当する対象パケット数とが一致しないときは、当該区間を署名検証区間から除外する処理部と、
を具えることを特徴とする。
また、第2の発明による受信装置は、
前記処理部が、前記照合部による照合の結果、前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部でカウントされたパケットの数と、前記該当する対象パケット数とが一致したときは、当該区間を不正区間であると判定する、
ことを特徴とする。
また、第3の発明による受信装置は、
前記署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および/または後の区間の署名検証結果に基づいて、前記コンテンツまたはサービスの出力を制御する制御部、
をさらに具える、ことを特徴とする。
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
本発明を受信側の受信装置および受信装置における方法として説明してきたが、本発明は、送信側の送信装置や送信装置における方法として構成させてもよい。例えば、第の発明によるストリーム送信装置は、
特定のパケットを識別するための第1の識別子と、該特定のパケットの数を規定する第2の識別子とを設定する設定部と、
前記設定部により設定した第1の識別子に基づき、トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを第2の識別子が示す数だけ用いて、署名情報としてのハッシュ値を生成する生成部と、
第1の識別子と、第2の識別子と、ハッシュ値とを含む検証パケットをトランスポートストリームに配置してストリームを生成するストリーム生成部と、
前記生成したストリームに含まれるパケットを順次、送信する送信部と、を具え、
前記ストリーム生成部は、前記検証パケットに、前記検証パケット間で前記第1の識別子に該当するパケットの数を含める、
ことを特徴とする。
本発明によれば、ストリーム全体を適正に認証することが可能になる。
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。本発明は、パケット(放送波)の伝送路が有線、無線であろうと適用することができるが、パケットロスが起こり易く、本発明のメリットを最も享受できるであろう、無線伝送路を用いるワンセグメント放送システムに適用した態様で説明する。ワンセグメント放送の受信機能を持つ受信装置の典型例は、携帯電話端末やノートパソコンなどである。
図1は、本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。図に示すように、受信装置100は、アンテナANT1、受信部110と、ハッシュ値計算部(生成部)120、パケット処理部130、認証部140、制御部150、メモリ160、出力部170、およびデコーダ180を具える。アンテナANT1は、パケットを含む放送波を受信し、受信した放送波を受信部110に供給する。受信部110は、受信した放送波から信号処理(OFDM復調処理など)して得たトランスポートストリーム(TS)信号(TSパケットおよび検証パケット)を、ハッシュ値計算部120、パケット処理部130、およびメモリ160に供給する。メモリ160はTSパケットを格納する。
また、受信部110は、受信したトランスポートストリームから、コンテンツを特定する情報(例えば、プログラム・アソシエーション・テーブルPAT、プログラム・マップ・テーブルPMTを格納している番組特定情報PSI)を分離して解析し、その情報に基づいて、トランスポートストリームから、映像信号、音声信号、データ信号を分離する。デコーダ180は、メモリ160に格納されている音声パケット、映像パケット、データ放送パケットなどをデコードして、出力部170に設けられた表示部172やスピーカ174に供給する。
パケット処理部130は、TS信号から検証パケット(VPパケット)を抽出し、当該検証パケットに含まれている、検証パケット間の区間[VP-VP]に存在する一連のTSパケットに対する署名情報としてのハッシュ値Hを取得し、取得したハッシュ値Hをメモリ160に格納しておく。ハッシュ値計算部120は、検証パケット以降の一連のTSパケットの先頭から、TSパケットを1つずつ読み出し、この1つのTSパケットと計算したハッシュ値hとを連鎖的に用いて、所定の関数を用いて署名情報としてのハッシュ値を生成/計算し(生成手法の詳細は後述する)、生成したハッシュ値hを認証部140に供給する。ハッシュ値計算部120は、新たな検証パケットを受信する毎に、同様のハッシュ値計算処理を繰り返す。
認証部140は、照合部142および処理部144を具える。照合部142は、次の検証パケットに含まれる署名情報としてのハッシュ値Hと、前記生成されたハッシュ値hとが一致するか否かを照合する。デコーダ180は、メモリ160に格納されている音声パケット、映像パケット、データ放送パケットなどをデコードして出力部170に設けられた表示部172やスピーカ174に供給する。処理部144は、照合部142による照合の結果、次の検証パケットに含まれる署名情報としてのハッシュ値Hと、生成されたハッシュ値hとが一致しない場合、当該区間を不正区間であると判定し、判定結果(照合結果)を制御部150に供給する。
制御部150は、出力部170やデコーダ180へのデータの供給を制御する。制御部150は、認証部140から供給された判定結果に基づき、不正区間と判定された区間のトランスポートストリームパケットを用いてコンテンツまたはサービスの出力を停止したり、不正区間である旨を示す字幕を付加して出力したり、その旨の文字をスーパーインポーズして出力したり、その旨を示す音声を出力したりするように表示部172やスピーカ174を制御する。
図2は、本発明の一実施態様による送信装置の基本的な構成を示すブロック図である。図に示すように、送信装置200は、ハッシュ値計算部(生成部)210、ストリーム生成部220、送信部230、カウンタ部240、メモリ250、およびアンテナANT2を具える。送信装置200は、有線経由などで上位装置(コンテンツサーバなど)から、送信されるべきオリジナルメッセージ(元の一連のTSパケット)を受け取る。ハッシュ値計算部210は、例えば、第1のヌルパケットと、それの1以上後の第2のヌルパケット(即ち、2番目以降のヌルパケット)との間にある「一連のパケット」の先頭から、TSパケットを1つずつ読み出し、この1つのTSパケットと計算したハッシュ値とを連鎖的に用いて、所定のハッシュ関数を用いて署名情報としてのハッシュ値hを計算する。当該区間の最後のTSパケットのメッセージと前回計算したハッシュ値hを用いて算出したハッシュ値を署名情報としてのハッシュ値Hとする。カウンタ部240は、前述した一連のパケットの中で処理したパケットの数をカウントし、カウントした値をメモリ250に格納する。
ストリーム生成部220は、先行する一連のパケットの区間に対する署名情報としてのハッシュ値Hを含む検証パケットを生成し、前述したヌルパケットをこの検証パケットに置き換える。ヌルパケットは、タイミングをとるためにストリームにある程度定期的に挿入されるものであり、本実施態様では、このヌルパケットを検証パケットに置き換えて、署名のための情報(ハッシュ値H)を受信者に伝達する。
このようにして、ストリーム生成部220は、検証パケット間の区間のメッセージを認証する署名情報としてのハッシュ値Hを含む検証パケットを、一連のトランスポートストリームパケットの後に配置する。従って、ストリーム生成部220は、検証パケット、一連のトランスポートストリームパケット、検証パケットという順番でストリームを生成していく。生成された一連のストリームは、送信部230が、変調処理など必要な処理を行った後でアンテナANT2から放送波として送出される。
図3は、図1の受信装置で実行される署名検証方法の一例を示すフローチャートである。まず、ハッシュ値計算部120は、ステップJ11にて検証パケットを選び出し、次に、ループ1(ステップJ13,J14)を開始する。次にステップJ13では、TSパケットのメッセージm(ペイロード)と、前回のハッシュ値h0(最初の実行時はヌル)とから、ステップJ14の終了条件を満たすまで、すなわち次の検証パケットを受信するまで、受信した全てのTSパケットから、以下の所定のハッシュ関数fを用いてハッシュ値hを生成する。
h=f(m,h0)
次の検証パケットを受信してループ1を終了すると、ステップJ15で、パケット処理部130は、次の検証パケットに格納されている署名情報としてのハッシュ値Hを取得し、これをメモリ160に格納する。認証部140内の照合部142は、ステップJ16にて、検証パケットから取得した署名情報としてのハッシュ値Hと、ハッシュ値計算部120で生成したハッシュ値hとが一致するか否かを照合する。取得したハッシュ値Hと生成したハッシュ値hとが一致する場合は、署名情報を正常に認証できたものとして処理を終え、制御部150の制御により、当該区間のTSパケットは正常にデコーダ180によりデコードされ、出力部170により出力される。Hとhとが一致しない場合は、ステップJ17に進み、照合部142は、当該区間を不正区間であると見なし、制御部150は、当該区間で受信したコンテンツを出力しないように、デコーダ180および出力部170を制御する。
図4は、図2の送信装置で実行されるストリーム生成方法の実施態様を示すフローチャートである。ここでは、署名検証区間内の全てのTSパケットからハッシュ値Hを求め、これをストリームに含ませて送信する実施態様を説明する。図4に示すように、ステップK11では、送信装置200に設けられたネットワーク部(図示しない)が上位装置(コンテンツサーバなど)から受け取った、オリジナルメッセージ(元の一連のTSパケット)から、第1のヌルパケットと、それの1以上後の第2のヌルパケット(即ち、2番目以降のヌルパケット)との区間を署名検証区間に設定する。
次に、ステップK12にて、ハッシュ値計算部210が、この署名検証区間にある一連のパケット全て(但し、区間内のヌルパケットは除く。)から、所定のハッシュ関数を用いて署名情報としてのハッシュ値Hを計算する。ステップK13にて、ストリーム生成部220が、求めたハッシュ値Hを含む検証パケットを作成する。次に、ステップK14にて、ストリーム生成部220が、生成した検証パケットで当該区間の終点(または始点)のヌルパケットを置換することによって、当該署名検証区間内の一連のTSパケットと、検証パケットとからなる一連のストリームを生成する。最後に、ステップK15にて、送信部230が、生成した一連のストリームに含まれるパケットを順次、送信(放送)する。なお、送信装置200内の各ブロックにて作成、生成されたデータや情報は、必要に応じてメモリ250に一時的に格納され、同様に必要に応じて格納したデータや情報は読み出されるものとする。
図5を用いて、図2に示した送信装置200の送信処理について説明する。図5は、送信装置200においてヌル(NULL)パケットを含むトランスポートストリーム(TS)からハッシュ値を計算する手法(送信装置側)を説明する図である。
図5の上段に示すように、オリジナルメッセージ(元のTSパケット)は、パケットP0(ヌルパケット)、P1(PID=A)、P2(PID=B)、P3(PID=C)、P4(PID=A)、P5(ヌルパケット)、P6(PID=A)の順のパケットストリームである。ここで、PID=Aは映像信号、PID=Bは音声信号、PID=Cはデータ放送信号を示すパケット識別子である。送信装置200のハッシュ値計算部210は、署名検証区間[P1−P4]のTSパケットであるパケットP1−P4を連鎖的に用いてハッシュ値を生成(計算)する。最初に、図5の下段に示すように、パケットP1(PID=A)のペイロード部に格納されているメッセージ(184バイト)から、所定のハッシュ関数を用いて、16バイトのハッシュ値h1を生成(計算)する。次に、ハッシュ値h1とパケットP2(PID=B)のメッセージm1(184バイト)から、ハッシュ値h2を生成(計算)する。同様に、ハッシュ値h2とパケットP3(PID=C)のメッセージm2(184バイト)から、ハッシュ値h3を生成(計算)し、さらに、ハッシュ値h3とパケットP4(PID=A)のメッセージm3(184バイト)から、ハッシュ値h4を生成(計算)する。区間内の全てのパケットを処理し終えたため、最後のハッシュ値h4を最終的なハッシュ値Hとし、このハッシュ値Hを含む検証パケット(VP)で、パケットP5(ヌルパケット)を置換する。そして、これらのパケットをストリームとして送信(放送)する。
図5に示したストリームの受信処理について図6を参照しながら説明する。図6は、図1の受信装置100において、受信したトランスポートストリーム(TS)のメッセージからハッシュ値を計算し、メッセージの正当性を検証する手法を説明する図である。図に示すように、受信装置100のハッシュ値計算部210は、署名検証区間[P1−P4]のTSパケットであるパケットP1−P4を連鎖的に用いてハッシュ値を生成する。最初に、パケットP1(PID=A)のペイロード部に格納されているメッセージ(184バイト)から、所定のハッシュ関数を用いて、16バイトのハッシュ値h1を生成(計算)する。次に、ハッシュ値h1とパケットP2(PID=B)のメッセージm1(184バイト)から、ハッシュ値h2を生成(計算)する。同様に、ハッシュ値h2とパケットP3(PID=C)のメッセージm2(184バイト)から、ハッシュ値h3を生成(計算)し、さらに、ハッシュ値h3とパケットP4(PID=A)のメッセージm3(184バイト)から、ハッシュ値h4を生成(計算)する。ハッシュ値計算部120は、区間内の全てのパケットを処理し終えたため、最後のハッシュ値h4を最終的なハッシュ値とする。照合部142は、署名検証区間に後続するパケットP5(検証パケットVP)に格納されている署名情報としてのハッシュ値Hをメモリ160から取得する。そして、照合部142は、計算したハッシュ値h4と検証パケットP5のハッシュ値Hとを照合する。照合部142の照合結果に応じて、制御部150は、当該署名検証区間のコンテンツやサービスの出力を制御する。
このように、本実施態様では、区間内の全てのTSパケット(4個)をハッシュ値の生成元として使用しているため、TSパケット数と同じ数だけハッシュ計算が行われることになり、ストリーム全体としての認証処理が可能となる。しかしながら、小型の携帯端末は計算能力が低い場合が多く、ハッシュ計算の負荷が重すぎるという事態の発生が考えられる。
図5、6に示した手法では、4つのTSパケットを例にして説明しているが、検証区間を長くすればするほど、その演算処理の負荷が大きくなる。そこで、小型の携帯端末向けの低負荷の署名検証手法を図7以降の図面を参照しながら説明する。
図7は、本発明の一実施態様による低負荷の署名検証手法を適用した受信装置の基本的な構成を示すブロック図である。図に示すように、受信装置100Aは、アンテナANT1、受信部110と、ハッシュ値計算部(生成部)120A、カウンタ部125、パケット処理部130A、認証部140A、制御部150A、メモリ160、出力部170、およびデコーダ180を具える。アンテナANT1は、パケットを含む放送波を受信し、受信した放送波を受信部110に供給する。受信部110は、受信した放送波から信号処理(OFDM復調処理など)して得たトランスポートストリーム(TS)信号(TSパケットおよび検証パケット)を、ハッシュ値計算部120A、パケット処理部130A、およびメモリ160に供給する。メモリ160はTSパケットを格納する。
パケット処理部130Aは、TS信号から検証パケットを抽出し、さらに検証パケットに格納されている第1の識別子(パケットID:PID)と第2の識別子(一連のTSパケットのうち、署名情報の作成に使用されたパケットの数:n)とを取得し、取得した第1および第2の識別子(PIDとn)をメモリ160に格納しておく。また、パケット処理部130Aは、検証パケット間(区間[VP-VP])に対する署名情報としてのハッシュ値Hをさらに取得し、これをメモリ160に格納しておく。
ハッシュ値計算部120Aは、PIDとnを取り出した検証パケット以降の一連のTSパケットから、第1の識別子で規定されたPIDと同じPIDを持つTSパケット(検証対象パケット)をnと同じ数だけ選び出し、選び出したTSパケットを連鎖的に用いてハッシュ値を生成し、生成したハッシュ値hを認証部140に供給する。カウンタ部125は、検証パケットを受信すると、カウンタを0でクリアし、第1の識別子と同じPIDを持つTSパケットを選び出す毎に、1ずつインクリメントし、そのカウント値をメモリ160に格納する。ハッシュ値計算部120Aおよびカウンタ部125は、新たな検証パケットを受信する毎に、同様のハッシュ値計算処理およびカウント処理を繰り返す。また、ハッシュ計算に用いるパケット(第1の識別子で規定されたPIDを持つパケット)は、検証パケットを受信した直後からn個を選択してもよいし、さらに次に受信する検証パケットより前に受信したパケットのうち前記次に受信する検証パケットに近い方からn個としてもよい。つまり、予め受信装置と送信装置との間で選択ルールを決定しておき、その選択ルールに応じてn個を選択すればよい。また、この第2の識別子で規定される数nは、受信装置の計算能力に応じて、適宜設定することができるものである。
認証部140Aは、照合部142および処理部144Aを具える。照合部142は、ハッシュ計算を開始するトリガーとなった検証パケットの次に受信する検証パケットに含まれる署名情報としてのハッシュ値Hと、前記生成されたハッシュ値hとが一致するか否かを照合する。処理部144Aは、照合の結果、次の検証パケットに含まれる署名情報としてのハッシュ値Hと、生成されたハッシュ値hとが一致しない場合、当該区間は不正区間であると判定する。制御部150Aは、不正区間におけるコンテンツまたはサービスの、出力部170による出力を制御する。例えば、制御部150Aは、デコーダ180における当該区間のデコードを中止するように制御する。
このように、ハッシュ値の計算に、第1の識別子と第2の識別子とで指定された特定のパケットのみを用いるため、ストリームを構成する全パケットを用いてハッシュ値を計算する場合よりも、受信側での計算負荷を軽減することができる。なお、パケット(メッセージ)を改竄されにくくする、即ち、攻撃への耐性を高めるために、第1の識別子であるPIDは、署名検証区間毎にランダムに変更するのが好適である。また、ハッシュ値の計算に用いるパケットの数nは、受信装置の処理能力に応じて指定することができる。
図8に、本発明の一実施態様による送信装置のブロック図を示す。この送信装置200Aによる処理を、図9を用いて説明する。図9は、ストリーム全体を認証しながら、第1の識別子(PID)と第2の識別子(ハッシュ計算に用いるパケット数n)を用いてハッシュ計算の負荷を軽減させた送信側でのハッシュ値計算手法を説明する図である。ここで、第1の識別子(PID)と第2の識別子(ハッシュ計算に用いるパケット数n)とは、送信装置200Aに設けた設定部(図示しない)によって設定される。図9の上段に示すように、オリジナルメッセージ(元のTSパケット)は、パケットP0(ヌルパケット)、P1(PID=A)、P2(PID=B)、P3(PID=A)、P4(PID=C)、P5(PID=A)、P6(ヌルパケット)、P7(PID=A)、P8(PID=B)、P9(PID=A)、P10(PID=B)、P11(ヌルパケット)の順のパケットストリームである。本実施態様では、検証パケット間の署名検証区間[VP-VP]にはパケットP1〜P10が存在する。ヌルパケットのパケットP0を、VPパケットに置換する。このVPパケット(P0)は、後続の署名検証区間[VP-VP]のための第1の識別子としての”PID=A”と、第2の識別子としてのパケット数”n=4”と、自己に先行する区間のためのハッシュ値Hとを含む。
送信装置200Aのハッシュ値計算部210Aは、第1の識別子および第2の識別子に従って、PIDがAのTSパケットを順次にn個まで選び出して、連鎖的にハッシュ値を生成する。即ち、ハッシュ値計算部210Aは、第1の識別子で規定されたPIDと同じPIDを持つTSパケットをnと同じ数だけ用いてハッシュ値を生成し、生成したハッシュ値を含む検証パケットで、パケットP11(ヌルパケット)を置換する。また、このストリームは、パケットP9にPIDがAのパケットがあるが、パケットP7の時点で、nで指定された数のパケットを選び出しているため、パケットP9はハッシュ計算には使わない。また、パケットP2などのPIDがA以外のパケットは、ハッシュ計算から除外される。具体的には、まず、図9の下段に示すように、パケットP1(PID=A)のペイロード部に格納されているメッセージ(184バイト)から、所定のハッシュ関数を用いて16バイトのハッシュ値h1を生成する。次に、ハッシュ値h1とパケットP3(PID=A)のメッセージm1(184バイト)から、ハッシュ値h2を生成する。同様に、ハッシュ値h2とパケットP5(PID=A)のメッセージm2(184バイト)から、ハッシュ値h3を生成し、さらに、ハッシュ値h3とパケットP7(PID=A)のメッセージm3(184バイト)から、ハッシュ値h4を生成する。区間内のn個のパケットを処理し終えたため、最後のハッシュ値h4を最終的なハッシュ値Hとし、このハッシュ値Hを含む検証パケット(VP)で、パケットP11(ヌルパケット)を置換する。そして、これらのパケットをストリームとして送信する。
このような限定した数のパケットを用いてハッシュ計算を行う送信装置200Aの処理のフローチャートを図10に示す。図10に示すように、ステップK21では、送信装置200Aに設けられたネットワーク部(図示しない)が上位装置(コンテンツサーバなど)から受け取った、オリジナルメッセージ(元の一連のTSパケット)のヌルパケットに基づいて、署名検証区間を設定する。ステップK22にて、この署名検証区間にある「一連のパケット」から、ハッシュ値の算出の対象となるパケットの識別子(例えば映像信号のパケットを示すPID)、および、当該識別子を持つハッシュ値の生成に使用するべきパケット数n(但し、nは2以上の整数)を設定する。次に、ステップK23にて、ハッシュ値計算部210Aが、区間の最初から、設定した識別子(PID)と同じPIDを持つTSパケットをn個選び出し、それらの選び出した一部のTSパケットを連鎖的に用いて、所定のハッシュ関数を用いて署名情報としてのハッシュ値Hを計算する。
このようにして、一連のTSパケットの一部から署名情報としてのハッシュ値を生成する。ステップK24にて、ストリーム生成部220が、第1の識別子(PID)および第2の識別子(n)と、署名検証区間用のハッシュ値Hとが格納される検証パケットを作成する。但し、第1の識別子(PID)および第2の識別子(n)は該検証パケットに後続する署名検証区間に用いる識別子を格納し、ハッシュ値は、当該検証パケットに先行する署名検証区間に対応する値を格納する。
次にステップK25にて、ストリーム生成部220が、後続する署名検証区間用の第1の識別子(PID)および第2の識別子(n)と、当該検証パケットに先行する署名検証区間用のハッシュ値Hとを含む検証パケットで当該区間の始点のヌルパケットを置換する。このヌルパケットの置換を繰り返すことによって、検証パケット、当該署名検証区間内の一連のTSパケット、検証パケットとからなる一連のストリームを生成する。最後に、ステップK26にて、送信部230が、生成した一連のストリームに含まれるパケットを順次、送信(放送)する。
図9に示したストリームの受信処理について説明する。図11は、図7の受信装置100Aにおいて、受信したトランスポートストリーム(TS)のメッセージからハッシュ値を計算し、メッセージの正当性を検証する手法(受信装置側)を説明する図である。図に示すように、受信装置100Aのハッシュ値計算部120Aは、第1の識別子(PID=A)および第2の識別子(n)に従って、PIDがAのTSパケットを順次にn個まで選び出して、連鎖的にハッシュ値を生成する。即ち、ハッシュ値計算部120Aは、第1の識別子で規定されたPIDと同じPIDを持つTSパケットをnと同じ数だけ用いてハッシュ値を生成する。また、このストリームには、PIDがAを示すパケットP9があるが、パケットP7の時点で、nで指定された数のパケットを選び出しているため、パケットP9はハッシュ計算には使わない。また、パケットP2などのPIDがA以外のパケットは、ハッシュ計算から除外される。
なお、図9,11の手法において、パケットの選択方法以外は、図3におけるハッシュ計算手法と同様である。このようにして、P1−P10の10個のパケット中、PIDがAを示す4個(n=4)のパケットが署名情報としてハッシュ値の計算に使用されるため、パケットストリーム全体(一連のパケット)を認証しつつも、計算負荷を40%まで低減することが可能となる。このように、本実施態様では、区間内の特定のTSパケット(PIDがAを示すパケットであり、区間の始点から4個目までのパケット)をハッシュ値の生成データとして使用しているため、限定した数のパケットを用いて、ハッシュ計算が行われることになる。これにより、受信装置における署名検証の処理負荷を低く抑えることが出来る。
図9、11に示した手法においてパケットロスに対応できないケースに対応するために、区間内で対応する識別子(第1の識別子)を持つ対象パケット数Nを検証パケットにさらに含ませたストリームを生成する送信装置200Aの処理のフローチャートを図12に示す。図12のストリーム生成処理に対応するために、図8の送信装置200Aのストリーム生成部220、カウント部240およびメモリ250の動作を以下のように変更する。カウント部240は、区間内に含まれている第1の識別子に該当する対象パケット数Nをカウントし、カウントされた対象パケット数Nはメモリ250に格納される。送信装置200Aのストリーム生成部220は、メモリ250に格納されている区間内で対応する識別子(第1の識別子)を持つ対象パケット数Nを検証パケットにさらに含ませたストリームを生成する。
図12では、ステップK31−36を示してあるが、図10のステップと異なるステップのみを説明する。ステップK32では、署名検証区間にある「一連のパケット」から、ハッシュ値の算出の対象となるパケットの識別子(例えば映像信号のパケットを示すPID)を設定し、送信装置200Aのカウンタ部240が、当該区間において、このPIDを持つパケット数をカウントする。そして、設定した当該識別子を持つ対象パケット数N、当該識別子を持つハッシュ値の生成に使用するべきパケット数n(但し、n<N、nは2以上の整数)を設定する。また、ステップK34では、ストリーム生成部220が、第1の識別子、ハッシュ生成に使用したTSパケットの数nを規定する第2の識別子、並びに求めたハッシュ値H、対象パケット数Nを含む第1の検証パケットを作成する。但し、第1の識別子(PID)および第2の識別子(n)は該検証パケットに後続する署名検証区間に用いる識別子を格納し、ハッシュ値は、当該検証パケットに先行する署名検証区間に対応する値を格納する。また、対応パケット数Nは上記いずれの検証パケットに格納しても良い。
次にステップK35にて、ストリーム生成部220が、後続する署名検証区間用の第1の識別子(PID)および第2の識別子(n)と、当該検証パケットに先行する署名検証区間用のハッシュ値Hおよび対象パケット数Nとを含む検証パケットで当該区間の始点のヌルパケットを置換する。このヌルパケットの置換を繰り返すことによって、検証パケット、当該署名検証区間内の一連のTSパケット、検証パケットからなる一連のストリームを生成する。このように対象パケット数Nを新たに含ませた検証パケットを送信(放送)することによって、図9、11に示した手法で対応できなかったパケットロスを適正に処理することが可能となる。
図13は、図9、11に示した手法においてパケットロスに対応できないケースを説明する図である。図13のストリーム構成(パケット構成、順序)は図8、10と同じである。図13の(a)はパケットロスが発生しないパターンを示したものである。この場合には、求めたハッシュ値h4と、パケットVP(パケットP11)内に格納されていた署名検証のためのハッシュ値Hとが一致しており、当該署名検証区間の照合が成功となり、当該区間の非改竄性が保証される。他方、図13の(b)は、署名情報のハッシュ値の計算に送信時において使用したパケットP7(PID=A)をパケットロスで受信できなかっため、パケットP9を間違って対象のTSパケットと判定し、当該パケットのメッセージm3´と、前段のハッシュ値h3とからハッシュ値h4´を計算してしまっている。従って、計算したハッシュ値h4´と、検証パケットVP(パケットP11)のハッシュ値Hとは一致せず、照合失敗となってしまう。この場合は、攻撃者による不正放送波が原因というよりは、むしろパケットロスが主たる要因であると考えられる。特に、パケット伝送に無線経路を用いる場合には、パケットロスは高い頻度で発生する。このようなパケットロスを攻撃者による不正放送であると一律に判定すると、ユーザに正常放送として表示できる区間が僅かなものとなってしまうという不都合が発生する。このようなパケットロスを判定して、ユーザビリティを向上させる仕組みを図14に示す。
図14は、対象TSP数Nを新たに検証パケットに含ませることによってパケットロスを検出する署名検証方法(受信装置側)を説明する図である。図14の(a)に示すように、署名検証区間[P1−P5]の後の検証パケットであるパケットP6に、当該区間の一部のパケットを用いて作成したハッシュ値Hと、さらに、当該区間において対象となるTSパケット数N=5を含ませる。なお、各パケット間には、第1の識別子で指定した、対象のパケットPID=A以外のパケットが存在するが、説明の便宜上、省略したものであることに注意されたい。ここでは、パケットP3が通信エラーによってパケットロスとなっており、ハッシュ値生成に使用しなかったパケットP5をハッシュ値計算のために間違って使用してしまう。従って、計算したハッシュ値h4と、検証パケットVP(パケットP6)格納されているハッシュ値Hとを照合しても、一致しない。他方、カウントした受信対象TSP個数cが4個であり、パケットP6で規定された対象TSP数N=5であるため、これも不一致であり、パケットロスが発生していることが判明する。このようなケースでは、ハッシュ値不一致の主原因がパケットロスであると見なすことができ、例えば、当該区間を署名検証区間から除外することが可能となる。この後、照合処理をリセットし、次の署名検証区間[P7−P12]の検証を開始する。ここでは、署名情報としてのハッシュ値の計算に使用されたパケット以外のパケットP11がパケットロスとなっているため、ハッシュ値の照合は成功している。図14の(b)に示すように、パケットロスが主原因と考えられる認証失敗という事実を把握することが可能となる。このような場合は、当該区間を不正とは判定せずに、単に認証区間から除外し、先行する区間や後続の区間の認証結果に基づき、出力制御することが好適である。従って、受信装置は、「パケットロスあり、認証失敗」という事実を把握し、「認証失敗の原因はパケットロスである可能性が高い」ことを認識することもできる。従って、受信装置は、認証失敗した区間であっても、当該装置のポリシーに応じて、当該区間のコンテンツ再生を継続したり、制限付き、或いは、認証結果を示す字幕/表示などを付加した状態で再生したりすることが可能となる。例えば、認証失敗した区間のコンテンツを、認証結果を示す字幕/表示付きで再生すれば、無線環境などにおいても実用上問題ない程度でコンテンツ再生を行うことが可能となり、ユーザビリティが格段に向上する。
即ち、第1の識別子(PIDなど)で規定したパケットのパケットロスト(受信エラー)が原因であってもこれを認識できていなかったため、照合部142においてハッシュ値が一致しない場合は、不正なストリームを受信しているものと判定せざるを得なかった。しかしながら、本実施態様では、カウンタ部125と処理部144とを設けることによって、第1の識別子(PIDなど)で規定したパケットにパケットロスが発生した可能性があることを受信装置側で判定できるようにして、そのようなパケットロスが発生した区間を署名検証区間から除外できるように構成した。これによって、ハッシュ値が一致せず、署名検証区間内に存在するべき対象パケット数Nと、当該区間内で受信した対象PIDに該当するパケット数(カウント値c)とが一致した場合には、完全に不正なストリームであるという判定ができるようになった。
図14の署名検証方法に対応するために、図7の受信装置のハッシュ値計算部120A、カウンタ部125、パケット処理部130A、認証部140A、制御部150Aの動作を以下のように変更する。
パケット処理部130Aは、TS信号から検証パケットを抽出し、さらに検証パケットに格納されている第1の識別子(パケットID:PID)と第2の識別子(一連のTSパケットのうち、署名情報の作成に使用されたパケットの数:n)とを取得し、取得した第1および第2の識別子(PIDとn)をメモリ160に格納しておく。また、パケット処理部130Aは、次の検証パケットに含まれている、「現在の検証パケット」と「次に受信した検証パケット」との間の区間[VP-VP]に含まれている第1の識別子に該当する対象パケット数N(但し、Nは整数であり、N≧n)と、区間[VP-VP]に対する署名情報としてのハッシュ値Hをさらに取得し、取得した対象パケット数N、ハッシュ値Hもメモリ160に格納しておく。
ハッシュ値計算部120Aは、PIDとnを取り出した検証パケット以降の一連のTSパケットから、前記PIDと同じPIDを持つTSパケット(検証対象パケット)をnと同じ数だけ選び出し、選び出したTSパケットを連鎖的に用いてハッシュ値を生成し(生成手法の詳細は後述する)、生成したハッシュ値hを認証部140に供給する。カウンタ部125は、検証パケットを受信すると、カウンタを0でクリアし、第1の識別子と同じPIDを持つTSパケットを選び出す毎に、1ずつインクリメントし、そのカウント値をメモリ160に格納する。ハッシュ値計算部120Aおよびカウンタ部125は、新たな検証パケットを受信する毎に、同様のハッシュ値計算処理およびカウント処理を繰り返す。また、ハッシュ計算に用いるパケットは、検証パケットを受信した直後からn個を選択してもよいし、さらに次に受信する検証パケットより前に受信したパケットのうち前記次に受信する検証パケットに近い方からn個としてもよい。つまり、予め受信装置と送信装置との間で選択ルールを決定しておき、その選択ルールに応じてn個を選択すればよい。また、この第2の識別子で規定される数nは、受信装置の計算能力に応じて、適宜設定することができるものである。
認証部140Aは、照合部142、および処理部144Aを具える。照合部142は、次の検証パケットに含まれる署名情報としてのハッシュ値Hと、前記生成されたハッシュ値hとが一致するか否かを照合する。処理部144Aは、照合部142による照合の結果、次の検証パケットに含まれる署名情報としてのハッシュ値Hと、生成されたハッシュ値hとが一致しない場合、検証パケットと次の検証パケットとの間の区間において、カウンタ部125でカウントされたパケットの数c(即ち、当該区間において正常に受信した対象となるパケットの数)と、第1の識別子のPIDに該当する対象パケット数Nとが一致しないときは、パケットロスが発生したと見なし、当該区間を署名検証区間から除外する。
処理部144Aは、照合部142による照合の結果、署名情報としてのハッシュ値Hと、生成されたハッシュ値hとが一致しない場合、かつ、カウンタ部125でカウントされたパケットの数cと、前記該当する対象パケット数Nとが一致したときは、当該区間を不正区間であると判定する。デコーダ180は、メモリ160に格納されている音声パケット、映像パケット、データ放送パケットなどをデコードして出力部170に設けられた表示部172やスピーカ174に供給するが、例えば、制御部150Aは、デコーダ180における当該区間のデコードを中止するように制御する。
制御部150Aは、出力部170やデコーダ180へのデータの供給を制御する。署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および/または後の区間の認証部140Aによる署名検証結果に基づいて、当該コンテンツまたはサービスの出力を制御する。例えば、制御部150Aは、前または後の区間の署名検証が正常であれば、除外区間では検証対象パケットのロスによりハッシュ値が一致しなかったものと見なし、除外区間のコンテンツまたはサービスを出力する。また、制御部150Aは、前または後の区間の署名検証が異常(不一致)であれば、除外区間では出力を停止する。また、制御部150Aは、除外区間について、出力を停止したり、パケットロスがあった旨を示す字幕を付加して出力したり、その旨の文字をスーパーインポーズして出力したり、その旨を示す音声を出力したりするように表示部172やスピーカ174を制御する。このように、ハッシュ値の計算に、第1の識別子と第2の識別子とで指定された特定のパケットのみを用いるため、ストリームを構成する全パケットを用いてハッシュ値を計算する場合よりも、受信側での計算負荷を軽減することができる。なお、パケット(メッセージ)を改竄されにくくする、即ち、攻撃への耐性を高めるために、第1の識別子であるPIDは、署名検証区間毎にランダムに変更するのが好適である。また、ハッシュ値の計算に用いるパケットの数nは、受信装置の処理能力に応じて指定することができる。
図15は、図7の受信装置で実行される署名検証方法の一例を示すフローチャートである。図に示すように、ステップS11では、初期値を設定する(カウント値c、前回のハッシュ値h0をゼロにする)。次にステップS12にて、ハッシュ値計算部120Aは、受信して復調されたTS信号を監視し、予め定めた固有の識別子を持つ検証パケットを選び出す。次にステップS13にて、ハッシュ値計算部120Aは、選び出した検証パケットから第1の識別子(PID)と第2の識別子(ハッシュ作成に使用するパケットの個数n)とを抽出する。
ステップS14では、ハッシュ値計算部120Aは、ループ2(ステップS15、S16、S17)を開始する。ステップS15では、該当するPIDを持つTSパケットを選び出し、パケットを選び出す毎にカウンタ部125はカウント値cを1ずつ増分する。次にステップS16では、TSパケットのメッセージm(ペイロード)と、前回のハッシュ値h0(最初の実行時はヌルでり、2回目以降は前回計算したハッシュ値)とから、ハッシュ計算(生成)回数が、第2の識別子で規定されたn回になるまで所定のハッシュ関数fを用いてハッシュ値hを生成する。
h=f(m,h0)
このように、本発明によれば、一連のパケットのうち一部をPIDによってフィルタリングすることによって、署名検証に使用されるパケット数を限定し、さらに、個数nによってもハッシュ計算回数を制限しているため、ハッシュ計算に計算能力を割り当てる余裕がない、小型の携帯端末においても適正な計算負荷(低負荷)のもとでスムーズに署名検証処理を実行させることが可能となる。
次に、ステップS17にて、ループ2の終了条件を満たすまでループ2を繰り返す。終了条件は、検証パケットと次の検証パケットとの間の区間[VP-VP]において、第1の識別子で規定されたPIDを持つTSパケットを全て(n個)処理することである。次にステップS18にて、第1の識別子に該当するPIDを示すTSパケットを検出すると、カウンタ部125は、カウント値を1つ増分する。尚これは、次の検証パケットを受信するまで行われる。次にステップS19にて、パケット処理部130Aは、次の検証パケットを受信すると、次の検証パケットに格納されている署名情報としてのハッシュ値Hを取得し、これをメモリ160に格納する。認証部140A内の照合部142は、ステップS20にて、検証パケットから取得した署名情報としてのハッシュ値Hと、ハッシュ値計算部120で生成(計算)したハッシュ値hとが一致するか否かを照合する。取得したハッシュ値Hと生成したハッシュ値hとが一致する場合は、署名情報を正常に認証できたものとして処理を終え、当該区間のTSパケットは正常にデコーダ180によりデコードされ出力部170により出力される。取得したハッシュ値Hと、生成したハッシュ値hとが一致しなかった場合は、ステップS21に進み、パケットロス検出処理を行う。なお、このパケットロス検出処理と上記ハッシュ値の照合処理は、並行して行われてもよい。つまり、ハッシュ値が一致しているか否かに関わらず、パケットロス検出処理を行ってもよい。
ステップS21にて、パケット処理部130Aが、次の検証パケットに含まれている区間[VP-VP]間に存在するべき対象パケット数Nをメモリ160から取得する。次にステップS22にて、処理部144Aは、対象パケットのパケットロスが発生しているか否かを確かめるために、計測したカウント値cと、区間内に存在するべき対象パケット数Nとが一致するか否かを判定する。計測したカウント値cと対象パケット数Nとが一致している場合は、ステップS23に進み、パケットロスがないにも関わらず、ハッシュ値の照合に失敗したことになるため、当該区間を不正区間であると見なし、処理部144Aは、当該区間のデコードを停止するようにデコーダ180を制御する。或いは、処理部144Aは、デコーダ180ではなく、直接、出力部170が出力しないように制御してもよい。ステップS22にて、計測したカウント値cと対象パケット数Nとが一致しなかった場合は、ステップS24に進み、処理部144Aは、パケットロスが発生していることになるため、当該区間を署名検証区間から除外して、処理を終える。
最後に本発明の利点を再度述べる。本発明の実施態様によれば、演算能力の低い装置であっても、ストリーム全体を適正に認証することができ、かつ、パケットロス(受信エラー)を検知することによってエラー耐性およびユーザビリティを向上させることができるようになる。即ち、本発明では、一連のストリームパケットの一部に限定して署名情報としてのハッシュ値を生成し、当該一部のパケットとは離れた位置の検証パケットに格納するため、攻撃者は、署名情報を含む検証パケットと、署名情報生成に使用された一部のパケット(メッセージ)との関連性を見つけ出すことが困難であり、改竄への耐性が高い堅牢な認証/検証システムを提供することが可能である。また、第1の識別子と第2の識別子とで指定されるパケットの種類および対象パケットの個数を設定して、一連のパケットから一部のパケットに限定することによって、一連のパケット全体(即ち、ストリーム全体)を適正にカバーしつつも、ハッシュ計算の対象メッセージ数を低減して、特に受信装置側における署名検証のための計算処理を低減することが可能である。また、無線環境に特有のパケットロスにも対応することが可能である。
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各部、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
実施態様では、第1の識別子として映像のPIDを利用したが、音声のPIDやデータ放送のPIDなどを用いたり、或いは、区間が更新される毎に、映像、音声、データ放送のうちのからランダムにPIDを選択したりしてもよい。また、フィッシングサイトへの誘導の防止のみを目的とする場合は、BMLを含むデータ放送のPIDのみを用いてもよい。さらに、第1の識別子は、2以上のPID(例えば、映像、データ放送の組み合わせ)、および、複数個の数nを含むことが可能である。この場合は、対象パケット数Nも複数となる。さらに、対象パケット数Nは、対象とする署名検証区間よりも後の検証パケットに格納したが、検証開始の起点である検証パケットに含ませてもよい。また、実施態様では、前方から順に各メッセージおよび生成したハッシュ値を用いて連鎖的にハッシュ値を生成したが、それらは単なる例示に過ぎず、例えば、後方から順に各メッセージ連鎖的に用いてハッシュ値を生成するなど、本発明はハッシュ生成に様々な形式を使用することが可能である。
本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。 本発明の一実施態様による送信装置の基本的な構成を示すブロック図である。 図1の受信装置で実行される署名検証方法の一例を示すフローチャートである。 図2の装置で実行されるストリーム生成方法の一例を示すフローチャートである。 ヌル(NULL)パケットを含むトランスポートストリーム(TS)からハッシュ値を計算する手法を説明する図である トランスポートストリーム(TS)のメッセージからハッシュ値を計算し、メッセージの正当性を検証する手法を説明する図である。 本発明の一実施態様による受信装置の基本的な構成を示すブロック図である。 本発明の一実施態様による送信装置のブロック図である。 ハッシュ計算の負荷を軽減させた送信側でのハッシュ値計算手法を説明する図である。 限定した数だけハッシュ計算を行う送信装置200の処理を示すフローチャートである。 ハッシュ計算の負荷を軽減させたハッシュ値計算手法(受信装置側)を説明する図である。 区間内で対応する識別子を持つ対象パケット数Nを検証パケットに含ませたストリームを生成する送信装置200の処理を示すフローチャートである。 図8に示した手法においてパケットロスに対応できないケースを説明する図である。 対象TSP数Nを新たに検証パケットに含ませることによってパケットロスを検出する署名検証方法を説明する図である。 図7の受信装置で実行される署名検証方法の一例を示すフローチャートである。 従来システムにおける不正放送受信を模式的に示す図である。 従来技術によってトランスポートストリームパケットにハッシュ値を付加する技法を示す図である。
符号の説明
100,100A 受信装置
110 受信部
120,120A ハッシュ値計算部
125 カウンタ部
130,130A パケット処理部
140,140A 認証部
142 照合部
144,144A 処理部
150,150A 制御部
160 メモリ
170 出力部
172 表示部
174 スピーカ
180 デコーダ
200,200A 送信装置
210.210A ハッシュ値計算部
220 ストリーム生成部
230 送信部
240 カウンタ部
250 メモリ
ANT1,2 アンテナ
h0−4,h4´ ハッシュ値
m1−3,m3´ メッセージ
P1−P13 パケット
VP 検証パケット

Claims (4)

  1. 署名付きのトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットと、を受信する受信部と、
    前記受信部により受信したトランスポートストリームのうち、前記検証パケットに含まれる第1の識別子に基づき、特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記検証パケットに含まれる第2の識別子が示す数だけ用いてハッシュ値を生成する生成部と、
    前記検証パケットを受信した後、前記第1の識別子に基づき選び出されるトランスポートストリームパケットの数をカウントするカウンタ部と、
    前記受信部が次に受信した検証パケットに含まれる署名情報としてのハッシュ値と、前記生成されたハッシュ値とを照合する照合部と、
    前記照合部による照合の結果、前記検証パケットに含まれる前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記検証パケットと前記次に受信した検証パケットとの間の区間において、前記カウンタ部でカウントされたパケットの数と、前記検証パケットに含まれている、前記検証パケットと前記次に受信した検証パケットとの間の区間に存在するべき前記第1の識別子に該当する対象パケット数とが一致しないときは、当該区間を署名検証区間から除外する処理部と、
    を具えることを特徴とする受信装置。
  2. 請求項1に記載の受信装置において、
    前記処理部は、前記照合部による照合の結果、前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部でカウントされたパケットの数と、前記該当する対象パケット数とが一致したときは、当該区間を不正区間であると判定する、
    ことを特徴とする受信装置。
  3. 請求項1に記載の受信装置において、
    前記署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および/または後の区間の署名検証結果に基づいて、前記コンテンツまたはサービスの出力を制御する制御部、
    をさらに具える、ことを特徴とする受信装置。
  4. 特定のパケットを識別するための第1の識別子と、該特定のパケットの数を規定する第2の識別子とを設定する設定部と、
    前記設定部により設定した第1の識別子に基づき、トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを第2の識別子が示す数だけ用いて、署名情報としてのハッシュ値を生成する生成部と、
    第1の識別子と、第2の識別子と、ハッシュ値とを含む検証パケットをトランスポートストリームに配置してストリームを生成するストリーム生成部と、
    前記生成したストリームに含まれるパケットを順次、送信する送信部と、を具え、
    前記ストリーム生成部は、前記検証パケットに、前記検証パケット間で前記第1の識別子に該当するパケットの数を含める、
    ことを特徴とするストリーム送信装置。
JP2007247733A 2007-09-25 2007-09-25 受信装置、およびストリーム送信装置 Expired - Fee Related JP5053013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007247733A JP5053013B2 (ja) 2007-09-25 2007-09-25 受信装置、およびストリーム送信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007247733A JP5053013B2 (ja) 2007-09-25 2007-09-25 受信装置、およびストリーム送信装置

Publications (2)

Publication Number Publication Date
JP2009081549A JP2009081549A (ja) 2009-04-16
JP5053013B2 true JP5053013B2 (ja) 2012-10-17

Family

ID=40656000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007247733A Expired - Fee Related JP5053013B2 (ja) 2007-09-25 2007-09-25 受信装置、およびストリーム送信装置

Country Status (1)

Country Link
JP (1) JP5053013B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102725737B (zh) 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
WO2013054701A1 (ja) * 2011-10-14 2013-04-18 株式会社日立製作所 データの真正性保証方法、管理計算機及び記憶媒体
JP5940013B2 (ja) * 2013-03-29 2016-06-29 日立オートモティブシステムズ株式会社 車載通信システム及び通信装置
CN115174446B (zh) * 2022-07-21 2023-11-03 天翼云科技有限公司 一种网络流量统计的方法、装置及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1267515A3 (en) * 2000-01-21 2004-04-07 Sony Computer Entertainment Inc. Method and apparatus for symmetric encryption/decryption of recorded data
JP4193380B2 (ja) * 2001-07-05 2008-12-10 Kddi株式会社 ストリーム転送における電子署名システム
JP4000905B2 (ja) * 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
JP5148190B2 (ja) * 2007-07-20 2013-02-20 京セラ株式会社 受信方法および受信装置

Also Published As

Publication number Publication date
JP2009081549A (ja) 2009-04-16

Similar Documents

Publication Publication Date Title
JP5101965B2 (ja) 受信装置
EP2507991B1 (en) Digital broadcast receiver and booting method of digital broadcast receiver
EP1953998B1 (en) Methods and Apparatuses for Providing and Using Content Allowing Integrity Verification
CN101902477B (zh) 发送系统、接收系统、媒体流合法性的识别方法和系统
US7865723B2 (en) Method and apparatus for multicast delivery of program information
US20080151110A1 (en) System for receiving and storing broadcast content, and device for reception and storage
JP5053013B2 (ja) 受信装置、およびストリーム送信装置
US20010010720A1 (en) Multiple signature authentication in conditional access systems
JP4869845B2 (ja) デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム
US20200099964A1 (en) Method and device for checking authenticity of a hbbtv related application
JP4938409B2 (ja) デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム
KR102586219B1 (ko) 디지털 브로드캐스트 데이터의 인증
JP5148190B2 (ja) 受信方法および受信装置
US20100251067A1 (en) Systems and methods for protecting a multi-part broadcast control message
JP5053014B2 (ja) 受信装置、およびストリーム送信装置
JP5101964B2 (ja) 受信装置
JP5101967B2 (ja) 受信装置
JP5315213B2 (ja) 地上デジタルテレビジョン放送における緊急情報の送信装置及び受信装置
JP5503892B2 (ja) 地上デジタルテレビジョン放送における緊急情報の送信装置及び受信装置
EP1232652B1 (en) Object security implementation
US20200322354A1 (en) Method and apparatuses for authenticating a data stream
JP2013048485A (ja) 送信装置
US11941092B2 (en) Techniques for launching applications based on partial signature validation
JP2005167298A (ja) 受信装置
JP2008245080A (ja) 受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120608

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees