SEC. 보안 6 MIN READ UPDATED 2026. 04. 30.

YubiKey 하나면 피싱이 불가능해지는 이유

TOTP 인증 앱도 피싱엔 뚫립니다. YubiKey 같은 FIDO2 보안 키가 피싱을 구조적으로 차단하는 원리, 한국 서비스 호환 현황, 구매·설정까지 정리합니다.

BY LIBRETIP 편집 K.H. DIGITAL SECURITY DISPATCH
VERIFIED 이 글의 기술적 사실과 가격 정보는 기준으로 검증되었습니다.

인증 앱까지 설정해뒀는데 계정이 털렸다는 이야기를 들어본 적 있을 거다. 아니면 직접 당했거나.

TOTP 인증 앱(Google Authenticator, Ente Auth 등)은 SIM 스와핑을 막아준다. 하지만 피싱은 못 막는다. 구조적으로.

왜 그런지, 그리고 YubiKey 같은 물리 보안 키가 어떻게 피싱을 “불가능”하게 만드는지 — 기술 구조를 뜯어보겠다.

TOTP 코드는 왜 피싱에 뚫리나

시나리오 하나 그려보겠다.

공격자가 구글 로그인 페이지를 똑같이 베낀 가짜 사이트를 만든다. 도메인은 g00gle-login.com — 눈대중으로 보면 진짜 같다. 피싱 메일의 “비밀번호를 변경하세요” 링크를 클릭하면 이 가짜 페이지로 이동한다.

비밀번호를 입력한다. 가짜 사이트가 그 비밀번호를 실시간으로 진짜 구글에 입력한다. 구글이 “인증 코드를 입력하세요”라고 하면, 가짜 사이트도 똑같이 “인증 코드를 입력하세요” 화면을 보여준다.

인증 앱을 열고 6자리 코드를 입력한다. 그 코드가 가짜 사이트를 거쳐 진짜 구글로 전달된다. 로그인 성공 — 공격자의 세션으로.

이게 실시간 피싱 프록시(Adversary-in-the-Middle, AitM) 공격이다. TOTP 코드는 “30초 동안 유효한 숫자 6자리”일 뿐이라, 어디에 입력하든 작동한다. 코드 자체에는 “지금 진짜 구글 사이트에 있는지” 확인하는 기능이 없다.

YubiKey가 피싱을 구조적으로 차단하는 원리

YubiKey 같은 FIDO2 보안 키는 TOTP와 근본적으로 다른 방식으로 작동한다. 차이는 두 가지다.

1. 오리진 바인딩 — 도메인을 자동으로 확인한다

FIDO2 인증에서는 보안 키를 처음 등록할 때, 그 키와 해당 사이트의 도메인이 암호학적으로 묶인다.

로그인할 때 브라우저가 현재 접속 중인 도메인 정보를 보안 키에 전달한다. 보안 키는 “이 도메인이 내가 등록된 도메인과 일치하는가?”를 자동으로 확인한다. accounts.google.com에 등록된 키는 g00gle-login.com에서 절대 작동하지 않는다.

사람이 도메인을 눈으로 확인하는 게 아니다. 브라우저와 보안 키가 암호학적으로 검증한다. 사람의 실수가 끼어들 틈이 없다.

2. 챌린지-응답 — 복사할 수 있는 코드가 없다

TOTP는 6자리 숫자를 복사해서 어디든 붙여넣을 수 있다. FIDO2는 다르다.

서버가 매 로그인마다 무작위 챌린지(임의의 암호화 데이터)를 보낸다. 보안 키는 키 내부에 저장된 개인 키(private key)로 그 챌린지에 서명해서 돌려보낸다. 서버는 등록 시 저장해둔 공개 키(public key)로 서명을 검증한다.

핵심은, 개인 키가 보안 키 밖으로 절대 나가지 않는다는 거다. 서명값을 가로채도 다음 로그인엔 쓸 수 없다 — 챌린지가 매번 바뀌니까.

비유하면 이렇다. TOTP는 열쇠를 복사할 수 있는 일반 자물쇠다. FIDO2는 매번 자물쇠 모양이 바뀌고, 열쇠가 주인 손에서 떠나지 않는 구조다.

한국 서비스에서 쓸 수 있나?

“원리는 알겠는데, 네이버에서 되냐”가 현실적인 질문이다.

패스키/FIDO2 지원 현황 (2026년 4월 기준)

한국 서비스:

  • 네이버 — 패스키 로그인 지원. 아이디 입력 없이 패스키만으로 로그인 가능.
  • 카카오 — 2024년 11월 웹 기반 패스키 도입. 카카오계정 웹페이지의 ‘계정 보안’ 메뉴에서 등록. 카카오 로그인을 쓰는 외부 서비스에서도 사용 가능.

글로벌 서비스:

  • Google — 패스키를 기본 로그인 방식으로 밀고 있다. 보안 키 등록은 계정 → 보안 → 2단계 인증 → 보안 키에서 가능.
  • Microsoft — 2025년 5월부터 신규 계정에 패스키를 기본 인증으로 설정.
  • GitHub — 2023년부터 FIDO2 보안 키 및 패스키 지원. 개발자라면 가장 먼저 설정할 서비스.
  • Apple — iCloud, Apple ID에 패스키 기본 내장.

한국 서비스의 패스키 지원은 네이버·카카오가 주력이고, 나머지 국내 서비스(은행, 증권 등)는 자체 인증 체계를 써서 FIDO2 보안 키 직접 등록은 아직 제한적이다. 구글, GitHub, 마이크로소프트 같은 글로벌 서비스에서는 완전하게 작동한다.

🟢 일반 사용자: 구글 계정, GitHub, 네이버, 카카오 — 이 네 개에 보안 키를 등록하면 가장 중요한 계정은 커버된다.

구매부터 설정까지

뭘 사야 하나

FIDO2 인증을 받은 보안 키면 된다. 가장 널리 쓰이는 건 Yubico의 YubiKey 시리즈다.

  • YubiKey 5 NFC — USB-A + NFC. PC와 스마트폰 모두 사용 가능. 한국 최저가 약 97,000원 (한국 총판 기준), 쿠팡·11번가 등에서 구매 가능.
  • YubiKey 5C NFC — USB-C + NFC. 최신 노트북이나 USB-C 포트만 있는 기기에 적합.
  • FIDO2 전용 키 (YubiKey Security Key 시리즈) — FIDO2/U2F만 지원하는 기본형. 해외가 약 29달러(약 4만 원)부터.

YubiKey가 아니어도 된다. Google Titan Key, Thetis, Token2 등 FIDO2 인증 보안 키라면 피싱 차단 원리는 동일하다.

반드시 2개

보안 키 1개만 등록하면, 분실 시 계정에 접근할 수 없다. 메인 키 + 백업 키, 최소 2개를 등록해라. 백업 키는 서랍이나 금고에 넣어두면 된다.

추가로, 보안 키 등록 시 서비스가 제공하는 백업 코드도 반드시 저장해라. 비밀번호 매니저에 넣거나 종이에 적어서 보관.

등록 방법 (구글 계정 기준)

  1. myaccount.google.com 접속
  2. 보안 → 2단계 인증 → 보안 키 추가
  3. YubiKey를 USB에 꽂고(또는 NFC로 태그하고) 키의 금속 부분을 터치
  4. 끝. 다음 로그인부터 비밀번호 입력 후 키 터치로 인증.

네이버, 카카오도 비슷하다. 계정 설정 → 보안 → 패스키/보안 키 등록에서 진행하면 된다.

누구에게 필요하고, 누구에게 과한가

🟢 일반 사용자 — TOTP 앱이면 충분

카페 와이파이 쓰고, SNS·메일·쇼핑 정도 하는 수준이라면 TOTP 인증 앱으로 충분하다. TOTP 설정법이 궁금하다면 2단계 인증 가이드를 참고해라.

피싱 메일을 잘 구분하고, 낯선 링크를 클릭하지 않는 습관만 있으면 TOTP로 커버되는 영역이다.

🟡 민감한 상황 — 보안 키를 고려할 시점

  • 기업 인프라나 팀 관리자 계정을 다루는 경우
  • 암호화폐를 의미 있는 금액으로 보유한 경우
  • 업무상 표적형 피싱(스피어 피싱)을 받을 가능성이 있는 경우

이 수준이라면 주요 계정 2~3개에 보안 키를 등록하는 게 현실적인 투자다. YubiKey 2개 사도 20만 원 안팎이다.

🔴 OPSEC 필요 — 보안 키가 필수

기자, 내부고발자, 인권 활동가, 기업 보안 담당자. 공격자가 “당신”을 특정해서 피싱을 보내는 상황이라면 TOTP로는 부족하다.

Google의 고급 보호 프로그램(Advanced Protection Program)은 FIDO2 보안 키를 필수로 요구한다. 이 프로그램은 기자, 활동가, 선거 관계자를 위해 설계됐고 — 그 정도 위협 수준이면 보안 키가 선택이 아니라 전제 조건이다.

정리

TOTP 인증 앱은 비밀번호 유출과 SIM 스와핑을 막아준다. 하지만 가짜 사이트에 코드를 직접 입력하는 피싱 공격에는 구조적으로 무력하다.

FIDO2 보안 키(YubiKey 등)는 다르다. 브라우저가 도메인을 자동 검증하고(오리진 바인딩), 복사 가능한 코드 대신 일회성 암호 서명을 쓰기 때문에(챌린지-응답), 피싱 사이트에서는 인증 자체가 진행되지 않는다. 사람의 판단이 아니라 암호학이 막아주는 구조다.

네이버, 카카오, 구글, GitHub, Microsoft 등 주요 서비스가 이미 지원한다. 한국에서도 쓸 수 있다.

대부분의 일반 사용자에게는 TOTP 앱이면 충분하다. 하지만 “비밀번호와 인증 코드를 둘 다 넘기는 피싱”이 현실적 위협인 사람이라면 — YubiKey 하나가 그 문제를 구조적으로 없앤다.

자주 묻는 질문

YubiKey를 잃어버리면 계정에 영구적으로 접근할 수 없나요?
아닙니다. 보안 키를 등록할 때 대부분의 서비스가 백업 코드를 제공합니다. 백업 키를 하나 더 등록해두면 메인 키를 분실해도 백업 키로 로그인할 수 있습니다. 핵심은 보안 키 등록 시점에 백업 수단을 반드시 확보해두는 것입니다.
YubiKey는 한국 서비스(네이버, 카카오)에서도 쓸 수 있나요?
네이버와 카카오 모두 패스키(FIDO2) 로그인을 지원합니다. 네이버는 패스키만으로 아이디 입력 없이 로그인이 가능하고, 카카오는 2024년 11월부터 웹 기반 패스키를 도입해 카카오 로그인을 쓰는 외부 서비스에서도 사용할 수 있습니다.
TOTP 인증 앱을 이미 쓰고 있는데 YubiKey로 바꿔야 하나요?
일반 사용자라면 TOTP 앱으로 충분합니다. YubiKey가 필요한 건 피싱 공격이 현실적 위협인 경우 — 기업 관리자, 기자, 활동가, 암호화폐 고액 보유자 — 입니다. TOTP는 SIM 스와핑을 막지만 피싱은 못 막고, YubiKey는 피싱까지 구조적으로 차단합니다.
YubiKey 말고 다른 FIDO2 보안 키도 같은 효과가 있나요?
FIDO2 인증을 받은 보안 키라면 피싱 차단 원리는 동일합니다. Google Titan, Thetis, Token2 등이 있고, 가격은 YubiKey보다 저렴한 경우도 있습니다. 핵심은 브랜드가 아니라 FIDO2 인증 여부입니다.

계속 읽기

댓글

댓글은 giscus를 통해 GitHub Discussions에 저장됩니다.