비밀번호 강도
비밀번호 강도 규칙("최소 하나의 대문자, 하나의 숫자, 하나의 기호")은 오프라인 크래킹이 흔하지 않던 시대를 위해 설계되었습니다. 오늘날 GPU 팜은 초당 수십억 번의 추측을 시도하며 대부분의 웹사이트 검사를 통과하는 규칙은 몇 분 안에 완료됩니다. 실제로 비밀번호를 강력하게 만드는 것이 무엇인지 이해하는 것은 가장 유용한 보안 지식 중 하나입니다.
전체 기사 본문은 아래에 영어로 제공됩니다.
암호 강도는 추측을 통해 암호를 알아내기가 얼마나 어려운지를 측정한 것입니다. 관련 공격자는 사람이 입력하는 추측이 아닙니다. 이는 유출된 비밀번호 해시에 대해 초당 수십억 개의 후보를 실행하는 자동화된 시스템입니다. "복잡한 비밀번호"라는 고전적인 규칙은 대부분 이러한 위협에 대해 도움이 되지 않습니다. 길이와 무작위성은 그렇습니다.
비밀번호가 공격받는 곳
두 가지 다른 시나리오:
- 온라인 공격. 공격자는 실제 로그인 양식에 추측을 제출합니다. 서비스에 따라 요금이 제한됩니다. 일반적으로 몇 번의 실패 후 기본 계정 잠금으로 인해 패배합니다. 느리고 감지하기 쉽습니다.
- 오프라인 공격. 공격자는 침해된 데이터베이스에서 비밀번호 해시를 훔치고 로컬에서 추측을 실행합니다. 하드웨어에 의해서만 제한됩니다. 최신 GPU 장비는 초당 100억~1000억 개의 bcrypt 해시를 추측할 수 있습니다. 무염 SHA-256에 대한 초당 수조.
강력한 비밀번호는 주로 오프라인 공격에 중요합니다. 심지어 약한 비밀번호라도 온라인에서는 해독하기 어렵습니다. 오프라인 크래킹에 대비해 길이만 절약하면 됩니다.
Entropy: 관련 측정항목
Password 강도는 무작위 비트 수인 entropy에서 가장 잘 측정됩니다. 60비트 엔트로피를 가진 비밀번호에는 2^60개의 가능한 값이 있으며, 초당 1조 개의 추측을 시도하면 무차별 대입 공격에 약 36년이 걸립니다. 각각의 추가 비트는 크래킹 시간을 두 배로 늘립니다.
2026 임계값의 경우:
- ≥ 40비트 — 합리적인 속도 제한이 있는 낮은 가치 계정에 적합
- ≥ 60비트 — 중요한 계정(이메일, 소셜 미디어, 작업)
- ≥ 80비트 — 고가치 계정(금융, 비밀번호 관리자, 암호화 키)
- ≥ 100비트 — 극단적인 경우(암호화된 백업, 장기 민감한 데이터, 양자 후 위협)
엔트로피의 모습 practice
문자 세트에서 균일하게 그려진 각 문자는 log2(세트 크기) 비트:
- 소문자: 각각 4.7비트를 추가합니다. "abcdef"에는 28비트가 있습니다.
- 대소문자 혼합 + 숫자: 각각 5.95비트. "Abc123"에는 36비트가 있습니다.
- 전체 키보드(약 94자): 각각 6.55비트. "P@s5w0rd!" 모든 문자가 독립적인 경우 59비트를 갖습니다.
- Diceware(7776 단어 목록의 단어): 단어당 12.92비트. 5단어 구문: 65비트.
주의 사항: 수학에서는 문자가 독립적이고 무작위라고 가정합니다. 사람이 선택한 비밀번호는 그렇지 않습니다. "P@s5w0rd!" 복잡해 보이지만 모든 사전에 포함되어 있습니다. 유효 엔트로피는 본질적으로 0입니다.
L길이가 복잡성을 능가합니다
가장 중요한 단일 규칙: 길이는 문자 다양성보다 중요합니다. 임의의 16자리 소문자 비밀번호(75비트)는 기발한 8자리 대소문자 혼합 비밀번호(실제 엔트로피 최대 50비트)보다 훨씬 더 강력합니다. 크래킹 도구는 인간이 선택한 패턴에 맞게 최적화됩니다. 그들은 문자 클래스에 거의 관심이 없습니다.
기존 규칙이 복잡성을 높이는 이유: 인간 사용자는 임의의 문자를 선택하지 않으므로 일부 대문자/기호 존재를 강제하면 최악의 기본값을 방지할 수 있습니다. 현대의 조언은 구성 규칙보다 암호 길이로 이동했습니다.
Diceware: 실용적인 레시피
사람이 실제로 입력하는 암호의 경우 Diceware가 최고의 표준입니다.
- 주사위를 굴려(또는 CSPRNG를 사용하여) 7,776단어에서 단어를 선택합니다. list.
- 각 단어는 12.92비트의 엔트로피를 제공합니다.
- 5 단어 = 65비트; 6워드 = 78비트; 7단어 = 90비트.
예: 올바른 말 배터리 스테이플 스펀지 — 65비트, 기억하기 쉽고 빠르게 입력할 수 있습니다. 동등한 강도의 임의 문자 비밀번호인 q9!Lf@k3RvN와 비교해 보세요. Diceware 스타일 암호는 강도를 맞추면서 유용성을 높입니다.
암호 관리자 작업 흐름
현실적인 2026 설정:
- 하나의 마스터 암호 — 실제로 기억할 수 있는 강력한 Diceware 암호
- 모든 것 else — 비밀번호 관리자가 생성한 임의의 긴 사이트별 비밀번호입니다(임의의 16~32자). 당신은 그것들을 외우지 않습니다. 관리자가 자동으로 채워줍니다. 중요한 계정의
- 2FA — 강력한 비밀번호 + 두 번째 요소 = 현실적인 방어
Diceware 마스터 비밀번호는 실제로 길이를 느낄 수 있는 유일한 비밀번호입니다. 그 밖의 모든 경우에는 관리자가 32자의 임의 문자열을 쉽게 처리합니다.
도움이 되지 않는 것
- 대체 패턴("@ for a, $ for s"). 크래킹 도구는 이러한 패턴을 기본적으로 처리합니다. "P@ssw0rd"는 본질적으로 "password"만큼 취약합니다.
- 끝에 숫자를 추가합니다. 모든 단어 목록에는 한 자리 숫자 접미사가 있습니다.
- 개인 정보(생일, 애완동물 이름). 소셜 엔지니어링 및 OSINT 복구
- 강제 주기적 순환. 취약하지만 업데이트하기 쉬운 변형을 권장합니다("Password1" → "Password2"). NIST 지침에서는 이제 강력하고 고유한 비밀번호 + 침해 모니터링을 위해 일상적인 교체를 권장하지 않습니다.
- 엄격한 복잡성 규칙. 사용자가 가능한 가장 상상력이 부족한 문자열로 최소값을 달성하기 때문에 길이만 요구하는 것보다 약한 비밀번호를 생성하는 경우가 많습니다.
서버 측에 도움이 되는 기능
심지어 강력한 비밀번호도 서비스의 해싱. 비용이 12인 솔티드 bcrypt로 보호되는 16자 임의 비밀번호는 해독할 수 없습니다. unsalted MD5와 동일한 비밀번호는 몇 초 만에 삭제됩니다. password 해싱 기사를 참조하세요. 사용자는 이를 제어할 수 없습니다. 그들이 할 수 있는 최선의 방법은 2FA를 활성화하여 비밀번호가 유일한 라인이 아니도록 하는 것입니다.
자주 묻는 질문
- 비밀번호는 얼마나 길어야 하나요?
- 수동으로 입력하는 비밀번호의 경우 최소 16자 이상의 임의 자료 또는 5단어 이상의 목록에서 무작위로 추출한 비밀번호 문구입니다. 관리자가 처리하는 비밀번호의 경우: 24자 이상의 임의 자료. 길이는 오프라인 크래킹에 대한 유일한 실제 방어 수단입니다.
- 비밀번호 강도 측정기는 정확합니까?
- 대부분은 쓸모가 없습니다. 엔트로피보다는 구성(대문자, 숫자, 기호의 존재)을 보상합니다. Dropbox의 zxcvbn 라이브러리는 일반적인 공격에 대한 크래킹 가능성을 실제로 예측하는 몇 안 되는 라이브러리 중 하나입니다. 이를 사용하는 사이트는 현실적인 강도 피드백을 제공합니다.
- 비밀번호를 주기적으로 변경해야 하나요?
- 2017년 이후 NIST 지침에 따르면 타협의 증거가 있는 경우에만 교체가 불가능합니다. 일상적인 회전은 예측 가능한 약한 패턴을 조장합니다. 강력한 고유 비밀번호 + 2FA + 위반 모니터링이 강제 순환을 훨씬 능가합니다.
- 문장이 강력한 비밀번호인가요?
- 문장에 따라 다릅니다. 이전에 본 유명한 인용문은 크래킹 사전에 있습니다. 당신이 직접 쓴 문장은 예측할 수 없는 엔트로피를 가지고 있습니다. Diceware(알려진 목록의 임의의 단어)가 더 측정 가능합니다. 어느 쪽이든 문장은 길어야 합니다. 수천 개의 단어 중 6개 이상의 단어가 필요합니다.
- 비밀번호 관리자가 침해되면 어떻게 되나요?
- 저장된 항목은 공격자가 해독해야 하는 암호화된 blob이 됩니다. 강력한 마스터 비밀번호(Diceware, 관리자의 하드웨어 키 2FA)와 공격자 방지 해싱 체계(bcrypt, 고비용 Argon2)를 사용하면 블롭을 효과적으로 해독할 수 있습니다. LastPass 2022 위반은 강력한 마스터 비밀번호를 가진 사용자가 영향을 받지 않는다는 것을 보여주었습니다. 약한 사용자는 모든 것을 잃었습니다.