DE102012004780B4 - Method and arrangement for protecting data secrets in memory - Google Patents
Method and arrangement for protecting data secrets in memory Download PDFInfo
- Publication number
- DE102012004780B4 DE102012004780B4 DE102012004780.0A DE102012004780A DE102012004780B4 DE 102012004780 B4 DE102012004780 B4 DE 102012004780B4 DE 102012004780 A DE102012004780 A DE 102012004780A DE 102012004780 B4 DE102012004780 B4 DE 102012004780B4
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- data
- random
- unique
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 163
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000001419 dependent effect Effects 0.000 claims abstract description 40
- 230000009466 transformation Effects 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010422 painting Methods 0.000 description 3
- 241001136792 Alle Species 0.000 description 2
- 101100434459 Arabidopsis thaliana ADS1 gene Proteins 0.000 description 2
- 101100388296 Arabidopsis thaliana DTX51 gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 210000002023 somite Anatomy 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- REYFJDPCWQRWAA-UHFFFAOYSA-N antazoline Chemical compound N=1CCNC=1CN(C=1C=CC=CC=1)CC1=CC=CC=C1 REYFJDPCWQRWAA-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000000386 microscopy Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000001179 sorption measurement Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Verfahren zum Schutz von Datengeheimnissen in Speicher, indem die Auswahl einer Speicherzelle mit einem als Unikat verwendeten und auf die Speicherzelle bezogenen Adressdatum erfolgt, – wobei vor oder bei einer Adressierung eines Speichers eine zufallsbestimmte Adressentransformation ausgeführt wird, die das als Unikat verwendete Adressdatum zufallsbestimmt in mindestens ein neues, den Speicher adressierendes Adressunikat abbildet, – wobei die zufallsbestimmte Adressentransformation mindestens ein und denselben Adressenteil jedes Adressdatums des Speichers mit einer Zufallszahl und mindestens einen anderen Adressenteil jedes Adressdatums des Speichers mit mindestens einer weiteren Zufallszahl so verändert, dass jedes Adressdatum für die Adressierung eines Speichers ein zufallsbestimmtes, den Speicher adressierendes Adressunikat ist, und – die für die Adressentransformation verwendeten Zufallszahlen durch einen Zufallsgenerator erzeugt und in einem internen Speicher eines Prozessors oder verschlüsselt auf einem externen Speichermedium solange gespeichert werden, wie sie zum Schreiben und Lesen des Speichers über ihre zufallsbestimmten, den Speicher adressierenden Adressunikate benötigt werden, und – die zufallsbestimmte Adressentransformation Anti- und/oder Äquivalenz-Verknüpfungen oder Anti- und/oder Äquivalenz-Verknüpfungen und mindestens eine zufallsbestimmte Bit- oder Bit-Byte- oder Byte-Permutation ist, wobei die Anti- oder Äquivalenz-Verknüpfungen zwischen den Bits einer Zufallszahl oder mehrerer Zufallszahlen und den Bits der Adresse eines Adressteils oder mehrerer Adressteile ausgeführt werden, – wobei die Zuordnung einer Zufallszahl oder mehrerer Zufallszahlen zu einer Adresse adress- oder teiladressbereichsmäßig erfolgt und – die Auswahl des Adressbereiches oder des Teiladressbereiches in Verbindung mit mindestens einem Vergleich eines Teiles einer Adresse mit mindestens einer als Adressbereichsgrenzwert oder Teiladressbereichsgrenzwert verwendeten Zufallszahl gesteuert wird, – wobei die Daten, die in einen Speicher geschrieben werden, mit mindestens einer adressabhängig ausgewählten Zufallszahl verschlüsselt werden.Method for protecting data secrets in memory by selecting a memory cell having an address datum used as unique and referring to the memory cell, wherein a randomly determined address transformation is carried out before or during addressing of a memory which randomly determines the datum datum used as a unique datum in at least a new memory addressing address unique image maps, - wherein the random address transformation at least one and the same address portion of each address data of the memory random number and at least one other address portion of each address data of the memory with at least one further random number changed so that each address data for addressing a Memory is a random address memory address addressing memory, and the random numbers used for the address transformation are generated by a random number generator and stored in an internal memory of a proc essors or encrypted on an external storage medium as long as they are needed to write and read the memory via their randomly determined memory addressing address unique, and - the random address transformation anti and / or equivalence links or anti and / or equivalence Links and at least one random bit or bit byte or byte permutation, wherein the anti or equivalence links between the bits of a random number or a plurality of random numbers and the bits of the address of an address part or more address parts are executed, - the assignment of a random number or a plurality of random numbers to an address takes place adress- or Teiladressbereichsmäßig and - the selection of the address range or the partial address range in connection with at least one comparison of a part of an address with at least one as an address range limit or Teiladressbereichsgr the random number used is encrypted, wherein the data written to a memory is encrypted with at least one address-dependent selected random number.
Description
Die vorliegende Erfindung betrifft ein Verfahren und eine Anordnung zum Schutz von Datengeheimnissen in Speicher.The present invention relates to a method and an arrangement for protecting data secrets in memory.
Stand der Technik und Hintergrund der ErfindungPrior art and background of the invention
Der Schutz von Datengeheimnissen und der Schutz vor Datenmanipulationen zählen bei Fremdnutzung von Computern bzw. Computersystemen zu den relevantesten IT-Sicherheitszielen. Besonders bei Cloud Computing, in denen Entwicklungsaufgaben in der Cloud realisiert werden, müssen die obig aufgeführten Schutzarten vom Frontend- bis einschließlich Backend-Computer gewährleistet sein. Auch bei der computerisierten Verwaltung von Fremddaten verschiedener Aktiengesellschaften bei einem Provider müssen die Daten auf Grund rechtlicher Vorgaben so verwaltet werden, dass kein unbefugter Dritter Kenntnis über firmeninterne Daten erlangt. Programmcodedaten stellen ein hohes Wirtschaftsgut dar. Der Schutz der Datengeheimnisse dieser Daten in der unmittelbaren Umgebung eines Prozessors ist ein besonderes Anliegen des Urhebers der Programmcodedaten, um den Knowhow-Schutz und den Schutz von Algorithmen sowie Initialisierungsparameter zu gewährleisten. Der Stand der Technik schützt Daten durch Verschlüsselung. So werden in
Aufgabe und Ziele der ErfindungObject and objectives of the invention
Die Aufgabe der Erfindung besteht darin, ein Verfahren und eine Anordnung zu schaffen, die den Schutz von Datengeheimnissen in Speichern sichern. Dabei soll mit dem Schutz der Datengeheimnisse gleichzeitig ein Schutz vor Datenmanipulation gegeben sein. Weiterhin soll der Schutz von Datengeheimnissen in einem Speicher auch gegenüber von Berechtigten gewährleistet sein.The object of the invention is to provide a method and an arrangement which ensure the protection of data secrets in memories. At the same time, the protection of data secrets should provide protection against data manipulation. Furthermore, the protection of data secrets in a memory should also be guaranteed against authorized persons.
Offenbarung der ErfindungDisclosure of the invention
Gegenüber dem Stand der Technik erfolgt vorteilhaft der Schutz von Datengeheimnissen in Speichern mit folgenden Merkmalen:
- – Zufallsbestimmte Adressentransformation vor oder bei einer Adressierung eines Speichers, wobei die als Unikat verwendete Adresse eines Speichers in ein zufallsbestimmtes Adressunikat oder in mehrere zufallsbestimmte Adressunikate abgebildet wird und die Daten, die in einen Speicher geschrieben werden, mit mindestens einer adressabhängig ausgewählten Zufallszahl verschlüsselt werden.
- – Zufallsbestimmte Adressentransformation einer Adresse eines Speichers in ein zufallsbestimmtes Adressunikat ohne oder mit Datenexpansion oder in zufallsbestimmte Adressunikate mit Adressenexpansion oder in zufallsbestimmte Adressunikate mit Adressen- und Datenexpansion, wobei bei zufallsbestimmter Adressentransformation einer Adresse in ein zufallsbestimmtes Adressunikat oder in zufallsbestimmte Adressunikate mit Datumsexpansion dem Datum einen adressabhängigen fehlererkennenden Sicherheitscode oder einen adressabhängigen fehlererkennenden Sicherheitscode und eine Zufallszahl hinzugefügt wird.
- – Alle für die Adressentransformationen, für die Verschlüsselungen und Entschlüsselungen der Daten verwendeten Zufallszahlen oder für die Adressentransformationen, für die Verschlüsselungen und Entschlüsselungen der Daten und Datenexpansion verwendeten Zufallszahlen werden durch einen Zufallsgenerator erzeugt und in einem internen Speicher eines Prozessors oder verschlüsselt auf einem externen Speichermedium solange gespeichert, wie sie zum Schreiben und Lesen des Speichers über ihre zufallsbestimmten Adressunikate benötigt werden.
- – Zufallsbestimmte Adressentransformation, bei der mindestens ein und derselbe Adressteil jedes Adressdatums des Speichers mit mindestens einer Zufallszahl oder bei der mindestens ein und derselbe Adressteil jedes Adressdatums des Speichers mit einer Zufallszahl und mindestens ein anderer Adressteil jedes Adressdatums des Speichers mit mindestens einer weiteren Zufallszahl so verändert wird oder werden, dass jedes Adressdatum für die Adressierung eines Speichers ein zufallsbestimmtes Adressunikat ist.
- Random address transformation before or during addressing of a memory, where the unique address of a memory is mapped into a random address set or several random address unique and the data written to a memory is encrypted with at least one address-selected random number.
- Random address transformation of an address of a memory into a random address uniqueness with or without data expansion or random address unicom with address expansion or in random address unicampted with address and data expansion, wherein in case of random address transformation of an address into a random address unique or Random Adressunikate with date expansion the date one address-dependent error-detecting security code or an address-dependent error-detecting security code and a random number is added.
- All random numbers used for the address transformations, for the encryption and decryption of the data or for the address transformations, random numbers used for the encryption and decryption of the data and data expansion are generated by a random generator and in an internal memory of a processor or encrypted on an external storage medium stored as they are needed to write and read the memory about their random address unique.
- Random address transformation in which at least one and the same address part of each address datum of the memory with at least one random number or at least one and the same address part of each address datum of the memory with a random number and at least one other address part of each datum of the memory with at least one further random number change in this way It will be or become that each address datum for addressing a memory is a randomly-determined address unique.
Die zufallsbestimmte Adressentransformationen sind vorzugsweise Anti- und/oder Äquivalenz-Verknüpfungen oder Anti- und/oder Äquivalenz-Verknüpfungen und mindestens eine zufallsbestimmte Bit- oder Bit-Byte- oder Byte-Permutation, wobei die Anti- und/oder Äquivalenz-Verknüpfungen zwischen den Bits einer Zufallszahl oder mehrerer Zufallszahlen und den Bits der Adresse eines Adressteils oder mehrerer Adressteile ausgeführt werden. Die Zuordnung einer Zufallszahl oder die Zuordnungen mehrerer Zufallszahlen zu einer Adresse erfolgt bzw. erfolgen adress- oder teiladressbereichsmäßig. Die Auswahl des Adressbereiches oder Teiladressbereiches wird in Verbindung mit mindestens einem Vergleich eines Teiles einer Adresse mit mindestens einer als Adressbereichsgrenzwert oder Teiladressbereichsgrenzwert verwendeten Zufallszahl gesteuert.
- – Alternativ zum vorangehenden Anstrich bildet die zufallsbestimmte Adressentransformation mindestens ein Adressteil jedes Adressdatums des Speichers über eine Look-up-Tabelle in ein zufallsbestimmtes Adressunikat oder mehr als ein Adressteil jedes Adressdatums des Speichers über je eine Look-up-Tabelle in zufallsbestimmte Adressunikate ab. Die Zuordnung eines Adressteils zu einer Look-up-Tabelle erfolgt adress- oder teiladressbereichsmäßig, wobei die Auswahl des Adressbereiches oder Teiladressbereiches in Verbindung mit mindestens einem Vergleich eines Teiles einer Adresse mit mindestens einer als Adressbereichsgrenzwert oder Teiladressbereichsgrenzwert gebrauchten Zufallszahl gesteuert wird.
- As an alternative to the preceding painting, the randomly determined address transformation forms at least one address part of each address datum of the memory via a look-up table into a randomly determined address unique or more than one address part of each address datum of the memory via a look-up table in a random manner Address unique. The assignment of an address part to a look-up table takes place at the address or in the partial address range, wherein the selection of the address range or partial address range is controlled in conjunction with at least one comparison of a part of an address with at least one random number used as an address range limit or partial address range limit value.
Merkmale einer DatenbehandlungCharacteristics of a data treatment
- – Vor dem Schreiben eines Datums in einen Speicher wird das Datum durch das Hinzufügen mindestens eines adressabhängigen fehlererkennenden Sicherheitscodes expandiert, anschließend Bit oder Byte oder Bit und Byte permutiert, mit mindestens einer einem Adressteil der Adresse oder des Adressunikats zugeordneten Zufallszahl verschlüsselt und adressenabhängig gesplittet. Die Teildaten des gesplitteten Datums werden auf Speicherplätze gespeichert, die mit einem zufallsbestimmten Adressunikat oder mit mehr als einem zufallsbestimmten Adressunikat ausgewählt sind.- Before writing a date in a memory, the date is expanded by adding at least one address-dependent error-detecting security code, then permuting bits or bytes or bytes and bytes, encrypted with at least one random number assigned to an address portion of the address or the address unique, and address-dependently split. The partial data of the split date is stored in memory locations selected with a random address set or with more than one random address unique.
Beim Lesen eines Datums aus einem Speicher werden Teildaten des gesplitteten Datums von einem mit einem zufallsbestimmten Adressunikat ausgewählten Speicherplatz oder von mehreren zufallsbestimmten Adressunikaten ausgewählten Speicherplätzen gelesen, die Teildaten des gesplitteten Datums adressenabhängig zusammengefügt, anschließend mit mindestens einer einem Adressteil der Adresse oder des Adressunikats zugeordneten Zufallszahl entschlüsselt, Bit oder Byte oder Bit und Byte repermutiert. Der adressabhängige fehlererkennende Sicherheitscode wird vom Datum getrennt und ausgewertet. Bei Richtigkeit des Codes werden die gelesenen Daten den Prozessor zur Verfügung gestellt.When reading a date from a memory, partial data of the split date is read from a memory location selected by a random address unique or selected from a plurality of random address unique entries, the partial data of the split date is address-dependent, then connected to at least one random number associated with an address portion of the address or address unique decoded, bit or byte or bit and byte repermutiert. The address-dependent error-detecting security code is separated from the date and evaluated. If the code is correct, the read data is made available to the processor.
Merkmale einer alternativen DatenbehandlungFeatures of an alternative data handling
- – Vor dem Schreiben eines Datums in einen Speicher wird das Datum durch das Hinzufügen mindestens eines adressabhängigen fehlererkennenden Sicherheitscodes expandiert, anschließend fehlerkorrigierend codiert, Bit oder Byte oder Bit und Byte permutiert, mit mindestens einer einem Adressteil der Adresse oder des Adressunikats zugeordneten Zufallszahl verschlüsselt und adressenabhängig gesplittet.- Prior to writing a date in a memory, the date is expanded by the addition of at least one address-dependent error-detecting security code, then error-correcting encoded, bit or byte or bit and byte permutated, encrypted with at least one random number associated with an address portion of the address or the address unique and address dependent split.
Die Teildaten des gesplitteten Datums werden auf Speicherplätze gespeichert, die mit einem zufallsbestimmten Adressunikat oder mit mehr als einem zufallsbestimmten Adressunikat ausgewählt sind. Beim Lesen eines Datums aus einem Speicher werden Teildaten des gesplitteten Datums von einem mit einem zufallsbestimmten Adressunikat ausgewählten Speicherplatz oder von mehreren zufallsbestimmten Adressunikaten ausgewählten Speicherplätzen gelesen, die Teildaten des gesplitteten Datums adressenabhängig zusammengefügt, anschließend mit mindestens einer einem Adressteil der Adresse oder des Adressunikats zugeordneten Zufallszahl entschlüsselt, Bit oder Byte oder Bit und Byte repermutiert und fehlerkorrigierend decodiert. Der adressabhängige fehlererkennende Sicherheitscode wird vom Datum getrennt und ausgewertet. Bei Richtigkeit des Codes werden die gelesenen Daten den Prozessor zur Verfügung gestellt.
- – Der adressabhängige fehlererkennende Sicherheitscode wird vor dem Schreiben eines Datums in einem Speicher durch Anti- und/oder Äquivalenz-Verknüpfungen generiert, wobei Bits des zu schreibenden Datums und Bits mindestens eines Adressteils der im Schreibvorgang angesprochenen Adresse anti- und/oder äquivalent verknüpft werden.
- – Die Auswertung des adressabhängigen fehlererkennenden Sicherheitscodes enthält Anti- und/oder Äquivalenz-Verknüpfungen von Bits des gelesenen Datums und Bits des adressabhängigen fehlererkennenden Sicherheitscodes und ein Vergleich des Ergebnisses der Anti- und/oder Äquivalenz-Verknüpfungen mit dem beim Schreiben verwendeten gleichen Adressteil der im Lesevorgang angesprochenen Adresse, wobei bei Ungleichheit ein Fehlerflag gesetzt wird. Das Setzen des Fehlerflags löst eine Fehlerbehandlungsroutine in einem Prozessor aus.
- – Bei zufallsbestimmter Adressentransformation einer Adresse in ein zufallsbestimmtes Adressunikat oder zufallsbestimmtes expandiertes Adressunikat mit oder ohne Datumsexpansion schreibt mindestens ein weiterer Prozess oder eine Interrupt-Softwareroutine Zufallszahlen zu zufälligen Zeiten auf Adressen eines, für den Prozess bzw. für die Interrupt-Softwareroutine, festgelegten Adressbereichs eines Speichers oder ein Prozess oder eine Interrupt-Softwareroutine liest Daten von Speicherplätzen zufällig generierter Adressen oder es werden Daten mehrerer Prozesse mischend geschrieben und gelesen.
- – Alternativ zum vorangehenden Anstrich wird bei zufallsbestimmter Adressentransformation einer Adresse in zufallsbestimmte Adressunikate mit Adressenexpansion oder mit Adressenexpansion und Datenexpansion der prozessorseitige Schreibvorgang in mehrere Teilschreibvorgänge zerlegt, wobei die gesplitteten Daten aufeinanderfolgend auf Speicherplätzen zufallsbestimmter expandierter Adressunikate gespeichert werden. Bei zufallsbestimmter Adressentransformation einer Adresse in zufallsbestimmte Adressunikate mit Adressenexpansion oder mit Adressenexpansion und Datenexpansion wird der prozessorseitige Lesevorgang in mehrere Teillesevorgänge zerlegt, wobei die gesplitteten Daten aufeinanderfolgend von Speicherplätzen zufallsbestimmter expandierter Adressunikate gelesen werden.
- – Alternativ zu den zwei vorangestellten Anstrichen wird bei zufallsbestimmter Adressentransformation einer Adresse in zufallsbestimmte Adressunikate mit Adressenexpansion und Datenexpansion der prozessorseitige Schreibvorgang in mehrere Teilschreibvorgänge zerlegt, die gesplitteten Daten werden gespeichert auf Speicherplätze zufallsbestimmter expandierter Adressunikate, wobei zufallsbestimmt eine Zufallszahl zwischen den Teilschreibvorgängen der gesplitteten Daten auf ein Speicherplatz eines zufallsbestimmten expandierten Adressunikats geschrieben werden.
- - The address-dependent error-detecting security code is generated prior to writing a date in a memory by anti and / or equivalence links, whereby bits of the date and bits to be written at least one address portion of the address addressed in the write operation are anti-and / or equivalent linked.
- - The evaluation of the address-dependent error-detecting security code contains anti and / or equivalence links of bits of the read date and bits of the address-dependent error-detecting security code and a comparison of the result of the anti and / or equivalence links with the same address part of the used in writing Address addressed address, in case of inequality an error flag is set. Setting the error flag triggers an error handling routine in a processor.
- In the case of random address transformation of an address into a random address unique or random expanded address unique with or without date expansion, at least one other process or interrupt software routine writes random numbers at random times to addresses of an address range specified for the process or for the interrupt software routine Memory or a process or an interrupt software routine reads data from memory locations of randomly generated addresses or data of several processes are mixed written and read.
- As an alternative to the preceding painting, random address transformation of an address becomes random address unique With address expansion or with address expansion and data expansion, the processor-side write operation is split into a plurality of partial write operations, wherein the split data is stored sequentially in memory locations of randomly-defined expanded address unique data. In the case of random address transformation of an address into random address unicamines with address expansion or with address expansion and data expansion, the processor-side read operation is split into a plurality of partial readings, wherein the split data are successively read from memory locations of randomly-defined expanded address unique items.
- As an alternative to the two preceding coats, random address transformation of an address into random address unicodes with address expansion and data expansion splits the processor-side write into multiple partial writes, the split data is stored in random randomized address unique locations, randomly randomizing between the partial writes of the split data a storage location of a randomly determined expanded address unique will be written.
Merkmale der Anordnung zum Schutz von Datengeheimnissen in SpeichernFeatures of the device for protecting data secrets in memories
- – Prozessor mit obigen Verfahrensschritten ausführendem Computerprogramm ist innerhalb eines Schaltkreises als Controller zur Ansteuerung des Speichers integriert oder über eine SPI-Schnittstelle mit einem Speicher verbunden, dessen Speicherplätze einzeln adressierbar sind.- Processor executing the above method steps computer program is integrated within a circuit as a controller for driving the memory or connected via an SPI interface to a memory whose memory locations are individually addressable.
- – Alternativ zum vorangehenden Anstrich führt eine elektronische Einheit die obigen Verfahrensschritte aus, wobei die elektronische Einheit zwischen Speicher und Speicherverwaltungseinheit oder MMU eines Prozessors oder Bus und Speicher angeordnet ist.As an alternative to the preceding painting, an electronic unit carries out the above method steps, the electronic unit being arranged between memory and memory management unit or MMU of a processor or bus and memory.
Das mit den Merkmalen zum Schutz der Datengeheimnisse gleichzeitig der Schutz vor Datenmanipulationen gewährleistet wird.That with the features to protect the data secrets at the same time the protection against data manipulation is guaranteed.
Die Aufgabe der Erfindung wird durch die in den Ansprüchen dargestellte Lehre gelöst. Im Folgenden wird die Erfindung beispielhaft und detailliert anhand der
Im Einzelnen zeigen:In detail show:
In dem Blockbild,
In
In
Eine beispielhafte Ausführungsart eines Datenmoduls
Das Random-Steuermodul
In
Eine beispielhafte Ausführungsart des Adressexpansionssteuer-Moduls
In einem Steuermodul
Die Erweiterung des Datenmoduls
Ein zweites Ausführungsbeispiel der Erfindung ist in
In
Vorteile der ErfindungAdvantages of the invention
Die Erfindung besitzt gegenüber dem Stand der Technik folgende Vorteile:
- – ONE-TIME-PAD gesicherter Schutz der Datengeheimisse durch Expansion eines Datums mit adressabhängigen fehlererkennenden Sicherheitscode, Bit oder Byte oder Bit und Byte-Permutation, bitweiser Zufallsverschlüsselung und mit anschließender datenaufgeteilter Speicherung auf getrennte zufallsbestimmte Speicherplätze eines Speichers mit angemessener Speicherkapazität (Zuordnung getrennter Datenteile durch einen Dritten im Speicher letztlich nicht möglich.)
- – ONE-TIME-PAD gesicherter Schutz vor Datenmanipulation durch Mischen von Bits und Bytes des adressabhängigen fehlererkennenden Sicherheitscode und den Bits oder Bytes des zu speichernden Datums mit anschließender Zufallsverschlüsselung und getrenntes Speichern auf zufallsbestimmte Adressplätze des Speichers (Zuordnung der Bit zum Datum und zum adressenabhängigen fehlererkennenden Fehlercode durch einen Dritten schließlich nicht möglich.)
- – Mischen von verschiedenen Speicherschreib- und Speicherlesevorgängen unterbindet das Zuordnen eines Datums zum Prozess.
- – Zufallsbestimmtes Abspeichern von Zufallszahlen in einem begrenzten Adressbereich auf Speicherplätze zufallsbestimmter Adressunikate erschweren das Aufspüren von verschlüsselten permutierten expandierten Datenteilen.
- – Einfügen eines zufallsbestimmten Teilschreibvorgangs zum Schreiben einer Zufallszahl in der Reihenfolge von Teilschreibvorgängen der gesplitteten Datenteile verhindert auch beim Beobachten der Schreibvorgänge die Zuordnung zum Datum.
- – Mischen von verschlüsselten, permutierten expandierten Programmcodedaten mit sonstigen anders verschlüsselten, permutierten, expandierten Daten schützt Programmcode vor Maschinencode-Rückübersetzung.
- – Programmparameter, Nutzerschlüssel u. a. m., die in den Daten des Programmcodes enthalten sind, können somit geschützt werden.
- – Sicherheitsrelevante Daten wie Passwörter, Zertifikate und anderes mehr können somit abgesichert werden.
- – Keine neuen Speicherverwaltungsmechanismen erforderlich. Etablierte Speicherverwaltungsmechanismen hinzufügbar.
- – Real-World-Attacken wie Zeitangriffe, Stromanalysen, Auswertung elektromagnetischer Felder, Speicherauslesen durch Antasten von Leitungen oder durch Mikroskopie, Tampering sind letztendlich unterbunden.
- - ONE-TIME-PAD secured protection of data secrets by expansion of a date with address-dependent error-detecting security code, bit or byte or bit and byte permutation, bitwise random encryption and subsequent data-separated storage on separate random memory locations of a memory with adequate storage capacity (assignment of separate data parts by a third party in the store ultimately not possible.)
- - ONE-TIME-PAD secured protection against data manipulation by mixing bits and bytes of the address-dependent error-detecting security code and the bits or bytes of the data to be stored with subsequent random encryption and storage separately to random address locations of the memory (assignment of the bit to the date and the address-dependent error-detecting Error code by a third party finally not possible.)
- - Mixing different memory write and memory reads prevents the assignment of a datum to the process.
- Randomly storing random numbers in a limited address range on storage locations of randomly determined address items makes the detection of encrypted permuted expanded data items difficult.
- - Inserting a random partial write operation to write a random number in the order of partial write operations of the split data parts also prevents the assignment to the date when observing the write operations.
- - Mixing encrypted, permuted expanded program code data with other differently encrypted, permuted, expanded data protects program code from machine code back translation.
- - Program parameters, user keys, etc., which are contained in the data of the program code, can thus be protected.
- - Security-relevant data such as passwords, certificates and more can thus be secured.
- - No new storage management mechanisms required. Established storage management mechanisms added.
- - Real-world attacks such as time attacks, power analysis, evaluation of electromagnetic fields, memory readings by probing lines or by microscopy, tampering are ultimately prevented.
Der in den beiden ersten Anstrichen aufgeführte ONE-TIME-PAD-Schutz bezieht sich auf die Betrachtung des gesamten Datenmassivs im kompletten Speicher.The ONE-TIME PAD protection listed in the first two coats refers to the consideration of the entire data mass in the entire memory.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012004780.0A DE102012004780B4 (en) | 2012-03-02 | 2012-03-02 | Method and arrangement for protecting data secrets in memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012004780.0A DE102012004780B4 (en) | 2012-03-02 | 2012-03-02 | Method and arrangement for protecting data secrets in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102012004780A1 DE102012004780A1 (en) | 2013-09-05 |
DE102012004780B4 true DE102012004780B4 (en) | 2018-02-08 |
Family
ID=48985001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102012004780.0A Expired - Fee Related DE102012004780B4 (en) | 2012-03-02 | 2012-03-02 | Method and arrangement for protecting data secrets in memory |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102012004780B4 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013014587B4 (en) | 2013-08-29 | 2017-10-19 | Fachhochschule Schmalkalden | Method for IT protection of security-relevant data and its processing |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4465901A (en) * | 1979-06-04 | 1984-08-14 | Best Robert M | Crypto microprocessor that executes enciphered programs |
DE69019822T2 (en) * | 1990-06-27 | 1995-12-14 | Ibm | Method and device for checking the content and address of a memory device. |
US20060156191A1 (en) * | 2005-01-07 | 2006-07-13 | Steve Driediger | Memory addressing error protection systems and methods |
US20070121943A1 (en) * | 2004-03-18 | 2007-05-31 | Stmicroelectronics Limited | Data obfuscation |
US20080301467A1 (en) * | 2007-05-31 | 2008-12-04 | Kabushiki Kaisha Toshiba | Memory Security Device |
US8001374B2 (en) * | 2005-12-16 | 2011-08-16 | Lsi Corporation | Memory encryption for digital video |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1615369A1 (en) | 2004-07-06 | 2006-01-11 | Proton World International N.V. | Block encryption of the content of a memory external to a processor |
DE102008010792B4 (en) | 2008-02-22 | 2011-06-30 | Fachhochschule Schmalkalden, 98574 | Procedures for unmanipulable and secure file and folder access |
DE102008010794B3 (en) | 2008-02-22 | 2009-10-29 | Fachhochschule Schmalkalden | Method for unmanipulable, tap-proof and non-hackable P2P communication in multi-subscriber networks |
DE102008026697A1 (en) | 2008-06-04 | 2009-12-10 | Infineon Technologies Ag | Data output encoding device e.g. safety dongle, for use in mobile telephone, has bus encoding mechanism for selectively encoding digital signals output by processor, and peripheral interface for outputting selectively encoded signals |
DE102008054627A1 (en) | 2008-12-15 | 2010-06-17 | Robert Bosch Gmbh | Control device with the method for manipulation protection computer program, computer program product |
DE102009036386A1 (en) | 2009-08-06 | 2011-02-10 | Fachhochschule Schmalkalden | Real-time capable quantum computer-safe encryption of data of all kinds |
-
2012
- 2012-03-02 DE DE102012004780.0A patent/DE102012004780B4/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4465901A (en) * | 1979-06-04 | 1984-08-14 | Best Robert M | Crypto microprocessor that executes enciphered programs |
DE69019822T2 (en) * | 1990-06-27 | 1995-12-14 | Ibm | Method and device for checking the content and address of a memory device. |
US20070121943A1 (en) * | 2004-03-18 | 2007-05-31 | Stmicroelectronics Limited | Data obfuscation |
US20060156191A1 (en) * | 2005-01-07 | 2006-07-13 | Steve Driediger | Memory addressing error protection systems and methods |
US8001374B2 (en) * | 2005-12-16 | 2011-08-16 | Lsi Corporation | Memory encryption for digital video |
US20080301467A1 (en) * | 2007-05-31 | 2008-12-04 | Kabushiki Kaisha Toshiba | Memory Security Device |
Also Published As
Publication number | Publication date |
---|---|
DE102012004780A1 (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60124845T2 (en) | Microprocessor with program and data protection function in a multitasking environment | |
EP1668516B1 (en) | Decrypting and encrypting during write accesses to a memory | |
DE10196006B4 (en) | Create a key hierarchy for use in an isolated execution environment | |
DE69815599T2 (en) | Method and device for protecting application data in secure memory areas | |
DE60302844T2 (en) | Semiconductor device with encryption, semiconductor device with external interface, and content reproduction method | |
DE60217260T2 (en) | Data processing and encryption unit | |
DE102009041176B9 (en) | A compiler system and method for compiling a source code into an encrypted machine language code | |
EP2462717B1 (en) | Real-time capable quantum computer secure encoding of data of all types | |
DE112004002259B4 (en) | Access to private data about the status of a data processing machine from a publicly accessible storage | |
DE112017004609T5 (en) | Multi-level memory integrity method and device | |
DE102014213539A1 (en) | Device and method for memory address encryption | |
DE112010005842T5 (en) | Scrambling an address and encrypting write data to store a memory device | |
DE602004005025T2 (en) | INSTRUCTIONS FOR PROCESSING A CLOSED MESSAGE | |
DE112009004491T5 (en) | System and method for securely storing data in an electronic device | |
WO2011054639A1 (en) | Cryptographic hardware module or method for updating a cryptographic key | |
DE10254396A1 (en) | Device and method for encrypting data | |
DE102008010789B4 (en) | Method for the access and communication-related random encryption and decryption of data | |
DE112008003855T5 (en) | System and method for providing secure access to system memory | |
DE102014208855A1 (en) | Method for carrying out communication between control units | |
DE102015113468A1 (en) | DATA PROCESSING DEVICE AND METHOD FOR SECURING A DATA PROCESSING AGAINST ATTACKS | |
DE602004003226T2 (en) | Table masking to withstand attacks by analyzing power consumption. | |
DE602004001732T2 (en) | Data encryption in an electronic device with multiple symmetric processors | |
DE112006004173T5 (en) | Protecting a programmable memory against unauthorized modification | |
DE102015201298A1 (en) | Method for the cryptographic processing of data | |
EP1721232A1 (en) | Method for protecting confidential data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R086 | Non-binding declaration of licensing interest | ||
R123 | Application deemed withdrawn due to non-payment of filing fee | ||
R409 | Internal rectification of the legal status completed | ||
R409 | Internal rectification of the legal status completed | ||
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R084 | Declaration of willingness to licence | ||
R081 | Change of applicant/patentee |
Owner name: ROZEK, WERNER, PROF. DR.-ING. DIPL.-ING., DE Free format text: FORMER OWNER: FACHHOCHSCHULE SCHMALKALDEN, 98574 SCHMALKALDEN, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |