Dodam Space
계정 지키기

2단계 인증도 방식마다 다르다

문자로 오는 여섯 자리 숫자, 인증 앱, USB로 꽂는 보안 키. 다 2단계 인증이라 부르지만 막아내는 공격이 서로 다릅니다. 기준 문서와 서비스 안내를 나란히 놓고 어디가 갈리는지 봤습니다.

다 같은 2단계가 아니다

2단계 인증을 켜라는 말은 어디서나 듣습니다. 그런데 켜려고 들어가면 선택지가 여럿이고, 어느 쪽이 나은지는 잘 안 알려줍니다.

Google 계정 고객센터가 나열하는 것만 봐도 여섯 가지입니다. 패스키, 기기로 오는 확인 알림, 하드웨어 보안 키, 인증 코드 앱, 문자나 음성 통화, 그리고 백업 코드.

여섯이 다 2단계라 불리지만 막아내는 것이 다릅니다. 그리고 가장 널리 쓰이는 문자 방식이 가장 약합니다.

문자 인증은 비밀번호 유출만, 인증 앱은 전화번호 탈취까지, 패스키와 보안 키는 가짜 사이트까지 막는다는 것을 표 형태로 나타낸 모식도
각 방식이 막아내는 범위를 나타낸 그림이다.

문자 인증은 왜 약한가

기준 문서 쪽 표현이 꽤 강합니다. 미국 NIST 지침은 일반 전화망을 통한 문자 인증을 제한된 인증 수단으로 못 박아 분류합니다.

제한된 수단으로 분류되면 따라오는 의무가 있습니다. 제한되지 않은 대안을 함께 제공해야 하고, 사용자에게 위험을 알려야 하고, 다른 방식으로 옮겨가는 계획을 세워야 한다고요.

Google도 비슷하게 안내합니다. 문자나 통화로 보내는 인증 코드는 전화번호 기반 해킹에 취약할 수 있다고요.

이유는 전화번호가 생각보다 옮기기 쉽기 때문입니다. 통신사에 신분을 속여 번호를 다른 유심으로 옮기는 방식이 대표적입니다. 번호가 넘어가면 그 뒤로 오는 인증 문자도 전부 넘어갑니다.

그렇다고 문자 인증을 끄라는 뜻은 아닙니다. 안 하는 것보다는 훨씬 낫습니다. 다만 더 나은 선택지가 있으면 그쪽으로 옮기는 게 맞습니다.

인증 앱은 무엇이 다른가

인증 앱이 만들어내는 여섯 자리 숫자는 전화번호와 무관합니다. 앱과 서비스가 처음에 나눠 가진 값과 현재 시각으로 계산해 냅니다.

그래서 번호를 빼앗겨도 코드는 넘어가지 않습니다. Google 안내도 이 방식이 인터넷 연결 없이 쓸 수 있다는 점을 언급합니다.

다만 여기에도 구멍이 있습니다. 코드를 사람이 읽어서 옮겨 적는다는 점입니다. 가짜 사이트가 비밀번호와 코드를 함께 물어보면, 사람이 그대로 입력하고 공격하는 쪽은 그 값을 진짜 사이트에 즉시 넣습니다.

즉 인증 앱은 번호 탈취는 막지만 피싱은 막지 못합니다. 이 구분이 다음 단계로 이어집니다.

인증 앱도 뚫리는 순간
사람이 겪는 화면

1. 문자로 온 링크를 누른다 2. 진짜와 똑같이 생긴 로그인 화면 3. 비밀번호 입력 4. "인증 코드를 입력하세요" — 앱을 열어 6자리 입력 5. 로그인 실패 화면. 이상하다 싶어 넘어간다

그 사이에 일어난 일

3번에서 받은 비밀번호를 진짜 사이트에 즉시 입력 4번에서 받은 코드도 30초 안에 그대로 입력 공격하는 쪽은 이미 들어갔다 5번의 실패 화면은 시간을 벌려고 보여준 것

코드를 사람이 읽어 옮겨 적는 구조라서 생기는 일이다. 패스키와 보안 키는 이 단계가 없다.

피싱을 막는 건 두 가지뿐이다

Google은 이 지점을 분명히 말합니다. 패스키와 하드웨어 보안 키가 계정을 피싱 공격으로부터 보호한다고요.

이유는 앞서 본 구조 때문입니다. 이 둘은 특정 사이트에 묶여 동작하므로, 주소가 다르면 사람이 아무리 속아도 인증 자체가 성립하지 않습니다. 사람의 판단이 개입할 자리가 없습니다.

문자와 인증 앱은 반대입니다. 사람이 코드를 읽고 옮겨 적는 순간이 있고, 그 순간이 공격 지점이 됩니다.

Google이 기기로 오는 확인 알림을 권하는 것도 결이 비슷합니다. 코드를 옮겨 적을 필요가 없고, 유심 교체 같은 전화번호 기반 공격에도 대응한다고 안내합니다.

인증 앱을 옮길 때 생기는 사고

인증 앱을 쓰기로 했다면 미리 알아둘 게 있습니다. 폰을 바꿀 때가 고비입니다.

인증 앱의 코드는 처음 등록할 때 서비스와 나눠 가진 값에서 나옵니다. 그 값이 앱 안에 있으니, 앱을 새 폰에 그냥 깔아도 예전 코드가 따라오지 않습니다.

그래서 순서가 중요합니다. 옛 폰이 살아 있을 때 옮겨야 합니다. 요즘 인증 앱들은 계정 동기화나 기기 간 이전 기능을 제공하니, 폰을 초기화하기 전에 이걸 먼저 해야 합니다.

이 순서를 놓치면 등록해둔 서비스마다 계정 복구 절차를 밟아야 합니다. 서비스가 열 개면 열 번을 해야 하고, 어떤 곳은 신분증 사진까지 요구합니다.

백업 코드가 있으면 이 고생을 건너뛸 수 있습니다. 그래서 앞 절에서 백업 코드를 강조한 겁니다.

폰을 잃어버린 경우도 같습니다. 옛 폰이 손에 없으니 이전 기능을 쓸 수 없고, 백업 코드가 유일한 지름길이 됩니다.

왜 아직도 문자가 기본인가

기준 문서가 제한된 수단으로 분류하는데도 문자 인증이 여전히 가장 널리 쓰입니다. 이유가 있습니다.

설치할 게 없다는 점이 큽니다. 전화번호는 모두가 갖고 있고 별도 앱을 깔거나 설정을 배울 필요가 없습니다. 서비스 입장에서는 가입 단계에서 이탈이 가장 적은 방법입니다.

그리고 계정 복구에 쓸 수 있다는 점도 있습니다. 인증 앱은 잃어버리면 복구가 번거로운데, 전화번호는 통신사를 통해 되찾을 수 있으니까요. 이 편리함이 곧 취약점이기도 합니다 — 번호를 되찾는 절차가 공격에 쓰이는 것이니까요.

그러니 문자 인증을 쓰고 있다면 두 가지만 챙기면 손해를 줄일 수 있습니다. 통신사에서 제공하는 번호 이동 보호나 유심 보호 설정을 켜두는 것, 그리고 중요한 계정만이라도 다른 방식을 추가로 등록해두는 것입니다.

여러 방식을 등록해두면 서비스가 알아서 더 강한 쪽을 먼저 씁니다. 문자를 지우지 않아도 되니 부담이 적습니다.

백업 코드를 어디에 두나

어느 방식을 쓰든 빠뜨리기 쉬운 게 백업 코드입니다. Google은 여덟 자리 백업 코드를 안전한 곳에 보관하라고 안내합니다.

폰을 잃거나 바꿀 때 이게 없으면 계정 복구가 상당히 번거로워집니다. 2단계를 켜두고 백업 코드를 안 받아둔 상태가 가장 곤란합니다.

그런데 보관 장소가 애매합니다. 메일에 넣어두면 그 메일 계정이 뚫렸을 때 같이 넘어가고, 폰에만 두면 폰을 잃을 때 같이 잃습니다.

실용적인 답은 종이입니다. 출력해서 집이나 지갑처럼 인터넷과 무관한 곳에 두는 것. 원시적으로 보여도 온라인 공격과 완전히 분리된다는 점에서 확실합니다.

비밀번호 관리자를 쓴다면 거기 넣어두는 것도 방법인데, 그 관리자에 들어가는 수단이 잃어버린 폰에만 있으면 소용이 없으니 그것부터 확인해야 합니다.

  • 가능하면 패스키나 보안 키를 쓴다 — 피싱을 막는 건 이 둘뿐이다
  • 문자만 쓰고 있다면 인증 앱으로라도 옮긴다
  • 여러 방식을 등록해두면 서비스가 강한 쪽을 먼저 쓴다
  • 백업 코드를 받아 인터넷과 분리된 곳에 둔다
  • 메일 계정부터 강하게 잠근다 — 다른 계정의 복구 경로다
  • 등록된 복구 이메일과 전화번호가 지금 쓰는 것인지 확인한다
  • 폰을 바꾸기 전에 인증 앱을 먼저 옮긴다

어디부터 켜나

전부 한 번에 하려면 지치니 순서를 두는 편이 낫습니다.

메일 계정이 첫 번째입니다. 다른 서비스의 비밀번호 재설정 링크가 전부 그리로 오니, 메일이 뚫리면 나머지가 도미노처럼 넘어갑니다.

그다음이 돈이 걸린 곳과 신원이 걸린 곳입니다. 결제 수단이 등록된 서비스, 그리고 본인 확인에 쓰이는 계정들이요.

SNS나 커뮤니티는 그다음입니다. 다만 사칭 피해가 큰 계정이라면 순위를 올려야 합니다.

한 가지 더. 2단계를 켠 뒤에는 실제로 로그아웃했다가 다시 들어와 보시길 권합니다. 켜놓기만 하고 동작을 확인 안 했다가, 정작 필요할 때 못 들어가는 경우가 생각보다 흔합니다.

한 가지 더. 2단계를 켜면 로그인이 번거로워질 거라 걱정하는 분이 많은데, 실제로는 생각보다 덜 귀찮습니다.

대부분의 서비스가 이 기기 기억하기 같은 선택지를 제공합니다. 평소 쓰는 폰이나 노트북을 한 번 등록해두면 그 뒤로는 두 번째 단계를 매번 묻지 않습니다. 새 기기나 낯선 위치에서 들어올 때만 물어보죠.

즉 평소에는 달라지는 게 거의 없고, 정작 남이 내 계정에 들어오려 할 때만 벽이 생기는 구조입니다. 걱정했던 것보다 부담이 적은 이유가 이것입니다.

약한 고리는 대개 복구 경로다

2단계를 아무리 강하게 걸어도 뚫리는 경로가 하나 남습니다. 계정 복구입니다.

생각해보면 당연합니다. 사람은 폰을 잃고 비밀번호를 잊습니다. 그렇다 보니 모든 서비스가 복구 경로를 둡니다. 그리고 그 경로는 정의상 정상 인증을 우회하는 길입니다.

그러니 공격하는 쪽에서는 굳이 2단계를 뚫을 이유가 없습니다. 복구 절차를 노리면 되니까요. 흔한 방식이 등록된 복구 이메일이나 전화번호를 먼저 장악하는 것입니다.

그래서 앞서 메일 계정부터 강하게 잠그라고 한 겁니다. 메일이 다른 계정들의 복구 경로이기 때문입니다.

확인해볼 만한 것이 몇 가지 있습니다. 계정 설정에 등록된 복구 이메일과 전화번호가 지금도 내가 쓰는 것인지. 예전에 쓰던 번호나 학교 메일이 그대로 남아 있는 경우가 흔합니다.

그리고 보안 질문이 설정돼 있다면 확인해볼 만합니다. 출신 초등학교나 어머니 성함 같은 것은 알아내기 어렵지 않습니다. 없앨 수 있으면 없애고, 필수라면 답을 무작위 문자열로 넣고 관리자에 저장해두는 편이 낫습니다.

정리하면 2단계 인증은 켜는 것만으로 절반은 해결됩니다. 나머지 절반은 어떤 방식을 고르고, 복구 경로를 어떻게 두느냐입니다.

한 번에 다 하려 하지 말고 메일 계정부터 시작하시길 권합니다. 거기 하나만 제대로 잠가도 전체 위험이 크게 줄어듭니다.

정리

  • NIST는 일반 전화망 문자 인증을 제한된 수단으로 분류한다
  • Google도 문자 코드가 전화번호 기반 해킹에 취약하다고 안내한다
  • 인증 앱은 번호 탈취는 막지만 피싱은 막지 못한다
  • 피싱까지 막는 건 패스키와 하드웨어 보안 키다
  • 백업 코드는 인터넷과 분리된 곳에 둔다

출처

서비스마다 제공하는 방식과 이름이 다릅니다. 위 내용은 2026년 8월에 확인한 문서를 기준으로 한 정리이며, 설정하실 때는 해당 서비스의 최신 안내를 확인해 주세요.

틀린 내용을 찾으셨다면 문의로 알려주세요. 확인 후 고치고 갱신일을 올립니다.