인증

시스템이 사용자의 신원을 확인하고 그가 주장하는 정체성이 올바른지 수학적/논리적으로 검증하는 프로세스.

— NIST 컴퓨터 보안 가이드라인

"아이디와 패스워드를 치고 들어오는 행위 자체. 하지만 유저들은 항상 자기 비밀번호를 까먹는다." 비밀번호 복잡도 규정 만든 놈 나와서 나랑 한판 붙자.(...)

1. 개요

컴퓨터 시스템이나 API 서버가 접근을 시도하는 주체(User, Service 등)의 신원을 검증하는 행위다. 영문 명칭은 Authentication, 업계 약어로 AuthN이라고도 부른다. 가장 보편적인 ID/비밀번호 입력부터 일회용 OTP, 생체인식, 그리고 소셜 로그인으로 유명한 OAuth 등이 이에 해당한다.(...)

2. 인증과 인가의 영원한 헷갈림 촌극

현업이든 면접이든 개발 생태계에서 가장 많이 혼동하고 오용하는 단어 1위가 바로 인증(Authentication)인가(Authorization)의 구별이다. 인증은 쉽게 말해 '로그인'이다. 즉, 내가 이 사이트의 회원인 '홍길동'이 맞음을 입증하는 신분 확인 절차다. 반면 인가는 그렇게 인증을 거친 홍길동이가 관리자 페이지에 들어갈 수 있는지 권한을 체크하는 '자격 부여' 절차다. 이 둘을 혼동해서 코드 내에 CheckAuthentication 함수에 인가 로직을 짜두는 대참사가 깃허브 오픈소스 바다에 널려 있다. 현대 웹에서는 직접 비밀번호 DB를 구축했다가 해킹당해 쇠고랑을 차는 리스크를 피하기 위해, 구글이나 카카오의 인증 인프라에 신원 검증을 위임하는 소셜 로그인(OIDC) 구조가 거의 필수 상식으로 굳어졌다.1

3. 관련 밈 및 드립

3.1. 비밀번호는 8자리 이상, 대소문자, 특수문자, 숫자를 포함...

인간의 뇌 용량을 시험하는 기만적인 인증 규정 드립이다. 보안을 높이겠답시고 온갖 제약을 다 걸어두니 유저들은 결국 Password123! 같은 유추하기 아주 쉬운 형태의 비밀번호만 골라서 양산하게 되었고, 정작 본인들도 기억을 못 해 로그인할 때마다 임시 비밀번호 메일을 발송하느라 서버 리소스가 낭비되는 역설적인 촌극을 뜻한다.

3.2. 당신은 로봇입니까? (CAPTCHA)

인증의 일종으로, 기계의 무단 침입을 막기 위해 인간을 고문하는 무자비한 이미지 고르기 테스트다. '소화전을 모두 고르세요'라고 해놓고 소화전 귀퉁이가 1픽셀 걸쳐있는 빈칸을 누를지 말지 인간 개발자마저 고뇌하게 만들며, 정작 최신 AI 모델들은 99%의 정답률로 1초 만에 뚫어버리는데 진짜 인간은 3번 연속 틀려 차단당하는 휴먼 차별적 코미디가 수시로 연출된다.

4. 여담

  • 단방향 암호화: 인증 시스템을 구축할 때 유저의 비밀번호는 절대로 그대로 저장하면 안 되며, SHA-256이나 bcrypt 같은 해시 함수로 난수화하여 단방향 암호화 수렁에 박아 넣어야 한다. 개발자 본인도 유저 비번이 뭔지 알 수 없어야 정상이다.
  • 2FA / MFA: 아이디와 비번만으로는 해킹을 막을 수 없어, 유저 휴대폰 문자나 OTP 앱으로 2차 검증을 하는 다요소 인증(Multi-Factor Authentication)이 강제되는 추세다. 보안은 올라가지만 귀찮음도 스택으로 쌓인다.
  • 패스키(Passkey)의 등장: 2026년 현재는 비밀번호라는 개념 자체를 지구상에서 박멸하기 위해 Apple, Google, MS 연합이 주도하는 생체 인식 기반의 비밀번호 없는(Passwordless) 패스키 표준이 급격히 확장되고 있다.

5. 관련 문서

각주

  1. 소셜 로그인을 연동하다 보면 개발자 센터에서 리다이렉트 URI(Redirect URI) 하나 잘못 타이핑해서 하루 종일 로그인이 먹통이 되고 모니터를 치는 애환을 누구나 한 번쯤 겪는다.(...)