Verfahren zur Durchführung von Veränderungen in BerechtigungsdatensätzenProcedure for making changes in authorization data records
Die Erfindung betrifft ein Verfahren zur Durchführung von Veränderungen in Berechtigungsdatensätzen, die auf Datenträgern, insbesondere auf Chipkarten, gespeichert sind, wobei der Datenträger zum Austausch von Daten mit einem Terminal und einem Sicherheitsmodul verbunden ist.The invention relates to a method for carrying out changes in authorization data records which are stored on data carriers, in particular on chip cards, the data carrier being connected to a terminal and a security module for exchanging data.
Im täglichen Leben werden häufig Berechtigungen erworben, die in Papierform dokumentiert werden. Beispiele dafür sind die Berechtigung zur Benutzung von Verkehrsmitteln in Form von Fahrscheinen und Zeitkarten, die Benutzung von Parkplätzen in Form von Parkscheinen. Ferner sind in diesem Zusammenhang Eintrittskarten für kulturelle oder sportliche Veranstaltungen, Schwimmbäder, Museen und andere Einrichtungen zu nennen. In den meisten Fällen wird ein solcher Beleg lediglich zu Kontrollzwecken verwendet, der vom Kunden nach Gebrauch fortgeworfen wird. Einige dieser Belege sind so klein, daß sie leicht verlorengehen können. Bei manchen Gelegenheiten, beispielsweise auf Reisen, werden verschiedene Belege mitgeführt, so daß bei einer Kontrolle die Suche nach dem richtigen Beleg Schwierigkeiten bereiten kann .Permissions are often acquired in daily life and are documented on paper. Examples of this are the authorization to use means of transport in the form of tickets and season tickets, the use of parking spaces in the form of parking tickets. In this context, tickets for cultural or sporting events, swimming pools, museums and other facilities should also be mentioned. In most cases, such a receipt is only used for control purposes and is discarded by the customer after use. Some of these documents are so small that they can easily be lost. On some occasions, for example when traveling, various receipts are carried so that the search for the correct receipt can be difficult when checking.
Zur Vermeidung dieser Nachteile sind Verfahren zum Erwerb sowie zum Abspeichern von Berechtigungen auf Chipkarten bekanntgeworden, beispielsweise aus DE 195 22 050 A1 und
EP 0 713 188 A1. Dabei hat es sich herausgestellt, daß für eine sinnvolle Nutzung von auf Chipkarten abgespeicherten Berechtigungen auch nachträgliche Veränderungen einzelner Datenfelder möglich sein müssen. Derartige Veränderungen sind beispielsweise erforderlich, um jeweils eine einzelne Berechtigung einer Zehnerkarte entwerten zu können. Die Möglichkeit, Veränderungen durchführen zu können, kann jedoch auch mißbräuchlich benutzt werden, um beispielsweise aus einem Tagesausweis eine Monatskarte zu machen.To avoid these disadvantages, methods for acquiring and storing authorizations on chip cards have become known, for example from DE 195 22 050 A1 and EP 0 713 188 A1. It has been found that for the meaningful use of authorizations stored on chip cards, subsequent changes to individual data fields must also be possible. Such changes are necessary, for example, in order to be able to validate a single authorization for a tens card. However, the possibility of being able to make changes can also be misused, for example to turn a day pass into a monthly pass.
Der Grund für derartige Manipulationsmöglichkeiten liegt in der Speicher- bzw. Sicherheitsarchitektur der Chipkarten. Berechtigungsdatensätze werden nämlich dem Stand der Technik entsprechend innerhalb der Speicherplatzarchitektur von Chipkarten im variablen Speicherbereich, beispielsweise EEPROM-Bereich, abgelegt. Die Speicherbereiche werden über das Betriebssystem der Chipkarte bearbeitet bzw. verwaltet. Entsprechende Spezifikationen sind Bestandteil internationaler Normung (CEN prEN 726-3, ISO 7816-4). Entsprechend dieser Norm würde ein Berechtigungen kennzeichnender Datensatz - im folgendenThe reason for such manipulation possibilities lies in the memory or security architecture of the chip cards. According to the state of the art, authorization data records are stored within the memory architecture of chip cards in the variable memory area, for example the EEPROM area. The memory areas are processed or managed using the chip card operating system. Corresponding specifications are part of international standardization (CEN prEN 726-3, ISO 7816-4). In accordance with this standard, a data record that characterizes authorizations would - in the following
Berechtigungsdatensatz genannt - in einem EF ( = elementary file) abgelegt, wobei ein EF mehrere Berechtigungsdatensätze aufnehmen kann. Innerhalb eines Datensatzes sind mehrere Datenfelder vorhanden, in denen die Dateninhalte der Berechtigungen gespeichert sind.Authorization record called - stored in an EF (= elementary file), where an EF can hold multiple authorization records. There are several data fields within a data record in which the data content of the authorizations is stored.
In den bekannten Chipkarten nach der obengenannten Normung sind jeweils Zugangsbedingungen (access conditions) für das gesamte EF, nicht jedoch für einzelne Datenfelder festgelegt. Die Zugangsbedingungen regeln unter welchen sicherheitstechnischen Bedingungen auf das EF zugegriffen werden kann. Über die Einhaltung der Zugangsbedingungen wacht das Betriebssystem der Chipkarte, das heißt: werden Änderungen in einem Berechtigungsdatensatz zugelassen, können diese an jeder beliebigen Stelle des die
Berechtigungsdaten enthaltenen EF vorgenommen werden. Diese Möglichkeit ist einerseits nicht erforderlich und andererseits sicherheitstechnisch bedenklich. In den meisten Fällen reicht ein Eintrag in einem Entwerterfeld oder eine Änderung in einem Textfeld aus . Eine entsprechende Begrenzung der Änderungsmöglichkeiten ist jedoch in der Normung nicht vorgesehen. Außerdem würde eine Definition unterschiedlicher Zugangsbedingungen für einzelne Datenfelder einen erheblichen Mehrbedarf an Speicherplatz erfordern.In the known chip cards according to the above-mentioned standardization, access conditions are set for the entire EF, but not for individual data fields. The access conditions regulate the security-related conditions under which the EF can be accessed. The operating system of the chip card monitors compliance with the access conditions, i.e. if changes are made to an authorization data record, they can be made at any point in the Authorization data contained EF can be made. On the one hand, this possibility is not necessary and, on the other hand, it is questionable in terms of safety. In most cases, an entry in a validation field or a change in a text field is sufficient. A corresponding limitation of the change options is not provided for in the standardization. In addition, defining different access conditions for individual data fields would require a considerable increase in storage space.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, das ein gesichertes Verändern von Berechtigungen ermöglicht. Vorzugsweise soll dabei die bekannte Speicherplatz- bzw. Sicherheitsarchitektur beibehalten werden .The invention has for its object to provide a method that allows secure changes to authorizations. The known storage space or security architecture should preferably be retained.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß der jeweils zu verändernde Datensatz in kryptographisch gesicherter Form vom Sicherheitsmodul aus dem Datenträger ausgelesen wird, daß im Sicherheitsmodul nach Prüfung der Echtheit des Berechtigungsdatensatzes der Berechtigungsdatensatz nach von dem Terminal zugeführten Vorgaben geändert wird, daß der veränderteThis object is achieved in that the data record to be changed in each case is read from the data carrier in a cryptographically secured form by the security module, that in the security module, after checking the authenticity of the authorization data record, the authorization data record is changed according to specifications supplied by the terminal, that the changed one
Berechtigungsdatensatz in kryptographisch gesicherter Form an den Datenträger übertragen wird und daß im Datenträger nach Prüfung der Echtheit der veränderte Berechtigungsdatensatz gespeichert wird.Authorization data record is transmitted to the data carrier in cryptographically secured form and that the changed authorization data record is stored in the data carrier after checking the authenticity.
Dieses Verfahren hat den Vorteil, daß ein Angreifer erst die üblichen Sicherheitsvorkehrungen durchbrechen muß, um eine Änderung vornehmen zu können. Um jedoch die Änderungen auf die jeweils wirklich zur Änderung vorgesehenen Datenfelder einschränken zu können, ist bei einer Weiterbildung des Verfahrens vorgesehen, daß die vom Terminal dem Sicherheitsmodul zugeführten Vorgaben nur unter Einhaltung
von im Sicherheitsmodul abgelegten Regeln zu Veränderungen der Berechtigungsdatensätze führen.The advantage of this method is that an attacker would first have to break through the usual security precautions to be able to make a change. However, in order to be able to restrict the changes to the data fields actually intended for the change, in a further development of the method it is provided that the specifications supplied by the terminal to the security module are only observed lead to changes in the authorization data records from rules stored in the security module.
Mit dieser Weiterbildung kann die Änderungsmöglichkeit nicht nur auf eines oder mehrere Datenfelder innerhalb des jeweiligen Berechtigungsdatensatzes eingeschränkt werden, sondern es kann auch die Art der Änderung eingeschränkt werden.With this development, the possibility of changing not only can be restricted to one or more data fields within the respective authorization data record, but the type of change can also be restricted.
Ausführungsbeispiele der Erfindung sind in der Zeichnung anhand mehrerer Figuren dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:Exemplary embodiments of the invention are shown in the drawing using several figures and are explained in more detail in the following description. It shows:
Fig. 1 den Aufbau eines EF, nämlich eines für die Speicherung von Berechtigungen vorgesehenen Datenfeldes EF_BER,1 shows the structure of an EF, namely a data field EF_BER provided for the storage of authorizations,
Fig. 2 den Aufbau eines Berechtigungsdatensatzes innerhalb des in Fig. 1 dargestellten EF,2 shows the structure of an authorization data record within the EF shown in FIG. 1,
Fig. 3 eine schematische Darstellung eines Terminals mit einem Sicherheitsmodul und einer Chipkarte undFig. 3 is a schematic representation of a terminal with a security module and a smart card and
Fig. 4 eine schematische Darstellung der Vorgänge beim Ändern eines Berechtigungsdatensatzes.Fig. 4 is a schematic representation of the processes when changing an authorization record.
Der Aufbau eines EF_BER ist in Fig. 1 in Tabellenform dargestellt. Das EF_BER enthält zunächst bei 1 einen Identifizierer, der diese Datei als EF_BER identifiziert. Im Anschluß daran sind die Zugangsbedingungen für Lesen, Schreiben, Löschen usw. abgelegt. Der eigentliche Dateninhalt besteht aus Datensätzen, welche Berechtigungen 1 bis n darstellen. Dabei benötigt ein erster Datensatz für die Berechtigung 1 die Bytes 1-X, ein zweiter Datensatz für die Berechtigung 2 die Bytes X-Y usw.
Bei dem in Fig. 2 dargestellten Berechtigungsdatensatz sind mehrere Datenfelder vorgesehen, von denen lediglich vier Datenfelder beispielhaft erläutert sind. Und zwar sind für jeweils X Bytes Datenfelder A und B angelegt, die beliebig (xx) codiert sind und beispielsweise Bezeichnungen für die Art der Berechtigungen enthalten. In einem weiteren Datenfeld mit einer Länge von einem Byte wird die Art der Mehrfachnutzung in binärer Form gespeichert. Außerdem befindet sich mit einer Länge von drei Byte ein Codefeld in ebenfalls binär gespeicherter Information in dem Datensatz .The structure of an EF_BER is shown in table form in FIG. 1. The EF_BER initially contains an identifier at 1, which identifies this file as EF_BER. The access conditions for reading, writing, deleting, etc. are then stored. The actual data content consists of data records which represent authorizations 1 to n. A first data record for authorization 1 requires bytes 1-X, a second data record for authorization 2 requires bytes XY etc. In the authorization data record shown in FIG. 2, several data fields are provided, of which only four data fields are explained by way of example. Specifically, data fields A and B are created for X bytes each, which are coded in any way (xx) and contain, for example, names for the type of authorization. The type of multiple use is stored in binary form in a further data field with a length of one byte. In addition, a code field with a length of three bytes is also in binary stored information in the data record.
Das Blockschaltbild gemäß Fig. 3 umfaßt ein Terminal 31, das einen Prozessor 32, ein Sicherheitsmodul 33 und ein Karten-Schreib- und Lesegerät 34 enthält. Ferner ist eine Tastatur 35 vorgesehen für Eingaben durch einen Benutzer, falls solche erforderlich sind. Das Sicherheitsmodul 33 ist derart gestaltet, daß Daten- und Programmänderungen sowie ein Auslesen von Programmen und Daten nicht möglich sind. Die einzelnen Baugruppen des Terminals 31 sind durch Datenleitungen 36 miteinander verbunden. In das Schreib- und Lesegerät 34 kann eine Chipkarte 37 eingeführt werden.The block diagram according to FIG. 3 comprises a terminal 31, which contains a processor 32, a security module 33 and a card writing and reading device 34. Furthermore, a keyboard 35 is provided for inputs by a user, if necessary. The security module 33 is designed such that data and program changes and reading programs and data are not possible. The individual modules of the terminal 31 are connected to one another by data lines 36. A chip card 37 can be inserted into the writing and reading device 34.
Fig. 4 zeigt den Datenaustausch zwischen dem Terminal und dem Sicherheitsmodul einerseits und der Chipkarte andererseits . Da es zur Erläuterung der Erfindung nicht erforderlich ist, ständig zwischen dem Terminal und dem Sicherheitsmodul zu unterscheiden, wurden diese in Fig. 4 zusammengefaßt. Bei Vorgängen, bei denen eine Verarbeitung von Daten im Sicherheitsmodul für die Erfindung von Bedeutung ist, wird darauf im Zusammenhang mit Fig. 4 hingewiesen.4 shows the data exchange between the terminal and the security module on the one hand and the chip card on the other. Since it is not necessary to constantly distinguish between the terminal and the security module to explain the invention, these have been summarized in FIG. 4. In the case of processes in which processing of data in the security module is important for the invention, this is pointed out in connection with FIG. 4.
Nachdem bei 41 die Chipkarte eingesteckt wurde und die Synchronisationsvorgänge mit dem Terminal erfolgt sind, werden vom Terminal die Kommandos Select EF_INFO und Read EF_INFO an die Chipkarte gesendet. Damit werden Daten aus
der Chipkarte ausgelesen, die bei 42 im Terminal bzw. im Sicherheitsmodul gespeichert werden. Mit den Daten und dem im Sicherheitsmodul abgelegten Systemschlüssel wird der kartenindividuelle Schlüssel berechnet. Mit diesem Schlüssel werden Kryptogramme der Chipkarte nachgerechnet bzw. auf Echtheit überprüft. Das Terminal sendet dann die Kommandos Select EF_BER und Read EF_BER mit dem Zusatz secure. Bei 43 wird dann in der Chipkarte aus dem Speicher der Berechtigungsdatensatz ausgelesen und in unverschlüsselter Form zusammen mit einem MAC (Message Authentification Code), der in der Chipkarte über dem Berechtigungsdatensatz BER berechnet wird, an das Terminal übertragen. Das Sicherheitsmodul berechnet dann bei 44 aus dem übertragenen Berechtigungsdatensatz ebenfalls einen MAC und vergleicht diesen bei 45 mit dem von der Chipkarte übertragenen MAC.After the chip card has been inserted at 41 and the synchronization processes with the terminal have taken place, the commands Select EF_INFO and Read EF_INFO are sent from the terminal to the chip card. This turns data out read the chip card, which are stored at 42 in the terminal or in the security module. The card-specific key is calculated using the data and the system key stored in the security module. With this key, cryptograms of the chip card are recalculated or checked for authenticity. The terminal then sends the commands Select EF_BER and Read EF_BER with the addition secure. At 43, the authorization data record is then read from the memory in the chip card and transmitted to the terminal in unencrypted form together with a MAC (Message Authentication Code), which is calculated in the chip card via the authorization data record BER. The security module then also calculates a MAC at 44 from the transmitted authorization data record and compares this at 45 with the MAC transmitted by the chip card.
Bei Übereinstimmung wird entsprechend den Vorgaben durch das Terminal über das Sicherheitsmodul bei 46 der Berechtigungsdatensatz geändert, beispielsweise eine von mehreren Mehrfachberechtigungen gestrichen. Der geänderte Berechtigungsdatensatz BER' wird zusammen mit einem aus BER' und dem kartenindividuellen Schlüssel gebildeten MAC' und mit dem Kommando Write EF_BER secure zur Chipkarte übertragen, worauf in der Chipkarte bei 47 der übertragene geänderte Berechtigungsdatensatz BER' durch Nachrechnen von MAC' überprüft und bei 48 abgespeichert wird. Anschließend erfolgt noch eine Rückmeldung "O.K." an das Terminal.
If there is a match, the authorization data record is changed by the terminal via the security module at 46, for example one of several multiple authorizations is deleted. The changed authorization data record BER 'is transmitted together with a MAC' formed from BER 'and the card-specific key and with the Write EF_BER secure command to the chip card, whereupon the transmitted changed authorization data record BER' is checked in the chip card at 47 by recalculating the MAC 'and at 48 is saved. Then there is a feedback "O.K." to the terminal.