# SAML, sub capotă: semnătura din interiorul scrisorii

Published: 2026-09-24

SAML te autentifică în aproape fiecare aplicație de lucru, iar semnătura sa se află în interiorul XML-ului pe care îl semnează. Sub capotă: dansul de autentificare dintre aplicație, browser și furnizorul de identitate, cum arată o aserțiune, de ce canonizarea trebuie să fie de acord cu fiecare octet și de ce aceeași clasă de erori continuă să revină din 2012 până în 2025. Solicitat de "SAML: A fractal of bad design" (312 puncte pe Hacker News) de la Trail of Bits.

Canonical: https://thedailydiff.dev/ro/video/2026-09-24-saml-under-the-hood/

## Ce acoperă acest videoclip

- SAML: autentificarea care se semnează singură din interior
- 2002: patru formate XML, un comitet, o întreagă industrie
- Dansul de autentificare: aplicație → furnizor de identitate → înapoi prin browserul tău
- Aserțiunea: semnătura se află în interiorul a ceea ce semnează
- Canonizarea: fii de acord cu fiecare octet, altfel nimeni nu se autentifică

## Capitole

- 0:00 SAML: autentificarea care se semnează singură din interior
- 0:34 2002: patru formate XML, un comitet, o întreagă industrie
- 0:46 Dansul de autentificare: aplicație → furnizor de identitate → înapoi prin browserul tău
- 0:59 Aserțiunea: semnătura se află în interiorul a ceea ce semnează
- 1:10 Canonizarea: fii de acord cu fiecare octet, altfel nimeni nu se autentifică
- 1:32 2012: verificatorul și cititorul se uită la elemente diferite
- 1:51 2018 și 2025: doi analizoare, două răspunsuri diferite
- 2:08 De ce continuă să se strice: un fractal de design prost
- 2:27 Luni: OIDC mai întâi, o bibliotecă întreținută, forme stricte
- 2:43 Verdict, sub capotă: REVERT

## Transcrierea tradusă

Tradus din narațiunea originală în engleză. Audio-ul și subtitrările disponibile sunt controlate de YouTube.

### SAML: autentificarea care se semnează singură din interior

0:00 SAML este XML-ul care te autentifică în aproape fiecare aplicație de lucru pe care o deții, iar semnătura sa se află în interiorul documentului pe care îl semnează, ca un notar care-și pune ștampila în interiorul plicului pe care îl sigilează. Zece ani după ce un comitet l-a scris, cercetătorii au testat paisprezece cadre Saml. Unsprezece au căzut. Și săptămâna aceasta, o postare Trail of Bits care o numește un fractal de design prost a ajuns pe prima pagină de pe Hacker News. În trei minute: cum funcționează dansul de autentificare, unde se ascunde semnătura,

0:27 și de ce soluția cu care toată lumea este de acord este un protocol diferit. Acesta este The Daily Diff, sub capotă.

### 2002: patru formate XML, un comitet, o întreagă industrie

0:34 Două mii doi. Un comitet de securitate de la Oasis fuzionează patru formate XML de la diferiți furnizori într-unul singur. Universitățile îl adoptă primele, apoi Okta construiește o companie pe baza lui, cea mai rapidă transformare a unui document de comitet în venit. Deschizi aplicația.

### Dansul de autentificare: aplicație → furnizor de identitate → înapoi prin browserul tău

0:46 Nu știe cine ești, așa că îți redirecționează browserul către furnizorul de identitate, să spunem Okta al companiei tale. Te autentifici acolo. Okta îi dă browserului tău un document XML semnat care spune cine ești, și browserul îl trimite înapoi.

### Aserțiunea: semnătura se află în interiorul a ceea ce semnează

0:59 Acel document este aserțiunea. Numește utilizatorul, iar semnătura se află în interiorul său, indicând înapoi aserțiunea prin ID-ul său. Și totul trece prin browserul tău, adică, prin utilizator. Pentru a o verifica, aplicația

### Canonizarea: fii de acord cu fiecare octet, altfel nimeni nu se autentifică

1:11 reconstruiește exact byte-ii care au fost semnați. Taie semnătura, normalizează spațiile albe și ordinea atributelor, și hash-uiește rezultatul. Asta e canonizarea, iar dacă cele două părți nu sunt de acord cu un singur octet, nimeni nu se autentifică. Un token web JSON o face diferit. Antetul, sarcina utilă și semnătura stau una lângă alta cu puncte între ele. Nimic de tăiat mai întâi.

### 2012: verificatorul și cititorul se uită la elemente diferite

1:32 Iată fisura. Codul care verifică semnătura și codul care citește numele de utilizator sunt adesea două piese diferite. În două mii doisprezece, o lucrare numită On Breaking Saml a arătat că poți muta aserțiunea semnată unde cititorul o ignoră, și să pui o a doua unde caută. Salesforce și Shibboleth au fost printre cele unsprezece care au căzut în capcană. În două mii optsprezece, Duo a arătat că un comentariu în interiorul unui nume de utilizator ar putea face ca unele

### 2018 și 2025: doi analizoare, două răspunsuri diferite

1:55 biblioteci să citească doar jumătate din nume, în timp ce semnătura încă verifica. În două mii douăzeci și cinci, GitHub a găsit două parsere XML în interiorul ruby Saml care nu erau de acord cu același document. Aceeași eroare, un nou deceniu. Trail of Bits o numește un fractal, pentru că fiecare nivel în care te adâncești are aceeași

### De ce continuă să se strice: un fractal de design prost

2:12 defecțiune. Este construită pe XML, semnătura este învelită, și autentificările reale folosesc poate o zecime din specificație. Și cel mai bun răspuns de pe Hacker News vine de la cumpărător. Dacă nu ai suport Saml, pot găsi un produs care are. Ambele sunt adevărate, ceea ce este problema. Deci, luni. Trimiteți mai întâi OpenID Connect, Fly și Tailscale vând către

### Luni: OIDC mai întâi, o bibliotecă întreținută, forme stricte

2:31 întreprinderi fără Saml deloc. Dacă un client o impune, folosește o bibliotecă întreținută, menține-o actualizată, și respinge mesajele care nu arată ca cele trimise de Okta sau Google. Nu scrie niciodată propria verificare a semnăturii.

### Verdict, sub capotă: REVERT

2:43 Verdict, sub capotă. REVERT. Aproape douăzeci și cinci de ani, o clasă de erori care nu moare niciodată, iar soluția cu care toată lumea este de acord este un protocol diferit. Sâmbăta trecută am dezasamblat passkeys, așa că spuneți-mi ce să deschid în continuare în comentarii. Și asta e diferența pentru astăzi. Eu sunt Niko de la Axrisi. Combină responsabil.

## Surse

- [Trail of Bits, "SAML: A fractal of bad design" (Matt Schwager, Sep 21, 2026)](https://blog.trailofbits.com/2026/09/21/saml-a-fractal-of-bad-design/) — blog.trailofbits.com
- [Hacker News thread](https://news.ycombinator.com/item?id=49806335) — news.ycombinator.com
- [Somorovsky et al., "On Breaking SAML: Be Whoever You Want to Be", USENIX Security 2012](https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/somorovsky) — www.usenix.org
- [Duo Labs, SAML vulnerabilities affecting multiple implementations (2018): https://duo.com/blog/duo-finds-saml-vulnerabilities-affecting-multiple-implementations · CERT VU#475445](https://www.kb.cert.org/vuls/id/475445) — www.kb.cert.org
- [GitHub Security Lab, "Sign in as anyone: Bypassing SAML SSO authentication with parser differentials" (Mar 12, 2025)](https://github.blog/security/sign-in-as-anyone-bypassing-saml-sso-authentication-with-parser-differentials/) — github.blog
