32자. 모든 문자 유형 포함. 암호학적 품질. 브라우저가 직접 처리합니다.
비밀번호 강도는 숫자입니다. 클로드 섀넌은 1948년에 이를 비트 단위로 측정되는 정보 엔트로피로 공식화했습니다. 각 비트는 공격자가 시도해야 하는 가능한 조합의 수를 두 배로 늘립니다. 76개의 문자(대문자, 소문자, 숫자, 14개의 기호)에서 무작위로 추출된 비밀번호는 문자당 약 6.25비트의 엔트로피를 가집니다. 따라서 16자리 비밀번호는 약 100비트의 엔트로피, 즉 2100개의 가능한 조합을 포함하며, 이는 31자리 수입니다.
실질적인 결과는 기하급수적입니다. 이 생성기로 만든 20자리 비밀번호는 약 125비트의 엔트로피를 포함하므로, 공격자가 이를 확실히 찾으려면 약 1037개의 조합을 시도해야 합니다. 초당 1조 번의 추측 속도에서도 예상 탐색 시간은 현재 우주의 나이를 수십억 배 초과합니다. 길이가 지배적인 변수입니다. 네 글자를 추가하는 것이 알파벳에서 영숫자로 전환하는 것보다 보안에 더 효과적입니다.
무작위 비밀번호에 한 글자를 추가하면 탐색 공간이 76배 증가합니다. 네 글자를 추가하면 764배, 즉 약 3,300만 배로 증가합니다. 이러한 기하급수적 확장이 길이가 교묘한 치환보다 훨씬 중요한 이유입니다. 사람이 선택한 비밀번호에서 "a"를 "@"로 바꾸는 것은 엔트로피를 사실상 전혀 추가하지 않습니다. 공격자들이 이미 해당 치환을 사전에 포함하고 있기 때문입니다. 진정한 무작위 문자 네 개를 추가하면 25비트의 엔트로피가 추가됩니다. 25비트는 공격자가 탐색 공간을 뒤지는 데 3,300만 배 더 오래 걸린다는 의미입니다.
2024년 NIST 특별 간행물 800-63B는 복잡성 규칙보다 비밀번호 길이를 우선시할 것을 권장합니다. 이 지침의 기반이 된 연구에 따르면, 복잡성 요구 사항(대문자 하나, 숫자 하나, 기호 하나)은 예측 가능한 패턴을 만들어냅니다: Password1!은 모든 규칙을 충족하면서도 수백만 건의 유출된 자격 증명 데이터베이스에 등장합니다. 순수하게 무작위인 16자리 문자열은 어떤 인간적 패턴도 충족하지 않습니다. 충족할 패턴이 없기 때문입니다. 이 생성기는 모든 비밀번호에 네 가지 문자 유형을 모두 보장한 후, 동일한 암호학적 랜덤 소스로 위치를 섞어 어떤 위치도 예측할 수 없도록 합니다.
비밀번호의 모든 문자는 W3C가 명시한 Web Cryptography API인 crypto.getRandomValues()에서 생성됩니다. 이 함수는 기기의 하드웨어 수준 소스에서 엔트로피를 추출합니다: 열 노이즈, 전기적 타이밍 지터, 양자 불확정성에 뿌리를 둔 기타 물리적 과정들입니다. 출력은 NIST SP 800-22 및 TestU01을 포함한 엄격한 통계적 테스트 스위트를 통과합니다.
이 보장은 알고리즘을 넘어섭니다. 이것은 온라인 뱅킹을 보호하는 세션 키, 모든 HTTPS 연결의 임시 키, 암호화된 메시징의 초기화 벡터를 생성하는 것과 동일한 엔트로피 소스입니다. 브라우저 벤더들은 이 구현을 끊임없이 감사합니다. 여기에 취약점이 있으면 웹의 모든 보안 연결이 위험에 처하기 때문입니다. 귀하의 비밀번호는 그 전체 보증 체계를 물려받습니다.
카네기 멜론 대학의 연구자들은 유출 데이터베이스의 수백만 개의 실제 비밀번호를 분석하여 놀라운 패턴을 발견했습니다. 사람이 선택한 비밀번호는 몇천 가지의 일반적인 구조에 크게 집중됩니다: 이름 뒤에 연도, 예측 가능한 치환이 포함된 사전 단어, qwerty123과 같은 키보드 패턴. 이러한 패턴은 공격자가 정확히 이런 패턴으로 사전을 구축하기 때문에, 명목상의 길이와 관계없이 유효 엔트로피를 20-40비트로 줄여버립니다.
기계가 생성한 비밀번호는 인적 요인을 완전히 제거합니다. 모든 문자 위치가 전체 문자 풀에서 균일한 확률로 독립적으로 추출됩니다. 악용할 패턴도, 참조할 사전도, 예측할 심리적 경향도 없습니다. 남은 유일한 공격은 전체 키 공간에 대한 전수 탐색이며, 기하급수적 성장의 수학은 합리적인 비밀번호 길이에서 그러한 탐색을 불가능하게 만듭니다.
위의 강도 분석 패널은 세 가지 공격 속도에서의 실시간 해독 추정치를 표시합니다. 온라인 공격 시나리오(초당 1,000회 추측)는 속도가 제한된 웹 서비스를 나타냅니다. 고속 하드웨어 시나리오(초당 100억 회)는 오프라인 해시를 크래킹하는 최적화된 GPU 클러스터를 나타냅니다. 국가급 시나리오(초당 1조 회)는 전용 인프라를 갖춘 이론적 최대치를 나타냅니다. 100비트의 엔트로피에서도 국가급 시나리오는 약 4 × 1018년이 필요합니다. 태양은 약 50억 년 후에 수소 연료를 소진합니다. 당신의 비밀번호는 태양계보다 오래 지속됩니다.
비밀번호 엔트로피는 정보 이론에 대한 접근하기 쉬운 입문 주제를 제공합니다. 학생들에게 /password/8을 방문하여 엔트로피를 확인하고, 그다음 /password/16을 방문하여 엔트로피가 정확히 두 배가 되는 것을 관찰하게 하세요. 추가되는 각 문자는 고정된 비트 수를 기여합니다. 길이와 엔트로피 사이의 이 선형 관계는 길이와 보안 사이의 기하급수적 관계를 만들어내며, 학생들은 서로 다른 길이에서의 해독 시간 추정치를 비교하여 이 개념을 검증할 수 있습니다.
더 심화된 연습으로, dice83 비밀번호를 다이스웨어 암호 문구와 비교해 보세요. 여섯 단어로 된 암호 문구는 약 77비트의 엔트로피를 가집니다. 12자리 무작위 비밀번호는 약 75비트를 가집니다. 둘 다 완전히 다른 메커니즘으로 유사한 보안을 달성합니다: 암호 문구는 큰 풀(7,776개의 단어)에서 적은 수를 선택하고, 비밀번호는 작은 풀(76개의 문자)에서 많은 수를 선택합니다. 이 트레이드오프는 기억 용이성 대 순수한 강도이며, 이 트레이드오프를 이해하면 학생들에게 엔트로피가 실제로 어떻게 작동하는지를 가르칩니다. 이 도구는 완전히 브라우저에서 실행되며, 계정이 필요 없고, 학생 데이터를 저장하지 않습니다.
이 페이지에서 생성된 모든 비밀번호는 브라우저 내부에만 존재합니다. 서버는 도구를 구성하는 HTML, CSS, JavaScript를 전달합니다. 생성은 귀하의 기기에서 실행됩니다. 어떤 시점에서도 비밀번호, 부분 비밀번호, 또는 비밀번호 관련 데이터가 네트워크 연결을 통해 전송되지 않습니다. 비밀번호의 유일한 영구 기록은 복사 후 붙여넣기를 선택한 곳에만 있습니다.
도구 URL을 공유하는 것은 본질적으로 안전합니다. 누군가에게 /password/20 링크를 보내면 동일한 구성의 동일한 생성기를 제공합니다. 상대방의 브라우저는 자체 엔트로피 소스로 완전히 독립된 비밀번호를 생성합니다. URL은 도구 설정을 전달합니다. 비밀은 귀하의 기기가 보관합니다.
주소 표시줄에 원하는 길이를 직접 입력하세요:
비밀번호가 아닌 도구를 공유하세요. 각 방문자는 자신만의 비밀번호를 생성합니다.
일일 영감
A' Design Award의 심사위원 선정 작품, 매일 아침 새롭게 소개됩니다.