[인증]Single-Sign-On(SSO)

Dev_Honey·2022년 10월 31일
0

보안

목록 보기
1/2
post-thumbnail

SSO(Single-Sign-On) 통합 인증

한 번의 인증 과정으로 여러 컴퓨터 상의 자원을 이용 가능하게 하는 인증 기능이다. 싱글 사인온, 단일 계정 로그인, 단일 인증 이라고 한다.
예를 들어 어느 컴퓨터에 로그인한 후 그룹웨어 등의 응용 프로그램을 사용할 때에 또 로그인, 다른 서버상의 응용 프로그램을 사용할 때에도 다시 로그인이 필요한 상황이라면, 사용자는 여러 개의 아이디와 비밀번호를 관리해야 한다. 통합인증을 도입한 환경에서는 사용자는 하나의 아이디와 비밀번호로 모든 기능을 사용할 수 있다.
ex) 쉽게 예를 들어 보자!! 카카오 로그인으로 여러곳을 로그인을 하게 되면, 카카오 본 계정에 로그인이 되어있을 때, 다른 앱에 대한 로그인 및 인증이 가능하게 되어 있다. 만약 본 계정의 비밀번호 변경이나 계정에 대한 변경 사항이 있으면, 로그인 되어 있는 앱에서 로그아웃이 일어나는 것이다.

보안적인 측면으로 보자
보안이 필요한 환경(금융서비스를 예로 들어볼 수 있다.)에서 통합인증을 도입하는 경우, 여러 응용 프로그램의 로그인 처리가 간소화되어 편리성을 도모할 수 있는 반면, 통합인증의 시작점이 되는, 즉 최초의 로그인 대상이 되는 응용 프로그램 혹은, 운영체제에 대한 접근 보안이 중요하게 된다. 보안위험이 적은 환경에서는 편리성만을 추구하면 되지만, 보안이 요구되는 환경에서는 1회용 비밀번호를 이용하는 등, 이중 인증 등으로 보안을 강화할 필요가 있다.

SSO의 장점

  • 관리자는 여러 시스템의 인증 기능을 한 곳에서 통합하여 할 수 있기 때문에, IT 모니터링 및 관리 측면에서 유용
  • 생체 인식 등 다양한 인증 기술을 활성화
  • 다양한 정보 시스템의 구축에 따른 복잡성을 감소
  • 중앙 관리를 통해 업무 단순화 및 표준화를 실현
  • 중앙 집중적인 사용자 관리를 통한 보안 기능을 관리할 수 있다.
  • ID 공급 업체에서 인증 책임을 지기 때문에, 서비스 공급 업체에서도 책임관리가 수월
  • 비밀번호 분실이나 취약한 비밀번호에 대한 위험도를 낮춰준다.

SSO의 작동 기작
사용자가 웹사이트에 접근 -> 웹사이트는 사용자에 관한 몇 가지 정보가 포함된 토큰을 ID 공급업체에 요청 -> ID 공급업체는 사용자가 인증됐는지 여부를 확인하고, 인증되었으면 접근 권한을 부여 -> 아직 로그인을 하지 않은 경우는 인증 절차 진행 -> 인증 정보가 valid하면 ID 공급업체는 웹사이트에 토큰을 돌려보내 사용자가 인증됐음을 알림

웹사이트에 돌려보내지는 토큰에는 사용자의 특수 개인정보가 포함되어 있지 않기 때문에, 토큰을 가로채는 Tools 또는 시스템이 공격받아도 사용자의 정보 유출의 우려는 없다.

SSO인증 시스템의 보안 이슈(논문발췌)
SSO 인증 시스템의 경우 공격자로 인해 사용자의 인증정보가 탈취되었을 경우 재전송 공격을 통한 세션 취득이 가능하다는 문제점이 존재한다. 뿐만 아니라 스마트기기로의 SSO 인증 시스템 적용을 위해 기존 방식에 비해 연산의 경량화가 필요하게 되었다

SSO 인증 시스템의 보안 요구사항(논문발췌)

  • 기밀성 : 사용자 인증 및 서버 인증을 위해서 인증 과
    정에 사용자 인증정보, 인증토큰, 쿠키 등 다양한 인증정
    보가 전송 및 저장된다. 이와 같은 사용자 인증정보는 공
    격자가 내용을 확인할 수 없도록 해야 한다. 만약
    Dictionary Attack 등으로 공격자에게 평문이 노출되었다
    하더라도 정상 사용자의 민감한 정보가 담겨있지 않도록
    간접적인 인증 정보만을 사용하도록 설계해야 한다.
  • 무결성 : SSO을 통한 로그인 과정을 위해 사용자에게
    전송되는 폼은 위조 또는 변조될 수 있다. 폼을 통해 입력
    된 사용자의 인증 정보가 노출되어 악용될 수 있기 때문
    에 폼의 위조 또는 변조가 불가능 하도록 하거나, 서버가
    위조 또는 변조된 사실을 알 수 있도록 설계해야 한다.
  • 재전송 공격 보안 : 사용자와 서버간의 인증 과정을
    위한 통신과정의 트래픽을 통해 정상적인 사용자 패킷을
    쉽게 도청 가능하다. 이를 통해 공격자는 재전송 공격이
    가능하므로 재전송 공격에 안전한 SSO를 설계해야 한다

해당 링크의 논문으로 접속하게 되면, SSO 인증 시스템의 보안점을 해결하기 위해 어떻게 경량화를 진행하였는지 확인할 수 있다.
https://koreascience.kr/article/CFKO201335553771832.pdf

Kakao의 SSO



참조

https://docs.kakaoi.ai/kakao_i_account/dev_process/ssourl/
2013.11 인증정보 재전송 공격에 안전한SSO(Single Sign-On) 경량화 메커니즘 연구+++/ 김현진, 이임영, 순천향대학교 컴퓨터소프트웨어공학과 논문 참조

profile
자습서 같은 공부 블로그 만들기!

0개의 댓글