유틸리티

안전한 비밀번호 만드는 규칙과 생성기 활용법

비밀번호를 바꾸라는 알림이 또 떴다. 영문 대소문자, 숫자, 특수문자를 전부 넣어야 하고 12자리 이상이어야 한다. 머리로 조합을 짜내다 보면 결국 기존 비밀번호 뒤에 느낌표 하나 붙이는 수준에서 끝나게 된다. 이런 식이면 바꾸나 마나다.

해킹에 취약한 비밀번호의 공통점

유출된 비밀번호 데이터베이스를 분석하면 패턴이 뻔하다. 해커들이 가장 먼저 시도하는 목록에 들어가는 유형이다.

  • 123456, password, qwerty — 연속 숫자, 키보드 패턴
  • gildong0301 — 이름 + 생년월일 조합
  • love1234! — 흔한 단어 + 숫자 + 특수문자
  • Aa123456! — 규칙만 겨우 충족한 최소 조합

사전 공격(dictionary attack)이라는 기법이 있다. 흔한 단어와 패턴을 조합해서 수만 개를 자동으로 대입하는 방식인데, 위 같은 비밀번호는 몇 초면 뚫린다.

강한 비밀번호의 조건

조건이유
12자리 이상길이가 1자 늘 때마다 경우의 수가 기하급수적으로 증가
대문자 + 소문자 + 숫자 + 특수문자문자 종류가 많을수록 무차별 대입에 걸리는 시간 증가
의미 없는 랜덤 조합사전 공격에 걸리지 않음
사이트마다 다른 비밀번호한 곳 유출돼도 다른 곳은 안전

8자리 소문자 비밀번호는 현재 컴퓨팅 성능으로 수 분 내에 뚫린다. 같은 8자리라도 대소문자+숫자+특수문자를 섞으면 수 년이 걸리고, 16자리면 사실상 불가능에 가까워진다.

생성기를 쓰면 편한 이유

머리로 랜덤 조합을 만들면 무의식중에 패턴이 생긴다. 익숙한 키보드 위치, 자주 쓰는 숫자 조합이 반복된다. 랜덤 비밀번호 생성기는 암호학적 난수 알고리즘을 쓰기 때문에 사람이 만든 것보다 예측 불가능한 조합이 나온다.

사용법도 간단하다.

  1. 길이를 정한다 (12~16자리 권장)
  2. 포함할 문자 유형을 선택한다 (대소문자, 숫자, 특수문자)
  3. 생성 버튼을 누르고 결과를 복사한다

생성된 비밀번호는 서버로 전송되지 않는다. 브라우저 안에서만 처리되니까 비밀번호가 외부로 나갈 걱정은 없다.

비밀번호 관리 팁

사이트마다 다 다르게 쓰면 어떻게 외우나

외우려고 하면 안 된다. 브라우저 내장 비밀번호 관리자(크롬, 사파리, 파이어폭스)를 쓰거나, 별도 비밀번호 관리 앱을 쓰는 게 현실적이다. 마스터 비밀번호 하나만 외우면 나머지는 자동 입력된다.

2단계 인증(2FA)도 같이 켜두자

비밀번호가 아무리 강해도 피싱에 당하면 소용없다. 문자 인증이나 OTP 앱(Google Authenticator 등)을 같이 설정해두면, 비밀번호가 유출되더라도 2차 방어선이 있다.

참고 비밀번호를 주기적으로 바꾸라는 권고는 바뀌고 있다. NIST(미국 표준기술연구소)는 유출이 의심되지 않는 한 강제 변경을 권장하지 않는다는 입장이다. 자주 바꾸면 오히려 약한 패턴을 반복하게 될 수 있다.

비밀번호 규칙이 까다로운 사이트를 만날수록 생성기가 빛을 발한다. 3초면 조건에 맞는 비밀번호가 나오니까, 머리 쓸 일이 줄어든다.