비밀번호 생성기
안전한 무작위 비밀번호를 만듭니다. 길이와 문자 종류를 고르면 예상 해독 시간까지 함께 보여줍니다.
브라우저의 암호학적 난수 생성기로 기기 안에서 만들며, 생성된 비밀번호는 서버로 전송되지 않습니다.
길이가 복잡도보다 중요합니다
비밀번호의 안전성은 경우의 수로 결정됩니다. 경우의 수는 문자 종류의 길이 제곱으로 늘어나므로, 길이를 늘리는 쪽이 압도적으로 효과가 큽니다.
| 구성 | 경우의 수 | 전수 조사 시간 | |---|---|---| | 숫자 8자리 | 10⁸ | 즉시 | | 소문자 8자리 | 2 × 10¹¹ | 몇 초 | | 모든 문자 8자리 | 6 × 10¹⁵ | 몇 시간 | | 소문자 16자리 | 4 × 10²² | 수천 년 | | 모든 문자 16자리 | 4 × 10³¹ | 사실상 불가능 |
초당 1,000억 회를 시도하는 공격자를 가정한 값입니다.
소문자만 쓴 16자리가 모든 문자를 섞은 8자리보다 훨씬 안전합니다. 특수문자를 억지로 끼워 넣어 외우기 어렵게 만드는 것보다, 긴 비밀번호를 쓰는 편이 실질적으로 낫습니다.
현재 권장은 최소 12자, 가능하면 16자 이상입니다.
도구 사용법과 조합별 강도
길이 슬라이더와 소문자·대문자·숫자·특수문자 체크로 조합을 정하면 새 비밀번호가 나오고, 아래에 엔트로피와 강도 등급, 예상 해독 시간이 표시됩니다. 특수문자는 !@#$%^&*()-_=+[]{};:,.?만 쓰므로 따옴표나 백슬래시처럼 입력 폼에서 문제를 일으키는 문자는 처음부터 빠져 있습니다. 복사 버튼으로 가져가면 되고, 만든 값은 어디에도 저장되지 않으니 붙여 넣기 전에 페이지를 닫지 마세요. 마음에 들지 않으면 다시 생성을 눌러 새 값을 받을 수 있습니다.
위 도구가 계산하는 엔트로피를 조합별로 보면 길이의 효과가 분명합니다.
| 길이 | 문자 종류 | 엔트로피 | 강도 | | ---- | ----------------------- | -------- | --------- | | 8자 | 소문자만 | 37.6비트 | 매우 약함 | | 8자 | 소·대·숫자·특수문자 | 51.3비트 | 약함 | | 12자 | 소·대·숫자 | 71.5비트 | 보통 | | 12자 | 소·대·숫자·특수문자 | 76.9비트 | 보통 | | 16자 | 소문자만 | 75.2비트 | 보통 | | 16자 | 소·대·숫자·특수문자 | 102.6비트 | 매우 강함 | | 20자 | 소·대·숫자·특수문자 | 128.2비트 | 매우 강함 |
8자에 네 종류를 다 써도 51비트로 "약함"이고, 소문자만 16자면 75비트로 12자 네 종류 조합과 맞먹습니다. 특수문자를 켜서 얻는 것이 12자 기준 5비트 남짓인데, 길이를 4자 늘리면 25비트가 붙습니다. 사이트가 특수문자를 요구하면 하나 정도 넣고, 나머지 힘은 길이에 쓰는 것이 맞습니다.
엔트로피란
위 도구가 보여주는 엔트로피는 비밀번호의 무작위성을 비트 단위로 표현한 값입니다.
엔트로피 = 길이 × 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는 글꼴에 따라 구분이 어렵습니다.
비밀번호를 화면에서 보고 다른 기기에 옮겨 적어야 하는 경우나 전화로 불러 줘야 하는 경우에 이 옵션을 켜면 실수를 줄일 수 있습니다. 문자 풀이 줄어 엔트로피가 조금 낮아지므로, 길이를 몇 자 더 늘려 보완하시면 됩니다.
사이트마다 규칙이 다를 때
"특수문자 포함 8~12자"처럼 길이 상한을 두는 사이트가 아직 있습니다. 그런 곳에서는 허용 최대 길이로 네 종류를 모두 켜서 만드는 것이 그 규칙 안에서 가장 강합니다. 특정 특수문자를 금지하는 사이트라면 생성한 값에서 그 문자만 다른 것으로 바꾸면 됩니다. 은행과 공공 사이트는 붙여 넣기를 막는 경우가 있으므로, 그때는 혼동되는 글자 제외 옵션을 켜고 만들어 보고 옮겨 적으세요.
와이파이 비밀번호는 손님에게 불러 주거나 기기에 직접 입력할 일이 많으니 소문자와 숫자만으로 16자 이상을 만들면 강도와 편의를 함께 잡을 수 있습니다. 라우터 관리자 비밀번호처럼 입력할 일이 드문 값은 20자 네 종류로 두고 관리자에 저장하면 됩니다. 아이 계정이나 공용 기기의 잠금처럼 여러 사람이 외워야 하는 값은 짧게 만들되 다른 계정과 절대 같은 값을 쓰지 마세요.
지금 쓰는 비밀번호는 안전한가
이 도구는 새 비밀번호를 만드는 용도이고, 쓰고 있는 비밀번호를 넣어 강도를 재는 용도가 아닙니다. 실제 비밀번호를 어디에든 입력하는 습관 자체가 위험합니다. 대신 브라우저와 비밀번호 관리자에 내장된 점검 기능이 저장된 비밀번호 중 유출된 것, 재사용된 것, 짧은 것을 알려 줍니다. 크롬은 설정의 비밀번호 관리자에서, 아이폰은 설정의 암호 항목에서 보안 권고를 볼 수 있습니다. 유출 목록에 오른 비밀번호는 아무리 길어도 즉시 바꿔야 하며, 그때 이 도구로 새 값을 만들면 됩니다.
이 도구는 안전한가요
브라우저의 암호학적 난수 생성기(crypto.getRandomValues)로 기기 안에서 만들며 네트워크 요청이 발생하지 않습니다. 인터넷 연결을 끊고도 동작합니다.
다만 가장 안전한 방법은 비밀번호 관리자가 제공하는 생성기를 쓰는 것입니다. 생성과 저장이 한 번에 이루어져 클립보드를 거치지 않기 때문입니다.
함께 확인하면 좋은 것
되돌릴 수 없는 지문이 필요하다면 해시 생성기를, 무작위 식별자는 UUID · ULID 생성기를 이용하세요.