본문 바로가기

computer science

[SSO] 회원가입 그만하고싶어!

728x90

리그 오브 레전드도 SSO가 적용된지 꽤 오랜시간이 흘렀다.

Single Sign-On(SSO)은 1회 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 인증 솔루션입니다. 

요즘은 참 세상이 좋아졌다. 온라인 게임이나, 쇼핑몰에서 회사마다 귀속된 계정을 만들필요(회원가입)가 없다. 대부분 SSO 적용을 했기 때문이다. 위와 같은 온라인 게임 로그인화면처럼 SNS계정이나 종합 플랫폼 계정으로 로그인해서 사용할 수 있기 때문이다. 10여 년 전처럼 가입되어 있는 사이트마다 들어가서 하나하나 회원탈퇴를 하지 않아도 된다.

 

SSO 솔루션 구현을 위한 일반적인 두 가지 패턴

1. Delegation Model (인증 대행)

인증방식을 변경하기 어려울때 사용된다. 유저가 아닌 에이전트가 개인정보를 가지고 로그인을 대신해 준다.

2. Propagation Model (인증 정보 전달)

개인정보가 포함된 인증 토큰을 생성한다. 생성된 토큰은 보통 웹브라우저 저장(cookie)되어 사용된다. 같은 도메인내에 있다면 one cookie domain sso를 이용하면 손쉽게 sso를 구현할 수 있다.

 

일반적인 구현 기술

SAML(Security Assertion Markup Language)
가장 오래된 인증 토큰 표준 프로토콜이다. SAML은 브라우저 친화적인 마크업 언어인 XML을 사용하여 사용자 식별 데이터를 교환한다. SAML 기반 SSO 서비스는 애플리케이션이 사용자 보안 인증 정보를 시스템에 저장할 필요가 없으므로 더 나은 보안과 유연성을 제공한다. 주로 기업, 정부에서 사용한다.

OAuth(Open Authorization)
애플리케이션이 암호를 제공하지 않고도 다른 웹 사이트의 사용자 정보에 안전하게 액세스 할 수 있도록 하는 개방형 표준 프로토콜이다. 애플리케이션은 사용자 암호를 요청하는 대신 OAuth를 사용하여 일반적으로 개별 로그인이 필요한 애플리케이션 간의 상호작용을 단일 로그인으로 간소화할 수 있다.

OIDC(OpenID Connect)
REST API 및 JSON 인증 토큰을 사용하여 여러 사이트에 액세스 한다. 이를 통해 서비스 공급자가 사용자 보안 인증 정보를 인증하는 역할을 할 수 있다. 주로 OAuth 위에 계층화된 OICD는 주로 타사 애플리케이션, 장바구니 등에 대한 소셜 로그인을 구현하는 데 사용된다.

 

이외에도 아래와 같은 방식들이 있다.

Kerberos
Kerberos는 둘 이상의 당사자가 네트워크에서 신원을 서로 검증할 수 있는 티켓 기반 인증 시스템입니다. 보안 암호화를 사용하여 서버, 클라이언트 및 키 배포 센터 간에 전송되는 식별 정보에 대한 무단 액세스를 방지합니다.

LDAP
LDAP(Lightweight Directory Access Protocol)는 사용자 인증 정보를 저장 및 업데이트하는 디렉토리와 해당 디렉토리에 대해 사용자를 인증하는 프로세스를 정의합니다. 1993년에 도입된 LDAP는 여전히 디렉토리 액세스를 효과적으로 제어할 수 있기 때문에 SSO를 구현하는 많은 조직에서 선택하는 인증 디렉토리 솔루션입니다.

ADFS
ADFS(Active Directory Federation Services)는 Microsoft Windows Server에서 실행되며, 온프레미스 및 오프프레미스 애플리케이션과 서비스를 통해 통합 ID 관리(SSO 포함)를 지원합니다. ADFS는 ID 제공자로 ADDS(Active Directory Domain Services)를 사용합니다. 

 

 

보안적 측면에서 더 알아보면 좋을 거 같은 이야기

SSO 및 제로 트러스트 접근 방식
'제로 트러스트'는 '절대 신뢰하지 않고 항상 확인'하는 보안 접근 방식을 사용합니다. 네트워크 외부든, 이미 인증된 네트워크 내부든, 모든 사용자, 애플리케이션 또는 디바이스는 원하는 다음 네트워크에 액세스하기 전에 ID를 확인해야 합니다.

네트워크가 온프레미스 인프라는 물론 여러 프라이빗 및 퍼블릭 클라우드까지 더욱 분산되면서 네트워크에 침투하는 위협 요소가 더 많은 액세스 권한을 얻어 피해 규모를 늘리는 것을 방지하기 위해서는 제로 트러스트 접근 방식이 필수적입니다.

SSO, 특히 IAM(Identity and Access Management) 솔루션의 일부인 SSO는 제로 트러스트 접근 방식을 구현하는 기본 기술로 널리 인식되고 있습니다. 제로 트러스트의 근본적인 문제는 승인된 최종 사용자가 네트워크를 자유롭게 이동하고 업무나 비즈니스를 처리하는 능력을 방해하지 않으면서 네트워크에 침투하는 공격자를 차단할 수 있는 보안 아키텍처를 구축하는 것입니다. 이를 실현하기 위해 조직은 SSO에 다단계 인증, 액세스 및 권한 제어, 네트워크 마이크로 세분화, 기타 기술 및 베스트 프랙티스를 결합하는 것이 좋습니다. 
728x90