비밀번호 생성기
안전한 무작위 비밀번호를 만듭니다. 길이와 문자 종류를 고르면 예상 해독 시간까지 함께 보여줍니다.
브라우저의 암호학적 난수 생성기로 기기 안에서 만들며, 생성된 비밀번호는 서버로 전송되지 않습니다.
길이가 복잡도보다 중요합니다
비밀번호의 안전성은 경우의 수로 결정됩니다. 경우의 수는 문자 종류의 길이 제곱으로 늘어나므로, 길이를 늘리는 쪽이 압도적으로 효과가 큽니다.
| 구성 | 경우의 수 | 전수 조사 시간 | |---|---|---| | 숫자 8자리 | 10⁸ | 즉시 | | 소문자 8자리 | 2 × 10¹¹ | 몇 초 | | 모든 문자 8자리 | 6 × 10¹⁵ | 몇 시간 | | 소문자 16자리 | 4 × 10²² | 수천 년 | | 모든 문자 16자리 | 4 × 10³¹ | 사실상 불가능 |
초당 1,000억 회를 시도하는 공격자를 가정한 값입니다.
소문자만 쓴 16자리가 모든 문자를 섞은 8자리보다 훨씬 안전합니다. 특수문자를 억지로 끼워 넣어 외우기 어렵게 만드는 것보다, 긴 비밀번호를 쓰는 편이 실질적으로 낫습니다.
현재 권장은 최소 12자, 가능하면 16자 이상입니다.
엔트로피란
위 도구가 보여주는 엔트로피는 비밀번호의 무작위성을 비트 단위로 표현한 값입니다.
엔트로피 = 길이 × log₂(문자 풀 크기)
- 60비트 미만: 약함
- 80비트: 개인 계정에 충분
- 100비트 이상: 매우 강함
주의할 점은 이 계산이 완전히 무작위로 만든 경우에만 유효하다는 것입니다. 사람이 직접 만든 비밀번호는 패턴이 있어 실제 엔트로피가 훨씬 낮습니다. Password123!은 12자에 네 가지 문자 종류를 다 쓰지만, 사전 공격에는 1초도 버티지 못합니다.
주기적 변경은 더 이상 권장되지 않습니다
미국 표준기술연구소(NIST)는 2017년 지침(SP 800-63B)에서 정기 변경 요구를 없앴습니다.
이유는 명확합니다. 90일마다 바꾸라고 강제하면 사람들은 Password1 → Password2 → Password3처럼 예측 가능한 규칙을 만듭니다. 결과적으로 더 약해집니다.
지금 권장되는 방식은 이렇습니다.
- 유출이 의심될 때만 바꿉니다
- 사이트마다 다른 비밀번호를 씁니다
- 2단계 인증을 켭니다
- 비밀번호 관리자를 씁니다
2단계 인증이 더 중요합니다
아무리 강한 비밀번호라도 피싱이나 서버 유출에는 무력합니다. 사용자가 직접 입력한 것을 그대로 넘겨주기 때문입니다.
2단계 인증은 비밀번호가 유출되어도 계정을 지켜 줍니다. 강도 순서는 다음과 같습니다.
- 하드웨어 보안키 (YubiKey 등) — 피싱에 사실상 면역
- 패스키 — 생체 인증 기반, 비밀번호를 아예 없앰
- 인증 앱 (Google Authenticator 등)
- SMS — 유심 탈취 공격에 취약하지만 없는 것보다 낫습니다
비밀번호 관리자를 쓰세요
사이트마다 다른 비밀번호를 쓰라는 조언은 관리자 없이는 지키기 어렵습니다.
관리자를 쓰면 마스터 비밀번호 하나만 기억하면 되고, 나머지는 전부 무작위 32자리로 둘 수 있습니다. 브라우저에 내장된 것부터 전용 앱까지 선택지가 많습니다.
마스터 비밀번호는 길고 외우기 쉬운 것으로 만드세요. 무관한 단어 네다섯 개를 이어 붙이는 방식(올빼미-수요일-철봉-미역국)이 효과적입니다. 길이가 충분해 엔트로피가 높으면서도 사람은 기억할 수 있습니다.
혼동되는 글자 제외 옵션
0과 O, 1과 l과 I는 글꼴에 따라 구분이 어렵습니다.
비밀번호를 화면에서 보고 다른 기기에 옮겨 적어야 하는 경우나 전화로 불러 줘야 하는 경우에 이 옵션을 켜면 실수를 줄일 수 있습니다. 문자 풀이 줄어 엔트로피가 조금 낮아지므로, 길이를 몇 자 더 늘려 보완하시면 됩니다.
이 도구는 안전한가요
브라우저의 암호학적 난수 생성기(crypto.getRandomValues)로 기기 안에서 만들며 네트워크 요청이 발생하지 않습니다. 인터넷 연결을 끊고도 동작합니다.
다만 가장 안전한 방법은 비밀번호 관리자가 제공하는 생성기를 쓰는 것입니다. 생성과 저장이 한 번에 이루어져 클립보드를 거치지 않기 때문입니다.
함께 확인하면 좋은 것
되돌릴 수 없는 지문이 필요하다면 해시 생성기를, 무작위 식별자는 UUID · ULID 생성기를 이용하세요.