DE69935317T2 - Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt - Google Patents

Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt Download PDF

Info

Publication number
DE69935317T2
DE69935317T2 DE69935317T DE69935317T DE69935317T2 DE 69935317 T2 DE69935317 T2 DE 69935317T2 DE 69935317 T DE69935317 T DE 69935317T DE 69935317 T DE69935317 T DE 69935317T DE 69935317 T2 DE69935317 T2 DE 69935317T2
Authority
DE
Germany
Prior art keywords
card
terminal
command
session
commands
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
DE69935317T
Other languages
English (en)
Other versions
DE69935317D1 (de
Inventor
Stephane Didier
Francois Grieu
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.)
Innovatron Electronique (sa)
Innovatron Electronique S A
Original Assignee
Innovatron Electronique (sa)
Innovatron Electronique S A
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9525063&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69935317(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Innovatron Electronique (sa), Innovatron Electronique S A filed Critical Innovatron Electronique (sa)
Publication of DE69935317D1 publication Critical patent/DE69935317D1/de
Application granted granted Critical
Publication of DE69935317T2 publication Critical patent/DE69935317T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3676Balancing accounts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • 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/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • 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/0866Mechanisms 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 by active credit-cards adapted therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • Die Erfindung betrifft Karten mit Mikroschaltung, und insbesondere Karten mit Mikroprozessor, die selber diverse Veränderungen ihres nichtflüchtigen Speichers durchführen.
  • Bei der Durchführung einer Transaktion wird im Allgemeinen der Speicher ein oder mehrere Male verändert, und es ist natürlich nötig sicherzustellen, dass dann alle Veränderungen sicher richtig ausgeführt wurden, bevor die neu geschriebenen Informationen genutzt werden können, wobei die neu geschriebenen Informationen im Falle eines Fehlers oder eines Integritätsmangels des Schreibvorgangs ignoriert oder gelöscht werden müssen.
  • Die US-A-4 877 945 beschreibt dementsprechend die Art und Weise der Erfassung einer Unregelmäßigkeit, die im Laufe einer Sequenz des Schreibens mehrerer Informationen aufgetreten ist, um das Fortfahren der Transaktion auf fehlerhaften Grundlagen zu verhindern.
  • Es ist im Übrigen wünschenswert, im Falle einer Unregelmäßigkeit zum vorherigen Zustand zurückkehren zu können, d.h., dass eine spätere Transaktion in der Lage sein muss, mit den Werten der Informationen zu arbeiten, die in der Karte vor Durchführung der fehlerbehafteten Transaktion geschrieben waren.
  • Die vorzitierte US-A-4 877 945 bietet diesen Vorteil nicht, da einige der alten Werte der Informationen während der Durchführung der fehlerbehafteten Transaktion bereits verloren wurden, so dass es nicht möglich sein wird, diese Informationen in ihren früheren Zustand zurückzubringen, zumindest auf der Grundlage der alleinigen Informationen, die in dieser Karte enthalten sind.
  • Die WO-A-89/02140 wiederum beschreibt eine solche Vorgehensweise, die jedoch nur auf den Fall der Veränderung einer einzigen Information oder mehrerer Veränderungen von Informationen unabhängig voneinander anwendbar ist.
  • In zahlreichen Fällen ist es jedoch erforderlich, im Verlauf der selben Transaktion mehrere Informationen zu verändern, und diese werden als "gegenseitig voneinander abhängig" betrachtet, falls es erforderlich ist, dass sie für die ordentliche Durchführung der Gesamtheit der Veränderungen in der Gesamtheit der Informationen zusammen verarbeitet werden.
  • Das Risiko einer unvollkommenen oder unvollständigen Transaktion, die eine Mehrzahl von untereinander abhängigen Informationen betrifft, ist bei den Karten vom "kontaktlosen" Typ besonders hoch, wo die Grenzen des Volumens, in welchem die Karte um das Terminal ordentlich funktionieren kann, nicht wahrnehmbar sind. In diesem Fall besteht ein nicht vernachlässigbares Risiko eines unerwarteten Abbruchs der Kommunikation zwischen der Karte und dem Terminal, wegen der Entfernung der Karte aus dem Aktionsradius des Terminals vor Abschluss der Verarbeitung, oder wegen einer vorübergehenden Störung, z. B. des nahegelegenen Vorbeiziehens einer metallischen Masse.
  • Ein Beispiel (wohl gemerkt nicht beschränkend) ist die Verwendung einer solchen Karte bei einer Ferntransaktion für Fahrkarten, d.h. für den Zugang zu einem öffentlichen Verkehrsnetz, wobei die Karte die doppelte Rolle einer Fahrkarte und einer elektronischen Geldbörse übernimmt.
  • Um die aufgezeigten Schwierigkeiten zu überwinden und eine Mehrzahl von Schreibvorgängen oder andere Veränderungen von voneinander abhängigen Daten "unteilbar" zu machen, wurden mehrere Lösungen vorgeschlagen.
  • In dem weiter oben angegebenen Anwendungsbeispiel beginnen die bekannten Systeme damit, die Geldbörse abzubuchen, und schreiben sodann die durch den Nutzer erworbenen Beförderungsrechte. Falls der Nutzer seine Karte während dieser zwei Vorgänge entfernt, wird er gebeten, die Karte erneut vorzuzeigen, und das Schreiben der Beförderungsrechte fährt fort. Jedoch wird er einen Schaden erleiden, falls er geht, ohne seine Karte erneut vorzuzeigen. Es ist natürlich unmöglich, in umgekehrter Reihenfolge vorzugehen, da dem Nutzer dann der Anreiz gegeben wird, seine Karte zu entfernen, bevor die Geldbörse abgebucht wurde.
  • Diese Lösung impliziert, dass das Terminal besonders konfiguriert ist, um im Falle einer Unterbrechung die Aktivierung einer Verarbeitung für den Ausnahmefall zu erlauben, welche die Wiederaufnahme der Transaktion steuert (Neueinführung der Karte auf Anfrage des Terminals). Neben der Erhöhung der Komplexität der Software des Terminals ist diese Lösung nicht vollständig zufriedenstellend, insoweit als, wie es angegeben wurde, der Nutzer im Falle der Nicht-Wiederaufnahme der Transaktion dennoch einen Schaden erleidet.
  • Eine andere Lösung besteht darin, gekreuzte Information zu verwenden, indem im Terminal Informationen über den Zustand der Geldbörse der Karte gehalten werden, und umgekehrt. Diese Lösung ist aber auch nicht zufriedenstellend, da, abgesehen von ihrer Komplexität, sie das Volumen an zwischen der Karte und dem Terminal ausgetauschten Daten erhöht, und dementsprechend die Durchführung der Transaktion verlangsamt. Sie lässt sich außerdem schwer auf eine große Anzahl von unteilbar zu machenden Schreibvorgängen (drei und mehr) anwenden.
  • Eines der Ziele der Erfindung ist es, ein Verfahren vorzuschlagen, welches die Durchführung einer Mehrzahl von Veränderungen des Kartenspeichers auf unteilbare Weise erlaubt.
  • Ein anderes Ziel der Erfindung ist es, ein solches Verfahren vorzuschlagen, das vollständig von der Karte verwaltet werden kann. Dieses Verfahren kann also ohne Veränderung der Terminals umgesetzt werden, und ohne dass es erforderlich wäre, Verarbeitungen durch diese Terminals für Ausnahmefälle vorzusehen, und bei Ver wendung der Syntax der bestehenden Befehle und folglich mit einer großen Flexibilität bei der Auswahl der Befehle.
  • Das erfindungsgemäße Verfahren ist vom Typ, bei welchem die Karte zeitweise während der Durchführung einer Transaktion mit einem Terminal gekoppelt ist, wobei die Transaktion das Anwenden einer Mehrzahl von Veränderungsbefehlen durch das Terminal auf die Karte umfasst, die jeder wenigstens einen Vorgang des Schreibens einer entsprechenden durch den Befehl bestimmten Information in den Kartenspeicher umfasst, wobei die so geschriebenen verschiedenen Informationen gegenseitig voneinander abhängen.
  • Die Erfindung ist auf die durch den Anspruch 1 angegebene Weise definiert.
  • Das Grundprinzip der Erfindung besteht also darin, die Mehrzahl an durchzuführenden Veränderungen auf unteilbare Weise innerhalb eines selben Schrittes a) zusammenzufassen, und, nach Durchführung dieser Veränderungen, diese Veränderungen insgesamt durch die Karte zu validieren. Falls die Validierung wirksam ist, wird beim nächsten durch die Karte durchgeführten Vorgang (im Verlauf derselben Transaktion oder im Verlauf einer nachfolgenden Transaktion) deren zugänglicher Inhalt zwangsläufig die durchgeführten Veränderungen widerspiegeln.
  • Umgekehrt wird jegliche Unterbrechung des Kartenbetriebs, die im Verlauf des Schritts a) stattfindet, die Gesamtheit der vorgenommenen Veränderungen annullieren, und die Daten des nicht flüchtigen Speichers verbleiben in ihrem dem Schritt a) vorhergehenden Zustand.
  • Bei einer besonderen Ausführungsform schreibt man im Bestätigungsfall beim Schritt b) in den Kartenspeicher einen Beleg, der die ordentliche Durchführung bestätigt, und, wenn die Karte später einen Befehl empfängt, der das Lesen und/oder die Veränderung wenigstens einer der beim Schritt a) geschriebenen Informationen oder des entsprechenden Werts impliziert, betrachtet die Karte vorab den Zustand des Belegs, und, falls dieser nicht geschrieben wurde, ignoriert oder annulliert die Karte die vorher beim Schritt a) durchgeführten vorläufigen Schreibvorgänge und führt den Befehl auf der Grundlage der vorherigen den Informationen entsprechenden Werte durch. Wenn die Karte den Zustand des Belegs betrachtet hat, kann die Karte dann, falls dieser geschrieben wurde, Kopiervorgänge der vorläufigen beim Schritt a) vorgenommenen Schreibvorgänge durchführen.
  • In besonders vorteilhafter Weise ist die Karte in der Lage, gemäß zweier Modi zu funktionieren, nämlich einem Sitzungsmodus, bei welchem die Schreibvorgänge durch Durchführung der Schritte a) und b) vorgenommen werden, und einem sitzungsfreien Modus, bei welchem die Vornahme der Schreibvorgänge während der Gesamtheit der Schritt a) und b) nicht bestätigt wird.
  • Die Eröffnung einer Sitzung kann implizit sein, z. B. beim Reinitialisieren (Reset) der Karte oder infolge eines Befehls mit doppelter Wirkung der Ausführung eines vorbestimmten Vorgangs und der Interpretation als ein Befehl zur Eröffnung einer Sitzung.
  • Zum Beispiel eröffnet die Karte, wenn ein normalerweise zertifizierter Schreibvorgang nicht von einem Zertifikat begleitet wird, automatisch eine Sitzung, welche den Schreibvorgang in dieser Sitzung behandelt.
  • Auf dieselbe Weise kann das Schließen der Sitzung implizit sein, infolge eines Befehls mit doppelter Wirkung der Durchführung eines vorbestimmten Vorgangs und der Interpretation als Befehl zum Schließen der Sitzung.
  • Zum Beispiel schließt ein Vorgang des Abbuchens der Geldbörse die Sitzung, was zudem vermeidet, dass die Kommunikation des resultierenden Zertifikats aufgeschoben werden muss, und es erlaubt, die Sitzungszertifikate mit denjenigen der Geldbörsentransaktion zu verschmelzen.
  • In besonders vorteilhafter Weise umfasst das Verfahren eine Authentifizierungsfunktion, die mit der Fertigstellungsfunktion des Schrittes b) kombiniert ist, welche beim Schritt b) die Verwerfung erzwingt, falls die Authentifizierung fehlschlägt.
  • Bei einer ersten Umsetzungsform wird diese Authentifizierung durch die Karte durchgeführt, die das Terminal und/oder die zwischen dem Terminal und der Karte ausgetauschten Daten authentifiziert, wobei die Karte ein durch das Terminal erzeugtes und an die Karte übertragenes kryptographisches Zertifikat prüft und die Veränderungen beim Schritt b) nur bestätigt, falls dieses Zertifikat für korrekt befunden wird.
  • Im Falle eines Modus mit Sitzung kann man vorsehen, dass, wenn die Karte vom Terminal Befehle zur Veränderung des Speicherinhalts, umfassend die Überprüfung eines kryptographischen Zertifikats, empfängt, diese Überprüfung durchgeführt wird, falls der Befehl außerhalb einer Sitzung empfangen wird, und nicht durchgeführt wird, falls der Befehl während einer Sitzung empfangen wird.
  • Mit anderen Worten umfassen diejenigen der beim Schritt b) durch die Karte b) ausgeführten Befehle, die normalerweise (d.h., außerhalb der Sitzung) ein kryptographisches Zertifikat verifizieren würden, nicht mehr diese Verifikation, wenn sie im Rahmen einer Sitzung ausgeführt werden, wobei das "das Terminal authentifizierende Sitzungszertifikat" eine äquivalente Funktion übernimmt.
  • Bei einer zweiten Ausführungsform erfolgt die Authentifizierung durch das Terminal, welches die Karte und/oder die zwischen dem Terminal und der Karte ausgetauschten Daten authentifiziert, wobei die Karte unter Bedingungen ein kryptographisches Zertifikat erzeugt und an das Terminal übermittelt, wenn und nur wenn die Veränderungen beim Schritt b) bestätigt wurden.
  • Im Falle eines Modus mit Sitzung kann man vorsehen, dass, wenn die Karte beim Schritt b) vom Terminal Befehle zur Veränderung des Speicherinhalts, umfassend die Erzeugung eines kryptographischen Zertifikats, empfängt, diese Erzeugung er folgt, falls der Befehl außerhalb einer Sitzung empfangen wird, und nicht erfolgt, falls der Befehl während einer Sitzung empfangen wird.
  • Mit anderen Worten umfassen diejenigen der durch die Karte beim Schritt b) durchgeführten Befehle, die normalerweise (d.h., außerhalb einer Sitzung) ein kryptographisches Zertifikat erzeugen würden, nicht mehr diese Erzeugung, wenn sie im Rahmen einer Sitzung durchgeführt werden, wobei das "das Terminal authentifizierende Sitzungszertifikat" eine äquivalente Funktion übernimmt.
  • Man kann im Übrigen vorsehen, dass, wenn die Karte vom Terminal Befehle zur Veränderung des Speicherinhalts, umfassend die Erzeugung einer Mehrzahl von kryptographischen Zertifikaten, empfängt, diese Zertifikate bei diesem Schritt b) gespeichert werden, und dann gemeinsam an das Terminal übertragen werden, wenn und nur wenn die Veränderungen beim dem Schritt b) bestätigt wurden.
  • Mit anderen Worten sieht man vor, die Kommunikation der normalerweise durch die Befehle des Schrittes b) erzeugten kryptographischen Zertifikate durch die Karte aufzuschieben. Insbesondere, falls ein Befehl zum zertifizierten Schreiben ein bestimmtes Schreibzertifikat erzeugt, ist es wünschenswert, dass dieses die Karte erst verlässt, nachdem der Schreibvorgang unumkehrbar durchgeführt wurde.
  • Bei einer besonderen Ausführungsform umfassen wenigstens bestimmte der Befehle ein Unterdrückungsattribut, und, falls die Karte einen solchen Befehl ausführt, wirken die durch diesen Befehl vorgenommenen Veränderungen unabhängig vom Ergebnis des Schrittes b).
  • Mit anderen Worten definiert das Attribut, ob der Befehl während der Sitzung durchgeführt wird (d.h., annulliert werden wird, falls die Sitzung nicht geschlossen wird) oder außerhalb der Sitzung (d.h., sofort wirksam, als ob er außerhalb der Sitzung durchgeführt würde, selbst wenn er sich chronologisch innerhalb der Sitzung befindet).
  • In besonders vorteilhafter Weise sieht das Verfahren zusätzlich nach dem Schritt b) und im Falle der Bestätigung der Veränderungen die folgende Schrittsequenz vor: d) Durchführung eines Vorgangs durch das Terminal im Anschluss an die Bestätigung durch die Karte; e) im Falle einer ordnungsgemäßen Durchführung des Vorgangs durch das Terminal, Schreiben einer Abschlussinformation in die Karte, die später über einen Lesevorgang zugänglich ist.
  • Ein solcher "Abschluss" (Ratifikation) der Sitzung zeigt der Karte an, dass das Terminal in der Tat im Anschluss an die Durchführung der Sitzung die Entscheidungen hat treffen können (z. B. das Öffnen eines Tors im Falle einer Anwendung für den Zugang zu einem öffentlichen Verkehrsnetz).
  • Man wird feststellen, dass dieser Abschluss durch die Karte gesteuert wird, ohne dass ein zusätzlicher Schreibvorgang erforderlich wäre (wobei das Kopieren der vorläufigen Schreibvorgänge ein Vorgang ist, der auf jeden Fall früher oder später erfolgen muss). Außerdem wird dieses Kopieren auf der Kartenseite nur durchgeführt, unter der Bedingung, dass der Vorgang auf der Terminalseite ordentlich durchgeführt ist, d.h., nur im Falle der Kohärenz der Gesamtheit der Transaktion.
  • Wenn die Gesamtheit der Operationen durch die Karte verwaltet wird, kann man vorteilhafterweise vorsehen, dass der Schreibbefehl des Schritts e) ein implizierter Befehl ist, wobei jeder durch die Karte nach dem Schritt b) empfangener Befehl als Befehl des Schreibens einer Abschlussinformation in die Karte interpretiert wird.
  • Andere Merkmale und Vorteile gehen aus der folgenden Beschreibung zweier Ausführungsbeispiele der Erfindung hervor.
  • In diesen Beispielen, wie übrigens im restlichen Text, verweist das Wort "bezeichnen", das hier im Sinne von "einen unter mehreren bestimmen" zu verstehen ist, auf die Handlung, die darin besteht, eine besondere Information unter den verschiedenen in der Karte enthaltenen Informationen zu charakterisieren.
  • Der Befehl kann selber auf eine besondere Information verweise; z. B. bezeichnet der Befehl "einen Betrag x von der Geldbörse abbuchen" den Speicherplatz, welcher den Wert der Information "Saldo der Geldbörse" enthält.
  • Diese Bezeichnung kann explizit sein, wie z. B. in dem folgenden Beispiel 1, wo Schreibbefehle mit einer Adresse oder einer Sektorenkennung, die durch einen Index i indexiert sind, vorgesehen sind.
  • Beispiel I
  • Es wird vorgeschlagen, eine Karte zu verwirklichen, die 100 Werte von jeweils 8 Byte speichert, und die folgenden Befehle unterstützt:
    • – Lesen eines 8 Bytewertes v, der durch seinen Index i von 1 bis 100 bezeichnet ist.
    • – Schreiben eines 8 Bytewertes v, der durch seinen Index i von 1 bis 100 bezeichnet ist.
    • – Eröffnung einer Sitzung.
    • – Schließen einer Sitzung.
  • Die Karte muss bis zu drei Schreibvorgänge während einer gleichen Sitzung erlauben. Per Konvention werden Großbuchstaben verwendet, um die Werte im nicht flüchtigen Speicher (z. B. EEPROM) zu bezeichnen, und Kleinbuchstaben, um die Werte im flüchtigen Speicher (RAM, dessen Inhalt beim Wegfall der Spannung verloren geht) zu bezeichnen.
  • Ein nicht flüchtiger Speicherbereich wird der Hauptspeicherung der Kartendaten zugewiesen (endgültig festgeschrieben):
    • • V[i], i von 1 bis 100 : 100 × 8 Byte
  • Ein anderer nicht flüchtiger Speicherbereich wird dem Sitzungsmechanismus zugewiesen, und umfasst:
    • • T[k], k von 1 bis 3 : 3 × 8 Byte, welche die während der Sitzung geschriebenen Werte enthalten (vorläufig geschrieben).
    • • I[k], k von 1 bis 3 : 3 × 1 Byte, welche die Indize der während der Sitzung geschriebenen Werte enthalten.
    • • C : 1 Zählbyte, das am Ende der Sitzung geschrieben wird.
  • C codiert die Anzahl von Schreibvorgängen, die während der Sitzung durchgeführt wurden; ein geeigneter Redundanzmechanismus (der z. B. das Komplement dieses Wertes assoziiert) erlaubt es sicherzustellen, dass man den Fall zu erkennen weiß, wo der in diesem Zählbyte gespeicherte Wert unsicher ist.
  • Der Ablauf der Vorgänge ist wie folgt.
  • Schritt 0: Zu einem Zeitpunkt zwischen dem Anlegen einer Spannung an die Karte und dem ersten ausgeführten Befehl wird C betrachtet. Falls dieses sich bei einem sicheren Wert von 1 bis 3 befindet, dann kopiert man für k von 1 bis C den Wert T[k] an den Index I[k] der Tabelle V[i]. Sodann wird C auf 0 gesetzt, und eine interne Variable j auf –1 (um anzugeben, dass keine Sitzung eröffnet ist).
  • Schritt 1: Beim Lesen betrachtet man, ob j > 0; falls ja, vergleicht man den nachgefragten Index i mit den Werten I[k] für k von j bis 1 in abnehmender Weise. Bei Identität gibt man T[k] aus. In allen anderen Fällen gibt man V[i] aus.
  • Schritt 2: Beim Eröffnen der Sitzung initialisiert man j = 0 (wobei festzuhalten ist, dass, falls eine Sitzung eröffnet ist, diese annulliert wird).
  • Schritt 3: Bei jedem Schreibvorgang wird, falls j = –1 (keine Sitzung eröffnet), der kommunizierte Wert v an T[0] geschrieben, der kommunizierte Index i an I[0], sodann schreibt man C = 1, und dann schreibt man v an V[i], sodann schreibt man C = 0; falls 0 ≤ j < 3 (Schreibvorgang während einer Sitzung), erhöht man j um 1, man schreibt v an T[j], man schreibt i an I[j], falls j = 3, lehnt man den Vorgang ab (Überschreitung der Begrenzung der Schreibvorgänge während der Sitzung).
  • Schritt 4: Beim Schließen der Sitzung, falls j > 0, schreibt man j an C, und kopiert sodann für j von 1 bis C den Wert T[j] an den Index I[j] der Tabelle V⌷. Sodann wird C auf 0 gesetzt, und j auf –1.
  • Man kann zeigen, dass man jederzeit die Versorgung der Karte unterbrechen kann, und dass die gelesenen Werte stimmen, d.h., für jeden Index i der letzte außerhalb einer Sitzung oder in einer geschlossenen Sitzung (der Schreibvorgang ist abgeschlossen oder die Sitzung ist zum Zeitpunkt geschlossen, wo ein Wert, der nicht 0 ist, an C geschrieben wird) geschriebene Wert.
  • Die Kryptographie kommt hinzu, indem sie bestimmte Operationen verhindert, falls ein der Karte geliefertes kryptographisches Zertifikat falsch ist, und/oder indem sie die Karte nach bestimmten Vorgängen kryptographische Zertifikate erzeugen lässt.
  • Die verwendeten kryptographischen Zertifikate basieren auf einer Kryptographie bekannten Typs. Zum Beispiel erhält man das "die Karte (respektiv das Terminal) authentifizierende Sitzungszertifikat", indem man auf der Karten- und Terminalseite den Algorithmus Secure Hash Alogrithm (SHA) auf durch die Karte (respektiv das Terminal) gelieferte Daten und eine durch das Terminal (respektiv die Karte) gelieferte Zufallszahl beim Eröffnen der Sitzung anwendet; der resultierende Message Authenti cation Code (MAC) wird durch die Karte (respektiv das Terminal) durch den Signaturalgorithmus Digital Signature Algorithm (DSA) mit einem in der Karte (respektiv im Terminal) enthaltenen Geheimschlüssel signiert; das Terminal (respektiv die Karte) überprüft diese Signatur mit einem öffentlichen Schlüssel. Ein symmetrischer Kryptographiealgorithmus wie beispielsweise Data Encryption Standard (DES) kann auch zur Erzeugung des MAC und/oder der Erarbeitung der Signaturen verwendet werden.
  • Gemäß einer erfindungsgemäßen Option haben beide Authentifizierungsrichtungen den Schritt der Erzeugung des MAC gemein, und dieser Schritt deckt die Gesamtheit der Sitzungsdaten ab. Und im Falle einer symmetrischen Kryptographie werden das die Karte authentifizierende Zertifikat und das das Terminal authentifizierende durch einen einzigen Schritt der Verschlüsselung des MAC erhalten, wobei die jeweiligen Zertifikate der Karte und des Terminals sich durch einen elementaren Vorgang wie beispielsweise die Extraktion bestimmter vorbestimmter Bytes daraus ableiten lassen.
  • Beispiel II
  • In diesem Beispiel sind die Daten des Speichers in Sektoren organisiert, die jeder vier Felder umfassen:
    • 1. Daten;
    • 2. Kennung (Zugangsschlüssel, der die Auswahl eines Sektors erlaubt);
    • 3. Relevanz: Erlaubt die Bestimmung des relevanten Sektors, falls zwei Sektoren dieselbe Kennung haben;
    • 4. Kontrolle: Erlaubt die Überprüfung der Integrität der drei vorhergehenden Felder (z. B. eine Kontrolle vom Paritätstyp).
  • Ein Sektor wird durch seine Kennung bezeichnet, ein Begriff, welcher den Begriff Adresse ersetzt. Der Schreibvorgang eines Sektors hat eine Kennung und dieser Ken nung zuzuordnende Daten als Parameter. Der Lesevorgang eines Sektors hat eine Kennung als Parameter und gibt die Daten aus, die dieser Kennung beim letzten mit dieser selben Kennung durchgeführten Schreibvorgang zugeordnet wurden (oder eine geeignete Angabe, falls diese Kennung nie verwendet wurde). Mit anderen Worten verwirklicht man einen Zugang vom assoziativen Typ anstatt eines indexierten Zugangs.
  • Beim Vorgang des Lesens eines Sektors sucht die Karte nach denjenigen Sektoren, deren Kennung den gefragten Wert hat und die (auf der Grundlage des Kontrollfeldes) integer sind. Falls mehrere Sektoren diesen zwei Kriterien entsprechen, behält sie einen auf der Grundlage des Relevanzfeldes.
  • Beim Schreiben eines Sektors schreibt die Karte die gefragten Felder Daten und Kennung in einen verfügbaren Sektor, das Relevanzfeld so, dass dieser Sektor für den Lesevorgang der relevanteste der integeren Sektoren sein wird, welche diese Kennung aufweisen, und das Kontrollfeld in Übereinstimmung mit den drei vorhergehenden Feldern (mit anderen Worten wird der Schreibvorgang so gesteuert, dass der spätere Lesevorgang ordentlich durchgeführt werden kann).
  • Vorteilhafterweise wird der Schreibvorgang durch das Löschen des Sektors fortgesetzt, der durch das Schreiben des neuen Sektors nicht relevant geworden ist, wodurch ein neuer verfügbarer Sektor erzeugt wird.
  • Vorteilhafterweise sieht man ein (komplementäres) System vom garbage collection Typ vor, d.h., der Rückgewinnung der nutzlosen Sektoren, sei es, dass sie nicht integer sind, oder nicht relevant.
  • Vorteilhafterweise sieht man ein System vor, welches die von dem Schreiben resultierende Abnutzung verteilt, durch Vermeidung der Verwendung immer derselben Sektoren, z. B. durch zufällige Auswahl eines Sektors unter den verfügbaren Sektoren.
  • Eine im Allgemeinen vorteilhafte Variante des Vorgangs der Sektorensuche besteht darin, diesen Suchschritt zur Löschung der Sektoren zu nutzen, von denen feststeht, dass sie nicht integer sind, und/oder derjenigen, welche nicht die relevantesten sind, wodurch erneut freie Sektoren erzeugt werden (dadurch wird während dieses Lesevorgangs Zeit verloren, zum Vorteil der Geschwindigkeit nachfolgender Lese- und Schreibvorgänge). Vorteilhafterweise wird vor der Löschung eines Sektors, der als integer aber nicht relevant bestimmt wurde, erneut der relevante Sektor beschrieben, der möglicherweise unvollkommen geschrieben wurde.
  • Die Nutzgröße des Speichers ist gleich der Anzahl an verfügbaren Sektoren, minus einem Sektor, der im gelöschten Zustand verbleiben muss. Alle Sektoren (einschließlich des gelöschten) sind dynamisch im Speicher verteilt.
  • Falls die Daten als Dateien strukturiert werden müssen, z. B. gemäß der Norm ISO/IEC 7816-4, unterteilt sich die Sektorenkennung in zwei Unterfelder, einer Dateikennung und einer Kennung des Sektors innerhalb der Datei.
  • Es wird im Folgenden eine (nicht beschränkende) Umsetzung der Lese-/Schreibvorgänge wiedergegeben, welche diese besondere Strukturierung in Sektoren verwendet:
    • – Das Kontrollfeld enthält, in Binärcode, die Anzahl an Null-Bits in den drei anderen Feldern; man kann zeigen, dass, falls ein Problem wie z. B. ein unterbrochener Schreibvorgang oder Löschvorgang eine beliebige Anzahl Bits des Sektors alle in dieselbe Richtung verändert, die Überprüfung des Wertes des Kontrollfeldes immer die Aufdeckung des Problems erlaubt.
    • – Das Relevanzfeld ist eine ganze Zahl von 0 bis 3, über 2 Bits codiert.
    • – Der Lesevorgang durchquert sequentiell alle Sektoren bis ein erster Sektor gefunden ist, welcher die gesuchte Kennung aufweist und integer ist. Falls diese Suche keinen Sektor findet, beendet man den Vorgang mit einem Bericht "Sektor nicht gefunden". Falls man einen solchen ersten Sektor findet, speichert man dessen Position, dessen Daten und dessen Relevanz p. Die Suche fährt fort. Falls man einen zweiten Sektor entdeckt, welcher die gesuchte Kennung aufweist und integer ist, testet man, ob dessen Relevanz q der Rest der ganzzahligen Division von p + 1 durch 3 ist; falls ja, schreibt man erneut den zweiten Sektor, löscht man den ersten, und gibt man die Daten des zweiten aus; ansonsten schreibt man erneut den ersten Sektor, löscht man den zweiten, und gibt man die Daten des ersten aus. Fall ein zweiter Sektor nicht gefunden wird, und falls die Relevanz des ersten Sektors p = 3 ist, löscht man diesen Sektor und liefert man den Bericht "Sektor nicht gefunden"; in den anderen Fällen gibt man die Daten des ersten aufgefundenen Sektors aus.
    • – Der Schreibvorgang beginnt wie der obige Lesevorgang. Falls man den Sektor gefunden hat, welchen das Leseverfahren für die gelieferte Kennung ausgeben würde, speichert man die Position dieses Sektors und dessen Relevanz p (die 0,1 oder 2 beträgt); falls man ihn nicht gefunden hat, wählt man einen freien Sektor aus (durch das nachfolgende Verfahren), und man schreibt in diesen Sektor die Felder Kennung, Daten, Relevanz p = 3 und Kontrolle, und man speichert die Position und die Relevanz dieses Sektors. In beiden Fällen fährt man fort, indem man einen freien Sektor auswählt (durch das folgende Verfahren). Man schreibt in diesen Sektor die Felder Kennung, Daten, Relevanz q (berechnet als der Rest der ganzzahligen Division von p + 1 durch 3) und Kontrolle. Sodann löscht man den gespeicherten Sektor.
    • – für die Suche eines freien Sektors initialisiert man die Anzahl n an aufgefundenen freien Sektoren auf Null. Man betrachtet die Sektoren sequentiell. Jeder Sektor wird, falls er nicht leer und nicht integer ist, gelöscht, und er wird frei (wodurch zur garbage collection beigetragen wird, die weiter oben erwähnt ist); falls er integer ist und dessen Relevanz p = 3 ist, löscht man ihn (genauso); falls er integer ist und falls seine Relevanz nicht p = 3 ist, sucht man in der noch nicht durchquerten Zone einen anderen integeren Sektor mit selber Kennung, und falls man einen findet, löscht man denjenigen, der nicht relevant ist, indem man wie beim Lesen vorgeht; falls nach diesem Vorgang der Sektor leer ist, inkrementiert man die Anzahl n an aufgefundenen freien Sektoren, und man führt die zufällige Ziehung einer ganzen Zahl von 0 bis n – 1 durch; falls diese ganze Zahl 0 ist, speichert man die Position des leeren Sektors. Sobald alle Sektoren durchschritten wurden, sind alle nicht leeren Sektoren integer, gibt es keine zwei Sektoren mit selber Kennung, kennt man die Anzahl n an leeren Sektoren, und hat man einen von diesen gespeichert, der zufällig auf gleich wahrscheinliche Weise ausgewählt wurde. Falls kein freier Sektor gefunden wird, wird der Schreibvorgang unterbrochen.
  • Es wird nun die Art und Weise angegeben, mit welcher die Karte Sitzungen unteilbarer Änderungen mit einer solchen besonderen Strukturierung in Sektoren steuern kann.
  • Zur Speicherung der unteilbaren Änderungen verfügt die Karte im nicht flüchtigen Speicher über N gelöschte Sektoren (N entspricht der Anzahl an unteilbaren Änderungen, die man während einer selben Sitzung durchführen kann). Weiterhin verwaltet sie einen Bereich des nicht flüchtigen Speichers (außerhalb der Sektoren), der für die Sitzungssteuerung vorgesehen ist und "Sitzungsbeschreiber" genannt wird.
  • Dieses Umsetzungsbeispiel umfasst keine sitzungseigene Authentifizierung.
  • Man definiert einen Sitzungsbeschreiber, der aus drei Feldern besteht:
    • – Liste der Referenzen der unteilbaren Sektoren (LR-SA).
    • – Kontrollwert der Erzeugung der Liste der Referenzen der unteilbaren Sektoren (VCC).
    • – Kontrollwert der Berücksichtigung der Liste der Referenzen der unteilbaren Sektoren (VCPC), der es erlaubt zu wissen, ob man eine Sitzung geschlossen hat oder nicht.
  • Schritt 0: Initialisierung: vor dem ersten Zugriff auf die Daten seit der letzten Unterbrechung des Kartenbetriebs, z. B. beim Reset (wieder auf Null setzen), muss die Karte dafür sorgen, dass der Sitzungsbeschreiber gelöscht wird. Es gibt mehrere Fälle zu betrachten, je nach dem Zustand des Sitzungsbeschreibers:
    • – er ist vollständig gelöscht: die Karte lässt ihn in diesem Zustand.
    • – er ist nicht vollständig gelöscht, und die VCPC ist korrekt: die Karte sucht und löscht (falls erforderlich) alle Sektoren, die durch die geschriebenen obsolet geworden sind (innerhalb derjenigen, die in der Liste aufgeführt sind), und löscht dann den Sitzungsbeschreiber.
    • – er ist nicht vollständig gelöscht, der VCPC ist gelöscht oder falsch, und der VCC ist korrekt: die Karte löscht die in der LRSA angegebenen Sektoren, und löscht sodann den Sitzungsbeschreiber.
    • – er ist nicht vollständig gelöscht, der VCPC ist gelöscht oder falsch, und der VCC ist gelöscht oder falsch: die Karte löscht den Sitzungsbeschreiber.
  • Schritt 1: Eröffnung einer Sitzung: die Karte sucht nach N gelöschten Sektoren, und notiert dann die Liste deren Referenz und deren VCC im Sitzungsbeschreiber (der als gelöscht angenommen wird).
  • Schritt 2: im Verlauf der Sitzung: die Karte empfängt Befehle. Wenn einer von diesen eine oder mehrere unterteilbare Änderungen auslöst, sind die zum Notieren dieser Änderungen verwendeten Sektoren diejenigen, die in der LRSA notiert sind, bis zur Höhe von N veränderten Sektoren.
  • Schritt 3: Schließung der Sitzung: Zum Schließen der Sitzung schreibt die Karte den VCPC, der sicherstellt, dass die LRSA und deren VCC berücksichtigt wurden. Anschließend sucht und löscht sie alle Sektoren, die durch die geschriebenen obsolet geworden sind (unter denen in der Liste aufgeführten). Schließlich löscht sie den Sitzungsbeschreiber.
  • Falls die Karte außerdem den Abschluss (Ratifikation) steuert, umfasst die Steuerung der Sitzungen die folgenden Änderungen.
  • Schritt 0: Initialisierung: in dem Fall, wo der Sitzungsbeschreiber nicht vollständig gelöscht ist und der VCPC korrekt ist, sucht und löscht (falls erforderlich) die Karte alle Sektoren, die durch die geschriebenen obsolet geworden sind (unter den in der Liste aufgeführten), jedoch löscht sie nicht den Sitzungsbeschreiber.
  • Schritt 1: Eröffnung einer Sitzung: die Karte notiert im flüchtigen Speicher, dass eine Sitzung eröffnet ist. Falls der Sitzungsbeschreiber nicht leer ist, zeigt die Karte an, dass die vorhergehende Sitzung nicht abgeschlossen wurde (ratifiziert wurde), und kann sogar durch Analyse der LRSA angeben, welche die nicht abgeschlossenen (nicht ratifizierten) Daten sind. Auf jeden Fall verändert sie nicht den Sitzungsbeschreiber.
  • Schritt 2: Im Verlauf der Sitzung: Beim ersten Befehl mit unteilbaren Änderungen löscht die Karte den Sitzungsbeschreiber, falls dies erforderlich ist, sucht nach N gelöschten Sektoren und schreibt dann die LRSA und deren VCC.
  • Schritt 3: Schließen der Sitzung: Die Karte notiert im flüchtigen Speicher, dass keine Sitzung eröffnet ist. In jedem Fall löscht sie nicht den Sitzungsbeschreiber.

Claims (14)

  1. Verfahren zur Veränderung des Inhalts des nichtflüchtigen Speichers einer Karte mit Mikroschaltung, insbesondere einer kontaktlosen Karte, Verfahren, bei welchem die Karte zeitweise während der Durchführung einer Transaktion, insbesondere einer Ferntransaktion für Fahrkarten, mit einem Terminal gekoppelt ist, wobei die Transaktion das Anwenden einer Mehrzahl von Veränderungsbefehlen durch das Terminal auf die Karte umfasst, wobei jeder der Befehle wenigstens einen Vorgang des Schreibens einer besonderen Information in den Kartenspeicher umfasst, die unter einer Mehrzahl von Informationen bestimmt wird, die in der Karte in Abhängigkeit eines Indexes oder eines Identifizierungsmittels enthalten sind, der/das der Karte mittels jedem der Befehle mitgeteilt wird, wobei die verschiedenen derart geschriebenen Informationen gegenseitig voneinander abhängen, wobei das Verfahren die Durchführung der folgenden Schritte durch die Karte umfasst: a) bei Empfang jeweiliger entsprechender vom Terminal empfangener Befehle, vorläufiges Schreiben jeder der gegenseitig abhängigen Informationen in den Kartenspeicher; sodann b) Fertigstellung dieser Veränderungen, so dass die beim Schritt a) ausgeführten Befehle für spätere Vorgänge: i) entweder alle berücksichtigt werden, ii) oder alle ohne Wirkung sind, Verfahren, bei welchem: – die Befehle Befehle zur Veränderung des Inhalts des Kartenspeichers sind, – beim Schritt a) das Schreiben neuer Werte der Informationen in den Kartenspeicher den Inhalt des Speichers ohne Verlust der vorherigen Werte dieser Informationen verändert, und – beim Schritt b) die Veränderungen derart fertig gestellt werden, dass, falls alle beim Schritt a) ausgeführten Befehle ohne Wirkung sind, dann die im nicht flüchtigen Speicher enthaltenen Daten im Zustand verbleiben werden, in welchem sie sich vor Durchführung des Schrittes a) befanden.
  2. Verfahren nach Anspruch 1, bei welchem: – man im Falle einer Bestätigung beim Schritt b) in den Kartenspeicher einen Beleg schreibt, der die ordentliche Durchführung bestätigt, und, – wenn die Karte später einen Befehl empfängt, der das Lesen und/oder die Veränderung wenigstens einer der beim Schritt a) geschriebenen Informationen oder des entsprechenden Werts impliziert, die Karte vorab den Zustand des Belegs betrachtet, und, falls dieser nicht geschrieben wurde, die Karte die vorher beim Schritt a) durchgeführten vorläufigen Schreibvorgänge ignoriert oder annulliert und den Befehl auf der Grundlage der vorherigen den Informationen entsprechenden Werte durchführt.
  3. Verfahren nach Anspruch 2, bei welchem, wenn die Karte den Zustand des Belegs betrachtet, falls dieser geschrieben wurde, die Karte Kopiervorgänge der vorläufigen beim Schritt a) vorgenommenen Schreibvorgänge durchführt.
  4. Verfahren nach einem der Ansprüche 1 und 2, bei welchem die Karte in der Lage ist, gemäß zweier Modi zu funktionieren, nämlich: – einem Sitzungsmodus, bei welchem die Schreibvorgänge durch Durchführung der Schritte a) und b) vorgenommen werden, und – einem sitzungsfreien Modus, bei welchem die Vornahme der Schreibvorgänge während der Gesamtheit der Schritte a) und b) nicht bestätigt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, mit einer Authentifizierungsfunktion, die mit der Fertigstellungsfunktion des Schrittes b) kombiniert ist, welche beim Schritt b) die Verwertung erzwingt, falls die Authentifizierung fehlschlägt.
  6. Verfahren nach Anspruch 5, bei welchem die Authentifizierung durch die Karte erfolgt, die das Terminal und/oder die zwischen dem Terminal und der Karte ausgetauschten Daten authentifiziert, wobei die Karte ein durch das Terminal erzeugtes und an die Karte übertragenes kryptographisches Zertifikat prüft und die Veränderungen beim Schritt b) nur bestätigt, falls dieses Zertifikat für korrekt befunden wird.
  7. Verfahren nach den Ansprüchen 4 und 6 in Kombination, bei welchem, wenn die Karte vom Terminal Befehle zur Veränderung des Speicherinhalts, umfassend die Überprüfung eines kryptographischen Zertifikats, empfängt, diese Überprüfung durchgeführt wird, falls der Befehl außerhalb einer Sitzung empfangen wird, und nicht durchgeführt wird, falls der Befehl während einer Sitzung empfangen wird.
  8. Verfahren nach Anspruch 5, bei welchem die Authentifizierung durch das Terminal erfolgt, das die Karte und/oder die zwischen dem Terminal und der Karte ausgetauschten Daten authentifiziert, wobei die Karte unter Bedingungen ein kryptographisches Zertifikat erzeugt und an das Terminal übermittelt, wenn und nur wenn die Veränderungen beim Schritt b) bestätigt wurden.
  9. Verfahren nach den Ansprüchen 4 und 8 in Kombination, bei welchem, wenn die Karte vom Terminal Befehle zur Veränderung des Speicherinhalts, umfassend die Erzeugung eines kryptographischen Zertifikats, empfängt, diese Erzeugung erfolgt, falls der Befehl außerhalb einer Sitzung empfangen wird, und nicht erfolgt, falls der Befehl während einer Sitzung empfangen wird.
  10. Verfahren nach einem der Ansprüche 1 und 2, bei welchem, wenn die Karte beim Schritt b) vom Terminal Befehle zur Veränderung des Speicherinhalts, umfassend die Erzeugung einer Mehrzahl von kryptographischen Zertifikaten, empfängt, diese Zertifikate bei diesem Schritt b) gespeichert werden, und dann gemeinsam an das Terminal übertragen werden, wenn und nur wenn die Veränderungen beim Schritt b) bestätigt wurden.
  11. Verfahren nach den Ansprüchen 1 und 4 in Kombination, bei welchem wenigstens bestimmte der Befehle ein Unterdrückungsattribut umfassen, und bei welchem, falls die Karte einen solchen Befehl ausführt, die durch diesen Befehl vorgenommenen Veränderungen unabhängig vom Ergebnis des Schritts b) wirken.
  12. Verfahren nach einem der Ansprüche 1 und 2, bei welchem weiterhin nach dem Schritt b) und im Falle der Bestätigung der Veränderungen die folgende Schrittsequenz vorgesehen ist: d) Durchführung eines Vorgangs durch das Terminal im Anschluss an die Bestätigung durch die Karte; e) im Falle einer ordnungsgemäßen Durchführung des Vorgangs durch das Terminal, Schreiben einer Abschlussinformation in die Karte, die später über einen Lesevorgang zugänglich ist.
  13. Verfahren nach Anspruch 12, bei welchem der Schreibbefehl des Schritts e) ein impliziter Befehl ist, wobei jeder durch die Karte nach dem Schritt b) empfangener Befehl als Befehl des Schreibens einer Abschlussinformation in die Karte interpretiert wird.
  14. Verfahren nach Anspruch 1, bei welchem nach Durchführung wenigstens einer der Veränderungen des Schritts a), die nicht von einer Fertigstellung durch einen sich anschließenden Schritt b) gefolgt wird, im Fall einer späteren Reinitialisierung der Karte ein vorhergehender Schritt vorgesehen ist, der alle derart durchgeführten Veränderungen verwirft, so dass die beim Schritt a) durchgeführten Befehle für nachfolgende Vorgänge allesamt ohne Wirkung sind.
DE69935317T 1998-04-09 1999-04-09 Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt Expired - Lifetime DE69935317T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9804453A FR2777371B1 (fr) 1998-04-09 1998-04-09 Procede pour modifier de maniere indivisible une pluralite d'emplacements de la memoire non volatile d'une carte a microcircuit
FR9804453 1998-04-09
PCT/FR1999/000837 WO1999053451A1 (fr) 1998-04-09 1999-04-09 Procede pour modifier de maniere indivisible une pluralite d'emplacements de la memoire non volatile d'une carte a microcircuit, notamment une carte sans contact

Publications (2)

Publication Number Publication Date
DE69935317D1 DE69935317D1 (de) 2007-04-12
DE69935317T2 true DE69935317T2 (de) 2007-10-31

Family

ID=9525063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69935317T Expired - Lifetime DE69935317T2 (de) 1998-04-09 1999-04-09 Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt

Country Status (21)

Country Link
US (1) US7370203B1 (de)
EP (1) EP1070303B1 (de)
JP (2) JP4708564B2 (de)
KR (1) KR100562090B1 (de)
CN (1) CN1180383C (de)
AR (1) AR019035A1 (de)
AT (1) ATE355574T1 (de)
AU (1) AU759733B2 (de)
BR (1) BR9910116A (de)
CA (1) CA2324879C (de)
DE (1) DE69935317T2 (de)
DK (1) DK1070303T3 (de)
EA (1) EA002994B1 (de)
ES (1) ES2283110T3 (de)
FR (1) FR2777371B1 (de)
IL (1) IL138927A0 (de)
PT (1) PT1070303E (de)
TR (1) TR200002933T2 (de)
TW (1) TW484063B (de)
UA (1) UA65611C2 (de)
WO (1) WO1999053451A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1223565A1 (de) * 2001-01-12 2002-07-17 Motorola, Inc. Transaktionssystem, tragbares Gerät, Endgerät und Transaktionsverfahren
JP3820999B2 (ja) 2002-01-25 2006-09-13 ソニー株式会社 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム
JP4209840B2 (ja) 2002-06-10 2009-01-14 健 坂村 Icカード、端末装置及びデータ通信方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0754536B2 (ja) * 1986-02-17 1995-06-07 株式会社日立製作所 Icカ−ド利用システム
JPS63120391A (ja) * 1986-11-10 1988-05-24 Hitachi Ltd Icカ−ド
GB8720332D0 (en) * 1987-08-28 1987-10-07 Mars Inc Data carrying devices
US7028187B1 (en) * 1991-11-15 2006-04-11 Citibank, N.A. Electronic transaction apparatus for electronic commerce
US5557518A (en) * 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
US5453601A (en) * 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
FR2689662B1 (fr) * 1992-04-01 1994-05-20 Gemplus Card International Procede de protection d'une carte a puce contre la perte d'information.
FR2701578B1 (fr) * 1993-02-16 1995-03-31 Gemplus Card Int Procédé d'écriture dans une mémoire non volatile, notamment dans une carte à mémoire.
US5869825A (en) * 1993-09-07 1999-02-09 Ziarno; Witold A. Method of processing monetary transaction data by batch off-loading of the data from a portable, hand-held electronic device, device and system therefor
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
US6868408B1 (en) * 1994-04-28 2005-03-15 Citibank, N.A. Security systems and methods applicable to an electronic monetary system
US6088797A (en) * 1994-04-28 2000-07-11 Rosen; Sholom S. Tamper-proof electronic processing device
US5539828A (en) * 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5761309A (en) * 1994-08-30 1998-06-02 Kokusai Denshin Denwa Co., Ltd. Authentication system
NL9401406A (nl) * 1994-08-31 1996-04-01 Nederland Ptt Betaalsysteem met verbeterde integriteit.
DE4439266A1 (de) * 1994-09-30 1996-04-11 Siemens Ag Datenübertragungssystem mit einem Terminal und einer tragbaren Datenträgeranordnung und Verfahren zum Wiederaufladen der tragbaren Datenträgeranordnung mittels des Terminals
FR2725537B1 (fr) * 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5701343A (en) * 1994-12-01 1997-12-23 Nippon Telegraph & Telephone Corporation Method and system for digital information protection
KR0160685B1 (ko) * 1995-03-31 1998-12-15 김광호 칩인 카드에 의한 사용방지 기능을 가진 퍼스널 컴퓨터의 카드 리드/라이트 콘트롤러
FR2733615B1 (fr) * 1995-04-26 1997-06-06 France Telecom Carte a memoire et procede de mise en oeuvre d'une telle carte
NL1001376C2 (nl) * 1995-05-11 1996-11-12 Nederland Ptt Werkwijze voor het uitvoeren van een elektronische betalingstransactie met een variabel aantal betalingseenheden, alsmede betaalmiddel en stelsel voor toepassing van de werkwijze.
JP3272213B2 (ja) * 1995-10-02 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション Icカード及び情報処理装置の認証方法
EP0795844A1 (de) * 1996-03-11 1997-09-17 Koninklijke KPN N.V. Verfahren zum gesichertes Ändern von Daten einer Chipkarte
US5892902A (en) * 1996-09-05 1999-04-06 Clark; Paul C. Intelligent token protected system with network authentication
EP0851396A1 (de) * 1996-12-23 1998-07-01 Koninklijke KPN N.V. System zum Erhöhen eines Wertes einer elektronischen Bezahlkarte
FR2757661B1 (fr) * 1996-12-24 1999-01-22 Gemplus Card Int Procede de transfert securise de donnees par un reseau de communication
GB2321741B (en) * 1997-02-03 2000-10-04 Certicom Corp Data card verification system
FR2762118B1 (fr) * 1997-04-11 1999-07-16 Gemplus Card Int Procedure securisee de controle de transfert d'unites de valeur dans un systeme de jeu a carte a puce
FR2764413B1 (fr) * 1997-06-10 1999-07-09 Sgs Thomson Microelectronics Procede d'authentification de circuit integre
DE19757653C2 (de) * 1997-12-15 2003-07-17 Francotyp Postalia Ag Verfahren und postalisches Gerät mit einer Chipkarten-Schreib/Leseeinheit zum Nachladen von Änderungsdaten per Chipkarte
US6216227B1 (en) * 1998-06-29 2001-04-10 Sun Microsystems, Inc. Multi-venue ticketing using smart cards

Also Published As

Publication number Publication date
KR100562090B1 (ko) 2006-03-17
AU3152399A (en) 1999-11-01
CN1296601A (zh) 2001-05-23
US7370203B1 (en) 2008-05-06
DE69935317D1 (de) 2007-04-12
PT1070303E (pt) 2007-06-05
IL138927A0 (en) 2001-11-25
BR9910116A (pt) 2000-12-26
CA2324879C (fr) 2008-02-05
JP4708564B2 (ja) 2011-06-22
AU759733B2 (en) 2003-04-17
CA2324879A1 (fr) 1999-10-21
EA200001048A1 (ru) 2001-06-25
KR20010042577A (ko) 2001-05-25
WO1999053451A1 (fr) 1999-10-21
ATE355574T1 (de) 2006-03-15
TR200002933T2 (tr) 2000-12-21
JP2011070692A (ja) 2011-04-07
DK1070303T3 (da) 2007-06-25
EP1070303A1 (de) 2001-01-24
JP4838381B2 (ja) 2011-12-14
AR019035A1 (es) 2001-12-26
JP2002511623A (ja) 2002-04-16
CN1180383C (zh) 2004-12-15
FR2777371A1 (fr) 1999-10-15
EP1070303B1 (de) 2007-02-28
FR2777371B1 (fr) 2001-10-26
TW484063B (en) 2002-04-21
ES2283110T3 (es) 2007-10-16
UA65611C2 (uk) 2004-04-15
EA002994B1 (ru) 2002-12-26

Similar Documents

Publication Publication Date Title
EP0128362B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE102005032734B4 (de) Indexextraktion von Dokumenten
DE102005032744A1 (de) Indexextraktion von Dokumenten
EP1883906B1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE2521436A1 (de) Informationswiedergewinnungsanordnung
EP1611510B1 (de) Kontrollierte ausführung eines für eine virtuelle maschine vorgesehenen programms auf einem tragbaren datenträger
EP0127809B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE60013518T2 (de) Versicherte Personalisierung von Chipkarten
EP3576001A1 (de) Computerimplementiertes verfahren zum übergeben eines datenstrings von einer anwendung an eine datenschutzeinrichtung
DE69935317T2 (de) Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt
DE3025044A1 (de) Vorrichtung fuer den schutz des zugangs zu einem dauerspeicher bei einer datenverarbeitungsanlage
DE102005032733A1 (de) Indexextraktion von Dokumenten
DE19716015A1 (de) Einbringen von Information auf einer Chipkarte
DE10247794B4 (de) Verwalten eines Fehlversuchszählers in einem tragbaren Datenträger
DE102004005290B3 (de) Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher
EP0813722B1 (de) Lizenzkartengesteuertes chipkartensystem
EP1591864A2 (de) Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe
EP0977160B1 (de) Verfahren und Datenverarbeitungsanordnung zum gesicherten Ausführen von Befehlen
EP1675008B1 (de) Verwaltung von Datenobjekten in einem nichtflüchtigen überschreibbaren Speicher
EP3186711B1 (de) Speicherverwaltung für einen token
EP3271825B1 (de) Verfahren zum speichern von nutzerdaten in einem dokument
EP3215957B1 (de) Chipkarte, chipkartensystem und verfahren zum zugriff auf eine chipkarte
DE102012020782A1 (de) Verwaltung von Datenelementen in einem Stapelspeicher
EP3175383A1 (de) Verfahren zur änderung der kontrolldaten einer chipkarte und chipkartensystem
DE10129417A1 (de) Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte

Legal Events

Date Code Title Description
8363 Opposition against the patent