Sikkerhed og compliance
Sikkerhed er ikke en funktion. Det er arkitekturen.
Værn er bygget, så de mest følsomme ting aldrig kommer i nærheden af os: Den private nøgle bliver på enheden, og trafikken går direkte til noden uden at blive logget.
01Arkitektur
Kontrolplan og dataplan er adskilt.
Værns API ved, hvilke offentlige nøgler der må forbinde til hvilke noder – og intet andet. Selve trafikken kender vi ikke.
01
Browseren
Når en enhed oprettes
- Danner X25519-nøglepar lokalt
- Sender kun den offentlige nøgle
- Bygger .conf og QR-kode lokalt
02
Værn API
Kontrolplan hostet i Norden
- Validerer og gemmer den offentlige nøgle
- Danner PSK og krypterer den med AES-256-GCM
- Tildeler IP-adresser og node
03
Node-agent
På hver WireGuard-node
- Henter peers med sit eget token
- Henter kun ved ændringer (ETag)
- Melder handshake og byte-tællere
04
WireGuard-node
København, Stockholm, Oslo …
- Kender kun offentlige nøgler og PSK
- Logger ikke trafik eller DNS
05
Din enhed
Den officielle WireGuard-app
- Holder den private nøgle – vi ser den aldrig
- Sender trafikken direkte til noden
02Kryptografi
Moderne primitiver. Ingen forhandling.
WireGuard bruger ét fast sæt velafprøvede algoritmer. Der er ingen cipher suites at konfigurere forkert og intet at nedgradere til.
- NøgleudvekslingCurve25519
- Elliptisk kurve-Diffie-Hellman (X25519). Hver enhed og hver node har sit eget nøglepar.
- Kryptering og integritetChaCha20-Poly1305
- Autentificeret kryptering af hver eneste pakke. Hurtig også på telefoner og bærbare uden AES-acceleration.
- Hashing og nøgleafledningBLAKE2s
- Bruges i handshaket og til at aflede de kortlivede sessionsnøgler.
- Ekstra symmetrisk lagPreshared key
- En unik 256-bit nøgle pr. enhed blandes ind i handshaket. Optaget trafik kan ikke dekrypteres alene ved at bryde Curve25519 – heller ikke med en fremtidig kvantecomputer.
Protokollen bygger på Noise-rammeværket (Noise_IKpsk2) og forhandler nye sessionsnøgler mindst hvert andet minut. Selv hvis en langtidsnøgle kompromitteres, kan tidligere trafik ikke dekrypteres.
# vaern-annas-macbook.conf – eksempel[Interface]PrivateKey = •••••••••••••••••••••••••••• # dannet i browserenAddress = 10.64.1.4/32, fd7a:7661:6572::104/128DNS = 10.64.0.54 # malwarefilter[Peer]PublicKey = 7bR4mXq0…Lh2= # nodens nøglePresharedKey = •••••••••••••••• # unik pr. enhedEndpoint = cph-1.vaern.dk:51820AllowedIPs = 0.0.0.0/0, ::/0PersistentKeepalive = 2503Portal og konti
Den samme omhu i portalen.
En VPN er kun så sikker som det sted, man administrerer den fra. Derfor er portalen bygget med samme forsigtighed som tunnelen.
- Adgangskoder
- Hashes med Argon2id. Mindst 12 tegn.
- Sessioner
- 256-bit tilfældigt token i en HttpOnly-cookie med SameSite=Strict. Vi gemmer kun en SHA-256-hash.
- Tofaktor
- TOTP og ti engangskoder til gendannelse. Hemmeligheden er krypteret, og koderne gemmes kun som hash.
- Misbrug
- Begrænsning af forsøg på login, tilmelding, tofaktor og invitationer – både pr. IP og pr. e-mail.
- CSRF
- Alle ændrende kald kræver en særlig header, og API'et tillader ikke kald fra andre domæner.
- Browserhærdning
- Streng Content Security Policy, HSTS, X-Frame-Options og en restriktiv Permissions-Policy.
- Tokens
- Invitations- og node-tokens gemmes kun som hash og vises én gang. Invitationer udløber efter syv dage.
- Audit-log
- Alle administrative handlinger og sikkerhedshændelser registreres med tidspunkt, aktør og IP-adresse.
04Data
Det gemmer vi. Det gemmer vi aldrig.
Vi gemmer det, der skal til for at drive tjenesten og give jer overblik – og intet om, hvad jeres medarbejdere bruger forbindelsen til.
Det gemmer vi
- Navn og e-mailadresse på brugere
- Organisation, roller og politik
- Enhedsnavn, platform og offentlig nøgle
- Tildelte IP-adresser i tunnelnettet
- Tidspunkt for seneste handshake
- Datamængde pr. enhed pr. time
- Audit-log over handlinger i portalen
- Adgangskoder – kun som Argon2id-hash
Det gemmer vi aldrig
- Private nøgler
- Indholdet af jeres trafik
- Hvilke sider og tjenester I besøger
- DNS-opslag
- Forbindelseslogs med kilde og destination
- Adgangskoder i klartekst
DNS-filtreringen sker på noden i det øjeblik, opslaget foretages. Resultatet bliver ikke gemt.
05GDPR og dataplacering
Nordisk hosting. Klar rollefordeling.
I er dataansvarlige for jeres medarbejderes oplysninger. Vi er databehandler og behandler kun data efter jeres instruks.
Data i Norden
Portal og database hostes i Norden. Udgangsnoderne står i Norden og EU.
Databehandleraftale
Indgår som en fast del af aftalen. Enterprise-kunder kan få en tilpasset aftale.
Dataminimering
Vi beder kun om det, tjenesten kræver: navn, e-mail og oplysninger om enheder.
Jeres rettigheder
Eksportér audit-loggen, og bed om sletning, når I stopper. Se privatlivspolitikken.
06Ansvarlig offentliggørelse
Har du fundet en sårbarhed?
Vi sætter stor pris på sikkerhedsforskere, der hjælper os med at gøre Værn bedre. Skriv til os, så tager vi den derfra.
security@vaern.dkSådan hjælper du os bedst
- 01Beskriv sårbarheden, hvordan den kan genskabes, og hvilken betydning du vurderer, den har.
- 02Giv os rimelig tid til at rette fejlen, før du offentliggør noget.
- 03Tilgå, ændr eller slet ikke andres data – brug dine egne testkonti.
- 04Undgå overbelastningsangreb, social manipulation og fysiske angreb.
Vi bekræfter modtagelsen, holder dig orienteret undervejs og krediterer dig gerne, når fejlen er rettet.
07Underdatabehandlere
Hvem der hjælper os.
Vi bruger så få underdatabehandlere som muligt. Ændringer varsles til kunder, før de træder i kraft.
| Underdatabehandler | Formål | Placering | Data |
|---|---|---|---|
| Hostingudbyder (fastlægges) | Drift af portal, API og database | Norden | Alle kundedata |
| Udbyder af WireGuard-noder (fastlægges) | Drift af udgangsnoder | Norden og EU | Offentlige nøgler, PSK |
| E-mailudbyder (fastlægges) | Invitationer og systemmails | EU/EØS | Navn, e-mail |
Spørgsmål til sikkerheden?
Vi gennemgår gerne arkitekturen med jeres IT-ansvarlige eller revisor. Eller prøv Værn selv i 14 dage.