(57)【特許請求の範囲】
【請求項１】
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、
暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを復号するステップと、
を含み、コンピュータにより実行されるコンテンツ管理方法。
【請求項２】
前記特定のコンテンツを編集することにより作成された新たなコンテンツのデータの入力を受け付けた場合、前記記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出するステップと、
抽出された前記グループ鍵と前記新たなコンテンツの識別情報とを用いて、前記新たなコンテンツ用の暗号鍵を生成するステップと、
前記新たなコンテンツ用の暗号鍵を用いて、前記新たなコンテンツを暗号化するステップと、
をさらに含む、請求項１記載のコンテンツ管理方法。
【請求項３】
前記抽出ステップが、
前記特定のコンテンツが属する前記グループの識別子を含む前記ライセンス・データが前記記憶装置に格納されているか判断し、前記特定のコンテンツが属する前記グループの識別子を含む前記ライセンス・データが前記記憶装置に格納されていない場合、前記特定のコンテンツが属する前記グループの識別子を含むライセンス要求を、前記ライセンス・データを管理するライセンス・サーバに送信するステップと、
前記ライセンス要求に対するライセンス認証が成功した場合に前記ライセンス・サーバから送信される前記ライセンス・データを受信し、前記記憶装置に格納するステップと、
を含む、請求項１又は２記載のコンテンツ管理方法。
【請求項４】
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、
特定のグループに属する特定のコンテンツのデータの入力を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のグループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを暗号化するステップと、
を含み、コンピュータにより実行されるコンテンツ管理方法。
【請求項５】
グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置と、
暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、前記記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出部と、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成する暗号鍵生成部と、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを復号する復号部と、
を有するコンテンツ利用端末。
【請求項６】
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理プログラムであって、
暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを復号するステップと、
をコンピュータに実行させるためのコンテンツ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツ（例えば、文書、音楽、写真、動画など）の管理技術に関する。
【背景技術】
【０００２】
例えばインターネット上で流通するコンテンツ（例えば、文書、音楽、写真、動画など）の利用や複製を制限するための技術として、デジタル著作権管理（ＤＲＭ：Digital Rights Management）が知られている。このＤＲＭ技術の一例を図１に示す。図１の例では、インターネット上で流通するコンテンツは暗号化されており、利用者は、ライセンス・サーバからライセンス・データ（暗号鍵など）を取得することで、コンテンツを閲覧・再生することができるようになっている。すなわち、ライセンスを持つユーザのみがコンテンツを閲覧・再生できるようになっており、これにより情報漏洩防止を図っている。
【０００３】
ところで、一般的なＤＲＭでは、コンテンツの編集や再利用は禁止されているが、コンテンツの編集を認めたいという要望もある。例えば、この要望を実現するには図２に示すように編集後のコンテンツを暗号化するなどして、編集後のコンテンツの情報漏洩を防止する必要がある。
【０００４】
なお、編集作業などによりファイルが更新された場合に、更新後のファイルを自動的に暗号化する技術（例えば特許文献１記載の技術など）が従来から存在している。しかし、編集前のファイルと編集後のファイルとは異なったファイルであるにもかかわらず、同じ暗号鍵を用いて暗号化するようになっている。この場合、同じ暗号鍵を使い続けると第三者に暗号鍵が漏れてしまう可能性があり、コンテンツの情報漏洩が生ずる可能性もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３４５４４号公報
【特許文献２】特開２００５−１２３６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方で、例えば編集前のコンテンツと編集後のコンテンツを別々の暗号鍵で暗号化するには、編集される度に、編集後のコンテンツの暗号化に用いた暗号鍵を含むライセンス・データをライセンス・サーバに登録しなければならない。また、利用者が編集後のコンテンツを閲覧・再生するには、編集前のコンテンツのライセンス・データを既に取得している場合にも、別途、編集後のコンテンツのライセンス・データをライセンス・サーバから取得しなければならない。すなわち、ライセンス管理のための処理負荷が大きくなってしまうという問題があった。
【０００７】
従って、本技術の目的は、コンテンツを利用するのにライセンスが必要とされる場合においてライセンス管理のための処理負荷を軽減するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本コンテンツ管理方法は、利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において特定のコンテンツが属するグループの識別子に対応付けて格納されているライセンス・データから、グループ鍵を抽出する抽出ステップと、抽出されたグループ鍵と特定のコンテンツの識別情報とを用いて、特定のコンテンツ用の暗号鍵を生成するステップと、特定のコンテンツ用の暗号鍵を用いて、特定のコンテンツを復号するステップとを含む。
【発明の効果】
【０００９】
コンテンツを利用するのにライセンスが必要とされる場合においてライセンス管理のための処理負荷を軽減するための技術を提供することである。
【図面の簡単な説明】
【００１０】
【図１】図１は、従来のＤＲＭ技術の一例を示す図である。
【図２】図２は、従来技術の問題点を説明するための図である。
【図３】図３は、従来技術の問題点を説明するための図である。
【図４】図４は、本技術の実施の形態における概要を説明するための図である。
【図５】図５は、本技術の実施の形態に係るシステム構成図である。
【図６】図６は、本実施の形態におけるクライアント端末の機能ブロック図である。
【図７】図７は、ユーザ管理ＤＢに格納されるデータの一例を示す図である。
【図８】図８は、アクセス権管理ＤＢに格納されるデータの一例を示す図である。
【図９】図９は、鍵管理ＤＢに格納されるデータの一例を示す図である。
【図１０】図１０は、コンテンツの識別情報の構成例を示す図である。
【図１１】図１１は、コンテンツの識別情報の具体例を示す図である。
【図１２】図１２は、ライセンス・データの構成例を示す図である。
【図１３】図１３は、ライセンス・データの第１の具体例を示す図である。
【図１４】図１４は、グループ登録時・コンテンツ作成時の処理フローを示す図である。
【図１５】図１５は、グループ登録処理の処理フローを示す図である。
【図１６】図１６は、コンテンツ閲覧時の処理フローを示す図である。
【図１７】図１７は、コンテンツ編集時の処理フローを示す図である。
【図１８】図１８は、同一グループに属するコンテンツの暗号鍵の生成方法を説明するための図である。
【図１９】図１９は、サーバにおけるグループ鍵削除処理の処理フローを示す図である。
【図２０】図２０は、クライアント端末におけるライセンス・データ削除処理の処理フローを示す図である。
【図２１】図２１は、アクセス権管理ＤＢに格納されるデータの一例を示す図である。
【図２２】図２２は、鍵管理ＤＢに格納されるデータの一例を示す図である。
【図２３】図２３は、ライセンス・データの第２の具体例をである。
【図２４】図２４は、コンテンツ作成時の処理フローを示す図である。
【図２５】図２５は、コンテンツ閲覧時の処理フローを示す図である。
【図２６】図２６は、コンテンツ編集時の処理フロー（第１の部分）を示す図である。
【図２７】図２７は、コンテンツ編集時の処理フロー（第２の部分）を示す図である。
【図２８】図２８は、サーバにおける暗号鍵削除処理の処理フローを示す図である。
【図２９】図２９は、クライアント端末におけるライセンス・データ削除処理の処理フローを示す図である。
【図３０】図３０は、コンピュータの機能ブロック図である。
【図３１】図３１は、第１の態様に係るコンテンツ管理方法の処理フローを示す図である。
【図３２】図３２は、第２の態様に係るコンテンツ管理方法の処理フローを示す図である。
【図３３】図３３は、第３の態様に係るコンテンツ利用端末の機能ブロック図である。
【図３４】図３４は、第４の態様に係るコンテンツ利用端末の機能ブロック図である。
【発明を実施するための形態】
【００１１】
例えばＤＲＭにおいてコンテンツの編集を実現するために、編集前のコンテンツと編集後のコンテンツを別々の暗号鍵で暗号化することが考えられる。しかし、この場合、編集後のコンテンツを利用可能な状態にするためには、図３に示すように、編集後のコンテンツの暗号化に用いた暗号鍵を含むライセンス・データをライセンス・サーバに登録する必要がある。また、利用者も、編集後のコンテンツを利用するには、編集前のコンテンツのライセンス・データとは別に、編集後のコンテンツのライセンス・データをライセンス・サーバから取得する必要がある。このように、編集される度にライセンス・データを登録したり、また利用者がライセンス・データを取得したりするとなると、ライセンス・サーバの処理負荷が大きくなってしまう。
【００１２】
そこで、本実施の形態では、グループ単位で、そのグループに属するコンテンツの暗号鍵を生成するためのグループ鍵とアクセス権情報などを含むライセンス・データをライセンス・サーバに登録するようにする。そして、コンテンツの暗号化・復号化には、図４に示すように、そのコンテンツが属するグループのライセンス・データに含まれるグループ鍵とコンテンツの識別情報とから生成された暗号鍵を用いるようにする。例えば、編集前のコンテンツと編集後のコンテンツとが同じグループに属するようにすれば、同じライセンス・データに含まれるグループ鍵を用いて編集前後で別々の暗号鍵を生成することができるようになる。すなわち、編集される度にライセンス・データを登録したり、また利用者がライセンス・データを取得したりする必要はない。以下、本技術の実施の形態について説明する。
【００１３】
図５に、本技術の実施の形態におけるシステム構成図を示す。図５では、例えばインターネットであるネットワーク１には、ライセンス・データを管理するサーバ３と、コンテンツ利用者により操作されるクライアント端末５（図５では５Ａ及び５Ｂ）とが接続されている。なお、図５では、サーバ３が１台、クライアント端末５が２台の例を示しているが、サーバ３が２台以上の場合もあれば、クライアント端末５が３台以上の場合もある。
【００１４】
サーバ３は、認証部３１と、ライセンス配信部３２と、グループ管理部３３と、ユーザ管理ＤＢ３４と、アクセス権管理ＤＢ３５と、鍵管理ＤＢ３６とを有する。認証部３１は、ユーザ管理ＤＢ３４に格納されているデータを用いて認証処理を行う。ライセンス配信部３２は、ユーザ管理ＤＢ３４とアクセス権管理ＤＢ３５と鍵管理ＤＢ３６とに格納されているデータを用いて、ライセンス・データの配信などの処理を実施する。グループ管理部３３は、例えば管理者から新たなグループの登録指示があった場合に、新たなグループのグループ鍵を鍵管理ＤＢ３６に登録したり、アクセス権情報をアクセス権管理ＤＢ３５に登録したりする。なお、ユーザ管理ＤＢ３４、アクセス権管理ＤＢ３５及び鍵管理ＤＢ３６に格納されるデータについては後で説明する。
【００１５】
図６に、図５に示したクライアント端末５の機能ブロック図を示す。クライアント端末５は、アプリケーション５１と、暗号／復号部５２と、ファイルシステム５３と、送受信部５４と、ライセンス管理部５５と、コンテンツ識別情報生成部５６と、暗号鍵生成部５７と、ライセンス取得部５８と、ライセンスキャッシュ５９と、認証部６０とを有する。例えばライセンス管理部５５は、暗号／復号部５２、コンテンツ識別情報生成部５６、暗号鍵生成部５７、ライセンス取得部５８及び認証部６０の各処理部に処理を行うよう指示したり、ライセンスキャッシュ５９に格納されているデータを管理したりする。認証部６０は、ライセンス管理部５５からの指示に応じて、認証情報をサーバ３に送信する。ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、サーバ３からライセンス・データを取得し、取得したライセンス・データをライセンス管理部５５に出力する。コンテンツ識別情報生成部５６は、ライセンス管理部５５からの指示に応じて、コンテンツの識別情報を生成するための処理を実施する。暗号鍵生成部５７は、ライセンス管理部５５からの指示に応じて、暗号鍵を生成するための処理を実施する。なお、暗号鍵生成部５７によって生成された暗号鍵は、ライセンス管理部５５を介して暗号／復号部５２に渡される。暗号／復号部５２は、暗号化されたコンテンツをファイルシステム５３から読み出し、暗号鍵を用いて復号化し、アプリケーション５１に出力する。そして、アプリケーション５１は、暗号／復号部５２が復号したコンテンツを表示装置に表示したり、再生したりする。また、アプリケーション５１は、ユーザによってコンテンツの作成・編集が行われた場合には、作成・編集されたコンテンツのデータを暗号／復号部５２に出力する。そして、暗号／復号部５２は、アプリケーション５１からコンテンツのデータを受け取ると、暗号鍵を用いて暗号化し、ファイルシステム５３に格納する。送受信部５４は、ファイルシステム５３に格納されているデータを他のクライアント端末に送信したり、他のクライアント端末から受信したデータをファイルシステム５３に格納したりする。
【００１６】
図７に、サーバ３のユーザ管理ＤＢ３４に格納されるデータの一例を示す。図７の例では、ユーザ管理ＤＢ３４には、ユーザＩＤとパスワードとが格納されるようになっている。ユーザ管理ＤＢ３４に格納されるデータは、認証処理に用いられる。
【００１７】
図８乃至図１３を用いてデータ構成について説明する。まず、図８にサーバ３のアクセス権管理ＤＢ３５に格納されるデータの一例を示す。図８の例では、アクセス権管理ＤＢ３５には、グループＩＤと、ユーザＩＤと、アクセス権（閲覧／編集／印刷）と、そのグループに属するコンテンツの有効期限とが格納されるようになっている。アクセス権の列には、閲覧、編集、印刷の各操作について、「許可（ＯＫ）」又は「禁止（ＮＧ）」が設定される。なお、図８の例では、閲覧、編集、印刷の操作の権限を設定するようになっているが、これは一例であって、その他の操作の権限を設定することも可能である。また、あるグループに対して、ユーザ毎に異なるアクセス権が設定される場合には、同じグループＩＤを含むレコードが、ユーザの数だけ登録される。但し、アクセス権が同じユーザについては、複数のユーザＩＤを１つのレコードにまとめて登録するような場合もある。
【００１８】
また、図９にサーバ３の鍵管理ＤＢ３６に格納されるデータの一例を示す。図９の例では、鍵管理ＤＢ３６には、グループＩＤとグループ鍵とが格納されるようになっている。
【００１９】
さらに、図１０にコンテンツの識別情報の構成例を示す。なお、コンテンツの識別情報は、コンテンツ識別情報生成部５６によって生成され、暗号化されたコンテンツと対応付けてファイルシステム５３に格納される。図１０の例では、コンテンツの識別情報には、保護対象コンテンツであるか否かを表すフラグなどを含むヘッダと、当該コンテンツに関連するライセンス・データを管理しているサーバ３のＩＤと、コンテンツが属するグループのＩＤと、コンテンツを作成するのに用いられたクライアント端末のＩＤと、作成者ＩＤと、作成時刻と、シリアル番号とが含まれる。なお、サーバＩＤには、例えばサーバの識別番号、ＵＲＬ（Uniform Resource Locator）又はＩＰ（Internet Protocol）アドレスなどが設定される。また、シリアル番号とは、例えばその作成者によって作成されたコンテンツに対して順番に振られる番号などである。例えば図１１にコンテンツの識別情報の具体例を示す。図１１において、「保護対象フラグＯｎ」は、保護対象コンテンツである旨を示している。図１１の例では、ユーザＩＤ「１２３」のユーザが、クライアント端末ＩＤ「Ｃ００２」のクライアント端末を用いて、２００９年７月７日１２時３４分に作成したコンテンツであることを示している。なお、シリアル番号には、「００１」が設定されている。さらに、図１１の例では、グループＩＤ「１２３４」に属するコンテンツであることを示しており、当該グループのライセンス・データは、サーバＩＤ「Ｓ００１」のサーバが管理していることを示している。なお、コンテンツの識別情報は、必ずしも図１０に示すような構成でなければならないわけではない。コンテンツ毎に異なるデータになるような構成であれば、他の構成を採用してもよい。
【００２０】
また、図１２にライセンス・データの構成例を示す。図１２の例では、ライセンス・データには、種別（コンテンツ／グループ）を表すフラグと、コンテンツ又はグループの識別情報と、暗号鍵又はグループ鍵と、アクセス権情報と、有効期限を表すデータと、依存関係データとが含まれる。例えば、種別がコンテンツであれば、コンテンツの識別情報（図１０）と暗号鍵とが含まれることになり、種別がグループであれば、グループの識別情報とグループ鍵とが含まれることになる。ここで、グループの識別情報とは、例えば保護対象コンテンツであるか否かを表すフラグなどを含むヘッダと、サーバＩＤと、グループＩＤとを含むデータである。また、依存関係データとは、種別がコンテンツのときに設定されるデータあり、そのコンテンツが他のコンテンツを編集することによって新たに生成されたものである場合に元のコンテンツを特定可能なデータである。なお、ライセンス・データは、アクセス権管理ＤＢ３５及び鍵管理ＤＢ３６に格納されているデータに基づいて生成され、サーバ３からクライアント端末５に発行される。そして、ライセンス・データは、クライアント端末５のライセンスキャッシュ５９に格納され、有効期限が切れた場合や、一定期間以上使用されなかった場合に、ライセンスキャッシュ５９から削除される。例えば図１３にライセンス・データの具体例を示す。なお、図１３は、種別がグループの場合の例を示している。図１３の例では、ユーザＡは、グループに属するコンテンツを閲覧することは許可（ＯＫ）されているが、編集及び印刷することは禁止（ＮＧ）されている。
【００２１】
次に図５に示したシステムの処理について説明する。まず、図１４及び図１５を用いて、グループ登録時及びコンテンツ作成時の処理について説明する。例えばシステムの管理者が、必要に応じて、サーバ３を操作して新たなグループの登録を指示する。この際、管理者は、新たなグループに係るアクセス権の情報などを入力する。なお、アクセス権について、最初は全て禁止（ＮＧ）にしておき、後で一部のユーザにのみ利用を許可するように設定する場合もある。そして、サーバ３のグループ管理部３３は、管理者からの指示に応じて、グループ登録処理を実施する（図１４：ステップＳ１）。グループ登録処理については図１５を用いて説明する。
【００２２】
まず、グループ管理部３３は、管理者から新たなグループに係るアクセス権の設定入力を受け付ける（図１５：ステップＳ８１）。そして、グループ管理部３３は、乱数を発生させるなどしてグループ鍵を生成し、グループＩＤに対応付けて鍵管理ＤＢ３６に格納する（ステップＳ８３）。なお、グループ管理部３３が、グループを特定可能なユニークな番号をグループＩＤとして割り当てる。なお、管理者にグループＩＤを指定させるような構成も可能であり、その場合には、指定されたグループＩＤを用いる。また、グループ管理部３３は、受け付けたアクセス権の情報をグループＩＤ及びユーザＩＤに対応付けてアクセス権管理ＤＢ３５に格納する（ステップＳ８５）。その後、元の処理に戻る。
【００２３】
図１４の説明に戻って、例えばユーザＡがクライアント端末５Ａ（以下、クライアントＡと呼ぶ）のアプリケーション５１を用いて、あるグループに属するコンテンツＡを作成する（ステップＳ３）。なお、本ステップは、ユーザの動作であるため、図１４では点線ブロックで示している。また、コンテンツＡが属するグループについては、ユーザＡから指定されるものとする。そして、アプリケーション５１は、作成されたコンテンツＡのデータを暗号／復号部５２に出力し、暗号／復号部５２は、アプリケーション５１からコンテンツＡのデータを受け取ると、コンテンツＡを暗号化するための暗号鍵をライセンス管理部５５に要求する。
【００２４】
そして、クライアントＡのライセンス管理部５５は、暗号／復号部５２からの要求を受けると、コンテンツＡが属するグループのライセンス・データが、クライアントＡのライセンスキャッシュ５９に格納されているか判断する。なお、ここでは、コンテンツＡが属するグループのライセンス・データが、ライセンスキャッシュ５９に格納されていないものとする。そして、ライセンス・データがライセンスキャッシュ５９に格納されていない場合には、ライセンス管理部５５が、ライセンス取得部５８にライセンス・データを取得するよう指示する。そうすると、ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、グループの指定を含むライセンス要求をサーバ３に送信する（ステップＳ５）。なお、本ステップより前の時点でユーザ認証が完了していなければ、本ステップの処理の前に、ライセンス管理部５５が、認証部６０に認証情報（例えばユーザＩＤ、パスワード）を送信させ、ユーザ認証を行うようにする。
【００２５】
その後、サーバ３のライセンス配信部３２は、クライアントＡからのライセンス要求を受信する（ステップＳ７）。そして、ライセンス配信部３２は、アクセス権管理ＤＢ３５と鍵管理ＤＢ３６とに格納されているデータを用いて、要求に係るグループのライセンス・データを生成し、要求元のクライアントＡに送信する（ステップＳ９）。具体的には、要求に係るグループのグループ鍵を鍵管理ＤＢ３６から取得するとともに、要求に係るグループのアクセス権情報及び有効期限をアクセス権管理ＤＢ３５から取得する。そして、取得したグループ鍵、アクセス権情報及び有効期限を含むライセンス・データを生成する。なお、ライセンス・データに含まれる種別には、「グループ」を設定する。また、ライセンス・データに含まれるグループの識別情報には、保護対象コンテンツである旨を表すフラグなどを含むヘッダと、自身のサーバＩＤと、要求に係るグループのグループＩＤとを設定する。
【００２６】
そして、クライアントＡのライセンス取得部５８は、サーバ３からライセンス・データを受信し、ライセンス管理部５５に出力する。ライセンス管理部５５は、受信したライセンス・データをライセンスキャッシュ５９に格納する（ステップＳ１１）。
【００２７】
その後、ライセンス管理部５５は、ユーザＡによって作成されたコンテンツＡの識別情報を生成するようコンテンツ識別情報生成部５６に指示する。そうすると、コンテンツ識別情報生成部５６は、ライセンス管理部５５からの指示に応じて、コンテンツＡの識別情報を生成し、ライセンス管理部５５に出力する（ステップＳ１３）。具体的には、ライセンス管理部５５は、「保護対象フラグＯｎ」を含むヘッダを設定し、クライアントＡのＩＤをクライアント端末ＩＤとして設定し、ユーザＡのユーザＩＤを作成者ＩＤとして設定し、ステップＳ３においてユーザＡがコンテンツＡを作成した時点の時刻を作成時刻として設定する。また、ステップＳ１１において受信したライセンス・データからサーバＩＤ及びグループＩＤを抽出し、コンテンツＡの識別情報に設定する。さらに、例えば前回ユーザＡがコンテンツを作成した際に設定したシリアル番号に１を加算した番号を今回のシリアル番号として設定する。
【００２８】
そして、ライセンス管理部５５は、コンテンツＡの識別情報を受け取り、コンテンツＡの識別情報と、コンテンツＡが属するグループのライセンス・データに含まれるグループ鍵とを暗号鍵生成部５７に出力する。暗号鍵生成部５７は、ライセンス管理部５５からコンテンツＡの識別情報とグループ鍵とを受け取ると、コンテンツＡの識別情報とグループ鍵とを用いて、コンテンツＡ用の暗号鍵（以下、暗号鍵Ａと呼ぶ）を生成する（ステップＳ１５）。例えば、コンテンツの識別情報とグループ鍵とから暗号鍵を出力する所定の関数（例えばハッシュ関数など）を用意しておき、コンテンツＡの識別情報とグループ鍵と所定の関数とを用いて暗号鍵Ａを生成する。その後、暗号鍵生成部５７は、生成した暗号鍵Ａをライセンス管理部５５に出力する。そして、ライセンス管理部５５は、暗号鍵生成部５７から暗号鍵Ａを受け取り、暗号鍵ＡとコンテンツＡの識別情報とを暗号／復号部５２に出力する。
【００２９】
そして、暗号／復号部５２は、ライセンス管理部５５から暗号鍵ＡとコンテンツＡの識別情報とを受け取ると、暗号鍵Ａを用いてコンテンツＡを暗号化し、暗号化されたコンテンツＡを識別情報と対応付けてファイルシステム５３に格納する（ステップＳ１７）。
【００３０】
以上、図１４に示したような処理を実施することにより、ユーザによって作成されたコンテンツ（上の説明ではコンテンツＡ）は、グループ鍵と当該コンテンツの識別情報とから生成された暗号鍵（上の説明では暗号鍵Ａ）を用いて暗号化される。
【００３１】
次に、図１６を用いて、コンテンツ閲覧時の処理について説明する。ここでは、ユーザＢがクライアント端末５Ｂ（以下、クライアントＢと呼ぶ）を操作し、ユーザＡによって作成されたコンテンツＡを閲覧する場面を例に説明する。なお、図１６の処理フローは、図１４の処理フローからの続きであるものとする。
【００３２】
例えばユーザＡがクライアントＡを操作して、暗号化されたコンテンツＡをクライアントＢに配信するよう指示する。そうすると、クライアントＡの送受信部５４は、ユーザＡからの指示に応じて、ファイルシステム５３に格納されている、暗号化されたコンテンツＡとコンテンツＡの識別情報とをクライアントＢに配信する（図１６：ステップＳ１９）。
【００３３】
そして、クライアントＢの送受信部５４は、クライアントＡから、暗号化されたコンテンツＡとコンテンツＡの識別情報とを受信し、クライアントＢのファイルシステム５３に格納する（ステップＳ２１）。
【００３４】
その後、例えばユーザＢがクライアントＢを操作して、コンテンツＡの閲覧を指示する。そうすると、クライアントＢの暗号／復号部５２は、ユーザＢからの指示に応じて、ファイルシステム５３から、暗号化されたコンテンツＡとコンテンツＡの識別情報とを読み出し、コンテンツＡの識別情報をライセンス管理部５５に出力する。
【００３５】
そして、ライセンス管理部５５は、暗号／復号部５２からコンテンツＡの識別情報を受け取ると、コンテンツＡの識別情報から、コンテンツＡが属するグループのグループＩＤを抽出する（ステップＳ２３）。そして、ライセンス管理部５５は、コンテンツＡが属するグループのライセンス・データが、クライアントＢのライセンスキャッシュ５９に格納されているか判断する。ここでは、コンテンツＡが属するグループのライセンス・データが、ライセンスキャッシュ５９に格納されていないものとする。そして、ライセンス・データがライセンスキャッシュ５９に格納されていない場合には、ライセンス管理部５５が、ライセンス取得部５８に、コンテンツＡが属するグループのグループＩＤを含むライセンス要求を送信させる。ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、コンテンツＡが属するグループのグループＩＤを含むライセンス要求をサーバ３に送信する（ステップＳ２５）。なお、本ステップより前の時点でユーザ認証が完了していなければ、本ステップの処理の前に、ライセンス管理部５５が、認証部６０に認証情報（例えばユーザＩＤ、パスワード）を送信させ、ユーザ認証を行うようにする。
【００３６】
そして、サーバ３のライセンス配信部３２は、クライアントＢからのライセンス要求を受信する（ステップＳ２７）。そして、ライセンス配信部３２は、グループＩＤとユーザＩＤとを用いてアクセス権管理ＤＢ３５を検索し、要求に係るグループ内のコンテンツに対するアクセス権がユーザＢに認められているかを確認する。ユーザＢにアクセス権が認められていれば、すなわちライセンス認証に成功した場合、ライセンス配信部３２は、アクセス権管理ＤＢ３５と鍵管理ＤＢ３６とに格納されているデータを用いて、要求に係るグループのライセンス・データを生成し、要求元のクライアントＢに送信する（ステップＳ２９）。なお、ユーザＢにアクセス権が認められていない場合には、ライセンス配信部３２は、その旨の通知をクライアントＢに送信する。
【００３７】
そして、クライアントＢのライセンス取得部５８は、サーバ３からライセンス・データを受信し、ライセンス管理部５５に出力する。ライセンス管理部５５は、受信したライセンス・データをライセンスキャッシュ５９に格納する（ステップＳ３１）。
【００３８】
そして、ライセンス管理部５５は、ライセンスキャッシュ５９に格納した、コンテンツＡが属するグループのライセンス・データを用いて、コンテンツＡの閲覧権限があるか判断する（ステップＳ３３）。コンテンツＡの閲覧権限がなければ（ステップＳ３３：Ｎｏルート）、処理を終了する（ステップＳ３５）。この際、ライセンス管理部５５は、閲覧権限がない旨の表示を表示装置に表示させる。
【００３９】
一方、コンテンツＡの閲覧権限がある場合（ステップＳ３３：Ｙｅｓルート）、ライセンス管理部５５は、コンテンツＡの識別情報と、ライセンスキャッシュ５９に格納されている、コンテンツＡが属するグループのライセンス・データに含まれるグループ鍵とを暗号鍵生成部５７に出力する。暗号鍵生成部５７は、ライセンス管理部５５からコンテンツＡの識別情報とグループ鍵とを受け取ると、コンテンツＡの識別情報とグループ鍵とを用いて、コンテンツＡ用の暗号鍵Ａを生成する（ステップＳ３７）。本ステップでは、ステップＳ１５（図１４）と同じアルゴリズムで暗号鍵を生成する。例えば、ステップＳ１５においてハッシュ関数を用いて暗号鍵を生成するようになっている場合には、クライアントＢにおいても共通のハッシュ関数を用意しておき、当該ハッシュ関数を用いて暗号鍵を生成する。すなわち、ステップＳ１５と同じデータ（コンテンツＡの識別情報及びグループ鍵）及びアルゴリズム（例えば共通のハッシュ関数など）を用いるので、本ステップにおいても暗号鍵Ａが生成される。その後、暗号鍵生成部５７は、生成した暗号鍵Ａをライセンス管理部５５に出力する。そして、ライセンス管理部５５は、暗号鍵生成部５７から暗号鍵Ａを受け取り、暗号鍵Ａを暗号／復号部５２に出力する。
【００４０】
そして、暗号／復号部５２は、ライセンス管理部５５から暗号鍵Ａを受け取ると、暗号鍵Ａを用いて、暗号化されたコンテンツＡを復号し、アプリケーション５１に出力する（ステップＳ３９）。これにより、ユーザＢは、アプリケーション５１を用いてコンテンツＡを閲覧することができる。
【００４１】
以上、図１６に示したような処理を実施することにより、コンテンツの識別情報とライセンス・データに含まれるグループ鍵とから当該コンテンツの暗号鍵を生成し、復号することができる。
【００４２】
次に、図１７を用いて、コンテンツ編集時の処理について説明する。ここでは、ユーザＡがコンテンツＡを編集することにより、コンテンツＡと同じグループに属するコンテンツＢを新たに作成する場面を例に説明する。なお、図１７の処理フローは、図１６の処理フローからの続きであるものとする。
【００４３】
例えばユーザＡがクライアントＡのアプリケーション５１を用いてコンテンツＡを編集することにより、新たなコンテンツＢを作成する（図１７：ステップＳ４１）。なお、本ステップは、ユーザの動作であるため、図１７では点線ブロックで示している。そして、アプリケーション５１は、編集後のコンテンツＢのデータを暗号／復号部５２に出力し、暗号／復号部５２は、アプリケーション５１からコンテンツＢのデータを受け取ると、コンテンツＢを暗号化するための暗号鍵をライセンス管理部５５に要求する。
【００４４】
そして、クライアントＡのライセンス管理部５５は、暗号／復号部５２からの要求を受けると、編集前のコンテンツＡが属するグループのライセンス・データが、クライアントＡのライセンスキャッシュ５９に格納されているか判断する。なお、上で説明したステップＳ１１において、コンテンツＡが属するグループのライセンス・データを既に受信し、ライセンスキャッシュ５９に格納している。従って、ここでは、ライセンス・データがライセンスキャッシュ５９に格納されていると判断される。そして、ライセンス管理部５５は、編集後のコンテンツＢの識別情報を生成するようコンテンツ識別情報生成部５６に指示する。そうすると、コンテンツ識別情報生成部５６は、ライセンス管理部５５からの指示に応じて、編集後のコンテンツＢの識別情報を生成する（ステップＳ４３）。具体的には、ライセンス管理部５５は、「保護対象フラグＯｎ」を含むヘッダを設定し、クライアントＡのＩＤをクライアント端末ＩＤとして設定し、ユーザＡのユーザＩＤを作成者ＩＤとして設定し、ステップＳ４１においてユーザＡがコンテンツＢを作成した時点の時刻を作成時刻として設定する。また、コンテンツＡが属するグループのグループＩＤと、当該グループのライセンス・データに含まれるサーバＩＤとを、コンテンツＢの識別情報に設定する。さらに、例えば前回ユーザＡがコンテンツを作成した際に設定したシリアル番号に１を加算した番号を今回のシリアル番号として設定する。
【００４５】
そして、ライセンス管理部５５は、編集後のコンテンツＢの識別情報を受け取り、コンテンツＢの識別情報と、ライセンスキャッシュ５９に格納されている、編集前のコンテンツＡが属するグループのライセンス・データに含まれるグループ鍵とを暗号鍵生成部５７に出力する。暗号鍵生成部５７は、ライセンス管理部５５からコンテンツＢの識別情報とグループ鍵とを受け取ると、コンテンツＢの識別情報とグループ鍵とを用いて、コンテンツＢ用の暗号鍵（以下、暗号鍵Ｂと呼ぶ）を生成する（ステップＳ４５）。例えば、コンテンツＢの識別情報とグループ鍵と所定の関数（例えばハッシュ関数など）とを用いて暗号鍵Ｂを生成する。その後、暗号鍵生成部５７は、生成した暗号鍵Ｂをライセンス管理部５５に出力する。そして、ライセンス管理部５５は、暗号鍵生成部５７から暗号鍵Ｂを受け取り、暗号鍵ＢとコンテンツＢの識別情報とを暗号／復号部５２に出力する。
【００４６】
そして、暗号／復号部５２は、ライセンス管理部５５から暗号鍵ＢとコンテンツＢの識別情報とを受け取ると、暗号鍵Ｂを用いてコンテンツＢを暗号化し、暗号化されたコンテンツＢを識別情報と対応付けてファイルシステム５３に格納する（ステップＳ４７）。
【００４７】
例えば図１８に示すように、グループ鍵にコンテンツ固有の識別情報を組み合わせて暗号鍵を生成するので、編集前のコンテンツＡと編集後のコンテンツＢとが同一グループである場合には、同じグループ鍵を利用して別々の暗号鍵を生成することができ、別々の暗号鍵で暗号化することができる。従って、編集前のコンテンツと編集後のコンテンツとを別々の暗号鍵で暗号化する場合でも、編集後のコンテンツに係るライセンス・データを新たに登録する必要はないため、サーバ３の処理負荷を抑えられる。
【００４８】
例えばユーザＡがクライアントＡを操作して、暗号化されたコンテンツＢをクライアントＢに配信するよう指示する。そうすると、クライアントＡの送受信部５４は、ユーザＡからの指示に応じて、ファイルシステム５３に格納されている、暗号化されたコンテンツＢとコンテンツＢの識別情報とをクライアントＢに配信する（ステップＳ４９）。
【００４９】
そして、クライアントＢの送受信部５４は、クライアントＡから、暗号化されたコンテンツＢとコンテンツＢの識別情報とを受信し、クライアントＢのファイルシステム５３に格納する（ステップＳ５１）。
【００５０】
その後、例えばユーザＢがクライアントＢを操作して、コンテンツＢの閲覧を指示する。そうすると、クライアントＢの暗号／復号部５２は、ユーザＢからの指示に応じて、ファイルシステム５３から、暗号化されたコンテンツＢとコンテンツＢの識別情報とを読み出し、コンテンツＢの識別情報をライセンス管理部５５に出力する。
【００５１】
そして、ライセンス管理部５５は、暗号／復号部５２からコンテンツＢの識別情報を受け取ると、コンテンツＢの識別情報から、コンテンツＢが属するグループのグループＩＤを抽出する。そして、ライセンス管理部５５は、コンテンツＢが属するグループのライセンス・データが、クライアントＢのライセンスキャッシュ５９に格納されているか判断する。なお、上で説明したステップＳ３１において、コンテンツＡが属するグループのライセンス・データを受信し、ライセンスキャッシュ５９に格納している。また、コンテンツＡとコンテンツＢとは同じグループに属するため、ここでは、ライセンスＡ及びライセンスＢが属するグループのライセンス・データが、ライセンスキャッシュ５９に格納されていると判断される。そして、ライセンス管理部５５は、ライセンスキャッシュ５９に格納されている、コンテンツＢが属するグループのライセンス・データを用いて、コンテンツＢの閲覧権限があるか判断する（ステップＳ５３）。コンテンツＢの閲覧権限がなければ（ステップＳ５３：Ｎｏルート）、処理を終了する（ステップＳ５５）。この際、ライセンス管理部５５は、閲覧権限がない旨の表示を表示装置に表示させる。
【００５２】
一方、コンテンツＢの閲覧権限がある場合（ステップＳ５３：Ｙｅｓルート）、ライセンス管理部５５は、コンテンツＢの識別情報と、ライセンスキャッシュ５９に格納されている、コンテンツＢが属するグループのライセンス・データに含まれるグループ鍵とを暗号鍵生成部５７に出力する。暗号鍵生成部５７は、ライセンス管理部５５からコンテンツＢの識別情報とグループ鍵とを受け取ると、コンテンツＢの識別情報とグループ鍵とを用いて、コンテンツＢ用の暗号鍵Ｂを生成する（ステップＳ５７）。本ステップでは、ステップＳ４５と同じアルゴリズムで暗号鍵を生成する。例えば、ステップＳ４５においてハッシュ関数を用いて暗号鍵を生成するようになっている場合には、共通のハッシュ関数を用いて暗号鍵を生成する。すなわち、ステップＳ４５と同じデータ（コンテンツＢの識別情報及びグループ鍵）及びアルゴリズム（例えば共通のハッシュ関数など）を用いるので、本ステップにおいても暗号鍵Ｂが生成される。その後、暗号鍵生成部５７は、生成した暗号鍵Ｂをライセンス管理部５５に出力する。そして、ライセンス管理部５５は、暗号鍵生成部５７から暗号鍵Ｂを受け取り、暗号鍵Ｂを暗号／復号部５２に出力する。
【００５３】
そして、暗号／復号部５２は、ライセンス管理部５５から暗号鍵Ｂを受け取ると、暗号鍵Ｂを用いて、暗号化されたコンテンツＢを復号し、アプリケーション５１に出力する（ステップＳ５９）。これにより、ユーザＢは、アプリケーション５１を用いてコンテンツＢを閲覧することができる。
【００５４】
以上、図１７に示すような処理を実施することにより、編集前と同じグループに属する編集後のコンテンツ（上の説明ではコンテンツＢ）について、編集前のコンテンツが属するグループのライセンス・データがキャッシュされていれば、ライセンス・データを新たに取得することなく、編集後のコンテンツを利用できる。従って、編集前のコンテンツと編集後のコンテンツとを別々の暗号鍵で暗号化する場合でも、サーバ３の処理負荷を抑えられる。
【００５５】
次に、サーバ３及びクライアント端末５がグループ鍵などを削除する処理について説明する。最初に、図１９を用いて、サーバ３における処理について説明する。サーバ３は、定期的に又は任意のタイミング（例えば管理者から削除指示を受け付けた場合など）にて、図１９に示すような処理を実施する。まず、グループ管理部３３は、管理者から、あるグループについての削除指示を受け付けたか判断する（図１９：ステップＳ６１）。削除指示を受け付けていなければ（ステップＳ６１：Ｎｏルート）、ステップＳ６５の処理に移行する。
【００５６】
一方、削除指示を受け付けた場合（ステップＳ６１：Ｙｅｓルート）、グループ管理部３３は、鍵管理ＤＢ３６及びアクセス権管理ＤＢ３５から、削除指示に係るグループのグループ鍵及びアクセス権情報を削除する（ステップＳ６３）。その後、ステップＳ６５の処理に移行する。
【００５７】
そして、グループ管理部３３は、有効期限が切れているアクセス権情報が、アクセス権管理ＤＢ３５内にあるか判断する（ステップＳ６５）。有効期限が切れているアクセス権情報が、アクセス権管理ＤＢ３５内になければ（ステップＳ６５：Ｎｏルート）、処理を終了する。
【００５８】
一方、有効期限が切れているアクセス権情報が、アクセス権管理ＤＢ３５内にある場合（ステップＳ６５：Ｙｅｓルート）、グループ管理部３３は、有効期限が切れているアクセス権情報に係るグループを特定する。そして、グループ管理部３３は、鍵管理ＤＢ３６及びアクセス権管理ＤＢ３５から、該当するグループのグループ鍵及びアクセス権情報を削除する（ステップＳ６７）。その後、処理を終了する。
【００５９】
次に、図２０を用いて、クライアント端末５における処理について説明する。クライアント端末５は、定期的に又は任意のタイミングにて、図２０に示すような処理を実施する。まず、ライセンス管理部５５は、有効期限が切れているライセンス・データが、ライセンスキャッシュ５９内にあるか判断する（図２０：ステップＳ７１）。有効期限が切れているライセンス・データが、ライセンスキャッシュ５９内になければ（ステップＳ７１：Ｎｏルート）、ステップＳ７５の処理に移行する。
【００６０】
一方、有効期限が切れているライセンス・データが、ライセンスキャッシュ５９内にある場合（ステップＳ７１：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９から、有効期限が切れているライセンス・データを削除する（ステップＳ７３）。その後、ステップＳ７５の処理に移行する。
【００６１】
そして、ライセンス管理部５５は、前回認証してから一定期間以上経過しているか判断する（ステップＳ７５）。例えば、認証部６０により前回認証が行われた時刻を記憶装置などに記憶しておき、前回認証時の時刻と現在の時刻との差が、一定期間以上であるか否かで判断する。そして、前回認証してから一定期間以上経過していなければ（ステップＳ７５：Ｎｏルート）、処理を終了する。
【００６２】
一方、前回認証してから一定期間以上経過していた場合（ステップＳ７５：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９からライセンス・データを削除する（ステップＳ７７）。その後、処理を終了する。
【００６３】
以上、図１９及び図２０に示すような処理を実施することにより、任意のタイミングで、サーバ３及びクライアント端末５からグループ鍵などの情報が削除される。従って、有効期限が切れた場合には他人はコンテンツにアクセスできなくなるので、コンテンツの情報漏洩を防止できる。
【００６４】
なお、上では、編集後のコンテンツを編集前のコンテンツと同じグループに属するようにした例を説明したが、編集を行ったユーザが編集後のコンテンツを編集前のコンテンツとは別のグループに属するようにしたいと考える場合もある。その場合には、コンテンツの編集後、別のグループのライセンス・データを取得するようにし、そのライセンス・データに含まれるグループ鍵を用いるようにすればよい。
【００６５】
また、例えばユーザが、いずれのグループにも所属しないコンテンツを作成したいと考える場合や、後からグループの設定をしたいと考える場合もある。以下、そのような場合におけるサーバ３及びクライアント端末５の処理について説明する。なお、以下の処理では、図２１及び図２２に示すようなデータを用いる。図２１は、サーバ３のアクセス権管理ＤＢ３５に格納されるデータの一例を示す。図２１の例では、アクセス権管理ＤＢ３５には、コンテンツの識別情報と、ユーザＩＤと、アクセス権（閲覧／編集／印刷）と、有効期限と、依存関係データとが格納されるようになっている。なお、コンテンツの識別情報は、例えば図１１で示したようなデータである。図２１の例では、ユーザＩＤが「００１」のユーザは、コンテンツの識別情報が「１−Ｓ００１−１２３４−・・・」であるコンテンツについて、２００９年９月１日まで、閲覧と編集と印刷とが許可（ＯＫ）されていることを示している。また、コンテンツの識別情報が「１−Ｓ００１−１２３４−・・・」であるコンテンツは、コンテンツＸから派生して作成されたものであることを示している。また、図２２は、サーバ３の鍵管理ＤＢ３６に格納されるデータの一例を示す。図２２の例では、鍵管理ＤＢ３６には、コンテンツの識別情報と暗号鍵とが格納されるようになっている。また、図２３に、以下の処理で用いるライセンス・データの具体例を示す。なお、ライセンス・データの構成は、図１２に示したものと同じである。図２３に示すライセンス・データでは、図１３に示したライセンス・データと比べると、グループ識別情報の代わりにコンテンツの識別情報が含まれ、グループ鍵の代わりに暗号鍵が含まれ、さらに依存関係データが含まれる。図２３では、そのコンテンツが、ライセンスＸから派生したものであることを示している。
【００６６】
まず、図２４を用いて、コンテンツ作成時の処理について説明する。例えばユーザＡがクライアントＡのアプリケーション５１を用いて、いずれのグループにも所属しないコンテンツＣを作成する（ステップＳ１０１）。なお、本ステップは、ユーザの動作であるため、図２４では点線ブロックで示している。そして、アプリケーション５１は、作成されたコンテンツＣのデータを暗号／復号部５２に出力し、暗号／復号部５２は、アプリケーション５１からコンテンツＣのデータを受け取ると、コンテンツＣを暗号化するための暗号鍵をライセンス管理部５５に要求する。
【００６７】
そして、クライアントＡのライセンス管理部５５は、暗号／復号部５２からの要求に応じて、コンテンツＣの識別情報を生成するようコンテンツ識別情報生成部５６に指示するとともに、コンテンツＣを暗号化するための暗号鍵を生成するよう暗号鍵生成部５７に指示する。そうすると、コンテンツ識別情報生成部５６は、ライセンス管理部５５からの指示に応じて、コンテンツＣの識別情報を生成し、ライセンス管理部５５に出力する。また、暗号鍵生成部５７は、例えば乱数を発生させるなどして暗号鍵（以下、暗号鍵Ｃと呼ぶ）を生成し、ライセンス管理部５５に出力する（ステップＳ１０３）。なお、コンテンツの識別情報を生成する処理は、基本的には上で説明した処理と同じであるが、コンテンツがいずれのグループにも所属しない場合には、無所属であることを表すデータ（例えば０など）をグループＩＤに設定する。
【００６８】
そして、ライセンス管理部５５は、コンテンツ識別情報生成部５６からコンテンツＣの識別情報を受け取り、暗号鍵生成部５７から暗号鍵Ｃを受け取る。そして、ライセンス管理部５５は、コンテンツＣの識別情報と暗号鍵Ｃとを暗号／復号部５２に出力する。
【００６９】
そして、暗号／復号部５２は、ライセンス管理部５５からコンテンツＣの識別情報と暗号鍵Ｃとを受け取ると、暗号鍵Ｃを用いてコンテンツＣを暗号化し、暗号化されたコンテンツＣを識別情報と対応付けてファイルシステム５３に格納する（ステップＳ１０５）。
【００７０】
また、ライセンス管理部５５は、デフォルトの設定を含むアクセス権情報を生成する。そして、ライセンス管理部５５は、ライセンス取得部５８にコンテンツＣの識別情報と暗号鍵Ｃとアクセス権情報とをサーバ３に送信させる。ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、コンテンツＣの識別情報と暗号鍵Ｃとアクセス権情報とをサーバ３に送信する（ステップＳ１０７）。
【００７１】
そして、サーバ３のライセンス配信部３２は、クライアントＡからコンテンツＣの識別情報と暗号鍵Ｃとアクセス権情報とを受信する。そして、ライセンス配信部３２は、コンテンツＣの識別情報とアクセス権情報とをアクセス権管理ＤＢ３５に格納し、コンテンツＣの識別情報と暗号鍵Ｃとを鍵管理ＤＢ３６に格納する（ステップＳ１０９）。
【００７２】
以上、図２４に示すような処理を実施することにより、作成された無所属のコンテンツ（上の説明ではコンテンツＣ）は、暗号鍵（上の説明では暗号鍵Ｃ）を用いて暗号化され、暗号鍵及びアクセス権情報がサーバ３に登録される。
【００７３】
次に、図２５を用いて、コンテンツ閲覧時の処理について説明する。ここでは、ユーザＢがクライアントＢを操作し、ユーザＡによって作成されたコンテンツＣを閲覧する場面を例に説明する。なお、図２５の処理フローは、図２４の処理フローからの続きであるものとする。
【００７４】
例えばユーザＡがクライアントＡを操作して、暗号化されたコンテンツＣをクライアントＢに配信するよう指示する。そうすると、クライアントＡの送受信部５４は、ユーザＡからの指示に応じて、ファイルシステム５３に格納されている、暗号化されたコンテンツＣとコンテンツＣの識別情報とをクライアントＢに配信する（図２５：ステップＳ１１１）。
【００７５】
そして、クライアントＢの送受信部５４は、クライアントＡから、暗号化されたコンテンツＣとコンテンツＣの識別情報とを受信し、クライアントＢのファイルシステム５３に格納する（ステップＳ１１３）。
【００７６】
その後、例えばユーザＢがクライアントＢを操作して、コンテンツＣの閲覧を指示する。そうすると、クライアントＢの暗号／復号部５２は、ユーザＢからの指示に応じて、ファイルシステム５３から、暗号化されたコンテンツＣとコンテンツＣの識別情報とを読み出し、コンテンツＣの識別情報をライセンス管理部５５に出力する。
【００７７】
そして、ライセンス管理部５５は、暗号／復号部５２からコンテンツＣの識別情報を受け取ると、コンテンツＣのライセンス・データがクライアントＢのライセンスキャッシュ５９に格納されているか判断する。ここでは、コンテンツＣのライセンス・データがライセンスキャッシュ５９に格納されていないものとする。そして、コンテンツＣのライセンス・データがライセンスキャッシュ５９に格納されていない場合には、ライセンス管理部５５が、ライセンス取得部５８に、コンテンツＣの識別情報を含むライセンス要求を送信させる。ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、コンテンツＣの識別情報を含むライセンス要求をサーバ３に送信する（ステップＳ１１５）。なお、本ステップより前の時点でユーザ認証が完了していなければ、本ステップの処理の前に、ライセンス管理部５５が、認証部６０に認証情報（例えばユーザＩＤ、パスワード）を送信させ、ユーザ認証を行うようにする。
【００７８】
そして、サーバ３のライセンス配信部３２は、クライアントＢからライセンス要求を受信する（ステップＳ１１７）。そして、ライセンス配信部３２は、ライセンス要求に含まれる、コンテンツの識別情報を用いて、アクセス権管理ＤＢ３５を検索し、要求に係るコンテンツに対するアクセス権がユーザＢに認められているかを確認する。ユーザＢにアクセス権が認められていれば、すなわちライセンス認証に成功した場合、ライセンス配信部３２は、アクセス権管理ＤＢ３５と鍵管理ＤＢ３６とに格納されているデータを用いて、要求に係るコンテンツのライセンス・データを生成し、要求元のクライアントＢに送信する（ステップＳ１１９）。ここでは、コンテンツＣのライセンス・データを要求されているので、コンテンツＣの識別情報と、アクセス権管理ＤＢ３５においてコンテンツＣの識別情報及びユーザＢに対応付けて格納されているアクセス権情報、有効期限及び依存関係データと、鍵管理ＤＢ３６においてコンテンツＣの識別情報に対応付けて格納されている暗号鍵Ｃとを含むライセンス・データを生成し、クライアントＢに送信する。この際、ライセンス・データに含まれる種別には、「コンテンツ」を設定する。なお、ユーザＢにアクセス権が認められていない場合には、ライセンス配信部３２は、その旨の通知をクライアントＢに送信する。
【００７９】
そして、クライアントＢのライセンス取得部５８は、サーバ３からコンテンツＣのライセンス・データを受信し、ライセンス管理部５５に出力する。ライセンス管理部５５は、受信したライセンス・データをライセンスキャッシュ５９に格納する（ステップＳ１２１）。
【００８０】
そして、ライセンス管理部５５は、ライセンスキャッシュ５９に格納した、コンテンツＣのライセンス・データを用いて、コンテンツＣの閲覧権限があるか判断する（ステップＳ１２３）。コンテンツＣの閲覧権限がなければ（ステップＳ１２３：Ｎｏルート）、処理を終了する（ステップＳ１２５）。この際、ライセンス管理部５５は、閲覧権限がない旨の表示を表示装置に表示させる。
【００８１】
一方、コンテンツＣの閲覧権限がある場合（ステップＳ１２３：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９に格納されている、コンテンツＣのライセンス・データから暗号鍵Ｃを取得し、暗号／復号部５２に出力する。
【００８２】
そして、暗号／復号部５２は、ライセンス管理部５５から暗号鍵Ｃを受け取ると、暗号鍵Ｃを用いて、暗号化されたコンテンツＣを復号し、アプリケーション５１に出力する（ステップＳ１２７）。これにより、ユーザＢは、アプリケーション５１を用いてコンテンツＣを閲覧することができる。
【００８３】
次に、図２６及び図２７を用いて、コンテンツ編集時の処理について説明する。ここでは、ユーザＡがコンテンツＣを編集することにより、コンテンツＤを新たに作成する場面を例に説明する。なお、図２６の処理フローは、図２５の処理フローからの続きであるものとする。
【００８４】
例えばユーザＡがクライアントＡのアプリケーション５１を用いてコンテンツＣを編集することにより、新たなコンテンツＤを作成する（図２６：ステップＳ１２９）。なお、本ステップは、ユーザの動作であるため、図２６では点線ブロックで示している。そして、アプリケーション５１は、編集後のコンテンツＤのデータを暗号／復号部５２に出力し、暗号／復号部５２は、アプリケーション５１からコンテンツＤのデータを受け取ると、コンテンツＤを暗号化するための暗号鍵をライセンス管理部５５に要求する。なお、この際、依存関係データ（すなわち、元のコンテンツがコンテンツＣであることを示すデータ）もライセンス管理部５５へ出力されるものとする。
【００８５】
そして、クライアントＡのライセンス管理部５５は、暗号／復号部５２からの要求に応じて、コンテンツＤの識別情報を生成するようコンテンツ識別情報生成部５６に指示するとともに、コンテンツＤを暗号化するための暗号鍵を生成するよう暗号鍵生成部５７に指示する。そうすると、コンテンツ識別情報生成部５６は、ライセンス管理部５５からの指示に応じて、コンテンツＤの識別情報を生成し、ライセンス管理部５５に出力する。また、暗号鍵生成部５７は、例えば乱数を発生させるなどして暗号鍵（以下、暗号鍵Ｄと呼ぶ）を生成し、ライセンス管理部５５に出力する（ステップＳ１３１）。なお、コンテンツの識別情報を生成する処理は、基本的には上で説明した処理と同じであるが、コンテンツがいずれのグループにも所属しない場合には、無所属であることを表すデータ（例えば０など）をグループＩＤに設定する。
【００８６】
そして、ライセンス管理部５５は、コンテンツ識別情報生成部５６からコンテンツＤの識別情報を受け取り、暗号鍵生成部５７から暗号鍵Ｄを受け取る。そして、ライセンス管理部５５は、コンテンツＤの識別情報と暗号鍵Ｄとを暗号／復号部５２に出力する。
【００８７】
そして、暗号／復号部５２は、ライセンス管理部５５からコンテンツＤの識別情報と暗号鍵Ｄとを受け取ると、暗号鍵Ｄを用いてコンテンツＤを暗号化し、暗号化されたコンテンツＤを識別情報と対応付けてファイルシステム５３に格納する（ステップＳ１３３）。
【００８８】
また、ライセンス管理部５５は、コンテンツＤの元のコンテンツであるコンテンツＣのライセンス・データをライセンスキャッシュ５９から取得する。そして、コンテンツＣのライセンス・データに含まれるアクセス権情報を、コンテンツＤのアクセス権情報として設定する。そして、ライセンス管理部５５は、ライセンス取得部５８にコンテンツＤの識別情報と暗号鍵Ｄとアクセス権情報と依存関係データとをサーバ３に送信させる。ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、コンテンツＤの識別情報と暗号鍵Ｄとアクセス権情報と依存関係データをサーバ３に送信する（ステップＳ１３５）。
【００８９】
そして、サーバ３のライセンス配信部３２は、クライアントＡからコンテンツＤの識別情報と暗号鍵Ｄとアクセス権情報と依存関係データとを受信する。そして、ライセンス配信部３２は、コンテンツＤの識別情報とアクセス権情報と依存関係データとをアクセス権管理ＤＢ３５に格納し、コンテンツＤの識別情報と暗号鍵Ｄとを鍵管理ＤＢ３６に格納する（ステップＳ１３７）。
【００９０】
その後、例えばユーザＡがクライアントＡを操作して、暗号化されたコンテンツＤをクライアントＢに配信するよう指示する。そうすると、クライアントＡの送受信部５４は、ユーザＡからの指示に応じて、ファイルシステム５３に格納されている、暗号化されたコンテンツＤとコンテンツＤの識別情報とをクライアントＢに配信する（ステップＳ１３９）。
【００９１】
そして、クライアントＢの送受信部５４は、クライアントＡから、暗号化されたコンテンツＤとコンテンツＤの識別情報とを受信し、クライアントＢのファイルシステム５３に格納する（ステップＳ１４１）。その後、処理は端子Ａ及びＢを介して図２７に移行する。
【００９２】
図２７の説明に移行して、端子Ａの後、例えばユーザＢがクライアントＢを操作して、コンテンツＤの閲覧を指示する。そうすると、クライアントＢの暗号／復号部５２は、ユーザＢからの指示に応じて、ファイルシステム５３から、暗号化されたコンテンツＤとコンテンツＤの識別情報とを読み出し、コンテンツＤの識別情報をライセンス管理部５５に出力する。
【００９３】
そして、ライセンス管理部５５は、暗号／復号部５２からコンテンツＤの識別情報を受け取ると、コンテンツＤのライセンス・データがクライアントＢのライセンスキャッシュ５９に格納されているか判断する。ここでは、コンテンツＤのライセンス・データがライセンスキャッシュ５９に格納されていないものとする。そして、コンテンツＤのライセンス・データがライセンスキャッシュ５９に格納されていない場合には、ライセンス管理部５５が、ライセンス取得部５８に、コンテンツＤの識別情報を含むライセンス要求を送信させる。そして、ライセンス取得部５８は、ライセンス管理部５５からの指示に応じて、コンテンツＤの識別情報を含むライセンス要求をサーバ３に送信する（図２７：ステップＳ１４３）。なお、本ステップより前の時点でユーザ認証が完了していなければ、本ステップの処理の前に、ライセンス管理部５５が、認証部６０に認証情報（例えばユーザＩＤ、パスワード）を送信させ、ユーザ認証を行うようにする。
【００９４】
そして、サーバ３のライセンス配信部３２は、クライアントＢからライセンス要求を受信する（ステップＳ１４５）。そして、ライセンス配信部３２は、ライセンス要求に含まれる、コンテンツ識別情報を用いて、アクセス権管理ＤＢ３５を検索し、要求に係るコンテンツＤに対するアクセス権がユーザＢに認められているかを確認する。ユーザＢにアクセス権が認められていれば、すなわちライセンス認証に成功した場合、ライセンス配信部３２は、アクセス権管理ＤＢ３５と鍵管理ＤＢ３６とに格納されているデータを用いて、要求に係るコンテンツＤのライセンス・データを生成し、要求元のクライアントＢに送信する（ステップＳ１４７）。ここでは、コンテンツＤのライセンス・データを要求されているので、コンテンツＤの識別情報と、アクセス権管理ＤＢ３５においてコンテンツＤの識別情報及びユーザＢに対応付けて格納されているアクセス権情報、有効期限及び依存関係データと、鍵管理ＤＢ３６においてコンテンツＤの識別情報に対応付けて格納されている暗号鍵Ｄとを含むライセンス・データを生成し、クライアントＢに送信する。この際、ライセンス・データに含まれる種別には、「コンテンツ」を設定する。なお、ユーザＢにアクセス権が認められていない場合には、ライセンス配信部３２は、その旨の通知をクライアントＢに送信する。
【００９５】
そして、クライアントＢのライセンス取得部５８は、サーバ３からコンテンツＤのライセンス・データを受信し、ライセンス管理部５５に出力する。ライセンス管理部５５は、受信したライセンス・データをライセンスキャッシュ５９に格納する（ステップＳ１４９）。
【００９６】
そして、ライセンス管理部５５は、ライセンスキャッシュ５９に格納した、コンテンツＤのライセンス・データを用いて、コンテンツＤの閲覧権限があるか判断する（ステップＳ１５１）。コンテンツＣの閲覧権限がなければ（ステップＳ１５１：Ｎｏルート）、処理を終了する（ステップＳ１５３）。この際、ライセンス管理部５５は、閲覧権限がない旨の表示を表示装置に表示させる。
【００９７】
一方、コンテンツＤの閲覧権限がある場合（ステップＳ１５１：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９に格納されている、コンテンツＤのライセンス・データから暗号鍵Ｄを取得し、暗号／復号部５２に出力する。
【００９８】
そして、暗号／復号部５２は、ライセンス管理部５５から暗号鍵Ｄを受け取ると、暗号鍵Ｄを用いて、暗号化されたコンテンツＤを復号し、アプリケーション５１に出力する（ステップＳ１５５）。これにより、ユーザＢは、アプリケーション５１を用いてコンテンツＤを閲覧することができる。
【００９９】
なお、編集後のコンテンツに対するアクセス権は、編集前と同じ設定を引き継ぐようになっているため、ユーザの手間が省ける。
【０１００】
次に、サーバ３及びクライアント端末５が暗号鍵などを削除する処理について説明する。最初に、図２８を用いて、サーバ３における処理について説明する。サーバ３は、定期的に又は任意のタイミング（例えばコンテンツが削除された場合など）にて、図２８に示すような処理を実施する。まず、ライセンス配信部３２は、ユーザによって削除されたコンテンツがあるか判断する（図２８：ステップＳ１６１）。例えばユーザがクライアント端末５を操作してコンテンツを削除した場合に、クライアント端末５からサーバ３へ通知されるような構成であれば、その通知を受信したか否かで判断する。削除されたコンテンツがなければ（ステップＳ１６１：Ｎｏルート）、ステップＳ１６５の処理に移行する。
【０１０１】
一方、削除されたコンテンツがある場合（ステップＳ１６１：Ｙｅｓルート）、ライセンス配信部３２は、鍵管理ＤＢ３６及びアクセス権管理ＤＢ３５から、削除されたコンテンツの暗号鍵及びアクセス権情報を削除する（ステップＳ１６３）。その後、ステップＳ１６５の処理に移行する。
【０１０２】
そして、ライセンス配信部３２は、有効期限が切れているアクセス権情報が、アクセス権管理ＤＢ３５内にあるか判断する（ステップＳ１６５）。有効期限が切れているアクセス権情報が、アクセス権管理ＤＢ３５内になければ（ステップＳ１６５：Ｎｏルート）、処理を終了する。
【０１０３】
一方、有効期限が切れているアクセス権情報が、アクセス権管理ＤＢ３５内にある場合（ステップＳ１６５：Ｙｅｓルート）、ライセンス配信部３２は、有効期限が切れているアクセス権情報に係るコンテンツを特定する。そして、ライセンス配信部３２は、鍵管理ＤＢ３６及びアクセス権管理ＤＢ３５から、該当するコンテンツの暗号鍵及びアクセス権情報を削除する（ステップＳ１６７）。その後、処理を終了する。
【０１０４】
次に、図２９を用いて、クライアント端末５における処理について説明する。クライアント端末５は、定期的に又は任意のタイミング（例えばコンテンツが削除された場合など）にて、図２９に示すような処理を実施する。まず、ライセンス管理部５５は、ユーザがコンテンツを削除したか否か判断する（図２９：ステップＳ１７１）。削除されたコンテンツがなければ（ステップＳ１７１：Ｎｏルート）、ステップＳ１７５の処理に移行する。
【０１０５】
一方、削除されたコンテンツがある場合（ステップＳ１７１：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９から、削除されたコンテンツのライセンス・データを削除する（ステップＳ１７３）。その後、ステップＳ１７５の処理に移行する。
【０１０６】
そして、ライセンス管理部５５は、有効期限が切れているライセンス・データが、ライセンスキャッシュ５９内にあるか判断する（ステップＳ１７５）。有効期限が切れているライセンス・データが、ライセンスキャッシュ５９内になければ（ステップＳ１７５：Ｎｏルート）、ステップＳ１７９の処理に移行する。
【０１０７】
一方、有効期限が切れているライセンス・データが、ライセンスキャッシュ５９内にある場合（ステップＳ１７５：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９から、有効期限が切れているライセンス・データを削除する（ステップＳ１７７）。その後、ステップＳ１７９の処理に移行する。
【０１０８】
そして、ライセンス管理部５５は、前回認証してから一定期間以上経過しているか判断する（ステップＳ１７９）。例えば、認証部６０により前回認証が行われた時刻を記憶装置などに記憶しておき、前回認証時の時刻と現在の時刻との差が、一定期間以上であるか否かで判断する。そして、前回認証してから一定期間以上経過していなければ（ステップＳ１７９：Ｎｏルート）、処理を終了する。
【０１０９】
一方、前回認証してから一定期間以上経過していた場合（ステップＳ１７９：Ｙｅｓルート）、ライセンス管理部５５は、ライセンスキャッシュ５９からライセンス・データを削除する（ステップＳ１８１）。その後、処理を終了する。
【０１１０】
以上、図２８及び図２９に示すような処理を実施することにより、任意のタイミングで、サーバ３及びクライアント端末５から暗号鍵などの情報が削除される。従って、有効期限が切れた場合には他人はコンテンツにアクセスできなくなるので、コンテンツの情報漏洩を防止できる。
【０１１１】
以上本技術の本実施の形態について説明したが、本技術はこれに限定されるものではない。例えば図５に示したサーバ３の機能ブロック図や図６に示したクライアント端末５の機能ブロック図は一例であって必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、データ格納部の構成やデータ構造も同様に一例にすぎない。さらに、処理フローについても処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実行することも可能である。
【０１１２】
なお、上で述べたサーバ３及びクライアント端末５は、コンピュータ装置であって、図３０に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１１３】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１１４】
第１の態様に係るコンテンツ管理方法（図３１）は、利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において特定のコンテンツが属するグループの識別子に対応付けて格納されているライセンス・データから、グループ鍵を抽出する抽出ステップ（図３１：Ｓ１００１）と、抽出されたグループ鍵と特定のコンテンツの識別情報とを用いて、特定のコンテンツ用の暗号鍵を生成するステップ（図３１：Ｓ１００３）と、特定のコンテンツ用の暗号鍵を用いて、特定のコンテンツを復号するステップ（図３１：Ｓ１００５）とを含む。
【０１１５】
このようにすれば、あるコンテンツについては、当該コンテンツが属するグループのライセンス・データがある場合のみ、当該コンテンツ専用の暗号鍵を生成することができ、当該コンテンツを復号することができる。すなわち、ライセンス・データがなければ、そのコンテンツ専用の暗号鍵を生成することはできないので、コンテンツの情報漏洩を防止できる。なお、ライセンス・データに含まれるグループ鍵とコンテンツの識別情報とから当該コンテンツ専用の暗号鍵が生成されるので、コンテンツ毎に異なった暗号鍵が生成されることになる。このようにコンテンツ毎に異なった暗号鍵にすることで、暗号鍵が盗まれにくくなる。また、同じグループに属するコンテンツの暗号鍵は、同じライセンス・データに含まれるグループ鍵を用いて生成されるので、コンテンツ毎にライセンス・データを取得する必要はない。すなわち、ライセンス管理のための処理負荷を抑えられる。
【０１１６】
また、上で述べたコンテンツ管理方法が、特定のコンテンツを編集することにより作成された新たなコンテンツのデータの入力を受け付けた場合、記憶装置において特定のコンテンツが属するグループの識別子に対応付けて格納されているライセンス・データから、グループ鍵を抽出するステップと、抽出されたグループ鍵と新たなコンテンツの識別情報とを用いて、新たなコンテンツ用の暗号鍵を生成するステップと、新たなコンテンツ用の暗号鍵を用いて、新たなコンテンツを暗号化するステップとをさらに含むようにしてもよい。このようにすれば、編集後のコンテンツについて、編集前のコンテンツとは異なった暗号鍵を用いて暗号化することができる。なお、暗号鍵の生成には、同じグループ鍵を用いるようになっているので、例えばライセンス・サーバに、新たなライセンス・データを登録する必要はない。すなわち、ライセンス管理のための処理負荷を抑えられる。
【０１１７】
さらに、上で述べた抽出ステップが、特定のコンテンツが属するグループの識別子を含むライセンス・データが記憶装置に格納されているか判断し、特定のコンテンツが属するグループの識別子を含むライセンス・データが記憶装置に格納されていない場合、特定のコンテンツが属するグループの識別子を含むライセンス要求を、ライセンス・データを管理するライセンス・サーバに送信するステップと、ライセンス要求に対するライセンス認証が成功した場合にライセンス・サーバから送信されるライセンス・データを受信し、記憶装置に格納するステップとを含むようにしてもよい。このように、記憶装置（例えばキャッシュなど）にライセンス・データが格納されていない場合のみ、ライセンス・サーバからライセンス・データを取得するようにすれば、ライセンス・サーバへのアクセスを最小限に抑えられる。すなわち、ライセンス・サーバの処理負荷を軽減できる。
【０１１８】
第２の態様に係るコンテンツ管理方法（図３２）は、利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、特定のグループに属する特定のコンテンツのデータの入力を受け付けた場合、グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において特定のグループの識別子に対応付けて格納されているライセンス・データから、グループ鍵を抽出する抽出ステップ（図３２：Ｓ１１０１）と、抽出されたグループ鍵と特定のコンテンツの識別情報とを用いて、特定のコンテンツ用の暗号鍵を生成するステップ（図３２：Ｓ１１０３）と、特定のコンテンツ用の暗号鍵を用いて、特定のコンテンツを暗号化するステップ（図３２：Ｓ１１０５）とを含む。
【０１１９】
このようにすれば、あるコンテンツについては、当該コンテンツが属するグループのライセンス・データに含まれるグループ鍵と当該コンテンツの識別情報とから当該コンテンツ専用の暗号鍵を生成し、生成した暗号鍵を用いて暗号化する。すなわち、コンテンツ毎に異なった暗号鍵を生成し、暗号化することができるようになる。
【０１２０】
第３の態様に係るコンテンツ利用端末（図３３）は、グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置（図３３：１５０１）と、暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、記憶装置において特定のコンテンツが属するグループの識別子に対応付けて格納されているライセンス・データから、グループ鍵を抽出する抽出部（図３３：１５０３）と、抽出されたグループ鍵と特定のコンテンツの識別情報とを用いて、特定のコンテンツ用の暗号鍵を生成する暗号鍵生成部（図３３：１５０５）と、特定のコンテンツ用の暗号鍵を用いて、特定のコンテンツを復号する復号部（図３３：１５０７）とを有する。
【０１２１】
第４の態様に係るコンテンツ利用端末（図３４）は、グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置（図３４：１６０１）と、特定のグループに属する特定のコンテンツのデータの入力を受け付けた場合、記憶装置において特定のグループの識別子に対応付けて格納されているライセンス・データから、グループ鍵を抽出する抽出部（図３４：１６０３）と、抽出されたグループ鍵と特定のコンテンツの識別情報とを用いて、特定のコンテンツ用の暗号鍵を生成する暗号鍵生成部（図３４：１６０５）と、特定のコンテンツ用の暗号鍵を用いて、特定のコンテンツを暗号化する暗号化部（図３４：１６０７）とを有する。
【０１２２】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【０１２３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２４】
（付記１）
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、
暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを復号するステップと、
を含み、コンピュータにより実行されるコンテンツ管理方法。
【０１２５】
（付記２）
前記特定のコンテンツを編集することにより作成された新たなコンテンツのデータの入力を受け付けた場合、前記記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出するステップと、
抽出された前記グループ鍵と前記新たなコンテンツの識別情報とを用いて、前記新たなコンテンツ用の暗号鍵を生成するステップと、
前記新たなコンテンツ用の暗号鍵を用いて、前記新たなコンテンツを暗号化するステップと、
をさらに含む、付記１記載のコンテンツ管理方法。
【０１２６】
（付記３）
前記抽出ステップが、
前記特定のコンテンツが属する前記グループの識別子を含む前記ライセンス・データが前記記憶装置に格納されているか判断し、前記特定のコンテンツが属する前記グループの識別子を含む前記ライセンス・データが前記記憶装置に格納されていない場合、前記特定のコンテンツが属する前記グループの識別子を含むライセンス要求を、前記ライセンス・データを管理するライセンス・サーバに送信するステップと、
前記ライセンス要求に対するライセンス認証が成功した場合に前記ライセンス・サーバから送信される前記ライセンス・データを受信し、前記記憶装置に格納するステップと、
を含む、付記１又は２記載のコンテンツ管理方法。
【０１２７】
（付記４）
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、
特定のグループに属する特定のコンテンツのデータの入力を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のグループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを暗号化するステップと、
を含み、コンピュータにより実行されるコンテンツ管理方法。
【０１２８】
（付記５）
グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置と、
暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、前記記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出部と、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成する暗号鍵生成部と、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを復号する復号部と、
を有するコンテンツ利用端末。
【０１２９】
（付記６）
グループの識別子と当該グループに属するコンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置と、
特定のグループに属する特定のコンテンツのデータの入力を受け付けた場合、前記記憶装置において前記特定のグループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出部と、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成する暗号鍵生成部と、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを暗号化する暗号化部と、
を有するコンテンツ利用端末。
【０１３０】
（付記７）
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理プログラムであって、
暗号化されている特定のコンテンツの利用を開始すべき指示を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のコンテンツが属する前記グループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを復号するステップと、
をコンピュータに実行させるためのコンテンツ管理プログラム。
【０１３１】
（付記８）
利用する際にライセンスが必要とされるコンテンツを管理するためのコンテンツ管理方法であって、
特定のグループに属する特定のコンテンツのデータの入力を受け付けた場合、グループの識別子と当該グループに属する前記コンテンツ用の暗号鍵を生成するために用いられるグループ鍵とを含むライセンス・データを格納するための記憶装置において前記特定のグループの識別子に対応付けて格納されている前記ライセンス・データから、前記グループ鍵を抽出する抽出ステップと、
抽出された前記グループ鍵と前記特定のコンテンツの識別情報とを用いて、前記特定のコンテンツ用の暗号鍵を生成するステップと、
前記特定のコンテンツ用の暗号鍵を用いて、前記特定のコンテンツを暗号化するステップと、
をコンピュータに実行させるためのコンテンツ管理プログラム。
【符号の説明】
【０１３２】
１  ネットワーク    ３  サーバ    ５Ａ，５Ｂ  クライアント端末
３１  認証部    ３２  ライセンス配信部    ３３  グループ管理部
３４  ユーザ管理ＤＢ    ３５  アクセス権管理ＤＢ    ３６  鍵管理ＤＢ
５１  アプリケーション    ５２  暗号／復号部    ５３  ファイルシステム
５４  送受信部    ５５  ライセンス管理部    ５６  コンテンツ識別情報生成部
５７  暗号鍵生成部    ５８  ライセンス取得部    ５９  ライセンスキャッシュ
６０  認証部
【図１】
0005440283.tif 000002
【図２】
0005440283.tif 000003
【図３】
0005440283.tif 000004
【図４】
0005440283.tif 000005
【図５】
0005440283.tif 000006
【図６】
0005440283.tif 000007
【図７】
0005440283.tif 000008
【図８】
0005440283.tif 000009
【図９】
0005440283.tif 000010
【図１０】
0005440283.tif 000011
【図１１】
0005440283.tif 000012
【図１２】
0005440283.tif 000013
【図１３】
0005440283.tif 000014
【図１４】
0005440283.tif 000015
【図１５】
0005440283.tif 000016
【図１６】
0005440283.tif 000017
【図１７】
0005440283.tif 000018
【図１８】
0005440283.tif 000019
【図１９】
0005440283.tif 000020
【図２０】
0005440283.tif 000021
【図２１】
0005440283.tif 000022
【図２２】
0005440283.tif 000023
【図２３】
0005440283.tif 000024
【図２４】
0005440283.tif 000025
【図２５】
0005440283.tif 000026
【図２６】
0005440283.tif 000027
【図２７】
0005440283.tif 000028
【図２８】
0005440283.tif 000029
【図２９】
0005440283.tif 000030
【図３０】
0005440283.tif 000031
【図３１】
0005440283.tif 000032
【図３２】
0005440283.tif 000033
【図３３】
0005440283.tif 000034
【図３４】
0005440283.tif 000035