Վերադառնալ
Trail of Bits. SAML-ը հնացել է. ժամանակն է անցնել OIDC-ի
SiTech AI Team2 წთ. საკითხავი

Trail of Bits. SAML-ը հնացել է. ժամանակն է անցնել OIDC-ի

Trail of Bits-ի նոր վերլուծությունը պնդում է, որ SAML նույնականացման արձանագրությունն այլևս չի դիմանում սեփական բարդության ծանրությանը, և նրա տեղը պետք է զբաղեցնի OpenID Connect-ը։ Հոդվածը քննում է 25-ամյա պատմությունը և հինգ նախագծային թերություն։

Trail of Bits-ի բլոգում հրապարակված վերլուծությունը պնդում է, որ SAML (Security Assertion Markup Language) այլևս չի դիմանում սեփական բարդության ծանրությանը, և ժամանակն է այն փոխարինել OpenID Connect-ով (OIDC)։ Տեքստը անցնում է արձանագրության 2002 թվականի կոմիտեական ծագումից մինչև այսօրվա խոցելիությունները։

Կոմիտեի արդյունք, որ ընդունեցին բոլորը

SAML-ը 2002 թվականին ստեղծեց OASIS-ի անվտանգության ծառայությունների տեխնիկական կոմիտեն՝ մեկ բնութագրի մեջ միավորելով չորս մրցակից XML արձանագրություն։ Վաղ տարածումն ապահովեց ակադեմիական միջավայրը՝ Yale-ի CAS, Internet2-ի Shibboleth IdP-ն և Microsoft-ի ADFS-ը, ապա եկան առևտրային մատակարարները՝ Ping Identity (2002), OneLogin և Okta (2009), Duo Security (2010)։

JWT-ի և SAML-ի ստորագրության ձևաչափերի համեմատում

Ճեղք զրահում

Հիմնական խնդիրը XML ստորագրության փաթաթումն է (XSW)։ Trail of Bits-ը 2012 թվականի USENIX-ի «On Breaking SAML: Be Whoever You Want to Be» հոդվածը համարում է ոլորտի կնքահայրը. այն տեսությունը տեղափոխեց պրակտիկա և ստեղծեց թերությունը ստուգելու ավտոմատ եղանակ։ Ավելի քան տասը տարի անց XSW-ն դեռ հանդիպում է՝ ներառյալ GitHub-ի նկարագրած parser differential հարձակումները և PortSwigger-ի 2025 թվականի «SAML roulette» ու «The Fragile Lock» հետազոտությունները։ SAML-ը ժառանգում է նաև XML-ի դասական թերությունները՝ XXE, սուբյեկտների ընդլայնում և DTD-ի ստացում որպես SSRF։

XML-ի կանոնականացում

Հինգ ճակատագրական թերություն

Հոդվածը թվարկում է հինգը՝ կառուցում XML-ի վրա, որը շատ ավելի բարդ է, քան JSON-ը. կանոնականացում, որտեղ SP-ն ու IdP-ն պետք է համաձայնեն բայթ առ բայթ նույնական ներկայացման շուրջ, այլապես ստորագրությունները չեն համընկնի. փաթաթված ստորագրություններ, երբ ստորագրությունը տեղադրվում է հենց այն տվյալների մեջ, որ ստորագրում է. «ամեն ինչ մեկում» նախագծում, քանի որ իրական փոխանակումը շրջանցում է բնութագրի մոտ 90%-ը. և ոսկրացում։

Ոսկրացումն ամենածանրն է։ OIDC-ն ենթադրում է HTTP և կապակցված տոպոլոգիա, մինչդեռ SAML-ը կախված չէ տրանսպորտից և ձևավորվել է VPN-ների ու ցանցային սեգմենտավորման դարաշրջանում. Google-ի BeyondCorp մոդելը և 2014 թվականի zero-trust մոտեցումը շրջեցին այդ ենթադրությունը։ SAML-ը չկանխատեսեց բջջային, SPA և IoT ալիքները, մինչդեռ OIDC-ն աճեց առանձին RFC-ներով՝ OIDC 1.0-ից (2014) մինչև SPA-ների համար PKCE (2026)։

Բոլոր ճանապարհները տանում են դեպի OIDC

Ծառայություն մատուցողներին խորհուրդը հստակ է՝ աջակցե՛ք OIDC-ին, հրաժարվե՛ք SAML-ից. Թոմաս Փթասեքը նշում է, որ Fly.io-ն ու Tailscale-ը արդեն այդպես են անում։ Ինքնության մատակարարներին ավելի երկար ճանապարհ է սպասվում՝ դուրսգրման ծրագիր, նոր հաճախորդների չընդունելը SAML-ին, գործողների համար համարժեք OIDC կարգավորումներ և անջատման ամսաթիվ։ Մոտ 25 տարվա գործունեությունից հետո SAML-ը շնորհակալության է արժանի, բայց ժամանակն է առաջ գնալ։

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։