안전한 비밀번호 만드는 법 — 해킹 당하지 않는 비밀번호 전략
왜 비밀번호가 중요한가?
Verizon DBIR 보고서에 따르면, 해킹으로 인한 데이터 유출의 약 80%가 탈취되거나 재사용된 자격증명(비밀번호)을 통해 발생합니다. 이메일, 은행, SNS, 쇼핑몰까지 — 우리 삶의 거의 모든 것이 비밀번호 하나에 달려 있습니다.
그럼에도 불구하고 가장 많이 사용되는 비밀번호 목록을 보면 ‘123456’, ‘password’, ‘qwerty123’ 같은 것들이 매년 상위권을 차지합니다. 이런 비밀번호는 해커의 자동화 도구로 1초도 안 되어 뚫립니다.
강력한 비밀번호의 3가지 조건
1. 길이가 충분해야 한다
비밀번호 보안에서 가장 중요한 요소는 길이입니다. 짧은 비밀번호는 현대 GPU로 빠르게 크래킹할 수 있지만, 긴 비밀번호는 사실상 불가능합니다.
아래 표는 단순 해시(MD5/SHA1 등) 기준의 상대적 강도입니다. bcrypt 같은 느린 해시를 사용하면 시간이 훨씬 더 걸립니다.
| 길이 | 소문자만 | 대소문자+숫자+특수문자 |
|---|---|---|
| 8자 | 매우 취약 | 취약 |
| 12자 | 취약 | 강함 |
| 16자 | 보통 | 매우 강함 |
최소 12자 이상을 권장합니다. 16자 이상이면 더욱 안전합니다.
2. 다양한 문자 종류를 포함해야 한다
대문자, 소문자, 숫자, 특수문자를 모두 섞으면 가능한 조합의 수가 기하급수적으로 증가합니다.
- 소문자만 사용: 26가지 × 길이
- 대소문자 + 숫자: 62가지 × 길이
- 대소문자 + 숫자 + 특수문자: 94가지 × 길이
같은 12자리라도 소문자만 쓴 경우보다 네 종류를 모두 혼합하면 약 500만 배 더 많은 조합이 생깁니다. 문자 종류가 늘어날수록 경우의 수가 기하급수적으로 증가하기 때문입니다.
3. 예측 불가능해야 한다
사전에 있는 단어, 생년월일, 전화번호, 이름 등 추측 가능한 정보는 피해야 합니다. 해커들은 “사전 공격(dictionary attack)“이라는 방법으로 일반적인 단어와 패턴 조합을 먼저 시도합니다.
나쁜 예:
Chulsu1990!
이름 + 생년월일 + 특수문자 하나 — 이런 패턴은 금방 추측됩니다.
좋은 예:
k7$Qm!xR4wZp#2nB
랜덤 생성된 비밀번호 — 어떤 패턴도 없어서 추측이 불가능합니다.
흔히 하는 비밀번호 실수 5가지
1. 모든 사이트에 같은 비밀번호 사용
하나의 사이트가 해킹되면 그 비밀번호로 다른 모든 계정이 위험해집니다. 이것을 “크리덴셜 스터핑(credential stuffing)” 공격이라고 합니다. 2024년에도 대형 유출 사고 후 연쇄적인 계정 탈취 사건이 반복되었습니다.
2. 짧은 비밀번호
8자 이하의 비밀번호는 현대 컴퓨팅 파워로 쉽게 크래킹됩니다. 특히 GPU를 활용한 공격은 초당 수십억 개의 비밀번호 조합을 시도할 수 있습니다.
3. 개인정보 기반 비밀번호
생일, 전화번호, 반려동물 이름, 좋아하는 팀 이름 등은 SNS에서 쉽게 찾을 수 있는 정보입니다. 해커들은 타겟의 소셜 미디어를 먼저 분석합니다.
4. 키보드 패턴
qwerty, 1q2w3e4r, asdf1234 같은 키보드 배열 패턴은 가장 먼저 시도되는 공격 대상입니다.
5. 비밀번호를 메모장이나 포스트잇에 적기
물리적으로 노출되거나 캡처 화면에 의해 유출될 수 있습니다. 비밀번호 관리자(password manager)를 사용하는 것이 훨씬 안전합니다.
비밀번호 관리 실전 전략
방법 1: 비밀번호 관리자 사용
Bitwarden, 1Password, KeePass 같은 비밀번호 관리자를 사용하면 각 사이트마다 고유한 랜덤 비밀번호를 생성하고 안전하게 저장할 수 있습니다. 마스터 비밀번호 하나만 기억하면 됩니다.
방법 2: 패스프레이즈(Passphrase) 활용
기억하기 쉬우면서도 긴 비밀번호를 만드는 방법입니다. 무관한 단어 4~5개를 조합합니다:
바나나-우산-기차-화성-17
이런 패스프레이즈는 16자 이상이면서도 기억하기 쉽고, 무작위 대입 공격에도 강합니다.
방법 3: 2단계 인증(2FA) 병행
아무리 강한 비밀번호도 유출될 수 있습니다. 2단계 인증을 활성화하면 비밀번호가 노출되더라도 추가 인증 없이는 접근할 수 없습니다. Google Authenticator, Microsoft Authenticator 등의 앱을 활용하세요. SMS 인증보다 인증 앱이 더 안전합니다.
비밀번호 강도 확인하기
본인의 비밀번호가 얼마나 안전한지 확인하고 싶다면, 비밀번호 생성기를 사용해보세요. 다양한 옵션으로 강력한 비밀번호를 즉시 생성할 수 있고, 강도 표시 바로 보안 수준을 한눈에 확인할 수 있습니다. 모든 생성 과정은 브라우저에서만 처리되어 서버로 전송되지 않으니 안심하세요.
비밀번호 체크리스트
사이트별 비밀번호를 점검할 때 이 체크리스트를 활용하세요:
- 12자 이상인가?
- 대문자, 소문자, 숫자, 특수문자를 모두 포함하는가?
- 사전 단어나 개인정보를 포함하지 않는가?
- 다른 사이트와 중복되지 않는가?
- 2단계 인증이 활성화되어 있는가?
모두 “예”라면 당신의 계정은 상당히 안전합니다.