본문으로 건너뛰기
learncave공동인증서·OTP·패스키: 인증의 원리
Chapter 02같은 비밀과 같은 시계, 그리고 전화번호

OTP는 어떻게 숫자를 맞추고, 문자 인증은 어디가 약한가

OTP 기기는 은행 서버와 따로 떨어져 있는데도 30초나 1분마다 같은 숫자를 띄웁니다. 문자로 온 인증번호는 내 휴대폰에만 오는 걸까요? OTP가 숫자를 맞추는 원리와, 문자 인증과 OTP가 함께 가진 약점을 살펴봅니다.

읽는 시간 5분선행 챕터 01핵심 개념 3개

OTP 기기는 은행과 연락하지 않는다

1장에서 본 ‘가진 것’ 가운데 가장 익숙한 것이 일회용 비밀번호입니다. 한 번 또는 짧은 시간만 쓰이는 숫자로 '가진 것'을 확인합니다.입니다. OTP 기기는 은행 서버와 숫자를 주고받지 않는데도 서버와 같은 숫자를 띄웁니다. 둘이 같은 비밀값과 같은 시계로 같은 계산을 각자 하기 때문입니다.[1] 이 방식을 시간 기반 OTP(TOTP)라고 부르며, 국제인터넷표준화기구(IETF)의 문서 RFC 6238이 계산법을 정해 두었습니다.[1]

순서는 이렇습니다.

  • 기기와 은행 서버가 처음에 같은 비밀값을 나눠 갖습니다. 이것을 OTP 기기와 은행 서버가 처음에 나눠 갖는 같은 비밀값입니다. 이것이 새면 누구나 같은 숫자를 만들 수 있습니다.이라고 하고, 기기마다 값이 다릅니다.[1]
  • 둘은 지금 시각을 일정한 간격으로 센 순번을 공유 비밀과 섞어 계산합니다.[1]
  • 간격은 시스템마다 정하고, 표준의 기본값은 30초입니다.[1] 국내 은행 OTP는 보통 30초에서 1분마다 숫자를 새로 만듭니다.[9]
  • 계산 결과는 너무 길어서 6자리 이상의 숫자로 줄여 보여 줍니다.[2]
  • 간격이 지나면 순번이 바뀌므로 숫자도 바뀝니다.[1]
쉽게 말하면

같은 노래책을 한 권씩 나눠 가진 두 사람을 떠올려 보세요. 둘은 30초마다 다음 장으로 넘기기로 약속했습니다. 그러면 서로 연락하지 않아도 지금 펼친 장의 첫 소절이 같습니다. 노래책이 공유 비밀, 넘기는 약속이 시계, 첫 소절이 OTP 숫자입니다. 다만 OTP의 노래책은 비밀값 하나에서 계산으로 만들어집니다. 그래서 비밀값이 새면 누구나 같은 책을 펼칠 수 있습니다.

왼쪽에서는 손이, 오른쪽에서는 은행 창구가 똑같은 모래시계를 하나씩 들고 있고, 두 모래시계 옆에는 같은 순서의 색 타일 세 개가 놓여 있다. 둘 사이에는 가는 점선만 이어져 있다.
두 모래시계는 서로 주고받는 것 없이 같은 속도로 흐르고, 옆의 타일도 같은 순서로 나옵니다. OTP 기기와 은행 서버가 같은 비밀값과 시계만으로 같은 숫자를 내는 모습입니다.

숫자가 오가는 사이 조금 늦어질 수 있습니다. 그래서 이 문서는 서버가 많아야 바로 앞 순번 하나까지만 더 받아 주라고 권합니다.[1] 방금 바뀌기 전의 숫자가 잠깐 더 통할 수 있는 것은 이 때문입니다.

계산 과정 보기
  • 순번은 1970년 1월 1일 0시(UTC)부터 지난 초를 시간 간격(기본값 30초)으로 나누고 소수점 아래를 버린 값입니다.[1]
  • 이 문서 4.2절의 예로 보면 간격이 30초일 때 59초는 순번 1, 60초는 순번 2입니다. 그래서 59초와 60초 사이에 숫자가 바뀝니다.[1]
  • 같은 부록에서 비밀값 ‘12345678901234567890’, 59초일 때 8자리 OTP는 94287082입니다. 6자리로 줄이면 끝 여섯 자리인 287082입니다.[1]
  • 6자리 숫자는 10의 6제곱, 곧 100만 가지입니다. 아무 숫자나 한 번 넣어 맞힐 확률은 약 100만분의 1이고, 서버가 앞 순번 숫자까지 받아 주면 많아야 100만분의 2입니다.

문자 인증번호는 전화번호를 믿는다

문자 인증도 ’가진 것’을 확인하려는 방법입니다. 그런데 문자는 휴대폰이 아니라 전화번호로 갑니다. 번호가 다른 유심으로 옮겨 가면 인증 문자도 따라갑니다.[4] 미국 NIST 지침은 문자·음성 전화로 하는 인증을 ‘제한적’ 방식으로 분류합니다.[3] 문자를 보내기 전에 유심 변경, 번호 이동 같은 위험 신호를 살피라고 합니다.[3]

약점은 크게 두 가지입니다.

범죄자가 통신사를 속이거나 유심을 복제해 남의 전화번호를 자기 기기로 옮기는 수법입니다. 심 스와핑이라고도 합니다.. 범죄자가 피해자인 척 통신사를 속여 피해자 번호를 자기 유심으로 옮깁니다. 그 뒤로 전화와 문자가 범죄자 기기로 갑니다.[4] 미국 FBI에는 2021년 한 해 이런 신고가 1,611건 들어왔습니다.[4] 한국에서는 유심 정보를 복제한 ’쌍둥이 유심’으로 같은 일을 벌인 조직이 검거되었습니다.[5] 범죄자가 기기변경을 하자 피해자 휴대폰은 통신이 끊기고, 인증 문자는 범죄자에게 갔습니다.[5] 서울경찰청은 이 조직이 이 수법으로 피해자 4명의 전자적으로 거래하고 옮길 수 있는, 경제적 가치가 있는 증표입니다. 한국은행의 전자 화폐, 페이 같은 선불전자지급수단, 예금 토큰은 여기서 빠집니다.디지털 돈에 대한 세 가지 착각 챕터에서 보기 약 89억 원어치를 빼낸 혐의가 있다고 밝혔습니다.[5]

악성 앱. 스미싱 문자 속 주소로 깔린 악성 앱은 휴대폰의 문자 메시지를 빼 갑니다.[6] NIST도 악성 앱이 문자로 온 인증번호를 읽어 쓰는 위협을 꼽습니다.[3]

핵심

문자 인증이 확인하는 것은 ’이 번호로 온 문자를 봤다’입니다. ’이 휴대폰을 가졌다’를 확인하지는 못합니다. 휴대폰이 갑자기 전화도 문자도 안 되면 고장보다 번호 도용을 먼저 의심하고, 바로 통신사에 연락합니다.[4]

손으로 옮기는 숫자는 가짜 사이트로도 간다

OTP와 문자 인증번호에는 공통 약점이 하나 더 있습니다. 사람이 숫자를 보고 직접 입력한다는 점입니다. NIST는 이렇게 손으로 옮기는 방식을 진짜처럼 꾸민 화면이나 연락으로 비밀번호·인증번호 같은 인증 정보를 입력하게 해 빼내는 수법입니다.에 강한 인증으로 보지 않습니다.[3] 입력한 숫자에는 어느 사이트에 넣었는지가 담기지 않습니다. 그래서 가짜 사이트가 받은 숫자를 진짜 사이트에 그대로 넘겨 로그인할 수 있습니다.[3]

나휴대폰의 OTP 숫자숫자 입력가짜 사이트진짜와 똑같은 화면그대로 전달진짜 은행 사이트숫자가 맞으면 통과숫자에는 어느 사이트에 넣었는지가 담기지 않습니다그래서 시간 안에만 넘기면 가짜 사이트가 건넨 숫자도 통과합니다
가짜 사이트는 숫자를 풀거나 훔쳐 낼 필요가 없습니다. 받은 숫자가 바뀌기 전에 진짜 사이트로 옮기기만 하면 됩니다. 문자 인증번호도 같은 길로 샙니다.

미국 사이버보안·인프라보안청(CISA)도 이 수법을 설명합니다. 가짜 로그인 화면에 아이디, 비밀번호와 인증 앱의 6자리 코드까지 넣게 하는 방식입니다.[7] 한국인터넷진흥원도 피싱사이트에서 인증번호를 빼앗긴 사례를 경고합니다.[6]

흔한 착각

“OTP 숫자는 30초면 바뀌니 알려 줘도 괜찮다”고 생각하기 쉽습니다. 사기범에게는 그 30초면 충분합니다. 받은 숫자를 바로 진짜 사이트에 넣으면 되기 때문입니다.[3] 금융당국과 금융회사는 전화나 문자로 비밀번호나 인증번호를 요구하지 않습니다.[8] 그런 요구를 받으면 숫자를 불러 주지 말고 전화를 끊습니다.

숫자를 옮겨 적지 않는 인증이라면 어떨까요? 다음 챕터에서는 사이트 주소에 묶인 열쇠로 이 문제를 푸는 FIDO 표준에 바탕을 둔 인증 수단입니다. 기기에 둔 개인 키로 서명해 로그인하고, 사이트에는 공개 키만 등록합니다.패스키가 피싱에 강한 이유와 인증을 둘러싼 착각 챕터에서 보기를 봅니다.

용어 정리

OTP
일회용 비밀번호입니다. 한 번 또는 짧은 시간만 쓰이는 숫자로 '가진 것'을 확인합니다.
공유 비밀
OTP 기기와 은행 서버가 처음에 나눠 갖는 같은 비밀값입니다. 이것이 새면 누구나 같은 숫자를 만들 수 있습니다.
유심 바꿔치기
범죄자가 통신사를 속이거나 유심을 복제해 남의 전화번호를 자기 기기로 옮기는 수법입니다. 심 스와핑이라고도 합니다.
피싱
진짜처럼 꾸민 화면이나 연락으로 비밀번호·인증번호 같은 인증 정보를 입력하게 해 빼내는 수법입니다.

용어 사전 전체 보기

정답 0 / 3

Q1OTP 기기는 은행 서버와 따로 떨어져 있는데도 서버와 같은 숫자를 띄웁니다. 그 까닭은 무엇입니까?

Q2어느 날 휴대폰이 고장 난 것도 아닌데 갑자기 전화도 문자도 되지 않습니다. 가장 먼저 의심하고 할 일은 무엇입니까?

Q3은행 직원이라는 사람이 "보안 점검 중이니 OTP에 뜬 6자리를 불러 달라. 30초면 바뀌니 걱정 없다"고 합니다. 맞는 판단은 무엇입니까?

  • OTP 기기와 은행 서버는 같은 비밀값과 같은 시계로 숫자를 각자 계산합니다.
  • 문자 인증은 휴대폰이 아니라 전화번호를 믿기 때문에 유심 바꿔치기와 악성 앱에 약합니다.
  • 손으로 옮겨 적는 숫자는 가짜 사이트가 그대로 넘길 수 있어 피싱을 막지 못합니다.
진도는 이 브라우저에 저장되고, 로그인하면 다른 브라우저에서도 이어집니다.
  1. ARFC 6238: TOTP, Time-Based One-Time Password Algorithm (2011. 5.) · 국제인터넷표준화기구(IETF)시간 기반 OTP의 원 표준 문서입니다. 증명자(기기)와 검증자(서버)가 현재 시각을 알고 같은 비밀을 공유해야 하며 기기마다 비밀이 달라야 한다는 3장, 시간 간격의 기본값은 30초이고 시스템마다 정하는 값이라는 4.1절, 순번 계산과 59초·60초 예(4.2절), 네트워크 지연을 감안해 시간 단계 하나 정도만 더 허용하라는 권고(5.2절), 부록 B의 시험값을 가져왔습니다.본문으로
  2. ARFC 4226: HOTP, An HMAC-Based One-Time Password Algorithm (2005. 12.) · 국제인터넷표준화기구(IETF)TOTP가 바탕으로 삼는 OTP 표준입니다. OTP 값은 6자리 이상 숫자여야 하고, 계산 결과를 잘라 사람이 입력하기 쉬운 숫자로 줄인다는 4장과 5.3절을 가져왔습니다.본문으로
  3. ASP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management (2025. 7.) · 미국 국립표준기술연구소(NIST)미국 연방 인증 지침의 최종판입니다. 문자·음성 전화(PSTN)를 쓰는 인증을 제한적(restricted) 방식으로 두고 기기 교체·유심 변경·번호 이동 같은 위험 신호를 살피라는 3.1.3.3절, 악성 앱이 문자로 온 비밀을 읽는 위협(표 3), 손으로 옮겨 입력하는 OTP와 문자 인증은 출력이 세션에 묶이지 않아 피싱 저항으로 보지 않는다는 3.2.5절을 가져왔습니다.본문으로
  4. ACriminals Increasing SIM Swap Schemes to Steal Millions of Dollars from US Public (I-020822-PSA, 2022. 2. 8.) · 미국 연방수사국(FBI) 인터넷범죄신고센터(IC3)미국 수사기관의 공익 경고입니다. 범죄자가 피해자인 척 통신사를 속여 번호를 자기 유심으로 옮기면 전화와 문자가 범죄자 기기로 간다는 설명, 2021년 유심 바꿔치기 신고 1,611건·피해 6,800만 달러 이상, 번호를 되찾으려면 바로 통신사에 연락하라는 권고를 가져왔습니다.본문으로
  5. A유심 복제·부정개통으로 가상자산·금융자산 탈취한 해외 기반 해킹범죄조직 총책 등 32명 검거 (보도자료, 2026. 5. 22.) · 서울경찰청 사이버수사과수사기관의 발표입니다. 피해자 유심의 비밀정보를 빈 유심에 넣어 '쌍둥이 유심'을 만들고 기기변경을 하면 피해자 휴대폰은 통신이 끊기고 인증문자를 범죄자가 가로챈다는 수법 설명과, 이 방법으로 피해자 4명의 가상자산 거래소 계정에 침입해 약 89억 원 상당의 가상자산을 탈취한 혐의가 있다는 발표를 가져왔습니다.본문으로
  6. A과태료, 범칙금 등 행정처분 스미싱 주의 권고 (보안공지, 2025. 8. 21.) · 한국인터넷진흥원(KISA) 보호나라공공기관의 보안 공지입니다. 스미싱으로 설치된 악성 앱이 저장된 연락처와 문자 메시지 정보를 빼낸다는 설명과, 피싱사이트에서 인증번호를 탈취한 사례가 있다는 경고를 가져왔습니다.본문으로
  7. AImplementing Phishing-Resistant MFA (팩트시트, 2022. 10.) · 미국 사이버보안·인프라보안청(CISA)미국 정부 보안기관의 안내입니다. 가짜 로그인 화면에 아이디, 비밀번호와 함께 인증 앱의 6자리 코드까지 넣게 하는 피싱 수법 설명과, 유심 바꿔치기의 정의를 가져왔습니다.본문으로
  8. A최근 금융권 개인정보 유출사고에 따른 보이스피싱·스미싱 등 피해에 주의하세요 (소비자경보 2026-26호, 2026. 10. 6.) · 금융위원회금융당국의 소비자경보입니다. 금융당국과 금융회사는 전화·문자로 비밀번호나 인증번호를 요구하지 않는다는 문장을 가져왔습니다.본문으로
  9. B표준소개: 일회용 패스워드(OTP) 통합인증 서비스 프레임워크 (TTA Journal, 2014) · 한국정보통신기술협회(TTA) 기관지, 금융보안연구원 연구원 기고 (Korea Science)금융 보안 전문기관 연구원이 쓴 표준 소개 글입니다. 국내 인터넷뱅킹에서 흔히 쓰는 OTP가 시간동기화 방식으로 보통 30초~1분에 한 번씩 OTP를 생성한다는 설명을 가져왔습니다. 기기별 간격의 공식 목록이 아니라 일반적인 범위를 밝힌 자료입니다.본문으로