Vzájomné TLS (mTLS)
Štandardné HTTPS overuje server voči klientovi — prehliadač overí certifikát servera. Vzájomné TLS pridáva opak: klient predloží aj certifikát, ktorý server overí. Výsledkom je kryptograficky overená identita pre obe strany spojenia. mTLS je čoraz viac štandardom pre overovanie medzi službami v moderných architektúrach.
Celé telo článku je uvedené v angličtine nižšie.
Vzájomné TLS (mTLS) rozširuje štandardné TLS tým, že vyžaduje, aby klient predložil certifikát, ktorý overí server. Podanie ruky sa dokončí tak, že sa obe strany navzájom kryptograficky overia. V porovnaní s autentifikáciou založenou na hesle alebo tokenoch ponúka mTLS silnejšie záruky identity, automatickú rotáciu poverení prostredníctvom životných cyklov certifikátov a elimináciu problémov s zdieľanou tajnou distribúciou. Server neoveruje klienta kryptograficky — spolieha sa na mechanizmy aplikačnej vrstvy (cookies, tokeny nosiča, základné overenie).
V mTLS server pridá požiadavku na certifikát počas nadviazania spojenia TLS. The client must respond with its own certificate plus a signature proving possession of the private key. Server overí klientsky certifikát oproti svojmu vlastnému úložisku dôveryhodnosti. Ak overenie zlyhá, pripojenie sa preruší.
Kde je nasadené mTLS
- Microservices. Rámce so sieťou služieb, ako sú Istio, Linkerd a Consul Connect, používajú mTLS na autentifikáciu medzi službami. Každá mikroslužba má certifikát identifikujúci jej identitu; sieť si vynucuje, kto komu môže volať.
- API brány. Interné API čoraz častejšie vyžadujú klientske certifikáty namiesto API kľúčov. Silnejšia identita, automatická rotácia prostredníctvom certifikátov s krátkou životnosťou.
- VPN a produkty Zero Trust. Cloudflare Access, Tailscale, BeyondCorp používajú na autentifikáciu certifikáty zariadení.
- Vládne a finančné rozhrania API, často vojenské systémy FPLZ27X Bankové rozhranie API mTLS.
- IoT. Certifikáty jednotlivých zariadení vytvárajú identitu pre správu vozového parku. AWS IoT, Azure IoT Hub, Google Cloud IoT všetky používajú mTLS.
- WebHooks a B2B integrácie. Webhooky s vyššou bezpečnosťou overujú obe strany prostredníctvom certifikátov.
Prečo mTLS tokeny
- Žiadne zdieľané tajomstvá. Každá strana má iba svoj vlastný súkromný kľúč. Kompromis úložiska jednej strany neprezrádza druhú.
- Silná identita. Certifikát overuje, že držiteľ ovláda zodpovedajúci súkromný kľúč, ktorý dôveryhodná CA naviazala na overenú identitu.
- Automatická rotácia.Skrátený počet dní certifikátu na ľubovoľnú hodinuX kompromis.
- Žiadne opätovné použitie hesla. Každá služba má svoj vlastný certifikát; žiadna koncepcia opätovného použitia hesla naprieč službami.
- Žiadne opakované prehrávanie. Samotný certifikát nie je užitočný bez súkromného kľúča, ktorý sa nikdy nepohybuje.
- Vstavaná kryptografická vzájomná autentifikácia. Obe strany sa navzájom overia počas jedinej spiatočnej cesty handshake.
Ako sa vydávajú certifikáty
Príbeh nasadenia mTLS sa točí okolo vydávania certifikátov:
- Interné PKI. Organizácia prevádzkuje svoju vlastnú certifikačnú autoritu. Každá služba alebo klient získa certifikát vydaný touto CA. Dôvera je interná.
- SPIFFE / SPIRE. Rámec identity natívnej cloudu. Vydáva krátkodobé certifikáty pre pracovné zaťaženia identifikované identifikátormi v štýle URI. Sieť služieb používa tento vzor.
- HashiCorp Vault. Vault môže fungovať ako CA pre interné mTLS a na požiadanie vydávať certifikáty s krátkou životnosťou overeným pracovným zaťaženiam.
- Step CAZ85ME-použitie s otvoreným zdrojom.X Znižuje prevádzkovú zložitosť.
- Verejné CAs. Pre B2B mTLS, kde obe strany potrebujú globálne dôveryhodnú identitu, komerčné CA vydávajú mTLS certifikáty.
Prevádzkové výzvy
XPLZ9 nie je zadarmoul>- Každá služba získa identitu pracovného zaťaženia (SPIFFE ID).
- Riadiaca rovina siete vydáva certifikáty s krátkou životnosťou (zvyčajne platné niekoľko hodín).
- Postranné servery proxy (Envoy pre lokálneho hostiteľa); postranný vozík ho zabalí do mTLS pre výstup zo siete.
- Sajdkár prijímajúcej strany ukončí mTLS, overí identitu zdroja a pošle obyčajný HTTP do cieľovej aplikácie. autentifikáciu na základe identity bez akýchkoľvek zmien kódu. Sieť zvláda všetku operačnú zložitosť certifikátov a kryptomien.
mTLS vs OAuth/OIDC pre APIs
Dva rôzne modely autentifikácie:
- OAuth/OIDCXer-46-based Token obsahuje nároky na identitu. Tokeny je možné exfiltrovať a prehrať, ak nie sú viazané na klienta.
- mTLS — založené na certifikáte. Samotný certifikát je bez súkromného kľúča zbytočný. Silnejšie záruky identity.
Pre internú autentifikáciu medzi službami sa čoraz viac uprednostňuje mTLS. Pre overenie používateľmi zostáva štandardom OAuth/OIDC. Hybridné prístupy (OAuth s viazaním tokenov, tokeny OAuth viazané na mTLS) kombinujú svoje silné stránky.
Pre vývojárov
Pridanie mTLS do zásobníka zahŕňa:
- Nastavenie CA (najlepšia možnosť otvoreného zdroja) spustené)
- Vydávanie certifikátov klientom a serverom
- Konfigurácia serverov tak, aby vyžadovali klientske certifikáty
- Konfigurácia klientov na predkladanie certifikátov
- Ošetrenie rotácie certifikátov (automatizované cez ACME-ekvivalent pre interné bariéry CAXX0XZPL7199 CAXX0XX) za posledných 5 rokov výrazne klesla. mTLS je teraz prevádzkovo realizovateľný pre malé tímy; predtým to bolo prevažne doménou podnikov s vyhradenou bezpečnostnou infraštruktúrou.
Často kladené otázky
- Je mTLS pre moju aplikáciu prehnané?
- Závisí od scenára. For user-facing web apps, OAuth/OIDC is usually right. For internal APIs and service-to-service traffic in microservices, mTLS is becoming the standard. For high-security B2B integrations, mTLS is often the right answer.
- Aký je rozdiel medzi overením klienta mTLS a TLS?
- To isté, iné mená. TLS client authentication is the protocol feature; mTLS je bežný termín pre jeho používanie. Odvolávajú sa na rovnaký mechanizmus.
- Podporujú prehliadače mTLS?
- Yes — they prompt the user when a server requests a client certificate. UX je slabé; používatelia to považujú za mätúce. mTLS v prehliadačoch funguje, ale pre spotrebiteľské aplikácie je zriedkavé. Podnikové aplikácie s certifikátmi zariadení vydanými zamestnancami ho používajú častejšie.
- Aká krátka by mala byť životnosť certifikátu mTLS?
- Pre identitu pracovného zaťaženia v servisných sieťach sú typické hodiny až dni. Rotácia je automatizovaná; krátka životnosť obmedzuje dopad. Pre dlhotrvajúce B2B identity dni až týždne. Certifikáty vydané verejnými CA majú dlhšie cykly (v súčasnosti až 397 dní).
- Môžem odvolať certifikát mTLS?
- Áno, cez CRL (Certificate Revocation List) alebo OCSP (Online Certificate Status Protocol). Certifikáty s krátkou životnosťou túto potrebu čiastočne obchádzajú – zrušenie je menej dôležité, keď platnosť certifikátu aj tak vyprší o niekoľko hodín. Väčšina moderných nasadení mTLS sa spolieha skôr na krátku životnosť než na aktívne zrušenie.