
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-протоколи. Раннє поширення забезпечила академія — CAS у Єлі, Shibboleth IdP від Internet2 та ADFS від Microsoft — а згодом з'явилися комерційні провайдери ідентичності: Ping Identity (2002), OneLogin і Okta (2009), Duo Security (2010).

Тріщина в броні
Головна проблема — обгортання XML-підпису (XSW). Trail of Bits називає статтю USENIX 2012 року «On Breaking SAML: Be Whoever You Want to Be» хрещеним батьком напряму: вона перенесла теорію в практику і дала автоматичний спосіб перевірки. Понад десять років потому XSW досі трапляється — зокрема атаки з parser differential, описані GitHub, і дослідження PortSwigger 2025 року «SAML roulette» та «The Fragile Lock». SAML успадковує й класичні вади XML: XXE, розширення сутностей і отримання DTD як SSRF.

П'ять фатальних вад
У статті названо п'ять: побудова на XML, значно складнішому за JSON; канонікалізація, де SP та IdP мають домовитися про побайтово ідентичне подання, інакше підписи не збігаються — саме звідси обхід через XML-коментар 2018 року й більшість сучасних round-trip атак; вкладені підписи, коли підпис розміщено всередині даних, які він підписує; дизайн «усе в одному», адже реальний обмін SAML оминає близько 90% специфікації; та окостеніння.
Окостеніння найважче. OIDC припускає HTTP і з'єднану топологію, тоді як SAML не залежить від транспорту і сформувався в епоху VPN та мережевої сегментації; модель BeyondCorp від Google і zero-trust (2014) перевернули це припущення. SAML також не передбачив хвиль мобільних застосунків, SPA та IoT, тоді як OIDC зростав органічно — від OIDC 1.0 (2014) до PKCE для SPA (2026).
Усі дороги ведуть до OIDC
Для сервіс-провайдерів порада пряма: підтримуйте OIDC, відмовтеся від SAML; Томас Птачек зазначає, що Fly.io і Tailscale вже тримають цю лінію. Провайдерам ідентичності доведеться довше — план виведення з експлуатації, припинення підключення нових клієнтів до SAML, еквівалентні конфігурації OIDC для наявних і дата відключення. Після приблизно 25 років SAML заслуговує на подяку, але час рухатися далі.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.