2단계 인증 방법 완전정복

2단계 인증은 모두 같은 보호막이 아닙니다. 방식마다 무엇을 막고 무엇은 못 막는지, 실제 연구와 침해 사고에서 어떻게 드러났는지 따라가 봅니다.

한눈에 보기

2단계 인증은 비밀번호 외에 다른 종류의 증거를 한 번 더 요구해, 비밀번호가 새어 나가도 바로 계정이 넘어가지 않게 하는 장치입니다. 다만 두 번째 단계로 무엇을 쓰느냐에 따라 막아 주는 공격이 크게 다릅니다. 문자로 받는 번호와 하드웨어 보안 키는 둘 다 '2단계 인증'이지만 피싱에 대한 강도가 다릅니다. 이 글에서는 표준과 지침의 흐름, 방식별 비교, 구글 연구와 실제 침해 사고, 그리고 내 계정에 적용하는 체크리스트를 정리합니다. 일반 정보이며 특정 서비스의 보안을 보장하지 않습니다.

어디서 왔나: 인증 요소와 표준의 흐름

인증은 흔히 '아는 것(비밀번호)', '가진 것(휴대폰·보안 키)', '나인 것(지문·얼굴)'으로 나눕니다. 서로 다른 종류를 둘 이상 섞는 것이 다중 인증의 기본 아이디어입니다. 일회용 번호 쪽에서는 이벤트 카운터 기반의 HOTP(RFC 4226)가 먼저 있었고, 시간을 기준으로 삼는 TOTP가 RFC 6238로 2011년 5월에 발행되었습니다. RFC 6238은 HOTP를 확장한 것으로 기본 시간 간격을 30초로 권장하며, 표준 트랙이 아닌 정보 제공용(Informational) 문서입니다. 한편 보안 키 쪽은 FIDO 연합의 U2F에서 FIDO2로 이어졌고, 그 웹 부분인 WebAuthn이 2019년 3월 4일 W3C 권고안(레벨 1)이 되었습니다. 이 방식의 인증 정보는 등록된 사이트에만 묶여 피싱에 강합니다. 흔히 말하는 패스키도 WebAuthn을 쓰는 인증 정보를 가리킵니다. 미국 NIST의 디지털 신원 지침(SP 800-63B)은 전화망(SMS·음성)을 통한 인증 번호 전달을 '제한적(RESTRICTED)'이라고 분류하고 번호 이동·유심 교체 같은 위험 신호를 확인하라고 요구합니다. 또 직접 입력하는 일회용 번호는 가짜 사이트 사칭(피싱)에 대한 저항력이 있다고 보지 않습니다. 아래 카드는 이 글에서 다루는 6가지 방법입니다.

🔐

SMS 문자 인증

로그인 시 등록된 휴대폰 번호로 일회용 인증번호를 문자로 받아 입력하는 가장 대중적인 방식입니다. 설정이 쉽지만 번호 이동(유심 바꿔치기)과 피싱에 약해, 미국 NIST는 이 방식을 "제한적(RESTRICTED)" 인증 수단으로 분류합니다.

🔐

인증 앱(OTP 앱)

인증 앱이 30초 안팎의 짧은 주기로 새 인증번호를 만들어 주는 방식(TOTP, RFC 6238)입니다. 문자를 가로채는 공격에는 강하지만, 가짜 로그인 페이지에 번호를 직접 입력하게 만드는 피싱에는 여전히 취약합니다.

🔐

푸시 알림 승인

로그인 시도가 있을 때 등록된 기기로 알림이 전송되어, 버튼 한 번으로 본인 여부를 승인하는 방식입니다. 편하지만 알림이 반복해서 오면 지쳐서 눌러 버리는 "승인 피로" 공격에 노출될 수 있습니다.

🔐

보안 키(하드웨어 키)

USB나 NFC로 연결하는 물리적인 장치로 인증하는 방식입니다. FIDO2/WebAuthn 표준에서는 인증 정보가 등록된 사이트에만 묶여 있어 가짜 사이트에서는 작동하지 않으므로 피싱에 가장 강한 방식으로 꼽힙니다.

🔐

생체 인증

지문이나 얼굴 인식처럼 신체적 특징을 이용해 본인임을 확인하는 방식입니다. NIST 지침은 생체 정보를 단독 인증 수단이 아니라 물리적 인증 수단과 함께 쓰는 하나의 요소로 봅니다.

🔐

백업 코드

2단계 인증 수단을 분실했을 때를 대비해 미리 발급받아 안전한 곳에 보관해두는 일회용 예비 코드입니다. 구글 계정의 경우 한 세트가 10개이고, 한 번 쓴 코드는 무효가 되며 새 세트를 만들면 이전 세트는 비활성화됩니다.

방식별 비교: 무엇을 막고 무엇은 못 막나

아래 표는 구글의 2019년 연구 결과와 NIST SP 800-63B, WebAuthn 표준에서 확인한 내용만 담았습니다. 구글 연구의 수치는 '복구용 수단이 있을 때 계정 탈취를 막은 비율'이며, 모든 서비스에 같은 수치가 적용되는 것은 아닙니다.

방식구글 연구(2019): 자동화 봇 / 대량 피싱 / 표적 공격 차단표준·지침에서 확인된 점
SMS 문자 인증100% / 96% / 76%NIST는 전화망 인증을 제한적으로 분류. 번호 이동·유심 교체 위험 신호 확인 요구
기기 내 푸시(승인 프롬프트)100% / 99% / 90%우버 침해 사고(2022)에서 반복 알림 끝에 승인된 사례가 있음
인증 앱(TOTP)해당 연구에서 별도 수치를 확인하지 못함RFC 6238 기반, 30초 기본 간격. NIST는 직접 입력하는 일회용 번호를 사칭 저항력 있는 방식으로 보지 않음
보안 키구글: 보안 키만 쓰는 사용자 중 표적 피싱 피해자 0명(비율 수치는 제시되지 않음)WebAuthn 인증 정보는 등록된 사이트에만 제공되어 피싱에 강함
생체 인증해당 연구에서 별도 수치를 확인하지 못함NIST: 생체 정보는 물리적 인증 수단과 함께 쓰는 다중 인증의 일부로만 사용

실제 사례 세 가지

사례 1. 구글이 1년간 지켜본 계정 탈취: 복구 수단의 효과 (연구의 사례)

2019년 5월 17일 구글 보안 블로그는 뉴욕대·캘리포니아대 샌디에이고와 함께 진행한 1년간의 연구를 공개했고, 이 연구는 웹 컨퍼런스(The Web Conference)에서 발표되었습니다. 연구는 계정에 어떤 복구·인증 수단이 있는지에 따라 탈취 시도를 얼마나 막았는지 비교했습니다. 휴대폰 번호로 받는 문자 코드는 자동화 봇 100%, 대량 피싱 96%, 표적 공격 76%를 막았고, 기기 내 프롬프트는 각각 100%, 99%, 90%를 막았습니다. 보안 키만 사용한 사용자 가운데는 표적 피싱 피해자가 한 명도 없었다고 구글은 밝혔습니다. 이 수치를 해석할 때는 이 연구가 구글 계정 환경에서의 결과이고, 공격자의 수법도 시간이 지나면 변한다는 점을 함께 봐야 합니다. 그래도 같은 문자 인증이라도 표적 공격에서는 차단율이 눈에 띄게 낮아진다는 점은 방식 선택의 근거가 됩니다.

사례 2. 알림을 계속 보내 승인을 얻어낸 침입: 우버 (해외 기업, 2022)

우버의 보안 공지에 따르면 2022년 9월 우버는 외부 계약업체 직원의 계정이 침해된 사고를 공개했습니다(9월 15일 공지, 9월 19일 상세 경위 업데이트). 우버는 계약업체 직원의 개인 기기가 악성코드에 감염되었고, 공격자가 그 직원의 우버 회사 비밀번호를 다크웹에서 구입했을 가능성이 높다고 설명했습니다. 공격자는 로그인할 때마다 2단계 로그인 승인 요청을 보냈고 처음에는 접근이 막혔지만, 결국 계약업체 직원이 요청 하나를 승인해 접근했습니다. 우버는 공격자가 해킹 그룹 Lapsus$와 연계되어 있다고 보았습니다. 접근 이후 공격자는 여러 직원 계정에 올라 G-Suite와 슬랙 같은 도구에 권한을 얻고 내부 사이트, 재무 도구, HackerOne 대시보드의 일부 정보에 접근했습니다. 우버는 운영 시스템이나 민감한 사용자 데이터 저장소에 접근한 증거는 보지 못했다고 밝혔습니다. 배울 점은 비밀번호가 새어도 2단계 인증이 막아 줄 수 있지만, 승인 버튼 하나에 의존하는 방식은 반복 요청에 사람이 지치면 뚫릴 수 있다는 것입니다. 모르는 승인 요청은 거부하고, 반복되면 계정 보안을 점검하세요.

사례 3. 내 번호가 남의 유심으로 옮겨 가다: 유심 바꿔치기(SIM 스왑) (문자 인증의 약점)

위키백과(SIM swap scam)에 따르면 유심 바꿔치기는 공격자가 피해자의 개인정보를 모은 뒤 통신사에 분실 신고를 가장해 피해자의 번호를 자기 유심으로 옮기는 수법입니다. 번호가 옮겨지면 피해자의 휴대폰은 통신이 끊기고, 공격자가 문자와 전화를 받아 일회용 번호를 가로챌 수 있습니다. 전화번호만으로 비밀번호를 재설정할 수 있는 서비스라면 계정까지 넘어갈 수 있습니다. 미국에서는 투자자 마이클 터핀이 2018년 유심 바꿔치기로 2,380만 달러를 빼앗겼다며 소송을 냈고, 위키백과는 그중 니컬러스 트루글리아가 징역 18개월과 2,000만 달러 상환 명령을 받았다고 정리합니다. 한국에 대해서도 위키백과는 2022년 초부터 휴대폰 서비스가 갑자기 끊긴 뒤 은행·가상자산 계정이 침해되었다는 피해 주장이 있었다고 적습니다(세부 사실은 확인하지 못했습니다). 배울 점은 문자 인증을 쓰더라도 통신사 계정 자체를 잠그는 보호 설정이 있는지 확인하고, 가능하면 번호에 의존하지 않는 방식을 함께 쓰는 것입니다. 통신사별 설정 이름은 직접 확인하세요.

내 계정에 적용하기: 체크리스트

흔한 오해와 정정

한계와 알아 둘 점

이 글의 차단율은 구글의 2019년 연구 결과이며 모든 서비스·시기에 그대로 적용되지 않습니다. 인증 앱과 생체 인증은 해당 연구에서 별도 수치를 확인하지 못했습니다. NIST 지침도 개정되며 전화망 인증의 '제한적' 지위는 바뀔 수 있다고 문서에 적혀 있습니다. 우버 사례는 회사의 공지 내용에 근거했고, 사고 경위 일부(비밀번호 구입 경로 등)는 '가능성이 높다'는 회사의 추정입니다. 유심 바꿔치기의 한국 사례는 위키백과의 일반적 서술까지만 확인했습니다. 서비스마다 지원하는 방식과 메뉴 이름이 다르니 실제 설정은 해당 서비스의 도움말을 따르세요.

자주 묻는 질문

SMS 인증과 인증 앱 중 어느 것이 더 안전한가요?

문자는 번호 이동(유심 바꿔치기)과 가로채기에 노출될 수 있어 NIST가 제한적 방식으로 분류하고, 인증 앱은 문자 가로채기에는 강합니다. 다만 둘 다 가짜 사이트에 번호를 입력하게 하는 피싱에는 취약하므로, 가능하다면 보안 키나 패스키 같은 사이트에 묶이는 방식을 우선하는 것이 NIST·WebAuthn 설명에 부합합니다.

2단계 인증 기기를 분실하면 어떻게 하나요?

미리 발급받아둔 백업 코드를 사용하거나, 서비스별 계정 복구 절차를 통해 본인 확인을 거쳐 새로운 인증 수단을 등록할 수 있습니다. 구글 계정은 백업 코드 한 세트가 10개이며 새 세트를 만들면 이전 세트가 비활성화됩니다. 복구 절차는 서비스마다 달라 시간이 걸릴 수 있으니 미리 준비해 두세요.

TOTP 인증 앱의 번호는 왜 30초마다 바뀌나요?

TOTP(RFC 6238)는 현재 시각을 기준으로 일회용 번호를 계산하고, 문서는 기본 시간 간격으로 30초를 권장합니다. 짧은 시간만 유효하게 해 번호가 유출돼도 쓸 수 있는 시간을 줄이는 설계입니다. 기기의 시계가 많이 어긋나면 번호가 맞지 않을 수 있습니다.

패스키는 2단계 인증과 같은 건가요?

같지는 않습니다. 위키백과(WebAuthn)에 따르면 패스키는 WebAuthn이 쓰는 공개키 기반 인증 정보를 비전문 용어로 부르는 말이며, 비밀번호 없이 로그인하는 구성도 가능합니다. 인증 정보는 기기, 비밀번호 관리자, 하드웨어 키에 저장될 수 있습니다. 자세한 내용은 아래 패스키 가이드를 참고하세요.

인증번호를 알려 달라는 연락이 오면 어떻게 하나요?

구글 도움말은 구글이 백업 코드를 요구하는 것은 로그인할 때뿐이라고 안내하며 코드를 타인과 공유하지 말라고 합니다. 전화나 메신저로 일회용 번호를 묻는 연락은 정상 절차인지 의심하고, 번호를 알려 주기 전에 해당 서비스의 공식 앱이나 주소로 직접 접속해 확인하세요.

이어서 읽어 보세요