본문 바로가기
카테고리 없음

TOTP, 푸시 인증, FIDO2는 어떻게 다를까?

by Loiter_Plan 2025. 11. 19.

노트북을 사용한 2단계 인증(2FA)의 3단계 흐름도: 비밀번호 입력 후 TOTP와 푸시 알림으로 2차 인증을 완료하는 과정

한때는 “비밀번호를 복잡하게 설정하는 것”만으로도 계정 보안이 어느 정도 가능했습니다. 하지만 최근 공격 방식은 단순 비밀번호 유출 수준을 넘어섰습니다. 특히 최근에는 사용자의 인증 승인 습관을 노리는 MFA Fatigue 공격이나, 실시간으로 세션을 탈취하는 AiTM(Adversary-in-the-middle) 공격 사례가 빠르게 증가하고 있습니다.

 

실제로 최근 보안 사고 사례를 보면 기술적 취약점 자체보다 사용자의 반복 승인 습관이나 피싱 링크 클릭을 노리는 방식이 더 많이 활용되고 있습니다. 이 때문에 기업 환경에서는 단순 SMS 인증만으로는 관리자 계정을 보호하기 어렵다는 인식이 강해졌고, 최근에는 TOTP 기반 OTP 앱이나 FIDO2 기반 패스키(Passkey), 보안키 방식이 빠르게 확산되고 있습니다.

 

이제 MFA는 단순한 “추가 인증”이 아니라, 계정 탈취와 피싱 공격을 막기 위한 핵심 보안 체계에 가까워지고 있습니다.


MFA(다중 인증)는 무엇일까?

MFA(Multi-Factor Authentication)는 서로 다른 인증 요소를 두 개 이상 사용하는 인증 방식입니다.

대표적으로 아래 3가지 요소가 사용됩니다.

인증 요소 예시
알고 있는 것 비밀번호, PIN
가지고 있는 것 스마트폰, 보안키
본인 자체 지문, 얼굴 인식

예를 들어 아래와 같은 조합이 대표적인 MFA 방식입니다.

  • 비밀번호 + OTP 앱
  • 비밀번호 + 푸시 승인
  • 비밀번호 + 보안키

최근에는 패스키(Passkey) 기반 인증처럼 비밀번호 자체를 제거하려는 흐름도 빠르게 확대되고 있습니다.

 

TOTP는 실제로 어떻게 동작할까?

많은 사용자는 OTP 앱을 단순히 “6자리 숫자가 뜨는 앱” 정도로 생각합니다. 하지만 내부적으로는 꽤 단순하면서도 정교한 구조로 동작합니다. 즉, 서버와 OTP 앱이 같은 시간 기준으로 같은 계산을 수행하면 동일한 OTP가 생성되는 방식입니다.

 

인증 흐름은 아래와 같습니다.

[사용자 로그인] → 비밀번호 검증 → 서버와 OTP 앱이 동일 시간값 계산 → 동일한 Secret Key로 OTP 생성 → 값 일치 여부 검증 → 세션 발급

 

이 방식 때문에 사용자 기기의 시간이 크게 어긋나면 OTP 인증이 실패하는 경우도 발생합니다. 실무에서는 이를 고려해 보통 ±30초 정도 시간 오차를 허용합니다.

 

대표적인 TOTP 앱으로는 아래와 같은 서비스가 있습니다.

  • Google Authenticator
  • Microsoft Authenticator
  • Authy

 

SMS OTP보다 TOTP가 선호되는 이유

초기의 2단계 인증은 대부분 SMS 기반 OTP 방식이었습니다. 하지만 SMS 인증은 여러 한계를 가지고 있습니다.

  • SIM Swapping 공격 가능성
  • 문자 가로채기 위험
  • 해외 로밍 환경 문제
  • 통신사 의존성

반면 TOTP는 통신망과 관계없이 동작하기 때문에 상대적으로 안정적이고 범용성이 높습니다. 다만 TOTP 역시 완벽하지는 않습니다. 사용자가 피싱 사이트에 OTP를 직접 입력해 버리면 실시간으로 인증이 탈취될 수 있기 때문입니다.

 

즉, TOTP는 비밀번호 단독 인증보다는 훨씬 안전하지만, 피싱 저항성 자체가 매우 강한 방식은 아닙니다.

 

푸시(Push) 인증은 왜 빠르게 확산됐을까?

최근 기업용 SaaS 환경에서는 푸시 기반 MFA 방식이 매우 빠르게 확산되고 있습니다.

 

대표적으로 아래 서비스들이 사용됩니다.

  • Microsoft Authenticator
  • Duo Mobile
  • Okta

푸시 인증의 가장 큰 장점은 사용자 편의성입니다. 사용자는 OTP 숫자를 직접 입력할 필요 없이 스마트폰에서 “승인” 버튼만 누르면 로그인이 완료됩니다. 실제로 운영 환경에서도 일반 사용자들은 TOTP 입력보다 푸시 인증을 훨씬 편하게 느끼는 경우가 많았습니다.

 

하지만 보안 측면에서는 새로운 문제가 등장했습니다.

바로 MFA Fatigue 공격입니다. 공격자가 지속적으로 로그인 요청을 보내면 사용자가 반복되는 인증 요청에 익숙해져 무심코 승인 버튼을 누르는 문제가 발생할 수 있습니다.

최근 보안 사고 사례를 보면 기술적 우회보다 사용자의 승인 습관을 노리는 방식이 점점 많아지고 있습니다.

 

FIDO2와 패스키(Passkey)는 왜 주목받고 있을까?

최근 가장 빠르게 확산되는 인증 기술은 FIDO2 기반 패스키(Passkey) 방식입니다.

 

대표적으로 아래 기업들이 적극적으로 도입하고 있습니다.

  • Google
  • Microsoft
  • Apple

FIDO2의 핵심은 사용자가 피싱 사이트에 속더라도 인증 정보 자체가 탈취되기 어렵다는 점입니다.

기존 OTP 방식은 사용자가 직접 숫자를 입력하기 때문에 중간자 공격(AiTM)에 취약할 수 있습니다. 반면 FIDO2 기반 인증은 도메인 기반 공개키 구조를 사용하기 때문에 가짜 사이트에서는 인증 자체가 성립하지 않습니다.

이 때문에 최근에는 관리자 계정이나 중요 시스템 접근 계정에 FIDO 기반 인증을 우선 적용하려는 흐름도 늘어나고 있습니다.

 

 다만 현실적으로는 아래와 같은 운영 문제가 존재합니다.

  • 보안키 분실 문제
  • 브라우저 호환성 이슈
  • 사용자 교육 비용
  • 모바일 환경 적응 문제

결국 실제 기업 환경에서는 “가장 강력한 보안”보다 “운영 가능한 보안”이 더 중요한 경우도 많습니다. 예를 들어 보안 수준이 높더라도 사용자 불편이 커지면 인증 우회 요청이나 예외 계정 증가로 이어질 수 있기 때문입니다.

 

TOTP, 푸시 인증, FIDO 방식 비교

 

방식 장점 단점 실무 활용
TOTP 구현 단순, 범용성 높음 피싱 가능 일반 사용자 계정
푸시 인증 사용자 편의성 우수 MFA Fatigue 위험 SaaS 환경
FIDO2/패스키 피싱 저항성 강력 운영 비용 증가 관리자 계정

실제 운영 환경에서는 이 세 가지 방식을 혼합해서 사용하는 경우가 많습니다.

 

예를 들어:

  • 일반 사용자 → 푸시 인증
  • 외부 협력사 → TOTP
  • 관리자 계정 → FIDO 보안키

처럼 계정 중요도에 따라 정책을 다르게 적용하는 방식입니다.


가장 안전한 MFA는 무엇일까?

기술적으로만 보면 현재 가장 강력한 방식은 FIDO2 기반 패스키 또는 보안키 방식에 가깝습니다. 다만 실제 운영 환경에서는 보안 수준보다 사용자 적응 비용이 더 큰 문제가 되는 경우도 많습니다.

아무리 강력한 인증 방식이라도 사용자가 불편해서 우회 방법을 찾기 시작하면 오히려 전체 보안 수준이 약해질 수 있기 때문입니다.

결국 MFA는 단순히 “가장 안전한 기술”을 선택하는 문제가 아니라, 사용자 경험과 운영 현실까지 함께 고려해야 하는 영역에 가깝습니다.

그리고 최근 보안 흐름은 분명합니다.

“비밀번호를 안전하게 관리하는 시대”에서 “비밀번호 자체를 없애려는 시대”로 빠르게 이동하고 있다는 점입니다.