Sie verkaufen eine Lizenz. Eine Woche später läuft derselbe Schlüssel auf dreißig Rechnern, weil ihn jemand in einer Chat-Gruppe geteilt hat. Die Weitergabe von Schlüsseln ist der häufigste Grund, warum kostenpflichtige Desktop-Software unbemerkt Umsatz verliert. Das gängigste Gegenmittel ist eine HWID-Sperre.
Dieser Leitfaden erklärt, was HWID-Locking ist, wie eine Hardware-ID entsteht und geprüft wird, wo naive Umsetzungen scheitern und wie Sie legitime Hardwarewechsel behandeln, ohne die Kunden zu bestrafen, die bezahlt haben.
Was ist HWID-Locking?
HWID steht für Hardware-ID: ein Fingerabdruck, der aus Merkmalen des Rechners abgeleitet wird, auf dem ein Programm läuft. HWID-Locking, auch Hardware-Bindung oder Node-Locking genannt, bedeutet, dass ein Lizenzschlüssel an die Hardware-ID des ersten Geräts gebunden wird, das ihn aktiviert. Ab dann funktioniert der Schlüssel nur noch auf diesem Gerät.
Das Ziel ist nicht, Weitergabe theoretisch unmöglich zu machen. Ein geteilter Schlüssel soll in der Praxis schlicht nicht mehr funktionieren, während die Person, die bezahlt hat, die Sperre gar nicht bemerkt.
So funktioniert eine HWID-Sperre Schritt für Schritt
- 01
Erste Aktivierung
Der Kunde gibt seinen Schlüssel ein. Ihre Anwendung berechnet einen Hardware-Fingerabdruck und sendet ihn zusammen mit dem Schlüssel an den Lizenzserver.
- 02
Bindung
Der Server erkennt einen unbenutzten Schlüssel, speichert den Fingerabdruck dazu und markiert den Schlüssel als gebunden.
- 03
Jeder spätere Start
Die Anwendung sendet Schlüssel und Fingerabdruck erneut. Stimmen sie mit der gespeicherten Bindung überein, wird die Sitzung erlaubt.
- 04
Ein anderer Rechner
Derselbe Schlüssel kommt mit einem anderen Fingerabdruck. Der Server lehnt ihn ab, und der Versuch wird protokolliert, damit Sie Weitergabe in dem Moment sehen, in dem sie passiert.
01Schlüssel + Hardware-Fingerabdruck
Über einen verschlüsselten, signierten Kanal gesendet
02Erste Nutzung: Fingerabdruck an Schlüssel binden
Serverseitig gespeichert, nie auf dem PC
03Nächster Start: Schlüssel + Fingerabdruck
04Treffer → Sitzung und serverseitige Daten
Abweichung → abgelehnt und protokolliert
Warum die Prüfung auf dem Server stattfinden muss
Die schwächsten HWID-Sperren belassen die Bindung auf dem Rechner des Kunden, in einer Datei oder einem Registry-Eintrag, und vergleichen lokal. Alles, was lokal gespeichert und verglichen wird, lässt sich bearbeiten, kopieren oder mit einem einzigen geänderten Sprungbefehl ausschalten. Eine wirksame HWID-Sperre braucht drei Dinge.
- Die Bindung liegt auf dem Server. Der Client meldet seinen Fingerabdruck. Er entscheidet nie selbst, ob es der richtige Rechner ist.
- Der Kanal ist geschützt. Anfragen und Antworten sind verschlüsselt und signiert, sodass ein Angreifer keine „gültige“ Antwort fälschen und keine alte wiedergeben kann.
- Etwas Wertvolles hängt vom Ergebnis ab. Zeigt eine fehlgeschlagene Prüfung nur einen Hinweis, wird sie ausgeschaltet. Werden Konfiguration, Strings oder Dateien erst nach einer erfolgreichen Prüfung ausgeliefert, gibt es ohne sie nichts Brauchbares zu starten.
Bindung auf dem PC gespeichert
- Lizenzdatei oder Registry-Eintrag
- Der Vergleich läuft im Client
- Ein geänderter Sprung umgeht ihn
- Kopieren der Datei kopiert die Lizenz
Bindung auf dem Server gespeichert
- Fingerabdruck wird serverseitig geprüft
- Verschlüsselte, signierte Antworten
- Strings und Dateien nur nach einem Treffer freigegeben
- Jede Abweichung wird protokolliert
qPapel Auth ist so aufgebaut. Jede Sitzung beginnt mit einem Schlüsselaustausch, der Datenverkehr ist verschlüsselt und signiert, Schlüssel und Gerät werden auf dem Server geprüft, und serverseitige Strings und Dateien werden nur an eine authentifizierte Lizenz ausgeliefert.
Was einen guten Hardware-Fingerabdruck ausmacht
Ein Fingerabdruck muss zwei Ziele ausbalancieren, die in entgegengesetzte Richtungen ziehen. Er muss eindeutig genug sein, damit sich zwei Rechner nicht ähneln, und stabil genug, dass gewöhnliche Wartung ihn nicht verändert.
| Ziel | Bei Übertreibung |
|---|---|
| Eindeutig pro Rechner | Triviale Änderungen, etwa ein neues USB-Gerät oder ein Treiber-Update, brechen die Bindung |
| Stabil über die Zeit | Zu wenige Eingaben, und verschiedene Rechner erzeugen denselben Fingerabdruck |
Gute Fingerabdrücke stützen sich auf Komponenten, die sich selten ändern, und kombinieren mehrere davon. So sperrt der Austausch eines einzelnen Teils den Kunden nicht sofort aus. Flüchtige Signale wie Netzwerkadapter, die kommen und gehen, Wechselmedien oder Anzeigeeinstellungen lässt man besser weg.
Welche Komponenten eine verlässliche Hardware-ID ergeben
Die meisten Fingerabdrücke greifen auf eine Handvoll Kennungen zurück, die das Betriebssystem bereitstellt. Jede bietet einen anderen Kompromiss zwischen Eindeutigkeit und der Häufigkeit, mit der sie sich im normalen Betrieb ändert.
| Komponente | Stabilität | Hinweise |
|---|---|---|
| Kennungen von Mainboard und BIOS | Hoch | Ändern sich nur, wenn das Mainboard ersetzt wird |
| Prozessor-Kennungen | Hoch | Bei identischen CPU-Modellen gleich, daher am besten mit anderen kombiniert |
| Kennungen des Systemlaufwerks | Mittel | Ändern sich, wenn die Systemplatte ersetzt oder neu formatiert wird |
| ID der Betriebssysteminstallation | Mittel | Ändert sich bei einer Neuinstallation |
| MAC-Adresse des Netzwerkadapters | Niedrig | Adapter kommen und gehen, und Adressen lassen sich per Software ändern |
Ein sinnvoller Fingerabdruck kombiniert zwei oder drei der stabilen Komponenten und lässt die flüchtigen weg. Manche Umsetzungen gehen weiter und tolerieren eine teilweise Übereinstimmung, damit allein ein neues Systemlaufwerk nicht als neuer Rechner zählt. Was Sie auch wählen, halten Sie es konsistent. Ändern Sie, wie Ihre Anwendung den Fingerabdruck erzeugt, kommt das faktisch einem Reset für alle Kunden gleichzeitig gleich.
Häufige Fehler bei der Umsetzung einer HWID-Sperre
Die meisten fehlerhaften HWID-Sperren scheitern auf wenige vorhersehbare Arten. Wenn Sie eine bestehende Umsetzung prüfen, schauen Sie zuerst hierauf.
- Der Antwort des Clients vertrauen. Entscheidet die Anwendung „Das ist der richtige Rechner“ und meldet es nur dem Server, lässt sich diese Entscheidung patchen. Der Server muss den Fingerabdruck selbst vergleichen.
- Die Bindung lokal speichern. Eine Lizenzdatei oder ein Registry-Schlüssel lässt sich mitsamt der darin enthaltenen Bindung auf einen anderen PC kopieren oder bearbeiten.
- Sich auf eine flüchtige Komponente verlassen. Ein Fingerabdruck allein aus einer MAC-Adresse sperrt Kunden aus, sobald sie einen neuen Adapter anschließen, und lässt sich trivial fälschen.
- Keinen Weg für Resets lassen. Ohne Reset-Weg wird jedes Hardware-Upgrade zu einem Support-Ticket und einem frustrierten Kunden.
- Rohe Kennungen senden. Seriennummern zu sammeln, die Sie nicht brauchen, wirft Datenschutzfragen auf, die Sie nicht haben wollen. Hashen Sie auf dem Gerät.
- Nichts Wichtiges absichern. Läuft die App vollständig ohne erfolgreiche Prüfung, müssen Angreifer die Prüfung nur überspringen, nicht besiegen.
So führen Sie HWID-Locking bei bestehenden Kunden ein
Eine Hardware-Sperre in eine Software einzubauen, die bereits zahlende Nutzer hat, erfordert etwas Sorgfalt. Kunden, die vor der Umstellung gekauft haben, sollten dafür nicht bestraft werden.
- 01
Beim nächsten Start binden
Behandeln Sie bestehende Schlüssel als ungebunden. Der erste Start nach dem Update bindet den Schlüssel an den Rechner, den der Kunde gerade nutzt, sodass am ersten Tag niemand ausgesperrt wird.
- 02
Kunden vor der Auslieferung informieren
Ein kurzer Hinweis im Changelog oder auf Discord, der erklärt, was sich ändert und wie man einen Reset anfordert, verhindert die meisten Support-Tickets.
- 03
Den Reset-Weg gleichzeitig öffnen
Stellen Sie sicher, dass Resets im Self-Service funktionieren, bevor das Update rausgeht, nicht erst nach den ersten Beschwerden.
- 04
Die ersten Wochen genau beobachten
Schlüssel, die plötzlich auf vielen Rechnern auftauchen, sind Ihre geteilten Schlüssel. Kontaktieren Sie den ursprünglichen Käufer oder sperren Sie den Schlüssel, je nach Ihrer Richtlinie.
Resets bearbeiten, ohne Kunden zu frustrieren
Ehrliche Kunden wechseln ihre Hardware. Sie tauschen ein Mainboard, installieren Windows neu oder ziehen auf einen neuen Laptop um. Wie Sie diesen Moment behandeln, entscheidet, ob sich HWID-Locking fair oder feindselig anfühlt.
- 01
Resets im Self-Service ermöglichen
Lassen Sie Kunden einen Reset über ein Kundenpanel anfordern, statt ein Ticket zu öffnen und zu warten.
- 02
Eine sinnvolle Wartezeit festlegen
Eine Wartezeit zwischen Resets pro Schlüssel erlaubt echten Kunden, den Rechner zu wechseln, und verhindert, dass ein Schlüssel jeden Tag zwischen PCs hin- und herspringt.
- 03
Sammel-Resets nutzen, wenn Sie etwas ändern
Nach einem größeren Windows-Update oder einer Änderung daran, wie Ihre eigene App den Fingerabdruck erzeugt, setzen Sie betroffene Schlüssel auf einmal zurück.
- 04
Auf Muster achten
Ein Reset im Jahr ist normal. Wöchentliche Resets desselben Schlüssels deuten meist auf Weitergabe hin, und dann ist der Moment gekommen, den Schlüssel zu sperren.
In qPapel Auth kommt die Hardware-Sperre mit Wartezeiten für Resets pro Nutzer. Das Kundenpanel lässt Käufer ihre Schlüsseldetails einsehen und Anfragen selbst senden. Allein diese Funktion nimmt den meisten Softwareanbietern einen großen Teil der Support-Tickets ab.
Mehrgeräte-Lizenzen
Nicht jede Lizenz sollte an genau einen Rechner gebunden sein. Ein Designer arbeitet vielleicht an einem Desktop-PC und einem Laptop, ein Studio kauft eine Lizenz für ein kleines Team. Geräte-Limits sind eine Produktentscheidung, keine technische. Derselbe Mechanismus bindet einen Schlüssel an einen Fingerabdruck oder an mehrere und lehnt das nächste Gerät ab, sobald das Limit erreicht ist.
- Ein Gerät passt zu günstigen Tools und zu allem, was häufig geteilt wird.
- Zwei oder drei Geräte passen zu Einzelpersonen, die einen Desktop und einen Laptop nutzen.
- Platzlizenzen funktionieren für Teams und werden oft über Reseller verkauft.
HWID-Locking wirkt am besten als eine Ebene von mehreren
Eine Hardware-Bindung beantwortet eine Frage gut. Angreifer, die einen Schlüssel nicht teilen können, probieren etwas anderes. Die Bindung sollte deshalb Teil eines größeren Kontrollsystems sein.
HWID-Bindung
Welcher Rechner diesen Schlüssel nutzen darf
Schlüsselsperren
Einen durchgesickerten Schlüssel überall auf einmal stoppen
Geräteverwaltung
Sehen, welche Computer welche Schlüssel nutzen, und ein Gerät sperren
Prozess- und Fenstersperrlisten
Bekannte Cracking- und Debugging-Tools blockieren, während Ihre App läuft
qPAnalyzer
Unbekannte Tools markieren, die Ihre Anwendung untersuchen
Statische Sperrlisten erfassen nur Tools, die Sie bereits kennen. Deshalb zählt die letzte Ebene. Mehr dazu lesen Sie unter Warum Reverse-Engineering-Schutz über statische Sperrlisten hinausgehen muss.
Häufig gestellte Fragen
Stoppen Sie die Weitergabe von Schlüsseln, ohne ehrliche Käufer zu treffen
Eine HWID-Sperre, die auf dem Server geprüft, während der Übertragung geschützt und mit fairen Resets kombiniert wird, gehört zu den Schutzmaßnahmen mit dem höchsten Ertrag, die ein Softwareanbieter ergänzen kann. Die Einbindung dauert einen Nachmittag, und sie verwandelt einen geteilten Schlüssel von verlorenem Umsatz in einen Eintrag im Protokoll.
qPapel-Security-Team
Lizenzierung und Softwareschutz