# SAML, azpian: sinadura gutunaren barruan

Published: 2026-09-24

SAMLek ia lan-aplikazio guztietan saioa hasten laguntzen dizu, eta bere sinadura sinatzen duen XMLaren barruan bizi da. Azpian: aplikazioaren, nabigatzailearen eta identitate-hornitzailearen arteko saio-hasierako dantza, aserzio batek nolakoa den, zergatik kanonizazioak byte bakoitzean ados egon behar duen, eta zergatik akats-klase bera itzultzen den 2012tik 2025era. Trail of Bits-en "SAML: A fractal of bad design" (312 puntu Hacker News-en) lanak bultzatuta.

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

## Bideo honek zer jorratzen duen

- SAML: barrutik bere burua sinatzen duen saio-hasiera
- 2002: lau XML formatu, batzorde bat, industria oso bat
- Saio-hasierako dantza: aplikazioa → identitate-hornitzailea → zure nabigatzailearen bidez itzuli
- Aserzioa: sinadura sinatzen duenaren barruan bizi da
- Kanonizazioa: byte bakoitzean ados egon, bestela inork ez du saioa hasiko

## Kapituluak

- 0:00 SAML: barrutik bere burua sinatzen duen saio-hasiera
- 0:34 2002: lau XML formatu, batzorde bat, industria oso bat
- 0:46 Saio-hasierako dantza: aplikazioa → identitate-hornitzailea → zure nabigatzailearen bidez itzuli
- 0:59 Aserzioa: sinadura sinatzen duenaren barruan bizi da
- 1:10 Kanonizazioa: byte bakoitzean ados egon, bestela inork ez du saioa hasiko
- 1:32 2012: egiaztatzaileak eta irakurleak elementu desberdinak ikusten dituzte
- 1:51 2018 eta 2025: bi parseatzaile, bi erantzun desberdin
- 2:08 Zergatik jarraitzen duen hausten: diseinu txarraren fraktal bat
- 2:27 Astelehena: OIDC lehenik, mantendutako liburutegi bat, forma zorrotzak
- 2:43 Epaia, azpian: REVERT

## Itzulitako transkripzioa

Jatorrizko ingelesezko narraziotik itzulia. Eskuragarri dauden audioa eta azpitituluak YouTube-k kontrolatzen ditu.

### SAML: barrutik bere burua sinatzen duen saio-hasiera

0:00 SAML ia zure lan-aplikazio guztietan saioa hasten laguntzen dizun XMLa da, eta bere sinadura sinatzen duen dokumentuaren barruan bizi da, notario batek zigilua zigilatzen ari den gutun-azalaren barruan grapa jartzen dion bezala. Batzorde batek idatzi eta hamar urtera, ikertzaileek hamalau SAML esparru probatu zituzten. Hamaika erori ziren. Eta aste honetan Trail of Bits-en argitalpen batek diseinu txarraren fraktal gisa deskribatu zuen, eta Hacker News-en lehen orrialdera iritsi zen. Hiru minututan: saio-hasierako dantzak nola funtzionatzen duen, sinadura non ezkutatzen den,

0:27 eta zergatik denek ados dauden konponbidea beste protokolo bat den. Hau The Daily Diff da, azpian.

### 2002: lau XML formatu, batzorde bat, industria oso bat

0:34 Bi mila eta bi. Oasis-eko segurtasun batzorde batek lau saltzaile XML formatu batzen ditu batean. Unibertsitateek lehenik hartzen dute, gero Oktak enpresa bat sortzen du horren gainean, batzorde-dokumentu bat diru-sarrera bihurtu den azkarrena. Aplikazioa irekitzen duzu.

### Saio-hasierako dantza: aplikazioa → identitate-hornitzailea → zure nabigatzailearen bidez itzuli

0:46 Ez du ideiarik nor zaren, beraz, zure nabigatzailea identitate-hornitzaileari bidaltzen dio, zure enpresaren Okta, adibidez. Han saioa hasten duzu. Oktak sinatutako XML dokumentu bat ematen dio zure nabigatzaileari, nor zaren esaten duena, eta nabigatzaileak atzera bidaltzen du.

### Aserzioa: sinadura sinatzen duenaren barruan bizi da

0:59 Dokumentu hori aserzioa da. Erabiltzailearen izena ematen du, eta sinadura barruan dago, IDaren bidez asertzioari erreferentzia eginez. Eta dena zure nabigatzailearen bidez bidaiatzen du, hau da, erabiltzailearen bidez. Egiaztatzeko, aplikazioak

### Kanonizazioa: byte bakoitzean ados egon, bestela inork ez du saioa hasiko

1:11 sinatu ziren byte zehatzak berriro eraikitzen ditu. Sinadura berriro mozten du, zuriuneak eta atributu-ordena normalizatzen ditu, eta emaitza hash bihurtzen du. Hori da kanonizazioa, eta bi aldeek byte bakar batean desados egonez gero, inork ez du saioa hasten. JSON web token batek desberdin egiten du. Goiburua, karga erabilgarria eta sinadura elkarren ondoan daude puntu artean. Ez dago ezer moztu beharrik lehenik.

### 2012: egiaztatzaileak eta irakurleak elementu desberdinak ikusten dituzte

1:32 Hona hemen pitzadura. Sinadura egiaztatzen duen kodea eta erabiltzaile-izena irakurtzen duen kodea askotan bi zati desberdin dira. Bi mila eta hamabian, On Breaking SAML izeneko lan batek erakutsi zuen sinatutako aserzioa irakurleak baztertzen duen tokira mugi zitekeela, eta bigarren bat jarri, bilatzen duen tokian. Salesforce eta Shibboleth hamaika erori ziren horretan. Salesforce eta Shibboleth hamaika erori ziren horretan. Bi mila eta hamazortzian, Duok erakutsi zuen erabiltzaile-izen baten barruko iruzkin batek liburutegi batzuek izenaren erdia bakarrik irakur zezaketela, sinadura oraindik egiaztatuta zegoen bitartean.

### 2018 eta 2025: bi parseatzaile, bi erantzun desberdin

1:55 liburutegi batzuek izenaren erdia bakarrik irakur zezaketela, sinadura oraindik egiaztatuta zegoen bitartean. Bi mila eta hogeita bostean, GitHubek bi XML parseatzaile aurkitu zituen Ruby SAML barruan dokumentu beraren inguruan desados zeudela. Akats bera, hamarkada berria. Trail of Bits-ek fraktal deitzen dio, zeren handitzen duzun maila bakoitzak

### Zergatik jarraitzen duen hausten: diseinu txarraren fraktal bat

2:12 akats bera duelako. XMLan oinarrituta dago, sinadura gutun-azalean dago, eta benetako saio-hasierak zehaztapenaren hamarren bat erabiltzen du agian. Eta Hacker News-en erantzun nagusia eroslearen eskutik dator. SAML euskarria ez baduzu, hori egiten duen produktu bat aurki dezaket. Biak egia dira, hori da arazoa. Beraz, astelehena. Bidali OpenID Connect lehenik, Fly eta Tailscale enpresei saltzen diete

### Astelehena: OIDC lehenik, mantendutako liburutegi bat, forma zorrotzak

2:31 SAML gabe ere. Bezero batek behartzen badu, erabili mantendutako liburutegi bat, mantendu eguneratuta, eta baztertu Okta edo Google-k bidaltzen dituzten mezuak ez diruditenak. Inoiz ez idatzi zeure sinadura egiaztapena.

### Epaia, azpian: REVERT

2:43 Epaia, azpian. REVERT. Ia hogeita bost urte, inoiz hiltzen ez den akats-klase bat, eta denek ados dauden konponbidea beste protokolo bat da. Joan den larunbatean pasahitz-giltzak aztertu nituen, beraz, esaidazu zer ireki behar dudan hurrengoan iruzkinetan. Eta hori da gaurko aldea. Niko naiz Axrisi-koa. Batu arduraz.

## Iturriak

- [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
