DE10254320A1 - Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls - Google Patents

Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls Download PDF

Info

Publication number
DE10254320A1
DE10254320A1 DE10254320A DE10254320A DE10254320A1 DE 10254320 A1 DE10254320 A1 DE 10254320A1 DE 10254320 A DE10254320 A DE 10254320A DE 10254320 A DE10254320 A DE 10254320A DE 10254320 A1 DE10254320 A1 DE 10254320A1
Authority
DE
Germany
Prior art keywords
memory module
code
rom
module
data
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.)
Withdrawn
Application number
DE10254320A
Other languages
English (en)
Inventor
Wolfgang Buhr
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Intellectual Property and Standards GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Intellectual Property and Standards GmbH filed Critical Philips Intellectual Property and Standards GmbH
Priority to DE10254320A priority Critical patent/DE10254320A1/de
Priority to AU2003276575A priority patent/AU2003276575A1/en
Priority to PCT/IB2003/005209 priority patent/WO2004046935A2/en
Priority to JP2004553018A priority patent/JP4611027B2/ja
Priority to US10/535,370 priority patent/US7395165B2/en
Priority to EP03811456A priority patent/EP1565802A2/de
Priority to CNB2003801039441A priority patent/CN100397284C/zh
Publication of DE10254320A1 publication Critical patent/DE10254320A1/de
Priority to US12/125,737 priority patent/US8155309B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Abstract

Um eine Schaltungsanordnung (100) zur elektronischen Datenverarbeitung DOLLAR A - mit mindestens einem nicht-flüchtigen Speichermodul (10) zum Speichern von mittels Verschlüsseln bzw. Entschlüsseln gegen unberechtigten Zugriff zu schützenden Daten; DOLLAR A - mit mindestens einer dem Speichermodul (10) zugeordneten Speichermodul-Schnittstellenlogik (12) DOLLAR A -- zum Adressieren des Speichermoduls (10) sowie DOLLAR A -- zum Schreiben der Daten auf das Speichermodul (10) bzw. DOLLAR A -- zum Auslesen der Daten aus dem Speichermodul (10); DOLLAR A - mit mindestens einem Code-R[ead]O[nly]M[emory]-Modul (20) zum Speichern und/oder zum Bereitstellen mindestens eines R[ead]O[nly]M[emory]-Codes und mit mindestens einer dem Code-ROM-Modul (20) zugeordneten Code-ROM-Modul-Schnittstellenlogik (22) DOLLAR A -- zum Adressieren des Code-ROM-Moduls (20) sowie DOLLAR A -- zum Auslesen des ROM-Codes aus dem Code-ROM-Modul (20) DOLLAR A sowie ein hierauf bezogenes Ver-/Entschlüsselungsverfahren so weiterzubilden, dass einerseits ein Wechsel der Schlüsselcodes für verschiedene Controller-Versionen mit unterschiedlichen ROM-Codes erfolgen kann und andererseits die Länge der Schlüsselcodes nicht limitiert ist, wird vorgeschlagen, dass die dem Speichermodul (10) zugeordneten Daten mittels des vom Code-ROM-Modul (20) bereitgestellten ROM-Codes verschlüsselt bzw. entschlüsselt werden.

Description

  • Die vorliegende Erfindung betrifft eine Schaltungsanordnung zur elektronischen Datenverarbeitung
    • – mit mindestens einem nicht-flüchtigen Speichermodul zum Speichern von mittels Ver-/Entschlüsseln gegen unberechtigten Zugriff zu schützenden Daten;
    • – mit mindestens einer dem Speichermodul zugeordneten Speichermodul-Schnittstellenlogik
    • – zum Adressieren des Speichermoduls,
    • – zum Schreiben der Daten auf das Speichermodul sowie
    • – zum Lesen der Daten vom Speichermodul;
    • – mit mindestens einem Code-R[ead]O[nly]M[emory]-Modul zum Speichern mindestens eines R[ead]O[nly]M[emory]-Codes; und
    • – mit mindestens einer dem Code-ROM-Modul zugeordneten Code-ROM-Modul-Schnittstellenlogik
    • – zum Adressieren des Code-ROM-Moduls sowie
    • – zum Lesen des ROM-Codes vom Code-ROM-Modul.
  • Die vorliegende Erfindung betrifft des weiteren ein Verfahren zum Ver-/Entschlüsseln von gegen unberechtigten Zugriff zu schützenden Daten mindestens eines nichtflüchtigen Speichermoduls.
  • Konventionellerweise werden für die Verschlüsselung bzw. Entschlüsselung von Inhalten eines nicht-flüchtigen Speichermoduls (sogenanntes N[on]V[olatile]-Memory) erforderliche Schlüsselcodes entweder hard-codiert, mittels speziell hierfür instanziierten Fuse-Zellen definiert oder in einem speziell geschützten Bereich des nicht-flüchtigen Speichermoduls selbst abgelegt.
  • Jede dieser bekannten Vorgehensweisen birgt jedoch Nachteile in sich: So kann bei hardcodierten Schlüsseln kein Wechsel der Schlüsselcodes für verschiedene Controller-Versionen mit unterschiedlichen ROM-Codes erfolgen; bei der flexibleren Definition der Schlüsselcodes in Fuse-Zellen oder im Falle geschützter E[lectrical] E[rasable] P[rogrammable] R[ead]O[nly]M[emory]-Bereiche ist die Schlüssellänge infolge des Zell- bzw. Flächenaufwands begrenzt.
  • Ausgehend von den vorstehend dargelegten Nachteilen und Unzulänglichkeiten sowie unter Würdigung des umrissenen Standes der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, eine Schaltungsanordnung der eingangs genannten Art sowie ein hierauf bezogenes Ver-/Entschlüsselungsverfahren der eingangs genannten Art so weiterzubilden, dass einerseits ein Wechsel der Schlüsselcodes für verschiedene Controller-Versionen mit unterschiedlichen ROM-Codes erfolgen kann und andererseits die Länge der Schlüsselcodes nicht limitiert ist.
  • Diese Aufgabe wird durch eine Schaltungsanordnung mit den im Anspruch 1 angegebenen Merkmalen sowie durch ein hierauf bezogenes Ver-/Entschlüsselungsverfahren mit den im Anspruch 6 angegebenen Merkmalen gelöst. Vorteilhafte Ausgestaltungen und zweckmäßige Weiterbildungen der vorliegenden Erfindung sind in den jeweiligen Unteransprüchen gekennzeichnet.
  • Gemäß der Lehre der vorliegenden Erfindung wird mithin ein völlig neuartiger Ansatz zum Erzeugen mindestens eines insbesondere langen Schlüssels für die Ver-/Entschlüsselung mindestens eines nicht-flüchtigen Speichermoduls (sogenanntes "N[on]V[olatile]-Memory") aus R[ead]O[nly]M[emory]-Code-Daten, zum Beispiel für eingebettete Sicherheitscontroller ("embedded security controller"), offenbart.
  • Für diese Ver-/Entschlüsselung des NV-Memory-Moduls wird der Schlüsselcode aus dem dem (Mikro-)Controller zur Verfügung stehenden ROM-Code extrahiert, der aus Sicht des NV-Memory-Moduls eine Konstante ist; auf diese Weise wird ein Schlüsselcode generiert, der mit bis zu einem Byte Schlüssel pro einem Byte plain/cipher-text als relativ lang bezeichnet werden kann.
  • Gemäß einer besonders erfinderischen Weiterbildung kann das Generieren des Schlüssel(code)s
    • – entweder durch zum Schreiben bzw. zum Lesen des nicht-flüchtigen Speichermoduls paralleles Auslesen des ROM-Codes aus dem Code-ROM-Modul
    • – oder durch einmaliges Auslesen bestimmter ROM-Code-Bytes zum Zeitpunkt der sogenannten "reset sequence" und durch Abspeichern dieser ROM-Code-Bytes in mindestens einem Schlüsselregister (sogenanntes "key register"), bis die ROM-Code-Bytes für mindestens eine Schreiboperation bzw. Leseoperation des NV-Memory-Moduls benötigt werden,
    erfolgen.
  • Gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung läßt sich die Qualität des Schlüsselcodes durch ergänzende oder zusätzliche Maßnahmen, wie zum Beispiel durch mindestens eine zusätzliche Adreßabhängigkeit oder durch Verwürfelung mittels mindestens einer Verwürfelungslogik, noch verbessern, was dann der relativ regelmäßigen Struktur von ROM-Codes entgegenwirkt.
  • In zweckmäßiger Weise ist die vorstehend dargelegte Erfindung methodisch nicht auf bestimmte Ver-/Entschlüsselungsverfahren beschränkt, sondern kann in bezug auf die Schlüssellänge und/oder in bezug auf die Qualität an die jeweiligen Erfordernisse des eingesetzten Verfahrens angepaßt werden.
  • Durch die doppelte Nutzung des ROM-Codes als Quelle für lange Schlüsselcodes wird die Sicherheit der Verschlüsselung bzw. Entschlüsselung des nicht-flüchtigen Speichermoduls, das heißt des sogenannten "N[on]V[olatile]-Memory" durch größere Schlüssellängen erhöht, ohne daß eine derartige größere Schlüssellänge auch einen entsprechenden zusätzlichen Flächenaufwand für die Speicherung dieser Schlüsselcodes zur Folge hätte.
  • Des weiteren wird der Fachmann auf dem Gebiet der Kryptologie insbesondere zu schätzen wissen, daß die erfindungsgemäß generierten Schlüsselcodes vom ROM-Code des Code-ROM-Moduls abhängig sind, das heißt sich mit wechselnden ROM-Codes ändern.
  • Die vorliegende Erfindung betrifft des weiteren einen Mikrocontroller, insbesondere "embedded security controller", aufweisend mindestens eine Datenverarbeitungseinrichtung gemäß der vorstehend dargelegten Art. Dementsprechend kann die vorbeschriebene Methode in bevorzugter Weise zum Beispiel in alle SmartCard-Entwicklungen eingebaut werden.
  • Die vorliegende Erfindung betrifft schließlich die Verwendung mindestens einer Schaltungsanordnung gemäß der vorstehend dargelegten Art in mindestens einer Chipeinheit, insbesondere in mindestens einem "embedded security Controller".
  • Wie bereits vorstehend erörtert, gibt es verschiedene Möglichkeiten, die Lehre der vorliegenden Erfindung in vorteilhafter Weise auszugestalten und weiterzubilden. Hierzu wird einerseits auf die dem Anspruch 1 sowie dem Anspruch 6 nachgeordneten Ansprüche verwiesen, andererseits werden weitere Ausgestaltungen, Merkmale und Vorteile der vorliegenden Erfindung nachstehend anhand des durch 1 veranschaulichten Ausführungsbeispiels näher erläutert.
  • Es zeigt:
  • 1 in schematischer Blockdarstellung ein Ausführungsbeispiel für eine Schaltungsanordnung gemäß der vorliegenden Erfindung, mittels derer das Ver-/Entschlüsselungsverfahren gemäß der vorliegenden Erfindung durchgeführt werden kann.
  • In 1 ist ein Ausführungsbeispiel einer Schaltungsanordnung 100 zur elektronischen Datenverarbeitung dargestellt; im speziellen ist die Schaltungsanordnung 100 zur Verwendung in einem Mikrocontroller der Art "embedded security controller" vorgesehen.
  • Diese Schaltungsanordnung 100 weist ein mehrkomponentiges nicht-flüchtiges Speichermodul 10 (sogenanntes "N[on]V[olatile]-Memory") auf, das als E[lectrical] E[rasable] P[rogrammable]R[ead]O[nly]M[emory] ausgebildet ist und mittels dessen Daten gespeichert werden können, die durch Verschlüsseln bzw. Entschlüsseln vor unberechtigtem Zugriff zu schützen sind.
  • Diesem N[on]V[olatile]-Speichermodul 10 ist eine Speichermodul-Schnittstellenlogik 12 zugeordnet, mittels derer
    • – das Speichermodul 10 adressiert werden kann (→ Bezugszeichen 120a: Adressdaten "ADDR(a:0)" von der Speichermodul-Schnittstellenlogik 12 zum Speichermodul 10),
    • – das Speichermodul 10 beschrieben werden kann (→ Bezugszeichen 120w: Signaldaten "DIN(d:0)" von der Speichermodul-Schnittstellenlogik 12 zum Speichermodul 10) und
    • – das Speichermodul 10 ausgelesen werden kann (→ Bezugszeichen 120r: Signaldaten "DOUT(d:0)" vom Speichermodul 10 zur Speichermodul-Schnittstellenlogik 12).
  • Des weiteren weist die Schaltungsanordnung 100 ein Code-R[ead]O[nly]M[emory]-Modul 20 zum Speichern und zum Bereitstellen von R[ead]O[nly]M[emory]-Codes auf. Diesem Code-ROM-Modul 20 ist eine Code-ROM-Modul-Schnittstellenlogik 22 zugeordnet, mittels derer
    • – das Code-ROM-Modul 20 adressiert werden kann (→ Bezugszeichen 220a: Adressdaten "A" von der Code-ROM-Modul-Schnittstellenlogik 22 zum Code-ROM-Modul 20) und
    • – das Code-ROM-Modul 20 ausgelesen werden kann (→ Bezugszeichen 220r: ROM-Code-Daten bzw. ROM-Code-Bytes "DO" vom Code-ROM-Modul 20 zur Code-ROM-Modul-Schnittstellenlogik 22).
  • Die Besonderheit der Schaltungsanordnung 100 gemäß 1 ist nun darin zu sehen, daß die Schlüsselcodes zum Verschlüsseln bzw. zum Entschlüsseln der dem Speichermodul 10 zugeordneten Daten aus dem ROM-Code des Code-ROM-Moduls 20 extrahierbar und generierbar sind.
  • Hierzu weist die Speichermodul-Schnittstellenlogik 12 eine Ver-/Entschlüsselungslogik 14 mit einer Schlüsseladressierungserzeugungseinheit 16 und mit einem Schlüsselregister 18 auf. Die Schlüsseladressierungserzeugungseinheit 16 ist in diesem Zusammenhang dafür vorgesehen, daß im Falle eines Schreib- oder Lesezugriffs auf das Speichermodul 10 unter Verwendung einer von der C[entrat]P[rocessing]U[nit] kommenden Speichermoduladressierung (→ Bezugszeichen C12a: Adreßdaten "CPU NV addr" von der CPU zur Speichermodul-Schnittstellenlogik 12) eine ROM-Schlüsseladressierung (→ Bezugszeichen 162a: ROM-Schlüssel-Adressdaten von der Schlüsseladressierungserzeugungseinheit 16 zu einer Multiplexeinheit 24 der Code-ROM-Modul-Schnittstellenlogik 22) erzeugt wird.
  • Diese in der Code-ROM-Modul-Schnittstellenlogik 22 integrierte Multiplexeinheit 24 nimmt nicht nur eine ROM-Schlüsseladressierung der Schlüsseladressierungserzeugungseinheit 16 auf, sondern auch die von der CPU kommenden Adressierungsdaten (→ Bezugszeichen C22a: CPU-ROM-Adressdaten "CPU ROM addr" von der CPU zur Multiplexeinheit 24 der Code-ROM-Modul-Schnittstellenlogik 22).
  • Daraufhin wird mittels der ROM-Schlüsseladressierung der ROM-Code vom Code-ROM-Modul 20 geholt und als Ver-/Entschlüsselungsschlüssel zum Verschlüsseln bzw. Entschlüsseln
    • – der Adressdaten "CPU NV addr" von der CPU über die Speichermodul-Schnittstellenlogik 12 zum Speichermodul 10 (→ Bezugszeichen C12a),
    • – der Signaldaten "CPU NV write data" von der CPU über die Speichermodul-Schnittstellenlogik 12 zum Speichermodul 10 (→ Bezugszeichen C12w) und
    • – der Signaldaten "CPU NV read data" vom Speichermodul 10 über die Speichermodul-Schnittstellenlogik 12 zur CPU (→ Bezugszeichen C12r)
    verwendet.
  • Mithin besteht der Kern der vorliegenden Erfindung darin, daß mittels der Schaltungsanordnung 100 gemäß 1 ein Verfahren zum Verschlüsseln bzw. Entschlüsseln von gegen unberechtigten Zugriff zu schützenden Daten des nicht-flüchtigen Speichermoduls 10 durchgeführt werden kann, wobei die dem Speichermodul 10 zugeordneten Daten mittels des vom Code-ROM-Modul 20 bereitgestellten ROM-Codes verschlüsselt bzw. entschlüsselt werden.
  • Die Qualität des generierten Schlüsselcodes kann durch Verwürfelung mittels einer an sich bekannten (vgl. Druckschrift DE 199 01 829 A1 aus dem Stand der Technik) und in 1 aus Gründen der Übersichtlichkeit der Darstellung nicht explizit gezeigten Verwürfelungslogik noch verbessert werden, was dann der relativ regelmäßigen Struktur der vom Code-ROM-Modul 20 bereitgestellten ROM-Codes entgegenwirkt.
  • Diese Verwürfelungslogik umfaßt
    • – eine Vertauschungsstufe zum Vertauschen verschiedenwertiger Bits der der Verwürfelungslogik zugeführten Adreßsignale "ADDR(a:0)" und/oder Datensignale "DIN(d:0)" bzw. "DOUT(d:0)" untereinander,
    • – eine Invertierungsstufe zum Invertieren der Werte der Bits der Adreßsignale "ADDR(a:0)" und/oder Datensignale "DIN(d:0)" bzw. "DOUT(d:0)", wobei die Vertauschungsstufe und die Invertierungsstufe durch die Verwürfelungsmustersignale gesteuert werden, sowie
    • – eine Dekodierstufe zum Gewinnen von Steuersignalen für die Vertauschungsstufe und die Invertierungsstufe aus den Verwürfelungsmustersignalen.
  • Hinsichtlich der Erzeugung des zum Verschlüsseln bzw. Entschlüsseln dienenden Schlüsselcodes werden gemäß der vorliegenden Erfindung grundsätzlich zwei Varianten (i) und (ii) unterschieden:
    • (i) Erzeugung des Schlüsselcodes parallel zum NV-Memory-Zugriff, das heißt durch Auslesen des ROM-Codes parallel zu einem Schreib-/Auslesezugriff auf das Speichermodul 10: Hierbei erhält die Ver-/Entschlüsselungslogik 14 im jeweiligen Interface (= Speichermodul-Schnittstellenlogik 12) des NV-Memory 10 direkten Zugriff auf die unverschlüsselten Ausgangsdaten 220r des Code-ROM-Moduls 20. Parallel zu jedem Schreibzugriff (→ Bezugszeichen 120w) auf das NV-Memory 10 bzw. zu jedem Lesezugriff(→ Bezugszeichen 120r) auf das Seitenregister des NV-Memory 10 wird auch ein Byte des ROM-Codes aus dem Code-ROM-Modul 20 ausgelesen. Die ROM-Code-Adresse 220a, von der ausgelesen wird, wird durch die Schlüsseladressierungserzeugungseinheit 16 der Ver-/Entschlüsselungslogik 14 bestimmt, hat aber eindeutig und wiederholbar für jede NV-Memory-Adresse 120a zu sein. Für die Verschlüsselung (bei einem Schreibzugriff oder "write access"; Bezugszeichen 120w) bzw. Entschlüsselung (bei einem Lesezugriff oder "read access"; Bezugszeichen 120r) der NV-Memory-Daten "DIN(d:0)" bzw. "DOUT(d:0)" wird dann dieses ROM-Code-Byte als Schlüsselbyte oder als Teil des Schlüsselbytes benutzt, so daß sich im Extremfall ein Schlüsselraum ergibt, der genau denselben Umfang wie der Code-Raum des nicht-flüchtigen Speichermoduls (= N[on]V[olatile]-Memory) 10 aufweist.
    • (ii) Erzeugung des Schlüsselcodes in der Reset-Phase, das heißt durch einmaliges Auslesen bestimmter ROM-Code-Bytes, insbesondere zum Zeitpunkt der Resetfolge (sogenannte "reset sequence"), und durch Abspeichern dieser ROM-Code-Bytes im Schlüsselregister 18 bis zu einem Schreib-/Auslesezugriff auf das Speichermodul 10, das heißt bis diese ROM-Code-Bytes für eine Schreiboperation bzw. Ausleseoperation des Speichermoduls 10 benötigt werden: Als Teil der "reset sequence" des Controllers wird eine Anzahl von ROM-Code-Bytes aus dem Code-ROM-Modul 20 ausgelesen und in Schlüsselregistern 18 gespeichert. Im Falle eines Schreib- bzw. Auslesezugriffs (sogenannter "write access" bzw. "read access") auf das Speichermodul 10 wird der Inhalt dieser Schlüsselregister 18 als Schlüssel oder als Teil des Schlüssels zur Verschlüsselung bzw. Entschlüsselung der NV-Memory-Daten "DIN(d:0)" bzw. "DOUT(d:0)" verwendet.
  • 100
    Schaltungsanordnung zur elektronischen Datenverarbeitung
    10
    nicht-flüchtiges Speichermodul oder N[on]V[olatile]-Memory
    12
    Speichermodul-Schnittstellenlogik
    14
    Ver-/Entschlüsselungslogik der Speichermodul-Schnittstellenlogik 12
    16
    Schlüsseladressierungserzeugungseinheit der Ver-/Entschlüsselungslogik 14
    18
    Schlüsselregister der Ver-/Entschlüsselungslogik 14
    20
    Code-R[ead]O[nly]M[emory]-Modul
    22
    Code-ROM-Modul-Schnittstellenlogik
    24
    Multiplexeinheit der Code-ROM-Modul-Schnittstellenlogik 22
    120a
    Adressdaten "ADDR(a:0)" von der Speichermodul-Schnittstellenlogik 12 zum
    Speichermodul 10
    120r
    Signaldaten "DOUT(d:0)" vom Speichermodul 10 zur Speichermodul-Schnitt
    stellenlogik 12
    120w
    Signaldaten "DIN(d:0)" von der Speichermodul-Schnittstellenlogik 12 zum
    Speichermodul 10
    162a
    ROM-Schlüssel-Adressdaten von der Schlüsseladressierungserzeugungseinheit
    16 zur Multiplexeinheit 24
    220a
    Adressdaten "A" von der Multiplexeinheit 24 zum Code-ROM-Modul 20
    220r
    ROM-Code-Daten bzw. ROM-Code-Bytes "DO" vom Code-ROM-Modul 20
    zur Code-ROM-Modul-Schnittstellenlogik 22
    C12a
    Adressdaten "CPU NV addr" von der CPU zur Speichermodul-Schnittstellen
    logik 12
    C12r
    Signaldaten "CPU NV read data" von der Speichermodul-Schnittstellenlogik 12
    zur CPU
    C12w
    Signaldaten "CPU NV write data" von der CPU zur Speichermodul-Schnitt
    stellenlogik 12
    C22a
    CPU-ROM-Adressdaten "CPU ROM addr" von der CPU zur Multiplexeinheit 24
    C22r
    ROM-Code-Daten "CPU ROM read data" vom Code-ROM-Modul 20 zur CPU

Claims (10)

  1. Schaltungsanordnung (100) zur elektronischen Datenverarbeitung – mit mindestens einem nicht-flüchtigen Speichermodul (10) zum Speichern von mittels Verschlüsseln bzw. Entschlüsseln gegen unberechtigten Zugriff zu schützenden Daten; – mit mindestens einer dem Speichermodul (10) zugeordneten Speichermodul-Schnittstellenlogik (12) – zum Adressieren des Speichermoduls (10) sowie – zum Schreiben der Daten auf das Speichermodul (10) bzw. – zum Auslesen der Daten aus dem Speichermodul (10); mit mindestens einem Code-R[ead]O[nly]M[emory]-Modul (20) zum Speichern und/oder zum Bereitstellen mindestens eines R[ead]O[nly]M[emory]-Codes; und – mit mindestens einer dem Code-ROM-Modul (20) zugeordneten Code-ROM-Modul-Schnittstellenlogik (22) – zum Adressieren des Code-ROM-Moduls (20) sowie – zum Auslesen des ROM-Codes aus dem Code-ROM-Modul (20), dadurch gekennzeichnet, dass mindestens ein Schlüsselcode zum Verschlüsseln bzw. Entschlüsseln der dem Speichermodul (10) zugeordneten Daten aus dem mindestens einen ROM-Code des Code-ROM-Moduls (20) extrahierbar und/oder generierbar ist.
  2. Schaltungsanordnung gemäß Anspruch 1, dadurch gekennzeichnet, dass die Speichermodul-Schnittstellenlogik (12) mindestens eine Ver-/Entschlüsselungslogik (14) – mit mindestens einer Schlüsseladressierungserzeugungseinheit (16) und – mit mindestens einem Schlüsselregister (18) aufweist.
  3. Schaltungsanordnung gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Code-ROM-Modul-Schnittstellenlogik (22) mindestens eine Multiplexeinheit (24) aufweist.
  4. Schaltungsanordnung gemäß mindestens einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das Speichermodul (10) – als mindestens ein E[rasable] P[rogrammable]R[ead]O[nly]M[emory], – als mindestens ein E[lectrical]E[rasable]P[rogrammable]R[ead]O[nly]M[emory] oder – als mindestens ein Flash-Speicher ausgebildet ist.
  5. Mikrocontroller, insbesondere "embedded security controller", aufweisend mindestens eine Schaltungsanordnung gemäß mindestens einem der Ansprüche 1 bis 4.
  6. Verfahren zum Verschlüsseln bzw. Entschlüsseln von gegen unberechtigten Zugriff zu schützenden Daten mindestens eines nicht-flüchtigen Speichermoduls (10), dadurch gekennzeichnet. dass die dem Speichermodul (10) zugeordneten Daten mittels mindestens eines von mindestens einem Code-R[ead]O[nly]M[emory]-Modul (20) bereitgestellten ROM-Codes verschlüsselt bzw. entschlüsselt werden.
  7. Verfahren gemäß Anspruch 6, dadurch gekennzeichnet, dass der zum Verschlüsseln bzw. Entschlüsseln dienende Schlüsselcode – durch Auslesen des ROM-Codes parallel zu mindestens einem Zugriff auf das Speichermodul (10), das heißt parallel zu mindestens einer Schreiboperation bzw. Ausleseoperation des Speichermoduls (10) oder – durch einmaliges Auslesen bestimmter ROM-Code-Bytes, insbesondere zum Zeitpunkt der Resetfolge (sogenannte "reset sequence"), und durch Abspeichern dieser ROM-Code-Bytes in mindestens einem Schlüsselregister (18) bis zu mindestens einem Zugriff auf das Speichermodul (10), das heißt bis diese ROM-Code-Bytes für mindestens eine Schreiboperation bzw. Ausleseoperation des Speichermoduls (10) benötigt werden, generiert wird.
  8. Verfahren gemäß Anspruch 6 oder 7, dadurch gekennzeichnet, – dass bei einem Zugriff auf das Speichermodul (10) mittels mindestens einer von mindestens einer C[entrat]P[rocessing]U[nit] kommenden Speichermoduladressierung mindestens eine ROM-Schlüsseladressierung erzeugt wird, – dass mittels der ROM-Schlüsseladressierung der ROM-Code vom Code-ROM-Modul (20) geholt wird und – dass der ROM-Code als mindestens ein Ver-/Entschlüsselungsschlüssel zum Verschlüsseln bzw. Entschlüsseln – der Adressierung des Speichermoduls (10) und/oder – der auf das Speichermodul (10) zu schreibenden Daten bzw. – der aus dem Speichermodul (10) auszulesenden Daten verwendet wird.
  9. Verfahren gemäß mindestens einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass – die Adressierung des Speichermoduls (10) und/oder – die auf das Speichermodul (10) zu schreibenden Daten bzw. – die aus dem Speichermodul (10) auszulesenden Daten mittels mindestens einer Verwürfelungslogik verwürfelt werden.
  10. Verwendung mindestens einer Schaltungsanordnung (100) gemäß mindestens einem der Ansprüche 1 bis 4 in mindestens einer Chipeinheit, insbesondere in mindestens einem "embedded security controller".
DE10254320A 2002-11-21 2002-11-21 Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls Withdrawn DE10254320A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE10254320A DE10254320A1 (de) 2002-11-21 2002-11-21 Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls
AU2003276575A AU2003276575A1 (en) 2002-11-21 2003-11-14 Circuit arrangement with non-volatile memory module and method of en-/decrypting data in the non-volatile memory module
PCT/IB2003/005209 WO2004046935A2 (en) 2002-11-21 2003-11-14 Circuit arrangement with non-volatile memory module and method of en-/decrypting data in the non-volatile memory module
JP2004553018A JP4611027B2 (ja) 2002-11-21 2003-11-14 不揮発性メモリモジュールを有する回路構成および不揮発性メモリモジュールにおけるデータの暗号化/暗号解読の方法
US10/535,370 US7395165B2 (en) 2002-11-21 2003-11-14 Circuit arrangement with non-volatile memory module and method of en-/decrypting data in the non-volatile memory module
EP03811456A EP1565802A2 (de) 2002-11-21 2003-11-14 Schaltungsanordnung mit einem nichtfl chtigen speichermodul und verfahren zum ver- bzw. entschl sseln von daten in dem nichtfl chtigen speichermodul
CNB2003801039441A CN100397284C (zh) 2002-11-21 2003-11-14 具有非易失存储器模块的电路装置以及对非易失存储器模块中的数据进行加密/解密的方法
US12/125,737 US8155309B2 (en) 2002-11-21 2008-05-22 Circuit arrangement with non-volatile memory module and method for en-/decrypting data in the non-volatile memory module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10254320A DE10254320A1 (de) 2002-11-21 2002-11-21 Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls

Publications (1)

Publication Number Publication Date
DE10254320A1 true DE10254320A1 (de) 2004-06-03

Family

ID=32240233

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10254320A Withdrawn DE10254320A1 (de) 2002-11-21 2002-11-21 Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls

Country Status (7)

Country Link
US (2) US7395165B2 (de)
EP (1) EP1565802A2 (de)
JP (1) JP4611027B2 (de)
CN (1) CN100397284C (de)
AU (1) AU2003276575A1 (de)
DE (1) DE10254320A1 (de)
WO (1) WO2004046935A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912847A (zh) * 2018-11-09 2021-06-04 华为技术有限公司 空中下载升级的方法及相关装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
EP1768028A1 (de) 2005-09-22 2007-03-28 STMicroelectronics (Research & Development) Limited Peripherieadressierung in einer integrierten Schaltung
US8234505B2 (en) * 2006-01-20 2012-07-31 Seagate Technology Llc Encryption key in a storage system
US8364975B2 (en) 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
CN101431407B (zh) * 2008-12-15 2012-03-28 西安电子科技大学 支持线程级加解密的密码处理器及其密码运算操作方法
TWI427641B (en) * 2009-03-02 2014-02-21 A flash memory with data encryption and the method using the same
KR101565968B1 (ko) * 2009-03-04 2015-11-05 삼성전자주식회사 데이터 보호를 위한 메모리, 이를 포함하는 메모리 시스템 및 이의 동작 방법
JP5423088B2 (ja) * 2009-03-25 2014-02-19 ソニー株式会社 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
US8230495B2 (en) * 2009-03-27 2012-07-24 International Business Machines Corporation Method for security in electronically fused encryption keys
KR101538741B1 (ko) 2009-10-21 2015-07-22 삼성전자주식회사 보안기능을 갖는 데이터 저장매체와 그 출력장치
PL2461265T3 (pl) * 2010-12-03 2019-10-31 Novomatic Ag Urządzenie i sposób obsługi danych wrażliwych
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9465657B2 (en) 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9575903B2 (en) * 2011-08-04 2017-02-21 Elwha Llc Security perimeter
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US10169618B2 (en) * 2014-06-20 2019-01-01 Cypress Semiconductor Corporation Encryption method for execute-in-place memories
GB201511385D0 (en) * 2015-06-29 2015-08-12 Nagravision Sa Secure programming of secret data
CN105097003A (zh) * 2015-09-18 2015-11-25 芯佰微电子(北京)有限公司 一种用于安全芯片的内建密钥只读存储器保护电路
JP7109992B2 (ja) * 2018-05-22 2022-08-01 キオクシア株式会社 メモリシステムおよび制御方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
ES2064432T3 (es) * 1988-02-20 1995-02-01 Fujitsu Ltd Tarjetas de circuito integrado.
JP2534532B2 (ja) * 1988-02-20 1996-09-18 富士通株式会社 履歴管理方式
JPH025158A (ja) * 1988-06-22 1990-01-10 Fujitsu Ltd 拡張icカード及びそのアクセス法
US5063596A (en) * 1989-02-24 1991-11-05 Miu Automation Corporation Encryption printed circuit board
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US6900720B2 (en) * 2001-12-27 2005-05-31 Micro Enhanced Technology, Inc. Vending machines with field-programmable locks
US6006190A (en) * 1997-04-28 1999-12-21 Tartaroukos Llc Computer implemented method and a computer system for enforcing software licenses
US6473861B1 (en) * 1998-12-03 2002-10-29 Joseph Forte Magnetic optical encryption/decryption disk drive arrangement
DE19901829A1 (de) * 1999-01-19 2000-07-20 Philips Corp Intellectual Pty Schaltungsanordnung zur elektronischen Datenverarbeitung
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
FR2808947B1 (fr) * 2000-05-09 2002-10-18 Bull Cp8 Procede pour authentifier un objet portatif, objet portatif correspondant, et appareil pour mettre en oeuvre le procede
JP2001339383A (ja) * 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
US7440572B2 (en) * 2001-01-16 2008-10-21 Harris Corportation Secure wireless LAN device and associated methods
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
US7489779B2 (en) * 2001-03-22 2009-02-10 Qstholdings, Llc Hardware implementation of the secure hash standard
GB2378539B (en) * 2001-09-05 2003-07-02 Data Encryption Systems Ltd Apparatus for and method of controlling propagation of decryption keys
AU2003247146A1 (en) * 2002-08-08 2004-02-25 Dani Dariel Integrated circuit for digital rights management
JP2005128272A (ja) * 2003-10-24 2005-05-19 Pioneer Electronic Corp 画像表示装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912847A (zh) * 2018-11-09 2021-06-04 华为技术有限公司 空中下载升级的方法及相关装置
CN112912847B (zh) * 2018-11-09 2022-10-04 华为技术有限公司 空中下载升级的方法及相关装置
US11947673B2 (en) 2018-11-09 2024-04-02 Huawei Technologies Co., Ltd. Over-the-air upgrade method and related apparatus

Also Published As

Publication number Publication date
CN1714330A (zh) 2005-12-28
CN100397284C (zh) 2008-06-25
JP2006507583A (ja) 2006-03-02
WO2004046935A2 (en) 2004-06-03
AU2003276575A8 (en) 2004-06-15
AU2003276575A1 (en) 2004-06-15
JP4611027B2 (ja) 2011-01-12
WO2004046935A3 (en) 2005-03-17
US20060025952A1 (en) 2006-02-02
EP1565802A2 (de) 2005-08-24
US7395165B2 (en) 2008-07-01
US8155309B2 (en) 2012-04-10
US20090132831A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
DE10254320A1 (de) Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Ver-/Entschlüsseln von Daten des nicht-flüchtigen Speichermoduls
DE10319435B4 (de) Verfahren zur Verarbeitung von Daten zum Schutz eines Softwareprogramms vor Rekonstruktion
EP1246043B1 (de) Verfahren zur Übertragung von Daten über einen Datenbus
DE10254396A1 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
DE69531556T2 (de) Verfahren und einrichtung zur sicherung von in halbleiterspeicherzellen gespeicherten daten
WO2001054083A1 (de) Mikroprozessoranordnung mit verschlüsselung
EP0155399A2 (de) Schutzanordnung zur Verhinderung der unerlaubten Ausführung eines Programms
WO2001040950A2 (de) Mikroprozessoranordnung mit verschlüsselung
DE102006055830A1 (de) Verfahren zum Schutz eines Steuergeräts vor Manipulation
DE4114410A1 (de) Halbleiterbauelement mit nichtfluechtigem speicher
DE102015113414A1 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE60030074T2 (de) Elektronischer Sicherheitsbaustein
DE3432721A1 (de) Datenschuetzender standard-mikroprozessor
DE102007043083A1 (de) Verfahren und Vorrichtung zum Codieren von Datenworten
EP1784756B1 (de) Verfahren und sicherheitssystem zur sicheren und eindeutigen kodierung eines sicherheitsmoduls
EP1022659B1 (de) Schaltungsanordnung zur elektonischen Datenverarbeitung
DE102010009458A1 (de) Hardware-Einrichtung
DE10256587A1 (de) Datenverarbeitungseinrichtung, insbesondere elektronisches Speicherbauteil, und hierauf bezogenes Verschlüsselungsverfahren
DE102016123689B4 (de) Speicherschaltung und Verfahren zum Betreiben einer Speicherschaltung
DE10254659A1 (de) Schaltungsanordnung mit nicht-flüchtigem Speichermodul und Verfahren zum Erfassen von Lichtattacken auf das nicht-flüchtige Speichermodul
EP1930834A1 (de) Kryptographisch gesichertes Prozessorsystem
EP0135888B1 (de) Verfahren zur Verhinderung des Ablaufs eines Programms auf für den Ablauf dieses Programms nicht zugelassenen Rechnern
EP1472606A2 (de) Schlüsselmanagementeinrichtung und verfahren zur verschlüsselten ablage von digitalen datenwörtern
EP0764303B1 (de) Microcontrollersicherungsverfahren
DE69738364T2 (de) Verfahren zur Bewahrung der Vollständigkeit von Software

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee