(57)【要約】【課題】セキュリティの低下を回避しつつ、暗号化演算処理時の処理負荷を低減させるとともにハードウェアの消費電力を低減する。【解決手段】複数のブロックから構成されるＴＳパケットの暗号化を実行するＴＳパケット暗号化装置であって、ＴＳパケットごとの先頭ブロックである第１暗号化ブロックのデータ内容に基づいて第１暗号化ブロック以外の暗号化するブロックである第２暗号化ブロックを算出する暗号用ブロック生成部を備えるＴＳパケット暗号化装置である。【選択図】      図１
2009171299.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックから構成されるＴＳパケットの暗号化を実行するＴＳパケット暗号化装置であって、
前記ＴＳパケットごとの先頭ブロックである第１暗号化ブロックのデータ内容に基づいて前記第１暗号化ブロック以外の暗号化するブロックである第２暗号化ブロックを算出する暗号用ブロック生成部を備えることを特徴とするＴＳパケット暗号化装置。
【請求項２】
前記暗号用ブロック生成部は、
前記第１暗号化ブロックのデータの示す値により前記第２暗号化ブロックを算出することを特徴とする請求項１に記載のＴＳパケット暗号化装置。
【請求項３】
前記暗号用ブロック生成部は、
前記第１暗号化ブロックのデータを用い演算をしその演算結果に基づいて前記第２暗号化ブロックを決定することを特徴とする請求項１に記載のＴＳパケット暗号化装置。
【請求項４】
前記第１暗号化ブロックと前記第２暗号化ブロックを暗号化する暗号化部と、
前記ＴＳパケットの前記第１暗号化ブロックと前記第２暗号化ブロックに、暗号化した前記第１暗号化ブロックと前記第２暗号化ブロックのデータを入れ替えて暗号化ＴＳパケットを生成する合成部と、
を備えることを特徴とする請求項１に記載のＴＳパケット暗号化装置。
【請求項５】
暗号化ＴＳパケットごとの第１暗号化ブロックと前記第１暗号化ブロックのデータ内容に基づいて第２暗号化ブロックを算出する復号化ブロック判定部と、
前記第１暗号化ブロックと前記第２暗号化ブロックを復号化する復号化部と、
前記暗号化ＴＳパケットの前記第１暗号化ブロックと前記第２暗号化ブロックに、復号化した前記第１暗号化ブロックと前記第２暗号化ブロックのデータを入れ替えて前記ＴＳパケットに戻す合成部と、
を備えることを特徴とするＴＳパケット復号化装置。
【請求項６】
複数のブロックから構成されるＴＳパケットの暗号化を実行するＴＳパケット暗号化方法であって、
前記ＴＳパケットごとの先頭ブロックである第１暗号化ブロックのデータ内容に基づいて前記第１暗号化ブロック以外の暗号化するブロックである第２暗号化ブロックを算出するステップと、
前記第１暗号化ブロックと前記第２暗号化ブロックを暗号化するステップと、
前記ＴＳパケットの前記第１暗号化ブロックと前記第２暗号化ブロックに、暗号化した前記第１暗号化ブロックと前記第２暗号化ブロックのデータを入れ替えて暗号化ＴＳパケットを生成するステップと、
を有することを特徴とするＴＳパケット暗号化方法。
【請求項７】
暗号化ＴＳパケットごとの第１暗号化ブロックと前記第１暗号化ブロックのデータ内容に基づいて第２暗号化ブロックを算出するステップと、
前記第１暗号化ブロックと前記第２暗号化ブロックを復号化するステップと、
前記暗号化ＴＳパケットの前記第１暗号化ブロックと前記第２暗号化ブロックに、復号化した前記第１暗号化ブロックと前記第２暗号化ブロックのデータを入れ替えて前記ＴＳパケットに戻すステップと、
を有することを特徴とするＴＳパケット復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＳパケット暗号化の技術に関する。
【背景技術】
【０００２】
従来、ＴＳパケット（Transport Stream Packet）を暗号化する場合に、図１１（Ａ）に示すようにパケット全体を暗号化する方法が知られている。各パケット（ＴＳＰ１、ＴＳＰ２、ＴＳＰ３・・・）のデータ全体を暗号化して暗号化パケット（ＴＳＰ１’、ＴＳＰ２’、ＴＳＰ３’・・・）を生成している。
【０００３】
また、その他にもパケットの前後に、ＴＳパケットのサイズが暗号化ブロックの整数倍でない場合に、整数倍になるように付加する既知のビットパターン（パディングビット）を挿入して暗号化をする方法も知られている。
【０００４】
また、図１１（Ｂ）に示すような、ＴＳパケットの先頭や特定箇所など固定された一部を暗号化する方法がある。図１１（Ｂ）は、ＴＳパケット（ＴＳＰ１、ＴＳＰ２、ＴＳＰ３・・・）の決められた位置（暗号化部Ｃ１、Ｃ２）に対してのみ暗号化する場合について示した図である。暗号化部Ｃ１は各パケットの先頭に設けられている。暗号化部Ｃ２は各パケットの中間あたりに設けられている。このように暗号化部Ｃ１や暗号化部Ｃ２に対してのみ暗号化をして暗号化パケット（ＴＳＰ１''、ＴＳＰ２''、ＴＳＰ３''・・・）を生成することにより効率よく処理することが可能になる。
【０００５】
ところが、パケットの暗号化をする場所を暗号化部Ｃ１だけにした場合、通常特定パターンとしてＴＳパケットヘッダが含まれるため、暗号を解読される可能性が高くなる。
また、暗号化部Ｃ２を設けてもＴＳパケット内のデータの配列の前後関係などから推測して、暗号を解読される可能性が高くなる。
【０００６】
また、図１１（Ａ）に示したように全体を暗号化する場合、データの配列の前後関係などから解読されるという問題はないが、パケットごとにデータ全体を暗号化演算処理するため処理負荷が増えてしまうという問題がある。例えば、ＣＰＵやプログラマブルデバイスなどのハードウェアの暗号化演算処理時の消費電力が増えてしまう。
【０００７】
また、特許文献１によればトリックプレイを行うために必要なＴＳパケットの位置、パケット数、表示時間等の情報が書かれたトリックプレイ制御テーブルを定義し、ストリームと共に配信する提案がされている。つまり、ディジタル放送用受信機にストリームを蓄積する際、ＭＰＥＧ２デコーダとの接続を容易にし、トリックプレイを行う際、必要な情報の検索を高速に行うことを主目的とした、ディジタル放送用ストリームの蓄積方法が提案されている。
【０００８】
また、特許文献２ではＭＰＥＧ２−ＴＳのスクランブル加工時、スクランブル鍵の更新を加工対象がＩピクチャとなるタイミング毎に行い、ＣＳディジタル放送システム等に使用して好適なＭＰＥＧストリーム加工をし、逆再生や高速再生などの特殊再生を行う場合、制御装置の複雑化・負荷増大を招くことなく、デスクランブルを行うことができるようにする提案がされている。
【特許文献１】特開２００２−２８１４５６号公報
【特許文献２】特開２００３−３２４６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上記のような実情に鑑みてなされたものであり、セキュリティの低下を回避しつつ、暗号化演算処理時の処理負荷を低減させるとともにハードウェアの消費電力を低減するＴＳパケット暗号化装置とＴＳパケット暗号化方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
態様のひとつである複数のブロックから構成されるＴＳパケットの暗号化を実行するＴＳパケット暗号化装置であって、前記ＴＳパケットごとの先頭ブロックである第１暗号化ブロックのデータ内容に基づいて前記第１暗号化ブロック以外の暗号化するブロックである第２暗号化ブロックを算出する構成である。
【００１１】
上記構成によれば、全体を暗号化する場合に比べて、セキュリティを下げずに処理負荷を減らすことができる。
また、パケットの先頭以外の一部も暗号化し、暗号化位置をパケット毎に変更することで、暗号を解読されにくくする。
【００１２】
また、前記暗号用ブロック生成部は、前記第１暗号化部のデータの示す値により前記第２暗号化部を決定する。
また、前記暗号用ブロック生成部は、前記第１暗号化部のデータを用い演算をしその演算結果に基づいて前記第２暗号化部を決定する。
【００１３】
また、暗号化ＴＳパケットごとの第１暗号化ブロックと前記第１暗号化ブロックのデータ内容に基づいて第２暗号化ブロックを算出し、前記第１暗号化ブロックと前記第２暗号化ブロックを復号化し、前記暗号化ＴＳパケットの前記第１暗号化ブロックと前記第２暗号化ブロックに、復号化した前記第１暗号化ブロックと前記第２暗号化ブロックのデータを入れ替えて前記ＴＳパケットに戻す構成である。
【発明の効果】
【００１４】
開示した装置および方法によれば、セキュリティの低下を回避しつつ、暗号演算処理時の処理負荷を低減させるとともにハードウェアの消費電力を低減することができる。
【発明を実施するための最良の形態】
【００１５】
図１は本発明の原理を示す図である。本例ではＴＳパケット（ＴＳＰ１、ＴＳＰ２、ＴＳＰ３・・・）の先頭に暗号化ブロックＣ１（第１暗号化ブロック）とパケットごとに異なる位置に暗号化ブロックＣ３（第２暗号化ブロック）を設ける。
【００１６】
パケットの暗号化ブロックＣ１は必ず暗号化し、パケット内の別の一部分である暗号化ブロックＣ３も暗号化を行い暗号化ＴＳパケット（ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）を生成する。暗号化ブロックＣ１以外の暗号化ブロックＣ３の暗号化をする位置の指定は、先頭部分の暗号化前のデータを基に決定することにより、暗号化されているパケットの位置を特定できないようにする。
【００１７】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
（実施例１）
図２はＴＳパケット暗号化装置１と、ＴＳパケット暗号化装置１で暗号化されたＴＳパケットを復号するＴＳパケット復号化部２の構成を示す図である。
【００１８】
ＴＳパケット暗号化装置１は、アンテナ３、ＲＦチューナ部４、ＴＳ暗号処理部５、汎用バスインターフェース部６から構成される。
ＴＳパケット復号化部２は、汎用バスインターフェース部７、ＴＳ復号処理部８から構成されている。
【００１９】
アンテナ３は無線電波波を受信してＲＦチューナ部４に伝送する。ＴＳ暗号処理部５はＲＦチューナ部４で復調されたＴＳパケットを取得し、ＴＳパケットの先頭の暗号化ブロックＣ１と、暗号化ブロックＣ３をランダムな位置に配置した暗号化ＴＳパケット（ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）を生成する。
【００２０】
汎用バスインターフェース部６は、ＴＳ暗号処理部５から暗号化ＴＳパケット（ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）を取得してＴＳ復号化部２に転送する。
復号化部２の汎用バスインターフェース部７は、暗号化ＴＳパケット（ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）を取得してＴＳ復号処理部８に転送する。
【００２１】
ＴＳ復号処理部８は、暗号化ＴＳパケット（ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）を復号してＴＳパケット（ＴＳＰ１、ＴＳＰ２、ＴＳＰ３・・・）に戻す。
図３にＴＳ暗号処理部５の構成を示し、ＴＳ暗号処理部５について説明する。
【００２２】
ＴＳ暗号処理部５は、チューナ制御部３１、ＴＳ受信部３２、暗号用ブロック生成部３３、暗号化ブロック判定部３４、暗号化部３５、合成部３６から構成されている。
チューナ制御部３１は、汎用バスインターフェース部６を介して復号化部２からの制御信号を受け取り、ＲＦチューナ部４の制御を行うため制御信号のやり取りを行う。また、汎用バスインターフェース部６を介して復号化部２へ制御情報を送信する。
【００２３】
ＴＳ受信部３２は、ＲＦチューナ部４から転送されるＴＳパケット（平文：ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）を取得して暗号用ブロック生成部３３に転送する。
【００２４】
暗号用ブロック生成部３３は、ＴＳパケット（平文：ＴＳＰ１'''、ＴＳＰ２'''、ＴＳＰ３'''・・・）のパケットごとに暗号化する暗号化ブロックの位置を決定して暗号化ブロック判定部３４に通知する。また、ＴＳパケットを暗号化ブロック判定部３４に転送する。
【００２５】
ここで、ＴＳパケットの先頭はインターバルを監視することにより検出してもよい。
暗号化ブロック判定部３４は、前段の暗号用ブロック生成部３３が生成した通知に基づいてＴＳパケットを暗号化するブロックのみを暗号化部３５に転送する。つまり、暗号化ブロックＣ１、Ｃ３を暗号化部３５に転送して暗号化しないデータは暗号化部３５をスルーさせる。
【００２６】
暗号化部３５は、暗号化ブロックＣ１、Ｃ３を暗号化する。例えば、ＡＥＳ（Advanced Encryption Standard）、ＤＥＳ（Data Encryption Standard）などの暗号化を行う。
合成部３６は、暗号化ブロック判定部３４によりスルーして取得したＴＳパケットの暗号化ブロック挿入位置のデータと暗号化ブロックＣ１、Ｃ３を入れ替える。
【００２７】
図４にＴＳ復号処理部８の構成を示し、ＴＳ復号処理部８について説明する。
ＴＳ復号処理部８は、復号化ブロック判定部４１、復号化部４２、合成部４３、メモリバスインターフェース部４４から構成されている。
【００２８】
復号化ブロック判定部４１は、ＴＳパケット暗号化装置１から転送されてくる暗号化ＴＳパケットを取得し、復号する暗号化ブロックＣ１、Ｃ３を選択して復号化部４２に転送し、暗号化ＴＳパケットの暗号の復号を必要としないデータはスルーさせる。
【００２９】
復号化部４２は、暗号化ブロックＣ１、Ｃ３を復号化して暗号化前のデータに戻し、合成部４３に転送する。
合成部４３では、復号化ブロック判定部４１をスルーしてきた暗号化ＴＳパケットの暗号化ブロックＣ１、Ｃ３と、復号化部４２で復号した暗号化ブロックＣ１、Ｃ３の復号データを入れ替える。
【００３０】
メモリバスインターフェース部４４は、合成部４３からの復号されたＴＳパケットを転送する。
図５は暗号化の動作を示すフロー図である。図５を用い暗号化の動作を説明する。
【００３１】
ステップＳ１では、ＴＳパケットの先頭ブロックである暗号化ブロックＣ１を検出する。暗号化ブロックＣ1であればステップＳ２に移行する。暗号化ブロックＣ１でなければステップＳ３に移行する。
【００３２】
例えば、受信したＴＳパケットは１３ブロックから構成され、１ブロックは１２８ビットの１６進系列である場合、先頭ブロックである暗号化ブロックＣ１は１２８ビットのデータから構成されている。
【００３３】
ステップＳ２では、暗号化ブロックＣ１のデータに基づいて暗号化ブロックＣ１以外で暗号化する暗号化ブロックＣ３のブロック位置（Ｎ番目）を算出する。
例えば、図６に示すように暗号化ブロックＣ１の最終４ビットのデータに基づいて暗号化ブロックＣ３のブロック位置を算出する。図６では暗号化ブロックＣ１の最終４ビットのデータ値が２（００１０：２進数）であるので、２番目のブロックを暗号化ブロックＣ３としてそのブロックのデータを暗号化する。
【００３４】
なお、本例では最終４ビットを用いて暗号化ブロックＣ３を決めているが、最終４ビットに限定せずに、先頭の４ビットでもよいし、暗号化ブロックＣ１のデータを用いて暗号化ブロックＣ３を特定できればよい。
【００３５】
ステップＳ３では暗号化ブロックＣ１、Ｃ３であるかを判定する。暗号化ブロックＣ１、Ｃ３であれば暗号化をするためにステップＳ４に移行する。暗号化ブロックＣ１、Ｃ３以外であれば暗号化せずにこのフローを抜ける。
【００３６】
ステップＳ４ではＴＳパケットの暗号化ブロックＣ１とＣ３に対応するデータを暗号化する。
図７は復号化の動作を示すフロー図である。図７を用い復号化の動作を説明する。
【００３７】
ステップＳ７１では、暗号化ＴＳパケットの先頭ブロックである暗号化ブロックＣ１を検出する。暗号化ブロックＣ１であればステップＳ７２に移行する。暗号化ブロックＣ１でなければステップＳ７４に移行する。
【００３８】
上記説明したように、受信したＴＳパケットは１３ブロックから構成され、１ブロックは１６ビットの１６進系列である場合、先頭ブロックである暗号化ブロックＣ１は１２８ビットのデータから構成されている。
【００３９】
ステップＳ７２では暗号化ブロックＣ１を復号する。
ステップＳ７３では、暗号化ブロックＣ１のデータを解析し、予め設定した暗号化ブロックＣ１の参照先ビットに基づいて暗号化ブロックＣ３の場所を算出する。
【００４０】
例えば、図６に示すように暗号化ブロックＣ１の参照先ビットが最終４ビットであれば、暗号化ブロックＣ１の最終４ビットのデータ値が２（００１０：２進数）であるので、２番目のブロックを暗号化ブロックＣ３としてそのブロックのデータを復号化する。
【００４１】
なお、本例では最終４ビットを用いて暗号化ブロックＣ３を決めているが、最終４ビットに限定せずに、先頭の４ビットでもよいし、暗号化ブロックＣ１のデータを用いて暗号化ブロックＣ３を特定すればよい。
【００４２】
ステップＳ７４では暗号化ブロックＣ３であるかを判定する。暗号化ブロックＣ３であれば復号化をするためにステップＳ７５に移行する。暗号化ブロックＣ３でなければ暗号化せずにこのフローを抜ける。
【００４３】
ステップＳ７５では暗号化ブロックＣ３を復号する。
その後、上記復号した暗号化ブロックＣ１とＣ３のデータを合成してＴＳパケットを生成する。
（実施例２）
図８に実施例１以外の暗号化ブロックＣ３のブロック位置の選択方法を示すフロー図を示す。
【００４４】
ステップＳ８１はステップＳ１と同じように、ＴＳパケットの先頭である暗号化ブロックＣ１を検出する。暗号化ブロックＣ1であればステップＳ８２に移行する。暗号化ブロックＣ１でなければステップＳ８３に移行する。
【００４５】
ステップＳ８２では、暗号化ブロックＣ１のデータに基づいて暗号化ブロックＣ１以外で暗号化する暗号化ブロックＣ３のブロック位置（Ｘ番目）を検出する。
例えば、図９に示すように暗号化ブロックＣ１を構成する１２８ビットのデータを４ビットごとに分け、その３２個の４ビットに対して排他的論理和の演算を行う。図９の例であれば「０１００」、「０１１１」・・・「００１０」の排他的論理和を計算して、その結果を暗号化ブロックＣ３のブロック位置（Ｘ）とする。
【００４６】
なお、本例では排他的論理和を用いて暗号化ブロックＣ３を決めているが、排他的論理和に限定せずに、排他的論理和以外の論理演算でもよいし、暗号化ブロックＣ１のデータを用いて暗号化ブロックＣ３を特定すれば論理演算以外の演算を用いてもよい。
【００４７】
ステップＳ８３では暗号化ブロックＣ１、Ｃ３であるかを判定する。暗号化ブロックＣ１、Ｃ３であれば暗号化をするためにステップＳ８４に移行する。暗号化ブロックＣ１、Ｃ３以外であれば暗号化せずにこのフローを抜ける。
【００４８】
ステップＳ８４ではＴＳパケットの暗号化ブロックＣ１とＣ３に対応するデータを暗号化する。
図１０は実施例２の復号化の動作を示すフロー図である。図１０を用い復号化の動作を説明する。
【００４９】
ステップＳ１０１では、ＴＳパケットの先頭である暗号化ブロックＣ１を検出する。暗号化ブロックＣ１であればステップＳ１０２に移行する。暗号化ブロックＣ１でなければステップＳ１０４に移行する。
【００５０】
ステップＳ１０２では暗号化ブロックＣ１を復号する。
ステップＳ１０３では、暗号化ブロックＣ１のデータを解析し、予め設定した暗号化ブロックＣ１の演算方法により暗号化ブロックＣ３のブロック位置を計算して求めている。実施例２では排他的論理和により暗号化ブロックＣ３のブロック位置を計算して求めている。
【００５１】
本例では排他的論理和を用いて暗号化ブロックＣ３を決めているが、排他的論理和に限定せずに、排他的論理和以外の論理演算でもよいし、暗号化ブロックＣ１のデータを用いて暗号化ブロックＣ３を特定すれば論理演算以外の演算を用いてもよい。
【００５２】
ステップＳ１０４では暗号化ブロックＣ３であるかを判定する。暗号化ブロックＣ３であれば復号化をするためにステップＳ１０５に移行する。暗号化ブロックＣ３でなければ暗号化せずにこのフローを抜ける。
【００５３】
ステップＳ１０５では暗号化ブロックＣ３を復号する。
その後、上記復号した暗号化ブロックＣ１とＣ３のデータを合成してＴＳパケットを生成する。
【００５４】
なお、実施例１、２では暗号化ブロックが２つ（Ｃ１、Ｃ３）の場合について説明しているが２以上の暗号化ブロックを用いてもよい。
なお、本発明によれば上記実施例のフローに示した制御処理は、その制御処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。
【００５５】
このプログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶しておけば、コンピュータに、そのプログラムをインストールすることにより、制御処理を実現することができる。また、このプログラムを通信ネットワークを介してコンピュータにダウンロードしてもよい。
【００５６】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
【図面の簡単な説明】
【００５７】
【図１】暗号化および復号化の原理を示す図である。
【図２】ＴＳパケット暗号化装置とＴＳパケット暗号化装置で暗号化されたＴＳパケットを復号するＴＳ復号化装置の構成を示す図である。
【図３】ＴＳ暗号処理部の構成を示すブロック図である。
【図４】ＴＳ復号処理部の構成を示すブロック図である。
【図５】実施例１の暗号化の動作を示すフロー図である。
【図６】実施例１における暗号化ブロックＣ３を特定するためのＴＳパケットの構成図である。
【図７】実施例１の復号化の動作を示すフロー図である。
【図８】実施例２の暗号化の動作を示すフロー図である。
【図９】実施例２における暗号化ブロックＣ３を特定するためのＴＳパケットの構成図である。
【図１０】実施例２の復号化の動作を示すフロー図である。
【図１１】従来のＴＳパケットの暗号化の原理を示す図である。
【符号の説明】
【００５８】
１  ＴＳパケット暗号化装置、
２  ＴＳパケット復号化装置、
３  アンテナ、
４  ＲＦチューナ部、
５  ＴＳ暗号処理部、
６  汎用バスインターフェース部、
７  汎用バスインターフェース部、
８  ＴＳ復号処理部、
３１  チューナ制御部、
３２  ＴＳ受信部、
３３  暗号用ブロック生成部、
３４  暗号化ブロック判定部、
３５  暗号化部、
３６  合成部、
４１  復号化ブロック判定部、
４２  復号化部、
４３  合成部、
４４  メモリバスインターフェース部、
【図２】
2009171299.tif 000003
【図３】
2009171299.tif 000004
【図４】
2009171299.tif 000005
【図５】
2009171299.tif 000006
【図６】
2009171299.tif 000007
【図７】
2009171299.tif 000008
【図８】
2009171299.tif 000009
【図９】
2009171299.tif 000010
【図１０】
2009171299.tif 000011
【図１】
2009171299.tif 000012
【図１１】
2009171299.tif 000013