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

Antwort per Email an