DE10319585A1 - Manipulationssicheres Datenverarbeitungssystem und zugehöriges Verfahren zur Manipulationsverhinderung - Google Patents

Manipulationssicheres Datenverarbeitungssystem und zugehöriges Verfahren zur Manipulationsverhinderung

Info

Publication number
DE10319585A1
DE10319585A1 DE10319585A DE10319585A DE10319585A1 DE 10319585 A1 DE10319585 A1 DE 10319585A1 DE 10319585 A DE10319585 A DE 10319585A DE 10319585 A DE10319585 A DE 10319585A DE 10319585 A1 DE10319585 A1 DE 10319585A1
Authority
DE
Germany
Prior art keywords
data
clock signal
flag
xclk
tamper
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.)
Granted
Application number
DE10319585A
Other languages
English (en)
Other versions
DE10319585B4 (de
Inventor
Kyung-Suk Yi
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10319585A1 publication Critical patent/DE10319585A1/de
Application granted granted Critical
Publication of DE10319585B4 publication Critical patent/DE10319585B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards

Abstract

Die Erfindung bezieht sich auf ein Verfahren zur Manipulationsverhinderung bei einem Datenverarbeitungssystem (100, 200) mit einem Speicher (120) und einem Prozessor (110) und auf ein zugehöriges Datenverarbeitungssystem. DOLLAR A Erfindungsgemäß werden erste Daten aus einem von einer Adresse (ADD) bezeichneten Bereich des Speichers (120) ausgelesen, zweite Daten aus dem von der Adresse (ADD) bezeichneten Bereich des Speichers (120) ausgelesen, festgestellt, ob die ersten Daten mit den zweiten Daten identisch sind und, wenn die Daten identisch sind, die ersten oder die zweiten Daten durch den Prozessor (110) abgerufen bzw. geladen. DOLLAR A Verwendung z. B. für intelligente Karten.

Description

  • Die Erfindung betrifft ein Verfahren zur Manipulationsverhinderung bei einem Datenverarbeitungssystem und ein zugehöriges Datenverarbeitungssystem.
  • Intelligente Karten ("Smart Cards") sind elektronische Komponenten, die entwickelt wurden, um die Bewältigung großvolumiger Benutzertransaktionen zu unterstützen. Beispielsweise werden intelligente Karten benutzt, um eine Anzahl von Busfahrten auf einer Busfahrkarte aufzunehmen. Wenn ein Benutzer einen Bus besteigt, führt er die intelligente Karte in ein Kartenlesegerät ein und es erfolgt eine Abbuchung vom Konto des Benutzers.
  • Als ein Datenverarbeitungssystem speichert eine intelligente Karte Informationen, z. B. persönliche, finanzielle usw., die einen Schutz vor einem unberechtigten Zugriff benötigen. Deshalb ist das Sichern von gespeicherten Daten eine wesentliche Eigenschaft von intelligenten Karten. Wenn die Daten auf der intelligenten Karte an eine nicht berechtigte Person ausgegeben werden, kann dies bei einem Benutzer oder einem Systemmanager beträchtliche Schäden verursachen. Ein unberechtigter Zugriff auf eine intelligente Karte wird auch als Manipulation bezeichnet. Manipulationstechniken können in vier wesentliche Angriffstechniken aufgeteilt werden, und zwar eine Mikroabtasttechnik, eine Software- Technik, eine Abhörtechnik und eine Fehlererzeugungstechnik.
  • Die Mikroabtasttechnik kann benutzt werden, um direkt auf eine Chipoberfläche zuzugreifen. Die Software-Angriffstechnik benutzt eine normale Kommunikationsschnittstelle eines Prozessors und nutzt Sicherheitsschwachstellen aus, die in einem Protokoll, einem kryptografischen Algorithmus oder ihrer Implementierung gefunden werden. Die Abhörtechnik nimmt mit einer hohen zeitlichen Auflösung analoge Eigenschaften von allen Versorgungs- und Schnittstellenanschlüssen und jegliche andere elektromagnetische Strahlung auf, die von einem Prozessor während eines normalen Betriebs erzeugt wird. Die Fehlererzeugungstechnik benutzt abnormale Umgebungsbedingungen, um Fehlfunktionen im Prozessor zu erzeugen, die eine zusätzliche Zugriffsmöglichkeit bieten. Alle Mikroabtasttechniken sind invasive Angriffe. Sie benötigen stunden- oder wochenlange Arbeiten in einer speziellen Werkstatt und zerstören beim Zugriff die Verkapselung. Die anderen drei Techniken sind nicht-invasive Angriffe.
  • Als eine nicht-invasive Angriffstechnik greift eine Störimpulsangriffstechnik die intelligente Karte ohne Berechtigung durch ein Anlegen von abnormalen Signalen zu einem extern zugeführten Signal oder einer Versorgungsspannung an, so dass die intelligente Karte unvorhersehbar arbeitet. Befehle von besonderem Interesse, die ein Angreifer möglicherweise durch Störimpulse ersetzen möchte, sind bedingte Programmsprünge oder Testanweisungen, die sie aufrufen. Sie bilden ein Fenster für Schwachstellen in den Prozessstufen von vielen Sicherheitsapplikationen, die einem Angreifer oft erlauben, eine ausgereifte kryptografische Sperre zu umgehen, indem einfach ein Ausführen eines Programmcodes verhindert wird, der feststellt, dass ein Authentikationsversuch nicht erfolgreich ist. Störimpulse für Anweisungen können auch benutzt werden, um die Laufzeit einer Schleife zu verlängern oder zu verkürzen.
  • Zusammenfassend kann gesagt werden, dass auf einer intelligenten Karte als einem Datenverarbeitungssystem gespeicherte Daten durch eine Angriffstechnik mit Störimpulsen manipuliert werden können.
  • Es ist Aufgabe der Erfindung, ein Verfahren zur Manipulationsverhinderung bei einem Datenverarbeitungssystem, mit dem insbesondere eine Angriffstechnik mit Störimpulsen verhindert wird, und ein zugehöriges Datenverarbeitungssystem anzugeben.
  • Die Erfindung löst diese Aufgabe durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 und durch ein Datenverarbeitungssystem mit den Merkmalen des Patentanspruchs 10.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt. Es zeigen:
  • Fig. 1 ein Blockschaltbild eines Datenverarbeitungssystems;
  • Fig. 2 ein Zeitablaufdiagramm von verschiedenen Signalen des Datenverarbeitungssystems aus Fig. 1;
  • Fig. 3 ein Flussdiagramm eines Verfahrens zur Manipulationsverhinderung bei einem Datenverarbeitungssystem nach Art von Fig. 1, insbesondere während des Lesens von Daten, und
  • Fig. 4 ein Blockschaltbild eines weiteren Datenverarbeitungssystems.
  • Fig. 1 zeigt ein Blockschaltbild eines ersten Ausführungsbeispiels eines erfindungsgemäßen Datenverarbeitungssystems 100. Wie aus Fig. 1 ersichtlich ist, umfasst das Datenverarbeitungssystem 100 einen Kern 110, einen Speicher 120, eine Eingabe-/Ausgabeeinheit 130, einen Taktgenerator 140 und eine manipulationsgeschützte Schaltung 150. Wesentliche Bestandteile des Datenverarbeitungssystems 100 arbeiten mit einer Versorgungsspannung, die von extern an das Datenverarbeitungssystem 100 angelegt wird. Als Prozessor kommuniziert der Kern 110 über die Eingabe-/Ausgabeeinheit 130 mit einem externen Gerät und umfasst einen Programmzähler PC, der eine Adresse ADD synchronisiert mit einem externen Taktsignal XCLK erzeugt, das eine vorbestimmte Periodendauer hat. Die Adresse ADD wird über einen Adressenbus zum Speicher 120 übertragen.
  • Der Taktgenerator 140 empfängt das externe Taktsignal XCLK, um ein internes Taktsignal ICLK zu erzeugen. Die Periodendauer des internen Taktsignals ICLK ist, wie in Fig. 2 dargestellt ist, ungefähr halb so lang wie die Periodendauer des externen Taktsignals XCLK. Das bedeutet, dass zwei Perioden des internen Taktsignals ICLK während einer Periode des externen Taktsignals XCLK erzeugt werden. Das vom Taktgenerator 140 erzeugte interne Taktsignal ICLK wird an die manipulationsgeschützte Schaltung 150 angelegt. Der Speicher 120 ist ein nichtflüchtiger Speicher, wie ein ROM-, EEPROM- oder Flash-EEPROM-Baustein, oder ein flüchtiger Speicher, wie ein RAM-Baustein. Der Speicher 120arbeitet synchronisiert mit dem vom Taktgenerator 140 erzeugten internen Taktsignal ICLK.
  • Wie durch die bisherigen Ausführungen deutlich wird, arbeiten der Kern 110 synchronisiert mit dem externen Taktsignal XCLK und der Speicher 120 synchronisiert mit dem internen Taktsignal ICLK. Dies erlaubt dem Speicher 120, einen Lese-/Schreibvorgang zweimal durchzuführen, wenn eine Adresse von extern eingegeben wird. Der Programmzähler PC im Kern 110 erzeugt eine Adresse ADD synchronisiert mit dem externen Taktsignal XCLK. Der Speicher 120 empfängt die Adresse ADD in Abhängigkeit vom externen Taktsignal XCLK und führt dann einen Lese-/Schreibvorgang aus. Der Speicher 120 führt den Lese-/Schreibvorgang mit der gleichen Adresse ADD fortlaufend ein zweites Mal aus. Das bedeutet, dass der Speicher 120 synchronisiert mit dem internen Taktsignal ICLK während einer ersten halben Periode des externen Taktsignals XCLK Daten ausgibt, die mit der empfangenen Adresse ADD korrespondieren, und dann während der zweiten halben Periode des externen Taktsignals XCLK synchronisiert mit dem internen Taktsignal ICLK erneut Daten ausgibt, die mit der empfangenen Adresse ADD korrespondieren.
  • Wie aus Fig. 1 weiter ersichtlich ist, werden Daten aus dem Speicher 120 nicht direkt an den Kern 110 übertragen, sondern über die manipulationsgeschützte Schaltung 150. Die manipulationsgeschützte Schpltung 150 empfängt während einer Periode des externen Taktsignals XCLK erste und zweite, vom Speicher 120 fortlaufend ausgegebene Daten und speichert sie temporär. Hierbei werden die ersten und zweiten Daten von der gleichen Adresse ausgegeben. Das bedeutet, dass auf die ersten und zweiten Daten fortlaufend von einer Stelle zugegriffen wird, die von der gleichen Adresse ADD bestimmt wird. Die manipulationsgeschützte Schaltung 150 bestimmt, ob der Wert der ersten Daten identisch ist mit dem Wert der zweiten Daten. Die manipulationsgeschützte Schaltung 150 gibt ein Flag-Signal FLAG an den Kern 110 aus. Das Flag-Signal FLAG zeigt an, ob die ersten Daten den gleichen Wert haben wie die zweiten Daten. Der Kern 110 ruft in Abhängigkeit vom Flag-Signal FLAG selektiv die temporär in der manipulationsgeschützten Schaltung 150 gespeicherten Daten ab. Unterscheidet sich beispielsweise der Wert der ersten Daten vom Wert der zweiten Daten, dann ruft der Kern 110 nicht die Daten ab, auf die momentan zugegriffen wird, d. h. die temporär in der manipulationsgeschützten Schaltung 150 gespeicherten Daten. Entspricht der Wert der ersten Daten dem Wert der zweiten Daten, dann ruft der Kern die fortlaufend ausgelesenen Daten ab, auf die momentan zugegriffen wird, d. h. die temporär in der manipulationsgeschützten Schaltung 150 gespeicherten Daten.
  • Wie aus Fig. 1 ersichtlich ist, umfasst die manipulationsgeschützte Schaltung 150 einen Multiplexer 151, einen ersten Puffer 152, einen zweiten Puffer 153 und einen Komparator 154. Der Multiplexer 151 überträgt Daten aus dem Speicher 120 in Abhängigkeit vom internen Taktsignal ICLK in den ersten Puffer 152 bzw. in den zweiten Puffer 153. Der Multiplexer 151 überträgt beispielsweise Daten, auf die während einer Periode des externen Taktsignals XCLK mit hohem Pegel zugegriffen wird, in Abhängigkeit vom internen Taktsignal ICLK in den ersten Puffer 152. Die Daten, auf die während einer Periode des externen Taktsignals XCLK mit niedrigem Pegel zugegriffen wird, überträgt der Multiplexer 151 in Abhängigkeit vom internen Taktsignal ICLK in den zweiten Puffer 153. Ein Ausgang des ersten Puffers 152 ist mit dem Kern 110 verbunden. Der Komparator 154 vergleicht ein Ausgangssignal des ersten Puffers 152, z. B. die ersten Daten, mit einem Ausgangssignal des zweiten Puffers 153, z. B. die zweiten Daten, und gibt dann in Abhängigkeit von diesem Vergleich das Flag-Signal FLAG aus. Das Flag- Signal FLAG zeigt an, ob die ersten Daten den gleichen Wert haben wie die zweiten Daten.
  • Obwohl in Fig. 1 nicht dargestellt, versteht es sich, dass der Multiplexer 151 das externe Taktsignal XCLK anstelle des internen Taktsignals ICLK benutzen kann. Alternativ kann der Multiplexer das externe Taktsignal XCLK und das interne Taktsignal ICLK benutzen.
  • Fig. 2 zeigt ein Zeitablaufdiagramm der in Fig. 1 benutzten Taktsignale XCLK, ICLK, Adressen ADD und Daten und Fig. 3 zeigt ein Flussdiagramm eines Lesevorgangs des erfindungsgemäßen Datenverarbeitungssystems 100. Der Lesevorgang wird unter Bezugnahme auf die Zeichnungen näher beschrieben.
  • Um im Speicher 120 gespeicherte Daten auszulesen, erzeugt der Programmzähler PC im Kern 110 synchronisiert mit dem externen Taktsignal XCLK eine Adresse ADD1. Die erzeugte Adresse ADD1 wird an den Speicher 120 übertragen. Der Speicher 120 gibt synchronisiert mit dem internen Taktsignal ICLK mit der Adresse ADD1 korrespondierende Daten D1a aus (Schritt S100). Die ausgegebenen Daten D1a werden temporär über den Multiplexer 151 im ersten Puffer 152 gespeichert. Dann gibt der Speicher 120 wieder synchronisiert mit dem internen Taktsignal ICLK Daten D1b der Adresse ADD1 aus (Schritt S110). Die ausgegebenen Daten D1b werden temporär über den Multiplexer 151 im zweiten Puffer 153 gespeichert.
  • Der Komparator 154 der manipulationsgeschützten Schaltung 150 stellt fest, ob die Daten D1a vom ersten Puffer 152 identisch sind mit den Daten D1b des zweiten Puffers 153 (Schritt S120). Der Kern 110 lädt in Abhängigkeit vom Flag-Signal FLAG des Komparators 154 die Daten D1a aus dem ersten Puffer 152 (Schritt S130). Das bedeutet, dass wenn das Flag-Signal FLAG anzeigt, dass die Daten D1a identisch sind mit den Daten D1b, der Kern 110 die Daten D1a aus dem ersten Puffer 152 lädt. Wenn das Flag-Signal FLAG andererseits anzeigt, dass die Daten D1a nicht identisch sind mit den Daten D1b, lädt der Kern 110 die Daten D1a nicht aus dem ersten Puffer 152 (Schritt S140). Nach den Schritten S130 und S140 bestimmt der Kern 110, ob alle Daten geladen sind (Schritt 150). Wenn nicht, dann springt das Verfahren zum Schritt S100. Wenn ja, dann ist der oben beschriebene Lesevorgang beendet.
  • Im Fall des erfindungsgemäßen Datenverarbeitungssystems wird ein Lesevorgang zweimal während einer Periode des externen Taktsignals XLK ausgeführt. Das bedeutet, dass die im Speicher 120 gespeicherten Daten sequentiell zweimal von der gleichen Stelle ausgelesen werden, die von der Adresse ADDi (i = 1 bis 4) bezeichnet wird. Durch Benutzen dieser Lesemethode ist es möglich, zu verhindern, dass das Datenverarbeitungssystem in Folge eines Angriffs mit Störimpulsen auf einen Versorgungsanschluss abnormal arbeitet.
  • Wie oben bereits angedeutet, besteht ein Angriff mit Störimpulsen darin, an einen Versorgungsanschluss ein Pulssignal mit einem höheren oder niedrigeren Pegel als die Versorgungsspannung und mit einer kürzeren Periode als das externe Taktsignal XCLK anzulegen. Wenn die Versorgungsspannung einen Angriff mit Störimpulsen erfährt, können die aus dem Speicher 120 ausgelesenen Daten modifiziert werden. Weil das Pulssignal für den Störimpulsangriff eine kürzere Periode hat als das externe Taktsignal XCLK, kann das Datenverarbeitungssystem einen Störimpulsangriff nur während einer Phase des externen Taktsignals XCLK mit einem hohen Pegel oder mit einem niedrigen Pegel erleiden. Es sei beispielsweise angenommen, dass die durch einen Störimpulsangriff modifizierten Daten solche sind, die während einer ersten Phase, d. h. einer Phase mit einem hohen Pegel, des externen Taktsignals XCLK ausgelesen und temporär in einem der Puffer gespeichert werden. Während der zweiten Phase, d. h. einer Phase mit einem niedrigen Pegel, des externen Taktsignals XCLK werden Daten von der gleichen Stelle ausgelesen und im anderen Puffer gespeichert. Weil der Lesevorgang, der während der zweiten Phase des externen Taktsignals XCLK ausgeführt wird, nicht unter einem Störimpulsangriff leidet, lädt der Kern 110 selektiv in Abhängigkeit vom Datenvergleichsergebnis die Daten, auf die aktuell zugegriffen wird. Entsprechend ist es möglich, das Datenverarbeitungssystem vor einer Fehlfunktion durch einen Störimpulsangriff zu schützen, der auf einen Vorsorgungsanschluss ausgeführt wird.
  • Fig. 4 zeigt ein Blockschaltbild eines zweiten Ausführungsbeispiels eines Datenverarbeitungssystems 200. In Fig. 4 sind Elemente, die auch in Fig. 1 dargestellt sind, mit dem gleichen Bezugszeichen versehen, so dass zu deren Beschreibung auf diejenige von Fig. 1 verwiesen werden kann. Das Datenverarbeitungssystem 200 ist bis auf die manipulationsgeschützte Schaltung 210 gleich aufgebaut wie das Datenverarbeitungssystem 100 aus Fig. 1. Die manipulationsgeschützte Schaltung 210 umfasst ein Schieberegister 220 und einen Komparator 230.
  • Das Schieberegister 220 speichert in Abhängigkeit vom internen Taktsignal ICLK sequentiell Daten aus dem Speicher 120. Das Schieberegister 220 kann Daten speichern, auf die während zwei Perioden des internen Taktsignals ICLK zugegriffen wird. So können beispielsweise erste Daten, auf die während der ersten Phase, d. h. der Phase mit einem hohen Pegel, des externen Taktsignals XCLK zugegriffen wird, im Schieberegister 220 gespeichert werden, und zweite Daten, auf die während der zweiten Phase, d. h. der Phase mit einem niedrigen Pegel, des externen Taktsignals XCLK zugegriffen wird, fortlaufend im Schieberegister 220 gespeichert werden. Die ersten Daten werden von den eingegebenen zweiten Daten verschoben und dann werden die ersten und zweiten Daten gleichzeitig zum Komparator 230 übertragen. Hierbei wird auf die ersten Daten und auf die zweiten Daten mit der gleichen Adresse zugegriffen. Der Komparator 230 vergleicht die ersten Daten aus dem Schieberegister 220 mit den zweiten Daten aus dem Schieberegister 220 und gibt in Abhängigkeit vom Vergleichsergebnis das Flag-Signal FLAG aus. Der Kern 110 ruft in Abhängigkeit vom Flag-Signal FLAG selektiv die temporär im Schieberegister 220 gespeicherten ersten Daten ab.
  • Ein Lesevorgang des Datenverarbeitungssystems 200 des zweiten Ausführungsbeispiels ist identisch zu einem Lesevorgang des Datenverarbeitungssystems 100 des ersten Ausführungsbeispiels, weshalb auf eine nochmalige Beschreibung hier verzichtet wird. Es ist klar, dass das zweite Datenverarbeitungssystem 200 die gleichen Eigenschaften hat wie das erste Datenverarbeitungssystem 100. Das Datenverarbeitungssystem der Erfindung kann z. B. eine intelligente Karte, eine Mikroprozessoreinheit und dergleichen sein.

Claims (16)

1. Verfahren zur Manipulationsverhinderung bei einem Datenverarbeitungssystem (100, 200) mit einem Speicher (120) und einem Prozessor (110), gekennzeichnet durch die Schritte:
- Auslesen von ersten Daten (D1a) aus einem von einer Adresse (ADD) bezeichneten Bereich des Speichers (120),
- Auslesen von zweiten Daten (D1b) aus dem von der Adresse (ADD) bezeichneten Bereich des Speichers (120),
- Feststellen, ob die ersten Daten (D1a) mit den zweiten Daten (D1b) identisch sind, und
- Abrufen/Laden der ersten oder der zweiten Daten (D1a, D1b) durch den Prozessor (110), wenn die Daten identisch sind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei Synchronisation des Prozessors mit einem externen Taktsignal (XCLK) die ersten Daten (D1a) und die zweiten Daten (D1b) nacheinander aus dem Speicher (120) mit der gleichen Adresse während einer Periodendauer des externen Taktsignals (XCLK) ausgelesen werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass
ein internes Taktsignal (ICLK) synchronisiert mit dem externpn Taktsignal (XCLK) erzeugt wird, wobei die Periode des externen Taktsignals (XCLK) doppelt so lang ist wie die Periode des internen Taktsignals (ICLK), und
die ersten und die zweiten Daten (D1a, D1b) nacheinander während einer Periode des externen Taktsignals (XCLK) synchronisiert mit dem internen Taktsignal (ICLK) ausgelesen werden.
4. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Prozessor (110) weder die ersten, noch die zweiten Daten (Dla, D1b) abruft, wenn die Daten (Dla, D1b) nicht identisch sind.
5. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass ein Flag-Signal (FLAG) erzeugt wird, das anzeigt, ob die ersten und die zweiten Daten (D1a, D1b) identisch sind.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Abrufvorgang in Abhängigkeit vom Flag-Signal (FLAG) ausgeführt wird.
7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Feststellungschritt durch eine manipulationsgesicherte Schaltung (150, 210) durchgeführt wird, welche die ersten und die zweiten Daten (D1a, D1b) empfängt und die empfangenen Datenwerte miteinander vergleicht.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass
die Daten aus dem Speicher (120) von einem Multiplexer (151) der manipulationsgesicherten Schaltung (150) in einen ersten Puffer (152) oder in einen zweiten Puffer (153) der manipulqtionsgesicherten Schaltung (150) in Abhängigkeit vom internen Taktsignal (ICLK) multiplext werden und
die Ausgangssignale des ersten und zweiten Puffers (152, 153) von einem Komparator (154) der manipulationsgesicherten Schaltung (150) verglichen werden und das Flag-Signal (FLAG) als Vergleichsergebnis vom Komparator erzeugt wird.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass
die ersten und zweiten Daten (D1a, D1b), die sequentiell vom Speicher (120) während einer ersten und einer zweiten Hälfte einer Periodendauer des externen Taktsignals (XCLK) ausgegeben werden, durch ein Schieberegister (220) der manipulationsgesicherten Schaltung (210) gespeichert werden und
die ersten und zweiten Daten (Dla, D1b) aus dem Schieberegister (220) durch einen Komparator (230) der manipulationsgesicherten Schaltung (210) verglichen werden und das Flag- Signal (FLAG) als Vergleichsergebnis vom Komparator erzeugt wird.
10. Datenverarbeitungssystem mit
einem Prozessorkern (110) zum Erzeugen einer Adresse (ADD) synchronisiert mit einem ersten Taktsignal (XCLK),
einem Taktgenerator (140) zum Erzeugen eines zweiten Taktsignals (ICLK) in Abhängigkeit vom ersten Taktsignal (XCLK), wobei eine Periode des ersten Taktsignals (XCLK) doppelt so lang ist wie die Periode des zweiten Taktsignals (ICLK), und
einem Speicher (120) zum Ausgeben von Daten synchronisiert mit dem zweiten Taktsignal in Abhängigkeit von einer vom Prozessorkern (110) übertragenen Adresse (ADD), gekennzeichnet durch
eine manipulationsgeschützte Schaltung (150, 210) zum Empfangen der vom Speicher (120) ausgegebenen Daten in Abhängigkeit vom zweiten Taktsignal (ICLK) und zum Vergleichen der während einer Periode des ersten Taktsignals (XCLK) empfangenen Datenwerte, wobei der Prozessorkern (110) die Daten von der manipulationsgeschützten Schaltung (150, 210) nur lädt, wenn die während einer ersten Hälfte der Periode des ersten Taktsignals (XCLK) an die manipulationsgeschützte Schaltung (150, 210) übertragenen Daten identisch sind zu Daten, die während der zweiten Hälfte der Periode des ersten Taktsignals (XCLK) an die manipulationsgeschützte Schaltung (150, 210) übertragen werden.
11. Datenverarbeitungssystem nach Anspruch 10, dadurch gekennzeichnet, dass die manipulationsgeschützte Schaltung (150, 210) ein Flag-Signal erzeugt, welches anzeigt, ob die Datenwerte, die während einer Periode des ersten Taktsignals (XCLK) empfangen werden, den gleichen Wert haben.
12. Datenverarbeitungssystem nach Anspruch 11, dadurch gekennzeichnet, dass der Prozessorkern (110) selektiv Daten in Abhängigkeit vom Flag-Signal (FLAG) von der manipulationsgeschützten Schaltung (150, 210) empfängt.
13. Datenverarbeitungssystem nach Anspruch 12, dadurch gekennzeichnet, dass der Prozessorkern (110) die Daten in Abhängigkeit vom Flag-Signal (FLAG) von der manipulationsgeschützten Schaltung (150, 210) dann empfängt, wenn das Flag-Signal anzeigt, dass die Datenwerte, die während einer Periode des ersten Taktsignals (XCLK) empfangen werden, identisch sind.
14. Datenverarbeitungssystem nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass der Prozessorkern (110) die Daten in Abhängigkeit vom Flag-Signal (FLAG) von der manipulationsgeschützten Schaltung (150, 210) nicht empfängt, wenn das Fläg-Signal anzeigt, dass die Datenwerte, die während einer Periode des ersten Taktsignals (XCLK) empfangen werden, unterschiedlich sind.
15. Datenverarbeitungssystem nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass die manipulationsgesicherte Schaltung (150) folgende Elemente umfasst:
1. einen ersten und einen zweiten Puffer (152, 153),
2. einen Multiplexer (151) zum Multiplexen der Daten aus dem Speicher (120) in den ersten Puffer (152) oder in den zweiten Puffer (153) in Abhängigkeit vom zweiten Taktsignal (ICLK) und
3. einen Komparator (154) zum Vergleichen der Ausgangssignale des ersten und zweiten Puffers (152, 153) und zum Erzeugen des Flag-Signals (FLAG) als Vergleichsergebnis.
16. Datenverarbeitungssystem nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass die manipulationsgesicherte Schaltung (210) folgende Elemente umfasst:
1. ein Schieberegister (220) zum Speichern der ersten und zweiten Daten (D1a, D1b), die sequentiell vom Speicher (120) während einer ersten und einer zweiten Hälfte einer Periodendauer des ersten Taktsignals (XCLK) ausgegeben werden, und
2. einen Komparator (230) zum Vergleichen der ersten und zweiten Daten (D1a, D1b) aus dem Schieberegister (220) und zum Erzeugen des Flag-Signals (FLAG) als Vergleichsergebnis.
DE10319585A 2002-04-29 2003-04-24 Manipulationsgeschütztes Datenverarbeitungssystem und zugehöriges Verfahren zum Manipulationsschutz Expired - Lifetime DE10319585B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR2002/23429 2002-04-29
KR10-2002-0023429A KR100476892B1 (ko) 2002-04-29 2002-04-29 데이터의 부정조작을 방지하는 방법 및 그것을 이용한데이터 처리 시스템

Publications (2)

Publication Number Publication Date
DE10319585A1 true DE10319585A1 (de) 2003-11-20
DE10319585B4 DE10319585B4 (de) 2005-08-04

Family

ID=29244807

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10319585A Expired - Lifetime DE10319585B4 (de) 2002-04-29 2003-04-24 Manipulationsgeschütztes Datenverarbeitungssystem und zugehöriges Verfahren zum Manipulationsschutz

Country Status (5)

Country Link
US (1) US6965977B2 (de)
KR (1) KR100476892B1 (de)
DE (1) DE10319585B4 (de)
FR (1) FR2843466B1 (de)
IT (1) ITMI20030824A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
KR100618051B1 (ko) 2005-09-08 2006-08-30 삼성전자주식회사 전압 글리치를 검출하기 위한 장치와 검출방법
US8010585B2 (en) * 2006-02-10 2011-08-30 Stmicroelectronics S.A. Checking the integrity of programs or the sequencing of a state machine
US20080086781A1 (en) * 2006-10-06 2008-04-10 Stephane Rodgers Method and system for glitch protection in a secure system
WO2009034490A1 (en) * 2007-09-10 2009-03-19 Nxp B.V. Integrated circuit with data line monitoring and alarm signal
FR2923923B1 (fr) * 2007-11-19 2009-12-04 St Microelectronics Sa Verification de donnees lues en memoire
FR2925968B1 (fr) * 2007-12-26 2011-06-03 Ingenico Sa Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants
US8726042B2 (en) * 2008-02-29 2014-05-13 Microsoft Corporation Tamper resistant memory protection
EP2294526B1 (de) * 2008-05-15 2015-05-27 Nxp B.V. Verfahren für sicheres datenlesen und datenhandhabungssystem
US20100132047A1 (en) * 2008-11-24 2010-05-27 Honeywell International Inc. Systems and methods for tamper resistant memory devices
US8378710B1 (en) 2011-09-20 2013-02-19 Nxp B.V. Secure device anti-tampering circuit
EP2690579A1 (de) 2012-07-27 2014-01-29 Gemalto SA Verfahren und Vorrichtung zum Schutz vor Fehlerangriffen in einem elektronischen Gerät mit Cache-Speicher
KR101711024B1 (ko) * 2013-12-19 2017-02-28 한국전자통신연구원 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
EP3057027B1 (de) * 2015-02-16 2018-06-13 Nxp B.V. Verfahren zum sicheren Lesen von Daten, Computerprogrammprodukt und Datenhandhabungssystem
CN108073805A (zh) 2016-11-15 2018-05-25 华为技术有限公司 一种数据读取方法和存储器
EP3882798A1 (de) * 2020-03-20 2021-09-22 Thales Dis Design Services Sas Verfahren zum sicheren zugriff auf eine speicherkomponente
US20230124622A1 (en) * 2021-10-14 2023-04-20 Arm Limited Alarm Systems and Circuits

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6140652A (ja) 1984-08-01 1986-02-26 Yaskawa Electric Mfg Co Ltd メモリの書込み保護方法及び回路
JPS63165936A (ja) * 1986-12-26 1988-07-09 Toshiba Corp 集積回路カ−ド
JP2941817B2 (ja) * 1988-09-14 1999-08-30 株式会社日立製作所 ベクトル処理装置
JP3035828B2 (ja) * 1989-12-28 2000-04-24 甲府日本電気株式会社 情報処理装置
US5467396A (en) * 1993-10-27 1995-11-14 The Titan Corporation Tamper-proof data storage
KR100232086B1 (ko) * 1994-03-07 1999-12-01 미쉘 꼴롱브 보안성 메모리 카드
GB2293469A (en) * 1994-09-22 1996-03-27 Secr Defence Error detection in arithmetic circuit.
JPH10228772A (ja) * 1997-02-18 1998-08-25 Mitsubishi Electric Corp 同期型半導体記憶装置
US6247151B1 (en) * 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges

Also Published As

Publication number Publication date
KR20030085236A (ko) 2003-11-05
ITMI20030824A1 (it) 2003-10-30
FR2843466A1 (fr) 2004-02-13
KR100476892B1 (ko) 2005-03-17
FR2843466B1 (fr) 2006-04-21
US6965977B2 (en) 2005-11-15
DE10319585B4 (de) 2005-08-04
US20030204696A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
DE10319585B4 (de) Manipulationsgeschütztes Datenverarbeitungssystem und zugehöriges Verfahren zum Manipulationsschutz
DE3700663C2 (de)
DE2560688C2 (de)
EP0207320B1 (de) Integrierte Schaltung und Verfahren zum Sichern von geheimen Codedaten
EP0281057B1 (de) Schaltungsanordnung zur Sicherung des Zugangs zu einem Datenverarbeitungssystem mit Hilfe einer Chipkarte
DE2837201C2 (de)
EP0766211A2 (de) Multifunktionale Chipkarte
DE3044463A1 (de) Verfahren und vorrichtung zum codieren einer karte
DE3103514A1 (de) Verfahren und vorrichtung zum steuern einer gesicherten transaktion
DE3318101A1 (de) Schaltungsanordung mit einem speicher und einer zugriffskontrolleinheit
EP1496420B1 (de) Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
EP0224639B1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
EP0811204A1 (de) Verarbeitung langer nachrichten in einer prozessorkarte
EP0127809B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE69835282T2 (de) Schaltungsanordnung zur Spannungsüberwachung und Speicherkarte mit einer solchen Schaltung
DE102006035610B4 (de) Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
WO1998041880A2 (de) Integrierte schaltung und verfahren zum testen der integrierten schaltung
DE2858819C2 (de) Tragbarer Informationsträger für die Speicherung und Verarbeitung von Informationen
DE10162310A1 (de) Verfahren und Anordnung zur Übertragung von Signalen von erzeugenden Funktionseinheiten an verarbeitende Funktionseinheiten elektrischer Schaltungen
EP0818749A2 (de) Verfahren und System zum Sichern von Daten
EP0970446A2 (de) Verfahren zur durchführung von veränderungen in berechtigungsdatensätzen
WO1998039745A2 (de) Tragbarer datenträger und verfahren zu dessen kryptographisch gesicherten benutzung mit austauschbaren kryptographischen schlüsseln
DE10322671B4 (de) Vorrichtung,Verfahren sowie Computer-Programm zur Verschleierung der Stromaufnahme einer Datenverarbeitungsvorrichtung
DE102005058878B4 (de) Datentransfervorrichtung und Verfahren zum Senden von Daten
WO2000002170A1 (de) Verfahren zum schutz von daten auf einem datenträger sowie dazu ausgestaltete chipkarte, lesegerät und chipsatz

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R071 Expiry of right