(57)【要約】  ストリーム暗号方式でストリームデータを暗号化するための初期化ベクトル(IV1-IV5)であって、ストリーム暗号モジュールにより規定される初期化間隔毎に変更される初期化ベクトルを生成する初期化ベクトル生成部(110)と、初期化パケットの直後のストリームデータを暗号化するときに用いられるべき初期化ベクトルと、該直後のストリームデータとは別のストリームデータを暗号化するときに用いられるべき別の初期化ベクトルとを格納している初期化パケットIPを生成する初期化パケット生成部(140)と、生成された初期化ベクトルを用いて、ストリーム暗号モジュールを初期化し、該初期化されたストリーム暗号モジュールを用いて、当該初期化ベクトルの直後のストリームデータに対してストリーム暗号化を施す暗号化部(120)と、暗号化されたストリーム暗号データを格納している暗号化パケットEPを生成する暗号化パケット生成部(130)と、初期化パケットIPおよび暗号化パケットEPをブロードキャスト／マルチキャストにより送信する送信部(150)とを備えることを特徴とする送信装置(100)を提供する。
2008001860.tif 000002
【特許請求の範囲】
【請求項１】
ブロードキャスト／マルチキャストにより送信される、ストリーム暗号方式で暗号化されたコンテンツデータであって、
該コンテンツデータが、少なくとも、ストリーム暗号モジュールにより規定される初期化間隔毎に変更される初期化ベクトルであって、後続のストリームデータを暗号化するときに用いる初期化ベクトルを格納した初期化パケットと、該初期化ベクトルを用いて前記後続のストリームデータを暗号化したストリーム暗号を格納した暗号化パケットと、から構成され、
前記初期化パケットが、前記後続のストリームデータとは別のストリームデータを暗号化するときに用いる別の初期化ベクトルをさらに格納する、
ことを特徴とするコンテンツデータ。
【請求項２】
請求項１に記載のコンテンツデータにおいて、
前記初期化間隔１つあたりで暗号化される前記暗号化パケットの数が可変する場合、前記初期化パケットは、該初期化パケットに格納されている前記別の初期化ベクトルにより暗号化した前記別のストリームデータのトータルバイト数をさらに格納する、
ことを特徴とするコンテンツデータ。
【請求項３】
請求項１に記載のコンテンツデータにおいて、
前記別の初期化ベクトルは、複数の初期化ベクトルである、
ことを特徴とするコンテンツデータ。
【請求項４】
ストリーム暗号方式でストリームデータを暗号化するための初期化ベクトルであって、ストリーム暗号モジュールにより規定される初期化間隔毎に変更される初期化ベクトルを生成する初期化ベクトル生成部と、
初期化パケットの直後のストリームデータを暗号化するときに用いられるべき初期化ベクトルと、該直後のストリームデータとは別のストリームデータを暗号化するときに用いられるべき別の初期化ベクトルとを格納している初期化パケットを生成する初期化パケット生成部と、
該初期化ベクトル生成部により生成された初期化ベクトルを用いて、ストリーム暗号モジュールを初期化し、該初期化されたストリーム暗号モジュールを用いて、当該初期化ベクトルの直後のストリームデータに対してストリーム暗号化を施す暗号化部と、
前記暗号化部により暗号化されたストリーム暗号データを格納している暗号化パケットを生成する暗号化パケット生成部と、
前記初期化パケットおよび前記暗号化パケットをブロードキャスト／マルチキャストにより送信する送信部と、
を備えることを特徴とする送信装置。
【請求項５】
請求項４に記載の送信装置において、
前記初期化間隔１つあたりで暗号化される前記暗号化パケットの数が可変する場合、前記初期化パケットは、該初期化パケットに格納されている、前記別の初期化ベクトルにより暗号化した前記別のストリームデータのトータルバイト数をさらに格納する、
ことを特徴とする送信装置。
【請求項６】
請求項４に記載の送信装置において、
前記別の初期化ベクトルは、複数の初期化ベクトルである、
ことを特徴とする送信装置。
【請求項７】
初期化パケットの直後のストリームデータを暗号化するための初期化ベクトルと前記直後のストリームデータとは別のストリームデータを暗号化するための別の初期化ベクトルとを格納した初期化パケット、および、初期化ベクトルを用いて暗号化されたストリーム暗号データを格納した暗号化パケット、を受信する受信部と、
前記初期化パケットに格納された初期化ベクトルを用いてストリーム暗号モジュールを初期化し、前記暗号化パケットに格納されたストリーム暗号データを復号する復号部と、
前記受信部で受信されるパケットの受信エラーを検出する検出部と、
該検出ステップでパケットの受信エラーを検出した場合、該受信エラー時のパケットの復号に用いられるべき初期化パケットとは別の初期化パケットに格納されている前記別の初期化ベクトルを用いて、前記受信エラーのパケットに後続する暗号化パケットに格納されている前記ストリーム暗号データを復号するよう前記復号部を制御する制御部と、
を備えることを特徴とする受信装置。
【請求項８】
請求項７に記載の受信装置において、
前記初期化間隔１つあたりで暗号化される前記暗号化パケットの数が可変する場合、前記初期化パケットは、該初期化パケットに格納されている、前記別の初期化ベクトルにより暗号化した前記別のストリームデータのトータルバイト数をさらに格納し、
前記制御部は、前記検出部によりパケットの受信エラーが検出された場合、前記別の初期化パケットに格納されている前記別の初期化ベクトルと、前記トータルバイト数とを用いて、前記受信エラーのパケットに後続する暗号化パケットに格納されている前記ストリーム暗号データを復号するよう前記復号部を制御する、
ことを特徴とする受信装置。
【請求項９】
初期化パケットの直後のストリームデータを暗号化するための初期化ベクトルと前記直後のストリームデータとは別のストリームデータを暗号化するための別の初期化ベクトルとを格納した初期化パケット、および、初期化ベクトルを用いて暗号化されたストリーム暗号データを格納した暗号化パケットを受信機で受信する受信ステップと、
前記初期化パケットに格納された初期化ベクトルを用いてストリーム暗号モジュールを初期化し、前記暗号化パケットに格納されたストリーム暗号データを前記ストリーム暗号モジュールで復号する復号ステップと、
前記受信ステップで受信されるパケットの受信エラーを検出する検出ステップと、
該検出ステップでパケットの受信エラーが検出された場合、該受信エラー時のパケットの復号に用いられるべき初期化パケットとは別の初期化パケットに格納されている前記別の初期化ベクトルを用いて、前記受信エラーのパケットに後続する暗号化パケットに格納されている前記ストリーム暗号データを復号するよう前記復号ステップを制御する制御ステップと、
を含むことを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータ、送信装置、受信装置および復号方法に関し、特に、ブロードキャスト／マルチキャストにより送信されるストリーム暗号で暗号化されたパケットの送信／受信エラー（パケットロス）の耐性を向上させる技法に関する。
【背景技術】
【０００２】
従来からある暗号化技法は、平文をブロック単位で暗号化するブロック暗号方式と、平文を１ビット（或いは数ビット）ずつ暗号化するストリーム暗号方式とに大別される。ストリーム暗号方式は、アルゴリズムが簡便であるため高速な処理が可能であり、携帯電話端末装置、ＳＴＢ（Set Top Box）、ＰＤＡ(Personal Digital Assistants)などの計算処理能力の低い機器にも実装し易い。また、１ビットずつ遅延なく処理できるため、通信や放送に関するデータの暗号化に適した暗号化技法である。このようなストリーム暗号方式では、暗号の安全性をより高める技術が主として開発されてきた。例えば、キーストリーム生成のランダム性を高めて、攻撃に対してより堅牢で安全な暗号化方式が提案されている（特許文献１を参照されたい。）。
【特許文献１】特開平６−７５５２４号公報（段落0009-0016、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したように、従来のストリーム暗号技術は攻撃に対する耐性を向上させるものが主であり、パケットロスなどの伝送路上でのエラー耐性を向上させる技術の開発が遅れている。特に、ブロードキャスト／マルチキャストの無線伝送路では、パケットロスの確率が大幅に増大しているにも関わらず、パケット再送をしないため、エラー時のダメージが大きく、エラー耐性を向上する技術が切望されている。【０００４】
ストリーム暗号方式は、外部同期式ストリーム暗号方式と内部同期式ストリーム暗号方式とに区別される。図８に、従来の外部同期式ストリーム暗号方式を説明するブロック図を示す。図に示すように、外部同期式ストリーム暗号は、暗号文などに全く依存せずにキーストリームを生成でき、ビット誤りが発生しても当該ビットのみがエラーになり、後続の処理では影響を受けることなく復号することが可能である。このような外部同期式ストリーム暗号方式を通信／放送に適用した場合は、送信装置側で暗号化に使った初期値（以降、初期化ベクトルと称する。）を受信装置側で周期的に受けて、この初期化ベクトルで暗号モジュール（ストリーム暗号方式では、暗号モジュールと復号モジュールは同じ）を初期化してキーストリームを生成する必要がある。この初期化パケットをロスした場合には、新たな初期化ベクトルを含む初期化パケットを得るまで復号ができなくなる。【０００５】
図９は、従来技術によるストリーム暗号が含まれる放送データにおける初期化パケットロス処理を示すタイミングチャートである。図に示すように、初期化間隔K1、K2、K3が一定でなく可変である場合（可変長初期化タイミング）には、受信装置側では、初期化パケットの送信タイミングを予測できず、どのパケットが初期化パケットであるかを知ることができない。従って、誤った復号処理によって誤った平文が復元されるのを避けるために、新たな初期化パケットを受信するまで、後続の復号処理を停止する処理を行っている。【０００６】
例えば、図９（ａ）はパケットロスが発生していない正常復号（正常受信）の場合を示しているが、初期化ベクトルIV1の初期化間隔K1の間は、IV1と暗号鍵とに基づき、シフタを初期化する。キーストリーム生成部は、シフタの内容からキーストリームを生成し、この生成した「キーストリーム」と、「暗号化されたパケットのデータ」とをＸＯＲするによって、暗号化されたパケットの復号を行う。初期化ベクトルIV2、IV3による初期化間隔K2、K3でもそれぞれ同様の復号が実行される。【０００７】
図９（ｂ）はパケットロス（受信エラー）が発生した場合を示すものであるが、初期化間隔K1の間における時間ST1にパケットロスが発生している。この時間ST1から新たな初期化ベクトルIV2を含むパケットが到着する時間ST2までの間は、誤った復号処理をして誤った平文が復元されるのを避けるために復号を停止する。そして、新たな初期化ベクトルIV2を含むパケットを受信した後は、通常通りの復号を再開する。このようなパケットロスへの対処方法では、例えば、復号停止区間に映像データの重要なフレーム（MPEGのIフレーム）などが配置されている場合には、この重要フレームに基づき作成される後続の映像が全く再生できないことになるなど弊害が大きい。また、復号停止区間では、正常に受信したパケットを全て廃棄するため非常に無駄である。【０００８】
従来の通信では、有線の伝送路が主流であったため、パケットロスの頻度が非常に小さく、また、例えパケットロスが発生したとしても、パケット再送などによってロスしたパケットを回復させることも容易である。しかしながら、一般的なブロードキャスト／マルチキャストなどのように再送することが基本的にない通信／放送方式においては、ロスしたパケットを回復させることは困難である。また、無線技術の発達によって、ブロードキャスト／マルチキャストの伝送路に無線伝送路が使用されるケース（典型的には、携帯電話端末向けのワンセグメント放送）が多くなり、これに伴ってパケットロスの頻度が有線伝送路のそれに比べて顕著に増大している。【０００９】
そこで、本発明の目的は、パケットロス（受信エラー）が発生した場合のエラー耐性を向上させたストリーム暗号技法（データ、装置、方法など）を提供することである。
【課題を解決するための手段】
【００１０】
上述した諸課題を解決すべく、本発明によるコンテンツデータ（データ構造）は、
ブロードキャスト／マルチキャストにより送信される、ストリーム暗号方式で暗号化されたコンテンツデータであって、
該コンテンツデータが、少なくとも、ストリーム暗号モジュール（アルゴリズム）により規定される初期化間隔毎に変更される初期化ベクトルであって、（その初期化パケットに後続する）後続のストリームデータを暗号化するときに用いる初期化ベクトルを格納した初期化パケットと、該初期化ベクトルを用いて前記後続のストリームデータを暗号化したストリーム暗号を格納した暗号化パケットと、から構成され、
前記初期化パケットが、前記後続のストリームデータとは別のストリームデータ（典型的には、前記ストリームデータに先行するストリームデータ）を暗号化するときに用いる別の初期化ベクトルをさらに格納する、
ことを特徴とする。【００１１】
また、本発明の一実施態様によるコンテンツデータは、
前記初期化間隔１つあたりで暗号化される前記暗号化パケットの数が可変する場合、前記初期化パケットは、該初期化パケットに格納されている前記別の初期化ベクトルにより暗号化した前記別のストリームデータのトータルバイト数を（該別の初期化ベクトルに対応付けて）さらに格納する、
ことを特徴とする。【００１２】
また、前記別の初期化ベクトルは、複数の初期化ベクトルとすることが好適である、【００１３】
また、本発明の別の実施態様による送信装置（暗号装置）は、
ストリーム暗号方式でストリームデータを暗号化するための初期化ベクトルであって、ストリーム暗号モジュール（アルゴリズム）により規定される初期化間隔毎に変更される初期化ベクトルを生成する初期化ベクトル生成部（擬似乱数発生器など）と、
初期化パケットの直後のストリームデータを暗号化するときに用いられるべき初期化ベクトルと、該直後のストリームデータとは別のストリームデータ（典型的には、前記直後のストリームデータに先行するストリームデータ）を暗号化するときに用いられるべき別の初期化ベクトルとを格納している初期化パケットを生成する初期化パケット生成部と、
該初期化ベクトル生成部により生成された初期化ベクトルを用いて、ストリーム暗号モジュール（ハードウェアモジュール、または、ソフトウェアモジュール、またはこれを組み合わせたモジュールなど）を初期化し、該初期化されたストリーム暗号モジュールを用いて、当該初期化ベクトルの直後のストリームデータに対してストリーム暗号化を施す暗号化部（ストリーム暗号モジュールを操作・実行するＣＰＵなど）と、
前記暗号化部により暗号化されたストリーム暗号データを格納している暗号化パケットを生成する暗号化パケット生成部と、
前記初期化パケットおよび前記暗号化パケットをブロードキャスト／マルチキャストにより送信する送信部と、
を備えることを特徴とする。【００１４】
また、本発明のさらに別の実施態様による送信装置（暗号装置）は、
前記初期化間隔１つあたりで暗号化される前記暗号化パケットの数が可変する場合、前記初期化パケットは、該初期化パケットに格納されている、前記別の初期化ベクトルにより暗号化した前記別のストリームデータのトータルバイト数を（この別の初期化ベクトルに対応付けて）さらに格納する、
ことを特徴とする。【００１５】
また、前記別の初期化ベクトルは、複数の初期化ベクトルとすることが好適である、【００１６】
また、本発明のさらに別の実施態様による受信装置（復号装置）は、
初期化パケットの直後のストリームデータを暗号化するための初期化ベクトルと前記直後のストリームデータとは別のストリームデータを暗号化するための別の初期化ベクトルとを格納した初期化パケット、および、初期化ベクトルを用いて暗号化されたストリーム暗号データを格納した暗号化パケット、を受信する受信部（受信回路など）と、
前記初期化パケットに格納された初期化ベクトルを用いてストリーム暗号モジュールを初期化し、前記暗号化パケットに格納されたストリーム暗号データを復号する復号部（回路、暗号モジュールを実行するCPUなど）と、
前記受信部で受信されるパケットの受信エラー（パケットロス）を検出する検出部と、
該検出ステップでパケットの受信エラーを検出した場合、該受信エラー時のパケットの復号に用いられるべき初期化パケットとは別の初期化パケットに格納されている前記別の初期化ベクトルを用いて、前記受信エラーのパケットに後続する暗号化パケットに格納されている前記ストリーム暗号データを復号するよう前記復号部を制御する制御部（回路、制御モジュールを実行するＣＰＵなど）と（例えば、別の初期化ベクトルが先行するデータストリ−ムの暗号化のためのものである場合は、受信エラー検出を受け、次の初期化パケットを受信するまで復号を停止し、次の初期化パケットを受信すると、当該次の初期化パケットに格納されている別の初期化ベクトルを用いて、復号停止していた前記受信エラーのパケットに後続するストリーム暗号データの復号を再開する）、
を備えることを特徴とする。【００１７】
また、本発明のさらに別の実施態様による受信装置（復号装置）は、
前記初期化間隔１つあたりで暗号化される前記暗号化パケットの数が可変する場合、前記初期化パケットは、該初期化パケットに格納されている、前記別の初期化ベクトルにより暗号化した前記別のストリームデータのトータルバイト数を（この別の初期化ベクトルに対応付けて）さらに格納し、
前記制御部は、前記検出部によりパケットの受信エラーが検出された場合、前記別の初期化パケットに格納されている前記別の初期化ベクトルと、前記トータルバイト数とを用いて、前記受信エラーのパケットに後続する暗号化パケットに格納されている前記ストリーム暗号データを復号するよう前記復号部を制御する、
ことを特徴とする。【００１８】
また、本発明の別の態様による復号方法（受信方法）は、
初期化パケットの直後のストリームデータを暗号化するための初期化ベクトルと前記直後のストリームデータとは別のストリームデータを暗号化するための別の初期化ベクトルとを格納した初期化パケット、および、初期化ベクトルを用いて暗号化されたストリーム暗号データを格納した暗号化パケットを受信機で受信する受信ステップと、
前記初期化パケットに格納された初期化ベクトルを用いてストリーム暗号モジュールを初期化し、前記暗号化パケットに格納されたストリーム暗号データを前記ストリーム暗号モジュールで復号する復号ステップと、
前記受信ステップで受信されるパケットの受信エラーを検出する検出ステップと、
該検出ステップでパケットの受信エラーが検出された場合、該受信エラー時のパケットの復号に用いられるべき初期化パケットとは別の初期化パケットに格納されている前記別の初期化ベクトルを用いて、前記受信エラーのパケットに後続する暗号化パケットに格納されている前記ストリーム暗号データを復号するよう前記復号ステップを制御する制御ステップと（例えば、別の初期化ベクトルが先行するデータストリ−ムの暗号化のためのものである場合は、受信エラー検出を受け、次の初期化パケットを受信するまで復号を停止し、次の初期化パケットを受信すると、当該次の初期化パケットに格納されている別の初期化ベクトルを用いて、復号停止していた前記受信エラーのパケットに後続するパケットに含まれるストリーム暗号データの復号を再開する）、
を含むことを特徴とする。【００１９】
上述したように本発明の解決手段をデータ、装置、方法として説明してきたが、本発明はこれらに実質的に相当する他のタイプの発明構成（即ち、データ構造、方法、プログラム、プログラムを記録した記憶媒体）としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
【発明の効果】
【００２０】
本発明によれば、パケット再送をしない一般的なブロードキャスト／マルチキャストにおける暗号化パケットロス時のエラー耐性を顕著に向上させて、より高品質なコンテンツ（番組）の提供・再生を可能にする。特に、パケットロスの確率が顕著に増大する無線伝送路を利用したブロードキャスト／マルチキャストでは、エラー時のダメージを最小化し、エラー耐性を大幅に向上させることが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明による送信装置（暗号装置）および受信装置（復号装置）からなるストリーム暗号通信システムの基本的な構成を示すブロック図である。
【図２】本発明による受信装置（復号装置）のパケットロス時の回復処理を示すフローチャートである。
【図３】ストリーム暗号方式でパケット群（データストリーム）を暗号化したときの一般的なパケット配列を示す図である。
【図４】本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。
【図５】本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。
【図６】本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。
【図７】本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。
【図８】従来の外部同期式ストリーム暗号方式を説明するブロック図である。
【図９】従来技術によるストリーム暗号が含まれる放送データにおける初期化パケットロス処理を示すタイミングチャートである。
【発明を実施するための最良の形態】
【００２２】
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明する。図１は、本発明による送信装置（暗号装置）および受信装置（復号装置）からなるストリーム暗号通信システムの基本的な構成を示すブロック図である。図に示すように、本発明によるストリーム暗号通信システムは、送信装置（暗号装置）100および受信装置（復号装置）200から構成される。【００２３】
＜送信装置（暗号装置）の構成＞
送信装置100は、初期化ベクトル（ＩＶ）生成部110、暗号化部120、暗号化パケット生成部130、初期化パケット生成部140、送信部150、および、アンテナANT1を備える。暗号化部120は、シフタ（LFSR: Linear Feedback Shift Register）121、キーストリーム生成部122、および、ＸＯＲ（排他的論理和演算）回路123を備える。初期化ベクトル生成部110は、不定期に初期化ベクトルIVを生成する。シフタ(LSFR)121は、初期化ベクトルIVと、外部のサーバSVなどから供給された暗号鍵（公開鍵）PKとに基づき、シフタ(LSFR)121を初期化する。キーストリーム生成部122は、シフタ(LSFR)121の内容からキーストリームKSを生成し、ＸＯＲ回路123に供給する。その後、シフタ(LSFR)121は、ストリーム暗号アルゴリズムに基づいたシフト操作を行う。ＸＯＲ回路123は、キーストリームKSと平文ソース（番組のコンテンツデータなど）から得た平文データをＸＯＲすることによって、平文データをストリーム暗号データに変換する。初期化ベクトルIVが変更されるまで、このようなシフト動作およびＸＯＲ演算を続ける。初期化ベクトルIVが変更された場合は、暗号部（即ち、暗号アルゴリズム（モジュール））を初期化して新たなキーストリームKSを生成し、上述した処理を繰り返す。【００２４】
ＸＯＲ回路123は、ストリーム暗号データを暗号化パケット生成部130に供給し、暗号化パケット生成部130は、供給されたストリーム暗号データに適切なヘッダなど付加して暗号化パケットEPを作成する。暗号化パケット生成部130で作成された暗号化パケットは送信部150に送出される。初期化パケット生成部140は、ストリームデータを暗号化したときに使った初期化ベクトルIV_currentと、初期化ベクトルIVに先行する（１つ以上手前の）初期化ベクトルIV_previousを格納した初期化パケットIP_currentとを生成し、送信部150に与える。初期化パケットIPおよび暗号化パケットEPを受けた送信部150は、これらパケットから構成されるパケットストリーム（トランスポートストリーム）を生成する。現在の初期化パケットIP_currentは、このパケットに後続するデータを暗号化するときに用いる初期化ベクトルIV_currentと、先行初期化ベクトルIV_previousと、この先行初期化ベクトルIV_previousで暗号化されたデータのトータルバイト数IV_previous_numとを格納する。前の初期化ベクトルIV_previousで復号される区間が重要区間である場合などは、他の初期化パケットIP（例えば、重要区間の１つ手前の区間用のIP）にこの初期化ベクトルとそれに対応するトータルバイト数を格納する。これによって、受信装置側で、現行の初期化パケット、および後続の初期化パケットがエラーになっても、先行（後続）する他の初期化パケットに格納されているIVおよびトータルバイト数を利用して、初期化および復号を行い、重要区間のコンテンツ（番組）を正常に再生することが可能となる。また、パケットストリームに変調、多重化などの諸処理を施しアンテナANT1を介して送信（放送）する。このように送信装置は、図示していない変調器、さらには音声、映像、データなどのプログラムを多重化するマルチプレクサなども備えるが、これらの説明は省略する。【００２５】
＜受信装置（復号装置）の構成＞
受信装置200は、初期化ベクトル（ＩＶ）抽出部210、復号部220、受信エラー検出部230、制御部240、受信部250、および、アンテナANT2を備える。復号部220は、シフタ（LFSR: Linear Feedback Shift Register）221、キーストリーム生成部222、および、ＸＯＲ（排他的論理和演算）回路223を備える。なお、受信装置は、図示していない復調器、および、デマルチプレクサなども備える。なお、ストリーム暗号方式では、暗号で用いる暗号化アルゴリズム（即ち、暗号モジュール）と、復号で用いる復号アルゴリズム（即ち、復号モジュール）は全く同一のものを使用できるため、復号アルゴリズムや復号モジュールを暗号アルゴリズムと称することもある。【００２６】
初期化ベクトル抽出部210は、受信部250から得た初期化パケットIPから初期化ベクトルIVを抽出し、これをシフタ(LFSR)222に供給する。シフタ(LFSR)222は、抽出した初期化ベクトルIVと、外部のサーバSVなどから暗号鍵（公開鍵）PKとに基づき、シフタを初期化する。キーストリーム生成部222は、シフタの内容からキーストリームKSを生成し、これをＸＯＲ回路223に供給する。その後、シフタ(LFSR)222はストリーム暗号アルゴリズムに基づいたシフト操作を行う。ＸＯＲ回路223は、キーストリームKSと受信部250から得たストリーム暗号データをＸＯＲすることによって、ストリーム暗号データを平文データに変換（復号）する。初期化ベクトルIVが変更されるまで、このようなシフト動作およびＸＯＲ演算を続ける。初期化ベクトルIVが変更された場合は、復号部（即ち、復号アルゴリズム（モジュール））を初期化して新たなキーストリームKSを生成し、上述した処理を繰り返す。このようにして、受信装置側の復号部のシフタと平文データとの対応付けの状態を、送信装置側の暗号化部のシフタおよび暗号データとの対応付けの状態と同期させながら、復号処理が行われる。この同期がずれると正常な復号を行うことができないが、これについては以下に詳細に説明する。【００２７】
＜同期ずれの解消＞
同期ずれの解消方法について説明する。受信（復号）側のパケットロス時には、そのロスしたビット数の分だけシフトレジスタの状態が、暗号モジュール側のシフトレジスタのそれとずれる、いわゆる「同期ずれ」が発生する。この同期ずれが発生すると、暗号データを正しく復号することができず、でたらめな平文が復号・生成されてしまう。トランスポートストリーム（ＴＳ）パケットのヘッダなどには、連続性指標(Continuity_Counter)が挿入されている。この連続性指標は、同じPID内において値が1ずつ増分する４ビットのカウンタであり、受信側でこのカウンタの不連続を検出することで、パケット損失に関わるパケット数を検出することができる。ヌルパケット（即ちペイロードのない空パケット）の場合は、連続性指標が増分されないため、ヌルパケットは損失パケット数から除外することができる。【００２８】
例えば、アダプテーションフィールド制御値が”01”のＴＳストリームの場合は、１パケットが１８８バイト固定長（ヘッダは４バイト、ペイロード部は１８４バイト）であるため下式：
総損失ビット数＝損失パケット個数×１８４×８
によって、シフタ同期に影響する総損失ビット数を求めることができる。エラー発生当時にシフタに格納されているキーストリームを、損失したパケット数で定まる総損失ビット数だけシフトさせてやれば、受信機（復号）側のシフタの状態を暗号器（送信機）側と「再同期」させることができる。即ち、パケットロスに含まれる総損失ビット数を検知し得るような情報（例えば、連続性指標およびパケット長データ）を利用して、同期ずれを解消して復号を再開することが可能となる。【００２９】
図２は、本発明による受信装置（復号装置）のパケットロス時の回復処理を示すフローチャートである。図に示すように、ステップS10では、ストリームデータを暗号化したときに使った初期化ベクトルIV_currentと、初期化ベクトルIVに先行する先行（１つ以上手前の）初期化ベクトルIV_previousと、この先行初期化ベクトルIV_previousで暗号化されたデータのトータルバイト数IV_previous_numとを格納した初期化パケットIP、および、前記初期化ベクトルを用いて暗号化されたストリーム暗号データを格納した暗号化パケットEPを含む放送波（被変調波）を受信する。【００３０】
次に、受信した放送波を復調し、初期化パケットIP、および、初期化ベクトルIVを用いて暗号化されたストリーム暗号データを格納した一連の暗号化パケットEPを含むＴＳパケットを得る（S11）。携帯電話端末向けのワンセグメント放送では、通常は、音声情報、映像情報、データ放送用情報のパケットに分離（振り分け）され、音声復号部、映像復号部、データ復号部などに供給されることとなる。次に、初期化パケットIPに格納された現行初期化ベクトルIV_currentを用いてストリーム暗号モジュールを初期化し（S12）、暗号化パケットEPに格納されたストリーム暗号データを復号する（S13）。【００３１】
受信中は常に、リードソロモン符号などを用いて受信するパケットの受信エラー（パケットロス）を検出し、検出した場合は一旦後続の復号を停止する（S14）。そして、次の初期化IPの受信を待ち、これを受信した後、受信エラーのパケット（ロストパケット）が初期化パケットIPであるか否かを判定する（S16）。ちなみに、IV_previous_numと正常受信パケット数とを用いて判定することが可能である。受信エラーのパケット（ロストパケット）が初期化パケットIPであると判定された場合は、次の初期化IPに含まれている先行初期化ベクトルIV_previousで復号を再開する(S17)。受信エラーのパケット（ロストパケット）が初期化パケットIPでないと判定された場合は、ロストパケットは暗号化パケットEPであると想定されるため、後続の暗号化パケットEPの復号を再開するためには、後続の暗号化パケットEPの先頭位置を求める必要がある。本発明では、次の初期化IPに含まれている先行初期化ベクトルの「トータルバイト数IV_previous_num」およびエラーから復旧した後から次の初期化パケットまでの正常受信パケット数（或いは、初期化パケットからエラー時までの正常受信パケット数およびエラーパケット数）を利用して、エラーパケットに後続する正常受信の暗号化パケットEPの先頭位置（エラー位置の次のビット数）を求める（S18）。この先頭位置から初期化後のビット数を引けば、シフタ同期のためのシフト回数が算出される。この算出したシフト回数だけシフタをシフトさせ、暗号時のシフタのシフタ位置と復号部のシフタのそれとの同期を取る（S19）。そして、その同期を取った復号部のシフタを使って復号を再開する（S20）。【００３２】
図３は、ストリーム暗号方式でパケット群（データストリーム）を暗号化したときの一般的なパケット配列を示す図である。図に示すように、暗号化前のデータを含む平文パケットP1-P7がある。平文パケットP1１-P4を初期化ベクトルIV1で初期化したストリーム暗号アルゴリズムで暗号化すると、平文パケットP1-P4は暗号化パケットEP1-EP4にそれぞれ変換される。そして、初期化パケットIV1を用いて暗号化された一連の暗号化パケットEP1-EP4の直前に、初期化パケットIV1を含む初期化パケットIP1を配置する。同様に、後続のデータにも暗号化を行い、初期化パケットIV2で暗号化された一連の暗号化パケットEP5-EP7と先行する一連の暗号化パケットEP1−EP4との間に、初期化パケットIV2を含む初期化パケットIP2を配置する。本発明では、この初期化パケットIPに、通常とは異なる情報を格納してエラー（パケットロス）耐性を向上させるものである。【００３３】
図４は、本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。図４（ａ）、（ｂ）に示すように、初期化パケットIP2は、現行の初期化ベクトルIV2と、先行初期化ベクトルIV1と、この先行初期化ベクトルIV1で暗号化したトータルバイト数IV1(num)（=初期化間隔K1）とを格納する。同様に、初期化パケットIP3は、現行の初期化ベクトルIV3と、先行初期化ベクトルIV2と、この先行初期化ベクトルIV2で暗号化したトータルバイト数IV2(num)（=初期化間隔K2）とを格納する。【００３４】
＜暗号化パケットロスの復号回復処理＞
図４（ａ）は、初期化間隔K1内でパケットロスPL1が発生した場合の復号回復処理を示す図である。図に示すように、初期化間隔K1の途中でパケットロスPL1が発生する。受信装置は、次に正常受信した時点[T1]から復号を停止し、初期化パケットIP2を受信する時点[T2]までに正常受信した暗号化パケットEPをバッファ（図示せず）に保持しておく。受信した初期化パケットIP2に格納されている先行初期化ベクトルIV1で暗号化したトータルバイト数IV1(num)（=初期化間隔K1）から、バッファに格納された正常受信した複数の暗号化パケットEPの数から求めた復号リカバリー区間[T1-T2]の正常受信バイト数を引いて、シフタの同期位置を割り出す。この割り出したシフタの同期位置までシフタ内の数値をシフトさせて同期を取り、復号リカバリー区間[T1-T2]に受信した暗号化パケットEPの復号を再開する。従って、本発明によって、従来は回復できなかった復号リカバリー区間[T1-T2]の区間に受信したパケットを正常に復号することが可能となる。【００３５】
＜初期化パケットロスの復号回復処理＞
図４（ｂ）は、初期化パケットIP2のパケットロスPL2が発生した場合の復号回復処理を示す図である。図に示すように、初期化パケットIP2を受信するときにパケットロスPL2が発生する。受信装置は、次に正常受信した時点[T4]から復号を停止し、初期化パケットIP3を受信する時点[T5]までバッファ（図示せず）に受信した複数の暗号化パケットEPを保持しておく。受信した初期化パケットIP3に格納されている先行初期化ベクトルIV2で暗号モジュールの初期化を行い、復号リカバリー区間[T4-T5]に受信したパケットの復号を行う。従って、本発明によって、従来は回復できなかった復号リカバリー区間[T4-T5]の区間に受信したパケットを正常に復号することが可能となる。【００３６】
＜連続初期化パケットロスの復号回復処理＞
図５は、本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。図５に示すように、初期化パケットIP2は、現行の初期化ベクトルIV2と、後続初期化ベクトルIV3と、この後続初期化ベクトルIV3で暗号化したトータルバイト数IV3(num)（=初期化間隔K3）と、別の初期化ベクトルとして先行するものと含むか（−）、或いは、後続のものを含むか（＋）を示す符号フィールドSFとを格納する。この例では、初期化間隔K3が重要ストリーム区間であるため、初期化パケットIP2がSF内にプラス符号を持ち、後続の初期化ベクトルとこの後続初期化ベクトルで暗号化したトータルバイト数とを持つことを示す。他の初期化パケットIP3-IP5はSF内にマイナス符号を持ち、先行する初期化ベクトルとこの先行初期化ベクトルで暗号化したトータルバイト数を持つことを示してある。即ち、重要ストリーム区間である初期化間隔K3は、その復号に必要な情報を前後の初期化パケットに含ませて、よりエラー耐性を向上させてある。【００３７】
図に示すように、初期化パケットIP3、IP4を受信するときにパケットロスPL3、PL4がそれぞれ発生する。受信装置は、パケットロスPL3の後で正常受信した時点[T7]から復号を停止し、パケットロスPL4が発生する時点[T8]までに正常受信した複数の暗号化パケットEPをバッファ（図示せず）に保持しておく。この後、初期化パケットIP4の受信もエラーになっているため、復号を再開させずに、初期化間隔K4の区間に正常受信した暗号化パケット（正常受信長V）もバッファに格納しておく。【００３８】
初期化パケットIP5を受信した後、初期化パケットIP2のIV3(num)、既知の初期化パケットIP4の長さW、初期化パケットIP5のIV4(num)、初期化間隔K4における正常受信長Vに基づき、初期化間隔K3で受信したパケットが異なる初期化ベクトルIVで暗号化されたものであることが判明する。初期化パケットIP2のIV3で暗号モジュールの初期化を行い、復号リカバリー区間[T7-T8]の復号を行う。初期化間隔K4の正常受信長Vのパケットは、図４の場合と同様に初期化パケットIP5の情報を利用して復号を行う。従って、本発明によって、従来は回復できなかった２つの初期化パケットの連続エラーが発生しても正常に復号することが可能となる。【００３９】
図５の場合は、重要ストリーム区間である「初期化間隔K3」のための初期化パケットIP3のパケットロスのために、初期化パケットIP2に初期化ベクトルIV3,IV3(num)を格納し、初期化パケットIP5にIV(num)を格納してある。即ち、重要ストリーム区間に先行するパケット(IP2)と、当該重要ストリーム区間に後続するパケット(IP5)とは、この区間のみのパケットロス耐性を高める。しかしながら、パケット(IP5)は、これに後続する初期化パケットIP6のパケットロスに対して対応することができない。同様に、パケット(IP2)は、これに先行する初期化パケットIP1のパケットロスに対して対応することができない。即ち、重要ストリーム区間が近接する場合には、図５のデータフォーマットでは対応できないケースが発生してしまう。このようなケースでは、より重要な区間のエラー耐性を高めるような構成を取るしかない。さらに、図５のようなデータフォーマットでは、隣接する２つの初期化パケットがエラーにより受信できないケースであってもデータを成功裏に復号することができるが、３つ以上連続して初期化パケットエラーが発生した場合には、対応することができない。このような、重要ストリーム区間が近接する場合、或いは、３つ以上の初期化パケットロスが発生した場合に対応するためのデータフォーマットを図６を用いて説明する。【００４０】
＜３個以上の連続初期化パケットロスの復号回復処理＞
図６は、本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。図６に示すように、３個の初期化パケットIP5,IP6,IP7が連続してパケットロスした場合、図５のようなデータフォーマットでは、上述したように復号できない区間が発生してしまう。そこで、本実施態様では、当該パケットが本来格納する初期化ベクトル以外に、複数の他の初期化ベクトルを１つの初期化パケットに格納させる。例えば、初期化パケットIP3は、当該パケットが本来格納する初期化ベクトルIV3および当該ベクトルで暗号化されたトータルバイト数IV3(num)を格納し、さらに、複数の他の初期化ベクトル、この場合は、初期化ベクトルIV1および当該ベクトルで暗号化されたトータルバイト数IV1(num)、初期化ベクトルIV5および当該ベクトルで暗号化されたトータルバイト数IV5(num)を格納する。即ち、１つの初期化パケットが、本来の初期化ベクトル以外に、複数の初期化パケットを格納することによって、当該初期化パケットが、２以上後の初期化区間と、１以上先行する初期化区間との復号をサポートすることが可能となり、信頼性がより高い伝送システムを実現することができる。このように、初期化ベクトルおよびトータルバイト数に冗長性を持たせることによって、初期化パケットIP5,IP6,IP7においてパケットロスPL5,PL6,PL7が連続して発生しても、初期化間隔K5,K6,K7は、復号リカバリー区間A,B,Cとして成功裏に復号することが可能となる。即ち、初期化間隔K5,K6,K7は、初期化パケットIP3に含まれるIV5とIV5(num)とのセット、初期化パケットIP4に含まれるIV6とIV6(num)とのセット、初期化パケットIP9に含まれるIV7とIV7(num)とのセットによってそれぞれ復号することが可能となる。なお、図示しない初期化パケットIP2がパケットロスになる場合、即ち、パケットロスが近接して発生するときも、本実施態様のように、１つの初期化パケットが、２以上後の初期化区間と、１以上先行する初期化区間との復号をサポートすることよって、近接した２つのパケットロス群に関連する全ての区間を成功裏に復号することが可能となる。従って、よりエラー耐性が向上する。【００４１】
＜初期化間隔内での複数パケットロスの復号回復処理＞
図７は、本発明による受信装置（復号装置）のパケットロス検出時の回復処理を示すタイミングチャートである。図７に示すように、初期化パケットIP2は、現行の初期化ベクトルIV2と、先行初期化ベクトルIV1と、この先行初期化ベクトルIV1で暗号化したトータルバイト数IV1(num)（=初期化間隔K1）とを格納する。同様に、初期化パケットIP3は、現行の初期化ベクトルIV3と、先行初期化ベクトルIV2と、この先行初期化ベクトルIV2で暗号化したトータルバイト数IV2(num)（=初期化間隔K2）とを格納する。【００４２】
図７に示すように、初期化間隔K2内でパケットロスPL8が発生する。受信装置は、このときから所定の廃棄閾値Cの間にパケットロスPL9が再度発生しているため、PL8とPL9との間を廃棄区間Dに設定し、当該廃棄区間に受信したパケットを廃棄し復号は行わない。即ち、このように所定の廃棄閾値Cのような短期間にエラーが再発する場合は、当該区間のデータの重要度は低下するため復号しない。パケットロスPL9の後は復号リカバリ−区間Eに設定し、初期化パケットIP3に格納された情報を利用して復号を再開する。従って、本発明によって、復号しても本来の画像や音声を再生できる可能性が低くなるような区間における復号を停止することが可能となる。【００４３】
本発明は、一般的なブロードキャスト／マルチキャストなどのように再送することが基本的にない通信／放送方式におおいてストリーム暗号を利用する装置に広く適用可能である。特に、本発明は、ワンセグメント放送向けの放送装置、ワンセグメント放送受信機能を搭載した携帯電話端末装置やＰＤＡなどに適用可能である。また、携帯電話端末装置では、絶えずユーザと共に移動するため、無線伝送路を介した受信状態が不調な場合も多く、これに伴ってパケットロスの頻度が増大するが、本発明の技法によってエラー耐性を顕著に向上させ、ブロードキャスト／マルチキャストの良好な視聴環境をユーザに提供可能となる。【００４４】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の部やステップなどを１つに組み合わせたり、或いは分割したりすることが可能である。例えば、実施例では、暗号化した後、暗号化パケットおよび初期化パケットを生成する態様で説明したが、ＭＰＥＧ２などでは、暗号化の前にＰＥＳ（パケット化エレメンタリストリーム）形式、ＰＳ形式（パックパケット化）、ＴＳ（トランスストリーム）形式（ＴＳパケット化）にしたものに格納されているＰＥＳだけを抽出して暗号化してもよい。また、実施例では、トランスポートストリーム（ＴＳ）形式のパケットを例示したが、プログラムストリーム（ＰＳ）パケットでも各パケットのペイロードの長さを固定長にするなどして総損失ビット数を求めることができれば、本発明を適用可能である。また、実施例では、１つの初期化パケットに、現行初期化ベクトルとは別の初期化ベクトルと、当該別の初期化ベクトルを使って暗号化したトータルバイト数とを含ませたが、２つ以上の別の初期化ベクトルおよびトータルバイト数を含むように構成させることも可能である。
【関連出願へのクロスリファレンス】
【００４５】
本願は、日本国特許出願第2006-179555号（2006年6月29日出願）の優先権の利益を主張し、これの全内容を参照により本願明細書に取り込むものとする。
【図１】
2008001860.tif 000003
【図２】
2008001860.tif 000004
【図３】
2008001860.tif 000005
【図４】
2008001860.tif 000006
【図５】
2008001860.tif 000007
【図６】
2008001860.tif 000008
【図７】
2008001860.tif 000009
【図８】
2008001860.tif 000010
【図９】
2008001860.tif 000011
【国際調査報告】
2008001860.tif 000012
2008001860.tif 000013
2008001860.tif 000014
2008001860.tif 000015