SAML, undir húðinni: undirskriftin inni í bréfinu
SAML skráir þig inn í næstum hvert einasta vinnuforrit og undirskrift þess lifir inni í XML-skjalinu sem það undirritar.
SAML skráir þig inn í næstum hvert einasta vinnuforrit og undirskrift þess lifir inni í XML-skjalinu sem það undirritar. Undir húðinni: innskráningarferlið milli forrits, vafra og auðkennisveitu, hvernig yfirlýsing lítur út, hvers vegna stöðlun þarf að vera sammála um hvert einasta bæti og hvers vegna sami villuflokkurinn heldur áfram að koma upp aftur frá 2012 til 2025. Hvati: "SAML: A fractal of bad design" eftir Trail of Bits (312 stig á Hacker News).
Lestu skriflegu útgáfuna (enska) ↗
Það sem þetta myndband fjallar um
- SAML: innskráningin sem undirritar sig sjálf innan frá
- 2002: fjögur XML snið, ein nefnd, heil atvinnugrein
- Innskráningarferlið: forrit → auðkennisveita → aftur í gegnum vafrann þinn
- Yfirlýsingin: undirskriftin býr inni í því sem hún undirritar
- Stöðlun: samþykkja hvert bæti, annars skráir enginn sig inn
Þýtt afrit
Þýtt úr upprunalegri enskri frásögn. Tiltækt hljóð og textar eru stjórnaðir af YouTube.
SAML: innskráningin sem undirritar sig sjálf innan frá
0:00 SAML er XML sem skráir þig inn í næstum hvert einasta vinnuforrit sem þú átt, og undirskrift þess býr inni í skjalinu sem það undirritar, eins og lögbókari sem heftar stimpil sinn inn í umslagið sem hann er að loka. Tíu árum eftir að nefnd skrifaði það, prófuðu vísindamenn fjórtán Saml ramma. Ellefu féllu. Og í þessari viku náði færsla frá Trail of Bits sem kallaði það brotabrot af slæmri hönnun forsíðu Hacker News. Í þremur mínútum: hvernig innskráningarferlið virkar, hvar undirskriftin leynist,
0:27 og hvers vegna lausnin sem allir eru sammála um er önnur samskiptaregla. Þetta er The Daily Diff, undir húðinni.
2002: fjögur XML snið, ein nefnd, heil atvinnugrein
0:34 Tvö þúsund og tvö. Öryggisnefnd hjá Oasis sameinar fjögur XML snið frá söluaðilum í eitt. Háskólar taka það fyrst upp, síðan byggir Okta fyrirtæki á því, fljótasta sem nefndarskjali hefur snúist í tekjur. Þú opnar forritið.
Innskráningarferlið: forrit → auðkennisveita → aftur í gegnum vafrann þinn
0:46 Það hefur enga hugmynd um hver þú ert, svo það vísar vafranum þínum á auðkennisveituna, segjum Okta fyrirtækisins þíns. Þú skráir þig inn þar. Okta afhendir vafranum þínum undirritað XML skjal sem segir hver þú ert, og vafrinn sendir það til baka.
Yfirlýsingin: undirskriftin býr inni í því sem hún undirritar
0:59 Þetta skjal er yfirlýsingin. Það nefnir notandann, og undirskriftin situr inni í því, og vísar aftur á yfirlýsinguna með auðkenninu hennar. Og allt ferlið fer í gegnum vafrann þinn, sem þýðir, í gegnum notandann. Til að athuga það, forritið
Stöðlun: samþykkja hvert bæti, annars skráir enginn sig inn
1:11 endurbyggir nákvæmlega þau bæti sem voru undirrituð. Það klippir undirskriftina aftur út, staðlar bil og röð eiginleika, og hashar niðurstöðuna. Þetta er stöðlun, og ef báðir aðilar eru ósammála um eitt einasta bæti, skráir enginn sig inn. JSON vefskírteini gerir það öðruvísi. Haus, gagnainnihald og undirskrift sitja hlið við hlið með punktum á milli. Ekkert til að klippa út fyrst.
2012: eftirlitsmaðurinn og lesandinn skoða mismunandi þætti
1:32 Hér er gallinn. Kóðinn sem athugar undirskriftina og kóðinn sem les notandanafnið eru oft tveir mismunandi hlutar. Árið tvö þúsund og tólf sýndi ritgerð sem kallast On Breaking Saml að hægt væri að færa undirritaða yfirlýsingu þar sem lesandinn hunsar hana, og setja aðra þar sem hún leitast við. Salesforce og Shibboleth voru meðal þeirra ellefu sem féllu fyrir því. Árið tvö þúsund og átján sýndi Duo að athugasemd inni í notandanafni gæti
2018 og 2025: tveir sérþáttarar, tvö mismunandi svör
1:55 fengið sum safn til að lesa aðeins helming nafnsins, á meðan undirskriftin var enn í lagi. Árið tvö þúsund og tuttugu og fimm fann GitHub tvo XML sérþáttara inni í ruby Saml sem voru ósammála um sama skjal. Sami galli, nýr áratugur. Trail of Bits kallar það brotabrot, vegna þess að hvert stig sem þú stækkar inn á hefur
Af hverju það heldur áfram að bila: brotabrot af slæmri hönnun
2:12 sama galla. Það er byggt á XML, undirskriftin er umlukin, og raunverulegar innskráningar nota kannski tíunda hluta af forskriftinni. Og efsta svarið á Hacker News kemur frá kaupanda. Ef þú ert ekki með Saml stuðning get ég fundið vöru sem gerir það. Bæði eru sönn, sem er vandamálið. Svo, mánudagur. SHIP IT OpenID Connect fyrst, Fly og Tailscale selja til
Mánudagur: OIDC fyrst, viðhaldið safn, ströng form
2:31 fyrirtækja án Saml yfirleitt. Ef viðskiptavinur neyðir það, notaðu viðhaldið safn, haltu því plástuðu, og hafnaðu skilaboðum sem líta ekki út eins og þau sem Okta eða Google senda. Aldrei skrifa þína eigin undirskriftarathugun.
Niðurstaða, undir húðinni: REVERT
2:43 Niðurstaða, undir húðinni. REVERT. Næstum tuttugu og fimm ár, einn villuflokkur sem deyr aldrei, og lausnin sem allir eru sammála um er önnur samskiptaregla. Síðasta laugardag tók ég passkeys í sundur, svo segðu mér hvað ég á að opna næst í athugasemdunum. Og það er The Daily Diff fyrir í dag. Ég er Niko frá Axrisi. SAMEINA á ábyrgan hátt.
Heimildir
- Trail of Bits, "SAML: A fractal of bad design" (Matt Schwager, Sep 21, 2026)blog.trailofbits.com
- Hacker News threadnews.ycombinator.com
- Somorovsky et al., "On Breaking SAML: Be Whoever You Want to Be", USENIX Security 2012www.usenix.org
- Duo Labs, SAML vulnerabilities affecting multiple implementations (2018): https://duo.com/blog/duo-finds-saml-vulnerabilities-affecting-multiple-implementations · CERT VU#475445www.kb.cert.org
- GitHub Security Lab, "Sign in as anyone: Bypassing SAML SSO authentication with parser differentials" (Mar 12, 2025)github.blog



