AT508441B1 - Verfahren zum prüfen einer chipkarte durch simulation von angriffen - Google Patents

Verfahren zum prüfen einer chipkarte durch simulation von angriffen Download PDF

Info

Publication number
AT508441B1
AT508441B1 ATA932/2010A AT9322010A AT508441B1 AT 508441 B1 AT508441 B1 AT 508441B1 AT 9322010 A AT9322010 A AT 9322010A AT 508441 B1 AT508441 B1 AT 508441B1
Authority
AT
Austria
Prior art keywords
attack
chip
simulated
operating system
hardware
Prior art date
Application number
ATA932/2010A
Other languages
English (en)
Other versions
AT508441A3 (de
AT508441A2 (de
Original Assignee
Austria Card 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 Austria Card Gmbh filed Critical Austria Card Gmbh
Publication of AT508441A2 publication Critical patent/AT508441A2/de
Publication of AT508441A3 publication Critical patent/AT508441A3/de
Application granted granted Critical
Publication of AT508441B1 publication Critical patent/AT508441B1/de

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zum Prüfen einer Chipkarte mit Angriffen auf das Betriebssystem oder die Applikationen bei der Herstellung der Chipkarte, wobei ein hardwaremäßiger Angriff auf die Chipkarte dadurch simuliert wird, dass stattdessen mit einer Angriffssoftware (18) in den Programmablauf des Betriebssystems oder der Applikationen über die Schnittstelle (16) eingegriffen wird und gezielt bestimmte Daten entsprechend einem hardwaremäßigen Angriff verändert werden, wobei Betriebssystem oder die Applikationen auf einem durch einen Chip-Simulator (17) simulierten Chip (15) ausgeführt werden, und wobei durch Variation der Anzahl von veränderten Speicher-Bits bzw. Bytes und der geschriebenen Werte unterschiedliche Angriffsparameter, wie insbesondere Fokussierung, Energie, Wellenlänge der eingestrahlten elektromagnetischen Wellen, Angriff durch direkte Kontaktierung mit Micro-Probes, Angriff durch ionisierende Strahlung, simuliert werden.

Description

Beschreibung
VERFAHREN ZUM PRÜFEN EINER CHIPKARTE DURCH SIMULATION VON ANGRIFFEN
[0001] Chipkarten, die von einem Hersteller an einen Chipkarten-Verwender geliefert werden, werden von dem Chipkarten-Hersteller mit einer bestimmten Software programmiert. Es handelt sich hierbei um ein Betriebssystem und Applikationen. Das Betriebssystem und die Applikationen enthalten verschiedene Prüfroutinen zur Überprüfung der Daten- und Ablaufintegrität der Chipkarte.
[0002] Solche fertig programmierten und ablauffähigen Chipkarten werden in einem Prüflabor mit bekannten Verfahren geprüft, wobei auch Angriffe auf die Chipkarte mit Hilfe von Laserstrahlen, Licht, ionisierender Strahlung und mit Spannungs- und Frequenzveränderungen an den Kontakten des Chips sowie physikalische Manipulationen mittels sehr feine Sonden / Kontakten und chemische Manipulationen durchgeführt werden.
[0003] Eine bekannte Angriffsmethode besteht darin, dass versucht wird, in der auf der Chipkarte ablaufenden Software gezielt Fehler auszulösen (als „fault induction“ oder Fehlerinduktion bekannt).
[0004] Hierbei ist es bekannt, mit einem Laserstrahl über ein Mikroskop auf die Oberfläche des Chips einzustrahlen und hierbei in einem sehr feinen Raster den Chip der Chipkarte zu beschießen.
[0005] Solche Angriffe werden mit umfangreichen Ortsveränderungen (X, Y Koordinate auf der Chipoberfläche) des Laserstrahls durchgeführt wobei sowohl die Intensität des Lasers, die Fokussierung des Lasers, die Wellenlänge des Lasers, die Zeitpunkte des Angriffs und andere Parameter geändert werden, um einen - nicht erwünschten - Fehler auf dem Chip zu provozieren.
[0006] Insgesamt ist dies ein sehr zeitaufwendiger und ressourcenaufwendiger Prozess, der im Prinzip immer nur das Ziel hat, eine bestimmte unbekannte Stelle in der Hardware zu manipulieren. Das Endergebnis eines solchen Angriffes ist im Erfolgsfall, dass • der Inhalt einer Speicherzelle (im flüchtigen oder nicht-flüchtigen Speicherbereich) geändert wird oder • der Inhalt eines Prozessor-Registers (eines Haupt- oder Co-Prozessors oder ein spezielles Hardware-Register) geändert wird. Handelt es sich hierbei beispielsweise um den so genannten Programm Counter, welcher den als nächsten auszuführenden Befehl bezeichnet, so wird das Programm an einer anderen Stelle fortgesetzt.
[0007] Eine solche Veränderung des Inhaltes kann grundsätzlich persistent oder transient sein. Folgende Fälle sind zu unterscheiden: • persistente Veränderung im nicht flüchtigen Speicher: alle nachfolgenden Lese-Zugriffe liefern den geänderten Wert zurück. • Persistente Veränderung im flüchtigen Speicher: alle nachfolgenden Lese-Zugriffe bis zum nächsten Reset des Chips liefern den veränderten Wert zurück (nach dem Reset ist der Inhalt des flüchtigen Speichers im Allgemeinen Undefiniert). • Persistente Veränderung eines Prozessor-Registers: alle nachfolgenden Lese-Zugriffe bis zu dem Zeitpunkt an dem ein neuer Wert in das Register geschrieben wird (das kann auch selbsttägig von der Chip- Hardware verursacht werden), liefern den geänderten Wert zurück • Transiente Veränderung einer Speicherzelle oder eines Registers: nur der aktuelle Lese-Zugriff auf die Speicherzelle oder ein Register liefert einen geänderten Wert zurück. Alle nachfolgenden Lese-Zugriffe liefern wieder den korrekten Wert zurück. Dieser Angriff funktioniert im Allgemeinen nur dann, wenn der Angriff exakt zum Zeitpunkt des
Lese-Zugriffs ausgeführt wird. Es handelt sich hier um den Angriff mit der derzeit höchsten - da auf realer Hardware am einfachsten ausführbaren - Erfolgsrate.
[0008] Die derzeit bekannten Angriffe auf reale Hardware haben gemeinsam, dass das Setzen einer Speicherzelle auf einen bestimmten Wert im Allgemeinen sehr schwierig ist, sondern ein zumeist ein - von außen für den Angreifer aufgrund von Speicherverschlüsselungsmechanismen - nicht vorhersehbares Bit-Muster gesetzt wird oder alle Bits der zu verändernden Speicherzelle auf den Wert Null oder alle Bits auf den Wert Eins gesetzt werden.
[0009] Simulation von Software und Hardware ist eine Technik, welche im Entwicklungsprozess von Chipkarten bereits etabliert und beispielsweise in der Patentveröffentlichung US 5671352 A offenbart ist. Diese Technik kann ebenfalls zur Simulation von Störungen genutzt werden. Gemäß US 5671352 A werden sogeannte „error handler" auf einer simulierten Hardware getestet, indem in die simulierte Hardware eine einen Adressbereich beschreibende Fehlerinformation und ein Fehlertyp eingespeist und die Reaktion des error handlers ausgewertet wird.
[0010] Der Erfindung liegt die Aufgabe zu Grunde, einen Angriff auf die Chipkarte und insbesondere auf den Chip der Chipkarte durch eine Software zu simulieren, ohne dass es des hardwaremäßigen Einsatzes eines Lasers oder anderer energiereicher Strahlen, einer physikalischen oder chemischen Manipulation des Chips bedarf.
[0011] Zur Lösung der gestellten Aufgabe ist die Erfindung durch die technische Lehre des Anspruches 1 gekennzeichnet.
[0012] Hardwaremäßige Angriffe auf die Chipkarte können dadurch simuliert werden, dass mit einer Angriffssoftware in den Programmablauf des Betriebssystems oder der Applikationen durch einen Chip-Simulator eines simulierten Chips über die Schnittstelle eingegriffen wird und gezielt bestimmte Daten entsprechend einem hardwaremäßigen Angriff verändert werden.
[0013] Die Idee besteht darin, bestimmte physikalische Parameter von Angriffen zu simulieren und eine Analyse ihrer Auswirkungen (z.B. durch Statistik) durchzuführen.
[0014] Durch die Simulation wird der zeit- und ressourcenintensiven Hardwareprozess überhaupt nicht mehr zu benötigt und / oder eine Gefahrenanalyse durch die Simulation erhalten. Diese Simulation ist relativ einfach, weil das Fehlermodell welches dahintersteht einfach ist. Das Fehlermodel besteht darin, entweder den Inhalt einer Speicherzelle oder eines Registers permanent oder transient zu verändern.
[0015] Ein Vorteil ist, dass Angriffe dadurch gezielt simuliert werden können. Dazu macht man es sich zu Nutze, dass bei der Simulation die Aufteilung des logischen Speicheradressraumes in unterschiedliche physikalische Speicher (beispielsweise ROM, EEPROM, RAM, Flash) und die unterschiedliche Arten von Registern bekannt sind. So können unterschiedliche Klassen von Fehlern getrennt simuliert und betrachtet werden, wie beispielsweise: • Veränderung des Programm-Counters • Veränderung des Prozessor-Stacks • Veränderung von Hardware-Registern • Veränderungen im flüchtigen Speicher • Veränderungen im nicht flüchtigen Speicher.
[0016] Ferner können so durch Einbringen von transienten bzw. persistenten Fehlern unterschiedliche Hardware-Angriffe simuliert werden.
[0017] Dies ist deshalb interessant, da für diese unterschiedlichen Fehlerklassen im Allgemeinen unterschiedliche Sicherheitsmaßnahmen implementiert sind.
[0018] Ebenso wird man für alle diese Klassen transiente und persistente Fehler getrennt betrachten und analysieren können.
[0019] Ob alle Fehlerarten betrachtet werden oder nur bestimmte Fehlerarten, hängt davon ab, welche Fehlerarten nach dem Stand der Technik auf der jeweiligen Chip-Hardware Plattform bekannterweise mit hoher bzw. geringer Wahrscheinlichkeit erfolgreich ausgeführt werden können.
[0020] Ein weiterer Vorteil ist im Folgenden beschrieben: Bei der tatsächlichen Durchführung von Angriffen besteht das weitere Problem, dass es auch Hardware- Gegenmaßnahmen gibt, die eben z. B. ebenfalls die Speicherintegrität oder die Integrität von Registern prüfen oder die versuchen Angriffe mittels Sensoren zu erkennen. Diese Hardware-Gegenmaßnahmen kann man auf der Softwareseite erfindungsgemäß im Simulationsfall ausschalten und getrennt betrachten, dadurch kann erfindungsgemäß der statistische oder diskrete Prozess des Angreifens der Hardware durch eine softwaremäßige Simulation wesentlich genauer betrachtet werden; er ist schneller und benötigt weniger Ressourcen schonender.
[0021] Wenn man nun erfindungsgemäß einen Angriff simulieren will, benötigt man hierzu einen softwaremäßig hergestellten Chip-Simulator mit einer Schnittstelle zur erfindungsgemäßen Angriffs-Software.
[0022] Bei einer weiteren Ausführungsform kann anstelle der Chip-Simulation Software auch eine Chip-Emulator Hardware eingesetzt werden.
[0023] Die Schnittstelle zwischen Chip-Simulator und Angriffs-Software ist relativ einfach. Zumindest folgende Zugriffsmöglichkeiten werden benötigt: • Zugriff auf die Speicherzellen des simulierten Chips • Zugriff auf die Register (aller enthaltenen Prozessoren) des simulierten Chips [0024] Die Zugriffe müssen zu jedem Zeitpunkt schreibend und lesend möglich sein. Heute bekannte Chip-Simulatoren bieten im Allgemeinen diese Möglichkeiten.
[0025] Über diesen einfachen Mechanismus kann man nun erfindungsgemäß alle Arten von Angriffen simulieren.
[0026] Ein Angriff kann beispielsweise wie folgt simuliert werden: [0027] Die Angriffs-Software prüft durch Auslesen des Programm-Counters bzw. durch Zählen der abgearbeiteten Prozessor-Instruktionen, an welcher Stelle im Programmablauf sich die Chip-Software gerade befindet. Stimmt diese mit der anzugreifenden Stelle überein, wird ein Angriff durchgeführt. Durch Variieren der anzugreifenden Stelle können Variationen des Zeitpunktes des Angriffes simuliert werden. Der Angriff selbst manipuliert nun einen bestimmten Speicherbereich im flüchtigen oder nicht flüchtigen Speicher-Bereich oder von Registern. Durch die Variation des angegriffenen Speicherbereiches bzw. der unterschiedlichen Register werden daher die unterschiedlichen Orte des Angriffes an der Chipoberfläche (X, Y Koordinaten) simuliert.
[0028] Durch Variation der Anzahl der veränderten Speicher-Bits und der geschriebenen Werte d.h. unterschiedlicher Angriffsparameter (insbesondere Fokussierung, Energie, Wellenlänge der eingestrahlten elektromagnetischen Wellen, Angriff durch direkte Kontaktierung mit Micro-Probes, Angriff durch ionisierende Strahlung) kann beispielsweise die Angriffsart simuliert werden.
[0029] Man kann deshalb im Wesentlichen auf die im Labor durchgeführten hardwaremäßigen Angriffe verzichten, die außerordentlich zeitaufwendig sind und Maschinen-Ressourcen benötigen. Nachteil dieser hardwaremäßigen Angriffe ist nämlich, dass man aus physikalischen oder zeitlichen Gründen nicht jede Stelle des Chips bei gleichzeitiger Variation aller anderen Parameter beschießen kann, weil dies entweder aus räumlichen Gründen nicht möglich ist oder sich eine außerordentliche zeitaufwendige Überprüfung ergeben würde.
[0030] Vorteil der Erfindung ist, dass man Testergebnisse, die beim softwaremäßigen Angriff auf den Chip erkannt werden, bei der Programmierung des Chips oder der Chip-Betriebssoftware wieder berücksichtigt werden können. D.h., bei der Chipentwicklung können Ergebnisse bezüglich der Angreifbarkeit des Chips erkannt und vorweggenommen werden, wodurch die Chipsoftware insgesamt verlässlicher und sicherer wird. Weiters würden damit die Kosten einer Sicherheitszertifizierung wesentlich gesenkt und der Zeitaufwand dementsprechend minimiert werden.
[0031] Solche Angriffe, die auf der Hardwareseite nach dem Stand der Technik stattfinden, werden im Zeitablauf Wochen verwendet, um solche Angriffe realistisch durchzuführen, was mit den Merkmalen der vorliegenden Erfindung mit Sicherheit vermieden wird. Dies ist sowohl ein Vorteil für den Entwickler (Austria Card) als auch für das Prüflabor, weil einerseits der Entwicklungsaufwand minimiert wird und andererseits die Prüfroutinen und die Prüfprozeduren wesentlich verkürzt werden.
[0032] Oft müssen sicherheitskritische Systeme in regelmäßigen Abständen (z.B. zwei Jahre) zertifiziert werden und es sind immer neue Zertifikationsprozesse notwendig, die mit den Merkmalen der vorliegenden Erfindung damit wesentlich verkürzt und kostengünstiger gestaltet werden können.
[0033] Im Folgenden ist der typische Ablauf der Kommando-Abarbeitung innerhalb eines Chipkarten-Betriebssystems beschrieben.
[0034] Die typische Kommando-Abarbeitung innerhalb des Chipkarten-Betriebssystems läuft wie folgt ab: Alle Kommandos an die Chipkarte empfängt diese über eine I/O- Schnittstelle. Fehlererkennungs- und -Korrekturmechanismen führt der I/O-Manager bei Bedarf völlig unabhängig von den übrigen, darauf aufbauenden Schichten aus. Nachdem ein Kommando vollständig und fehlerfrei empfangen wurde, muss der Secure Messaging Manager diesen gegebenenfalls entschlüsseln oder auf Integrität prüfen. Findet eine gesicherte Datenübertragung statt, ist dieser Manager sowohl für Kommando als auch Antwort völlig transparent.
[0035] Nach dieser Bearbeitung versucht die darüberliegende Schicht, der Kommandointerpreter, das Kommando zu dekodieren. Ist dies nicht möglich, folgt ein Aufruf des Returncode-Managers, welcher einen entsprechenden Returncode generiert und via I/O-Manager an das Terminal zurücksendet. Es kann notwendig sein, den Returncode-Manager applikationsspezifisch zu gestalten, da die Returncodes nicht zwangsläufig für alle Anwendungen einheitlich sind. Konnte das Kommando jedoch dekodiert werden, ermittelt der Logical Channel Manager den angewählten Kanal, schaltet auf dessen Zustände um und ruft dann im Gutfall den Zustandsautomaten auf.
[0036] Dieser prüft nun, ob das Kommando an die Chipkarte mit den gesetzten Parametern im aktuellen Zustand überhaupt erlaubt ist. Ist dies der Fall, wird der eigentliche Programmcode des Anwendungskommandos ausgeführt, welcher die Abarbeitung des Kommandos übernimmt. Falls das Kommando im aktuellen Zustand verboten ist oder die Parameter dazu nicht erlaubt sind, erhält das Terminal über Returncode Manager und I/O-Manager eine entsprechende Meldung.
[0037] Die Dateiverwaltung selber benutzt einen weiteren Speichermanager, der die komplette Verwaltung des physikalisch adressierten nichtflüchtigen Speichers übernimmt. Damit ist sichergestellt, dass nur in diesem Programmmodul mit echten physikalischen Adressen gearbeitet wird, was die Portabilität und Sicherheit des Betriebssystems erheblich steigert.
[0038] Die beigefügte Abbildung zeigt ein Blockschaltbild, in welchem einerseits der durch die Chip-Simulationssoftware (17) simulierte Chip (15) und die typischen den Chip aufbauenden Komponenten (1) - (14) sowie weiters die erfindungsgemäße Angriffssoftware (18) eingezeichnet sind. Diese führt Zugriffe (19) - (24) über die bereits bekannte Schnittstelle (16) auf folgende Komponenten des simulierten Chips (15) zu: • Speichereinheit (1) bestehend aus o RAM (2): Zugriff (19) o EEPROM (3): Zugriff (20) oROM (4): Zugriff (21) • CPU (5) enthaltend o Register (6): Zugriff (22) • Beliebige Anzahl von Co-Prozessoren (7): Zugriff (23) • Special Function Register (8): Zugriff (24) [0039] Auf die Komponenten • Timer (9) • Takterzeuger (10) • I/O Baustein (11) • Sensoren (12) • RNG (13) wird typischerweise durch Zugriff auf spezielle definierte Speicherbereiche (d.h. auf (2), (3), (4) und Special Function Register (8) zugegriffen.
[0040] Mit den eingezeichneten Zugriffen (19) - (24) können somit gezielt Daten gelesen und verändert werden, um einen Fehlerfall zu provozieren.
[0041] Insbesondere kann ein Speicherwert innerhalb der Speichereinheit (1) oder ein Register (6) innerhalb der CPU (5) oder ein Wert innerhalb eines Co-Prozessors (7) oder ein Special Function Register (8) verändert werden.
[0042] Die Chip-Simulationssoftware (17) und die Angriffssoftware (18) werden in einer Laufzeitumgebung (25) beispielsweise einem Computer (oder mehreren) betrieben.
[0043] Der Angriff wird demnach ausgeführt, indem die Angriffssoftware (18), welche in den Programmablauf des Betriebssystems oder der Applikationen durch einen Chip-Simulator (17) eines simulierten Chips (15) über die Schnittstelle (16) eingreift, gezielt bestimmte Daten entsprechend den Parametern eines hardwaremäßigen Angriffs (wie in den folgenden Patentansprüchen ausgeführt) verändert.
ZEICHNUNGSLEGENDE 1 Speichereinheit
2 RAM
3 EEPROM
4 ROM
5 CPU 6 Register 7 ,7a Co-Prozessoren (beliebige Anzahl) 8 Special Function Register 9 Timer 10 Takterzeuger 11 I/O Baustein 12 Sensoren
13 RNG 14 Interne Verbindungen (Datenbusse) 15 Simulierter Chip 16 Schnittstelle des Chip-Simulators 17 Chip-Simulator 18 Angriffssoftware
19 Zugriff auf RAM
20 Zugriff auf EEPROM
21 Zugriff auf ROM 22 Zugriff auf Register 23 Zugriff auf Co-Prozessoren 24 Zugriff auf Special Function Register 25 Laufzeitumgebung von Chip-Simulationssoftware und Angriffssoftware

Claims (9)

  1. Patentansprüche 1. Verfahren zum Prüfen einer Chipkarte mit Angriffen auf das Betriebssystem oder die Applikationen, wobei ein hardwaremäßiger Angriff auf die Chipkarte dadurch simuliert wird, dass mit einer Angriffssoftware (18) in den Programmablauf des Betriebssystems oder der Applikationen durch einen Chip- Simulator (17) eines simulierten Chips (15) über die Schnittstelle (16) eingegriffen wird und gezielt bestimmte Daten entsprechend einem hardwaremäßigen Angriff verändert werden, dadurch gekennzeichnet, dass durch Variation der Anzahl von veränderten Speicher-Bits bzw. Bytes und der geschriebenen Werte unterschiedliche Angriffsparameter, wie insbesondere Fokussierung, Energie, Wellenlänge der eingestrahlten elektromagnetischen Wellen, Angriff durch direkte Kontaktierung mit Micro-Probes, Angriff durch ionisierende Strahlung, simuliert werden.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass insbesondere ein Speicherwert innerhalb der Speichereinheit (1) oder ein Register (6) innerhalb der CPU (5) oder ein Wert innerhalb eines Co-Prozessors (7) oder ein Special Function Register (8) verändert wird.
  3. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass durch Variation der angegriffenen Speicherzelle unterschiedliche Orte des Angriffes auf der Chipoberfläche (X, Y Koordinaten) simuliert werden.
  4. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass durch Auslesen des Programm-Counters bzw. zählen der abgearbeiteten Prozessor-Instruktionen unterschiedliche Zeitpunkte des Angriffes simuliert werden.
  5. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass durch Einbringen von transienten bzw. persistenten Fehlern unterschiedliche Hardware-Angriffe simuliert werden.
  6. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass durch diskrete oder statistische Auswertung der Simulationsergebnisse die Wirksamkeit von unterschiedlichen im Betriebssystem oder den Applikationen implementierten Gegenmaßnahmen bewertet wird.
  7. 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Αήρ riffssoftware (18) für die Provokation von Angriffen auf das Betriebssystem oder die Applikationen der Chipkarte verwendet wird.
  8. 8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass anstelle der Chip-Simulator Software (17) eine Chip-Emulator Hardware benutzt wird.
  9. 9. Chipkarte, dadurch gekennzeichnet, dass diese ein Betriebssystem oder Applikationen enthält, welche(s) während oder nach der Entwicklung mit einem Verfahren nach einem oder mehreren der Ansprüche 1 bis 8 geprüft wurde(n). Hierzu 1 Blatt Zeichnungen
ATA932/2010A 2009-06-13 2010-06-08 Verfahren zum prüfen einer chipkarte durch simulation von angriffen AT508441B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910024768 DE102009024768A1 (de) 2009-06-13 2009-06-13 Verfahren zum Prüfen einer Chipkarte durch Simulation von Angriffen

Publications (3)

Publication Number Publication Date
AT508441A2 AT508441A2 (de) 2011-01-15
AT508441A3 AT508441A3 (de) 2016-01-15
AT508441B1 true AT508441B1 (de) 2016-02-15

Family

ID=43122912

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA932/2010A AT508441B1 (de) 2009-06-13 2010-06-08 Verfahren zum prüfen einer chipkarte durch simulation von angriffen

Country Status (2)

Country Link
AT (1) AT508441B1 (de)
DE (1) DE102009024768A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671352A (en) * 1995-07-07 1997-09-23 Sun Microsystems, Inc. Error injection to a behavioral model
US6195765B1 (en) * 1998-01-05 2001-02-27 Electronic Data Systems Corporation System and method for testing an application program
EP1505399A2 (de) * 2003-06-24 2005-02-09 Giesecke & Devrient GmbH Verfahren zum Erzeugen von Testdaten zum Austesten der Funktionsfähigkeit einer datenverarbeitenden Schaltung
US20060271822A1 (en) * 2005-05-26 2006-11-30 Cisco Technology, Inc. Method and system for quantifying the quality of diagnostic software
CN101131670A (zh) * 2006-08-25 2008-02-27 上海华虹集成电路有限责任公司 双界面智能卡仿真系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671352A (en) * 1995-07-07 1997-09-23 Sun Microsystems, Inc. Error injection to a behavioral model
US6195765B1 (en) * 1998-01-05 2001-02-27 Electronic Data Systems Corporation System and method for testing an application program
EP1505399A2 (de) * 2003-06-24 2005-02-09 Giesecke & Devrient GmbH Verfahren zum Erzeugen von Testdaten zum Austesten der Funktionsfähigkeit einer datenverarbeitenden Schaltung
US20060271822A1 (en) * 2005-05-26 2006-11-30 Cisco Technology, Inc. Method and system for quantifying the quality of diagnostic software
CN101131670A (zh) * 2006-08-25 2008-02-27 上海华虹集成电路有限责任公司 双界面智能卡仿真系统

Also Published As

Publication number Publication date
AT508441A3 (de) 2016-01-15
AT508441A2 (de) 2011-01-15
DE102009024768A1 (de) 2010-12-23

Similar Documents

Publication Publication Date Title
Marten QBlade: a modern tool for the aeroelastic simulation of wind turbines
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE3318101A1 (de) Schaltungsanordung mit einem speicher und einer zugriffskontrolleinheit
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE202016008006U1 (de) Generierung von Integrationstests im Kleinen
DE102009050161A1 (de) Verfahren und Vorrichtung zum Testen eines Systems mit zumindest einer Mehrzahl von parallel ausführbaren Softwareeinheiten
DE69729440T2 (de) Prozessorssystem
DE102006008248A1 (de) Betriebssystem für eine Chipkarte mit einem Multi-Tasking Kernel
AT508441B1 (de) Verfahren zum prüfen einer chipkarte durch simulation von angriffen
DE102019128156A1 (de) Verfahren zur Überprüfung eines FPGA-Programms
DE102022111126A1 (de) Datenverarbeitungsvorrichtung und verfahren zum prüfen der integrität eines speichers
DE102022111925A1 (de) Halbleiterchipvorrichtung und verfahren zum prüfen der integrität eines speichers
EP1444700A2 (de) Speichertest
DE10127194B4 (de) Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen
DE10318812A1 (de) Chipentwicklungssystem und Chipentwicklungsverfahren
DE102023201815A1 (de) Verfahren zum Testen eines Computerprogramms
DE102006035610B4 (de) Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
DE102017119426B4 (de) Test und verwaltung von speicherzellen
DE102010032765B4 (de) Automatische Verifizierung von Übersetzungen
EP1492008B1 (de) Behandlung eines Fehlerereignisses bei der Installation eines Anwendungsprogramms in einem tragbaren Datenträger
DE102009033211A1 (de) Chipkarte mit Überwachung der Integrität auf Softwarebasis
DE102015114233B4 (de) Datenverarbeitungsvorrichtungen und Verfahren zum Speichern eines Datenvektors
DE102022202697A1 (de) Verfahren zum Bereitstellen einer Blockchain
RU2817185C1 (ru) Способ подтверждения тестов встроенного программного обеспечения электронных устройств
DE102018009143A1 (de) Verfahren zur Authentifizierung eines Geräts durch ein Hostsystem

Legal Events

Date Code Title Description
MM01 Lapse because of not paying annual fees

Effective date: 20230608