Verschlüsselung: Facebook legt interne TLS-1.3-Bibliothek offen
Eigenen Angaben zufolge nutzt mittlerweile 50 Prozent von Facebooks Traffic TLS 1.3. Genutzt wird dies vor allem in der eigenen Infrastruktur und weltweit in allen Mobile-Apps. Die verwendete Bibliothek Fizz ist nun Open Source.

Facebook hat seine intern genutzte Bibliothek Fizz für die Verschlüsselung mit TLS 1.3 als Open Source veröffentlicht. Der Ankündigung zufolge werden damit bei Facebook mehr als eine Million TLS-1.3-Handshakes pro Sekunde abgewickelt. Das Unternehmen nimmt deshalb an, dass es sich hierbei um die derzeitig größte Nutzung von TLS 1.3 im Internet handelt, was durchaus naheliegend ist. Immerhin ist TLS 1.3 erst seit wenigen Monaten offiziell fertiggestellt und die allgemeine Verbreitung des neuen Verschlüsselungsstandards vor allem deshalb noch eher gering.
Fizz ist in C++ 14 geschrieben und soll robust sein sowie eine besonders hohe Leistung liefern. Zusätzlich zu den Verbesserungen aus Version 1.3, mit denen TLS selbst beschleunigt wird, nutzt Fizz standardmäßig asynchrones I/O sowie sogenanntes Scatter/Gather I/O, wodurch unnötige Datenkopien verhindert werden sollen.
Schnelleres I/O
Letzteres ist eine Abkehr von der bisherigen Vorgehensweise üblicher TLS-Bibliotheken, die nur zusammenhängende Daten im Speicher verschlüsseln und diese dann in einen Socket schreiben. Fizz dagegen verzichtet darauf, die Einzeldaten zu einem zusammenhängenden Bereich zu kopieren, sondern verschlüsselt die Einzeldaten schlicht an ihrer originären Speicherstelle. Dadurch sind weniger Speicherzuweisungen und Kopiervorgängen notwendig.
Die Asynchronität wird durch Future-Konstruktionen in C++ erreicht, und dient vor allem dazu, den Dienst nicht zu blockieren, so dass dieser weitere Handshakes verarbeiten kann. Dass das überhaupt notwendig ist, führt Facebook auf das komplizierte Deployment zurück, bei dem verschiedene Aufgaben auf unterschiedliche verteilte Dienste verschoben werden. Dazu gehören etwa Zertifikat-Operationen oder das Entschlüsseln von Tickets. Fizz soll außerdem auch einige besondere Sicherheitsvorkehrungen umsetzen, wie etwa einen expliziten endlichen Automaten für TLS.
Facebook nutzt Fizz eigenen Angaben zufolge in sämtlichen seiner Mobile-Apps weltweit, in seinem HTTP-Framework Proxygen, seinen Load-Balancern und internen Diensten sowie auch in seiner eigenen Quic-Implementierung. Der Code von Fizz basiert auf Folly, OpenSSL sowie Libsodium und steht unter eine BSD-Lizenz auf Github bereit.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Danke. Sehr gern! : )