-
Technisches Anwendungsgebiet
-
Die
vorliegende Erfindung betrifft ein Verfahren zur Erzeugung und/oder
Einprägung
eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer
topographischen Struktur, insbesondere für mikroelektronische oder mikromechanische
Bauteile, sowie einen Chip oder eine Chipkarte, in die ein derartiger
kryptographischer Schlüssel eingeprägt ist.
-
Für kryptographische
Anwendungen werden geheime Schlüssel
benötigt,
die in einigen Anwendungsfällen
an ein physikalisches Medium, beispielsweise einen Chip oder eine
Chipkarte, gebunden sein sollen. Derartige geheime Schlüssel dürfen von
einem Angreifer auch mit Methoden des so genannten Reverse Engineering
nicht oder nur sehr schwer berechnet oder eingesehen werden können.
-
Bei
klassischen Methoden wird der geheime Schlüssel über einen Zufallsgenerator
erzeugt und in einem Teil des physikalischen Mediums, beispielsweise
auf einer Festplatte oder in einem EEPROM, gespeichert. Die derart
gespeicherten Kopien des geheimen Schlüssels können allerdings mit relativ geringem
Aufwand durch Analyseverfahren des Reverse Engineering rekonstruiert
werden.
-
Für die Generierung
des geheimen Schlüssels
werden in der Praxis häufig
Zufallsgeneratoren eingesetzt, die wiederum einen zufälligen Startwert benötigen. Dieser
Startwert kann aus der Interaktion mit dem Benutzer erzeugt werden,
beispielsweise durch eine willkürliche
Eingabe des Benutzers mit einem Eingabegerät an einem Computersystem.
Weiterhin sind Techniken bekannt, bei denen der radioaktive Zerfall
eines Isotops ausgenutzt wird, um daraus einen Startwert für den Zufallsgenerator
zu erzeugen. Derartige Vorrichtungen sind allerdings in der Regel
groß und
teuer.
-
Aus
der
EP 1 465 254 A1 ist
eine Technik zur Speicherung einer Identifikationsnummer in einem Halbleiter-Chip
bekannt, bei der in die topographische Struktur des Halbleiter-Chips
Bit-Generierungsschaltungen integriert werden, von denen jede ein bestimmtes
Bit der Identifikationsnummer erzeugt. Jede der Bit-Generierungsschaltungen
besteht aus einer elektrischen Leitung, die sich über mehrere Ebenen
der topographischen Struktur erstreckt. Die Bitwerte werden hierbei
durch das Vorhandensein oder Nichtvorhandensein von Unterbrechungen
in der elektrischen Leitung festgelegt. Dies erfolgt durch Vorgabe
eines geeigneten Layouts bei der Erzeugung der topographischen Struktur
mit den Bit-Generierungsschaltungen. Die Nutzung dieser Technik
für die
Einprägung
eines geheimen Schlüssels
für kryptographische
Anwendungen hat jedoch den Nachteil, dass die über die Bit-Generierungsschaltungen eingeprägte Information
relativ leicht durch Analyseverfahren extrahiert werden kann.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren
zur Einprägung
eines wiedergewinnbaren kryptographischen Schlüssels in ein physikalisches
Medium anzugeben, das ein Auslesen des geheimen Schlüssels aus
dem physikalischen Medium für
einen Dritten erheblich erschwert. Weiterhin soll ein physikalisches
Medium in Form eines Chips oder einer Chipkarte bereitgestellt werden, dass
einen schwer auslesbaren geheimen Schlüssel enthält.
-
Darstellung der Erfindung
-
Die
Aufgabe wird mit den Verfahren gemäß den Patentansprüchen 1 und
6 sowie dem physikalischem Medium gemäß Patentanspruch 10 gelöst. Vorteilhafte
Ausgestaltungen der Verfahren sind Gegenstand der Unteransprüche oder
lassen sich der nachfolgenden Beschreibung sowie den Ausführungsbeispielen
entnehmen.
-
Die
beiden gemäß der vorliegenden
Erfindung vorgeschlagenen Verfahrensvarianten unterscheiden sich
darin, dass gemäß dem Verfahren
des Patentanspruches 1 der geheime Schlüssel bei der Erzeugung der
topographischen Struktur zufällig
generiert wird, während
dieser Schlüssel
bei dem Verfahren gemäß Patentanspruch
6 vor der Erzeugung der topographischen Struktur vorgegeben ist.
Mit dem ersten Verfahren lassen sich somit physikalische Medien
mit einer topographischen Struktur versehen, von denen jedes automatisch
einen individuellen geheimen Schlüssel trägt. Das Verfahren des Patentanspruches
6 ist hingegen dafür
geeignet, eine Vielzahl von physikalischen Medien mit dem gleichen
geheimen Schlüssel
zu versehen.
-
Bei
dem Verfahren gemäß Patentanspruch
1 werden zur Erzeugung und Einprägung
des wiedergewinnbaren kryptographischen Schlüssels mehrere Messschaltungen
bei der Herstellung der topographischen Struktur in der topographischen
Struktur erzeugt, die jeweils abhängig von einer Größe zumindest
einer elektrischen oder physikalischen Eigenschaft in der topographischen
Struktur einen Messwert erzeugen. Bei der elektrischen oder physikalischen
Eigenschaft, deren Größe für die Erzeugung des
Messwertes maßgeblich
ist, handelt es sich um eine Eigenschaft, deren Größe bei der
Herstellung der topographischen Struktur mit den Messschaltungen
zufälligen
Schwankungen unterworfen ist. Der kryptographische Schlüssel wird
schließlich
aus den Messwerten der Messschaltungen gebildet oder von diesen
abgeleitet. Hierbei handelt es sich vorzugsweise um die Bits einer
Bitfolge. Es können
allerdings auch Schlüssel
in einem anderen Zahlensystem generiert werden.
-
Bei
diesem Verfahren wird ausgenutzt, dass ein physikalischer Herstellungsprozess
für die
Herstellung einer topographischen Struktur, beispielsweise ein Lithographie-Prozess
in der Halbleiterindustrie, einen natürlichen Zufallsgenerator darstellt. Der
Zufallswert ergibt sich aus physikalischen Eigenschaften des hergestellten
Produkts, die von Produkt zu Produkt statistischen Schwankungen
und damit dem Zufall unterworfen sind. Der Zufallswert ist daher von
außer halb
des Produkts schwer einsehbar, messbar oder simulierbar. Auf der
anderen Seite ist er im fertiggestellten Produkt aufgrund der Unveränderlichkeit
der physikalischen Eigenschaften fest eingeprägt und kann daher jederzeit
wiedergewonnen werden. Dies wird bei dem Verfahren gemäß Patentanspruch
1 ausgenutzt, in dem gezielt physikalische oder elektrische Eigenschaften
in der topographischen Struktur, die bei dem gewählten Herstellungsprozess von
Produkt zu Produkt Schwankungen unterworfen sind, über geeignet
eingebrachte Messschaltungen genutzt werden, um den krytographischen
Schlüssel
zu erzeugen. Dieser kryptographische Schlüssel bleibt aufgrund der Unveränderlichkeit
der gewählten
Eigenschaften der topographischen Struktur erhalten und kann daher über die Messschaltungen
jederzeit reproduziert und ausgelesen werden. Hierbei werden elektrische
oder physikalische Eigenschaften gewählt, die unabhängig von den
Betriebsparametern, beispielsweise einer Verstärkungsspannung, der Temperatur
usw., sind. In einer bevorzugten Ausgestaltung des Verfahrens werden
hierzu parasitäre
elektrische Eigenschaften in der topographischen Struktur gewählt.
-
Vorzugsweise
werden die Messschaltungen derart erzeugt, dass sie komplexe dreidimensionale elektrische
Leitungsstrukturen in der topographischen Struktur umfassen, deren
parasitäre
Eigenschaften in der Messschaltung zur Erzeugung des Messwertes
genutzt werden. Für
die Erzeugung und Einprägung
einer Bitfolge muß dabei
für jedes
Bit der Bitfolge des kryptographischen Schlüssels eine separate Messschaltung
in der topographischen Struktur erzeugt werden. Der jeweilige Bitwert
kann dann beispielsweise durch Vergleich der Größe einer mit der Messschaltung
gemessenen elektrischen oder physikalischen Eigenschaft mit einem
vorgegebenen Wert erhalten werden.
-
Auf
diese Weise werden die unveränderlichen
parasitären
Eigenschaften der topographischen Struktur, insbesondere einer Halbleitertopographie, über die
Messschaltungen in ein Bitmuster überführt, aus dem der geheime Schlüssel entsteht.
Als parasitäre
elektrische Eigenschaften können
hierbei beispielsweise die Kapazitäten zwischen Leiterbahnen, parasitäre Induktivitäten oder
auch ein Übersprechen zwischen
Leiterbahnen genutzt werden. Diese sind Schwankungen von Topographie
zu Topographie unterworfen, jedoch für sich betrachtet konstant
und von Betriebsparametern unabhängig.
Aus den statistischen Schwankungen dieser Eigenschaften und der Schwierigkeit,
diese ex posteriori auch durch Einsatz von Hilfswerkzeugen der elektronischen
Design-Automation mit der erforderlichen Genauigkeit zu bestimmen,
ergibt sich die gewünschte
Unbestimmtheit bezüglich
des Bitmusters.
-
Auf
einem Chip stellen die elektrischen Leitungen aus Aluminium oder
Kupfer geeignete Leitungsstrukturen dar. Diese werden zwar in der
Regel zum Austausch von Signalen bzw. Informationen zwischen funktionellen
Einheiten wie einzelnen Transistoren oder Logikgattern eingesetzt,
können
jedoch auch zur Realisierung von passiven Bauteilen wie Spulen oder
Kondensatoren dienen. Dazu werden im Normalfall wohl definierte
Regeln beim geometrischen Entwurf der Metallstrukturen eingehalten,
so dass die elektrische Kapazität
bzw. Induktivität
möglichst
genau kontrolliert werden kann.
-
Einem
völlig
anderen Einsatzzweck dienen jedoch die komplexen Leitungsstrukturen,
im Folgenden auch als Kapazitätscluster
bezeichnet, für
die parasitären
Kapazitäten
der vorliegenden Messschaltungen. Zwar wird auch hier die elektrische
Kapazität schaltungstechnisch
ausgenutzt, jedoch soll ihr genauer Wert für einen Außenstehenden möglichst schwer
ermittelbar sein. Dadurch soll das Verhalten der Messschaltung in
starker Weise unvorhersehbar und letztlich uneinsehbar gemacht werden.
-
Die
komplexe dreidimensionale Leitungsstruktur wird hierbei, wie auch
bei dem nachfolgend beschriebenen alternativen Verfahren zur Einprägung eines
geheimen Schlüssels,
durch Vorgabe eines zufälligen
dreidimensionalen Designs der Leitungsstruktur erhalten, das für die Erzeugung
der Leitungsstruktur in der topographischen Struktur genutzt wird.
Diese Erzeugung einer zufällig
verlaufenden, komplexen dreidimensionalen Leitungsstruktur erschwert
es einem Angreifer, eine zugehörige
parasitäre
elektrische Eigenschaft zu berechnen. Auf der anderen Seite kann
diese Eigenschaft aufgrund des vorher erzeugten zufälligen Designs,
das nur dem Nutzer bekannt ist, vom Nutzer des Verfahrens genau
berechnet werden.
-
In
einer besonders vorteilhaften Ausgestaltung des Verfahrens werden
je Messschaltung zwei derart erhaltene Leitungsstrukturen erzeugt
und die Größe der parasitären Eigenschaft
dieser beiden Leitungsstrukturen durch eine Vergleichsschaltung
verglichen. Abhängig
vom Ergebnis dieses Vergleichs erzeugt die Messschaltung dann einen
Bitwert von 0 oder 1. Dieser Bitwert kann davon abhängen, welcher
der beiden Größen der
parasitären
Eigenschaft der beiden Leitungsstrukturen größer oder kleiner oder ob beide
innerhalb eines vorgebbaren Bereiches gleich sind. Bei dem Verfahren
gemäß Patentanspruch
1 wird hierbei für
die beiden Leitungsstrukturen jeder Meßschaltung das identische,
zufällig
erhaltene Design verwendet. Unterschiedliche Messschaltungen weisen
hierbei jedoch unterschiedliche Designs auf. Aufgrund des Herstellungsprozesses schwanken
die parasitären
elektrischen Eigenschaften der beiden Leitungsstrukturen jeder Messschaltung
jedoch trotz des identischen Designs, so dass sich der gewünschte zufällige Bitwert
für unterschiedliche
Messschaltungen ergibt.
-
Bei
dem Verfahren gemäß Patentanspruch
6 werden hingegen die beiden Leitungsstrukturen jeder Messschaltung
so unterschiedlich gewählt,
dass sich für
die einzelne Messschaltung in jedem Falle trotz der Schwankungen
des Herstellungsprozesses der gewünschte vorgegebene Bitwert
ergibt. Diese unterschiedliche Wahl kann aufgrund der Möglichkeit
der Vorberechnung der Größe der parasitären Eigenschaften
der Leitungsstrukturen aus den vorab erzeugten zufälligen Designs
erfolgen. Für
einen Angreifer können
hingegen aus den komplexen Leitungsstrukturen nur sehr schwer Informationen über den
geheimen Schlüssel
abgeleitet werden.
-
Die
beiden alternativen Verfahren nutzen elektrische oder physikalische
Eigenschaften der topographischen Struktur, die während der
Herstellung Schwankungen unterworfen sind, um den geheimen Schlüssel einzuprägen. Beide
Verfahren setzen in einer vorteilhaften Ausgestaltung komplexe Leitungsstrukturen
der Messschaltungen ein, die aus zufälligen Designs der Leitungsstrukturen
resultieren. Beim ersten Verfahren werden die Schwankungen des Herstellungsprozesses
genutzt, um den geheimen Schlüssel
zu erzeugen. Beim zweiten Verfahren wird die Kenntnis dieser Schwankungen
genutzt, um vorgegebene Bitwerte für die einzelnen Messschaltungen
festzulegen.
-
Das
vorliegende Verfahren wird nachfolgend anhand eines Ausführungsbeispiels
in Verbindung mit den Zeichnungen ohne Beschränkung des durch die Patentansprüche vorgegebenen
Schutzbereichs nochmals näher
erläutert.
Hierbei zeigen:
-
1 ein
Beispiel für
den Aufbau einer Messschaltung, wie sie beim vorliegenden Verfahren zum
Einsatz kommen kann;
-
2 eine
beispielhafte schematische Darstellung einer komplexen Leitungsstruktur
gemäß dem vorliegenden
Verfahren;
-
3 ein
Beispiel für
den ersten Teil eines Algorithmus zur Erzeugung eines zufälligen Designs einer
Leitungsstruktur gemäß dem vorliegenden
Verfahren;
-
4 ein
Beispiel für
den zweiten Teil eines Algorithmus zur Erzeugung eines zufälligen Designs einer
Leitungsstruktur gemäß dem vorliegenden
Verfahren;
-
5 ein
Beispiel für
eine Entwurfsansicht einer Leitungsstruktur gemäß der vorliegenden Erfindung,
nach der die Leitungsstruktur in der Topographie erzeugt wird;
-
6 eine
3D-Visualisierung einer Leitungsstruktur gemäß der Entwurfsansicht der 5;
-
7 eine
erste Beispielanwendung in einem elektronischen Schlüssel für PKW;
-
8 eine
zweite Beispielanwendung zur Übertragung
und Verteilung von Multi-Media-Inhalten;
-
9 eine
dritte Beispielanwendung für
den Schutz von Software; und
-
10 eine
vierte Beispielanwendung für den
Schutz von Software.
-
Wege zur Ausführung der
Erfindung
-
Im
vorliegenden Ausführungsbeispiel
wird das erfindungsgemäße Verfahren
bei der Herstellung der Topographie eines Halbleiterchips eingesetzt. Hierbei
werden die Messschaltungen als mikroelektronische Schaltungen auf
dem Chip ausgeführt,
die parasitäre
Kapazitäten
zwischen bestimmten Bereichen der Topographie des Chips in ein Bitmuster überführen, aus
dem der geheime Schlüssel
abgeleitet wird.
-
Die
Messschaltung 11 der 1 ist im
vorliegenden Beispiel so ausgelegt, dass dieses Bitmuster sehr sensibel
auf Schwankungen der Kapazitäten
reagiert. Eine geringe Differenz in der Kapazität der Messschaltungen zwischen
zwei beliebigen Chips soll hierbei ein anderes Bitmuster erzeugen.
Dies ist aufgrund der unvermeidbaren statistischen Prozessschwankungen
bei der Herstellung der Chips gegeben und wird beim vorliegenden
Verfahren nutzbar gemacht.
-
Sollen
hingegen, gemäß der zweiten
Variante des vorliegenden Verfahrens, für alle Chips immer dieselben
Schlüssel
erzeugt werden, dann werden die Kapazitäten der Messschaltung so ausgelegt, dass
die Schaltung nicht auf die Prozessschwankungen reagiert. Die jederzeit
mögliche
Wiedergewinnbarkeit bzw. Auslesbarkeit des Schlüssels aus den einzelnen Chips
ergibt sich aus der Unveränderlichkeit
der einzelnen Kapazitäten über die
Nutzungsdauer und der Unabhängigkeit
dieser Kapazitäten von
Versorgungsspannung, Temperatur, Alter und Beanspruchung.
-
Im
vorliegenden Beispiel erfolgt die Überführung der parasitären Kapazitäten in ein
Bitmuster durch ein Schaltungsprinzip, wie es in der 1 dargestellt
ist. Hierbei werden zwei Kapazitäten 5, 6 in der
Halbleitertopographie erzeugt. Auf die Herstellung dieser Kapazitäten wird
im Folgenden noch näher
eingegangen. Die beiden Kapazitäten 5, 6 werden
nacheinander über
einen konstanten Strom I einer Stromquelle 1 für eine bestimmte
Dauer T aufgeladen. Die elektrische Spannung V über den Kapazitäten 5, 6 ist
dabei abhängig
vom Ladestrom I, der Ladezeit T und der Kapazität C: V = I·T·1/C. Da der Strom und die
Ladezeit konstant sind, ist die Spannung proportional zum Kehrwert
der Kapazität:
V ∼ 1/C. Über einen
Komparator 7 wird die Differenz zwischen den erreichten
Spannungswerten gebildet und in ein digitales 0/1-Ergebnis am Ausgang 8 überführt. Mit
den Schaltern 2 bis 4 wird über eine geeignete Schaltsequenz
sichergestellt, dass beide Kapazitäten aufgeladen werden und dann
die Spannung festgehalten wird. Hierzu können bspw. Schalter 2 geöffnet und
Schalter 3 für
die Dauer des Ladevorgangs der Kapazität 5 geschlossen werden.
Durch Schließen
des Schalters 4 der anderen Kapazität 6 wird diese ebenfalls
aufgeladen. Werden die Schalter 3, 4 wieder geöffnet, bleibt
die Spannung über
den Kapazitäten 5, 6 konstant.
Zu diesem Zeitpunkt ist das Ergebnis des Vergleichs durch den Komparator 7 gültig. Es
gibt an, ob die Kapazität 5 größer oder
kleiner als die Kapazität 6 ist.
Durch Schließen
des Schalters 2 können
die Kapazitäten
wieder entladen werden. Die gesamte Meßschaltung 11 wird
bei der Erzeugung der Halbleitertopographie über ein geeignetes Layout bei
der lithographischen Herstellung dieser Topographie erzeugt. Für einen
kryptographischen Schlüssel von
n Bit werden hierbei n dieser Messschaltungen 11 in der
Halbleitertopographie erzeugt.
-
Die
Layouts der beiden parasitären
Kapazitäten 5, 6 werden
im vorliegenden Beispiel möglichst komplex
gewählt,
um eine Vorhersage des eingeprägten
geheimen Schlüssels
durch einen Angreifer zusätzlich
zu er schweren. Weiterhin werden zu diesem Zweck die Layouts der
parasitären
Kapazitäten 5, 6 für je zwei
beliebige Bits bzw. Messschaltungen schon zur Entwurfszeit so gewählt, dass
sich ihre dreidimensionale Struktur möglichst stark unterscheidet.
-
2 veranschaulicht
schematisch an einem Beispiel eine derartige parasitäre Kapazität, die aus
einer komplexen dreidimensionalen Leitungsstruktur besteht. Die
einzelnen Leiterbahnen 9 der Leitungsstruktur verzweigen
hierbei häufig,
erstrecken sich in unterschiedliche Richtungen und über entsprechende
Durchkontaktierungen 10 auch über verschiedene Ebenen der
topographischen Struktur. Aus dem Beispiel der 2 ist
deutlich die Irregularität
dieser Leitungsstruktur hinsichtlich Breite, Länge und Richtung der einzelnen
Leitungsabschnitte erkennbar, die bei ihrem Entwurf zufällig gewählt werden.
-
Grundsätzlich hängt die
Wahl des Designs bzw. Layouts der beiden Kapazitäten 5, 6 davon
ab, ob für
jeden einzelnen Chip ein individueller Schlüssel erzeugt werden soll, im
Folgenden als Single-Chip-Key bezeichnet, oder ob alle Chips über den selben
Schlüssel
verfügen
sollen, im Folgenden als All-Chips-Key bezeichnet. Im ersten Fall werden
für die
Kapazitäten 5, 6 in
einer Messschaltung die gleichen Layouts gewählt, so dass ihre dreidimensionale Struktur
abgesehen von den Schwankungen beim Herstellungsprozess identisch
ist. Diese Strukturen weisen dennoch aus dem obigen Grund einen
zufälligen
und ungeordneten Aufbau auf, bei dem die Leiterbahnbreiten und -längen stark
variieren.
-
Im
zweiten Fall werden unterschiedliche Designs bzw. Layouts für die Kapazitäten 5, 6 einer Messschaltung
gewählt,
so dass sich ihr dreidimensionaler Aufbau innerhalb der Messschaltung
deutlich unterscheidet. Weiterhin ist es von Vorteil, wenn sich auch
der dreidimensionale Aufbau der Kapazitäten 5, 6 unterschiedlicher
Messschaltungen entsprechend stark unterscheidet. Die Leiterbahnstrukturen
der Kapazitäten 5, 6 werden
in diesem Fall so gewählt,
dass sich ihre elektrischen Kapazitätswerte stärker unterscheiden als diese
aufgrund prozesstechnischer Schwankungen von Chip zu Chip variieren.
-
In
beiden Fällen
wird das dreidimensionale Design der Leitungsstrukturen für die parasitären Kapazitäten 5, 6 mit
einem Zufallsgenerator erzeugt. Da für jedes Bit zwei derartige
Strukturen benötigt
werden, ist zur Entwurfszeit die Vorbereitung einer großen Zahl
an Layouts erforderlich, deren elektrische Kapazität bekannt
ist. Die Kapazität
kann hierbei aus dem Layout berechnet werden.
-
3 zeigt
ein Beispiel für
die Erzeugung von Layouts der Leitungsstrukturen mit einem zufälligen dreidimensionalen
Design. Alle Schritte sind automatisiert und werden vollständig von
einem Rechner ausgeführt,
so dass nach einer Laufzeit von wenigen Stunden eine große Zahl
an Layouts zur Verfügung
steht, die für
die Herstellung der topographischen Struktur eingesetzt werden können. Der
in 3 beispielhaft dargestellte Algorithmus beruht auf
einem iterativen Zufallsverfahren, im Folgenden auch als Random-Walk- Algorithmus bezeichnet.
Seine Aufgabe ist es, innerhalb einer vorgegebenen Fläche komplexe,
dreidimensionale Verbindungsstrukturen zu erzeugen. Diese Strukturen
sollen über
eine möglichst
ungenau bekannte oder schwer berechenbare elektrische Kapazität verfügen.
-
Für diesen
Zweck wird absichtlich gegen die Entwurfsregeln für Kondensatoren
verstoßen,
so dass es sich bei den Kapazitätsclustern
nicht mehr um „herkömmliche" Kondensatoren handelt.
Es kommen keine Metallplatten mehr zum Einsatz, sondern eine Vielzahl
mehr oder weniger dünner
Metallleitungen, die zu einer komplexen, irregulären und zufälligen Struktur zusammengesetzt
sind, wie bereits in Zusammenhang mit 2 erläutert. Die
elektrische Kapazität
ist im Normalfall schaltungstechnisch ungewollt oder sogar nachteilig,
man spricht daher von der parasitären Kapazität. Eben diese parasitäre Kapazität von Metallleitungen
soll innerhalb der Kapazitätscluster
dem Einsatzzweck entsprechend optimiert und schaltungstechnisch
nutzbar gemacht werden. Da eine große Zahl an Kapazitätsclustern
benötigt
wird, soll der Entwurf automatisiert werden. Hierzu wurde ein Random-Walk
Algorithmus entwickelt und in der Skriptsprache SKILL umgesetzt,
die eine Nutzung sog. Electronic Design Automation (EDA) Werkzeuge
bei der Herstellung der Schaltungen ermöglicht.
-
Ein
wichtiges Kriterium für
den Einsatz der parasitären
Kapazitätscluster
ist die vollständige
Automatisierbarkeit des Entwurfsvorganges. Die Erstellung des geometrischen
Aufbaus bzw. Designs (Maskenlayout) jedes einzelnen Clusters soll
ohne wiederholten Eingriff oder manuelle Steuerung möglich sein.
Die einzige Form der Benutzerinteraktion besteht in der Festlegung
von gewissen Startparametern oder Einstellungen, die nur zu Beginn
des automatischen Entwurfvorgangs vorgenommen werden. Der Grund
für diese
Anforderung liegt in der hohen Zahl an Clustern, die für einen
geheimen Schlüssel mit
einer realistischen Anzahl Bits erforderlich sind: Für kryptographische
Verfahren mit öffentlichen Schlüsseln werden
in der Regel 1024 Bit und mehr benötigt. Da für jedes zusätzliche Bit zwei weitere Cluster
benötigt
werden, ist die Zahl an Clustern bereits so hoch, dass die manuelle
Erstellung des Layouts jedes einzelnen Clusters aus Zeitaufwandsgründen ausscheidet.
-
Das
Erfordernis der Komplexität
ergibt sich direkt aus der wichtigsten Eigenschaft der Kapazitätscluster:
Der hohe Grad an Informationsgehalt jedes einzelnen Clusters. Diese
informationstheoretische Aussage bedeutet, in einfache Worte übersetzt, dass
jeder Cluster ein hohes Maß an
unbekannten Informationen in sich tragen soll. In diesem Fall ist dies
die elektrische Kapazität.
Je weniger über
den genauen Wert bekannt ist, desto mehr Informationen sind in ihm
enthalten. Eben diese Information stellt die Grundlage für die Erzeugung
des geheimen Schlüssels
mit der beschriebenen schaltungstechnischen Realisierung dar. Die
in den Clustern enthaltene Information stellt den geheimen Schlüssel in „Rohform" dar. Wäre die elektrische
Kapazität
aller Cluster eines Chips für
Außenstehende
mit hoher Genauigkeit bekannt, so könnte der geheime Schlüssel daraus
abgeleitet werden.
-
Ein
möglichst
zufälliger
struktureller Aufbau der Kapazitätscluster
ist ebenfalls aus Gründen
des Informationsgehaltes nötig.
Die Zufälligkeit
stellt sicher, dass kein systematischer „Bias" vorhanden ist, d.h. keine Bevorzugung
bestimmter Strukturen oder regelmäßiger Muster. Im Idealfall
ist die Wahrscheinlichkeit für
das Auftreten einer bestimmten Struktur gleich wahrscheinlich wie
für das
Auftreten einer völlig
anderen Struktur, d.h. die Wahrscheinlichkeitsdichte ist gleichverteilt.
Diese Gleichverteilung kann sich freilich nur innerhalb der Grenzen
bewegen, die durch Flächenvorgabe,
schaltungstechnischen Einsatz oder prozesstechnischen Einschränkungen
vorgegeben sind – kurz
alle Randbedingungen, die von vornherein bekannt sind. Mathematisch
gesprochen verkleinern sie den Suchraum der möglichen Strukturen und damit
den Informationsgehalt der Cluster.
-
Eine
dritte Einflussgröße für den Informationsgehalt
der Kapazitätscluster
ist der Verwandtschaftsgrad von jeweils zwei beliebigen Clustern
auf einem Chip, d.h. die Kreuzkorrelation. Eine geringe Korrelation
bedeutet, dass nicht von einem Cluster auf die anderen geschlossen
werden kann, d.h. dass kein Angreifer aus der Kenntnis der Kapazität eines Clusters
Informationen über
die Kapazität
der anderen Cluster ableiten kann.
-
Der
im vorliegenden Beispiel eingesetzte Algorithmus basiert auf einem
iterativen „trial-and-error" Verfahren, bei dem
zufällig
Leiterbahnen und Durchkontaktierungen gesetzt werden, die anschließend auf
Verletzungen der Entwurfsregeln (DRC-Fehler) überprüft werden. Ergibt sich ein
Fehler, so wird die letzte Änderung
rückgängig gemacht und
eine andere Variante ausprobiert.
-
Der
Algorithmus beginnt mit der Erzeugung der Leiterbahnen auf einer
bestimmten Metallisierungsebene (metal layer) und an einem vorgegebenen
Startpunkt. Das Flussdiagramm in 3 zeigt den
funktionellen Ablauf. Der Startpunkt und Startlayer sind für den Anschluss
des Kapazitätsclusters
an die Auswerteelektronik nötig,
die aus dem Kapazitätswert
der Cluster die Bits des Schlüssels
generiert. Der nächste
Schritt steht am Anfang jeder Iteration des Algorithmus: Die zufällige Wahl
geeigneter Parameter für
die Erzeugung eines Metallstückes.
Hierunter fällt
die Breite, Länge
und Richtung der Leiterbahn. Gewisse Mindestbreiten und -längen, sowie die
Beschränkung
auf Winkel von 45 Grad sind dabei prozesstechnisch bedingt vorgegeben.
Bei der zufälligen
Auswahl der Parameter werden idealerweise diese prozesstechnischen
Vorgaben (sog. design rules) berücksichtigt,
um die Fehlerwahrscheinlichkeit bei der späteren Abstandsregelprüfung zu
minimieren. Diese Prüfung
auf Abstandsregelverletzung, Design-Rule Check (DRC) genannt, wird
nach jedem Neusetzen eines Leitungsstückes durchgeführt. Im Falle
eines Regelverstoßes
wird die Leitung entfernt und eine andere Parameterkombination getestet,
der Algorithmus kehrt zurück
zur Parameterwahl. Wurde ein Metallstück fehlerfrei gesetzt, so repräsentiert das
Ende der Leitung den Anfangspunkt für das nächste Metallstück. Entsprechend
wird der Startpunkt für
die nächste
Leitung neu gesetzt. Diese Start- und Endpunkte stellen gleichzeitig
ideale Positionen dar, an denen ein Wechsel der Metallisierungsebene über eine
Durchkontaktierung (Via) nach oben oder unten möglich ist. Sie werden deshalb
in eine spezielle Vialiste eingetragen, die bei der Erzeugung der
Vias in einer Unterroutine verwendet wird. Diese Unterroutine wird
immer dann aufgerufen, wenn eine Metallisierungsebene komplett – bezogen auf
die Zielfläche – abgearbeitet
wurde, d.h. mit Leitungsstücken
zufälliger
Größe und Orientierung
gefüllt
wurde. Die Fläche
gilt dann als gefüllt,
wenn die maximale Anzahl an Schritten ausgeführt wurde bzw. die maximale
Anzahl Metallstücke
erzeugt wurde. Nach der Erzeugung der Vias verfügt der aktuelle Layer über ein
oder mehrere Durchkontaktierungen nach oben oder unten. Eines dieser
Vias stellt somit einen geeigneten Ausgangspunkt für die nächste Metallisierungsebene
dar, auf der erneut Metallstücke
auf dieselbe Art und Weise erzeugt werden sollen. Aus diesem Grund
wird die neue Startposition auf die Koordinaten eines der Vias gesetzt,
z.B. das letzte erzeugte Via. Ebenso wird die Metalllage, zur der
die Durchkontaktierung wechselt, als neuer Startlayer gesetzt. Die
Anzahl der Wechsel der Metallisierungsebene kann über die
Angabe eines Maximalwertes gesteuert werden. Er muss nicht gleich
der Anzahl der zur Verfügung
stehenden Metalllagen eines Prozesses sein, sondern sollte darüber liegen. Dadurch
wird sichergestellt, dass der Algorithmus mit der Generierung von
Metallstücken
zu einem Layer zurückkehrt,
auf dem bereits Metallstücke
erzeugt wurden. Auf diese Weise wird verhindert, dass der Algorithmus
nur Strukturen erzeugt, die in der Vertikalen keine Richtungsänderung
aufweisen, d.h, einem Turm oder Stapel gleich aufgebaut sind. Wurde
die maximale Anzahl an Lagenwechsel also noch nicht erreicht, so
kehrt der Algorithmus an den Anfang des Programmflusses zurück, um im
aktuellen Layer erneut Metallstücke
zu generieren. Der Algorithmus wird beendet, wenn die Maximalzahl
erreicht wurde.
-
Die
Erzeugung der Durchkontaktierungen ist in 4 schematisch
dargestellt. Der Routine wird zu Beginn der aktuelle Layer mitgeteilt,
die maximale Anzahl zu erzeugender Vias festgelegt und die Liste mit
gültigen
Viapositionen übergeben.
Die darauf folgenden Schritte befinden sich im Inneren einer Programmschleife,
die solange ausgeführt
wird, bis die maximale Anzahl an erzeugten Durchkontaktierungen
erreicht wurde. Zunächst
wird der erste Eintrag in der Vialiste aus der Liste entfernt, er
stellt die Position des nächsten
zu erzeugenden Vias dar. Das Via kann sodann einen Kontakt zur nächsten,
darüberliegenden
Metalllage herstellen, oder zur darunterliegenden Ebene. Dies ist
nur möglich,
wenn es sich nicht um die unterste Metallisierungsebene handelt,
in diesem Fall ist nur ein Wechsel nach oben möglich. Das Gleiche gilt in
umgekehrter Weise für
die oberste Lage. Aus diesem Grund überprüft der Algorithmus die aktuelle
Metalllage und entscheidet, ob das zu erzeugende Via eine Durchkontaktierung
nach oben oder nach unten darstellen soll. Sind beide Richtungen möglich, so
wird mit gleicher Wahrscheinlichkeit zufällig eine der beiden Möglichkeiten
gewählt.
Daraufhin wird das Via erzeugt und der Abstandsregelprüfung unterzogen.
Besteht die Änderung
den Test, so wurde das Via regelkonform erzeugt. Wurde die maximale
Anzahl an Durchkontaktierungen noch nicht erreicht, so springt der
Algorithmus an den Beginn der Schleife zurück. Die Bearbeitung des nächsten Element
der Vialiste beginnt, d.h. ein weiteres Via wird erzeugt. War die
Generierung des Vias nicht regelkonform, beispielsweise weil der
DRC-Check eine Verletzung des Mindestabstands zwischen dem Via und
einem benachbarten Metallstück
festgestellt hat, so wird das soeben erzeugte Via entfernt. Der
Programmfluss kehrt nun ebenfalls an den Schleifenanfang zurück und bearbeitet
die nächste
Position in der Positionsliste.
-
Nach
der Erzeugung eines Clusters liegt seine Geometrie in Form einer
zweidimensionalen Entwurfsansicht im Layout-Editor vor. 5 zeigt
eine solche Ansicht (hier schwarz-weiß, die einzelnen Ebenen werden
im Editor farblich unterschieden). Der Cluster wird als eigenständige Entwurfseinheit (Zelle)
in einer Bibliothek abgespeichert und einer Kapazitätsanalyse
(Extraktion) unterzogen. Zu diesem Zweck und zur externen Weiterverarbeitung
mit Werkzeugen anderer EDA-Plattformen
wird das Layout in ein Standardformat konvertiert (sog. GDSII- oder
Stream-Format).
-
Für den mit
dem Layout der 5 erzeugten Kapazitätscluster
wurde eine dreidimensionale Schrägansicht
erstellt, um den strukturellen Aufbau besser erkennen zu können. Die
zweidimensionale Entwurfsansicht, die typisch ist für alle Layout-Editoren, bietet
bei den Kapazitätsclustern
dagegen wenig Anschaulichkeit, da sie für die manuelle Eingabe geometrischer
Formen gedacht ist und eher bei regelmäßigen Strukturen Vorteile aufweist.
Die 3D-Ansicht in 6 wurde
mit einem Raytracing- und Rendering-Programm erstellt, mit dem dreidimensionale Szenen
unter Berücksichtigung
von Lichtausbreitung, Schattenwurf und Reflektion berechnet werden können. Dadurch
erzeugen Licht- und Schatteneffekte einen räumlichen Tiefeneindruck, der
dem Betrachter die Dreidimensionalität der betrachteten Objekte
vermittelt. In der linken, hinteren Ecke des Clusters der 6 ist
die Anschlussstelle für
die Auswerteelektronik zu sehen, ein kleiner, rechteckiger Bereich
auf der obersten Metalllage. Neben den typischerweise horizontal
und vertikal verlaufenden Strukturen, erstrecken sich einige Leitungsstücke in schräger Richtung.
Der grundsätzliche
Aufbau ist völlig
willkürlich
und die einzelnen Metallfragmente in ihrer Größe und Lage zufällig. Als
besonderes Merkmal sind schließlich
noch die kleinen Ecken und Ausbuchtungen zu nennen. Es sind in erster
Linie diese letzten drei Eigenschaften der Kapazitätscluster,
die sie von herkömmlichen,
regelmäßigen Strukturen
wie sie aus der Hand eines Ingenieurs stammen oder von Verdrahtungswerkzeugen
(Router) erzeugt werden, unterscheidet.
-
Bei
der Nutzung des vorliegenden Verfahrens sind keinerlei lokale Kopien
des geheimen Schlüssels
erforderlich. Das Verfahren eröffnet
ein sehr weites Einsatzfeld und stellt ein einfaches Prinzip zur
Einprägung
sowie gegebenenfalls Erzeugung eines geheimen Schlüssels dar,
der fest mit einem physikalischen Medium verbunden ist. Der geheime Schlüssel ist
auch mit vollständiger
Kenntnis des Generierungsverfahrens nur mit sehr hohem Aufwand zu
ermitteln.
-
Die
folgenden Beispiele zeigen unterschiedliche Anwendungen, bei denen
ein Chip oder eine Chipkarte mit einem kryptographischen Schlüssel, der
gemäß dem vorliegenden
Verfahren eingeprägt wurde,
einsetzbar ist.
-
Eine
erste Beispielanwendung ist ein elektronischer Schlüssel für PKW in
Form einer Fernbedienung (7). Der
Schlüsselgenerator
(KeyGen), der das vorliegende Verfahren nutzt, erzeugt auf allen Chips
denselben geheimen Schlüssel
(PrivKey). Dieser wird mit einer Seriennummer versehen, so dass sich
für jedes
Paar aus Schloss und Fernbedienung jeweils ein eigener geheimer
Schlüssel
ergibt, den Schloss und Fernbedienung jedoch gemeinsam haben. Dieser
Schlüssel
dient nun dazu, eine zufällige Bitfolge
im Schloss und in der Fernbedienung zu verschlüsseln. Diese Bitfolge wird
bei jedem Öffnen
und Schließen
von Neuem erzeugt und zwischen Schloss und Schlüssel ausgetauscht. Durch den
Vergleich (Cmp) zwischen den Ergebnissen der Verschlüsselung
in Fernbedienung und Schloss wird die Autorisierung realisiert:
Nur wenn beide, Schloss und Fernbedienung, über denselben Schlüssel (PrivKey)
verfügen,
ist die verschlüsselte
Bitfolge exakt gleich. Ohne die Kenntnis des geheimen Schlüssels ist
es einem Angreifer nicht möglich,
die Fernbedienung so nachzubauen oder zu imitieren, dass sie die
gleiche verschlüsselte
Bitsequenz erzeugt wie das Schloss oder die Originalfernbedienung.
-
Grundsätzlich lässt sich
das vorliegende Verfahren oder ein damit erhaltener Chip für alle Anwendungen
einsetzen, in denen eine Autorisationsprüfung bzw. Zugangskontrolle
realisiert werden soll (Smart-Card Anwendungen). Auch hier kann
analog zum oben genannten Prinzip verfahren werden, d.h. durch Einsatz
eines All-Chips-Key
die Echtheit von Smart-Cards überprüft werden.
-
Ein
weiteres Anwendungsbeispiel betrifft die Übertragung und Verteilung von
Multimedia-Inhalten unter Nutzung eines Single-Chip-Key. In diesem
Anwendungsfall geht es um die sichere Übertragung und Verteilung von
Multimedia-Inhalten, z.B. Musik oder Videoströmen. In einem Gerät (Handy,
Walkman, Computer, DVDPlayer, etc.) soll Multimedia-Inhalt (Cont)
abgespielt werden, der von einem Anbieter (MMProvider) z.B. aus
dem Internet nach Bedarf (On-Demand) bezogen wird. Der Multimedia-Inhalt soll
auf dem Gerät
unendlich oft abspielbar sein und Sicherheitskopien (z.B. auf DVD)
möglich
sein, jedoch soll er nicht auf dem Gerät eines Dritten zu gebrauchen
sein.
-
Durch
die in 8 dargestellte Verfahrensweise wird eine solche
Anwendung möglich.
Angenommen, Käufer
A besitze N Multimedia-Geräte,
für die
er den Inhalt kaufen möchte.
Jedes dieser Geräte besitzt
seinen eigenen öffentlichen
Schlüssel, PubKey1
bis PubKeyN. Diese werden bei einem Kauf dem Multimedia-Anbieter übermittelt.
Der Anbieter erzeugt daraufhin (auf herkömmliche Weise) einen neuen
geheimen Schlüssel
(DESKeyA) pro Kunde, den er N-mal (d.h. für jedes MM-Gerät
des Käufers) mit
den Schlüsseln
PubKey1 bis PubKeyN verschlüsselt.
Die verschlüsselten
Schlüssel
DESKeySec1 bis DESKeySecN können
dann von den Multimedia-Geräten
des Käufers
A entschlüsselt
werden, nicht jedoch von den Geräten
einer anderen Person B. Aufgrund dieser Eigenschaft ist es nun möglich, den
Multimedia-Inhalt über
einen offen, nicht gesicherten Kanal (Internet, UMTS, etc.) zu verschicken,
wenn dieser zuvor beim Anbieter mit dem geheimen Schlüssel DESKeyA
des Käufers
A verschlüsselt
wurde. Die Geräte
des Käufers
A sind schließlich
in der Lage, mithilfe des geheimen Schlüssels DESKeyA den Multimedia-Inhalt
zu entschlüsseln.
Da nur diese Geräte über ihren
eigenen geheimen Schlüssel SecKey1
bis SecKeyN verfügen,
kann keines der Geräte
einer anderen Person an den Schlüssel
DESKeyA des Käufers
A gelangen um dessen Multimedia-Inhalt zu entschlüsseln.
-
Auch
in diesem Anwendungsfall ist es sinnvoll, eine Authentizitätsprüfung zu
implementieren, um sicherzustellen, dass alle öffentlichen Schlüssel aus
dem Multimedia-Gerät
stammen und nicht vom Anwender selbst erstellt wurden. Dazu kann
ein All-Chips Key (nicht dargestellt) verwendet werden, der in jedem
MM-Gerät und bei
den MM-Anbietern vorhanden ist und immer gleich ist. Dieser wird
nun vom MM-Gerät
benutzt, um die öffentlichen
Schlüssel
PubKey1 bis PubKeyN zu verschlüsseln.
Nur wenn MM-Gerät
und MM-Anbieter über
denselben Schlüssel
verfügen,
ist ein korrekter Austausch der Schlüssel PubKey1 bis PubKeyN möglich.
-
Das
hier diskutierte Problem der Schlüsselauthentizität ist ein
grundsätzliches
Problem bei allen Public-Key Verfahren. Es wird gegenwärtig dadurch
gelöst,
dass ein öffentlicher
Schlüssel
nur dann als authentisch deklariert wird, wenn er zuvor von vertrauenswürdigen Stellen überprüft wurde.
In der Regel wird der Schlüssel
dann auf einen öffentlich zugänglichen
Server gelegt. Analog dazu könnte
in dem hier vorgestellten Anwendungsfall jeder öffentliche Schlüssel aller
MM-Gerät
beim Hersteller vor dem Verkauf der Geräte ausgelesen werden, veröffentlicht
werden und dadurch authentifiziert werden.
-
Ein
weiteres Beispiel betrifft den Schutz von Software unter Einsatz
von All-Chips Key und Single-Chip
Keys. Mit dem allgemeinen Begriff „Schutz von Software" sind Aspekte gemeint,
die auch im Rahmen der Trusted-Computing-Initiative behandelt werden.
Dabei geht es in erster Linie darum, Software auf einem System nur
dann auszuführen,
wenn dies autorisiert wurde. Eine gegenwärtig angewandte Form ist die
Produktaktivierung eines bekannten Betriebssystems. Die Stelle des
geheimen Schlüssels nimmt
dabei eine individuelle Zahlenfolge ein, die sich aus den Hardwarekomponenten
eines Rechners durch Anwendung eines geheim gehaltenen Verfahrens
ableitet. Hierbei handelt es sich ausschließlich um einen Kopierschutz.
-
Mit
dem in der vorliegenden Erfindung vorgeschlagenen Single-Chip Key
kann ein solcher Kopierschutz ebenfalls realisiert werden, die folgenden Nachteile
jedoch vermieden werden:
-
1. Eingeschränkte Reproduzierbarkeit.
-
Die
Produktaktivierung ist jedesmal von Neuem nötig, wenn sich mehr als eine
bestimmte Zahl an Hardwarekomponenten eines Rechners ändern bzw. ausgetauscht
werden, da die Zahlenfolge, die sich aus diesen Komponenten ergibt,
eine andere ist.
-
2. Implementierung in
schwach geschützter
Software.
-
Das
Verfahren zur Produktaktivierung bzw. der Vergleich zwischen einem
Freischaltcode und der Zahlenfolge der Hardwarekomponenten ist im Betriebssystem
selbst implementiert, d.h. erfolgt in Software. Durch Reverse-Engineering (Disassemblierung
bzw. Debugging) kann der verwendete Algorithmus abgeleitet werden,
um für
die individuelle Zahlenfolge der jeweiligen Nutzer den dazugehörigen Freischaltcode
zu berechnen. Durch Kenntnis dieses Algorithmus ist es nun jeder
Person möglich, für jede Hardwarezusammenstellung
eigenständig einen
Freischaltcode zu erzeugen und sein Betriebssystem zu aktivieren.
-
Die
Liste ähnlicher
Fälle lässt sich
fortsetzen. Immer dann, wenn es um die Verarbeitung von sicherheitsrelevanten
Informationen geht, ist es nötig, die
entsprechenden Verarbeitungsroutinen zu schützen, d.h. zu verschlüsseln. Einzig
und allein im Prozessor selbst und unmittelbar vor der Ausführung der Befehle
sollten die Anweisungen entschlüsselt
werden. In allen anderen Teilen des Rechners, insbesondere auf externen
Datenträger,
sollten die sensiblen Programmteile ausschließlich verschlüsselt vorliegen.
-
Das
Schema in 9 zeigt einen entsprechenden
Lösungsansatz.
Jeder Prozessor einer bestimmten Baureihe (für alle Baureihen) verfügt über denselben
geheimen Schlüssel
PrivKey (All-Chip Key). Mit diesem lassen sich sicherheitskritische
Befehle (CodeSec) im Prozessor entschlüsseln. Außerhalb des Prozessors sind
die Befehlsfolgen immer verschlüsselt.
Damit ein Softwarehersteller seine sicherheitskritischen Programmteile
verschlüsseln kann,
aktiviert er die Verschlüsselungseinheit
(Encrypt) und übergibt
ihr die Routinen zur Verschlüsselung
(Code). Die verschlüsselten
Programmteile sind dadurch geschützt
und können
zusammen mit dem ungeschützten
Teil der Software vertrieben bzw. verkauft werden (Vertrieb). Die
Aktivierung der Verschlüsselungseinheit
kann wiederum durch verschlüsselte
Softwareroutinen realisiert werden, so dass z.B. eine Autorisationsprüfung eingebunden werden
kann. Dies würde
sicherstellen, dass nicht jeder Anwender beliebig oft große Datenmengen
verschlüsseln
kann, um über
einen Vergleich zwischen den unverschlüsselten und den verschlüsselten
Daten den geheimen Schlüssel
zu errechnen (DES gilt diesem Angriff gegenüber als sehr sicher).
-
Der
Idealfall bezüglich
Flexibilität
und Sicherheit ist die Kombination aus den in 8 und 9 dargestellten
Verfahren, d.h. der Einsatz eines All-Chips Key und von Single-Chip Keys.
Letztere kennzeichnen jeden Prozessor in eindeutiger Weise, so dass
Programme und insbesondere Multimedia-Inhalte nur auf den autorisierten
Prozessoren lauffähig
sind. Der All-Chips
Key stellt dagegen die Authentizität des Prozessors (d.h. seines
Single-Chip Keys) sicher und ermöglicht
es, Softwareteile vor dem Anwender geheim zu halten und damit vor
Reverse-Engineering und Manipulationen zu schützen.
-
10 stellt
eine solche Architektur schematisch dar. Jeder der N Prozessoren
der Person A hat sein eigenes, individuelles Schlüsselpaar
PrivKeyXA und PubKeyXA, alle anderen Funktions- Prozessoreinheiten
sind identisch. Der Schlüssel
DESKeyB stellt den persönlichen
Schlüssel
für Person
B dar, mit dem Multimedia-Inhalte, aber auch sicherheitskritische
Programmteile für
jeden der M Prozessoren von B verschlüsselt werden. Er wird von A
für B individuell
erzeugt (auf herkömmliche
Weise) und mit den öffentlichen
Schlüsseln
PubKey1B ... PubKeyMB von B verschlüsselt. Um die Authentizität dieser
Schlüssel
sicherzustellen, wurden sie von B mit dem All-Chips Key PrivKey
verschlüsselt,
so dass diese nur von den Prozessoren selbst stammen können, nicht
jedoch von Person A, B oder einer anderen. Auf diese Weise können Personen
sicherheitskritische Daten austauschen, ohne dass der Empfänger oder
ein unberechtigter Dritter an die unverschlüsselten Daten selbst gelangen
kann. Die verschlüsselten
Daten sind jedoch frei verfügbar,
so dass Kopien der Daten geschützt
sind, seien es lokale Kopien im Arbeitsspeicher bzw. auf Festplatte
oder Sicherheitskopien.
-
Ein
weiteres Anwendungsbeispiel stellt die Konfiguration in FPGAs dar.
Die Programmierung bzw. Konfiguration einiger FPGAs wird vor Einsichtnahme
geschützt,
so dass die in ihnen realisierten Schaltungen nicht zugänglich sind.
Wichtigstes Ziel ist hierbei, das den Schaltungen zugrunde liegende geistige
Eigentum vor Diebstahl zu schützen.
Eine Verschlüsselung
der Konfiguration, basierend auf einem All-Chip Key und Public-Key
Kryptographie, könnte
die Sicherheit bisheriger Ansätze
weiter erhöhen.
Die Programmierung eines FPGA wäre
im Konfigurationsspeicher immer nur verschlüsselt hinterlegt und würde erst
im FPGA selbst entschlüsselt werden.
Als Platzsparmaßnahme
könnte
die RSA-Einheit auf dem FPGA aus den ohnehin vorhandenen programmierbaren
Gattern des FPGA bestehen, die immer dann eingesetzt werden, wenn
der FPGA neu konfiguriert werden soll. Sie stellen damit die Reset-Konfiguration
dar und werden nach erfolgreicher Entschlüsselung und Programmierung
mit den neuen Schaltungen überschrieben.
Soll der FPGA erneut programmiert werden, so kehrt die Konfiguration
der Gatter in den Reset-Zustand zurück, in dem die Gatter zur RSA-Einheit
verschaltet sind.
-
- 1
- Stromquelle
- 2–4
- Schalter
- 5
- parasitäre Kapazität
- 6
- parasitäre Kapazität
- 7
- Komparator
- 8
- Ausgang
der Messschaltung
- 9
- elektrische
Leitungen
- 10
- Durchkontaktierungen
- 11
- Messschaltung