비밀번호 엔트로피란? 특수문자보다 길이가 유리한 이유

비밀번호를 입력하면 "강함"이나 "취약"이 뜨는 화면을 보신 적 있으실 겁니다. 그 판정의 밑바탕에 자주 깔리는 값이 엔트로피(비트) 라는 숫자입니다. 저희 도구도 이 값으로 등급을 나눕니다.

이 글은 그 숫자가 어떻게 계산되는지, 그리고 왜 특수문자를 하나 끼워 넣는 것보다 몇 글자 더 붙이는 쪽이 숫자를 크게 올리는지를 계산식으로 보여 드립니다. 계산기 하나면 직접 확인하실 수 있습니다.

요약 ① 엔트로피 비트 = 길이 × log2(문자 종류 수) 입니다. 비트가 1 오르면 가능한 조합이 2배가 됩니다. ② 문자 종류는 log2 안에 갇혀 있어 26종을 95종으로 넓혀도 글자당 1.87비트만 오릅니다. 반면 길이는 곱셈 계수라 한 글자마다 4.70~6.57비트가 통째로 더해집니다. ③ 이 숫자는 "모든 글자를 무작위로 뽑았다"는 가정 위의 상한값입니다. 사람이 고른 단어·연도가 섞이면 실제 추측 난이도는 더 낮습니다.

"강함"이라는 판정은 어디서 나온 말일까

같은 비밀번호를 넣었는데 어떤 사이트는 통과시키고 어떤 사이트는 "약함"이라고 되돌려 보내는 경험, 흔합니다. 판정 방식이 서비스마다 다르기 때문입니다. 흔한 단어 사전이나 키보드 배열 패턴을 함께 보는 곳도 있고, 계산된 숫자 하나를 구간으로 잘라 등급을 붙이는 곳도 있습니다.

그 구간을 자르는 데 쓰이는 숫자가 엔트로피입니다. 단위는 비트이고, "이 비밀번호를 맞히려면 몇 번쯤 찍어 봐야 하는가"를 2의 거듭제곱으로 표현한 값입니다.

문제는 화면에 "강함"만 뜨고 근거 숫자는 안 보이는 경우가 많다는 점입니다. 근거를 알면 어디를 고쳐야 비트가 오르는지도 같이 보입니다.

엔트로피 비트 계산하기 — 계산기만 있으면 됩니다

공식은 한 줄입니다.

엔트로피(비트) = 길이 × log2(문자 종류 수)

문자 종류 수는 "이 비밀번호가 어떤 문자 집합에서 뽑혔다고 볼 것인가"입니다. 소문자만 썼으면 26, 여기에 대문자를 더하면 52, 숫자까지 더하면 62가 되는 식입니다.

글자당 비트는 이미 정해져 있습니다

log2 값은 문자 종류에만 달려 있으므로 미리 계산해 두면 곱셈만 남습니다.

사용한 문자종류 수글자당 비트
숫자만103.32
소문자만264.70
소문자 + 숫자365.17
대소문자 + 숫자625.95
대소문자 + 숫자 + 특수문자956.57

저희 도구는 소문자 26, 대문자 26, 숫자 10, 특수문자 33으로 잡습니다. 네 가지를 모두 쓰면 26+26+10+33 = 95종이 됩니다.

브라우저 개발자 도구(대개 F12)의 콘솔에 그대로 입력해 확인하실 수도 있습니다.

Math.log2(26) * 12   // → 56.40   소문자만 12자
Math.log2(95) * 8    // → 52.56   네 종류 혼합 8자

길이 늘리기와 문자 종류 늘리기, 어느 쪽이 클까

여기가 핵심입니다. 8자 비밀번호를 놓고 두 방향으로 비교해 보겠습니다.

문자 종류를 늘리는 쪽. 소문자만 8자는 8 × 4.70 = 37.6비트입니다. 여기에 대문자·숫자·특수문자를 모두 섞으면 8 × 6.57 = 52.6비트로, 약 15비트가 오릅니다.

길이를 늘리는 쪽. 소문자만 유지한 채 8자를 12자로 늘리면 12 × 4.70 = 56.4비트로, 약 18.8비트가 오릅니다. 문자 종류를 전부 동원한 8자보다 비트가 더 큽니다.

이유는 공식의 위치에 있습니다. 문자 종류는 log2 안쪽이라 26을 95로(3.65배) 넓혀도 글자당 6.57 − 4.70 = 1.87비트밖에 오르지 않습니다. 반면 길이는 바깥의 곱셈 계수라, 한 글자를 붙일 때마다 글자당 비트가 그대로 더해집니다.

문자 종류에는 천장이 있고 길이에는 없습니다

표준 키보드로 칠 수 있는 문자는 100종 남짓입니다. 즉 글자당 비트는 6.57 근처에서 더 올라가지 않습니다. 반면 길이는 서비스가 허용하는 한 계속 늘릴 수 있습니다.

저희 도구로 확인하기. 표를 보고 곱셈을 하는 대신, 비밀번호를 입력하면 글자 수·문자 종류 수·추정 엔트로피·가능한 조합 수가 한 화면에 같이 나옵니다.

비밀번호 강도 검사기

설치·회원가입 없이 브라우저 안에서만 계산되며, 입력한 비밀번호는 서버로 전송·저장되지 않습니다.

비트가 오르면 시간은 얼마나 늘어날까

조합 수를 공격 속도로 나누면 예상 해독 시간이 됩니다. 저희 도구가 쓰는 가정은 세 가지입니다.

  • 평균 시도 횟수 = 전체 조합 ÷ 2 (평균적으로 절반쯤에서 맞습니다)
  • 오프라인 고속 크래킹: 초당 100억 회
  • 온라인 추측 공격: 초당 1천 회

이 가정으로 계산하면 네 종류를 섞은 8자(52.6비트)는 오프라인 기준 약 3.8일, 소문자만 쓴 12자(56.4비트)는 약 55일이 나옵니다.

3.85비트 차이가 14배 넘는 시간 차이로 벌어집니다. 비트가 1 오를 때마다 걸리는 시간이 2배가 되기 때문입니다. 이것이 "길이가 지수적으로 유리하다"는 말의 실제 내용입니다.

도구가 나누는 구간

저희 도구는 계산한 엔트로피를 다섯 구간으로 자릅니다.

추정 엔트로피표시
28비트 미만매우 취약
28 ~ 36비트취약
36 ~ 60비트보통
60 ~ 128비트강함
128비트 이상매우 강함

다만 널리 알려진 비밀번호 목록에 걸리면 비트와 무관하게 최하 등급이 되고, 같은 글자가 3회 연속 반복되거나 abc·123 같은 연속 패턴이 있으면 한 단계 내려갑니다.

이 숫자가 말해 주지 않는 것

엔트로피는 강력한 지표지만 만능은 아닙니다. 아래 세 가지는 숫자가 커도 그대로 남습니다.

첫째, 무작위 가정입니다. 이 계산은 모든 글자를 문자 집합에서 무작위로 뽑았다고 전제합니다. 사람이 고른 이름·단어·생년은 훨씬 적은 후보 안에 있으므로, 실제 추측 난이도는 표시된 비트보다 낮습니다. 도구가 값을 "추정 엔트로피"라고 부르는 이유입니다.

둘째, 공격 속도는 가정값입니다. 초당 100억 회는 하나의 시나리오일 뿐이고, 실제 속도는 서비스가 비밀번호를 어떤 방식으로 저장하는지에 따라 크게 달라집니다. 그래서 이 숫자로 특정 서비스가 안전하다거나 위험하다고 판단할 수는 없습니다.

셋째, 재사용은 비트로 막을 수 없습니다. 다른 곳에서 그대로 쓴 비밀번호가 유출되면 공격자는 추측할 필요가 없습니다. 비트는 "찍어서 맞히기"의 난이도만 나타냅니다.

구성 규칙 대신 길이를 요구하는 기준도 있습니다

미국 NIST의 디지털 신원 지침 SP 800-63B(개정 4판)은 검증자가 문자 종류 혼합 같은 구성 규칙을 부과하지 못하도록 규정하고, 비밀번호만으로 인증할 때는 최소 15자, 다중 인증의 일부로 쓸 때는 최소 8자를 요구하며, 최대 64자 이상을 허용하도록 권고합니다.

정리

  • 엔트로피 비트 = 길이 × log2(문자 종류 수). 비트가 1 오르면 조합도 시간도 2배가 됩니다.
  • 문자 종류는 log2 안쪽이라 26 → 95로 넓혀도 글자당 1.87비트만 오릅니다.
  • 길이는 곱셈 계수라 한 글자마다 4.70~6.57비트가 더해지고, 천장이 없습니다.
  • 그래서 소문자만 쓴 12자(56.4비트)가 네 종류를 섞은 8자(52.6비트)보다 비트가 큽니다.
  • 이 값은 무작위 가정 위의 상한값이며, 흔한 단어나 재사용 여부는 별도로 챙기셔야 합니다.
비밀번호 강도 검사기

설치·회원가입 없이 브라우저 안에서만 계산되며, 입력한 비밀번호는 서버로 전송·저장되지 않습니다.

자주 묻는 질문

엔트로피가 몇 비트면 안전한가요?

모든 상황에 통하는 절대 기준은 없습니다. 계산 자체가 공격 속도 가정에 기대고 있기 때문입니다. 저희 도구는 60비트 이상을 "강함", 128비트 이상을 "매우 강함"으로 표시하고, 별도로 8자 이상과 12자 이상(권장) 항목을 체크리스트로 보여 줍니다. 숫자를 목표로 삼기보다 길이를 확보하는 편이 확실합니다.

특수문자를 꼭 넣어야 하나요?

계산상 특수문자의 기여는 글자당 1.87비트 수준으로 제한적이고, NIST SP 800-63B는 문자 종류 혼합 같은 구성 규칙을 부과하지 말라고 규정합니다. 다만 가입하려는 서비스가 특수문자를 요구한다면 그 규칙은 따라야 합니다. 그때도 규칙을 맞추는 최소한만 넣고, 남는 여력은 길이에 쓰는 편이 비트를 더 올립니다.

도구가 보여 주는 "약 10^12 년"은 실제 시간인가요?

아닙니다. 초당 100억 회를 시도한다는 가정 위에서, 전체 조합의 절반을 훑는 데 걸리는 시간을 계산한 값입니다. 비밀번호끼리 난이도를 비교하는 데는 유용하지만, 실제 공격에 그만큼 걸린다는 보장이 아닙니다. 서비스의 저장 방식이나 잠금 정책에 따라 완전히 달라집니다.

한글로 비밀번호를 만들면 비트가 크게 오르지 않나요?

저희 도구는 아스키 범위를 벗어난 문자가 있으면 문자 종류에 100을 더해 계산하므로 표시되는 비트는 확실히 올라갑니다. 다만 서비스마다 한글 입력을 허용하지 않거나 처리 방식이 달라 로그인 자체가 막힐 수 있고, 다른 기기나 키보드에서는 입력이 어려울 수 있습니다. 실무에서는 길이를 늘리는 쪽이 더 안전한 선택입니다.

가격 보기카톡 무료 상담