계정이 해킹당했다는 알림 메일을 받고 비밀번호를 바꾸려는데, 뭘로 바꿔야 할지 막막하다. 생년월일은 안 되고, 이름 조합도 위험하고, 이전 비밀번호도 재사용 불가. 이럴 때 머리 쓸 필요 없이 자동으로 만들면 된다.
뚫리기 쉬운 비밀번호 특징
보안 업체에서 공개한 유출 데이터를 보면, 해마다 가장 많이 쓰이는 비밀번호 상위권은 거의 바뀌지 않는다.
123456,password,qwerty— 매년 1~3위- 생년월일 조합 (예:
19901225) - 이름 + 숫자 (예:
minjun123) - 같은 문자 반복 (예:
aaaaaa) - 키보드 연속 입력 (예:
1q2w3e4r)
이런 비밀번호는 자동화된 사전 공격(Dictionary Attack)에 몇 초면 뚫린다. 문제는 기억하기 쉬운 비밀번호일수록 해커도 쉽게 추측한다는 것이다.
안전한 비밀번호 조건
- ✓ 12자리 이상 (길수록 좋다)
- ✓ 대문자 + 소문자 + 숫자 + 특수문자 조합
- ✓ 사이트마다 다른 비밀번호 사용
- ✓ 의미 없는 랜덤 문자열
- ✗ 사전에 있는 단어 사용 금지
- ✗ 개인 정보(생년월일, 전화번호) 포함 금지
TIP 비밀번호 길이가 8자에서 12자로 늘어나면, 무차별 대입 공격(Brute Force)에 걸리는 시간이 수천 배 이상 길어진다. 특수문자 하나 추가하는 것보다 길이를 늘리는 게 보안 효과가 크다.
규칙에 맞는 비밀번호 자동으로 만들기
머리로 랜덤 문자열을 만들어내는 건 사실 불가능에 가깝다. 사람이 '랜덤'이라고 생각하고 만든 비밀번호에도 패턴이 생기기 마련이다.
랜덤 비밀번호 생성기를 쓰면 대문자, 소문자, 숫자, 특수문자 포함 여부를 체크하고 길이만 정하면 즉시 비밀번호가 나온다. 암호학적 난수 생성 방식(crypto API)을 써서 패턴이 없는 진짜 랜덤 문자열이 만들어진다.
생성된 비밀번호 관리법
랜덤 비밀번호는 외울 수 없다. 그게 정상이다. 브라우저의 비밀번호 자동 저장 기능이나, 1Password·Bitwarden 같은 비밀번호 관리자에 저장해두면 로그인할 때 자동 입력된다. 메모장이나 포스트잇에 적어두는 건 피해야 한다.
비밀번호 하나가 뚫리면 같은 비밀번호를 쓰는 다른 계정까지 연쇄로 뚫린다. 귀찮더라도 사이트마다 다른 비밀번호를 쓰는 게 가장 확실한 방어다.