SAML: 잘못된 설계의 프랙털

4 days ago 17

SAML은 SSO 산업의 기반을 만들었지만, XML과 서명 검증의 복잡성이 누적돼 OpenID Connect(OIDC)로의 전환이 필요함 XML 서명 래핑(XSW) 은 오래전부터 알려진 공격인데도 여전히 발생하며, SAML 라이브러리는 인증 기능을 구현하기 전부터 XML 자체의 다양한 취약점 유형에 대응해야 함 정규화(C14N) 와 서명 대상 내부에 서명을 삽입하는 구조는 데이터의 일관된 해석과 검증을 어렵게 만들며, 현대 SAML 공격은 파서 간 해석 차이나 재직렬화 과정의 결함을 주로 활용함 과도한 기능 범위와 설계의 경직화도 문제임. 실제 구현은 명세의 일부만 사용하지만 복잡성은 남아 있으며, SAML은 모바일/SPA/IoT 환경 변화에 필요한 대응을 하지 못함 서비스 제공자에게는 OIDC만 지원하는 방식을, 인증 제공자에게는 신규 SAML 연동을 중단하고 기존 고객에게 동등한 OIDC 설정과 종료 일정을 제공하는 단계적 전환을 권고함 SAML과 SSO 산업의 탄생 SAML은 XML 기반 보안 어서션 언어로, 2002년 OASIS의 Security Services Technical Committee(SSTC)가 만들었음 Netegrity의 Security Services Markup Language(S2ML), Securant의 AuthXML, VeriSign의 XML Trust Assertion Service Specification(X-TASS), Jamcracker의 Information Technology Markup Language(ITML)를 통합함 여러 위원회가 요구사항을 모으는 방식은 폭포수 방법론이나 대규모 사전 설계처럼 온갖 기능을 담는 설계로 이어짐 Web 1.0에서 Web 2.0으로의 전환과 이후 SaaS 확산으로 여러 웹 서비스에 쉽게 인증할 수 있는 수단이 필요해짐 학계가 초기 도입을 주도했으며, Yale의 CAS(2002), 연구대학 컨소시엄 Internet2의 Shibboleth IdP(2003), Microsoft의 ADFS(2003), 학계와 밀접한 노르웨이 국영기업 Uninett의 simpleSAMLphp(2007년경)가 등장함 이 프로젝트들은 모두 어떤 형태로든 SAML을 지원하게 됐고, 대학의 초기 활용 기반 위에서 상용 인증 산업이 성장함 Ping Identity(2002), OneLogin(2009), Okta(2009) 등은 사실상 SAML을 기반으로 사업을 구축...

Read Entire Article