(57)【要約】【課題】コンテンツを構成する複数のセクションの復号に関する自由度を向上させ、かつ、鍵の数も削減可能な鍵の配布技術を提供すること。【解決手段】暗号化装置１０１は第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して各セクションを暗号化する暗号鍵を生成し、それぞれ異なる暗号鍵で各セクションを暗号化して送信する。さらに、暗号化装置１０１は第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを送信する。これらの要素鍵は復号装置１０３に復号を許可されているセクションを復号するために必要となる初期鍵である。復号装置１０３は受信した第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とのそれぞれに、復号許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成し、生成された暗号鍵でセクションを復号する。【選択図】図１
2017103732.tif 000002
【特許請求の範囲】
【請求項１】
暗号化装置と復号装置とを含む暗号システムであって、
前記暗号化装置は、
暗号化対象の情報を一連の複数のセクションに分割する分割手段と、
第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して各セクションを暗号化する暗号鍵を生成する第一生成手段と、
前記第一生成手段により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する暗号化手段と、
前記暗号化手段より暗号化されたセクションを送信するとともに、前記復号装置に復号を許可されているセクションを復号するための暗号鍵を前記復号装置で生成するために使用される前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とを送信する送信手段と、
前記復号装置は、
前記暗号化手段により暗号化されたセクションを受信するとともに、前記復号装置に復号を許可されているセクションを復号するための暗号鍵を前記復号装置で生成するために使用される前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵を受信する受信手段と、
前記受信手段により受信された前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とのそれぞれに、前記復号装置に復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成する第二生成手段と、
前記受信手段により受信されたセクションのうち前記復号装置に復号を許可されているセクションを、前記第二生成手段により生成された暗号鍵で復号する復号手段と
を有することを特徴とする暗号システム。
【請求項２】
前記第一生成手段は前記一連の複数のセクションにおける各セクションの位置に応じた回数のハッシュ演算を適用することで各セクションの暗号鍵を生成するために使用される前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とを生成することを特徴とする請求項１に記載の暗号システム。
【請求項３】
前記分割手段は前記暗号化対象の情報をＮ個のセクションに分割し、
前記第一生成手段は、ｉ番目のセクションを暗号化するための暗号鍵を関数ｆ（ＨＮ−ｉ（Ｋ１），Ｈｉ−１（Ｋ２），）で生成し（ｉは１からＮまでの整数）、
ここでＨＮ−ｉ（Ｋ１）は前記第一のハッシュチェインにおける初期鍵Ｋ１に対してハッシュ関数ＨをＮ−ｉ回適用して得られる鍵であり、Ｈｉ−１（Ｋ２）は前記第二のハッシュチェインにおける初期鍵Ｋ２に対して前記ハッシュ関数Ｈをｉ−１回適用して得られる鍵であることを特徴とする請求項２に記載の暗号システム。
【請求項４】
前記送信手段は、前記暗号化手段により暗号化されたｊ番目のセクションからｋ番目のセクションを前記復号装置に復号させるために（ｊ、ｋは１＜ｊ＜ｋ＜Ｎを満たす整数）、前記第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）を前記復号装置に送信することを特徴とする請求項３に記載の暗号システム。
【請求項５】
前記送信手段は、前記第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）を補助鍵として前記復号装置に送信すること（ｍはｊより大きく、かつ、ｋより小さい整数）を特徴とする請求項４に記載の暗号システム。
【請求項６】
前記第二生成手段は、前記受信手段により受信された前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とをそれぞれ初期鍵として使用して、前記一連の複数のセクションにおける各セクションの位置に応じた回数のハッシュ演算を適用することで各セクションの暗号鍵を生成するために使用される前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とを生成することを特徴とする請求項１に記載の暗号システム。
【請求項７】
前記第二生成手段は、前記暗号化手段により暗号化されたｉ番目のセクションを復号するための暗号鍵を関数ｆ（ＨＮ−ｉ（Ｋ１），Ｈｉ−１（Ｋ２），）で生成し（ｉは１からＮまでのいずれかの整数）、
ここでＨＮ−ｉ（Ｋ１）は前記第一のハッシュチェインにおける初期鍵Ｋ１に対してハッシュ関数ＨをＮ−ｉ回適用して得られる鍵であり、Ｈｉ−１（Ｋ２）は前記第二のハッシュチェインにおける初期鍵Ｋ２に対して前記ハッシュ関数Ｈをｉ−１回適用して得られる鍵であることを特徴とする請求項６に記載の暗号システム。
【請求項８】
前記受信手段は、前記暗号化手段により暗号化されたｊ番目のセクションからｋ番目のセクションを前記復号装置に復号させるために、前記第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）を受信し、
前記第二生成手段は、前記受信手段により受信された前記第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）とに対してそれぞれ各セクションの位置に応じた回数のハッシュ演算を適用することで各セクションの暗号鍵を生成し、
前記復号手段は、前記第二生成手段により生成された各セクションの暗号鍵を用いてｊ番目のセクションからｋ番目のセクションまでの各セクションを復号することを特徴とする請求項７に記載の暗号システム。
【請求項９】
前記受信手段は、前記第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）を補助鍵として受信し（ｍはｊより大きく、かつ、ｋより小さい整数）、
前記第二生成手段は、ｊ番目のセクションからｍ−１番目のセクションまでの暗号鍵を前記第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）とにセクションの位置に応じた回数のハッシュ演算を施すことで生成し、ｍ番目のセクションの暗号鍵を前記第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）にセクションの位置に応じた回数のハッシュ演算を施すことで生成し、ｍ＋１番目のセクションからｋ番目のセクションまでの暗号鍵を前記第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と前記第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）にセクションの位置に応じた回数のハッシュ演算を施すことで生成することを特徴とする請求項４に記載の暗号システム。
【請求項１０】
暗号化対象の情報を一連の複数のセクションに分割する分割手段と、
各セクションを暗号化する暗号鍵を生成する第一生成手段と、
前記第一生成手段により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する暗号化手段と
を有し、
前記第一生成手段は第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して前記暗号鍵を生成することを特徴とする暗号化装置。
【請求項１１】
暗号化対象が複数のセクションに分割されて暗号化されたセクションを受信するとともに、復号を許可されているセクションを復号するための暗号鍵を生成するために使用される第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵を受信する受信手段と、
前記受信手段により受信された前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とのそれぞれに、復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成する第二生成手段と、
前記受信手段により受信されたセクションのうち復号を許可されているセクションを、前記第二生成手段により生成された暗号鍵で復号する復号手段と
を有することを特徴とする復号装置。
【請求項１２】
暗号化対象の情報を一連の複数のセクションに分割する分割工程と、
各セクションを暗号化する暗号鍵を生成する第一生成工程と、
前記第一生成工程により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する暗号化工程と
を有し、
前記第一生成工程では第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とが入力されて前記暗号鍵が生成されることを特徴とする暗号化方法。
【請求項１３】
暗号化対象が複数のセクションに分割されて暗号化されたセクションを受信するとともに、復号を許可されているセクションを復号するための暗号鍵を生成するために使用される第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵を受信する受信工程と、
前記受信工程において受信された前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とのそれぞれに、復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成する第二生成工程と、
前記受信工程において受信されたセクションのうち復号を許可されているセクションを、前記第二生成工程において生成された暗号鍵で復号する復号工程と
を有することを特徴とする復号方法。
【請求項１４】
暗号化対象の情報を一連の複数のセクションに分割する分割工程と、
第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とに基づき各セクションを暗号化する暗号鍵を生成する第一生成工程と、
前記第一生成工程により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する暗号化工程とをコンピュータに実行させるプログラム。
【請求項１５】
暗号化対象が複数のセクションに分割されて暗号化されたセクションを受信するとともに、復号を許可されているセクションを復号するための暗号鍵を生成するために使用される第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵を受信する受信工程と、
前記受信工程において受信された前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とのそれぞれに、復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成する第二生成工程と、
前記受信工程において受信されたセクションのうち復号を許可されているセクションを、前記第二生成工程において生成された暗号鍵で復号する復号工程と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを暗号化する技術に関する。
【背景技術】
【０００２】
動画や音楽などのコンテンツは契約者のみが再生できるようにすることが望まれる。そのためにはコンテンツを暗号化し、契約者のみがコンテンツを復号できるようにするシステムが望ましい。特許文献１によれば、コンテンツをＮ個のセクションに分割し、各セクションをＮ個の独立した鍵で暗号化する方法が提案されている（Ｎは２以上の整数）。特許文献２によれば、ハッシュチェインを用いて，各利用者に配布される鍵の個数を削減する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０４９７３１号公報
【特許文献２】特許第５５５６６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１ではユーザに配布される鍵の数がセクション数に比例して増大してしまう。特許文献２では、ハッシュチェインを活用することでユーザに配布される鍵の個数が１個に削減可能である。しかし、この発明では、先頭のセクションから特定のセクションまでの全セクションを視聴させたり、特定のセクションから末尾のセクションまでの全セクションを視聴させたりすることのみが可能である。たとえば、コンテンツの販売促進のために、いくつかの途中のセクションのみをユーザに視聴させることができない。つまり、特許文献２の発明ではセクションの復号の自由度が低い。そこで、本発明は、コンテンツを構成する複数のセクションの復号に関する自由度を向上させ、かつ、鍵の数も削減可能な鍵の配布技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明によれば、
暗号化装置と復号装置とを含む暗号システムであって、
前記暗号化装置は、
暗号化対象の情報を一連の複数のセクションに分割する分割手段と、
第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して各セクションを暗号化する暗号鍵を生成する第一生成手段と、
前記第一生成手段により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する暗号化手段と、
前記暗号化手段より暗号化されたセクションを送信するとともに、前記復号装置に復号を許可されているセクションを復号するための暗号鍵を前記復号装置で生成するために使用される前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とを送信する送信手段と、
前記復号装置は、
前記暗号化手段により暗号化されたセクションを受信するとともに、前記復号装置に復号を許可されているセクションを復号するための暗号鍵を前記復号装置で生成するために使用される前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵を受信する受信手段と、
前記受信手段により受信された前記第一のハッシュチェインに属する要素鍵と前記第二のハッシュチェインに属する要素鍵とのそれぞれに、前記復号装置に復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成する第二生成手段と、
前記受信手段により受信されたセクションのうち前記復号装置に復号を許可されているセクションを、前記第二生成手段により生成された暗号鍵で復号する復号手段と
を有することを特徴とする暗号システムが提供される。
【発明の効果】
【０００６】
本発明によれば、コンテンツを構成する複数のセクションの復号に関する自由度を向上させ、かつ、鍵の数も削減可能な鍵の配布技術が提供される。
【図面の簡単な説明】
【０００７】
【図１】暗号システムの一例を示す図
【図２】暗号化装置の機能を示すブロック図
【図３】復号装置の機能を示すブロック図
【図４】セクションとコンテンツ鍵との関係を説明する図
【図５】暗号化処理を示すフローチャート
【図６】復号処理を示すフローチャート
【発明を実施するための形態】
【０００８】
＜暗号システム＞
図１は暗号システム１００の一例を示す図である。暗号化装置１０１はコンテンツを暗号化して復号装置１０３ａ、１０３ｂに送信するコンテンツサーバや衛星放送の地上局などである。コンテンツサーバである暗号化装置１０１はインターネットなどのネットワーク１０２を介してコンテンツを復号装置１０３（１０３ａ、１０３ｂ）に送信する。ネットワーク１０２はケーブルテレビネットワークであってもよい。復号装置１０３は暗号化されたコンテンツを、自己が保有している鍵で復号して再生するクライアントや受信装置である。クライアントとしては、スマートフォンやパーソナルコンピュータなどがある。受信装置は、衛星放送を受信可能なテレビ受像機やセットトップボックスなどである。
【０００９】
＜暗号化装置＞
図２は暗号化装置１０１の機能を示すブロック図である。各機能はＣＰＵが記憶装置に記憶されているプログラムを実行することで実現されてもよいし、ＡＳＩＣなどのハードウエアによって実現されてもよい。分割部２０１は暗号化対象の情報を一連の複数のセクションに分割する分割手段である。第一鍵生成部２０２は、第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して各セクションを暗号化する暗号鍵を生成する第一生成手段である。ユーザ管理部２０３は、各ユーザの契約情報を保持しており、契約情報に応じて各ユーザに送信する鍵を指定するユニットである。暗号化部２０４は第一鍵生成部２０２により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する暗号化手段である。送信部２０５は暗号化部２０４により暗号化されたセクションを送信する送信手段である。なお、送信部２０５は復号装置１０３に復号を許可されているセクションを復号するための暗号鍵を復号装置１０３で生成するために使用される第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを初期鍵として送信する。このように暗号鍵（セクションごとのコンテンツ鍵を生成するために使用されるビット列）は複数の要素鍵から生成される。
【００１０】
＜復号装置＞
図３は復号装置１０３の機能を示すブロック図である。各機能はＣＰＵが記憶装置に記憶されているプログラムを実行することで実現されてもよいし、ＡＳＩＣなどのハードウエアによって実現されてもよい。受信部３０１は、暗号化部２０４により暗号化されたセクションを受信する受信手段である。受信部３０１は、初期鍵として、第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵も受信する。復号装置１０３に復号を許可されているセクションを復号するための暗号鍵は、第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とに基づき復号装置１０３で生成される。第二鍵生成部３０２は、受信部３０１により受信された第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とのそれぞれを使用して暗号鍵を生成する第二生成手段である。たとえば、第二鍵生成部３０２は、復号装置１０３に復号を許可されているセクションの位置に応じた回数のハッシュ演算を施して生成した要素鍵に基づいて当該セクションを復号するための暗号鍵を生成する。復号部３０３は、受信部３０１により受信されたセクションのうち復号装置１０３に復号を許可されているセクションを、第二鍵生成部３０２により生成された暗号鍵で復号する復号手段である。
【００１１】
＜鍵生成手法＞
図４（Ａ）ないし図４（Ｄ）を用いてセクションと暗号鍵（コンテンツ鍵）との関係を説明する。図４（Ａ）はセクションごとに異なるコンテンツ鍵を用いて暗号化と復号とが実行されることを示している。この暗号化方式ではセクションの数と同じ数のコンテンツ鍵が必要となってしまう。たとえば、１０００個のセクションがあれば、１０００個の鍵が必要になってしまい、鍵の配布と管理に負荷がかかる。
【００１２】
図４（Ｂ）は復号装置１０３に一つのコンテンツ鍵を送信することで、先頭のセクションから途中のセクションまでを復号可能にする暗号化方式を示している。この暗号化方式ではハッシュチェインが利用されている。ハッシュチェインでは、初期鍵に対して複数回にわたりハッシュ関数を適用することで複数の要素鍵が生成される。初期鍵とは復号装置１０３に渡される暗号鍵である。図４（Ｂ）ではユーザにセクション１からセクション３までを視聴許可するために、初期鍵としてＨ２（Ｋ１）が供給される。ここでＨはハッシュ関数であり、次のように定義される。Ｋ１はハッシュ関数を用いずに決定されたオリジナルの鍵である。
Ｈｎ（ｘ）＝ｘ                          ｎ＝０の場合
Ｈｎ（ｘ）＝Ｈ（Ｈｎ−１（ｘ））        ｎ≠０の場合
ハッシュ関数Ｈは一方向性の関数であるため、Ｈｎ−１（ｘ））からＨｎ（ｘ）を生成できるものの、Ｈｎ（ｘ）からＨｎ−１（ｘ））を生成することができない。図４（Ｂ）によれば、セクション３のコンテンツ鍵であるＨ２（Ｋ１）に対してハッシュ関数Ｈを適用することで、セクション２のための鍵であるＨ３（Ｋ１）が生成される。同様に、セクション２のコンテンツ鍵であるＨ３（Ｋ１）に対してハッシュ関数Ｈを適用することで、セクション１のための鍵であるＨ４（Ｋ１）が生成される。これは、セクション３のコンテンツ鍵であるＨ２（Ｋ１）に対してハッシュ関数Ｈを２回適用した結果と同じである。このようにハッシュチェインを利用することで、一つのコンテンツ鍵から複数のコンテンツ鍵が得られるようになる。なお、コンテンツ鍵Ｋ１ないしＨｎ（Ｋ１）は第一のハッシュチェインに属する暗号鍵である。図４（Ｂ）においてはセクションの番号ｍとハッシュ関数の適用回数ｎとが反比例している。つまり、ｎ＝Ｎ−ｍが成立する。ここで、Ｎはセクションの総数である。
【００１３】
図４（Ｃ）はハッシュチェインを用いる他の暗号化方式を示している。この暗号化方式ではハッシュチェインが利用されている。この例では、途中セクションであるセクション４の暗号鍵Ｈ３（Ｋ２）を初期鍵として渡すことで、セクション４から末尾セクションであるセクション５までがユーザに視聴許可される。復号装置１０３は、初期鍵に対してハッシュ関数を適用することで、セクション４から末尾セクションまでのすべてのセクションのコンテンツ鍵を生成できる。図４（Ｃ）においてはセクションの番号ｍとハッシュ関数の適用回数ｎとが比例している。つまり、ｎ＝ｍ−１が成立する。
【００１４】
このように図４（Ｂ）では途中セクションのためのコンテンツ鍵を復号装置１０３に提供することで、復号装置１０３は先頭セクションから途中セクションまでの全てのセクションについてコンテンツ鍵を入手できてしまう。つまり、ある途中セクションから別の途中セクションまでにある所定範囲だけをユーザに視聴させることができない。同様に、図４（Ｃ）では途中セクションのためのコンテンツ鍵を復号装置１０３に提供することで、復号装置１０３は途中セクションから末尾セクションまでの全てのセクションについてコンテンツ鍵を入手できてしまう。つまり、ある途中セクションから別の途中セクションまでの所定範囲だけをユーザに視聴させることができない。このように図４（Ｂ）や図４（Ｃ）に示す暗号化方式では復号装置１０３に提供する暗号鍵の数を削減できるようになるものの、視聴制御の観点からは柔軟性に欠ける。
【００１５】
図４（Ｄ）はある途中のセクションから別の途中のセクションまでを復号装置１０３に復号可能とする暗号化方式を示している。図４（Ｄ）においてｆは２変数関数である。たとえば、ｆ（ｘ，ｙ）＝ｘ||ｙであってもよい。なお、演算記号||はビット列ｘとビット列ｙをそのまま連結することを意味する演算記号である。さらに、関数ｆ（ｘ，ｙ）にハッシュ関数等の一方向性の関数が用いられてもよい。これは、コンテンツ鍵から初期鍵または要素鍵を導出することを困難にすることが必要な場合には、望ましいだろう。
【００１６】
図４（Ｄ）においては、初期鍵としてＨ（Ｋ１）とＨ（Ｋ２）とを復号装置１０３に渡すことで、セクション２からセクション３までのコンテンツ鍵を生成して復号することが可能となる。復号装置１０３はＨ（Ｋ１）からＨ２（Ｋ１）とＨ３（Ｋ１）を順次作成するとともに、Ｈ（Ｋ２）からＨ２（Ｋ２）とＨ３（Ｋ２）を順次作成する。さらに、復号装置１０３はＨ（Ｋ２）とＨ３（Ｋ１）を連結し、連結結果を関数ｆに代入してコンテンツ鍵ｆ（Ｈ３（Ｋ１）、Ｈ（Ｋ２））を生成する。同様に、復号装置１０３はコンテンツ鍵ｆ（Ｈ２（Ｋ１）、Ｈ２（Ｋ２））とコンテンツ鍵ｆ（Ｈ（Ｋ１）、Ｈ３（Ｋ２））を生成する。これにより復号装置１０３は途中セクションであるセクション２から別の途中セクションであるセクション４までを復号可能となる。
【００１７】
＜暗号化装置が実行する暗号化処理＞
図５を用いて暗号化処理について説明する。Ｓ５０１で暗号化装置１０１の分割部２０１は、暗号化対象の情報（動画や音楽などのコンテンツ）を一連の複数（Ｎ個）のセクションに分割する。各セクションの長さは固定長であってもよいし、可変長であってもよい。たとえば、分割部２０１は動画のシーン検出を実行し、各シーンごとにセクションを生成してもよい。ここでは、分割部２０１は、暗号化対象の情報をＮ個のセクションに分割するものとする。
【００１８】
Ｓ５０２で第一鍵生成部２０２は各セクションを暗号化するための暗号鍵を生成する。図４を用いて説明したように、第一鍵生成部２０２は初期鍵に対して一連の複数のセクションにおける各セクションの位置に応じた回数のハッシュ演算を適用することで各セクションの暗号鍵を生成するために使用される第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを生成する。さらに、第一鍵生成部２０２は第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して各セクションを暗号化する暗号鍵を生成する。たとえば、第一鍵生成部２０２はｉ番目のセクションを暗号化するための暗号鍵を関数ｆ（ＨＮ−ｉ（Ｋ１），Ｈｉ−１（Ｋ２），）で生成する。ここで、ｉは１からＮまでの整数である。Ｎはセクションの総数である。上述したように、要素鍵ＨＮ−ｉ（Ｋ１）は第一のハッシュチェインにおける初期鍵Ｋ１に対してハッシュ関数ＨをＮ−ｉ回適用して得られる要素鍵である。また、要素鍵Ｈｉ−１（Ｋ２）は第二のハッシュチェインにおける初期鍵Ｋ２に対してハッシュ関数Ｈをｉ−１回適用して得られる要素鍵である。
【００１９】
Ｓ５０３で暗号化部２０４は第一鍵生成部２０２により生成されたそれぞれ異なる暗号鍵で各セクションを暗号化する。たとえば、暗号化部２０４は暗号鍵ｆ（ＨＮ−ｉ（Ｋ１），Ｈｉ−１（Ｋ２），）でｉ番目のセクションを暗号化する。このようにして１番目のセクションからＮ番目のセクションまでがそれぞれ異なる暗号鍵で暗号化される。
【００２０】
Ｓ５０４で送信部２０５は復号装置１０３に復号を許可されているセクションを復号するために必要となる第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを初期鍵として復号装置１０３に送信する。送信された第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵は、許可されているセクションを復号するために必要となる暗号鍵を生成するために復号装置１０３において使用される初期鍵である。送信部２０５はユーザ管理部２０３からユーザ（復号装置１０３）に復号が許可されているセクションの番号を取得する。ここでは、ｊ番目のセクションからｋ番目のセクションが復号許可されているものと仮定する。ｊ、ｋは１＜ｊ＜ｋ＜Ｎを満たす整数である。この場合、送信部２０５は暗号化されたｊ番目のセクションからｋ番目のセクションを復号装置１０３に復号させるために、第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）を初期鍵として復号装置１０３に送信する。なお、送信部２０５は、各ユーザに復号を許可されているセクションの番号を復号装置１０３に送信してもよい。
【００２１】
他の実施例において、送信部２０５は、復号装置１０３における鍵生成の時間を短縮するために第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）を補助鍵としてさらに復号装置１０３に送信してもよい。ここでｍはｊより大きく、かつ、ｋより小さい整数である。
【００２２】
Ｓ５０５で送信部２０５は暗号化されたセクションを復号装置１０３に送信する。Ｓ５０１ないしＳ５０５までの実行順序は論理的に矛盾が生じしない限り、入れ替えることが可能である。
【００２３】
＜復号装置が実行する復号処理＞
図６を用いて復号処理について説明する。Ｓ６０１で受信部３０１は初期鍵を受信する。初期鍵とは、復号装置１０３に復号を許可されているセクションを復号するための暗号鍵を生成するために必要となる第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵である。たとえば、受信部３０１は、暗号化部２０４により暗号化されたｊ番目のセクションからｋ番目のセクションを復号するために、第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）を受信する。なお、受信部３０１は、第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）を補助鍵として受信してもよい（ｍはｊより大きく、かつ、ｋより小さい整数）。
【００２４】
Ｓ６０２で受信部３０１は暗号化部２０４により暗号化されたセクションを受信する。ここで受信されるセクションには、復号可能なものと復号不可能なものとが含まれうる。
【００２５】
Ｓ６０３で復号部３０３は受信したセクションを復号可能かどうかを判定する。たとえば、受信部３０１は復号可能なセクションの番号を特定可能な情報（ｊ、ｋ）を予め暗号化装置１０１から受信しているものとする。また、各セクションのヘッダにはセクション番号が付与されているものとする。なお、セクションの総数を示す情報（Ｎ）も暗号化装置１０１から復号装置１０３に送信される。復号部３０３はヘッダから取得したセクション番号と、事前に受信した許可セクションを示す情報とを比較することで、受信したセクションを復号可能かどうかを判定する。たとえば、許可セクションを示す情報がｊ、ｋであれば、復号部３０３はｊ番目のセクションからｋ番目のセクションまでを復号可能と判定する。復号可能なセクションが存在しない場合、復号装置１０３は本処理を終了する。一方、復号可能なセクションが存在する場合、復号装置１０３はＳ６０４に進む。
【００２６】
Ｓ６０４で第二鍵生成部３０２は初期鍵として受信部３０１により受信された第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とのそれぞれに、復号装置１０３に復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成するための要素鍵を生成する。たとえば、第二鍵生成部３０２は、受信部３０１により受信された第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とをそれぞれ初期鍵として使用して、一連の複数のセクションにおける各セクションの位置に応じた回数のハッシュ演算を適用することで各セクションの暗号鍵を生成するために使用される第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを順次生成する。たとえば、第二鍵生成部３０２は、暗号化部２０４により暗号化されたｉ番目のセクションを復号するための暗号鍵を関数ｆ（ＨＮ−ｉ（Ｋ１），Ｈｉ−１（Ｋ２），）で生成する。ｉは、１からＮまでのいずれかの整数である。Ｎはセクションの総数である。ここでＨＮ−ｉ（Ｋ１）は第一のハッシュチェインにおける初期鍵Ｋ１に対してハッシュ関数ＨをＮ−ｉ回適用して得られる要素鍵である。Ｈｉ−１（Ｋ２）は第二のハッシュチェインにおける初期鍵Ｋ２に対してハッシュ関数Ｈをｉ−１回適用して得られる要素鍵である。たとえば、ｊ番目のセクションからｋ番目のセクションを復号する場合、第二鍵生成部３０２は、受信部３０１により受信された第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）とに対してそれぞれ各セクションの位置に応じた回数のハッシュ演算を適用することで各セクションの要素鍵を生成し、その要素鍵から暗号鍵を生成する。なお、受信部３０１が、第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）を補助鍵として受信することがある。この場合、第二鍵生成部３０２は、ｊ番目のセクションからｍ−１番目のセクションまでの暗号鍵を生成するための要素鍵を第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）とにセクションの位置に応じた回数のハッシュ演算を施すことで生成し、ｍ番目のセクションの暗号鍵を生成するための要素鍵を第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）にセクションの位置に応じた回数のハッシュ演算を施すことで生成し、ｍ＋１番目のセクションからｋ番目のセクションまでの暗号鍵を生成するための要素鍵を第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）にセクションの位置に応じた回数のハッシュ演算を施すことで生成する。
【００２７】
Ｓ６０５で復号部３０３は受信部３０１により受信されたセクションのうち復号装置１０３に復号を許可されているセクションを、第二鍵生成部３０２により生成された暗号鍵で復号する。出力部３０４は復号されたセクションを表示装置は音声出力装置に出力する。たとえば、復号部３０３は、第二鍵生成部３０２により生成された各セクションの暗号鍵を用いてｊ番目のセクションからｋ番目のセクションまでの各セクションを復号する。
【００２８】
＜まとめ＞
以上で説明したように本実施例によれば、暗号化装置１０１は、第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを入力して各セクションを暗号化する暗号鍵を生成し、それぞれ異なる暗号鍵で各セクションを暗号化して送信する。さらに、暗号化装置１０１は、第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とを送信する。これらの要素鍵は復号装置１０３に復号を許可されているセクションを復号するために必要となる初期鍵である。復号装置１０３は、受信部３０１により受信された第一のハッシュチェインに属する要素鍵と第二のハッシュチェインに属する要素鍵とのそれぞれに、復号装置１０３に復号を許可されているセクションの位置に応じた回数のハッシュ演算を施すことで当該セクションを復号するための暗号鍵を生成するための要素鍵を生成し、要素鍵から生成された暗号鍵でセクションを復号する。これにより、コンテンツを構成する複数のセクションの復号に関する自由度が向上し、かつ、鍵の数も削減可能な鍵の配布技術を提供される。図４（Ａ）に示した暗号化方式では許可されたセクションの数と同数の鍵が必要となってしまう。たとえば、１０００このセクションがあれば、１０００個の鍵が必要となってしまう。それに対して本実施例では少なくとも２つの鍵があればセクションを復号可能となる。図４（Ｄ）を用いて説明したように復号装置１０３はある途中セクションから別の途中セクションまでを復号でき、他のセクションについては復号ができない。したがって、本実施例では、複数のセクションの復号に関する自由度が向上する。つまり、ユーザは先頭セクションから末尾セクションまでに存在する所定範囲（許可されている連続した複数の途中セクション）を視聴可能となる。たとえば、コンテンツの契約者には要素鍵Ｋ１、Ｋ２を提供することで全セクションが視聴可能となる。コンテンツの未契約者には第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）とを提供することでｊ番目からｋ番目までの途中セクションのみが視聴可能となる。なお、暗号化装置１０１も初期鍵Ｋ１とＫ２とからすべてのセクションの暗号鍵を生成できる。
【００２９】
なお、補助鍵を導入することで、すべての暗号鍵を導出する時間が短縮されてもよい。たとえば、第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）が補助鍵とされる（ｍはｊより大きく、かつ、ｋより小さい整数）。この場合、第二鍵生成部３０２は、ｊ番目のセクションからｍ−１番目のセクションまでの暗号鍵を生成する要素鍵を第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｊ−１（Ｋ２）とにセクションの位置に応じた回数のハッシュ演算を施すことで生成する。さらに、第二鍵生成部３０２は、ｍ番目のセクションの暗号鍵を生成する要素鍵を第一のハッシュチェインに属する要素鍵ＨＮ−ｍ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）にセクションの位置に応じた回数のハッシュ演算を施すことで生成する。さらに、第二鍵生成部３０２は、ｍ＋１番目のセクションからｋ番目のセクションまでの暗号鍵を生成する要素鍵を第一のハッシュチェインに属する要素鍵ＨＮ−ｋ（Ｋ１）と第二のハッシュチェインに属する要素鍵Ｈｍ−１（Ｋ２）にセクションの位置に応じた回数のハッシュ演算を施すことで生成する。これらの生成は一部で並列して実行可能であるため、トータルでの鍵生成時間が短縮される。
【図１】
2017103732.tif 000003
【図２】
2017103732.tif 000004
【図３】
2017103732.tif 000005
【図４】
2017103732.tif 000006
【図５】
2017103732.tif 000007
【図６】
2017103732.tif 000008