WO2006021174A1 - Software backup method - Google Patents

Software backup method Download PDF

Info

Publication number
WO2006021174A1
WO2006021174A1 PCT/DE2005/001294 DE2005001294W WO2006021174A1 WO 2006021174 A1 WO2006021174 A1 WO 2006021174A1 DE 2005001294 W DE2005001294 W DE 2005001294W WO 2006021174 A1 WO2006021174 A1 WO 2006021174A1
Authority
WO
WIPO (PCT)
Prior art keywords
files
data area
cryptographic
operating system
working
Prior art date
Application number
PCT/DE2005/001294
Other languages
German (de)
French (fr)
Inventor
Joachim Seibert
Original Assignee
Wincor Nixdorf International Gmbh
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
Priority claimed from DE200410040695 external-priority patent/DE102004040695A1/en
Priority claimed from DE200410043551 external-priority patent/DE102004043551A1/en
Application filed by Wincor Nixdorf International Gmbh filed Critical Wincor Nixdorf International Gmbh
Priority to EP05770770A priority Critical patent/EP1779282A1/en
Publication of WO2006021174A1 publication Critical patent/WO2006021174A1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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

Definitions

  • the invention relates to securing the software of a computer system against manipulation.
  • Patent Specification US Pat. No. 5,224,160 describes a method in which, during the charging process of the operating system, the respectively active charging stage checks the respective subsequent charging stage for integrity by means of a cryptographic checksum and the charging process is continued only if the integrity is ensured. However, this does not check changes during ongoing operation. In addition, an intervention in the loading of the operating system is necessary and therefore in proprietary systems only feasible by the manufacturer.
  • US Pat. No. 6,209,099 B1 proposes, similar to US Pat. No. 5,224,160, a cryptographic processor by which all executable programs are checked for integrity.
  • a monitoring computer regularly send checksums from the network to be monitored via a network Request files that are generated by a server process, sent to the monitoring client via the network and compared there with setpoints. This allows you to monitor any files.
  • the separation of monitoring in client and server reliably prevents falsification of the stored checksums; however, a malicious program may substitute the server process on the host being monitored and still provide the previous checksums, even though the files have been modified.
  • a monitoring computer can be assigned to several computers to be monitored; however, it always requires an additional computer and a network connection. Furthermore, there is no possibility for repair from this solution.
  • the present invention solves the problem of securing on one and the same computer system the software running on it and other constant databases against manipulation by early detection of manipulations and their automatic repair.
  • a backup copy of all files to be protected is stored by the files to be protected in an autonomous data area and regularly compared with the working files. If a deviation is detected, the working files are replaced by the backup files.
  • FIG. 1 the arrangement is shown symbolically.
  • a computer system (not shown) has a primary data area 1, which preferably is a partition of one
  • Hard disk is. Furthermore, there is a secondary data area 2, which is another partition of the same size, on the same hard disk.
  • the primary data area 1 contains three working files 1A, 1B, 1C, of which the former and the latter have a back-up copy 2A 1 2C.
  • a monitor 4 compares the working files 1A and 1C with the backup copies 2A and 2C. If a difference is detected, the corrective action 5 is initiated, for example, replacing the work file 1A with the backup file 2A.
  • an update process 6 is used.
  • the primary data area is in particular a partition for a Microsoft Windows operating system, here formatted as an NT file system.
  • the secondary data area 2 is also a partition with NT file system, in which the backup files are stored in relation to the naming conventions in the same way as in the primary data area 1.
  • NT file system in which the backup files are stored in relation to the naming conventions in the same way as in the primary data area 1.
  • Windows NT based
  • an additional administrative user is created who has sole access to the backup files.
  • the monitoring is performed by a system service that is run under the identity of this user and thus has exclusive access to the backup files.
  • the corrective action runs as started by the monitoring service with its privileges and can therefore access the backup copies.
  • the comparator may use a file system that is not supported by the operating system used, for example, a Linux extended file system, while the primary data area is formatted with an NT file system.
  • the backup copies should be cryptographically secured against change. This can be done by encryption. However, the comparator then can not easily tell if the decrypted backup file is correct. When using block ciphers, each input leads to a decrypted output that contains no easily recognizable redundancy, especially for binary files. This could be the change of a Backup copies by the automatic correction destroy the previously correct work file.
  • a cryptographically secured checksum per file is formed, also referred to as 'message digest'.
  • This is additionally maintained in a table (database) in which these checksums are stored for each file. Then only this table needs to be protected against change.
  • a conventional solution is to encrypt the table with symmetric cryptography and provide redundancy so that an attacker without the corresponding key can not replace the table with another one. As redundancy, a title line with a predefined one is sufficient
  • asymmetric or public-key cryptography is used, in which the public key does not have to be kept secret.
  • the public key does not have to be kept secret.
  • Changes the private key is needed to re-create the signature.
  • Particularly useful here is the use of OpenPGP, the world's most widely used cryptographic standard for e-mails, with which not only files can be signed via a command interface, but also the keys can be managed.
  • the public key is expediently stored in several places and checked for equality before use. So it can be stored both in the program code, in the table of checksums and in a file; a damage program would have to modify all three places simultaneously. Unlike private or secret keys, this measure increases rather than lowers security.
  • EPP Encrypted Pin Päd
  • the comparator then only needs to compare the checksums of the working files with those stored in the table. If the work file containing the backup copy is to be replaced as a correction action, it must first be checked whether the checksum from the backup file matches that in the backed-up table. Both require only the integrity-secured public key.
  • the programs are therefore preferably stored on write-protected data carriers such as CD-ROMs or hardware-protected FLASH memories, so that they can not be changed by a damage program.
  • the updater required for this must be present on the computer only for the duration of the update. For example, if the update is done on a CD-ROM, the updater is already protected against change. Since the time window for this is small compared to the other operating time, the necessary private key can be stored either in the program code of the updater or in a separate file. In the case of an update through network connections, the updater, possibly also the file with the private key, is only temporarily loaded onto the target computer and overwritten after use. Outside these times, a malicious program has no way to manipulate the checksum table.
  • the new table can also be created in a management computer, which in any case has the checksums of the software integrated on the computer. Then the update program only has to copy the changed work files to the secondary data area; the private key never appears on the computer to be monitored.
  • a development of the invention uses a cryptographic processor, as it is installed, for example, as PIN-PAD in the keyboard of a cash dispenser.
  • this provides a secure key memory with the usual cryptographic functions.
  • the comparator can consist of a relatively small launcher and the remainder of the program, the launcher first checking its own integrity by sending its own code to the cryptographic processor.
  • the request contains a random number ('nonce'), which is returned in the response and can be checked via a 'message authenticatio code' (MAC).
  • the launcher then loads the remainder program, checks its integrity, and passes control if the test is positive.
  • a specialization of the training uses the condition that transactions are handled via the PIN-PAD.
  • a valid code key must be transmitted to the PIN-PAD as part of a transaction.
  • the comparator forms the checksum over the checksums, signs them and sends them to the PIN-PAD.

Abstract

The invention relates to a software backup method for a computer system which is provided with a defined operating system against the manipulation of workfiles that are stored in a utilized primary data area which is conventionally managed by the operating system. For this purpose, backup copies of the workfiles to be protected from manipulation are stored in a secondary data area and are protected by preferably asymmetric cryptography. A comparator compares the backup copies or the proof total thereof with the respective work files and initiates a corrective action if any differences are found.

Description

Software-SicherungsverfahrenSoftware assurance procedures
Die Erfindung betrifft die Sicherung der Software eines Computersystems gegen Manipulationen.The invention relates to securing the software of a computer system against manipulation.
Beispielsweise in Bankautomaten werden handelsübliche Computersysteme sowohl zur Steuerung des Ablaufs, der Kommunikation mit einem Bankenhost als auch der Benutzerschnittstelle eingesetzt. Die Verwendung handelsüblicher proprietärer Betriebssysteme wie Microsoft Windows hat den Vorteil einer großen Softwarebasis, aber derzeit den Nachteil, nur unzureichend gegen Manipulationen geschützt zu sein, wie sie durch die nicht autorisierte Veränderung, insbesondere von Dateien beispielsweise durch Viren, Würmer oder andere schädigende Software entstehen kann.For example, in ATMs, commercial computer systems are used to control the process, communication with a bank host, as well as the user interface. The use of commercial proprietary operating systems such as Microsoft Windows has the advantage of a large software base, but currently has the disadvantage of being insufficiently protected against manipulation, as may result from the unauthorized modification, in particular of files such as viruses, worms or other harmful software ,
In der Patentschrift US 5,224,160 wird ein Verfahren beschrieben, bei dem während des Ladevorgangs des Betriebssystems die jeweils aktive Ladestufe die jeweils folgende Ladestufe durch eine kryptographische Prüfsumme auf Integrität überprüft und den Ladevorgang nur dann fortgesetzt wird, wenn die Integrität gesichert ist. Damit werden jedoch Veränderungen während des laufenden Betriebs nicht überprüft. Zudem ist ein Eingriff in den Ladevorgang des Betriebssystems notwendig und daher bei proprietären Systemen nur vom Hersteller durchführbar.Patent Specification US Pat. No. 5,224,160 describes a method in which, during the charging process of the operating system, the respectively active charging stage checks the respective subsequent charging stage for integrity by means of a cryptographic checksum and the charging process is continued only if the integrity is ensured. However, this does not check changes during ongoing operation. In addition, an intervention in the loading of the operating system is necessary and therefore in proprietary systems only feasible by the manufacturer.
In der Patentschrift US 5,361 ,359 wird vorgeschlagen, die ausführbaren Programme und andere zu schützende Daten auf einen geschützten Datenträger abzulegen und nur von dort Programme aufrufbar zu machen. Auch diese Lösung benötigt einen Eingriff in das jeweilige Betriebssystem.In the patent US 5,361,359 it is proposed to store the executable programs and other data to be protected on a protected data carrier and to make programs only from there. This solution also requires an intervention in the respective operating system.
In der Patentschrift US 6,209,099 B1 wird ähnlich der US 5,224,160 ein kryptographischer Prozessor vorgeschlagen, durch den alle ausführbaren Programme auf Integrität geprüft werden.US Pat. No. 6,209,099 B1 proposes, similar to US Pat. No. 5,224,160, a cryptographic processor by which all executable programs are checked for integrity.
In der Patentschrift US 5,475,625 wird vorgeschlagen, dass ein Überwachungs¬ rechner über ein Netzwerk regelmäßig Prüfsummen von den zu überwachenden Dateien anfordert, die von einem Serverprozess erzeugt, über das Netzwerk an den Überwachungsclient gesendet und dort mit Sollwerten verglichen werden. Damit lassen sich beliebige Dateien überwachen. Die Trennung der Überwachung in Client und Server verhindert zuverlässig eine Verfälschung der gespeicherten Prüfsummen; jedoch kann ein Schadensprogramm den Serverprozess auf dem zu überwachenden Rechner substituieren und weiterhin die bisherigen Prüfsummen liefern, obwohl die Dateien verändert wurden. Zwar kann ein Überwachungs¬ rechner mehreren zu überwachenden Rechnern zugeordnet sein; es wird jedoch immer ein zusätzlicher Rechner und eine Netzwerkverbindung benötigt. Weiterhin ergibt sich aus dieser Lösung keine Möglichkeit zur Reparatur.In the patent US Pat. No. 5,475,625, it is proposed that a monitoring computer regularly send checksums from the network to be monitored via a network Request files that are generated by a server process, sent to the monitoring client via the network and compared there with setpoints. This allows you to monitor any files. The separation of monitoring in client and server reliably prevents falsification of the stored checksums; however, a malicious program may substitute the server process on the host being monitored and still provide the previous checksums, even though the files have been modified. Although a monitoring computer can be assigned to several computers to be monitored; however, it always requires an additional computer and a network connection. Furthermore, there is no possibility for repair from this solution.
Die vorliegende Erfindung löst die Aufgabe, auf ein und demselben Computer¬ system die darauf laufende Software und andere konstante Datenbestände gegen Manipulationen zu sichern, indem Manipulationen frühzeitig erkannt und auto- matisch repariert werden.The present invention solves the problem of securing on one and the same computer system the software running on it and other constant databases against manipulation by early detection of manipulations and their automatic repair.
Hierzu wird von den zu schützenden Arbeitsdateien in einem autonomen Datenbereich eine Sicherheitskopie aller zu schützenden Dateien abgelegt und regelmäßig mit den Arbeitsdateien verglichen. Wird eine Abweichung erkannt, so werden die Arbeitsdateien durch die Sicherungsdateien ersetzt.For this purpose, a backup copy of all files to be protected is stored by the files to be protected in an autonomous data area and regularly compared with the working files. If a deviation is detected, the working files are replaced by the backup files.
Es handelt sich um die Sicherung eines Computersystems mit einem vorgegebenen Betriebssystem gegen Manipulation von Arbeitsdateien, die sich in einem von dem Betriebssystem herkömmlich verwalteten und benutzten primären Datenbereich befinden, wobei in einem sekundären Datenbereich Sicherungs¬ kopien der gegen Manipulation zu schützenden Arbeitsdateien gespeichert und durch bevorzugt asymmetrische Kryptographie gesichert sind, ein Vergleicher die Sicherungskopien bzw. deren Prüfsummen mit den jeweiligen Arbeitsdateien vergleicht und eine Korrekturaktion auslöst, wenn Unterschiede festgestellt werden.It is the backup of a computer system with a given operating system against manipulation of working files that are located in a conventionally managed and used by the operating primary data area, stored in a secondary data backup copies of protected against manipulation work files and preferred by asymmetric cryptography, a comparator that compares backup copies or their checksums with the respective working files and triggers a corrective action if differences are detected.
In Fig. 1 ist die Anordnung symbolisch dargestellt. Ein Computersystem (nicht dargestellt) hat einen primären Datenbereich 1 , der bevorzugt eine Partition einerIn Fig. 1, the arrangement is shown symbolically. A computer system (not shown) has a primary data area 1, which preferably is a partition of one
Festplatte ist. Weiterhin ist ein sekundärer Datenbereich 2 vorhanden, der eine weitere Partition derselben Größe, durchaus auf derselben Festplatte, ist. Der primäre Datenbereich 1 enthält drei Arbeitsdateien 1A, 1 B, 1 C, von denen erstere und letztere eine Sicherungskopie 2A1 2C besitzen. Ein Überwachungsprogramm 4 vergleicht die Arbeitsdateien 1A und 1C mit den Sicherungskopien 2A und 2C. Wird ein Unterschied festgestellt, so wird die Korrekturaktion 5 angestoßen, die beispielsweise die Arbeitsdatei 1A durch die Sicherungsdatei 2A ersetzt. Um eine Sicherungsdatei zu erstellen oder zu verändern, wird ein Aktualisierungsprozess 6 verwendet.Hard disk is. Furthermore, there is a secondary data area 2, which is another partition of the same size, on the same hard disk. Of the primary data area 1 contains three working files 1A, 1B, 1C, of which the former and the latter have a back-up copy 2A 1 2C. A monitor 4 compares the working files 1A and 1C with the backup copies 2A and 2C. If a difference is detected, the corrective action 5 is initiated, for example, replacing the work file 1A with the backup file 2A. To create or modify a backup file, an update process 6 is used.
Der primäre Datenbereich ist insbesondere eine Partition für ein Microsoft Windows Betriebssystem, hier als NT-Filesystem formatiert.The primary data area is in particular a partition for a Microsoft Windows operating system, here formatted as an NT file system.
Im einfachsten Fall ist der sekundäre Datenbereich 2 gleichfalls eine Partition mit NT-Filesystem, in dem die Sicherungsdateien in Bezug auf die Namenskonventionen in gleicher Art wie in dem primären Datenbereich 1 abgelegt sind. Jedoch wird unter Verwendung der Sicherungsmaßnahmen von Windows (NT basiert) ein zusätzlicher administrativer Benutzer angelegt, der alleinigen Zugriff auf die Sicherungsdateien hat. Die Überwachung erfolgt durch einen Systemservice, der unter der Identität eben dieses Benutzers ausgeführt wird und damit alleinigen Zugriff auf die Sicherungsdateien hat. Die Korrekturaktion läuft als von dem Überwachungsservice gestartet mit dessen Privilegien und kann daher auf die Sicherungskopien zugreifen.In the simplest case, the secondary data area 2 is also a partition with NT file system, in which the backup files are stored in relation to the naming conventions in the same way as in the primary data area 1. However, using Windows (NT based) safeguards, an additional administrative user is created who has sole access to the backup files. The monitoring is performed by a system service that is run under the identity of this user and thus has exclusive access to the backup files. The corrective action runs as started by the monitoring service with its privileges and can therefore access the backup copies.
Alternativ kann der Vergleicher ein Dateisystem benutzen, das von dem verwendeten Betriebssystem nicht unterstützt wird, beispielsweise ein Linux extended Filesystem, während der primäre Datenbereich mit einem NT-Filesystem formatiert ist.Alternatively, the comparator may use a file system that is not supported by the operating system used, for example, a Linux extended file system, while the primary data area is formatted with an NT file system.
In diesem Fall, in dem die Dateien Byte für Byte miteinander verglichen werden, sollten die Sicherungskopien kryptographisch gegen Veränderung gesichert werden. Dies kann durchaus durch Verschlüsselung geschehen. Allerdings kann der Vergleicher dann nicht einfach erkennen, ob die entschlüsselte Sicherungsdatei korrekt ist. Bei der Verwendung von Blockchiffren führt jeder Input zu einem entschlüsselten Output, der insbesondere bei Binärdateien keine einfach erkennbare Redundanz enthält. Damit könnte die Veränderung einer Sicherungskopien durch die automatischen Korrektur die zuvor korrekte Arbeitsdatei zerstören.In this case, where the files are compared byte by byte, the backup copies should be cryptographically secured against change. This can be done by encryption. However, the comparator then can not easily tell if the decrypted backup file is correct. When using block ciphers, each input leads to a decrypted output that contains no easily recognizable redundancy, especially for binary files. This could be the change of a Backup copies by the automatic correction destroy the previously correct work file.
Daher wird bevorzugt eine kryptographisch gesicherte Prüfsumme pro Datei gebildet, auch als 'message digest' bezeichnet. Diese wird zusätzlich in einer Tabelle (Datenbank) geführt, in der zu jeder Datei diese Prüfsummen gespeichert ist. Dann muss nur noch diese Tabelle gegen Veränderung geschützt werden.Therefore, preferably a cryptographically secured checksum per file is formed, also referred to as 'message digest'. This is additionally maintained in a table (database) in which these checksums are stored for each file. Then only this table needs to be protected against change.
Eine konventionelle Lösung besteht darin, die Tabelle mit symmetrischer Kryptographie zu verschlüsseln und Redundanz vorzusehen, so daß ein Angreifer ohne den entsprechenden Schlüssel die Tabelle nicht durch eine andere ersetzen kann. Als Redundanz genügt eine Titelzeile mit einer vorher festgelegtenA conventional solution is to encrypt the table with symmetric cryptography and provide redundancy so that an attacker without the corresponding key can not replace the table with another one. As redundancy, a title line with a predefined one is sufficient
Zeichenkette und einer Versionsnummer am Anfang sowie eine Summenzeile mitString and a version number at the beginning and a sum line with
Datei-Versionsnummer am Ende der Tabellendatei, wenn zur Verschlüsslung einer der 'chaining modes' verwendet wird, um ein Einschieben von falschenFile version number at the end of the table file, if one of the 'chaining modes' is used to encrypt a wrong insertion
Blöcken zu verhindern.Prevent blocks.
Bevorzug wird asymmetrische oder Public-Key Kryptographie verwendet, bei der der öffentliche Schlüssel nicht geheim gehalten werden muss. Für den Vergleichsvorgang ist nur der öffentliche Schlüssel notwendig; lediglich fürPreferably asymmetric or public-key cryptography is used, in which the public key does not have to be kept secret. For the comparison process only the public key is necessary; only for
Veränderungen wird der private Schlüssel benötigt, um die Signatur neu zu erzeugen. Besonders zweckmäßig ist hierbei die Verwendung von OpenPGP, dem weltweit am häufigsten verwendeten Kryptographie-Standard für E-mails, mit dem nicht nur über eine Kommandoschnittstelle Dateien signiert, sondern auch die Schlüssel verwaltet werden können. Der öffentliche Schlüssel wird zweckmäßig an mehreren Stellen ablegt und vor Verwendung auf Gleichheit überprüft. So kann er sowohl im Programmcode, in der Tabelle der Prüfsummen als auch in einer Datei abgelegt sein; ein Schadensprogramm müßte alle drei Stellen gleichzeitig modifizieren. Im Gegensatz zu privaten bzw. geheimen Schlüsseln erhöht statt erniedrigt diese Maßnahme die Sicherheit.Changes the private key is needed to re-create the signature. Particularly useful here is the use of OpenPGP, the world's most widely used cryptographic standard for e-mails, with which not only files can be signed via a command interface, but also the keys can be managed. The public key is expediently stored in several places and checked for equality before use. So it can be stored both in the program code, in the table of checksums and in a file; a damage program would have to modify all three places simultaneously. Unlike private or secret keys, this measure increases rather than lowers security.
Auf einem Selbstbedienungsgerät steht zur Speicherung der Schlüssel eine spezielle Tastatur, ein EPP (Encrypted Pin Päd) zur Verfügung, welches die Schlüssel vor unbefugtem Zugriff schützt. Der Vergleicher muss dann nur noch die Prϋfsummen der Arbeitsdateien mit den in der Tabelle gespeicherten vergleichen. Sofern als Korrekturaktion die Arbeitsdatei mit der Sicherungskopie ersetzt werden soll, muss zuvor geprüft wer- den, ob die Prüfsumme von der Sicherungsdatei mit der in der gesicherten Tabelle enthaltenen übereinstimmt. Beide benötigen nur den integritätsgesicherten öffentlichen Schlüssel. Bevorzugt werden die Programme daher auf schreibgeschützten Datenträgern wie CD-ROM oder per Hardware ge¬ schützten FLASH-Speichem abgelegt, so dass sie von einem Schadensprogramm nicht verändert werden können.On a self-service device, a special keyboard, an EPP (Encrypted Pin Päd) is available for storing the keys, which protects the keys against unauthorized access. The comparator then only needs to compare the checksums of the working files with those stored in the table. If the work file containing the backup copy is to be replaced as a correction action, it must first be checked whether the checksum from the backup file matches that in the backed-up table. Both require only the integrity-secured public key. The programs are therefore preferably stored on write-protected data carriers such as CD-ROMs or hardware-protected FLASH memories, so that they can not be changed by a damage program.
Beim Verändern der Arbeits- und damit der Sicherungsdateien hingegen müssen nicht nur die Prüfsummen, sondern muss auch eine neue Signatur über die Tabelle der Prüfsummen gebildet werden. Der dazu benötigte Aktualisierer muss nur für die Dauer der Aktualisierung auf dem Rechner vorhanden sein. Erfolgt beispielsweise die Aktualisierung über eine CD-ROM, so ist das Aktualisierungsprogramm dort bereits gegen Veränderung geschützt. Da das Zeitfenster hierfür klein im Vergleich zur sonstigen Betriebszeit ist, kann der notwendige private Schlüssel entweder in dem Programmcode des Aktualisierers oder in einer getrennten Datei gespeichert sein. Im Falle einer Aktualsierung durch Netzwerkverbindungen wird der Aktualisierer, ggf. auch die Datei mit dem privaten Schlüssel, nur temporär auf den Zielrechner geladen und nach Gebrauch überschrieben. Außerhalb dieser Zeiten hat ein Schadensprogramm keine Möglichkeit, die Tabelle mit den Prüfsummen zu manipulieren. Anstatt mit einem Aktualisierer kann die neue Tabelle auch in einem Verwaltungsrechner erstellt werden, der ohnehin die Prüfsummen der auf dem Rechner eingesezten Software zur Verfügung hat. Dann muss das Aktualisierungsprogramm nur noch die veränderten Arbeitsdateien in den sekundären Datenbereich kopieren; der private Schlüssel erscheint nie auf dem zu überwachenden Rechner.When modifying the work files and thus the backup files, on the other hand, not only the checksums must be created, but also a new signature must be created using the table of checksums. The updater required for this must be present on the computer only for the duration of the update. For example, if the update is done on a CD-ROM, the updater is already protected against change. Since the time window for this is small compared to the other operating time, the necessary private key can be stored either in the program code of the updater or in a separate file. In the case of an update through network connections, the updater, possibly also the file with the private key, is only temporarily loaded onto the target computer and overwritten after use. Outside these times, a malicious program has no way to manipulate the checksum table. Instead of using an updater, the new table can also be created in a management computer, which in any case has the checksums of the software integrated on the computer. Then the update program only has to copy the changed work files to the secondary data area; the private key never appears on the computer to be monitored.
Dabei ist es durchaus sinnvoll, mehrere individuell, ggf. mit unterschiedlichen öffentlichen Schlüsseln, signierte Tabellen zu verwenden. Dies ist insbesondere dann der Fall, wenn ein Teil der Prüfsummen von dem Verwaltungsrechner bereitgestellt und der andere Teil lokal errechnet wird. Die Prüfsummen für den Vergleicher und Aktualisierer sind dann zweckmäßigerweise in der vom Verwaltungsrechner signierten Tabelle. Da es häufig vorkommt, dass mehrere Dateien zusammengehören und nur zusammen ersetzt werden dürfen, ist in einer Weiterbildung der Erfindung vorgesehen, daß in der Tabelle oder durch andere Mittel diese Gruppen von Dateien festgelegt werden. Zumindest werden alle Dateien der Gruppe verglichen und erst dann die geänderten Dateien kopiert. Alternativ kann auch beim ersten Auftreten einer Änderung dafür gesorgt werden, dass unbedingt alle Arbeits- durch ihre Sicherungsdateien ersetzt werden.It makes sense to use several individually signed tables, possibly with different public keys. This is the case in particular when part of the checksums are provided by the management computer and the other part is calculated locally. The checksums for the comparator and updater are then expediently in the table signed by the administration computer. Since it frequently happens that several files belong together and may only be replaced together, it is provided in a further development of the invention that these groups of files are defined in the table or by other means. At a minimum, all files in the group are compared and then the changed files are copied. Alternatively, even when a change is made for the first time, it is important to ensure that all work files are replaced by their backup files.
Eine Weiterbildung der Erfindung benutzt einen kryptographischen Prozessor, wie er beispielsweise als PIN-PAD in der Tastatur eines Geldausgabeautomaten eingebaut ist. Damit steht einerseits ein sicherer Schlüsselspeicher mit den üblichen kryptographischen Funktionen zur Verfügung. Damit kann der Vergleicher aus einem relativ kleinen Startprogramm und dem Restprogramm bestehen, wobei das Startprogramm zunächst die eigene Integrität prüft, indem es seinen eigenen Code an den kryptographischen Prozessor sendet. Zweckmäßig enthält die Anfrage ein Zufallszahl ('nonce'), die in der Antwort zurückgeschickt wird und über einen 'message authenticatio code' (MAC) geprüft werden kann. Das Startprogramm lädt dann das Restprogramm, prüft dessen Integrität, und gibt die Kontrolle weiter, wenn die Prüfung positiv ausgefallen ist.A development of the invention uses a cryptographic processor, as it is installed, for example, as PIN-PAD in the keyboard of a cash dispenser. On the one hand, this provides a secure key memory with the usual cryptographic functions. Thus, the comparator can consist of a relatively small launcher and the remainder of the program, the launcher first checking its own integrity by sending its own code to the cryptographic processor. Conveniently, the request contains a random number ('nonce'), which is returned in the response and can be checked via a 'message authenticatio code' (MAC). The launcher then loads the remainder program, checks its integrity, and passes control if the test is positive.
Eine Spezialisierung der Weiterbildung verwendet die Bedingung, daß Transaktionen über den PIN-PAD abgewickelt werden. Dabei muß dem PIN-PAD im Rahmen einer Transaktion ein gültiger Codeschlüssel übermittelt werden. Im einfachsten Fall bildet der Vergleicher die Prüfsumme über die Prüfsummen, signiert diese und sendet sie an den PIN-PAD. Dabei wir bevorzugt nicht immer wieder die gleiche Prüfsumme übertragen; vielmehr wird von dem PIN-PAD eine Zufallszahl angefordert und in die signierte Antwort aufgenommen, so daß sich jedesmal eine unterschiedliche Antwort ergibt. Erst bei Vorliegen einer gültig signierten Antwort wird die Transaktion bestätigt; anderenfalls ist der Geldautomat gesperrt. A specialization of the training uses the condition that transactions are handled via the PIN-PAD. In this case, a valid code key must be transmitted to the PIN-PAD as part of a transaction. In the simplest case, the comparator forms the checksum over the checksums, signs them and sends them to the PIN-PAD. We prefer not to transmit the same checksum again and again; rather, a random number is requested from the PIN-PAD and included in the signed response, so that each time results in a different answer. Only when there is a validly signed answer is the transaction confirmed; otherwise the ATM is locked.

Claims

Ansprüche claims
1. Einrichtung zur Sicherung eines Computersystems mit einem vorgegebenen Betriebssystem gegen Manipulation von Arbeitsdateien, mit den Merkmalen: - die Arbeitsdateien befinden sich in einem von dem Betriebssystem herkömmlich verwalteten und benutzten primären Datenbereich,1. Device for securing a computer system with a given operating system against manipulation of working files, having the features: - the working files are located in a primary data area conventionally managed and used by the operating system,
- in einem sekundären Datenbereich sind Sicherungskopien der gegen Manipulation zu schützenden Arbeitsdateien gespeichert,- in a secondary data area, backup copies of the work files to be protected against manipulation are stored,
- ein Vergleicher ist vorgesehen zum Prüfen der Arbeitsdateien in Bezug auf die jeweiligen Sicherheitskopien und zum Auslösen eines Signals, wenn Unterschiede festgestellt werden.a comparator is provided for checking the working files for the respective backup copies and for triggering a signal when differences are detected.
2. Einrichtung nach Anspruch 1 , wobei in Folge des ausgelösten Signals die Arbeitskopie durch die Sicherungskopie ersetzt wird.2. Device according to claim 1, wherein the working copy is replaced by the backup copy as a result of the triggered signal.
3. Einrichtung nach Anspruch 2, wobei Gruppen von Dateien gebildet werden und das Ersetzen der veränderten Arbeitskopien durch die jeweiligen Sicherungskopien als Einheit erfolgt.3. The device of claim 2, wherein groups of files are formed and the replacement of the modified working copies by the respective backup copies takes place as a unit.
4. Einrichtung nach einem der Ansprüche 1 bis 3, wobei der sekundäre Datenbereich durch Sicherheitsfunktionen des Betriebssystems gegen Veränderungen geschützt ist.4. Device according to one of claims 1 to 3, wherein the secondary data area is protected by security functions of the operating system against changes.
5. Einrichtung nach einem der Ansprüche 1 bis 3, wobei der sekundäre Datenbereich dadurch gegen Veränderungen geschützt wird, dass für die Formatierung ein von dem Betriebssystem nicht unterstütztes Dateisystemformat verwendet wird.5. Device according to one of claims 1 to 3, wherein the secondary data area is protected against changes, that is used for formatting an unsupported by the operating system file system format.
6. Einrichtung nach einem der Ansprüche 1 bis 3, wobei der sekundäre Datenbereich dadurch gegen Veränderungen geschützt ist, dass die Dateien durch kryptographische Funktionen gesichert werden. 6. Device according to one of claims 1 to 3, wherein the secondary data area is protected against changes that the files are backed up by cryptographic functions.
7. Einrichtung nach einem der Ansprüche 1 bis 3, wobei die Prüfung der Arbeitsdateien durch Bildung einer kryptographischen Prüfsumme erfolgt, die mittels einer Tabelle verglichen wird, wobei in der Tabelle die Prüfsummen über die Sicherungskopien abgelegt sind und diese Tabelle gegen unautorisierte Veränderung kryptographisch gesichert wird.7. Device according to one of claims 1 to 3, wherein the examination of the working files by forming a cryptographic checksum is compared by means of a table, in the table, the checksums are stored on the backup copies and this table is cryptographically secured against unauthorized change ,
8. Einrichtung nach Anspruch 7, wobei die Sicherung gegen unautorisierte Veränderung durch asymmetrische kryptographische Verfahren erreicht wird.8. Device according to claim 7, wherein the safeguard against unauthorized change is achieved by asymmetric cryptographic methods.
9. Einrichtung nach Anspruch 7 oder 8, wobei ein gegebenenfalls vorgesehener Aktualisierer und/oder eine weitere Datei für kryptographische Schlüssel nur für die Dauer der Aktualisierung auf dem Computersystem vorhanden sind.9. Device according to claim 7 or 8, wherein an optionally provided updater and / or another file for cryptographic keys are present only for the duration of the update on the computer system.
10. Einrichtung nach Anspruch 7 oder 8, wobei ein kryptographischer Schlüssel in einem sicheren Kryptographieprozessor gespeichert ist.10. The device of claim 7 or 8, wherein a cryptographic key is stored in a secure cryptographic processor.
11. Einrichtung nach Anspruch 10, wobei der Computer eine Einrichtung zu Abwicklung von Transaktionen mittels eines Kryptographieprozessorsumfaßt und jede Transaktion durch die Übergabe einer Prüfsumme von dem Vergleicher freigegeben werden muß.The apparatus of claim 10, wherein the computer comprises means for handling transactions by means of a cryptographic processor, and each transaction must be released by the handover of a checksum from the comparator.
12. Einrichtung nach Anspruch 12, wobei die Prüfsumme durch eine unmittelbar zuvor von dem Kryptographieprozessor ausgegebene zufällige Transaktions-ID ergänzt und dann von dem Vergleicher signiert wird.The apparatus of claim 12, wherein the checksum is supplemented by a random transaction ID issued immediately before by the cryptographic processor and then signed by the comparator.
13. Verfahren zur Sicherung eines Computersystems mit einem vorgegebenen Betriebssystem gegen Manipulation von Arbeitsdateien, mit den Merkmalen:13. A method for securing a computer system with a given operating system against manipulation of working files, having the features:
- die Arbeitsdateien befinden sich in einem von dem Betriebssystem herkömmlich verwalteten und benutzten primären Datenbereich, - in einem sekundären Datenbereich sind Sicherungskopien der gegen Manipulation zu schützenden Arbeitsdateien gespeichert, - ein Vergleicher prüft die Arbeitsdateien in Bezug auf die jeweiligen Sicherheitskopien und löst ein Signal aus, wenn Unterschiede festgestellt werden.the work files are located in a primary data area conventionally managed and used by the operating system, in a secondary data area are stored backup copies of the work files to be protected against manipulation, a comparator checks the working files for the respective backups and triggers a signal if differences are detected.
14. Verfahren nach Anspruch 13, wobei in Folge des ausgelösten Signals die Arbeitskopie durch die Sicherungskopie ersetzt wird.14. The method of claim 13, wherein as a result of the triggered signal, the working copy is replaced by the backup copy.
15. Verfahren nach Anspruch 14, wobei Gruppen von Dateien gebildet werden und das Ersetzen der veränderten Arbeitskopien durch die jeweiligen Sicherungskopien als Einheit erfolgt.15. The method of claim 14, wherein groups of files are formed and the replacement of the modified working copies by the respective backup copies takes place as a unit.
16. Verfahren nach einem der Ansprüche 13 bis 15, wobei der sekundäre Datenbereich durch Sicherheitsfunktionen des Betriebssystems gegen Veränderungen geschützt wird.16. The method of claim 13, wherein the secondary data area is protected against changes by security functions of the operating system.
17. Verfahren nach einem der Ansprüche 13 bis 15, wobei der sekundäre Datenbereich dadurch gegen Veränderungen geschützt wird, dass für die Formatierung ein von dem Betriebssystem nicht unterstütztes Dateisystemformat verwendet wird.17. The method according to any one of claims 13 to 15, wherein the secondary data area is protected against changes that is used for formatting an unsupported by the operating system file system format.
18. Verfahren nach einem der Ansprüche 13 bis 15, wobei der sekundäre18. The method according to any one of claims 13 to 15, wherein the secondary
Datenbereich dadurch gegen Veränderungen geschützt wird, dass die Dateien durch kryptographische Funktionen gesichert werden.Data area is protected against change by backing up the files with cryptographic functions.
19. Verfahren nach einem der Ansprüche 13 bis 15, wobei die Prüfung der Arbeitsdateien durch Bildung einer kryptographischen Prüfsumme erfolgt, die mittels einer Tabelle verglichen wird, in der Prüfsummen über die Sicherungs¬ kopien abgelegt sind, wobei diese Tabelle gegen unautorisierte Veränderung kryptographisch gesichert wird.19. The method according to any one of claims 13 to 15, wherein the examination of the work files by forming a cryptographic checksum is performed, which is compared by means of a table in which checksums on the Sicherungs¬ copies are stored, this table is cryptographically secured against unauthorized change ,
20. Verfahren nach Anspruch 19, wobei die Sicherung gegen unautorisierte20. The method of claim 19, wherein the protection against unauthorized
Veränderung durch asymmetrische kryptographische Verfahren erreicht wird. Change is achieved by asymmetric cryptographic methods.
21. Verfahren nach Anspruch 19 oder 20, wobei ein Aktualisierer und eine ggf. benötigte Datei für kryptographische Schlüssel nicht oder nur für die Dauer der Aktualisierung auf dem Computersystem vorhanden sind.21. The method of claim 19 or 20, wherein an updater and a possibly needed file for cryptographic keys are not available or only for the duration of the update on the computer system.
22. Verfahren nach Anspruch 19 oder 20, dadurch gekennzeichnet, dass die Schlüssel im EPP (Encrypted Pin Päd) gespeichert sind. 22. The method according to claim 19 or 20, characterized in that the keys are stored in the EPP (Encrypted Pin Päd).
PCT/DE2005/001294 2004-08-20 2005-07-22 Software backup method WO2006021174A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05770770A EP1779282A1 (en) 2004-08-20 2005-07-22 Software backup method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE200410040695 DE102004040695A1 (en) 2004-08-20 2004-08-20 Software backup method e.g. for computer system, has backup copies of workfiles to be protected from manipulation which are stored in secondary data area and are protected by asymmetric cryptography
DE102004040695.2 2004-08-20
DE200410043551 DE102004043551A1 (en) 2004-09-09 2004-09-09 Software backup method e.g. for computer system, has backup copies of workfiles to be protected from manipulation which are stored in secondary data area and are protected by asymmetric cryptography
DE102004043551.0 2004-09-09

Publications (1)

Publication Number Publication Date
WO2006021174A1 true WO2006021174A1 (en) 2006-03-02

Family

ID=34981278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2005/001294 WO2006021174A1 (en) 2004-08-20 2005-07-22 Software backup method

Country Status (2)

Country Link
EP (1) EP1779282A1 (en)
WO (1) WO2006021174A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174137A1 (en) * 2001-05-15 2002-11-21 Wolff Daniel Joseph Repairing alterations to computer files

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174137A1 (en) * 2001-05-15 2002-11-21 Wolff Daniel Joseph Repairing alterations to computer files

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
REMBO TECHNOLOGY: "Rembo Auto-Backup: Step-by-Step Installation", 23 November 2003 (2003-11-23), XP002347621, Retrieved from the Internet <URL:http://web.archive.org/web/20031123220221/http://www.rembo.com/rab/docs2/rabman/stepbystep.p.html> [retrieved on 20051004] *

Also Published As

Publication number Publication date
EP1779282A1 (en) 2007-05-02

Similar Documents

Publication Publication Date Title
DE69815599T2 (en) Method and device for protecting application data in secure memory areas
DE69733123T2 (en) METHOD AND DEVICE FOR PREVENTING UNAUTHORIZED WRITING ACCESS TO A PROTECTED NON-VOLATILE MEMORY
EP2367128B1 (en) Device and method for electronic signatures
DE60123969T2 (en) COMPUTER SYSTEM IN WHICH A SECURE CONDITION IS RESTORABLE
DE60129967T2 (en) BIOMETRY BASED CERTIFICATION IN A NON-VOLATILE MEMORY DEVICE
DE69634880T2 (en) METHOD AND DEVICE FOR CONTROLLED ACCESS TO ENCRYPTED DATA STORES IN A COMPUTER SYSTEM
DE112005001666B4 (en) A method for providing private direct proof keys in signed groups to devices using a distribution CD
DE102011117214A1 (en) A method for detecting an unauthorized opening of a signature device, signature device and computer system with the same
EP1933248A1 (en) Method for secure data processing on a computer system
DE19960977A1 (en) Data achiving system with access check on data recall, has third party acting as manager
DE102007030622A1 (en) Method and application for linking between systems based on hardware security units
EP2772856A1 (en) Method for performing tasks on a production computer system and data processing system
DE60317024T2 (en) Method for setting the configuration information of a storage device
DE102017106042A1 (en) A method for safely booting up a computer system, and an assembly comprising a computer system and an external storage medium connected to the computer system
DE112019006676T5 (en) Blockchain technology to regulate data integrity and to prove the existence of data protection systems
DE60221861T2 (en) SERVER WITH FILE REQUEST
EP2541455A2 (en) Method and process for PIN entries in a consistent software stack in cash machines
DE112012004308B4 (en) Method, system, mediation server, client and computer program for deleting data to maintain a security level
DE102014210282A1 (en) Generate a cryptographic key
DE102018217431A1 (en) Secure key exchange on one device, especially an embedded device
DE60025496T2 (en) PORTABLE DEVICE
DE102018213616A1 (en) Cryptography module and operating method therefor
WO2006021174A1 (en) Software backup method
DE102004040695A1 (en) Software backup method e.g. for computer system, has backup copies of workfiles to be protected from manipulation which are stored in secondary data area and are protected by asymmetric cryptography
DE102004043551A1 (en) Software backup method e.g. for computer system, has backup copies of workfiles to be protected from manipulation which are stored in secondary data area and are protected by asymmetric cryptography

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 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): BW GH 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
WWE Wipo information: entry into national phase

Ref document number: 2005770770

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005770770

Country of ref document: EP