DE102006028944B3 - Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators - Google Patents

Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators Download PDF

Info

Publication number
DE102006028944B3
DE102006028944B3 DE102006028944A DE102006028944A DE102006028944B3 DE 102006028944 B3 DE102006028944 B3 DE 102006028944B3 DE 102006028944 A DE102006028944 A DE 102006028944A DE 102006028944 A DE102006028944 A DE 102006028944A DE 102006028944 B3 DE102006028944 B3 DE 102006028944B3
Authority
DE
Germany
Prior art keywords
read
information
test information
circuit arrangement
memory
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
Application number
DE102006028944A
Other languages
English (en)
Inventor
Peter Dr. Laackmann
Marcus Janke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006028944A priority Critical patent/DE102006028944B3/de
Priority to US11/548,935 priority patent/US7949698B2/en
Application granted granted Critical
Publication of DE102006028944B3 publication Critical patent/DE102006028944B3/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Schaltungsanordnung zum Initialisieren eines Zufallsgenerators (5) umfasst einen flüchtigen Schreib-Lese-Speicher (1) und eine Zugriffsvorrichtung (2) zum Abspeichern und Auslesen von Informationen in den Schreib-Lese-Speicher (1), wobei die Zugriffsvorrichtung (2) an den Schreib-Lese-Speicher (1) gekoppelt ist und ausgebildet ist, Information (I2) aus zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) auszulesen. Die Zugriffsvorrichtung (2) ist ferner ausgebildet, die ausgelesene Information (I2) in einen Startwert (S) zu transformieren und den Startwert (S) ausgangsseitig bereitzustellen, oder die ausgelesene Information (I2) ausgangsseitig als Startwert (S) bereitzustellen. Des Weiteren umfasst die Schaltungsanordnung eine Schaltvorrichtung (3, 4), die an die Zugriffsvorrichtung (2) gekoppelt ist und die ausgebildet ist, den zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) für einen Zeitraum (T, T1, T2) von einem Anschluss zur Bereitstellung einer Versorgungsspannung (V) zu entkoppeln oder ausgebildet ist, während eines Zeitraums (T, T1, T2) die Bereitstellung eines informationserhaltenden Signals (R), zur Erhaltung der Information in dem zumindest einen Bereich (15) des Schreib-Lese-Speichers (1), für den Schreib-Lese-Speicher (1) zu deaktivieren, sowie eine Zufallsgeneratorvorrichtung (5, 8) mit einem Zufallsgenerator (5), der ausgebildet ist, eine Zufallsfolge (Z) basierend auf dem von der Zugriffsvorrichtung (2) bereitgestellten Startwert ...

Description

  • Die Erfindung betrifft eine Schaltungsanordnung sowie ein Verfahren zum Initialisieren eines Zufallsgenerators.
  • Zufallszahlen finden auch, aber nicht nur, in sicherheitsrelevanten Schaltungsanordnungen Verwendung. Sie dienen in solch einer Schaltungsanordnung beispielsweise als Testsignale zur Übertragung über Dummy-Leitungen oder über aktive Schildleitungen, oder um die Funktionsweise der Schaltungsanordnung zu verschleiern. Zufallszahlen finden auch für kryptografische Zwecke Verwendung.
  • Die Generierung von echten, auf einem zufälligen Prozess basierenden Zufallszahlen, wie sie beispielsweise bei Rauschprozessen auftreten, ist sehr aufwändig. Entsprechend ausgebildete Zufallsgeneratoren werden als „echte" Zufallsgeneratoren bezeichnet. Herkömmliche echte Zufallsgeneratoren bedingen das Vorhandensein von analogen Schaltungselementen, vor deren Implementierung in vornehmlich digitalen Schaltungen jedoch wegen des Aufwandes oft zurückgeschreckt wird.
  • Die Entgegenhaltung DE 10344327 B3 betrifft einen Zufallsgenerator. Die Zufallszahlengeneration basiert auf so einem genannten Random-Telegraph-Signal, bei dem es sich um ein Rauschsignal eines oder mehrerer Transistoren handelt. Das Random-Telegraph-Signal weist zwei Zustände auf. Die Signalzustände werden überabgetastet und basierend auf der Dauer detektierten Zustände wird eine binäre Zufallszahlenfolge erzeugt.
  • Um dennoch unvorhersagbare Zufallsfolgen generieren zu können, werden so genannte Pseudo-Zufallsgeneratoren eingesetzt. Die von Pseudo-Zufallsgeneratoren generierten Zufallsfolgen sind keine echten, also zufälligen Zufallsfolgen, sondern durch einen Algorithmus reproduzierbar generierte Folgen, mit statistischen Eigenschaften von echten Zufallsfolgen.
  • Pseudo-Zufallsfolgen können jedoch wie echte Zufallsfolgen eingesetzt werden, solange der generierende Algorithmus für Außenstehende nicht ermittelbar ist. Dieses ist jedoch häufig der Fall, denn die Kenntnis einer langen Pseudo-Zufallsfolge oder insbesondere eines Startwertes für den Zufallsgenerator lässt auf den Algorithmus und damit auf die nachfolgenden Pseudo-Zufallswerte schließen. Die Kenntnis des Algorithmus und damit der dadurch generierten Pseudo-Zufallsfolge ermöglicht es dann, die Schaltungsanordnung anzugreifen, um beispielsweise verschlüsselte Daten zu entschlüsseln.
  • Um zu verhindern, dass die Pseudo-Zufallsfolge für einen Angreifer vorhersagbar ist, muss der Startwert des Pseudo-Zufallsgenerators unbekannt sein. Sogar dem Hersteller muss der Startwert unbekannt sein, da der Hersteller ansonsten die Möglichkeit hätte, beim Anwender die Schaltungsanordnung anzugreifen oder einem Dritten den Angriff durch Preisgabe des Startwertes zu erleichtern.
  • Ein möglicher Ansatz, um einen unbekannten Startwert zu generieren, ist, diesen Startwert schaltungsintern durch einen weiteren Zufallsgenerator zu generieren. Will man echte Zufallsgeneratoren zu diesem Zweck vermeiden, treten bei der Generierung des Startwertes die gleichen Probleme auf, wie die oben beschriebenen Probleme zur Generierung der eigentlichen Zufallsfolge.
  • Es stellt sich somit die Aufgabe, schaltungsintern einen echten Zufallswert als Startwert für einen Pseudo-Zufallsgenerator mit geringem schaltungstechnischem Aufwand zu generieren.
  • Die Aufgabe wird durch eine Schaltungsanordnung und ein Verfahren mit den Merkmalen der entsprechenden nebengeordneten Patentansprüche gelöst.
  • Die Schaltungsanordnung zum Initialisieren eines Zufallsgenerators umfasst einen flüchtigen Schreib-Lese-Speicher und eine Zugriffsvorrichtung zum Abspeichern und Auslesen von Informationen in den Schreib-Lese-Speicher, wobei die Zugriffsvorrichtung an den Schreib-Lese-Speicher gekoppelt ist und ausgebildet ist, Information aus zumindest einen Bereich des Schreib-Lese-Speichers auszulesen. Die Zugriffsvorrichtung ist ferner ausgebildet, die ausgelesene Information in einen Startwert zu transformieren und den Startwert ausgangsseitig bereitzustellen, oder die ausgelesene Information ausgangsseitig als Startwert bereitzustellen. Des Weiteren umfasst die Schaltungsanordnung eine Schaltvorrichtung, die an die Zugriffsvorrichtung gekoppelt ist und die ausgebildet ist, den zumindest einen Bereich des Schreib-Lese-Speichers für einen Zeitraum von einem Anschluss zur Bereitstellung einer Versorgungsspannung zu entkoppeln, oder ausgebildet ist, während eines Zeitraums ein dem Schreib-Lese-Speicher die Bereitstellung eines informationserhaltenden Signals, zur Erhaltung der Information in dem zumindest einen Bereich des Schreib-Lese-Speichers, für den Schreib-Lese-Speicher zu deaktivieren, sowie eine Zufallsgeneratorvorrichtung mit einem Zufallsgenerator, der ausgebildet ist, eine Zufallsfolge basierend auf dem von der Zugriffsvorrichtung bereitgestellten Startwert zu generieren.
  • Dabei zielt die Unterbrechung der Versorgungsspannung auf ein statisches RAM, oder so genanntes SRAM, bei dem die gespeicherte Information schwindet, wenn die Versorgungsspannung entkoppelt ist.
  • Die Unterbrechung des informationserhaltenden Signals zielt auf ein dynamisches RAM, oder DRAM, in dem das informationserhaltendes Signal, auch als Refresh-Signal bezeichnet, bereitgestellt wird, um eine bei diesem Speichertyp grundsätzlich erforderliche regelmäßige Auffrischung des Speicherinhalts durch speicherinterne Schaltungen zu steuern. Wenn die Bereitstellung des Signals unterbrochen wird, unterbleibt die Auffrischung und die gespeicherte Information schwindet. Die Deaktivierung kann mittels eines Deaktivierungsmittels erfolgen, das das informationserhaltende Signal vom Schreib-Lese-Speicher entkoppelt der das informationserhaltende Signal unterdrückt.
  • Der Vorteil dieser Schaltungsanordnung ist, dass der eigentlich als Arbeitsspeicher vorgesehene Schreib-Lese-Speicher genutzt wird, um den Startwert für den Zufallsgenerator zu generieren. Diese Schaltungsanordnung ist mit wenig zusätzlichem schaltungstechnischem Aufwand zu realisieren. Sie kann in Security Controllern im Chipkartenbereich Platz sparend eingesetzt werden.
  • Durch die beschriebene Schaltungsanordnungen und das entsprechende Verfahren zum Betreiben ist eine Lösung gefunden worden, die es erlaubt, Zufallszahlen bereitzustellen, ohne dass die theoretische Möglichkeit besteht, dass der Hersteller des Security Controllers diese Zufallszahlen vorausberechnen kann, indem er neben dem Algorithmus auch den Startwert kennt.
  • Es sei bemerkt, dass, wenn im Folgenden von einem „Zufallsgenerator" und „Zufallsfolgen" die Rede ist, sich die Ausführungen auf einen Pseudo-Zufallsgenerator beziehen, der aus dem Startwert unter Verwendung eines Algorithmus eine Pseudo-Zufallsfolge generiert.
  • Beim Abschalten der Stromversorgung beziehungsweise Spannungsversorgung des Schreib-Lese-Speichers, der beispielsweise als RAM (Random Access Memory)-Baustein oder als Speichermodul ausgebildet ist, schwindet die gespeicherte Information nach einer gewissen Zeit.
  • Die Flüchtigkeit der im Schreib-Lese-Speicher gespeicherten Information bei Unterbrechung der Versorgungsspannung wird ausgenutzt, um schaltungsintern einen zufälligen Wert als Basis für den Startwert des Zufallsgenerators zu generieren. Das Abschalten der Versorgungsspannung führt in der Regel nicht zu einem plötzlichen, totalen Datenverlust, sondern der binäre Wert eines Bits ist nicht mehr stabil und kann sich verändern. Dieser Vorgang wird auch als „Kippen" eines Bits bezeichnet. Die Wahrscheinlichkeit hierfür steigt mit zunehmender Zeitdauer seit der Unterbrechung der Spannungsversorgung, sodass eine zunehmende Anzahl von Bits kippt. Dieser Vorgang ist zufällig, denn es lässt sich nicht vorhersagen, wann das einzelne Bit kippt.
  • Vorteilhafterweise umfasst die Zugriffsvorrichtung eine Transformationsvorrichtung, um mit einer komprimierenden oder selektierenden Funktion, beispielsweise einer Hash-Funktion, aus einer großen Anzahl von Zufallsbits den Startwert, der wesentlich weniger Bits umfasst, zu generieren. Auf diese Weise gehen mehr zufällige Hits aus dem Schreib-Lese-Speicher in den Startwert ein, als wenn nur die ausgelesene Information als Startwert bereitgestellt wird.
  • In einer vorteilhaften Ausgestaltung wird bei jedem Start der Schaltungsanordnung der Zufallsgenerator mit einem neuen Startwert initialisiert. Dieses erhöht die Sicherheit.
  • In einer alternativen Ausgestaltung ist dem eigentlichen Zufallsgenerator eine Speichervorrichtung vorangeschaltet, um den Startwert zu speichern. In dieser Ausgestaltung wird der Startwert lediglich einmal, beispielsweise nur bei der Produktion oder bei der Inbetriebnahme der Schaltungsanordnung, mittels des Schreib-Lese-Speichers generiert und in der Speichervorrichtung abgespeichert. In Abhängigkeit der mit diesem ersten Startwert generierten Zufallsfolge speichert der Zufallsgenerator einen neuen Startwert in die Speichervorrichtung, sodass die Zufallszahlen sich bei einem Neustart der Schaltungsanordnung weder wiederholen noch dass Zeit durch die Generierung des Startwertes verloren geht.
  • Vorteilhafterweise wird in den Schreib-Lese-Speicher vor dem Entkoppeln eine vorgegebene Information geschrieben, sodass durch die Anzahl der gekippten Bits bestimmbar ist, um daraus Rückschlüsse auf die Güte die Startwertes zu ziehen.
  • In einer vorteilhaften Ausgestaltung ist eine Vergleichsvorrichtung ausgebildet, zu überprüfen, ob eine vorgegebene Testinformation und eine ausgelesene Testinformation in einem vorgegebenen Zusammenhang stehen. Die ausgelesene Testinformation wird aus demselben Speicherbereich ausgelesen, in dem die vorgegebene Testinformation vor der Entkopplung der Versorgungsspannung abgelegt worden ist. Sie unterscheiden sich durch die gekippten Bits. Der Bereich, aus dem die Testinformation ausgelesen wird, und der Bereich, aus dem die Information für den Startwert ausgelesen wird, können, zumindest zum Teil, übereinstimmen, oder sich von einander in Gänze unterscheiden.
  • Durch die Ausgestaltung der Zugriffsvorrichtung mit der Vergleichsvorrichtung kann die Güte der Zufallsfolge überprüft werden. Beispielsweise kann durch einen Vergleich der vorgegebenen Testinformation und der ausgelesenen Testinformation überprüft werden, ob in ausreichendem Maße Bits gekippt sind, sodass davon auszugehen ist, dass die ausgelesene Information ausreichen dekorreliert und zufällig ist, um als Basis eines Startwertes zu dienen.
  • In einer einfach zu realisierenden Ausgestaltung ist die Zeitdauer, währenddessen die Versorgungsspannung entkoppelt wird, vorgegeben. Dieses kann beispielsweise auf einfache Weise mit einem Zähler oder einem RC-Glied realisiert werden. Wenn dieser Zeitraum ausreichend lang ist, kann dadurch sichergestellt werden, dass üblicherweise genügend Bits kippen, sodass die ausgelesene Information ausreichend zufällig ist.
  • Um eine vorgegebene Güte der ausgelesenen Information zu erreichen, ist in einer vorteilhaften Ausgestaltung die Vergleichsvorrichtung derart ausgebildet, dass sie die Entkopplung der Versorgungsspannung steuert, bis die vorgegebene Testinformation und die ausgelesene Testinformation in dem vorgegebenen Zusammenhang stehen. Dies kann beispielsweise der Fall sein, wenn die Hälfte der Testinformation verloren gegangen ist beziehungsweise die Hälfte der Bits gekippt ist.
  • In einer alternativen Ausgestaltung können sich Entkopplungs- und Prüfschritte abwechseln, sodass schrittweise die Güte der ausgelesenen Information als Startwert verbessert wird.
  • In einer besonders einfach zu realisierenden Ausgestaltung ist der gesamte Schreib-Lese-Speicher von der Versorgungsspannung entkoppelbar.
  • Eine zweckmäßige Ausgestaltung nutzt als Kriterium, um den vorgegebenen Zusammenhang zu überprüfen, die Hamming-Distanz. Dabei werden die Anzahl der Bits, in denen sich die vorgegebene und die ausgelesene Testinformation unterscheiden, verglichen.
  • Unter der Vorrausetzung, dass die vorgegebene Information nur gleiche Bits umfasst, kann als Gütekriterium das Hamming-Gewicht der ausgelesen Testinformation benutzt werden, das angibt wie viele der Bits gekippt sind.
  • Das Verfahren, um einen Zufallsgenerator mittels eines flüchtigen Schreib-Lese-Speichers zu initialisieren, wobei Information in zumindest einen Bereich des flüchtigen Schreib-Lese-Speichers gespeichert ist, umfasst die Schritte:
    • – Unterbrechen einer Versorgungsspannung für den zumindest einen Bereich des Schreib-Lese-Speichers während eines Zeitraums oder Unterbrechen der Bereitstellung eines informationserhaltenden Signals für den zumindest einen Bereich des Schreib-Lese-Speichers während eines Zeitraums,
    • – Auslesen von Information aus dem zumindest einen Bereich des Schreib-Lese-Speichers und
    • – Bereitstellen der ausgelesenen Information als Startwert für den Zufallsgenerator oder Transformieren der ausgelesenen Information in einen Startwert und Bereitstellen des Startwertes für den Zufallsgenerator.
  • Vorteil dieses Verfahrens ist, dass dem Zufallsgenerator ein echter Zufallswert, basierend auf dem Informationsverlustef fekt des flüchtigen Schreib-Lese-Speichers, als Startwert bereitgestellt wird, was die Vorhersagbarkeit der generierten Zufallsfolge für einen Angreifer unmöglicht macht.
  • Um die Güte des Startwerts weiter zu verbessern, kann auf eine größere Anzahl von Bits als ausgelesener Information, als eigentlich als Startwert benötigt wird, zurückgegriffen werden. Die ausgelesene Information wird mittels einer komprimierenden oder selektierenden Funktion zum Startwert mit der erforderlichen Anzahl Bits transformiert. Ein Beispiel für solch eine komprimierende oder selektierende Funktion ist eine Hash-Funktion.
  • Um die Güte der ausgelesenen Information zu überprüfen, werden die vorgegebene Testinformation und die ausgelesene Testinformation hinsichtlich eines vorgegebenen Zusammenhangs nach dem Entkoppeln und vor dem Bereitstellen überprüft.
  • Diese Prüfung kann entfallen, wenn die Dauer des Entkopplungszeitraums derart vorgegeben ist, dass davon auszugehen ist, dass eine ausreichende Anzahl von Bits gekippt ist, sodass die ausgelesene Information ausreichend zufällig und dekorreliert ist. Allerdings ist bei dem vorgegebenen Entkopplungszeitraum darauf zu achten, dass dessen Dauer so zu wählen ist, dass auch nicht zu viele Bits gekippt sind. In diesem Fall wären im Extremfall alle Bits gekippt, wodurch die Information im Schreib-Lese-Speicher wieder vorhersagbar wäre.
  • In einer vorteilhaften Verfahrensausgestaltung werden das Speichern, das Entkoppeln und das Prüfen wiederholt, bis die vorgegebene Information und die ausgelesene Information in einem vorgegebenen Zusammenhang stehen. Dabei wird vorteil hafterweise der Entkopplungszeitraum mit jedem Schritt variiert. Auf diese Weise werden mit jedem Schritt neue Bitmuster im Schreib-Lese-Speicher erzeugt, bis die gewünschte Güte erreicht ist.
  • In einer alternativen Verfahrensausgestaltung kann auf das erneute Speichern verzichtet werden. Mit jedem Entkopplungsschritt kippen mehr und mehr Bits. Das Entkoppeln und das Prüfen werden wiederholt, bis die ausgelesene Testinformation und die vorgegebene Testinformation in dem vorgegebenen Zusammenhang stehen.
  • Auch bei dieser Verfahrensausgestaltung kann die Dauer der Entkopplungsschritte variiert werden, um sich schrittweise an das vorgegebene Gütekriterium anzunähern.
  • Auch beim Verfahren können die Vorteile des Hamming-Abstands oder des Hamming-Gewichts als Gütekriterium genutzt werden.
  • Weitere vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen.
  • Im Folgenden wird die Erfindung anhand von Ausführungsbeispielen veranschaulicht.
  • Es zeigen:
  • 1 ein erstes Ausführungsbeispiel einer Schaltungsanordnung,
  • 2 ein zweites Ausführungsbeispiel der Schaltungsanordnung,
  • 3 ein drittes Ausführungsbeispiel der Schaltungsanordnung,
  • 4 ein viertes Ausführungsbeispiel der Schaltungsanordnung und
  • 5 ein rückgekoppeltes Schieberegister als Pseudo-Zufallsgenerator.
  • In 1 ist als erstes Ausführungsbeispiel ein schematisches Schaltbild einer Schaltungsanordnung mit einem flüchtigen Schreib-Lese-Speicher 1 dargestellt. Solch eine Schaltungsanordnung kann beispielsweise von einem Security Controller umfasst sein, der neben dem flüchtigen Schreib-Lese-Speicher 1, der beispielsweise als SRAM ausgebildet ist, noch eine zentrale Verarbeitungsvorrichtung und verschiedene Peripheriemodule umfasst. Der Security Controller kann integriert als Chip ausgeführt sein.
  • Der Schreib-Lese-Speicher 1 umfasst eine Vielzahl von Speicherplätzen 10, in denen jeweils ein Bit speicherbar ist. Der Übersichtlichkeit halber beschränkt sich die Darstellung in der 1 auf eine sehr geringe Anzahl von Speicherplätzen 10.
  • Ferner umfasst die Schaltungsanordnung eine Zugriffsvorrichtung 2, um vorgegebene Information I1 in den flüchtigen Schreib-Lese-Speicher 1 zu schreiben. Die vorgegebene Information I1 ist einem Register 9 gespeichert. Dieses ist zweckmäßig, wenn ein Bitmuster in den Schreib-Lese-Speicher 1 geschrieben werden soll. Wenn dagegen dasselbe Bit in jedem Speicherplatz 10 gespeichert werden soll, kann auf dieses Register 9 verzichtet werden und eine entsprechende Routine ausgeführt werden, sodass im Speicher beispielsweise nur Bits „0" stehen. Die Zugriffsvorrichtung 2 ist ferner ausgebildet, im Schreib-Lese-Speicher 1 bereitgestellte Information, hier als I2 gekennzeichnet, auszulesen.
  • Die vorgegebene Information I1 kann in alle Speicherplätze 10 des Schreib-Lese-Speicher 1 geschrieben werden oder nur in einen Teilbereich 15, beispielsweise von der Größe eines Segments oder eines beziehungsweise mehrerer Wörter.
  • Es ist auch denkbar, den Schreib-Lese-Speicher 1 derart auszubilden, dass beim Betriebsstart der Schreib-Lese-Speicher 1 so initialisiert wird, dass ein vorgegebenes Informationsmuster, beispielsweise nur die Bits „1" umfassend, im Schreib-Lese-Speicher 1 gespeichert ist. In diesem Fall ist der oben genannte Schreibschritt nicht erforderlich.
  • Beim Auslesen wird die Information I2 aus dem Teilbereich 15 ausgelesen, in dem die vorgegebene Information I1 zuvor abgespeichert worden ist. Somit sind die vorgegebene, abgespeicherte und die ausgelesene Information I1, I2 identisch, wenn keine Bits gekippt sind. Dies ist üblicherweise der Fall, solange der Schreib-Lese-Speicher 1 an einen Anschluss zur Spannungsversorgung mit der Versorgungsspannung V gekoppelt ist. Die Versorgungsspannung V ist über einen Schalter 4 entkoppelbar.
  • Es ist auch denkbar, den Schreib-Lese-Speicher 1 derart auszubilden, dass lediglich der Bereich 15, in dem die vorgegebene Information I1 gespeichert worden ist, von der Versorgungsspannung V entkoppelt ist. Diese Ausgestaltung ist jedoch schaltungstechnisch aufwändiger.
  • Im normalen Betrieb wird durch die Zugriffsvorrichtung 2 auf den Schreib-Lese-Speicher 1 zugegriffen, sodass Daten für eine Datenverarbeitung ausgelesen und dort nach erfolgter Datenverarbeitung abgelegt werden. Der Schreib-Lese-Speicher 1 dient im normalen Betrieb als Arbeitsspeicher.
  • Des Weiteren umfasst die Schaltungsanordnung eine Schaltvorrichtung 3, um den Schalter 4 zur Unterbrechung der Versorgungsspannung V anzusteuern. Im hier dargestellten Ausführungsbeispiel ist die Schaltvorrichtung 3 derart ausgestaltet, dass die Versorgungsspannung V für einen vorgegebenen Zeitraum T unterbrochen wird.
  • Ferner umfasst die Schaltungsanordnung einen Zufallsgenerator 5, an dem eingangsseitig ein von der Zugriffsvorrichtung 2 bereitgestellter Startwert S anliegt. Der Zufallsgenerator 5 ist ausgebildet, in Abhängigkeit des Startwertes S, eine Zufallsfolge Z zu generieren.
  • Um den Zufallsgenerator 5 zu initialisieren, wird die vorgegebene Information I1 zunächst in den Schreib-Lese-Speicher 1 geschrieben. Im einfachsten Fall wird stets dasselbe Bit, entweder "0" oder "1", in jede Speicherzelle geschrieben. Es ist aber auch denkbar, ein anderes vorgegebenes Muster, beispielsweise eine Folge alternierender Bits "0" und "1", oder eine vorgegebene Folge von Bits, die im Register 9 gespeichert sind, zu verwenden.
  • Solange der Schreib-Lese-Speicher 1 an die Versorgungsspannung V gekoppelt ist, treten keine Datenverluste auf. Bei Abschaltung der Stromversorgung beziehungsweise Entkopplung der Versorgungsspannung V für den Zeitraum T ist die Stabilität der im Schreib-Lese-Speicher 1 gespeicherten Information nicht mehr gewährleistet. Vielmehr schwindet die gespeicherte vorgegeben Information mit zunehmender Zeit, da eine zunehmende Anzahl von Bits kippt. Mit fortschreitender Zeit seit Entkoppelung der Versorgungsspannung verschwindet die vorgegebene Information mehr und mehr und die Zufälligkeit der im Schreib-Lese-Speicher bereitgestellten Information steigt an.
  • Auf Grund dieses Effekts verändern sich die Bits im Schreib-Lese-Speicher 1. Diese Bits sind von Außen nicht direkt detektierbar. Sie hängen auch nicht direkt von Umgebungsparametern ab. Einflüsse wie Temperatur oder die Versorgungsspannung verändern lediglich die Geschwindigkeit, mit der die vorgegebene Information schwindet. Wenn der Chip sehr stark gekühlt wird, beispielsweise in flüssigem Stickstoff, ist die Anzahl der gekippten Bits geringer, als wenn dieselbe Zeitdauer bei normaler Umgebungstemperatur gekoppelt würde. Bei hohen Temperaturen ist die Anzahl der gekippten Bits, im Vergleich zur normalen Umgebungstemperatur, bei selber Entkopplungsdauer deutlich erhöht. Das von diesem Effekt herrührende Bitmuster im Schreib-Lese-Speicher 1 ist nicht vorhersehbar.
  • Bei Wiederankopplung der Versorgungsspannung V an den Schreib-Lese-Speicher 1 werden die im Zeitraum T, in dem die Versorgungsspannung V entkoppelt war, angenommenen Bitzustände beigehalten. Diese Zustände werden mittels der Zugriffsvorrichtung 2 ausgelesen. Die Zugriffsvorrichtung 2 liest die durch das Entkoppeln veränderte Information I2 aus.
  • Im in 1 dargestellten Ausführungsbeispiel wird ein Bereich 15 des Schreib-Lese-Speichers 1 ausgelesen und die ausgelesene Information I2 von der Zugriffsvorrichtung 2 dem Pseudo-Zufallsgenerator 5 als Startwert S bereitgestellt. Der Pseudo-Zufallsgenerator 5 generiert basierend auf diesem Startwert eine Zufallsfolge Z.
  • In diesem Ausführungsbeispiel wird der Zufallsgenerator 5 bei jedem Betriebsbeginn erneut initialisiert. Selbstverständlich ist es denkbar, ihn auch während des Betriebs nochmals zu initialisieren.
  • 5 veranschaulicht die Funktionsweise eines typischen Pseudo-Zufallsgenerators 5, der als rückgekoppeltes Schieberegister 20 ausgebildet ist.
  • Das Schieberegister 20 umfasst eine Vielzahl von Registerplätzen 21, in denen jeweils ein Bit gespeichert ist. Einige der Registerplätze 21, in 3 schraffiert dargestellt, werden abgegriffen und über EXKLUSIV-ODER-Verknüpfungen 22 miteinander verknüpft. Das daraus resultierende Bit ZB ist ein Bit der Zufallsfolge Z. Dieses Bit ZB wird links in das Schieberegister 20 geschoben, sodass die sich darin bereits befindlichen Bits um eine Position nach rechts verschoben werden. Das äußerst rechte Bit wird aus dem Schieberegister 20 geschoben. Es sei bemerkt, dass Länge und Anzapfungen des Schieberegisters 20 beispielhaft dargestellt sind. Dem Fachmann sind Schieberegister verschiedener Längen mit geeigneten Anzapfungen hinreichend bekannt.
  • Das nächste Bit ZB der Zufallsfolge Z wird auf ebensolche Weise generiert. Mit jedem Takt wird ein neues Bit ZB der Zufallsfolge Z durch das rückgekoppelte Schieberegister generiert. Es ist auch denkbar, als Bit für die Zufallsfolge das heraus geschobene Bit zu verwenden.
  • Um das Schieberegister 20 zu initialisieren, werden in die Registerplätze 21 das Bitmuster des Startwertes S geladen.
  • Jedes Bit der Zufallsfolge Z hängt von den sich im Schieberegister befindenden Bits ab. Die Zufallsfolge wiederholt sich, sobald wieder der Startzustand S im Schieberegister 20 steht. Da die Folgen sehr lang sein können, idealerweise 2n-1 Bits, wobei n die Länge des Schieberegisters ist, bevor sie sich wiederholen, kann auch aus der Kenntnis der ausgegebenen Zufallsfolge Z mit einigen Bits kaum auf den Zustand des Schieberegisters und damit auf die nachfolgenden Bits geschlossen werden.
  • 2 zeigt ein zweites Ausführungsbeispiel einer Schaltungsanordnung als schematisches Schaltbild.
  • Gleiche Bezugszeichen kennzeichnen gleiche Anordnungsmerkmale. Zur Vermeidung von Wiederholungen wird im Wesentlichen auf die Unterschiede eingegangen.
  • In 2 ist eine Zufallsgeneratoranordnung 8 vorgesehen, die den eigentlichen Zufallsgenerator 5 sowie eine Speichervorrichtung 6 umfasst. Die dem Zufallsgenerator 5 vorangeschaltete Speichervorrichtung 6 ist an die Zugriffsvorrichtung 2 gekoppelt.
  • In dieser Anordnung wird der Startwert S von der Zugriffsvorrichtung 2 der Speichervorrichtung 6 bereitgestellt und in dieser abgespeichert. Der Zufallsgenerator 5 lädt den Startwert S aus der Speichervorrichtung 6 als Startzustand in den Zufallsgenerator 5. Der Zustand verändert sich bei Generierung der Zufallsfolge Z. Während des Betriebs der Schaltungsanordnung bleibt der aktuelle Zustand im Schieberegister ste hen, um in Abhängigkeit davon eine weitere Zufallsfolge generieren zu können. Vor dem Herunterfahren der Schaltungsanordnung wird der aktuelle Zustand, d.h. das im Schieberegister stehende Bitmuster S1 in der Speichervorrichtung 6 gespeichert, um beim nächsten Start der Schaltungsanordnung als Startwert S1 dem Zufallsgenerator bereitgestellt zu werden. Die Speichervorrichtung 6 ist als nichtflüchtiger Speicher ausgebildet, sodass lediglich bei Inbetriebnahme der Schaltungsanordnung die Generierung des Startwertes S mittels des Schreib-Lese-Speichers 1 durchgeführt werden muss. Es kann jedoch eine spezielle Prozedur oder ein so genanntes Reset vorgesehen sein, um die Generierung des Startwertes S mittels des Schreib-Lese-Speichers 1 zu vorgegebenen oder vom Anwender gewählten Zeitpunkten erneut durchzuführen.
  • Die Zugriffsvorrichtung 2 umfasst in diesem Ausführungsbeispiel eine Transformationsvorrichtung 7, die ausgebildet ist, aus der ausgelesenen Information I2 den Startwert S zu generieren. Zur Generierung wird eine Hash-Transformation H verwendet, die aus der großen Anzahl von Bits der ausgelesenen Information I2 die als Startwert benötigte Anzahl Bits generiert. Aber auch eine andere selektierende oder komprimierende Funktion ist denkbar. Auf diese Weise kann die Güte beziehungsweise Zufälligkeit des Startwertes S erhöht werden, da der Bereich 15 und damit auch die Anzahl der Speicherplätze, aus denen der Startwert S generiert wird, über die für den Startwert S benötigte Anzahl Bits hinausgeht.
  • Ferner umfasst die Zugriffsvorrichtung 2 eine Vergleichsvorrichtung 17, die ausgebildet ist, eine vorgegebene Testinformation TI1 und eine ausgelesene Testinformation TI2 auf einen vorgegebenen Zusammenhang hin zu überprüfen. Die vorgegebene Testinformation TI1 wird in einen Bereich 16 des Schreib- Lese-Speichers 1 abgespeichert und nach dem Entkoppeln der Versorgungsspannung V von dort wieder ausgelesen. Dieser Bereich 16 kann Teil des Bereiches 15 sein, in dem die vorgegebene Information I1 abgespeichert wird. Die beiden Bereichen 15, 16 können in Gänze oder gar nicht übereinstimmen. Es ist lediglich erforderlich, dass die Bereiche 15, 16 in gleicher Weise von der Versorgungsspannung V entkoppelbar sind. Diese Prüfung in der Vergleichsvorrichtung 17 ermöglicht, die Güte des Startwertes S sicherzustellen. In diesem Ausführungsbeispiel ist, im Gegensatz zu dem in 1 dargestellten, kein Register zur Bereitstellung der vorgegebenen Information I1 vorgesehen. Durch eine Löschprozedur kann in allen Speicherplätzen 10 das gleiche Bit, z. B. „0" gespeichert werden. Somit umfasst die vorgegebene Information I1 und die vorgegebene Testinformation IT1 ein Folge von Bits „0".
  • Die Güte der ausgelesenen Information I2 für den Startwert S lässt sich anhand des Unterschiedes zwischen der vorgegebenen Information I1 und der ausgelesenen Information I2 mittels des so genannten Hamming-Abstandes bemessen. Dieser gibt die Anzahl der Positionen, in der sich zwei binäre Bitfolgen voneinander unterscheiden, an. Zwischen der Folge "01001 10011 00010 10111", wie in 1 im Schreib-Lese-Speicher 1 dargestellt, und der Folge "11101 10011 01010 01101", wie in 2 im Schreib-Lese-Speicher 1 dargestellt, beträgt der Hamming-Abstand 6.
  • Es ist anzustreben, dass der Hamming-Abstand der ausgelesenen Testinformation I2 und der vorgegebenen Testinformation I1 einen vorgegebenen Wert nicht unterschreitet. Obwohl ähnliche Startwerte für ein rückgekoppeltes Scheiberegister keinesfalls mit ähnlichen, daraus generierten Zufallsfolgen Z einhergehen, sinkt mit geringem Hamming-Abstand die Menge mögli cher Startwerte, denn die ausgelesene Information I2 unterscheidet sich nur um wenige Bits von der vorgegebenen Information I1. Dieses kann einen Angriff begünstigen.
  • Wenn der vorgegebene Hamming-Abstand nicht durch einmaliges Entkoppeln erreicht worden ist, wird der Informationsverlust in den Speicherzellen 10 durch weitere Entkopplungsschritte solange fortgeführt, bis eine ausreichende Veränderung des Speicherinhaltes des Schreib-Lese-Speichers 1 stattgefunden hat. Der Schreib-Lese-Speicher 1 wird hierzu kurzzeitig wieder mit Strom versorgt und das Hamming-Gewicht zwischen vorgegebener und ausgelesener Testinformation TI1, TI2 bestimmt. Bei diesem Vorgehen werden lediglich der Entkopplungs- und Prüfschritt wiederholt. Die Dauer T1, T2 der Entkopplungsschritte kann gleich sein, oder variieren.
  • Alternativ kann wiederholt die vorgegebene Information I1 im Schreib-Lese-Speicher 1 gespeichert, entkoppelt und geprüft werden. Hierbei kann die Dauer des Entkopplungsschritts vorgegeben sein. In diesem Fall ist die vorgegebene Dauer so zu wählen, dass üblicherweise das Gütekriterium erfüllt wird, sodass durch den Prüfschritt nur Ausreißer mit zufällig zu wenigen gekippten Bits detektiert werden. Alternativ ist auch denkbar, dass die Dauer der Entkopplungsschritte mit zunehmender Wiederholung der Schritte verlängert wird, um sich schrittweise an das geforderte Gütekriterium heranzutasten.
  • Es ist möglich, zum Prüfen die ausgelesene Information I2 als Testinformation TI2 zu betrachten. In diesem Fall ist nach dem erfolgreichen Prüfen kein weiterer Ausleseschritt erforderlich. Es auch möglich, zum Prüfen Testinformation aus einen kleineren Bereich 16, als dem Bereich 15, in dem die ausgelesene Information I2 für den Startwert S gespeichert wird, oder aus einen darüber hinaus gehenden Bereich oder aus einen anderen Bereich oder aus dem gesamten Schreib-Lese-Speicher 1 heranzuziehen.
  • Das Bestimmen des Hamming-Abstands der Bitfolge aus dem zu prüfenden Bereich soll lediglich einen Anhaltspunkt liefern, inwiefern der Informationsverlust im Schreib-Lese-Speicher 1 fortgeschritten ist. Eine kleine Stichprobe, beispielsweise die ersten acht Byte im Schreib-Lese-Speicher 1 ist zur Bewertung ausreichend. Wenn diese Stichprobe das Gütekriterium erfüllt, wird die auszulesende Information I2 ausgelesen.
  • Alternativ kann die Zufälligkeit der Stichprobe anhand des so genannten Hamming-Gewichts bestimmt werden. Das Hamming Gewicht ist die Anzahl eines vergebenen binären Werts, üblicherweise „1", in einer Bitfolge. Somit ist das Hamming-Gewicht der Hamming-Abstand von einem leeren Wort, einer Abfolge von Bits „0", und gleichbedeutend mit der Anzahl der gesetzten Bits „1". So hat die Bitfolge „11101 10011 01010 01101", die im Schreib-Lese-Speicher 1 der 2 dargestellt ist, das Hamming-Gewicht 12.
  • Wenn als vorgegebene Information lediglich die Bits „0" in den Schreib-Lese-Speicher geschrieben werden, so kann die Güte der ausgelesenen Information I2 im Vorwege durch die Bestimmung des Hamming-Gewichts einer Stichprobe, wie oben beschrieben, bestimmt werden. Natürlich kann auch das Hamming-Gewicht der ausgelesenen Information I2 aus dem Bereich 15 oder dem gesamten Schreib-Lese-Speicher 1 als Gütekriterium dienen.
  • Die 3 und 4 zeigen ein drittes beziehungsweise viertes Ausführungsbeispiel, bei denen der Schreib-Lese-Speicher 1 als DRAM ausgebildet ist. Zur Vermeidung von Wiederholungen wird im Folgenden nur auf die Unterschiede zwischen den Ausführungsbeispielen der 1 und 3 sowie zwischen den Ausführungsbeispielen der 2 und 4 eingegangen. Die Versorgungsspannung V für das DRAM 1 ist nicht durch die Schalteinrichtung 4 entkoppelbar, sondern speist den Schreib-Lese-Speicher 1 kontinuierlich. Des Weiteren sind im dritten und vierten Ausführungsbeispiel, die in den 3 beziehungsweise 4 dargestellt sind, jeweils ein Refresh-Signal R vorgesehen, das von der Zugriffseinrichtung 2 bereitgestellt wird und an das DRAM 1 koppelbar ist, um eine bei diesem Speichertyp grundsätzlich erforderliche regelmäßige Auffrischung des Speicherinhalts durch speicherinterne Schaltungen zu steuern. Wenn die Bereitstellung des Refresh-Signals R unterbrochen wird, unterbleibt die Auffrischung und die gespeicherte Information schwindet.
  • Die Schalteinrichtung 3 ist ausgebildet, die Bereitstellung des Refresh-Signals R zu unterbrechen, wie durch den von der Schalteinrichtung 3 gesteuerten Schalter 4, der die Zuführung des Refresh-Signals R zum Schreib-Lese-Speicher 1 unterbrechen kann, angedeutet ist.
  • Es sei darauf hingewiesen, dass die Merkmale der Ausführungsbeispiele der 1, 2, 3 und 4 kombinierbar sind.
  • 1
    flüchtiger Schreib-Lese-Speicher
    2
    Zugriffsvorrichtung
    3
    Schaltvorrichtung
    4
    Schalter
    5
    Zufallsgenerator
    6
    Speichervorrichtung
    7
    Transformationsvorrichtung
    8
    Zufallsgeneratorvorrichtung
    9
    Register
    10
    Speicherplatz
    14
    Bereitstellungsmittel
    15, 16
    Bereich
    17
    Vergleichsvorrichtung
    20
    Schieberegister
    21
    Registerplatz
    22
    EXKLUSIV-ODER-Verknüpfung
    I1, I2
    Information
    IT1, IT2
    Testinformation
    H
    Hash-Funktion
    R
    Refresh-Signal
    S, S1
    Startwert
    T, T1, T2
    Dauer
    V
    Versorgungsspannung
    Z
    Zufallsfolge
    ZB
    Zufallsbit

Claims (28)

  1. Schaltungsanordnung zum Initialisieren eines Zufallsgenerators (5) mit – einem flüchtigen Schreib-Lese-Speicher (1), – einer Zugriffsvorrichtung (2) zum Abspeichern und Auslesen von Informationen in den Schreib-Lese-Speicher (1), wobei die Zugriffsvorrichtung (2) an den Schreib-Lese-Speicher (1) gekoppelt ist und ausgebildet ist, Information (I2) aus zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) auszulesen, und ferner ausgebildet ist, die ausgelesene Information (I2) in einen Startwert (S) zu transformieren und den Startwert (S) ausgangsseitig bereitzustellen, oder die ausgelesene Information (I2) ausgangsseitig als Startwert (S) bereitzustellen, – einer Schaltvorrichtung (3, 4), die an die Zugriffsvorrichtung (2) gekoppelt ist und die ausgebildet ist, den zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) für einen Zeitraum (T, T1, T2) von einem Anschluss zur Bereitstellung einer Versorgungsspannung (V) zu entkoppeln, oder ausgebildet ist, während eines Zeitraums (T, T1, T2) ein dem Schreib-Lese-Speicher (1) die Bereitstellung eines informationserhaltenden Signals (R), zur Erhaltung der Information in dem zumindest einen Bereich (15) des Schreib-Lese-Speichers (1), für den Schreib-Lese-Speicher (1) zu deaktivieren, und – einer Zufallsgeneratorvorrichtung (5, 8) mit einem Zufallsgenerator (5), der ausgebildet ist, eine Zufallsfolge (Z) basierend auf dem von der Zugriffsvorrichtung (2) bereitgestellten Startwert (S) zu generieren.
  2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Zugriffvorrichtung (2) ferner ausgebildet ist, eine vorgegebene Information (I1) in den zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) abzuspeichern.
  3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Transformationsvorrichtung (2) vorgesehen ist, um die ausgelesene Information (I2) über eine komprimierende oder selektierende Funktion (H) in den Startwert (S) zu transformieren.
  4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, dass die komprimierende oder selektierende Funktion (H) eine Hash-Funktion umfasst.
  5. Schaltungsanordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Zufallsgeneratorvorrichtung (8) eine Speichervorrichtung (6) umfasst, an die die Zugriffsvorrichtung (2) gekoppelt ist, wobei die Speichervorrichtung (6) ausgebildet ist, den bereitgestellten Startwert (S) zu speichern.
  6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, dass der Zufallsgenerator (5) ausgebildet ist, einen veränderten Startwert (S1) in der Speichervorrichtung (6) abzuspeichern.
  7. Schaltungsanordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Dauer (T) des Zeitraums vorgegeben ist.
  8. Schaltungsanordnung nach einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, dass die Zugriffsvorrichtung (2) eine Vergleichsvorrichtung (17) umfasst, um zu prüfen, ob eine vorgegebene Testinformation (TI1), die von der Zugriffsvor richtung (2) in einem Bereich (16) des Schreib-Lese-Speichers (1) abspeicherbar ist, und eine ausgelesene Testinformation (TI2), die von der Zugriffsvorrichtung (2) aus dem Bereich (16) auslesbar ist, in einem vorgegebenen Zusammenhang, der durch ein Bereitstellungsmittel (14) bereitgestellt wird, stehen.
  9. Schaltungsanordnung nach Anspruch 8, dadurch gekennzeichnet, dass die Vergleichsvorrichtung (2) ausgebildet ist, die Schaltvorrichtung (3, 4) derart anzusteuern, dass die Versorgungsspannung (V) entkoppelt wird, bis die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) in dem vorgegebenen Zusammenhang stehen.
  10. Schaltungsanordnung nach Anspruch 8, dadurch gekennzeichnet, dass die Vergleichsvorrichtung (2) ausgebildet ist, die Schaltvorrichtung (3, 4) derart anzusteuern, dass die Versorgungsspannung (V) in mehreren Schritten für jeweils einen Zeitraum (T, T1, T2) entkoppelt wird, bis die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) in dem vorgegebenen Zusammenhang stehen.
  11. Schaltungsanordnung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass der flüchtige Schreib-Lese-Speicher (1) von der Versorgungsspannung (V) entkoppelbar ist.
  12. Schaltungsanordnung nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, dass die ausgelesene Testinformation (TI2) eine Bitfolge umfasst und die Vergleichsvorrichtung (6) derart ausgebildet ist, das Hamming-Gewicht der ausgelesenen Bitfolge zu bestimmen und zu überprüfen, ob das Hamming-Gewicht in einem vorgegebenen Bereich liegt.
  13. Schaltungsanordnung nach einem der Ansprüche 7 bis 11, dadurch gekennzeichnet, dass die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) jeweils eine Bitfolge umfassen und die Vergleichsvorrichtung (6) derart ausgebildet ist, dass der Hamming-Abstand zwischen der Bitfolge der vorgegebenen Testinformation (TI1) und der Bitfolge der ausgelesenen Testinformation (TI2) bestimmt wird und überprüft wird, ob der Hamming-Abstand in einem vorgegebenen Bereich liegt.
  14. Schaltungsanordnung nach einem der Ansprüche 1 bis 13, gekennzeichnet durch ein rückgekoppeltes Schieberegister (20), das der Zufallsgenerator (5) umfasst.
  15. Schaltungsanordnung nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass der flüchtige Schreib-Lese-Speicher (1) als DRAM ausgebildet ist.
  16. Schaltungsanordnung nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass der flüchtige Schreib-Lese-Speicher (1) als SRAM ausgebildet ist.
  17. Verfahren, um einen Zufallsgenerator (5) mittels eines flüchtigen Schreib-Lese-Speichers (1) zu initialisieren, wobei Information (I1) in zumindest einen Bereich (5) des flüchtigen Schreib-Lese-Speichers (1) gespeichert ist, mit den Schritten: – Unterbrechen einer Versorgungsspannung (V) für den zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) während eines Zeitraums (T, T1, T2) oder Unterbrechen der Bereitstellung eines informationserhaltenden Signals (R) für den zumindest einen Bereich (15) des Schreib-Lese-Speichers (1) während eines Zeitraums (T, T1, T2), – Auslesen von Information (I2) aus dem zumindest einen Bereich (11) des Schreib-Lese-Speichers (1) und – Bereitstellen der ausgelesenen Information (I2) als Startwert (S) für den Zufallsgenerator (5) oder Transformieren der ausgelesenen Information (I2) in einen Startwert (S) und Bereitstellen des Startwertes (S) für den Zufallsgenerator (5).
  18. Verfahren nach Anspruch 17, gekennzeichnet durch eine komprimierende oder selektierende Funktion (H) zum Transformieren.
  19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass die komprimierende oder selektierende Funktion (H) eine Hash-Funktion umfasst.
  20. Verfahren nach einem der Ansprüche 17 bis 19, gekennzeichnet durch einen weiteren Schritt, der das Generieren einer Zufallsfolge (Z) umfasst, die auf dem Startwert (S) basiert.
  21. Verfahren nach einem der Ansprüche 17 bis 20, dadurch gekennzeichnet, dass die Dauer (T) des Zeitraums vorgegeben ist.
  22. Verfahren nach einem der Ansprüche 17 bis 21, gekennzeichnet durch Prüfen, ob eine vorgegebene Testinformation (TI1), die beim Speichern in einen Bereich (16) des Schreib-Lese-Speichers (1) geschrieben worden ist, und eine nach dem Entkoppeln aus dem Bereich (16) des Schreib-Lese-Speichers (1) ausgelesene Testinformation (TI2) in einem vorgegebenen Zusammenhang stehen.
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass das Prüfen vor dem Auslesen durchgeführt wird, wenn die ausgelesene Testinformation (TI2) nicht mit der ausgelesenen Information (I2) übereinstimmt.
  24. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass das Prüfen vom Auslesen umfasst wird, wenn die ausgelesene Testinformation (TI2) von der ausgelesenen Information (I2) umfasst wird.
  25. Verfahren nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, dass das Speichern, das Unterbrechen, und das Prüfen wiederholt wird, bis die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) in dem vorgegebenen Zusammenhang stehen.
  26. Verfahren nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, dass das Unterbrechen und das Prüfen wiederholt werden, bis die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) in dem vorgegebenen Zusammenhang stehen.
  27. Verfahren nach einem der Ansprüche 17 bis 26, dadurch gekennzeichnet, dass die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) jeweils eine Bitfolge umfassen und beim Prüfen (140, 154) das Hamming-Gewicht der Bitfolge der ausgelesenen Testinformation (TI2) bestimmt wird und überprüft wird, ob das Hamming-Gewicht in einem vorgegebenen Bereich liegt.
  28. Verfahren nach einem der Ansprüche 17 bis 25, dadurch gekennzeichnet, dass die vorgegebene Testinformation (TI1) und die ausgelesene Testinformation (TI2) jeweils eine Bitfolge umfassen und beim Prüfen (140, 150) der Hamming-Abstand zwischen der Bitfolge der vorgegebenen Testinformation (TI1) und der Bitfolge der ausgelesenen Testinformation (TI2) bestimmt wird und überprüft wird, ob der Hamming-Abstand in einem vorgegebenen Bereich liegt.
DE102006028944A 2005-06-23 2006-06-23 Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators Expired - Fee Related DE102006028944B3 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006028944A DE102006028944B3 (de) 2006-06-23 2006-06-23 Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators
US11/548,935 US7949698B2 (en) 2005-06-23 2006-10-12 Circuit arrangement and method for initializing a random number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006028944A DE102006028944B3 (de) 2006-06-23 2006-06-23 Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators

Publications (1)

Publication Number Publication Date
DE102006028944B3 true DE102006028944B3 (de) 2007-09-13

Family

ID=38120039

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006028944A Expired - Fee Related DE102006028944B3 (de) 2005-06-23 2006-06-23 Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators

Country Status (2)

Country Link
US (1) US7949698B2 (de)
DE (1) DE102006028944B3 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008152564A1 (en) * 2007-06-14 2008-12-18 Intrinsic Id Bv Device and method for providing authentication
KR101092635B1 (ko) 2010-04-29 2011-12-13 동국대학교 산학협력단 난수를 선형 보정하는 방법 및 장치
JP5813380B2 (ja) * 2011-06-03 2015-11-17 株式会社東芝 半導体記憶装置
US9037624B1 (en) 2012-08-03 2015-05-19 Seagate Technology Llc Using memory access times for random number generation
WO2018034699A1 (en) * 2016-08-19 2018-02-22 Oracle International Corporation Collecting entropy from diverse sources

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10344327B3 (de) * 2003-09-24 2005-06-09 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044388A (en) * 1997-05-15 2000-03-28 International Business Machine Corporation Pseudorandom number generator
US6009135A (en) * 1997-10-10 1999-12-28 Interdigtal Technology Corporation Method and apparatus for generating a stream cipher
US6195724B1 (en) * 1998-11-16 2001-02-27 Infineon Technologies Ag Methods and apparatus for prioritization of access to external devices
US6647054B1 (en) * 1999-12-29 2003-11-11 Koninklijke Philips Electronics N.V. Multiple mask arrangement for jumping in pseudo-noise sequences
US6968460B1 (en) * 2001-05-10 2005-11-22 Advanced Micro Devices, Inc. Cryptographic randomness register for computer system security
US20060064448A1 (en) * 2001-11-20 2006-03-23 Ip-First, Llc. Continuous multi-buffering random number generator
US6765506B1 (en) * 2003-01-06 2004-07-20 Via Technologies Inc. Scrambler, de-scrambler, and related method
WO2004095199A2 (en) * 2003-04-21 2004-11-04 Vg Games Ltd Systems and methods for generating random numbers from astonomical events
DE10347455B4 (de) * 2003-10-13 2010-08-26 Infineon Technologies Ag Pseudozufallszahlengenerator für einen Stream Cipher
DE10357782B3 (de) * 2003-12-10 2005-05-04 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen von Zufallszahlen mit einem Pseudozufallsgenerator
US7526794B2 (en) * 2005-09-30 2009-04-28 Rockwell Automation Technologies, Inc. Data perspectives in controller system and production management systems
DE102006028943B4 (de) * 2006-06-23 2008-07-24 Infineon Technologies Ag Verfahren zum Betreiben eines flüchtigen Schreib-Lese-Speichers als Detektor und Schaltungsanordnung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10344327B3 (de) * 2003-09-24 2005-06-09 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl

Also Published As

Publication number Publication date
US20070130240A1 (en) 2007-06-07
US7949698B2 (en) 2011-05-24

Similar Documents

Publication Publication Date Title
DE69133365T2 (de) Halbleiterspeicher mit sequenzgetakteten Zugriffscodes zum Eintritt in den Prüfmodus
DE102013222321B4 (de) Elektronisches Gerät mit einer Vielzahl von Speicherzellen und mit physikalisch unklonbarer Funktion
DE102006028944B3 (de) Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators
DE10343525B4 (de) Verfahren zum Betreiben von Halbleiterbausteinen, Steuervorrichtung für Halbleiterbausteine und Anordnung zum Betreiben von Speicherbausteinen
DE10304673B4 (de) Auffrischschaltung für dynamische Speicher
DE2828698C2 (de) Monolithische integrierte Schaltungsvorrichtung mit einem Speicher
DE102004055006B4 (de) Flipflop mit zusätzlicher Zustandsspeicherung bei Abschaltung
DE602004006848T2 (de) Test für schwache sram-zellen
EP0981115B1 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE102009006389A1 (de) Hybridzufallszahlengenerator
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE102009025412B4 (de) Integrierte Schaltung und Verfahren zum Schützen eines Schaltungsteils einer integrierten Schaltung, der geschützt werden soll und Computerprogrammprodukt zur Ausführung des Verfahrens
DE102010029735A1 (de) Verfahren zum Generieren eines Bitvektors
DE69811760T2 (de) Prüfbare Schaltung mit geringer Zahl von Anschlüssen
DE102004061311A1 (de) Temperaturkompensierte Verzögerungssignale
DE102013204274A1 (de) Verfahren zum Erkennen einer Korrelation
DE60208062T2 (de) Digitales system und entsprechendes verfahren zur fehlererkennung
DE102006037016A1 (de) Pseudo-Zufallszahlengenerator für eine Chipkarte
DE102005054898A1 (de) Flexibles internes Adresszählverfahren und -vorrichtung
DE10018013A1 (de) Integrierte Halbleiterschaltung, insbesondere Halbleiter-speicheranordnung und Verfahren zum Betrieb derselben
DE102006028943B4 (de) Verfahren zum Betreiben eines flüchtigen Schreib-Lese-Speichers als Detektor und Schaltungsanordnung
DE102006061359B4 (de) Vorrichtung und Verfahren zur Dateninvertierung
DE102007053295A1 (de) Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung
EP3617928A1 (de) Verfahren zum speichern von schlüsseldaten in einem elektronischen bauteil
DE102016100630B4 (de) Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee