DE102004013176B4 - Verfahren und Vorrichtung zum Ausführen eines Programms - Google Patents

Verfahren und Vorrichtung zum Ausführen eines Programms Download PDF

Info

Publication number
DE102004013176B4
DE102004013176B4 DE200410013176 DE102004013176A DE102004013176B4 DE 102004013176 B4 DE102004013176 B4 DE 102004013176B4 DE 200410013176 DE200410013176 DE 200410013176 DE 102004013176 A DE102004013176 A DE 102004013176A DE 102004013176 B4 DE102004013176 B4 DE 102004013176B4
Authority
DE
Germany
Prior art keywords
command
program
transponder
memory area
protected memory
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.)
Expired - Fee Related
Application number
DE200410013176
Other languages
English (en)
Other versions
DE102004013176A1 (de
Inventor
Volkhard Müller
Ralf Hediger
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.)
Atmel Corp
Original Assignee
Atmel Germany 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 Atmel Germany GmbH filed Critical Atmel Germany GmbH
Priority to DE200410013176 priority Critical patent/DE102004013176B4/de
Priority to US11/081,543 priority patent/US20050210213A1/en
Priority to CN 200510055112 priority patent/CN100507831C/zh
Publication of DE102004013176A1 publication Critical patent/DE102004013176A1/de
Application granted granted Critical
Publication of DE102004013176B4 publication Critical patent/DE102004013176B4/de
Priority to US13/038,960 priority patent/US9063890B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zum Ausführen eines bestimmten Programms und zur Implementierung eines weiteren Befehls eines Befehlssatzes eines Transponders,
– bei dem eine programmgesteuerte Einrichtung innerhalb eines Transponders (16) einen vorgegebenen Zugriffsbefehl für einen Zugriff auf einen geschützten Speicherbereich (12; 32) eines Speichers des Transponders (16) empfängt und
– bei dem die programmgesteuerte Einrichtung zur Implementierung des weiteren Befehls diesen vorgegebenen Zugriffsbefehl als Startbefehl uminterpretiert, durch den das bestimmte Programm des Transponders (16) durch die programmgesteuerte Einrichtung automatisch ausgeführt wird.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Ausführen eines Programms durch eine programmgesteuerte Einrichtung.
  • Derartige programmgesteuerte Einrichtungen können zum Beispiel als Mikroprozessor, Mikrokontroller, Signalprozessor oder dergleichen ausgebildet sein. Der Aufbau solcher programmgesteuerter Einrichtungen ist seit vielen Jahren in unzähligen Ausführungsformen vielfach bekannt, so dass darauf nicht näher eingegangen wird. Nachfolgend wird als Beispiel einer programmgesteuerten Einrichtung allgemein von einem Prozessor ausgegangen.
  • Jeder Prozessor besitzt einen eigenen Befehlssatz, dessen Umfang durch die zur Verfügung stehende Bitbreite für Befehle des Prozessor vorgegeben ist. Beträgt die Bitbreite für Befehle beispielsweise 2 Bit, so stehen dem entsprechendem Prozessor maximal vier unterschiedliche Befehle zur Verfügung.
  • Eine Erweiterung des Befehlssatzes eines Prozessors erfordert daher in der Regel auch eine Vergrößerung der für Befehle vorgesehenen Bitbreite, der so genannten Befehlsbitbreite, außer der zur Verfügung stehende Befehlsraum des Prozessors ist noch nicht vollständig ausgeschöpft. Letzteres kann zum Beispiel bei komplexen Mikroprozessoren mit einer großen Befehlsbitbreite auftreten.
  • Ist jedoch der Befehlsraum vollständig ausgeschöpft, so kann die Funktionalität eines Prozessors nur durch Erweiterung des Befehlsumfangs derzeit nicht ohne einen schaltungstechnischen Eingriff in die integrierte Schaltung des Prozessors vorgenommen werden. Derartigen schaltungstechnischen Ände rungen ist allerdings der gravierende Nachteil inhärent, dass damit meist auch eine Vergrößerung der Chipfläche des Prozessors einher geht, wodurch letztendlich die den Prozessor repräsentierende integrierte Schaltung signifikant teuerer in der Herstellung ist. Dies läuft dem Bestreben, integrierte Schaltungen und entsprechende Prozessoren immer kleiner und somit kostengünstiger herzustellen, entgegen.
  • Außerdem besteht bei Eingriffen in die Schaltungstechnik eines Prozessors immer auch die Gefahr, dass sich Fehler einschleichen, welche die Designsicherheit verringert und welche meist sehr aufwändig behoben werden müssen. Dies ist insbesondere bei optimierten Prozessoren der Fall, die nicht ausschließlich mit automatischen Entwicklungswerkzeugen für das Chipdesign entwickelt wurden, sondern quasi "per Hand" optimiert wurden.
  • Um die vorstehend geschilderten Einschränkungen bzw. die damit einhergehenden Nachteile zu umgehen, wird in zunehmendem Maße die Funktionalität einer integrierten Schaltung, die bisher von Hardware-Elementen wie dem Prozessoren bzw. einer entsprechenden elektronischen Schaltungen bereit gestellt wurde, in das Programm bzw. die Software der entsprechenden Hardware bzw. des Prozessors verlagert.
  • Bei kleineren Schaltungsanordnungen bzw. Geräten wie zum Beispiel programmierbaren Transpondern stellt dies jedoch ein signifikantes Problem dar, da deren Chipflächen und damit auch der für Software zur Verfügung stehende Speicherplatz sehr begrenzt sind. Solche programmierbare Transponder werden auch als "Tag" bezeichnet, da sie häufig quasi als Schilder oder Etiketten zum Kennzeichnen von Produkten eingesetzt werden. Ein programmierbarer Transponder bzw. Tag umfasst einen Mikrochip und eine Sende-/Empfangsantenne, über welche Daten mit Basisstationen per Funk bidirektional ausgetauscht werden können.
  • Die zur Datenübertragung zwischen Basisstation und Transponder verwendete Funkübertragungsstrecke ist allerdings sehr schmalbandig. Zudem sind die Übertragungszeiten zeitlich sehr begrenzt.
  • Um diese Randbedingungen einhalten zu können, weisen die für solche programmierbare Transponder eingesetzten Prozessoren Befehlssätze mit einer sehr geringen Bitbreite von zum Beispiel lediglich 2 Bit auf. Die hierdurch zur Verfügung stehenden vier unterschiedlichen Befehle sind regelmäßig schon vergeben, so dass für die Implementierung zumindest eines zusätzlichen Befehls ein Eingriff in die integrierte Schaltung des Transponders erforderlich ist. Ohne eine solche schaltungstechnische Änderung ist die Implementierung zumindest eines zusätzlichen Befehls bei derzeit erhältlichen Transpondern mit geringer Bitbreite nicht möglich. Dies ist ein Zustand, den es verständlicherweise zu vermeiden gilt.
  • In der DE 699 08 409 T2 ist eine Vorrichtung und ein Verfahren zum Schutz gegen einen Speicherzugriff beschrieben, wobei die dort beschriebene Vorrichtung das Vorhandensein eines Mikroprozessors mit Hardwarefehlererkennung voraussetzt. Ein Zugriff auf einen geschützten Speicherbereich wird hier zunächst als ein missbräuchlicher Zugriff interpretiert und führt unweigerlich zu einer Unterbrechung der Funktion bzw. des entsprechenden Programms. Während dieser Unterbrechung wird eine Überprüfung der Zugangsberechtigung des die Zugangsanfrage sendenden Teilnehmers vorgenommen. Erst bei positiver Überprüfung dieser Zugangsberechtigung wird das Programm weitergeführt. Diese Druckschrift bezieht sich vornehmlich auf den Schutz der in einem Speicher geschützten Daten.
  • Die WO 00/34931 beschreibt ein Transponderkommunikationssystem; welches eine programmgesteuerte Einrichtung, wie etwa einen Mikroprozessor, in einem programmierbaren Transponder aufweist.
  • Die Druckschrift EP 0 703 529 A1 beschreibt einen Mikroprozessor, der eine Ausführungseinrichtung zur Ausführung eines Befehls aufweist. Die in dieser Druckschrift beschriebene Ausführungseinheit umfasst ein Verfahren zur Befehlserweiterung, wobei für diese Befehlserweiterung ein Teil der Adresse verwendet wird. Für diese Befehlserweiterung muss ein Teil des Befehls selbst als Befehlserweiterungsstartbefehl herangezogen werden.
  • Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zum Ausführen eines Programms durch einen Prozessor bereitzustellen, bei denen eine Erweiterung eines bereits vorhandenen Befehlssatzes zum Einführen neuer Befehle nicht erforderlich ist.
  • Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen des Patentanspruchs 1, – und durch eine Vorrichtung mit den Merkmalen des Patentanspruchs 7 gelöst.
  • Ein der Erfindung zu Grunde liegender wesentlicher Gedanke besteht darin, neue oder zusätzliche Befehle zum Ausführen eines Programms aus vorhandenen Befehlen zu bilden, die auf geschützte Speicherbereiche zugreifen, was im Normalbetrieb des Prozessors eigentlich verboten sind. Mit anderen Worten können erfindungsgemäß also vorgegebene Zugriffsbefehle auf geschützte Speicherbereiche zum automatischen Ausführen eines Programms durch einen Prozessor verwendet werden, wodurch die Implementierung eines weiteren Befehls ermöglicht wird.
  • Die Erfindung erweist sich als besonders vorteilhaft bei solchen Applikationen, bei denen ein erhöhter Sicherheitsbedarf besteht. Bei derartigen Applikationen wird vor der eigentlichen Datenübertragung in der Regel eine Art Authentifizierungssequenz oder Login-Prozedur durchgeführt. Mit diesen Methoden soll sichergestellt werden, dass alle an einer Kommunikation beteiligten Teilnehmer auch zur Kommunikation untereinander berechtigt sind. Bisher waren für derartige Authentifizierungssequenzen oder Login-Prozeduren spezielle Befehle wie "Starte Authentifizierung" vorgesehen, die beispielsweise von einer Basisstation an einen Transponder gesendet wurden. Im Transponder wurde dann eine entsprechende Schaltung für den Authentifizierungs- bzw. Login-Vorgang aktiviert.
  • Im Falle der Basisstation wurde die der vorgenannten Schaltung des Transponders entsprechende Funktionalität in Software realisiert, da dort ausreichend Speicherplatz und Prozessorkapazität zur Verfügung steht. Mit der Erfindung können nun auf sehr elegante Weise, jedoch nichts desto trotz sehr effektive Weise bereits vorhandene Transponder, die eigentlich hinsichtlich ihrer Befehlsbitbreite einen sehr begrenzten Befehlsraum aufweisen, der bereits vollständig ausgenutzt ist, um die zusätzliche Funktionalität einer Authentifizierung und/oder einer Login-Prozedur zur Verfügung zu stellen, nun ohne wesentliche schaltungstechnische Änderungen erweitert werden. Dies erfolgt zum Beispiel erfindungsgemäß dadurch, dass wesentliche Teile des neuen Befehls auf dem Transponder in Form von Software realisiert werden. Da hier auf solche Programmteile bzw. Befehle zugegriffen wird, die ohnehin in der Software des Transponders vorhanden sind, ist der Speicherplatzbedarf für diese zusätzliche Funktiona lität sehr gering. Eine Vergrößerung des Platzbedarfs der entsprechenden integrierten Schaltung ist daher vernachlässigbar gering bzw. im Idealfall gar nicht existent.
  • Konkret betrifft die Erfindung nun ein Verfahren zum Ausführen eines Programms durch einen Prozessor, bei dem der Prozessor Befehle empfängt und das Programm automatisch ausführt, wenn er einen Befehl zum Zugreifen auf einen geschützten Speicherbereich empfängt. Einen derartigen Zugriffsbefehl interpretiert der Prozessor also als eine Art Startkommando für das Programm. Vorzugsweise wird dieses Verfahren zur Befehlserweiterung bei programmierbaren Transpondern bzw. Tags eingesetzt.
  • Das Programm kann beispielsweise eine Authentifizierungssequenz zwischen einem ersten Kommunikations- und einem zweiten Kommunikationspartner ausführen. Insbesondere ist der erste Kommunikationspartner zum Beispiel als Basisstation und der zweite Kommunikationspartner als Transponder, welcher den Prozessor sowie den geschützten Speicherbereich aufweist, ausgebildet.
  • Das Programm kann auch eine Login-Prozedur eines ersten Kommunikationspartners bei einem zweiten Kommunikationspartner ausführen. Beispielsweise kann diese Login-Prozedur ausgeführt werden, wenn sich eine Basisstation bei einem Transponder einbuchen oder anmelden will.
  • Vorzugsweise weist der geschützte Speicherbereich mindestens einen geheimen Schlüssel, den so genannten "Secret Key" oder Geheimschlüssel auf. Der Befehl zum Zugreifen auf den geschützten Speicherbereich umfasst dann die Adresse des mindestens einen Geheimschlüssels. In einem derartigen Fall muss der Prozessor lediglich die Kombination von Zugriffsbefehlen und der speziellen Speicheradresse des mindestens einen Geheimschlüssels zum automatischen Ausführen des genannten Programms dekodieren: Eine derartige Dekodierung kann in einfacher Weise in Software implementiert werden, die vom Prozessor ausgeführt wird. Bevor also der Prozessor eine Fehlermeldung auf Grund des Zugriffs auf den geschützten Speicherbereich ausgibt, wird der entsprechende Zugriffsbefehl abgefangen und entsprechend der Erfindung dekodiert und als neuer Befehl interpretiert.
  • Der geschützte Speicherbereich kann auch einen vorgegebenen Adressbereich eines Speichers umfassen. In diesem Fall umfasst der Befehl zum Zugreifen auf den geschützten Speicherbereich mindestens eine Adresse dieses vorgegebenen Adressbereichs.
  • Typischerweise ist der Befehl zum Zugreifen auf den geschützten Speicherbereich als Lesebefehl und/oder als Schreibbefehl ausgebildet.
  • Die Erfindung betrifft ferner eine Vorrichtung zum Ausführen eines Programms durch eine programmgesteuerte Einrichtung, die zum Empfangen von Befehlen ausgebildet ist und Befehlsverarbeitungsmittel aufweist, die ausgebildet sind, um das Programm automatisch auszuführen, wenn der Prozessor einen Befehl zum Zugreifen auf einen geschützten Speicherbereich empfängt. Die Befehlsverarbeitungsmittel können entweder durch einfache schaltungstechnische Maßnahmen realisiert werden oder auch in Software implementiert sein. Die Programmgesteuerte Einrichtung kann zum Beispiel als Mikroprozessor, als Mikrocontroller, als Signalprozessor oder dergleichen ausgebildet sein. Denkbar wäre allerdings auch eine festverdrahtete Implementierung der programmgesteuerten Einrichtung, zum Beispiel durch eine FPGA-Schaltung oder eine PLD-Schaltung.
  • Das Programm ist vorzugsweise so ausgebildet, um eine Authentifizierungssequenz zwischen einem ersten Kommunikationspartner und einem zweiten Kommunikationspartner, bei spielsweise einer Basisstation und einem Transponder, auszuführen.
  • Das Programm kann auch so ausgebildet sein, um eine Login-Prozedur eines ersten Kommunikationspartners bei einem zweiten Kommunikationspartner, beispielsweise einer Basisstation bei einem Transponder, auszuführen.
  • Vorzugsweise weist der geschützte Speicherbereich mindestens einen Geheimschlüssel auf. Der Befehl zum Zugreifen auf den geschützten Speicherbereich umfasst dann die Adresse des mindestens einen Geheimschlüssels.
  • Alternativ oder zusätzlich kann der geschützte Speicherbereich auch einen vorgegebenen Adressbereich eines Speichers umfassen. In diesem Fall umfasst der Befehl zum Zugreifen auf den geschützten Speicherbereich mindestens eine Adresse des vorgegebenen Adressbereichs.
  • Schließlich ist der Befehl zum Zugreifen auf den geschützten Speicherbereich vorzugsweise als Lesebefehl und/oder als Schreibbefehl ausgebildet.
  • Schließlich betrifft die Erfindung noch einen programmierbaren Transponder, der eine wie vorstehend beschriebene programmgesteuerte Einrichtung enthält.
  • Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind den Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnung entnehmbar.
  • Die Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert. Es zeigen dabei:
  • 1 die Speicheraufteilung eines ersten Ausführungsbeispiels eines porgrammierbaren Transponders (Tag), der einen Systemspeicher mit Geheimschlüsseln umfasst;
  • 2 beispielhaft den Ablauf einer Authentifizierungssequenz zwischen einer Basisstation und einem Transponder, bei dem sich die Basisstation beim Transponder durch erfindungsgemäßes Ausführen eines Programms durch einen innerhalb des Transponders angeordneten Prozessor authentifiziert;
  • 3 eine beispielhafte Speicheraufteilung eines Transponders, der einen Systemspeicher mit einem Lese-/Schreib-Passwort für eine Login-Prozedur enthält;
  • 4 eine beispielhafte Login-Sequenz, bei der sich eine Basisstation bei einem Transponder durch Starten eines Programms zum erfindungsgemäßen Ausführen der Login-Sequenz auf dem Transponder einbucht.
  • In den Figuren der Zeichnung sind gleiche bzw. funktionsgleiche Elemente, Merkmale und Signale – sofern nichts anderes angegeben ist – mit denselben Bezugszeichen versehen worden.
  • 1 zeigt die Speicheraufteilung eines ersten Ausführungsbeispiels eines programmierbaren Transponders (Tag), der einen Systemspeicher mit Geheimschlüsseln umfasst. Dabei ist mit dem Bezugszeichen 10 die Speicheraufteilung des programmierbaren Transponders – nachfolgend kurz als Transponder bezeichnet – dargestellt. Die Speicheraufteilung ("memory map") umfasst mit 0 bis n gekennzeichnete Datenblöcke. Jeder dieser Datenblöcke weist eine gleiche Speichergröße von beispielsweise jeweils 32 Byte auf. Zudem ist ein Systemspeicherbereich ("System memory") 12 innerhalb der Speicheraufteilung 10 vorgesehen, der nur geschützte Zugriffe über ein Betriebssystem erlaubt, das von einem Prozessor des Transponders ausgeführt wird.
  • Der Systemspeicherbereich 12 umfasst Konfigurationseinstellungen ("Configuration"), eine eindeutige Kennzeichnung des Transponders ("Tag ID"), Speicherplätze für einen oder mehrere Geheimschlüssel ("Secret Key") und Speicherplätze für die Ablaufverfolgung ("Traceability") von bestimmten Vorgängen. Die Speicheradressen 0 bis n der Speicheraufteilung 10 und u bis v des Systemspeicherbereichs 12 sind in der 1 jeweils in den linken Feldern angegeben. Der Systemspeicherbereich 12 umfasst dabei einen Bereich von der Adresse u bis zur Adresse v mit den Randbedingungen u ≥ 0 und v ≤ n, wodurch er innerhalb der Speicheraufteilung 9 liegt.
  • 2 zeigt beispielhaft den Ablauf einer Authentifizierungssequenz zwischen einer Basisstation und einem Transponder. 2 zeigt hier den Ablauf einer Authentifizierung der Basisstation 14, auch als Schreib-/Lesegerät bezeichnet, bei einem Transponder bzw. Tag 16. Hierbei ist zu beachten, dass der Befehlssatz des Prozessors des Transponders 16 keinen eigenen Befehl für den Start des Authentifizierungsvorgangs umfasst. Vielmehr wird gemäß der Erfindung der Authentifizierungsvorgang auf dem Transponder 16, genauer gesagt durch den Prozessor des Transponders durch Ausführen eines an sich "verbotenen" Befehls gestartet. Unter einem "verbotenen" Befehl ist hier beispielsweise ein solcher Befehl zu verstehen, der einen unerlaubten Zugriff auf einen geschützten Speicherbereich, also auf eine oder mehrere Speicheradressen des in 1 dargestellten Systemspeicherbereichs 12, ausführt.
  • In 2 ist dieser "verbotene" Befehl als Lese-Kommando bzw. Lese-Befehl 18 auf eine oder mehrere Speicheradressen des Systemspeicherbereichs 12, welche jeweils einen Geheimschlüssel ("Secret Key") umfassen, ausgebildet. Der Prozessor des Transponders 16 erkennt einen derartigen Befehl als verbotenen Zugriff und startet daraufhin eine Routine oder Prozedur 20, welche den Authentifizierungsvorgang durchführt. Eine derartige Routine bzw. Prozedur 20 ist im Speicher des Transponders 16 abgelegt.
  • Nach Ablauf der Authentifizierungssequenz 20 wird vom Prozessor des Transponders 16 festgestellt, ob die Authentifizierung erfolgreich 22 war oder nicht erfolgreich 24 war. Falls die Authentifizierung erfolgreich war, kann zwischen der Basisstation 14 und dem Transponder 16 eine bidirektionale Kommunikation 26 mit wechselseitigen Schreib/Lese-Zugriffen erfolgen. Schlug die Authentifizierung hingegen fehl, so wird automatisch vom Transponder 16 und/oder von der Basisstation 14 die entsprechende Kommunikation abgebrochen 28. Es kann nun vorgesehen sein, dass unmittelbar darauf oder gegebenenfalls nach Ablauf einer vorgegebenen Zeitspanne ein erneuter Authentifizierungsvorgang von der Basisstation 14 gestartet wird. Zusätzlich oder alternativ kann auch vorgesehen sein, dass die Kommunikation zwischen Basisstation 14 und Transponder 16 erst einmal vollständig unterbrochen wird und/oder auch dauerhaft unterbrochen bleibt.
  • 3 zeigt eine beispielhafte Speicheraufteilung eines Transponders, der einen Systemspeicher mit einem Lese-/Schreib-Passwort für eine Login-Prozedur enthält. 3 zeigt dabei eine ähnliche Speicheraufteilung eines Speichers eines Transponders 16 wie in 1, allerdings mit dem Unterschied, dass im Systemspeicherbereich 32 anstelle der Geheimschlüssel ein Lese-Passwort sowie ein Schreib-Passwort ("Read Password", "Write Password") abgelegt sind. Das Lese- und Schreib-Passwort soll das Lesen und Schreiben von bestimmten Speicherbereichen des Speichers des Transponders 16 ermöglichen. Das Lese- und Schreib-Passwort ermöglicht ferner das Einbuchen einer Basisstation 14 beim Transponder 16 im Rahmen einer Login-Sequenz, die nachfolgend anhand von 4 erläutert wird.
  • 4 zeigt eine beispielhafte Login-Sequenz, bei der sich eine Basisstation bei einem Transponder durch Starten eines Programms zum erfindungsgemäßen Ausführen der Login-Sequenz auf dem Transponder einbucht. In 4 überträgt eine Basisstation 14 ein Lese-Einbuchungskommando 34 an einen programmierbaren Tranponder 16, mit welchem dem Transponder 16 von der Basisstation 14 mitgeteilt wird, dass diese Daten aus einem geschützten Speicherbereich bzw. Systemspeicherbereich 32 des Transponders 16 lesen möchte. Das Lese-Einbuchungs-Kommando 34 kann beispielsweise ein herkömmlicher Lesebefehl auf eine Speicherzelle des Systemspeicherbereichs 32 sein, was vom Prozessor des Transponders 16 als unerlaubter Zugriff identifiziert wird.
  • Dann startet der Prozessor des Transponders 16 eine Routine oder eine Prozedur 36, die im herkömmlichen Speicher oder auch im geschützten Speicher bzw. Systemspeicherbereich 32 des Transponderspeichers abgelegt sein kann, und die beim Einbuchen der Basisstation 14 auf den Transponder 16 das Lesen und Schreiben von Speicheradressen des Systemspeicherbereichs 32, das heißt des geschützten Speicherbereiches des Transponderspeichers ermöglicht. Im Rahmen dieser Login-Prozedur verifiziert der Transponder 16 Login-Daten, die er nach dem Lese-Einbuchungs-Kommando 34 von der Basisstation 14 empfängt. Die empfangenen Login-Daten vergleicht er mit entsprechenden Daten (Read Password, Write Password) aus Systemspeicherbereich 32 und identifiziert die Einbuchungsanforderung durch die Basisstation 14 als erfolgreich 38, sofern die Daten übereinstimmen; andernfalls verwirft er den Einbuchungsvorgang als nicht erfolgreich 40.
  • War der Einbuchungsvorgang bzw. das Login erfolgreich, wird zwischen der Basisstation 14 und dem Transponder 16 eine normale Kommunikation 42 aufgebaut, über die Schreib-/Lesezugriffe von der Basisstation 14 auf den Speicher des Transponders 16 ermöglicht werden. Andernfalls wird die Kommunikation zwischen Basisstation und Transponder abgebrochen 44 oder es werden vom Transponder beliebige Daten wie beispielsweise Zufallsdaten ausgegeben.
  • Die Erfindung ermöglicht es, den schaltungstechnischen Mehraufwand zur Implementierung eines neuen Befehls insbesondere bei Transpondern, deren Chipfläche sehr beschränkt ist, zu begrenzen, indem neue Befehle durch Kombination bekannter Befehle und Adressen von geschützten Speicherbereichen erzeugt werden. Dadurch wird weder die bereits vorhandene Befehlsstruktur nicht geändert, noch ist eine Änderung erforderlich. Änderungen in bereits existierenden Basisstationen sind ebenfalls nur in begrenzten Umfang erforderlich und können beispielsweise durch Software implementiert werden.
  • Obgleich die vorliegende Erfindung vorstehend anhand eines bevorzugten Ausführungsbeispiels beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art und Weise modifizierbar.
  • 10
    Speicheraufteilung im programmierbaren Transponder bzw. Tag
    12
    Systemspeicherbereich (zugriffsgeschützter Speicherbereich)
    14
    Basisstation
    16
    programmierbarer Transponder bzw. Tag
    18
    Lesebefehl
    20
    Authentifizierungssequenz
    22
    Authentifizierung erfolgreich
    24
    Authentifizierung nicht erfolgreich
    26
    Kommunikation zwischen Basisstation und Transponder
    28
    Kommunikation zwischen Basisstation und Transponder gestoppt
    30
    Speicheraufteilung im programmierbaren Transponder bzw. Tag
    32
    Systemspeicherbereich (zugriffsgeschützter Speicherbereich)
    34
    Lese-Einbuchungskommando
    36
    Verifikation von Logindaten
    38
    Login erfolgreich
    40
    Login nicht erfolgreich
    42
    Kommunikation zwischen Basisstation und Transponder
    44
    Kommunikation zwischen Basisstation und Transponder gestoppt

Claims (13)

  1. Verfahren zum Ausführen eines bestimmten Programms und zur Implementierung eines weiteren Befehls eines Befehlssatzes eines Transponders, – bei dem eine programmgesteuerte Einrichtung innerhalb eines Transponders (16) einen vorgegebenen Zugriffsbefehl für einen Zugriff auf einen geschützten Speicherbereich (12; 32) eines Speichers des Transponders (16) empfängt und – bei dem die programmgesteuerte Einrichtung zur Implementierung des weiteren Befehls diesen vorgegebenen Zugriffsbefehl als Startbefehl uminterpretiert, durch den das bestimmte Programm des Transponders (16) durch die programmgesteuerte Einrichtung automatisch ausgeführt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das bestimmte Programm eine Authentifizierungssequenz (20) zwischen einem ersten Kommunikationspartner (14) und einem zweiten Kommunikationspartner (16) ausführt.
  3. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das bestimmte Programm eine Login-Prozedur (36) eines ersten Kommunikationspartners (14) bei einem zweiten Kommunikationspartner (16) ausführt.
  4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der geschützte Speicherbereich (12) mindestens einen geheimen Schlüssel aufweist und der Befehl zum Zugreifen auf den geschützten Speicherbereich (18) die Adresse des mindestens einen geheimen Schlüssels umfasst.
  5. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der geschützte Speicherbereich (12; 32) einen vorgegebenen Adressbereich eines Speichers umfasst und dass der Befehl zum Zugreifen auf den geschützten Speicherbereich mindestens eine Adresse des vorgegebenen Adressbereichs enthält.
  6. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Befehl zum Zugreifen auf den geschützten Speicherbereich als Lesebefehl oder als Schreibbefehl (34) ausgebildet ist.
  7. Programmierbarer Transponder (16) mit einer programmgesteuerten Einrichtung zum Ausführen eines bestimmten Programms und zur Implementierung eines weiteren Befehls eines Befehlssatzes eines Transponders, die enthält: – eine Empfangseinrichtung zum Empfangen von Befehlen, – einen Speicher, der zumindest einen geschützten Speicherbereich (12; 32) aufweist, – Befehlverarbeitungsmittel zum Ausführen von Befehlen und Programmen, die derart ausgebildet sind, einen von der Empfangseinrichtung empfangenen, vorgegebenen Zugriffsbefehl für einen Zugriff auf einen geschützten Speicherbereich (12; 32) des Speichers zur Implementierung des weiteren Befehls als Startbefehl umzuinterpretieren, der ein automatisches Ausführen des bestimmten Programms einleitet.
  8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass das bestimmte Programm der programmgesteuerten Einrichtung derart ausgebildet ist, um eine Authentifizierungsse quenz (20) zwischen einem ersten Kommunikationspartner (14) und einem zweiten Kommunikationspartner (16) auszuführen.
  9. Vorrichtung nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, dass das bestimmte Programm der programmgesteuerten Einrichtung derart ausgebildet ist, um eine Login-Prozedur (36) eines ersten Kommunikationspartners (14) bei einem zweiten Kommunikationspartner (16) auszuführen.
  10. Vorrichtung nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass der geschützte Speicherbereich (12) mindestens einen geheimen Schlüssel aufweist und dass der Zugriffsbefehl zum Zugreifen auf den geschützten Speicherbereich (12) die Adresse des mindestens einen geheimen Schlüssels umfasst.
  11. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass der geschützte Speicherbereich (12; 32) einen vorgegebenen Adressbereich eines Speichers umfasst und der Befehl zum Zugreifen auf den geschützten Speicherbereich mindestens eine Adresse des vorgegebenen Adressbereichs umfasst.
  12. Vorrichtung nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, dass der Zugriffsbefehl zum Zugreifen auf den geschützten Speicherbereich als Lesebefehl oder als Schreibbefehl (34) ausgebildet ist.
  13. Vorrichtung nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, dass die programmgesteuerte Einrichtung als Mikrocontroller oder als Mikroprozessor ausgebildet ist, der ein Programm enthält.
DE200410013176 2004-03-17 2004-03-17 Verfahren und Vorrichtung zum Ausführen eines Programms Expired - Fee Related DE102004013176B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE200410013176 DE102004013176B4 (de) 2004-03-17 2004-03-17 Verfahren und Vorrichtung zum Ausführen eines Programms
US11/081,543 US20050210213A1 (en) 2004-03-17 2005-03-17 Method and apparatus for the execution of a program
CN 200510055112 CN100507831C (zh) 2004-03-17 2005-03-17 用于执行程序的方法及装置
US13/038,960 US9063890B2 (en) 2004-03-17 2011-03-02 Executing program to protected memory in transponder using wireless base station

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410013176 DE102004013176B4 (de) 2004-03-17 2004-03-17 Verfahren und Vorrichtung zum Ausführen eines Programms

Publications (2)

Publication Number Publication Date
DE102004013176A1 DE102004013176A1 (de) 2005-10-13
DE102004013176B4 true DE102004013176B4 (de) 2007-09-06

Family

ID=34982776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410013176 Expired - Fee Related DE102004013176B4 (de) 2004-03-17 2004-03-17 Verfahren und Vorrichtung zum Ausführen eines Programms

Country Status (3)

Country Link
US (2) US20050210213A1 (de)
CN (1) CN100507831C (de)
DE (1) DE102004013176B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009034300A1 (de) 2009-07-21 2011-04-21 Atmel Automotive Gmbh Transponder

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390278B2 (en) * 2012-09-14 2016-07-12 Freescale Semiconductor, Inc. Systems and methods for code protection in non-volatile memory systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0703529A1 (de) * 1994-09-20 1996-03-27 Nec Corporation Mikroprozessor zur Ausführung von Befehlen,von denen ein Teil des Operandfelds als Operationscode zu gebrauchen ist
WO2000034931A1 (en) * 1998-12-09 2000-06-15 Shell Internationale Research Maatschappij B.V. Transponder communications system
DE10130124A1 (de) * 2001-06-22 2003-01-02 Infineon Technologies Ag Sicherheitsbauelement und Verfahren zur Aktualisierung und Registrierung von Software
US6542981B1 (en) * 1999-12-28 2003-04-01 Intel Corporation Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode
DE69908409T2 (de) * 1998-11-24 2004-05-06 Secap Vorrichtung und verfahren zum schutz gegen einen speicherzugriff und zugehörige frankiermaschine

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677546A (en) * 1984-08-17 1987-06-30 Signetics Guarded regions for controlling memory access
DE19756587C2 (de) * 1997-12-18 2003-10-30 Siemens Ag Verfahren und Kommunikationssystem zur Verschlüsselung von Informationen für eine Funkübertragung und zur Authentifikation von Teilnehmern
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
JP2002229859A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ディスク記憶装置及び同装置に適用する認証方法
US7313705B2 (en) * 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
JP2005535958A (ja) * 2002-08-08 2005-11-24 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド デジタル著作権管理のための集積回路
US20040043788A1 (en) * 2002-08-28 2004-03-04 Guarav Mittal Management of parameters in a removable user identity module
US7269846B2 (en) * 2002-08-30 2007-09-11 Bank Of America Corporation Mobile terminal having virus resistant security module architecture
US20040078536A1 (en) * 2002-10-22 2004-04-22 Tai-Ming Chen Authentication mechanism integrated with random access memory and method of use
US20040255145A1 (en) * 2003-05-06 2004-12-16 Jerry Chow Memory protection systems and methods for writable memory
US6885337B2 (en) * 2003-09-10 2005-04-26 Sony Ericsson Mobile Communications Ab Methods and apparatus for determining the position of a mobile terminal using localized source assistance information
GB2411261B (en) * 2004-02-20 2007-07-11 Hewlett Packard Development Co Standalone memory device and system and method using such device
FI20045505A (fi) * 2004-12-29 2006-06-30 Nokia Corp Laitteen muistiin tallennettavan tiedon suojaaminen
US20070022243A1 (en) * 2005-07-22 2007-01-25 John Rudelic Method and apparatus capable of disabling authenticated operations and guaranteed secure boot in a wireless platform
US20070050622A1 (en) * 2005-09-01 2007-03-01 Rager Kent D Method, system and apparatus for prevention of flash IC replacement hacking attack
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0703529A1 (de) * 1994-09-20 1996-03-27 Nec Corporation Mikroprozessor zur Ausführung von Befehlen,von denen ein Teil des Operandfelds als Operationscode zu gebrauchen ist
DE69908409T2 (de) * 1998-11-24 2004-05-06 Secap Vorrichtung und verfahren zum schutz gegen einen speicherzugriff und zugehörige frankiermaschine
WO2000034931A1 (en) * 1998-12-09 2000-06-15 Shell Internationale Research Maatschappij B.V. Transponder communications system
US6542981B1 (en) * 1999-12-28 2003-04-01 Intel Corporation Microcode upgrade and special function support by executing RISC instruction to invoke resident microcode
DE10130124A1 (de) * 2001-06-22 2003-01-02 Infineon Technologies Ag Sicherheitsbauelement und Verfahren zur Aktualisierung und Registrierung von Software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009034300A1 (de) 2009-07-21 2011-04-21 Atmel Automotive Gmbh Transponder
US8904134B2 (en) 2009-07-21 2014-12-02 Atmel Corporation Method and system of communication between a transponder and a base station

Also Published As

Publication number Publication date
US20050210213A1 (en) 2005-09-22
US20110153970A1 (en) 2011-06-23
CN100507831C (zh) 2009-07-01
DE102004013176A1 (de) 2005-10-13
CN1670689A (zh) 2005-09-21
US9063890B2 (en) 2015-06-23

Similar Documents

Publication Publication Date Title
DE69930620T2 (de) Verfahren und vorrichtung zur vermeidung von mi brauch eines zell-telefons
DE3048365C2 (de)
EP2727277B1 (de) System zur sicheren übertragung von daten und verfahren
EP2987350B1 (de) Mobilstation umfassend sicherheitsressourcen mit unterschiedlichen sicherheitsniveaus
DE102011115135A1 (de) Mikroprozessorsystem mit gesicherter Laufzeitumgebung
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
DE102014220616A1 (de) Verfahren zum Laden von ausführbaren Programminstruktionen in eine Chipkarte im Wirkbetrieb
EP3080950B1 (de) Verfahren und system zur deterministischen autokonfiguration eines gerätes
DE102006035610B4 (de) Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
DE102004013176B4 (de) Verfahren und Vorrichtung zum Ausführen eines Programms
DE10218795B4 (de) Verfahren zum Herstellen eines elektronischen Sicherheitsmoduls
DE10002203B4 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
WO2004114131A1 (de) Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher
DE19626339A1 (de) Sicheres Laden von Anwendungen und Daten auf Chipkarten
EP2524333B1 (de) Verfahren zum bereitstellen eines sicheren zählers auf einem endgerät
EP2126711B1 (de) Datenspeichervorrichtung mit zusatzfunktion
DE69738548T2 (de) Dynamisches dateninterpretationsverfahren für eine chipkarte
EP1529257B1 (de) Übernehmen eines datensatzes in eine recheneinheit
DE102005056357A1 (de) Multithreading-fähige virtuelle Maschine
EP3293912B1 (de) Teilnehmeridentifikationssystem
EP3503493A1 (de) Kommunikationsvorrichtung und verfahren zum verarbeiten eines netzwerkpakets
WO2012104063A1 (de) VERFAHREN ZUR KOMMUNIKATION EINER APPLIKATION IN EINER GESICHERTEN LAUFZEITUMGEBUNG EINER MIKROPROZESSOREINHEIT MIT EINER GEGENSTELLE AUßERHALB DER GESICHERTEN LAUFZEITUMGEBUNG
EP3469511B1 (de) Speicherverwaltung eines sicherheitsmoduls
DE60312159T2 (de) Übertragung von sicherheitsrelevanten Daten zwischen zwei Speichern
EP2210210B1 (de) Verfahren zum laden von initialisierungs- und/oder personalisierungsdaten auf einen tragbaren datenträger

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ATMEL AUTOMOTIVE GMBH, 74072 HEILBRONN, DE

R081 Change of applicant/patentee

Owner name: ATMEL CORP., SAN JOSE, US

Free format text: FORMER OWNER: ATMEL AUTOMOTIVE GMBH, 74072 HEILBRONN, DE

Effective date: 20130529

Owner name: ATMEL CORP., US

Free format text: FORMER OWNER: ATMEL AUTOMOTIVE GMBH, 74072 HEILBRONN, DE

Effective date: 20130529

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20130529

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Effective date: 20130529

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20141001