logo
GeekFormat

비밀번호 생성기

0
비밀번호 길이
16chars
64
포함할 문자 집합
일괄 생성

무료 온라인 비밀번호 생성기. Web Crypto 보안 난수 소스를 기반으로 강력한 무작위 비밀번호, 기억하기 쉬운 암호구, 숫자 PIN을 생성합니다. 강도 감지, 혼동하기 쉬운 문자 제외, 일괄 내보내기를 지원합니다. 브라우저 로컬에서 생성되며 업로드는 전혀 없습니다.

관련 추천

사용 사례

  • 새 계정 등록 시 강력한 무작위 비밀번호를 생성하고 엔트로피와 크래킹 시간을 확인하여 계정 보안 확보
  • 팀 또는 테스트 환경을 위해 임시 비밀번호를 일괄 생성하여 신속하게 배포
  • 사람이 기억해야 하는 Wi-Fi 비밀번호나 기기 비밀번호용으로 기억하기 쉬운 암호구 생성
  • 기기 PIN 설정, 관리자 계정 초기화, 비밀번호 재설정
  • 약한 비밀번호를 추측하기 쉬운 인위적인 비밀번호에서 무작위 고강도 비밀번호로 교체

주요 기능

  • 안전한 무작위 생성: 브라우저 Web Crypto API(crypto.getRandomValues)의 암호학적 안전 난수 소스를 기반으로 예측 불가능한 무작위 비밀번호 생성
  • 세 가지 비밀번호 모드: 무작위 비밀번호, 기억하기 쉬운 암호구(단어 조합), 숫자 PIN 세 가지 모드를 지원하여 다양한 보안 수준에 대응
  • 완전한 강도 감지: 문자 풀 크기, 엔트로피 계산, 약한 비밀번호 적중 감지, 중복/연속 문자 위험, 무차별 대입 시간 추정 표시
  • 혼동하기 쉬운 문자 제외: 0/O/1/l/I 등 혼동하기 쉬운 문자를 제외할 수 있어 수동 입력, 전화 구두 전달 시나리오에 적합
  • 일괄 생성 및 내보내기: 5/10/20개의 비밀번호를 일괄 생성하고 TXT를 한 번의 클릭으로 다운로드하여 팀 배포 및 테스트 환경 초기화에 편리
  • 로컬 생성 및 업로드 없음: 모든 비밀번호는 브라우저 로컬에서 생성되며 어떤 서버에도 전송되지 않습니다

이용 방법

  1. 비밀번호 모드 선택: 무작위 비밀번호, 기억하기 쉬운 암호구 또는 숫자 PIN
  2. 비밀번호 길이, 문자 집합 옵션 설정(16자 이상 권장), 혼동하기 쉬운 문자 제외를 켤 수 있습니다
  3. 강도 감지 결과 확인: 엔트로피, 크래킹 시간 추정, 약한 비밀번호 감지
  4. 비밀번호를 복사하거나 TXT 파일을 일괄 내보내기하여 등록, 재설정, 배포에 사용

자주 묻는 질문

왜 Math.random() 대신 Web Crypto API를 사용하나요?

Math.random()은 범용 의사 난수 생성기로 보안 시나리오용으로 설계되지 않았으며 내부 상태가 역추론될 수 있습니다. crypto.getRandomValues()는 운영 체제의 암호학적 안전 난수 소스(CSPRNG)를 사용하여 생성된 난수는 예측 불가능하며 비밀번호, 키 등의 보안 시나리오에 적합합니다.

생성된 비밀번호가 서버에 업로드되나요?

아니요. 모든 비밀번호는 브라우저 로컬에서 생성되며 강도 분석, 엔트로피 계산, 크래킹 시간 추정도 모두 로컬에서 완료됩니다. 개발자 도구 네트워크 패널을 열면 외부 요청이 전혀 없음을 확인할 수 있습니다.

비밀번호는 얼마나 길어야 안전한가요?

대소문자+숫자+기호를 포함하여 최소 12자 이상을 권장합니다. 16자 무작위 비밀번호는 현대 컴퓨팅 성능으로 무차별 대입하는 데 수억 년이 걸립니다. 길이가 1자 증가할 때마다 검색 공간은 기하급수적으로 증가합니다. 위의 크래킹 시간 표를 참조하세요.

무작위 비밀번호와 기억하기 쉬운 암호구 중 어느 것이 더 안전한가요?

동일한 길이에서는 무작위 비밀번호의 엔트로피가 더 높습니다. 하지만 기억하기 쉬운 암호구(4-6개의 무작위 단어로 구성)도 총 엔트로피가 충분히 높고(~60bit 이상) 기억하기 쉬워 수동 입력이 필요한 시나리오에 적합합니다. 중요한 것은 직접 만든 구문이 아니라 진정으로 무작위로 선택된 단어여야 한다는 것입니다.

왜 혼동하기 쉬운 문자(0/O/1/l/I)를 제외하나요?

이러한 문자는 일부 글꼴에서 구분하기 어려워 입력 오류를 일으킬 수 있습니다. 비밀번호를 수동으로 입력하거나 전화로 구두로 전달하거나 인쇄하여 배포해야 하는 경우 제외 옵션을 켜는 것을 권장합니다. 비밀번호 관리자만 사용하는 경우 모든 문자를 유지하면 더 높은 엔트로피를 얻을 수 있습니다.

정기적으로 비밀번호를 변경하는 것이 더 안전한가요?

NIST 최신 가이드라인(SP 800-63B)에서는 비밀번호 유출이 확인되지 않는 한 정기적인 비밀번호 변경을 더 이상 권장하지 않습니다. 정기적인 강제 변경은 오히려 사용자가 약한 비밀번호를 선택하거나 적어두게 만듭니다. 더 나은 방법은 긴 무작위 비밀번호+비밀번호 관리자+2단계 인증(2FA)을 활성화하는 것입니다.

비밀번호 엔트로피(Entropy)란 무엇인가요?

엔트로피는 비밀번호의 예측 불가능성을 측정하는 지표로 단위는 bit입니다. 엔트로피 = log₂(문자 풀 크기^비밀번호 길이). 예를 들어 94개의 인쇄 가능한 ASCII 문자에서 무작위로 선택된 16자 비밀번호의 경우 엔트로피는 log₂(94¹⁶) ≈ 104 bit입니다. 엔트로피가 높을수록 무차별 대입이 어려워집니다.

안전한 비밀번호 생성기란 무엇인가요?

비밀번호 생성기는 무작위이고 예측 불가능한 비밀번호를 생성하는 도구입니다. 사람이 디자인한 비밀번호와 달리 진정한 비밀번호 생성기는**암호학적 안전 의사 난수 생성기(CSPRNG)**를 사용하여 지정된 문자 풀에서 문자를 무작위로 추출하여 사람이 비밀번호를 설정할 때의 고유한 예측 가능한 패턴(이름+생일, qwerty 같은 키보드 연속 입력, 회사명+연도 등)을 피함으로써 자격 증명 스터핑, 사전 공격, 무차별 대입의 위험을 크게 줄입니다.

**왜 Math.random()을 사용하면 안 되나요**: 일반 의사 난수 생성기는 내부 상태가 적은 출력에서 역추론될 수 있어 공격자가 이후에 생성되는 '무작위' 수를 예측할 수 있습니다. 이 도구는 브라우저 Web Crypto API인 crypto.getRandomValues()를 사용하며 운영 체제 수준의 CSPRNG(Linux의 getrandom, macOS의 SecRandomCopyBytes, Windows의 BCryptGenRandom 등)를 호출하여 생성되는 난수는 암호학적 무작위성 테스트를 통과한 예측 불가능한 것입니다.

**비밀번호 강도의 핵심은 엔트로피(Entropy)입니다**: 엔트로피 = log₂(문자 풀 크기^비밀번호 길이), 단위는 bit입니다. 예를 들어 94개의 인쇄 가능한 ASCII 문자에서 무작위로 선택된 16자 비밀번호의 경우 엔트로피는 약 104 bit이며, 이는 공격자가 올바른 비밀번호를 찾기 위해 평균적으로 2¹⁰³회의 시도가 필요함을 의미합니다—초당 1조 회를 시도해도 약 2000억 년이 걸립니다.

**기억하기 쉬운 암호구(Passphrase)**: 무작위로 선택된 여러 단어로 구성되며(예: Brave-Cloud-Star42), 무작위 비밀번호보다 '단순'해 보이지만 단어가 진정으로 무작위로 선택된 경우 총 엔트로피는 60 bit 이상에 도달하여 대부분의 시나리오에서 충분히 안전하며 동등한 강도의 무작위 비밀번호보다 훨씬 기억하기 쉽습니다. 이는 XKCD #936의 유명한 만화와 Diceware 방식의 핵심 아이디어입니다.

**모든 비밀번호는 브라우저 로컬에서 생성되며** 어떤 서버에도 전송되지 않습니다. 이 도구는 동시에 강도 감지도 제공합니다: 엔트로피 계산, 무차별 대입 시간 추정, 약한 비밀번호 패턴 감지(중복 문자, 연속된 숫자/문자, 일반적인 약한 비밀번호 매칭)를 통해 생성된 비밀번호의 실제 보안 강도를 이해하는 데 도움을 줍니다.

术语表

CSPRNG(암호학적 안전 의사 난수 생성기)
Cryptographically Secure Pseudo-Random Number Generator. 엄격한 암호학적 무작위성 테스트를 통과한 난수 생성기. 출력은 예측 불가능하며 공격자가 많은 과거 출력을 알고 있어도 미래 출력을 추론할 수 없습니다. 브라우저 Web Crypto API는 내부적으로 CSPRNG를 사용합니다.
비밀번호 엔트로피(Password Entropy)
비밀번호의 예측 불가능성을 측정하는 지표로 단위는 bit입니다. 계산식: 엔트로피 = log₂(N^L), 여기서 N은 문자 풀 크기, L은 비밀번호 길이입니다. 엔트로피가 높을수록 무차별 대입이 어려워집니다. 일반적으로 60 bit 이상이 안전, 100 bit 이상이 매우 강력으로 간주됩니다.
무차별 대입 공격(Brute Force Attack)
가능한 모든 문자 조합을 시도하여 비밀번호를 추측하는 공격 방법. 방어 방법은 조합 수가 물리적으로 헤아릴 수 없을 정도로 커지게 하는 충분히 긴 무작위 비밀번호를 사용하는 것입니다.
사전 공격(Dictionary Attack)
일반적인 비밀번호 목록(123456, password, qwerty 등)을 사용하여 추측하는 공격 방법. 대다수의 사용자가 일반적인 약한 비밀번호를 사용하므로 무차별 대입보다 훨씬 효율적입니다. 무작위로 생성된 비밀번호는 사전 공격에 자연스럽게 면역입니다.
자격 증명 스터핑(Credential Stuffing)
한 웹사이트에서 유출된 사용자 이름과 비밀번호를 사용하여 다른 웹사이트에 로그인을 시도하는 공격. 방어 방법은 웹사이트마다 고유한 비밀번호를 사용하고 Have I Been Pwned에서 비밀번호가 유출되었는지 확인하는 것입니다.
암호구(Passphrase)
여러 무작위 단어로 구성된 비밀번호/구문. 무작위 문자 비밀번호와 비교하여 단어 구문은 기억하기 쉽고 단어 수가 충분하면 엔트로피도 마찬가지로 높습니다. Diceware는 가장 유명한 암호구 생성 방법으로 7772개 단어 목록에서 주사위를 사용하여 무작위로 선택합니다.
Diceware
Arnold Reinhold가 1995년에 고안한 암호구 생성 방법으로 5개의 주사위를 던져(7776개 단어 목록에서) 한 단어를 결정합니다. 6개의 Diceware 단어의 엔트로피는 약 77 bit로 무차별 대입에 대해 충분한 안전성을 제공합니다.
NIST SP 800-63B
미국 국립표준기술연구소가 발행한 디지털 신원 인증 가이드라인으로 비밀번호 보안 분야에서 가장 권위 있는 참고 자료입니다. 2017년 업데이트 이후 정기적인 비밀번호 변경과 특수 문자 강제를 더 이상 권장하지 않으며 대신 비밀번호 길이, 블랙리스트 감지, 다중 인증을 중시합니다.
2단계 인증(2FA/MFA)
비밀번호 외에 두 번째 인증 방식(휴대폰 인증 코드, TOTP, 하드웨어 키 등)을 요구하여 비밀번호가 유출되어도 계정 보안을 보호합니다. NIST는 모든 중요한 계정에서 2FA를 활성화할 것을 권장합니다.
약한 비밀번호 블랙리스트
공개적으로 유출되었거나 매우 일반적이거나 예측 가능한 패턴을 포함하는 비밀번호 목록. 예: 123456, password, admin, qwerty 등. NIST는 등록 및 비밀번호 변경 시 블랙리스트에 포함되어 있는지 확인할 것을 권장합니다.

비밀번호 길이 및 크래킹 시간 추정 (대소문자+숫자+기호 포함)

비밀번호 길이엔트로피(bit)조합 수무차별 대입 시간(1조 회/초)보안 등급
6자~37약 1390억< 1초❌ 매우 약함
8자~52약 2.2×10¹⁴약 2.5일❌ 약함
10자~65약 3.7×10¹⁸약 116년⚠️ 보통
12자~78약 6.1×10²²약 193만 년✅ 강함
16자~104약 6.3×10³⁰약 2000억 년✅✅ 매우 강함
20자~131약 6.7×10³⁸우주 나이의 억억 배✅✅✅ 뚫을 수 없음

세 가지 비밀번호 모드 비교

모드형식 예시일반적인 엔트로피기억 용이성권장 시나리오
무작위 비밀번호xK9#mP2$vL8@nQ4!문자당 ~6.5bit나쁨비밀번호 관리자에 저장하는 마스터 비밀번호, 데이터베이스 비밀번호, API 키
기억하기 쉬운 암호구Brave-Cloud-Star42단어당 ~10bit좋음사람이 기억해야 하는 Wi-Fi 비밀번호, 로그인 비밀번호
숫자 PIN482917숫자당 3.3bit좋음기기 잠금 화면, 은행 카드 PIN, 일회성 인증 코드

Authoritative References