본문 바로가기

안전한 비밀번호 규칙 총정리 - 해커가 뚫지 못하는 비밀번호 만드는 법 5가지

특수문자 조합보다 중요한 것은 길이입니다. NIST 최신 가이드라인 기준으로 안전한 비밀번호 규칙과 이미 폐기된 낡은 보안 상식, 유출 확인 방법까지 한번에 정리했습니다.


안전한 비밀번호 규칙 총정리 - 해커가 뚫지 못하는 비밀번호 만드는 법 5가지

회원가입을 할 때마다 "특수문자를 포함해 주세요"라는 안내를 보며 한숨을 쉬어본 경험, 다들 있으실 겁니다. 어렵게 만든 비밀번호를 결국 잊어버려서 재설정하는 일도 흔합니다. 그런데 우리가 오랫동안 믿어온 비밀번호 상식 중 상당수는 이미 보안 전문가들 사이에서 폐기됐습니다. 미국 국립표준기술연구소(NIST)는 디지털 신원 가이드라인(SP 800-63B)에서 강제적인 주기적 변경이나 복잡한 특수문자 요구 대신 충분한 길이와 유출 목록 대조를 권장하고 있습니다. 안전한 비밀번호 규칙, 무엇이 진짜인지 지금부터 하나씩 확인해 보겠습니다.

비밀번호는 어떻게 뚫리는가

방어법을 알려면 공격 방식부터 이해해야 합니다. 실제 계정 탈취는 대부분 아래 세 가지 방식으로 일어납니다.

  • 무차별 대입 공격(브루트 포스): 가능한 모든 조합을 기계적으로 대입합니다. 그래픽카드 여러 대를 병렬로 돌리면 초당 수십억 개 이상의 조합을 시도할 수 있습니다.
  • 사전 공격: 자주 쓰이는 단어, 이름, 유출된 비밀번호 목록을 우선 대입합니다. "password1", "qwer1234" 같은 비밀번호가 순식간에 뚫리는 이유입니다.
  • 크리덴셜 스터핑: 한 사이트에서 유출된 아이디와 비밀번호 조합을 다른 사이트에 그대로 대입합니다. 비밀번호를 재사용하면 내 잘못이 없어도 계정이 털립니다.

여기서 중요한 사실이 하나 나옵니다. 무차별 대입 공격의 난이도는 조합의 경우의 수, 즉 비밀번호 길이에 지수적으로 비례합니다. 특수문자 한 개를 추가하는 것보다 글자 수를 네 자리 늘리는 쪽이 훨씬 안전해집니다.

안전한 비밀번호 규칙 5가지

NIST 가이드라인과 한국인터넷진흥원(KISA)의 권고를 바탕으로 실전에서 지켜야 할 안전한 비밀번호 규칙을 정리하면 다음과 같습니다.

1. 최소 12자리 이상으로 만들기

길이가 곧 보안입니다. 아래 표는 문자 구성과 길이에 따른 무차별 대입 공격 저항력을 정리한 것입니다.

문자 구성8자리12자리16자리
숫자만즉시 해독매우 취약취약
영문 소문자만매우 취약취약안전
대소문자 + 숫자취약안전매우 안전
대소문자 + 숫자 + 특수문자주의 필요매우 안전사실상 해독 불가

같은 특수문자 조합이라도 8자리와 16자리의 안전성 차이는 수십억 배 이상 벌어집니다.

2. 단어 대신 문장으로 만들기

"Tr0ub4dor!" 같은 억지 조합보다 "우리집앞카페아메리카노4500원"처럼 나만 아는 문장형 비밀번호(패스프레이즈)가 더 길고, 더 기억하기 쉽고, 더 안전합니다. 영문 사이트라면 서로 관련 없는 단어 서너 개를 이어 붙이는 방식이 효과적입니다.

3. 사이트마다 다른 비밀번호 쓰기

크리덴셜 스터핑을 막는 유일한 방법입니다. 최소한 이메일, 금융, 포털 계정만큼은 반드시 서로 다른 비밀번호를 사용해야 합니다.

4. 개인정보와 키보드 패턴 배제하기

생일, 전화번호, 이름, "qwerty", "asdf1234" 같은 패턴은 사전 공격 목록의 최상단에 있습니다. 나와 연관성이 있는 정보일수록 공격자가 가장 먼저 시도하는 값이라는 점을 기억해야 합니다.

5. 이미 유출된 비밀번호인지 확인하기

아무리 길어도 이미 유출 데이터베이스에 올라 있는 비밀번호라면 의미가 없습니다. NIST도 신규 비밀번호를 유출 목록과 대조하라고 명시하고 있습니다. 확인 방법은 마지막 섹션에서 다룹니다.

안전한 비밀번호의 핵심은 복잡성이 아니라 길이와 예측 불가능성입니다. 기억하기 어려운 8자리보다 기억하기 쉬운 16자리 문장이 훨씬 강력합니다.

버려야 할 낡은 비밀번호 상식

한때 정답으로 통했지만 지금은 오히려 보안을 해치는 규칙들이 있습니다.

  • "3개월마다 반드시 변경해야 한다": NIST는 유출 정황이 없는 한 강제 변경을 권장하지 않습니다. 주기적 변경을 강요하면 사용자는 "비밀번호1"을 "비밀번호2"로 바꾸는 식의 예측 가능한 패턴을 만들기 때문입니다.
  • "특수문자 치환이면 충분하다": "P@ssw0rd"처럼 a를 @로, o를 0으로 바꾸는 방식은 공격 도구가 기본으로 시도하는 치환 규칙입니다. 안전성 향상 효과가 거의 없습니다.
  • "수첩에 적으면 무조건 위험하다": 온라인 공격자는 내 책상 서랍을 열 수 없습니다. 짧고 뻔한 비밀번호를 외우는 것보다, 길고 강력한 비밀번호를 안전한 곳에 기록하는 편이 낫습니다. 물론 가장 좋은 방법은 다음 섹션의 비밀번호 관리자입니다.

비밀번호 관리자와 2단계 인증

사이트마다 12자리 이상의 서로 다른 비밀번호를 전부 외우는 것은 현실적으로 불가능합니다. 그래서 필요한 것이 비밀번호 관리자입니다. Bitwarden, 1Password 같은 서비스나 브라우저 내장 관리자를 쓰면 마스터 비밀번호 하나만 기억하면 되고, 나머지는 자동 생성된 무작위 비밀번호로 채울 수 있습니다.

사람이 만든 문자열은 아무리 애써도 패턴이 생기기 마련이라, 무작위성이 필요한 값은 도구에 맡기는 편이 확실합니다. 예를 들어 보안 질문의 답변처럼 추측 불가능한 값이 필요할 때 UUID 생성기로 만든 무작위 문자열을 등록해 두면, "어머니 성함" 같은 질문에 실제 정보를 노출하지 않아도 됩니다.

여기에 2단계 인증(2FA)까지 켜면 비밀번호가 유출되더라도 공격자가 로그인하지 못합니다. 문자 인증보다는 Google OTP 같은 인증 앱 방식이 더 안전하며, 설정에 걸리는 시간은 계정당 1분 남짓입니다.

팁: 2단계 인증은 모든 계정에 걸 필요는 없습니다. 이메일, 금융, 클라우드 저장소, 주력 SNS처럼 탈취 시 피해가 큰 계정부터 우선 적용하면 부담 없이 시작할 수 있습니다.

유출 여부 확인과 계정 점검

내 계정 정보가 이미 유출됐는지 확인하는 대표적인 방법은 Have I Been Pwned(haveibeenpwned.com)에 이메일 주소를 입력해 보는 것입니다. 과거 유출 사고에 내 이메일이 포함됐는지 무료로 조회할 수 있습니다. 국내에서는 KISA의 '털린 내 정보 찾기' 서비스로도 확인이 가능합니다.

또 하나의 습관은 로그인 알림을 켜 두는 것입니다. 낯선 기기나 지역에서 접속 알림이 왔다면 알림에 표시된 접속 IP를 IP 주소 조회 도구로 확인해 보세요. 접속 위치와 통신사를 보면 내 접속인지 제3자의 접속인지 판단하는 데 도움이 됩니다. 의심스럽다면 즉시 비밀번호를 변경하고 전체 기기에서 로그아웃해야 합니다.

참고: NIST SP 800-63B는 비밀번호 정책의 국제적 기준으로 통용되는 문서입니다. 최소 8자 이상 허용, 최대 64자 이상 지원, 유출 목록 대조, 불필요한 복잡성 규칙 지양 등이 핵심 내용이며 국내 기업들도 점차 이 기준을 따르고 있습니다.

오늘 당장 실천할 액션은 두 가지입니다. 첫째, 이메일과 금융 계정의 비밀번호를 12자리 이상의 문장형으로 바꾸고 2단계 인증을 켜세요. 둘째, Have I Been Pwned에서 내 이메일의 유출 이력을 확인하고, 유출된 적 있는 비밀번호는 지금 바로 폐기하세요. 이 두 가지만으로도 계정 탈취 위험의 대부분을 차단할 수 있습니다.

3일 무료체험큰손탐지기, 지금 바로 시작하세요

설치 없이 웹에서 바로 사용 가능 · PC & 모바일 지원

무료체험 시작
카카오톡 상담