보안

비밀번호는 몇 자리가 안전할까? 숫자로 따져 봤어요

길이와 문자 종류에 따라 가능한 비밀번호 수가 얼마나 달라지는지, 빠른 오프라인 공격에서 각각 얼마나 버티는지 계산하고, 지금 쓸 만한 길이를 정리했어요.

복잡함보다 길이

글자 하나가 늘 때마다 가능한 비밀번호의 수는 문자 종류의 개수만큼 곱해져요. 문자 종류를 늘리면 곱하는 수가 커지지만, 길이를 늘리면 그 곱하기가 계속 반복돼요. 그래서 소문자만 쓴 16자리가 온갖 기호를 섞은 8자리보다 훨씬 강해요.

이 강도는 비트로 나타내요. 길이 × log2(쓸 수 있는 문자 수). 1비트가 늘 때마다 공격자가 해야 할 일이 두 배가 돼요.

한눈에 보는 표

가정: 무작위로 만든 비밀번호(단어를 살짝 바꾼 게 아니라), 빠른 해시로 저장된 비밀번호 데이터베이스를 훔친 공격자가 초당 100억 번 대입, 평균적으로 전체의 절반을 시도하면 찾는다고 볼 때예요.

  • 숫자만(10종): 8자리 ≈ 27비트, 즉시 뚫려요. 16자리 ≈ 53비트, 약 6일.
  • 소문자(26종): 8자리 ≈ 38비트, 약 10초. 12자리 ≈ 56비트, 약 55일. 16자리 ≈ 75비트, 약 6만 9천 년.
  • 대소문자(52종): 8자리 ≈ 46비트, 약 45분. 12자리 ≈ 68비트, 약 600년.
  • 대소문자+숫자(62종): 8자리 ≈ 48비트, 약 3시간. 12자리 ≈ 71비트, 약 5천 년.
  • 대소문자+숫자+기호(87종): 8자리 ≈ 51비트, 약 2일. 12자리 ≈ 77비트, 약 30만 년. 16자리 ≈ 103비트, 현실적인 공격으로는 불가능.

이 숫자는 위의 공식으로 직접 계산했어요. 잘 운영되는 서비스는 느린 해시를 써서 실제 공격은 이보다 느린 경우가 많지만, 대비는 최악의 경우를 기준으로 하는 게 맞아요.

그래서 몇 자리로 할까

  • 비밀번호 관리자에 저장하는 계정: 모든 종류를 섞은 무작위 16자리 이상. 직접 칠 일이 없으니 길어도 손해가 없어요.
  • 직접 치거나 외워야 하는 비밀번호(컴퓨터 로그인, 비밀번호 관리자의 마스터 비밀번호): 무작위 단어 4~6개를 이은 패스프레이즈나 무작위 12자리 이상.
  • 와이파이: 무작위 12~16자리. QR코드 만들기로 QR코드를 만들어 공유하면 아무도 입력할 필요가 없어요.
  • PIN 번호: 휴대폰이나 카드처럼 시도 횟수를 제한하는 곳에서만 안전해요.

‘무작위’가 가장 중요해요

표의 숫자는 모든 글자를 무작위로 골랐을 때만 맞아요. *Summer2026!*처럼 사람이 만든 비밀번호는 길이도 종류도 갖췄지만, 단어 + 연도 + 끝에 기호라는 패턴 때문에 공격자가 가장 먼저 시도하는 후보예요. a를 @로, o를 0으로 바꾸는 것도 해킹 도구가 다 시도해서 큰 도움이 안 돼요. 한글 단어를 영문 자판으로 친 비밀번호(예: ‘사랑해’ → tkfkdgo)도 잘 알려진 패턴이에요.

비밀번호 생성기는 브라우저의 암호학적 난수로 모든 글자를 고르고, 고른 설정의 비트 수와 예상 시간을 보여 줘요. 비밀번호는 내 기기에서 만들어지고 어디에도 전송되지 않아요.

길이보다 더 중요한 것

  • 비밀번호를 재사용하지 마세요. 한 사이트에서 유출되면 공격자는 같은 이메일과 비밀번호를 다른 곳에도 넣어 봐요. 사이트마다 다른 비밀번호면 피해가 한 계정에서 끝나요.
  • 이메일, 금융, SNS에는 2단계 인증을 켜세요. 비밀번호를 피싱으로 빼앗겨도 지켜 줘요.
  • 정기적으로가 아니라 유출 소식이 있을 때 바꾸세요. 억지로 자주 바꾸게 하면 오히려 약하고 뻔한 비밀번호가 만들어지기 쉬워요.

이 가이드에서 쓰는 도구