qwerty1234, 생년월일 뒤에 느낌표 하나. 비밀번호를 만들 때 대부분 이 정도 수준에서 끝낸다. 문제는 이런 패턴을 해커들도 잘 알고 있다는 점이다. 사전 공격(dictionary attack)이라는 방식은 흔히 쓰이는 비밀번호 조합을 순서대로 대입하는 건데, 예측 가능한 비밀번호는 1초도 안 걸린다.
비밀번호 길이별 해킹 소요 시간
비밀번호의 안전도는 길이와 문자 종류 조합에 따라 극적으로 달라진다. 아래는 일반적인 브루트포스 공격 기준 추정치다.
| 조합 | 8자리 | 12자리 | 16자리 |
|---|---|---|---|
| 소문자만 | 수 초 | 수 주 | 수백 년 |
| 소문자 + 숫자 | 수 분 | 수 개월 | 수만 년 |
| 대소문자 + 숫자 | 수 시간 | 수십 년 | 수억 년 |
| 대소문자 + 숫자 + 특수문자 | 수 일 | 수천 년 | 사실상 불가 |
8자리 소문자 비밀번호와 16자리 혼합 비밀번호의 차이가 "수 초"와 "사실상 불가" 사이다. 길이를 늘리고 문자 종류를 섞는 것만으로 보안 강도가 비약적으로 올라간다.
안전한 비밀번호 조건
- ✓ 최소 12자리 이상 (16자리 이상이면 더 안전)
- ✓ 대문자, 소문자, 숫자, 특수문자를 모두 포함
- ✓ 사이트마다 서로 다른 비밀번호 사용
- ✗ 연속된 문자열: 1234, abcd, qwerty
- ✗ 개인 정보: 생년월일, 전화번호, 이름
- ✗ 단어 조합: password, iloveyou, admin
참고 2025년 기준 가장 많이 쓰이는 비밀번호 1위는 여전히 "123456"이다. 이런 비밀번호를 쓰는 것은 현관문을 열어두는 것과 다를 바 없다.
비밀번호를 직접 만들기 어려울 때
조건을 다 충족하는 비밀번호를 머리로 만들어내는 건 쉽지 않다. 특히 사이트마다 다른 비밀번호를 써야 한다면 더더욱 그렇다. 이런 경우 랜덤 비밀번호 생성기를 활용하면 된다. 길이와 포함할 문자 유형(대문자, 소문자, 숫자, 특수문자)을 선택하면 암호학적으로 안전한 난수 기반 비밀번호가 즉시 만들어진다.
브라우저에서 바로 생성되고 서버로 전송되지 않으니 비밀번호가 외부에 노출될 걱정은 없다. 생성된 비밀번호는 클립보드에 바로 복사할 수 있다.
비밀번호 관리 팁 3가지
- 비밀번호 관리자 사용: 크롬, 사파리 등 브라우저 내장 비밀번호 관리자에 저장하면 사이트별로 다른 비밀번호를 외울 필요가 없다.
- 2단계 인증(2FA) 활성화: 비밀번호가 유출되더라도 2차 인증이 있으면 계정을 지킬 수 있다. 금융, 이메일 계정에는 반드시 설정하자.
- 주기적 변경보다 강도가 중요: 90일마다 바꾸라는 정책이 있지만, 강력한 비밀번호를 쓰고 있다면 무리하게 자주 바꿀 필요는 없다. 유출 의심 시에만 즉시 변경하면 된다.
비밀번호 하나 잘 만들어두면 계정 탈취를 막는 첫 번째 방어선이 된다. 만드는 데 10초, 바꾸는 데 1분이면 충분하다.