비밀번호 엔트로피 설명: 비밀번호를 강력하게 만드는 것
웹사이트에서 비밀번호가 "약함" 또는 "강함"이라고 말할 때, 엔트로피 — 비밀번호의 수학적 무작위성을 측정하고 있습니다. 엔트로피를 이해하면 단순히 입력하기 어려운 것이 아니라 진정으로 안전한 비밀번호를 만들 수 있습니다.
엔트로피란?
비트로 측정되는 엔트로피는 비밀번호의 예측 불가능성을 수량화합니다. 엔트로피 1비트마다 공격자가 시도해야 하는 가능한 비밀번호 수가 두 배로 늘어납니다. 공식은:
엔트로피 = log₂(C^L)
여기서:
- C = 문자 집합의 크기
- L = 비밀번호의 길이
대안: 엔트로피 = L × log₂(C)
문자 집합별 엔트로피
| 문자 집합 | 풀 크기 (C) | 문자당 비트 |
|---|---|---|
| 숫자만 (0-9) | 10 | 3.32 |
| 소문자 (a-z) | 26 | 4.70 |
| 소문자 + 숫자 | 36 | 5.17 |
| 대소문자 (a-z, A-Z) | 52 | 5.70 |
| 대소문자 + 숫자 | 62 | 5.95 |
| 모든 인쇄 가능 ASCII | 95 | 6.57 |
계산 예시:
password(소문자 8자): 8 × 4.70 = 37.6 비트 — 초 단위로 해독 가능P@ssw0rd(혼합 8자): 8 × 6.57 = 52.6 비트 — 시간 단위로 해독 가능correct-horse-battery-staple(소문자 + 기호 28자): 길이로 인해 훨씬 높은 유효 엔트로피
길이 vs. 복잡도
직관에 반하는 진실: 길이가 복잡도보다 엔트로피에 더 많이 기여합니다.
| 비밀번호 | 길이 | 엔트로피 | 해독 시간 (초당 10억 추측) |
|---|---|---|---|
Xy7! | 4 | 26.3 비트 | < 1초 |
Xy7!Qp2$ | 8 | 52.6 비트 | 142년 |
mysimplepassword | 16 | 75.2 비트 | 12억 년 |
correct horse battery | 22 | 103 비트 | 우주의 열사 |
16자 소문자 비밀번호는 모든 문자 유형을 포함한 8자 비밀번호보다 강합니다. 이것이 현대 보안 지침 (NIST SP 800-63B)이 짧은 복잡한 비밀번호보다 긴 패스프레이즈를 권장하는 이유입니다.
"복잡도 규칙"의 문제
전통적인 비밀번호 정책 (대문자, 소문자, 숫자, 기호 필수)은 역효과를 냅니다:
- 예측 가능한 패턴: 사용자가 첫 글자를 대문자로 하고 끝에
1!을 추가 →Password1! - 기억력 저하: 복잡한 비밀번호는 포스트잇에 적히게 됨
- 거짓 보안: 8자 "복잡한" 비밀번호는 16자 단순한 것보다 엔트로피가 낮음
NIST의 현대적 지침:
- 최소 8자, 15자 이상 권장
- 조합 규칙 없음 (대문자, 기호 등)
- 유출된 비밀번호 데이터베이스와 대조
- 공백을 포함한 모든 인쇄 가능 문자 허용
- 강제적 주기적 변경 없음
패스프레이즈 전략
패스프레이즈는 무작위 문자 대신 무작위 단어를 사용합니다:
방법: 사전에서 4-6개의 무작위 단어 선택
예시: "timber quantum spoon velocity"
엔트로피: 4단어 × ~12.9비트/단어 (7,776 단어 목록 기준) ≈ 51.7비트
더 좋게: 6단어 ≈ 77.5비트
Diceware 방법은 7,776개 단어 목록 (6^5, 다섯 주사위 굴림 매칭)을 사용합니다. 각 단어는 12.9비트의 엔트로피를 추가합니다.
장점:
- 기억하기 쉬움 (단어를 시각화 가능)
- 길이가 김 (자연스럽게 20-35자)
- 충분한 단어 수로 높은 엔트로피
- 입력하기 쉬움
비밀번호 생성기로 안전한 무작위 비밀번호와 패스프레이즈를 생성하세요.
실제 공격 속도
엔트로피는 공격 속도와 상대적으로만 의미가 있습니다:
| 공격 유형 | 속도 | 40비트 비밀번호 | 60비트 비밀번호 | 80비트 비밀번호 |
|---|---|---|---|---|
| 온라인 (속도 제한) | 1,000/초 | 12.7일 | 36,559년 | 3,800만년 |
| 오프라인 (CPU) | 10억/초 | 1.1초 | 36.5년 | 38,334년 |
| 오프라인 (GPU 클러스터) | 1조/초 | < 1초 | 13일 | 38년 |
| 국가 수준 | 1,000조/초 | < 1초 | < 1초 | 14일 |
속도 제한과 잠금이 있는 온라인 계정에는 40+비트가 적절합니다. 오프라인 공격 (도난된 비밀번호 해시)에는 80+비트가 최소입니다. 이것이 Argon2와 bcrypt 같은 비밀번호 해싱 알고리즘이 존재하는 이유입니다 — 각 추측 비용을 높입니다.
비밀번호 관리자의 수학
비밀번호 관리자는 방정식을 완전히 바꿉니다:
- 하나의 강력한 마스터 비밀번호: 80+비트 엔트로피 (6+단어 패스프레이즈)
- 다른 모든 비밀번호: 무작위 생성, 128+비트, 사이트별 고유
- 재사용 없음: 한 사이트의 유출이 다른 사이트에 영향을 미치지 않음
비밀번호 관리자를 지지하는 수학은 압도적입니다. 아무리 강력하더라도 하나의 재사용 비밀번호는 사이트별 고유한 약한 비밀번호보다 약합니다, 왜냐하면 하나의 유출이 모든 계정을 위험에 빠뜨리기 때문입니다.
비밀번호 측정
비밀번호 강도를 평가할 때 고려하세요:
- 유출 데이터베이스에 있나요? — "강한" 비밀번호도 유출되면 약합니다 (haveibeenpwned.com에서 확인)
- 무작위인가요? — 사람이 선택한 비밀번호는 무작위보다 엔트로피가 훨씬 낮음
- 어떻게 저장되나요? — 비용 인수 12의 bcrypt는 일반 MD5 대비 ~22비트의 유효 엔트로피를 추가
안전한 비밀번호 생성에 대해 더 알아보려면 비밀번호 생성 가이드를 참조하세요.
FAQ
몇 비트의 엔트로피가 필요한가요?
속도 제한이 있는 온라인 계정: 최소 40-50비트. 암호화된 데이터를 보호하는 비밀번호 (디스크 암호화, 비밀번호 관리자 마스터 비밀번호): 80+비트. 암호화 키: 128+비트. 정답은 무엇을 보호하고 누가 공격할 수 있는지에 따라 달라집니다.
비밀번호에 기호를 추가하면 크게 강해지나요?
기호 하나를 추가하면 문자 풀이 62에서 95로 늘어나 문자당 약 0.6비트가 추가됩니다. 8자 비밀번호의 경우 약 5비트 추가 — 소문자 한 글자를 추가하는 것과 동등합니다. 길이가 문자 유형 추가보다 거의 항상 더 나은 투자입니다.
관련 리소스
- 비밀번호 생성기 — 암호학적으로 안전한 비밀번호 생성
- 강력한 비밀번호 만들기 — 종합 비밀번호 보안 가이드
- 해시 알고리즘 비교 — 비밀번호가 안전하게 저장되는 방법