説明

署名生成システム、署名生成方法、およびプログラム

【課題】オリジナルコンテンツの作成者と、このオリジナルコンテンツを二次利用してコンテンツを作成した作成者と、の関係を表すことができ、かつ、コンテンツの作成者の署名の正当性を検証する際の鍵発行機関の負荷を軽減できる署名生成システム、所定生成方法、およびプログラムを提供すること。
【解決手段】最終二次コンテンツに関するメタデータの署名を、このメタデータのハッシュに対して所定値でべき乗演算を行った形で表す。そして、この所定値を、全端末の秘密鍵を端末の種類に応じて入れ子状に並べた構造として表す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、署名生成システム、署名生成方法、およびプログラムに関する。
【背景技術】
【0002】
近年、コンピュータやネットワーク環境が整備されたことにより、それまで専門業者やコンテンツプロバイダなど特定のエンティティしか行えなかったコンテンツ配信を、一般の人も行えるようになった。コンテンツ配信を行うサービスとしては、CGM(Consumer Generated Media)型のコンテンツを配信するサービスがあり、このCGM型のコンテンツを配信するサービスとして、「YouTube(登録商標)」や「ニコニコ動画(登録商標)」といったサービスが開始されている。
【0003】
上述のようなコンテンツには、著作権があり、コンテンツの著作権の管理が重要となっている。コンテンツの著作権を管理する方法として、DRM(Digital Rights Management)技術がある。DRM技術とは、主に商用コンテンツに採用されている技術であり、利益確保の観点からコピー防止に主眼を置いたものである。
【0004】
ところで、上述のCGM型のコンテンツを配信するサービスでは、単にコンテンツを提供できるだけでなく、提供されているコンテンツを再利用(以下、「二次利用」と呼ぶ)してコンテンツを作成できる。しかしながら、このCGM型のコンテンツにDRM技術を採用すると、コンテンツの二次利用が困難となってしまう。
【0005】
そこで、コンテンツの著作権を管理する方法として、クリエイティブ・コモンズ・ライセンスがある(例えば、非特許文献1参照)。このクリエイティブ・コモンズ・ライセンスによれば、コンテンツの二次利用を行うことができる。
【0006】
ところが、クリエイティブ・コモンズ・ライセンスでは、コンテンツがどのように作成されたのか、すなわち、オリジナルのコンテンツである「オリジナルコンテンツ」を作成した「オリジナルコンテンツ作成者」と、オリジナルコンテンツを二次利用して作成するコンテンツである「二次コンテンツ」を作成した「二次コンテンツ作成者」と、の関係を表すことができない。これは、コンテンツの正式な著作権体系が明確化されず、現状のテレビコンテンツで見受けられる「コンテンツの二次利用を行いたくても、オリジナルコンテンツ作成者が分からないため、二次利用の許諾依頼を行えない」といった問題の発生する可能性があることを示唆している。
【0007】
そこで、著作権を保護するためのフラグをオリジナルコンテンツに設定するとともに、オリジナルコンテンツを指定するリンク先指定子と、オリジナルコンテンツ作成者の電子署名と、を二次コンテンツに設定する方法が提案されている(例えば、特許文献1参照)。
【0008】
特許文献1に記載の方法では、二次コンテンツを利用する際には、まず、第1の手順において、リンク先指定子で指定されるオリジナルコンテンツを読み出し、オリジナルコンテンツにフラグが設定されているか否かを判別する。次に、オリジナルコンテンツにフラグが設定されていると判別した場合には、第2の手順において、二次コンテンツに設定されているオリジナルコンテンツ作成者の電子署名が正しいか否かを判別する。次に、二次コンテンツに設定されているオリジナルコンテンツ作成者の電子署名が正しいと判別した場合には、第3の手順において、二次コンテンツのデータにオリジナルコンテンツのデータを挿入する。
【0009】
このため、特許文献1に記載の方法によれば、オリジナルコンテンツ作成者と二次コンテンツ作成者との関係を表すことができる。
【非特許文献1】http://www.creativecommons.JP/
【特許文献1】特開2000−113055号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1に記載の方法では、第2の手順を行うたびに、オリジナルコンテンツ作成者の電子署名の正当性を検証するための検証鍵を鍵発行機関が生成しなくてはならないので、鍵発行機関の負荷が膨大になるおそれがあった。
【0011】
そこで、本発明は、上述の課題に鑑みてなされたものであり、オリジナルコンテンツの作成者と、このオリジナルコンテンツを二次利用してコンテンツを作成した作成者と、の関係を表すことができ、かつ、コンテンツの作成者の署名の正当性を検証する際の鍵発行機関の負荷を軽減できる署名生成システム、所定生成方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0013】
(1)本発明は、オリジナルコンテンツを作成した1以上のオリジナル端末(例えば、図3のリーフノード111、112、121、122、211、212、221、222に相当)と、前記オリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末(例えば、図3のルートノード1に相当)と、前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置(例えば、図1の署名検証装置3に相当)と、を備える署名生成システム(例えば、図1の署名生成システムAAに相当)であって、前記1以上のオリジナル端末および前記二次利用端末のそれぞれは、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する鍵格納部(例えば、図2の鍵格納部B3に相当)を備え、前記二次利用端末は、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第1の署名付きメタデータ生成手段(例えば、図2の署名生成部B4に相当)を備え、前記1以上のオリジナル端末のそれぞれは、前記二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第2の署名付きメタデータ生成手段(例えば、図2の署名生成部B4に相当)を備え、前記二次利用端末は、前記1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成手段(例えば、図2の署名生成部B4に相当)と、前記1以上のオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する全体検証鍵生成手段(例えば、図2の検証鍵生成部B5に相当)と、をさらに備え、前記署名検証装置は、前記1以上のオリジナル端末の公開鍵同士を乗算する乗算手段(例えば、図4の検証鍵乗算部31に相当)と、前記所定のパラメータ、前記二次利用端末の公開鍵、前記乗算手段による乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する全体検証鍵検証手段(例えば、図4の検証鍵検証部32に相当)と、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する署名検証手段(例えば、図4の署名検証部33に相当)と、を備えることを特徴とする署名生成システムを提案している。
【0014】
(1)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名を生成する。まず、二次利用端末により、最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する。次に、1以上のオリジナル端末のそれぞれにより、二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する。次に、二次利用端末により、1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、最終二次コンテンツに関するメタデータの署名を生成する。
【0015】
このため、最終二次コンテンツに関するメタデータの署名を、このメタデータのハッシュに対して所定値でべき乗演算を行った形で表すことができる。ここで、この所定値は、最終二次コンテンツに関するメタデータの署名を表す数式の指数であり、1以上のオリジナル端末ごとにオリジナル端末の秘密鍵と二次利用端末の秘密鍵との乗算を行って、これら乗算結果を積算した構造となっている。したがって、最終二次コンテンツに関するメタデータの署名を表す数式の指数の構造により、オリジナル端末と二次利用端末との関係、すなわち、オリジナル端末によりオリジナルコンテンツを作成した作成者と、二次利用端末によりオリジナルコンテンツを利用して新たにコンテンツを作成する作成者と、の関係を表現できる。
【0016】
また、オリジナル端末は、第2の署名付きメタデータ生成手段により第2の署名付きメタデータを生成する際に、第1の署名付きメタデータを用いる。第1の署名付きメタデータは、オリジナル端末で作成されたオリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末において生成される。以上によれば、オリジナル端末は、自身の作成したオリジナルコンテンツがどの端末において利用されようとしているのかを、第2の署名付きメタデータ生成手段により第2の署名付きメタデータが生成される際に、すなわち最終二次コンテンツに関するメタデータの署名が生成される前に、認識できる。このため、オリジナル端末は、自身の作成したオリジナルコンテンツを利用して新たにコンテンツを作成しようとしている端末に応じて、第2の署名付きメタデータ生成手段による第2の署名付きメタデータの生成を行ったり行わなかったりすることで、任意の端末にのみ、最終二次コンテンツに関するメタデータの署名の生成を許諾することができる。
【0017】
また、(1)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名の正当性を検証する。まず、二次利用端末により、1以上のオリジナル端末の公開鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する。次に、署名検証装置により、所定のパラメータ、二次利用端末の公開鍵、1以上のオリジナル端末の公開鍵同士の乗算結果、および全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、全体検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、全体検証鍵、最終二次コンテンツに関するメタデータのハッシュ、および署名を入力として、GAP−Diffie−Hellman署名の演算を行って、署名の正当性を検証する。
【0018】
ここで、以下に、GAP−Diffie−Hellman署名の演算について説明する。GAP−Diffie−Hellman(GDH)署名とは、Decision−Diffie−Hellman(DDH)問題をペアリングと呼ばれるある種のブラックボックス関数e(P,Q)を用いることで解けることを利用した署名である。
【0019】
まず、DDH問題について説明する。DDH問題とは、g、g、g、gが与えられたときにab=cを満たすか否かを判別する問題のことである。この問題に対して、ブラックボックス関数e(P,Q)には、以下の性質がある。
【0020】
【数1】

【0021】
数1に示す性質から、ブラックボックス関数e(P,Q)にg、g、g、gを入力すると、数2、3のようになる。
【0022】
【数2】

【0023】
【数3】

【0024】
このため、数2の値と数3の値とが一致するか否かにより、上述のab=cを満たすか否かを判別できる。
【0025】
次に、GDH署名の手順について説明する。GDH署名では、鍵を生成し、この生成した鍵を用いて署名を行う。
【0026】
鍵を生成する際には、Zp*からランダムにxを選択し、v=gとなるvを算出する。そして、vを公開鍵とし、xを秘密鍵とする。
【0027】
署名を行う際には、秘密鍵xとメッセージmとを用意する。そして、メッセージmからハッシュhを算出し、ハッシュhに対してx乗したものを署名σとする。
【0028】
署名σを検証する際には、以下のように行う。ここで、GDH署名はG*の元を用いるため、ハッシュhもG*の元となり、その結果、h=gが成り立つ。このため、署名σが正しければ、以下の式が成り立つ。
【0029】
【数4】

【0030】
また、(g,v,h,σ)をブラックボックス関数e(P,Q)に入力すると、以下の式が成り立つ。
【0031】
【数5】

【0032】
【数6】

【0033】
上述のように、署名σが正しければ、数5の値と数6の値とは一致する。このため、数5の値と数6の値とが一致するか否かにより、署名σを検証できる。
【0034】
以上によれば、全体検証鍵を、最終二次コンテンツに関するメタデータのハッシュに対して所定値でべき乗演算を行った形で表すことができる。ここで、この所定値は、全体検証鍵を表す数式の指数であり、上述の最終二次コンテンツに関するメタデータの署名を表す数式の指数と同様に、1以上のオリジナル端末ごとにオリジナル端末の秘密鍵と二次利用端末の秘密鍵との乗算を行って、これら乗算結果を積算した構造となっている。したがって、全体検証鍵を表す数式の指数の構造により、オリジナル端末と二次利用端末との関係、すなわち、オリジナル端末によりオリジナルコンテンツを作成した作成者と、二次利用端末によりオリジナルコンテンツを利用して新たにコンテンツを作成する作成者と、の関係を表現できる。
【0035】
また、既に認定されている各公開鍵により、全体検証鍵を生成でき、既に認定されている各公開鍵により、生成した全体検証鍵の正当性を検証できる。そして、正当性の検証された全体検証鍵により、最終二次コンテンツに関するメタデータの署名の正当性を検証できる。すなわち、最終二次コンテンツに関するメタデータの署名の正当性を鍵発行機関によらず行うことができるので、最終二次コンテンツに関するメタデータの署名の正当性を検証する際の鍵発行機関の負荷を軽減できる。
【0036】
また、GDH署名の演算を行う回数は、生成した全体検証鍵および署名の数で決定され、全ての端末からオリジナル端末を除いた数に「1」を加算した数となる。このため、最終二次コンテンツに関するメタデータの署名の正当性の検証を、端末の数より少ない回数のGDH署名の演算で行うことができる。
【0037】
(2)本発明は、オリジナルコンテンツを作成した1以上のオリジナル端末(例えば、図3のリーフノード111、112、121、122、211、212、221、222に相当)と、前記オリジナルコンテンツを利用して二次コンテンツを作成した1以上の第1の二次利用端末(例えば、図3の第2中間ノード11、12、21、22に相当)と、前記二次コンテンツを利用して最終二次コンテンツを作成する第2の二次利用端末(例えば、図3のルートノード1に相当)と、前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置(例えば、図1の署名検証装置3に相当)と、を備える署名生成システム(例えば、図1の署名生成システムAAに相当)であって、前記1以上のオリジナル端末、前記1以上の第1の二次利用端末、および前記第2の二次利用端末のそれぞれは、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する鍵格納部(例えば、図2の鍵格納部B3に相当)を備え、前記第2の二次利用端末は、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第1の署名付きメタデータ生成手段(例えば、図2の署名生成部B4に相当)を備え、前記1以上の第1の二次利用端末のそれぞれは、前記第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第2の署名付きメタデータ生成手段(例えば、図2の署名生成部B4に相当)を備え、前記1以上のオリジナル端末のそれぞれは、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する第3の署名付きメタデータ生成手段(例えば、図2の署名生成部B4に相当)を備え、前記1以上の第1の二次利用端末のそれぞれは、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する第4の署名付きメタデータ生成手段(例えば、図2の署名生成部B4に相当)を備え、前記第2の二次利用端末は、前記1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成手段(例えば、図2の署名生成部B4に相当)を備え、前記1以上の第1の二次利用端末のそれぞれは、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する部分検証鍵生成手段(例えば、図2の検証鍵生成部B5に相当)をさらに備え、前記第2の二次利用端末は、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する全体検証鍵生成手段(例えば、図2の検証鍵生成部B5に相当)をさらに備え、前記署名検証装置は、前記1以上の第1の二次利用端末ごとに、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算する第1の乗算手段(例えば、図4の検証鍵乗算部31に相当)と、前記所定のパラメータ、前記第1の二次利用端末の公開鍵、前記第1の乗算手段による乗算結果、および前記部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記部分検証鍵の正当性を検証する部分検証鍵検証手段(例えば、図4の検証鍵検証部32に相当)と、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算する第2の乗算手段(例えば、図4の検証鍵乗算部31に相当)と、前記所定のパラメータ、前記第2の二次利用端末の公開鍵、前記第2の乗算手段による乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する全体検証鍵検証手段(例えば、図4の検証鍵検証部32に相当)と、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する署名検証手段(例えば、図4の署名検証部33に相当)と、を備えることを特徴とする署名生成システムを提案している。
【0038】
(2)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名を生成する。まず、第2の二次利用端末により、最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する。次に、1以上の第1の二次利用端末のそれぞれにより、第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する。次に、1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する。次に、1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する。次に、第2の二次利用端末により、1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、最終二次コンテンツに関するメタデータの署名を生成する。
【0039】
このため、最終二次コンテンツに関するメタデータの署名を、このメタデータのハッシュに対して所定値でべき乗演算を行った形で表すことができる。ここで、この所定値は、最終二次コンテンツに関するメタデータの署名を表す数式の指数であり、全端末の秘密鍵を端末の種類に応じて入れ子状に並べた構造となっている。したがって、最終二次コンテンツに関するメタデータの署名を表す数式の指数の構造により、オリジナル端末と第1の二次利用端末と第2の二次利用端末との関係、すなわち、オリジナル端末によりオリジナルコンテンツを作成した作成者と、第1の二次利用端末によりオリジナルコンテンツを利用して新たにコンテンツを作成した作成者と、第2の二次利用端末により第1の二次利用端末で作成されたコンテンツを利用してコンテンツを作成する作成者と、の関係を表現できる。
【0040】
また、第1の二次利用端末のそれぞれは、第2の署名付きメタデータ生成手段により第2の署名付きメタデータを生成する際に、第1の署名付きメタデータを用いる。第1の署名付きメタデータは、第1の二次利用端末のそれぞれで作成されたコンテンツを利用してコンテンツを作成する第2の二次利用端末において生成される。以上によれば、第1の二次利用端末のそれぞれは、自身の作成したコンテンツがどの端末において利用されようとしているのかを、第2の署名付きメタデータ生成手段により第2の署名付きメタデータが生成される際に、すなわち最終二次コンテンツに関するメタデータの署名が生成される前に、認識できる。このため、第1の二次利用端末のそれぞれは、自身の作成したコンテンツを利用してコンテンツを作成しようとしている端末に応じて、第2の署名付きメタデータ生成手段による第2の署名付きメタデータの生成を行ったり行わなかったりすることで、任意の端末にのみ、最終二次コンテンツに関するメタデータの署名の生成を許諾することができる。オリジナル端末についても、第1の二次利用端末のそれぞれと同様に、任意の端末にのみ、最終二次コンテンツに関するメタデータの署名の生成を許諾することができる。
【0041】
また、(2)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名の正当性を検証する。まず、1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する。次に、第2の二次利用端末により、1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する。次に、署名検証装置により、1以上の第1の二次利用端末ごとに、所定のパラメータ、第1の二次利用端末の公開鍵、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算した乗算結果、および部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、部分検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、第2の二次利用端末の公開鍵、1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算した乗算結果、および全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、全体検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、全体検証鍵、最終二次コンテンツに関するメタデータのハッシュ、および署名を入力として、GAP−Diffie−Hellman署名の演算を行って、署名の正当性を検証する。
【0042】
このため、全体検証鍵を、最終二次コンテンツに関するメタデータのハッシュに対して所定値でべき乗演算を行った形で表すことができる。ここで、この所定値は、全体検証鍵を表す数式の指数であり、上述の最終二次コンテンツに関するメタデータの署名を表す数式の指数と同様に、全端末の秘密鍵を端末の種類に応じて入れ子状に並べた構造となっている。したがって、全体検証鍵を表す数式の指数の構造により、オリジナル端末と第1の二次利用端末と第2の二次利用端末との関係、すなわち、オリジナル端末によりオリジナルコンテンツを作成した作成者と、第1の二次利用端末によりオリジナルコンテンツを利用して新たにコンテンツを作成した作成者と、第2の二次利用端末により第1の二次利用端末で作成されたコンテンツを利用してコンテンツを作成する作成者と、の関係を表現できる。
【0043】
また、既に認定されている各公開鍵により、全体検証鍵を生成でき、既に認定されている各公開鍵により、生成した全体検証鍵の正当性を検証できる。そして、正当性の検証された全体検証鍵により、最終二次コンテンツに関するメタデータの署名の正当性を検証できる。すなわち、最終二次コンテンツに関するメタデータの署名の正当性を鍵発行機関によらず行うことができるので、最終二次コンテンツに関するメタデータの署名の正当性を検証する際の鍵発行機関の負荷を軽減できる。
【0044】
また、GDH署名の演算を行う回数は、生成した全体検証鍵および署名の数で決定され、全ての端末からオリジナル端末を除いた数に「1」を加算した数となる。このため、最終二次コンテンツに関するメタデータの署名の正当性の検証を、端末の数より少ない回数のGDH署名の演算で行うことができる。
【0045】
(3)本発明は、オリジナルコンテンツを作成した1以上のオリジナル端末(例えば、図3のリーフノード111、112、121、122、211、212、221、222に相当)と、前記オリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末(例えば、図3のルートノード1に相当)と、前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置(例えば、図1の署名検証装置3に相当)と、を備える署名生成システム(例えば、図1の署名生成システムAAに相当)において、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法であって、前記1以上のオリジナル端末および前記二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、前記二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、前記1以上のオリジナル端末のそれぞれにより、前記二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、前記二次利用端末により、前記1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第4のステップと、前記二次利用端末により、前記1以上のオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第5のステップと、前記署名検証装置により、前記1以上のオリジナル端末の公開鍵同士を乗算する第6のステップと、前記署名検証装置により、前記所定のパラメータ、前記二次利用端末の公開鍵、前記第6のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第7のステップと、前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第8のステップと、を備えることを特徴とする署名生成方法を提案している。
【0046】
(3)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名を生成する。まず、二次利用端末により、最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する。次に、1以上のオリジナル端末のそれぞれにより、二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する。次に、二次利用端末により、1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、最終二次コンテンツに関するメタデータの署名を生成する。このため、上述した効果と同様の効果を奏する。
【0047】
また、(3)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名の正当性を検証する。まず、二次利用端末により、1以上のオリジナル端末の公開鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する。次に、署名検証装置により、所定のパラメータ、二次利用端末の公開鍵、1以上のオリジナル端末の公開鍵同士の乗算結果、および全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、全体検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、全体検証鍵、最終二次コンテンツに関するメタデータのハッシュ、および署名を入力として、GAP−Diffie−Hellman署名の演算を行って、署名の正当性を検証する。このため、上述した効果と同様の効果を奏する。
【0048】
(4)本発明は、オリジナルコンテンツを作成した1以上のオリジナル端末(例えば、図3のリーフノード111、112、121、122、211、212、221、222に相当)と、前記オリジナルコンテンツを利用して二次コンテンツを作成した1以上の第1の二次利用端末(例えば、図3の第2中間ノード11、12、21、22に相当)と、前記二次コンテンツを利用して最終二次コンテンツを作成する第2の二次利用端末(例えば、図3のルートノード1に相当)と、前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置(例えば、図1の署名検証装置3に相当)と、を備える署名生成システム(例えば、図1の署名生成システムAAに相当)において、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法であって、前記1以上のオリジナル端末、前記1以上の第1の二次利用端末、および前記第2の二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、前記第2の二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、前記1以上の第1の二次利用端末のそれぞれにより、前記第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、前記1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する第4のステップと、前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する第5のステップと、前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第6のステップと、前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する第7のステップと、前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第8のステップと、前記署名検証装置により、前記1以上の第1の二次利用端末ごとに、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算する第9のステップと、前記署名検証装置により、前記所定のパラメータ、前記第1の二次利用端末の公開鍵、前記第9のステップにおける乗算結果、および前記部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記部分検証鍵の正当性を検証する第10のステップと、前記署名検証装置により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算する第11のステップと、前記署名検証装置により、前記所定のパラメータ、前記第2の二次利用端末の公開鍵、前記第11のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第12のステップと、前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第13のステップと、を備えることを特徴とする署名生成方法を提案している。
【0049】
(4)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名を生成する。まず、第2の二次利用端末により、最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する。次に、1以上の第1の二次利用端末のそれぞれにより、第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する。次に、1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する。次に、1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する。次に、第2の二次利用端末により、1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、最終二次コンテンツに関するメタデータの署名を生成する。このため、上述した効果と同様の効果を奏する。
【0050】
また、(4)記載の発明によれば、以下のようにして、最終二次コンテンツに関するメタデータの署名の正当性を検証する。まず、1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する。次に、第2の二次利用端末により、1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する。次に、署名検証装置により、1以上の第1の二次利用端末ごとに、所定のパラメータ、第1の二次利用端末の公開鍵、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算した乗算結果、および部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、部分検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、第2の二次利用端末の公開鍵、1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算した乗算結果、および全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、全体検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、全体検証鍵、最終二次コンテンツに関するメタデータのハッシュ、および署名を入力として、GAP−Diffie−Hellman署名の演算を行って、署名の正当性を検証する。このため、上述した効果と同様の効果を奏する。
【0051】
(5)本発明は、オリジナルコンテンツを作成した1以上のオリジナル端末(例えば、図3のリーフノード111、112、121、122、211、212、221、222に相当)と、前記オリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末(例えば、図3のルートノード1に相当)と、前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システム(例えば、図1の署名生成システムAAに相当)において、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法を、コンピュータに実行させるためのプログラムであって、前記1以上のオリジナル端末および前記二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、前記二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、前記1以上のオリジナル端末のそれぞれにより、前記二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、前記二次利用端末により、前記1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第4のステップと、前記二次利用端末により、前記1以上のオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第5のステップと、前記署名検証装置により、前記1以上のオリジナル端末の公開鍵同士を乗算する第6のステップと、前記署名検証装置により、前記所定のパラメータ、前記二次利用端末の公開鍵、前記第6のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第7のステップと、前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第8のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0052】
(5)記載の発明によれば、プログラムをコンピュータに実行させることで、以下のようにして、最終二次コンテンツに関するメタデータの署名を生成する。まず、二次利用端末により、最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する。次に、1以上のオリジナル端末のそれぞれにより、二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する。次に、二次利用端末により、1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、最終二次コンテンツに関するメタデータの署名を生成する。このため、上述した効果と同様の効果を奏する。
【0053】
また、(5)記載の発明によれば、プログラムをコンピュータに実行させることで、以下のようにして、最終二次コンテンツに関するメタデータの署名の正当性を検証する。まず、二次利用端末により、1以上のオリジナル端末の公開鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する。次に、署名検証装置により、所定のパラメータ、二次利用端末の公開鍵、1以上のオリジナル端末の公開鍵同士の乗算結果、および全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、全体検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、全体検証鍵、最終二次コンテンツに関するメタデータのハッシュ、および署名を入力として、GAP−Diffie−Hellman署名の演算を行って、署名の正当性を検証する。このため、上述した効果と同様の効果を奏する。
【0054】
(6)本発明は、オリジナルコンテンツを作成した1以上のオリジナル端末(例えば、図3のリーフノード111、112、121、122、211、212、221、222に相当)と、前記オリジナルコンテンツを利用して二次コンテンツを作成した1以上の第1の二次利用端末(例えば、図3の第2中間ノード11、12、21、22に相当)と、前記二次コンテンツを利用して最終二次コンテンツを作成する第2の二次利用端末(例えば、図3のルートノード1に相当)と、前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置(例えば、図1の署名検証装置3に相当)と、を備える署名生成システム(例えば、図1の署名生成システムAAに相当)において、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法を、コンピュータに実行させるためのプログラムであって、前記1以上のオリジナル端末、前記1以上の第1の二次利用端末、および前記第2の二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、前記第2の二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、前記1以上の第1の二次利用端末のそれぞれにより、前記第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、前記1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する第4のステップと、前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する第5のステップと、前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第6のステップと、前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する第7のステップと、前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第8のステップと、前記署名検証装置により、前記1以上の第1の二次利用端末ごとに、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算する第9のステップと、前記署名検証装置により、前記所定のパラメータ、前記第1の二次利用端末の公開鍵、前記第9のステップにおける乗算結果、および前記部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記部分検証鍵の正当性を検証する第10のステップと、前記署名検証装置により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算する第11のステップと、前記署名検証装置により、前記所定のパラメータ、前記第2の二次利用端末の公開鍵、前記第11のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第12のステップと、前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第13のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0055】
(6)記載の発明によれば、プログラムをコンピュータに実行させることで、以下のようにして、最終二次コンテンツに関するメタデータの署名を生成する。まず、第2の二次利用端末により、最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する。次に、1以上の第1の二次利用端末のそれぞれにより、第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する。次に、1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する。次に、1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する。次に、第2の二次利用端末により、1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、最終二次コンテンツに関するメタデータの署名を生成する。このため、上述した効果と同様の効果を奏する。
【0056】
また、(6)記載の発明によれば、プログラムをコンピュータに実行させることで、以下のようにして、最終二次コンテンツに関するメタデータの署名の正当性を検証する。まず、1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する。次に、第2の二次利用端末により、1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する。次に、署名検証装置により、1以上の第1の二次利用端末ごとに、所定のパラメータ、第1の二次利用端末の公開鍵、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算した乗算結果、および部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、部分検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、第2の二次利用端末の公開鍵、1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算した乗算結果、および全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、全体検証鍵の正当性を検証する。次に、署名検証装置により、所定のパラメータ、全体検証鍵、最終二次コンテンツに関するメタデータのハッシュ、および署名を入力として、GAP−Diffie−Hellman署名の演算を行って、署名の正当性を検証する。このため、上述した効果と同様の効果を奏する。
【発明の効果】
【0057】
この発明によれば、最終二次コンテンツに関するメタデータの署名を、このメタデータのハッシュに対して所定値でべき乗演算を行った形で表すことができる。ここで、この所定値は、最終二次コンテンツに関するメタデータの署名を表す数式の指数であり、1以上のオリジナル端末ごとにオリジナル端末の秘密鍵と二次利用端末の秘密鍵との乗算を行って、これら乗算結果を積算した構造となっている。したがって、最終二次コンテンツに関するメタデータの署名を表す数式の指数の構造により、オリジナル端末と二次利用端末との関係、すなわち、オリジナル端末によりオリジナルコンテンツを作成した作成者と、二次利用端末によりオリジナルコンテンツを利用して新たにコンテンツを作成する作成者と、の関係を表現できる。
【0058】
また、オリジナル端末は、自身の作成したオリジナルコンテンツがどの端末において利用されようとしているのかを、第2の署名付きメタデータ生成手段により第2の署名付きメタデータが生成される際に、すなわち最終二次コンテンツに関するメタデータの署名が生成される前に、認識できる。このため、オリジナル端末は、自身の作成したオリジナルコンテンツを利用して新たにコンテンツを作成しようとしている端末に応じて、第2の署名付きメタデータ生成手段による第2の署名付きメタデータの生成を行ったり行わなかったりすることで、任意の端末にのみ、最終二次コンテンツに関するメタデータの署名の生成を許諾することができる。
【0059】
また、全体検証鍵を、最終二次コンテンツに関するメタデータのハッシュに対して所定値でべき乗演算を行った形で表すことができる。ここで、この所定値は、全体検証鍵を表す数式の指数であり、上述の最終二次コンテンツに関するメタデータの署名を表す数式の指数と同様に、1以上のオリジナル端末ごとにオリジナル端末の秘密鍵と二次利用端末の秘密鍵との乗算を行って、これら乗算結果を積算した構造となっている。したがって、全体検証鍵を表す数式の指数の構造により、オリジナル端末と二次利用端末との関係、すなわち、オリジナル端末によりオリジナルコンテンツを作成した作成者と、二次利用端末によりオリジナルコンテンツを利用して新たにコンテンツを作成する作成者と、の関係を表現できる。
【0060】
また、既に認定されている各公開鍵により、全体検証鍵を生成でき、既に認定されている各公開鍵により、生成した全体検証鍵の正当性を検証できる。そして、正当性の検証された全体検証鍵により、最終二次コンテンツに関するメタデータの署名の正当性を検証できる。すなわち、最終二次コンテンツに関するメタデータの署名の正当性を鍵発行機関によらず行うことができるので、最終二次コンテンツに関するメタデータの署名の正当性を検証する際の鍵発行機関の負荷を軽減できる。
【0061】
また、GDH署名の演算を行う回数は、生成した全体検証鍵および署名の数で決定され、全ての端末からオリジナル端末を除いた数に「1」を加算した数となる。このため、最終二次コンテンツに関するメタデータの署名の正当性の検証を、端末の数より少ない回数のGDH署名の演算で行うことができる。
【発明を実施するための最良の形態】
【0062】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、以下の実施形態における構成要素は適宜、既存の構成要素などとの置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0063】
<署名生成システムの構成>
図1は、本発明の一実施形態に係る署名生成システムAAの構成を示す図である。署名生成システムAAは、コンテンツの作成者ごとに設けられた複数のノードBBと、これら複数のノードBBとネットワーク20を介して通信可能に設けられた署名検証装置3と、を備える。
【0064】
<ノードの構成>
図2は、ノードBBの構成を示す図である。ノードBBは、コンテンツの作成者が操作可能に設けられた操作部B1と、操作部B1により受け付けた操作に応じてコンテンツを作成するコンテンツ作成部B2と、署名鍵(秘密鍵)および検証鍵(公開鍵)を格納する鍵格納部B3と、後述の署名付きメタデータまたは署名を生成する署名生成部B4と、部分検証鍵または全体検証鍵を生成する検証鍵生成部B5と、を備える。
【0065】
これらの構成を備える複数のノードBBは、図3に示すように、2分木4階層のヒエラルキーを形成するように分類される。
【0066】
最下位層である第4層には、8台のノードBBが分類される。これら8台のノードBBは、自身が備えるコンテンツ作成部B2により、互いに異なるオリジナルコンテンツを作成したものであり、以降では、リーフノード111、112、121、122、211、212、221、222と称す。
【0067】
これらリーフノード111、112、121、122、211、212、221、222のそれぞれが備える鍵格納部B3には、数7に示す署名鍵xmnoおよび検証鍵vmnoのペア(m、n、oのそれぞれは、1≦m≦2、1≦n≦2、1≦o≦2を満たす整数)が格納される。
【0068】
【数7】

【0069】
第3層には、4台のノードBBが分類される。
【0070】
これら4台のノードBBのうち、自身が備えるコンテンツ作成部B2により、リーフノード111で作成されたオリジナルコンテンツと、リーフノード112で作成されたオリジナルコンテンツと、を二次利用して二次コンテンツを作成したものを、以降では、第2中間ノード11と称す。
【0071】
また、これら4台のノードBBのうち、自身が備えるコンテンツ作成部B2により、リーフノード121で作成されたオリジナルコンテンツと、リーフノード122で作成されたオリジナルコンテンツと、を二次利用して二次コンテンツを作成したものを、以降では、第2中間ノード12と称す。
【0072】
また、これら4台のノードBBのうち、自身が備えるコンテンツ作成部B2により、リーフノード211で作成されたオリジナルコンテンツと、リーフノード212で作成されたオリジナルコンテンツと、を二次利用して二次コンテンツを作成したものを、以降では、第2中間ノード21と称す。
【0073】
また、これら4台のノードBBのうち、自身が備えるコンテンツ作成部B2により、リーフノード221で作成されたオリジナルコンテンツと、リーフノード222で作成されたオリジナルコンテンツと、を二次利用して二次コンテンツを作成したものを、以降では、第2中間ノード22と称す。
【0074】
これら第2中間ノード11、12、21、22のそれぞれが備える鍵格納部B3には、数8に示す署名鍵xmnおよび検証鍵vmnのペアが格納される。
【0075】
【数8】

【0076】
第2層には、2台のノードBBが分類される。
【0077】
これら2台のノードBBのうち、自身が備えるコンテンツ作成部B2により、第2中間ノード11で作成された二次コンテンツと、第2中間ノード12で作成された二次コンテンツと、を利用して新たに二次コンテンツを作成したものを、以降では、第1中間ノード1と称す。
【0078】
また、これら2台のノードBBのうち、自身が備えるコンテンツ作成部B2により、第2中間ノード21で作成された二次コンテンツと、第2中間ノード22で作成された二次コンテンツと、を利用して新たに二次コンテンツを作成したものを、以降では、第1中間ノード2と称す。
【0079】
これら第1中間ノード1、2のそれぞれが備える鍵格納部B3には、数9に示す署名鍵xおよび検証鍵vのペアが格納される。
【0080】
【数9】

【0081】
最上位層である第1層には、1台のノードBBが分類される。この1台のノードBBは、自身が備えるコンテンツ作成部B2により、第1中間ノード1で作成された二次コンテンツと、第1中間ノード2で作成された二次コンテンツと、を利用して最終二次コンテンツを作成するものであり、以降では、ルートノード1と称す。
【0082】
このルートノード1が備える鍵格納部B3には、数10に示す署名鍵xおよび検証鍵vのペアが格納される。
【0083】
【数10】

【0084】
<署名検証装置の構成>
図4は、署名検証装置3の構成を示す図である。署名検証装置3は、検証鍵同士または後述の部分検証鍵同士を乗算する検証鍵乗算部31と、部分検証鍵または後述の全体検証鍵の正当性を検証する検証鍵検証部32と、最終二次コンテンツに関する著作権メタデータMの署名σの正当性を検証する署名検証部33と、を備える。
【0085】
<最終二次コンテンツに関する著作権メタデータの署名を生成する処理>
以下に、最終二次コンテンツに関する著作権メタデータMの署名σを生成する手順について、図5および図6のフローチャートを参照しながら説明する。
【0086】
ステップS1において、ルートノード1が備える署名生成部B4により、最終二次コンテンツに関する著作権メタデータMに自身の署名鍵xで署名して第1署名付きメタデータを生成し、直下のノードに送信する。ここで、直下のノードとは、ルートノード1が最終二次コンテンツを作成するにあたって利用した二次コンテンツを作成した第1中間ノードmのことである。
【0087】
具体的には、まず、最終二次コンテンツに関する著作権メタデータMを算出し、この著作権メタデータMのハッシュhを算出する。次に、このハッシュhに対して自身の署名鍵xでべき乗演算を行って第1署名付きメタデータを生成し、第1中間ノード1、2に送信する。
【0088】
この処理によれば、ルートノード1から第1中間ノード1、2には、数11に示す第1署名付きメタデータが送信される。
【0089】
【数11】

【0090】
ステップS2において、第1中間ノード1、2のそれぞれが備える署名生成部B4により、ルートノード1から送信された第1署名付きメタデータに自身の署名鍵xで署名して第2署名付きメタデータを生成し、直下のノードに送信する。ここで、直下のノードとは、第1中間ノードmが新たに二次コンテンツを作成するにあたって利用した二次コンテンツを作成した第2中間ノードmnのことである。
【0091】
具体的には、第1中間ノード1において、ルートノード1から送信された第1署名付きメタデータに対して自身の署名鍵xでべき乗演算を行って、第2中間ノード11、12に送信するとともに、第1中間ノード2において、ルートノード1から送信された第1署名付きメタデータに対して自身の署名鍵xでべき乗演算を行って、第2中間ノード21、22に送信する。
【0092】
この処理によれば、第1中間ノード1から第2中間ノード11、12と、第1中間ノード2から第2中間ノード21、22と、には、数12に示す第2署名付きメタデータがそれぞれ送信される。
【0093】
【数12】

【0094】
ステップS3において、第2中間ノード11、12、21、22のそれぞれが備える署名生成部B4により、直上のノードから送信された第2署名付きメタデータに自身の署名鍵xmnで署名して第3署名付きメタデータを生成し、直下のノードに送信する。ここで、直上のノードとは、第2中間ノードmnが作成した二次コンテンツを利用して新たに二次コンテンツを作成した第1中間ノードmのことであり、直下のノードとは、第2中間ノードmnが二次コンテンツを作成するにあたって二次利用したオリジナルコンテンツを作成したリーフノードmnoのことである。
【0095】
具体的には、第2中間ノード11において、第1中間ノード1から送信された第2署名付きメタデータに対して自身の署名鍵x11でべき乗演算を行って、リーフノード111、112に送信するとともに、第2中間ノード12において、第1中間ノード1から送信された第2署名付きメタデータに対して自身の署名鍵x12でべき乗演算を行って、リーフノード121、122に送信する。また、第2中間ノード21において、第1中間ノード2から送信された第2署名付きメタデータに対して自身の署名鍵x21でべき乗演算を行って、リーフノード211、212に送信するとともに、第2中間ノード22において、第1中間ノード2から送信された第2署名付きメタデータに対して自身の署名鍵x22でべき乗演算を行って、リーフノード221、222に送信する。
【0096】
この処理によれば、第2中間ノード11からリーフノード111、112と、第2中間ノード12からリーフノード121、122と、第2中間ノード21からリーフノード211、212と、第2中間ノード22からリーフノード221、222と、には、数13に示す第3署名付きメタデータがそれぞれ送信される。
【0097】
【数13】

【0098】
ステップS4において、リーフノード111、112、121、122、211、212、221、222のそれぞれが備える署名生成部B4により、直上のノードから送信された第3署名付きメタデータに自身の署名鍵xmnoで署名して第4署名付きメタデータを生成し、直上のノードに送信する。ここで、直上のノードとは、リーフノードmnoが作成したオリジナルコンテンツを二次利用して二次コンテンツを作成した第2中間ノードmnのことである。
【0099】
具体的には、リーフノード111において、第2中間ノード11から送信された第3署名付きメタデータに対して自身の署名鍵x111でべき乗演算を行って、第2中間ノード11に送信するとともに、リーフノード112において、第2中間ノード11から送信された第3署名付きメタデータに対して自身の署名鍵x112でべき乗演算を行って、第2中間ノード11に送信する。また、リーフノード121において、第2中間ノード12から送信された第3署名付きメタデータに対して自身の署名鍵x121でべき乗演算を行って、第2中間ノード12に送信するとともに、リーフノード122において、第2中間ノード12から送信された第3署名付きメタデータに対して自身の署名鍵x122でべき乗演算を行って、第2中間ノード12に送信する。また、リーフノード211において、第2中間ノード21から送信された第3署名付きメタデータに対して自身の署名鍵x211でべき乗演算を行って、第2中間ノード21に送信するとともに、リーフノード212において、第2中間ノード21から送信された第3署名付きメタデータに対して自身の署名鍵x212でべき乗演算を行って、第2中間ノード21に送信する。また、リーフノード221において、第2中間ノード22から送信された第3署名付きメタデータに対して自身の署名鍵x221でべき乗演算を行って、第2中間ノード22に送信するとともに、リーフノード222において、第2中間ノード22から送信された第3署名付きメタデータに対して自身の署名鍵x222でべき乗演算を行って、第2中間ノード22に送信する。
【0100】
この処理によれば、リーフノード111、112から第2中間ノード11と、リーフノード121、122から第2中間ノード12と、リーフノード211、212から第2中間ノード21と、リーフノード221、222から第2中間ノード22と、には、数14に示す第4署名付きメタデータがそれぞれ送信される。
【0101】
【数14】

【0102】
ステップS5において、第2中間ノード11、12、21、22のそれぞれが備える署名生成部B4により、直下のノードから送信された第4署名付きメタデータ同士を乗算して第5署名付きメタデータσmnを生成し、直上のノードに送信する。ここで、直下のノードとは、第2中間ノードmnが二次コンテンツを作成するにあたって二次利用したオリジナルコンテンツを作成したリーフノードmnoのことであり、直上のノードとは、第2中間ノードmnが作成した二次コンテンツを利用して新たに二次コンテンツを作成した第1中間ノードmのことである。
【0103】
具体的には、第2中間ノード11において、リーフノード111、112から送信された第4署名付きメタデータ同士を乗算し、第1中間ノード1に送信するとともに、第2中間ノード12において、リーフノード121、122から送信された第4署名付きメタデータ同士を乗算し、第1中間ノード1に送信する。また、第2中間ノード21において、リーフノード211、212から送信された第4署名付きメタデータ同士を乗算し、第1中間ノード2に送信するとともに、第2中間ノード22において、リーフノード221、222から送信された第4署名付きメタデータ同士を乗算し、第1中間ノード2に送信する。
【0104】
この処理によれば、第2中間ノード11、12から第1中間ノード1と、第2中間ノード21、22から第1中間ノード2と、には、数15に示す第5署名付きメタデータσmnがそれぞれ送信される。
【0105】
【数15】

【0106】
ステップS6において、第2中間ノード11、12、21、22のそれぞれが備える検証鍵生成部B5により、直下のノードの検証鍵vmno同士を乗算し、自身の署名鍵xmnでべき乗演算を行って、部分検証鍵vmidmnを生成し、直上のノードに送信する。ここで、直下のノードとは、第2中間ノードmnが二次コンテンツを作成するにあたって二次利用したオリジナルコンテンツを作成したリーフノードmnoのことであり、直上のノードとは、第2中間ノードmnが作成した二次コンテンツを利用して新たに二次コンテンツを作成した第1中間ノードmのことである。
【0107】
具体的には、第2中間ノード11において、リーフノード111の検証鍵v111と、リーフノード112の検証鍵v112と、を乗算し、自身の署名鍵x11でべき乗演算を行って、第1中間ノード1に送信するとともに、第2中間ノード12において、リーフノード121の検証鍵v121と、リーフノード122の検証鍵v122と、を乗算し、自身の署名鍵x12でべき乗演算を行って、第1中間ノード1に送信する。また、第2中間ノード21において、リーフノード211の検証鍵v211と、リーフノード212の検証鍵v212と、を乗算し、自身の署名鍵x21でべき乗演算を行って、第1中間ノード2に送信するとともに、第2中間ノード22において、リーフノード221の検証鍵v221と、リーフノード222の検証鍵v222と、を乗算し、自身の署名鍵x22でべき乗演算を行って、第1中間ノード2に送信する。
【0108】
この処理によれば、第2中間ノード11、12から第1中間ノード1と、第2中間ノード21、22から第1中間ノード2と、には、数16に示す部分検証鍵vmidmnがそれぞれ送信される。
【0109】
【数16】

【0110】
ステップS7において、第1中間ノード1、2のそれぞれが備える署名生成部B4により、直下のノードから送信された第5署名付きメタデータσmn同士を乗算して第6署名付きメタデータσを生成し、直上のノードに送信する。ここで、直下のノードとは、第1中間ノードmが新たに二次コンテンツを作成するにあたって利用した二次コンテンツを作成した第2中間ノードmnのことであり、直上のノードとは、第1中間ノードmが新たに作成した二次コンテンツを利用して最終二次コンテンツを作成するルートノード1のことである。
【0111】
具体的には、第1中間ノード1において、第2中間ノード11から送信された第5署名付きメタデータσ11と、第2中間ノード12から送信された第5署名付きメタデータσ12と、を乗算し、ルートノード1に送信するとともに、第1中間ノード2において、第2中間ノード21から送信された第5署名付きメタデータσ21と、第2中間ノード22から送信された第5署名付きメタデータσ22と、を乗算し、ルートノード1に送信する。
【0112】
この処理によれば、第1中間ノード1、2からルートノード1には、数17に示す第6署名付きメタデータσがそれぞれ送信される。
【0113】
【数17】

【0114】
ステップS8において、第1中間ノード1、2のそれぞれが備える検証鍵生成部B5により、直下のノードから送信された部分検証鍵vmidmn同士を乗算し、自身の署名鍵xでべき乗演算を行って、部分検証鍵vmidを生成し、直上のノードに送信する。ここで、直下のノードとは、第1中間ノードmが新たに二次コンテンツを作成するにあたって利用した二次コンテンツを作成した第2中間ノードmnのことであり、直上のノードとは、第1中間ノードmが新たに作成した二次コンテンツを利用して最終二次コンテンツを作成したルートノード1のことである。
【0115】
具体的には、第1中間ノード1において、部分検証鍵vmid11と部分検証鍵vmid12とを乗算し、自身の署名鍵xでべき乗演算を行って、ルートノード1に送信するとともに、第1中間ノード2において、部分検証鍵vmid21と部分検証鍵vmid22とを乗算し、自身の署名鍵xでべき乗演算を行って、ルートノード1に送信する。
【0116】
この処理によれば、第1中間ノード1、2からルートノード1には、数18に示す部分検証鍵vmidがそれぞれ送信される。
【0117】
【数18】

【0118】
ステップS9において、ルートノード1が備える署名生成部B4により、直下のノードから送信された第6署名付きメタデータσ同士を乗算して、最終二次コンテンツに関する著作権メタデータMの署名σを生成する。ここで、直下のノードとは、ルートノード1が最終二次コンテンツを作成するにあたって利用した二次コンテンツを作成した第1中間ノードmのことである。
【0119】
具体的には、ルートノード1において、第1中間ノード1から送信された第6署名付きメタデータσと、第1中間ノード2から送信された第6署名付きメタデータσと、を乗算し、最終二次コンテンツに関する著作権メタデータMの署名σを生成する。
【0120】
この処理によれば、ルートノード1では、数19に示す最終二次コンテンツに関する著作権メタデータMの署名σが生成される。
【0121】
【数19】

【0122】
ステップS10において、ルートノード1が備える検証鍵生成部B5により、直下のノードから送信された部分検証鍵vmid同士を乗算し、自身の署名鍵xでべき乗演算を行って、全体検証鍵vを生成する。ここで、直下のノードとは、ルートノード1が最終二次コンテンツを作成するにあたって利用した二次コンテンツを作成した第1中間ノードmのことである。
【0123】
具体的には、ルートノード1において、部分検証鍵vmidと部分検証鍵vmidとを乗算し、自身の署名鍵xでべき乗演算を行って、全体検証鍵vを生成する。
【0124】
この処理によれば、ルートノード1では、数20に示す全体検証鍵vが生成される。
【0125】
【数20】

【0126】
ステップS11において、最終二次コンテンツに関する著作権メタデータMの署名検証に必要な数値として、(g、v、vmid、vmid、vmid11、vmid12、vmid21、vmid22、h、σ)を公開する。
【0127】
<最終二次コンテンツに関する著作権メタデータの署名を検証する処理>
以下に、最終二次コンテンツに関する著作権メタデータMの署名σを検証する手順について、図7および図8のフローチャートを参照しながら説明する。
【0128】
まず、ステップS21、S22、S23において、部分検証鍵vmidmnの正当性を検証する。
【0129】
すなわち、ステップS21では、署名検証装置3が備える検証鍵乗算部31により、リーフノードmn1の検証鍵vmn1と、リーフノードmn2の検証鍵vmn2と、を乗算する。具体的には、リーフノード111の検証鍵v111と、リーフノード112の検証鍵v112と、を乗算するとともに、リーフノード121の検証鍵v121と、リーフノード122の検証鍵v122と、を乗算する。また、リーフノード211の検証鍵v211と、リーフノード212の検証鍵v212と、を乗算するとともに、リーフノード221の検証鍵v221と、リーフノード222の検証鍵v222と、を乗算する。
【0130】
この処理によれば、署名検証装置3では、数21に示す演算結果がそれぞれ得られる。
【0131】
【数21】

【0132】
ステップS22では、署名検証装置3が備える検証鍵検証部32により、数22、23に示すように、(g、vmn、vmn1mn2、vmidmn)をブラックボックス関数e(P、Q)に入力して、GDH署名の演算を行う。
【0133】
【数22】

【0134】
【数23】

【0135】
ステップS23では、署名検証装置3が備える検証鍵検証部32により、数22の値と数23の値とが一致するか否かを判別して、部分検証鍵vmidmnが、第2中間ノードmnの検証鍵vmnと、リーフノードmnoの検証鍵vmnoと、を包括するものであるか否かを判別することにより、部分検証鍵vmidmnが正当であるか否かを判別する。具体的には、数22の値と数23の値とが一致すれば、部分検証鍵vmidmnが、第2中間ノードmnの検証鍵vmnと、リーフノードmnoの検証鍵vmnoと、を包括していると判別し、部分検証鍵vmidmnが正当であると判別する。一方、数22の値と数23の値とが一致しなければ、部分検証鍵vmidmnが、第2中間ノードmnの検証鍵vmnと、リーフノードmnoの検証鍵vmnoと、を包括していないと判別し、部分検証鍵vmidmnが正当ではないと判別する。
【0136】
そして、部分検証鍵vmidmnが正当であると判別した場合には、ステップS24に移り、部分検証鍵vmidmnが正当ではないと判別した場合には、最終二次コンテンツに関する著作権メタデータMの署名σを検証する処理を終了する。
【0137】
次に、ステップS24、S25、S26において、部分検証鍵vmidの正当性を検証する。
【0138】
すなわち、ステップS24では、署名検証装置3が備える検証鍵乗算部31により、部分検証鍵vmidm1と部分検証鍵vmidm2とを乗算する。具体的には、部分検証鍵vmid11と部分検証鍵vmid12とを乗算するとともに、部分検証鍵vmid21と部分検証鍵vmid22とを乗算する。
【0139】
この処理によれば、署名検証装置3では、数24に示す演算結果がそれぞれ得られる。
【0140】
【数24】

【0141】
ステップS25では、署名検証装置3が備える検証鍵検証部32により、数25、26に示すように、(g、v、vmidm1vmidm2、vmid)をブラックボックス関数e(P、Q)に入力して、GDH署名の演算を行う。
【0142】
【数25】

【0143】
【数26】

【0144】
ステップS26では、署名検証装置3が備える検証鍵検証部32により、数25の値と数26の値とが一致するか否かを判別して、部分検証鍵vmidが、第1中間ノードmの検証鍵vと、部分検証鍵vmidmnと、を包括するものであるか否かを判別することにより、部分検証鍵vmidが正当であるか否かを判別する。具体的には、数25の値と数26の値とが一致すれば、部分検証鍵vmidが、第1中間ノードmの検証鍵vと、部分検証鍵vmidmnと、を包括していると判別し、部分検証鍵vmidが正当であると判別する。一方、数25の値と数26の値とが一致しなければ、部分検証鍵vmidが、第1中間ノードmの検証鍵vと、部分検証鍵vmidmnと、を包括していないと判別し、部分検証鍵vmidが正当ではないと判別する。
【0145】
そして、部分検証鍵vmidが正当であると判別した場合には、ステップS27に移り、部分検証鍵vmidが正当ではないと判別した場合には、最終二次コンテンツに関する著作権メタデータMの署名σを検証する処理を終了する。
【0146】
次に、ステップS27、S28、S29において、全体検証鍵vの正当性を検証する。
【0147】
すなわち、ステップS27では、署名検証装置3が備える検証鍵乗算部31により、部分検証鍵vmidと部分検証鍵vmidとを乗算する。
【0148】
この処理によれば、署名検証装置3では、数27に示す演算結果がそれぞれ得られる。
【0149】
【数27】

【0150】
ステップS28では、署名検証装置3が備える検証鍵検証部32により、数28、29に示すように、(g、v、vmidvmid、v)をブラックボックス関数e(P、Q)に入力して、GDH署名の演算を行う。
【0151】
【数28】

【0152】
【数29】

【0153】
ステップS29では、署名検証装置3が備える検証鍵検証部32により、数28の値と数29の値とが一致するか否かを判別して、全体検証鍵vが、ルートノード1の検証鍵vと、部分検証鍵vmidと、を包括するものであるか否かを判別することにより、全体検証鍵vが正当であるか否かを判別する。具体的には、数28の値と数29の値とが一致すれば、全体検証鍵vが、ルートノード1の検証鍵vと、部分検証鍵vmidと、を包括していると判別し、全体検証鍵vが正当であると判別する。一方、数28の値と数29の値とが一致しなければ、全体検証鍵vが、ルートノード1の検証鍵vと、部分検証鍵vmidと、を包括していないと判別し、全体検証鍵vが正当ではないと判別する。
【0154】
そして、全体検証鍵vが正当であると判別した場合には、ステップS30に移り、全体検証鍵vが正当ではないと判別した場合には、最終二次コンテンツに関する著作権メタデータMの署名σを検証する処理を終了する。
【0155】
次に、ステップS30、31において、最終二次コンテンツに関する著作権メタデータMの署名σの正当性を検証する。
【0156】
すなわち、ステップS30では、署名検証装置3が備える署名検証部33により、数30、31に示すように、(g、v、h、σ)をブラックボックス関数e(P、Q)に入力して、GDH署名の演算を行う。
【0157】
【数30】

【0158】
【数31】

【0159】
ステップS31では、署名検証装置3が備える署名検証部33により、数30の値と数31の値とが一致するか否かを判別することにより、最終二次コンテンツに関する著作権メタデータMの署名σが正当であるか否かを判別する。具体的には、数30の値と数31の値とが一致すれば、最終二次コンテンツに関する著作権メタデータMの署名σが正当であると判別し、数30の値と数31の値とが一致しなければ、最終二次コンテンツに関する著作権メタデータMの署名σが正当ではないと判別する。
【0160】
以上の署名生成システムAAによれば、数19に示すように、最終二次コンテンツに関する著作権メタデータMの署名σを、著作権メタデータMのハッシュhに対して特定値でべき乗演算を行った形で表すことができる。ここで、この特定値は、最終二次コンテンツに関する著作権メタデータMの署名σを表す数式の指数であり、全ノードの署名鍵をノードの分類された階層に応じて入れ子状に並べた構造となっている。具体的には、第1層のルートノード1の署名鍵xが入れ子の最外郭に位置し、この内側には、第2層の第1中間ノードmごとに、署名鍵xが位置している。署名鍵xの内側には、第3層の第2中間ノードmnごとに、署名鍵xmnが位置しており、署名鍵xmnの内側には、第4層のリーフノードmnoの署名鍵xmnoが位置している。
【0161】
全体検証鍵vを表す数式の指数についても、最終二次コンテンツに関する著作権メタデータMの署名σを表す数式の指数と同様に、数20に示すように、全ノードの署名鍵をノードの分類された階層に応じて入れ子状に並べた構造となっている。
【0162】
このため、最終二次コンテンツに関する著作権メタデータMの署名σや全体検証鍵vを表す数式の指数の構造により、各コンテンツの作成者の関係、すなわち新たにコンテンツを作成する作成者が、どの作成者の作成したコンテンツを利用するのかを表現できる。したがって、最終二次コンテンツに関する著作権メタデータMの署名σや全体検証鍵vを表す数式の指数の構造により、オリジナルコンテンツの作成者と、このオリジナルコンテンツを利用してコンテンツを作成した作成者と、の関係を表すことができる。
【0163】
また、各ノードBBは、署名付きメタデータを作成する際に、自身の作成したコンテンツを利用してコンテンツを作成したノードで生成された署名付きメタデータを用いる。このため、各ノードBBは、自身の作成したコンテンツがどの端末において利用されようとしているのかを、署名付きメタデータを作成する際に、すなわち最終二次コンテンツに関する著作権メタデータMの署名σが生成される前に、認識できる。このため、各ノードBBは、自身の作成したコンテンツを利用して新たにコンテンツを作成しようとしているノードに応じて、署名付きメタデータの生成を行ったり行わなかったりすることで、任意のノードにのみ、署名付きメタデータや最終二次コンテンツに関するメタデータの署名の生成を許諾することができる。
【0164】
また、以上の署名生成システムAAによれば、最終二次コンテンツに関する著作権メタデータMの署名σおよび全体検証鍵vを、各ノードの署名鍵で生成でき、全体検証鍵vの正当性を、各ノードの検証鍵を用いて検証できる。そして、最終二次コンテンツに関する著作権メタデータMの署名σの正当性を、正当性が保証された全体検証鍵vにより検証できる。これらによれば、最終二次コンテンツに関する著作権メタデータMの署名σの正当性の検証を鍵発行機関によらず行うことができるので、最終二次コンテンツに関する著作権メタデータMの署名σを検証する際の鍵発行機関の負荷を軽減できる。
【0165】
また、以上の署名生成システムAAによれば、GDH署名の演算を行う回数は、生成された部分検証鍵、全体検証鍵、および署名の数で決まり、全てのノードから最下位層である第4層のリーフノード111、112、121、122、211、212、221、222を除いた数に「1」を加算した値となる。このため、最終二次コンテンツに関する著作権メタデータMの署名σの正当性の検証を、全ノードの数より少ない回数のGDH署名の演算で行うことができる。
【0166】
なお、上述の各ノードの処理と、上述の署名検証装置3の処理と、をコンピュータ読み取り可能な記録媒体にプログラムとして記憶し、これらを各ノードおよび署名検証装置3(いずれもコンピュータシステム)に読み込ませ、実行することによって、本発明を実現できる。ここで、コンピュータシステムとは、OSや周辺装置などのハードウェアを含む。
【0167】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上述のプログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0168】
また、上述のプログラムは、上述の機能の一部を実現するためのものであってもよい。さらに、上述の機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0169】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【図面の簡単な説明】
【0170】
【図1】本発明の一実施形態に係る署名生成システムの構成を示す図である。
【図2】前記署名生成システムが備えるノードの構成を示す図である。
【図3】前記ノードの分類について説明するための図である。
【図4】前記署名生成システムが備える署名検証装置の構成を示す図である。
【図5】前記ノードにおける最終二次コンテンツに関する著作権メタデータの署名を生成する処理のフローチャートである。
【図6】前記ノードにおける最終二次コンテンツに関する著作権メタデータの署名を生成する処理のフローチャートである。
【図7】前記ノードにおける最終二次コンテンツに関する著作権メタデータの署名を検証する処理のフローチャートである。
【図8】前記ノードにおける最終二次コンテンツに関する著作権メタデータの署名を検証する処理のフローチャートである。
【符号の説明】
【0171】
3・・・署名検証装置
AA・・・署名生成システム
BB・・・ノード
σ・・・最終二次コンテンツに関する著作権メタデータの署名
v・・・全体検証鍵

【特許請求の範囲】
【請求項1】
オリジナルコンテンツを作成した1以上のオリジナル端末と、
前記オリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末と、
前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システムであって、
前記1以上のオリジナル端末および前記二次利用端末のそれぞれは、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する鍵格納部を備え、
前記二次利用端末は、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第1の署名付きメタデータ生成手段を備え、
前記1以上のオリジナル端末のそれぞれは、前記二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第2の署名付きメタデータ生成手段を備え、
前記二次利用端末は、
前記1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成手段と、
前記1以上のオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する全体検証鍵生成手段と、をさらに備え、
前記署名検証装置は、
前記1以上のオリジナル端末の公開鍵同士を乗算する乗算手段と、
前記所定のパラメータ、前記二次利用端末の公開鍵、前記乗算手段による乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する全体検証鍵検証手段と、
前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する署名検証手段と、
を備えることを特徴とする署名生成システム。
【請求項2】
オリジナルコンテンツを作成した1以上のオリジナル端末と、
前記オリジナルコンテンツを利用して二次コンテンツを作成した1以上の第1の二次利用端末と、
前記二次コンテンツを利用して最終二次コンテンツを作成する第2の二次利用端末と、
前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システムであって、
前記1以上のオリジナル端末、前記1以上の第1の二次利用端末、および前記第2の二次利用端末のそれぞれは、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する鍵格納部を備え、
前記第2の二次利用端末は、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第1の署名付きメタデータ生成手段を備え、
前記1以上の第1の二次利用端末のそれぞれは、前記第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第2の署名付きメタデータ生成手段を備え、
前記1以上のオリジナル端末のそれぞれは、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する第3の署名付きメタデータ生成手段を備え、
前記1以上の第1の二次利用端末のそれぞれは、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する第4の署名付きメタデータ生成手段を備え、
前記第2の二次利用端末は、前記1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成手段を備え、
前記1以上の第1の二次利用端末のそれぞれは、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する部分検証鍵生成手段をさらに備え、
前記第2の二次利用端末は、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する全体検証鍵生成手段をさらに備え、
前記署名検証装置は、
前記1以上の第1の二次利用端末ごとに、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算する第1の乗算手段と、
前記所定のパラメータ、前記第1の二次利用端末の公開鍵、前記第1の乗算手段による乗算結果、および前記部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記部分検証鍵の正当性を検証する部分検証鍵検証手段と、
前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算する第2の乗算手段と、
前記所定のパラメータ、前記第2の二次利用端末の公開鍵、前記第2の乗算手段による乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する全体検証鍵検証手段と、
前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する署名検証手段と、
を備えることを特徴とする署名生成システム。
【請求項3】
オリジナルコンテンツを作成した1以上のオリジナル端末と、
前記オリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末と、
前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システムにおいて、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法であって、
前記1以上のオリジナル端末および前記二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、
前記二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、
前記1以上のオリジナル端末のそれぞれにより、前記二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、
前記二次利用端末により、前記1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第4のステップと、
前記二次利用端末により、前記1以上のオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第5のステップと、
前記署名検証装置により、前記1以上のオリジナル端末の公開鍵同士を乗算する第6のステップと、
前記署名検証装置により、前記所定のパラメータ、前記二次利用端末の公開鍵、前記第6のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第7のステップと、
前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第8のステップと、
を備えることを特徴とする署名生成方法。
【請求項4】
オリジナルコンテンツを作成した1以上のオリジナル端末と、
前記オリジナルコンテンツを利用して二次コンテンツを作成した1以上の第1の二次利用端末と、
前記二次コンテンツを利用して最終二次コンテンツを作成する第2の二次利用端末と、
前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システムにおいて、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法であって、
前記1以上のオリジナル端末、前記1以上の第1の二次利用端末、および前記第2の二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、
前記第2の二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、
前記1以上の第1の二次利用端末のそれぞれにより、前記第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、
前記1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する第4のステップと、
前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する第5のステップと、
前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第6のステップと、
前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する第7のステップと、
前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第8のステップと、
前記署名検証装置により、前記1以上の第1の二次利用端末ごとに、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算する第9のステップと、
前記署名検証装置により、前記所定のパラメータ、前記第1の二次利用端末の公開鍵、前記第9のステップにおける乗算結果、および前記部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記部分検証鍵の正当性を検証する第10のステップと、
前記署名検証装置により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算する第11のステップと、
前記署名検証装置により、前記所定のパラメータ、前記第2の二次利用端末の公開鍵、前記第11のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第12のステップと、
前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第13のステップと、
を備えることを特徴とする署名生成方法。
【請求項5】
オリジナルコンテンツを作成した1以上のオリジナル端末と、
前記オリジナルコンテンツを利用して最終二次コンテンツを作成する二次利用端末と、
前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システムにおいて、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法を、コンピュータに実行させるためのプログラムであって、
前記1以上のオリジナル端末および前記二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、
前記二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、
前記1以上のオリジナル端末のそれぞれにより、前記二次利用端末において生成された第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、
前記二次利用端末により、前記1以上のオリジナル端末において生成された第2の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第4のステップと、
前記二次利用端末により、前記1以上のオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第5のステップと、
前記署名検証装置により、前記1以上のオリジナル端末の公開鍵同士を乗算する第6のステップと、
前記署名検証装置により、前記所定のパラメータ、前記二次利用端末の公開鍵、前記第6のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第7のステップと、
前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第8のステップと、
をコンピュータに実行させるためのプログラム。
【請求項6】
オリジナルコンテンツを作成した1以上のオリジナル端末と、
前記オリジナルコンテンツを利用して二次コンテンツを作成した1以上の第1の二次利用端末と、
前記二次コンテンツを利用して最終二次コンテンツを作成する第2の二次利用端末と、
前記最終二次コンテンツに関するメタデータの署名を検証する署名検証装置と、を備える署名生成システムにおいて、前記最終二次コンテンツに関するメタデータの署名を生成する署名生成方法を、コンピュータに実行させるためのプログラムであって、
前記1以上のオリジナル端末、前記1以上の第1の二次利用端末、および前記第2の二次利用端末のそれぞれにより、互いに異なる秘密鍵と、所定のパラメータに対して自身の前記秘密鍵でべき乗演算した公開鍵と、を格納する第1のステップと、
前記第2の二次利用端末により、前記最終二次コンテンツに関するメタデータのハッシュに対して自身の秘密鍵でべき乗演算を行って、第1の署名付きメタデータを生成する第2のステップと、
前記1以上の第1の二次利用端末のそれぞれにより、前記第1の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第2の署名付きメタデータを生成する第3のステップと、
前記1以上のオリジナル端末のそれぞれにより、自身が作成したオリジナルコンテンツを利用して二次コンテンツを作成した第1の二次利用端末において生成された第2の署名付きメタデータに対して自身の秘密鍵でべき乗演算を行って、第3の署名付きメタデータを生成する第4のステップと、
前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末において生成された第3の署名付きメタデータ同士を乗算して、第4の署名付きメタデータを生成する第5のステップと、
前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された第4の署名付きメタデータ同士を乗算して、前記最終二次コンテンツに関するメタデータの署名を生成する第6のステップと、
前記1以上の第1の二次利用端末のそれぞれにより、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、部分検証鍵を生成する第7のステップと、
前記第2の二次利用端末により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算し、当該乗算結果に対して自身の秘密鍵でべき乗演算を行って、全体検証鍵を生成する第8のステップと、
前記署名検証装置により、前記1以上の第1の二次利用端末ごとに、自身が二次コンテンツを作成するにあたって利用したオリジナルコンテンツを作成したオリジナル端末の公開鍵同士を乗算する第9のステップと、
前記署名検証装置により、前記所定のパラメータ、前記第1の二次利用端末の公開鍵、前記第9のステップにおける乗算結果、および前記部分検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記部分検証鍵の正当性を検証する第10のステップと、
前記署名検証装置により、前記1以上の第1の二次利用端末において生成された部分検証鍵同士を乗算する第11のステップと、
前記署名検証装置により、前記所定のパラメータ、前記第2の二次利用端末の公開鍵、前記第11のステップにおける乗算結果、および前記全体検証鍵を入力として、GAP−Diffie−Hellman署名の演算を行って、前記全体検証鍵の正当性を検証する第12のステップと、
前記署名検証装置により、前記所定のパラメータ、前記全体検証鍵、前記最終二次コンテンツに関するメタデータのハッシュ、および前記署名を入力として、GAP−Diffie−Hellman署名の演算を行って、前記署名の正当性を検証する第13のステップと、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−141783(P2010−141783A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−318213(P2008−318213)
【出願日】平成20年12月15日(2008.12.15)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】