Vitbok om VPN från Google One

VPN från Google One – så här fungerar det

Google skyddar sina användare online genom att ständigt arbeta med säkerheten och integriteten för deras personliga uppgifter. Vi fokuserar på tre grundprinciper: skydda data som standard, skapa produkter med inbyggt integritetsskydd och ge kontrollen till våra användare – dig.

När det gäller nätverksintegritet och säkerhet uppmuntrar vi sedan länge användning av TLS (Transport Layer Security) och andra skydd i de mer omfattande webb- och appekosystemen. Tyvärr strävar inte alla onlinetjänstleverantörer efter att implementera rigorösa dataskyddsstandarder1, vilket skapar brister i konsumenternas skydd och i hur stor kontroll de har över vem som kan få åtkomst till deras nätverkstrafik. Även om skydd implementeras på ett bra sätt kan det hända att andra kan visa känsliga uppgifter, till exempel din IP-adress och de webbplatser du besöker2.

När en VPN-anslutning har implementerats på ett säkert sätt ger den ytterligare skydd genom att

  • tillhandahålla krypterad överföring som döljer din data och nätverksaktivitet från hackare och nätverksnoder längs vägen, till exempel offentliga wifi-surfzoner eller andra tjänsteleverantörer
  • maskera din IP-adress från spårning, webbplatser och appar som du besöker så att den inte kan användas för att registrera din plats eller nätverksaktivitet.
how a VPN connection works

Bild 1: Så fungerar en VPN-anslutning

En VPN-anslutning ser till att mellanhänder inte kan se din trafik, men ger istället VPN-leverantören en unik möjlighet att potentiellt komma åt dina känsliga uppgifter. Därför är det viktigt att välja en VPN-leverantör som ger robusta integritets- och säkerhetsgarantier. Tyvärr har inte alla VPN-leverantörer visat sig vara pålitliga: vissa tjänster är sårbara3, andra kräver onödig behörighet eller genererar intäkter via användarnas nätverksdata och ytterligare andra håller inte sitt löfte om att inte logga användarnas onlineaktivitet4.

Eftersom efterfrågan på VPN-tjänster5 växer i ett blandat landskap av lösningar har vi använt vår expertis inom integritet, kryptografi och nätverksinfrastruktur för att skapa en VPN som håller Google-klass. Med VPN från Google One kan VPN-tjänsten inte identifiera användarnas nätverkstrafik, och den loggas aldrig av VPN-tjänsten. Vi använder aldrig VPN-anslutningen för att registrera, logga eller sälja din onlineaktivitet.

Insyn och integritet som kan verifieras

Vi anser att en VPN-tjänst måste vara robust och transparent. För att visa hur vår design fungerar och ge oberoende garantier för våra data- och säkerhetsmetoder har vi skapat klient-API:er med öppen källkod (här) och anlitat tredjeparter för att granska våra system (här).

Utöver denna insyn och externa kontroll har vi utformat Google One för att åtgärda några av de potentiella sårbarheterna i traditionella arkitekturer. En traditionell VPN kan äventyra användarnas känsliga uppgifter genom att koppla deras identitet till deras nätverkstrafik genom ett sessions-id. Med detta id kan VPN-operatörer eller angripare som gör intrång i infrastrukturen ”tjuvlyssna” och identifiera användarnas och deras nätverksaktivitet.

Vi ville eliminera denna sårbarhet genom att separera användarautentiseringen från användningen av tjänsten. Genom att tillämpa ett signatursteg med kryptografisk blindning mellan användarautentisering och anslutning till VPN-tjänsten ger vi användarna en starkare garanti för att deras nätverksaktivitet inte kan kopplas till deras identitet.

VPN by Google One’s authentication with blind signatures image

Bild 2: VPN från Google Ones autentisering med blinda signaturer

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.

Den blindningsalgoritm som används beskrevs först av Chaum år 19826 och den kallas vanligen RSA Blind Signing. Målet är att aldrig använda samma id på autentiseringsservern och i nyckelhanteringstjänsten. För att åstadkomma detta skapar klienten en token, hashlagrar den med en full domänhash och kombinerar den med ett slumpmässigt värde och serverns offentliga signeringsnyckel för att skapa en blind token. Denna blinda token signeras sedan av vår autentiseringsserver. När kunden vill ansluta till VPN-tjänsten kan den blinda token och dess signatur ”visas” med det slumpmässiga värde som enbart den känner till. Token och signatur som visas kan då verifieras av vår nyckelhanteringsserver.

Servrarna är fysiskt distinkta och delar enbart en kryptografisk förtroenderot för att validera den signerade token som visas. De delar ingen annan information. Tack vare denna omsorgsfullt utformade autentiseringsarkitektur blir det mycket svårt för en angripare att ta sig igenom de kryptografiska skydden för en av våra tjänster och ha tillräckligt med tid för att ta sig igenom skyddet för den andra och på så sätt kunna koppla en användare till en nätverksaktivitet. Vi har beräknat att det skulle ta flera år att ta sig in i båda tjänsterna, även om en ungefärlig motsvarighet till Googles totala globala datorkraft skulle användas.

VPN-loggningsmetoder

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: