Zur verbalen Challenge/Response-Strategie: Mit diesem Ansatz lizenzieren wir seit mehr als zehn Jahren eine Nischenanwendung an fünftausend Arbeitsplätzen weltweit. Unser Support-Team nannte es "Raketen-Startcodes", weil es mit dem klassischen Raketenstart-Authentifizierungsverfahren vergleichbar ist, das bei alten Filmen zu beobachten ist.
Dies ist ein extrem zeitaufwendiger Weg, um Ihr Programm zu schützen. Es verbrauchte enorme Mengen an Zeit für unsere Mitarbeiter und Kunden, die die Codes von und zu den Benutzern lasen. Sie alle hassten es.
Ihre Situation/Ihr Kontext kann sich unterscheiden. Vielleicht werden Sie es nicht so oft benutzen wie wir. Aber hier sind einige Vorschläge:
vorsichtig die Länge und Inhalt des Codes berücksichtigen: die meisten Nutzer (und Support-Mitarbeiter) ärgern sich viele Zeichen eingeben. Viele Benutzer sind schlechte Schreibkräfte. Überlegen Sie, ob eine lange Zeichenfolge und die Berücksichtigung von Satzzeichen und Groß-/Kleinschreibung diese im Vergleich zur Menge der hinzugefügten Sicherheit unnötig belasten.
Nach Jahren der Verwendung einer verbalen Challenge/Response-Implementierung, haben wir es (als Fallback) an Ort und Stelle, aber fügte ein einfaches automatisiertes System. Wir entschieden uns für FTP zu verwenden, anstatt eine anspruchsvollere Web-Ansatz, so dass wir keine Software haben, hatte auf unserem hauseigenen Server ausgeführt wird (oder sich mit unserer IT-Mitarbeiter!)
Grundsätzlich verwenden wir FTP-Dateien für den Austausch, der zuvor am Telefon durchgeführt wurde. Der Server legt eine Datei auf dem FTP-Server mit der Challenge-Phrase ab. Der Name der Datei ist der Name des Kunden. Unsere Support-Mitarbeiter haben ein Programm, das diese Datei automatisch auf unserer FTP-Site erstellt.
Der Kunde wird von unseren Mitarbeitern angewiesen, einen Hotkey zu drücken, der die FTP-Datei liest, authentifiziert und eine Antwortdatei auf dem Server ablegt.
Die Software unseres Support-Personals hat abgefragt, bis die Software des Kunden die Antwortdatei erstellt hat. Wenn die Datei angezeigt wird, lädt sie sie herunter und bestätigt ihren Inhalt und löscht sie vom Server.
Sie können diesen Austausch natürlich so oft und in jeder Richtung durchführen, wie Sie in einer bestimmten Sitzung benötigen, um Ihre Ziele zu erreichen.
Die Daten in den Dateien können dieselben MD5-Schlüssel haben, die Sie verbal verwenden würden, damit sie so sicher sind, wie Sie möchten.
Eine Schwäche in diesem System ist, dass der Benutzer FTP-Zugriff haben muss. Wir haben festgestellt, dass die Mehrheit unserer Benutzer (alle Unternehmen) FTP-Zugang haben. (Natürlich kann Ihr Kundenstamm nicht ...) Wenn unsere Anwendung vor Ort nicht auf unsere FTP-Site zugreifen kann, wird das Problem klar angezeigt, sodass unser Kunde zu seinem IT-Personal gehen kann, um die Freigabe des Zugriffs zu beantragen. Inzwischen greifen wir einfach auf die verbalen Codes zurück.
Wir haben die einfachen Indy-FTP-Tools von Plain Vanilla ohne Probleme verwendet.
Zweifellos gibt es einige Schwächen in diesem Ansatz (wahrscheinlich einschließlich einige, an die wir nicht gedacht haben.) Aber für unsere Bedürfnisse war es fantastisch. Unsere Support-Mitarbeiter und Kunden lieben es.
Es tut uns leid, wenn nichts davon für Sie relevant ist. Hoffe das hilft dir einiges.
Sie können sich Software-Schutzkomponenten ansehen, die für Delphi verfügbar sind. – avra