(57)【要約】【課題】カウント値のデータのようなデータの改ざんなどの操作も検出できるようにする。【解決手段】音楽ＣＤ１は、定められた回数だけ再生できる。ＣＰＵ１１は、音楽ＣＤ１を再生したとき、再生回数をカウントアップし、そのカウント値のデータＤｃを暗号化して、ＨＤＤ１４に書き込み、カウント値データＤｃ、暗号化データＤｃｅ１のファイル属性情報、および音楽ＣＤ１のメディア識別情報をハッシュ演算して、ハッシュ値Ｄｈ１を算出し、ＨＤＤ１４に書き込む。次に同じ音楽ＣＤを再生するときには、ＣＰＵ１１は、暗号化データＤｃｅ２を読み出して復号化し、その復号化データＤｃｄ、暗号化データＤｃｅ２のファイル属性情報、および音楽ＣＤ１のメディア識別情報をハッシュ演算して、ハッシュ値Ｄｈ２を算出し、書き込み時のハッシュ値Ｄｈ１と比較する。両者が一致しないときには、ＣＰＵ１１は当該の音楽ＣＤの再生を停止する。【選択図】        図１
2004326552.tif 000002
【特許請求の範囲】
【請求項１】
検出対象のデータをファイルとして記憶装置に書き込むファイル書き込み工程と、
そのファイルのファイルシステム上の属性情報と、前記検出対象データとを、一意的かつ不可逆的な演算方法によって演算して、第１の演算値を得る第１の演算工程と、
その第１の演算値を記憶手段に書き込む工程と、
前記記憶装置から前記検出対象データを読み出すファイル読み出し工程と、
その読み出された検出対象データと、そのファイルのファイルシステム上の属性情報とを、前記演算方法によって演算して、第２の演算値を得る第２の演算工程と、
前記記憶手段から前記第１の演算値を読み出し、その第１の演算値と前記第２の演算値とを比較して、前記検出対象データが操作されたか否かを判断する工程と、
を備えるデータ操作検出方法。
【請求項２】
請求項１のデータ操作検出方法において、
前記ファイル書き込み工程では、前記検出対象データを暗号化し、前記ファイル読み出し工程では、読み出した暗号化された検出対象データを復号化するデータ操作検出方法。
【請求項３】
請求項１のデータ操作検出方法において、
前記第１の演算工程、および前記第２の演算工程では、機器を特定する機器識別情報、または機器で再生される記録メディアを特定するメディア識別情報を含めて演算を実行するデータ操作検出方法。
【請求項４】
検出対象のデータがファイルとして書き込まれる記憶装置と、
そのファイルのファイルシステム上の属性情報と、前記検出対象データとを、一意的かつ不可逆的な演算方法によって演算して、第１の演算値を得る手段と、
その第１の演算値が書き込まれる記憶手段と、
前記記憶装置から読み出された検出対象データと、そのファイルのファイルシステム上の属性情報とを、前記演算方法によって演算して、第２の演算値を得る手段と、
前記記憶手段から読み出された第１の演算値と、前記第２の演算値とを比較して、前記検出対象データが操作されたか否かを判断する手段と、
を備える電子機器。
【請求項５】
請求項４の電子機器において、
前記検出対象データを暗号化する手段、および前記記憶装置から読み出された暗号化された検出対象データを復号化する手段を備える電子機器。
【請求項６】
請求項４の電子機器において、
前記第１の演算値の演算対象、および前記第２の演算値の演算対象として、機器を特定する機器識別情報、または機器で再生される記録メディアを特定するメディア識別情報を含む電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、機器またはその機能の使用回数、あるいは音楽ＣＤなどの記録メディアまたはこれに記録されている音楽データなどのコンテンツデータの再生回数などを示すデータや、音楽データや映像データなどのコンテンツデータ、コンピュータプログラム、各種証明情報などのデータの、改ざん、上書きや書き戻しによる変更、コピー、移動、削除などの操作を検出する方法、および、このデータ操作検出方法を実行する電子機器に関する。
【０００２】
【従来の技術】
機器を、一定の回数や日数に限って使用できるように貸し出し、または譲渡することがある。また、音楽データや映像データなどのコンテンツデータが記録された記録メディアを、一定の回数や日数に限って再生できるように貸し出し、または譲渡することがある。
【０００３】
このような場合、その機器または再生装置が、機器使用またはメディア再生の回数や日数をカウントし、そのカウント値を記憶装置に記録するとともに、そのカウント値が所定値（所定の回数や日数）に達したときには、以後の機器使用またはメディア再生を停止するように自身を制御すると、好適である。
【０００４】
しかし、この場合、ユーザが、カウント値のデータを改ざんして、実際には、所定値に達しているのに、または所定値に近いのに、所定値に達していないかのような、または所定値より十分に小さいかのような、操作を行うことが考えられる。そのため、カウント値のデータの改ざんを防止する方策が必要となる。
【０００５】
また、このようなカウント値のデータの改ざんに限らず、コンテンツデータなどの各種データの、改ざん、上書きや書き戻しによる変更、コピー、移動、削除などが禁止される場合が、多々ある。
【０００６】
データの改ざんを防止する方法としては、データを暗号化する方法がある。しかし、この方法では、例えば、上述したようなカウント値のデータの場合、データをバックアップしておき、あとで書き戻すことによって、過去のカウント値に戻すことが可能となる。
【０００７】
これに対して、特許文献１（特開２００２−７４８３３号公報）には、記録媒体に記録されたコンテンツファイルの改ざんの有無を検出する方法として、記録媒体に固有の記録媒体識別情報とファイルの属性情報とを、ハッシュ演算のような一意的かつ不可逆的な演算方法で演算して、その得られた第１の演算値を記録媒体上の当該ファイルに格納しておき、ファイル再生時、当該ファイルの属性情報と上記の記録媒体識別情報とを、上記の演算方法で演算して、その得られた第２の演算値を上記の第１の演算値と比較し、第１の演算値と第２の演算値が一致しないときには、当該ファイルが操作されたと判断する方法が示されている。
【０００８】
【特許文献１】
特開２００２−７４８３３号公報。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記の特許文献１に記載された方法では、ディスク媒体などの記録媒体に記録されたコンテンツファイルの改ざんの有無しか検出することができず、上述したカウント値のデータのようなデータの改ざんの有無などを検出することができない。
【００１０】
そこで、この発明は、カウント値のデータのようなデータの改ざんなどの操作も検出することができ、結果的にカウント値のデータのようなデータの改ざんなどの操作を防止することができるようにしたものである。
【００１１】
【課題を解決するための手段】
この発明のデータ操作検出方法は、
検出対象のデータをファイルとして記憶装置に書き込むファイル書き込み工程と、
そのファイルのファイルシステム上の属性情報と、前記検出対象データとを、一意的かつ不可逆的な演算方法によって演算して、第１の演算値を得る第１の演算工程と、
その第１の演算値を記憶手段に書き込む工程と、
前記記憶装置から前記検出対象データを読み出すファイル読み出し工程と、
その読み出された検出対象データと、そのファイルのファイルシステム上の属性情報とを、前記演算方法によって演算して、第２の演算値を得る第２の演算工程と、
前記記憶手段から前記第１の演算値を読み出し、その第１の演算値と前記第２の演算値とを比較して、前記検出対象データが操作されたか否かを判断する工程と、
を備えるものである。
【００１２】
上記の構成の、この発明のデータ操作検出方法では、カウント値のデータなどの検出対象データが、改ざんされ、上書きや書き戻しによって変更され、コピーされ、移動され、または削除されると、第１の演算値の算出時と第２の演算値の算出時との間で、検出対象データまたはファイル属性情報が変わることから、第１の演算値と第２の演算値とが一致しなくなって、検出対象データが操作されたことが検出され、結果的に検出対象データの操作が防止される。
【００１３】
【発明の実施の形態】
図１は、この発明の電子機器の一実施形態を示す。
【００１４】
この実施形態の機器１０は、これに装着された、ある種の音楽ＣＤ１を、定められた回数だけ再生することができるもので、具体的に、音楽ＣＤ１は、定められた回数だけ再生できるものとして、機器１０のユーザに提供されたものである。
【００１５】
機器１０は、ＣＰＵ１１を備え、そのバス１２に、機器１０の出荷時に機器１０のシリアル番号や機器１０に固有のコードなどの機器識別情報が書き込まれるＲＯＭ１３、記憶装置として各種プログラムや各種データが書き込まれるＨＤＤ（ハードディスクドライブ）１４、プログラムやデータが展開されるＲＡＭ１５、音楽ＣＤ１をドライブするメディアドライブ１６、キー操作部などの操作部１７、液晶ディスプレイなどの表示部１８、およびＤＥＣ（デコーダ）２１が接続される。
【００１６】
音楽ＣＤ１は、音楽データが圧縮符号化されて記録されたもので、メディアドライブ１６によってドライブされることによって、その圧縮符号化された音楽データが読み出される。
【００１７】
その読み出された音楽データは、ＤＥＣ２１で伸長復号され、その復号後の音楽データは、ＤＡＣ（Ｄｉｇｉｔａｌ  ｔｏ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｅｒ）２２でアナログ音楽信号に変換され、そのアナログ音楽信号が、音声出力端子２３に導出される。
【００１８】
音楽ＣＤ１には、これを再生できる回数を示す情報が記録されており、音楽ＣＤ１を機器１０に装着したとき、その再生可能回数を示す情報が、音楽ＣＤ１から読み出されて機器１０内に取り込まれ、機器１０における以後の再生制御に供される。あるいは、あらかじめ機器１０に、音楽ＣＤ１を再生できる回数が設定される。
【００１９】
また、音楽ＣＤ１には、これを特定するメディア識別情報（識別コード）が記録されており、音楽ＣＤ１を機器１０に装着して再生するごとに、そのメディア識別情報が、音楽ＣＤ１から読み出されて機器１０内に取り込まれ、機器１０における後述の暗号化およびハッシュ（ｈａｓｈ）演算に供される。
【００２０】
ＣＰＵ１１は、再生制御プログラムに従って、メディア識別情報によって特定される当該の音楽ＣＤを再生するごとに、実際の再生回数Ｎａをゼロからカウントアップし、または残りの再生可能回数Ｎｂを当初の再生可能回数Ｎｃからカウントダウンし、実際の再生回数Ｎａが当初の再生可能回数Ｎｃに達したとき、または残りの再生可能回数Ｎｂ（＝Ｎｃ−Ｎａ）がゼロに達したときには、当該の音楽ＣＤの以後の再生を禁止する。
【００２１】
なお、実際の再生回数Ｎａ、または残りの再生可能回数Ｎｂが、表示部１８に表示され、実際の再生回数Ｎａが当初の再生可能回数Ｎｃに達した後、または残りの再生可能回数Ｎｂがゼロに達した後、ユーザが当該の音楽ＣＤを再生しようとしたときには、当該の音楽ＣＤを再生できない旨が表示部１８に表示されるように、再生制御プログラムが構成される。
【００２２】
さらに、ＣＰＵ１１は、検出対象データとしての、実際の再生回数Ｎａまたは残りの再生可能回数Ｎｂの、カウント値のデータの改ざんなどを防止するために、以下のような書き込み処理および読み出し処理を実行する。
【００２３】
まず、音楽ＣＤ１を再生した場合には、図１で書き込み時としてハードウェア的に示すような書き込み処理が実行される。
【００２４】
具体的に、実際の再生回数Ｎａまたは残りの再生可能回数Ｎｂのカウント値のデータＤｃが、暗号化モジュール３１で、音楽ＣＤ１のメディア識別情報をパラメータとして暗号化され、その暗号化されたデータＤｃｅ１が、ファイルＦ１としてＨＤＤ１４に書き込まれる。
【００２５】
さらに、ＨＤＤ１４から、その暗号化データＤｃｅ１のファイルＦ１の、ファイルシステム上の属性情報、例えば、ファイルの記録日時、更新日時、読み書き、コピー、移動の履歴情報や、ノードユニークＩＤなどの情報が読み出され、そのファイル属性情報と、暗号化前のカウント値データＤｃと、音楽ＣＤ１のメディア識別情報とが、ハッシュ演算部３２で、ハッシュ演算されて、書き込み時のハッシュ値Ｄｈ１が得られ、これが書き込み時の検出用データのファイルＦ２として、ＨＤＤ１４に書き込まれる。
【００２６】
ハッシュ演算は、２組の異なるデータの演算結果が一致する確率が極めて小さく、かつ演算結果から元のデータを推定することが困難な、一意的かつ不可逆的な演算方法の代表的な方法である。
【００２７】
次に機器１０で同じ音楽ＣＤを再生するときには、その再生前に、図１で読み出し時としてハードウェア的に示すような読み出し処理が実行される。
【００２８】
具体的に、まず、ＨＤＤ１４から、上記の暗号化データＤｃｅ１のファイルＦ１が、暗号化データＤｃｅ２として読み出され、その暗号化データＤｃｅ２が、復号化モジュール３３で、音楽ＣＤ１のメディア識別情報をパラメータとして復号化される。
【００２９】
同じ音楽ＣＤを前回再生したときから、今回再生するときまでの間に、ＨＤＤ１４に記録されている暗号化データＤｃｅ１に対して、データの改ざんや上書きによる変更などの操作がされていなければ、復号化データＤｃｄはカウント値データＤｃと同じである。
【００３０】
さらに、ＨＤＤ１４から、暗号化データＤｃｅ２のファイルＦ１の、上記のようなファイル属性情報が読み出され、そのファイル属性情報と、復号化データＤｃｄと、音楽ＣＤ１のメディア識別情報とが、ハッシュ演算部３４で、ハッシュ演算されて、読み出し時のハッシュ値Ｄｈ２が、読み出し時の検出用データとして得られる。
【００３１】
同じ音楽ＣＤを前回再生したときから、今回再生するときまでの間に、ＨＤＤ１４に記録されている暗号化データＤｃｅ１につき、上書きや書き戻しによる変更またはコピーや移動などの操作がされていると、読み出し時のファイル属性情報は、書き込み時のファイル属性情報と異なるものとなる。
【００３２】
さらに、ＨＤＤ１４上のファイルＦ２から、書き込み時の検出用データ（ハッシュ値）Ｄｈ１が読み出され、データ比較部３５において、その書き込み時の検出用データＤｈ１と読み出し時の検出用データ（ハッシュ値）Ｄｈ２とが比較されて、両者が一致するか否かが判断される。
【００３３】
同じ音楽ＣＤを前回再生したときから、今回再生するときまでの間に、ＨＤＤ１４に記録されている暗号化データＤｃｅ１につき、何らかの操作がされている場合には、書き込み時のカウント値データＤｃと読み出し時の復号化データＤｃｄとが一致しなくなり、または書き込み時のファイル属性情報と読み出し時のファイル属性情報とが一致しなくなって、書き込み時の検出用データＤｈ１と読み出し時の検出用データＤｈ２とが一致しなくなる。
【００３４】
このように書き込み時の検出用データＤｈ１と読み出し時の検出用データＤｈ２とが一致しない場合には、データ比較部３５からエラー出力が得られ、ＣＰＵ１１は、データの操作があったものとして、その旨を表示部１８に表示し、今回の再生を含め、当該の音楽ＣＤの再生を含めて、以後、音楽ＣＤ１の再生を停止する。
【００３５】
これに対して、書き込み時の検出用データＤｈ１と読み出し時の検出用データＤｈ２とが一致する場合には、データ比較部３５の一致出力によって、書き込み時のカウント値データＤｃと同じ復号化データＤｃｄが、データ出力部３６から出力され、ＣＰＵ１１は、データの操作がなかったものとして、当該の音楽ＣＤの今回の再生を開始する。
【００３６】
さらに、当該の音楽ＣＤの今回の再生によって、当該の音楽ＣＤについての実際の再生回数Ｎａが１回分、カウントアップされ、または残りの再生可能回数Ｎｂが１回分、カウントダウンされて、そのカウント値のデータが、新たなカウント値データＤｃとされ、その新たなカウント値データＤｃにつき、上述した書き込み処理が実行される。以後、同様のことが繰り返される。
【００３７】
図２に、ＣＰＵ１１が実行する書き込み処理の例を示す。この例では、まずステップ４１で、メディア識別情報をパラメータとしてカウント値データＤｃを暗号化し、次にステップ４２に進んで、その暗号化されたデータＤｃｅ１をファイルＦ１としてＨＤＤ１４に書き込み、次にステップ４３に進んで、その暗号化データＤｃｅ１のファイル属性情報を取得する。
【００３８】
次に、ステップ４４に進んで、暗号化前のカウント値データＤｃ、メディア識別情報およびファイル属性情報をハッシュ演算して、検出用データ（ハッシュ値）Ｄｈ１を算出し、次にステップ４５に進んで、その検出用データＤｈ１をＨＤＤ１４に書き込んで、書き込み処理を終了する。
【００３９】
図３に、ＣＰＵ１１が実行する読み出し処理の例を示す。この例では、まずステップ５１で、ＨＤＤ１４から暗号化データＤｃｅ２を読み出し、次にステップ５２に進んで、メディア識別情報をパラメータとして暗号化データＤｃｅ２を復号化し、次にステップ５３に進んで、暗号化データＤｃｅ２のファイル属性情報を取得する。
【００４０】
次に、ステップ５４に進んで、復号化されたデータＤｃｄ、メディア識別情報およびファイル属性情報をハッシュ演算して、検出用データ（ハッシュ値）Ｄｈ２を算出し、次にステップ５５に進んで、ＨＤＤ１４から検出用データ（ハッシュ値）Ｄｈ１を読み出す。
【００４１】
次に、ステップ５６に進んで、書き込み時の検出用データＤｈ１と読み出し時の検出用データＤｈ２とを比較し、書き込み時の検出用データＤｈ１と読み出し時の検出用データＤｈ２とが一致するときには、ステップ５６からステップ５７に進んで、復号化データＤｃｄ（カウント値データＤｃ）を返し、書き込み時の検出用データＤｈ１と読み出し時の検出用データＤｈ２とが一致しないときには、ステップ５６からステップ５８に進んで、エラーを返す。
【００４２】
以上の方法によれば、検出対象データ、上記の例ではカウント値データＤｃの、改ざんなどの操作を検出することができ、結果的に改ざんなどの操作を防止することができる。
【００４３】
また、上記の例のように、メディア識別情報を書き込み時および読み出し時のハッシュ演算の対象に加える場合には、メディア識別情報によって特定される記録メディアごとに、データ操作の有無を検出することができる。
【００４４】
上記の例は、検出対象データが、記録メディアとしての音楽ＣＤ１の、実際の再生回数Ｎａまたは残りの再生可能回数Ｎｂのカウント値のデータである場合であるが、検出対象データは、使用回数が制限された機器や機能の、実際の使用回数または残りの使用可能回数のカウント値のデータや、音楽データや映像データなどのコンテンツデータ、コンピュータプログラム（この明細書では、コンピュータプログラムもデータの一種とする）、各種証明情報などのデータでもよく、これらデータについても、改ざん、上書きや書き戻しによる変更、コピー、移動、削除などの操作を検出することができる。
【００４５】
また、上述した例のメディア識別情報の代わりに、機器識別情報をパラメータとして検出対象データの暗号化および暗号化を行い、または機器識別情報をハッシュ演算の対象に加えてもよく、これによれば、ユーザが、コンテンツデータやコンピュータプログラムなどのファイルシステムを、ある機器から別の機器に移して、コンテンツデータの再生やコンピュータプログラムの実行などを行う場合にも、データの操作として検出することができる。
【００４６】
図４に、この発明の方法を実行するシステムの他の例を示す。この例のシステムでは、機器１０とサーバ６０がネットワーク５を介して接続され、サーバ６０から機器１０に音楽データが配信されるとともに、サーバ６０でデータ操作の検出が実行される。
【００４７】
機器１０は、図１に示したメディアドライブ１６の代わりにネットワーク接続部１９が設けられる点を除いて、図１に示した機器１０と同様の構成とされ、サーバ６０から配信された音楽データが、ＨＤＤ１４に書き込まれ、ＨＤＤ１４から読み出されて再生される。
【００４８】
サーバ６０は、ＣＰＵ６１を備え、そのバス６２に、ＲＯＭ６３、ＨＤＤ６４、ＲＡＭ６５、ネットワーク接続部６９、およびＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）７０などが接続され、ＤＳＰ７０でデータ操作検出処理が実行される。
【００４９】
具体的に、この例では、機器１０でサーバ６０から配信された音楽データを再生したときには、機器１０からサーバ６０に、検出対象データとして、例えば、その音楽データを再生した回数のカウント値のデータが送信されるとともに、機器１０の機器識別情報が送信される。
【００５０】
サーバ６０では、書き込み処理として、機器１０からの検出対象データを、機器１０からの機器識別情報をパラメータとして暗号化し、その暗号化されたデータをファイルとしてＨＤＤ６４に書き込むとともに、暗号化前の検出対象データ、暗号化データのファイル属性情報、および機器１０からの機器識別情報をハッシュ演算して、書き込み時のハッシュ値（検出用データ）を算出し、ＨＤＤ６４に書き込む。
【００５１】
次に機器１０で同じ音楽データを再生するときには、その再生前に、機器１０からサーバ６０に、機器１０の機器識別情報が送信される。
【００５２】
サーバ６０では、読み出し処理として、ＨＤＤ６４から上記の暗号化データを読み出して、機器１０からの機器識別情報をパラメータとして復号化し、その復号化されたデータ、暗号化データのファイル属性情報、および機器１０からの機器識別情報をハッシュ演算して、読み出し時のハッシュ値（検出用データ）を算出する。
【００５３】
さらに、ＨＤＤ６４から書き込み時のハッシュ値を読み出して、読み出し時のハッシュ値と比較し、両者が一致するときには、サーバ６０から機器１０に復号化データ（検出対象データ）を送信して、機器１０に対して当該の音楽データの再生を許可し、両者が一致しないときには、サーバ６０から機器１０にエラーを送信して、機器１０に対して当該の音楽データの再生を禁止する。
【００５４】
この例によれば、データの操作を検出することができ、結果的にデータの操作を防止することができるとともに、ユーザが、音楽データのファイルシステムを、ある機器から別の機器に移した場合には、書き込み時と読み出し時で機器１０からの機器識別情報が異なるため、書き込み時のハッシュ値と読み出し時のハッシュ値が一致しなくなって、移転後の機器での音楽データの再生を阻止することができる。
【００５５】
なお、図４の例は、検出対象データの暗号化をサーバ６０側で行う場合であるが、検出対象データの暗号化を機器１０側で行い、暗号化されたデータを機器１０からサーバ６０に送信するように、システムを構成してもよい。
【００５６】
【発明の効果】
上述したように、この発明によれば、カウント値のデータのようなデータの改ざんなどの操作も検出することができ、結果的にカウント値のデータのようなデータの改ざんなどの操作を防止することができる。
【図面の簡単な説明】
【図１】この発明の電子機器の一実施形態を示す図である。
【図２】ＣＰＵが実行する書き込み処理の一例を示す図である。
【図３】ＣＰＵが実行する読み出し処理の一例を示す図である。
【図４】この発明の方法を実行するシステムの一例を示す図である。
【符号の説明】
主要部については図中に全て記述したので、ここでは省略する。
【図１】
2004326552.tif 000003
【図２】
2004326552.tif 000004
【図３】
2004326552.tif 000005
【図４】
2004326552.tif 000006