Whitepaper over VPN van Google One

Meer informatie over het VPN van Google One

Bij Google werken we er continu aan om de privacy en beveiliging van de persoonlijke informatie van onze gebruikers te beschermen, zodat ze beveiligd kunnen internetten. We richten ons op 3 kernprincipes: de gegevens standaard beveiligen, producten zo ontwerpen dat ze privé zijn en onze gebruikers (jou) de controle geven.

Als het gaat om netwerkprivacy en -beveiliging, stimuleren we al lang het gebruik van Transport Layer Security (TLS) en andere beveiligingsmaatregelen binnen de bredere web- en app-ecosystemen. Niet elke online serviceprovider zet zich in om strenge standaarden voor gegevensbescherming te implementeren1, waardoor consumenten niet altijd even goed worden beschermd en ze niet altijd evenveel controle hebben over wie toegang heeft tot hun netwerkverkeer. Zelfs als beveiligingsmaatregelen op de juiste manier worden gebruikt, zijn gevoelige gegevens zoals je IP-adres en de sites die je bezoekt mogelijk zichtbaar voor anderen2.

Als een VPN correct is geïmplementeerd, biedt het aanvullende bescherming door:

  • Versleutelde overdracht te bieden om je gegevens en netwerkactiviteit te verbergen voor hackers en netwerknodes onderweg, zoals openbare wifi-hotspots of andere serviceproviders.
  • Je IP-adres te maskeren voor trackers, sites en apps die je bezoekt en die dit adres zouden kunnen gebruiken om je locatie of netwerkactiviteit te volgen.
how a VPN connection works

Afbeelding 1: Hoe een VPN-verbinding werkt

Hoewel een VPN de mogelijkheid wegneemt dat tussenpersonen meekijken met je verkeer, geeft dit de VPN-provider wel een bevoorrechte positie om mogelijk je gevoelige gegevens te bekijken. Daarom is het belangrijk om een VPN-provider met sterke privacy- en beveiligingsgaranties te kiezen. Helaas zijn niet alle VPN-providers betrouwbaar gebleken: sommige services zijn kwetsbaar3, andere vragen om onnodige toegang tot de netwerkgegevens van hun gebruikers of genereren er inkomsten mee. Een aantal providers houdt zich daarnaast niet aan de belofte om de online activiteiten van gebruikers niet bij te houden4.

Als gevolg van de groeiende vraag naar VPN's5 in een mengeling van oplossingen hebben we onze expertise op het gebied van privacy, cryptografie en netwerkinfrastructuur gebruikt om een VPN van Google-kwaliteit te bouwen. Met VPN van Google One kan het netwerkverkeer van gebruikers niet in verband worden gebracht met het VPN en wordt dit nooit door het VPN bijgehouden. We gebruiken de VPN-verbinding nooit om je online activiteit bij te houden, te registreren of te verkopen.

Transparant en verifieerbaar privé

Wij zijn van mening dat een VPN solide en transparant moet zijn. Om te tonen hoe ons ontwerp werkt en om onze maatregelen voor gegevens en beveiliging onafhankelijk te laten waarborgen, hebben we onze client-API's open source gemaakt (hier) en laten we regelmatig externe audits van ons systeem uitvoeren (hier).

Naast deze transparantie en externe controle hebben we VPN van Google One ontwikkeld om potentiële kwetsbaarheden van traditionele architecturen aan te pakken. Een traditionele VPN kan de gevoelige gegevens van gebruikers in gevaar brengen doordat hun identiteit door middel van een sessie-ID aan hun netwerkverkeer wordt gekoppeld. Met deze ID kunnen VPN-beheerders (of aanvallers die hun infrastructuur in gevaar brengen) meekijken en de gebruikers en hun netwerkactiviteit herkennen.

We wilden die kwetsbaarheid wegnemen door de verificatie van gebruikers te scheiden van hun gebruik van de service. Door een ondertekenstap met cryptografische blindering toe te passen tussen de gebruikersverificatie en het maken van verbinding met het VPN, bieden we gebruikers een betere garantie dat hun netwerkactiviteit niet terug te voeren is op hun identiteit.

VPN by Google One’s authentication with blind signatures image

Afbeelding 2: De verificatie in VPN van Google One met geblindeerde handtekeningen

Architecturally, we’ve split authentication from the data tunnel setup into two separate services:

  • Authentication service: This service validates users’ access to VPN by Google One. The client first generates an OAuth token and a blinded token (see below for definition). Then, the authentication service validates and exchanges the OAuth token for a signed blinded token.
  • Key Management Service: The client can then ‘unblind’ this signed blinded token using cryptographic blinding. When the client connects to the data tunnel server, it provides only this signed unblinded token to the data tunnel server. Thus, the only piece that links the authentication server to the data tunnel server is a single, public key, used to sign all blinded tokens presented during a limited period of time.

Het gebruikte blinderende algoritme werd voor het eerst in 1982 beschreven door Chaum6 en wordt gewoonlijk 'RSA Blind Signing' genoemd. Het doel hiervan is om in de verificatieserver en de service voor sleutelbeheer nooit dezelfde ID te gebruiken. De client maakt hiervoor een token, hasht dit met een volledige domeinhash en combineert het met een willekeurige waarde en de openbare ondertekeningssleutel van de server om een geblindeerd token te produceren. Dit geblindeerde token wordt vervolgens ondertekend door onze verificatieserver. Als de client verbinding wil maken met het VPN, kan het VPN de afscherming van het geblindeerde token en de bijbehorende handtekening verwijderen met de willekeurige waarde die alleen het VPN kent. Het niet-geblindeerde token en de bijbehorende handtekening kunnen vervolgens worden geverifieerd door onze server voor sleutelbeheer.

De servers zijn fysiek verschillend en delen alleen een cryptografische vertrouwensbasis om het ondertekende niet-geblindeerde token te valideren. Verder delen ze geen enkele andere informatie. Als gevolg van deze zorgvuldige verificatiearchitectuur wordt het voor een aanvaller onhaalbaar om de cryptografische beveiligingsmaatregelen van een van de services te breken met nog voldoende tijd om ook de tweede service te breken en zo gebruikers aan hun netwerkactiviteit te kunnen koppelen. We hebben berekend dat het jaren zou duren om beide services te breken, zelfs als we het equivalent van ongeveer de totale wereldwijde rekencapaciteit van Google gebruiken.

VPN-logboekregistratie

The authentication step has already separated the user’s identity from the data tunnel that handles your network traffic. On top of that protection, the following data is never logged:

  • Network traffic, including DNS
  • IP addresses of the devices connecting to the VPN
  • Bandwidth utilized by an individual user
  • Connection timestamps by user

The VPN authentication and data plane services only record aggregate metrics —without any user identifiable information— for service reliability and performance optimization. These include aggregate throughput, uptime, latency, CPU/memory load and failure rates. Client applications running on the user's device may log additional metrics to understand product and feature adoption and engagement, prevent fraud, and to ensure VPN connection health. Client applications also provide the option to send feedback and errors to us, which include application and system logs, and are used for debugging purposes.

Using a VPN shouldn’t require that you completely turn over your trust to the VPN provider. A VPN provider should be able to transparently demonstrate how their service keeps your data private. Our VPN client-side code is open sourced so that users and privacy experts alike can verify how user data is handled, and we open up our implementation to rigorous external audits so you can be confident in our VPN’s privacy and security guarantees.

We believe an easy to use, highly private and performant VPN will significantly help improve user privacy online. So it should come as no surprise that we want to make VPN technology available to as many users as possible.

For more information about how VPN works, see: