Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Chat-Protokoll: Sichere Verschlüsselung (https://www.delphipraxis.net/125588-chat-protokoll-sichere-verschluesselung.html)

EugenB 8. Dez 2008 23:10


Chat-Protokoll: Sichere Verschlüsselung
 
Hey,

ich werde in nächster Zeit nen eigenen IM entwickeln.

Und überlege mir grade wie ich den Versand "Sicher" machen kann.

Ein Kommando wäre zB dann mittels Hybrid-RSA-Verfahren so am "aussehen"
<RSA-Crypted PassKey> <PassKey-Crypted MSG> //vllt noch ne Hash?

der RSA-Public-Key hat 2048 Bit :), müsste für die nächsten Jahre reichen^^

Jedoch glaube wird das auch nich so sonderlich sicher sein , weil der RSA-Public-Key ist ja dann für jeden zugänglich und nen Man-In-The-Middle (oder wie man das nennt :)) Angriff, der ne Fake <PassKey-Crypted MSG> abschickt, und diese auch noch richtig ist, ist es nicht gut ^^ und dann wars mit der Sicherheit

Wie kann ich erreichen das die Daten die auch richtig, vom Richtigen Computer / Server kommen?

Gibt es noch irgendwelche Verfahren die es dann wirklich sicher machen können?

Denke mal hier haben sich einige schon damit beschäftigt :), lasst mich an eurem Wissen teil haben :)

MfG,
Eugen

generic 8. Dez 2008 23:15

Re: Chat-Protokoll: Sichere Verschlüsselung
 
warum willst du das rad neu erfinden.
es gibt hunderte von im.

es gibt für z.b. miranda auch pgp plugins.
jabber clients können das auch.

Relicted 9. Dez 2008 08:02

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Moin,

wie wär's mit nem Diffie Hellmann in Kombination mit Message Authentication Codes? Ist zwar ned 100%ig sicher aber für nen IM sollte das ausreichen...

Sonst gibts noch die Möglichkeit über Zertifikate... aber die muss man auch erstmal sicher zum Gegenüber transportiert bekommen. Und das is dann eher schwierig übers Netz ;-)

Gruß
reli

EugenB 9. Dez 2008 12:07

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Zitat:

Zitat von generic
warum willst du das rad neu erfinden.

Weil ich es möchte ;)

Zitat:

Zitat von Relicted
Moin,

wie wär's mit nem Diffie Hellmann in Kombination mit Message Authentication Codes? Ist zwar ned 100%ig sicher aber für nen IM sollte das ausreichen...

Sonst gibts noch die Möglichkeit über Zertifikate... aber die muss man auch erstmal sicher zum Gegenüber transportiert bekommen. Und das is dann eher schwierig übers Netz ;-)

Gruß
reli

Habe mir mal den Diffie Hellman durchgelesen aber irgendwie versteh ich nicht was da eigentlich gemacht wird, ist ja sehr ähnlich mit RSA oder?

Die Message Authentication Codes sind ja auch recht gut, ich denke mal die werde ich auch benutzen, dann mittels SHA1 ein Hash-Wert des zu sendenen Textes bilden, diesen Hash-Wert dann mit der RSA-Signatur verschlüsseln und das Ziel kann diesen dann mit dem Public-Key entschlüsseln.

Dadurch sind die Nachrichten also schon mal etwas sicherer, solange der Angreifer nicht den Private-Key in die finger bekommt, richtig?

MfG,
Eugen

Relicted 9. Dez 2008 12:57

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Einen private Key in die Finger zu bekommen ist eher schwierig :-) Das ist ja der Sinn und Zweck der Sache.

Ok... das Diffie-Hellmann Verfahreden ist dafür da um einen gemeinsamen Schlüssel zu generieren. Man kann sich das Verfahren recht einfach vorstellen:

Du hast 2 Köche. Beide kochen zusammen eine Suppe. Schmeissen irgendwas rein und alle können zuschauen.
Zitat:

1. Die Kommunikationspartner einigen sich zunächst auf eine Primzahl p und eine Primitivwurzel g modulo p mit 2 <= g <= p-2. Diese Parameter müssen nicht geheim bleiben, können also insbesondere auch über ein unsicheres Medium übertragen werden.
Die Suppe wird dann in 2 Töpfe aufgeteilt und in 2 unterschiedliche Räume gestellt. Also es kommt nur der Koch selbst an seine Suppe. Jetzt schmeisst jeder Koch für sich eine geheime Zutat in seine Suppe.
Zitat:

2. Beide Kommunikationspartner erzeugen jeweils eine geheim zu haltende Zufallszahl a bzw. b aus der Menge { 1,..., p-2}. a und b werden nicht übertragen, bleiben also dem jeweiligen Kommunikationspartner, aber auch potenziellen Lauschern, unbekannt
Nach nem bissl köcheln entschließen die Beiden sich in der Mitte zu treffen und eine Tupperdose mit Suppe auszutauschen. Die Dose hat genau die hälfte des eigenen Topfinhalts.
Zitat:

3. Die Kommunikationspartner berechnen A = g^a mod p bzw. B = g^b mod p. Nun werden A und B über das unsichere Medium übertragen.
Jetzt kippt jeder der beiden die Suppen zusammen. Keiner weiß was der andere als Geheimzutat hatte. Aber beide haben jetzt die gleiche Suppe.
Zitat:

4. Die Kommunikationspartner berechnen nun K = B^a mod p bzw. K = A^b mod p. Das Ergebnis K ist für beide Partner gleich und kann als Schlüssel für die weitere Kommunikation verwendet werden.
Somit hat man für jede Verbindung einen Schlüssel (für eine symmetrische Verschlüsselung)- der sich auch noch jedes mal Ändert wenn man mit dem Teilnehmer spricht. Was man aus dem Schlüssel macht bleibt einem offen. Du kannst damit direkt über einen Algo verschlüsseln oder erst noch bissl damit rumspielen :-)

Ich hoffe das war verständlicher..

Gruß
reli

EugenB 9. Dez 2008 13:45

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Ja diesen Kochkurs habe ich verstanden ;-) auch ne gute Idee,

aber ich denke ich versuchs erstmal mit einem Hybriden RSA Verfahren oder spricht was dagegen sowas zu nutzen?

Meflin 9. Dez 2008 13:51

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Machs mit Shamirs No-Key-Algorithmus - dann musste überhauptkeine Schlüssel austauschen und sparst dir den Diffie-Hellman :mrgreen:

EugenB 9. Dez 2008 14:35

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Hm nach dieser Seite 1 ist dieses Verfahren sehr unsicher wenn es einen Man-In-The-Middle-Angriff gibt^^

Meflin 9. Dez 2008 16:09

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Zitat:

Zitat von EugenB
Hm nach dieser Seite 1 ist dieses Verfahren sehr unsicher wenn es einen Man-In-The-Middle-Angriff gibt^^

nicht unsicherer als RSA und alle anderen Kommunikationsverschlüsselungen ;) Gegen MITM musst du IMMER extra absichern!

EugenB 24. Mär 2009 14:26

Re: Chat-Protokoll: Sichere Verschlüsselung
 
Hey Leute,

ich hab mitlerweile dieses Verfahren jetzt verwendet.

Bei jeder Nachrichten übertragung, wird ein zufälliger schlüssel erstellt, mit dem schlüssel wird die nachricht verschlüsselt, der schlüssel selbst wird mittels rsa (2048Bit) verschlüsselt

Dieses Verfahren braucht jedoch 3 Sekunden (Verschlüsseln, Verschicken, Entschlüsseln) darum dachte ich mich wieso kein anderes Verfahren nutzen, bzw ähnlich.

Ich wollte jetzt mal dieses Verfahren versuchen:

Es wird pro nachrichten session, ein zufälliger Schlüssel erstellt, dieser wird mittels RSA Verschlüsselt und zum Partnerverschickt. Nur am anfang der Session. Alle Nachrichten in dieser Session werden dann mit dem zufälligen Schlüssel verschlüsselt, dadurch würde es denke ich mal weniger als eine Sekunde brauchen.

Aber was haltet ihr von diesem Verfahren, ich denke das es dann immernoch genauso sicher ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz