2017-01-16 6 views
-3

Ich bin wirklich neu, also folgte ich ein paar Tutorials, und machte ein Beispiel in C++ für Pakete zwischen Client - Server mit einem öffentlichen und privaten Schlüssel verschlüsseln/entschlüsseln.Netzwerkverschlüsselung mit OpenSSL/AES erklärt

Die Ergebnisse sind ziemlich vielversprechend und arbeiten recht gut, aber ich bin verwirrt, wirklich verwirrt, und ich kann keine Fehler machen (besonders in einem kommerziellen Umfeld).

Bitte erklären Sie mir, wie ich die encrypt verwenden sollte/entschlüsseln, im Moment habe ich:

  • Verkehr mit öffentlichen Schlüssel verschlüsselt und entschlüsselt mit einem privaten Schlüssel
  • Verkehr mit einem privaten Schlüssel verschlüsselt und entschlüsselt mit public-Key-

ich verstehen müssen, und wissen, welche die richtige Methode Verwendung ist, ist das, was ich verstanden (bitte nicht lachen):

**

  • SERVER (verschlüsseln Verkehr mit einem privaten Schlüssel) -> CLIENT (dechiffriert Verkehr mit öffentlichen Schlüsseln)
  • CLIENT (verschlüsselt Verkehr mit öffentlichen Schlüsseln) -> SERVER (dechiffriert Verkehr mit einem privaten Schlüssel)

**

so sind meine Fragen, wie folgend:

  • Ist das korrekt, was ich habe?
  • Geht der öffentliche Schlüssel zum Client und der private Schlüssel bleibt auf dem Server?
  • Gibt es andere Sicherheitsprobleme, die auftreten können?

Vielen Dank

+0

Client, Server sind eher allgemeine Begriffe. Es ist mehr wie --- jemand (unabhängig davon, ob sie Client oder Server ir was auch immer) generiert ein Schlüsselpaar - (private und öffentliche Schlüssel) und verteilt den pulic Schlüssel (in der Regel als ein Zertifikat) und hält den privaten Schlüssel. Sicher ist es häufiger serverseitige Zertifikate, die Client-Seite ... aber sicher einige Clients haben Client-Zertifikate ... –

+0

Ok, und warum hast du meine Frage downvote? Was ist der Grund? –

+0

Vielen Dank an alle, die meine Frage ohne Grund herabgestuft haben. –

Antwort

0

Sie wollen über Asymetric Verschlüsselung (Public-Key-Verschlüsselung) lernen. Grundsätzlich erzeugt jede Seite ein Schlüsselpaar - (privater Schlüssel und öffentlicher Schlüssel, die irgendwie zusammenhängen).

Das Lernen über OpenSSL ist mit ssl-Zertifikaten verbunden, und Sie müssen das verstehen, um mit ssl zu arbeiten. Versuchen Sie zu lesen: SSL explained for beginners.

Es ist nicht notwendig mit Server-Client verwandt.

Zum Beispiel, Sie haben Ihr Schlüsselpaar.

Dann wird Ihr öffentlicher Schlüssel an Ihren Freund gesendet, und der Freund verschlüsselt die Daten mit dem öffentlichen Schlüssel, den Sie ihm gegeben haben, und sendet es an Sie.

Jetzt können Sie die verschlüsselten Daten mit Ihrem privaten Schlüssel entsperren (entschlüsseln).

Sie können dieses wichtige Thema in den folgenden Ressourcen:

  1. Wiki: Public-key cryptography
  2. Erklären Videos: Encryption types explained
  3. Asymetric Verschlüsselung erklärt: Video
  4. Public-Key-Verschlüsselung Video: With Diffie-Hellman example
  5. Für das Verständnis: RSA algorithem explanation+example
+0

Vielen Dank, ich habe bereits ein funktionierendes Beispiel und habe die Paketverschlüsselung getestet, was mich verwirrt, ist die Art, wie ich es benutzen werde ... –

+0

Deshalb denke ich, dass du die Links lesen solltest. Wenn Sie spezifische Hilfe benötigen, sollten Sie sich speziell mit Ihrem Problem befassen. Lies meine Erklärung über den öffentlich-privaten Schlüssel zwischen dir und deinem Freund. –