Andreas Rudischhauser schrieb:
ich verwende in einem Produkt eine Art "policy" welche regelt was der Kunde mit der App machen darf. Diese Datei ist als verschlüsselte XML Datei abgelegt. Nun ist es aber momentan so, das der Code zum Ver- und Entschlüsseln in der Assembly liegt, die der Kunde ja bekommt.
Schritt 1: Das Verschlüsseln nicht in der gleichen Assembly machen
Wäre dort nun .NET Knowhow vorhanden könnte der User die Assembly ansprechen um
sich seine eigene Policy zu erstellen, was ja nicht Sinn der Sache ist.
Wie kann ich diese Methode so schützen, das der Kunde sie nicht aufrufen kann, mein Policy-Generator aber schon?
Schritt 2: Nicht verschlüsseln, sondern signieren. Mit einem geheimen
Schlüssel signierst Du Deine Policy, und mit einem öffentlichen (passend
mit geheimen) kannst Du überprüfen ob die Unterschrift zum Dokument
passt (Vereinfacht gesagt eine Prüfsumme, nur im einiges sicherer) und
nur mit dem geheimen Schlüssen erzeugbar, nich mit dem öffentlichen.
Stichworte: Public Key Service, RSA, PGP, GPG
Sollte er sich nun seine Policy anpassen wird sie ungültig da die
Signatur nicht mehr passt, selber Signieren kann er sie nicht da im was
fehlt.
Leider weiß aktuell nicht wie sich das in .NET realisieren lässt, bin
aber sicher das es da Unterstützung in der Crypto API gibt.
Achso, hilft auch nichts gegen Cracks.
--
Freundliche Grüße
Albert Weinert
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net