(57)【特許請求の範囲】
【請求項１】
配信ヘッドエンドにおいてそれぞれ異なる条件付きアクセス（ＣＡ）システムを使用する複数のＣＡベンダー間でキーを共有する方法であって、
前記ヘッドエンドにおいて前記複数のＣＡベンダーの各々からＣＡ値のコントリビューションを受信するステップと、
前記複数のＣＡベンダーは、第１のＣＡベンダー及び第２のＣＡベンダーを少なくとも含み、前記ＣＡ値は、第１のＣＡ値及び第２のＣＡ値を少なくとも含み、当該第１のＣＡ値は、当該第１のＣＡベンダーから得られ、当該第２のＣＡ値は、当該第２のＣＡベンダーから得られ、
前記第１のＣＡ値及び前記第２のＣＡ値をハッシュ関数を使用してともにハッシュ化して出力制御語を生成するステップと、
前記ヘッドエンドのエンクリプタにおいて、前記出力制御語をコンテンツキーとして使用するステップと、
を含み、前記コンテンツキーを暗号化キーとして使用して、前記条件付きアクセスシステムのいずれかを使用して前記コンテンツを解読する複数の受信機に提供されるコンテンツを暗号化する、
ことを特徴とする方法。
【請求項２】
前記ＣＡ値を前記複数のＣＡベンダー間で共有するステップをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記共有ステップが、個々のＣＡベンダーの前記ＣＡ値を個々の他のＣＡベンダーに直接提供することにより実施される、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記共有ステップが、個々のＣＡベンダーの前記ＣＡ値を個々の他のＣＡベンダーに間接的に提供することにより実施され、個々のベンダーに提供される前記ＣＡ値が、前記他のベンダーＣＡ値のハッシュを含む、
ことを特徴とする請求項２に記載の方法。
【請求項５】
ＣＡＶ１及びＣＡＶ２という少なくとも２つのＣＡ値が存在し、ＣＡＶ１を暗号化キーとして使用してＣＡＶ２を暗号化し、暗号化された出力を生成する、
ことを特徴とする請求項１に記載の方法。
【請求項６】
ＣＡＶ１及びＣＡＶ２の一方が、前記暗号化された出力と排他的論理和処理で結合される、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記暗号化が、ＤＥＳ、ＤＶＢ共通スクランブル及びＡＥＳ暗号化のうちの１つを含む、
ことを特徴とする請求項５に記載の方法。
【請求項８】
前記ＣＡ値を複数の受信機へ送るステップをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記ＣＡ値を資格制御メッセージ（ＥＣＭ）に含めて前記複数の受信機へ送るステップをさらに含む、
ことを特徴とする請求項８に記載の方法。
【請求項１０】
ハッシュアルゴリズムを前記複数の受信機へ送るステップをさらに含む、
ことを特徴とする請求項８に記載の方法。
【請求項１１】
１又はそれ以上のプログラムされたプロセッサ上で実行された場合に請求項１に記載の方法を実施する命令を記憶する、
ことを特徴とする有形なコンピュータ可読電子記憶媒体。
【請求項１２】
異なるＣＡシステムを有する複数の条件付きアクセス（ＣＡ）ベンダー間でキーを共有するサイマルクリプトヘッドエンド装置であって、
前記ヘッドエンドにおいて前記複数のＣＡベンダーの各々からＣＡ値のコントリビューションを受信する手段と、
前記複数のＣＡベンダーは、第１のＣＡベンダー及び第２のＣＡベンダーを少なくとも含み、前記ＣＡ値は、第１のＣＡ値及び第２のＣＡ値を少なくとも含み、当該第１のＣＡ値は、当該第１のＣＡベンダーから得られ、当該第２のＣＡ値は、当該第２のＣＡベンダーから得られ、
前記第１のＣＡ値及び前記第２のＣＡ値をハッシュ関数を使用してともにハッシュ化して出力制御語を生成するハッシュプロセッサと、
前記出力制御語を暗号化キーとしてのコンテンツキーとして使用して、前記条件付きアクセスシステムのいずれかを使用して前記コンテンツを解読する複数の受信機に提供されるコンテンツを暗号化するエンクリプタと、
を含むことを特徴とする装置。
【請求項１３】
前記ＣＡ値を前記複数のＣＡベンダー間で共有する手段をさらに含む、
ことを特徴とする請求項１２に記載の装置。
【請求項１４】
前記共有が、個々のＣＡベンダーの前記ＣＡ値を個々の他のＣＡベンダーに直接提供することにより実施される、
ことを特徴とする請求項１３に記載の装置。
【請求項１５】
前記共有が、個々のＣＡベンダーの前記ＣＡ値を個々の他のＣＡベンダーに間接的に提供することにより実施され、個々のベンダーに提供される前記ＣＡ値が、前記他のベンダーＣＡ値のハッシュを含む、
ことを特徴とする請求項１３に記載の装置。
【請求項１６】
ＣＡＶ１及びＣＡＶ２という少なくとも２つのＣＡ値が存在し、ＣＡＶ１を暗号化キーとして使用してＣＡＶ２を暗号化し、暗号化された出力を生成する、
ことを特徴とする請求項１２に記載の装置。
【請求項１７】
ＣＡＶ１及びＣＡＶ２の一方が、前記暗号化された出力と排他的論理和処理で結合される、
ことを特徴とする請求項１６に記載の装置。
【請求項１８】
前記暗号化が、ＤＥＳ、ＤＶＢ共通スクランブル及びＡＥＳ暗号化のうちの１つを含む、
ことを特徴とする請求項１６に記載の装置。
【請求項１９】
前記ＣＡ値を前記複数の受信機へ運ぶ資格制御メッセージ（ＥＣＭ）を生成するＥＣＭ生成器をさらに含む、
ことを特徴とする請求項１２に記載の装置。
【請求項２０】
前記ＥＣＭ生成器が、ハッシュアルゴリズムを前記複数の受信機へ送るＥＣＭをさらに生成する、
ことを特徴とする請求項１９に記載の装置。
【請求項２１】
異なるＣＡシステムを有する複数の条件付きアクセス（ＣＡ）ベンダー間で共有されるキーである共有キーとともに、暗号化されたコンテンツを受信機において受信する方法であって、
複数の条件付きアクセス（ＣＡ）値のコントリビューションを受信するステップと、
前記複数のＣＡベンダーは、第１のＣＡベンダー及び第２のＣＡベンダーを少なくとも含み、前記ＣＡ値は、第１のＣＡ値及び第２のＣＡ値を少なくとも含み、当該第１のＣＡ値は、当該第１のＣＡベンダーから得られ、当該第２のＣＡ値は、当該第２のＣＡベンダーから得られ、
前記第１のＣＡ値及び前記第２のＣＡ値のコントリビューションをハッシュ化して、前記受信機内で使用するためのコンテンツ暗号化キーとして使用する制御語（ＣＷ）を再導出するステップと、
前記ＣＷを使用して暗号化されたコンテンツを前記受信機において受信するステップと、
前記再導出されたＣＷを使用して、前記受信機において前記コンテンツを解読するステップと、
を含むことを特徴とする方法。
【請求項２２】
ＣＡＶ１及びＣＡＶ２という少なくとも２つのＣＡ値が存在し、ＣＡＶ１を暗号化キーとして使用してＣＡＶ２を暗号化し、暗号化された出力を生成する、
ことを特徴とする請求項２１に記載の方法。
【請求項２３】
ＣＡＶ１及びＣＡＶ２の一方が、前記暗号化された出力と排他的論理和処理で結合される、
ことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記暗号化が、ＤＥＳ、ＤＶＢ共通スクランブル及びＡＥＳ暗号化のうちの１つを含む、
ことを特徴とする請求項２２に記載の方法。
【請求項２５】
前記ＣＡ値が、資格制御メッセージ（ＥＣＭ）に含まれて前記受信機により受信される、
ことを特徴とする請求項２１に記載の方法。
【請求項２６】
ハッシュアルゴリズムを前記受信機において受信するステップをさらに含む、
ことを特徴とする請求項２１に記載の方法。
【請求項２７】
１又はそれ以上のプログラムされたプロセッサ上で実行された場合に請求項２１に記載の方法を実施する命令を記憶する、
ことを特徴とする有形なコンピュータ可読電子記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連文献との相互参照〕
本出願は、欧州放送連合により発表された「デジタルビデオ放送（ＤＶＢ）；ＤＶＢサイマルクリプトのヘッドエンド実装」という欧州電気通信標準化機構（ＥＴＳＩ）  ｔ１０３  １９７Ｖ１．３．１（０２−０６）  ＴＭ２１１７ｒ３技術仕様書草案に記載されているようなサイマルクリプトシステムなどのキー共有システムに関し、この草案は一般に本明細書においてサイマルクリプト仕様書として参照されるとともに、引用により本明細書に組み入れられる。
【０００２】
〔著作権及び商標表示〕
本特許文書の開示部分は、著作権保護の対象内容を含む。著作権の権利所有者は、合衆国特許商標庁の特許ファイル又は記録内に表されるとおりに特許文書又は特許開示を複製することには異議を唱えないが、それ以外は全ての著作権を留保する。商標は、これらそれぞれの所有者の所有物である。
【背景技術】
【０００３】
上述のデジタルビデオ放送（ＤＶＢ）サイマルクリプト規格は、条件付きアクセスプロバイダが（「制御語」としても知られている）スクランブルキーを受信して、資格制御メッセージ（ＥＣＭ）の配信を同期させるために、スクランブラ（又はエンクリプタ）とインターフェイス接続するための共通の方法を提供する。このインターフェイス接続により、複数の条件付きアクセス（ＣＡ）プロバイダが、各々同じスクランブルキーを受信するので、これらの複数の条件付きアクセス（ＣＡ）プロバイダによってコンテンツをセキュアにすることができる。この方法は「キー共有」と呼ばれ、上述のＤＶＢサイマルクリプト仕様書に完全なシステムが記載されている。ＤＶＢサイマルクリプトは、ＣＡプロバイダがキー共有を通じて「協働」している状況において選択的多重暗号化の代案として引き合いに出されることが多い。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７，３６６，３０２号
【発明の概要】
【課題を解決するための手段】
【０００５】
添付の図面と併せて行う以下の詳細な説明を参照することにより、構成及び動作方法を示す特定の例示的な実施形態、並びに目的及び利点を最も良く理解することができる。
【図面の簡単な説明】
【０００６】
【図１】上述のサイマルクリプト仕様書に記載されている従来のサイマルクリプトヘッドエンドを示すブロック図である。
【図２】本発明のいくつかの実施形態による、修正サイマルクリプトヘッドエンドの例示的な実施形態を示すブロック図である。
【図３】本発明のいくつかの実施形態による方法の受信機のキー管理を示す図である。
【図４】本発明のいくつかの実施形態による、２つのＣＡ値のハッシュ関数の例である。
【図５】本発明のいくつかの実施形態による、２つのＣＡ値のハッシュ関数の例である。
【図６】本発明のいくつかの実施形態による、２つのＣＡ値のハッシュ関数の例である。
【図７】本発明のいくつかの実施形態による、３つのＣＡ値のハッシュ関数の例である。
【図８】本発明のいくつかの実施形態による、２つのＣＡ値のハッシュ関数の例である。
【図９】いくつかの実施形態によるヘッドエンドの処理の実施構成例を示すフロー図である。
【図１０】いくつかの実施形態による受信機の処理の実施構成例を示すフロー図である。
【発明を実施するための形態】
【０００７】
本発明は、多くの異なる形の実施形態が可能であるが、このような実施形態の開示は原理の一例として見なすべきであり、図示及び説明する特定の実施形態に本発明を限定することを意図するものではないという理解の下、図面に特定の実施形態を示し本明細書で詳細に説明する。以下の説明では、図面のいくつかの図において同じ参照番号を使用して同様の、類似の又は一致する部分について説明する。
【０００８】
本明細書で使用する「１つの（英文不定冠詞）」という用語は、１又は１よりも多い、と定義される。本明細書で使用する「複数の」という用語は、２又は２よりも多い、と定義される。本明細書で使用する「別の」という用語は、少なくとも第２の又はそれ以上の、と定義される。本明細書で使用する「含む（ｉｎｃｌｕｄｉｎｇ）」及び／又は「有する（ｈａｖｉｎｇ）」という用語は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」（すなわち包括的な用語）と定義される。本明細書で使用する「結合される」という用語は、必ずしも直接的接続、及び、必ずしも機械的接続を定義するものではないが、「接続される」と定義される。本明細書で使用する「プログラム」又は「コンピュータプログラム」という用語又は類似の用語は、コンピュータシステム上での実行を意図された一連の命令であると定義される。「プログラム」又は「コンピュータプログラム」は、実行可能アプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ／ダイナミックロードライブラリ、及び／又はコンピュータシステム上で実行するように設計されたその他の一連の命令におけるサブルーチン、関数、手順、オブジェクト方法、オブジェクト実装を含むことができる。
【０００９】
本明細書を通じて、「１つの実施形態」、「いくつかの実施形態」、「ある実施形態」、「ある実施例」、「ある実施構成」、又は同様の用語への言及は、実施形態又は実施例又は実施構成に関連して説明する特定の特徴、構造又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。従って、本明細書を通じて至るところに出現するこのような語句は、必ずしも全てが同じ実施形態について言及するものではない。さらに、上記の特定の特徴、構造又は特性を、本発明を限定することなく１又はそれ以上の実施形態、実施例、及び実施構成にあらゆる好適な態様で組み合わせることができる。
【００１０】
本明細書で使用する場合、「又は」という用語は包括的なものとして解釈すべきであり、すなわちいずれか１つ又はあらゆる組み合わせを意味する。従って、「Ａ、Ｂ又はＣ」は、「Ａ、Ｂ、Ｃ、ＡとＢ、ＡとＣ、ＢとＣ、ＡとＢとＣ、のいずれか」を意味する。この定義に対する例外は、要素、機能、ステップ又は行為の組み合わせが何らかの点で本質的に相互に相容れない場合にのみ生じる。
【００１１】
本明細書で使用する「プロセッサ」、「コントローラ」、「中央処理装置（ＣＰＵ）」及び「コンピュータ」などの用語は、ハードプログラムされた、特定用途の、汎用の、及びプログラマブル装置のいずれをも含み、このような複数の装置又は単一の装置を分散型又は集中型のいずれかの形で無制限に含むことができる。
【００１２】
上述したように、サイマルクリプト規格は、条件付きアクセスプロバイダがスクランブルキーを受信して、ＥＣＭ及びＥＭＭを配信するためにスクランブラとインターフェイス接続するための共通の方法を提供する。このインターフェイス接続により、複数のＣＡプロバイダが、各々同じ共有スクランブルキーを受信するので、これらの複数のＣＡプロバイダによってコンテンツをセキュアにすることができる。しかしながら、ＤＶＢサイマルクリプト規格を使用するＣＡプロバイダは、制御語の導出において（落とし戸関数としても知られている）一方向暗号化関数を使用することができないので、これらのセキュリティは悪化する。
【００１３】
ＤＶＢサイマルクリプト規格では、制御語として使用するための乱数が生成され、これが条件付きアクセス（ＣＡ）プロバイダと共有される。この乱数は、スクランブラによりコンテンツをスクランブルするための暗号化キーとして使用される。ＣＡプロバイダは、独自のＣＡアルゴリズム及び方法を使用してキーを暗号化し、資格制御メッセージ（ＥＣＭ）を生成して受信機がコンテンツにアクセスできるようにする。
【００１４】
しかしながら、ＣＡプロバイダのシステムには、アクセス基準の一方向関数であるキーを生成するように設計されているものもある。アクセス基準は、ＥＣＭ及び場合によっては資格管理メッセージ（ＥＭＭ）内の補助フィールドとして送信される。そうすることにより、暗号プロセッサ及びグローバルキー又はグループキーの内部の仕組みを知っている可能性のあるハッカーが、ハッキング処理の際に受信機のＳＷ及びＨＷを再利用しようとして、より自由度の高いアクセス基準でＥＣＭを再暗号化することが防がれるので、これらのＣＡプロバイダにとっては望ましい。このようにアクセス基準が認証され、これをハッカーが修正しようと試みる場合、生成されたキーは修正されるが、コンテンツはスクランブル解除及び復号することができない。このキー生成法を身につけたＣＡプロバイダは、サイマルクリプト又は類似のキー共有処理を実施すると必ず自社のシステムのセキュリティを大きく損ない、場合によってはＣＡプロバイダのシステムが、１組のサービスを許可された暗号プロセッサが適切な購読料が払われていないサービスを受ける可能性があるいわゆる「三銃士」攻撃を受けやすくなる。また、現在のサイマルクリプトシステムでは、ハッカーが１つのＣＡシステムから知り得た制御語を使用して、制御語を共有している他の（単複の）ＣＡシステムのキー階層を攻撃することが可能である。いくつかの提案する実施形態では、生成するキーは同じものであるかもしれないが、処理はキー階層の最下点において一方向関数により隔離される。
【００１５】
アクセス基準の認証が、三銃士攻撃を防ぐのに役立つ。これらの攻撃は、グローバルキー及びアルゴリズムの知識を利用して資格制御メッセージ（ＥＣＭ）を再暗号化し、ハードウェアを再利用できるようにする。略奪者達は、代替ハードウェアへの設備投資が最小限に抑えられるので、できればハードウェアを再利用したいと思っている。ＣＡプロバイダは、グローバルキー及びアルゴリズムが漏れないようにするために、スマートカード及びその他の暗号装置をよりセキュアなものにしようとする。にもかかわらず、暗号プロセッサ（クリプト）は、集束イオンビーム（ＦＩＢ）技術、プロービング及びその他の技術を使用する徹底的なリバースエンジニアリングを受けやすい場合がある。１つのクリプトから得た秘密を後から使用して、他のクリプトに三銃士攻撃が行われることがある。
【００１６】
本発明のいくつかの実施構成によれば、キー階層の底部において、ＣＡプロバイダ及びスクランブラ及びデスクランブラが知っている共通のハッシュ関数が生成される。ハッシュ関数は、キーを共有する予定の個々のＣＡプロバイダからコントリビューション(contribution)を取って、相手方（キー共有する他のＣＡプロバイダ）に（単複の）コントリビューションを渡す。個々のＣＡプロバイダは個々のコントリビューションを取り、これらのコントリビューションの各々を使用して共通のハッシュ関数によるキー導出を終了させる。スクランブラは、２又はそれ以上のキーＣＡ値を取り、コンテンツを「キーエポック」として知られている特定の期間にわたって暗号化するために使用するコンテンツキー（制御語としても知られている）を生成する。
【００１７】
このようにして、ＤＶＢサイマルクリプトを、キーを共有する予定の１又はそれ以上のＣＡプロバイダからのハッシュキーを容認するように強化する。キーは、もはやサイマルクリプトシンクロナイザによって生成される単純な「乱数」でなくてもよい。むしろ、サイマルクリプトシンクロナイザを使用して「ＣＡ値」の交換を容易にし、その後これをＣＡプロバイダが使用して、コンテンツを暗号化するために使用する（サイマルクリプト規格では「制御語」と呼ばれる）共通ハッシュキーを計算することができる。たとえハッカーがグローバルキー及び秘密のアルゴリズム及び値を知っているとしても、全体のキーが一方向関数であるため、適切な料金が払われていないコンテンツを盗むために（ＥＣＭ、さらにはＥＭＭにも含まれて送信される）プログラムのアクセス基準を変えることはできなくなる。個々のＣＡシステム（ＣＡ値）のコントリビューションは、ＣＡプロバイダが望むものとすることができる。ＣＡプロバイダがＣＡ処理の担当部分において一方向関数の使用を望まない場合、勝手に生成した乱数を単純に使用することができる。これは完全にＣＡプロバイダ次第である。
【００１８】
ここで図１を参照すると、ブロック図１００に、上記のサイマルクリプト仕様書（図１−システムアーキテクチャを参照）で定義されるサイマルクリプトヘッドエンドの様々な構成要素を示している。本明細書で使用する全ての頭字語は、サイマルクリプト仕様書で使用されているものに合わせており、従って改めて厳格に定義する必要はない。ブロック図１００として示すシステムアーキテクチャは、おおよそ完全なサイマルクリプトヘッドエンドアーキテクチャを示すものであるが、本説明は、主に制御語生成器１０４における制御語（ＣＷ）の生成に関連する。サイマルクリプト仕様書によれば、ＣＷ生成器１０４は、制御語として使用する乱数を１０４において生成する。ＣＷ生成器１０４は、このＣＷをサイマルクリプトシンクロナイザ１０８に供給する。
【００１９】
サイマルクリプト仕様書で説明されているように、サイマルクリプトシンクロナイザの役割は、制御語生成器１０４から制御語（ＣＷ）を得ることと、関連するストリーム上の関連するＥＣＭ生成器（ＥＣＭＧ）１１２にＣＷ及びいずれかのＣＡ固有の情報を供給することと、ＥＣＭＧからＥＣＭを取得することと、チャンネルパラメータに基づいて、ＥＣＭをこれらの関連するクリプト期間に同期させることと、これらのＥＣＭをマルチプレクサ（ＭＵＸ）１１６に提出し、チャンネルパラメータに基づいてＥＣＭの反復を要求することと、特定のクリプト期間（エポック）内で使用するためにスクランブラ１２０にＣＷを供給することとを含む。
【００２０】
図２は、本発明によるいくつかの実施形態に基づいて、標準的なサイマルクリプトシステムをどのように修正したかを示している。標準的なサイマルクリプトシステムに行った変更は、図面の下部に見られる破線のボックス１５０内に示している。ＣＷ生成器１０４が、ＥＣＭ生成器（ＥＣＭＧ）１１２などの、個々のＣＡプロバイダの一部を形成するＣＡ値生成器に置き換えられている。ＥＣＭＧ１１２は、ＣＷハッシャ及びサイマルクリプトシンクロナイザ１６０から特定のＣＡプロバイダの特定のＣＡ値を受け取って、ＣＷハッシャ及びサイマルクリプトシンクロナイザ１６０にＥＣＭを戻す。ＣＷハッシャ及びサイマルクリプトシンクロナイザ１６０は、ＥＣＭとともにアクセス基準（ＡＣ）を含むこともできる。或いは、ＥＣＭＧは、別のソースから、例えばアクセス制御生成器（ＡＣＧ）１６４から直接、又はその他の機構からアクセス基準を得ることもできる。
【００２１】
個々のＣＡプロバイダは、ＣＡ値生成器１５４として表されるＣＡ値のコントリビューション（ＣＡ１Ｖ、ＣＡ２Ｖ．．．等）を供給し、これが、ＣＷ（ＣＷハッシャ及びサイマルクリプトシンクロナイザ１６０として図示）を生成するためのハッシュ関数をさらに供給するように修正された修正サイマルクリプトシンクロナイザ１６０に供給される。
【００２２】
この図面に示すように、１６０においてハッシュ関数は実施されるが、他の実施形態では、ＣＡ値がスクランブラ１２０に、又は別のハッシャ装置（図示せず）に渡される。当業者には、本教示を検討すると他の変形例が思い浮かぶであろう。
【００２３】
スクランブラは、キーの長さに関して政府の輸出規制を受ける可能性がある。これが、欧州でのＤＶＢ共通スクランブルアルゴリズムにまつわる状況である。キーは、キー短縮を受けた後でスクランブラに適用される可能性がある。米国特許第７，３６６，３０２号に示されるような、生成されるキーの個々のビットを短縮キーで表せるようにするキー短縮アルゴリズムを使用することができる。キー短縮が有効になった場合、ＣＷハッシャ及びサイマルクリプトシンクロナイザ１６０が、ヘッドエンド又は放送施設内でこれを遂行する。受信機内では、暗号処理にキー短縮を適用して最終キーを計算する。キー短縮は、ＣＡ値のハッシング後に行われる。
【００２４】
ハッシュ関数１６０は、キーを共有する予定の個々のＣＡプロバイダからＣＡ値１５４のコントリビューションを取り、この（単複の）コントリビューションを、キーを共有する他のＣＡプロバイダに渡す。個々のＣＡプロバイダは個々のコントリビューションを取り、コントリビューションの各々を使用してハッシュによるキー導出を終了させる。スクランブラ１２０は、２又はそれ以上のキー値のコントリビューションを取り、キーエポックにわたってコンテンツを暗号化するために使用するコンテンツキーＣＷを生成するか、或いは（図示のようにハッシングをシンクロナイザ１６０において行った場合、シンクロナイザ１６０から得られる複数のキー値のハッシュにより生成された）ＣＷを受け取る。個々のＣＡプロバイダは、ＣＷを導出するために使用するＣＡ値を生成することに関与する。個々のＣＡ値は、以前のようにＣＡプロバイダが供給する（又はヘッドエンドにおいて生成された）ただの乱数であってもよく、或いは一方向の値であってもよい。ＣＡプロバイダがＣＡ値をどのように利用したいと思うかはＣＡプロバイダ次第である。
【００２５】
この例では、ハッシングがシンクロナイザ１６０内で実施されるように示しているが、上述したようにハッシュ関数は、スクランブラにおいて、又はシンクロナイザの前に、或いは他の場所で制限なく実施することもできる。従って、いくつかの実施構成によれば、標準的なサイマルクリプトＣＷＧを使用する代わりに、サイマルクリプトシンクロナイザが、ＣＡプロバイダ（ここでは２つのＣＡプロバイダを想定するが、これより多くてもよいので、これを限定と見なすべきではない）からＣＡ１値及びＣＡ２値を取得する。ＣＡ１値はＣＡプロバイダ２と共有され、ＣＡ２値はＣＡプロバイダ１と共有される。標準的なサイマルクリプトと同じ目的で、ＣＡ１値及びＣＡ２値を適当な場所でハッシュ化して、スクランブラにおいて使用するＣＷを生成する。しかしながら、ＣＡプロバイダは、ハッシュ化された値をコントリビューション化し、ＣＷを生成するので、一方向関数を実施してＣＡプロバイダのＣＡシステムのセキュリティを強化することができる。
【００２６】
受信機側では、ＣＡ１値及びＣＡ２値がＥＣＭ処理から計算される。ＣＡ１値は、ＣＡ１アクセス基準の関数である。ＣＡ１に対しては、ＣＡ２値がキー階層の底部でハッシュされる「乱数」のように供給される。ＣＡ２値は、ＣＡ２アクセス基準の関数である。ＣＡ２に対しては、ＣＡ１値がキー階層の底部でハッシュされる「乱数」のように供給される。
【００２７】
図３を参照すると、受信機側において、キーを管理できる方法が少なくとも２つ存在する。クリプトがハッシュを行ってＣＷ自体を生成することができ、或いはホストがハッシュを行うこともできる。第１の事例では、クリプトがＣＡ１値及びＣＡ２値を内部的に計算してハッシュを行い、ＣＷを生成する。その後、クリプトはＣＷをホストへ出力する。ワンタイムプログラマブル（ＯＴＰ）セキュリティを使用してＣＷを暗号化し、例えばホストとのインターフェイス接続全体にわたって保護することができる。第２の事例では、クリプトがＣＡ１値及びＣＡ２値を内部的に計算する。その後、クリプトは各々をホストへ出力する。ホストがハッシュを行ってＣＷを生成する。ＯＴＰセキュリティを使用してＣＡ１値及びＣＡ２値を暗号化し、例えばインターフェイス接続全体にわたって保護することができる。
【００２８】
これらの両方の実施構成が、図３において、ＣＡ１値１８０及びＣＡ２値１８４がハッシュ関数１８８への入力として供給され、いずれもクリプトプロセッサ又はホスト内で上述した方法で制御語１９２を生成するものとして広く特徴付けられている。以下、ＣＡプロバイダ１などから得たＣＡ値については、ＣＡ値をＣＡＶ１と表す。
【００２９】
図４〜図９は、本発明による様々な実施形態例を実施する際に使用できるハッシュ関数の多くの変形例のうちのほんのいくつかを示している。図４では、ＣＡＶ１を１２８ビットキーとして示しており、ＣＡＶ２を１２８ビットデータとして示している。ＣＡＶ１キーは、高度暗号化標準（ＡＥＳ）暗号化エンジン２００により使用されて暗号化された出力を生成する。その後、この出力をＣＡＶ１キーとともに排他的論理和（ＥＸＯＲ）２０４に適用してＣＷを生成する。
【００３０】
図５は、ＣＡＶ１をＡＥＳエンクリプタ２００の１２８ビットキーとして再び使用し、ＣＡＶ２データをＡＥＳエンクリプタ２００を使用してＣＡＶ１キーで暗号化するＡＥＳエンクリプタ２００及びＥＸＯＲ２０４の再構成を示している。この場合、ＣＡＶ２データをエンクリプタの出力でＥＸＯＲしてＣＷを生成する。
【００３１】
図６には、ＣＡＶ１をＡＥＳエンクリプタ２００のキーとして使用し、ＣＡＶ２をデータとして使用する別のハッシング例を示している。出力は、ＣＡＶ１でキーとして暗号化されたＣＡＶ２であり、この出力をＥＸＯＲ２０４に供給し、ここで出力をＣＡＶ２で初めてＥＸＯＲする。ＥＸＯＲ２０４の出力を第２のＥＸＯＲ２０８に供給し、ここでこの出力をＣＡＶ１でＥＸＯＲして出力としてのＣＷを生成する。
【００３２】
ハッシュ関数の多くの変形例を使用して、出力において一方向関数を生成できることが明らかである。上記の３例は全てＡＥＳ暗号化を使用するが、これを限定的であると考えるべきではない。図７は、ＣＡＶ１、ＣＡＶ２及びＣＡＶ３をコントリビューション化する３つのＣＡプロバイダに使用できるハッシュの例を示している。このハッシュは、図４に示すハッシュの変形例及び直列延長部と見なすことができる。この場合、ＣＡＶ１は、ＡＥＳエンクリプタ２００のキーの役目を果たし、ＣＡＶ２を暗号化するために使用される。暗号化した出力を２０４においてＣＡＶ１でＥＸＯＲして第１段階の出力（ＣＡＶ１２）を生成し、これを第２のＡＥＳエンクリプタ２１２（又は第１のＡＥＳエンクリプタ２００の第２のインスタンス）によって暗号化する。ＡＥＳエンクリプタ２１２は、ＡＥＳエンクリプタ２１２がキーとして使用するＣＡＶ３の下でＣＡＶ１２ハッシュを暗号化して２１２からの出力を生成し、その後これを２０８においてＣＡＶ３でＥＸＯＲしてＣＷを生成する。
【００３３】
この概念を、例えば図８に示すような４つのＣＡプロバイダにさらに広げることができる。この場合、ＣＡＶ１２が、図７に関連して説明した方法と同じ方法で生成される。ＡＥＳエンクリプタ２１２及びＥＸＯＲ２０８を使用してＣＡＶ３及びＣＡＶ４を同様に結合して、ＣＡＶ３をエンクリプタ２１２のキーとして使用し、ＣＡＶ４をエンクリプタ２１２のデータとして使用してＣＡＶ３４を生成する。その後、ＡＥＳエンクリプタ２１６及び２２０の同様の構成を使用して、ＣＷを生成するためにエンクリプタの出力でＥＸＯＲされたキーであるＣＡＶ３４の下で暗号化されたデータであるＣＡＶ１２からＣＷを生成する。
【００３４】
この例では、サイマルクリプトシンクロナイザが以下を供給する。
１）ＣＡ１には：ＣＡＶ２及びＣＡＶ３４、
２）ＣＡ２には：ＣＡＶ１及びＣＡＶ３４、
３）ＣＡ３には：ＣＡＶ４及びＣＡＶ１２、
４）ＣＡ４には：ＣＡＶ３及びＣＡＶ１２。
【００３５】
受信機にＣＡ値を供給するためのＣＡシステムの正確な機構は一般に独自のものであり、プロバイダによって異なる。しかしながら、１つの方法では、前の段階の計算又は解読された値を使用して、次の段階に送られた値を解読することができる。これにより、各段階に供給される値、及び導出されたＣＡ値もほぼ同様に保護されるはずである。
【００３６】
一例として、個々のＣＡシステムを使用して以下のことを行うことができる。
１）ＣＡ１に対しては：ＣＡＶ１［ＣＡＶ２］を使用して暗号化し、ＣＡＶ１２［ＣＡＶ３４］を使用して暗号化する。
２）ＣＡ２に対しては：ＣＡＶ２［ＣＡＶ１］を使用して暗号化し、ＣＡＶ１２［ＣＡＶ３４］を使用して暗号化する。
３）ＣＡ３に対しては：ＣＡＶ３［ＣＡＶ４］を使用して暗号化し、ＣＡＶ３４［ＣＡＶ１２］を使用して暗号化する。
４）ＣＡ４に対しては：ＣＡＶ４［ＣＡＶ３］を使用して暗号化し、ＣＡＶ３４［ＣＡＶ１２］を使用して暗号化する。
【００３７】
上記の例１）〜４）では、暗号化は、ＥＸＯＲ関数と同じくらい単純なものであってもよく、又はより複雑なものであってもよい。
【００３８】
以下の表１は、本教示を導入して可能となるサイマルクリプトの変形例のいくつか（これらを「新規」と呼び、標準的なサイマルクリプトを使用するものを「標準」と呼ぶ）を示している。ＲＮは乱数を意味する。
0005421375.tif 000002
表１
【００３９】
以下の表２は、本発明による方法で使用できる様々なハッシング方法のほんのいくつかを要約したものである。ただし、この表は、ハッシュアルゴリズムの完全なリストを提供することを意図するものではない。
0005421375.tif 000003
表２
【００４０】
図９は、３００から開始する、ヘッドエンドにおいていくつかの実施構成による方法で使用できる１つの処理例を示している。３０４において、サイマルクリプトシステム内でキーを共有する個々のＣＡベンダーからＣＡ値のコントリビューションを受け取る。３０８において、ＣＡ値は、ベンダーにコントリビューション化している他のＣＡと直接（又は前掲のＣＡＶ１２などの中間ハッシュとして間接的に、この場合この動作は後の処理に動かされる）共有が行われる。やはり３０８において、ＥＣＭ又はＥＭＭを使用して、又はキーを配信するための他のいずれかの技術を使用して、個々のＣＡシステムのＣＡ値を受信機に配信する。３１２において、ＣＷを生成するのに適したいずれかのハッシュアルゴリズムを使用して、ＣＡ値のコントリビューションをともにハッシュ化する。その後３２０において、ＣＷを、スクランブラ１２０における発信コンテンツを暗号化するためのコンテンツキーとして使用する。この値は、３２４において次の制御語が必要となるまで暗号化エポックにわたって使用され、この時点で処理が３０４から繰り返される。
【００４１】
図１０は、４００から開始する、テレビ又はセットトップボックスなどの受信機装置においていくつかの実施構成による方法で使用できる１つの処理例を示している。４０４において、受信機が、ＥＣＭなどの使用を含むいずれかの適当な鍵配信技術によってＣＡ値のコントリビューションを受け取るが、ＣＷ自体は受信機に直接転送されない。４０８において、受信機が、ＣＷを生成するためにヘッドエンドにおいて使用するあらゆるハッシュアルゴリズムを使用して、コンテンツの暗号化に使用するＣＷを再生する。その後、この再生されたＣＷを４１２において使用して、受信機において現在のキーエポックにわたってコンテンツを解読する。４２０において、次のキーエポックに新たなキーが必要な場合、処理を４０４から繰り返す。このようにして、受信機装置が一方向関数を使用してＣＷを再導出する。この低レベルハッシュにより、個々のＣＡシステムがＣＷを計算できるようになり、このＣＷが基本的に個々のＣＡプロバイダからのＣＡキーを統合する。個々のＣＡシステムは、この最後のハッシュを使用して行いたいと思うことは何でもできるが、実際には他の計算を最後のハッシュまでハッシュ化することもできる。
【００４２】
従って、上述したように、２又はそれ以上のＣＡ値のハッシュ関数を、コンテンツキー又はＣＷとしてのヘッドエンドとして使用してコンテンツを暗号化する。ハッシュ関数は、受信機においてコンテンツキー又はＣＷを再導出してコンテンツを解読するためにさらに使用される。上述したように、個々のＣＡベンダーからのＣＡ値のコントリビューションを独立したＥＣＭ内の受信機へ送ることができ、ヘッドエンドにおいてＣＷを生成するために使用する同じハッシュ関数を使用して受信機においてＣＷを再導出することによりセキュリティが強化されるので、ＣＷ自体を受信機へ直接送る必要はない。いくつかの実施形態では、ＥＣＭ、ＥＭＭ又はその他のセキュアな機構を介してハッシュアルゴリズム自体を暗号化した形で供給することもでき、さらなるセキュリティのためにこれを定期的に変化させることもできる。当業者には、本教示を検討すると他の変形例が思い浮かぶであろう。
【００４３】
ＤＶＢサイマルクリプト規格は、一般に放送ストリームを対象とするものであるが、この概念を、ＩＰストリームを使用してＤＲＭに適用することができる。ＤＲＭが同様にキーを共有することは可能なはずであるが、ＤＲＭはＥＣＭ側に単純なキー構造を有する。ハッシュ関数を連結することは可能であるが、高度暗号化標準（ＡＥＳ）又はデータ暗号化標準（ＤＥＳ）を使用する場合、いずれか１つの受信機が制御語を計算するために行う必要がある段階数が少なくなるという点で、２進ツリー構造のほうが効率的である。当業者には、本教示を検討すると他の多くの変形例が思い浮かぶであろう。
【００４４】
従って、本発明によるいくつかの実施構成によれば、デジタルビデオ放送（ＤＶＢ）サイマルクリプト規格に基づくコンテンツをスクランブルするために使用するスクランブルキーのセキュリティが強化される。ＤＶＢサイマルクリプト規格では、様々な条件付きアクセス（ＣＡ）プロバイダが、コンテンツをスクランブルするために使用する共通の共有スクランブルキーを受信する。しかしながら、これには、ＣＡプロバイダが一方向関数を使用できないという制限があり、従ってこれではセキュリティが劣る。本方法は、一方向ハッシュ関数を使用することによりセキュリティの向上を実現する。ハッシュ関数は、個々のＣＡプロバイダのコントリビューションを取って、コンテンツのスクランブル化に使用するスクランブルキーを導出する。生成されるスクランブルキーは、ハッキングが非常に難しい一方向関数である。この結果、たとえグローバルキーが漏れたり又はハッキングされたりしてもプログラムアクセス基準を変えることができず、これにより一定の種類のハッキングを防ぐことができる。
【００４５】
従って、配信ヘッドエンドにおいて使用するＣＡシステムが異なる複数の条件付きアクセス（ＣＡ）ベンダー間でキーを共有する方法が、ヘッドエンドにおいて複数のＣＡベンダーの各々からＣＡ値のコントリビューションを受信するステップと、ハッシュ関数を使用して前記複数のＣＡベンダーの各々からのＣＡ値をともにハッシュ化し、出力制御語を生成するステップと、ヘッドエンドのエンクリプタにおいて、出力制御語をコンテンツキーとして使用するステップとを含み、コンテンツキーを暗号化キーとして使用して、条件付きアクセスシステムのいずれかを使用してコンテンツを解読する複数の受信機に提供されるコンテンツを暗号化する。
【００４６】
いくつかの実施構成では、方法が、複数のＣＡベンダー間でＣＡ値を共有するステップをさらに含む。いくつかの実施構成では、共有ステップが、個々のＣＡベンダーのＣＡ値を個々の他のＣＡベンダーに直接提供することによって行われる。いくつかの実施構成では、共有ステップが、個々のＣＡベンダーのＣＡ値を個々の他のＣＡベンダーに間接的に提供することによって行われ、個々のベンダーに提供されるＣＡ値が他のベンダーのＣＡ値のハッシュを含む。いくつかの実施構成では、少なくとも２つのＣＡ値（ＣＡＶ１及びＣＡＶ２）が存在し、ＣＡＶ１を暗号化キーとして使用してＣＡＶ２を暗号化し、暗号化された出力を生成する。いくつかの実施構成では、ＣＡＶ１及びＣＡＶ２の一方が、暗号化された出力と排他的論理和処理で結合される。いくつかの実施構成では、暗号化が、ＤＥＳ、ＤＶＢ共通スクランブル及びＡＥＳ暗号化のうちの１つを含む。いくつかの実施構成では、方法が、ＣＡ値を複数の受信機へ送るステップをさらに含む。いくつかの実施構成では、方法が、ＣＡ値を資格制御メッセージ（ＥＣＭ）に含めて複数の受信機へ送るステップをさらに含む。いくつかの実施構成では、方法が、ハッシュアルゴリズムを複数の受信機へ送るステップをさらに含む。
【００４７】
別の実施形態では、ＣＡシステムが異なる複数の条件付きアクセス（ＣＡ）ベンダー間でキーを共有するサイマルクリプトヘッドエンド装置が、ヘッドエンドにおいて複数のＣＡベンダーの各々からＣＡ値のコントリビューションを受信するための装置を有する。ハッシュプロセッサが、複数のＣＡベンダーの各々からのＣＡ値をハッシュ関数を使用してともにハッシュ化し、出力制御語を生成する。エンクリプタが、出力制御語を暗号化キーとしてのコンテンツキーとして使用して、条件付きアクセスシステムのいずれかを使用してコンテンツを解読する複数の受信機に提供されるコンテンツを暗号化する。
【００４８】
いくつかの実施構成では、ＣＡ値が複数のＣＡベンダー間で共有される。いくつかの実施構成では、共有ステップが、個々のＣＡベンダーのＣＡ値を個々の他のＣＡベンダーに直接提供することによって行われる。いくつかの実施構成では、共有ステップが、個々のＣＡベンダーのＣＡ値を個々の他のＣＡベンダーに間接的に提供することによって行われ、個々のベンダーに提供されるＣＡ値が他のベンダーのＣＡ値のハッシュを含む。いくつかの実施構成では、少なくとも２つのＣＡ値（ＣＡＶ１及びＣＡＶ２）が存在し、ＣＡＶ１を暗号化キーとして使用してＣＡＶ２を暗号化し、暗号化された出力を生成する。いくつかの実施構成では、ＣＡＶ１及びＣＡＶ２の一方が、暗号化された出力と排他的論理和処理で結合される。いくつかの実施構成では、暗号化を、ＤＥＳ、ＤＶＢ共通スクランブル及びＡＥＳ暗号化のうちの１つとすることができる。いくつかの実施構成では、ＥＣＭ生成器が、複数の受信機へＣＡ値を運ぶ資格制御メッセージ（ＥＣＭ）を生成する。いくつかの実施構成では、ＥＣＭ生成器が、複数の受信機へ前記ハッシュアルゴリズムを送るＥＣＭをさらに生成する。
【００４９】
ＣＡシステムが異なる複数の条件付きアクセス（ＣＡ）ベンダー間で共有されるキーである共有キーで暗号化されたコンテンツを受信機において受信する別の方法が、複数の条件付きアクセス（ＣＡ）値のコントリビューションを受信するステップと、ＣＡ値のコントリビューションをハッシュ化して、受信機内で使用するためのコンテンツ暗号化キーとして使用する制御語（ＣＷ）を再導出するステップと、ＣＷを使用して暗号化されたコンテンツを受信機において受信するステップと、再導出されたＣＷを使用して、受信機においてコンテンツを解読するステップとを含む。
【００５０】
いくつかの実施構成では、少なくとも２つのＣＡ値（ＣＡＶ１及びＣＡＶ２）が存在し、ＣＡＶ１を暗号化キーとして使用してＣＡＶ２を暗号化し、暗号化された出力を生成する。いくつかの実施構成では、ＣＡＶ１及びＣＡＶ２の一方が、暗号化された出力と排他的論理和処理で結合される。いくつかの実施構成では、暗号化を、ＤＥＳ、ＤＶＢ共通スクランブル及びＡＥＳ暗号化のうちの１つとすることができる。いくつかの実施構成では、ＣＡ値が、資格制御メッセージ（ＥＣＭ）に含まれて受信機により受信される。いくつかの実施構成では、方法が、受信機においてハッシュアルゴリズムを受信するステップをさらに含む。
【００５１】
１又はそれ以上のプログラムされたプロセッサ上で実行された場合に上述の処理を実施することができる命令を記憶する有形コンピュータ可読電子記憶媒体。
【００５２】
当業者であれば、上記教示を検討すると、上記の例示的な実施形態のいくつかが、１又はそれ以上のプログラムされたプロセッサ、コンピュータ又はその他のプログラマブル装置の使用に基づくものであることを認識するであろう。しかしながら、特定用途向けハードウェア及び／又は専用プロセッサなどのハードウェア構成要素の同等物を使用して他の実施形態を実施できるので、本発明はこのような実施形態に限定されるものではない。同様に、汎用コンピュータ、マイクロプロセッサベースのコンピュータ、マイクロコントローラ、光コンピュータ、アナログコンピュータ、専用プロセッサ、アプリケーション専用回路及び／又は専用有線論理を使用して、代替の同等の実施形態を構築することができる。
【００５３】
本明細書で説明するいくつかの実施形態は、いずれかの適当な電子又はコンピュータ可読記憶媒体上に記憶できる、フロー図の形で広義に上述したプログラミング命令を実行する１又はそれ以上のプログラムされたプロセッサを使用して実施され又は実施することができる。しかしながら、当業者であれば、本教示を検討すると、本発明の実施形態から逸脱することなく上述の処理をあらゆる数の変形形態で及び多くの適当なプログラミング言語で実施できることを理解するであろう。例えば、多くの場合、本発明のいくつかの実施形態から逸脱することなく、実施されるいくつかの動作の順序を変更することができ、さらなる動作を追加することができ、或いは動作を削除することもできる。本発明のいくつかの実施形態から逸脱することなく、エラー捕捉を追加及び／又は増強することができ、ユーザインターフェイス及び情報提示の変形例を作成することもできる。このような変形例は想定されており、同等物と見なされる。
【００５４】
本明細書では、説明した関数を実施する特定の回路に関連していくつかの実施形態について説明したが、１又はそれ以上のプログラムされたプロセッサ上で実行される同等の実施構成を使用して回路関数を実施する他の実施形態も想定される。汎用コンピュータ、マイクロプロセッサベースのコンピュータ、マイクロコントローラ、光コンピュータ、アナログコンピュータ、専用プロセッサ、アプリケーション専用回路及び／又は専用有線論理、アナログ回路、複数のこのような装置、及びこのような装置を集中型又は分散型構成で組み合わせたものを使用して、代替の同等の実施形態を構築することができる。特定用途向けハードウェア及び／又は専用プロセッサなどのハードウェア構成要素の同等物を使用して他の実施形態を実施することもできる。
【００５５】
いくつかの例示的な実施形態について説明したが、当業者には、上述の説明に照らして多くの代替、修正、置換、及び変形が明らかになることが明白である。
【符号の説明】
【００５６】
１１２  ＥＣＭ生成器
１２０  スクランブラ
１５０  破線のボックス
１５４  ＣＡ値生成器
１６０  ＣＷハッシャ及びサイマルクリプトシンクロナイザ
１６４  アクセス制御生成器
【図１】
0005421375.tif 000004
【図２】
0005421375.tif 000005
【図３】
0005421375.tif 000006
【図４】
0005421375.tif 000007
【図５】
0005421375.tif 000008
【図６】
0005421375.tif 000009
【図７】
0005421375.tif 000010
【図８】
0005421375.tif 000011
【図９】
0005421375.tif 000012
【図１０】
0005421375.tif 000013