Meine Anwendung trifft auf eine Reihe von Webdiensten wie Twitter und Flickr. Es verwendet API-Schlüssel von diesen Diensten, und ich möchte sie in meinen Binärdateien verschleiern. (Ich mache mir keine Sorgen wegen Piraterie oder irgendetwas, ich muss diese Schlüssel nur geheim halten.)
Was ist der beste Weg, um darüber zu gehen?
Wenn ich sie als const SecureString speichere, werden sie dadurch ausgeblendet der Erinnerung? Die MSDN-Beschreibung besagt, dass der Text "aus dem Arbeitsspeicher des Computers gelöscht wird, wenn er nicht mehr benötigt wird", aber nicht immer im Speicher gespeichert ist.
Wird Dotfuscator es in meiner Versammlung verdunkeln? (Angenommen, ich kann es zu Arbeit bringen.)
Ich musste mich kürzlich mit genau dieser Situation befassen. Das Problem besteht nicht darin, sicherzustellen, dass jemand es nicht einfach mit einem Hex-Editor finden kann, sondern wenn es über die Verbindung zu den verschiedenen APIs gesendet wird. Wenn Sie einfach Geiger laufen lassen und Anfragen beobachten, wird der Schlüssel trotzdem angezeigt. Einige APIs haben den Vorteil eines privaten / öffentlichen Schlüssels, der ein wenig hilft.
Die einzige Lösung, die ich mir vorstellen konnte, war, einen eigenen Webservice zu erstellen, der als Proxy zwischen dem Client und der Ziel-API fungierte. Dadurch konnte ich für jedes Endgerät individuelle Schlüssel generieren, die ich aktivieren / deaktivieren konnte, und die Mehrheit der sensiblen Daten wurde in meiner Remote-Proxy-Anwendung gespeichert.
Viel Glück!
~ "Vergessen Sie nicht, Ihren Ovaltine zu trinken"
Anon ist richtig, es gibt keine Möglichkeit, Daten vollständig zu schützen. jemand kann es immer verstehen.
Aber Sie möchten es so schwer wie möglich machen. Das bedeutet nicht, Dinge zu tun, die das Lesen erleichtern:
TwitterAPIKey REG_SZ
) twitterkey.txt
) oder in einer ini-Datei Dies wird Leute zurücklassen, die von einem Debugger und (möglicherweise) Assembler-Code wissen müssen.
Sie haben die Angriffsfläche stark reduziert.
Folge nur den ersten drei Vorschlägen und du wirst auf deinem Weg sein.
Tags und Links .net security obfuscation api-key dotfuscator