EP0224639A1 - Method to control the memory access of an IC card and implementing device - Google Patents

Method to control the memory access of an IC card and implementing device Download PDF

Info

Publication number
EP0224639A1
EP0224639A1 EP86108602A EP86108602A EP0224639A1 EP 0224639 A1 EP0224639 A1 EP 0224639A1 EP 86108602 A EP86108602 A EP 86108602A EP 86108602 A EP86108602 A EP 86108602A EP 0224639 A1 EP0224639 A1 EP 0224639A1
Authority
EP
European Patent Office
Prior art keywords
code
memory
data
area
control
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.)
Granted
Application number
EP86108602A
Other languages
German (de)
French (fr)
Other versions
EP0224639B1 (en
Inventor
Hartmut Dr. Phys. Schrenk
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to AT86108602T priority Critical patent/ATE65632T1/en
Publication of EP0224639A1 publication Critical patent/EP0224639A1/en
Application granted granted Critical
Publication of EP0224639B1 publication Critical patent/EP0224639B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Abstract

A method for controlling memory access to a user area and an initial code area of a main memory of a chip card includes carrying out an internal release procedure with a data comparison of an initial code from the initial code area and a data word from a terminal; firmly coupling addresses of the main memory and of a control memory to each other; marking several storage locations of the main memory as the initial code area with one control bit at a time in the control memory; marking a first code deposited in the associated storage location of the first code area as activated or deactivated with one further control bit at a time in the control memory; generating an initial release signal in a release procedure only if a storage location is addressed by an activated initial code and if agreement with the data word entered by the terminal prevails; and preventing generation of the initial release signal if a deactivated code word is addressed and/or if the respective first code does not agree with the data word, and an apparatus for carrying out the method.

Description

Die Erfindung betrifft ain Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und einer An­ordnung zur Durchführung des Verfahrens, wie sie in den Oberbegriffen der Ansprüche 1 und 7 beschrieben sind.The invention relates to a method for controlling memory access on a chip card and an arrangement for carrying out the method, as described in the preambles of claims 1 and 7.

Zum bargeldlosen Bezahlen von Waren oder zum Abrechnen von Dienstleistungen oder ähnlichem sind datengesteuerte Zahlungssysteme bekannt, die beispielsweise in der Zeitschrift "Betriebspraxis", B. Bl. 2/1982, Seite 48, von Dr. R. Nowak und W. Röder unter dem Titel "Die Chipkarte - nächste Generation der Automatenkarte" beschrieben sind. Die dabei verwendeten Karten tragen als ein wesent­liches Element einen nichtflüchtigen elektrischen Daten­speicher, auf den über elektrische Knotakte an der Kar­tenoberfläche zugegriffen werden kann. Über ein Karten­lesegerät wird von einer Recheneinheit bei jeden Gebrauch auf den Speicherinhalt zugegriffen, der dabei gegebenen­falls geändert wird.For cashless payment of goods or for billing services or the like, data-controlled payment systems are known, which are described, for example, in the journal "Betriebsspraxis", B. Bl. 2/1982, page 48. R. Nowak and W. Röder under the title "The chip card - next generation of the automatic card". The cards used in this case have a non-volatile electrical data memory as an essential element, which can be accessed via electrical node clocks on the card surface. A computing unit accesses the memory content each time it is used, which is changed if necessary.

Zur Anwendung kommen derartige Karten in Sicherheits- und Zugriffssystemen, in Abrechnungs- oder Registriersystemen und in Debit- oder Kreditsystemen. Um eine weite Verbrei­tung und häufigen Gebrauch der Karten zu gewährleisten, gibt es Betreiber solcher Systeme, die eine Vielzahl von Karten ausgeben und die ein weitverzweigtes Netz von Le­segeräten und Rechenanlagen anbieten. Um Mißbräuche der Daten auszuschließen, müssen dabei jedoch hohe Sicher­ heitsanforderungen an die Kartensysteme gestellt werden. Besonders die Trägerkarten, deren Verbreitung nicht immer kontrollierbar ist, müssen vor einer Benutzung durch Un­berechtigte geschützt werden.Cards of this type are used in security and access systems, in accounting or registration systems and in debit or credit systems. In order to ensure the widespread use and frequent use of the cards, there are operators of such systems which issue a large number of cards and which offer a wide-ranging network of reading devices and computing systems. To rule out misuse of the data, however, high security must be ensured security requirements are placed on the card systems. Carrier cards in particular, the distribution of which cannot always be controlled, must be protected against unauthorized use.

Dies kann durch eine Freigabeoperation erreicht werden, bei welcher ein Datenvergleich zwischen einem von einer Bedienperson eingegebenen oder von einer Rechenanlage verschlüsselten, personenbezogenen PIN- Codewort mit ei­nem abgespeicherten Referenzwort durchgeführt wird. In einer weiteren Prüfung wird innerhalb eines Terminals an­hand eines kartenbezogenen Codes, der auf der Karte und im Terminal abgespeichert ist, die Karte identifiziert. Auf diese Weise wird die Benutzung einer bestimmten Karte in einem oder mehreren bestimmten Terminals auf ihre Be­rechtigung hin überprüft. Abhängig vom Vergleichsergebnis wird der Zugriff freigegeben beziehungsweise unterbunden. Wenn ein kartenbezogener Geheimcode gleichlautend in einer größeren Anzahl von Karten und Terminals abgespeichert ist, besteht ein Risiko, daß dieser Geheimcode auch einem Unberechtigten bakannt wird, der damit selbst gültige Kar­ten oder Terminals unerlaubt installieren könnte.This can be achieved by a release operation in which a data comparison is carried out between a personal PIN code word entered by an operator or encrypted by a computer system with a stored reference word. In a further check, the card is identified within a terminal using a card-related code which is stored on the card and in the terminal. In this way, the use of a specific card in one or more specific terminals is checked for its authorization. Depending on the comparison result, access is enabled or prevented. If a card-related secret code is stored in the same number in a large number of cards and terminals, there is a risk that this secret code will also be known to an unauthorized person, who could use it to install valid cards or terminals without authorization.

Der Schutz durch einen kartenbezogenen Code versagt also dann, wenn die Daten beispielsweie durch Verrat bekannt werden. Eine Sicherung dagegen besteht darin, die Gültig­keitsdauer umlaufender Karten einzuschränken. Diese Ein­schränkung erfordert jedoch eine regelmäßige Ausgabe neu­er Karten und ist daher nur aufwendig und umständlich zu handhaben.Protection with a card-related code therefore fails if the data becomes known, for example, through treachery. A safeguard against this, however, is to limit the period of validity of circulating cards. However, this restriction requires regular issuance of new cards and is therefore difficult and difficult to handle.

Der Erfindung lag daher die Aufgabe zugrunde, ein Verfah­ren und eine Anordnung der oben ganannten Art anzugeben, welche vor Mißbrauch mit den zur Identifikation oder Authentifikation verwendeten kartenbezogenen Geheimdaten schützen und die Gültigkeitsdauer des Geheimcodes be­grenzbar machen, ohne den Kartenumlauf einzuschränken.The invention was therefore based on the object of specifying a method and an arrangement of the type mentioned above which are used to prevent misuse of the card-related secret data used for identification or authentication protect and limit the validity period of the secret code without restricting the circulation of cards.

Diese Aufgabe wird gemäß den kennzeichnenden Teilen der Ansprüche 1 beziehungsweise 7 gelöst.This object is achieved in accordance with the characterizing parts of claims 1 and 7, respectively.

Die Erfindung beruht darauf, daß der Kartenchip eine Lo­gik und einen Kontrollspeicher besitzt, die einen Wechsel der zur Identifikation oder Authentifikation verwendeten kartenbezogenen Geheimdaten im Chip ermöglicht, die im folgenden als erster Code bezeichnet sind. Dazu werden in einem Hauptspeicher auf dem Chip mehrere dieser ersten Codes programmiert. Die Aktivierung einer Adresse des Hauptspeichers, um einen ersten Code zu programmieren ist durch einen zweiten Code geschützt. Wird dieser zweite Geheimcode aktiviert, so muß die betreffende Adresse des Hauptspeichers automatisch gegen Auslesen gesperrt werden und stattdessen die Einwirkung auf eine Komparatorlogik freigegeben werden. Der zweite Code ist als Systemgeheim­nis weder auf der Karte noch auf einem Terminal noch vom Karteninhaber, sondern nur in einer gut gegen Betrug ge­sicherter Umgebung einer Zentrale anzuwenden.The invention is based on the fact that the card chip has logic and a control memory which enables a change in the card-related secret data used for identification or authentication in the chip, which are referred to below as the first code. For this purpose, several of these first codes are programmed in a main memory on the chip. The activation of an address of the main memory in order to program a first code is protected by a second code. If this second secret code is activated, the relevant address of the main memory must be automatically blocked against reading and instead the action on a comparator logic must be released. The second code is to be used as a system secret, neither on the card nor on a terminal nor by the cardholder, but only in a headquarters environment that is well protected against fraud.

Zur Anwendung in einem Chipkartensystem werden bei der Ausgabe der Chipkarten also vorsorglich mehrere erste Codes unter Benutzung des zweiten Codes vorprogrammiert. Davon wird - wahlweise im Terminal festgelegt - nur je­weils auf einen einzigen ersten Code bei einer Kartenbe­nutzung zugegriffen. Die übrigen vorsorglich vorbereiteten ersten Codes unterliegen keinem Betrugsrisiko, solange sie im Terminal nicht angewendet werden. Ist die Gültig­keitsdauer eines Codes abgelaufen, so läßt sich in den Terminals selbst der aktuelle erste Code leicht ersetzen. Die Anzahl dieser Terminals ist in der Praxis vergleichs­weise gering. Nach dem Umstellen auf einen geänderten er­sten Code läßt sich auch in allen umlaufenden Chipkarten und bei ihrer Wiederbenutzung in einem beliebigen Terminal ein ungültig gewordener erster Code allein durch Schreiben im Kontrollspeicher oder durch Löschen sperren. Damit verringert sich das Risiko, daß mit unberechtigt manipu­lierten Terminals über abgelaufene und damit nicht mehr geheime erste Codeworte die Besitzer von Chipkarten ge­schädigt werden können.For use in a chip card system, several first codes are pre-programmed as a precaution when the chip cards are issued, using the second code. Of these, only a single first code is accessed when the card is used, optionally set in the terminal. The other precautionary codes prepared as a precaution are not subject to fraud risk as long as they are not used in the terminal. If the validity period of a code has expired, the current first code can easily be replaced in the terminals. In practice, the number of these terminals is comparatively small. After changing over to a changed first code, it can also be used in all circulating chip cards and, when reused in any terminal, block an invalid first code simply by writing to the control memory or by deleting it. This reduces the risk that the owners of chip cards can be harmed by unauthorized manipulation of terminals via expired and therefore no longer secret first code words.

Weiterbildungen der Erfindung ergeben sich aus den Unter­ansprüchen.Further developments of the invention result from the subclaims.

Im folgenden wird die Erfindung anhand eines Ausführungs­beipieles weiter beschrieben.In the following the invention is further described with the aid of an exemplary embodiment.

Die Figur zeigt eine Speicheranordnung mit einer Logikein­heit zur Zugriffssicherung.The figure shows a memory arrangement with a logic unit for securing access.

Die Anordnung der Figur weist eine Speicheranordnung 1, einen Zeilendecoder 2, einen Komparator 4, ein Datenregi­ster 3 und eine Logikeinheit 5 auf. Die Speicheranordnung 1 setzt sich aus einem Hauptspeicher 11 mit einer Viel­zahl n von wortweise adressierbaren Speicherplätzen, aus einem Kontrollspeicher 13, dessen Speicherplätze den Speicherplätzen des Hauptspeichers 13 adreßmäßig zugeord­net und gemeinsam über n Adressleitungen A mit diesen adressierbar sind sowie einem weiteren unabhängigen Be­reich (zweiter Codebereich 14) zusammen. Der Hauptspei­cher 11 ist in Abhängigkeit vom Programmierzustand des Kontrollspeichers 11 in einen Anwenderbereich 15 und einen ersten Codebereich 16 aufgeteilt. Dieser weist in dem wiedergegebenen Beispiel Speicherplätze mit Adressen A1, A2 bis AK auf. Die Adressen des Anwenderspeichers 15 lauten A(K+1) bis An. Das Datenregister 3 zur Ein- und Ausgabe von Daten in die Speicheranordnung ist für die Wortlänge des Haupt- und ersten Kontrollspeichers 11, 14 und zusätzlich für die Breite des Kontrollspeichers 13 ausgelegt. Bei einer Wortlänge von m Bits für den Haupt­speicher 11 und 2 Bits für den Kontrollspeicher 13 muß es also m + 2 Bits aufnehmen. Zwischen dem Datenregister 3 und dem gemeinsamen Ein- Ausgang des Hauptspeichers 11 und ersten Kontrollspeichers 14 liegt der m Bit breite Daten­komparator 4 zum Vergleich eines Speicherinhalts mit einem Registerinhalt.The arrangement of the figure has a memory arrangement 1, a row decoder 2, a comparator 4, a data register 3 and a logic unit 5. The memory arrangement 1 is composed of a main memory 11 with a large number n of memory locations which can be addressed word by word, a control memory 13, the memory locations of which are assigned to the memory locations of the main memory 13 and can be addressed together via n address lines A, and a further independent area (second code area) 14) together. The main memory 11 is divided into a user area 15 and a first code area 16 depending on the programming state of the control memory 11. In the example shown, this has memory locations with addresses A1, A2 to AK. The addresses of the user memory 15 are A (K + 1) to An. The data register 3 for inputting and outputting data into the memory arrangement is for the word length of the main and first control memories 11, 14 and additionally for the width of the control memory 13 designed. With a word length of m bits for the main memory 11 and 2 bits for the control memory 13, it must therefore take up m + 2 bits. Between the data register 3 and the common input-output of the main memory 11 and the first control memory 14 is the m-bit wide data comparator 4 for comparing a memory content with a register content.

Die Kontrollogik 5 besteht - im hier wiedergegebenen Bei­spiel - aus zwei Flip-Flops 6 sowie Und- und NOR-Gattern. Sie erzeugt ein Freigabesignal F1, welches den Schreib-­Lese- und Löschzugriff auf den Hauptspeicher 11 kontrol­liert. Ein weiteres Freigabesignal F2 kontrolliert das Schreiben eines Kontrollbits B2 im Kontrollspeicher 13.The control logic 5 - in the example shown here - consists of two flip-flops 6 and AND and NOR gates. It generates an enable signal F1, which controls the write-read and erase access to the main memory 11. Another enable signal F2 controls the writing of a control bit B2 in the control memory 13.

Im folgenden wird anhand von Beispielen die Funktion der gesamten Anordnung beschrieben. Dazu wird angenommen, daß in der ersten Speicherstelle (Adresse A1) des ersten Co­debereichs ein erster Code abgespeichert ist, der bereits deaktiviert ist. Die zweite Speicherstelle (Adresse A2) enthält einen ersten Code, der aktuell für die Anwender­speicherzugriffe benutzt ist. In den übrigen Speicherstel­len (Adresse AK) sind vorsorglich weitere erste Codes ab­gelegt, die zwar während der aktuellen Speicherzugriffe noch nicht benötigt werden, die jedoch für den Fall der Deaktivierung des Codes im zweiten Speicherplatz zur Ver­fügung stehen. Die Anzahl derartiger vorsorglicher abge­legter erster Codes hängt davon ab, wie oft mit einer Codeänderung zu rechnen ist.The function of the entire arrangement is described below using examples. For this purpose, it is assumed that a first code, which is already deactivated, is stored in the first memory location (address A1) of the first code area. The second memory location (address A2) contains a first code that is currently used for the user memory accesses. As a precaution, further first codes are stored in the remaining memory locations (address AK), which are not yet needed during the current memory accesses, but which are available in the second memory location if the code is deactivated. The number of such precautionary stored first codes depends on how often a code change can be expected.

Der Kontrollspeicher 13 weist pro Speicheradresse A1 bis An vorzugsweise zwei Bitstellen mit jeweils einem Kon­trollbit B1 beziehungsweise B2 auf. Sie legen fest, ob die zugehörigen Speicherplätze im Hauptspeicher 1 als An­wenderspeicher 15 (B1 = 1 und B2 = 1) oder als erster Codespeicher (B2 = 0) dienen, und ob es sich um einen gültigen ersten Code (B1 = 1) oder um einen deaktivierten ersten Code (B1 = 0) handelt.The control memory 13 preferably has two bit positions, each with a control bit B1 or B2, for each memory address A1 to An. You determine whether the associated memory locations in main memory 1 are user memory 15 (B1 = 1 and B2 = 1) or the first Serve code memory (B2 = 0), and whether it is a valid first code (B1 = 1) or a deactivated first code (B1 = 0).

Unter der Annahme, ein vom Terminal übernommenes und im Datenregister 3 abgelegtes m-Bit breites Datenwort berech­tigt zu einem Zugriff auf den Anwenderspeicher 15, wird nach einem Vergleich mit dem unter der Adresse A2 abge­speicherten aktuellen ersten Code das Komparatorsignal K logisch 1 sein. Als weitere Voraussetzung für den Zugang zum Anwenderspeicher 15 muß sichergestellt sein, daß tat­sächlich ein aktueller erster Code sowie der Hauptspei­cher 11 und nicht der unabhängige Bereich 14 zum Vergleich herangezogen wurde. Diese Überprüfung erfolgt einerseits anhand der Kontrollbits B1, B2 über ein NOR-Gatter 17 und andererseits über die Adreßleitungen A an einem NOR-Gatter 20 und dann ebenfalls über das NOR-Gatter 17. Sind alle diese Bedingungen gegeben, so liegt das Steuersignal T1 ebenfalls auf logisch 1 und das Freigabe Flip-Flop 6 wird über ein Und-Gatter 22 gesetzt. Über ein NOR-Gatter 18 wird der Q-Ausgang des Freigabe Flip-Flops mit dem Ausgang des NOR-Gatters verknüpft und das Freigabesignal F1 nimmt einen log.1 Pegel an.Assuming that a m-bit wide data word taken over from the terminal and stored in the data register 3 authorizes access to the user memory 15, the comparator signal K will be logic 1 after a comparison with the current first code stored under the address A2. As a further prerequisite for access to the user memory 15, it must be ensured that a current first code and the main memory 11 and not the independent area 14 were actually used for the comparison. This check is carried out, on the one hand, using the control bits B1, B2 via a NOR gate 17 and, on the other hand, via the address lines A on a NOR gate 20 and then also via the NOR gate 17. If all of these conditions exist, the control signal T1 is also present to logic 1 and the enable flip-flop 6 is set via an AND gate 22. The Q output of the enable flip-flop is linked to the output of the NOR gate via a NOR gate 18 and the enable signal F1 assumes a log.1 level.

Wenn also das Freigabe Flip-Flop 6 gesetzt ist, dann ist ein Lesen oder eine andere Anwendung des Anwenderspei­chers 15 möglich.So if the enable flip-flop 6 is set, reading or another application of the user memory 15 is possible.

Falls jedoch bei der Überprüfung des vom Benutzer angege­benen Datenwortes mindestens eines der oben beschriebenen Bedinungen nicht erfüllt ist, wird das Freigabesignal F1 nicht erzeugt und der Zugriff auf den Anwenderspeicher 15 nicht freigegeben.However, if at least one of the conditions described above is not met when checking the data word specified by the user, the enable signal F1 is not generated and access to the user memory 15 is not enabled.

Die Aktivierung eines Speicherbereichs als Speicherplatz für einen ersten Code erfolgt unter Anwendung des zweiten Codes durch Schreiben eines oder mehrerer Bits im Kon­trollspeicher 13. Im vorliegenden Beispiel handelt es sich um das Kontrollbit B2. Mit der Aktivierung als Code­wort ist eine Sperrung des Auslesens, der Freigabe für Vergleichsoperationen und ein Schutz gegen Veränderung durch Schreiben oder Löschen verknüpt. Das Sperren eines gültigen ersten Codes ist ohne Anwendung des zweiten Codes möglich. Im Beispiel nimmt das Kontrollbit B1 dazu den log.0 Zustand an.The activation of a storage area as storage space for a first code takes place using the second Codes by writing one or more bits in the control memory 13. In the present example, it is the control bit B2. Activation as a code word is associated with a blocking of the reading, the release for comparison operations and protection against changes by writing or deleting. A valid first code can be blocked without using the second code. In the example, control bit B1 assumes the log.0 state.

Im Falle eines Speichers 1 vom E²PROM-Typ kann die Deak­tivierung auch unmittelbar durch Löschen des Kontrollbits B2 im Kontrollspeicher 13, gemeinsam mit dem ungültig ge­wordenen ersten Codewort erfolgen. In diesem Fall muß das Löschen ohne Anwenden des zweiten Codes möglich sein, wäh­rend bei einer Sperrung durch das Kontrollbit B1 auch das Löschen von der Anwendung des zweiten Codes abhängig ge­macht werden kann.In the case of a memory 1 of the E²PROM type, the deactivation can also take place directly by deleting the control bit B2 in the control memory 13, together with the first code word that has become invalid. In this case, the deletion must be possible without using the second code, while if the control bit B1 is blocked, the deletion can also be made dependent on the application of the second code.

Ein mit einem ersten Code beschriebener Kontrollspeicher 13 wird nur gemeinsam mit dem dazugehörenden, ungültig ge­wordenen ersten Code gelöscht. Auf diese Weise wird ver­hindert, daß durch eine unberechtigte Deaktivierung vor­programmierter erster Codeworte diese lesbar gemacht wer­den könnten.A control memory 13 written with a first code is only deleted together with the associated first code that has become invalid. This prevents unauthorized deactivation of preprogrammed first code words from making them readable.

Das Schreiben des Kontrollspeichers 13, insbesondere des Kontrollbits B2 zur Umwandlung eines Anwenderspeichers 11 in einen ersten Codespeicher 16 setzt die Aktivierung ei­nes zweiten Freigabesignals F2 voraus. Nach einem positi­ven Vergleich eines extern eingegebenen Datenwortes mit dem zweiten Codewort aus dem zweiten Codespeicher 14 im Komparator 4 wird ein zweites Freigabe Flip-Flop 7 ge­setzt, wenn der zweite Codebereich 14 über seine Adresse T2 aktiviert ist.Writing the control memory 13, in particular the control bit B2 for converting a user memory 11 into a first code memory 16 requires the activation of a second enable signal F2. After a positive comparison of an externally entered data word with the second code word from the second code memory 14 in the comparator 4, a second enable flip-flop 7 is set when the second code area 14 is activated via its address T2.

Die beiden Freigabe Flip-Flops 6, 7 werden beim Einschal­ten der Anordnung über ein Rücksetzsignal POR zurückge­setzt.The two enable flip-flops 6, 7 are reset when the arrangement is switched on via a reset signal POR.

Abschließend seien die wesentlichen Merkmale des Ausfüh­rungsbeispiels noch einmal aufgeführt. Abhängig vom Pro­grammierzustand des Kontrollspeichers 13 ist der Haupt­speicher 11 entweder ein Anwenderspeicher 15 oder ein erster Codebereich 16. Im ersten Fall ist das Kontrollbit B2 = 1. Im zweiten Fall ist das Kontrollbit B2 = 0 durch Schreiben mit Hilfe des Codes im zweiten Codebereich 14. Es gibt deaktivierte erste Codes, die durch das Kontroll­bit B1 = 0 gekennzeichnet sind, und die erst durch Löschen wieder in einen Anwenderbereich zurückgewandelt werden. Eine durch den ersten Code erlangte Speicherfreigabe be­zieht sich stets auf den Teil des Hauptspeichers, der auf­grund des Kontrollbits B1 = 1 noch als Anwenderbereich wirkt. Für den ersten Codebereich 16 (Kontrollbit B2 = 0) gilt, daß ein Auslesen oder Ändern - mit Ausnahme eines vollständigen Löschens gemeinsam mit dem Kontrollbit B2 - ohne den zweiten Code nicht möglich ist.Finally, the essential features of the exemplary embodiment are listed again. Depending on the programming state of the control memory 13, the main memory 11 is either a user memory 15 or a first code area 16. In the first case, the control bit B2 = 1. In the second case, the control bit B2 = 0 by writing using the code in the second code area 14. There are deactivated first codes which are identified by the control bit B1 = 0 and which are only converted back into a user area by deletion. A memory release obtained by the first code always refers to the part of the main memory that still acts as a user area due to the control bit B1 = 1. For the first code area 16 (control bit B2 = 0), reading out or changing - with the exception of complete deletion together with the control bit B2 - is not possible without the second code.

Claims (8)

1. Verfahren zum Kontrollieren eines Speicherzugriffs auf einen Anwender- und einen ersten Codebereich (15, 16) eines Hauptspeichers (11) einer Chipkarte, wobei eine in­terne Freigabeprodezur mit einem Datenvergleich eines er­sten Codes aus dem ersten Codebereich (16) und eines Da­tenwortes aus einem Terminal durchgeführt wird,
dadurch gekennzeichnet,
daß die Adressen (A) des Hauptspeichers (11) und eines Kontrollspeichers (13) fest miteinander gekoppelt wer­den,
daß mit jeweils einem Kontrollbit (B2) im Kontrollspei­cher (13) mehrere Speicherplätze des Hauptspeichers (11) als erster Codebereich (16) markiert werden,
daß jeweils mit einem weiteren Kontrollbit (B1) im Kon­trollspeicher (13) ein im zugeordneten Speicherplatz des ersten Codebereichs (16) abgelegter erster Code als akti­viert oder deaktiviert markiert wird,
daß bei einer Freigabeprozedur nur dann ein Freigabesignal (F1) erzeugt wird, wenn ein Speicherplatz mit einem akti­vierten, ersten Code adressiert wird und wenn Übereinstim­mung mit dem vom Terminal eingegebenen Datenwort herrscht,
und daß das erste Freigabesignal (F1) nicht erzeugt wird, wenn ein deaktiviertes Codewort adressiert wird und/oder wenn der betreffende erste Code nicht mit dem Datenwort übereinstimmt.
1. A method for controlling a memory access to a user and a first code area (15, 16) of a main memory (11) of a chip card, an internal release prod for comparing data of a first code from the first code area (16) and a data word from one Terminal is carried out
characterized by
that the addresses (A) of the main memory (11) and a control memory (13) are permanently coupled to one another,
that with one control bit (B2) in the control memory (13) several memory locations of the main memory (11) are marked as the first code area (16),
that a further control bit (B1) in the control memory (13) is used to mark a first code stored in the assigned memory location of the first code area (16) as activated or deactivated,
that an enable signal (F1) is only generated in an enable procedure if a memory location is addressed with an activated, first code and if there is agreement with the data word entered by the terminal,
and that the first enable signal (F1) is not generated if a deactivated code word is addressed and / or if the relevant first code does not match the data word.
2. Verfahren nach Anspruch 1, dadurch ge­kennzeichnet, daß ein zweites Freigabesi­gnal (F2) nur dann erzeugt wird, wenn ein in einem zweiten Codebereich (14) abgelegter zweiter Code adressiert ist, und wenn Übereinstimmung des zweiten Codes mit einem ex­tern eingegebenen Datenwort gegeben ist, und daß erst nach Erzeugung des zweiten Freigabesingals (F2) eine Program­mierung des Kontrollspeichers (13) für eine - zumindest teilweise - Umwandlung des Anwenderbereichs (15) in einen ersten Codebereich (16) durchgeführt werden kann.2. The method according to claim 1, characterized in that a second enable signal (F2) is only generated if a stored in a second code area (14) second code is addressed, and if there is a match of the second code with an externally entered data word , and that only after Generation of the second release signal (F2) the control memory (13) can be programmed for an - at least partial - conversion of the user area (15) into a first code area (16). 3. Verfahren nach Anspruch 2, dadurch ge­kennzeichnet, daß aktivierte erste Codeda­ten ohne Anwendung der zweiten Codedaten deaktiviert, ge­sperrt oder gelöscht werden.3. The method according to claim 2, characterized in that activated first code data are deactivated, blocked or deleted without using the second code data. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zur Deaktivierung von ersten Codedaten wenigstens ein zweites Bit (B1) in den Kontrollspeicher (13) geschrieben wird.4. The method according to any one of the preceding claims, characterized in that at least a second bit (B1) is written into the control memory (13) for deactivating first code data. 5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine adressenmäßig gekoppelte Speicherstelle im ersten Codebe­reich (16) und im Kontrollspeicher (13) zusammen gelöscht werden.5. The method according to any one of the preceding claims, characterized in that an address-linked memory location in the first code area (16) and in the control memory (13) are deleted together. 6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zur Reaktivierung einer Speicherstelle des ersten Codebereichs (16) als Anwenderbereich (15) die im Kontrollspeicher (13) geschriebenen Bits gemeinsam mit den ungültig gewordenen ersten Codedaten gelöscht werden.6. The method according to any one of the preceding claims, characterized in that for reactivating a memory location of the first code area (16) as the user area (15), the bits written in the control memory (13) are deleted together with the invalid first code data. 7. Anordnung zur Durchführung des Verfahrens nach An­spruch 1, gekennzeichnet durch einen er­sten Codebereich (16) in der Speicheranordnung (1) mit mehreren Speicherplätzen zur Aufnahme mehrerer erster Co­dedaten, durch einen Kontrollspeicher (13), dessen Spei­cherplätze adreßmäßig mit den Speicherplätzen des ersten Codebereichs (16) gekoppelt sind, und durch eine Freiga­belogik (5), an der ausgangsseitig ein Freigabesignal (F1) zumindest nur dann abgreifbar ist, wenn durch den Inhalt des Kontrollspeichers (13) die im zugehörigen Codebereich (16) enthaltenen Codedaten als "aktiviert" gekennzeichnet sind, und wenn der Vergleich zwischen den ersten Codedaten und einem extern angegebenen Datenwort erfolgreich ist.7. Arrangement for performing the method according to claim 1, characterized by a first code area (16) in the memory arrangement (1) with a plurality of storage locations for receiving a plurality of first code data, by a control memory (13), the storage locations of which are address-wise with the storage locations of the first code area (16) are coupled, and by a release logic (5) on the output side of which a release signal (F1) can only be tapped if the content of the control memory (13) identifies the code data contained in the associated code area (16) as "activated" and if the comparison between the first code data and an externally specified data word is successful. 8. Anordnung nach Anspruch 7, gekennzeich­net durch einen adreßmäßig von den übrigen Speicher­bereichen unabhängigen zweiten Codebereich (14) zur Auf­nahme von zweiten Codedaten, und durch eine Freigabelogik (5), an der ausgangsseitig ein weiteres Freigabesignal (F2) zum Programmierzugriff auf den Kontrollspeicher (13) nur nach einem erfolgreichen Datenvergleich zwischen den zweiten Codedaten und einem extern eingegebenen Datenwort abgreifbar ist.8. An arrangement according to claim 7, characterized by a in terms of addresses independent from the other storage areas second code area (14) for receiving second code data, and by a release logic circuit (5), at the output side, a further release signal (F2) for programming access to the control memory ( 13) can only be tapped after a successful data comparison between the second code data and an externally entered data word.
EP86108602A 1985-07-08 1986-06-24 Method to control the memory access of an ic card and implementing device Expired - Lifetime EP0224639B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT86108602T ATE65632T1 (en) 1985-07-08 1986-06-24 METHOD FOR CONTROLLING MEMORY ACCESS ON A CHIP CARD AND ARRANGEMENT FOR CARRYING OUT THE METHOD.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE3524371 1985-07-08
DE3524371 1985-07-08

Publications (2)

Publication Number Publication Date
EP0224639A1 true EP0224639A1 (en) 1987-06-10
EP0224639B1 EP0224639B1 (en) 1991-07-24

Family

ID=6275238

Family Applications (1)

Application Number Title Priority Date Filing Date
EP86108602A Expired - Lifetime EP0224639B1 (en) 1985-07-08 1986-06-24 Method to control the memory access of an ic card and implementing device

Country Status (5)

Country Link
US (1) US4819204A (en)
EP (1) EP0224639B1 (en)
JP (1) JPS6210745A (en)
AT (1) ATE65632T1 (en)
DE (1) DE3680476D1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497462A (en) * 1988-07-20 1996-03-05 Siemens Aktiengesellschaft Method and circuit for protecting circuit configurations having an electrically programmable non-volatile memory
WO1996010812A1 (en) * 1994-10-04 1996-04-11 International Business Machines Corporation Multi-stage access control on data cards

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3885916D1 (en) * 1987-03-04 1994-01-13 Siemens Nixdorf Inf Syst Data exchange system with several user terminals each containing a chip card reading device.
EP0281057B1 (en) * 1987-03-04 1994-05-11 Siemens Nixdorf Informationssysteme Aktiengesellschaft Circuitry for securing the access to a data processor by means of an IC card
JPS63293664A (en) * 1987-05-27 1988-11-30 Sharp Corp Electronic equipment
JPH0388052A (en) * 1989-08-31 1991-04-12 Toshiba Corp Secrecy protection processing system
KR940005696B1 (en) * 1991-11-25 1994-06-22 현대전자산업 주식회사 Rom device with security
DE4229863A1 (en) * 1992-09-07 1994-03-10 Nat Rejectors Gmbh Mobile data carrier and data exchange device therefor
US5650761A (en) * 1993-10-06 1997-07-22 Gomm; R. Greg Cash alternative transaction system
US5753899A (en) * 1993-10-06 1998-05-19 Gomm; R. Greg Cash alternative transaction system
NL9301880A (en) * 1993-11-02 1995-06-01 Robert Eric Hertzberger Method and device for storing data, in particular pin codes.
JPH07160592A (en) * 1993-12-03 1995-06-23 Rohm Co Ltd Semiconductor memory device
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JP4678084B2 (en) * 2000-09-29 2011-04-27 ソニー株式会社 Memory device and memory access restriction method
US6834323B2 (en) 2000-12-26 2004-12-21 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US6732306B2 (en) * 2000-12-26 2004-05-04 Intel Corporation Special programming mode with hashing
US7007131B2 (en) * 2000-12-27 2006-02-28 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US6996721B2 (en) * 2001-03-27 2006-02-07 Micron Technology, Inc. Flash device security method utilizing a check register

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4105156A (en) * 1976-09-06 1978-08-08 Dethloff Juergen Identification system safeguarded against misuse
US4204113A (en) * 1977-09-16 1980-05-20 Georges Giraud System for keeping account of predetermined homogenous units
EP0128362B1 (en) * 1983-05-18 1988-11-23 Siemens Aktiengesellschaft Circuit arrangement comprising a memory and an access control unit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE128362C (en) *
FR2401459A1 (en) * 1977-08-26 1979-03-23 Cii Honeywell Bull PORTABLE INFORMATION MEDIA EQUIPPED WITH A MICROPROCESSOR AND A PROGRAMMABLE DEAD MEMORY
DE3315047A1 (en) * 1983-04-26 1984-10-31 Siemens AG, 1000 Berlin und 8000 München INTEGRATED CIRCUIT WITH AN APPLICATION MEMORY DESIGNED AS A NON-VOLATILE WRITE-READ MEMORY
DE3318123A1 (en) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München CIRCUIT ARRANGEMENT WITH A DATA MEMORY AND A CONTROL UNIT FOR READING, WRITING AND ERASING THE MEMORY
DE3318083A1 (en) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München CIRCUIT ARRANGEMENT WITH A STORAGE AND ACCESS CONTROL UNIT
US4749982A (en) * 1984-06-19 1988-06-07 Casio Computer Co., Ltd. Intelligent card
JPH0762862B2 (en) * 1985-09-17 1995-07-05 カシオ計算機株式会社 Authentication method in IC card system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4105156A (en) * 1976-09-06 1978-08-08 Dethloff Juergen Identification system safeguarded against misuse
US4204113A (en) * 1977-09-16 1980-05-20 Georges Giraud System for keeping account of predetermined homogenous units
EP0128362B1 (en) * 1983-05-18 1988-11-23 Siemens Aktiengesellschaft Circuit arrangement comprising a memory and an access control unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497462A (en) * 1988-07-20 1996-03-05 Siemens Aktiengesellschaft Method and circuit for protecting circuit configurations having an electrically programmable non-volatile memory
WO1996010812A1 (en) * 1994-10-04 1996-04-11 International Business Machines Corporation Multi-stage access control on data cards

Also Published As

Publication number Publication date
DE3680476D1 (en) 1991-08-29
EP0224639B1 (en) 1991-07-24
ATE65632T1 (en) 1991-08-15
JPS6210745A (en) 1987-01-19
US4819204A (en) 1989-04-04

Similar Documents

Publication Publication Date Title
DE3811378C3 (en) Information recording system
DE2837201C2 (en)
EP0224639B1 (en) Method to control the memory access of an ic card and implementing device
EP0207320B1 (en) Integrated circuit and method to protect secret data
DE2621271C2 (en) Portable data carrier
EP0128362B1 (en) Circuit arrangement comprising a memory and an access control unit
DE2512935C2 (en) Data exchange system
DE3700663C2 (en)
DE3044463C2 (en)
DE19536169A1 (en) Multifunctional chip card
DE3318123A1 (en) CIRCUIT ARRANGEMENT WITH A DATA MEMORY AND A CONTROL UNIT FOR READING, WRITING AND ERASING THE MEMORY
WO2000008558A1 (en) Program-controlled unit and method for debugging said unit
EP0811204B1 (en) Processing of long messages in a chip card
DE10319585B4 (en) Tamper-evident data processing system and associated method for manipulation protection
EP0127809B1 (en) Circuit arrangement comprising a memory and an access control unit
EP0813723A1 (en) Chip card with protected operating system
EP1185960A2 (en) Method and device for saving and retrieving pin codes
DE3025044A1 (en) DEVICE FOR PROTECTING ACCESS TO PERMANENT STORAGE IN A DATA PROCESSING SYSTEM
DE19548903C2 (en) Method for performing a secret code comparison on a microprocessor-based portable data carrier
DE19533209C2 (en) Device for assigning users in a computer network
EP0970449B1 (en) Portable data carrier and method for cryptographically secure use thereof with interchangeable keys
DE19506921A1 (en) Comparing secret codes with portable data carrier supported by microprocessor for The comparison is intended to identify users.
DE2858819C2 (en) Portable information carrier for the storage and processing of information
EP0214390A1 (en) Release method and device for a controlled-access user memory
DE4103173C3 (en) Device for protection against unauthorized use of software

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT CH DE FR GB IT LI NL SE

17P Request for examination filed

Effective date: 19871207

17Q First examination report despatched

Effective date: 19900309

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT CH DE FR GB IT LI NL SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRE;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.SCRIBED TIME-LIMIT

Effective date: 19910724

Ref country code: NL

Effective date: 19910724

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 19910724

REF Corresponds to:

Ref document number: 65632

Country of ref document: AT

Date of ref document: 19910815

Kind code of ref document: T

REF Corresponds to:

Ref document number: 3680476

Country of ref document: DE

Date of ref document: 19910829

ET Fr: translation filed
GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)
NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19920521

Year of fee payment: 7

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Effective date: 19920624

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19920624

Year of fee payment: 7

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Effective date: 19920630

Ref country code: CH

Effective date: 19920630

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19920824

Year of fee payment: 7

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19930624

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19930624

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Effective date: 19940228

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19940301

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

EUG Se: european patent has lapsed

Ref document number: 86108602.3

Effective date: 19910627