AT508441B1 - Verfahren zum prüfen einer chipkarte durch simulation von angriffen - Google Patents
Verfahren zum prüfen einer chipkarte durch simulation von angriffen Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; 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)
- 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. 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. 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. 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. 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. 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. 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. 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. 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
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)
| 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 | 上海华虹集成电路有限责任公司 | 双界面智能卡仿真系统 |
-
2009
- 2009-06-13 DE DE200910024768 patent/DE102009024768A1/de not_active Withdrawn
-
2010
- 2010-06-08 AT ATA932/2010A patent/AT508441B1/de not_active IP Right Cessation
Patent Citations (5)
| 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 |