JP2009081556A - 署名検証方法、ストリーム生成方法、受信装置、およびストリーム送信装置 - Google Patents

署名検証方法、ストリーム生成方法、受信装置、およびストリーム送信装置 Download PDF

Info

Publication number
JP2009081556A
JP2009081556A JP2007247833A JP2007247833A JP2009081556A JP 2009081556 A JP2009081556 A JP 2009081556A JP 2007247833 A JP2007247833 A JP 2007247833A JP 2007247833 A JP2007247833 A JP 2007247833A JP 2009081556 A JP2009081556 A JP 2009081556A
Authority
JP
Japan
Prior art keywords
packet
verification
hash value
identifier
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.)
Granted
Application number
JP2007247833A
Other languages
English (en)
Other versions
JP5053014B2 (ja
Inventor
Akira Goto
亮 後藤
Shinsaku Kiyomoto
晋作 清本
Atsushi Kurihara
淳 栗原
Toshiaki Tanaka
俊昭 田中
Koji Yoshida
耕司 吉田
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 JP2007247833A priority Critical patent/JP5053014B2/ja
Publication of JP2009081556A publication Critical patent/JP2009081556A/ja
Application granted granted Critical
Publication of JP5053014B2 publication Critical patent/JP5053014B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ストリーム全体を認証する。
【解決手段】受信装置は、署名情報付きTSPと、TSPの署名検証用パケットを受信する受信部と、TSPの各パケットに含まれる識別子に基づき、署名情報のハッシュ値生成に用いたTSPを判別して、TSから特定パケットを抽出する抽出部と、抽出された特定のTSPを、検証パケット中の識別子が示す数だけ用いて、ハッシュ値生成する生成部と、検証パケット受信後、パケット中の識別子に基づき抽出される特定TSP数を数えるカウンタ部と、次に受信した検証パケット中の署名情報ハッシュ値と、生成ハッシュ値を照合する照合部と、照合の結果、検証パケットハッシュ値と、生成ハッシュ値とが不一致の時、検証パケット間の区間中のパケット数と、検証パケット中の識別子で規定のTSPの数とが不一致の時は、当該区間を署名検証区間から除外する処理部とを具える。
【選択図】図14

Description

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

Claims (7)

  1. 署名情報付きのトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットと、を受信する受信部と、
    前記トランスポートストリームの各パケットの一部に含まれる識別子に基づき、署名情報としてのハッシュ値の生成に用いたトランスポートストリームパケットを判別して、前記受信したトランスポートストリームから特定のパケットを抽出する抽出部と、
    前記抽出部により抽出された特定のトランスポートストリームパケットを、前記検証パケットに含まれる、識別子が示す数だけ用いて、ハッシュ値を生成する生成部と、
    前記検証パケットを受信した後、前記パケットに含まれる識別子に基づき抽出される特定のトランスポートストリームパケットの数をカウントするカウンタ部と、
    前記受信部が次に受信した検証パケットに含まれる署名情報としてのハッシュ値と、前記生成されたハッシュ値とを照合する照合部と、
    前記照合部による照合の結果、前記検証パケットに含まれる前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記検証パケットと前記次に受信した検証パケットとの間の区間において、前記カウンタ部でカウントされたパケットの数と、前記検証パケットに含まれている前記識別子で規定されたトランスポートストリームパケットの数とが一致しないときは、当該区間を署名検証区間から除外する処理部と、
    を具えることを特徴とする受信装置。
  2. 請求項1に記載の受信装置において、
    前記処理部は、前記照合部による照合の結果、前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記カウンタ部でカウントされたパケットの数と、前記検証パケットに含まれる識別子で規定されたトランスポートストリームパケットの数とが一致したときは、当該区間を不正区間であると判定する、
    ことを特徴とする受信装置。
  3. 請求項1に記載の受信装置において、
    前記署名検証区間から除外した区間のトランスポートストリームパケットを用いてコンテンツまたはサービスを出力する場合、当該除外した区間の前および/または後の区間の署名検証結果に基づいて、前記コンテンツまたはサービスの出力を制御する制御部と、
    をさらに具える、ことを特徴とする受信装置。
  4. 請求項1〜3のいずれか1項に記載の受信装置において、
    前記各パケットの一部に含まれる識別子が、前記トランスポートストリームパケットのヘッダ情報のトランスポートスクランブリングコントロールフィールドに格納され、
    前記抽出部が、前記トランスポートストリームパケットのヘッダ情報のトランスポートスクランブリングコントロールフィールドに格納されている識別子に基づき、前記署名情報としてのハッシュ値の生成に用いたトランスポートストリームパケットを判別して、トランスポートストリームパケットを抽出する、
    ことを特徴とする受信装置。
  5. 署名情報付きのトランスポートストリームと、該トランスポートストリームの署名を検証するための検証パケットと、を受信する受信ステップと、
    前記検証パケットに含まれる識別子、および、前記トランスポートストリームの各パケットの一部に含まれる識別子に基づき、署名情報としてのハッシュ値の生成に用いたトランスポートストリームパケットを判別して、前記受信したトランスポートストリームから特定のパケットを抽出する抽出ステップと、
    前記抽出ステップにより抽出された特定のトランスポートストリームパケットを、前記検証パケットに含まれる、識別子が示す数だけ用いて、ハッシュ値を生成する生成ステップと、
    前記検証パケットを受信した後、前記パケットに含まれる識別子に基づき抽出される特定のトランスポートストリームパケットの数をカウントするカウンタステップと、
    前記受信ステップが次に受信した検証パケットに含まれる署名情報としてのハッシュ値と、前記生成されたハッシュ値とを照合する照合ステップと、
    前記照合水テップによる照合の結果、前記検証パケットに含まれる前記署名情報としてのハッシュ値と、前記生成されたハッシュ値とが一致しない場合、前記検証パケットと前記次に受信した検証パケットとの間の区間において、前記カウンタ部でカウントされたパケットの数と、前記検証パケットに含まれている識別子で規定されたトランスポートストリームパケットの数とが一致しないときは、当該区間を署名検証区間から除外する処理ステップと、
    を有することを特徴とする署名検証方法。
  6. 特定のパケットを識別するための識別子と、該特定のパケットの数を規定する識別子と、を設定する設定部と、
    前記設定部により設定した特定のパケットを識別するための識別子に基づき、トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記パケットの数を規定する識別子が示す数だけ用いて、署名情報としてのハッシュ値を生成する生成部と、
    前記特定のパケットを識別するための識別子と、前記パケットの数を規定する識別子と、ハッシュ値とを含む検証パケットをトランスポートストリームに配置してストリームを生成するストリーム生成部と、
    前記生成したストリームに含まれるパケットを順次、送信する送信部と、を具え、
    前記ストリーム生成部は、前記選び出したトランスポートストリームパケットのヘッダに前記特定のパケットを識別するための識別子を含める、
    ことを特徴とするストリーム送信装置。
  7. 特定のパケットを識別するための識別子と、該特定のパケットの数を規定する識別子と、を設定する設定ステップと、
    前記設定ステップにより設定した特定のパケットを識別するための識別子に基づき、トランスポートストリームから特定のパケットを選び出し、該選び出したトランスポートストリームパケットを前記検証パケットに含まれる前記パケットの数を規定する識別子が示す数だけ用いて、署名情報としてのハッシュ値を生成する生成部と、
    前記特定のパケットを識別するための識別子と、前記パケットの数を規定する識別子と、ハッシュ値とを含む検証パケットをトランスポートストリームに配置してストリームを生成するストリーム生成部と、
    前記生成したストリームに含まれるパケットを順次、送信する送信部と、を具え、
    前記ストリーム生成部は、前記選び出したトランスポートストリームパケットのヘッダに前記特定のパケットを識別するための識別子を含める、
    ことを特徴とするストリーム生成方法。
JP2007247833A 2007-09-25 2007-09-25 受信装置、およびストリーム送信装置 Expired - Fee Related JP5053014B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2009081556A true JP2009081556A (ja) 2009-04-16
JP5053014B2 JP5053014B2 (ja) 2012-10-17

Family

ID=40656007

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5053014B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011101192A (ja) * 2009-11-05 2011-05-19 Nippon Telegr & Teleph Corp <Ntt> 伝送装置及び伝送方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001054099A1 (fr) * 2000-01-21 2001-07-26 Sony Corporation Systeme d'authentification de donnees
JP2003022007A (ja) * 2001-07-05 2003-01-24 Kddi Corp ストリーム転送における電子署名方法、システム、プログラム及びプログラムを記録した記録媒体
JP2003338841A (ja) * 2002-05-22 2003-11-28 Sony Corp プロトコル、情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
JP2009025657A (ja) * 2007-07-20 2009-02-05 Kyocera Corp 送信装置および受信方法、並びに受信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001054099A1 (fr) * 2000-01-21 2001-07-26 Sony Corporation Systeme d'authentification de donnees
JP2003022007A (ja) * 2001-07-05 2003-01-24 Kddi Corp ストリーム転送における電子署名方法、システム、プログラム及びプログラムを記録した記録媒体
JP2003338841A (ja) * 2002-05-22 2003-11-28 Sony Corp プロトコル、情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
JP2009025657A (ja) * 2007-07-20 2009-02-05 Kyocera Corp 送信装置および受信方法、並びに受信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011101192A (ja) * 2009-11-05 2011-05-19 Nippon Telegr & Teleph Corp <Ntt> 伝送装置及び伝送方法

Also Published As

Publication number Publication date
JP5053014B2 (ja) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5101965B2 (ja) 受信装置
US8885818B2 (en) Authentication of data streams
EP2507991B1 (en) Digital broadcast receiver and booting method of digital broadcast receiver
CN101902477B (zh) 发送系统、接收系统、媒体流合法性的识别方法和系统
US7865723B2 (en) Method and apparatus for multicast delivery of program information
JP5053013B2 (ja) 受信装置、およびストリーム送信装置
US20010010720A1 (en) Multiple signature authentication in conditional access systems
EP3494707B1 (en) Method and device for checking authenticity of a hbbtv related application
JP4869845B2 (ja) デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム
JP5148190B2 (ja) 受信方法および受信装置
KR102586219B1 (ko) 디지털 브로드캐스트 데이터의 인증
US8627184B2 (en) Systems and methods for protecting a multi-part broadcast control message
JP2008099068A (ja) デジタル放送用コンテンツ配信装置、デジタル放送用コンテンツ認証システム、デジタル放送用コンテンツ認証方法およびプログラム
JP5053014B2 (ja) 受信装置、およびストリーム送信装置
JP5101964B2 (ja) 受信装置
JP5101967B2 (ja) 受信装置
JP5315213B2 (ja) 地上デジタルテレビジョン放送における緊急情報の送信装置及び受信装置
JP5503892B2 (ja) 地上デジタルテレビジョン放送における緊急情報の送信装置及び受信装置
EP1232652B1 (en) Object security implementation
US8036249B2 (en) System and method of data verification
JP2013048485A (ja) 送信装置
JP6450974B2 (ja) 受信装置、受信方法及び受信プログラム
JP2011259220A (ja) 放送送受信システム、受信装置及び再視聴制御方法
JP2005167298A (ja) 受信装置
KR102190886B1 (ko) 조건부 액세스 시스템의 컨트롤 워드 보호

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