일반적인 비밀번호 강도 비교
"password"(소문자 8자): 0.02초. "P@ssw0rd!"(혼합 9자): 약 3시간. "mY$ecure2024!#"(혼합 14자): 약 5,400만 년.
복잡도보다 길이가 핵심입니다. 14자 이상의 혼합 비밀번호는 현재 기술로 사실상 해독이 불가능합니다.
비밀번호 길이와 문자 종류에 따른 무차별 대입 소요 시간을 계산합니다.
공격자의 초당 비밀번호 시도 횟수
보안 등급
보안 등급 보통
엔트로피: 47.6 bits
보안 등급 보통
비밀번호 무차별 대입 계산기는 비밀번호의 길이와 문자 종류(소문자, 대문자, 숫자, 특수문자)에 따른 가능한 조합 수와 무차별 대입(brute force) 소요 시간을 계산하는 도구입니다. 소문자만 사용한 6자리 비밀번호의 경우 26^6 ≈ 3억 가지 조합으로, 초당 100억 번 시도하는 GPU 공격에 0.03초 만에 뚫립니다. 반면 대소문자+숫자+특수문자를 포함한 12자리는 약 10^23 조합으로, 같은 GPU로도 약 31만 년이 걸립니다. 이 계산기는 안전한 비밀번호의 기준을 수치로 이해하는 데 도움을 주는 교육 도구입니다.
이럴 때 이렇게 계산해요.
"password"(소문자 8자): 0.02초. "P@ssw0rd!"(혼합 9자): 약 3시간. "mY$ecure2024!#"(혼합 14자): 약 5,400만 년.
복잡도보다 길이가 핵심입니다. 14자 이상의 혼합 비밀번호는 현재 기술로 사실상 해독이 불가능합니다.
4자리 숫자 PIN: 10,000가지(초당 1,000회로 10초). 6자리 PIN: 1,000,000가지(약 17분). 8자리: 1억 가지(약 28시간).
스마트폰 PIN은 시도 횟수 제한(보통 10회)이 있어 4자리도 안전하지만, 제한이 없다면 매우 취약합니다.
2012년 LinkedIn에서 약 650만 개의 비밀번호 해시(SHA-1, 솔트 미적용)가 유출되었습니다. 공격자들은 "123456", "password" 같은 흔한 비밀번호를 수 분 만에 복원했으며, 전체의 약 60%를 72시간 내에 해독했습니다.
솔트 없는 SHA-1 해시는 매우 취약합니다. 이 사건 이후 bcrypt와 솔트 사용이 업계 표준이 되었습니다.
영어 단어 사전(약 17만 단어) 기반 사전 공격은 초당 10억 회 시도 시 0.0002초 만에 완료됩니다. "sunshine", "monkey" 같은 단어 비밀번호는 즉시 뚫립니다.
사전에 있는 단어 하나를 비밀번호로 사용하면 사실상 보호가 없는 것과 같습니다. 패스프레이즈는 4개 이상의 단어를 조합해야 합니다.
8자리 혼합 비밀번호(95^8 ≈ 6.6조 조합): MD5 해시 기준 GPU로 약 40초에 해독 가능. bcrypt(cost=12) 기준 같은 GPU로 약 1,140년 소요.
비밀번호 저장에 사용하는 해시 함수의 선택이 매우 중요합니다. bcrypt, Argon2 같은 느린 해시 함수는 GPU 공격을 효과적으로 방어합니다.
같이 쓰면 좋아요. 옆으로 넘겨 보세요.
궁금한 거 모아 봤어요. 눌러서 펼쳐 보세요.
문자 종류 수만큼 곱해집니다. 대소문자+숫자+특수문자(약 95종) 사용 시 1자 추가마다 조합 수가 95배 증가합니다. 8자에서 12자로 늘리면 조합 수가 약 8,100만 배 증가하여 보안이 극적으로 강화됩니다.
길이를 늘리는 것이 훨씬 효과적입니다. 소문자 8자(26^8 ≈ 2,000억)보다 소문자 12자(26^12 ≈ 9.5×10^16)가 47만 배 더 안전합니다. 반면 8자에 특수문자를 추가해도 95^8 ≈ 6.6×10^15으로 약 3만 2천 배 증가합니다.
"correct horse battery staple" 같은 4단어 패스프레이즈는 약 25자 길이에 엔트로피가 약 44비트로, 무작위 8자 비밀번호(약 52비트)보다 낮지만 기억하기 훨씬 쉽습니다. 5~6단어를 쓰면 보안과 편의성을 모두 확보할 수 있습니다.
비밀번호 관리자는 사이트마다 고유한 20자 이상의 무작위 비밀번호를 생성하고 안전하게 저장합니다. 사용자는 마스터 비밀번호 하나만 기억하면 됩니다. 하나의 사이트가 해킹되어도 다른 사이트에 영향을 주지 않습니다.
미리 계산해둔 해시값-비밀번호 쌍의 거대한 테이블을 이용하여 해시값에서 원래 비밀번호를 빠르게 찾는 공격입니다. 솔트(salt)를 추가하면 각 비밀번호마다 다른 해시가 생성되어 레인보우 테이블이 무력화됩니다.
2024년 기준 RTX 4090 GPU 1대로 MD5 해시를 초당 약 1,640억 회, bcrypt를 초당 약 18만 4천 회 시도할 수 있습니다. 8장 클러스터로는 MD5를 초당 1조 회 이상 시도 가능합니다. 그래서 bcrypt 같은 느린 해시 함수를 사용하는 것이 중요합니다.
2FA는 강력한 추가 방어 수단이지만, 비밀번호 강도가 중요하지 않다는 뜻은 아닙니다. SIM 스와핑, 피싱 등으로 2FA를 우회할 수 있기 때문입니다. 강한 비밀번호 + 2FA의 조합이 가장 안전합니다.
비밀번호 보안의 수학적 배경
조합 수 계산 문자 종류 수 C, 비밀번호 길이 L일 때:
총 조합 수 = C^L
소문자만(C=26), 8자: 26^8 = 208,827,064,576 (약 2,088억) 전체 혼합(C=95), 8자: 95^8 ≈ 6.63 × 10^15 (약 6,630조)
엔트로피(Entropy) 비밀번호의 정보량을 비트 단위로 나타냅니다:
엔트로피 H = L × log₂(C) 비트
소문자 8자: H = 8 × 4.7 = 37.6비트 혼합 12자: H = 12 × 6.57 = 78.8비트
무차별 대입 소요 시간 초당 시도 횟수 R일 때:
평균 소요 시간 = C^L / (2 × R)
2024년 기준: RTX 4090 GPU 1대 = 초당 약 1,640억 회(MD5)
해시 함수별 방어 효과 bcrypt(cost=12)는 MD5 대비 약 100만 배 느려서:
해독 시간(bcrypt) = 해독 시간(MD5) × 10^6
이것이 느린 해시 함수를 사용하는 이유입니다.
소문자, 대문자, 숫자, 특수문자 포함 여부를 선택합니다.
비밀번호 길이를 입력합니다.
가능한 조합 수와 무차별 대입 예상 소요 시간을 확인합니다.