Seite 2 von 2
Re: Verschlüsslungen in Software
Verfasst: 25.06.2011 01:49
von cxAlex
GPI hat geschrieben:Eine einfache Methode ist die AES-Geschichte, die man auch schon in PB integriert findet. Nachteil ist, das du irgendwie den Key austauschen musst. Da musst du dir was einfallen lassen.
Dafür gibts den Diffie-Hellman Schlüsseltausch
http://de.wikipedia.org/wiki/Diffie-Hel ... laustausch
Gruß, Alex
Re: Verschlüsslungen in Software
Verfasst: 25.06.2011 09:38
von DarkDragon
Twofish gibts mit offiziellem Sourcecode:
http://www.schneier.com/twofish.html
Re: Verschlüsslungen in Software
Verfasst: 25.06.2011 10:56
von pyromane
Danke für eure Anregungen. Ich werde mich da mal rein lesen.
Re: Verschlüsslungen in Software
Verfasst: 04.10.2011 18:16
von pyromane
Habe mir das Buch schon vor langer Zeit gekauft, welches hier vorgeschlagen wurde. Nun wollte ich den Thread nochmal ausgraben. Das Buch hat einem einen guten Einstieg ins Thema verholfen aber mein eigentliches Problem noch nicht gelöst.
Ich habe eine Kommunikation von C++ zu PHP. Nun sende ich per POST etwas an PHP was auch nur der Server entschlüssel soll.
Möglichkeiten stellen sich nun viele. Auf der einen Seite kann man mit dem richtigen Aufwand enorm viel knkacken. Die Frage ist immer was bruacht man. Ich würde gerne etwas nutzen was maximale Sicherheit bei minimalen Aufwand mit sich bringt. Sollte halt bei beiden Sprachen einfach zu implimentieren sein und möglichst Fehlerfrei ablaufen.
Re: Verschlüsslungen in Software
Verfasst: 05.10.2011 14:23
von Kukulkan
Hallo,
die Antworten sind eigentlich in den vorherigen Posts schon gegeben:
1) Entweder die Anwendungen und die PHP Seite
kennen alle den Schlüssel, und du kannst dazwischen mit AES verschlüsseln. Nachteil: Wenn der Code bekannt wird (und das ist sehr wahrscheinlich), dann ist das nicht mehr sicher.
2) Du verwendet den erwähnten
Diffie-Hellman Schlüsselaustausch um einen einmaligen Session-Key zu generieren (zB beim Logon). Dann den Rest der Session damit AES verschlüsseln. Nachteil: für Diffie Helman benötigst Du BigNumber. Die gibt es nativ nicht in PB (kannst das Forum D und EN mal danach durchsuchen. Gibt gute Ansätze). Oder Du nimmst eine Crypto-Library (zB Crypto++ von
http://www.cryptopp.com/).
3) Oder Du verwendet das Passwort der Nutzer um einen Login mit einer
Hash-Challenge durchzuführen (ähnlich CRAM MD5 ->
http://de.wikipedia.org/wiki/CRAM-MD5). Danach könnte der Hash des Nutzer-Kennwortes auch als sicherer Key verwendet werden. Nachteil: Nutzer benötigen ein sicheres Kennwort.
4) gibt sicher noch andere Optionen.
Grüße,
Kukulkan
Re: Verschlüsslungen in Software
Verfasst: 05.10.2011 15:08
von bobobo
Warum muss der Server eigentlich was über die Ver- und Ent-schlüsselung wissen?
Auch und gerade bei einem Chat ist es nur für die Clients unabdingbar, dass sie
das, was da ankommt, auch lesen bzw. darstellen können. Der Server kann eigentlich
strunzblöd bleiben. Wenn von den Daten nix verloren geht ist das serverseitig ausreichend.
Re: Verschlüsslungen in Software
Verfasst: 05.10.2011 19:42
von NicTheQuick
Re: Verschlüsslungen in Software
Verfasst: 06.10.2011 09:02
von Kukulkan
Gutes Argument!
Dann macht man am besten einen Diffie-Hellman zwischen den Clients. Der Server reicht die Daten dann nur weiter (also reines Session-Management). Der Server kann dem jeweiligen Client aber immer vorspielen, er wäre die andere Seite. Also wirklich endgültig Sicher ist das nicht. Wenn es so sicher sein soll, dann sollte man mit RSA arbeiten und Identitäten austauschen. Zum Beispiel über Identity Based Encryption ->
http://en.wikipedia.org/wiki/ID-based_encryption
Wenn es ausreicht, dass der Weg zwischen Clients und Server absolut sicher ist, würde ich DH machen.
Grüße,
Kukulkan