Die DNA ID des FPGA im Detail
Die ab Werk eingebrannte eindeutige ID in Xilinx-FPGAs der 7er-Serie. Was sie auf Siliziumebene ist, wie du sie ausliest, warum individuelle Firmware an sie gebunden wird und was sie nicht ist.
Kurze Antwort
Die DNA ID ist ein 57 Bit langer, nur lesbarer Wert, der ab Werk in jedes Xilinx-FPGA der 7er-Serie eingebrannt wird. Logik liest ihn über das Primitive DNA_PORT aus. Individuelle Firmware wird gegen diesen Wert gebaut, das Image läuft also nur auf einer einzigen Platine. Ein Lizenz-Key ist sie nicht, und Informationen über dich enthält sie auch nicht.
Auf dieser Seite10
Was die DNA tatsächlich ist
Jeder Xilinx-Baustein der 7er-Serie, Artix-7 eingeschlossen, verlässt das Werk mit einer eindeutigen Kennung, die in eFUSE programmiert ist. Interne Logik liest sie über ein Primitive namens DNA_PORT. Dieses Primitive lädt den Wert in ein Schieberegister und taktet ihn Bit für Bit heraus. In Bausteinen der 7er-Serie sind davon 57 Bit zugänglich. Der Wert ist nur lesbar. Kein Befehl schreibt ihn um, kein Tool fälscht ihn im Silizium, und kein Verfahren gibt zwei Chips denselben Wert. Genau diese Unveränderlichkeit ist der Grund, warum er sich als Bindung überhaupt eignet.
Die DNA auf einen Blick
Die Eigenschaften, auf die es ankommt, wenn du überlegst, ob du sie in ein Ticket schreibst.
- Wo sie liegt
- eFUSE im FPGA, bei der Fertigung programmiert
- Länge
- 57 Bit, auf Bausteinen der 7er-Serie für Logik zugänglich, gelesen über das Primitive DNA_PORT
- Beschreibbar
- Nein. Für die gesamte Lebensdauer des Chips nur lesbar
- Geltungsbereich
- Identifiziert einen FPGA-Die. Nicht die Platine, nicht den Flash-Chip, nicht den PC
- Aus dir abgeleitet
- Nichts. Sie gab es vor deinem Kauf, und sie weiß nichts über dich
- Geheim
- Nicht im kryptografischen Sinn. Behandle sie als Kennung, die du nicht veröffentlichst, und nicht als Passwort
Wo der Wert auftaucht
MemProcFS hängt ein virtuelles Laufwerk ein und schreibt eine Statusdatei hinein. Die DNA-Zeile in dieser Datei ist der Wert, den der Support braucht — exakt kopiert, ohne zusätzliche Leerzeichen.
MemProcFS.exe run as Administrator on the second PC
<mounted drive>\misc\pcileech_status.txt
look for the line beginning: DNA_IDMit MemProcFS auslesen
Der verlässliche Weg, und der, den die mitgelieferte Anleitung zur DNA ID beschreibt. Mach das am Zweit-PC, mit Strom auf der Karte.
- Starte zuerst den Spiele-PC und lass ihn bis zum Desktop kommen, damit die Karte Strom hat und enumeriert ist
- Verbinde die Karte mit dem Zweit-PC, an dem Port, den deine Bestellanleitung für das Auslesen des Status nennt
- Starte MemProcFS.exe als Administrator, mit der Version aus deiner Bestellung
- Öffne das virtuelle Laufwerk, das dabei eingehängt wird
- Öffne misc\pcileech_status.txt
- Kopier den Wert von DNA_ID exakt, ohne Leerzeichen am Ende und ohne ihn umzuformatieren
Achtung
Warum die Datei manchmal fehlt
Eine fehlende Statusdatei heißt, dass die Karte nicht antwortet, und nicht, dass die DNA weg ist. Prüf zuerst den Port. Das Auslesen des Status und das Flashen nutzen unterschiedliche Buchsen auf der Platine, und die falsche Buchse ist mit Abstand die häufigste Ursache. Dann das Kabel, dann der Treiber der USB-Brücke am Zweit-PC, dann ein Kaltstart des Spiele-PC. Erfinde keinen Wert. Nimm auch nicht den einer älteren Karte, um weiterzukommen. Ein Image gegen die falsche DNA ist ein Image, das du noch einmal bauen lassen musst.
Warum Firmware daran gebunden wird
Ein individuelles Image wird für genau eine Platine gebaut. Den Bitstream an die DNA zu binden, gegen die er gebaut wurde, macht daraus eine mechanische Sache statt einer Vertrauensfrage. Die Logik liest die DNA zur Laufzeit und läuft nur bei einer Übereinstimmung weiter. Daraus folgen zwei Dinge. Das Image lässt sich nicht auf eine zweite Karte kopieren und dort verwenden — deshalb gilt ein Kauf für eine Platine. Und wenn du die Karte tauschst, hat das neue FPGA eine andere DNA. Dann brauchst du ein neues Image, weil aus der alten Datei nichts übertragbar ist.
Info
Was die DNA nicht leistet
Drei Dinge, für die man sie hält, und sie ist keines davon. Sie ist kein Lizenz-Key. Sie identifiziert Hardware, und dein Anspruch hängt an deiner Bestellung und nicht am Chip. Sie ist kein personenbezogenes Datum. Sie wurde bei der Fertigung eingebrannt, sie ist aus nichts abgeleitet, was mit dir zu tun hat, und sie lässt sich nicht in eine Identität zurückrechnen. Und sie ist für sich kein Erkennungsweg. Ein Anticheat, das den Konfigurationsbereich der Karte liest, sieht das Donor-Profil und nicht die interne DNA des FPGA.
Was in das Ticket gehört
Alles in einer Nachricht. Ein Ticket, bei dem dreimal nachgefragt werden muss, wartet dreimal.
- Die Bestellnummer
- Die DNA ID, exakt aus der Datei kopiert, die du tatsächlich geöffnet hast
- Kartenmodell und FPGA-Klasse laut Aufdruck auf der Platine, dazu ein Foto des Aufdrucks
- Welches Tool den Wert erzeugt hat, und die vollständige Ausgabe statt eines abgetippten Ausschnitts
- Das Spiel und das Anticheat, mit denen du sie einsetzen willst
- Ob das ein erstes Image ist oder ein Ersatz für eine Karte, die du getauscht hast
Fragen zur DNA
Lässt sich die DNA ID ändern oder fälschen?
Im Silizium nicht. Sie ist eFUSE ab Werk und nur lesbar. Logik in einem Bitstream kann einem Tool natürlich erzählen, was sie will. Der Wert im Chip ändert sich dadurch nicht.
Ist es sicher, meine DNA ID an den Support zu schicken?
Ja, im Ticket zu deiner Bestellung. Es ist eine Hardware-Kennung ohne persönliche Informationen. Poste sie nicht in einem öffentlichen Kanal, aus demselben Grund, aus dem du auch keine Seriennummer posten würdest.
Zwei Karten — brauche ich zwei Images?
Ja. Jedes FPGA hat seine eigene DNA, und ein Image, das an eine gebunden ist, läuft auf der anderen nicht. Eine ID, eine Platine, ein Image.
Ich habe meine Karte auf Garantie getauscht. Kann ich meine Firmware-Datei behalten?
Die Datei ist an die alte DNA gebunden, also nein. Lies die DNA der neuen Karte aus und bitte im selben Ticket um ein neues Image dagegen.
Verrät die DNA ID einem Anticheat, wer ich bin?
Nein. Sie ist intern im FPGA und gehört nicht zu dem, was die Karte auf dem PCIe-Bus zeigt. Gezeigt wird der Konfigurationsbereich, und das ist das Donor-Profil.
Quellen
Wie wir ein Image an eine einzelne Karte binden, ist unsere eigene Vorgabe. Was in ein Ticket gehört, stammt aus unseren eigenen Tickets.
- 01AMD/Xilinx DS180, 7 Series FPGAs Data Sheet: Overview
die ab Werk programmierte Device DNA in Xilinx-Bausteinen der 7er-Serie und die Artix-7-Teile, die diese Karten verwenden
docs.amd.com
- 02MemProcFS (Ulf Frisk), AGPL-3.0
das Tool, das das virtuelle Laufwerk einhängt, in dem die Statusdatei mit der DNA-Zeile liegt
github.com
Weiterlesen
Kommst du nicht weiter? Ticket auf Discord öffnen
Alle Anleitungen