4자리 PIN 은 조합이 1만 개야. 종이 위에선 우습게 뚫려. 실전에선 방어 둘이 겹치면서 솔로 앱한테 가장 값싸게 효과적인 auth 가 돼. 계산은 한 번 해볼 만해.
Brute force 세 모드
| 모드 | 속도 | 물리치는 법 |
|---|---|---|
| Offline (hash leak) | SHA256: ~10⁹ 추측/초/GPU → 4자리는 microsecond | Bcrypt cost 12: ~6 추측/초/코어 → 4자리 ~30분 |
| Online, lockout 없음 | HTTP 요청 속도 — Tailscale 통해 ~100/초 → 4자리 ~2분 | Rate limit + lockout (이 트랙) |
| Online, lockout-after-5 | 5번 틀리면 blacklist → 얻어걸리려는 공격자한텐 사실상 못 뚫음 | 이게 목표 |
5자리가 사주는 거
| PIN 길이 | 조합 | UX 비용 | marginal 보안 이득 (lockout 있을 때) |
|---|---|---|---|
| 4 | 10,000 | baseline (빠름) | baseline |
| 5 | 100,000 | +키 한 번 | online 은 10배. bcrypt cost 12 에선 offline 이득이 미미 |
| 6 | 1,000,000 | +키 두 번 | 100배. lockout 이 무너졌을 때만 의미 있음 |
| 8 | 100,000,000 | 키 네 번 더. 이쯤 되면 사람들이 헷갈리기 시작 | 이 시점부터 diminishing returns |