(57)【要約】【課題】暗号鍵を通信網を介して送信することなく復元できるコンテンツ暗号化システム、端末装置、暗号化方法、及びコンピュータプログラムの提供。【解決手段】配信サーバより配信されるコンテンツデータの受信が完了した場合（Ｓ１３：ＹＥＳ）、クライアント端末は、コンテンツデータの受信時刻に基づいてタイムスタンプを生成し（Ｓ１４）、タイムスタンプ等の情報を配信サーバに通知する（Ｓ１５）。また、クライアント端末は、生成したタイムスタンプ等の情報を用いて暗号鍵を生成し（Ｓ１８）、生成した暗号鍵を用いてコンテンツデータを暗号化する（Ｓ１９）。生成したタイムスタンプ等の情報は、暗号化したコンテンツデータの情報と共にクライアント装置内で管理される。【選択図】図４
2014110553.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介して接続される中央装置及び端末装置を備え、該端末装置からの要求に応じて中央装置がコンテンツデータを送信するコンテンツ暗号化システムにおいて、
前記端末装置は、
時計手段と、
前記中央装置からコンテンツデータを受信した時刻に係る時刻情報を前記時計手段より取得する手段と、
取得した時刻情報を前記コンテンツデータに関連付けて記憶する手段と、
記憶した時刻情報に基づいて暗号鍵を生成する手段と、
生成した暗号鍵を用いて前記コンテンツデータを暗号化する手段と、
前記暗号鍵の生成に用いた時刻情報を前記中央装置へ送信する手段と
を備えることを特徴とするコンテンツ暗号化システム。
【請求項２】
通信網を介して接続される中央装置からコンテンツデータを受信し、受信したコンテンツデータを再生する端末装置において、
時計手段と、
コンテンツデータを受信した時刻に係る時刻情報を前記時計手段より取得する手段と、
取得した時刻情報を前記コンテンツデータに関連付けて記憶する手段と、
記憶した時刻情報に基づいて暗号鍵を生成する手段と、
生成した暗号鍵を用いて前記コンテンツデータを暗号化する手段と、
暗号化したコンテンツデータを再生する場合、前記暗号鍵を用いて復号する手段と
を備えることを特徴とする端末装置。
【請求項３】
自装置を識別する識別情報を記憶する手段と、
受信したコンテンツデータを特定する特定情報を取得する手段と
を更に備え、
前記時刻情報、前記識別情報、及び取得した特定情報に基づいて暗号鍵を生成するようにしてあることを特徴とする請求項２に記載の端末装置。
【請求項４】
端末装置にて受信したコンテンツデータを暗号化する方法において、
前記端末装置は、
コンテンツデータを受信した時刻に係る時刻情報を自装置の時計手段より取得し、
取得した時刻情報を前記コンテンツデータに関連付けて記憶し、
記憶した時刻情報に基づいて暗号鍵を生成し、
生成した暗号鍵を用いて前記コンテンツデータを暗号化する
ことを特徴とする暗号化方法。
【請求項５】
通信手段を備えたコンピュータに、前記通信手段にて受信したコンテンツデータを暗号化させるコンピュータプログラムにおいて、
前記コンピュータに、
コンテンツデータを受信した時刻に係る時刻情報を取得する処理と、
取得した時刻情報を前記コンテンツデータに関連付けて記憶する処理と、
記憶した時刻情報に基づいて暗号鍵を生成させる処理と、
生成した暗号鍵を用いて前記コンテンツデータを暗号化する処理と
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したコンテンツデータを暗号化するコンテンツ暗号化システム、端末装置、暗号化方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、サーバ装置から配信されるコンテンツデータをユーザが使用するクライアント端末にて受信し、クライアント端末にて再生できるようにした配信システムが知られている。コンテンツデータには、音楽データ、映像データ、アプリケーションプログラム等の様々なデータが含まれる。
【０００３】
このような配信システムでは、各クライアント端末におけるコンテンツ再生の可否を配信側にて制御できるように、ＤＲＭ鍵（Digital Rights Management）により暗号化した状態でコンテンツデータの配信を行い、コンテンツ再生を許可するクライアント端末のみにＤＲＭ鍵を配布することが多い。クライアント端末では、ＤＲＭ鍵で暗号化されたコンテンツデータをメモリ又はハードディスク装置などのストレージデバイスに記憶し、再生する際に配信サーバから配布されるＤＲＭ鍵を用いて復号した上で、コンテンツの再生を行う（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２５８０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クライアント端末が取得したコンテンツデータは暗号化された状態で保存されるため、クライアント端末は、コンテンツデータを復号するためにＤＲＭ鍵を取得する必要がある。従来では、ＤＲＭ鍵はクライアント端末に保存され、コンテンツの再生時にＤＲＭ鍵を用いた復号が行われるが、クライアント端末でのＤＲＭ鍵の消失に対処するために、ＤＲＭ鍵はサーバ側においても保持され、クライアント端末にてＤＲＭ鍵が消失した場合には、サーバ側より再送信を行っていた。
【０００６】
このように、従来では、ＤＲＭ鍵を予めサーバ側に保存しておき、ＤＲＭ鍵の消失時には、通信網を介してクライアント端末へ送信される。このため、ＤＲＭ鍵がサーバ側より流出した場合又は通信経路上でＤＲＭ鍵が流出した場合、サーバ側が許可していない外部の装置にてコンテンツが再生されてしまう虞があるという問題点を有していた。
【０００７】
また、昨今では電子書籍等の応用分野において端末装置毎に個別に鍵情報を端末装置内で生成し、ＤＲＭを実施する仕組みが実現されてきている。この場合、たとえＤＲＭ鍵が漏洩した場合であっても、そのＤＲＭ鍵はターゲットの端末装置以外では利用できないため、より高度なセキュリティが実現可能であるものの、個別のＤＲＭ鍵が何らかの理由により端末内から消失したときには復旧の手段がないという課題を有していた。
【０００８】
本発明は、斯かる事情に鑑みてなされたものであり、端末側にてコンテンツデータを復号するための暗号鍵が消失した場合であっても、暗号鍵を通信網を介して送信することなく復元できるコンテンツ暗号化システム、端末装置、暗号化方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願のコンテンツ暗号化システムは、通信網を介して接続される中央装置及び端末装置を備え、該端末装置からの要求に応じて中央装置がコンテンツデータを送信するコンテンツ暗号化システムにおいて、前記端末装置は、時計手段と、前記中央装置からコンテンツデータを受信した時刻に係る時刻情報を前記時計手段より取得する手段と、取得した時刻情報を前記コンテンツデータに関連付けて記憶する手段と、記憶した時刻情報に基づいて暗号鍵を生成する手段と、生成した暗号鍵を用いて前記コンテンツデータを暗号化する手段と、前記暗号鍵の生成に用いた時刻情報を前記中央装置へ送信する手段とを備えることを特徴とする。
【００１０】
本願の端末装置は、通信網を介して接続される中央装置からコンテンツデータを受信し、受信したコンテンツデータを再生する端末装置において、時計手段と、コンテンツデータを受信した時刻に係る時刻情報を前記時計手段より取得する手段と、取得した時刻情報を前記コンテンツデータに関連付けて記憶する手段と、記憶した時刻情報に基づいて暗号鍵を生成する手段と、生成した暗号鍵を用いて前記コンテンツデータを暗号化する手段と、暗号化したコンテンツデータを再生する場合、前記暗号鍵を用いて復号する手段とを備えることを特徴とする。
【００１１】
また、本願で開示する端末装置は、前記時刻情報を前記中央装置へ送信する手段を更に備えることを特徴とする。
【００１２】
また、本願で開示する端末装置は、前記コンテンツデータを復号するための暗号鍵の有無を判断する手段と、該手段が無と判断した場合、前記コンテンツデータに関連付けて記憶した時刻情報に基づいて暗号鍵を再生成する手段と、再生成した暗号鍵を用いて前記コンテンツデータを復号する手段とを備えることを特徴とする。
【００１３】
また、本願で開示する端末装置は、暗号鍵を再生成するための時刻情報の有無を判断する手段と、該手段が無と判断した場合、前記中央装置より前記時刻情報を取得する手段とを備え、前記中央装置より取得した時刻情報に基づいて前記暗号鍵を再生成するようにしてあることを特徴とする。
【００１４】
また、本願で開示する端末装置は、自装置を識別する識別情報を記憶する手段と、受信したコンテンツデータを特定する特定情報を取得する手段とを更に備え、前記時刻情報、前記識別情報、及び取得した特定情報に基づいて暗号鍵を生成するようにしてあることを特徴とする。
【００１５】
本願の暗号化方法は、端末装置にて受信したコンテンツデータを暗号化する方法において、前記端末装置は、コンテンツデータを受信した時刻に係る時刻情報を自装置の時計手段より取得し、取得した時刻情報を前記コンテンツデータに関連付けて記憶し、記憶した時刻情報に基づいて暗号鍵を生成し、生成した暗号鍵を用いて前記コンテンツデータを暗号化することを特徴とする。
【００１６】
本願のコンピュータプログラムは、通信手段を備えたコンピュータに、前記通信手段にて受信したコンテンツデータを暗号化させるコンピュータプログラムにおいて、前記コンピュータに、コンテンツデータを受信した時刻に係る時刻情報を取得する処理と、取得した時刻情報を前記コンテンツデータに関連付けて記憶する処理と、記憶した時刻情報に基づいて暗号鍵を生成させる処理と、生成した暗号鍵を用いて前記コンテンツデータを暗号化する処理とを実行させることを特徴とする。
【００１７】
本願では、コンテンツデータを取得した端末装置内で、コンテンツデータを暗号化及び復号する暗号鍵を生成する構成であり、中央装置と端末装置との間の通信経路上で暗号鍵は送受信されないため、外部へ流出する機会は少ない。
【００１８】
また、本願では、端末装置内の暗号鍵が消失した場合、端末装置内に記憶されている時刻情報を用いて暗号鍵が再生成される。
【００１９】
更に、本願では、暗号鍵の生成に用いた時刻情報は、中央装置と共有されるため、暗号鍵及び時刻情報の双方を消失した場合であっても、中央装置に格納された時刻情報を取得することにより、暗号鍵が再生成される。
【発明の効果】
【００２０】
本願によれば、中央装置と端末装置との間の通信経路上で暗号鍵の送受信を行わないため、暗号鍵が外部へ流出する機会は少ない。このため、端末装置に保存された暗号化済みのコンテンツデータが外部へ漏洩したとしても、外部装置にてコンテンツデータを再生することは困難であり、コンテンツデータの不正利用を防止することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係るコンテンツ配信システムの構成を示す模式図である。
【図２】配信サーバ及びクライアント端末の内部構成の一例を示すブロック図である。
【図３】コンテンツデータを暗号化する際のシーケンスを説明する説明図である。
【図４】コンテンツデータ受信時のクライアント端末の動作手順を説明するフローチャートである。
【図５】コンテンツ管理テーブルの一例を示す模式図である。
【図６】グループ管理テーブルの一例を示す模式図である。
【図７】鍵管理テーブルの一例を示す模式図である。
【図８】コンテンツデータ再生時のクライアント端末の動作手順を説明するフローチャートである。
【図９】実施の形態２におけるコンテンツデータ再生時のクライアント端末の動作手順を説明するフローチャートである。
【図１０】各モードにおける暗号鍵の生成手法を説明する説明図である。
【図１１】各モードにおける暗号鍵の生成手法を説明する説明図である。
【図１２】実施の形態４におけるコンテンツデータ受信時のクライアント端末の動作手順を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
本発明をその実施の形態を示す図面に基づいて具体的に説明する。
実施の形態１．
図１は本実施の形態に係るコンテンツ配信システムの構成を示す模式図である。本実施の形態に係るコンテンツ配信システムは、インターネットなどの通信ネットワークにより互いに通信可能に接続された配信サーバ２００とクライアント端末１００とを備える。配信サーバ２００は、音楽データ、映像データ、アプリケーションプログラムなどの各種コンテンツデータを記憶する記憶部２０２を備え（図２を参照）、通信ネットワークを介して受信する外部からの配信要求に応じてコンテンツデータを配信する。クライアント端末１００は、配信サーバ２００に対してコンテンツデータの配信を要求し、配信サーバ２００から配信されるコンテンツデータを受信する。
【００２３】
クライアント端末１００は、例えば、携帯型電話機、携帯型情報端末、メディアプレーヤ、パーソナルコンピュータ等の各種端末装置を含む。本実施の形態に係るクライアント端末１００は、配信サーバ２００から配信されるコンテンツデータを受信した場合、受信した時刻を示すタイムスタンプを生成し、生成したタイムスタンプを含むシードを用いて暗号鍵を生成する。また、クライアント端末１００は、暗号鍵を生成する際に用いたタイムスタンプを配信サーバ２００に通知する。
【００２４】
クライアント端末１００は、自装置内で生成した暗号鍵を用いてコンテンツデータを暗号化し、記憶部１０６に格納する（図２を参照）。コンテンツデータを再生する場合、クライアント端末１００は、受信時に生成した暗号鍵を用いてコンテンツデータを復号する。
【００２５】
なお、図１に示した例では、通信ネットワークに接続されたクライアント端末１００の台数を１台としたが、複数台のクライアント端末１００が接続される構成であっても良いことはもちろんのことである。
【００２６】
図２は配信サーバ２００及びクライアント端末１００の内部構成の一例を示すブロック図である。配信サーバ２００は、配信管理部２０１、記憶部２０２、通信部２０３、表示部２０４、及び入力部２０５を備える。配信管理部２０１は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを備え、記憶部２０２に記憶されているコンテンツデータの情報を管理し、通信部２０３にて受信したクライアント端末１００からの配信要求に応じたコンテンツデータの読み出し、当該クライアント端末１００へのコンテンツデータの配信手続き等を行う。
【００２７】
記憶部２０２は、ハードディスク等のストレージデバイスであり、配信対象のコンテンツデータを記憶する。また、記憶部２０２は、配信対象のコンテンツデータの情報を記憶するコンテンツ管理データベース２０２Ａ（コンテンツ管理ＤＢ２０２Ａ）、配信先のクライアント端末１００の情報を記憶する端末管理データベース２０２Ｂ（端末管理ＤＢ２０２Ｂ）、配信済みのコンテンツデータに関する情報をクライアント端末１００に関連付けて記憶する配信管理データベース２０２Ｃ（配信管理ＤＢ２０２Ｃ）などを備える。
【００２８】
通信部２０３は、通信ネットワークに接続されており、クライアント端末１００から通知される情報（例えば、コンテンツデータに対する配信要求等）を受信すると共に、送信すべき情報（コンテンツデータ等）をクライアント端末１００へ送信する。
【００２９】
表示部２０４は、液晶ディスプレイ装置などを備え、配信サーバ２００の管理者に対して報知すべき情報を表示する。入力部２０５は、キーボード、マウスなどの入力インタフェースを備え、配信サーバ２００の管理者による操作を受付ける。
【００３０】
クライアント端末１００は、制御部１０１、通信部１０２、周辺インタフェース１０３、データ管理部１０４、暗号・復号処理部１０５、記憶部１０６、表示部１０７、入力部１０８、出力部１０９を備える。制御部１０１は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを備え、ＲＯＭに予め格納されているコンピュータプログラムを読み出して実行することにより、上述したハードウェア各部の動作を制御し、装置全体を本願の端末装置として機能させる。
【００３１】
通信部１０２は、通信ネットワークに接続されており、配信サーバ２００に対してコンテンツデータの配信要求等を送信すると共に、この配信要求に応じて配信サーバ２００から送信されるコンテンツデータ等を受信する。
【００３２】
周辺インタフェース１０３は、ＳＤメモリカード（SD : Secure Digital）、ＳＤＨＣメモリカード（SDHC : SD High Capacity）、ＳＤＸＣカード（SDXC : SD eXtended Capacity）などの可搬型記憶媒体が備える記憶領域にアクセスする機能を有し、可搬型記憶媒体に記憶されているデータの読み込み、可搬型記憶媒体へのデータの書き込みを行う。
【００３３】
データ管理部１０４は、通信部１０２にて受信したデータ、及び周辺インタフェース１０３を通じて読み込んだデータを管理する。データ管理部１０４には、時計（不図示）が内蔵されており、通信部１０２にてコンテンツデータを受信した時刻、周辺インタフェース１０３を通じてコンテンツデータを読み込んだ時刻を、時計より取得し、受信時刻（読み込んだ時刻）を示すタイムスタンプを生成する。
【００３４】
暗号・復号処理部１０５は、通信部１０２を通じて受信した配信サーバ２００からのコンテンツデータを暗号化する処理、自装置内で暗号化したコンテンツデータを復号する処理を実行する。本実施の形態では、コンテンツデータの受信時刻を示すタイムスタンプをシードとして用いて自装置内で暗号鍵を生成し、その暗号鍵を用いてコンテンツデータを暗号化し、復号することを特徴の１つとしている。
【００３５】
記憶部１０６は、ハードディスク等のストレージデバイスであり、その記憶領域の一部は、各種データを一時的に記憶する一時記憶領域、暗号化済みのコンテンツデータを記憶するコンテンツデータ保存領域、自装置内で生成した暗号鍵を記憶する暗号鍵記憶領域として利用される。また、記憶部１０６は、受信したコンテンツデータの情報を記憶するコンテンツ管理テーブル１０６Ａ、コンテンツのグループの情報を記憶するグループ管理テーブル１０６Ｂ、自装置内で生成した暗号鍵の情報を記憶する鍵管理テーブル１０６Ｃを備える。
【００３６】
表示部１０７は、液晶ディスプレイ装置などを備え、クライアント端末１００のユーザに対して報知すべき情報を表示する。入力部１０８は、キーボード、マウスなどの入力インタフェースを備え、クライアント端末１００のユーザによる操作を受付ける。出力部１０９は、スピーカ等を備え、コンテンツデータの再生時に音声、音楽などの音を外部へ出力する。
【００３７】
図３はコンテンツデータを暗号化する際のシーケンスを説明する説明図である。上述したようにクライアント端末１００は、コンテンツデータ受信時のタイムスタンプを用いて暗号鍵Ｋｔを生成する。このとき、暗号鍵Ｋｔを生成するシードには、タイムスタンプの他に、クライアント端末１００の識別情報である端末ＩＤ、コンテンツデータの識別情報であるコンテンツＩＤ、コンテンツの名称であるコンテンツ名称を含めることができる。なお、コンテンツ名称には、リビジョン情報が含まれていてもよい。
【００３８】
クライアント端末１００は、端末ＩＤ、コンテンツＩＤ、コンテンツ名称、及びタイムスタンプをデータ列として連結し、連結したデータ列を予め定めたハッシュ関数Ｈに入力することによって、暗号鍵Ｋｔを生成する。クライアント端末１００は、配信サーバ２００から受信したコンテンツデータＭを暗号鍵Ｋｔを用いて暗号化し、暗号化コンテンツＣを取得する。
【００３９】
また、クライアント端末１００は、コンテンツデータを暗号化する都度、端末ＩＤ、コンテンツＩＤ、及びタイムスタンプを配信サーバ２００に通知する。このとき、クライアント端末１００は、タイムスタンプについては暗号化した上で配信サーバ２００に通知する。タイムスタンプの暗号化は、例えば、既存の公開鍵暗号方式を用いて実施することができる。すなわち、クライアント端末１００は、タイムスタンプを暗号化するためのサーバ公開鍵Ｋｐｕｂを配信サーバ２００から事前に取得しておき、通知すべきタイムスタンプをサーバ公開鍵Ｋｐｕｂを用いて暗号化した上で、配信サーバ２００への通知を行う。配信サーバ２００は、自装置が有するサーバ私有鍵Ｋｐｒｉを用いて、暗号化されたタイムスタンプを復号し、コンテンツデータを暗号化する際にクライアント端末１００が用いたタイムスタンプの情報を取得する。
なお、配信サーバ２００へ通知する情報には、クライアント端末１００でのコンテンツ受信時におけるタイムスタンプが含まれていればよく、端末ＩＤ、コンテンツＩＤ及びコンテンツ名称が含まれていなくてもよい。これは、例えば、ＨＴＴＰ＿ＧＥＴ型の要求応答型プロトコルにて実現される場合が含まれる。
【００４０】
図３のシーケンスでは、端末ＩＤ、コンテンツＩＤ、コンテンツ名称、及びタイムスタンプをデータ列として連結したシードを用いて暗号鍵Ｋｔを生成する構成について説明したが、タイムスタンプのみをシードとして暗号鍵を生成する構成としてもよく、また、端末ＩＤ、コンテンツＩＤ及びタイムスタンプをデータ列として連結したシードを用いて暗号鍵を生成する構成としてもよい。
【００４１】
図４はコンテンツデータ受信時のクライアント端末１００の動作手順を説明するフローチャートである。クライアント端末１００の制御部１０１は、まず、コンテンツデータを受信する際に必要な初期化処理を行う（ステップＳ１１）。この初期化処理には、配信サーバ２００との通信を確立させる処理、配信サーバ２００に対して所望のコンテンツデータを要求する処理などが含まれる。また、初期化処理には、コンテンツデータに対する対価を支払う精算処理が含まれていてもよい。
【００４２】
次いで、クライアント端末１００のデータ管理部１０４は、コンテンツデータの受信を開始したか否かを判断する（ステップＳ１２）。コンテンツデータの受信を開始していない場合（Ｓ１２：ＮＯ）、データ管理部１０４は、コンテンツデータの受信を開始するまで待機する。コンテンツデータは、例えば、ストリームデータとして配信サーバ２００から送信される。
【００４３】
コンテンツデータの受信を開始した場合（Ｓ１２：ＹＥＳ）、データ管理部１０４は、コンテンツデータの受信が完了したか否かを判断する（ステップＳ１３）。データ管理部１０４は、通信部１０２を通じて受信したストリームデータを記憶部１０６内の一時記憶領域に記憶させる。コンテンツデータの受信が完了していないと判断した場合（Ｓ１３：ＮＯ）、データ管理部１０４は、コンテンツデータの受信が完了するまで待機する。
【００４４】
１つのコンテンツデータを構成するストリームデータを全て受信した場合、データ管理部１０４は、コンテンツデータの受信が完了したと判断する（Ｓ１３：ＹＥＳ）。データ管理部１０４は、内蔵の時計を参照して、コンテンツデータの受信が完了した時刻を取得し、その時刻を示すタイムスタンプを生成する（ステップＳ１４）。
【００４５】
次いで、データ管理部１０４は、生成したタイムスタンプを配信サーバ２００に通知する（ステップＳ１５）。タイムスタンプは、例えば、通信のハンドシェイクの中で配信サーバ２００へ通知することができる。このとき、データ管理部１０４は、生成したタイムスタンプを暗号・復号処理部１０５に送出し、事前に取得しておいたサーバ公開鍵Ｋｐｕｂを用いてタイムスタンプを暗号化させ、暗号化後のタイムスタンプを端末ＩＤ及びコンテンツＩＤと共に配信サーバ２００へ送信する。また、データ管理部１０４は、暗号鍵の生成に必要な情報（コンテンツＩＤ、コンテンツ名称、タイムスタンプ）を暗号・符号処理部へ送出する。
【００４６】
次いで、データ管理部１０４は、受信が完了したコンテンツデータが最終コンテンツであるか否かを判断する（ステップＳ１６）。最終コンテンツでないと判断した場合（Ｓ１６：ＮＯ）、データ管理部１０４は、処理をステップＳ１２へ戻し、１つのコンテンツを受信する都度、タイムスタンプの生成及びタイムスタンプの通知を繰り返す。
【００４７】
最終コンテンツを受信したと判断した場合（Ｓ１６：ＹＥＳ）、データ管理部１０４は、受信したコンテンツデータの情報をコンテンツ管理テーブル１０６Ａに格納する（ステップＳ１７）。図５はコンテンツ管理テーブル１０６Ａの一例を示す模式図である。コンテンツ管理テーブル１０６Ａでは、管理番号、コンテンツＩＤ、コンテンツ名称、タイムスタンプ、コンテンツファイル名、ファイルパス、コンテンツＤＢパス、暗号化のＯＮ／ＯＦＦ、グループエントリ、鍵管理テーブル１０６Ｃエントリを関連付けて記憶する。
【００４８】
コンテンツ管理テーブル１０６Ａの管理番号は、コンテンツ管理テーブル１０６Ａ内の情報を特定するための番号であり、コンテンツデータの情報をコンテンツ管理テーブル１０６Ａに登録する際にデータ管理部１０４によって付与される番号である。コンテンツＩＤ及びコンテンツ名称は、各コンテンツデータに付与されている属性情報である。データ管理部１０４は、コンテンツデータの受信時にこれらの属性情報をコンテンツデータから抽出し、コンテンツ管理テーブル１０６Ａに登録する。コンテンツ名称には、リビジョン情報が含まれていてもよい。
【００４９】
タイムスタンプは、コンテンツデータの受信時刻を示す文字列のデータであり、予め定めた書式でコンテンツ管理テーブル１０６Ａに登録される。コンテンツファイル名は及びファイルパスは、それぞれコンテンツデータのファイル名、記憶部１０６内での保存場所を示す。コンテンツＤＢパスは、コンテンツデータの再生時に一時的に復号したファイルの記憶場所を示す。暗号化のＯＮ／ＯＦＦは、コンテンツデータを暗号化するか否かを示すフラグであり、ＯＮは暗号化することを示し、ＯＦＦは暗号化しないことを示す。本実施の形態では、各コンテンツデータを暗号化するため、暗号化のＯＮ／ＯＦＦはＯＮに設定される。
【００５０】
グループエントリは、各コンテンツデータが属するグループの識別番号であり、同一のグループに属するコンテンツデータには、同一の識別番号が付与される。図５に示した例では、コンテンツＩＤが「bbbb0002」及び「cccc0003」のコンテンツデータが同一のグループに属することを示している。
鍵管理テーブル１０６Ｃエントリは、鍵管理テーブル１０６Ｃに登録されている情報との対応付けを示す識別番号である。例えば、鍵管理テーブル１０６Ｃエントリが「１」のコンテンツデータは、鍵管理テーブル１０６Ｃの管理番号が「１」で特定される暗号鍵によって暗号化されていることを示している。
【００５１】
データ管理部１０４は、受信したコンテンツデータの情報をコンテンツ管理テーブル１０６Ａに登録すると共に、コンテンツデータのグループに関する情報をグループ管理テーブル１０６Ｂに登録する。図６はグループ管理テーブル１０６Ｂの一例を示す模式図である。グループ管理テーブル１０６Ｂでは、管理番号、コンテンツＩＤ、タイムスタンプ、モード、グループ管理のＯＮ／ＯＦＦを関連付けて記憶する。
【００５２】
グループ管理テーブル１０６Ｂの管理番号は、グループを識別するための識別番号であり、グループ毎に固有の番号がデータ管理部１０４により付与される。コンテンツＩＤは、各グループに属するコンテンツデータのＩＤを示す。図６に示した例では、管理番号が「１」のグループには、「aaaa0001」のコンテンツＩＤを有するコンテンツデータのみが属し、管理番号が「２」のグループには、「bbbb0002」及び「cccc0003」のコンテンツＩＤを有する２つのコンテンツデータが属することを示している。
【００５３】
モードは、グループ管理する場合の暗号鍵の生成手法を定める情報である。なお、グループ管理する場合の暗号鍵の生成手法については、実施の形態３で説明する。グループ管理のＯＮ／ＯＦＦは、複数のコンテンツデータをグループ管理するか否かを示すフラグである。グループ管理がＯＮの場合、複数のコンテンツデータをグループ管理することを示し、グループ管理がＯＦＦの場合、グループ管理しないことを示している。なお、グループの設定、モードの設定、グループ管理のＯＮ／ＯＦＦは、コンテンツデータ毎に予め設定されているものとする。
【００５４】
図４に示すフローチャートのステップＳ１８において、暗号・符号処理部は、自装置の端末ＩＤ及びデータ管理部１０４から送出される情報（コンテンツＩＤ、コンテンツ名称、タイムスタンプ）に基づき暗号鍵を生成する（ステップＳ１８）。すなわち、暗号・符号処理部は、端末ＩＤ、コンテンツＩＤ、コンテンツ名称、タイムスタンプをデータ列として連結し、連結したデータ列をハッシュ関数に入力することによって、暗号鍵を生成する。
【００５５】
暗号・符号処理部は、生成した暗号鍵を記憶部１０６内の暗号鍵記憶領域に記憶させると共に、記憶させた暗号鍵の情報を鍵管理テーブル１０６Ｃに登録する。図７は鍵管理テーブル１０６Ｃの一例を示す模式図である。鍵管理テーブル１０６Ｃでは、管理番号、コンテンツＩＤ、コンテンツ名称、コンテンツ受信タイムスタンプ、仮タイムスタンプ、暗号鍵ファイル、タイムスタンプ取得フラグを関連付けて記憶する。
【００５６】
鍵管理テーブル１０６Ｃにおける管理番号は、鍵管理テーブル１０６Ｃ内の情報を特定するための番号であり、暗号鍵の情報を鍵管理テーブル１０６Ｃに登録する際に暗号・符号処理部によって付与される番号である。コンテンツＩＤ及びコンテンツ名称は、共にコンテンツデータを特定するための情報であり、コンテンツデータの属性情報として付与されている情報である。コンテンツ名称は、リビジョン情報を含むものであってもよい。
【００５７】
タイムスタンプは、コンテンツデータの受信時刻を表す文字列のデータであり、データ管理部１０４より取得したデータが登録される。仮タイムスタンプは、暗号鍵を再生成する再に登録されるタイムスタンプを示す。暗号鍵ファイルは、暗号鍵を特定するための情報であり、ファイルパス、ファイル名などにより記述される。タイムスタンプ取得フラグは、タイムスタンプの取得状況を表すフラグであり、「０」は未取得、「１」は取得中、「２」は更新データ取得済み、「３」は更新要、「−１」は取得済みを表す。
【００５８】
暗号・復号処理部１０５は、ステップＳ１８で生成した暗号鍵を用いて、コンテンツデータの暗号化を行う（ステップＳ１９）。暗号・復号処理部１０５は、暗号化したコンテンツデータを記憶部１０６内にコンテンツデータ保存領域に記憶させると共に、コンテンツデータの記憶場所等の情報をコンテンツ管理テーブル１０６Ａに登録する。
【００５９】
図８はコンテンツデータ再生時のクライアント端末１００の動作手順を説明するフローチャートである。制御部１０１は、まず、コンテンツデータを再生する際に必要な初期化処理を実行する（ステップＳ２１）。この初期化処理には、例えば、入出力を初期化する処理が含まれる。
【００６０】
次いで、制御部１０１は、入力部を通じて、ユーザによるコンテンツデータの再生指示を受付けたか否かを判断する（ステップＳ２２）。コンテンツデータの再生指示を受付けていない場合（Ｓ２２：ＮＯ）、制御部１０１は、再生指示を受付けるまで待機する。
【００６１】
配信サーバ２００から受信したコンテンツデータは、暗号化された状態で格納されているため、コンテンツデータの再生指示を受付けた場合（Ｓ２２：ＹＥＳ）、制御部１０１は、当該コンテンツデータを復号するための暗号鍵の有無を判断する（ステップＳ２３）。具体的には、制御部１０１は、再生対象のコンテンツデータからコンテンツＩＤ又はコンテンツ名称を取得し、鍵管理テーブル１０６Ｃを参照することによって、暗号鍵ファイルにより特定される暗号鍵の有無を判断する。
【００６２】
再生対象のコンテンツデータを復号するための暗号鍵が有ると判断した場合（Ｓ２３：ＹＥＳ）、制御部１０１は、暗号鍵ファイルにより特定される暗号鍵を取得し（ステップＳ２４）、暗号化されたコンテンツデータの復号を行う（ステップＳ２５）。このとき、制御部１０１は、取得した暗号鍵を暗号・符号処理部に受け渡し、再生対象のコンテンツデータを復号する処理を実行させる。暗号・復号処理部１０５は、復号したコンテンツデータを記憶部１０６内の一時記憶領域に格納する（ステップＳ２６）。
【００６３】
次いで、制御部１０１は、コンテンツデータの再生処理を実行する（ステップＳ２７）。例えば、コンテンツデータが音楽データである場合、音楽を再生する処理を行い、コンテンツデータが映像データである場合、映像を表示する処理を行い、コンテンツデータがアプリケーションプログラムである場合、そのアプリケーションプログラムを実行する処理を行う。
【００６４】
制御部１０１は、コンテンツデータの再生を終了するか否かを判断し（ステップＳ２８）、コンテンツデータの再生が終了していない場合（Ｓ２８：ＮＯ）、コンテンツデータの再生処理を継続して実行する。
コンテンツデータの再生が終了したと判断した場合（Ｓ２８：ＹＥＳ）、制御部１０１は、一時記憶領域に格納したコンテンツデータを削除する（ステップＳ２９）。
【００６５】
ステップＳ２３で再生対象のコンテンツデータを復号するための暗号鍵が無いと判断した場合（Ｓ２３：ＮＯ）、制御部１０１は、鍵管理テーブル１０６Ｃを参照し、タイムスタンプが登録されているか否かを判断する（ステップＳ３０）。
タイムスタンプが登録されていると判断した場合（Ｓ３０：ＹＥＳ）、制御部１０１は、暗号・復号処理部１０５に指示を出し、暗号鍵の再生成を実行させる（ステップＳ３１）。暗号・復号処理部１０５は、端末ＩＤ、コンテンツＩＤ、コンテンツ名称、及びタイムスタンプをデータ列として連結し、ハッシュ関数Ｈに入力することによって、暗号鍵を再生成する。
【００６６】
暗号鍵を再生成した後、制御部１０１は、ステップＳ２５以降の処理を実行する。すなわち、再生成した暗号鍵を用いて暗号化されたコンテンツデータの復号を行い、復号したコンテンツデータの再生処理を実行する。
【００６７】
ステップＳ３０で鍵管理テーブル１０６Ｃにタイムスタンプが登録されていないと判断した場合（Ｓ３０：ＮＯ）、制御部１０１は、通信部１０２を通じて配信サーバ２００にタイムスタンプの送信要求を行う（ステップＳ３２）。タイムスタンプの送信要求を行う際、制御部１０１は、送信すべきタイムスタンプを特定するための情報として、端末ＩＤ、コンテンツＩＤ及びコンテンツ名称を配信サーバ２００に通知する。制御部１０１は、送信要求に応じて配信サーバ２００から送信されるタイムスタンプを受信したか否かを判断し（ステップＳ３３）、受信していない場合（Ｓ３３：ＮＯ）、タイムスタンプを受信するまで待機する。
【００６８】
タイムスタンプを受信したと判断した場合（Ｓ３３：ＹＥＳ）、制御部１０１は、ステップＳ３１以降の処理を実行する。すなわち、配信サーバ２００から取得したタイムスタンプを用いて暗号鍵を再生成させる処理を行い、再生成させた暗号鍵を用いて暗号化されたコンテンツデータを復号し、復号したコンテンツデータの再生処理を実行する。
【００６９】
以上のように、本実施の形態では、コンテンツデータを暗号化及び復号する暗号鍵は、コンテンツデータを取得したクライアント端末１００内で生成されて管理されており、配信サーバ２００とクライアント端末１００との間の通信経路上で送受信されないため、外部へ流出する機会は少ない。このため、クライアント端末１００に格納されている暗号化済みのコンテンツデータが外部へ漏洩したとしても、外部装置にてコンテンツデータを再生することは困難である。
【００７０】
また、クライアント端末１００内で暗号鍵が消失した場合、鍵管理テーブル１０６Ｃに登録されているタイムスタンプ等の情報を用いて暗号鍵を再生成することができる。更に、暗号鍵の生成に用いたタイムスタンプ等の情報は、配信サーバ２００と共有されているため、暗号鍵及びタイムスタンプの双方を消失した場合であっても、配信サーバ２００からタイムスタンプ等の情報を取得することにより、暗号鍵を再生成することができる。
【００７１】
実施の形態２．
実施の形態１では、クライアント端末１００にて暗号鍵及びタイムスタンプの双方が消失した場合、クライアント端末１００は、配信サーバ２００に記憶されているタイムスタンプを取得し、コンテンツデータを復号する構成としたが、このときタイムスタンプを再発行し、新たなタイムスタンプに更新する構成としてもよい。実施の形態２では、タイムスタンプを更新する構成について説明する。
なお、コンテンツ配信システムの構成、配信サーバ２００及びクライアント端末１００の内部構成は実施の形態１と全く同様であるため、その説明を省略することとする。
【００７２】
図９は実施の形態２におけるコンテンツデータ再生時のクライアント端末１００の動作手順を説明するフローチャートである。クライアント端末１００は、制御部１０１は、まず、コンテンツデータを再生する際に必要な初期化処理を実行する（ステップＳ２１）。この初期化処理には、例えば、入出力を初期化する処理が含まれる。
【００７３】
次いで、制御部１０１は、入力部を通じて、ユーザによるコンテンツデータの再生指示を受付けたか否かを判断する（ステップＳ２２）。コンテンツデータの再生指示を受付けていない場合（Ｓ２２：ＮＯ）、制御部１０１は、再生指示を受付けるまで待機する。
【００７４】
再生指示を受付けた場合であって（Ｓ２２：ＹＥＳ）、自装置内に再生対象のコンテンツデータを復号する暗号鍵があるとき（Ｓ２３：ＹＥＳ）、実施の形態１と全く同様の手順にて、コンテンツデータの復号及び再生を行う（Ｓ２３〜Ｓ２９）。
【００７５】
また、自装置内に再生対象のコンテンツデータを復号する暗号鍵がない場合であっても（Ｓ２３：ＮＯ）、鍵管理テーブル１０６Ｃに登録されたタイムスタンプが存在するときには（Ｓ３０：ＹＥＳ）、実施の形態１と全く同様の手順にて、暗号鍵の再生成を行い（Ｓ３１）、コンテンツデータの復号及び再生を行う（Ｓ２５〜Ｓ２９）。
【００７６】
自装置内に暗号鍵がなく（Ｓ２３：ＮＯ）、鍵管理テーブル１０６Ｃに登録されたタイムスタンプもない場合（Ｓ３０：ＮＯ）、制御部１０１は、通信部１０２を通じて配信サーバ２００にタイムスタンプの送信要求を行う（ステップＳ３２）。タイムスタンプの送信要求を行う際、制御部１０１は、送信すべきタイムスタンプを特定するための情報として、端末ＩＤ、コンテンツＩＤ及びコンテンツ名称を配信サーバ２００に通知する。制御部１０１は、送信要求に応じて配信サーバ２００から送信されるタイムスタンプを受信したか否かを判断し（ステップＳ３３）、受信していない場合（Ｓ３３：ＮＯ）、タイムスタンプを受信するまで待機する。
【００７７】
タイムスタンプを受信したと判断した場合（Ｓ３３：ＹＥＳ）、制御部１０１は、受信したタイムスタンプを記憶部１０６に格納すると共に（ステップＳ３４）、データ管理部１０４に新たなタイムスタンプを生成させ（ステップＳ３５）、新たに生成させたタイムスタンプを配信サーバ２００へ通知させる（ステップＳ３６）。
【００７８】
データ管理部１０４は、制御部１０１から指示された時刻（例えば、配信サーバ２００からタイムスタンプを受信した時刻）を基にタイムスタンプを生成することができる。データ管理部１０４は、新たに生成したタイムスタンプを鍵管理テーブル１０６Ｃの仮タイムスタンプ欄に登録する。また、データ管理部１０４は、新たに生成したタイムスタンプを暗号・復号処理部１０５に送出し、事前に取得しておいたサーバ公開鍵Ｋｐｕｂを用いてタイムスタンプを暗号化させ、暗号化後のタイムスタンプを端末ＩＤ及びコンテンツＩＤと共に配信サーバ２００へ送信する。
【００７９】
次いで、制御部１０１は、ステップＳ３４で記憶部１０６に格納したタイムスタンプ（旧タイムスタンプ）等の情報を暗号・復号処理部１０５へ送出し、暗号・復号処理部１０５に暗号鍵を生成させる（ステップＳ３７）。暗号・復号処理部１０５は、生成した暗号鍵を用いて再生対象のコンテンツデータを復号し（ステップＳ３８）、復号したコンテンツデータを記憶部１０６内の一時記憶領域に格納する（ステップＳ３９）。制御部１０１は、ステップＳ２７以降の処理を実行することにより、復号したコンテンツデータを再生する。
【００８０】
一方、データ管理部１０４は、コンテンツデータの復号に用いた旧タイムスタンプ及び旧暗号鍵を破棄し（ステップＳ４０）、鍵管理テーブル１０６Ｃに登録するタイムスタンプを更新する（ステップＳ４１）。このとき、データ管理部１０４は、ステップＳ３７で生成した暗号鍵を削除すると共に、再生対象のコンテンツデータに関連付けて鍵管理テーブル１０６Ｃに記憶されているタイムスタンプを仮タイムスタンプにより置き換える操作を行う。
【００８１】
次いで、データ管理部１０４は、更新したタイムスタンプ（新タイムスタンプ）等の情報を暗号・復号処理部１０５へ送出し、暗号・復号処理部１０５に暗号鍵を生成させる（ステップＳ４２）。暗号・復号処理部１０５は、生成した暗号鍵を用いて、コンテンツデータの暗号化を行う（ステップＳ４３）。暗号・復号処理部１０５は、暗号化したコンテンツデータを記憶部１０６内にコンテンツデータ保存領域に記憶させると共に、コンテンツデータの記憶場所等の情報をコンテンツ管理テーブル１０６Ａに登録する。
【００８２】
以上のように、実施の形態２では、クライアント端末１００内に暗号鍵及びタイムスタンプの双方が存在しない場合には、配信サーバ２００から旧タイムスタンプを取得するだけでなく、新タイムスタンプへ更新する構成であるため、外部装置での再生をより困難にすることができる。
【００８３】
実施の形態３．
実施の形態３では、グループ化されたコンテンツデータを受信した際に暗号化する手法について説明する。
【００８４】
クライアント端末１００は、グループ化されたコンテンツデータの情報を記憶するグループ管理テーブル１０６Ｂを有する（図６を参照）。グループ管理テーブル１０６Ｂは、グループ化されたコンテンツデータを暗号化する際の暗号鍵の生成手法（モード）を規定している。本実施の形態に係るクライアント端末１００は、「FirstIn」、「LastIn」、「All」の３つのモードを有するものとして説明する。
【００８５】
図１０及び図１１は各モードにおける暗号鍵の生成手法を説明する説明図である。図１０（ａ）は「FirstIn」による暗号鍵の生成手法を示している。「FirstIn」のモードでは、１つのグループに属するコンテンツデータ（コンテンツデータＭ１〜コンテンツデータＭｎ）のうち、最初に受信したコンテンツデータ（コンテンツデータＭ１）の受信時刻に基づきタイムスタンプを生成する。各コンテンツデータＭ１〜コンテンツデータＭｎを暗号化する暗号鍵Ｋｔ１〜Ｋｔｎは、最初のコンテンツデータＭ１の受信時刻に基づくタイムスタンプ（タイムスタンプ１）を用いて生成する。
【００８６】
すなわち、コンテンツデータＭ１を暗号化する場合、端末ＩＤ、コンテンツ１（コンテンツデータＭ１のコンテンツＩＤ及び名称）、及びタイムスタンプ１をデータ列として連結したものをシードとしてハッシュ関数Ｈに入力し、暗号鍵Ｋｔ１を取得する。同じグループに属する他のコンテンツデータも同様であり、コンテンツデータＭｎを暗号化する場合、端末ＩＤ、コンテンツｎ（コンテンツデータＭｎのコンテンツＩＤ及び名称）、及びタイムスタンプ１をデータ列として連結したものをシードとしてハッシュ関数Ｈに入力し、暗号鍵Ｋｔｎを取得する。
【００８７】
図１０（ｂ）は「LastIn」による暗号鍵の生成手法を示している。「LastIn」のモードでは、１つのグループに属するコンテンツデータ（コンテンツデータＭ１〜コンテンツデータＭｎ）のうち、最後に受信したコンテンツデータ（コンテンツデータＭｎ）の受信時刻に基づきタイムスタンプを生成する。各コンテンツデータＭ１〜コンテンツデータＭｎを暗号化する暗号鍵Ｋｔ１〜Ｋｔｎは、最後のコンテンツデータＭｎの受信時刻に基づくタイムスタンプ（タイムスタンプｎ）を用いて生成する。
【００８８】
すなわち、コンテンツデータＭ１を暗号化する場合、端末ＩＤ、コンテンツ１（コンテンツデータＭ１のコンテンツＩＤ及び名称）、及びタイムスタンプｎをデータ列として連結したものをシードとしてハッシュ関数Ｈに入力し、暗号鍵Ｋｔ１を取得する。同じグループに属する他のコンテンツデータも同様であり、コンテンツデータＭｎを暗号化する場合、端末ＩＤ、コンテンツｎ（コンテンツデータＭｎのコンテンツＩＤ及び名称）、及びタイムスタンプｎをデータ列として連結したものをシードとしてハッシュ関数Ｈに入力し、暗号鍵Ｋｔｎを取得する。
【００８９】
図１１（ｃ）は「All」による暗号鍵の生成手法を示している。「LastIn」のモードでは、１つのグループに属する各コンテンツデータ（コンテンツデータＭ１〜コンテンツデータＭｎ）の受信時刻に基づきタイムスタンプを生成する。各コンテンツデータＭ１〜コンテンツデータＭｎを暗号化する暗号鍵Ｋｔ１〜Ｋｔｎは、各コンテンツデータＭ１〜Ｍｎの受信時刻に基づくタイムスタンプ（タイムスタンプ１，タイムスタンプ２，…，タイムスタンプｎ）を用いて生成する。
【００９０】
すなわち、コンテンツデータＭ１を暗号化する場合、端末ＩＤ、コンテンツ１（コンテンツデータＭ１のコンテンツＩＤ及び名称）、及びタイムスタンプ１，タイムスタンプ２，…タイムスタンプｎをデータ列として連結したものをシードとしてハッシュ関数Ｈに入力し、暗号鍵Ｋｔ１を取得する。同じグループに属する他のコンテンツデータも同様であり、コンテンツデータＭｎを暗号化する場合、端末ＩＤ、コンテンツｎ（コンテンツデータＭｎのコンテンツＩＤ及び名称）、及びタイムスタンプ１，タイムスタンプ２，…，タイムスタンプｎをデータ列として連結したものをシードとしてハッシュ関数Ｈに入力し、暗号鍵Ｋｔｎを取得する。
【００９１】
以上のように、実施の形態３では、同一グループ内のコンテンツデータは、共通のタイムスタンプを用いた暗号鍵により暗号化されるので、暗号鍵及び暗号鍵の生成に必要なタイムスタンプの管理が容易である。
【００９２】
実施の形態４．
実施の形態１では、配信サーバ２００から受信したコンテンツデータをクライアント端末１００にて受信する構成としたが、配信サーバ２００が配信するコンテンツデータを事前に暗号化しておき、クライアント端末１００にて一旦復号した後、そのクライアント端末１００内で生成した暗号鍵を用いて再度暗号化する構成としてもよい。
実施の形態４では、事前に暗号化されたコンテンツデータをクライアント端末１００にて処理する構成について説明を行う。
【００９３】
図１２は実施の形態４におけるコンテンツデータ受信時のクライアント端末１００の動作手順を説明するフローチャートである。クライアント端末１００の制御部１０１は、まず、コンテンツデータを受信する際に必要な初期化処理を行う（ステップＳ５１）。この初期化処理には、配信サーバ２００との通信を確立させる処理、配信サーバ２００に対して所望のコンテンツデータを要求する処理などが含まれる。また、初期化処理には、コンテンツデータに対する対価を支払う精算処理が含まれていてもよい。
【００９４】
次いで、クライアント端末１００のデータ管理部１０４は、配信サーバ２００により暗号化された暗号化済みのコンテンツデータの受信を開始したか否かを判断する（ステップＳ５２）。受信を開始していない場合（Ｓ５２：ＮＯ）、データ管理部１０４は、受信を開始するまで待機する。
【００９５】
受信を開始した場合（Ｓ５２：ＹＥＳ）、データ管理部１０４は、暗号化済みのコンテンツデータの受信が完了したか否かを判断する（ステップＳ５３）。コンテンツデータの受信が完了していないと判断した場合（Ｓ５３：ＮＯ）、データ管理部１０４は、受信が完了するまで待機する。
【００９６】
暗号化済みのコンテンツデータの受信が完了したと判断した場合（Ｓ５３：ＹＥＳ）、データ管理部１０４は、配信サーバ２００より送信される復号鍵を受信したか否かを判断する（ステップＳ５４）。復号鍵を受信していない場合（Ｓ５４：ＮＯ）、データ管理部１０４は、復号鍵を受信するまで待機する。なお、本実施の形態では、暗号化済みのコンテンツデータを受信した後に、復号鍵を受信する構成としたが、事前に復号鍵を配信サーバ２００より取得しておき、暗号化済みのコンテンツデータを受信した際にその復号鍵を用いて復号する構成であってもよい。
復号鍵を受信した場合（Ｓ５４：ＹＥＳ）、暗号・復号処理部１０５は、その復号鍵を用いて、受信が完了した暗号化済みのコンテンツデータを復号する（ステップＳ５５）。
【００９７】
次いで、データ管理部１０４は、時計を参照し、コンテンツデータの復号が完了した時刻を取得し、その時刻を示すタイムスタンプを生成し（ステップＳ５６）。生成したタイムスタンプを配信サーバ２００に通知する（ステップＳ５７）。このとき、データ管理部１０４は、生成したタイムスタンプを暗号・復号処理部１０５に送出し、事前に取得しておいたサーバ公開鍵Ｋｐｕｂを用いてタイムスタンプを暗号化させ、暗号化後のタイムスタンプを端末ＩＤ及びコンテンツＩＤと共に配信サーバ２００へ送信する。また、データ管理部１０４は、暗号鍵の生成に必要な情報（コンテンツＩＤ、コンテンツ名称、タイムスタンプ）を暗号・符号処理部へ送出する。
【００９８】
次いで、データ管理部１０４は、受信が完了したコンテンツデータが最終コンテンツであるか否かを判断する（ステップＳ５８）。最終コンテンツでないと判断した場合（Ｓ５８：ＮＯ）、データ管理部１０４は、処理をステップＳ５２へ戻し、１つのコンテンツを受信する都度、暗号化済みコンテンツデータの復号、タイムスタンプの生成、及びタイムスタンプの通知を繰り返す。
【００９９】
最終コンテンツを受信したと判断した場合（Ｓ５８：ＹＥＳ）、データ管理部１０４は、受信したコンテンツデータの情報をコンテンツ管理テーブル１０６Ａに格納する（ステップＳ５９）。
次いで、暗号・復号処理部１０５は、自装置の端末ＩＤ及びデータ管理部１０４から送出される情報（コンテンツＩＤ、コンテンツ名称、タイムスタンプ）に基づき暗号鍵を生成する（ステップＳ６０）。すなわち、暗号・復号処理部１０５は、端末ＩＤ、コンテンツＩＤ、コンテンツ名称、タイムスタンプをデータ列として連結し、連結したデータ列をハッシュ関数に入力することによって、暗号鍵を生成する。
【０１００】
暗号・復号処理部１０５は、生成した暗号鍵を記憶部１０６内の暗号鍵記憶領域に記憶させると共に、記憶させた暗号鍵の情報を鍵管理テーブル１０６Ｃに登録する。そして、暗号・復号処理部１０５は、生成した暗号鍵を用いて、コンテンツデータの暗号化を行う（ステップＳ６１）。暗号・復号処理部１０５は、暗号化したコンテンツデータを記憶部１０６内にコンテンツデータ保存領域に記憶させると共に、コンテンツデータの記憶場所等の情報をコンテンツ管理テーブル１０６Ａに登録する。
【０１０１】
以上のように、実施の形態４では、配信サーバ２００とクライアント端末１００との間の通信経路において、配信サーバ２００からクライアント端末１００へ暗号化された状態でコンテンツデータが送信されるため、通信経路上でコンテンツデータが漏洩した場合であっても、外部装置にてそのコンテンツデータを再生することは困難である。
【０１０２】
なお、実施の形態１〜４においては、クライアント端末１００は、通信部１０２を通じて受信したコンテンツデータを暗号化する構成について説明したが、周辺インタフェース１０３を介して取得するコンテンツデータを暗号化する場合についても、本願の暗号化方法を適用できることは勿論のことである。周辺インタフェース１０３を介して取得したコンテンツデータを暗号化する場合、対象のコンテンツデータを取得した時刻（タイムスタンプ）を含むシードを用いて暗号鍵を生成し、生成した暗号鍵を用いて当該コンテンツデータを暗号化すると共に、暗号鍵の生成に用いたタイムスタンプを配信サーバ２００に通知すればよい。
【０１０３】
また、実施の形態１〜４では、暗号化されたコンテンツデータをクライアント端末１００にて復号する際に、タイムスタンプの有無を判断し、タイムスタンプが無い場合には配信サーバ２００にタイムスタンプの送信要求を行う構成としたが、暗号鍵の生成に必要な情報（端末ＩＤ、コンテンツＩＤ、コンテンツ名称、タイムスタンプ）は配信サーバ２００においても管理されているため、配信サーバ２００にて暗号鍵を生成し、生成した暗号鍵をクライアント端末１００に送信する構成であってもよい。この場合、配信サーバ２００からクライアント端末１００に暗号鍵を送信することとなるが、暗号鍵の再送タイミング自体にランダム性をもつ遅延要素が加わることから従来技術と比較してもセキュリティ上の問題はない。
【符号の説明】
【０１０４】
１００  クライアント端末
１０１  制御部
１０２  通信部
１０３  周辺インタフェース
１０４  データ管理部
１０５  暗号・復号処理部
１０６  記憶部
１０６Ａ  コンテンツ管理テーブル
１０６Ｂ  グループ管理テーブル
１０６Ｃ  鍵管理テーブル
１０７  表示部
１０８  入力部
１０９  出力部
２００  配信サーバ
Ｎ  通信ネットワーク
【図１】
2014110553.tif 000003
【図２】
2014110553.tif 000004
【図３】
2014110553.tif 000005
【図４】
2014110553.tif 000006
【図５】
2014110553.tif 000007
【図６】
2014110553.tif 000008
【図７】
2014110553.tif 000009
【図８】
2014110553.tif 000010
【図９】
2014110553.tif 000011
【図１０】
2014110553.tif 000012
【図１１】
2014110553.tif 000013
【図１２】
2014110553.tif 000014