(57)【要約】【課題】復号化のセキュリティを向上させる。【解決手段】復号化方法は、ホストプロセッサ６および少なくとも１つのコプロセッサ１０を用いてデータを復号化する方法であって、暗号化されたまとまりのあるデータの組をホストプロセッサ６に供給するステップと、暗号化されたデータの組を、ホストプロセッサ６によってセグメント群にセグメント化するステップと、セグメント群の第１の部分をコプロセッサ１０に供給するステップと、セグメント群の第１の部分をコプロセッサ１０で復号化するステップ２８と、セグメント群の第２の部分をホストプロセッサ６で復号化するステップ３０と、復号化された第１の部分と第２の部分との組み合わせを有する復号化されたデータを送出するステップ３２と、を有する。【選択図】図１
2007043724.tif 000002
【特許請求の範囲】
【請求項１】
ホストプロセッサ（６）および少なくとも１つのコプロセッサ（１０）を用いてデータを復号化する方法であって、
暗号化されたまとまりのあるデータ（Ｄ）の組を前記ホストプロセッサ（６）に供給するステップ（２０）と、
前記暗号化されたデータの組を、前記ホストプロセッサ（６）によってセグメント群にセグメント化するステップ（２４）と、
前記組から前記セグメント群の第１の部分を前記コプロセッサ（１０）に供給するステップ（２６）と、
前記セグメント群の前記第１の部分を前記コプロセッサ（１０）によって復号化するステップ（２８）と、
前記ホストプロセッサ（６）によって、前記組から前記セグメント群の第２の部分を復号化するステップ（３０）と、
前記復号化された第１の部分と第２の部分との組み合わせを有する復号化されたデータを送出するステップ（３２）と、を有する方法。
【請求項２】
前記セグメント群の前記復号化された第１の部分を前記コプロセッサ（１０）によって前記ホストプロセッサ（６）に伝送するステップをさらに有し、前記送出するステップは、復号化されたセグメント群の前記第１の部分および前記第２の部分を、前記ホストプロセッサ（６）に制御されて記憶すること（３２）を有する、請求項１に記載の方法。
【請求項３】
前記送出するステップは、復号化されたセグメント群の前記第１の部分を前記コプロセッサ（１０）に制御されて記憶すること、および復号化されたセグメント群の前記第２の部分を前記ホストプロセッサ（６）に制御されて記憶することを有する、請求項１に記載の方法。
【請求項４】
暗号化されたデータの前記組は、前記暗号化されたデータ内のいくつかのデータタイプを識別するパターンを有する、請求項１から３のいずれかに記載の方法。
【請求項５】
前記暗号化されたデータの組をセグメント化するステップ（２４）は、前記パターンを分析して前記セグメント群を形成することを有する、請求項４に記載の方法。
【請求項６】
前記セグメント群の第１の部分を前記コプロセッサ（１０）に供給するステップ（２６）は、決められた基準に従って、前記セグメント群を選択して前記第１の部分を形成することを有する、請求項１から５のいずれかに記載の方法。
【請求項７】
前記セグメント群は、前記セグメント群のサイズに応じて選択され、より大きいセグメント群が選択されて前記第１の部分を形成する、請求項６に記載の方法。
【請求項８】
前記セグメント群は、前記セグメント群の位置に応じて選択され、不連続のセグメント群が選択されて前記第１の部分を形成する、請求項６に記載の方法。
【請求項９】
前記セグメント群は、前記セグメント内のデータのタイプに応じて選択され、重要でないタイプのデータを含むセグメントが選択されて前記第１の部分を形成する、請求項４を引用した請求項６に記載の方法。
【請求項１０】
ホストプロセッサ（６）を有する復号化装置であって、
前記ホストプロセッサ（６）は、
少なくとも１つのコプロセッサ（１０）とのインターフェースと、
暗号化されたまとまりのあるデータの組をセグメント群にセグメント化する手段と、
前記組から前記セグメント群の第１の部分を前記コプロセッサ（１０）に供給する手段と、
前記コプロセッサ（１０）を制御して前記セグメント群の前記第１の部分を復号化する手段と、
前記組から前記セグメント群の第２の部分を復号化する手段と、
を有する復号化装置。
【請求項１１】
復号化装置のホストプロセッサによって実行されるコンピュータプログラムであって、
前記ホストプロセッサによって実行されたときに、
暗号化されたまとまりのあるデータの組をセグメント群にセグメント化する処理（２４）と、
前記組の前記セグメント群から第１の部分を少なくとも１つのコプロセッサに供給する処理（２６）と、
前記コプロセッサを制御して前記セグメント群の前記第１の部分を復号化する処理（２８）と、
前記組から前記セグメント群の第２の部分を復号化する処理（３０）と、
を実行する命令を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストプロセッサおよびコプロセッサを使用する、暗号化されたデータの復号化に関する。
【背景技術】
【０００２】
復号化操作は計算資源を消費するので、ホストプロセッサは一般に、暗号化されたデータの組全体を、コプロセッサとも呼ばれる専用のプロセッサに伝送して、復号化操作を実施する。通常、ホストプロセッサは、要求される復号化キーも伝送する。
【０００３】
そのような復号化は、番組が暗号化されており、それらの番組の復号化を可能にするキーが視聴者に与えられるテレビ番組の受信用に広く用いられている。
【０００４】
ホストプロセッサとコプロセッサはともに、例えば破損センサまたは侵入センサを備えた金属ケースの中にコプロセッサハードウェアを密閉することによって物理的に、または特定のソフトウェアを使用してキーをコプロセッサに通信することによって論理的に、それらのプロセッサ内部に格納されたキーを、あらゆる盗みの試みから保護するように設計されているが、ホストプロセッサとコプロセッサとの間のリンクが探られる可能性がある。
【０００５】
最終的には、暗号化されたデータの組全体および復号化されたデータの組全体の双方が、ホストプロセッサとコプロセッサとの間のリンク上で転送される。
【０００６】
このため、このリンクを探ることにより、復号化されたデータの組全体を直接取り出すことが可能である。また、暗号化されたデータ、および復号化されたデータを分析することによって、使用されたキーを取り出すことも可能である。
【０００７】
特許文献１および２に記載されているような公知のシステムには、いくつかの余分のプロセッサを使用することによって復号化のセキュリティを向上させているものもある。しかし、これは前述の問題を解決しない。
【特許文献１】米国特許公開第２００４／１８６９７９号公報
【特許文献２】欧州特許公開第１１１５０９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、ホストプロセッサおよびコプロセッサを使用することによって実現される、復号化のセキュリティを向上させる必要性がある。
【課題を解決するための手段】
【０００９】
上記の課題を達成するため、本発明は、請求項１に記載のデータを復号化する方法、請求項１０および１１に記載の対応する装置およびプログラムに関する。
【００１０】
暗号化されたデータの組を、復号化に先立ってセグメント化し、ホストプロセッサによっていくつかのセグメントを復号化することで、暗号化されたデータの組全体も、復号化されたデータの組全体も、ホストプロセッサとコプロセッサとの間のリンク上で伝送されない。これにより、より高いセキュリティがもたらされる。
【００１１】
本発明のその他の特徴および利点は、詳細な説明、特許請求の範囲、および図面から明白となろう。
【発明を実施するための最良の形態】
【００１２】
図１に示す例では、復号化ユニット２は、一部が暗号化されているデジタルテレビの信号を受信するように適合されたセットアップボックスの一部である。
【００１３】
復号化ユニット２は、データ入力のための入力ポート４を有し、入力ポート４を介して、暗号化されたデータの組がホストプロセッサ６に送られる。このホストプロセッサ６は、双方向バス８を介してコプロセッサ１０に接続され、別の双方向バス１２を介して、例えばＲＡＭメモリのようなメモリ１４に接続される。ＲＡＭは、英語でランダム・アクセス・メモリの略語である。
【００１４】
記載されている例では、ホストプロセッサ６は、セットアップボックスの中央プロセッサであり、コプロセッサ１０は、特に復号化に適合した高速演算機能を備えた専用コプロセッサである。
【００１５】
ホストプロセッサ６とメモリ１４との間のリンク（双方向バス１２）は、保護されたリンクである。例えば、メモリ１４はホストプロセッサ６と同じチップ上に作られる。
【００１６】
次に、この復号化ユニット２の挙動を図２の（Ａ）および（Ｂ）を参照して説明する。
【００１７】
復号化の方法は、ステップ２０において、ホストプロセッサ６が入力ポート４を介して、暗号化されたデータの組を受け取ることで開始される。
【００１８】
本例では、暗号化されたデータの組は、図２Ｂに符号Ｄで示されるデータパケットである。
【００１９】
データパケットは、いくつかのデータ方式に対応するいくつかのフィールドを含む所定のパターンを有する、まとまりのある一群のデータである。例えば、データパケットは、生のデータのフィールドを有し、また、ヘッダＨＤ、フッタＦＴ、エラー訂正符号ＣＲＣなどのサービスデータのためのフィールドも有する。
【００２０】
ステップ２０の後に、ホストプロセッサ６によってコプロセッサ１０に復号化キーを伝送するステップ２２が続く。この伝送は、図示されていない保護されたリンクを介して、従来の形で実現される。
【００２１】
この方法は、次に、暗号化されたデータパケットＤを、ホストプロセッサ６によってセグメント群にセグメント化するステップ２４を有する。暗号化されたデータのこれらのセグメントは、図２（Ｂ）に符号Ｓ＊１〜Ｓ＊５で表されている。
【００２２】
ステップ２４は、データを復号化せずに、暗号化されたデータの組のパターンを分析してセグメント群を形成することを有するのが好都合である。例えば、セグメント群は、ＣＲＣフィールドなどのサービスデータのいくつかのフィールドがいくつかのセグメントにわたって分散されるように決められる。
【００２３】
Ｓ＊２およびＳ＊４などの一部のセグメントは、他のセグメントＳ＊１、Ｓ＊３、およびＳ＊５よりも小さいサイズであることが好都合である。
【００２４】
ステップ２６で、データの組のセグメント群の第１の部分が、双方向バス８を介してホストプロセッサ６によってコプロセッサ１０に供給される。
【００２５】
コプロセッサ１０にセグメント群を供給するステップ２６は、決められた基準に従ってセグメント群を選択して第１の部分を形成することを有するのが好都合である。
【００２６】
例えば、コプロセッサ１０に伝送されるセグメント群は、それらのサイズに応じて、より大きいセグメント群が選択されるか、それらのセグメントの位置に応じて、不連続のセグメント群だけが選択されるか、または、それらの内容に応じて、重要なフィールドを含むセグメント群は選択されない。コプロセッサ１０に供給されるべき第１の部分に含められるセグメント群を選択するのに、他の基準および組み合わせを用いることも可能である。
【００２７】
記載されている実施形態では、セグメントＳ＊１、Ｓ＊３、およびＳ＊５などの、より大きい不連続のセグメント群が選択されて、第１の部分を形成する。
【００２８】
この方法は、次に、コプロセッサ１０によってセグメントの第１の部分が復号化されて、これによりセグメントＳ＊１、Ｓ＊３、およびＳ＊５のハードウェア復号化が行われ、復号化されたデータのセグメントＳ１、Ｓ３、およびＳ５がもたらされるステップ２８を有する。
【００２９】
暗号化されたデータの５０％より多くが、コプロセッサ１０によって復号化されるのが好ましい。
【００３０】
この方法は、次に、ホストプロセッサ６によって、データの組からのセグメント群の第２の部分の復号化を行うステップ３０を有する。本例では、この第２の部分は、第１の部分に選択されなかったすべてのセグメントを有し、ホストプロセッサ６によって復号化されるべきセグメント群は、復号化に計算時間がかかりすぎないように、サイズが最も小さいセグメント群である。より正確には、セグメントＳ＊２およびＳ＊４が、ステップ３０で、適宜のソフトウェアを用いてホストプロセッサ６によって復号化されて、セグメントＳ２およびＳ４がもたらされる。この復号化はソフトウェア復号化と呼ばれる。
【００３１】
記載されている実施形態では、この方法は、次に、復号化された第１の部分および第２の部分の組み合わせを有する復号化されたデータを送出するステップ３２において、復号化されたセグメントＳ１、Ｓ３、およびＳ５をコプロセッサ１０がホストプロセッサ６に伝送することを有し、その後、ホストプロセッサ６が、それらの伝送されたセグメントを復号化されたセグメントＳ２およびＳ４と一緒にメモリ（ＲＡＭ）１４に記憶させることを有する。
【００３２】
したがって、本発明の方法は、ホストプロセッサ６とコプロセッサ１０との間での、暗号化されたデータの組全体、または復号化されたデータの組全体の転送を防止する。よって、バス８を探ったとしても、データの組全体を取り出すこと、または使用されたキーを取り出すことは不可能であろう。
【００３３】
もちろん、本発明の他の実施形態も可能である。
【００３４】
例えば、暗号化されたデータの組のセグメント化、および／またはホストプロセッサまたはコプロセッサによって復号化されるべきセグメント群の選択は、任意に実施される。
【００３５】
他の実施形態では、コプロセッサによって復号化されるべきセグメント群の選択は、ホストプロセッサおよび／またはコプロセッサの利用可能性に応じて実施される。
【００３６】
他の実施形態では、メモリは、ＤＲＡＭと呼ばれるダイレクトランダムアクセスメモリであり、このメモリに、コプロセッサとホストプロセッサはともに、送出するステップにおいて、復号化したデータを直接に書き込む（記憶させる）ことができる。
【００３７】
また、本発明の方法および装置は、ＩＰパケット、ならびにビデオストリームまたはオーディオストリームなどの、任意のタイプのデータに対して使用されることも可能である。
【００３８】
一実施形態では、データの組の中の一部のデータだけが暗号化される。その場合、セグメント化および選択は、一部の復号化をホストプロセッサで実施し、一部の復号化をコプロセッサで実施するために、その暗号化されたデータに対してだけ実施される。
【００３９】
さらに他の実施形態では、ホストプロセッサは、それぞれが復号化のためにいくつかのセグメントを受け取るいくつかのコプロセッサに接続され、ホストプロセッサは、いずれのコプロセッサにも伝送されないいくつかのセグメントの復号化を実施する。
【００４０】
本発明は、プログラム可能な要素または専用チップなどのホストプロセッサを有する復号化装置を使用して実現することが可能である。そのホストプロセッサは、
少なくとも１つのコプロセッサとのインターフェースと、
暗号化されたデータの組をセグメント群にセグメント化する手段と、
セグメント群の第１の部分を前記組からコプロセッサに供給する手段と、
コプロセッサを制御して、セグメント群の前記第１の部分を復号化する手段と、
前記組からセグメント群の第２の部分を復号化する手段と、を有する。
【００４１】
また、本発明の方法は、復号化装置のホストプロセッサによって実行されるコンピュータプログラムで実現することも可能である。そのコンピュータプログラムは、ホストプロセッサによって実行されたときに、
暗号化されたデータの組をセグメント群にセグメント化する処理と、
セグメント群の第１の部分を前記組から少なくとも１つのコプロセッサに供給する処理と、
前記コプロセッサを制御して、セグメント群の前記第１の部分を復号化する処理と、
前記セットからセグメント群の第２の部分を復号化する処理と、を行う命令を有する。
【００４２】
そのような復号化装置またはホストプロセッサプログラムは、前述した実施形態のいずれかを実現するようにも適合されることが可能であり、デジタルテレビ受信機、コンピュータ、ラップトップコンピュータなどのあらゆる種類の電子製品、および他の任意のデバイス、ならびにそれらの内部部品に適合させることができる。
【図面の簡単な説明】
【００４３】
【図１】本発明による方法を行う復号化ユニットのブロック図である。
【図２】（Ａ）は本発明による方法を示す図であり、（Ｂ）は（Ａ）の方法の間のデータを表す図である。
【符号の説明】
【００４４】
２    復号化ユニット
４    入力
６    ホストプロセッサ
８、１２    バス
１０    コプロセッサ
１４    メモリ
【図１】
2007043724.tif 000003
【図２】
2007043724.tif 000004