DE10232348A1 - Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren - Google Patents
Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges DatenübertragungsverfahrenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/34—Bits, 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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
2001
- 2001-08-30 KR KR10-2001-0052927A patent/KR100428786B1/ko not_active IP Right Cessation
-
2002
- 2002-04-23 US US10/128,839 patent/US8249253B2/en active Active
- 2002-06-26 FR FR0207932A patent/FR2829266B1/fr not_active Expired - Lifetime
- 2002-07-15 DE DE10232348A patent/DE10232348A1/de not_active Withdrawn
- 2002-08-29 CN CNB021419639A patent/CN1288568C/zh not_active Expired - Fee Related
Cited By (2)
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 |