(57)【要約】【課題】特権グループの入力に基づいて特権グループキーを発生するキー発生システムを提供する。【解決手段】キーを発生するこのシステムは、統一されたセットの全ての可能なサブセットＸに対応するコンポーネントキーを記憶する。このサブセットＸは、ｋ個若しくはそれより少ないメンバーを有する。特権セットのメンバーを含まないサブセットＸの順序付けされたコンポーネントキーを擬似ランダム関数へ送ることによって、特権セットのために特権グループキーが発生される。【選択図】図２
2008538875.tif 000002
【特許請求の範囲】
【請求項１】
グループキー発生方法において、
複数の受信機のセットに関して、ｋ（ｋは所定の定数）よりも少ないメンバーを有する受信機の各可能なサブセットＸに対してコンポーネントキーを付与し、
前記サブセットＸを順序付ける反復順序付け関数を定義し、
特権を持つ受信機のサブセットに関して、どのサブセットＸが前記特権を持つサブセットのメンバーを含まないのかを判断し、且つ、そのようなサブセットＸに関連する前記コンポーネントキーを識別し、
任意の数のコンポーネントキーを入力として採用してグループキーを出力する擬似ランダム関数を定義し、
前記特権を持つサブセットのメンバーを含まないｋよりも小さなサイズのＸのサブセットに関連する前記コンポーネントキーを、前記擬似ランダム関数に対する入力として使用し、ここで、前記コンポーネントキーは、前記反復順序付け関数によって与えられた順序で前記擬似ランダム関数に適用され、前記擬似ランダム関数の前記出力は、特権を持つ受信機特有のグループキーである、ことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、更に、コンポーネントキーを各サブセットＸに割り当てる付加的な反復順序付け関数を備える方法。
【請求項３】
請求項１に記載の方法において、前記方法は前記受信機によって実行され、前記受信機は単にそれが前記特権を持つサブセットのメンバーである場合に前記方法を実行する方法。
【請求項４】
請求項１に記載の方法において、前記擬似ランダム関数はＡＥＳ−ＸＣＢＣ−ＭＡＣに基づく方法。
【請求項５】
請求項１に記載の方法において、前記擬似ランダム関数はＨＭＡＣ ＳＨＡ１に基づく方法。
【請求項６】
請求項１に記載の方法において、前記擬似ランダム関数は付加的なソルトパラメータを採用する方法。
【請求項７】
受信機において、
記憶装置と論理を備える改竄防止環境と、
前記改竄防止環境に記憶された複数のコンポーネントキーとデバイスＩＤであって、ここでは、前記受信機がメンバーではない各可能なサブセットＸに対応する少なくとも１つのコンポーネントキーが存在し、前記サブセットＸはｋよりも少ないメンバーを有する受信機の全てのセットを記述する、前記複数のコンポーネントキーとデバイスＩＤと、を備えており、
ここで、特権を持つグループの定義の受け取り時に、前記改竄防止環境における論理は、前記特権を持つグループのメンバーを含まない前記サブセットＸを判断し、そのようなグループは各々、反復順序付け関数によって決定されるものとして順序付けされ、前記順序付けされたグループに関連する前記コンポーネントキーは、擬似ランダム関数のためのパラメータとして使用され、且つ、前記順序付け関数によって命令された順序で適用され、
前記擬似ランダム関数の出力は特権を持つグループキーであること、
を特徴とする受信機。
【請求項８】
請求項７に記載の受信機において、前記擬似ランダム関数はＡＥＳ−ＸＣＢＣ−ＭＡＣに基づく受信機。
【請求項９】
請求項７に記載の受信機において、前記擬似ランダム関数はＨＭＡＣ ＳＨＡ１に基づく受信機。
【請求項１０】
請求項７に記載の受信機において、前記擬似ランダム関数は付加的なソルトパラメータを採用する受信機。
【請求項１１】
グループキーを発生するプログラム製品において、
コンピュータ読み取り可能な媒体と、
前記コンピュータ読み取り可能な媒体に記憶され、サブセットＸを順序付けする反復順序付け関数を定義するプログラムコードであって、サブセットＸは所定数のメンバーよりも小さなメンバーを有する全ての受信機のセットのサブセットである、前記プログラムコードと、
前記コンピュータ読み取り可能な媒体に記憶され、グループ定義の受け取り時に、どのサブセットＸが前記グループ定義内のいずれのメンバーをも含まないのかを判断し、且つ、そのようなサブセットＸの各々に関連するコンポーネントキーを識別する、プログラムコードと、
前記コンピュータ読み取り可能な媒体に記憶され、任意の数のコンポーネントキーを入力として採用してグループキーを出力する擬似ランダム関数を備える、プログラムコードと、
前記コンピュータ読み取り可能な媒体に記憶され、前記グループ定義内のメンバーを前記擬似ランダム関数に対する入力として含まないＸのサブセットと関連するコンポーネントキーを使用するプログラムコードであって、ここで、前記コンポーネントキーは、前記反復順序付け関数によって与えられた順序で前記擬似ランダム関数に適用され、前記擬似ランダム関数の前記出力は、特権を持つ受信機特有のグループキーである、前記プログラムコードと、
を備えることを特徴とするプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、セキュリティーと暗号作成方法の分野に関する。更に詳細には、コンテンツ配信システムにおけるキー（鍵）配布に関する。
【背景技術】
【０００２】
従来のブロードキャスト暗号化方法の状況は以下の文献に記載されている。尚、これらの開示は参照によって本明細書に組み入れられている。
【０００３】
【非特許文献１】A．Fiat and M. Naor, Broadcast Encryption, Advances in Cryptology- CRYPTO'93 Proceedings, Lecture Notes in Computer Science, Vol.773, 1994, pp.480-491  NIST. FIPS-197: Advanced Encryption Standard.  http://csrc.nist.gov//publications/fips/fips197/fips-197.pdf
【０００４】
S. Frankel. AES-XCBC-MAC-96 Algorithm And Its Use With IPSec.
http://www.ietf.org/rfc/rfc3566.txt
【０００５】
NIST. FIPS-81:DES Modes Of Operation.
http://www.itl.nist.gov/fipspubs/fip81.htm
【０００６】
H. Krawzyk. RFC2104−Keyed-Hashing for Message Authentication.
http://www.faqs.org/rfcs/rfc2104.html
【０００７】
NIST. FIPS 180-1:Secure Hash Standard.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、例えば、権限のある複数のユーザの受信機で構成されたセットのためのグループキー発生方法、或いは、グループキーを発生する改竄防止環境を有した受信機を提供する。
【課題を解決するための手段】
【０００９】
開示された本発明の１つの態様によれば、権限のある複数のユーザの受信機で構成されたセットのためのグループキー発生方法が提供される。この方法は、ｋ（ｋは所定の定数）よりも少ないメンバーを有する受信機の各可能なサブセットＸに対してコンポーネントキーを付与する。単射順序付け関数（injective ordering function）は、それらサブセットＸをある特定の順序とする。権限のある受信機のサブセットに関して、特権サブセット（特権を持つサブセット）のメンバーを含まないサブセットＸが判断される。そのようなサブセットＸに関連するコンポーネントキーが識別される。擬似ランダム関数は、単射順序付け関数によって定義された順番で、ｋよりも小さなサイズを有する特権セット（特権を持つセット）から外れるサブセットと関連したコンポーネントキーを入力として採用し、グループキーを出力する。
【００１０】
開示された本発明の他の態様によれば、グループキーを発生する改竄防止環境を有する受信機が提供される。この改竄防止環境は、複数のコンポーネントキーとデバイスＩＤを記憶する。各デバイスに関して、デバイスがメンバーではない各可能なサブセットＸに対応する少なくとも１つの記憶されたコンポーネントキーが存在し、ここで、前記サブセットＸはｋよりも少ないメンバーを有する受信機の全てのセットを記述する。特権グループ（特権を持つグループ）の定義の受け取り時に、受信機の改竄防止ハードウェアは、該受信機が特権グループのメンバーであるかどうかを判断する。そうであれば、改竄防止環境における論理（ロジック）は、特権グループのメンバーを含まないｋより小さなサイズのサブセットＸを決定する（これらのグループは、単射順序付け関数によって決定されるものとして順序付けされる）。順序付けされたグループに関連するコンポーネントキーは、擬似ランダム関数のためのパラメータとして、順序付け関数によって命令された順序で適用される。擬似ランダム関数の出力は特権グループキーである。
【発明を実施するための最良の形態】
【００１１】
コンテンツ配信システムでは、図１に示すように、コンテンツプロバイダー１０は、コンテンツを、伝送媒体２０を介して１つ若しくは２つ以上の受信機（受信者）１５へ伝送する。このようなコンテンツ配信システムの一例は、空気伝播、ケーブル、デジタルビデオ放送（ＤＶＢ）、衛星、若しくは、インターネットプロトコルネットワークを介して送られるテレビ放送や、デジタルマルチメディア放送（ＤＭＢ）やメディアＦＬＯ（登録商標）を含む他のマルチメディア配信システムである。勿論、他の様々なタイプのコンテンツ及び伝送媒体もこのコンテンツ配信モデルに適合し、また、本発明の状況に適合する。このモデルを介して配信され得る他のコンテンツタイプの例としては、音声、テキスト、ビデオゲーム、若しくは、対話型メディアも含まれる。適当な伝送媒体の他の例として、無線放送、セルラー、ブルーツース、ＩＥＥＥ８０２．１１、メッシュネットワーク、及び、ワイヤド／オプチカルＷＡＮ若しくはＬＡＮが含まれる。
【００１２】
コンテンツプロバイダーは、しばしば、それらのユーザに様々なサービスを提供する。これによって、ユーザは、自身が受信するサービスを自身の個々のニーズに合せて調整できる。テレビサービスとの関連で言えば、例えば、ユーザは、有料テレビ、ペイパービュー事象、オンデマンドプログラミングの中から選択することができる。この多様性を助長するため、コンテンツプロバイダーは、一般に、幾つかの或いは全ての、それらのコンテンツを暗号化し、権限のある受信機だけがユーザが購入したサービスに対応するコンテンツを解読することができるようにする。
【００１３】
暗号化システムに合せて、コンテンツプロバイダー１０は、伝送されるコンテンツの少なくとも幾らかを暗号化するために、ハードウェア及びソフトウェアを使用し、受信機１５は、コンテンツを解読するためにハードウェアとソフトウェアを有する。受信機（受信者）のハードウェアは、様々なデバイス、例えば、テレビジョンセットトップボックス、移動ターミナル（端末）、若しくは、汎用コンピュータで具現化され得る。暗号化スキームのセキュリティーを維持するため、受信機のハードウェア、及び／又は、ソフトウェアは、暗号化システムでかかわるために必要な情報と論理（ロジック）を含んだ、改竄防止環境１６を含む。改竄防止環境１６は、暗号化システムを打ち破ろうとするユーザがシステムの機密に対してアクセスを有しないことを確実にする助けとなる。改竄防止環境１６は、従来技術で知られたいずれのシステムおよび方法を介して具現化してもよい。
【００１４】
暗号化／解読システムの管理には、しかしながら、多くの困難が伴う。１つの特別な問題は、システムを実行するために使用されるアルゴリズムやシークレットキーの管理及び分配である。システム受信機の数や個別の暗号化事象が大きくなるにつれ、キー管理は困難になる。
【００１５】
開示されたシステム及び方法は、コンテンツを暗号化し解読するのに必要とされる十分に且つ安全なキーの発生及び分配のためのシステム及び方法を提供する。開示されたシステム及び方法によって、コンテンツプロバイダーと権限のある受信機の改竄防止環境１６の双方が、共有するシークレット情報と論理のセットから整合キーを発生することができる。更に、開示されたシステムによって、コンテンツプロバイダーと受信機の改竄防止環境１６は、権限のあるユーザのサブセットのための整合グループキーを発生することができる。権限のあるグループの定義によって、コンテンツプロバイダーは暗号化事象の数を制限することができ、また、伝送される情報量を制限して、システムのセキュリティーを高めることができる。
【００１６】
特に、本願に開示されたシステム及び方法は、受信機の改竄防止環境１６に記憶されたシークレットに関する情報をグループキーが明らかにしない（漏らさない）ブロードキャスト環境での、グループキーの導出のためのシステム及び方法を提供する。改竄防止環境１６は、キー導出スキームを実施し、コンポーネントキーを記憶するために必要とされる。コンポーネントキーは受信機の改竄防止環境１６に記憶されたセキュリティーキーであり、ユーザにデバイスを分配する前は受信機に配置しておくことができたものである。好ましくは、各改竄防止環境は、グループキー（受信機がメンバーである、権限のあるセットのためのグループキー）を発生するのに必要とされるキーを記憶するだけである。改竄防止環境は、それがメンバーではないグループに対してグループキーを発生するために使用されるキーを記憶する必要はない。
【００１７】
例えば、図２に示すように、受信機の改竄防止環境は、コンポーネントキー２０５ａを記憶するセキュア（安全な）記憶装置２０５とキー導出スキーム２０４を含む。
【００１８】
ある特定のグループキー２０６を生成するため、改竄防止環境１６は、グループ定義２１０や、任意であるが、ｓａｌｔ（ソルト）２２０（例えば、ある特定のグループ定義、時刻、コンポーネントキーとは独立の他の幾つかパラメータに特有の、グローバルコンスタント（定数）（global constant）である）を入力として採用する。暗号化システムのインテグリティが維持されることを確実にするため、受信機の改竄防止環境１６は、ユーザがグループのメンバーである場合にのみグループキーを出力する。これは、デバイスＩＤがセキュア記憶装置に記憶されることを必要とするものであり、こうして、受信機は、自身がグループ定義２１０に設けられたグループのメンバーであるかどうか認知することができる。導出されたグループキーの幾つかが、暗号化システムを回避しようと試みるユーザに曝されたときであっても、改竄防止環境１６におけるロングタームシークレット（長期間秘密）（long term secrets）が安全性を維持する。更に、グループキーの発覚のリスクでさえ、ｓａｌｔパラメータを頻繁に変更することによって軽減され得る。また、権限のあるグループのメンバーではない受信機は、本願に開示された方法を用いるグループキーを計算することはできない。なぜなら、それは必要とされるパラメータを有しないからである。それ故、システム保護は、権限のあるグループのメンバーであるかどうかといった改竄防止環境の判断だけに基づくものではない。
【００１９】
説明のため、セットＵは、全てのユーザのセットであると仮定する。勿論、システムを完全に実施する際、コンテンツプロバイダーは、複数の独立したドメインＵを操作してもよい。ｎ＝│Ｕ│を、このセットのサイズとする。コンテンツプロバイダーは、システムの抵抗を定義する値ｋを選定する（ここでｋ＞ｎ）。この抵抗は、改竄防止環境を破壊し、暗号化スキームを打ち破るために共謀しなければならないユーザの最低限の数を定義する。ｋの選択は設計上の決定である。ｋを大きな値とすることは、キーをより多くの数とすることになるが、打ち破ることがより困難な暗号化システムとなる。これに対し、ｋの値を小さくすると、システムの堅牢さは失われるが、比較的より少数のキーしか必要としない。例えば、ｋが２に設定された場合、システムは、改竄防止環境が安全に維持されている限りは安全であるが、改竄防止環境において、もし２人のユーザがシークレットを得た場合、かれらは共謀して、システムを破壊することができる。
【００２０】
第１の単射順序付け関数ｆは、セットＵのメンバーをセットＺに変形するものであり（つまり、ｆ：Ｕ→Ｚ）、こうしてＵのメンバーはＺへ順序付け（整理）される。更に、Ｕの２人のメンバーａ、ｂについて、ｆ（ａ）＜ｆ（ｂ）の場合、及び、ｆ（ａ）＜ｆ（ｂ）の場合にのみ、ａ＜ｂである。他の単射順序付け関数ｇ（Ｘ）は、Ｕのサブセットを順序付けするために定義される。このような関数の例は、
【数１】
2008538875.tif 000003
である。しかしながら、Ｕのサブセットのために単射順序付けを付与する他のいずれの関数も使用することができ、従来技術において容易に導き出すことができる。キーは、セットＵの各可能なグループＸ（但し、│Ｘ│＜ｋ）について割り当てられる。キーＫ ｉは、ｉ＝ｇ（Ｘ）で割り当てられる。代替設計では、キーに関連する全ての開示（公表）が、あるキーの一部を作り出し、そのキーの残りは他の手続を用いて作り出される。
【００２１】
各デバイスに関して、改竄防止環境は、メンバーではないｋよりも小さなサイズを有したＵのサブセットに対応するキーＫ ｉを記憶するだけである。これは（以下に述べるキー導出とともに）、Ｕのうちｋ個のメンバーより小さいものは、それらがメンバーではないグループのグループキーを計算できないことを暗示する。
【００２２】
権限のあるユーザのグループはＹとして定義され、これは権限のある受信機を含むＵのサブセットである。Ｙはコンテンツプロバイダーによって送られたグループ定義２１０として働く。また、Ｙに存在しないユーザのセットはグループ定義として働くことができる。権限のあるグループＹについては、ｍｉｘ（）と呼ばれる開示との関連で、任意長の任意数の入力を採用できる擬似ランダム関数を使用することによって、グループキー２０６が発生される。所定のグループＹについて、ｍｉｘ（）のためのパラメータが、全てのサブセットＸ（但し、│Ｘ│＜ｋであり、Ｙのメンバーを含まない、つまり、Ｕ−Ｙ）から導き出される。そのようなサブセットは各々、Ｘのメンバーであり、それ故、各受信機によって記憶された関連キーＫ ｉを有する。Ｕ−Ｘからの各ＸについてのキーＫ ｉは、ｍｉｘ（）のためのパラメータとして使用される。更に、それらはｇ（Ｘ）によって定義された順序で使用される。順序付けされたキーＫ ｉに加えて、上述したような、ｓａｌｔパラメータも、随意的に、グループ定義とともに送付され、また、ｍｉｘ（）に対するパラメータとして付加され得る。
【００２３】
上述したように、ｓａｌｔパラメータは、グループ定義とは別のパラメータとして送られてもよい。このｓａｌｔは、あるフォームであること（例えば、長さは正にｍビットであること、又は、最大でもｍビットであること）を要求されてもよい。それ故、ｓａｌｔがそれについて設定された基準を満たさない場合には、グループキー導出は失敗し、これにより、付加的なセキュリティーが提供される。
【００２４】
３つの典型的なｍｉｘ（）関数の実施を以下に開示する。これらのうち、２つはＨＭＡＣ ＳＨＡ１に基づき、１つはＡＥＳ ＸＣＢＣ ＭＡＣに基づく。ここに挙げたものでは、２項演算子‖は、連結（連続）を記述するために使用される。勿論、適当なｍｉｘ（）関数の他の多くの実施及び実例も本発明の精神を逸脱することなく容易に導き出すことができる。
【００２５】
ＡＥＳ−ＸＣＢＣ−ＭＡＣに基づくＭＩＸ（）関数の例
この節では、上に挙げたS. Frankel. のCounter-Mode and Cipher Feedback mode（上に挙げたNIST. FIPS-81:DES Modes Of Operationに記載されているようなもの）に記載されているＡＥＳ−ＸＣＢＣ−ＭＡＣに基づくｍｉｘ（）関数を説明する。ＡＥＳ−ＣＢＣ−ＭＡＣは、ＮＩＳＴ．ＦＩＰＳ−８１に述べられているように、ＣＢＣモードにおいてＡＥＳを使用することによりメッセージ認証コード（ＭＡＣ）を作り出すことによって使用される。
【００２６】
擬似ランダム関数は、必要に応じ、ｊ個のＡＥＳブロックまで出力するようなＡＥＳ−ＸＣＢＣ−ＭＡＣに基づきパラメータ（ｋ，ｘ，ｊ）を用いて定義される。この関数の入力は、ＡＥＳキー、ＡＥＳブロックのビットストリングｘである。これらのブロックは、ｘ １、ｘ ２で示される。
【００２７】
ＡＥＳ ｋ（ｘ）は、キーｋを使用する単一のプレーンテキストブロックｘにおけるＡＥＳを用いた暗号化を示すために使用される。
【００２８】
ＡＥＳ ＣＢＣ ＭＡＣ ｋ（ｘ）は、プレーンテキストブロックｘにおいてキーｋを有するＡＥＳを使用するようなＣＢＣ−モードＭＡＣの計算を示すために使用される。この入力は、適当な長さ（つまり、多様なＡＥＳブロックサイズ）であると仮定される。
【００２９】
擬似ランダム関数は、以下のように計算される。
１．ｋ１＝ＡＥＳ ｋ（Ｐ１）とする
２．ｋ２＝ＡＥＳ ｋ（Ｐ２）とする
３．C 1 = AES k1(AES CBC MAC k1(x) XOR k2 XOR 0x01)
４．ｃｎｔ＝２〜ｊについて
C cnt = AES k1(AES CBC MAC k1(x ‖ C {cnt-1}) XOR k2 XOR cnt)
【００３０】
擬似ランダム関数は、常に、ｊ個のＡＥＳブロックのデータまで作り出す。ｍｉｘ（ｓａｌｔ，ｋ １，…,ｋ  ｍ）関数は、次のように定義される。
１．Ｔ １＝擬似ランダム関数（ｋ １,ＳＡＬＴ,ｊ）
２．ｃｎｔ＝２〜ｍについて
ａ．Ｔ ｃｎｔ＝擬似ランダム関数（ｋ ｃｎｔ,Ｔ {cnt-1},ｊ）
【００３１】
定数Ｐ１、Ｐ２は、任意に、Ｐ１！＝Ｐ２である限り定義され得る。例えば、値Ｐ１＝０ｘ０１０１０１０１０１０１０１０１０１０１０１０１０１０１０１０１、Ｐ２＝０ｘ０２０２０２０２０２０２０２０２０２０２０２０２０２０２０２０２を使用することができる。
【００３２】
このｍｉｘ（）関数により、ビットストリングＴ ｍ（ｍは入力におけるキーの数）が求まり、これが権限のあるグループのキーである。
【００３３】
図３は、ｉ＝１、ｃｎｔ＞１、ｓａｌｔが正に１つのＡＥＳブロックの長さである場合の、ＡＥＳ−ＸＣＢＣ−ＭＡＣに基づく、典型的なｍｉｘ関数の実施を例示したものである。Ｋ ｉ３０１は、ＡＥＳブロック３０２、３０３、３０４に適用される。Ｐ１！＝Ｐ２のように任意に定義された定数３０５Ｐ１は、キー３０１を有する入力とともに、ＡＥＳブロック３０２へ適用される。ＡＥＳブロック３０２の出力は、ｓａｌｔ３０９とともに、ＡＥＳブロック３０７へ適用される。Ｔ ｉ、{ｊ−１}３１０とＡＥＳブロック３０７の出力のＸＯＲ３１１は、ＡＥＳブロック３０２の出力とともに、ＡＥＳブロック３０８へ適用される。キー３０１と定数Ｐ２  ３０６は、ＡＥＳブロック３０３へ適用される。上に定義したｊ３１２とＡＥＳブロック３０３の出力のＸＯＲ３１３は、ＡＥＳブロック３０８の出力とともに、ＸＯＲ３１４へ適用される。ＸＯＲ３１４の出力とキー３０１は、ＡＥＳブロック３０４へ適用され、Ｔ ｉ,ｊ３１５を出力する。１つのキーだけが特権セットのメンバーであり且つｊ＝２である場合、このブロックは、出力グループキーの第２のブロックである。
【００３４】
ＨＭＡＣ ＳＨＡ１に基づくＭＩＸ（）関数の例
ＨＭＡＣ ＳＨＡ１に基づくｍｉｘ（）関数は、上述した実施よりも若干簡易である。パラメータ（ｋ，ｘ，ｊ）を用いる擬似ランダム関数であり、キーｋとビットストリングｘとすると、NIST. FIPS 180-1:Secure Hash Standardに記載されているように、ｊ個のＳＨＡ１ブロック、複数のデータのブロック（１６０ビット）を出力する。ＨＭＡＣ ＳＨＡ１（ｋ,ｘ）は、キーｋと入力ビットストリングｘを用いて計算されたＨＭＡＣ ＳＨＡ１を意味する。擬似ランダム関数は、以下の通りである。
１．Ｃ １＝ＨＭＡＣ ＳＨＡ１（ｋ,ｘ‖０ｘ０１）
２.ｃｎｔ＝２〜ｊについて
C cnt = HMAC SHA1(k,x ‖ C {cnt-1} ‖ cnt) 
【００３５】
擬似ランダム関数は、常に、ｊ個のＳＨＡ１ブロック（１６０ビット）のデータまで作り出す。ｍｉｘ（ｓａｌｔ，ｋ １,…,ｋ ｍ）関数は、次のように定義される。
１．Ｔ １＝ｐｒｆ（ｋ １, salt,ｊ）
２．ｃｎｔ＝２〜ｍについて
Ｔ ｃｎｔ＝ｐｒｆ（ｋ ｃｎｔ,Ｔ {cnt-1},ｊ）
【００３６】
このｍｉｘ（）手続により、特権グループに対するキーであるビットストリングＴ ｍ（ｍは入力におけるキーの数）が求まる。
【００３７】
図４は、ＨＭＡＣ ＳＨＡ１に基づくｍｉｘ関数を示す。Ｃ ｉ,０は、殻のストリングであると考える。Ｉｐａｄ４０５とＫ ｉ４０３の反復のＸＯＲ４０４は、ｊ４０１と連なるＣ ｉ,{ｊ−１}と連なり、Ｓａｌｔと共に、セキュアハッシュアルゴリズム１（ＳＨＡ１）４０２へ適用される。Ｏｐａｄ４０５とＫ ｉ４０３の反復のＸＯＲ４０７は、ＳＨＡ１  ４０２の出力とともに、ＳＨＡ１  ４０８へ適用され、Ｃ ｉ,ｊ４０９を作り出す。この手続は、１つのＳＨＡ１ブロックの出力を生成する。１からｊの必要とされる全てのブロックについての各値のｉの反復は、連結されたときにグループキーを生成するような、ブロックＣ ｍ,ｊ（ｍは入力キーの数）のシーケンスを生成する。
【００３８】
可変長キーを有するＨＭＡＣ ＳＨＡ１に基づくＭＩＸ（）関数の例
ＨＭＡＣ ＳＨＡ１とともに可変長キーを使用することはｍｉｘ（）関数を非常に簡易化し、高速化する。ｍｉｘ（ｓａｌｔ，ｋ １,…,ｋ ｎ）関数は、以下のように計算される。
１．Ｔ １＝ＨＭＡＣ ＳＨＡ１（Ｋ １‖…‖Ｋ ｎ, salt‖０ｘ０１）
２．ｃｎｔ＝２〜ｊについて
Ｔ ｃｎｔ＝ＨＭＡＣ ＳＨＡ１（Ｋ １‖…‖Ｋ ｎ, salt‖Ｔ {cnt-1}‖cnt）
【００３９】
この関数において、全てのキーは、単射順序付け関数によって定義された順序で互いに連結される。暗号フィードバック及びカウンターモードは、ＨＭＡＣ ＳＨＡ１によって組み合わされ、ｓａｌｔにおいて計算される。
【００４０】
図５は、可変長キーＨＭＡＣ ＳＨＡ１に基づくｍｉｘ関数を示す。Ｔ ０は、殻のストリングとして考える。Ｉｐａｄ５０５とＫ １‖…‖Ｋ ｎ５０３のＸＯＲ５０４は、ｊ５０１と連なるＴ {ｊ−１}と連なり、ｓａｌｔと共に、セキュアハッシュアルゴリズム１（ＳＨＡ１）５０２へ適用される。Ｏｐａｄ５０５とＫ １‖…‖Ｋ ｎ５０３の連結のＸＯＲ５０７は、ＳＨＡ１  ５０２の出力とともに、ＳＨＡ１  ５０８へ適用され、Ｔ ｊ５０９を作り出す。開示された関数では、ｊ＞１（ｊ＝１の場合は、従前のブロックが省略される）の場合である。ＩｐａｄとＯｐａｄは、これまた、Ｈで定義されたようなキーの連結に等しい長さの定数である。Krawzyk. RFC2104−Keyed-Hashing for Message Authentication。
【００４１】
本願発明の数多くの特徴及び利点は詳細な説明から明らかである。故に、添付クレームは、本願発明の真の精神及び範囲に含まれるような、それら全ての特徴及び利点をカバーすることを意図したものである。
【００４２】
更に、当業者であれば様々な変形を容易に思いつくであろうことから、正に本願に例示され記載された命令や動作そのものに本願発明が限定されないことを希望する。故に、全ての適当な変形は本願請求項の範囲に含まれるものである。  
【図面の簡単な説明】
【００４３】
【図１】本願に開示されたシステム及び方法との関連で示したコンテンツ配信システムを示す図である。
【図２】受信機のキー導出システムの一例を示す図である。
【図３】一例としてのｍｉｘ（）関数に基づくＢＣ−ＭＡＣを示す図である。
【図４】典型的なｍｉｘ（）関数に基づくＨＭＡＣ ＳＨＡ１を示す図である。
【図５】可変長キーを有する典型的なｍｉｘ（）関数に基づくＨＭＡＣ ＳＨＡ１を示す図である。
【図１】
2008538875.tif 000004
【図２】
2008538875.tif 000005
【図３】
2008538875.tif 000006
【図４】
2008538875.tif 000007
【図５】
2008538875.tif 000008
【国際調査報告】
2008538875.tif 000009
2008538875.tif 000010
2008538875.tif 000011