(57)【特許請求の範囲】
【請求項１】
配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信システムにおいて、
前記配信装置は、
前記受信装置を利用する受信者に固有の受信者鍵を生成する受信者鍵生成手段と、
主乱数及び副乱数を生成させ、前記受信者鍵生成手段により生成された各受信者の受信者鍵、前記生成した主乱数及び副乱数に基づき、複数の候補鍵を生成する候補鍵生成手段と、
コンテンツをコンテンツ鍵により暗号化するコンテンツ暗号化手段と、
前記コンテンツ鍵及び前記主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する共通情報生成手段と、
共通情報生成手段により生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを前記受信装置へ配信する配信手段とを備え、
前記受信装置は、
前記受信者鍵生成手段により生成された受信者鍵、前記候補鍵生成手段により生成された候補鍵を記憶する鍵情報記憶手段と、
前記配信手段により、共通情報及び暗号化されたコンテンツが配信された場合、前記鍵情報記憶手段に記憶した受信者鍵、候補鍵、前記共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する算出手段と、
算出したコンテンツ鍵により前記コンテンツを復号する復号手段と
を備えることを特徴とするコンテンツ配信システム。
【請求項２】
前記配信装置は、前記候補鍵生成手段により生成された複数の候補鍵の順序を並び替える並び替え手段を更に備えることを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項３】
前記配信装置は、さらに受信者毎に固有の系列を生成する系列生成手段を更に備え、
前記候補鍵生成手段は、前記系列生成手段により生成された系列に応じて、前記生成した副乱数を、前記受信者鍵生成手段により生成された各受信者の受信者鍵及び主乱数に当てはめることにより複数の候補鍵を生成するよう構成してあることを特徴とする請求項１又は２に記載のコンテンツ配信システム。
【請求項４】
前記配信装置は、前記コンテンツ鍵の正当性を判断するための確認情報を生成する確認情報生成手段を更に備え、
前記鍵情報記憶手段は、前記確認情報生成手段により生成された確認情報を記憶するよう構成してあり、
前記算出手段は、前記鍵情報記憶手段に記憶した受信者鍵、前記共通情報に含まれる副乱数及び秘匿乱数に対して、候補鍵を適用してコンテンツ鍵を算出し、算出したコンテンツ鍵と前記確認情報とを対比することにより前記コンテンツ鍵の正当性を判断し、正当と判断されるまで候補鍵を変更してコンテンツ鍵を算出するよう構成してあることを特徴とする請求項１乃至３のいずれかに記載のコンテンツ配信システム。
【請求項５】
コンテンツを配信する配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信方法において、
前記配信装置により、前記受信装置を利用する受信者に固有の受信者鍵を生成する受信者鍵生成ステップと、
前記配信装置により、主乱数及び副乱数を生成させ、前記受信者鍵生成ステップにより生成された各受信者の受信者鍵、前記生成した主乱数及び副乱数に基づき、複数の候補鍵を生成する候補鍵生成ステップと、
前記配信装置により、コンテンツをコンテンツ鍵により暗号化するコンテンツ暗号化ステップと、
前記配信装置により、前記コンテンツ鍵及び前記主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する共通情報生成ステップと、
前記配信装置により、共通情報生成ステップにより生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを前記受信装置へ配信する配信ステップとを備え、
前記受信装置により、前記受信者鍵生成ステップにより生成された受信者鍵、前記候補鍵生成ステップにより生成された候補鍵を鍵情報記憶部に記憶する鍵情報記憶ステップと、
前記配信装置から、共通情報及び暗号化されたコンテンツが配信された場合、前記受信装置により、前記鍵情報記憶部に記憶した受信者鍵、候補鍵、前記共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する算出ステップと、
前記受信装置により、算出したコンテンツ鍵により前記コンテンツを復号する復号ステップと
を備えることを特徴とするコンテンツ配信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信システム及びコンテンツ配信方法に関し、特に受信者に共通の情報を付与する場合であっても受信者の不正を防止することが可能なコンテンツ配信システム等に関する。
【０００２】
【従来の技術】
近年、電子商取引等の分野においてコンテンツの配信が活発に行われている。このコンテンツが有料の音楽情報・映像情報、または個人情報等である場合は配信時に暗号化がされることが多い。暗号化されたコンテンツは受信者のコンピュータまたはチューナ等で復号され音楽を聴き、映画を閲覧し、株等の商取引の情報を閲覧し、または電子政府により発行された住民票等を取得することができる。
【０００３】
コンテンツの配信時には一般的には、暗号鍵にてコンテンツを暗号化して配信し、受信者の受信装置により予め付与された復号鍵により暗号化されたコンテンツを復号する。従来、衛星によるコンテンツ配信における鍵の配信システムとして、非特許文献１に開示されたものが知られている。
【０００４】
図６は従来の配信システムの概要を示す説明図である。図６において１００は放送局側に設置されるサーバコンピュータ、２００は各受信者が所有するチューナである。放送局側のサーバコンピュータ１００はテレビ番組等のコンテンツをコンテンツ鍵Ｋcにより暗号化する。サーバコンピュータ１００はコンテンツ鍵Ｋcをチューナ２００に送信するためにワーク鍵Ｋwで暗号化する。さらに、ワーク鍵Ｋwは、受信者固有のマスタ鍵Ｋmにより暗号化される。なお、コンテンツ鍵Ｋc及びワーク鍵Ｋwは全受信者に共通の情報であり、ワーク鍵Ｋwは事業者毎に異なる鍵である。コンテンツ鍵Ｋcをワーク鍵Ｋwにより暗号化する場合は、コンテンツも共に暗号化される。共通の情報であるコンテンツ鍵Ｋc及びワーク鍵Ｋwで暗号化された情報は、全受信者に共通であるため共通情報（ＥＣＭ）といわれる。
【０００５】
ワーク鍵Ｋwをマスタ鍵Ｋmで暗号化する場合は、受信者毎に異なる契約情報も暗号化され、受信者に配信される。このように、各ユーザ個別の情報をユーザ毎に付与されるマスタ鍵Ｋmで暗号化される情報は、ユーザ毎に異なるため個別情報（ＥＭＭ）といわれる。以上説明した暗号化されたコンテンツ、コンテンツ鍵Ｋc、ワーク鍵Ｋw等はチューナ２００に多重化されて配信される。受信者が、視聴を希望するコンテンツを申し込んだ場合、放送局側のサーバコンピュータ１００は該受信者のマスタ鍵Ｋmにより、ワーク鍵Ｋwを契約情報と共に暗号化し、そのワーク鍵Ｋwにより視聴申込のあったコンテンツを復号するためのコンテンツ鍵Ｋcを暗号化した上で、コンテンツ鍵Ｋcにより暗号化されたコンテンツを受信者のチューナ２００に配信する。
【０００６】
受信者側にはマスタ鍵Ｋmが格納されたＩＣカードが予め配布され、チューナ２００に挿入されている。チューナ２００はＩＣカードに格納されたマスタ鍵Ｋmにより、ワーク鍵Ｋwを取り出し、さらにこのワーク鍵Ｋwによりコンテンツ鍵Ｋcを取り出す。最後にコンテンツ鍵Ｋcを用いてコンテンツを復号する。受信者毎に異なる契約情報はＩＣカード内に含まれる契約情報と比較され、同じ時に限り暗号化が解除される。
【０００７】
【非特許文献１】
山崎 滋”ディジタル放送用限定受信システム”、画像電子学会誌,Vol.31, No3, pp324-333(2002)
【０００８】
【発明が解決しようとする課題】
しかしながら、従来の方式は、暗号化されたコンテンツ等の共通情報と共に、各受信者の個別情報が多重化して配信されるため、申込を行う受信者が増加するにつれ、個人情報が増大し、暗号化したコンテンツを使用することのできる帯域が減少するという問題が生じた。
【０００９】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、予め、各受信者固有の受信者鍵及び複数の各受信者共通の候補鍵を受信者に配布しておき、配信装置からは全ての受信者に共通の共通情報を送信することにより、コンテンツ配信の度に固有情報を配信する必要がなく、また不正利用を試みる受信者を容易に特定でき、さらに高いセキュリティを維持することが可能なコンテンツ配信システム及び該コンテンツシステムに適用されるコンテンツ配信方法を提供することにある。
【００１０】
また、本発明の他の目的は予め配布する複数の各受信者共通の候補鍵を並び替えて配布することにより、悪意のある複数の受信者が結託して不正な受信者鍵を生成することを防止することが可能なコンテンツ配信システムを提供することにある。
【００１１】
さらに、本発明の他の目的は受信者毎に固有の系列を生成し、候補鍵をこの固有の系列に従い生成させることにより、この系列を利用せんとする不正受信者を容易に特定することが可能なコンテンツ配信システムを提供することにある。
【００１２】
【課題を解決するための手段】
本発明に係るコンテンツ配信システムは、配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信システムにおいて、前記配信装置は、前記受信装置を利用する受信者に固有の受信者鍵を生成する受信者鍵生成手段と、主乱数及び副乱数を生成させ、前記受信者鍵生成手段により生成された各受信者の受信者鍵、前記生成した主乱数及び副乱数に基づき、複数の候補鍵を生成する候補鍵生成手段と、コンテンツをコンテンツ鍵により暗号化するコンテンツ暗号化手段と、前記コンテンツ鍵及び前記主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する共通情報生成手段と、共通情報生成手段により生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを前記受信装置へ配信する配信手段とを備え、前記受信装置は、前記受信者鍵生成手段により生成された受信者鍵、前記候補鍵生成手段により生成された候補鍵を記憶する鍵情報記憶手段と、前記配信手段により、共通情報及び暗号化されたコンテンツが配信された場合、前記鍵情報記憶手段に記憶した受信者鍵、候補鍵、前記共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する算出手段と、算出したコンテンツ鍵により前記コンテンツを復号する復号手段とを備えることを特徴とする。
【００１３】
本発明に係るコンテンツ配信システムは、前記配信装置は、前記候補鍵生成手段により生成された複数の候補鍵の順序を並び替える並び替え手段を更に備えることを特徴とする。
【００１４】
本発明に係るコンテンツ配信システムは、前記配信装置は、さらに受信者毎に固有の系列を生成する系列生成手段を更に備え、前記候補鍵生成手段は、前記系列生成手段により生成された系列に応じて、前記生成した副乱数を、前記受信者鍵生成手段により生成された各受信者の受信者鍵及び主乱数に当てはめることにより複数の候補鍵を生成するよう構成してあることを特徴とする。
【００１５】
本発明に係るコンテンツ配信システムは、前記配信装置は、前記コンテンツ鍵の正当性を判断するための確認情報を生成する確認情報生成手段を更に備え、前記鍵情報記憶手段は、前記確認情報生成手段により生成された確認情報を記憶するよう構成してあり、前記算出手段は、前記鍵情報記憶手段に記憶した受信者鍵、前記共通情報に含まれる副乱数及び秘匿乱数に対して、候補鍵を適用してコンテンツ鍵を算出し、算出したコンテンツ鍵と前記確認情報とを対比することにより前記コンテンツ鍵の正当性を判断し、正当と判断されるまで候補鍵を変更してコンテンツ鍵を算出するよう構成してあることを特徴とする。
【００１６】
本発明に係るコンテンツ配信方法は、コンテンツを配信する配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信方法において、前記配信装置により、前記受信装置を利用する受信者に固有の受信者鍵を生成する受信者鍵生成ステップと、前記配信装置により、主乱数及び副乱数を生成させ、前記受信者鍵生成ステップにより生成された各受信者の受信者鍵、前記生成した主乱数及び副乱数に基づき、複数の候補鍵を生成する候補鍵生成ステップと、前記配信装置により、コンテンツをコンテンツ鍵により暗号化するコンテンツ暗号化ステップと、前記配信装置により、前記コンテンツ鍵及び前記主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する共通情報生成ステップと、前記配信装置により、共通情報生成ステップにより生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを前記受信装置へ配信する配信ステップとを備え、前記受信装置により、前記受信者鍵生成ステップにより生成された受信者鍵、前記候補鍵生成ステップにより生成された候補鍵を鍵情報記憶部に記憶する鍵情報記憶ステップと、前記配信装置から、共通情報及び暗号化されたコンテンツが配信された場合、前記受信装置により、前記鍵情報記憶部に記憶した受信者鍵、候補鍵、前記共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する算出ステップと、前記受信装置により、算出したコンテンツ鍵により前記コンテンツを復号する復号ステップとを備えることを特徴とする。
【００１７】
本発明にあっては、放送局側の配信装置は、各受信者に固有の受信者鍵を生成する。この受信者鍵は例えばＩＤ等により生成する。次に配信装置は、主乱数及び副乱数を生成させ、各受信者の受信者鍵、主乱数及び副乱数に基づき、複数の候補鍵を生成する。この候補鍵は例えば主乱数から、副乱数に各受信者の受信鍵を乗じた値を所定の素数で除した余りを減じて求める等することにより生成する。このようにして生成された各受信者固有の受信者鍵及び共通の情報である複数の候補鍵は、例えばＩＣカード等に記憶させ各受信者に配布しておく。受信者のメモリ等にはこの受信者鍵及び候補鍵が読み出されて記憶される。
【００１８】
コンテンツ配信の際には配信装置は、以下の共通の情報を生成すべく処理を行う。まず、コンテンツをコンテンツ鍵により暗号化する。そして、コンテンツ鍵及び主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する。秘匿乱数は例えば、コンテンツ鍵と主乱数との排他的論理和等により生成する。最後に、生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを受信装置へ配信する。この場合上述したように受信装置には全ての受信者に対し共通の情報が配信されている。
【００１９】
受信装置は、共通情報及び暗号化されたコンテンツが配信された場合、記憶した受信者鍵及び候補鍵を読み出し、共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する。上述の例では前記素数で除した余りが副乱数に受信者鍵を乗じた値と等しくなる値に候補鍵を加算して得られる値と、秘匿乱数との排他的論理和によりコンテンツ鍵を算出するようにすれば良く、セキュリティのレベルに応じて適宜変更すればよい。最後に受信装置は、算出したコンテンツ鍵によりコンテンツを復号する。このように構成したので、受信者には最初の段階で固有の受信者鍵が配布しておき、また共通の複数の候補鍵を配布しておくだけで、以後のコンテンツ配信時は共通情報及び暗号化したコンテンツを配信すればよいだけなので、配信装置側の負担が軽減され、またデジタル放送の分野では帯域を大幅に確保することが可能となる。さらに、受信者鍵は受信者に固有の情報であるので、受信者鍵を悪用する受信者を容易に特定することが可能となる。
【００２０】
また、本発明にあっては、放送局側の配信装置は、生成した複数の候補鍵の順序を並び替え、この並び替えた候補鍵を受信者側に提供する。受信装置は、コンテンツ鍵を算出するために複数の候補鍵を、受信者鍵、副乱数及び秘匿乱数に逐次代入する。この場合、候補鍵を並び替えておくことで解析に要する負担が大きくなるため、安易な不正を抑制することが可能となる。これは、不正な複数の受信者が結託して、同じタイミングで各受信者の候補鍵を出し合うことにより、第３の鍵を作成する、所謂リタイミング攻撃に備えるものである。例えば、各受信者に配布される候補鍵の数をＪ個とした場合、受信装置では正しいコンテンツ鍵を取り出すために最大Ｊ個総当たりでコンテンツ鍵を算出する。並び替えを行っていた場合は、複数の受信者が同じ場所を探す組み合わせ数がＪ2となり、解析に時間を要することとなる。
【００２１】
また、本発明にあっては、配信装置は受信者毎に固有の系列を生成する。この系列は各受信者固有のものであり例えばＭ(maximal-length sequences)系列の直交系列等が用いられる。候補鍵の生成にあってはこの系列を利用する。配信装置は生成した系列に応じて、副乱数を、各受信者の受信者鍵及び主乱数に当てはめることにより複数の候補鍵を生成する。例えば、系列が「１」の場合は、第１の副乱数を用い、系列が「０」の場合は第２の副乱数を用いるようにすればよい。このように構成したので悪意のある受信者が第３の鍵を生成する場合でも、系列を特定することができるため、容易に悪意のある受信者を特定することが可能となる。
【００２２】
さらに、本発明にあっては、配信装置は、コンテンツ鍵の正当性を判断するための確認情報を生成する。この確認情報の生成方法は予め決定されており、例えばコンテンツ鍵を確認情報の倍数値とする等すればよい。受信装置はこの生成された確認情報を記憶する。受信装置は、記憶した受信者鍵、共通情報に含まれる副乱数及び秘匿乱数に対して、候補鍵を適用してコンテンツ鍵を算出する。そして記憶した確認情報と、算出したコンテンツ鍵とを対比することにより前記コンテンツ鍵が正当か否かを判断する。正当と判断されない場合、上述の例ではコンテンツ鍵が確認情報の倍数値でない場合、再度新たな候補鍵を読み出し、コンテンツ鍵を算出する。そして、正当と判断した場合、算出されたコンテンツ鍵を利用してコンテンツを復号する。このように構成したので、容易にコンテンツ鍵が正当であるか否かを判断することが可能となる。
【００２３】
【発明の実施の形態】
以下本発明を実施の形態を示す図面に基づいて詳述する。
実施の形態１
図１は本発明のコンテンツ配信システムの概要を示す模式図である。本実施の形態においては、映像コンテンツを受信者のチューナに配信する形態につき説明するが、この形態に限定されるものではなく、音楽情報、コンピュータプログラムを受信者のパーソナルコンピュータへ配信する形態、政府のコンピュータに管理される住民票等を各受信者のパーソナルコンピュータまたは市役所等の端末装置へ配信する形態等であっても良い。
【００２４】
図１において、１は配信装置（以下、サーバコンピュータという）であり、ＭＰＥＧ(Moving Picture Experts Group)−２等によりエンコードされた映像コンテンツを格納したコンテンツデータベース（以下、コンテンツＤＢという）１Ｄから、映像コンテンツを読み出して暗号化した上で配信する。サーバコンピュータ１には、ケーブル網、インターネット網等の通信網Ｎを介して、受信装置（以下、チューナという）２，２，２…が接続されている。以下に、暗号化から復号までの手順を簡単に説明する。
【００２５】
まず、前段階としてサーバコンピュータ１は受信者毎に固有の受信者鍵を生成する。さらに、サーバコンピュータ１は、主乱数及び副乱数を発生させ、各受信者の受信者鍵、主乱数及び副乱数に基づき複数の候補鍵を生成する。この前段階で生成された受信者鍵及び候補鍵をセキュリティが維持された状態で、各受信者へ配布する。具体的には申し込みがあった場合に、受信者に対し候補鍵及び該受信者の受信者鍵を記憶したＩＣカード、ＣＤ−ＲＯＭ等の記録媒体を郵便により配布する、または、通信網Ｎを介して暗号化した上で各受信者に受信者鍵及び候補鍵を送信するようにすればよい。このようにして配布された受信者鍵及び候補鍵はチューナ２に記憶される。
【００２６】
次に後段階としてサーバコンピュータ１は全ての受信者に共通の共通情報を生成する。共通情報は秘匿乱数及び副乱数から構成され、秘匿乱数は映像コンテンツを暗号化するためのコンテンツ鍵及び主乱数から構成される。サーバコンピュータ１はコンテンツ鍵により暗号化した映像コンテンツと共通情報とを通信網Ｎを介してチューナ２へ配信する。チューナ２は予め配布された受信者鍵及び候補鍵、配信された共通情報を用いてコンテンツ鍵を算出し、算出したコンテンツ鍵を用いて映像コンテンツを復号する。
【００２７】
図２はサーバコンピュータ１及びチューナ２のハードウェア構成を示すブロック図である。まずサーバコンピュータ１のハードウェア構成について説明する。図に示すように、ＣＰＵ１１にはバス１７を介してＲＡＭ１２，ハードディスク等の記憶部１５、チューナ２と情報を送受信するためのゲートウェイ等の通信部１６，液晶ディスプレイ等の表示部１４、及びキーボード、マウス等の入力部１３が接続される。ＣＰＵ１１は、バス１７を介してサーバコンピュータ１の上述したようなハードウェア各部と接続されていて、それらを制御すると共に、記憶部１５に格納された制御プログラム１５Ｐに従って、種々のソフトウェア的機能を実行する。
【００２８】
制御プログラム１２Ｐは、以下に述べるソフトウェア処理がＣ言語等のプログラミング言語で記述されている。記憶部１５には受信者の氏名、住所、受信者ＩＤ、受信者固有の受信者鍵等の情報を記憶した受信者情報ファイル１５１が記憶されている。ＣＰＵ１１は制御プログラム１５Ｐに従い、受信者鍵及び候補鍵の生成、共通情報の生成、コンテンツの配信処理等を後述する方法により実行する。
【００２９】
次に、チューナ２のハードウェア構成について説明する。ＣＰＵ２１にはバス２７を介してＲＡＭ２２，ハードディスク等の記憶部２５、サーバコンピュータ１と情報を送受信するためのモデム等の通信部２６，受信者鍵及び候補鍵が記憶されたＩＣカードを読み取るためのリーダ２Ｒ、及び操作ボタン等の入力部２３、ＭＰＥＧ−２デコーダ２８及び映像・音声出力部２９が接続される。ＣＰＵ２１は、バス２７を介してチューナ２の上述したようなハードウェア各部と接続されていて、それらを制御すると共に、記憶部２５に格納された制御プログラム２５Ｐに従って、種々のソフトウェア的機能を実行する。
【００３０】
受信者には予め受信者鍵及び候補鍵が記憶されたＩＣカードが配布されておいる。リーダ２ＲにＩＣカードが挿入された場合は、ＣＰＵ２１はＩＣカードに記憶された受信者鍵及び候補鍵を読み出して記憶部２５の鍵情報記憶部２５１に記憶する。通信部２６から共通情報及び暗号化されたコンテンツが配信された場合は、ＣＰＵ１１は制御プログラム２５Ｐに従い、コンテンツ鍵の算出、コンテンツの復号等の処理を後述する処理により実行する。
【００３１】
まず、前段階の処理、すなわちサーバコンピュータ１での受信者鍵及び候補鍵の生成処理について説明する。まず、ＣＰＵ１１は大きな素数であるセンタパラメータｎを生成し、ＲＡＭ１１に生成したセンタパラメータｎを記憶する。そして、受信者毎に固有の受信者鍵ｍｘjを生成する。
受信者鍵ｍｘj  （１≦ｊ≦ｋu）
ただし、１≦ｍｘj＜ｎ、全受信者数はＫuとする。この受信者鍵は受信者固有に付与されるＩＤに基づいて生成するようにすればよい。ただし、サーバコンピュータ１以外はＩＤから受信者鍵への変換はできないものとする。
【００３２】
次に、ＣＰＵ１１は主乱数Ｓi及び副乱数ｒiを生成する。
主乱数｛Ｓi｝  （１≦ｉ≦Ｊ）
ただし、１≦Ｓi＜ｎ
副乱数｛ｒi｝  （１≦ｉ≦Ｊ）
ただし、１≦ｒi＜ｎ
【００３３】
そして、ＣＰＵ１１は｛Ｓi，ｒi｝の全ての組に対し、各受信者の受信者鍵ｍｘiを用いて、式１により候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）を生成する。
ｘi≡Ｓi−ｒiｍｘi（mod n）  式1
なお、Ｘmod nはＸをｎで除した場合の余りである。なお、上記式1を含む本実施の形態で説明する式等は制御プログラム１５Ｐまたは制御プログラム２５Ｐ等に記述されている。
【００３４】
ＣＰＵ１１は式1により算出した候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）の配置をランダムに並び替える。なお、本実施の形態においては並び替え処理を行うこととしたが、必ずしも実行する必要はなくセキュリティの強度に応じて適宜実行するようにすればよい。
【００３５】
また、ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）の正当性を確認するための確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を生成する。例えば、コンテンツ鍵が確認情報の倍数となるようにすれば良い。この場合、チューナ２で算出したコンテンツ鍵がチューナに記憶されている確認情報の倍数である場合は正当であり、倍数にならない場合は正当でないということになる。この他、コンテンツ鍵をn out of m codeで符号化しておき、ｎ及びｍを確認情報としても良い。n out of m codeとは、鍵長の約数であるｍビットのうちｎビットが必ず1でそれ以外が０を意味する。例えば、ｍ＝８，ｎ＝４の場合、鍵の1バイト情報のうち４ビットが１、それ以外が０であることを意味する。また、確認情報は、鍵毎に異なるものでなく、共通で使用する情報であっても良い。
【００３６】
ＣＰＵは以上の処理により生成した受信者鍵ｍｘj （１≦ｊ≦ｋu）、候補鍵Ｓｘj＝｛ｘi｝ （1≦ｉ≦Ｊ）、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を受信者のＩＤに対応づけて受信者情報ファイル１５１に記憶する。そして、安全な通信路で受信者ｊに対し、センタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を配布する。この配布の形態は上述したようにＩＣカードに受信者鍵、候補鍵及び確認情報を記憶させる等して配布するようにすればよい。受信者は配布されたＩＣカードをチューナ２のリーダ２Ｒに挿入する。チューナ２のＣＰＵ２１はＩＣカードに記憶されたセンタパラメータｎ、受信者鍵、候補鍵及び確認情報を記憶部２５の鍵情報記憶部２５１に記憶する。以上により前段階が終了する。
【００３７】
次に後段階について説明する。ＣＰＵ１１はコンテンツＤＢ１Ｄに記憶されている映像コンテンツＣiを暗号化するためのコンテンツ鍵Ｋｃi（ただし、１≦Ｋｃi＜ｎ）を生成する。このコンテンツ鍵Ｋｃｉは公知の方法により生成され、生成されたコンテンツ鍵ＫｃiはＲＡＭ１２に記憶される。
【００３８】
ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）により、映像コンテンツＣiを暗号化する。なお、コンテンツ鍵により暗号化されたコンテンツをｅ[Ｋｃi,Ｃi]で表す。次に共通情報を作成するためにＣＰＵ１１は秘匿乱数をコンテンツ鍵Ｋｃi及び主乱数Ｓiを用いて下記の式２により生成する。
【００３９】
【数１】
0004171346.tif 000002
【００４０】
そしてＣＰＵ１１は、共通情報Ｈｐiを秘匿乱数及び副乱数ｒiを用いて下記の式３により算出する。
【００４１】
【数２】
0004171346.tif 000003
【００４２】
ＣＰＵ１１は下記の式４で表される共通情報及び暗号化コンテンツを連接して通信網Ｎを経由してチューナ２に配信する。
Ｈｐi‖ｅ[Ｋｃi,Ｃi]  式４
ここで、‖は連接を表す。以上により後段階が終了する。
【００４３】
次にチューナ２における復号処理について説明する。チューナ２のＣＰＵ２１はｉ番目の共通情報及び暗号化されたコンテンツＨｐi‖ｅ[Ｋｃi,Ｃi]を受信した場合、鍵情報記憶部２５１からセンタパラメータｎ、受信者鍵ｍｘj、及び、一の候補鍵ｘiを読み出しＲＡＭ２１に記憶する。そして、ＣＰＵ２１は下記の式５乃至７に代入することによりコンテンツ鍵Ｋｃiを算出する。すなわち、センタパラメータｎ（素数）で除した余りが副乱数に受信者鍵を乗じた値と等しくなる値に候補鍵を加算して得られる値と、秘匿乱数との排他的論理和によりコンテンツ鍵を算出する。
【００４４】
【数３】
0004171346.tif 000004
【００４５】
すなわち式１，式５、式６及び式７から、チューナ２側において、配布及び配信されていない主乱数Ｓi及びコンテンツ鍵Ｋｃiを取り出すようにしている。
【００４６】
次にＣＰＵ２１は、算出されたコンテンツ鍵Ｋｃiと鍵情報記憶部２５１に記憶された確認情報ＲＣiとを比較することによりコンテンツ鍵Ｋｃiが正当であるか否かを判断する。正当でない場合は新たな候補鍵を取り出して同様の演算処理を繰り返す。正当である場合は、算出したコンテンツ鍵Ｋｃiにより、暗号化コンテンツを復号して映像コンテンツＣiを取り出し、ＭＰＥＧデコーダ２８でデコードした後、映像・音声出力部２９を経由してモニター等に映像、音声信号を出力する。なお、本実施の形態においては確認情報を用いてコンテンツ鍵Ｋｃiの正当性を判断したが、予め決められた規則に従って鍵を作成すれば、特別な確認情報は必要でなく、その規則に従っているかどうかを確認すればよい。また、鍵の並び替え（転置）を行わない場合は、確認情報は必ずしも用いる必要はない。
【００４７】
以上の構成において暗号化及び復号処理の手順を、フローチャートを用いて説明する。図３は前段階の処理手順を示すフローチャートである。サーバコンピュータ１のＣＰＵ１１は大きな素数であるセンタパラメータｎを生成し（ステップＳ３１）、生成したセンタパラメータｎをＲＡＭ１２に記憶する（ステップＳ３２）。ＣＰＵ１１は受信者情報ファイル１５１から受信者のＩＤを読み出し、このＩＤに基づいて受信者鍵ｍｘjを生成する（ステップＳ３３）。各受信者の受信者鍵ｍｘjはＩＤに対応づけて受信者情報ファイル１５１に記憶される。
【００４８】
続いてＣＰＵ１１は主乱数Ｓi及び副乱数ｒiを生成する（ステップＳ３４）。このとき、ＣＰＵ１１は、物理乱数や暗号で使用できる安全な疑似乱数生成ルーチンを使用し、第三者が予想できない乱数の種情報と時刻情報等を初期値として乱数を発生させる。ＣＰＵ１１は、制御プログラム１５Ｐに記憶された式１を読み出し、受信者情報ファイル１５１に記憶された受信者鍵ｍｘj、主乱数Ｓi、及び副乱数ｒiを入力することにより候補鍵Ｓｘjを生成する（ステップＳ３５）。
【００４９】
次にＣＰＵ１１は生成した候補鍵Ｓｘjを並び替える処理を行うかどうかを判断する（ステップＳ３６）。候補鍵の並び替えを行うか否かは、セキュリティの強弱に応じて管理者がいずれかを入力部１３から設定することができる。ＣＰＵ１１は並び替え処理を実行すると判断した場合は（ステップＳ３６でＹＥＳ）、候補鍵Ｓｘjをランダムに並び替え（転置）する（ステップＳ３７）。一方、並び替え処理を行わないと判断した場合は（ステップＳ３６でＮＯ）、ステップＳ３７の処理をスキップする。
【００５０】
ＣＰＵ１１はコンテンツ鍵Ｋｃiの正当性を判断するための確認情報ＲＣiを生成する（ステップＳ３８）。この生成アルゴリズムは上述したように予め決定されている。ＣＰＵ１１は図示しないリーダライタに挿入されたＩＣカードにセンタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報ＲＣiを記憶する（ステップＳ３９）。
【００５１】
図４は後段階の処理手順を示すフローチャートである。チューナ２側においては郵送等により配布されたＩＣカードをリーダ２Ｒに挿入する。チューナ２のＣＰＵ２１はＩＣカード内に記憶された、センタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報ＲＣiを読み取り（ステップＳ４１）、鍵情報記憶部２５１に予め記憶しておく（ステップＳ４２）。なお、本実施の形態においては鍵情報記憶部２５１にセンタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報ＲＣiを一旦記憶するようにしているが、必ずしもこの必要はなく、ＩＣカード内に記憶されたセンタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、または確認情報ＲＣiを必要に応じてＣＰＵ２１が読み出し、演算処理の際のみＲＡＭ２２に記憶させるようにしても良い。
【００５２】
放送局側のサーバコンピュータ１のＣＰＵ１１はコンテンツＤＢ１Ｄから配信対象となる映像コンテンツＣiを読み出す（ステップＳ４３）。また、予め映像コンテンツＣiに対応させて生成してあるコンテンツ鍵Ｋｃiを読み出す（ステップＳ４４）。ＣＰＵ１１は読み出したコンテンツ鍵Ｋｃiにより映像コンテンツ映像コンテンツＣiを暗号化し（ステップＳ４５）、ＲＡＭ１２に記憶する。ＣＰＵ１１は読み出したコンテンツ鍵ＫｃiとステップＳ３４で生成した主乱数との排他的論理和（式２）により秘匿乱数を生成する（ステップＳ４６）。
【００５３】
ついでＣＰＵ１１はステップＳ３４で生成した副乱数ｒiを読み出し（ステップＳ４７）、秘匿乱数とこの読み出した副乱数ｒiとにより式３の如く共通情報を生成する（ステップＳ４８）。共通情報を生成した後、ＣＰＵ１１は各ユーザのチューナ２，２，２…に対して式４で表される共通情報及び暗号化されたコンテンツを配信する（ステップＳ４９）。チューナ２のＣＰＵ２１は共通情報及び暗号化されたコンテンツを受信し（ステップＳ４１０）、記憶部２５に記憶する。このように後段階においては全ての受信者に共通の情報が配信されることになる。
【００５４】
図５は復号処理の処理手順を示すフローチャートである。チューナ２のＣＰＵ２１は配信された暗号化コンテンツを記憶部２５から読み出してＲＡＭ２２に記憶する（ステップＳ５１）。次に、ＣＰＵ２１は鍵情報記憶部２５１に記憶されたセンタパラメータｎ、受信者鍵ｍｘj及び候補鍵Ｓｘjを読み出し（ステップＳ５２）、ＲＡＭ２１に記憶する。さらに、配信された共通情報の副乱数ｒi及び秘匿乱数を読み出し（ステップＳ５３）、同様にＲＡＭ２１に記憶する。ＣＰＵ２１はこのＲＡＭ２１に記憶された副乱数ｒi、秘匿乱数、受信者鍵ｍｘj及び候補鍵Ｓｘjを上述した式５，６，７へそれぞれ代入することによりコンテンツ鍵Ｋｃiを算出する（ステップＳ５４）。
【００５５】
ＣＰＵ２１は鍵情報記憶部２５１に記憶された確認情報ＲＣiを読み出し、算出したコンテンツ鍵Ｋｃiがこの確認情報ＲＣiに適合するか否かを判断する（ステップＳ５５）。例えば、n out of m codeを用い、確認情報がｍ＝８，ｎ＝４の場合、算出したコンテンツ鍵Ｋｃiの1バイト情報のうち４ビットが１、それ以外が０であるか否かを演算する。ＣＰＵ２１は適合しないと判断した場合（ステップＳ５５でＮＯ）、算出したコンテンツ鍵Ｋｃiは正当でないと判断して、他の候補鍵Ｓｘjを読み出す（例えば、候補鍵Ｓｘj＝ｘi+1）（ステップＳ５６）。そして再びステップＳ５４以降の処理を繰り返す。
【００５６】
ステップＳ５５において適合すると判断した場合（ステップＳ５５でＹＥＳ）、すなわち複数の候補鍵Ｓｘjを代入し続けた結果、正当なコンテンツ鍵Ｋｃiが算出されたと判断した場合、ＣＰＵ２１はＲＡＭ２１に記憶された暗号化コンテンツを算出したコンテンツ鍵Ｋｃiにより復号する（ステップＳ５７）。ＣＰＵ２１は復号した映像コンテンツをＭＰＥＧ−２デコーダ２８へ出力してデコードし、デコードした映像コンテンツを映像・音声出力部２９へ出力する（ステップＳ５８）。以上の如く、受信者毎に異なる受信者鍵を配布しておくことで、受信者が悪意をもって受信者鍵を利用した場合でも、容易に該受信者を特定することが可能となる。しかも、受信者毎に異なる情報はこの受信者鍵にとどめ、コンテンツ配信の際には、従来と異なり共通の情報を各受信者に配信することができるので、情報配信側の負担を容易に軽減することが可能となる。さらに、候補鍵を並び替えておくことにより、リタイミング攻撃を行うことによる解読の手間を増加させることが可能となる。
【００５７】
なお、付言しておくと、受信者鍵ｍｘjや候補鍵Ｓｘjはコンテンツの復号が終了した場合、サーバコンピュータ１に返送、またはチューナ２のＣＰＵ２１により削除するようにしても良い。この場合、受信者が受信者鍵ｍｘjや候補鍵Ｓｘjの使用を終了する前に別途受信者鍵ｍｘjや候補鍵Ｓｘjを配布しておく。また、本実施の形態においては説明を容易にするためにコンテンツ鍵Ｋｃiと同数の候補鍵Ｓｘjを生成することとしているが、必ずしもこれに限定されるものではなく、複数のコンテンツ鍵Ｋｃiに対して一の候補鍵Ｓｘjを割り当てるようにしても良い。さらに、受信者鍵ｍｘjは各受信者に一つずつ配布していたが、複数の受信者鍵ｍｘjを割り当てても良い。
【００５８】
実施の形態２
実施の形態２は実施の形態１において候補鍵の生成に当たり系列を適用する形態に関する。まず、前段階の処理について説明する。ＣＰＵ１１は大きな素数であるセンタパラメータｎを生成し、ＲＡＭ１１に生成したセンタパラメータｎを記憶する。そして、受信者毎に固有の受信者鍵ｍｘjを生成する。
受信者鍵ｍｘj  （１≦ｊ≦ｋu）
ただし、１≦ｍｘj＜ｎ、全受信者数はＫuとする。
【００５９】
次に、ＣＰＵ１１は主乱数Ｓi、第１副乱数ｒi、及び、第２副乱数ｔiを生成する。
主乱数｛Ｓi｝  （１≦ｉ≦Ｊ）
ただし、１≦Ｓi＜ｎ
第１副乱数｛ｒi｝  （１≦ｉ≦Ｊ）
ただし、１≦ｒi＜ｎ
第２副乱数｛ｔi｝  （１≦ｉ≦Ｊ）
ただし、１≦ｔi＜ｎ
【００６０】
ＣＰＵ１１は予め決めた長さの系列を定めて生成する。この系列は受信者毎に対応させて生成されるものであり、例えばＭ系列の直交または擬似直交系列、この他、アダマール行列等を用いれば良い。以下ではＭ系列｛Ｍim｝ (im=1,2,…,km)を適用して説明する。ＣＰＵ１１は、Ｍ系列｛Ｍim｝ (im=1,2,…,km)の中から、受信者に対応する複数のＭ系列を選択し受信者ｊに対応する系列｛Ｕmj｝ (1≦ｉ＜ｋu)を生成する。ただし、全受信者数をｋuとする。さらに、系列｛Ｕmj｝の値から、予め決められた方法でＪビットを取り出し｛Ｕｍj,i｝（１≦ｉ≦Ｊ）とする。このようにして生成される系列｛Ｕｍj,i｝は受信者ＩＤに対応づけて受信者情報ファイル１５１に記憶される。
【００６１】
そして、ＣＰＵ１１は｛Ｓi，ｒi｝及び｛Ｓi，ｔi｝の全ての組に対し、各受信者の受信者鍵ｍｘiを用いて、系列｛Ｕｍj,i｝に応じて式８または式９により候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）を生成する。
系列Ｕｍj,i＝０の場合：ｘi≡Ｓi−ｒiｍｘi（mod n）  式８
系列Ｕｍj,i＝１の場合：ｘi≡Ｓi−ｔiｍｘi（mod n）  式９
すなわち、受信者毎の系列に応じて候補鍵Ｓｘjが異なることになる。
【００６２】
ＣＰＵ１１は式８または式９により算出した候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）の配置をランダムに並び替える。なお、本実施の形態においては並び替え処理を行うこととしたが、必ずしも実行する必要はなくセキュリティの強度に応じて適宜実行するようにすればよい。また、ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）の正当性を確認するための確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を生成する。
【００６３】
ＣＰＵは以上の処理により生成した受信者鍵ｍｘj （１≦ｊ≦ｋu）、候補鍵Ｓｘj＝｛ｘi｝ （1≦ｉ≦Ｊ）、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を受信者のＩＤに対応づけて受信者情報ファイル１５１に記憶する。そして、安全な通信路で受信者ｊに対し、センタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を配布する。この配布の形態は上述したようにＩＣカードに受信者鍵、候補鍵及び確認情報を記憶させる等して配布するようにすればよい。受信者は配布されたＩＣカードをチューナ２のリーダ２Ｒに挿入する。チューナ２のＣＰＵ２１はＩＣカードに記憶されたセンタパラメータｎ、受信者鍵、候補鍵及び確認情報を記憶部２５の鍵情報記憶部２５１に記憶する。以上により実施の形態２における前段階が終了する。
【００６４】
次に実施の形態２における後段階について説明する。ＣＰＵ１１はコンテンツＤＢ１Ｄに記憶されている映像コンテンツＣiを暗号化するためのコンテンツ鍵Ｋｃi（ただし、１≦Ｋｃi＜ｎ）を生成する。この生成されたコンテンツ鍵ＫｃiはＲＡＭ１２に記憶される。
【００６５】
ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）により、映像コンテンツＣiを暗号化する。次に共通情報を作成するためにＣＰＵ１１は秘匿乱数をコンテンツ鍵Ｋｃi及び主乱数Ｓiを用いて生成する。そしてＣＰＵ１１は、共通情報Ｈｐiを秘匿乱数、第１副乱数ｒi及び第２副乱数ｔiを用いて下記の式１０により算出する。
【００６６】
【数４】
0004171346.tif 000005
【００６７】
ＣＰＵ１１は上述した式４で表される共通情報及び暗号化コンテンツを連接して（Ｈｐi‖ｅ[Ｋｃi,Ｃi]）通信網Ｎを経由してチューナ２に配信する。以上により実施の形態２の後段階が終了する。
【００６８】
次にチューナ２における復号処理について説明する。チューナ２のＣＰＵ２１はｉ番目の共通情報及び暗号化されたコンテンツＨｐi‖ｅ[Ｋｃi,Ｃi]を受信した場合、鍵情報記憶部２５１からセンタパラメータｎ、受信者鍵ｍｘj、及び、一の候補鍵ｘiを読み出しＲＡＭ２１に記憶する。そして、ＣＰＵ２１は下記の式１１乃至１６に代入することによりコンテンツ鍵Ｋｃiを算出する。すなわち、センタパラメータｎ（素数）で除した余りが第１副乱数または第２副乱数に受信者鍵を乗じた値と等しくなる値に候補鍵を加算して得られる値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出する。
【００６９】
【数５】
0004171346.tif 000006
【００７０】
次にＣＰＵ２１は、算出されたコンテンツ鍵Ｋｃｒi及びコンテンツ鍵Ｋｃｔiと鍵情報記憶部２５１に記憶された確認情報ＲＣiとを比較することによりコンテンツ鍵Ｋｃｒi及びコンテンツ鍵Ｋｃｔiが正当であるか否かを判断する。いずれかが正当であると判断した場合は、その正当な鍵をコンテンツ鍵Ｋｃiとする。コンテンツ鍵Ｋｃｒi及びコンテンツ鍵Ｋｃｔiの双方が正当でないと判断した場合は、新たな候補鍵を取り出して同様の演算処理を繰り返す。ＣＰＵ２１は、正当であるコンテンツ鍵Ｋｃiにより、暗号化コンテンツを復号して映像コンテンツＣiを取り出し、ＭＰＥＧデコーダ２８でデコードした後、映像・音声出力部２９を経由してモニター等に映像、音声信号を出力する。
【００７１】
このように候補鍵に、受信者固有の系列を埋め込んでおくことで、受信者の不正を防止することが可能となる。つまり、不正を行う受信者が攻撃を行う場合、まず、転置された候補鍵を逆転置する（リタイミング攻撃）。そして不正用の復号装置に、受信者鍵を入力し、配信された共通情報及び鍵系列から、復号手順に従って鍵を取り出すことができるかを調べることにより、候補鍵の並びを、使用する順番に並び替える。しかし、本発明においては転置前にＭ系列を埋め込んでいるので、逆転置された系列を調査（サーバコンピュータ１側で相関をとる等して調査する）すればどの受信者の候補鍵であるか特定することができる。
【００７２】
実施の形態３
実施の形態３は実施の形態１における候補鍵の生成にべき乗剰余演算を適用する形態に関する。なお、実施の形態１における後段階と実施の形態３における後段階は同一であるので詳細な説明は省略する。
【００７３】
実施の形態３の前段階の処理、すなわちサーバコンピュータ１での受信者鍵及び候補鍵の生成処理について説明する。ＣＰＵ１１は大きな素数であるセンタパラメータｎを生成し、ＲＡＭ１１に生成したセンタパラメータｎを記憶する。そして、受信者毎に固有の受信者鍵ｍｘjを生成する。
受信者鍵ｍｘj  （１≦ｊ≦ｋu）
ただし、１≦ｍｘj＜ｎ、全受信者数はＫuとする。
【００７４】
次に、ＣＰＵ１１は主乱数Ｓi及び副乱数ｒiを生成する。
主乱数｛Ｓi｝  （１≦ｉ≦Ｊ）
ただし、１≦Ｓi＜ｎ
副乱数｛ｒi｝  （１≦ｉ≦Ｊ）
ただし、１≦ｒi＜ｎ
【００７５】
そして、ＣＰＵ１１は｛Ｓi，ｒi｝の全ての組に対し、各受信者の受信者鍵ｍｘiを用いて、式１７により候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）を生成する。
【００７６】
【数６】
0004171346.tif 000007
【００７７】
ＣＰＵ１１は式1７により算出した候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）の配置をランダムに並び替える。また、ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）の正当性を確認するための確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を生成する。ＣＰＵは以上の処理により生成した受信者鍵ｍｘj （１≦ｊ≦ｋu）、候補鍵Ｓｘj＝｛ｘi｝ （1≦ｉ≦Ｊ）、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を受信者のＩＤに対応づけて受信者情報ファイル１５１に記憶する。そして、安全な通信路で受信者ｊに対し、センタパラメータｎ、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を配布する。チューナ２のＣＰＵ２１は配布されたセンタパラメータｎ、受信者鍵、候補鍵及び確認情報を記憶部２５の鍵情報記憶部２５１に記憶する。以上により前段階が終了する。
【００７８】
実施の形態１と同様の後段階により配信された共通情報及び暗号化されたコンテンツを受信した後の、復号処理について説明する。チューナ２のＣＰＵ２１はｉ番目の共通情報及び暗号化されたコンテンツＨｐi‖ｅ[Ｋｃi,Ｃi]を受信した場合、鍵情報記憶部２５１からセンタパラメータｎ、受信者鍵ｍｘj、及び、一の候補鍵ｘiを読み出しＲＡＭ２１に記憶する。そして、ＣＰＵ２１は下記の式１８乃至２０に代入することによりコンテンツ鍵Ｋｃiを算出する。すなわち、センタパラメータｎ（素数）で除した余りが受信者鍵を副乱数分乗じた値と等しくなる値に候補鍵を加算して得られる値と、秘匿乱数との排他的論理和によりコンテンツ鍵を算出する。
【００７９】
【数７】
0004171346.tif 000008
【００８０】
次にＣＰＵ２１は、算出されたコンテンツ鍵Ｋｃiと鍵情報記憶部２５１に記憶された確認情報ＲＣiとを比較することによりコンテンツ鍵Ｋｃiが正当であるか否かを判断する。正当でない場合は新たな候補鍵を取り出して同様の演算処理を繰り返す。正当である場合は、算出したコンテンツ鍵Ｋｃiにより、暗号化コンテンツを復号して映像コンテンツＣiを取り出し、ＭＰＥＧデコーダ２８でデコードした後、映像・音声出力部２９を経由してモニター等に映像、音声信号を出力する。本実施の形態においては候補鍵ｘiを作成する場合に、べき乗剰余演算により副乱数ｒiを用いたが、本発明はこれに限定されるものではなく他の演算手法により副乱数ｒiを用いればよい。
【００８１】
実施の形態４
実施の形態４は候補鍵の生成にあたり楕円曲線暗号を用いる技術に関する。まず、実施の形態４の前段階の処理について説明する。サーバコンピュータ１のＣＰＵ１１は、ある大きな素数ｐ＞３、及び、下記の式２１により特定される楕円曲線Ｅを選択する。
楕円曲線Ｅ：ｙ2＝ｘ3＋ａｘ＋ｂ  mod p  式２１
【００８２】
そして、ＣＰＵ１１は楕円曲線Ｅの位数をｎEとし、この位数をもつ楕円曲線上の座標点をＰ（以下、特定点Ｐという）とする。ただし、位数ｎEは素数位数であるか、または、楕円曲線の位数の素因数で大きな素数とする。なお、位数ｎE、特定点Ｐ、及び、素数ｐは予め計算されて記憶部１５に記憶されている。
【００８３】
ＣＰＵ１１は受信者毎に固有の受信者鍵ｍｘjを生成する。
受信者鍵ｍｘj  （１≦ｊ≦ｋu）
ただし、１≦ｍｘj＜ｎE、全受信者数はＫuとする。
【００８４】
次に、ＣＰＵ１１は主乱数Ｓiを生成する。
主乱数｛Ｓi｝  （１≦ｉ≦Ｊ）
ただし、１≦Ｓi＜ｎE
【００８５】
ＣＰＵ１１は、Ｍ系列｛Ｍim｝ (im=1,2,…,km)の中から、受信者に対応する複数のＭ系列を選択し受信者ｊに対応する系列｛Ｕmj｝ (1≦ｉ＜ｋu)を生成する。ただし、全受信者数をｋuとする。さらに、系列｛Ｕmj｝の値から、予め決められた方法でＪビットを取り出し｛Ｕｍj,i｝（１≦ｉ≦Ｊ）とする。このようにして生成される系列｛Ｕｍj,i｝は受信者ＩＤに対応づけて受信者情報ファイル１５１に記憶される。
【００８６】
次に、ＣＰＵ１１は第１副乱数αi、及び、第２副乱数βiを生成する。
第１副乱数｛αi｝  （１≦ｉ≦Ｊ）
ただし、１≦αj＜ｎE
第２副乱数｛βi｝  （１≦ｉ≦Ｊ）
ただし、１≦βj＜ｎE
【００８７】
ＣＰＵ１１は｛Ｓi｝の全てに対し、各受信者の受信者鍵ｍｘiを用いて、系列｛Ｕｍj,i｝に応じて式２２または式２３により候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）を生成する。
【００８８】
【数８】
0004171346.tif 000009
【００８９】
すなわち、受信者毎の系列に応じて候補鍵Ｓｘjが異なることになる。
【００９０】
ＣＰＵ１１は式２２または式２３により算出した候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）の配置をランダムに並び替える。なお、本実施の形態においては並び替え処理を行うこととしたが、必ずしも実行する必要はなくセキュリティの強度に応じて適宜実行するようにすればよい。また、ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）の正当性を確認するための確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を生成する。
【００９１】
ＣＰＵは以上の処理により生成した受信者鍵ｍｘj （１≦ｊ≦ｋu）、候補鍵Ｓｘj＝｛ｘi｝ （1≦ｉ≦Ｊ）、特徴点Ｐの座標値及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を受信者のＩＤに対応づけて受信者情報ファイル１５１に記憶する。そして、安全な通信路で受信者ｊに対し、受信者鍵ｍｘj、候補鍵Ｓｘj、特徴点Ｐ及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を配布する。受信者は配布されたＩＣカードをチューナ２のリーダ２Ｒに挿入する。チューナ２のＣＰＵ２１はＩＣカードに記憶された受信者鍵、候補鍵及び確認情報を記憶部２５の鍵情報記憶部２５１に記憶する。以上により実施の形態４における前段階が終了する。
【００９２】
次に実施の形態４における後段階について説明する。ＣＰＵ１１はコンテンツＤＢ１Ｄに記憶されている映像コンテンツＣiを暗号化するためのコンテンツ鍵Ｋｃi（ただし、１≦Ｋｃi＜ｎE）を生成する。この生成されたコンテンツ鍵ＫｃiはＲＡＭ１２に記憶される。
【００９３】
ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）により、映像コンテンツＣiを暗号化する。次に共通情報を作成するためにＣＰＵ１１は秘匿乱数を
【数９】
0004171346.tif 000010
コンテンツ鍵Ｋｃi、主乱数Ｓi及び特定点Ｐを用いて生成する。ここで、
【数１０】
0004171346.tif 000011
はスカラ倍算した結果の特定点Ｐのｘ座標値である。そしてＣＰＵ１１は、共通情報Ｈｐiを秘匿乱数、第１副乱数αi第２副乱数βi及び特定点Ｐを用いて下記の式１０により算出する。なお、ＳiＰ，αiＰ及びβiＰは楕円曲線上のスカラ倍数である。
【００９４】
【数１１】
0004171346.tif 000012
【００９５】
ＣＰＵ１１は上述した式２４で表される共通情報及び暗号化コンテンツを連接して（Ｈｐi‖ｅ[Ｋｃi,Ｃi]）通信網Ｎを経由してチューナ２に配信する。以上により実施の形態４の後段階が終了する。
【００９６】
次にチューナ２における復号処理について説明する。チューナ２のＣＰＵ２１はｉ番目の共通情報及び暗号化されたコンテンツＨｐi‖ｅ[Ｋｃi,Ｃi]を受信した場合、鍵情報記憶部２５１から受信者鍵ｍｘj、特定点Ｐ及び、一の候補鍵ｘiを読み出しＲＡＭ２１に記憶する。そして、ＣＰＵ２１は下記の式２５乃至２９に代入することによりコンテンツ鍵Ｋｃiを算出する。すなわち、受信者鍵に特定点Ｐの座標値を乗じた値に特定点Ｐの座標値に第１副乱数を乗じた値を加算した値を候補鍵で乗じた値のｘ座標値と、秘匿乱数との排他的論理和、または、受信者鍵に特定点Ｐの座標値を乗じた値に特定点Ｐの座標値に第２副乱数を乗じた値を加算した値を候補鍵で乗じた値のｘ座標値と、秘匿乱数との排他的論理和によりコンテンツ鍵を算出する。
【００９７】
【数１２】
0004171346.tif 000013
【００９８】
次にＣＰＵ２１は、算出されたコンテンツ鍵Ｋｃαi及びコンテンツ鍵Ｋｃβiと鍵情報記憶部２５１に記憶された確認情報ＲＣiとを比較することによりコンテンツ鍵Ｋｃαi及びコンテンツ鍵Ｋｃβiが正当であるか否かを判断する。いずれかが正当であると判断した場合は、その正当な鍵をコンテンツ鍵Ｋｃiとする。コンテンツ鍵Ｋｃαi及びコンテンツ鍵Ｋｃβiの双方が正当でないと判断した場合は、新たな候補鍵を取り出して同様の演算処理を繰り返す。ＣＰＵ２１は、正当であるコンテンツ鍵Ｋｃiにより、暗号化コンテンツを復号して映像コンテンツＣiを取り出し、ＭＰＥＧデコーダ２８でデコードした後、映像・音声出力部２９を経由してモニター等に映像、音声信号を出力する。
【００９９】
実施の形態５
実施の形態５は実施の形態４が系列埋め込みを行っていたのに対し、系列を埋め込まない形態に関する。まず、実施の形態５の前段階の処理について説明する。サーバコンピュータ１のＣＰＵ１１は、ある大きな素数ｐ＞３、及び、上述した式２１により特定される楕円曲線Ｅを選択する。
【０１００】
そして、ＣＰＵ１１は楕円曲線Ｅの位数をｎEとし、この位数をもつ楕円曲線上の座標点を特定点Ｐとする。ただし、位数ｎEは素数位数であるか、または、楕円曲線の位数の素因数で大きな素数とする。なお、特定点Ｐ、位数ｎE及び素数ｐは予め計算されて記憶部１５に記憶されている。
【０１０１】
ＣＰＵ１１は受信者毎に固有の受信者鍵ｍｘjを生成する。
受信者鍵ｍｘj  （１≦ｊ≦ｋu）
ただし、１≦ｍｘj＜ｎE、全受信者数はＫuとする。
【０１０２】
次に、ＣＰＵ１１は主乱数Ｓi及び副乱数ｒiを生成する。
主乱数｛Ｓi｝  （１≦ｉ≦Ｊ）
ただし、１≦Ｓi＜ｎE
副乱数｛ｒi｝  （１≦ｉ≦Ｊ）
ただし、１≦ｒi＜ｎE
【０１０３】
ＣＰＵ１１は｛Ｓi，ｒi｝の全ての組に対し、各受信者の受信者鍵ｍｘiを用いて、式２９により候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）を生成する。
【０１０４】
【数１３】
0004171346.tif 000014
【０１０５】
ＣＰＵ１１は式２９により算出した候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）の配置をランダムに並び替える。なお、本実施の形態においては並び替え処理を行うこととしたが、必ずしも実行する必要はなくセキュリティの強度に応じて適宜実行するようにすればよい。また、ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）の正当性を確認するための確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を生成する。
【０１０６】
ＣＰＵは以上の処理により生成した受信者鍵ｍｘj （１≦ｊ≦ｋu）、候補鍵Ｓｘj＝｛ｘi｝ （1≦ｉ≦Ｊ）、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を受信者のＩＤに対応づけて受信者情報ファイル１５１に記憶する。そして、安全な通信路で受信者ｊに対し、位数ｎE、特定点Ｐの座標値、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を配布する。受信者は配布されたＩＣカードをチューナ２のリーダ２Ｒに挿入する。チューナ２のＣＰＵ２１はＩＣカードに記憶された位数ｎE、特定点Ｐの座標値、受信者鍵、候補鍵及び確認情報を記憶部２５の鍵情報記憶部２５１に記憶する。以上により実施の形態５における前段階が終了する。
【０１０７】
次に実施の形態５における後段階について説明する。ＣＰＵ１１はコンテンツＤＢ１Ｄに記憶されている映像コンテンツＣiを暗号化するためのコンテンツ鍵Ｋｃi（ただし、１≦Ｋｃi＜ｎE）を生成する。この生成されたコンテンツ鍵ＫｃiはＲＡＭ１２に記憶される。
【０１０８】
ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）により、映像コンテンツＣiを暗号化する。次に共通情報を作成するためにＣＰＵ１１は秘匿乱数
【数１４】
0004171346.tif 000015
をコンテンツ鍵Ｋｃi、主乱数Ｓi及び特定点Ｐを用いて生成する。ここで、
【数１５】
0004171346.tif 000016
はスカラ倍算した結果の特定点Ｐのｘ座標値である。そしてＣＰＵ１１は、共通情報Ｈｐiを秘匿乱数、副乱数ｒiを用いて下記の式３０により算出する。
【０１０９】
【数１６】
0004171346.tif 000017
【０１１０】
ＣＰＵ１１は上述した式３０で表される共通情報及び暗号化コンテンツを連接して（Ｈｐi‖ｅ[Ｋｃi,Ｃi]）通信網Ｎを経由してチューナ２に配信する。以上により実施の形態５の後段階が終了する。
【０１１１】
次にチューナ２における復号処理について説明する。チューナ２のＣＰＵ２１はｉ番目の共通情報及び暗号化されたコンテンツＨｐi‖ｅ[Ｋｃi,Ｃi]を受信した場合、鍵情報記憶部２５１から位数ｎE、受信者鍵ｍｘj、及び、一の候補鍵ｘiを読み出しＲＡＭ２１に記憶する。そして、ＣＰＵ２１は下記の式３１及び３２に代入することによりコンテンツ鍵Ｋｃiを算出する。すなわち、副乱数に候補鍵を乗じた値を位数で除した余りに受信者鍵を加算した値に、特定点Ｐのｘ座標値を乗じた値と、秘匿乱数との排他的論理和によりコンテンツ鍵を算出する。
【０１１２】
【数１７】
0004171346.tif 000018
【０１１３】
次にＣＰＵ２１は、算出されたコンテンツ鍵Ｋｃiと鍵情報記憶部２５１に記憶された確認情報ＲＣiとを比較することによりコンテンツ鍵Ｋｃiが正当であるか否かを判断する。正当でない場合は新たな候補鍵を取り出して同様の演算処理を繰り返す。正当である場合は、算出したコンテンツ鍵Ｋｃiにより、暗号化コンテンツを復号して映像コンテンツＣiを取り出し、ＭＰＥＧデコーダ２８でデコードした後、映像・音声出力部２９を経由してモニター等に映像、音声信号を出力する。なお、本実施の形態においては副乱数を１つとしたが、新たな副乱数を付加して系列を埋め込むようにしても良い。
【０１１４】
実施の形態６
実施の形態６は実施の形態４及び５を組み合わせたものであり、かつ系列を埋め込まない形態に関する。まず、実施の形態６の前段階の処理について説明する。サーバコンピュータ１のＣＰＵ１１は、ある大きな素数ｐ＞３、及び、上述した式２１により特定される楕円曲線Ｅを選択する。
【０１１５】
そして、ＣＰＵ１１は楕円曲線Ｅの位数をｎEとし、この位数をもつ楕円曲線上の座標点を特定点Ｐとする。ただし、位数ｎEは素数位数であるか、または、楕円曲線の位数の素因数で大きな素数とする。なお、位数ｎE及び素数ｐは予め計算されて記憶部１５に記憶されている。
【０１１６】
ＣＰＵ１１は受信者毎に固有の受信者鍵ｍｘjを生成する。
受信者鍵ｍｘj  （１≦ｊ≦ｋu）
ただし、１≦ｍｘj＜ｎE、全受信者数はＫuとする。
【０１１７】
次に、ＣＰＵ１１は主乱数Ｓi及び第１副乱数νi及び第２副乱数μiを生成する。
第１副乱数及び第２副乱数｛νi,μi｝  （１≦ｉ≦Ｊ）
ただし、１≦νi,μi＜ｎE
【０１１８】
ＣＰＵ１１は｛Ｓi，νi，μi｝の全ての組に対し、各受信者の受信者鍵ｍｘiを用いて、式３２により候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）を生成する。
【０１１９】
【数１８】
0004171346.tif 000019
【０１２０】
ＣＰＵ１１は式３３により算出した候補鍵Ｓｘj＝｛ｘi｝  （1≦ｉ≦Ｊ）の配置をランダムに並び替える。なお、本実施の形態においては並び替え処理を行うこととしたが、必ずしも実行する必要はなくセキュリティの強度に応じて適宜実行するようにすればよい。また、ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）の正当性を確認するための確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を生成する。
【０１２１】
ＣＰＵは以上の処理により生成した受信者鍵ｍｘj （１≦ｊ≦ｋu）、候補鍵Ｓｘj＝｛ｘi｝ （1≦ｉ≦Ｊ）、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を受信者のＩＤに対応づけて受信者情報ファイル１５１に記憶する。そして、安全な通信路で受信者ｊに対し、特定点Ｐの座標値、受信者鍵ｍｘj、候補鍵Ｓｘj、及び確認情報｛ＲＣi｝（１≦ｉ≦Ｊ）を配布する。受信者は配布されたＩＣカードをチューナ２のリーダ２Ｒに挿入する。チューナ２のＣＰＵ２１はＩＣカードに記憶された特定点Ｐの座標値、受信者鍵、候補鍵及び確認情報を記憶部２５の鍵情報記憶部２５１に記憶する。以上により実施の形態６における前段階が終了する。
【０１２２】
次に実施の形態６における後段階について説明する。ＣＰＵ１１はコンテンツＤＢ１Ｄに記憶されている映像コンテンツＣiを暗号化するためのコンテンツ鍵Ｋｃi（ただし、１≦Ｋｃi＜ｎE）を生成する。この生成されたコンテンツ鍵ＫｃiはＲＡＭ１２に記憶される。
【０１２３】
ＣＰＵ１１はコンテンツ鍵Ｋｃi（１≦ｉ≦Ｊ）により、映像コンテンツＣiを暗号化する。次に共通情報を作成するためにＣＰＵ１１は秘匿乱数
【数１９】
0004171346.tif 000020
をコンテンツ鍵Ｋｃi、主乱数Ｓi及び特定点Ｐを用いて生成する。ここで、
【数２０】
0004171346.tif 000021
はスカラ倍算した結果の特定点Ｐのｘ座標値である。そしてＣＰＵ１１は、共通情報Ｈｐiを秘匿乱数、第１副乱数νi第２副乱数μi及び特定点Ｐを用いて下記の式３４により算出する。
【０１２４】
【数２１】
0004171346.tif 000022
【０１２５】
ＣＰＵ１１は上述した式３４で表される共通情報及び暗号化コンテンツを連接して（Ｈｐi‖ｅ[Ｋｃi,Ｃi]）通信網Ｎを経由してチューナ２に配信する。以上により実施の形態６の後段階が終了する。
【０１２６】
次にチューナ２における復号処理について説明する。チューナ２のＣＰＵ２１はｉ番目の共通情報及び暗号化されたコンテンツＨｐi‖ｅ[Ｋｃi,Ｃi]を受信した場合、鍵情報記憶部２５１から特定点Ｐ、受信者鍵ｍｘj、及び、一の候補鍵ｘiを読み出しＲＡＭ２１に記憶する。そして、ＣＰＵ２１は下記の式３５及び３６に代入することによりコンテンツ鍵Ｋｃiを算出する。すなわち、受信者鍵に第１副乱数に候補鍵を乗じた値を加算した値を更に特定点の座標値で乗じた値に、第１副乱数、第２副乱数及び特定点の座標値を乗じた値を加算した値のｘ座標値と、秘匿乱数との排他的論理和によりコンテンツ鍵を算出する。
【０１２７】
【数２２】
0004171346.tif 000023
【０１２８】
次にＣＰＵ２１は、算出されたコンテンツ鍵Ｋｃiと鍵情報記憶部２５１に記憶された確認情報ＲＣiとを比較することによりコンテンツ鍵Ｋｃiが正当であるか否かを判断する。正当でない場合は新たな候補鍵を取り出して同様の演算処理を繰り返す。正当である場合は、算出したコンテンツ鍵Ｋｃiにより、暗号化コンテンツを復号して映像コンテンツＣiを取り出し、ＭＰＥＧデコーダ２８でデコードした後、映像・音声出力部２９を経由してモニター等に映像、音声信号を出力する。
【０１２９】
以上述べた実施の形態１乃至６の特徴を表１にまとめた。表１には各実施の形態で生成される共通情報、系列埋め込みの有無、チューナ２のＣＰＵ２１に負荷される演算内容、及び処理負担の程度（候補鍵の並び替えを行うか、行わないか区別して表示している）をそれぞれ列記した。本発明においては、全受信者へ共通の情報量の少ない共通情報を配信し、受信者個別の鍵で復号することにより、全受信者の共通の鍵を取り出すことができる。チューナ２は、候補鍵の並び替え（リタイミング対策）を行うと計算量が、候補鍵の数Jだけ増加することが分かる。また系列埋め込みは、チューナ２の計算量に影響を及ぼすことがない。また、安全性の観点から実施例４、５、６においては、楕円曲線の位数ｎEを、160ビット程度としておくことが好ましい。これに対し、実施例１、２、３では素数ｎとして1024ビット程度の大きさが好ましい。
【０１３０】
【表１】
0004171346.tif 000024
【０１３１】
さらに、実施例６は、γi ,μi を適切に選ぶことにより候補鍵の集合ｘi に対して異なるＳiを対応させることができ、鍵集合の元を有効に複数回使用することが可能となる。ただし、複数回使用した場合、リタイミング攻撃が可能となるため、複数使う候補鍵と1回だけ使う候補鍵とを混在させ、コンテンツの利用が一部できなくするようにすることが好ましい。以上述べた実施の形態１乃至６をチューナ２の性能、セキュリティの強度に応じて使い分けることができる。
【０１３２】
実施の形態２乃至６は以上の如き構成としてあり、その他の構成及び作用は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１３３】
（付記１）  配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信システムにおいて、
前記配信装置は、
前記受信装置を利用する受信者に固有の受信者鍵を生成する受信者鍵生成手段と、
主乱数及び副乱数を生成させ、前記受信者鍵生成手段により生成された各受信者の受信者鍵、前記生成した主乱数及び副乱数に基づき、複数の候補鍵を生成する候補鍵生成手段と、
コンテンツをコンテンツ鍵により暗号化するコンテンツ暗号化手段と、
前記コンテンツ鍵及び前記主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する共通情報生成手段と、
共通情報生成手段により生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを前記受信装置へ配信する配信手段とを備え、
前記受信装置は、
前記受信者鍵生成手段により生成された受信者鍵、前記候補鍵生成手段により生成された候補鍵を記憶する鍵情報記憶手段と、
前記配信手段により、共通情報及び暗号化されたコンテンツが配信された場合、前記鍵情報記憶手段に記憶した受信者鍵、候補鍵、前記共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する算出手段と、
算出したコンテンツ鍵により前記コンテンツを復号する復号手段と
を備えることを特徴とするコンテンツ配信システム。
（付記２）  前記配信装置は、前記候補鍵生成手段により生成された複数の候補鍵の順序を並び替える並び替え手段を更に備えることを特徴とする付記１に記載のコンテンツ配信システム。
（付記３）  前記配信装置は、さらに受信者毎に固有の系列を生成する系列生成手段を更に備え、
前記候補鍵生成手段は、前記系列生成手段により生成された系列に応じて、前記生成した副乱数を、前記受信者鍵生成手段により生成された各受信者の受信者鍵及び主乱数に当てはめることにより複数の候補鍵を生成するよう構成してあることを特徴とする付記１又は２に記載のコンテンツ配信システム。
（付記４）  前記配信装置は、前記コンテンツ鍵の正当性を判断するための確認情報を生成する確認情報生成手段を更に備え、
前記鍵情報記憶手段は、前記確認情報生成手段により生成された確認情報を記憶するよう構成してあり、
前記算出手段は、前記鍵情報記憶手段に記憶した受信者鍵、前記共通情報に含まれる副乱数及び秘匿乱数に対して、候補鍵を適用してコンテンツ鍵を算出し、算出したコンテンツ鍵と前記確認情報とを対比することにより前記コンテンツ鍵の正当性を判断し、正当と判断されるまで候補鍵を変更してコンテンツ鍵を算出するよう構成してあることを特徴とする付記１乃至３のいずれかに記載のコンテンツ配信システム。
（付記５）  前記系列生成手段における系列はＭ系列であることを特徴とする付記３に記載コンテンツ配信システム。
（付記６）  前記候補鍵生成手段は、主乱数から、副乱数に各受信者の受信鍵を乗じた値を所定の素数で除した余りを減じて求めるよう構成してあることを特徴とする付記１に記載のコンテンツ配信システム。
（付記７）  共通情報生成手段は、前記コンテンツ鍵と前記主乱数との排他的論理和により秘匿乱数を生成するよう構成してあることを特徴とする付記１に記載のコンテンツ配信システム。
（付記８）  前記算出手段は、前記素数で除した余りが副乱数に受信者鍵を乗じた値と等しくなる値に候補鍵を加算して得られる値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出するよう構成してある付記６に記載のコンテンツ配信システム。
（付記９）  前記候補鍵生成手段は、主乱数から、各受信者の受信鍵を副乱数分乗じた値を所定の素数で除した余りを減じて求めるよう構成してあることを特徴とする付記１に記載のコンテンツ配信システム。
（付記１０）  前記算出手段は、前記素数で除した余りが受信者鍵を副乱数分乗じた値と等しくなる値に候補鍵を加算して得られる値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出するよう構成してある付記９に記載のコンテンツ配信システム。
（付記１１）  前記候補鍵生成手段は、主乱数並びに第１副乱数及び第２副乱数を発生させ、前記系列生成手段により生成された系列に応じて、主乱数から第１副乱数に各受信者の受信鍵を乗じた値を所定の素数で除した余りを減じて求める、または、主乱数から第２副乱数に各受信者の受信鍵を乗じた値を所定の素数で除した余りを減じて求めるよう構成してあることを特徴とする付記３に記載のコンテンツ配信システム。
（付記１２）  前記算出手段は、前記素数で除した余りが第１副乱数または第２副乱数に受信者鍵を乗じた値と等しくなる値に候補鍵を加算して得られる値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出するよう構成してある付記１１に記載のコンテンツ配信システム。
（付記１３）  前記候補鍵生成手段は、主乱数並びに第１副乱数及び第２副乱数を発生させ、前記系列生成手段により生成された系列に応じて、主乱数を各受信者鍵と第１副乱数との合計値で除した値を所定形状の楕円曲線上の特定点の位数で除した余り、または、主乱数を各受信者鍵と第２副乱数との合計値で除した値を所定形状の楕円曲線上の特定点の位数で除した余りを鍵候補とするよう構成してあることを特徴とする付記３に記載のコンテンツ配信システム。
（付記１４）  共通情報生成手段は、前記コンテンツ鍵と前記主乱数に前記位数をもつ楕円曲線上の特定点のｘ座標値を乗じた値との排他的論理和により生成される秘匿乱数、前記特定点の座標値に第１副乱数を乗じた値、及び特定点の座標値に第２副乱数を乗じた値を含む共通情報を生成するよう構成してあることを特徴とする付記１３に記載のコンテンツ配信システム。
（付記１５）  前記算出手段は、受信者鍵に特定点の座標値を乗じた値に前記特定点の座標値に第１副乱数を乗じた値を加算した値を候補鍵で乗じた値のｘ座標値と、前記秘匿乱数との排他的論理和、または、受信者鍵に特定点の座標値を乗じた値に前記特定点の座標値に第２副乱数を乗じた値を加算した値を候補鍵で乗じた値のｘ座標値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出するよう構成してある付記１４に記載のコンテンツ配信システム。
（付記１６）  前記候補鍵生成手段は、主乱数及び副乱数を発生させ、主乱数から各受信者鍵を減じた値を副乱数で除した値をさらに所定形状の楕円曲線上の特定点の位数で除した余りを鍵候補とするよう構成してあることを特徴とする付記１に記載のコンテンツ配信システム。
（付記１７）  共通情報生成手段は、前記コンテンツ鍵と前記主乱数に前記位数をもつ楕円曲線上の特定点のｘ座標値を乗じた値との排他的論理和により生成される秘匿乱数、及び、前記副乱数を含む共通情報を生成するよう構成してあることを特徴とする付記１６に記載のコンテンツ配信システム。
（付記１８）  前記算出手段は、副乱数に候補鍵を乗じた値を前記位数で除した余りに受信者鍵を加算した値に、前記特定点のｘ座標値を乗じた値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出するよう構成してある付記１７に記載のコンテンツ配信システム。
（付記１９）  前記候補鍵生成手段は、主乱数、第１副乱数及び第２副乱数を発生させ、主乱数から各受信者鍵を減じた値を第１副乱数で除した値から、副乱数を所定形状の楕円曲線上の特定点の位数で除した余りを減じた値を鍵候補とするよう構成してあることを特徴とする付記１に記載のコンテンツ配信システム。
（付記２０）  共通情報生成手段は、前記コンテンツ鍵と前記主乱数に前記位数をもつ楕円曲線上の特定点のｘ座標値を乗じた値との排他的論理和により生成される秘匿乱数、第１副乱数、及び、前記第２副乱数に前記特定点の座標値を乗じた値を含む共通情報を生成するよう構成してあることを特徴とする付記１９に記載のコンテンツ配信システム。
（付記２１）  前記算出手段は、受信者鍵に第１副乱数に候補鍵を乗じた値を加算した値を更に前記特定点の座標値で乗じた値に、前記第１副乱数、第２副乱数及び前記特定点の座標値を乗じた値を加算した値のｘ座標値と、前記秘匿乱数との排他的論理和によりコンテンツ鍵を算出するよう構成してある付記２０に記載のコンテンツ配信システム。
（付記２２）  コンテンツを配信する配信装置により暗号化したコンテンツを、通信網を介して接続された受信装置へ配信するコンテンツ配信方法において、
前記配信装置により、前記受信装置を利用する受信者に固有の受信者鍵を生成する受信者鍵生成ステップと、
前記配信装置により、主乱数及び副乱数を生成させ、前記受信者鍵生成ステップにより生成された各受信者の受信者鍵、前記生成した主乱数及び副乱数に基づき、複数の候補鍵を生成する候補鍵生成ステップと、
前記配信装置により、コンテンツをコンテンツ鍵により暗号化するコンテンツ暗号化ステップと、
前記配信装置により、前記コンテンツ鍵及び前記主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する共通情報生成ステップと、
前記配信装置により、共通情報生成ステップにより生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを前記受信装置へ配信する配信ステップとを備え、
前記受信装置により、前記受信者鍵生成ステップにより生成された受信者鍵、前記候補鍵生成ステップにより生成された候補鍵を鍵情報記憶部に記憶する鍵情報記憶ステップと、
前記配信装置から、共通情報及び暗号化されたコンテンツが配信された場合、前記受信装置により、前記鍵情報記憶部に記憶した受信者鍵、候補鍵、前記共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する算出ステップと、
前記受信装置により、算出したコンテンツ鍵により前記コンテンツを復号する復号ステップと
を備えることを特徴とするコンテンツ配信方法。
【０１３４】
【発明の効果】
以上詳述した如く、本発明にあっては、放送局側の配信装置は、各受信者に固有の受信者鍵を生成する。次に配信装置は、主乱数及び副乱数を生成させ、各受信者の受信者鍵、主乱数及び副乱数に基づき、複数の候補鍵を生成する。このようにして生成された各受信者固有の受信者鍵及び共通の情報である複数の候補鍵は、各受信者に配布しておく。コンテンツ配信の際には配信装置は、コンテンツをコンテンツ鍵により暗号化する。そして、コンテンツ鍵及び主乱数により生成される秘匿乱数、並びに、前記副乱数を含む共通情報を生成する。生成した共通情報及びコンテンツ暗号化手段により暗号化したコンテンツを受信装置へ配信する。
【０１３５】
受信装置は、共通情報及び暗号化されたコンテンツが配信された場合、記憶した受信者鍵及び候補鍵を読み出し、共通情報に含まれる副乱数及び秘匿乱数を用いて、コンテンツ鍵を算出する。受信装置は、算出したコンテンツ鍵によりコンテンツを復号する。このように構成したので、受信者には最初の段階で固有の受信者鍵が配布しておき、また共通の複数の候補鍵を配布しておくだけで、以後のコンテンツ配信時は共通情報及び暗号化したコンテンツを配信すればよいだけなので、配信装置側の負担が軽減され、またデジタル放送の分野では帯域を大幅に確保することが可能となる。さらに、受信者鍵は受信者に固有の情報であるので、受信者鍵を悪用する受信者を容易に特定することが可能となる。
【０１３６】
また、本発明にあっては、放送局側の配信装置は、生成した複数の候補鍵の順序を並び替え、この並び替えた候補鍵を受信者側に提供する。受信装置は、コンテンツ鍵を算出するために複数の候補鍵を、受信者鍵、副乱数及び秘匿乱数に逐次代入する。この場合、候補鍵を並び替えておくことで解析に要する負担が大きくなるため、安易な不正を抑制することが可能となる。
【０１３７】
また、本発明にあっては、配信装置は受信者毎に固有の系列を生成する。配信装置は生成した系列に応じて、副乱数を、各受信者の受信者鍵及び主乱数に当てはめることにより複数の候補鍵を生成する。このように構成したので悪意のある受信者が第３の鍵を生成する場合でも、系列を特定することができるため、容易に悪意のある受信者を特定することが可能となる。
【０１３８】
さらに、本発明にあっては、配信装置は、コンテンツ鍵の正当性を判断するための確認情報を生成する。受信装置はこの生成された確認情報を記憶する。受信装置は、記憶した受信者鍵、共通情報に含まれる副乱数及び秘匿乱数に対して、候補鍵を適用してコンテンツ鍵を算出する。そして記憶した確認情報と、算出したコンテンツ鍵とを対比することにより前記コンテンツ鍵が正当か否かを判断する。そして、正当と判断した場合、算出されたコンテンツ鍵を利用してコンテンツを復号する。このように構成したので、容易にコンテンツ鍵が正当であるか否かを判断することが可能となる等、本発明は優れた効果を奏し得る。
【図面の簡単な説明】
【図１】本発明のコンテンツ配信システムの概要を示す模式図である。
【図２】サーバコンピュータ及びチューナのハードウェア構成を示すブロック図である。
【図３】前段階の処理手順を示すフローチャートである。
【図４】後段階の処理手順を示すフローチャートである。
【図５】復号処理の処理手順を示すフローチャートである。
【図６】従来の配信システムの概要を示す説明図である。
【符号の説明】
１  サーバコンピュータ（配信装置）
２  チューナ（受信装置）
１Ｄ  コンテンツＤＢ
Ｎ  通信網
１５  記憶部
１５Ｐ  制御プログラム
１５１  受信者情報ファイル
１１  ＣＰＵ
２５  記憶部
２１  ＣＰＵ
２５Ｐ  制御プログラム
２５１  鍵情報記憶部
２Ｒ  リーダ
【図１】
0004171346.tif 000025
【図２】
0004171346.tif 000026
【図３】
0004171346.tif 000027
【図４】
0004171346.tif 000028
【図５】
0004171346.tif 000029
【図６】
0004171346.tif 000030