CryptoStream, Komplikationen mit dem Key.

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von φConst.

    CryptoStream, Komplikationen mit dem Key.

    Guten Tag,

    ich habe kürzlich erfahren, dass das NET-Framework einen sogenannten CryptoStream zur Verfügung stellt.

    Ich fand diesen Artikel; codeproject.com/Articles/6465/Using-CryptoStream-in-C; und hatte eine Frage bezüglich des Keys.
    Im Beispiel wird der Key "ABCDEFGH" verwendet.

    Wie kann ich diesen Key dem Empfänger übermitteln, ohne das ein Angreifer, diesen Key abfangen kann?
    Oder habe ich etwas missverstanden?


    Liebe Grüß.
    Und Gott alleine weiß alles am allerbesten und besser.
    Entweder per Asymmetrischer Verschlüsselung, z.B. RSA, oder über explizite Schlüsselasutasuchsuiten, wie Diffie-Hellmann.

    Bsp. RSA-AES:
    Wir haben einen Client und einen Server. Der Server hält den privaten Schlüssel, die Clients sind mit dem öffentlichen Schlüssel ausgestattet.

    Der Client generiert nun je Session einen temporären Schlüssel für AES. Dieser wird mit dem Schlüssel der im Client hinterlegt ist verschlüsselt. Nun ist nurnoch der Server in der lage diesen zu lesen. Der Client sendet nun diesen Schlüssel an den Server. Der Server ließt den aus, und nun gehts per AES weiter.

    Das ist nun mal die grundlegende Theorie.

    EaranMaleasi schrieb:

    Dieser wird mit dem Schlüssel der im Client hinterlegt ist verschlüsselt



    Und dieser Schlüssel, der im Client hinterlegt sein soll, ist dieser identisch mit dem Private-Key des Servers?
    Oder ist der Schlüssel des Servers vom Typus "Generalschlüssel"?

    Lieben Dank,
    habe soweit alles verstanden.
    Und Gott alleine weiß alles am allerbesten und besser.
    So ungefähr.

    du solltest dir einmal generell die Theorie hinter symmetrischer und asymmetrischer Verschlüsselung ansehen.

    Der Schlüssel den der Client besitzt, der public Key, hat alle nötigen Daten, um eine Nachricht für den Server zu verschlüsseln, und dessen Nachrichten zu verifizeren, sodass du sichergehen kannst, dass eine Nachricht von deinem gewünschten Server kommt. Mit diesem kannst du jedoch keine Nachrichten entschlüsseln, oder Nachrichten Signieren.

    Der Schlüssel den der Server besitzt, der private Key, hat alle Daten um eine Nachricht zu Ver- und entschlüsseln, und um sie zu signieren und verifizieren. Daher ist es von größter Wichtigkeit, dass der private Key UNTER ABSOLUT KEINEN UMSTÄNDEN den Server/deinen Rechner verlässt. Sollte dies geschehen kann sich derjenige, der den private-Key besitzt immer schön zwischen den Client und den Server schalten, den AES-Schlüssel mitlesen und den gesamten Traffic auslesen, in Echtzeit. Und das beste daran, du bekommst davon noch net mal was mit.

    Verschlüsselung ist ein Thema, das mit Vorsicht angegangen werden muss. Ein Fehler kann aus Verschlüsselung Klartext machen.