(57)【要約】  データセット（１１２）をチェックするための装置であって、データセット（１１２）は複数の部分セットと部分セット毎の部分制御値（１１４）とを有し、その装置は、制御値を決定するための手段（１０２）と比較手段（１０３）とを含む。制御値を決定するための手段（１０２）は、部分セットの部分制御値（１１４）から共通制御値（１１６）を決定するように形成される。比較手段（１０３）は、共通制御値（１１６）と比較手段（１０３）に提供される比較値（１１８）とを比較するように形成される。【選択図】図１
2008517359.tif 000002
【特許請求の範囲】
【請求項１】
データセットをチェックするための装置であって、前記データセットは、複数の部分セットと部分セット毎の部分制御値とを有し、前記装置は、
制御値を決定するための手段（１０２）であって、前記データセット（１１２）の前記部分セットの前記提供された部分制御値（１１４）から共通制御値（１１６）を決定するように形成されている手段と、
比較手段（１０３）であって、前記共通制御値（１１６）と前記比較手段に提供される比較制御値（１１８）とを比較するように形成されている手段とを備える、装置。
【請求項２】
決定するための前記手段（１０２）は、さらに、前記データセット（１１２）の前記部分セットの１つに対する追加部分制御値（１２２）を決定するように形成され、さらに
前記比較手段（１０３）は、さらに、前記追加部分制御値と前記対応する部分セットの前記提供された部分制御値（１１４）とを比較するように形成されている、請求項１に記載のチェックするための装置。
【請求項３】
前記比較手段（１０３）は、前記共通制御値（１１６）と前記比較制御値（１１８）との比較に応じて比較信号（１２０）を提供するように形成され、さらに
決定するための前記手段（１０２）は、さらに、前記比較信号に応じて前記追加部分制御値（１２２）を決定するように形成されている、請求項２に記載のチェックするための装置。
【請求項４】
前記提供された部分制御値（１１４）と前記追加部分制御値（１２２）とのチェック結果（１２４）に応じて前記部分セットの１つの前記データを使用するように形成される、前記部分セットの前記データを使用するための手段（１０４）をさらに備える、請求項２または請求項３に記載のチェックするための装置。
【請求項５】
使用するための前記手段（１０４）は、前記チェック結果（１２４）が一致を示す場合に、前記チェック結果（１２４）の結果として前記部分セットを使用するように形成されている、請求項４に記載のチェックするための装置。
【請求項６】
使用するための前記手段（１０４）は、前記チェック結果が不一致を示す場合に、前記チェック結果（１２４）の結果として前記部分セットの使用を中断するように形成されている、請求項４に記載のチェックするための装置。
【請求項７】
前記データセット（１１２）はさらに複数の中間制御値を有し、その中間制御値の各々は複数の前記部分制御値（１１４）から形成され、さらに
決定するための前記手段は、さらに、前記提供された複数の中間制御値から前記共通制御値を決定するように形成され、さらに、前記共通制御値と前記提供された制御値との前記比較に応じて、前記複数の部分制御値から複数の追加中間制御値を決定するように形成されている、請求項１ないし請求項６のいずれかに記載のチェックするための装置。
【請求項８】
前記比較手段は、さらに、前記追加中間制御値と前記提供された中間制御値とを比較するように形成されている、請求項７に記載のチェックするための装置。
【請求項９】
前記制御値はハッシュ値であり、さらに、決定するための前記手段（１０２）は、所定のハッシュアルゴリズムを用いて前記ハッシュ値を決定するように形成されている、請求項１ないし請求項８のいずれかに記載のチェックするための装置。
【請求項１０】
複数の部分セットを有するデータセットから比較制御値を決定するための装置であって、前記装置は、
部分セット毎の部分制御値（１１４）を決定するための手段（２０６）と、
前記部分セットの前記部分制御値（１１４）から比較制御値（１１８）を決定するための手段（２０７）とを備える、装置。
【請求項１１】
前記データセット（１１２）を前記複数の部分セットに分割するための手段をさらに備える、請求項１０に記載の決定するための装置。
【請求項１２】
前記複数の部分制御値（１１４）を前記データセット（１１２）に統合し、さらに制御値を含むデータセット（２１２）を提供するための手段（２０８）をさらに備える、請求項１０または請求項１１に記載の決定するための装置。
【請求項１３】
統合するための前記手段（２０８）は、前記複数の部分制御値（１１４）を前記データセット（１１２）から一緒に読み取れるように、前記複数の部分制御値（１１４）をテーブルとして前記データセット（１１２）に統合するように形成されている、請求項１２に記載の決定するための装置。
【請求項１４】
統合するための前記手段（２０８）は、前記部分制御値が前記データセット（１１２）中に均一に分布して配置されるように、前記複数の部分制御値（１１４）を前記データセット（１１２）に統合するように形成されている、請求項１２に記載の決定するための装置。
【請求項１５】
データセットをチェックするための方法であって、前記データセットは、複数の部分セットと部分セット毎の部分制御値とを有し、前記方法は、
前記部分セットの前記提供された部分制御値（１１４）から共通制御値（１１６）を決定するステップと、
前記共通制御値（１１６）と提供された比較制御値（１１８）とを比較するステップとを備える、方法。
【請求項１６】
複数の部分セットを有するデータセットから比較制御値を決定するための方法であって、前記方法は、
部分セット毎の部分制御値（１１４）を決定するステップと、
前記部分セットの前記提供された部分制御値（１１４）から前記比較制御値（１１８）を決定するステップとを備える、方法。
【請求項１７】
コンピュータ上で実行されるときに、請求項１５または請求項１６に記載の前記方法を実行するためのプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御値を用いてデータセットをチェックするための装置および方法と、たとえばコンピュータファイルとすることができるデータセットに対する比較制御値を決定するための装置および方法とに関する。
【背景技術】
【０００２】
大部分の多様なアプリケーションに対して、たとえばデジタル著作権管理において、ファイルまたはビットストリームを使用する前に、その信頼性や完全性をチェックすることが要求されまたは必要となっている。データセットの完全性についてのチェックに関して、これは、たとえば、コンピュータのＲＡＭまたはＲＯＭ、または、大容量記憶装置中のファイルにおいてチェックされる領域に対するものとなりうる。チェックの間、データを処理する前に、データに加えられた操作を発見することができ、または、メモリまたは書き込みエラーを識別することができる。
【０００３】
特に、オーディオアプリケーションまたはビデオアプリケーションについては、データが圧縮された形になっていても、そのデータセットは非常に大きい。たとえば、典型的なＭＰ３符号化ソングは、再生時の１分あたりに１ＭＢのデータセットを生成する。
【０００４】
たとえば、ハッシュアルゴリズムを用いてファイルの完全性をチェックするために、通常ファイル全体に対してハッシュアルゴリズムが計算されて、得られた結果すなわちハッシュ値が参照値と比較される。
【０００５】
以下に、このような暗号化ハッシュ法によるデータセットの完全性のチェックについて説明する。暗号化ハッシュ法は、チェックサムとも呼ばれている。ハッシュ法は、定義済みの固有のやり方で、不確定長さの入力値から確定した出力値いわゆるハッシュを計算する。ハッシュ値は、たとえば２０バイトの文字列である。ハッシュ関数の個別の文字は、各々の任意の入力値に対して固有の関連出力値を決定し、これから入力値を逆に計算することはできない。
【０００６】
ハッシュ値が計算される全体のデータセットは、データセットのハッシュを形成するように、最初にハッシュアルゴリズムで処理される。完全性の後でのチェックについて、テストされるデータセットは、再度全体がハッシュアルゴリズムで処理される。参照照合において、テストされるデータセットが同一のハッシュを提供する場合には、そのデータセットには変更が加えられなかったと推測することができる。
【０００７】
ハッシュ関数の主目的は、デジタルデータの完全性をチェックし保証することである。アプリケーションは、チェックサムの計算から署名法へと進む。すなわち、ハッシュは、チェックサムとして直接的に使用されるか、または、元のデータセットであることを表す署名が加えられて使用される。完全性のチェックについて、ハッシュ値はチェックサムとして直接的に使用される。
【０００８】
ハッシュ関数の要件は、実質的に、次の３つの点に絞ることができる。１つには、各ハッシュ値は同じ頻度で生成されなければならない。すなわち、ハッシュ値の確率は、各種入力値に対して異なってはならない。さらに、入力値の小さな変化に対しても全く異なるハッシュ値が生成されなければならない。さらに、衝突を生成するためには、多大な労力がかかるようにする必要がある。すなわち、所定の入力値に対して、同一のハッシュ値を有する第２の入力値を見付けることは、できるだけ困難にする必要がある。上記の３つの要件を満たすハッシュ関数を暗号化ハッシュ関数という。
【０００９】
最も重要な暗号化ハッシュ関数として、ＳＨＡ−１、ＭＤ４、ＭＤ５およびＲＩＰＥ−ＭＤ−１６０がある。近年最も重要視されている暗号化ハッシュ関数ＳＨＡ−１（ＳＨＡ＝Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ（安全なハッシュアルゴリズム））は、５１２ビット長のブロックを処理し、１６０ビット長のハッシュ値を生成する。ＳＨＡ−１では、５つの３２ビット変数いわゆる連鎖変数のほか、いわゆる圧縮関数が重要な役割を演ずる。
【００１０】
ハッシュ関数ＳＨＡ−１では、入力値はまず５１２ビット長のブロックに分割される。次に、圧縮関数が、５つの連鎖変数と５１２ビットのブロックとを取り込み、これらを次の５つの３２ビット値上に再生する。次に、その関数を使って、各２０の同一の演算が４回行われ、所定の算術演算の後、個々のビットがシフトされる。最後に、５つの連鎖変数の内容がハッシュ値として出力される。
【００１１】
完全性をチェックするためのハッシュ法の使用については、たとえば、「オープン・モバイル・アライアンス（Ｏｐｅｎ  Ｍｏｂｉｌｅ  Ａｌｌｉａｎｃｅ）、ＯＭＡ  ＤＲＭ仕様Ｖ２．０（ＯＭＡ  ＤＲＭ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖ２．０）、ドラフトバージョン２．０−２００４年４月１０日」に記載されている。さらなるチェック方法が、たとえば、「インターネット・ストリーミング・メディア・アライアンス（Ｉｎｔｅｒｎｅｔ  Ｓｔｒｅａｍｉｎｇ  Ｍｅｄｉａ  Ａｌｌｉａｎｃｅ）、暗号化および認証仕様（Ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、バージョン１．０、２００４年２月」に記載されている。
【００１２】
通常、データセットの完全性のチェックは、それ自体が目的となることはない。反対に、完全性のチェックは、データセットを実際に用いる前にだけ行われるものである。したがって、完全性をチェックするための作業は、データセットを使用する上では不都合な作業であり、その理由は、完全性のチェックがデータセットの使用にさらなるコストと時間遅れとを引き起こすさらなる複雑性を伴うからである。
【００１３】
完全性のチェックのために高い時間コストおよび資源の利用が必要となり、具体的には、チェックサムの計算を実施するための算術遂行が大きな不利な点となる。これらの多量の作業量は特に大きな負担であり、その理由は、必ず、最初にデータセット全体をチェックして、そのデータセットが完全性を保持しているかどうかを提示できなければならないからである。これにより、データセットが非常に大きな場合に特に影響があり、たとえば、オーディオおよびビデオファイルのオーディオデータまたはビデオデータを再生する際に開始が遅れることがある。
【００１４】
さらなる大きな不利な点は、高いエネルギー消費にあり、これは必ず最初に全体のデータセットをチェックする必要があることから来るものである。データのごく一部しか使わない場合であっても多分このチェックが必要となる。このように、たとえば、携帯プレイヤーで、ＤＲＭ保護された音オーディオ作品またはビデオ作品の短い部分を再生したり、早送りまたは巻き戻しをしたりする場合でも、まずは全体のオーディオ作品またはビデオ作品のチェックを行うことが必要となる。特に、携帯機器の場合、このことは電池の寿命の低下につながる。
【００１５】
別の不利な点は、データの一部しか存在しない場合に、データセットに対する判定ができないことにある。これは不便であり、その理由は、これによりテストが不合格になった場合、ほとんどの場合では、実際の取扱いが停止されることになるからである。
【００１６】
別の不利な点は、データの部分的な使用に対しても、データ全体の使用と同じチェック作業が必要なことである。オーディオ／ビデオ作品の短い部分だけを再生する場合にも、また作品の中で早送りまたは巻き戻しを行う場合にも、開始が遅れる。
【００１７】
【非特許文献１】オープン・モバイル・アライアンス（Ｏｐｅｎ  Ｍｏｂｉｌｅ  Ａｌｌｉａｎｃｅ）、ＯＭＡ  ＤＲＭ仕様Ｖ２．０（ＯＭＡ  ＤＲＭ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖ２．０）、ドラフトバージョン２．０−２００４年４月１０日
【非特許文献２】インターネット・ストリーミング・メディア・アライアンス（Ｉｎｔｅｒｎｅｔ  Ｓｔｒｅａｍｉｎｇ  Ｍｅｄｉａ  Ａｌｌｉａｎｃｅ）、暗号化および認証仕様（Ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、バージョン１．０、２００４年２月
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明の目的は、データセットをチェックするための装置および方法であって、複雑性を低減することにより、速い制御操作を可能にする制御値を決定するための装置および方法を創造することである。
【課題を解決するための手段】
【００１９】
この目的は、請求項１に記載のデータセットをチェックするための装置、請求項１０に記載の制御値を決定するための装置、請求項１５に記載のデータセットをチェックするための方法、請求項１６に記載の制御値を決定するための方法、さらに、請求項１７に記載のコンピュータプログラムによって解決される。
【００２０】
本発明は、データセットをチェックするための装置を創造し、データセットは、複数の部分セットと部分セット毎の部分制御値とを有し、その装置は、
制御値を決定するための手段であって、部分セットの提供された部分制御値から共通制御値を決定するように形成されている手段と、
比較手段であって、共通制御値と比較手段に提供される比較制御値とを比較するように形成されている手段とを備える。
【００２１】
さらに、本発明は、複数の部分セットを有するデータセットから比較制御値を決定するための装置を創造し、その装置は、
部分セット毎の部分制御値を決定するための手段と、
部分セットの部分制御値から比較制御値を決定するための手段とを備える。
【００２２】
本発明は、セクション毎のチェック、すなわちデータセットの完全性を部分部分でチェックすることによって、完全性のチェックまたは制御値の形成に必要な複雑性が低減される、という知見に基づいている。
【００２３】
本発明のアプローチによれば、全体のデータセットに対して制御値は形成されずに、データセットの部分セットに対して制御値が形成される。これらの部分セットに対する制御値は、データセットの中にまたはこれと別個に格納される。さらに、部分制御値に対して追加制御値が形成される。これには利点があり、その理由は、データセットの完全性をチェックするために、まず、その追加制御値と対比して部分制御値をチェックすることができるからである。その後、個別の部分領域に対するチェックサムによって、その個別の部分領域をチェックすることができる。
【００２４】
本発明のアプローチにより、セクション毎に完全性をチェックすることができることで一連の利点がもたらされる。具体的には、データセットの第１セクションがチェックされただけの時点で、全体のデータセットがまだチェックされていなくても、データの使用がもう可能になる。たとえば、これによりオーディオ／ビデオ作品をほとんど何の時間遅れもなく再生することができる。さらに、全体のデータセットがチェックされていなくても、その代わりに、データストリームの部分だけを用いることができる。たとえば、ある音オーディオ／ビデオ作品内で早送りおよび巻き戻しする場合、または、作品内でジャンプする場合、セクション毎のチェックは好都合である。セクション毎のチェックのおかげで必要ないセクションのチェックが省略される。そのため、時間および資源が節減される。
【００２５】
さらなる例示的な実施の形態において、完全性のチェックと並行して、いくつかのセクションにおいてデータを実際に使用することができる。したがって、データセクションは、セクションの完全性をチェックしてそれを直ちに処理するために、たとえばディスクから１回ロードされなければならないだけである。これにより、時間、資源およびエネルギーが節減される。
【００２６】
さらなる例示的な実施の形態によれば、チェックを後回しにすることもできる。これは、チェックせずにファイルの個別の作品を使用できる場合に可能である。たとえば、音楽ファイルの最初の作品またはその後の作品が使用され、これと並行してその使用がチェックされる。これには、チェックされるデータがその実行中にチェックされるという利点がある。さらに、使用されるデータは、ハードディスクから１回だけ読み出す必要があるだけである。チェックに合格すれば、その次の作品の処理が許される。不合格であれば、現在実行中の作品の実行後に処理は停止される。
【００２７】
さらに、本発明によるアプローチによって、データセットの部分セクションの制御値を事前チェックすることによって、データセットの素早い事前チェックが可能になる。このようなやり方で、たとえば、多数のデータセットの素早い概観を行うことができる。制御値のチェックの後、制御値を用いてデータセット自体の実際のチェックが行われる。
【００２８】
さらなる例示的な実施の形態によれば、個別の部分セットの部分制御値から追加中間制御値を形成することができる。中間制御値の個数は部分制御値の個数よりも少なく、これから次いで共通制御値が形成される。これには、共通制御値と中間制御値から決定される制御値とを比較することによって、多数の部分セットに対し素早い事前チェックを実施できるという利点がある。その後で、部分制御値は、対応する中間制御値と対比される。中間制御値からの共通制御値の決定は、共通制御値を部分制御値から計算しなければならない場合よりも、関連する複雑性は大幅に低くなる。
【００２９】
本発明のアプローチを、ＤＣＦフォーマット（ＤＣＦ＝ＤＲＭ  コンテント・フォーマット）に関連して効果的に使用することができる。ＤＣＦフォーマットは、「オープン・モバイル・アライアンス（Ｏｐｅｎ  Ｍｏｂｉｌｅ  Ａｌｌｉａｎｃｅ）、ＤＲＭコンテント・フォーマットＶ２．０、ドラフトバージョン２．０−２００４年４月２０日」に記載されており、ＭＰＥＧ−４データフォーマットの暗号化オーディオ／ビデオデータに用いられている。
【００３０】
本発明の好適な例示的な実施の形態が添付図面を参照してより以下に詳細に説明されるが、これらの図面としては：
図１は、本発明の例示的な実施の形態によるデータセットをチェックするための装置のブロック図を示し、
図２は、本発明のさらなる例示的な実施の形態による制御値を決定するための装置のブロック図を示す。
【００３１】
本発明の好適な例示的な実施の形態の以下の説明において、同一または類似の参照数字は、各種図面に示される類似のエレメントに対して用いられ、これらのエレメントについての繰り返し説明は省略する。
【発明を実施するための最良の形態】
【００３２】
図１は、データセットをチェックするための装置の概略図を示し、その装置は、制御値を決定するための手段１０２、比較手段１０３およびデータセットを使用するための手段１０４を含む。このデータセットをチェックするための装置は、データセットを使用する前に、部分制御値および比較制御値を用いて、データセットをチェックするように形成されている。部分制御値および比較制御値は、データセットとともに、データセットをチェックするためのその装置に提供される。
【００３３】
制御値を決定するための手段１０２は、データセット１１２を受信するように形成されている。データセット１１２は、複数の部分セット（図示せず）にサブ分割されている。部分制御値１１４が、データセット１１２の部分セットの各々に対して計算されている。部分制御値１１４も、制御値を決定するための手段１０２に提供される。さらに、部分制御値１１４から比較制御値１１８が形成され、これも、データセットをチェックするための装置に提供される。部分制御値１１４および比較制御値１１８は、データセットとともに、たとえば、図２に示すデータセットから制御値を決定するための装置の中に一時的に格納されている。
【００３４】
制御値を決定するための手段１０２は、部分制御値１１４から共通制御値１１６を計算し、それを比較手段１０３に提供するように形成されている。さらに、比較手段１０３は、比較制御値１１８を受信するように形成されている。また、比較制御値１１８も、部分制御値１１４から既に形成されている。比較制御値１１８を形成するためにも、共通制御値１１６を形成するためにも、同一の計算関数が用いられている。比較手段１０３は、共通制御値１１６と比較制御値１１８とを比較するように形成されている。この例示的な実施の形態によれば、比較手段１０３は、共通制御値１１６と比較制御値１１８との間の比較結果に応じて、制御値を決定するための手段１０２に比較信号１２０を提供するように形成されている。比較信号１２０は、比較制御値１１８が共通制御値１１６と一致しているかどうかを示す。共通制御値１１６と比較制御値１１８とが一致していれば、共通制御値１１６が形成された部分制御値１１４は、比較制御値１１８が形成された時点から変更されなかったと推定することができる。
【００３５】
この例示的な実施の形態によれば、制御値を決定するための手段１０２は、比較信号１２０が比較制御値１１８と共通制御値１１６との一致を示している場合、データセット１１２の第１部分セットから、第１の追加部分制御値１２２を計算し、それを比較手段１０３に提供するように形成されている。また、比較手段１０３は、部分制御値１１４を受信するようにも形成されている。比較手段１０３は、追加部分制御値１２２の受信に反応して、追加部分制御値１２２と、その追加部分制御値１２２と同じ部分セットから形成される対応する部分制御値１１４とを比較するように形成されている。比較手段１０３は、部分制御値１１４と追加部分制御値１２２との比較結果に応じて、チェック結果１２４を、データセットを使用するための手段に提供するように形成されている。チェック結果１２４は、部分制御値１１４が対応する追加部分制御値１２２と一致するかどうかを示す。追加部分制御値１２２は、対応する部分セットから、部分制御値１１４と同じアルゴリズムに従って、既に形成されている。このように、部分制御値１１４と追加部分制御値１２２とが一致する場合、追加部分制御値１２２が計算された部分データセットは、対応する部分制御値１１４が計算された時点から変更されなかったと想定することができる。
【００３６】
データセットを使用するための手段１０４は、チェック結果１２４が部分制御値１１４と追加部分制御値１２２との間の一致を示す場合、追加部分制御値１２２が形成され比較手段１０３で比較されたデータセット１１２の部分セットを使用するように形成されている。
【００３７】
この代わりに、制御値を決定するための手段１０２を、比較信号１２０の結果を受けるのと並行して、データセット１１２の部分セットの追加部分制御値１２２を決定し、それを比較手段１０３に提供するように形成することができる。さらに、制御値１０２を決定するための手段を、共通制御値１１６が比較制御値１１８と比較される前に、追加部分制御値１２２を形成するように形成することができる。
【００３８】
部分制御値１１４を、データセット１１２と別個に制御値を決定するための手段１０２に送ることができる。この代わりに、部分制御値をデータセット１１２に統合する（１１４）こともできる。同様に、比較制御値１１８を、データセット１１２と一緒に、データセットをチェックするための装置に提供することができる。
【００３９】
データセット１１２の部分セットが制御値を決定するための手段１０２に提供された後にだけ、部分制御値１１４がデータセットをチェックするための装置に提供される場合には、既に受信された部分セットの追加部分制御値１２２を前もって形成しておくように、制御値を決定するための手段１０２を形成することができる。この場合、制御値を決定するための手段１０２から、部分制御値１１４が受信された後においてのみ、共通制御値１１６が決定される。
【００４０】
データセットを使用するための手段１０４については、チェック結果１２４が受信される前に、データセット１１２またはデータセット１１２の部分セットを使用し始めるように形成することができる。この場合、部分制御値１１４と追加部分制御値１２２との間の不一致または共通制御値１１６と比較制御値１１８との間の不一致を示すチェック結果１２４が受信された場合に、データセットの使用を中断するようにデータセットを使用するための手段１０４を形成することができる。
【００４１】
図２は、本発明の例示的な実施の形態による制御値を決定するための装置の概略図を示す。
【００４２】
具体的には、制御値を決定するための装置は、データセットの完全性をチェックするために、図１に示すデータセットをチェックするための装置によって使用することができる部分制御値１１４および比較制御値１１８を提供するように形成されている。
【００４３】
制御値を決定するための装置は、部分制御値を決定するするための手段２０６、比較制御値を決定するための手段２０７および統合するための手段２０８を含む。制御値を決定するための装置は、データセット１１２を受信するように形成されている。データセット１１２は、複数の部分セットを含む。部分制御値を決定するための手段２０６は、受信したデータセット１１２の部分セットから部分制御値１１４を形成し、それを比較制御値を決定するための手段２０７に提供するように形成されている。このように、データセット１１２の各部分セットに対して、部分制御値１１４が、比較制御を決定するための手段２０７に提供される。部分制御値１１４は、所定の決定アルゴリズムに従って、部分セットから、部分制御値を決定するための手段２０６によって決定される。
【００４４】
データセット１１２が部分セットに分割されていない場合、部分制御値を決定するための手段２０６には、データセットを複数の部分セットにサブ分割するための手段（図示せず）を含めることができる。
【００４５】
比較制御値を決定するための手段２０７は、所定の決定ルールに従って、部分制御値１１４から、比較制御値１１８を決定し、それを提供するように形成されている。
【００４６】
部分制御値１１４および比較制御値１１８の双方は、格納されるか、または、後続処理のために使用できるようになっている。この例示的な実施の形態では、部分制御値１１４は、統合するための手段２０８に提供される。統合するための手段２０８は、データセット１１２を受信し、利用可能なデータセット１１２をデータセット１１２に統合し、それを部分制御値を有するデータセット２１２として提供するように形成されている。
【００４７】
ある例示的な実施の形態によれば、部分制御値１１４は、統合するための手段２０８によってデータセット１１２に統合され、これらは、可能ならば、データセット２１２中に均一に分布するように配置される。この代わりに、部分制御値１１４を、所定の位置でデータセット２１２にまとめて配置することもできる。
【００４８】
部分制御値１１４がデータセット２１２に散在されている場合、部分制御値をチェックすることによって、データセット２１２の格納または伝送中にエラーが生じたかどうかを高い確率ですぐに判定することができる。部分制御値１１４をデータセット２１２の一定の位置に格納することには、後続のデータセット２１２のチェックにおいて、最初に部分制御値を読み取って比較制御値１１８と比較することができるという利点がある。
【００４９】
この代わりに、部分制御値１１４を、データセット１１２とは別個に格納することができる。同様に、比較制御値１１８を、データセット１１２に統合することもでき、別個に格納することもできる。
【００５０】
ある例示的な実施の形態によれば、制御値は、暗号化ハッシュ関数を用いて決定される。この実施の形態によれば、ＭＰ３フォーマットにおいて、たとえばソングのような大きなファイルに対する完全性のセクション毎のチェックは、ハッシュアルゴリズム、ハッシュ値または「オンザフライ」チェックを用いて行われる。ＭＰＧ−４符号化オーディオデータの場合、データは、たとえばチャンクまたはアクセスユニットといったセクションに分割され、そのセクションが部分セットに相当する。
【００５１】
制御値を決定するための装置におけるハッシングは、個々のセクションに対する別々のハッシングを通して行われる。次に、各セクションに対して決定されたハッシュ値が、テーブルに、たとえばデータと一緒に格納される。このハッシュ値のテーブルに対して新規のハッシュが形成され、実際のハッシュ、いわゆるマスターハッシュとして用いられる。ハッシュ値は部分制御値と対応し、マスターハッシュは比較制御値と対応する。
【００５２】
セクションへの分割は、適切または所望のサイズのセクションが得られるように行われる。精度と、追加されるハッシュ値に対する余分に必要なメモリ空間との間で折り合い調整が行われる。セクションのハッシング後、セクションのハッシュ値は１つ以上のテーブルに格納される。次に、この部分ハッシュ値を有する１つ以上のテーブルから、１つのハッシュ値が形成される。このマスターハッシュ値を外部に格納し、後に行われるチェックに対する基準とすることができる。
【００５３】
データセットをチェックするための装置でハッシュをチェックするために、最初に、マスターハッシュに照らしてハッシュを有するテーブルの事前チェックが行われ、すなわち、部分ハッシュ値を有する１つ以上のテーブルに対してハッシュが計算され、マスターハッシュと比較される。次に、テーブル中のハッシュ値を用いて個々のセクションのチェックが行われる。そのためには、テーブル中の部分ハッシュ値を用いて、ファイルのセクションが個別にチェックされる。このように、この例示的な実施の形態では、マスターハッシュと部分ハッシュ値から計算されたハッシュとが一致した場合に、部分セクションに対するチェックが行われる。このようにして、他のセクションがまだチェックされていなくても、チェックされたセクションから使用することができる。
【００５４】
別の例示的な実施に形態によれば、あまりにも多くのセクションが形成されて、部分ハッシュ値を有するテーブルが大きくなりすぎる。この場合、いくつかのハッシュテーブルを階層的に用いることができる。これは、第１のテーブルが、下位のテーブルのためのマスターハッシュとして順に用いられるハッシュ値を含むことを意味する。特殊な場合として、シーケンシャルなリストを設定することができる。これは、テーブル中の最後のハッシュ値が次のテーブルのマスターハッシュとなることを意味する。
【００５５】
ＤＣＦ（ＤＣＦ＝ＤＲＭ  コンテント・フォーマット）に従って暗号化されるオブジェクトは、多くの場合ＭＰＥＧ−４データフォーマットに符号化されたオーディオ／ビデオデータを含むが、これに対するハッシュテーブルおよびマスターハッシュについて、別の例示的な実施の形態に従って説明する。ＤＣＦオブジェクトは、所望の数のセクション、いわゆるチャンクといわれるその都度グループ化される１つ以上のアクセスユニットにサブ分割される。この情報を有するチャンクテーブルは、ＤＣＦオブジェクトの中に挿入される。ハッシュは、ハッシュアルゴリズムＳＨＡ−１を用いてチャンク群において毎回計算される。テーブルが計算された全てのハッシュから形成され、このテーブルはＭｐｅｇ−４アトムとしてＤＣＦオブジェクトに挿入される。マスターハッシュは、ハッシュ値のテーブルに形成され、基準値としてＤＣＦオブジェクトの外部に格納される。
【００５６】
完全性のチェックは、ＤＣＦオブジェクトから、ハッシュ値のテーブルを有するＭｐｅｇ−４アトムを読み取ることによって行われる。次に、ハッシュ値が、テーブルで計算され、マスターハッシュと比較される。一致する場合には、ＤＣＦオブジェクトの使用を継続することができ、一致しなければ、ＤＣＦオブジェクトは変更されたとして使用拒否される。ＤＣＦオブジェクトの使用が継続される場合、ＤＣＦオブジェクト中の必要なチャンクが探査され、このチャンク中のハッシュのチェックと同時に、チャンクの処理、例えば、再構成が行われる。対応するチャンクのハッシュの同時並行チェックを「オンザフライ」でのチェックという。チャンクのハッシュ値が、ハッシュテーブルの対応する値と一致すれば、別のチャンクを処理することができる。一致しなければ、ＤＣＦオブジェクトは変更されているとしてさらなる処理は拒否される。
【００５７】
前述の記載では、ハッシュアルゴリズムを用いて制御値の計算を説明したが、本発明によるアプローチは、ハッシュ関数に限定されず、任意の種類の制御値またはチェックサムを形成できることは明らかである。たとえば、パリティ計算を行うことができる。さらに、本発明のアプローチを、データの完全性をチェックする必要がある全てのアプリケーションに対して用いることができる。このようなアプリケーションについては、たとえば、コンピュータシステムまたはデジタルメッセージ伝送システムとすることができる。コンピュータシステムにおいては、たとえば、データを格納する際に、制御値を生成し、データと一緒に格納することができる。後でのデータの読み出しおよび使用において、制御値も読み出し、これを用いてデータをチェックすることができる。伝送システムにおいては、データ伝送の前に直接制御値を計算し、この制御値をデータと一緒に送信し、受信側で評価することができる。このようにして、データが正しく送信されたことを保証することができる。
【００５８】
デジタル情報の完全性をセクション毎にチェックするために、データは部分セットにサブ分割される。部分セットは、相互に分離することもでき、オーバーラップさせることもできる。具体的には、部分セットは、単独的に符号化可能とすることもでき、構文的に解析可能とすることもできる。データセットをチェックするための装置についてはエンコーダの一部とし、制御値を決定するための装置についてはデコーダの一部とすることができる。
【００５９】
状況によっては、本発明によるデータセットを検証するための方法および本発明による制御値を決定するための方法は、ハードウエアまたはソフトウエアで実施しうる。この実施は、対応する方法が実行されるように、プログラム可能なコンピュータシステムと協働する、電子的に読み取り可能な制御信号を有する、デジタル記憶媒体、特に、ディスクまたはＣＤ上で実行することができる。そのため、本発明は、一般に、コンピュータプログラム製品がコンピュータ上で実行されるときに、機械で読み取り可能なキャリアに格納された本発明による方法を実行するためのプログラムコードを有するコンピュータプログラム製品にも存在する。言い換えると、本発明は、コンピュータプログラムがコンピュータ上で実行されるときに、この方法を実行するためのプログラムコードを有するコンピュータプログラムとして実現することができる。
【図面の簡単な説明】
【００６０】
【図１】図１は、本発明の例示的な実施の形態によるデータセットをチェックするための装置のブロック図を示す。
【図２】図２は、本発明のさらなる例示的な実施の形態による制御値を決定するための装置のブロック図を示す。
【図１】
2008517359.tif 000003
【図２】
2008517359.tif 000004
【手続補正書】
【提出日】平成18年8月8日(2006.8.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データセットをチェックするための装置であって、前記データセットは、複数の部分セットと部分セット毎の部分制御値とを有し、前記装置は、
制御値を決定するための手段（１０２）であって、前記データセット（１１２）の前記部分セットの前記提供された部分制御値（１１４）から共通制御値（１１６）を決定するように形成されている手段と、
比較手段（１０３）であって、前記共通制御値（１１６）と前記比較手段に提供される比較制御値（１１８）とを比較するように形成されている手段とを備え、
決定するための前記手段（１０２）は、さらに、前記データセット（１１２）の前記部分セットの１つに対する追加部分制御値（１２２）を決定するように形成され、さらに
前記比較手段（１０３）は、さらに、前記部分セットをチェックするために、前記追加部分制御値と前記対応する部分セットの前記提供された部分制御値（１１４）とを比較し、さらに前記比較に応じてチェック結果（１２４）を提供するように形成され、さらに
前記部分セットのチェックに並行して前記部分セットの１つの前記データを使用するように形成され、さらに、前記チェック結果が不一致を示す場合に、前記チェック結果（１２４）の結果として前記データセットの使用を中断するようにさらに形成される、前記データセットを使用するための手段（１０４）を備える、装置。
【請求項２】
前記比較手段（１０３）は、前記共通制御値（１１６）と前記比較制御値（１１８）との比較に応じて比較信号（１２０）を提供するように形成され、さらに
決定するための前記手段（１０２）は、さらに、前記比較信号に応じて前記追加部分制御値（１２２）を決定するように形成されている、請求項１に記載のチェックするための装置。
【請求項３】
使用するための前記手段（１０４）は、前記チェック結果（１２４）が一致を示す場合に、前記チェック結果（１２４）の結果として前記部分セットを使用するように形成されている、請求項１に記載のチェックするための装置。
【請求項４】
前記データセット（１１２）はさらに複数の中間制御値を有し、その中間制御値の各々は複数の前記部分制御値（１１４）から形成され、さらに
決定するための前記手段は、さらに、前記提供された複数の中間制御値から前記共通制御値を決定するように形成され、さらに、前記共通制御値と前記提供された制御値との前記比較に応じて、前記複数の部分制御値から複数の追加中間制御値を決定するように形成されている、請求項１ないし請求項３のいずれかに記載のチェックするための装置。
【請求項５】
前記比較手段は、さらに、前記追加中間制御値と前記提供された中間制御値とを比較するように形成されている、請求項４に記載のチェックするための装置。
【請求項６】
前記制御値はハッシュ値であり、さらに、決定するための前記手段（１０２）は、所定のハッシュアルゴリズムを用いて前記ハッシュ値を決定するように形成されている、請求項１ないし請求項５のいずれかに記載のチェックするための装置。
【請求項７】
データセットをチェックするための方法であって、前記データセットは、複数の部分セットと部分セット毎の部分制御値とを有し、前記方法は、
前記部分セットの前記提供された部分制御値（１１４）から共通制御値（１１６）を決定するステップと、
前記共通制御値（１１６）と提供された比較制御値（１１８）とを比較するステップと、
前記データセット（１１２）の前記部分セットの１つに対する追加部分制御値（１２２）を決定するステップと、
前記部分セットをチェックするために、前記追加部分制御値と前記対応する部分セットの前記提供された部分制御値（１１４）とを比較し、さらに前記比較に応じてチェック結果（１２４）を提供するステップと、
前記部分セットのチェックに並行して前記部分セットの１つの前記データを使用するステップと、
前記チェック結果が不一致を示す場合に、前記チェック結果（１２４）の結果として前記データセットの使用を中断するステップとを備える、方法。
【請求項８】
コンピュータ上で実行されるときに、請求項７に記載の前記方法を実行するためのプログラムコードを有するコンピュータプログラム。
【国際調査報告】
2008517359.tif 000005
2008517359.tif 000006
2008517359.tif 000007
2008517359.tif 000008
2008517359.tif 000009
2008517359.tif 000010