SMS 전용의 문제점
SMS OTP에는 실제 약점이 있습니다: SIM 스왑 공격과 가로채기에 취약하고, 최선 노력 통신사 전달에 의존하며, 발송마다 비용이 들고 규모와 함께 늘어납니다. 저위험 편의에는 괜찮지만, 고가치 계정이나 대량에는 이것에만 의존하는 것이 부담입니다.
현대적 답은 "SMS를 절대 쓰지 마라"가 아니라 "플로우별로 올바른 요소를 써라"이며, 종종 SMS를 주 요소가 아닌 폴백으로 둡니다.
- 보안: SIM 스왑과 가로채기가 SMS OTP를 무력화할 수 있습니다.
- 신뢰성: 전달이 최선 노력이며 국가별로 다릅니다.
- 비용: 모든 발송이 과금되며 사용자와 함께 늘어납니다.
패스키 (WebAuthn / FIDO2)
패스키는 비밀번호와 OTP를 사용자 기기에 결속되고 생체 인증이나 PIN으로 잠금 해제되는 암호 키 쌍으로 대체합니다. 설계상 피싱에 강하고, 인증당 비용이 없으며, 이제 주요 브라우저와 플랫폼에서 클라우드 동기화와 함께 지원됩니다. 새 소비자 제품에는 패스키가 점점 더 권장되는 주 요소입니다.
- 강점: 피싱 저항, 사용당 비용 없음, 설정 후 뛰어난 UX.
- 약점: 계정 복구와 생태계 간 동기화는 세심한 설계 필요.
- 새 플로우의 주 요소로 사용하고 복구용 폴백을 두세요.
TOTP 인증 앱
TOTP(시간 기반 일회용 비밀번호)는 공유 시크릿으로부터 Google Authenticator나 Authy 같은 앱에서 회전하는 6자리 코드를 생성합니다. 전달 의존성도 사용당 비용도 없으며 SMS보다 가로채기에 훨씬 강합니다. 대가는 설정 마찰과 기기 분실 시의 복구입니다.
- 강점: 전달 위험 없음, 사용당 비용 없음, SIM 스왑 저항.
- 약점: 등록 마찰; 분실 기기를 위한 복구 코드 필요.
- 보안 의식 있는 사용자를 위한 스텝업 요소로 훌륭합니다.
매직 링크
매직 링크는 사용자에게 일회용 로그인 URL을 이메일로 보내, 이메일 중심 제품에서 비밀번호를 완전히 제거합니다. 단순하고 익숙하지만 이메일 전달률에 의존하고 이메일의 피싱 표면을 물려받으며, 링크가 로그인하는 브라우저와 다른 브라우저에서 열릴 때 잘 작동하지 않습니다.
- 강점: 비밀번호 없음, 익숙함, 전화번호 불필요.
- 약점: 이메일 전달률과 브라우저 간 링크 처리; 피싱 표면.
- 저위험·이메일 우선 제품에 적합; 민감한 작업에는 기기 확인과 결합하세요.
선택지 비교
단일 승자는 없습니다 — 위험과 대상에 요소를 맞추세요. 흔한 현대적 패턴은 패스키를 주 요소로, TOTP를 스텝업으로, SMS는 다른 수단이 없는 사용자를 위한 최후의 폴백으로만 유지하는 것입니다.
| 방식 | 보안 | 사용당 비용 | 적합 대상 |
|---|---|---|---|
| SMS OTP | 중간(SIM 스왑 위험) | 메시지당 | 넓은 도달, 저위험 폴백 |
| 패스키 | 높음(피싱 저항) | 없음 | 새 제품의 주 요소 |
| TOTP 앱 | 높음 | 없음 | 보안 의식 있는 스텝업 |
| 매직 링크 | 중간 | 이메일 비용만 | 이메일 우선, 저위험 플로우 |
사용자를 깨뜨리지 않고 이전하는 법
SMS를 하룻밤에 뜯어내지 마세요. 더 강한 요소를 선택지로 추가하고 등록을 장려한 뒤에야 SMS를 폴백으로 강등하세요. 분실된 기기나 채널이 절대 사용자를 잠그지 않도록 모든 방식에 복구 경로를 유지하세요.
- 1
교체 말고 추가
SMS를 계속 작동시키면서 패스키나 TOTP를 추가 선택지로 도입하세요.
- 2
등록 유도
민감한 작업 후처럼 자연스러운 순간에 더 강한 요소 설정을 유도하세요.
- 3
SMS를 폴백으로 강등
채택이 건강해지면 SMS를 기본이 아닌 복구/최후 채널로 만드세요.
- 4
복구 보장
단일 분실 기기가 누구도 잠그지 않도록 복구 코드나 대체 요소를 제공하세요.