SAML: 형편없는 설계의 프랙탈
학계와 기업 IT에서 탄생한 Security Assertion Markup Language(SAML) 인증 프로토콜은 이제 시대에 뒤떨어졌습니다. SAML은 2002년 위원회에 의해 개발되어 증가하는 웹 서비스에 대한 단일 로그인(SSO)을 가능하게 했습니다. 복잡한 마크업 언어인 XML을 기반으로 구축되어 본질적인 보안 취약점과 구현의 어려움에 기여합니다. 프로토콜 설계에는 여러 기존 사양을 병합하는 과정이 포함되어 "싱크대" 접근 방식을 초래했습니다. 주요 SSO 제공업체에 널리 채택되었음에도 불구하고 SAML은 상당한 보안 취약점에 직면했습니다.XML 서명 래핑 및 기타 관련 공격은 수년간 SAML 구현을 괴롭혀 왔으며 그 취약성을 보여줍니다. XML 자체의 복잡성은 수많은 기능으로 인해 큰 공격 표면을 도입합니다. 일관된 서명 검증을 위해 XML을 정규화하는 프로세스인 정규화는 수많은 보안 결함의 원인이었습니다. 서명이 서명하는 데이터 내에 포함되는 포괄 서명은 구현의 어려움과 취약점을 야기합니다.또한 SAML 설계에는 현대 구현에서 거의 사용되지 않는 많은 기능이 포함되어 불필요한 복잡성을 더합니다. 이 프로토콜은 또한 경직되어 전송 계층에서 암호화 및 신뢰를 처리하는 HTTPS와 같은 현대 인터넷 인프라에 적응하지 못했습니다. 특정 요구 사항을 해결하기 위해 유기적으로 발전한 OpenID Connect(OIDC)와 달리 SAML은 대부분 사전에 설계되어 새로운 프로토콜의 민첩성이 부족했습니다. 이러한 요인들은 SAML이 OIDC와 같은 현대적인 대안을 선호하여 폐기되어야 할 "나쁜 디자인의 프랙탈"임을 시사합니다.