Warning: fopen(111data/log202008140222.log): failed to open stream: No space left on device in /home/pde321/public_html/header.php on line 107

Warning: flock() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 108

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 113
Entwurfsaustausch mit Lizenzschutz für Schaltungsentwurf in einer FPGA Umgebung durch Benutzung von kombinierten Geheimen- und Offenen-Schlüssel (Public-Key) Kryptographie - Dokument DE102006009794A1
 
PatentDe  


Dokumentenidentifikation DE102006009794A1 06.09.2007
Titel Entwurfsaustausch mit Lizenzschutz für Schaltungsentwurf in einer FPGA Umgebung durch Benutzung von kombinierten Geheimen- und Offenen-Schlüssel (Public-Key) Kryptographie
Anmelder Wael, Adi, Prof., 38108 Braunschweig, DE
DE-Anmeldedatum 01.03.2006
DE-Aktenzeichen 102006009794
Offenlegungstag 06.09.2007
Veröffentlichungstag im Patentblatt 06.09.2007
IPC-Hauptklasse G06F 17/10(2006.01)A, F, I, 20060301, B, H, DE
IPC-Nebenklasse G06F 17/50(2006.01)A, L, I, 20060301, B, H, DE   
Zusammenfassung Gegenstand der Erfindung ist ein Mechanismus, bestehend aus Hardware und Ablaufsprotokoll, zum Schutz von Lizenzen oder Intellektuellem Eigentum (Intellectual Property Right, IPR) für einen Schaltungsentwurf in einer (Field Programmable Gate Array) FPGA-Umgebung. Der Schaltungsentwurf kann durch die Erfindungsverfahren an einen Kunden verkauft werden, so dass der Kunde auf eigenen festdefinierten FPGA einprogrammieren und benutzen kann, ohne dass der Kunde die Möglichkeit hat, den Entwurf zu duplizieren, weiterzugeben oder daraus unmittelbar die Entwurfsschaltung zu gewinnen. Kunde und IPR-Besitzer/Inhaber brauchen keinerlei vorherige Geheimvereinbarung oder Treffen. Der Baustein, auf dem der Entwurf laufen kann, wird durch die Erfindung zum Unikat und kann weder durch den Hersteller noch durch den Kunden unerkannt dupliziert werden. Der Baustein-Hersteller kann das System auch dann nicht unerkannt knacken, wenn er mit dem Kunden kollaboriert.

Beschreibung[de]
1. Stand der Technik

Die aktuellen VLSI IPR Schutzmechanismen, wie bei den Hersteller Xilinx, Lattice sowie Actel [1], [2], [3] benötigen zum Schutz des Entwurfs, dass der Lizenzgeber IPR-Inhaber/Besitzer einen Geheimschlüssel im Baustein eingibt. Damit wird der Baustein künftig fähig, verschlüsselt Entwürfe des IPR Besitzers zu empfangen und auf diesem Baustein laufen zu lassen. Das setzt voraus, dass der IPR- Inhaber die jeweiligen Ziel-FPGA-Bausteine physikalisch bekommt und bearbeitet. In [4] sind auch ähnliche Vorgehensweisen beschrieben.

2. Vorteile der Erfindung

Das erfindungsgemäße Verfahren mit den Merkmalen in der folgenden Beschreibung erlaubt es den Schaltungsentwurf an einen Kunde zu verkaufen, so dass der Kunde diesen auf seinem eigenen FPGA einprogrammieren und benutzen kann, ohne dass der Kunde die Möglichkeit hat den Entwurf zu duplizieren, weiterzugeben oder die Entwurfsschaltung unmittelbar daraus zu gewinnen. Kunde und IPR Besitzer brauchen keinerlei vorherige Geheim-Vereinbarung oder Treffen. Der IPR Inhaber braucht den FPGA Baustein vorher nicht zu bearbeiten. Der Baustein, auf dem der Entwurf laufen kann wird nach Ablauf der Erfindungsprozedur zum Unikat. Weder der Hersteller noch der Kunde kann den Baustein/Entwurf duplizieren. Der Baustein-Hersteller kann das System nicht knacken auch wenn er mit dem Kunden kollaboriert. Der Hersteller kann das System nur durch betrügerische nicht spezifizierte Herstellungshintertüren (Back-doors) knacken, die er in der Serie (mit zugehörigem Entdeckungsrisiko) implementiert haben muss.

Im Wesentlichlichen basiert die Sicherheit darauf, dass sich der Baustein unabhängig von Hersteller und Kunden selbst seine Identität generiert und diese nicht preisgibt. Diese Identität ist für niemanden erreichbar oder auslesbar. Dennoch ist sie für die Verifikationsprozesse verwendbar.

3. Beschreibung der Ausführungsbeispiel

Ein Entwurfsverkauf Szenario kann wie im dargestellt werden. Dabei kann der Ablauf wie folgt beschrieben werden:

  • 1. FPGA Hersteller produziert FPGA-Bausteine nach der hier in dieser Beschreibung zu definierenden Spezifikation.
  • 2. Der Hersteller publiziert auf einer offen zugänglichen Stelle (z.B. Internet-Seite) eine Verifikationsmaschine nach , die es erlaubt seine Bausteine eindeutig zu identifizieren.
  • 3. Ersatzweise verkauft der Hersteller eine Verifikations-Smart-Card VSC nach die eine Verifikation seiner Bausteine erlaubt.
  • 4. Der IPR-Inhaber veröffentlicht seine Entwurfsmerkmale und eventuell Preisangebote in einen offenen Verzeichnis. Jedes IPR hat einen eigenen Eintrag wie Design Core Nr. j. Dazu eine zeitabhängige Identifikationsaufforderung CHt und dazu einen offenen Ganzzahl modulus, nach Rabin-Schloß-Verfahren generiert.

Es wird angenommen, dass der Hersteller keine Bausteine außerhalb der Spezifikation oder mit Hintertüren baut.

Der Kauf eines Entwurfs läuft nach wie folgt:

  • 1. Der Kund kauft einen Baustein mit der Seriennummer DI (Device Identity), die auf dem Baustein zu sehen ist (gedruckt). Dann wählt den gewünschten Entwurf und holt sich die dazugehörige CHt und m. Identifikationsaufforderung CHt und Modulus m werden dem Baustein bei einer Initialisierungsprozedur eingegeben, die den Entschlüsselungsschlüssel Ki nach generiert. Dabei erhält der Kunde einer Reaktion C-(S0|RESM) vom Baustein s. . C-(S0|RESM) ist der Bitvektor der beide S0 und RESM Muster enthält.
  • 2. Der Kunde sendet einen Kaufauftrag an IPR-Inhaber mit der Bausteinnummer DI und die Reaktion C-(S0|RESM).
  • 3. Der IPR-Inhaber konsultiert den Hersteller bzw. dessen Verifikationsmaschine oder den gekauften VSC und stellt damit die Identität des Bausteins fest und überzeugt sich dass es sich um einen echten Baustein handelt. Dabei generiert der IPR Inhaber die Verschlüsselungs-Schlüssel Ki und verschlüsselt den Entwurfsbitstrom (VLSI Entwurf) und sendet den verschlüsselten Bitsrom an den Kunden.
  • 4. Der Kunde kann den verschlüsselten Bitstrom in seinen Baustein eingeben und der Entwurf ist dann bereit und lauffähig im Baustein.

Der Verkaufvorgang enthält nur 2 Daten-Transaktionen zwischen Kunde und IPR-Inhaber.

Baustein Identifikationsmodul DIM:

Ferner enthält jeder hergestellte FPGA-Baustein eine Hardwareeinheit, genannt DIM Bausteins-Identitätsmodul (Device Identity Module), die im Baustein gemäß folgender Spezifikation hergestellt ist (Siehe ):

  • 1. Die inneren Komponenten der Einheit sind von außen nicht erreichbar (Tamper-Proof)
  • 2. Es enthält ein Register S0, das durch einen internen echten Hardware-Zufallsgenerator beschrieben werden kann. Der Inhalt kann einmalig eingefroren werden, aber nie gelesen werden. Der Inhalt S0 kann nur gelöscht werden, um neue Identität für den Baustein zu geben.
  • 3. DIM enthält auch ein Register SDI nach Punkt 2, das durch den Hersteller als Signatur in Abhängigkeit von DI und einem geheimen Master-Schlüssel SMK erstellt und beschrieben wird. SDI = H1(DI,SMK) H1 ist eine Hash-Abbildung, die durch den Hersteller frei definiert wird.
  • 4. Sollte der Hersteller nicht vertrauenswürdig sein, so soll SMK durch eine vertrauenswürdige Zertifizierungs-Behörde definiert und auch der Baustein wird durch einmaliges Beschreiben vom SDI zertifiziert. Das SDI Register soll als Einmal-Beschreibbares nicht-flüchtiges Register implementiert sein.
  • 5. Eine Hash-Abbildung H und ein Ganzzahl-Quadrierer ()2 modulo m.
  • 6. Eine Hashfunktion H2 erzeugt den Entschlüsselungs-Schlüssel Ki wie folgt Ki = H2[(CHt + RESM),S0] Wobei H2 eine Hash-Abbildung ist und RESM nach folgender Gleichung beschrieben wird RESM = H2(CHt, SDI)
  • 7. Eine Entschlüsselungs-Einheit F–1 die mit Hilfe der Entschlüsselungs-Schlüssel den verschlüsselten Entwurfsbitstrom C-BDS zu BDS entschlüsseln kann.
  • 8. Der Ausgang BDS liefert den Entwurfsbitstrom BDS an die FPGA Schaltungentwurfs-Register der im gesicherten Schaltungsbereich verteilt ist. Es darf keine Möglichkeit geben, diese gesicherten Schaltungsentwurfs-Register von außen zu lesen oder auch die Leitung BDS abzutasten. Das soll der Hersteller in seiner Herstellungstechnologie gewährleisten.

Verifikationsmaschine:

Der FPGA Hersteller bzw. die Zertifizierungsbehörde stellt eine gesicherte Verifikationsmaschine nach zur offenen Benutzung an einer offen zugänglichen Stelle zur Verfügung. Es soll vorsichtshalber jeder Verifikationsvorgang registriert und die Identität der Anfragenden festgestellt werden. Die Verifikationsmaschine nach hat folgende Eigenschaften:

  • 1. Die Maschine liefert für jedes DI und CHt das entsprechende RESM Wobei SDI = H1(DI,SMK) und dadurch RESM = H2(CHt, SDI) CHt des IPR-Inhabers soll dauernd in kurzen Abständen geändert und mit dem Zeitstempel t generiert werden. Der IPR-Inhaber akzeptiert einen RESM nur, wenn es frisch erhalten ist und nicht für einen alten CHt. Damit wird verhindert, dass der Kunde RESM von der Verifikationsmaschine bekommt und nicht vom Baustein selbst. Die Verifikationsmaschine soll in diesem Fall vertrauenswürdig sein, in der Hinsicht dass sie immer mit einer garantierten Mindestverzögerungszeit RESM liefert. Dieses Problem ist nicht vorhanden, wenn der IPR-Inhaber den VSC benutzt und nicht von der Verifikationsmaschine. Ein unabhängiger vertrauter Dritter ist für diesen Prozess als Ersatz für Hersteller empfohlen.

Verifikations Smart-Card VSC:

Der FPGA-Hersteller produziert Verifikations-Smart-Cards nach mit folgenden Eigenschaften:

  • 1. Die inneren Komponenten der Einheit sind von außen nicht erreichbar (Tamper-Proof)
  • 2. Die Karte enthält ein geheimes Personalisierungs-Register nach dem gleichen Muster wie S0 (s. DIM Beschreibung).
  • 3. CHt des IPR-Inhabers wird dann durch die VSC mit der Abbildung CHt = H2(Sv,t|RND) generiert. Wobei RND ist ein Zufallswert ist, der vom IPR-Inhaber kontrolliert wird. Der Zeit-Stempel t soll an RND angehängt werden.
  • 4. Der Vergleicher-Ausgang Accept-/Reject gibt nur die Information, ob das eingegebene RESM' mit dem intern generierten RESM übereinstimmt.
  • 5. Sollte dem Baustein-Hersteller nicht vertraut werden, dann sollen die Eingaben vom SMK auf dem Smart-Cards durch eine Zertifizierungsbehörde übernommen werden. Die Behörde wird auch alle weiteren Aktionen des Herstellers, die nicht mit dem reinen Herstellung zu tun haben, voll übernehmen

Alle allgemein bekannten gültigen Bestimmungen, die eine Smart-Card erfüllen muss, sollen bei Herstellung, Initialisierung und Einsatz in Betracht gezogen werden.

Entwurfsaustauschprotokoll:

Der gesicherte Entwurfsaustausch ist in beschrieben. Dabei ist folgendes zu beachten:

  • 1. Die gewählten Primzahlen p und q sollen die kryptografischen Rabin-Schloß Bedingungen erfüllen und sind beim IPR-Inhaber geheim zu halten. m soll für höhere Sicherheit in kürzere Abstände variiert werden.
  • 2. Der Identitätsregister Sv soll anfangs eingefroren und dann verwendet werden.
  • 3. Die Berechnung des Quadratwurzel für C-(S0|RESM) ergibt in der Regel 4 Werte. Der richtige Wert ist derjenige, der mit dem Wert RESM aus der VSC übereinstimmt. S0 wird dabei für den IPR-Inhaber bekannt. Dies kann später auch als Beweismittel für manche Missbrauchsangriffe dienen.
  • 4. Ein Watermarking-Verfahren (Wasserzeichen) sollte der IPR-Inhaber in seinem BDS einbauen, so dass er den Kunden beim Verdacht durch Abfrage des Entwurfs wiedererkennt. Damit können Missbrauchsfälle später besser verfolgt werden.
  • 5. Die Quadratwurzel-Operationen sowie Verschlüsselung des BDS sind durch Software beim IPR-Inhaber geschützt durchzuführen. zeigt die Verarbeitungsgraphen dafür.

. Zeigt das Gesamtverarbeitungsgraphen des Verfahrens.

Die Hash-Funktionen H1, H2 können nach dem Stand der Technik aus [7] oder [8] entnommen werden. Die Block-Chiffre F könnte auch als KAZUMI Chiffre vom [7] oder nach AES Standard [9] ausgewählt werden.

Die Quadrierungsfunktion könnte sehr kostengünstig durch das Fuzzy-Verfahren, wie in [6] beschrieben, implementiert werden.

Eine hartverdrahtete Implementierung ist für die Sicherheit des Systems dienlich und trägt zur Erhöhung der Sicherheit auch durch den Einsatz von physikalischen Merkmalen und Zeitverhalten.

Zeigt eine Verallgemeinerung des Authentifizierungsmechanismus zwischen zwei Hardwareeinheiten, die in ähnlicher Weise personalisiert werden können, auf ähnlichen/gleichen Grundlagen des beschriebenen Mechanismus. Dieser allgemeine Aufbau erlaubt gleichberechtigte und symmetrische gegenseitige Authentifizierung durchzuführen. Die punktierten Funktionen können außerhalb der gesicherten Module stattfinden, um die Implementierungskosten zu sparen, schwächt aber etwas die Sicherheit durch Bekanntgabe des Kct' als ein Teil vom Kct. Der gemeinsamen Geheimschlüssel Kct wird generiert nach Austausch der Aufforderungen CH1 und CH2. Falls SMK durch einen einzigen vertrauenswürdigen Prozess durchgeführt wird, ist dieses System sehr robust und flexibel für viele weitere Anwendungen.

4. Referenzen

  • [1] Xilinx FPGA Bausteine. Secure Chip AES bitstream encryption/decryptiontechnology. http://www.xilinx.com/products/silicon solutions/fpgas/virtex/virtex4/capabilities/designsec.htm.
  • [2] Lattice FPGA Design Security (White Paper) http://www.latticesemi.com/lit/docs/generalinfo/wp1010.pdf
  • [3] Actel, "ProASIC3/E Security," Application Note available at http://www.actel.com, cited on 14/4/2005.
  • [4] T. Kean, "Cryptographically Enforced Pay-Per-Use Licensing of FPGA Design Intellectual Property", Proceedings International Workshop on IP Based Design 2002.
  • [5] B. Soudan, W. Adi, and A. Hanoun, "Novel Secret-Key IPR Protection in FPGA Environment," Proceedings System-on-Chip Conference, September 2005.
  • [6] W. Adi, Fuzzy Modular Arithmetic for Cryptographic Schemes with Applications to Mobile Security EUROCOM 2000
  • [7] Technical Specification 3G Security, Security Architecture 3G TS 33.102 V. 3.2.0 from 10.1999
  • [8] Specification of the MILENAGE Algorithm Set. 3GPP TS 35.206 V5.0.0 ETSI, http://www.3gpp.org
  • [9] AES, Advanced Encryption Standard, Federal Information Processing Standards Publication, FIPS 197, 2001. Or http://csrc.nist.gov/publications/.


Anspruch[de]
Ein FPGA-Baustein dessen Bitstrom krytographisch verschlüsselbar ist, dadurch gekennzeichnet, dass er mit einem Identifikationsmodul nach ausgestattet ist, das von außen soweit wie möglich mit realisierbarer Technologie nur mittelbar erreichbar (d.h. manipulationssicher) ist. und als prüfbares Identitätsmerkmal für einen Chip dient. Das Modul hat eine eindeutige geheime Identität (SDI), die durch Hersteller oder durch vertrauenswürdige Dritte beschrieben wird., wobei gilt: SDI = H1(DI,SMK) Dabei ist SMK ist einen geheimer Master-Schlüssel, DI ist die auf dem Baustein außen aufgebrachte eindeutige Seriennummer. und H1 ist eine Hash-Abbildung die auch geheim sein kann. Die Identifikation des Bausteins wird durch einen nicht vorhersehbaren und nicht lesbaren Geheimwert S0, der im Baustein selbst generiert wird und durch einen Befehl für immer eingefroren. Für die Verbindung von S0 und RESM gilt: RESM = H2(CHt,SDI) Durch die Hashfunktion H2 wird RESM erzeugt. Dabei ist CHt eine zufällige Aufforderung des Prüfers. Die Zusammensetzung von RESM und S0 als (S0|RESM) quadriert durch ein Rabin-Schloss ergibt eine chiffrierte Identität (S0|RESM) genannt C-(S0|RESM) = (S0|RESM)2 modulo m wobei m ist eine Ganzzahl ist, deren Faktoren p und q nur dem Prüfer bekannt sind. Nur der Prüfer kann die Kombination von (S0|RESM) berechnen und dadurch durch Vergleich von RESM nach Benutzung von einer Smart Card nach feststellen, dass der Baustein echt ist. Ein Baustein mit Identitätsmodul nach Anspruch 1, dadurch gekennzeichnet, dass ein hinreichend echt zufälliges S0 als Hardware-Identität im Baustein generiert werden kann, die erst beim Initialisieren ohne Einfluss des Herstellers und Benutzers zustande kommen. Der Werte von S0 wird in einen nicht lesbaren und nicht flüchtigen Speicher abgelegt. Niemand und niemals soll der Werte S0 gelesen werden können. Eine Smart-Card zur Verifikation, dadurch gekennzeichnet, dass sie nach dem gleichen Verfahren wie in Anspruch 2 einen geheime Identität Sv generiert, die ebenfalls nicht ausgelesen werden kann, gleichen Schutzansprüchen genügt und den Verifikationsablauf nach vollzieht. Ein gemeinsamer Schlüssel, dadurch gekennzeichnet, dass dieser Ki durch drei Größen im Baustein nach und beim Prüfer nach erzeugt wird, so dass die Bildung des Ki durch alle drei beteiligten Hersteller/Zertifizierer sowie Prüfer und Bausteine durch gleichzeitig beeinflusst wird. Ein Verfahren, dadurch gekennzeichnet, dass nach ein sicheres IPR-Verkaufszenario entsteht. Ein Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass statt einer Verifikations-Smart-Card (VSC) eine Verifikationsmaschine nach eingesetzt wird, die durch Hersteller und wahlweise einen unabhängigen Zertifizierer verwaltet wird Einen Prüfprotokoll nach Ein Prüfungs-Verarbeitungsgraph nach Ein Gesamt-Verfahren nach Ein Baustein nach Anspruch 1 dadurch gekennzeichnet, dass das die Dechiffrierung im DIM stattfindet Eine allgemeinen Struktur zur gegenseitigen Authentifizierung durch Kombination offener und geheimer Schlüssel nach Die Verwendung eines Rabin-Schlosses in Verbindung mit Fuzzy-Multiplikation nach [6] zur Verringerung der Hardwarekosten. Das Verfahren nach enthält für jeden Hardwareteil Benutzer1 und Benutzer2 eine eigene Baustein-Geheimidentität DS1 und DS2, die durch zufallsbasierte Initialisierung einmalig und eigenständig fixiert wird. DS1 und DS2 darf keiner erfahren. DS1 und DS2 ergeben eindeutig identifizierbare physikalische Einheiten, die man nicht kopieren kann. Für DS1 und DS2 konnte eine Zusatz-Signatur nach Anspruch 1 durch eine vertrauenswürdige Autorität erstellt werden, damit der Hersteller nicht die Sicherheit bedrohen kann Die Sicherheit des Systems kann vom Hersteller getrennt werden durch Zertifizierung der Bausteine und VSC sowie die Verwaltung der Verifikationsmaschine durch eine unabhängige vertrauenswürdige Behörde. In diesem Fall kann der Hersteller das System nur durch betrügerische Herstellungs-Hintertüren knacken.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com