Wie werden Softwarelizenzschlüssel generiert?

361

Lizenzschlüssel sind der Defacto-Standard als Maßnahme gegen Piraterie. Um ehrlich zu sein, erscheint mir dies als (in) Sicherheit durch Dunkelheit , obwohl ich wirklich keine Ahnung habe, wie Lizenzschlüssel generiert werden. Was ist ein gutes (sicheres) Beispiel für die Generierung von Lizenzschlüsseln? Welches kryptografische Grundelement (falls vorhanden) verwenden sie? Ist es ein Message Digest? Wenn ja, welche Daten würden sie hashen? Welche Methoden setzen Entwickler ein, um es Crackern zu erschweren, ihre eigenen Schlüsselgeneratoren zu bauen? Wie werden Schlüsselgeneratoren hergestellt?

Turm
quelle
8
+1 interessante Frage, vielleicht kann ein Antwortender Links zu guten Ressourcen zu diesem Thema zur weiteren Lektüre posten? bitte :)
Jacob
44
Alle DRM-Schemata sind im Wesentlichen Unklarheitsschemata, da der gesamte Code und die Daten, die für die Ausführung des Programms erforderlich sind, dem Benutzer bereitgestellt wurden. Das Schema kann willkürlich verschleiert werden, um das Patchen zu erschweren. Es ist jedoch sicher, dass der Code gepatcht werden kann, um eine Überprüfung zu vermeiden.
Café
5
CD-Keys sind in der Tat Sicherheit durch Dunkelheit. Es gibt verschiedene Möglichkeiten, sie zu erstellen, aber alle müssen unbedingt ein Geheimnis in das Programm einbetten, das zur Überprüfung des Schlüssels erforderlich ist.
Nick Johnson
4
Sie werden jetzt als Produktschlüssel oder Lizenzschlüssel bezeichnet , da die meisten Softwareprodukte, die sie verwenden, eher online als per CD geliefert werden.
Joel Coehoorn
4
Ich möchte eines Tages eine App erstellen, in der ich mir Sorgen um diesen Kindheitstraum machen muss. Web-Apps schneiden es einfach nicht.
Znarkus

Antworten:

268

Bei CD-Schlüsseln der alten Schule ging es nur darum, einen Algorithmus zu entwickeln, für den CD-Schlüssel (bei denen es sich um eine beliebige Zeichenfolge handeln kann) leicht zu generieren und zu überprüfen sind, aber das Verhältnis von gültigen CD-Schlüsseln zu ungültigen CDs -keys ist so klein, dass es unwahrscheinlich ist, dass Sie nach dem Zufallsprinzip CD-Keys erhalten.

Falsche Vorgehensweise:

Starcraft und Half-Life verwendeten beide dieselbe Prüfsumme, wobei die 13. Ziffer die ersten 12 bestätigte. Sie konnten also alles für die ersten 12 Ziffern eingeben und die 13. (es gibt nur 10 Möglichkeiten) erraten, was zur berüchtigten führte1234-56789-1234

Der Algorithmus zur Überprüfung ist öffentlich und sieht ungefähr so ​​aus:

x = 3;
for(int i = 0; i < 12; i++)
{
    x += (2 * x) ^ digit[i];
}
lastDigit = x % 10;

RICHTIGER WEG, ES ZU TUN

Windows XP nimmt eine ganze Reihe von Informationen auf, verschlüsselt sie und bringt die Buchstaben- / Zahlencodierung auf einem Aufkleber an. Auf diese Weise konnte MS gleichzeitig Ihren Schlüssel überprüfen und den Produkttyp (Home, Professional usw.) abrufen. Darüber hinaus ist eine Online-Aktivierung erforderlich.
Der vollständige Algorithmus ist ziemlich komplex, wird aber in diesem (völlig legalen!) Artikel, der in Deutschland veröffentlicht wurde, gut umrissen .

Unabhängig davon, was Sie tun, ist jede Art von Kopierschutz nur ein Stillstand , es sei denn, Sie bieten einen Onlinedienst (wie World of Warcraft ) an. Wenn es sich um ein Spiel handelt, das einen Wert hat, wird leider jemand kaputt gehen (oder zumindest umgehen) ) den CD-Key-Algorithmus und alle anderen Urheberrechtsschutzbestimmungen.

REAL richtige Weg , es zu tun:

Für Online-Dienste ist das Leben etwas einfacher, da Sie sich selbst mit der Binärdatei bei ihren Servern authentifizieren müssen, um sie nutzen zu können (z. B. über ein WoW-Konto). Der CD-Key-Algorithmus für World of Warcraft, der beispielsweise beim Kauf von Spielzeitkarten verwendet wird, sieht wahrscheinlich ungefähr so ​​aus:

  1. Generieren Sie eine sehr große kryptografisch sichere Zufallszahl.
  2. Speichern Sie es in unserer Datenbank und drucken Sie es auf die Karte.

    Wenn jemand eine Spielkartennummer eingibt, überprüfen Sie, ob diese in der Datenbank enthalten ist, und ordnen Sie diese Nummer dem aktuellen Benutzer zu, damit sie nie wieder verwendet werden kann.

Für Online-Dienste gibt es keinen Grund , das oben genannte Schema nicht zu verwenden. Die Verwendung anderer Elemente kann zu Problemen führen .

BlueRaja - Danny Pflughoeft
quelle
47
Mathematica hat einen interessanten Prozess. Das Produkt wird mit einem eindeutigen Schlüssel geliefert, und die Installationsdatei generiert einen zweiten eindeutigen Schlüssel (basierend auf Ihrer Hardware). Diese beiden Schlüssel müssen in ein Online-Formular mit Ihrem Namen und Ihren Registrierungsinformationen eingegeben werden. Anschließend erhalten Sie den echten Schlüssel basierend auf den beiden Schlüsseln, mit denen die Software tatsächlich entsperrt wird, jedoch nur für diesen bestimmten Produktschlüssel und auf Ihrer spezifischen Hardware.
Dan
18
Heh, ich wusste nie über den 1234-56789-1234Starcraft-Schlüssel Bescheid , aber ich erinnere mich, dass es nur etwa fünf Minuten dauerte, um den Verifizierer "brutal zu erzwingen", indem ich auf die Tastatur drückte und es erneut versuchte.
Mark
18
Ich erinnere mich auch an einige Microsoft-Produkte in der Vergangenheit, mit denen Sie 111-1111111 als gültigen CD-Key (Visual Studio 6.0) verwenden können
hannson
25
Ich wusste nie über 1234-56789-1234. Stattdessen haben wir dreizehn Dreien verwendet! 3333333333333
ErikTJ
33
Das Problem bei der Online-Aktivierung ist, dass wir alle durcheinander sind, wenn der Verlag sein Geschäft aufgibt. Bitte tu das nicht. Dies passiert und kann / wird eines Tages sogar Microsoft passieren.
Brad
56

Als ich diese Antwort ursprünglich schrieb, wurde davon ausgegangen, dass es sich um eine Offline-Validierung von Lizenzschlüsseln handelte. Die meisten anderen Antworten beziehen sich auf die Online-Überprüfung, die wesentlich einfacher zu handhaben ist (der größte Teil der Logik kann serverseitig erfolgen).

Bei der Offline-Überprüfung ist es am schwierigsten sicherzustellen, dass Sie eine große Anzahl eindeutiger Lizenzschlüssel generieren und dennoch einen starken Algorithmus beibehalten können, der nicht leicht kompromittiert werden kann (z. B. eine einfache Prüfziffer).

Ich bin nicht sehr gut mit Mathematik vertraut, aber es ist mir aufgefallen, dass eine Möglichkeit, dies zu tun, darin besteht, eine mathematische Funktion zu verwenden , die einen Graphen darstellt

Die gezeichnete Linie kann (wenn Sie eine ausreichend feine Frequenz verwenden) Tausende eindeutiger Punkte haben, sodass Sie Schlüssel generieren können, indem Sie zufällige Punkte in diesem Diagramm auswählen und die Werte auf irgendeine Weise codieren

Geben Sie hier die Bildbeschreibung ein

Als Beispiel zeichnen wir dieses Diagramm, wählen vier Punkte aus und codieren in eine Zeichenfolge als "0, -500; 100, -300; 200, -100; 100.600".

Wir verschlüsseln die Zeichenfolge mit einem bekannten und festen Schlüssel (schrecklich schwach, aber er erfüllt einen Zweck) und konvertieren dann die resultierenden Bytes über Base32 , um den endgültigen Schlüssel zu generieren

Die Anwendung kann diesen Vorgang dann umkehren (base32 auf reelle Zahl umstellen, entschlüsseln, die Punkte entschlüsseln) und dann überprüfen, ob sich jeder dieser Punkte in unserem geheimen Diagramm befindet.

Es ist eine relativ kleine Menge an Code, mit der eine große Anzahl eindeutiger und gültiger Schlüssel generiert werden kann

Es ist jedoch sehr viel Sicherheit durch Dunkelheit. Jeder, der sich die Zeit nimmt, um den Code zu zerlegen, kann die Grafikfunktion und die Verschlüsselungsschlüssel finden und dann einen Schlüsselgenerator nachahmen, aber dies ist wahrscheinlich sehr nützlich, um die gelegentliche Piraterie zu verlangsamen.

PaulG
quelle
6
Nein, Erik würde es nicht. X ist eine ganze Zahl und Y ist der Boden der Funktion.
Joshua
Dies ist nicht anders als die alte Satellitennavigation vor dem GPS! youtube.com/watch?v=BBOsQBuCJfs
Brad
34

Lesen Sie diesen Artikel zur teilweisen Schlüsselüberprüfung, der die folgenden Anforderungen abdeckt:

  • Lizenzschlüssel müssen einfach einzugeben sein.

  • Bei Rückbuchungen oder Einkäufen mit gestohlenen Kreditkarten müssen wir in der Lage sein, einen Lizenzschlüssel auf die schwarze Liste zu setzen (zu widerrufen).

  • Kein "Telefonieren nach Hause" zum Testen von Schlüsseln. Obwohl diese Praxis immer häufiger wird, schätze ich sie als Benutzer immer noch nicht und werde meine Benutzer nicht bitten, sich damit abzufinden.

  • Es sollte einem Cracker nicht möglich sein, unsere freigegebene Anwendung zu zerlegen und daraus einen funktionierenden „Keygen“ zu erstellen. Dies bedeutet, dass unsere Anwendung einen Schlüssel zur Überprüfung nicht vollständig testet. Nur ein Teil des Schlüssels soll getestet werden. Außerdem sollte jede Version der Anwendung einen anderen Teil des Schlüssels testen, damit ein falscher Schlüssel, der auf einer früheren Version basiert, bei einer späteren Version unserer Software nicht funktioniert.

  • Wichtig: Es sollte einem legitimen Benutzer nicht möglich sein, versehentlich einen ungültigen Schlüssel einzugeben, der anscheinend funktioniert, bei einer zukünftigen Version jedoch aufgrund eines Tippfehlers fehlschlägt.

Der Surrican
quelle
21

Ich habe keine Erfahrung damit, was die Leute tatsächlich tun, um CD-Keys zu generieren, aber (vorausgesetzt, Sie möchten nicht den Weg der Online-Aktivierung beschreiten) hier sind einige Möglichkeiten, wie man einen Schlüssel erstellen kann:

  • Erfordern, dass die Zahl durch (sagen wir) 17 teilbar ist. Es ist trivial zu erraten, ob Sie Zugriff auf viele Schlüssel haben, aber die Mehrheit der potenziellen Zeichenfolgen ungültig ist. Ähnlich wäre es, wenn die Prüfsumme des Schlüssels mit einem bekannten Wert übereinstimmt.

  • Es ist erforderlich, dass die erste Hälfte des Schlüssels, wenn sie mit einem bekannten Wert verknüpft ist, auf die zweite Hälfte des Schlüssels heruntergefahren wird. Besser, aber das Programm enthält immer noch alle Informationen, die zum Generieren und Validieren von Schlüsseln erforderlich sind.

  • Generieren Sie Schlüssel, indem Sie (mit einem privaten Schlüssel) einen bekannten Wert + nonce verschlüsseln. Dies kann überprüft werden, indem mit dem entsprechenden öffentlichen Schlüssel entschlüsselt und der bekannte Wert überprüft wird. Das Programm verfügt jetzt über genügend Informationen, um den Schlüssel zu überprüfen, ohne Schlüssel generieren zu können.

Diese sind immer noch alle für Angriffe offen: Das Programm ist noch vorhanden und kann gepatcht werden, um die Prüfung zu umgehen. Cleverer könnte es sein, einen Teil des Programms mit dem bekannten Wert meiner dritten Methode zu verschlüsseln, anstatt den Wert im Programm zu speichern. Auf diese Weise müssten Sie eine Kopie des Schlüssels finden, bevor Sie das Programm entschlüsseln können. Es ist jedoch weiterhin anfällig, nach dem Entschlüsseln kopiert zu werden und eine Person ihre legitime Kopie entnehmen zu lassen, damit alle anderen auf die Software zugreifen können.

Andrew Aylett
quelle
9
Ich wünschte wirklich , wer auch immer mit der ‚Nummer verwendet einmal‘ kommen musste , was Nonce als Name nicht gewählt hatte, die gegebenen ahem negativen Konnotationen , die mich jedes Mal , wenn jemand eine schlägt die Verschlüsselung kichern.
Ed James
2
Beachten Sie, dass die dritte Option nicht mit Verschlüsselungen mit symmetrischen Schlüsseln funktioniert, da der Angreifer den Test für den Klartext einfach rückgängig machen, etwas generieren und dann mit dem (bekannten) Schlüssel und der (bekannten) Verschlüsselung verschlüsseln kann. Die Verwendung einer selbstgebrauten Chiffre ist keine Lösung, denn wenn Sie es selbst richtig machen können, sollten Sie einen Job bei der NSA bekommen.
BCS
@BCS: Entschuldigung, ich hätte klarer über die Verwendung von Krypto mit öffentlichem Schlüssel sprechen sollen.
Andrew Aylett
Verwenden Sie ein Signaturschema, kein Verschlüsselungsschema für die Public-Key-Version. (Die RSA-Signatur sieht ein bisschen wie "Verschlüsselung mit dem öffentlichen Schlüssel" aus, ist aber nicht ganz dasselbe. Es gibt andere Signaturschemata, denen kein Verschlüsselungsschema zugeordnet ist, wie DSA.)
Paŭlo Ebermann,
Das Problem mit Krypto mit öffentlichem Schlüssel ist, dass Schlüssel (und damit Serien) lang sein müssen. Ein 512-Bit-RSA-Schlüsselpaar ist heutzutage nicht schwer zu knacken. Vergleichen Sie mit den WinXP-Schlüsseln (5 Gruppen mit 5 alphanumerischen Zeichen), die nur 128 Entropiebits haben, aber immer noch
Probleme
17

CD-Keys sind keine große Sicherheit für nicht vernetzte Inhalte, daher müssen sie technisch nicht sicher generiert werden. Wenn Sie auf .net sind, können Sie fast mit Guid.NewGuid () gehen.

Ihre Hauptanwendung ist heutzutage die Multiplayer-Komponente, bei der ein Server den CD-Key überprüfen kann. Aus diesem Grund ist es unwichtig, wie sicher es generiert wurde, da es sich um "Nachschlagen, was auch immer übergeben wird, und prüfen Sie, ob es bereits von jemand anderem verwendet wird" handelt.

Abgesehen davon möchten Sie vielleicht einen Algorithmus verwenden, um zwei Ziele zu erreichen:

  • Haben Sie eine Prüfsumme. Auf diese Weise kann Ihr Installationsprogramm die Meldung "Schlüssel scheint nicht gültig zu sein" anzeigen, nur um Tippfehler zu erkennen. (Das Hinzufügen einer solchen Überprüfung im Installationsprogramm bedeutet tatsächlich, dass das Schreiben eines Schlüsselgenerators trivial ist, da der Hacker über den gesamten Code verfügt, den er benötigt Wenn Sie überprüfen und sich ausschließlich auf die serverseitige Validierung verlassen, werden diese Überprüfungen deaktiviert, und es besteht die Gefahr, dass Ihre legalen Kunden, die nicht verstehen, warum der Server ihren CD-Key nicht akzeptiert, da sie den Tippfehler nicht kennen, gestört werden.
  • Arbeiten Sie mit einer begrenzten Teilmenge von Zeichen. Der Versuch, einen CD-Key einzugeben und zu erraten: "Ist das eine 8 oder ein B? Eine 1 oder ein I? Ein Q oder ein O oder eine 0?" - Indem Sie eine Teilmenge nicht mehrdeutiger Zeichen / Ziffern verwenden, beseitigen Sie diese Verwirrung.

Davon abgesehen möchten Sie immer noch eine große Verteilung und eine gewisse Zufälligkeit, um zu vermeiden, dass ein Pirat einfach einen gültigen Schlüssel errät (der in Ihrer Datenbank gültig ist, sich aber immer noch in einer Schachtel in einem Ladenregal befindet) und einen legitimen Kunden überlistet, der diese Schachtel zufällig kauft .

Michael Stum
quelle
leicht zu lösen durch guten Kundenservice - Box Shot + Kaufnachweis = Sperren Illegaler Benutzer, Zugriff für zweiten Benutzer gewähren.
Alexanderpas
1
Hier sind ein paar zusätzliche Gedanken zu CD-Keys. Codinghorror.com/blog/2007/12/software-registration-keys.html
Richard Chambers
10

Wenn Sie sich nicht besonders mit der Länge des Schlüssels befassen, ist die Verwendung der Verschlüsselung mit öffentlichen und privaten Schlüsseln eine ziemlich bewährte Methode.

Im Wesentlichen haben eine Art Nonce und eine feste Signatur.

Zum Beispiel: 0001-123456789

Wobei 0001 Ihre Nonce und 123456789 Ihre feste Signatur ist.

Verschlüsseln Sie dies dann mit Ihrem privaten Schlüssel, um Ihren CD-Schlüssel zu erhalten, der ungefähr so ​​lautet: ABCDEF9876543210

Verteilen Sie dann den öffentlichen Schlüssel mit Ihrer Anwendung. Mit dem öffentlichen Schlüssel kann der CD-Schlüssel "ABCDEF9876543210" entschlüsselt werden, von dem Sie dann den festen Signaturteil überprüfen.

Dies verhindert dann, dass jemand errät, was der CD-Schlüssel für das Nonce 0002 ist, da er nicht über den privaten Schlüssel verfügt.

Der einzige große Nachteil ist, dass Ihre CD-Keys bei Verwendung von privaten / öffentlichen Schlüsseln mit einer Größe von 1024 Bit ziemlich lang sind. Sie müssen auch eine Nonce lange genug auswählen, damit Sie keine triviale Menge an Informationen verschlüsseln.

Die gute Seite ist, dass diese Methode ohne "Aktivierung" funktioniert und Sie Dinge wie eine E-Mail-Adresse oder einen Lizenznehmernamen als Nonce verwenden können.

userx
quelle
1
Bitte beachten Sie, dass mein Beispiel die Länge Ihres Schlüssels stark unterschätzt. Diese Schemata erfordern normalerweise eine Base64-Codierung und eine Bereitstellung zum Kopieren / Einfügen, ermöglichen jedoch nahezu unmöglich zu erratende Schlüssel, die nicht an einen Computer gebunden sind und keine Aktivierung erfordern (zwei Dinge, die für viele Kundentypen sehr wichtig sind)
userx
3
Anstelle von RSA können Sie auch elliptische Kurven verwenden. Sie verwenden kürzere Schlüssel und ihre Blocklänge ist kleiner. Beim Lesen des
Wikis
Bitte beachten Sie, dass digitale Signaturen und "Verschlüsselung mit privatem Schlüssel" nicht dasselbe sind. In RSA sehen sie ähnlich aus (obwohl dies aufgrund unterschiedlicher Auffüllschemata nicht der Fall ist), andere Signaturschemata haben nicht einmal ein entsprechendes Verschlüsselungsschema.
Paŭlo Ebermann
@xanatos, 256 Bit sind immer noch zu lang, um von Hand eingegeben zu werden. Betrachten Sie die von WinXP verwendeten 25-stelligen Schlüssel - sie haben nur 128 Entropiebits.
Finnw
1
@Mark - Eine Signatur ist normalerweise nur ein verschlüsselter Hash. Sie können Verschlüsselung oder Signatur verwenden, meine Methode funktioniert genauso. Sie versuchen nur, einen Lizenzschlüssel zu erstellen, der ohne den privaten Schlüssel nicht einfach generiert und durch den öffentlichen Schlüssel überprüft werden kann. Dies kann die gesamte Nachricht verschlüsselt sein (und Sie überprüfen, ob ein Teil des Inhalts mit etwas Magischem übereinstimmt) oder einfach eine signierte Nachricht (und Sie überprüfen, ob die Signatur gültig ist). Es liegt an Ihrer Implementierung.
Userx
9

Das Schlüsselsystem muss mehrere Eigenschaften haben:

  • Es müssen nur sehr wenige Schlüssel gültig sein
  • Gültige Schlüssel dürfen auch bei allem, was der Benutzer hat, nicht ableitbar sein.
  • Ein gültiger Schlüssel auf einem System ist kein gültiger Schlüssel auf einem anderen.
  • Andere

Eine Lösung, die Ihnen diese bieten sollte, wäre die Verwendung eines Signaturschemas für öffentliche Schlüssel . Beginnen Sie mit einem "System-Hash" Umgang mit personenbezogenen Daten, wenn Sie nicht)) die Seriennummer der CD anhängen und den Start verweigern müssen, es sei denn, ein Registrierungsschlüssel (oder eine Datendatei) hat eine gültige Signatur für den Blob. Der Benutzer aktiviert das Programm, indem er den Blob an Sie sendet und Sie die Signatur zurücksenden.

Mögliche Probleme sind, dass Sie anbieten, praktisch alles zu signieren, sodass Sie davon ausgehen müssen, dass jemand einen ausgewählten Klartext- und / oder einen ausgewählten Chiffretext- Angriff ausführt . Dies kann gemindert werden, indem die angegebene Seriennummer überprüft und die Bearbeitung ungültiger Anfragen sowie die Bearbeitung von mehr als einer bestimmten Anzahl von Anfragen aus einem bestimmten S / N in einem Intervall (z. B. 2 pro Jahr) verweigert wird.

Ich möchte auf einige Dinge hinweisen: Erstens kann ein erfahrener und entschlossener Angreifer alle Sicherheitsvorkehrungen in den Teilen umgehen, auf die er uneingeschränkten Zugriff hat ( dh auf alles auf der CD). Das Beste, was Sie in diesem Zusammenhang tun können, ist Machen Sie es schwieriger, einen illegitimen Zugang zu erhalten, als einen legitimen Zugang. Zweitens bin ich kein Experte, daher könnte dieses vorgeschlagene Schema schwerwiegende Mängel aufweisen.

BCS
quelle
1

Es gibt auch DRM-Verhaltensweisen, die mehrere Schritte in den Prozess einbeziehen. Eines der bekanntesten Beispiele ist eine der Methoden von Adobe zur Überprüfung einer Installation der Creative Suite. Die hier beschriebene traditionelle CD-Key-Methode wird verwendet. Anschließend wird die Support-Linie von Adobe aufgerufen. Der CD-Schlüssel wird dem Adobe-Vertreter übergeben und er gibt eine Aktivierungsnummer zurück, die vom Benutzer verwendet werden soll.

Trotz der Aufteilung in Stufen fällt dies jedoch den gleichen Crackmethoden zum Opfer, die für den normalen Prozess verwendet wurden. Der Prozess zum Erstellen eines Aktivierungsschlüssels, der mit dem ursprünglichen CD-Schlüssel verglichen wird, wurde schnell erkannt, und Generatoren, die beide Schlüssel enthalten, wurden erstellt.

Diese Methode ist jedoch weiterhin eine Möglichkeit für Benutzer ohne Internetverbindung, das Produkt zu überprüfen. In Zukunft ist leicht zu erkennen, wie diese Methoden beseitigt werden, wenn der Internetzugang allgegenwärtig wird.

Sean
quelle
1

Alle Nur-CD-Kopierschutzalgorithmen stören ehrliche Benutzer und bieten keinerlei Schutz vor Piraterie.

Der "Pirat" muss nur Zugriff auf eine legitime CD und deren Zugangscode haben, er kann dann n Kopien erstellen und diese verteilen.

Es spielt keine Rolle, wie kryptografisch sicher Sie den Code erstellen. Sie müssen die CD im Klartext bereitstellen, da ein legitimer Benutzer die Software nicht aktivieren kann.

Bei den meisten sicheren Schemata stellt der Benutzer dem Softwarelieferanten entweder einige Details des Computers zur Verfügung, auf dem die Software ausgeführt wird (CPU-Seriennummern, Mac-Adressen, IP-Adresse usw.), oder er benötigt einen Online-Zugriff, um die Software auf der Website des Lieferanten und zu registrieren im Gegenzug erhalten Sie einen Aktivierungs-Token. Die erste Option erfordert viel manuelle Verwaltung und lohnt sich nur für sehr hochwertige Software. Die zweite Option kann gefälscht werden und ist absolut ärgerlich, wenn Sie nur eingeschränkten Netzwerkzugriff haben oder hinter einer Firewall stecken.

Im Großen und Ganzen ist es viel einfacher, eine Vertrauensbeziehung zu Ihren Kunden aufzubauen!

James Anderson
quelle
0

Sie können die Secure Licensing API von ( https://www.nuget.org/packages/SystemSoulLicense/ ) sehr einfach in Ihren Softwareprojekten verwenden und implementieren (Sie müssen die Desktop-Anwendung herunterladen, um eine sichere Lizenz von https zu erstellen : / /www.systemsoulsoftwares.com/ ) 1. Erstellt eine eindeutige UID für Client-Software basierend auf Systemhardware (CPU, Motherboard, Festplatte) (UID fungiert als privater Schlüssel für dieses eindeutige System). 2. Ermöglicht das einfache Senden einer verschlüsselten Lizenzzeichenfolge an das Client-System. Überprüft die Lizenzzeichenfolge und funktioniert nur auf diesem bestimmten System 3. Mit dieser Methode können Softwareentwickler oder Unternehmen mehr Informationen über Software- / Entwickler- / Distributorendienste / -funktionen / -client 4 speichern. Sie ermöglicht das Sperren und Entsperren der Client-Softwarefunktionen, wodurch Zeit für Entwickler gespart wird Erstellen einer weiteren Version für dieselbe Software mit sich ändernden Funktionen 5. Die Testversion wird auch für eine beliebige Anzahl von Tagen berücksichtigt. 6. Sie sichert die Lizenzzeitleiste, indem DateTime online während der Registrierung überprüft wird. 7. Alle Hardwareinformationen werden für Entwickler freigeschaltet. 8.Es verfügt über alle vorgefertigten und benutzerdefinierten Funktionen, auf die Entwickler bei jedem Lizenzierungsprozess zugreifen können, um komplexeren sicheren Code zu erstellen

Prashant Manjule
quelle