SAML : pourquoi ce protocole doit prendre sa retraite
Original : SAML: A fractal of bad design
Pourquoi c'est important
Des milliers d'entreprises dépendent encore de SAML : la migration vers OIDC est un enjeu de sécurité concret.
Trail of Bits publie une analyse technique détaillée du protocole SAML, créé en 2002 par l'OASIS. Le chercheur Matt Schwager y démontre que sa complexité structurelle, héritée de quatre protocoles XML fusionnés, génère des failles de sécurité systémiques et plaide pour une migration vers OpenID Connect (OIDC).
SAML (Security Assertion Markup Language) est né en 2002 d'un comité de sous-comités de l'OASIS, qui a fusionné quatre protocoles XML distincts : S2ML de Netegrity, AuthXML de Securant, X-TASS de VeriSign et ITML de Jamcracker. Résultat : un protocole surchargé dès sa naissance.
Son adoption massive s'explique par le contexte : la transition Web 1.0 vers Web 2.0 a poussé universités et entreprises à chercher un système d'authentification unique. Yale (CAS, 2002), Internet2 (Shibboleth, 2003), Microsoft (ADFS, 2003) et des acteurs commerciaux comme Okta ou Ping Identity ont bâti leur offre SSO sur SAML.
Mais le protocole souffre de défauts structurels profonds. Sa dépendance à XML — et surtout à la validation de signatures XML — est au cœur du problème. Comme le note le chercheur Thomas Ptacek : « XML signature validation is deeply cursed », et la plupart des implémentations s'appuient sur libxmlsec, une base de code C complexe que personne ne lit vraiment. La canonicalisation XML, les signatures enveloppées et le design « kitchen-sink » créent une surface d'attaque difficile à maîtriser.
Schwager conclut que toutes les routes mènent à OIDC, protocole moderne construit sur JSON, plus lisible et moins sujet aux ambiguïtés d'implémentation.