(57)【要約】【課題】本発明は、バックアップ・リストア攻撃によるコンテンツ利用権の不正な回復、拡散を防ぐ利用権管理装置、利用装置を提供する。【解決手段】ソース端末１３は、シンク端末１４が保持する置換検出情報との各更新タイミングにおける同一性を維持しつつ繰り返し更新される置換検出情報を置換検出情報記憶部２４に記憶しており、改竄検出情報記憶部２６にステート情報及び置換検出情報の要約値である改竄検出情報１６１を保持して、ステート情報及び置換検出情報の対応付けが正しいことを検証可能とし、ライセンス処理部２８が、利用権のシンク端末１４への送信に先立ち、シンク端末１４が保持する置換検出情報を取得し、ソース端末１３の置換検出情報と、シンク端末１４の置換検出情報とを比較して、一致しない場合、バックアップリストア攻撃があったとして、利用権のシンク端末１４への送信を禁止する。【選択図】図３
2011141733.tif 000002
【特許請求の範囲】
【請求項１】
バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理装置であって、
コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している記憶手段と、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、
前記更新の都度、前記記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、
前記記憶手段に記憶されている前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証手段と、
前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記記憶手段に記憶されている前記第２カウンタ値とが一致するか否かを判断する判断手段と、
前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記記憶手段に記憶されている前記利用権の前記利用装置に対する移動を禁止する制御手段と
を備えることを特徴とする利用権管理装置。
【請求項２】
前記更新手段は、前記利用装置と通信を行う毎に前記第２カウンタ値を更新する
ことを特徴とする請求項１記載の利用権管理装置。
【請求項３】
前記更新手段は、計測値が単調変化するカウンタを有し、当該カウンタが示す値を前記第２カウンタ値として設定する
ことを特徴とする請求項１記載の利用権管理装置。
【請求項４】
前記カウンタの計測値は単調増加し、
前記制御手段は、さらに、前記第２カウンタ値が前記第１カウンタ値よりも小さい場合に、自装置の識別情報を不正端末の識別情報として他の装置に通知する
ことを特徴とする請求項３記載の利用権管理装置。
【請求項５】
前記利用権は、前記コンテンツの利用条件と、前記コンテンツの利用状況とから成り、前記利用状況が前記利用条件の範囲内である場合に前記コンテンツの利用が許可される
ことを特徴とする請求項１記載の利用権管理装置。
【請求項６】
前記利用条件は、前記コンテンツを利用できる回数の上限を示し、
前記利用状況は、前記コンテンツを既に利用した回数を示し、
前記利用状況が示す回数が、前記上限以下である場合に、前記コンテンツの利用が許可される
ことを特徴とする請求項５記載の利用権管理装置。
【請求項７】
前記利用条件は、前記コンテンツを利用できる期間の上限であり、
前記利用状況は、前記コンテンツを既に利用した累積時間であり、
前記累積時間が前記上限以下である場合に、前記コンテンツの利用が許可される
ことを特徴とする請求項５記載の利用権管理装置。
【請求項８】
コンテンツの利用権を管理する利用権管理装置から、前記利用権をバックアップ・リストア攻撃から保護しつつ譲り受けるコンテンツの利用装置であって、
利用権管理装置が有する第１カウンタ値と同一の値を有する第２カウンタ値を記憶している記憶手段と、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、
前記更新の都度、前記記憶手段に記憶されている前記第２カウンタ値に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、
前記記憶手段に記憶されている前記検証値及び前記第２カウンタ値を用いて、前記第２カウンタ値の改竄を検証する検証手段と、
前記利用権管理装置に対し前記利用権の移動を要求する前に前記利用権管理装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断手段と、
前記第２カウンタ値に改竄が無く、前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断される場合に、前記利用権管理装置に対する前記利用権の譲受の要求の送信を禁止する制御手段と
を備えることを特徴とする利用装置。
【請求項９】
コンテンツの利用権を管理する利用権管理装置と、前記利用権を譲り受けるコンテンツの利用装置とから成り、バックアップ・リストア攻撃から前記利用権を保護する利用権管理システムであって、
前記利用権管理装置は、
コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している第１記憶手段と、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する第１更新手段と、
前記第１更新手段による更新の都度、前記第１記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する第１検証値を生成し、前記第１記憶手段に書き込む第１生成手段と、
前記第１記憶手段に記憶されている前記第１検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する第１検証手段と、
前記利用装置から前記第１カウンタ値を取得し、前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する第１判断手段と、
前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する送信を禁止し、一致すると判断される場合には、前記利用権を前記利用装置に送信する第１制御手段とを備え、
前記利用装置は、
前記第１カウンタ値を記憶している第２記憶手段と、
平時には、前記第１カウンタ値を、各更新タイミングにおける前記第２カウンタ値との同一性を維持しつつ繰り返し更新する第２更新手段と、
前記第２更新手段による更新の都度、前記第２記憶手段に記憶されている前記第２カウンタ値に依存する第２検証値を生成し、前記第２記憶手段に書き込む第２生成手段と、
前記第２検証値及び前記第１カウンタ値を用いて、前記第１カウンタ値の改竄を検証する第２検証手段と、
前記利用権管理装置に対し前記利用権の移動を要求する前に前記利用権管理装置から前記第２カウンタ値を取得し、取得した前記第２カウンタ値と前記第１カウンタ値とが一致するか否かを判断する第２判断手段と、
前記第１カウンタ値に改竄が無い場合において、取得した前記第２カウンタ値と前記第１カウンタ値とが一致しないと判断される場合に、前記利用権管理装置に対する前記利用権の移動の要求の送信を禁止し、一致すると判断される場合に前記利用権の移動の要求の送信を許可し、前記利用権管理装置から前記利用権を受信した場合に、受信した利用権を前記第２記憶手段に記憶させる第２制御手段と
を備えることを特徴とする利用権管理システム。
【請求項１０】
バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理方法であって、
コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する記憶ステップと、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新ステップと、
前記更新の都度、前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し記憶する生成ステップと、
前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証ステップと、
前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断ステップと、
前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する移動を禁止する制御ステップと
を含むことを特徴とする利用権管理方法。
【請求項１１】
バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理プログラムであって、
コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する記憶ステップと、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新ステップと、
前記更新の都度、前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し記憶する生成ステップと、
前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証ステップと、
前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断ステップと、
前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する移動を禁止する制御ステップと
をコンピュータに実行させることを特徴とする利用権管理プログラム。
【請求項１２】
バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理プログラムを記憶するコンピュータ読み取り可能な記録媒体であって、
前記利用権管理プログラムは、
コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する記憶ステップと、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新ステップと、
前記更新の都度、前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し記憶する生成ステップと、
前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証ステップと、
前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断ステップと、
前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する移動を禁止する制御ステップと
をコンピュータに実行させることを特徴とする記録媒体。
【請求項１３】
バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理装置に用いられる集積回路であって、
コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している記憶手段と、
平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、
前記更新の都度、前記記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、
前記記憶手段に記憶されている前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証手段と、
前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記記憶手段に記憶されている前記第２カウンタ値とが一致するか否かを判断する判断手段と、
前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記記憶手段に記憶されている前記利用権の前記利用装置に対する移動を禁止する制御手段と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの利用権を装置間でムーブする技術に関し、特に、利用権が不正に回復され拡散するのを防止する技術に関する。
【背景技術】
【０００２】
近年、映像や音楽などの各種コンテンツに有効期限や再生回数などの利用条件を設定しておき、再生装置において利用条件を満たしている場合にのみコンテンツを再生するということが行われている。そして、再生回数など利用状況を記録しているコンテンツを他の装置にムーブする際には、コンテンツと共にムーブ元における利用状況をもムーブ先に送信することで、転送先においても転送先から受け取った利用状況を用いてコンテンツの利用可否を判定できる。
【０００３】
このような利用状況をムーブする技術として、特許文献１には、データベースの状態（ライセンス）を転送元のシステムであるソースから転送先のターゲットシステムであるシンクまで転送できるプロトコル（「ライセンス転送プロトコル」）が開示されている。
ソースは、データベースにステート情報（状態情報）を記憶しており、シンクからＳｅｔｕｐメッセージ（ライセンス転送要求）を受信し、データベースがロックされていないことを確認し、データベースをロックした上で、シンクにＲｕｎＡｇｅｎｔメッセージを送信する。シンクは、ソースからＲｕｎＡｇｅｎｔメッセージを受信すると、ＲｕｎＡｇｅｎｔメッセージに含まれる処理プログラムであるＡｇｅｎｔを実行することで、シンクのデータベースにステート情報を記憶し、ソースにＡｇｅｎｔＲｅｓｕｌｔメッセージを送信する。ＡｇｅｎｔＲｅｓｕｌｔメッセージには、Ａｇｅｎｔの実行結果が含まれる。ソースは、シンクからＡｇｅｎｔＲｅｓｕｌｔメッセージを受信すると、コールバック処理プログラムを実行することで、ソースのデータベースを更新してロックを解除し、シンクにＴｅａｄｏｗｎメッセージを送信する。呼び出すコールバック処理プログラムは、ＲｕｎＡｇｅｎｔメッセージ送信前に選択される。このように、ソースのステート情報をシンクに転送することで、ライセンスのムーブやコピーが可能となる。ここで、端末におけるステート情報の改竄対策として、ステート情報のハッシュ値を計算し、ハッシュ値を端末秘密鍵で暗号化した改竄検出情報をステート情報と共に通常の蓄積領域に記憶している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５１２０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、端末における過去のステート情報と改竄検出情報をバックアップしておき、バックアップしたステート情報と改竄検出情報の双方を、現在のステート情報と改竄検出情報に上書きすることで、過去のステート情報への巻き戻し（ロールバック）・置換ができるという問題がある。例えば、５回再生可能なコンテンツについての「未再生（０回再生済み）」というステート情報をバックアップしておき、５回再生が済んだ後で、「５回再生済み」という現在のステート情報を、バックアップしておいた「未再生（０回再生済み）」という過去のステート情報で上書きすることで、過去のステート情報へ巻き戻されて、不正な権利が復活してしまう。
【０００６】
本発明は、前記従来の課題を解決するもので、ステート情報を巻き戻し・置換した不正端末を検出し、他の端末へ不正な権利が送信されコンテンツが不正に利用されるのを防ぐことができる置換検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一実施態様である利用権管理装置は、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理装置であって、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している記憶手段と、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、前記更新の都度、前記記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、前記記憶手段に記憶されている前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証手段と、前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記記憶手段に記憶されている前記第２カウンタ値とが一致するか否かを判断する判断手段と、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記記憶手段に記憶されている前記利用権の前記利用装置に対する移動を禁止する制御手段とを備える。
【０００８】
ここで、平時とは、利用権管理装置及び利用装置のいずれもがバックアップ・リストア攻撃を受けておらず、第２カウンタ値と第１カウンタ値のいずれについても不正に過去の値へロールバックされていない状況をいう。
【発明の効果】
【０００９】
本発明の一実施態様である利用権管理装置は、上述の構成を備えることにより、前記利用権についてバックアップ・リストア攻撃を受けても、不正に過去の状態に巻き戻されている利用権については他装置への移動を禁止するので、利用権のリストア及び他装置への移動が繰り返されることにより不正な利用権が拡散してしまうのを防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施の形態に係るライセンス管理システムの全体構成を示す図
【図２】本発明の実施の形態４における端末間のネットワーク構成を示す図
【図３】本発明の実施の形態４におけるソース端末の構成を示す図
【図４】本発明の実施の形態４におけるコンテンツＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図５】本発明の実施の形態４におけるライセンスＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図６】本発明の実施の形態４におけるステート情報ＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図７】本発明の実施の形態４における置換検出情報のデータ構造を示す図（（ａ）初回通信前の状態を示す図、（ｂ）初回通信後の状態を示す図、（ｃ）２回通信後の状態を示す図、（ｄ）３回通信後の状態を示す図）
【図８】本発明の実施の形態４におけるシンク端末の構成を示す図
【図９】本発明の実施の形態４におけるコンテンツＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図１０】本発明の実施の形態４におけるライセンスＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図１１】本発明の実施の形態４におけるステート情報ＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図１２】本発明の実施の形態４における置換検出情報のデータ構造を示す図（（ａ）初回通信前の状態を示す図、（ｂ）初回通信後の状態を示す図、（ｃ）２回通信後の状態を示す図、（ｄ）３回通信後の状態を示す図）
【図１３】本発明の実施の形態４における全体フローを示す図
【図１４】本発明の実施の形態４における置換検出処理フローを示す図
【図１５】本発明の実施の形態５における端末間のネットワーク構成を示す図
【図１６】本発明の実施の形態５におけるソース端末の構成を示す図
【図１７】本発明の実施の形態５における全体フローを示す図
【図１８】本発明の実施の形態５における置換検出処理フローを示す図
【図１９】本発明の実施の形態６における端末間のネットワーク構成を示す図
【図２０】本発明の実施の形態６におけるシンク端末の構成を示す図
【図２１】本発明の実施の形態６における全体フローを示す図
【図２２】本発明の実施の形態７における端末間のネットワーク構成を示す図
【図２３】本発明の実施の形態７における端末の構成を示す図
【図２４】本発明の実施の形態７におけるライセンスＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図２５】本発明の実施の形態７におけるソース端末のステート情報ＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図２６】本発明の実施の形態７におけるソース端末の置換検出情報のデータ構造を示す図（（ａ）初回通信前の状態を示す図、（ｂ）初回通信後の状態を示す図、（ｃ）２回通信後の状態を示す図、（ｄ）３回通信後の状態を示す図）
【図２７】本発明の実施の形態７におけるシンク端末のライセンスＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図２８】本発明の実施の形態７におけるシンク端末のステート情報ＤＢのデータ構造を示す図（（ａ）コンテンツのムーブ前の状態を示す図、（ｂ）コンテンツのムーブ後の状態を示す図）
【図２９】本発明の実施の形態７におけるシンク端末の置換検出情報のデータ構造を示す図（（ａ）初回通信前の状態を示す図、（ｂ）初回通信後の状態を示す図、（ｃ）２回通信後の状態を示す図、（ｄ）３回通信後の状態を示す図）
【図３０】本発明の実施の形態７における全体フローを示す図
【図３１】本発明の実施の形態１における利用権管理システムの構成を示す図
【図３２】本発明の実施の形態２における利用権管理装置の構成を示す図
【図３３】本発明の実施の形態２における利用権管理処理フローを示す図
【図３４】本発明の実施の形態３における利用装置の構成を示す図
【図３５】本発明の実施の形態３における利用処理フローを示す図
【発明を実施するための形態】
【００１１】
本発明の一実施態様である利用権管理装置は、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理装置であって、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している記憶手段と、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、前記更新の都度、前記記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、前記記憶手段に記憶されている前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証手段と、前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記記憶手段に記憶されている前記第２カウンタ値とが一致するか否かを判断する判断手段と、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記記憶手段に記憶されている前記利用権の前記利用装置に対する移動を禁止する制御手段とを備える
また、前記更新手段は、前記利用装置と通信を行う毎に前記第２カウンタ値を更新することとしてもよい。
【００１２】
この構成によれば、通信前にバックアップされた利用権が、通信後に不正に書き戻された場合、すなわちバックアップ・リストア攻撃がされた場合に、この不正な処理を第１カウンタ値と第２カウンタ値の相違により検出することができる。
また、前記更新手段は、計測値が単調変化するカウンタを有し、当該カウンタが示す値を前記第２カウンタ値として設定することとしてもよい。
【００１３】
この構成によれば、カウンタの更新前にバックアップされた利用権が、更新後に不正に書き戻された場合に、この不正な処理を第１カウンタ値と第２カウンタ値の相違により検出することができる。
また、前記カウンタの計測値は単調増加し、前記制御手段は、さらに、前記第２カウンタ値が前記第１カウンタ値よりも小さい場合に、自装置の識別情報を不正端末の識別情報として他の装置に通知することとしてもよい。
【００１４】
この構成によれば、バックアップリストア攻撃を受けている装置が、利用装置及び自装置のうち、自装置であることを特定することができる。また、自装置の識別情報を他装置に通知するので、通知を受けた他装置は、以後、自装置との利用権に関する通信を未然に停止し、バックアップリストア攻撃を受けているか否かの確認手順を省略し、処理負荷を低減することができる。
【００１５】
また、前記利用権は、前記コンテンツの利用条件と、前記コンテンツの利用状況とから成り、前記利用状況が前記利用条件の範囲内である場合に前記コンテンツの利用が許可されることとしてもよい。
また、前記利用条件は、前記コンテンツを利用できる回数の上限を示し、前記利用状況は、前記コンテンツを既に利用した回数を示し、前記利用状況が示す回数が、前記上限以下である場合に、前記コンテンツの利用が許可されることとしてもよい。
【００１６】
この構成によれば、コンテンツに利用回数の上限が設定されている場合に、バックアップ・リストア攻撃によって、コンテンツを既に利用した回数を過去に記録していた、より少ない回数のものに巻き戻すことで、コンテンツが利用可能な回数を不正に増やされてしまうのを防ぐことができる。
また、前記利用条件は、前記コンテンツを利用できる期間の上限であり、前記利用状況は、前記コンテンツを既に利用した累積時間であり、前記累積時間が前記上限以下である場合に、前記コンテンツの利用が許可されることとしてもよい。
【００１７】
この構成によれば、コンテンツに利用時間の上限が設定されている場合に、バックアップ・リストア攻撃によって、コンテンツを既に利用した時間を過去に記録していた、より少ない時間のものに巻き戻すことで、コンテンツが利用可能な時間を不正に増やされてしまうのを防ぐことができる。
本発明の一実施態様である利用装置は、コンテンツの利用権を管理する利用権管理装置から、前記利用権をバックアップ・リストア攻撃から保護しつつ譲り受ける利用装置であって、利用権管理装置が有する第１カウンタ値と同一の値を有する第２カウンタ値を記憶している記憶手段と、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、前記更新の都度、前記記憶手段に記憶されている前記第２カウンタ値に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、前記記憶手段に記憶されている前記検証値及び前記第２カウンタ値を用いて、前記第２カウンタ値の改竄を検証する検証手段と、前記利用権管理装置に対し前記利用権の移動を要求する前に前記利用権管理装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記記憶手段に記憶されている前記第２カウンタ値とが一致するか否かを判断する判断手段と、前記第２カウンタ値に改竄が無く、前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断される場合に、前記利用権管理装置に対する前記利用権の譲受の要求の送信を禁止する制御手段とを備える。
【００１８】
この構成によれば、利用権管理装置において前記利用権についてバックアップ・リストア攻撃を受けたことを検出でき、検出した場合に、バックアップ・リストア攻撃を受けて不正に過去の状態に巻き戻されている利用権の譲受を利用権管理装置に対して要求しないので、不正な利用権は利用権管理装置内に留まる。よって、不正な利用権が拡散してしまうのを防ぐことができる。
【００１９】
本発明の一実施態様である利用権管理システムは、コンテンツの利用権を管理する利用権管理装置と、前記利用権を譲り受けるコンテンツの利用装置とから成り、バックアップ・リストア攻撃から前記利用権を保護する利用権管理システムであって、前記利用権管理装置は、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している第１記憶手段と、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する第１更新手段と、前記第１更新手段による更新の都度、前記第１記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する第１検証値を生成し、前記第１記憶手段に書き込む第１生成手段と、前記第１記憶手段に記憶されている前記第１検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する第１検証手段と、前記利用装置から前記第１カウンタ値を取得し、前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する第１判断手段と、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する送信を禁止し、一致すると判断される場合には、前記利用権を前記利用装置に送信する第１制御手段とを備え、前記利用装置は、前記第１カウンタ値を記憶している第２記憶手段と、平時には、前記第１カウンタ値を、各更新タイミングにおける前記第２カウンタ値との同一性を維持しつつ繰り返し更新する第２更新手段と、前記第２更新手段による更新の都度、前記第２記憶手段に記憶されている前記第２カウンタ値に依存する第２検証値を生成し、前記第２記憶手段に書き込む第２生成手段と、前記第２検証値及び前記第１カウンタ値を用いて、前記第１カウンタ値の改竄を検証する第２検証手段と、前記利用権管理装置に対し前記利用権の移動を要求する前に前記利用権管理装置から前記第２カウンタ値を取得し、取得した前記第２カウンタ値と前記第１カウンタ値とが一致するか否かを判断する第２判断手段と、前記第１カウンタ値に改竄が無い場合において、取得した前記第２カウンタ値と前記第１カウンタ値とが一致しないと判断される場合に、前記利用権管理装置に対する前記利用権の移動の要求の送信を禁止し、一致すると判断される場合に前記利用権の移動の要求の送信を許可し、前記利用権管理装置から前記利用権を受信した場合に、受信した利用権を前記第２記憶手段に記憶させる第２制御手段とを備える。
【００２０】
この構成によれば、利用権管理装置、利用装置の双方において、前記利用権についてバックアップ・リストア攻撃があったか否かを検出するので、利用権管理装置、利用装置の一方で検出する場合に比して検出精度を向上させることができる。また、バックアップ・リストア攻撃を検出した場合、利用権管理装置は、利用装置に利用権を送信せず、利用装置は利用権管理装置に対し、バックアップ・リストア攻撃により不正に過去の状態に巻き戻されている利用権の移動の要求をしないので、不正な利用権は利用権管理装置内に留まる。よって、不正な利用権が拡散してしまうのを防ぐことができる。
【００２１】
本発明の一実施態様である利用権管理方法は、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理方法であって、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する記憶ステップと、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新ステップと、前記更新の都度、前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し記憶する生成ステップと、前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証ステップと、前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断ステップと、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する移動を禁止する制御ステップとを含む。
【００２２】
本発明の一実施態様である利用権管理プログラムは、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理プログラムであって、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する記憶ステップと、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新ステップと、前記更新の都度、前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し記憶する生成ステップと、前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証ステップと、前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断ステップと、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する移動を禁止する制御ステップとをコンピュータに実行させる。
【００２３】
本発明の一実施態様である記録媒体は、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理プログラムを記憶するコンピュータ読み取り可能な記録媒体であって、前記利用権管理プログラムは、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する記憶ステップと、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新ステップと、前記更新の都度、前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し記憶する生成ステップと、前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証ステップと、前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記第２カウンタ値とが一致するか否かを判断する判断ステップと、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記利用権の前記利用装置に対する移動を禁止する制御ステップとをコンピュータに実行させる。
【００２４】
本発明の一実施態様である集積回路は、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理装置に用いられる集積回路であって、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶している記憶手段と、平時には、前記第２カウンタ値を、各更新タイミングにおける前記第１カウンタ値との同一性を維持しつつ繰り返し更新する更新手段と、前記更新の都度、前記記憶手段に記憶されている前記利用権及び前記第２カウンタ値の両方に依存する検証値を生成し、前記記憶手段に書き込む生成手段と、前記記憶手段に記憶されている前記検証値、前記利用権及び前記第２カウンタ値を用いて、前記利用権と前記第２カウンタ値との対応性を検証する検証手段と、前記利用装置から前記第１カウンタ値を取得し、取得した前記第１カウンタ値と前記記憶手段に記憶されている前記第２カウンタ値とが一致するか否かを判断する判断手段と、前記利用装置から前記利用権の移動が要求されたときに、前記利用権と前記第２カウンタ値との対応付けが正しいと認定されており、かつ前記第１カウンタ値と前記第２カウンタ値とが一致しないと判断されている場合には、前記記憶手段に記憶されている前記利用権の前記利用装置に対する移動を禁止する制御手段とを備える。
【００２５】
この構成によれば、前記利用権についてバックアップ・リストア攻撃を受けても、不正に過去の状態に巻き戻されている利用権については他装置への移動を禁止するので、利用権のリストア及び他装置への移動が繰り返されることにより不正な利用権が拡散してしまうのを防ぐことができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
１．実施の形態１
本発明の一実施の形態に係る利用権管理システム５００について説明する。
【００２６】
利用権管理システム５００は、コンテンツの利用権５２１を管理する利用権管理装置５０１と、利用権５２１を譲り受けるコンテンツの利用装置５０２とから成り、バックアップ・リストア攻撃から利用権５２１を保護する。
利用権管理装置５０１は、図３１に示すように、第１記憶手段５１１、第１更新手段５１２、第１生成手段５１３、第１検証手段５１４、第１判断手段５１５及び第１制御手段５１６とを備える。
【００２７】
第１記憶手段５１１は、コンテンツが利用された分だけ消費される利用権５２１と、コンテンツの利用装置５０２が有する第１カウンタ値５４１と同一の値を有する第２カウンタ値５２２とを対応付けて記憶している。
第１更新手段５１２は、平時には、第２カウンタ値５２２を、各更新タイミングにおける第１カウンタ値５４１との同一性を維持しつつ繰り返し更新する。
【００２８】
第１生成手段５１３は、第１更新手段５１２による更新の都度、第１記憶手段５１１に記憶されている利用権５２１及び第２カウンタ値５２２の両方に依存する第１検証値５２３を生成し、第１記憶手段５１１に書き込む。
第１検証手段５１４は、第１記憶手段５１１に記憶されている第１検証値５２３、利用権５２１及び第２カウンタ値５２２を用いて、利用権５２１と第２カウンタ値５２２との対応性を検証する。
【００２９】
第１判断手段５１５は、利用装置５０２から第１カウンタ値５４１を取得し、第１カウンタ値５４１と第２カウンタ値５２２とが一致するか否かを判断する。
第１制御手段５１４は、利用装置５０２から利用権５２１の移動が要求されたときに、利用権５２１と第２カウンタ値５２２との対応付けが正しいと認定されており、かつ第１カウンタ値５４１と第２カウンタ値５２２とが一致しないと判断されている場合には、利用権５２１の利用装置５０２に対する送信を禁止し、一致すると判断される場合には、利用権５２１を利用装置５０２に送信する。
【００３０】
利用装置５０２は、図３１に示すように、第２記憶手段５３１、第２更新手段５３２、第２生成手段５３３、第２検証手段５３４、第２判断手段５３５及び第２制御手段５３６から構成させる。
第２記憶手段５３１は、第１カウンタ値５４１を記憶している。
第２更新手段５３２は、平時には、第１カウンタ値５４１を、各更新タイミングにおける第２カウンタ値５２２との同一性を維持しつつ繰り返し更新する。
【００３１】
第２生成手段５３３は、第２更新手段５３２による更新の都度、第２記憶手段５３１に記憶されている第２カウンタ値５２２に依存する第２検証値５４２を生成し、第２記憶手段５３１に書き込む。
第２検証手段５３４は、第２検証値５４２及び第１カウンタ値５４１を用いて、第１カウンタ値５４１の改竄を検証する。
【００３２】
第２判断手段５３５は、利用権管理装置５０１に対し利用権５２１の移動を要求する前に利用権管理装置５０１から第２カウンタ値５２２を取得し、取得した第２カウンタ値５２２と第１カウンタ値５４１とが一致するか否かを判断する。
第２制御手段５３６は、第１カウンタ値５４１に改竄が無い場合において、取得した第２カウンタ値５２２と第１カウンタ値５４１とが一致しないと判断される場合に、利用権管理装置５０１に対する利用権５２１の移動の要求の送信を禁止し、一致すると判断される場合に、利用権５２１の移動の要求の送信を許可し、利用権管理装置５０１から利用権５２１を受信した場合に、受信した利用権５２１を第２記憶手段５３１に記憶させる。
【００３３】
利用権管理システム５００では、利用権管理装置５０１、利用装置５０２の双方において、利用権５２１についてバックアップ・リストア攻撃があったか否かを検出するので、利用権管理装置５０１、利用装置５０２の一方で検出する場合に比して検出精度を向上させることができる。また、バックアップ・リストア攻撃を検出した場合、利用権管理装置５０１は、利用装置５０２に利用権５２１を送信せず、利用装置５０２は利用権管理装置５０１に対し、バックアップ・リストア攻撃により不正に過去の状態に巻き戻されている利用権５２１の移動の要求をしないので、不正な利用権５２１は利用権管理装置５０１内に留まる。よって、不正な利用権が拡散してしまうのを防ぐことができる。
２．実施の形態２
本発明の一実施の形態に係る利用権管理装置６００について説明する。
【００３４】
利用権管理装置６００は、図３２に示すように、記憶手段６０１、更新手段６０２、生成手段６０３、検証手段６０４、判断手段６０５及び制御手段６０６から構成され、バックアップ・リストア攻撃からコンテンツの利用権を保護する。
記憶手段６０１は、コンテンツが利用された分だけ消費される利用権６１１と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値６１２とを対応付けて記憶している。
【００３５】
更新手段６０２は、平時には、第２カウンタ値６１２を、各更新タイミングにおける第１カウンタ値との同一性を維持しつつ繰り返し更新する。
生成手段６０３は、第２カウンタ値の更新の都度、利用権６１１及び第２カウンタ値６１２の両方に依存する検証値６１３を生成し、記憶手段６０１に書き込む。
検証手段６０４は、記憶手段６０１に記憶されている検証値６１３、利用権６１１及び第２カウンタ値６１２を用いて、利用権６１１と第２カウンタ値６１２との対応性を検証する。
【００３６】
判断手段６０５は、コンテンツの利用装置から第１カウンタ値を取得し、取得した第１カウンタ値と記憶手段６０１に記憶されている第２カウンタ値６１２とが一致するか否かを判断する。
制御手段６０６は、コンテンツの利用装置から利用権６１１の移動が要求されたときに、利用権６１１と第２カウンタ値６１２との対応付けが正しいと認定されており、かつ第１カウンタ値と第２カウンタ値６１２とが一致しないと判断されている場合には、記憶手段６０１に記憶されている利用権６１１の利用装置に対する移動を禁止する。
【００３７】
利用権管理装置６００は、通信前にバックアップされた利用権が、通信後に不正に書き戻された場合、すなわちバックアップ・リストア攻撃がされた場合に、この不正な処理を第１カウンタ値と第２カウンタ値の相違により検出することができる。
次に、本発明の一実施の形態に係る、バックアップ・リストア攻撃からコンテンツの利用権を保護する利用権管理処理（方法）について図３３を用いて説明する。
【００３８】
まず、コンテンツが利用された分だけ消費される利用権と、コンテンツの利用装置が有する第１カウンタ値と同一の値を有する第２カウンタ値とを対応付けて記憶する（記憶ステップ  Ｓ１０１）。
平時には、第２カウンタ値を、各更新タイミングにおける第１カウンタ値との同一性を維持しつつ繰り返し更新する（更新ステップ  Ｓ１０２）。
【００３９】
更新の都度、利用権及び第２カウンタ値の両方に依存する検証値を生成し記憶する（生成ステップ  Ｓ１０３）。
そして、検証値、利用権及び第２カウンタ値を用いて、利用権と第２カウンタ値との対応性を検証する（検証ステップ  Ｓ１０４）。
次に、利用装置から第１カウンタ値を取得し、取得した第１カウンタ値と第２カウンタ値とが一致するか否かを判断する（判断ステップ  Ｓ１０５）。
【００４０】
次に、利用装置から利用権の移動が要求されたときに、利用権と第２カウンタ値との対応付けが正しいと認定されており（Ｓ１０６−１：ＹＥＳ）、かつ第１カウンタ値と第２カウンタ値とが一致しないと判断されている場合には（Ｓ１０６−２：ＹＥＳ）、利用権の利用装置に対する移動を禁止する（Ｓ１０６−３）（以上、制御ステップ  Ｓ１０６）。
【００４１】
上述の利用権管理処理によれば、通信前にバックアップされた利用権が、通信後に不正に書き戻された場合、すなわちバックアップ・リストア攻撃がされた場合に、この不正な処理を第１カウンタ値と第２カウンタ値の相違により検出することができる。
３．実施の形態３
本発明の一実施の形態に係るコンテンツの利用装置７００について図３４を用いて説明する。
【００４２】
利用装置７００は、コンテンツの利用権を管理する利用権管理装置から、利用権をバックアップ・リストア攻撃から保護しつつ譲り受ける装置であり、図３４に示すように、記憶手段７０１、更新手段７０２、生成手段７０３、検証手段７０４、判断手段７０５及び制御手段７０６から構成される。
記憶手段７０１は、利用権管理装置が有する第１カウンタ値と同一の値を有する第２カウンタ値７１１を記憶している。
【００４３】
更新手段７０２は、平時には、第２カウンタ値７１１を、各更新タイミングにおける第１カウンタ値との同一性を維持しつつ繰り返し更新する。
生成手段７０３は、第２カウンタ値７１１の更新の都度、記憶手段７０１に記憶されている第２カウンタ値７１１に依存する検証値７１２を生成し、記憶手段７０１に書き込む。
【００４４】
検証手段７０４は、検証値７１２及び第２カウンタ値７１１を用いて、第２カウンタ値の改竄を検証する。
判断手段７０５は、利用権管理装置に対し利用権の移動を要求する前に利用権管理装置から第１カウンタ値を取得し、取得した第１カウンタ値と第２カウンタ値７１１とが一致するか否かを判断する。
【００４５】
制御手段７０６は、第２カウンタ値７１１に改竄が無く、取得した第１カウンタ値と第２カウンタ値７１１とが一致しないと判断される場合に、利用権管理装置に対する利用権の譲受の要求の送信を禁止する。
利用装置７００は、利用権管理装置において利用権についてバックアップ・リストア攻撃を受けたことを検出でき、検出した場合に、バックアップ・リストア攻撃を受けて不正に過去の状態に巻き戻されている利用権の譲受を利用権管理装置に対して要求しないので、不正な利用権は利用権管理装置内に留まる。よって、不正な利用権が拡散してしまうのを防ぐことができる。
【００４６】
次に、本発明の一実施の形態に係る、コンテンツの利用権を管理する利用権管理装置から、利用権をバックアップ・リストア攻撃から保護しつつ譲り受ける、コンテンツの利用処理（方法）について、図３５を用いて説明する。
コンテンツの利用処理においては、まず、利用権管理装置が有する第１カウンタ値と同一の値を有する第２カウンタ値を記憶する（記憶ステップ  Ｓ１２１）。
【００４７】
平時には、第２カウンタ値を、各更新タイミングにおける第１カウンタ値との同一性を維持しつつ繰り返し更新する（更新ステップ  Ｓ１２２）。
第２カウンタ値の更新の都度、第２カウンタ値に依存する検証値を生成し、記憶する（生成ステップ  Ｓ１２３）。
次に、検証値及び第２カウンタ値を用いて、第２カウンタ値の改竄を検証する（検証ステップ  Ｓ１２４）。
【００４８】
次に、利用権管理装置に対し利用権の移動を要求する前に利用権管理装置から第１カウンタ値を取得し、取得した第１カウンタ値と第２カウンタ値とが一致するか否かを判断する（判断ステップ  Ｓ１２５）。
第２カウンタ値に改竄が無く（Ｓ１２６−１：ＹＥＳ）、取得した第１カウンタ値と第２カウンタ値とが一致しないと判断される場合（Ｓ１２６−２：ＹＥＳ）に、利用権管理装置に対する利用権の譲受の要求の送信を禁止する（Ｓ１２６−３）（以上、制御ステップ  Ｓ１２６）。
【００４９】
上述のコンテンツの利用処理によれば、利用権管理装置において利用権についてバックアップ・リストア攻撃を受けたことを検出でき、検出した場合に、バックアップ・リストア攻撃を受けて不正に過去の状態に巻き戻されている利用権の譲受を利用権管理装置に対して要求しないので、不正な利用権は利用権管理装置内に留まる。よって、不正な利用権が拡散してしまうのを防ぐことができる。
【００５０】
次に、上記実施の形態１〜３で説明した各構成をより詳細化した実施の形態について説明する。
４．実施の形態４
図１は、本実施の形態に係るライセンス管理システム１の全体構成を示す図である。
ライセンス管理システム１は、端末１０ａ、端末１０ｂ、端末１０ｃと、ライセンスサーバ１１とが、伝送路１２を介して接続されて成る。伝送路１２は、イーサネット（登録商標）等の有線ネットワーク、無線ＬＡＮ等の無線ネットワーク、メモリカード等のポータブルメディアを介したネットワーク、これらが複合したネットワーク等で実現される。ライセンス管理システム１は、上述の利用権管理システム５００の一例である。
【００５１】
ライセンスサーバ１１は、端末に提供する暗号化コンテンツと、暗号化コンテンツを復号するためのコンテンツ鍵及びコンテンツの利用条件等から構成されるライセンスとを管理する。ライセンスサーバ１１は、端末から要求された場合に、暗号化コンテンツ及びライセンスを送信する。
端末１０ａ、端末１０ｂ、端末１０ｃは、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）レコーダ、ＢＤレコーダ、ハードディスクレコーダ、デジタルテレビ、携帯電話、ポータブル機器、ホームサーバ、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）放送受信機、パーソナルコンピュータ等の端末装置である。
【００５２】
端末１０ａ、端末１０ｂ、端末１０ｃのうち、コンテンツを利用する端末は、コンテンツ送信元に対しライセンスの送信を要求し、その応答としてライセンスを取得する。そして、コンテンツを利用する端末は、自装置によるコンテンツの利用状況を示すステート情報を保持しており、取得したライセンスと、ステート情報とに基づきコンテンツの利用可否を判断する。利用可能である場合には、コンテンツの送信元から暗号化コンテンツを取得し、ライセンスに含まれるコンテンツ鍵を用いて暗号化コンテンツを復号し、再生する。
【００５３】
以下、ライセンス及びステート情報について説明する。ライセンス及びステート情報は、利用権５２１、６１１の一例である。ライセンスは、コンテンツの利用条件と、コンテンツ鍵から構成されている。コンテンツの利用条件は、コンテンツの再生、書き出し、転送等を制御するための条件であり、有効期限、レンタル期間、再生回数、累積再生時間、メディア書き出し回数、端末間転送可否等のうちの１つか又は２以上を複合したものである。有効期限は、例えば、２０１０年４月１日から２０１０年４月３０日まで再生可能であることなど、再生可能な期間を示す。レンタル期間は、初回再生時刻から２４時間再生可能であるなど、コンテンツの利用を開始してから再生可能な期間を示す。再生回数は、例えば、３回再生可能であるなど、再生可能な回数を示す。累積再生時間は、例えば、トータルで２時間再生可能など、累積して再生できる時間を示す。メディア書き出し回数は、例えば、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）に２回書き出し可能など、メディアに書き出し出来る回数を示す。端末間転送可否は、例えば、ムーブ許可・コピー禁止など、端末間で行う転送処理（ムーブ、コピー等）毎の処理の可否を示す。
【００５４】
コンテンツ鍵は、暗号化コンテンツを復号するための鍵情報である。ライセンスに含まれる利用条件を満たす場合に限り、暗号化コンテンツをコンテンツ鍵で復号し、コンテンツを利用することが許可される。
利用条件を満たすか否かを判定するのに用いられるステート情報は、初回再生時刻、再生済み回数、累積再生時間、メディア書き出し済み回数、端末間転送有無等のうちの１つ以上を含む。初回再生時刻は、例えば、２０１０年４月１日１２：００：００に初回再生したことを示す。再生済み回数は、例えば、１回再生済みであることを示す。累積再生時間は、例えば、トータルで４５分再生済みであることを示す。メディア書き出し済み回数は、例えば、ＢＤに１回書き出し済みであることを示す。端末間転送有無は、例えば、ムーブ済みであることを示す。
【００５５】
ここで、ライセンス管理システムにおいて、端末１０ａ、端末１０ｂ、端末１０ｃは、ライセンスサーバ１１から暗号化コンテンツ及びライセンスを取得した場合、自装置内で暗号化コンテンツを復号、再生するクライアント（コンテンツの利用装置）として動作することもできるが、取得したライセンスを用いて、暗号化コンテンツを他の端末に提供するサーバ（コンテンツの利用権管理装置）としても動作し得る。
【００５６】
この場合、図２に示すように、端末１０ａ、端末１０ｂ、端末１０ｃのうちの一端末がコンテンツを提供するサーバであるソース端末１３（コンテンツの利用権管理装置）として動作し、他の端末がコンテンツを取得して再生するクライアントであるシンク端末１４（コンテンツの利用装置）として動作する。
ここで、ソース端末１３は、上述の利用権管理装置５０１、利用権管理装置６００の一例であり、シンク端末１４は、上述の利用装置５０２、利用装置７００の一例である。
【００５７】
ソース端末１３は、事前にライセンスサーバ１１や他の端末からライセンスを取得するなど、初期状態としてライセンスとステート情報を保有し、シンク端末１４の要求に応じてシンク端末１４にライセンスを提供する端末である。
シンク端末１４は、ソース端末１３に対してライセンス取得を要求し、ソース端末２０２から、ライセンスとステート情報を取得する端末である。
【００５８】
ソース端末１３と、シンク端末１４とは、時間経過に対して単調性（単調増加又は単調減少）を有する置換検出情報を端末間で共有している。
ソース端末１３と、シンク端末１４とは、この置換検出情報を用い、「過去のステート情報をバックアップしておき、バックアップしたステート情報を現在のステート情報に上書きすることで、過去のステート情報への巻き戻し・置換を行う不正」を検出する。ここで、ソース端末が保持する置換検出情報が、第２カウンタ値５２２、６１２の一例であり、シンク端末が保持する置換検出情報が、第１カウンタ値５４１、第２カウンタ値７１１の一例である。
【００５９】
以下、ソース端末１３、シンク端末１４による不正検出について詳細に説明する。本実施の形態では、ソース端末１３、シンク端末１４のうち、シンク端末１４側で不正端末の検出処理を行っている。
４．１．構成
４．１．１．ソース端末１３
図３は、ソース端末１３の構成を示すブロック図である。
【００６０】
ソース端末１３は、コンテンツ記憶部２１、ライセンス記憶部２２、ステート情報記憶部２３、置換検出情報記憶部２４、端末識別情報記憶部２５、改竄検出情報記憶部２６、コンテンツ処理部２７、ライセンス処理部２８、置換検出情報更新部３０、暗復号部３１、通信部３２及び時刻管理部３３とを含んで構成される。また、ライセンス処理部２８は、ライセンスに関する処理を行う処理部であり、コンテンツ鍵管理部３４、利用条件判定部３５、ステート情報更新部３６及び改竄検出情報更新部３７とを含んで構成される。
【００６１】
コンテンツ記憶部２１は、コンテンツＤＢ（ＤａｔａＢａｓｅ）を記憶する。
図４（ａ）、図４（ｂ）は、コンテンツＤＢのデータ構造の一例を示す図である。
コンテンツＤＢは、複数のコンテンツレコードから構成され、各コンテンツレコードは、コンテンツ識別６１、暗号化コンテンツ６２及びコンテンツ情報６３から成る。コンテンツ識別６１は、コンテンツを識別するための情報である。暗号化コンテンツ６２は、映像データや音声データなどコンテンツの実データが暗号化されたものであって、コンテンツ鍵を用いて復号可能である。コンテンツ情報６３は、コンテンツの付随情報であり、コンテンツのタイトル、番組時間（コンテンツ長）、あらすじ、ジャンル、出演者、サムネイル、サムネイルＵＲＩなどコンテンツの内容を示す。コンテンツ情報６３は、コンテンツの内容をユーザに提示するために用いられる。
【００６２】
図４（ａ）の場合、コンテンツＤＢは、３個のコンテンツレコード７１〜７３を含む。コンテンツレコード７１におけるコンテンツ識別６１は、コンテンツＡの識別情報「ＣＩＤ−００１」であり、暗号化コンテンツ６２は、コンテンツＡが暗号化された「Ｅｎｃ（コンテンツＡ）」であり、コンテンツ情報６３は、「タイトル＝○○、番組時間＝１２０分、あらすじ＝・・」である。ここで、「Ｅｎｃ（コンテンツＸＸ）」との記載は、コンテンツＸＸが暗号化されたものを示す。
【００６３】
コンテンツレコード７２における、コンテンツ識別６１は、コンテンツＢの識別情報「ＣＩＤ−００３」であり、暗号化コンテンツ６２は、コンテンツＢが暗号化された「Ｅｎｃ（コンテンツＢ）」であり、コンテンツ情報６３は、「タイトル＝△△、番組時間＝３０分、ジャンル＝アニメ、・・」である。
コンテンツレコード７３における、コンテンツ識別６１は、コンテンツＤの識別情報「ＣＩＤ−１２４」であり、暗号化コンテンツ６２は、コンテンツＤが暗号化された「Ｅｎｃ（コンテンツＤ）」であり、コンテンツ情報６３は「タイトル＝××、番組時間＝４８分、出演者＝・・」である。図４（ｂ）については、後述する。
【００６４】
ライセンス記憶部２２は、ライセンスＤＢを記憶する。
図５（ａ）、図５（ｂ）は、ライセンスＤＢのデータ構造の一例を示す図である。
ライセンスＤＢは、複数のライセンスレコードから構成され、各ライセンスレコードは、ライセンス識別８１、コンテンツ識別８２、暗号化コンテンツ鍵８３、利用条件８４及び改竄検出情報８５から構成される。
【００６５】
各ライセンスレコードは、コンテンツＤＢ中のコンテンツレコードのいずれかに対応している。
ライセンス識別８１は、ライセンスを識別するための情報である。コンテンツ識別８２は、コンテンツを識別するための情報であり、自ライセンスレコードと、コンテンツ識別６１を含むコンテンツレコードとを対応づけている。暗号化コンテンツ鍵８３は、コンテンツ識別８２と同値のコンテンツ識別６１を有する暗号化コンテンツ６２を復号するためのコンテンツ鍵を端末秘密鍵で暗号化したものである。利用条件８４は、ライセンスの一例であり、コンテンツ識別８２と同値のコンテンツ識別６１を有する暗号化コンテンツ６２に係るコンテンツの復号、再生の可否等を制御するのに用いられる。改竄検出情報８５は、利用条件８４に対する改竄を検出するための情報である。改竄検出情報８５は、一例として、利用条件８４の平文のハッシュ値を端末秘密鍵で暗号化した情報（以降、単にハッシュ値）である。
【００６６】
図５（ａ）の場合、ライセンスＤＢは、３個のライセンスレコード９１〜９３を含む。ライセンスレコード９１におけるライセンス識別８１は「ＬＩＤ−００１」であり、コンテンツ識別８２は「ＣＩＤ−００１」であり、暗号化コンテンツ鍵８３はコンテンツ鍵「ＣＫ００１」が暗号化された「Ｅｎｃ（ＣＫ００１）」であり、利用条件８４は「有効期限：２０１０年６月３０日まで、かつ、レンタル期間：初回再生時刻から３日間」であり、改竄検出情報８５は、ハッシュ値「ｈ００１」である。ライセンスレコード９２におけるライセンス識別８１は「ＬＩＤ−００３」であり、コンテンツ識別８２は「ＣＩＤ−００３」であり、暗号化コンテンツ鍵８３は、コンテンツ鍵「ＣＫ００３」が暗号化された「Ｅｎｃ（ＣＫ００３）」であり、利用条件８４は「有効期限：２００９年６月１日から２００９年９月３０日まで、かつ、再生回数：１０回」であり、改竄検出情報８５はハッシュ値「ｈ００３」である。ライセンスレコード９３におけるライセンス識別８１は「ＬＩＤ−１２４」であり、コンテンツ識別８２は「ＣＩＤ−１２４」であり、暗号化コンテンツ鍵８３は、コンテンツ鍵「ＣＫ１２４」が暗号化されたＥｎｃ（ＣＫ１２４）であり、利用条件８４は「有効期限：２００９年４月１日から２０１０年３月３１日まで」であり、改竄検出情報８５は、ハッシュ値「ｈ１２４」である。
【００６７】
なお、本実施の形態では、利用条件８４中に示された複数の条件は、論理積的、すなわち各条件を全て満たす場合に利用条件８４を満たすものと判断される。例えば、ライセンスレコード９１における利用条件８４の場合、「有効期限：２０１０年６月３０日まで」、「レンタル期間：初回再生時刻から３日間」の全てを満たす場合に利用条件８４を満たすと判定される。しかし、この例に限らず、利用条件８４中に複数条件の論理和や否定、これらの組合せを記述してもよい。図５（ｂ）については、後述する。
【００６８】
ステート情報記憶部２３は、ステート情報ＤＢを記憶する。
図６（ａ）、図６（ｂ）は、ステート情報ＤＢのデータ構造の一例を示す図である。
ステート情報ＤＢは、複数のステート情報から成り、各ステート情報は、ライセンス識別１０１、パラメータ種別１０２、ステート情報値１０３及びステート情報管理期限１０４から構成される。ライセンス識別１０１は、ライセンスを識別するための情報である。ライセンス識別１０１は、ライセンスレコードにおけるライセンス識別８１に対応しており、ステート情報とライセンスレコードとの対応付けに用いられている。パラメータ種別１０２は、パラメータ種別を識別するための情報であり、ライセンスレコードにおける利用条件８４に対応する。ステート情報値１０３は、パラメータ種別１０２で識別されるパラメータの値である。ステート情報値１０３は、ライセンスレコードにおける利用条件８４を満たすか否かの判定に用いられる。ステート情報管理期限１０４は、自ステート情報の管理期限であり、典型的には、ステート情報の有効期限である。時刻管理部３３により管理されている現在時刻がステート情報管理期限１０４を過ぎた場合、そのステート情報は無効なものとして扱われ、削除される。
【００６９】
図６（ａ）の場合、ステート情報ＤＢは、２個のステート情報１１１、１１２から構成される。
ステート情報１１１におけるライセンス識別１０１は「ＬＩＤ−００１」であり、パラメータ種別１０２「初回再生時刻」に係るステート情報値１０３は「２００９年１０月１０日１２：００：００」であり、ステート情報管理期限１０４は「２０１０年６月３０日」である。
【００７０】
また、ステート情報１１２におけるライセンス識別１０１は「ＬＩＤ−００３」であり、パラメータ種別１０２「再生済み回数」に係るステート情報値１０３は「２回」であり、ステート情報管理期限１０４は「２００９年９月３０日」である。
置換検出情報記憶部２４は、ステート情報の巻き戻し・置換を検出するための情報である置換検出情報ＤＢを記憶する。
【００７１】
図７（ａ）〜（ｄ）は、置換検出情報ＤＢのデータ構造の一例を示す図である。
置換検出情報ＤＢは、複数の置換検出情報レコードから構成され、各置換検出情報レコードは、通信先識別１３１及び置換検出情報１３２から構成される。
通信先識別１３１は、通信先の端末を識別するための情報である。本実施の形態では、通信先識別１３１は、通信先端末の端末識別情報であるものとする。
【００７２】
置換検出情報１３２は、自端末が記憶するステート情報又は通信先端末が記憶するステート情報の巻き戻し・置換を検出するため、通信先端末との間で共有する情報である。本実施の形態では、置換検出情報１３２は、時間経過に対して単調性（単調増加又は単調減少）を有するものとし、通信先識別１３１により識別される端末との通信時に、時刻管理部３３によりカウントアップされるカウンタ値を用いている。置換検出情報は、上述の実施の形態における第２カウンタ値５２２、６１２に相当する。
【００７３】
図７（ａ）の置換検出情報ＤＢは、２個の置換検出情報レコード１４１、１４２を含む。置換検出情報レコード１４１の通信先識別１３１は「ＣＬ−ｄ」であり、置換検出情報１３２は「１５」である。置換検出情報レコード１４２の通信先識別１３１は「ＣＬ−ｘ」であり、置換検出情報１３２は「４」である。
ここで、置換検出情報ＤＢの内容が図７（ａ）の状態から、図７（ｂ）、図７（ｃ）、図７（ｄ）へと変化する場合について説明する。図７（ａ）は、通信先識別がＣＬ−ｂである端末との通信前の置換検出情報ＤＢを示している。図７（ｂ）は、ソース端末１３が、通信先識別がＣＬ−ｂである端末と初めて通信した後の置換検出情報ＤＢを示している。図７（ｂ）の置換検出情報ＤＢは、図７（ａ）の状態に対し、通信先識別１３１が通信した相手の識別情報「ＣＬ−ｂ」である置換検出情報レコード１４３が置換検出情報更新部３０により追加されている。図７（ｃ）は、ソース端末１３が、通信先識別がＣＬ−ｂである端末と２度目の通信を行った後の置換検出情報ＤＢを示している。置換検出情報更新部３０によって、置換検出情報レコード１４３の置換検出情報１３２が、２度目の通信が行われた事を示す「２」に更新されている。図７（ｄ）は、ソース端末１３が、通信先識別がＣＬ−ｂである端末と３度目の通信を行った後の置換検出情報ＤＢを示している。置換検出情報更新部３０によって、置換検出情報レコード１４３の置換検出情報１３２が、３度目の通信が行われた事を示す「３」に更新されている。
【００７４】
端末識別情報記憶部２５は、自装置の端末識別情報を記憶する機能を有する。本実施の形態では、端末識別情報記憶部２５は、端末識別情報「ＣＬ−ａ」を記憶している。ソース端末の端末識別情報を、以下、ソース端末識別情報ともいう。本実施の形態では、ソース端末１３に対して、ソース端末公開鍵証明書とソース端末秘密鍵のペアが発行されており、端末識別情報は、ソース端末１３に発行された公開鍵証明書のシリアル番号であるものとする。なお、端末識別情報としては、別途端末に割り当てられた端末識別子などを用いてもよい。
【００７５】
改竄検出情報記憶部２６は、置換検出情報記憶部２４に記憶されている置換検出情報ＤＢと、ステート情報記憶部２３に記憶されているステート情報ＤＢとに改竄がないか否かを検出するための改竄検出情報１６１を記憶している。本実施の形態では、改竄検出情報１６１は、改竄検出情報更新部３７により、置換検出情報ＤＢと、ステート情報ＤＢとの全データを連結し、その連結データのハッシュ値を演算し、そのハッシュ値を端末秘密鍵で暗号化することにより生成される。よって、改竄検出情報１６１は、１つの情報で置換検出情報ＤＢとステート情報ＤＢとの双方に対する改竄の有無を検出するのに用いられる。改竄検出情報１６１は、前述のものに限らず、置換検出情報ＤＢ、ステート情報ＤＢに改竄があったことが検出できるものであればよい。改竄検出情報１６１は、置換検出情報ＤＢ、ステート情報ＤＢの内容に変更があった場合に、改竄検出情報更新部３７によって再生成されて更新される。
【００７６】
コンテンツ処理部２７は、コンテンツの復号、再生、保存、送信などコンテンツに関する処理を制御する。例えば、コンテンツ処理部２７は、コンテンツ記憶部２１に記憶されているコンテンツレコードを通信部３２を介して他の機器に送信したり、通信部３２を介して他の機器から受信するコンテンツレコードをコンテンツ記憶部２１に記憶する。
コンテンツ鍵管理部３４は、ライセンス記憶部２２が記憶するライセンスＤＢにおける暗号化コンテンツ鍵について復号、ムーブ等を管理する機能を有する。
【００７７】
利用条件判定部３５は、ライセンスレコードにおける利用条件８４が満たされているか否かを、ステート情報における利用条件８４に対応するパラメータ種別１０２のステート情報値、現在時刻等を用いて判定する機能を有する。
ステート情報更新部３６は、コンテンツの利用（再生、書き出し、転送など）によりステート情報の更新が必要となった場合に、ステート情報を更新し、更新後のステート情報をステート情報記憶部２３に記憶させる。
【００７８】
改竄検出情報更新部３７は、ステート情報ＤＢ、置換検出情報ＤＢが更新された場合など、改竄検出情報１６１の更新が必要となった場合に、更新する。
置換検出情報更新部３０は、置換検出情報の更新が必要となった際に、置換検出情報を更新し、更新後の置換検出情報を置換検出情報記憶部２４に記憶させる機能を有する。
暗復号部３１は、コンテンツ鍵によるコンテンツ復号、ステート情報の暗復号、ステート情報改竄検出、置換検出情報暗復号、置換検出情報改竄検出、通信メッセージ暗復号などの各種暗号処理を行う。
【００７９】
通信部３２は、伝送路１２経由で、シンク端末１４やライセンスサーバ１１などの他機器との通信を行う。
時刻管理部３３は、現在時刻を刻むリアルタイムクロック、時間経過に対して単調性（単調増加又は単調減少）を有するカウンタ値を計測するカウンタを複数備える。時刻管理部３３は、現在時刻、カウンタ値の改竄等がされないようセキュアに保護されている。本実施の形態では、時刻管理部３３における各カウンタは、通信先識別１３１により識別される各端末に割り当てられる。時刻管理部３３は、端末との通信時に、端末に割り当てられたカウンタをカウントアップする。
４．１．２．シンク端末
図８は、シンク端末１４の構成を示すブロック図である。
【００８０】
シンク端末１４は、コンテンツ記憶部４１、ライセンス記憶部４２、ステート情報記憶部４３、置換検出情報記憶部４４、端末識別情報記憶部４５、改竄検出情報記憶部４６、コンテンツ処理部４７、ライセンス処理部４８、置換検出部４９、置換検出情報更新部５０、暗復号部５１、通信部５２及び時刻管理部５３から構成される。また、ライセンス処理部４８は、コンテンツ鍵管理部５４、ステート情報更新部５６及び改竄検出情報更新部５７から構成される。
【００８１】
コンテンツ記憶部４１は、コンテンツＤＢを記憶する。
図９（ａ）、図９（ｂ）は、コンテンツ記憶部４１に記憶されるコンテンツＤＢのデータ構造の一例を示す図である。コンテンツ記憶部４１に記憶されるコンテンツＤＢのデータ構造は、図４のコンテンツＤＢのデータ構造と同じである。
図９（ａ）の場合、コンテンツＤＢは、１個のコンテンツレコード７４を含む。
【００８２】
コンテンツレコード７４における、コンテンツ識別１９１は、コンテンツＣの識別情報「ＣＩＤ−０５０」であり、暗号化コンテンツ６２は、コンテンツＣが暗号化された「Ｅｎｃ（コンテンツＣ）」であり、コンテンツ情報６３は「タイトル＝□□、番組時間＝６０分、サムネイルＵＲＩ＝・・」である。図９（ｂ）については、後述する。
ライセンス記憶部４２は、ライセンスＤＢを記憶する機能を有する。ライセンス記憶部４２に記憶されているライセンスＤＢのデータ構造は、図５のライセンスＤＢのデータ構造と同じである。
【００８３】
図１０（ａ）の場合、ライセンスＤＢは、１個のライセンスレコード９４を含む。
ライセンスレコード９４における、ライセンス識別２１１は「ＬＩＤ−０５０」であり、コンテンツ識別２１２は「ＣＩＤ−０５０」であり、暗号化コンテンツ鍵２１３は、コンテンツ鍵「ＣＫ０５０」が暗号化された「Ｅｎｃ（ＣＫ０５０）」であり、利用条件８４は「有効期限：２００９年１０月１日から２００９年１２月３１日まで、かつ、メディア書き出し回数：２回」であり、改竄検出情報８５は、ハッシュ値「ｈ０５０」である。なお、Ｅｎｃ（ＣＫ０５０）は、コンテンツ鍵ＣＫ０５０をシンク端末１４の端末秘密鍵で暗号化した暗号化コンテンツ鍵である。図１０（ｂ）については、後述する。
【００８４】
ステート情報記憶部４３は、ステート情報ＤＢを記憶する機能を有する。
図１１（ａ）、図１１（ｂ）は、ステート情報ＤＢのデータ構造を示す図である。
ステート情報記憶部４３に記憶されるステート情報ＤＢのデータ構造は、図６を用い説明したステート情報ＤＢと同様である。
図１１（ａ）の場合、ステート情報ＤＢは、１個のステート情報１１５を含む。ステート情報１１５においては、ライセンス識別２３１が「ＬＩＤ−０５０」であり、パラメータ種別２３２「書き出し済み回数」に係るステート情報値２３３が「０」であり、ステート情報管理期限２３４が「２００９年１２月３１日」である。図１１（ｂ）については、後述する。
【００８５】
置換検出情報記憶部４４は、置換検出情報ＤＢを記憶する。
置換検出情報ＤＢは、ステート情報記憶部４３に記憶されているステート情報の巻き戻し・置換を検出するために用いられる。
図１２（ａ）〜（ｄ）は、置換検出情報記憶部４４に記憶されている置換検出情報ＤＢを示す図である。
【００８６】
置換検出情報記憶部４４に記憶されている置換検出情報ＤＢのデータ構造は、図７を用い説明したものと同じである。図１２（ａ）の場合、置換検出情報ＤＢは、置換検出情報レコード２５１、２５２を含む。置換検出情報レコード２５１における通信先識別２４１は「ＣＬ−ｃ」であり、置換検出情報２４２は「２４」である。置換検出情報レコード２５２における通信先識別２４１は「ＣＬ−ｘ」であり、置換検出情報２４２は「４」である。
【００８７】
ここで、置換検出情報ＤＢの内容が図１２（ａ）の状態から図１２（ｂ）、図１２（ｃ）、図１２（ｄ）へと変化する場合について説明する。ここで、図１２（ａ）〜（ｄ）の遷移は、図７（ａ）〜（ｄ）の遷移に対応しており、図１２（ａ）は、図７（ａ）に対応し、同様に図１２（ｂ）〜（ｄ）の各々は、図７（ｂ）〜（ｄ）の各々に対応する。
図１２（ａ）は、通信先識別がＣＬ−ａである端末との通信前の置換検出情報ＤＢを示している。図１２（ｂ）は、シンク端末１４が、通信先識別がＣＬ−ａである端末と初めて通信した後の置換検出情報ＤＢを示している。図１２（ｂ）の置換検出情報ＤＢは、図１２（ａ）の状態に対し、通信先識別２４１が通信した相手の識別情報「ＣＬ−ａ」である置換検出情報レコード２５３が置換検出情報更新部５０により追加されている。図１２（ｃ）は、シンク端末１４が、通信先識別がＣＬ−ａである端末と２度目の通信を行った後の置換検出情報ＤＢを示している。置換検出情報更新部５０によって、置換検出情報レコード２５３の置換検出情報２４２が、２度目の通信が行われた事を示す「２」に更新されている。図１２（ｄ）は、シンク端末１４が、通信先識別がＣＬ−ａである端末と３度目の通信を行った後の置換検出情報ＤＢを示している。置換検出情報更新部５０によって、置換検出情報レコード２５３の置換検出情報２４２が、３度目の通信が行われた事を示す「３」に更新されている。
【００８８】
端末識別情報記憶部４５は、自装置の端末識別情報を記憶する機能を有する。本実施の形態では、端末識別情報記憶部４５が記憶している端末識別情報は、「ＣＬ−ｂ」である。以下、シンク端末により記憶されている自装置の端末識別情報をシンク端末識別情報ともいう。また、本実施の形態では、シンク端末１４に対して、シンク端末公開鍵証明書とシンク端末秘密鍵のペアが発行されており、端末識別情報は、シンク端末１４に対して発行された公開鍵証明書のシリアル番号であるものとする。端末識別情報としては、別途端末に割り当てられた端末識別子などを用いてもよい。
【００８９】
コンテンツ処理部４７は、コンテンツの復号、再生、保存、送信などコンテンツに関する処理を制御する。例えば、コンテンツ処理部４７は、コンテンツ記憶部４１に記憶されているコンテンツレコードを通信部５２を介して他の機器に送信したり、通信部５２を介して他の機器から受信するコンテンツレコードをコンテンツ記憶部４１に記憶する。
コンテンツ鍵管理部５４は、ライセンス記憶部４２が記憶するライセンスＤＢにおける暗号化コンテンツ鍵について復号、ムーブ等を管理する機能を有する。
【００９０】
ステート情報更新部５６は、コンテンツの利用（再生、書き出し、転送など）によりステート情報の更新が必要となった場合に、ステート情報を更新し、更新後のステート情報をステート情報記憶部４３に記憶させる機能を有する。
置換検出部４９は、置換検出情報記憶部４４が記憶する置換検出情報に基づき、ソース端末１３のステート情報記憶部２３又はシンク端末１４のステート情報記憶部４３で記憶するステート情報が巻き戻し・置換されたか否かを判定し、ステート情報が置換された端末を検出する機能を有する。巻き戻し・置換の有無の判定の手順については後述する。
【００９１】
置換検出情報更新部５０は、置換検出情報の更新が必要となった際に、置換検出情報を更新し、更新後の置換検出情報を置換検出情報記憶部４４に記憶させる。
暗復号部５１は、コンテンツ鍵によるコンテンツ復号、ステート情報の暗復号、ステート情報改竄検出、置換検出情報の暗復号、置換検出情報の改竄検出、通信メッセージの暗復号などの各種暗号復号に関する処理を行う。
【００９２】
通信部５２は、伝送路１２経由で、ソース端末１３やライセンスサーバ１１などの他機器と通信する。
時刻管理部５３は、現在時刻を刻むリアルタイムクロック、時間経過に対して単調性（単調増加又は単調減少）を有するカウンタ値を計測するカウンタを複数備える。時刻管理部５３は、現在時刻、カウンタ値の改竄等がされないようセキュアに保護されている。本実施の形態では、時刻管理部５３における各カウンタは、通信先識別２４１により識別される各端末に割り当てられる。時刻管理部５３は、端末との通信時に、端末に割り当てられたカウンタをカウントアップする。通常の使用であれば、時刻管理部５３が計測するカウンタ値は、ソース端末１３における時刻管理部３３が計測しているカウンタ値と同値となる。なお、時刻管理部５３は、時刻管理部３３と構成を共通なものとするためリアルタイムクロックを有しているが、シンク端末１４では特に使用していない。よって、リアルタイムクロックを省略する構成としてもよい。
【００９３】
以上、本実施の形態における各装置の構成及びデータ構造について説明した。次に、これらのデータ構造を用いた各装置の動作について説明する。
４．２．動作
４．２．１．全体フロー
シンク端末１４は、ソース端末１３に対し、コンテンツ識別が「ＣＩＤ−００１」であり、対応するライセンスのライセンス識別が「ＬＩＤ−００１」であるコンテンツのムーブを要求するものとする。
【００９４】
図１３は、ムーブ処理の全体フローを示す図である。
ムーブを要求するコンテンツのコンテンツ識別「ＣＩＤ−００１」、ライセンス識別が「ＬＩＤ−００１」については、ユーザによって、リモコンなどの入力デバイス等（図示せず）を用いてシンク端末１４に予め指示されるものとする。
シンク端末１４は、端末識別情報記憶部４５よりシンク端末識別情報「ＣＬ−ｂ」を読み出す（Ｓ１）。そして、通信部５２が、シンク端末識別情報「ＣＬ−ｂ」を、ライセンス識別「ＬＩＤ−００１」、転送方法「ムーブ」と共にソース端末１３に送信する。
【００９５】
ソース端末１３は、ライセンス記憶部２２に記憶されたライセンスＤＢ中で、受信したライセンス識別と一致するライセンス識別８１を含むライセンスレコードを検索し、読み出す。ここでは、一例としてライセンスレコード９１を読み出すことになる。また、ステート情報記憶部２３に記憶されたステート情報ＤＢから、受信したライセンス識別「ＬＩＤ−００１」を含むステート情報を読み出す。ここでは、一例としてステート情報１１１を読み出すことになる。
【００９６】
そして、利用条件判定部３５は、読み出したライセンスレコード、特にライセンスレコード中の利用条件、ステート情報、時刻管理部３３より読み出す現在時刻などを用いて、ムーブ要求されているコンテンツに対応するステート情報の転送可否を判定する（Ｓ２）。利用条件中に複数の条件が記載されている場合、複数の条件全てを満たしているか否か判定する。ここで、具体例を用い転送可否の判定について説明する。例えば、時刻管理部３３が示す現在時刻が２００９年１０月１０日１７：００：００であるとする。このとき、利用条件判定部３５は、現在時刻が、ライセンス識別１０１「ＬＩＤ−００１」のライセンスレコード９１における利用条件（有効期限＝２０１０年６月３０日まで）の範囲内であるので、利用条件（有効期限）を満たしていると判断する。また、ライセンスレコード９１における利用条件（レンタル期間＝初回再生時刻から３日間）については、現在時刻が、ステート情報１１１の初回再生時刻パラメータのステート情報値「２００９年１０月１０日  １２：００：００」から３日以内であるので、利用条件（レンタル期間）を満たしていると判断する。以上より、利用条件判定部３５は、シンク端末１４からの要求については、ライセンスレコード９１中の利用条件を全て満たすので、転送可能と判定する。一方、利用条件を全て満たさなければ、利用条件判定部３５は、転送不可と判定する。
【００９７】
ここで、シンク端末１４から要求されていないので本来判定は不要であるが、ライセンス識別が「ＬＩＤ−００３」のライセンスについて判定する場合についても言及する。このライセンスについては、利用条件判定部３５は、有効期限（２００９年６月１日から２００９年９月３０日まで）に関し、利用条件８４を満たしていないため、転送不可（転送不要）と判定することになる。利用条件判定部３５により転送可能と判定された場合は（Ｓ３：ＹＥＳ）、Ｓ４に進み、転送不可と判定された場合は（Ｓ３：ＮＯ）、シンク端末１４へのステート情報の転送を行わずにエラーを通知するなどして処理を終了する。
【００９８】
Ｓ４では、ソース端末１３のステート情報更新部３６は、指定されたライセンス識別（「ＬＩＤ−００１」）を有するステート情報（ステート情報１１１）をシンク端末１４に送信する。送信したステート情報については、ステート情報記憶部２３に記憶するステート情報ＤＢから削除する。
例えば、ライセンス識別「ＬＩＤ−００１」のライセンスに関するステート情報の場合、「ＬＩＤ−００１」のステート情報１１１をシンク端末１４に送信する。ステート情報更新部３６は、ステート情報ＤＢを図６（ａ）の状態から、転送したステート情報１１１を削除した図６（ｂ）の状態に更新する。そして、ステート情報記憶部２３に記憶するステート情報ＤＢをロックする。このロックは、シンク端末１４がステート情報更新に失敗した場合などステート情報ＤＢを更新するのが望ましくない場合に、ステート情報を通信前の状態に戻せるよう、ステート情報ＤＢの更新を制限する目的で行っている。削除対象となったステート情報１１１についてはロックを解除するまでバックアップしておくものとする。その後、Ｓ５に進む。
【００９９】
Ｓ５では、ソース端末１３は、シンク端末１４より取得したシンク端末識別情報に合致する通信先識別１３１を持つ置換検出情報レコードを、置換検出情報ＤＢから検索して取得する。例えば、シンク端末１４より取得したシンク端末識別情報が「ＣＬ−ｂ」である場合、「ＣＬ−ｂ」は、置換検出情報記憶部２４が記憶する置換検出情報ＤＢ中に無いため、シンク端末１４との通信が初回であると判断する。仮に、置換検出情報記憶部２４が記憶する置換検出情報ＤＢが図７（ｂ）又は（ｃ）又は（ｄ）のいずれかであれば、該当する通信先識別１３１に関する置換検出情報レコード１４３があるため、置換検出情報レコード１４３の置換検出情報１３２（「１」又は「２」又は「３」）（以下、ソース端末置換検出情報という。）を読み出す。その後、Ｓ６に進む。
【０１００】
Ｓ６では、ソース端末１３は、端末識別情報記憶部２５からソース端末識別情報「ＣＬ−ａ」を読み出す。
そして、通信部３２が、ソース端末識別情報「ＣＬ−ａ」を、転送対象のステート情報（Ｓ４で処理したステート情報）、ソース端末置換検出情報（置換検出情報が無い場合はその旨）と共にシンク端末１４に送信する。その後、Ｓ７に進む。
【０１０１】
Ｓ７では、シンク端末１４の置換検出部４９が、ソース端末１３より取得したソース端末置換検出情報と、シンク端末１４の置換検出情報記憶部４４が記憶する通信相手であるソース端末の置換検出情報（以下、シンク端末置換検出情報という。）とを用いて、ソース端末１３及びシンク端末１４のステート情報が巻き戻し・置換されたか否かを判定する。また、ステート情報が巻き戻し・置換された端末を特定する。Ｓ７の詳細は後述する。その後、Ｓ８に進む。
【０１０２】
Ｓ８では、置換検出部４９は、Ｓ７においてステート情報の巻き戻し・置換が無いと判定した場合は（Ｓ８：ＮＯ）、Ｓ９に進み、巻き戻し・置換があると判定した場合は（Ｓ８：ＹＥＳ）、Ｓ１７に進む。
Ｓ１７では、シンク端末１４の置換検出部４９が、Ｓ７で検出した不正端末を排除するため、不正端末リスト（図示せず）に不正端末の端末識別情報を登録し、又は他の端末や図示しないリボケーションサーバなどに不正端末を通知する。例えば、置換検出部４９がソース端末１３を不正端末として検出した場合、ソース端末１３の端末識別情報「ＣＬ−ａ」を不正端末リストとして記憶し、他の端末やリボケーションサーバなどに通信部５２を介して通知する。シンク端末１４及び、シンク端末１４から不正端末の通知を受けた他の端末やリボケーションサーバなどは、以後、端末識別情報「ＣＬ−ａ」との間でのライセンス・ステート情報の送受信やその他の通信を行なわないようにする。
【０１０３】
また、置換検出部４９がシンク端末１４（自端末）を不正端末として検出した場合、シンク端末１４の端末識別情報「ＣＬ−ｂ」を不正端末リストとして記憶し、他の端末やリボケーションサーバなどに通知し、端末機能を停止する。そして、処理を終了する。
Ｓ９では、シンク端末１４の置換検出情報更新部５０は、通信相手に係る置換検出情報を新たな値に更新し（本実施形態では、値を１インクリメントする。）、置換検出情報記憶部４４に記憶する。更新すべき置換検出情報が置換検出情報記憶部４４に記憶されてない場合、ソース端末１３との通信が初めてであった場合、ソース端末１３についての通信先識別２４１が「ＣＬ−ａ」であり、置換検出情報２４２の値が初期値「１」である置換検出情報レコードを新たに生成し、置換検出情報記憶部４４に記憶する。その後、Ｓ１０に進む。
【０１０４】
Ｓ１０では、シンク端末１４のステート情報更新部５６は、ソース端末１３より取得したステート情報をステート情報記憶部４３に記憶する。
具体的には、ステート情報記憶部４３に記憶されているステート情報ＤＢが図１１（ａ）の状態であり、このときにライセンス識別が「ＬＩＤ−００１」であるステート情報を記憶するとステート情報ＤＢは図１１（ｂ）の状態となる。これにより、以後、シンク端末１４は、ソース端末１３から取得したライセンスに係るステート情報をソース端末１３に代わり管理する。その後、Ｓ１１に進む。
【０１０５】
Ｓ１１では、改竄検出情報更新部５７が、置換検出情報記憶部４４に記憶された置換検出情報ＤＢ、ステート情報記憶部４３にステート情報ＤＢの内容に変更があった場合に改竄検出情報１６１を再生成し更新する。
そして、通信部５２は、Ｓ９で更新したシンク端末置換検出情報を、ステート情報更新が成功したか否かを示す更新処理結果と共に、ソース端末１３に送信する。その後、Ｓ１２に進む。
【０１０６】
Ｓ１２では、ソース端末１３の置換検出情報更新部３０は、ソース端末置換検出情報を１インクリメントして新たな値に更新し、置換検出情報記憶部２４に記憶する。
例えば、置換検出情報記憶部２４が記憶する置換検出情報ＤＢが図７（ｂ）の状態であるとする。この場合、ソース端末１３における置換検出情報更新部５０は、ステップＳ９にてシンク端末置換検出情報が１インクリメントされているため、通信先識別１３１が「ＣＬ−ｂ」である置換検出情報レコードの置換検出情報１３２を「１」から「２」へと更新する。また、置換検出情報記憶部２４が記憶する置換検出情報ＤＢが図７（ａ）の状態であれば、置換検出情報記憶部２４が記憶する置換検出情報ＤＢ中に通信先識別１３１が「ＣＬ−ｂ」である置換検出情報レコードは存在しない。よって、置換検出情報更新部３０は、通信先識別１３１が「ＣＬ−ｂ」であり、置換検出情報１３２が「１」である置換検出情報レコードを新たに生成し、置換検出情報記憶部２４に記憶する。これにより、置換検出情報ＤＢは、図７（ｂ）の状態となる。
【０１０７】
以上のように、ソース端末１３とシンク端末１４との間で、置換検出情報の値が共有される。上記置換検出情報の更新にあたっては、置換検出情報の値を１インクリメントすることとしていたが、これに限るものではない。例えば、値を１以外の数だけインクリメントしてもよいし、所定数だけデクリメントすることとしてもよい。また、置換検出情報更新部３０による置換検出情報１３２の更新が、置換検出情報１３２をシンク端末１４から取得したシンク端末置換検出情報で更新するというロジックに従ってもよい。更新終了後、Ｓ１３に進む。
【０１０８】
Ｓ１３では、ソース端末１３のステート情報更新部３６は、シンク端末１４からＳ１０において取得した更新処理結果がステート情報更新に成功したことを示す場合に、Ｓ４で行ったロックを解除する。また、Ｓ１０において取得した更新処理結果がステート情報更新に失敗したことを示す場合には、ソース端末１３のステート情報記憶部２３が記憶するステート情報を通信前の状態に戻す。その後、Ｓ１４に進む。
【０１０９】
Ｓ１４では、改竄検出情報更新部３７が、置換検出情報記憶部２４に記憶された置換検出情報ＤＢ、ステート情報記憶部２３にステート情報ＤＢの内容に変更があった場合に改竄検出情報１６１を再生成し更新する。その後、Ｓ１５に進む。
ここで、暗号化コンテンツ鍵８３は、ソース端末１３の端末秘密鍵で暗号化されているため、シンク端末１４において復号できない。よって、Ｓ１５において、ソース端末１３のコンテンツ鍵管理部３４が、転送するライセンスの暗号化コンテンツ鍵８３を暗復号部３１により復号してコンテンツ鍵（ＣＫ００１）を取りだし、このコンテンツ鍵（ＣＫ００１）をシンク端末１４から取得したシンク端末公開鍵証明書の公開鍵で暗号化することで暗号変換を行う。そして、コンテンツ鍵管理部３４は、ライセンスレコード９１における暗号化コンテンツ鍵８３を暗号変換後のコンテンツ鍵に置き換え、置き換えた後のライセンスレコードを通信部３２を用いてシンク端末１４に送信する。そして、ライセンスＤＢ（図５（ａ））からライセンスレコード９１を削除する。ライセンスレコード９１が削除された後のライセンスＤＢは図５（ｂ）のようになる。その後、Ｓ１６に進む。
【０１１０】
Ｓ１６では、シンク端末１４は、ソース端末１３から取得したライセンスレコードにおける暗号変換されたコンテンツ鍵を、ライセンス記憶部４１に記憶する。このときのライセンスＤＢは、図１０（ｂ）のようになる。次にＳ７の詳細について説明する。
図１４は、Ｓ７の詳細である置換検出処理フローを示す図である。
シンク端末１４の置換検出部４９は、ソース端末１３より取得したソース端末識別情報に合致する通信先識別２４１を持つ置換検出情報レコードを置換検出情報記憶部４４に記憶されている置換検出情報ＤＢ中から検索する（Ｓ３１）。例えば、ソース端末１３より取得したソース端末識別情報が「ＣＬ−ａ」を示しており、置換検出情報記憶部４４が記憶している置換検出情報ＤＢが図１２（ａ）である場合は、該当する通信先識別２４１を有する置換検出情報レコードが無いため（Ｓ３２：ＮＯの場合）、ソース端末１３との通信は初回であると判断し、Ｓ３６に進む。一方、置換検出情報記憶部４４が記憶している置換検出情報ＤＢが図１２（ｂ）又は（ｃ）又は（ｄ）のいずれかである場合は、該当する通信先識別２４１を有する置換検出情報レコードがあるため（Ｓ３２：ＹＥＳの場合）、置換検出情報２４２として、図１２（ｂ）又は（ｃ）又は（ｄ）各々の置換検出情報レコードから置換検出情報「１」又は「２」又は「３」を読み出す（Ｓ３３）。
【０１１１】
ソース端末１３よりソース端末置換検出情報を受信した場合（Ｓ３４：ＹＥＳの場合）、Ｓ３５に進む。シンク端末１４の置換検出部４９は、ソース端末１３よりソース端末置換検出情報を受信しなかった場合（Ｓ３４：ＮＯの場合）、ソース端末１３のステート情報が、ソース端末１３とシンク端末１４とが通信する前の状態（例えば、図６（ａ）の状態）である一方、シンク端末１４のステート情報が、通信後の状態（例えば、図１１（ｂ）又は（ｃ）又は（ｄ）の状態）である、すなわち、ソース端末１３のステート情報記憶部２３が記憶するステート情報が巻き戻し・置換されたと判定する（Ｓ４１）。
【０１１２】
Ｓ３５において、シンク端末１４の置換検出部４９は、ソース端末置換検出情報とシンク端末置換検出情報とを比較し、両者が一致する場合（例えば、ソース端末の置換検出情報ＤＢが図７（ｂ）の状態であり、シンク端末の置換検出情報が図１２（ｂ）の状態である場合）（Ｓ３５：ＹＥＳの場合）、シンク端末１４の置換検出部４９は、置換検出情報の値が共有されており、ソース端末１３のステート情報記憶部２３が記憶するステート情報、及び、シンク端末１４のステート情報記憶部４３が記憶するステート情報の両者とも、巻き戻し・置換されていないと判定する（Ｓ３８）。両者が一致しない場合（Ｓ３５：ＮＯの場合）、シンク端末１４の置換検出部４９は、ソース端末１３のステート情報記憶部２３が記憶するステート情報、又は、シンク端末１４のステート情報記憶部４３が記憶するステート情報のいずれかが、巻き戻し・置換されていると判断しＳ３７に進む。
【０１１３】
Ｓ３７において、シンク端末１４の置換検出部４９は、ソース端末置換検出情報とシンク端末置換検出情報のいずれが新しいかを判定する。ソース端末置換検出情報がシンク端末置換検出情報よりも時系列的に過去のものである場合（Ｓ３７：ＹＥＳの場合）、例えば、ソース端末の置換検出情報ＤＢが図７（ｂ）の状態（通信先識別１３１「ＣＬ−ｂ」に関する置換検出情報１３２の値が「１」）であり、シンク端末の置換検出情報ＤＢが図１２（ｃ）の状態（通信先識別２４１「ＣＬ−ａ」に関する置換検出情報２４２の値が「２」）である場合、ソース端末１３のステート情報記憶部３３が記憶するステート情報が巻き戻し・置換されたと判定する（Ｓ４１）。
【０１１４】
これとは逆に、シンク端末の置換検出情報ＤＢがソース端末の置換検出情報ＤＢよりも時系列的に過去のものである場合（Ｓ３７：ＮＯの場合）、例えば、ソース端末の置換検出情報ＤＢが図７（ｄ）の状態（通信先識別１３１「ＣＬ−ｂ」に関する置換検出情報１３２の値が「３」）であり、シンク端末の置換検出情報ＤＢが図１２（ｃ）の状態（通信先識別２４１「ＣＬ−ａ」に関する置換検出情報２４２の値が「２」）である場合には、シンク端末１４のステート情報記憶部４３が記憶するステート情報が巻き戻し・置換されたと判定する（Ｓ４０）。
【０１１５】
また、Ｓ３６において、ソース端末１３よりソース端末置換検出情報を取得したと判定した場合（Ｓ３６：ＹＥＳの場合）、シンク端末１４の置換検出部４９は、ソース端末１３のステート情報ＤＢが、ソース端末１３とシンク端末１４との間で通信がされた後の状態（例えば、図７（ｂ）又は（ｃ）又は（ｄ）の状態）である一方、シンク端末１４のステート情報ＤＢが、通信前の状態（例えば、図１２（ａ）の状態）であり、シンク端末１４のステート情報記憶部４３が記憶するステート情報が巻き戻し・置換されたと判定する（Ｓ３９）。ソース端末１３よりソース端末置換検出情報が送信されなかった場合（Ｓ３６：ＮＯの場合）、シンク端末１４の置換検出部４９は、ソース端末１３のステート情報ＤＢが、ソース端末１３とシンク端末１４との間の通信前の状態（例えば、図７（ａ）の状態）であり、シンク端末１４のステート情報ＤＢも通信前の状態（例えば、図１２（ａ）の状態）であり、ソース端末１３のステート情報記憶部２３が記憶するステート情報、及び、シンク端末１４のステート情報記憶部４３が記憶するステート情報の両者とも、巻き戻し・置換されていないと判定する（Ｓ３８）。
【０１１６】
以上で、本実施の形態に係る処理の説明を終える。
上述の構成によれば、シンク端末１４の置換検出部４９が、ソース端末１３の置換検出情報記憶部２４の記憶する置換検出情報（ソース端末置換検出情報）と、シンク端末１４の置換検出情報記憶部４４の記憶する置換検出情報（シンク端末置換検出情報）とに基づき、ソース端末１３のステート情報記憶部２３の記憶するステート情報及びシンク端末１４のステート情報記憶部４３の記憶するステート情報の巻き戻し・置換を検出することにより、シンク端末１４において不正端末の検出、排除が可能となる。
５．実施の形態５
５．１．構成
実施の形態４では、不正端末の検出処理をシンク端末１４で行うのみで、ソース端末１３では行っていない。これに対し本実施の形態では、不正端末の検出をソース端末、シンク端末の双方で行う。これにより、不正端末の検出についてダブルチェックすることができるので実施の形態４の場合と比べて不正端末の検出精度を向上することができる。なお、以降の説明において、上記実施の形態４で既に説明しているものについては、特に必要ない限り、説明を省略する。
【０１１７】
図１５は、本実施の形態におけるシステムの構成を示す図である。
本システムにおいて、シンク端末１４については実施の形態４と同様であり、実施形態４におけるソース端末１３が、ソース端末１５へと変更されている。
ソース端末１５は、図１６に示すように、ソース端末１３の構成に、置換検出部５８を加えた構成となっている。
【０１１８】
置換検出部５８は、置換検出情報記憶部２４が記憶する置換検出情報に基づき、ソース端末１５のステート情報記憶部２３又はシンク端末１４のステート情報記憶部４３で記憶するステート情報が巻き戻し・置換されたか否かを判定し、ステート情報が置換された端末を検出する機能を有する。
５．２．動作
５．２．１．全体フロー
シンク端末１４は、実施の形態４の場合と同様に、ソース端末１５に対し、コンテンツ識別が「ＣＩＤ−００１」であり、対応するライセンスのライセンス識別が「ＬＩＤ−００１」であるコンテンツのムーブを要求するものとする。
【０１１９】
図１７は、ムーブ処理の全体フローを示す図である。
ここで、図１７において、図１３のフローチャートにおける処理と同じ処理については同じ符号を付しており、その詳細な説明は省略する。
ソース端末１５は、予め、端末識別情報記憶部２５よりソース端末識別情報「ＣＬ−ａ」を読み出し（Ｓ６）、シンク端末１４に送信しておく。
【０１２０】
シンク端末１４は、端末識別情報記憶部４５よりシンク端末識別情報「ＣＬ−ｂ」を読み出す（Ｓ１）。また、シンク端末１４は、置換検出情報記憶部４４における置換検出情報ＤＢから、ソース端末識別情報「ＣＬ−ａ」に合致する通信先識別２４１を持つ置換検出情報レコードを置換検出情報ＤＢから検索して、置換検出情報レコードから置換検出情報を読み出す（Ｓ７１）。
【０１２１】
例えば、置換検出情報記憶部４４に記憶されている置換検出情報ＤＢの内容が図１２（ａ）の場合であれば、ソース端末識別情報「ＣＬ−ａ」は、置換検出情報記憶部４４が記憶する置換検出情報ＤＢ中に無いため、ソース端末１５との通信が初回であると判断する。仮に、置換検出情報記憶部４４が記憶する置換検出情報ＤＢが図１２（ｂ）又は（ｃ）又は（ｄ）のいずれかであれば、該当する通信先識別２４１に関する置換検出情報レコード２５３があるため、置換検出情報レコード２５３の置換検出情報２４２（「１」又は「２」又は「３」）（以下、シンク端末置換検出情報という。）を読み出す。
【０１２２】
そして、通信部５２が、シンク端末識別情報「ＣＬ−ｂ」を、シンク端末置換検出情報（置換検出情報が無い場合はその旨）と、ライセンス識別「ＬＩＤ−００１」、転送方法「ムーブ」と共に、ソース端末１５に送信する。
ソース端末１５の置換検出部５８は、シンク端末１４より取得したシンク端末置換検出情報と、ソース端末１５の置換検出情報記憶部２４が記憶するシンク端末置換検出情報とを用いて、ソース端末１５及びシンク端末１４のステート情報が巻き戻し・置換されたか否かを判定する。また、ステート情報が巻き戻し・置換された端末を特定する（Ｓ７２）。Ｓ７２の詳細は、図１８に示している。
【０１２３】
ここで、図１８は、内容的には、既に詳細に説明した図１４における「ソース端末」と「シンク端末」とを入れ替えただけのものであるので、ここでの詳細な説明は省略する。
Ｓ７２の後、Ｓ７３では、置換検出部５８が、Ｓ７２においてステート情報の巻き戻し・置換は無いと判定した場合は（Ｓ７３：ＮＯ）、Ｓ２に進み、巻き戻し・置換があると判定した場合は（Ｓ７３：ＹＥＳ）、Ｓ７４に進む。
【０１２４】
Ｓ７４では、置換検出部５８は、Ｓ７２で検出した不正端末を排除するため、不正端末リスト（図示せず）に不正端末の端末識別情報を登録し、又は他の端末や図示しないリボケーションサーバなどに不正端末を通知する。
例えば、シンク端末１４を不正端末として検出した場合、シンク端末１４の端末識別情報「ＣＬ−ｂ」を不正端末リストとして記憶し、他の端末やリボケーションサーバなどに通知し、以降、端末識別情報「ＣＬ−ｂ」との間でのライセンス・ステート情報の送受信、その他の通信も行なわないようにする。また、ソース端末１５（自端末）を不正端末として検出した場合、ソース端末１５の端末識別情報「ＣＬ−ａ」を不正端末リストとして記憶し、他の端末やリボケーションサーバなどに通知し、端末機能を停止する。そして、処理を終了する。
【０１２５】
図１７のＳ２〜Ｓ５、Ｓ７〜Ｓ１７については、図１３における同符号の処理と同様であり、既に詳細に説明済みである。
以上、本実施の形態における処理フローを説明した。
以上のように、本実施の形態によれば、ソース端末１５の置換検出部５８及びシンク端末１４の置換検出部４９の両方において、ソース端末１５の置換検出情報記憶部３０の記憶する置換検出情報（ソース端末置換検出情報）と、シンク端末１４の置換検出情報記憶部４４の記憶する置換検出情報（シンク端末置換検出情報）とに基づき、ソース端末１５のステート情報記憶部２３の記憶するステート情報及びシンク端末１４のステート情報記憶部４３の記憶するステート情報の巻き戻し・置換を検出し、ソース端末１５及びシンク端末１４の双方において不正端末の検出、排除が可能となる。
【０１２６】
なお、ソース端末１５は、シンク端末１４の構成を全て有しているので、ソース端末１５と同じ構成の端末装置をシンク端末として使用することができる。よって、システムにおけるシンク端末とソース端末の双方を、ソース端末１５と同構成の端末装置で構成して、プラットフォームの単一化を図ることができる。
６．実施の形態６
上述の実施の形態４では、不正端末の検出処理をシンク端末が行い、実施の形態５では、ソース端末、シンク端末の双方で行っていた。これに対し本実施の形態では、ソース端末が不正端末の検出を行う。なお、以降の説明において、実施の形態４及び５で既に説明しているものについては、特に必要ない限り、説明を省略する。
【０１２７】
図１９は、本実施の形態におけるシステムの構成を示す図である。
本システムにおいて、ソース端末１５については実施の形態５と同様であり、実施の形態５におけるシンク端末１４が、シンク端末１６へと変更されている。
シンク端末１６は、図２０に示すように、シンク端末１４の構成から置換検出部４９を削除した構成となっている。
【０１２８】
図２１は、本実施の形態における全体フローを示す図である。
図２１では、図１７において行っていたＳ５、Ｓ６、Ｓ７、Ｓ８、Ｓ１７の処理を行わない点が異なる。ここで、図２１において、図１７のフローチャートにおける処理と同じ処理については同じ符号を付しており、その詳細な説明は省略する。
かかる構成によれば、ソース端末１５の置換検出部５８が、ソース端末１５の置換検出情報記憶部２４の記憶する置換検出情報（ソース端末置換検出情報）と、シンク端末１４の置換検出情報記憶部４４の記憶する置換検出情報（シンク端末置換検出情報）とに基づき、ソース端末１５のステート情報記憶部２３の記憶するステート情報及びシンク端末１４のステート情報記憶部４３の記憶するステート情報の巻き戻し・置換を検出することにより、ソース端末１５において不正端末の検出、排除が可能となる。
７．実施の形態７
本発明の実施の形態７では、利用条件の判定をバイトコードによる処理で行う。ライセンスサーバ或いはソース端末側で利用条件に係るバイトコードを変更し、そのバイトコードをシンク端末に送信すれば、シンク端末側でバイトコードを用いて行われるライセンス判定処理の判定内容を変更することができる。
【０１２９】
図２２は、本実施の形態におけるシステムの構成を示す図である。
上述の実施形態と同様、図１の端末１０ａ、端末１０ｂ、端末１０ｃのうちの一端末がコンテンツを提供するサーバであるソース端末１７として動作し、他の端末がコンテンツを取得して再生するクライアントであるシンク端末１８として動作するものとする。
図２３は、本実施の形態におけるソース端末１７及びシンク端末１８の構成を示す図である。ソース端末１７及びシンク端末１８の構成は共通しているので両端末の構成を一枚の図面（図２３）で表している。図２３において、カッコ書きの符号は、シンク端末１８の構成を表している。例えば「コンテンツ記憶部２１（４１）」の記載は、ソース端末１７についてはコンテンツ記憶部２１を示し、シンク端末１８についてはコンテンツ記憶部４１を示す。
【０１３０】
ソース端末１７は、図示したように、コンテンツ記憶部２１、ライセンス記憶部２２、ステート情報記憶部２３、置換検出情報記憶部２４、端末識別情報記憶部２５、改竄検出情報記憶部２６、コンテンツ処理部２７、暗復号部３１、通信部３２、時刻管理部３３、コンテンツ鍵管理部３４及びバイトコード処理部５９から構成される。
バイトコード処理部５９及び６０は、バイトコードを実行するバイトコードエンジンである。
【０１３１】
ここで、上述の実施形態とは異なるデータの構成について説明する。
まず、ステート情報記憶部２３により記憶されているステート情報ＤＢについて説明する。
図２５（ａ）は、本実施の形態におけるステート情報ＤＢのデータ構造を示す図である。本実施の形態におけるステート情報ＤＢでは、ステート情報識別名２９１がステート情報を識別するための情報であり、図６（ａ）で示したステート情報ＤＢのライセンス識別１０１とパラメータ種別１０２との双方を示している。
【０１３２】
本実施の形態では、ステート情報を一意に識別するため、ステート情報が階層構造で管理されている。例えば、ステート情報のルート階層を「Ｓｔａｔｅ」とし、その子階層としてライセンス識別１０１を管理し、さらにその子階層としてパラメータ種別１０２を管理する。これを階層構造で示すと、「／Ｓｔａｔｅ／「ライセンス識別１０１」の名称／「パラメータ種別１０２」の名称」となる。バイトコードは、このステート情報識別名２９１を用いてステート情報の読み書きを行う。
【０１３３】
図２５（ａ）の場合、ステート情報ＤＢは、２個のステート情報３０１、３０２を含む。ステート情報３０１は、ステート情報識別名２９１が「／Ｓｔａｔｅ／ＬＩＤ−００１／１ｓｔＵｓｅｄＴｉｍｅ」であり、ステート情報管理期限１０４が「２０１０年６月３０日」であり、ステート情報値１０３が「２００９年１０月１０日１２：００：００」である。「１ｓｔＵｓｅｄＴｉｍｅ」が、図６における「初回再生時刻」に相当する。ステート情報３０２は、ステート情報識別名２９１が「／Ｓｔａｔｅ／ＬＩＤ−００３／ＰｌａｙＣｏｕｎｔ」であり、ステート情報管理期限１０４が「２００９年９月３０日」であり、ステート情報値１０３が「２回」である。「ＰｌａｙＣｏｕｎｔ」が、図６における「再生済み回数」に相当する。
【０１３４】
また、図２８（ａ）は、シンク端末１８におけるステート情報記憶部４３により記憶されているステート情報ＤＢについて示している。データ構造については、図２５（ａ）を用いて説明したのと同様である。
次に、ソース端末１７の置換検出情報記憶部２４により記憶されている置換検出情報ＤＢについて説明する。
【０１３５】
図２６（ａ）〜（ｄ）は、本実施の形態における置換検出情報ＤＢのデータ構造を示す図である。
本実施の形態における置換検出情報ＤＢは、図７（ａ）〜（ｄ）を用いて説明したものと比べ、通信先識別のデータ表現が異なる。
通信先識別３２１は、バイトコードが通信先別の置換検出情報を識別するための情報である。本実施の形態では、置換検出情報を一意に識別できるよう階層構造で管理している。例えば、置換検出情報のルート階層を「ＲｅｐｌａｃｅＩｎｆｏ」とし、その子階層として置換検出情報を管理する端末（自端末）の端末識別情報を管理し、さらにその子階層として通信先端末の端末識別情報を管理する。これを階層構造で示すと、「／ＲｅｐｌａｃｅＩｎｆｏ／「自端末の端末識別情報」／「通信先端末の端末識別情報」」となる。
【０１３６】
図２６（ａ）における、置換検出情報レコード３３１は、通信先識別３２１が「ＲｅｐｌａｃｅＩｎｆｏ／ＣＬ−ａ／ＣＬ−ｄ」、置換検出情報１３２が「１５」である。置換検出情報レコード３３２は、通信先識別３２１が「ＲｅｐｌａｃｅＩｎｆｏ／ＣＬ−ａ／ＣＬ−ｘ」、置換検出情報１３２が「４」である。
図２６（ｂ）（ｃ）（ｄ）の状態は、通信先識別３２１が「ＲｅｐｌａｃｅＩｎｆｏ／ＣＬ−ａ／ＣＬ−ｄ」及び「ＲｅｐｌａｃｅＩｎｆｏ／ＣＬ−ａ／ＣＬ−ｘ」の置換検出情報に関しては図７（ａ）の状態と同様であるが、通信先識別３２１が「ＲｅｐｌａｃｅＩｎｆｏ／ＣＬ−ａ／ＣＬ−ｂ」の置換検出情報を新たに管理しており、その置換検出情報１４０２は、「１」→「２」→「３」と増加している。
【０１３７】
図２９については、シンク端末１８における置換検出情報４４により記憶されているステート情報ＤＢについて示している。データ構造については、図２６を用いて説明したのと同様である。
次に、ライセンス記憶部２２により記録されている本実施の形態に係るライセンスＤＢについて、図２４（ａ）を用いて説明する。
【０１３８】
ライセンス記憶部２２により記録されているライセンスＤＢは、図５（ａ）を用いて説明したライセンスＤＢにおいて、利用条件８４が、利用条件判定処理バイトコード２６１に置き換わり、改竄検出情報８５が、利用条件判定処理バイトコード２６１に対する改竄を検出するための情報となっている。改竄検出情報８５は、一例として、利用条件判定処理バイトコード２６１の平文のハッシュ値を端末秘密鍵で暗号化した情報である。
【０１３９】
利用条件判定処理バイトコード２６１は、ステート情報や現在時刻を用いてコンテンツの復号可否を制御するための処理をバイトコードで記述した利用条件判定ロジックである。例えば、レンタル期間（初回再生時刻から３日間）を実現するための利用条件判定処理バイトコードには、「（ステップ１）現在時刻を読み出してステップ２へ。（ステップ２）ステート情報（初回再生時刻）を読み出してステップ３へ。（ステップ３）ステート情報（初回再生時刻）が存在すればステップ４へ、存在しなければステップ５へ。（ステップ４）現在時刻がステート情報（初回再生時刻）＋３日間を超えていなければ再生を許可して処理完了、超えていれば再生を不許可として処理完了。（ステップ５）ステート情報（初回再生時刻）として現在時刻を記憶してステップ６へ。（ステップ６）再生を許可して処理完了。」というロジックが記述される。
【０１４０】
ライセンスＤＢは、複数のライセンスレコードから成り、各ライセンスレコードは、ライセンス識別８１、コンテンツ識別８２、暗号化コンテンツ鍵８３及び利用条件判定処理バイトコード２６１及び改竄検出情報８５から成る。
図２４（ａ）の場合、ライセンスＤＢは、ライセンスレコード２７１〜２７３を含む。
ライセンスレコード２７１は、ライセンス識別８１が「ＬＩＤ−００１」、コンテンツ識別８２が「ＣＩＤ−００１」、暗号化コンテンツ鍵８３が「Ｅｎｃ（ＣＫ００１）」、改竄検出情報８５が「ｈ００１」であり、利用条件判定処理バイトコード２６１は、バイトコード２８１「ＢＣ００１−ｆｕｎｃ１」、バイトコード２８２「ＢＣ００１−ｆｕｎｃ２」、バイトコード２８３「ＢＣ００１−ｆｕｎｃ３」の３つのバイトコードから構成されている。
【０１４１】
バイトコード２８１「ＢＣ００１−ｆｕｎｃ１」は、ロジックＬ１〜Ｌ５から構成される。Ｌ１は、図１３で説明したステップＳ２同じ処理を行うロジックである。同様に、Ｌ２〜Ｌ５それぞれは、Ｓ３〜Ｓ６それぞれと同じ処理を行うロジックである。ここで、本実施の形態における処理フローは図３０に示すものであり、図１３で説明した処理と処理内容は変わらない。Ｓ８１に含まれるＬ１〜Ｌ５それぞれがＳ２〜Ｓ６それぞれと同様の処理であり、Ｓ８２に含まれるＬ６〜Ｌ９それぞれがＳ７〜Ｓ１０それぞれと同様の処理であり、Ｓ８３に含まれるＬ１１〜Ｌ１３それぞれがＳ１２〜Ｓ１５それぞれと同様の処理である。バイトコード処理（Ｓ８１）の内容が、ＢＣ００１−ｆｕｎｃ１に記述されており、バイトコード処理（Ｓ８２）の内容が、ＢＣ００１−ｆｕｎｃ２に記述されており、バイトコード処理（Ｓ８３）の内容が、ＢＣ００１−ｆｕｎｃ３に記述されている。
【０１４２】
また、バイトコードが、ステート情報、置換検出情報について、参照、読み出し、書き込みのためアクセスする場合には、上述の実施の形態４〜６とは異なる方法で行われる。
例えば、ステート情報については、ステート情報識別名２９１「／Ｓｔａｔｅ／「ライセンス識別１０１」の名称／「パラメータ種別１０２」の名称」を生成し、このステート情報識別名２９１をキーとして、ステート情報の読み書きを行う。また、置換検出情報レコードについては、ソース端末１７のソース端末識別情報「ＣＬ−ａ」とシンク端末１８のシンク端末識別情報「ＣＬ−ｂ」より通信先識別３２１「／ＲｅｐｌａｃｅＩｎｆｏ／ＣＬ−ａ／ＣＬ−ｂ」を生成し、この通信先識別３２１をキーとして置換検出情報レコード３３３にアクセスする。バイトコード２８１は、ソース端末１７により実行される。
【０１４３】
バイトコード２８２「ＢＣ００１−ｆｕｎｃ２」は、ロジックＬ６〜Ｌ９から構成される。Ｌ６〜Ｌ９のそれぞれは、図１３のＳ７〜Ｓ１０それぞれと同じ処理を行うロジックである。バイトコード２８２は、シンク端末１８により実行される。
バイトコード２８３「ＢＣ００１−ｆｕｎｃ３」は、ロジックＬ１１〜Ｌ１３から構成される。Ｌ１１〜Ｌ１３のそれぞれは、図１３のＳ１２〜１４それぞれと同じ処理を行うロジックである。バイトコード２８３は、ソース端末１７により実行される。
【０１４４】
ここで、ライセンスレコード２７１は、ソース端末で実行されるバイトコード、シンク端末で実行されるバイトコードの双方を含んでいる。ソース端末と、シンク端末との間でライセンスレコード２７１についてのライセンスの判定等を行うには、ソース端末、シンク端末の双方でライセンスレコード２７１に含まれるバイトコードを必要とする。よってライセンスの判定等を行う間は、ソース端末と、シンク端末の双方が、ライセンスレコード２７１を保持することになる。ライセンスの判定等の始めにおいてライセンスレコードを共有し、ライセンス判定等が終了した後、ソース端末側のライセンスレコードを消去することになる。
【０１４５】
実施の形態４〜６においては、ライセンスレコードは、ライセンスの判定等を行うソース端末かシンク端末のいずれかが保持し、共有していなかったので、この点、実施の形態７は実施の形態４〜６と異なる。
ライセンスレコード２７２は、ライセンス識別８１が「ＬＩＤ−００３」、コンテンツ識別８２が「ＣＩＤ−００３」、暗号化コンテンツ鍵８３が「Ｅｎｃ（ＣＫ００３）」利用条件判定処理バイトコード２６１が「ＢＣ００３」、改竄検出情報８５が「ｈ００３」である。
【０１４６】
ライセンスレコード２７３は、ライセンス識別８１が「ＬＩＤ−１２４」、コンテンツ識別８２が「ＣＩＤ−１２４」、暗号化コンテンツ鍵８３が「ＣＫ１２４」、利用条件判定処理バイトコード２６１が「ＢＣ１２４」、改竄検出情報８５が「ｈ１２４」である。
以上、本発明の実施の形態７についての説明を終える。
なお、実施の形態７では、実施の形態４における処理をバイトコードに置き換えていたが、実施の形態５、６についても同様にバイトコードを用いた処理として実現できる。
８．変形例その他
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
（１）上述の実施形態では、図１３、図１７、図２１に示したバックアップ・リストア（ロールバック）攻撃を検出するための処理を、ソース端末とシンク端末との間でステート情報を交換する際に行うこととしていたがこれに限らず、ソース端末とシンク端末とが通信を行う毎に行ってもいいし、定期的、又は不定期に行ってもよい。定期的、又は不定期に上述のような攻撃を検出する処理を行った結果、ソース端末が保持する置換検出情報と、シンク端末が保持する置換検出情報とが一致せずバックアップ・リストア攻撃を受けていることが明らかになった場合には、不正端末排除処理（Ｓ１７）等のような不正端末を排除する処理を行う。
【０１４７】
また、定期的、又は不定期に上述のような攻撃を検出する処理を行った結果、バックアップ・リストア攻撃を受けていることが明らかになった場合には、バックアップ・リストア攻撃を受けた装置の識別情報など、その装置に関する情報を記録しておいてもよい。そして、自装置以外の装置からステート情報を要求された場合に、その要求元の装置が、バックアップ・リストア攻撃を受けたものとして記録している装置であった場合に、要求を棄却したり、不正端末排除処理等を行ってもよい。
（２）置換検出情報１３２は、カウンタ値に限らず、現在時刻や単調関数出力値などを用いてもよい。
【０１４８】
また、シンク端末とソース端末の置換検出情報が一致しなかった場合には、以後、その置換検出情報が不一致であった通信先について保持している置換検出情報の更新を行わなくてもよい。或いは、不一致であった旨を記録しておいてもよい。
（３）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１４９】
なお、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
（４）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【０１５０】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１５１】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（５）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
（６）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１５２】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０１５３】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（７）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１５４】
本発明に係る利用権管理装置、利用装置は、著作権保護すべき、利用可能な回数や時間等が定められたコンテンツを扱うサーバ装置、クライアント装置等に用いるのに好適であり、これら装置を取り扱う業者により製造、販売等がなされる。
【符号の説明】
【０１５５】
１      ライセンス管理システム
１０ａ、１０ｂ、１０ｃ      端末
１１      ライセンスサーバ
１２      伝送路
１４      シンク端末
１５      ソース端末
１６      シンク端末
１７      ソース端末
２１      コンテンツ記憶部
２２      ライセンス記憶部
２３      ステート情報記憶部
２４      置換検出情報記憶部
２５      端末識別情報記憶部
２６      改竄検出情報記憶部
２７      コンテンツ処理部
３０      置換検出情報更新部
３１      暗復号部
３１      暗復号部
３２      通信部
３３      ステート情報記憶部
３４      コンテンツ鍵管理部
３５      利用条件判定部
３７      改竄検出情報更新部
４１      ライセンス記憶部
４２      ライセンス記憶部
４３      ステート情報記憶部
４４      置換検出情報
４５      端末識別情報記憶部
４７      コンテンツ処理部
４８      ライセンス処理部
４９      置換検出部
５１      暗復号部
５２      通信部
５４      コンテンツ鍵管理部
５８      置換検出部
【図１】
2011141733.tif 000003
【図２】
2011141733.tif 000004
【図３】
2011141733.tif 000005
【図４】
2011141733.tif 000006
【図５】
2011141733.tif 000007
【図６】
2011141733.tif 000008
【図７】
2011141733.tif 000009
【図８】
2011141733.tif 000010
【図９】
2011141733.tif 000011
【図１０】
2011141733.tif 000012
【図１１】
2011141733.tif 000013
【図１２】
2011141733.tif 000014
【図１３】
2011141733.tif 000015
【図１４】
2011141733.tif 000016
【図１５】
2011141733.tif 000017
【図１６】
2011141733.tif 000018
【図１７】
2011141733.tif 000019
【図１８】
2011141733.tif 000020
【図１９】
2011141733.tif 000021
【図２０】
2011141733.tif 000022
【図２１】
2011141733.tif 000023
【図２２】
2011141733.tif 000024
【図２３】
2011141733.tif 000025
【図２４】
2011141733.tif 000026
【図２５】
2011141733.tif 000027
【図２６】
2011141733.tif 000028
【図２７】
2011141733.tif 000029
【図２８】
2011141733.tif 000030
【図２９】
2011141733.tif 000031
【図３０】
2011141733.tif 000032
【図３１】
2011141733.tif 000033
【図３２】
2011141733.tif 000034
【図３３】
2011141733.tif 000035
【図３４】
2011141733.tif 000036
【図３５】
2011141733.tif 000037