본문 바로가기
개념/Study

SAML (Security Assertion Markup Language)

by Hwanii_ 2023. 11. 20.
728x90

 

1. SAML (Security Assertion Markup Language)

 

* Assertion : 주장 / 표명

 

SAML은 웹 기반 인증 및 권한 부여를 위한 XML 기반의 개방형 표준 규약 (프로토콜) 이다.

 

주로 SSO (Single Sign-on) 시스템 에서 사용 된다.

 

여러 도메인에서 사용자 인증 정보를 공유 하고 안전하게 전달 할 때 사용 된다.

 

 

 

2. SAML의 핵심 구성 요소

 

1) Assertion :

 

SAML 에서 가장 중요한 개념 이다.

사용자 (주체) 에 대한 정보와 해당 Assertion을 생성한 서비스 제공자에 대한 서명 및 메타데이터를 포함 한다.

 

메타데이터는 데이터에 대한 데이터를 의미 하는데, 정보를 설명하는 데이터 라고 보면 된다.

즉, 데이터가 어떤 내용을 가지는지, 어떤 특성을 가지는지를 설명하는 데이터 이다.

 

예를들어, 사진의 메타데이터는 촬영 일자 / 해상도 등과 같은 정보가 포함 되어 있고, 이를 메타데이터 라고 한다.

 

음악의 메타데이터는 노래 제목 / 가수 이름 / 앨범 정보 / 장르 등과 같은 정보가 있고, 이를 메타데이터 라고 한다.

 

2) Identity Provider (IDP) :

 

사용자를 인증하고 Assertion을 생성하는 역할을 하는 시스템 이다.

 

3) Service Provider (SP) :

 

사용자에 대한 서비스를 제공 하는 웹 어플리케이션 또는 서비스 이다.

위에서 Assertion이 서비스 제공자에 대한 서명 및 메타데이터 라고 했는데, 여기서 서비스 제공자가 SP를 의미 한다.

 

4) Single Sign-On (SSO) :

 

사용자가 한 번 로그인 하면, 여러 서비스에 대한 액세스 권한을 얻을 수 있는 메커니즘 이다.

 

 

 

3. SAML 작동 방식

 

1) 사용자가 Service Provider == SP 에 로그인을 시도.

 

2) SP는 사용자를 Identity Provider == IDP로 리다이렉션을 하고, 로그인 페이지를 제공.

 

3) 사용자는 IDP에 로그인하고, 인증에 성공 하면, IDP는 Assertion을 생성 하고,

이것을 사용자의 브라우저를 통해 SP로 전송.

 

4) SP는 Assertion을 확인 하고, 사용자를 해당 서비스에 인증 하게 한다.

 

 

 

4. SAML의 이점

 

1) 사용자 경험 개선

 

SAML은 어플리케이션과 서비스에 더욱 쉽게 로그인 하는것을 도와 준다.

이를 통해, 사용자 생산성을 개선하는데 효과적이다.

사용자가 직무를 수행하는 데 필요한 툴에 손쉽게 로그인이 가능 하기 때문 이다.

 

2) 자격 증명 분실 감소

 

이곳저곳 로그인을 반복하면 비밀번호를 잊을 수 있다.

뿐만아니라, 다양한 비밀번호를 사용 하게 되면 비밀번호 도용 및 유출의 위험이 증가 하게 된다.

SAML을 사용 하면 하나의 사용자 아이디와 비밀번호만 알고 있으면 된다.

 

3) 보안 강화

 

SAML은 안전한 IDP (Identity Provider == 아이덴티티 공급 업체) 를 통해 단일 인증 지점을 제공 한다.

사용자의 신원 정보를 IDP가 SP (Service Provider == 서비스 공급 업체) 에게 전송 한다.

이러한 방식으로 사용자의 신원 정보가 SP에게 직접 전송 되므로, 보안이 강화 된다.

 

 

 

[ 정리 ]

 

SAML은 기업 간 인증 및 권한 부여를 위해 표준 프로토콜로 넓게 사용 된다.

 

클라우드 서비스 및 기업 내 시스템 간의 안전하고 효율적인 SSO를 구현 하는데 주로 사용 된다고 보면 된다.

 

결론은, SAML을 사용 하기 위해서는 IDP == Identity Provider 와 SP == Service Provider가 있어야 한다.

 

IDP는 사용자를 인증하는 공급업체 라고 생각 하면 되고,

SP는 사용자의 권한을 인증하는 서비스 공급업체 라고 생각 하면 된다.

 

그래서 SAML은 IDP와 SP를 서로 연결해주는 역할을 한다.

 

다시 말해서 IDP와 SP가 서로 통신하는 데 사용되는 유용한 프로토콜 이라고 생각 하면 된다.

 

 

 

[ References ]

 

SAML | Okta Identity Korea

 

SAML 인증이란 무엇인가요? (thalesgroup.com)

 

SAML 인증이란 무엇인가요?

SAML 인증 방식으로 SafeNet Trusted Access를 선택해야 하는 이유 각 클라우드와 웹 애플리케이션은 사용자 ID, 이메일 주소, 그룹 멤버십, 우편 주소, 별칭 등과 같이 다양한 필드 중 하나 이상을 포함

cpl.thalesgroup.com

반응형

'개념 > Study' 카테고리의 다른 글

IP 와 Port  (5) 2023.11.26
내부망 / 외부망 / DMZ 이란 ?  (0) 2023.11.25
OIDC (OpenID Connect)  (0) 2023.11.20
OAuth (Open Authorization)  (0) 2023.11.17
SSO (Single Sign-On) TYPE  (2) 2023.11.17