DE102004013176B4 - Verfahren und Vorrichtung zum Ausführen eines Programms - Google Patents
Verfahren und Vorrichtung zum Ausführen eines Programms Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1441—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection 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
– 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 Bezugszeichen10 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 Speicheraufteilung10 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 Speicheraufteilung10 und u bis v des Systemspeicherbereichs12 sind in der1 jeweils in den linken Feldern angegeben. Der Systemspeicherbereich12 umfasst dabei einen Bereich von der Adresse u bis zur Adresse v mit den Randbedingungen u ≥ 0 und v ≤ n, wodurch er innerhalb der Speicheraufteilung9 liegt. -
2 zeigt beispielhaft den Ablauf einer Authentifizierungssequenz zwischen einer Basisstation und einem Transponder.2 zeigt hier den Ablauf einer Authentifizierung der Basisstation14 , auch als Schreib-/Lesegerät bezeichnet, bei einem Transponder bzw. Tag16 . Hierbei ist zu beachten, dass der Befehlssatz des Prozessors des Transponders16 keinen eigenen Befehl für den Start des Authentifizierungsvorgangs umfasst. Vielmehr wird gemäß der Erfindung der Authentifizierungsvorgang auf dem Transponder16 , 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 in1 dargestellten Systemspeicherbereichs12 , ausführt. - In
2 ist dieser "verbotene" Befehl als Lese-Kommando bzw. Lese-Befehl18 auf eine oder mehrere Speicheradressen des Systemspeicherbereichs12 , welche jeweils einen Geheimschlüssel ("Secret Key") umfassen, ausgebildet. Der Prozessor des Transponders16 erkennt einen derartigen Befehl als verbotenen Zugriff und startet daraufhin eine Routine oder Prozedur20 , welche den Authentifizierungsvorgang durchführt. Eine derartige Routine bzw. Prozedur20 ist im Speicher des Transponders16 abgelegt. - Nach Ablauf der Authentifizierungssequenz
20 wird vom Prozessor des Transponders16 festgestellt, ob die Authentifizierung erfolgreich22 war oder nicht erfolgreich24 war. Falls die Authentifizierung erfolgreich war, kann zwischen der Basisstation14 und dem Transponder16 eine bidirektionale Kommunikation26 mit wechselseitigen Schreib/Lese-Zugriffen erfolgen. Schlug die Authentifizierung hingegen fehl, so wird automatisch vom Transponder16 und/oder von der Basisstation14 die entsprechende Kommunikation abgebrochen28 . Es kann nun vorgesehen sein, dass unmittelbar darauf oder gegebenenfalls nach Ablauf einer vorgegebenen Zeitspanne ein erneuter Authentifizierungsvorgang von der Basisstation14 gestartet wird. Zusätzlich oder alternativ kann auch vorgesehen sein, dass die Kommunikation zwischen Basisstation14 und Transponder16 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 Transponders16 wie in1 , allerdings mit dem Unterschied, dass im Systemspeicherbereich32 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 Transponders16 ermöglichen. Das Lese- und Schreib-Passwort ermöglicht ferner das Einbuchen einer Basisstation14 beim Transponder16 im Rahmen einer Login-Sequenz, die nachfolgend anhand von4 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. In4 überträgt eine Basisstation14 ein Lese-Einbuchungskommando34 an einen programmierbaren Tranponder16 , mit welchem dem Transponder16 von der Basisstation14 mitgeteilt wird, dass diese Daten aus einem geschützten Speicherbereich bzw. Systemspeicherbereich32 des Transponders16 lesen möchte. Das Lese-Einbuchungs-Kommando34 kann beispielsweise ein herkömmlicher Lesebefehl auf eine Speicherzelle des Systemspeicherbereichs32 sein, was vom Prozessor des Transponders16 als unerlaubter Zugriff identifiziert wird. - Dann startet der Prozessor des Transponders
16 eine Routine oder eine Prozedur36 , die im herkömmlichen Speicher oder auch im geschützten Speicher bzw. Systemspeicherbereich32 des Transponderspeichers abgelegt sein kann, und die beim Einbuchen der Basisstation14 auf den Transponder16 das Lesen und Schreiben von Speicheradressen des Systemspeicherbereichs32 , das heißt des geschützten Speicherbereiches des Transponderspeichers ermöglicht. Im Rahmen dieser Login-Prozedur verifiziert der Transponder16 Login-Daten, die er nach dem Lese-Einbuchungs-Kommando34 von der Basisstation14 empfängt. Die empfangenen Login-Daten vergleicht er mit entsprechenden Daten (Read Password, Write Password) aus Systemspeicherbereich32 und identifiziert die Einbuchungsanforderung durch die Basisstation14 als erfolgreich38 , sofern die Daten übereinstimmen; andernfalls verwirft er den Einbuchungsvorgang als nicht erfolgreich40 . - War der Einbuchungsvorgang bzw. das Login erfolgreich, wird zwischen der Basisstation
14 und dem Transponder16 eine normale Kommunikation42 aufgebaut, über die Schreib-/Lesezugriffe von der Basisstation14 auf den Speicher des Transponders16 ermöglicht werden. Andernfalls wird die Kommunikation zwischen Basisstation und Transponder abgebrochen44 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)
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
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)
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)
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)
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)
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 |
-
2004
- 2004-03-17 DE DE200410013176 patent/DE102004013176B4/de not_active Expired - Fee Related
-
2005
- 2005-03-17 CN CN 200510055112 patent/CN100507831C/zh not_active Expired - Fee Related
- 2005-03-17 US US11/081,543 patent/US20050210213A1/en not_active Abandoned
-
2011
- 2011-03-02 US US13/038,960 patent/US9063890B2/en active Active
Patent Citations (5)
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)
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 |