Laden...

Wie sicher ist folgende Verschlüsselungs-Idee?

Erstellt von Regenwurm vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.405 Views
R
Regenwurm Themenstarter:in
295 Beiträge seit 2008
vor 13 Jahren
Wie sicher ist folgende Verschlüsselungs-Idee?

Hallo zusammen,

Wie vielleicht aus meinem letzten Thread [erledigt] Eigentliches Programm über eine Server-Applikation starten. herauszulesen war, probiere ich mein Programm vor unbefugtem Zugriff "zu schützen".

Nun, da ihr mir von der Methode des direkten Programmes über einen Launcher laden abgeraten habt, dachte ich mir, dass ich wichtige Packete die vom Server -> Client gesendet werden einfach verschlüssle.

Jetzt ist die Frage, wie sicher ist das Ganze?

Das Ganze ist so aufgebaut dass der Server & der Client einen identischen public Key besitzen (sei es mal 1234).

Sobald der Client sich nun mit dem Server verbindet, sendet der Server dem Client einen private key (der jedesmal neu & einzigartig generiert wird).
Dieser wird jedoch nicht roh übergeben, sondern mit dem public key verschlüsselt.
Alle weiteren wichtigen Packete die der Server dem Client senden muss, werden nun mit dem private key verschlüsselt.

Der Sinn dahinter wäre, dass niemand den Packetverlauf "einfach so" ablesen könnte.
Das einzige Problem was ich sehe ist, dass jemand irgendwie den hart gecodeten public key rausfindet. Ist das machbar?

Und wie sicher ist sonst das Ganze?

Gruss,
Regenwurm

ServiceStack & Angular = =)

799 Beiträge seit 2007
vor 13 Jahren

Ja natürlich ist das möglich. Denn irgendwo muss er im Code stehen und dort greift schon der Reflector.

Außerdem finde ich die Vorstellung, dass du einen fixen Public-Key hast der auf beiden Seiten gleich ist und dazu ständig einen neue Private-Keys ermittelst simpel gesagt abenteuerlich. (Gibt es da schon eine Implementierung?)

Außerdem: So wie ich das verstanden habe, werden die Pakete ja dann doch entschlüsselt damit sie verwendet werden können. An diesem Punkt kann dann sowieso jeder mitlesen.

As a man thinketh in his heart, so he is.

  • Jun Fan
    Es gibt nichts Gutes, außer man tut es.
  • Erich Kästner
    Krawutzi-Kaputzi
  • Kasperl
R
Regenwurm Themenstarter:in
295 Beiträge seit 2008
vor 13 Jahren

Der Client ist selbstverständlich obfuscated.
Ja, die Implementierung besteht bereits.

ok.. das ist natürlich - sch... 😉

gruss

ServiceStack & Angular = =)

1.457 Beiträge seit 2004
vor 13 Jahren

Hallo Regenwurm,

Ich würde das ganze überhaupt nicht selber schreiben, sondern die Funktion vom Betriebssystem nutzen.

Du kannst über Gruppenrichtlinien den kompletten Netzwerkverkehr verschlüsseln lassen und du selber musst dich nicht darum kümmern. Das wird z.B. auf den Buchhaltungsrechnern verwendet.

Z
403 Beiträge seit 2007
vor 13 Jahren

Hallo Regenwurm,

den Public key kann man irgendwie sowieso auslesen.
Darum ist er auch public.

Du kannst es aber so machen, das du Packete mit public key verschlüsselst die sich nur mit dem Private key entschlüsseln lassen 😃

Allerdings halte ich das ganze immernoch nicht für Sinnvoll 😃

mit einem Obfusktiertem code macht man es den leuten schon schwer genug.

André

X
1.177 Beiträge seit 2006
vor 13 Jahren

huhu,

Wenn dann gehst Du die Sache eh verkehrtherum an.

Wenn ich einen Public-Key von A besitze, dann kann ich damit etwas verschlüsseln, was nur noch mit dem Private-Key von A entschlüsselt werden kann.

Also müssen Server und Client die public-Keys tauschen. Das läuft dann z.B. so:

Server zu Client Kommunikation:
Server verschlüsselt mit pub-Key-Client => Client entschlüsselt mit PrivKeyClient
Client zu Server Kommunikation:
Client verschlüsselt mit pub-Key-Serve r=> Server entschlüsselt mit PrivKeyServer

Allerdings ist dann immer nur die Verbindung verschlüsselt. Die Daten lokal musst du ja entschlüsseln um sie nutzen zu können, damit sind sie zu diesem Zeitpunkt auch immer abgreifbar.

😃

Xynratron

PS: die Schlüssel kann man auch zur Laufzeit erzeugen und dann tauschen. Dann brauchts keine fix hinterlegten Schlüssel.

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.