인증 기술 : SSO, Kerberos, OAuth

보안/신기술보안기능인증 기술
읽는데 7분 소요
처음 쓰여진 날: 2025-10-09
마지막 수정일: 2025-10-09

요약

SSO(Single Sign-On), Kerberos, OAuth의 핵심 개념과 동작 원리, 차이점을 명확히 알아봅니다. 각 인증 기술의 특징과 장단점을 비교 분석하고, 정보처리기사 실기 대비 문제도 포함하여 인증 전문가로 거듭나세요.

세 가지 인증 기술 비교 요약

구분SSO (Single Sign-On)KerberosOAuth
주요 목적인증 (Authentication)인증 (Authentication)권한 부여 (Authorization)
핵심 개념한 번의 로그인으로 여러 서비스 이용티켓 기반 상호 인증비밀번호 없이 자원 접근 권한 위임
사용 환경웹 기반 기업 내부 시스템, 클라우드 서비스주로 내부 네트워크 (Windows Active Directory 등)외부 서비스 연동, 소셜 로그인, API 접근
보안 방식SAML, JWT 등 토큰 기반대칭키 암호화, 티켓 기반Access Token 기반
비유놀이공원 자유이용권영화관 티켓 시스템집 열쇠 대신 출입 카드키

인증 기술, 왜 중요할까요?

오늘날 우리는 수많은 서비스와 시스템을 사용하며 하루에도 몇 번씩 로그인을 합니다. 이때 사용자의 신원을 확인하고 안전한 접근을 보장하는 기술이 바로 '인증'입니다. 다양한 인증 기술 중에서도 SSO, Kerberos, OAuth는 현대 IT 환경의 핵심적인 역할을 담당하고 있습니다. 이 세 가지 기술의 개념과 차이점을 명확히 이해하고, 정보처리기사 실기 시험까지 대비해 봅시다.


SSO (Single Sign-On) - "한 번의 로그인으로 모든 것을"

SSO(Single Sign-On) 는 말 그대로 한 번의 인증 과정으로 여러 개의 다른 서비스에 자동으로 접속할 수 있게 해주는 시스템입니다. 사용자는 여러 개의 아이디와 비밀번호를 기억할 필요가 없어 편리하고, 기업은 중앙에서 사용자의 접근을 관리할 수 있어 보안성이 향상됩니다. SSO는 Kerberos, SAML, OAuth 등 다양한 기술을 통해 구현되며, 특히 Kerberos에서 사용되는 핵심 기술로도 알려져 있습니다.

  • 핵심 개념: 중앙 인증 서버(IdP, Identity Provider)에서 한 번 인증받으면, 해당 인증 정보를 바탕으로 다른 서비스(SP, Service Provider)에 추가 로그인 없이 접근합니다.
  • 동작 방식:
    1. 사용자가 서비스(SP)에 접근을 시도합니다.
    2. 서비스(SP)는 사용자를 인증 서버(IdP)로 리디렉션합니다.
    3. 사용자는 인증 서버(IdP)에 로그인합니다.
    4. 인증 서버(IdP)는 인증이 완료되었다는 토큰(SAML, JWT 등)을 생성하여 사용자에게 전달합니다.
    5. 사용자는 이 토큰을 가지고 다시 서비스(SP)에 접근합니다.
    6. 서비스(SP)는 토큰을 검증하고 사용자에게 접근을 허용합니다.
  • 장점:
    • 사용자 편의성 증대: 여러 개의 비밀번호를 관리할 필요가 없습니다.
    • 보안 강화: 중앙에서 접근 제어가 가능하고, 다중 인증(MFA)을 적용하기 용이합니다.
    • 관리 효율성: 사용자 계정 관리가 간소화됩니다.
  • 단점:
    • 중앙 인증 서버 의존성: 인증 서버에 장애가 발생하면 모든 서비스에 로그인이 불가능해집니다.
    • 초기 구축 비용: SSO 시스템을 구축하고 연동하는 데 시간과 비용이 소요됩니다.

Kerberos - "티켓 기반의 신뢰할 수 있는 중재자"

커버로스(Kerberos) 는 그리스 신화에 나오는 머리 셋 달린 개 '케르베로스'에서 이름을 딴 인증 프로토콜로, 네트워크 상에서 신뢰할 수 있는 제3자(KDC, Key Distribution Center)를 통해 사용자와 서버 간의 신원을 상호 인증하는 방식입니다. 대칭키 암호화 기법을 기반으로 하며, 한 번 인증을 받으면 일정 시간 동안 유효한 '티켓'을 발급받아 여러 서버에 접근할 수 있습니다. Kerberos는 SSO(Single Sign-On)를 구현하는 핵심 기술로, 한 번의 인증 과정으로 여러 컴퓨터상의 자원을 이용할 수 있도록 해줍니다.

  • 핵심 개념: 티켓 발급 서버(KDC)를 통해 사용자와 서비스가 서로를 안전하게 인증합니다.
  • 주요 구성 요소:
    • KDC (Key Distribution Center): 키 분배 센터로, 내부에 AS와 TGS로 구성됩니다.
      • AS (Authentication Server): 인증 서버. 사용자의 신원을 확인하고 TGT(Ticket Granting Ticket)를 발급합니다.
      • TGS (Ticket Granting Server): 티켓 발급 서버. TGT를 확인하고 특정 서비스에 접근할 수 있는 서비스 티켓(ST)을 발급합니다.
    • 클라이언트(사용자)
    • 서버(서비스)
  • 동작 방식:
    1. AS에 인증: 사용자가 AS에 자신의 정보를 보내 인증을 요청합니다.
    2. TGT 발급: AS는 사용자를 인증하고, TGS에 접근할 수 있는 티켓인 TGT를 발급합니다.
    3. TGS에 서비스 티켓 요청: 사용자는 TGT를 가지고 TGS에 특정 서비스에 대한 접근 티켓(ST)을 요청합니다.
    4. 서비스 티켓(ST) 발급: TGS는 TGT를 검증하고, 해당 서비스에 접근할 수 있는 ST를 발급합니다.
    5. 서비스 접근: 사용자는 ST를 가지고 최종적으로 원하는 서비스에 접근합니다.
  • 장점:
    • 강력한 보안: 모든 통신이 암호화되고, 상호 인증을 통해 중간자 공격을 방지합니다.
    • SSO 지원: 한 번의 인증으로 여러 서비스에 접근 가능합니다.
  • 단점:
    • KDC 의존성: KDC에 장애가 발생하면 전체 시스템 인증이 마비됩니다.
    • 시간 동기화 필요: 모든 시스템의 시간이 동기화되어야 정상적으로 동작합니다.
    • 설정의 복잡성: 초기 구성 및 관리가 복잡합니다.

OAuth - "비밀번호를 주지 않고 권한만 위임하기"

OAuth(Open Authorization) 는 '인증'보다는 '권한 부여(Authorization)' 를 위한 개방형 표준 프로토콜입니다. 사용자가 자신의 비밀번호를 직접 다른 서비스에 제공하지 않고도, 특정 서비스가 가진 자신의 정보나 기능에 대한 접근 권한을 다른 애플리케이션에 안전하게 위임할 수 있도록 해줍니다.

예를 들어, '구글 계정으로 로그인하기' 기능이 바로 OAuth를 사용하는 대표적인 사례입니다. 사용자는 자신의 구글 비밀번호를 해당 웹사이트에 알려주지 않고도, 구글이 사용자의 신원을 대신 인증해주고 웹사이트는 그 결과를 신뢰하여 로그인을 허용합니다.

  • 핵심 개념: 사용자의 자원(데이터)에 대한 접근 권한을 제3자 애플리케이션에 안전하게 위임합니다.
  • 주요 용어:
    • Resource Owner: 사용자 (자원의 소유자)
    • Client: 제3자 애플리케이션 (권한을 요청하는 서비스)
    • Resource Server: 자원이 저장된 서버 (예: 구글 서버)
    • Authorization Server: 권한을 부여하고 Access Token을 발급하는 서버
  • 동작 방식 (Authorization Code Grant Type 기준):
    1. 사용자가 Client에서 '구글로 로그인' 버튼을 클릭합니다.
    2. Client는 사용자를 Authorization Server로 보냅니다.
    3. 사용자는 Authorization Server에 로그인하고, Client에게 권한을 부여할지 동의합니다.
    4. Authorization Server는 Client에게 임시 코드(Authorization Code)를 발급합니다.
    5. Client는 이 임시 코드를 가지고 다시 Authorization Server에 Access Token을 요청합니다.
    6. Authorization Server는 코드를 검증하고 Client에게 Access Token을 발급합니다.
    7. Client는 Access Token을 사용하여 Resource Server에 있는 사용자 정보에 접근합니다.
  • 장점:
    • 높은 보안성: 사용자의 비밀번호가 노출되지 않습니다.
    • 권한 범위 제어: 특정 기능이나 정보에 대한 접근 권한만 선택적으로 위임할 수 있습니다.
    • 표준화: 널리 사용되는 개방형 표준 프로토콜로 확장성과 호환성이 좋습니다.
    • 소셜 로그인 지원: 구글, 페이스북, 네이버 등의 외부 계정을 활용한 간편 로그인이 가능합니다.
  • 단점:
    • 복잡한 구현: 프로토콜의 흐름이 다른 방식에 비해 복잡합니다.

정보처리기사 실기 대비 문제

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...