{"id":1871,"date":"2014-10-24T14:46:30","date_gmt":"2014-10-24T12:46:30","guid":{"rendered":"https:\/\/www.psw-group.de\/support\/?p=403"},"modified":"2025-11-26T12:01:20","modified_gmt":"2025-11-26T11:01:20","slug":"perfect-forward-secrecy-konfigurieren","status":"publish","type":"post","link":"https:\/\/www.psw-group.de\/support\/perfect-forward-secrecy-konfigurieren\/","title":{"rendered":"Perfect Forward Secrecy konfigurieren: Kommunizieren Sie (abh\u00f6r)sicher!"},"content":{"rendered":"<p style=\"text-align: left;\"><strong>Perfect Forward Secrecy<\/strong> \u2013 das ist ein SSL-Feature, das es erlaubt, sicher zu kommunizieren und Kommunikationen im Nachhinein nicht entschl\u00fcsseln zu lassen. Basierend auf dem <strong>Diffie-Hellman-Verfahren<\/strong>, senden sich zwei Kommunikationspartner (Client und Server) verschiedene Nachrichten, um einen gemeinsamen Schl\u00fcssel zu bekommen. Dieser Schl\u00fcssel wird nie \u00fcber die Leitung \u00fcbertragen, denn der \u00f6ffentliche Schl\u00fcssel des Servers signiert lediglich den Austausch der Schl\u00fcssel. Der gemeinsame Schl\u00fcssel existiert nur w\u00e4hrend dieser einen Kommunikationsverbindung und wird anschlie\u00dfend von beiden Kommunikationspartnern gel\u00f6scht <strong>(Session Key)<\/strong>. Somit schlie\u00dft Perfect Forward Secrecy, kurz PFS, das nachtr\u00e4gliche Entschl\u00fcsseln der Kommunikation aus. Gut und sch\u00f6n. Aber wie wird PFS eingerichtet? Welche Systeme arbeiten mit PFS und wie l\u00e4sst sich der sichere Weg der verschl\u00fcsselten Kommunikation einrichten? Das erfahren Sie in diesem Beitrag.<\/p>\n<h2 style=\"text-align: left;\">Cipher-Suiten: Starke Abweichungen in der Sicherheit<\/h2>\n<p style=\"text-align: left;\">Bevor die Kommunikation zwischen zwei Partnern \u00fcberhaupt verschl\u00fcsselt wird, handeln die Teilnehmer eine <strong>Chiffriermethode (= Cipher-Suite)<\/strong> aus. Der Client sendet eine Liste mit m\u00f6glichen Methoden an den Server, der seinerseits eine Cipher-Suite selektiert, die er beherrscht. Aufs Wesentliche heruntergebrochen, besteht eine Cipher-Suite aus diesen Elementen:<br \/>\n\u2022 Mit der <strong>asymmetrischen Verschl\u00fcsselung<\/strong> wird das Schl\u00fcsselpaar gesichert.<br \/>\n\u2022 Das <strong>symmetrische Verfahren<\/strong> verschl\u00fcsselt die Kommunikation.<br \/>\n\u2022 Die <strong>Hashfunktion<\/strong> stellt die Integrit\u00e4t der Daten sicher.<\/p>\n<p style=\"text-align: left;\">Je nachdem, welche Cipher-Suite der Server ausgesucht hat, kann es extreme Abweichungen bez\u00fcglich der Sicherheit<br \/>\ngeben. Schauen wir uns das in Beispielen an:<\/p>\n<p style=\"text-align: left;\"><strong>TLS_RSA_WITH_RC4_128_MD5<\/strong> verwendet RSA als asymmetrische Verschl\u00fcsselung und RC4 f\u00fcr die Verschl\u00fcsselung der Kommunikation. MD5 soll daf\u00fcr sorgen, die Datenintegriti\u00e4t herzustellen. Das Problem dabei: Diese Elemente gelten nicht mehr als sicher. Dem entgegen verwendet die Cipher-Suite <strong>ECDHE-RSA-AES256-GCM-SHA384<\/strong> als asymmetrische Verschl\u00fcsselung des Schl\u00fcsselpaars RSA, AEC mit GCM f\u00fcrs Verschl\u00fcsseln der Kommunikation, SHA f\u00fcr die Integrit\u00e4t der Daten und zus\u00e4tzlich das auf elliptischen Kurven basierende Diffie-Hellman- Schl\u00fcsselaustauschverfahren.<\/p>\n<p style=\"text-align: left;\">Oberstes Ziel innerhalb der sicheren Kommunikation muss es also sein, Algorhitmen zu verwenden, die dem aktuellen Stand der Technik entsprechen und als sicher gelten. Alle unsicheren Elemente m\u00fcssen verbannt werden. Cipher-Suiten, die mit RC4 arbeiten, mussten in den vergangenen Jahren viele Angriffe \u00fcber sich ergehen lassen: Oft wurden Schwachstellen in den Algorithmen gefunden, was die Berechnungszeit der Schl\u00fcssel reduzierte. Eine Cipher-Suite, die den verschiedenen Angriffsverfahren standhalten soll, muss folgende Eigenschaften aufweisen:<\/p>\n<p style=\"text-align: left;\">Das Verschl\u00fcsselungsverfahren muss schon ausreichend analysiert worden sein und die Cipher-Suite sollte gr\u00f6\u00dftenteils in g\u00e4ngigen Kryptobibliotheken implementiert sein (siehe<em><a title=\"OpenSSL\" href=\"https:\/\/www.openssl.org\/\" target=\"_blank\" rel=\"noindex,nofollow noopener noreferrer\"> OpenSSL<\/a><\/em>). Es gilt, ein Verfahren zu nutzen, das von bekannten Institutionen (ma\u00dfgeblich ist in aller Regel das Internet Engineering Task Force, <em><a title=\"IETF\" href=\"http:\/\/www.ietf.org\/\" target=\"_blank\" rel=\"noindex,nofollow noopener noreferrer\">IETF<\/a><\/em>) bereits standardisiert ist. Basiert das Schl\u00fcsselaustauschverfahren auf Diffie-Hellman, verhindert man das nachtr\u00e4gliche Entschl\u00fcsseln vorher aufgezeichneter Kommunikationen durch das Bekanntwerden des geheimen Schl\u00fcssels.<\/p>\n<p style=\"text-align: left;\">Zusammenfassend bedeutet das: Eine sichere TLS-\/SSL-Verbindung setzt eine Cipher-Suite ein, die sich aus diesen Elementen zusammensetzt: DHE oder ECDHE als Verfahren f\u00fcr den Schl\u00fcsselaustausch. DHE ist ECDHE vorzuziehen, da ECDHE Performanceeinbu\u00dfen nach sich zieht. Als asymmetrische Verschl\u00fcsselung sind RSA oder ECDSA Mittel der Wahl. Die Kommunikation selbst wird mittels AES-GCM mit mindestens 128 Bit symmetrisch verschl\u00fcsselt. Mit extrem viel Aufwand, n\u00e4mlich ca. 80 Milliarden US-Dollar und dem Strombedarf, der die komplette USA inklusive Lateinamerika und Kanada versorgt, soll sich die 128 Bit-Variante von AES berechnen lassen. Das ist unrealistisch, wer aber sichergehen will, entscheidet sich f\u00fcr die AES256 Bit-Variante. Die Datenintegrit\u00e4t stellt SHA als Hashfunktion sicher.<\/p>\n<p>&nbsp;<\/p>\n<h3 style=\"text-align: left;\">PFS: Empfehlung des IETF<\/h3>\n<p style=\"text-align: left;\">Im September 2013 legte das IETF einen Entwurf vor, in dem das Nutzen von TLS 1.2 zusammen mit folgender Cipher-Suite empfohlen wird: <strong>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256<\/strong> (<em><a title=\"s. Punkt 4. Recommendations\" href=\"http:\/\/tools.ietf.org\/html\/draft-sheffer-tls-bcp-00\" target=\"_blank\" rel=\"noindex,nofollow noopener noreferrer\">s. Punkt 4. Recommendations<\/a><\/em>). Das IETF legt diese Cipher-Suite f\u00fcr jeden Server als erste Wahl nahe, es sei denn, der Server kann nicht auf eine TLS 1.2 client_hello-Nachricht reagieren. Richten Sie bei Ihrem Server diese Cipher-Suite oder eine \u00e4hnliche, vielleicht noch st\u00e4rkere wie <strong>TLS_DHE_RSA_WITH_AES_256_GCM_SHA256<\/strong> ein. In den Profilen von TLS 1.2 existieren oft verschiedene Cipher Suites (beispielsweise TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 und\/ oder TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384), die allerdings mit dem verlangsamendem ECDHE arbeiten. Da es h\u00e4ufig an der Browserunterst\u00fctzung f\u00fcr ECDHE mangelt, kann es passieren, dass andere, unsichere Cipher-Suiten bevorzugt werden. Priorisieren Sie die vom IETF empfohlene Suite, wird diese bevorzugt, beachten Sie aber die M\u00f6glichkeit eines Fallbacks auf niedrigere Verschl\u00fcsselungsverfahren, wenn DHE nicht unterst\u00fctzt wird. Das kann insbesondere dann der Fall sein, wenn Sie mit einer alten Browserversion surfen, die PFS noch nicht unterst\u00fctzt oder sogar aussperrt, wie etwa der Internet Explorer 10 oder \u00e4lter sowie unter Windows XP.<\/p>\n<p>&nbsp;<\/p>\n<h3 style=\"text-align: left;\">PFS ist in Webservern meist schon aktiviert<\/h3>\n<p style=\"text-align: left;\">In aller Regel ist PFS in den Standardeinstellungen der Server schon aktiviert. Das kann den Anschein erwecken, dass Sie die aktuell sicherste Form der Verschl\u00fcsselung schon l\u00e4ngst nutzen, allerdings gibt die Standardkonfiguration vor, dass der Browser die Verschl\u00fcsselung bestimmt. \u00dcberpr\u00fcfen Sie also die Einstellungen Ihres Servers und Ihres Browsers, um dann gegebenenfalls wie oben beschrieben vorzugehen und die vom IETF empfohlene Cipher-Suite einzustellen. Beachten Sie, dass Sie zur Nutzung von TLS 1.2 eine aktuelle Browserversion ben\u00f6tigen. Konkret k\u00f6nnen Sie folgende Browser ab folgender Version problemlos nutzen:<br \/>\n\u2022 Mozilla Firefox ab Version 24<br \/>\n\u2022 Google Chrome ab Version 29<br \/>\n\u2022 Internet Explorer ab Version 11<br \/>\n\u2022 Opera Browser ab Version 16<br \/>\n\u2022 Apple Safari ab Version 7<\/p>\n<p style=\"text-align: left;\">In g\u00e4ngigen Webservern wie Apache oder nginx passen Sie den Konfigurationsblock der Variable ssl_protocols in der .conf-Datei wie folgt an:<\/p>\n<p><strong>nginx:<\/strong><br \/>\nssl_protocols TLSv1 TLSv1.1 TLSv1.2;<br \/>\nSSLCompression Off<br \/>\nSSLHonorCipherOrder on<br \/>\nSSLCipherSuite &#8222;EECDH+AESGCM EDH+AESGCM !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4&#8220;<\/p>\n<p style=\"text-align: left;\"><strong>Apache:<\/strong><br \/>\nSSLProtocol all -SSLv2 -SSLv3<br \/>\nssl_prefer_server_ciphers on;<br \/>\nssl_ciphers &#8222;EECDH+AESGCM EDH+AESGCM !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4&#8220;;<\/p>\n<p style=\"text-align: left;\">Damit unterst\u00fctzen Sie die TLS-Version 1.2, geben aber \u00e4lteren Browsern auch die Chance auf ein Fallback zu niedrigeren Versionen. Zudem grenzen Sie die Verschl\u00fcsselung darauf ein, dass unsichere Methoden wie RC4 ausgeschlossen werden.<\/p>\n<p style=\"text-align: left;\">So unterst\u00fctzen Sie neben der IETF-Empfehlung auch folgende Verschl\u00fcsselungsmethoden:<br \/>\nDHE-RSA-AES256-SHA<br \/>\nDHE-DSS-AES256-SHA<br \/>\nAES256-SHA<br \/>\nDHE-RSA-AES128-SHA<br \/>\nDHE-DSS-AES128-SHA<br \/>\nAES128-SHA<br \/>\nEDH-RSA-DES-CBC3-SHA<br \/>\nEDH-DSS-DES-CBC3-SHA<br \/>\nDES-CBC3-SHA<\/p>\n<p style=\"text-align: left;\">Damit Ihr Browser diese Einstellungen auch nutzt, geben Sie die folgende Zeile in der Konfiguration an: ssl_prefer_server_ciphers on;<\/p>\n<p style=\"text-align: left;\">Starten Sie Ihren Server neu und Sie haben PFS erfolgreich eingerichtet. Wichtig: TLS 1.1 und 1.2 sind aktuell mit OpenSSL 1.0.1 verf\u00fcgbar. Auf einem Linux-basierten System m\u00fcssen diese Voraussetzungen erf\u00fcllt sein:<br \/>\nApache 2.4.x+++<br \/>\nnginx 2.0.6+++<\/p>\n<p style=\"text-align: left;\">Wenn Sie diese Programmversionen installiert haben, bleibt nur noch, die PFS-Funktion wie oben beschrieben zu konfigurieren und die Cipher-Suiten korrekt anzuwenden.<\/p>\n<p>&nbsp;<\/p>\n<h3 style=\"text-align: left;\">PFS-Konfiguration: Drum pr\u00fcfe, was sich ewig verschl\u00fcsselt &#8230;<\/h3>\n<p style=\"text-align: left;\">Einrichten ist gut, pr\u00fcfen noch besser. Was tun, wenn sich Client-Probleme ergeben? Sie finden heraus, welche der Cipher-Suiten mit der obigen Auswahl unterst\u00fctzt werden, wenn Sie diesen Terminal-Befehl eingeben:<\/p>\n<p style=\"text-align: left;\">openssl ciphers -v &#8218;EECDH+AESGCM EDH+AESGCM !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4&#8216;<\/p>\n<p style=\"text-align: left;\">Viele Browser beziehungsweise Clients unterst\u00fctzten diese noch recht neuen Cipher-Suiten nicht \u2013 hoffentlich <strong>noch <\/strong><strong>nicht<\/strong> und das \u00e4ndert sich sehr bald. Ein typisches Problem in der Abw\u00e4rtskompatiblit\u00e4t kann sich also ergeben, wenn der Client dem Server zu Beginn einer Kommunikation veraltete Cipher-Suiten auflistet, die der Server nicht unterst\u00fctzt. Dann kann keine durch\u00a0<a href=\"https:\/\/www.psw-group.de\/ssl-zertifikate\/\" target=\"_blank\" rel=\"noopener\">SSL-Zertifikate<\/a>\u00a0verschl\u00fcsselte Kommunikation stattfinden. Sie k\u00f6nnen testen, welche Cipher-Suiten von Ihrem Browser unterst\u00fctzt werden: Die Website<em><a title=\"SSL Ciper Suite Details of your Browser der Uni Hannover\" href=\"https:\/\/cc.dcsec.uni-hannover.de\/\" target=\"_blank\" rel=\"nofollow noopener\"> SSL Ciper Suite Details of your Browser der Uni Hannover<\/a><\/em> hilft Ihnen dabei tatkr\u00e4ftig. F\u00fcr Chrome in der Version 32 sieht das so aus:<\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/www.psw-group.de\/support\/wp-content\/uploads\/2014\/10\/2014-10-24-13_44_14-PFS-einrichten.pdf-Adobe-Reader.1.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-2022 size-full\" title=\"Cipher-Suiten von Ihrem Browser\" src=\"https:\/\/www.psw-group.de\/support\/wp-content\/uploads\/2014\/10\/2014-10-24-13_44_14-PFS-einrichten.pdf-Adobe-Reader.1.jpg\" alt=\"Screenshot der Cipher-Suite f\u00fcr Chrome in der Version 32.\" width=\"703\" height=\"665\" \/><\/a><\/p>\n<p>Die Verbindung nutzt TLSv1.2 mit DHE-RSA-AES128-GCM-SHA256 und einen 128 Bit-Schl\u00fcssel zur Entschl\u00fcsselung und entspricht damit der Empfehlung des IETF.<\/p>\n<p>Bei Firefox in der Version 26 wird der Galois\/Counter-Mode (GCM) nicht unterst\u00fctzt, sodass sich Client und Server nicht auf eine Cipher-Suite einigen werden k\u00f6nnen. Es kann aufgrund der Abw\u00e4rtskompatibilit\u00e4t n\u00f6tig sein, weitere Cipher-Suiten au\u00dferhalb der von TLS 1.2 zuzulassen. So sieht das Ganze in Firefox aus:<\/p>\n<p><a href=\"https:\/\/www.psw-group.de\/support\/wp-content\/uploads\/2014\/10\/2014-10-24-13_44_40-PFS-einrichten.pdf-Adobe-Reader.2.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-2020 size-full\" title=\"Cipher-Suiten au\u00dferhalb von TLS 1.2 zuzulassen\" src=\"https:\/\/www.psw-group.de\/support\/wp-content\/uploads\/2014\/10\/2014-10-24-13_44_40-PFS-einrichten.pdf-Adobe-Reader.2.jpg\" alt=\"Screenshot der Cipher-Suite f\u00fcr Firefox in der Version 26.\" width=\"715\" height=\"738\" \/><\/a><\/p>\n<p>In der Version 19 nutzt Opera dieselben Parameter wie Google Chrome. Nutzen Sie Internet Explorer oder Safari? Dann teilen Sie Ihre Informationen gerne mit uns und unseren Lesern in den Kommentaren.<\/p>\n<p>Zum abschlie\u00dfenden Pr\u00fcfen Ihrer Konfiguration nutzen Sie idealerweise den <a title=\"SSL Server Test von ssllabs.com\" href=\"https:\/\/www.ssllabs.com\/ssltest\/\" target=\"_blank\" rel=\"noindex,nofollow noopener noreferrer\"><em>SSL Server Test von ssllabs.com.<\/em><\/a> Wir haben uns einmal die Seite bundestag.de angeschaut, die mit einem B-Rating davonkommt:<\/p>\n<p><a href=\"https:\/\/www.psw-group.de\/support\/wp-content\/uploads\/2014\/10\/2014-10-24-13_48_16-PFS-einrichten.pdf-Adobe-Reader.3.png\"><img decoding=\"async\" class=\"aligncenter wp-image-406 size-full\" title=\"Konfiguration pr\u00fcfen\" src=\"https:\/\/www.psw-group.de\/support\/wp-content\/uploads\/2014\/10\/2014-10-24-13_48_16-PFS-einrichten.pdf-Adobe-Reader.3.png\" alt=\"Konfiguration pr\u00fcfen\" width=\"766\" height=\"427\" \/><\/a>Der fehlende Support von TLS 1.2 wird bem\u00e4ngelt und das Handshake-Protocol zeigt, dass auch der Support von TLS 1.1 fehlt. Deshalb ist es, wie oben erw\u00e4hnt, empfehlenswert, Probleme der Abw\u00e4rtskompatibilit\u00e4t durch das Einschlie\u00dfen \u00e4lterer TLS-Versionen zu vermeiden.<\/p>\n<p>Haben Sie erg\u00e4nzende Kommentare oder Tipps und Tricks, die unseren Lesern weiterhelfen? Dann freuen wir uns \u00fcber Ihre Kommentare \u2013 auch Ihre Fragen sind selbstredend willkommen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Perfect Forward Secrecy \u2013 das ist ein SSL-Feature, das es erlaubt, sicher zu kommunizieren und Kommunikationen im Nachhinein nicht entschl\u00fcsseln zu lassen. Basierend auf dem Diffie-Hellman-Verfahren, senden sich zwei Kommunikationspartner (Client und Server) verschiedene Nachrichten, um einen gemeinsamen Schl\u00fcssel zu bekommen. Dieser Schl\u00fcssel wird nie \u00fcber die Leitung \u00fcbertragen, denn der \u00f6ffentliche Schl\u00fcssel des Servers&#8230;<\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[507],"tags":[166,167,168,169,170,171,172],"class_list":["post-1871","post","type-post","status-publish","format-standard","hentry","category-installation","tag-client-und-server","tag-perfect-forward-secrecy","tag-pfs","tag-security","tag-sichere-kommunikation","tag-ssl","tag-verschluesselung"],"_links":{"self":[{"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/posts\/1871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/comments?post=1871"}],"version-history":[{"count":6,"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/posts\/1871\/revisions"}],"predecessor-version":[{"id":3779,"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/posts\/1871\/revisions\/3779"}],"wp:attachment":[{"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/media?parent=1871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/categories?post=1871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.psw-group.de\/support\/wp-json\/wp\/v2\/tags?post=1871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}