쉬운 설명
어떤 시스템이 '이 사용자에게 이런 데이터를 보여 줘도 되는가'를 답하려면, 먼저 그 사용자가 누구인지 알아야 합니다. 인증은 그 첫 단계입니다. 비밀번호로 본인을 증명할 수도 있고, 휴대폰으로 받은 일회용 코드를 더할 수도 있고, 지문·얼굴로 대신할 수도 있습니다.
인증 수단은 크게 세 가지 종류로 나뉩니다. ① 아는 것(비밀번호·PIN), ② 가진 것(휴대폰·하드웨어 키·이메일 접근), ③ 본인 자체(지문·얼굴·홍채). 둘 이상을 결합하면 다중 인증(MFA)이 되고, 한 가지가 뚫려도 다른 것이 막아 줍니다.
자주 헷갈리는 이웃 개념이 인가(Authorization, AuthZ)입니다. 인증은 '누구인지'를 확인하는 일, 인가는 '그 누구에게 무엇을 허용하는지'를 정하는 일입니다. 인증을 통과했다고 모든 화면을 볼 수 있는 건 아닙니다. 그건 인가가 결정합니다.
현대 인증의 큰 흐름은 '비밀번호를 덜 쓰는 방향'입니다. 비밀번호는 유출·재사용·피싱에 약합니다. 그래서 2단계 인증(2FA·MFA), 매직 링크(이메일로 받은 링크 클릭으로 로그인), 패스키(WebAuthn — 생체 인증과 결합된 표준)처럼 더 안전한 방식이 표준이 되고 있습니다. 애플·구글·마이크로소프트가 모두 패스키를 밀고 있어, 가까운 미래에 비밀번호가 점점 사라질 전망입니다.
구현 시 주의: 비밀번호는 평문으로 저장하면 절대 안 됩니다. bcrypt·scrypt·Argon2 같은 해시 함수로 저장하고, 매 사용자마다 다른 솔트를 더합니다. 또 '비밀번호 찾기' 같은 흐름이 의외로 약점이 됩니다 — 보안 질문이 사실상 비밀번호보다 약한 경우가 많습니다. 마지막으로, 인증 시스템을 직접 만들기보다 Auth0·Clerk·Supabase Auth·NextAuth·Firebase Auth 같은 검증된 도구를 쓰는 게 거의 항상 안전합니다.

비유로 보면
인증은 호텔 체크인과 비슷합니다. 데스크에서 신분증과 예약 확인을 받으면 객실 카드를 받습니다. 그 카드(세션·토큰)가 있어야 호텔 안의 시설을 쓸 수 있습니다. 카드가 본인인지를 매번 확인하지는 않지만, 분실하면 새 카드로 재발급받아야 하고, 누가 훔쳐 가면 즉시 사용 정지해야 합니다.
어디에서 만나나
모든 디지털 서비스의 첫 관문 — 로그인 화면, 앱 잠금 해제, API 토큰 발급, 사내 시스템 진입, 결제 인증, 행정 서비스 본인 확인. 패스키·OAuth(소셜 로그인)·매직 링크가 빠르게 표준이 되어 가고 있습니다.
작은 예시
은행 앱을 열 때 지문·얼굴로 잠금을 풀고, 새 기기에서 로그인하면 휴대폰으로 6자리 인증 코드를 받게 됩니다. 비밀번호 하나만으로는 불안하니, 다른 채널에 있는 한 가지 증거를 더 요구해 본인 여부를 확실히 하는 방식입니다.
자주 하는 오해
한 줄 정리
인증의 좋은 척도는 '비밀번호 의존도'입니다. 비밀번호 하나만 믿는 시스템은 약하고, MFA·패스키가 깔린 시스템은 강합니다.
