DE10232348A1 - Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren - Google Patents

Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren

Info

Publication number
DE10232348A1
DE10232348A1 DE10232348A DE10232348A DE10232348A1 DE 10232348 A1 DE10232348 A1 DE 10232348A1 DE 10232348 A DE10232348 A DE 10232348A DE 10232348 A DE10232348 A DE 10232348A DE 10232348 A1 DE10232348 A1 DE 10232348A1
Authority
DE
Germany
Prior art keywords
data
bits
circuit
bit
circuit unit
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
DE10232348A
Other languages
English (en)
Inventor
Chan-Yong Kim
Jong-Rok Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10232348A1 publication Critical patent/DE10232348A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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/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
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/34Bits, or blocks of bits, of the telegraphic message being interchanged in time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Die Erfindung bezieht sich auf eine integrierte Halbleiterschaltung mit mehreren Schaltungseinheiten und einem Datenbus zur Datenübertragung zwischen den Schaltungseinheiten sowie auf ein zugehöriges Verfahren zur Datenübertragung. DOLLAR A Erfindungsgemäß sind Verschlüsselungs-/Entschlüsselungsschaltkreise (112, 122) zum Ver- und Entschlüsseln der auf dem Datenbus zwischen den beiden Schaltungseinheiten (111, 121) übertragenen Daten vorgesehen. Das Verschlüsseln beinhaltet eine Veränderung der Bitanordnung der Daten an allen oder einem Teil der Bitstellen, und das Verschlüsseln beinhaltet die Wiederherstellung der ursprünglichen Bitanordnung. DOLLAR A Verwendung z. B. für Smartcards.

Description

  • Die Erfindung bezieht sich auf eine integrierte Halbleiterschaltung mit einer ersten und einer zweiten Schaltungseinheit sowie und einem Datenbus zur Übertragung von Daten zwischen den beiden Schaltungseinheiten und auf ein zugehöriges Datenübertragungsverfahren.
  • Die Verwendung von Plastikkarten z. B. als Kreditkarten oder Bankkarten zur Durchführung von finanziellen Transaktionen wird immer populärer. Es ist allgemein bekannt, dass eine einfache herkömmliche Plastikkarte, die eine Magnetkarte beinhaltet, keine besonders hohe Datenmenge speichern kann und hinsichtlich Sicherheit problematisch ist. Mit dem beträchtlichen Fortschritt in der Halbleitertechnologie sind die Abmessungen integrierter Schaltkreise (IC) immer kleiner geworden. Dementsprechend wurden Plastikkarten mit einem IC-Chip entwickelt, sogenannte Smartcards, welche die herkömmliche Magnetkarte ersetzen. Die Smartcard ist in der Lage, sehr große Datenmengen zu speichern, und hat Vorteile hinsichtlich erhöhter Sicherheit und Lebensdauer. Dementsprechend sind Smartcards bereits für verschiedene Zwecke im Einsatz, z. B. als Ausweiskarte, Krankenversicherungskarte und Bankkarte.
  • Da im IC einer Smartcard wichtige Daten gespeichert sein können, wie eine Kreditkartennummer, eine residente Registrierungsnummer, eine Bankkontonummer und/oder ein Passwort, ist die Sicherheit bezüglich der im IC gespeicherten Daten von sehr großer Bedeutung.
  • Fig. 1 zeigt im Blockschaltbild schematisch einen exemplarischen IC 10 für eine Smartcard. Der IC 10 in der Smartcard beinhaltet eine Zentralprozessoreinheit (CPU) oder einen Prozessor 11, wie einen Mikroprozessor, einen Speicher mit wahlfreiem Zugriff (RAM) 13, einen Festwertspeicher (ROM) 14, einen elektrisch lösch- und programmierbaren ROM (EEPROM) 15 sowie eine Eingabe/Ausgabe-Steuereinheit 12. Die Schaltungsblöcke im IC sind über einen Systembus (BUS) 16 miteinander verbunden, über den Daten, Programme und Steuercodes gesendet und empfangen werden können.
  • Der mit dem Aufbau von ICs vertraute Fachmann erkennt ohne weiteres die Bedeutung der verschiedenen Schaltungsblöcke und des Systembusses, und er kann durch bestimmte Mittel Daten beobachten, die auf den Systembus geladen werden. Daher tritt das Problem auf, dass zwischen den Schaltungsblöcken gesendete und empfangene Daten von einem Unberechtigten abgefangen und missbräuchlich verwendet werden können.
  • Der Erfindung liegt als technisches Problem die Bereitstellung einer integrierten Halbleiterschaltung und eines zugehörigen Datenübertragungsverfahrens zugrunde, die eine hohe Sicherheit für die zwischen internen Schaltungsblöcken übertragenen Daten gewährleisten und insbesondere für Smartcards mit hohem Sicherheitsstandard z. B. in Verwendung als Kreditkarte, Krankenversicherungskarte oder Ausweiskarte einsetzbar sind.
  • Die Erfindung löst dieses Problem durch die Bereitstellung einer integrierten Halbleiterschaltung mit den Merkmalen des Anspruchs 1 oder 5 und eines Datenübertragungsverfahrens mit den Merkmalen des Anspruchs 27.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
  • Fig. 1 ein schematisches Blockschaltbild des allgemeinen Aufbaus eines exemplarischen IC, der in einer Smartcard verwendbar ist,
  • Fig. 2 ein Blockschaltbild der detaillierteren Struktur eines IC für eine Smartcard,
  • Fig. 3 ein Blockschaltbild zur Veranschaulichung der Architektur eines ersten und zweiten Scramblers des IC von Fig. 2,
  • Fig. 4 ein Blockschaltbild zur Veranschaulichung der Architektur eines ersten und zweiten Bitanordnungswechslers der Scrambler von Fig. 3,
  • Fig. 5 ein Blockschaltbild zur Veranschaulichung der Schaltkreisstruktur von Schaltelementen der Bitanordnungswechsler von Fig. 4,
  • Fig. 6A ein Diagramm zur Veranschaulichung von Datenbit-Positionsänderungen in Abhängigkeit von einer Zufallszahl, die von einem Zufallszahlengenerator erzeugt wird, wenn von einer CPU abgegebene Daten zu einem RAM übertragen werden, und
  • Fig. 6B ein Diagramm zur Veranschaulichung von Datenbit-Positionsänderungen in Abhängigkeit von einer Zufallszahl, die von einem Zufallszahlengenerator erzeugt wird, wenn von einem RAM abgegebene Daten zu einer CPU übertragen werden.
  • Fig. 2 zeigt die Struktur eines IC 100 für eine Smartcard in einer erfindungsgemäßen Realisierung. Der IC 100 umfasst einen CPU-Schaltungsblock 110 mit einer CPU 111, einen RAM-Schaltungsblock 120 mit einem RAM sowie einen Datenbus 130 zum Senden und Empfangen von Daten zwischen dem CPU- und dem RAM-Schaltungsblock 110, 120. In einer erfindungsgemäßen Realisierung beinhalten die Daten, die zwischen dem CPU-Schaltungsblock 110 und dem RAM-Schaltungsblock 120 gesendet und empfangen werden, Blöcke von acht Bit. Es versteht sich jedoch, dass die Bitbreite der zwischen den Schaltungsblöcken 110 und 120 gesendeten und empfangenen Daten je nach Anwendungsfall einen beliebigen anderen Wert haben kann. Wenngleich im vorliegenden Ausführungsbeispiel der Schutz von Daten, die zwischen der CPU 110 und dem RAM 120 übertragen werden, erläutert wird, versteht es sich, dass die Erfindung auch zum Schutz beliebiger anderer Daten anwendbar ist, die in gleicher Weise zwischen Schaltungsblöcken eines IC übertragen werden.
  • Der CPU-Schaltungsblock 110 enthält des weiteren einen ersten Scrambler 112 und einen Zufallszahlengenerator 113. Letzterer generiert eine Zufallszahl mit vier Bit in Reaktion auf ein Taktsignal CLK. Der erste Scrambler 112 ändert die Anordnung von vier Bit niedriger Ordnung DATA_A[3 : 0] von Daten, die eine Länge von acht Bit aufweisen und von der CPU 111 abgegeben werden, in Abhängigkeit von der Zufallszahl, gibt die geänderte Bitanordnung an den Datenbus 130 ab, stellt aus einer Anordnung von Datenbits, die vom RAM-Schaltungsblock 120 über den Datenbus 130 zugeführt werden, eine ursprüngliche Anordnung wieder her und führt die wieder hergestellte Bitanordnung der CPU 111 zu.
  • Der RAM-Schaltungsblock 120 enthält des weiteren einen zweiten Scrambler 122, der aus einer Anordnung von vier Bit an Daten, die vom CPU-Schaltungsblock 110 über den Datenbus 130 zugeführt werden, in Abhängigkeit von einer Zufallszahl, die vom Zufallszahlengenerator 113 erzeugt wird, eine ursprüngliche Anordnung wieder herstellt. Der zweite Scrambler 122 führt die wieder hergestellte Anordnung dem RAM 121 zu, verändert eine Anordnung von vier Bit niedriger Ordnung DATA_C[3 : 0] von Daten einer Länge von acht Bit, die vom RAM 121 abgegeben werden, in Abhängigkeit von der Zufallszahl und gibt die veränderte Anordnung an den Datenbus 130 ab. In einem anderen Ausführungsbeispiel kann der Zufallszahlengenerator 113 im RAM-Schaltungsblock 120 enthalten sein.
  • Fig. 3 zeigt die Schaltkreisstruktur des ersten und zweiten Scramblers von Fig. 2 in einer erfindungsgemäßen Realisierung. Der erste Scrambler 112 beinhaltet hierbei einen ersten Bitanordnungswechsler 200 und einen ersten Auswahlsignalgenerator 220. Letzterer erzeugt ein Auswahlsignal SEL1[15 : 0] von 16 Bit in Reaktion auf eine 4-Bit- Zufallszahl, die vom Zufallszahlengenerator 113 zugeführt wird. Wenn Daten DATA_A[3 : 0] von der CPU 111 abgegeben werden, verändert der erste Bitanordnungswechsler 200 die Bitanordnung der Daten DATA_A[3 : 0] in Reaktion auf das Auswahlsignal SEL1[15 : 0] und gibt Daten DATA_B[3 : 0] an den Datenbus 130 ab. Wenn die Daten DATA_B(3 : 0] über den Datenbus 130 zugeführt werden, stellt der erste Bitanordnungswechsler 200 aus der Bitanordnung der Daten DATA_B[3 : 0] die ursprüngliche Bitanordnung in Reaktion auf das Auswahlsignal SEL1[15 : 0] wieder her und führt die wieder hergestellte Anordnung der CPU 111 zu.
  • Der zweite Scrambler 122 weist ähnlich wie der erste Scrambler 112 einen zweiten Bitanordnungswechsler 300 und einen zweiten Auswahlsignalgenerator 320 auf. Der zweite Auswahlsignalgenerator 320 erzeugt ein 16-Bit-Auswahlsignal SEL2[15 : 0] in Reaktion auf eine 4-Bit- Zufallszahl, die vom Zufallszahlengenerator 113 zugeführt wird. Das Auswahlsignal SEL1[15 : 0], das vom ersten Auswahlsignalgenerator 220 abgegeben wird, und das Auswahlsignal SEL2[15 : 0], das vom zweiten Auswahlsignalgenerator 320 abgegeben wird, sind im wesentlichen zueinander identisch. Wenn vom RAM 121 Daten DATA_C[3 : 0] abgegeben werden, verändert der zweite Bitanordnungswechsler 300 deren Bitanordnung in Reaktion auf das Auswahlsignal SEL1[15 : 0] und gibt Daten DATA_B[3 : 0] an den Datenbus 130 ab. Wenn dem zweiten Bitanordnungswechsler 300 die Daten DATA_B[3 : 0] über den Datenbus 130 zugeführt werden, stellt er aus deren Bitanordnung die ursprüngliche Bitanordnung in Reaktion auf das Auswahlsignal SEL2[15 : 0] wieder her und führt die wieder hergestellte Bitanordnung dem RAM 121 zu.
  • Somit werden erfindungsgemäß, wenn Daten von der CPU 111 zum RAM 121 übertragen werden, die vier Bit an Daten niedriger Ordnung DATA_A[3 : 0], die von der CPU 111 abgegeben werden, durch den ersten Bitanordnungswechsler 200 verschlüsselt, indem deren Bitanordnung verändert wird. Die verschlüsselten Daten DATA_B[3 : 0] werden auf dem Datenbus 130 zum zweiten Bitanordnungswechsler 300 übertragen, in welchem die Daten entschlüsselt werden, bevor sie im RAM 121 gespeichert werden. Folglich sind die Daten DATA_A[3 : 0], die von der CPU 111 an den ersten Bitanordnungswechsler 200 abgegeben werden, und die Daten DATA_C[3 : 0], die dem RAM 121 vom zweiten Bitanordnungswechsler 300 zugeführt werden, zueinander identisch, so dass keine Beeinflussung der Datenübertragung vorliegt. Da die auf dem Datenbus 130 übertragenen Daten DATA_B[3 : 0] verschlüsselt sind, unterscheiden sich die hierdurch freiliegenden Daten, selbst wenn der Datenbus 130 von einem Unberechtigten von extern überwacht bzw. abgehört wird, von der Dateninformation, die von der CPU 111 zum RAM 121 übertragen wird, so dass die tatsächliche Dateninformation gesichert ist.
  • In gleicher Weise werden vier Bit an Daten niedriger Ordnung DATA_C[3 : 0], die vom RAM 121 abgegeben werden, wenn Daten von dort zur CPU 111 übertragen werden, durch den zweiten Bitanordnungswechsler 300 in Daten DATA_B[3 : 0] durch Verändern der Bitanordnung verschlüsselt, wonach die verschlüsselten Daten über den Datenbus 130 übertragen werden. Die verschlüsselten Daten DATA_B[3 : 0] auf dem Datenbus werden durch den ersten Bitanordnungswechsler 200 in die Daten DATA_A[3 : 0] entschlüsselt, die dann der CPU 111 zugeführt werden. Somit sind die Daten DATA_C[3 : 0], die vom RAM 121 zum zweiten Bitanordnungswechsler 300 abgegeben werden, und die Daten DATA_A[3 : 0], die vom ersten Bitanordnungswechsler 200 der CPU 111 zugeführt werden, zueinander identisch, ohne dass eine Beeinflussung der Datenübertragung vorliegt. Da die auf den Datenbus 130 gegebenen Daten DATA_B[3 : 0] verschlüsselt sind, unterscheiden sich die freiliegenden Daten, selbst wenn der Datenbus 130 von einem Unberechtigten überwacht bzw. abgehört wird, von der Dateninformation, die vom RAM 121 zur CPU 111 übertragen wird, so dass die Daten sicher vom RAM 121 zur CPU 111 übertragen werden.
  • In den Fig. 4 und 5 sind vorteilhafte Strukturen und Betriebsweisen des ersten und zweiten Bitanordnungswechslers 200, 300 zum Verändern und Wiederherstellen der Bitanordnungen veranschaulicht.
  • Im Beispiel von Fig. 4 umfasst der erste Bitanordnungswechsler 200 vier Schaltstufen 201 bis 204, und der zweite Bitanordnungswechsler 300 umfasst vier Schaltstufen 301 bis 304, die je einem der Schaltstufen 201 bis 204 im ersten Bitanordnungswechsler 200 entsprechen.
  • Die Schaltstufen 201 bis 204 im ersten Bitanordnungswechsler 200 werden durch zugehörige 4-Bit-Signale aus Auswahlsignalen SEL1[15 : 0] gesteuert, die jeweils vom ersten Auswahlsignalgenerator 220 erzeugt werden. Mit anderen Worten wird die Schaltstufe 201 durch ein Auswahlsignal SEL1[15 : 12], die Schaltstufe 202 durch ein Auswahlsignal SEL1[11 : 8], die Schaltstufe 203 durch ein Auswahlsignal SEL1[7 : 4] und die Schaltstufe 204 durch ein Auswahlsignal SEL1[3 : 0] gesteuert.
  • Wie oben beschrieben, sind die vom ersten bzw. zweiten Auswahlsignalgenerator 220, 320 abgegebenen Auswahlsignale SEL1[15 : 0] und SEL2[115 : 0] zueinander identisch. Daher werden die Schaltstufen 201 bis 204 im ersten Bitanordnungswechsler 200 und die entsprechenden Schaltstufen 301 bis 304 im zweiten Bitanordnungswechsler 300 jeweils durch dieselben Signale gesteuert.
  • Wie aus Fig. 5 ersichtlich, umfasst die Schaltstufe 201 vier Schalter SWA0 bis SWA3, und die Schaltstufe 301 umfasst vier Schalter SWB0 bis SWB3, die je einem der Schalter SWA0 bis SWA3 entsprechen. Die Schalter SWA0 bis SWA3 in der Schaltstufe 201 werden durch je ein zugehöriges Signal aus dem Auswahlsignal SEL1[15 : 12] gesteuert, das vom ersten Auswahlsignalgenerator 220 erzeugt wird. Die Schalter SWB0 bis SWB3 in der Schaltstufe 301 werden durch je ein zugehöriges Signal aus dem Auswahlsignal SEL2[15 : 12] gesteuert, das vom zweiten Auswahlsignalgenerator 320 erzeugt wird. Wenn die Auswahlsignale SEL1[15 : 12] und SEL2[15 : 12] auf hohem Logikpegel liegen, sind die zugehörigen Schalter SWA0 bis SWA3 bzw. SWB0 bis SWB3 eingeschaltet, hingegen sind die abgeschaltet, wenn die betreffenden Auswahlsignale auf niedrigem Logikpegel liegen.
  • In analoger Weise beinhalten die Schaltstufen 202 bis 204 und 302 bis 304 je vier Schalter, identisch zu den Schaltstufen 201 und 301, wie sie in Fig. 5 gezeigt sind, und werden durch zugehörige Auswahlsignale gesteuert. Eine detaillierte Erläuterung der Struktur und Betriebsweise der weiteren Schaltstufen 202 bis 204 und 302 bis 304 ist daher entbehrlich. Tabelle 1

  • Die vorstehende Tabelle 1 zeigt exemplarisch Auswahlsignale SEL1[15 : 12] und SEL2[15 : 12], die vom ersten bzw. zweiten Auswahlsignalgenerator 220, 320 in Abhängigkeit von einer 4-Bit-Zufallszahl abgegeben werden, die vom Zufallszahlengenerator 113 erzeugt wird. Außerdem geigt die Tabelle 1 Bitanordnungen von Daten DATA_B[3 : 0], die dadurch auf dem Datenbus 130 bereitgestellt werden.
  • Wenn beispielsweise von der CPU 111 abgegebene Daten DATA_A[3 : 0] über den Datenbus 130 zum RAM 121 übertragen werden und dabei die 4-Bit-Zufallszahl, die vom Zufallszahlengenerator 113 erzeugt wird, den Wert "0000" hat, nehmen das erste und das zweite Auswahlsignal SEL1[15 : 0] und SEL2[15 : 0] den Wert "1000 0010 0100 0001" an. Wie oben erläutert, nehmen das erste und zweite Auswahlsignal SEL1[15 : 0] und SEL2[15 : 0] zueinander identische Werte an. Da das erste Auswahlsignal SEL1[15 : 12] den Wert "1000" annimmt, wird der Schalter SWA3 der Schaltstufe 201 eingeschaltet, und der von der CPU 111 abgegebenen Datenwert DATA_A[0] wird zu einem dritten Bit auf dem Datenbus, d. h. zum Datenwert DATA_B[3]. Durch diese Vorgehensweise werden Datenwerte DATA_A[1], DATA_A[2] und DATA_A[3], die von der CPU 111 abgegeben werden, auf dem Datenbus als Datenwerte DATA_B[1], DATA_B[2] bzw. DATA_B[0] bereitgestellt.
  • Wenn daher die von der CPU 111 abgegebenen Daten DATA_A[3 : 0] die Bitanordnung "B3 B2 B1 B0" besitzen, wird dies in eine andere Bitanordnung "B0 B2 B1 B3" für die auf dem Datenbus 130 bereitgestellten Daten DATA_B[3 : 0] transformiert.
  • Wenn beispielsweise die von der CPU 111 abgegebenen Daten DATA_A[3 : 0] den Datenwert "1100" besitzen, nehmen die auf dem Datenbus 130 bereitgestellten Daten DATA_B[3 : 0] den Datenwert "0101" an. Somit kann ein Freilegen tatsächlicher Dateninformation verhindert werden, obwohl die auf dem Datenbus 130 bereitgestellten Daten DATA_B[3 : 0] für einen Unberechtigten eventuell zugänglich sind, da sich die freiliegenden Daten von den abgegebenen Daten DATA_A[3 : 0] unterscheiden.
  • Die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] werden durch folgendes Verfahren zum RAM 121 übertragen. Wie im obigen Beispiel nimmt das zweite Auswahlsignal SEL2[15 : 0] den Wert "1000 0010 0100 0001" an, wenn vom Zufallszahlengenerator 113 eine 4-Bit-Zufallszahl "0000" erzeugt wird. Da das zweite Auswahlsignal SEL2[15 : 12] den Wert "1000" hat, wird der Schalter SWB3 der Schaltstufe 301 angeschaltet, und das dritte Bit der auf den Datenbus geladenen Daten DATA_B[3] wird über den Schalter SWB3 als Datenbitwert DATA_C[0] bereitgestellt. In dieser Vorgehensweise wird der auf den Datenbus 130 geladene Datenwert DATA_B[1] als ein erster Bitdatenwert DATA_C[1] dem RAM 121 bereitgestellt, während der Datenwert DATA_B[2] als zweiter Bitdatenwert DATA_C[2] dem RAM 121 und der Datenwert DATA_B[0] als dritter Bitdatenwert DATA_C[3] dem RAM 121 bereitgestellt werden.
  • Wenn daher die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] den Wert "B0 B2 B1 B3" haben, werden daraus dem RAM 121 die Daten DATA_C[3 : 0] in der Form "B3 B2 B1 B0" bereitgestellt. Dies ist identisch zur Bitanordnung der von der CPU 111 abgegebenen Daten DATA_A[3 : 0]. Daher ist Dateninformation, die von der CPU 111 über den Datenbus 130 zum RAM 121 übertragen wird, einem Unberechtigten nicht frei zugänglich und unterliegt keiner Beeinflussung.
  • Fig. 6A veranschaulicht Positionsänderungen von Datenbits für den Fall, dass die vom Zufallszahlengenerator 113 erzeugte Zufallszahl "0000" beträgt, wenn die von der CPU 111 abgegebenen Daten DATA_A[3 : 0] zum RAM 121 übertragen werden. Wie aus Fig. 6A ersichtlich, wird jede Position der Bits der Daten DATA_A[3 : 0], die von der CPU 111 abgegeben werden, in Abhängigkeit vom Auswahlsignal SEL1[15 : 0] verändert und dem Datenbus 130 zugeführt. Mit anderen Worten werden die von der CPU 111 abgegebenen Datenwerte DATA_A[0], DATA_A[1], DATA_A[2 J und DATA_A[3] in die Datenwerte DATA_B[3], DATA_B[1], DATA_B[2] bzw. DATA_B[0] auf dem Datenbus 130 geändert. In Abhängigkeit vom Auswahlsignal SEL2[15 : 0] werden die auf den Datenbus 130 geladenen Datenwerte DATA_B[0], DATA_B[1], DATA_B[2] und DATA_B[3] in die Datenwerte DATA_C[3], DATA_C[1], DATA_C[2] bzw. DATA_C[1] geändert, und die geänderten Daten werden dem RAM 121 zugeführt.
  • Das Verfahren zur Übertragung von Daten vom RAM 121 zur CPU 111 über den Datenbus 130 wird in einer gegenüber der oben erläuterten Vorgehensweise zum Übertragen von Daten von der CPU 111 zum RAM 121 umgekehrten Reihenfolge durchgeführt.
  • Wenn beispielsweise die vom Zufallszahlengenerator 113 erzeugte 4- Bit-Zufallszahl "0100" beträgt, nehmen das erste und zweite Auswahlsignal SEL1[15 : 0] und SEL2[15 : 0] den Wert "0100 1000 0010 0001" an. Wie oben erläutert, sind das erste und zweite Auswahlsignal SEL1[15 : 0] und SEL2[15 : 0] zueinander identisch. Wenn das zweite Auswahlsignal SEL2[15 : 12] den Wert "0100" hat, wird der Schalter SWB2 der Schaltstufe 301 eingeschaltet und dadurch wird der vom RAM 121 abgegebene Datenwert DATA_C[0] als ein zweites Bit auf dem Datenbus bereitgestellt, d. h. als Datenwert DATA_B[2]. Durch dieselbe Vorgehensweise werden die Datenwerte DATA_C[1], DATA_C[2] und DATA_C[3], die vom RAM 121 abgegeben werden, auf dem Datenbus als Datenwerte DATA_B[3], DATA_B[1] bzw. DATA_B[0] bereitgestellt. Wenn folglich die Bitanordnung der vom RAM 121 abgegebenen Daten DATA_C[3 : 0] den Wert "B3 B2 B1 B0" hat, nehmen die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] Eine andere Bitanordnung "B1 B0 B2 B3" an.
  • Wenn beispielsweise die vom RAM 121 abgegebenen Daten DATA_C[3 : 0] den Wert "1100" haben, nehmen die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] den Wert "0011" an. Somit kann eine freie Zugänglichkeit von Daten verhindert werden, selbst wenn die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] von einem Unberechtigten abgefangen werden können, da sich die freiliegenden Daten von den vom RAM 121 abgegebenen, tatsächlichen Daten DATA_C[3 : 0] unterscheiden.
  • Die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] werden dann nach folgendem Verfahren zur CPU 111 übertragen. Wie im obigen Beispiel nimmt, wenn die vom Zufallszahlengenerator 113 erzeugte 4-Bit- Zufallszahl "0100" beträgt, das erste Auswahlsignal SEL1[15 : 0] den Wert "0100 1000 0010 0001" an. Da das erste Auswahlsignal SEL1[15 : 12] den Wert "0100" hat, wird der Schalter SWB2 der Schaltstufe 201 eingeschaltet, und ein zweites Bit der auf den Datenbus geladenen Daten, d. h. der Datenwert DATA_B[2], wird über den Schalter SWB2 der CPU 111 als Datenbitwert DATA_A[0] zugeführt. Mit dieser Vorgehensweise werden die auf den Datenbus 130 geladenen Datenwerte DATA_B[0], DATA_B[1] und DATA_B[3] der CPU 111 als Datenwerte DATA_A[3], DATA_A[2] bzw. DATA_A[1] zugeführt.
  • Wenn daher die auf den Datenbus 130 geladenen Daten DATA_B[3 : 0] den Wert "B1 B0 B2 B3" haben, nehmen die der CPU 111 zugeführten Daten DATA_A[3 : 0] den Wert "B3 B2 B1 B0" an. Dies ist identisch mit der ursprünglichen Bitanordnung der vom RAM 121 abgegebenen Daten DATA_C[3 : 0]. Daher können die vom RAM 121 zur CPU 111 über den Datenbus 130 übertragenen Dateninformationen nicht von einem Unberechtigten abgefangen werden, und sie unterliegen keiner Beeinflussung.
  • Fig. 6B veranschaulicht Positionsänderungen von Datenbits für den Fall, dass die vom Zufallszahlengenerator 113 erzeugte Zufallszahl "0100" beträgt, wenn die vom RAM 121 abgegebenen Daten DATA_C[3 : 0] zur CPU 111 übertragen werden. Wie aus Fig. 6B ersichtlich, wird jedes Bit der Daten DATA_C[3 : 0], die vom RAM 121 abgegeben werden, in seiner Position in Abhängigkeit vom Auswahlsignal SEL2[15 : 0] verändert und auf dem Datenbus 130 bereitgestellt. Dabei werden die vom RAM 121 abgegebenen Datenwerte DATA_C[0], DATA_C[1], DATA_C[2] und DATA_C[3] in die Datenwerte DATA_B[2], DATA_B[3], DATA_B[1] bzw. DATA_B[0] auf dem Datenbus 130 geändert. In Abhängigkeit vom Auswahlsignal SEL1[15 : 0] werden anschließend die auf den Datenbus 130 gegebenen Datenwerte DATA_B[0], DATA_B[1], DATA_B[2] und DATA_B[3] in die Datenwerte DATA_A[3], DATA_A[2], DATA_A[0] bzw. DATA_C[2] geändert, und die so geänderten Daten werden der CPU 111 zugeführt.
  • Da der Zufallszahlengenerator 113 erfindungsgemäß in Synchronisation zum Taktsignal CLK arbeitet, siehe Fig. 2, führen der erste und zweite Scrambler 112, 122 ihre Funktionen zur Änderung von Bitanordnungen taktweise aus. Selbst wenn daher auf den Datenbus 130 geladene Daten einem Unberechtigten zugänglich werden, ist es für ihn sehr schwierig, die Daten zu entschlüsseln, da die Bitanordnung nach jedem Takt in verschiedener Weise geändert wird.
  • Es versteht sich, dass der Fachmann neben den oben gezeigten Ausführungsformen weitere Realisierungen der Erfindung vorzusehen vermag. Während z. B. im beschriebenen Ausführungsbeispiel von einer Bitanordnung die vier Datenbits niedriger Ordnung von 8-Bit-Daten, die von der CPU 111 abgegeben werden, verändert werden, können je nach Anwendungsfall auch 3-Bit-Daten insgesamt oder eine andere Anzahl von Bits aus 8-Bit-Daten durch Umsortieren verändert und damit verschlüsselt werden. Wenngleich somit Eingabe/Ausgabe-Daten, die zwischen internen Schaltungsblöcken übertragen werden, eventuell einem Unberechtigten zugänglich werden, können sie erfindungsgemäß geschützt werden, da sich die frei zugänglichen Daten von den ursprünglichen Daten unterscheiden.

Claims (30)

1. Integrierte Halbleiterschaltung mit
einer ersten Schaltungseinheit (111),
einer zweiten Schaltungseinheit (121) und
einem Datenbus (130) zur Übertragung von Daten zwischen den beiden Schaltungseinheiten,
gekennzeichnet durch
einen ersten und einen zweiten Verschlüsselungs-/Entschlüsselungs-Schaltkreis (112, 122) zum Verschlüsseln und Entschlüsseln der Daten, wobei der erste Verschlüsselungs-/Entschlüsselungsschaltkreis (112) die von der ersten Schaltungseinheit (111) abgegebenen Daten verschlüsselt, die verschlüsselten Daten an den Datenbus (130) abgibt, vom zweiten Verschlüsselungs-/Entschlüsselungsschaltkreis empfangene, verschlüsselte Daten entschlüsselt und die entschlüsselten Daten der ersten Schaltungseinheit zuführt und der zweite Verschlüsselungs-/Entschlüsselungsschaltkreis (122) die vom ersten Verschlüsselungs-/Entschlüsselungsschaltkreis empfangenen Daten entschlüsselt, die entschlüsselten Daten der zweiten Schaltungseinheit (121) zuführt, von der zweiten Schaltungseinheit abgegebene Daten verschlüsselt und die verschlüsselten Daten an den Datenbus abgibt.
2. Integrierte Halbleiterschaltung nach Anspruch 1, weiter gekennzeichnet durch einen Zufallszahlengenerator (113) zum Erzeugen einer Zufallszahl in Abhängigkeit von einem Taktsignal (CLK) und Zuführen der Zufallszahl zum ersten Verschlüsselungs-/Entschlüsselungsschaltkreis und zweiten Verschlüsselungs-/Entschlüsselungsschaltkreis zur Steuerung der Ausführung der Verschlüsselungs-/Entschlüsselungsvorgänge.
3. Integrierte Halbleiterschaltung nach Anspruch 2, weiter dadurch gekennzeichnet, dass der Zufallszahlengenerator in einem Schaltungsblock enthalten ist, der den ersten oder den zweiten Verschlüsselungs-/Entschlüsselungsschaltkreis umfasst.
4. Integrierte Halbleiterschaltung nach Anspruch 3, weiter dadurch gekennzeichnet, dass die erste Schaltungseinheit einen Prozessorschaltkreis (111) und die zweite Schaltungseinheit einen Speicherschaltkreis (121) umfasst.
5. Integrierte Halbleiterschaltung mit
einer ersten Schaltungseinheit (110),
einer zweiten Schaltungseinheit (120) und
einem Datenbus (130) zur Übertragung einer Mehrzahl von Datenbits zwischen den beiden Schaltungseinheiten,
gekennzeichnet durch
einen Zufallszahlengenerator (113) zur Erzeugung einer Zufallszahl in Abhängigkeit von einem Taktsignal (CLK),
einen ersten Scrambler (112) zum Verändern einer Anordnung der mehreren Datenbits, die von der ersten Schaltungseinheit abgegeben werden, in Abhängigkeit von der Zufallszahl, zum Abgeben der veränderten Bitanordnung an den Datenbus (130), zum Wiederherstellen einer von der zweiten Schaltungseinheit über den Datenbus übermittelten, geänderten Anordnung von mehreren Datenbits in eine ursprüngliche Anordnung in Abhängigkeit von der Zufallszahl und zum Zuführen der wiederhergestellten Bitanordnung zur ersten Schaltungseinheit und
einen zweiten Scrambler (122) zum Wiederherstellen einer ursprünglichen Bitanordnung für die von der ersten Schaltungseinheit über den Datenbus übermittelte, geänderte Anordnung der mehreren Datenbits in Abhängigkeit von der Zufallszahl, zum Zuführen der wiederhergestellten Bitanordnung zur zweiten Schaltungseinheit, zum Verändern der Anordnung der mehreren Datenbits, die von der zweiten Schaltungseinheit abgegeben werden, in Abhängigkeit von der Zufallszahl und zum Abgeben der geänderten Bitanordnung auf den Datenbus.
6. Integrierte Halbleiterschaltung nach Anspruch 5, weiter dadurch gekennzeichnet, dass die Anzahl an Datenbits gleich einer wählbaren ganzen Zahl N ist.
7. Integrierte Halbleiterschaltung nach Anspruch 5 oder 6, weiter dadurch gekennzeichnet, dass der erste Scrambler folgende Elemente enthält:
einen ersten Auswahlsignalgenerator (220) zur Erzeugung erster Auswahlsignale in Abhängigkeit von der Zufallszahl und
einen ersten Bitanordnungswechsler (200) zum Verändern der Anordnung der mehreren Datenbits, die von der ersten Schaltungseinheit abgegeben werden, in Abhängigkeit von den ersten Auswahlsignalen, zum Abgeben der veränderten Bitanordnung auf den Datenbus, zum Wiederherstellen der ursprünglichen Bitanordnung aus der von der zweiten Schaltungseinheit über den Datenbus übermittelten, geänderten Anordnung der mehreren Datenbits in Abhängigkeit von den ersten Auswahlsignalen und zum Zuführen der wiederhergestellten Bitanordnung zur ersten Schaltungseinheit.
8. Integrierte Halbleiterschaltung nach Anspruch 7, weiter dadurch gekennzeichnet, dass der erste Bitanordnungswechsler eine Mehrzahl von ersten Umschalteinheiten (201 bis 204) zum Senden und Empfangen je eines der mehreren Datenbits aufweist, wobei jede der ersten Umschalteinheiten je ein zugehöriges Datenbit, das von der ersten Schaltungseinheit abgegeben oder dieser zugeführt wird, mit einem der Bits auf dem Datenbus entsprechend den ersten Auswahlsignalen verbindet.
9. Integrierte Halbleiterschaltung nach Anspruch 8, weiter dadurch gekennzeichnet, dass jede erste Umschalteinheit ein zugehöriges der mehreren, von der ersten Schaltungseinheit abgegebenen Datenbits als eines der Bits auf dem Datenbus entsprechend den ersten Auswahlsignalen abgibt, wenn Daten von der ersten Schaltungseinheit abgegeben werden, und eines der auf den Datenbus geladenen Datenbits entsprechend den ersten Auswahlsignalen als eines der mehreren, von der ersten Schaltungseinheit Zugeführten Datenbits bereitstellt, wenn Daten über den Datenbus zugeführt werden.
10. Integrierte Halbleiterschaltung nach Anspruch 8 oder 9, weiter dadurch gekennzeichnet, dass jede erste Umschalteinheit mehrere Schaltelemente (SWA0 bis SWA3) enthält, die zwischen einer Mehrzahl von Bits auf dem Datenbus und einem zugehörigen Bit der mehreren Datenbits, die von der ersten Schaltungseinheit abgegeben oder dieser zugeführt werden, eingeschleift sind, um in Abhängigkeit von den ersten Auswahlsignalen zu arbeiten.
11. Integrierte Halbleiterschaltung nach einem der Ansprüche 5 bis 10, weiter dadurch gekennzeichnet, dass der zweite Scrambler folgende Elemente enthält:
einen zweiten Auswahlsignalgenerator (320) zur Erzeugung zweiter Auswahlsignale in Abhängigkeit von der Zufallszahl und
einen zweiten Bitanordnungswechsler (300) zum Wiederherstellen der ursprünglichen Anordnung einer Mehrzahl von Bits aus der von der ersten Schaltungseinheit über den Datenbus übermittelten Anordnung der mehreren Datenbits in Abhängigkeit von den zweiten Auswahlsignalen, zum Zuführen der wiederhergestellten Bitanordnung zur zweiten Schaltungseinheit, zum Verändern der Anordnung von Datenbits, die von der zweiten Schaltungseinheit abgegeben werden, in Abhängigkeit von den zweiten Auswahlsignalen und zum Abgeben der geänderten Bitanordnung auf den Datenbus.
12. Integrierte Halbleiterschaltung nach Anspruch 11, weiter dadurch gekennzeichnet, dass die ersten und zweiten Auswahlsignale zueinander identisch sind.
13. Integrierte Halbleiterschaltung nach Anspruch 11 oder 12, weiter dadurch gekennzeichnet, dass der zweite Bitanordnungswechsler mehrere zweite Umschalteinheiten (301 bis 304) aufweist, die je einem der gesendeten und empfangenen Datenbits zugeordnet sind und von denen jede ein zugehöriges der von der zweiten Schaltungseinheit abgegebenen oder dieser zugeführten Datenbits mit einem der Bits auf dem Datenbus in Abhängigkeit von den zweiten Auswahlsignalen verbindet.
14. Integrierte Halbleiterschaltung nach Anspruch 13, weiter dadurch gekennzeichnet, dass jede der zweiten Umschalteinheiten ein zugehöriges der von der zweiten Schaltungseinheit abgegebenen Datenbits, wenn Daten von der zweiten Schaltungseinheit abgegeben werden, als eines der Bits auf dem Datenbus in Abhängigkeit von den zweiten Auswahlsignalen abgibt und ein Bit der auf den Datenbus geladenen Datenbits in Abhängigkeit von den zweiten Auswahlsignalen als eines der Datenbits, die der zweiten Schaltungseinheit zugeführt werden, bereitstellt, wenn Daten über den Datenbus zugeführt werden.
15. Integrierte Halbleiterschaltung nach Anspruch 14, weiter dadurch gekennzeichnet, dass jede der zweiten Umschalteinheiten (301bis 304) mehrere Schaltelemente (SWB0 bis SWB3) aufweist, die zwischen einer Mehrzahl von Bits auf dem Datenbus und je ein zugehöriges der von der zweiten Schaltungseinheit abgegebenen oder dieser zugeführten Datenbits eingeschleift sind, um in Abhängigkeit von den zweiten Auswahlsignalen zu arbeiten.
16. Integrierte Halbleiterschaltung nach einem der Ansprüche 5 bis 15, weiter dadurch gekennzeichnet, dass sie in einer Smartcard implementiert ist.
17. Integrierte Halbleiterschaltung nach einem der Ansprüche 5 bis 16, weiter dadurch gekennzeichnet, dass der erste Scrambler die Veränderung der Bitanordnung in Form einer Veränderung eines Teils der Anordnung durchführt und das Wiederherstellen der Bitanordnung durch Wiederherstellen eines vom zweiten Scrambler geänderten Teils einer Bitanordnung ausführt und der zweite Scrambler das Wiederherstellen der Bitanordnung aus dem vom ersten Scrambler geänderten Teil der Bitanordnung durchführt und das Verändern der Bitanordnung durch Ändern eines Teils der Anordnung der Datenbits ausführt.
18. Integrierte Halbleiterschaltung nach Anspruch 17, weiter dadurch gekennzeichnet, dass das Ändern eines Teils der Bitanordnung und das Wiederherstellen der Bitanordnung durch Rückänderung eines geänderten Teils der Bitanordnung im ersten Scrambler vom ersten Bitanordnungswechsler ausgeführt wird.
19. Integrierte Halbleiterschaltung nach Anspruch 17 oder 18, weiter dadurch gekennzeichnet, dass das Ändern eines Teils der Bitanordnung und das Wiederherstellen der Bitanordnung durch Rückänderung des vom ersten Scrambler veränderten Teils der Bitanordnung im zweiten Scrambler vom zweiten Bitanordnungswechsler ausgeführt wird.
20. Integrierte Halbleiterschaltung nach Anspruch 19, weiter dadurch gekennzeichnet, dass N-Bit-Daten zwischen der ersten und zweiten Schaltungseinheit über den Datenbus übertragen werden und es sich bei denjenigen Bits, deren Anordnung durch den ersten und zweiten Bitanordnungswechsler verändert und wiederhergestellt wird, um eine Anzahl K (K<N) von Bits niedriger Ordnung handelt.
21. Integrierte Halbleiterschaltung nach Anspruch 20, weiter dadurch gekennzeichnet, dass der erste Bitanordnungswechsler eine der Anzahl K an zu verändernden Datenbits entsprechende Anzahl an ersten Umschalteinheiten aufweist, von denen jede eines der K Bits niedriger Ordnung, die von der ersten Schaltungseinheit abgegeben oder dieser zugeführt werden, mit einem von K Bits niedriger Ordnung auf dem Datenbus in Abhängigkeit von den ersten Auswahlsignalen verbindet.
22. Integrierte Halbleiterschaltung nach Anspruch 21, weiter dadurch gekennzeichnet, dass jede der ersten Umschalteinheiten eines der K Bits niedriger Ordnung, die von der ersten Schaltungseinheit abgegeben werden, als eines der K Bits niedriger Ordnung auf dem Datenbus abgibt.
23. Integrierte Halbleiterschaltung nach Anspruch 22, weiter dadurch gekennzeichnet, dass jede der ersten Umschalteinheiten mehrere Schaltelemente aufweist, die zwischen die K Bits niedriger Ordnung auf dem Datenbus und je einem der K Bits niedriger Ordnung, die von der ersten Schaltungseinheit abgegeben oder dieser zugeführt werden, eingeschleift sind, um in Abhängigkeit von den ersten Auswahlsignalen zu arbeiten.
24. Integrierte Halbleiterschaltung nach einem der Ansprüche 20 bis 23, weiter dadurch gekennzeichnet, dass der zweite Bitanordnungswechsler eine der Anzahl K an zu verändernden Datenbits entsprechende Anzahl von zweiten Umschalteinheiten aufweist, von denen jede ein zugehöriges der K Bits niedriger Ordnung, die von der zweiten Schaltungseinheit abgegeben oder dieser zugeführt werden, mit einem der K Bits niedriger Ordnung auf dem Datenbus in Abhängigkeit von den zweiten Auswahlsignalen verbindet.
25. Integrierte Halbleiterschaltung nach Anspruch 24, weiter dadurch gekennzeichnet, dass jede der zweiten Umschalteinheiten ein zugehöriges der K Bits niedriger Ordnung, die von der zweiten Schaltungseinheit abgegeben werden, als eines der K Bits niedriger Ordnung auf dem Datenbus in Abhängigkeit von den zweiten Auswahlsignalen abgibt und eines der K Bits niedriger Ordnung, die auf den Datenbus geladen werden, in Abhängigkeit von den zweiten Auswahlsignalen als ein zugehöriges der K Bits niedriger Ordnung bereitstellt, die der zweiten Schaltungseinheit zugeführt werden.
26. Integrierte Halbleiterschaltung nach Anspruch 25, weiter dadurch gekennzeichnet, dass jede der zweiten Umschalteinheiten eine Mehrzahl von Schaltelementen aufweist, die zwischen die K Bits niedriger Ordnung auf dem Datenbus und je einem der K Bits niedriger Ordnung, die von der zweiten Schaltungseinheit abgegeben oder dieser zugeführt werden, eingeschleift sind, um in Abhängigkeit von den zweiten Auswahlsignalen zu arbeiten.
27. Verfahren zur Übertragung interner Daten eines Halbleiterspeicherbauelementes mit einem Chip, der einen ersten Schaltungsblock, einen zweiten Schaltungsblock und einen Datenbus zum Übertragen von Daten zwischen den beiden Schaltungsblöcken umfasst, gekennzeichnet durch folgende Schritte:
- Abgeben von Daten unter Verwendung des ersten Schaltungsblocks und Verändern der abgegebenen Daten in ihrer Bitanordnung,
- Übertragen der in ihrer Bitanordnung geänderten Daten auf den Datenbus und
- Wiederherstellen der ursprünglichen Bitanordnung aus der geänderten Bitanordnung der auf den Datenbus geladenen Daten und Abgeben der Daten mit der wiederhergestellten Bitanordnung zum zweiten Schaltungsblock.
28. Verfahren nach Anspruch 27, weiter dadurch gekennzeichnet, dass zur Veränderung der Bitanordnung ein Teil der Bits der vom zweiten Schaltungsblock abgegebenen Daten geändert werden und zum Wiederherstellen der Bitanordnung die geänderten Bits der Bitanordnung in die ursprüngliche Anordnung wiederhergestellt werden.
29. Verfahren nach Anspruch 27 oder 28, weiter gekennzeichnet durch folgende Schritte:
- Abgeben von Daten unter Verwendung des zweiten Schaltungsblocks und Verändern von deren Bitanordnung,
- Übertragen der in ihrer Bitanordnung geänderten Daten auf den Datenbus und
- Wiederherstellen der ursprünglichen Bitanordnung aus der geänderten Bitanordnung der auf den Datenbus geladenen Daten und Zuführen der Daten mit der wiederhergestellten Bitanordnung zum ersten Schaltungsblock.
30. Verfahren nach Anspruch 29, weiter dadurch gekennzeichnet, dass die Änderung der Bitanordnung der Daten eine Änderung eines Teils der Bits der vom zweiten Schaltungsblock abgegebenen Daten beinhaltet und das Wiederherstellen der Bitanordnung ein Wiederherstellen der Bits der geänderten Bitanordnung in die ursprüngliche Bitanordnung beinhaltet.
DE10232348A 2001-08-30 2002-07-15 Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren Withdrawn DE10232348A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0052927A KR100428786B1 (ko) 2001-08-30 2001-08-30 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로

Publications (1)

Publication Number Publication Date
DE10232348A1 true DE10232348A1 (de) 2003-03-27

Family

ID=19713754

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10232348A Withdrawn DE10232348A1 (de) 2001-08-30 2002-07-15 Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren

Country Status (5)

Country Link
US (1) US8249253B2 (de)
KR (1) KR100428786B1 (de)
CN (1) CN1288568C (de)
DE (1) DE10232348A1 (de)
FR (1) FR2829266B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037590A1 (de) * 2004-08-03 2006-02-23 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betrieb einer solchen

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248696B2 (en) * 2002-09-12 2007-07-24 International Business Machines Corporation Dynamic system bus encryption using improved differential transitional encoding
JP2004361986A (ja) * 2003-04-08 2004-12-24 Sharp Corp スクランブル回路
FR2857534B1 (fr) * 2003-07-09 2005-10-28 Innova Card Circuit integre comportant un module ordinaire et un module securise raccordes par une liaison protegee
TWI221966B (en) * 2003-08-28 2004-10-11 Sunplus Technology Co Ltd Device for encrypting/protecting program with protection bit codes
FR2862150B1 (fr) * 2003-11-12 2006-08-11 Innova Card Circuit integre a bus de donnees protege par un brouillage
DE102004030602B4 (de) * 2004-06-24 2007-04-19 Infineon Technologies Ag Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses
US20060117122A1 (en) * 2004-11-04 2006-06-01 Intel Corporation Method and apparatus for conditionally obfuscating bus communications
US7822994B2 (en) * 2005-01-07 2010-10-26 Konica Minolta Systems Laboratory, Inc. Data bus line and bus having an encryption/decryption device
US20060288209A1 (en) * 2005-06-20 2006-12-21 Vogler Dean H Method and apparatus for secure inter-processor communications
FR2889349A1 (fr) * 2005-07-26 2007-02-02 St Microelectronics Sa Procede et dispositif de securisation d'un circuit integre, notamment une carte a microprocesseur
EP2109314A1 (de) * 2008-04-11 2009-10-14 Gemalto SA Verfahren zum Schutz von zwischen einer Smartcard und einem Endgerät ausgetauschten Schlüsseln
CN103840937A (zh) * 2012-11-23 2014-06-04 许丰 虚拟量子加密系统
CN105790927B (zh) * 2016-02-26 2019-02-01 华为技术有限公司 一种总线分级加密系统
CN108073837B (zh) * 2016-11-15 2021-08-20 华为技术有限公司 一种总线安全保护方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3083187B2 (ja) * 1991-09-30 2000-09-04 富士通株式会社 電子財布システムの鍵管理方式
JPH0635806A (ja) * 1992-07-21 1994-02-10 Hitachi Ltd メモリicカード
DE4339464C2 (de) * 1993-11-19 1995-11-16 Litef Gmbh Verfahren zur Sprachverschleierung und -entschleierung bei der Sprachübertragung und Einrichtung zur Durchführung des Verfahrens
WO1995016238A1 (en) * 1993-12-06 1995-06-15 Telequip Corporation Secure computer memory card
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JPH07287742A (ja) * 1994-04-19 1995-10-31 Tokin Corp Icカード
FR2723223B1 (fr) * 1994-07-29 1996-08-30 Sgs Thomson Microelectronics Procede de brouillage numerique et application a un circuit programmable
FR2728980B1 (fr) 1994-12-30 1997-01-31 Thomson Csf Dispositif de securisation de systemes d'information organises autour de microprocesseurs
US6038551A (en) * 1996-03-11 2000-03-14 Microsoft Corporation System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer
US6089460A (en) * 1996-09-13 2000-07-18 Nippon Steel Corporation Semiconductor device with security protection function, ciphering and deciphering method thereof, and storage medium for storing software therefor
DE19708616C2 (de) * 1997-03-03 1999-09-02 Siemens Ag Elektronische Datenverarbeitungseinrichtung und -system
JP3609263B2 (ja) * 1998-08-25 2005-01-12 富士写真フイルム株式会社 画像暗号化方法および装置、画像復号化方法および装置並びに記録媒体
JP3827050B2 (ja) 1999-03-09 2006-09-27 株式会社ルネサステクノロジ Icカードと半導体集積回路装置
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US6779112B1 (en) * 1999-11-05 2004-08-17 Microsoft Corporation Integrated circuit devices with steganographic authentication, and steganographic authentication methods
UA72944C2 (uk) * 1999-12-02 2005-05-16 Інфінеон Текнолоджіз Аг Мікропроцесорний пристрій з кодуванням
ES2207567T3 (es) * 2000-01-18 2004-06-01 Infineon Technologies Ag Disposicion de microprocesadores con codificacion.
US7006629B2 (en) * 2000-12-19 2006-02-28 International Business Machines Corporation Method and system for processing a data set

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037590A1 (de) * 2004-08-03 2006-02-23 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betrieb einer solchen
DE102004037590B4 (de) * 2004-08-03 2006-06-14 Infineon Technologies Ag Integrierte Schaltung und Verfahren zum Betrieb einer solchen

Also Published As

Publication number Publication date
US20030048900A1 (en) 2003-03-13
FR2829266A1 (fr) 2003-03-07
KR100428786B1 (ko) 2004-04-30
FR2829266B1 (fr) 2005-11-25
KR20030018679A (ko) 2003-03-06
CN1407623A (zh) 2003-04-02
CN1288568C (zh) 2006-12-06
US8249253B2 (en) 2012-08-21

Similar Documents

Publication Publication Date Title
DE69821159T2 (de) System und Verfahren zur Authentifikation, und Vorrichtung und Verfahren zur Authentifikation
DE10232348A1 (de) Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren
DE102005010779B4 (de) Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten
EP0281057B1 (de) Schaltungsanordnung zur Sicherung des Zugangs zu einem Datenverarbeitungssystem mit Hilfe einer Chipkarte
EP1246043A2 (de) Verfahren zur Übertragung von Daten über einen Datenbus
DE10254396A1 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
DE3018945A1 (de) Datenbehandlungsgeraet und verfahren zum sichern der uebertragung von daten
DE102005013830B4 (de) Vorrichtung und Verfahren zum verschlüsselten Übertragen von Daten
EP1249010A1 (de) Mikroprozessoranordnung mit verschlüsselung
DE4010305A1 (de) Zufallszahlengenerator
DE60013424T2 (de) Datenverarbeitungsvorrichtung und integrierter Schaltkreis
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
EP0981115A2 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE60113721T2 (de) Logischer schaltkreis mit variablen internen polaritäten
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE102004013480B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE102010045580A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
WO2005043804A1 (de) Verfahren und vorrichtung zur ver- und entschlüsselung
DE102006012635B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung
EP1118924B1 (de) Verfahren zum betrieb einer mikroprozessoranordnung und mikroprozessoranordnung
EP1355269B1 (de) Datenverarbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls
EP1046142B1 (de) Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse
EP0198384A2 (de) Verfahren und Anordnung zum Verschlüsseln von Daten
DE3335387A1 (de) Verfahren zur verhinderung des ablaufs eines programms auf fuer den ablauf dieses programms nicht zugelassenen rechnern
EP1459476B1 (de) Datenverarbeitungsvorrichtung zum Wechsel eines Schlüssels in unregelmässigen zeitlichen Abständen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee