(57)【要約】【課題】  ブロードキャスト暗号を用いて階層データマルチキャストを行っても処理速度の低下を低減する。【解決手段】  本発明は、暗号化装置において、全体の処理速度の低下を低減するために、各階層データをそれぞれ暗号化する鍵として、ブロードキャスト暗号より高速な暗号方式（例えば、AESやCamellia）を用いて暗号化し、その復号化鍵（秘密鍵の場合には、暗号化鍵＝復号化鍵）に対してブロードキャスト暗号を用いて暗号化する。また、復号化装置において、暗号化された階層化符号化データを復号化する際に、全体の処理速度の低下を低減するために、ブロードキャスト暗号を用いて、各階層データをそれぞれ暗号化した鍵を復号化し、それを用いて各階層データを復号化する。【選択図】  図５
2012222568.tif 000002
【特許請求の範囲】
【請求項１】
階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信する際に、暗号化を行う階層型マルチキャスト配信のためのデータ暗号化方法であって、
暗号化装置が、
全体の処理速度の低下を低減するために、各階層データをそれぞれ暗号化する鍵として、ブロードキャスト暗号より高速な暗号方式（例えば、AESやCamellia）を用いて暗号化し、その復号化鍵（秘密鍵の場合には、暗号化鍵＝復号化鍵）に対してブロードキャスト暗号を用いて暗号化する
ことを特徴とするデータ暗号化方法。
【請求項２】
暗号化された階層符号化データを復号化する階層型マルチキャスト配信のためのデータ復号化方法であって、
復号化装置が、
請求項１の方法により暗号化された階層化符号化データを復号化する際に、
全体の処理速度の低下を低減するために、ブロードキャスト暗号を用いて、各階層データをそれぞれ暗号化した鍵を復号化し、それを用いて各階層データを復号化する
ことを特徴とするデータ復号化方法。
【請求項３】
上記請求項１の暗号化および請求項２の復号化が実施されている場合、すなわち、階層データを暗号化する鍵に対してブロードキャスト暗号を適用し、階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信している場合に、
受信者が受信映像の解像度が低い契約に変更、又は、契約を解除した場合に、少なくともそれらの状況に対応する受信側の復号化装置内に残っている「階層データを復号化する鍵」を電子回路のリセット動作により消去する
請求項２記載のデータ復号化方法。
【請求項４】
上記請求項１の暗号化および請求項２の復号化が実施されている場合、すなわち、階層データを暗号化する鍵に対してブロードキャスト暗号を適用し、階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信している場合に、
受信者が受信映像の解像度が低い契約に変更、又は、契約を解除した場合に、送信側の暗号化装置内に指示して少なくともそれらの状況に対応する「階層データを暗号化するデータ用秘密鍵」を更新する
請求項１記載のデータ暗号化方法。
【請求項５】
受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースで、ブロードキャスト暗号に関連する稼動を減らすために、
暗号化装置内で、各受信者に配るブロードキャスト暗号の秘密鍵を生成するときに、現在の受信者数をＮとし、生成する秘密鍵の数をＭとすると、Ｍ＞Ｎとなるように秘密鍵を生成し、未使用の（Ｍ−Ｎ）個の秘密鍵を、暗号化装置内または装置外に秘密裏に保存する
請求項１記載のデータ暗号化方法。
【請求項６】
受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースで、ブロードキャスト暗号に関連する稼動を減らすために、
暗号化装置内で、未使用の（Ｍ−Ｎ）個の秘密鍵でも復号可能なように、ブロードキャスト暗号の公開鍵を生成する
請求項１記載のデータ暗号化方法。
【請求項７】
階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信する際に、暗号化を行うデータ暗号化装置であって、
個人秘密鍵を公開鍵暗号方式で暗号化する個人秘密鍵暗号化手段と、
各階層データのブロードキャスト暗号の公開鍵を生成する公開鍵生成手段と、
ブロードキャスト暗号より高速な暗号方式を用いてデータ用秘密鍵を生成するデータ用秘密鍵生成手段と、
前記データ用秘密鍵を用いて階層化データの暗号化を行い、前記公開鍵を用いて該データ用秘密鍵のブロードキャスト暗号化を行う暗号化手段と、
暗号化された階層化データとブロードキャスト暗号化が行われたデータ用秘密鍵を合成して階層化符号化データを生成する合成手段と、
暗号化され多前記階層化符号化データと前記個人秘密鍵生成手段で暗号化された個人秘密鍵を復号化装置に送信する送信手段と、
を有することを特徴とするデータ暗号化装置。
【請求項８】
受信者が受信映像の解像度が低い契約に変更、又は、契約を解除した場合に、契約変更データが入力されると、前記データ用秘密鍵生成手段に対して、前記データ用秘密鍵の更新を指示する鍵更新指示手段を更に有する
請求項７記載のデータ暗号化装置。
【請求項９】
前記個人秘密鍵暗号化手段は、
現在の受信者数をＮとし、生成する秘密鍵の数をＭとすると、Ｍ＞Ｎとなるように秘密鍵を生成し、未使用の（Ｍ−Ｎ）個の秘密鍵を、秘密鍵記憶手段、または、外部の記憶手段に秘密裏に保存する手段を含む
請求項７または８記載のデータ暗号化装置。
【請求項１０】
受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースで、ブロードキャスト暗号に関連する稼動を減らすために、未使用の（Ｍ−Ｎ）個の秘密鍵でも復号可能なように、ブロードキャスト暗号の公開鍵を生成する手段を含む
請求項７記載のデータ暗号化装置。
【請求項１１】
暗号化された階層符号化データを復号化する階層型マルチキャスト配信のためのデータ復号化装置であって、
請求項７のデータ暗号化装置により暗号化された階層化符号化データと個人秘密鍵を受信する受信手段と、
前記個人秘密鍵を復号化してブロードキャスト暗号の個人秘密鍵とする個人秘密鍵復号化手段と、
前記暗号化された階層化符号化データを暗号化された階層データと暗号化されたデータ用秘密鍵に分離する分離手段と、
前記データ用秘密鍵を前記個人秘密鍵復号化手段で復号化された前記ブロードキャスト暗号の個人秘密鍵を用いて各階層データ毎に復号化し、各階層データ用の秘密鍵として記憶手段に格納するデータ用秘密鍵復号化手段と、
前記暗号化された階層データを、前記記憶手段の階層データ用の秘密鍵で復号化し階層データを取得するデータ復号化手段と、
を有することを特徴とするデータ復号化装置。
【請求項１２】
受信者が受信映像の解像度が低い契約に変更、又は、契約を解除した場合に、前記記憶手段内の前記階層データ用の秘密鍵を電子回路のリセット動作により消去する鍵リセット手段を更に有する
請求項１１記載のデータ復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ暗号化装置及びデータ復号化装置及びデータ暗号化方法及びデータ復号化方法に係り、特に、マルチキャスト配信における映像データ等の階層符号化方式にブロードキャスト暗号化・復号化を適用して階層型マルチキャスト配信を行うためのデータ暗号化装置及びデータ復号化装置及びデータ暗号化方法及びデータ復号化方法に関する。
【背景技術】
【０００２】
ディジタルシネマ映像をはじめとする高価なディジタルデータのネットワーク配信は、その高価さ故に高いセキュリティを要求され、現在、受信者毎に個別に暗号化された後、各受信者に向けてユニキャスト配信されている。ユニキャスト配信の例を図９に示す。
【０００３】
今後、配信先の増加に伴い、マルチキャスト配信への要望が次第に強くなると予想される。マルチキャスト配信の例を図１０に示す。現在行われているマルチキャスト配信ではIP Multicastプロトコルなどが使われており、一つのデータをルータ等のネットワーク内装置でコピーしているため、どの受信者も同一データを受信している。このため、もしデータが漏洩した場合に、どの受信者が漏洩したかを特定することは困難である。また、漏洩した受信者を特定できた場合に、その後の漏洩者への配信を停止するためには、全受信者の復号鍵が同じであるため、復号鍵を再度配信し直さなければならないという問題もある。これらの問題を解決するために、漏洩者特定を可能とする電子透かし方式（例えば、非特許文献１参照）とブロードキャスト暗号方式（例えば、非特許文献２参照）を組み合わせることにより、漏洩者特定と実質的な配信停止が可能なマルチキャスト配信方式がある（例えば、非特許文献３参照）。
【０００４】
ブロードキャスト暗号方式は、１人の送信者と複数の受信者間で使用され、送信者は同じ暗号文を受信者全体に送信するが、正しく復号できるのは、暗号化時に指定された受信者グループのみというものである。具体的には、復号を許可する全受信者の秘密鍵から公開鍵を作成し、それによって暗号化すると、許可された受信者のみがそれぞれの個人秘密鍵を用いて暗号文を復号できる。図１１は、従来の公開鍵暗号方式とブロードキャスト暗号方式の違いを図式化したものである。このブロードキャスト暗号は、許可された受信者のみがそれぞれの個人秘密鍵を用いて暗号文を復号できるだけでなく、暗号化するデータも一つで良いことから映像データのマルチキャスト配信に適しており、受信者の数によらず公開鍵が一つでよいため鍵管理が容易である利点も有している。
【０００５】
一方、近年のネットワークの多様化に伴い、ユーザ毎に伝送路の帯域変動が大きく、また、映像受信端末の解像度も多様化している。このような条件の異なる複数のユーザへの映像の同時配信には、図１２に示す階層型マルチキャスト配信が適している。このような階層型マルチキャスト配信において、ブロードキャスト暗号方式の適用を考えると、ブロードキャスト暗号方式では対象とする暗号化データは一つであることから、直接適用した場合、階層性が失われてしまう。すなわち、映像の品質や解像度毎の受信制御が不可能であり、全受信者に対して同じ品質の映像のみしか受信できない。
【０００６】
そこで、各階層毎にデータをブロードキャスト暗号化することにより、受信者毎に映像の品質や解像度の制御を可能とする階層型マルチキャスト配信を実現するためのデータ暗号化方法及び復号化方法並びにデータ暗号化装置及び復号化装置が考案された。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】R. Parviainen and R. Parnes, "Large scale distributed water-marking of multicast media through encryption, Proc. Of IFIP Communications and Multimedia Security Issues of the New Century, pp. 17-26, 2001.
【非特許文献２】A. Fait and M. Naor, "Broadcast encryption", CRYPTO 1993, LNCS 773, pp. 480-491, 1993.
【非特許文献３】豊島鑑、井上武、上松仁、高橋宏和、仁科五月、高木剛、湊真一、"漏洩者の特定と配信停止が可能なマルチキャスト配信方式"、２００８年電子情報通信学会総合大会、BS-5-5.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、一般的に、ブロードキャスト暗号による暗号化および復号化の処理速度は、AESやCamelliaなどの秘密鍵暗号に比べると遅く、今後高画質化することが予想されることからデータ量が多くなり、処理時間の差がますます大きくなると予想される。
【０００９】
また、この課題の改善のために、各階層データをそれぞれ暗号化する鍵に対してブロードキャスト暗号を適用した場合、受信者が受信映像の解像度が低い契約に変更、又は、契約を解除したケースでは、受信装置内にそれまでの階層データを復号化できる鍵が残っているため、これを悪用されることにより、契約していない階層データを復号化されてしまう恐れがある。
【００１０】
また、受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースでは、ブロードキャスト暗号は全受信者に配る秘密鍵を再度生成し直す必要があり、これにより新規受信者は元より他の既存受信者にも秘密鍵を配り直す必要が生じる。また、公開鍵も再度生成し直す必要がある。
【００１１】
本発明は、上記の点に鑑みなされたもので、ブロードキャスト暗号を用いて階層データのマルチキャストを行っても処理速度の低下を低減する方法および装置を提供することを目的とする。
【００１２】
また、階層データを暗号化する鍵に対してブロードキャスト暗号を適用した場合に、受信者が受信映像の解像度が低い契約に変更、又は、契約を解除したケースに発生する、受信装置内に階層データを復号化できる鍵が残ることを防止する方法および装置を提供することを目的とする。
【００１３】
また、受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースに発生する、ブロードキャスト暗号に関連する稼動を減らすことができる方法および装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明（請求項１）は、階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信する際に、暗号化を行う暗号化装置におけるデータ暗号化方法であって、
全体の処理速度の低下を低減するために、各階層データをそれぞれ暗号化する鍵として、ブロードキャスト暗号より高速な暗号方式（例えば、AESやCamellia）を用いて暗号化し、その復号化鍵（秘密鍵の場合には、暗号化鍵＝復号化鍵）に対してブロードキャスト暗号を用いて暗号化する、ことを行う。
【００１５】
本発明（請求項２）は、暗号化された階層符号化データを復号化する復号化装置における階層型マルチキャスト配信のためのデータ復号方法であって、
請求項１の方法により暗号化された階層符号化データを復号化する際に、
全体の処理速度の低下を低減するために、ブロードキャスト暗号を用いて、
各階層データをそれぞれ暗号化した鍵を復号化し、それを用いて各階層データを復号化する、ことを行う。
【００１６】
本発明（請求項３）は、上記請求項１および２が実施されている場合、すなわち、階層データを暗号化する鍵に対してブロードキャスト暗号を適用し、階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信している場合に、受信者が受信映像の解像度が低い契約に変更、又は、契約を解除したケースに、少なくともそれに対応する受信側の復号化装置内に残っている「階層データを復号化する鍵」を電子回路のリセット動作などにより消去すること、を行う。
【００１７】
本発明（請求項４）は、上記請求項１および２が実施されている場合、すなわち、階層データを暗号化する鍵に対してブロードキャスト暗号を適用し、階層型マルチキャスト配信を用いて階層符号化データを複数の受信者に同時配信している場合に、受信者が受信映像の解像度が低い契約に変更、又は、契約を解除したケースに、送信側の暗号化装置内に指示して少なくともそれに対応する「階層データを暗号化する鍵」を更新すること、を行う。
【００１８】
本発明（請求項５）は、受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースで、ブロードキャスト暗号に関連する稼動を減らすために、
暗号化装置内で、各受信者に配るブロードキャスト暗号の秘密鍵を生成するときに、現在の受信者数をＮとし、生成する秘密鍵の数をＭとすると、Ｍ＞Ｎとなるように秘密鍵を生成し、未使用の（Ｍ−Ｎ）個の秘密鍵を、暗号化装置内または装置外に秘密裏に保存すること、を行う。
【００１９】
本発明（請求項６）は、受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースで、ブロードキャスト暗号に関連する稼動を減らすために、
暗号化装置内で、未使用の（Ｍ−Ｎ）個の秘密鍵でも復号可能なように、ブロードキャスト暗号の公開鍵を生成すること、を行う。
【発明の効果】
【００２０】
上記のように、本発明により、ブロードキャスト暗号の暗号化時間は階層データを暗号化する鍵の長さに依存するので、ブロードキャスト暗号を用いて階層データマルチキャストを行っても、処理速度の低下を低減することができる。
【００２１】
さらに、階層データを暗号化する鍵に対してブロードキャスト暗号を適用した場合に、受信者が受信映像の解像度が低い契約に変更、又は、契約を解除したケースに発生する問題、即ち、受信装置内に階層データを復号化できる鍵が残り、これを悪用されることにより契約外のデータを受信されることを防止することができる。
【００２２】
また、受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースに発生する、ブロードキャスト暗号に関連する稼動の問題、即ち、各受信者に配るブロードキャスト暗号の秘密鍵の生成し直し、さらに新規受信者は元より他の既存受信者に秘密鍵配り直す稼動、および公開鍵を生成し直す稼動を減らすことができる。
【図面の簡単な説明】
【００２３】
【図１】JPEG2000エンコーダのシステム構成図である。
【図２】JPEG2000のRLCPデータ構造である。
【図３】ブロードキャスト暗号の直接適用例（その１）である。
【図４】ブロードキャスト暗号の直接適用例（その２）である。
【図５】本発明の第１の実施の形態における暗号化装置の構成図である。
【図６】本発明の第１の実施の形態における復号化装置の構成図である。
【図７】本発明の第２の実施の形態における復号化装置の構成図である。
【図８】本発明の第３の実施の形態における暗号化装置の構成図である。
【図９】ユニキャスト配信を示す図である。
【図１０】マルチキャスト配信を示す図である。
【図１１】従来の公開鍵暗号方式とブロードキャスト暗号方式である。
【図１２】階層型マルチキャスト配信を示す図である。
【発明を実施するための形態】
【００２４】
以下図面と共に、本発明の実施の形態を説明する。
【００２５】
まず、本発明の階層型マルチキャスト暗号におけるベースとなる階層型符号化について説明する。
【００２６】
前述の非特許文献３に代表されるマルチキャストにより配信される映像データは、ある一定の伝送帯域で伝送できるように、H.264/AVC方式やMPEG２方式などによって一定帯域以下に圧縮符号化する必要があり、一度符号化された映像データは伝送帯域が変動しても映像品質を変化させることはできない。また、解像度も固定されており、受信端末に合わせて解像度を変更させるためには、一度復号化した後に、画像の拡大／縮小処理を行う必要がある。
【００２７】
しかし、近年のネットワークの多様化に伴い、伝送路の帯域変動が大きく、複数の帯域に見合った品質の映像を伝送可能な映像データが必要とされており、また、映像受信端末もNTSCレベルの解像度から、HD(High Definition)やＳＨＤ（Super High Definition）といったサイズまで多様化している。
【００２８】
このような背景のもと、映像品質や映像端末解像度の変化に対応できるJPEG2000やSVC(Scalable Video Coding)などの階層符号化方式が規格化されている。階層符号化方式では、符号器は一度符号化するのみで、圧縮符号化レートや個々の解像度に応じて圧縮データを作り直す必要がなく、単一の圧縮ファイルから、様々な解像度・品質の復号画像が得られる特徴がある。
【００２９】
ここでは、JPEG2000を例に説明する。図１に、JPEG2000エンコーダのシステム構成図を示す。JPEG2000では、低ビットレートでの画質保持、解像度スケーラビリティ実現の容易さからウェーブレット変換を用いる。ウェーブレット変換部１０のウェーブレットフィルタとしては、可逆・非可逆統一符号化をサポートするための可逆フィルタと、非可逆符号化より高いレート・ディストレーション特性で実現するための非可逆フィルタが用意されている。分割方法は、１次元ウェーブレット変換を画像の縦横各方向に独立に施すことで画像を４つのサブバンドに帯域分割し、最低周波数帯域を再帰的に４バンドに分割するMallet分割に限定される。D回分割することによって、原画像に対して１／２Dの大きさの空間解像度を持つ画像まで分割可能となる。この処理を、水平方向及び垂直方向にそれぞれ施す。復号側では、低域側から順次復号化する。U回復号化することによって、原画像に対して、２U／2D＝1／2n倍の大きさの空間解像度を持つ画像が復元できる。ウェーブレット変換では、低域から高域へ順次復号化する過程で解像度の異なる画像を容易に得ることができる。
【００３０】
次に、ウェーブレット係数は必要に応じて量子化部１１で量子化され、EBCOT (Embedded Block Coding with Optimized Truncation)アルゴリズム２０により符号化される。EBCOTアルゴリズム２０は、コードブロック分割部１２で各サブバンドをコードブロックと呼ばれる正方形のブロック（例えば、６４×６４）に分割する。これらのコードブロックは、それぞれ独立に符号化される。各コードブロックでは、ウェーブレット係数のビットプレーンに基づく係数ビットモデリングを行い、MSBからLSBまでの全てのビットプレーンは、それぞれコンテクストに応じて２つの符号化パスに分解される。次に、係数ビットモデリング部１３により生成されたエンベデッド符号列に対して、算術符号化部１４にて算術符号化を施す。全体のビットレート制御は、コードブロック毎に生成された算術符号化のそれぞれの一部を破棄することにより行われる。また、必要に応じてレイヤという単位にグループ分けされる。最後に、パケット生成部１５にてヘッダ情報などを付加したものが、JPEG2000ビットストリームとなる。JPEG2000は、３つの符号化パスを最小単位として符号が構成されており、パス単位にある優先度を付け、復号時の時間的優先度を制御したり、切捨て符号量を制御することができる。優先度としては、
・Ｌ：SNRを基準としたレイヤ
・Ｒ：空間解像度
・Ｐ：位置
・Ｃ：色
の４つがあり、どのようにこれらを優先的に並べるかによって５種類のスケーラビリティが存在する。レイヤを最優先としたＬＲＣＰがデフォルトとなっている。空間解像度に関して優先的にスケーラビリティを持たせたいときには、図２に示すようなＲＬＣＰデータ構造により実現できる。低解像度画像から高解像度画像まで順次解像度を上げていく制御が可能となる。このような階層符号化方式による映像データの複数ユーザへの同時配信には、図１２に示すような階層型マルチキャストが適している。例えば、図２に示すようなＲＬＣＰデータ構造の場合、図１２の階層型マルチキャストにおいて、レイヤ１＝Ｒ０，レイヤ２＝Ｒ１，レイヤ３＝Ｒ２として配信する。
【００３１】
［階層符号化における従来の暗号化］
階層符号化方式に対する暗号化に関しても、様々な研究が行われている。例えば、文献１「Y. Wu, D. Ma and R. H. Deng, "Flexible access control to JPEG2000 image codestreams," IEEE Trans. on Multimedia, vol. 9, no. 6, pp.1314-1324, Oct. 2007」、
文献２「安藤勝俊、貴家仁志、"レイヤ構造を利用したJPEG2000符号化画像の暗号化法"、信学論（Ａ），vol. J85-A, no.10, pp.1091-1099, Oct.2002」、文献３「A. Haggag, M. Ghoneim, J. Lu, and T. Yahagi, "Progressive encryption and controlled access scheme for JPEG2000 encoded images," in Proc. IEEE ISPACS, pp. 895-898,2006」等がある。
【００３２】
JPEG2000では、Part8として、JPSECと呼ばれるセキュリティに関する仕様が規格化された。JPSECでは、機密性、認証性、完全性といったセキュリティが要求されるサービスを対象としているが、どのように画像データを保護したかを記述するシンタックスを規定しているだけで、暗号化や署名など実際のセキュリティアルゴリズムは規定外とする柔軟なフレームワークとなっている。JPECに準拠した暗号化の手法は数々提案されているが、これらJPEC準拠の方式に留まらず、従来の階層符号化における暗号方式の研究は、基本的に１対１のアクセスを前提としている。したがって、ネットワークでの伝送においてはユニキャスト配信を用いることになるが、複数ユーザへの同時配信には、ユーザ数だけユニキャスト配信を行うこととなり、伝送帯域が大幅（ユーザ数倍）に増加する。
【００３３】
［ブロードキャスト暗号］
以上の問題点を考慮し、本発明におけるブロードキャスト暗号を用いた階層型マルチキャスト暗号について説明する。まず、ブロードキャスト暗号のアルゴリズムについて簡単に記述する。全受信者数をｎ、復号化を許可する受信者数をｓ、復号化を許可しない受信者数をｒとする（すなわち、ｓ＋ｒ＝ｎ）。最も単純な方法、すなわち、受信者各個人の公開鍵により暗号化を行うことでブロードキャスト暗号を実現した場合、受信者全体の公開鍵のサイズはオーダＯ（ｎ）、受信者個人の秘密鍵のサイズはオーダＯ（１），暗号文サイズはオーダＯ（ｓ）である。そのため、公開鍵サイズと暗号文サイズを小さくすることが、効率的なブロードキャスト暗号を実現する上で重要である。2005年、Boneh、Gentry、Watersによって、暗号文サイズがオーダＯ（１）であるブロードキャスト暗号の方式が提案され、実用化へ向けて多くの研究者の注目を集めるに至った（文献４「D. Boneh, C. Gentry and B. Waters, "Collusion resistant broadcast encryption with short ciphertexts and private keys," CRYPTO '05, pp. 258-275, 2005」）。当該文献４のブロードキャスト暗号は、鍵生成、暗号化、復号化の３つのアルゴリズムにより構成されている。各受信者に対してＩＤとして１からｎまでの自然数を割り振る。つまり、受信者全体は１，２，…，ｎである。
【００３４】
各受信者は個人秘密鍵としてｄ１，ｄ２，…，ｄｎを所有し、公開鍵をＰＫとし、送信者が復号化を許可する受信者の集合をＳ⊂｛１，２，…，ｎ｝とする。
【００３５】
鍵生成：受信者の総数ｎを入力とし、公開鍵ＰＫと個人秘密鍵ｄｉ（ｉ＝１，２，…，
ｎ）を出力とする。
【００３６】
暗号化：メッセージＭ、公開鍵ＰＫ、復号化を許可する受信者の集合Ｓを入力とし、暗号文ＣとヘッダＨｄｒを出力する。
【００３７】
復号化：暗号文Ｃ，ヘッダＨｄｒ、受信者ＩＤｉ、個人秘密鍵ｄｉ、公開鍵ＰＫ、復号
化を許可された受信者の集合Ｓを入力とし、メッセージＭを出力する。
【００３８】
以上、ブロードキャスト暗号の一例として、文献４を紹介したが、以下の実施の形態においては、ブロードキャスト暗号に言及する際には、特に断らない限り、文献４のブロードキャスト暗号に限定しない。
【００３９】
［ブロードキャスト暗号を用いた階層型マルチキャスト暗号］
ブロードキャスト暗号は許可された受信者のみがそれぞれ個人秘密鍵を用いて暗号文を復号できるだけでなく、暗号化したデータも一つでよいことから映像データのマルチキャスト配信に適している。即ち、図３に示すように、JPEG2000の符号化データへ直接適用した場合、送信側でブロードキャスト暗号の公開鍵で暗号化したデータは、受信側の各個人秘密鍵A〜Eのどれを使っても復号化することができる。但し、ブロードキャスト暗号では対象とする暗号化データは一つであることから、階層符号化の階層性が失われてしまう。すなわち、階層毎のアクセス制御が不可能であり、全受信者に対して同じ品質の映像のみしか配信できない。
【００４０】
階層性を維持したまま暗号を行う一つの簡易な方法としては、図４に示すようにブロードキャスト暗号を各階層データに直接適用する方式が考えられる。即ち、送信側で、各階層の符号化データに対応して、ブロードキャスト暗号の個人秘密鍵と公開鍵の組を作り、各符号化データをブロードキャスト暗号の公開鍵で暗号化し、受信側では各階層に対応する個人秘密鍵のどれを使っても復号化することができる。この例では、空間解像度に関して優先的にスケーラビリティを持たせており、Ｒ０の受信者は１／４解像度画像、｛Ｒ０，Ｒ１｝の受信者は１／２解像度画像、｛Ｒ０，Ｒ１，Ｒ２｝の受信者はフル解像度画像を復号できる。また、この例では、受信者数は５人を想定しており、フル解像度画像を復号できる受信者は個人秘密鍵（Ａ，Ａ'，Ａ"）の所有者一人、１／２解像度画像を復号できる受信者はそれぞれ個人秘密鍵（Ｂ，Ｂ'）と個人秘密鍵（Ｃ，Ｃ'）所有者の二人、１／４解像度画像を復号できる受信者はそれぞれ個人秘密鍵Ｄと個人秘密鍵Ｅの所有者の二人となる。しかしながら、ブロードキャスト暗号を各階層データに直接適用した場合には、一般的に、ブロードキャスト暗号による暗号化および復号化の処理速度は、AESやCamelliaなどの秘密鍵暗号に比べると遅く、今後高画質化することが予想されることからデータ量が多くなると、処理時間の差がますます大きくなると予想される。
【００４１】
［第１の実施の形態］
以下、各実施の形態を説明するにあたり、これまでの例と同様に階層符号化としてJPEG2000を例に取り上げるが、どのような階層符号化にも適用可能である。受信者数、階層数、JPEG2000スケーラビリティ順序、各受信者のアクセス許可の範囲などは、全て図４の例と同様であるものとする。
【００４２】
図５は、本発明の第１の実施の形態における階層型マルチキャスト暗号化装置の構成を示す。同図に示す暗号化装置１００は、受信者の複数の個人秘密鍵から個人秘密鍵を生成し格納しておく個人秘密鍵生成部１１０、生成された個人秘密鍵を各受信者に秘密裏に送るために公開鍵暗号等で暗号化し格納しておく個人秘密鍵暗号化部１２０、各階層データのブロードキャスト暗号の公開鍵を生成し格納しておく公開鍵生成部１３０、各階層データの暗号化を高速に行うための秘密鍵を生成し格納しておく階層データ用秘密鍵生成部１７０、秘密鍵を用いた階層データの暗号化と公開鍵を用いた階層データ用秘密鍵のブロードキャスト暗号化とを行う暗号化部１４０、公開鍵で暗号化された階層データ用秘密鍵と秘密鍵で暗号化された階層データを一塊のビット列に合成する合成部１８０、暗号化されたデータや個人秘密鍵等を復号化装置に送信する送信部１６０から構成される。なお、個人秘密鍵生成部１１０、個人秘密鍵暗号化部１２０、公開鍵生成部１３０、データ用秘密鍵生成部１７０は、生成された鍵を保持するためのメモリ（図示せず）を有するものとする。
【００４３】
本実施の形態は、全体の処理速度の低下を低減するために、各階層データをそれぞれ暗号化する鍵として、ブロードキャスト暗号より高速な暗号方式（例えば、AESやCamellia）を用いて暗号化し、その復号化鍵（秘密鍵の場合には、暗号化鍵＝復号化鍵）をブロードキャスト暗号で暗号化する。それを実現するために、階層データ用秘密鍵生成部１７０は、各階層データを暗号化する秘密鍵（以下、階層データ用秘密鍵と記す）を生成し記憶するとともに、それらを用いて暗号化部１４０で各階層データを暗号化する。また、暗号化部１４０は前記階層データ用秘密鍵をブロードキャスト暗号の公開鍵で暗号化する。
【００４４】
送信部１６０は、暗号化された階層データと暗号化された階層データ用秘密鍵それぞれを全受信者（復号化装置）にマルチキャスト送信する。尚、受信者がブロードキャスト暗号で暗号化された階層データ用秘密鍵を復号化するためのブロードキャスト暗号の個人秘密鍵は、暗号化データとは別に公開鍵暗号方式等を用いて別に送信する。送信方法については、ブロードキャスト暗号方式で個人秘密鍵を送信する方式であれば特に制限はない。
【００４５】
図２は、本発明の第１の実施の形態における復号化装置の構成を示す。同図に示す復号化装置２００は、受信部２４０、分離部２５０、個人秘密鍵生成部２１０、階層データ用秘密鍵復号化部２２０、階層データ用秘密鍵記憶部２６０、階層データ復号化部２３０から構成される。
【００４６】
復号時には、各受信者の復号化装置２００は、暗号化装置１００から、公開鍵暗号方式等を用いて送信されたブロードキャスト暗号の個人秘密鍵を受信し、個人秘密鍵復号化部２１０にて、個人秘密鍵を復号化し記憶する。また、各受信者の復号化装置２００は、暗号化装置１００からマルチキャスト送信された「暗号化された階層データ」と「暗号化された階層データ用秘密鍵」それぞれを受信して分離部２５０に送り、そこで「暗号化された階層データ」と「暗号化された階層データ用秘密鍵」に分離され、「暗号化された階層データ」は階層データ復号化部２３０に送られ、「暗号化された階層データ用秘密鍵」は階層データ用秘密鍵復号化部２２０に、それぞれ送られる。階層データ用秘密鍵復号化部２２０は、個人秘密鍵生成部２１０から送られたブロードキャスト暗号の個人秘密鍵を用いて各階層データの「暗号化された階層データ用秘密鍵」を復号化し、階層データ用秘密鍵記憶部２６０に送る。階層データ用秘密鍵記憶部２６０は、送られた各階層データ用の秘密鍵を記憶する。尚、階層データ用秘密鍵記憶部260は階層データ用秘密鍵復号化部２２０または階層データ復号化部２３０の内部に設けられてもよい。階層データ復号化部２３０は、階層データ用秘密鍵記憶部２６０から送られた各階層データ用の秘密鍵を用いてそれぞれ対応する「暗号化された階層データ」を復号化し、階層データを出力する。
【００４７】
尚、どの階層データを復号化できるかは各受信者の契約による。例えば、１／４解像度（即ち、この場合、低い解像度）の画像を受信するサービス契約の受信者は、全てのマルチキャスト送信された「暗号化された階層データ」と「暗号化された階層データ用秘密鍵」を受信したとしても、渡されたブロードキャスト暗号の個人秘密鍵を使って復号化できるのは、「暗号化された階層データＲ０用秘密鍵」のみである。よって、復号化して得られた「暗号化された階層データＲ０用秘密鍵」を使って、「暗号化された階層データＲ０」を復号化し、階層データＲ０を得ることができる。これは、即ち、JPEG2000の１／４解像度の画像である。
【００４８】
同様に、１／２解像度（即ち、この場合、中程度の解像度）の画像を受信するサービス契約の受信者は、渡されたブロードキャスト暗号の個人秘密鍵を使って復号化できるのは、「暗号化された階層データＲ１用秘密鍵」と「暗号化された階層データＲ０用秘密鍵」である。よって、復号化して得られた「暗号化された階層データＲ１用秘密鍵」と「暗号化された階層データＲ０用秘密鍵」を使って、「暗号化された階層データＲ１」と「暗号化された階層データＲ０」を復号化し、階層データＲ１と階層データＲ０を得る。これら階層データＲ１と階層データＲ０から、JPEG2000の１／２解像度の画像を得ることができる。尚、階層データＲ０があるので、JPEG2000の１／４解像度の画像を得ることもできる。
【００４９】
また、同様に、フル解像度（即ち、この場合、高い解像度）の画像を受信するサービス契約の受信者は、渡されたブロードキャスト暗号の個人秘密鍵を使って、「暗号化された階層データＲ２用秘密鍵」と「暗号化された階層データＲ１用秘密鍵」と「暗号化された階層データＲ０用秘密鍵」を復号化できる。よって、復号化して得られた「暗号化された階層データＲ２用秘密鍵」と「暗号化された階層データＲ１用秘密鍵」と「暗号化された階層データＲ０用秘密鍵」を使って、「暗号化された階層データＲ２」と「暗号化された階層データＲ１」と「暗号化された階層データＲ０」を復号化し、階層データＲ２と階層データＲ１と階層データＲ０を得る。これら階層データＲ２と階層データＲ１と階層データＲ０から、JPEG2000のフル解像度の画像を得ることができる。尚、階層データＲ１と階層データＲ０があるので、JPEG2000の１／２解像度の画像を得ることもできるし、また、階層データＲ０があるので、JPEG2000の１／４解像度の画像を得ることもできる。
【００５０】
［第２の実施の形態］
図７は、本発明の第２の実施の形態における復号化装置の構成を示す。暗号化装置は第１の実施の形態（図５）と同様である。
【００５１】
前述の第１の実施の形態の復号化装置２００では、復号化装置内の階層データ用秘密鍵記憶部２６０に各解像度の階層データを復号化する階層データ用秘密鍵が記憶されている。
もし、一人または複数の受信者が、受信映像の解像度が低い契約に変更（例えば、フル解像度を１／４解像度に変更）、又は、契約を解除した場合には、送信側は、その受信者の「差分となる階層データ」を復号できなくする必要がある。
尚、「差分となる階層データ」は、上述の例では、以下のようになる。
変更前          変更後      差分となる階層データ
フル解像度 →  １／２解像度    階層データＲ２
フル解像度 →  １／４解像度    階層データＲ２と階層データＲ１
フル解像度 →  解約            階層データＲ２と階層データＲ１と階層データＲ０
１／２解像度→ １／４解像度    階層データＲ１
１／２解像度→ 解約            階層データＲ１と階層データＲ０
１／４解像度→ 解約            階層データＲ０
暗号化装置１００内の公開鍵生成部１３０で、「差分となる階層データ」用の公開鍵を再度生成し、それを用いて「階層データを暗号化する階層データ用秘密鍵」をブロードキャスト暗号化する。これにより、受信映像の解像度が低い契約に変更、又は、契約を解除した受信者は、対応する「差分となる階層データ」を復号化する「階層データ用秘密鍵」を自身の個人秘密鍵で復号化できなくなるため、マルチキャスト配信により全ての階層データを受信することはできても、「差分となる階層データ」を復号化することはできない。
【００５２】
しかしながら、復号化装置２００内の階層データ用秘密鍵記憶部２６０に、各解像度の「階層データを復号化する階層データ用秘密鍵」が記憶されているため、もし、受信者が何らかの方法でこれらの鍵を使用できた場合には、全てのグレードの階層データがマルチキャスト配信されてそれらを全て受信することができるため、受信サービス契約のグレード以外のデータを復号化し、それらの解像度のJPEG2000データ（例えば、映像）を得ることができてしまう。
【００５３】
この問題を解決するために、本実施の形態では、図７に示すように、復号化装置３００内の階層データ用秘密鍵記憶部２６０に鍵リセット部２７０を設け、階層データ復号化部２３０でのデータ復号化終了と同時に鍵リセット部２７０に通知し、階層データ用秘密鍵記憶部２６０内に記憶されている全ての解像度の「階層データを復号化する階層データ用秘密鍵」をリセット（＝消去）するようにする。これにより、もし、後から受信者が何らかの方法でこれらの鍵を取り出そうとしても既にリセット（＝消去）されて存在しないため、取り出すことは困難である。
【００５４】
尚、安全性は劣るが、受信映像の解像度が低い契約に変更、又は、契約を解除した時に、「階層データを復号化する階層データ用秘密鍵」をリセットする方法もある。また、この方法と上述の逐次全ての「階層データを復号化する階層データ用秘密鍵」をリセットする方法との中間的な方法として、一定時間毎や一定復号化回数毎にリセットする方法もある。
【００５５】
また、リセットする対象の鍵についても、全ての「階層データを復号化する階層データ用秘密鍵」とする方法と、受信映像の解像度が低い契約に変更、又は、契約を解除した時に受信しなくなる「差分となる階層データ」の鍵とする方法、およびそれら二つの間の方法もある。
【００５６】
［第３の実施の形態］
図８は、本発明の第３の実施の形態における暗号化装置の構成を示す。復号化装置は第１の実施の形態（図６）と同様である。また、解決すべき問題は前記第２の実施の形態と同様である。
【００５７】
この問題を解決するために、本実施の形態では、図８に示すように、暗号化装置４００内に鍵更新判断部１９０を設ける。鍵更新判断部１９０には外部から契約変更データが入力され、第２の実施の形態で述べたように、一人以上の受信者が受信映像の解像度が低い契約に変更、又は、契約を解除した場合、鍵更新判断部１９０は階層データ用秘密鍵生成部１７０に鍵更新指示信号を出力する。階層データ用秘密鍵生成部１７０は、鍵更新指示を受けると各「階層データを暗号化（＝復号化）する階層データ用秘密鍵」を再度生成する。これにより、もし、受信者が何らかの方法で復号化装置から各「階層データを暗号化（＝復号化）する階層データ用秘密鍵」を取り出していたとしても変更されてしまうため、変更後に階層データを復号化することはできない。
【００５８】
尚、鍵の更新指示を出すタイミングとして、一人以上の受信者が受信映像の解像度が低い契約に変更、又は、契約を解除した場合でもよいし、契約変更受信者の有無に関わらず受信サービス変更単位（例えば、１ヶ月または１週間または１日等）でもよいし、それより短い時間で更新してもよい。短ければ短いほど上記の不当な階層データの復号化が困難になる。
【００５９】
［第４の実施の形態］
本実施の形態における暗号化装置および復号化装置は、前記第１から第３の実施の形態に使用された装置のどれでもよく、暗号化装置は図５または図８、復号化装置は図６または図７である。
【００６０】
一人以上の受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースでは、ブロードキャスト暗号は、全受信者に配る秘密鍵を再度生成し直す必要があり、これにより新規受信者は元より他の既存受信者にも秘密鍵を配り直す必要が生じる。また、新規の受信者が加わることにより受信者グループのメンバーが以前と異なるため、公開鍵も再度生成し直す必要がある。これらのことを行うため、かなりの稼動を要する。
【００６１】
この問題を解決するために、暗号化装置１００または４００内で、各受信者に配るブロードキャスト暗号の秘密鍵を生成するときに、現在の受信者数をＮとし、生成する秘密鍵の数をＭとすると、Ｍ＞Ｎとなるように秘密鍵を生成し、未使用の（Ｍ−Ｎ）個の秘密鍵を、暗号化装置１００または４００内の個人秘密鍵生成部１１０内または暗号化装置１００または４００内または装置外に秘密裏に保存する。これにより、受信者が新規に契約したケース、即ち、復号可能な新規の受信者が加わるケースで発生する稼動の問題、即ち、
(1)全受信者に配る秘密鍵を再度生成し直し、
(2)新規受信者は元より他の既存受信者にも秘密鍵を配り直し、
(3)公開鍵も再度生成し直す、
という稼動を減らすことができる。
【００６２】
なお、上記の第１〜第４の実施の形態における図５、図８の暗号化装置、図６、図７の復号化装置の構成要素の動作をプログラムとして構築し、暗号化装置、復号化装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００６３】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００６４】
本発明は、階層型マルチキャスト配信において、受信者一人一人に対する映像の品質や解像度毎の受信制御を可能にするため、例えば、スポーツイベントなどのライブ映像配信において、金額に応じたグレード（質）の映像を各ユーザに配信する有料サービスが可能になる。
【符号の説明】
【００６５】
１０  ウェーブレット変換部
１１  量子化部
１２  コードブロック分割部
１３  係数ビットモデリング部
１４  算術符号化部
１５  パケット生成部
２０  ＥＢＣＯＴアルゴリズム
１００  暗号化装置
１１０  個人秘密鍵生成部
１２０  個人秘密鍵暗号化部
１３０  公開鍵生成部
１４０  暗号化部
１６０  送信部
１７０  階層データ用秘密鍵生成部
１８０  合成部
１９０  鍵更新判断部
２００  復号化装置
２１０  個人秘密鍵復号部
２２０  階層データ用秘密鍵復号化部
２３０  階層データ復号化部
２４０  受信部
２５０  分離部
２６０  階層データ用秘密鍵記憶部
２７０  鍵リセット部
３００  復号化装置
４００  暗号化装置
【図１】
2012222568.tif 000003
【図２】
2012222568.tif 000004
【図３】
2012222568.tif 000005
【図４】
2012222568.tif 000006
【図５】
2012222568.tif 000007
【図６】
2012222568.tif 000008
【図７】
2012222568.tif 000009
【図８】
2012222568.tif 000010
【図９】
2012222568.tif 000011
【図１０】
2012222568.tif 000012
【図１１】
2012222568.tif 000013
【図１２】
2012222568.tif 000014