(57)【要約】  コンテンツ検索装置（１）は、暗号化コンテンツデータベース（３、１２１）に含まれる比較対象となる有効な暗号化コンテンツの数と、復号鍵データベース（４、２１）に含まれる有効な復号鍵の数とを算出し、数が少ない方のデータベースを基準データベースに決定し、基準データベースに含まれるエントリを順次読み出しながら、暗号化コンテンツとそれに対応する復号鍵との組み合わせを検索する。
2007119324.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを暗号化した暗号化コンテンツと、前記暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせを検索するコンテンツ検索装置であって、
基準ＤＢ決定部とＩＤ比較部を備え、
前記基準ＤＢ決定部は、
前記暗号化コンテンツを格納したデータベースである暗号化コンテンツデータベースと、前記復号鍵を格納したデータベースである復号鍵データベースとにアクセスし、
前記暗号化コンテンツデータベースに含まれ、所定の条件を満たす暗号化コンテンツの数と、前記復号鍵データベースに含まれ、所定の条件を満たす復号鍵の数とを算出し、
前記暗号化コンテンツデータベースと復号鍵データベースのうち、算出された数が少ない方のデータベースを基準データベースに決定し、
前記ＩＤ比較部は、前記基準データベースに含まれるエントリを順次読み出しながら、暗号化コンテンツとそれに対応する復号鍵との組み合わせを検索する、
ことを特徴とするコンテンツ検索装置。
【請求項２】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記ＩＤ比較部は、前記識別情報を介して、暗号化コンテンツと、それに対応する復号鍵との組み合わせを検索する、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項３】
前記所定の条件とは、前記暗号化コンテンツデータベースに含まれる全ての暗号化コンテンツ及び前記復号鍵データベースに含まれる全ての復号鍵が満たす条件である、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項４】
前記暗号化コンテンツ及び前記復号鍵は、コンテンツの種別を示すコンテンツ種別を属性として持ち、
前記所定の条件とは、検索対象としているコンテンツの種別と同一の種別を有することである、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項５】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記識別情報はコンテンツの種別を示す情報を含むことを特徴とする請求項４記載のコンテンツ検索装置。
【請求項６】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記暗号化コンテンツ及び前記復号鍵は、前記識別情報とは独立した情報として、コンテンツの種別を示す情報を含むことを特徴とする請求項４記載のコンテンツ検索装置。
【請求項７】
前記ＩＤ比較部は、前記暗号化コンテンツデータベースと復号鍵データベースのうちの、前記基準データベースとして決定された一方のデータベースの暗号化コンテンツまたは復号鍵の情報を順に参照し、対応する復号鍵または暗号化コンテンツが、他方のデータベースに含まれるか判定することを特徴とする請求項１記載のコンテンツ検索装置。
【請求項８】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記ＩＤ比較部は、前記識別情報を介して、前記一方のデータベースの暗号化コンテンツまたは復号鍵に対応する復号鍵または暗号化コンテンツが、前記他方のデータベースに含まれるか否かを判定する、ことを特徴とする請求項７記載のコンテンツ検索装置。
【請求項９】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、各データベースに含まれるエントリを前記識別情報に基づいてソートした結果を含むソート情報を含む、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１０】
前記暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、コンテンツの種別毎に構築されている、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１１】
前記暗号化コンテンツデータベース及び復号鍵データベースのうち、少なくとも一つは、そのデータベースに含まれるエントリの個数に関する情報を保持していることを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１２】
前記コンテンツ検索装置は表示部をさらに備え、前記暗号化コンテンツと、それに対応する前記復号鍵が共に存在する場合に限り、前記表示部に、前記暗号化コンテンツに対応するコンテンツに関する情報を表示することを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１３】
前記暗号化コンテンツデータベース及び前記復号鍵データベースの少なくとも１つは、前記コンテンツ検索装置の内部または外部に設けられた記録装置上に構築される、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１４】
コンテンツデータを暗号化した暗号化コンテンツと、前記暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせを検索するコンテンツ検索装置において、
前記暗号化コンテンツに含まれ前記コンテンツデータを一意に特定するための識別情報に基づき暗号化コンテンツデータベースと復号鍵データベースを参照し、現在参照している前記暗号化コンテンツに含まれる識別情報と、前記復号鍵に含まれる識別情報とを比較し、前記暗号化コンテンツとそれに対応する復号鍵の組み合わせを検索するＩＤ比較部を備え、
前記暗号化コンテンツデータベースは、前記暗号化コンテンツがソートされて格納されたデータベースであり、前記復号鍵データベースは、前記復号鍵に含まれる前記識別情報に基づき前記復号鍵がソートされて格納されたデータベースであり、
前記ＩＤ比較部は、比較した結果、一方の識別情報の値が他方の識別情報の値よりも小さい場合に、一方の識別情報の値が他方の識別情報の値以上になるまで、一方の識別情報を含むデータベース内のエントリをスキップする、ことを特徴とするコンテンツ検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化された、音楽・動画・書籍等のコンテンツを格納した記録媒体にアクセスし、所望のコンテンツを検索する装置に関し、特に、暗号化されたコンテンツとそれを復号するための復号鍵の組み合わせを検索する装置に関する。
【背景技術】
【０００２】
音楽コンテンツや、動画コンテンツ等の各種デジタルデータ（以下「コンテンツ」という。）を記録する情報記録媒体には、ハードディスク、光ディスク等、様々な種類が存在する。これら情報記録媒体の１つであるメモリカードは小型、軽量であることから、デジタルスチルカメラや携帯電話端末等、小型の情報機器を中心に急速に普及している。【０００３】
メモリカードには形状や仕様の違いにより様々な種類が存在するが、その中には著作権保護機能を備えたものがある。この著作権保護機能を備えたメモリカードは、著作権を有するコンテンツの不正コピーを防止し、安全に記録・再生することが可能であるため、単純にデータを受け渡すための記録媒体として使用されるだけではなく、著作権を有するコンテンツを取り扱うデジタルオーディオプレーヤに使用される等、従来の記録媒体に比べ応用用途が広く、メモリカードの普及を促進する一因となっている。【０００４】
著作権保護機能を備えたメモリカードにおける著作権保護の仕組みの一例は、メモリカード内に２種類の記録領域（通常領域、秘匿領域）を備えることにより実現している（例えば、特許文献１参照）。具体的には、この例のメモリカードは、デジタルオーディオプレーヤ等のアクセス装置とメモリカードの間で互いの正当性を認証することによって初めてアクセス装置からアクセスすることが可能となる秘匿領域と、認証の成否に関わらずアクセス装置から自由にアクセスすることが可能な通常領域とを備えている。そして、通常領域に暗号化したコンテンツ（以下、「暗号化コンテンツ」という。）を記録し、そのコンテンツを復号化するための鍵データ（以下、「復号鍵」という。）を秘匿領域に格納する。このように、メモリカード内の２つの領域に暗号化コンテンツと復号鍵を別々に格納することにより、メモリカードとの間で互いの正当性を認証することができない不正なアクセス装置は秘匿領域に格納された復号鍵を入手できないため、暗号化コンテンツを復号できず、結果としてコンテンツの使用を禁止することが可能となる。【０００５】
従来、著作権保護機能を備えたメモリカードに対して格納するコンテンツとしては、ユーザが購入した音楽ＣＤからリッピングした音楽コンテンツや、インターネットに接続したＰＣや携帯電話端末を利用して、所要の対価を支払ってコンテンツプロバイダからダウンロードした音楽コンテンツが中心であった。これらコンテンツはメモリカードに記録され、デジタルオーディオプレーヤや携帯電話端末等の対応機器でメモリカードから読み出され再生される。この従来の利用形態では、暗号化コンテンツと、それに対応する復号鍵とが常に一対の組として扱われる。【０００６】
近年、このようなコンテンツの利用形態に加え、暗号化コンテンツとそれに対応する復号鍵とを別々にユーザに配信する、いわゆる、「超流通型」と呼ばれる鍵分離型コンテンツ管理方法が注目されている。この鍵分離型コンテンツ管理方法では、音楽や動画等のデジタルコンテンツは暗号化した形でＣＤ等のパッケージメディアやインターネットを介してユーザに配布され、復号鍵は別途、ユーザが所要の対価を支払った上でコンテンツプロバイダから配布される。このように配信された暗号化コンテンツと復号鍵は、必ずしも同一の記録媒体上に格納される必要はない。例えば暗号化コンテンツをＰＣ内の大容量ハードディスク内に、復号鍵をメモリカード内にそれぞれ格納しておき、再生時にはＰＣにメモリカードを接続した形態で使用しても良い。【０００７】
そのため、従来の形態では外出先でコンテンツを再生する場合は暗号化コンテンツと復号鍵を共にメモリカードに記録して持ち出す必要があった。これに対し、この「超流通型」の形態では復号鍵を格納したメモリカードを持ち歩くだけで、外出先の任意のＰＣに格納されている暗号化コンテンツを再生し、楽しむことが可能となり、利便性が高くなる。更にこの形態では、暗号化コンテンツを比較的安価なパッケージメディアを利用して安全にユーザに配布することが可能となる、大容量の暗号化コンテンツを事前にユーザに配布しているためコンテンツ購入時に新たにユーザに配布する情報は復号鍵等の少量のデータで済むなど、様々な利点がある。このため、コンテンツを配信するコンテンツプロバイダを中心に注目され、商用化が進んでいる。【０００８】
鍵分離型コンテンツ管理方法においては、暗号化コンテンツの記録時や再生時において、復号鍵と暗号化コンテンツの対応付けが必要となる。この対応付けを行う１つの方法として、復号鍵と暗号化コンテンツの双方に、一意に識別可能なＩＤ情報を割り当て、双方のＩＤ情報をインデックスとして利用することで対応付ける方法がある。特許文献２では、上記のような復号鍵と暗号化コンテンツに対して、一意なＩＤ情報を割り当て、それぞれ別の場所に格納・管理し、暗号化コンテンツを復号化する際には、ＩＤ情報をインデックスとして利用する方法が示されている。【０００９】
【特許文献１】特許第３３８９１８６号公報
【特許文献２】特開２００３−３００５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
鍵分離型コンテンツ管理方法ではコンテンツを再生する際には、暗号化コンテンツと、それに対応する復号鍵とが揃って存在している必要がある。このため、再生に先立ち、再生すべきコンテンツを選択するために再生可能なコンテンツを一覧表示する場合、暗号化コンテンツとそれに対応する復号鍵との対応関係を検索し、それらの双方が存在するコンテンツを特定して表示する必要がある。しかしながら、鍵分離型コンテンツ管理方法では、暗号化コンテンツと復号鍵の個数が必ずしも同数であるとは限らないため、不要な暗号化コンテンツあるいは復号鍵を多数含むような場合では、この対応関係の検索に膨大な時間がかかり、表示に時間がかかるという問題が生じる。【００１１】
本発明は上記問題点に鑑みなされたものであり、その目的とするところは、暗号化コンテンツ数と復号鍵数間に差がある場合であっても、暗号化コンテンツと復号鍵の組み合わせ（対応関係）の検索を高速に行うことを可能とするコンテンツ検索装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の態様において、コンテンツデータを暗号化した暗号化コンテンツと、暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせ（対応関係）を検索するコンテンツ検索装置が提供される。【００１３】
コンテンツ検索装置は基準ＤＢ決定部とＩＤ比較部を備える。
基準ＤＢ決定部は、暗号化コンテンツを格納したデータベースである暗号化コンテンツデータベースと、復号鍵を格納したデータベースである復号鍵データベースとにアクセスし、暗号化コンテンツデータベースに含まれ、所定の条件を満たす暗号化コンテンツの数と、復号鍵データベースに含まれ、所定の条件を満たす復号鍵の数とを算出し、暗号化コンテンツデータベースと復号鍵データベースのうち、算出された数が少ない方のデータベースを基準データベースに決定する。
ＩＤ比較部は、基準データベースに含まれるエントリを順次読み出しながら、暗号化コンテンツとそれに対応する復号鍵との組み合わせを検索する。【００１４】
暗号化コンテンツ及び復号鍵はともに、コンテンツデータを一意に特定するための識別情報を含んでもよい。ＩＤ比較部は、識別情報を介して、暗号化コンテンツと、それに対応する復号鍵との組み合わせを検索してもよい。【００１５】
所定の条件とは、暗号化コンテンツデータベースに含まれる全ての暗号化コンテンツ及び復号鍵データベースに含まれる全ての復号鍵が満たす条件であってもよい。【００１６】
暗号化コンテンツ及び復号鍵は、コンテンツの種別を示すコンテンツ種別を属性として持ってもよく、この場合、所定の条件を、検索対象としているコンテンツの種別と同一の種別を有することに設定してもよい。【００１７】
暗号化コンテンツ及び復号鍵がともに、コンテンツデータを一意に特定するための識別情報を含む場合、識別情報はコンテンツの種別を示す情報を含んでもよい。【００１８】
暗号化コンテンツ及び復号鍵がともに、コンテンツデータを一意に特定するための識別情報を含む場合、暗号化コンテンツ及び復号鍵は、識別情報とは独立した情報として、コンテンツの種別を示す情報を含んでもよい。【００１９】
ＩＤ比較部は、暗号化コンテンツデータベースと復号鍵データベースのうちの、基準データベースとして決定された一方のデータベースの暗号化コンテンツまたは復号鍵の情報を順に参照し、対応する復号鍵または暗号化コンテンツが、他方のデータベースに含まれるか判定してもよい。【００２０】
暗号化コンテンツ及び復号鍵がともに、コンテンツデータを一意に特定するための識別情報を含む場合、ＩＤ比較部は、識別情報を介して、一方のデータベースの暗号化コンテンツまたは復号鍵に対応する復号鍵または暗号化コンテンツが、他方のデータベースに含まれるか否かを判定してもよい。【００２１】
暗号化コンテンツ及び復号鍵はともに、コンテンツデータを一意に特定するための識別情報を含む場合、暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、各データベースに含まれるエントリを識別情報に基づいてソートした結果を含むソート情報を含んでもよい。【００２２】
暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、コンテンツの種別毎に構築されてもよい。【００２３】
暗号化コンテンツデータベース及び復号鍵データベースのうち、少なくとも一つは、そのデータベースに含まれるエントリの個数に関する情報を保持してもよい。【００２４】
コンテンツ検索装置は表示部をさらに備えてもよい。暗号化コンテンツと、それに対応する復号鍵が共に存在する場合に限り、表示部に、暗号化コンテンツに対応するコンテンツに関する情報を表示してもよい。【００２５】
暗号化コンテンツデータベース及び復号鍵データベースの少なくとも１つは、コンテンツ検索装置の内部または外部に設けられた記録装置上に構築されてもよい。【００２６】
本発明の第２の態様において、コンテンツデータを暗号化した暗号化コンテンツと、暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせを検索するコンテンツ検索装置が提供される。【００２７】
コンテンツ検索装置はＩＤ比較部を備える。ＩＤ比較部は、暗号化コンテンツに含まれコンテンツデータを一意に特定するための識別情報に基づき、暗号化コンテンツデータベースと復号鍵データベースを参照し、現在参照している暗号化コンテンツに含まれる識別情報と復号鍵に含まれる識別情報を比較して、暗号化コンテンツとそれに対応する復号鍵の組み合わせを検索する。暗号化コンテンツデータベースは、暗号化コンテンツがソートされて格納されたデータベースである。復号鍵データベースは、復号鍵に含まれる識別情報に基づき復号鍵がソートされて格納されたデータベースである。ＩＤ比較部は、比較した結果、一方の識別情報の値が他方の識別情報の値よりも小さい場合に、一方の識別情報の値が他方の識別情報の値以上になるまで、一方の識別情報を含むデータベース内のエントリをスキップする。
【発明の効果】
【００２８】
本発明によれば、鍵分離型コンテンツ管理方法において、暗号化コンテンツ数と復号鍵数に差がある場合であっても、暗号化コンテンツとそれに対応する復号鍵の組み合わせ（対応関係）の検索を高速に行うことが可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態１におけるコンテンツ検索装置の構成を示した図
【図２】本発明の実施の形態１における鍵分離型コンテンツ管理方法のコンテンツ格納例を示した図
【図３】本発明の実施の形態１における復号鍵ＤＢの構成を示した図
【図４】本発明の実施の形態１における暗号化コンテンツＤＢの構成を示した図
【図５】本発明の実施の形態１におけるコンテンツ再生処理を示したフローチャート
【図６】本発明の実施の形態１におけるコンテンツ再生処理時の表示例を示した図
【図７】本発明の実施の形態１における対応関係検索処理を示したフローチャート
【図８】本発明の実施の形態１におけるコンテンツＩＤの構成を示した図
【図９】本発明の実施の形態１における暗号化コンテンツ数算出処理を示したフローチャート
【図１０】本発明の実施の形態１における復号鍵数の算出処理を示したフローチャート
【図１１】本発明の実施の形態１におけるＩＤ比較処理を示したフローチャート
【図１２】本発明の実施の形態１における復号鍵ＤＢの一例を示した図
【図１３】本発明の実施の形態１における暗号化コンテンツＤＢの一例を示した図
【図１４】本発明の実施の形態１における有効コンテンツリストの一例を示した図
【図１５】本発明の実施の形態１におけるコンテンツＩＤの別の構成を示した図
【図１６】本発明の実施の形態１における復号鍵ＤＢの別の構成を示した図
【図１７】本発明の実施の形態１における復号鍵ＤＢ及び暗号化コンテンツＤＢの別の構成を示した図
【図１８】本発明の実施の形態１における復号鍵ＤＢ及び暗号化コンテンツＤＢのさらに別の構成を示した図
【図１９】本発明の実施の形態２におけるコンテンツ検索装置の構成を示した図
【図２０】本発明の実施の形態２における対応関係検索処理を示したフローチャート
【図２１】本発明の実施の形態２における復号鍵ＤＢの一例を示した図
【図２２】本発明の実施の形態２における暗号化コンテンツＤＢの一例を示した図
【符号の説明】
【００３０】
１    コンテンツ検索装置
２    リムーバブル記録媒体
３    外部暗号化コンテンツＤＢ
４    外部復号鍵ＤＢ
１１    外部記録装置Ｉ／Ｆ
１２    内部記録装置
１３    リムーバブル記録媒体Ｉ／Ｆ
１４    ＤＢアクセス部
１５    基準ＤＢ決定部
１６    ＩＤ比較部
１７    表示部
２１    復号鍵ＤＢ
５１    復号鍵ＤＢ内ソートファイル
５２    復号鍵ＤＢ内復号鍵ファイル
５３    復号鍵ＤＢ内ＤＢ管理ファイル
６１    暗号化コンテンツＤＢ内ソートファイル
６２    暗号化コンテンツＤＢ内暗号化コンテンツファイル
６３    暗号化コンテンツＤＢ内ＤＢ管理ファイル
７１    メニューリスト
７２    Ａｕｄｉｏコンテンツリスト
１２１    暗号化コンテンツＤＢ
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施形態について添付の図面を参照して説明する。【００３２】
（実施の形態１）
１．１  構成
図１は本発明の実施の形態１におけるコンテンツ検索装置の構成図である。図１において、コンテンツ検索装置１は、ネットワーク上に接続されているサーバやＰＣ、ＵＳＢ経由で接続される外部ハードディスク等の外部記録装置との接続部である外部記録装置インタフェース（Ｉ／Ｆ）１１と、内蔵ハードディスク等の内部記録装置１２と、メモリカード等のリムーバブル記録媒体２との接続部であるリムーバブル記録媒体インタフェース（Ｉ／Ｆ）１３と、外部および内部記録装置に格納されたデータベース（ＤＢ）に各Ｉ／Ｆ経由でまたは直接的にアクセスし、データベース内の情報を読み書きするＤＢアクセス部１４と、暗号化コンテンツと復号鍵の対応関係（組み合わせ）の検索を行う、基準ＤＢ決定部１５及びＩＤ比較部１６と、ユーザにコンテンツ検索結果等を表示する液晶パネル等の表示部１７とから構成される。データベース（ＤＢ）は、暗号化コンテンツや復号鍵を管理する。表示部１７は表示するための信号を生成出力する機能のみであってもよい。【００３３】
内部記録装置１２は暗号化コンテンツデータベース（ＤＢ）１２１を含み、リムーバブル記録媒体２は復号鍵データベース（ＤＢ）２１を含む。更に、コンテンツ検索装置１の外部には、ネットワークやＵＳＢ等を介して接続されたサーバやＰＣ、外部ハードディスク等に構築された外部暗号化コンテンツデータベース（ＤＢ）３、外部復号鍵データベース（ＤＢ）４が存在している。暗号化コンテンツＤＢ１２１と外部暗号化コンテンツＤＢ３は共に暗号化コンテンツを格納・管理しているデータベースである。復号鍵ＤＢ２１と外部復号鍵ＤＢ４は共に復号鍵を格納・管理しているデータベースである。本発明の実施の形態１におけるコンテンツ検索装置１は、これらのデータベースから暗号化コンテンツと復号鍵に関する情報を取得し、暗号化コンテンツとそれに対応する復号鍵の対応関係（組み合わせ）の検索を行う。対応関係（組み合わせ）の検索の主要な処理は、基準ＤＢ決定部１５およびＩＤ比較部１６により行われる。この詳細な処理内容については後述する。【００３４】
著作権を有するコンテンツは最終的に暗号化された状態（暗号化コンテンツ）で記録媒体に格納され、コンテンツを復号するための鍵情報（復号鍵）も同様に記録媒体に格納される。本発明では、鍵分離型コンテンツ管理方法を想定しているため、暗号化コンテンツと復号鍵はそれぞれ独立してユーザに配布され、必ずしも同一の記録媒体に格納されるとは限らない。本発明の実施の形態１では、暗号化コンテンツが、コンテンツ検索装置１内の内部記録装置１２上に構築された暗号化コンテンツＤＢ１２１と、コンテンツ検索装置１外部の記録媒体上に構築された外部暗号化コンテンツＤＢ３とに格納されている場合を例として説明する。また、復号鍵が、コンテンツ検索装置１外部のリムーバブル記録媒体２上に構築された復号鍵ＤＢ２１と、コンテンツ検索装置１外部の記録媒体上に構築された外部復号鍵ＤＢ４とに格納されているとする。【００３５】
１．２  コンテンツ格納方法
図２を用いて本発明における鍵分離型コンテンツ管理方法のコンテンツ格納方法を説明する。図２では、暗号化コンテンツが暗号化コンテンツＤＢ１２１に格納され、復号鍵が復号鍵ＤＢ２１に格納される場合の例を示している。なお、暗号化コンテンツおよび複合鍵は、外部暗号化コンテンツＤＢ３と外部復号鍵ＤＢ４に格納される場合も同様の構成を有する。【００３６】
本発明の実施の形態１では、著作権を有するコンテンツを格納するリムーバブル記録媒体２として、特殊領域、秘匿領域および通常領域を有するリムーバブル記録媒体を想定する。【００３７】
まず、一般的なリムーバブル記録媒体の利用形態について説明する。特殊領域は、リムーバブル記録媒体２の外部から直接読み書きできない特殊な領域であり、リムーバブル記録媒体２に固有な値であるメディア固有鍵等を格納する。リムーバブル記録媒体２の外部の装置は、メディア固有鍵そのものを直接読み出すことはできないが、リムーバブル記録媒体２との間で相互に正当な機器であることを認証する過程で送受信される情報を元に、メディア固有鍵を算出することが可能である。秘匿領域は、相互に正当な機器であることを認証できた際にのみ読み書きが可能となる領域であり、コンテンツの復号に必要な鍵データ等を格納する。通常領域は、認証することなく自由に読み書き可能な領域であり、大容量の暗号化コンテンツ等を格納する。【００３８】
コンテンツは動画データ、静止画データ、音楽データ、書籍データ等のデジタルデータであり、インターネットや携帯電話端末等の通信網を介して配信されたり、ＣＤ、ＭＤ、ＤＶＤ等のパッケージメディアに格納され配布されたりする。【００３９】
鍵分離型コンテンツ管理方法に基づく図２の例では、Ｎ個のコンテンツ（コンテンツ＃１、・・・、コンテンツ＃Ｎ）は、それぞれ異なるＮ個の平文復号鍵（平文復号鍵＃１、・・・、平文復号鍵＃Ｎ）により暗号化され、Ｎ個の暗号化コンテンツ（暗号化コンテンツ＃１、・・・、暗号化コンテンツ＃Ｎ）として暗号化コンテンツＤＢ１２１に格納される。また、Ｎ個の平文復号鍵（平文復号鍵＃１、・・・、平文復号鍵＃Ｎ）は、任意に定められたサービス固有鍵により暗号化され、Ｎ個の復号鍵（復号鍵＃１、・・・、復号鍵＃Ｎ）として復号鍵ＤＢ２１に格納される。サービス固有鍵はコンテンツを提供している各サービスの種類等で異なる鍵である。サービス固有鍵は、リムーバブル記録媒体２毎に異なるメディア固有鍵により暗号化され、暗号化サービス固有鍵としてリムーバブル記録媒体２内の秘匿領域に格納される。また、先に説明したようにメディア固有鍵はリムーバブル記録媒体２内の特殊領域に格納されており、リムーバブル記録媒体２の外部の装置は、相互に正当な機器であることを認証する過程で送受信される情報を元に、メディア固有鍵を算出することが可能である。【００４０】
このように鍵分離型コンテンツ管理方法では、暗号化コンテンツと、それを復号するために必要な復号鍵が別々に管理されており、コンテンツを使用するためには両者の対応関係を検索し、暗号化コンテンツと復号鍵の正しい組み合わせを見つけ出す必要がある。【００４１】
１．３  データベース構成
次に、図３を用いて本発明の実施の形態１における復号鍵ＤＢ２１と外部復号鍵ＤＢ４の構成を説明する。なお、復号鍵ＤＢ２１と外部復号鍵ＤＢ４は同じ構成を有するので、ここでは、復号鍵ＤＢ２１について構成を説明する。図３に示すように、復号鍵ＤＢ２１は、ソートファイル５１と復号鍵ファイル５２の２つのファイルから構成されている。復号鍵ファイル５２には、データベース２１内に格納されている全ての復号鍵に関する情報が格納されている。図３の例では、Ｎ個のコンテンツに対応する復号鍵の情報として、Ｎ個のエントリが格納されている。復号鍵ファイル５２内の各エントリには、復号鍵の実体でありコンテンツを復号するための鍵データが暗号化された状態で格納されている暗号化コンテンツ鍵（Ｋｅｙ＿１、・・・、Ｋｅｙ＿Ｎ）と、コンテンツを一意に識別するためのコンテンツＩＤ（０ｘ８Ａ７２８Ｃ・・・等）と、各コンテンツのタイトル名（ＡＡＡＡＡ、・・・）等が格納される。【００４２】
ソートファイル５１は、復号鍵ファイル５２内に存在するエントリを、コンテンツＩＤに関してソートして格納したものである。ソートファイル５１内には、復号鍵ファイル５２に含まれる全エントリ数と同数の、コンテンツＩＤと復号鍵エントリＮｏ．とが格納される。復号鍵エントリＮｏ．は、ソートファイル５１内の各エントリに対応する復号鍵ファイル５２内のエントリの番号を示す。図３の例では、ソートファイル５１内の１番目のエントリの復号鍵エントリＮｏ．は“２”となっている。これは、ソートファイル５１内の１番目のエントリが復号鍵ファイル５２内の２番目のエントリに対応することを示している。【００４３】
次に、図４を用いて本発明の実施の形態１における暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３の構成を説明する。暗号化コンテンツＤＢ１２１と外部暗号化コンテンツＤＢ３は同様の構成を有するので、ここでは、暗号化コンテンツＤＢ１２１について構成を説明する。暗号化コンテンツＤＢ１２１は、ソートファイル６１と、暗号化コンテンツファイル６２ａ、６２ｂ、・・・とから構成されている。暗号化コンテンツファイル６２ａ、６２ｂ、・・・は、コンテンツ本体が暗号化されて得られる暗号化コンテンツ（ＥｎｃｒｙｐｔｅｄＣｏｎｔｅｎｔ＿１、・・・、ＥｎｃｒｙｐｔｅｄＣｏｎｔｅｎｔ＿Ｍ）と、各暗号化コンテンツを一意に識別するコンテンツＩＤ（０ｘ８Ａ７２８Ｃ・・・等）とを格納する。【００４４】
図４の例では、コンテンツ毎に暗号化コンテンツファイル６２ａ、６２ｂ、・・・が生成される場合を示しており、合計Ｍ個のファイルが存在する。また、ソートファイル６１は、復号鍵ＤＢ２１および外部復号鍵ＤＢ４と同様、暗号化コンテンツファイル６２を、コンテンツＩＤに関してソートして格納したものである。ソートファイル６１内には、暗号化コンテンツファイル６２と同数の、コンテンツＩＤとファイルＮｏ．を格納する。ファイルＮｏ．は、暗号化コンテンツファイル６２ａ、６２ｂ、・・・を一意に識別可能な情報であり、ファイル名に含まれる一意に割り当てられた番号を示す。ここで、暗号化コンテンツファイル６２ａ、６２ｂ、・・・のファイル名は、ファイル番号を含むように設定される。図４の例では、ソートファイル６１内の１番目のエントリのファイルＮｏ．は“２”となっている。このことは、ソートファイル６１内の１番目のエントリが、ファイル名に“２”を含む“ＦＩＬＥ０００２．ＣＯＮ”という名称の暗号化コンテンツファイル６２ａに対応することを示している。【００４５】
なお、図３、図４の説明中におけるコンテンツＩＤは、各データベース（ＤＢ）に共通で使用される情報であり、コンテンツを一意に識別するために割り当てられたＩＤである。本発明の実施の形態１では、このコンテンツＩＤが同一である、暗号化コンテンツと復号鍵の組を高速に検索する方法を説明する。【００４６】
１．４  コンテンツ再生処理
鍵分離型コンテンツ管理方法では、コンテンツを使用する場合、暗号化コンテンツと、それに対応した復号鍵の両方が揃っていなければならない。そのため、再生時には両者間の対応関係を検索する必要がある、そして、対応がとれたコンテンツを再生可能なコンテンツとしてユーザに表示し、コンテンツ選択をユーザに促し、選択されたコンテンツを再生する。【００４７】
図５は本発明の実施の形態１におけるコンテンツ検索装置１によるコンテンツ再生処理のフローチャートである。図６は本発明の実施の形態１におけるコンテンツ再生処理において、コンテンツ検索装置１の表示部１７に表示される内容の一例を示した図である。図５、図６を用いて、本発明の実施の形態１におけるコンテンツ検索装置１によるコンテンツ再生処理を説明する。なお、以下の処理は主としてＤＢアクセス部１４により制御される。【００４８】
図５のコンテンツ再生処理において、まず始めにコンテンツ一覧表示を開始するためのトリガが発行される（Ｓ５０１）。コンテンツ検索装置１に電源が投入されると、図６に示すような、初期メニューである“メニューリスト”７１が表示される。この状態でユーザにより“Ａｕｄｉｏメニュー”が選択されると、コンテンツ検索装置１（ＤＢアクセス部１４）は、Ａｕｄｉｏコンテンツに関するコンテンツ一覧（図６では、Ａｕｄｉｏコンテンツリスト７２）の表示を開始するトリガが発行されたと認識する。次に、基準ＤＢ決定部１５及びＩＤ比較部１６により、暗号化コンテンツと復号鍵間の対応関係の検索処理を実施する（Ｓ５０２）。この処理の詳細については後述する。【００４９】
対応関係の検索処理が完了すると、その検索結果が表示部１７に表示される（Ｓ５０３）。検索結果の表示例として、図６の“Ａｕｄｉｏコンテンツリスト”７２のように再生可能なコンテンツの情報が表示される。次に、ユーザにより、表示されたコンテンツから再生したいコンテンツが選択される（Ｓ５０４）。この選択は、ユーザが図６の“Ａｕｄｉｏコンテンツリスト”７２を参照し、再生したいコンテンツを表示した行の左端に存在するチェックボックスを選択し、“再生”ボタンを押すことにより実施される。【００５０】
次に、ＤＢアクセス部１４は、暗号化コンテンツＤＢ１２１及び／または外部暗号化コンテンツＤＢ３にアクセスし、再生対象の暗号化コンテンツを取得する（Ｓ５０５）。また、ＤＢアクセス部１４は、復号鍵ＤＢ２１及び／または外部復号鍵ＤＢ４にアクセスし、再生対象の暗号化コンテンツに対応する復号鍵を取得する（Ｓ５０６）。最後に、ＤＢアクセス部１４は、取得した復号鍵を用いて、取得した暗号化コンテンツを復号し、再生する（Ｓ５０７）。【００５１】
上記コンテンツ再生処理、特に、ステップＳ５０２の対応関係検索処理において総当り的に対応関係の検索を行った場合、暗号化コンテンツの個数と復号鍵の個数は必ずしも同じではないことから、その処理に膨大な時間を要し、コンテンツ一覧表示に膨大な時間がかかる可能性がある。本実施形態では、この対応関係の検索処理を高速に行う方法を提供する。以下、本発明の実施の形態１における、ステップＳ５０２の対応関係検索処理について説明する。【００５２】
１．５  対応関係検索処理
図７は、本発明の実施の形態１における対応関係検索処理（Ｓ５０２）のフローチャートである。対応関係検索処理では、基準ＤＢ決定部１５が、まず始めに対象種別の暗号化コンテンツ数（ＣＯＮＴ＿ＮＵＭ）を算出する（Ｓ７０１）。対象種別とは、ＡｕｄｉｏやＶｉｄｅｏ等のように、現在検索対象としているコンテンツの種別を意味する。これはユーザによって指定される。本実施の形態１ではコンテンツＩＤの一部を用いて、コンテンツ種別判定が行える。具体的には、コンテンツＩＤは図８のような構成となっており、先頭から４バイト目の位置に存在する１バイトがコンテンツ種別を示す。例えば、この１バイトの値が０ｘ０１であれば“Ａｕｄｉｏ”コンテンツであることを示し、０ｘ０２であれば“Ｖｉｄｅｏ”コンテンツであることを示す。すなわち、ステップＳ７０１の処理では、コンテンツＩＤ内に含まれる、コンテンツ種別の情報を参照して、そのコンテンツの種別を判定する。そして、コンテンツの種別が対象種別と等しい暗号化コンテンツの数を算出する。【００５３】
次に、基準ＤＢ決定部１５は、ステップＳ７０１と同様に、対象種別と等しい種別を持つコンテンツに対する復号鍵の数（ＫＥＹ＿ＮＵＭ）を算出する（Ｓ７０２）。次に、基準ＤＢ決定部１５は、暗号化コンテンツの数（ＣＯＮＴ＿ＮＵＭ）と復号鍵の数（ＫＥＹ＿ＮＵＭ）を比較する（Ｓ７０３）。ＣＯＮＴ＿ＮＵＭの方が大きい場合、コンテンツＩＤの比較のベース（基準）とするデータベース（以下「ベースＤＢ」という。）として、復号鍵を格納したデータベース４または２１を選択する（Ｓ７０４）。このとき、ベースＤＢを示す変数ＢＡＳＥ＿ＤＢに「ＫＥＹ」を設定する。それ以外の場合、基準ＤＢ決定部１５は、ベースＤＢとして、暗号化コンテンツを格納したデータベース３または１２を選択する（Ｓ７０５）。このとき、ベースＤＢを示す変数ＢＡＳＥ＿ＤＢに「ＣＯＮＴ」を設定する。最後に、ＩＤ比較部１６は、暗号化コンテンツを格納したデータベースと復号鍵を格納したデータベース（ＫＥＹ）との間で、ベースＤＢとして選択されたデータベースを基準としてＩＤ比較処理を行い、暗号化コンテンツと復号鍵の組を検索する（Ｓ７０６）。【００５４】
図７の処理におけるステップＳ７０１、Ｓ７０２及びＳ７０６の各処理の詳細を説明する。【００５５】
図９は、ステップＳ７０１の暗号化コンテンツ数の算出処理のフローチャートである。本処理では、ＤＢアクセス部１４が、まず始めに暗号化コンテンツ数を格納する変数であるＣＯＮＴ＿ＮＵＭを０に初期化する（Ｓ９０１）。次に、ＤＢアクセス部１４は、検索対象となる暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３の全てのデータベースに対する検索処理が完了しているか判定する（Ｓ９０２）。検索が完了している場合、暗号化コンテンツ数の算出処理を終了する。最終的に算出した暗号化コンテンツ数はＣＯＮＴ＿ＮＵＭの値に等しい。【００５６】
一方、検索が完了していない場合、ＤＢアクセス部１４は、現在参照しているデータベース内に含まれる全ての暗号化コンテンツに対する検索処理が完了しているか判定する（Ｓ９０３）。検索が完了している場合、検索対象のデータベースを現在のデータベースから別のデータベースに切り替え（Ｓ９０８）、ステップＳ９０２の処理に戻る。例えば、検索対象のデータベースである暗号化コンテンツＤＢ１２１の検索が完了し、外部暗号化ＤＢ３の検索を未だ実施していない場合、検索対象のデータベースを暗号化コンテンツＤＢ１２１から、外部暗号化コンテンツＤＢ３に含まれる任意のデータベースに切り替える。【００５７】
一方、ステップＳ９０３において検索が完了していない場合、ＤＢアクセス部１４は、現在参照しているデータベース内のエントリに含まれるコンテンツＩＤを参照し、コンテンツ種別を確認する（Ｓ９０４）。次にコンテンツ種別が対象種別と一致するか判定する（Ｓ９０５）。この判定処理では、図８で説明したようにコンテンツＩＤ内のコンテンツ種別と、現在検索対象としているコンテンツの種別が一致するか否かで一致性を判定する。対象種別と一致した場合、ＣＯＮＴ＿ＮＵＭを１だけインクリメントする（Ｓ９０６）。次に検索位置を、現在参照しているエントリから次のエントリに変更し（Ｓ９０７）、ステップＳ９０３の処理に戻る。【００５８】
以上の処理により、全暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３内に含まれる対象種別の暗号化コンテンツの数を算出する。【００５９】
図１０は、ステップＳ７０２の復号鍵数の算出処理のフローチャートである。処理内容は、図９に示す暗号化コンテンツ数の算出処理の場合とほぼ同じである。図１０のフローは、算出すべき対象が暗号化コンテンツ数（ＣＯＮＴ＿ＮＵＭ）ではなく復号鍵数（ＫＥＹ＿ＮＵＭ）である点と、検索対象ＤＢが暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３ではなく、復号鍵ＤＢ２１及び外部復号鍵ＤＢ４である点とが図９のフローと異なるため、詳細な説明は割愛する。【００６０】
図１１は、ステップＳ７０６のＩＤ比較処理のフローチャートである。本処理では、ＩＤ比較部１６は、まず始めに検索対象となるベースＤＢ（ＢＡＳＥ＿ＤＢ）に含まれる全データベースに対する検索処理が完了しているか判定する（Ｓ１１０１）。ここで検索対象となるベースＤＢとは、変数ＢＡＳＥ＿ＤＢが「ＣＯＮＴ」の場合、暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３を意味し、変数ＢＡＳＥ＿ＤＢが「ＫＥＹ」の場合、復号鍵ＤＢ２１及び外部復号鍵ＤＢ４を意味する。検索が完了している場合、ＩＤ比較処理を終了する。また、検索が完了していない場合、ＩＤ比較部１６は、現在参照しているデータベース内に含まれる全てのエントリに対する検索処理が完了しているか判定する（Ｓ１１０２）。検索が完了している場合、検索対象データベースを現在のデータベースから別のデータベースに切り替え（Ｓ１１０８）、ステップＳ１１０１の処理に戻る。【００６１】
一方、ステップＳ１１０２の処理において検索が完了していない場合、現在参照しているデータベース内のエントリに含まれるコンテンツＩＤを取得する（Ｓ１１０３）。次にステップＳ１１０３で取得したコンテンツＩＤを参照し、現在検索対象としているコンテンツ種別と一致するか否か判定する（Ｓ１１０４）。一致している場合、ベースＤＢと異なる、他方のデータベースを参照し、ステップＳ１１０３で取得したコンテンツＩＤを含むエントリが、その他方のデータベース内に存在するか否か確認する（Ｓ１１０５）。ここで他方のデータベースとは、変数ＢＡＳＥ＿ＤＢが「ＣＯＮＴ」の場合、復号鍵ＤＢ２１または外部復号鍵ＤＢ４であり、変数ＢＡＳＥ＿ＤＢが「ＫＥＹ」の場合、暗号化コンテンツＤＢ１２１または外部暗号化コンテンツＤＢ３である。同一コンテンツＩＤが存在した場合、有効コンテンツを発見したため、有効コンテンツリストにデータベース名、復号鍵エントリＮｏ．、タイトル名等の情報を追加する（Ｓ１１０６）。有効コンテンツリストとは、本ＩＤ比較処理において発見した有効コンテンツのリストである。最終的に、本リストに格納されている有効コンテンツのリストは、コンテンツ一覧として表示部１７に表示される。【００６２】
ステップＳ１１０４、Ｓ１１０５の判定でＮｏとなった場合、あるいはステップＳ１１０６の処理を終了した場合、エントリ検索位置を、現在参照しているエントリから、次のエントリに変更し（Ｓ１１０７）、ステップＳ１１０２の処理に戻る。以上の処理により、各データベースから、対応する暗号化コンテンツと復号鍵のリストを検索し、表示部１７に表示することが可能となる。【００６３】
１．５．１  対応関係検索処理の具体例
図１２及び図１３を用いて、本発明の実施の形態１における対応関係検索処理の一例を説明する。図１２は、復号鍵を格納するデータベース（ＤＢ）として、４つのエントリを含む復号鍵ＤＢ２１のみが存在している例を示している。図１３は、暗号化コンテンツを格納するＤＢとして、それぞれ４つ、４つ、３つのエントリを含む暗号化コンテンツＤＢ１２１、外部暗号化コンテンツＤＢ（＃１）３ａ、外部暗号化コンテンツＤＢ（＃２）３ｂが存在している例を示している。またデータベースの左端の丸印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＡｕｄｉｏコンテンツに関するエントリであることを意味し、三角印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＶｉｄｅｏコンテンツに関するエントリであることを意味している。ここでは、図１２及び図１３の例において、対象種別として０ｘ０１（Ａｕｄｉｏコンテンツ）を検索する場合の例を説明する。【００６４】
この例において、図７のステップＳ７０１の暗号化コンテンツ数算出処理では、まず始めに暗号化コンテンツＤＢ１２１に対する算出処理が行われ、ソートＮｏ．１から４の全てのエントリに対して順にコンテンツＩＤを参照し、対象種別と一致するか否かを判定する。図１３を参照し、暗号化コンテンツＤＢ１２１に含まれるソートＮｏ．１のエントリは、種別を示すコンテンツＩＤの４バイト目の値が「０１」（＝０ｘ０１（Ａｕｄｉｏコンテンツ））であり、その種別が対象種別と一致することから、ＣＯＮＴ＿ＮＵＭの値に１を加算する。また、ソートＮｏ．２、４のエントリも対象種別が一致するため、暗号化コンテンツＤＢ１２１の検索完了時点でＣＯＮＴ＿ＮＵＭの値は３となる。同様にして、外部暗号化コンテンツＤＢ（＃１）３ａ、外部暗号化コンテンツＤＢ（＃２）３ｂの検索を行い、それぞれ対象種別と一致するエントリ数が１つ、２つとなることから、３つのデータベースの検索完了時点でＣＯＮＴ＿ＮＵＭは６となる。【００６５】
この例において（図１２参照）、ステップＳ７０２の復号鍵数算出処理では、復号鍵ＤＢ２１内のソートＮｏ．１から４の全てのエントリに対して順にコンテンツＩＤを参照し、コンテンツＩＤに含まれる種別が対象種別と一致するか否かを判定する。図１３の例と同様の処理により、本データベース内に含まれるエントリの内、対象種別が一致するエントリ数は３つであることから、ＫＥＹ＿ＮＵＭは３となる。【００６６】
次に、ステップＳ７０３の処理において、ＣＯＮＴ＿ＮＵＭ（＝６）とＫＥＹ＿ＮＵＭ（＝３）を比較すると、ＣＯＮＴ＿ＮＵＭの方が大きいことから、ステップＳ７０４の処理に進み、ベースＤＢを復号鍵ＤＢに設定する。すなわち、ＢＡＳＥ＿ＤＢはＫＥＹとなる。【００６７】
最後にステップＳ７０６のＩＤ比較処理において、復号鍵を含むデータベースをベースＤＢとしてＩＤ比較を行う。最初に復号鍵ＤＢ２１のソートＮｏ．１のエントリに対してコンテンツＩＤを参照し、対象種別と比較する。図１２の例では、コンテンツＩＤ内の４バイト目の値が「０１」（０ｘ０１、（Ａｕｄｉｏコンテンツ））であることから、対象種別が一致したと判定する。次に、暗号化コンテンツＤＢ１２１、外部暗号化コンテンツＤＢ３（＃１）、外部暗号化コンテンツＤＢ３（＃２）を参照し、復号鍵ＤＢ２１のソートＮｏ．１のコンテンツＩＤ（＝０ｘ１０１８３４０１・・・）に一致するコンテンツＩＤを持つエントリを検索する。図１３の例では、検索の結果、暗号化コンテンツＤＢ１２１内のソートＮｏ．２のエントリが同一のコンテンツＩＤを有するため、このコンテンツに関する情報を有効コンテンツリストに追加する。有効コンテンツリストの例を図１４に示す。有効コンテンツリスト内の復号鍵に関する情報として、ＤＢ（データベース）名に“復号鍵ＤＢ”が、復号鍵エントリＮｏ．に“２”がそれぞれ格納される。また、暗号化コンテンツに関する情報として、ＤＢ名に“暗号化コンテンツＤＢ”が、ファイルＮｏ．に“２”がそれぞれ格納される。更にコンテンツに関する情報として、コンテンツＩＤに“０ｘ１０１８３４０１・・・”が、タイトル名に“ＢＢＢＢＢ”が格納される。なお、コンテンツに関する情報として、コンテンツＩＤ、タイトル名以外の情報も格納される。【００６８】
以下、同様の処理を復号鍵ＤＢ２１のソートＮｏ．２、３、４のエントリに対して順次実施する。但し、ソートＮｏ．２のエントリはコンテンツＩＤの対象種別が一致しないことから、暗号化コンテンツＤＢ１２１、外部暗号化コンテンツＤＢ３の検索は行わない。上記処理により、結果として図１４のような有効コンテンツリストが作成され、表示部１７に各コンテンツに関する情報が表示される。【００６９】
この例において、ベースＤＢ（ＢＡＳＥ＿ＤＢ）として、暗号化コンテンツＤＢ３ａ、３ｂ、１２１よりもエントリ数が少ない復号鍵ＤＢ２１（ＫＥＹ）を設定することにより、ステップＳ７０６の比較処理のループ数が３回となり、ベースＤＢを暗号化コンテンツＤＢ３ａ、３ｂ、１２１とした場合よりも高速に対応関係検索処理を実施することが可能となる。【００７０】
エントリ数が少ない方のデータベースをベースＤＢに設定することは、例えば、データベース内のソートされたエントリを元に二分探索をして所望のコンテンツＩＤと一致するものが存在するか否かを確認する場合に有効である。有効エントリ数の少ない方の有効エントリ数をＭ、大きい方のエントリ数をＮとし、ステップＳ１１０５の確認処理において二分探索を行う場合、比較処理に要する時間はＯ（Ｍｌｏｇ2Ｎ）となる。このことから、有効エントリ数の少ない方をベースＤＢとした方が高速に対応関係検索処理を実施することができることが理解できる。【００７１】
また、本発明の実施の形態１におけるコンテンツ検索装置１は、暗号化コンテンツを格納したデータベース及び復号鍵を格納したデータベースのそれぞれにおいて、コンテンツ種別が対象種別と一致するエントリ（有効エントリ）の数（ＣＯＮＴ＿ＮＵＭ、ＫＥＹ＿ＮＵＭ）を算出し、有効エントリ数の少ない方をベースＤＢに設定し、そのベースＤＢ内に含まれる各エントリに対応するエントリを他方のデータベースから検索する。このように、コンテンツ種別により処理対象のコンテンツにフィルタをかけることで、より高速に暗号化コンテンツと復号鍵の対応関係（組み合わせ）の検索を実施することが可能となる。なお、暗号化コンテンツを格納したデータベース及び復号鍵を格納したデータベースのそれぞれにおいて、全エントリ数を算出し、それぞれの全エントリ数に基づいてベースＤＢを設定してもよい。【００７２】
１．６  変形例
本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の実施の形態１において説明した各種の数値は一例であり、その他の値に変更しても良い。例えば、コンテンツＩＤは必ずしも図８の形式を取る必要はなく、サイズも１６バイトである必要はない。なお、コンテンツＩＤの生成は、例えば、少なくとも平文復号鍵やコンテンツが暗号化され、復号鍵や暗号化コンテンツとなる際に生成・付加されればよい。【００７３】
また、復号鍵ＤＢ２１がリムーバブル記録媒体２に、暗号化コンテンツＤＢ１２１が内部記録装置１２に、その他のＤＢが外部記録装置にそれぞれ配置される構成について説明したが、その他の構成を取っても良い。例えば復号鍵ＤＢ２１がコンテンツ検索装置１内部の記録装置内に存在していても良いし、外部暗号化コンテンツＤＢ３、外部復号鍵ＤＢ４は存在しなくても良い。【００７４】
また、コンテンツＩＤの４バイト目にコンテンツ種別を識別する情報が格納される例について示したが、コンテンツ種別を識別する情報を他の形式で格納しても良い。例えば、図１５に示すようにコンテンツＩＤの先頭に格納してもよい。この場合、ソートファイル５１、６１内で対象種別のエントリが格納されている位置が固定されるため、更に検索効率が向上する。また、図１６に示すように復号鍵ＤＢ２１、暗号化コンテンツＤＢ１２１におけるソートファイル５１、６１内に、コンテンツＩＤとは独立した情報として“種別”を格納しても良い。【００７５】
また、図１７に示すように復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１をコンテンツの種別毎に独立して用意しても良い。データベースを独立させる方法としては、例えばデータベース内の各種ファイルをＡｕｄｉｏ専用ディレクトリ、Ｖｉｄｅｏ専用ディレクトリ等の別々のディレクトリに格納したり、データベース内のソートファイル５１、６１を“ＡＵＤＩＯ．ＳＯＴ”、“ＶＩＤＥＯ．ＳＯＴ”等のように種別毎に作成したりする等の方法がある。このようにデータベースを独立させた場合、対象種別に対する比較が不要となり検索効率が向上する。【００７６】
また、鍵分離型コンテンツ管理方法の一例としてソートファイル５１、６１を用いる方法について説明したが、必ずしもソートファイル５１、６１を用いる必要はなく、単に復号鍵ファイル５２、暗号化コンテンツファイル６２しか存在しない構成において、本方式を適用しても良い。【００７７】
また、対象ＤＢに含まれる暗号化コンテンツ、復号鍵の大多数が検索対象のコンテンツ種別である場合は、ステップＳ７０１、Ｓ７０２の暗号化コンテンツ数算出処理、復号鍵数算出処理数において対象種別のチェックを実施すると逆に対応関係検索処理の処理時間が長くなる可能性がある。このことから、ステップＳ７０１、Ｓ７０２の処理において対象種別のチェック処理を割愛しても良い。この場合、単純に各ＤＢ内に含まれるエントリ数をＣＯＮＴ＿ＮＵＭ、ＫＥＹ＿ＮＵＭとして算出し、ステップＳ７０３の比較処理に使用する。【００７８】
また、データベース内にエントリ数の情報を保持しない場合の例について説明したが、図１８に示すように、エントリ数を保持するＤＢに対して適用しても良い。この場合、ステップＳ７０１、Ｓ７０２の暗号化コンテンツ数算出処理、復号鍵数算出処理数において全データベースを検索して数値を算出する必要がなく、単にデータベースが保持しているエントリ数を参照するのみで良いため、更に検索効率が向上する。また、保持するエントリ数は、全コンテンツ種別を含むエントリ数としても良いし、コンテンツ種別毎個別のエントリ数としても良い。【００７９】
（実施の形態２）
２．１  構成
図１９は本発明の実施の形態２におけるコンテンツ検索装置の構成図である。図１９に示す構成は、コンテンツ検索装置１内に外部記録装置Ｉ／Ｆ１１、基準ＤＢ決定部１５が存在せず、コンテンツ検索装置１外部の外部暗号化コンテンツＤＢ３、外部復号鍵ＤＢ４が存在しない点が図１に示す構成と異なる。すなわち、実施の形態２では、検索対象とするデータベースは復号鍵ＤＢ２１と暗号化コンテンツＤＢ１２１の２つしか存在しない場合を想定しており、ベースＤＢの決定も行わない。また、復号鍵ＤＢ２１と暗号化コンテンツＤＢ１２１の構成は、図３、図４と同様の構成とする。更にコンテンツＩＤの形式は図８と同様の構成とする。【００８０】
２．２  再生フロー
実施の形態２におけるコンテンツ再生処理のフローは基本的に図５に示すものと同様であるが、実施の形態１とはステップＳ５０２の対応関係検索処理が異なる。以下、図２０を用いて実施の形態２における対応関係検索処理について説明する。【００８１】
２．３  対応関係検索処理
図２０を参照し、本実施形態の対応関係検索処理では、まず、検索位置を初期化する（Ｓ２００１）。検索位置はデータベース毎に個別に存在する。ここでは復号鍵ＤＢ２１の検索位置を示す変数としてＫＥＹ＿ＰＯＳ、暗号化コンテンツＤＢ１２１の検索位置を示す変数としてＣＯＮＴ＿ＰＯＳを使用する。ステップＳ２００１では、初期値として、ＫＥＹ＿ＰＯＳ、ＣＯＮＴ＿ＰＯＳそれぞれに“１”を設定する。【００８２】
次に、復号鍵ＤＢ２１内のエントリを順に参照し、対象種別が一致するエントリまでスキップする（Ｓ２００２）。具体的には、復号鍵ＤＢ２１のソートファイル５１を参照し、ソートＮｏ．がＫＥＹ＿ＰＯＳと同じ値であるエントリに含まれるコンテンツＩＤを取得する。そのコンテンツＩＤに含まれるコンテンツ種別が現在検索対象としている種別と一致している場合、スキップ処理を終了し、次のステップに進む。種別が一致していなかった場合、ＫＥＹ＿ＰＯＳに１だけ加算し、復号鍵ＤＢ２１のソートファイル５１内のソートＮｏ．がＫＥＹ＿ＰＯＳと同じ値であるエントリに対して同様の処理を、種別が一致するエントリを取得するまで繰り返し実施する。【００８３】
次に、現在参照しているエントリのコンテンツＩＤ（ＩＤ＿Ａ）を取得する（Ｓ２００３）。同様に、暗号化コンテンツＤＢ１２１内のエントリを順に参照し、対象種別が一致するまでエントリをスキップし、コンテンツＩＤ（ＩＤ＿Ｂ）を取得する（Ｓ２００４、Ｓ２００５）。【００８４】
次に、ここまでの処理で、復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１の終端まで検索が完了したか否かを判定する（Ｓ２００６）。検索が完了している場合、処理を終了する。検索が完了していない場合、ＩＤ＿ＡとＩＤ＿Ｂを比較する（Ｓ２００７）。それらの値が一致する場合、有効コンテンツを発見したため、有効コンテンツリストに、復号鍵エントリＮｏ．、タイトル名等の情報を追加し、ＫＥＹ＿ＰＯＳとＣＯＮＴ＿ＰＯＳにそれぞれ１だけ加算して検索位置を更新し、ステップＳ２００２の処理に戻る（Ｓ２００８、Ｓ２００９）。【００８５】
一方、ステップＳ２００７の処理において値が一致しない場合、ＩＤ＿ＡとＩＤ＿Ｂの大小関係を判定する（Ｓ２０１０）。ＩＤ＿ＡがＩＤ＿Ｂよりも大きい場合、ＩＤ＿ＢがＩＤ＿Ａの値以上になるまで、暗号化コンテンツＤＢ１２１内のエントリをスキップし（Ｓ２０１１）、ステップＳ２００２の処理に戻る。具体的には、暗号化コンテンツＤＢ１２１内のソートファイル６１を参照し、ソートＮｏ．がＣＯＮＴ＿ＰＯＳと同じ値であるエントリから順にコンテンツＩＤを読み出し、ＩＤ＿Ａの値以上になるまでＣＯＮＴ＿ＰＯＳに１だけ加算しながら順にコンテンツＩＤを検索する。同様に、ＩＤ＿ＡがＩＤ＿Ｂよりも小さい場合、ＩＤ＿ＡがＩＤ＿Ｂの値以上になるまで、復号鍵ＤＢ２１内のエントリをスキップし（Ｓ２０１２）、ステップＳ２００２の処理に戻る。【００８６】
以上の処理により、復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１から対応する暗号化コンテンツと復号鍵のリストを検索し、表示部１７に表示することが可能となる。【００８７】
２．３．１  対応関係検索処理の具体例
続いて図２１及び図２２を用いて、本発明の実施の形態２における対応関係検索処理の一例を説明する。図２１は、復号鍵ＤＢ２１に４つのエントリが格納されている例を示している。図２２は、暗号化コンテンツＤＢ１２１に８つのエントリが格納されている例を示している。またデータベースの左端の丸印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＡｕｄｉｏコンテンツに関するエントリであることを意味し、三角印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＶｉｄｅｏコンテンツに関するエントリであることを意味している。ここでは、図２１、２２の例において、対象種別として０ｘ０１（Ａｕｄｉｏコンテンツ）を検索する場合の例を説明する。【００８８】
この例における対応関係検索処理では、最初に復号鍵ＤＢ２１のソートファイル５１のソートＮｏ．１のエントリに対してコンテンツＩＤを参照し、対象種別と比較する。図２１を参照し、復号鍵ＤＢ２１においてソートファイル５１のソートＮｏ．１のエントリのコンテンツＩＤの４バイト目の値が「０１」（＝０ｘ０１（Ａｕｄｉｏコンテンツ））であることから、対象種別が一致したと判定し、コンテンツＩＤ（＝０ｘ１０１８３４０１・・・）をＩＤ＿Ａとして取得する。【００８９】
次に暗号化コンテンツＤＢ１２１のソートＮｏ．１のエントリに対してコンテンツＩＤを参照し、対象種別と比較する。図２２を参照し、暗号化コンテンツＤＢ１２１においてソートＮｏ．１のエントリのコンテンツＩＤの４バイト目の値が「０１」（＝０ｘ０１（Ａｕｄｉｏコンテンツ））であることから、対象種別が一致したと判定し、コンテンツＩＤ（＝０ｘ１０１１ＢＤ０１・・・）をＩＤ＿Ｂとして取得する。【００９０】
次にＩＤ＿ＡとＩＤ＿Ｂを比較すると、ＩＤ＿Ａの方が大きいため、ＣＯＮＴ＿ＰＯＳに１を加算し、暗号化コンテンツＤＢ１２１のソートファイル６１内の各エントリを検索し、コンテンツＩＤがＩＤ＿Ａ以上になるまで繰り返し実施する。具体的にはＣＯＮＴ＿ＰＯＳ＝２となった時点でコンテンツＩＤがＩＤ＿Ａと同一となるため、スキップを中止し、対象種別の判定に移る。ＩＤ＿Ａ及びＩＤ＿Ｂ（＝０ｘ１０１８３４０１・・・）のコンテンツ種別は共に「０１」（＝０ｘ０１）であり、また両者の値が一致することから、有効コンテンツを取得できたと判定し、このコンテンツに関する情報を有効コンテンツリストに追加する。【００９１】
次に、ＫＥＹ＿ＰＯＳ＝２、ＣＯＮＴ＿ＰＯＳ＝３に更新し、処理ループの先頭付近に戻り、処理を継続する。図２１を参照すると、ＫＥＹ＿ＰＯＳ＝２に対応するエントリのコンテンツＩＤ（０ｘ１０７ＦＢ３０２・・・）の４バイト目は「０２」であり、対象種別とは異なるためスキップする。ＫＥＹ＿ＰＯＳ＝３に対応するエントリに含まれるコンテンツＩＤ（＝０ｘ８３４７６５０１・・・）は種別が一致するため、このコンテンツＩＤをＩＤ＿Ａとして取得する。【００９２】
また、図２２を参照し、ＣＯＮＴ＿ＰＯＳ＝３に対応するエントリのコンテンツＩＤは０ｘ１０５４Ｂ２０１・・・であり、対象種別が一致するため、このコンテンツＩＤをＩＤ＿Ｂとして取得する。【００９３】
次にＩＤ＿ＡとＩＤ＿Ｂを比較すると、ＩＤ＿Ａの方が大きいため、ＣＯＮＴ＿ＰＯＳに１を加算し、暗号化コンテンツＤＢ１２１のソートファイル６１内の各エントリを検索し、コンテンツＩＤがＩＤ＿Ａ以上になるまで繰り返し実施する。具体的にはＣＯＮＴ＿ＰＯＳ＝６となるまでスキップし、ＩＤ＿ＢとしてこのコンテンツＩＤ（＝０ｘ８３４７６５０１・・・）を取得する。ＩＤ＿Ａ及びＩＤ＿Ｂ（＝０ｘ８３４７６５０１・・・）のコンテンツ種別は共に０ｘ０１（Ａｕｄｉｏコンテンツ）であり、また両者の値が一致することから、有効コンテンツを取得できたと判定し、このコンテンツに関する情報を有効コンテンツリストに追加する。【００９４】
次に、ＫＥＹ＿ＰＯＳ＝４、ＣＯＮＴ＿ＰＯＳ＝７に更新し、処理ループの先頭付近に戻り、処理を継続する。図２１を参照し、ＫＥＹ＿ＰＯＳ＝４に対応するエントリのコンテンツＩＤは０ｘ８３５８６５０１・・・であり、対象種別が一致するためこのコンテンツＩＤをＩＤ＿Ａとして取得する。また、図２２を参照し、ＣＯＮＴ＿ＰＯＳ＝７に対応するエントリのコンテンツＩＤは０ｘ８３５８６５０１・・・であり、対象種別が一致するためこのコンテンツＩＤをＩＤ＿Ｂとして取得する。ＩＤ＿Ａ及びＩＤ＿Ｂ（＝０ｘ８３５８６５０１・・・）のコンテンツ種別は共に０ｘ０１（Ａｕｄｉｏコンテンツ）であり、また両者の値が一致することから、有効コンテンツを取得できたと判定し、このコンテンツに関する情報を有効コンテンツリストに追加する。【００９５】
次に、ＫＥＹ＿ＰＯＳ＝５、ＣＯＮＴ＿ＰＯＳ＝８に更新し、処理ループの先頭付近に戻り、処理を継続するが、ここで復号鍵ＤＢ２１は既に全エントリの検索を完了しているため、有効コンテンツリストに格納された情報を表示部１７に表示し、処理を終了する。【００９６】
以上のように、本発明の実施の形態２におけるコンテンツ検索装置１は、暗号化コンテンツＤＢ１２１、復号鍵ＤＢ２１にそれぞれソートされた状態で格納された暗号化コンテンツ及び復号鍵の情報を検索し、両者間の対応関係（組み合わせ）を検索する際に、現在参照している暗号化コンテンツのコンテンツＩＤと復号鍵のコンテンツＩＤを比較し、小さい方の値が大きい方の値となるまでＤＢ内のエントリをスキップする。これにより、無駄なＩＤ比較を削減し、高速に暗号化コンテンツと復号鍵間の対応関係検索を実施することが可能となる。【００９７】
２．４  変形例
本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の実施の形態２において説明した各種の数値は一例であり、その他の値に変更しても良い。例えば、コンテンツＩＤは必ずしも図８の形式を取る必要はなく、サイズも１６バイトである必要はない。【００９８】
また、復号鍵ＤＢ２１がリムーバブル記録媒体２に、暗号化コンテンツＤＢ１２１が内部記録装置１２にそれぞれ配置される構成について説明したが、その他の構成を取っても良い。例えば復号鍵ＤＢ２１がコンテンツ検索装置１内部の記録装置内に存在していても良い。【００９９】
また、コンテンツＩＤの４バイト目にコンテンツ種別を識別する情報が格納される例について示したが、他の形式で格納しても良い。例えば、図１５のようにコンテンツＩＤ先頭に格納した場合、ソートファイル５１、６１内で対象種別のエントリが格納されている位置が固定されるため、更に検索効率が向上する。また、図１６のように復号鍵ＤＢ２１、暗号化コンテンツＤＢ１２１におけるソートファイル５１、６１内に、コンテンツＩＤとは独立した情報として“種別”を格納しても良い。【０１００】
また、図１７のように復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１をコンテンツの種別毎に独立して用意しても良い。データベースを独立させる方法としては、例えばデータベース内の各種ファイルをＡｕｄｉｏ専用ディレクトリ、Ｖｉｄｅｏ専用ディレクトリ等の別々のディレクトリに作成し格納したり、データベース内のソートファイル５１、６１を“ＡＵＤＩＯ．ＳＯＴ”、“ＶＩＤＥＯ．ＳＯＴ”等のように種別毎に作成する等の方法がある。このようにデータベースを独立させた場合、対象種別に対する比較が不要となり検索効率が向上する。【０１０１】
また、データベース内にエントリ数を保持しない場合の例について説明したが、図１８のように、エントリ数を保持するＤＢに対して適用しても良い。また、保持するエントリ数は、全コンテンツ種別を含むエントリ数としても良いし、コンテンツ種別毎個別のエントリ数としても良い。
【産業上の利用可能性】
【０１０２】
本発明に係るコンテンツ検索装置は、鍵分離型コンテンツ管理方法により管理された暗号化コンテンツと復号鍵に対して二者間の対応関係を検索する場合に、両者の有効エントリ数が少ない方をベースとしてＩＤ比較を行う。これにより、高速に暗号化コンテンツと復号鍵の対応関係（組み合わせ）を検索することが可能となる。このようなコンテンツ検索装置は、鍵分離型コンテンツ管理方法に対応したＰＣアプリケーション、ＤＶＤレコーダ、ＨＤＤレコーダ、デジタルオーディオプレーヤ、デジタルテレビ、デジタルスチルカメラ等として利用することができる。
【図１】
2007119324.tif 000003
【図２】
2007119324.tif 000004
【図３】
2007119324.tif 000005
【図４】
2007119324.tif 000006
【図５】
2007119324.tif 000007
【図６】
2007119324.tif 000008
【図７】
2007119324.tif 000009
【図８】
2007119324.tif 000010
【図９】
2007119324.tif 000011
【図１０】
2007119324.tif 000012
【図１１】
2007119324.tif 000013
【図１２】
2007119324.tif 000014
【図１３】
2007119324.tif 000015
【図１４】
2007119324.tif 000016
【図１５】
2007119324.tif 000017
【図１６】
2007119324.tif 000018
【図１７】
2007119324.tif 000019
【図１８】
2007119324.tif 000020
【図１９】
2007119324.tif 000021
【図２０】
2007119324.tif 000022
【図２１】
2007119324.tif 000023
【図２２】
2007119324.tif 000024
【手続補正書】
【提出日】平成20年10月3日(2008.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツデータを暗号化した暗号化コンテンツと、前記暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせを検索するコンテンツ検索装置であって、
基準ＤＢ決定部とＩＤ比較部を備え、
前記基準ＤＢ決定部は、
前記暗号化コンテンツを格納したデータベースである暗号化コンテンツデータベースと、前記復号鍵を格納したデータベースである復号鍵データベースとにアクセスし、
前記暗号化コンテンツデータベースに含まれ、所定の条件を満たす暗号化コンテンツの数と、前記復号鍵データベースに含まれ、所定の条件を満たす復号鍵の数とを算出し、
前記暗号化コンテンツデータベースと復号鍵データベースのうち、算出された数が少ない方のデータベースを基準データベースに決定し、
前記ＩＤ比較部は、前記基準データベースに含まれるエントリを順次読み出しながら、暗号化コンテンツとそれに対応する復号鍵との組み合わせを検索する、
ことを特徴とするコンテンツ検索装置。
【請求項２】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記ＩＤ比較部は、前記識別情報を介して、暗号化コンテンツと、それに対応する復号鍵との組み合わせを検索する、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項３】
前記所定の条件とは、前記暗号化コンテンツデータベースに含まれる全ての暗号化コンテンツ及び前記復号鍵データベースに含まれる全ての復号鍵が満たす条件である、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項４】
前記暗号化コンテンツ及び前記復号鍵は、コンテンツの種別を示すコンテンツ種別を属性として持ち、
前記所定の条件とは、検索対象としているコンテンツの種別と同一の種別を有することである、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項５】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記識別情報はコンテンツの種別を示す情報を含むことを特徴とする請求項４記載のコンテンツ検索装置。
【請求項６】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記暗号化コンテンツ及び前記復号鍵は、前記識別情報とは独立した情報として、コンテンツの種別を示す情報を含むことを特徴とする請求項４記載のコンテンツ検索装置。
【請求項７】
前記ＩＤ比較部は、前記暗号化コンテンツデータベースと復号鍵データベースのうちの、前記基準データベースとして決定された一方のデータベースの暗号化コンテンツまたは復号鍵の情報を順に参照し、対応する復号鍵または暗号化コンテンツが、他方のデータベースに含まれるか判定することを特徴とする請求項１記載のコンテンツ検索装置。
【請求項８】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記ＩＤ比較部は、前記識別情報を介して、前記一方のデータベースの暗号化コンテンツまたは復号鍵に対応する復号鍵または暗号化コンテンツが、前記他方のデータベースに含まれるか否かを判定する、ことを特徴とする請求項７記載のコンテンツ検索装置。
【請求項９】
前記暗号化コンテンツ及び前記復号鍵はともに、前記コンテンツデータを一意に特定するための識別情報を含み、
前記暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、各データベースに含まれるエントリを前記識別情報に基づいてソートした結果を含むソート情報を含む、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１０】
前記暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、コンテンツの種別毎に構築されている、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１１】
前記暗号化コンテンツデータベース及び復号鍵データベースのうち、少なくとも一つは、そのデータベースに含まれるエントリの個数に関する情報を保持していることを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１２】
前記コンテンツ検索装置は表示部をさらに備え、前記暗号化コンテンツと、それに対応する前記復号鍵が共に存在する場合に限り、前記表示部に、前記暗号化コンテンツに対応するコンテンツに関する情報を表示することを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１３】
前記暗号化コンテンツデータベース及び前記復号鍵データベースの少なくとも１つは、前記コンテンツ検索装置の内部または外部に設けられた記録装置上に構築される、ことを特徴とする請求項１記載のコンテンツ検索装置。
【請求項１４】
コンテンツデータを暗号化した暗号化コンテンツと、前記暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせを検索するコンテンツ検索装置において、
前記暗号化コンテンツに含まれ前記コンテンツデータを一意に特定するための識別情報に基づき暗号化コンテンツデータベースと復号鍵データベースを参照し、現在参照している前記暗号化コンテンツに含まれる識別情報と、前記復号鍵に含まれる識別情報とを比較し、前記暗号化コンテンツとそれに対応する復号鍵の組み合わせを検索するＩＤ比較部を備え、
前記暗号化コンテンツデータベースは、前記暗号化コンテンツがソートされて格納されたデータベースであり、前記復号鍵データベースは、前記復号鍵に含まれる前記識別情報に基づき前記復号鍵がソートされて格納されたデータベースであり、
前記ＩＤ比較部は、比較した結果、一方の識別情報の値が他方の識別情報の値よりも小さい場合に、一方の識別情報の値が他方の識別情報の値以上になるまで、一方の識別情報を含むデータベース内のエントリをスキップする、ことを特徴とするコンテンツ検索装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化された、音楽・動画・書籍等のコンテンツを格納した記録媒体にアクセスし、所望のコンテンツを検索する装置に関し、特に、暗号化されたコンテンツとそれを復号するための復号鍵の組み合わせを検索する装置に関する。
【背景技術】
【０００２】
音楽コンテンツや、動画コンテンツ等の各種デジタルデータ（以下「コンテンツ」という。）を記録する情報記録媒体には、ハードディスク、光ディスク等、様々な種類が存在する。これら情報記録媒体の１つであるメモリカードは小型、軽量であることから、デジタルスチルカメラや携帯電話端末等、小型の情報機器を中心に急速に普及している。
【０００３】
メモリカードには形状や仕様の違いにより様々な種類が存在するが、その中には著作権保護機能を備えたものがある。この著作権保護機能を備えたメモリカードは、著作権を有するコンテンツの不正コピーを防止し、安全に記録・再生することが可能であるため、単純にデータを受け渡すための記録媒体として使用されるだけではなく、著作権を有するコンテンツを取り扱うデジタルオーディオプレーヤに使用される等、従来の記録媒体に比べ応用用途が広く、メモリカードの普及を促進する一因となっている。
【０００４】
著作権保護機能を備えたメモリカードにおける著作権保護の仕組みの一例は、メモリカード内に２種類の記録領域（通常領域、秘匿領域）を備えることにより実現している（例えば、特許文献１参照）。具体的には、この例のメモリカードは、デジタルオーディオプレーヤ等のアクセス装置とメモリカードの間で互いの正当性を認証することによって初めてアクセス装置からアクセスすることが可能となる秘匿領域と、認証の成否に関わらずアクセス装置から自由にアクセスすることが可能な通常領域とを備えている。そして、通常領域に暗号化したコンテンツ（以下、「暗号化コンテンツ」という。）を記録し、そのコンテンツを復号化するための鍵データ（以下、「復号鍵」という。）を秘匿領域に格納する。このように、メモリカード内の２つの領域に暗号化コンテンツと復号鍵を別々に格納することにより、メモリカードとの間で互いの正当性を認証することができない不正なアクセス装置は秘匿領域に格納された復号鍵を入手できないため、暗号化コンテンツを復号できず、結果としてコンテンツの使用を禁止することが可能となる。
【０００５】
従来、著作権保護機能を備えたメモリカードに対して格納するコンテンツとしては、ユーザが購入した音楽ＣＤからリッピングした音楽コンテンツや、インターネットに接続したＰＣや携帯電話端末を利用して、所要の対価を支払ってコンテンツプロバイダからダウンロードした音楽コンテンツが中心であった。これらコンテンツはメモリカードに記録され、デジタルオーディオプレーヤや携帯電話端末等の対応機器でメモリカードから読み出され再生される。この従来の利用形態では、暗号化コンテンツと、それに対応する復号鍵とが常に一対の組として扱われる。
【０００６】
近年、このようなコンテンツの利用形態に加え、暗号化コンテンツとそれに対応する復号鍵とを別々にユーザに配信する、いわゆる、「超流通型」と呼ばれる鍵分離型コンテンツ管理方法が注目されている。この鍵分離型コンテンツ管理方法では、音楽や動画等のデジタルコンテンツは暗号化した形でＣＤ等のパッケージメディアやインターネットを介してユーザに配布され、復号鍵は別途、ユーザが所要の対価を支払った上でコンテンツプロバイダから配布される。このように配信された暗号化コンテンツと復号鍵は、必ずしも同一の記録媒体上に格納される必要はない。例えば暗号化コンテンツをＰＣ内の大容量ハードディスク内に、復号鍵をメモリカード内にそれぞれ格納しておき、再生時にはＰＣにメモリカードを接続した形態で使用しても良い。
【０００７】
そのため、従来の形態では外出先でコンテンツを再生する場合は暗号化コンテンツと復号鍵を共にメモリカードに記録して持ち出す必要があった。これに対し、この「超流通型」の形態では復号鍵を格納したメモリカードを持ち歩くだけで、外出先の任意のＰＣに格納されている暗号化コンテンツを再生し、楽しむことが可能となり、利便性が高くなる。更にこの形態では、暗号化コンテンツを比較的安価なパッケージメディアを利用して安全にユーザに配布することが可能となる、大容量の暗号化コンテンツを事前にユーザに配布しているためコンテンツ購入時に新たにユーザに配布する情報は復号鍵等の少量のデータで済むなど、様々な利点がある。このため、コンテンツを配信するコンテンツプロバイダを中心に注目され、商用化が進んでいる。
【０００８】
鍵分離型コンテンツ管理方法においては、暗号化コンテンツの記録時や再生時において、復号鍵と暗号化コンテンツの対応付けが必要となる。この対応付けを行う１つの方法として、復号鍵と暗号化コンテンツの双方に、一意に識別可能なＩＤ情報を割り当て、双方のＩＤ情報をインデックスとして利用することで対応付ける方法がある。特許文献２では、上記のような復号鍵と暗号化コンテンツに対して、一意なＩＤ情報を割り当て、それぞれ別の場所に格納・管理し、暗号化コンテンツを復号化する際には、ＩＤ情報をインデックスとして利用する方法が示されている。
【０００９】
【特許文献１】特許第３３８９１８６号公報
【特許文献２】特開２００３−３００５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
鍵分離型コンテンツ管理方法ではコンテンツを再生する際には、暗号化コンテンツと、それに対応する復号鍵とが揃って存在している必要がある。このため、再生に先立ち、再生すべきコンテンツを選択するために再生可能なコンテンツを一覧表示する場合、暗号化コンテンツとそれに対応する復号鍵との対応関係を検索し、それらの双方が存在するコンテンツを特定して表示する必要がある。しかしながら、鍵分離型コンテンツ管理方法では、暗号化コンテンツと復号鍵の個数が必ずしも同数であるとは限らないため、不要な暗号化コンテンツあるいは復号鍵を多数含むような場合では、この対応関係の検索に膨大な時間がかかり、表示に時間がかかるという問題が生じる。
【００１１】
本発明は上記問題点に鑑みなされたものであり、その目的とするところは、暗号化コンテンツ数と復号鍵数間に差がある場合であっても、暗号化コンテンツと復号鍵の組み合わせ（対応関係）の検索を高速に行うことを可能とするコンテンツ検索装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の態様において、コンテンツデータを暗号化した暗号化コンテンツと、暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせ（対応関係）を検索するコンテンツ検索装置が提供される。
【００１３】
コンテンツ検索装置は基準ＤＢ決定部とＩＤ比較部を備える。
基準ＤＢ決定部は、暗号化コンテンツを格納したデータベースである暗号化コンテンツデータベースと、復号鍵を格納したデータベースである復号鍵データベースとにアクセスし、暗号化コンテンツデータベースに含まれ、所定の条件を満たす暗号化コンテンツの数と、復号鍵データベースに含まれ、所定の条件を満たす復号鍵の数とを算出し、暗号化コンテンツデータベースと復号鍵データベースのうち、算出された数が少ない方のデータベースを基準データベースに決定する。
ＩＤ比較部は、基準データベースに含まれるエントリを順次読み出しながら、暗号化コンテンツとそれに対応する復号鍵との組み合わせを検索する。
【００１４】
暗号化コンテンツ及び復号鍵はともに、コンテンツデータを一意に特定するための識別情報を含んでもよい。ＩＤ比較部は、識別情報を介して、暗号化コンテンツと、それに対応する復号鍵との組み合わせを検索してもよい。
【００１５】
所定の条件とは、暗号化コンテンツデータベースに含まれる全ての暗号化コンテンツ及び復号鍵データベースに含まれる全ての復号鍵が満たす条件であってもよい。
【００１６】
暗号化コンテンツ及び復号鍵は、コンテンツの種別を示すコンテンツ種別を属性として持ってもよく、この場合、所定の条件を、検索対象としているコンテンツの種別と同一の種別を有することに設定してもよい。
【００１７】
暗号化コンテンツ及び復号鍵がともに、コンテンツデータを一意に特定するための識別情報を含む場合、識別情報はコンテンツの種別を示す情報を含んでもよい。
【００１８】
暗号化コンテンツ及び復号鍵がともに、コンテンツデータを一意に特定するための識別情報を含む場合、暗号化コンテンツ及び復号鍵は、識別情報とは独立した情報として、コンテンツの種別を示す情報を含んでもよい。
【００１９】
ＩＤ比較部は、暗号化コンテンツデータベースと復号鍵データベースのうちの、基準データベースとして決定された一方のデータベースの暗号化コンテンツまたは復号鍵の情報を順に参照し、対応する復号鍵または暗号化コンテンツが、他方のデータベースに含まれるか判定してもよい。
【００２０】
暗号化コンテンツ及び復号鍵がともに、コンテンツデータを一意に特定するための識別情報を含む場合、ＩＤ比較部は、識別情報を介して、一方のデータベースの暗号化コンテンツまたは復号鍵に対応する復号鍵または暗号化コンテンツが、他方のデータベースに含まれるか否かを判定してもよい。
【００２１】
暗号化コンテンツ及び復号鍵はともに、コンテンツデータを一意に特定するための識別情報を含む場合、暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、各データベースに含まれるエントリを識別情報に基づいてソートした結果を含むソート情報を含んでもよい。
【００２２】
暗号化コンテンツデータベース及び復号鍵データベースのうち少なくとも一つは、コンテンツの種別毎に構築されてもよい。
【００２３】
暗号化コンテンツデータベース及び復号鍵データベースのうち、少なくとも一つは、そのデータベースに含まれるエントリの個数に関する情報を保持してもよい。
【００２４】
コンテンツ検索装置は表示部をさらに備えてもよい。暗号化コンテンツと、それに対応する復号鍵が共に存在する場合に限り、表示部に、暗号化コンテンツに対応するコンテンツに関する情報を表示してもよい。
【００２５】
暗号化コンテンツデータベース及び復号鍵データベースの少なくとも１つは、コンテンツ検索装置の内部または外部に設けられた記録装置上に構築されてもよい。
【００２６】
本発明の第２の態様において、コンテンツデータを暗号化した暗号化コンテンツと、暗号化コンテンツを復号するための鍵情報である復号鍵との組み合わせを検索するコンテンツ検索装置が提供される。
【００２７】
コンテンツ検索装置はＩＤ比較部を備える。ＩＤ比較部は、暗号化コンテンツに含まれコンテンツデータを一意に特定するための識別情報に基づき、暗号化コンテンツデータベースと復号鍵データベースを参照し、現在参照している暗号化コンテンツに含まれる識別情報と復号鍵に含まれる識別情報を比較して、暗号化コンテンツとそれに対応する復号鍵の組み合わせを検索する。暗号化コンテンツデータベースは、暗号化コンテンツがソートされて格納されたデータベースである。復号鍵データベースは、復号鍵に含まれる識別情報に基づき復号鍵がソートされて格納されたデータベースである。ＩＤ比較部は、比較した結果、一方の識別情報の値が他方の識別情報の値よりも小さい場合に、一方の識別情報の値が他方の識別情報の値以上になるまで、一方の識別情報を含むデータベース内のエントリをスキップする。
【発明の効果】
【００２８】
本発明によれば、鍵分離型コンテンツ管理方法において、暗号化コンテンツ数と復号鍵数に差がある場合であっても、暗号化コンテンツとそれに対応する復号鍵の組み合わせ（対応関係）の検索を高速に行うことが可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施形態について添付の図面を参照して説明する。
【００３０】
（実施の形態１）
１．１  構成
図１は本発明の実施の形態１におけるコンテンツ検索装置の構成図である。図１において、コンテンツ検索装置１は、ネットワーク上に接続されているサーバやＰＣ、ＵＳＢ経由で接続される外部ハードディスク等の外部記録装置との接続部である外部記録装置インタフェース（Ｉ／Ｆ）１１と、内蔵ハードディスク等の内部記録装置１２と、メモリカード等のリムーバブル記録媒体２との接続部であるリムーバブル記録媒体インタフェース（Ｉ／Ｆ）１３と、外部および内部記録装置に格納されたデータベース（ＤＢ）に各Ｉ／Ｆ経由でまたは直接的にアクセスし、データベース内の情報を読み書きするＤＢアクセス部１４と、暗号化コンテンツと復号鍵の対応関係（組み合わせ）の検索を行う、基準ＤＢ決定部１５及びＩＤ比較部１６と、ユーザにコンテンツ検索結果等を表示する液晶パネル等の表示部１７とから構成される。データベース（ＤＢ）は、暗号化コンテンツや復号鍵を管理する。表示部１７は表示するための信号を生成出力する機能のみであってもよい。
【００３１】
内部記録装置１２は暗号化コンテンツデータベース（ＤＢ）１２１を含み、リムーバブル記録媒体２は復号鍵データベース（ＤＢ）２１を含む。更に、コンテンツ検索装置１の外部には、ネットワークやＵＳＢ等を介して接続されたサーバやＰＣ、外部ハードディスク等に構築された外部暗号化コンテンツデータベース（ＤＢ）３、外部復号鍵データベース（ＤＢ）４が存在している。暗号化コンテンツＤＢ１２１と外部暗号化コンテンツＤＢ３は共に暗号化コンテンツを格納・管理しているデータベースである。復号鍵ＤＢ２１と外部復号鍵ＤＢ４は共に復号鍵を格納・管理しているデータベースである。本発明の実施の形態１におけるコンテンツ検索装置１は、これらのデータベースから暗号化コンテンツと復号鍵に関する情報を取得し、暗号化コンテンツとそれに対応する復号鍵の対応関係（組み合わせ）の検索を行う。対応関係（組み合わせ）の検索の主要な処理は、基準ＤＢ決定部１５およびＩＤ比較部１６により行われる。この詳細な処理内容については後述する。
【００３２】
著作権を有するコンテンツは最終的に暗号化された状態（暗号化コンテンツ）で記録媒体に格納され、コンテンツを復号するための鍵情報（復号鍵）も同様に記録媒体に格納される。本発明では、鍵分離型コンテンツ管理方法を想定しているため、暗号化コンテンツと復号鍵はそれぞれ独立してユーザに配布され、必ずしも同一の記録媒体に格納されるとは限らない。本発明の実施の形態１では、暗号化コンテンツが、コンテンツ検索装置１内の内部記録装置１２上に構築された暗号化コンテンツＤＢ１２１と、コンテンツ検索装置１外部の記録媒体上に構築された外部暗号化コンテンツＤＢ３とに格納されている場合を例として説明する。また、復号鍵が、コンテンツ検索装置１外部のリムーバブル記録媒体２上に構築された復号鍵ＤＢ２１と、コンテンツ検索装置１外部の記録媒体上に構築された外部復号鍵ＤＢ４とに格納されているとする。
【００３３】
１．２  コンテンツ格納方法
図２を用いて本発明における鍵分離型コンテンツ管理方法のコンテンツ格納方法を説明する。図２では、暗号化コンテンツが暗号化コンテンツＤＢ１２１に格納され、復号鍵が復号鍵ＤＢ２１に格納される場合の例を示している。なお、暗号化コンテンツおよび複合鍵は、外部暗号化コンテンツＤＢ３と外部復号鍵ＤＢ４に格納される場合も同様の構成を有する。
【００３４】
本発明の実施の形態１では、著作権を有するコンテンツを格納するリムーバブル記録媒体２として、特殊領域、秘匿領域および通常領域を有するリムーバブル記録媒体を想定する。
【００３５】
まず、一般的なリムーバブル記録媒体の利用形態について説明する。特殊領域は、リムーバブル記録媒体２の外部から直接読み書きできない特殊な領域であり、リムーバブル記録媒体２に固有な値であるメディア固有鍵等を格納する。リムーバブル記録媒体２の外部の装置は、メディア固有鍵そのものを直接読み出すことはできないが、リムーバブル記録媒体２との間で相互に正当な機器であることを認証する過程で送受信される情報を元に、メディア固有鍵を算出することが可能である。秘匿領域は、相互に正当な機器であることを認証できた際にのみ読み書きが可能となる領域であり、コンテンツの復号に必要な鍵データ等を格納する。通常領域は、認証することなく自由に読み書き可能な領域であり、大容量の暗号化コンテンツ等を格納する。
【００３６】
コンテンツは動画データ、静止画データ、音楽データ、書籍データ等のデジタルデータであり、インターネットや携帯電話端末等の通信網を介して配信されたり、ＣＤ、ＭＤ、ＤＶＤ等のパッケージメディアに格納され配布されたりする。
【００３７】
鍵分離型コンテンツ管理方法に基づく図２の例では、Ｎ個のコンテンツ（コンテンツ＃１、・・・、コンテンツ＃Ｎ）は、それぞれ異なるＮ個の平文復号鍵（平文復号鍵＃１、・・・、平文復号鍵＃Ｎ）により暗号化され、Ｎ個の暗号化コンテンツ（暗号化コンテンツ＃１、・・・、暗号化コンテンツ＃Ｎ）として暗号化コンテンツＤＢ１２１に格納される。また、Ｎ個の平文復号鍵（平文復号鍵＃１、・・・、平文復号鍵＃Ｎ）は、任意に定められたサービス固有鍵により暗号化され、Ｎ個の復号鍵（復号鍵＃１、・・・、復号鍵＃Ｎ）として復号鍵ＤＢ２１に格納される。サービス固有鍵はコンテンツを提供している各サービスの種類等で異なる鍵である。サービス固有鍵は、リムーバブル記録媒体２毎に異なるメディア固有鍵により暗号化され、暗号化サービス固有鍵としてリムーバブル記録媒体２内の秘匿領域に格納される。また、先に説明したようにメディア固有鍵はリムーバブル記録媒体２内の特殊領域に格納されており、リムーバブル記録媒体２の外部の装置は、相互に正当な機器であることを認証する過程で送受信される情報を元に、メディア固有鍵を算出することが可能である。
【００３８】
このように鍵分離型コンテンツ管理方法では、暗号化コンテンツと、それを復号するために必要な復号鍵が別々に管理されており、コンテンツを使用するためには両者の対応関係を検索し、暗号化コンテンツと復号鍵の正しい組み合わせを見つけ出す必要がある。
【００３９】
１．３  データベース構成
次に、図３を用いて本発明の実施の形態１における復号鍵ＤＢ２１と外部復号鍵ＤＢ４の構成を説明する。なお、復号鍵ＤＢ２１と外部復号鍵ＤＢ４は同じ構成を有するので、ここでは、復号鍵ＤＢ２１について構成を説明する。図３に示すように、復号鍵ＤＢ２１は、ソートファイル５１と復号鍵ファイル５２の２つのファイルから構成されている。復号鍵ファイル５２には、データベース２１内に格納されている全ての復号鍵に関する情報が格納されている。図３の例では、Ｎ個のコンテンツに対応する復号鍵の情報として、Ｎ個のエントリが格納されている。復号鍵ファイル５２内の各エントリには、復号鍵の実体でありコンテンツを復号するための鍵データが暗号化された状態で格納されている暗号化コンテンツ鍵（ｋｅｙ＿１、・・・、ｋｅｙ＿Ｎ）と、コンテンツを一意に識別するためのコンテンツＩＤ（０ｘ８Ａ７２８Ｃ・・・等）と、各コンテンツのタイトル名（ＡＡＡＡＡ、・・・）等が格納される。
【００４０】
ソートファイル５１は、復号鍵ファイル５２内に存在するエントリを、コンテンツＩＤに関してソートして格納したものである。ソートファイル５１内には、復号鍵ファイル５２に含まれる全エントリ数と同数の、コンテンツＩＤと復号鍵エントリＮｏ．とが格納される。復号鍵エントリＮｏ．は、ソートファイル５１内の各エントリに対応する復号鍵ファイル５２内のエントリの番号を示す。図３の例では、ソートファイル５１内の１番目のエントリの復号鍵エントリＮｏ．は“２”となっている。これは、ソートファイル５１内の１番目のエントリが復号鍵ファイル５２内の２番目のエントリに対応することを示している。
【００４１】
次に、図４を用いて本発明の実施の形態１における暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３の構成を説明する。暗号化コンテンツＤＢ１２１と外部暗号化コンテンツＤＢ３は同様の構成を有するので、ここでは、暗号化コンテンツＤＢ１２１について構成を説明する。暗号化コンテンツＤＢ１２１は、ソートファイル６１と、暗号化コンテンツファイル６２ａ、６２ｂ、・・・とから構成されている。暗号化コンテンツファイル６２ａ、６２ｂ、・・・は、コンテンツ本体が暗号化されて得られる暗号化コンテンツ（ＥｎｃｒｙｐｔｅｄＣｏｎｔｅｎｔ＿１、・・・、ＥｎｃｒｙｐｔｅｄＣｏｎｔｅｎｔ＿Ｍ）と、各暗号化コンテンツを一意に識別するコンテンツＩＤ（０ｘ８Ａ７２８Ｃ・・・等）とを格納する。
【００４２】
図４の例では、コンテンツ毎に暗号化コンテンツファイル６２ａ、６２ｂ、・・・が生成される場合を示しており、合計Ｍ個のファイルが存在する。また、ソートファイル６１は、復号鍵ＤＢ２１および外部復号鍵ＤＢ４と同様、暗号化コンテンツファイル６２を、コンテンツＩＤに関してソートして格納したものである。ソートファイル６１内には、暗号化コンテンツファイル６２と同数の、コンテンツＩＤとファイルＮｏ．を格納する。ファイルＮｏ．は、暗号化コンテンツファイル６２ａ、６２ｂ、・・・を一意に識別可能な情報であり、ファイル名に含まれる一意に割り当てられた番号を示す。ここで、暗号化コンテンツファイル６２ａ、６２ｂ、・・・のファイル名は、ファイル番号を含むように設定される。図４の例では、ソートファイル６１内の１番目のエントリのファイルＮｏ．は“２”となっている。このことは、ソートファイル６１内の１番目のエントリが、ファイル名に“２”を含む“ＦＩＬＥ０００２．ＣＯＮ”という名称の暗号化コンテンツファイル６２ｂに対応することを示している。
【００４３】
なお、図３、図４の説明中におけるコンテンツＩＤは、各データベース（ＤＢ）に共通で使用される情報であり、コンテンツを一意に識別するために割り当てられたＩＤである。本発明の実施の形態１では、このコンテンツＩＤが同一である、暗号化コンテンツと復号鍵の組を高速に検索する方法を説明する。
【００４４】
１．４  コンテンツ再生処理
鍵分離型コンテンツ管理方法では、コンテンツを使用する場合、暗号化コンテンツと、それに対応した復号鍵の両方が揃っていなければならない。そのため、再生時には両者間の対応関係を検索する必要がある、そして、対応がとれたコンテンツを再生可能なコンテンツとしてユーザに表示し、コンテンツ選択をユーザに促し、選択されたコンテンツを再生する。
【００４５】
図５は本発明の実施の形態１におけるコンテンツ検索装置１によるコンテンツ再生処理のフローチャートである。図６は本発明の実施の形態１におけるコンテンツ再生処理において、コンテンツ検索装置１の表示部１７に表示される内容の一例を示した図である。図５、図６を用いて、本発明の実施の形態１におけるコンテンツ検索装置１によるコンテンツ再生処理を説明する。なお、以下の処理は主としてＤＢアクセス部１４により制御される。
【００４６】
図５のコンテンツ再生処理において、まず始めにコンテンツ一覧表示を開始するためのトリガが発行される（Ｓ５０１）。コンテンツ検索装置１に電源が投入されると、図６に示すような、初期メニューである“メニューリスト”７１が表示される。この状態でユーザにより“Ａｕｄｉｏメニュー”が選択されると、コンテンツ検索装置１（ＤＢアクセス部１４）は、Ａｕｄｉｏコンテンツに関するコンテンツ一覧（図６では、Ａｕｄｉｏコンテンツリスト７２）の表示を開始するトリガが発行されたと認識する。次に、基準ＤＢ決定部１５及びＩＤ比較部１６により、暗号化コンテンツと復号鍵間の対応関係の検索処理を実施する（Ｓ５０２）。この処理の詳細については後述する。
【００４７】
対応関係の検索処理が完了すると、その検索結果が表示部１７に表示される（Ｓ５０３）。検索結果の表示例として、図６の“Ａｕｄｉｏコンテンツリスト”７２のように再生可能なコンテンツの情報が表示される。次に、ユーザにより、表示されたコンテンツから再生したいコンテンツが選択される（Ｓ５０４）。この選択は、ユーザが図６の“Ａｕｄｉｏコンテンツリスト”７２を参照し、再生したいコンテンツを表示した行の左端に存在するチェックボックスを選択し、“再生”ボタンを押すことにより実施される。
【００４８】
次に、ＤＢアクセス部１４は、暗号化コンテンツＤＢ１２１及び／または外部暗号化コンテンツＤＢ３にアクセスし、再生対象の暗号化コンテンツを取得する（Ｓ５０５）。また、ＤＢアクセス部１４は、復号鍵ＤＢ２１及び／または外部復号鍵ＤＢ４にアクセスし、再生対象の暗号化コンテンツに対応する復号鍵を取得する（Ｓ５０６）。最後に、ＤＢアクセス部１４は、取得した復号鍵を用いて、取得した暗号化コンテンツを復号し、再生する（Ｓ５０７）。
【００４９】
上記コンテンツ再生処理、特に、ステップＳ５０２の対応関係検索処理において総当り的に対応関係の検索を行った場合、暗号化コンテンツの個数と復号鍵の個数は必ずしも同じではないことから、その処理に膨大な時間を要し、コンテンツ一覧表示に膨大な時間がかかる可能性がある。本実施形態では、この対応関係の検索処理を高速に行う方法を提供する。以下、本発明の実施の形態１における、ステップＳ５０２の対応関係検索処理について説明する。
【００５０】
１．５  対応関係検索処理
図７は、本発明の実施の形態１における対応関係検索処理（Ｓ５０２）のフローチャートである。対応関係検索処理では、基準ＤＢ決定部１５が、まず始めに対象種別の暗号化コンテンツ数（ＣＯＮＴ＿ＮＵＭ）を算出する（Ｓ７０１）。対象種別とは、ＡｕｄｉｏやＶｉｄｅｏ等のように、現在検索対象としているコンテンツの種別を意味する。これはユーザによって指定される。本実施の形態１ではコンテンツＩＤの一部を用いて、コンテンツ種別判定が行える。具体的には、コンテンツＩＤは図８のような構成となっており、先頭から４バイト目の位置に存在する１バイトがコンテンツ種別を示す。例えば、この１バイトの値が０ｘ０１であれば“Ａｕｄｉｏ”コンテンツであることを示し、０ｘ０２であれば“Ｖｉｄｅｏ”コンテンツであることを示す。すなわち、ステップＳ７０１の処理では、コンテンツＩＤ内に含まれる、コンテンツ種別の情報を参照して、そのコンテンツの種別を判定する。そして、コンテンツの種別が対象種別と等しい暗号化コンテンツの数を算出する。
【００５１】
次に、基準ＤＢ決定部１５は、ステップＳ７０１と同様に、対象種別と等しい種別を持つコンテンツに対する復号鍵の数（ＫＥＹ＿ＮＵＭ）を算出する（Ｓ７０２）。次に、基準ＤＢ決定部１５は、暗号化コンテンツの数（ＣＯＮＴ＿ＮＵＭ）と復号鍵の数（ＫＥＹ＿ＮＵＭ）を比較する（Ｓ７０３）。ＣＯＮＴ＿ＮＵＭの方が大きい場合、コンテンツＩＤの比較のベース（基準）とするデータベース（以下「ベースＤＢ」という。）として、復号鍵を格納したデータベース４または２１を選択する（Ｓ７０４）。このとき、ベースＤＢを示す変数ＢＡＳＥ＿ＤＢに「ＫＥＹ」を設定する。それ以外の場合、基準ＤＢ決定部１５は、ベースＤＢとして、暗号化コンテンツを格納したデータベース３または１２を選択する（Ｓ７０５）。このとき、ベースＤＢを示す変数ＢＡＳＥ＿ＤＢに「ＣＯＮＴ」を設定する。最後に、ＩＤ比較部１６は、暗号化コンテンツを格納したデータベースと復号鍵を格納したデータベース（ＫＥＹ）との間で、ベースＤＢとして選択されたデータベースを基準としてＩＤ比較処理を行い、暗号化コンテンツと復号鍵の組を検索する（Ｓ７０６）。
【００５２】
図７の処理におけるステップＳ７０１、Ｓ７０２及びＳ７０６の各処理の詳細を説明する。
【００５３】
図９は、ステップＳ７０１の暗号化コンテンツ数の算出処理のフローチャートである。本処理では、ＤＢアクセス部１４が、まず始めに暗号化コンテンツ数を格納する変数であるＣＯＮＴ＿ＮＵＭを０に初期化する（Ｓ９０１）。次に、ＤＢアクセス部１４は、検索対象となる暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３の全てのデータベースに対する検索処理が完了しているか判定する（Ｓ９０２）。検索が完了している場合、暗号化コンテンツ数の算出処理を終了する。最終的に算出した暗号化コンテンツ数はＣＯＮＴ＿ＮＵＭの値に等しい。
【００５４】
一方、検索が完了していない場合、ＤＢアクセス部１４は、現在参照しているデータベース内に含まれる全ての暗号化コンテンツに対する検索処理が完了しているか判定する（Ｓ９０３）。検索が完了している場合、検索対象のデータベースを現在のデータベースから別のデータベースに切り替え（Ｓ９０８）、ステップＳ９０２の処理に戻る。例えば、検索対象のデータベースである暗号化コンテンツＤＢ１２１の検索が完了し、外部暗号化コンテンツＤＢ３の検索を未だ実施していない場合、検索対象のデータベースを暗号化コンテンツＤＢ１２１から、外部暗号化コンテンツＤＢ３に含まれる任意のデータベースに切り替える。
【００５５】
一方、ステップＳ９０３において検索が完了していない場合、ＤＢアクセス部１４は、現在参照しているデータベース内のエントリに含まれるコンテンツＩＤを参照し、コンテンツ種別を確認する（Ｓ９０４）。次にコンテンツ種別が対象種別と一致するか判定する（Ｓ９０５）。この判定処理では、図８で説明したようにコンテンツＩＤ内のコンテンツ種別と、現在検索対象としているコンテンツの種別が一致するか否かで一致性を判定する。対象種別と一致した場合、ＣＯＮＴ＿ＮＵＭを１だけインクリメントする（Ｓ９０６）。次に検索位置を、現在参照しているエントリから次のエントリに変更し（Ｓ９０７）、ステップＳ９０３の処理に戻る。
【００５６】
以上の処理により、全暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３内に含まれる対象種別の暗号化コンテンツの数を算出する。
【００５７】
図１０は、ステップＳ７０２の復号鍵数の算出処理のフローチャートである。処理内容は、図９に示す暗号化コンテンツ数の算出処理の場合とほぼ同じである。図１０のフローは、算出すべき対象が暗号化コンテンツ数（ＣＯＮＴ＿ＮＵＭ）ではなく復号鍵数（ＫＥＹ＿ＮＵＭ）である点と、検索対象ＤＢが暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３ではなく、復号鍵ＤＢ２１及び外部復号鍵ＤＢ４である点とが図９のフローと異なるため、詳細な説明は割愛する。
【００５８】
図１１は、ステップＳ７０６のＩＤ比較処理のフローチャートである。本処理では、ＩＤ比較部１６は、まず始めに検索対象となるベースＤＢ（ＢＡＳＥ＿ＤＢ）に含まれる全データベースに対する検索処理が完了しているか判定する（Ｓ１１０１）。ここで検索対象となるベースＤＢとは、変数ＢＡＳＥ＿ＤＢが「ＣＯＮＴ」の場合、暗号化コンテンツＤＢ１２１及び外部暗号化コンテンツＤＢ３を意味し、変数ＢＡＳＥ＿ＤＢが「ＫＥＹ」の場合、復号鍵ＤＢ２１及び外部復号鍵ＤＢ４を意味する。検索が完了している場合、ＩＤ比較処理を終了する。また、検索が完了していない場合、ＩＤ比較部１６は、現在参照しているデータベース内に含まれる全てのエントリに対する検索処理が完了しているか判定する（Ｓ１１０２）。検索が完了している場合、検索対象データベースを現在のデータベースから別のデータベースに切り替え（Ｓ１１０８）、ステップＳ１１０１の処理に戻る。
【００５９】
一方、ステップＳ１１０２の処理において検索が完了していない場合、現在参照しているデータベース内のエントリに含まれるコンテンツＩＤを取得する（Ｓ１１０３）。次にステップＳ１１０３で取得したコンテンツＩＤを参照し、現在検索対象としているコンテンツ種別と一致するか否か判定する（Ｓ１１０４）。一致している場合、ベースＤＢと異なる、他方のデータベースを参照し、ステップＳ１１０３で取得したコンテンツＩＤを含むエントリが、その他方のデータベース内に存在するか否か確認する（Ｓ１１０５）。ここで他方のデータベースとは、変数ＢＡＳＥ＿ＤＢが「ＣＯＮＴ」の場合、復号鍵ＤＢ２１または外部復号鍵ＤＢ４であり、変数ＢＡＳＥ＿ＤＢが「ＫＥＹ」の場合、暗号化コンテンツＤＢ１２１または外部暗号化コンテンツＤＢ３である。同一コンテンツＩＤが存在した場合、有効コンテンツを発見したため、有効コンテンツリストにデータベース名、復号鍵エントリＮｏ．、タイトル名等の情報を追加する（Ｓ１１０６）。有効コンテンツリストとは、本ＩＤ比較処理において発見した有効コンテンツのリストである。最終的に、本リストに格納されている有効コンテンツのリストは、コンテンツ一覧として表示部１７に表示される。
【００６０】
ステップＳ１１０４、Ｓ１１０５の判定でＮｏとなった場合、あるいはステップＳ１１０６の処理を終了した場合、エントリ検索位置を、現在参照しているエントリから、次のエントリに変更し（Ｓ１１０７）、ステップＳ１１０２の処理に戻る。以上の処理により、各データベースから、対応する暗号化コンテンツと復号鍵のリストを検索し、表示部１７に表示することが可能となる。
【００６１】
１．５．１  対応関係検索処理の具体例
図１２及び図１３を用いて、本発明の実施の形態１における対応関係検索処理の一例を説明する。図１２は、復号鍵を格納するデータベース（ＤＢ）として、４つのエントリを含む復号鍵ＤＢ２１のみが存在している例を示している。図１３は、暗号化コンテンツを格納するＤＢとして、それぞれ４つ、４つ、３つのエントリを含む暗号化コンテンツＤＢ１２１、外部暗号化コンテンツＤＢ（＃１）３ａ、外部暗号化コンテンツＤＢ（＃２）３ｂが存在している例を示している。またデータベースの左端の丸印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＡｕｄｉｏコンテンツに関するエントリであることを意味し、三角印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＶｉｄｅｏコンテンツに関するエントリであることを意味している。ここでは、図１２及び図１３の例において、対象種別として０ｘ０１（Ａｕｄｉｏコンテンツ）を検索する場合の例を説明する。
【００６２】
この例において、図７のステップＳ７０１の暗号化コンテンツ数算出処理では、まず始めに暗号化コンテンツＤＢ１２１に対する算出処理が行われ、ソートＮｏ．１から４の全てのエントリに対して順にコンテンツＩＤを参照し、対象種別と一致するか否かを判定する。図１３を参照し、暗号化コンテンツＤＢ１２１に含まれるソートＮｏ．１のエントリは、種別を示すコンテンツＩＤの４バイト目の値が「０１」（＝０ｘ０１（Ａｕｄｉｏコンテンツ））であり、その種別が対象種別と一致することから、ＣＯＮＴ＿ＮＵＭの値に１を加算する。また、ソートＮｏ．２、４のエントリも対象種別が一致するため、暗号化コンテンツＤＢ１２１の検索完了時点でＣＯＮＴ＿ＮＵＭの値は３となる。同様にして、外部暗号化コンテンツＤＢ（＃１）３ａ、外部暗号化コンテンツＤＢ（＃２）３ｂの検索を行い、それぞれ対象種別と一致するエントリ数が１つ、２つとなることから、３つのデータベースの検索完了時点でＣＯＮＴ＿ＮＵＭは６となる。
【００６３】
この例において（図１２参照）、ステップＳ７０２の復号鍵数算出処理では、復号鍵ＤＢ２１内のソートＮｏ．１から４の全てのエントリに対して順にコンテンツＩＤを参照し、コンテンツＩＤに含まれる種別が対象種別と一致するか否かを判定する。図１３の例と同様の処理により、本データベース内に含まれるエントリの内、対象種別が一致するエントリ数は３つであることから、ＫＥＹ＿ＮＵＭは３となる。
【００６４】
次に、ステップＳ７０３の処理において、ＣＯＮＴ＿ＮＵＭ（＝６）とＫＥＹ＿ＮＵＭ（＝３）を比較すると、ＣＯＮＴ＿ＮＵＭの方が大きいことから、ステップＳ７０４の処理に進み、ベースＤＢを復号鍵ＤＢに設定する。すなわち、ＢＡＳＥ＿ＤＢはＫＥＹとなる。
【００６５】
最後にステップＳ７０６のＩＤ比較処理において、復号鍵を含むデータベースをベースＤＢとしてＩＤ比較を行う。最初に復号鍵ＤＢ２１のソートＮｏ．１のエントリに対してコンテンツＩＤを参照し、対象種別と比較する。図１２の例では、コンテンツＩＤ内の４バイト目の値が「０１」（０ｘ０１、（Ａｕｄｉｏコンテンツ））であることから、対象種別が一致したと判定する。次に、暗号化コンテンツＤＢ１２１、外部暗号化コンテンツＤＢ３（＃１）、外部暗号化コンテンツＤＢ３（＃２）を参照し、復号鍵ＤＢ２１のソートＮｏ．１のコンテンツＩＤ（＝０ｘ１０１８３４０１・・・）に一致するコンテンツＩＤを持つエントリを検索する。図１３の例では、検索の結果、暗号化コンテンツＤＢ１２１内のソートＮｏ．２のエントリが同一のコンテンツＩＤを有するため、このコンテンツに関する情報を有効コンテンツリストに追加する。有効コンテンツリストの例を図１４に示す。有効コンテンツリスト内の復号鍵に関する情報として、ＤＢ（データベース）名に“復号鍵ＤＢ”が、復号鍵エントリＮｏ．に“２”がそれぞれ格納される。また、暗号化コンテンツに関する情報として、ＤＢ名に“暗号化コンテンツＤＢ”が、ファイルＮｏ．に“２”がそれぞれ格納される。更にコンテンツに関する情報として、コンテンツＩＤに“０ｘ１０１８３４０１・・・”が、タイトル名に“ＢＢＢＢＢ”が格納される。なお、コンテンツに関する情報として、コンテンツＩＤ、タイトル名以外の情報も格納される。
【００６６】
以下、同様の処理を復号鍵ＤＢ２１のソートＮｏ．２、３、４のエントリに対して順次実施する。但し、ソートＮｏ．２のエントリはコンテンツＩＤの対象種別が一致しないことから、暗号化コンテンツＤＢ１２１、外部暗号化コンテンツＤＢ３の検索は行わない。上記処理により、結果として図１４のような有効コンテンツリストが作成され、表示部１７に各コンテンツに関する情報が表示される。
【００６７】
この例において、ベースＤＢ（ＢＡＳＥ＿ＤＢ）として、暗号化コンテンツＤＢ３ａ、３ｂ、１２１よりもエントリ数が少ない復号鍵ＤＢ２１（ＫＥＹ）を設定することにより、ステップＳ７０６の比較処理のループ数が３回となり、ベースＤＢを暗号化コンテンツＤＢ３ａ、３ｂ、１２１とした場合よりも高速に対応関係検索処理を実施することが可能となる。
【００６８】
エントリ数が少ない方のデータベースをベースＤＢに設定することは、例えば、データベース内のソートされたエントリを元に二分探索をして所望のコンテンツＩＤと一致するものが存在するか否かを確認する場合に有効である。有効エントリ数の少ない方の有効エントリ数をＭ、大きい方のエントリ数をＮとし、ステップＳ１１０５の確認処理において二分探索を行う場合、比較処理に要する時間はＯ（Ｍｌｏｇ2Ｎ）となる。このことから、有効エントリ数の少ない方をベースＤＢとした方が高速に対応関係検索処理を実施することができることが理解できる。
【００６９】
また、本発明の実施の形態１におけるコンテンツ検索装置１は、暗号化コンテンツを格納したデータベース及び復号鍵を格納したデータベースのそれぞれにおいて、コンテンツ種別が対象種別と一致するエントリ（有効エントリ）の数（ＣＯＮＴ＿ＮＵＭ、ＫＥＹ＿ＮＵＭ）を算出し、有効エントリ数の少ない方をベースＤＢに設定し、そのベースＤＢ内に含まれる各エントリに対応するエントリを他方のデータベースから検索する。このように、コンテンツ種別により処理対象のコンテンツにフィルタをかけることで、より高速に暗号化コンテンツと復号鍵の対応関係（組み合わせ）の検索を実施することが可能となる。なお、暗号化コンテンツを格納したデータベース及び復号鍵を格納したデータベースのそれぞれにおいて、全エントリ数を算出し、それぞれの全エントリ数に基づいてベースＤＢを設定してもよい。
【００７０】
１．６  変形例
本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の実施の形態１において説明した各種の数値は一例であり、その他の値に変更しても良い。例えば、コンテンツＩＤは必ずしも図８の形式を取る必要はなく、サイズも１６バイトである必要はない。なお、コンテンツＩＤの生成は、例えば、少なくとも平文復号鍵やコンテンツが暗号化され、復号鍵や暗号化コンテンツとなる際に生成・付加されればよい。
【００７１】
また、復号鍵ＤＢ２１がリムーバブル記録媒体２に、暗号化コンテンツＤＢ１２１が内部記録装置１２に、その他のＤＢが外部記録装置にそれぞれ配置される構成について説明したが、その他の構成を取っても良い。例えば復号鍵ＤＢ２１がコンテンツ検索装置１内部の記録装置内に存在していても良いし、外部暗号化コンテンツＤＢ３、外部復号鍵ＤＢ４は存在しなくても良い。
【００７２】
また、コンテンツＩＤの４バイト目にコンテンツ種別を識別する情報が格納される例について示したが、コンテンツ種別を識別する情報を他の形式で格納しても良い。例えば、図１５に示すようにコンテンツＩＤの先頭に格納してもよい。この場合、ソートファイル５１、６１内で対象種別のエントリが格納されている位置が固定されるため、更に検索効率が向上する。また、図１６に示すように復号鍵ＤＢ２１、暗号化コンテンツＤＢ１２１におけるソートファイル５１、６１内に、コンテンツＩＤとは独立した情報として“種別”を格納しても良い。
【００７３】
また、図１７に示すように復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１をコンテンツの種別毎に独立して用意しても良い。データベースを独立させる方法としては、例えばデータベース内の各種ファイルをＡｕｄｉｏ専用ディレクトリ、Ｖｉｄｅｏ専用ディレクトリ等の別々のディレクトリに格納したり、データベース内のソートファイル５１、６１を“ＡＵＤＩＯ．ＳＯＴ”、“ＶＩＤＥＯ．ＳＯＴ”等のように種別毎に作成したりする等の方法がある。このようにデータベースを独立させた場合、対象種別に対する比較が不要となり検索効率が向上する。
【００７４】
また、鍵分離型コンテンツ管理方法の一例としてソートファイル５１、６１を用いる方法について説明したが、必ずしもソートファイル５１、６１を用いる必要はなく、単に復号鍵ファイル５２、暗号化コンテンツファイル６２しか存在しない構成において、本方式を適用しても良い。
【００７５】
また、対象ＤＢに含まれる暗号化コンテンツ、復号鍵の大多数が検索対象のコンテンツ種別である場合は、ステップＳ７０１、Ｓ７０２の暗号化コンテンツ数算出処理、復号鍵数算出処理において対象種別のチェックを実施すると逆に対応関係検索処理の処理時間が長くなる可能性がある。このことから、ステップＳ７０１、Ｓ７０２の処理において対象種別のチェック処理を割愛しても良い。この場合、単純に各ＤＢ内に含まれるエントリ数をＣＯＮＴ＿ＮＵＭ、ＫＥＹ＿ＮＵＭとして算出し、ステップＳ７０３の比較処理に使用する。
【００７６】
また、データベース内にエントリ数の情報を保持しない場合の例について説明したが、図１８に示すように、エントリ数を保持するＤＢに対して適用しても良い。この場合、ステップＳ７０１、Ｓ７０２の暗号化コンテンツ数算出処理、復号鍵数算出処理において全データベースを検索して数値を算出する必要がなく、単にデータベースが保持しているエントリ数を参照するのみで良いため、更に検索効率が向上する。また、保持するエントリ数は、全コンテンツ種別を含むエントリ数としても良いし、コンテンツ種別毎個別のエントリ数としても良い。
【００７７】
（実施の形態２）
２．１  構成
図１９は本発明の実施の形態２におけるコンテンツ検索装置の構成図である。図１９に示す構成は、コンテンツ検索装置１内に外部記録装置Ｉ／Ｆ１１、基準ＤＢ決定部１５が存在せず、コンテンツ検索装置１外部の外部暗号化コンテンツＤＢ３、外部復号鍵ＤＢ４が存在しない点が図１に示す構成と異なる。すなわち、実施の形態２では、検索対象とするデータベースは復号鍵ＤＢ２１と暗号化コンテンツＤＢ１２１の２つしか存在しない場合を想定しており、ベースＤＢの決定も行わない。また、復号鍵ＤＢ２１と暗号化コンテンツＤＢ１２１の構成は、図３、図４と同様の構成とする。更にコンテンツＩＤの形式は図８と同様の構成とする。
【００７８】
２．２  再生フロー
実施の形態２におけるコンテンツ再生処理のフローは基本的に図５に示すものと同様であるが、実施の形態１とはステップＳ５０２の対応関係検索処理が異なる。以下、図２０を用いて実施の形態２における対応関係検索処理について説明する。
【００７９】
２．３  対応関係検索処理
図２０を参照し、本実施形態の対応関係検索処理では、まず、検索位置を初期化する（Ｓ２００１）。検索位置はデータベース毎に個別に存在する。ここでは復号鍵ＤＢ２１の検索位置を示す変数としてＫＥＹ＿ＰＯＳ、暗号化コンテンツＤＢ１２１の検索位置を示す変数としてＣＯＮＴ＿ＰＯＳを使用する。ステップＳ２００１では、初期値として、ＫＥＹ＿ＰＯＳ、ＣＯＮＴ＿ＰＯＳそれぞれに“１”を設定する。
【００８０】
次に、復号鍵ＤＢ２１内のエントリを順に参照し、対象種別が一致するエントリまでスキップする（Ｓ２００２）。具体的には、復号鍵ＤＢ２１のソートファイル５１を参照し、ソートＮｏ．がＫＥＹ＿ＰＯＳと同じ値であるエントリに含まれるコンテンツＩＤを取得する。そのコンテンツＩＤに含まれるコンテンツ種別が現在検索対象としている種別と一致している場合、スキップ処理を終了し、次のステップに進む。種別が一致していなかった場合、ＫＥＹ＿ＰＯＳに１だけ加算し、復号鍵ＤＢ２１のソートファイル５１内のソートＮｏ．がＫＥＹ＿ＰＯＳと同じ値であるエントリに対して同様の処理を、種別が一致するエントリを取得するまで繰り返し実施する。
【００８１】
次に、現在参照しているエントリのコンテンツＩＤ（ＩＤ＿Ａ）を取得する（Ｓ２００３）。同様に、暗号化コンテンツＤＢ１２１内のエントリを順に参照し、対象種別が一致するまでエントリをスキップし、コンテンツＩＤ（ＩＤ＿Ｂ）を取得する（Ｓ２００４、Ｓ２００５）。
【００８２】
次に、ここまでの処理で、復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１の終端まで検索が完了したか否かを判定する（Ｓ２００６）。検索が完了している場合、処理を終了する。検索が完了していない場合、ＩＤ＿ＡとＩＤ＿Ｂを比較する（Ｓ２００７）。それらの値が一致する場合、有効コンテンツを発見したため、有効コンテンツリストに、復号鍵エントリＮｏ．、タイトル名等の情報を追加し、ＫＥＹ＿ＰＯＳとＣＯＮＴ＿ＰＯＳにそれぞれ１だけ加算して検索位置を更新し、ステップＳ２００２の処理に戻る（Ｓ２００８、Ｓ２００９）。
【００８３】
一方、ステップＳ２００７の処理において値が一致しない場合、ＩＤ＿ＡとＩＤ＿Ｂの大小関係を判定する（Ｓ２０１０）。ＩＤ＿ＡがＩＤ＿Ｂよりも大きい場合、ＩＤ＿ＢがＩＤ＿Ａの値以上になるまで、暗号化コンテンツＤＢ１２１内のエントリをスキップし（Ｓ２０１１）、ステップＳ２００２の処理に戻る。具体的には、暗号化コンテンツＤＢ１２１内のソートファイル６１を参照し、ソートＮｏ．がＣＯＮＴ＿ＰＯＳと同じ値であるエントリから順にコンテンツＩＤを読み出し、ＩＤ＿Ａの値以上になるまでＣＯＮＴ＿ＰＯＳに１だけ加算しながら順にコンテンツＩＤを検索する。同様に、ＩＤ＿ＡがＩＤ＿Ｂよりも小さい場合、ＩＤ＿ＡがＩＤ＿Ｂの値以上になるまで、復号鍵ＤＢ２１内のエントリをスキップし（Ｓ２０１２）、ステップＳ２００２の処理に戻る。
【００８４】
以上の処理により、復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１から対応する暗号化コンテンツと復号鍵のリストを検索し、表示部１７に表示することが可能となる。
【００８５】
２．３．１  対応関係検索処理の具体例
続いて図２１及び図２２を用いて、本発明の実施の形態２における対応関係検索処理の一例を説明する。図２１は、復号鍵ＤＢ２１に４つのエントリが格納されている例を示している。図２２は、暗号化コンテンツＤＢ１２１に８つのエントリが格納されている例を示している。またデータベースの左端の丸印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＡｕｄｉｏコンテンツに関するエントリであることを意味し、三角印は、それが付加されたエントリが、暗号化コンテンツ及び復号鍵の両方が存在しているＶｉｄｅｏコンテンツに関するエントリであることを意味している。ここでは、図２１、２２の例において、対象種別として０ｘ０１（Ａｕｄｉｏコンテンツ）を検索する場合の例を説明する。
【００８６】
この例における対応関係検索処理では、最初に復号鍵ＤＢ２１のソートファイル５１のソートＮｏ．１のエントリに対してコンテンツＩＤを参照し、対象種別と比較する。図２１を参照し、復号鍵ＤＢ２１においてソートファイル５１のソートＮｏ．１のエントリのコンテンツＩＤの４バイト目の値が「０１」（＝０ｘ０１（Ａｕｄｉｏコンテンツ））であることから、対象種別が一致したと判定し、コンテンツＩＤ（＝０ｘ１０１８３４０１・・・）をＩＤ＿Ａとして取得する。
【００８７】
次に暗号化コンテンツＤＢ１２１のソートＮｏ．１のエントリに対してコンテンツＩＤを参照し、対象種別と比較する。図２２を参照し、暗号化コンテンツＤＢ１２１においてソートＮｏ．１のエントリのコンテンツＩＤの４バイト目の値が「０１」（＝０ｘ０１（Ａｕｄｉｏコンテンツ））であることから、対象種別が一致したと判定し、コンテンツＩＤ（＝０ｘ１０１１ＢＤ０１・・・）をＩＤ＿Ｂとして取得する。
【００８８】
次にＩＤ＿ＡとＩＤ＿Ｂを比較すると、ＩＤ＿Ａの方が大きいため、ＣＯＮＴ＿ＰＯＳに１を加算し、暗号化コンテンツＤＢ１２１のソートファイル６１内の各エントリを検索し、コンテンツＩＤがＩＤ＿Ａ以上になるまで繰り返し実施する。具体的にはＣＯＮＴ＿ＰＯＳ＝２となった時点でコンテンツＩＤがＩＤ＿Ａと同一となるため、スキップを中止し、対象種別の判定に移る。ＩＤ＿Ａ及びＩＤ＿Ｂ（＝０ｘ１０１８３４０１・・・）のコンテンツ種別は共に「０１」（＝０ｘ０１）であり、また両者の値が一致することから、有効コンテンツを取得できたと判定し、このコンテンツに関する情報を有効コンテンツリストに追加する。
【００８９】
次に、ＫＥＹ＿ＰＯＳ＝２、ＣＯＮＴ＿ＰＯＳ＝３に更新し、処理ループの先頭付近に戻り、処理を継続する。図２１を参照すると、ＫＥＹ＿ＰＯＳ＝２に対応するエントリのコンテンツＩＤ（０ｘ１０７ＦＢ３０２・・・）の４バイト目は「０２」であり、対象種別とは異なるためスキップする。ＫＥＹ＿ＰＯＳ＝３に対応するエントリに含まれるコンテンツＩＤ（＝０ｘ８３４７６５０１・・・）は種別が一致するため、このコンテンツＩＤをＩＤ＿Ａとして取得する。
【００９０】
また、図２２を参照し、ＣＯＮＴ＿ＰＯＳ＝３に対応するエントリのコンテンツＩＤは０ｘ１０５４Ｂ２０１・・・であり、対象種別が一致するため、このコンテンツＩＤをＩＤ＿Ｂとして取得する。
【００９１】
次にＩＤ＿ＡとＩＤ＿Ｂを比較すると、ＩＤ＿Ａの方が大きいため、ＣＯＮＴ＿ＰＯＳに１を加算し、暗号化コンテンツＤＢ１２１のソートファイル６１内の各エントリを検索し、コンテンツＩＤがＩＤ＿Ａ以上になるまで繰り返し実施する。具体的にはＣＯＮＴ＿ＰＯＳ＝６となるまでスキップし、ＩＤ＿ＢとしてこのコンテンツＩＤ（＝０ｘ８３４７６５０１・・・）を取得する。ＩＤ＿Ａ及びＩＤ＿Ｂ（＝０ｘ８３４７６５０１・・・）のコンテンツ種別は共に０ｘ０１（Ａｕｄｉｏコンテンツ）であり、また両者の値が一致することから、有効コンテンツを取得できたと判定し、このコンテンツに関する情報を有効コンテンツリストに追加する。
【００９２】
次に、ＫＥＹ＿ＰＯＳ＝４、ＣＯＮＴ＿ＰＯＳ＝７に更新し、処理ループの先頭付近に戻り、処理を継続する。図２１を参照し、ＫＥＹ＿ＰＯＳ＝４に対応するエントリのコンテンツＩＤは０ｘ８３５８６５０１・・・であり、対象種別が一致するためこのコンテンツＩＤをＩＤ＿Ａとして取得する。また、図２２を参照し、ＣＯＮＴ＿ＰＯＳ＝７に対応するエントリのコンテンツＩＤは０ｘ８３５８６５０１・・・であり、対象種別が一致するためこのコンテンツＩＤをＩＤ＿Ｂとして取得する。ＩＤ＿Ａ及びＩＤ＿Ｂ（＝０ｘ８３５８６５０１・・・）のコンテンツ種別は共に０ｘ０１（Ａｕｄｉｏコンテンツ）であり、また両者の値が一致することから、有効コンテンツを取得できたと判定し、このコンテンツに関する情報を有効コンテンツリストに追加する。
【００９３】
次に、ＫＥＹ＿ＰＯＳ＝５、ＣＯＮＴ＿ＰＯＳ＝８に更新し、処理ループの先頭付近に戻り、処理を継続するが、ここで復号鍵ＤＢ２１は既に全エントリの検索を完了しているため、有効コンテンツリストに格納された情報を表示部１７に表示し、処理を終了する。
【００９４】
以上のように、本発明の実施の形態２におけるコンテンツ検索装置１は、暗号化コンテンツＤＢ１２１、復号鍵ＤＢ２１にそれぞれソートされた状態で格納された暗号化コンテンツ及び復号鍵の情報を検索し、両者間の対応関係（組み合わせ）を検索する際に、現在参照している暗号化コンテンツのコンテンツＩＤと復号鍵のコンテンツＩＤを比較し、小さい方の値が大きい方の値となるまでＤＢ内のエントリをスキップする。これにより、無駄なＩＤ比較を削減し、高速に暗号化コンテンツと復号鍵間の対応関係検索を実施することが可能となる。
【００９５】
２．４  変形例
本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の実施の形態２において説明した各種の数値は一例であり、その他の値に変更しても良い。例えば、コンテンツＩＤは必ずしも図８の形式を取る必要はなく、サイズも１６バイトである必要はない。
【００９６】
また、復号鍵ＤＢ２１がリムーバブル記録媒体２に、暗号化コンテンツＤＢ１２１が内部記録装置１２にそれぞれ配置される構成について説明したが、その他の構成を取っても良い。例えば復号鍵ＤＢ２１がコンテンツ検索装置１内部の記録装置内に存在していても良い。
【００９７】
また、コンテンツＩＤの４バイト目にコンテンツ種別を識別する情報が格納される例について示したが、他の形式で格納しても良い。例えば、図１５のようにコンテンツＩＤ先頭に格納した場合、ソートファイル５１、６１内で対象種別のエントリが格納されている位置が固定されるため、更に検索効率が向上する。また、図１６のように復号鍵ＤＢ２１、暗号化コンテンツＤＢ１２１におけるソートファイル５１、６１内に、コンテンツＩＤとは独立した情報として“種別”を格納しても良い。
【００９８】
また、図１７のように復号鍵ＤＢ２１及び暗号化コンテンツＤＢ１２１をコンテンツの種別毎に独立して用意しても良い。データベースを独立させる方法としては、例えばデータベース内の各種ファイルをＡｕｄｉｏ専用ディレクトリ、Ｖｉｄｅｏ専用ディレクトリ等の別々のディレクトリに作成し格納したり、データベース内のソートファイル５１、６１を“ＡＵＤＩＯ．ＳＯＴ”、“ＶＩＤＥＯ．ＳＯＴ”等のように種別毎に作成する等の方法がある。このようにデータベースを独立させた場合、対象種別に対する比較が不要となり検索効率が向上する。
【００９９】
また、データベース内にエントリ数を保持しない場合の例について説明したが、図１８のように、エントリ数を保持するＤＢに対して適用しても良い。また、保持するエントリ数は、全コンテンツ種別を含むエントリ数としても良いし、コンテンツ種別毎個別のエントリ数としても良い。
【産業上の利用可能性】
【０１００】
本発明に係るコンテンツ検索装置は、鍵分離型コンテンツ管理方法により管理された暗号化コンテンツと復号鍵に対して二者間の対応関係を検索する場合に、両者の有効エントリ数が少ない方をベースとしてＩＤ比較を行う。これにより、高速に暗号化コンテンツと復号鍵の対応関係（組み合わせ）を検索することが可能となる。このようなコンテンツ検索装置は、鍵分離型コンテンツ管理方法に対応したＰＣアプリケーション、ＤＶＤレコーダ、ＨＤＤレコーダ、デジタルオーディオプレーヤ、デジタルテレビ、デジタルスチルカメラ等として利用することができる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施の形態１におけるコンテンツ検索装置の構成を示した図
【図２】本発明の実施の形態１における鍵分離型コンテンツ管理方法のコンテンツ格納例を示した図
【図３】本発明の実施の形態１における復号鍵ＤＢの構成を示した図
【図４】本発明の実施の形態１における暗号化コンテンツＤＢの構成を示した図
【図５】本発明の実施の形態１におけるコンテンツ再生処理を示したフローチャート
【図６】本発明の実施の形態１におけるコンテンツ再生処理時の表示例を示した図
【図７】本発明の実施の形態１における対応関係検索処理を示したフローチャート
【図８】本発明の実施の形態１におけるコンテンツＩＤの構成を示した図
【図９】本発明の実施の形態１における暗号化コンテンツ数算出処理を示したフローチャート
【図１０】本発明の実施の形態１における復号鍵数の算出処理を示したフローチャート
【図１１】本発明の実施の形態１におけるＩＤ比較処理を示したフローチャート
【図１２】本発明の実施の形態１における復号鍵ＤＢの一例を示した図
【図１３】本発明の実施の形態１における暗号化コンテンツＤＢの一例を示した図
【図１４】本発明の実施の形態１における有効コンテンツリストの一例を示した図
【図１５】本発明の実施の形態１におけるコンテンツＩＤの別の構成を示した図
【図１６】本発明の実施の形態１における復号鍵ＤＢの別の構成を示した図
【図１７】本発明の実施の形態１における復号鍵ＤＢ及び暗号化コンテンツＤＢの別の構成を示した図
【図１８】本発明の実施の形態１における復号鍵ＤＢ及び暗号化コンテンツＤＢのさらに別の構成を示した図
【図１９】本発明の実施の形態２におけるコンテンツ検索装置の構成を示した図
【図２０】本発明の実施の形態２における対応関係検索処理を示したフローチャート
【図２１】本発明の実施の形態２における復号鍵ＤＢの一例を示した図
【図２２】本発明の実施の形態２における暗号化コンテンツＤＢの一例を示した図
【符号の説明】
【０１０２】
１    コンテンツ検索装置
２    リムーバブル記録媒体
３    外部暗号化コンテンツＤＢ
４    外部復号鍵ＤＢ
１１    外部記録装置Ｉ／Ｆ
１２    内部記録装置
１３    リムーバブル記録媒体Ｉ／Ｆ
１４    ＤＢアクセス部
１５    基準ＤＢ決定部
１６    ＩＤ比較部
１７    表示部
２１    復号鍵ＤＢ
５１    復号鍵ＤＢ内ソートファイル
５２    復号鍵ＤＢ内復号鍵ファイル
５３    復号鍵ＤＢ内ＤＢ管理ファイル
６１    暗号化コンテンツＤＢ内ソートファイル
６２    暗号化コンテンツＤＢ内暗号化コンテンツファイル
６３    暗号化コンテンツＤＢ内ＤＢ管理ファイル
７１    メニューリスト
７２    Ａｕｄｉｏコンテンツリスト
１２１    暗号化コンテンツＤＢ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007119324.tif 000025
【図２】
2007119324.tif 000026
【図３】
2007119324.tif 000027
【図４】
2007119324.tif 000028
【図５】
2007119324.tif 000029
【図６】
2007119324.tif 000030
【図７】
2007119324.tif 000031
【図８】
2007119324.tif 000032
【図９】
2007119324.tif 000033
【図１０】
2007119324.tif 000034
【図１１】
2007119324.tif 000035
【図１２】
2007119324.tif 000036
【図１３】
2007119324.tif 000037
【図１４】
2007119324.tif 000038
【図１５】
2007119324.tif 000039
【図１６】
2007119324.tif 000040
【図１７】
2007119324.tif 000041
【図１８】
2007119324.tif 000042
【図１９】
2007119324.tif 000043
【図２０】
2007119324.tif 000044
【図２１】
2007119324.tif 000045
【図２２】
2007119324.tif 000046
【国際調査報告】
2007119324.tif 000047
2007119324.tif 000048