개념 사전 · 개념

사용자 인증

Authentication · 사용자 인증

인증은 제출된 증거를 기대한 계정이나 주체와 연결하는 과정이다. 비밀번호 검증·다중 요소·인증서 등 방식이 달라도 인증 성공 뒤 자원별 는 별도로 필요하다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 입력한 이 특정 계정과 맞는지 판단한다.
  • 고위험 작업에서 현재 인증 수준과 필요성을 결정한다.
  • 성공·실패·계정 상태를 세션 발급과 감사 기록에 연결한다.

02어떤 순서로 동작하나

  1. 신원 주장 수신

    사용자가 계정 이름이나 인증 요청을 제시하면 서비스가 어떤 계정·인증 절차인지 식별한다. 계정이 존재한다는 주장과 실제 주체 확인은 다르다.

  2. 증거 검증

    비밀번호·인증기·키 등 정한 방식의 증거를 검증한다. 비밀번호 저장값은 같은 Salt·비용 조건으로 비교하고 재사용 가능한 비밀을 로그에 기록하지 않는다.

  3. 추가 조건 평가

    필요한 다중 인증·위험 조건· 요구를 적용한다. 독립적인 인증 요소를 결합하는 것과 같은 비밀번호를 두 번 묻는 것은 다르다.

  4. 인증 상태 생성

    성공하면 새 세션 등으로 신원과 인증 수준을 후속 요청에 연결한다. 객체별 접근 권한은 별도 로 결정하고 만료·로그아웃 때 인증 상태를 종료한다.

03먼저 알아둘 용어와 구성요소

비밀번호·보안 키·인증서 등 신원을 증명하는 재료.
서로 독립적인 인증 요소를 함께 요구하는 방식.
민감한 작업 전에 새 증거로 인증 상태를 다시 확인하는 처리.
정책에 따라 계정 사용을 제한하는 상태로 영향도 고려해야 한다.
LEARN THROUGH PRACTICE

쿠키와 폼 토큰이 서로 다른 상태를 나타내는지 확인하기

세션 식별자와 요청 검증 토큰을 구분하고, 쿠키가 있다는 사실과 인증 성공을 분리한다.

실습 구성과 전제

  • 폐기 가능한 실습 계정으로만 로그인한다.
  • 다음 두 요청 화면은 서로 다른 웹 실습의 비교 자료다. 쿠키 값을 복사해 한 연결처럼 재사용하지 않는다.
  1. 서버가 상태를 찾는 단서를 분리한다

    • 브라우저 개발자 도구에서 로그인 응답의 Set-Cookie와 다음 요청의 Cookie를 구분한다. 응답이 저장 지시를 보내고 요청이 저장된 값을 되돌려 보낸다.
    • 세션 쿠키가 있어도 서버 측 세션이 만료됐거나 해당 작업 권한이 없을 수 있다.
    Burp·Hydra 격리 로그인 실습 · BurpSuite원본 크기로 보기 ↗
    • Cookie 헤더와 로그인 폼의 user_token이 서로 다른 위치에 있다.
    • Origin·Referer·Content-Type도 함께 보이므로 서버가 검증할 수 있는 입력은 세션 값 하나만이 아니다.
    확인 기준

    Cookie 존재 여부와 로그인 응답 결과를 별도 칸으로 기록한다.

  2. 본문 토큰과 사용자 입력의 역할을 비교한다

    • 교육용 실습 요청에는 token·phrase·send가 본문 필드로 전달된다. token이라는 이름만으로 서버 세션 토큰인지 토큰인지 결정할 수 없다.
    • 응답·서버 코드·과제 설명을 함께 보아 어떤 값과 연결해 검증하는지 확인한다.
    실습 · 실습·개념 참고 화면 1원본 크기로 보기 ↗
    • 상단 Cookie와 하단 Form item: token·phrase·send가 나뉘어 보인다.
    • Content-Length 66과 Response in frame 링크가 있어 요청 본문 크기와 대응 응답을 추적할 수 있다.
    확인 기준

    필드 이름이 아니라 생성 위치·저장 위치·검증 조건으로 역할을 설명한다.

  3. 로그아웃과 세션 만료를 재시험한다

    • 정상 로그인→허가된 조회→로그아웃→같은 보호 자원 조회 순서로 결과를 기록한다. 로그아웃 뒤 서버가 세션을 더 이상 인정하지 않는지가 핵심이다.
    • 인증 쿠키 삭제만으로 끝나는지, 서버 상태도 무효화되는지 구분한다. 예전 요청의 원문을 외부에 전송하지 않는다.
    확인 기준

    로그아웃 뒤 보호 자원이 다시 보이면 캐시와 실제 서버 응답을 나누어 조사한다.

실습에서 확인한 동작 원리

  • 쿠키·세션·폼 토큰은 같은 개념이 아니다.
  • 상태 변화는 응답과 서버의 판단으로 확인해야 한다.
관련 개념·전체 실습 화면 이어서 읽기 →
동작·명령 참고 문서

04예제로 따라가기

  • 올바른 비밀번호라도 비활성 계정은 서비스 정책에 따라 로그인을 거부할 수 있다.
  • 로그인 뒤 복구 이메일 변경처럼 민감한 기능은 다시 인증을 요구할 수 있다.
  • 인증 성공 후 새 세션 식별자를 발급하면 로그인 전 식별자가 그대로 사용되는 세션 고정 위험을 줄일 수 있다.

05혼동하기 쉬운 점과 확인 기준

  • 서로 같은 비밀에 의존하는 두 번의 질문을 자동으로 독립적인 다중 인증 요소라고 볼 수 없다.
  • 인증 오류 응답과 로그는 필요한 진단을 남기되 비밀번호·일회용 코드·세션 토큰을 노출하지 않아야 한다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.