EP0224639B1 - Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens - Google Patents

Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens Download PDF

Info

Publication number
EP0224639B1
EP0224639B1 EP86108602A EP86108602A EP0224639B1 EP 0224639 B1 EP0224639 B1 EP 0224639B1 EP 86108602 A EP86108602 A EP 86108602A EP 86108602 A EP86108602 A EP 86108602A EP 0224639 B1 EP0224639 B1 EP 0224639B1
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.)
Expired - Lifetime
Application number
EP86108602A
Other languages
English (en)
French (fr)
Other versions
EP0224639A1 (de
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/de
Publication of EP0224639A1 publication Critical patent/EP0224639A1/de
Application granted granted Critical
Publication of EP0224639B1 publication Critical patent/EP0224639B1/de
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

Definitions

  • 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.
  • 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.
  • 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 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.
  • the card is identified within a terminal using a card-related code which is stored on the card and in the terminal.
  • a card-related code which is stored on the card and in the terminal.
  • 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 become known to an unauthorized person, who could thus install even valid cards or terminals without authorization.
  • Protection by means of a card-related code therefore fails if the data becomes known, for example, through betrayal.
  • a safeguard against this, however, is to limit the validity period of circulating cards.
  • this restriction requires regular issuance of new cards and is therefore difficult and difficult to handle.
  • EP-A1-0 127 809 a monolithically integrable circuit arrangement is described, consisting of a memory with non-volatile, electrically writable and erasable memory cells, a control circuit for reading, writing and erasing partial areas of the memory and a control unit which via the control circuit makes access to a part of the memory addresses dependent on an input operation with a data comparison between stored reference data and code data input from outside, the control unit is designed so that it has a comparator unit for performing comparison operations between a plurality of code data and reference data, that the address space of the memory area containing the reference data is divided into a plurality of first subsets, each defined by a first selection logic, with several addresses each, and that the address lines defining the first subsets are connected to an address control unit, from which a first enable signal can be tapped if at least one address from each first subset has been selected in the course of the comparison operations.
  • the user inputs one or more individual code words via a data input unit to a computer system for transmission to the circuit arrangement.
  • a circuit arrangement can be built into a card which can be coupled to a data input unit.
  • the user enters one or more code words via a data input unit to a computer system for forwarding to the circuit arrangement.
  • the memory space of the non-volatile memory can be controlled via a line decoder and a block decoder.
  • the block decoder defines a first subset of addresses within the address space. The address lines corresponding to these first subsets are led to the address control unit via a first selection logic. The function of the selection logic can also be taken over by the block decoder.
  • the address lines leading from the row decoder to the memory are also connected to the address control unit via a further selection logic.
  • the address space of the memory can be subdivided into second partial areas which overlap the block subdivision via this second subset of the address lines.
  • the storage operation can be subdivided into a user data store and a code data store, which in turn are divided into blocks.
  • the code data area can be used to hold the reference data. Its memory content can therefore not be read out via the register.
  • there is access to the user data memory for example to write to or to delete, can only be carried out after a successful comparison operation, at the end of which the second enable signal must be generated.
  • the circuit arrangement is impressed with which first and second subsets of the address lines have to be selected during an enable operation. If at least one address has been selected for a data comparison in each of the first subsets of address lines in the course of a release operation, and / or if addressing is also carried out in a predetermined sequence, a first release signal can be tapped from the addressing control unit, which together with the output signal the error register is fed to a logic unit. Irrespective of this, an error register is set for each comparison that results in a deviation between the reference data word and the code word.
  • the linking unit If the access conditions to the address space of the memory have been met and if the comparison unit has determined that all code data and reference data match, the linking unit generates the release signal. This can be linked with control signals that cause reading, writing or deleting the user data area in an access protection.
  • the invention is based on the object of specifying a method and an arrangement of the type mentioned above, which prevent misuse with 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.
  • 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.
  • 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.
  • first codes are pre-programmed as a precaution when the chip cards are issued, using the second code.
  • 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.
  • the figure shows a memory arrangement with a logic unit for securing access.
  • 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 13. 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 input and output of data in the memory arrangement is for the word length of the main memory 11 and the second code area 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 second code area 14 is the m-bit wide data comparator 4 for comparing a memory content with a register content.
  • 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.
  • first code which is already deactivated, is stored in the first memory location (address A1) of the first code area.
  • the second memory location contains a first code that is currently used for the user memory accesses.
  • 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.
  • the comparator signal K will be logic 1 after a comparison with the current first code stored under the address A2.
  • 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.
  • the release signal F1 is not generated and access to the user memory 15 is not released.
  • control bit B1 assumes the log.0 state.
  • the deactivation can also be carried out directly by deleting (state log. 1) the control bit B2 in the control memory 13 together with the first code word which has become invalid. In this case, deletion must be possible without using the second code, while the deactivation of a code word by control bit B1 can also be made dependent on the application of the second code.
  • 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.
  • the two enable flip-flops 6, 7 are reset when the arrangement is switched on via a reset signal POR.
  • the main memory 11 is either a user memory 15 or a first code area 16.
  • the control bit B2 1.
  • 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 to a user area by deletion (status log.1).

Description

  • Die Erfindung betrifft ein Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und einer Anordnung zur Durchführung des Verfahrens, wie sie in den Oberbegriffen der Ansprüche 1 und 7 beschrieben sind.
  • 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 wesentliches Element einen nichtflüchtigen elektrischen Datenspeicher, auf den über elektrische Knotakte an der Kartenoberfläche zugegriffen werden kann. Über ein Kartenlesegerät wird von einer Recheneinheit bei jeden Gebrauch auf den Speicherinhalt zugegriffen, der dabei gegebenenfalls geändert wird.
  • Zur Anwendung kommen derartige Karten in Sicherheits- und Zugriffssystemen, in Abrechnungs- oder Registriersystemen und in Debit- oder Kreditsystemen. Um eine weite Verbreitung 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 Lesegeräten und Rechenanlagen anbieten. Um Mißbräuche der Daten auszuschließen, müssen dabei jedoch hohe Sicherheitsanforderungen an die Kartensysteme gestellt werden. Besonders die Trägerkarten, deren Verbreitung nicht immer kontrollierbar ist, müssen vor einer Benutzung durch Unberechtigte geschützt werden.
  • 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 einem abgespeicherten Referenzwort durchgeführt wird. In einer weiteren Prüfung wird innerhalb eines Terminals anhand 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 Berechtigung 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 bekannt wird, der damit selbst gültige Karten oder Terminals unerlaubt installieren könnte.
  • Der Schutz durch einen kartenbezogenen Code versagt also dann, wenn die Daten beispielsweise durch Verrat bekannt werden. Eine Sicherung dagegen besteht darin, die Gültigkeitsdauer umlaufender Karten einzuschränken. Diese Einschränkung erfordert jedoch eine regelmäßige Ausgabe neuer Karten und ist daher nur aufwendig und umständlich zu handhaben.
  • In der EP-A1-0 127 809 ist eine monolithisch integrierbare Schaltungsanordnung beschrieben, bestehend aus einem Speicher mit nichtflüchtigen, elektrisch schreib- und löschbaren Speicherzellen, aus einer Ansteuerschaltung zum Auslesen, Schreiben und Löschen von Teilbereichen des Speichers und aus einer Kontrolleinheit, die über die Ansteuerschaltung den Zugriff zu einem Teil der Speicheradressen von einer Eingabeoperation mit Datenvergleich zwischen gespeicherten Referenzdaten und von außen eingegebenen Codedaten abhängig macht, wobei die Kontrolleinheit so ausgebildet ist, daß sie eine Vergleichereinheit zur Durchführung von Vergleichsoperationen zwischen mehreren Code-Daten und Referenzdaten aufweist, daß der Adreßraum des die Referenzdaten aufnehmenden Speicherbereichs in mehrere, von einer ersten Auswahllogik festgelegte erste Teilmengen mit jeweils mehreren Adressen unterteilt ist, und daß die die ersten Teilmengen festlegegenden Adreßleitungen mit einer Adreßkontrolleinheit verbunden sind, an welcher ein erstes Freigabesignal abgreifbar ist, wenn im Verlauf der Vergleichsoperationen mindestens eine Adresse aus jeder ersten Teilmenge angewählt wurde. Sofern es für die Kartenbenutzung erforderlich ist, gibt dabei der Benutzer ein oder mehrere individuelle Code-Wörter über eine Dateneingabeeinheit an eine Rechenanlage zur Weitergabe an die Schaltungsanordnung ein. Eine solche Schaltungsanordnung kann in eine Karte eingebaut werden, die an eine Dateneingabeeinheit koppelbar ist. Sofern es für die Kartenbenützung erforderlich ist, gibt der Benutzer ein oder mehrere Code-Wörter über eine Dateneingabeeinheit an eine Rechenanlage zur Weitergabe an die Schaltungsanordnung ein. Der Speicherraum des nichtflüchtigen Speichers ist über einen Zeilendekoder und einen Blockdekoder ansteuerbar. Der Blockdekoder legt dabei eine erste Teilmenge von Adressen innerhalb des Adreßraumes fest. Die diesen ersten Teilmengen entsprechenden Adreßleitungen sind über eine erste Auswahllogik an die Adreßkontrolleinheit geführt. Die Funktion der Auswahllogik kann auch vom Blockdekoder mit übernommen werden. Die vom Zeilendekoder zum Speicher führenden Adreßleitungen sind über eine weitere Auswahllogik ebenfalls mit der Adreß-Kontrolleinheit verbunden. Über diese zweite Teilmenge der Adreßleitungen ist der Adreßraum des Speichers in zweite Teilbereiche, welche die Blockunterteilung überschneiden, unterteilbar. Beispielsweise ist auf diese Weise der Speicherbetrieb in einen Anwender-Datenspeicher und einen Code-Datenspeicher unterteilbar, die wiederum in Blöcke unterteilt sind. Der Codedatenbereich kann dabei zur Aufnahme der Referendaten dienen. Sein Speicherinhalt ist deshalb über das Register nicht auslesbar. Je nach Anwendungsfall ist ein Zugriff auf den Anwenderdatenspeicher, beispielsweise um ihn zu beschreiben oder zu löschen, nur nach einer erfolgreichen Vergleichsoperation durchführbar, an deren Ende das zweite Freigabesignal erzeugt sein muß. Über die Adreßkontrolleinheit und die Auswahllogik ist der Schaltungsanordnung eingeprägt, welche ersten und zweiten Teilmengen der Adreßleitungen während einer Freigabeoperation angewählt werden müssen. Ist in jeder der ersten Teilmengen von Adreßleitungen im Verlauf einer Freigabeoperation wenigstens eine Adresse für einen Datenvergleich angewählt worden, und/oder erfolgt die Adressierung zusätzlich in einer vorgegebenen Reihenfolge, so ist an der Adressier-Kontrolleinheit ein erstes Freigabesignal abgreifbar, das zusammen mit dem Ausgangssignal des Fehlerregisters einer Verknüpfungseinheit zugeführt ist. Unabhängig davon wird bei jedem Vergleich, der eine Abweichung zwischen dem Referenzdatenwort und dem Codewort ergibt, ein Fehlerregister gesetzt. Sind die Zugriffsbedingungen auf den Adreßraum des Speichers eingehalten und wurde durch die Vergleichseinheit Übereinstimmung zwischen allen Codedaten und Refenzdaten festgestellt, so erzeugt die Verknüpfungseinheit das Freigabesignal. Dieses kann mit Steuersignalen, die ein Lesen, Schreiben oder Löschen des Anwenderdatenbereiches bewirken, in einer Zugriffssicherung verknüpft werden.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Anordnung der oben genannten Art anzugeben, welche vor Mißbrauch mit den zur Identifikation oder Authentifikation verwendeten kartenbezogenen Geheimdaten schützen und die Gültigkeitsdauer des Geheimcodes begrenzbar machen, ohne den Kartenumlauf einzuschränken.
  • Diese Aufgabe wird gemäß den kennzeichnenden Teilen der Ansprüche 1 beziehungsweise 7 gelöst.
  • Die Erfindung beruht darauf, daß der Kartenchip eine Logik 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 Systemgeheimnis weder auf der Karte noch auf einem Terminal noch vom Karteninhaber, sondern nur in einer gut gegen Betrug gesicherter Umgebung einer Zentrale anzuwenden.
  • 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 jeweils auf einen einzigen ersten Code bei einer Kartenbenutzung zugegriffen. Die übrigen vorsorglich vorbereiteten ersten Codes unterliegen keinem Betrugsrisiko, solange sie im Terminal nicht angewendet werden. Ist die Gültigkeitsdauer 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 vergleichsweise gering. Nach dem Umstellen auf einen geänderten ersten 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 manipulierten Terminals über abgelaufene und damit nicht mehr geheime erste Codeworte die Besitzer von Chipkarten geschädigt werden können.
  • Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
  • Im folgenden wird die Erfindung anhand eines Ausführungsbeipieles weiter beschrieben.
  • Die Figur zeigt eine Speicheranordnung mit einer Logikeinheit zur Zugriffssicherung.
  • Die Anordnung der Figur weist eine Speicheranordnung 1, einen Zeilendecoder 2, einen Komparator 4, ein Datenregister 3 und eine Logikeinheit 5 auf. Die Speicheranordnung 1 setzt sich aus einem Hauptspeicher 11 mit einer Vielzahl n von wortweise adressierbaren Speicherplätzen, aus einem Kontrollspeicher 13, dessen Speicherplätze den Speicherplätzen des Hauptspeichers 13 adreßmäßig zugeordnet und gemeinsam über n Adressleitungen A mit diesen adressierbar sind sowie einem weiteren unabhängigen Bereich (zweiter Codebereich 14) zusammen. Der Hauptspeicher 11 ist in Abhängigkeit vom Programmierzustand des Kontrollspeichers 13 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 Hauptspeichers 11 und des zweiten Codebereiches 14 und zusätzlich für die Breite des Kontrollspeichers 13 ausgelegt. Bei einer Wortlänge von m Bits für den Hauptspeicher 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 zweiten Codebereiches 14 liegt der m Bit breite Datenkomparator 4 zum Vergleich eines Speicherinhalts mit einem Registerinhalt.
  • Die Kontrollogik 5 besteht - im hier wiedergegebenen Beispiel - aus zwei Flip-Flops 6 sowie Und- und NOR-Gattern. Sie erzeugt ein Freigabesignal F1, welches den SchreibLese- und Löschzugriff auf den Hauptspeicher 11 kontrolliert. Ein weiteres Freigabesignal F2 kontrolliert das Schreiben eines Kontrollbits B2 im Kontrollspeicher 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 Codebereichs ein erster Code abgespeichert ist, der bereits deaktiviert ist. Die zweite Speicherstelle (Adresse A2) enthält einen ersten Code, der aktuell für die Anwenderspeicherzugriffe benutzt ist. In den übrigen Speicherstellen (Adresse AK) sind vorsorglich weitere erste Codes abgelegt, 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 Verfügung stehen. Die Anzahl derartiger vorsorglicher abgelegter erster Codes hängt davon ab, wie oft mit einer Codeänderung zu rechnen ist.
  • Der Kontrollspeicher 13 weist pro Speicheradresse A1 bis An vorzugsweise zwei Bitstellen mit jeweils einem Kontrollbit B1 beziehungsweise B2 auf. Sie legen fest, ob die zugehörigen Speicherplätze im Hauptspeicher 11 als Anwenderspeicher 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.
  • Unter der Annahme, ein vom Terminal übernommenes und im Datenregister 3 abgelegtes m-Bit breites Datenwort berechtigt zu einem Zugriff auf den Anwenderspeicher 15, wird nach einem Vergleich mit dem unter der Adresse A2 abgespeicherten aktuellen ersten Code das Komparatorsignal K logisch 1 sein. Als weitere Voraussetzung für den Zugang zum Anwenderspeicher 15 muß sichergestellt sein, daß tatsächlich ein aktueller erster Code sowie der Hauptspeicher 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.
  • Wenn also das Freigabe Flip-Flop 6 gesetzt ist, dann ist ein Lesen oder eine andere Anwendung des Anwenderspeichers 15 möglich.
  • Falls jedoch bei der Überprüfung des vom Benutzer angegebenen Datenwortes mindestens eines der oben beschriebenen Bedingungen nicht erfüllt ist, wird das Freigabesignal F1 nicht erzeugt und der Zugriff auf den Anwenderspeicher 15 nicht freigegeben.
  • Die Aktivierung eines Speicherbereichs als Speicherplatz für einen ersten Code erfolgt unter Anwendung des zweiten Codes 14 durch Schreiben eines oder mehrerer Bits im Kontrollspeicher 13. Im vorliegenden Beispiel handelt es sich um das Kontrollbit B2. Mit der Aktivierung als Codewort (B1 = 1, B2 = 0) 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.
  • Im Falle eines Speichers 1 vom E²PROM-Typ kann die Deaktivierung auch unmittelbar durch Löschen (Zustand log. 1) des Kontrollbits B2 im Kontrollspeicher 13, gemeinsam mit dem ungültig gewordenen ersten Codewort erfolgen. In diesem Fall muß das Löschen ohne Anwenden des zweiten Codes möglich sein, während die Deaktivierung eines Codewortes durch das Kontrollbit B1 auch von der Anwendung des zweiten Codes abhängig gemacht werden kann.
  • Ein mit einem ersten Code beschriebener Kontrollspeicher 13 wird nur gemeinsam mit dem dazugehörenden, ungültig gewordenen ersten Code gelöscht. Auf diese Weise wird verhindert, daß durch eine unberechtigte Deaktivierung vorprogrammierter erster Codeworte diese lesbar gemacht werden könnten.
  • Das Schreiben des Kontrollspeichers 13, insbesondere des Kontrollbits B2 zur Umwandlung eines Anwenderspeichers 15 in einen ersten Codespeicher 16 setzt die Aktivierung eines zweiten Freigabesignals F2 voraus. Nach einem positiven Vergleich eines extern eingegebenen Datenwortes mit dem zweiten Codewort aus dem zweiten Codebereich 14 im Komparator 4 wird ein zweites Freigabe Flip-Flop 7 gesetzt, wenn der zweite Codebereich 14 über seine Adresse T2 aktiviert ist.
  • Die beiden Freigabe Flip-Flops 6, 7 werden beim Einschalten der Anordnung über ein Rücksetzsignal POR zurückgesetzt.
  • Abschließend seien die wesentlichen Merkmale des Ausführungsbeispiels noch einmal aufgeführt. Abhängig vom Programmierzustand des Kontrollspeichers 13 ist der Hauptspeicher 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 Kontrollbit B1 = 0 gekennzeichnet sind, und die erst durch Löschen (Zustand log.1) wieder in einen Anwenderbereich zurückgewandelt werden. Eine durch den ersten Code erlangte Speicherfreigabe bezieht sich stets auf den Teil des Hauptspeichers, der aufgrund 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 (B2=1)-ohne den zweiten Code nicht möglich ist.

Claims (8)

  1. Verfahren zum Kontrollieren eines Speicherzugriffs auf einen Anwender- und einen ersten Codebereich (15, 16) eines Hauptspeichers (11) einer Chipkarte, wobei eine interne Freigabeprodezur mit einem Datenvergleich eines ersten Codes aus dem ersten Codebereich (16) und eines Datenwortes aus einem Terminal durchgeführt wird,
    dadurch gekennzeichnet,
    daß die Adressen (A) des Hauptspeichers (11) und eines Kontrollspeichers (13) fest miteinander gekoppelt werden,
    daß mit jeweils einem Kontrollbit (B2) im Kontrollspeicher (13) mehrere Speicherplätze des Hauptspeichers (11) als erster Codebereich (16) markiert werden,
    daß jeweils mit einem weiteren Kontrollbit (B1) im Kontrollspeicher (13) ein im zugeordneten Speicherplatz des ersten Codebereichs (16) abgelegter erster Code als aktiviert oder deaktiviert markiert wird,
    daß bei einer Freigabeprozedur nur dann ein Freigabesignal (F1) erzeugt wird, wenn ein Speicherplatz mit einem aktivierten, ersten Code adressiert wird und wenn Übereinstimmung dieses Speicherinhalts 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.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein zweites Freigabesignal (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 extern eingegebenen Datenwort gegeben ist, und daß erst nach Erzeugung des zweiten Freigabesingals (F2) eine Programmierung des Kontrollspeichers (13) für eine - zumindest teilweise - Umwandlung des Anwenderbereichs (15) in einen ersten Codebereich (16) durchgeführt werden kann.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß aktivierte erste Codedaten ohne Anwendung der zweiten Codedaten deaktiviert, gesperrt oder gelöscht werden.
  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.
  5. Verfahren nach einem der vorhergehenden Ansprüche,
    dadurch gekennzeichnet, daß eine adreßmäßig gekoppelte Speicherstelle im ersten Codebereich (16) und im Kontrollspeicher (13) zusammen gelöscht werden.
  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.
  7. Anordnung zur Durchführung des Verfahrens nach Anspruch 1 mit einem ersten Codebereich (16) in einer Speicheranordnung (1) mit mehreren Speicherplätzen zur Aufnahme mehrerer erster Codedaten und einer Anordnung (4) zum Vergleich der ersten Codedaten mit einem extern eingegebenen Datenwort, gekennzeichnet durch einen Kontrollspeicher (13), dessen Speicherplätze adreßmäßig mit den Speicherplätzen des ersten Codebereichs (16) gekoppelt sind, und durch eine Freigabelogik (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.
  8. Anordnung nach Anspruch 7, gekennzeichnet durch einen adreßmäßig von den übrigen Speicherbereichen unabhängigen zweiten Codebereich (14) zur Aufnahme 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.
EP86108602A 1985-07-08 1986-06-24 Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens Expired - Lifetime EP0224639B1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT86108602T ATE65632T1 (de) 1985-07-08 1986-06-24 Verfahren zum kontrollieren eines speicherzugriffs auf einer chipkarte und anordnung zur durchfuehrung des verfahrens.

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 EP0224639A1 (de) 1987-06-10
EP0224639B1 true EP0224639B1 (de) 1991-07-24

Family

ID=6275238

Family Applications (1)

Application Number Title Priority Date Filing Date
EP86108602A Expired - Lifetime EP0224639B1 (de) 1985-07-08 1986-06-24 Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens

Country Status (5)

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

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0281057B1 (de) * 1987-03-04 1994-05-11 Siemens Nixdorf Informationssysteme Aktiengesellschaft Schaltungsanordnung zur Sicherung des Zugangs zu einem Datenverarbeitungssystem mit Hilfe einer Chipkarte
EP0281059B1 (de) * 1987-03-04 1993-12-01 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenaustauschsystem mit mehreren jeweils eine Chipkarten-Leseeinrichtung enthaltenden Benutzerterminals
JPS63293664A (ja) * 1987-05-27 1988-11-30 Sharp Corp 電子機器
US5497462A (en) * 1988-07-20 1996-03-05 Siemens Aktiengesellschaft Method and circuit for protecting circuit configurations having an electrically programmable non-volatile memory
JPH0388052A (ja) * 1989-08-31 1991-04-12 Toshiba Corp 機密保護処理方式
KR940005696B1 (ko) * 1991-11-25 1994-06-22 현대전자산업 주식회사 보안성 있는 롬(rom)소자
DE4229863A1 (de) * 1992-09-07 1994-03-10 Nat Rejectors Gmbh Mobiler Datenträger und Datenaustauschvorrichtung dafür
US5753899A (en) * 1993-10-06 1998-05-19 Gomm; R. Greg Cash alternative transaction system
US5650761A (en) * 1993-10-06 1997-07-22 Gomm; R. Greg Cash alternative transaction system
NL9301880A (nl) * 1993-11-02 1995-06-01 Robert Eric Hertzberger Werkwijze en inrichting voor de opslag van gegevens in het bijzonder pincodes.
JPH07160592A (ja) * 1993-12-03 1995-06-23 Rohm Co Ltd 半導体メモリ装置
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
DE4435251A1 (de) * 1994-10-04 1996-04-11 Ibm Mehrstufige Zugriffssteuerung auf Datenträgerkarten
JP4678084B2 (ja) * 2000-09-29 2011-04-27 ソニー株式会社 メモリ装置およびメモリアクセス制限方法
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0127809A1 (de) * 1983-05-18 1984-12-12 Siemens Aktiengesellschaft Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE128362C (de) *
US4105156A (en) * 1976-09-06 1978-08-08 Dethloff Juergen Identification system safeguarded against misuse
FR2401459A1 (fr) * 1977-08-26 1979-03-23 Cii Honeywell Bull Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable
FR2403597A1 (fr) * 1977-09-16 1979-04-13 Cii Honeywell Bull Perfectionnements aux systemes de comptabilisation d'unites homogenes predeterminees
DE3315047A1 (de) * 1983-04-26 1984-10-31 Siemens AG, 1000 Berlin und 8000 München Integrierte schaltung mit einem als nichtfluechtiger schreib-lese-speicher ausgestalteten anwendungsspeicher
DE3318123A1 (de) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
DE3318101A1 (de) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordung mit einem speicher und einer zugriffskontrolleinheit
DE3585464D1 (de) * 1984-06-19 1992-04-09 Casio Computer Co Ltd Intelligente karte.
JPH0762862B2 (ja) * 1985-09-17 1995-07-05 カシオ計算機株式会社 Icカ−ドシステムにおける認証方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0127809A1 (de) * 1983-05-18 1984-12-12 Siemens Aktiengesellschaft Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit

Also Published As

Publication number Publication date
DE3680476D1 (de) 1991-08-29
JPS6210745A (ja) 1987-01-19
ATE65632T1 (de) 1991-08-15
EP0224639A1 (de) 1987-06-10
US4819204A (en) 1989-04-04

Similar Documents

Publication Publication Date Title
EP0224639B1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
EP0128362B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE2837201C2 (de)
DE2621271C2 (de) Tragbarer Datenträger
DE3811378C3 (de) Informationsaufzeichnungssystem
DE2560559C2 (de)
EP0207320B1 (de) Integrierte Schaltung und Verfahren zum Sichern von geheimen Codedaten
EP0558132B1 (de) Anordnung zum Datenaustausch
DE2621269C2 (de) Datenaustauschsystem mit wenigstens einer Datenträgeranordnung
EP0766211A2 (de) Multifunktionale Chipkarte
EP0129054A1 (de) Schaltungsanordnung mit einem Datenspeicher und einer Ansteuereinheit zum Auslesen, Schreiben und Löschen des Speichers
DE2840325A1 (de) Anordnung zum verbuchen von vorbestimmten gleichartigen einheiten
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE1499687B2 (de) Speicherschutz-einrichtung
EP0127809B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE10319585A1 (de) Manipulationssicheres Datenverarbeitungssystem und zugehöriges Verfahren zur Manipulationsverhinderung
DE1524111A1 (de) Datenverarbeitungsanlage
EP0813723A1 (de) Chipkarte mit geschütztem betriebssystem
DE4107558C2 (de)
DE3025044C2 (de)
DE19533209C2 (de) Vorrichtung zur Zuordnung der Benutzer in einem Computer-Netzwerk
DE19548903C2 (de) Verfahren zur Durchführung eines Geheimcodevergleiches bei einem mikroprozessorgestützten tragbaren Datenträger
EP0970449B1 (de) Tragbarer datenträger und verfahren zu dessen kryptographisch gesicherten benutzung mit austauschbaren kryptographischen schlüsseln
DE2858819C2 (de) Tragbarer Informationsträger für die Speicherung und Verarbeitung von Informationen
EP0214390A1 (de) Freigabeverfahren für einen zugriffskontrollierten Anwenderspeicher und Anordnung zur Durchführung des Verfahrens

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