Unverschlüsseltes SSL-Protokoll?

7

Ist es möglich, eine Nachricht über https zu senden, die nicht verschlüsselt ist? Zum Beispiel, erfordern Sie, dass Zertifikat Validierung und Autorisierung auftreten, aber nicht die eigentlichen Daten verschlüsseln, die über den Socket gesendet werden?

    
bkritzer 18.12.2009, 19:05
quelle

4 Antworten

20

Ja, TLS und SSL unterstützen Modi ohne Verschlüsselung. Ob der betreffende Client und Server für die Aktivierung konfiguriert sind, ist ein separates Problem.

Es ist möglich, wenn auch unwahrscheinlich, dass ein Server standardmäßig eine dieser Verschlüsselungssuiten aktivieren kann. Wahrscheinlicher ist, dass ein Server standardmäßig schwache Cipher-Suites (wie die DES-basierten "export" -basierten Suiten) aktiviert. Aus diesem Grund sollten Sie die weiße Liste der Cipher Suites auf dem Server sorgfältig überprüfen und nur einige vertrauenswürdige, allgemein unterstützte Algorithmen beibehalten.

Sie können ua die Verschlüsselungssuite TLS_RSA_WITH_NULL_SHA verwenden, um die Authentizität und Integrität des Datenverkehrs ohne Verschlüsselung zu schützen.

Der "RSA" bezieht sich in diesem Fall auf den Schlüsselaustauschalgorithmus, während "SHA" sich auf den Nachrichtenauthentifizierungsalgorithmus bezieht, der verwendet wird, um den Verkehr davor zu schützen, verändert zu werden. "NULL" ist der Verschlüsselungsalgorithmus oder in diesem Fall der Mangel an Verschlüsselung.

Es ist wichtig zu wissen, dass der Datenverkehr, obwohl er nicht verschlüsselt ist, in SSL-Datensätzen gebündelt ist. Der Client und der Server müssen SSL-fähig sein.

Wenn Sie nach einer Step-down-Lösung suchen, bei der einige Daten über SSL ausgetauscht werden, ist SSL zwar deaktiviert, der Anwendungsverkehr ist aber auch weiterhin möglich, aber denken Sie daran, dass es keinerlei Sicherheit für den Klartextverkehr bietet ; Es kann von einem Angreifer manipuliert werden. Wenn Sie sich zum Beispiel mit SSL authentifizieren und dann auf ein "In-the-Clear" -Protokoll zurückgreifen, um Befehle zu empfangen, die die über SSL ausgehandelte Authentifizierung verwenden, wäre das unsicher.

    
erickson 18.12.2009, 19:52
quelle
5

Die SSL / TLS-Spezifikationen definieren eine "NULL-Verschlüsselung", die Sie dafür verwenden können. Die meisten Client- und Server-Software deaktivieren es aus offensichtlichen Gründen.

Wenn Sie jedoch Ihre eigene Software schreiben, können Sie Ihre Bibliothek davon überzeugen, sie zu verhandeln.

    
Marsh Ray 23.02.2010 23:51
quelle
-1

Ich denke, Sie können.

Aber es wäre dumm, Sie würden den Sinn der Authentifizierung verlieren und sich Angreifern aussetzen, die Ihre Pakete abfangen und verändern können.

    
AK_ 18.12.2009 20:00
quelle
-3

Nein, das Protokoll erlaubt das nicht.

Eine Lösung, die Sie tun könnten, ist, sich über https zu verbinden, die Verbindung zu verifizieren und dann nachfolgende Verbindungen zu HTTP mit einem Session-Cookie zu löschen. Ohne diesen Cookie leiten Sie zurück zu https um, so dass der Client immer eine Verbindung darüber herstellt.

Dies ist jedoch möglicherweise nicht relevant für Sie. Wenn Sie also weitere Informationen zu dem Problem bereitstellen, das Sie lösen möchten, könnten wir Ihnen mehr helfen.

    
McPherrinM 18.12.2009 19:09
quelle