비밀번호 생성기
Web Crypto API를 사용하여 원하는 길이의 암호화된 랜덤 강력 비밀번호를 생성하세요. 문자 집합과 길이를 사용자 정의하고, 엔트로피 점수를 확인하며, 한 번의 클릭으로 복사하세요.
약하거나 재사용된 비밀번호는 Verizon 2023 데이터 유출 조사 보고서에 따르면 해킹과 관련된 데이터 유출의 80%를 차지합니다. 대문자, 소문자, 숫자 및 기호를 조합한 16자 비밀번호는 1028 이상의 가능한 조합을 가지며 - 현재 하드웨어로 무차별 대입하는 데 수십억 년이 걸립니다. 이 생성기는 브라우저의 crypto.getRandomValues() API를 사용하며, 이는 운영 체제와 보안 라이브러리에서 사용하는 동일한 CSPRNG입니다. NIST 특별 간행물 800-63B는 최소 8자를 권장하며, 보안 전문가들은 16자 이상을 널리 권장합니다. 생성된 비밀번호는 서버로 전송되지 않습니다.
비밀번호 생성 방법
- 슬라이더 또는 입력 필드를 사용하여 원하는 비밀번호 길이 설정(8-128자).
- 포함할 문자 유형 선택: 대문자, 소문자, 숫자 및/또는 기호.
- 생성을 클릭하여 새 비밀번호를 만듭니다.
- 엔트로피 점수와 강도 지표를 검토합니다.
- 복사를 클릭하여 비밀번호를 클립보드에 복사합니다.
- 생성된 비밀번호를 즉시 비밀번호 관리자에 저장합니다.
비밀번호 강도 설명
엔트로피와 문자 집합 크기
비밀번호 강도는 비트 단위의 엔트로피로 측정됩니다 - 총 가능한 조합의 로그(2진수). 크기 L의 비밀번호는 크기 N의 문자 집합을 사용하여 L × log₂(N) 비트의 엔트로피를 가집니다. 문자 집합 크기: 소문자만 = 26; + 대문자 = 52; + 숫자 = 62; + 32개의 일반 기호 = 94. 전체 94자 집합에서 16자 비밀번호는 약 104.7비트의 엔트로피를 가집니다. NIST는 2030년까지 대부분의 보안 응용 프로그램에 대해 112비트 엔트로피가 충분하다고 간주합니다.
길이가 복잡성보다 중요한 이유
하나의 문자를 추가하면 검색 공간이 문자 집합 크기만큼 곱해집니다. 20자 소문자만 포함된 비밀번호(~94비트 엔트로피)는 모든 문자 유형이 포함된 10자 비밀번호(~65비트)에 비해 무차별 대입에 더 강력합니다. NIST SP 800-63B와 보안 연구자들은 필수 복잡성 규칙보다 길이를 우선시할 것을 권장합니다. 이러한 규칙은 종종 예측 가능한 패턴을 생성합니다 - 대문자가 먼저, 숫자가 마지막, !가 끝에 오는 방식입니다.
예시
생성된 비밀번호(16자, 모든 문자 유형)
kR9#mXv2@TqL5!nW
길이: 16자
엔트로피: ~104.7비트
문자 집합: 94 (a-z, A-Z, 0-9, 기호)
크랙 시간: 현재 하드웨어로 수십억 년
NIST SP 800-63B 가이드라인
- 최소 길이: 사용자 선택 비밀번호의 경우 8자 이상; 최대 64자 허용
- 필수 복잡성 규칙 없음: NIST의 2017년 개정안은 대문자, 숫자 및 기호에 대한 요구 사항을 제거했습니다 - 이러한 규칙은 약하고 예측 가능한 패턴을 생성합니다
- 주기적인 강제 변경 없음: 강제 회전은 더 이상 권장되지 않으며, 손상의 증거가 있는 경우에만 필요합니다
- 유출된 비밀번호와 비교: 비밀번호는 HaveIBeenPwned의 Pwned Passwords 목록과 같은 데이터베이스와 비교해야 합니다
- 패스프레이즈는 유효함: 랜덤 단어로 구성된 긴 패스프레이즈는 대안으로 명시적으로 권장됩니다
모범 사례
- 비밀번호 관리자 사용(1Password, Bitwarden, KeePass) - 랜덤 비밀번호를 암기하지 마세요
- 모든 계정에 대해 고유한 비밀번호 생성 - 재사용은 하나의 유출로 모든 계정이 노출됩니다
- 비밀번호 관리자의 마스터 비밀번호에는 랜덤 문자 문자열 대신 5단어 이상의 패스프레이즈를 사용하세요
- 강력한 비밀번호와 함께 모든 중요한 계정에서 이중 인증을 활성화하세요
암호화된 랜덤 식별자(비밀번호 아님)를 생성하려면 UUID 생성기를 사용하세요. 구성 파일이나 HTTP 헤더에서 비밀번호를 인코딩하려면 Base64 인코더가 바이너리 안전 전송을 처리합니다.
자주 묻는 질문
생성된 비밀번호가 어디에 저장되거나 기록되나요?
아니요. 비밀번호는 crypto.getRandomValues()를 사용하여 전적으로 브라우저에서 생성됩니다. 서버로 전송되지 않으며, 기록되지 않고 페이지를 닫거나 새로 고침하면 사라집니다. 비밀번호를 생성하는 동안 브라우저의 네트워크 탭을 열면 아웃바운드 요청이 없음을 확인할 수 있습니다.
내 비밀번호는 얼마나 길어야 하나요?
NIST SP 800-63B는 최소 8자 이상을 설정합니다. 보안 전문가들은 대부분의 계정에 대해 최소 16자, 고가치 계정(이메일, 은행, 비밀번호 관리자 마스터)에 대해 20자 이상을 권장합니다. 94자 집합을 사용할 경우, 16자 비밀번호는 약 105비트의 엔트로피를 가지며, 현재 또는 가까운 미래의 하드웨어로는 무차별 대입이 불가능합니다.
비밀번호에 기호를 포함해야 하나요?
예, 서비스에서 허용하는 경우에 가능합니다. 기호를 포함하면 문자 집합이 62자에서 94자로 증가하며, 각 문자당 약 0.66비트의 엔트로피가 추가됩니다. 16자를 초과하면 약 10.5비트가 추가됩니다. 길이에서 오는 더 큰 이점은 20자 알파벳과 숫자로 구성된 비밀번호가 모든 기호로 구성된 12자 비밀번호보다 강력하다는 것입니다.
랜덤 비밀번호와 패스프레이즈의 차이는 무엇인가요?
랜덤 비밀번호는 최소 길이에서 최대 엔트로피를 최적화한 랜덤 문자 문자열입니다. 패스프레이즈는 기억하기 쉬운 길이를 위해 랜덤 단어의 시퀀스(예: correct-horse-battery-staple)입니다. 5단어 다이스웨어 패스프레이즈(7,776단어 단어 목록)는 약 65비트의 엔트로피를 가집니다. 비밀번호 관리자 항목에는 랜덤 문자 비밀번호를 사용하고, 마스터 비밀번호에는 기억할 수 있는 패스프레이즈를 사용하세요.
이 생성기를 Wi-Fi 비밀번호나 API 토큰에 사용할 수 있나요?
Wi-Fi(WPA2/WPA3)의 경우, 모든 문자 유형이 포함된 랜덤 20자 비밀번호가 훌륭합니다 - 장치에서 입력하기 전에 저장하세요. SSH 키와 API 토큰의 경우, 수동 비밀번호 생성보다는 전용 생성 명령(ssh-keygen, API 제공자의 토큰 생성 흐름)을 사용하세요.