Hallo,
ich habe eine Frage über Verschlüsselungen und zwar möchte ich den Chat von kevin89 ([VB.NET] Multiserver (TCP)) benutzen
und dabei die Kommunikation verschlüsseln.
Zum Schlüsselaustausch benutze ich RSA und dann AES als symmetrische Verschlüsselung für
die weitere Kommunikation.
Soweit so gut, ich habe es auch schon eingebaut und getestet und es funktioniert auch alles (hab
auch mit Wireshark gelauscht :D), doch jetzt habe ich eine Frage über die Theorie. Denn dazu habe
ich zwei Lösungen und frage mich jetzt welche die bessere ist. (vielleicht sind auch gar keine richtig,
freue mich über konstruktive Kritik)
Lösung 1)
Der Client generiert den Public- und Privatekey und schickt den Publickey unverschlüsselt an den Server.
Der Server generiert mithilfe eines Passwortzufallsgenerator das Passwort für die sysmmetrische Verschlüsselung.
Dieses Passwort verschlüsselt er mit dem Publickey und sendet ihn zurück an den Client.
Der Client entschlüsselt das Passwort mit seinem Privatekey und hat das Passwort für die weitere Kommunikation.
Lösung 2)
Der Server generiert den Public- und Privatekey und schickt den Publickey unverschlüsselt an den Client.
Der Client generiert mithilfe eines Passwortzufallsgenerator das Passwort für die symmetrische Verschlüsselung.
Dieses Passwort verschlüsselt er mit dem Publickey und sendet ihn zurück an den Server.
Der Server entschlüsselt das Passwort mit seinem Privatekey und hat das Passwort für die weitere Kommunikation.
Ist es jetzt besser, wenn der Server für jeden einzelnen Client den Private- und Publickkey generiert oder der
Client für sich selber.
Ist es besser, wenn der Client das Passwort für die symmetrische Verschlüsselung generiert oder der Server für
jeden einzelnen Client
Im Endeffekt hat ja dann doch jeder alles (bis auf den Privatekey).
ich habe eine Frage über Verschlüsselungen und zwar möchte ich den Chat von kevin89 ([VB.NET] Multiserver (TCP)) benutzen
und dabei die Kommunikation verschlüsseln.
Zum Schlüsselaustausch benutze ich RSA und dann AES als symmetrische Verschlüsselung für
die weitere Kommunikation.
Soweit so gut, ich habe es auch schon eingebaut und getestet und es funktioniert auch alles (hab
auch mit Wireshark gelauscht :D), doch jetzt habe ich eine Frage über die Theorie. Denn dazu habe
ich zwei Lösungen und frage mich jetzt welche die bessere ist. (vielleicht sind auch gar keine richtig,
freue mich über konstruktive Kritik)
Lösung 1)
Der Client generiert den Public- und Privatekey und schickt den Publickey unverschlüsselt an den Server.
Der Server generiert mithilfe eines Passwortzufallsgenerator das Passwort für die sysmmetrische Verschlüsselung.
Dieses Passwort verschlüsselt er mit dem Publickey und sendet ihn zurück an den Client.
Der Client entschlüsselt das Passwort mit seinem Privatekey und hat das Passwort für die weitere Kommunikation.
Lösung 2)
Der Server generiert den Public- und Privatekey und schickt den Publickey unverschlüsselt an den Client.
Der Client generiert mithilfe eines Passwortzufallsgenerator das Passwort für die symmetrische Verschlüsselung.
Dieses Passwort verschlüsselt er mit dem Publickey und sendet ihn zurück an den Server.
Der Server entschlüsselt das Passwort mit seinem Privatekey und hat das Passwort für die weitere Kommunikation.
Ist es jetzt besser, wenn der Server für jeden einzelnen Client den Private- und Publickkey generiert oder der
Client für sich selber.
Ist es besser, wenn der Client das Passwort für die symmetrische Verschlüsselung generiert oder der Server für
jeden einzelnen Client
Im Endeffekt hat ja dann doch jeder alles (bis auf den Privatekey).