DE10122505A1 - Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens - Google Patents

Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens

Info

Publication number
DE10122505A1
DE10122505A1 DE10122505A DE10122505A DE10122505A1 DE 10122505 A1 DE10122505 A1 DE 10122505A1 DE 10122505 A DE10122505 A DE 10122505A DE 10122505 A DE10122505 A DE 10122505A DE 10122505 A1 DE10122505 A1 DE 10122505A1
Authority
DE
Germany
Prior art keywords
register
protected
copy
computer
contents
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
DE10122505A
Other languages
English (en)
Inventor
Werner Nes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient 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
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE10122505A priority Critical patent/DE10122505A1/de
Priority to EP02735339A priority patent/EP1410344A2/de
Priority to JP2002588360A priority patent/JP4537003B2/ja
Priority to US10/477,140 priority patent/US7647495B2/en
Priority to AU2002310806A priority patent/AU2002310806A1/en
Priority to PCT/EP2002/004983 priority patent/WO2002091168A2/de
Priority to RU2003134151/09A priority patent/RU2310906C2/ru
Priority to CNB028096290A priority patent/CN1294480C/zh
Publication of DE10122505A1 publication Critical patent/DE10122505A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Executing Machine-Instructions (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Zum Schützen eines Rechners vor Manipulation von Registerinhalten werden für zu schützende Register (6; PC) Kopien in getrennten Redundanz-Registern (10a-10c) angelegt. Bei jeder Befehlsausführung erfolgt ein Vergleich des Inhalts des zu schützenden Registers mit dessen Kopie. Nur bei Übereinstimmung der Registerinhalte erfolgt die Ausführung des Befehls. Bei Nichtübereinstimmung der Registerinhalte wird dies als Hinweis auf eine erfolgte Manipulation des Inhalts des zu schützenden Registers interpretiert, und es wird eine Fehlerbehandlung durchgeführt.

Description

Die Erfindung betrifft ein Verfahren zum Schützen eines Rechners, insbesondere eines Mikrocontrollers (µC) oder eines Mikroprozessors (µP) gegen Manipulation von Registerinhalten. Außerdem betrifft die Erfindung eine Chipkarte, die von einem solchen Verfahren bzw. einem solchen Rechner Gebrauch macht.
Der Schutz von Teilen eines Rechners gegen Manipulation ist in vielen Anwendungsfällen für einen sinnvollen Einsatz eines Rechners unerläßlich, so zum Beispiel bei mit Rechnern ausgestatteten Chipkarten. Es ist bekannt, Register gegen eine Manipulation durch Datenverschlüsselung zu schützen.
Aus der DE 199 18 620 A1 ist ein Verfahren zum Schützen eines Rechners vor Manipulation bekannt, bei dem jeweils nach Ausführung eines Programmbefehls durch eine zentrale Verarbeitungseinheit eine logische Verknüpfung verschiedener Registerinhalte durchgeführt wird, insbesondere eine XOR-Verknüpfung, das Ergebnis dieser Verknüpfung in einem Speicher abgelegt wird, um dann vor der Ausführung des nächsten Befehls die gleiche Verknüpfung für die Inhalte derselben Register durchzuführen und das dann erhaltene Verknüpfungsergebnis mit dem zuvor abgespeicherten Verknüpfungsergebnis zu vergleichen. Dieses Verfahren hat sich bewährt.
Durch die vorliegende Erfindung soll ein alternatives Verfahren zum Schützen eines Rechners der eingangs genannten Art angegeben werden.
Zu diesem Zweck schafft die Erfindung ein Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten, indem von dem Inhalt eines zu schützenden Registers eine Kopie angelegt wird und der Inhalt des zu schützenden Registers mit dessen Kopie bedarfsweise verglichen wird.
Bedarfsweises Vergleichen heißt zum Beispiel insbesondere, daß bei jeder Ausführung eines Befehls der Vergleich durchgeführt wird, um festzustellen, ob in der Zeitspanne zwischen der Ausführung eines vorausgehenden Befehls und der jetzt anstehenden Befehlsausführung eine Manipulation des Inhalts des zu schützenden Registers erfolgt ist. Damit läßt sich der Vergleich zeitlich koppeln mit der Erhöhung des Befehlszählers (programm counter), dessen Inhalt die abzuarbeitende Befehlsfolge festlegt.
Um zusätzliche Sicherheit zu erhalten, ist in einer bevorzugten Ausgestaltung der Erfindung vorgesehen, den Inhalt des zu schützenden Registers in modifizierter Form als Kopie abzulegen. Hierdurch wird vermieden, daß durch manipulatives Vergleichen von Registerinhalten bestimmte Register erkannt und damit der Schutz wirkungslos gemacht wird. Die Modifizierung läßt einen einfachen Vergleich des Inhalts des zu schützenden Registers mit der Kopie nicht ohne weiteres zu.
Das Modifizieren der Daten kann durch bitweises Invertieren geschehen. Hierdurch hat die Kopie des Inhalts des zu schützenden Registers dann die Form des Einer-Komplements des Inhalts des zu schützenden Registers. Vorteilhaft hierbei ist, daß der Vergleich zum Beispiel durch einfaches Subtrahieren der Kopie von dem Inhalt des zu schützenden Registers durchgeführt werden kann. Bei Übereinstimmung ergibt sich durch die Subtraktion der Wert Null. Ein von Null abweichender Wert bedeutet eine Verfälschung der Daten in dem zu schützenden Register (oder in der Kopie).
In einer Ausgestaltung der Erfindung ist vorgesehen, daß das zu schützende Register und/oder das die Kopie enthaltende Register abgeschirmt wird.
Eine solche Abschirmung kann zum Beispiel in der Weise geschehen, daß das betreffende Register indirekt adressiert wird.
Als besondere Ausgestaltung der Erfindung wird eine Verschleierung der physikalischen Zusammenhänge zwischen dem zu schützenden Register und dem für die Kopie angelegten Register vorgeschlagen. Eine solche Verschleierung kann zum Beispiel in der Weise geschehen, daß das Register an einer anderen Stelle als das zu schützende Register innerhalb des Halbleiterspeichers angelegt wird. Das Anlegen des für die Kopie vorgesehenen Registers an einer von dem zu schützenden Register getrennten Stelle innerhalb des Halbleiterspeichers kann eine tatsächliche räumliche Trennung bedeuten, aber auch eine virtuelle oder logische Trennung durch Modifizierung der Adresse des die Kopie aufnehmenden Registers.
Besonders bevorzugt wird für den Vergleich der Inhalt des zu schützenden Registers und des die Kopie aufnehmenden Registers ein Hardware- Vergleicher, alternativ ein Vergleich durch Mikro-Code. Diese Art des Vergleichs ist besonders schnell und verzögert den Ablauf bei der Programmverarbeitung nur unwesentlich. Vergleicher zum Vergleichen von Registerinhalten Bit für Bit sind bekannt. Alternativ zu dieser Möglichkeit können die zu vergleichenden Registerinhalte auch durch Subtraktion/Addition auf Übereinstimmung geprüft werden. Ist die Kopie eine nicht modifizierte Version des Inhalts des zu schützenden Registers, so erfolgt eine normale Subtraktion. Bei einem von Null verschiedenen Ergebnis wird der zentralen Verarbeitungseinheit (CPU) des Rechners signalisiert, daß eine Manipulation stattgefunden hat. Es können dann besondere Programmschritte zur Behandlung dieser Manipulations-Erkennung abgearbeitet werden.
Wird in dem für die Kopie angelegten Register eine invertierte Version des Inhalts des zu schützenden Registers gespeichert, so läßt sich die Subtraktion einfach durch bloßes Addieren der beiden Registerinhalte realisieren.
In einer speziellen Ausgestaltung der Erfindung kann die Kopie des Inhalts des zu schützenden Registers auch nur teilweise manipuliert werden. Man kann ein acht Bit langes Register auch in zwei gleich lange Abschnitte von je vier Bits unterteilen, um den ersten Teil unmodifiziert und den zweiten Teil invertiert als Kopie abzulegen. Bei dem durchzuführenden Vergleich wird diese besondere Art der Modifikation dann berücksichtigt.
Die Erfindung schafft außerdem einen Rechner in Form eines Mikrocontrollers oder Mikroprozessors zum Durchführen des oben beschriebenen Verfahrens. Dieser Rechner enthält einen ersten Registerspeichersatz mit mindestens einem zu schützenden Register, weiterhin einen zweiten Registerspeichersatz mit mindestens einem Redundanz-Register, welches die (eventuell modifizierte) Kopie des zu schützenden Registerinhalts aufnimmt, weiterhin einen Vergleicher, der die Registerinhalte bedarfsweise vergleicht, um abhängig vom Vergleichsergebnis eine Behandlung durch die zentrale Verarbeitungseinheit des Rechners anzustoßen.
Schließlich schafft die Erfindung auch eine Chipkarte, die mit einem solchen Rechner ausgestattet ist.
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild eines schematisierten Rechners mit Maßnahmen zum Schutz vor Manipulation des Inhalts eines oder mehrerer Register;
Fig. 2 ein Blockschaltbild einer Vorrichtung zum Vergleichen der Inhalte eines zu schützenden Registers und eines Redundanzregisters;
Fig. 3 ein Blockschaltbild einer bezüglich Fig. 2 alternativen Ausführungsform;
Fig. 4 ein Blockschaltbild einer bezüglich Fig. 2 alternativen Ausführungsform einer Schaltung zum Vergleichen zweier Registerinhalte.
In Fig. 1 ist in Form eines Blockschaltbilds schematisiert ein Rechner dargestellt. Die Erfindung betrifft speziell einen Mikrocontroller (µC) oder einen Mikroprozessor (µP), ist jedoch nicht hierauf beschränkt. Ein spezieller Anwendungsfall ist die Chipkarte, in deren Chip Inhalte bestimmter Register vor Manipulation zu schützen sind.
Gemäß Fig. 1 ist in einem als ROM ausgebildeten Programmspeicher 2 ein abzuarbeitendes Programm gespeichert. Ein auszuführender Befehl wird aus dem Programmspeicher 2 abhängig vom Inhalt eines Befehlszählers PC (programm counter) 6 ausgelesen. Der ausgelesene Befehl steht dann in einem Puffer oder Befehlsregister 4.
Der Befehlszähler 6 ist Teil eines Registersatzes in einem RAM 20. Der Registersatz ist hier mit 14 bezeichnet und umfaßt außer dem Befehlszähler 6 noch weitere Register R1, R2, . . . sowie ein Zeigerregister (stack pointer) SP. Die weiteren Register außer dem Befehlszähler 6 sind in Fig. 1 mit dem Bezugszeichen 8 bezeichnet.
An einer logisch und/oder räumlich von dem Registersatz 14 getrennten Stelle des RAM 20 befindet sich ein zweiter Registersatz 12 mit - im vorliegenden Beispiel drei - Redundanz-Registern 10a, 10b und 10c. In diesen Redundanz-Registern 10a, 10b und 10c werden Kopien des Befehlszählers (PC'), des Registers R1 (R1') und des Stack-Pointers (SP') abgelegt.
Eine Steuerung 100 (CPU) steht mit dem Programmspeicher 2, dem RAM 20 und dem Befehlsregister 4 über Steuerleitungen in Verbindung, sie ist außerdem mit dem RAM 20 über eine Busverbindung gekoppelt, hier schematisch dargestellt in Form eines ABUS, der an den Speicherbereich für den Registersatz 14 angeschlossen ist, und einen BBUS, der an den Speicherbereich für den Registersatz 12 angeschlossen ist.
Fig. 2 zeigt schematisch eine Vergleicheranordnung zum Vergleichen des Befehlszählers PC in dem zu schützenden Register 6 mit der Befehlszähler- Kopie PC' in dem Redundanz-Register 10a. Die beiden Registerinhalte werden von einem Subtrahierer 22 subtrahiert. Das Ergebnis ist bei Übereinstimmung der Registerinhalte Null. Ein davon abweichender Wert signalisiert, daß eine Manipulation des einen oder des anderen Registers 6, 10a (oder beider Register) stattgefunden hat.
Beim Betrieb des Rechners wird vor dem Auslesen eines Befehls aus dem Programmspeicher 2 der Befehlszähler PC verglichen mit seiner zuvor in dem Redundanz-Register 10a abgelegten Kopie PC'. Nur bei Übereinstimmung wird dann der Lesevorgang des Programmspeichers 2 durchgeführt oder der ausgelesene Befehl, der dann im Befehlsregister 4 steht, tatsächlich ausgeführt. Bei Nichtübereinstimmung von PC und PC' wird die Ausführung gesperrt, und es erfolgt eine hier nicht näher interessierende Fehlerroutine.
Bei der Ausführungsform des Vergleichers nach Fig. 2 ist davon ausgegangen worden, daß die Kopie PC in dem Redundanz-Register 10a eine exakte Kopie von PC ist.
Alternativ kann man die Kopie aber auch in Form einer modifizierten Version des Inhalts des zu schützenden Registers ablegen.
Fig. 3 zeigt als Beispiel einer solchen modifizierten Kopie das Ablegen einer bitweise invertierten Version des Inhalts des Registers R1. Nach jeder Befehlsausführung wird der Inhalt von R1 bitweise invertiert, hier schematisch durch einen Negator 26 angedeutet, so daß in dem Redundanz- Register 10b die bitweise invertierte Version des Registerinhalts von R1 als Kopie R1' gespeichert ist. Durch das bitweise Invertieren entspricht die Kopie R1' dann dem Einer-Komplement des Inhalts von R1. Durch Addieren der beiden Registerinhalte müßte sich bei Übereinstimmung, das heißt bei nicht erfolgter Manipulation eines Registerinhalts, das Vergleichsergebnis Null ergeben.
Fig. 4 zeigt eine noch weitere Abwandlung für die Ausbildung des Vergleichers bzw. das Anlegen einer Kopie des Inhalts eines zu schützenden Registers, hier wiederum dargestellt anhand des Registers R1. Nach Fig. 4 ist ein hier mit 30 bezeichnetes Register R1 in zwei gleich lange Hälften 30a und 30b mit beispielsweise jeweils vier Bits aufgeteilt. Als Kopie R1' werden die beiden Inhalts-Hälften des Registers 30 einerseits unverändert als Teilkopie übernommen, andererseits bitweise invertiert. Der Inhalt der linken Registerhälfte 30a wird unverändert in ein Redundanz- Register 32, und zwar in dessen linke Hälfte 32a einkopiert. Der Inhalt der rechten Registerhälfte 30b wird bitweise invertiert in die rechte Hälfte 32b des Redundanz-Registers 32 geladen, hier durch einen Negator 36 symbolisiert. Die Kopie R1' des Inhalts des zu schützenden Registers ist demnach eine teilweise identische und teilweise bitweise invertierte Version des zu schützenden Registerinhalts.
Zur Ausführung des Vergleichs mit Hilfe eines Subtrahierers 40 werden die jeweils linken Hälften 30a und 32a der Register 30 und 32 subtrahiert, und von der rechten Hälfte 30b des Registers 30 wird die mit Hilfe eines Negators 34 wiederum bitweise invertierte Version der Daten in der rechten Hälfte 32b des Registers 32 subtrahiert. Auch hier liegt Übereinstimmung, das heißt nicht erfolgte Manipulation des zu schützenden Registers nur dann vor, wenn das Berechnungs- oder Vergleichsergebnis das Resultat Null liefert.

Claims (13)

1. Verfahren zum Schützen eines Rechners, insbesondere eines Mikrocontrollers (µC) oder Mikroprozessors (µP) gegen Manipulation von Registerinhalten, gekennzeichnet durch Anlegen einer Kopie (PC') eines zu schützenden Registers (PC) und bedarfsweises Vergleichen des Inhalts des zu schützenden Registers und dessen Kopie.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Daten der Kopie gegenüber dem Inhalt des zu schützenden Registers modifiziert werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das Modifizieren durch bitweises Invertieren der Daten erfolgt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das zu schützende Register und/oder das die Kopie enthaltende Register (10a-10c) abgeschirmt wird/werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß das Abschirmen des Registers durch indirektes Adressieren des Registers erfolgt.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß eine Verschleierung der physikalischen Zusammenhänge zwischen dem zu schützenden Register (6, 8) und dem die Kopie enthaltenden Register (10) vorgenommen wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Verschleierung in der Weise erfolgt, daß das Register für die Kopie (PC') an einer von der Stelle des zu schützenden Registers (6, 8) virtuell oder räumlich getrennten Stelle angelegt wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der Vergleich der Inhalte des zu schützenden Registers und der Kopie (PC')
  • a) mittels eines Hardware-Vergleichers (22, 24, 40), oder
  • b) durch Mikro-Code
realisiert wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß der Vergleich durch bitweises Vergleichen der Daten vorgenommen wird.
10. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß der Vergleich durch Subtraktion der Registerinhalte vorgenommen wird.
11. Rechner, insbesondere in Form eines Mikrocontrollers oder Mikroprozessors, zum Durchführen des Verfahrens nach einem der Ansprüche 1 bis 10, gekennzeichnet durch:
einen ersten Registerspeichersatz (14) mit mindestens einem zu schützenden Register (6, 8);
einen zweiten Registerspeichersatz (12) mit mindestens einem Redundanz-Register (10a-10c) zur Aufnahme einer Kopie des Inhalts eines zu schützenden Registers, und
einen Vergleicher (22, 24, 40), der die Inhalte des zu schützenden Registers und des Redundanz-Registers bedarfsweise vergleicht.
12. Rechner nach Anspruch 11, dadurch gekennzeichnet, daß eine Steuerung (100) den Vergleicher so steuert, daß er den Vergleich bei jeder Befehlsausführung des Rechners ausführt.
13. Chipkarte mit einem Rechner nach Anspruch 11 oder 12.
DE10122505A 2001-05-10 2001-05-10 Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens Ceased DE10122505A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE10122505A DE10122505A1 (de) 2001-05-10 2001-05-10 Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens
EP02735339A EP1410344A2 (de) 2001-05-10 2002-05-06 Verfahren zum schützen eines rechners gegen manipulation von registerinhalten und rechner zum durchführen des verfahrens
JP2002588360A JP4537003B2 (ja) 2001-05-10 2002-05-06 レジスタ内容の不正操作からコンピュータを保護するための方法及びこの方法を実施するためのコンピュータ
US10/477,140 US7647495B2 (en) 2001-05-10 2002-05-06 Method for protecting a computer from the manipulation of register contents and a corresponding computer for carrying out this method
AU2002310806A AU2002310806A1 (en) 2001-05-10 2002-05-06 Method for protecting a computer from the manipulation of register contents and a corresponding computer for carrying out this method
PCT/EP2002/004983 WO2002091168A2 (de) 2001-05-10 2002-05-06 Verfahren zum schützen eines rechners gegen manipulation von registerinhalten und rechner zum durchführen des verfahrens
RU2003134151/09A RU2310906C2 (ru) 2001-05-10 2002-05-06 Способ защиты вычислительного устройства от несанкционированного выполнения операций с содержимым его регистров и вычислительное устройство для осуществления этого способа
CNB028096290A CN1294480C (zh) 2001-05-10 2002-05-06 保护计算机寄存器内容免受操纵的方法及执行其的计算机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10122505A DE10122505A1 (de) 2001-05-10 2001-05-10 Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens

Publications (1)

Publication Number Publication Date
DE10122505A1 true DE10122505A1 (de) 2002-11-14

Family

ID=7684144

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10122505A Ceased DE10122505A1 (de) 2001-05-10 2001-05-10 Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens

Country Status (8)

Country Link
US (1) US7647495B2 (de)
EP (1) EP1410344A2 (de)
JP (1) JP4537003B2 (de)
CN (1) CN1294480C (de)
AU (1) AU2002310806A1 (de)
DE (1) DE10122505A1 (de)
RU (1) RU2310906C2 (de)
WO (1) WO2002091168A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1591864A2 (de) * 2004-04-29 2005-11-02 Giesecke & Devrient GmbH Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037590B4 (de) * 2004-08-03 2006-06-14 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betrieb einer solchen
TW200805065A (en) * 2006-01-17 2008-01-16 Nxp Bv Region protection unit, instruction set and method for protecting a memory region
KR100881025B1 (ko) * 2006-11-07 2009-02-05 삼성전자주식회사 보안 데이터를 관리하는 장치 및 그 방법
FR2910145A1 (fr) 2006-12-18 2008-06-20 St Microelectronics Sa Procede et dispositif pour securiser la lecture d'une memoire.
JP4588751B2 (ja) * 2007-11-13 2010-12-01 株式会社コナミデジタルエンタテインメント 記憶処理装置、記憶処理方法、ならびに、プログラム
US8549260B2 (en) * 2009-01-29 2013-10-01 Infineon Technologies Ag Apparatus for processing data and method for generating manipulated and re-manipulated configuration data for processor
WO2013048420A1 (en) * 2011-09-29 2013-04-04 Intel Corporation Bi-directional copying of register content into shadow registers
US8826440B2 (en) * 2011-10-19 2014-09-02 Google Inc. Defensive techniques to increase computer security
CN103618523A (zh) * 2013-11-27 2014-03-05 中国航空工业集团公司第六三一研究所 一种基于离散量信号的双通道校验电路及方法
CN103853695B (zh) * 2013-12-10 2016-11-02 中国航空工业集团公司第六三一研究所 一种离散量的上电自检电路
EP2993605A1 (de) 2014-09-02 2016-03-09 Gemalto Sa System und verfahren zum schutz einer vorrichtung vor angriffen auf verarbeitungsabläufe unter verwendung einer code-zeiger-ergänzung
JP7476140B2 (ja) 2021-06-15 2024-04-30 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
CN117744075A (zh) * 2023-12-25 2024-03-22 国创芯科技(江苏)有限公司 一种芯片测试模式防护电路及防护方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6159543A (ja) * 1984-08-31 1986-03-27 Hitachi Ltd 情報処理装置
JPS63167934A (ja) * 1986-12-29 1988-07-12 Matsushita Electric Ind Co Ltd レジスタ動的割当方法
JPS6419401A (en) * 1987-07-15 1989-01-23 Toyota Motor Corp Electronic controller
JPH04209038A (ja) * 1990-11-30 1992-07-30 Nec Corp シングルチップ・マイクロコンピュータ
US5434970A (en) * 1991-02-14 1995-07-18 Cray Research, Inc. System for distributed multiprocessor communication
JP3178147B2 (ja) * 1993-03-01 2001-06-18 株式会社デンソー バックアップメモリを備えた電子制御装置
FR2732133B1 (fr) * 1995-03-21 1997-04-25 Sgs Thomson Microelectronics Detecteur de coherence d'informations contenues dans un circuit integre
US5784577A (en) * 1996-08-05 1998-07-21 Xilinx Inc Automated control system for programming PLDs
US6282501B1 (en) * 1998-10-20 2001-08-28 Adaptec, Inc. Disk drive testing
EP2320318A1 (de) * 1999-01-28 2011-05-11 ATI Technologies ULC Ausführung von Programmen für eine erste Rechnerarchitektur auf einem Rechner mit einer zweiten Architektur
DE19918620A1 (de) * 1999-04-23 2000-10-26 Giesecke & Devrient Gmbh Sicherung eines Rechnerkerns gegen äußere Manipulationen
JP2001022410A (ja) * 1999-07-08 2001-01-26 Koyo Seiko Co Ltd プログラマブルコントローラのためのプログラム作成方法、およびプログラム作成装置、ならびにプログラム作成プログラムを記録した記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1591864A2 (de) * 2004-04-29 2005-11-02 Giesecke & Devrient GmbH Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe
DE102004021088A1 (de) * 2004-04-29 2005-11-17 Giesecke & Devrient Gmbh Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe
EP1591864A3 (de) * 2004-04-29 2006-05-24 Giesecke & Devrient GmbH Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe

Also Published As

Publication number Publication date
JP2004531819A (ja) 2004-10-14
WO2002091168A3 (de) 2003-12-31
WO2002091168A2 (de) 2002-11-14
JP4537003B2 (ja) 2010-09-01
CN1294480C (zh) 2007-01-10
US20040210737A1 (en) 2004-10-21
AU2002310806A1 (en) 2002-11-18
EP1410344A2 (de) 2004-04-21
RU2310906C2 (ru) 2007-11-20
RU2003134151A (ru) 2005-05-27
CN1507609A (zh) 2004-06-23
US7647495B2 (en) 2010-01-12

Similar Documents

Publication Publication Date Title
EP0520228B1 (de) Datenverarbeitungsanlage mit Zugriffsschutz
DE10122505A1 (de) Verfahren zum Schützen eines Rechners gegen Manipulation von Registerinhalten und Rechner zum Durchführen des Verfahrens
DE3048365C2 (de)
DE69419450T2 (de) Vorrichtung und Verfahren zum Schutz der Schlüssel einer IC-Karte
DE69327206T2 (de) System zur ununterbrochenen Verarbeitung verschlüsselter und unverschlüsselter Daten und Befehle
DE69533312T2 (de) Geschütztes speichersystem und verfahren dafür
DE10297433B4 (de) Speicherverwaltungseinheit, Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse und Prozessor
DE60127310T2 (de) Vorrichtung zum schutz digitaler daten
DE19914730A1 (de) Verfahren zum Verhindern eines Datenübertrags an beschädigte Adressen
DE69624191T2 (de) Atomisches Aktualisieren von EDC-geschützten Daten
DE2817431A1 (de) Speicherhierarchie
DE2810421C2 (de) Speicherschutzeinrichtung
DE69716722T2 (de) Verfahren und vorrichtung für den schutz von daten mit verwendung von verriegelungswerten in einem rechnersystem
DE10297686B4 (de) System und Verfahren zum Steuern der Zugriffe zwischen einzelnen Geräten innerhalb eines Computersystems
DE9420092U1 (de) Modul zum Schutz von Software
EP0080244B1 (de) Verfahren zum Identifizieren eines systemverwandten, physikalisch trennbaren Programmspeichers und ein dieses Verfahren verwendendes Datenverarbeitungssystem
EP2405317B1 (de) Verfahren zur sicheren Parametrierung eines Sicherheitsgeräts
DE60212169T2 (de) Laden von software
DE4034444A1 (de) Datenschuetzender arbeitsplatzrechner
DE69626282T2 (de) Programmierbare vorrichtung und verfahren zum befehlsauffang
DE4103173C5 (de) Vorrichtung zum Schutz gegen unautorisierte Benutzung von Software
DE102009055390A1 (de) Vorrichtung und Verfahren zum Schreiben von Daten, die zu speichern sind, in einen vorbestimmten Speicherbereich
Edwards Exchange terms in direct nuclear reaction theories
DE1940296C3 (de) Einrichtung in elektronischen Datenverarbeitungsmaschinen zum Schutz des Steuerprogramms
DE102023106166B3 (de) Sicherheits-controller und verfahren zur durchführung einer auswahlfunktion

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8131 Rejection