Frage

Ich entwickle eine Client-Server-Anwendung, die ssl (openssl) verwendet einen sicheren Kommunikationskanal zwischen dem Client und dem Server herzustellen. Ich glaube, ich habe nun zwei Möglichkeiten für die sichere Datenübertragung zwischen dem Client und dem Server. Eine Möglichkeit ist, mit der Datenübertragung auf dem etablierten sicheren SSL-Kanal zwischen dem Client und dem Server, obwohl die Verschlüsselung / Entschlüsselung Prozess fortgesetzt wird wegen der Verwendung von asymmetrischen Schlüsseln langsam sein. Die andere Möglichkeit ist, einen symmetrischen Schlüssel auf dem SSL-Kanal zu übertragen und den ssl Kanal schließen, sobald der symmetrische Schlüssel an den Client geliefert wird. Kommunikation danach passieren wird, auf einem regelmäßigen TCP-Kanal mithilfe des symmetrischen Schlüssels, die ich glaube, wird viel schneller als asymmetrischen Schlüssel verwendet wird. Gibt es irgendwelche Nachteile zu diesem Ansatz? Eine Sache, die mit dem symmetrischen Schlüssel Ansatz offensichtlich ist, ist der Prozess der Schlüsselverwaltung, die ich die Handhabung denke durch die Schlüssel nicht auf dem Client überhaupt zu speichern. Symmetrische Schlüssel wird beim Start über einen SSL-Kanal an den Client geliefert werden. Key wird nicht in dem Client gespeichert werden. Irgendwelche Gedanken?

War es hilfreich?

Lösung

Sie mischen Dinge. SSL verwendet einen asymetrische Schlüssel (im Zertifikat definiert) einen automatisch generierte symetric Schlüssel zwischen dem Client und dem Server zu übergeben. Dieser symetric Schlüssel wird dann während der sicheren Sitzung (der Kanal) verwendet wird.

Also im Grunde haben Sie bereits eine schnelle symetric Verschlüsselung bei Verwendung von SSL. Die einzige asymetrische Verschlüsselung erfolgt ganz am Anfang der Kommunikation.

Versuchen Sie nicht, Ihre symetric Schlüssel auf eigene Faust zu verwalten. Es wird nicht funktionieren.

Andere Tipps

Halten Sie die SSL-Verbindung verwenden, da SSL einen symmetrischen Chiffre nach der Anfangsphase verwendet.

  

Eine Option ist mit der Datenübertragung auf dem etablierten sicheren SSL-Kanal zwischen dem Client und dem Server, obwohl die Verschlüsselung / Entschlüsselung Prozess wegen der Verwendung von asymmetrischen Schlüsseln wird langsam fortzusetzen.

Nein wird es nicht. SSL verwendet symmetrische Verschlüsselung.

  

Die andere Möglichkeit ist, einen symmetrischen Schlüssel auf dem ssl Kanal zu übertragen und den ssl-Kanal zu schließen, sobald die symmetrischen Schlüssel an den Client geliefert wird.

Der Client und Server verfügen bereits über einen symmetrischen Verschlüsselungsschlüssel, sobald die Sitzung estalbished wird. Dies würde nur überflüssig.

Es gibt hier kein Problem zu lösen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top