-
Die
Erfindung betrifft die Herstellung elektronischer Einrichtungen.
Insbesondere betrifft die Erfindung die Herstellung einer elektronischen
Einrichtung, die einen Datenspeicher zum Speichern von Datenelementen
und einen Schlüsselspeicher
zum Speichern zumindest eines kryptographischen Schlüssels eines
kryptographischen öffentlichen Schlüsselmechanismus
umfasst.
-
Viele
moderne elektronische Einrichtungen, beispielsweise mobile Endgeräte, umfassen
einen Speicher zum Laden von Software und/oder Daten zur Verwendung
mit der elektronischen Einrichtung. Typischerweise liefert ein Hersteller
derartiger elektronischer Einrichtungen die Einrichtung mit oder ohne
irgendeiner vorinstallierten Software und/oder irgendwelchen Daten
an einen Kunden, der die elektronische Einrichtung an seine Wünsche weiter
anpasst, bevor die Einrichtung an einen Endnutzer geliefert wird.
-
Folglich
werden während
der Herstellung der elektronischen Einrichtung in einer Fabrik Software und/oder
Daten in die Einrichtung geladen, beispielsweise eine Testsoftware,
eine vorinstallierte Software, die mit der Einrichtung zu liefern
ist, oder dergleichen. Außerdem
werden nach der Herstellung der elektronischen Einrichtung weitere
Software und/oder Daten durch den Kunden geladen, beispielsweise
eine kundenspezifische Software, um zum Beispiel kundenspezifische
Dienste, etc. bereitzustellen.
-
In
diesem Dokument umfasst der Ausdruck Kunde durchweg eine Organisationseinheit,
die die hergestellte elektronische Einrichtung erhält. Typischerweise
ist ein Kunde ein anderes Unternehmen oder eine andere Firma, die
die elektronische Einrichtung anpasst, sie in ein anderes elektronisches
Gerät einbaut
und/oder sie über
entsprechende Vertriebskanäle
an Endnutzer verkauft. Beispielsweise kann die elektronische Einrichtung
eine Platine sein, die von einem Telefonhersteller in ein Mobiltelefon
eingebaut wird. In diesem Fall ist der Kunde der elektronischen
Einrichtung der Telefonhersteller.
-
Im
Folgenden wird die von der Fabrik an den Kunden gelieferte elektronische
Einrichtung im Gegensatz zu der elektronischen Einrichtung während der
Herstellung in der Fabrik als das Produkt bezeichnet.
-
Die
US 2002/0050528 offenbart für
eine IC-Karte für
mehrere Anwendungen ein Herstellungsverfahren und ein Personalisierungsverfahren, die
ein nachfolgendes selektives Laden/Löschen von Programmen auf bzw.
von der IC-Karte ermöglichen.
-
Das
US-Patent 6,167,521 offenbart ein Verfahren zum Laden von neuem
Code in einen logischen Unterbereich einer Einrichtung, die von
einer Autorität
gesteuert wird. Gemäß diesem
Verfahren des Standes der Technik bereitet die Autorität eine Nachricht
vor, die den neuen Code und gewisse Parameter umfasst, welche die
Anforderungen an die Ausführungsumgebung
spezifizieren, damit der neue Code läuft. Die Autorität sendet
die erzeugte Nachricht an die Einrichtung, die bei Empfang der Nachricht
eine Authentifizierung der Autorität durchführt und verifiziert, ob die
Parameter für
die aktuelle Ausführungsumgebung
gültig
sind. Falls ja, lädt
die Einrichtung den empfangenen neuen Code in den entsprechenden
logischen Unterbereich.
-
Jedoch
berücksichtigt
das vorstehende Verfahren des Standes der Technik nicht das Problem, dass
es aus Sicherheitsgründen
beim Herstellen der elektronischen Einrichtungen wünschenswert
ist, die Herstellung und die nachfolgende kundenspezifische Anpassung
zu trennen. Beispielsweise könnte
der Hersteller einer Platine, die in ein Mobiltelefon eingebaut
wird, das Anliegen haben, die Möglichkeiten
eines Kunden dieser Platine, beispielsweise eines Telefonherstellers,
das Produkt, d. h. die Platine, anzupassen, einzuschränken. Ferner
könnte
ein Kunde das Anliegen haben, dass keine kundenspezifische Produktsoftware,
die der Kunde in die Einrichtung, d. h. die Platine, geladen hat,
anderen Parteien, beispielsweise andere Telefonhersteller, die Kunden
des Herstellers der Platine sind, zur Verfügung steht.
-
Folglich
sollten die zum Laden von Software in der Fabrik verwendeten Werkzeuge
(Tools) nicht mit dem Produkt funktionieren, sobald es die Fabrik verlassen
hat, und umgekehrt sollten die in Verbindung mit dem Produkt außerhalb
der Fabrik verwendeten Werkzeuge nicht während der Herstellung in der
Fabrik verwendet werden.
-
Es
ist bekannt, derartige Ladewerkzeuge durch körperliche Hardwareeinrichtungen,
beispielsweise Hardware-Sperr-Einrichtungen, Chipkarten, Dongels
oder dergleichen, abzusichern. Gemäß derartigen Lösungen des
Standes der Technik lässt
ein Ladewerkzeug einen Betrieb nur zu, falls eine entsprechende
externe Einrichtung an das Ladewerkzeug angeschlossen ist, beispielsweise
falls eine Chipkarte eingesteckt ist oder ein Dongel an einen vorbestimmten
Anschluss des Werkzeuges angeschlossen ist, etc.
-
Jedoch
ist die Verwendung derartiger körperlicher
Einrichtungen mit einer Reihe von Problemen verbunden: die Handhabung
und die Kontrolle derartiger Einrichtungen erzeugt viel Zusatzaufwand,
da sie in die Ladewerkzeuge eingesteckt werden müssen und von diesen entfernt
werden müssen,
an einem sicheren Ort gelagert werden müssen, etc.
-
Außerdem sind
diese Einrichtungen typischerweise klein und können daher leicht verloren gehen
oder sogar gestohlen werden, was so ein Sicherheitsrisiko darstellt.
-
Ferner
weisen moderne elektronische Einrichtungen häufig ziemlich kurze Lebenszyklen
auf. Folglich kann eine beträchtliche
Anzahl unterschiedlicher Versionen von elektronischen Geräten und/oder
der entsprechenden Software und/oder der entsprechenden Ladewerkzeuge
in vielen Fällen
sogar gleichzeitig existieren. Während
die Werkzeuge komplizierter werden, können sie folglich von unterschiedlichen
Versionen der physikalischen Einrichtungen abhängig werden, wodurch die Komplexität einer
Versionsverwaltung und der Pflege der Ladewerkzeuge und der körperlichen
Einrichtungen erhöht
wird.
-
Die
vorstehenden und andere Aufgaben werden gelöst, falls ein Verfahren zum
Herstellen einer elektronischen Einrichtung, die einen Datenspeicher zum
Speichern von Datenelementen und einen Schlüsselspeicher zum Speichern
zumindest eines kryptographischen Schlüssels eines kryptographischen öffentlichen
Schlüsselmechanismus
umfasst,
- – das
Laden eines fabrikseitigen öffentlichen Schlüssels in
den Schlüsselspeicher;
- – das
Laden von fabrikseitiger Software, die mit einem fabrikseitigen
privaten Schlüssel
signiert ist, der mit dem fabrikseitigen öffentlichen Schlüssel korrespondiert,
in den Datenspeicher umfasst und
dadurch gekennzeichnet ist,
dass
das Verfahren ferner
- – das
Laden eines öffentlichen
Produktschlüssels in
den Schlüsselspeicher,
der sich von dem fabrikseitigen öffentlichen
Schlüssel
unterscheidet, zum Verifizieren nachfolgender Datenelemente, die
in den Datenspeicher zu laden sind, nachdem die elektronische Einrichtung
an einen Kunden geliefert wurde, wobei die nachfolgenden Datenelemente
mit einem korrespondierenden privaten Produktschlüssel signiert
sind, und
- – das
Deaktivieren des fabrikseitigen öffentlichen Schlüssels vor
dem Liefern der elektronischen Einrichtung an den Kunden umfasst.
-
Folglich
wird eine Aufteilung zwischen den in der Fabrik verwendeten Werkzeugen
und den mit dem Produkt außerhalb
der Fabrik verwendeten Werkzeugen erreicht, indem ein spezieller
fabrikseitiger kryptographischer Schlüssel und ein kryptographi scher
Produktschlüssel
verwendet werden. Die gesamte in der Fabrik geladene Software ist
mit einem korrespondierenden fabrikseitigen privaten Schlüssel signiert,
und die gesamte in die elektronische Einrichtung außerhalb
der Fabrik geladene Software ist mit einem privaten Produktschlüssel signiert.
Erfindungsgemäß wird der
fabrikseitige öffentliche
Schlüssel
am Ende der Herstellung deaktiviert, wodurch sichergestellt wird,
dass die mit dem fabrikseitigen privaten Schlüssel signierte Fabriksoftware
außerhalb
der Fabrik nicht mehr in das Produkt geladen werden kann. Auf ähnliche
Weise wird jegliche mit dem privaten Produktschlüssel signierte Software während der
Herstellung in der Fabrik zurückgewiesen.
-
Es
ist ein Vorteil der Erfindung, dass die Verwendung von unterschiedlichen
Schlüsseln
für die Herstellung
einer elektronischen Einrichtung und für die resultierende elektronische
Produkteinrichtung sicherstellt, dass die Herstellungssoftware nur
während
der Herstellung geladen werden kann und die Produktsoftware nur
in das fertiggestellte Produkt geladen werden kann. Folglich muss
die bei der Herstellung verwendete signierte Software nicht weiter geschützt werden,
da sie außerhalb
der Fabrik nicht verwendet werden kann, wodurch die Verwaltung und
die Kontrolle der Herstellungssoftware in der Fabrik stark vereinfacht
wird.
-
Es
ist ein weiterer Vorteil der Erfindung, dass keine zusätzlichen
Werkzeuge erforderlich sind, um zwischen sicherheitsrelevanten Ladeschritten
in der Fabrik und außerhalb
der Fabrik zu unterscheiden, wodurch die Kontrolle und die Pflege
der Ladewerkzeuge vereinfacht wird.
-
Es
ist ein weiterer Vorteil der Erfindung, dass sie eine einfache Schlüsselstruktur
bereitstellt, was so vermeidet, dass es erforderlich ist, eine komplizierte
Schlüsselstruktur
in der elektronischen Einrichtung zu pflegen und darin zu speichern.
Das ist insbesondere vorteilhaft, falls die elektronische Einrichtung
begrenzte Speicherressourcen und/oder begrenzte Verarbeitungsressourcen
hat, wie es bei mobilen Endgeräten
und dergleichen der Fall ist.
-
Auf
dem Gebiet der Kryptographie ist die Verwendung von kombinierten öffentlichen
und privaten Schlüsseln
als solches entweder als Kryptographie mit einem öffentlichen
Schlüssel
(public key cryptography) oder asymmetrische Kryptographie bekannt.
Ein System zur Verwendung öffentlicher Schlüssel wird
als öffentliche
Schlüsselinfrastruktur (PKI,
public key infrastructure) bezeichnet. Die grundlegende Beschaffenheit
einer Kryptographie mit einem öffentlichen
Schlüssel
ermöglicht
eine Form des Signierens einer digitalen Nachricht. Ein Sender kann
einen Entschlüsse lungsschlüssel, d.
h. den öffentlichen
Schlüssel,
veröffentlichen
und hält den
entsprechenden Verschlüsselungsschlüssel, d. h.
den privaten Schlüssel,
geheim. Wenn der Sender eine Nachricht oder einen von der Nachricht
stammenden Wert verschlüsselt,
kann ihn jeder unter Verwendung des öffentlichen Entschlüsselungsschlüssels entschlüsseln, und
wenn so verfahren wird, kann der Empfänger sicher sein, dass die
Nachricht nur von dem Sender verschlüsselt worden sein kann, da der
Sender der einzige Besitzer des Verschlüsselungsschlüssels ist.
Folglich hat der Sender die Nachricht im Endeffekt "signiert". Beispiele eines öffentlichen
Schlüsselmechanismus
umfassen das RSA-Verschlüsselungssystem
(siehe beispielsweise Rivest R., Shamir A. und Adleman L., "A method for obtaining
digital signatures and public-key cryptosystems", Communications of the ACM, 21 (1978),
Seiten 120–126),
das EIGamal-Verschlüsselungssystem (siehe
beispielsweise EIGamal T., "A
public key cryptosystem and a signature scheme based on discrete logarithms", IEEE Transactions
on Information Theory, 31 (1985), Seiten 469–472) und Verschlüsselungssysteme
auf der Grundlage elliptischer Kurven (siehe beispielsweise Saeki
M., Elliptic Curve Cryptosystems, M. Sc. Thesis, McGill University
School of Computer Science, 1996).
-
Wenn
die fabrikseitigen Schlüssel
oder die Produktschlüssel
auf eine vorbestimmte Einheit, beispielsweise einen Hersteller,
hinweisen, ist sichergestellt, dass eine Einheit nicht Software/Daten
in eine elektronische Einrichtung laden kann, die für eine andere
Einheit bestimmt ist bzw. sind, beispielsweise eine Einrichtung
eines anderen Herstellers.
-
Wenn
das Verfahren ferner den Schritt des Einstellens einer permanenten
Kennung in der elektronischen Einrichtung umfasst, die auf eine
Fertigstellung eines Herstellungsvorganges hinweist, wird ein Mechanismus
zum sicheren Feststellen, ob eine gegebene Einrichtung ein vorbestimmtes
Stadium des Herstellungsvorganges abgeschlossen hat, bereitgestellt.
Beispielsweise kann das Setzen der permanenten Kennung das Ende
des Herstellungsvorganges in der Fabrik anzeigen. Da die Kennung
permanent gesetzt ist, kann sichergestellt werden, dass die Einrichtung
nicht in den Fabrikvorgang wiedereintritt, sobald sie ihn verlassen
hat. Vorzugsweise kennzeichnet die permanente Kennung den Hersteller,
was dadurch sicherstellt, dass ein Hersteller nicht die Software/Daten
eines anderen Herstellers laden kann, selbst wenn die kryptographischen
Schlüssel modifiziert
wurden.
-
Bei
einer bevorzugten Ausführungsform
umfasst der Schritt des Ladens des fabrikseitigen öffentlichen
Schlüssels
die folgenden Schritte:
- – Detektieren, ob die permanente
Kennung gesetzt ist, und
- – Abbrechen
des Schrittes des Ladens des fabrikseitigen öffentlichen Schlüssels, falls
die permanente Kennung gesetzt ist, andernfalls, Laden des fabrikseitigen öffentlichen
Schlüssels.
-
Folglich
können
die während
des Fabrikvorganges verwendeten Werkzeuge, die jegliche in die Einrichtung
zu ladende Daten mit dem fabrikseitigen privaten Schlüssel signieren,
nur während
des Herstellungsvorganges verwendet werden. Sobald der fabrikseitige öffentliche
Schlüssel
in der Einrichtung deaktiviert ist und die permanente Kennung gesetzt ist,
wird ein erneutes Laden des fabrikseitigen öffentlichen Schlüssels verhindert,
wodurch die Sicherheit des Verfahrens erhöht wird. Folglich ist es ein
Vorteil, dass die permanente Kennung einen Schutz gegen ein Entfernen
von Schlüsseln
aus einem nicht flüchtigen
Speicher der elektronischen Einrichtung bietet.
-
Bei
einer weiteren bevorzugten Ausführungsform
umfasst der Schritt des Ladens des öffentlichen Produktschlüssels die
folgenden Schritte:
- – Detektieren, ob die permanente
Kennung gesetzt ist, und
- – Laden
des öffentlichen
Produktschlüssels,
falls die permanente Kennung gesetzt ist, andernfalls, Abbrechen
des Schrittes des Ladens des öffentlichen
Produktschlüssels.
Folglich kann der öffentliche
Produktschlüssel
nicht vor Abschluss des Herstellungsvorganges geladen werden, was durch
Setzen der permanenten Kennung angezeigt wird, wodurch die Verwendung
von Werkzeugen für
Prozesse nach der Herstellung während
des Herstellvorganges verhindert wird. Durch Erzwingen einer strikten
Trennung zwischen Herstellungswerkzeugen und Werkzeugen für Prozesse
nach der Herstellung wird das Missbrauchsrisiko oder das Risiko
einer fehlerhaften Verwendung der Werkzeuge weiter reduziert.
-
Alternativ
hierzu kann die permanente ID (Kennung) während anderer Stadien des Herstellungsvorganges
geladen werden, beispielsweise als ein Anfangsschritt des Vorganges
vor dem Laden des fabrikseitigen öffentlichen Schlüssels oder
als ein Endschritt nach dem Austauschen des fabrikseitigen öffentlichen
Schlüssels
mit dem öffentlichen
Produktschlüssel
oder als ein Zwischenschritt nach dem Laden des fabrikseitigen öffentlichen
Schlüssels
aber vor dem Laden jeglicher Fabriksoftware oder während eines
anderen geeigneten Stadiums des Herstellungsvorganges.
-
Die
permanente Kennung kann eine beliebige Kennung sein, die in der
Einrichtung gesetzt werden kann und die – mit einem vernünftigen
Aufwand – nicht
geändert
oder gelöscht
werden kann, sobald sie gesetzt ist. Vorzugsweise kennzeichnet die
Kennung die Einrichtung eindeutig. Beispiele einer derartigen permanenten
Kennung umfassen, ohne aber darauf beschränkt zu sein, Schmelzmittel,
die elektrisch, mittels eines Lasers oder dergleichen gebrannt werden,
Ladungsspeicher, gekapselte Permanentkondensatoren, einen einmal
programmierbaren (OPT, one-timeprogrammable) Speicher, etc. oder eine
Kombination hiervon. Bei einer Ausführungsform kann die permanente
Kennung mit dem öffentlichen
Produktschlüssel
zusammenhängen.
Beispielsweise kann der öffentliche
Produktschlüssel
in dem OTP-Speicher
gespeichert sein, der so sowohl als der öffentliche Produktschlüssel als
auch als die permanente Kennung fungiert.
-
Bei
einer bevorzugten Ausführungsform
ist die elektronische Einrichtung ein Mobiltelefon mit einer zugeordneten
internationalen Mobilfunkgerätekennung
(International Mobile Equipment Identity, IMEI), und die permanente
Kennung umfasst die internationale Mobilfunkgerätekennung und eine weitere
in einer einmal programmierbaren Anordnung gespeicherte Kennung.
Folglich wird ein hohes Sicherheitsniveau bereitgestellt, und die
Einrichtung ist eindeutig gekennzeichnet. Außerdem kann der in dem OTP-Speicher
gespeicherte Teil der Kennung eine kleine Größe haben, beispielsweise 64
Bit oder weniger, was dadurch die Kosten für den erforderlichen OTP-Speicher reduziert.
-
Der
Ausdruck internationale Mobilfunkgerätekennung (IMEI) bezeichnet
eine eindeutige Nummer, die jedem Mobiltelefon gegeben wird. Die IMEI-Nummern
der mit einem GSM-Netzwerk verbundenen Mobiltelefone sind in einer
Datenbank (EIR: Equipment Identity Register, Gerätekennungsregister) gespeichert,
die alle gültigen
Mobiltelefongeräte
enthält.
Wenn ein Telefon als gestohlen gemeldet ist oder der Typ nicht freigegeben
ist, wird die Nummer als ungültig
gekennzeichnet. Die Nummer umfasst einen Typzulassungscode (TAC,
Type approval code), einen Ländercode,
einen Baugruppencode, eine Herstellerkennung und eine Seriennummer.
-
Es
ist ein Vorteil der Erfindung, dass der fabrikseitige private Schlüssel nur
dem Hersteller der elektronischen Einrichtung bekannt ist, wodurch
sichergestellt wird, dass andere Hersteller ihre Software nicht
in diese Einrichtungen laden können.
-
Der
Ausdruck elektronische Einrichtung umfasst eine beliebige Einrichtung,
die Verarbeitungsmittel und einen Speicher umfasst. Der Ausdruck Verarbeitungsmittel
umfasst programmierbare Allzweck-Mikroprozessoren oder Spezialzweck-Mikroprozessoren,
digitale Signalprozessoren (DSP), anwendungsspezifische integrierte
Schaltungen (ASIC), programmierbare logische Anordnungen (PLA),
vom Anwender programmierbare Gatteranordnungen (FPGA, Field Programmable
Gate Arrays), elektronische Schaltungen für einen speziellen Zweck, etc.
oder eine Kombination davon.
-
Beispiele
derartiger elektronischer Einrichtungen umfassen Computer, beispielsweise
stationäre
und tragbare PCs, stationäre
und tragbare Funkkommunikationsgeräte, etc. und deren Bestandteile. Der
Ausdruck tragbare Funkkommunikationsgeräte umfasst mobile Funkendgeräte, beispielsweise
Mobiltelefone, Pager, Kommunikationseinrichtungen (Kommunikatoren),
zum Beispiel elektronische Organisationseinrichtungen, intelligente
Telefone (smart phones), persönliche
digitale Assistenten (PDAs) oder dergleichen.
-
Bei
einer bevorzugten Ausführungsform
umfassen der Datenspeicher und der Schlüsselspeicher ausgewählte Blöcke eines
Flash-Speichers. Ein Flash-Speicher (manchmal auch als "Flash-RAM" bezeichnet) ist
ein Typ eines nicht flüchtigen
Speichers, der in als Blöcke
bezeichneten Speichereinheiten gelöscht und wiederprogrammiert
werden kann. Er ist eine Abart eines elektrisch löschbaren, programmierbaren
Festwertspeichers (EEPROM, electrically erasable programmable read-only
memory), der im Gegensatz zu einem Flash-Speicher auf der Byte-Ebene
gelöscht
und wiederbeschrieben wird, was langsamer als ein Aktualisieren
des Flash-Speichers ist. Ein Flash-Speicher wird häufig verwendet,
um Steuercode zu speichern, beispielsweise das grundlegende Eingabe/Ausgabe-System (BIOS,
basic input/output system) in einem Personalcomputer. Wenn es erforderlich
ist, die Daten in einem Flash-Speicher zu ändern (zu überschreiben), kann der Flash-Speicher
blockweise (statt Byte-weise) beschrieben werden, wodurch er einfach
zu aktualisieren ist. Flash-Speicher werden so genannt, weil der
Mikrochip derart organisiert ist, dass ein Abschnitt von Speicherzellen
in einem einzigen Vorgang oder "Flash" bzw. "Blitr" gelöscht wird. Flash-Speicher
werden bei digitalen Mobiltelefonen, Digitalkameras, LAN-Vermittlungseinrichtungen (Switches),
PC-Karten für
tragbare Computer, digitalen multimedialen Zusatzgeräten, systemintegrierten Steuerungseinrichtungen
und anderen elektronischen Einrichtungen weit verbreitet verwendet.
-
Andere
Beispiele eines Datenspeichers und/oder eines Schlüsselspeichers
umfassen ein Magnetband, eine optische Platte, eine digitale Videoplatte
(DVD, digital versatile disc), eine Kompaktplatte (CD oder CD-ROM),
eine Miniplatte (mini-disk), eine Festplatte, ein Diskettenlaufwerk,
einen ferro-elektrischen Speicher, einen elektrisch löschbaren,
programmierbaren Festwertspeicher (EEPROM), EPROM, Festwertspeicher
(ROM, read only memory), einen statischen Speicher mit wahlfreiem Zugriff
(SRAM, static random access memory), einen dynamischen Speicher
mit wahlfreiem Zugriff (DRAM, dynamic random access memory), einen synchronen
dynamischen Speicher mit wahlfreiem Zugriff (SDRAM, synchronous
dynamic random access memory), einen ferromagnetischen Speicher, einen
optischen Speicher, ladungsgekoppelte Einrichtungen, Chipkarten
(smart cards), PCMCIA-Karten, etc.
-
Der
Ausdruck Fabriksoftware umfasst jegliche computerausführbaren
Anweisungen, die in die elektronische Einrichtung während der
Herstellung geladen werden. Die Fabriksoftware kann während der
Herstellung ausgeführt
werden, beispielsweise zum Testen von Hardwarebauteilen, zum Kalibrieren der
Bauteile, zum Beispiel des Funkschaltkreises eines Mobiltelefons,
zum Einstellen von Parametern, für
Kundenanpassungen, etc. Alternativ oder zusätzlich hierzu kann die Fabriksoftware
Anweisungen umfassen, die nach dem Abschluss der Herstellung ausgeführt werden,
zum Beispiel vorinstallierte Betriebssysteme, etc. Folglich kann
die Fabriksoftware permanent oder temporär in die elektronische Einrichtung
geladen werden.
-
Der
fabrikseitige Schlüssel
kann deaktiviert werden, indem der Schlüssel aus dem Speicher entfernt
wird, indem beispielsweise alle entsprechenden Bits auf Null gesetzt
werden, er kann deaktiviert werden, indem er unbrauchbar gemacht
wird, indem beispielsweise ein Bit oder mehrere Bits des gespeicherten
Schlüssels
geändert
werden, oder er kann auf eine beliebige andere Weise deaktiviert
werden, um dadurch seine spätere
Verwendung zum Verifizieren signierter Datenelemente zu verhindern.
Vorzugsweise wird der fabrikseitige öffentliche Schlüssel permanent
deaktiviert, d. h. es wird rechnerisch unmöglich gemacht, den Schlüssel zu
rekonstruieren, wodurch die Sicherheit des Verfahrens erhöht wird. Bei
einer Ausführungsform
werden sowohl der fabrikseitige öffentliche
Schlüssel
als auch der öffentliche
Produktschlüssel
zu Beginn des Fabrikvorgangs gespeichert, und der fabrikseitige öffentliche
Schlüssel
wird am Ende des Fabrikvorgangs deaktiviert, wodurch nur den öffentlichen
Produktschlüssel
aktiviert bleibt.
-
Wenn
später
ein Wiederanpassen einer Einrichtung nach dem Abschluss des Herstellvorganges erforderlich
ist, kann ein Zugang zu einigen oder allen Herstellungswerkzeugen
gewährt
werden. Wenn jedoch der Zugang zu Fabrikwerkzeugen nach dem Abschluss
des Herstellvorganges gewährt
wird, ist es ein generelles Problem, die Sicherheit des Systems aufrecht
zu halten.
-
Dieses
Problem wird gelöst,
wenn das Verfahren ferner den Schritt des Ladens eines Hash-Wertes
eines geheimen Datenelementes in den Schlüsselspeicher umfasst. Anschließend kann ein
Wiederanpassungswerkzeug, das sich vorzugsweise von den Fabrikwerkzeugen
unterscheidet und von diesen getrennt ist, bereitgestellt werden,
wobei das Wiederanpassungswerkzeug das geheime Datenelement kennt.
Folglich kann eine Wiederanpassung der Einrichtung in einer kontrollierten
Umgebung durchgeführt
werden, während
die Sicherheit des Systems und die Unterscheidung zwischen Vorgängen/Werkzeugen
während
der Herstellung und nach der Herstellung aufrecht erhalten wird.
-
Eine
Wiederanpassung kann beispielsweise das Ändern von Spracheinstellungen,
länderspezifischen
Einstellungen und dergleichen umfassen. Folglich kann eine Wiederanpassung
beispielsweise erforderlich sein, wenn der Kunde die Einrichtung, zum
Beispiel als Teil eines anderen elektronischen Gerätes, an
Endnutzer in einem anderen Land, einem anderen Markt, etc. liefern
möchte.
-
Der
Ausdruck Hash-Wert bezeichnet hier eine Einweg-Darstellung des geheimen
Datenelementes, d. h. eine Darstellung, bei der es rechnerisch nicht
machbar ist, das geheime Datenelement aus der Darstellung herzuleiten
und bei der zwei unterschiedliche geheime Datenelemente zwei unterschiedliche
Darstellungen ergeben.
-
Während der
Entwicklung neuer elektronischer Einrichtungen ist es üblich, anfangs
eine Anzahl von Prototypen herzustellen, um es beispielsweise externen
Zulieferern zu ermöglichen,
die Software in Verbindung mit einer neuen Einrichtung zu testen.
In einer derartigen Situation ist es wünschenswert, dass die Prototypen
auch von den Sicherheitsmechanismen des Herstellvorganges umfasst
sind. Jedoch ist es üblicherweise
unerwünscht, dass
die späteren
Produktwerkzeuge, die für
die tatsächlich
freigegebenen Produkte verwendet werden, auch bei den Prototypen
einsetzbar sind.
-
Folglich
umfasst bei einer bevorzugten Ausführungsform der Schritt des
Ladens eines öffentlichen
Produktschlüssels
ferner den Schritt des Ladens eines digitalen Zertifikates, das
den öffentlichen Produktschlüssel umfasst,
wobei dem digitalen Zertifikat ein Gültigkeitszeitraum zugeordnet
ist, der die Gültigkeit
des öffentlichen
Schlüssels
beschränkt, was
dadurch die Gültigkeit
des Prototypschlüssels auf
einen vorbestimmten Gültigkeitszeitraum
beschränkt.
-
Bei
einer weiteren bevorzugten Ausführungsform
umfasst der Schritt des Ladens eines öffentlichen Produktschlüssels ferner
den Schritt des Ladens eines digitalen Zertifikates, das den öffentlichen
Produktschlüssel
umfasst; und das Verfahren umfasst ferner den Schritt des nachfolgend
für ungültig Erklärens des
digitalen Zertifikates durch Senden einer vorbestimmten Nachricht
an das elektronische Gerät.
Es ist folglich ein Vorteil, dass kein Gültigkeitszeitraum definiert
werden muss, wodurch es möglich wird,
Verzögerungen
während
der Entwicklung und des Testprozesses der Prototypen auf einfache
Weise zu berücksichtigen.
Die an die Einrichtung gesendete Nachricht kann beispielsweise eine
Nachricht eines Kurznachrichtendienstes (SMS, short message service)
oder eines anderen Nachrichtendienstes oder ein anderer gesicherter
Hinweis sein, um eine Deaktivierung mittels eines funkgebundenen („over-the-air") Transportmechanismus
zu erreichen.
-
Bei
einer weiteren Ausführungsform
wird der öffentliche
Produktschlüssel
aus einem vorbestimmten Satz von öffentlichen Kundenschlüsseln ausgewählt, wodurch
ein Mechanismus zum Unterscheiden unterschiedlicher Produkte, Produkte
von Prototypen und/oder verschiedener unterschiedlichen Kunden bereitgestellt
wird.
-
Die
vorliegende Erfindung kann auf verschiedene Arten, einschließlich der
zuvor und im Folgenden beschriebenen Verfahren, der im Folgenden
beschriebenen Systeme und weiterer Produkteinrichtungen, implementiert
werden, die je einen oder mehrere Nutzeffekte und einen oder mehrere
Vorteile verwirklichen, die in Verbindung mit dem zuerst erwähnten Verfahren
beschrieben wurden, und die je eine oder mehrere bevorzugte Ausführungsformen
haben, die den bevorzugten Ausführungsformen
entsprechen, die in Verbindung mit dem zuerst erwähnten Verfahren
beschrieben sind und in den abhängigen
Ansprüchen
offenbart sind.
-
Es
ist festzustellen, dass die Merkmale der zuvor und im Folgenden
beschriebenen Verfahren durch Software implementiert werden können und
in einem Datenverarbeitungssystem oder in einer anderen Verarbeitungseinrichtung
aufgrund der Ausführung
der computerausführbaren
Anweisungen durchgeführt
werden können.
Die Anweisungen können Programmcodemittel
sein, die in einen Speicher, beispielsweise ein RAM, von einem Speichermedium oder
von einem anderen Computer über
ein Computernetzwerk geladen werden. Alternativ hierzu können die
beschriebenen Merkmale durch eine fest verdrahtete Schaltung anstelle
von Software oder zusammen mit Software implementiert werden.
-
Die
Erfindung betrifft ferner ein Verfahren zum Laden von Daten in eine
elektronische Einrichtung, die gemäß dem zuvor und im Folgenden
beschriebenen Verfahren hergestellt ist, wobei das Verfahren die
folgenden Schritte umfasst:
- – Detektieren,
ob die permanente Kennung gesetzt ist, und
- – Laden
der Daten, falls die permanente Kennung gesetzt ist, wobei die Daten
mit dem privaten Produktschlüssel
signiert sind, andernfalls, Abbrechen des Ladens der Daten.
-
Die
Erfindung betrifft ferner ein Verfahren zum Wiederanpassen einer
elektronischen Einrichtung, die gemäß dem zuvor und im Folgenden
beschriebenen Verfahren hergestellt ist, wobei das Verfahren die
folgenden Schritte umfasst:
- – Detektieren,
ob die permanente Kennung gesetzt ist,
- – Beziehen
des Hash-Wertes von dem geheimen Datenelement aus dem Schlüsselspeicher,
- – Vergleichen
des bezogenen Hash-Wertes mit einem Referenz-Hash-Wert, der aus
einem geheimen Referenzdatenelement berechnet ist, und
- – Beginnen
des Ladens von Wiederanpassungsdaten, die mit dem privaten Produktschlüssel signiert
sind, in die elektronische Einrichtung, falls die permanente Kennung
gesetzt ist und falls der erhaltene Hash-Wert mit dem berechneten
Referenz-Hash-Wert
korrespondiert, andernfalls, Abbrechen des Wiederanpassens der elektronischen
Einrichtung.
-
Die
Erfindung betrifft ferner ein System zum Herstellen einer elektronischen
Einrichtung, wobei die elektronische Einrichtung einen Datenspeicher zum
Speichern von Datenelementen und einen Schlüsselspeicher zum Speichern
zumindest eines kryptographischen Schlüssels eines kryptographischen öffentlichen
Schlüsselmechanismus
umfasst, wobei das System umfasst:
- – ein erstes
Lademodul zum Laden eines fabrikseitigen öffentlichen Schlüssels in
den Schlüsselspeicher,
- – ein
zweites Lademodul zum Laden von Fabriksoftware, die mit einem fabrikseitigen
privaten Schlüssel
signiert ist, der mit dem fabrikseitigen öffentlichen Schlüssel korrespondiert,
in den Datenspeicher,
- – ein
drittes Lademodul, das dazu ausgelegt ist, in den Schlüsselspeicher
einen öffentlichen
Produktschlüssel
zu laden, der sich von dem fabrikseitigen öffentlichen Schlüssel unterscheidet, um
nachfolgende Datenelemente zu verifizieren, die in den Datenspeicher
zu laden sind, nachdem die elektronische Einrichtung an einen Kunden geliefert
wurde, wobei die nachfolgenden Datenelemente mit einem korrespondierenden
privaten Produktschlüssel
signiert sind, und den fabrikseitigen öffentlichen Schlüssel vor
dem Liefern der elektronischen Einrichtung an den Kunden zu deaktivieren.
-
Der
Ausdruck Lademodul umfasst jede Einrichtung oder Schaltung, die
dazu ausgelegt ist, Daten und/oder Software in die elektronische
Einrichtung zu laden. Die Einrichtung kann einen geeignet programmierten
Prozessor und eine Schnittstelle zum Laden der Daten/Software auf
die elektronische Einrichtung umfassen. Ferner kann das Lademodul als
ein Computerprogramm oder eine Komponente eines Computerprogramms
implementiert sein, das bzw. die dazu ausgelegt ist, auf einem Datenverarbeitungssystem
mit einer Kommunikationsschaltung ausgeführt zu werden, die zum Kommunizieren
mit der elektronischen Einrichtung über eine Datenkommunikationsverbindung
ausgelegt ist.
-
Die
Erfindung betrifft ferner ein System zum Laden von Daten in eine
elektronische Einrichtung, die gemäß dem zuvor und im Folgenden
beschriebenen Verfahren hergestellt ist, wobei das System ein Lademodul
umfasst, das ausgelegt ist zum
- – Detektieren,
ob die permanente Kennung gesetzt ist, und
- – zum
Laden der Daten falls die permanente Kennung gesetzt ist, wobei
die Daten mit dem privaten Produktschlüssel signiert sind, andernfalls, zum
Abbrechen des Ladens der Daten.
-
Die
Erfindung betrifft ferner ein System zum Wiederanpassen einer elektronischen
Einrichtung, die gemäß dem zuvor
und im Folgenden beschriebenen Verfahren hergestellt ist, wobei
das System ein Lademodul umfasst, das ausgebildet ist zum
- – Detektieren,
ob die permanente Kennung gesetzt ist,
- – Beziehen
des Hash-Wertes des geheimen Datenelementes aus dem Schlüsselspeicher,
- – Vergleichen
des erhaltenen Hash-Wertes mit einem Referenz-Hash-Wert, der aus
einem geheimen Referenzdatenelement berechnet ist, und
- – zum
Beginnen des Ladens von Wiederanpassungsdaten, die mit dem privaten
Produktschlüssel
signiert sind, in die elektronische Einrichtung, falls die permanente
Kennung gesetzt ist und falls der bezogene Hash-Wert mit dem berechneten Referenz-Hash-Wert
korrespondiert, andernfalls, zum Abbrechen des Wiederanpassens der
elektronischen Einrichtung.
-
Die
Erfindung betrifft ferner eine elektronische Einrichtung, die gemäß dem zuvor
und im Folgenden beschriebenen Verfahren hergestellt ist.
-
Die
Erfindung betrifft ferner ein Computerprogramm, das Codemittel umfasst,
die dazu ausgelegt sind, die folgenden Schritte in einem Verfahren zum
Herstellen einer elektronischen Einrichtung durchzuführen, die
einen Datenspeicher zum Speichern von Datenelementen und einen Schlüsselspeicher
zum Speichern zumindest eines kryptographischen Schlüssels eines
kryptographischen öffentlichen
Schlüsselmechanismus
umfasst:
- – Laden
eines öffentlichen
Produktschlüssels
in den Schlüsselspeicher
zum Verifizieren nachfolgender Datenelemente, die in den Datenspeicher zu
laden sind, nachdem die elektronische Einrichtung an einen Kunden
geliefert wurde, wobei die nachfolgenden Datenelemente mit einem
korrespondierenden privaten Produktschlüssel signiert sind, wobei sich
der öffentliche
Produktschlüssel von
einem fabrikseitigen öffentlichen
Schlüssel unterscheidet,
der in dem Schlüsselspeicher
gespeichert ist und zum Verifizieren jeglicher Fabriksoftware, die
in den Datenspeicher zu laden ist und mit einem fabrikseitigen privaten
Schlüssel
signiert ist, der mit dem fabrikseitigen öffentlichen Schlüssel korrespondiert,
verwendet wird, und
- – Deaktivieren
des fabrikseitigen öffentlichen Schlüssels vor
dem Liefern der elektronischen Einrichtung an den Kunden.
-
Das
Computerprogramm kann auf einem computerlesbaren Medium, beispielsweise
einem Magnetband, einer optischen Platte, einer digitalen Videoplatte
(DVD, digital versatile disc), einer Kompaktplatte (CD oder CD-ROM),
einer Mini-Platte (mini-disc), einer Festplatte, einer Diskette,
einem ferroelektrischen Speicher, einem elektrisch löschbaren, programmierbaren
Festwertspeicher (EEPROM), einem Flash-Speicher, einem EPROM, einem
Festwertspeicher (ROM), einem statischen Speicher mit wahlfreiem
Zugriff (SRAM), einem dynamischen Speicher mit wahlfreiem Zugriff
(DRAM), einem synchronen dynamischen Speicher mit wahlfreiem Zugriff
(SDRAM), einem ferromagnetischen Speicher, einem optischen Speicher,
ladungsgekoppelten Einrichtungen, Chipkarten, einer PCMCIA-Karte,
etc. verkörpert
sein.
-
Die
Erfindung wird jetzt nachstehend vollständiger in Verbindung mit einer
bevorzugten Ausführungsform
und unter Bezugnahme auf die Zeichnungen erläutert, wobei:
-
1 schematisch
einen Herstellungsvorgang und einen Wiederanpassungsvorgang gemäß einer
Ausführungsform
der Erfindung veranschaulicht;
-
2 ein
Blockdiagramm eines Systems zum Laden von Daten in eine elektronische
Einrichtung zeigt;
-
3 ein
Blockdiagramm eines Beispiels einer elektronischen Einrichtung zeigt;
-
4 ein
Blockdiagramm eines Systems zum Laden von Software und Daten in
eine elektronische Einrichtung und zum Anpassen einer elektronischen
Einrichtung während
des Herstellvorganges zeigt;
-
5a bis 5b Blockdiagramme
von Ausführungsformen
eines Systems zum Wiederanpassen einer elektronischen Einrichtung
zeigen;
-
6 ein
Blockdiagramm eines Systems zur Handhabung von kryptographischen
Schlüsseln
und Zertifikaten zeigt; und
-
7a bis 7d Beispiele
von Herstellungsvorgängen
gemäß entsprechenden
Ausführungsformen
der Erfindung veranschaulichen.
-
1 zeigt
schematisch einen Herstellungsvorgang und einen Wiederanpassungsvorgang
gemäß einer
Ausführungsform
der Erfindung. In einem Anfangsschritt S1 des Herstellungsvorganges
wird eine elektronische Einrichtung 101 bereitgestellt.
Bei dieser Ausführungsform
wird angenommen, dass die elektronische Einrichtung eine bestückte Leiterplatte ist,
d. h., während
der Herstellung eines Produktes für einen Kunden kann der beschriebene
Vorgang typischerweise nach dem Abschluss der Oberflächenmontage
der elektronischen Bauteile auf einer Platine und vor oder während eines
abschließenden
Montageschrittes stattfinden. Die elektronische Einrichtung umfasst
einen Speicher 102, der mehrere Speicherabschnitte 103, 104 und 105 aufweist.
Der Speicher 102 kann einen oder mehrere unterschiedliche Speichertypen
und/oder einen oder mehrere Speichermodule, beispielsweise ein EEPROM,
einen Flash-Speicher, einen auf einem Chip integrierten Speicher,
ein RAM, einen OTP-Speicher,
etc. umfassen. Die Speicherabschnitte 103 und 105 können adressierbare
Bereiche eines Speichers, beispielsweise eines Flash-Speichers,
sein. Bei einer bevorzugten Ausführungsform
ist der Speicherabschnitt 104 ein OTP-Speicher.
-
Während eines
ersten Ladeschrittes wird ein erstes fabrikseitiges Ladewerkzeug 106 verwendet, um
einen fabrikseitigen öffentlichen
Schlüssel
PuKF in einen Speicherabschnitt 105 zu
laden. Das Ladewerkzeug 106 umfasst einen Speicher 107 zum
Speichern des öffentlichen
Schlüssels
PuKF.
-
Vorzugsweise
ist der öffentliche
Schlüssel
einem digitalen Zertifikat des Herstellers zugeordnet. Der Ausdruck
digitales Zertifikat bezieht sich hier auf ein Datenelement, das
dazu dient, die Autorisierung des Senders zu überprüfen. Das Datenelement umfasst
eine Identifikation des Zertifikatinhabers und den öffentlichen
Schlüssel
des Inhabers und vorzugsweise eine digitale Signatur einer Zertifizierungsautorität für eine Authentifizierung.
Die Zertifizierungsautorität
bestätigt,
dass die Kennung des Senders diejenige ist, die dem öffentlichen
Schlüssel in
dem Datenelement zugeordnet ist. In der Technik sind verschiedene
Typen von öffentlichen
Schlüsselzertifikaten
als Teil einer öffentlichen
Schlüsselinfrastruktur
bekannt, die sich mit digital signierten Dokumenten, einer Verschlüsselung
mit einem öffentlichen
Schlüssel,
vertauenswürdigen
dritten Parteien und Mechanismen für eine Veröffentlichung und Ausgabe eines
Zertifikates beschäftigt,
siehe beispielsweise den X509-Standard (ITU-T Empfehlung X.509 (1997), "Information Technology – Open Systems
Interconnection – The
Directory: Authentication Framework"). Folglich wird im Folgenden der öffentliche Schlüssel PuKF auch als das fabrikseitiges Zertifikat bezeichnet.
-
Vorzugsweise
versucht das Ladewerkzeug 106 vor dem Laden des fabrikseitigen
Zertifikates, ein gültiges
fabrikseitiges Zertifikat oder ein korrespondierendes Kundenzertifikat,
das nachstehend beschrieben wird, aus dem Speicherabschnitt 105 und eine
vorbestimmte Produkt-ID aus dem OTP-Speicherabschnitt 104 zu
lesen. Falls kein gültiges
Zertifikat aus dem Speicherabschnitt 105 und keine Produkt-ID
aus dem OTP-Abschnitt 104 gelesen werden können, lädt das Ladewerkzeug
den öffentlichen Schlüssel PuKF, wodurch sichergestellt wird, dass die elektronische
Einrichtung zuvor nicht dem Fabrikvorgang unterzogen wurde.
-
Das
Ladewerkzeug 106 kann ferner für andere Einstellungen, beispielsweise
das Herunterladen von Kalibrierungsdaten, das Einstellen von sicheren
Datenbereichen durch Berechnen eines kryptographischen Hash-Wertes über den
Bereich oder dergleichen, verwendet werden.
-
Sobald
das fabrikseitige Zertifikat erfolgreich geladen ist, tritt die
elektronische Einrichtung 101 in den sicheren Fabrikherstellungsvorgang 125 ein.
-
Es
ist festzustellen, dass der Schritt des Ladens des fabrikseitigen
Zertifikates in einem Vor-Flash-Schritt vor dem Anbringen des Flash-Speichers
auf der Hauptplatine der elektronischen Einrichtung durchgeführt werden
kann.
-
Während des
Schrittes S2 des sicheren Fabrikvorgangs 125 wird die elektronische
Einrichtung 101 getestet, und falls es erforderlich ist,
abgestimmt, kalibriert oder dergleichen. Beispielsweise kann es während der
Herstellung eines Mobiltelefons erforderlich sein, die Funkkomponenten
abzustimmen und zu kalibrieren, und es kann erforderlich sein, die montierten
elektronischen Bauteile zu testen, etc. Zu die sem Zweck wird eine
Fabriksoftware zum Testen, Kalibrieren, etc. in den Speicher 102 der
elektronischen Einrichtung 101 geladen. Das fabrikseitige
Ladewerkzeug 108 zum Laden der Fabriksoftware umfasst einen
Speicher 109 und 110 zum Speichern der Fabriksoftware
bzw. eines fabrikseitigen privaten Schlüssels PrKF.
Der fabrikseitige private Schlüssel PrKF korrespondiert mit dem fabrikseitigen öffentlichen
Schlüssel
PuKF und wird von der Ladeeinrichtung 108 verwendet,
um die Fabriksoftware vor dem Laden der Fabriksoftware in die elektronische
Einrichtung 101 zu signieren.
-
Bevor
das Ladewerkzeug 108 die signierte Fabriksoftware in die
elektronische Einrichtung 101 lädt, versucht das Werkzeug 108 eine
vorbestimmte Produkt-ID aus dem OTP-Abschnitt 104 der elektronischen
Einrichtung zu lesen. Falls keine Produkt-ID aus dem OTP-Abschnitt 104 gelesen
werden kann, lädt
das Ladewerkzeug 108 die Fabriksoftware, wodurch sichergestellt
wird, dass die elektronische Einrichtung zuvor nicht dem Herstellungsvorgang
unterzogen wurde. Ferner wird die Fabriksoftware nur zum Laden in
die elektronische Einrichtung und zum Ausführen durch die elektronische
Einrichtung akzeptiert, falls die elektronische Einrichtung erfolgreich
die erhaltene Software unter Verwendung des fabrikseitigen Zertifikates
PuKF verifiziert. Zusätzlich oder alternativ hierzu
können
in diesem Stadium eine andere Software und/oder andere Daten in
die elektronische Einrichtung geladen werden, beispielsweise ein
Betriebssystem und/oder eine Anwendungssoftware zur Verwendung mit
dem Endprodukt. Das Laden dieser anderen Software und/oder Daten
wird, wie zuvor beschrieben, von dem Ladewerkzeug 108 oder
einem separaten Ladewerkzeug (nicht gezeigt) durchgeführt, wo
die zu ladende Software und/oder Daten mit dem fabrikseitigen privaten
Schlüssel
PrKF signiert werden.
-
Nach
dem erfolgreichen Test der elektronischen Bauteile, dem Laden der
Anwendungssoftware oder dergleichen wird während des Schrittes S3 die
elektronische Einrichtung an Kundenwünsche angepasst, d. h., ihr
wird eine spezielle "Identität" gegeben. Beispielsweise
kann dieser Schritt des Anpassens an Kundenwünsche nach der körperlichen
Endmontage der elektronischen Einrichtung durchgeführt werden.
Während
dieses Schrittes werden die Softwareanpassungen an Kundenwünsche durchgeführt, wie
das Laden einer kundenspezifischen Software, Länderanpassungen, etc. Ferner
kann im Zusammenhang mit mobilen Endgeräten eine Anzahl von bekannten
Codes geladen werden, wie ein Code, um das Telefon für andere
SIM-Karten zu entsperren
(SIMunlock-Code), und die IMEI, ein Kundencode, etc. Ein Werkzeug 111 zum
Anpassen an Kundenwünsche
führt die
obige Anpassung an Kundenwünsche durch,
beispielsweise durch Laden einer Software und/oder von Daten, beispielsweise
Codes, und/oder durch Durchführen
anderer Einstellungen in der elektronischen Einrichtung. Erfindungsgemäß signiert
die Ladeeinrichtung für
eine kundenspezifische Anpassung jegliche Daten oder Software, die
in die elektronische Einrichtung zu laden sind, mit einem fabrikseitigen
privaten Schlüssel
PrKF, der in einem Abschnitt 117 des
Speichers des Werkzeuges für
eine kundenspezifische Anpassung gespeichert ist. Ferner verifiziert
das Werkzeug 111 für
eine kundenspezifische Anpassung vor dem Durchführen der vorstehenden kundenspezifischen
Anpassungen, dass keine ID in dem OTP-Speicherabschnitt 104 der
elektronischen Einrichtung gesetzt ist. Folglich erfordert, wie
in Zusammenhang mit dem vorangegangenen Schritt S2 beschrieben wurde,
eine kundenspezifische Anpassung durch das Werkzeug 111 für eine kundenspezifische
Anpassung, dass ein gültiges
fabrikseitiges Zertifikat in dem Speicherabschnitt 105 der
elektronischen Einrichtung gespeichert ist und dass keine ID in
dem OTP-Abschnitt 104 gesetzt ist. Bei einer bevorzugten
Ausführungsform
der elektronischen Einrichtung ist ihr eine IMEI zugeordnet, und
die permanente ID ist eine Kombination der IMEI und einer Produkt-ID,
die in dem OTP-Speicher
gespeichert ist. Da eine IMEI etwa 15 Zeichen aufweisen kann, stellt eine
Kombination aus der IMEI mit einer kurzen OTP-Produkt-ID, zum Beispiel
eine ID mit 16 Bit, eine eindeutige Identifizierung der Einrichtung
bereit und ist gleichzeitig gegen ein Entfernen geschützt. Da
nur die Produkt-ID in dem OTP-Speicher gespeichert ist, ist außerdem der
Bedarf an OTP-Speicher dieser Ausführungsform gering.
-
Ferner
wird während
des kundenspezifischen Anpassungsschrittes S3 eine nicht entfernbare
ID 112 in dem OTP-Speicherabschnitt 104 der elektronischen
Einrichtung gesetzt. Das Laden der ID zeigt den Abschluss des sicheren
Herstellungsvorganges an. Da alle zuvor erwähnten Ladeeinrichtungen 106, 108 und 111 erfordern,
dass keine ID in dem OTP-Abschnitt 104 gesetzt ist, ist
sichergestellt, dass die vorstehenden Fabrikwerkzeuge nicht bei
einer Einrichtung angewendet werden können, die den Herstellungsvorgang
durchlaufen hat.
-
Am
Ende des Herstellungsvorganges in der Fabrik wird ein endgültiger Ladeschritt
S4 von einem Ladewerkzeug 114 ausgeführt. Das Ladewerkzeug 114 verifiziert,
dass eine gültige
ID in dem OTP-Abschnitt 104 gesetzt ist, wodurch sichergestellt
wird, dass die elektronische Einrichtung den Herstellungsvorgang
abgeschlossen hat. Die Ladeeinrichtung 114 lädt einen
Hash-Wert eines geheimen Wertes S in einen Speicherabschnitt 103 der
elektronischen Einrichtung. Vorzugsweise beträgt die Größe des Hash-Wertes zumindest
64 Bit, um eine geeignete Sicherheit sicherzustellen. Bei aktuellen
Entschlüsselungswerkzeugen
und denen eines nicht weit entfernten Standes der Technik können 128
Bit verwendet werden. Der Hash-Wert ermöglicht eine nachfolgende sichere
Wiederanpassung der elektronischen Einrichtung, ohne dass in den
vorstehenden sicheren Herstellungsvorgang wiedereingetreten werden muss.
Das Ladewerkzeug kann einen geheimen Wert S aus einem Speicherabschnitt 116 des
Ladewerkzeuges 114 beziehen und den entsprechenden Hash-Wert
berechnen. Alternativ hierzu kann das Ladewerkzeug 114 den
geheimen Wert oder den berechneten Hash-Wert von einem anderen Computer beziehen.
Vorzugsweise ist der Hash-Wert
mit dem fabrikseitigen privaten Schlüssel PrKF signiert. Schließlich lädt die Ladeeinrichtung 114 einen öffentlichen
Produktschlüssel
PuKP in den Speicherabschnitt 105 der
elektronischen Einrichtung, wodurch das frühere fabrikseitige Zertifikat
PuKF deaktiviert wird. Alternativ hierzu
kann der öffentliche
Produktschlüssel
in einen anderen Speicherabschnitt geladen werden und das fabrikseitige
Zertifikat kann deaktiviert werden, indem beispielsweise alle oder eine
vorbestimmte Untergruppe seiner Bits auf Null gesetzt werden.
-
Folglich
umfasst die elektronische Einrichtung nach dem Abschluss des Herstellungsvorganges
in ihrem Speicher 102 eine Anwendungssoftware, eine nicht
entfernbare ID in dem OTP-Abschnitt 104, einen Hash-Wert
H(S) eines geheimen Wertes und einen öffentlichen Produktschlüssel PuKP.
-
In
diesem Stadium können
im Schritt S5 unter Verwendung eines Produktladewerkzeuges 118 mit
einem gespeicherten privaten Produktschlüssel PrKP 120,
der mit dem öffentlichen
Produktschlüssel PuKP korrespondiert, zusätzliche Software und/oder Daten 119 in
die elektronische Einrichtung geladen werden. Folglich werden die
autorisierte Software/autorisierten Daten, die mit dem privaten
Produktschlüssel
PrKP signiert sind, von der elektronischen Einrichtung
akzeptiert. Jedoch werden in diesem Stadium jegliche Software/Daten,
die mit dem fabrikseitigen privaten Schlüssel PrKF signiert
sind, von der elektronischen Einrichtung zurückgewiesen. Folglich wird eine
strikte Trennung des Herstellungsvorganges 125 und der
Prozesse nach dem Herstellungsvorgang 126 durchgesetzt,
wodurch sichergestellt wird, dass die Fabriksoftware oder die Anwendungssoftware
nicht von einer nicht autorisierten Einheit in eine elektronische
Einrichtung geladen wird.
-
Jedoch
kann es erforderlich sein, einige der während des Herstellungsvorganges
durchgeführte Einstellungen
wiederanzupassen oder andere Arten von Nacharbeit, beispielsweise
das erneute Laden einer Kalibiersoftware oder dergleichen, durchzuführen. Bei
dem zuvor beschriebenen Mechanismus kann der fabrikseitige öffentliche
Schlüssel
PuKF nicht erneut geladen werden, da die
Ladeeinrichtung 106 fordert, dass keine OTP-ID in dem Speicherabschnitt 104 der
elektronischen Einrichtung gesetzt ist. Außerdem würde das Zulassen eines derartigen
erneuten Ladens des fabrikseitigen öffentlichen Schlüssels das
Risiko eines Missbrauches mit sich bringen.
-
Erfindungsgemäß kann eine
Wiederanpassung unter Verwendung eines speziellen Wiederanpassungswerkzeuges 121 durchgeführt werden,
das einen Zugang zu dem geheimen Schlüssel S 122 und dem
privaten Produktschlüssel
PrKP 123 hat. Das Wiederanpassungswerkzeug
verifiziert, dass eine gültige
ID in dem OTP-Abschnitt 104 gesetzt ist. Außerdem erfordert
die Wiederanpassung, dass ein Hash-Wert, der von dem geheimen Wert
S in dem Ladewerkzeug berechnet wurde, mit dem in der elektronischen
Einrichtung gespeicherten Hash-Wert H(S) korrespondiert. Dies kann
von dem Anpassungswerkzeug oder der elektronischen Einrichtung verifiziert
werden. Schließlich
werden jegliche Daten/Software, die während der Wiederanpassung an
die elektronische Einrichtung gesendet werden, mit dem privaten
Produktschlüssel
PrKP signiert, wodurch ein sicherer Wiederanpassungsvorgang
bereitgestellt wird, der einen Wiedereintritt in den sicheren Fabrikvorgang 125 vermeidet,
was dadurch eine strikte Trennung zwischen dem Herstellungsvorgang
und den Prozessen nach dem Herstellungsvorgang erzwingt.
-
Die
vorstehenden öffentlichen
und privaten Schlüssel
können
Schlüssel
eines geeigneten öffentlichen
Schlüsselmechanismus
sein, beispielsweise RSA oder Verschlüsselung mittels elliptischer
Kurven (ECC). Die Mechanismen für
den fabrikseitigen Schlüssel
und den privaten Schlüssel
können
die gleichen oder unterschiedliche Mechanismen sein.
-
Es
versteht sich außerdem,
dass die in die elektronische Einrichtung geladenen Daten/geladene Software
von entsprechenden Ladewerkzeugen und Anpassungswerkzeugen 108, 111, 114, 118 oder 121 signiert
werden kann, oder sie kann von einem entfernten Computer signiert
werden, und die signierten Daten/signierte Software können an
das entsprechende Ladewerkzeug oder Anpassungswerkzeug gesendet
werden, das dann das tatsächliche
Laden durchführt.
-
Es
versteht sich, dass die Software und/oder die Daten komprimiert
werden können,
bevor sie in elektronische Einrichtung geladen werden, um die Ladezeit
zu reduzieren. Es versteht sich außerdem, dass die Software und/oder
die Daten unter Verwendung eines geeigneten Verschlüsselungsmechanismus
mit einem privaten oder öffentlichen
Schlüssel verschlüsselt werden
können,
was dadurch weiter die Sicherheit des Herstellvorganges erhöht.
-
Die
Lade- und Anpassungswerkzeuge können
spezielle Hardwareeinrichtungen oder Schaltungen sein, oder sie
können
als Computerprogramme implementiert werden, die auf einem Datenverarbeitungssystem,
beispielsweise einem Standard-PC, ausgeführt werden, oder sie können als
eine Kombination davon implementiert werden. Folglich werden in
diesem Dokument die Ausdrücke
Ladestation und Ladewerkzeug austauschbar verwendet. Außerdem können die
kryptographischen Schlüssel
der Lade- und Anpassungswerkzeuge auf einem entsprechenden entfernbaren
Medium, beispielsweise einer CD-ROM, einer Chipkarte, etc. gespeichert
werden. Beispielsweise können
die Schlüssel
und die kryptographische Signiersoftware auf einer Chipkarte implementiert
werden, die entnehmbar in das Ladewerkzeug eingeführt werden
kann.
-
Es
versteht sich, dass mehrere Modifikationen des vorstehenden Vorganges
innerhalb des Bereiches der Erfindung möglich sind. Beispielsweise können einige
der vorstehenden Werkzeuge zu einem einzigen Werkzeug kombiniert
werden oder die Aufteilung der Funktionen der Werkzeuge kann zwischen
den verschiedenen Werkzeugen auf eine unterschiedliche Weise aufgeteilt
werden. Beispielsweise können
die Werkzeuge 108 und 111 zu einem Werkzeug kombiniert
werden oder die Werkzeuge 111 und 114 können zu
einem einzigen Werkzeug kombiniert werden. Außerdem können einige der Ladeschritte
in einer anderen Reihenfolge ausgeführt werden. Beispielsweise
kann der Hash-Wert H(S) während
eines vorangegangenen Ladeschrittes, beispielsweise von dem Anpassungswerkzeug 111,
geladen werden.
-
2 zeigt
ein Blockdiagramm eines Systems zum Laden von Daten in eine elektronische
Einrichtung. Das System umfasst eine Ladestation 201 und
eine elektronische Einrichtung 205. Die Ladestation umfasst
ein Speichermedium 204 zum Speichern der Nutzdaten, die
in die elektronische Einrichtung zu laden sind, oder anderer Daten
zur Verwendung bei der Verarbeitung der Nutzdaten, beispielsweise
kryptographische Schlüssel,
Adressinformationen, etc. Die Ladestation umfasst ferner eine Verarbeitungseinheit 203,
die beispielsweise durch eine von dem Speichermedium 204 geladene
Software daran angepasst ist, die Nutzdaten zu verarbeiten, beispielsweise
die Nutzdaten zu komprimieren und/oder zu verschlüsseln und/oder
in kleinere Segmente zu teilen, Kopfdaten zu erzeugen, etc. Außerdem ist
die Verarbeitungseinheit dazu ausgelegt, die Übertragung der Daten an die
mobile Station 205 zu steuern. Die Verarbeitungseinheit 203 kann
einen programmierbaren Allzweck- oder Spezialzweck-Mikroprozessor,
einen digitalen Signalprozessor (DSP), eine anwendungsspezifische
integrierte Schaltung (ASIC), eine programmierbare Logikanordnung (PLA)
oder eine vom Anwender programmierbare Gatteranordnung (FPGA) etc.
oder eine Kombination davon umfassen. Die Ladestation umfasst ferner eine
Kommunikationseinheit 202, die eine Schaltung und/oder
Einrichtungen umfasst, die dazu geeignet ist bzw. sind, es der Ladestation
zu ermöglichen,
Daten mit der elektronischen Einrichtung über eine drahtgebundene oder
drahtlose Kommunikationsverbindung 209, beispielsweise
eine direkte Datenverbindung, ein Kommunikationsnetzwerk oder dergleichen,
auszutauschen. Beispiele derartiger Kommunikationseinheiten umfassen
eine Netzwerkschnittstelle, eine Netzwerkkarte, einen Funksender/Funkempfänger, einen
Bluetooth-Transceiver, einen seriellen Anschluss, einen parallelen
Anschluss, einen Infrarotanschluss, einen IrDa-Anschluss, ein Kabelmodem, ein
Telefonmodem, einen Adapter für
ein dienstintegriertes Netzwerk (ISDN), einen Adapter für eine digitale
Teilnehmerleitung (DSL), einen Satellitentransceiver, einen Ethernet-Adapter
oder dergleichen. Demgemäß kann die
Kommunikationsverbindung 209 eine drahtlose Kommunikationsverbindung
mit kurzer Reichweite unter Verwendung von elektromagnetischen Wellen
sein. Beispiele derartiger Kommunikationsverbindungen umfassen eine
Bluetooth-Verbindung oder eine andere Verbindung, die auf Funkfrequenzen,
Infrarot, Mikrowellen oder dergleichen basiert. Die Kommunikationsverbindung
kann ferner eine drahtgebundene Verbindung sein, beispielsweise
eine serielle Verbindung und eine USB-Verbindung oder dergleichen.
Bei noch einer weiteren Ausführungsform
kann die Verbindung über
ein Kommunikationsnetzwerk, beispielsweise ein lokales Netzwerk,
ein zellulares Netzwerk, das Internet oder dergleichen aufgebaut
werden. Die Ladestation 201 umfasst ferner eine Schnittstelle 210,
die eine Schaltung und/oder Einrichtungen umfasst, die dazu geeignet ist
bzw. sind, es der Ladestation zu ermöglichen, Daten mit einem anderen
Datenverarbeitungssystem auszutauschen. Beispiele derartiger Schnittstellen umfassen
die zuvor im Zusammenhang mit der Kommunikationseinheit 202 erwähnten Beispiele.
Weitere Beispiele umfassen ein Diskettenlaufwerk, ein CD-Laufwerk
oder dergleichen oder jegliche andere geeignete Schaltung oder Einrichtung,
die es der Ladestation ermöglicht,
Nutzdaten, die in die Ladestation zu laden sind, Ladewerkzeuge oder
eine andere Software, die von der Ladestation auszuführen ist, kryptographische
Daten, etc. zu erhalten. Diese Daten und Software können über ein
Kommunikationsnetzwerk, beispielsweise das Internet, oder ein Sprechermedium,
beispielsweise eine CD, eine Diskette, eine Speicherkarte oder dergleichen,
erhalten werden. Die Daten können
von einem oder mehreren Servern, wie nachstehend beschrieben ist,
erhalten werden. Die erhaltenen Daten oder die erhaltene Software
werden bzw. wird auf dem Speichermedium 204 möglicherweise
nach einem Verifikationsvorgang und/oder nach einer Weiterverarbeitung
gespeichert. Die Ladestation kann ein herkömmlicher, geeignet programmierter
Computer, beispielsweise ein PC, mit einer geeigneten Kommunikationsschnittstelle,
sein.
-
Die
elektronische Einrichtung 205 umfasst eine entsprechende
Kommunikationseinheit 206, die eine Schaltung und/oder
Einrichtungen umfasst, die dazu geeignet sind, es der elektronischen
Einrichtung zu ermöglichen,
Daten mit der Ladestation zu kommunizieren. Die elektronische Einrichtung
umfasst ferner eine Verarbeitungseinheit 207, z. B. einen
programmierbaren Allzweck- oder Spezialzweck-Mikroprozessor, einen
digitalen Signalprozessor (DSP), eine anwendungsspezifische integrierte
Schaltung (ASIC), eine programmierbare Logikanordnung (PLA), eine
vom Anwender programmierbare Gatteranordnung (FPGA), etc. oder eine
Kombination davon. Die Verarbeitungseinheit 207 ist beispielsweise
durch eine von dem Speichermedium 208 der elektronischen
Einrichtung geladene Software dazu ausgelegt, Daten von der Ladestation
zu erhalten, jegliche Kopfinformation zu analysieren und zu verifizieren
und die tatsächlichen
Nuzadaten in das Speichermedium 108 zu laden. Falls es
passend ist, ist die Verarbeitungseinheit 107 ferner dazu
ausgelegt, die Nutzdaten zu verarbeiten, um sie beispielsweise zu
dekomprimieren oder entschlüsseln.
-
3 zeigt
ein Blockdiagramm eines Beispiels einer elektronischen Einrichtung.
Die elektronische Einrichtung 205 umfasst, wie zuvor beschrieben,
eine Verarbeitungseinheit 207 zum Steuern der Funktionen
der elektronischen Einrichtung. Die elektronische Einrichtung umfasst
ferner eine Funkschnittstelle 305 mit einer Antenne 306 zum
Senden und Empfangen von Daten an bzw. von einem drahtlosen Kommunikationsnetzwerk,
zum Beispiel einem zellularen Netzwerk. Die elektronische Einrichtung umfasst
ferner eine Nutzerschnittstelle 304, z. B. eine Anzeigeeinrichtung,
beispielsweise einen LCD-Bildschirm oder dergleichen, eine Tastatur
oder eine andere Eingabeeinrichtung, beispielsweise einen berührungssensitiven
Bildschirm oder dergleichen. Die Nutzerschnittstelle kann während des
Ladevorganges verwendet werden, falls das Laden mit einer interaktiven
Authentifizierungsprozedur/Zulassungsprozedur verbunden ist, die
eine Eingabe von dem Nutzer erfordert, beispielsweise das Eingeben
eines Passwortes, einer PIN (persönliche Identifikationsnummer)
oder dergleichen. Die elektronische Einrichtung kann ferner ein
Teilnehmeridentitätsmodul (SIM,
subscriber identity module) 307 mit einem Speicher zum
Speichern der Identitätsinformation des
Teilnehmers, einer Telefonnummer oder anderer Daten, die eine Teilnahme
des Nutzers bei einem Mobilfunknetzwerkbetreiber betreffen, umfassen.
Die elektronische Einrichtung umfasst ferner ein Speichermedium 208,
das einen RAM-Abschnitt 303,
einen ROM-Abschnitt 302 und einen Abschnitt 301 mit einem
Flash-Speicher umfassen
kann. Die von der elektronischen Einrichtung erhaltenen Nutzdaten können in
den Flash-Abschnitt und/oder den RAM-Abschnitt des Speichers geladen
werden. Alternativ oder zusätzlich
hierzu kann das Speichermedium der elektronischen Einrichtung andere
Speichertypen umfassen, beispielsweise EPROM, EEPROM oder dergleichen
oder andere Typen von Speichermedien, beispielsweise eine optische
Platte, eine digitale Videoplatte (DVD, digital versatile disc), eine
Kompaktplatte (CD oder CD-ROM), eine Miniplatte, eine Festplatte,
einen ferromagnetischen Speicher, einen optischen Speicher, ladungsgekoppelte
Einrichtungen, PCMCIA-Karten, etc. Demgemäß können die erhaltenen Daten in
einen beliebigen der alternativen Speichertypen und/oder ein beliebiges
der alternativen Speichermedien geladen werden. Bei einer Ausführungsform
der Erfindung können
die von der Ladestation erhaltenen Daten in den Speicher der SIM 307 gespeichert
werden. Schließlich
umfasst die elektronische Einrichtung, wie zuvor beschrieben, eine
Kommunikationseinheit 206, z. B. einen Bluetooth-Transceiver,
einen IrDa-Anschluss, einen USB-Adapter, einen Kabelanschluss oder
dergleichen. Alternativ hierzu kann die Funkschnittstelle 305 dazu
verwendet werden, Daten über
die Luft über
ein zellulares Netrwerk zu empfangen. Beispielsweise kann die elektronische
Einrichtung ein beliebiges tragbares Funkkommunikationsgerät sein, wobei
der Ausdruck tragbares Funkkommunikationsgerät jegliche Geräte, beispielsweise
Mobiltelefone, Pager, Kommunikationsgeräte (Kommunikatoren), d. h.
elektronische Organisationseinrichtungen, intelligente Telefone,
persönliche
digitale Assistenten (PDAs), in der Hand zu haltende Computer oder
dergleichen, umfasst.
-
4 zeigt
ein Blockdiagramm eines Systems zum Laden von Software und Daten
in eine elektronische Einrichtung und zum Anpassen einer elektronischen
Einrichtung während
des Herstellvorganges. Das System umfasst einen Sicherheitsserver 401,
eine fabrikseitige Ladestation 402 und eine elektronische
Einrichtung 205. Der Sicherheitsserver 401 kann
ein Personalcomputer, eine Arbeitsstation, ein Netzwerkserver, ein
Webserver etc. sein. Der Sicherheitsserver ist mit einem Computernetzwerk 403,
beispielsweise dem Internet, einem lokalen Netrwerk, einem Intranet,
einem Extranet, etc., verbunden. Die Ladestation 402 ist
ein Computer mit einem Zugang zu dem Computernetzwerk 403,
der dazu ausgelegt ist, ein Computerprogramm zum Laden von Software/Daten
auf die elektronische Einrichtung 205, wie beispielsweise
in Verbindung mit 2 beschrieben ist, auszuführen.
-
Der
Sicherheitsserver 401 ist dazu ausgelegt, Computerprogramme
und entsprechende Aktualisierungen über das Computernetzwerk 403 an
die Ladestation 402 und auf ähnliche Weise an andere Ladestationen
(nicht gezeigt) zu verteilen, d. h. Computerprogramme, die auf den
entsprechenden Ladestationen zum Anpassen und Laden von Software/Daten
in der elektronischen Einrichtung 205 bzw. in die elektronische
Einrichtung 205 und in entsprechende(n) andere(n) elektronischen
Einrich tungen (nicht gezeigt) laufen. Der Sicherheitsserver 401 verteilt
ferner die Computerprogramme und Daten, die durch die Ladestationen
in die elektronischen Einrichtungen herunterzuladen sind, und der
Sicherheitsserver kann ferner zusätzliche Dienste, beispielsweise
Nachrichten, Information, kundenspezifische Dienste, etc. bereitstellen.
Alternativ oder zusätzlich
hierzu kann der Sicherheitsserver Computerprogramme, Daten etc. über eine
andere geeignete Einrichtung, z. B. auf einem computerlesbaren Medium,
beispielsweise einer Diskette, einer CD-ROM, etc., verteilen. Jedoch
vereinfacht eine Verbindung über
ein Computernetzwerk die Implementierung eines automatischen Aktualisierungsmechanismus,
eines Versionskontrollmechanismus, etc.
-
Die
Ladestation 402 ist dazu ausgelegt, Sicherheitsdienste
bezüglich
der Anpassung der elektronische Einrichtung 205 und des
Ladens von Software/Daten in die Einrichtung 205 bereitrustellen.
Die Sicherheitsfunktionen können
das Erzeugen von Signaturen, wie zuvor beschrieben, basierend auf
dem fabrikseitigen privaten Schlüssel
und das Erzeugen der permanenten Kennung, wie zuvor beschrieben, beispielsweise
in Verbindung mit einer IMEI, umfassen. Weitere Beispiele derartiger
Sicherheitsdienste umfassen Sicherheitsfunktionen in Verbindung
mit der Kommunikation zwischen der Ladestation und der elektronischen
Einrichtung, beispielsweise das Berechnen von Prüfsummen, kryptographische Funktionen,
Komprimierung, etc. Bei einer Ausführungsform, bei der die elektronische
Einrichtung ein mobiles Endgerät
umfasst, können
die Sicherheitsfunktionen ferner das Erzeugen und die Verschlüsselung
von SIM-Verriegelungscodes (SIMlock-Codes) oder dergleichen umfassen.
Die Ladestation stellt ferner eine Funktionalität zum Anpassen der in die elektronische
Einrichtung zu ladenden Software bereit, indem beispielsweise Sprachdateien,
kundenspezifische Software, Spiele, etc. bereitgestellt werden.
-
5a–5b zeigen
Blockdiagramme von Ausführungsformen
eines Systems zum Wiederanpassen einer elektronischen Einrichtung.
Wie zuvor in Verbindung mit 1 beschrieben
wurde, funktionieren die Fabrikwerkzeuge nicht mehr, sobald die elektronische
Einrichtung den Herstellungsvorgang verlassen hat, d. h., sobald
der fabrikseitige öffentliche
Schlüssel
durch einen öffentlichen
Produktschlüssel
ersetzt wurde. Stattdessen wird ein spezielles Werkzeug zum erneuten
Laden der Anpassungsdateien durch einen Kunden verwendet, falls es
erforderlich ist.
-
5a zeigt
ein Blockdiagramm eines Beispiels eines Systems zum Wiederanpassen
einer elektronischen Einrichtung. Das System umfasst einen Sicherheitsserver 401,
wie er in Verbindung mit 4 beschrieben wurde, einen Kundenwerkzeugserver 501,
eine Wiederanpassungsstation 502, einen Kundenserver 503,
einen Signaturserver 504 und eine an Kundenwünsche anzupassende
elektronische Einrichtung 205. Die Wiederanpassungsstation 502 ist
eine speziell ausgelegte Ladestation, die, wie in Verbindung mit 2 beschrieben
wurde, mit der elektronischen Einrichtung 205 verbunden
ist. Der Kunden-Werkzeugserver 501 kann ein Personalcomputer,
eine Arbeitsstation, ein Netzwerkserver, ein Webserver, etc. sein,
der/die mit dem Computernetzwerk 403 verbunden ist. Der
Kunden-Werkzeugserver 501 erhält Computerprogramme, Aktualisierungen,
etc. von einem zentralen Sicherheitswerkzeugserver 401 und
macht diese für
das dem Kunden gehörende
Wiederanpassungswerkzeug 502 verfügbar. Folglich kann das Wiederanpassungswerkzeug von
dem Kunden-Werkzeugserver
automatisch aktualisiert werden, wenn es damit verbunden ist.
-
Der
Kundenserver 503 kann ein Dateiserver in einem Computernetzwerk 505 des
Kunden, beispielsweise einem lokalen Netzwerk, einem Intranet oder
dergleichen sein. Alternativ hierzu kann der Kundenserver ein Webserver
sein, der einen Zugang über
das Internet oder ein anderes Kommunikationsnetzwerk bereitstellt.
Jegliche Wiederanpassungsdateien, die beispielsweise Daten, kompilierte
Computerprogramme oder dergleichen umfassen, werden an einem vorbestimmten
Ort in dem Dateisystem des Kundenservers 503 gespeichert.
Das System umfasst ferner einen Signaturserver 504, der
mit dem Computernetzwerk 505 verbunden ist und dazu ausgelegt
ist, den vorstehenden Ort bezüglich
Dateien zu überwachen,
die nicht mit einer korrespondierenden Signatur versehen sind. Der
Signaturserver 504 ist dazu ausgelegt, falls eine derartige
Datei gefunden wird, die Datei mit dem privaten Produktschlüssel zu
signieren und die signierte Datei an dem zuvor erwähnten oder
an einem anderen vorbestimmten Ort auf dem Kundenserver 503 zu
speichern. Anschließend
ruft die Wiederanpassungsstation 502 die signierte(n) Datei(en)
von dem Kundenserver ab und lädt
die Datei(en) in die elektronische Einrichtung, nachdem die Sicherheitsprüfungen,
wie sie in Verbindung mit 1 beschrieben
wurden, durchgeführt wurden.
-
5b zeigt
ein Blockdiagramm eines weiteren Beispiels eines Systems zum Wiederanpassen einer
elektronischen Einrichtung. Wie das System von 5a umfasst
das System von 5b einen Sicherheitsserver 401,
einen Kunden-Werkzeugserver 501, eine Wiederanpassungsstation 502,
einen Signaturserver 504 und eine an Kundenwünsche anzupassende
elektronische Einrichtung 205. Gemäß diesem Beispiel wird ein
Kundenprogramm auf der Wiederanpassungsstation 502 ausgeführt, das
die Wiederanpassungsdatei(en) direkt an den Signaturserver 504 sendet.
Nach dem Signieren der Datei(en) gibt der Signaturserver 504 die
Datei(en) an die Wiederan passungsstation 502 zurück, die
anschließend die
Datei(en) in die elektronische Einrichtung lädt, nachdem die in Verbindung
mit 1 beschriebenen Sicherheitsüberprüfungen durchgeführt wurden.
-
6 zeigt
ein Blockdiagramm eines Systems zum Managen kryptographischer Schlüssel und Zertifikate.
Das System umfasst ein Zertifikatmanagementsystem 601,
ein Zertifikatlagerhaussystem 602, einen Signaturserver 504 und
ein Ladesystem 603. Das Zertifikatmanagementsystem 601 kann
einen geeignet programmierbaren Personalcomputer, eine Arbeitsstation,
einen Netzwerkserver, einen Webserver, etc. umfassen und ist mit
dem Zertifikatlagerhaussystem 602 über ein Computernetzwerk, beispielsweise
das Internet, ein lokales Netzwerk, ein Intranet, ein Extranet,
etc., verbunden. Das Zertifikatmanagementsystem 601 ist
dazu ausgelegt, das Signieren mittels eines Schlüssels zu autorisieren, den Schlüsseln Schlüsselkennungen
zuzuweisen und die Schlüssel
mit einem Herstellerhauptschlüssel
einer hierarchischen Schlüsselstruktur
zu signieren, um die Sicherheit des Systems zu erhöhen.
-
Das
Zertifikatlagerhaussystem 602 kann einen geeignet programmierten
Personalcomputer, eine Arbeitsstation, einen Netzwerkserver, einen Webserver
etc. umfassen. Das Zertifikatlagerhaussystem 602 ist dazu
ausgebildet, Paare von öffentlichen
und privaten Schlüsseln
gemäß einem
geeigneten öffentlichen
Schlüsselmechanismus
zu erzeugen. Das Kundenzertifikatlagerhaussystem 602 fordert
ferner eine Authentifizierung von dem Zertifikatmanagementsystem
an und fordert dazu auf, den erzeugten öffentlichen Schlüssel mit
dem Herstellerhauptschlüssel
durch das Zertifikatmanagementsystem 601 zu signieren.
Der signierte öffentliche Schlüssel wird
in dem Zertifikatlagerhaussystem 602 gespeichert und an
das Ladesystem 603 weitergeleitet. Das Ladesystem 603 lädt den öffentlichen Schlüssel in
die elektronische Einrichtung.
-
In
Verbindung mit den Produktschlüsseln
ist das Ladesystem beispielsweise von dem Herstellsystem für die elektronische
Einrichtung umfasst, und es lädt
den öffentlichen
Produktschlüssel
am Ende des Herstellungsvorganges, wie in Verbindung mit 1 beschrieben
wurde. Ein Beispiel eines Herstellungssystems wurde in Verbindung
mit 4 zuvor beschrieben.
-
Ähnlich können die
Fabrikschlüssel
und/oder Prototypschlüssel
von einem System gemäß 6 verteilt
werden.
-
Die
erzeugten privaten Schlüssel
werden in dem Kundenzertifikatlagerhaussystem 602, vorzugsweise
in verschlüsselter
Form, gespeichert und über einen
sicheren Kanal zu dem Signaturserver 504 transportiert.
-
7a bis
d stellen Beispiele von Herstellungsvorgängen gemäß entsprechenden Ausführungsformen
der Erfindung dar.
-
In
dem Beispiel von 7a werden die Ladeschritte in
der Reihenfolge gemäß dem zuvor
in Verbindung mit 1 beschriebenen Beispiel ausgeführt, das
heißt:
-
Schritt
S701: Laden des fabrikseitigen öffentlichen
Schlüssels;
-
Schritt
S702: Laden der Fabriksoftware;
-
Schritt
S703: Laden der permanenten ID;
-
Schritt
S704: Laden des öffentlichen
Produktschlüssels;
-
Schritt
S705: Deaktivieren des fabrikseitigen öffentlichen Schlüssels.
-
In
dem Beispiel von 7b wird die permanente Kennung
am Ende des Herstellvorganges geladen, d. h. die Reihenfolge der
Ladeschritte ist:
-
Schritt
S701: Laden des fabrikseitigen öffentlichen
Schlüssels;
-
Schritt
S702: Laden der Fabriksoftware;
-
Schritt
S704: Laden des öffentlichen
Produktschlüssels;
-
Schritt
S705: Deaktivieren des fabrikseitigen öffentlichen Schlüssels;
-
Schritt
S703: Laden der permanenten ID.
-
Es
ist festzustellen, dass in Verbindung mit dem Ladeschritt S4, wie
er in Verbindung mit 1 beschrieben wurde, das Laden
des öffentlichen
Produktschlüssels
eine Verifikation umfasst, dass die permanente Kennung gesetzt wurde.
Es versteht sich, dass in dem Beispiel von 7b diese
Verifikation nicht anwendbar ist, da die permanente Kennung nach
dem Laden des öffentlichen
Produktschlüssels gesetzt
wird. Es versteht sich ferner, dass eine entsprechende Betrachtung
bei den folgenden Beispielen zutrifft.
-
Bei
dem Beispiel von 7c wird die permanente Kennung
vor dem Laden der Fabriksoftware geladen, d. h. die Reihenfolge
der Ladeschritte ist:
-
Schritt
S701: Laden des fabrikseitigen öffentlichen
Schlüssels;
-
Schritt
S703: Laden der permanenten ID;
-
Schritt
S702: Laden der Fabriksoftware;
-
Schritt
S704: Laden des öffentlichen
Produktschlüssels;
-
Schritt
S705: Deaktivieren des fabrikseitigen öffentlichen Schlüssels.
-
In
dem Beispiel von 7d wird die permanente Kennung
vor dem Laden der Fabriksoftware geladen, d. h. die Reihenfolge
der Ladeschritte ist:
-
Schritt
S703: Laden der permanenten ID;
-
Schritt
S701: Laden des fabrikseitigen öffentlichen
Schlüssels;
-
Schritt
S702: Laden der Fabriksoftware;
-
Schritt
S704: Laden des öffentlichen
Produktschlüssels;
-
Schritt
S705: Deaktivieren des fabrikseitigen öffentlichen Schlüssels.
-
Es
ist festzustellen, dass bei den vorstehenden Beispielen alternativ
andere Reihenfolgen zum Laden der Schritte verwendet werden können. Beispielsweise
können
die Schritte S704 und S705 umgekehrt werden oder zu einem einzigen
Schritt kombiniert werden, indem beispielsweise der fabrikseitige öffentliche
Schlüssel
mit dem öffentlichen
Produktschlüssel überschrieben
wird.
-
Folglich
wurde im Vorstehenden ein Herstellungsvorgang für eine elektronische Einrichtung
offenbart, der ein hohes Maß an
Sicherheit bereitstellt.
-
Es
versteht sich, dass der erfindungsgemäße Herstellungsvorgang in einer
Mehrzahl von verschiedenen Zusammenhängen verwendet werden kann.
Beispielsweise ist es ein übliches
Problem für Hersteller
von elektronischen Einrichtungen, dass ein zunehmender Teil der
Software für
die elektronischen Einrichtungen von externen Firmen entwickelt
wird. Es ist ein Vorteil der vorliegenden Erfindung, dass sie einen
Mechanismus zum Kontrollieren von Prototypen einer elektronischen
Einrichtung bereitstellt und sicherstellt, dass die Prototypsoftware
nicht auf einem Endprodukt laufen kann.
-
Bei
einer Ausführungsform
ist während
der Herstellung der Prototypeinrichtungen der in die Einrichtung
am Ende des Herstellungsvorganges geladene öffentliche Produktschlüssel ein
spezieller öffentlicher
Prototypschlüssel.
Folglich wird eine Mehrzahl von Prototypen mit einem öffentlichen
Prototypschlüssel
hergestellt, was es dadurch einem externen Softwareentwickler ermöglicht,
die mit einem korrespondierenden privaten Prototypschlüssel signierte
Software zu laden. Das Signieren der Software kann von dem externen
Zulieferer oder von dem Hersteller durchgeführt werden.
-
Falls
es mehr als einen externen Softwareentwickler gibt, kann eine entsprechende
Anzahl von unterschiedlichen Prototypschlüsselpaaren verwendet werden,
was es dadurch dem Hersteller ermöglicht, zwischen unterschiedlichen
externen Zulieferern zu unterscheiden. Folglich hat erfindungsgemäß ein externer
Softwarezulieferer die Möglichkeit,
die Software in einer realistischen Umgebung zu testen, während gleichzeitig
sichergestellt wird, dass die Software nicht direkt in das Endprodukt
geladen werden kann, da die Produkteinrichtungen mit einem öffentlichen
Produktschlüssel
ausgestattet sind, der sich von den Prototypschlüsseln unterscheidet. Folglich
kann ohne Kenntnis des korrespondierenden privaten Produktschlüssels der
externe Zulieferer seine Software nicht in das Produkt laden.
-
Ein öffentlicher
Prototypschlüssel
kann mit einem korrespondierenden Zertifikat zusammenhängen, was
dadurch eine Möglichkeit
bereitstellt, eine zeitliche Beschränkung der Gültigkeit des Prototypschlüssels einzuführen.
-
Bei
einer weiteren Ausführungsform
können die
Prototypschlüssel
durch eine Befehlsnachricht, die an die elektronische Einrichtung über die
Luftschnittstelle gesendet wird, aktiviert und/oder deaktiviert
werden. Beispielsweise kann im Zusammenhang mit mobilen Endgeräten eine
Nachricht eines Kurznachrichtendienstes (SMS) an das mobile Endgerät gesendet
werden, wobei die Nachricht einen vorbestimmten Deaktivierungsbefehl
und vorzugsweise eine digitale Signatur, beispielsweise in einem Nachrichtenkopf,
umfasst. In dem mobilen Endgerät wird
die Nachricht an eine entsprechende Anwendung geleitet, die die
Signatur überprüft und das
mobile Endgerät
zur Verwendung als Prototyp, beispielsweise durch Deaktivieren des öffentlichen
Prototypschlüssels
oder auf eine andere geeignete Weise, deaktiviert.
-
Vorzugsweise
korrespondiert die digitale Signatur mit dem Prototypschlüssel in
dem mobilen Endgerät,
wodurch sichergestellt wird, dass nur der Besitzer des korrespondierenden
privaten Prototypschlüssels
eine gültige
Deaktivierungsnachricht ausgeben kann.
-
Außerdem kann
durch Verwendung eines Zeitstempels, der beispielsweise von den
zu signierenden Daten umfasst ist, eine Wiederverwendung einer zuvor
gesendeten Nachricht verhindert werden.
-
Falls
die Nachricht eine geeignete Einrichtungskennung umfasst, beispielsweise
die IMEI des mobilen Endgerätes,
kann die Nachricht speziell nur für eine Einrichtung ausgebildet
werden.