Sender-begrænsede tokens med mTLS
Lær, hvordan binding af klientcertifikater med gensidig TLS forvandler bearer tokens til sender-begrænsede tokens, så stjålne tokens ikke kan genafspilles af angribere.
Sender-begrænsede tokens med mTLS er en gratis OAuth2 og OpenID Connect i dybden-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i OAuth2 og OpenID Connect i dybden, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. OAuth2 og OpenID Connect i dybden-kurset indeholder 4 lektioner i alt.
Svagheden ved bearer-tokenet
Et almindeligt bearer-token fungerer for enhver, der har det. Hvis det lækkes via logning, en proxy eller en XSS-fejl, kan tyven bruge det frit. Afsenderbegrænsede tokens løser dette ved at binde tokenet til den legitime klient.
Hvad er mTLS?
Mutual TLS betyder, at begge sider præsenterer certifikater: serveren beviser sin identitet som normalt, og klienten præsenterer også et certifikat. Autorisationsserveren kan derefter binde udstedte tokens til dette klientcertifikat.
RFC 8705
Dette er standardiseret i RFC 8705 (OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens). Standarden dækker både klientautentificering via mTLS og certifikatbinding af access-tokens.
cnf-claimen
Når AS udsteder et certifikatbundet token, registrerer den en bekræftelses- (cnf-)claim, der indeholder SHA-256-fingeraftrykket af klientcertifikatet under nøglen x5t#S256.
{
"sub": "client-app",
"cnf": {
"x5t#S256": "bwcK0esc3ACC3DB2Y5_lESsXE8o9ltc05O89jdN-dg2"
}
}Kontrol hos ressource-serveren
Når klienten kalder en API via mTLS, beregner ressource-serveren fingeraftrykket af det præsenterede certifikat og sammenligner det med tokenets cnf.x5t#S256. Hvis de er forskellige, afvises tokenet.
thumb = sha256(der_of_client_cert)
if base64url(thumb) != token.cnf['x5t#S256']:
reject('certificate binding mismatch')Hvorfor et stjålet token er ubrugeligt
Selv med tokenet kan en angriber ikke præsentere klientens private nøgle og kan derfor ikke gennemføre mTLS-håndtrykket med det matchende certifikat. Fingeraftrykkene matcher ikke, og API'en afviser angriberen.
mTLS-klientautentificering
RFC 8705 giver også klienter mulighed for at autentificere sig ved token-endepunktet med deres certifikat i stedet for en delt hemmelighed ved hjælp af metoderne tls_client_auth (PKI) eller self_signed_tls_client_auth.
mTLS-aliaser for endepunkter
Da mTLS kræver en separat TLS-konfiguration, offentliggør udbydere mtls_endpoint_aliases i discovery, så klienter rammer de certifikatbundne versioner af token-endepunktet og andre endepunkter.
{
"mtls_endpoint_aliases": {
"token_endpoint": "https://mtls.op.example.com/token"
}
}mTLS kontra DPoP
Begge opnår afsenderbegrænsning:
- mTLS — er baseret på certifikater på TLS-laget og er velegnet til server-til-server-kommunikation og infrastruktur med PKI.
- DPoP — bruger bevis-JWT'er på applikationslaget og er bedre til browser- og offentlige klienter, der ikke kan håndtere klientcertifikater.
Driftsmæssige overvejelser
mTLS kræver klargøring og rotation af certifikater samt en TLS-terminator, der videresender klientcertifikatet til din applikation. Planlæg certifikatets livscyklus, og sørg for, at din reverse proxy videresender det verificerede certifikat til ressource-serveren.
Hvornår bør du tage det i brug?
Vælg mTLS-bundne tokens til API'er med høje sikkerhedskrav, regulerede eller finansielle API'er samt betroede backend-tjenester, hvor certifikathåndtering er mulig. Det øger omkostningen ved token-tyveri markant.
Hurtig kontrol
Test din viden om mTLS-binding.
Opsummering
mTLS-afsenderbegrænsede tokens (RFC 8705) binder et token til klientens certifikat.
- Tokenet indeholder et certifikatfingeraftryk i
cnf.x5t#S256. - Ressource-servere sammenligner fingeraftrykket på det præsenterede certifikat. Et stjålet token uden den private nøgle mislykkes.
- mTLS muliggør også certifikatbaseret klientautentificering og bruger aliaser for mTLS-endepunkter.
- Sammenlign med DPoP for offentlige klienter.
Lær OAuth2 og OpenID Connect i dybden med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Sender-begrænsede tokens med mTLS” gratis?
Ja — alle 3 lektioner i læringssporet OAuth2 og OpenID Connect i dybden, inklusive “Sender-begrænsede tokens med mTLS”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. OAuth2 og OpenID Connect i dybden-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Sender-begrænsede tokens med mTLS”?
Lær, hvordan binding af klientcertifikater med gensidig TLS forvandler bearer tokens til sender-begrænsede tokens, så stjålne tokens ikke kan genafspilles af angribere. Du øver dig i OAuth2 og OpenID Connect i dybden med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på OAuth2 og OpenID Connect i dybden?
Der kræves ingen tidligere erfaring. OAuth2 og OpenID Connect i dybden på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Sender-begrænsede tokens med mTLS”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne OAuth2 og OpenID Connect i dybden-lektion?
Ja. Alle OAuth2 og OpenID Connect i dybden-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Samtykke og brugeroplevelse
- Cross-Origin Resource Sharing (CORS)
- Front-channel kontra back-channel-logout
- Sender-begrænsede tokens med mTLS