알아야 할 모든 정보, 불필요한 정보는 없습니다.
OTP란 무엇인가
OTP는 짧고 단 한 번만 사용할 수 있는 코드로, 보통 4~8자리 숫자로 구성되며 한 번 사용하거나 짧은 시간 동안만 유효합니다. 이 코드는 사용자가 보유한 수단으로 전달되며, 가장 흔하게는 문자로 전달되지만 WhatsApp, 음성 통화, 플래시 콜, 이메일 또는 인증 앱을 통해 로컬에서 생성되기도 합니다. OTP는 만료되면 재사용할 수 없으므로, 해당 시점에 사용자가 코드가 전송된 채널을 제어하고 있음을 OTP를 통해 증명합니다.
- 한 번만 짧은 시간 동안 유효한 일회용 코드.
- 문자, WhatsApp, 음성, 플래시 콜, 이메일 또는 앱을 통해 전달됩니다.
- 메시지가 전송된 채널에 대한 제어력을 입증합니다.
- 만료 시간과 1회 사용 제한이 일회용을 만듭니다.
2FA란 무엇인가
2단계 인증은 서로 다른 범주의 두 가지 증명이 필요합니다. 즉, 알고 있는 것(비밀번호 또는 PIN), 소유하고 있는 것(휴대전화, 보안 키, OTP), 또는 본인 자체(지문 또는 얼굴)입니다. 핵심은 독립성입니다. 비밀번호를 훔친 공격자라도 두 번째 인증 수단이 없으면 인증에 실패합니다. 비밀번호와 SMS OTP를 결합하면 2FA가 되지만, 비밀번호를 두 번 사용하는 것은 동일한 인증 유형이므로 해당되지 않습니다.
- 서로 다른 카테고리의 두 가지 요소: 지식 / 소유 / 생체 정보.
- 비밀번호 + SMS OTP = 2FA; 비밀번호 + PIN = 2FA 아님.
- 독립성은 가장 중요한 보안 속성입니다.
- MFA는 2FA를 2단계 이상의 인증으로 확장합니다.
두 개념의 관계
2FA 설정에서 OTP는 흔히 '소유하고 있는 것' 요소로 활용되지만, 이는 하나의 옵션일 뿐 가장 강력한 방법은 아닙니다. SMS OTP는 피싱, SIM-스왑, SMS 펌핑 사기에 취약합니다. 이 때문에 NIST SP 800-63B와 같은 가이드라인에서는 SMS를 제한된 인증 수단으로 취급하며, 플래시 콜, 무음 네트워크 인증, 인증 앱, 하드웨어 키와 같은 대안이 존재하는 것입니다. 2FA 없이 OTP를 구현하거나(코드를 이용한 단일 요소 패스워드리스 로그인), OTP 없이 2FA를 구현할 수 있습니다(비밀번호와 지문 결합).
- OTP는 보통 '필수' 요소이지만, 유일한 요소는 아닙니다.
- SMS OTP는 앱 기반 또는 하드웨어 인증 요소보다 보안이 취약합니다.
- NIST SP 800-63B는 인증 수단으로서의 SMS 사용을 제한합니다.
- 2FA가 없는 OTP와 OTP가 없는 2FA가 모두 존재합니다.
OTP와 2FA 한눈에 비교하기
| OTP | 2FA | |
|---|---|---|
| 정의 | 일회용 코드 | 2단계 인증 보안 모델 |
| 범위 | 단일 인증 메커니즘 | 두 가지 요소를 결합한 정책 |
| 예시 | SMS 코드, 음성 코드, 앱 코드 | 비밀번호 + OTP, 비밀번호 + 지문 |
| 전송 / 방식 | 문자, WhatsApp, 음성, 플래시 콜, 앱 | 두 가지 독립적인 인증 유형 |
| 관계 | 2FA의 2단계 인증으로 활용 가능 | OTP를 사용할 수도 있고, 사용하지 않을 수도 있습니다 |