-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft sichere digitale Netzwerke.
-
Hintergrundtechnik
-
Die Übertragung
digitaler Daten, welche Inhalte repräsentieren, durch ein Kommunikationsnetzwerk
bereitet Probleme eines Schutzes der ausgetauschten Daten und Probleme
eines Verwaltens von Erlaubnissen oder Verboten, die Daten zu kopieren.
-
Um
diesen Problemen abzuhelfen, haben Hersteller von Multimedia-Hardware
Lösungen
vorgeschlagen, welche es möglich
machen, Inhalte in digitaler Form zu übertragen, während sie
das unzulässige
Kopieren dieser Inhalte verhindern. Diese Lösungen umfassen im Allgemeinen
die Benutzung von kryptografischen Systemen, in welchen ein Schlüssel oder
eine Mehrzahl von Schlüsseln
durch eine zuverlässige
Partei erzeugt wird, z.B. eine Zertifizierungsautorität, sowie
die Benutzung von sogenannten konformen Geräten oder Modulen. Jeder Schlüssel ist mit
einem Zertifikat verknüpft.
Das Zertifikat bindet den Schlüssel
kryptografisch an eine Identität
seines Eigentümers.
-
Es
kann passieren, dass ein Schlüssel
oder ein konformes Gerät
oder Modul, welches ein Geheimnis enthält, raubkopiert wird (prirated).
In dem vorigen Fall gelingt es einem "Piraten", den Schlüssel zu erhalten. In dem letzten
Fall erhält
der "Pirat" das Geheimnis.
-
Ein
Beispiel eines sicheren digitalen Netzwerkes ist ein System zum
sicheren digitalen Übertragen
von Inhalt.
-
In
einem System für
sicheres digitales Übertragen
von Inhalt ist es bekannt, eine Zurücknahmeliste handzuhaben, welche
die Identifikatoren von Schlüsseln
von Geräten
oder von Modulen enthält, welche
durch die zuverlässige
dritte Partei nicht länger
als konform angesehen werden, weil der dritten Partei die Tatsache
bewusst geworden ist, dass sie raubkopiert worden sind.
-
Die
Zurücknahmeliste
muss allen Teilnehmern in dem System kommuniziert werden, so dass die
Schlüssel,
Geräte
oder Module, welche nicht länger
konform sind, identifiziert werden können und nicht länger benutzt
werden. Z.B. werden die konformen Geräte des Systems verweigern,
mit einem nicht-konformen Gerät
oder mit einem Gerät
zu kommunizieren, welches einen nicht-konformen Schlüssel überträgt.
-
Damit
dieses wirkungsvoll ist, ist es für die konformen Geräte notwendig,
immer Zugriff auf die Zurücknahmeliste
zu haben.
-
Insbesondere
kann die Zurücknahmeliste eine
Liste von Zertifikaten enthalten, welche nicht mehr zuverlässig sein
können.
Solch eine Liste ist auch bekannt als Liste zurückgenommener Zertifikate (CRL).
-
Typischerweise
umfasst eine CRL eine Liste von Einträgen. Um eindeutig identifiziert
zu werden, ist die CRL datiert und durch den CRL-Aussteller signiert,
z.B. durch die zuverlässige
dritte Partei. Jeder Eintrag der CRL kann eine Seriennummer eines
zurückzunehmenden
Zertifikats und ein Zurücknahmedatum
umfassen.
-
Ein
Gerät,
welches in dem sicheren digitalen Netzwerk benutzt wird, kann Einschränkungen
hinsichtlich seiner Hardwarespezifikationen haben. Solch ein Gerät kann nicht
genügend
Speicher- und/oder Verarbeitungskapazitäten haben, eine ganze CRL in
seinem Speicher zu speichern und die CRL zu verarbeiten, welche
in seinem Speicher gespeichert ist, um zu prüfen, ob ein Schlüssel, das
ist das Zertifikat, welches mit diesem Schlüssel verknüpft ist, in der CRL erscheint.
Ein Beispiel für
ein solches Gerät
ist die weit verbreitete Smartcard, welche eine elektronische Schaltung
trägt,
welche einen Speicher und eine Verarbeitungseinheit umfasst. Smartcards
werden häufig
dazu gebraucht, Datenverschlüsselung
oder -entschlüsselung
durchzuführen.
-
1 illustriert
ein Beispiel einer Smartcard gemäß des Standes
der Technik. Die Smartcard 11 umfasst eine Plastikkarte 12 und
einen eingebetteten Mikrochip 13, welcher erlaubt, geheime
Information sicher zu speichern. Der Mikrochip 13 umfasst
Stifte 14, welche erlauben, mit einem externen Gerät zu kommunizieren.
Der Mikrochip 13 hat einen Speicher, welcher eine vergleichsweise
kleine Größe hat: die
Smartcard kann nicht erlauben, eine ganze CRL zu speichern.
-
Es
ist jedoch möglich,
eine Smartcard zu benutzen, um eine signierte CRL Schritt für Schritt
nach dem Vorhandensein eines bestimmten Zertifikats zu prüfen. Dies
vermeidet ein Speichern der gesamten CRL in dem Speicher der Smartcard.
-
2A illustriert
ein Beispiel eines ersten Verfahrens aus dem Stand der Technik zum
Prüfen einer
CRL mit einer Smartcard. Eine CRL 21 wird in aufeinander
folgenden kleinen Blöcken
auf eine Smartcard 22 übertragen.
Typischerweise umfasst die CRL 21 einen CRL-Identifikator
NCRL, eine CRL-Signatur SCRL und
einer Mehrzahl von Einträgen (241 , 242 ,
..., 24MAX ), wobei jeder Eintrag
eine verknüpfte
zurückgenommene
Zertifikatseriennummer (SN1, SN2,
..., SNMAX) umfasst. Jeder übertragene kleine
Block kann einen oder viele Einträge enthalten, wobei jeder Eintrag
eine einzelne zurückgenommene
Zertifikatseriennummer SNi enthält. Die
Smartcard 22 verarbeitet jeden kleinen Block, um zu prüfen, ob
ein Eintrag vorhanden ist, welcher einem bestimmten Zertifikat entspricht:
typischerweise vergleichen Verarbeitungsmittel 23 der Smartcard 22 eine Seriennummer
SN0 des bestimmten Zertifikats mit der übertragenen Seriennummer SNi eines zurückgenommenen Zertifikats.
-
Um
die CRL-Signatur SCRL zu prüfen, rechnet die
Smartcard einen Hash-Wert der aufeinanderfolgend empfangenen kleinen
Blöcke
aus. Die Hashfunktion, welche beim Erzeugen der CRL-Signatur SCRL benutzt wird, ist so entworfen, dass
der Hash-Wert Block
für Block
ausgerechnet werden kann. Nachdem alle kleinen Böcke empfangen worden sind,
das ist die gesamte CRL, und ein vollständiger Hash-Wert erhalten wurde,
wird eine Überprüfungsfunktion
auf diesen Hash-Wert, auf einen öffentlichen
Schlüssel
der zuverlässigen
dritten Partei, welche die Signatur erzeugte, und auf die CRL-Signatur SCRL angewendet, um so zu erlauben, eine Integrität der CRL
zu prüfen.
Das Prüfen
der Integrität
der CRL muss für
jedes neue Zertifikat, welches durch die Smartcard zu prüfen ist,
wiederholt werden.
-
2B illustriert
ein Beispiel eines zweiten Verfahrens aus dem Stand der Technik
zum Prüfen einer
Gültigkeit
eines bestimmten Zertifikats unter Benutzung einer CRL. Eine CRL 21 ist
in einem Hostgerät 26 gespeichert,
wobei das Hostgerät
verschieden von einer Smartcard 22 ist. Ein Zertifikat-Identifikator
SN0 des bestimmten Zertifikats wird von der Smartcard 22 auf
das Hostgerät 26 übertragen.
-
Verarbeitungsmittel 25 des
zweiten Geräts 26 schauen
nach dem Zertifikat-Identifikator SN0 unter den zurückgenommenen
Zertifikat-Identifikatoren (SN1, SN2, ..., SNMAX) der
CRL 21, welche innerhalb des Hostgeräts 26 gespeichert
ist.
-
Das
Hostgerät 26 überträgt daraufhin
ein Ergebnis des Nachschauens auf die Smartcard 22, welches
anzeigt, ob das bestimmte Zertifikat gültig ist oder nicht.
-
Wenn
z.B. ein relevanter zurückgenommener
Zertifikat-Identifikator
gleich dem übertragenen Zertifikat-Identifikator SN0
innerhalb der CRL 21 gefunden wird, weist das Hostgerät 26 einen
ersten Wert einer Booleschen Variable BV zu, z.B. wird die Boolesche
Variable BV zurückgesetzt.
Wenn die Verarbeitungsmittel 25 daran scheitern, irgendeinen
relevanten Zertifikat-Identifikator gleich dem übertragenen Zertifikat-Identifikator
SN0 innerhalb der CRL 21 zu finden, weist das Hostgerät 26 der
Booleschen Variable BV einen zweiten Wert zu, zum Beispiel wird die
Boolesche Variable BV gesetzt.
-
Das
Hostgerät 26 überträgt die Boolesche Variable
BV an die Smartcard 22. Der Wert der Booleschen Variable
BV zeigt der Smartcard 22 an, ob die CRL 21 einen
relevanten zurückgenommenen Zertifikat-Identifikator
gleich dem zu prüfenden
Zertifikat-Identifikator SN0 umfasst oder nicht. Das bestimmte Zertifikat
ist somit nur dann als gültig
bewertet, wenn die übertragene
Boolesche Variable BV gesetzt ist. Wenn die übertragene Boolesche Variable BV
zurückgesetzt
ist, ist das bestimmte Zertifikat als ungültig bewertet.
-
Die
CRL 21 umfasst typischerweise einen CRL-Identifikator NCRL und eine CRL-Signatur SCRL.
-
Die
Smartcard 22 kann auch den CRL-Identifikator NCRL speichern;
wenn ein bestimmtes Zertifikat geprüft werden muss, überträgt die Smartcard 22 den
gespeicherten Wert des CRL-Identifikators NCRL, um
somit zu erlauben, zu prüfen,
dass die CRL 21, welche innerhalb des Hostgerätes 26 gespeichert
ist, die gegenwärtig
verfügbare
CRL ist.
-
Die
CRL-Signatur SCRL erlaubt, eine Integrität der CRL 21 zu
prüfen.
-
US-A 5,793,868 beschreibt,
dass das Authentifizieren von Information für zurückgenommene Zertifikate ein
Erzeugen von Daten, welche die zurückgenommenen Zertifikate identifizieren,
ein Erzeugen von Information über
die zurückgenommenen
Zertifikate, welche die Daten umfassen ohne das Zurücknahmedatum
jedes der zurückgenommenen Zertifikate,
und ein Authentifizierenlassen der Information durch die Autorität umfasst.
Erzeugen der Daten kann ein Spezifizieren von Zertifikatseriennummern
der zurückgenommenen
Zertifikate umfassen. Authentifizieren der Informationen kann ein
digitales Signieren allein der Information, der Informationen zusammen
mit der Datumsinformation, und/oder der Information zusammen mit
zusätzlichen
Daten umfassen.
-
Zusammenfassung der Erfindung
-
In
einem ersten Aspekt stellt die Erfindung ein Verfahren zum Handhaben
einer Liste von zurückgenommenen
Zertifikaten (CRL) bereit. Die CRL wird bei dem ersten Gerät empfangen.
Die CRL umfasst mindestens einen Identifikator eines zurückgenommenen
Zertifikats. Ein Integritätsfeld,
welches mit einem Eintrag der CRL verknüpft ist, wird unter Benutzung
eines geheimen Datums errechnet, wobei ein Eintrag mindestens einen
Identifikator eines zurückgenommenen
Zertifikats der CRL umfasst. Der Eintrag und sein verknüpftes Integritätsfeld werden zu
einem zweiten Gerät übertragen,
welches verschieden von dem ersten Gerät ist. Das Verfahren umfasst
weiterhin Speichern des übertragenen
Eintrags und seines verknüpften
Integritätsfeldes
in dem zweiten Gerät.
-
In
einer ersten bevorzugten Ausführungsform
wird die Aufteilung der Liste von zurückgenommenen Zertifikaten (CRL)
in die Einträge
in dem ersten Gerät
durchgeführt.
-
In
einer zweiten bevorzugten Ausführungsform
ist das Integritätsfeld
ein Botschaftsauthentifizierungscode. Ein Schlüssel der Liste zurückgenommener
Zertifikate (CRL), welcher mit der empfangenen CRL zu verknüpfen ist,
wird als das geheime Datum ausgewählt und bei dem ersten Gerät gespeichert.
-
In
einer dritten bevorzugten Ausführungsform
umfasst das Verfahren weiterhin ein Anwenden einer Hashfunktion
auf ein Zwischendatum, um den Botschaftsauthentifizierungscode zu
errechnen. Das Zwischendatum wird von dem Eintrag, welcher mindestens
einen Identifikator eines zurückgenommenen
Zertifikats enthält,
und von dem CRL-Schlüssel abgeleitet.
-
In
einer vierten bevorzugten Ausführungsform
wird eine Mehrzahl von Identifikatoren zurückgenommener Zertifikate bei
dem zweiten Gerät
gespeichert. Die gespeicherten Identifikatoren zurückgenommener
Zertifikate sind in einer Liste von mindestens einem gesicherten
Eintragssatz organisiert. Jeder gesicherte Eintragssatz umfasst
mindestens einen Identifikator eines zurückgenommenen Zertifikats, mindestens
ein verknüpftes
Integritätsfeld
und einen CRL-Identifikator der CRL. Für jeden gesicherten Eintragssatz
wird ein Listenanordnungsfeld erzeugt. Das Listenanordnungsfeld
hat einen Inhalt, welcher erlaubt, eine Anordnung des gesicherten Eintragssatzes
innerhalb der Liste von gesicherten Eintragssätzen, welche in dem zweiten
Gerät gespeichert
ist, zu bestimmen.
-
In
einer fünften
bevorzugten Ausführungsform
wird der CRL-Identifikator
der CRL in dem ersten Gerät
gespeichert.
-
In
einer sechsten bevorzugten Ausführungsform
umfasst das Verfahren weiterhin ein Prüfen einer Integrität der empfangenen
CRL unter Benutzung einer Signatur der Liste von zurückgenommenen Zertifikaten
(CRL), welche innerhalb der CRL enthalten ist und durch eine zuverlässige dritte
Partei, welche die CRL ausstellte, erzeugt wurde.
-
In
einer siebten bevorzugten Ausführungsform
umfasst das Prüfen
der Integrität
der empfangenen CRL ein Ausrechnen eines Hashwertes der empfangenen
CRL und ein Anwenden einer Überprüfungsfunktion
auf den ausgerechneten Hashwert, auf einen öffentlichen Schlüssel der
zuverlässigen
dritten Partei und auf die Signatur, um die Integrität der CRL zu
bewerten.
-
In
einer achten bevorzugten Ausführungsform
wird ein kleiner Block der CRL bei dem ersten Gerät empfangen.
Der kleine Block der CRL umfasst mindestens einen Identifikator
eines zurückgenommenen
Zertifikats. Mindestens ein Eintrag, welcher mindestens einen Identifikator
eines zurückgenommenen
Zertifikats und das verknüpfte
Integritätsfeld beinhaltet,
wird zu dem zweiten Gerät übertragen. Der
empfangene kleine Block der CRL wird gelöscht, vor Empfangen irgendeines
weiteren kleinen Blocks der CRL.
-
Vorzugsweise
ist das erste Gerät
eine Smartcard und der CRL-Identifikator ist eine CRL-Seriennummer
der CRL.
-
In
einer neunten bevorzugten Ausführungsformen
umfasst das Verfahren weiterhin ein Prüfen einer Gültigkeit eines Zertifikats.
Ein Zertifikat-Identifikator des Zertifikats wird von dem ersten
Gerät zu dem
zweiten Gerät übertragen.
Eine Liste von Einträgen,
welche in dem zweiten Gerät
gespeichert ist, wird geprüft,
um zu beurteilen, ob die Liste einen Identifikator eines relevanten
zurückgenommenen Zertifikats
umfasst, welcher einen Wert hat, welcher einem Wert des übertragenen
Identifikators entspricht. Mindestens ein Identifikator eines zurückgenommenen
Zertifikats und das verknüpfte
Integritätsfeld
werden zu dem ersten Gerät
gemäß eines
Ergebnisses der Prüfung übertragen.
Das Verfahren umfasst weiterhin ein Überprüfen, bei dem ersten Gerät, einer
Integrität
des mindestens einen übertragenen
Identifikators eines zurückgenommenen
Zertifikats unter Benutzung des verknüpften übertragenen Integritätsfeldes
und Bewerten, bei dem ersten Gerät,
der Gültigkeit
des Zertifikats unter Benutzung mindestens des übertragenen Identifikators
des zurückgenommenen
Zertifikats.
-
In
einer zehnten bevorzugten Ausführungsform
wird der CRL-Schlüssel benutzt,
um die Integrität
des übertragenen
Identifikators des zurückgenommenen
Zertifikats zu überprüfen.
-
In
einer elften bevorzugten Ausführungsform umfasst
jeder gesicherte Eintragssatz der Liste, welche in dem zweiten Gerät gespeichert
ist, einen einzelnen Identifikator eines zurückgenommenen Zertifikats. Mindestens
ein Teil eines relevanten gesicherten Eintragssatzes wird zu dem
ersten Gerät übertragen.
Der relevante gesicherte Eintragssatz beinhaltet den Identifikator
des relevanten zurückgenommenen Zertifikats.
-
In
einer zwölften
bevorzugten Ausführungsform
umfasst das Verfahren weiterhin ein Vergleichen, bei dem ersten
Gerät,
eines Identifikators einer übertragenen
Liste von zurückgenommenen
Zertifikaten (CRL), welcher innerhalb des übertragenen gesicherten Eintragssatzes
beinhaltet ist, mit einem Identifikator einer bestimmten CRL. Der übertragene CRL-Identifikator
erlaubt, sicherzustellen, dass die Liste, welche in dem zweiten
Gerät gespeichert
ist, der bestimmten CRL entspricht. Das Verfahren umfasst weiterhin
ein Prüfen,
bei dem ersten Gerät, dass
der Identifikator des relevanten zurückgenommenen Zertifikats tatsächlich gleich
dem Identifikator des Zertifikats ist.
-
In
einer dreizehnten bevorzugten Ausführungsform umfasst jeder gesicherte
Eintragssatz der Liste, welche in dem zweiten Gerät gespeichert
ist, einen einzelnen Identifikator eines zurückgenommenen Zertifikats. Das
Verfahren umfasst weiterhin ein Übertragen
zu dem ersten Gerät
mindestens eines Teils des ersten gesicherten Eintragssatzes und
mindestens eines Teils eines ersten gesicherten Eintragssatzes und
mindestens eines Teils eines zweiten gesicherten Eintragssatzes.
Der erste gesicherte Eintragssatz und der zweite gesicherte Eintragssatz beinhalten
Identifikatoren von zurückgenommenen Zertifikaten,
welche eine Anordnung unmittelbar vor bzw. nach einer erwarteten
Anordnung des übertragenen
Identifikators des Zertifikats haben.
-
In
einer vierzehnten bevorzugten Ausführungsform werden übertragene
Identifikatoren einer Liste von zurückgenommenen Zertifikaten (CRL), welche
innerhalb der übertragenen
gesicherten Eintragssätze
beinhaltet sind, bei dem ersten Gerät mit einem Identifikator einer
bestimmten CRL verglichen. Die übertragenen
CRL-Identifikatoren erlauben, sicherzustellen, dass die Liste, welche
in dem zweiten Gerät
gespeichert ist, der bestimmten CRL entspricht. Das Verfahren umfasst
weiterhin ein Prüfen, bei
dem ersten Gerät,
dass der erste gesicherte Eintragssatz und der zweite gesicherte
Eintragssatz aufeinanderfolgend innerhalb der Liste sind, welche
in dem zweiten Gerät
gespeichert ist. Das Verfahren umfasst weiterhin ein Prüfen, bei
dem ersten Gerät, dass
der erste gesicherte Eintragssatz und der zweite gesicherte Eintragssatz
Identifikatoren von zurückgenommenen
Zertifikaten beinhalten, welche eine Anordnung unmittelbar vor bzw.
nach der erwarteten Anordnung des übertragenen Zertifikat-Identifikators haben.
-
In
einer fünfzehnten
bevorzugten Ausführungsform
umfasst jeder gesicherte Eintragssatz der Liste eine Mehrzahl von
Identifikatoren von zurückgenommenen
Zertifikaten. Die Mehrzahl von Identifikatoren von zurückgenommenen
Zertifikaten ist innerhalb des gesicherten Eintragssatzes geordnet.
-
In
einer sechzehnten bevorzugten Ausführungsform wird mindestens
ein Teil eines relevanten gesicherten Eintragssatzes zu dem ersten
Gerät übertragen.
Der relevante gesicherte Eintragssatz beinhaltet den Identifikator
des relevanten zurückgenommenen
Zertifikats.
-
In
einer siebzehnten bevorzugten Ausführungsform umfasst das Verfahren
weiterhin ein Nachschauen, in dem zweiten Gerät, nach einem alternativen
gesicherten Eintragssatz, welcher einen Identifikator eines ersten
zurückgenommenen
Zertifikats und einen Identifikator eines zweiten zurückgenommenen
Zertifikats umfasst. Der Identifikator des ersten zurückgenommenen
Zertifikats und der Identifikator des zweiten zurückgenommenen
Zertifikats haben eine Anordnung unmittelbar vor bzw. hinter einer erwarteten
Anordnung des Identifikators des relevanten Zertifikats. Der alternative
gesicherte Eintragssatz wird zu dem ersten Gerät übertragen.
-
In
einer achtzehnten bevorzugten Ausführungsform werden ein erster
alternativer gesicherter Eintragssatz und ein zweiter alternativer
gesicherter Eintragssatz zu dem ersten Gerät übertragen. Der erste alternative
gesicherte Eintragssatz und der zweite alternative gesicherte Eintragssatz
beinhalten den Identifikator des ersten zurückgenommenen Zertifikats bzw.
den Identifikator des zweiten zurückgenommenen Zertifikats.
-
In
einer neunzehnten bevorzugten Ausführungsform wird ein übertragener
Identifikator der Liste von zurückgenommenen
Zertifikaten (CRL), welcher innerhalb des übertragenen gesicherten Eintragssatzes
beinhaltet ist, bei dem ersten Gerät mit einem Identifikator einer
bestimmten CRL verglichen. Der übertragene
CRL-Identifikator erlaubt, sicherzustellen, dass die Liste, welche
in dem zweiten Gerät (62)
gespeichert ist, der bestimmten CRL entspricht.
-
In
einer zwanzigsten bevorzugten Ausführungsform ist der Inhalt des
Listenanordnungsfeldes ein Index, wobei der Index der Anordnung
des gesicherten Eintragssatzes innerhalb der Liste entspricht. Das
erste Gerät
speichert einen Maximumindex, wobei der Maximumindex dem Index des
letzten gesicherten Eintragssatzes der Liste entspricht.
-
In
einer einundzwanzigsten bevorzugten Ausführungsform ist der Inhalt des
Listenanordnungsfeldes eine Information über einen vorangehenden gesicherten
Eintragssatz innerhalb der Liste. Das erste Gerät speichert den ersten gesicherten Eintragssatz
und den letzten gesicherten Eintragssatz der Liste.
-
Vorzugsweise
ist der Zertifikat-Identifikator eine Seriennummer des Zertifikats.
-
In
einem dritten Aspekt stellt die Erfindung ein Gerät zum Handhaben
einer Liste von zurückgenommenen
Zertifikaten (CRL) bereit, wobei das Gerät umfasst:
Mittel zum
Empfangen einer CRL, wobei die CRL mindestens einen Identifikator
eines zurückgenommenen
Zertifikats umfasst;
Mittel zum Errechnen, unter Benutzung
eines geheimen Datums, eines Integritätsfeldes, welches mit einem
Eintrag der CRL verknüpft
ist, wobei ein Eintrag mindestens einen Identifikator eines zurückgenommenen
Zertifikats der CRL umfasst; und
Mittel zum Übertragen
zu einem zweiten Gerät,
verschieden von dem Gerät,
des Eintrags und seines verknüpften
errechneten Integritätsfeldes.
-
In
einer zweiundzwanzigsten bevorzugten Ausführungsform umfasst das Gerät weiterhin:
Mittel
zum Übertragen
eines Zertifikat-Identifikators eines zu prüfenden Zertifikats zu dem zweiten
Gerät;
Mittel
zum Empfangen von dem zweiten Gerät mindestens eines Eintrags,
welcher mindestens einen Identifikator eines zurückgenommenen Zertifikats und
mindestens ein verknüpftes
Integritätsfeld
beinhaltet;
Mittel zum Überprüfen einer
Integrität
des mindestens einen übertragenen
Identifikators eines zurückgenommenen
Zertifikats unter Benutzung des verknüpften übertragenen Integritätsfeldes;
und
Mittel zum Bewerten der Gültigkeit des Zertifikats unter
Benutzung mindestens des übertragenen
Identifikators des zurückgenommenen
Zertifikats.
-
In
einem vierten Aspekt stellt die Erfindung ein Gerät zum Speichern
von aufgeteilten Einträgen bereit,
welche mit einer Liste von zurückgenommenen
Zertifikaten (CRL) in Beziehung stehen, wobei das Gerät umfasst:
Mittel
zum Empfangen, von einem ersten Gerät, zumindest eines Eintrages,
welcher mindestens einen Identifikator eines zurückgenommenen Zertifikats der CRL
und ein mit dem Eintrag verknüpftes
Integritätsfeld
umfasst;
einen Speicher zum Speichern einer Mehrzahl von Identifikatoren
von zurückgenommenen
Zertifikaten, wobei die gespeicherten Identifikatoren von zurückgenommenen
Zertifikaten in einer Liste von mindestens einem gesicherten Eintragssatz
organisiert sind, wobei jeder gesicherte Eintragssatz mindestens
einen Identifikator eines zurückgenommenen
Zertifikats, mindestens ein verknüpftes Integritätsfeld und einen
CRL-Identifikator der CRL umfasst; wobei jeder gesicherte Eintragssatz
ein Listenanordnungsfeld umfasst, welches einen Inhalt hat, welcher
erlaubt, eine Anordnung des gesicherten Eintragssatzes innerhalb
der Liste von gesicherten Eintragssätzen, welche in dem Gerät gespeichert
ist, zu bestimmen.
-
In
einer dreiundzwanzigsten Ausführungsform
umfasst das Gerät
weiterhin:
Mittel zum Empfangen eines Zertifikat-Identifikators von
einem ersten Gerät;
Verarbeitungsmittel
zum Prüfen
der Liste von Einträgen,
welche in dem Speicher gespeichert ist, um so zu beurteilen, ob
die Liste einen Identifikator eines relevanten zurückgenommenen
Zertifikats umfasst, welcher einen Wert hat, welcher einem Wert
des übertragenen
Zertifikat-Identifikators entspricht; und
Mittel zum Übertragen
mindestens eines Identifikators eines zurückgenommenen Zertifikats und
des verknüpften
Integritätsfeldes
zu dem ersten Gerät gemäß eines
Ergebnisses des Prüfens.
-
Andere
Aspekte und Vorteile der Erfindung werden von der folgenden Beschreibung
und den angehängten
Ansprüchen
offensichtlich.
-
Kurze Beschreibung der Zeichnungen
-
1 illustriert
ein Beispiel einer Smartcard gemäß dem Stand
der Technik.
-
2 illustriert ein Beispiel eines Verfahrens aus
dem Stand der Technik zum Prüfen
einer CRL mit einer Smartcard.
-
2B illustriert
ein Beispiel eines zweiten Verfahrens aus dem Stand der Technik
zum Prüfen einer
Gültigkeit
eines bestimmten Zertifikats unter Benutzung einer CRL.
-
3A und 3B illustrieren
ein Beispiel eines Systems der vorliegenden Erfindung.
-
4 illustriert
einen Beispielalgorithmus, welcher durch ein Hostgerät in einem
System gemäß einer
ersten bevorzugten Ausführungsform
der vorliegenden Erfindung auszuführen ist.
-
5 illustriert
einen Beispielalgorithmus, welcher durch eine Smartcard in einem
System gemäß der ersten
bevorzugten Ausführungsform
der vorliegenden Erfindung auszuführen ist.
-
6 illustriert
ein Beispiel eines Systems gemäß einer
zweiten bevorzugten Ausführungsform der
vorliegenden Erfindung.
-
Detaillierte Beschreibung
-
Prüfen einer
Gültigkeit
eines Zertifikats wird gemeinhin durch Vergleichen eines Identifikators
des zu prüfenden
Zertifikats mit Identifikatoren von zurückgenommenen Zertifikaten einer
Liste von zurückgenommenen
Zertifikaten (CRL) durchgeführt.
-
Ein
einzelnes Gerät
kann einen Speicher zum Speichern der CRL und Verarbeitungsmittel
zum Durchführen
des Vergleichens umfassen.
-
Alternativ
kann das Gerät
einen begrenzten Speicher haben:
zum Beispiel erlaubt eine
Smartcard, dass zu prüfende
Zertifikat und andere gesicherte Daten zu sichern, aber scheitert
daran, die ganze CRL in seinem Speicher zu speichern.
-
In
einem ersten Verfahren aus dem Stand der Technik wird die CRL jedes
Mal, wenn ein Zertifikat geprüft
werden muss, in das Gerät
blockweise in kleinen Blöcken
heruntergeladen. Jeder heruntergeladene kleine Block wird bei dem
Gerät verarbeitet und
gelöscht,
bevor ein weiterer kleiner Block heruntergeladen wird. Dies kann
sich als relativ zeitaufwendig erweisen.
-
In
einem zweiten Verfahren aus dem Stand der Technik speichert ein
Hostgerät
die CRL und führt ein
Nachschauen nach einem Zertifikat-Identifikator innerhalb der CRL
durch. Ein Ergebnis des Nachschauens, z.B. eine Boolesche Variable,
welches anzeigt, ob das zu prüfende
Zertifikat gültig
ist oder nicht, wird zu dem Gerät,
z.B. einer Smartcard, übertragen.
-
Ein
Hacker kann jedoch der Smartcard ein falsches Ergebnis des Nachschauens übertragen. Das
Ergebnis des Nachschauens wird derart verändert, dass das Zertifikat
als gültig
bewertet wird. Zum Beispiel empfängt
die Smartcard eine falsche Boolesche Variable, welche einen Wert
hat, welcher anzeigt, dass das Zertifikat gültig ist.
-
Es
gibt einen Bedarf für
ein System und ein Verfahren, welche ein sichereres Prüfen einer
Gültigkeit
eines Zertifikats mit einem Speicher-begrenzten Gerät erlauben.
-
3A und 3B illustrieren
ein Beispiel eines Systems gemäß der vorliegenden
Erfindung.
-
Das
System umfasst ein erstes Gerät 31 und ein
zweites Gerät 32,
verschieden von dem ersten Gerät 31.
Wie in 3A illustriert ist, empfängt anfänglich das
erste Gerät 31 eine
CRL 33, verarbeitet die empfangene CRL und überträgt die verarbeitete CRL
zu dem zweiten Gerät 32.
Das zweite Gerät 32 umfasst
einen zweiten Speicher 34, welcher erlaubt, die verarbeitete
CRL zu speichern.
-
Die
CRL 33, welche bei dem ersten Gerät empfangen ist, umfasst mindestens
einen Identifikator (SNl, ..., SNp) eines
zurückgenommenen
Zertifikats.
-
Die
empfangene CRL 33 wird in dem ersten Gerät 31 verarbeitet,
um in Einträge
(371, ... 37p) aufgeteilt zu werden, wobei jeder
Eintrag mindestens einen Identifikator eines zurückgenommenen Zertifikats umfasst
und dann wird für
jeden Eintrag der CRL ein Integritätsfeld (MACi)
errechnet. Das Errechnen umfasst ein geheimes Datum, z.B. eine geheime Funktion
oder einen geheimen Schlüssel.
-
Das
errechnete Integritätsfeld
(MACi) und der verknüpfte Eintrag, welcher mindestens
einen Identifikator (SNi) eines zurückgenommenen
Zertifikats umfasst, werden zu dem zweiten Gerät (32) übertragen
und in ihm gespeichert.
-
Wenn
ein Zertifikat, welches einen Zertifikat-Identifikator SN0 hat,
bewertet werden muss, wird der Zertifikat-Identifikator SN0 zu dem zweiten Gerät 32 übertragen,
wie in 3B illustriert ist. Ein Verarbeitungsmittel 35 des
zweiten Geräts
erlaubt, die verarbeitete CRL, welche in dem zweiten Speicher 34 gespeichert
ist, zu prüfen,
um so zu beurteilen, ob die verarbeitete CRL einen Identifikator
eines relevanten zurückgenommenen
Zertifikats umfasst, welcher einen Wert hat, welcher einem Wert
des Zertifikat-Identifikators
SN0 gleicht.
-
Alternativ
ist das Verarbeitungsmittel Teil eines dritten Geräts, welches
verschieden von dem ersten Gerät
und verschieden von dem zweiten Gerät ist.
-
Das
zweite Gerät 32 gibt
ein Ergebnisdatum an das Gerät 31 gemäß eines
Ergebnisses des Prüfens
aus. Das Ergebnisdatum umfasst mindestens einen Identifikator SNi0 eines zurückgenommenen Zertifikats der
Liste und das verknüpfte
Integritätsfeld MACi0.
-
Das übertragene
Integritätsfeld
MACi0 erlaubt eine Integrität des Identifikators
SNi0 des verknüpften zurückgenommenen Zertifikats zu überprüfen.
-
Die
Gültigkeit
des Zertifikats SN0 wird nachfolgend unter Benutzung des übertragenen
Identifikators SNi0 des zurückgenommenen
Zertifikats bewertet.
-
Das
System der vorliegenden Erfindung erlaubt, eine Gültigkeit
eines Zertifikats, welches in einem ersten Gerät mit einem relativ kleinen
Speicher gespeichert ist, rasch zu bewerten. Das erste Gerät muss eine
CRL nur einmal, in einem anfänglichen Schritt,
wie in 3A illustriert, verarbeiten.
Die verarbeitete Liste wird in einem zweiten Gerät gespeichert, was erlaubt,
ein Nachschauen nach einem Zertifikat-Identifikator eines Zertifikats
bei dem zweiten Gerät
durchzuführen.
-
Das
erste Verfahren aus dem Stand der Technik, welches ein blockweises
Herunterladen der CRL in das erste Gerät in kleinen Blöcken umfasst, ist
zeitaufwendiger als das Verfahren der vorliegenden Erfindung.
-
Weiterhin
umfasst das Verfahren der vorliegenden Erfindung ein Überprüfen einer
Integrität
von einem übertragenen
Ergebnisdatum, was erlaubt, irgendeine Änderung in einem Inhalt des übertragenen Identifikators
SNi0 eines zurückgenommenen Zertifikats zu
detektieren. Das Verfahren der vorliegenden Erfindung erlaubt somit,
ein sichereres Prüfen
der Gültigkeit
des Zertifikats bereitzustellen als das zweite Verfahren aus dem
Stand der Technik.
-
Wieder
mit Bezug auf 3A wird die CRL 33 typischerweise
bei dem ersten Gerät 31 blockweise
in kleinen Blöcken
empfangen. Jeder kleine Block wird verarbeitet und zu dem zweiten
Gerät 32 übertragen,
bevor er bei dem ersten Gerät 31 gelöscht wird.
-
In
dem in 3A illustrierten Beispiel kann jeder
kleine Block einen oder viele Identifikatoren (SNl,
..., SNp) von zurückgenommenen
Zertifikaten umfassen.
-
Das
Verarbeiten eines empfangenen kleinen Blocks der CRL 33 bei
dem ersten Gerät 31 besteht in
einem Aufteilen des kleinen Blocks in einen oder mehrere Einträge 37i (wobei jeder Eintrag einen einzelnen
Identifikator eines zurückgenommenen
Zertifikats oder eine Mehrzahl von Identifikatoren von zurückgenommenen
Zertifikaten umfasst) und Erzeugen eines gesicherten Eintragssatzes
SESi für
jeden Eintrag 37i . Jeder gesicherte
Eintragssatz SESi wird zu dem zweiten Gerät 32 übertragen
und innerhalb des zweiten Speichers 34 gespeichert.
-
Jeder
gesicherte Eintragssatz SESi wird von einem
verknüpften
Eintrag 37i erzeugt. Der gesicherte
Eintragssatz SESi umfasst zusätzlich zu
dem Index i mindestens einen Identifikator SNi eines
zurückgenommenen
Zertifikats des verknüpften
Eintrags 37i , dass Integritätsfeld MACi, welches für den Eintrag 37i errechnet ist, und den CRL-Identifikator
NCRL der CRL 33.
-
Der
CRL-Identifikator NCRL der CRL wird in einem
ersten Speicher 36 des ersten Geräts 31 gehalten.
-
Vorzugsweise
ist das Integritätsfeld
ein Botschaftsauthentifizierungscode MACi.
Der Botschaftsauthentifizierungscode MACi wird
bei dem ersten Gerät 31 von
dem Identifikator des zurückgenommenen
Zertifikats oder Identifikatoren SNi des verknüpften Eintrags 37i und von einem CRL-Schlüssel KCRL, welcher bei dem ersten Gerät 31 ausgewählt ist,
errechnet.
-
Der
CRL-Schlüssel
KCRL kann an eine bestimmte CRL angehaftet
sein und kann daher ersetzt werden, wenn eine neue CRL bei dem ersten
Gerät 31 empfangen
wird. Alternativ ist der CRL-Schlüssel KCRL an dem ersten Gerät 31 angehaftet und
bleibt auf einem gleichen Wert.
-
Typischerweise
umfasst das erste Gerät 31 ein
Auswählen-Mittel 39,
um den CRL-Schlüssel
KCRL zufällig
auszuwählen.
Eine Hashfunktion wird auf ein Zwischendatum angewendet, um den
Botschaftsauthentifizierungscode MACi zu
errechnen. Das Zwischendatum wird von dem Identifikator des zurückgenommenen
Zertifikats oder von den Identifikatoren SNi des
verknüpften
Eintrags 37i und von einem CRL-Schlüssel KCRL abgeleitet.
-
Zum
Beispiel wird das Zwischendatum in einer binären Form gespeichert und umfasst
Identifikator-Bits, welche dem Identifikator des zurückgenommenen
Zertifikats oder Identifikatoren SNi des
verknüpften
Eintrags 37i entsprechen, welche
von Schlüssel-Bits
gefolgt sind, welche dem CRL-Schlüssel KCRL entsprechen.
-
Der
errechnete Botschaftsauthentifizierungscode MACi hat
einen Wert, welcher sowohl von dem Identifikator des zurückgenommenen
Zertifikats oder den Identifikatoren SNi als
auch von dem CRL-Schlüssel
KCRL abhängt.
-
Alternativ
sind der Identifikator des zurückgenommenen
Zertifikats oder die Identifikatoren SNi des
Eintrags mit dem CRL-Schlüssel
KCRL vor oder nach einem Anwenden der Hashfunktion
verschlüsselt.
-
Das
Integritätsfeld
kann auch durch Anwenden einer geheimen Funktion auf den Identifikator des
zurückgenommenen
Zertifikats oder Identifikatoren SNi des
Eintrags errechnet werden. Die geheime Funktion kann bei dem ersten
Gerät gehalten
werden.
-
Allgemeiner
kann das Integritätsfeld
irgendein anderes Datum sein, welches erlaubt, eine Integrität des Identifikators
des zurückgenommenen Zertifikats
oder der Identifikatoren SNi des Eintrags zu überprüfen.
-
Das
Errechnen des Botschaftsauthentifizierungscodes MACi kann
auch andere Felder des gesicherten Eintragssatzes SESi involvieren,
z.B. ein Listenanordnungsfeld, welches eine Anordnung des gesicherten
Eintragssatzes SESi innerhalb der Liste, welche
in dem zweiten Gerät 32 gespeichert
ist, anzeigt. Der Botschaftsauthentifizierungscode MACi erlaubt
somit möglicherweise,
eine Integrität
des gesicherten Eintragssatzes SESi zu überprüfen.
-
Wenn
es einem Hacker gelingt, eine Seriennummer SNi eines
zurückgenommenen
Zertifikats zu modifizieren, wenn sie zwischen dem ersten Gerät 31 und
dem zweiten Gerät 32 übertragen
wird, erlaubt das Integritätsfeld
MACi, dieses Modifizieren zu detektieren.
-
Das
erste Gerät 31 kann
auch eine Integrität der
empfangenen CRL 33 selbst über eine CRL-Signatur SCRL, welche innerhalb der CRL beinhaltet
ist, prüfen,
wobei diese Signatur SCRL durch eine zuverlässige dritte
Partei erzeugt worden ist, welche die CRL ausstellte. Ein Verschlüsselungs-Mittel 38 des ersten
Geräts
erlaubt, einen Hash-Wert der empfangenen CRL 33 auszurechnen.
Eine Hashfunktion, welche beim Erzeugen der CRL-Signatur SCRL benutzt ist, ist so entworfen, dass der
Hash-Wert blockweise ausgerechnet werden kann. Eine Überprüfungsfunktion
wird dann auf den ausgerechneten Hashwert, auf einen öffentlichen
Schlüssel
der zuverlässigen
dritten Partei und auf die Signatur SCRL angewendet,
um die Integrität
der CRL 33 zu bewerten.
-
Ungleich
zu dem Verfahren aus dem Stand der Technik, wobei das Prüfen der
Integrität
der CRL für
jedes neue zu prüfende
Zertifikat wiederholt werden muss, erfordert das Verfahren der vorliegenden Erfindung,
dass das Prüfen
nur bei dem anfänglichen Schritt,
wenn eine neue CRL heruntergeladenen wird, durchgeführt wird.
-
Das
in 3A illustrierte System erlaubt einen Zugriff auf
die Identifikatoren von zurückgenommenen
Zertifikaten der CRL von dem ersten Gerät 31 aus. Wenn ein
Zertifikat bewertet werden muss, wird der Zertifikat-Identifikator
SN0 zu dem zweiten Gerät 32 übertragen,
wie in 3B illustriert ist.
-
Unter
einer Liste von gespeicherten gesicherten Eintragssätzen (SESl, ... SESi, ...,
SESp) wird nach dem Zertifikat-Identifikator
SN0 geschaut. Das zweite Gerät 32 überträgt mindestens
einen Teil mindestens eines gesicherten Eintragssatzes SESi0 zu dem ersten Gerät gemäß eines Ergebnisses des Nachschauens.
Der übertragene
Teil umfasst mindestens einen Identifikator SNi0 eines
zurückgenommenen
Zertifikats und ein Integritätsfeld
MACi0 des gesicherten Eintragssatzes SESi0.
-
Ein Überprüfungs-Mittel 311 des
ersten Geräts 31 erlaubt,
eine Integrität
des übertragenen
Identifikators SNi0 des zurückgenommenen
Zertifikats zu überprüfen.
-
Die
Gültigkeit
des Zertifikats wird nachfolgend bei Bewertungs-Mittel 310 des
ersten Geräts 31 unter
Benutzung mindestens des übertragenen
Identifikators SNi0 des zurückgenommenen
Zertifikats bewertet. Das Bewerten umfasst typischerweise ein Vergleichen
des übertragenen
Identifikators SNi0 des zurückgenommenen
Zertifikats mit dem Identifikator SN0 des zu prüfenden Zertifikats.
-
Wenn
der übertragene
Identifikator SNi0 des zurückgenommenen
Zertifikats und der Zertifikat-Identifikator SN0 denselben Wert
haben, wird das Zertifikat als ungültig bewertet.
-
Wenn
der übertragene
Identifikator SNi0 des zurückgenommenen
Zertifikats und der Zertifikat-Identifikator SN0 verschiedene Werte
haben, wird das Zertifikat als gültig
bewertet.
-
Das
erste Gerät
kann jedoch zusätzliche Tests
durchführen,
um einen durch einen Hacker durchgeführten Angriff zu detektieren.
-
Der
Angriff kann z.B. darin bestehen, einen Algorithmus, welcher innerhalb
des zweiten Geräts implementiert
ist, illegal zu modifizieren. Zum Beispiel modifiziert ein Hacker
das Hostgerät
derart, dass das Hostgerät
immer einen alten Identifikator eines zurückgenommenen Zertifikats ausgibt
und den verknüpften
Botschaftsauthentifizierungscode: In diesem Fall ist es sehr unwahrscheinlich,
dass der Zertifikat-Identifikator SN0 gleich dem alten Identifikator
des zurückgenommenen
Zertifikats ist.
-
Dem
Hacker kann es auch gelingen, einen Wert eines Zertifikat-Identifikators
eines zu prüfenden
zurückgenommenen
Zertifikats während
eines Übertragens
des Zertifikat-Identifikators zu dem Hostgerät zu modifizieren. Das Hostgerät scheitert nachfolgend
daran, den Identifikator des relevanten zurückgenommenen Zertifikats zu
finden.
-
Das
erste Gerät
führt somit
typischerweise zusätzliche
Tests durch, um einen möglichen
Angriff zu detektieren, wie etwa ein Modifizieren des Algorithmus', welcher durch das
Hostgerät
ausgeführt wird,
oder ein Modifizieren des Wertes des Zertifikat-Identifikators,
welcher zu dem Hostgerät übertragen
wird.
-
Wenn
z.B. ein Differenzwert zwischen dem übertragenen Identifikator SNi0 des zurückgenommenen Zertifikats und
dem Zertifikat-Identifikator SN0 oberhalb eines vorbestimmten Schwellwerts
ist, kann das erste Gerät
einen Angriff durch einen Hacker vermuten.
-
Das
erste Gerät
kann auch einen vorangehenden Identifikator eines zurückgenommenen
Zertifikats, welcher von dem Hostgerät bei einem Prüfen eines
verschiedenen Zertifikats empfangen wird, speichern: Wenn der übertragene
Identifikator SNi0 des zurückgenommenen
Zertifikats einen selben Wert wie der gespeicherte vorangehende
Identifikator eines zurückgenommenen
Zertifikats hat, kann das Zertifikat als ungültig bewertet werden.
-
Ein
bevorzugtes Verfahren, welches erlaubt, ein mögliches Modifizieren des Algorithmus', welcher durch das
Hostgerät
ausgeführt
wird, oder des übertragenen
Zertifikat-Identifikators
SN0 zu detektieren, ist in einem weiteren Paragraph der vorliegenden
Beschreibung beschrieben.
-
Vorzugsweise
ist das erste Gerät 31 eine Smartcard.
Das zu prüfende
Zertifikat kann der Smartcard angehaftet sein: Zum Beispiel wird
das Zertifikat in die Smartcard bei einem Herstellen der Smartcard
heruntergeladen. Alternativ wird das Zertifikat regelmäßig ersetzt.
-
Vorzugsweise
ist der CRL-Identifikator NCRL eine Seriennummer
der CRL.
-
Alternativ
ist der CRL-Identifikator NCRL ein Ausstellungsdatum
der CRL.
-
Vorzugsweise
ist jeder Zertifikat-Identifikator eine Seriennummer eines zurückgenommenen
Zertifikats oder ein Teil der Seriennummer.
-
Alternativ
kann der Zertifikat-Identifikator das Zertifikats selbst sein.
-
Der
Zertifikat-Identifikator kann irgendein Datum sein, welches erlaubt,
dass entsprechende Zertifikat zu identifizieren.
-
Das
Auswählen-Mittel 39,
das Verschlüsselung-Mittel 38,
dass Bewerten-Mittel 310 und das Überprüfen-Mittel 311 können, wie
in 3A und 3B repräsentiert,
vier getrennte Elemente des ersten Geräts 31 sein. Das Auswählen-Mittel,
das Verschlüsselung-Mittel,
das Bewerten-Mittel
und das Überprüfen-Mittel
sind jedoch vorzugsweise Teil einer einzelnen Verarbeitungseinheit,
z.B. eines Mikroprozessors der Smartcard.
-
Das
Auswählen-Mittel 39,
das Verschlüsselung-Mittel 38,
das Bewerten-Mittel 310 und das Überprüfen-Mittel 311 kommunizieren
mit dem ersten Speicher 36, z.B. einem Smartcard-Speicher.
-
Erste
bevorzugte Ausführungsform
der vorliegenden Erfindung 4 illustriert
einen Beispielalgorithmus, welcher durch ein Hostgerät in einem
System gemäß einer
ersten bevorzugten Ausführungsform
der vorliegenden Erfindung ausgeführt wird. Das zweite Gerät ist ein
Hostgerät,
welches mit einem ersten Gerät,
zum Beispiel einer Smartcard, kommuniziert.
-
Die
Smartcard überträgt eine
Liste von gesicherten Eintragssätzen
(SESi, ..., SESj,
..., SESjMAX) während eines anfänglichen
Schritts zu dem Hostgerät.
Jeder gesicherte Eintragssatz umfasst eine einzelne Seriennummer
(SNl, ..., SNj,
..., SNjMAX) eines zurückgenommenen Zertifikats und
einen verknüpften
Botschaftsauthentifizierungscode.
-
Jeder
gesicherte Eintragssatz (SESi, ...,SESj, ...,SESjMAX) umfasst
weiterhin ein Listenanordnungsfeld. Das Listenanordnungsfeld umfasst eine
Information über
einen vorangehenden gesicherten Eintragssatz innerhalb der Liste.
Ein erster gesicherter Eintragssatz SES1 in
der Liste umfasst ein Listenanordnungsfeld, welches einen vorbestimmten
Wert beinhaltet. Die Smartcard speichert den ersten gesicherten
Eintragssatz SES1 und einen letzten gesicherten
Eintragssatz SESjMAX. Der Inhalt des Listenanordnungsfeldes
erlaubt somit, die gesicherten Eintragssätze (SESi,
..., SESj, ..., SESjMAX) der
Liste innerhalb der Liste zu ordnen.
-
Alternativ
beinhaltet das Listenanordnungsfeld eine Information über einen
folgenden gesicherten Eintragssatz innerhalb der Liste, wobei der
letzte gesicherte Eintragssatz SESjMAX ein
mit einem vorbestimmten Wert gefülltes
Listenanordnungsfeld hat.
-
Alternativ
umfasst das Listenanordnungsfeld einen Index, welcher einer Anordnung
des gesicherten Eintragssatzes innerhalb der Liste entspricht.
-
Allgemeiner
hat das Listenanordnungsfeld einen Inhalt, welcher erlaubt, eine
Anordnung des gesicherten Eintragssatzes innerhalb der Liste zu
bestimmen.
-
Das
Hostgerät
umfasst einen zweiten Speicher, welcher erlaubt, die Liste zu speichern.
In der ersten bevorzugten Ausführungsform
der vorliegenden Erfindung sind die gesicherten Eintragssätze innerhalb
der Liste in aufsteigender Abordnung bezüglich der Seriennummern (SN1, ..., SNj, ...,
SNjMAX) der zurückgenommenen Zertifikate geordnet.
-
Wenn
ein Zertifikat geprüft
werden muss, überträgt die Smartcard
eine Zertifikatseriennummer SN0 des Zertifikats zu dem Hostgerät.
-
Das
Hostgerät
prüft die
Liste, um zu beurteilen, ob die Liste eine Seriennummer eines relevanten zurückgenommenen
Zertifikats umfasst, welche einen Wert hat, welcher einem Wert der übertragenen Zertifikatseriennummer
SN0 gleicht.
-
Die übertragene
Zertifikatseriennummer SN0 wird mit der ersten Seriennummer SN1 eines zurückgenommenen Zertifikats der
Liste verglichen (Kasten 51).
-
Wenn
die übertragene
Zertifikatseriennummer SN0 kleiner ist als die erste Seriennummer
SN1 eines zurückgenommenen Zertifikats, überträgt das Hostgerät den ersten
gesicherten Eintragssatz SES1 zu der Smartcard
(Kasten 52).
-
Wenn
die übertragene
Zertifikatseriennummer SN0 größer als
die erste Seriennummer SN1 eines zurückgenommenen
Zertifikats ist, wird ein zweiter Test durchgeführt: Die übertragene Zertifikatseriennummer
SN0 wird mit der letzten Seriennummer SNjMAX der
Liste verglichen (Kasten 53).
-
Wenn
die übertragene
Zertifikatseriennummer SN0 größer ist
als die letzte Seriennummer SNjMAX eines
zurückgenommenen
Zertifikats überträgt das Hostgerät den letzten
gesicherten Eintragssatz SESjMAX zu der
Smartcard (Kasten 54).
-
Wenn
die übertragene
Zertifikatseriennummer SN0 größer ist
als die erste Seriennummer SN1 eines zurückgenommenen
Zertifikats und kleiner als die letzte Seriennummer SNjMAX,
eines zurückgenommenen
Zertifikats, setzt das Hostgerät
eine Indexvariable i zurück
(Kasten 55). Die Indexvariable wird nachfolgend erhöht (Kasten 56).
-
Es
wird weiter geprüft,
ob die übertragene Zertifikatseriennummer
SN0 einer gegenwärtigen Seriennummer
SNi eines zurückgenommenen Zertifikats gleicht,
welche der gegenwärtigen
Indexvariable i entspricht (Kasten 57).
-
Wenn
die übertragene
Zertifikatseriennummer SN0 der gegenwärtigen Seriennummer SNi eines zurückgenommenen Zertifikats gleicht,
das heißt die
Liste umfasst die Seriennummer des relevanten zurückgenommenen
Zertifikats, welche gleich der übertragenen
Zertifikatseriennummer SN0 ist, überträgt das Hostgerät als ein
Ergebnisdatum den relevanten gesicherten Eintragssatz SESi (Kassen 58).
-
Andererseits
wird die gegenwärtige
Seriennummer SNi eines zurückgenommenen
Zertifikats mit der übertragenen
Zertifikatseriennummer SN0 verglichen (Kasten 59) und,
wenn SNi kleiner als SN0 ist, wird die Indexvariable
i erhöht
(Kasten 56).
-
Wenn
andererseits SNi größer als SN0 ist, was bedeutet,
dass SN0 zwischen SNi-l und SNi umfasst
ist, überträgt das Hostgerät als Ergebnisdatum zu
der Smartcard zwei gesicherte Eintragssätze SESi-1 und
SESi, welche den beiden Seriennummern der zurückgenommenen
Zertifikate entsprechen, welche die übertragene Zertifikatseriennummer
SN0 überspannen
(Kasten 510).
-
Der
Nachschauen-Algorithmus nach der übertragenen Zertifikatseriennummer
SN0 innerhalb der Liste, welche in 4 illustriert
ist, ist nur ein Beispiel. Das Nachschauen kann mit verschiedenen
Algorithmen implementiert werden.
-
5 illustriert
einen Beispielalgorithmus, welcher durch eine Smartcard in einem
System gemäß der ersten
bevorzugten Ausführungsform
der vorliegenden Erfindung auszuführen ist.
-
Die
Smartcard kommuniziert mit einem Hostgerät, welches eine Nachschauen
nach einer Zertifikatseriennummer SN0 durchführt und ein Ergebnisdatum RD überträgt, wie
in 4 illustriert. Die Smartcard empfängt das
Ergebnisdatum RD (Kasten 512), das heißt ein oder zwei gesicherte Eintragssätze der
Liste, welche in dem Hostgerät
gespeichert ist.
-
Die
Smartcard prüft,
ob das Ergebnisdatum RD ein oder zwei gesicherte Eintragssätze umfasst (Kasten 513).
-
Wenn
ein einzelner gesicherter Eintragssatz SESi0 als
das Ergebnisdatum empfangen wird, wird in Betracht gezogen, dass
die in dem Hostgerät
gespeicherte Liste eine Seriennummer SNi0 eines
relevanten zurückgenommenen
Zertifikats umfasst, welche gleich der Zertifikatseriennummer SN0
ist, oder dass eine der "Grenz"bedingungen erfüllt ist
(SESi0 = SES1 oder
SESi0 = SESjMAX).
Eine Mehrzahl von Prüfungen
(Kästen 540, 515 und 516)
wird dann durchgeführt,
bevor das Zertifikats als ungültig
bewertet wird (Kasten 517).
-
Ein
erstes Prüfen
(Kasten 514) besteht darin, zu überprüfen, dass ein übertragener
CRL-Identifikator NCRL (i0) welcher
innerhalb des empfangenen gesicherten Eintragssatzes SESi0 beinhaltet ist, einem CRL-Identifikator
NCRL gleicht, welcher in der Smartcard bei
einem anfänglichen
Schritt gespeichert wurde. Das erste Prüfen erlaubt, sicherzustellen,
dass die in dem Hostgerät
gespeicherte Liste einer bestimmten Liste von zurückgenommenen
Zertifikaten (CRL) entspricht, welche tatsächlich verfügbar ist.
-
Ein
zweites Prüfen
(Kasten 515) besteht darin, eine Integrität des übertragenen
gesicherten Eintragssatzes SESi0 von einem
Botschaftsauthentifizierungscode MACi0,
welcher innerhalb des übertragenen
gesicherten Eintragssatzes SESi0 beinhaltet
ist, und von einem CRL-Schlüssel
KCRL, welcher in der Smartcard gespeichert
ist, zu überprüfen. Zum
Beispiel wendet die Smartcard eine Hashfunktion auf ein Zwischendatum,
welches sich von der Seriennummer SNi0 des
relevanten zurückgenommenen
Zertifikats und von dem CRL-Schlüssel KCRL, welche in der Smartcard gespeichert
ist, ableitet, an, um so einen Überprüfungscode
der Seriennummer SNi0 des relevanten zurückgenommenen
Zertifikats zu erhalten. Der Überprüfungscode
der Seriennummer SNi0 des relevanten zurückgenommenen
Zertifikats wird mit dem Botschaftsauthentifizierungscode MACi0, welcher innerhalb des übertragenen
gesicherten Eintragssatzes SESi0 beinhaltet
ist, verglichen: Wenn sie verschieden sind, wird in Betracht bezogen,
dass der Inhalt des übertragenen
gesicherten Eintragssatzes SESi0 geändert ist.
-
Ein
drittes Prüfen
besteht darin, zu überprüfen, dass
die Seriennummer SNi0 des relevanten zurückgenommenen
Zertifikats tatsächlich
der Zertifikatseriennummer SN0 gleicht (Kasten 516).
-
Wenn
die drei Prüfungen
(Kästen 514, 515 und 516)
erfolgreich durchgeführt
sind, wird das Zertifikat als ungültig bewertet (Kasten 517).
-
Wenn
in dem dritten Prüfen
gefunden wird, dass SNi0 verschieden von
der Zertifikatseriennummer SN0 ist, dann wird ein viertes Prüfen durchgeführt, was
darin besteht, zu überprüfen, ob
SN0 kleiner als SNi0 ist (Kasten 524),
was nur dann der Fall ist, wenn SESi0 =
SES1. Wenn das vierte Prüfen erfolgreich ist, wird in
Betracht bezogen, dass die Seriennummer SN0 gültig ist (Kasten 522).
Im gegenteiligen Fall wird ein fünftes
Prüfen
durchgeführt,
um zu überprüfen, ob
SN0 größer ist
als SNi0 (Kasten 525), was nur
dann der Fall ist, wenn SESi0 = SNjMAX. Wenn dieses fünfte Prüfen erfolgreich ist, wird das
Zertifikat als gültig
bewertet (Kasten 522).
-
Wenn
andererseits irgendeine der Prüfungen,
welche in Kästen 514, 515 oder 525 durchgeführt werden,
negativ ist, wird in Betracht gezogen, dass die Hostantwort korrumpiert
ist (Kasten 523). In diesem Fall kann, abhängig von
der gewählten
Implementation, das Zertifikat als ungültig bewertet werden oder der
ganze Prozess kann erneut gestartet werden: Wieder überträgt die Smartcard 31 die
Seriennummer SN0 des zu prüfenden
Zertifikats zu dem Host 32 und erwartet auf ein weiteres
Ergebnisdatum. Diese Anfrage nach einem Ergebnisdatum von dem Host
kann wiederholt werden, bis eine Maximalzahl von Malen erreicht
ist (z.B. zweimal oder dreimal).
-
Zurückkehrend
wieder auf Kasten 513 wird, wenn, folgend des Prüfens des
Ergebnisdatums, beurteilt wird, dass das Ergebnisdatum einen Satz
von zwei übertragenen
gesicherten Eintragssätzen
umfasst, eine Mehrzahl von Prüfungen
durchgeführt (Kästen 518, 519, 520, 521),
bevor irgendein Bewerten der Gültigkeit
des Zertifikats erlaubt wird (Kasten 522).
-
Übertragene
CRL-Identifikatoren NCRL (j0) und NCRL (k0), welche innerhalb
eines ersten empfangenen gesicherten Eintragssatzes SESj0 bzw.
innerhalb eines zweiten empfangenen gesicherten Eintragssatzes SESk0 beinhaltet sind, werden mit dem CRL-Identifikator
NCRL, welcher in der Smartcard gespeichert
ist, verglichen (Kasten 518). Solch ein sechstes Prüfen (Kasten 518)
erlaubt es, sicherzustellen, dass die Liste, welche in dem Hostgerät gespeichert
ist, der bestimmten Liste von zurückgenommenen Zertifikaten (CRL)
entspricht, welche tatsächlich
verfügbar
ist. Wenn irgendeiner der übertragenen
CRL-Identifikatoren NCRL (j0) und
NCRL (k0) verschieden
von dem CRL-Identifikator NCRL ist, welcher in
der Smartcard gespeichert ist, kann in Betracht gezogen werden,
dass die Smartcard oder das Hostgerät betrügerisch ersetzt worden sind.
Es kann nachfolgend in Betracht gezogen werden, dass das Zertifikat
ungültig
ist.
-
Die
Integrität
des ersten übertragenen
gesicherten Eintragssatzes SESj0 wird von
dem Botschaftsauthentifizierungscode MACj0,
welcher innerhalb des ersten übertragenen
gesicherten Eintragssatzes SESj0 beinhaltet
ist, und von dem CRL-Schlüssel
KCRL, welcher in der Smartcard gespeichert
ist, geprüft
(Kasten 519). Solch ein siebtes Prüfen kann über eine Hashfunktion durchgeführt werden:
Die Hashfunktion kann z.B. auf ein Zwischendatum angewendet werden,
welches von einer Seriennummer SNj0 eines
ersten zurückgenommenen
Zertifikats und von dem CRL-Schlüssel KCRL abgeleitet ist, wie in dem zweiten Prüfen (Kasten 515). Wenn
das siebte Prüfen
(Kasten 519) dazu führt,
in Betracht zu ziehen, dass ein Inhalt des ersten übertragenen
gesicherten Eintragssatzes SESj0 geändert ist,
kann das Zertifikat als ungültig
bewertet werden.
-
Ähnlich wird
die Integrität
des zweiten übertragenen
gesicherten Eintragssatzes SESk0 von dem Botschaftsauthentifizierungscode
MACk0, welcher innerhalb des zweiten übertragenen
gesicherten Eintragssatzes SESk0 beinhaltet
ist, und von dem CRL-Schlüssel
KCRL, welcher in der Smartcard gespeichert
ist, geprüft
(Kasten 519).
-
Nachfolgend
wird geprüft,
dass der erste übertragene
gesicherte Eintragssatz SESj0 und der zweite übertragene
gesicherte Eintragssatz SESk0 tatsächlich aufeinander
folgend innerhalb der Liste, welche in dem zweiten Gerät gespeichert
ist, sind (Kasten 520). Solch ein achtes Prüfen (Kasten 520) wird
typischerweise unter Benutzung von Listenanordnungsfeldern der übertragenen
gesicherten Eintragssätze
SESj0 und SESk0 durchgeführt.
-
Wenn
jedes Listenanordnungsfeld eines gegebenen gesicherten Eintragssatzes
der Liste eine Information über
einen vorangehenden gesicherten Eintragssatz umfasst, wie in der
ersten bevorzugten Ausführungsform
beschrieben, kann das achte Prüfen
darin bestehen, zu überprüfen, dass
die Informationen, welche innerhalb des Listenanordnungsfeldes des
zweiten gesicherten Eintragssatzes SESk0 beinhaltet
ist, tatsächlich
dem ersten gesicherten Eintragssatz SESj0 entspricht.
-
Alternativ
umfasst jedes Listenanordnungsfeld eines gegebenen gesicherten Eintragssatzes
der Liste einen Index des gegebenen gesicherten Eintragssatzes:
In diesem Fall kann das Prüfen
einfach darin bestehen, zu überprüfen, dass
die mit dem ersten gesicherten Eintragssatz SESj0 und
dem zweiten gesicherten Eintragssatz SESk0 verknüpften Indizes tatsächlich aufeinander
folgend sind.
-
Schließlich prüft die Smartcard,
dass der erste gesicherte Eintragssatz SESj0 und
der zweite gesicherte Eintragssatz SESk0 tatsächlich unmittelbar
vor bzw. hinter dem relevanten gesicherten Eintragssatz innerhalb
der Liste, welche in dem Hostgerät
gespeichert ist, angeordnet sind (Kasten 521).
-
In
der ersten bevorzugten Ausführungsform, wobei
die gesicherten Eintragssätze
der Liste in einer aufsteigenden Anordnung in Hinsicht auf die Seriennummern
(SNl, ..., SNj,
..., SNjMAX) von zurückgenommenen Zertifikaten angeordnet
sind, besteht das neunte Prüfen
(Kasten 521) darin, zu überprüfen, dass
die Zertifikatseriennummer SN0 einen Wert zwischen einem Wert einer
Seriennummer SNj0 eines ersten zurückgenommenen
Zertifikats und einer Seriennummer SNk0 eines
zweiten zurückgenommenen Zertifikats
hat, welche in dem ersten gesicherten Eintragssatz SESj0 bzw.
dem zweiten gesicherten Eintragssatz SESk0 beinhaltet
sind.
-
Das
sechste Prüfen
(Kasten 518), dass siebte Prüfen (Kasten 519),
das achte Prüfen
(Kasten 520) und das neunte Prüfen (Kasten 521) erlauben, ein
vollständigeres
Sicheren des Systems bereitzustellen. Tatsächlich ist das Hostgerät typischerweise ein
ungeschütztes
Gerät:
Ein Hacker kann nicht nur Daten ändern,
welche zwischen der Smartcard und dem Hostgerät übertragen werden, sondern kann auch
auf ein Verarbeitungsmittel des Hostgerätes zugreifen und einen implementierten
Algorithmus modifizieren.
-
Z.B.
kann der Hacker mit dem zweiten Verfahren des Standes der Technik
das Verarbeitungsmittel derart modifizieren, dass eine Boolesche
Variable, welche zu der Smartcard übertragen wird, immer einen
selben Wert hat, das heißt,
irgendein zu prüfendes
Zertifikat wird als gültig
bewertet.
-
Mit
einem System gemäß der vorliegenden Erfindung
könnte
der Hacker den implementierten Algorithmus derart modifizieren,
dass für
jeden Wert des übertragenen
Zertifikat-Identifikators SN0 immer ein selbes Paar von Identifikatoren
von zurückgenommenen
Zertifikaten und den verknüpften
Botschaftsauthentifizierungscodes zu der Smartcard übertragen
werden. Typischerweise umfasst das Paar einen Identifikator eines
alten zurückgenommenen
Zertifikats, um so sicherzustellen, dass irgendein relativ neues
Zertifikat als gültig
bewertet wird. Das Verfahren gemäß der ersten
bevorzugten Ausführungsform
der vorliegenden Erfindung erlaubt jedoch, solch ein Scheitern in
dem Algorithmus des Hostgeräts
zu detektieren: Insbesondere erlaubt das neunte Prüfen (Kasten 521)
zu erkennen, dass das Paar von Identifikatoren von zurückgenommenen Zertifikaten
tatsächlich
nicht den übertragenen
Zertifikat-Identifikator innerhalb der Liste überspannen würde. Der
Zertifikat-Identifikator kann nachfolgend als ungültig bewertet
werden. Die Smartcard kann auch blockiert werden oder ihr kann verboten
werden, mit dem Hostgerät
zu kommunizieren.
-
Wenn
das sechste Prüfen
(Kasten 518), das siebte Prüfen (Kasten 519),
das achte Prüfen
(Kasten 520) und das neunte Prüfen (Kasten 521) erfolgreich durchgeführt sind,
wird das Zertifikat als gültig
bewertet (Kasten 522).
-
Andererseits,
wenn irgendeine der Prüfungen,
welche in Kästen 518, 519, 520 oder 521 durchgeführt werden,
negativ ist, wird in Betracht gezogen, dass die Hostantwort korrumpiert
ist (Kasten 521), was bedeutet, dass entweder das Zertifikat
als ungültig
bewertet wird oder dass der Prozess wieder gestartet wird, wie vorher
erläutert.
-
5 illustriert
nur ein Beispiel eines Algorithmus', welcher innerhalb der Smartcard zu
implementieren ist. Das Prüfen
(Kasten 514, 515, 516, 518, 519, 520 und 521)
kann einer unterschiedlichen Anordnung folgend durchgeführt werden.
Zum Beispiel kann der übertragene
CRL-Identifikator und die Integrität des übertragenen gesicherten Eintragssatzes
geprüft
werden, bevor geprüft
wird, ob das Ergebnisdatum einen oder zwei gesicherte Eintragssätze umfasst:
Die Smartcard prüft
einen übertragenen CRL-Identifikator und
die Integrität
eines einzelnen übertragenen
gesicherten Eintragssatzes, ob das Ergebnisdatum einen oder zwei
gesicherte Eintragssätze
umfasst.
-
Zweite bevorzugte Ausführungsform der vorliegenden
Erfindung
-
6 illustriert
ein Beispiel eines Systems gemäß einer
zweiten bevorzugten Ausführungsform der
vorliegenden Erfindung. Das System umfasst ein erstes Gerät, z.B.
eine Smartcard 61, welche einen Speicher 66 hat,
und ein zweites Gerät,
welches mit dem ersten Gerät
kommuniziert, z.B. eine Hostgerät 62,
welches einen Speicher 64 und ein Verarbeitungsmittel 65 hat.
Eine Liste von zurückgenommenen
Zertifikaten (CRL), welche durch Bezugsnummer 67 illustriert
ist, wird zuerst in der Smartcard 61 verarbeitet, um gesicherte
Eintragssätze
SESi zu erzeugen, welche dann in dem Hostspeicher 64 gespeichert
werden.
-
In
der zweiten bevorzugten Ausführungsform der
vorliegenden Erfindung wird jeder gesicherte Eintragssatz SESi von einer Mehrzahl von Seriennummern (SNl, ..., SNjMAX) von
zurückgenommenen
Zertifikaten der CRL erzeugt. Jeder gesicherte Eintragssatz SESi kann eine vorbestimmte Zahl von Seriennummern
von zurückgenommenen
Zertifikaten (z.B. vier) umfassen oder die Zahl von Seriennummern von
zurückgenommenen
Zertifikaten pro gesicherter Eintragssatz kann variabel sein.
-
Jeder
gesicherte Eintragssatz SESi umfasst einen
CRL-Identifikator
NCRL, welcher charakteristisch für die CRL 67 ist,
von welcher der gesicherte Eintragssatz erzeugt ist.
-
Die
gesicherten Eintragssätze
SESi umfassen auch ein Listenanordnungsfeld
(631 , ..., 63i ,
... 63iMAX ), welches eine Anordnung
zwischen den gesicherten Eintragssätzen (SESl,
..., SESi, ..., SESiMAX) definiert,
zum Beispiel einen Index, wie in 6 illustriert.
-
Die
Seriennummern (SNfi, ..., SNli)
von zurückgenommenen
Zertifikaten jedes einzelnen gesicherten Eintragssatzes SESi sind auch innerhalb des gesicherten Eintragssatzes
sortiert, z.B. in einer aufsteigenden Anordnung von einer ersten
Seriennummer SNfi eines zurückgenommenen
Zertifikats zu einer letzten Seriennummer SNli eines
zurückgenommenen
Zertifikats, wie in 6 illustriert.
-
Ein
Botschaftsauthentifizierungscode (MAC1,
..., MACi, ..., MACiMAX)
wird weiter für
jeden gesicherten Eintragssatz SESi von
der Mehrzahl von Seriennummern (SNfi, ...,
SNli) von zurückgenommenen Zertifikaten des
gesicherten Eintragssatzes SESi und von
dem CRL-Schlüssel
KCRL ausgerechnet. Alternativ können andere
Felder des gesicherten Eintragssatzes SESi benutzt
werden, um den MACi-Wert auszurechnen.
-
Die
gesicherten Eintragssätze
können
weiterhin zusätzliche
Felder umfassen, z.B. ein Feld mit einem Smartcard-Identifikator der
Smartcard, mit welcher das Hostgerät arbeiten soll.
-
Die
Smartcard speichert einige Parameter, was ein weiteres Prüfen des
Ergebnisdatums, welches von dem Hostgerät empfangen wird, erlaubt. Typischerweise
speichert die Smartcard den CRL-Identifikator NCRL,
welcher charakteristisch für die
bestimmte gegenwärtig
verfügbare
CRL ist, einen CRL-Schlüssel
KCRL, welcher beim Errechnen des Botschaftsauthentifizierungscodes
(MAX1, ..., MAC16) benutzt
wird. Ein Maximalindex iMAX, welcher einem letzten
gesicherten Eintragssatz SESiMAX der Liste und/oder
einer vorbestimmten Zahl von Seriennummern von zurückgenommenen
Zertifikaten pro gesicherter Eintragssatz entspricht, kann auch
in der Smartcard gespeichert werden, abhängig von der gewählten Implementation.
-
Wenn
die Smartcard 61 die Gültigkeit
eines Zertifikats, welches eine Zertifikatseriennummer SN0 hat,
prüfen
muss, überträgt die Smartcard
die Zertifikatseriennummer SN0 zu dem Hostgerät 62 und das Hostgerät führt ein
Nachschauen nach der Zertifikatseriennummer SN0 unter der Liste
von gesicherten Eintragssätzen
(SES1, ..., SESi,
..., SESiMAX) durch.
-
Wenn
das Hostgerät-Verarbeitungsmittel 65 findet,
dass die Liste einen relevanten gesicherten Eintragssatz SESi0 umfasst, welcher eine relevante zurückgenommene
Seriennummer SNi0 gleich der Zertifikatseriennummer
SN0 beinhaltet, wird der relevante gesicherte Eintragssatz zu der
Smartcard als das Ergebnisdatum übertragen.
-
Wenn
andererseits das Hostgerät-Verarbeitungsmittel 65 daran
scheitert, irgend einen relevanten gesicherten Eintragssatz zu finden,
welcher eine relevante Seriennummer eines zurückgenommenen Zertifikats gleich
der Zertifikatseriennummer SN0 beinhaltet, gibt das Hostgerät ein Ergebnisdatum,
wie unten erklärt,
zurück.
-
In
einer ersten Alternative nehmen wir an, dass die Seriennummern (SN1, ..., SNiMAX) von
zurückgenommenen
Zertifikaten der CRL 67 in den gesicherten Eintragssätzen (SES1, ..., SESi, ...,
SESiMAX) ohne Redundanz gespeichert sind.
In dieser Alternative:
- – kann entweder das Host-Verarbeitungsmittel 65 einen
relevanten gesicherten Eintragssatz SESi0 finden,
welcher zwei Seriennummern SNj und SNj+1 von zurückgenommenen Zertifikaten derart beinhaltet,
dass SNj < SN0 < SNj+l,
in welchem Fall der Host 62 den relevanten gesicherten
Eintragssatz SESi0 als Ergebnisdatum zu
der Smartcard 61 sendet;
- – oder
das Host-Verarbeitungsmittel 65 findet, dass die relevante
Zertifikatseriennummer SN0 zwischen der letzten Seriennummer SNli0 eines zurückgenommenen Zertifikats des gesicherten Eintragssatzes
SESi0 und der ersten Seriennummer SNfl0+1 eines zurückgenommenen Zertifikats des
folgenden gesicherten Eintragssatzes SESi0+1 umfasst
ist, in welchem Fall der Host 62 die aufeinander folgenden
gesicherten Eintragssätze SESi0 und SESi0+1 als
Ergebnisdatum zu der Smartcard 61 sendet.
-
In
einer zweiten Alternative nehmen wir an, dass die Seriennummern
(SN1, ..., SNiMAX)
von zurückgenommenen
Zertifikaten der CRL 67 in den gesicherten Eintragssätzen (SES1, ..., SESi, ...,
SESiMAX) derart gespeichert sind, dass jede
letzte Seriennummer SNli eines zurückgenommenen
Zertifikats eines gegebenen Eintragssatzes SESi (außer dem letzten
gesicherten Eintragssatz SESiMAX) auch als die
erste Seriennummer SNfi+1 eines zurückgenommenen
Zertifikats des nachfolgenden gesicherten Eintragssatzes SESi+1 gespeichert ist, das heißt SNli = SNfi+1. In dieser
zweiten Alternative sollte das Host-Verarbeitungsmittel 65 immer
in der Lage sein, einen relevanten gesicherten Eintragssatz SESi0 zu finden, welcher zwei Seriennummern
SNj und SNj+l von
zurückgenommenen
Zertifikaten beinhaltet, derart das SNj < SN0 < SNj+1,
in welchem Fall der Host 62 den relevanten gesicherten
Eintragssatz SESi0 als Ergebnisdatum zu
der Smartcard 61 sendet.
-
In
den oben erwähnten
zwei Alternativen haben wir jedoch "Grenz"bedingungen, wo die Zertifikatseriennummer
SN0 kleiner als die erste Seriennummer eines zurückgenommenen Zertifikats SNfl = SN1 des ersten
gesicherten Eintragssatzes SESl der Liste
ist, in welchem Fall das Hostgerät 62 den
ersten gesicherten Eintragssatz SES1 sendet.
-
Ähnlich kann
eine weitere "Grenz"bedingung in den
zwei oben erwähnten
Alternativen erfüllt
sein, wenn die Zertifikatseriennummer SN0 größer als die Seriennummer SNliMAX = SNjMAX eines
zurückgenommenen
Zertifikats des letzten gesicherten Eintragssatzes SESiMAX der
Liste ist, in welchem Fall das Hostgerät 62 den letzten gesicherten
Eintragssatz SESiMAX zu der Smartcard 61 sendet.
-
Wie
in der ersten bevorzugten Ausführungsform
der vorliegenden Erfindung beschrieben, führt die Smartcard 61 eine
Mehrzahl von Prüfungen
auf einen Empfangen des Ergebnisdatums hin durch.
-
In
der zweiten bevorzugten Ausführungsform umfasst
das Ergebnisdatum mindestens einen gesicherten Eintragssatz SESi0 der Liste. Die Smartcard 61 prüft, dass
der übertragene
CRL-Identifikator NCRL, welcher innerhalb
des übertragenen
gesicherten Eintragssatzes beinhaltet ist, tatsächlich gleich dem CRL-Identifikator
ist, welcher in der Smartcard 61 gespeichert ist, um somit
zu erlauben, sicherzustellen, dass die Liste, welche in dem Hostgerät gespeichert
ist, einer verfügbaren
CRL entspricht.
-
Die
Integrität
des mindestens einen übertragenen
gesicherten Eintragssatzes SESi0 kann auch von
dem verknüpften
Botschaftsauthentifizierungscode MACi0 und
von dem CRL-Schlüssel
KCRL, welcher in der Smartcard 61 gespeichert
ist, überprüft werden.
-
Wenn
das Ergebnisdatum einen einzelnen gesicherten Eintragssatz umfasst,
kann der übertragene
gesicherte-Eintragssatz
die relevante Seriennummer eines zurückgenommenen Zertifikats gleich der
Zertifikatseriennummer SN0 beinhalten, er kann zwei Seriennummern
SNj und SNj+1 beinhalten,
derart, dass SNj < SN0 < SNj+1, oder, wenn eine der "Grenz"bedingungen, welche oben erwähnt sind,
erfüllt
ist, kann der übertragene
gesicherte Eintragssatz gleich zu SES1 oder
gleich zu SESiMAX sein. Die Smartcard bestimmt
somit, ob der einzelne gesicherte Eintragssatz SESi0 die
relevante Zertifikatseriennummer SN0 umfasst oder nicht.
-
In
dem ersten Fall wird beurteilt, dass die Zertifikatseriennummer
SN0 in der gegenwärtigen Liste
von zurückgenommenen
Zertifikaten beinhaltet ist und dass das entsprechende Zertifikat
ungültig
ist.
-
In
dem letzten Fall, prüft
die Smartcard, dass der einzelne gesicherte empfangene Eintragssatz SESi0 tatsächlich
zwei Seriennummern SNj und SNj+1 von
zurückgenommenen
Zertifikaten umfasst, derart, dass SNj < SN0 < SNj+1,
oder dass die Zertifikatseriennummer SN0 kleiner ist als die erste
Seriennummer SNfi0 eines zurückgenommenen
Zertifikats des gesicherten Eintragssatzes SESi0 (wenn
SESi0 = SES1), oder,
dass SN0 größer ist
als die letzte Seriennummer SNli0 eines
zurückgenommenen
Zertifikats des gesicherten Eintragssatzes SESi0 (wenn SESl0 = SESiMAX).
-
Wenn
das durch die Smartcard empfangene Ergebnisdatum zwei gesicherte
Eintragssätze
SESi0 und SESi0+1 umfasst,
sucht die Smartcard 61 nach den zwei Seriennummern SNj und SNj+1 von zurückgenommenen
Zertifikaten unter den Seriennummern von zurückgenommenen Zertifikaten der
zwei gesicherten Eintragssätze
derart, dass SNj < SN0 < SNj+1 Wenn die zwei Seriennummern SNj und SNj+1 von zurückgenommenen
Zertifikaten innerhalb des Ergebnisdatums identifiziert worden sind,
ob das Ergebnisdatum einen oder zwei gesicherte Eintragssätze umfasst,
prüft die
Smartcard, dass diese zwei Seriennummern SNj und
SNj+1 von zurückgenommenen Zertifikaten tatsächlich aufeinander
folgend innerhalb der Liste sind. Das Zertifikat wird nachfolgend
als gültig
beurteilt.
-
Das
Zertifikat, welches die Seriennummer SN0 hat, wird auch als gültig beurteilt,
wenn eine der "Grenz"bedingungen erfüllt ist,
das heißt
wenn die Zertifikatseriennummer SN0 kleiner ist als die erste Seriennummer
SNfi0 eines zurückgenommenen Zertifikats des
empfangenen gesicherten Eintragssatzes SESi0 (wenn
SESi0 = SES1) oder
wenn SN0 größer als
die letzte Seriennummer SNli0 eines zurückgenommenen
Zertifikats des gesicherten Eintragssatzes SESi0 ist
(wenn SESi0 = SESiMAX).
-
Während die
Erfindung mit Rücksicht
auf eine begrenzte Zahl von Ausführungsformen
beschrieben worden ist, werden diejenigen, welche in der Technik
ausgebildet sind und den Vorteil dieser Offenbarung haben, anerkennen,
dass andere Ausführungsformen
entworfen werden können,
welche nicht von dem Geltungsbereich der Erfindung, wie hierin offenbart,
abweichen. Demgemäß sollte
der Geltungsbereich der Erfindung nur durch die angehängten Ansprüche begrenzt
sein.