Whitepaper zu VPN von Google One

Alles Wichtige zum VPN von Google One

Bei Google ist es uns sehr wichtig, dass unsere Nutzer online möglichst sicher sind. Deshalb schützen wir ihre personenbezogenen Daten jederzeit so gut wie möglich. Bei der Entwicklung unserer Produkte legen wir besonderes Augenmerk auf drei Grundsätze: den Schutz der Daten unserer Nutzer, den verantwortungsvollen Umgang mit diesen Daten und Verwaltungsmöglichkeiten für Nutzer. Im Laufe der Jahre haben wir im Rahmen dieser Grundsätze Tools entwickelt, mit denen Nutzer ihre Passwörter verwalten, ihren Aktivitätsverlauf ansehen und löschen, Fristen für das automatische Löschen festlegen, die Speicherung von Web- und App-Aktivitäten deaktivieren und privates Surfen aktivieren können.

Außerdem fördern wir seit Langem den Einsatz von Transport Layer Security (TLS), einem weit verbreiteten kryptografischen Protokoll zur Sicherung der Kommunikation über Netzwerke, und anderer Schutzmaßnahmen im gesamten Web. Leider verpflichten sich nicht alle Onlinedienstleister zur Umsetzung strenger Datenschutzstandards1. Dadurch entstehen Sicherheitslücken und Nutzer haben weniger Einflussmöglichkeiten darauf, wer auf die Daten über ihren Netzwerkverkehr Zugriff hat. Selbst wenn die Sicherheitsvorkehrungen von Onlinedienstleistern ordnungsgemäß genutzt werden, sind Informationen wie etwa die IP-Adresse und besuchte Websites nicht immer verschlüsselt und können von anderen eingesehen werden.

Ein VPN sorgt sowohl für eine verschlüsselte Übertragung als auch eine Anonymisierung der IP-Adresse für Pakete zwischen den Nutzergeräten und den VPN-Servern. Wenn das VPN sicher implementiert wurde, verbirgt es die Onlineaktivitäten vor Netzwerkknoten, die möglicherweise Einblick in den Datenverkehr des Nutzers haben, beispielsweise vor öffentlichen WLAN-Hotspots oder anderen Dienstanbietern. Das verhindert zwar, dass Vermittler den Datenverkehr des Nutzers ausspähen können, versetzt den VPN-Anbieter jedoch gleichzeitig in die Lage, den gesamten unverschlüsselten Datenverkehr des Nutzers einzusehen, z. B. die Domain jeder besuchten Website. Deshalb muss der Nutzer darauf vertrauen können, dass der VPN-Anbieter verlässliche Datenschutz- und Sicherheitsgarantien bietet.

Unsecured connections v. VPN Connections

Abbildung 1: Vergleich von ungesicherten und VPN-Verbindungen

VPNs haben mittlerweile ihr Nischendasein verlassen und ihr Einsatz wird mehr und mehr zur Normalität. So haben im Dezember 2019 bis zu 25 % aller Internetnutzer auf ein VPN zugegriffen.2 Leider haben sich nicht alle VPN-Anbieter als vertrauenswürdig erwiesen: Einige Dienste haben Sicherheitslücken3, andere verlangen unnötigen Zugriff auf die Daten von Nutzern oder verkaufen die Daten, die die Nutzer durch das VPN schützen wollen. Wieder andere protokollieren trotz eines gegenteiligen Versprechens die Onlineaktivitäten ihrer Nutzer.4

Angesichts der wachsenden Nachfrage nach besserem Datenschutz in einer Umgebung aus verschiedenen Lösungen haben wir unser Fachwissen in den Bereichen Datenschutz, Kryptografie und Infrastruktur genutzt, um ein VPN auf Google-Niveau zu entwickeln, das zusätzliche Sicherheit und Datenschutz für Onlineverbindungen ohne unnötige Leistungseinbußen bietet. Bei unserem Dienst VPN von Google One sind die Onlineaktivitäten von Nutzern für das VPN nicht identifizierbar und werden vom VPN nicht protokolliert. Wir sind der Ansicht, dass ein VPN transparent und zuverlässig sein muss. Aus diesem Grund ist unser Client Open Source. Außerdem werden wir die End-to-End-Lösung durch einen Drittanbieter auditieren lassen, damit die Einhaltung unserer Standards auch von einer externen Stelle bestätigt werden kann.

Details

Der Datenschutz bildet den Kern der Produkte und Dienstleistungen, die wir entwickeln. Bei VPN von Google One wird die VPN-Verbindung niemals genutzt, um deine Onlineaktivitäten zu beobachten oder zu protokollieren oder Daten zu deinen Onlineaktivitäten zu verkaufen. Es werden nur einige wenige Daten protokolliert, die für die Sicherstellung der Dienstqualität erforderlich sind, auf keinen Fall jedoch dein Netzwerkverkehr und die dem VPN zugeordnete IP-Adresse. Um zu demonstrieren, wie unser Konzept funktioniert, haben wir den Code, der auf dem Gerät des Nutzers ausgeführt wird, als Open Source zugänglich gemacht. Außerdem haben wir das System durch einen Drittanbieter auditieren lassen. Im entsprechenden Bericht findest du eine unabhängige Bestätigung der Maßnahmen, die wir beim Datenschutz und im Bereich Sicherheit ergreifen.

Zu diesen Maßnahmen gehören die Bereitstellung des VPN als Open Source und das externe Audit. Während der Entwicklung von VPN von Google One haben wir erkannt, dass es wichtig ist, einige der Systeme zu stärken, die häufig angegriffen werden oder besonders gefährdet sind.

Bei herkömmlichen VPNs werden manchmal die Identität eines Nutzers oder seine Onlineaktivitäten gefährdet, indem die Verwendung des Dienstes über eine Sitzungs-ID mit den Aktivitäten des Nutzers verknüpft wird. Über diese ID können VPN-Betreiber oder Angreifer Nutzer ausspähen und ihre Identität und Aktivitäten identifizieren.

Traditional Authentication Architecture

Abbildung 2: Herkömmliche Authentifizierungsarchitektur

Wir wollten diese Schwachstelle beseitigen, indem wir die Authentifizierung des Abonnenten von seiner Nutzung des Dienstes trennen. Durch den Einsatz eines kryptografischen Verfahrens namens „Blinding“ zwischen der Bestätigung des Nutzerabos und der Verbindung mit dem VPN schützen wir die Onlineaktivitäten besser, da sie nicht so leicht zur Identität des Nutzers zurückverfolgt werden können.

VPN by Google One’s authentication with blind signatures

Abbildung 3: Authentifizierung bei VPN von Google One mit blinden Signaturen

Auf architektonischer Ebene haben wir den Datentunnel in zwei separate Dienste unterteilt:

  • Authentifizierungsdienst: Dieser Dienst dient dazu, die Berechtigung des Nutzers zum Zugriff auf das VPN von Google One zu bestätigen. Der Client generiert als Erstes ein OAuth-Token und ein blindes Token (Definition siehe unten). Anschließend bestätigt der Authentifizierungsdienst das OAuth-Token und tauscht es gegen ein signiertes blindes Token aus.
  • Key Management Service: Der Client kann dann dieses signierte Token mit kryptografischem Blinding entschlüsseln. Wenn der Client mit dem Datentunnelserver verbunden wird, stellt er dem Datentunnelserver nur dieses signierte, entschlüsselte Token zur Verfügung. Das einzige Element, das den Authentifizierungsserver mit dem Datentunnelserver verbindet, ist also ein öffentlicher Schlüssel. Er wird verwendet, um alle blinden Tokens zu signieren, die in einem bestimmten Zeitraum vorgelegt werden.

Der verwendete Blinding-Algorithmus wurde erstmals 1982 von Chaum beschrieben5 und wird allgemein als „RSA Blind Signing“ bezeichnet. Ziel ist es, im Authentifizierungsserver und im Key Management Service niemals dieselbe Kennung zu verwenden. Dazu generiert der Client ein Token und hasht es über einen Full Domain Hash. Anschließend wird es mit einem Zufallswert und dem öffentlichen Signierschlüssel des Servers kombiniert, um ein blindes Token zu erzeugen. Dieses blinde Token wird dann von unserem Authentifizierungsserver signiert. Wenn der Client sich mit dem VPN verbinden möchte, kann er das blinde Token und dessen Signatur mit dem nur ihm bekannten Zufallswert entschlüsseln. Das entschlüsselte Token und die Signatur sind dann durch unseren Key Management Server überprüfbar.

Die Server sind physisch getrennt und teilen nur eine kryptografische Root of Trust, um das signierte, entschlüsselte Token zu bestätigen. Ansonsten teilen sie grundsätzlich keine anderen Informationen, insbesondere stehen den Datentunnel-Servern keine identifizierbaren Nutzerdaten zur Verfügung. Aufgrund dieser sorgfältigen Authentifizierungsarchitektur hätte ein Angreifer nicht genügend Zeit, nachdem er die kryptografischen Schutzmechanismen eines der Dienste überwunden hat, auch den zweiten Dienst zu knacken. Und nur wenn beide Dienste gehackt wurden, wäre es möglich, die Aktivitäten mit einem Nutzer in Verbindung zu bringen. Wir haben errechnet, dass es Jahre dauern würde, beide Dienste zu knacken, selbst wenn man die gesamte Rechenkapazität von Google weltweit nutzen würde.

Nutzer profitieren nur dann von einem VPN, wenn sie es auch einsetzen. Wenn das VPN langsam oder unzuverlässig ist, schalten die Nutzer es möglicherweise ab und gefährden so ihren Datenverkehr. Deshalb bilden Geschwindigkeit und Zuverlässigkeit die Basis unseres VPNs. Bei der Markteinführung werden wir ein Google-eigenes VPN-Protokoll verwenden. Um jedoch einen hohen Durchsatz zu ermöglichen und gleichzeitig den Akkuverbrauch zu minimieren, werden wir bald das von Android nativ unterstützte IPsec als Datentunnelprotokoll einsetzen. Möglicherweise werden wir später auch andere Protokolle nutzen, z. B. Wireguard. Das hängt davon ab, ob sich deren native Unterstützung verbessert oder ob Plattformen genutzt werden, auf denen der Einsatz bestimmter Protokolle keinen besonderen Vorteil hat.

Bevor der Client den Aufbau des Datentunnels initiiert, führt er eine DNS-Abfrage durch, um einen Pool von sich topologisch in der Nähe befindlichen Ausgangsknoten an einem der PoP-Standorte (Points of Presence) von Google aufzulösen. Der Client fordert während des Aufbaus des Datentunnels an, mit diesem Pool verbunden zu werden. Dadurch wird eine Verbindung mit niedriger Latenz auf einem Knoten mit angemessener Last gewährleistet.

Der VPN-Dienst schränkt die Durchsatzgeschwindigkeit beim Nutzer nicht ein und lässt so viel Traffic zu, wie die Infrastruktur bereitstellen kann. Dadurch sind oft Geschwindigkeiten von über 300 Mbit/s möglich.

Während die Nutzer-ID und die IP-Daten bereits durch die Authentifizierungsschritte geschützt sind, protokolliert der Datentunnelpfad keinen Datenverkehr des Nutzers. Er zeichnet nur aggregierte Messwerte ohne identifizierbare Nutzerinformationen auf, sofern das für die Zuverlässigkeit des Diensts erforderlich ist. Das verbessert die Zuverlässigkeit des Diensts, ohne die Datenschutzgarantien des VPNs zu beeinträchtigen. Wir kombinieren diese Ansätze mit strengen Standards zur Protokollierung und Überprüfung unseres Open-Source-Codes, um sicherzustellen, dass das VPN vertrauenswürdig bleibt.

Die Verwendung eines VPNs sollte nicht erfordern, dem VPN-Anbieter vollkommen zu vertrauen. Ein VPN-Anbieter sollte transparent darlegen können, wie sein Dienst Nutzerdaten schützt. Unser clientseitiger VPN-Code ist Open Source, damit Nutzer und Datenschutzexperten überprüfen können, wie wir mit Nutzerdaten umgehen. Wir werden das VPN von Google One in seiner Gesamtheit – einschließlich der serverseitigen Implementierung – durch externe Sicherheitsexperten auditieren lassen und einen Bericht über unsere VPN-Datenschutzmaßnahmen veröffentlichen.

In Planung

Wir sind der Ansicht, dass ein vertrauliches und leistungsfähiges VPN dazu beitragen wird, den Datenschutz und die Sicherheit online deutlich zu verbessern. Deshalb möchten wir die VPN-Technologie so vielen Nutzern zur Verfügung stellen wie möglich.

Für den Anfang wird der Dienst auf Android-Geräten verfügbar sein. Wir planen jedoch, ihn auch auf andere Plattformen wie iOS, Chrome OS, Windows und Mac auszuweiten.

Da ein VPN an der Schnittstelle zwischen Gerät und Netzwerk arbeitet, wehrt es Bedrohungen ab, bevor sie Geräte überhaupt erreichen. Dadurch bieten sich viele Möglichkeiten, um die Sicherheit weiter zu erhöhen. Das werden wir bei zukünftigen Erweiterungen berücksichtigen.