(57)【要約】【課題】コンテンツの圧縮率が極端に悪化することなく、コンテンツの内容を確認できる程度にコンテンツを暗号化できるコンテンツ暗号方法を提供する。【解決手段】ＭＰＥＧ形式の動画ファイルからブロックに分割されたＩフレーム１０を抽出し、抽出したＩフレーム１０に、ブロック１１のマトリクスで形成される処理範囲１２を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、処理範囲１２に含まれるブロック１１を並び替える規則が示される暗号鍵１３を生成し、生成した暗号鍵１３に従い、処理範囲１２に含まれるブロック１１を処理範囲１２ごとに並び替えることで、コンテンツを暗号化する。【選択図】図６
2008118406.tif 000002
【特許請求の範囲】
【請求項１】
圧縮されたコンテンツを暗号化するコンテンツ暗号方法であって、前記コンテンツに含まれ、方形のブロックに分割された静止画のフレームに、前記ブロックのマトリクスで形成される処理範囲を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、前記処理範囲に含まれる前記ブロックの位置を並び替える規則が示される暗号鍵を生成し、生成した前記暗号鍵に従い、前記処理範囲に含まれる前記ブロックを前記処理範囲ごとに並び替えることで、前記コンテンツを暗号化することを特徴とするコンテンツ暗号方法。
【請求項２】
請求項１に記載のコンテンツ暗号方法であって、前記コンテンツはＭＰＥＧ形式で圧縮された動画ファイルであって、前記フレームはＩフレームであることを特徴とするコンテンツ暗号方法。
【請求項３】
圧縮されたコンテンツを暗号化するコンテンツ暗号装置であって、前記コンテンツの中から、方形のブロックに分割された静止画のフレームを抽出し、抽出した前記フレームに、前記ブロックのマトリクスで形成される処理範囲を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、前記処理範囲に含まれる前記ブロックの位置を並び替える規則が示される暗号鍵を生成し、生成した前記暗号鍵に従い、定めた前記処理範囲に含まれる前記ブロックを前記処理範囲ごとに並び替えることで、前記コンテンツを暗号化することを特徴とするコンテンツ暗号装置。
【請求項４】
請求項３に記載のコンテンツ暗号装置であって、前記コンテンツはＭＰＥＧ形式で圧縮された動画ファイルであって、前記フレームはＩフレームであることを特徴とするコンテンツ暗号装置。
【請求項５】
圧縮されたコンテンツを暗号化するコンテンツ暗号装置であって、前記コンテンツの中から、方形のブロックに分割された静止画のフレームを抽出し、抽出した前記フレームに、前記ブロックのマトリクスで形成される処理範囲を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、前記処理範囲に含まれる前記ブロックの位置を並び替える規則が示される暗号鍵を生成し、生成した前記暗号鍵に従い、定めた前記処理範囲に含まれる前記ブロックを前記処理範囲ごとに並び替える機能として、コンピュータのＣＰＵを動作させるためのコンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムであって、前記コンテンツはＭＰＥＧ形式で圧縮された動画ファイルであって、前記フレームはＩフレームであることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画や静止画などのコンテンツを暗号化する技術に関し、更に詳しくは、コンテンツを半開示するために、動画や静止画などのコンテンツを暗号化する技術に関する。
【背景技術】
【０００２】
デジタル著作権管理(DRM : Digital Rights Management)などにおいて、デジタル化したコンテンツ（動画や静止画など）の半開示技術が必要とされている。半開示技術とは、暗号技術を用いて内容を確認できる程度にコンテンツを暗号化する技術である。
【０００３】
半開示技術を用いて暗号化されたコンテンツを閲覧することで、コンテンツ閲覧に対する課金を行う前に、ユーザはコンテンツの内容を確認することができ、更に、コンテンツ閲覧に対する課金を行うなどして、コンテンツを復号するための暗号鍵をユーザが入手することで、ユーザは、暗号化されたコンテンツを復号し、正常な品質のコンテンツを再生することが可能になる。
【０００４】
コンテンツの半開示技術としては、非特許文献１において、特許文献１や特許文献２で開示されている発明を利用した「情報半開示方式」が記述され、この「情報半開示方式」では、ＪＰＥＧ形式のコンテンツを半開示する技術が紹介されている。
【０００５】
この「情報半開示方式」では、ＪＰＥＧで符号化された離散コサイン変換（DCT: Discrete Cosine Transform）の係数の中で、対象となる係数を暗号化することで、ＪＰＥＧ形式の静止画にスクランブルを掛ける。なお、スクランブル強度は、領域パラメータ、ブロック内パラメータ及び密度パラメータによって制御可能である。
【非特許文献１】「NTT  R&D  Vol.47  No.６」（1998年）                                          （社）電気通信協会発行、705頁〜710頁
【特許文献１】特開平８−２５６３２１号公報
【特許文献２】特開平９−１７９４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述しているようにコンテンツを半開示したとき、ユーザはコンテンツの内容を確認できる必要があるが、上述の「情報半開示方式」を利用してＪＰＥＧ形式などのコンテンツを暗号化した場合、ＤＣＴ係数が乱数になるため圧縮率が悪化するし、更に、この乱数を強制的に「０」にすることで、かなり見易い画像が再現できてしまうため、コンテンツの暗号化の強度としては不十分である。
【０００７】
そこで、コンテンツの圧縮率が極端に悪化することなく、静止画や動画などのコンテンツの内容を確認できる程度にコンテンツを暗号化できるコンテンツ暗号方法、コンテンツ暗号装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決する第1の発明は、圧縮されたコンテンツを暗号化するコンテンツ暗号方法であって、前記コンテンツに含まれ、方形のブロックに分割された静止画のフレームに、前記ブロックのマトリクスで形成される処理範囲を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、前記処理範囲に含まれる前記ブロックの位置を並び替える規則が示される暗号鍵を生成し、生成した前記暗号鍵に従い、前記処理範囲に含まれる前記ブロックを前記処理範囲ごとに並び替えることで、前記コンテンツを暗号化することを特徴とする。
【０００９】
更に、第２の発明は、圧縮されたコンテンツを暗号化するコンテンツ暗号装置であって、前記コンテンツの中から、方形のブロックに分割された静止画のフレームを抽出し、抽出した前記フレームに、前記ブロックのマトリクスで形成される処理範囲を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、前記処理範囲に含まれる前記ブロックの位置を並び替える規則が示される暗号鍵を生成し、生成した前記暗号鍵に従い、定めた前記処理範囲に含まれる前記ブロックを前記処理範囲ごとに並び替えることで、前記コンテンツを暗号化することを特徴とする。
【００１０】
更に、第３の発明は、圧縮されたコンテンツを暗号化するコンテンツ暗号装置であって、前記コンテンツの中から、方形のブロックに分割された静止画のフレームを抽出し、抽出した前記フレームに、前記ブロックのマトリクスで形成される処理範囲を少なくとも一つ設定し、乱数生成鍵を入力としたストリーム暗号から得られる乱数を用いて、前記処理範囲に含まれる前記ブロックの位置を並び替える規則が示される暗号鍵を生成し、生成した前記暗号鍵に従い、定めた前記処理範囲に含まれる前記ブロックを前記処理範囲ごとに並び替える機能として、コンピュータのＣＰＵを動作させるためのコンピュータプログラムである。
【００１１】
なお、本発明において前記コンテンツとは、圧縮された画像（例えば、ＪＰＥＧ形式の画像ファイル）や圧縮された動画（例えば、ＭＰＥＧ形式の動画ファイル）を意味している。
【発明の効果】
【００１２】
本発明によれば、圧縮されたコンテンツに含まれる静止画のフレームは、設定された処理範囲の中でブロックが並び替えられ暗号化され、暗号化されたコンテンツは、画質が劣化した状態で再生されることになる。また、処理範囲を適当なサイズに設定することで、暗号化されたコンテンツを再生したときに、ユーザはコンテンツの内容を確認することが可能になる。
【００１３】
更に、コンテンツの暗号化は可逆で、コンテンツを暗号化したときに利用した乱数生成鍵を取得し、コンテンツを暗号化したときに利用した暗号鍵を生成すれば、暗号化されたコンテンツを復号して、正常な品質でのコンテンツの再生が可能になる。
【００１４】
更に、本発明によれば、暗号化されたコンテンツと元のコンテンツとでは、静止画のフレームに設定された処理範囲に含まれるブロックが並び替えられている以外に相違点はないため、たとえコンテンツを暗号化してもコンテンツの圧縮率が極端に悪化することはない。
【発明を実施するための最良の形態】
【００１５】
ここから、本発明のコンテンツ暗号装置及びコンテンツ暗号方法について、図を参照しながら詳細に説明する。図１は、ネットワーク３を利用してサーバ１からクライアント２に送信されるコンテンツを保護に、本発明に係るコンテンツ暗号装置を適用したシステムを説明する図である。
【００１６】
コンテンツ暗号装置であるサーバ１は、ストリーム暗号から得られる乱数を用いて生成した暗号鍵でコンテンツを暗号化し、品質が劣化しているコンテンツをクライアント２に配信し、暗号化されたコンテンツを復号する前は、品質が劣化した状態のままコンテンツはクライアント２で再生され、ユーザはコンテンツの内容を確認することができる。
【００１７】
正常な品質でコンテンツを再生するためには、クライアント２で暗号化されたコンテンツを復号することが必要で、暗号化されたコンテンツを復号するとき、コンテンツを暗号化したときに利用した暗号鍵がクライアント２で生成される。
【００１８】
上述しているようにコンテンツを暗号化した暗号鍵は、ストリーム暗号から得られる乱数を用いて生成されているため、クライアント２で暗号鍵を生成するためには、サーバ１で暗号鍵を生成したときに利用したストリーム暗号の乱数生成鍵をクライアント２は必要とする。
【００１９】
課金処理をするなどしてサーバ１から取得した乱数生成鍵を用い、クライアント２においてサーバと同じ手順で暗号鍵を生成することで、暗号化されたコンテンツは復号され、正常な品質でコンテンツは再生される。
【００２０】
コンテンツ暗号装置であるサーバ１は、少なくとも、コンテンツを暗号化する機能を備え、この機能は、本発明に係るコンテンツ暗号装置が有する機能としてサーバ１に備えられたＣＰＵを動作させるためのコンピュータプログラムで実現している。
【００２１】
コンテンツをＭＰＥＧ形式で圧縮された動画ファイルとしたときの例を取りながら、サーバ１がコンテンツに暗号化を掛ける動作について説明する。
【００２２】
図２は、暗号化されるコンテンツ、すなわち、ＭＰＥＧ形式の動画ファイルに含まれるフレームを説明する図である。ＭＰＥＧ形式の動画ファイルであるコンテンツには、フレームとして、前方向のフレーム間予測で生成されるＰフレーム１０ｐ(P: Predicted Frame)と、前方向、後方向或いは両方向のフレーム間予測で生成されるＢフレーム１０ｂ (B: Bi-directional Predicted Frame)と、フレーム間予測で基点となるIフレーム１０(I: Intra-coded Frame)とが含まれる。
【００２３】
図３は、Ｉフレーム１０を模式的に説明する図で、上述したようにＩフレーム１０は８画素×８画素のブロック１１に分割され、それぞれのブロック１１は圧縮されている。図３では、Ｉフレーム１０は９行×１６列のブロック１１で構成されている。
【００２４】
なお、ＭＰＥＧ形式の動画ファイルのＩフレーム１０に含まれるそれぞれのブロック１１は、動画の現画像そのものでなく、ブロック１１の画像そのものや、フレーム間予測をした画像の離散コサイン変換した係数を量子化し、エントロピー符号化（MPEG-4では、VLC: Variable Length Codeing）することで圧縮されている。
【００２５】
サーバ１は、コンテンツを暗号化するとき、コンテンツに含まれるＩフレーム１０を抽出し、抽出したＩフレーム１０のみを暗号化することで、動画の圧縮率を大幅に悪化させることなく、ＭＰＥＧ形式の動画ファイルであるコンテンツを暗号化する。
【００２６】
本発明において、コンテンツの暗号化とは、Ｉフレーム１０に含まれるブロック１１を、圧縮された状態のまま並び替えることを意味する。Ｉフレーム１０の全体を対象としてブロック１１を並び替えてもよいが、Ｉフレーム１０の全体を対象としてブロック１１を並び替えてしまうと、暗号化されたコンテンツを再生したとき、ユーザは再生したコンテンツの内容を確認することができない。
【００２７】
そこで、本発明では、Ｉフレーム１０の一部を処理領域として設定し、ブロック１１を並び替えを処理領域ごとに行うことで、暗号化されたコンテンツを再生したとき、コンテンツの内容を確認できるようにする。
【００２８】
図４は、図３で図示したＩフレーム１０に処理領域１２を設定する一例を示した図で、図４では、３行×４列のブロック１１のマトリクスで形成される領域を一つの処理領域１２とし、一つのＩフレーム１０に１２個の処理領域１２を設定している。
【００２９】
ブロック１１を並び替える処理領域１２は一つのみＩフレーム１０に設定されていてもよいが、複数の処理領域１２がＩフレーム１０に設定されていても構わない。複数の処理領域１２がＩフレーム１０に設定されているときは、それぞれの処理領域１２ごとにブロック１１の並び替えが実行される。
【００３０】
処理領域１２に含まれるブロック１１を並び替えるときには、処理領域１２に含まれるブロック１１それぞれについて番号が割当られる。図４では、一つの処理領域１２に１２個のブロック１１が含まれるため、それぞれのブロック１１には、「０」~「１１」までの番号が割当てられる。
【００３１】
図５は、処理領域１２に含まれるブロック１１を並び替えるときに利用される暗号鍵１３を模式的に示した図である。処理領域１２に含まれるブロック１１を並び替えるときに利用される暗号鍵１３は、処理領域１２に含まれるブロック１１に付与されたそれぞれの番号を要素（ｉ）とする１次元の配列である。
【００３２】
暗号鍵１３において、ブロック１１に付与された番号は順序通りでなく、ストリーム暗号の乱数生成器から得られる乱数を用いて、ブロック１１に付与された番号の並び順は攪拌されている。乱数を生成するストリーム暗号の乱数生成器はコンピュータプログラムで実現できるが、ストリーム暗号の乱数生成器は専用のハードウェアで実現することもできる。
【００３３】
図５において、暗号鍵１３は要素（０）から要素（１１）を有する１次元の配列で、暗号鍵１３の要素（ｉ）のデータは、番号「ｉ」が付与されたブロック１１が並び替える位置を示し、例えば、図５で示した例においては、要素（０）のデータは「５」になっているため、０番目のブロック１１は、５番目の位置に並び替えられることを意味している。
【００３４】
ここから、図を参照しながら、サーバ１がコンテンツを暗号化する動作について、より詳細に説明することで、本発明に係るコンテンツ暗号方法についても説明する。
【００３５】
図６は、コンテンツを暗号化する手順を示したフロー図である。この手順の最初のステップＳ１は、Ｉフレーム１０にブロック１１を並び替える処理領域１２を設定するステップである。例えば、図４に図示したように、処理領域１２はＩフレーム１０に設定される。
【００３６】
次のステップＳ２は、暗号鍵１３を初期化するステップである。図７は、初期化された暗号鍵１３ａの一例を示した図である。上述しているように暗号鍵１３とは、一つの処理領域１２に含まれるブロック１１の数だけ要素（ｉ）を有する一次元の配列であるため、図７に図示した初期化された暗号鍵１３ａにおいては、ブロック１１に割当てられた番号が順に並んでいる。
【００３７】
本実施の形態では、初期化された暗号鍵１３ａは、ストリーム暗号の乱数生成器から得られる１バイトの乱数を用いて変更される。後述するステップＳ３及びステップＳ４が予め設定された設定回数だけ繰り返して実行され、初期化された暗号鍵１３ａが変更されることで、ブロック１１の並び替えに利用される暗号鍵１３は生成される。
【００３８】
ステップＳ３は、乱数を生成するステップである。上述したように乱数は、ストリーム暗号の乱数生成部を用いて生成される。ストリーム暗号の乱数生成部に、乱数生成鍵（例えば、１２８ビット）が入力され、公開された初期ベクトル（例えば、１２８ビット）を初期値とする１バイトの乱数（擬似乱数）が、乱数を発生する指示ごとに生成される。
【００３９】
次のステップＳ４は、ステップＳ３で生成された乱数を用いて、初期化された暗号鍵１３ａが変更されるステップである。
【００４０】
本実施の形態において、ステップＳ３で生成される乱数は１バイトの数値で、本実施の形態で、乱数を上位ニブルと下位ニブルに分割して利用し、データテーブルの要素（ｉ）の中で、上位ニブルをｉとしたときの要素（ｉ）の値とｉ＝下位ニブルとしたときの要素（ｉ）の値を入れ替えることで、初期化された暗号鍵１３ａを変更する。
【００４１】
例えば、乱数が「６３ｈ」（ここで、ｈは１６進数を意味する）ならば、要素（６）の値「６」と要素（３）の値「３」を入れ替える。なお、図４の処理領域１２に含まれるブロック１１の数は１２個であるため、上位ニブル及び下位ニブルを１２（Ｃｈ）で余剰演算したときの余りを、ブロック１１の並び替えに利用するとよい。
【００４２】
次のステップＳ５は、初期化された暗号鍵１３ａが変更された回数を確認するステップである。このステップでは、初期化された暗号鍵１３ａが変更された回数が設定回数（例えば、５回）に達したときはステップＳ６に進み、達していないときはステップＳ３に戻る。
【００４３】
図８に、図７で図示した初期化された暗号鍵１３ａから暗号鍵１３が生成される一例を示した図である。５個の乱数（63h,71h,58h,A4h,2Bh）を用いることで、図７で図示した暗号鍵１３の初期値１３ａから図７で図示した暗号鍵１３が生成される。
【００４４】
次のステップＳ６は、暗号鍵１３を用いて、処理領域１２に含まれるブロック１１を並び替えるステップである。このステップでは、生成された暗号鍵１３を参照し、処理領域１２に含まれるブロック１１が並び替えられる。
【００４５】
図９は、図４で図示したＩフレーム１０の左上の処理領域１２に含まれるブロック１１を、図５で図示した暗号鍵１３に基づいて、ブロック１１が並び替えた後のＩフレーム１０を示した図である。
【００４６】
図５で図示した暗号鍵１３を参照することで、例えば、図４の１番目のブロック１１は７番目の位置に並び替えられ、図４の２番目のブロックは１１番目の位置に並び替えられることで、図９で図示したＩフレーム１０が得られる。
【００４７】
これまでは、ブロック１１を並び替える処理領域１２は一つとしていたが、ブロック１１を並び替える処理領域１２が複数あるときは、すべての処理領域１２ブロック１１で同じ暗号鍵１３を用いてブロック１１を並び替えてもよく、処理領域１２ごとに暗号鍵１３を生成し、処理領域１２ごとに異なる暗号鍵１３を用いてブロック１１を並び替えてもよい。ステップＳ６をもって、コンテンツを暗号化する手順は終了する。
【００４８】
上述しているように、暗号化されたコンテンツに含まれるＩフレーム１０のブロック１１は並び替えられているため、暗号化されたコンテンツを復号する前は、品質が劣化した状態で再生されるため、コンテンツの著作権は保護される。
【００４９】
図１０は、コンテンツを暗号化した一例である。図１０（ａ）は暗号化する前のコンテンツで、図１０（ｂ）は暗号化されたコンテンツである。図１０（ｂ）を参照すればわかるように、ユーザは再生したコンテンツの内容を確認することができる程度に暗号化されている。
【００５０】
これまで説明した実施の形態では、コンテンツをＭＰＥＧ形式の動画ファイルとしているが、本発明はＭＰＥＧ形式の動画ファイルに限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、静止画を圧縮したＪＰＥＧ形式の画像ファイルにも本発明は適用できる。
【００５１】
更に、ＭＰＥＧ形式の動画ファイルでは、動画ファイルに含まれる一つのフレームは、８画素×８画素の方形のブロック１１に分割されていたが、このブロック１１のサイズは圧縮する形式に依存し、本発明では方形のブロック１１のサイズは任意である。例えば、ワンセグで利用されているＨ．２６４では、方形のブロック１１のサイズは４画素×４画素である。
【００５２】
更に、上述した実施の形態では、圧縮された後のＭＰＥＧ形式の動画ファイルを暗号化していたが、オリジナルの動画を圧縮すると同時にコンテンツを暗号化してもよく、例えば、エントロピー符号化される前のブロック１１を並び替えることもできる。
【００５３】
更に、初期化された暗号鍵１３ａを変更するときに利用する乱数は１バイトに限定されず、１バイトより大きい乱数を用いて、初期化された暗号鍵１３ａを変更することもできる。
【００５４】
例えば、２バイトの乱数を利用するときは、初期化された暗号鍵１３ａの要素の中で、１バイトの乱数をブロック１１の数で剰余演算したときの余りをｉとしたときの要素（ｉ）の値と、もう一方の１バイトの乱数をブロック１１の数で剰余演算したときの余りをｉとしたときの要素（ｉ）の値とを入れ替えることで、初期化された暗号鍵１３ａを変更することもできる。
【図面の簡単な説明】
【００５５】
【図１】本発明に係るコンテンツ暗号装置を適用したシステムを説明する図。
【図２】ＭＰＥＧ形式の動画ファイルに含まれるフレームを説明する図。
【図３】Ｉフレームを模式的に説明する図。
【図４】Ｉフレームに処理領域を設定する一例を示した図。
【図５】暗号鍵を模式的に示した図。
【図６】コンテンツを暗号化する手順を示したフロー図。
【図７】暗号鍵の初期値を示した図。
【図８】暗号鍵が生成される一例を示した図。
【図９】ブロックが並び替えた後のＩフレームを示した図。
【図１０】コンテンツを暗号化した一例を示した図。
【符号の説明】
【００５６】
１  サーバ
１０  Ｉフレーム
１１  ブロック
１２  処理領域
１３  暗号鍵
２  クライアント
３  ネットワーク
【図１】
2008118406.tif 000003
【図２】
2008118406.tif 000004
【図３】
2008118406.tif 000005
【図４】
2008118406.tif 000006
【図５】
2008118406.tif 000007
【図６】
2008118406.tif 000008
【図７】
2008118406.tif 000009
【図８】
2008118406.tif 000010
【図９】
2008118406.tif 000011
【図１０】
2008118406.tif 000012