VCA

인증·인가 Auth

Auth는 두 가지 질문에 답해요. 당신은 누구인가(인증), 그리고 무엇을 할 수 있는가(인가).

수정일 약 2분 분량편집 방침#시스템 기초#보안#로그인

한 문장으로

Auth는 '당신이 누구인지'와 '무엇을 할 수 있는지'를 다루는, 시스템 보안의 첫 번째 문이에요.

쉽게 말하면

Auth는 사실 두 가지를 합쳐 부르는 말이에요. 인증(Authentication) 은 "당신이 당신임을 증명하는 것" — 아이디와 비밀번호를 넣거나 Google로 로그인하는 거죠. 인가(Authorization) 는 "당신이 무엇을 할 수 있는지 정하는 것" — 예를 들어 일반 사용자는 관리자 페이지에 들어갈 수 없어요.

로그인에 성공하면 시스템은 당신에게 '통행증'(토큰 또는 세션)을 발급해요. 이후 요청마다 그걸 지니고 다니면, 시스템은 비밀번호를 다시 묻지 않고도 당신인 줄 압니다. 이 통행증은 유효 기간이 있어야 하고 취소할 수 있어야 해요. 그렇지 않으면 도난당했을 때 위험합니다.

아키텍처

동작 흐름

진짜로 유출을 부르는 실수

Auth 재앙의 대부분은 별난 게 아니라, 거듭 나타나는 몇 가지 실수에서 비롯돼요.

  • 프론트엔드의 검사를 믿는다 — 관리자 버튼만 숨겨 두고 백엔드 엔드포인트는 열려 있어, 직접 호출하면 누구든 들어갈 수 있어요.
  • 토큰에 기한이 없고 취소도 못 한다 — 도난당한 통행증이 그 길로 영원히 유효해져요.
  • 비밀번호를 평문으로 저장한다 — 데이터베이스가 한 번 새면 모든 계정이 동시에 드러나요(비밀번호는 해시 처리해야 해요).
  • 어느 한 엔드포인트에서 인가 검사를 빠뜨린다 — "당신에게 허락됐는가"를 묻지 않는 경로가 하나만 있어도 공격자에겐 충분해요.

흔한 오해: "로그인이 되면 = Auth 끝"이라는 생각이에요. 로그인은 "당신이 누구인지"(인증)에만 답해요. 모든 민감한 작업에는 백엔드에서 "당신에게 허락됐는가"를 따로 확인하는 검사(인가)가 여전히 필요해요 — 그리고 통행증(토큰)에는 유효 기간과 취소 수단이 있어야 합니다. 그렇지 않으면 도난당한 하나가 언제까지나 유효한 채로 남아요.

핵심 정리

  • Auth = 인증(당신이 누구인지) + 인가(무엇을 할 수 있는지).
  • 로그인 후에는 토큰 / 세션을 통행증으로 쓴다 — 유효 기간과 취소 수단을 갖춰서.
  • 인가 검사는 반드시 백엔드에서. 프론트엔드에서 버튼을 숨기는 건 보안이 아니다.

일상 속 비유

회사에 들어가는 것과 같아요. 사원증을 찍어 직원임을 증명하고(인증), 출입 시스템이 어느 층에 들어갈 수 있는지 정하죠(인가).

장점

  • 사용자 데이터를 남이 보거나 함부로 바꾸지 못하게 보호함
  • 역할에 따라 누가 무엇을 할 수 있는지 제어함
  • 표준 방식이 성숙해, AI가 안전한 템플릿을 만들어 냄

단점

  • 틀리면 곧 보안 구멍이 되고, 결과가 심각함
  • 토큰, 세션 같은 개념이 초보자에겐 추상적임

적합한 경우

  • 회원, 관리자 페이지, 유료 기능이 있는 시스템
  • 여럿이 협업하고 권한 등급이 필요한 플랫폼

맞지 않는 경우

  • 개인 데이터가 없는, 완전히 공개된 정적 사이트

초보자 점수표

초보자 추천도
2/5
학습 비용(높을수록 비용 큼)
4/5
시장 수요
5/5
AI 생성 친화도
4/5

자주 묻는 질문

인증(Authentication)과 인가(Authorization)는 무엇이 다른가요?

인증은 ‘당신이 누구인가’(로그인 등 신원 확인)이고, 인가는 ‘무엇을 할 수 있는가’(남의 데이터를 지울 수 있는지 등 권한 확인)입니다. 둘 다 빠지면 안 됩니다.

사용자 비밀번호를 직접 저장해야 하나요?

가능하면 피하세요. OAuth(구글/깃허브 로그인)나 성숙한 인증 서비스를 우선하세요. 굳이 직접 저장한다면 비밀번호는 반드시 해시(bcrypt 등)해야 하며 평문 저장은 절대 안 됩니다.

JWT와 세션 중 어느 쪽이 더 안전한가요?

둘 다 안전하며 차이는 관리 방식입니다. 세션은 즉시 폐기가 쉽고, JWT는 무상태 확장에 적합합니다. 초보자는 플랫폼 기본 솔루션을 쓰고 인증을 직접 발명하지 마세요.

CRM 경로 다음 단계: AI로 로그인

SaaS 경로 다음 단계: 키와 시크릿