Gjensidig TLS (mTLS)
Standard HTTPS autentiserer serveren til klienten – nettleseren bekrefter serverens sertifikat. Gjensidig TLS legger til det motsatte: klienten presenterer også et sertifikat, som serveren verifiserer. Resultatet er kryptografisk autentisert identitet for begge sider av forbindelsen. mTLS er i økende grad standarden for tjeneste-til-tjeneste-autentisering i moderne arkitekturer.
Hele artikkelen er gitt på engelsk nedenfor.
Mutual TLS (mTLS) utvider standard TLS ved å kreve at klienten presenterer et sertifikat som serveren verifiserer. Håndtrykket fullføres med at begge parter er kryptografisk autentisert til hverandre. Sammenlignet med passord- eller tokenbasert autentisering, tilbyr mTLS sterkere identitetsgarantier, automatisk rotasjon av legitimasjon gjennom sertifikatlivssykluser og eliminering av distribusjonsproblemer med delt hemmelig.
Håndtrykkforskjellen
I standard TLS verifiserer klienten serverens sertifikat mot trustbutikker. Serveren autentiserer ikke klienten kryptografisk – den er avhengig av applikasjonslagsmekanismer (informasjonskapsler, bærertokens, grunnleggende autentisering).
I mTLS legger serveren til en CertificateRequest under TLS-håndtrykket. Klienten må svare med sitt eget sertifikat pluss en signatur som beviser besittelse av den private nøkkelen. Serveren verifiserer klientsertifikatet mot sitt eget tillitslager. Hvis verifiseringen mislykkes, faller tilkoblingen.
Hvor mTLS er distribuert
- Microservices. Service-mesh-rammeverk som Istio, Linkerd og Consul Connect bruker mTLS for tjeneste-til-tjeneste-autentisering. Hver mikrotjeneste har et sertifikat som identifiserer dens identitet; nettet håndhever hvem som kan ringe hvem.
- API-gateways. Interne APIer krever i økende grad klientsertifikater i stedet for API-nøkler. Sterkere identitet, automatisk rotasjon via kortlivede sertifikater.
- VPN og Zero Trust-produkter. Cloudflare Access, Tailscale, BeyondCorp bruker enhetssertifikater for autentisering.
- OpenGovernment and financial API7XGovernment and financial APIs. systemer, krever militære API-er ofte mTLS.
- IoT. Per-enhetssertifikater etablerer identitet for flåtestyring. AWS IoT, Azure IoT Hub, Google Cloud IoT bruker alle mTLS.
- WebHooks og B2B-integrasjoner. Webhook-leveranser med høyere sikkerhet bekrefter begge sider via sertifikater.
Hvorfor eller m-passord tokens
- Ingen delte hemmeligheter. Hver side har bare sin egen private nøkkel. Kompromittering av den ene sidens lagring avslører ikke den andre.
- Sterk identitet. Sertifikatet bekrefter at innehaveren kontrollerer den tilsvarende private nøkkelen, som en klarert CA er bundet til en verifisert identitet.
- Automatisk sertifikatrotasjon1X-dager begrenset til 5 dager. ethvert kompromiss.
- Ingen gjenbruk av passord. Hver tjeneste har sitt eget sertifikat; ingen konsept for gjenbruk av passord på tvers av tjenester.
- Ingen gjenspilling. Sertifikatet alene er ikke nyttig uten den private nøkkelen, som aldri beveger seg.
- Kryptografisk gjensidig autentisering innebygd. Begge sider i en enkelt verifiser hverandre. handshake.
Hvordan sertifikater utstedes
MTLS-distribusjonshistorien dreier seg om sertifikatutstedelse:
- Intern PKI. Organisasjonen driver sin egen sertifikatautoritet. Hver tjeneste eller klient får et sertifikat utstedt av den CA. Tillit er internt.
- SPIFFE / SPIRE. Skybasert identitetsrammeverk. Utsteder kortvarige sertifikater til arbeidsbelastninger identifisert av identifikatorer i URI-stil. Tjenestenettverk bruker dette mønsteret.
- HashiCorp Vault. Vault kan fungere som en CA for intern mTLS, og utstede kortvarige sertifikater på forespørsel til autentiserte arbeidsbelastninger.
- Step CA-/lsmall-sertifikatkilde for intern bruk av ACME-sertifikat. Reduserer operasjonell kompleksitet.
- Public CAs. For B2B mTLS der begge sider trenger globalt pålitelig identitet, utsteder kommersielle CAer mTLS-sertifikater.
Operasjonsutfordringene
XPLZ9'free:- Sertifikatadministrasjon. Hver klient trenger et sertifikat, utstedt, rotert, tilbakekalt ved behov. PKI blir kritisk infrastruktur.
- Distribution. Få sertifikater til de riktige klientene på en sikker måte — oppstartsstrapping er et tilbakevendende problem.
- Debugging. mTLS-feil er vanskeligere å feilsøke enn passordfeil. Verktøy og observerbarhet betyr noe.
- Library-støtte. De fleste moderne HTTP-biblioteker støtter mTLS, men konfigurasjonen er mer kompleks enn grunnleggende auth.
- Browser-begrensninger. Nettleserstøtte for mTLS finnes (klient) mTLS i nettkontekster er mer vanlig server-til-server enn nettleser-til-server.
mTLS i tjenestemasker
The headline moderne brukstilfelle. Et servicenettverk som Istio:
- Hver tjeneste får en arbeidsbelastningsidentitet (SPIFFE ID).
- Meshens kontrollplan utsteder kortvarige sertifikater (vanligvis gyldige i noen få timer).
- Sidecar-applikasjoner håndterer apper (Envo-vert) for lokale applikasjoner (Envo-verten); sidevognen pakker den inn i mTLS for nettverksutgang.
- Mottakersidens sidevogn avslutter mTLS, verifiserer kildeidentiteten og videresender vanlig HTTP til destinasjonsappen.
- Policies dikterer hvilke arbeidsbelastninger som kan kalle hvilke — basert på sertifikatet på sidevognen identitet.
Appene får sterk identitetsbasert autentisering uten kodeendringer. Nettverket håndterer all sertifikat- og kryptooperativ kompleksitet.
mTLS vs OAuth/OIDC for APIer
Tto forskjellige autentiseringsmodeller:
- OAuth/OIDCXPLZer-token —bebasared46Xen. Tokenet inneholder identitetskrav. Tokens kan eksfiltreres og spilles på nytt hvis de ikke er bundet til klienten.
- mTLS — sertifikatbasert. Sertifikatet alene er ubrukelig uten den private nøkkelen. Sterkere identitetsgarantier.
For intern tjeneste-til-tjeneste-autentisering foretrekkes mTLS i økende grad. For brukervendt autentisering forblir OAuth/OIDC standarden. Hybride tilnærminger (OAuth med token-binding, mTLS-bundne OAuth-tokens) kombinerer styrkene.
For utviklere
Å legge til mTLS til stabelen din innebærer:
- Oppsett en CA (Trinn-CA-kilden er muligheten for å få en åpen kildekode startet)
- Utstedelse av sertifikater til klienter og servere
- Konfigurere servere for å kreve klientsertifikater
- Konfigurere klienter til å presentere sertifikater
- Håndtering av sertifikatrotasjon (automatisert via ACME-ekvivalent for interne CA-er17PLZ0ZXX9) påmelding har falt betydelig de siste 5 årene. mTLS er nå operativt mulig for små team; det var tidligere stort sett domenet til bedrifter med dedikert sikkerhetsinfrastruktur.
Ofte stilte spørsmål
- Er mTLS overkill for applikasjonen min?
- Avhenger av scenariet. For brukervendte nettapper er OAuth/OIDC vanligvis riktig. For interne APIer og tjeneste-til-tjeneste-trafikk i mikrotjenester, er mTLS i ferd med å bli standarden. For høysikkerhets B2B-integrasjoner er ofte mTLS det rette svaret.
- Hva er forskjellen mellom mTLS- og TLS-klientautentisering?
- Samme ting, forskjellige navn. TLS-klientautentisering er protokollfunksjonen; mTLS er fellesbetegnelsen for å bruke det. De refererer til samme mekanisme.
- Støtter nettlesere mTLS?
- Ja – de spør brukeren når en server ber om et klientsertifikat. UX er dårlig; brukere synes det er forvirrende. mTLS i nettlesere fungerer, men er sjelden for forbrukerapplikasjoner. Bedriftsapplikasjoner med enhetssertifikater utstedt av ansatte bruker det mer vanlig.
- Hvor kort skal levetiden for mTLS-sertifikatet være?
- For arbeidsbelastningsidentitet i tjenestemasker er timer til dager typisk. Rotasjon er automatisert; de korte levetidsgrensene kompromitterer virkningen. For langvarige B2B-identiteter, dager til uker. Offentlige CA-utstedte sertifikater følger lengre sykluser (opptil 397 dager for øyeblikket).
- Kan jeg tilbakekalle et mTLS-sertifikat?
- Ja, via CRL (Certificate Revocation List) eller OCSP (Online Certificate Status Protocol). Kortvarige sertifikater fjerner delvis behovet - tilbakekall betyr mindre når sertifikatet utløper i timer uansett. De fleste moderne mTLS-implementeringer er avhengige av korte levetider i stedet for aktiv tilbakekalling.