유틸리티

안전한 비밀번호 만들기, 뚫리지 않는 조합법

새 사이트에 가입하려는데 비밀번호 조건이 까다롭다. 영문 대소문자, 숫자, 특수문자 포함 12자리 이상. 머리로 조합하려면 시간이 걸리고, 결국 기존 비밀번호에 특수문자 하나 붙이는 걸로 타협한다. 그런데 그게 가장 위험한 패턴이다.

비밀번호가 뚫리는 가장 흔한 이유

  • 비밀번호 재사용: 한 사이트에서 유출되면 같은 비밀번호를 쓰는 다른 사이트까지 전부 뚫린다 (크리덴셜 스터핑)
  • 예측 가능한 패턴: 이름+생년월일, qwerty, 1234 같은 조합은 무차별 대입 공격에 수 초면 깨진다
  • 짧은 길이: 8자리 비밀번호는 현대 컴퓨팅 성능으로 몇 시간이면 해독 가능하다
  • 변형의 착각: Password1! 처럼 뻔한 변형은 공격 사전에 이미 등록돼 있다

안전한 비밀번호의 조건

보안 전문가들이 권장하는 기준은 아래와 같다.

  • ✓ 최소 12자리 이상 (16자리면 더 안전)
  • ✓ 대문자 + 소문자 + 숫자 + 특수문자 조합
  • ✓ 사이트마다 서로 다른 비밀번호 사용
  • ✓ 사전에 나오는 단어 포함하지 않기
  • ✗ 생년월일, 전화번호, 이름 포함 금지
  • ✗ 연속된 문자나 키보드 배열(abc, qwerty) 금지
참고 12자리 랜덤 비밀번호(대소문자+숫자+특수문자)를 무차별 대입으로 깨려면 현재 컴퓨팅 기술로도 수십만 년이 걸린다. 길이와 복잡도가 함께 올라가면 보안 강도는 기하급수적으로 높아진다.

직접 조합하기 어려울 때

조건을 다 맞추면서 사이트마다 다른 비밀번호를 만드는 건 현실적으로 힘들다. 랜덤 비밀번호 생성기를 쓰면 길이와 포함할 문자 종류만 선택하면 조건에 맞는 비밀번호가 바로 나온다. 생성된 비밀번호는 브라우저 안에서만 처리되고 서버로 전송되지 않는다.

만들어진 비밀번호는 복사해서 브라우저 내장 비밀번호 관리자나 별도 관리 앱에 저장해두면 외울 필요가 없다. 중요한 건 비밀번호를 외우는 게 아니라, 사이트마다 유일한 값을 쓰는 것이다.

비밀번호 하나 바꾸는 데 1분이면 된다. 지금 쓰고 있는 비밀번호가 여러 사이트에서 겹친다면, 주요 서비스(이메일, 금융, SNS)부터 하나씩 바꾸는 걸 권한다.