# SAML, ichida imzo: xat ichidagi imzo

Published: 2026-09-24

SAML sizni deyarli har bir ish ilovasiga kiritadi va uning imzosi u imzolagan XML ichida yashaydi. Ichkarida: ilova, brauzer va identifikatsiya provayderi o'rtasidagi kirish raqsi, tasdiq qanday ko'rinishga ega, nima uchun kanonizatsiya har bir baytda kelishib olishi kerak va nima uchun bir xil xato sinfi 2012 yildan 2025 yilgacha qayta-qayta paydo bo'ladi. Trail of Bits'ning "SAML: yomon dizayn fraktali" (Hacker News'da 312 ball) tomonidan qo'zg'atilgan.

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

## Bu video nimani qamrab oladi

- SAML: o'zini ichkaridan imzolaydigan kirish
- 2002: to'rtta XML formati, bitta qo'mita, butun bir sanoat
- Kirish raqsi: ilova → identifikatsiya provayderi → brauzeringiz orqali qaytish
- Tasdiq: imzo u imzolagan narsaning ichida yashaydi
- Kanonizatsiya: har bir baytda kelishib oling, aks holda hech kim kirmaydi

## Boblar

- 0:00 SAML: o'zini ichkaridan imzolaydigan kirish
- 0:34 2002: to'rtta XML formati, bitta qo'mita, butun bir sanoat
- 0:46 Kirish raqsi: ilova → identifikatsiya provayderi → brauzeringiz orqali qaytish
- 0:59 Tasdiq: imzo u imzolagan narsaning ichida yashaydi
- 1:10 Kanonizatsiya: har bir baytda kelishib oling, aks holda hech kim kirmaydi
- 1:32 2012: tekshiruvchi va o'quvchi turli elementlarga qaraydi
- 1:51 2018 va 2025: ikkita parslar, ikkita har xil javob
- 2:08 Nima uchun buzilishda davom etadi: yomon dizayn fraktali
- 2:27 Dushanba: avvalo OIDC, ta'minlangan kutubxona, qat'iy shakllar
- 2:43 Hukm, ichkarida: REVERT

## Tarjima qilingan transkript

Asl inglizcha hikoyadan tarjima qilingan. Mavjud audio va subtitrlar YouTube tomonidan boshqariladi.

### SAML: o'zini ichkaridan imzolaydigan kirish

0:00 SAML siz egalik qiladigan deyarli har bir ish ilovasiga sizni kiritadigan XMLdir, va uning imzosi u imzolagan hujjat ichida yashaydi, xuddi notarius muhrlayotgan konvert ichiga o'z muhirini shtapellayotgandek. Qo'mita uni yozganidan o'n yil o'tib, tadqiqotchilar o'n to'rtta SAML freymvorkni sinovdan o'tkazdilar. O'n bittasi yiqildi. Va shu hafta Trail of Bits postida uni yomon dizayn fraktali deb atash Hacker News'ning bosh sahifasiga chiqdi. Uch daqiqada: kirish raqsi qanday ishlaydi, imzo qayerda yashiringan,

0:27 va nima uchun hamma kelishgan tuzatish boshqa protokol ekanligi. Bu The Daily Diff, ichkarida.

### 2002: to'rtta XML formati, bitta qo'mita, butun bir sanoat

0:34 Ikki ming ikki. Oasis'dagi xavfsizlik qo'mitasi to'rtta yetkazib beruvchi XML formatini bittaga birlashtiradi. Universitetlar uni birinchi bo'lib qabul qilishadi, keyin Okta u asosida kompaniya quradi, qo'mita hujjatining daromadga aylanishi eng tez bo'lgan holat. Siz ilovani ochasiz.

### Kirish raqsi: ilova → identifikatsiya provayderi → brauzeringiz orqali qaytish

0:46 U siz kimligingizni bilmaydi, shuning uchun u brauzeringizni identifikatsiya provayderiga yo'naltiradi, masalan, kompaniyangizning Okta'si. Siz u yerda kirasiz. Okta brauzeringizga siz kimligingizni ko'rsatuvchi imzolangan XML hujjatini beradi, va brauzer uni qayta yuboradi.

### Tasdiq: imzo u imzolagan narsaning ichida yashaydi

0:59 Bu hujjat tasdiqdir. U foydalanuvchi nomini ko'rsatadi va imzo uning ichida joylashgan, o'z ID'si bilan tasdiqqa ishora qiladi. Va butun narsa brauzeringiz orqali o'tadi, ya'ni, foydalanuvchi orqali. Uni tekshirish uchun, ilova

### Kanonizatsiya: har bir baytda kelishib oling, aks holda hech kim kirmaydi

1:11 imzolangan aniq baytlarni qayta quradi. U imzodagi bo'shliqlarni va atributlar tartibini normallashtiradi, va natijani xeshlaydi. Bu kanonizatsiya, va agar ikki tomon bir baytda kelishmasa, hech kim kirmaydi. JSON veb-tokeni buni boshqacha qiladi. Sarlavha, yuklama va imzo nuqtalar bilan yonma-yon joylashgan. Avval kesib olish uchun hech narsa yo'q.

### 2012: tekshiruvchi va o'quvchi turli elementlarga qaraydi

1:32 Mana yoriq. Imzoni tekshiradigan kod va foydalanuvchi nomini o'qiydigan kod ko'pincha ikkita turli qismdir. Ikki ming o'n ikkinchi yilda, "SAMLni buzish bo'yicha" nomli maqola imzolangan tasdiqni o'quvchi e'tibor bermaydigan joyga ko'chirish mumkinligini ko'rsatdi va ikkinchisini u qaraydigan joyga qo'yish mumkinligini ko'rsatdi. Salesforce va Shibboleth bunga aldanib qolgan o'n bitta ichida edi. Ikki ming o'n sakkizinchi yilda Duo, foydalanuvchi nomi ichidagi izoh ba'zi

### 2018 va 2025: ikkita parslar, ikkita har xil javob

1:55 kutubxonalarni nomning faqat yarmini o'qishiga olib kelishi mumkinligini ko'rsatdi, imzo esa hali ham tekshirilardi. Ikki ming yigirma beshinchi yilda GitHub ruby SAML ichida ikkita XML parseri bir xil hujjat bo'yicha kelishmovchilikni topdi. Xuddi shu xato, yangi o'n yillik. Trail of Bits buni fraktal deb ataydi, chunki har qanday kattalashtirilgan darajada

### Nima uchun buzilishda davom etadi: yomon dizayn fraktali

2:12 bir xil kamchilik bor. U XML asosida qurilgan, imzo ichida joylashgan, va haqiqiy kirishlar spetsifikatsiyaning o'ndan bir qismidan foydalanadi. Va Hacker News'dagi eng yaxshi javob xaridoridan keladi. Agar sizda SAML yordami bo'lmasa, men SAML yordami mavjud mahsulot topishim mumkin. Ikkalasi ham to'g'ri, muammo ham shunda. Shunday qilib, dushanba. Avval OpenID Connect'ni joriy qiling, Fly va Tailscale

### Dushanba: avvalo OIDC, ta'minlangan kutubxona, qat'iy shakllar

2:31 korxonalarga SAMLsiz sotishadi. Agar mijoz majburlasa, ta'minlangan kutubxonadan foydalaning, uni yangilab turing, va Okta yoki Google yuborganlarga o'xshamaydigan xabarlarni rad eting. Hech qachon o'z imzo tekshiruvini yozmang.

### Hukm, ichkarida: REVERT

2:43 Hukm, ichkarida. REVERT. Deyarli yigirma besh yil, hech qachon o'lmaydigan bitta xato sinfi, va hamma kelishgan tuzatish boshqa protokol. O'tgan shanba kuni men passkey'larni ajratdim, shuning uchun keyin nimani ochishimni izohlarda ayting. Va bugungi farq shu. Men Axrisi'dan Nikoman. Mas'uliyat bilan birlashtiring.

## Manbalar

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