-
Die
vorliegende Erfindung betrifft ein Verfahren zum Verarbeiten von
verschlüsselten
Informationen in einem elektronischen Gerät gemäß dem Oberbegriff des angehängten Patentanspruchs
1. Die Erfindung betrifft auch ein System gemäß dem Oberbegriff des angehängten Patentanspruchs
6.
-
Durch
die Zunahme der Datenverarbeitungseigenschaften von tragbaren Geräten können mehr Informationen
darin gespeichert werden, welche auch vertrauliche oder in anderer
Hinsicht solche Informationen sein können, die einem Außenstehenden
nicht enthüllt
werden dürfen.
Das Mitführen
von tragbaren Geräten
erhöht
jedoch die Gefahr, dass das tragbare Gerät gestohlen wird oder verloren geht,
wobei ein Versuch unternommen werden muss, die Informationen, die
darin gespeichert sind, mit einem Verschlüsselungsverfahren zu schützen. Für tragbare
Geräte
ist es normalerweise möglich,
ein Passwort zu bestimmen, das der Benutzer normalerweise in das
Gerät eingeben
muss, wenn das Gerät eingeschaltet
wird, bevor das Gerät
verwendet werden kann. Solch ein Schutz ist jedoch verhältnismäßig leicht
zu übergehen,
da die Passwörter,
die verwendet werden, normalerweise verhältnismäßig kurz sind und typischerweise
eine Länge
von weniger als zehn Zeichen aufweisen. Andererseits kann, selbst wenn
kein Versuch unternommen werden würde, das Passwort herauszufinden,
auf die Informationen, die im Gerät enthalten sind, zum Beispiel
durch Übertragen
des Speichermediums, wie beispielsweise einer Festplatte, in ein
anderes System, zugegriffen werden. Wenn die Informationen, die
im Speichermedium enthalten sind, nicht in einem verschlüsselten Format
sind, können
die Informationen, die im Speichermedium gespeichert sind, leicht
herausgefunden werden.
-
Es
ist bekannt, dass Informationen, die vom Benutzer oder vom Gerät gebraucht
werden, mit einem Schlüssel
verschlüsselt
werden können,
die verschlüsselten
Informationen im Speicher des Geräts gespeichert werden können, und
sie mit einem anderen Schlüssel
entschlüsselt
werden können.
Bei der asymmetrischen Verschlüsselung
unterscheidet sich der Schlüssel,
der bei der Verschlüsselung
verwendet wird, von dem Schlüssel,
der bei der Entschlüsselung
verwendet wird. Dementsprechend ist bei der symmetrischen Verschlüsselung
der Schlüssel,
der bei der Verschlüsselung
verwendet wird, derselbe Schlüssel
wie der, der bei der Entschlüsselung
verwendet wird. Bei der asymmetrischen Verschlüsselung werden diese Schlüssel normalerweise öffentlicher
Schlüssel
und privater Schlüssel
genannt. Der öffentliche
Schlüssel
ist zur Verschlüsselung
bestimmt, und der private Schlüssel
ist zur Entschlüsselung
bestimmt. Obwohl der öffentliche
Schlüssel
allgemein bekannt sein kann, ist es auf der Basis desselben normalerweise
nicht möglich,
den Geheimschlüssel,
der dem öffentlichen
Schlüssel
entspricht, leicht zu bestimmen, wobei es für einen Außenstehenden sehr schwierig
ist, die Informationen herauszufinden, die mit diesem öffentlichen
Schüssel
verschlüsselt
sind. Ein Beispiel für
ein System, das auf der Verwendung solch eines öffentlichen Schlüssels und
eines privaten Schlüssels
basiert, ist das PGP-System (schöne
gute Privatsphäre
nach engl. PGP für
engl. pretty good privacy), in dem der Benutzer die zu übertragenden
Informationen mit dem öffentlichen
Schlüssel
des Empfängers
verschlüsselt, und
der Empfänger öffnet die
verschlüsselten
Informationen dann mit seinem privaten Schlüssel. Es gibt jedoch beträchtliche
Nachteile bei den Systemen des Standes der Technik. Die Schlüsselketten,
die durch ausreichend sichere Systeme verlangt werden, sind so lang,
dass selbst ihre Speicherung auf eine sichere Art und Weise erhebliche
Kosten verursacht. Wenn die Schlüsselkette
zu kurz ist, ist es verhältnismäßig einfach,
sie mit modernen Datenverarbeitungsgeräten aufzubrechen. Mit anderen
Worten, der private Schlüssel
kann auf der Basis des Inhalts und des öffentlichen Schlüssels definiert
werden (bekannt als Inhaltsattacke). Dieses Problem ist insbesondere bei
tragbaren Datenverarbeitungs- und Datenübertragungsgeräten signifikant,
bei welchen die begrenzte Verarbeitungskapazität auch die Verwendung von langen
Schlüsseln
verhindert.
-
Das
US-Patent 6,169,890 offenbart ein Verfahren und ein Gerät, wobei
es, nachdem der Benutzer identifiziert wurde, möglich ist, einen Schlüssel zu verwenden,
der auf einer SIM-Karte zur Benutzeridentifizierung in einem Kommunikationsnetz
gespeichert ist. Das System ist zum Beispiel dazu bestimmt, bei
Zahlungsoperationen verwendet zu werden, wobei der Benutzer die
Zahlungsoperationen in seinem Endgerät durchführt, das so ausgelegt ist,
dass es mit einem Endgerät
des Zahlungssystems mithilfe des Mobilkommunikationsnetzes kommuniziert. Demnach
gibt der Benutzer seinen PIN-Code in die Mobilstation ein, und der
Benutzer der Mobilstation wird auf der Basis des Codes identifiziert.
Das System weist eine Datenbank auf, in der die Mobiltelefonnummern
der Benutzer gespeichert sind, die dazu autorisiert sind, das System
zu verwenden. Wenn der Benutzer solch ein System kontaktiert, wird
von der Datenbank demnach auf der Basis der Nummer des Anrufers überprüft, ob der
Benutzer dazu autorisiert ist, den Dienst zu verwenden. Ein Nachteil
solch eines Systems ist, dass der PIN-Code, der bei der Identifizierung
des Benutzers verwendet wird, verhältnismäßig kurz ist, nämlich normalerweise
vier Zeichen lang, wobei es verhältnismäßig einfach
ist, ihn mithilfe von Verfahren, die zurzeit bekannt sind, herauszufinden.
Wenn die Länge
des Schlüssels
verlängert
wird, sollte die Speichermenge, die auf der SIM-Karte zum Speichern
des PIN-Codes erforderlich ist, ebenfalls vergrößert werden, was die Herstellungskosten
der SIM-Karte beträchtlich
erhöht.
Andererseits kann der Vorgang des Speicherns des privaten Schlüssels in
solch einem Speicher, der von außerhalb des Geräts geprüft werden
kann, ein erhebliches Sicherheitsrisiko darstellen, da, wenn das
Gerät verloren
geht oder wenn es auf andere Weise in die Hände von Außenstehenden gerät, die verschlüsselten
Informationen auf der Basis des Geheimschlüssels, der im Gerät gespeichert
ist, herausgefunden werden können.
-
Das
Dokument
US 5,224,166 offenbart
ein Datenverarbeitungssystem, das sowohl verschlüsselte als auch nicht verschlüsselte Daten
und Anweisungen nahtlos verarbeitet. Das System umfasst einen internen
Cachespeicher in einer physischen Region, die für einen Benutzer des Systems
nicht zugänglich
ist. Ein privater Schlüssel
wird in der sicheren Region gespeichert, und er kann verwendet werden,
um den verschlüsselten
Hauptschlüssel,
der mit verschlüsselten
Daten verbunden ist, zu entschlüsseln.
-
Das
Dokument WO 00/17731 offenbart ein Datenschutzsystem, das eine flüchtige Schlüsselvorrichtung
verwendet, um eine Stammdatei zu erzeugen und zu verwalten, welche
eine einzige verschlüsselte
Datei umfasst, die auf dem Festplattenlaufwerk des Rechnersystems
gespeichert wird. Die Stammdatei enthält alle Passwörter, Geheimcodes
und Sicherheitscodes, welche durch herkömmliche Sicherheitsprogramme
und eine herkömmliche
Sicherheitsvorrichtung, die sich im Rechnersystem befinden, verwendet
werden, um die vertraulichen Daten zu sichern, die im Speicher des
Rechnersystems enthalten sind. Der Hauptschlüssel wird in der flüchtigen Schlüsselvorrichtung
gespeichert. Wenn eine Verletzung der Systemsicherheitsprozeduren
erfasst wird, wird der Hauptschlüssel
von der flüchtigen
Schlüsselvorrichtung
gelöscht.
Es kann jedoch immer noch möglich
sein, Datenübertragungen
zwischen dem Rechnersystem und der flüchtigen Schlüsselvorrichtung
zu prüfen,
um die Inhalte des Hauptschlüssels zu
bestimmen.
-
Ein
Zweck der vorliegenden Erfindung ist es, ein Verfahren zum Verarbeiten
von verschlüsselten Informationen
auf solch eine Art und Weise zustande zu bringen, dass die Entschlüsselung
von Informationen durch Analysieren des Geräts in der Praxis nicht möglich ist.
Die Erfindung basiert auf der Idee, dass der Verarbeitungsblock
des elektronischen Geräts
so eingestellt wird, dass er wenigstens in zwei verschiedenen Betriebsarten
arbeitet: einer geschützten
Betriebsart und einer normalen Betriebsart. Die geschützte Betriebsart
ist so ausgelegt, dass sie derart ist, dass die Informationen, die
in der geschützten Betriebsart
verarbeitet werden, von außerhalb
des Verarbeitungsblocks nicht geprüft werden können. Demnach ist es möglich, einen
Geheimschlüssel
im Speicher zu speichern, der in der geschützten Betriebsart verwendet
werden kann, wobei der Geheimschlüssel zur Verschlüsselung
und Entschlüsselung von
Informationen, die außerhalb
der geschützten Betriebsart
verarbeitet werden, auf solch eine Art und Weise verwendet wird,
dass dieser Geheimschlüssel nicht
herausgefunden werden kann. Genauer gesagt, das Verfahren gemäß der vorliegenden
Erfindung ist hauptsächlich
durch das gekennzeichnet, was im kennzeichnenden Teil des angehängten Patentanspruchs
1 dargelegt wird. Das System gemäß der vorliegenden Erfindung
wird hauptsächlich
durch das gekennzeichnet, was im kennzeichnenden Teil des angehängten Patentanspruchs
6 dargelegt wird.
-
Die
vorliegende Erfindung stellt beachtenswerte Vorteile im Vergleich
zu Lösungen
des Standes der Technik bereit. Die Analyse des elektronischen Geräts gemäß der vorliegenden
Erfindung auf eine Art und Weise, welche die Prüfung der geschützten Betriebsart
ermöglicht,
ist in der Praxis unmöglich, ohne
das elektronische Gerät
kaputt zu machen. Da der Geheimcode, der in der geschützten Betriebsart verwendet
wird, vorteilhafterweise gerätespezifisch ist,
bringt es keinen Nutzen, den Geheimcode eines kaputten Geräts herauszufinden.
wenn das Verfahren gemäß der vorliegenden
Erfindung angewendet wird, ist es möglich, längere Schlüssel zu verwenden, da es in
der geschützten
Betriebsart möglich
ist, einen langen Geheimschlüssel
zu verschlüsseln und/oder
zu entschlüsseln.
Der verschlüsselte
Geheimschlüssel
kann in einem externen Speicher gespeichert werden, der vorteilhafter
ist als ein Speicher, der in der in der geschützten Betriebsart verwendet
wird.
-
Im
Folgenden wird die Erfindung unter Bezugnahme auf die angehängten Zeichnungen
ausführlicher
beschrieben, wobei
-
1 ein
elektronisches Gerät
gemäß einer bevorzugten
Ausführungsform
der Erfindung in einem reduzierten Blockdiagramm darstellt,
-
2 stellt
die Struktur des Verarbeitungsblocks gemäß einer bevorzugten Ausführungsform der
Erfindung auf eine reduzierte Art und Weise dar,
-
3 stellt
die Funktion des Verfahrens gemäß einer
bevorzugten Ausführungsform
der Erfindung in einem Ablaufdiagram dar,
-
4 veranschaulicht
die Identifizierung des Benutzers in einem Mobilkommunikationsnetz
in einem reduzierten Diagramm, und
-
5 stellt
en bekanntes Prinzip des Erzeugens einer digitalen Unterschrift
dar.
-
Die
Erfindung kann in einem elektronischen Gerät 1 angewendet werden,
in dem es möglich
ist, Informationen in einem wenigstens teilweise verschlüsselten
Format zu verarbeiten. Solche elektronische Geräte 1 umfassen zum
Beispiel ein mobiles Kommunikationsgerät, einen Rechner, wie beispielsweise
einen Personalcomputer (PC) oder einen tragbaren Rechner, einen
persönlichen
digitalen Assistenten (PDA); MP3-Spieler, CD-Spieler, DVD-Spieler, Videogeräte, digitale
Fernsehapparate usw. Das elektronische Gerät 1 gemäß einer
vorteilhaften Ausführungsform
der Erfindung, die in 1 dargestellt ist, umfasst wenigstens
einen Steuerblock 2, Speichermittel 3 und eine
Benutzerschnittstelle 4, welche vorteilhafterweise eine
Anzeige, eine Tastatur und/oder Audiomittel umfassen kann. Außerdem umfasst
das elektronische Gerät
gemäß 1 Mobilstationsmittel 5.
Die Speichermittel 3 umfassen vorzugsweise einen Nur-Lese-Speicher ROM
und einen Direktzugriffsspeicher RAM. Wenigstens ein Teil des Nur-Lese-Speichers
ROM ist ein elektrisch löschbarer
programmierbarer Nur-Lese-Speicher EEPROM, wie beispielsweise ein
FLASH-Speicher. Der Nur-Lese-Speicher
ROM wird zum Beispiel zum Speichern von Programmbefehlen des Prozessors,
für spezifische
feste Einstelldaten oder dergleichen verwendet. Der elektrisch löschbare
programmierbare Nur-Lese-Speicher EEPROM kann zum Beispiel zum Speichern
des Geheimschlüssels
im verschlüsselten
Format verwendet werden, wie in dieser Beschreibung im Folgenden
dargelegt wird.
-
2 stellt
auf eine reduzierte Art und Weise die Struktur eines Verarbeitungsblocks 2a des
Steuerblocks 2 gemäß einer
vorteilhaften Ausführungsform
der Erfindung dar. Der Verarbeitungsblock umfasst einen Prozessor 201 (CPU,
zentrale Verarbeitungseinheit nach engl. Central Processing Unit),
und der Programmcode, der die Funktion desselben steuert, kann teilweise
im Nur-Lese-Speicher 202a, 202b gespeichert werden,
der ein einmal programmierbarer Nur-Lese-Speicher (OTPROM für engl.
one-time programmable
ROM) und/oder ein wieder programmierbarer Nur-Lese-Speicher (zum
Beispiel ein EEPROM) sein kann. Ein Teil des Urladeprogramms wird
vorteilhafterweise in solch einem Speicher gespeichert, dessen Inhalte
nicht geändert
werden können,
nachdem das Programm gespeichert wurde (OTPROM, ROM). Dies ist zum
Beispiel in solchen Anwendungen notwendig, in welchen das Urladen
in wenigstens zwei Stufen auf solch eine Art und Weise durchgeführt wird,
dass die vorhergehende Stufe die Verifizierung der Echtheit des
Programmcodes der nächsten
Stufe durchführt,
bevor die Ausführung
des Programmcodes der nächsten
Stufe beginnt. Ein erster privater Schlüssel SK1, der in Verbindung
mit dem Verfahren gemäß der Erfindung
verwendet wird, wird ebenfalls im Nur-Lese-Speicher 202a, 202b gespeichert,
und zwar vorzugsweise im einmal programmierbaren Nur-Lese-Speicher 202b.
Der Verarbeitungsblock 2a enthält ebenfalls einen Direktzugriffsspeicher 203,
der auf eine bekannte Art und Weise ausgelegt sein kann, wie beispielsweise
ein linearer Speicherplatz, und/oder er kann einen Direktzugriffsspeicher
zum Realisieren der möglichen Registerstruktur
des Prozessors enthalten. Der Prozessor 201 ist nicht auf
irgendeinen bestimmten Prozessor beschränkt, sondern er kann in verschiedenen
Anwendungen variieren, wobei sich die Einzelheiten der Speicher 202a, 20b, 203 in
verschiedenen Anwendungen voneinander unterscheiden können. Der
Verarbeitungsblock 2a enthält einen Verbindungsblock 204,
mithilfe dessen der Verarbeitungsblock 2a mit den anderen
Funktionsblöcken
des elektronischen Geräts 1 verbunden
werden kann. Über
den Verbindungsblock 204 sind zum Beispiel ein Steuerbus 210, ein
Bus 211 und ein Adressbus 212 des Prozessors mit
dem externen Steuerbus 205, dem externen Datenbus 206 beziehungsweise
dem Adressbus 207 des Verarbeitungsblocks 2a verbunden.
In dieser vorteilhaften Ausführungsform
der Erfindung sind der Verarbeitungsblock 2a und die anderen
Funktionsblöcke 2b bis 2f des
Steuerblocks als diskrete Blöcke dargestellt.
Es versteht sich jedoch von selbst, dass wenigstens einige der anderen
Funktionsblöcke 2b bis 2f des
Steuerblocks als ein einziger integrierter Block in Verbindung mit
dem Verarbeitungsblock 2a auf solch eine Art und Weise
ausgelegt sein können, dass
sie in der geschützten
Betriebsart verwendet werden können.
-
Im
Folgenden wird die Funktionsweise des Verfahrens gemäß einer
bevorzugten Ausführungsform
der Erfindung in dem elektronischen Gerät 1 von 1 unter
Bezugnahme auf das Ablaufdiagramm von 3 beschrieben.
In Verbindung mit dem Einschalten des elektronischen Geräts werden
herkömmliche
Hochfahroperationen, die an sich bekannt sind, ausgeführt (Block 301 in 3).
Hierbei wird in Verbindung mit dem Hochfahren der Verarbeitungsblock 2a vorteilhafterweise
in die normale Betriebsart versetzt. Demnach wird die Steuerleitung 208 des Verbindungsblocks 204 in
einen Zustand versetzt, in dem die internen Busse 210, 211, 212 des
Verarbeitungsblocks 2a mit den externen Bussen 205,206, 207 des
Verarbeitungsblocks 2a verbunden sind. Die Steuerleitung 208 wird
vorteilhafterweise auch zum Steuern der Funktion des internen Direktzugriffsspeichers 203 des
Verarbeitungsblocks 2a auf solch eine Art und Weise verwendet,
dass in der normalen Betriebsart des Verarbeitungsblocks die Inhalte
des Direktzugriffsspeichers 203 von außerhalb des Verarbeitungsblocks 2a nicht
gelesen werden können.
-
Auf
dieser Stufe werden, wenn es notwendig ist, verschlüsselte Informationen
zu verarbeiten, die folgenden Schritte in dieser bevorzugten Ausführungsform
der Erfindung unternommen. Es wird zum Beispiel angenommen, dass
verschlüsselte
Informationen über
die Mobilstationsmittel 5 empfangen wurden, wobei die Informationen
zuerst in Verbindung mit dem Empfang (Block 302) im externen
Empfangspuffer (nicht dargestellt) des Verarbeitungsblocks 2a gespeichert
werden. Der Empfangspuffer ist zum Beispiel im Direktzugriffsspeicher 2f des Steuerblocks
eingerichtet. Das Speichern erfolgt auf ein an sich bekannte Art
und Weise zum Beispiel mittels eines Speicherprogramms, das im Programmcode
des Prozessors vorteilhafterweise auf solch eine Art und Weise ausgebildet
ist, dass der Verarbeitungsblock 2a die Informationen,
die von den Mobilstationsmitteln empfangen wurden, liest und sie
an den Empfangspuffer weiterleitet, der im Speicher 2f reserviert
ist. Die empfangenen Informationen enthalten auch Informationen
darüber,
dass die Informationen oder wenigstens ein Teil davon in einem verschlüsselten
Format sind. Demnach werden auch die Informationen, welche den Teil
der Informationen, der verschlüsselt
ist, anzeigen, an den Verarbeitungsblock 2a übertragen,
wobei der Prozessor basierend auf diesen Informationen die notwendigen
Messungen durchführen
kann, um den zweiten privaten Schlüssel zur Entschlüsselung
zu verwenden.
-
Um
die Informationen zu entschlüsseln,
wird der zweite private Schlüssel,
der im wieder programmierbaren Nur-Lese-Speicher 3b gespeichert
ist, vorteilhafterweise auf die folgende Art und Weise entschlüsselt. Der
verschlüsselte
zweite private Schlüssel
SK2 wird im internen Direktzugriffsspeicher 203 des Verarbeitungsblocks 2a zum
Beispiel in einen Verarbeitungspuffer 209 eingelesen (Block 303).
Danach versetzt der Prozessor 201 des Verarbeitungsblocks 2a die
Steuerleitung 208 des Verbindungsblocks zum Umschalten
in die geschützte
Betriebsart in einen Zustand, in dem keine Verbindung von den internen
Bussen 210, 21, 212 des Verarbeitungsblocks 2a zu
den externen Bussen 205, 206, 207 besteht
(Block 304). Auf diese Weise kann die interne Funktion
des Verarbeitungsblocks 2a mithilfe von herkömmlichen
Analysemitteln nicht erkannt werden. In dieser geschützten Betriebsart
kann der Prozessor 201 den internen Direktzugriffsspeicher 203 des
Verarbeitungsblocks 2a noch immer lesen. Danach führt der
Prozessor 201 einen Programmcode aus, mithilfe dessen der
zweite private Schlüssel
SK2 mittels des ersten privaten Schlüssels SK1, der im Nur-Lese-Speicher 202a, 202b des
Verarbeitungsblocks gespeichert ist, entschlüsselt wird (Block 305).
Nach der Entschlüsselung
kann der zweite private Schlüssel SK2
im Direktzugriffsspeicher, zum Beispiel im internen Direktzugriffsspeicher 203 des
Verarbeitungsblocks 2a oder im Direktzugriffsspeicher 2f, 3c außerhalb
des Verarbeitungsblocks, gespeichert werden (Block 306).
-
Die
Entschlüsselung
der zu verarbeitenden Informationen kann durch Verwenden des zweiten privaten
Schlüssels
SK2 erfolgen. Der Verarbeitungsblock wird durch Ändern des Zustands der Steuerleitung 208 des
Verbindungsblocks möglicherweise
in die normale Betriebsart versetzt (Block 307). Auf diese
Weise ist es möglich,
die empfangenen verschlüsselten
Informationen im Verarbeitungspuffer 209 zu lesen, der
im internen Direktzugriffsspeicher 203 des Verarbeitungsblocks 2a ausgebildet
ist. Die Menge von Informationen, die im Verarbeitungsblock jeweils
gelesen werden können,
kann in verschiedenen Anwendungen und verschiedenen Situationen
variieren. In manchen Fällen
ist es möglich, alle
verschlüsselten
Informationen im Verarbeitungspuffer 209 zu lesen, woraufhin
die gelesenen Informationen entschlüsselt werden (Block 308).
Bei der Entschlüsselung
wird nun der zweite private Schlüssel
SK2 verwendet, wobei der zweite private Schlüssel SK2 auf einer früheren Stufe
entschlüsselt
wurde.
-
Die
Entschlüsselung
der zu verarbeitenden Informationen kann entweder in der geschützten Betriebsart
oder in der normalen Betriebsart erfolgen. Zuerst wird die Funktion
des Verfahrens in solch einem Fall beschrieben, in dem die Entschlüsselung
in der geschützten
Betriebsart des Verarbeitungsblocks 2a erfolgt. Demnach
muss auch der Programmcode, der bei der Entschlüsselung von Informationen verwendet
wird, vorteilhafterweise im Direktzugriffsspeicher 203 des
Verarbeitungsblocks 2a gelesen werden, wenn er nicht im
Nur-Lese-Speicher 202a, 202b des Verarbeitungsblocks 2a gespeichert
ist. Wenn der Programmcode, der bei der Entschlüsselung verwendet wird, von
außerhalb
des Verarbeitungsblocks 2a geladen wird, muss vor der Entschlüsselung
die Echtheit des Programmcodes verifiziert werden. Der Verarbeitungsblock 2a wird
in die normale Betriebsart versetzt, und gespeicherte, verschlüsselte Informationen
werden aus dem Direktzugriffsspeicher 2f, 3b im
internen Nur-Lese- Speicher 203 des
Verarbeitungsblocks gelesen. Danach wird der Verarbeitungsblock 2a in
die geschützte
Betriebsart versetzt, woraufhin der Prozessor 201 den Programmcode ausführt, der
bei der Verschlüsselung
von Informationen aus dem internen Speicher 202a, 202b, 203 verwendet
wird. Nach der Entschlüsselung
wird der Verarbeitungsblock 2a in die normale Betriebsart
versetzt, und die entschlüsselten
Informationen werden außerhalb
des Verarbeitungsblocks 2a im Direktzugriffsspeicher 2f, 3c gespeichert.
Danach wird der nächste
mögliche
Teil der verschlüsselten
Informationen den entsprechenden Prozessen zum Entschlüsseln und
Speichern im Nur-Lese-Speicher 2f, 3c unterzogen.
Der zuvor beschriebene Prozess wird fortgesetzt, bis die verarbeiteten
Informationen entschlüsselt
wurden.
-
Wenn
der zweite private Schlüssel
SK2 in Verbindung mit der geschützten
Betriebsart des Verarbeitungsblocks 2a in solch einem Speicher
gespeichert ist, der in der normalen Betriebsart des Verarbeitungsblocks 2a gelesen
werden kann, kann es möglich
sein, dass der zweite private Schlüssel SK2 durch Analysieren
des Geräts
herausgefunden werden kann. Dies kann auf solch eine Art und Weise verhindert
werden, dass, bevor der Verarbeitungsblock 2a von der geschützten Betriebsart
in die normale Betriebsart versetzt wird, der zweite private Schlüssel SK2
im verschlüsselten
Format aus solch einem Direktzugriffsspeicher, auf den in der normalen Betriebsart
zugegriffen werden kann, entfernt wird. In der Praxis bedeutet dies,
dass der zweite private Schlüssel
SK2 stets entschlüsselt
ist, wenn der Verarbeitungsblock 2a von der normalen Betriebsart
in die geschützte
Betriebsart versetzt wurde, und es ist notwendig, diesen zweiten
privaten Schlüssel
SK2 zum Beispiel zur Entschlüsselung
der verschlüsselten Informationen
zu verwenden. Auf eine entsprechende Weise wird, wenn der erste
private Schlüssel SK1
aus dem Nur-Lese-Speicher 202a, 202b in
solch einen Speicher kopiert wurde, der in der normalen Betriebsart
des Verarbeitungsblocks 2a gelesen werden kann, auch der
erste private Schlüssel
SK1 aus solch einem Speicher entfernt, bevor der Verarbeitungsblock 2a von
der geschützten
Betriebsart in die normale Betriebsart versetzt wird.
-
Der
interne Nur-Lese-Speicher 202a, 202b des Verarbeitungsblocks
ist verhältnismäßig teuer
im Vergleich zum externen Nur-Lese-Speicher 2d, 2e, 3a, 3b,
und demnach ist das Ziel, die Größe des internen
Nur-Lese-Speichers 202a, 202b zu
minimieren. Demnach wird der Code, der bei der Entschlüsselung
des zweiten privaten Schlüssels
SK2 verwendet wird, vorteilhafterweise entweder im Nur-Lese-Speicher 2d, 2e des
Steuerblocks oder im externen Nur-Lese-Speicher 3a, 3b,
von dem der Programmcode an den internen Direktzugriffsspeicher 203 des
Verarbeitungsblocks 2a übertragen
wird, gespeichert. Der Programmcode, der bei der Entschlüsselung
der verschlüsselten
Informationen verwendet wird, wird vorteilhafterweise ebenfalls
im Nur-Lese-Speicher 202a, 202b des Verarbeitungsblocks
gespeichert, oder er wird vor der Entschlüsselung von einem anderen Nur-Lese-Speicher 2d, 2e des
elektronischen Geräts 1 im
Direktzugriffsspeicher 203 geladen. Wenn der Programmcode
von außerhalb
des Verarbeitungsblocks geladen wird, wird der Programmcode, der
die Echtheit des Programmcodes verifiziert, im Nur-Lese-Speicher 201 des
Verarbeitungsblocks gespeichert. In einer bevorzugten Ausführungsform
der Erfindung enthält
der interne Nur-Lese-Speicher 202a, 202b des
Verarbeitungsblocks 2a hauptsächlich den ersten privaten
Schlüssel
SK1 darin gespeichert.
-
In
dem Verfahren gemäß einer
zweiten Ausführungsform
der Erfindung erfolgt die Entschlüsselung hauptsächlich außerhalb
des Verarbeitungsblocks 2 auf die folgende Art und Weise.
Der Verarbeitungsblock 2 entschlüsselt den zweiten privaten Schlüssel SK2
in der geschützten
Betriebsart gemäß den zuvor
dargelegten Prinzipien und speichert diesen zweiten privaten Schlüssel im
externen Direktzugriffsspeicher 2f, 3c des Verarbeitungsblocks 2a in einem
unverschlüsselten
Format. Danach werden die Informationen in der normalen Betriebsart
des Verarbeitungsblocks 2a entschlüsselt. Danach kann der Verarbeitungsblock 2a in
der normalen Betriebsart sein, da der Zugriff auf den Direktzugriffsspeicher 202, 202b,
der zum Speichern des ersten privaten Schlüssels SK1 verwendet wird, verweigert
wurde. In dieser Alternative müssen
die verschlüsselten
Informationen nicht im internen Direktzugriffsspeicher 203 des
Verarbeitungsblocks 2a gelesen werden, sondern der Vorgang
kann hauptsächlich
in den externen Speichermitteln 2f, 3c des Verarbeitungsblocks 2a realisiert
werden. Der zweite private Schlüssel
SK2, der im Direktzugriffsspeicher 2f, 3c gespeichert
ist, verschwindet aus dem Direktzugriffsspeicher 2f, 3c spätestens,
wenn die Betriebsspannung des elektronischen Geräts 1 ausgeschaltet
wird. Auf diese Weise besteht keine Gefahr, dass ein Außenstehender den
zweiten privaten Schlüssel
SK2, der im elektronischen Gerät
gespeichert ist, leicht herausfinden könnte.
-
Diese
zweite Ausführungsform
ist insbesondere in solchen Anwendungen vorteilhaft, in welchen der
Vorgang des Geheimhaltens der privaten Schlüssel kein hohes Niveau des
Schutzes wie in der ersten Ausführungsform
erfordert. Da in diesem Verfahren gemäß der zweiten Ausführungsform
der zweite private Schlüssel
nicht immer entschlüsselt
wird, wenn der Verarbeitungsblock in die geschützte Betriebsart versetzt wird,
ist weniger Verarbeitungskapazität
vom Verarbeitungsblock 2a erforderlich. Demnach kann das
Verfahren gemäß der zweiten
Ausführungsform in
solchen Ausführungsformen
verwendet werden, in welchen eine kontinuierliche Entschlüsselung
notwendig ist, zum Beispiel in Verbindung mit der Verarbeitung eines
verschlüsselten
Videosignals, und in welchen das Schutzniveau gemäß der zweiten
Ausführungsform
ausreicht.
-
Da
der erste private Schlüssel
SK1, der im internen Nur-Lese-Speicher 201 des
Verarbeitungsblocks 2a gespeichert ist, hauptsächlich zur
Entschlüsselung
des zweiten privaten Schlüssels
SK2 verwendet wird, kann der erste private Schlüssel SK1 verhältnismäßig kurz
sein. Die Erfindung ermöglicht jedoch
den Vorgang des Verlängerns
der Länge
des zweiten privaten Schlüssels
SK2, ohne die Menge des internen Nur-Lese-Speichers 202a, 202b des Verarbeitungsblocks
erhöhen
zu müssen,
der wesentlich teurer als der externe Speicher ist. Der erste private
Schlüssel
SK1, der in Verbindung mit der Erfindung verwendet wird, ist vorteilhafterweise
ein symmetrischer Schlüssel,
aber es versteht sich von selbst, dass die Erfindung nicht nur auf
Anwendungen dieser Art beschränkt
ist. Normalerweise beträgt die
Mindestlänge
von symmetrischen Schlüsseln
ungefähr
100 Bits, und im Vergleich dazu ist die Länge von asymmetrischen Schlüsseln ungefähr zehn
Mal so lang, d.h. ca. 1.000 Bits.
-
Die
zuvor hierin dargelegte Beschreibung stellt nur eine mögliche Art
und Weise der Realisierung der geschützten Betriebsart dar. Es versteht sich
jedoch von selbst, dass in der Praxis die geschützte Betriebsart auch mit einem
anderen Verfahren auf solch eine Art und Weise realisiert werden kann,
dass die Analyse der internen Funktion des Verarbeitungsblocks 2a in
der geschützten
Betriebsart äußerst schwierig
oder sogar unmöglich
ist. Insbesondere die Prüfung
des internen Nur-Lese-Speichers 202a, 202b des
Verarbeitungsblocks 2a von außerhalb muss so schwierig als
möglich
gemacht werden. Wenn die Lösung
gemäß der Erfindung
verwendet wird, ist es in der Praxis außerdem unmöglich, den ersten privaten
Schlüssel
SK1 herauszufinden, ohne das Gerät
kaputt zu machen. Andererseits kann der interne Nur-Lese-Speicher 202a, 202b des Verarbeitungsblocks
in einen geschützten
Bereich und einen ungeschützten
Bereich geteilt werden, wobei es möglich ist, den Zugriff auf
den ungeschützten Bereich
von außerhalb
des Verarbeitungsblocks 2a zuzulassen, und/oder der Prozessor 201 die
Inhalte dieses ungeschützten
Bereichs auch in der normalen Betriebsart lesen kann. In diesem
Fall werden solche Informationen im geschützten Bereich gespeichert, auf
welche nur durch den Prozessor 201 in der geschützten Betriebsart
zugegriffen werden kann. Außerdem
versteht es sich von selbst, dass der interne Direktzugriffsspeicher
des Verarbeitungsblocks 2a ebenfalls in einen geschützten und
einen ungeschützten
Bereich geteilt werden kann, wobei es keinen Zugriff auf den geschützten Bereich
von außerhalb
des Verarbeitungsblocks 2a gibt.
-
Die
Erfindung kann auch durch Verwenden von zwei oder mehr Prozessoren
(nicht dargestellt) anstelle des einen Prozessors 201 angewendet
werden. Demnach wird wenigstens ein Prozessor 201 hauptsächlich in
der geschützten Betriebsart
verwendet, und die anderen Prozessoren werden in der normalen Betriebsart
verwendet. Die anderen Prozessoren haben keinen Zugriff, um den
Speicher 202a, 202b, 203 zu lesen, der
durch den Prozessor verwendet wird, der in der geschützten Betriebsart
arbeitet. Die notwendige Kommunikation zwischen dem Prozessor 201 der
geschützten
Betriebsart und den anderen Prozessoren kann in dieser Ausführungsform
zum Beispiel mithilfe eines Speichers mit zwei Zugängen (nicht
dargestellt) oder durch Bestimmen im Direktzugriffsspeicher 2f, 3c eines
Speicherplatzes, der durch den Prozessor der geschützten Betriebsart
und durch wenigstens einen Prozessor der normalen Betriebsart verarbeitet
werden kann, aufgebaut werden.
-
In
den vorstehenden Darlegungen wurde eine Ausführungsform beschrieben, in
welcher Informationen entschlüsselt
wurden. In einer entsprechenden Weise kann die Erfindung zur Verschlüsselung
von Informationen, welche an ein Speichermedium zu übertragen
und/oder darin zu speichern sind, mithilfe des zweiten privaten
Schlüssels
SK2 angewendet werden. Auch in diesem Fall wird der zweite private
Schlüssel
SK2 entschlüsselt,
wenn er nicht bereits entschlüsselt
wurde. Danach können
die Informationen mit diesem zweiten privaten Schlüssel SK2
mit Maßnahmen,
die im Wesentlichen umgekehrt zur Entschlüsselung sind, verschlüsselt werden.
Auch in dieser Situation kann die Entschlüsselung entweder innerhalb
des Verarbeitungsblocks 2a durch Übertragen der zu verschlüsselnden
Informationen entweder ganz oder teilweise an den internen Direktzugriffsspeicher 203 des
Verarbeitungsblocks 2a, um darin verschlüsselt zu
werden, erfolgen, oder die Verschlüsselung wird außerhalb
des Verarbeitungsblocks 2a durchgeführt. Nach der Verschlüsselung
werden die verschlüsselten
Informationen zum Beispiel an das Mobilkommunikationsnetz NW übertragen,
oder sie werden in einem Speichermedium, wie beispielsweise dem
Direktzugriffsspeicher 2f, 3c oder dem wieder
programmierbaren Nur-Lese-Speicher 3b, gespeichert.
-
Die
Erfindung eignet sich auch dazu, bei der zuverlässigen Identifizierung des
elektronischen Geräts 1 des
Benutzers verwendet zu werden, zum Beispiel in einem Mobilkommunikationssystem
gemäß 4.
Demnach wird der erste private Schlüssel SK1, der im internen Nur-Lese-Speicher 202a, 202b des
Verarbeitungsblocks 2a gespeichert wird, zum Verifizieren
des elektronischen Geräts
zum Beispiel mit einer digitalen Unterschrift vorteilhafterweise
auf die folgende Art und Weise verwendet. Vorteilhafterweise wird
der zweite private Schlüssel
SK2 in einem verschlüsselten
Format im externen Nur-Lese-Speicher 3a, 3b des
Verarbeitungsblocks 2a gespeichert. Demnach wird dieser
zweite private Schlüssel
SK2 mithilfe des ersten privaten Schlüssels SK1, der im internen
Nur-Lese-Speicher 202a, 202b des Verarbeitungsblocks 2a gespeichert
ist, entschlüsselt,
wie in dieser Beschreibung früher
dargelegt wurde. Danach kann der zweite private Schlüssel SK2
zum Beispiel zum Erzeugen einer digitalen Unterschrift verwendet
werden. Die Mobilstationsmittel des elektronischen Geräts 1 werden
verwendet, um auf eine an sich bekannte Art und Weise über ein
Basisstationssystem BSS mit einer Mobildienstevermittlungseinrichtung
MSC zu kommunizieren. Auf der Stufe des Verbindungsaufbaus werden
Identifizierungsinformationen im elektronischen Gerät, zum Beispiel
von der Geräteidentität DID und
möglicherweise
von der internationalen Mobilgeräteidentität (IMEI
für engl.
international mobile device identity), ermittelt. Die Identifizierungsinformationen
können
mit einer digitalen Unterschrift verifiziert werden. Die Geräteidentität DID wird
vorteilhafterweise im internen einmal programmierbaren Nur-Lese-Speicher 202b des
Verarbeitungsblocks 2a gespeichert. Auf diese Weise wird der
Verarbeitungsblock 2a in eine geschützte Betriebsart versetzt,
und die Geräteidentität DID wird
im Direktzugriffsspeicher 203 gelesen. Danach wird zum Beispiel
mithilfe einer Hashfunktion ein Hashwert aus der Geräteidentität DID und
möglichen
anderen Identifizierungsinformationen berechnet. Der Hashwert wird
auf ein an sich bekannte Art und Weise durch Verwenden des zweiten
privaten Schlüssels
SK2 unterzeichnet. Danach wird der Verarbeitungsblock 2a in
die normale Betriebsart versetzt, und die Identifizierungsinformationen
und die digitale Unterschrift werden an den externen Direktzugriffsspeicher 2f, 3c des
Verarbeitungsblocks übertragen.
Nun können
die Identifizierungsdaten und die digitale Unterschrift zur Identifizierung
des elektronischen Geräts 1 des
Benutzers an das Mobilkommunikationsnetz übertragen werden. Das Mobilkommunikationsnetz,
zum Beispiel eine Teilnehmerdatenbasis HLR, enthält Informationen über die
internationale Mobilgeräteidentität IMEI und
den öffentlichen
Schlüssel,
der dem zweiten privaten Schlüssel
SK2 entspricht, der beim Unterzeichnen der Identifizierungsinformationen
des elektronischen Geräts 1 verwendet
wird, wobei es mithilfe des öffentlichen
Schlüssels
möglich
ist, die Echtheit der digitalen Unterschrift zu verifizieren. Demnach
ist es möglich,
sich auf die Identifizierungsdaten, welche durch das Verfahren gemäß der Erfindung
erzeugt werden, zu verlasen.
-
Es
versteht sich von selbst, dass es für verschiedene Verwendungszwecke
möglich
ist, mehr als einen privaten Schlüssel SK1 im Nur-Lese-Speicher 202a, 202b des
Verarbeitungsblocks 2a zu speichern. Andererseits kann
ein privater Schlüssel
SK1, der im Nur-Lese-Speicher 202a, 202b des Versarbeitungsblocks 2a gespeichert
ist, zum Verschlüsseln mehrerer
Schlüssel
SK2, die beim Betrieb des elektronischen Geräts benötigt werden, verwendet werden.
Außerdem
kann der erste private Schlüssel
SK1 auch zur Entschlüsselung
der Geräteidentität DID verwendet
werden, wenn die Geräteidentität DID nicht
im geschützten
internen Nur-Lese-Speicher 202a, 202b des
Verarbeitungsblocks 2a gespeichert wird. Solche Schlüssel und/oder
solch eine Geräteidentität können demnach
in einem verschlüsselten Format
in den externen Speichermitteln 2d, 2e, 3 des Verarbeitungsblocks 2a gespeichert
werden, wobei, wenn solche Schlüssel
und/oder solch eine Geräteidentität verwendet
werden, die Entschlüsselung
gemäß der Erfindung
mithilfe des ersten privaten Schlüssels SK1 erfolgt, wie in dieser
Beschreibung bereits früher
beschrieben.
-
Bei
der Verschlüsselung
und der Entschlüsselung
ist es möglich,
dieselben Schlüssel
zu verwenden (symmetrische Verschlüsselung), oder die Schlüssel können verschieden
sein (asymmetrische Entschlüsselung),
wobei die Begriffe öffentlicher Schlüssel und
privater Schlüssel
im Allgemeinen für die
Schlüssel
verwendet werden. Der öffentliche Schlüssel ist
zur Verschlüsselung
bestimmt, und der entsprechende private Schlüssel ist zur Entschlüsselung
bestimmt. Es gibt etliche bekannte Verschlüsselungsverfahren, die in Verbindung
mit der vorliegenden Erfindung angewendet werden können. Symmetrische
Verschlüsselungsverfahren,
die in diesem Zusammenhang zu erwähnen sind, umfassen den Datenverschlüsselungsstandard
(DES für
engl. Data Encryption Standard), den erweiterten Verschlüsselungsstandard
(AES für
engl. Advanced Encryption Standard) und Rivests Geheimschrift 2
(RC2 für
engl. Rivest's Cipher
2). Ein asymmetrisches Verschlüsselungsverfahren
ist Rivest, Shamir, Adelman (RSA). Es wurden auch so genannte Hybridsysteme
entwickelt, welche sowohl eine asymmetrische als auch ein symmetrische
Verschlüsselung
einsetzen. In solchen Systemen wird eine asymmetrische Verschlüsselung
normalerweise verwendet, wenn der Geheimcode, der bei der symmetrischen
Verschlüsselung
zu verwenden ist, an den Empfänger übertragen
wird, wobei der symmetrische Geheimcode bei der Verschlüsselung
von tatsächlichen
Informationen verwendet wird.
-
Für die Übertragung
von öffentlichen
Schlüsseln,
die bei der asymmetrischen Verschlüsselung zu verwenden sind,
wurde ein System entwickelt, welches Infrastruktur öffentlicher
Schlüssel
(PKI für
engl. Public Key Infrastructure) genannt wird. Dieses System umfasst
Server, bei welchen die öffentlichen Schlüssel gespeichert
werden und von welchen ein Benutzer, der einen Schlüssel benötigt, den
Schlüssel
abrufen kann. Solch ein System ist insbesondere zur Verwendung durch
Unternehmen anwendbar, wobei das Unternehmen selbst seinen öffentlichen Schlüssel an
irgendjemanden, der wünscht,
Informationen an das Unternehmen zu senden, nicht in einem verschlüsselten
Format zu übertragen
braucht.
-
Für digitale
Unterschriften wurden mehrere Systeme entwickelt, wie beispielsweise
RSA, DSA (digitaler Signaturalgorithmus) und ECC (elliptische Kurvenkryptografie
nach engl. elliptic curve cryptography). Diese Systeme verwenden
Algorithmen, welche die zu unterzeichnenden Informationen komprimieren
und den SHA-1 (Secure Hash Algorithm) und den MD5 (Message Digest
5), die in diesem Zusammenhang zu erwähnen sind, umfassen. 5 stellt
die Erzeugung einer digitalen Unterschrift in einer Grundsatzansicht
dar. Demnach werden zu unterzeichnende Daten 501 an einen
Block 505 übertragen,
der eine Hashfunktion ausführt.
Danach werden die Hashdaten, die durch die Hashfunktion erzeugt wurden,
mit einem privaten Schlüssel
SK unterzeichnet 503. Die Unterschrift 504 wird
mit den zu unterzeichnenden Daten 501 verbunden. Auf der
Stufe des Verifizierens der unterzeichneten Daten werden die Daten,
die mit der Unterschrift bestätigt
wurden, zu einem Block 505 geführt, der die Hashfunktion durchführt, um
Hashdaten 506 zu erzeugen. Die Unterschrift wird durch
Verwenden eines öffentlichen Schlüssels PK,
der dem privaten Schlüssel
des Unterzeichners entspricht, verifiziert 507, wonach
die Hashdaten 506 mit den Daten verglichen werden 508,
die bei der Verifizierung 507 der Unterschrift erzeugt
werden. Wenn die Daten übereinstimmen, kann
man sich auf die unterzeichneten Daten mit einer hohen Wahrscheinlichkeit
verlassen.
-
Auf
der Stufe der Herstellung des elektronischen Geräts 1 gemäß der Erfindung
und/oder auf der Stufe des Aktualisierens der Software werden die erforderlichen
Bestätigungsdaten
und -programme im Speicher 2d, 2e, 3a, 3b vorzugsweise
auf die folgende Art und Weise gespeichert. Die Programmcodes, welche
bei den Verifizierungen benötigt
werden, werden im Steuerblock 2 gespeichert und umfassen
ein Urladeprogramm, ein Programm zum Berechnen der digitalen Unterschrift
und einen Verschlüsselungs-
und Entschlüsselungsalgorithmus oder
-algorithmen. Der Hersteller speichert den ersten privaten Schlüssel SK1
und möglicherweise
auch die Geräteidentität DID im
Nur-Lese-Speicher 202a, 202b des Verarbeitungsblocks.
Auf der Stufe des Zusammenbauens der Komponenten (Block 302)
wird auch der Steuerblock 2 auf der Schaltungsplatte des elektronischen
Geräts 1 (nicht
argestellt) installiert. Der Hersteller speichert die anderen Anwendungsprogramme
zum Beispiel im programmierbaren Speicher 3b und/oder im
einmal programmierbaren Speicher 3a. Danach kann das elektronische
Gerät 1 an einen
Händler
oder Diensteanbieter, wie beispielsweise einen Mobiltelefonbetreiber,
geliefert werden.
-
Obwohl
hierin zuvor offenbart wurde, dass der erste private Schlüssel SK1
im Nur-Lese-Speicher 202a, 202b der geschützten Betriebsart
gespeichert wird, versteht es sich von selbst, dass anstelle desselben
andere Informationen im Nur-Lese-Speicher gespeichert werden können, auf
deren Basis der erste private Schlüssel SK1 wieder ermittelt werden kann.
Eine solche Alternative ist das Speichern einer Keimnummer, wobei
ein Programm im Programmcode des Prozessors 201 eingeführt wird,
um einen ersten privaten Schlüssel
SK1 basierend auf dieser Keimnummer zu erzeugen.
-
Es
versteht sich von selbst, dass die vorliegende Erfindung nicht nur
auf die zuvor erwähnten Ausführungsformen
beschränkt
ist, sondern innerhalb des Rahmens der angehängten Patentansprüche modifiziert
werden kann.