Password
비밀번호 생성기
브라우저에서 강력한 무작위 비밀번호를 생성.
비밀번호 생성에 대하여
비밀번호의 강도는 그 뒤에 있는 무작위성만큼만 좋습니다. 여기서는 암호화 키에도 쓰이는 브라우저의 암호학적 난수 생성기를 사용하며, 복원할 수 있을 만큼 예측 가능한 일반 난수 함수는 쓰지 않습니다. 강도는 엔트로피 비트로 표시되며, 비트가 하나 늘 때마다 추측에 드는 노력이 두 배가 됩니다.
무작위 문자열 대신 기억하기 쉬운 대안으로 암호구(패스프레이즈)가 있습니다. correct-horse-battery-staple처럼 여러 개의 무작위 사전 단어를 이어 붙인 것입니다. 충분히 큰 단어 목록에서 고른 4~6개의 단어는 더 짧은 무작위 문자열과 비슷한 엔트로피에 도달하면서도 실제로 입력하고 기억하기가 훨씬 쉬운데, 일부 비밀번호 관리자가 이 도구와 같은 문자 기반 생성과 함께 암호구 생성도 제공하는 이유입니다. 어떤 형태를 쓰든, 계정마다 고유한 비밀번호를 만들어 외우거나 재사용하는 대신 비밀번호 관리자에 보관하는 것이야말로 실제로 보안에 중요한 결정이며, 문자 집합 선택은 그에 비하면 부차적인 문제입니다.
사용되는 곳
- 비밀번호 관리자에서 계정마다 고유한 비밀번호 만들기
- 데이터베이스, 서비스, 관리자 계정의 비밀번호 설정하기
- 테스트 환경용 API 키, 토큰, 시드 만들기
- 유출 통보를 받은 뒤 비밀번호 교체하기
자주 묻는 질문
이 비밀번호가 서버로 전송되나요?
아닙니다. 의도적인 설계입니다. 이 도구에는 서버 엔드포인트가 아예 없으며 생성이 브라우저에서 이루어지므로 비밀번호는 사용자의 기기에만 존재합니다. 전송, 기록, 저장 모두 하지 않습니다.
비밀번호는 얼마나 길어야 하나요?
중요한 용도라면 여러 문자 종류를 섞어 16자 이상을 목표로 하세요. 그러면 80비트를 넉넉히 넘습니다. 특이한 기호보다 길이가 더 효과적이며, 글자를 기호로 바꾸는 것보다 문자 수를 늘리는 편이 난이도를 훨씬 빠르게 높입니다.
헷갈리는 문자를 왜 제외하나요?
대문자 I, 소문자 l, 숫자 1, 대문자 O, 숫자 0은 많은 글꼴에서 구별하기 어렵습니다. 비밀번호를 소리 내어 읽거나 손으로 옮겨 적거나 인쇄물을 보고 입력해야 할 때 제외하면 도움이 됩니다. 다만 문자당 엔트로피는 조금 줄어듭니다.
"correct-horse-battery-staple" 같은 암호구가 무작위 문자열보다 나은가요?
본질적으로 어느 쪽이 더 낫다고 할 수는 없으며, 중요한 것은 전체 엔트로피입니다. 큰 단어 목록에서 고른 4~6개 단어로 이루어진 암호구는 12~16자 무작위 문자열과 비슷한 엔트로피에 도달하면서도, 눈에 띄게 입력하고 기억하기가 쉽습니다. 이 도구는 암호구가 아니라 문자 기반 비밀번호를 생성합니다. 암호구를 쓰고 싶다면 핵심 요건은 이미 기억하기 쉽다고 느끼는 단어들을 그냥 이어 붙이는 것이 아니라, 큰 목록에서 각 단어를 독립적으로 무작위로 뽑는 것입니다.