DE69916795T2 - Verfahren zur speicherung und zum betrieb von informationseinheiten in einem sicherheitsmodul, und zugehöriges sicherheitsmodul - Google Patents

Verfahren zur speicherung und zum betrieb von informationseinheiten in einem sicherheitsmodul, und zugehöriges sicherheitsmodul Download PDF

Info

Publication number
DE69916795T2
DE69916795T2 DE69916795T DE69916795T DE69916795T2 DE 69916795 T2 DE69916795 T2 DE 69916795T2 DE 69916795 T DE69916795 T DE 69916795T DE 69916795 T DE69916795 T DE 69916795T DE 69916795 T2 DE69916795 T2 DE 69916795T2
Authority
DE
Germany
Prior art keywords
data
storage
zone
addresses
storing
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
DE69916795T
Other languages
English (en)
Other versions
DE69916795D1 (de
Inventor
Sebastien Diener
Franz Trierweiler
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.)
CP8 Technologies SA
Original Assignee
CP8 Technologies SA
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=9533861&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69916795(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by CP8 Technologies SA filed Critical CP8 Technologies SA
Application granted granted Critical
Publication of DE69916795D1 publication Critical patent/DE69916795D1/de
Publication of DE69916795T2 publication Critical patent/DE69916795T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Burglar Alarm Systems (AREA)
  • Air Bags (AREA)

Description

  • Die Erfindung bezieht sich auf ein Verfahren zur Speicherung und zum Betrieb von Informationseinheiten in einem Sicherheitsmodul. Der Begriff „Sicherheitsmodul" ist entweder in seinem herkömmlichen Sinn zu verstehen, d. h. er bezeichnet eine Vorrichtung, die zum Zweck hat, in einem Kommunikations- oder Informationsnetz in Besitz eines das Netz überwachenden Organs zu sein und auf geschützte Weise geheime und grundlegende Parameter des Netzes, wie z. B. kryptografische Schlüssel zu speichern, oder als einfache Bezeichnung einer Vorrichtung, die diversen Anwendern des Netzes zugeordnet ist und jedem dieser Anwender den Zugang zu diesem Netz ermöglicht, wobei letztere Vorrichtung ebenfalls geheime Parameter enthalten kann. Das Sicherheitsmodul kann die Form eines tragbaren Objekts in der Art einer Chipkarte annehmen.
  • Es ist bekannt, dass ein Betrüger die in Datenspeichermittel, insbesondere in Speicher von elektronischen Chips enthaltenen Informationen lesen oder ändern kann, indem er je nach Fall ein elektronisches Mikroskop oder Mittel zur Erzeugung von Strahlung einsetzt. Um eine Wirkung zu erzielen, muss er jedoch nicht nur Zugriff auf die gespeicherten Informationen haben, sondern auch die Funktion dieser Informationen für den Betrieb des Sicherheitsmoduls identifizieren.
  • Die Druckschrift US-A-4,064,558 bezieht sich auf die Datenspeicherung in einem Speicher unter Anwendung eines Verfahrens zur störenden Beeinflussung der physischen Adressen.
  • Das Hauptziel der Erfindung ist es, ein Datenspeicherverfahren vorzuschlagen, das das Herausfinden der jeder der gespeicherten Informationen zugeordneten Funktion wesentlich erschwert.
  • Die in den unabhängigen Patentansprüchen definierte Erfindung bezieht sich dazu auf ein Verfahren zur Informationsspeicherung in Datenspeichermitteln eines Sicherheitsmoduls und ist dadurch gekennzeichnet, dass es folgende Schritte umfasst, die in folgendem bestehen:
    • – Definieren in den Speichermitteln einer ersten Speicherzone zur Speicherung von Daten, die unter Angabe logischer Adressen zugänglich sind;
    • – Definieren in den Speichermitteln einer zweiten Speicherzone zur Speicherung der physischen Adressen dieser Daten, durch die ihre Position in der ersten Speicherzone definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt;
    • – Speichern der Daten in der ersten Speicherzone an einer Stelle, die von deren jeweiligen logischen Adressen abhängt, sowie der logischen Adressen dieser Daten in der zweiten Speicherzone an einer Stelle, die von diesen logischen Adressen abhängt; und
    • – Paarweises Umwandeln der logischen Adressen der Dateneinheiten in der zweiten Speicherzone zur Definition ihrer physischen Adressen und nach jeder Umwandlung Umwandeln der beiden entsprechenden Dateneinheiten in der ersten Speicherzone oder umgekehrt.
  • Alternativ dazu ist das Verfahren zur Informationsspeicherung in Datenspeichermitteln eines Sicherheitsmoduls dadurch gekennzeichnet, dass es folgende Schritte umfasst, die in folgendem bestehen:
    • – Definieren in den Speichermitteln einer ersten Speicherzone zur Speicherung von Daten, die unter Angabe logischer Adressen zugänglich sind;
    • – Definieren in den Speichermitteln einer zweiten Speicherzone zur Speicherung der physischen Adressen dieser Daten, durch die ihre Position in der ersten Speicherzone definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt;
    • – Zufälliges Speichern in der zweiten Speicherzone der logischen Adressen der Daten zur Definition der physischen Adressen dieser Daten; und
    • – Speichern der Daten in der ersten Speicherzone an einer Stelle, die von deren jeweiligen physischen Adressen abhängt.
  • Auf diese Weise sind die Daten in den Speichermitteln verstreut, was in der Praxis verhindert, sie ausfindig zu machen. Im vorliegenden Dokument geschilderte Weiterbildungen ermöglichen zudem die gespeicherten Informationen noch besser zu schützen.
  • Die Erfindung bezieht sich auch auf ein entsprechendes Betriebsverfahren sowie ein Sicherheitsmodul.
  • Weitere Einzelheiten und Vorteile der vorliegenden Erfindung werden im Verlauf der folgenden Beschreibung einer bevorzugten, jedoch nicht einschränkenden Ausführungsweise in Anlehnung an beiliegende Abbildungen deutlich, wobei:
  • 1 eine mit einem Sicherheitsmodul zusammenwirkende Datenverarbeitungsvorrichtung darstellt;
  • 2 eine Variante eines Sicherheitsmoduls darstellt;
  • 3 einen flüchtigen Speicher eines Sicherheitsmoduls darstellt, der zwei besondere Speicherzonen umfasst, die jeweils einen gesicherten RAM-Speicher und eine Streuungsmatrix bilden;
  • 4 den Speicher aus 3 nach Streuung der Informationseinheiten des gesicherten RAM-Speichers 41 darstellt;
  • 5 eine Variante von 4 ist, bei der die Informationseinheiten jeweils eine einzige Speicherzelle besetzen;
  • 6 die Markierung der Zellen mit einem Pointer darstellt;
  • 7 ein Organigramm eines Umkehrverfahrens von zwei Zellen der Streuungsmatrix ist;
  • die 8 bis 10 den flüchtigen Speicher während drei aufeinander folgenden Schritten des Verfahrens aus 7 darstellen;
  • 11 ein Organigramm eines Umkehrverfahrens von zwei Zellen des gesicherten RAM-Speichers ist, das sich dem Verfahren aus 7 anschließt;
  • die 12 bis 14 den flüchtigen Speicher während drei aufeinander folgenden Schritten des Verfahrens aus 11 darstellen; und
  • 15 ein Organigramm eines mehrfachen Vertauschverfahrens der Zellen des gesicherten RAM-Speichers ist.
  • 1 stellt eine mit einem tragbaren Objekt 8 zusammenwirkende Datenverarbeitungsvorrichtung 1 dar. Die Datenverarbeitungsvorrichtung umfasst auf an sich bekannte Weise einen Mikroprozessor 2, mit dem ein ROM-Speicher 3, ein RAM-Speicher 4, Mittel 5 zum Zusammenwirken mit bzw. ohne physischen Kontakt mit dem tragbaren Objekt 8 sowie eine Übertragungsschnittstelle 7 verbunden sind, mit der die Datenverarbeitungsvorrichtung mit einem Datenkommunikationsnetz kommunizieren kann. Die Datenverarbeitungsvorrichtung 1 kann zudem mit Speichermittel, wie z. B. Disketten, Wechselplatten oder Platten, Eingabemittel (wie z. B. eine Tastatur und/oder eine Markiervorrichtung in der Art einer Maus) und Anzeigemittel ausgestattet sein, wobei diese verschiedenen Mittel nicht in 1 dargestellt sind.
  • Die Datenverarbeitungsvorrichtung kann aus jeglichem EDV-Gerät bestehen, das an einem privaten oder öffentlichen Standort installiert und dazu fähig ist, Mittel zur Datenverwaltung oder zur Erteilung verschiedener Produkte oder Dienstleistungen bereitzustellen, wobei dieses Gerät fest oder tragbar installiert ist. Es kann sich insbesondere auch um ein der Telekommunikation gewidmetes Gerät handeln.
  • Darüber hinaus trägt das tragbare Objekt 8 einen Chip mit Mittel zum Bearbeiten der Information 9, einen nicht-flüchtigen Speicher 10, einen flüchtigen RAM-Arbeitsspeicher 14 und Mittel 13 zum Zusammenwirken mit der Datenverarbeitungsvorrichtung 1. Dieser Chip ist angeordnet, um im Speicher 10 eine geheime Zone 11 zu definieren, in der gespeicherte Informationen von außerhalb des Chips unzugänglich und nur den Verarbeitungsmitteln 9 zugänglich sind, sowie eine zugängliche Zone 12, die durch den Mikroprozessor 9 von außerhalb des Chips zum Lesen und/oder Schreiben von Informationen zugänglich gemacht worden ist. Jede Zone des nicht-flüchtigen Speichers 10 kann einen nicht zu verändernden ROM-Bereich und einen veränderbaren EPROM-/EEPROM-Bereich enthalten oder aus einem „Flash"-RAM-Speicher bzw. FRAM-Speicher (bei letzterem handelt es sich um einen ferromagnetischen RAM-Speicher) bestehen, d. h. die Eigenschaften eines EEPROM-Speichers und zudem die einem herkömmlichen RAM-Speicher entsprechenden Zugangszeiten aufweisen.
  • Als Chip kann insbesondere ein wie im amerikanischen Patent Nr. 4.382.279 im Namen des Anmelders beschriebener selbstprogrammierbarer Mikroprozessor mit einem nicht-flüchtigen Speicher verwendet werden. Wie in Spalte 1, Zeile 13–25 dieses Patents angegeben, entspricht die selbstprogrammierbare Art des Chips der Möglichkeit eines in einem ROM-Speicher vorhandenen Programms fi ein anderes, in einem programmierbaren Speicher vorhandenes Programm fj in ein Programm gj umzuändern. In einer Variante wird der Mikroprozessor des Chips durch logische Schaltungen, die in einen Halbleiterchip eingelassen sind, ersetzt oder zumindest ergänzt. Derartige Schaltungen sind nämlich dank verkabelter und nicht mikroprogrammierter Elektronik dazu fähig, Berechnungen auszuführen, insbesondere zur Authentifizierung und Signatur. Sie können insbesondere vom Typ ASIC (aus dem Englischen „Application Specific Integrated Circuit") sein.
  • In 2 ist eine Variante von 1 dargestellt, bei der die Datenverarbeitungsvorrichtung 16 neben den Elementen der Datenverarbeitungsvorrichtung 1 aus 1 die in einem Modul 15 angeordneten des tragbaren Objekts 8 umfasst, wobei die gemeinsamen Elemente der 1, 2 dieselben Bezugszahlen aufweisen. Die Mittel zum Zusammenwirken 5, 13 aus 1 wurden jedoch durch eine permanente Verbindung zwischen dem Mikroprozessor 2 und dem Mikroprozessor 9 ersetzt.
  • Gemäß einer Variante der 2 besteht die Datenverarbeitungsvorrichtung aus dem Modul 15 selbst (aus 2).
  • Erfindungsgemäß ändern sich im Laufe der Zeit die physische Lageanordnung und die Struktur einer sensiblen Information in einem der Speicher des tragbaren Objekts 8 oder des Moduls 15 auf zufällige Weise. Wenn also S eine Einheit von n Speicherzellen (c0, c1, c2, ..., c(n – 1)) und f eine Streufunktion ist, die dazu geeignet ist, den Inhalt einer beliebigen Zelle ci von einer Ausgangsadresse in eine Streuadresse f(ci) zu verstreuen, prüft die Funktion f folgende zwei Eigenschaften: ci ≠ cj ⇒ f(ci) ≠ f(cj) ci ∈ S ⇒ f(ci) ∈ S(wobei ∈ ein Symbol ist, das "zugehörig zu" bedeutet)
  • Als Beispiel wird in 3 die Struktur des RAM-Speichers 14 des tragbaren Objekts 8 bzw. des Moduls 15 dargestellt. Er umfasst sechzehn durch die Ziffern 0 bis 9 sowie durch die Buchstaben A bis F (hexadezimale Einteilung) gekennzeichnete Spalten sowie zehn durch die Ziffern 6 bis 9 und durch die Buchstaben A bis F gekennzeichnete Zeilen. Diese Zeilen und Spalten definieren hundertsechzig Zellen, die ausgehend von der Zelle 60 (d. h. Zeile 6, Spalte 0) bis zur Zelle FF (d. h. Zeile F, Spalte F) gekennzeichnet sind. Jede Zelle speichert ein binäres Byte.
  • Der RAM-Speicher ist in drei unterschiedliche Zonen eingeteilt. Eine erste Zone 41 umfasst die Zellen 80 bis AF und wird als „gesicherter RAM-Speicher" bezeichnet, da sein Inhalt mittels der vorab genannten Funktion f gesichert wird: in dieser Zone werden die zu schützenden sensiblen Informationen gespeichert. Eine zweite Zone 42 umfasst die Zellen B0 bis BF und wird als „Streuungsmatrix" bezeichnet, da sie dazu verwendet wird, die sensiblen Informationen im gesicherten RAM-Speicher zu streuen. Schließlich umfasst eine als „RAM-Standard-Speicher" bezeichnete dritte Zone 43 die restlichen Zellen, d. h. 60 bis 7F und C0 bis FF: sie wird zum Speichern der nicht sensiblen Informationen verwendet. Es wird darauf hingewiesen, dass der gesicherte RAM-Speicher und die Streuungsmatrix in diesem Beispiel aus aneinandergrenzenden Zellen bestehen. In einer Variante könnten diese jedoch auch aus nicht aneinandergrenzenden Zellen bestehen.
  • Nach einer bevorzugten Ausführungsform sind die gesamten im gesicherten RAM-Speicher gespeicherten Informationen in mehrere als „Informationseinheiten" bezeichnete Elemente unterteilt, die jeweils dieselbe bestimmte Anzahl an Zellen umfassen. Im Beispiel der 3 und 4 ist jede Informationseinheit mit einem dicken Strich eingerahmt und umfasst drei Zellen: man unterscheidet zum Beispiel die Informationseinheit (a, b, c), deren Inhalt auf die Zellen mit der jeweiligen Adresse 83, 84 und 85 verteilt ist, die Informationseinheit (d, e, f) und die Informationseinheit (g, h, i). Die beiden aneinandergrenzenden Informationseinheiten (a, b, c) und (d, e, f) bilden eine vollständige Information I, wie zum Beispiel ein Passwort.
  • Die Größe der Streuungsmatrix 42 hängt von der Anzahl der Informationseinheiten ab, die im gesicherten RAM-Speicher enthalten sein können, da sie für jede Informationseinheit eine besondere Zelle umfasst. In diesem Beispiel umfasst der gesicherte RAM-Speicher achtundvierzig Zellen, also dreimal weniger Informationseinheiten, d. h. sechzehn Zellen B0 bis BF. Jeder Informationseinheit wird eine Zelle der Streuungsmatrix zugeteilt, die in der entsprechenden Speicherzone einen Rang einnimmt, der eine besondere Funktion eines von der Informationseinheit im gesicherten RAM-Speicher 41 eingenommenen Rangs ist. In diesem Beispiel handelt es sich bei der Funktion um die Identität, so dass jeder Informationseinheit eine Zelle der Streuungsmatrix zugeordnet wird, welche einen gleichen Rang in der betreffenden Speicherzone einnimmt. Zum Beispiel wird der Informationseinheit (a, b, c), welche den Rang 2 im gesicherten RAM-Speicher besitzt, die Zelle B1 zugeordnet, die denselben Rang in der Streuungsmatrix besitzt. In derselben Weise wird die Informationseinheit (d, e, f) der dritten Zelle B2, sowie die Informationseinheit (g, h, i) der fünfzehnten Zelle BE zugeordnet. In einer Variante kann die Funktion G allerdings komplexer sein; hierbei beruht der Rang rj der Zelle der Streuungsmatrix auf einer mathematischen Formel, die ausgehend vom Rang ri der Informationseinheit gemäß der Formel rj = G(ri) ermittelt wird. Im Folgenden kann ein Beispiel aufgeführt werden, bei dem sechzehn Ränge definiert werden: rj = 17 – ri.
  • Gemäß Definition besteht die Adresse einer Informationseinheit aus der Adresse der ersten sie betreffenden Zelle: so ist die Adresse der Informationseinheit (a, b, c) aus 3 83, d. h. die Adresse ihrer ersten die Information enthaltenden Zelle (a), während die Adresse der Informationseinheit (g, h, i) AA ist. In 3 sind die Informationseinheiten an als „logische Adressen" bezeichneten Adressen angeordnet, die den Adressen entsprechen, die man dem tragbaren Objekt bereitstellen muss, damit es diese Informationseinheiten bearbeitet. Gehen wir nun auf ein Initialisierungsverfahren des RAM-Speichers 14 ein, durch das ein Ausgangszustand der Einlagerung der Informationseinheiten im gesicherten RAM-Speicher 41 definiert werden kann. In einer ersten Phase füllt man die Streuungsmatrix 42 mit den Adressen der Informationseinheiten, die im gesicherten RAM-Speicher 41 gespeichert werden können, wobei diese Adressen zufällig gezogen werden. In 4 sind nur drei dieser Adressen dargestellt: AA, 92 und 98. In einer zweiten Phase gibt man die im gesicherten RAM-Speicher 41 zu speichernden Informationseinheiten in Abhängigkeit der in der Streuungsmatrix enthaltenen Adressen ein. Zum Beispiel ordnet man die Informationseinheit (a, b, c) an der in der Zelle der Streuungsmatrix enthaltenen Adresse an, die dieser Informationseinheit zugeordnet ist: wie gesehen, handelt es sich um die Zelle aus Rang 2. Man platziert diese Informationseinheit also an der Adresse AA. Auf dieselbe Weise ordnet man die Informationseinheit (d, e, f) an der Adresse 92 und die Informationseinheit (g, h, i) an der Adresse 98 ein. Die in der Streuungsmatrix aus 4 enthaltenen Adressen werden als „physische Adressen" bezeichnet, da sie die tatsächliche Position der Informationseinheiten im gesicherten RAM-Speicher 41 bestimmen werden. In 4 befindet sich der gesicherte RAM-Speicher 41 tatsächlich in einem „gesicherten" Zustand, da seine Informationseinheiten in Bezug auf den Zustand in 3 zerstreut wurden.
  • Alternativ dazu wird nun ein anderes Initialisierungsverfahren des RAM-Speichers 14 dargestellt. In einer ersten Phase füllt man die Streuungsmatrix mit den logischen Adressen der Informationseinheiten. So bringt man in der ersten Zelle die der ersten Informationseinheit entsprechende Adresse, d. h. 80, an. In der zweiten Zelle bringt man die der zweiten Informationseinheit (a, b, c) entsprechende logische Adresse, d. h. 83 an, usw. In einer zweiten Phase füllt man den gesicherten RAM-Speicher 41 in Abhängigkeit der in der Streuungsmatrix enthaltenen Adressen. Auf diese Weise, die auch in 3 dargestellt ist, setzt man die Informationseinheit (a, b, c) auf den zweiten Rang, die Informationseinheit (d, e, f) auf den dritten Rang usw. In einer dritten Phase zerstreut man schließlich paarweise die Informationseinheiten des gesicherten RAM-Speichers 41, indem ein im Folgenden beschriebenes elementares Vertauschverfahren eingesetzt wird, bis alle Informationseinheiten versetzt worden sind. Alternativ dazu hätte man die erste und zweite Phase austauschen können.
  • Wenn der Mikroprozessor während des Betriebs ein Programm ausführt, das den Zugang zu einer Information wie der vorab genannten Information I unter Angabe der logischen Adressen 83 und 86 erfordert, ruft der Mikroprozessor die Streuungsmatrix 42 ab. Er liest die erste in der Zelle zweiten Ranges geschriebene physische Adresse ab, nämlich AA; anschließend begibt er sich dazu, den Inhalt der Informationseinheit (a, b, c) ausgehend von dieser Adresse im gesicherten RAM-Speicher abzulesen. Anschließend liest er die zweite in der Zelle dritten Ranges geschriebene physische Adresse, nämlich 92; anschließend begibt er sich dazu, ausgehend von dieser Adresse im gesicherten RAM-Speicher den Inhalt der Informationseinheit (d, e, f) abzulesen und dadurch die Information I wiederherzustellen.
  • Gemäß der vorausgehend beschriebenen ersten Ausführungsform streut man die Information im gesicherten RAM-Speicher, indem man deren Struktur verändert, d. h. die Reihenfolge, in der die betreffende Information bildenden Informationseinheiten in den Zellen angeordnet sind, ohne dabei jedoch einen maximalen Streuungsgrad zu erreichen. Im Gegensatz dazu kann mit der Variante aus 5 dieses Ziel erreicht werden. Bei diesem Beispiel entspricht jede Informationseinheit einer einzigen Zelle des gesicherten RAM-Speichers 41: daraus ergibt sich, dass die Streuungsmatrix 44 genau so viele Zellen umfasst wie der gesicherte RAM-Speicher, d. h. achtundvierzig, die zwischen den Adressen B0 und DF angeordnet sind.
  • Nach dem Schreiben aller Adressen der Informationseinheiten in die Streuungsmatrix 44 und anschließender zufälliger Modifikation dieser Adressen, wie für das vorausgehende Beispiel erklärt, erhält man die Streuungsmatrix der 5, auf der nur die physischen Adressen der neun Informationseinheiten (a bis i), die im gesicherten RAM-Speicher der 3 abgebildet sind, dargestellt sind. Zum Beispiel ist die physische Adresse der Informationseinheit (b) in der Zelle desselben Ranges als (b) gespeichert, nämlich des Ranges 5: diese Adresse ist also 96. Ebenso befindet sich die physische Adresse der Informationseinheit (g) in der Zelle DA der Streuungsmatrix und beträgt 9C.
  • Anschließend streut der Mikroprozessor der Karte die Informationseinheiten (a bis i) im gesicherten RAM-Speicher in Abhängigkeit der physischen Adresse, die sich in der Streuungsmatrix 44 befindet. Zum Beispiel wird die Informationseinheit (c) in der Zelle des gesicherten RAM-Speichers 41 gespeichert, deren Adresse in der Zelle B5 der Streuungsmatrix 44 geschrieben ist, nämlich die Adresse 8F. Ebenso hat die Informationseinheit (f) den in der Zelle B8 geschriebenen Wert AB als physische Adresse.
  • Bei diesem zweiten Beispiel ist festzustellen, dass die aus den sechs elementaren Informationen (a bis f), die in 3 angrenzend aufeinander folgen, gebildete Information I derart unterteilt wird, dass die sechs Informationen (a bis f) überhaupt nicht mehr angrenzend sind. Natürlich erhöht diese Eigenschaft die Sicherheit noch stärker, da die Arbeit eines Betrügers die Gruppe von Informationen (a bis f) ausgehend vom gesicherten RAM-Speicher in dem Zustand, in dem sie sich in 5 befindet, wieder herzustellen, noch schwieriger ist als ausgehend vom gesicherten RAM-Speicher in 4. Im Allgemeinen gilt, dass je mehr Zellen in jeder Informationseinheit sind, desto geringer der Schutz der sensiblen Informationen ist.
  • Im Folgenden ist die Adresse jeder Zelle in jeder Zone des RAM-Speichers 14 durch ein in Bezug auf einen Ausgangspunkt bestimmtes Verschieben definiert, wobei der Ausgangspunkt durch die Adresse der ersten Zelle der Zone gebildet wird und zwar aufgrund einer besonderen Adressierungsweise an einen bestimmten Typ von Mikroprozessoren. Alternativ dazu könnte man selbstverständlich eine von den anderen Zellen unabhängige, absolute Adresse jeder Zelle definieren, wie dies in Bezugnahme auf die 3 bis 5 geschehen ist.
  • In Bezugnahme auf 6, die erneut die Struktur des RAM-Speichers aus 5 darstellt, d. h. mit pRamSec als einem Pointer, der die erste Zelle 45 des gesicherten RAM-Speichers auswählt, und pMat als einem Pointer, der die erste Zelle 46 der Streuungsmatrix auswählt. Eine beliebige Zelle der Streuungsmatrix enthält einen eine Verschiebung in Bezug auf den Pointer pRamSec darstellenden Wert. Gehen wir davon aus, dass der Mikroprozessor den Inhalt einer Zelle 47 des gesicherten RAM-Speichers erreichen muss, dessen wie folgt definierte logische Adresse er kennt:
    pRamSec + logische Verschiebung
  • Die entsprechende physische Adresse wird durch:
    pRamSec + physische Verschiebung bestimmt,
    wobei die (physische Verschiebung) dem Inhalt der Zelle 48 der Streuungsmatrix entspricht, die zur Zelle 47 homolog ist, d. h. dieselbe Matrixposition besitzt; die Zelle 48 hat folgende Adresse: pMat + logische Verschiebung.
  • Von hier an kann man die physische Adresse einer zu adressierenden Zelle ausgehend von ihrer logischen Adresse ermitteln: ein Ablesen an dieser physischen Adresse gibt uns also einen an dieser Adresse gespeicherten Wert.
  • Nun wird ein bevorzugtes Verfahren zur Durchführung eines elementaren Vertauschens des Inhalts zweier zufällig gezogener Zellen des gesicherten RAM-Speichers in Anlehnung an die 7 bis 10 beschrieben. Als erstes führt der Mikroprozessor 9, wie durch Schritt 71 in 7 dargestellt, eine zufällige Ziehung zweier Zahlen aus einer Einheit durch, die aus den Adressen aller durch ihre logische Verschiebung definierten Zellen des gesicherten RAM-Speichers 41 besteht; die achtundvierzig Zellen werden durch eine logische Verschiebung mit einem Wert zwischen 0 und 47 definiert. Wenn z. B. die Werte 4 und 8 gezogen werden, werden diese gemäß dem Schritt 72 aus 7 in zwei Zellen C1 und C2 des RAM-Standard-Speichers 43 gespeichert; das Ergebnis wird in 8 dargestellt. In Schritt 73 wird der Inhalt der durch die in der Zelle C1 enthaltene logische Verschiebung markierten Zelle der Streuungsmatrix 44 in einer Zelle C3 des RAM-Standard-Speichers 43 gespeichert: da die logische Verschiebung 4 beträgt, ist die entsprechende logische Adresse in Bezug auf die Zelle B4, deren Inhalt 22 beträgt, pMat + 4. Das Ergebnis ist in 8 dargestellt. In Schritt 74 wird anschließend der Inhalt der durch die Zelle C2 markierten Zelle der Streuungsmatrix in der durch die Zelle C1 markierten Zelle gespeichert: die in der Zelle C2 enthaltene logische Verschiebung beträgt 8 und bezeichnet die Adressenzelle pMat + 8, also die Zelle B8. Ihr Inhalt 43 wird in der Adressenzelle pMat + 4 angeordnet, also in der Zelle B4. Das Ergebnis ist in 9 dargestellt. Schließlich wird in Schritt 75 der Inhalt der Zelle C3 in der durch den Inhalt von Zelle C2 markierten Zelle der Streuungsmatrix 44 gespeichert, nämlich der logischen Adressenzelle pMat + 8, also in der Zelle B8. Das Ergebnis ist in 10 dargestellt. Sieht man sich die 8 und 10 an, kann man feststellen, dass die Werte der logischen Verschiebung 22 und 43 ausgewechselt wurden.
  • Nachdem es zu einem Vertauschen der Adressen in der Streuungsmatrix 44 gekommen ist, muss nun auch ein entsprechendes Vertauschen der diesen Adressen im gesicherten RAM-Speicher 41 zugeordneten Daten vorgenommen werden. In Schritt 111 in 11 wird der Inhalt der Zelle des gesicherten RAM-Speichers 41 abgelesen, deren logische Adresse durch den Inhalt von Zelle C1 definiert wird. Der Wert der logischen Verschiebung 4 verweist auf die Zelle B4 der Streuungsmatrix, die die physische Verschiebung 43 enthält: die entsprechende Adresse im gesicherten RAM-Speicher 41 ist also pRamSec + 43, was der Zelle AB entspricht. In Schritt 112 wird der Inhalt dieser Zelle, wie in 12 dargestellt, in der Zelle C3 gespeichert. In Schritt 113 liest der Mikroprozessor den Inhalt der Zelle des gesicherten RAM-Speichers 41 ab, deren Adresse durch den Inhalt von Zelle C2 definiert ist. Der Wert 8 verweist auf die Zelle B8 der Streuungsmatrix, weiche die physische Verschiebung 22 enthält: die entsprechende Adresse im gesicherten RAM- Speicher 41 ist also pRamSec + 22, was der Zelle 96 entspricht und den Wert b enthält. In Schritt 114 wird dieser Wert in der Zelle des gesicherten RAM-Speichers 41 gespeichert, deren logische Verschiebung in der Zelle C1 gespeichert ist; die logische Verschiebung 4 entspricht der physischen Verschiebung 43, die wiederum die Zelle AB des gesicherten RAM-Speichers 41 bezeichnet. Das Ergebnis ist in 13 dargestellt. Schließlich speichert der Mikroprozessor in Schritt 115 den Inhalt f der Zelle C3 in der Zelle des gesicherten RAM-Speichers 41 mit der in Zelle C2 gespeicherten logischen Verschiebung, wobei es sich um die Adressenzelle 96 handelt. Das Ergebnis ist in 14 gezeigt. Durch Vergleich der 12 und 14 kann man feststellen, dass die Werte b, f tatsächlich vertauscht wurden.
  • In 14 kann man die Übereinstimmung zwischen den vertauschten Adressen der Streuungsmatrix und den vertauschten Werten des gesicherten RAM-Speichers 41 nachvollziehen. Zum Beispiel hat der Wert (f) gemäß 3 eine durch die logische Verschiebung 8 definierte Adresse, nämlich die physische Verschiebung 22 in 14. Es ist festzustellen, dass der Wert f sich sehr wohl in der Zelle 96 befindet, die diese physische Verschiebung besitzt.
  • In der Praxis führt der Mikroprozessor nicht nur eine, sondern eine bestimmte Anzahl von elementaren Vertauschungen durch, die gemäß dem Verfahren aus 15 eine so genannte „Mehrfach"-Vertauschung bilden. In Schritt 151 zieht der Mikroprozessor eine Zufallszahl AL1: normalerweise kann diese Zahl zum Beispiel zwischen 0 und 256 liegen. In Schritt 152 initialisiert der Mikroprozessor einen Zähler mit dem Wert AL1. In Schritt 153 prüft der Mikroprozessor, ob der Zähler einen positiven Wert hat. Ist dies der Fall, führt er gemäß dem Verfahren aus 7 und 11 eine elementare Vertauschung durch und zieht dazu zwei Zufallszahlen zwischen 0 und 47. In Schritt 155 dekrementiert der Mikroprozessor den Zähler um eine Einheit und kehrt dann zu Schritt 153 zurück. Nachdem der Zähler den Wert 0 erreicht hat, kommt er zum Schluss der in 156 gekennzeichneten Mehrfach-Vertauschung.
  • Das soeben beschriebene Verfahren der Mehrfachvertauschung bzw. Regenerierungsverfahren der Streuungsmatrix, wird zu unterschiedlichen Momenten ausgelöst: als erstes nach jedem erneuten Unterspannungssetzen der Karte, dann auch im Laufe einer Anwendungssitzung der Karte zu bestimmten kritischen Augenblicken, z. B. wenn eine sensible Information bearbeitet wird. So setzt das Laden des PIN-Codes (aus dem Englischen Personal Identification Number) im gesicherten RAM-Speicher 41 die Übertragung von acht Bytes an diesen Speicher voraus: man entscheidet, nach Laden jedes Bytes des PIN-Codes eine Regenerierung der Streuungsmatrix auszulösen. Ein anderes Beispiel ist, wenn in einem Sicherheitsregister der Karte eine Anomalie festgestellt wird. Es wird darauf hingewiesen, dass eine Karte auf an sich bekannte Weise eine Vielzahl von Sensoren enthält, mit denen diverse physikalische Eigenschaften der Karte getestet werden können, z. B. ihre Temperatur, der Strahlungsgrad, dem sie eventuell ausgesetzt ist, die elektrische Kontinuität einer Abschirmung gegen mechanische Eingriffe usw. Der Zustand, in dem sich diese Sensoren zu einem bestimmten Zeitpunkt befinden, wird im besagten Sicherheitsregister aufgezeichnet. Man kann entscheiden, zu bestimmten kritischen Zeitpunkten, z. B. vor der Bearbeitung einer sensiblen Information, den Zustand des Sicherheitsregisters zu testen und eine Regenerierung der Streuungsmatrix auslösen, wenn eine Anomalie festgestellt wird.
  • Gemäß einer Variante der Erfindung befindet sich die Streuungsmatrix in einem Speicher der Karte oder des Sicherheitsmoduls, der sich von dem den gesicherten Speicher bildenden unterscheidet. Dies ist besonders vorteilhaft, wenn man den gesicherten Speicher schonen will. Zum Beispiel könnte in Bezugnahme auf 1 die Streuungsmatrix im nicht-flüchtigen Speicher 10 sein.
  • Es ist festzustellen, dass ein vorteilhaftes Ergebnis der Erfindung darin liegt, dass die Zeit, die der Mikroprozessor braucht, um zu einer beliebigen der im gesicherten RAM-Speicher 41 gespeicherten Informationen zugreifen zu können, konstant ist. Dies wird dadurch erreicht, dass man die Informationseinheiten unter Anwendung einer Matrixübereinstimmung (Übereinstimmung zwischen den Zellen des gesicherten RAM-Speichers 41 und denen der Streuungsmatrix) ihren Adressen zuordnet. Dies hindert jeden den Mikroprozessor beobachtenden Betrüger die einzelnen Zugriffe auf verschiedene Informationseinheiten auseinander halten zu können. Könnte er diese unterscheiden, würden ihm Hinweise über die bearbeiteten Informationen vorliegen.

Claims (12)

  1. Sicherheitsmodul mit Datenverarbeitungsmittel (9) und Datenspeichermittel (10, 14), dadurch gekennzeichnet, dass die Datenverarbeitungsmittel (9) folgende Elemente umfassen: – Mittel zum Definieren in den Speichermitteln (10, 14) einer ersten Speicherzone (41) zur Speicherung von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind; – Mittel zum Definieren in den Speichermitteln (10, 14) einer zweiten Speicherzone (42) zur Speicherung der physischen Adressen (AA, 92) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängig ist.
  2. Datenspeicherverfahren in Datenspeichermittel eines Sicherheitsmoduls, dadurch gekennzeichnet, dass es folgende Schritte umfasst, die in folgendem bestehen: – Definieren in den Speichermitteln (10, 14) einer ersten Speicherzone (41) zur Speicherung von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind; – Definieren in den Speichermitteln (10, 14) einer zweiten Speicherzone (42) zur Speicherung der physischen Adressen (AA, 92) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt; – Speichern der Daten in der ersten Speicherzone (41) an einer Stelle, die von deren jeweiligen logischen Adressen abhängt, sowie der logischen Adressen (83, 86) dieser Daten in der zweiten Speicherzone (42) an einer Stelle, die von diesen logischen Adressen abhängt; und – Paarweises Umwandeln der logischen Adressen (83, 86) der Dateneinheiten (a, b, c; d, e, f) in der zweiten Speicherzone (42) zur Definition ihrer physischen Adressen und nach jeder Umwandlung Umwandeln der beiden entsprechenden Dateneinheiten in der ersten Speicherzone (41) oder umgekehrt.
  3. Datenspeicherverfahren in Datenspeichermittel eines Sicherheitsmoduls, dadurch gekennzeichnet, dass es folgende Schritte umfasst, die in folgendem bestehen: – Definieren in den Speichermitteln (10, 14) einer ersten Speicherzone (41) zur Speicherung von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind; – Definieren in den Speichermitteln (10, 14) einer zweiten Speicherzone (42) zur Speicherung der physischen Adressen (AA, 92) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt; – Zufälliges Speichern in der zweiten Speicherzone (42) der logischen Adressen (83, 86) der Daten zur Definition der physischen Adressen dieser Daten; und – Speichern der Daten in der ersten Speicherzone (41) an einer Stelle, die von deren jeweiligen physischen Adressen abhängt.
  4. Datenverarbeitungsverfahren in Datenspeichermittel eines Sicherheitsmoduls, bei dem in den Speichermitteln (10, 14) eine erste Speicherzone (41) zur Speicherung von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind, definiert wurde und in den Speichermitteln (10, 14) eine zweite Speicherzone (42) definiert wurde zur Speicherung der physischen Adressen (83, 86) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt, dadurch gekennzeichnet, dass es den Schritt umfasst, der darin besteht, durch Ablesen des Inhalts der zweiten Speicherzone (42) an einer Stelle, die von der besagten logischen Adresse abhängt, deren physische Adresse (AA, 92) in der zweiten Speicherzone (42) zu entnehmen und dadurch zu jeder durch ihre logische Adresse (83, 86) bezeichnete Information (a, b, c; d, e, f) Zugriff zu haben.
  5. Verarbeitungsverfahren nach Anspruch 4, das den Schritt umfasst, der in der regelmäßigen und zufälligen Änderung der Position der physischen Adressen (AA, 92) der Daten (a, b, c; d, e, f) in der zweiten Speicherzone (42) und in der entsprechenden Änderung der Position der Dateneinheiten in der ersten Speicherzone (41) besteht.
  6. Verarbeitungsverfahren nach Anspruch 5, bei dem die regelmäßige Änderung der Position der physischen Adressen (AA, 92) und der Daten (a, b, c; d, e, f) während der Verarbeitung einer sensiblen Information ausgelöst wird.
  7. Verarbeitungsverfahren nach Anspruch 5, das darin besteht, paarweise die physischen Adressen (AA, 92) der Daten (a, b, c; d, e, f) in der zweiten Speicherzone (42) umzuwandeln und nach jeder Umwandlung die beiden entsprechenden Dateneinheiten in der ersten Speicherzone (41) umzuwandeln.
  8. Verarbeitungsverfahren nach Anspruch 4, bei dem in der ersten Speicherzone (41) Dateneinheiten (a, b, c) gespeichert werden, die kleiner sind als die Daten (a, b, c; d, e, f), wobei besagte Dateneinheiten unter Angabe besagter logischer Adressen (83, 86) zugänglich sind und an einer Stelle gespeichert werden, die durch die besagten physischen Adressen (AA, 92) definiert wird.
  9. Verarbeitungsverfahren nach Anspruch 8, bei dem besagte Speichermittel mehrere Zellen (45, 47) umfassen und jede Dateneinheit eine derartige Größe aufweist, dass sie in einer einzigen Zelle (47) der ersten Speicherzone (41) gespeichert ist und ihre physische Adresse in einer einzigen Zelle (48) der zweiten Speicherzone (42) gespeichert ist.
  10. Computerprogrammprodukt für ein Sicherheitsmodul mit Datenverarbeitungsmitteln (9), dadurch gekennzeichnet, dass besagtes Modul folgende Elemente umfasst: – eine erste Speicherzone (41) zum Speichern von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind – eine zweite Speicherzone (42) zum Speichern der physischen Adressen (AA, 92) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt, und dadurch, dass das Computerprogrammprodukt eine Befehlsreihe umfasst, die bei deren Ausführung auf besagtem Modul folgende Schritte durchführt: – zufälliges Speichern in der zweiten Speicherzone (42) der logischen Adressen (83, 86) der Daten, um die physischen Adressen dieser Daten zu definieren; und – Speichern der Daten in der ersten Speicherzone (41) an einer Stelle, die von deren jeweiligen physischen Adressen abhängt.
  11. Computerprogrammprodukt für ein Sicherheitsmodul mit Datenverarbeitungsmitteln (9), dadurch gekennzeichnet, dass besagtes Modul folgende Elemente umfasst: – eine erste Speicherzone (41) zum Speichern von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind – eine zweite Speicherzone (42) zum Speichern der physischen Adressen (AA, 92) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt, und dadurch, dass das Computerprogrammprodukt eine Befehlsreihe umfasst, die bei deren Ausführung auf besagtem Modul folgende Schritte durchführt: – Speichern der Daten in der ersten Speicherzone (41) an einer Stelle, die von deren jeweiligen logischen Adressen abhängt, sowie der logischen Adressen (83, 86) dieser Daten in der zweiten Speicherzone (42) an einer Stelle, die von diesen logischen Adressen abhängt; und – Paarweises Umwandeln der logischen Adressen (83, 86) der Dateneinheiten (a, b, c; d, e, f) in der zweiten Speicherzone (42), um deren physische Adressen zu definieren und nach jeder Umwandlung Umwandeln der beiden entsprechenden Dateneinheiten in der ersten Speicherzone (41) oder umgekehrt.
  12. Computerprogrammprodukt für ein Sicherheitsmodul mit Datenverarbeitungsmitteln (9), dadurch gekennzeichnet, dass besagtes Modul folgende Elemente umfasst: – eine erste Speicherzone (41) zum Speichern von Daten (a, b, c; d, e, f), die unter Angabe logischer Adressen (83, 86) zugänglich sind – eine zweite Speicherzone (42) zum Speichern der physischen Adressen (AA, 92) dieser Daten, durch die ihre Position in der ersten Speicherzone (41) definiert wird, wobei sich diese physischen Adressen an einer Stelle befinden, die von den jeweiligen logischen Adressen der Daten abhängt, und dadurch, dass das Computerprogrammprodukt eine Befehlsreihe umfasst, die bei deren Ausführung auf besagtem Modul folgenden Schritt durchführt: – Zugang zu jeder durch ihre logische Adresse (83, 86) bezeichnete Information (a, b, c; d, e, f), indem durch Ablesen des Inhalts der zweiten Speicherzone (42) an einer Stelle, die von der besagten logischen Adresse abhängt, deren physische Adresse (AA, 92) in der zweiten Speicherzone (42) entnommen wird.
DE69916795T 1998-12-11 1999-12-10 Verfahren zur speicherung und zum betrieb von informationseinheiten in einem sicherheitsmodul, und zugehöriges sicherheitsmodul Expired - Lifetime DE69916795T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9815650 1998-12-11
FR9815650A FR2787216B1 (fr) 1998-12-11 1998-12-11 Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe
PCT/FR1999/003086 WO2000036511A1 (fr) 1998-12-11 1999-12-10 Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe

Publications (2)

Publication Number Publication Date
DE69916795D1 DE69916795D1 (de) 2004-06-03
DE69916795T2 true DE69916795T2 (de) 2005-03-31

Family

ID=9533861

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69916795T Expired - Lifetime DE69916795T2 (de) 1998-12-11 1999-12-10 Verfahren zur speicherung und zum betrieb von informationseinheiten in einem sicherheitsmodul, und zugehöriges sicherheitsmodul

Country Status (6)

Country Link
US (1) US7003673B1 (de)
EP (1) EP1055174B1 (de)
AT (1) ATE265708T1 (de)
DE (1) DE69916795T2 (de)
FR (1) FR2787216B1 (de)
WO (1) WO2000036511A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2305078A1 (en) * 2000-04-12 2001-10-12 Cloakware Corporation Tamper resistant software - mass data encoding
US6792528B1 (en) * 2000-05-17 2004-09-14 Chien-Tzu Hou Method and apparatus for securing data contents of a non-volatile memory device
JP4683442B2 (ja) 2000-07-13 2011-05-18 富士通フロンテック株式会社 処理装置および集積回路
CA2326036A1 (en) 2000-11-16 2002-05-16 Gemplus S.A. Method for securing electronic device data processing
TWI259366B (en) * 2002-02-20 2006-08-01 Nagracard Sa Data block storing method in a memory
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
US20050283566A1 (en) * 2003-09-29 2005-12-22 Rockwell Automation Technologies, Inc. Self testing and securing ram system and method
US20070174910A1 (en) * 2005-12-13 2007-07-26 Zachman Frederick J Computer memory security platform
JP4583305B2 (ja) * 2005-12-28 2010-11-17 シャープ株式会社 記録方法、記録装置及びicカード
WO2009101483A1 (en) * 2008-02-15 2009-08-20 Freescale Semiconductor, Inc. Semiconductor device and method for storing data
WO2015144764A1 (de) * 2014-03-26 2015-10-01 Continental Teves Ag & Co. Ohg Verfahren und system zur verbesserung der datensicherheit bei einem kommunikationsvorgang

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064558A (en) * 1976-10-22 1977-12-20 General Electric Company Method and apparatus for randomizing memory site usage
US4461001A (en) * 1982-03-29 1984-07-17 International Business Machines Corporation Deterministic permutation algorithm
JP2635058B2 (ja) * 1987-11-11 1997-07-30 株式会社日立製作所 アドレス変換方式
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
FR2690540B1 (fr) * 1992-04-27 1994-06-10 Gemplus Card Int Procede de securisation de programmes executables contre l'utilisation par une personne non habilitee et systeme securise pour la mise en óoeuvre du procede.
WO1993023806A1 (en) * 1992-05-12 1993-11-25 International Business Machines Corporation Method and apparatus for reducing memory wearout in a computer system

Also Published As

Publication number Publication date
FR2787216B1 (fr) 2001-07-27
US7003673B1 (en) 2006-02-21
ATE265708T1 (de) 2004-05-15
FR2787216A1 (fr) 2000-06-16
DE69916795D1 (de) 2004-06-03
EP1055174B1 (de) 2004-04-28
WO2000036511A1 (fr) 2000-06-22
EP1055174A1 (de) 2000-11-29

Similar Documents

Publication Publication Date Title
DE2948159C2 (de) Integrierter Speicherbaustein mit wählbaren Betriebsfunktionen
DE3885123T2 (de) Anordnung und Verfahren für Kryptographie mit Anwendung.
DE69916795T2 (de) Verfahren zur speicherung und zum betrieb von informationseinheiten in einem sicherheitsmodul, und zugehöriges sicherheitsmodul
DE3736882C2 (de) Verfahren zur Echtheitsprüfung eines Datenträgers mit integriertem Schaltkreis
DE2810168A1 (de) Verfahren zum sichern eines computerprogramms gegenueber entnahme bzw. wiedergabe durch einen benutzer sowie vorrichtung zur durchfuehrung des verfahrens
EP1183690B1 (de) Speicheranordnung mit adressverwürfelung
DE69419967T2 (de) Chip von IC Karte mit Mitteln zur Begrenzung der Anzahl von Authentifizierungen
EP1065598A1 (de) Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür
EP0981115B1 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE3318101A1 (de) Schaltungsanordung mit einem speicher und einer zugriffskontrolleinheit
DE19627820A1 (de) Speichertestvorrichtung
DE69130750T2 (de) Mikrokomputer, der ROM-Datenschutzfunktion hat
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
EP1080454B1 (de) Zugriffsgeschützter datenträger
EP0127809B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
DE19626972A1 (de) Verfahren und Vorrichtung zur vorläufigen Freigabe für die Anwendung eines von einer elektronischen Kassette geschützten Programms
DE60013518T2 (de) Versicherte Personalisierung von Chipkarten
DE10340861A1 (de) Prozessorschaltung und Verfahren zum Zuordnen eines Logikchips zu einem Speicherchip
DE60223703T2 (de) Authentisierungsprotokoll mit speicherintegritaetsverifikation
DE112018001249T5 (de) Vorrichtung, system und verfahren für eine integrierte schaltung
DE102013014587A1 (de) Verfahren zum IT-Schutz sicherheitsrelevanter Daten und ihrer Verarbeitung
DE69909118T2 (de) Vorrichtung und verfahren zur sicherung einer integrierten schaltung
DE69738548T2 (de) Dynamisches dateninterpretationsverfahren für eine chipkarte
DE69820080T2 (de) Verfahren zum schreiben von binären datenwörtern mittels elektrisch-programmierbarer und löschbarer speicherzellen
EP0476283B1 (de) Verfahren zur Verschleierung einer Eingabe bei einem Tastatureingabegerät für sicherheitsrelevante Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition