-
Die
vorliegende Erfindung betrifft ein Verfahren auf einem portablen
Datenträger zum Ausführen eines Schreibkommandos
eines Endgeräts in einen schreibgeschützten Speicherabschnitt
eines Speichers des Datenträgers, sowie einen derartigen
portablen Datenträger und ein Endgerät.
-
Es
ist bekannt, auf einem mit einem Speicher ausgestatteten portablen
Datenträger einen schreibgeschützten Speicherabschnitt
einzurichten, beispielsweise eine geschützte Speicherpartition
oder dergleichen, auf die ein Endgerät, beispielsweise
ein Telekommunikations- oder Nutzerendgerät, wie z. B. ein
Mobilfunktelefon, ein Computer, ein Laptop, eine Digitalkamera oder
dergleichen, nur bei Nachweis einer Schreibberechtigung schreibend
zugreifen kann. Dazu führt der Datenträger eine
Authentifizierung des betreffenden Endgeräts bzw. seines
Nutzers durch und prüft, ob die erforderliche Schreibberechtigung
von Speicherzugriffsrechten umfasst ist, die dem Endgerät
bzw. dessen Nutzer zugeordnet wurden.
-
In
diesem Zusammenhang offenbart die
EP 1
673 958 ein Verfahren zur Betriebsmittelverwaltung eines
Mobilfunkendgeräts, bei dem die Zugriffsberechtigung eines
Nutzers von einer in das Mobilfunkendgerät eingesetzten
SIM-Mobilfunkkarte unabhängig von einem etwaigen Anmeldevorgang
gegenüber dem Mobilfunknetz geprüft wird.
-
Die
DE 10 2007 050 463
A1 offenbart ein Verfahren für einen Zugriff auf
einen portablen Datenträger mittels eines Zugriffskommandos,
das entweder als herkömmliches Speicherzugriffskommando
in einen Speicher des Datenträgers ausgeführt
werden kann oder, sofern in dem Zugriffskommando eine Leitinformation
vorliegt, an ein Sicherheitsmodul weitergeleitet werden und dort
die Ausführung von sicherheitsrelevanten Funktionen zur
Folge haben kann, z. B. eine Authentifizierung, Signaturbildung
oder dergleichen. Hierbei werden die Leitinformation und mögliche
zusätzliche Anwendungsinformationen derart in das Zugriffskommando
eingebettet, dass das Zugriffskommando einem Datenkommunikationsprotokoll
entspricht, das für herkömmliche Speicherzugriffskommandos
bestimmt ist.
-
Es
ist die Aufgabe der vorliegenden Erfindung, einen in einem portablen
Datenträger eingerichteten schreibgeschützten
Speicherabschnitt einerseits möglichst umfassend vor unberechtigten Schreibzugriffen
zu schützen und dies andererseits für die den
Schreibzugriff auslösende Instanz möglichst transparent
durchzuführen.
-
Diese
Aufgabe wird durch ein Verfahren sowie einen Datenträger
und ein Endgerät mit den Merkmalen der unabhängigen
Patentansprüche gelöst. In den davon abhängigen
Ansprüchen sind vorteilhafte Ausgestaltungen und Weiterbildungen
der Erfindung angegeben.
-
Ein
erfindungsgemäßer Datenträger führt
einen Schreibzugriff eines Endgeräts in einen schreibgeschützten
Speicherabschnitt eines Speichers des Datenträgers nur
aus, wenn eine Schreibberechtigung derjenigen Instanz festgestellt
wird, die den Schreibzugriff mittels eines von dem Endgerät
an den Datenträger übertragenen Schreibkommandos
ausgelöst hat. Diese Instanz kann beispielsweise das Endgerät
selbst oder ein auf dem Endgerät ange meldeter Nutzer sein.
Erfindungsgemäß umfasst ein derartiges von der
betreffenden Instanz ausgelöstes und von dem Datenträger
empfangenes Schreibkommando Authentisierungsdaten und Nutzdaten,
wobei eine Steuereinrichtung des Datenträgers anhand der Authentisierungsdaten
prüft, ob die Instanz die benötigte Schreibberechtigung
besitzt, die Nutzdaten in einen Speicherblock des schreibgeschützten
Speicherabschnitts zu schreiben, der von dem Schreibkommando vorgegeben
wird.
-
Die
von dem Datenträger zu prüfende Schreibberechtigung
betrifft erfindungsgemäß nicht nur eine prinzipielle
bzw. unspezifische Schreibberechtigung der das Schreibkommando auslösenden Instanz,
sondern ist zudem abhängig von dem betreffenden Speicherblock
und den einzuschreibenden Nutzdaten. In die Prüfung der
Schreibberechtigung gehen also drei Kriterien ein, die unmittelbar
anhand des Schreibkommandos geprüft werden können,
so dass die Prüfung der Schreibberechtigung allein aufgrund
des Schreibkommandos möglich ist und weitere Anmelde- oder
Authentisierungsschritte vermieden werden können. Auf diese
Weise kann eine Schreibberechtigung einerseits wesentlich spezifischer
und zielgerichteter geprüft werden und andererseits entstehen
keine weiteren Anforderungen an die auslösende Instanz,
z. B. an einen Nutzer des Endgeräts.
-
Die
Erfindung erlaubt es, Schreibzugriffe auf einzelne Speicherblöcke
einer schreibgeschützten Speicherpartition eines beliebigen
portablen Datenträgers, z. B. einer Mobilfunkkarte, sicheren
Multimediakarte oder dergleichen, auf eine Schreibberechtigung zu
prüfen. Hierdurch kann ein Hersteller von derartigen portablen
Datenträgern dort eine schreibgeschützte Speicherpartition
einrichten, deren Inhalte nicht durch Endkunden modifiziert oder
gelöscht werden können, z. B. durch Formatieren
der Speicherpartition oder dergleichen. Hierbei ist es insbesondere
zweckmäßig, abgesehen von einer schreibgeschützten
Speicherpartition mit geschützten Inhalten auch denjenigen
Speicherbereich des Speichers in erfindungsgemäßer
Weise zu schützen, der die Partitionstabelle umfasst, so
dass der Speicher auch nicht neu partitioniert werden kann.
-
Der
Austausch von (Schreib-)Kommandos zwischen dem Endgerät
und dem Datenträger erfolgt üblicherweise gemäß einem
zwischen dem Endgerät und dem Datenträger vereinbarten
Datenkommunikationsprotokoll, das insbesondere das Kommandoformat
und somit die Struktur eines Schreibkommandos und dessen Interpretation
vorgibt. Üblicherweise umfasst ein Schreibkommando, wie
andere Kommandos auch, einen Kopfdatenanteil und einen Nutzdatenanteil.
Der Kopfdatenanteil umfasst allgemein Verwaltungsdaten, wie z. B.
Kommandotypdaten oder Speicheradressdaten, die zur Interpretation
des Kommandos benötigt werden, während der Nutzdatenanteil
die eigentlichen in den Speicher des Datenträgers einzuschreibenden
Nutzdaten umfasst. Bei der Abarbeitung eines Schreibkommandos werden also
zunächst lediglich die Daten des Kopfdatenanteils interpretiert,
während die Daten des Nutzdatenanteils ohne weitere Prüfung
als Argument des Schreibkommandos zu übernehmende Nutzdaten
repräsentieren.
-
Erfindungsgemäß umfasst
der Nutzdatenanteil jedoch neben den in den schreibgeschützten Speicherabschnitt
einzuschreibenden Nutzdaten auch die Authentisierungsdaten zum Prüfen
der Schreibberechtigung der betreffenden Instanz, so dass die Steuereinrichtung
nicht nur den Kopfdatenanteil sondern auch den Nutzdatenanteil des Schreibkommandos
hinsichtlich der Authentisierungsdaten interpretieren muss. Demzufolge
bettet eine Schreibeinrichtung des Endgeräts die Authentisierungsdaten
derart in den Nutzdatenanteil ein, dass einerseits die Vorgaben
des vereinbarten Datenkommunikationsprotokolls erfüllt
werden und andererseits die zusätzlichen Authenti sierungsdaten aus
dem Nutzdatenanteil von der Steuereinrichtung reproduzierbar extrahiert
werden können. Ein empfangenes Schreibkommando wird von
der Steuereinrichtung des Datenträgers also nicht – wie
es das Datenkommunikationsprotokoll vorsehen würde unmittelbar
ausgeführt, sondern es wird vielmehr zunächst geprüft,
ob in dem Nutzdatenanteil Authentisierungsdaten vorliegen, um diese
gegebenenfalls weiterzuverarbeiten.
-
Durch
das Einbetten der an sich nicht protokollgemäßen
Authentisierungsdaten in den Nutzdatenanteil wird ein erfindungsgemäßes
Schreibkommando in den schreibgeschützten Speicherabschnitt in
ein protokollgemäßes Schreibkommando eingebettet.
Auf diese Weise kann beim Implementieren des erfindungsgemäßen
Verfahrens das vereinbarte Datenkommunikationsprotokoll und insofern
auch die bekannten Kommandostrukturen unverändert übernommen
werden.
-
Vorzugsweise
umfassen die Authentisierungsdaten einen Authentisierungsschlüssel
und eine Berechtigungstabellenadresse, die auf eine Berechtigungstabelle
verweist, die in einem Speicher des Datenträgers vorliegt.
Die Steuereinrichtung prüft die Schreibberechtigung der
Instanz dann, indem der in den Authentisierungsdaten befindliche Authentisierungsschlüssel
extrahiert und mit einem Referenzschlüssel abgeglichen
wird, der der betreffenden Instanz über die Berechtigungstabelle
zugeordnet ist.
-
Hierbei
ist der der Instanz über die Berechtigungstabelle zugeordnete
Referenzschlüssel vorzugsweise ein symmetrischer Kryptographieschlüssel,
während der in dem Schreibkommando enthaltenen Authentisierungsschlüssel
ein identischer symmetrischer Vergleichsschlüssel ist,
den die Steuereinrichtung mit dem symmetrischen Referenzschlüssel
aus der Berechtigungstabelle vergleicht. Sofern der Vergleichsschlüssel
und der Referenz schlüssel nicht übereinstimmen,
wird die Abarbeitung des Schreibkommandos abgebrochen, da die betreffende
Instanz die erforderliche Schreibberechtigung (in Form eines korrekten
Vergleichsschlüssels) offensichtlich nicht besitzt.
-
In
einer anderen Ausführungsvariante nutzt die Steuereinrichtung
den symmetrischen Referenzschlüssel der Instanz, um aus
den in dem Speicherkommando vorliegenden Nutzdaten Referenzprüfdaten
zu erzeugen, z. B. durch Verschlüsseln der Nutzdaten mit
dem Referenzschlüssel, damit diese mit Vergleichsprüfdaten
verglichen werden können, die in dem Schreibkommando als
Authentisierungsschlüssel vorliegen. Auch hier wird die
Abarbeitung des Schreibkommandos abgebrochen, wenn die Vergleichsprüfdaten
und die Referenzprüfdaten nicht übereinstimmen,
da die betreffende Instanz dann entweder nicht den korrekten symmetrischen
Vergleichsschlüssel zum Erzeugen der Vergleichsprüfdaten
besitzt oder die falschen Nutzdaten mit dem Schreibkommando übertragen
wurden, z. B. infolge einer Manipulation der Nutzdaten durch eine
auf dem Endgerät installierte Schadsoftware, z. B. ein
Trojaner, Virus oder dergleichen.
-
Die
in den Nutzdatenanteil des Schreibkommandos eingebrachten Vergleichsprüfdaten
können z. B. eine MAC-Kennung („Message Authentication Code”)
sein, die den symmetrisch verschlüsselten Nutzdaten entspricht.
Neben den Nutzdaten können auch noch weitere Daten in eine
solche MAC-Kennung eingehen, z. B. die Speicheradressdaten oder weitere
Authentifizierungs- bzw. Identifikationsdaten des Nutzers, zu denen
die Steuereinrichtung Zugang hat, z. B. weil auch sie in der Berechtigungstabelle abgelegt
sind. Sofern die Steuereinrichtung die als Authentisierungsdaten
vorliegende MAC-Kennung mit dem der Instanz zugeordneten Referenzschlüssel
durch Verschlüsseln der Nutzdaten (und gegebenenfalls weiterer
Daten) re produzieren kann, ist sichergestellt, dass die das Schreibkommando
auslösende Instanz über einen korrekten Vergleichsschlüssel
verfügt und dass die Nutzdaten unmanipuliert sind.
-
Vorzugsweise
wird neben der Prüfung der Authentisierungsdaten des Schreibkommandos
auch geprüft, ob sich eine Schreibberechtigung auch auf den
von den Speicheradressdaten des Schreibkommandos vorgegebenen Speicherblock
bezieht. Dazu wird verifiziert, ob der von den Speicheradressdaten vorgegebene
Speicherblock der betreffenden Instanz über die Berechtigungstabelle
zugeordnet ist. Sofern die Instanz also den Besitz bzw. die Kenntnis
des korrekten Authentisierungsschlüssels über
die Authentisierungsdaten nachweisen kann und ihr die betreffenden
Speicherblöcke über die Berechtigungstabelle zugeordnet
sind, veranlasst die Steuereinrichtung ein Einschreiben der Nutzdaten
in dem betreffenden Speicherblock.
-
Vorzugsweise
prüft die Steuereinrichtung das Vorliegen von Authentisierungsdaten
in dem Nutzdatenanteil des Schreibkommandos nur dann, wenn das Schreibkommando
einen Schreibzugriff auf den schreibgeschützten Speicherabschnitt
betrifft, beispielsweise auf eine schreibgeschützte Partition
des Speichers oder die Partitionstabelle. Sofern anhand der in dem
Kopfdatenanteil vorliegenden Speicheradressdaten festgestellt wird,
dass das Speicherkommando einen Speicherzugriff auf einen anderen,
nicht schreibgeschützten Speicherabschnitt betrifft, wird
der Nutzdatenanteil vollständig als Nutzdaten interpretiert
und ein reguläres, protokollgemäßes Schreibkommando
ausgeführt. Sofern die in dem Kopfdatenanteil vorliegenden
Speicheradressdaten jedoch einen Speicherzugriff auf den schreibgeschützten
Speicherabschnitt anzeigen, wird ein Vorliegen von Authentisierungsdaten
in dem Nutzdatenanteil geprüft und das empfangene Speicherkommando wird
als eingebettetes Schreibkommando in den schreibgeschützten
Speicherabschnitt behandelt.
-
Im
Zusammenhang mit der vorliegenden Erfindung kann eine ein Schreibkommando
auslösende Instanz beispielsweise ein Nutzer des Endgeräts sein,
der auf diesem angemeldet ist. Ebenso kann es sich bei der Instanz
auch um das Endgerät selbst handeln oder um ein mit dem
Endgerät über ein Datenkommunikationsnetz verbundenes
weiteres Gerät, beispielsweise einen Server im Internet
oder dergleichen. Vorzugsweise ist der Datenträger bzw.
dessen Steuereinrichtung derart ausgestaltet, dass sich eine solche
Instanz, bevor sie ein Schreibkommando über das Endgerät
auf dem Datenträger auslösen kann, gegenüber
dem Datenträger anmelden muss, indem sie von diesem authentifiziert
wird. Im Rahmen dieser Authentifizierung der Instanz durch den Datenträger
kann ein neuer symmetrischer Kryptographieschlüssel zwischen
der Instanz und dem Datenträger ausgehandelt werden, der
einerseits als Referenzschlüssel in die Berechtigungstabelle
eingebracht wird und andererseits von der Instanz als Vergleichsschlüssel
verwendet wird. Ebenso ist es möglich, dass als Vergleichs-/Referenzschlüssel
ein bereits bestehender symmetrischer Kryptographieschlüssel
ausgewählt wird und der authentifizierten Instanz über
die Berechtigungstabelle zugeordnet wird. Prinzipiell ist es nicht
unbedingt notwendig, dass sich eine Instanz gegenüber dem
Datenträger regelmäßig anmeldet und authentifiziert
wird. Vielmehr kann einer nicht angemeldeten bzw. nicht authentifizierten
Instanz derjenige symmetrische Kryptographieschlüssel als
Vergleichs-/Referenzschlüssel zugeordnet werden, der dieser
oder einer anderen Instanz bei dem vorhergehenden Anmeldevorgang
bzw. Authentifizierungsvorgang zugeordnet wurde. Ebenso ist es möglich,
dass jeder Instanz oder zumindest Gruppen von Instanzen der gleiche, feste
symmetrische Kryptographieschlüssel zugeordnet wird.
-
Die
Authentifizierung der Instanz durch den Datenträger kann
hierbei auf herkömmliche Weise geschehen, beispielsweise
durch Prüfen, ob die Instanz ein globales oder datenträgerindividuelles
Geheimnis kennt, beispielsweise indem eine persönliche
Identitätsnummer (PIN) oder eine sonstige Kennung, die
die Instanz dem Datenträger präsentiert, mit einer
Referenz-PIN oder einer Referenzkennung verglichen wird, die auf
dem Datenträger für die betreffende Instanz hinterlegt
ist.
-
Vorzugsweise
umfasst ein Speicherkommando jeweils Nutzdaten in einem Datenvolumen, das
im Wesentlichen demjenigen eines Speicherblocks entspricht, so dass
mit einem Schreibkommando genau ein Speicherblock geschrieben werden kann.
Das maximale Datenvolumen der durch ein Schreibkommando schreibbaren
Nutzdaten ist durch den Nutzdatenanteils beschränkt, der
von dem vereinbarten Datenkommunikationsprotokoll festgelegt wird.
Da jedoch üblicherweise das Datenvolumen des Nutzdatenanteils
eines Schreibkommandos demjenigen eines Speicherblocks entspricht,
reduziert sich aufgrund der in dem Nutzdatenanteil hinterlegten
Authentisierungsdaten das mögliche Nutzdatenvolumen so,
dass mit einem Schreibkommando kein ganzer Speicherblock beschrieben
werden kann, sondern hierfür zwei Speicherkommandos benötigt
werden, deren Nutzdaten kombiniert in den Speicherblock geschrieben
werden.
-
Bei
dieser Ausführungsform, bei der die in einen Speicherblock
zu schreibenden Nutzdaten auf zwei Schreibkommandos aufgeteilt werden,
ist es notwendig, eine Reihenfolge zu definieren bzw. eine Anordnung
vorzugeben, gemäß der die Nutzdaten der beiden
Schreibkommandos in den betreffenden Speicherblock eingeschrieben
werden. Dazu umfasst ein Schreibkommando vorzugsweise in seinem Nutzdatenanteil
zusätzliche Re konstruktionsdaten, die angeben, in welcher
Weise die Nutzdaten einzelner Schreibkommandos zu kombinieren und
in dem betreffenden Speicherblock anzuordnen sind. So können
die Rekonstruktionsdaten der jeweiligen Speicherkommandos beispielsweise
eine Ordnungszahl angeben, die die Reihenfolge der Nutzdaten in dem
Speicherblock angibt. Vorzugsweise wird hierbei die Schreibberechtigung
der Instanz für beide ausgelösten Schreibkommandos
geprüft.
-
Darüber
hinaus kann ein Schreibkommando auch Nutzdaten für mehrere
aufeinander folgende Speicherblöcke umfassen, die gemeinsam
in die mehreren Speicherblöcke geschrieben werden, sobald
die Schreibberechtigung der Instanz anhand der Authentisierungsdaten
festgestellt wird. Ebenso kann ein Schreibkommando mehrere Schreibkommandoabschnitte
umfassen, die jeweils zumindest Authentisierungsdaten und Nutzdaten
umfassen, so dass für jeden Schreibkommandoabschnitt separat
geprüft werden kann, ob für die Instanz eine Schreibberechtigung
der betreffenden Nutzdaten anhand der jeweiligen Authentisierungsdaten
vorliegt. Im Falle von Schreibkommandos, die mehrere im schreibgeschützten
Speicherabschnitt hintereinander liegende Speicherblöcke
betreffen, kann die Steuereinrichtung diese auch selbständig
kombinieren bzw. komprimieren, indem redundante Steuer- und Verwaltungsdaten,
z. B. aus den jeweiligen Kopfdatenanteilen, entfernt werden.
-
Wenn
ein Schreibkommando Nutzdaten für mehrere unterschiedliche
Speicherblöcke enthält, so kann zur Prüfung
der Schreibberechtigung ein einziges Authentisierungsdatum verwendet
werden, das aus allen Nutzdaten des Schreibkommandos berechnet wird.
-
Weitere
Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden
Beschreibung von erfindungsgemäßen Ausführungsbeispielen
sowie weiteren Ausführungsalternativen im Zusammenhang
mit den Zeichnungen, die zeigen:
-
1 eine
Anordnung umfassend einen erfindungsgemäßen portablen
Datenträger sowie ein Endgerät;
-
2 ein
bevorzugter Aufbau eines erfindungsgemäßen Schreibkommandos;
-
3 ein
Ablaufdiagramm eines bevorzugten erfindungsgemäßen
Verfahrensablaufs; und
-
4 eine
Skizze einer besonderen Ausführungsform des erfindungsgemäßen
Verfahrens.
-
1 zeigt
eine Datenkommunikationsanordnung, bei der ein Endgerät 20 schreibend
auf einen Speicher 12 eines portablen Datenträgers 10 mittels
eines Schreibkommandos 300 zugreift. Der portable Datenträger 10 umfasst
hierbei die für solche Geräte üblichen
Komponenten, wie zum Beispiel einen Prozessor (nicht dargestellt),
ein Bussystem mit einer Datenkommunikationsschnittstelle 16,
eine Speicheranordnung, umfassend einen permanenten ROM-Speicher
mit Betriebssystem (nicht dargestellt), einen nicht-flüchtigen
Speicher 12, beispielsweise einen Flash-Speicher oder dergleichen,
sowie einen flüchtigen RAM-Arbeitsspeicher (nicht dargestellt).
In dem nicht-flüchtigen Speicher 12 ist ein schreibgeschützter
Speicherabschnitt 14, beispielsweise eine schreibgeschützte
Partition, sowie ein nicht schreibgeschützten Speicherabschnitt 18 eingerichtet,
z. B. eine weitere Partition des Speichers 12. Eine ebenfalls
schreibgeschützte Partitionstabelle (nicht dargestellt)
des Speichers 12, in der die verschiedenen Partitionen 14, 18 des
nicht- flüchtigen Speichers 12 verzeichnet sind,
ist üblicherweise in einem ersten Speicherblock des Speichers 12 angelegt,
so dass der schreibgeschützte Speicherabschnitt 14 weder
direkt noch über die Partitionstabelle unkontrolliert manipuliert
oder gelöscht werden kann.
-
Insbesondere
umfasst der Datenträger 10 eine Steuereinrichtung 11,
z. B. einen Speicher-Controller, die ein Schreibkommando 300 von
dem Endgerät 20 empfängt und verarbeitet.
Ferner ist in dem nicht schreibgeschützten Speicherabschnitt 18 ein vorzugsweise
gesicherter Speicherbereich 13 eingerichtet, in dem sicherheitsrelevante
Daten abgelegt sind, z. B. eine Berechtigungstabelle 19,
in der für die der Steuereinrichtung 11 bekannten
Nutzer bzw. für sonstige auf den schreibgeschützten
Speicherabschnitt 14 zugreifenden Instanzen, Referenzschlüssel 17 (REF)
hinterlegt sind, die der Authentifizierung des betreffenden Nutzers
bzw. der betreffenden Instanz bei einem Schreibzugriff auf den schreibgeschützten
Speicherabschnitt 14 dienen.
-
Die
Steuereinrichtung kann zumindest zwei verschiedene Typen von Schreibkommandos
unterscheiden und bearbeiten, nämlich herkömmliche Schreibkommandos
in den nicht schreibgeschützten Speicherabschnitt 18,
die gemäß einem zwischen dem Datenträger 10 und
dem Endgerät 20 vereinbarten Datenkommunikationsprotokoll
aufgebaut und verarbeitet werden, und eingebettete Schreibkommandos 300 in
den schreibgeschützten Speicherabschnitt 14, die
eine von den herkömmlichen Schreibkommandos abweichende
Kommandostruktur aufweisen, welche jedoch in ein herkömmliches Schreibkommando
gemäß dem vereinbarten Datenkommunikationsprotokoll
transparent eingebettet werden.
-
Bei
einem herkömmlichen Schreibzugriff des Endgeräts 20 in
den nicht-flüchtigen Speicher 12 erzeugt eine
Schreibeinrichtung 22 des Endgeräts 20 ein
Schreibkommando mit einem Kopfdatenanteil 310 (HERD) für
Verwaltungsdaten und einem Nutzdatenanteil 320 (LORD) für
Nutzdaten und überträgt dieses über die
Datenkommunikationsschnittstellen 23 und 16 an
die Steuereinrichtung 11 des Datenträgers 10,
die aus dem Kopfdatenanteil 310 einen Kommandotyp sowie
eine Speicheradresse des Speicherabschnitts 18 entnimmt,
an der die in dem Nutzdatenanteil 320 vorliegenden Nutzdaten
abgelegt werden sollen. Dieser Speicherzugriff wird von der Steuereinrichtung 11 blockorientiert
durchgeführt, d. h. die in dem Nutzdatenanteil 320 vorliegenden
Nutzdaten werden vollständig in einen Speicherblock des
Speicherabschnitts 18 geschrieben, wobei das in dem Nutzdatenanteils 320 für
Nutzdaten zur Verfügung stehende Datenvolumen auf die jeweilige Speicherblockgröße
abgestimmt ist.
-
Die
Kommandostruktur eines herkömmlichen Schreibkommandos ist
durch das vereinbarte Datenkommunikationsprotokoll vorgegeben. Abhängig
von dem Typ des Datenträgers 10 kann es sich bei
dem vereinbarten Datenkommunikationsprotokoll beispielsweise um
ein SD-Protokoll oder um ein MMC-Protokoll handeln, sofern es sich
bei dem Datenträger 10 um eine SD-Speicherkarte
(„Secure Digital Memory Card”) oder um eine MMC-Speicherkarte
(„Multimedia Card”) handelt. Sofern es sich bei dem
Datenträger 10 um eine herkömmliche Chipkarte
bzw. eine Smart Card handelt, die mit einem Chipkartenterminal als
Endgerät 20 kommuniziert, kann es sich bei dem
Datenkommunikationsprotokoll beispielsweise um das T = 0- oder T
= 1-Protokoll gemäß ISO 7816-3 handeln.
-
Handelt
es sich jedoch bei dem Schreibzugriff um ein eingebettetes Speicherkommando 300 in den
schreibgeschützten Speicherabschnitt 14, wird von
der Steuereinrichtung 11 ein spezielles Legitimation- bzw.
Authentisierungsverfahren basierend auf Authentisierungsdaten 322 (AUTH)
durchge führt, die die Schreibeinrichtung 22 in
dem Nutzdatenanteil 320 des Schreibkommandos 300 einbettet
hat. Nach dem Empfang eines Schreibkommandos 300 prüft die
Steuereinrichtung 11 zunächst, ob es sich um ein eingebettetes
Schreibkommando 300 handelt. Dies kann entweder daran erkannt
werden, dass ein Speicherblock 15 in dem schreibgeschützten
Speicherabschnitt 14 angegeben ist, oder daran, dass in dem
Nutzdatenanteil 320 Authentisierensdaten 322 vorliegen.
Falls weder ein Speicherblock 15 im schreibgeschützten
Speicherabschnitt 14 noch Authentisierensdaten 322 erkannt
werden, kann die Steuereinrichtung 11 das Schreibkommando
als herkömmlichen Schreibzugriff in dem nicht schreibgeschützten
Speicherabschnitt 18 interpretieren, bei dem das gesamte
Datenvolumen des Nutzdatenanteils 320 als Nutzdaten interpretiert
wird. Falls jedoch ein eingebettetes Schreibkommando 300 in
den schreibgeschützten Speicherabschnitt vorliegt, wird dieses
von der Steuereinrichtung 11 wie nachfolgend beschrieben
gesondert bearbeitet.
-
Bei
einem Schreibkommando 300 in den schreibgeschützten
Speicherabschnitt 14 bettet die Schreibeinrichtung 22 des
Endgeräts 20 die erforderlichen Authentisierungsdaten 322 derart
in den Nutzdatenanteil 320 ein, dass die Steuereinrichtung 11 die
eingebetteten Authentisierungsdaten 322 aus dem empfangenen
Nutzdatenanteil 320 zur weiteren Prüfung extrahieren
kann. Durch das Einbetten von Authentisierungsdaten 322 in
einen Nutzdatenanteil 320, der gemäß dem
verwendeten Datenkommunikationsprotokoll lediglich für
reine Nutzdaten vorgesehen ist, wird ein sogenannter „Tunnel” zwischen dem
Endgerät 20 und dem Datenträger 10 etabliert, bei
dem das vereinbarte Datenkommunikationsprotokoll auch zur Übertragung
von protokollfremden Daten verwendet wird, nämlich der
Authentisierungsdaten 322. Die Schreibeinrichtung 22 und
die Steuereinrichtung 11 sind also derart aufeinander abgestimmt,
dass dieser „Tunnel” durch abgestimmtes Einbetten
und Extrahieren von protokollfremden Daten betrieben werden kann.
-
2 skizziert
den Aufbau eines herkömmlichen Schreibkommandos sowie eines
darin eingebetteten Schreibkommandos 300 in den schreibgeschützten
Speicherabschnitt 14. Eines oder mehrere solcher Schreibkommandos
werden von der der Steuereinrichtung 11 als Datentelegramm
interpretiert und bearbeitet. Wie ein herkömmliches Schreibkommando
umfasst auch ein eingebettetes Schreibkommando 300 einen
Kopfdatenanteil 310, der für die Interpretation
und Ausführung des Schreibkommandos 300 erforderliche
Steuer- und Verwaltungsdaten umfasst, sowie einen Nutzdatenanteil 320,
der bei einem herkömmlichen Schreibkommando lediglich nicht
zu interpretierende Nutzdaten als Argument des Schreibkommandos
umfasst.
-
Der
Kopfdatenanteil 310 umfasst hierbei üblicherweise
Kommandotypdaten 311 (CMD), die den Typ des beabsichtigten
Kommandos angeben, im Falle eines Schreibkommandos z. B. „SingleBlockWrite” oder „MultipleBlockWrite”,
sowie Adressdaten 312 (ADR), die einen Speicherblock 15 in
dem schreibgeschützten Speicherabschnitt 14 adressieren.
In den Nutzdatenanteil 320 werden neben den Nutzdaten 323 (DATA)
auch weitere Daten eingebracht, die für einen Schreibzugriff
in den schreibgeschützten Speicherabschnitt 14 notwendig
sind. Hierzu gehören neben den bereits angesprochenen Authentisierungsdaten 322 auch
Rekonstruktionsdaten 321 (REC), die benötigt werden,
um die Nutzdaten 323 verschiedener Schreibkommandos 300 in
einer vorgesehenen Weise in dem schreibgeschützten Speicherabschnitt 14 bzw.
in dem Speicherblock 15 anzuordnen. Schließlich
umfasst der Nutzdatenanteil 320 auch die eigentlichen Nutzdaten 323,
die als Argument des eingebetteten Schreibkommandos 300 in
den von den Adressdaten 312 angegebenen Speicherblock 15 einzuschreiben
sind. Da der Nutzdatenanteil 320 nunmehr auch Steuerdaten
umfasst, nämlich die Rekonstruktionsdaten 321 und
Authentisierungsdaten 322, ist bei einem eingebetteten Schreibkommando 300 das
Datenvolumen der Nutzdaten 323 gegenüber einem
herkömmlichen Schreibkommando verringert, so dass bei einem
eingebetteten Schreibkommando 300 das Datenvolumen der Nutzdaten 323 geringer
ist, als dasjenige eines Speicherblocks 15.
-
3 skizziert
ein dreistufiges Authentisierungsverfahren, das von der Steuereinrichtung 11 abgearbeitet
wird, um einen Nutzer, der ein Schreibkommando 300 in den
schreibgeschützten Speicherabschnitt 14 ausgelöst
hat, sowie das Schreibkommando 300 selbst zu authentifizieren.
Hierbei wird zunächst in einem Schritt S1 eine Authentifizierung des
Nutzers durchgeführt, der das Schreibkommando 300 über
das Endgerät 20 ausgelöst hat (VERIFY USER),
gefolgt in Schritt S2 von einer Verifikation des Schreibkommandos 300 durch
die Authentisierungsdaten 322 (VERIFY CMD) und in Schritt
S3 einer Verifikation dahingehend, ob der betreffende Speicherblock 15 dem
Nutzer für Schreibzugriffe überhaupt zur Verfügung
steht (VERIFY BLOCK). Falls die drei Verifikationsschritte erfolgreich
verlaufen sind, werden schließlich in Schritt S4 die Nutzdaten 323 in
den Speicherblock 15 geschrieben (WRITE DATA).
-
In
einem dem in 3 skizzierten Verfahren vorgelagerten
Schritt erzeugt das Endgerät 20 bzw. dessen Schreibeinrichtung 22 ein
eingebettetes Schreibkommando 300, indem ein herkömmlicher Kopfdatenanteil 310 und
ein Nutzdatenanteil 320 bereitgestellt werden, wobei der
Nutzdatenanteil 320 Rekonstruktionsdaten 321,
Authentisierungsdaten 322 und Nutzdaten 323 umfasst.
Die Authentisierungsdaten 322 können beispielsweise
eine Speicheradresse der Berechtigungstabelle 19 sowie
einen symmetrischen Kryptographieschlüssel umfassen, der
dem betreffenden Nutzer von der Steuerein richtung 11 als
Vergleichsschlüssel 24 (CMP) zugewiesen und als
Referenzschlüssel 17 (REF) in der Berechtigungstabelle 19 hinterlegt
wurde. Der Vergleichsschlüssel 24 und der Referenzschlüssel 17 können
beispielsweise nach einem bekannten Schlüsselerzeugungsverfahren
ausgehandelt werden, oder es kann ein bereits bestehender symmetrischer
Kryptographieschlüssel von der Steuereinrichtung 11 ausgewählt
werden. Ebenso kann ein unveränderlicher und für
alle Nutzer oder für eine bestimmte Gruppe von Nutzern
gültiger Kryptographieschlüssel verwendet werden.
Darüber hinaus ist es auch möglich, dass nicht
für jeden Nutzer ein individueller symmetrischer Kryptographieschlüssel
als Vergleichs- bzw. Referenzschlüssel 21, 17 bestimmt wird,
sondern dass ein symmetrischer Kryptographieschlüssel 21, 17 eine
vorgegebenen zeitliche Gültigkeitsdauer besitzt und für
einen neuen Nutzer erst dann ein weiterer symmetrischer Kryptographieschlüssel 21, 17 bestimmt
werden muss, wenn diese Gültigkeitsdauer abgelaufen ist.
Hierbei kann einem Nutzer auch ein symmetrischer Kryptographieschlüssel
als Vergleichs- bzw. Referenzschlüssel 24, 17 zugewiesen
werden, der bereits einem vorhergehenden Nutzer zugewiesen wurde.
-
Einem
Nutzer wird immer dann ein (neuer oder bekannter) symmetrischer
Kryptographieschlüssel als Vergleichs- bzw. Referenzschlüssel 24, 17 zugewiesen,
wenn er sich in Schritt S1 gegenüber der Steuereinrichtung 11 authentifiziert.
Somit kann ein Nutzer den ihm zugeordneten Vergleichs-/Referenzschlüssel 24, 17 solange
behalten, bis er sich erneut gegenüber der Steuereinrichtung 11 authentifiziert
und diese ihm einen neuen Vergleichs-/Referenzschlüssel 24, 17 zuordnet.
Diese Authentisierung kann beispielsweise durch Überprüfung
eines globalen oder datenträgerindividuellen Geheimnisses
des Nutzers erfolgen, beispielsweise durch Vergleichen eines von
dem Nutzer bereitgestellten Vergleichsgeheimnisses, z. B. einer
persönlichen Identifikationsnummer (PIN), eines Einmalpassworts
oder dergleichen, mit ei nem der Steuereinrichtung (11)
vorliegenden Referenzgeheimnis, das z. B. in der Berechtigungstabelle 19 oder
in einem anderen sicheren Speicherbereich des Datenträgers 10 hinterlegt
sein kann.
-
In
Schritt S2 vergleicht die Steuereinrichtung 11 die aus
dem empfangenen, eingebetteten Schreibkommando 300 extrahierten
Authentisierungsdaten 322, bzw. den darin vorliegenden
Vergleichsschlüssel 24, mit dem in der Berechtigungstabelle 19 diesem
Nutzer zugeordneten Referenzschlüssel 17. Alternativ
ist es möglich, dass die Schreibeinrichtung 22 des
Endgeräts 20 als Authentisierungsdaten 322 eine
MAC-Kennung („Message Authentication Code”) in
den Nutzdatenanteil 320 einbringt, die aus dem symmetrischen
Vergleichsschlüssel 24 sowie zumindest den einzuschreibenden
Nutzdaten 323 abgeleitete Vergleichsprüfdaten repräsentiert.
Beispielsweise kann eine solche MAC-Kennung durch symmetrisches
Verschlüsseln der Nutzdaten 323 erzeugt werden.
In diesem Fall prüft die Steuereinrichtung 11 die
empfangenen Authentisierungsdaten 322 (die Vergleichsprüfdaten) durch
Verschlüsseln der in dem Nutzdatenanteil 320 vorliegenden
Nutzdaten 322 mit dem in der Berechtigungstabelle 19 vorliegenden
Referenzschlüssel 17 und Vergleichen des Verschlüsselungsergebnisses (den
Referenzprüfdaten) mit den Authentisierungsdaten 322 (den
Vergleichsprüfdaten), Sofern eine Übereinstimmung
vorliegt, gilt das Schreibkommando 300 bzw. der von diesem
repräsentierte Schreibzugriff in den schreibgeschützten
Speicherabschnitt 14 als authentisiert.
-
In
der in 4 detaillierter dargestellten Berechtigungstabelle 19,
die in einem gesicherten Speicherbereich 13 angelegt ist,
ist dem jeweiligen Nutzer, der das betreffende Schreibkommando 300 ausgelöst
hat, über eine eindeutige Benutzeridentifikationsnummer
(UID) oder dergleichen der ausgehandelte oder ausgewählte
Referenzschlüssel 17 zugeordnet. Die Benutzeridentifi kationsnummer
kann von der Schreibeinrichtung 22 z. B. in den Kopfdatenanteil 310 oder
in die Authentisierungsdaten 322 des Schreibkommandos 300 eingebracht
werden. Zusätzlich zu dem Referenzschlüssel 17 können
in der Berechtigungstabelle 19 auch einzelne Speicherblöcke
oder größere Speicherbereiche des schreibgeschützten
Speicherabschnitts 14 angegeben sein, die einem Nutzer
grundsätzlich für Schreibzugriffe in den schreibgeschützten
Speicherabschnitt 14 zur Verfügung stehen. Ergänzend
zu den Verifikationsschritten S1 und S2 wird dementsprechend in
Schritt S3 geprüft, ob der durch die Speicheradressdaten 312 bestimmte
Speicherblock 15 in der Berechtigungstabelle 19 dem
betreffenden Nutzer zugeordnet ist. Selbstverständlich
können die Schritte S1 bis S3 auch in jeder anderen zweckmäßigen
Reihenfolge ausgeführt werden, z. B. kann die Verifikation
der Speicheradressdaten 312 in Schritt S3 auch vor der Verifikation
der Authentisierungsdaten 322 in Schritt S2 erfolgen. In
jedem Falle werden die Nutzdaten 323 jedoch nur dann in
den angegebenen Speicherblock 15 geschrieben, wenn alle
Verifikationsschritte S1 bis S3 erfolgreich abgeschlossen wurden.
-
4 illustriert
schließlich eine besondere Ausführungsform, mit
der die bereits im Zusammenhang mit 2 beschriebene
Tatsache berücksichtigt werden kann, dass durch das Einbetten
eines Schreibkommandos 300, mit dem ein Schreibzugriff in
den schreibgeschützten Speicherabschnitt 14 ausgeführt
wird, lediglich ein Datenvolumen an Nutzdaten 323 in dem
Nutzdatenanteil 320 zur Verfügung steht, das hinter
dem Datenvolumen eines Speicherblocks 15 zurückbleibt.
-
Bei
einem Datenvolumen eines Speicherblocks 15 im schreibgeschützten
Speicherabschnitt 14 von 512 Byte (512 Byte LORD) kann
die Schreibeinrichtung 22 die entsprechenden Nutzdaten
von 512 Byte in zwei Nutzdatenpakete 323 von jeweils 256
Byte (256 Byte DATA) auftrennen und jeweils als Nutzdaten 323 in
separate Schreibkommandos 300 einbringen. Hierbei gibt
die Schreibeinrichtung 22 in dem Nutzdatenanteil 320 zusätzlich
Rekonstruktionsdaten 321 an, die bestimmen, in welcher
Weise die Steuereinrichtung 11 des Datenträgers 10 die
beiden Nutzdatenpakete 323 beim Einschreiben in den Speicherblock 15 kombinieren
muss. Beispielsweise werden als Rekonstruktionsdaten 321 in 4 die beiden
Angaben „LO” (bzw. „low”) und „HI” (bzw. „high”)
gemacht, die bestimmen, dass der LO-Nutzdatenanteil 323 in
den Speicherblock 15 vor dem HI-Nutzdatenanteil 323 abgelegt
werden soll. Da die Steuereinrichtung 11 beide Schreibkommandos 300 in
der in 3 skizzierten Weise einzeln prüft, sind
in beiden eingebetteten Schreibkommandos 300 zumindest
die Adressdaten 312 (#adr1) identisch und die Authentisierungsdaten 322 (CMP1)
weichen nur dann voneinander ab, wenn sie außer von dem
Vergleichsschlüssel 24 auch von anderen Daten
abhängig sind, z. B. von den veränderlichen Nutzdatenpaketen 323.
-
In
dem in 4 illustrierten Beispiel umfassen beide Schreibkommandos
jeweils den Vergleichsschlüssel 24 des betreffenden
Nutzers, der mit dem in der Berechtigungstabelle 19 für
den Nutzer mit der Nutzeridentifikationsnummer UID = 1 angegebenen
Referenzschlüssel 17 übereinstimmt. Ferner
gibt, die Berechtigungstabelle 19 für den Verifikationsschritt
S3 auch Speicherbereiche bzw. Speicherblöcke an (z. B.
#adr1 bis #adrN für UID = 1), die der betreffende Nutzer
prinzipiell beschreiben kann, sofern die erforderlichen Verifikationsschritte S1
und S2 erfolgreich abgeschlossen wurden.
-
Neben
den bisher beschriebenen „SingleBlockWrite”-Schreibkommandos 300,
mit denen lediglich ein Speicherblock 15 beschrieben wird,
sind weitere Typen von Schreibkommandos denkbar, die gemäß dem
in den 1 bis 4 skizzierten Prinzip erzeugt,
aufgebaut und verarbeitet werden. Zum Bei spiel kann die Steuereinrichtung 11 auch „MultipleBlockWrite”-Schreibkommandos 300 verarbeiten, mit
denen mehrere Speicherblöcke beschrieben werden. Ein solches „MultipleBlockWrite”-Schreibkommando 300 kann
z. B. einen Kopfdatenanteil 310 und mehrere Nutzdatenanteile 320 mit
individuellen Authentisierungsdaten 322 und Nutzdaten 323 umfassen.
Die Nutzdatenanteile 320 werden dann von der Steuereinrichtung 11 separat
anhand der jeweiligen Authentisierungsdaten 322 geprüft
und die betreffenden Nutzdaten 323 werden hintereinander
in mehrere aufeinander folgende Speicherblöcke geschrieben,
die mit dem durch die übereinstimmenden Speicheradressdaten 312 bestimmten
Speicherblock 15 beginnen. Ebenso kann ein „MultipleBlockWrite”-Schreibkommando 300 auch
mehrere Schreibkommandoabschnitte umfassen, die jeweils wiederum
einen vollständigen Kopfanteil 310 und einen vollständigen
Nutzdatenanteil 320 aufweisen und separat geprüft
werden. Schließlich kann ein „MultipleBlockWrite”-Schreibkommando 300 auch
einen Nutzdatenanteil 320 aufweisen, der lediglich einen Authentisierungsdatensatz 322 und
mehrere Nutzdatensätze 323 umfasst. Auch hier
werden alle Nutzdatensätze 323 durch die Verifikation
der Authentisierungsdaten 322 gleichzeitig verifiziert.
-
Wenn
ein Schreibkommando Nutzdaten für mehrere unterschiedliche
Speicherblöcke enthält, so kann zur Prüfung
der Schreibberechtigung ein einziges Authentisierungsdatum verwendet
werden, das aus allen Nutzdaten des Schreibkommandos berechnet wird.
-
Weiterhin
kann die Steuereinrichtung 11 auch mehrere „SingleBlockWrite”-Schreibkommandos 300,
die aufeinander folgende Speicherblöcke betreffen, zu einem
der oben genannten „MultipleBlockWrite”-Schreibkommandos 300 zusammenfassen,
um redundante Steuer- und Verwaltungsdaten einzusparen, z. B. Kopfdatenanteile 310 und/oder Authentisierungsdaten 322.
-
Zu
Abschluss eines Schreibzugriffs kann die Schreibeinrichtung 22 des
Endgeräts 20 den Erfolg des eingebetteten Schreibkommandos
durch eine reguläre Leseoperation in den betreffenden Speicherblock 15 überprüfen.
Weiterhin ist es möglich, in die Authentisierungsdaten 322 einen
symmetrischen Vergleichsschlüssel 24 und eine
MAC-Kennung einzubringen, wobei die Schreibberechtigung anhand des
Vergleichsschlüssels 24 verifiziert wird und über die
Verifikation der MAC-Kennung die manipulationsfreie Übertragung
des Schreibkommandos 300 sichergestellt wird. Selbstverständlich
müssen die Nutzdaten 323 nicht im Klartext in
dem Nutzdatenanteil 320 eingebracht werden, sondern können
auch in verschlüsselter und verschleierter Form vorliegen, beispielsweise
als MAC-Kennung oder dergleichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - EP 1673958 [0003]
- - DE 102007050463 A1 [0004]
-
Zitierte Nicht-Patentliteratur
-