(57)【要約】    ユーザ端末における署名データの検証の負荷を軽減すると共に、同時にサーバ側における負担も軽減する。署名鍵マトリクスＫＭは、複数の署名鍵Ｋｉ−ｊをｍ行ｎ列の行からなるマトリクス状に配列してなり、署名鍵マトリクスデータベース２１に記憶される。ｎ列の各々から選ばれる任意の署名鍵の集合である署名鍵セットＣＫとユーザ端末３０との対応関係が、対応関係情報データベース２２に記憶される。  署名データ生成部２４は、コンテンツデータＣに基づいて生成されるコンテンツダイジェストＤを署名鍵マトリクスＫＭに含まれるｎ個の署名鍵でそれぞれ暗号化してマトリクス状の署名データを生成する。
2011064844.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータが真正であることを示す署名データを生成する署名データサーバにおいて、
複数の署名鍵の集合体である署名鍵列の集合体である署名鍵列群を記憶する署名鍵列群データベースと、
複数の前記署名鍵列の各々から選ばれる任意の署名鍵の集合である署名鍵セットとユーザ端末との対応関係を示す対応関係情報を記憶する対応関係情報データベースと、
前記コンテンツデータに基づいて生成されるコンテンツダイジェストを前記署名鍵列群に含まれる複数の署名鍵を用いて暗号化した署名データを生成する署名データ生成部と
を備えたことを特徴とする署名データサーバ。
【請求項２】
コンテンツデータを前記ユーザ端末に提供するコンテンツサーバに向けて前記署名データを送信すると共に、前記コンテンツダイジェストを前記コンテンツサーバから受信する送受信制御部を更に備えた請求項１記載の署名データサーバ。
【請求項３】
前記署名データの複数の列の各々について異なる複数の署名データ鍵を生成する署名データ鍵生成部を更に備え、
前記署名データ生成部は、前記複数の列の各々において、前記署名鍵を用いて対応する前記署名データ鍵を暗号化する請求項１記載の署名データサーバ。
【請求項４】
前記署名データ生成部は、
前記署名データの１列目においては、前記署名鍵を用いて前記コンテンツダイジェスト及び１列目の前記署名データ鍵を暗号化する一方、
前記署名データのｊ列目（ｊ≧２）においては、（ｊ−１）列目の前記署名データ鍵を用いて前記コンテンツダイジェスト及びｊ列目の前記署名データ鍵を暗号化して暗号化データを生成すると共に、更に前記署名鍵を用いて前記暗号化データを暗号化することを特徴とする請求項３記載の署名データサーバ。
【請求項５】
前記署名データ生成部は、前記署名データの検証のための検証値を前記署名データ鍵で暗号化することを特徴とする請求項１記載の署名データサーバ。
【請求項６】
コンテンツデータが真正であることを示す署名データをコンテンツデータと共に受領するユーザ端末において、
前記コンテンツデータに基づいて生成されるコンテンツダイジェストを、複数の署名鍵からなる署名鍵列の集合体である署名鍵列群に含まれる複数の署名鍵でそれぞれ暗号化してなる署名データをコンテンツデータと共に外部から受信するコンテンツデータ・署名データ受信部と、
前記署名鍵列群の中の前記署名鍵列の各々からそれぞれ一つずつ選択された前記署名鍵の集合としての署名鍵セットを外部から受信する署名鍵セット受信部と、
前記署名鍵セットに含まれる前記署名鍵を用い、前記署名データに含まれるコンテンツダイジェストを復号した後、このコンテンツダイジェストを、外部から受信した前記コンテンツデータから得られるコンテンツダイジェストと比較することにより前記署名データを検証する署名データ検証部と
を備えたことを特徴とするユーザ端末。
【請求項７】
前記署名データは、複数の列の各々において、異なる署名鍵データを前記署名鍵で暗号化されていることを特徴とする請求項６記載のユーザ端末。
【請求項８】
前記署名データは、
１列目においては、前記署名鍵を用いて前記コンテンツダイジェスト及び１列目の前記署名データ鍵を暗号化している一方、
ｊ列目（ｊ≧２）においては、（ｊ−１）列目の前記署名データ鍵を用いて前記コンテンツダイジェスト及びｊ列目の前記署名データ鍵を暗号化して暗号化データを生成すると共に、更に前記署名鍵を用いて前記暗号化データを暗号化しており、
前記署名データ検証部は、前記署名データの１列目の前記コンテンツダイジェスト及び前記署名データ鍵を前記署名鍵を用いて復号し、続いてｊ列目（ｊ≧２）の前記コンテンツダイジェスト及び前記署名データ鍵を（ｊ−１）列目の前記署名データ鍵及び前記署名鍵を用いて復号することを特徴とする請求項７記載のユーザ端末。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンテンツデータ等が正規のものであることを示す署名データを作成するための署名データサーバ、及びそのような署名データを受領するユーザ端末に関する。
【背景技術】
【０００２】
近年、情報化社会の発展に伴い、本、新聞、音楽又は動画などを電子化したコンテンツデータをユーザ端末に配信し、コンテンツを閲覧可能とするコンテンツ配信システムが広く用いられてきている。【０００３】
但し、電子化したコンテンツデータは、容易に複製可能なため、著作権を無視する不正行為が生じ易い。こうした不正行為に基づいて複製され流通する、所謂海賊版が横行している。このような海賊版からコンテンツデータを保護する観点から、コンテンツデータには、暗号化処理が施されることに加え、正規のプロバイダが認可したコンテンツデータであることを示す署名データが付されることがある。一例として、このような署名データは、コンテンツ配信業者のサーバ、又は認証機関のサーバにおいて、そのコンテンツデータのハッシュ値をデータの暗号鍵と復号鍵が異なる非対称アルゴリズムの暗号鍵に基づいて暗号化することにより生成される。ここではこの暗号鍵を非公開鍵、復号鍵を公開鍵と呼ぶこととする。この署名データは、コンテンツデータに添付されてユーザ端末に向けて配信される。ユーザ端末においては、署名データの検証のため、前述の非公開鍵と対の関係にある公開鍵を用いてこの署名データを復号する。復号により得られたハッシュ値が、コンテンツデータのハッシュ値と同一であれば、その署名データは正規なものと認定される（特許文献１参照）。【０００４】
しかし、このような認証システムでは、ユーザ端末において、公開鍵を用いた復号化アルゴリズムを実装しなければならず、ユーザ端末側において負荷が大きくなるという問題がある。すなわち、携帯電話等のデータ処理能力の低い端末においては、復号に時間がかかってしまう。一方で、非対称アルゴリズム方式と比較して演算負荷の軽い対称アルゴリズム方式の暗複号鍵を利用した署名方式も考えられる。なおここではこの暗復号鍵を秘密鍵と呼ぶ。具体的にはユーザ端末ごとに異なる秘密鍵を用意し、それぞれの秘密鍵でコンテンツのハッシュ値を暗号化した暗号化データの束を署名データとして利用する。検証時にはユーザ端末にて、所有する秘密鍵で復号した結果がコンテンツのハッシュ値と同一であれば、その署名データは正規なものとして認定される、という仕組みもある。しかしこの場合ユーザ端末ごとに異なる秘密鍵を準備する必要があり、ユーザ端末の総数が大規模なコンテンツデータ配信システムを構築する場合、署名データのデータサイズが巨大で配信やデータ記録の障害となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２８４７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ユーザ端末における署名データの検証の負荷を軽減すると共に、同時にサーバ側における負担も軽減することができる署名データサーバ、及びユーザ端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る署名データサーバは、コンテンツデータが真正であることを示す署名データを生成する署名データサーバにおいて、複数の署名鍵の集合体である署名鍵列の集合体である署名鍵列群を記憶する署名鍵列群データベースと、複数の前記署名鍵列の各々から選ばれる任意の署名鍵の集合である署名鍵セットとユーザ端末との対応関係を示す対応関係情報を記憶する対応関係情報データベースと、前記コンテンツデータに基づいて生成されるコンテンツダイジェストを前記署名鍵列群に含まれる複数の署名鍵を用いて暗号化した署名データを生成する署名データ生成部とを備えたことを特徴とする。【０００８】
また、本発明の一態様に係るユーザ端末は、コンテンツデータが真正であることを示す署名データをコンテンツデータと共に受領するユーザ端末において、前記コンテンツデータに基づいて生成されるコンテンツダイジェストを、複数の署名鍵からなる署名鍵列の集合体である署名鍵列群に含まれる複数の署名鍵でそれぞれ暗号化してなる署名データをコンテンツデータと共に外部から受信するコンテンツデータ・署名データ受信部と、前記署名鍵列群の中の前記署名鍵列の各々からそれぞれ一つずつ選択された前記署名鍵の集合としての署名鍵セットを外部から受信する署名鍵セット受信部と、前記署名鍵セットに含まれる前記署名鍵を用い、前記署名データに含まれるコンテンツダイジェストを復号した後、このコンテンツダイジェストを、外部から受信した前記コンテンツデータから得られるコンテンツダイジェストと比較することにより前記署名データを検証する署名データ検証部とを備えたことを特徴とする。【０００９】
また、本発明の一態様に係る署名データ提供方法は、コンテンツデータが真正であることを示す署名データを生成しコンテンツデータと共にユーザ端末に提供する署名データ提供方法において、前記コンテンツデータに基づいて生成されるコンテンツダイジェストを、複数の署名鍵の集合体である署名鍵列の集合体である署名鍵列群に含まれる複数の署名鍵を用いて署名鍵で暗号化した署名データを生成し、前記署名データを前記コンテンツデータと共にユーザ端末に送信し、前記署名鍵列群の複数の列の各々から選ばれる任意の署名鍵の集合である署名鍵セットを前記ユーザ端末に送信することを特徴とする。
【発明の効果】
【００１０】
本発明は、ユーザ端末における署名データの検証の負荷を軽減すると共に、同時にサーバ側における負担も軽減することができる署名データサーバ、及びユーザ端末を提供することを目的とする。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る署名データ付きのコンテンツデータ配信システムの全体構成を示すブロック図である。
【図２】本発明の実施の形態における署名データの作成に用いられる署名鍵マトリクスの構成の一例を示す。
【図３】本発明の実施の形態において作成される署名データの一例を示す。
【図４】図１の署名鍵・署名データサーバ２０において実行される署名データ生成手順の一例を示す。
【図５】図１のユーザ端末３０において実行される署名データＳＧの検証手順を示すブロック図である。
【発明を実施するための形態】
【００１２】
次に、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１３】
［全体構成］
図１は、本発明の実施の形態に係るコンテンツデータ配信システムの全体構成を示している。このシステムは、コンテンツサーバ１０と、署名鍵・署名データサーバ２０と、ユーザ端末３０とをネットワーク４０により通信可能に接続して構成される。
【００１４】
［コンテンツサーバ１０］
コンテンツサーバ１０は、コンテンツデータＣを、これに付加される署名データＳＧと共にユーザ端末３０に配信する機能を有する。署名データＳＧは、後述するように、署名鍵・署名データサーバ２０で生成されコンテンツサーバ１０に供給される。署名データＳＧの付加によりコンテンツデータＣが正規のルートで配信されたものであることが証明される。従って、このような署名データＳＧは、海賊版データの排除に寄与する。
【００１５】
コンテンツサーバ１０は、一例として、コンテンツデータベース１１、コンテンツ鍵データベース１２、及びユーザ鍵データベース１３と接続されている。コンテンツデータベース１１は、様々なコンテンツデータＣを格納するためのデータベースである。また、コンテンツ鍵データベース１２は、コンテンツデータＣを暗号化するためのコンテンツ鍵データＫｃを格納するためのデータベースである。また、ユーザ鍵データベース１３は、コンテンツ鍵データＫｃを暗号化するためのユーザ鍵データＫｕを、例えばユーザ端末３０に固有のデバイスＩＤや、ユーザ端末３０接続された記録媒体の記録媒体ＩＤ等と関連付けて格納するためのデータベースである。ユーザ鍵データＫｕは、ユーザ毎、ユーザ端末毎又は記録媒体毎に固有のデータである。
【００１６】
コンテンツデータＣは、コンテンツ鍵データＫｃにより暗号化され、そのコンテンツ鍵データＫｃはユーザ鍵データＫｕにより暗号化されてユーザ端末３０に配信される。以下では、コンテンツ鍵データＫｃで暗号化されコンテンツデータＣを「暗号化コンテンツデータＥｎｃ（Ｋｃ：Ｃ）」のように表記する。同様に、ユーザ鍵データＫｕで暗号化されたコンテンツ鍵データＫｃを「暗号化コンテンツ鍵データＥｎｃ（Ｋｕ：Ｋｃ）」と表記する。
【００１７】
［署名鍵・署名データサーバ２０］
署名鍵・署名データサーバ２０は、署名鍵マトリクスデータベース２１、及び対応関係情報データベース２２と接続され、署名データ鍵生成部２３、及び署名データ生成部２４、及び送受信制御部２５を備えている。各部の機能に関しては、後述する。署名鍵・署名データサーバ２０は、署名データ生成部２４において上述の署名データＳＧを生成してコンテンツサーバ１０に提供する機能を有する。署名データＳＧは、コンテンツダイジェストＤを署名鍵Ｋｉ−ｊ及び署名データ鍵Ｋｓｉｇを用いて暗号化することにより生成される。コンテンツダイジェストＤとは、認証の対象であるコンテンツデータＣに基づいて生成されるデータのことであり、サイズの大きなコンテンツデータから計算されるサイズの小さな固定長（例えば１６バイト程度）の値である。一例として、暗号化コンテンツデータＥｎｃ（Ｋｃ：ｃ）のハッシュ値を、コンテンツダイジェストＤとすることができる。コンテンツダイジェストＤは、例えばコンテンツサーバ１０から送受信制御部２５を介して提供されるようにすることができるが、本発明は特にこれに限定されるものではなく、他のサーバ等からコンテンツダイジェストＤを受信することもできるし、また、署名鍵・署名データサーバ２０自身が生成するようにしてもよい。なお、生成された署名データＳＧは、送受信制御部２５の動作により、ネットワーク４０を介してコンテンツサーバ１０に送信される。
【００１８】
署名データ鍵Ｋｓｉｇは、後述するように、署名データＳＧ中のデータ（例えばコンテンツダイジェストＤ、他の署名鍵データ）を暗号化するために用いられ、また署名鍵Ｋｉ−ｊにより暗号化される。署名データ鍵Ｋｓｉｇは、署名データ鍵生成部２３で生成される。
本実施の形態では、図２に示すように、署名データＳＧの作成のため、複数の署名鍵Ｋｉ−ｊ（ｉ＝１〜ｍ、ｊ＝１〜ｎ）をマトリクス状に配列してなる署名鍵マトリクスＫＭ(署名鍵列群)が用いられる。署名鍵マトリクスＫＭは、署名鍵マトリクスデータベース２１に格納される。
【００１９】
加えて、署名鍵・署名データサーバ２０は、各ユーザ端末３０における署名データＳＧの検証のため、署名鍵セットＣＫ＝（Ｋ＊−１、Ｋ＊−２、・・・、Ｋ＊−ｎ）を、送受信制御部２５の動作により、ネットワーク４０を介してユーザ端末３０に提供する。この署名鍵セットＣＫ＝（Ｋ＊−１、Ｋ＊−２、・・・、Ｋ＊−ｎ）は、署名鍵マトリクスＫＭの複数の列（署名鍵列）の各々から１つずつ抽出されたｎ個の署名鍵の集合である。ここで、「署名鍵Ｋ＊−１」との表記は、署名鍵マトリクスＫＭの１列目から抽出された任意の署名鍵を意味する。同様に、「署名鍵Ｋ＊−２」、・・・、「Ｋ＊−ｎ」との表記は、それぞれ署名鍵マトリクスＫＭの２列目、・・・ｎ列目から抽出された任意の署名鍵を意味する。この署名鍵セットＣＫ内のｎ個の署名鍵の組み合わせは、ユーザ端末３０毎に異なっている。従って、署名鍵セットＣＫは、各ユーザ端末３０において、署名データＳＧ内のデータを復号し署名データＳＧを検証するための秘密鍵として用いられる。ユーザ端末３０の識別データ（デバイスＩＤ、媒体ＩＤ等）と、そのユーザ端末３０に提供される署名鍵セットＣＫとの対応関係を示す対応関係情報は、対応関係データベース２２に格納される。
【００２０】
［ユーザ端末３０］
ユーザ端末３０は、コンテンツデータ・署名データ受信部３１と、署名鍵セット受信部３２と、署名データ検証部３３とを有する。
ユーザ端末３０は、コンテンツデータ・署名データ受信部３１において、コンテンツサーバ１０から暗号化コンテンツデータＥｎｃ（Ｋｃ：Ｃ）、暗号化コンテンツ鍵データＥｎｃ（Ｋｕ：Ｋｃ）、ユーザ鍵Ｋｕ、及び署名データＳＧを受信する。また、署名鍵セット受信部３２において、署名鍵・署名データサーバ２０から署名鍵セットＣＫを受信する。更に、署名データ検証部３３において、署名データＳＧを署名鍵セットＣＫを用いて復号し、得られたコンテンツダイジェストＤを、受領したコンテンツデータから生成したコンテンツダイジェストＤ’と比較することにより署名データの検証を行う。比較の結果、両者（ＤとＤ’）が一致すると判定される場合には、署名データＳＧの正当性が確認される（海賊版メーカではなく、正規のメーカが発行したコンテンツデータであると判定される）。署名データの正当性が確認されない場合には、正規のメーカが発行したコンテンツデータでない、とみなして再生を禁止することで海賊版コンテンツの配布を防ぐことができる。
【００２１】
なお、図１では、コンテンツサーバ１０と署名鍵・署名データサーバ２０とが別々のサーバとして構成されているが、本発明はこれに限定されるものではなく、コンテンツサーバ１０の機能と署名鍵・署名データサーバ２０の機能とが１つのサーバにより達成されていてもよい。
【００２２】
［署名データＳＧのデータ構造］
次に、図３を参照して、署名データＳＧのデータ構造の一例を説明する。
この署名データＳＧは、署名鍵マトリクスＫＭと同様に、ｍ行ｎ列のマトリクス構造を有している。この署名データＳＧは、後述するように、署名データ検証部３３において、署名鍵セットＣＫを用いることで、１列目から順に、２列目、３列目・・・と復号され、最後にｎ列目を復号される。１列目においては、コンテンツダイジェストＤ及び１列目の署名データ鍵Ｋｓｉｇ１の排他的論理和データ（Ｄ  ｘｏｒ  Ｋｓｉｇ１）が、署名鍵マトリクスＫＭの１列目の署名鍵Ｃｉ−１（ｉ＝１〜ｍ）により暗号化される。
【００２３】
一方、２列目以降、すなわちｊ列目（ｊ＝２〜ｎ）では、コンテンツダイジェストＤ及びｊ列目の署名データ鍵Ｋｓｉｇｊ（ｊ＝２〜ｎ）が、１列前の署名データ鍵Ｋｓｉｇｊ−１で暗号化されて暗号化データＥｎｃ（Ｋｓｉｇｊ−１：Ｄ  ｘｏｒ  Ｋｓｉｇｊ）とされ、更にこの暗号化データＥｎｃ（Ｋｓｉｇｊ−１：Ｄ  ｘｏｒ  Ｋｓｉｇｊ）がその列のための署名鍵Ｋｉ−ｊ（ｉ＝１〜ｍ）で暗号化されている。
【００２４】
更に、署名データＳＧの各列の最上部には、署名データＳＧが真正のものであることを示すための検証用データが格納されている。検証用データは、検証値＊＊＊＊＊＊ＦＦＦＦＦＦＦＦ（＊＊＊＊＊＊は任意の値、ＦＦＦＦＦＦＦＦはあらかじめ定められた固定値部分であり、ＦＦＦＦＦＦＦＦに限ったものではない）を、各列のために用意された署名データ鍵Ｋｓｉｇｊにより暗号化した暗号化データの形式で格納されている。この暗号化された検証値＊＊＊＊＊＊ＦＦＦＦＦＦＦが署名データ鍵Ｋｓｉｇｊを用いて復号化される。例えば復号化された検証値の固定値部分があらかじめ定めた固定値であるかどうかがユーザ端末３０において判定される。この検証値＊＊＊＊＊＊ＦＦＦＦＦＦＦＦは、コンテンツダイジェストＤと共に、署名データＳＧの真正度の判定に寄与する。
【００２５】
この署名データＳＧのデータ構造は、コンテンツデータＣが同じであれば、全てのユーザ端末３０において同一である。ただし、ユーザ端末３０は、それぞれ異なる署名鍵セットＣＫを与えられている。この署名鍵セットＣＫは、前述したように、署名鍵マトリクスＫＭのｎ列の各々から１つずつ抽出された合計ｎ個の署名鍵Ｋｉ−ｊの集合である。この署名鍵セットＣＫがユーザ端末３０毎に異なるものとされていることにより、ｍ行ｎ列の１つの署名鍵マトリクスＫＭに基づいて、ｍｎ通りの秘密鍵を発行したのと同じ状態をシステムに与えることができる。従来の対称アルゴリズム方式においては、ｍ×ｎ個の署名鍵（秘密鍵）により、ｍ×ｎ個のユーザ端末にしか対応することができない。すなわち、本実施の形態は、ｍ×ｎ個の署名鍵をマトリクス状に配置した署名鍵マトリクスＫＭを用いて署名データＳＧを生成する一方、ユーザ端末３０には、上記のような署名鍵マトリクスＫＭの各列から１つずつ選ばれた署名鍵の集合である署名鍵セットＣＫを供給することにより、ｍ×ｎ個の署名鍵により、ｍｎ通りのユーザ端末に対し異なる署名鍵を与えることができる。従って、同じ数の署名鍵であれば利用できるユーザ端末の数を多くすることができる。一方で、ユーザ端末３０側においては、署名鍵セットＣＫを利用した対称アルゴリズムにより署名データＳＧの検証が可能であるので、非対称アルゴリズム方式を用いる場合に比べ、演算負荷を著しく小さくすることができる。
【００２６】
加えて、署名鍵セットＣＫは、ユーザ端末３０毎に異なるので、仮に１つのユーザ端末３０において署名鍵セットＣＫが盗まれたとしても、それは署名鍵マトリクスＫＭの一部でしかなく、他のユーザ端末でも検証可能な署名データを作成することはできない。署名鍵マトリクスＫＭ自体は署名鍵・署名データサーバ２０から外部に送信されることはない。従って、署名鍵マトリクスＫＭが厳重に管理されている限りにおいて、署名データＳＧが署名鍵・署名データサーバ２０の外部で作成されることはない。
【００２７】
続いて、署名データＳＧを生成する場合における署名鍵・署名データサーバ２０の動作を、図４のブロック図を参照して説明する。この図４では、署名データ生成部２４が、ｎ個の署名データ生成部２４−１〜２４−ｎ、及びデータ連結部２４ｘからなるものとして説明する。
【００２８】
署名データ生成部２４−１は、１列目の署名データ鍵Ｋｓｉｇ１とコンテンツダイジェストＤとの排他的論理和データ（Ｄ  ｘｏｒ  Ｋｓｉｇ１）を演算した後、その排他的論理和データを、署名鍵マトリクスＫＭの１列目の署名鍵Ｋi−１（ｉ＝１〜ｍ）を用いて暗号化し、暗号化データＥｎｃ（Ｋｉ−１：Ｄ  ｘｏｒ  Ｋｓｉｇ１）する。更に、検証値＊＊＊＊＊＊ＦＦＦＦＦＦＦＦを１列目の署名データ鍵Ｋｓｉｇ１で暗号化する。
【００２９】
２列目以降の署名データ生成部２４−ｊ（ｊ≧２）では、そのｊ列目の署名データ鍵ＫｓｉｇｊとコンテンツダイジェストＤとの排他的論理和データ（Ｄ  ｘｏｒ  Ｋｓｉｇｊ）を演算した後、その排他的論理和データを、（ｊ−１）列目（すなわち、１列前）の署名データ鍵Ｋｓｉｇｊ−１で暗号化し、暗号化データＥｎｃ（Ｋｓｉｇｊ−１：Ｄ  ｘｏｒ  Ｋｓｉｇｊ）とする。この暗号化データを更にｊ列目の署名鍵Ｋｉ−ｊで暗号化する。加えて、更に、検証値＊＊＊＊＊＊ＦＦＦＦＦＦＦＦをｊ列目の署名データ鍵Ｋｓｉｇｊで暗号化する。以上の動作により生成された各列の暗号化データをデータ連結部２４−ｘで連結することにより、図３に示すマトリクス状の署名データＳＧが生成される。
【００３０】
次に、ユーザ端末３０において署名データＳＧを検証する動作を、図５を参照して説明する。この図５では、署名データ検証部３３が、署名データＳＧ中のｊ列目のデータを復号するためのｊ個の署名データ検証部３３−ｊ（ｊ＝１〜ｎ）を備えているものとして説明する。
まず、署名データＳＧ中の１列目のデータと、署名鍵セットＣＫの１列目の署名鍵Ｋ＊−１を署名データ検証部３３−１に入力して復号化を実行する。復号により得られたコンテンツダイジェストＤをコンテンツダイジェストＤ’と比較して一致判定を行うと共に、署名データ鍵Ｋｓｉｇ１を得る。この署名データ鍵Ｋｓｉｇ１は、２列目の署名データの復号に用いられるため、署名データ検証部３３−２に送信される。前述のように、２列目以降の署名データＳＧでは、コンテンツダイジェストＤ及び署名データ鍵Ｋｓｉｇｊが１列前の署名データ鍵Ｋｓｉｇｊ−１と署名鍵Ｋｉ−ｊにより二重に暗号化されている。このため、２列目以降の署名データ検証部３３−ｊ（ｊ≧２）では、署名鍵セットＣＫに加え、１列前の署名データ鍵Ｋｓｉｇｊ−１を前段の署名データ検証部３３−ｊ−１から受領して復号を実行する。このようにして、各列において順々にコンテンツダイジェストＤの検証が行われることにより、署名データＳＧの検証動作が終了する。
【００３１】
以上、発明の実施の形態を説明したが、本発明はこれに限定されるものではなく、発明の趣旨を逸脱しない範囲内において様々な変更が可能である。例えば、上記の実施の形態では、署名データＳＧにおいてコンテンツダイジェストＤと署名データ鍵Ｋsｉｇｊの排他的論理和データを演算したが、排他的論理和演算である必要はなく、別の論理演算の結果を暗号化するようにしてもよい。署名鍵マトリクスＫＭはそれぞれの列で利用しない署名鍵を複数設けて、それぞれの署名鍵列を複数集めた署名鍵列群を署名鍵マトリクスの代わりとすることでも同様の効果が得られる。
【符号の説明】
【００３２】
１０・・・コンテンツサーバ、  ２０・・・署名鍵・署名データサーバ。  ３０・・・ユーザ端末、  ＫＭ・・・署名鍵マトリクス。
【図１】
2011064844.tif 000003
【図２】
2011064844.tif 000004
【図３】
2011064844.tif 000005
【図４】
2011064844.tif 000006
【図５】
2011064844.tif 000007
【国際調査報告】
2011064844.tif 000008
2011064844.tif 000009
2011064844.tif 000010
2011064844.tif 000011