-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Datenverarbeitungssystem und
ein Verfahren zum Erzeugen kryptographischer Schlüssel, die
minimal vertrauenswürdige
Beziehungen mit anderen Serviceprovidern haben, die auf einer persönlichen
Sicherheitsvorrichtung installiert sind. Die kryptographischen Schlüssel können von
einer unabhängigen Partei
zum Verifizieren digitaler Zertifikate, zum Ausführen von Authentisierungen
und zum Verwenden in anderen Anwendungen, einschließlich Kartenverwaltungsfunktionen,
verwendet werden.
-
STAND DER
TECHNIK
-
Der
gegenwärtige
Stand der Technik, der das Verwalten kryptographischer Schlüssel zur
Verwendung in persönlichen
Sicherheitsvorrichtungen (Personal Security Devices – PSD) umfassend
Smartcards, Teilnehmeridentifizierungsmodule (Subscriber Identification
Modules – SIM),
drahtlose Identifikationsmodule (Wireless Identification Modules – WIM), Identifikations-Tokens
und verwandte Vorrichtungen umfasst, erfordert Beziehungen gegenseitigen
Vertrauens in Form von Austauschen und Ersetzungen kryptographischer
Schlüssel
zwischen dem PSD-Hersteller, der PSD-Ausgabestelle und nachfolgenden
dritten Serviceprovidern.
-
Austausche
und Ersetzungen kryptographischer Schlüssel sind notwendig, um Informationen mit
vorbehaltenen Rechten, die innerhalb des PSDs ist enthalten sind,
sicher zu verwalten. In einem gewöhnlich ausgeführten Verfahren
installiert ein PSD-Hersteller die Betriebsumgebung (z. B. JavaCardTM, MultosTM, Windows
for Smart CardsTM), die PSD- Seriennummer, native
Verfahren und spezifische Industrieerweiterungen während der
Maskenprogrammierung des internen ROM. Unverzüglich nach der ROM-Maskenprogrammierung
gibt der Hersteller einen anfänglichen
kryptographischen Schlüssel
in das PSD ein. Man kann sich diesen kryptographischen Schlüssel als
Masterschlüssel
höherer Ebene
vorstellen, der verwendet wird, um das PSD für die Ressourcen-Zuweisung,
die PSD-Personalisierung,
die Installation von Anwendungen Dritter und andere Merkmale, die
in der Runtime-Umgebung oder in zur Verfügung stehenden nativen Verfahren enthalten
sind, zu „entriegeln".
-
Der
Masterschlüssel
steuert das Kartenausführungsprogramm,
das in der Betriebsumgebung enthalten ist, die in dem PSD installiert
ist, und ist für gewöhnlich eher
ein symmetrischer Schlüssel
als ein asymmetrischer Schlüssel,
um die Ausführungsgeschwindigkeit
zu verbessern und die internen Speicheranforderungen herabzusetzen.
Das PSD-Maskenprogrammierungsverfahren
wird für
gewöhnlich an
einer Vielzahl von PSDs in einem Arbeitsablauf ausgeführt. Jedes
PSD empfängt
einen eindeutigen symmetrischen Schlüssel, auf den von der eindeutigen
Seriennummer des PSD querverwiesen wird, die in einer sicheren Datenbank
gespeichert ist. Die PDSs werden dann an die PSD-Ausgabestelle zur Personalisierung
und Verteilung gesendet. Die Datenbank des kryptographischen Schlüssels oder
ihr Hardcopy-Äquivalent
wird auf ähnliche
Weise sicher an die PSD-Ausgabestelle übertragen, für gewöhnlich durch
einen Kurierdienst.
-
Nachdem
die PSD-Ausgabestelle die PSDs und die kryptographischen Schlüssel von
dem Hersteller empfangen hat, erzeugt die PSD-Ausgabestelle neue
eindeutige kryptographische Schlüssel und
ersetzt die kryptographischen Schlüssel des PSD-Herstellers sicher
durch die neuen kryptographischen Schlüssel. Die neuen kryptographischen Schlüssel, die
von der PSD-Ausgabestelle
erzeugt worden sind, besitzen die gleiche höhere Autorität wie die
des Kartenherstellers, was die Installation und interne Registrierung
zusätzlicher
Provider-Dienste, einschließlich
Provider-spezifischer kryptographischer Schlüssel, erlaubt. Die PSD-Ausgabestelle
personalisiert dann die PSDs und richtet sichere Domänen zur
Installation zusätzlicher PSD-Anwendungen von zusätzlichen
Serviceprovidern ein. Die neu gebildeten sicheren Domänen werden
durch neue kryptographische Schlüssel
geschützt,
die in die PSDs während
der Konfiguration der sicheren Domänen eingespeist werden. Wie
zuvor sind die spezifischen kryptographischen Schlüssel der
sicheren Domänen
typischerweise symmetrisch, um die Verarbeitungsgeschwindigkeit
zu verbessern und die Speicheranforderungen so gering wie möglich zu
halten.
-
Die
spezifischen kryptographischen Schlüssel der sicheren Domäne sind
den Masterschlüsseln untergeordnet
und werden verwendet, um den Zugriff und die Verwaltung (hinzufügen, ändern, löschen) der
in einer spezifischen sicheren Domäne enthaltenen Informationen,
einschließlich
das Schlüsselersetzen,
zu erlauben, sie erlauben jedoch nicht den Zugriff auf andere sicheren
Domänen,
die in dem PSD vorhanden sein können.
In Ausgabestellen-zentrierten Verwaltungssystem erlaubt der Masterschlüssel, den
die PSD-Ausgabestelle besitzt, noch immer den Zugriff auf eine sichere Domäne für die gesamten
PSD-Verwaltungszwecke, die PSD-Sicherheitsmechanismen
verbieten jedoch das Lesen und den Export privater Schlüssel, die
in der sicheren Domäne
eines anderen enthalten sind. In einem Benutzer-zentrierten Verwaltungssystem
verwalten jeweils jeder Serviceprovider und der Endbenutzer das PSD.
Ein Ausgabestellen-zentriertes Verwaltungssystem wird weltweit am
häufigsten
eingesetzt.
-
In
einer offenen Plattformanordnung werden die kryptographischen Schlüssel der
sicheren Domäne
auf eine Weise sicher an jeden Serviceprovider geschickt, die dem
Schlüsselaustausch
des PSD-Herstellers/der PSD-Ausgabestelle ähnlich ist. Jeder
Serviceprovider führt
bei Aktivierung der installierten Anwendungen ein Schlüsselersetzen
der anfänglichen
Schlüssel
der sicheren Domäne
aus, indem er neue kryptographische Schlüssel eingibt oder erzeugt und
die von der PSD-Ausgabestelle installierten anfänglichen Schlüssel ersetzt.
Somit wird ungeachtet des eingesetzten PSD-Verwaltungssystems eine Kette des Vertrauens
zwischen dem PSD-Hersteller, der PSD-Ausgabestelle und jedem nachfolgenden
Serviceprovider erzeugt.
-
Eine
Beschränkung
des gegenwärtigen Stands
der Technik bei Ausgabestellen-zentrierten PSD-Verwaltungssystemen
ist die erhöhte
Abhängigkeit
von der PSD-Ausgabestelle für
die Gewährleistung
der Authentizität
und Integrität
des PSD. In Situationen der echten Welt würde eine PSD-Ausgabestelle,
die auf geschäftlichen
und rechtlichen Betrachtungen basiert, nicht in eine Vertrauensposition für Transaktionen
geraten wollen, die nichts mit ihren Geschäftsinteressen zu tun hat. Typischerweise
wird die Vertrauensbeziehung an die Zertifizierungsstelle eines
Dritten ausgelagert, die sichere domänenspezifische Informationen
nutzt, die in der Karte enthalten sind, um digitale Zertifikate
für jeden
Serviceprovider, einschließlich
dem Kartenaussteller, zu erzeugen. Diese Lösung führt dazu, dass mehrere digitale Zertifikate
für jeden
PSD erzeugt werden, von denen keines die gesamte Authentizität und Integrität des PSD
von der Entstehung bis zum gegenwärtigen Status individuell berücksichtigt.
-
Eine
weitere Beschränkung
besteht darin, dass der vertrauenswürdige Dritte möglicherweise nicht
fähig ist,
direkt auf das PSD zuzugreifen, aber Informationen, die von dem
PSD erzeugt werden, nutzen oder genehmigen muss. Beispielsweise
hat die Zertifizierungsstelle eines Dritten möglicherweise keinen Zugriff
auf ein besonderes PSD, empfängt aber
ein Zertifikat, das vermutlich von dem PSD erzeugt wurde, und ist
auf die anfängliche
Vertrauensbeziehung angewiesen, um das Zertifikat zu genehmigen.
Wie zuvor hat das empfangene digitale Zertifikat keinen direkten
Bezug zu anderen Zertifikaten, die sich in dem PSD befinden. Es
ist vollständig
möglich,
ein gültiges
digitales Zertifikat zu empfangen, das einem besonderen Serviceprovider
gehört,
obgleich andere Zertifikat, die von dem PSD erzeugt worden sind,
nicht länger
gültig
sind oder noch schlimmer die Gesamtintegrität der Karte kann beeinträchtigt werden,
was von dem Zertifikat nicht wiedergegeben wird.
-
Dokument
WO 99 19846 A beschreibt ein Personalisierungs- und Initialisierungsverfahren
einer Smartcard. In einem ersten Schritt bestimmt das Verfahren,
dass die abgeleiteten Kartenschlüssel
innerhalb der Smartcard zu verwenden sind und speichert sie an einem
ersten Ort. In einem zweiten Schritt werden die abgeleiteten Schlüssel in
einen Datensatz gepackt, der typischerweise in Form einer Ausgabedatei
vorliegt und geheime und nicht geheime Kartendaten enthält. Dieser
Datensatz wird dann an einen zweiten Ort gesendet, wo unter Verwendung
dieses Datensatzes ein Personalisierungsverfahren stattfindet. Ein
Vorteil dieses Verfahrens ist, dass es verwendet werden kann, um
mehrere Karten zu Personalisieren. Aber dieses Verfahren erzeugt keine
zuverlässige
Information und kein Zertifikat, das Informationen von der Entstehung
des PSD sicher einbindet, um zu garantieren, dass die Gesamtintegrität der Karte
nicht beeinträchtigt
worden ist.
-
Daher
wird ein Mittel zum Erzeugen zuverlässiger Informationen benötigt, das
Informationen von der Entstehung bis zum gegenwärtigen PSD-Zustand sicher einbindet
und nicht auf einzelne sichere Domänen beschränkt ist oder unter der direkten
Kontrolle einer beliebigen Partei steht. Diese Notwendigkeit ist
Gegenstand dieser Erfindung.
-
KURZDARSTELLUNG
DER ERFINDUNG
-
Die
Erfindung stellt ein System nach Anspruch 1 und ein Verfahren nach
Anspruch 17 zum Erzeugen eines zusammengesetzten symmetrischen Schlüssels bereit,
der Informationen von jedem Serviceprovider, der in einem PDS enthalten
ist, einbindet und nur einem vertrauenswürdigen Dritten bekannt ist.
Der Schlüssel
kann von einer Zertifizierungsstelle eines vertrauenswürdigen Dritten
verwendet werden, um ein digitales Zertifikat zu validieren oder
für Authentifizierungszwecke
durch den vertrauenswürdigen
Dritten.
-
Um
diese Erfindung auszuführen,
wird von dem Hersteller unverzüglich
nach der Maskenprogrammierung, aber vor der Eingabe eines ersten kryptographischen
Schlüssels
ein einen symmetrischen Schlüssel
erzeugender Algorithmus in einem PSD installiert. Diesem Algorithmus
werden Privilegien zur sicheren gemeinsamen Nutzung gewährt, was
während
sicherer Ersetzungsoperationen den Zugriff auf kryptographische
Schlüssel
erlaubt. Der Algorithmus ist so ausgelegt, dass er entweder gespeicherte
symmetrische oder private asymmetrische Schlüssel als Startparameter-Informationen zum
Erzeugen eines neuen symmetrischen Schlüssels liest. Der neue zusammengesetzte
symmetrische Schlüssel
wird erzeugt und jedes Mal, wenn eine Ersetzungsoperation eines
kryptographischen Schlüssels
ausgeführt
wurde, in einer sicheren Domäne
gespeichert.
-
Die
zusammengesetzten symmetrischen Schlüssel werden unter Verwendung
eines exklusiven arithmetischen OR-Operators (XOR) erzeugt, der
den vorhandenen symmetrischen Schlüssel mit einem neu eingespeisten
Schlüssel
Bit für
Bit vergleicht, um einen neuen zusammengesetzten symmetrischen Schlüssel zu
erzeugen. Der erste erzeugte zusammengesetzte symmetrische Schlüssel nutzt als
Input in den XOR-Operator die Geräteseriennummer und den symmetrischen
Schlüssel
des Herstellers. Der sich ergebende zusammengesetzte symmetrische
Schlüssel
wird dann sicher gespeichert. Jeder nachfolgende Schlüssel, der
dem PSD hinzugefügt
wird, wird unter Verwendung des XOR-Operators mit dem vorhandenen
zusammengesetzten symmetrischen Schlüssel verglichen, was zu einem
neuen zusammengesetzten symmetrischen Schlüssel führt, der den vorhandenen zusammengesetzten symmetrischen
Schlüssel
ersetzt. Dieses Verfahren wird jedes Mal wiederholt, wenn der Schlüsselersetzungsmechanismus
angewandt wird.
-
Damit
der Dritte die nachfolgend erzeugten zusammengesetzten symmetrischen
Schlüssel
rekonstruieren kann, ist es für
jeden Schlüsselinstallierer
(Hersteller, Ausgabestelle und nachfolgende Serviceprovider) notwendig,
dass er seine individuellen kryptographischen Schlüssel an
den Dritten sendet, der die gegenwärtigen zusammengesetzten symmetrischen
Schlüssel
unter Verwendung der Schlüssel jedes
Installierers und des XOR-Operators wie er in dem PSD ausgeführt ist,
rekonstruiert. Man nimmt an, dass Übertragungen der kryptographischen Schlüssel jedes
Installierers (oder ausreichende Informationen, um sie zu rekonstruieren)
an den Dritten außerhalb
des Bands auftreten, beispielsweise unter Verwendung eines Kurierdienstes.
Andere sichere Übertragungsverfahren
funktionieren ebenfalls. In den meisten Fällen können die kryptographischen
Informationsübertragungen
Informationen für
eine Vielzahl von PSDs umfassen, auf die von den internen Seriennummern
jeder PSD verwiesen wird.
-
Ein
Beispiel dafür,
wie der zweite symmetrische Schlüssel
eingesetzt werden kann, ist in der gleichzeitig anhängigen US-Patentanmeldung
mit der Seriennummer 09/892,904 dargelegt, eingereicht am 28. Juni
2001 mit dem Titel „A
Method And System For Generating And Verifying A Key Protection Certificate", übertragen
an den Abtretungsempfänger der vorliegenden
Erfindung und danach als Patentanmeldung ELS-1 bezeichnet. In Patentanmeldung ELS-1
wird ein symmetrischer Schlüssel
in einem verschlüsselten
Nachricht-Digest als Teil eines Programms verwendet. Das Programm
ist Teil des Nachweises, der von einem Dritten verwendet wird, dass Schlüssel verwaltet
und von einem PSD geschützt und
nicht öffentlich
gemacht werden.
-
Durch
Verringern der vertrauenswürdigen Beziehungen
zwischen allen Parteien, die bei der Verwaltung kryptographisch
geschützter
Informationen, die in einem PSD installiert sind, beteiligt sind, wird
die Stärke
des zusammengesetzten symmetrischen Schlüssels bedeutend verbessert,
da keine andere Partei als der bestimmte Dritte die Fähigkeit besitzt,
den zusammengesetzten Schlüssel
zu erzeugen. Ein Zertifikat, das den zusammengesetzten Schlüssel einbindet,
der durch das in dieser Patentanmeldung beschriebene Verfahren erzeugt
wird, bietet eine größere Gewährleistung,
dass die Gesamtintegrität
und Authentizität
des PSD nicht beeinträchtigt
worden ist.
-
Ein
weiteres Beispiel dafür,
wie der erzeugte symmetrische Schlüssel eingesetzt werden kann, wird
in der gleichzeitig anhängigen
US-Patentanmeldung
mit der Seriennummer 09/880,795 dargelegt, eingereicht am 15. Juni
2001 mit dem Titel „Method, System
And Apparatus For A Portable Transaction Device", übertragen
an den Abtretungsempfänger der
vorliegenden Erfindung und danach als Patentanmeldung JBE-1 bezeichnet.
In Patentanmeldung JBE-1 wird eine Pseudo-Zufallszahl an ein entferntes Terminal
gesendet, in dem ein PSD als Teil einer Authentifizierungsaufforderung
installiert ist. Um auf die Authentifizierungsaufforderung ordnungsgemäß zu antworten,
ist es notwendig, die Aufforderung unter Verwendung eines vorbestimmten
kryptographischen Verfahrens zu verarbeiten. Dieses System erlaubt
einem Dritten, die Telekommunikation und andere Anforderungen an
separate Serviceprovider auszulagern.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein allgemeines Systemblockdiagramm für die Implementierung der vorliegenden
Erfindung.
-
2A ist
ein Flussdiagramm, das die Einbindung eines einen zusammengesetzten
Schlüssel erzeugenden
Algorithmus' während der
Maskenprogrammierung einer persönlichen
Sicherheitsvorrichtung darstellt.
-
2B ist
ein Flussdiagramm, das die Erzeugung eines zusammengesetzten Schlüssels unter
Verwendung eines vom PSD-Hersteller eingespeisten Masterschlüssels und
einer Geräteseriennummer
darstellt.
-
3A ist
ein Flussdiagramm, das die Schlüsselersetzung
eines Herstellerschlüssels
durch einen Masterschlüssel
von der PSD-Ausgabestelle darstellt.
-
3B ist
ein Flussdiagramm, das die Erzeugung eines zusammengesetzten Schlüssels unter
Verwendung des vorhandenen zusammengesetzten Schlüssels und
des eingespeisten Masterschlüssels
von der PSD-Ausgabestelle
darstellt.
-
4A ist
ein Flussdiagramm, das die authorisierte Schlüsselerzeugung von der PSD-Ausgabestelle
und die PSD-Ressourcenzuweisung für einen Serviceprovider darstellt.
-
4B ist
ein Flussdiagramm, das die Erzeugung eines zusammengesetzten Schlüssels unter
Verwendung des vorhandenen zusammengesetzten Schlüssels und
eines eingespeisten Serviceprovider-Schlüssels darstellt.
-
5 ist
ein Flussdiagramm, das die Erzeugung eines zusammengesetzten Schlüssels durch den
vertrauenswürdigen
Dritten unter Verwendung der Informationen, die von dem PSD-Hersteller,
der PSD-Ausgabestelle und einem Serviceprovider geliefert werden,
darstellt.
-
6 ist
ein ausführliches
Blockdiagramm, das die Übertragung
von Schlüsseln
an einen vertrauenswürdigen
Dritten und die nachfolgende Erzeugung zusammengesetzter Schlüssel nach
der sequentiellen Eingabe von Schlüsseln von einer Vielzahl von
Quellen darstellt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
In
dieser Erfindung wird ein gemeinsam genutzter geheimer (symmetrischer)
Schlüssel
erzeugt und zusammen mit sequentiellen kryptographischen Schlüsselersetzungen
gespeichert. Nur ein vertrauenswürdiger
und unabhängiger
Dritter kennt den gemeinsam genutzten geheimen symmetrischen Schlüssel, der
von Schlüsseln
rekonstruiert wird, die dem vertrauenswürdigen Dritten von mehreren
Quellen unter Verwendung des genau gleichen Algorithmus', der in einem PSD
eingebunden ist, übermittelt wird.
-
In
der erfindungsgemäßen bevorzugten
Ausführungsform
wird ein PSD-Ausgabestellen-zentriertes
Verwaltungssystem eingesetzt, das eine Authorisierung durch die
Ausgabestelle erfordert, damit ein anderer Serviceprovider Anwendungen
in dem PSD installieren kann. In einer anderen erfindungsgemäßen Ausführungsform
wird ein Endbenutzer-zentriertes
Verwaltungssystem eingesetzt, das es Serviceprovidern erlaubt, Anwendungen
in dem PSD ohne vorherige Genehmigung, aber entsprechend den Anforderungen
der PSD-Ausgabestelle zu installieren.
-
Mit
Bezug auf 1 ist eine typische Anordnung
eines PSD dargestellt, in dem separate Anwendungen und kryptographische
Schlüssel
innerhalb sicherer Domänen
gespeichert sind (Anw. 1 und kryptographischer Schlüssel SP1
in sicherer Domäne 5, Anw.
2 und kryptographischer Schlüssel
SP2 in sicherer Domäne 10,
Anw. 3 und kryptographischer Schlüssel SP3 in sicherer Domäne 15)
und ein zusammengesetzter kryptographischer Schlüssel C innerhalb einer sicheren
Schlüsselspeicher-Domäne 20 installiert
ist.
-
Ein
Kartenausführungsprogramm 25,
das das PSD steuert, umfasst solche Funktionen wie das Laden und
Löschen
von Anwendungen, das Austauschen kryptographischer Schlüssel 55 und
das Routen von Befehlen an eine ausgewählte Anwendungsinformation.
In einem Ausgabestellen-zentrierten Verwaltungssystem ist das Kartenausführungsprogramm
kryptographisch durch einen Ausgabestellen-Masterschlüssel X 30 geschützt, der
den Zugriff auf das PSD beschränkt.
In einem Endbenutzer-zentrierten Verwaltungssystem ist das Kartenausführungsprogramm
nicht kryptographisch geschützt, kann
jedoch für
Sicherheitszwecke mit weniger Zugriffsberechtigungen ausgestattet
sein.
-
Optional
sind Industrieerweiterungen 35 eingebunden, die kundenangepasste
Algorithmen und Daten zum Unterstützen einer besonderen Industrie bereitstellen.
Beispielsweise stehen für
die Finanzdienstleistungsindustrie eine Anzahl von Industrieerweiterungen
zur Verfügung,
was dem PSD erlaubt, mit einer großen Vielzahl unterschiedlicher
Finanzdienstleister sicher zu arbeiten.
-
Eine
Anwendungsprogramm-Schnittstelle (API) 40 ist enthalten,
die installierten Anwendungen ermöglicht, mit internen Diensten,
gemeinsam genutzten Daten und zur Verfügung stehenden Industrieerweiterungen
zu interagieren.
-
Ein
einen zusammengesetzten Schlüssel
erzeugender Algorithmus 45 ist enthalten, der basierend
auf sequentiellen Eingaben von Schlüsseln, die anderen Providern
gehören,
einen geheimen Schlüssel
erzeugt. Dieser Algorithmus wird während der Maskenprogrammierungsphase
von dem PSD-Hersteller
installiert und wird nicht von dem Kartenausführungsprogramm 25 gesteuert.
-
Eine
virtuelle Maschine 50 ist enthalten, die ermöglicht,
dass installierte Anwendungen von der Betriebsumgebung 60 interpretiert
und ausgeführt werden.
-
Eine
Betriebsumgebung 60 ist enthalten, die ermöglicht,
auf sichere und kontrollierte Weise auf den internen Mikroprozessor,
den Co-Prozessor und jedes beliebige installierte native Verfahren
zuzugreifen.
-
Während des
PSD-Maskenprogrammierungsverfahrens wird eine eindeutige Seriennummer 65 erzeugt
und gespeichert, die alle Domänen
gemeinsam haben und auf die alle Domänen zugreifen können, die
aber über
die Lebensdauer des PSD nicht verändert werden kann.
-
Letztlich
umfasst die Bitübertragungsschicht 70,
die die Anweisungen ausführt,
die durch die Betriebsumgebung 60 erhalten wurden, den
Mikroprozessor und den Co-Prozessor.
-
2A zeigt
das Maskenprogrammierungsverfahren, das die Installation des Betriebssystems, des
den zusammengesetzten Schlüssel
erzeugenden Algorithmus' und
die Seriennummer umfasst. Das Verfahren wird durch den PSD-Hersteller
durch Initialisieren 220 eines PSD ausgelöst 210,
wobei die Maskenprogrammierung des internen PSD-ROM 230 mit
dem Betriebssystem 205 vorgenommen wird. Das Betriebssystem
umfasst die Betriebsumgebung 60, die Anwendungsprogramm-Schnittstelle
(API) 40, die virtuelle Maschine 50, optionale
Industrieerweiterungen 35, das Kartenausführungsprogramm 25 und
eine eindeutige Seriennummer 65.
-
Beim
Maskenprogrammierungsverfahren wird das Betriebssystem 205A ohne
die Seriennummer in einem EEPROM installiert. Die Seriennummer 65A wird
in einem nicht veränderbaren
ROM installiert. Nachdem das Betriebssystem installiert worden ist,
wird der den zusammengesetzten Schlüssel erzeugende Algorithmus 45 in
einem EEPROM installiert 45A.
-
Der
letzte Schritt des Herstellungsverfahrens ist die Installation eines
PSD-Masterschlüssels. Der Masterschlüssel 280 wird
in das PSD eingespeist 275 und unter Verwendung des Kartenausführungsprogramms
sicher im EEPROM 280A gespeichert. Der Hersteller-Masterschlüssel wird
vielmehr in das PSD eingespeist, als intern erzeugt, um wertvollen Speicherplatz
zu sparen und die Geschwindigkeit des Herstellungsverfahrens zu
erhöhen.
Jedes PSD empfängt
einen eindeutigen Masterschlüssel,
der extern erzeugt und auf den von der nicht veränderbaren PSD-Seriennummer
querverwiesen wird. Der Masterschlüssel 280, auf den
von der PSD-Seriennummer 65 querverwiesen wird, wird dann
an einen vertrauenswürdigen
Dritten zur letztendlichen Erzeugung eines identischen zusammengesetzten
Schlüssels
sicher gesendet 285. Das Verfahren zum Erzeugen des zusammengesetzten
Schlüssels
wird fortgesetzt 290, wie in 2B dargestellt.
-
2B zeigt
das Erzeugen und sichere Speichern des anfänglichen zusammengesetzten Schlüssels. Nachdem
der Masterschlüssel
wie zuvor beschrieben eingespeist wurde, wird das Verfahren zum
Erzeugen des zusammengesetzten Schlüssels durch Aufrufen 202 des
den zusammengesetzten Schlüssel
erzeugenden Algorithmus' 45A fortgesetzt 290,
wobei der Hersteller-Masterschlüssel 280A von seinem
Speicherort im EEPROM gelesen 204 wird, die PSD-Seriennummer 65A von
ihrem Speicherort im ROM gelesen 206 wird, auf der Maschinenebene zwischen
dem Hersteller-Masterschlüssel 280A und der
PSD-Seriennummer 65A ein exklusiver OR (XOR)-Vergleich 208 ausgeführt wird,
die Ergebnisse in Bezug auf den zusammengesetzten Schlüssel 210 ausgegeben
werden, die Speicherressourcen 212 unter Verwendung des
Betriebssystems 205A zugewiesenen werden und der zusammengesetzte Schlüssel im
EEPROM 214 sicher gespeichert wird. Das PSD und der Masterschlüssel werden
dann an die PSD-Ausgabestelle zur Personalisierung 216 gesendet,
womit das den zusammengesetzten Schlüssel erzeugende Verfahren 218 beendet
wird. Die Verwendung einer arithmetischen XOR-Funktion zum Erzeugen
eines neuen zusammengesetzten Schlüssels kann unter Verwendung
von 3DES oder anderen kryptographischen oder arithmetischen Funktionen ersetzt
werden, wodurch ein neuer eindeutiger symmetrischer Schlüssel basierend
auf vorhandenen Schlüsselinformationen
erzeugt wird.
-
3A zeigt
das Personalisierungsverfahren, in dem der Masterschlüssel des
PSD-Herstellers durch den Masterschlüssel der PSD-Ausgabestelle ersetzt
wird. Das Verfahren wird durch Auswählen 310 der Algorithmuskomponente
zur Schlüsselersetzung,
die in dem Kartenausführungsprogramm
enthalten ist, ausgelöst 305.
In Ausgabestellen-zentrierten Verwaltungssystemen, welche die bevorzugte Ausführungsform
der Erfindung ist, ist das Kartenausführungsprogramm kryptographisch
geschützt, was
erfordert, dass das Kartenausführungsprogramm
unter Verwendung des Hersteller-Masterschlüssels 280 entriegelt
wird 315. Der eingespeiste Masterschlüssel 280 wird mit
dem gespeicherten Masterschlüssel 280A verglichen;
wenn die Schlüssel
nicht zusammenpassen, endet 320 die Verarbeitung; wenn
die Schlüssel
zusammenpassen, ermöglicht
das Kartenausführungsprogramm,
dass ein neuer Ausgabestellen-Masterschlüssel 330 eingespeist werden
kann 335, was den Masterschlüssel des PSD-Herstellers ersetzt.
-
Ressourcen
werden unter Verwendung des PSD-Betriebssystems 205A zugewiesenen 340,
was ermöglicht,
dass der Ausgabestellen-Masterschlüssel im EEPROM gespeichert
werden kann 330A. Eine Kopie des Ausgabestellen-Masterschlüssels, auf
den von der PSD-Seriennummer querverwiesen wird, wird dann an den
vertrauenswürdigen
Dritten zur Verwendung bei der Erzeugung eines genau gleichen zusammengesetzten
Schlüssels
sicher gesendet 355. Die Verarbeitung wird innerhalb des
PSD fortgesetzt B 360, um einen neuen zusammengesetzten
Schlüssel
zu erzeugen.
-
3B zeigt
das Erzeugen und sichere Speichern eines neuen zusammengesetzten
Schlüssels.
Nachdem der Ausgabestellen-Masterschlüssel wie zuvor beschrieben
eingespeist worden ist, wird das den zusammengesetzten Schlüssel erzeugende Verfahren
fortgesetzt B 360, indem der den zusammengesetzten Schlüssel erzeugende
Algorithmus 45A aufgerufen wird 302, der gegenwärtige zusammengesetzte
Schlüssel 214 von
seinem Speicherort im EEPROM abgelesen wird 304, der Ausgabestellen-Masterschlüssel 330A von
seinem Speicherort im EEPROM abgelesen wird 306, ein exklusiver
OR (XOR)-Vergleich auf der Maschinenebene zwischen dem Ausgabestellen-Masterschlüssel 330A und
dem gegenwärtigen
zusammengesetzten Schlüssel 214 ausgeführt wird 308,
die Ergebnisse in Bezug auf den zusammengesetzten Schlüssel 310 ausgegeben werden,
Speicherressourcen 312 unter Verwendung des Betriebssystems 205A zugewiesenen
werden und der zusammengesetzte Schlüssel im EEPROM sicher gespeichert
wird 314, womit das Verfahren beendet wird 316.
-
4A zeigt
das Hinzufügen
eines nicht zugehörigen
Serviceprovider-Schlüssels zum
PSD durch eine Ausgabestellen-zentrierte PSD-Ausgabestelle. Das Verfahren wird durch
Auswählen 410 der Schlüsseländerungs-Algorithmuskomponente
ausgelöst 405,
die in dem Kartenausführungsprogramm enthalten
ist. Wie zuvor ist das Kartenausführungsprogramm kryptographisch
geschützt,
was erfordert, dass das Kartenausführungsprogramm unter Verwendung
des Ausgabestellen-Masterschlüssels 330 entriegelt
wird 415. Der eingespeiste Masterschlüssel 330 wird mit
dem gespeicherten Masterschlüssel 330A verglichen 425;
wenn die Schlüssel
nicht zusammenpassen, endet die Verarbeitung 420; wenn die
Schlüssel
zusammenpassen, erlaubt das Kartenausführungsprogramm der Ausgabestelle,
Ressourcen 430 zur Verwendung durch den Serviceprovider zuzuweisen
und gibt einen anfänglichen
Serviceprovider-Schlüssel 435 ein 440.
Der Serviceprovider-Schlüssel 435 wird
entweder durch die PSD-Ausgabestelle
erzeugt oder von dem Serviceprovider zur Eingabe empfangen. Aus
Gründen
der Konsistenz mit der Ausgabestellen-zentrierten bevorzugten Ausführungsform
wird angenommen, dass die PSD-Ausgabestelle den anfänglichen
Serviceprovider-Schlüssel
erzeugt.
-
Die
PSD-Ausgabestelle veranlasst, dass der anfängliche Serviceprovider-Schlüssel im
EEPROM gespeichert wird 435A. Eine Kopie des anfänglichen Serviceprovider-Schlüssels, auf
den von der PSD-Seriennummer querverwiesen wird, wird dann sicher
an den vertrauenswürdigen
Dritten gesendet 445, zur Verwendung beim Erzeugen eines
genau gleichen zusammengesetzten Schlüssels. Die Verarbeitung wird
innerhalb des PSD fortgesetzt B 450, um einen neuen zusammengesetzten
Schlüssel
zu erzeugen.
-
4B zeigt
das Erzeugen und sichere Speichern eines zweiten neuen zusammengesetzten Schlüssels. Nachdem
die Ausgabestelle den anfänglichen
Serviceprovider-Schlüssel
wie zuvor beschrieben eingespeist hat, wird das den zusammengesetzten
Schlüssel
erzeugende Verfahren fortgesetzt B 450, indem der den zusammengesetzten
Schlüssel erzeugende
Algorithmus 45A abgerufen wird 402, der gegenwärtige zusammengesetzte
Schlüssel 314 von
seinem Speicherort im EEPROM abgelesen wird 404, der anfängliche
Serviceprovider-Schlüssel 435A von
seinem Speicherort im EEPROM abgelesen wird 406, ein exklusiver
OR (XOR)-Vergleich auf der Maschinenebene zwischen dem anfänglichen Serviceprovider-Schlüssel 435A und
dem gegenwärtigen
zusammengesetzten Schlüssel 314 ausgeführt wird 408,
der neue zusammengesetzte Schlüssel ausgegeben
wird 410, Speicherressourcen 412 unter Verwendung
des Betriebssystems 205A zugewiesenen werden und der neue
zusammengesetzte Schlüssel
im EEPROM sicher gespeichert wird 414. Eine Kopie des anfänglichen
Serviceprovider-Schlüssels,
auf den von der PSD-Seriennummer querverwiesen wird, wird dann sicher
an den Serviceprovider gesendet 416, zur Verwendung beim
Zugreifen auf das PSD nach der PSD-Ausgabe an einen Endbenutzer.
Dies beendet 418 den grundlegenden Erzeugungszyklus des
zusammengesetzten Schlüssels.
Zukünftige
Serviceprovider nach der Ausgabe werden installiert und zusammengesetzte
Schlüssel werden
erzeugt, wie in diesem Dokument beschrieben.
-
5 zeigt
das gleichzeitige Erzeugen des zusammengesetzten Schlüssels, ausgeführt durch einen
vertrauenswürdigen
Dritten, der alle eingespeisten Schlüssel empfangen hat, wie zuvor
beschrieben. Das Verfahren zum Erzeugen des zusammengesetzten Schlüssels wird
durch Abrufen des äquivalenten
den zusammengesetzten Schlüssel
erzeugenden Algorithmus' 45B,
der in dem PSD eingesetzt wird, ausgelöst 505. die PSD-Seriennummer 65B wird
eingespeist und abgelesen 510, was einen Querverweis auf
den korrekten Hersteller-Masterschlüssel 280B bereitstellt,
der ebenfalls abgelesen wird 515.
-
Ein
exklusiver OR (XOR)-Vergleich wird an der PSD-Seriennummer 65B und
dem Hersteller-Masterschlüssel
ausgeführt 508A,
wobei die Ergebnisse des ersten zusammengesetzten Schlüssels 525 ausgegeben
werden und der sich ergebende zusammengesetzte Schlüssel gespeichert
wird 214B. Nach Empfangen des Masterschlüssels 330B der PSD-Ausgabestelle
wird die Verarbeitung unter Nutzen des den zusammengesetzten Schlüssel erzeugenden
Algorithmus' 45B,
Ablesen 535 des gespeicherten 214B zusammengesetzten
Schlüssels
C1, Ablesen 545 des PSD-Ausgabestellen-Schlüssels 330B,
Ausführen 508B eines
exklusiven OR (XOR)-Vergleichs zwischen dem zusammengesetzten Schlüssel 214B und
dem Hersteller- Masterschlüssel 330B fortgesetzt.
Ein neuer zusammengesetzter Schlüssel
C2 wird ausgegeben 555 und wie zuvor gespeichert 314B.
-
Nachdem
der Serviceprovider-Schlüssel 435B empfangen
worden ist, wird die Verarbeitung unter Nutzen des den zusammengesetzten
Schlüssel
erzeugenden Algorithmus' 45B,
Ablesen 565 des Serviceprovider-Schlüssels 435B, Ablesen 575 des gespeicherten
zusammengesetzten Schlüssels 314B,
Ausführen 508C eines
exklusiven OR (XOR)-Vergleichs zwischen dem zusammengesetzten Schlüssel 314B und
dem Serviceprovider-Schlüssel 435B fortgesetzt.
Ein neuer zusammengesetzter Schlüssel
C3 wird ausgegeben 585 und wie zuvor gespeichert 414B.
Dieses Verfahren wird für
jeden zusätzlichen
Serviceprovider fortgesetzt 590, der Dienste auf dem PSD
installiert, wodurch ein kontinuierliches Protokoll aller Anwendungen,
die in dem PSD seit der Herstellung installiert worden sind, bereitgestellt
wird.
-
6 ist
ein ausführliches
Blockdiagramm, das einen Überblick über die
gesamte bevorzugte Ausführungsform
der Erfindung bietet. Das PSD 600A empfängt einen anfänglichen
Masterschlüssel M 280,
der in das PSD 600A von dem PSD-Hersteller 605 nach
der Maskenprogrammierung eingespeist wird 280A. Der den
zusammengesetzten Schlüssel erzeugende
Algorithmus 45A liest 602 den eingespeisten Schlüssel 280A und 604 die
PSD-Seriennummer 65A ab
und erzeugt 606 einen ersten zusammengesetzten Schlüssel 214,
wie in PSD 600B dargestellt.
-
Der
PSD-Hersteller 605 leiteten dann das PSD, wie in PSD 600C dargestellt,
und den Masterschlüssel 280 an
die PSD-Ausgabestelle 610 sicher weiter 632 und
sendet auf sichere Weise 628 eine Kopie des Masterschlüssels 280 an
den vertrauenswürdigen
Dritten 625. Die PSD-Ausgabestelle 610 entriegelt
unter Verwendung des Masterschlüssels 280,
der von dem PSD-Hersteller 605 bereitgestellt wird, das
Kartenausführungsprogramm,
ersetzt 611 den Hersteller-Masterschlüssel 280A durch den
Ausgabestellen-Masterschlüssel 330A.
-
Der
den zusammengesetzten Schlüssel
erzeugende Algorithmus 45A liest 612 den eingespeisten
Ausgabestellen-Masterschlüssel 330A und 608 den
gegenwärtigen
zusammengesetzten Schlüssel 214 und
erzeugt 614 einen zweiten zusammengesetzten Schlüssel 314,
wie in PSD 600D dargestellt. Der zweite zusammengesetzte
Schlüssel 314 ersetzt 616 den
ersten zusammengesetzten Schlüssel 214. Bei
Beendigung der Verarbeitung sendet die PSD-Ausgabestelle 610 auf
sichere Weise 634 eine Kopie des Ausgabestellen-Masterschlüssels 330 an den
vertrauenswürdigen
Dritten 625.
-
In
PSD 600E, in einer Ausgabestellen-zentrierten Anordnung,
gibt die PSD-Ausgabestelle 610 einen
Serviceprovider-Schlüssel 435 in
das PSD ein 435A. In einer offenen Plattform-Anordnung
gibt der Serviceprovider 615 den Serviceprovider-Schlüssel 435 ein 435A.
In beiden Anordnungen liest 622 der den Schlüssel erzeugende
Algorithmus 45A den eingespeisten Serviceprovider-Schlüssel 435A,
liest 618 den gegenwärtigen
zusammengesetzten Schlüssel 314 und
erzeugt 618 einen neuen zusammengesetzten Schlüssel 414,
wie in PSD 600F dargestellt. Der neue zusammengesetzte
Schlüssel 414 ersetzt 626 den
vorhandenen zusammengesetzten Schlüssel 314. Entweder
die PSD-Ausgabestelle oder der Serviceprovider sendet auf sichere
Weise 636 eine Kopie des Serviceprovider-Schlüssels 435 an
den vertrauenswürdigen
Dritten 625.
-
Die
zuvor beschriebenen erfindungsgemäßen Ausführungsformen dienen der Veranschaulichung
und Beschreibung. Sie sollen die Erfindung nicht auf genau die beschriebene
Form beschränken. Insbesondere
wird in Betracht gezogen, dass die funktionale Implementierung der
in diesem Dokument beschriebenen Erfindung ebenso in Hardware, Software,
Firmware und/oder anderen vorhandenen funktionalen Komponenten oder
Bausteinen implementiert werden kann.
-
Andere
Abwandlungen und Ausführungsformen
sind angesichts der zuvor aufgeführten
Informationen möglich,
wobei der Umfang der Erfindung nicht durch diese ausführliche
Beschreibung beschränkt
werden soll, sondern vielmehr durch die nachfolgenden Ansprüche.