[go: up one dir, main page]

DE10360998A1 - Schutz von Chips gegen Attacken - Google Patents

Schutz von Chips gegen Attacken Download PDF

Info

Publication number
DE10360998A1
DE10360998A1 DE2003160998 DE10360998A DE10360998A1 DE 10360998 A1 DE10360998 A1 DE 10360998A1 DE 2003160998 DE2003160998 DE 2003160998 DE 10360998 A DE10360998 A DE 10360998A DE 10360998 A1 DE10360998 A1 DE 10360998A1
Authority
DE
Germany
Prior art keywords
clock
chip
counter
counter value
processing unit
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
DE2003160998
Other languages
English (en)
Other versions
DE10360998B4 (de
Inventor
Peter Laackmann
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003160998 priority Critical patent/DE10360998B4/de
Priority to FR0412996A priority patent/FR2864277B1/fr
Priority to US11/007,591 priority patent/US8918610B2/en
Publication of DE10360998A1 publication Critical patent/DE10360998A1/de
Application granted granted Critical
Publication of DE10360998B4 publication Critical patent/DE10360998B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Ein Chip umfasst eine Verarbeitungseinrichtung (16) zur Durchführung einer vorbestimmten Operation, eine Einrichtung zum Bereitstellen des Takts (1), mit dem die Verarbeitungseinrichtung getaktet wird, einen Zähler (11) zum, basierend auf dem Takt, De- oder Inkrementieren eines Zählerwerts, eine Einrichtung zum, abhängig vom Zählerwert, Signalisieren (21), dass die vorbestimmte Operation zu unterbinden ist, und eine Einrichtung zum nichtflüchtigen Speichern (36) des Zählerwerts.

Description

  • Die vorliegende Erfindung bezieht sich auf Chips und insbesondere auf Schutzeinrichtungen von Chips, um den uneingeschränkten Zugang auf diese zu unterbinden.
  • Die Schutzkonzepte der heutigen Chips sind so ausgelegt, daß sie nur die Anzahl der Authentifizierungsversuche bzw. Authentifizierungen bestimmen. Unter Chips versteht man in der vorliegenden Anmeldung eine Halbleitervorrichtung mit einer integrierten Schaltungsanordnung, während Chipkarten sich hier aus dem Chip und einem Träger, wie z.B. einem Plastikträger, zusammensetzen. Beispielsweise ist in einer heutigen GSM SIM-Karte die Zahl der möglichen Authentifizierungsversuche auf drei begrenzt. Ein Programm in einer Verarbeitungseinheit in einer GSM SIM-Karte bestimmt mittels eines Zählers die Anzahl der Authentifizierungsversuche und vergleicht, ob der Zählwert den maximalen Wert überschreitet. Ist dies der Fall, wird die Karte gesperrt.
  • 6 zeigt eine solche GSM SIM-Karte. Sie umfasst einen Taktanschluss 1, einen Versorgungsspannungsanschluss 2, einen Datenbusanschluss 6, eine Verarbeitungseinheit 16, einen Speicher 26, einen Zähler 11 und einen nicht-flüchtigen Speicher 36. Der Taktanschluss 1 und der Datenbusanschluss 6 sind an die Verarbeitungseinheit 16 und den Speicher 26 angeschlossen. Ein Ausgang der Verarbeitungseinheit 16 ist an den Eingang des Zählers 11 angeschlossen, ein Ausgang des Zählers 11 ist an einen Eingang der Verarbeitungseinheit 16 angeschlossen. Somit besteht eine bidirektionale Verbindung zwischen der Verarbeitungseinheit 16 und dem Zähler 11. Ein weiterer Ausgang des Zählers ist mit dem Eingang eines nichtflüchtigen Speichers 36 verbunden und ein Ausgang des nichtflüchtigen Speichers 36 mit einem Eingang des Zählers 11. Somit besteht wiederum eine bidirektionale Verbindung zwi schen dem Zähler 11 und dem nicht-flüchtigen Speicher 36. Die Verarbeitungseinheit 16 ist zur Durchführung von Operationen geeignet. Diese Operationen können in dem Auslesen von Inhalten des Speichers 26, dem Weiterverarbeiten dieser Inhalte und dem anschließenden Schreiben von Inhalten in den Speicher 26 bestehen. In Abhängigkeit eines bestimmten Befehls oder bestimmter Befehle zur Anweisung eines Authentifizierungsversuches signalisiert die Verarbeitungseinheit dem Zähler, seinen Zählerstand um eins zu inkrementieren. Der Zähler 11 speichert seinen aktuellen Zählerstand in dem nichtflüchtigen Speicher 36. Wird nun die Versorgungsspannung an dem Versorgungsspannungsanschluss 2 abgeschaltet, so behält der nicht-flüchtige Speicher 36 den letzen Stand des Zählers 11. Wird nun eine Versorgungsspannung an dem Versorgungsspannungsanschluss 2 wieder angelegt, so liest der Zähler 11 seinen Ausgangszählerwert aus dem nicht-flüchtigen Speicher 36 aus, bevor er weitere Signale von der Verarbeitungseinheit 16 empfangen kann. Erreicht der Zähler 11 einen bestimmten Wert, beispielsweise 3, so wird ein bestimmtes Zugriffsverfahren auf den Chip, sprich weitere Authentifizierungsversuche über die Eingabe einer vierstelligen Identifizierungsnummer (PIN-Nummer) unterbunden. Damit lässt die GSM SiM-Karte keine weiteren Authentifizierungsversuche mehr auf diesem Weg zu. Der Chip kann dann nur mehr über die Eingabe einer sehr langen Identifizierungsnummer, die dem Kunden vom Mobilfunkbetreiber bei Vertragsabschluss mitgeteilt wird, entsperrt werden.
  • Dieses Verfahren verhindert jedoch nicht, daß ein möglicher Angreifer, über eine unbeschränkte Zeit oder über eine uneingeschränkte Anzahl an Taktzyklen hinweg Stromanalysen, Spikeangriffe und ähnliche Attacken auf dem Chip ausführt. Durch diese Verfahren kann der mögliche Angreifer wertvolle Informationen über den Aufbau, die Struktur und den Inhalt der Speicherelemente auf dem Chip gewinnen und dadurch an geheime Daten gelangen. Eine Authentifizierung ist für diese Angriffe nicht erforderlich, weshalb der Schutzmechanismus scheitert.
  • Das Problem bei dem Versuch weitere Angriffe, die keine Authentifizierung notwendig machen, zu verhindern, besteht darin, dass bei den heutigen Chiptestern mit Mikrocontrollern und Sicherheitsspeichern wie eine Smartcard, keine Uhr vorhanden ist, so daß der Betrieb nicht zeitlich begrenzbar ist. Es fehlt eine Zeitreferenz, zur Erfassung der Zeitdauer, innerhalb der ein Angreifer versucht, Informationen über den Chip zu gewinnen.
  • Bisher wurde die zeitliche Kopplung nur auf Sicherheitsmodulen typischerweise in remote access Anwendungen wie z.B. Zugangsberechtigungsmodulen für Firmeneinrichtungen wie z.B. für Secure Token in mit einer Echtzeituhr implementiert, die eine Batteriepufferung und eine Quarz-Takterzeugung benötigt. Diese Elemente sind aufgrund ihrer Dicke in den heute weit verbreiteten Chipkarten nicht einsetzbar.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, einen Chip zu schaffen, so dass ein zeitlich uneingeschränktes Betreiben des Chips erschwert wird.
  • Diese Aufgabe wird durch einen Chip gemäß Anspruch 1, 2 oder 3, und ein Verfahren gemäß Anspruch 8 oder 9 gelöst.
  • Der Kerngedanke der vorliegenden Erfindung besteht darin, einer Verarbeitungseinrichtung des Chips bereitgestellten Takt für Zeitreferenz heranzuziehen, indem ein Zähler ansprechend auf diesen Takt einen Zählerwert de- oder inkrementiert. Erfüllt der Zählerwert eine vorbestimmte Bedingung, kann eine entsprechende Einheit auf dem Chip signalisieren, daß dieser Wert erreicht bzw. überschritten ist, so daß der Chip diese Operation nicht mehr ausführt. Oder der Zählerwert wird stets nicht-flüchtig gespeichert, so daß dieser Wert beispielsweise von einem externen Gerät ausgelesen werden kann, um zu überprüfen, ob der Chip noch betrieben werden dürfte. Der Takt, der herangezogen wird, kann durch ein externes Gerät erzeugt oder aus einem solchen abgeleitet sein, wie z.B. einem Terminal.
  • Ein Vorteil der vorliegenden Erfindung besteht darin, daß ein Chip damit über eine Zeitreferenz bzw. Taktzahlreferenz verfügt, die der Verarbeitungseinrichtung oder einem mit derselben kommunizierenden externen Gerät ermöglicht, bei Überschreiten einer bestimmten Zeit bzw. Anzahl an Takten, vorbestimmte Operationen zu unterbinden.
  • Wird der Zählerwert in einem nicht-flüchtigen Speicher gespeichert, ermöglicht das der Verarbeitungseinheit zudem, bestimmte Operationen abhängig von einer Vorgeschichte des Chips zu unterbinden, die zeitlich vor der letzten bzw. aktuellen Inbetriebnahme und der damit verbundenen Versorgung des Chips mit der Betriebsspannung liegen.
  • Insbesondere wäre im Falle des nicht-flüchtigen Speichers der Chip in der Lage, Informationen über die Zeitdauer möglicher Attacken zu speichern und diese einem externen Gerät zu signalisieren. Dies ermöglicht beispielsweise die Verwendung von Chipkarten über eine gewisse Betriebszeit hinaus zu unterbinden.
  • Zusätzlich kann im Falle des nicht-flüchtigen Speichers und der Kommunikation mit einem externen Gerät wie z.B. einem Terminal die Verfolgung der Manipulation von Chipkarten erleichtert werden. Manipuliert beispielsweise ein Verbrecher nach langen Tests und Analysen einen Chip dahingehend, daß dieser unberechtigterweise mit zusätzlichen Geldbeträgen aufgeladen wird, so kann das Terminal z.B. eine Kasse in einem Geschäft bei der Benutzung der Karte diese Informationen über die Dauer der Tests und Analysen auslesen und sie zur Überführung des Verbrechers an die Polizei übermitteln.
  • Darüber hinaus bietet die vorliegende Erfindung die Möglichkeit, wenn der Chip in einer Set-Top-Box kontinuierlich getaktet wird, vorbestimmte Operationen nach Ablauf einer definierten Betriebszeit zu unterbinden. Hierdurch können Chipkarten hergestellt werden, die den Empfang von Programmen nach Ablauf einer festen Zeitspanne wie z.B. Pay-TV-Karten sperren.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
  • 6 ein Blockschaltbild eines herkömmlichen Chips.
  • 1 zeigt ein Blockschaltbild eines Chips gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das Blockschaltbild umfasst einen Taktanschluss 1, einen Versorgungsspannungsanschluss 2, einen Datenbusanschluss 6, einen Zähler 11, einen nicht-flüchtigen Speicher 36, eine Verarbeitungseinheit 16, einen Speicher 26, und eine Überwachungseinheit 21. Der Taktanschluß 1 ist mit einem Eingang des Zählers 11, einem Eingang der Verarbeitungseinheit 16 und einem Eingang des Speichers 26 verbunden.
  • Der Datenanschluss 6 ist mit der Verarbeitungseinheit 16 oder dem Speicher 26 verbunden, wobei die Verbindung über einen Verarbeitungsdatenbus ausgeführt sein kann, der entweder in Form einer Leitung oder in Form mehrerer Leitungen vorliegt. Diese Leitungen können sich dann wieder in Leitungen für Adressen und/oder Daten und/oder Chipselect- und/oder Befehlssignale beispielsweise untergliedern. Der Datenbusanschluss 6 ist an die Verarbeitungseinheit 16 und an den Speicher 26 angeschlossen. Ein Ausgang des Zählers 11 ist mit einem Eingang des nicht-flüchtigen Speichers 36 verbunden, während ein Ausgang des nicht-flüchtigen Speichers 36 mit einem Eingang des Zählers 11 verbunden ist. Es besteht somit eine bidirektionale Verbindung zwischen dem Zähler 11 und dem nicht-flüchtigen Speicher 36. Ein weiterer Ausgang des Zählers 11 ist mit einem Eingang der Überwachungseinheit 21 verbunden. Der Ausgang der Überwachungseinheit 21 ist an einen Eingang der Verarbeitungseinheit 16 angelegt.
  • Selbstverständlich kann der Chip jede Anzahl an weiteren Einheiten wie weitere Verarbeitungseinheiten, weitere Speichereinheiten oder eine beliebige Anzahl an Schaltungsmodulen (A/D-Wandler, Komparatoren etc.) enthalten. Diese können selbstverständlich auch an den Taktanschluss 1 und an den Datenbusanschluss 6 angebunden sein. Außerdem kann die Überwachungseinheit 21 in der Verarbeitungseinheit 16 integriert sein, oder die Verarbeitungseinheit 16 kann deren Funktionalität übernehmen. Auch der nicht-flüchtige Speicher 36 kann selbstverständlich in dem Speicher 26, wenn dieser als nichtflüchtig ausgelegt ist, integriert sein. Der Taktanschluss 1 und der Datenbusanschluss 6 dienen als externe Anschlüsse zur Kommunikation mit einem externen Gerät, wie z.B. einem Terminal, um von demselben Takt und Daten zu erhalten bzw. Daten an denselben abzugeben. Sie können als Kontaktschnittstelle ausgelegt sein, wenn es sich bei dem Chip um ein Schaltungsmodul in einer kontaktlosen Chipkarte handelt.
  • Ein Takt oder eine vordefinierte Taktfolge am Taktanschluß 1 taktet die Verarbeitungseinheit 16 und den Speicher 26. Diese kommunizieren über den Datenbus entweder untereinander, wobei die Verarbeitungseinheit 16 aus dem Speicher 26 Daten ausliest, diese verarbeitet und anschließend in dem Speicher 26 wieder ablegt, oder ein externes Gerät kommuniziert über den Datenanschluss 6 mit der Verarbeitungseinheit 16 oder dem Speicher 26 über den Datenbus. Natürlich kann die Verarbeitungseinheit 16 auch auf die von einem externen Gerät empfangenen Daten hin bestimmte Befehle ausführen, oder ein externes Gerät dazu veranlassen bestimmte Befehle auszuführen. Somit kann ein externes Gerät Informationen über die Daten in dem Speicher 26 gewinnen, diese ggf. verändern oder neue Daten in den Speicher 26 schreiben. Ein Takt am Taktanschluß 1 inkrementiert oder dekrementiert mit jedem Taktpuls den Zählerstand eines Zählers 11. Der Zählerstand des Zählers 11 wird in vorbestimmten Abständen, wie z.B. nach Ablauf einer vorbestimmten Anzahl von Takten an einen nichtflüchtigen Speicher 36 und an eine Überwachungseinheit 21 weitergeleitet. Die Aufgabe des nicht-flüchtigen Speichers 36 besteht darin, diesen Zählerwert auch beim Abschalten der Versorgungsspannung am Versorgungsspannungsanschluss 2 des Chips in diesem Ausführungsbeispiel weiterhin zu behalten. Wird nun die Spannung am Versorgungsspannungsanschluss 2 für den Chip in dem Ausführungsbeispiel abgeschaltet, so hält der nicht-flüchtige Speicher 36 den aktuellen Zählerstand fest. Wird die Versorgungspannung am Versorgungsspannungsanschluss 2 anschließend wieder angelegt, so liest der Zähler 11 zuerst den Zählerstand aus dem nicht-flüchtigen Speicher 36 in seine internen Register (nicht gezeigt) ein. Er beginnt dann mit diesem Wert seinen Zählerstand in Abhängigkeit von den Pulsen am Taktanschluss 1 weiter zu de- oder inkrementieren. Somit ermöglicht der nicht-flüchtige Speicher 36, daß der Zählerstand des Zählers 11 stets von der Gesamtzahl der am Taktanschluss 1 über die gesamte Betriebsdauer anliegenden Takte abhängt, unabhängig davon, ob die Versorgungsspannung abgeschaltet worden ist oder nicht. Der Zählerstand des Zählers 11 wird an die Überwachungseinheit 21 weitergeleitet, die ein Überschreiten oder Unterschreiten eines bestimmten Werts durch den Zählerstand überwacht und im Falle des Über- oder Unterschreitens ein Signal zu der Verarbeitungseinheit 16 kommuniziert. Die Verareitungseinheit 16 registriert dieses Signal und unterbindet, falls dasselbe registriert wird, eine oder mehrere bestimmte Operation zu deren Durchführung die Verarbeitungseinheit 16 in der Lage ist, und die von ihr sonst durchgeführt werden würden. Diese bestimmten Operationen können Operationen sein, die nicht unbedingt von der Verarbeitungseinheit allein ausgeführt werden, sondern z.B. auch in Zugriffen auf die Speichereinheit 26 oder im Zusammenwirken mit anderen Schaltungsmodulen bestehen.
  • Versucht nun ein Angreifer in einem Testlabor Informationen über den Aufbau, die Struktur, die Schaltungselemente oder die Daten auf dem Chip zu gewinnen, wie z.B. in einer DPA-Differential Power Analysis-Analyse, so ist hierfür das Takten des Chips am Taktanschluss 1 über einen Zeitraum hinweg erforderlich. Dieser Zeitraum des Testens und der Analyse ist typischerweise lang in Relation zu der Zeitdauer, in der der Chip normalerweise betrieben wird. Der Zähler 11 registriert weiterhin diese Takte am Taktanschluss 1 während des Testens und Analysieren des Chips durch einen Angreifer. Ab einem bestimmten Wert des Zählers 11 erkennt die Überwachungseinheit 21, dass ein kritischer Schwellwert über- oder unterschritten worden ist. Diesen Zustand signalisiert sie anschließend der Verarbeitungseinheit 16. Die Verarbeitungseinheit 16 erkennt damit, dass ein Angriff auf den Chip stattgefunden hat, und unterbindet weitere vorbestimmte Operationen auf dem Chip. Selbst wenn der Angreifer die Versorgungsspannung abschaltet, so wird der letzte Stand des Zählers 11 in dem nicht-flüchtigen Speicher 36 gespeichert. Der Zähler beginnt dann mit diesem abgelegten Wert seinen Zählerstand weiter zu de- oder inkrementieren. Ein Angreifer kann daher den Schutzmechanismus des Zählers 11 durch ein Abschalten der Versorgungsspannung nicht umgehen. Der Chip kann folglich nach einem Ablauf einer bestimmten Anzahl an Taktzyklen am Taktanschluss 1, die wiederum einer bestimmten Betriebsdauer des Chips entspricht, die Operationen, wie sicherheitskritische Operationen, Abbuchungsfunktionen, kryptographische Algorithmen, Authentifizierungen und Operationen an geheimen Daten, die von der Verarbeitungseinheit 16 ausgeführt werden, unterbinden. Dies schützt den Chip vor Manipulationen von einem Angreifer, der in einem Testlabor über einen typischerweise langen Zeitraum im Verhältnis zur Betriebsdauer des Chips hinweg Informationen über den Aufbau, die Struktur, die Schaltungsmodule und/oder die gespeicherten Daten auf einem Chip gewonnen hat.
  • In einem weiteren Ausführungsbeispiel gemäß 2 werden im Gegensatz zu dem Ausführungsbeispiel gemäß 1 ein Ausgang oder mehrere Ausgänge der Überwachungseinheit 21 an einen Signalbusanschluss 31 angelegt. Der Unterschied gegenüber dem Ausführungsbeispiel von 1 besteht nun darin, daß hier die Überwachungseinheit 21 über den Signalbusanschluss 31 mit einem externen Gerät kommuniziert, um diesem das Unterschreiten oder Überschreiten eines vordefinierten Zählerstands zu signalisieren. Das externe Gerät kann beispielsweise ein Geldkartenautomat, ein Kartenleser an einer Kaufhauskasse oder ein öffentliches Telefon sein, die über die Betriebsdauer des Chips und damit über mögliche Manipulationen an diesem informiert werden. Sie können daraufhin Operationen wie das Telefonieren oder das Abheben von Geld unterbinden, und darüber hinaus der Polizei Daten über die Manipulation an dem Chip zur Verfügung stellen.
  • In einem weiteren Ausführungsbeispiel gemäß 3 wird im Unterschied zu der 2 das Ausgangssignal der Überwachungseinheit 21 zumindest teilweise an den Datenbusanschluss 6 angelegt. Die Überwachungseinheit 21 kann auf diesem Weg Informationen an die Verarbeitungseinheit 16, den Speicher 26 oder an ein externes Gerät, wie z.B. einen Geldkartenautomaten, senden. Diese Kommunikationen können selbstverständlich auch bidirektional ausgeführt werden, und die Verarbeitungseinheit 16 könnte damit beispielsweise von der Überwachungseinheit 21 vorbestimmte Werte oder Informationen anfordern, wie z.B. den Zählerstand. Basierend auf den Signalen oder Informationen aus der Überwachungseinheit 21 kann die Verarbeitungseinheit 16 oder ein externes Gerät vordefinierte Operationen unterbinden. Selbstverständlich können diese Informationen, die von der Überwachungseinheit stammen, erst in einem Speicher 26 abgelegt werden und dort von der Verarbeitungseinheit 16 oder einem externen Gerät ausgelesen werden. Somit erhalten die Verarbeitungseinheit 16 oder ein externes Gerät über den Datenbusanschluss 6 Informationen über die Betriebsdauer bzw. die Anzahl der Takte, die an dem Chip über seine gesamte Lebensdauer unabhängig vom An- und Abschalten der Versorgungsspannung anlagen. Beispielsweise kann hier wieder ein Geldautomat, wenn dieser das externe Gerät ist, nach einer übermäßig hohen Betriebsdauer des Chips, die wahrscheinlich auf eine Manipulation bzw. versuchte Manipulation zurückzuführen ist, diese Karte einbehalten. Ein weiterer Anwendungsfall wäre denkbar, dass die Verarbeitungseinheit 16 bereits auf das Signalisieren dieser übermäßig hohen Betriebsdauer hin ein Auslesen geheimer Daten, wie z.B. verschlüsselter Identifizierungsnummern in einer GSM-Karte unterbindet. Ein weiterer Vorteil des Ausführungsbeispiels gemäß 3 gegenüber dem Ausführungsbeispiel gemäß 2 besteht dann, wenn der Chip in sogenannten kontaktlosen Karten eingesetzt wird. In diesen gibt es nicht die Möglichkeit den Signalbus über einen weiteren Anschluss herauszuführen.
  • Beispielsweise kann die Verarbeitungseinheit 16 auf einem Chip, die als eine Sicherheitsverarbeitungseinheit entworfen ist, und ihr Programm aus dem Speicher 26 ausliest, über die Überwachungseinheit 21 den Zählerwert abfragen und den Wert der bisherigen Laufzeit in regelmäßigen Abständen in dem Speicher 26, der in diesem Fall nicht-flüchtig ist, ablegen. Hierbei ist es vorteilhaft Abstände zu wählen, die den Speicher nicht übermäßig belasten, wie Minuten oder Stunden. Je nach Anwendung können die Maximalwerte der Betriebsdauer frei gewählt werden. Ein Anwendungsfall wäre eine Pay-TV-Karte mit einem Chip wie in 3 mit fester Lebensdauer. Die Karte wird in der Set-Top Box ständig mit Takt und Strom versorgt; nach z.B. einem Jahr wird die Karte automatisch gesperrt.
  • In einem Ausführungsbeispiel gemäß 4 wird im Unterschied zu 1 der nicht-flüchtige Speicher 36 weggelassen. Die Überwachungseinheit 21 überwacht den Zählerstand 11 und signalisiert der Verarbeitungseinheit 16 beim Überschreiten oder Unterschreiten eines vordefinierten Werts dieses Ereignis. Die Verarbeitungseinheit 16 unterbindet daraufhin wiederum vordefinierte Operationen. Ein Anwendungsfall für dieses Ausführungsbeispiel könnte eine Einmalkarte für ein Pay-TV Programm sein, die z.B. das einmalige Ansehen eines Films über zwei Stunden ermöglicht. In dieser Anordnung gehen sämtliche Informationen über Ereignisse, die vor einem Anlegen der Versorgungsspannung an dem Chip stattfinden verloren. Das Weglassen des nicht-flüchtigen Speichers ermöglicht dem Chip aber auf beschreibbare nicht-flüchtige Speichertechnologien zu verzichten, und damit die Kosten für den Herstellungsprozess zu senken.
  • 5 veranschaulicht das Blockschaltbild eines Chips gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung. Diese Fig. umfaßt im Unterschied zu 1 noch einen Teiler 41, der an dem Taktanschluß 1 angelegt ist und sein Ausgangssignal an den Zähler 11 sendet. Der Teiler 41 erzeugt nach einer Folge von N Takten ein Taktsignal für den Zähler 11. Der Zähler ermittelt wiederum die Anzahl der Takte an seinem Eingang und teilt diese der Überwachungseinheit 21 mit. Stellt die Überwachungseinheit 21 fest, daß der Zählerstand einen bestimmten Wert über- oder unterschreitet, so veranlasst sie die Verarbeitungseinheit 16 bestimmte Operationen zu unterbinden. Hierbei ist auch eine Konfiguration denkbar, in der beispielsweise in dem Teiler 41 ein bestimmter Teilerfaktor N von der Verarbeitungseinheit 16 eingestellt wird. Vorteilhaft ist, wenn dieser Teilungsfaktor während des Betriebs nicht verändert wird. Das Einfügen des Teilers 41 kann die Komplexität des Zählers 11 und auch des nicht-flüchtigen Speichers 36 erheblich verringern. Der nicht-flüchtige Speicher 36 muss dann nämlich nur eine erheblich niedrigere Anzahl an Taktzyklen des Zählers 11 abspeichern und kommt daher mit deutlich weniger Speicherzellen aus.
  • Hierdurch lässt sich auch die Betriebsdauer einer Telefonkarte begrenzen. Da es sich bei dieser um eine synchrone Karte handelt, ist die Anzahl der maximalen Taktzyklen plus Sicherheitswert, falls die Karte in einem Taschenleser betrieben wird, genau bekannt. Die Taktsignale werden in dem Chip dem Teiler zugeführt, der nach N Taktzyklen ein Signal an den Zähler 11 sendet, der wiederum seinen Zählerstand dekrementiert und den neuen Wert im nicht-flüchtigen Speicher ablegt. Ist der Zählerstand null, so kann der Chip auf der Karte nicht mehr zum Bezahlen der Gebühren verwendet werden. Die Gebühreneinheiten sind weiterhin lesbar, aber nicht mehr gültig.
  • Obige Ausführungsbeispiele zeigen, wie ein Chip den von außen anliegenden Takt zur Messung der Betriebszeit der Karte nutzt. Über einen Taktteiler werden die Taktsignale in verwertbare Zeiteinheiten geteilt, welche in regelmäßigen Abständen (N Takte) im Speicher der Chipkarte dauerhaft abgelegt werden. Somit werden keine zusätzlichen Komponenten benötigt.
  • In diesen Ausführungsbeispielen wird erläutert, wie die Messung der abgelaufenen Clock-Taktsignale oder Taktzyklen mittels eines Zählers (vorteilhaft bei sogenannten Secure-Memories) oder Timers (vorteilhaft bei Security-Controllern) und die kumulative Speicherung der so gewonnenen Zeitinformation der nicht-flüchtigen Speicher der Karte erfolgt.
  • Ein Beispiel für die Anwendung der in den Ausführungsbeispielen erläuterten Prinzipien in einer Memory-Karte ist eine Telefonkarte, bei der die Betriebsdauer begrenzt werden soll. Da es sich um eine synchrone Karte handelt, ist die Anzahl der maximalen Taktzyklen plus Sicherheitswert (falls Betrieb im Taschenkarteleser etc.) genau bekannt. Die Clock-Signale bzw. Taktzyklen werden in der Karte einem Zähler zugeführt, der nach „N" Clockzyklen oder Taktzyklen die Dekrementierung eines nicht-flüchtigen Speicherwerts auslöst. Ist der Speicherwert Null, so kann die Karte nicht mehr verwendet werden. Die Gebühreneinheiten sind weiterhin lesbar, aber nicht mehr gültig.
  • Ein weiteres Beispiel für die Anwendung der in den Ausführungsbeispielen erläuterten Prinzipien ist eine mit einem Security-Controller versehene Chipkarte, die mit einem Timer ausgestattet ist. Ein residentes Programm (im ROM) des Controllers fragt den Timer ab, und speichert den Wert der bisherigen Laufzeit in regelmäßigen Abständen im nicht-flüchtigen Speicher.
  • Die Verarbeitungseinheit 16 kann beispielsweise als Prozessorkern oder als Logik ausgeführt sein. Obwohl im vorhergehenden die Einrichtung zum Bereitstellen des Takts ein externer Taktanschluss war, kann derselbe stattdessen durch einen intern im Chip gebildeten Oszillator ausgeführt sein. Der nicht-flüchtige Speicher kann unter anderem in Form eines E2PROMs oder eines FLASH-Speichers vorliegen. Zusätzlich zum Unterbinden der bestimmten Operationen können auch Sicherheitsdaten gelöscht werden.
  • 1
    Taktanschluß
    2
    Versorgungsspannungsanschluß
    6
    Datenbusanschluß
    11
    Zähler
    16
    Verarbeitungseinheit
    21
    Überwachungseinheit
    26
    Speicher
    31
    Signalbusanschluß
    36
    nicht-flüchtiger Speicher
    41
    Teiler

Claims (9)

  1. Chip mit, einer Verarbeitungseinrichtung (16) zur Durchführung einer vorbestimmten Operation; einer Einrichtung zum Bereitstellen eines Takts (1), mit dem die Verarbeitungseinrichtung (16) getaktet wird; einem Zähler (11), zum basierend auf dem Takt, De- oder Inkrementieren eines Zählerwerts; und einer Einrichtung, zum abhängig vom Zählerwert, Signalisieren (21), daß die vorbestimmte Operation zu unterbinden ist.
  2. Chip mit, einer Verarbeitungseinrichtung (16) zur Durchführung einer vorbestimmten Operation; einer Einrichtung zum Bereitstellen des Takts (1), mit dem die Verarbeitungseinrichtung getaktet wird; einem Zähler (11), zum basierend auf dem Takt, De- oder Inkrementieren eines Zählerwerts; und einer Einrichtung zum nicht-flüchtigen Speichern (36) des Zählerwerts.
  3. Chip mit, einer Verarbeitungseinrichtung (16) zur Durchführung einer vorbestimmten Operation; einer Einrichtung zum Bereitstellen des Takts (1), mit dem die Verarbeitungseinrichtung getaktet wird; einem Zähler (11), zum basierend auf dem Takt, De- oder Inkrementieren eines Zählerwerts; einer Einrichtung, zum abhängig vom Zählerwert, Signalisieren (21), daß die vorbestimmte Operation zu unterbinden ist; und einer Einrichtung zum nicht-flüchtigen Speichern (36) des Zählerwerts.
  4. Chip gemäß Anspruch 2, der ferner eine Einrichtung zum, abhängig vom Zählerwert Signalisieren (21), daß die vorbestimmte Operation zu unterbinden ist, umfasst.
  5. Chip gemäß einem der Ansprüche 1 bis 3, der einen Taktteiler (41) umfasst, um einen geteilten Takt zu erzeugen, wobei der Zähler ausgebildet ist, um das De- oder Inkrementieren ansprechend auf den geteilten Takt durchzuführen.
  6. Chip gemäß einem der Ansprüche 1 bis 4, der einen Prozessorkern zum Signalisieren abhängig vom Zählerwert verwendet.
  7. Chipkarte mit einem Chip gemäß einem der Ansprüche 1 bis 5.
  8. Verfahren zum Steuern eines Chips, der eine Verarbeitungseinrichtung (16) zur Durchführung einer vorbestimmten Operation umfasst, wobei das Verfahren folgende Schritte aufweist: Bereitstellen eines Takts, mit dem die Verarbeitungseinrichtung (16) getaktet wird; De- oder Inkrementieren eines Zählerwerts ansprechend auf den Takt; und Signalisieren, abhängig vom Zählerwert, daß eine vorbestimmte Operation zu unterbinden ist.
  9. Verfahren zum Steuern eines Chips, der eine Verarbeitungseinrichtung (16) zur Durchführung einer vorbestimmten Operation umfasst, wobei das Verfahren folgende Schritte aufweist: Bereitstellen eines Takts, mit dem die Verarbeitungseinrichtung (16) getaktet wird; De- oder Inkrementieren eines Zählerwerts ansprechend auf den Takt; und Nicht-flüchtiges Speichern des Zählerwerts.
DE2003160998 2003-12-23 2003-12-23 Schutz von Chips gegen Attacken Expired - Fee Related DE10360998B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2003160998 DE10360998B4 (de) 2003-12-23 2003-12-23 Schutz von Chips gegen Attacken
FR0412996A FR2864277B1 (fr) 2003-12-23 2004-12-07 Protection de puces contre des attaques
US11/007,591 US8918610B2 (en) 2003-12-23 2004-12-08 Protection of chips against attacks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003160998 DE10360998B4 (de) 2003-12-23 2003-12-23 Schutz von Chips gegen Attacken

Publications (2)

Publication Number Publication Date
DE10360998A1 true DE10360998A1 (de) 2005-07-28
DE10360998B4 DE10360998B4 (de) 2008-09-04

Family

ID=34625696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003160998 Expired - Fee Related DE10360998B4 (de) 2003-12-23 2003-12-23 Schutz von Chips gegen Attacken

Country Status (3)

Country Link
US (1) US8918610B2 (de)
DE (1) DE10360998B4 (de)
FR (1) FR2864277B1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
DE10345240A1 (de) * 2003-09-29 2005-05-04 Infineon Technologies Ag Integrierte Schaltung mit Strahlungssensoranordnung
JP5876364B2 (ja) * 2012-04-13 2016-03-02 ラピスセミコンダクタ株式会社 半導体メモリ及びデータ読出方法
DE102015114233B4 (de) * 2015-08-27 2024-10-24 Infineon Technologies Ag Datenverarbeitungsvorrichtungen und Verfahren zum Speichern eines Datenvektors

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0314148B1 (de) * 1987-10-29 1994-02-09 Toppan Printing Co., Ltd. Chipkarte mit erhöhter Sicherheit
DE3638505C2 (de) * 1986-11-11 1995-09-07 Gao Ges Automation Org Datenträger mit integriertem Schaltkreis

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4175287A (en) * 1978-01-23 1979-11-20 Rockwell International Corporation Elastic store slip control circuit apparatus and method for preventing overlapping sequential read and write operations
US4538235A (en) * 1982-08-19 1985-08-27 Rockwell International Corporation Microcomputer retriggerable interval counter
US4823308A (en) * 1984-02-02 1989-04-18 Knight Technology Ltd. Microcomputer with software protection
JPH0476749A (ja) * 1990-07-19 1992-03-11 Toshiba Corp セキュリティ回路
JP2952111B2 (ja) * 1992-07-09 1999-09-20 キヤノン株式会社 データ制御装置
IL103062A (en) * 1992-09-04 1996-08-04 Algorithmic Res Ltd Data processor security system
JP3329496B2 (ja) * 1992-11-04 2002-09-30 富士通株式会社 Icカード
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
JPH07200767A (ja) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp メモリカード
FR2757654B1 (fr) * 1996-12-24 1999-02-05 Sgs Thomson Microelectronics Memoire avec zones protegees en lecture
JPH11203192A (ja) * 1998-01-16 1999-07-30 Sony Corp 並列プロセッサおよび演算処理方法
JP3611964B2 (ja) * 1998-04-16 2005-01-19 富士通株式会社 記憶装置、記憶制御方法及び記憶媒体
DE19831884C2 (de) * 1998-07-17 2001-09-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
FR2786007B1 (fr) * 1998-11-18 2001-10-12 Gemplus Card Int Procede de controle d'utilisation d'une carte a puce
US6598150B2 (en) * 1999-02-26 2003-07-22 Arm Limited Asynchronously accessing the program counter values of a data processing system by applying an independent clock on the latching and scan-chain circuits
HK1047326A1 (en) * 1999-08-30 2003-02-14 Ip Flex Inc. Data processor
JP2001205867A (ja) * 2000-01-28 2001-07-31 Canon Inc 記憶装置と記憶データの処理方法、及び画像形成装置
FI112013B (fi) * 2000-07-11 2003-10-15 Setec Oy Menetelmä salaisen avaimen käsittelemiseksi sekä laitteisto
WO2002023349A1 (en) * 2000-09-18 2002-03-21 Kabushiki Kaisha Toshiba Portable electronic medium
US6611773B2 (en) * 2000-11-28 2003-08-26 Power Measurement Ltd. Apparatus and method for measuring and reporting the reliability of a power distribution system with improved accuracy
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
US20030218896A1 (en) * 2002-05-22 2003-11-27 Pon Harry Q Combined memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3638505C2 (de) * 1986-11-11 1995-09-07 Gao Ges Automation Org Datenträger mit integriertem Schaltkreis
EP0314148B1 (de) * 1987-10-29 1994-02-09 Toppan Printing Co., Ltd. Chipkarte mit erhöhter Sicherheit

Also Published As

Publication number Publication date
FR2864277B1 (fr) 2007-10-19
US20050141295A1 (en) 2005-06-30
DE10360998B4 (de) 2008-09-04
US8918610B2 (en) 2014-12-23
FR2864277A1 (fr) 2005-06-24

Similar Documents

Publication Publication Date Title
DE3041109C2 (de)
DE69529103T2 (de) Verfahren zum Handhaben der Sicherheit einer Speicherkarte, und Speicherkarte und geeignete Transaktionsvorrichtung
DE2837201C2 (de)
DE2512935C2 (de) Datenaustauschsystem
DE3889017T2 (de) Datenkartenschaltungen.
WO1989004022A1 (fr) Procede de controle de l'authenticite de supports de donnees a circuits integres
DE2738113A1 (de) Vorrichtung zur durchfuehrung von bearbeitungsvorgaengen mit einem in eine aufnahmeeinrichtung der vorrichtung eingebbaren identifikanden
DE69913142T2 (de) Vorrichtung und verfahren zur sicheren informationsverarbeitung
DE10319585B4 (de) Manipulationsgeschütztes Datenverarbeitungssystem und zugehöriges Verfahren zum Manipulationsschutz
EP0798671A2 (de) Off-Line-Datenstationen mit virtueller On-Line-Fähigkeit
EP0224639A1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
EP1449084B1 (de) Kontrollierte programmausführung durch einen tragbaren datenträger
DE20309254U1 (de) Zugangssystem
DE10360998B4 (de) Schutz von Chips gegen Attacken
EP2652665B1 (de) Portabler datenträger mit fehlbedienungszähler
DE60223703T2 (de) Authentisierungsprotokoll mit speicherintegritaetsverifikation
WO1998041880A2 (de) Integrierte schaltung und verfahren zum testen der integrierten schaltung
DE19548903C2 (de) Verfahren zur Durchführung eines Geheimcodevergleiches bei einem mikroprozessorgestützten tragbaren Datenträger
DE69900566T2 (de) Verfahren zur Personalisierung einer IC-Karte
DE102005056940A1 (de) Vorrichtung und Verfahren zum nicht-flüchtigen Speichern eines Statuswertes
DE19816541C2 (de) Datenaustauschsystem
DE4441413C2 (de) Datenaustauschsystem
DE2858829C2 (de) Verfahren zum Betreiben eines mit einem Mikroprozessor und wenigstens einem programmierbaren ROM-Speicher versehenen Informationsträgers
DE69526300T2 (de) Schaltkreis und seine Wirkungsweise
DE102005058878B4 (de) Datentransfervorrichtung und Verfahren zum Senden von Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021020000

Ipc: G06F0021700000