Eine Videokonferenz, 40 Teilnehmer, 40 Ende-zu-Ende verschlüsselte Videostreams. Signal erklärt, wie das auch ohne unendliche Bandbreite geht.

Bei Signal ist es inzwischen möglich, Videokonferenzen mit bis zu 40 Teilnehmern durchzuführen; mit Ende-zu-Ende verschlüsselten Video- und Audiostreams, wohlgemerkt.
Man hofft, diese Grenze noch weiter nach oben verschieben zu können - ohne die an den einzelnen Clients zur Verfügung stehende Bandbreite zu sprengen. Auf ihrem Blog verraten die Entwickler Konzepte, die Architektur und die verwendeten Techniken, um so etwas möglich zu machen.
Die Architektur
Grundsätzlich funktionieren die Videokonferenzen bei Signal so, dass alle Teilnehmer Video und Audio zu einem Server schicken, der dann die Videos aller an alle Teilnehmer verteilt, und zwar in einer für den Empfänger passenden Auflösung, damit es möglichst nicht zu Datenstaus kommt, weil die Bandbreite auf Empfängerseite nicht ausreicht.
An sich ist das nichts Besonderes. Die meisten Dienste für Videokonferenzen funktionieren nach diesem Prinzip, weil eine Peer-to-Peer-Lösung mit einem vollständigen Mesh-Netzwerk schon bei relativ wenigen Teilnehmern die Internetanschlüsse der meisten Nutzer völlig überfordern würde. Schließlich müssten dann von jedem beteiligten Client Video und Audio zu allen anderen beteiligten Clients gestreamt werden.
Das Problem der Architektur mit dazwischengeschaltetem Server, der sich um die Verteilung und die Anpassung der Qualität der Videostreams auf die Bandbreite des jeweiligen Empfängers kümmert, liegt darin, dass der Server bei der Ende-zu-Ende-Verschlüsselung keinen Zugriff auf den Inhalt hat. Auflösung oder Bildfrequenz können also nicht angepasst werden.
Signals Trick besteht darin, dass alle Teilnehmer den eigenen Videostream gleich in mehreren Auflösungen einzeln verschlüsselt zu den Servern schicken und auf dem Server praktisch nur entschieden wird, welcher Endpunkt mit welcher Auflösung von welchem Videostream versorgt wird.
Der Trick mit der Zeitsynchronisation und der Paketfolge
Im Prinzip erhalten die Server von Signal, Selective Forwarding Units (SFUs) genannt, also von allen Teilnehmern gleich mehrere verschlüsselte Videostreams. Weil deren Timestamps nicht übereinstimmen müssen und ein Stream in geringerer Auflösung auch aus weniger Datenpaketen besteht, obliegt es den SFUs, diese Timestamps zu synchronisieren, für die Empfänger einzeln auch bei wechselnder Auflösung mit einer neuen Paketfolgenummerierung zu versehen und diese zu senden.
Weil die Empfänger den Servern Feedback darüber geben, wie groß der Lag bei den empfangenen Paketen ist und wie groß welcher Videostream gerade angezeigt wird, können die SFUs auf diese Informationen reagieren, größer angezeigte Videos vor kleiner angezeigten priorisieren und so für jeden einzelnen Videostream die Auflösung wählen, die für das Gesamtergebnis am besten ist und gleichzeitig die Leitung der Empfänger nicht überfordert. Da die Daten auf den SFUs nicht zwischengespeichert werden, geschieht dies in Echtzeit.
Die Verschlüsselung an sich
Damit die Verschlüsselung dabei reibungslos klappt, generiert jeder Sender für die eigenen Videostreams einen Schlüssel, der dann per unsichtbarer Instant Messages (die bei Signal ja grundsätzlich bereits verschlüsselt sind) an alle Teilnehmer einzeln verschickt wird. Jedes Mal, wenn Teilnehmer zu der Konferenz hinzustoßen oder diese verlassen, generiert jeder Sender neue Schlüssel und verschickt diese, um nach drei Sekunden mit der neuen Verschlüsselung weiter zu senden, so dass niemand Teile der Videokonferenz entschlüsseln kann, der nicht zu diesem Zeitpunkt auch Teilnehmer war.
Da Signal die verwendeten Techniken so offen anspricht, kann sich kein Anbieter von Videokonferenzen mehr herausreden, Ende-zu-Ende-Verschlüsselung sei zu aufwendig oder gar technisch kaum zu machen: Die Anleitung ist frei verfügbar.
https://ift.tt/3oWOLep
Technik
Bagikan Berita Ini
0 Response to "Signal: Die Technik hinter großen verschlüsselten Videokonferenzen - Golem.de - Golem.de"
Post a Comment