WO2006042593A1 - Vorrichtungen und verfahren zum prüfen und ermitteln von prüfwerten - Google Patents

Vorrichtungen und verfahren zum prüfen und ermitteln von prüfwerten Download PDF

Info

Publication number
WO2006042593A1
WO2006042593A1 PCT/EP2005/009783 EP2005009783W WO2006042593A1 WO 2006042593 A1 WO2006042593 A1 WO 2006042593A1 EP 2005009783 W EP2005009783 W EP 2005009783W WO 2006042593 A1 WO2006042593 A1 WO 2006042593A1
Authority
WO
WIPO (PCT)
Prior art keywords
values
test
value
check
partial
Prior art date
Application number
PCT/EP2005/009783
Other languages
English (en)
French (fr)
Inventor
Stefan Kraegeloh
Joerg Pickel
Ralph Kulessa
Patrick Aichroth
Kurt Michael Krauss
Jens Hasselbach
Stefan Puchta
Marc Gayer
Harald Popp
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority to JP2007536012A priority Critical patent/JP2008517359A/ja
Priority to CA2583755A priority patent/CA2583755C/en
Priority to AU2005297525A priority patent/AU2005297525C1/en
Priority to EP05787389A priority patent/EP1817711A1/de
Priority to CN2005800399909A priority patent/CN101073086B/zh
Publication of WO2006042593A1 publication Critical patent/WO2006042593A1/de
Priority to US11/735,288 priority patent/US20070282924A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • the present invention relates to an apparatus and a method for checking a data volume by means of test values and to a device and a method for determining a comparison test value for a data volume, which may be, for example, a computer file.
  • the amount of data is very large, even if the data is in kompri ⁇ mated form.
  • a typical MP3 coded song generates a data volume of 1 MB per minute of playing time.
  • hash algorithm In order to check the integrity of a file, for example by means of a hash algorithm, the hash algorithm is usually calculated over the entire file and then the result, ie the hash value, is compared with a reference value. Such an integrity check of a data record by a cryptographic hash method is described below.
  • Cryptographic hash values are also called test surranes.
  • Hash methods calculate from an input of indeterminate length defined and clearly a specific output value, the so-called hash. For example, the hash value is a 20-byte string.
  • the type of hash function is to specify a unique output value for any input value from which the input value can not be recalculated.
  • the complete amount of data to be used to calculate the hash value is first processed using the hash algorithm, so that the hash of the data set is formed. For later integrity checks, the data set to be tested is completely reworked using the hash algorithm. If the data quantity to be tested supplies the same hash as in the reference run, it may be assumed that no changes were made to the data set.
  • the main task of hash functions is to check and ensure the integrity of digital data.
  • the application cases range from checksum calculations to signature procedures. That is, the hash is either used directly as a checksum or in addition, signed representative of the original amount of data. For integrity checking, the direct use of the hash value is used as the checksum.
  • hash functions can essentially be defined by the following three points. On the one hand, every hash value must occur the same number of times. This means that the probability of hash values must not differ for different input values. Furthermore, small changes in the input value should lead to a changed hash value. Furthermore, the effort to generate collisions should be very high. This means that It should be as difficult as possible to find a second input value with the same hash value for a given input value.
  • a hash function fulfilling all three requirements is called a cryptographic hash function.
  • SHA-I Secure Hash Algorithm
  • MD4 MD5
  • SHA-I five 32-bit variables, so-called chain variables and the so-called compression function play an important role.
  • the hash function SHA-I first divides the input value into 512-bit blocks.
  • the compression function then picks up the five chain variables and a five 512-bit block and maps them to the next five 32-bit values.
  • the function now runs in four rounds for every 20 identical operations in which the individual bits are shifted according to predefined arithmetic operations. Finally, the contents of the five chain variables are output as a hash value.
  • hash integrity checking techniques Use of hash integrity checking techniques is described, for example, in the specification "Open Mobile Aliance; OMA DRM Specification V2.0; Draft Version 2.0 - ' 10th April 2004. Further test methods are described, for example, in the specification "Internet Streaming Media Alliance, Encryption and Authentication Specification, Version 1.0, February 2004".
  • the integrity check of a dataset is not an end in itself. Rather, the integrity check is only preceded by the actual use of the data record. The effort for the integrity check is therefore disadvantageous when using a data set since the integration an additional expenditure, which causes additional costs and delays the use of the data set.
  • the high level of effort involved is of particular importance because it is always the entire data set that has to be checked before it can be said whether the integrity of the data record is given. This has an especially noticeable effect on very large data sets and can, for example, lead to start delays in the playback of audio data or video data in the case of audio and video files.
  • Another major disadvantage is due to the high energy consumption, which arises from the necessity that always first the entire data set must be checked. This is necessary even if only part of the data is to be used. For example, even with a brief start or fast forward or rewinding of a DRM-protected audio piece or video piece on a portable playback device, a check of the entire audio piece or video piece is first required. In portable devices in particular, this results in a shortening of the battery life.
  • a device for checking a data quantity according to claim 1 a device for determining a test value according to claim 10
  • a method for checking a data amount according to claim 15 a method for determining a test value according to claim 16 and a computer program solved according to claim 17.
  • the present invention provides a device for checking a dataset, wherein the dataset has a plurality of subsets and a sub-test value per subset, with the following features:
  • a device for determining a test value which is designed to determine a common test value from the provided partial test values of the subsets;
  • comparison device which is designed to compare the common test value with a comparison test value provided to the comparison device.
  • the present invention further provides a device for determining a comparison test value from a data quantity which has a plurality of subsets, with the following characteristics:
  • the present invention is based on the finding that a partial or partial integrity check of a data record results in a reduction of the effort required for the integrity check or for the generation of the test value.
  • test values are formed over subsets of the data record.
  • the test values of these subsets are stored either in the data record or separately.
  • an additional test value is formed over the partial test values. This is advantageous because, to verify the integrity of the data set, the partial test values may first be tested against the additional test values. Subsequently, the individual subareas can be checked with the aid of the checksums assigned to the individual subareas.
  • the possibility of checking the integrity in sections results in a number of advantages.
  • the use of data can already take place if only the first section of the data record and not the entire data record has yet been checked. For example, can begin ei ⁇ nes audio / video piece with virtually no time lag 'be ⁇ so playback.
  • a data set can optionally also be used only partially without the entire data set having to be checked. For example, when fast-forwarding and rewinding within an audio / video piece or jumping within the piece, a section-wise review is advantageous. The section-by-section check eliminates the need to check sections that are not required. This saves time and resources.
  • the actual use of the data can be carried out in sections in parallel with the integrity check.
  • a piece of data only needs to be loaded once from a disk to first check the integrity of the piece and then process it immediately. This leads to time, resource and energy savings.
  • the check can also be downstream. This is possible if it is acceptable that individual pieces of the file can already be used without verification. In this case, for example, the first piece or another piece of a music file is used and tested parallel to that of use. This has the advantage that the data to be checked during the execution are checked. Furthermore, the data to be used only needs to be fetched once from the hard disk. If the check is successful, the next piece is released for processing. Otherwise, the processing stops after the currently running piece.
  • the approach according to the invention makes it possible to quickly pre-check a data record by pre-checking the test values of the sub-sections of a data record. This allows, for example, a quick overview of a large number of data records. The actual verification of the data records themselves by means of the test values then takes place only after the test values have been checked.
  • further intermediate test values can be formed from the partial test values of the individual subsets. From the intermediate test values, the number of which is smaller than the number of partial test values, a common test value is again formed.
  • the DCF format is in "Open Mobile Alliance; DRM Content Format V2.0; Draft Verison 2.0 - 20 April 2004 "and is used for encrypted audio / video data in the MPEG-4 data format.
  • FIG. 1 is a block diagram of an apparatus for checking a data amount according to an embodiment of the present invention.
  • FIG. 2 shows a block diagram of a device for determining a test value according to a further exemplary embodiment of the present invention.
  • FIG. 1 shows a schematic representation of a device for checking a data volume, which has a device 102 for determining a test value, a comparison device 103 and a device 104 for using the data volume.
  • the device for checking a data amount is designed to check the amount of data before use by means of partial test values and a comparison test value.
  • the part check values and the comparison check value are provided to the device for checking a data amount along with the data amount.
  • the device 102 for determining a test value is formed to receive a data amount 112.
  • the data set 112 is subdivided into a plurality of subsets (not shown in the figures). For each of the subsets of the data set 112, a partial check value 114 was calculated.
  • the partial test values 114 are also provided to the device 102 for determining a test value.
  • a comparison check value 118 was formed from the partial check values 114, which is also provided to the device for checking a data volume.
  • the partial test values 114 and the comparative test value 118 were determined, for example, in the apparatus shown in FIG. 2 for determining a test value from the data quantity and buffer-stored together with the data quantity.
  • the device 102 for determining a test value is designed to calculate a common test value 116 from the partial test values 114 and to provide it to the comparator 103.
  • the comparison device 103 is also designed to receive a comparison test value 118.
  • the comparison check value 118 was also formed from the partial check values 114. The same calculation function was used to form the comparison test value 118 and the common test value 116.
  • the comparison device 103 is designed to compare the common test value 116 with the comparison test value 118. According to this exemplary embodiment, the comparison device 103 is designed to provide a comparison signal 120 to the device 102 for determining a test value depending on the comparison result between the common test value 116 and the comparison test value 118.
  • the comparison signal 120 indicates whether the comparison test value 118 coincides with the common test value 116. If the common test value 116 and the comparison test value 118 agree, it can be assumed that the partial test values 114 from which the common test value 116 was formed have not changed since the comparison test value 118 was formed.
  • the device 102 for determining a test value is designed to calculate a first further partial test value 122 from a first subset of the data quantity 112 in the case of a comparison signal 120 indicating a match of the comparison value 118 and the common test value 116 and to the comparator 103.
  • the comparison device 103 is likewise designed to receive the partial test values 114.
  • the comparison device 103 is designed to compare the further partial test value 122 with the corresponding partial test value 114, which was formed from the same subset as the further partial test value 122.
  • the comparison device 103 is designed to provide a test result 124 to the device for using the data volume.
  • the test result 124 indicates whether the partial test value 114 matches or does not match the associated further partial test value 122.
  • the further partial test value 122 was formed from the associated subset according to the same algorithm as the partial test value 114. Thus, if the partial test value 114 matches the further partial test value 122, it can be assumed that the partial data quantity is the further partial test value 122 has been calculated since the calculation of the associated partial test value 114 has not been changed.
  • the means 104 for using the amount of data is designed to be used in a test result 124 which has a conformity Mood of the sub-test value 114 with the further sub-test value 122 indicates to use the subset of the data set 112 for which the further sub-test value 122 has been formed and compared in the comparison device 103.
  • the device 102 may be designed to determine a test value in order to determine the further partial test values 122 of the subset of the data amount 112 in parallel as a consequence of the comparison signal 120 and to provide them to the comparison device 103. Furthermore, the device 102 may be designed to determine a test value in order to already generate the further partial test values 122 before the common test value 116 has been compared with the comparison testers 118.
  • the partial test values 114 can be provided separately to the data set 112 to the device 102 for determining a test value. Alternatively, the partial test values 114 may be integrated in the data set 112. Likewise, the compare check value 118 may be provided along with the dataset 112 to the device for checking a dataset.
  • the device 102 can be designed to determine a test value. to already form the further partial check values 122 of the already received subsets. In this case, the common check value 116 is not determined until the partial check values 114 have been received by the check value determining means 114.
  • the device 104 for using the data set can be configured to already use the data set 112 or subsets of the data set 112 before a check result 124 has been received.
  • the device may 104 to use the amount of data to interrupt use of the amount of data when atician ⁇ result 124 is received that a mismatch of a partial test value 114 with another partial test value 122 or a mismatch of the common strigwer ⁇ tes 116 with the comparison check value 118 indicates.
  • FIG. 2 shows a schematic representation of a device for determining a test value according to an exemplary embodiment of the present invention.
  • the device for determining a test value is designed to provide partial test values 114 and a comparison test value 118 which can be used by the device for checking a data quantity shown in FIG. 1 in order to check an integrity of the data volume.
  • the device for determining a test value has a device 206 for determining a partial test value, a device 207 for determining the comparison test value and a device 208 for incorporation.
  • the device for determining a test value is designed to receive a data amount 112.
  • the data set 112 has a plurality of subsets.
  • the device 206 for determining a partial test value is designed to form partial test values 114 from the partial quantities of the received data quantity 112 and to provide them to the device 207 for determining the comparison test value.
  • the means 207 for determining the comparison test value are thus provided a partial test value 114 for each subset of the data set 112.
  • the partial test values 114 are determined by the means 206 for determining a partial test value from the subsets according to a predetermined determination algorithm.
  • means 206 for determining a sub-check value may comprise a means for subdividing the data set (not shown in the figures) in the plurality of Operamen ⁇ gene.
  • the means 207 for determining the comparison check value is designed to determine and provide the comparison check value 118 in accordance with a predetermined determination rule from the partial check values 114.
  • both the partial test values 114 and the comparison test value 118 are stored or made available for further processing.
  • the partial test values 114 are provided to the device 208 for incorporation.
  • the means 208 for incorporation is designed to receive the data set 112, to integrate the partial check values 114 into the data set 112 and to provide them as a data set 212 with partial check values.
  • the sub-test values 114 are interleaved by the means 208 for incorporation into the dataset 112 such that they are, if possible, evenly distributed in the dataset 212.
  • the partial test values 114 in the data set 212 can be arranged together at a predetermined location.
  • a storage of the partial test values 114 at a defined location of the data set 212 has the advantage that in a subsequent test of the data quantity 212, the partial test values can first be read out and compared with the comparison test value 118.
  • the partial check values 114 can be stored separately from the data set 112. Likewise, the same check value 118 was ⁇ integrated into the data set 112 or also be stored separately.
  • the check values are determined by means of cryptographic hash functions.
  • the integrity of a large file for example a song in MP3 format, is checked in sections by means of a hash algorithm, a hash value or a check "on the fly" are divided into sections, such as chunks or access units in MPEG-4 encoded audio data corresponding to the subsets.
  • the hashing in the device for determining a test value is effected by a separate hashing of the individual subsections. Subsequently, the hash values determined from the sections are stored in a table, which, for. B. is stored together with the data. A new hash is formed via this table of hash values and is used as an actual hash, the so-called master hash. The hash values correspond to the partial test values and the master hash to the comparison test value.
  • the division into sections is carried out in sections of suitable or desired size. In this case, a compromise is formed between granularity and additionally required storage effort for the additional hash values.
  • the hash values of the sections are stored in one or more tables. The formation of a hash value via the table or the tables with the partial hash values takes place below. The master hash can then be stored externally and is the reference against which will be checked later.
  • the first step is to pre-check the table of hashes with the master hash, ie a hash is calculated via the table or the tables with the partial hash values. net and compared to the master hash. Subsequently, using the hash values from the table, an examination of the individual subsections follows. This is done by using the partial hash values from the table to individually examine the sections of the file. The examination of the subsections thus follows in this exemplary embodiment after there is an equality between the master hash and the hash which was calculated using the partial hash values. In this way, already tested sections can already be used while others have not yet been tested.
  • a table of partial hash values becomes too large.
  • multiple hash tables can be used hierarchically. This means that the first table contains hash values, which in turn are used as master hashes for child tables.
  • a sequential list can be created. This means that the last hash value in a table is the master hash for the next table, and so on.
  • the DCF object is decomposed into a desired number of sections, the so-called chunks, whereby in each case one or more access units are combined.
  • a chunk table with this information is inserted into the DCF object.
  • Each of the chunks has a hash calculated using the hash algorithm SHA-1. From all computed hashes a table is formed, and this Ta ⁇ beauty inserted as MPEG-4 atom in the DCF object.
  • the hash values table is used to form the master hash, which is stored externally by the DCF object as reference value.
  • An integrity check is performed by exposing the MPEG-4 Atom to the table of hash values from the DCF object. will be. Then, hash values are calculated across the table and compared to the master hash. If equal, the use of the DCF object can be continued, otherwise the DCF object is rejected as being changed. If the use of the DCF object continues, then the desired chunk from the DCF object is searched for next and a processing of this chunk takes place, for example its reproduction during a simultaneous check of the hash in this chunk. The simultaneous check of the hash of the corresponding chunk is called "on the fly", and if the hash value of the chunk matches the corresponding value in the hash table, another chunk can be processed the further processing is rejected because of modification of the DCF object.
  • test values or checksums of any kind can be formed.
  • a parity calculation can be carried out.
  • the approach according to the invention can be used for all applications in which a verification of the integrity of data is required. Such applications may be, for example, computer systems or digital message transmission systems.
  • the test values can be generated and stored when the data is stored. In a subsequent readout and use of the data, the test values are also read out and used to check the data.
  • transmission systems the test values can be calculated directly before transmission of the data and subsequently transmitted together with the data and evaluated in the receiver.
  • the data is subdivided into subsets.
  • the subsets can be independent or overlap.
  • the subsets can be independently decodable or syntactically analyzable.
  • the device for checking a data volume may be part of an encoder and the device for determining a test value may be part of a decoder.
  • the inventive method for checking a data volume as well as the method according to the invention for determining a test value can be implemented in hardware or in software.
  • the implementation can be carried out on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which can cooperate with a programmable computer system such that the corresponding method is executed.
  • the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention, when the computer program product runs on a computer.
  • the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Eine Vorrichtung zum Prüfen einer Datenmenge (112), wobei die Datenmenge (112) eine Mehrzahl von Teilmengen und pro Teilmenge einen Teil-Prüfwert (114) aufweist, weist eine Einrichtung (102) zum Bestimmen eines Prüfwertes und eine Vergleichseinrichtung (103) auf. Die Einrichtung (102) zum Bestimmen eines Prüfwertes ist ausgebildet, um einen gemeinsamen Prüfwert (116) aus den Teil-Prüfwerten (114) der Teilmengen zu bestimmen. Die Vergleichseinrichtung (103) ist ausgebildet, um den gemeinsamen Prüfwert (116) mit einem, an die Vergleichseinrichtung (103) bereitgestellten Vergleichswert (118) zu vergleichen.

Description

Vorrichtungen und Verfahren zum Prüfen und Ermitteln von
Prüfwerten
Beschreibung
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Prüfen einer Datenmenge mittels Prüf¬ werten und eine Vorrichtung und ein Verfahren zum Ermitteln eines Vergleichsprüfwertes für eine Datenmenge, bei der es sich beispielsweise um eine Computerdatei handeln kann.
Für verschiedenste Anwendungsfälle, beispielsweise beim Di¬ gital Rights Management ist es erwünscht bzw. notwendig die Authentizität oder die Integrität einer Datei oder eines Bitstromes vor der Verwendung zu überprüfen. Bei der Über¬ prüfung einer Datenmenge auf Integrität kann es sich z. B. um zu überprüfende Bereiche im RAM oder ROM eines Computers oder einer Datei auf einem Massenspeicher handeln. Bei der Überprüfung können Manipulationen an den Daten aufgedeckt werden oder es können Speicher bzw. Schreibfehler erkannt werden, bevor die Daten weiter verarbeitet werden.
Insbesondere bei Audioanwendungen oder Videoanwendungen ist die Datenmenge sehr groß, selbst wenn die Daten in kompri¬ mierter Form vorliegen. Beispielsweise erzeugt ein typi¬ scher MP3 codierter Song eine Datenmenge von 1 MB pro Minu- te Spielzeit auf.
Um die Integrität einer Datei beispielsweise mittels einem Hash-Algorithmus zu überprüfen, wird üblicherweise der Hash-Algorithmus über das komplette File gerechnet und an- schließend das Ergebnis, also der Hash-Wert mit einem Refe¬ renzwert verglichen. Eine solche Integritätsprüfung eines Datensatzes durch ein kryptografisches Hash-Verfahren wird im Folgenden beschrie¬ ben. Dabei werden kryptografische Hash-Werte auch als Prüf- surrane bezeichnet. Hash-Verfahren berechnen aus einem Einga- bewert unbestimmter Länge definiert und eindeutig einen be¬ stimmten Ausgabewert, den so genannten Hash. Der Hash-Wert ist beispielsweise eine 20 Byte lange Zeichenkette. Die Ei¬ genart der Hash-Funktion besteht darin, zu jedem beliebigen Eingabewert einen eindeutig zugeordneten Ausgabewert zu bestimmen, aus dem sich der Eingabewert nicht zurückrechnen lässt.
Die komplette Datenmenge, über die der Hash-Wert berechnet werden soll, wird zunächst mit dem Hash-Algorithmus bear- beitet, sodass der Hash der Datenmenge gebildet wird. Zur späteren Integritätsprüfung wird die zu testende Datenmenge wieder komplett mit dem Hash-Algorithmus überarbeitet. Lie¬ fert die zu testende Datenmenge denselben Hash wie beim Re¬ ferenzdurchlauf, so darf angenommen werden, dass keine Ver- änderungen am Datensatz vorgenommen wurden.
Die Hauptaufgabe von Hash-Funktionen ist eine Prüfung und Sicherstellung der Integrität von digitalen Daten. Die An¬ wendungsfälle reichen dabei von Prüfsummenberechnungen bis hin zu Signaturverfahren. Das heißt, der Hash wird entweder direkt als Prüfsumme verwendet oder zusätzlich noch, stell¬ vertretend für die ursprüngliche Datenmenge signiert. Zur Integritätsprüfung wird die direkte Verwendung des Hash- Wertes als Prüfsumme eingesetzt.
Die Anforderungen an Hash-Funktionen lassen sich im Wesent¬ lichen auf die folgenden drei Punkte festlegen. Zum einen muss jeder Hash-Wert gleich oft vorkommen. Dies bedeutet, dass die Wahrscheinlichkeit von Hash-Werten sich bei ver- schiedenen Eingabewerten nicht unterscheiden darf. Des wei¬ teren sollen kleine Änderungen des Eingabewertes zu einem geänderte Hash-Wert führen. Ferner soll der Aufwand, um Kollisionen zu erzeugen sehr hoch sein. Dies bedeutet, dass es möglichst schwer sein soll, zu einem gegebenen Eingabe¬ wert einen zweiten Eingabewert mit dem gleichen Hash-Wert zu finden. Eine Hash-Funktion die alle drei genannten An¬ forderungen erfüllt, wird als kryptografische Hash-Funktion bezeichnet.
Zu den wichtigsten kryptografischen Hash-Funktionen zählen SHA-I, MD4, MD5 sowie RIPE-MD-160. Die derzeit wichtigste kryptografische Hash-Funktion SHA-I (SHA; SHA = Secure Hash Algorithm) verarbeitet Blöcke der Länge 512 Bit und gene¬ riert dabei Hash-Werte der Länge 160 Bit. Für den SHA-I spielen fünf 32-Bit-Variablen, so genannte Kettenvariablen sowie die so genannte Kompressionsfunktion eine wichtige Rolle.
Bei der Hash-Funktion SHA-I wird zuerst der Eingabewert in Blöcke der Länge 512 Bit aufgeteilt. Anschließend nimmt die Kompressionsfunktion die fünf Kettenvariablen sowie einen fünf 512 Bit-Block auf und bildet diese auf die nächsten fünf 32-Bit-Werte ab. Die Funktion läuft nun in vier Runden zu je 20 identischen Operationen ab, bei denen die einzel¬ nen Bits nach vordefinierten Rechenoperationen verschoben werden. Abschließend wird der Inhalt der fünf Kettenvariab¬ len als Hash-Wert ausgegeben.
Eine Verwendung von Hash-Verfahren zur Integritätsprüfung wird beispielsweise in der Spezifikation „Open Mobil AlIi- ance; OMA DRM Specification V2.0; Draft Version 2.0 -'10. April 2004" beschrieben. Weitere Prüfverfahren sind bei- spielsweise in der Spezifikation „Internet Streaming Media Alliance, Encryption and Authentication Specification, Ver¬ sion 1.0, Februar 2004" beschrieben.
Für gewöhnlich ist die Integritätsprüfung eines Datensatzes kein Selbstzweck. Vielmehr wird die Integritätsprüfung der eigentlichen Verwendung des Datensatzes nur vorgeschaltet. Der Aufwand für die Integritätsprüfung ist daher bei der Verwendung eines Datensatzes von Nachteil, da die Integri- tätsprüfung mit einem Zusatzaufwand verbunden ist, der Zu¬ satzkosten verursacht und die Verwendung des Datensatzes verzögert.
Insbesondere der hohe Aufwand an Zeit für die Integritäts¬ prüfung und der benötigte Ressourceneinsatz, insbesondere die Rechenleistung zur Ausführung der PrüfSummenberechnung ist von großem Nachteil. Der erforderliche hohe Aufwand fällt insbesondere deshalb ins Gewicht, da immer erst der ganze Datensatz geprüft werden muss, bevor eine Aussage darüber getroffen werden kann, ob die Integrität des Daten¬ satzes gegeben ist. Dies wirkt sich insbesondere bei sehr großen Datensätzen aus und kann beispielsweise bei Audio- und Videodateien durch Startverzögerungen bei der Wiederga- be von Audiodaten bzw. Videodaten führen.
Ein weiterer wesentlicher Nachteil liegt im hohen Energie¬ verbrauch begründet, der durch die Notwendigkeit entsteht, dass immer erst der ganze Datensatz geprüft werden muss. Dies ist auch dann nötig, wenn vielleicht nur ein Teil der Daten verwendet werden soll. So ist beispielsweise auch bei einem kurzen Anspielen oder Vorspulen bzw. Zurückspulen ei¬ nes DRM-geschützten Audio-Stücks oder Video-Stücks auf ei¬ nem tragbaren Abspielgerät zuerst eine Prüfung des gesamten Audiostücks bzw. Videostücks erforderlich. Insbesondere bei tragbaren Geräten hat dies eine Verkürzung der Batteriele¬ bensdauer zur Folge.
Ein weiterer Nachteil liegt darin begründet, dass keine Aussage über einen Datensatz möglich ist, so lange nur ein Teil der Daten vorliegt. Dies ist nachteilhaft, da bei ei¬ nem negativen Ausgang des Tests die eigentliche Bearbeitung meist entfallen kann oder muss.
Ferner ist es nachteilhaft, dass eine teilweise Nutzung der Daten denselben Prüfaufwand erfordert wie eine vollständige Nutzung der Daten. Es entstehen auch dann Startverzögerun¬ gen, wenn Audio/Video-Stücke nur kurz angespielt werden o- der innerhalb eines Stückes vor- oder zurückgespult werden sollen.
Es ist die Aufgabe der vorliegenden Erfindung, eine Vor- richtung und ein Verfahren zum Prüfen einer Datenmenge so¬ wie eine Vorrichtung und ein Verfahren zum Ermitteln eines Prüfwerts zu schaffen, die eine Beschleunigung eines Prüf¬ vorganges bei verringertem Aufwand ermöglichen.
Diese Aufgabe wird durch eine Vorrichtung zum Prüfen einer Datenmenge gemäß Anspruch 1, eine Vorrichtung zum Ermitteln eines Prüfwerts gemäß Anspruch 10, ein Verfahren zum Prüfen einer Datenmenge gemäß Anspruch 15, ein Verfahren zum Er¬ mitteln eines Prüfwert gemäß Anspruch 16 sowie ein Compu- terprogramm gemäß Anspruch 17 gelöst.
Die vorliegende Erfindung schafft eine Vorrichtung zum Prüfen einer Datenmenge, wobei die Datenmenge eine Mehrzahl von Teilmengen und pro Teilmenge einen Teil-Prüfwert auf- weist, mit folgenden Merkmalen:
einer Einrichtung zum Bestimmen eines Prüfwertes, die aus¬ gebildet ist, um einen gemeinsamen Prüfwert aus den bereit¬ gestellten Teil-Prüfwerten der Teilmengen zu bestimmen; und
einer Vergleichseinrichtung die ausgebildet ist, um den ge¬ meinsamen Prüfwert mit einem an die Vergleichseinrichtung bereitgestellten Vergleichs-Prüfwert zu vergleichen.
Die vorliegende Erfindung schafft ferner eine Vorrichtung zum Ermitteln eines Vergleichs-Prüfwertes aus einer Daten¬ menge, die eine Mehrzahl von Teilmengen aufweist, mit fol¬ genden Merkmalen:
einer Einrichtung zum Bestimmen eines Teil-Prüfwertes pro Teilmenge; und einer Einrichtung zum Bestimmen des Vergleichs-Prüfwertes aus den Teil-Prüfwerten der Teilmengen.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass eine abschnittsweise oder teilweise Integritätsprüfung eines Datensatzes eine Reduzierung des, für die Integri¬ tätsprüfung bzw. für die Erstellung des Prüfwertes erfor¬ derlichen Aufwands zur Folge hat.
Gemäß dem erfindungsgemäßen Ansatz wird kein Prüfwert über den gesamten Datensatz gebildet, sondern es werden Prüfwer¬ te über Teilmengen des Datensatzes gebildet. Die Prüfwerte dieser Teilmengen werden entweder in dem Datensatz oder ge¬ trennt gespeichert. Außerdem wird ein zusätzlicher Prüfwert über die Teil-Prüfwerte gebildet. Dies ist vorteilhaft, da zur Überprüfung der Integrität des Datensatzes zuerst die Teil-Prüfwerte gegen die zusätzlichen Prüfwerte geprüft werden können. Anschließend können die einzelnen Teilberei¬ che mit Hilfe der, zu den einzelnen Teilbereichen zugeord- neten Prüfsummen überprüft werden.
Durch die Möglichkeit, die Integrität gemäß dem erfindungs¬ gemäßen Ansatz abschnittsweise zu prüfen, ergeben sich eine Reihe von Vorteilen. Insbesondere kann die Nutzung von Da- ten bereits erfolgen, wenn lediglich erst der erste Ab¬ schnitt des Datensatzes und noch nicht der gesamte Daten¬ satz geprüft ist. Beispielsweise kann so das Abspielen ei¬ nes Audio/Videostückes praktisch ohne Zeitverzögerung ' be¬ ginnen. Ferner kann ein Datensatz wahlweise auch nur zum Teil verwendet werden, ohne dass der gesamte Datensatz ü- berprüft werden muss. Beispielsweise bei schnellem Vor- und Zurückspulen innerhalb eines Audio/Videostückes oder einem Springen innerhalb des Stückes ist eine abschnittsweise Ü- berprüfung vorteilhaft. Durch die abschnittsweise Überprü- fung entfällt die Prüfung nicht benötigter Abschnitte. Es werden somit Zeit und Ressourcen eingespart. Gemäß einem weiteren Ausführungsbeispiel kann die eigentli¬ che Nutzung der Daten abschnittsweise parallel mit der In¬ tegritätsprüfung erfolgen. Dadurch muss ein Datenabschnitt beispielsweise nur einmal von einer Platte geladen werden um dann erst die Integrität des Abschnitts zu prüfen und ihn dann sofort zu verarbeiten. Dies führt zu Zeit- Ressourcen- und Energieeinsparungen.
Gemäß einem weiteren Ausführungsbeispiel kann die Überprü- fung auch nachgelagert werden. Dies ist dann möglich, wenn es akzeptabel ist, dass einzelne Stücke der Datei bereits ohne Prüfung verwendet werden können. Dabei wird beispiels¬ weise das erste Stück oder ein weiteres Stück einer Musik¬ datei verwendet und parallel zu der der Verwendung geprüft. Dies hat den Vorteil, dass die zu überprüfenden Daten wäh¬ rend der Ausführung überprüft werden. Ferner müssen die zu verwendenden Daten nur einmal von der Festplatte geholt werden. Ist die Prüfung erfolgreich, wird das nächste Stück zur Verarbeitung freigegeben. Andernfalls stoppt die Verar- beitung nach dem gerade ausgeführten Stück.
Ferner ermöglicht der erfindungsgemäße Ansatz eine schnelle Vorprüfung eines Datensatzes, indem die Prüfwerte der Teil¬ abschnitte eines Datensatzes vorgeprüft werden. Dadurch kann beispielsweise ein schneller Überblick über eine große Anzahl an Datensätzen erfolgen. Die eigentliche Überprüfung der Datensätze selbst mittels der Prüfwerte erfolgt dann erst nach der Überprüfung der Prüfwerte.
Gemäß einem weiteren Ausführungsbeispiel können aus den Teil-Prüfwerten der einzelnen Teilmengen weitere Zwischen- Prüfwerte gebildet werden. Aus den Zwischen-Prüfwerten, de¬ ren Anzahl kleiner ist als die Anzahl der Teil-Prüfwerte wird wiederum ein gemeinsamer Prüfwert gebildet. Dies hat den Vorteil, dass bei einer großen Anzahl von Teilmengen eine schnelle Vorprüfung erfolgen kann, indem der gemeinsa¬ me Prüfwert mit einem, aus den Zwischen-Prüfwerten ermit¬ telten Prüfwert verglichen wird. Erst danach werden die Teil-Prüfwerte gegen die zughörigen Zwischen-Prüfwerte ge¬ prüft. Die Ermittlung des gemeinsamen Prüfwertes aus den Zwischen-Prüfwerten ist mit erheblich weniger Aufwand ver¬ bunden als wenn sofort ein gemeinsamer Prüfwert aus den Teil-Prüfwerten berechnet werden muss.
Vorteilhafterweise kann der erfindungsgemäße Ansatz vor¬ teilhaft in Verbidung mit dem DCF-Format (DCF; DCF = DRM Content Format) eingesetzt werden. Das DCF-Format ist in „Open Mobile Alliance; DRM Content Format V2.0; Draft Ver¬ sion 2.0 - 20. April 2004" beschrieben und wird für ver¬ schlüsselte Audio/Video-Daten im MPEG-4-Daten-Format einge¬ setzt.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild einer Vorrichtung zum Prüfen einer Datenmenge gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
Fig. 2 ein Blockschaltbild einer Vorrichtung zum Ermit¬ teln eines Prüfwerts gemäß einem weiteren Ausfüh- rungsbeispiel der vorliegenden Erfindung.
In der nachfolgenden Beschreibung der bevorzugten Ausfüh¬ rungsbeispiele der vorliegenden Erfindung werden für die in den verschiedenen Zeichnungen dargestellten und ähnlich wirkenden Elemente gleiche oder ähnliche Bezugszeichen ver¬ wendet, wobei eine wiederholte Beschreibung dieser Elemente weggelassen wird.
Fig. 1 zeigt eine schematische Darstellung einer Vorrich- tung zum Prüfen einer Datenmenge, die eine Einrichtung 102 zum Bestimmen eines Prüfwertes, eine Vergleichseinrichtung 103 und eine Einrichtung 104 zum Verwenden der Datenmenge aufweist. Die Vorrichtung zum Prüfen einer Datenmenge ist ausgebildet, um die Datenmenge vor einer Verwendung mittels Teil-Prüfwerten und eines Vergleichsprüfwertes zu überprü¬ fen. Die Teil-Prüfwerte und der Vergleichsprüfwert werden zusammen mit der Datenmenge an die Vorrichtung zum Prüfen einer Datenmenge bereitgestellt.
Die Einrichtung 102 zum Bestimmen eines Prüfwertes ist aus¬ gebildet um eine Datenmenge 112 zu empfangen. Die Datenmen¬ ge 112 ist in eine Mehrzahl von Teilmengen (nicht gezeigt in den Figuren) unterteilt. Für jede der Teilmengen der Da¬ tenmenge 112 wurde ein Teil-Prüfwert 114 berechnet. Die Teil-Prüfwerte 114 werden ebenfalls an die Einrichtung 102 zum Bestimmen eines Prüfwertes bereitgestellt. Ferner wurde aus den Teil-Prüfwerten 114 ein Vergleichsprüfwert 118 ge- bildet, der ebenfalls an die Vorrichtung zum Prüfen einer Datenmenge bereitgestellt wird. Die Teil-Prüfwerte 114 so¬ wie der Vergleichsprüfwert 118 wurden beispielsweise in der in Fig. 2 gezeigten Vorrichtung zum Ermitteln eines Prüf- wertes aus der Datenmenge bestimmt und zusammen mit der Da- tenmenge zwischengespeichert.
Die Einrichtung 102 zum Bestimmen eines Prüfwertes ist aus¬ gebildet, um einen gemeinsamen Prüfwert 116 aus den Teil- Prüfwerten 114 zu berechnen und an die Vergleichseinrich- tung 103 bereitzustellen. Die Vergleichseinrichtung 103 ist ferner ausgebildet um einen Vergleichsprüfwert 118 zu emp¬ fangen. Der Vergleichsprüfwert 118 wurde ebenfalls aus den Teil-Prüfwerten 114 gebildet. Zur Bildung des Vergleichs¬ prüfwertes 118 sowie des gemeinsamen Prüfwertes 116 wurde die gleiche Berechnungsfunktion verwendet. Die Ver¬ gleichseinrichtung 103 ist ausgebildet um den gemeinsamen Prüfwert 116 mit dem Vergleichsprüfwert 118 zu vergleichen. Gemäß diesem Ausführungsbeispiel ist die Vergleichseinrich¬ tung 103 ausgebildet, um abhängig von dem Vergleichsergeb- nis zwischen dem gemeinsamen Prüfwert 116 und dem Ver¬ gleichsprüfwert 118 ein Vergleichssignal 120 an die Ein¬ richtung 102 zum Bestimmen eines Prüfwertes bereitzustel¬ len. Das Vergleichssignal 120 zeigt an, ob der Vergleichs- prüfwert 118 mit dem gemeinsamen Prüfwert 116 überein¬ stimmt. Bei einer Übereinstimmung des gemeinsamen Prüfwer¬ tes 116 und des Vergleichsprüfwertes 118 kann davon ausge¬ gangen werden, dass die Teil-Prüfwerte 114, aus denen der gemeinsame Prüfwert 116 gebildet wurde nicht verändert wur¬ den, seitdem der Vergleichsprüfwert 118 gebildet wurde.
Gemäß diesem Ausführungsbeispiel ist die Einrichtung 102 zum Bestimmen eines Prüfwertes ausgebildet, um bei einem Vergleichssignal 120, das eine Übereinstimmung des Ver¬ gleichsprüfwertes 118 und des gemeinsamen Prüfwertes 116 anzeigt, einen ersten weiteren Teil-Prüfwert 122 aus einer ersten Teilmenge der Datenmenge 112 zu berechnen und an die Vergleichseinrichtung 103 bereitzustellen. Die Ver- gleichseinrichtung 103 ist ebenfalls ausgebildet, um die Teil-Prüfwerte 114 zu empfangen. Ansprechend auf einen Emp¬ fang eines weiteren Teil-Prüfwertes 122 ist die Ver¬ gleichseinrichtung 103 ausgebildet, um den weiteren Teil- Prüfwert 122 mit dem entsprechenden Teil-Prüfwert 114 zu vergleichen, der aus derselben Teilmenge gebildet wurde, wie der weitere Teil-Prüfwert 122. Abhängig von dem Ver¬ gleich des Teil-Prüfwertes 114 mit dem weiteren Teil- Prüfwert 122 ist die Vergleichseinrichtung 103 ausgebildet, um ein Prüfergebnis 124 an die Einrichtung zum Verwenden der Datenmenge bereitzustellen. Das Prüfergebnis 124 zeigt an, ob der Teil-Prüfwert 114 mit dem zugehörigen weiteren Teil-Prüfwert 122 übereinstimmt oder nicht übereinstimmt. Der weitere Teil-Prüfwert 122 wurde aus der zugehörigen Teilmenge gemäß dem gleichen Algorithmus gebildet wie der Teil-Prüfwert 114. Damit kann bei einer Übereinstimmung des Teil-Prüfwertes 114 mit dem weiteren Teil-Prüfwert 122 da¬ von ausgegangen werden, dass die Teildatenmenge aus der der weitere Teil-Prüfwert 122 berechnet wurde seit der Berech¬ nung des zugehörigen Teil-Prüfwertes 114 nicht verändert wurde.
Die Einrichtung 104 zum Verwenden der Datenmenge ist ausge¬ bildet, um bei einem Prüfergebnis 124, das eine Überein- Stimmung des Teil-Prüfwertes 114 mit dem weiteren Teil- Prüfwert 122 anzeigt, die Teilmenge der Datenmenge 112 zu verwenden, für die der weitere Teil-Prüfwert 122 gebildet und in der Vergleichseinrichtung 103 verglichen wurde.
Alternativ kann die Einrichtung 102 zum Bestimmen eines Prüfwertes ausgebildet sein, um als Folge des Vergleichs¬ signals 120 parallel die weiteren Teil-Prüfwerte 122 der Teilmenge der Datenmenge 112 zu ermitteln und an die Ver- gleichseinrichtung 103 bereitzustellen. Ferner kann die Einrichtung 102 zum Bestimmen eines Prüfwertes ausgebildet sein, um die weiteren Teil-Prüfwerte 122 bereits zu erstel¬ len bevor der gemeinsame Prüfwert 116 mit den Vergleichs¬ prüfern 118 verglichen wurde.
Die Teil-Prüfwerte 114 können separat zu der Datenmenge 112 an die Einrichtung 102 zum Bestimmen eines Prüfwertes be¬ reitgestellt werden. Alternativ können die Teil-Prüfwerte 114 in der Datenmenge 112 integriert sein. Ebenso kann der Vergleichsprüfwert 118 zusammen mit der Datenmenge 112 an die Vorrichtung zum Prüfen einer Datenmenge bereitgestellt werden.
Werden die Teil-Prüfwerte 114 erst an die Vorrichtung zum Prüfen einer Datenmenge bereitgestellt, nachdem bereits ei¬ ne Teilmenge der Datenmenge 112 an die Einrichtung 102 zum Bestimmen eines Prüfwertes bereitgestellt wurde, so kann die Einrichtung 102 zum Bestimmen eines Prüfwertes ausge¬ bildet sein, um bereits die weiteren Teil-Prüfwerte 122 der bereits empfangenen Teilmengen zu bilden. In diesem Fall wird der gemeinsame Prüfwert 116 erst bestimmt, wenn die Teil-Prüfwerte 114 von der Einrichtung 102 zum Bestimmen eines Prüfwertes empfangen wurden.
Die Einrichtung 104 zum Verwenden der Datenmenge kann aus¬ gebildet sein, um die Datenmenge 112 oder Teilmengen der Datenmenge 112 bereits zu verwenden, bevor ein Prüfergebnis 124 empfangen wurde. In diesem Fall kann die Einrichtung 104 zum Verwenden der Datenmenge ausgebildet sein, um eine Verwendung der Datenmenge zu unterbrechen wenn ein Prüfer¬ gebnis 124 empfangen wird, das eine Nichtübereinstimmung eines Teil-Prüfwertes 114 mit einem weiteren Teil-Prüfwert 122 bzw. eine Nichtübereinstimmung des gemeinsamen Prüfwer¬ tes 116 mit dem Vergleichsprüfwert 118 anzeigt.
Fig. 2 zeigt eine schematische Darstellung einer Vorrich¬ tung zum Ermitteln eines Prüfwertes gemäß einem Ausfüh- rungsbeispiel der vorliegenden Erfindung.
Insbesondere ist die Vorrichtung zum Ermitteln eines Prüf¬ wertes ausgebildet, um Teilprüfwerte 114 und einen Ver¬ gleichsprüfwert 118 bereitzustellen, die von der in Fig. 1 gezeigten Vorrichtung zum Prüfen einer Datenmenge verwendet werden können, um eine Integrität der Datenmenge zu über¬ prüfen.
Die Vorrichtung zum Ermitteln eines Prüfwertes weist eine Einrichtung 206 zum Bestimmen eines Teil-Prüfwertes, eine Einrichtung 207 zum Bestimmen des Vergleichs-Prüfwertes und eine Einrichtung 208 zum Einbinden auf. Die Vorrichtung zum Ermitteln eines Prüfwertes ist ausgebildet um eine Daten¬ menge 112 zu empfangen. Die Datenmenge 112 weist eine Mehr- zahl von Teilmengen auf. Die Einrichtung 206 zum Bestimmen eines Teil-Prüfwertes ist ausgebildet, um aus den Teilmen¬ gen der empfangenen Datenmenge 112 Teilprüfwerte 114 zu bilden und an die Einrichtung 207 zum Bestimmen des Ver¬ gleichs-Prüfwertes bereitzustellen. Der Einrichtung 207 zum Bestimmen des Vergleichs-Prüfwertes werden somit für jede Teilmenge der Datenmenge 112 ein Te-il-Prüfwert 114 bereit¬ gestellt. Die Teil-Prüfwerte 114 werden von der Einrichtung 206 zum Bestimmen eines Teil-Prüfwertes aus den Teilmengen gemäß einem vorbestimmten Bestimmungsalgorithmus bestimmt.
Ist die Datenmenge 112 nicht in Teilmengen unterteilt, so kann die Einrichtung 206 zum Bestimmen eines Teil- Prüfwertes eine Einrichtung zum Unterteilen der Datenmenge (nicht gezeigt in den Figuren) in die Mehrzahl von Teilmen¬ gen aufweisen.
Die Einrichtung 207 zum Bestimmen des Vergleichs-Prüfwertes ist ausgebildet, um den Vergleichsprüfwert 118 gemäß einer vorbestimmten Bestimmungsvorschrift aus den Teil-Prüfwerten 114 zu ermitteln und bereitzustellen.
Sowohl die Teil-Prüfwerte 114 als auch der Vergleichs- Prüfwert 118 werden gespeichert bzw. zur Weiterverarbeitung bereitgestellt. Gemäß diesem Ausführungsbeispiel werden die Teil-Prüfwerte 114 an die Einrichtung 208 zum Einbinden be¬ reitgestellt. Die Einrichtung 208 zum Einbinden ist ausge¬ bildet, um die Datenmenge 112 zu empfangen, die Teil- Prüfwerte 114 in die Datenmenge 112 einzubinden und als Da¬ tenmenge 212 mit Teil-Prüfwerten bereitzustellen.
Gemäß einem Ausführungsbeispiel werden die Teil-Prüfwerte 114 von der Einrichtung 208 zum Einbinden so in die Daten- menge 112 eingeflochten, dass sie nach Möglichkeit gleich verteilt in der Datenmenge 212 angeordnet sind. Alternativ können die Teil-Prüfwerte 114 in der Datenmenge 212 gemein¬ sam an einer vorbestimmten Stelle angeordnet sein.
Sind die Teil-Prüfwerte 114 über die Datenmenge 212 ver¬ streut, so lässt sich durch eine Überprüfung der Teil- Prüfwerte mit hoher Wahrscheinlichkeit bereits feststellen, ob bei der Speicherung oder Weiterübertragung der Datenmen¬ ge 212 Fehler aufgetreten sind. Eine Speicherung der Teil- Prüfwerte 114 an einer festgelegten Stelle der Datenmenge 212 hat den Vorteil, dass bei einer nachfolgenden Prüfung der Datenmeng'e 212 zuerst die Teil-Prüfwerte ausgelesen werden können und gegen den Vergleichs-Prüfwert 118 vergli¬ chen werden können.
Alternativ können die Teil-Prüfwerte 114 separat zu der Da¬ tenmenge 112 gespeichert werden. Ebenso kann der Ver- gleichs-Prüfwert 118 in die Datenmenge 112 integriert wer¬ den oder ebenfalls separat gespeichert werden.
Gemäß einem Ausführungsbeispiel werden die Prüfwerte mit- tels kryptografischer Hash-Funktionen ermittelt. Gemäß die¬ sem Ausführungsbeispiel erfolgt eine abschnittsweise Prü¬ fung der Integrität eines großen Files, beispielsweise ei¬ nes Songs im MP3-Format mittels eines Hash-Algorithmus, ei¬ nes Hash-Wertes bzw. einer Prüfung „on the fIy" . Die Daten werden dabei in Abschnitte, beispielsweise Chunks oder Ac¬ cess Units bei MPEG-4-codierten Audio-Daten aufgeteilt, die den Teilmengen entsprechen.
Das Hashen in der Vorrichtung zum Ermitteln eines Prüfwerts erfolgt durch ein separates Hashen der einzelnen Teil- Abschnitte. Anschließend werden die aus den Abschnitten er¬ mittelten Hash-Werte in einer Tabelle gespeichert, die z. B. mit den Daten zusammen gespeichert wird. Ein neuer Hash wird über diese Tabelle der Hash-Werte gebildet und als ei- gentlicher Hash, dem so genannten Master-Hash verwendet. Die Hash-Werte entsprechen dabei den Teil-Prüfwerten und der Master-Hash dem Vergleichs-Prüfwert.
Das Aufteilen in Teilstücke erfolgt dabei in Teilstücke ge- eigneter bzw. gewünschter Größe. Dabei wird ein Kompromiss zwischen Granularität und zusätzlich nötigem Speicherauf¬ wand für die zusätzliche Hash-Werte gebildet. Nach dem Has¬ hen der Teilstücke erfolgt ein Abspeichern der Hash-Werte der Teilstücke in einer oder mehreren Tabellen. Die Bildung eines Hash-Wertes über die Tabelle bzw. die Tabellen mit den Teil-Hash-Werten erfolgt nachfolgend. Der Master-Hash kann dann extern gespeichert werden und ist die Referenz gegen die später geprüft wird.
Zur Prüfung des Hash in der Vorrichtung zum Prüfen einer Datenmenge erfolgt zunächst eine Vorprüfung der Tabelle der Hashes mit dem Master-Hash, d. h. es wird ein Hash über die Tabelle bzw. die Tabellen mit den Teil-Hash-Werten berech- net und mit dem Master-Hash verglichen. Anschließend er¬ folgt unter Verwendung der Hash-Werte aus der Tabelle eine Prüfung der einzelnen Teilabschnitte. Dazu werden die Teil- Hash-Werte aus der Tabelle verwendet, um die Teilstücke der Datei einzeln zu prüfen. Die Prüfung der Teilabschnitte er¬ folgt in diesem Ausführungsbeispiel somit nachdem eine Gleichheit zwischen dem Master-Hash und dem Hash besteht, der über die Teil-Hash-Werte berechnet wurde. Auf diese Weise können bereits geprüfte Abschnitte schon benutzt wer- den, während andere noch nicht geprüft sind.
Gemäß einem weiteren Ausführungsbeispiel werden so viele Teilstücke gebildet, dass eine Tabelle mit Teil-Hash-Werten zu groß wird. In diesem Fall können mehrere Hash-Tabellen hierarchisch verwendet werden. Dies bedeutet dass die erste Tabelle Hash-Werte enthält, die wiederum als Master-Hashes für untergeordnete Tabellen verwendet werden. Als Spezial- fall hiervon kann eine sequenzielle Liste angelegt werden. Dies bedeutet dass der letzte Hash-Wert in einer Tabelle der Master-Hash für die nächste Tabelle, usw. ist.
Gemäß einem weiteren Ausführungsbeispiel wird die Hash- Tabelle und der Master-Hash für gemäß dem DCF (DCF; DCF = DRM Content Format) verschlüsselte Objekte beschrieben, die meistens verschlüsselte Audio/Video-Daten im MPEG-4-Daten- Format enthalten. Das DCF-Objekt wird in eine gewünschte Anzahl von Teilstücken, den so genannten Chunks zerlegt, wobei jeweils ein oder mehrere Access Units zusammengefasst werden. Eine Chunk-Tabelle mit diesen Informationen wird in das DCF-Objekt eingefügt. Über die Chunks wird jeweils ein Hash mit dem Hash-Algorithmus SHA--1 gerechnet. Aus allen errechneten Hashes wird eine Tabelle gebildet und diese Ta¬ belle als MPEG-4 Atom in das DCF-Objekt eingefügt. Über die Tabelle der Hash-Werte wird der Master-Hash gebildet der extern vom DCF-Objekt als Referenzwert gespeichert wird.
Eine Prüfung der Integrität erfolgt indem das MPEG-4 Atom mit der Tabelle der Hash-Werte aus dem DCF-Objekt ausgele- sen wird. Anschließend werden Hash-Werte über die Tabelle berechnet und mit dem Master-Hash verglichen. Bei Gleich¬ heit kann mit der Verwendung des DCF-Objekts fortgefahren werden, andernfalls wird das DCF-Objekt als verändert abge- lehnt. Wird mit der Verwendung des DCF-Objekts weitergefah¬ ren, so wird als nächstes der gewünschte Chunk aus dem DCF- Objekt gesucht und es erfolgt eine Bearbeitung dieses Chunks, beispielsweise seine Wiedergabe bei einer gleich¬ zeitigen Prüfung des Hashes in dieses Chunks. Die gleich- zeitige Prüfung des Hashes des zugehörigen Chunks wird als Prüfung „on the fly" bezeichnet. Stimmt der Hash-Wert des Chunks mit dem entsprechenden Wert aus der Hash-Tabelle ü- berein, kann ein weiterer Chunk verarbeitet werden. Andern¬ falls wird die weitere Verarbeitung wegen Modifikation des DCF-Objekts abgelehnt.
Auch wenn in der vorangegangenen Beschreibung eine Berech¬ nung der Prüfwerte mittels Hash-Algorithmen beschrieben wurde, so ist klar, dass der erfindungsgemäße Ansatz nicht auf Hash-Funktionen beschränkt ist, sondern dass Prüfwerte oder Prüfsummen beliebiger Art gebildet werden können. Bei¬ spielsweise kann eine Parity-Berechnung durchgeführt wer¬ den. Ferner kann der erfindungsgemäße Ansatz für alle An¬ wendungen eingesetzt werden, bei denen eine Überprüfung der Integrität von Daten erforderlich ist. Bei solchen Anwen¬ dungen kann es sich beispielsweise um Computer-Systeme oder um digitale Nachrichtenübertragungssysteme handeln. Bei Computer-Systemen können beispielsweise die Prüfwerte bei einer Abspeicherung der Daten erzeugt und mitgespeichert werden. Bei einem nachfolgendem Auslesen und Verwenden der Daten werden die Prüfwerte mit ausgelesen und zur Überprü¬ fung der Daten verwendet. Bei Übertragungssystemen können die Prüfwerte direkt vor einer Übertragung der Daten be¬ rechnet und anschließend zusammen mit den Daten übertragen werden und im Empfänger ausgewertet werden. Dadurch kann sichergestellt werden, dass die Daten korrekt übertragen wurden. Zur abschnittsweisen Integritätsprüfung von digitalen In¬ formationen werden die Daten in Teilmengen unterteilt. Die Teilmengen können dabei unabhängig voneinander sein oder sich überschneiden. Insbesondere können die Teilmengen un- abhängig voneinander decodierbar bzw. syntaktisch analy¬ sierbar sein. Die Vorrichtung zum Prüfen einer Datenmenge kann Teil eines Encoders und die Vorrichtung zum Ermitteln eines Prüfwerts Teil eines Decoders sein.
Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Prüfen einer Datenmenge sowie das erfindungs¬ gemäße Verfahren zum Ermitteln eines Prüfwerts in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersigna¬ len erfolgen, die so mit einem programmierbaren Computer¬ system zusammenwirken können, dass das entsprechende Ver¬ fahren ausgeführt wird. Allgemein besteht die Erfindung so¬ mit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In an¬ deren Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer- Programm auf einem Computer abläuft.

Claims

Patentansprüche
1. Vorrichtung zum Prüfen einer Datenmenge, wobei die Da¬ tenmenge eine Mehrzahl von Teilmengen und pro Teilmen¬ ge einen Teil-Prüfwert aufweist, mit folgenden Merkma¬ len:
einer Einrichtung (102) zum Bestimmen eines Prüfwer¬ tes, die ausgebildet ist, um einen gemeinsamen Prüf¬ wert (116) aus den bereitgestellten Teil-Prüfwerten (114) der Teilmengen der Datenmenge (112) zu bestim¬ men; und
einer Vergleichseinrichtung (103) , die ausgebildet ist, um den gemeinsamen Prüfwert (116) mit einem an die Vergleichseinrichtung bereitgestellten Vergleichs- Prüfwert (118) zu vergleichen.
2. Vorrichtung zum Prüfen gemäß Anspruch 1, wobei die Einrichtung (102) zum Bestimmen ferner ausgebildet ist, um einen weiteren Teil-Prüfwert (122) für eine der Teilmengen der Datenmenge (112) zu bestimmen; und
wobei die Vergleichseinrichtung (103) ferner ausgebil¬ det ist, um den weiteren Teil-Prüfwert mit dem bereit¬ gestellten Teil-Prüfwert (114) der zugehörigen Teil¬ menge zu vergleichen.
3. Vorrichtung zum Prüfen gemäß Anspruch 2, wobei die Vergleichseinrichtung (103) ausgebildet ist, um abhän¬ gig von dem Vergleich des gemeinsamen Prüfwertes (116) mit dem Vergleichs-Prüfwert (118) ein Vergleichssignal (120) bereitzustellen, und wobei die Einrichtung (102) zum Bestimmen ferner aus¬ gebildet ist, um den weiteren Teil-Prüfwert (122) ab¬ hängig von dem Vergleichssignal zu bestimmen.
4. Vorrichtung zum Prüfen gemäß einem der Ansprüche 2 o- der 3, ferner mit einer Einrichtung (104) zum Verwen¬ den der Daten der Teilmengen, die ausgebildet ist, um die Daten einer der Teilmengen abhängig von einem Prüfergebnis (124) des bereitgestellten Teil- Prüfwertes (114) mit dem weiteren Teil-Prüfwert (122) zu verwenden.
5. Vorrichtung zum Prüfen gemäß Anspruch 4, wobei die Einrichtung (104) zum Verwenden ausgebildet ist, um die Teilmenge als Folge des Prüfergebnisses (124) zu verwenden, wenn das Prüfergebnis (124) eine Überein¬ stimmung anzeigt.
6. Vorrichtung zum Prüfen gemäß Anspruch 4, wobei die Einrichtung (104) zum Verwenden ausgebildet ist, um eine Verwendung der Teilmenge als Folge des Prüfergeb¬ nisses (124) zu unterbrechen, wenn das Prüfergebnis eine Nichtübereinstimmung anzeigt.
7. Vorrichtung zum Prüfen gemäß einem der Ansprüche 1 bis 6, wobei die Datenmenge (112) ferner eine Mehrzahl von Zwischen-Prüfwerten aufweist, wobei jede der Zwischen- Prüfwerte aus einer Mehrzahl der Teil-Prüfwerte (114) gebildet ist, und
wobei die Einrichtung zum Bestimmen ferner ausgebildet ist, um den gemeinsamen Prüfwert aus der Mehrzahl der bereitgestellten Zwischen-Prüfwerte zu bestimmen und ferner ausgebildet ist, um abhängig von dem Vergleich des gemeinsamen Prüfwertes mit dem bereitgestellten Prüfwert eine Mehrzahl von weiteren Zwischenprüfwerten aus der Mehrzahl von Teil-Prüfwerten zu bestimmen.
8. Vorrichtung zum Prüfen gemäß Anspruch 7, wobei die Vergleichseinrichtung ferner ausgebildet ist, um die weiteren Zwischen-Prüfwerte mit den bereitgestellten Zwischen-Prüfwerten zu vergleichen.
9. Vorrichtung zum Prüfen gemäß einem der Ansprüche 1 bis 8, wobei die Prüfwerte Hash-Werte sind, und wobei die Einrichtung (102) zum Bestimmen ausgebildet ist, um die Hash-Werte unter Verwendung eines vorbestimmten Hash-Algorithmus zu bestimmen.
10. Vorrichtung zum Ermitteln eines Vergleichs-Prüfwertes aus einer Datenmenge, die eine Mehrzahl von Teilmengen aufweist, mit folgenden Merkmalen:
einer Einrichtung (206) zum Bestimmen eines Teil- Prüfwertes (114) pro Teilmenge; und
einer Einrichtung (207) zum Bestimmen eines Ver- gleichs-Prüfwertes (118) aus den Teil-Prüfwerten (114) der Teilmengen.
11. Vorrichtung zum Ermitteln gemäß Anspruch 10, ferner mit einer Einrichtung zum Unterteilen der Datenmenge (112) in die Mehrzahl von Teilmengen.
12. Vorrichtung zum Ermitteln gemäß einem der Ansprüche 10 oder 11, ferner mit einer Einrichtung (208) zum Ein¬ binden der Mehrzahl von Teil-Prüfwerten (114) in die Datenmenge (112) und zum Bereitstellen einer Datenmen¬ ge mit Prüfwerten (212) . ..
13. Vorrichtung zum Ermitteln gemäß Anspruch 12, wobei die Einrichtung (208) zum Einbinden ausgebildet ist, um die Mehrzahl von Teil-Prüfwerten (114) als Tabelle in die Datenmenge (112) einzubinden, dass die Teil- Prüfwerte (114) gemeinsam aus der Datenmenge (112) ausgelesen werden können.
14. Vorrichtung zum Ermitteln gemäß Anspruch 12, wobei die Einrichtung (208) zum Einbinden ausgebildet ist, um die Mehrzahl von Teil-Prüfwerten (114) so in die Da- tenmenge (112) einzubinden, dass die Teil-Prüfwerte gleich verteilt in der Datenmenge (112) angeordnet sind.
15. Verfahren zum Prüfen einer Datenmenge, wobei die Da- tenmenge eine Mehrzahl von Teilmengen und pro Teilmen¬ ge einen Teil-Prüfwert aufweist, mit folgenden Schrit¬ ten:
Bestimmen eines gemeinsamen Prüfwertes (116) aus den bereitgestellten Teil-Prüfwerten (114) der Teilmengen; und
Vergleichen des gemeinsamen Prüfwertes (116) mit einem bereitgestellten Vergleichsprüfwert (118) .
16. Verfahren zum Ermitteln eines Vergleichs-Prüfwertes aus einer Datenmenge, die eine Mehrzahl von Teilmengen aufweist, mit folgenden Schritten:
Bestimmen eines Teil-Prüfwertes (114) pro Teilmenge; und
Bestimmen des Vergleichs-Prüfwertes (118) aus den be¬ reitgestellten Teil-Prüfwerten (114) der Teilmengen.
17. Computer-Programm mit einem Prαgrammcode zur Durchfüh¬ rung des Verfahrens gemäß einem der Ansprüche 15 oder 16, wenn das Computer-Programm auf einem Computer ab¬ läuft.
PCT/EP2005/009783 2004-10-15 2005-09-12 Vorrichtungen und verfahren zum prüfen und ermitteln von prüfwerten WO2006042593A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007536012A JP2008517359A (ja) 2004-10-15 2005-09-12 制御値をチェックおよび決定するための装置および方法
CA2583755A CA2583755C (en) 2004-10-15 2005-09-12 Devices and methods for checking and determining control values
AU2005297525A AU2005297525C1 (en) 2004-10-15 2005-09-12 Device and method for testing and establishing test values
EP05787389A EP1817711A1 (de) 2004-10-15 2005-09-12 Vorrichtungen und verfahren zum prüfen und ermitteln von prüfwerten
CN2005800399909A CN101073086B (zh) 2004-10-15 2005-09-12 用于检查和确定控制值的设备及方法
US11/735,288 US20070282924A1 (en) 2004-10-15 2007-04-13 Devices and methods for checking and determining control values

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004051771.1 2004-10-15
DE102004051771A DE102004051771A1 (de) 2004-10-15 2004-10-15 Vorrichtungen und Verfahren zum Prüfen und Ermitteln von Prüfwerten

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/735,288 Continuation US20070282924A1 (en) 2004-10-15 2007-04-13 Devices and methods for checking and determining control values

Publications (1)

Publication Number Publication Date
WO2006042593A1 true WO2006042593A1 (de) 2006-04-27

Family

ID=35788918

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/009783 WO2006042593A1 (de) 2004-10-15 2005-09-12 Vorrichtungen und verfahren zum prüfen und ermitteln von prüfwerten

Country Status (8)

Country Link
US (1) US20070282924A1 (de)
EP (1) EP1817711A1 (de)
JP (1) JP2008517359A (de)
CN (1) CN101073086B (de)
AU (1) AU2005297525C1 (de)
CA (1) CA2583755C (de)
DE (1) DE102004051771A1 (de)
WO (1) WO2006042593A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006057297A1 (de) * 2006-12-05 2008-06-12 Giesecke & Devrient Gmbh Verfahren zur Überwachung des Ablaufs eines Programms
DE102008010787B4 (de) * 2008-02-22 2016-06-09 Fachhochschule Schmalkalden Verfahren zur Sicherung der Integrität von Daten
US9766983B2 (en) 2008-03-05 2017-09-19 Ca, Inc. Proximity and in-memory map based signature searching for duplicate data
US8549322B2 (en) 2010-03-25 2013-10-01 International Business Machines Corporation Secure data scanning method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0845733A2 (de) * 1996-11-27 1998-06-03 Sun Microsystems, Inc. Durchführen digitaler Unterschriften für Datenströme und Archive
US5907619A (en) * 1996-12-20 1999-05-25 Intel Corporation Secure compressed imaging
US5970143A (en) * 1995-11-22 1999-10-19 Walker Asset Management Lp Remote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocols
US20020194484A1 (en) * 2001-03-21 2002-12-19 Bolosky William J. On-disk file format for serverless distributed file system with signed manifest of file modifications

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57143799A (en) * 1981-02-27 1982-09-06 Hitachi Ltd Storage device
JPH0670775B2 (ja) * 1986-11-12 1994-09-07 株式会社日立製作所 エラ−検出・訂正システム
JPH06324943A (ja) * 1993-05-17 1994-11-25 Hitachi Ltd 主記憶制御方法
JPH10124366A (ja) * 1996-10-18 1998-05-15 Nec Corp ファイルデータ格納機構の並列管理方式
DE19811593C1 (de) * 1997-12-19 1999-05-06 V & S Datentechnik Und Softwar Matrixgesteuerte Hashfunktion
WO2000036755A1 (en) * 1998-12-15 2000-06-22 Tiernan Communications, Inc. Method and apparatus for backward-compatible error correction for real time communication link
DE19906449C1 (de) * 1999-02-16 2000-08-10 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Abspielen eines verschlüsselten Nutzdatenstroms

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970143A (en) * 1995-11-22 1999-10-19 Walker Asset Management Lp Remote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocols
EP0845733A2 (de) * 1996-11-27 1998-06-03 Sun Microsystems, Inc. Durchführen digitaler Unterschriften für Datenströme und Archive
US5907619A (en) * 1996-12-20 1999-05-25 Intel Corporation Secure compressed imaging
US20020194484A1 (en) * 2001-03-21 2002-12-19 Bolosky William J. On-disk file format for serverless distributed file system with signed manifest of file modifications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1817711A1 *

Also Published As

Publication number Publication date
AU2005297525C1 (en) 2011-06-02
AU2005297525B2 (en) 2009-12-03
JP2008517359A (ja) 2008-05-22
CN101073086B (zh) 2011-11-16
EP1817711A1 (de) 2007-08-15
CA2583755C (en) 2013-01-15
AU2005297525A1 (en) 2006-04-27
US20070282924A1 (en) 2007-12-06
CA2583755A1 (en) 2006-04-27
DE102004051771A1 (de) 2006-04-20
CN101073086A (zh) 2007-11-14

Similar Documents

Publication Publication Date Title
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE69901424T2 (de) Rechnerdatei-integritätsprüfung
DE60314062T2 (de) Schutz für Header-Objekte in Datenströmen
EP2515499B1 (de) Verfahren zum Erzeugen eines kryptographischen Schlüssels für ein geschütztes digitales Datenobjekt auf Basis von aktuellen Komponenten eines Rechners
DE10335943A1 (de) Vorrichtung zum kopiergeschützten Verteilen elektronischer Dokumente
DE102011056563A1 (de) Datenkompressionsvorrichtungen, Betriebsverfahren dafür und Datenverarbeitungsgeräte einschließlich derselben
DE102005020881A1 (de) System und Verfahren zur Datenkomprimierung und Dekomprimierung
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE102013201174A1 (de) Online-Überprüfung einer Standby-Datenbank in physischen Replikationsumgebungen mit Protokollversand
DE102014208212A1 (de) Ableiten eines gerätespezifischen Wertes
DE102011010613A1 (de) Verfahren zum Speichern und Wiederherstellen von Daten, Verwendung der Verfahren in einer Storage Cloud, Speicherserver und Computerprogrammprodukt
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE69915041T2 (de) Informationsverarbeitungsvorrichtung und -methode, und programmspeichermedium
EP3698517A1 (de) Bidirektionale verkettete blockchain-struktur
DE102012213788A1 (de) Ende-zu-Ende-Datenschutz bei gleichzeitiger Unterstützung mehrerer CRC-Algorithmen
WO2006042593A1 (de) Vorrichtungen und verfahren zum prüfen und ermitteln von prüfwerten
DE112012002796T5 (de) Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien
DE112013000368T5 (de) Bearbeiten von Quellcode-Patches
EP3602387B1 (de) Identifikatoren zur integritätssicherung von digital codierte kopien
DE112021004008T5 (de) Validieren von verfolgten abschnitten von empfangenen sensordaten mithilfe von kryptographischer computerverarbeitung
DE10018993A1 (de) Datenbank-Verwaltungsvorrichtung und Datenbank-Datensatzabfragevorrichtung
EP3563261A1 (de) Bitsequenzbasiertes datenklassifikationssystem
DE112021006506T5 (de) Verwaltung von Sperren-Koordinator-Rebalance in verteilten Dateisystemen
EP3719651A1 (de) Verfahren zur charakterisierung des betriebszustands eines computersystems
DE102007011407A1 (de) System zur Verarbeitung nicht strukturierter Daten

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2005787389

Country of ref document: EP

Ref document number: 11735288

Country of ref document: US

Ref document number: 2583755

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2007536012

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005297525

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 200580039990.9

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2005297525

Country of ref document: AU

Date of ref document: 20050912

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2005787389

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11735288

Country of ref document: US