새 사이트에 가입할 때마다 비밀번호를 뭐로 할지 고민이다. '대문자, 소문자, 숫자, 특수문자 포함 8자 이상'이라는 조건을 매번 만족시키면서 기억까지 되는 조합을 떠올리기는 쉽지 않다. 안전한 비밀번호 만들기가 이렇게 귀찮은 일이었나 싶다.
직접 만든 비밀번호가 위험한 이유
사람이 비밀번호를 짜면 무의식적으로 패턴이 생긴다. 이름 이니셜 + 생년월일, 좋아하는 단어 + 숫자 1234, 특수문자는 대부분 ! 또는 @. 이런 조합은 사전 공격(dictionary attack)에 쉽게 뚫린다.
- ✗ qwerty123! (키보드 배열 패턴)
- ✗ Kimjs0615! (이름 + 생년월일)
- ✗ P@ssword1 (너무 흔한 변형)
- ✓ kF9#mQ2$vL8!xN (랜덤 조합, 패턴 없음)
길이가 길어도 예측 가능한 패턴이면 의미가 없다. 진짜 안전한 비밀번호는 사람이 떠올릴 수 없는 조합이어야 한다.
안전한 비밀번호의 조건
| 항목 | 권장 기준 |
|---|---|
| 길이 | 최소 12자 이상 (16자 권장) |
| 문자 구성 | 대문자 + 소문자 + 숫자 + 특수문자 |
| 패턴 | 단어, 생년월일, 연속 숫자 금지 |
| 재사용 | 사이트마다 다른 비밀번호 사용 |
참고 8자리 영문+숫자 조합은 몇 시간 내에 해독될 수 있다. 12자 이상에 특수문자를 포함하면 해독 시간이 수십 년 이상으로 늘어난다.
생성기를 쓰면 달라지는 점
비밀번호 생성기는 암호학적 난수를 기반으로 완전한 무작위 조합을 만들어낸다. 사람의 습관이나 패턴이 개입하지 않기 때문에, 같은 길이라도 보안 강도가 훨씬 높다. 랜덤 비밀번호 생성기에서 길이와 문자 유형을 설정하면 조건에 맞는 비밀번호가 즉시 만들어진다. 강도 표시도 함께 나오니까, 생성 후 바로 안전성을 확인할 수 있다.
매번 새로운 비밀번호를 외우기 어렵다면, 비밀번호 관리자(1Password, Bitwarden 등)와 함께 쓰는 게 현실적이다. 생성기로 만들고, 관리자에 저장하면 기억할 필요가 없어진다.