[go: up one dir, main page]

DE102005024379A1 - Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur - Google Patents

Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur Download PDF

Info

Publication number
DE102005024379A1
DE102005024379A1 DE102005024379A DE102005024379A DE102005024379A1 DE 102005024379 A1 DE102005024379 A1 DE 102005024379A1 DE 102005024379 A DE102005024379 A DE 102005024379A DE 102005024379 A DE102005024379 A DE 102005024379A DE 102005024379 A1 DE102005024379 A1 DE 102005024379A1
Authority
DE
Germany
Prior art keywords
topographical structure
generated
line structures
production
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102005024379A
Other languages
English (en)
Inventor
Peter Prof.Dr. Fischer
Matthias Dipl.-Inf. Harter
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.)
Universitaet Heidelberg
Original Assignee
MANNHEIM, University of
Universitaet Mannheim
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 MANNHEIM, University of, Universitaet Mannheim filed Critical MANNHEIM, University of
Priority to DE102005024379A priority Critical patent/DE102005024379A1/de
Priority to US11/921,058 priority patent/US20090304181A1/en
Priority to EP06753200A priority patent/EP1897139A1/de
Priority to PCT/DE2006/000909 priority patent/WO2006125431A1/de
Publication of DE102005024379A1 publication Critical patent/DE102005024379A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • H10W42/40

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung und Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur, insbesondere für mikroelektronische oder mikromechanische Bauelemente. Bei dem Verfahren werden mehrere Messschaltungen in der topographischen Struktur erzeugt, die jeweils abhängig von einer Größe zumindest einer elektrischen oder physikalischen Eigenschaft in der topographischen Struktur, die bei der Herstellung der topographischen Struktur mit den Messschaltungen zufälligen Schwankungen unterworfen ist, einen Messwert erzeugen. Der kryptographische Schlüssel wird aus den Messwerten der Messschaltungen gebildet oder abgeleitet.

Description

  • 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

Claims (10)

  1. Verfahren zur Erzeugung und Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur, insbesondere für mikroelektronische oder mikromechanische Bauelemente, bei dem mehrere Messschaltungen (11) in der topographischen Struktur erzeugt werden, die jeweils abhängig von einer Größe zumindest einer elektrischen oder physikalischen Eigenschaft in der topographischen Struktur, die bei der Herstellung der topographischen Struktur mit den Messschaltungen (11) zufälligen Schwankungen unterworfen ist, einen Messwert erzeugen, wobei der kryptographische Schlüssel aus den Messwerten der Messschaltungen (11) gebildet oder abgeleitet wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Messschaltungen (11) die Messwerte abhängig von der Größe einer parasitären elektrischen Eigenschaft erzeugen.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Messschaltungen (11) dreidimensionale elektrische Leitungsstrukturen (9, 10) umfassen, die jeweils mit einem zufälligen Design vorgegeben und in der topographischen Struktur erzeugt werden, und die Messwerte abhängig von der Größe einer parasitären elektrischen Eigenschaft der Leitungsstrukturen (9, 10) erzeugen.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Messschaltungen (11) die Messwerte abhängig von der Größe einer parasitären Kapazität der Leitungsstrukturen (9, 10) erzeugen.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass jede Messschaltung (11) zwei dreidimensionale elektrische Leitungsstrukturen (9, 10), die jeweils mit einem zufälligen, für die einzelne Messschaltung (11) identischen Design vorgegeben und in der topographischen Struktur erzeugt werden, und eine Vergleichseinheit (7) aufweist, die die Größe der parasitären elektrischen Eigenschaft der beiden Leitungsstrukturen (9, 10) vergleicht, wobei die Messschaltung (11) abhängig von einem Ergebnis des Vergleichs einen Bitwert von 0 oder 1 erzeugt.
  6. Verfahren zur Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur, insbesondere für mikroelektronische oder mikromechanische Bauelemente, bei dem – der kryptographische Schlüssel in Form einer Bitfolge bereitgestellt wird, – für jedes Bit der Bitfolge eine Messschaltung (11) in der topographischen Struktur erzeugt wird, die zwei dreidimensionale elektrische Leitungsstrukturen (9, 10) und eine Vergleichseinheit (7) aufweist, die eine Größe einer parasitären elektrischen Eigenschaft der beiden Leitungsstrukturen (9, 10) vergleicht, und – die Messschaltung (11) abhängig von einem Ergebnis des Vergleichs einen Bitwert von 0 oder 1 erzeugt, – wobei jede der beiden Leitungsstrukturen (9, 10) mit einem zufälligen Design vorgegeben und in der topographischen Struktur erzeugt wird und das zufällige Design der beiden Leitungsstrukturen (9, 10) jeder Messschaltung (11) derart unterschiedlich oder gleichartig ausgewählt wird, dass die Messschaltung (11) das zugeordnete Bit der Bitfolge erzeugt.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass zunächst eine größere Anzahl an Designs für die dreidimensionalen elektrischen Leitungsstrukturen (9, 10) rechnergestützt erzeugt und in einen Pool eingebracht wird, aus dem anschließend für die Herstellung der einzelnen Leitungsstrukturen (9, 10) der Messschaltungen (11) geeignete Designs ausgewählt werden.
  8. Verfahren nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass die Erzeugung der Designs mit einem Algorithmus erfolgt, der Breite, Länge und Richtung von Abschnitten der Leitungsstrukturen (9, 10) in jeder Ebene der Leitungsstrukturen (9, 10) sowie Verbindungen zwischen unterschiedlichen Ebenen der Leitungsstrukturen (9, 10) zufällig wählt.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Herstellung der topographischen Struktur mit den Messschaltungen (11) mit einem lithographischen Prozess erfolgt.
  10. Chip oder Chipkarte mit einer topographischen Struktur, die einen gemäß dem Verfahren nach einem der Ansprüche 1 bis 9 eingeprägten kryptographischen Schlüssel mit den zugehörigen Messschaltungen (11) enthält.
DE102005024379A 2005-05-27 2005-05-27 Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur Withdrawn DE102005024379A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102005024379A DE102005024379A1 (de) 2005-05-27 2005-05-27 Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur
US11/921,058 US20090304181A1 (en) 2005-05-27 2006-05-26 Method for generating and/or imprinting a retrievable cryptographic key during the production of a topographic structure
EP06753200A EP1897139A1 (de) 2005-05-27 2006-05-26 Verfahren zur erzeugung und/oder einprägung eines wiedergewinnbaren kryptographischen schlüssels bei der herstellung einer topographischen struktur
PCT/DE2006/000909 WO2006125431A1 (de) 2005-05-27 2006-05-26 Verfahren zur erzeugung und/oder einprägung eines wiedergewinnbaren kryptographischen schlüssels bei der herstellung einer topographischen struktur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005024379A DE102005024379A1 (de) 2005-05-27 2005-05-27 Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur

Publications (1)

Publication Number Publication Date
DE102005024379A1 true DE102005024379A1 (de) 2006-11-30

Family

ID=36940356

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005024379A Withdrawn DE102005024379A1 (de) 2005-05-27 2005-05-27 Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur

Country Status (4)

Country Link
US (1) US20090304181A1 (de)
EP (1) EP1897139A1 (de)
DE (1) DE102005024379A1 (de)
WO (1) WO2006125431A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2582903C1 (ru) * 2015-02-25 2016-04-27 Федеральное государственное унитарное предприятие "Всероссийский научно-исследовательский институт автоматики им. Н.Л. Духова" (ФГУП "ВНИИА") Способ защиты углов трёхмерных микромеханических структур на кремниевой пластине при глубинном анизотропном травлении
IT201700057307A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Sistema ip-gpio, apparecchiatura e procedimento corrispondenti
US10650111B2 (en) 2017-11-30 2020-05-12 International Business Machines Corporation Electrical mask validation
US10429743B2 (en) 2017-11-30 2019-10-01 International Business Machines Corporation Optical mask validation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818738A (en) * 1987-10-30 1998-10-06 Gao Gesellschaft Fur Automation Und Organisation Mgh Method for testing the authenticity of a data carrier having an integrated circuit
US6047068A (en) * 1995-09-19 2000-04-04 Schlumberger Industries Method for determining an encryption key associated with an integrated circuit
US6233339B1 (en) * 1996-10-25 2001-05-15 Fuji Xerox Co., Ltd. Physical property based cryptographics
WO2001084767A1 (en) * 2000-05-01 2001-11-08 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
US20020188857A1 (en) * 2001-06-11 2002-12-12 William Orlando Protected storage of a datum in an integrated circuit
US20030103629A1 (en) * 2001-11-30 2003-06-05 Luc Wuidart Generation of secret quantities of integrated circuit indentification
US20040136529A1 (en) * 2001-03-23 2004-07-15 Alain Rhelimi Secure electronic component

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867397A (en) * 1996-02-20 1999-02-02 John R. Koza Method and apparatus for automated design of complex structures using genetic programming
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
US6901145B1 (en) * 1999-04-08 2005-05-31 Lucent Technologies Inc. Generation of repeatable cryptographic key based on varying parameters
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US6993130B1 (en) * 2000-02-04 2006-01-31 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
US20020156757A1 (en) * 2000-05-12 2002-10-24 Don Brown Electronic product design system
FR2837621A1 (fr) * 2002-03-22 2003-09-26 St Microelectronics Sa Differenciation de puces au niveau d'une reticule
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7210634B2 (en) * 2004-02-12 2007-05-01 Icid, Llc Circuit for generating an identification code for an IC
US7702927B2 (en) * 2004-11-12 2010-04-20 Verayo, Inc. Securely field configurable device
DE102004058183A1 (de) * 2004-12-02 2006-06-08 Robert Bosch Gmbh Messfühler mit Selbsttest
US7813507B2 (en) * 2005-04-21 2010-10-12 Intel Corporation Method and system for creating random cryptographic keys in hardware

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818738A (en) * 1987-10-30 1998-10-06 Gao Gesellschaft Fur Automation Und Organisation Mgh Method for testing the authenticity of a data carrier having an integrated circuit
US6047068A (en) * 1995-09-19 2000-04-04 Schlumberger Industries Method for determining an encryption key associated with an integrated circuit
US6233339B1 (en) * 1996-10-25 2001-05-15 Fuji Xerox Co., Ltd. Physical property based cryptographics
WO2001084767A1 (en) * 2000-05-01 2001-11-08 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
US20040136529A1 (en) * 2001-03-23 2004-07-15 Alain Rhelimi Secure electronic component
US20020188857A1 (en) * 2001-06-11 2002-12-12 William Orlando Protected storage of a datum in an integrated circuit
US20030103629A1 (en) * 2001-11-30 2003-06-05 Luc Wuidart Generation of secret quantities of integrated circuit indentification

Also Published As

Publication number Publication date
EP1897139A1 (de) 2008-03-12
US20090304181A1 (en) 2009-12-10
WO2006125431A1 (de) 2006-11-30

Similar Documents

Publication Publication Date Title
EP3108610B1 (de) Verfarhen und system zum erstellen und zur gültigkeitsprüfung von gerätezertifikaten
DE60033066T2 (de) Halbleiterspeicherkarte und Datenlesevorrichtung
EP1099197B1 (de) Vorrichtung zum liefern von ausgangsdaten als reaktion auf eingangsdaten und verfahren zum überprüfen der authentizität und verfahren zum verschlüsselten übertragen von informationen
DE69626530T2 (de) Schutz von software gegen benutzung ohne erlaubnis
DE102010034976A1 (de) Anordnung zur Berechtigungskontrolle, insbesondere für Kraftfahrzeuge
DE112016003625T5 (de) Peer-to-peer-beglaubigung
WO2018137856A1 (de) Verfahren und vorrichtung zum rechnergestützten erstellen und ausführen einer steuerfunktion
DE19963408A1 (de) Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
DE112005001654B4 (de) Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD
WO2019020234A1 (de) Verfahren und vorrichtung zur identifikation eines additiv gefertigten werkstücks
EP3688928A1 (de) Dataculestruktur und verfahren zum manipulationssicheren speichern von daten
DE102005024379A1 (de) Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur
WO2020058151A1 (de) Verfahren zur verwaltung eines produktionsprozesses, sowie computerprogramm zum ausführen des verfahrens und elektronisch lesbarer datenträger
DE102007034527A1 (de) Verfahren und System zur Kennzeichnung einer Ware als Originalware eines Warenherstellers
EP2387798A2 (de) Verfahren zur verification einer kennzeichnungsschaltung
DE102013014587B4 (de) Verfahren zum IT-Schutz sicherheitsrelevanter Daten und ihrer Verarbeitung
EP2807788A2 (de) Verfahren zum schreiben und lesen von daten
EP2057778B1 (de) Verfahren zur authentifizierung
EP2350904A1 (de) Verfahren und anordnung zum konfigurieren von elektronischen geräten
EP3758320A1 (de) Geräte und verfahren zum überprüfen von geräten
EP4032243B1 (de) System und verfahren zum manipulationssicheren verwalten von daten eines feldgeräts der automatisierungstechnik
DE102004020869A1 (de) System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLSI-Entwurf
DE102018217016A1 (de) Ein-Chip-System und Sicherheitsschaltung mit einem derartigen Ein-Chip-System
EP2184695A1 (de) Verfahren zum Kombinieren von Daten mit einer zur Verarbeitung der Daten vorgesehenen Vorrichtung, korrespondierende Funktionalität zur Ausführung einzelner Schritte des Verfahrens und Computerprogram zur Implementierung des Verfahrens
DE102018001041A1 (de) Computerprogrammprodukt und Verfahren zur Auswahl eines Knotens in einem Netzwerk

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: UNIVERSITAET HEIDELBERG, 69117 HEIDELBERG, DE

R002 Refusal decision in examination/registration proceedings
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee