JP2008113203A - 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム - Google Patents

鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム Download PDF

Info

Publication number
JP2008113203A
JP2008113203A JP2006294647A JP2006294647A JP2008113203A JP 2008113203 A JP2008113203 A JP 2008113203A JP 2006294647 A JP2006294647 A JP 2006294647A JP 2006294647 A JP2006294647 A JP 2006294647A JP 2008113203 A JP2008113203 A JP 2008113203A
Authority
JP
Japan
Prior art keywords
key
leaf
unit
node
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006294647A
Other languages
English (en)
Other versions
JP2008113203A5 (ja
Inventor
Masafumi Kusakawa
雅文 草川
Tomoyuki Asano
智之 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006294647A priority Critical patent/JP2008113203A/ja
Publication of JP2008113203A publication Critical patent/JP2008113203A/ja
Publication of JP2008113203A5 publication Critical patent/JP2008113203A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】各契約者が保持する個人秘密鍵のサイズを削減することができ、センタや契約者が自由にコンテンツ配信を実施することが可能な、鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラムを提供する。
【解決手段】本発明に係る鍵生成装置は、n個の受信装置がリーフに割り当てられたY分木構造を階層的に構成するとともに、Y分木構造を用いてn個の受信装置をグループ化する第1の方式と、受信装置をB個(B>Y)ずつにグループ化する方式とを切り替えて用いる第2の方式という、2つの共通鍵方式を用いて、暗号鍵を生成する。共通鍵方式を用いた上記第1の方式および第2の方式は、暗号鍵生成において共通のパラメータを使用するため、各受信装置が保持する個人秘密鍵のサイズを削減することができ、また、センタや契約者が自由にコンテンツ配信を実施することが可能である。
【選択図】図1

Description

本発明は、鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラムに関する。
近年、パーソナルコンピュータ(PC)のみならず、携帯電話やディジタル家電等の普及、発達に伴い、音楽や映像等のコンテンツ配信ビジネスが益々重要になってきている。コンテンツ配信ビジネスとしては、例えば、ケーブルテレビや衛星放送、またはインターネットを利用した有料放送や、CD、DVD等の物理メディアを利用したコンテンツの販売等があるが、いずれの場合においても、契約者のみがコンテンツを取得可能となる仕組みを構成する必要がある。
通常、このようなコンテンツ配信システムでは、システムの管理者(以下、センタと表記する。)が予め契約者のみに鍵を提供しておき、コンテンツの配信時には、コンテンツMをセッション鍵sで暗号化した暗号文Cと、契約者のみがセッション鍵sを取得可能とするためのヘッダhを配信することにより、契約者のみがコンテンツMを取得可能となる。
上記のような状況を実現するコンテンツ配信方式として、例えば公開鍵を利用した方式がある(例えば、非特許文献1参照。)。
しかし、上記の非特許文献1に記載の方法では、排除される契約者数が少ない場合であっても常に一定サイズのヘッダhを配信する必要があるため、排除される契約者数がいない、もしくは全体に対して占める割合が少ない、というような現実的に最も起こりうるような状況において、ヘッダサイズを削減することができず、コンテンツ配信時におけるデータの冗長性が高くなるという問題点が存在する。
そこで、上記非特許文献1では、コンテンツ配信システムとして、あらかじめSubset Difference Method(例えば、非特許文献2参照。以降、SDMという。)と呼ばれる共通鍵を利用したコンテンツ配信システム用の鍵と、非特許文献1の方式における鍵を準備しておき、排除される契約者が存在しない、もしくは少ない場合には、コンテンツ配信システムとしてSDMを利用し、契約者が増加してきた場合には、非特許文献1の方式を利用することによって、ヘッダサイズの削減を図ることを試みている。
D.Boneh,C.Gentry,B.Waters,"Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys",CRYPTO’05,Proceedings of 25th Annual International Cryptology Conference on Advances in Cryptology,London,UK,Springer Verlag,2005,pp.58〜75. D.Naor,M.Naor,J.Lotspiech,"Revocation and Tracing Schemes for Stateless Receivers",CRYPTO’01,Proceedings of 21st Annual International Cryptology Conference on Advances in Cryptology, London,UK,Springer Verlag,2001,pp.41−62.
しかしながら、上記の非特許文献1に記載の方法では、各契約者はSDM用の鍵と非特許文献1の方式用の鍵を保持する必要があり、各契約者が保持する個人秘密鍵のサイズが非常に大きなものとなるという問題点が存在した。また、非特許文献1は公開鍵を利用した方式であり、任意のentityが配信者としてコンテンツを配信することが可能であったにも関わらず、共通鍵を利用した方法であるSDM利用時には、センタしかコンテンツを配信できないという問題点が存在した。
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、各契約者が保持する個人秘密鍵のサイズを削減することができ、センタや契約者が自由にコンテンツ配信を実施することが可能な、新規かつ改良された鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラムを提供することにある。
上記課題を解決するために、本発明の第1の観点によれば、相異なる暗号鍵をそれぞれ生成する第1処理部および第2処理部を備える、鍵生成装置であって、第1処理部は、n個の受信装置がリーフに割り当てられ、高さが(logn)で表されるY分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成する、木構造構成部と、リーフおよび中間ノードそれぞれに対して、リーフキーgを割り当てる第1リーフキー割当部と、中間ノードおよびルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当てるパラメータ割当部と、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνx,yおよびノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第1鍵算出部と、を備え、第2処理部は、n個の受信装置を、Y以上の整数Bに基づいてグループ化し、受信装置の暗号鍵を算出する鍵生成装置が提供される。
上記の鍵生成装置は、第1処理部または第2処理部により算出された鍵セットを、各受信装置にそれぞれ配布する配布部を、更に備えるように構成してもよい。
上記の鍵生成装置は、素数pを無作為に選択し、素数pを位数とする双線形群Gを決定し、Gの生成元であるgを無作為に選択する双線形群決定部を更に備え、上記のパラメータ割当部は、リーフを除く全てのノードそれぞれに、ノードパラメータγx,y(γx,yは整数)を無作為に選択し、生成元gおよびノードパラメータγx,yに基づき、以下の式Aを用いて中間ノードおよびルートに対してパラメータνx,yを割り当てるように構成してもよい。
Figure 2008113203
上記の第1処理部は、秘密の乱数α(αは整数)を無作為に選択する第1乱数決定部を更に備え、上記の第1リーフキー割当部は、以下の式Bで表されるリーフキーg(y=1,2,・・・,Y,Y+2,・・・,2Y)を算出し、上記の第1鍵算出部は、中間ノードまたはリーフに割り当てられたリーフキーgの、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータγx,y乗で得られる値を、秘密鍵としてもよい。すなわち、中間ノードまたはリーフに割り当てられたリーフキーgをKと略記し、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータγx,yをTと略記する場合に、Kで得られる値を、秘密鍵としてもよい。
Figure 2008113203
上記の第2処理部は、秘密の乱数α’(α’は整数)を無作為に選択する第2乱数決定部と、リーフに対して、リーフキーg (b=1,2,・・・,B)を割り当てる第2リーフキー割当部と、リーフキーg に基づき、各受信装置の暗号鍵を算出する第2鍵算出部と、を備え、上記の第2リーフキー割当部は、第2乱数決定部で決定された乱数α’に基づいて、以下の式Cで表されるg (b=1,2,・・・,B,B+2,・・・,2B)を算出するように構成してもよい。
Figure 2008113203
上記の配布部は、第1処理部において得られた第1の秘密鍵および第2処理部において得られた第2の秘密鍵の双方を各受信装置に送信する送信部を、更に備えてもよい。
上記課題を解決するために、本発明の第2の観点によれば、n個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する排除受信装置特定部を備える暗号化装置が提供される。
上記の暗号化装置は、排除される受信装置の個数rが、以下の式Dを満たすか否かを判定し、排除される受信装置の個数rが上記式Dを満たす場合には、第2処理部によって生成された鍵を利用してセッション鍵を生成する、第2セッション鍵決定部を選択し、排除される受信装置の個数rが上記式Dを満たさない場合には、第1処理部によって生成された鍵を利用してセッション鍵を生成する、第1セッション鍵決定部を選択する、セッション鍵選択部を更に備えるように構成してもよい。
Figure 2008113203
上記の第1セッション鍵決定部は、t(tは整数)を無作為に選択して、セッション鍵s=e(g,gを決定してもよい。
ここで、上記のe(g,g)は、双線形群上の2つの元g、gに対する双線形写像を示す。
上記の第1セッション鍵決定部は、階層化された木構造において、排除された受信装置のリーフからルートに至るパス上に存在する全てのノードそれぞれにマークをし、マークされたノードに割り当てられたパラメータνx,yと、マークされたノードを親ノードとする中間ノードに割り当てられたリーフキーgとを用いて、以下の式Eで表される第1ヘッダ要素cx,yを算出する、第1ヘッダ要素算出部と、第1ヘッダ要素算出部において得られたcx,yと、gと、をヘッダ情報とする第1ヘッダ情報生成部と、を更に備えてもよい。
Figure 2008113203
ここで、上記式中のSx,yは、マークされたノードを親ノードとする各サブグループに所属する、マークされていない子ノードの集合を示す。
上記の第2セッション鍵決定部は、t(tは整数)を無作為に選択して、セッション鍵s=e(g,gを決定してもよい。
第2セッション鍵決定部は、リーフの親ノードを子ノードとする中間ノードに割り当てられたパラメータνx,yと、リーフに割り当てられたリーフキーg と、を用いて、以下の式Fで表される第2ヘッダ要素を算出する、第2ヘッダ要素算出部と、第2ヘッダ要素算出部において得られた第2ヘッダ要素cと、gと、をヘッダ情報とする第2ヘッダ情報生成部と、を更に備えてもよい。
Figure 2008113203
上記の暗号化装置は、第1セッション鍵決定部によるセッション鍵s、または、第2セッション鍵決定部によるセッション鍵sのいずれかを用いて、配信するコンテンツを暗号化する暗号化部を更に備えるように構成してもよい。
上記課題を解決するために、本発明の第3の観点によれば、鍵生成装置および暗号化装置と通信可能な受信装置であって、上記の鍵生成装置において、n個の受信装置がリーフに割り当てられ、高さが(logn)で表されるY分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成し、リーフおよび中間ノードそれぞれに対して、リーフキーgを割り当て、中間ノードおよびルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当て、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνx,yおよびノードパラメータγx,yに基づいて算出された暗号鍵と、n個の受信装置を、Y以上の整数Bに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信部を備えることを特徴とする受信装置が提供される。
上記の受信部は、排除する受信装置が特定された情報である、排除されていない受信装置の集合Sに関する情報を更に受信してもよい。
上記の受信装置は、排除されていない受信装置の集合Sから排除される受信装置の個数rを算出し、排除される受信装置の個数rが、下記の式Gを満たすか否かを判定する、復号方式選択部を更に備え、上記の復号方式選択部は、排除される受信装置の個数rが式Gを満たす場合には、第2復号処理部を選択し、排除される受信装置の個数rが式Gを満たさない場合には、第1復号処理部を選択するようにしてもよい。
Figure 2008113203
上記の第1復号処理部は、受信装置が集合Sに含まれているか否かを判定する判定部と、秘密鍵に基づき、セッション鍵sを算出する、第1セッション鍵算出部と、を備え、上記判定部において、受信装置が前記集合Sに含まれていると判断された場合、第1セッション鍵算出部は、セッション鍵sを、以下の式Hにより算出することで、暗号化コンテンツを復号化してもよい。
Figure 2008113203
上記の第2復号処理部は、受信装置が前記集合Sに含まれているか否かを判定する判定部と、秘密鍵に基づき、セッション鍵sを算出する、第2セッション鍵算出部と、を備え、上記判定部において、受信装置が集合Sに含まれていると判断された場合、第2セッション鍵算出部は、セッション鍵sを、以下の式Iにより算出することで、暗号化コンテンツを復号化してもよい。
Figure 2008113203
上記課題を解決するために、本発明の第4の観点によれば、n個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成する、木構造構成ステップと、リーフおよび中間ノードそれぞれに対して、リーフキーgを割り当てる第1リーフキー割当ステップと、中間ノードおよびルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当てるパラメータ割当ステップと、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνx,yおよび前記ノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第1鍵算出ステップと、n個の受信装置を、Y以上の整数Bに基づいてグループ化し、受信装置の暗号鍵を算出する第2鍵算出ステップと、を備えることを特徴とする、鍵作成方法が提供される。
上記課題を解決するために、本発明の第5の観点によれば、n個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する排除受信装置特定ステップを備える暗号化方法が提供される。
上記課題を解決するために、本発明の第6の観点によれば、n個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成し、リーフおよび中間ノードそれぞれに対して、リーフキーgを割り当て、中間ノードおよびルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当て、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνx,yおよびノードパラメータγx,yに基づいて算出された暗号鍵と、n個の受信装置を、Y以上の整数Bに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信ステップを備えることを特徴とする、鍵処理方法が提供される。
上記課題を解決するために、本発明の第7の観点によれば、コンピュータに、n個の受信装置がリーフに割り当てられ、高さが(logn)で表されるY分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成する、木構造構成機能と、リーフおよび中間ノードそれぞれに対して、リーフキーgを割り当てる第1リーフキー割当機能と、中間ノードおよびルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当てるパラメータ割当機能と、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνx,yおよびノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第1鍵算出機能と、n個の受信装置を、Y以上の整数Bに基づいてグループ化し、受信装置の暗号鍵を算出する第2鍵算出機能と、を実現させるためのプログラムが提供される。
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、そのコンピュータを上記の鍵生成装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
上記課題を解決するために、本発明の第8の観点によれば、コンピュータに、n個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する排除受信装置特定機能を実現させるためのプログラムが提供される。
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、そのコンピュータを上記の暗号化装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
上記課題を解決するために、本発明の第9の観点によれば、コンピュータに、n個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成し、リーフおよび中間ノードそれぞれに対して、リーフキーgを割り当て、中間ノードおよびルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当て、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνx,yおよびノードパラメータγx,yに基づいて算出された暗号鍵と、n個の受信装置を、Y以上の整数Bに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信機能を実現させるためのプログラムが提供される。
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、そのコンピュータを上記の受信装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
本発明によれば、各契約者が保持する個人秘密鍵のサイズを削減することができ、センタや契約者が自由にコンテンツ配信を実施することが可能である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
以下に、本発明の第1の実施形態に係る暗号鍵配信システムについて、詳細に説明する。
図1は、本実施形態に係る暗号鍵配信システム10を示した説明図である。暗号鍵配信システム10は、例えば、通信網12と、鍵生成装置20と、暗号化装置30と、受信装置40Aと、受信装置40Bと、を含む。
通信網12は、鍵生成装置20、暗号化装置30および受信装置40を双方向通信又は一方向通信可能に接続する通信回線網である。この通信網は、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、WAN(Wide Area Network)、LAN(Local Area Network)、IP−VPN(Internet Protocol−Virtual Private Network)、ワイヤレスLAN等の専用回線網などで構成されており、有線/無線を問わない。
鍵生成装置20は、公開鍵と、複数の受信装置それぞれに固有の秘密鍵とを生成し、公開鍵を公開するとともに、各受信装置に対して、安全な通信路を介して、それぞれの秘密鍵を配信する。なお、この鍵生成装置20は、公開鍵および秘密鍵の生成・管理を行うセンタが所有する。
暗号化装置30は、鍵生成装置20によって生成および公開された公開鍵を用いて、任意のコンテンツを暗号化し、通信網12を介して、各受信装置に配信する。この暗号化装置30は、任意の第三者が所有することが可能であり、また、鍵生成装置20の所有者や、受信装置40の所有者が所有することも可能である。
受信装置40は、暗号化装置30から配信された暗号化されたコンテンツを、固有の秘密鍵によって復号化して利用することが可能である。なお、受信装置40Aと受信装置40Bとは、通信網12または有線を介して互いに接続可能である。なお、この受信装置40は、各契約者によって所有されるものである。
なお、図示の例では、受信装置40として、パーソナルコンピュータ(Personal Computer:PC)等のコンピュータ装置(ノート型、デスクトップ型を問わない。)を示しているが、かかる例に限定されず、ネットワークを介した通信機能を有する機器であれば、例えばPDA(Personal Digital Assistant)、家庭用ゲーム機、DVD/HDDレコーダ、テレビジョン受像器等の情報家電、テレビジョン放送用のチューナやデコーダなどで構成することもできる。また、受信装置40は、契約者が持ち運びできるポータブルデバイス(Portabale Device)、例えば、携帯型ゲーム機、携帯電話、携帯型映像/音声プレーヤ、PDA、PHSなどであってもよい。
次に、本実施形態に係る鍵生成装置20のハードウェア構成について、図2を参照しながら簡単に説明する。
図2は、鍵生成装置20のハードウェア構成を示したブロック図である。鍵生成装置20は、例えば、CPU(Central Processing Unit)201と、ROM(Read Only Memory)203と、RAM(Random Access Memory)205と、HDD(Hard Disk Drive)207と、暗号処理部209と、メモリ(セキュアモジュール)211とを備える。
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従って鍵生成装置20内の動作全般を制御する。ROM203は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM205は、CPU201の実行において使用するプログラムや、このプログラムの実行において適宜変化するパラメータ等を、一次記憶する。
HDD207は、本実施形態に係る鍵生成装置20の記憶部の一例として構成されたデータ格納用の装置である。このHDD207は、ハードディスクを駆動し、CPU201が実行するプログラムや各種データを格納する。暗号処理部209は、本実施形態に係る鍵生成装置20がCPU201の制御のもとで実行する各種の暗号処理を実行する。メモリ(セキュアモジュール)211は、主に、個人秘密鍵や、センタ秘密である乱数等の秘匿が必要な情報を安全に格納するが、このメモリ211の内部に格納された情報は、外部から参照することができないという特徴がある。また、メモリ(セキュアモジュール)211は、例えば、耐タンパ性を有する記憶装置により構成されていてもよい。なお、セキュアモジュールはメモリである旨の記載をしているが、本発明に係るセキュアモジュールは、メモリに限定されるわけではなく、例えば、磁気ディスク、光ディスク、光磁気ディスクであってもよく、また、半導体メモリ等の記憶媒体であってもよい。
上記のCPU201、ROM203、RAM205、HDD207、暗号処理部209、および、メモリ211は、CPUバス等から構成されるバス213により、相互に接続されている。
バス213は、ブリッジを介して、PCI(Peripheral Component Interconnect/Interface)バスなどの入出力インターフェース215に接続されている。
入力部217は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバー等のユーザが操作する操作手段と、使用者による操作に基づいて入力信号を生成し、CPU201に出力する入力制御回路等から構成されている。鍵生成装置20の使用者は、この入力部217を操作することにより、鍵生成装置20に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力部219は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置およびランプ等の表示装置と、スピーカおよびヘッドホン等の音声出力装置等で構成される。出力部219は、例えば、再生されたコンテンツを出力することが可能である。具体的には、表示装置は、再生された映像データ等の各種情報を、テキストまたはイメージで表示する。一方、音声出力装置は、再生された音楽データ等を音声に変換して出力する。
通信部221は、例えば、通信網12に接続するための通信デバイス等で構成された通信インターフェースである。この通信部221は、例えば暗号化装置30や受信装置40A、40Bとの間で、通信網12を介して、暗号鍵に関する情報や、コンテンツ情報等といった、各種データを送受信する。
ドライブ223は、記憶媒体用リーダライタであり、鍵生成装置20に内蔵、あるいは外付けされる。ドライブ223は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体14に記録されている情報を読み出して、RAM205に出力する。
なお、暗号化装置30および受信装置40のハードウェア構成は、鍵生成装置20のハードウェア構成と実質的に同一であるので、説明を省略する。
以上、本実施形態に係る鍵生成装置20、暗号化装置30および受信装置40の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。また、上記のハードウェア構成は、あくまでも一例であり、これに限定されるものでないことは言うまでもない。例えば、HDD207とメモリ(セキュアモジュール)211とを同一の記憶装置により構成してもよい。また、利用形態によっては、バス213、又は入出力インターフェース215等を省略する構成も可能である。以下、上記のようなハードウェア構成により実現される暗号鍵生成方式について詳述する。
基盤技術に関する説明
まず、本発明に係る好適な実施形態について詳細なる説明をするに先立ち、本実施形態を実現する上で基盤を成す技術的事項について述べる。なお、本実施形態は、以下に記載する基盤技術の上に改良を加えることにより、より顕著な効果を得ることができるように構成されたものである。従って、その改良に係る技術こそが本実施形態の特徴を成す部分である。つまり、本実施形態は、ここで述べる技術的事項の基礎概念を踏襲するが、その本質はむしろ改良部分に集約されており、その構成が明確に相違すると共に、その効果において基盤技術とは一線を画するものであることに注意されたい。
従来の公開鍵を利用したコンテンツ配信方式では、センタがコンテンツ配信システムのシステムパラメータkを決定し、このシステムパラメータkに基づく、k次のセンタ秘密多項式を構成する。その後、このk次の秘密多項式を用いて、公開鍵PKと、契約者iに固有の秘密鍵d(以下、個人秘密鍵と表記する。)とを生成し、公開鍵PKを公開するとともに、安全な通信路を用いて、契約者iに個人秘密鍵dを配布していた。また、コンテンツ配信時には、暗号文Cとヘッダhとを配信するが、ヘッダhは、公開鍵PKを利用して生成されるため、任意の配信者がヘッダhを生成可能となる。この従来の公開鍵を利用したコンテンツ配信方式では、契約者iは、個人秘密鍵d一つのみを保持すればよく、また、公開鍵PKを公開することによって、センタ以外の配信者がコンテンツを配信することが可能となる。
しかしながら、個人秘密鍵を生成するために、セキュリティパラメータであるkに基づいたk次多項式を利用しており、k+1人以上の契約者が結託すると、システムの安全性が保持されなくなるという、結託問題が存在していた。
そこで、上記の非特許文献1では、任意数の契約者が結託してもシステムの安全性が保持されるという、公開鍵コンテンツ配信法を提案している。
Boneh,Gentry,Watersらによる非特許文献1に記載の方式は、個人秘密鍵の生成にk次多項式を利用せず、双線形群と呼ばれる巡回乗法群の一種を利用し、この群における契約者iに固有の要素を、個人秘密鍵dとして提供する。また、ヘッダhの生成および各契約者によるセッション鍵sの取得に、双線形写像と呼ばれる演算を利用することによって、従来の公開鍵を利用したコンテンツ配信システムにおいて大きな問題となっていた結託問題を、解決している。
非特許文献1では、まず基本方式として、契約者集合を一つのグループとして取り扱う方式を示している。以下では、図3を参照しながら、この基本方式について説明する。この基本方式では、センタ51が双線形群の生成元gと、センタ秘密であるαを生成し,これらを用いて契約者i(i=1,・・・,n)に、パラメータ

Figure 2008113203

を割り当てる.
また、契約者55の集合を一つのグループとして扱うためのパラメータν=gγを生成し、これらの生成元gおよびパラメータνとを、公開鍵PK=(g,g,・・・,g,gn+2,・・・,g2n,ν)として公開する。さらに契約者iには、iに割り当てられたパラメータ

Figure 2008113203

を用いて、個人秘密鍵

Figure 2008113203
を、安全な一対一通信路53を介して、予め提供しておく。
配信者は、公開鍵PK=(g,g,・・・,g,gn+2,・・・,g2n,ν)から、排除されていない全ての契約者に割り当てられたパラメータ

Figure 2008113203

と、契約者を一つのグループにまとめるためのパラメータν=gγとから、排除されていない全ての契約者に対応する共通のヘッダ要素を一つ作成し、このヘッダ要素と、セッション鍵生成時に利用される乱数要素と、を含んだヘッダ要素を用いて、ヘッダhを生成し、暗号文Cと共に配信する。
このように、基本方式では、契約者集合を一つのグループとして取り扱い、そのグループに対応するヘッダ要素を構成することにより、ヘッダhの大きさ(以下、ヘッダサイズと表記する。)を最小にしている。
しかしながら、全ての契約者を一つのグループとして取り扱うため、各契約者に各々異なるパラメータg,・・・,gを割り当てる必要がある。そのため、公開鍵サイズが、契約者数の二倍以上の大きさになる。また、各契約者がヘッダhからセッション鍵sを取得する際には、自身を除く排除されていない全契約者に対応するパラメータg,・・・,gの積を計算する必要があるため、契約者の総数であるnの値が非常に大きな値となる場合には、契約者に対する計算量の負担が非常に大きくなる。現実的なコンテンツ配信においては、有料放送やDVD等の物理メディア、インターネット等を通じて、非常に多くの契約者に対してコンテンツを配信する必要があるため、以上のような問題点を考慮すると、基本方式は現実的に利用不可能であるといえる。
上記の問題点を解消する方法として、非特許文献1では、契約者集合を複数のサブグループに分割することにより公開鍵サイズを抑えることが可能となる、一般化方式を提案している。一般化方式では、契約者集合を複数のサブグループに分割し、分割された各サブグループに対して、基本方式同様の処理を行っている。従って,サブグループ毎に異なるヘッダ要素を生成する必要があり、ヘッダサイズは増大するが、公開鍵サイズを抑えることが可能となっている。また、各契約者は、分割されたサブグループに所属する各契約者に割り当てられたパラメータの積を計算する必要があるが、基本方式と比較して、契約者集合がサブグループに分割されているため、計算する必要があるパラメータ数を抑えることが可能となり、基本方式における問題点の解消している。
しかしながら、非特許文献1における一般化方式を利用したとしても、契約者集合の分割数を大きくすると、各契約者におけるコンテンツ復号時の計算量は抑えることが可能となるが、ヘッダサイズが増大してしまい、また、逆に小さくすると、ヘッダサイズは抑えられるものの、計算量が増大するという問題点が存在する。また、排除される契約者数が少ない場合であっても常に一定サイズのヘッダhを配信する必要があるため、排除される契約者数がいない、もしくは全体に対して占める割合が少ない、というような現実的に最も起こりうるような状況において、ヘッダサイズを削減することができず、コンテンツ配信時におけるデータの冗長性が高くなるという問題点が存在する。
そこで、非特許文献1では、上記の一般化方式における問題を回避する方法として、コンテンツ配信システムとして、あらかじめSDMと呼ばれる共通鍵(例えば、非特許文献2参照。)を利用したコンテンツ配信システム用の鍵と、非特許文献1の方式における鍵とを準備しておき、排除される契約者が存在しない、もしくは少ない場合には、コンテンツ配信システムとしてSDMを利用する。また、排除される契約者が増加してきた場合には、非特許文献1の一般化方式を利用することによって、ヘッダサイズの削減を試みている。
以下では、はじめに、非特許文献1に記載の方式とその問題点を説明する上で必要となる記号の定義を示した後に、非特許文献1において排除される契約者数が少ない場合に利用されるSDMの概要と、その問題点に関して説明する。次に、排除される契約者数が増加した場合に利用する非特許文献1の一般化方式を説明する上で必要となる双線形群及び双線形写像について説明し、最後に、これらの定義を利用して、非特許文献1における切り替え方式の詳細およびその問題点について述べる。
<記号の定義>
非特許文献1に記載の一般化方式を説明する上で使用する各記号を、以下のように定義する。
n :契約者の総数
A :契約者グループを複数のサブグループに分割する際の分割数
B :分割されたサブグループに所属する契約者数
PK :システムの公開鍵
:i番目の契約者の個人秘密鍵
r :排除される契約者の総数
p :双線形群の位数となる大きな素数
G,G :位数pの双線形群
g :Gの生成元
M :暗号化されていないコンテンツ(平文)
s :セッション鍵
C :平文Mをセッション鍵sで暗号化したときの暗号文
(M) :平文Mの鍵sによる暗号化
(C) :暗号文Cの鍵sによる復号
e(u,v) :双線形群G上の二つの元u,vに対する双線形写像
<SDMの特徴とその問題点>
ここでは,非特許文献1の切り替え方式において、排除される契約者数が少ない場合において用いられるSDMとその問題点について、説明する。なお、SDMの詳細に関しては、非特許文献2に記載の通りであるため、ここでは概要に関してのみ述べる。
SDMは、論理木を利用した、共通鍵によるコンテンツ配信法の一つである。SDMは、論理木に沿って複数の契約者に割り当てられたリーフからなる部分木から、排除された契約者に割り当てられたリーフのみを含む部分木を除いたものをSubsetとして定義し、各Subsetに割り当てられたSubset keyを利用して、コンテンツ配信を実現するものである。
センタは、まず論理木を構成し、各契約者を論理木のリーフに割り当てると共に、契約者が排除されていない場合に構成され得る全Subsetに対応するSubset keyを生成するためのラベルを、安全な通信路を用いて配信しておく。配信時には、排除する契約者を決定すると共に、配信対象となるSubsetを決定し、各Subsetに対応するSubset keyを用いてヘッダを生成する。
契約者は、受信したヘッダのうち自身が所属するSubsetに対応する要素を取得し、自身が秘密保持するラベルから、自身が所属するSubsetに対応するSubset keyを、擬似乱数生成器を利用して計算し、コンテンツを取得する。
このようにコンテンツ配信システムを構成することにより、排除される契約者をまとめることが可能となり、ヘッダサイズを2r−1に削減することが可能となる。しかしながら、各契約者が保持する必要のあるラベルがO(logn)となり、非常に大きな値となるという問題点が存在する。また、ラベルからSubset keyを生成するために、擬似乱数生成器を保持する必要があり、さらにこれを用いて、O(log n)回擬似乱数生成演算を行う必要があるという問題点が存在する。
これは、各契約者が保持する必要のある秘密情報が非常に大きく、かつ復号器を構成する際のコストが大きくなることを意味している。なお、ここではlog nを、底を2とするnの対数としており、以降特に記述しない限り、対数の底は2とする。
<双線形群における双線形写像>
ここでは,非特許文献1において、排除される契約者数が大きくなった場合に用いられる、双線形群上の双線形写像に関して、説明する。双線形写像e(u,v)とは、巡回乗法群Gの二つの要素u,vを巡回乗法群Gの要素へと変換する写像であり、以下の性質を満たすものである。
1.双線形性:任意のu,v∈G及びa,b∈Zに対して、e(u,v)=e(u,v)abが成立する。
2.非退化性:e(g,g)≠1
続いて、非特許文献1に記載の切り替え方式について、図4〜図8を参照しながら、詳細に説明する。この切り替え方式は、主に、鍵生成フェーズ、暗号化フェーズ、復号フェーズという三つのフェーズから構成される。鍵生成フェーズは、センタがシステム構成時に一度だけ実行し、暗号化フェーズは配信者、復号フェーズは契約者が、各々配信ごとに実行する。以下、各フェーズの説明を行う。
<鍵生成フェーズ>
以下では、図4および図5を参照しながら、鍵生成フェーズについて説明する。図4は、非特許文献1の切り替え方式における鍵生成フェーズを説明するための説明図である。図5は、非特許文献1の切り替え方式における鍵生成フェーズの流れ図である。
センタ51は、以下の手順に従って、各契約者55の個人秘密鍵と公開鍵とを生成する。
まず、センタ51は、大きな素数pを選択し、位数pの双線形群Gを決定する(ステップS11)。
次いで、センタ51は、上記ステップS11で決定したGの生成元であるgと、センタ秘密である乱数α(αは整数である。)とを、それぞれ無作為に選択する(ステップS13)。
続いて、センタ51は、分割されたサブグループに所属する契約者数Bを決定し、分割数Aを以下の計算により決定した後、契約者をA個のサブグループに分割する(ステップS15)。
Figure 2008113203
ここで、上式の右辺に示されている記号は、「(n/B)以上の最小の整数」を表す記号である。なお、非特許文献1の一般化方式では、B=(n)1/2と設定することを推奨しているため、通常このように設定する。
次いで、センタ51は、i(i=1,・・・B,B+2,・・・,2B)に対してgを以下のようにして計算する(ステップS17)。
Figure 2008113203
続いて、センタ51は、サブグループ数Aに対応するA個の乱数γ(γ,・・・,γ、γは整数。)を無作為に選択する。続いて、双線形群Gに属するν,・・・,νを、以下のようにして算出する(ステップS19)。
Figure 2008113203
続いて、センタ51は、上記のステップS13で選択したgと、ステップS17で算出したgと、ステップS19で算出したνとに基づいて、以下で表される公開鍵PKを決定し、公開する(ステップS21)。
PK=(g,g,・・・,g,gB+2,・・・,g2B,ν,・・・,ν
・・・(式4)
続いて、センタ51は、契約者iが所属するサブグループS(aは、i/B以上の最小の整数である。)と、このサブグループにおける契約者iのインデックスであるb=imodB(ここで、iは1以上B以下の整数である。)に対応するパラメータg、γを選択して、以下の式で算出される契約者iの個人秘密鍵dを生成する(ステップS23)。
Figure 2008113203
次いで、センタ51は、リーフがn個以上存在する論理二分木を生成し、各契約者をリーフに割り当てる(ステップS25)。
続いて、センタ51は、非特許文献2に記載の方法に従って、契約者i(i=1,・・・,n)に対応する、以下の式6で表されるラベルを生成し、ステップS23で生成した個人秘密鍵dと共に、安全な通信路を用いて、契約者iに配布する(ステップS27)。
Figure 2008113203
図4に示したように、非特許文献1における切り替え方式では、センタ51は、鍵生成フェーズのステップS11からステップS23までの処理で、一般化方式における鍵生成フェーズを実行している。その後、センタ51は、ステップS25において、SDMによるコンテンツ配信を実現するための論理木を構成し、ステップS27において、SDMによるコンテンツ配信に対応するための複数のラベルと、非特許文献1の一般化方式によるコンテンツ配信に対応するための個人秘密鍵とを、安全な一対一通信路53を介して、各契約者55に配信している。
<暗号化フェーズ>
以下では、図6および図7を参照しながら、暗号化フェーズについて説明する。図6は、非特許文献1の切り替え方式における暗号化フェーズを説明するための説明図である。図7は、非特許文献1の切り替え方式における暗号化フェーズの流れ図である。
配信者57は、以下の手順に従って配信するコンテンツを暗号化し、同報通信路59を介して、非契約者61および契約者63に、暗号化したコンテンツをまとめて配信する。
まず、配信者57は、排除される契約者を決定し、排除される契約者数rと(n)1/2との大小関係を判定する(ステップS31)。排除される契約者数rが、r<(n)1/2であるならば、配信者57は、続けてステップS33の処理を行う。また、排除される契約者数rが、r<(n)1/2の関係を満たさないのであれば、配信者57は、続けてステップS35の処理を行う。
上記のステップS31において、r<(n)1/2の関係が成立した場合、配信者57は、コンテンツを復号可能な契約者の集合Sを決定した後、セッション鍵sをランダムに選択し、非特許文献2に記載の方式に従ってヘッダhを生成する(ステップS33)。その後、配信者57は、ステップS41の処理を行う。
他方、上記のステップS31において、r<(n)1/2の関係が成立しなかった場合、配信者57は、整数tを無作為に選択し、セッション鍵sを、以下のように計算する(ステップS35)。
s=e(gB+1,g)=e(g,g ・・・(式7)
上記のステップS35の処理の後に、配信者57は、コンテンツを復号可能な契約者の集合Sを決定し、l=1,・・・,Aに対して、以下のように各サブグループを決定する(ステップS37)。
Figure 2008113203
ここで、添字lはサブグループを表すパラメータであり、上記の式8で表される集合は、パラメータlで表されるサブグループに含まれる契約者および非契約者の集合であり、上記の式9で表される集合は、パラメータlで表されるサブグループ内において、契約者はサブグループ内の何番目の人なのかを表す集合である。
上記のステップS37に続いて、配信者57は、契約者63がセッション鍵sを算出するために必要なヘッダhを、以下のように構成する(ステップS39)。
Figure 2008113203
配信者57は、非特許文献1に記載の方法(ステップS35〜ステップS39)または非特許文献2に記載の方法(ステップS33)で生成したセッション鍵sを用いて、コンテンツMを、以下の計算により暗号文Cに変換し、ヘッダhおよび集合Sと共に、同報通信路59を介して、非契約者61、契約者63を問わず、配信する(ステップS41)。
C=E(M) ・・・(式11)
以上説明したように、暗号化フェーズのステップS31おいて、排除される契約者を決定すると共に、排除される契約者数rが一定数(n)1/2未満かどうかを判断している。ここで、r<(n)1/2である場合、ステップS33において、ランダムなセッション鍵sを生成し、SDMを利用したヘッダhの生成を行っている。続いて、ステップS41にて、暗号文Cを計算している。これにより、排除される契約者が少ない場合には、ヘッダサイズを削減することが可能となっている。また、rが(n)1/2以上であれば、ステップS35からステップS39にかけて、非特許文献1の一般化方式における暗号化フェーズを、実現している。
<復号フェーズ>
以下では、図8を参照しながら、復号フェーズについて説明する。図8は、非特許文献1の一般化方式における復号フェーズの流れ図である。
暗号化コンテンツ等の配信を受けた契約者iは、以下の手順に従って、暗号化コンテンツの復号処理を行う。
まず、契約者iは、配信者から送信された集合Sから排除される契約者数rを算出し、排除される契約者数rと(n)1/2との大小関係を判定する(ステップS51)。排除される契約者数rが、r<(n)1/2であるならば、契約者iは、続けてステップS53の処理を行う。また、排除される契約者数rが、r<(n)1/2の関係を満たさないのであれば、受信者iは、続けてステップS55の処理を行う。
上記のステップS51において、r<(n)1/2の関係が成立した場合、契約者iは、非特許文献2に記載の方式に従って、自身が保持するラベルと、受信したヘッダhとからセッション鍵sを取得する(ステップS53)。その後、契約者iは、ステップS59の処理を行う。
他方、上記のステップS51において、r<(n)1/2の関係が成立しなかった場合、契約者iは、自身のインデックスであるiが、集合Sに含まれているかどうかの判定を行う(ステップS55)。自身のインデックスiが、集合Sに含まれていないならば、契約者iは、排除されたものとして処理を終了する。また、自身のインデックスiが集合Sに含まれていた場合には、契約者iは、以下のステップS57の処理を行う。
次に、契約者iは、送信されたヘッダhのうち、自身が所属するサブグループSに対応するヘッダ要素を選択して、セッション鍵sを算出する(ステップS57)。すなわち、ヘッダhは、h=(C,C,・・・,C)のように、それぞれのサブグループに対応するヘッダ要素によって構成されており、自身が所属するサブグループSに対応する要素C、Cを選択し、これらのヘッダ要素に基づき、以下の計算のようにセッション鍵sを取得する。
Figure 2008113203
上記の式12−5と、式7とから明らかなように、契約者iは、配信者57から送信されたヘッダhと公開鍵PK、および、契約者自身が保有している個人秘密鍵dを用いることによって、配信者57が暗号化に利用したコンテンツ鍵sと同じものを、算出することが可能である。
契約者iは、非特許文献1に記載の方法(ステップS55〜ステップS57)または非特許文献2に記載の方法(ステップS53)で生成したセッション鍵sを用いて、暗号化コンテンツCを、以下の計算により平文Mに復号する(ステップS59)。
M=D(C) ・・・(式13)
以上説明したように、復号フェーズでは、ステップS51において、配信されたヘッダから、SDMによるコンテンツ配信であるのか、非特許文献1の一般化方式を利用したコンテンツ配信であるかを各契約者が判断する。その結果、SDMを利用したコンテンツ配信であった場合には、契約者は、ステップS53において、SDMにおけるセッション鍵の復号処理、すなわち自身が所属するSubsetを特定し、自身が保持するラベルからそのSubsetに対応するSubset keyを、擬似乱数生成演算により導出する処理、を実行する。これに対して、非特許文献1の一般化方式を利用したコンテンツ配信であった場合には、ステップS55からステップS57において、非特許文献1の一般化方式における復号フェーズを実行する。
以上説明したように、非特許文献1の切り替え方式では、あらかじめ二つの異なるコンテンツ配信システムを構成しておき、排除される契約者数によって、コンテンツ配信システムを切り替える。そのため、排除される契約者数が少ない、すなわちr<(n)1/2である場合には、ヘッダサイズが2r−1となる。また、排除される契約者数が多くなる、すなわちrが(n)1/2以上となる場合には、ヘッダサイズがA+1となるように構成可能となり、排除される契約者数に応じたヘッダサイズの削減を、実現している。
しかしながら、排除される契約者数が少ない場合には、SDMを利用したコンテンツ配信を利用しているため、各契約者が保持すべき鍵数が非常に大きなものとなるという問題点が、存在する。
非特許文献1の切り替え方式では、鍵生成フェーズのステップS25において論理二分木を構成し、ステップS27において各契約者に個人秘密鍵と複数のラベルとを配布している。ここで、各契約者に配信されるラベルは、契約者が排除されていない場合の全Subset keyを生成する元情報となるものであり、そのサイズはO(logn)で表される。これは、論理二分木における高さを表すlog nの二乗に比例した数のラベルが必要であることを示しており、契約者数nが大きくなればなるほど、保持する必要のある鍵数が増加することを意味している。
また、復号フェーズにおいても、SDMを利用したコンテンツ配信の場合には、ステップS53において、非特許文献2に記載の方法に従ってセッション鍵を取得しているが、自身が保持するラベルからセッション鍵を取得するためには、自身が所属するSubsetに対応するSubset keyを構成する必要がある。このとき非特許文献2に記載の方式では、契約者自身が擬似乱数生成器をあらかじめ保持しておき、ラベルを入力とした擬似乱数生成演算をO(log n)だけ行う必要がある。これは、非特許文献1における一般化方式のみを利用したコンテンツ配信システムと比較して、各契約者が保持すべき復号器に、新たな機能を付加する必要があることを示しており、復号器を構成する際のコストアップに繋がるという問題点が存在する。
さらに、非特許文献1の切り替え方式では、排除される契約者数が少ない場合においてSDMを利用しているが、SDMは共通鍵を利用したコンテンツ配信システムであるため、SDMを利用してコンテンツ配信を実現している間は、センタ以外のentityにはコンテンツの配信が不可能であるという問題点が存在する。
そこで、本願発明者らは、上記の問題点を解決すべく鋭意研究を行い、以下に説明するような、本発明の一実施形態に係る暗号鍵配信システムを開発した。本実施形態に係る鍵生成装置では、非特許文献1に示されたような、排除される契約者数に応じてコンテンツ配信システムの切り替えを行うことにより、ヘッダサイズの削減を図るものである。本実施形態に係る鍵生成装置は、排除される契約者数が存在しない、もしくは少ない場合には、非特許文献1における一般化方式に、若干のパラメータを加えて論理木を構成することにより、排除される契約者数が少ない場合においても、非特許文献1に記載の方式よりもヘッダサイズを削減することを可能とした方式を利用する。この方式は、非特許文献1の方式におけるヘッダサイズ並びに復号時に必要となる演算の計算量を、根本的に改善する方式として、非常に有効である。また、排除される契約者数が増加した場合には、非特許文献1における一般化方式を利用するように構成する。
上記のような構成とすることで、排除される契約者数に関わらず、効率的にコンテンツを配信可能とすると共に、各コンテンツ配信システムにおいて必要となるパラメータ及び鍵を共用することが可能となるため、効率的なコンテンツ配信を実現しつつ、各契約者が保持する個人秘密鍵サイズを削減することが可能となる。また、切り替えるために準備するコンテンツ配信システムは、いずれも公開鍵を利用したコンテンツ配信システムであるため、いずれのコンテンツ配信システムを利用した場合でも、任意のentityがコンテンツを配信することが可能となる。
本実施形態に係る説明
これまで説明したような基盤技術を踏まえながら、以下において、本実施形態に係る鍵生成装置、暗号化装置および受信装置について、詳細に説明する。
まず、本実施形態に係る鍵生成装置20の構成について、図9を参照しながら説明する。図9は、本実施形態に係る鍵生成装置20の構成を示したブロック図である。
鍵生成装置20は、例えば、双線形群決定部231と、第1処理部233と、第2処理部245と、記憶部253と、配布部264と、を備える。
双線形群決定部231は、本実施形態に係る鍵生成装置20が用いる、双線形群を決定する。すなわち、双線形群決定部231は、素数pを無作為に選択して、この素数pを位数とする双線形群Gを決定するほかに、Gの生成元であるgを無作為に選択する。
第1処理部233は、Y分木構造を構築した上で、n個のリーフをグループ化し、リーフに割り当てられた受信装置に対して、以下に示す非特許文献1の一般化方法を根本的に改良した方法を用いることで、暗号鍵を生成する。
この第1処理部233は、例えば、木構造構成部235と、パラメータ割当部237と、第1乱数決定部239と、第1リーフキー割当部241と、第1鍵算出部243と、を備える。
木構造構成部235は、本実施形態に係る鍵生成装置20の重要な要素である、論理木を構築する。すなわち、対象となるn個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構築する。さらに、リーフとルートとの間に存在する中間ノードを、各々親ノードとする、Y分木からなるサブグループを構成する。つまり、木構造構成部235により、1つのノードから下に向かって、常にY本の枝がでているY分木構造が、階層的に積み重ねられる。構築された階層化Y分木構造の全体を見ると、最上位階層(以下、第0階層と称する。)にはルートが1つだけ存在し、このルートの下には、このルートを親ノードとするY個の子ノードが、第1階層として構築される。また、この第1階層に存在するY個の子ノードそれぞれを親ノードとして、第2階層には、さらにY個の子ノードが存在する。このような構造が繰り返され、一番下の階層、すなわち、第(logn)階層には、全体としてn個のリーフが存在する。
ここで、1つのノードから下向きに1本の枝が伸びており、この枝の先に1つのノードが存在する場合に、相対的に上側のノードのことを親ノードと呼び、相対的に下側のノードのことを子ノードと呼ぶこととする。この親ノード、子ノードという概念は相対的なものである。例えば、3つのノードが1本の枝で上下につながっている場合に、最上部のノードを親ノードとした場合には、中間に位置するノードは子ノードとなる。また、最下部のノードに着目した場合には、最下部のノードは、中間に位置するノードを親ノードとする子ノードとなる。
また、階層化された木構造において、最上位階層に存在するルートと、最下位階層に存在するn個のリーフとの間に存在する各ノードを、中間ノードと呼ぶこととする。
パラメータ割当部235は、木構造構成部231が構築した、階層化されたY分木構造において、末端のn個のリーフ以外の全てのノード、すなわち、最上位階層のルートと、ルートとリーフとの間に存在する全ての中間ノードに対して、ノードパラメータγx,y(γx,yは整数)を無作為に選択する。パラメータ割当部235は、このノードパラメータγx,yに基づき、最上位階層のルートと、ルートとリーフとの間に存在する全ての中間ノードに対して、任意のパラメータνx,yを割り当てる。ここで、x、yはそれぞれノードの位置を表す添字であり、xは階層を示すものであり、yは階層xの何番目のノードに当たるかを示すものである。
第1乱数決定部239は、暗号鍵の算出に必要となり、センタが秘密裏に管理する乱数α(αは整数である。)を、無作為に選択する。第1リーフキー割当部241は、木構造構成部231が構築したY分木構造における中間ノードおよびリーフに対して、リーフキーgを割り当てる。第1鍵算出部243は、木構造構成部231が構築したY分木構造において、ルートからリーフに至るパスを特定し、当該パス上に存在するリーフまたは中間ノードに割り当てられたリーフキーgと、中間ノードまたはリーフの親ノードに割り当てられたパラメータνx,yとノードパラメータγx,yとに基づいて、公開鍵と、各受信装置の暗号鍵とを算出する。
第2処理部245は、本実施形態の基盤技術である、非特許文献1に記載の一般化方式に基づいて、暗号鍵を生成する。第2処理部245は、例えば、第2乱数決定部247と、第2リーフキー割当部249と、第2鍵算出部251と、を備える。
第2乱数決定部247は、暗号鍵の算出に必要となり、センタが秘密裏に管理する乱数α’(α’は整数である。)を、無作為に選択する。第2リーフキー割当部249は、木構造構成部231が構築したY分木構造のリーフに対して、リーフキーg (b=1,2,・・・,B)を割り当てる。第2暗号鍵算出部245は、第2リーフキー割当部249が各リーフに対して割り当てたリーフキーg を用いて、非特許文献1の一般化方式に基づいて、公開鍵と暗号鍵とを算出する。
記憶部253は、例えば、木構造記憶部255、乱数記憶部257、リーフキー記憶部259、パラメータ記憶部261、および鍵記憶部263等を含む。これらの記憶部には、各処理部が行った処理の途中で必要となった変数や計算結果、または、処理の結果得られたもの記憶する。双線形群決定部231、第1処理部233および第2処理部245等の各処理部は、この記憶部253に対して、自由にデータを書き込んだり、データを読み出したりすることが可能である。
また、この記憶部253には、上記の記憶部255、257、259、261、263以外にも、様々なデータを記憶させておくことが可能である。なお、図9においては、記憶部253の中に様々な記憶部が個別に存在するように示しているが、様々な記憶部を個別に存在させず、全体として1つの記憶部に様々なデータを記憶させておいてもよい。また、記憶部253としては、セキュアモジュールを備えた記憶媒体を用いることも可能である。
本実施形態に係る鍵生成装置における配布部264は、例えば、送信部265と、公開鍵公開部267とを備える。送信部265は、第1処理部237および第2処理部245が算出し、鍵記憶部263に記憶されている個人秘密鍵を、各受信装置へと送信する。また、公開鍵公開部267は、第1処理部237および第2処理部245が算出し、鍵記憶部263に記憶されている公開鍵を、各受信装置に公開する。
続いて、本実施形態に係る暗号化装置30の構成について、図10を参照しながら説明する。図10は、本実施形態に係る暗号化装置30の構成を示したブロック図である。
図10に示したように、暗号化装置30は、例えば、受信部301と、記憶部303と、排除受信装置特定部305と、セッション鍵選択部307と、第1セッション鍵決定部309と、第2セッション鍵決定部315と、暗号化部321と、コンテンツ記憶部323と、コンテンツ送信部325と、を備える。
受信部301は、鍵生成装置20により生成され、公開された公開鍵を受信する。また、受信部301は、公開鍵以外にも、鍵生成装置20により生成された素数pや、排除する受信装置が特定された情報である、排除されていない受信装置の集合Sに関する情報を更に受信することができる。
記憶部303は、例えば、鍵生成装置20によって生成された公開鍵を記憶する。また、公開鍵以外にも、素数pや排除されていない受信装置の集合Sに関する情報等の情報を記憶することが可能である。
排除受信装置特定部305は、暗号化装置30に通信網12を介して接続されている複数の受信装置40の中から、コンテンツの配信を排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する。集合Sの決定に際しては、排除受信装置特定部305は、記憶部303に記憶されている様々なデータを参照することができる。
セッション鍵選択部307は、コンテンツを暗号化する際に用いる鍵、すなわち、鍵生成装置20の第1処理部237が生成した暗号鍵と、鍵生成装置20の第2処理部245が生成した暗号鍵、を選択する。セッション鍵の選択に当たっては、セッション鍵選択部307は、記憶部303に記憶された、契約者に関する情報等を参照することが可能である。
第1セッション鍵決定部309は、鍵生成装置20により構築されたY分木構造、および、鍵生成装置20の第1処理部237が生成した公開鍵等に基づいて、コンテンツを暗号化するためのセッション鍵sを算出する。第1セッション鍵決定部309は、例えば、第1ヘッダ要素算出部311と、第1ヘッダ情報生成部313と、を更に備える。
第1ヘッダ要素算出部311は、鍵生成装置20により構築されたY分木構造、および、鍵生成装置20の第1処理部237が生成したリーフキーや公開鍵等の暗号鍵に基づいて、暗号化したコンテンツと共に配信されるヘッダhの構成要素を、算出する。第1ヘッダ情報生成部313は、第1ヘッダ要素算出部311が算出したヘッダ要素と、鍵生成装置20の第1処理部237が生成した公開鍵とに基づいて、ヘッダhを生成する。
第2セッション鍵決定部315は、非特許文献1に記載に一般化方式に基づいて、コンテンツを暗号化するためのセッション鍵sを算出する。第2セッション鍵決定部315は、例えば、第2ヘッダ要素算出部317と、第2ヘッダ情報生成部319と、を更に備える。
第2ヘッダ要素算出部317は、鍵生成装置20の第2処理部245が生成したリーフキーや公開鍵等に基づいて、暗号化したコンテンツと共に配信されるヘッダhの構成要素を、算出する。第2ヘッダ情報生成部319は、第2ヘッダ要素算出部317が算出したヘッダ要素と、鍵生成装置20の第2処理部245が生成した公開鍵とに基づいて、ヘッダhを生成する。
暗号化部321は、コンテンツ記憶部323から配信するコンテンツを選び出し、セッション鍵選択部307が選択したセッション鍵、すなわち、第1セッション鍵決定部309により算出されたセッション鍵s、または、第2セッション鍵決定部315により算出されたセッション鍵sのいずれかを用いて、コンテンツを暗号化する。
コンテンツ記憶部323は、暗号化されていないコンテンツを記憶する。また、CD(Compact Disk)、DVD(Digital Versatile Disk)やメモリーカード等のメディア媒体から取得したコンテンツを記憶するとしてもよい。ここで、上記のコンテンツとは、例えば、映画、テレビジョン番組、ビデオプログラム、図表等の動画又は静止画からなる映像(Video)コンテンツ、音楽、講演、ラジオ番組等の音声(Audio)コンテンツや、ゲームコンテンツ、文書コンテンツ、ソフトウェアなど、任意のコンテンツデータであってもよい。映像コンテンツは、映像データのみならず、音声データを含んでいてもよい。
コンテンツ送信部325は、暗号化部321によって暗号化された暗号化コンテンツと、暗号化に用いられたセッション鍵とともに生成されたヘッダと、排除受信装置特定部305によって特定された集合Sとを、通信網12を介して、各受信装置に送信する。
続いて、本実施形態に係る受信装置40の構成について、図11を参照しながら説明する。図11は、本実施形態に係る受信装置40の構成を示したブロック図である。
図11に示したように、受信装置40は、例えば、受信部401と、記憶部403と、復号方式選択部405と、第1復号処理部407と、第2復号処理部413と、を備える。
受信部401は、鍵生成装置20により生成された個人秘密鍵を受信する。また、受信部401は、個人秘密鍵以外にも、鍵生成装置20により生成された公開鍵や、排除する受信装置が特定された情報である、排除されていない受信装置の集合Sに関する情報を更に受信することができる。また、暗号化装置30によって暗号化されたコンテンツについても、受信することが可能である。
記憶部403は、例えば、鍵生成装置20によって生成された公開鍵や個人秘密鍵を記憶する。また、これらの暗号鍵以外にも、排除されていない受信装置の集合Sに関する情報や、配信された暗号化コンテンツや復号されたコンテンツ等のコンテンツ情報を記憶することが可能である。
復号方式選択部405は、鍵生成装置20から配信された、排除されていない受信装置の集合Sから、排除される受信装置の個数rを算出し、排除される受信装置の個数rに応じて、復号に用いる復号処理部、すなわち、第1復号処理部407または第2復号処理部413のいずれか、を選択する。
第1復号処理部407は、鍵生成装置20の第1セッション鍵決定部275で生成されたセッション鍵によって暗号化されたコンテンツを、復号する。第1復号処理部407は、例えば、判定部409と、第1セッション鍵算出部411とを、更に備える。
判定部409は、受信装置40自身が、排除されていない受信装置の集合Sに含まれているか否かを判定する。第1セッション鍵算出部411は、送信されてきたヘッダhと、自身が所有している個人秘密鍵と、公開鍵とに基づいて、復号に必要なセッション鍵を算出する。
第2復号処理部413は、鍵生成装置20の第2セッション鍵決定部281で生成されたセッション鍵によって暗号化されたコンテンツを、復号する。第2復号処理部413は、例えば、判定部415と、第2セッション鍵算出部417とを、更に備える。
判定部415は、受信装置40自身が、排除されていない受信装置の集合Sに含まれているか否かを判定する。第2セッション鍵算出部417は、送信されてきたヘッダhと、自身が所有している個人秘密鍵と、公開鍵とに基づいて、復号に必要なセッション鍵を算出する。
以上、本実施形態に係る鍵生成装置20、暗号化装置30および受信装置40の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
本実施形態に係る鍵生成装置20は、非特許文献1の切り替え方式同様、あらかじめ二つのコンテンツ配信システムを準備しておき、排除される契約者数に応じて、コンテンツ配信システムを切り替えるものである。
非特許文献1の切り替え方式では、排除される契約者数が少ない場合におけるコンテンツ配信システムとして、共通鍵方式であるSDMを利用していた。
本実施形態では、上記のSDSの代わりに、非特許文献1の一般化方式にパラメータを追加し、論理木構造を構築するようにし、さらに、この方式における論理木に、新たなパラメータを割り当てた方式を使用する。このような構成によって、配信システムを切り替える際にも各パラメータを共用することが可能となり、非特許文献1の切り替え方式よりも、契約者が保持する鍵数を、少なくすることが可能となる。
本実施形態は、非特許文献1の切り替え方式同様、鍵生成、暗号化、および復号という、三つのフェーズから構成される。鍵生成フェーズは、センタである鍵生成装置20が、システム構成時に一度だけ実行する。また、暗号化フェーズは配信者が各々コンテンツを配信するごとに実行され、復号フェーズは、契約者が暗号化コンテンツを受信するごとに実行される。なお、本実施形態の詳細を説明する上で使用する各記号及び演算は、基盤技術の説明において定義したものと同一のものとする。以下、初めに、本実施形態において構成する論理木に関する定義及び説明を行い、その後、各フェーズについて、詳細に説明する。
<論理木の構成と定義>
本実施形態に係る鍵生成装置20を説明する上で必要となる論理木に関して、まず説明および定義を行う。本実施形態に係る鍵生成装置20では、各契約者をリーフに割り当て、かつ非特許文献1における契約者の分割をこの論理木に割り当てることによって、効率的なコンテンツ配信を実現している。なお、この論理木は、本実施形態に係る鍵生成装置20における、木構造構成部235によって構成される。
基盤技術である非特許文献1では、分割されたサブグループに所属する契約者数であるBを用いたのに対して、本実施形態では、B>YとなるY分木を利用するものとする。また、全契約者をリーフに割り当てる必要があるため、契約者総数nが、Yのべき乗で表される値であると仮定する。
ただし、実際のコンテンツ配信においては、nがYのべき乗とならない場合も多々存在するが、この場合には、nよりも十分に大きい、Yのべき乗数のリーフを、予め用意しておくことによって、容易に対応することが可能である。以下に、論理木に関する各定義を示す。
本実施形態において利用するY分木は、リーフがnであるので、Y分木の高さをHとすると、H=lognとなる。また、リーフを除くノードの総数をNとすると、N=(n−1)/(Y−1)となる。よって、Y分木にはH個の階層が存在し、本実施形態では、この階層を、Layerと定義する。即ち、ルートの子ノードの集合をLayer1、Layer1の全ノードの子ノード(すなわち、ルートの孫ノード)の集合を、Layer2という形で、Y分木の各階層を、Layer x(x=0,・・・,H)と定義する。ここで、xは、階層を表す添字である。また、Layer xに含まれる各ノードのインデックスを、ノードインデックスと呼び、(x,y)(y=1,・・・,Y)と定義する。このとき、ルートは、Layer0のノードであり、そのインデックスは(0,1)となる。ルートを除く全ノード(x,y)(x=1,・・・,H,y=1,・・・,Y)には、排除される契約者数が大きい場合において利用されるコンテンツ配信用のパラメータgx,yと共に、リーフに対して排除される契約者数が小さい場合におけるパラメータg’x,yを割り当てる。また、リーフを除く全ノード(x,y)(x=0,・・・,H−1,y=1,・・・,Y)にも、パラメータνx,yを割り当てるが、このパラメータは、二つのコンテンツ配信システムにおいて、共用されるパラメータである。
このように定義したY分木の例として、図12に、契約者数n=256、分岐数Y=4、及びB=16とした場合を示す。
契約者数nが256であるため、ルートを除く4分木の高さHは、log256=4となる。従って、この4分木には、ルートを含めて5つの階層が存在する。すなわち、ルートを含む階層501がLayer0となり、ルートの子ノードである4つのノードを含む階層503が、Layer1となる。Layer1に存在する4つのノードをそれぞれ親ノードとした場合の子ノードの階層505が、Layer2となる。Layer2には、Layer1に存在する4つのノードそれぞれから、4つの子ノードが形成されるために、全部で16個のノードが存在することとなる。Layer2に存在する16個のノードをそれぞれ親ノードとした場合の子ノードの階層507が、Layer3である。Layer3には、Layer2の16個のノードそれぞれから、4つの子ノードが形成されるために、全部で64個のノードが存在することとなる。続いて、Layer3の64個のノードそれぞれから4つの子ノードが形成され、この子ノードの階層509が、リーフとなるLayer4となる。このLayer4には、4=256個のリーフが存在する。
また、リーフを除くノードの数N、すなわち、ルートと中間ノードの数の和は、(256−1)/(4−1)=85となる。
リーフを含めたそれぞれのノードに割り当てられるノードインデックスは、例えば、ルートは(0,1)となり、Layer1の3つのノードは、それぞれ左端から(1,1)、(1,2)、(1,3)となる。同様にして、各Layerにおけるノードに対して、ノードインデックスが割り当てられる。また、Layer4の256個のノード、すなわちリーフには、左端からそれぞれ(4,1)、(4,2),・・・,(4,256)というノードインデックスが付される。
また、本実施形態に係る鍵生成装置20では、このリーフそれぞれに受信装置40、すなわち、コンテンツ配信に関する契約者511を割り当てる。つまり、Layer4のリーフ(4,1)、(4,2)、・・・、(4,256)には、それぞれ、契約者1、契約者2、・・・、契約者256が割り当てられる。
続いて、前述の論理木に関する定義を利用し、以下に、本実施形態に係る暗号鍵配信システムの具体的な説明を示す。
<鍵生成装置20の動作:鍵生成フェーズ>
センタは、所有する鍵生成装置20を操作し、以下の手順に従って、公開鍵と各契約者の個人秘密鍵とを生成する。以下に、図12、図13および図14を参照しながら、本実施形態に係る鍵生成装置20の動作、すなわち暗号鍵生成フェーズについて、詳細に説明する。図13は、鍵生成装置20による鍵生成の概要を説明するための説明図である。図14は、鍵生成装置20による暗号鍵生成フェーズの流れ図である。
まず、鍵生成装置20の双線形群決定部231は、値の大きな素数pを選択し、位数pの双線形群Gを決定する(ステップS101)。ここで、値の大きな素数pとは、桁数の多い素数を意味する。双線形群決定部231は、容易に離散対数問題が解けないような、桁数の多い素数を選択することで、本実施形態に係る暗号鍵の安全性を担保する。
次いで、双線形群決定部231が、双線形群Gの中から生成元gを選択するとともに、第1処理部233の第1乱数決定部239と、第2処理部245の第2乱数決定部247とが、それぞれ別個に、乱数α、α’を整数の中から無作為に選択する(ステップS103)。
これらの素数p、双線形群G、生成元gおよび乱数αに関するデータは、例えば、記憶部253中の乱数記憶部257の中に記憶され、第1処理部233、第2処理部245等によって参照される。
次いで、第1処理部233の木構造決定部235が、分割されたサブグループに所属する契約者数Bを決定し、B>Yとなるように論理木の分岐数Yを決定する。また、排除された契約者数が大きい場合における契約者集合の分割数Aと、排除された契約者数が小さい場合における契約者集合の分割数Xを、以下の計算により決定し、各契約者をリーフとして割り当てたY分木を構成する(ステップS105)。ここで、以下の式101、式102中のnは、契約者の総数である。
Figure 2008113203
Figure 2008113203
すなわち、B>Yとなるような論理木の分岐数Yと、この分岐数Yによって決定される分割数Xとを用いて、第1処理部233は暗号鍵生成処理を行うとともに、分割されたサブグループに所属する契約者数Bと、この契約者数Bによって決定される分割数Aとを用いて、第2処理部245は暗号鍵生成処理を行う。
例えば、図12に示したように、契約者数が256であり、分割されたサブグループに所属する契約者数Bが16、分岐数Yが4である場合には、式101より分割数Aは16となり、式102より分割数Xは64となる。
以上のようにして決定された分割数や、構築されたY分木構造等を、木構造構成部235は、記憶部253中の木構造記憶部255に記憶させる。
続いて、第1処理部233の第1リーフキー割当部241は、i(i=1,・・・,Y,Y+2,・・・,2Y)に対して、リーフキーgを、以下のようにして算出する(ステップS107)。
Figure 2008113203
あわせて、第2処理部245の第2リーフキー割当部249は、j(j=1,・・・,B,B+2,・・・,2B)に対して、リーフキーg’を、以下のようにして算出する(ステップS107)。
Figure 2008113203
上記の式102から明らかなように、リーフキーgの算出にあたっては、双線形群決定部231が決定した生成元g、および、第1乱数決定部239が決定したセンタ秘密である乱数αを用いる。そのため、第1リーフキー割当部241は、記憶部253中の乱数記憶部257にアクセスして、これらのデータを読み出す。リーフキーを算出した後は、第1リーフキー割当部241は、算出したリーフキーgを、記憶部253中のリーフキー記憶部259に保存する。
同様にして、リーフキーg’の算出にあたっては、双線形群決定部231が決定した生成元g、および、第2乱数決定部247が決定したセンタ秘密である乱数α’を用いる。そのため、第2リーフキー割当部249は、記憶部253中の乱数記憶部257にアクセスして、これらのデータを読み出す。リーフキーを算出した後は、第2リーフキー割当部249は、算出したリーフキーg’を、記憶部253中のリーフキー記憶部259に保存する。
なお、ステップS107においては、リーフキーgを、サブグループに所属する契約者の数であるY個だけでなく、iをY+1を除く2Yまで変化させて、リーフキーgを算出している。gY+1を算出しない理由は、本実施形態に係る暗号鍵配信システム10の安全性を担保するためであり、gY+2からg2Yまでのリーフキーgは、後に述べる復号フェーズで復号を行う際に必要となるからである。リーフキーg’についても、同様である。
続いて、第1処理部233のパラメータ割当部237は、リーフを除く全ノード(x,y)に対応する乱数γx,y(γx,yは整数)を無作為に選択する。続いて、パラメータνx,yを以下のように算出し、Y分木のリーフを除く各ノードに、それぞれ割り当てる(ステップS109)。ここで、x=0,・・・,H−1(Hは、Y分木構造の高さである。)であり、y=1,・・・,Yである。
Figure 2008113203
例えば、図12のように、256人の契約者に対して4分木構造を構築した場合には、4分木構造の高さHは4であるため、xは0〜3となる。また、yは、1〜64となる。つまり、図12の場合は、パラメータ割当部237によって割り当てられるパラメータνx,yは、ν0,1〜ν3,64の計85個となる。したがって、γx,yについても、85個の整数が無作為に選択されることとなる。このようにして決定された値に基づき、式104によって、各ノードにパラメータが割り当てられる。
また、パラメータ割当部237によって算出されたパラメータνx,yやノードパラメータγx,y等は、記憶部253中のパラメータ記憶部261に記憶される。
続いて、第1リーフキー割当部241は、ルートを除く全ノードに、gx,yを割り当てる(ステップS111)。ここで、x=1,・・・H、y=1,・・・,Yであり、gx,yは、g,・・・,gからなる集合{g,・・・,g}の元である。同時に、第2リーフキー割当部249は、リーフに対して、g’x,yを割り当てる(ステップS111)。ここで、x=H、y=1,・・・,Yであり、g’x,yは、g’,・・・,g’からなる集合{g’,・・・,g’}の元である。割り当てた結果は、記憶部253中のリーフキー記憶部259に、構築された木構造に関連付けられて記憶される。
例として、図12に示した場合を考える。この場合、Layer1(503)には、ルートを親ノードとする4つの子ノードが存在し、1つのサブグループを構成している。したがって、ノード(1,1)には、g1,1としてgが、ノード(1,2)には、g1,2としてgが、ノード(1,3)には、g1,3としてgが、ノード(1,4)には、g1,4としてgがそれぞれ割り当てられる。
また、Layer2(505)を考えると、このノード(1,1)を親ノードとする4つの子ノード(2,1)、(2,2)、(2,3)、(2,4)からなるサブグループ、ノード(1,2)を親ノードとする4つの子ノード(2,5)、(2,6)、(2,7)、(2,8)からなるサブグループ等、計4つのサブグループが存在している。この場合、ノード(2,1)には、g2,1としてgが、ノード(2,2)には、g2,2としてgが、ノード(2,3)には、g2,3としてgが、ノード(2,4)には、g2,4としてgが割り当てられる。同様に、ノード(2,5)には、g2,5としてgが、ノード(2,6)には、g2,6としてgが、ノード(2,7)には、g2,7としてgが、ノード(2,8)には、g2,8としてgが割り当てられ、以下、同様にして、ノード(2,16まで、リーフキーgが割り当てられる。
また、Layer2(505)と同様にして、Layer3(507)の64個のノード、および、Layer4(509)の256個のリーフに対しても、それぞれリーフキーgが割り当てられる。
同時に、Layer4(509)の256個のリーフに対しては、リーフキーであるg’〜g’16が、左から順に繰り返し割り当てられる。すなわち、リーフ(4,16)にリーフキーg’16が割り当てられると、右隣のリーフ(4,17)には、g’が割り当てられ、最終的に、リーフ(4,256)には、リーフキーg’16が割り当てられる。
続いて、第1処理部233の第1鍵算出部243と、第2処理部245の第2鍵算出部251とは、それぞれ公開鍵PKの要素を算出し、公開鍵公開部267を介して公開する(ステップS113)。
Figure 2008113203
上記の式105から明らかなように、公開鍵PKは、双線形群決定部231が決定した生成元gと、第1リーフキー割当部241が算出したリーフキーgと、第2リーフキー割当部249が算出したリーフキーg’と、パラメータ割当部237が算出したパラメータνx,yから構成されている。したがって、第1鍵算出部243および第2鍵算出部251は、記憶部253中の各記憶部257、259、261を参照して、公開鍵PKを構成する。第1鍵算出部243および第2鍵算出部251は、構成した公開鍵PKを、記憶部253中の鍵記憶部263に記憶する。公開鍵公開部267は、この鍵記憶部263を参照して、公開鍵を公開する。なお、それぞれの鍵算出部は、構成した公開鍵PKの要素を、直接公開鍵公開部267へと送信してもよい。
第1処理部233の第1鍵算出部243は、契約者i(i=1,・・・,n)に対して、ルートから契約者iに割り当てられたリーフに至るパスを特定し、そのパス上にあるLayer x上のノードに対する契約者iのインデックスをiとする。すなわち、i=(0,1)であり、i=(H,i)である。センタは、契約者iに割り当てられたルートを除く全ノードi,・・・,iに対して、これらのノードに割り当てられたパラメータgixを特定し、リーフを除く全ノードi,・・・,iH−1に割当てられたパラメータγixを特定する。また、第2処理部245の第2鍵算出部245は、リーフに割り当てられたg’iHを特定する。それぞれの鍵算出部は、以下のようにして契約者iの個人秘密鍵dを計算し、安全な通信路を用いて契約者iに配布する(ステップS115)。
Figure 2008113203
式106から明らかなように、個人秘密鍵dの各要素は、第1処理部233の第1鍵算出部243が算出した個人秘密鍵と、第2処理部245の第2鍵算出部251が算出した個人秘密鍵との組合せとなっている。第1鍵算出部243が算出した個人秘密鍵は、特定したパス上にあるノードiに割り当てられたリーフキーgixと、ノードiの親ノードとなるノードに割り当てられたパラメータγix−1と、に基づいて計算される。また、第2鍵算出部251が算出した個人秘密鍵は、契約者が割り当てられたリーフのリーフキーg’iHと、当該リーフの親ノードのさらに親ノードに割り当てられたパラメータγix−2と、に基づいて計算される。すなわち、それぞれの個人秘密鍵dは、各ノードに割り当てられたリーフキーに基づいて算出された鍵のセットであるといえる。
なお、それぞれの鍵算出部において、各契約者固有の個人秘密鍵dが算出されると、それぞれの鍵算出部は、これらの個人秘密鍵を、記憶部253中の鍵記憶部263に記憶する。送信部265が、各契約者に対して個人秘密鍵dを送信する場合には、送信部265は、記憶部253中の鍵記憶部263を参照して、必要な情報を取得する。また、それぞれの鍵算出部が、生成した個人秘密鍵を、直接送信部265へと受け渡すようにしてもよい。
以上説明したように、本実施形態に係る鍵生成装置20は、図13に示したように、センタ513である鍵生成装置20が、双線形群Gや、各種のパラメータを選択し、公開鍵PKと、契約者固有の個人秘密鍵dを生成する。そして、センタ513は、公開鍵PKを公開するとともに、各契約者511に対して、安全な一対一通信路515を用いて、個人秘密鍵dを配布する。
<暗号化装置30の動作:暗号化フェーズ>
続いて、図15および16を参照しながら、本実施形態に係る暗号化装置30の動作、すなわち暗号化フェーズを、詳細に説明する。図15は、鍵生成装置20による暗号化の概要を説明するための説明図である。図16は、鍵生成装置20による暗号化フェーズの流れ図である。なお、以下に説明する暗号化フェーズは、暗号化装置30を所有する任意の第三者が行うことも可能である。また、鍵生成装置20の所有者や受信装置40の所有者であっても、暗号化装置30の所有者であれば、以下の暗号化フェーズを行うことが可能である。
以下に説明する暗号化フェーズを実行するに先立ち、暗号化装置30の受信部301は、鍵生成装置20によって生成および公開された公開鍵と、素数pと、木構造に関する情報と、排除されていない受信装置の集合Sに関する情報と、をそれぞれ受信する。受信部301が取得したこれらの情報は、記憶部303に記憶される。記憶部303に記憶されたこれらの情報は、暗号化装置30の各処理部が、自由に読み出すことができる。
まず、セッション鍵選択部307は、記憶部303等を参照しながら、排除される契約者を決定し、排除される契約者数rが以下の式107を満たすか否かを判定する(ステップS301)。判定の結果、式107が成立する場合には、暗号化装置30は、第2セッション鍵決定部315に対して、ステップS303を実行するように指示を出す。また、式107が成立しない場合には、暗号化装置30は、第1セッション鍵決定部309に対して、ステップS305を実行するように指示を出す。なお、本実施形態では、一人の契約者が一台の受信装置を所有している場合について説明を行うが、一人の契約者が複数の受信装置を所有している場合には、排除される契約者数rは、排除される受信装置数rとなることは言うまでもない。
Figure 2008113203
ここで、上記の式107は、排除される契約者rの数に基づいて、用いる暗号鍵の種類、すなわち、鍵生成装置20の第1処理部233で生成された暗号鍵か、鍵生成装置20の第2処理部245で生成された暗号鍵か、を判定する式となっている。
ステップS301において、上記の式107が成立した場合には、第2セッション鍵決定部315は、コンテンツを復号可能な契約者の集合Sを決定するとともに、基盤技術である非特許文献1の暗号化フェーズのステップS37〜ステップS41を、実行する(ステップS303)。その際、上記の非特許文献1の暗号化フェーズのステップS37〜ステップS41において、g=g’(j=1,・・・,B,B+2,・・・,2B)およびν=νH−2,i(i=1,・・・,A)として実行する。
上記のようにして各ステップを実行することで、第2セッション鍵決定部315がセッション鍵sを決定するとともに、第2ヘッダ要素算出部317がヘッダ要素を算出し、第2ヘッダ情報生成部319が、ヘッダhを算出する。得られたセッション鍵sに基づいて、暗号化部321がコンテンツを暗号化し、コンテンツ送信部325は、暗号化コンテンツC、ヘッダh、集合Sを、契約者へと送信する。
ステップS301において、上記の式107が成立しなかった場合には、排除受信装置特定部305は、排除したい全ての契約者に割り当てられたリーフからルートに至るパス上にある全てのノードをマークし、排除されていない契約者が、ヘッダhから自身に割り当てられたヘッダ要素を特定するためのノードインデックスの集合Sを、S=φ(φは空集合を表す。)として初期化する(ステップS305)。
続いて、第1セッション鍵決定部309は、任意の整数tを無作為に選択して、セッション鍵sを以下のように算出する(ステップS307)。
s=e(gY+1,g)=e(g,g ・・・(式108)
続いて、第1セッション鍵決定部309の第1ヘッダ要素算出部311は、階層を表すパラメータであるxを−1と設定する(ステップS309)。すなわち、このステップS309は、階層を表すパラメータxの初期化ステップである。
続いて、第1セッション鍵決定部309の第1ヘッダ要素算出部311は、xにx+1を代入して、xの値を1つ増加させる(ステップS311)。
次に、第1セッション鍵決定部309の第1ヘッダ要素算出部311は、yをゼロとして、パラメータの初期化をはかる(ステップS313)。
続いて、第1セッション鍵決定部309の第1ヘッダ要素算出部311は、各layerにおけるノードの位置を表すパラメータであるyに、y+1を代入して、yの値を1つ増加させる(ステップS315)。
次に、第1セッション鍵決定部309の第1ヘッダ要素算出部311は、ノード(x,y)に対応するヘッダ要素cx,yを、cx,y=0として、初期化する(ステップS317)。
以下に示すステップより、第1セッション鍵決定部309の第1ヘッダ要素算出部311は、ヘッダ要素を算出するための具体的な処理を行うこととなる。
続いて、第1ヘッダ要素算出部311は、ノード(x,y)の子ノードが、全てマークされているか否かを判定する(ステップS319)。判定の結果、全ての子ノードがマークされている場合には、以下に示すステップS325へと進む。また、マークされていない子ノードが存在する場合には、以下のステップS321へと進む。
次に、第1ヘッダ要素算出部311は、マークされていない子ノードの集合をSx,yとし、Sx,yの各要素をルートとする部分木(サブグループ)に所属する契約者に対応するヘッダ要素を、以下のように算出する(ステップS321)。
Figure 2008113203
また、第1ヘッダ要素算出部311は、集合Sを以下のように設定する(ステップS321)。
Figure 2008113203
次に、第1ヘッダ要素算出部311は、Sx,yの各要素をルートとする部分木に対して、その部分木に所属する全ノード(リーフを含む。)をマークする(ステップS323)。
続いて、第1ヘッダ要素算出部311は、現在着目しているパラメータyが、Yに該当するか否かを判定する(ステップS325)。判定の結果、yがYである場合には、以下に示すステップS327へと移行する。また、yがYではない場合には、ステップS315へと戻って、パラメータyを1増加させる。
次に、第1ヘッダ要素算出部311は、現在着目しているパラメータxが、H−1であるか否かを判定する(ステップS327)。判定の結果、xがH−1であれば、以下のステップS329へと移行する。また、xがH−1でない場合には、ステップS311へと戻って、パラメータxを1増加させる。
上記のように、ステップS325およびステップS327の条件を共に満足するまで、ステップS311〜ステップS327を繰り返すことで、第1ヘッダ要素算出部311は、ヘッダ生成に必要な全てのヘッダ要素を算出することが可能である。
すなわち、具体的なヘッダ要素の算出に先立ち、ステップS317において、着目しているノード(x,y)に対応するヘッダ要素cx,yをゼロに初期化しているため、ステップS319において、着目しているノード(x,y)の子ノードが全てマークされている場合には、ノード(x,y)のヘッダ要素cx,yはゼロのままで記憶される。一方、着目しているノード(x,y)の子ノードが全てマークされていない場合には、ステップS321において、cx,yに新たな値が代入されるため、cx,yはゼロではない値を有することとなる。
上記のステップを繰り返すことで得られたヘッダ要素の全てを、第1ヘッダ要素算出部311は、第1ヘッダ情報生成部313へと受け渡す。また、第1ヘッダ要素算出部311は、算出したヘッダ要素を、記憶部303に記憶してもよい。
続いて、第1ヘッダ情報生成部313は、生成元gと、ステップS307で選択したtと、を用いて、gを計算する。また、ヘッダ要素cx,yがゼロではないヘッダ要素のみを利用して、ヘッダhを以下のように構成する(ステップS329)。
h=(g,c0,1,・・・,cH−1,X) (cx,y≠0) ・・・(式111)
第1ヘッダ情報生成部313は、ヘッダ情報を生成すると、生成したヘッダhを暗号化部321へと受け渡す。また、第1ヘッダ情報生成部313は、生成したヘッダhを、記憶部303に記憶してもよい。
続いて、暗号化部321は、暗号化されていない配信予定のコンテンツMをコンテンツ記憶部323から受け取り、第1セッション鍵決定部309が決定したセッション鍵sを用いて、以下のように、コンテンツMを暗号化する。その後、コンテンツ送信部325は、暗号化したコンテンツCを、第1ヘッダ情報生成部313が生成したヘッダhおよびノードインデックスの集合Sと共に、契約者へと送信する(ステップS331)。
C=E(M) ・・・(式110)
以上説明したように、本実施形態に係る暗号化フェーズは、図15に示したように、配信者517が、公開鍵PKと、自身が選択した乱数tとを用いて、セッション鍵sと、ヘッダhとを算出する。同時に、配信者517は、コンテンツを復号可能な契約者の集合Sも決定する。そして、配信者517は、同報通信路519を介して、契約者511、非契約者521を問わず、暗号化コンテンツC、ヘッダh、および集合Sを配信する。
<受信装置40の動作:復号フェーズ>
続いて、図17を参照しながら、本実施形態に係る受信装置40の動作、すなわち復号フェーズを、詳細に説明する。図17は、受信装置40による鍵処理方法である、復号フェーズの流れ図である。
まず、暗号化コンテンツC、ヘッダh、集合Sを受信部401により受信した受信装置40は、これらの情報を、一旦記憶部403に記憶する。この後、暗号化コンテンツCの復号処理が行われる。
受信装置40の復号方式選択部405は、集合Sから排除される契約者数rを算出し、以下の式111が成立するか否かを判断する(ステップS501)。式111が成立する場合には、復号方式選択部405は、第2復号処理部413に対して、以下のステップS503を実行するように指示を出す。また、式111が成立しない場合には、復号方式判定部405は、第1復号処理部407に対して、以下のステップS505を実行するように指示を出す。
Figure 2008113203
ステップS501において、上記の式111が成立した場合には、第2復号処理部413は、基盤技術である非特許文献1の復号フェーズのステップS55〜ステップS57を実行する(ステップS503)。その際、上記の非特許文献1の復号フェーズのステップS55〜ステップS57において、g=g’(j=1,・・・,B,B+2,・・・,2B)およびν=νH−2,i(i=1,・・・,A)として実行する。
具体的には、第2復号処理部413の判定部415が、自身が集合Sに含まれているか否かを判定し、自身が集合Sに含まれている場合に、第2セッション鍵算出部417が、自身が所有している個人秘密鍵と、送信されたヘッダhと、公開鍵とを用いて、セッション鍵sを算出する。その後、算出されたセッション鍵sを用いて、暗号化コンテンツCを、平文Mへと復号する。
ステップS501において、上記の式111が成立しなかった場合には、第1復号処理部407の判定部409は、記憶部403に記憶されている集合Sを参照して、自身に割り当てられたリーフからルートに至るまでの各ノードのうち、集合Sに含まれるものが存在するか否かを判定する(ステップS505)。判定の結果、集合Sに含まれるノードが存在しなければ、自身は排除されたものとして、以下の復号処理を終了する。また、判定の結果、集合Sに含まれるノードが存在する場合には、集合Sに含まれるノードのノードインデックスを(x’,y’)として、以下のステップS507を行うこととなる。
第1復号処理部407の第1セッション鍵算出部411は、受信部401が受信し記憶部403に記憶されているヘッダhの各要素のうち、ノード(x’,y’)の親ノード(x,y)に対応するヘッダ要素cx,yとgとを選択する(ステップS507)。ここで、ノード(x’,y’)の親ノード(x,y)は、以下の式で表される。
Figure 2008113203
また、第1セッション鍵算出部411は、公開鍵と、自身の個人秘密鍵dからノード(x’,y’)に対応する要素とを利用して、以下のようにセッション鍵sを取得する(ステップS507)。
Figure 2008113203
続いて、第1復号処理部407は、得られたセッション鍵sを用いて、暗号化されたコンテンツCを復号し、平文Mを得る(ステップS509)。
M=Ds(C) ・・・(式114)
以上、本実施形態に係る暗号鍵生成システム10における鍵生成、暗号化、および復号という三つのフェーズの一例を、詳細に説明した。
なお、コンピュータを、上述したような本実施形態に係る鍵生成装置20、暗号化装置30および受信装置40として機能させるためのコンピュータプログラムを、作成することも可能である。コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、そのコンピュータを上記の鍵生成装置20、暗号化装置30および受信装置40として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
続いて、以下では、本実施形態に係る暗号鍵生成システム10と、基盤技術である非特許文献1に記載のコンテンツ配信システムとの比較を行うこととする。
基盤技術である非特許文献1の切り替え方式は、あらかじめコンテンツ配信システムを二つ準備しておき、排除される契約者数に応じて、コンテンツ配信システムを配信毎に切り替えることにより、ヘッダサイズの削減を実現した方式である。しかしながら、排除される契約者が少ない場合において利用するコンテンツ配信システムとして、SDMを利用しているため、各契約者が保持する必要のある鍵数が非常に大きくなるという問題点が、存在する。
また、SDMを利用しているために、復号器は、Subset keyを導出するための擬似乱数生成器を備えなければならず、復号器のコストが増大する。さらに、SDMを利用する場合には、センタ以外のentityがコンテンツを配信不可能となるという問題点が存在する。
これに対して本実施形態では、非特許文献1の切り替え方式同様に、排除される契約者数に応じてコンテンツ配信システムを切り替えることにより、ヘッダサイズの削減を実現するものである。だが、非特許文献1の切り替え方式とは異なり、排除される契約者が少ない場合には、非特許文献1の一般化方式にパラメータを追加し、論理木構造を構築するようにして、さらに、この方式における論理木に、新たなパラメータを割り当てた方式を使用する。また、排除される契約者が多い場合には、非特許文献1の一般化方式を利用している。
ここで、非特許文献1の一般化方式にパラメータを追加し、論理木構造を構築するようにし、さらに、この方式における論理木に、新たなパラメータを割り当てた方式は、非特許文献1の一般化方式同様、非特許文献1の基本方式に基づいて構成されている。このため、コンテンツ配信システムを実現するために、両方式において必要なパラメータを、共有することが可能となり、各契約者が保持する必要のある鍵数を、基盤技術の方式よりも削減することを可能とする。
また、あらかじめ準備するいずれのコンテンツ配信システムにおいても、同様の暗号化、復号演算を実現しているため、復号器である受信装置において、擬似乱数生成器を保持する必要がなく、基盤技術の方式と比較して、復号器のコストを削減することが可能となっている。
さらに、いずれのコンテンツ配信システムも、公開鍵を利用したものであるため、コンテンツ配信時において、任意のentityがコンテンツを配信可能となっている。
以下、基盤技術と本実施形態との主な相違点について、フェーズ毎の違いに着目して説明するとともに、各契約者が保持する必要のある鍵数に関して、具体的な数値例を用いて比較する。
<鍵生成フェーズの相違点>
はじめに、鍵生成フェーズにおける相違点について述べる。非特許文献1の切り替え方式では、ステップS01からステップS23において、排除される契約者が多い場合に利用する非特許文献1の一般化方式による鍵生成フェーズを実行し、ステップS25およびステップS27において、排除される契約者が少ない場合に利用するSDMの鍵生成フェーズを実行している。
これに対して本実施形態では、ステップS101からステップS115において、排除される契約者が少ない場合に利用されるコンテンツ配信システムである、非特許文献1の一般化方式を根本的に改良した方式を実行しているが、それに加えて、排除される契約者が多い場合に利用されるコンテンツ配信システムである、非特許文献1の一般化方式におけるパラメータも、同時に生成している。
非特許文献1の切り替え方式では、ステップS11およびステップS13において、一般化方式の各種パラメータを設定した後、ステップS15において、契約者をB人毎A個のサブグループに分割している。ここで、本実施形態においても同様に、ステップS101およびステップS103において、各種パラメータを設定しているが、ステップS103において、さらに排除される契約者が多い場合のコンテンツ配信システム用パラメータとして、乱数α’を生成している。また、ステップS105では、ステップS15同様に、契約者をB人ごとA個のサブグループに分割しているが、これに加えて本実施形態では、B>Yを満たすY分木を構成し、契約者をY人ごとX個のサブグループに分割している。
さらにステップS17では、一般化方式におけるパラメータg(i=1,・・・,B,B+2,・・・,2B)のみを計算しているのに対して、本実施形態では、排除される契約者が少ない場合に用いるパラメータ

Figure 2008113203
と、排除される契約者数が多い場合に用いる、非特許文献1の一般化方式におけるパラメータ

Figure 2008113203
を生成している。非特許文献1の切り替え方式では、ステップS19において、各サブグループに対応するヘッダ要素を一つにまとめるためのセンタ秘密であるγ,・・・,γ、および、それらに対応する公開の値ν,・・・,νが、サブグループの分割数であるA個必要となるのに対し、本実施形態では、ステップS103において構成したY分木のうち、リーフを除く全てのノードに対して、サブグループを構成することが可能になるため、リーフを除く全ノード数であるN個の値が必要となる。ただし、これらの値は、排除される契約者が多い場合に利用する非特許文献1の一般化方式においても、利用可能である。
これらパラメータを設定したのち、非特許文献1の切り替え方式では、ステップS25において、SDMを利用する場合における論理木の構成を行い、ステップS27において、SDMにおける秘密鍵であるラベルを生成し、ステップS23で生成した一般化方式の個人秘密鍵と共に、各契約者に配信している。
これに対して本実施形態では、ステップS111において、各パラメータを論理木に割り当てた後、ステップS113において公開鍵を公開し、ステップS115において、各契約者に割り当てられたノードに対応する個人秘密鍵を生成すると同時に、非特許文献1の一般化方式における個人秘密鍵に対応する

Figure 2008113203
を計算し、各契約者に配信している。これにより、非特許文献1の切り替え方式と比較して、排除される契約者が多い場合に利用する一般化方式において利用する鍵数は同数であるが、少ない場合に利用するコンテンツ配信システムにおいて利用する鍵数が、基盤技術である非特許文献1ではSDMを利用しているためO(logn)となるが、本実施形態ではO(logn)となる。
<暗号化フェーズの相違点>
次に、暗号化フェーズに関して説明する。非特許文献1の切り替え方式では、ステップS31において、排除される契約者数が(n)1/2よりも少ない場合はSDMを利用し、そうでなければ非特許文献1の一般化方式を利用するという判断を行っている。これに対して本実施形態では、ステップS301において、排除される契約者数rに対し、

Figure 2008113203
が成立する場合には非特許文献1の一般化方式を利用し、そうでなければ、非特許文献1の一般化方式を根本的に改良した方式を利用するという判断を行っている。ここで、上記の式107は、非特許文献1の一般化方式を根本的に改良した方式における、ヘッダサイズを表している。
上記のように、ステップS301では、決定した排除される契約者数によって導出される非特許文献1の一般化方式を根本的に改良した方式のヘッダサイズが、非特許文献1の一般化方式よりも少ない場合には、非特許文献1の一般化方式を根本的に改良した方式を利用するようになっている。
これにより、非特許文献1の切り替え方式同様、排除される契約者数に応じたヘッダサイズの削減を実現しているが、もっとも大きな違いは、非特許文献1の切り替え方式では、共通鍵を利用したコンテンツ配信システムであるSDMを利用しているのに対して、本実施形態では、公開鍵を利用したコンテンツ配信システムである、非特許文献1の一般化方式を根本的に改良した方式を利用しているという点である。これにより、本実施形態では、いずれのコンテンツ配信システムを利用した場合でも、任意のentityがコンテンツを配信可能としている。
<復号フェーズの相違点>
最後に、復号フェーズに関して述べる。復号フェーズでは、ステップS51およびステップS501において、二つのコンテンツ配信システムのうちいずれの方式が利用されているかを判断している。判断の結果、排除される契約者数が少ない場合には、基盤技術である非特許文献1の切り替え方式は、ステップS53においてSDMによるセッション鍵の取得を行っているのに対し、本実施形態はステップS503において、非特許文献1の一般化方式を根本的に改良した方式によるセッション鍵の取得を行っている。
ここで、SDMにおけるセッション鍵の取得には、擬似乱数生成器が必要となるが、非特許文献1の一般化方式を根本的に改良した方式では、非特許文献1の一般化方式における復号と同様の動作を行うため、復号器である受信装置に、擬似乱数生成器を備える必要がない。以降の復号フェーズに関しては、それぞれ非特許文献1の一般化方式と、非特許文献1の一般化方式を根本的に改良した方式における復号フェーズの動作と同様である。
<ヘッダサイズに関する比較>
非特許文献1の切り替え方式では、あらかじめ二つのコンテンツ配信システムとして、共通鍵を利用したSDMと公開鍵を利用した非特許文献1の一般化方式を準備しておき、配信時に排除される契約者が少ない場合には、ヘッダサイズを削減することが可能となるSDMを利用し、排除される契約者が多い場合には、排除される契約者数に関わらずヘッダサイズが一定となる非特許文献1の一般化方式を利用している。これにより、排除される契約者が少ない場合にはヘッダサイズを削減し、多い場合においても一定の範囲内に収めることが可能となるため、効率よくコンテンツを配信することが可能となっている。
しかしながら、排除される契約者が少ない場合にSDMを利用しているため、各契約者は、非特許文献1の一般化方式における個人秘密鍵に加え、SDMに対応する鍵を保持する必要がある。SDMは、共通鍵を利用した木構造によるコンテンツ配信システムであり、ヘッダサイズを削減する場合には有効な方式であるが、各契約者が保持する必要のある鍵数が、O(logn)となる。これは、SDMにおいて利用する論理木の高さである、log nの二乗に比例する数の鍵を保持する必要があることを示しており、各契約者が保持する鍵数が大きくなるというSDMの問題点が、そのまま非特許文献1の切り替え方式における問題点となる。
また、SDMでは、各契約者は、自身が排除されていない場合の全Subset に対応するSubset keyを、ラベルから生成する必要があるが、この際に、擬似乱数生成演算を行う必要がある。このため、SDMを利用した場合には、復号器である受信装置が、擬似乱数生成器を保持する必要があり、復号器を作成するための時間や費用面におけるコストが、増大するという問題点が存在する。これはそのまま非特許文献1の切り替え方式における問題点となる。
さらには、SDMが共通鍵を利用したコンテンツ配信システムであることから、排除される契約者が少ない場合においては、センタ以外はSubset keyを生成不可能となるため、センタ以外のentityがコンテンツを配信不可能となる。よって、排除される契約者数によっては、コンテンツを配信可能なentityが制限されてしまうことにより、システムの柔軟性や機能面での利点を制限するといった問題点が存在する。
これに対して本実施形態は、非特許文献1の切り替え方式同様、排除される契約者数に応じてコンテンツ配信システムを切り替えることにより、排除される契約者数に関わらず効率的なコンテンツ配信を実現するものである。基盤技術とのもっとも大きな違いは、排除される契約者が少ない場合におけるコンテンツ配信方式として、非特許文献1の一般化方式を根本的に改良した方式を利用する点である。この方式は、非特許文献1の一般化方式に若干のパラメータを追加することによって論理木を構成し、特に排除される契約者が少ない場合において、効率的にコンテンツを配信可能な方式である。
論理木を構成することによって、契約者が保持する鍵数は増加するが、SDMを利用した基盤技術では契約者が保持する必要のある鍵数がO(logn)で表されるのに対し、本実施形態ではO(logn)となる。これは、SDMは、契約者数nの増加に対して契約者が保持する必要のある鍵数はlognに比例して増加するのに対し、本実施形態ではlogNに比例して増加することを意味している。ここで、Yは論理木の分岐数であるためY≧2であり、任意の正整数nに対してlogn≦logNである。よって、本実施形態は基盤技術と比較して、契約者が保持する必要のある鍵数の増加を、大幅に削減することが可能であることが分かる。
例えば、n=220=410=1048576、Y=4とした場合、SDMを利用した場合の鍵数は(1/2)logn+(1/2)log n+1=211であるのに対して、本実施形態ではlogn=10となり、本実施形態における鍵数の方が、圧倒的に少なくなることが分かる。
また、SDMを利用した場合には、復号器において非特許文献1の一般化方式に対応するための復号機構とは別に、ラベルからSubset keyを生成するための擬似乱数生成器が必要となるが、本実施形態において利用する、非特許文献1の一般化方式を根本的に改良した方式の復号動作は、本質的に非特許文献1の一般化方式における復号動作と同等であるため、擬似乱数生成器を保持する必要がなくなる。これにより、復号器を構成する際の時間や経済的コストを削減することが可能となっている。
さらに、本実施形態において利用する、非特許文献1の一般化方式を根本的に改良した方式は、非特許文献1の一般化方式同様、公開鍵を利用したコンテンツ配信システムである。そのため、契約者数の増減に関わらず、任意のentityがコンテンツを配信可能となっている。これは、コンテンツ配信システムとしての機能制限を行う必要がないことを示している。
以上、基盤技術と比較しながら説明したように、本発明は、公開鍵を利用したコンテンツ配信方式の一方式であり、基盤技術と比較して、以下の特徴を有する。
第1に、排除される契約者数が存在しない、もしくは少ない場合におけるコンテンツ配信システムとして、非特許文献1の一般化方式を根本的に改良した方式を利用する。
第2に、排除される契約者数が増加した場合におけるコンテンツ配信システムとして、非特許文献1の一般化方式を利用する。
第3に、上記のようにしてコンテンツ配信システムを構成することにより、非特許文献1において示されたSDMと一般化方式を利用する方法よりも、各契約者が保持する個人秘密鍵サイズを、削減することが可能である。
(第1変形例)
本発明は、あらかじめ二つのコンテンツ配信システムを準備しておき、排除される契約者数に応じて、配信効率が良い、すなわちヘッダサイズが小さい方のコンテンツ配信システムを選択し、それを用いてコンテンツ配信を実現している。したがって、コンテンツ配信時には、暗号化フェーズのステップS301に示したように、排除される契約者数によって、コンテンツ配信システムを切り替える必要がある。また、復号時においても、復号フェーズのステップS501に示したように、いずれのコンテンツ配信システムが利用されているかを、判断する必要がある。
ここで、復号時における判断は、コンテンツ配信時における判断と同一であるため、コンテンツ配信時における判断結果のみをヘッダと共に配信すれば、配信する情報量は若干増加するものの、各契約者による、コンテンツ配信システムを決定するために必要となる演算を、削減することが可能となる。
そこで、本変形例では、第1の実施形態における暗号化フェーズのステップS301とステップS331、および、復号フェーズのステップS501の構成を若干変更することによって、各契約者におけるコンテンツ配信システム決定のための演算を、削減することが可能となる。以下に、具体的な方法について記載する。なお、本変形例に係る暗号化装置30や受信装置40のハードウェア構成等は、第1の実施形態におけるものと同様である。
以下に、コンテンツ配信に利用されているコンテンツ配信システムに関する情報を追加することにより、各契約者におけるコンテンツ配信システムを決定するための演算を削減する変形例を示す。なお、この変形例は、本発明の第1の実施形態において示した、暗号化フェーズのステップS301、および、復号フェーズのステップS501のみが異なるため、変更点についてのみ説明する。
<暗号化フェーズの変更点>
この変形例では、第1の実施形態による暗号化フェーズにおいて、ステップS301、ステップS303およびステップS331を、以下に示す新たなステップS301a、ステップS303aおよびステップS331aへと変更する。
暗号化装置30のセッション鍵選択部307は、記憶部303等を参照しながら、排除される契約者数rを決定し、上記の式107を満たすか否かを判定する(ステップS301a)。排除される契約者数rが式107を満たす場合には、コンテンツ配信システム判断用情報IをI=1として、ステップS303に進む(ステップS301a)。また、排除される契約者数rが式107を満たさない場合には、I=0として、ステップS305に進む(ステップS301a)。
ステップS301aにおいて、上記の式107が成立した場合には、第2セッション鍵決定部315は、コンテンツを復号可能な契約者の集合Sを決定するとともに、基盤技術である非特許文献1の暗号化フェーズのステップS37〜ステップS41を、実行する(ステップS303a)。その際、上記の非特許文献1の暗号化フェーズのステップS37〜ステップS41において、g=g’(j=1,・・・,B,B+2,・・・,2B)およびν=νH−2,i(i=1,・・・,A)として実行する。
上記のようにして各ステップを実行することで、第2セッション鍵決定部315がセッション鍵sを決定するとともに、第2ヘッダ要素算出部317がヘッダ要素を算出し、第2ヘッダ情報生成部319が、ヘッダhを算出する。得られたセッション鍵sに基づいて、暗号化装置30の暗号化部321がコンテンツを暗号化し、コンテンツ送信部325は、暗号化コンテンツC、ヘッダh、集合S、および、コンテンツ配信システム判断用情報Iを、契約者へと送信する(ステップS303a)。
暗号化装置30の暗号化部321は、暗号化されていない配信予定のコンテンツMをコンテンツ記憶部323から受け取り、第1セッション鍵決定部309が決定したセッション鍵sを用いて、以下のように、コンテンツMを暗号化する。その後、暗号化したコンテンツCを、第1ヘッダ情報生成部279が生成したヘッダh、ノードインデックスの集合Sおよびコンテンツ配信システム判断用情報Iと共に、契約者へと送信する(ステップS331a)。
<復号フェーズの変更点>
続いて、第1の実施形態の復号フェーズにおいて、ステップS501を、以下に示す新たなステップS501aへと変更する。
まず、暗号化コンテンツC、ヘッダh、集合Sおよびコンテンツ配信システム判断用情報Iを受信部401により受信した受信装置40は、これらの情報を、一旦記憶部403に記憶する。この後、暗号化コンテンツCの復号処理が行われる。
受信装置40の復号方式選択部405は、記憶部403に記憶されているコンテンツ配信システム判断用情報Iを取得し、Iが1か否かを判定する(ステップS501a)。判定の結果、I=1であった場合には、復号方式選択部405は、第2復号処理部413に対して、以下のステップS503を実行するように指示を出す。また、I=1でない場合、すなわち、I=0であった場合には、復号方式判定部405は、第1復号処理部407に対して、以下のステップS505を実行するように指示を出す。
以上説明したような本実施形態を実現することにより、配信する情報は若干増加するものの、各契約者における演算を、削減することが可能となる。
(第2変形例)
上記の第1変形例では、コンテンツ配信システム判断用情報Iを利用することによって、各契約者における演算を削減する方法を示した。これに加えて、いずれのコンテンツ配信システムを利用するかの判断基準を変更することにより、ヘッダサイズを削減可能となる場合も存在する。以下に、上記の変更例を、第2変形例として説明する。
本発明の第1の実施形態における暗号化フェーズのステップS301では、排除される契約者数rに対し、非特許文献1の一般化方式を根本的に改良した方式を利用した場合の最大ヘッダサイズを表す、以下の式115による計算結果と、非特許文献1の一般化方式を利用した場合のヘッダサイズであるA+1とを比較し、いずれか小さい方のコンテンツ配信システムを利用している。
Figure 2008113203
ここで、上記の式115は、排除される契約者数rに対してヘッダサイズが最大となる場合を表しているが、排除される契約者に割り当てられたリーフが、特定のノードの子ノードとしてまとまっているような場合には、非特許文献1の一般化方式を根本的に改良した方式におけるヘッダサイズは、上記の式115によって導出される値よりも小さくなる。
このような場合には、第1実施形態における暗号化フェーズにおいて、ステップS301の判断基準を適用するよりも、排除される契約者数rに対して、両方のコンテンツ配信システムにおける具体的なヘッダサイズを比較し、ヘッダサイズが小さくなる方のコンテンツ配信システムを利用した方が、効率的にコンテンツを配信可能となる。
以下に、コンテンツ配信に利用されているコンテンツ配信システムに関する情報を追加することにより、各契約者におけるコンテンツ配信システムを決定するための演算を削減する変形例を示す。なお、本変形例は、第1実施形態において示した暗号化フェーズのステップS301、および、復号フェーズのステップS501のみが異なるため、変更点についてのみ説明する。
<暗号化フェーズの変更点>
本変形例では、第1実施形態の暗号化フェーズにおいて、ステップS301を、以下に示す新たなステップS301bに変更し、さらに、ステップS303およびステップS331を、それぞれ第2実施形態に示したステップS303a、ステップS331aへと変更する。
暗号化装置30のセッション鍵選択部307は、記憶部303等を参照しながら、排除される契約者を決定した後、排除される契約者数rに対して、非特許文献1の一般化方式を根本的に改良した方式を利用した場合におけるヘッダサイズhs1と、非特許文献1の一般化方式を利用した場合におけるヘッダサイズhs2を計算し、hs1とhs2の大小関係を判定する(ステップS301b)。hs1およびhs2が、hs1>hs2の条件を満たすならば、コンテンツ配信システム判断用情報IをI=1として、ステップS303に進む。また、hs1およびhs2が上記の条件を満たさないのであれば、I=0として、ステップS305に進む。
ステップS301bにおいて、hs1>hs2が成立した場合には、第2セッション鍵決定部315は、コンテンツを復号可能な契約者の集合Sを決定するとともに、基盤技術である非特許文献1の暗号化フェーズのステップS37〜ステップS41を、実行する(ステップS303a)。その際、上記の非特許文献1の暗号化フェーズのステップS37〜ステップS41において、g=g’(j=1,・・・,B,B+2,・・・,2B)およびν=νH−2,i(i=1,・・・,A)として実行する。
上記のようにして各ステップを実行することで、第2セッション鍵決定部315がセッション鍵sを決定するとともに、第2ヘッダ要素算出部317がヘッダ要素を算出し、第2ヘッダ情報生成部319が、ヘッダhを算出する。得られたセッション鍵sに基づいて、暗号化装置30の暗号化部321がコンテンツを暗号化し、コンテンツ送信部325は、暗号化コンテンツC、ヘッダh、集合S、および、コンテンツ配信システム判断用情報Iを、契約者へと送信する(ステップS303a)。
暗号化装置30の暗号化部321は、暗号化されていない配信予定のコンテンツMをコンテンツ記憶部323から受け取り、第1セッション鍵決定部309が決定したセッション鍵sを用いて、以下のように、コンテンツMを暗号化する。その後、暗号化したコンテンツCを、第1ヘッダ情報生成部313が生成したヘッダh、ノードインデックスの集合Sおよびコンテンツ配信システム判断用情報Iと共に、契約者へと送信する(ステップS331a)。
<復号フェーズの変更点>
本変形例では、コンテンツ配信システムを選択する際の判断基準を変更している以外は、第1変形例と同様の変更を実施するのみである。よって、復号フェーズにおける変更点は、第1変形例と同様に、ステップS501をステップS501aへと変更するのみである。
以上説明したように、本発明の第1の実施形態に加え、第1変形例、第2変形例を実現することにより、コンテンツ配信時における通信路や、復号器に要求される条件等の違いに応じた、効率的なコンテンツ配信を実現することが可能となる。
本発明の効果をより詳細に説明するために、具体例として、パラメータn,A,B,X,Yを小さな値に設定した場合における、契約者が保持する必要のある鍵数の比較を、図18に示す。
非特許文献1の一般化方式では、分割されたサブグループに含まれる契約者数Bの値を、契約者数nに対してB=(n)1/2として設定することを推奨している。これに対して、本発明の各実施形態では、非特許文献1のBに対応するパラメータである論理木の分岐数Yを、Y≦Bと設定することにより、ヘッダサイズ及び計算量の点で効率化を図ることが可能である。よって以下では、比較のため契約者数nを同一とし、Y<Bと設定した。非特許文献1の切り替え方式と、本実施形態における鍵数の比較を、図18に示す。
具体的な数値として、図18では、各パラメータを、n=256、A=16、B=16、X=32、Y=4とする。図18の横軸は、契約者の総数を表し、縦軸は、各契約者が保持する必要のある個人秘密鍵数を表す。また、図18における実線は、非特許文献1の切り替え方式における鍵数、破線は、本実施形態における鍵数を表している。
図18より明らかなように、契約者総数nの値に関わらず、本実施形態に係る方式の方が、鍵数を少なくすることが可能となっている。さらにそのうえ、契約者総数nの増加に伴って、本実施形態に係る方式の方が、非特許文献1の切り替え方式よりも、鍵数をより少なく抑えられることがわかった。
以上より、本実施形態を適用することにより、非特許文献1の切り替え方式同様、排除される契約者数によらず効率的なコンテンツ配信を実現しつつ、公開鍵を利用したコンテンツ配信システムの利便性の確保、契約者が保持する鍵数の削減、および効率的な復号器の構成を実現することが可能となる。
以上説明したように、本発明の各実施形態は、あらかじめ二つのコンテンツ配信システムを準備しておき、配信する状況に応じてコンテンツ配信システムを切り替えるというコンテンツ配信システムにおいて、従来の方式よりも、各契約者が保持する鍵数の削減、および効率的な復号器を実現する方法である。本発明の実施により、従来のシステムを切り替え可能なコンテンツ配信システムと比較して、契約者が保持する鍵数を削減すること、および、復号器を構成する際のコストを削減することが可能である。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記の木構造構成部235は、上から下に枝が広がった木構造を想定していたが、必ずしもこれに限定されず、下から上、左から右、又は右から左に向かって枝が広がった木構造を有していてもよい。
また、本明細書の各流れ図における各ステップは、必ずしも流れ図として記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むとしても良い。
本発明の好適な実施形態に係る暗号鍵生成システムを説明するための説明図である。 同実施形態に係る鍵生成装置のハードウェア構成を説明するためのブロック図である。 本発明の基盤技術の基本方式に係る鍵生成の概略を説明するための説明図である。 本発明の基盤技術の一般化方式に係る鍵生成の概略を説明するための流れ図である。 本発明の基盤技術の一般化方式に係る鍵生成フェーズを説明するための流れ図である。 本発明の基盤技術の一般化方式に係る暗号化の概略を説明するための説明図である。 本発明の基盤技術の一般化方式に係る暗号化フェーズを説明するための流れ図である。 本発明の基盤技術の一般化方式に係る復号フェーズを説明するための流れ図である。 本発明の好適な実施形態に係る鍵生成装置の構成を説明するためのブロック図である。 同実施形態に係る暗号化装置の構成を説明するためのブロック図である。 同実施形態に係る受信装置の構成を説明するためのブロック図である。 同実施形態に係る論理木の具体例を説明するための説明図である。 同実施形態に係る鍵生成の概略を説明するための説明図である。 同実施形態に係る鍵生成フェーズを説明するための流れ図である。 同実施形態に係る暗号化の概略を説明するための説明図である。 同実施形態に係る暗号化フェーズを説明するための流れ図である。 同実施形態に係る復号フェーズを説明するための流れ図である。 契約者が保持する個人秘密鍵数を比較したグラフ図である。
符号の説明
10 暗号鍵配信システム
12 通信網
14 リムーバブル記録媒体
20 鍵生成装置
30 暗号化装置
40 受信装置
201 CPU
203 ROM
205 RAM
207 HDD
209 暗号処理部
211 メモリ
213 バス
215 入出力インターフェース
217 入力部
219 出力部
221 通信部
223 ドライブ
231 双線形群決定部
233 第1処理部
235 木構造構成部
237 パラメータ割当部
239 第1乱数決定部
241 第1リーフキー割当部
243 第1鍵算出部
245 第2処理部
247 第2乱数決定部
249 第2リーフキー割当部
251 第2鍵算出部
253 記憶部
255 木構造記憶部
257 乱数記憶部
259 リーフキー記憶部
261 パラメータ記憶部
263 鍵記憶部
264 配布部
265 送信部
267 公開鍵公開部
301 受信部
303 記憶部
305 排除受信装置特定部
307 セッション鍵選択部
309 第1セッション鍵決定部
311 第1ヘッダ要素算出部
313 第1ヘッダ情報生成部
315 第2セッション鍵決定部
317 第2ヘッダ要素算出部
319 第2ヘッダ情報生成部
321 暗号化部
323 コンテンツ記憶部
325 コンテンツ送信部
401 受信部
403 記憶部
405 復号方式選択部
407 第1復号処理部
409、415 判定部
411 第1セッション鍵算出部
417 第2セッション鍵算出部

Claims (24)

  1. 相異なる暗号鍵をそれぞれ生成する第1処理部および第2処理部を備える、鍵生成装置であって、
    前記第1処理部は、
    n個の受信装置がリーフに割り当てられ、高さが(logn)で表されるY分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成する、木構造構成部と、
    前記リーフおよび前記中間ノードそれぞれに対して、リーフキーgを割り当てる第1リーフキー割当部と、
    前記中間ノードおよび前記ルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当てるパラメータ割当部と、
    前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνx,yおよび前記ノードパラメータγx,yに基づいて、鍵を算出する第1鍵算出部と、
    を備え、
    前記第2処理部は、前記n個の受信装置を、前記Y以上の整数Bに基づいてグループ化し、前記受信装置の暗号鍵を算出することを特徴とする、鍵生成装置。
  2. 前記鍵生成装置は、前記第1処理部または前記第2処理部により算出された鍵セットを、各受信装置にそれぞれ配布する配布部を、更に備えることを特徴とする、請求項1に記載の鍵生成装置。
  3. 前記鍵生成装置は、素数pを無作為に選択し、前記素数pを位数とする双線形群Gを決定し、前記Gの生成元であるgを無作為に選択する双線形群決定部を更に備え、
    前記パラメータ割当部は、前記リーフを除く全てのノードそれぞれに、ノードパラメータγx,y(γx,yは整数)を無作為に選択し、前記生成元gおよび前記ノードパラメータγx,yに基づき、以下の式Aを用いて前記中間ノードおよび前記ルートに前記パラメータνx,yを割り当てることを特徴とする、請求項1に記載の鍵生成装置。

    Figure 2008113203
  4. 前記第1処理部は、
    秘密の乱数α(αは整数)を無作為に選択する第1乱数決定部を更に備え、
    前記第1リーフキー割当部は、
    以下の式Bに基づき、前記リーフキーgを算出し、
    前記第1鍵算出部は、
    前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgの、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータγx,y乗で得られる値を、秘密鍵とすることを特徴とする、請求項3に記載の鍵生成装置。

    Figure 2008113203
    (y=1,2,・・・,Y,Y+2,・・・,2Y)
  5. 前記第2処理部は、
    秘密の乱数α’(α’は整数)を無作為に選択する第2乱数決定部と、
    前記リーフに対して、リーフキーg (b=1,2,・・・,B)を割り当てる第2リーフキー割当部と、
    前記リーフキーg に基づき、各受信装置の暗号鍵を算出する第2鍵算出部と、
    を備え、
    前記第2リーフキー割当部は、前記第2乱数決定部で決定された前記乱数α’に基づいて、以下の式Cを満たすリーフキーg を算出することを特徴とする、請求項4に記載の鍵生成装置。

    Figure 2008113203
    (b=1,2,・・・,B,B+2,・・・,2B)
  6. 前記配布部は、前記第1処理部において得られた第1の秘密鍵および前記第2処理部において得られた第2の秘密鍵の双方を各受信装置に送信する送信部を、備えることを特徴とする、請求項1に記載の鍵生成装置。
  7. n個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する排除受信装置特定部を備えることを特徴とする、暗号化装置。
  8. 前記暗号化装置は、
    前記排除される受信装置の個数rが、以下の式Dを満たすか否かを判定し、
    前記排除される受信装置の個数rが前記式Dを満たす場合には、前記第2処理部によって生成された鍵を利用してセッション鍵を生成する、第2セッション鍵決定部を選択し、
    前記排除される受信装置の個数rが前記式Dを満たさない場合には、前記第1処理部によって生成された鍵を利用してセッション鍵を生成する、第1セッション鍵決定部を選択する、セッション鍵選択部を更に備えることを特徴とする、請求項7に記載の暗号化装置。

    Figure 2008113203
  9. 前記第1セッション鍵決定部は、t(tは整数)を無作為に選択して、セッション鍵s=e(g,gを決定することを特徴とする、請求項8に記載の暗号化装置。
    ここで、前記e(g,g)は、双線形群上の2つの元g、gに対する双線形写像を示す。
  10. 前記第1セッション鍵決定部は、
    階層化された木構造において、前記排除された受信装置のリーフから前記ルートに至るパス上に存在する全てのノードそれぞれにマークをし、前記マークされたノードに割り当てられたパラメータνx,yと、前記マークされたノードを親ノードとする中間ノードに割り当てられた前記リーフキーgとを用いて、以下の式Eで表される第1ヘッダ要素を算出する、第1ヘッダ要素算出部と、
    前記第1ヘッダ要素算出部において得られた前記第1ヘッダ要素cx,yと、gと、をヘッダ情報とする第1ヘッダ情報生成部と、
    を更に備えることを特徴とする、請求項9に記載の暗号化装置。

    Figure 2008113203
    ここで、Sx,yは、前記マークされたノードを親ノードとする各サブグループに所属する、マークされていない子ノードの集合を示す。
  11. 前記第2セッション鍵決定部は、t(tは整数)を無作為に選択して、セッション鍵s=e(g,gを決定することを特徴とする、請求項10に記載の暗号化装置。
    ここで、前記e(g,g)は、双線形群上の2つの元g、gに対する双線形写像を示す。
  12. 前記第2セッション鍵決定部は、
    前記リーフの親ノードを子ノードとする中間ノードに割り当てられたパラメータνx,yと、前記リーフに割り当てられた前記リーフキーg と、を用いて、以下の式Fで表される第2ヘッダ要素を算出する、第2ヘッダ要素算出部と、
    前記第2ヘッダ要素算出部において得られた前記第2ヘッダ要素cと、前記gと、をヘッダ情報とする第2ヘッダ情報生成部と、
    を更に備えることを特徴とする、請求項11に記載の暗号化装置。

    Figure 2008113203
  13. 前記暗号化装置は、前記第1セッション鍵決定部によるセッション鍵s、または、前記第2セッション鍵決定部によるセッション鍵sのいずれかを用いて、配信するコンテンツを暗号化する暗号化部を更に備えることを特徴とする、請求項9に記載の暗号化装置。
  14. 鍵生成装置および暗号化装置と通信可能な受信装置であって、
    前記鍵生成装置において、n個の受信装置がリーフに割り当てられ、高さが(logn)で表されるY分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成し、前記リーフおよび前記中間ノードそれぞれに対して、リーフキーgを割り当て、前記中間ノードおよび前記ルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当て、前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνx,yおよび前記ノードパラメータγx,yに基づいて算出された暗号鍵と、前記n個の受信装置を、前記Y以上の整数Bに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信部を備えることを特徴とする、受信装置。
  15. 前記受信部は、排除する受信装置が特定された情報である、排除されていない受信装置の集合Sに関する情報を更に受信することを特徴とする、請求項14に記載の受信装置。
  16. 前記受信装置は、
    排除されていない受信装置の集合Sから排除される受信装置の個数rを算出し、前記排除される受信装置の個数rが、以下の式Gを満たすか否かを判定する、復号方式選択部を更に備え、
    前記復号方式選択部は、
    前記排除される受信装置の個数rが前記式Gを満たす場合には、第2復号処理部を選択し、
    前記排除される受信装置の個数rが前記式Gを満たさない場合には、第1復号処理部を選択することを特徴とする、請求項15に記載の受信装置。

    Figure 2008113203
  17. 前記第1復号処理部は、
    受信装置が前記集合Sに含まれているか否かを判定する判定部と、
    秘密鍵に基づきセッション鍵sを算出する、第1セッション鍵算出部と、
    を備え、
    前記判定部において、受信装置が前記集合Sに含まれていると判断された場合、前記第1セッション鍵算出部は、前記セッション鍵sを、以下の式Hに基づいて算出することで、前記暗号化コンテンツを復号化することを特徴とする、請求項16に記載の受信装置。

    Figure 2008113203
  18. 前記第2復号処理部は、
    受信装置が前記集合Sに含まれているか否かを判定する判定部と、
    秘密鍵に基づきセッション鍵sを算出する、第2セッション鍵算出部と、
    を備え、
    前記判定部において、受信装置が前記集合Sに含まれていると判断された場合、前記第2セッション鍵算出部は、前記セッション鍵sを、以下の式Iに基づいて算出することで、前記暗号化コンテンツを復号化することを特徴とする、請求項17に記載の受信装置。

    Figure 2008113203
  19. n個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成する、木構造構成ステップと、
    前記リーフおよび前記中間ノードそれぞれに対して、リーフキーgを割り当てる第1リーフキー割当ステップと、
    前記中間ノードおよび前記ルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当てるパラメータ割当ステップと、
    前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνx,yおよび前記ノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第1鍵算出ステップと、
    前記n個の受信装置を、前記Y以上の整数Bに基づいてグループ化し、前記受信装置の暗号鍵を算出する第2鍵算出ステップと、
    を備えることを特徴とする、鍵作成方法。
  20. n個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する排除受信装置特定ステップを備えることを特徴とする、暗号化方法。
  21. n個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成し、前記リーフおよび前記中間ノードそれぞれに対して、リーフキーgを割り当て、前記中間ノードおよび前記ルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当て、前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνx,yおよび前記ノードパラメータγx,yに基づいて算出された暗号鍵と、前記n個の受信装置を、前記Y以上の整数Bに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信ステップを備えることを特徴とする、鍵処理方法。
  22. コンピュータに、
    n個の受信装置がリーフに割り当てられ、高さが(logn)で表されるY分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成する、木構造構成機能と、
    前記リーフおよび前記中間ノードそれぞれに対して、リーフキーgを割り当てる第1リーフキー割当機能と、
    前記中間ノードおよび前記ルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当てるパラメータ割当機能と、
    前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνx,yおよび前記ノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第1鍵算出機能と、
    前記n個の受信装置を、前記Y以上の整数Bに基づいてグループ化し、前記受信装置の暗号鍵を算出する第2鍵算出機能と、
    を実現させるためのプログラム。
  23. コンピュータに、n個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Sを決定する排除受信装置特定機能を実現させるためのプログラム。
  24. コンピュータに、n個の受信装置をリーフに割り当て、高さが(logn)で表されるY分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成し、前記リーフおよび前記中間ノードそれぞれに対して、リーフキーgを割り当て、前記中間ノードおよび前記ルートに、相異なるパラメータνx,y(x:階層、y:1,2,・・・,Y)とノードパラメータγx,y(x:階層、y:1,2,・・・,Y)とをそれぞれ割り当て、前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーgと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνx,yおよび前記ノードパラメータγx,yに基づいて算出された暗号鍵と、前記n個の受信装置を、前記Y以上の整数Bに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信機能を実現させるためのプログラム。
JP2006294647A 2006-10-30 2006-10-30 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム Pending JP2008113203A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006294647A JP2008113203A (ja) 2006-10-30 2006-10-30 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006294647A JP2008113203A (ja) 2006-10-30 2006-10-30 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008113203A true JP2008113203A (ja) 2008-05-15
JP2008113203A5 JP2008113203A5 (ja) 2009-10-22

Family

ID=39445479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006294647A Pending JP2008113203A (ja) 2006-10-30 2006-10-30 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2008113203A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805952B2 (en) 2013-08-06 2020-10-13 Sony Corporation Infrastructure equipment, wireless communications network and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004520743A (ja) * 2001-01-26 2004-07-08 インターナショナル・ビジネス・マシーンズ・コーポレーション ブロードキャスト暗号化およびステートレス・レシーバの鍵取消の方法
JP2005526453A (ja) * 2002-05-21 2005-09-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 条件付きアクセス・システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004520743A (ja) * 2001-01-26 2004-07-08 インターナショナル・ビジネス・マシーンズ・コーポレーション ブロードキャスト暗号化およびステートレス・レシーバの鍵取消の方法
JP2005526453A (ja) * 2002-05-21 2005-09-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 条件付きアクセス・システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805952B2 (en) 2013-08-06 2020-10-13 Sony Corporation Infrastructure equipment, wireless communications network and method

Similar Documents

Publication Publication Date Title
JP4984827B2 (ja) 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
US7739492B2 (en) Encrypted communication for selectively delivering a message to multiple decrypting devices
WO2005099167A1 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
CN101663856B (zh) 密钥提供系统、密钥提供装置、终端设备、密钥提供方法和密钥生成方法
KR20090090308A (ko) 정보처리장치
US8300816B2 (en) Information processing unit, terminal unit, information processing method, key generation method and program
KR20090127716A (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
JP2008131076A (ja) 情報処理装置、端末装置、情報処理方法、鍵生成方法、及びプログラム
JP2008131072A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP2008113203A (ja) 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
JP2010117384A (ja) 情報処理装置、情報処理方法およびプログラム
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
US20090177888A1 (en) Information processing device, key setting method, and program
JP2005123678A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US8150040B2 (en) Key providing system, terminal device, and information processing method
JP2009065345A (ja) Sd法におけるクライアント端末被覆方法およびプログラム
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP5557707B2 (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
Kanade A Novel Method for Embedding Multiple Video Frames into A Single Video Stream by Utilizing Genetic Algorithm
JP2008131079A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP6275536B2 (ja) 限定受信システム、ならびに、コンテンツ配信装置、コンテンツ受信装置およびそれらのプログラム
JP5357785B2 (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
JP2005252916A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2011066667A (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
JP2008131078A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120522