説明

TSパケット暗号化装置とその方法

【課題】セキュリティの低下を回避しつつ、暗号化演算処理時の処理負荷を低減させるとともにハードウェアの消費電力を低減する。
【解決手段】複数のブロックから構成されるTSパケットの暗号化を実行するTSパケット暗号化装置であって、TSパケットごとの先頭ブロックである第1暗号化ブロックのデータ内容に基づいて第1暗号化ブロック以外の暗号化するブロックである第2暗号化ブロックを算出する暗号用ブロック生成部を備えるTSパケット暗号化装置である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TSパケット暗号化の技術に関する。
【背景技術】
【0002】
従来、TSパケット(Transport Stream Packet)を暗号化する場合に、図11(A)に示すようにパケット全体を暗号化する方法が知られている。各パケット(TSP1、TSP2、TSP3・・・)のデータ全体を暗号化して暗号化パケット(TSP1’、TSP2’、TSP3’・・・)を生成している。
【0003】
また、その他にもパケットの前後に、TSパケットのサイズが暗号化ブロックの整数倍でない場合に、整数倍になるように付加する既知のビットパターン(パディングビット)を挿入して暗号化をする方法も知られている。
【0004】
また、図11(B)に示すような、TSパケットの先頭や特定箇所など固定された一部を暗号化する方法がある。図11(B)は、TSパケット(TSP1、TSP2、TSP3・・・)の決められた位置(暗号化部C1、C2)に対してのみ暗号化する場合について示した図である。暗号化部C1は各パケットの先頭に設けられている。暗号化部C2は各パケットの中間あたりに設けられている。このように暗号化部C1や暗号化部C2に対してのみ暗号化をして暗号化パケット(TSP1''、TSP2''、TSP3''・・・)を生成することにより効率よく処理することが可能になる。
【0005】
ところが、パケットの暗号化をする場所を暗号化部C1だけにした場合、通常特定パターンとしてTSパケットヘッダが含まれるため、暗号を解読される可能性が高くなる。
また、暗号化部C2を設けてもTSパケット内のデータの配列の前後関係などから推測して、暗号を解読される可能性が高くなる。
【0006】
また、図11(A)に示したように全体を暗号化する場合、データの配列の前後関係などから解読されるという問題はないが、パケットごとにデータ全体を暗号化演算処理するため処理負荷が増えてしまうという問題がある。例えば、CPUやプログラマブルデバイスなどのハードウェアの暗号化演算処理時の消費電力が増えてしまう。
【0007】
また、特許文献1によればトリックプレイを行うために必要なTSパケットの位置、パケット数、表示時間等の情報が書かれたトリックプレイ制御テーブルを定義し、ストリームと共に配信する提案がされている。つまり、ディジタル放送用受信機にストリームを蓄積する際、MPEG2デコーダとの接続を容易にし、トリックプレイを行う際、必要な情報の検索を高速に行うことを主目的とした、ディジタル放送用ストリームの蓄積方法が提案されている。
【0008】
また、特許文献2ではMPEG2−TSのスクランブル加工時、スクランブル鍵の更新を加工対象がIピクチャとなるタイミング毎に行い、CSディジタル放送システム等に使用して好適なMPEGストリーム加工をし、逆再生や高速再生などの特殊再生を行う場合、制御装置の複雑化・負荷増大を招くことなく、デスクランブルを行うことができるようにする提案がされている。
【特許文献1】特開2002−281456号公報
【特許文献2】特開2003−324699号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は上記のような実情に鑑みてなされたものであり、セキュリティの低下を回避しつつ、暗号化演算処理時の処理負荷を低減させるとともにハードウェアの消費電力を低減するTSパケット暗号化装置とTSパケット暗号化方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
態様のひとつである複数のブロックから構成されるTSパケットの暗号化を実行するTSパケット暗号化装置であって、前記TSパケットごとの先頭ブロックである第1暗号化ブロックのデータ内容に基づいて前記第1暗号化ブロック以外の暗号化するブロックである第2暗号化ブロックを算出する構成である。
【0011】
上記構成によれば、全体を暗号化する場合に比べて、セキュリティを下げずに処理負荷を減らすことができる。
また、パケットの先頭以外の一部も暗号化し、暗号化位置をパケット毎に変更することで、暗号を解読されにくくする。
【0012】
また、前記暗号用ブロック生成部は、前記第1暗号化部のデータの示す値により前記第2暗号化部を決定する。
また、前記暗号用ブロック生成部は、前記第1暗号化部のデータを用い演算をしその演算結果に基づいて前記第2暗号化部を決定する。
【0013】
また、暗号化TSパケットごとの第1暗号化ブロックと前記第1暗号化ブロックのデータ内容に基づいて第2暗号化ブロックを算出し、前記第1暗号化ブロックと前記第2暗号化ブロックを復号化し、前記暗号化TSパケットの前記第1暗号化ブロックと前記第2暗号化ブロックに、復号化した前記第1暗号化ブロックと前記第2暗号化ブロックのデータを入れ替えて前記TSパケットに戻す構成である。
【発明の効果】
【0014】
開示した装置および方法によれば、セキュリティの低下を回避しつつ、暗号演算処理時の処理負荷を低減させるとともにハードウェアの消費電力を低減することができる。
【発明を実施するための最良の形態】
【0015】
図1は本発明の原理を示す図である。本例ではTSパケット(TSP1、TSP2、TSP3・・・)の先頭に暗号化ブロックC1(第1暗号化ブロック)とパケットごとに異なる位置に暗号化ブロックC3(第2暗号化ブロック)を設ける。
【0016】
パケットの暗号化ブロックC1は必ず暗号化し、パケット内の別の一部分である暗号化ブロックC3も暗号化を行い暗号化TSパケット(TSP1'''、TSP2'''、TSP3'''・・・)を生成する。暗号化ブロックC1以外の暗号化ブロックC3の暗号化をする位置の指定は、先頭部分の暗号化前のデータを基に決定することにより、暗号化されているパケットの位置を特定できないようにする。
【0017】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
(実施例1)
図2はTSパケット暗号化装置1と、TSパケット暗号化装置1で暗号化されたTSパケットを復号するTSパケット復号化部2の構成を示す図である。
【0018】
TSパケット暗号化装置1は、アンテナ3、RFチューナ部4、TS暗号処理部5、汎用バスインターフェース部6から構成される。
TSパケット復号化部2は、汎用バスインターフェース部7、TS復号処理部8から構成されている。
【0019】
アンテナ3は無線電波波を受信してRFチューナ部4に伝送する。TS暗号処理部5はRFチューナ部4で復調されたTSパケットを取得し、TSパケットの先頭の暗号化ブロックC1と、暗号化ブロックC3をランダムな位置に配置した暗号化TSパケット(TSP1'''、TSP2'''、TSP3'''・・・)を生成する。
【0020】
汎用バスインターフェース部6は、TS暗号処理部5から暗号化TSパケット(TSP1'''、TSP2'''、TSP3'''・・・)を取得してTS復号化部2に転送する。
復号化部2の汎用バスインターフェース部7は、暗号化TSパケット(TSP1'''、TSP2'''、TSP3'''・・・)を取得してTS復号処理部8に転送する。
【0021】
TS復号処理部8は、暗号化TSパケット(TSP1'''、TSP2'''、TSP3'''・・・)を復号してTSパケット(TSP1、TSP2、TSP3・・・)に戻す。
図3にTS暗号処理部5の構成を示し、TS暗号処理部5について説明する。
【0022】
TS暗号処理部5は、チューナ制御部31、TS受信部32、暗号用ブロック生成部33、暗号化ブロック判定部34、暗号化部35、合成部36から構成されている。
チューナ制御部31は、汎用バスインターフェース部6を介して復号化部2からの制御信号を受け取り、RFチューナ部4の制御を行うため制御信号のやり取りを行う。また、汎用バスインターフェース部6を介して復号化部2へ制御情報を送信する。
【0023】
TS受信部32は、RFチューナ部4から転送されるTSパケット(平文:TSP1'''、TSP2'''、TSP3'''・・・)を取得して暗号用ブロック生成部33に転送する。
【0024】
暗号用ブロック生成部33は、TSパケット(平文:TSP1'''、TSP2'''、TSP3'''・・・)のパケットごとに暗号化する暗号化ブロックの位置を決定して暗号化ブロック判定部34に通知する。また、TSパケットを暗号化ブロック判定部34に転送する。
【0025】
ここで、TSパケットの先頭はインターバルを監視することにより検出してもよい。
暗号化ブロック判定部34は、前段の暗号用ブロック生成部33が生成した通知に基づいてTSパケットを暗号化するブロックのみを暗号化部35に転送する。つまり、暗号化ブロックC1、C3を暗号化部35に転送して暗号化しないデータは暗号化部35をスルーさせる。
【0026】
暗号化部35は、暗号化ブロックC1、C3を暗号化する。例えば、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)などの暗号化を行う。
合成部36は、暗号化ブロック判定部34によりスルーして取得したTSパケットの暗号化ブロック挿入位置のデータと暗号化ブロックC1、C3を入れ替える。
【0027】
図4にTS復号処理部8の構成を示し、TS復号処理部8について説明する。
TS復号処理部8は、復号化ブロック判定部41、復号化部42、合成部43、メモリバスインターフェース部44から構成されている。
【0028】
復号化ブロック判定部41は、TSパケット暗号化装置1から転送されてくる暗号化TSパケットを取得し、復号する暗号化ブロックC1、C3を選択して復号化部42に転送し、暗号化TSパケットの暗号の復号を必要としないデータはスルーさせる。
【0029】
復号化部42は、暗号化ブロックC1、C3を復号化して暗号化前のデータに戻し、合成部43に転送する。
合成部43では、復号化ブロック判定部41をスルーしてきた暗号化TSパケットの暗号化ブロックC1、C3と、復号化部42で復号した暗号化ブロックC1、C3の復号データを入れ替える。
【0030】
メモリバスインターフェース部44は、合成部43からの復号されたTSパケットを転送する。
図5は暗号化の動作を示すフロー図である。図5を用い暗号化の動作を説明する。
【0031】
ステップS1では、TSパケットの先頭ブロックである暗号化ブロックC1を検出する。暗号化ブロックC1であればステップS2に移行する。暗号化ブロックC1でなければステップS3に移行する。
【0032】
例えば、受信したTSパケットは13ブロックから構成され、1ブロックは128ビットの16進系列である場合、先頭ブロックである暗号化ブロックC1は128ビットのデータから構成されている。
【0033】
ステップS2では、暗号化ブロックC1のデータに基づいて暗号化ブロックC1以外で暗号化する暗号化ブロックC3のブロック位置(N番目)を算出する。
例えば、図6に示すように暗号化ブロックC1の最終4ビットのデータに基づいて暗号化ブロックC3のブロック位置を算出する。図6では暗号化ブロックC1の最終4ビットのデータ値が2(0010:2進数)であるので、2番目のブロックを暗号化ブロックC3としてそのブロックのデータを暗号化する。
【0034】
なお、本例では最終4ビットを用いて暗号化ブロックC3を決めているが、最終4ビットに限定せずに、先頭の4ビットでもよいし、暗号化ブロックC1のデータを用いて暗号化ブロックC3を特定できればよい。
【0035】
ステップS3では暗号化ブロックC1、C3であるかを判定する。暗号化ブロックC1、C3であれば暗号化をするためにステップS4に移行する。暗号化ブロックC1、C3以外であれば暗号化せずにこのフローを抜ける。
【0036】
ステップS4ではTSパケットの暗号化ブロックC1とC3に対応するデータを暗号化する。
図7は復号化の動作を示すフロー図である。図7を用い復号化の動作を説明する。
【0037】
ステップS71では、暗号化TSパケットの先頭ブロックである暗号化ブロックC1を検出する。暗号化ブロックC1であればステップS72に移行する。暗号化ブロックC1でなければステップS74に移行する。
【0038】
上記説明したように、受信したTSパケットは13ブロックから構成され、1ブロックは16ビットの16進系列である場合、先頭ブロックである暗号化ブロックC1は128ビットのデータから構成されている。
【0039】
ステップS72では暗号化ブロックC1を復号する。
ステップS73では、暗号化ブロックC1のデータを解析し、予め設定した暗号化ブロックC1の参照先ビットに基づいて暗号化ブロックC3の場所を算出する。
【0040】
例えば、図6に示すように暗号化ブロックC1の参照先ビットが最終4ビットであれば、暗号化ブロックC1の最終4ビットのデータ値が2(0010:2進数)であるので、2番目のブロックを暗号化ブロックC3としてそのブロックのデータを復号化する。
【0041】
なお、本例では最終4ビットを用いて暗号化ブロックC3を決めているが、最終4ビットに限定せずに、先頭の4ビットでもよいし、暗号化ブロックC1のデータを用いて暗号化ブロックC3を特定すればよい。
【0042】
ステップS74では暗号化ブロックC3であるかを判定する。暗号化ブロックC3であれば復号化をするためにステップS75に移行する。暗号化ブロックC3でなければ暗号化せずにこのフローを抜ける。
【0043】
ステップS75では暗号化ブロックC3を復号する。
その後、上記復号した暗号化ブロックC1とC3のデータを合成してTSパケットを生成する。
(実施例2)
図8に実施例1以外の暗号化ブロックC3のブロック位置の選択方法を示すフロー図を示す。
【0044】
ステップS81はステップS1と同じように、TSパケットの先頭である暗号化ブロックC1を検出する。暗号化ブロックC1であればステップS82に移行する。暗号化ブロックC1でなければステップS83に移行する。
【0045】
ステップS82では、暗号化ブロックC1のデータに基づいて暗号化ブロックC1以外で暗号化する暗号化ブロックC3のブロック位置(X番目)を検出する。
例えば、図9に示すように暗号化ブロックC1を構成する128ビットのデータを4ビットごとに分け、その32個の4ビットに対して排他的論理和の演算を行う。図9の例であれば「0100」、「0111」・・・「0010」の排他的論理和を計算して、その結果を暗号化ブロックC3のブロック位置(X)とする。
【0046】
なお、本例では排他的論理和を用いて暗号化ブロックC3を決めているが、排他的論理和に限定せずに、排他的論理和以外の論理演算でもよいし、暗号化ブロックC1のデータを用いて暗号化ブロックC3を特定すれば論理演算以外の演算を用いてもよい。
【0047】
ステップS83では暗号化ブロックC1、C3であるかを判定する。暗号化ブロックC1、C3であれば暗号化をするためにステップS84に移行する。暗号化ブロックC1、C3以外であれば暗号化せずにこのフローを抜ける。
【0048】
ステップS84ではTSパケットの暗号化ブロックC1とC3に対応するデータを暗号化する。
図10は実施例2の復号化の動作を示すフロー図である。図10を用い復号化の動作を説明する。
【0049】
ステップS101では、TSパケットの先頭である暗号化ブロックC1を検出する。暗号化ブロックC1であればステップS102に移行する。暗号化ブロックC1でなければステップS104に移行する。
【0050】
ステップS102では暗号化ブロックC1を復号する。
ステップS103では、暗号化ブロックC1のデータを解析し、予め設定した暗号化ブロックC1の演算方法により暗号化ブロックC3のブロック位置を計算して求めている。実施例2では排他的論理和により暗号化ブロックC3のブロック位置を計算して求めている。
【0051】
本例では排他的論理和を用いて暗号化ブロックC3を決めているが、排他的論理和に限定せずに、排他的論理和以外の論理演算でもよいし、暗号化ブロックC1のデータを用いて暗号化ブロックC3を特定すれば論理演算以外の演算を用いてもよい。
【0052】
ステップS104では暗号化ブロックC3であるかを判定する。暗号化ブロックC3であれば復号化をするためにステップS105に移行する。暗号化ブロックC3でなければ暗号化せずにこのフローを抜ける。
【0053】
ステップS105では暗号化ブロックC3を復号する。
その後、上記復号した暗号化ブロックC1とC3のデータを合成してTSパケットを生成する。
【0054】
なお、実施例1、2では暗号化ブロックが2つ(C1、C3)の場合について説明しているが2以上の暗号化ブロックを用いてもよい。
なお、本発明によれば上記実施例のフローに示した制御処理は、その制御処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。
【0055】
このプログラムをCD−ROMなどの記憶媒体に記憶しておけば、コンピュータに、そのプログラムをインストールすることにより、制御処理を実現することができる。また、このプログラムを通信ネットワークを介してコンピュータにダウンロードしてもよい。
【0056】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
【図面の簡単な説明】
【0057】
【図1】暗号化および復号化の原理を示す図である。
【図2】TSパケット暗号化装置とTSパケット暗号化装置で暗号化されたTSパケットを復号するTS復号化装置の構成を示す図である。
【図3】TS暗号処理部の構成を示すブロック図である。
【図4】TS復号処理部の構成を示すブロック図である。
【図5】実施例1の暗号化の動作を示すフロー図である。
【図6】実施例1における暗号化ブロックC3を特定するためのTSパケットの構成図である。
【図7】実施例1の復号化の動作を示すフロー図である。
【図8】実施例2の暗号化の動作を示すフロー図である。
【図9】実施例2における暗号化ブロックC3を特定するためのTSパケットの構成図である。
【図10】実施例2の復号化の動作を示すフロー図である。
【図11】従来のTSパケットの暗号化の原理を示す図である。
【符号の説明】
【0058】
1 TSパケット暗号化装置、
2 TSパケット復号化装置、
3 アンテナ、
4 RFチューナ部、
5 TS暗号処理部、
6 汎用バスインターフェース部、
7 汎用バスインターフェース部、
8 TS復号処理部、
31 チューナ制御部、
32 TS受信部、
33 暗号用ブロック生成部、
34 暗号化ブロック判定部、
35 暗号化部、
36 合成部、
41 復号化ブロック判定部、
42 復号化部、
43 合成部、
44 メモリバスインターフェース部、

【特許請求の範囲】
【請求項1】
複数のブロックから構成されるTSパケットの暗号化を実行するTSパケット暗号化装置であって、
前記TSパケットごとの先頭ブロックである第1暗号化ブロックのデータ内容に基づいて前記第1暗号化ブロック以外の暗号化するブロックである第2暗号化ブロックを算出する暗号用ブロック生成部を備えることを特徴とするTSパケット暗号化装置。
【請求項2】
前記暗号用ブロック生成部は、
前記第1暗号化ブロックのデータの示す値により前記第2暗号化ブロックを算出することを特徴とする請求項1に記載のTSパケット暗号化装置。
【請求項3】
前記暗号用ブロック生成部は、
前記第1暗号化ブロックのデータを用い演算をしその演算結果に基づいて前記第2暗号化ブロックを決定することを特徴とする請求項1に記載のTSパケット暗号化装置。
【請求項4】
前記第1暗号化ブロックと前記第2暗号化ブロックを暗号化する暗号化部と、
前記TSパケットの前記第1暗号化ブロックと前記第2暗号化ブロックに、暗号化した前記第1暗号化ブロックと前記第2暗号化ブロックのデータを入れ替えて暗号化TSパケットを生成する合成部と、
を備えることを特徴とする請求項1に記載のTSパケット暗号化装置。
【請求項5】
暗号化TSパケットごとの第1暗号化ブロックと前記第1暗号化ブロックのデータ内容に基づいて第2暗号化ブロックを算出する復号化ブロック判定部と、
前記第1暗号化ブロックと前記第2暗号化ブロックを復号化する復号化部と、
前記暗号化TSパケットの前記第1暗号化ブロックと前記第2暗号化ブロックに、復号化した前記第1暗号化ブロックと前記第2暗号化ブロックのデータを入れ替えて前記TSパケットに戻す合成部と、
を備えることを特徴とするTSパケット復号化装置。
【請求項6】
複数のブロックから構成されるTSパケットの暗号化を実行するTSパケット暗号化方法であって、
前記TSパケットごとの先頭ブロックである第1暗号化ブロックのデータ内容に基づいて前記第1暗号化ブロック以外の暗号化するブロックである第2暗号化ブロックを算出するステップと、
前記第1暗号化ブロックと前記第2暗号化ブロックを暗号化するステップと、
前記TSパケットの前記第1暗号化ブロックと前記第2暗号化ブロックに、暗号化した前記第1暗号化ブロックと前記第2暗号化ブロックのデータを入れ替えて暗号化TSパケットを生成するステップと、
を有することを特徴とするTSパケット暗号化方法。
【請求項7】
暗号化TSパケットごとの第1暗号化ブロックと前記第1暗号化ブロックのデータ内容に基づいて第2暗号化ブロックを算出するステップと、
前記第1暗号化ブロックと前記第2暗号化ブロックを復号化するステップと、
前記暗号化TSパケットの前記第1暗号化ブロックと前記第2暗号化ブロックに、復号化した前記第1暗号化ブロックと前記第2暗号化ブロックのデータを入れ替えて前記TSパケットに戻すステップと、
を有することを特徴とするTSパケット復号化方法。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図1】
image rotate

【図11】
image rotate