글 목록

패스키 vs OTP vs SMS 인증, 내 서비스엔 무엇을 쓸까

패스키, OTP, SMS 인증을 피싱 저항성, 구현 난이도, 사용자 편의 기준으로 비교합니다. 소규모 블로그부터 결제 서비스까지 상황별로 무엇을 고를지 추천합니다.

목차

    로그인 보안 강화 방안을 검토할 때 가장 먼저 직면하게 되는 과제는 패스키, OTP, SMS 인증 중 어떤 방식을 도입할 것인가 하는 점입니다. 세 방식 모두 다중 인증(MFA) 기능을 제공하지만, 각기 운용되는 성격에는 차이가 있습니다.

    먼저 고르는 기준 세우기

    인증 방식을 검토함에 있어 단순히 보안성만을 기준으로 판단할 경우 결과가 편향될 수 있습니다. 서비스 운영 환경의 현실적인 제약을 고려하여 세 가지 기준을 종합적으로 검토해야 합니다.

    • 피싱 저항성: 가짜 사이트에 속아도 인증 정보가 넘어가지 않는가
    • 구현 난이도: 개발, 운영, 장애 대응에 드는 비용은 얼마인가
    • 사용자 편의: 가입자가 끝까지 쓰고, 기기를 바꿔도 복구할 수 있는가

    피싱 저항성을 최우선으로 고려한 명확한 이유가 있습니다. 현재 발생하는 계정 탈취 사례의 상당수는 단순 비밀번호 취약성 때문이 아니라, 사용자가 위조된 로그인 페이지에 직접 정보를 입력함에 따라 발생합니다. 해당 경로를 원천적으로 차단할 수 있는지 여부가 인증 방식 간의 가장 큰 차이점입니다.

    세 방식은 각각 어떻게 동작하나

    SMS 인증은 해당 방식은 서버에서 6자리 인증번호를 문자 메시지로 발송하고 사용자가 이를 직접 입력하는 구조로, 가입 절차가 간소하여 범용적으로 사용되고 있습니다. 다만, 사용자가 수동으로 입력하는 과정에서 피싱 사이트에 정보가 유출될 우려가 있으며, SIM 스와핑이나 번호 재할당과 같은 통신망 기반의 보안 취약점 또한 존재합니다. 이와 관련하여 NIST 등 주요 표준 기관에서도 전화망 기반 인증을 제한적인 보안 수단으로 분류하고 있습니다.

    OTP는 일반적으로 TOTP를 의미합니다. Google Authenticator와 같은 애플리케이션이 30초 단위로 코드를 생성하고, 서버가 동일한 시크릿 키를 기반으로 검증하는 방식입니다. 통신망을 이용하지 않아 SIM 스와핑으로부터 안전하지만, 사용자가 직접 코드를 입력해야 하므로 실시간 중계형 피싱 공격에는 여전히 취약합니다.

    패스키는 기기에 저장된 개인키를 사용하여 서명하는 방식이며, 서버에는 공개키만 보관됩니다. 브라우저가 서비스 도메인을 검증한 후에만 서명이 수행되므로 피싱 도메인에서는 인증 절차가 원천 차단됩니다. 사용자의 별도 판단이 개입할 여지가 없다는 점이 본 방식의 핵심입니다.

    표로 한 번에 비교

    기준패스키TOTP 앱SMS 인증
    피싱 저항성높음 (도메인 바인딩)중간 (코드 입력형)낮음
    SIM 스와핑 위험없음없음있음
    구현 난이도중상 (WebAuthn, 복구 설계)중간 (라이브러리 활용)낮음 (단, 발송 연동 필요)
    운영 비용낮음낮음발송 건당 비용, 해외 발송 이슈
    사용자 편의높음 (생체, 기기 잠금 해제)중간 (앱 설치, 코드 입력)높음 (설치 불필요)
    기기 분실 시 복구설계 필요 (동기화, 대체 수단)복구 코드 필요번호 변경 절차 필요
    적합한 대상주력 로그인 수단2단계 인증가벼운 본인 확인, 보조 수단

    표에서 주목할 점은 SMS 인증의 '구현 난이도 낮음' 항목입니다. 코드 생성 및 발송 자체는 용이하나, 발송 대행사 연동, 오류 처리, 어뷰징 방지 및 비용 관리 등 수반되는 업무를 고려할 때 단순한 기능 구현 이상의 운영적 검토가 필요합니다.

    패스키 도입에 대해서는 반대 입장입니다. 라이브러리를 통해 구현 난이도는 크게 낮아졌으나, 핵심적인 난제는 복구 프로세스 설계에 있습니다. 기기 분실 시 사용자의 계정 복구 방안이 마련되지 않는다면, 보안성 강화와 별개로 고객 문의 급증이 불가피할 것으로 판단됩니다.

    상황별로 무엇을 고를까

    1인 블로그나 소규모 커뮤니티라면 관리자 계정에 TOTP를 우선 적용할 것을 권고합니다. 가입자 규모가 작고 운영 인력이 한정적인 상황을 고려할 때, 외부 발송 비용이 발생하지 않는 방식이 적합합니다. 일반 회원의 경우 소셜 로그인이나 패스키 옵션을 제공하는 것으로 충분할 것으로 사료됩니다.

    일반 소비자 서비스(쇼핑, 콘텐츠, 구독)라면 패스키를 기본 로그인 인증 수단으로 도입하고, 비밀번호 및 TOTP는 보조 수단으로 유지하는 구성이 현실적입니다. 기존 사용자의 전환을 단번에 수행하기에는 현실적인 제약이 있으므로, 로그인 직후 패스키 설정을 권장하는 방식을 통해 점진적으로 전환율을 높이는 전략이 효과적입니다.

    금융, 결제, 개인정보 민감 서비스라면 피싱 공격으로 인한 피해 규모를 고려할 때 패스키를 최우선 인증 수단으로 도입해야 합니다. 업권별 규제 및 인증 요건이 상이할 수 있으므로 사전에 관련 기준을 확인하시기 바랍니다. 또한, SMS 인증은 단독 활용보다는 보조적인 확인 수단으로 운용하는 것이 보안상 안전합니다.

    사내 도구, 관리자 콘솔이라면 패스키 또는 하드웨어 보안 키를 권합니다. 사용자 수가 적고 기기를 통제할 수 있어서, 도입 부담이 가장 작은 환경입니다.

    SMS 인증을 꼭 써야 하는 경우도 있습니다. 회원가입 시 휴대폰 본인 확인 절차가 필수적이거나 앱 설치가 제한적인 사용자층이 많을 경우, 해당 기능을 로그인 보안 수단이 아닌 '번호 소유 확인' 용도로 한정하여 운용하시기 바랍니다. 또한, 무분별한 발송을 방지하기 위해 발송 횟수 및 시도 횟수 제한 정책을 반드시 함께 적용해 주십시오.

    도입 순서 제안

    한 번에 하나만 고르려 하지 말고 단계를 나누는 편이 낫습니다.

    1. 관리자 계정부터 TOTP 또는 패스키를 필수로 만듭니다.
    2. 일반 사용자에게 패스키 등록을 선택 옵션으로 엽니다.
    3. 등록률이 쌓이면 로그인 화면의 기본 흐름을 패스키 우선으로 바꿉니다.
    4. SMS는 복구와 본인 확인 같은 보조 용도로만 남깁니다.

    각 단계를 마칠 때마다 복구 경로가 실제로 작동하는지 직접 시험해 보세요. 기기를 잃어버린 상황을 한 번이라도 재현해 보지 않으면, 그 경로가 가장 약한 고리가 됩니다. 공격자는 강한 인증을 뚫는 대신 "복구하기"를 누르기 때문입니다.

    정답은 조합

    피싱 저항성 측면에서는 패스키가 우위에 있으나, 도입 편의성 면에서는 SMS가 앞섭니다. TOTP는 비용과 보안의 균형을 유지하는 절충안 역할을 합니다. 서비스의 위험도와 사용자 환경을 고려하여 패스키를 주 인증 수단으로, TOTP를 대체 수단으로, SMS를 보조 수단으로 구성하는 것이 가장 권장되는 표준 모델입니다.

    댓글 0

    1. 댓글을 불러오는 중이에요.