1. Introduction (Einführung)
1. Introduction (Einführung)
Transport Layer Security (TLS) [RFC5246] und Datagram Transport Layer Security (DTLS) [RFC6347] werden weithin zum Schutz von Daten verwendet, die über Anwendungsprotokolle wie HTTP, SMTP, IMAP, POP, SIP und XMPP ausgetauscht werden. In den letzten Jahren sind mehrere schwerwiegende Angriffe auf TLS aufgetreten, einschließlich Angriffe auf die am häufigsten verwendeten Cipher-Suiten und deren Betriebsmodi. Beispielsweise wurden sowohl die AES-CBC [RFC3602] als auch die RC4 [RFC7465] Verschlüsselungsalgorithmen, die zusammen die am weitesten verbreiteten Cipher waren, im Kontext von TLS angegriffen. Ein Begleitdokument [RFC7457] liefert detaillierte Informationen über diese Angriffe und hilft dem Leser, die Begründung hinter den hier bereitgestellten Empfehlungen zu verstehen.
Aufgrund dieser Angriffe benötigen diejenigen, die TLS und DTLS implementieren und einsetzen, aktualisierte Anleitungen zur sicheren Verwendung von TLS. Dieses Dokument bietet Anleitungen für eingesetzte Dienste sowie für Software-Implementierungen, unter der Annahme, dass der Implementierer erwartet, dass sein oder ihr Code in den in Abschnitt 5 definierten Umgebungen eingesetzt wird. Tatsächlich fordert dieses Dokument den Einsatz von Algorithmen, die weit verbreitet implementiert, aber noch nicht weit verbreitet eingesetzt sind. In Bezug auf den Einsatz richtet sich dieses Dokument an ein breites Publikum - nämlich alle Deployer, die ihren Kommunikationen Authentifizierung (sei es nur einseitig oder gegenseitig), Vertraulichkeit und Datenintegritätsschutz hinzufügen möchten.
Die hierin enthaltenen Empfehlungen berücksichtigen die Sicherheit verschiedener Mechanismen, ihre technische Reife und Interoperabilität sowie ihre Verbreitung in Implementierungen zum Zeitpunkt der Erstellung dieses Dokuments. Sofern nicht ausdrücklich darauf hingewiesen wird, dass eine Empfehlung nur für TLS oder nur für DTLS gilt, gilt jede Empfehlung sowohl für TLS als auch für DTLS.
Es wird erwartet, dass die TLS 1.3 Spezifikation viele der in diesem Dokument aufgeführten Schwachstellen beheben wird. Ein System, das TLS 1.3 einsetzt, sollte weniger Schwachstellen aufweisen als TLS 1.2 oder niedriger. Dieses Dokument wird wahrscheinlich aktualisiert, nachdem TLS 1.3 eine bemerkenswerte Verbreitung erreicht hat.
Dies sind Mindestempfehlungen für die Verwendung von TLS in der überwiegenden Mehrheit der Implementierungs- und Einsatzszenarien, mit Ausnahme von nicht authentifiziertem TLS (siehe Abschnitt 5). Andere Spezifikationen, die auf dieses Dokument verweisen, können strengere Anforderungen in Bezug auf einen oder mehrere Aspekte des Protokolls haben, basierend auf ihren besonderen Umständen (z.B. für die Verwendung mit einem bestimmten Anwendungsprotokoll); wenn dies der Fall ist, wird Implementierern geraten, sich an diese strengeren Anforderungen zu halten. Darüber hinaus bietet dieses Dokument einen Mindeststandard, keine Obergrenze, sodass stärkere Optionen immer zulässig sind (z.B. abhängig von unterschiedlichen Bewertungen der Bedeutung kryptografischer Stärke gegenüber der Rechenlast).
Das Wissen der Community über die Stärke verschiedener Algorithmen und durchführbarer Angriffe kann sich schnell ändern, und die Erfahrung zeigt, dass ein Best Current Practice (BCP) Dokument über Sicherheit eine Momentaufnahme ist. Lesern wird empfohlen, nach Errata oder Aktualisierungen zu suchen, die für dieses Dokument gelten.