2016-01-22 15 views
15

Ich aktualisiere eine eingebettete TLS 1.0-Implementierung auf TLS 1.2 (Geräte mit 1 MB Coderaum oder weniger und kein Betriebssystem). An dieser Stelle habe ich AES-128 und AES-256 CBC-Chiffren, die mit SHA-1- und SHA-256-Digests für eine minimale Implementierung arbeiten. Die Bibliothek kann keine SSLv2-, SSLv3-, TLS 1.0- oder TLS 1.1-Verbindung aushandeln.Kann ein TLS 1.2 Server/Client mit nur TLS_RSA_WITH_AES_128_CBC_SHA auskommen?

Ich dachte, das wäre ausreichend, da RFC 5246 besagt, "TLS_RSA_WITH_AES_128_CBC_SHA ist jetzt die obligatorische Cipher Suite zu implementieren."

Doch während ich verschiedene Beiträge auf Sicherheitsblogs lese, sehe ich Empfehlungen, die Benutzer diese Suite deaktivieren lassen würden und (zum Beispiel) nur die Varianten ECDHE_RSA oder DHE_RSA zulassen würden.

Also meine Frage ist, ob Geräte, die unsere Bibliothek verwenden, mit modernen Webbrowsern (als Server) und modernen https/smtps/pop Servern (als Client) zusammenarbeiten. Gibt es TLS 1.2-Clients/Server, die eine TLS_RSA_WITH_AES_128_CBC_SHA-Verbindung nicht aushandeln können?

+0

Hängt davon ab, was Sie "erhalten durch" definieren. Ich bin kein Sicherheitsexperte. Aber ich kann riechen, dass "AES_128_CBC" nicht sicher genug ist. Das heißt, ich würde mich mit etwas wie "AES_256_GCM" wohler fühlen. Wenn dies der Fall ist, besteht das Risiko, dass die Verschlüsselung vom Server nicht unterstützt wird. Wenn Sie der Server sind, können Sie es unterstützen. Aber Sie wollen zweimal über die Sicherheit nachdenken. – neurite

+0

Es gibt viele E-Mail-Server, die TLS 1.2 nicht ordnungsgemäß unterstützen. – fcnorman

Antwort

1

Ich bin nicht sicher, es gibt zur Zeit viele Server TLS unterstützt, die TLS_RSA_WITH_AES_128_CBC_SHA mit Verhandlungen TLSv1.2 scheitern würde, wie es die obligatorische Cipher-Suite für TLSv1.2 ist.

aber es gibt Dinge im Auge zu behalten:

  • TLS_RSA_WITH_3DES_EDE_CBC_SHA obligatorisch ist für TLSv1.0 und TLSv1.1 aber aus Sicherheitsgründen ist es nicht mehr von jedem Server unterstützt,
  • Mozilla empfiehlt (und es ist nicht die einzige) AES128 anstelle AES256,
  • zu bevorzugen. Perfect Forward Secrecy (PFS), erlaubt von DHE oder ECDHE ist jetzt ein Muss.

Also, wenn ich Sie mit 4 Chiffriersätze zur Verfügung stellen kann (die gleiche Anzahl als Sie haben), würde ich diese hier sagen von der stärksten zum schwächsten:

  1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  3. TLS_RSA_WITH_AES_128_GCM_SHA256
  4. TLS_RSA_WITH_AES_128_CBC_SHA

Ich würde sagen, dass diese 4 Cipher Suites genug Sicherheit und Kompatibilität mit TLSv1.2 Servern bieten.

Jetzt ist die Frage der Unterstützung nur TLSv1.2 eine andere Frage, aber wenn Sie genug Platz haben, empfehle ich Ihnen, TLSv1.0 auch hinzuzufügen (TLSv1.1 bietet keine zusätzliche Kompatibilität).

PS: Der Grund, warum AES128 statt AES256 begünstigt wird, ist, dass einige Leute denken, die zusätzliche Sicherheit hinzugefügt von AES256 ist (vorerst) wertlos und dass AES128 scheint resistent gegen Timing-Angriffe zu sein.

+0

Danke, das ist die Art von Antwort, die ich gesucht habe. "TLS_RSA_WITH_3DES_EDE_CBC_SHA" war in TLS 1.0 und 1.1 obligatorisch, aber aus Sicherheitsgründen deaktiviert, ist ein guter Präzedenzfall dafür, was mit TLS 1.2 passieren könnte. – tomlogic

1

"Meine Frage ist also, ob Geräte, die unsere Bibliothek verwenden, mit modernen Webbrowsern (als Server) und modernen https/smtps/pop Servern (als Client) zusammenarbeiten. Gibt es TLS 1?2-Clients/Server, die eine TLS_RSA_WITH_AES_128_CBC_SHA Verbindung zu verhandeln fail“

Ja, es gibt viele Implementierungen, die nicht

Meistgenannte:.

  1. Clients, die immer noch ein SSL2.0 Client-Hallo senden
  2. Clients/Server, die nur PFS-Verschlüsselungssuite unterstützen
  3. Server, die TLS 1.2 noch immer nicht unterstützen
  4. Server, die TLS nicht mehr unterstützen 1. 2 -, da diese nur Unterstützung TLS 1,3

Meine Empfehlung ist:

  • auch TLS unterstützen 1.3 (nicht so schwer zu implementieren, ich habe es)
  • auch DHE unterstützen

Oder verwenden Sie ein Tool/Site wie https://www.ssllabs.com/ssltest/index.html und testen Sie die Kompatibilität/Sicherheit Ihres Servers, bis es für Sie ausreicht.

+0

Ich sehe, dass TLS 1.3 immer noch ein funktionierender Entwurf ist, aber es kann sicherlich eine Anleitung für Verschlüsselungen geben, die unterstützt werden, bis der Standard genehmigt wurde. Ich wäre überrascht zu sehen, dass Clients/Server TLS 1.3 unterstützen, aber nicht in der Lage sind, eine TLS 1.2-Verbindung aus Gründen der Abwärtskompatibilität zu verhandeln, möglicherweise mit eingeschränkter Verschlüsselungsunterstützung. – tomlogic

Verwandte Themen