DE60202605T2 - Verfahren zur sicherung eines elektronischen geräts, sicherheitssystem und elektronisches gerät - Google Patents

Verfahren zur sicherung eines elektronischen geräts, sicherheitssystem und elektronisches gerät Download PDF

Info

Publication number
DE60202605T2
DE60202605T2 DE60202605T DE60202605T DE60202605T2 DE 60202605 T2 DE60202605 T2 DE 60202605T2 DE 60202605 T DE60202605 T DE 60202605T DE 60202605 T DE60202605 T DE 60202605T DE 60202605 T2 DE60202605 T2 DE 60202605T2
Authority
DE
Germany
Prior art keywords
electronic device
boot
program
data
stored
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
DE60202605T
Other languages
English (en)
Other versions
DE60202605T8 (de
DE60202605D1 (de
Inventor
Toni Sormunen
Risto Rönkkä
Antti Kiiveri
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of DE60202605D1 publication Critical patent/DE60202605D1/de
Application granted granted Critical
Publication of DE60202605T2 publication Critical patent/DE60202605T2/de
Publication of DE60202605T8 publication Critical patent/DE60202605T8/de
Active legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Fuses (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Absichern eines elektronischen Gerätes gemäß dem Oberbegriff des angehängten Anspruchs 1. Die Erfindung betrifft des Weiteren ein System gemäß dem Oberbegriff des angehängten Anspruchs 15. Die Erfindung betrifft des Weiteren ein elektronisches Gerät gemäß dem Oberbegriff des angehängten Anspruchs 26. Die Erfindung betrifft des Weiteren ein Programm gemäß dem Oberbegriff des angehängten Anspruchs 25 sowie ein Speichermittel gemäß dem Oberbegriff des angehängten Anspruchs 30.
  • Eine Vielzahl von elektronischen Geräten arbeitet mit programmierbaren Steuermitteln wie beispielsweise Mikroprozessoren, Mikrosteuerungen, programmierbaren Logikschaltkreisen und/oder anwendungsspezifischen programmierbaren integrierten Schaltungen. Solche elektronischen Geräte enthalten gespeicherte Software, die aus einem oder mehreren Programmen besteht, die beispielsweise Programmbefehle enthalten, die für den Betrieb des elektronischen Gerätes benötigt werden. Zum Speichern solcher Software wird ein Speicher verwendet, der wenigstens zum Teil ein nichtflüchtiger Speicher ist, d. h. der Speicherinhalt wird auch dann behalten, wenn die Betriebsspannung des Speichers abgeschaltet wird. Zu solchen Speichern gehören beispielsweise ein Festspeicher (ROM), ein programmierbarer ROM (PROM) und ein elektronisch löschbarer PROM (EEPROM). Der Speicher ist normalerweise wenigstens zum Teil in dem elektronischen Gerät integriert, aber die Speicherkapazität kann außerdem bei vielen Anwendungen mittels beispielsweise einer Speichererweiterungskarte erhöht werden. Eine solche Speichererweiterungskarte ist die sogenannte Flash-Speicherkarte. Der Flash-Speicher ist eine Form eines EEPROM-artigen Spei chers, dessen Inhalt durch elektrische Programmierung geändert werden kann. Der Inhalt des Flash-Speichers bleibt auch nach dem Abschalten der Betriebsspannung erhalten. Mittels eines solchen Erweiterungsspeichers ist es einfach, das elektronische Gerät mit neuer Software, mit Speicherkapazität zum Speichern von beispielsweise Fotos in einer Digitalkamera, zum Einstellen von Zugangsrechten beispielsweise in einer Mobilstation usw. auszustatten. Die Installation von Software in einem elektronischen Gerät kann auch in einer an sich bekannten Weise mittels anderer Speichermittel, wie beispielsweise einer Diskette, einer CD-ROM oder einer DVD, ausgeführt werden.
  • Es ist relativ einfach, Software zu kopieren, die auf Speichermitteln gespeichert ist, weshalb Software-Anbieter verschiedene Verfahren entwickelt haben, die Nutzung von kopierter Software zu verhindern. Ein solches Verfahren ist die Verwendung einer Produkt-ID oder dergleichen. D. h. beim Starten des Programms muss der Benutzer diese Produkt-ID in das elektronische Gerät eingeben, bevor mit dem Programm gearbeitet werden kann. Ein Problem bei dieser Verfahrensweise ist jedoch, dass der Benutzer beim Kopieren des Programms diese Produkt-ID vom Eigentümer der Originalsoftware erhalten hat, so dass anschließend auch das kopierte Programm genutzt werden kann. Andererseits kann der Benutzer der kopierten Software, selbst wenn ihm die Produkt-ID nicht bekannt ist, versuchen, die Struktur des Programmschutzes herauszufinden, beispielsweise durch Produktfunktionsanalyse (Reverse Engineering) oder Debugging, wobei der Objektcode des Programms in den Quellcode umgewandelt wird. Das heißt, es kann dem Benutzer gelingen, den Kopierschutz zu entschlüsseln und das Programm zu modifizieren, beispielsweise so, dass der Kopierschutz ausgeschaltet ist oder dass der Benutzer die benötigte Produkt-ID anhand des Objektcodes ableitet. Um ein solches Vorgehen zu erschweren, wurden Programme entwickelt, bei denen, während das Programm aktiv ist, in gewissen Abständen überprüft wird, dass das Programm nicht manipuliert wurde. Das heißt, das bloße Entschlüsseln des Kopierschutzes beim Booten ermöglicht nicht zwangsläufig die Nutzung der kopierten Software über einen längeren Zeitraum, es sei denn, der Benutzer ist in der Lage, die Struktur eines solchen Kopierschutzes zu ermitteln.
  • Es ist bekannt, ein bestimmtes Programm eindeutig mit einem bestimmten Gerät zu verknüpfen, dergestalt, dass das Programm nicht auf einem anderen Gerät benutzt werden kann. Dies kann beispielsweise geschehen, indem die Software anhand der hardwarespezifischen Seriennummer modifiziert wird oder indem ein Installationsprogramm mitgeliefert wird, das nur auf einem einzigen Gerät in Verbindung mit der hardwarespezifischen Seriennummer funktionstüchtig ist. Diese Lösungen haben den Nachteil, dass dieser Schutz durch Modifizieren entweder der Software oder der Hardware geknackt werden kann.
  • Um das Debugging zu erschweren, kann versucht werden, wenigstens den Kopierschutzteil und/oder das Speichern der Produkt-ID in Verbindung mit dem Programmcode zu verkomplizieren, wodurch es schwieriger wird, den Kopierschutz zu knacken. Eine solche Lösung wird beispielsweise in der internationalen Patentanmeldung WO 00/77597 vorgeschlagen.
  • Das Patent US 5,131,091 stellt ein Verfahren vor, wobei ein Programm, das auf einer Speicherkarte gespeichert ist, durch Verwürfeln des Inhalts des Programmcodes mit XOR-Operationen geschützt wird. Beim Verwürfeln wird eine Verschlüsselungsbit-Zeichenkette, die in einem nichtflüchtigen Speicher gespeichert ist, verwendet, wodurch das Herausfinden der Zeichenkette so weit wie möglich erschwert ist. Auf Speicherkarten, die verschiedenen Benutzern übergeben werden, werden verschiedene Verschlüsselungsbit-Zeichenketten verwendet.
  • Ein Benutzer, der die Software rechtmäßig erworben hat, muss sich möglicherweise auch bezüglich der Herkunft der Software absichern, weil in einigen Fällen ein Dritter versuchen könnte, Versionen herzustellen, die Modifizierungen von Originalprogrammen darstellen, und diese Modifizierungen als Originalprogramme auf den Markt zu bringen. Eine solche Software könnte beispielsweise einen eingebauten Virus enthalten, oder die Software ist mit einer sogenannten Hintertür versehen, durch die sich der Hersteller der modifizierten Software sogar Zugang zum lokalen Netzwerk einer Firma verschaffen könnte, die diese modifizierte Software installiert hat. In einigen Fällen ist die modifizierte Software mit der Fähigkeit ausgestattet, zum Beispiel Benutzerkennwörter und Passwörter, die der Benutzer in das elektronische Gerät eingibt, beispielsweise über ein Datennetz wie zum Beispiel das Internet an den Hersteller der modifizierten Software weiterzuleiten, ohne dass der Benutzer dies bemerkt. Um die Herkunft der Software abzusichern, kann das Programm mit einer digitalen Signatur versehen werden, anhand derer der Benutzer die Authentizität der Originalsoftware feststellen kann.
  • Zusätzlich zum Kopierschutz von Programmen müssen auch andere Informationen geschützt werden, die in Verbindung mit elektronischen Geräten gespeichert werden, um Missbrauch zu verhindern. Beispielsweise ist die Beschränkung von Zugangsrechten für einen oder mehrere bestimmte Benutzer in Verbindung mit einigen elektronischen Geräten so geregelt, dass der Benutzer eine persönliche SmartCard besitzt, wobei der Benutzer, um das elektronische Gerät zu benutzen, die SmartCard in einen Kartenanschluss, der sich in dem elektronischen Gerät befindet, einschiebt. Zur zusätzlichen Authentifizierung kann auch ein Benutzerkennwort verwendet werden, das der Benutzer beim Einschalten des elektronischen Gerätes eingeben muss, bevor er mit dem elektronischen Gerät arbeiten kann. Ein solches Verfahren wird beispielsweise bei vielen Mobilkommunikationsnetzen angewen det, wie beispielsweise dem GSM-Mobilkommunikationsnetz und dem UMTS-Mobilkommunikationsnetz. In eine Mobilstation, die in einem solchen Mobilkommunikationsnetz verwendet wird, wird eine SmartCard eingeführt, die man beim GSM-System ein SIM (Subscriber Identity Module) und beim UMTS-System ein USIM (Universal Subscriber Identity Module) nennt. Bei einer solchen SmartCard hat der Service-Provider des Mobilkommunikationsnetzes bereits bestimmte Teilnehmerspezifikationen, wie beispielsweise den International Mobile Subscriber Identifier (IMSI), eingestellt. Das Benutzerkennwort wird ebenfalls auf dieser SmartCard gespeichert, wobei die SmartCard das Benutzerkennwort beim Einschalten der Mobilstation überprüft.
  • Jedoch beheben die oben genannten Lösungen nicht das Problem, dass ein Dritter die Software so modifiziert, dass er sie entweder in einem anderen Gerät selbst benutzen kann, oder dass er die Funktionsweise des Programms in diesem Gerät verändert. Ein solches Problem ist beispielsweise in Verbindung mit Mobilstationen entstanden, wobei es möglich geworden ist, die Dienste eines Mobilkommunikationsnetzes kostenfrei in Anspruch zu nehmen, indem eine Kopie einer Mobilstation hergestellt wird. Die Software und die International Mobile Equipment Identity (IMEI) der kopierten Mobilstation sind mit denen in der originalen Mobilstation identisch. Es wird auch eine Kopie der SmartCard hergestellt, die in der kopierten Mobilstation verwendet wird. Die Mobilfunkvermittlung unterscheidet nicht zwischen der originalen Mobilstation und der kopierten Mobilstation.
  • Ein weiterer Nachteil bei den derzeitigen Lösungen zur Verschlüsselung von Software und anderen Daten ist, dass, wenn der gleiche Verschlüsselungsschlüssel zum Verschlüsseln großer Informationsmengen verwendet wird, der Verschlüsselungsschlüssel erfolgreich entschlüsselt werden kann, indem man diese verschlüsselten Informationen analysiert.
  • Je mehr die Datenverarbeitungsfähigkeiten tragbarer Geräte erweitert werden, desto mehr Informationen können in ihnen gespeichert werden, wobei diese Informationen vertraulich sein können oder es aus sonstigen Gründen unerwünscht ist, dass ein Unbefugter von ihnen Kenntnis erhält. Das Mitführen von tragbaren Geräten erhöht jedoch das Risiko, dass diese Geräte verloren gehen oder gestohlen werden, weshalb versucht werden muss, die in ihnen gespeicherten Informationen mit einem Verschlüsselungsverfahren zu schützen. Bei tragbaren Geräten ist es in der Regel möglich, ein Passwort festzulegen, das der Benutzer während der Einschaltphase in das Gerät eingeben muss, bis mit dem Gerät normal gearbeitet werden kann. Ein solcher Schutz ist aber relativ einfach zu umgehen, weil die verwendeten Passwörter normalerweise relativ kurz sind: in der Regel kürzer als 10 Zeichen. Andererseits kann selbst dann, wenn kein Versuch unternommen wird, das Passwort herauszufinden, auf die in dem Gerät enthaltenen Informationen zugegriffen werden, indem man beispielsweise das Speichermedium, wie beispielsweise eine Festplatte, in ein anderes Gerät einbaut. Wenn die Informationen, die auf dem Speichermedium gespeichert sind, nicht in einem verschlüsselten Format vorliegen, so können diese Informationen mühelos eingesehen werden.
  • Es ist bekannt, dass Informationen, die von dem Benutzer oder dem Gerät benötigt werden, mit einem einzigen Schlüssel verschlüsselt werden, dass die verschlüsselten Informationen im Speicher des Gerätes gespeichert werden können und dass sie mit einem anderen Schlüssel entschlüsselt werden können. Der Schlüssel, der bei der asymmetrischen Verschlüsselung verwendet wird, unterscheidet sich von dem Schlüssel, der für die Entschlüsselung verwendet wird. Dementsprechend ist der Schlüssel, der bei der symmetrischen Verschlüsselung verwendet wird, der gleiche Schlüssel wie der, der für die Entschlüsselung verwendet wird. Bei der asymmetrischen Verschlüsselung nennt man diese Schlüssel in der Regel einen öffentlichen Schlüssel und einen persönli chen Schlüssel. Der öffentliche Schlüssel dient der Verschlüsselung, und der persönliche Schlüssel dient der Entschlüsselung. Obgleich der öffentliche Schlüssel allgemein bekannt sein kann, kann er normalerweise nicht dazu verwendet werden, um ohne Weiteres den persönlichen Schlüssel zu ermitteln, der dem öffentlichen Schlüssel entspricht, wodurch es für einen Unbefugten sehr schwierig ist, Informationen einzusehen, die mit diesem öffentlichen Schlüssel verschlüsselt wurden. Ein Beispiel für ein System, bei dem ein solcher öffentlicher Schlüssel und ein persönlicher Schlüssel verwendet wird, ist das PGP-System (Pretty Good Privacy), wobei der Benutzer die zu versendenden Informationen mit dem öffentlichen Schlüssel des Empfängers verschlüsselt und der Empfänger dann die verschlüsselten Informationen mit seinem persönlichen Schlüssel öffnet. Es gibt jedoch empfindliche Nachteile bei den Systemen nach dem Stand der Technik. Effektive symmetrische Schlüssel bestehen aus etwa 100 Bits, während asymmetrische Schlüssel aus etwa 1000 bis 2000 oder sogar bis zu 4000 Bits bestehen. Wenn die Schlüsselzeichenkette zu kurz ist, so ist es relativ einfach, sie mittels moderner Datenverarbeitungstechnik zu knacken, was man einen Angriff mit roher Gewalt nennen könnte. Dieses Problem ist vor allem für tragbare Datenverarbeitungs- und Kommunikationsgeräte relevant, wo auch die begrenzte Verarbeitungskapazität die Verwendung langer Schlüssel verhindert.
  • US-5,802,592, US-5,919,257, EP-A2-0.616.771 und EP-A1-0.656.587 offenbaren allesamt Techniken zum Überprüfen von Software während der Inbetriebnahmephase eines Computersystems.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Absichern eines elektronischen Gerätes in einer solchen Weise bereitzustellen, dass ein bestimmtes Programm so eingestellt wird, dass es nur auf einem bestimmten elektronischen Gerät funktioniert. Die Erfindung gründet sich auf den Gedanken, dass der Bootvorgang so konfiguriert ist, dass er aus wenigstens zwei Schritten besteht, dergestalt, dass im ersten Schritt erste Überprüfungsdaten verifiziert werden und dass, wenn die ersten Überprüfungsdaten korrekt sind, zweite Überprüfungsdaten, die dem zweiten Bootschritt zugehören, verifiziert werden, wobei es, wenn auch die zweiten Überprüfungsdaten korrekt sind, möglich ist, den zweiten Bootschritt zu starten. Genauer gesagt, ist das Verfahren gemäß der vorliegenden Erfindung durch den kennzeichnenden Teil von Anspruch 1 gekennzeichnet; das System gemäß der vorliegenden Erfindung ist durch den kennzeichnenden Teil von Anspruch 15 gekennzeichnet; und das elektronische Gerät gemäß der vorliegenden Erfindung ist durch den kennzeichnenden Teil von Anspruch 26 gekennzeichnet. Des Weiteren ist die Software gemäß der vorliegenden Erfindung durch den kennzeichnenden Teil von Anspruch 29 gekennzeichnet; und das Speichermittel gemäß der vorliegenden Erfindung ist durch den kennzeichnenden Teil von Anspruch 30 gekennzeichnet.
  • Die vorliegende Erfindung weist im Vergleich zu den Lösungen nach dem Stand der Technik bemerkenswerte Vorteile auf. Bei dem elektronischen Gerät gemäß der Erfindung wird die Geräte-Identität in einem Speicher gespeichert, der so beschaffen ist, dass er nur so schwierig wie möglich modifiziert werden kann. Des Weiteren wird bei einer vorteilhaften Ausführungsform die Geräte-Identität mit einer digitalen Signatur verifiziert, wobei der öffentliche Schlüssel oder einige Schlüsselidentifizierungsinformationen, die bei der Verifizierung verwendet werden, in dem elektronischen Gerät gespeichert sind. Durch Überprüfen der digitalen Signatur ist es somit möglich, mit hoher Wahrscheinlichkeit zu verifizieren, ob die digitale Signatur der Geräte-Identität des elektronischen Gerätes entspricht. Eine Geräte-Identität wird dauerhaft in dem Gerät eingestellt, und eine weitere wird in den signierten Daten eingestellt, was man ein Zertifikat nennt. Durch Überprüfen der Signatur ist es nun möglich, die Authentizität und den Aussteller des Zertifikates zu ermitteln. Es wird auf diese Weise verifiziert, dass die dauerhafte Geräte-Identität des Gerätes und die in dem Zertifikat enthaltene Geräte-Identität miteinander identisch sind. Mittels des erfindungsgemäßen Verfahrens kann sichergestellt werden, dass nur ein bestimmtes Programm auf einem bestimmten elektronischen Gerät funktioniert. Es ist dadurch möglich, die wirtschaftlichen Verluste, die den Anbietern von Software-Programmen durch das Kopieren ihrer Software entstehen, deutlich zu verringern. Es ist des Weiteren möglich, die Position der Benutzer von elektronischen Geräten zu verbessern, weil durch die erfindungsgemäße Lösung der Betrieb von durch Produktpiraterie erworbenen elektronischen Geräten und Software-Programmen deutlich erschwert werden kann. Dem befugten Benutzer werden somit keine Kosten für die Benutzung eines solchen kopierten elektronischen Gerätes, das dem elektronischen Gerät des Benutzers entspricht, in Rechnung gestellt. Mittels des erfindungsgemäßen Verfahrens kann die Herkunft der Software verifiziert werden, so dass der Benutzer der Software relativ sicher sein kann, dass die Herkunft der Software der angegebenen Herkunft entspricht und dass die Software keine Viren, Hintertüren oder dergleichen enthält. Die Erfindung macht es außerdem möglich, dass die Software des elektronischen Gerätes nicht unbefugt dergestalt modifiziert werden kann, dass sie nach den Modifizierungen noch funktionieren würde.
  • Bei dem erfindungsgemäßen elektronischen Gerät kann der interne Festspeicher der Schaltung relativ klein gehalten werden, weil die Integrität der Programme, die sich im externen Speicher (Flash oder ein anderer Speichertyp) befinden, im Chip verifiziert werden kann. Dies macht es des Weiteren möglich, dass ein Großteil der Programme des elektronischen Gerätes auch nach der Herstellung des elektronischen Gerätes ausgetauscht werden kann. Außerdem ist die Planung der Programme einfacher.
  • Bei einer vorteilhaften Ausführungsform der Erfindung ist die Geräte-Identität, die für die Kontrolle der Zugriffsrechte der Programme verwendet wird, von dem IMEI-Code des elektronischen Gerätes unabhängig. Darum kann der Gerätehersteller den IMEI-Code erforderlichenfalls ändern. Des Weiteren kann die Geräte-Identität kürzer sein als der IMEI, wodurch beim Speichern der Geräte-Identität eine geringere Menge an teurer Speicherkapazität benötigt wird als bei den Lösungen nach dem Stand der Technik.
  • Im Folgenden wird die Erfindung eingehender anhand der beiliegenden Zeichnungen beschrieben.
  • 1 zeigt ein elektronisches Gerät gemäß einer bevorzugten Ausführungsform der Erfindung in einem vereinfachten Blockschaubild.
  • 2 zeigt die Struktur eines Bootprogramms in einem elektronischen Gerät, in dem das Verfahren gemäß einer vorteilhaften Ausführungsform der Erfindung implementiert ist.
  • 3 veranschaulicht die Herstellung und Übergabe von Software an ein elektronisches Gerät durch ein Sicherheitssystem gemäß einer vorteilhaften Ausführungsform der Erfindung.
  • 4 veranschaulicht die Herstellung und Übergabe von Software an ein elektronisches Gerät durch ein Sicherheitssystem gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung.
  • 5 zeigt den Ablauf eines Bootprogramms gemäß einer bevorzugten Ausführungsform der Erfindung in einem Ablaufdiagramm.
  • 6 zeigt ein bekanntes Prinzip der Herstellung einer digitalen Signatur.
  • Es folgt eine Beschreibung des Betriebes eines elektronischen Gerätes 1 gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung in Verbindung mit dem erfindungsgemäßen Verfahren. Bei dem verwendeten elektronischen Gerät 1 kann es sich um ein beliebiges elektronisches Gerät handeln, das Mittel zum Abarbeiten von Programmen enthält. Vorteilhafterweise umfasst das elektronische Gerät 1 vorzugsweise eine Betriebssystemsoftware oder dergleichen, mit der die wesentlichen Funktionen des elektronischen Gerätes gesteuert werden und mit der das Laufen anderer Programme (Anwendungen) in dem elektronischen Gerät 1 gesteuert werden kann. Nicht-einschränkende Beispiele für solche elektronischen Geräte 1, die in diesem Zusammenhang zu nennen sind, sind eine Mobilstation und ein Computer.
  • Das elektronische Gerät 1 gemäß einer vorteilhaften Ausführungsform der Erfindung, wie in 1 gezeigt, umfasst einen Steuerblock 2, der Mittel 2a für das Abarbeiten von Programmen enthält. Diese Mittel umfassen beispielsweise eine Mikrosteuerung MCU (Micro Controller Unit) und eine digitale Signalverarbeitungseinheit DSP (Digital Signal Processing). Außerdem umfasst der Steuerblock 2 vorzugsweise eine anwendungsspezifische integrierte Schaltung ASIC (Application-Specific Integrated Circuit), in der beispielsweise wenigstens einen Teil der Logikfunktionen des elektronischen Gerätes implementiert werden kann. Des Weiteren ist der Steuerblock 2 des elektronischen Gerätes 1, wie in 1 gezeigt, vorzugsweise mit einem Festspeicher 2d, der wenigstens zum Teil ein einmalig programmierbarer ROM (OTPROM) 2e ist, und mit einem Direktzugriffsspeicher 2f ausgestattet. Es ist allerdings klar, dass diese Speicher 2d, 2e und 2f auch als Speicher implementiert werden können, die von dem Steuerblock 2 getrennt sind. Das elektronische Gerät umfasst des Weiteren Speichermittel 3 au ßerhalb des Steuerblocks, die vorzugsweise wenigstens einen Festspeicher 3a, einen programmierbaren Festspeicher 3b und einen Direktzugriffsspeicher 3c umfassen. Wenigstens ein Teil des Festspeichers 3a ist so implementiert, dass sein Inhalt nicht durch den Benutzer geändert werden kann. Es ist auch möglich, eine Speichererweiterung an das elektronische Gerät 1 von 1 anzuschließen, indem ein Speichererweiterungsblock 4 an das Speicheranschlussmittel 5 angeschlossen wird. Der Speichererweiterungsblock 4 ist beispielsweise eine Flash-Speicherkarte, aber es können auch andere Speichererweiterungsmittel in Verbindung mit der Erfindung verwendet werden. Das elektronische Gerät 1 ist des Weiteren vorzugsweise mit einer grafischen Benutzerschnittstelle UI (User Interface) ausgestattet, die eine Anzeige 6, eine Tastatur 7 und Audiomittel 8, wie beispielsweise einen Ohrhörer oder Lautsprecher und ein Mikrofon, umfasst. Das elektronische Gerät 1 gemäß einer vorteilhaften Ausführungsform der Erfindung, wie in 1 gezeigt, umfasst des Weiteren Mittel 9 zur Ausführung von Mobilstationsfunktionen, beispielsweise einer GSM-Mobilstation und/oder einer UMTS-Mobilstation. Des Weiteren umfasst das elektronische Gerät 1 vorzugsweise Mittel 10 zum Anschließen einer Identity-Karte 11, wie beispielsweise einer SIM-Karte und/oder einer USIM-Karte, an das elektronische Gerät 1.
  • 2 zeigt die Struktur des Bootprogramms des elektronischen Gerätes 1, in dem das Verfahren gemäß einer vorteilhaften Ausführungsform der Erfindung angewendet wird. Das Bootprogramm ist in wenigstens zwei Bootblöcke P1, P2 unterteilt, von denen der erste Bootblock P1 die anfänglichen Booting-Operationen des ersten Schrittes ausführt. Der zweite Bootblock P2 führt weitere Überprüfungen in einer Situation durch, in der keine Fehler, die das Inbetriebnehmen verhindern würden, im ersten Bootblock erkannt wurden.
  • Das aus wenigstens zwei Schritten bestehende Sicherheitsverfahren gemäß der vorliegenden Erfindung funktioniert folgendermaßen. Die Funktionsweise ist in dem Ablaufdiagramm von 5 veranschaulicht. Bei der Inbetriebnahme des elektronischen Gerätes 1 beginnt der Steuerblock 2 mit dem Ablauf des Bootprogramms (Block 501 in 5). Dies erfolgt in einer an sich bekannten Weise durch Einstellen des Adressregisters des Steuerblocks 2 auf eine bestimmte anfängliche Adresse, die jenen Programmbefehl des Bootprogramms enthält, der als erstes auszuführen ist. Dieser Programmbefehl befindet sich in einem ersten Bootblock P1. Danach wird die Abarbeitung des Programms vorzugsweise mit dem Ergreifen der erforderlichen Schritte zur Initialisierung des Gerätes fortgesetzt, die dem Fachmann einschlägig bekannt sind und in diesem Kontext nicht erörtert zu werden brauchen. Der erste Bootblock P1 umfasst einen ersten Überprüfungsschritt zur Überprüfung von ersten Überprüfungsdaten (erste Sicherheitsdaten). Im ersten Überprüfungsschritt wird beispielsweise die Geräte-ID oder dergleichen, die in dem einmalig programmierbaren ROM 2d gespeichert ist, überprüft (Block 502). Diese Geräte-ID ist mit dem Bezugssymbol DID (Device ID) in 2 angezeigt. Des Weiteren kann überprüft werden, dass der Programmcode des ersten Bootblocks P1 nicht modifiziert wurde. Die Überprüfung wird vorzugsweise im Steuerblock 2 durchgeführt, indem eine digitale Signatur berechnet wird, wofür wenigstens die Geräte-Identität DID und eventuell auch wenigstens ein Teil des im Festspeicher 2d, 2e gespeicherten Bootprogramms verwendet wird. Bei der Berechnung der digitalen Signatur werden der gleiche Algorithmus und die gleichen Daten benutzt, mit denen die digitale Signatur während der Herstellung des elektronischen Gerätes 1 mittels eines geheimen Schlüssels des Geräteherstellers berechnet wurde, wie weiter unten in dieser Beschreibung noch dargelegt wird. Diese digitale Signatur wird vorzugsweise in dem programmierbaren Festspeicher 3b (in 2 mit dem Bezugssymbol S2 bezeichnet) gespeichert, aber es versteht sich, dass sie auch beispiels weise in demselben Festspeicher 2d, 2e gespeichert werden kann, in dem die Geräte-Identität DID gespeichert wurde. Die digitale Signatur kann mittels des öffentlichen Schlüssels PK1 verifiziert werden, der dem geheimen Schlüssel, der in der Signatur verwendet wird, entspricht und in dem Festspeicher 2d, 2e gespeichert wird. Nach dem Berechnen der digitalen Signatur erfolgt ein Vergleich zwischen der digitalen Signatur, die im Steuerblock 2 berechnet wurde, und der digitalen Signatur S1, die in dem einmalig programmierbaren Festspeicher 2d, 2e gespeichert ist (Block 503). Wenn der Vergleich zeigt, dass die digitalen Signaturen übereinstimmen, so kann der Bootvorgang fortgesetzt werden. In anderen Fällen ist offenbar, dass versucht wurde, das elektronische Gerät 1 und/oder die Identitätsdaten DID, die in dem elektronischen Gerät 1 und/oder in dem Bootprogramm enthalten sind, zu modifizieren. Infolge dessen wird der normale Betrieb des Gerätes verhindert, beispielsweise indem das elektronische Gerät abgeschaltet wird (Block 504). Dieser Teil des Bootprogramms, der die Überprüfung vornimmt, ist im Speicher des elektronischen Gerätes 1 in einer solchen Weise gespeichert, dass er nicht verändert werden kann, ohne das elektronische Gerät 1 kaputt zu machen. Eine brauchbare Lösung ist es, den internen, einmalig programmierbaren Festspeicher 2e des Steuerblocks 2 für die Speicherung zu verwenden.
  • Wenn der Bootvorgang fortgesetzt wird, so wird als nächster Schritt der zweite Überprüfungsschritt des Bootprogramms unternommen, bevor andere Programme PG1, PG2, PG3 gestartet werden. Der Programmcode, der dem zweiten Überprüfungsschritt entspricht, befindet sich im ersten Bootblock P1. Im zweiten Überprüfungsschritt wird die Authentizität des zweiten Bootblocks P2 des Bootprogramms überprüft. Der zweite Bootblock P2 des Bootprogramms ist vorzugsweise in dem elektrisch löschbaren programmierbaren Festspeicher (EEPROM) 3b, wie beispielsweise einem Flash-Speicher, gespeichert. Es wird eine digitale Signatur unter Verwendung wenigstens eines Teils des Bootprogramms, das in dem Festspeicher 3a, 3b gespeichert ist, berechnet (Block 505). Die zweite digitale Signatur S2 des zweiten Bootblocks des Bootprogramms ist ebenfalls im selben Speicher 3b gespeichert. Bei der Berechnung dieser digitalen Signatur S2 werden einige Daten verwendet, die verifiziert werden können, wie beispielsweise ein Teil des Programmcodes des zweiten Bootblocks des Bootprogramms sowie der geheime Schlüssel des Herstellers des elektronischen Gerätes 1. Der öffentliche Schlüssel PK2, der diesem geheimen Schlüssel entspricht, ist ebenfalls in dem Speicher 3b gespeichert. Die berechnete digitale Signatur wird mit der digitalen Signatur verglichen, die in dem Speicher 3b gespeichert ist (Block 506), und wenn die Signaturen übereinstimmen, so kann das der Bootvorgang des elektronischen Gerätes 1 weiter fortgeführt werden. Wenn die Signaturen hingegen nicht übereinstimmen, so wird der normale Betrieb des Gerätes verhindert, indem beispielsweise das elektronische Gerät angehalten wird.
  • Die in dem zweiten Überprüfungsschritt zu überprüfenden Daten (zweite Überprüfungsdaten, zweite Sicherheitsdaten) können beispielsweise durch Berechnen von komprimierten Daten H, zum Beispiel durch eine Hash-Funktion, aus Programmen PG1, PG2, PG3, Parametern, Geräte-Identitäten DID, IMEI oder dergleichen, die in dem programmierbaren Festspeicher 3b gespeichert sind, erzeugt worden sein. Diese komprimierten Daten H werden mit dem geheimen Schlüssel signiert und in dem programmierbaren Festspeicher 3b gespeichert. In diesem Fall erfolgt die Überprüfung durch Verifizieren der Authentizität dieser Signatur.
  • Bei einer vorteilhaften Ausführungsform der Erfindung werden Informationen über den Speicherort des Überprüfungsprogramms, das in dem zweiten Bootschritt zu verwenden ist, und über den öffentlichen Schlüssel PK2 von dem ersten Bootschritt zu dem Programm, das den zweiten Bootschritt ausführt, übermittelt.
  • Nachdem der oben dargestellte zweite Überprüfungsschritt erfolgreich war, ist es möglich, den zweiten Bootblock P2 des Bootprogramms, das im Speicher 3b gespeichert ist, abzuarbeiten. In diesem zweiten Bootblock P2 des Bootprogramms werden beispielsweise einige andere Daten, die in dem Festspeicher 3b gespeichert sind, verifiziert (zum Beispiel gemäß den oben dargestellten Prinzipien), indem eine oder mehrere digitale Signaturen berechnet werden (Block 507) und mit den entsprechenden digitalen Signaturen, die in dem Festspeicher gespeichert sind, verglichen werden (Block 508). Zu solchen zu verifizierenden Daten gehören beispielsweise gerätespezifische Informationen, wie beispielsweise die Geräte-Identität DID, die International Mobile Equipment Identity IMEI sowie Serviceproviderspezifische Informationen, wie beispielsweise eine SIM-Sperre (SIM Lock) SL, wodurch die Mobilstation so eingestellt werden kann, dass sie nur mit einer oder mehreren bestimmten SIM-/USIM-Karten funktioniert, und/oder eine Betreiber-Sperre, wodurch das elektronische Gerät 1 so eingestellt wird, dass es nur mit einer SIM-/USIM-Karte eines bestimmten Mobilfunkbetreibers funktioniert. Der Ablauf des zweiten Bootblocks P2 des Bootprogramms kann fortgesetzt werden, wenn die Signaturen und weitere eventuell ausgeführte Verifizierungen in Ordnung waren. Es ist zu erwähnen, dass bei einigen Anwendungen die oben angesprochene Geräte-Identität DID anhand der International Mobile Equipment Identity IMEI erzeugt werden kann, aber sie können auch voneinander unabhängig sein.
  • Als nächstes ist wenigstens ein weiterer Überprüfungsschritt auszuführen, um den noch immer unverifizierten Teil des Programmcodes der Programme PG1, PG2, PG3 oder wenigstens von einigen dieser Programme zu überprüfen (Block 509). Bei diesem Überprüfungsschritt können die oben darge legten Prinzipien angewendet werden, wobei wenigstens eine weitere digitale Signatur und die Informationen, die für ihre Verifizierung erforderlich sind, in dem Speicher 3b gespeichert werden.
  • Nachdem alle Verifizierungen, die für die Inbetriebnahme des elektronischen Gerätes 1 festgelegt wurden, ausgeführt wurden, können weitere Programme PG1, PG2, PG3 gebootet werden (Schritt 510), woraufhin das elektronische Gerät 1 normal benutzt werden kann.
  • Die oben dargestellten öffentlichen Schlüssel können ebenfalls mit einer digitalen Signatur (= Zertifikat) verifiziert werden, um eine größere Gewissheit über die Herkunft der öffentlichen Schlüssel zu erhalten. In diesem Fall werden nicht nur die öffentlichen Schlüssel, sondern auch die entsprechenden digitalen Signaturen in dem Speicher 2d, 2e, 3b gespeichert und verifiziert, bevor sie für andere Überprüfungsmaßnahmen verwendet werden.
  • Obgleich das Bootprogramm in der obigen Beschreibung nur in einen ersten und einen zweiten Bootblock P1 bzw. P2 unterteilt war, versteht es sich, dass das Bootprogramm in Verbindung mit der Erfindung auch in mehr als zwei Bootblöcke P1, P2 unterteilt sein kann. Somit beinhaltet jeder Bootblock die Verifizierung wenigstens des nächsten Bootblocks, bevor der Betrieb zum nächsten Bootblock fortschreitet. Bei der Verifizierung werden Informationen verwendet, von denen wenigstens ein Teil in dem Bootblock gespeichert wird, der in der Reihenfolge als nächster kommt.
  • Die oben beschriebenen Verifikationen können auch nach dem Bootvorgang während des normalen Betriebes des elektronischen Gerätes 1 erfolgen. Das soll beispielsweise verhindern, dass nach dem Bootvorgang die SmartCard gegen eine SmartCard ausgetauscht wird, deren Benutzung in dem elektronischen Gerät 1 unbefugt ist, oder dass der externe Speicher 3b gegen einen Speicher ausgewechselt wird, der einen modifizierten Programmcode enthält.
  • Auf der Stufe der Herstellung des erfindungsgemäßen elektronischen Gerätes 1 und/oder auf der Stufe der Software-Aktualisierung werden die benötigten Überprüfungsdaten und Programme in dem Speicher 2d, 2e, 3a, 3b vorzugsweise in der folgenden Weise erzeugt. Die für die Verifizierung benötigten Programmcodes werden in dem Steuerblock 2 gespeichert, einschließlich des ersten Bootblocks P1 des Bootprogramms, des Programms zum Berechnen der digitalen Signatur und des einen oder der mehreren Verschlüsselungs- und Entschlüsselungsalgorithmen. Dieser Schritt ist durch den Block 301 in 3 dargestellt. Der Hersteller speichert außerdem wenigstens einen Teil der Geräte-Identität DID in dem einmalig programmierbaren Speicher 2e des Steuerblocks (Block 303). Des Weiteren werden der öffentliche Schlüssel PK1 des Herstellers und die digitale Signatur S1, die für die Verifizierung des ersten Bootblocks P1 und der Geräte-Identität benötigt werden, in dem einmalig programmierbaren Speicher 2e gespeichert. Nach dem Ausführen der notwendigen Speicherung in dem einmalig programmierbaren Speicher 2e wird dieser einmalig programmierbaren Speicher 2e erforderlichenfalls in einen Zustand versetzt, in dem an dem Speicher keinerlei Veränderungen mehr vorgenommen werden können. Damit soll verhindert werden, dass in der Geräte-Identität DID oder in einem anderen Teil des einmalig programmierbaren Speichers 2e beispielsweise einzelne Bits verändert werden. Auf der Stufe des Zusammenbaus der Komponenten (Block 302) wird auch der Steuerblock 2, der den einmalig programmierbaren Speicher 2e enthält, auf der (nicht gezeigten) Platine des elektronischen Gerätes installiert. Der Hersteller speichert die übrigen Blöcke P2 des Bootprogramms und mögliche Anwendungsprogramme beispielsweise in dem programmierbaren Speicher 3b und/oder in dem einmalig programmierbaren Speicher 3a (Blöcke 304 und 305). Außerdem werden der öffentliche Schlüssel PK2 des Herstellers, der zum Überprüfen des zweiten Bootblocks P2 des Bootprogramms verwendet wird, die digitale Signatur S2 sowie ein eventuelles Zertifikat in dem Speicher 3b gespeichert. Danach kann das elektronische Gerät 1 an einen Händler oder einen Service-Provider, wie beispielsweise einen Mobilfunkbetreiber, ausgeliefert werden. Wenn also ein Käufer des elektronischen Gerätes 1 einen Mobilfunkvertrag mit dem Service-Provider abschließt, so kann das elektronische Gerät 1 so eingestellt werden, dass es mit einer oder mehreren SmartCards 11, wie beispielsweise einer SIM-Karte, oder jeder anderen SmartCard des Service-Providers funktioniert. Der Service-Provider oder der Verkäufer stellt somit eine SIM-Sperre SL oder dergleichen sowie die Geräte-Identität IMEI in dem elektronischen Gerät 1 ein. Erforderlichenfalls wird ein Zertifikat aus einer Zertifikatsdatenbank CDB abgerufen, um für die Verifizierung der Authentizität der Daten in Verbindung mit dem Bootvorgang des elektronischen Gerätes 1 verwendet zu werden, so wie es weiter oben in dieser Beschreibung dargelegt ist. Diese Definitionen werden in dem Speicher 3, vorzugsweise in dem programmierbaren Speicher 3b, gespeichert. Danach ist das elektronische Gerät 1 betriebsbereit. Es ist klar, dass die oben angesprochenen, von dem Händler oder Service-Provider vorgenommenen Handlungen auch von dem Gerätehersteller oder einem durch den Gerätehersteller autorisierten Dienstleister vorgenommen werden können. Die Daten über den Service-Provider und den Käufer werden somit an das Unternehmen übermittelt, wo die Daten gespeichert werden.
  • Aufgrund der oben beschriebenen Bestätigungsdaten kann der Service-Provider sicher sein, dass das erfindungsgemäße elektronische Gerät 1, das mit den Diensten des Service-Providers verbunden wird, tatsächlich das Gerät ist, dessen Identitätscode in dem elektronischen Gerät 1 gespeichert ist. Des Weiteren wird garantiert, dass das elektronische Gerät 1 und die in ihm enthaltenen Daten nicht unbefugt modifiziert wurden.
  • Die Erfindung kann auch für das Aktualisieren von Software und anderen Daten in dem elektronischen Gerät 1 verwendet werden. Dies kann beispielsweise durch den Händler und/oder einen Dienstleister, beispielsweise mittels der in 4 gezeigten Konfiguration, geschehen. Beispielsweise will der Benutzer eine neue Version des Betriebssystems in dem elektronischen Gerät 1 installiert haben. Die neue Version des Betriebssystems wurde von dem Anbieter des Betriebssystems an das Unternehmen AS geliefert, oder sie wird über ein Datennetzwerk von dem Anbieter des Betriebssystems heruntergeladen. In Verbindung mit dem Herunterladen wird vorzugsweise die Geräte-Identität DID und eventuell auch die Identität des Service-Providers angegeben (Block 401 in 4). Wenn das Betriebssystem heruntergeladen wird, so werden die erforderlichen Verifizierungen vorgenommen, dass der Empfänger tatsächlich befugt ist, den Download vorzunehmen, und dass der Benutzer berechtigt ist, die neue Version des Betriebssystems auf sein elektronisches Gerät zu erhalten (Block 402). In das herunterzuladende Betriebssystem können nun die Daten über die Geräte-Identität DID, den öffentlichen Schlüssel des Anbieters der Programme und/oder eine digitale Signatur eingefügt werden (Pfeil 403), wobei das Funktionieren der Version des Betriebssystems auf lediglich dieses elektronische Gerät 1 beschränkt werden kann. Es ist somit kein weiterer Kopierschutz erforderlich. Die neue Version des Betriebssystems wird zu dem elektronischen Gerät 1 übertragen (Pfeil 404), um mittels eines an sich bekannten Verfahrens in dem programmierbaren Speicher 3b gespeichert zu werden (Block 405).
  • Es gibt eine Anzahl bekannter Verschlüsselungsverfahren, die sich für die vorliegende Erfindung verwenden lassen. Zu den in diesem Zusammenhang zu erwähnenden symmetrischen Verschlüsselungsverfahren gehören der Data Encryption Standard (DES), der Advanced Encryption Standard (AES) und Rivest's Cypher 2 (RC2). Ein asymmetrisches Verschlüsselungs verfahren ist Rivest, Shamir, Adleman (RSA). Es wurden auch sogenannte Hybridsysteme entwickelt, bei denen sowohl asymmetrische Verschlüsselung als auch symmetrische Verschlüsselung zum Einsatz kommen. Bei solchen Systemen wird normalerweise eine asymmetrische Verschlüsselung verwendet, wenn ein Verschlüsselungsschlüssel, der für eine symmetrische Verschlüsselung verwendet werden soll, an den Empfänger übermittelt wird, wobei der symmetrische Verschlüsselungsschlüssel für die Verschlüsselung der eigentlichen Informationen verwendet wird.
  • Für die Übermittlung von öffentlichen Schlüsseln, die für eine asymmetrische Verschlüsselung verwendet werden sollen, wurde ein System entwickelt, das Public Key Infrastructure (PKI) genannt wird. Dieses System umfasst Server, auf denen die öffentlichen Schlüssel gespeichert werden und von denen ein Benutzer, der einen Schlüssel benötigt, den Schlüssel abrufen kann. Ein solches System eignet sich besonders zur Verwendung durch Unternehmen, wobei das Unternehmen seinen öffentlichen Schlüssel nicht selbst an jemanden zu übermitteln braucht, der Informationen in verschlüsselter Form an das Unternehmen übermitteln möchte.
  • Für digitale Signaturen werden verschiedene Systeme verwendet, wie beispielsweise RSA, Digital Signatures Algorithm (DAS) und Elliptic Curve Cryptography (ECC). In Verbindung mit diesen Systemen werden Algorithmen, welche die zu signierenden Informationen komprimieren, verwendet. Secure Hash Algorithm (SHA-1) und Message Digest 5 (MD5) seien in diesem Zusammenhang als Beispiele erwähnt. 6 zeigt das Erzeugen einer digitalen Signatur in einer Prinzipdarstellung. Die zu signierenden Daten 601 werden zu einem Block 602 geleitet, wo eine Hash-Funktion (Komprimierungsfunktion) ausgeführt wird. Danach werden die durch die Hash-Funktion erzeugten komprimierten Daten mit einem geheimen Schlüssel SK signiert 603. Die Signatur 604 wird mit den zu signierenden Daten 601 verknüpft. Auf der Stufe der Verifizierung der signierten Daten werden die mit der Signatur bestätigten Daten zu einem Block 605 geleitet, wo die Hash-Funktion ausgeführt wird, um einen Hash-Code 606 zu erzeugen. Die Signatur wird mittels eines öffentlichen Schlüssels PK, welcher dem geheimen Schlüssel des Signaturs entspricht, verifiziert 607. Anschließend wird der Hash-Code 606 mit den bei der Verifizierung 607 der Signatur erzeugten Daten verglichen 608. Wenn die Daten übereinstimmen, so kann man den signierten Daten mit einer hohen Wahrscheinlichkeit vertrauen.
  • Die Schritte gemäß der Erfindung lassen sich größtenteils mit Programmbefehlen des Software-Abarbeitungsmittels 2a im Steuerblock 2 des elektronischen Gerätes 1 implementieren.
  • Die Erfindung kann beispielsweise auch bei der Implementierung von Sprachversionen von Software, die zu dem elektronischen Gerät 1 gehört, verwendet werden. Es wird dabei für jede Sprachversionen eine Gruppe von Programmen mit den gewünschten Sprachdefinitionen erzeugt. Die Geräte-Identität wird in Form von Daten in dieser Gruppe von Programmen eingestellt, so dass die Programme nur in einem bestimmten Gerät verwendet werden können. Um dies sicherzustellen, werden die Mechanismen gemäß der vorliegenden Erfindung verwendet. Andererseits kann die erfindungsgemäße Lösung auch in einer solchen Weise angewendet werden, dass in dem elektronischen Gerät 1 festgelegt werden kann, welche Sprachversion bzw. Sprachversionen auf dem elektronischen Gerät 1 installiert und benutzt werden können.
  • Es versteht sich, dass die vorliegende Erfindung nicht ausschließlich auf die oben dargelegten Ausführungsformen beschränkt ist, sondern innerhalb des Geltungsbereichs der angehängten Ansprüche modifiziert werden kann.

Claims (28)

  1. Verfahren zum Sicherstellen der Zuverlässigkeit eines elektronischen Geräts (1), wobei in dem elektronischen Gerät (1) mindestens erste Überprüfungsdaten (DID, S1, PK1) und zweite Überprüfungsdaten (S2, PK2) gespeichert werden, wobei bei dem Verfahren der Start (501) eines Boot-Programms durchgeführt wird, dadurch gekennzeichnet, dass in dem Boot-Programm mindestens ein erster Boot-Schritt (P1) und ein zweiter Boot-Schritt (P2) ausgeführt werden, dass in dem ersten Boot-Schritt beim Erzeugen der ersten Überprüfungsdaten (DID, S1, PK1) Programmbefehle des ersten Boot-Schritts zumindest teilweise verwendet werden und beim Erzeugen der zweiten Überprüfungsdaten (S2, PK2) Programmbefehle des zweiten Boot-Schritts zumindest teilweise verwendet werden, wobei die Zuverlässigkeit mindestens der ersten Überprüfungsdaten (DID, S1, PK1) in dem ersten Boot-Schritt (P1) geprüft wird, wobei in dem Fall, dass die Überprüfung zeigt, dass die mindestens ersten Überprüfungsdaten (DID, S1, PK1) zuverlässig sind, mindestens die zweiten Überprüfungsdaten (S2, PK2) in dem ersten Boot-Schritt (P1) geprüft werden, um die Zuverlässigkeit des zweiten Boot-Schritts zu bestätigen, wobei in dem Fall, dass die Überprüfung zeigt, dass die mindestens zweiten Überprüfungsdaten (S2, PK2) zuverlässig sind, nach dem ersten Boot-Schritt (P1) der zweite Boot-Schritt (P2) ausgeführt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass beim Erzeugen der ersten Überprüfungsdaten (DID, S1, PK1) zumindest ein Teil der Geräte-Identität (DID) des elektronischen Geräts verwendet wird, die in dem elektronischen Gerät (1) gespeichert ist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass in dem Fall, dass die Geräte-Identität (DID) des elektronischen Geräts nicht mit der bei der Erzeugung der ersten Überprüfungsdaten (DID, S1, PK1) verwendeten Geräte-Identität übereinstimmt, der normale Betrieb des elektronischen Geräts (1) verhindert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die ersten Überprüfungsdaten (DID, S1, PK1) mit einer digitalen Signatur (S1) unter Verwendung eines geheimen Schlüssels erzeugt werden, dass Informationen zum öffentlichen Schlüssel (PK1), der dem geheimen Schlüssel entspricht, in dem elektronischen Gerät (1) gespeichert werden und dass Informationen zum öffentlichen Schlüssel (PK1), die in dem elektronischen Gerät (1) gespeichert werden, bei der Bestätigung der ersten Überprüfungsdaten (DID, S1, PK1) verwendet werden.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass Informationen zum öffentlichen Schlüssel (PK1) in einem einmalig programmierbaren Festspeicher (2e) gespeichert werden und dass die ersten Überprüfungsdaten (DID, S1, PK1) in einem externen Speicher des elektronischen Geräts (1) gespeichert werden.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass mindestens die ersten Überprüfungsdaten (DID, S1, PK1) in einem Festspeicher (2e) gespeichert werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass mindestens ein Teil der Programmbefehle des ersten Boot-Schritts (P1) in einem Festspeicher (2e) gespeichert wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Programmbefehle des ersten Boot-Schritts (P1) und die Programmbefehle des zweiten Boot-Schritts (P2) in verschiedenen Speichern (2d, 2e, 3) gespeichert werden.
  9. Verfahren nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, dass die zweiten Überprüfungsdaten (S2, PK2) in dem gleichen Speicher gespeichert werden, in dem die Programmbefehle des zweiten Boot-Schritts (P2) gespeichert werden.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die zweiten Überprüfungsdaten (S2, PK2) mit einer digitalen Signatur (S2) unter Verwendung eines geheimen Schlüssels erzeugt werden, dass der öffentliche Schlüssel (PK2), der dem geheimen Schlüssel entspricht, in dem elektronischen Gerät (1) gespeichert wird und dass der öffentliche Schlüssel (PK2), der in dem elektronischen Gerät (1) gespeichert wird, bei der Bestätigung der zweiten Überprüfungsdaten (S2, PK2) verwendet wird.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass zur Erzeugung der digitalen Signatur (S2) ein Datensatz gewählt wird, die Daten des gewählten Satzes zur Erzeugung einer Komprimierung (H) komprimiert werden und die digitale Signatur (S2) aufgrund der Komprimierung (H) erzeugt wird.
  12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass in dem elektronischen Gerät (1) mindestens ein Programm (PG1, PG2, PG3) abgearbeitet wird, dessen Start in dem zweiten Boot-Schritt (P2) durchgeführt wird und das mindestens dritte Überprüfungsdaten hat, dass die dritten Überprüfungsdaten vor dem Starten des Programms (PG1, PG2, PG3) geprüft werden, um die Zuverlässigkeit des Programms (PG1, PG2, PG3) sicherzustellen, wobei in dem Fall, dass die Überprüfung der Zuverlässigkeit des Programms (PG1, PG2, PG3) zeigt, dass das Programm (PG1, PG2, PG3) zuverlässig ist, das mindestens eine Programm (PG1, PG2, PG3) gestartet wird.
  13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass in dem Boot-Programm, das in einem Festspeicher gespeichert ist, die Zuverlässigkeit der ersten Boot-Schritte (P1) geprüft wird, bevor die ersten Boot-Schritte (P1) ausgeführt werden.
  14. System zum Sicherstellen der Zuverlässigkeit eines elektronischen Geräts (1), wobei in dem elektronischen Gerät (1) mindestens erste Überprüfungsdaten (DID, S1, PK1) und zweite Überprüfungsdaten (S2, PK2) gespeichert werden und das elektronische Gerät (1) Mittel (2) zum Starten (501) eines Boot-Programms aufweist, dadurch gekennzeichnet, dass das System Mittel (2) zum Abarbeiten des Boot-Programms in mindestens einem ersten Boot-Schritt (P1) und einem zweiten Boot-Schritt (P2) aufweist, dass in dem ersten Boot-Schritt (P1) beim Erzeugen der ersten Überprüfungsdaten (DID, S1, PK1) Programmbefehle des ersten Boot-Schritts zumindest teilweise verwendet werden und beim Erzeugen der zweiten Überprüfungsdaten (S2, PK2) Programmbefehle des zweiten Boot-Schritts zumindest teilweise verwendet werden, dass das System weiterhin Mittel zum Prüfen der Zuverlässigkeit mindestens der ersten Überprüfungsdaten (DID, S1, PK1) in dem ersten Boot-Schritt (P1) und Mittel zum Überprüfen der zweiten Überprüfungsdaten (S2, PK2) in dem ersten Boot-Schritt (P1), um die Zuverlässigkeit des zweiten Boot-Schritts zu bestätigen, aufweist, wobei in dem Fall, dass aufgrund der Überprüfungen die mindestens ersten Überprüfungsdaten (DID, S1, PK1) und die mindestens zweiten Überprüfungsdaten (S2, PK2) zuverlässig sind, der zweite Boot-Schritt (P2) so eingerichtet ist, dass er nach dem ersten Boot-Schritt (P1) ausgeführt wird.
  15. System nach Anspruch 14, dadurch gekennzeichnet, dass beim Erzeugen der ersten Überprüfungsdaten (DID, S1, PK1) die Geräte-Identität (DID) des elektronischen Geräts verwendet wird, die in dem elektronischen Gerät (1) gespeichert ist.
  16. System nach Anspruch 15, dadurch gekennzeichnet, dass es Mittel zum Vergleichen der Äquivalenz der in dem elektronischen Gerät (1) gespeicherten Geräte-Identität (DID) des elektronischen Geräts und der bei der Erzeugung der ersten Überprüfungsdaten (DID, S1, PK1) verwendeten Geräte-Identität und Mittel zum Stoppen des Boot-Programms, wenn die Geräte-Identität (DID) des elektronischen Geräts nicht der bei der Erzeugung der Überprüfungsdaten (DID, S1, PK1) verwendeten Geräte-Identität entspricht, aufweist.
  17. System nach einem der Ansprüche 14 bis 16, dadurch gekennzeichnet, dass es Mittel zum Erzeugen der ersten Überprüfungsdaten (DID, S1, PK1) mit der digitalen Signatur (S1) unter Verwendung eines geheimen Schlüssels, Mittel zum Speichern von Informationen zum öffentlichen Schlüssel (PK1), der dem geheimen Schlüssel entspricht, in dem elektronischen Gerät (1) und Mittel zum Verwenden des öffentlichen Schlüssels (PK1), der in dem elektronischen Gerät (1) gespeichert ist, bei der Bestätigung der ersten Überprüfungsdaten (DID, S1, PK1) aufweist.
  18. System nach einem der Ansprüche 14 bis 17, dadurch gekennzeichnet, dass es einen einmalig programmierbaren Festspeicher (2e) aufweist, in dem mindestens die ersten Überprüfungsdaten (DID, S1, PK1) gespeichert werden.
  19. System nach Anspruch 18, dadurch gekennzeichnet, dass mindestens ein Teil der Programmbefehle des ersten Boot-Schritts (P1) in einem Festspeicher (2e) gespeichert wird.
  20. System nach Anspruch 19, dadurch gekennzeichnet, dass die zweiten Überprüfungsdaten (S2, PK2) in dem gleichen Speicher gespeichert werden, in dem die Programmbefehle des zweiten Boot-Schritts (P2) gespeichert werden.
  21. System nach einem der Ansprüche 14 bis 20, dadurch gekennzeichnet, dass es Mittel zum Erzeugen der zweiten Überprüfungsdaten (S2, PK2) mit der digitalen Signatur (S2) unter Verwendung eines geheimen Schlüssels, Mittel zum Speichern des öffentlichen Schlüssels (PK1), der dem geheimen Schlüssel entspricht, in dem elektronischen Gerät (1) und Mittel zum Verwenden des öffentlichen Schlüssels (PK2), der in dem elektronischen Gerät (1) gespeichert wird, bei der Bestätigung der zweiten Überprüfungsdaten (S2, PK2) aufweist.
  22. System nach einem der Ansprüche 14 bis 21, dadurch gekennzeichnet, dass es Mittel (2) zum Abarbeiten eines mindestens dritte Überprüfungsdaten aufweisenden Programms in einem elektronischen Gerät (1), Mittel zum Prüfen der dritten Überprüfungsdaten, um die Zuverlässigkeit des Programms zu bestätigen, und Mittel zum Starten des Programms im zweiten Startschritt (P2), in dem Fall, dass die Überprüfung der Zuverlässigkeit des Programms gezeigt hat, dass das Programm zuverlässig ist, aufweist.
  23. System nach einem der Ansprüche 14 bis 22, dadurch gekennzeichnet, dass es ein Programmladesystem (AS), in dem Programme zum Laden gespeichert sind, Mittel (9) zum Senden erster Überprüfungsdaten (DID, S1, PK1) von einem elektronischen Gerät (1) zu dem Programmladesystem (AS), Mittel (402, CDB) zum Bestätigen der ersten Überprüfungsdaten (DID, S1, PK1), Mittel (402) zum Hinzufügen der ersten Überprüfungsdaten (DID, S1, PK1) zu einem in das elektronische Gerät (1) zu ladenden Programm und Mittel (404, AS) zum Senden des Programms zu dem elektronischen Gerät (1) aufweist.
  24. Elektronisches Gerät (1) mit Mitteln zum Sicherstellen der Zuverlässigkeit des elektronischen Geräts (1), wobei in dem elektronischen Gerät (1) mindestens erste Überprüfungsdaten (DID, S1, PK1) und zweite Überprüfungsdaten (S2, PK2) gespeichert werden und das elektronische Gerät (1) außerdem Mittel (2) zum Starten (501) eines Boot-Programms aufweist, dadurch gekennzeichnet, dass das elektronische Gerät (1) Mittel (2) zum Abarbeiten des Boot-Programms in mindestens einem ersten Boot-Schritt (P1) und einem zweiten Boot-Schritt (P2) aufweist, dass in dem ersten Boot-Schritt (P1) beim Erzeugen der ersten Überprüfungsdaten (DID, S1, PK1) Programmbefehle des ersten Boot-Schritts zumindest teilweise verwendet werden und beim Erzeugen der zweiten Überprüfungsdaten (S2, PK2) Programmbefehle des zweiten Boot-Schritts zumindest teilweise verwendet werden, dass das elektronische Gerät (1) weiterhin Mittel zum Prüfen der Zuverlässigkeit mindestens der ersten Überprüfungsdaten (DID, S1, PK1) in dem ersten Boot-Schritt (P1) und Mittel zum Überprüfen der zweiten Überprüfungsdaten (S2, PK2) in dem ersten Boot-Schritt (P1), um die Zuverlässigkeit des zweiten Boot-Schritts zu bestätigen, aufweist, wobei in dem Fall, dass aufgrund der Überprüfungen die mindestens ersten Überprüfungsdaten (DID, S1, PK1) und die mindestens zweiten Überprüfungsdaten (S2, PK2) zuverlässig sind, der zweite Boot-Schritt (P2) so eingerichtet ist, dass er nach dem ersten Boot-Schritt (P1) ausgeführt wird.
  25. Elektronisches Gerät nach Anspruch 24, dadurch gekennzeichnet, dass es Mittel (9) zum Ausführen von Mobilstationsfunktionen aufweist.
  26. Elektronisches Gerät nach Anspruch 25, dadurch gekennzeichnet, dass es Mittel (9) zum Herunterladen von Programmen über ein Mobilstationsnetz aufweist.
  27. Programm, dass alle Verfahrensschritte von Anspruch 1 ausführt, wenn es auf einem Computer abgearbeitet wird.
  28. Speichermittel (2d, 2e) zum Speichern eines Programms nach Anspruch 27.
DE60202605T 2001-06-15 2002-06-14 Verfahren zur sicherung eines elektronischen geräts, sicherheitssystem und elektronisches gerät Active DE60202605T8 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20011278A FI114416B (fi) 2001-06-15 2001-06-15 Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite
FI20011278 2001-06-15
PCT/FI2002/000517 WO2002103495A1 (en) 2001-06-15 2002-06-14 A method for securing an electronic device, a security system and an electronic device

Publications (3)

Publication Number Publication Date
DE60202605D1 DE60202605D1 (de) 2005-02-17
DE60202605T2 true DE60202605T2 (de) 2006-01-05
DE60202605T8 DE60202605T8 (de) 2006-04-27

Family

ID=8561425

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60202605T Active DE60202605T8 (de) 2001-06-15 2002-06-14 Verfahren zur sicherung eines elektronischen geräts, sicherheitssystem und elektronisches gerät

Country Status (12)

Country Link
US (1) US7506381B2 (de)
EP (1) EP1395892B1 (de)
JP (2) JP2004530235A (de)
KR (1) KR100657532B1 (de)
CN (1) CN1276319C (de)
AT (1) ATE287102T1 (de)
BR (1) BR0210379A (de)
CA (1) CA2450844C (de)
DE (1) DE60202605T8 (de)
ES (1) ES2236530T3 (de)
FI (1) FI114416B (de)
WO (1) WO2002103495A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010047186B4 (de) * 2010-09-30 2021-03-25 Infineon Technologies Ag Verfahren zum Unterstützen einer Bindung eines Chips an ein elektronisches Gerät und Chip bzw. elektronisches Gerät hierfür

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL133584A (en) * 1999-12-19 2010-02-17 Enco Tone Ltd Method for the acoustic encodification of dynamic identification codes
US7849301B2 (en) * 2001-12-12 2010-12-07 Intel Corporation Providing a user input interface prior to initiation of an operating system
US20030163703A1 (en) * 2002-02-28 2003-08-28 Robins Mark Nelson Image key security system and method
US20030163716A1 (en) * 2002-02-28 2003-08-28 Robins Mark Nelson Card key security system and method
CA2508141C (en) 2002-12-02 2009-11-03 Silverbrook Research Pty Ltd Dead nozzle compensation
US20100062844A1 (en) * 2003-03-05 2010-03-11 Bally Gaming, Inc. Authentication and validation systems for gaming devices
US7546296B2 (en) 2003-03-19 2009-06-09 Ricoh Company, Ltd. Information processing apparatus started from a program recorded on a recording medium with well-maintained security, and a recording medium storing such a program and a producing method of such a recording medium
US7614051B2 (en) 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
US7568195B2 (en) 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7549042B2 (en) 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US7549148B2 (en) 2003-12-16 2009-06-16 Microsoft Corporation Self-describing software image update components
FR2864276B1 (fr) * 2003-12-19 2006-04-28 Thales Sa Procede de detection de modifications illicites des logiciels constructeurs
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US20060048222A1 (en) * 2004-08-27 2006-03-02 O'connor Clint H Secure electronic delivery seal for information handling system
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8176564B2 (en) * 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
JP2006221629A (ja) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサのリソース管理によるコンテンツ制御方法および装置
US20060236122A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US20070023502A1 (en) * 2005-07-26 2007-02-01 Ming-Chih Tsai Composite electronic card device
US20080220880A1 (en) * 2005-09-07 2008-09-11 Bally Gaming, Inc. Trusted Cabinet Identification System
US20080220879A1 (en) * 2005-09-07 2008-09-11 Bally Gaming, Inc. Trusted Cabinet Identification Method
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
WO2007033321A2 (en) * 2005-09-14 2007-03-22 Sandisk Corporation Secure yet flexible system architecture for secure devices with flash mass storage memory
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US8046833B2 (en) * 2005-11-14 2011-10-25 Sourcefire, Inc. Intrusion event correlation with network discovery information
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20080134319A1 (en) * 2006-11-30 2008-06-05 Kestrelink Corporation License verification
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8239688B2 (en) 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US20080222428A1 (en) * 2007-03-07 2008-09-11 Andrew Dellow Method for Securing Authenticity of Data in a Digital Processing System
US8327456B2 (en) * 2007-04-13 2012-12-04 Microsoft Corporation Multiple entity authorization model
US8209550B2 (en) * 2007-04-20 2012-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting SIMLock information in an electronic device
SE532600C2 (sv) * 2007-06-29 2010-03-02 Oniteo Ab Metod och system för säker provisionering av hårdvara
GB2454640A (en) * 2007-07-05 2009-05-20 Vodafone Plc Received message verification
US20090125996A1 (en) 2007-09-19 2009-05-14 Interdigital Patent Holdings, Inc. Virtual subscriber identity module
DE102007044905A1 (de) * 2007-09-19 2009-04-09 InterDigital Patent Holdings, Inc., Wilmington Verfahren und Vorrichtung zur Ermöglichung einer Dienstnutzung und Feststellung der Teilnehmeridentität in Kommunikationsnetzen mittels softwarebasierten Zugangsberechtigungsausweisen (vSIM)
US9069990B2 (en) 2007-11-28 2015-06-30 Nvidia Corporation Secure information storage system and method
US8621191B2 (en) * 2007-12-26 2013-12-31 Nokia Corporation Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
US9158896B2 (en) 2008-02-11 2015-10-13 Nvidia Corporation Method and system for generating a secure key
US9069706B2 (en) 2008-02-11 2015-06-30 Nvidia Corporation Confidential information protection system and method
US8719585B2 (en) 2008-02-11 2014-05-06 Nvidia Corporation Secure update of boot image without knowledge of secure key
US9613215B2 (en) 2008-04-10 2017-04-04 Nvidia Corporation Method and system for implementing a secure chain of trust
US8150039B2 (en) 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
JP2009260688A (ja) * 2008-04-17 2009-11-05 Dialogue Technology Corp ワイヤレス広域通信網におけるリモート端末装置のセキュリティシステムとその方法
TW200945192A (en) * 2008-04-28 2009-11-01 Asustek Comp Inc Motherboard and method for recovering BIOS thereof and for booting computer
DE102008021567B4 (de) * 2008-04-30 2018-03-22 Globalfoundries Inc. Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US8443181B2 (en) 2008-09-30 2013-05-14 Qualcomm Incorporated Processor boot security device and methods thereof
JP5278813B2 (ja) * 2009-03-25 2013-09-04 セイコーエプソン株式会社 リアルタイムクロックおよび電子機器のセキュリティ設定方法
GB2477774A (en) * 2010-02-12 2011-08-17 Icera Inc Overriding production processor authentication restrictions through remote security unit for development code testing
CN102236754B (zh) * 2010-05-07 2014-01-01 扬智科技股份有限公司 数据保密方法以及使用此数据保密方法的电子装置
WO2012003591A1 (en) 2010-07-09 2012-01-12 Research In Motion Limited Microcode-based challenge/response process
EP2405377B1 (de) * 2010-07-09 2017-12-27 BlackBerry Limited Sicherung einer Komponente vor der Herstellung einer Vorrichtung
CA2745975C (en) 2010-07-09 2016-02-23 Research In Motion Limited Utilization of a microcode interpreter built in to a processor
US20120204254A1 (en) * 2011-02-04 2012-08-09 Motorola Mobility, Inc. Method and apparatus for managing security state transitions
JP2014170255A (ja) * 2011-06-29 2014-09-18 Panasonic Corp セキュアブート方法
US8386763B1 (en) * 2012-01-04 2013-02-26 Google Inc. System and method for locking down a capability of a computer system
US9489924B2 (en) 2012-04-19 2016-11-08 Nvidia Corporation Boot display device detection and selection techniques in multi-GPU devices
US9223982B2 (en) * 2013-03-01 2015-12-29 Intel Corporation Continuation of trust for platform boot firmware
CN104182242A (zh) * 2013-05-28 2014-12-03 华为技术有限公司 一种系统启动方法及装置
US9195831B1 (en) * 2014-05-02 2015-11-24 Google Inc. Verified boot
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
JP6656388B2 (ja) * 2016-02-04 2020-03-04 テレフオンアクチーボラゲット エルエム エリクソン(パブル) アクター・マイグレーション
WO2017137256A1 (de) 2016-02-09 2017-08-17 Siemens Aktiengesellschaft Verfahren und ausführungsumgebung zum gesicherten ausführen von programmbefehlen
US11374760B2 (en) * 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
DE102021207628A1 (de) * 2021-07-16 2023-01-19 Siemens Mobility GmbH Rechenanlage und Verfahren zu deren Betrieb

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3316414A1 (de) 1982-05-12 1983-12-22 Bally Manufacturing Corp., 60618 Chicago, Ill. Geraet und verfahren zum sicherstellen der unversertheit eines spielgeraets
JPH01296361A (ja) 1988-05-25 1989-11-29 Mitsubishi Electric Corp メモリカード
US5293610A (en) 1989-08-04 1994-03-08 Motorola, Inc. Memory system having two-level security system for enhanced protection against unauthorized access
US5379342A (en) * 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
US5509120A (en) 1993-11-30 1996-04-16 International Business Machines Corporation Method and system for detecting computer viruses during power on self test
US5643086A (en) 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
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
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
FI105306B (fi) 1997-06-10 2000-07-14 Nokia Networks Oy Radiojärjestelmä
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US6032257A (en) * 1997-08-29 2000-02-29 Compaq Computer Corporation Hardware theft-protection architecture
JPH11169546A (ja) * 1997-12-12 1999-06-29 Sophia Co Ltd 遊技装置の監視システム
JPH11355468A (ja) * 1998-06-12 1999-12-24 Hitachi Ltd ネットワーク端末器、それを用いたネットワークシステムおよびネットワーク接続方法
US6405311B1 (en) * 1998-07-28 2002-06-11 Compaq Computer Corporation Method for storing board revision
US6735696B1 (en) * 1998-08-14 2004-05-11 Intel Corporation Digital content protection using a secure booting method and apparatus
JP2000174527A (ja) * 1998-12-08 2000-06-23 Toshiba Corp 携帯型電子機器
US6470457B1 (en) * 1998-12-14 2002-10-22 International Business Machines Corporation Local permanent storage in network computer
JP2000322253A (ja) * 1999-05-14 2000-11-24 Namco Ltd セキュリティ・システム
US6594761B1 (en) 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding
EP1076279A1 (de) 1999-08-13 2001-02-14 Hewlett-Packard Company Computerplattformen und deren Betriebsverfahren
US7073064B1 (en) * 2000-03-31 2006-07-04 Hewlett-Packard Development Company, L.P. Method and apparatus to provide enhanced computer protection
US6625730B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Development Company, L.P. System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US6584561B1 (en) * 2000-09-19 2003-06-24 Dell Products L.P. System and method to modify CD boot
US7000249B2 (en) * 2001-05-18 2006-02-14 02Micro Pre-boot authentication system
US7409539B2 (en) * 2004-08-06 2008-08-05 International Business Machines Corporation System design and code update strategy to implement a self-healing, self-verifying system
US7516315B2 (en) * 2005-03-18 2009-04-07 Research In Motion Ltd. Electronic device having an alterable configuration and methods of manufacturing and configuring the same
CN100426228C (zh) * 2005-05-20 2008-10-15 鸿富锦精密工业(深圳)有限公司 切换计算机启动顺序的系统及方法
US7987351B2 (en) * 2006-10-06 2011-07-26 Broadcom Corporation Method and system for enhanced boot protection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010047186B4 (de) * 2010-09-30 2021-03-25 Infineon Technologies Ag Verfahren zum Unterstützen einer Bindung eines Chips an ein elektronisches Gerät und Chip bzw. elektronisches Gerät hierfür

Also Published As

Publication number Publication date
KR20040007685A (ko) 2004-01-24
WO2002103495A1 (en) 2002-12-27
FI114416B (fi) 2004-10-15
US7506381B2 (en) 2009-03-17
DE60202605T8 (de) 2006-04-27
JP2004530235A (ja) 2004-09-30
CN1541352A (zh) 2004-10-27
ES2236530T3 (es) 2005-07-16
KR100657532B1 (ko) 2006-12-13
EP1395892B1 (de) 2005-01-12
DE60202605D1 (de) 2005-02-17
CA2450844A1 (en) 2002-12-27
BR0210379A (pt) 2004-08-10
ATE287102T1 (de) 2005-01-15
CN1276319C (zh) 2006-09-20
EP1395892A1 (de) 2004-03-10
US20030014663A1 (en) 2003-01-16
CA2450844C (en) 2012-08-21
JP2007293873A (ja) 2007-11-08
FI20011278A0 (fi) 2001-06-15
FI20011278A (fi) 2002-12-16

Similar Documents

Publication Publication Date Title
DE60202605T2 (de) Verfahren zur sicherung eines elektronischen geräts, sicherheitssystem und elektronisches gerät
DE102006046456B4 (de) Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte
DE60207869T2 (de) Verfahren und system zum verarbeiten von informationen in einem elektronischen gerät
DE60126968T2 (de) System zum schutz von dynamischen und statischen daten gegen unerlaubten manipulationen
DE602004011559T2 (de) Verfahren zur authentifikation von anwendungen
EP2749003B1 (de) Verfahren zur authentisierung eines telekommunikationsendgeräts umfassend ein identitätsmodul an einer servereinrichtung eines telekommunikationsnetzes, verwendung eines identitätsmoduls, identitätsmodul und computerprogramm
DE112019005701T5 (de) Sichere boot-unterstützung für vorrichtungen und zugehörige systeme, verfahren und vorrichtungen
EP2862340B1 (de) Mobilstation mit bindung zwischen endgerät und sicherheitselement
EP2765752B1 (de) Verfahren zum versehen eines mobilen endgeräts mit einem authentisierungszertifikat
DE102015209116A1 (de) Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
DE112011100514T5 (de) Prozessorsicherheit
DE10392528T5 (de) Microcode-Patch-Authentifizierung
DE102014204713A1 (de) Erzeugung von Schlüsseln unter Verwendung sicherer Hardware
EP2567501B1 (de) Verfahren zum kryptographischen schutz einer applikation
DE102015209108A1 (de) Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE112005001666T5 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
WO2012130461A2 (de) Aktualisierung einer datenträgerapplikation
EP3337085B1 (de) Nachladen kryptographischer programminstruktionen
DE102007030622A1 (de) Verfahren und Anwendung zum Verknüpfen zwischen Systemen auf der Grundlage von Hardware-Sicherheits-Einheiten
DE112010004580T5 (de) Sichere Pin-Verwaltung einer für Benutzer vertrauenswürdigen Einheit
WO2015180867A1 (de) Erzeugen eines kryptographischen schlüssels
DE102020206561A1 (de) Vorrichtungen und verfahren zur authentifizierung
WO2007090712A1 (de) Verfahren zum manipulationsschutz eines steuergeräts sowie gegen manipulationen geschütztes steuergerät
DE102022104902A1 (de) Online-sicherheitsdienste auf der grundlage von in speichervorrichtungen implementierten sicherheitsmerkmalen
DE102021126509B4 (de) Tragbare Chipvorrichtung und Verfahren zum Ausführen eines Softwaremodul-Updates in einer tragbaren Chipvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition