이기종 연합 아키텍처 상호운용성 및 SAML과 WS‑Federation 비교
초록
본 논문은 디지털 아이덴티티 연합 환경에서 서로 다른 프로토콜을 사용하는 SAML과 WS‑Federation 간의 상호운용성을 탐구한다. 연합 아키텍처의 기본 개념을 정리하고, 두 표준의 구조·메시지 흐름·보안 메커니즘을 비교한 뒤, 프로토콜 변환, 메타데이터 매핑, 신뢰 체인 조정 등 구체적인 연계 방안을 제시한다. 최종적으로 이기종 연합 환경에서 실현 가능한 통합 전략을 도출한다.
상세 분석
연합 아이덴티티 관리는 조직 간 사용자 인증·인가 정보를 안전하게 교환하기 위한 메커니즘으로, SAML(Security Assertion Markup Language)과 WS‑Federation은 각각 XML 기반 보안 토큰 교환과 웹 서비스 메시징을 중심으로 설계된 대표적인 표준이다. 논문은 먼저 연합 아키텍처의 핵심 요소인 아이덴티티 제공자(IdP), 서비스 제공자(SP), 메타데이터 레지스트리, 신뢰 관계 설정을 도식화하고, 이들 요소가 프로토콜에 따라 어떻게 구현되는지를 정리한다.
SAML은 Assertion이라는 구조화된 XML 문서를 통해 인증·속성 정보를 전달한다. 주요 흐름은 HTTP Redirect/POST 바인딩을 이용한 브라우저 기반 SSO이며, 서명·암호화 표준으로 XML‑Signature와 XML‑Encryption을 사용한다. 반면 WS‑Federation은 WS‑Trust와 WS‑Security를 확장한 토큰 서비스(STS)를 중심으로, SOAP 메시지 안에 보안 토큰을 삽입하거나 HTTP POST을 통해 전달한다. WS‑Federation은 보안 토큰 요청(RST)·응답(RSTR) 구조를 갖고, 토큰 형식으로 SAML Assertion을 그대로 포함할 수 있다.
두 표준의 차이는 바인딩 방식, 메시지 포맷, 확장성 메커니즘에 있다. SAML은 비교적 가볍고 브라우저 친화적이지만, 복잡한 서비스 지향 시나리오에서는 WS‑Federation이 제공하는 WS‑Policy·WS‑Addressing 같은 메타데이터 확장이 유리하다. 논문은 이러한 차이를 기반으로 상호운용성 문제를 세 가지 축으로 구분한다. 첫째, 메타데이터 호환성 – IdP와 SP가 서로 다른 메타데이터 스키마를 사용하므로, 자동 변환 파이프라인이 필요하다. 둘째, 토큰 형식 매핑 – WS‑Federation의 STS가 발행하는 토큰은 SAML Assertion을 포함할 수 있지만, 클레임 규칙·조건부 인증 흐름은 서로 다르게 정의된다. 셋째, 보안 프로파일 차이 – 서명·암호화 알고리즘 선택, 키 관리 방식, 시계 동기화 정책 등이 불일치한다.
이를 해결하기 위한 구체적 방안으로 논문은 ‘브리지 프로토콜’ 개념을 제시한다. 브리지는 메타데이터 변환 엔진, 토큰 변환 모듈, 신뢰 체인 조정기능을 포함한다. 메타데이터 변환 엔진은 SAML 메타데이터 XML을 WS‑Federation 메타데이터(WS‑Policy 기반)로 매핑하고, 역방향도 지원한다. 토큰 변환 모듈은 STS가 발행한 SAML Assertion을 그대로 전달하거나, 필요 시 WS‑Security 토큰 형태로 래핑한다. 신뢰 체인 조정기능은 IdP와 STS 간에 교차 서명·인증서 교환을 자동화하여, 양쪽 모두가 상대방의 서명을 검증할 수 있게 한다.
또한 논문은 실무 적용 시 고려해야 할 운영적 이슈를 논의한다. 첫째, 정책 일관성 유지 – 두 프로토콜이 지원하는 클레임 종류와 매핑 규칙을 사전에 정의하고, 정책 엔진에 일관된 규칙을 적용해야 한다. 둘째, 성능 최적화 – 브리지 단계에서 발생하는 XML 파싱·재서명 비용을 최소화하기 위해 스트리밍 파서와 캐시 메커니즘을 활용한다. 셋째, 오류 처리와 로깅 – 프로토콜 변환 과정에서 발생하는 오류를 표준화된 오류 코드로 매핑하고, 감사 로그에 연합 전체 흐름을 기록한다.
결론적으로, SAML과 WS‑Federation은 근본적인 설계 목표는 동일하지만, 구현 세부 사항에서 큰 차이를 보인다. 이러한 차이를 메타데이터·토큰 변환 브리지를 통해 중재하면, 이기종 연합 환경에서도 원활한 사용자 경험과 보안 수준을 유지할 수 있다. 논문은 향후 표준화 작업에서 상호운용성 프로파일을 정의하고, 오픈소스 브리지 구현체를 제공함으로써 실무 적용을 촉진할 것을 제안한다.
댓글 및 학술 토론
Loading comments...
의견 남기기