Frage

Szenario:

Ein öffentlich zugänglicher Web-Service, die wir volle Kontrolle haben. Aber ich will nur diese spezifische Desktop-Anwendung (meine veröffentlichte Anwendung) Zugriff auf den Web-Service haben. Ich konnte in dem Desktop-Client ein geheimes Passwort speichern, aber das wäre leicht zu knacken.

Gibt es eine bekannte Implementierung, die diese erzwingt? PKI, assymmetric Schlüssel?

War es hilfreich?

Lösung

Wenn die Öffentlichkeit Zugang zu Kopien dieses Desktop-App hat, wird jeder guter Umkehrer der Lage sein, es zu knacken und „Imitat“ seine Geschäfte mit dem Server. Es doens't wie sicher ist Ihr Kryptographie, alles, was Sie app verschlüsseln muss / Entschlüsseln von Daten in den Binärdateien enthalten ist, so dass nur die Cracker es aus ihm heraus graben muss.

Das Ziel der Kryptographie ist, Daten zu schützen, während sie übertragen wird, von „Mitte-Mann“ Hacker, aber wenn Sie Zugang zu einem der Peers haben, können Sie diese leicht knacken.

Ihr Server muss nie darauf verlassen, was von der Client-Seite kommt.

[Bearbeiten Wiederaufnahme]

Trotz Sie können nicht zu 100% ein angeblicher Kunde garantiert zu Ihrem Server ist oder nicht Ihre App oder einige „Emulator“ von thirdies, können Sie die Dinge zu ihnen erschweren. Es ist eine gängige Praxis in Spiel anti-Betrüger manchmal zufällig, machen die Client-App einen Trick Frage wie „was ist der Hash Ihrer main.exe von Offset A B zu kompensieren?“ oder „von jetzt an Pakettyp 0x07 Swaps mit Paketart 0x5F“. Sobald eine Fälschung erkannt wird, Server in einem „dummen Modus“ eingeben, wirkt fehlgesteuerten und schwarze Liste ihr IP / Kontos auf diesen Modus für mehrere Stunden, so dass sie sich nicht sicher haben können, was ihr Programm falsch macht.

Wenn Sie feststellen, jemand baut ein Emulator, machen sie wieder ganz von vorne anfangen: Durcheinander der Pakettyp Tabellen, Kryptografie Tabellen, einige Paketformate ändern und Ihre Kunden zwingen, zu aktualisieren. Sie werden nicht sehen Cracker Sie für eine Weile stört ... LOL

Andere Tipps

WS-Security bietet für X509-Verschlüsselung.

Ein Teil dieser Implementierung umfasst die Möglichkeit, nur bestimmte Kunden den erzeugten öffentlichen Schlüssel geben. Auf diese Weise nur Ihre ausgewählten Kunden an den Service verbinden kann.

Der einfachste Weg ist die Nachrichtensicherheit mit Client- und Serverzertifikaten. Der beste Weg ist, um die Client-Zertifikate in Ihren Server-Maschinen und Fest Code die Client-Zertifikat Fingerabdrucks in der app.config-Datei zu importieren. Der andere Weg ist Aushandlung von certs, die ich vorher nicht versucht haben.

Wenn Sie IIS mit dem Service dann Client-Zertifikate Host SSL mit einer anderen Option ist.

MSDN Link auf WCF Sicherheit .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top