der zuschützende Programmcode sollte im Idealfall nur auf einem "externem" sicheren System ausgeführt werden... verschlüsselt speichern und unverschlüsselt im
RAM ausführen bringt nix, wenn dann eine Tokenvirtualisierung wie bei Themida...
Wer das Hardwarekonzept nicht mag, der denke alternativ mal an eigene WebServices und RemoteProcedureCalls... dann ist der zu schützende Programmcode auch nur auf dem eigenem WebServer, nur die IO-Daten fliegen hin&her.
=> Und man sollte etwas genauer definieren, "was" man schützen will:
- nur die Verhinderung von unbezahlter (mehrfach) Nutzung
- den Programmcode an sich, also Schutz gegen echtes Debug und "ReversSource" vom Algo oder speziellen (Key)Daten
- oder "beides"
=> auch sollte bestimmt werden, ob welche Connectivität die Schutzlösung vorraussetzt
- nur online
- online und zeitweise(max wie lange?) offline
- auch 100% offline
=> letzter Punkt: was darf es Kosten?
- einmal, also Entwicklung, Implemeterung und Test
- was kostet es pro Kundenlizenz an Selbstkosten sowie bei ext. Zukauf pro Lizenz
- was wieviel ist der Kunde max. bereit "zusätzlich" zu zahlen(also z.B. einen HW-Dongle für die sichere offline Fähigkeit, oder einen OnlineKey als Backup wenn der HW-Dongle kaputt oder verloren)... und wie "verkaufe" ich ihm das damit er es "gerne" zahlt und sich nicht als böser Raubkopierer verdächtigt sieht)
- wie machen es die Mitbewerber und gibt es von bösen Leuten schon für andere oder eigenene Software "Patches" im INet oder in dafür bekannten Kreisen