Wir versuchen, für jede Funktion, die unsere Linux-Anwendung ausführt, einen Lizenzmechanismus anzubieten, und wir denken darüber nach, ihn über einen Lizenzserver zentral zu steuern:
Unser Ziel für die Lizenzierung ist:
Gibt es eine Server-Lizenz, die uns dies erlaubt (im Grunde würden wir Sockets verwenden, um mit unserer Anwendung zu kommunizieren)? Was können wir noch tun (zum Beispiel Open-Source-Software verwenden, lesen etc.), um loszulegen?
Müssen Sie wirklich "nach Hause telefonieren"?
Ich habe ein relativ schmerzloses Lizenzsystem gesehen, durch das dem Benutzer eine XML-Datei zur Verfügung gestellt wurde, die den Gültigkeitszeitraum der Lizenz, eine optionale IP-Adresse und die Liste der "entsperrten" Funktionen beschreibt. Eine digitale Signatur wurde mithilfe des privaten Schlüssels des Anbieters generiert, der erneut in die Lizenzdatei eingefügt wurde. Beim Start las die Anwendung die Lizenz, validierte sie, prüfte die IP und entspannte die Funktionen entsprechend.
Der Anbieter kann dem Client bei Bedarf neuere Lizenzen zur Verfügung stellen.
Obwohl Sie theoretisch die Lizenz täuschen könnten, indem Sie die lokale Zeit des Rechners ändern und mit der IP-Adresse fudging, hätte das in diesem Fall die Anwendung ziemlich umständlich gemacht, also war das kein Problem.
Wenn Sie wirklich einen Lizenzserver verwenden wollen, dann stellen Sie sicher, dass Ihre Anwendung nicht ständig Kontakt mit ihm aufnehmen muss, um die Nutzung zu autorisieren - dies führt zu einem Ende der Probleme, wenn Ihre Internetverbindung verloren geht oder Ihr Server ausfällt oder stürzt ab.
Ich würde vorschlagen, etwas zu haben, wo ein Schlüssel heruntergeladen und lokal gespeichert wird, wodurch die Anzahl der Rundreisen zum Server ständig reduziert wird. Der Schlüssel kann basierend auf den Maschinendetails des Benutzers verschlüsselt werden, sodass Schlüssel nicht gemeinsam genutzt werden können.
Wir haben den HASP Hardwareschlüssel in der Vergangenheit verwendet und obwohl er definitiv funktioniert und eine Lösung bietet, Ich glaube nicht, dass sie das sind, was du willst, denn sie sind einmal programmiert und das ist es. Beispielsweise könnten Sie den HASP-Schlüssel nicht aktualisieren, um eine Testphase zu beenden.
Es gibt Zeiten, in denen Software Schutz braucht - schauen Sie sich diese Leute hier an - sie bieten Hardware- und Softwarelösungen .
FLEXnet (früher bekannt als FLEXlm) ist ein Lizenzierungspaket, das häufig verwendet wird durch High-End- oder spezialisierte Softwarepakete, zum Beispiel im Markt für elektronische Designautomatisierung. Sie können eine Lizenz für einen einzelnen Computer (über eine Host-ID, normalerweise eine Ethernet-MAC-Adresse) oder einen tragbaren Hardware-Dongle sperren oder einen Netzwerkserver für die gemeinsame Nutzung eines begrenzten Pools gleichzeitiger Lizenzen für Clients verwenden, auf denen Ihre Software ausgeführt wird. Lizenzen können für eine begrenzte Zeit oder dauerhaft gewährt werden und können auch durch eine Versionsnummer begrenzt werden. Eine Lizenzdatei beschreibt die lizenzierten Funktionen.
FLEXnet enthält mehrere APIs zur Integration mit Ihrer Anwendung, einschließlich einer für C ++. Ich stelle mir vor, dass es Kryptografie mit öffentlichen Schlüsseln verwendet. Im Allgemeinen ruft eine Anwendung, die FLEXnet verwendet, nur dann "nach Hause" zu, wenn Sie sie über Ihre API-Nutzung anfordern. Viele Anwendungen überprüfen die Lizenz beim Start oder beim Reservieren einer Lizenz aus dem Pool für die Laufzeit der Anwendung.
Sie zahlen natürlich eine jährliche Lizenzgebühr, um FLEXnet in Ihren Produkten zu verwenden, beginnend bei über 1 Tsd. USD. Die Gebühr hängt vom Umsatz Ihres Unternehmens und von der Anzahl der Plattformen (OS / CPU-Kombination) ab, auf denen Ihr Lizenzierungsschema ausgeführt werden soll.
Ich würde sagen, es lohnt sich nicht, etwas wie FLEXnet zu verwenden, wenn Ihr Produkt weniger als mehrere tausend USD pro Sitz verkauft. Es ist beschwerlich zu verwenden (die Quelle eines guten Prozentsatzes von Supportanrufen für unser Unternehmen), aber Firmenkunden sind möglicherweise bereits vertraut mit der Verwendung, abhängig vom Markt.
FLEXnet, wie jedes DRM-Schema, von dem ich gehört habe, ist leicht zu knacken. Zumindest gehe ich davon aus, dass entsperrte Versionen unserer Produkte regelmäßig auf Warez-Seiten zu finden sind.
Dies ist so eine Dilbert-ähnliche Art, Dinge zu tun. Sag einfach Nein.
Obwohl es verhasst ist, ist dies ein Standardmerkmal in High-End-Spezialsoftware, die Zehntausende von Dollars kostet. Denk an 3D-Scanner und CNC Zeug.
Nachdem ich verschiedene Pakete verwendet habe, die solche Lizenzserver verwenden, kann ich Ihnen sagen, dass es eine sichere Möglichkeit ist, Ihre Software von ihren Benutzern allgemein zu hassen.
Wenn Sie vorhaben, selbst etwas zu programmieren, ist ein gängiger Mechanismus, den ich gesehen habe, die Lizenz an eine MAC-Adresse
Tags und Links c++ licensing networking trialware