-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft eine Erzeugung von echten Zufallszahlen.
-
HINTERGRUND DER ERFINDUNG
-
Sicherheit in modernen Ein-Chip-Systemen bzw. System-on-Chips (SoC) wird immer wichtiger, unter anderem, da das Internet der Dinge (IoT – Internet of Things) sehr schnell sowohl in Infrastruktur als auch Endpoint-Anwendungen wächst. Drahtlose Nahbereichskommunikationen mit niedriger Energie sind das wichtigste Blatt von IoT, sichere Verbindungen sind sehr erwünscht, da wichtige Information übertragen werden könnte. Somit kann ein SoC mit einem starken Prozessor ausgestattet sein, der ausreichend Verarbeitungsleistung für Kryptographiealgorithmen oder die erforderlichen Hardware-Beschleuniger zum Beschleunigen dieser Prozesse vorsieht. Jedoch ist der Anfangsschritt, bevor die Welt der Kryptographie erforscht wird, die Erzeugung eines digitalen Worts, das zufällig ist, d. h. es gibt genügend Entropie und Zufälligkeit, um zu garantieren, dass alle möglichen Wortwerte mit fast gleicher Wahrscheinlichkeit erzeugt werden, und weiter die Werte voneinander unabhängig sind, d. h. der nächste Wert kann nicht vorhergesagt werden, unabhängig davon, wie viele Wörter bereits erzeugt wurden. Dieses Zufallswort wird normalerweise als „der Samen” bezeichnet und wird für die Erzeugung der Kryptographieschlüssel in späteren Stufen verwendet.
-
Es gibt eine Vielzahl von Möglichkeiten zum Erzeugen von Samen, hauptsächlich basierend auf dem Flip-Flop-Metastabilitätseffekt, der randomisierte Ergebnisse auf seinem digitalen Ausgang vorsieht, oder auf Speicherarray-Digitalrauschen bei einem Einschalten des Systems. Sie alle benötigen eine spezielle Hardware, um eine echte Zufallszahl zu erzeugen. Es gibt andere Möglichkeiten, wie ein Digitalisieren von Umgebungsdaten (zum Beispiel Überwachen eines Pins eines offenen analogen Chips oder Prüfen von RSSI-Werten), aber diese sind entweder unzureichend hinsichtlich Entropie/Zufälligkeit oder erfordern eine lange Zeit zum Sammeln eines guten Samens. Darüber hinaus kann das Ergebnis anfällig gegenüber 'Manipulation' sein. Zum Beispiel können externe Impulse das Ergebnis beeinflussen.
-
Somit wäre ein verbesserter echter Zufallsgenerator wünschenswert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In einem ersten Aspekt sieht die Erfindung einen verbesserten echten Zufallszahlgenerator vor. Ein derartiger echter Zufallszahlgenerator könnte aufweisen: eine Antenne;
eine analoge Verarbeitungseinheit für eine analoge Verarbeitung eines von der Antenne empfangenen Signals;
einen Analog-zu-Digital(AD – analog to digital)-Wandler zum Umwandeln eines analogen Signals, das von der analogen Verarbeitungseinheit erzeugt wird, in ein digitales Signal;
Isolationsmittel zum temporären Isolieren der Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler, um ein Rauschsignal zu erzeugen;
Abtastmittel zum Abtasten von Ausgangswerten, die von dem AD-Wandler erzeugt werden, wenn die Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler isoliert ist; und
eine digitale Verarbeitungseinheit zum Verarbeiten der abgetasteten Ausgangswerte, die von dem AD-Wandler erzeugt werden.
-
Die abgetasteten Ausgangswerte enthalten eine echte Zufälligkeit, da der Einfluss von Interferenz größtenteils durch Isolieren der Antenne von der analogen Verarbeitungseinheit eliminiert wurde, so dass die analoge Verarbeitungseinheit hauptsächlich Zufallsrauschen verarbeitet. Folglich ist zumindest ein Teil der abgetasteten Ausgangswerte (zum Beispiel ein oder mehrere Bits der abgetasteten Ausgangswerte) zufällig. Weiter kann die analoge Verarbeitungseinheit, die in Kommunikationssystemen bereits vorhanden ist zum Verarbeiten von Kommunikationssignalen, die mit der Antenne empfangen bzw. gesendet werden, erneut verwendet werden, um eine Zufallszahl zu erzeugen. Auch kann das System verwendet werden, um einen Samen in SoCs oder anderer Hardware mit einem eingebetteten Funk-Transceiver zu erzeugen durch Verwenden von Hardware, die üblicherweise für die Prüfbarkeit der Funkvorrichtung selbst vorhanden ist. Das System kann fähig sein, einen guten Samen in kurzer Zeit vorzusehen, und kann dazu beitragen, Sicherheitsprotokolle zu implementieren, die in tief eingebetteten Systemen in IoT laufen. Jedoch ist die Erfindung nicht auf diese beispielhaften Anwendungen begrenzt.
-
Die digitale Verarbeitungseinheit kann konfiguriert sein zum Erzeugen einer Zufallszahl basierend auf einem oder mehreren der Ausgangswerte, die durch den AD-Wandler erzeugt werden. Eine einfache beispielhafte Verwendung ist ein Erzeugen einer Zufallszahl basierend auf dem/den abgetasteten Ausgangswert oder Ausgangswerten.
-
Die analoge Verarbeitungseinheit kann einen Filter mit einer Verstärkung aufweisen, die größer als 0 dB ist. In anderen Worten, der Filter führt eine Verstärkung durch. Da die Antenne von der analogen Verarbeitungseinheit isoliert ist, wird hauptsächlich Rauschen verstärkt, das geeignet ist zum Erzeugen einer echten Zufälligkeit.
-
Der Filter kann konfiguriert sein, mit einer erhöhten Filterbandbreite zu arbeiten, während die Ausgangswerte erzeugt werden. Dies kann eine Akquisition von Zufallsbits beschleunigen.
-
Die Antenne kann mit der analogen Verarbeitungseinheit über zumindest einen aus einem rauscharmen Verstärker (LNA – low-noise amplifier) und einem Mischer verbunden sein. Das Isolationsmittel kann konfiguriert sein zum temporären und gleichzeitigen Isolieren der Antenne und des zumindest einen des LNAs und des Mischers (oder beide) von der analogen Verarbeitungseinheit und dem ADC. Die digitale Verarbeitungseinheit kann konfiguriert sein zum Verarbeiten von Ausgangswerten des AD-Wandlers, abgetastet, wenn die Antenne und der LNA und/oder der Mischer von der analogen Verarbeitungseinheit und dem ADC isoliert sind. Dies ist eine geeignete Konfiguration, die eine erneute Verwendung der analogen Verarbeitungseinheit ermöglicht, die (in einem Normalbetrieb) ein Signal von dem LNA und/oder dem Mischer verarbeitet, so dass die analoge Verarbeitungseinheit auch zur Erzeugung von Zufallszahlen verwendet werden kann.
-
Die Vorrichtung kann einen Demodulator aufweisen zum Demodulieren der durch den AD-Wandler erzeugten Ausgangswerte, wenn die Antenne elektrisch mit der analogen Verarbeitungseinheit verbunden ist. Dies ist eine geeignete Konfiguration, in der die analoge Verarbeitungseinheit eine Verarbeitungseinheit sein kann, die Signale von dem LNA und/oder dem Mischer verarbeiten kann, um die Signale für den Demodulator vorzubereiten.
-
Die digitale Verarbeitungseinheit kann konfiguriert sein, die Zufallszahl auf ein oder mehrere ausgewählte Bits der durch den AD-Wandler erzeugten Ausgangswerte zu basieren. Das eine oder die mehreren ausgewählten Bits können die Bits sein, die die meiste Zufälligkeit enthalten. Zum Beispiel können die niedrigstwertigen Bits die Bits sein, die die meiste Zufälligkeit enthalten. Zum Beispiel kann das eine niedrigstwertige Bit verwendet werden, die zwei niedrigstwertigen Bits oder die vier niedrigstwertigsten Bits. In einem anderen Beispiel können die 2. und 3. niedrigstwertigen Bits verwendet werden. Diese Zahlen sind nur Beispiele.
-
Die Abtasteinheit kann konfiguriert sein zum Abtasten des Ausgangs des AD-Wandlers zu Zeitpunkten, die voneinander durch zumindest eine vorgegebene Zeitdauer getrennt sind, wobei die Zeitdauer länger ist als eine Zeitdauer, in der die Ausgangswerte des AD-Wandlers eine signifikante Autokorrelation zeigen. Auf diese Weise kann ein unerwünschter Effekt einer Autokorrelation von Abtastpunkten, die zeitlich nahe beieinander liegen, eliminiert werden.
-
Der AD-Wandler kann konfiguriert sein zum Ausgeben von Werten (wie Poly-Phase-Werte) in einer Vielzahl von Kanälen (zum Beispiel ein I-Kanal und ein Q-Kanal). Die digitale Verarbeitungseinheit kann konfiguriert sein zum Bestimmen der Zufallszahl basierend auf Werten, die einem ausgewählten Kanal entsprechen (zum Beispiel einer der I-Kanal- oder Q-Kanal-Werte). Wenn die Vorrichtung vielphasige Kanäle implementiert (wie I-Kanal und Q-Kanal), kann die Verarbeitung dieser Kanäle vollständig getrennt sein. Jedoch können in einem Normalbetrieb diese Kanäle voneinander abhängig sein und/oder es kann einen Informationsaustausch zwischen den zwei Kanälen geben. Um eine Korrelation von Werten, die zur Erzeugung von Zufallszahlen verwendet werden, zu vermeiden, kann die digitale Signalverarbeitungseinheit einen der Kanäle verwerfen und nur Werte verwenden, die von einem der Kanäle erzeugt werden (entweder dem I- oder dem Q-Kanal zum Beispiel).
-
Alternativ können die analoge Verarbeitungseinheit und der AD-Wandler in der Lage sein, temporär die Verarbeitungspfade der Kanäle zu entkoppeln (zum Beispiel Entkoppeln eines Verarbeitungspfads des I-Kanals und eines Verarbeitungspfads des Q-Kanals). In einem solchen Fall kann die digitale Verarbeitungseinheit konfiguriert sein zum Bestimmen der Zufallszahl basierend auf den vielphasigen Ausgangswerten der Vielzahl von Kanälen (zum Beispiel sowohl den I-Kanal- als auch Q-Kanal-Werten), wenn die Verarbeitungspfade entkoppelt sind. Außerdem kann, wenn die Vorrichtung derart konstruiert ist, dass die Verarbeitungspfade der Kanäle (zum Beispiel der I-Kanal und der Q-Kanal) immer entkoppelt sind, die Zufallszahl auch auf einer Kombination aus allen Werten der Vielzahl von Kanälen basieren (zum Beispiel eine Kombination von sowohl der I-Kanal- als auch der Q-Kanal-Werte). Es ist offensichtlich, dass diese beispielhaften Konfigurationen nur vorgesehen sind, um einige vorteilhafte Beispiele zu erläutern, diese Beispiele aber nicht die Erfindung einschränken.
-
Die digitale Verarbeitungseinheit kann konfiguriert sein zum Abtasten der von dem AD-Wandler erzeugten Ausgangswerte unter Verwendung eines Zufallsabtastschemas. Das Zufallsabtastschema kann einen Einfluss von verbleibenden unerwünschten Periodizitäten in dem von dem AD-Wandler erzeugten Signal entfernen.
-
Die digitale Verarbeitungseinheit kann konfiguriert sein zum Bestimmen eines Abtastindexes zum Abtasten des von dem AD-Wandler erzeugten Ausgangswerts in Abhängigkeit von einem vorherigen Ausgangswert, der von dem AD-Wandler erzeugt wurde. Dies ist eine Möglichkeit, ein Zufallsabtastschema zu erlangen.
-
Die digitale Verarbeitungseinheit kann konfiguriert sein zum Bestimmen des Abtastindexes zum Abtasten des Ausgangswerts hinsichtlich eines ersten Kanals und erzeugt durch den AD-Wandler in Abhängigkeit von einem vorherigen Ausgangswert hinsichtlich eines zweiten Kanals und erzeugt durch den AD-Wandler, wobei der erste und der zweite Kanal unterschiedliche Kanäle sind, die beide aus I-Kanal und Q-Kanal ausgewählt sind, und wobei der Ausgangswert hinsichtlich des ersten Kanals verarbeitet wird, um eine Zufallszahl in Abhängigkeit von dem Ausgangswert hinsichtlich des ersten Kanals zu erzeugen. Dies ist eine weitere Möglichkeit, ein Zufallsabtastschema zu erlangen.
-
Gemäß einem weiteren Aspekt der Erfindung kann ein Verfahren zum Erzeugen einer Zufallszahl vorgesehen werden. Das Verfahren weist auf
Erzeugen eines Rauschsignals unter Verwendung einer analogen Verarbeitungseinheit durch temporäres Isolieren einer Antenne von der analogen Verarbeitungseinheit und einem Analog-Digital(AD – analog to digital)-Wandler;
Umwandeln eines analogen Signals, das von der analogen Verarbeitungseinheit erzeugt wird, in ein digitales Signal durch den AD-Wandler;
Abtasten des digitalen Signals, wenn die Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler isoliert ist, um abgetastete Ausgangswerte zu erlangen; und
Verarbeiten der abgetasteten Ausgangswerte.
-
Gemäß einem weiteren Aspekt der Erfindung kann ein Computerprogrammprodukt zur Ausführung durch eine Steuervorrichtung vorgesehen werden. Das Computerprogramm kann Anweisungen enthalten, um eine Steuervorrichtung bei einem Ausführen des Programms zu veranlassen zum Steuern:
eines Erzeugens eines Rauschsignals unter Verwendung einer analogen Verarbeitungseinheit durch temporäres Isolieren einer Antenne von der analogen Verarbeitungseinheit und einem Analog-Digital(AD – analog to digital)-Wandler;
eines Umwandelns eines analogen Signals, das von der analogen Verarbeitungseinheit erzeugt wird, in ein digitales Signal durch den AD-Wandler;
eines Abtastens des digitalen Signals, wenn die Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler isoliert ist, um abgetastete Ausgangswerte zu erlangen; und
eines Verarbeitens der abgetasteten Ausgangswerte.
-
Fachleute auf dem Gebiet werden verstehen, dass die oben beschriebenen Merkmale auf beliebige Weise, wie es nützlich erscheint, kombiniert werden können. Außerdem können Modifikationen und Variationen, die in Bezug auf das System beschrieben werden, ebenfalls auf das Verfahren und auf das Computerprogrammprodukt angewendet werden, und Modifikationen und Variationen, die in Bezug auf das Verfahren beschrieben werden, können ebenfalls auf das System und das Computerprogrammprodukt angewendet werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Im Folgenden werden Aspekte der Erfindung anhand von Beispielen unter Bezugnahme auf die Zeichnungen erläutert. Die Zeichnungen sind schematisch und möglicherweise nicht maßstabsgetreu.
-
1 ist ein Diagramm einer Vorrichtung für eine Erzeugung von echten Zufallszahlen.
-
2 ist ein Ablaufdiagramm, das ein Verfahren für eine Erzeugung von echten Zufallszahlen darstellt.
-
3 ist ein Diagramm einer weiteren Vorrichtung für eine Erzeugung von echten Zufallszahlen.
-
DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
-
1 zeigt relevante Teile einer Vorrichtung für eine Erzeugung von echten Zufallszahlen. Die Vorrichtung hat eine Verbindung für eine Antenne 1 und eine Verbindung mit Masse 2. Wenn vorhanden, ist die Antenne mit dem rauscharmen Verstärker (LNA – low-noise amplifier) 3 verbunden. Der Ausgang des LNAs ist mit einem Mischer 4 verbunden, der das Ausgangssignal des LNAs mit einem anderen Signal mischt (normalerweise durch einen anderen Teil der Vorrichtung erzeugt, nicht gezeigt). Der Ausgang des Mischers ist mit einem Filter 7 verbunden, der ein Beispiel für eine analoge Verarbeitungseinheit ist. Andere Beispiele von analogen Verarbeitungseinheiten, die anstelle eines Filters verwendet werden können, umfassen Tiefpassfilter, Bandpassfilter, Zwischenfrequenzverstärker, Verstärker mit variabler Verstärkung und Begrenzer. Der Filter kann eine Verstärkungsfunktion haben, d. h. die Verstärkung kann größer als 0 dB sein. Wenn zur Erzeugung von Zufallszahlen verwendet, verstärkt die Verstärkung die Rauschkomponente des analogen Signals. Der Ausgang des Filters 7 ist mit einem Analog-zu-Digital-Wandler (ADC – analog to digital converter) 8 verbunden. Der Ausgang des ADCs 8 ist mit einem digitalen Signalprozessor verbunden, der neben anderen Aufgaben schließlich die Demodulationsfunktion durchführt. Dieser digitale Signalprozessor wird im Folgenden hier als Demodulator 9 bezeichnet. Das von dem Demodulator 9 erzeugte demodulierte Signal wird durch andere Elemente der Vorrichtung verarbeitet. Diese anderen Elemente sind in der Figur nicht gezeigt. Der Ausgang des ADCs 8 ist ebenfalls mit einer „digitale Signalverarbeitung(DSP)”-Einheit 10 verbunden. Es kann einen Schalter geben zum Trennen entweder des Demodulators 9 oder des DSPs 10 von dem ADC 8. Jedoch ist dies keine Beschränkung und wird nicht in der Figur gezeigt.
-
Isolationsmittel 6 können durch einen Schalter implementiert werden, wie dargestellt, aber andere Arten zum Implementieren der Isolationsmittel sind möglich (zum Beispiel ein Deaktivieren des LNAs, des Mischer oder beider). Das Isolationsmittel 6 kann temporär die Antenne 1 von der analogen Verarbeitungseinheit 7 und dem AD-Wandler 8 isolieren. Auf diese Weise wird ein Eingangsrauschsignal mit einer normalerweise relativ kleinen Amplitude erlangt aufgrund der Rauscherzeugungskomponenten in der analogen Verarbeitungseinheit 7.
-
Der DSP 10 kann eine Abtasteinheit 11 aufweisen, um die Werte des ADCs abzutasten. Der DSP 10 kann konfiguriert sein zum Ausgeben einer Zufallszahl 12 basierend auf den abgetasteten Werten von dem ADC. Das Abtastmittel 11 kann ausgebildet sein zum Abtasten der Ausgangswerte, die von dem AD-Wandler erzeugt werden während der Zeitdauer, in der die Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler isoliert ist.
-
Weiter kann der DSP 10 ausgebildet sein zum Verarbeiten der abgetasteten Ausgangswerte, die von dem AD-Wandler erzeugt werden. Da die abgetasteten Ausgangswerte des ADCs 8 eine inhärente Zufälligkeit haben, können die Werte, die durch das Abtastmittel 11 abgetastet werden, als Zufallszahlen angesehen werden.
-
Die digitale Verarbeitungseinheit 10 kann konfiguriert sein zum Erzeugen einer Zufallszahl basierend auf einem oder mehreren der durch den AD-Wandler erzeugten Ausgangswerte. Zum Beispiel kann jede nicht-Zufallskomponente, die in den abgetasteten Werten vorhanden sein kann, wie eine DC-Komponente, durch den DSP 10 eliminiert werden, um eine vollständige Zufallszahl 12 zu erzeugen.
-
Wenn die analoge Verarbeitungseinheit einen Filter aufweist, kann der Filter konfiguriert sein zum Arbeiten mit einer höheren Filterbandbreite, während die Ausgangswerte für die Erzeugung von Zufallszahlen abgetastet werden. Zum Beispiel ist die Filterbandbreite im Vergleich zu einem Standardbetriebsmodus der Vorrichtung erhöht. Dies ermöglicht, eine ausreichende Menge von Zufallsinformation in einer kurzen Zeit zu erlangen.
-
Im Prinzip müssen die Antenne 1, der LNA 3 und der Mischer 4 nicht vorhanden sein, um Zufallszahlen zu erzeugen. Es kann Konfigurationen geben, bei denen einige oder alle dieser Komponenten überhaupt nicht vorhanden sind. Allerdings, wenn sie vorhanden sind, sind sie vorzugsweise alle von dem analogen Signalprozessor 7 durch Isolationsmittel 6 isoliert. Jedoch ist es auch möglich, nur die Antenne 1 zu isolieren, ohne den LNA 3 und den Mischer 4 von der analogen Verarbeitungseinheit 7 zu isolieren. In einem alternativen Ausführungsbeispiel sind nur der LNA 3 und die Antenne 1 isoliert, aber der Mischer 4 ist nicht von dem analogen Signalverarbeitungsmittel 7 isoliert. Zum Beispiel ist der Mischer 4 stattdessen von seinem Eingangssignal 5 isoliert. Außerdem kann in einem alternativen Ausführungsbeispiel die Isolierung erreicht werden durch vollständiges Ausschalten des LNAs 3 oder des Mischer 4, so dass der Ausgang des LNAs 3 oder des Mischers 4 nicht von empfangenen Signalen abhängig ist.
-
Wie oben erläutert, kann die Antenne 1 mit der analogen Verarbeitungseinheit 7 über zumindest einen aus einem rauscharmen Verstärker (LNA – low-noise amplifier) 3 und einem Mischer 4 verbunden sein. Das Isolationsmittel 6 kann konfiguriert sein zum temporären und gleichzeitigen Isolieren der Antenne und des zumindest einen des LNAs 3 und des Mischers 4 (üblicherweise beide) von der analogen Verarbeitungseinheit 7 und dem ADC 8, wobei die digitale Verarbeitungseinheit 10 konfiguriert ist zum Verarbeiten von Ausgangswerten des AD-Wandlers 8, abgetastet, wenn die Antenne 1 und der zumindest eine des LNAs 3 und des Mischers 4 (üblicherweise beide) von der analogen Verarbeitungseinheit 7 und dem ADC 8 isoliert sind.
-
Die digitale Verarbeitungseinheit 10 kann konfiguriert sein, die Zufallszahl auf eines oder mehrere der niedrigstwertigen Bits der Ausgangswerte zu basieren, die durch den AD-Wandler erzeugt werden.
-
Es existieren viele Möglichkeiten, um die Zufallszahl 12 zu erzeugen. Zum Beispiel können die niedrigstwertigen Bits einer Vielzahl von abgetasteten Werten verknüpft werden, um einen Zufallswert mit einer vorgegebenen Anzahl von Bits zu konstruieren. Der Wert kann weiter verarbeitet werden, um seine Zufallseigenschaften zu verbessern.
-
Die digitale Verarbeitungseinheit 10 kann konfiguriert sein zum Abtasten des Ausgangs des AD-Wandlers an Zeitpunkten, die voneinander durch zumindest eine vorgegebene Zeitdauer getrennt sind. Diese Zeitdauer kann bei einem Gestalten oder Programmieren der digitalen Signalverarbeitungseinheit 10 ausgewählt werden, unter Berücksichtigung einer Autokorrelation in Sequenzen von abgetasteten Werten des ADCs. Wenn der Zeitraum zwischen Abtastwerten ausreichend ist, ist diese Autokorrelation im Allgemeinen nicht signifikant.
-
Die Analog/Digital-Verarbeitungskette eines Transceivers (LNA 3 – Mischer 4 – Schalter 6 – analoge Verarbeitungseinheit 7 – ADC 8 – Demodulator 9) kann ausgebildet sein zum Verarbeiten von Mehrphasensignalen (wie komplexe Signale) mit zwei oder mehr (beispielsweise N) Signalkomponenten (zum Beispiel eine I-Komponente und eine Q-Komponente), wobei die Komponenten jeweils in N einzelnen Kanälen der Verarbeitungselemente verarbeitet werden. Diese Verarbeitungskanäle können Interdependenzen haben. Bei einer Durchführung von Mehrphasenoperationen/berechnungen sind die Komponenten im Allgemeinen voneinander abhängig. Jedoch ist dies nicht immer der Fall. Es ist möglich, zum Beispiel in einem komplexen System (d. h. N = 2), dass der I-Verarbeitungskanal und der Q-Verarbeitungskanal vollständig unabhängig voneinander sind. In letzterem Fall kann der DSP 10 die I-Abtastwerte und die Q-Abtastwerte als unabhängige Zufallswerte verwenden. Wenn jedoch diese Verarbeitungskanäle eine Interdependenz haben, dann kann es sinnvoll sein, dies zu berücksichtigen, zum Beispiel in dem DSP 10. Diese Interdependenz kann auf verschiedene Weise gehandhabt werden. Obwohl Beispiele hier dargestellt werden, sind diese Beispiele in keinster Weise einschränkend.
-
Zum Beispiel kann der AD-Wandler 8 konfiguriert sein zum Ausgeben von Werten in einem I-Kanal und einem Q-Kanal, und die digitale Verarbeitungseinheit ist konfiguriert zum Bestimmen der Zufallszahl basierend auf einem der I-Kanal- oder Q-Werte.
-
Die analoge Verarbeitungseinheit 7 und der Analog-Digital-Wandler 8 können in der Lage sein zum temporären Entkoppeln eines Verarbeitungspfads des I-Kanals und eines Verarbeitungspfads des Q-Kanals, zum Beispiel unter der Steuerung des DSPs 10. Die digitale Verarbeitungseinheit 10 kann konfiguriert sein zum Bestimmen der Zufallszahl basierend auf sowohl den I-Kanal- als auch Q-Kanal-Werten, wenn die Verarbeitungspfade entkoppelt sind.
-
Darüber hinaus, um den Effekt von Periodizitäten zu eliminieren, kann die Abtasteinheit 11 die von dem AD-Wandler 8 erzeugten Ausgangswerte unter Verwendung eines Zufallsabtastschemas abtasten. Dieses Abtastschema bestimmt die Zeitpunkte, zu denen der ADC 8 abgetastet wird. Dies kann zum Beispiel durch zufälliges Auswählen von Indexwerten von Abtastpunkten erfolgen.
-
Die Abtasteinheit 11 kann konfiguriert sein zum Bestimmen eines Abtastindexes zum Abtasten des von dem AD-Wandler erzeugten Ausgangswerts in Abhängigkeit von einem vorherigen Ausgangswert, der durch den AD-Wandler erzeugt wurde.
-
In einem bestimmten Beispiel ist die digitale Verarbeitungseinheit 10 konfiguriert zum Bestimmen des Abtastindexes zum Abtasten des Ausgangswerts hinsichtlich eines ersten Kanals und von dem AD-Wandler erzeugt in Abhängigkeit von einem vorherigen Ausgangswert hinsichtlich eines zweiten Kanals und von dem AD-Wandler erzeugt, wobei der erste und der zweite Kanal verschiedene Kanäle sind, die beide aus dem I-Kanal und dem Q-Kanal ausgewählt sind, und wobei der Ausgangswert hinsichtlich des ersten Kanals verarbeitet wird, um eine Zufallszahl in Abhängigkeit von dem Ausgangswert hinsichtlich des ersten Kanals zu erzeugen.
-
2 zeigt ein Ablaufdiagramm, das ein Verfahren für eine Erzeugung einer echten Zufallszahl zeigt. Die Verfahrensschritte des Verfahrens können gleichzeitig oder nacheinander durchgeführt werden. Die Pfeile zeigen an, dass Information von einem Schritt durch den nächsten Schritt verwendet wird.
-
Schritt 200 umfasst ein temporäres Isolieren einer Antenne von einer analogen Verarbeitungseinheit und einem Analog-Digital(AD – analog to digital)-Wandler. Diese Antenne kann mit dieser analogen Verarbeitungseinheit zum Verarbeiten (zum Beispiel Filtern) von empfangenen Signalen vor und nach dem temporären Isolieren verbunden sein.
-
Schritt 201 umfasst ein Erzeugen eines Rauschsignals unter Verwendung einer analogen Verarbeitungseinheit während eines temporären Isolierens einer Antenne von der analogen Verarbeitungseinheit und einem Analog-Digital(AD – analog to digital)-Wandler.
-
Schritt 202 umfasst ein Umwandeln eines von der analogen Verarbeitungseinheit erzeugten analogen Signals in ein digitales Signal durch den AD-Wandler.
-
Schritt 203 umfasst ein Abtasten des digitalen Signals, wenn die Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler isoliert ist, um abgetastete Ausgangswerte zu erlangen.
-
Schritt 204 umfasst ein Verarbeiten der abgetasteten Ausgangswerte.
-
Das Verfahren kann als Software zur Ausführung durch eine Vorrichtung, zum Beispiel eine Steuervorrichtung implementiert werden. Die Software veranlasst die Steuervorrichtung, das Folgende zu steuern:
Erzeugen eines Rauschsignals unter Verwendung einer analogen Verarbeitungseinheit durch temporäres Isolieren einer Antenne von der analogen Verarbeitungseinheit und einem Analog-Digital(AD)-Wandler;
Umwandeln eines von der analogen Verarbeitungseinheit erzeugten analogen Signals in ein digitales Signal durch den AD-Wandler;
Abtasten des digitalen Signals, wenn die Antenne von der analogen Verarbeitungseinheit und dem AD-Wandler isoliert ist, um abgetastete Ausgangswerte zu erlangen; und
Verarbeiten der abgetasteten Ausgangswerte.
-
Bestimmte hier dargelegte Ausführungsbeispiele können eine Möglichkeit vorsehen zum Erzeugen einer echten Zufallszahl in SoCs mit Funkausrüstung
- – ohne spezielle Hardware
- – rechtzeitig (mit ausreichend Entropie)
- – mit ausreichender Zufälligkeit, um eine FIPS 140-2 Konformität zu erfüllen, unter Verwendung von geeigneten Nachbearbeitungstechniken, und/oder
- – mit ausreichender Isolierung gegenüber externen Signalen, um ein Verfälschen des Ergebnisses zu verhindern.
-
Bestimmte hier offenbarte Ausführungsbeispiele können auf der Hardware basieren, die zur Charakterisierung der Funkleistung verwendet wird. Diese Hardware kann zum Erfassen von Zufallsbits erneut verwendet werden. Die Charakterisierung der Funkvorrichtung kann jedoch auf verschiedene Weise implementiert werden, und das Konzept einer Erzeugung einer Zufallszahl ist nicht abhängig von spezifische Implementierungstechniken oder -architekturen.
-
Gemäß bestimmten hier offenbarten Ausführungsbeispielen kann der Funkempfangspfad als eine mögliche Quelle von Entropie für die Erzeugung eines Samens verwendet werden, der gut genug ist, um als die Basis für einen symmetrischen Schlüssel mit akzeptabler kryptographischer Stärke zu dienen. BIST(Built-In Self-Test)-Schaltungen können verwendet werden, um die Zufallswerte in lesbare Zahlen zu digitalisieren.
-
3 zeigt eine Empfängerschaltung mit einer BIST(Built-In-Self-Test)-Schaltung 22. Elemente, die ähnlich sind zu den Elementen, die in 1 erscheinen, sind mit demselben Bezugszeichen versehen und werden im Folgenden nicht weiter beschrieben. Eine derartige BIST-Schaltung 22 wird normalerweise verwendet, um die Funkempfangsqualität zu charakterisieren. In der vorliegenden Offenbarung wird beschrieben, wie eine derartige BIST-Schaltung 22 für eine Zufallszahlerzeugung zu verwenden und/oder zu modifizieren ist. Die BIST-Schaltung 22 von 3 führt die Hauptfunktionen der DSP-Einheit 10 von 1 durch. Die beispielhafte Schaltung hat I- und Q-Datenakquisition, Speicherung und Nachverarbeitung. Einzel-Kanal-Schaltungen können ebenfalls hergestellt werden.
-
Die BIST-Schaltung 22 des vorliegenden Beispiels hat eine konfigurierbare RX(Empfangs)-Kette und hat eine Datenakquisitionsfähigkeit. Diese zwei Merkmale können verwendet werden, um die BIST-Schaltung zur Zufallszahlerzeugung zu verwenden.
-
Die Konfigurierbarkeit der BIST-Schaltung 22 bedeutet, dass die BIST-Schaltung 22 in der Lage ist zum Steuern der Aktivierung von einzelnen Blöcken der RX-Kette (zum Beispiel der LNA 3, der Mischer 4 und/oder der Synthesizer, der das Eingangssignal 5 vorsehen kann), Setzen des Zustands von Testschaltern, einschließlich der Schalter 6, die zwischen dem Mischer 4 und dem Filter 7 angeordnet sind. Die BIST-Schaltung 22 kann weiter in der Lage sein zum Entkoppeln der I- und Q-Pfade und Umgehen der automatischen Verstärkungsregelungsschleife (Automatic Gain Control Loop) oder anderer Rückkopplungsschleifen und Einstellungen. Eine derartige Konfigurierbarkeit wird verwendet zum Isolieren der Schaltungen, die die Zufallsbits erzeugen, von der Antenne 1, um die Effekte von möglichen Angriffen über die Luft zu eliminieren.
-
Obwohl jede Funkvorrichtungsgestaltung anders sein kann, kann in einem bestimmten Beispiel ein guter Kompromiss zwischen einer „Robustheit gegenüber Angriffen” und „hoher Entropie” erzielt werden durch Deaktivieren der Blöcke bis zu und einschließlich des Abwärtswandlungsmischers 4 als auch des „lokaler Oszillator(LO – local oscillator)”-Signals (nicht gezeigt), das den Mischer antreibt. Darüber hinaus die Zwischenfrequenz(IF – Intermediate Frequency)/Basisband-Verstärker/Filter (bei Block 7 gezeigt) bis zu ihrer maximalen Verstärkung (oder bis zu einem relativ hohen Verstärkungswert).
-
Der IF/Basisband-Pfad (Filterblock 7) kann eine ausreichende Verstärkung vorsehen, um das Ausgangsgrundrauschen des IF/Basisband-Pfads über die Grundquantisierung der ADCs zu bringen.
-
Weiter wird ein Mechanismus zum Akquirieren der Ausgänge von I- und Q-ADCs (oder eines anderen Signals weiter entlang des digitalen Signalpfads) vorgeschlagen. In einem Beispiel werden diese Ausgänge über einen parallelen Pfad in einen Verkettungsblock 15 geleitet, der zwei I- und Q-Bytes in einzelne 32-Bit-Wörter kombiniert. Anschließend werden sie in einen FIFO 16 und/oder eine dedizierte Speicherzelle geschoben, zum Beispiel DMA (dedicated memory array) 17. Diese Daten können manipuliert werden durch Erzeugen eines Histogramms und Extrahieren von Amplitude-, DC-Offset-, integrale Nichtlinearität(INL – integral non-linearity)- und differentielle Nichtlinearität(DNL – differential non-linearity)-Werten für den ADC 8, die auch ein implizites Evaluieren der RF-Empfangsqualität beinhalten können.
-
Für Illustrationszwecke wird in 3 gezeigt, dass das DMA 17 mit einer Speichersteuereinheit 19 verbunden ist. Die Speichersteuereinheit 19 ist mit einer CPU 20 und einem Systemdirektzugriffsspeicher 21 verbunden. Weiter ist eine MAC(media access control)-Einheit 18 sowohl mit dem Demodulator 9 als auch der Speichersteuereinheit 19 verbunden. Diese Komponenten sind nur als ein illustratives Beispiel gezeigt, wie zum Beispiel der Generator für echte Zufallszahlen in einem System auf einem Chip integriert werden kann.
-
Dieselbe Schaltung des BISTs 22 kann zum Erfassen von Zufallsrauschen verwendet werden, wenn die RX-Kette für sowohl „hohe Robustheit gegenüber Angriffen” als auch „hohe Entropie” konfiguriert ist, wie oben beschrieben.
-
Die tatsächliche Verwendung dieser Technik, um ausreichend Bits von Entropie zu sammeln, kann mit dem Echtzeitbetrieb des Systems verschachtelt werden. Das bedeutet, dass die Samenerzeugung initiiert werden kann, während tatsächlich die Funkvorrichtung für die jeweilige Anwendung arbeitet.
-
Wie oben beschrieben, können die I/Q-ADCs 8 das Ausgangsrauschen des IF/Basisband-Pfads 7 erfassen, während dieser Pfad in einer ausreichend hohen Verstärkungseinstellung gesetzt ist. Das Rauschen kann eine Gaußsche Verteilung haben, ist aber nicht unbedingt weiß. Es ist möglich, dass es eine zeitliche Kohärenz gibt, oder in anderen Worten, seine Autokorrelationsfunktion muss nicht ein Impuls sein. Um die Unabhängigkeit der Rauschabtastungen zu verbessern, kann die Abtastperiode konfiguriert werden, länger zu sein als die Kohärenzzeit. Auf diese Weise sind die Abtastwerte im Wesentlichen unabhängig.
-
Da die Ausgänge der ADCs 8 DC-Offsets enthalten können, ist eine effiziente Möglichkeit, um ein Zufallsbit aus einer ADC-Ablesung zu erlangen, ohne den tatsächlichen Wert der Ablesung zu berücksichtigen, nur das niedrigstwertige Bit (LSB – least significant bit) (oder einige der niedrigstwertigen Bits) zu behalten, wobei das Bit die höchste Variabilität und Unabhängigkeit zeigt.
-
Wenn, nach der Konfiguration der RX-Kette als ein Generator für echte Zufallszahlen (TRNG – a true random number generator) zu funktionieren, es weiter einen Effekt von Luft-Störern an dem Ausgang der ADCs 8 gibt, dann kann ein nicht-gleichförmiges, sondern zufälliges Abtasten übernommen werden, um eine harmonische Beziehung zu Störern zu eliminieren. Zum Beispiel können Zufallsbits, die von dem Q-Pfad gesammelt werden, einen Index für den nächsten Abtastpunkt des I-Pfads vorsehen. Auf diese Weise, da der Q-Pfad-generierte Index noch immer eine Zufälligkeit behält, auch bei Anwesenheit von Störern, ist es sehr schwierig, vorherzusagen, wie der I-Pfad durch die Störer beeinflusst wird. Außerdem wird nicht erwartet, aufgrund der Isolierung von der Antenne, dass ein Störer, wenn überhaupt beobachtbar, den IF/Basisband-Pfad 7 saturiert, so dass eine lineare Addition des Störers zu dem Rauschen betrachtet wird. Wieder kann ein Behalten des LSBs der ADC-Ablesungen helfen, einen systematischen Effekt der Störer zu eliminieren.
-
Wenn beide I- und Q-ADC-Ablesungen in einer Weise verwendet werden, um die Zufallsbits zu extrahieren, kann eine Verbesserung der Zufälligkeit erlangt werden, wenn der komplexe IQ-Pfad (falls dieser komplex ist) als zwei parallele und unabhängige Pfade konfiguriert werden kann, wie oft durch einen geeigneten Testmodus vorgesehen. Auf diese Weise kann die Korrelation zwischen den I- und Q-Pfaden aufgrund ihrer Kopplung eliminiert werden. Wiederum kann ein Behalten nur des LSBs sowohl von I als auch Q helfen, diesen Effekt zu mildern, wenn kein Entkoppeln der I- und Q-Pfade möglich ist.
-
Nachfolgend auf den Vorschlag, das LSB der ADC-Ablesungen zu behalten, und unter Berücksichtigung nur eines Signalpfads (für Topologien ohne einen komplexen Signalpfad), wird ein Bit pro ADC-Ablesung extrahiert. Dann, als Beispiel, wird eine schmalbandige Funkvorrichtung mit einer Kanalbandbreite in dem Bereich von 1 MHz betrachtet. Unter der Annahme, dass nach zum Beispiel 2 bis 5 Mikrosekunden zeitliche Kohärenzeffekte verschwunden sind (so dass ein neuer Abtastwert alle 2 Mikrosekunden abgetastet werden kann), dann ist der Durchsatz des vorgeschlagenen TRNGs 500 kbit/sec. Für Funkvorrichtungen mit breiterer Kanalbandbreite kann der Durchsatz proportional erhöht werden. Zusätzlich kann ein Testmodus, der die Filterbandbreite erhöhen kann, betrachtet werden, wenn höhere Geschwindigkeiten gewünscht sind.
-
Abhängig von den Anforderungen an die Zufälligkeit und der Entropie des ADC-Ausgangs, können mehr Bits aus jeder ADC-Ablesung berücksichtigt werden, um die Geschwindigkeit direkt zu erhöhen. Oder die Ausgänge oder mehr parallele Pfade (wie die I- und Q-Pfade in komplexen Empfängern) können kombiniert werden.
-
Einige oder alle Aspekte der Erfindung können geeignet sein, in Form von Software implementiert zu werden, insbesondere ein Computerprogrammprodukt. Ein derartiges Computerprogrammprodukt kann ein Speichermedium aufweisen, wie einen Speicher, auf dem die Software gespeichert ist. Weiter kann das Computerprogramm durch ein Signal repräsentiert werden, wie ein optisches Signal oder ein elektromagnetisches Signal, das durch ein Übertragungsmedium, wie ein optisches Faserkabel oder über Luft, übertragen wird. Das Computerprogramm kann teilweise oder ganz die Form von Quellcode, Objektcode oder Pseudocode haben und kann geeignet sein, durch ein Computersystem ausgeführt zu werden. Zum Beispiel kann der Code durch einen oder mehrere Prozessor(en) ausführbar sein.
-
Die Beispiele und Ausführungsbeispiele, die hier beschrieben werden, dienen zur Veranschaulichung der Erfindung, und nicht deren Begrenzung. Fachleute auf dem Gebiet werden in der Lage sein, alternative Ausführungsbeispiele zu gestalten, ohne von dem Umfang der Ansprüche abzuweichen. Bezugszeichen in Klammern in den Ansprüchen sollen nicht als den Umfang der Ansprüche begrenzend interpretiert werden. Elemente, die als getrennte Entitäten in den Ansprüchen oder der Beschreibung beschrieben werden, können als ein einzelnes Hardware- oder Software-Element implementiert werden, das die Eigenschaften der beschriebenen Elemente kombiniert.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-