DE60221708T2 - Sicheres booten für chip-geräten - Google Patents

Sicheres booten für chip-geräten Download PDF

Info

Publication number
DE60221708T2
DE60221708T2 DE60221708T DE60221708T DE60221708T2 DE 60221708 T2 DE60221708 T2 DE 60221708T2 DE 60221708 T DE60221708 T DE 60221708T DE 60221708 T DE60221708 T DE 60221708T DE 60221708 T2 DE60221708 T2 DE 60221708T2
Authority
DE
Germany
Prior art keywords
security
memory
value
serial port
processor
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 - Lifetime
Application number
DE60221708T
Other languages
English (en)
Other versions
DE60221708D1 (de
Inventor
Richard C. Puslinch MADTER
Ryan J. Kitchener HICKEY
Christopher Waterloo PATTENDEN
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of DE60221708D1 publication Critical patent/DE60221708D1/de
Application granted granted Critical
Publication of DE60221708T2 publication Critical patent/DE60221708T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Die Bonding (AREA)
  • Stored Programmes (AREA)
  • Prostheses (AREA)
  • Disintegrating Or Milling (AREA)

Description

  • Dieser Antrag macht Anspruch geltend auf das Prioritätsrecht aufgrund der US Patentanmeldung Seriennummer 60/342,082, eingereicht am 26. Dezember 2001.
  • Die vorliegende Erfindung bezieht sich auf das Gebiet von anwendungsspezifischen integrierten Schaltungen [ASIC] und prozessororientiertem (on-chip) BootROM (Start-Festspeicher). Insbesondere bezieht sich die vorliegende Erfindung auf das Gebiet, Sicherheitsfunktionen in das prozessororientierte BootROM einzugliedern, vorzugsweise bei Nutzung in mobilen Geräten.
  • Viele mobile Geräte wie Funktelefone, PDAs (persönliche digitale Assistenten) und andere Handheld-Rechen- und Kommunikationsgeräte führen gegenwärtig zahlreiche und komplexe Funktionen aus. Bei einem solchen mobilen Gerät kann es gelegentlich nötig werden, zumindest einen Teil der darin genutzten Software auf einen bekannten vorherigen Stand zurück zu setzen, um aktuelle oder potentielle Probleme zu vermeiden. Typischerweise beinhaltet ein mobiles Gerät einen Reset-Schalter oder ein anderes entsprechendes Fachleuten bekanntes Hilfsmittel, das der Benutzer betätigen kann, um einen Rücksetzvorgang auszulösen.
  • Es wurde beobachtet, dass in einige bestehende ASIC Prozessoren für mobile Geräte über ihren seriellen Anschluss eingedrungen werden kann, nachdem ein Rücksetz-vorgang ausgelöst wurde. Ein externer Reset-Schalter steuert üblicherweise eine Rücksetz-Schaltung im mobilen Gerät. Wenn der Reset-Schalter betätigt wurde, schließt sich der Rücksetz-Schaltkreis und sendet dabei ein Signal oder einen Reset-Befehl an die ASIC zum Rücksetzen. Wenn der Reset-Schalter frei gegeben wird und der Rücksetz-Schaltkreis sich öffnet, werden die im internen BootROM gespeicherten Instruktionen ausgeführt, und der BootROM weist die ASIC zur Abfrage des seriellen Anschlusses über den Vorgang an, welcher an einen persönlichen Rechner angeschlossen sein kann.
  • Falls der serielle Anschluss in Betrieb ist, deutet dies in der Regel darauf hin, dass es neuen Code zum Herunterladen gibt. Dieser neue Code kann im Speicher auf einem persönlichen Rechner gespeichert werden oder kann über den persönlichen Rechner von einer anderen Quelle übermittelt werden, und er kann zum Beispiel eine neue Version des Codes enthalten, der im mobilen Gerät auszuführen ist. Typischerweise wird der Programmcode im BootROM zu einem Downloadprozess des neuen Codes über den seriellen Anschluss in den internen SRAM springen. Ist der Download abgeschlossen, wird der Programmcode im BootROM zum Beginn des herunter geladenen neuen Codes springen und anfangen, den herunter geladenen neuen Code auszuführen. Dieser herunter geladene neue Code verfügt typischerweise über vollständigen Zugriff, im Sinne von zulässigen Instruktionen und Befehlen, zu allen Komponenten in dem mobilen Gerät, wie z.B. dem FLASH-Datenspeicher. Dies stellt ein potentielles Sicherheitsrisiko dar, da es zulässt, dass jedermann neuen Code über den seriellen Anschluss liefert, der, nachdem er ausgeführt wurde, auf im FLASH-Datenspeicher des mobilen Geräts gespeicherte Programme und Daten zugreifen und diese hochladen kann, einschließlich vertraulicher und geschützter Informationen. Ein solcher Zugriff würde einen Sicherheitsverstoß darstellen.
  • EP0816970 offenbart ein Verfahren zur Prüfung der Validität eines ungesichertem Mikrocodes, der bereits in einen FLASH-Datenspeicher geschrieben wurde. Falls sich aufgrund eines Vergleichs einer Verifikationsprüfsumme und einer Datensumme, die sich beide zumindest in Teilen aus dem Inhalt eines ungeschützten Speichers ergeben, herausstellt, dass der Mikrocode zulässig ist, dann wird der Mikrocode als „vertrauenswürdig" eingestuft und die Ausführung zugelassen. Stimmen die Prüfsummen, wird der Nutzer auf einen Fehler hingewiesen. EP0816970 stellt nicht dar, wie ein solcher Fehler von Computersystem behandelt würde, und beschreibt oder macht keine Vorschläge für eine Vorrichtung zum Herunterladen des Codes als Ergebnis der Erkennung einer solchen Fehlerzustandes.
  • US5805882 offenbart eine Vorrichtung zur Sicherstellung, dass der Inhalt eines FLASH-Festspeichers (flashROM) nicht korruptiert wird. US5805882 stellt ein Computersystem dar, in dem Updates für den FLASH-Festspeicher, welcher zum Speichern der BIOS-Informationen benutzt wird, über einen externen Anschluss bezogen werden, falls der im FLASH-Festspeicher gespeicherte Inhalt eine Prüfsumme verfehlt. Die Prüfsumme selbst wird aus dem Inhalt des FLASH-Festspeichers bezogen, der die BIOS-Informationen enthält. Der FLASH-Festspeicher kann neu programmiert werden, um Änderungen der BIOS-Informationen zuzulassen.
  • Es ist daher wünschenswert, eine Sicherheitsfunktion bereitzustellen, um die Wahrscheinlichkeit des Vorkommens von Sicherheitsverstößen zu reduzieren.
  • ALLGEMEINES
  • Es ist ein Ziel der vorliegenden Erfindung, mindestens einen der Nachteile der vorangehenden Speicher- und Prozessoranordnungen zu mindern oder zu vermeiden, insbesondere die, die für die Nutzung mit Handheld- oder Mobilgeräten vorgesehen sind.
  • Es wir ein Startverfahren beschrieben, das von einer ASIC und einem Speicher in mobilen Geräten verwendet wird sowie eine Vorrichtung für die Nutzung in einem solchen mobilen Gerät. Eine Sicherheitsfunktion ist gemäß einer Ausführungsform der Erfindung vorgesehen, die die Wahrscheinlichkeit eines Sicherheitsverstoßes senkt, vorzugsweise in Situationen, in denen ein Zurücksetzen des mobilen Geräts ausgelöst wurde. Die Sicherheitsfunktion umfasst selektives Hochfahren für den seriellen Anschluss basierend auf dem Ergebnis eines Vergleichs zwischen einem in einem ASIC, z.B. in einem BootROM, gespeicherten Wert und in einem FLASH-Speicher gespeicherten Wert.
  • Ein vorgegebener Sicherheitswert oder Passwort wird in einem Schaltkreis im mobilen Gerät gespeichert, wie zum Beispiel im BootROM. Der Programmcode im BootROM ist vorzugsweise modifiziert, so dass vor dem Abfragen des seriellen Anschlusses für den Vorgang eine Sicherheitsspeicherzelle innerhalb des FLASH-Speichers des mobilen Geräts gelesen wird. Wenn der Wert in der Sicherheitsspeicherzelle dem vorgegebenen Sicherheitswert entspricht, wird das Abfragen des seriellen Anschlusses nicht vorgenommen. Dies reduziert die potentiellen Sicherheitsverstöße, die in konventionellen Einstellungen entstehen, in denen der Code vom seriellen Anschluss herunter geladen und durchgeführt werden kann, was es jedermann möglich macht, auf Programme und Daten zuzugreifen und [diese] in den FLASH-Speicher zu laden, einschließlich vertraulicher und geschützter Informationen.
  • In einem Aspekt der Erfindung enthält eine vorgegebenen Speicherzelle, z.B. eine Sicherheitsspeicherzelle, im FLASH-Speicher ein Passwort oder einen ähnlichen Sicherheitswert. Unmittelbar nach einem Reset des Geräts liest der Startcode, der in der ASIC einprogrammiert ist, vor dem Abfragen des seriellen Anschlusses für den Vorgang, aus der Sicherheitsspeicherzelle des FLASH-Speichers. Falls der abgelesene Wert dem erwarteten Passwort entspricht, springt der Startcode direkt zum Start des FLASH-Speichers und verhindert ein Herunterladen von Programmen in den Systemspeicher über den seriellen Anschluss.
  • Gemäß eines Aspekts der Erfindung ist ein Startverfahren für die Nutzung in einem mobilen Gerät mit einem FLASH-Speicher vorgesehen, in dem Startanweisungen und ein Schlüsselwert in einer Sicherheitsspeicherzelle gespeichert werden, das einen internen Festspeicher für das Abspeichern vom Startprogrammcode und eines vorgegebenen Sicherheitswerts hat, und einen seriellen Anschluss hat, in dem der auf dem Festspeicher gespeicherte Startprogrammcode folgende Schritte ausführt: Lesen des Schlüsselwerts aus der Sicherheitsspeicherzelle im FLASH-Speicher; Vergleichen des Schlüsselwerts mit dem vorgegebenen Sicherheitswert, der im internen Festspeicher abgespeichert ist; und abhängig vom Ergebnis des Vergleichs des Schlüsselwerts mit dem vorgegebenen Sicherheitswert entweder das Abfragen des seriellen Anschlusses für den Vorgang oder das zum FLASH-Speicher Springen, um die darin gespeicherten Startinstruktionen durchzuführen.
  • In einer vorliegenden bevorzugten Ausführungsform wird der Start durchgeführt, falls der Schlüsselwert aus der Sicherheitsspeicherzelle nicht dem vorgegebenen Sicherheitswert entspricht. Das Verfahren kann darüber hinaus den Schritt beinhalten, dass in Reaktion auf einer Ermittlung des Vorgangs des seriellen Anschlusses der Code in den internen SRAM des mobilen Geräts geladen wird, sowie der Schritt, dass eine Anweisung im herunter geladenen Code ausgeführt wird und dass das Verfahren zu einer Startspeicherzelle im FLASH-Speicher springt, um die darin gespeicherten Startinstruktionen auszuführen.
  • In einem Startverfahren gemäß einer Ausführungform der Erfindung kann der vorgegebene Sicherheitswert in einem BootROM im mobilen Gerät gespeichert werden. Des Weiteren wird der Schritt des Lesens im Startverfahren vorzugsweise in Reaktion auf einen Reset-Befehl durchgeführt.
  • Gemäß eines anderen Aspekts der Erfindung ist eine Vorrichtung zur Nutzung in mobilen Geräten mit einem seriellen Anschluss vorgesehen, die umfasst: einen internen Festspeicher zum Speichern des Startprogrammcodes und eines vorgegebenen Sicherheitswerts; einen FLASH-Speicher zum Speichern der Startanweisungen und mit einer Sicherheitsspeicherzelle zum Speichern eines Schlüsselwerts; und einen Prozessor, so eingestellt, dass er mit dem internen Fest- und dem FLASH-Speicher verbunden ist, wobei der Prozessor so eingestellt ist, dass der im Festspeicher gespeicherte Startprogrammcode für das Ablesen des Schlüsselwerts aus der Sicherheitsspeicherzelle im FLASH-Speicher und für Vergleichen des besagten Schlüsselwerts ausgeführt wird, der in der Sicherheitsspeicherzelle gespeichert ist, mit dem vorgegebenen Sicherheitswert und, abhängig vom Ergebnis des Vergleichs des Schlüsselwerts mit dem vorgegebenen Sicherheitswert, entweder Starten des seriellen Anschlusses für den Vorgang oder zum FLASH-Speicher springt, um die darin gespeicherten Startanweisungen auszuführen.
  • In einer vorliegenden bevorzugten Ausführungsform ist der Festspeicher ein Startfestspeicher (BootROM). Die Vorrichtung kann des Weiteren eine Resetfunktion in Verbindung mit dem Prozessor zur Einleitung eines Rücksetzvorgangs beinhalten. Vorzugsweise vergleicht der Prozessor die Inhalte der Sicherheitsspeicherzelle und den vorgegebenen Sicherheitswert in Reaktion auf eine Einleitung eines Rücksetzvorgangs.
  • Bezüglich der spezifischen Anwendungen der Vorrichtung kann sowohl der interne Festspeicher als auch der Prozessor auf der ASIC gespeichert werden. Der Prozessor kann eine Mikrokontrolleinheit beinhalten, die mit dem seriellen Anschluss verbunden ist, und er kann auch einen digitalen Signalprozessor enthalten, der mit dem FLASH-Speicher verbunden ist.
  • Andere Aspekte und Merkmale der vorliegenden Erfindung werden dem Durchschnittsfachmann bei Durchsicht der folgenden Beschreibung der spezifischen Ausführungsformen der Erfindung in Verbindung mit den beiliegenden Abbildungen verständlich werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der vorliegenden Erfindung werden nun in beispielhafter Form und mit Bezug auf die beiliegenden Abbildungen beschrieben:
  • 1 ist ein Blockdiagramm einer typischen ASIC und damit operativ verbundener externer Komponenten;
  • 2 ist ein Blockdiagramm einer ASIC und damit operativ verbundener externer Komponenten mit eingebauter Sicherheitsfunktion, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 3 ist ein Ablaufdiagramm eines Startverfahrens, welches von einer typischen ASIC durchgeführt wird;
  • 4 ist ein Ablaufdiagramm eines Startverfahrens, welches fon einer typischen ASIC durchgeführt wird, gemäß einer Ausführungsform der vorliegenden Erfindung, mit einer Sicherheitsfunktion.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Allgemein bietet die vorliegende Erfindung ein Verfahren und eine Vorrichtung für die Nutzung in mobilen Geräten. Eine Sicherheitsfunktion ist vorgesehen, die die Wahrscheinlichkeit eines Sicherheitsverstoßes reduziert, vorzugsweise in Situationen, in denen die Resetfunktion des mobilen Geräts ausgelöst wurde. Ein vorgegebener Sicherheitswert oder Passwort wird gespeichert, zum Beispiel im BootROM. Der Programmcode im BootROM ist vorzugsweise so modifiziert, dass eine Sicherheitsspeicherzelle im FLASH-Speicher gelesen wird, vor einem Abfragen des seriellen Anschlusses für den Vorgang. Abhängig vom Ergebnis des Vergleichs zwischen dem gespeicherten Passwort und dem Inhalt der Sicherheitsspeicherzelle oder dem Schlüssel wird das Abfragen des seriellen Anschlusses dann selektiv vorgenommen. In einer vorliegenden bevorzugten Ausführungsform wird, wenn der Wert in der Sicherheitszelle dem vorgegebenen Sicherheitswert entspricht, die Abfrage des seriellen Anschlusses nicht durchgeführt.
  • 1 ist ein Blockdiagramm einer typischen ASIC und damit operativ verbundener externer Komponenten. ASIC 2 umfasst einen digitalen Signalprozessor (DSP) 4 und eine Mikrokontrolleinheit (MCU) 6. Es ist in Fachkreisen allgemein bekannt, dass der DSP 4 und die MCU 6 im Wesentlichen zwei Prozessoren sind, die sich im selben integrierten Schaltkreis befinden und eine Vielzahl an Ressourcen teilen.
  • Eine Rücksetz-Schaltung 8 ist mit der MCU 6 und dem DSP 4 verbunden. Ein externer Reset-Schalter 10 steuert den Rücksetz-Schaltkreis 8. Wenn der Reset-Schalter 10 betätigt wird, schließt sich der Rücksetz-Schaltkreis 8 und sendet ein Signal oder Reset-Befehl an die MCU 6 und den DSP 4 zum Zurücksetzen. Wenn der Reset-Schalter 10 frei gegeben wird und der Rücksetz-Schaltkreis 8 sich öffnet, führt die MCU 6 Instruktionen aus, die im internen BootROM 14 gespeichert sind. Der Rücksetz-Schaltkreis 8 und der Reset-Schalter 10 können gemeinsam als Rücksetzmittel bezeichnet werden.
  • Die MCU 6 kommuniziert auch mit dem seriellen Anschluss 12. Der serielle Anschluss 12 kann an einen persönlichen Rechner (PC) 11 angeschlossen werden, was dem PC ermöglicht, mit der ASIC 2 zu kommunizieren. Obwohl die Erfindung hier so beschrieben wird, als ob sie in Verbindung mit einem PC stünde, ist die Erfindung nicht auf eine derartige Einstellung beschränkt. Jede Einstellung ist möglich, in der benötigte Informationen über den seriellen Anschluss an einen Prozessor übermittelt werden können, d.h. zur MCU. Wenn die MCU 6 in Reaktion auf einen Reset-Befehl Instruktionen ausführt, die im internen BootROM 14 gespeichert sind, wird die MCU 6 durch den BootROM 14 zu einem Start des seriellen Anschlusses für den Vorgang angewiesen.
  • Der BootROM 14 befindet sich ebenfalls auf der ASIC 2. Der BootROM 14 ist einseitig an die MCU 6 gekoppelt. Der DSP 4 und die MCU 6 sind beide an eine externe Speicherschnittstelle 16 gekoppelt, um Zugriff auf einen externen SRAM 17 und einen FLASH-Speicher 18 oder sonstigen internen Systemspeicher zu erhalten.
  • 2 zeigt dieselbe ASIC und begleitende externe Komponenten wie in 1, bezieht aber eine Sicherheitsfunktion gemäß einer Ausführungsart der vorliegenden Erfindung mit ein.
  • Gemäß einer Ausführungform der Erfindung ist eine Sicherheitsfunktion vorgesehen welche die Wahrscheinlichkeit eines Sicherheitsverstoß reduziert, vorzugsweise in einer Situation, in der die Resetfunktion des mobilen Geräts ausgelöst worden ist. Ein vorgegebener Sicherheitswert oder ein Passwort wird gespeichert, zum Beispiel im BootROM 14. Der Programmcode im BootROM wird vorzugsweise so modifiziert, dass eine Sicherheitsspeicherzelle im FLASH-Speicher des mobilen Geräts vor einer Abfrage des seriellen Anschlusses für den Vorgang gelesen wird.
  • Abhängig vom Ergebnis des Vergleichs zwischen dem vorgegebenen Sicherheitswert oder gespeichertem Passwort und dem Inhalt der Sicherheitsspeicherzelle wird die Abfrage des seriellen Anschlusses dann selektiv vorgenommen. In der vorliegenden bevorzugten Ausführungsform wird, wenn der Wert der Sicherheitsspeicherzelle dem vorgegebenen Sicherheitswert entspricht, die Abfrage des seriellen Anschlusses nicht durchgeführt, wodurch das potentielle Sicherheitsrisiko in Verbindung mit einer solchen Abfrage vermieden wird.
  • In einer beispielhaften Ausführungsform wird vorzugsweise ein zusätzlicher Code (Codeleseschlüssel) 15 zum im BootROM 14 gespeicherten Programmcode hinzugefügt, welcher davon ausgehend, vorzugsweise unmittelbar nach einem Reset, ausgeführt wird Der zusätzliche Code 15 wird genutzt, um vorzugsweise einen Wert aus einer Sicherheitsspeicherzelle 19 oder einer Schlüsselspeicherzelle im FLASH-Speicher 18 zu lesen. Die Schlüsselspeicherzelle 19 ist ein Beispiel für eine Sicherheitsspeicherzelle im FLASH-Speicher 18, in der ein voraussichtliches Passwort gespeichert werden kann. Der Begriff „Schlüssel" kann verwendet werden, um den Wert wiederzugeben, der in der Sicherheitsspeicherzelle gespeichert ist, der mit dem im BootROM gespeicherten vorgegebenen Sicherheitswert verglichen wird. Die Sicherheitsfunktion kann als selektive Abfrage des seriellen Anschlusses abhängig vom Ergebnis eines Vergleichs des Schlüssels 19 und des voraussichtlichen Passworts interpretiert werden. Eine Abfrage des seriellen Anschlusses wird vorzugsweise nicht durchgeführt, wenn der FLASH-Speicher 18 mit dem Schlüssel 19 programmiert wurde, so dass der Wert dem im BootROM 14 gespeicherten vorgegebenen Sicherheitswert oder dem Passwort entspricht, und ein Vergleich vorgenommen wurde, um die Übereinstimmung zu überprüfen.
  • 3 zeigt ein Ablaufdiagramm eines Startverfahren einer typischen ASIC 2 nach Auslösung einer Rücksetzung. Nach einer Auslösung von einer Rücksetzung in Schritt 20 löst der im BootROM 14 gespeicherte Programmcode eine Abfrage des seriellen Anschlusses 12 für den Vorgang in Schritt 22 aus. Ist der serielle Anschluss mit einem PC 11 verbunden, dann kann der PC 11 mit der ASIC 2 kommunizieren. In Schritt 24 wird ermittelt, ob beim seriellen Anschluss 12 ein Vorgang abläuft. Wenn es einen seriellen Anschlussvorgang gibt, springt der Programmcode im BootROM 14 zu einem routinemäßgen Download des Codes und lädt diesen Programmcode, wie in Schritt 26 dargestellt, über den seriellen Anschluss in den internen SRAM 13. Nach Abschluss des Downloads springt der Programmcode im BootROM 14 zum Beginn des Downloadcodes und beginnt, den herunter geladenen Code auszuführen. Ein potentielles Sicherheitsrisiko in einer solchen Konfiguration besteht darin, dass ein Downloadprogramm Inhalte aus dem FLASH-Speicher, einschließlich vertraulicher und/oder geschützter Informationen, hochladen oder entnehmen könnte.
  • Falls sich in Schritt 24 herausstellt, dass es keinen seriellen Anschlussvorgang gibt, lässt der Programmcode im BootROM 14 eine Timeout-Zeitspanne verstreichen, wie in Schritt 28 dargestellt. Ein aktueller Timeoutwert wird festgelegt, zum Beispiel indem ein Zählwert in einem Register in der MCU 6 dekrementiert wird. Nach Ende des Timeouts springt der Programmcode im BootROM 14 in Schritt 30 direkt zu einer Startspeicherzelle im FLASH-Speicher 18, um den Programmcode, beginnend in der Startspeicherzelle, auszuführen. Ist der Timeout nicht abgelaufen, geht das Verfahren zurück zu Schritt 22 und wartet auf den Vorgang des seriellen Anschlusses oder das Ende des Timeouts. Ein angemessener Timeout kann zum Beispiel 40 msec sein.
  • 4 zeigt ein Ablaufdiagramm eines Startverfahrens gemäß einer Ausführungform der vorliegenden Erfindung, die als Erweiterung zum Verfahren in 3 eine Sicherheitsfunktion aufweist. Eine ASIC 2 benutzt vorzugsweise dieses Verfahren nach Auslösen eines Resets. Der BootROM-Code 14 wird vorzugsweise so modifiziert, dass eine vorgegebene Speicherzelle oder Sicherheitsspeicherzelle im FLASH-Speicher 18 vor einer Abfrage des seriellen Anschlusses 12 für den Vorgang gelesen wird.
  • Bezug nehmend auf 4 liest nach einer Reset-Auslösung in Schritt 32 der BootROM-Code 14 vorzugsweise den Inhalt der Sicherheitsspeicherzelle im FLASH-Speicher oder den Schlüssel 19 in Schritt 34. In Schritt 36 wird dann ermittelt, ob der Schlüssel oder der Inhalt der Sicherheitsspeichezelle im FLASH-Speicher dem im BootROM gespeicherten Passwort oder dem vorgegebenen Sicherheitswert entspricht. Wird ermittelt, dass eine Übereinstimmung vorliegt, dann sollte der BootROM-Code vorzugsweise in Schritt 38 so programmiert sein, dass er zum FLASH 18 springt, um die in einer Startspeicherzelle des FLASH-Speichers gespeicherten Instruktionen auszuführen. Das Springen zu der Startspeicherzelle im FLASH-Speicher 18 verhindert, dass ein Programm über den seriellen Anschluss 12 in den internen SRAM 13 geladen wird.
  • Falls in Schritt 36 ermittelt wird, dass der Schlüsselwert nicht dem gespeicherten Passwort entspricht, fragt der BootROM-Code 14 in Schritt 40 den seriellen Anschluss 12 für den Vorgang ab. In Schritt 42 wird dann ermittelt, ob es beim seriellen Anschluss 12 einen Vorgang gibt. Wird in Schritt 42 ermittelt, dass es beim seriellen Anschluss 12 einen Vorgang gibt, fährt das Verfahren mit Schritt 44 fort. Eine solche positive Ermittlung kann zum Beispiel gemacht werden, wenn ein PC mit dem seriellen Anschluss verbunden ist. In Schritt 44 springt der BootROM-Code 14 zu einem routinemäßgen Download des Codes in den internen SRAM 13 über den seriellen Anschluss 12. Erfolgt dieser Download, springt der BootROM-Code 14 zum Beginn des geladenen Codes.
  • Falls sich in Schritt 42 ergibt, dass der serielle Anschluss ohne Vorgang ist, lässt der Programmcode im BootROM 14 eine Timeout-Zeitspanne verstreichen, wie in Schritt 46 dargestellt. Ein aktueller Timeoutwert wird festgelegt, zum Beispiel indem ein Zählwert in einem Register in der MCU 6 dekrementiert wird. Nach Ende des Timeouts springt der Programmcode im BootROM 14 in Schritt 38 direkt zu einer Startspeicherzelle im FLASH-Speicher 18 und die Ausführung des Programmcodes wird fortgesetzt. Ist der Timeout nicht abgelaufen, geht das Verfahren zurück zu Schritt 40 und wartet darauf, dass der serielle Anschluss den Vorgang einleitet oder dass der Timout abläuft.
  • Obwohl die Option einer Abfrage des seriellen Anschlusses für den Vorgang in dem Ablaufdiagramm in 4 noch vorgesehen ist, wird dieser Verfahrensweg nur dann eingeschlagen, wenn der Sicherheitswerts dem gespeicherten Passwort nicht entspricht. Das Programmieren eines vorgegebenen Sicherheitswerts und eines entsprechenden Wertes in einer Sicherheitsspeicherzelle im FLASH-Speicher wird vorzugsweise im Laufe der Entwicklung oder Produktion und vor dem kommerziellen Vertrieb des mobilen Geräts vorgenommen. Es wäre durchaus möglich, dass Böswillige versuchen könnten, den Code nach Beginn des kommerziellen Vertriebs zu modifizieren, so dass der Schlüssel nicht als übereinstimmend mit dem Passwort erkannt wird, was eine Abfrage des seriellen Anschlusses auslösen würde. Ein solcher Sicherheitsverstoß dürfte jedoch außerhalb der Entwicklungsphase, d.h. nachdem der Schlüssellesecode 15 zum BootROM-Code 14 hinzugefügt wurde, nur schwer durchzuführen sein. Darüber hinaus würde ein Versuch eines solchen Verstoßes, um dieses potentielle Sicherheitsrisiko auszunutzen, derart eingreifende Maßnahmen erfordern, die dem Laien gewöhnlich nicht bekannt sind.
  • Obwohl Ausdrücke wie Sicherheitsspeicherzelle und Speicherzelle hier im Singular benutzt werden, geschieht dies aus Gründen der Zweckmäßigkeit. Fachleuten ist ersichtlich, dass zur Speicherung von einem oder mehreren vorgegebenen Sicherheitswerten eine beliebige Anzahl von Speicherzellen verwendet werden kann. Die benötigte Anzahl von Speicherzellen kann von der Komplexität des Sicherheitswerts und dessen Länge abhängen, was die Auswahl des vorgegebenen Sicherheitswerts beeinflussen kann. Bezüglich der physischen Umsetzung können solche Speicherzellen entweder zusammenhängende oder nicht-zusammenhängende Speicherzellen sein, die auf eine dem Fachmann bekannte Weise verknüpft sind, so dass sie zusammen zum Beispiel eine Sicherheitsspeicherzelle darstellen.
  • In einer alternativen Ausführungsform wird eine Abfrage des seriellen Anschlusses in dem Fall durchgeführt, in dem der Wert in der Sicherheitsspeicherzelle dem vorgegebenen Sicherheitswert entspricht. Alternativ kann jedes andere geeignete Vergleichsschema oder vergleichbare Sicherheitsfunktion eingesetzt werden, um die selektive Abfrage des seriellen Anschlusses in einem mobilen Gerät zu steuern.
  • Die oben beschriebenen Ausführungsformen der vorliegenden Erfindung sind nur als Beispiele gedacht. Änderungen, Modifizierungen und Variationen können von Fachleuten an den jeweiligen Ausführungsformen vorgenommen werden, ohne vom Umfang der Erfindung abzuweichen, welcher einzig durch die beigefügten Patentansprüche definiert wird.
  • 1 BEKANNTER STAND DER TECHNIK
  • 10
    Reset-Schalter
    11
    PC
    8
    Reset-Schaltung
    12
    serieller Anschluss
    14
    BootROM
    6
    MCU (Mikrokontrolleinheit)
    17
    externer SRAM
    4
    DPS (digitaler Signalprozessor)
    16
    externe Speicherschnittstelle
    2
    interner SRAM
    18
    externer Speicherchip (FLASH)
  • 2
  • 10
    Reset-Schalter
    11
    PC
    8
    Reset-Schaltung
    12
    serieller Anschluss
    14
    BootROM
    15
    Lesecode
    6
    MCU (Mikrokontrolleinheit)
    17
    externer SRAM
    4
    DPS (digitaler Signalprozessor)
    16
    externe Speicherschnittstelle
    2
    interner SRAM
    18
    externer Speicherchip (FLASH)
  • 3 STAND DER TECHNIK
  • 20
    Reset
    22
    Warten auf den Vorgang des seriellen Anschlusses
    24
    Vorgang des seriellen Anschlusses
    Nein
    28
    Timeout-Zeitspanne (40 ms)?
    Nein
    ...
    22
    Warten auf den Vorgang des seriellen Anschlusses
    24
    Vorgang des seriellen Anschlusses
    Ja
    26
    Herunterladen des Programms
    ...
    22
    Warten auf den Vorgang des seriellen Anschlusses
    24
    Vorgang des seriellen Anschlusses
    Nein
    28
    Timeout-Zeitspanne (40 ms)?
    Ja
    30
    Springen zum FLASH [Datenspeicher]
  • 4
  • 32
    Reset
    34
    Lesen des Schlüssels vom FLASH
    36
    Schlüssel vorhanden?
    Ja
    38
    Springen zum Flash [Datenspeicher]
    Nein
    40
    Warten auf Vorgang des seriellen Anschlusses
    42
    Vorgang des seriellen Anschlusses
    Ja
    44
    Herunterladen des Programms
    Nein
    46
    Timeout Zeitspanne (40 ms)?
    Ja
    38
    Springen zum FLASH
    Nein
    40
    Warten auf den Vorgang des seriellen Anschlusses

Claims (17)

  1. Ein Startverfahren zum Einsatz in eines mobilen Geräts, das einen FLASH Datenspeicher (18) hat, der Startanweisungen speichert sowie einen Schlüsselwert, der in einer Sicherheitsspeicherstelle (19) gespeichert ist, das einen internen Festspeicher (14) hat, der den Code des Startprogramms sowie einen vorgegebenen Sicherheitswert speichert, und einen seriellen Anschluss (12) hat, wobei der Code des Startprogramms im Festspeicher (ROM) gespeichert ist, wobei folgende Schritte ausgeführt werden: Lesen des Schlüsselwerts von der Sicherheitsspeicherstelle (19) im FLASH Datenspeicher (18); Vergleichen des Schlüsselwertes mit dem vorgegebenen Sicherheitswert, der im internen Festspeicher (ROM) (14) gespeichert ist; und abhängig vom Ergebnis des Vergleichens zwischen dem Schlüsselwert und dem Sicherheitswert, entweder den seriellen Anschluss (12) nach dem Ablauf abfragen oder zum FLASH Datenspeicher (18) überspringen, um die darin gespeicherten Startanweisungen auszuführen.
  2. Ein Startverfahren gemäß Anspruch 1, wobei das Abfragen durchgeführt wird, wenn der Schlüsselwert nicht mit dem vorgegebenen Sicherheitswert übereinstimmt.
  3. Ein Startverfahren gemäß Anspruch 1 oder 2, der ferner den Schritt des Herunterladens des Codes auf einen internen SRAM (13) umfasst, der sich in dem mobilen Gerät als Antwort auf eine Erkennung des Ablaufs des seriellen Anschlusses befindet.
  4. Ein Startverfahren gemäß Anspruch 3, der den Schritt der Ausführung einer Anweisung im herunter geladenen Code umfasst.
  5. Ein Startverfahren gemäß der Ansprüche 1 bis 4, wobei der vorgegebene Sicherheitswert in einer BootROM (14) gespeichert ist, die sich in dem mobilen Gerät befindet.
  6. Ein Startverfahren gemäß eines jeden der Ansprüche 1 bis 5, wobei die Schritte des Lesens als Antwort auf einen Rücksetzbefehl ausgeführt werden.
  7. Ein Prozessor (4, 6), der eingerichtet ist, um in Kommunikation mit dem internen Festspeicher (ROM) und den FLASH Datenspeichern eines Apparates zur Nutzung in einem mobilen Gerät stehen, das einen seriellen Anschluss (12) hat, wobei der Prozessor eingerichtet ist, um den in einem Festspeicher (ROM) (14) gespeicherten Startprogrammcode auszuführen, um einen Schlüsselwert von einer Sicherheitsspeicherstelle in einem FLASH Datenspeicher (18) zu lesen und um den Schlüsselwert in einer Sicherheitsspeicherstelle (19) mit einem vorgegebenen Sicherheitswert, der in dem internen Festspeicher (ROM) (14) gespeichert ist, zu vergleichen und, je nach Ergebnis des Vergleichens des Schlüsselwertes mit dem vorgegebenen Sicherheitswert, entweder den seriellen Anschluss (12) für einen Ablauf starten oder zum FLASH Datenspeicher (18) überspringen, um die darin gespeicherten Startanweisungen auszuführen.
  8. Ein Apparat zur Verwendung in einem mobilen Gerät, das einen seriellen Anschluss (12) hat, und umfasst: Den internen Festspeicher (ROM) (14), der den Startprogrammcode speichert sowie einen vorgegebenen Sicherheitswert; Den FLASH Datenspeicher (18), der die Startanweisungen speichert und eine Sicherheitsspeicherstelle (19) für das Speichern eines Schlüsselwertes hat; und Den Prozessor (4, 6) wie in Anspruch 7 beansprucht.
  9. Eine Vorrichtung gemäß Anspruch 8, wobei der Festspeicher (ROM) (14) einen Startdatenspeicher (BootROM) hat.
  10. Eine Vorrichtung gemäß Anspruch 8 oder 9 die des Weiteren ein Rücksetzmittel (8, 10) umfasst, das in Kommunikation mit dem Prozessor (4, 6) steht, um einen Rücksetzprozess zu starten.
  11. Eine Vorrichtung gemäß eines jeden der Ansprüche 8 bis 10, wobei der Prozessor (4, 6) eingerichtet ist, den Schlüsselwert und den vorgegebenen Sicherheitswert als Antwort auf die Einleitung des Rücksetzprozesses miteinander zu vergleichen.
  12. Eine Vorrichtung gemäß eines jeden der Ansprüche 8 bis 11, wobei der interne Festspeicher (ROM) (14) auf einer ASIC (2) angeordnet ist.
  13. Eine Vorrichtung gemäß eines jeden der Ansprüche 8 bis 12, wobei der Prozessor (4, 6) auf einer ASIC (2) angeordnet ist.
  14. Eine Vorrichtung gemäß eines jeden der Ansprüche 8 bis 12, wobei der Prozessor (6) eine Mikrosteuerungseinheit (6) umfasst, die mit einem seriellen Anschluss (12) verbunden ist.
  15. Eine Vorrichtung gemäß eines jeden der Ansprüche 8 bis 12, wobei der Prozessor (4) einen digitalen Signalprozessor (4) umfasst, der mit dem FLASH Datenspeicher (18) verbunden ist.
  16. Ein mobiles Gerät, einschließlich einer Vorrichtung gemäß eines jeden der Ansprüche 8 bis 15.
  17. Ein maschinell lesbares Medium, das Codemittel umfasst, die durch einen Prozessor (4, 6) einer Vorrichtung eines jeden der Ansprüche 8 bis 16 ausführbar sind, um das Verfahren eines jeden der Ansprüche 1 bis 6 ausführen zu können.
DE60221708T 2001-12-26 2002-12-13 Sicheres booten für chip-geräten Expired - Lifetime DE60221708T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34208201P 2001-12-26 2001-12-26
US342082P 2001-12-26
PCT/CA2002/001947 WO2003060670A2 (en) 2001-12-26 2002-12-13 Secure booting of chip devices

Publications (2)

Publication Number Publication Date
DE60221708D1 DE60221708D1 (de) 2007-09-20
DE60221708T2 true DE60221708T2 (de) 2007-12-06

Family

ID=23340247

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60221708T Expired - Lifetime DE60221708T2 (de) 2001-12-26 2002-12-13 Sicheres booten für chip-geräten

Country Status (8)

Country Link
US (3) US7386713B2 (de)
EP (1) EP1459153B1 (de)
AT (1) ATE369583T1 (de)
AU (1) AU2002350339A1 (de)
CA (1) CA2471835C (de)
DE (1) DE60221708T2 (de)
HK (1) HK1069902A1 (de)
WO (1) WO2003060670A2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386713B2 (en) 2001-12-26 2008-06-10 Research In Motion Limited On-chip security method and apparatus
AU2003278491A1 (en) 2002-11-27 2004-06-18 Koninklijke Philips Electronics N.V. Chip integrated protection means.
US7272709B2 (en) * 2002-12-26 2007-09-18 Micron Technology, Inc. Using chip select to specify boot memory
US7076584B2 (en) * 2003-05-09 2006-07-11 Freescale Semiconductor, Inc. Method and apparatus for interconnecting portions of circuitry within a data processing system
EP2099154A3 (de) * 2004-02-05 2010-01-27 Research In Motion Limited On-Chip-Speicherung, -Erzeugung und Manipulierung eines Verschlüsselungsschlüssels
US8112618B2 (en) 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
KR100634356B1 (ko) 2004-05-12 2006-10-16 삼성전자주식회사 메인 데이터를 안전하게 로딩하는 메모리 시스템 및 그것의 데이터 로딩 방법
EP1659472A1 (de) * 2004-11-22 2006-05-24 Research In Motion Limited Verfahren und Vorrichtung zur Authentifizierung von Software
US7565553B2 (en) * 2005-01-14 2009-07-21 Microsoft Corporation Systems and methods for controlling access to data on a computer with a secure boot process
KR100666328B1 (ko) 2005-02-11 2007-01-09 삼성전자주식회사 온 칩 메모리를 이용한 기밀 정보 보안 장치 및 보안 방법
US8429219B2 (en) * 2005-05-23 2013-04-23 George Mason Research Foundation, Inc. Data alteration prevention system
US20070079024A1 (en) * 2005-09-30 2007-04-05 Freescale Semiconductor, Inc. Circuit and method for detecting non-volatile memory during a boot sequence
US8099629B2 (en) * 2006-07-14 2012-01-17 Marvell World Trade Ltd. System-on-a-chip (SoC) test interface security
US7769993B2 (en) * 2007-03-09 2010-08-03 Microsoft Corporation Method for ensuring boot source integrity of a computing system
US8619443B2 (en) 2010-09-29 2013-12-31 The Powerwise Group, Inc. System and method to boost voltage
US8085009B2 (en) * 2007-08-13 2011-12-27 The Powerwise Group, Inc. IGBT/FET-based energy savings device for reducing a predetermined amount of voltage using pulse width modulation
US8120307B2 (en) 2007-08-24 2012-02-21 The Powerwise Group, Inc. System and method for providing constant loading in AC power applications
US8085010B2 (en) 2007-08-24 2011-12-27 The Powerwise Group, Inc. TRIAC/SCR-based energy savings device for reducing a predetermined amount of voltage using pulse width modulation
US8810190B2 (en) 2007-09-14 2014-08-19 The Powerwise Group, Inc. Motor controller system and method for maximizing energy savings
US8698447B2 (en) 2007-09-14 2014-04-15 The Powerwise Group, Inc. Energy saving system and method for devices with rotating or reciprocating masses
US20090129486A1 (en) * 2007-11-15 2009-05-21 Sequel Technologies, Llc. Systems and methods for providing security communication procesess in a security system
US9953143B2 (en) * 2008-05-05 2018-04-24 Oracle International Corporation Software identifier based correlation
US8640226B2 (en) * 2008-06-27 2014-01-28 Novell, Inc. Mechanisms to secure data on hard reset of device
US8004255B2 (en) * 2008-08-07 2011-08-23 The Powerwise Group, Inc. Power supply for IGBT/FET drivers
US8281229B2 (en) * 2008-12-30 2012-10-02 Intel Corporation Firmware verification using system memory error check logic
US8698446B2 (en) 2009-09-08 2014-04-15 The Powerwise Group, Inc. Method to save energy for devices with rotating or reciprocating masses
EP2475888B1 (de) 2009-09-08 2019-04-24 The Powerwise Group, Inc. Stromsparsystem und -verfahren für vorrichtungen mit rotierenden oder hin und her bewegten massen
KR20130139604A (ko) 2012-06-13 2013-12-23 삼성전자주식회사 복수의 메모리 칩을 구비한 메모리 장치, 그 인증 시스템 및 인증 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0537903A2 (de) * 1991-10-02 1993-04-21 International Business Machines Corporation Verteiltes Kontrollsystem
US5634079A (en) * 1992-05-15 1997-05-27 Zenith Data Systems Corporation System for providing for a parallel port with standard signals and a flash recovery mode with second predetermined signals redefining parallel port with alternate functions
US5444850A (en) 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US6000030A (en) * 1996-06-20 1999-12-07 Emc Corporation Software fingerprinting and branding
US6018806A (en) 1995-10-16 2000-01-25 Packard Bell Nec Method and system for rebooting a computer having corrupted memory using an external jumper
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US6138236A (en) 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US6038320A (en) * 1996-10-11 2000-03-14 Intel Corporation Computer security key
US7290288B2 (en) * 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US6266754B1 (en) * 1998-05-29 2001-07-24 Texas Instruments Incorporated Secure computing device including operating system stored in non-relocatable page of memory
US6775778B1 (en) * 1998-05-29 2004-08-10 Texas Instruments Incorporated Secure computing device having boot read only memory verification of program code
US6463535B1 (en) 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
DE69919299T2 (de) * 1998-11-11 2004-12-30 02 Micro International Ltd. Vorurladungssicherheitssteuerungseinheit
US6263431B1 (en) * 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
US7010590B1 (en) * 1999-09-15 2006-03-07 Datawire Communications Networks, Inc. System and method for secure transactions over a network
AUPQ321699A0 (en) 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US6725382B1 (en) * 1999-12-06 2004-04-20 Avaya Technology Corp. Device security mechanism based on registered passwords
US6687815B1 (en) * 2000-02-01 2004-02-03 Sun Microsystems, Inc. Method and apparatus for storing non-volatile configuration information
US7386713B2 (en) * 2001-12-26 2008-06-10 Research In Motion Limited On-chip security method and apparatus
US20030204732A1 (en) * 2002-04-30 2003-10-30 Yves Audebert System and method for storage and retrieval of a cryptographic secret from a plurality of network enabled clients
US7620182B2 (en) * 2003-11-13 2009-11-17 Magiq Technologies, Inc. QKD with classical bit encryption
US7337311B2 (en) * 2003-11-18 2008-02-26 Giga-Byte Technology Co., Ltd. Method for controlling upgrade of firmware
US20050157874A1 (en) * 2003-12-01 2005-07-21 The Regents Of The University Of California Cryptography for secure dynamic group communications

Also Published As

Publication number Publication date
US8028157B2 (en) 2011-09-27
EP1459153A2 (de) 2004-09-22
US20050033951A1 (en) 2005-02-10
CA2471835A1 (en) 2003-07-24
AU2002350339A8 (en) 2003-07-30
ATE369583T1 (de) 2007-08-15
EP1459153B1 (de) 2007-08-08
US20080201541A1 (en) 2008-08-21
US20110302402A1 (en) 2011-12-08
WO2003060670A3 (en) 2004-04-22
DE60221708D1 (de) 2007-09-20
AU2002350339A1 (en) 2003-07-30
US7386713B2 (en) 2008-06-10
CA2471835C (en) 2011-08-09
US8683189B2 (en) 2014-03-25
WO2003060670A2 (en) 2003-07-24
HK1069902A1 (en) 2005-06-03

Similar Documents

Publication Publication Date Title
DE60221708T2 (de) Sicheres booten für chip-geräten
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
EP1701478B1 (de) Anordnung und Verfahren zur automatischen Konfiguration von Schnittstellen einer drahtlosen Verbindung zur Datenübertragung
DE4331703C2 (de) Elektronische Einrichtung
WO2000005723A2 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
DE10115729B4 (de) Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers
DE10315490A1 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
EP1262856B1 (de) Programmgesteuerte Einheit
EP3128383A1 (de) Feldgerät
DE60011086T2 (de) Gerät für datenverarbeitung und korrespondierendes verfahren
EP3811260B1 (de) Kryptografiemodul und betriebsverfahren hierfür
DE102004057768B4 (de) Verfahren und System zum Aktualisieren von Software eines Mobiltelefons
DE3210616A1 (de) Rechner
DE10002204B4 (de) Verfahren zum Schutz eines Mikrorechners eines Steuergeräts gegen Manipulation eines Programmes und Vorrichtung zur Durchführung des Verfahrens
DE102019214678A1 (de) System und Verfahren zum beschleunigten und sicheren Starten eines Systems
DE602004013079T2 (de) Verfahren und Gerät zur Verwaltung und Speicherung nicht volatiler Daten eines Kommunikationsgeräts, zum Beispiel in einem Pico-Netz wie "Bluetooth"
EP1563358B1 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE69126249T2 (de) Verarbeitungsvorrichtung und Verfahren zur Programmierung einer solchen Vorrichtung
EP2150943B1 (de) Verfahren zur inbenutzungnahme einer chipkarte
WO2017190830A1 (de) Verfahren zur erstmaligen inbetriebnahme eines nicht vollständig personalisierten sicheren elements
EP3159821A1 (de) Prozessor-system mit applet security settings
WO2007087918A1 (de) Endgerät und verfahren zur aktualisierung von programmcode eines endgeräts
DE19709975A1 (de) Mikrocomputer
DE102009013334A1 (de) Maus mit erweiterter Speicherkapazität und deren Betriebsweise
DE10323033A1 (de) Laden eines ausführbaren Programms in einen tragbaren Datenträger

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP, 80336 MUENCHEN