[go: up one dir, main page]

DE102009018222A1 - Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block - Google Patents

Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block Download PDF

Info

Publication number
DE102009018222A1
DE102009018222A1 DE200910018222 DE102009018222A DE102009018222A1 DE 102009018222 A1 DE102009018222 A1 DE 102009018222A1 DE 200910018222 DE200910018222 DE 200910018222 DE 102009018222 A DE102009018222 A DE 102009018222A DE 102009018222 A1 DE102009018222 A1 DE 102009018222A1
Authority
DE
Germany
Prior art keywords
data
memory
write
write command
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE200910018222
Other languages
German (de)
Inventor
Hubertus Grobbel
Axel Heider
Stephan Beinlich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient Mobile Security GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE200910018222 priority Critical patent/DE102009018222A1/en
Publication of DE102009018222A1 publication Critical patent/DE102009018222A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

The method involves receiving a writing command (300) of a terminal (20), where the writing command comprises authentication data (322) and user data (323). Write authorization of an entity is tested for writing the user data in a memory block (15) of a write protected memory section (14), where the memory block is specified by the writing command. The authentication data for testing the write authorization of the entity and the user data are extracted from a user data portion (320) for writing in the memory block. Independent claims are also included for the following: (1) a potable data carrier comprising a memory with a write protected memory section and a control section (2) a terminal comprising a writer.

Description

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.The The present invention relates to a method on a portable Disk for executing a write command a terminal in a read-only memory section a memory of the disk, as well as such portable data carrier and a terminal.

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.It is known on a portable equipped with a memory Disk a read-only memory section set up, for example, a protected storage partition or the like, to which a terminal, for example a telecommunications or user terminal, such. B. a Mobile phone, a computer, a laptop, a digital camera or the like, writing only with proof of write permission can access. For this purpose, the disk carries a Authentication of the relevant terminal or his User through and checks if the required write permission is comprised of memory access rights to the terminal or whose users have been assigned.

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.In this context, the EP 1 673 958 a method for resource management of a mobile terminal, in which the access authorization of a user is checked by an inserted in the mobile terminal SIM mobile card regardless of any sign-on to the mobile network.

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.The DE 10 2007 050 463 A1 discloses a method for accessing a portable data carrier by means of an access command, which can either be executed as a conventional memory access command in a memory of the data carrier or, if in the access command exists a routing information, are forwarded to a security module and there the execution of security-related functions May have consequences, z. As an authentication, signature or the like. In this case, the routing information and possible additional application information are embedded in the access command such that the access command corresponds to a data communication protocol intended for conventional memory access commands.

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.It The object of the present invention is to provide a portable Disk read-only Memory section on the one hand as comprehensively as possible against unauthorized write accesses and on the other hand for the Write access triggering instance as transparent as possible perform.

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.These Task is by a method as well as a data carrier and a terminal with the features of independent Claims solved. In the dependent Claims are advantageous embodiments and developments of the invention.

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.One Inventive data carrier leads a write access of a terminal in a read-only Memory section of a storage of the disk only off if a write permission of that instance is detected which is the write access by means of one of the terminal Write commands transmitted to the data medium has triggered. This instance can be, for example, the terminal itself or a user logged in on the terminal. According to the invention, such comprises of the relevant instance triggered and from the disk received write command authentication data and user data, wherein a control device of the data carrier based on the authentication data checks if the instance has the required write permission owns the payload into a memory block of read-only Memory section to write, given by the write command becomes.

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.The write permission to check from the volume according to the invention does not concern only a principal or unspecific write authorization of the instance triggering the write command, but is also dependent on the memory block in question and the user data to be written. In the test of Write authorization, therefore, enters into three criteria that are immediate can be checked using the write command, so the exam's write permission is solely due of the write command is possible and more login or Authentication steps can be avoided. To this On the one hand, writing permission can be much more specific and be targeted and, on the other hand, arise no further requirements for the triggering instance, z. B. to a user of the terminal.

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.The invention allows write accesses to individual memory blocks of a read-only memory partition of any portable data carrier, eg. As a mobile card, secure multimedia card or the like to check for a write permission. This allows a manufacturer of such portable media to set up a read-only storage partition there whose contents can not be modified or deleted by end users, e.g. By formatting the memory partition or the like. In this case, it is particularly expedient, apart from a read-only memory partition with protected contents, also to protect that memory area of the memory in accordance with the invention, which comprises the partition table, so that the memory also can not be repartitioned.

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.Of the Exchange of (write) commands between the terminal and the disk is usually in accordance with a agreed between the terminal and the disk Data communication protocol, in particular the command format and thus the structure of a write command and its interpretation pretends. Usually includes a write command, such as other commands also, a header data portion and a payload portion. The header data share generally includes administrative data, such as. B. Command type data or memory address data used for interpretation of the command while the payload portion the actual to be written into the memory of the volume User data includes. When processing a write command so initially only interprets the data of the header data share, while the data of the user data portion without further testing user data to be transferred as the argument of the write command represent.

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.According to the invention however, the payload portion is adjacent to the read-only memory portion user data to be written also the authentication data for testing the write authorization of the instance concerned, so that the control device Not only the header data but also the user data portion of the write command regarding the authentication data. As a result, a writing device of the terminal embeds the authentication data in such a way in the Nutzdatenanteil that on the one hand the specifications of the agreed data communication protocol and on the other hand the additional authentication data the user data portion of the control device reproducibly extracted can be. A received write command is issued by the controller of the disk so not - like it would provide the data communication protocol immediately rather, it will be checked first, whether authentication data is present in the user data part in order to this if necessary further processing.

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.By the embedding of the per se not protocol Authentication data in the payload part is an inventive Write command in the read-only memory section in a protocol-based write command embedded. In this way, when implementing the invention Procedure the agreed data communication protocol and insofar also adopted the familiar command structures unchanged become.

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.Preferably the authentication data comprise an authentication key and a permission table address pointing to a permissions table refers to, which is present in a memory of the volume. The controller checks the write permission of Instance then by the authentication key located in the authentication data extracted and matched with a reference key the instance in question via the authorization table assigned.

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 this connection is the one associated with the instance through the entitlement table Reference key preferably a symmetric cryptographic key, during the authentication key contained in the write command is an identical symmetric comparison key, the control device with the symmetrical reference key from the entitlement table. Unless the comparison key and the reference key do not match, the processing of the write command is aborted because the relevant Instance the required write permission (in the form of a correct Vergleichschlüssels) obviously does not possess.

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.In another embodiment uses the control device the symmetric reference key of the instance to the user data reference test data present in the memory command to produce, for. B. by encrypting the user data with the reference key, so that this with comparison check data can be compared in the write command as Authentication key present. Again, the Processing of the write command aborted when the comparison check data and the reference check data do not match, because the instance concerned either does not have the correct symmetric Comparison key for generating the comparison check data owns or transfers the wrong user data with the write command were, z. B. due to a manipulation of the user data by a malicious software installed on the terminal, eg. B. a Trojan, virus or the like.

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.The introduced in the payload portion of the write command Vergleichsprüfdaten z. B. a MAC identifier ("Message Authentication Code"), which corresponds to the symmetrically encrypted user data. In addition to the user data and other data can go into such a MAC identifier, z. B. the memory address data or other authentication or identification data of the user to which the controller has access, for. B. because they are stored in the entitlement table. If the control device has the MAC identifier present as authentication data with the reference key assigned to the instance by encrypting the user data (and given If necessary, it can be ensured that the instance triggering the write command has a correct comparison key and that the user data are unmanipulated.

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.Preferably is next to checking the authentication data of the write command also checked whether a write permission on the memory block given by the memory address data of the write command refers. For this purpose, it is verified whether the predetermined by the memory address data Memory block of the instance concerned via the authorization table assigned. If the instance so the possession or knowledge of the correct authentication key can prove the authentication data and you can see the relevant Memory blocks assigned via the authorization table are, the controller causes a writing of the user data in the relevant memory block.

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.Preferably the controller checks for the presence of authentication data in the payload portion of the write command only if the write command a write access to the read-only memory section concerns, for example, a read-only partition of the memory or the partition table. If based on the in the Header data portion of existing memory address data is detected, that the memory command has memory access to another, non-read-only memory section is concerned the user data part is completely interpreted as user data and a regular, protocol-based write command executed. If present in the header data share However, memory address data has a memory access to the read-only Display memory section, there is a presence of authentication data is checked in the payload portion and the received memory command becomes as an embedded write command in the read-only Memory section treated.

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.in the In connection with the present invention may be a write command triggering instance, for example, be a user of the terminal, which is registered on this. Similarly, it may be at the instance also act around the terminal itself or with the one Terminal connected via a data communication network another device, such as a server on the Internet or similar. Preferably, the disk or its control device configured such that such Instance, before sending a write command through the terminal on the disk can trigger, opposite To log on to the disk by being authenticated by it becomes. As part of this authentication of the instance by the disk can a new symmetric cryptography key between the instance and the volume to be negotiated on the one hand as reference key in the authorization table and on the other hand by the entity as a comparison key is used. It is also possible that as comparison / reference key an existing symmetric cryptographic key is selected and the authenticated instance over the entitlement table is assigned. In principle it is not It is absolutely necessary for an instance to stand up to the Periodically logs and authenticates volumes becomes. Rather, an unregistered or unauthenticated Instance of the symmetric cryptography key as Comparison / reference keys are assigned to this or another instance in the previous login process or authentication process has been assigned. It is also possible that each instance or at least groups of instances of the same, fixed symmetric cryptography key is assigned.

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.The Authentication of the instance by the disk can this happen in a conventional manner, for example by checking if the instance is a global or disk individual Knows secret, for example, by a personal Identity number (PIN) or other identifier that the instance is presented to the volume, with a Reference PIN or a reference identifier is compared to the the data carrier for the relevant instance is.

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.Preferably For example, a memory command includes payload data in a data volume essentially corresponds to that of a memory block, so that with a write command exactly one memory block can be written. The maximum data volume that can be written by a write command User data is limited by the user data portion, the specified by the agreed data communication protocol. However, since usually the data volume of the user data portion of a write command corresponds to that of a memory block, reduces due to the deposited in the user data share Authentication data the possible payload volume so, that described with a write command not an entire memory block can be, but requires two memory commands for this purpose whose payload data is written to the memory block in combination become.

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.In this embodiment, in which the payload data to be written into a memory block is divided into two write commands, it is necessary to define an order according to which the payload data the two write commands are written in the relevant memory block. For this purpose, a write command preferably includes in its payload additional Re construction data indicating the manner in which the payload of individual write commands to combine and arrange in the memory block in question. For example, the reconstruction data of the respective memory commands can specify an ordinal number which indicates the order of the user data in the memory block. Preferably, the write authorization of the instance is checked for both triggered write commands.

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.About that In addition, a write command can also payload for several consecutive memory blocks that are common written to the multiple memory blocks as soon as the write authorization of the instance based on the authentication data is detected. Likewise, a write command can have several write command sections each comprising at least authentication data and payload data include, so for each write command section separately It can be checked if the instance has write permission the relevant user data based on the respective authentication data is present. In the case of write commands, several in read-only Memory section sequential memory blocks relate, the controller can this also independently combine or compress by adding redundant control and management data, z. From the respective header data portions.

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.If a write command payload for several different Contains memory blocks, so may for testing the write authorization uses a single authentication date which is calculated from all user data of the write command.

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:Further Features and advantages of the invention will become apparent from the following Description of embodiments according to the invention and other alternative alternatives with the drawings that show:

1 eine Anordnung umfassend einen erfindungsgemäßen portablen Datenträger sowie ein Endgerät; 1 an arrangement comprising a portable data carrier according to the invention and a terminal;

2 ein bevorzugter Aufbau eines erfindungsgemäßen Schreibkommandos; 2 a preferred construction of a write command according to the invention;

3 ein Ablaufdiagramm eines bevorzugten erfindungsgemäßen Verfahrensablaufs; und 3 a flowchart of a preferred method sequence according to the invention; and

4 eine Skizze einer besonderen Ausführungsform des erfindungsgemäßen Verfahrens. 4 a sketch of a particular embodiment of the method according to the invention.

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. 1 shows a data communication arrangement in which a terminal 20 writing on a memory 12 a portable volume 10 by means of a write command 300 accesses. The portable data carrier 10 In this case, the components customary for such devices, such as a processor (not shown), comprise a bus system with a data communication interface 16 , a memory device comprising a permanent ROM memory with operating system (not shown), a non-volatile memory 12 For example, a flash memory or the like, as well as a volatile RAM memory (not shown). In the non-volatile memory 12 is a read-only memory section 14 For example, a read-only partition and a non-read-only memory section 18 furnished, z. B. another partition of the memory 12 , A read-only partition table (not shown) of the memory 12 in which the different partitions 14 . 18 of the non-volatile memory 12 are usually in a first memory block of the memory 12 created so that the read-only memory section 14 neither directly nor via the partition table can be manipulated uncontrolled or deleted.

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.In particular, the data carrier comprises 10 a control device 11 , z. For example, a memory controller that has a write command 300 from the terminal 20 receives and processes. Further, in the non-write protected memory section 18 a preferably secured memory area 13 set up in which security-relevant data are stored, for. B. a permission table 19 in which for the control device 11 known users or for others on the read-only memory section 14 accessing instances, reference key 17 (REF), the authentication of the user or the respective instance in a write access to the read-only memory section 14 serve.

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.The controller may distinguish and process at least two different types of write commands, namely, conventional write commands into the non-read-only memory section 18 according to a between the disk 10 and the terminal 20 agreed data communication protocol are built and processed, and embedded write commands 300 in the read-only memory section 14 which have a command structure different from the conventional write commands, but which are transparently embedded in a conventional write command according to the agreed data communication protocol.

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.In a conventional write access of terminal 20 in the non-volatile memory 12 generates a writing device 22 of the terminal 20 a write command with a header data share 310 (HERD) for administrative data and a payload 320 (LORD) for user data and transmits it via the data communication interfaces 23 and 16 to the controller 11 of the disk 10 that is from the header data share 310 a command type and a memory address of the memory section 18 takes, at the in the Nutzdatenanteil 320 present user data should be stored. This memory access is provided by the controller 11 block-oriented performed, ie in the payload portion 320 present user data are completely in a memory block of the memory section 18 written, where in the Nutzdatenanteils 320 for user data available data volume is matched to the respective memory block size.

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.The command structure of a conventional write command is specified by the agreed data communication protocol. Depending on the type of volume 10 For example, the agreed data communication protocol may be an SD protocol or an MMC protocol, as long as the data carrier is the same 10 is an SD memory card ("Secure Digital Memory Card") or an MMC ("Multimedia Card") memory card. Unless it is the disk 10 is a conventional smart card or a smart card that with a smart card terminal as a terminal 20 For example, the data communication protocol may be the T = 0 or T = 1 protocol according to ISO 7816-3 act.

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.However, the write access is an embedded memory command 300 in the read-only memory section 14 , is from the controller 11 a special authentication or authentication method based on authentication data 322 (AUTH) performs the writing device 22 in the payload portion 320 of the writing command 300 has embeds. After receiving a write command 300 checks the control device 11 First, whether it is an embedded write command 300 is. This can either be recognized by the fact that a memory block 15 in the read-only memory section 14 or that in the payload portion 320 Authentisierensdaten 322 available. If neither a memory block 15 in the read-only memory section 14 still authentication data 322 can be detected, the control device 11 the write command as conventional write access in the non-write protected memory section 18 interpret, in which the entire data volume of the user data portion 320 is interpreted as payload. If, however, an embedded write command 300 is in the read-only memory section, this is from the controller 11 processed separately as described below.

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.At a write command 300 in the read-only memory section 14 embeds the writing device 22 of the terminal 20 the required authentication data 322 in the payload portion 320 a, that the control device 11 the embedded authentication data 322 from the received payload 320 to extract for further examination. By embedding authentication data 322 in a user data portion 320 , which is provided according to the data communication protocol used only for pure payload, becomes a so-called "tunnel" between the terminal 20 and the disk 10 established, in which the agreed data communication protocol is also used for the transmission of non-protocol data, namely the authentication data 322 , The writing device 22 and the controller 11 are thus coordinated so that this "tunnel" can be operated by coordinated embedding and extraction of non-protocol data.

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. 2 outlines the structure of a conventional write command and a write command embedded in it 300 in the read-only memory section 14 , One or more such write commands are from the controller 11 interpreted and processed as a data telegram. Like a conventional write command also includes an embedded write command 300 a header data share 310 who is responsible for the interpretation and execution of the write command 300 required tax and administrative data, as well as a user data share 320 , which includes in a conventional write command only uninterpreted payload as an argument of the write command.

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.The header data share 310 this usually includes command type data 311 (CMD) indicating the type of the intended command, in the case of a write command z. "SingleBlockWrite" or "MultipleBlockWrite", as well as address data 312 (ADR), which is a memory block 15 in the read-only memory section 14 address. In the user data portion 320 be next to the payload 323 (DATA) also introduced further data, which is for a write access in the read-only memory section 14 necessary. These include in addition to the already mentioned authentication data 322 also reconstruction data 321 (REC), which are needed to payload 323 various write commands 300 in an envisaged manner in the read-only memory section 14 or in the memory block 15 to arrange. Finally, the payload includes 320 also the actual user data 323 as an argument of the embedded write command 300 in the of the address data 312 specified memory block 15 are to be registered. Since the user data share 320 now also includes control data, namely the reconstruction data 321 and authentication data 322 , is at an embedded write command 300 the data volume of the user data 323 reduced compared to a conventional write command, so that in an embedded write command 300 the data volume of the user data 323 is less than that of a memory block 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). 3 outlines a three-level authentication method by the controller 11 is being processed to a user who has a write-down 300 in the read-only memory section 14 and the write command 300 to authenticate yourself. Here, first of all, in a step S1, an authentication of the user is performed, which is the write command 300 over the terminal 20 (VERIFY USER), followed by a verification of the write command in step S2 300 through the authentication data 322 (VERIFY CMD) and in step S3 a verification as to whether the memory block in question 15 the user is available for write access (VERIFY BLOCK). If the three verification steps have been successful, finally, in step S4, the payload 323 in the memory block 15 written (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.In a the in 3 sketched process upstream step generates the terminal 20 or its writing device 22 an embedded write command 300 by adding a conventional header data share 310 and a payload 320 be provided, wherein the payload portion 320 reconstruction data 321 , Authentication data 322 and user data 323 includes. The authentication data 322 For example, a storage address of the entitlement table 19 As well as a symmetric cryptographic key include the user of the Steuerein direction 11 as a comparison key 24 Assigned (CMP) and as a reference key 17 (REF) in the entitlement table 19 was deposited. The comparison key 24 and the reference key 17 For example, it may be negotiated according to a known key generation method, or it may be an already existing symmetric cryptographic key from the controller 11 to be selected. Likewise, an immutable cryptographic key valid for all users or for a particular group of users may be used. Moreover, it is also possible that not for each user an individual symmetric cryptographic key as comparison or reference key 21 . 17 is determined, but that a symmetric cryptography key 21 . 17 has a predetermined time validity period and for a new user only then another symmetric cryptography key 21 . 17 must be determined if this period of validity has expired. Here, a user can also use a symmetric cryptographic key as comparison or reference key 24 . 17 assigned to a previous user.

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.A user always gets a (new or known) symmetric cryptographic key as a comparison or reference key 24 . 17 assigned when in step S1 opposite the control device 11 authenticated. Thus, a user can have the comparison / reference key assigned to him 24 . 17 keep it until it reappears to the controller 11 authenticate them and give them a new comparison / reference key 24 . 17 assigns. This authentication can be carried out, for example, by checking a global or data-carrier-specific secret of the user, for example by comparing a comparison secret provided by the user, eg. B. a personal identification number (PIN), a one-time password or the like, with egg nem the control device ( 11 ) present reference secret, the z. In the authorization table 19 or in another secure storage area of the volume 10 can be deposited.

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 step S2, the controller compares 11 those from the received, embedded write command 300 extracted authentication data 322 , or the comparative key present therein 24 , with that in the permissions table 19 reference key assigned to this user 17 , Alternatively it is possible that the writing device 22 of the terminal 20 as authentication data 322 a MAC identifier ("Message Authentication Code") in the payload portion 320 that comes from the symmetric comparison key 24 and at least the user data to be written 323 represents derived comparison check data. For example, such a MAC identifier can be obtained by symmetrically encrypting the payload 323 be generated. In this case, the controller checks 11 the received authentication data 322 (the comparison check data) by encrypting the in the payload portion 320 present user data 322 with the in the authorization table 19 present reference key 17 and comparing the encryption result (the reference check data) with the authentication data 322 (the comparison check data), If there is a match, the write command is valid 300 or the write represented by it access to the read-only memory section 14 as authenticated.

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.In the in 4 detailed authorization table 19 in a secured storage area 13 is created is the respective user, who is the respective write command 300 has triggered, via a unique user identification number (UID) or the like of the negotiated or selected reference key 17 assigned. The user identification number may be from the writer 22 z. B. in the header data share 310 or in the authentication data 322 of the writing command 300 be introduced. In addition to the reference key 17 can in the permission table 19 also individual memory blocks or larger memory areas of the read-only memory section 14 be given to a user in principle for write accesses in the read-only memory section 14 be available. In addition to the verification steps S1 and S2, it is accordingly checked in step S3 whether the data stored by the memory address data 312 certain memory block 15 in the authorization table 19 associated with the user in question. Of course, steps S1 to S3 may also be performed in any other convenient order, e.g. For example, the verification of the memory address data 312 in step S3 also before the verification of the authentication data 322 done in step S2. In any case, the payload 323 however, only in the specified memory block 15 written when all verification steps S1 to S3 have been completed successfully.

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. 4 finally illustrates a particular embodiment, with which the already related 2 can be taken into account that by embedding a write command 300 , with which a write access to the read-only memory section 14 is executed, only a data volume of user data 323 in the payload portion 320 available behind the data volume of a memory block 15 remains.

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.For a data volume of a memory block 15 in the read-only memory section 14 512 bytes (512 bytes LORD) can be used by the writer 22 the corresponding user data of 512 bytes in two user data packets 323 each of 256 bytes (256 bytes DATA) and each as user data 323 in separate write commands 300 contribute. Here is the writing device 22 in the payload portion 320 additional reconstruction data 321 that determine in what way the controller 11 of the disk 10 the two user data packets 323 when writing to the memory block 15 must combine. For example, as reconstruction data 321 in 4 the two statements "LO" (or "low") and "HI" (or "high") are made, which determine that the LO payload portion 323 in the memory block 15 before the HI user data share 323 should be stored. As the control device 11 both write commands 300 in the in 3 individually scrutinized way are in both embedded write commands 300 at least the address data 312 (# adr1) identical and the authentication data 322 (CMP1) differ only if they are different from the comparison key 24 are also dependent on other data, eg. B. from the variable user data packets 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.In the in 4 In the illustrated example, both write commands each include the comparison key 24 of the user in question with the one in the authorization table 19 for the user with the user identification number UID = 1 specified reference key 17 matches. There is also the entitlement table 19 for the verification step S3 also memory areas or memory blocks (eg # adr1 to #adrN for UID = 1), which can be described in principle by the relevant user, provided that the required verification steps S1 and S2 have been successfully completed.

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.In addition to the previously described "SingleBlockWrite" spell commands 300 with which only one memory block 15 is described, other types of write commands are conceivable according to the in the 1 to 4 sketched principle are generated, constructed and processed. For example, the controller may 11 also "MultipleBlockWrite" spell commands 300 process multiple blocks of memory. Such a "MultipleBlockWrite" write command 300 can z. B. a header data share 310 and several user data shares 320 with individual authentication data 322 and user data 323 include. The user data shares 320 are then from the controller 11 separately based on the respective authentication data 322 checked and the relevant user data 323 are consecutively written to a plurality of consecutive memory blocks that match the one by the matching memory address data 312 specific memory block 15 kick off. Likewise, a "MultipleBlockWrite" write command 300 also comprise a plurality of write command sections, each in turn a full head portion 310 and a full payload 320 and tested separately. Finally, a "MultipleBlockWrite" write command 300 also a user data share 320 having only one authentication record 322 and several payload records 323 includes. Again, all payload records 323 by the verification of the authentication data 322 verified at the same time.

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.If a write command payload for several different Contains memory blocks, so may for testing the write authorization uses a single authentication date which is calculated from all user data of the write command.

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.Furthermore, the control device 11 also several "SingleBlockWrite" write commands 300 , which relate to successive memory blocks, to one of the above-mentioned "MultipleBlockWrite" write commands 300 to save redundant control and administration data, e.g. B. header data shares 310 and / or authentication data 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.At the conclusion of a write access, the writer 22 of the terminal 20 the success of the embedded write command through a regular read into the memory block concerned 15 to verify. Furthermore, it is possible to enter the authentication data 322 a symmetric comparison key 24 and to introduce a MAC identifier, wherein the write authorization based on the comparison key 24 verifying and verifying the MAC identifier, the tamper-free transmission of the write command 300 is ensured. Of course, the user data must 323 not in plain text in the user data portion 320 but may also be in encrypted and obfuscated form, for example as a MAC identifier or the like.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

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.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • - EP 1673958 [0003] - EP 1673958 [0003]
  • - DE 102007050463 A1 [0004] - DE 102007050463 A1 [0004]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • - ISO 7816-3 [0034] - ISO 7816-3 [0034]

Claims (20)

Verfahren auf einem portablen Datenträger (10), bei dem ein Schreibkommando (300) eines Endgeräts (20) in einen schreibgeschützten Speicherabschnitt (14) eines Speichers (12) des Datenträgers (10) nur ausgeführt wird (S4), sofern eine Schreibberechtigung einer das Schreibkommando (300) auslösenden Instanz festgestellt wird, dadurch gekennzeichnet, dass ein Authentisierungsdaten (322) und Nutzdaten (323) umfassendes Schreibkommando (300) des Endgeräts (20) empfangen wird und anhand der Authentisierungsdaten (322) eine Schreibberechtigung der Instanz zum Schreiben der Nutzdaten (323) in einen von dem Schreibkommando (300) vorgegebenen Speicherblock (15) des schreibgeschützten Speicherabschnitts (14) geprüft wird (S2).Method on a portable data carrier ( 10 ), in which a write command ( 300 ) of a terminal ( 20 ) into a read-only memory section ( 14 ) of a memory ( 12 ) of the data carrier ( 10 ) is only executed (S4), provided that a write authorization of a write command ( 300 ) triggering instance, characterized in that an authentication data ( 322 ) and user data ( 323 ) comprehensive write command ( 300 ) of the terminal ( 20 ) and based on the authentication data ( 322 ) a write authorization of the instance for writing the user data ( 323 ) in one of the write command ( 300 ) predetermined memory block ( 15 ) of the read-only memory section ( 14 ) (S2). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein einen Kopfdatenanteil (310) und einen Nutzdatenanteil (320) umfassendes Schreibkommando (300) in den schreibgeschützten Speicherabschnitt (14) des Speichers (12) gemäß einem zwischen dem Endgerät (20) und dem Datenträger (10) vereinbarten Datenübertragungsprotokoll empfangen wird, wobei aus dem Nutzdatenanteil (320) die Authentisierungsdaten (322) zum Prüfen der Schreibberechtigung der Instanz und die Nutzdaten (323) zum Schreiben in den Speicherblock (15) extrahiert werden.Method according to claim 1, characterized in that a header data part ( 310 ) and a user data portion ( 320 ) comprehensive write command ( 300 ) into the read-only memory section ( 14 ) of the memory ( 12 ) according to one between the terminal ( 20 ) and the data medium ( 10 ) received data transmission protocol, wherein from the user data portion ( 320 ) the authentication data ( 322 ) for checking the write authorization of the instance and the user data ( 323 ) for writing to the memory block ( 15 ) are extracted. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass aus den Authentisierungsdaten (322) ein Authentisierungsschlüssel und eine auf eine Berechtigungstabelle (19) in einem Speicher (12) des Datenträgers (10) verweisende Berechtigungstabellenadresse extrahiert werden, wobei die Schreibberechtigung der Instanz mittels eines Abgleichs des Authentisie rungsschlüssels mit einem der Instanz über die Berechtigungstabelle (19) zugeordneten Referenzschlüssel (17) geprüft wird.Method according to claim 2, characterized in that from the authentication data ( 322 ) an authentication key and an authorization table ( 19 ) in a memory ( 12 ) of the data carrier ( 10 ), wherein the write authorization of the instance by means of a comparison of the authentication key with one of the instance via the authorization table ( 19 ) associated reference key ( 17 ) is checked. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass ein symmetrischer Vergleichsschlüssel (24) als Authentisierungsschlüssel mit dem symmetrischen Referenzschlüssel (17) der Instanz verglichen wird (S2), wobei die Abarbeitung des Schreibkommandos (300) abgebrochen wird, sofern der Vergleichsschlüssel und der Referenzschlüssel (17) nicht übereinstimmen.Method according to Claim 3, characterized in that a symmetrical comparison key ( 24 ) as the authentication key with the symmetric reference key ( 17 ) is compared (S2), wherein the processing of the write command ( 300 ) is aborted if the comparison key and the reference key ( 17 ) do not match. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass aus den Nutzdaten (323) und dem symmetrischen Referenzschlüssel (17) Referenzprüfdaten erzeugt werden und die Referenzprüfdaten mit Vergleichsprüfdaten als Authentisierungsschlüssel verglichen werden (S2), wobei die Abarbeitung des Schreibkommandos (300) abgebrochen wird, sofern die Vergleichsprüfdaten und die Referenzprüfdaten nicht übereinstimmen.Method according to claim 3, characterized in that from the user data ( 323 ) and the symmetric reference key ( 17 ) Reference check data are generated and the reference check data is compared with comparison check data as the authentication key (S2), whereby the processing of the write command ( 300 ) is aborted if the comparison check data and the reference check data do not match. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Referenzprüfdaten erzeugt werden, indem die Nutzdaten (323) mit dem symmetrischen Referenzschlüssel (17) verschlüsselt werden.A method according to claim 5, characterized in that the reference check data are generated by the user data ( 323 ) with the symmetric reference key ( 17 ) are encrypted. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass aus dem Kopfdatenanteil (310) des Schreibkommandos (300) Speicheradressdaten (312) extrahiert werden und die Nutzdaten (323) in den von den Speicheradressdaten (312) vorgegebenen Speicherblock (15) geschrieben werden, sofern die Schreibberechtigung der Instanz anhand der Authentisierungsdaten (322) festgestellt wird.Method according to one of claims 3 to 6, characterized in that from the header data share ( 310 ) of the write command ( 300 ) Memory address data ( 312 ) and the payload ( 323 ) in the of the memory address data ( 312 ) predetermined memory block ( 15 ), provided the write authorization of the instance is based on the authentication data ( 322 ) is detected. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Abarbeitung des Schreibkommandos (300) abgebrochen wird, sofern der von den Speicheradressdaten (312) vorgegebene Speicherblock (15) in der Berechtigungstabelle (19) nicht der Instanz zugeordnet ist (S3).Method according to Claim 7, characterized in that the processing of the write command ( 300 ) is aborted, provided that the memory address data ( 312 ) predetermined memory block ( 15 ) in the authorization table ( 19 ) is not assigned to the instance (S3). Verfahren nach einem der Ansprüche 3 bis 8, dadurch gekennzeichnet, dass ein von einer Instanz ausgelöstes Schreibkommando (300) von dem Datenträger (10) nur ausgeführt wird, wenn die Instanz von dem Datenträger (10) authentifiziert wurde (S1), wobei für eine authentifizierte Instanz ein neuer Referenzschlüssel (17) ausgehandelt oder ein bestehender Referenzschlüssel (17) ausgewählt und der authentifizierten Instanz in der Berechtigungstabelle (19) zugeordnet wird.Method according to one of claims 3 to 8, characterized in that a write command triggered by an instance ( 300 ) from the disk ( 10 ) is executed only if the instance of the volume ( 10 ) (S1), whereby for a authenticated entity a new reference key ( 17 ) or an existing reference key ( 17 ) and the authenticated entity in the entitlement table ( 19 ). Verfahren nach einem der Ansprüche 3 bis 9, dadurch gekennzeichnet, dass für eine Instanz, die von dem Datenträger (10) authentifiziert wurde, ein neuer Referenzschlüssel (17) ausgehandelt oder ein bestehender Referenzschlüssel (17) ausgewählt und der authentifizierten Instanz in der Berechtigungstabelle (19) zugeordnet wird, und einer Instanz, die nicht gegenüber dem Datenträger (10) authentifiziert wurde, ein Referenzschlüssel (17) zugeordnet wird, der dieser Instanz bereits zuvor zugeordnet wurde.Method according to one of Claims 3 to 9, characterized in that for an entity which is dependent on the data carrier ( 10 ), a new reference key ( 17 ) or an existing reference key ( 17 ) and the authenticated entity in the entitlement table ( 19 ) and an instance that is not facing the volume ( 10 ), a reference key ( 17 ) that has already been assigned to this instance. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass eine Instanz von dem Datenträger (10) authentifiziert wird, wenn ein Vergleichsgeheimnis der Instanz mit einem in einem Speicher (12) des Datenträgers vorliegenden Referenzgeheimnis übereinstimmt (S1).Method according to claim 9 or 10, characterized in that an instance of the data carrier ( 10 ) is authenticated if a comparative secret of the instance with one in a memory ( 12 ) of the data carrier is in agreement with the reference secret (S1). Verfahren nach einem der Ansprüche 2 bis 11, dadurch gekennzeichnet, dass ein Schreibkommando des Endgeräts (20) in einen von dem schreibgeschützten Speicherabschnitt (14) verschiedenen Speicherabschnitt (18) des Speichers (12) gemäß dem vereinbarten Datenübertragungsprotokoll bearbeitet wird, indem der gesamte Nutzdatenanteil (320) als Nutzdaten (323) interpretiert wird.Method according to one of claims 2 to 11, characterized in that a write command of the terminal ( 20 ) into one of the read-only memory section ( 14 ) different memory section ( 18 ) of the memory ( 12 ) is processed in accordance with the agreed data transfer protocol by dividing the total payload ( 320 ) as user data ( 323 ) is interpreted. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass in den vorgegebenen Speicherblock (15) des schreibgeschützten Speicherabschnitts (14) Nutzdaten (323) von zumindest zwei Schreibkommandos (300) geschrieben werden, wobei die Nutzdaten (323) der zumindest zwei Schreibkommandos (300) in einer vorgegebenen Weise in den vorgegebenen Speicherblock (15) geschrieben werden, sofern für jedes der zumindest zwei Schreibkommandos (300) eine Schreibberechtigung der Instanz zum Schreiben der jeweiligen Nutzdaten (323) in den vorgegebenen Speicherblock (15) festgestellt wird.Method according to one of claims 1 to 12, characterized in that in the predetermined memory block ( 15 ) of the read-only memory section ( 14 ) User data ( 323 ) of at least two write commands ( 300 ), the payload data ( 323 ) of the at least two write commands ( 300 ) in a predetermined manner in the predetermined memory block ( 15 ), provided that for each of the at least two write commands ( 300 ) a write authorization of the instance for writing the respective user data ( 323 ) in the given memory block ( 15 ) is detected. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass aus den jeweiligen Nutzdatenanteilen (320) der zumindest zwei Schreibkommandos (300) jeweils Rekonstruktionsdaten (321) extrahiert werden und die Nutzdaten (323) der zumindest zwei Schreibkommandos (300) in der durch die Rekonstruktionsdaten (321) vorgegebene Reihenfolge in den vorgegebenen Speicherblock (15) geschrieben werden.A method according to claim 13, characterized in that from the respective user data shares ( 320 ) of the at least two write commands ( 300 ) each reconstruction data ( 321 ) and the payload ( 323 ) of the at least two write commands ( 300 ) by the reconstruction data ( 321 ) predetermined order in the predetermined memory block ( 15 ) to be written. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass ein Authentisierungsdaten (322) und Nutzdaten (323) für zumindest zwei Speicherblöcke (15) umfassendes Schreibkommando (300) empfangen wird, wobei die Nutzdaten (323) beginnend mit dem vorgegebenen Speicherblock (15) in zumindest zwei konsekutive Speicherblöcke geschrieben werden, sofern anhand der Authentisierungsdaten (322) eine Schreibberechtigung der Instanz zum Schreiben von Nutzdaten (323) in den vorgegebenen Speicherblock (15) des schreibgeschützten Speicherabschnitts (14) festgestellt wird.Method according to one of claims 1 to 14, characterized in that an authentication data ( 322 ) and user data ( 323 ) for at least two memory blocks ( 15 ) comprehensive write command ( 300 ), the payload ( 323 ) starting with the given memory block ( 15 ) are written in at least two consecutive memory blocks, if based on the authentication data ( 322 ) a write authorization of the instance for writing user data ( 323 ) in the given memory block ( 15 ) of the read-only memory section ( 14 ) is detected. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass ein Schreibkommando (300) mit zumindest zwei jeweils Authentisierungsdaten (322) und Nutzdaten (323) umfassenden Schreibkommandoabschnitten empfangen wird, wobei für jeden der zumindest zwei Schreibkommandoabschnitte separat geprüft wird, ob eine Schreibberechtigung der Instanz zum Schreiben der jeweiligen Nutzdaten (323) des betreffenden Schreibkommandoabschnitts in einen von dem betreffenden Speicherkommandoabschnitt individuell vorgegebenen Speicherblock (15) vorliegt.Method according to one of claims 1 to 15, characterized in that a write command ( 300 ) with at least two respective authentication data ( 322 ) and user data ( 323 ) is received, wherein for each of the at least two write command sections is checked separately whether a write permission of the instance for writing the respective user data ( 323 ) of the respective write command section into a memory block individually predetermined by the relevant memory command section ( 15 ) is present. Verfahren nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, dass ein Schreibkommando (300) empfangen wird, das von dem Endgerät (20) oder einem Nutzer des Endgeräts (20) oder von einem mit dem Endgerät (20) verbundenen weiteren Gerät ausgelöst wurde und eine Schreibberechtigung des Endgeräts (20) oder des Nutzers des Endgeräts (20) oder des mit dem Endgerät (20) verbundenen weiteren Geräts geprüft wird.Method according to one of claims 1 to 16, characterized in that a write command ( 300 ) received from the terminal ( 20 ) or a user of the terminal ( 20 ) or from one with the terminal ( 20 ) connected further device and a write permission of the terminal ( 20 ) or the user of the terminal ( 20 ) or the with the terminal ( 20 ) connected further device is checked. Portabler Datenträger (10), umfassend einen Speicher (12) mit einem schreibgeschützten Speicherabschnitt (14) und eine Steuereinrichtung (11), die eingerichtet ist, ein Schreibkommando (300) eines mit dem Datenträger (10) verbundenen Endgeräts (20) in den schreibgeschützten Speicherabschnitt (14) nur auszuführen, sofern die Steuereinrichtung (11) eine Schreibberechtigung einer das Schreibkommando (300) auslösenden Instanz feststellt, dadurch gekennzeichnet, dass das von dem Endgerät (20) empfangene Schreibkommando (300) Authentisierungsdaten (322) und Nutzdaten (323) umfasst und die Steuereinrichtung (11) ferner eingerichtet ist, anhand der Authentisierungsdaten (322) eine Schreibberechtigung der Instanz zum Schreiben der Nutzdaten (323) in einen von dem Schreibkommando (300) vorgegebenen Speicherblock (15) des schreibgeschützten Speicherabschnitts (14) zu prüfen.Portable disk ( 10 ), comprising a memory ( 12 ) with a read-only memory section ( 14 ) and a control device ( 11 ), which is set up, a write command ( 300 ) one with the data medium ( 10 ) connected terminal ( 20 ) into the read-only memory section ( 14 ) only if the control device ( 11 ) a write permission of the write command ( 300 ) triggering instance, characterized in that the from the terminal ( 20 ) received write command ( 300 ) Authentication data ( 322 ) and user data ( 323 ) and the control device ( 11 ) is further set up on the basis of the authentication data ( 322 ) a write authorization of the instance for writing the user data ( 323 ) in one of the write command ( 300 ) predetermined memory block ( 15 ) of the read-only memory section ( 14 ) to consider. Datenträger (20) nach Anspruch 18, dadurch gekennzeichnet, dass die Steuereinrichtung (11) eingerichtete ist, ein Verfahren nach einem der Ansprüche 1 bis 17 auszuführen.Disk ( 20 ) according to claim 18, characterized in that the control device ( 11 ) is arranged to carry out a method according to one of claims 1 to 17. Endgerät (20), gekennzeichnet durch eine Schreibeinrichtung (22), die eingerichtet ist, ein Authentisierungsdaten (322) und Nutzdaten (323) umfassendes Schreibkommando (300) derart zu erzeugen und an einen Datenträger (10) nach einem der Ansprüche 18 oder 19 zu übertragen, dass der Datenträger (10) anhand des Schreibkommandos (300) ein Verfahren nach einem der Ansprüche 1 bis 17 durchführen kann.Terminal ( 20 ), characterized by a writing device ( 22 ), which is set up an authentication data ( 322 ) and user data ( 323 ) comprehensive write command ( 300 ) in such a way and to a data carrier ( 10 ) according to one of claims 18 or 19, that the data medium ( 10 ) based on the write command ( 300 ) can perform a method according to any one of claims 1 to 17.
DE200910018222 2009-04-21 2009-04-21 Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block Withdrawn DE102009018222A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200910018222 DE102009018222A1 (en) 2009-04-21 2009-04-21 Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910018222 DE102009018222A1 (en) 2009-04-21 2009-04-21 Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block

Publications (1)

Publication Number Publication Date
DE102009018222A1 true DE102009018222A1 (en) 2010-10-28

Family

ID=42779616

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910018222 Withdrawn DE102009018222A1 (en) 2009-04-21 2009-04-21 Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block

Country Status (1)

Country Link
DE (1) DE102009018222A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015089234A1 (en) * 2013-12-10 2015-06-18 Memory Technologies Llc Storage module with authenticated storage access
EP2945092A1 (en) * 2014-05-15 2015-11-18 Winbond Electronics Corp. Memory device with secure test mode
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
DE102016007139A1 (en) * 2016-06-10 2017-12-14 Giesecke+Devrient Mobile Security Gmbh Memory management of a security module

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1673958A1 (en) 2003-10-14 2006-06-28 Telecom Italia S.p.A. Method and system for controlling resources via a mobile terminal, related network and computer program product therefor
DE102007050463A1 (en) 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Method for accessing a portable storage medium with an add-on module and a portable storage medium
US20080250509A1 (en) * 2007-04-04 2008-10-09 Nokia Corporation Write Protection For Memory Devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1673958A1 (en) 2003-10-14 2006-06-28 Telecom Italia S.p.A. Method and system for controlling resources via a mobile terminal, related network and computer program product therefor
DE102007050463A1 (en) 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Method for accessing a portable storage medium with an add-on module and a portable storage medium
US20080250509A1 (en) * 2007-04-04 2008-10-09 Nokia Corporation Write Protection For Memory Devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO 7816-3

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015089234A1 (en) * 2013-12-10 2015-06-18 Memory Technologies Llc Storage module with authenticated storage access
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
EP2945092A1 (en) * 2014-05-15 2015-11-18 Winbond Electronics Corp. Memory device with secure test mode
DE102016007139A1 (en) * 2016-06-10 2017-12-14 Giesecke+Devrient Mobile Security Gmbh Memory management of a security module
US11205020B2 (en) 2016-06-10 2021-12-21 Giesecke+Devrient Mobile Security Gmbh Memory management of a security module

Similar Documents

Publication Publication Date Title
EP3289508B1 (en) Method for generating an electronic signature
EP2454704B1 (en) Method to read attributes from an id-token
EP1891607B1 (en) Method for accessing a data station to an electronic device
DE69614944T2 (en) System and method for the transparent integration of encrypted functions from an IC card with cryptographic services based on the main computer
EP2338255B1 (en) Method, computer program product and system for authenticating a user of a telecommunications network
DE19839847A1 (en) Storage of data objects in the memory of a chip card
EP3245607B1 (en) Method for reading attributes from an id token
EP3159824B1 (en) Method for processing an encrypted print job
DE112018007132T5 (en) In-vehicle function access control system, in-vehicle device and in-vehicle function access control method
DE102009018222A1 (en) Writing command e.g. single block write command, executing method for use in e.g. terminal in write protected memory section of memory of smart card, involves testing write authorization of entity for writing user data in memory block
EP3319003B1 (en) Method and system for authenticating a mobile telecommunication terminal on a service computer system and mobile telecommunication terminal
WO2015180867A1 (en) Production of a cryptographic key
EP3289509B1 (en) Method for generating an electronic signature
WO2016146726A1 (en) Method for generating a certificate for a security token
EP3125464B1 (en) Blocking service for a certificate created using an id token
EP2169579B1 (en) Method and device for accessing a machine readable document
WO2017032452A1 (en) Transaction system
EP3244331B1 (en) Method for reading attributes from an id token
EP3186741B1 (en) Access protection for external data in the non-volatile memory of a token
EP1365363B1 (en) Method for carrying out a data transaction by means of a transaction device which consists of a main- and a separable auxiliary component
DE102019109343A1 (en) Method and device for transmitting digital data
WO2004107282A1 (en) Method for loading portable data carriers with data
EP1722336A2 (en) Data generating device and method for initialising security data carriers
EP3323072B1 (en) Method for reading attributes from an id token, id token, attribute-provider computer system, and computer system
DE19540930C1 (en) Method for creating an information distribution system for any number of closed user groups using a physical unit

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20150316

R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, DE

Free format text: FORMER OWNER: GIESECKE & DEVRIENT GMBH, 81677 MUENCHEN, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee