유틸리티

비밀번호 뭐로 하지, 해킹 안 되는 안전한 조합 만드는 법

회원가입한 쇼핑몰에서 '개인정보 유출이 발생했습니다. 비밀번호를 즉시 변경해주세요'라는 이메일이 왔다. 해당 사이트 비밀번호를 바꾸려는데, 문제는 그 비밀번호를 다른 사이트 5곳에서도 똑같이 쓰고 있었다는 거다. 하나가 뚫리면 나머지도 위험한 상황이었다.

같은 비밀번호를 돌려쓰면 위험한 이유

해커가 유출된 비밀번호를 확보하면, 이메일, 은행, SNS 등 다른 서비스에 같은 조합으로 로그인을 시도한다. 이걸 '크리덴셜 스터핑'이라고 하는데, 자동화 프로그램으로 수십 개 사이트를 동시에 대입하는 방식이다. 유출된 비밀번호 목록은 인터넷 암시장에서 쉽게 구할 수 있을 정도로 흔하다. 비밀번호 하나가 노출되면 돌려쓰는 모든 계정이 연쇄적으로 위험해진다.

안전한 비밀번호의 조건

  • ✓ 최소 12자리 이상 (8자리는 이미 부족하다)
  • ✓ 대문자 + 소문자 + 숫자 + 특수문자 조합
  • ✓ 사이트마다 다른 비밀번호 사용
  • ✗ 생년월일, 전화번호, 이름 포함 금지
  • ✗ password, 1234, qwerty 같은 흔한 패턴 금지
참고 12자리 랜덤 비밀번호를 무차별 대입으로 뚫으려면 수백 년이 걸린다. 반면 8자리 숫자만으로 된 비밀번호는 수 초 만에 뚫린다.

사이트마다 다른 비밀번호, 어떻게 관리할까

사이트마다 비밀번호를 다르게 만들면 기억이 안 되는 게 당연하다. 현실적인 방법은 두 가지다.

  1. 비밀번호 관리자 사용: 크롬, 삼성 패스 같은 브라우저 내장 관리자나 별도 앱을 쓰면 사이트별 비밀번호를 자동 저장하고 자동 입력까지 해준다.
  2. 규칙 기반 조합: 기본 문구를 정해두고 사이트 이름의 앞 두 글자를 붙이는 방식이다. 기본이 "Mango#42"이면 네이버용은 "Na_Mango#42", 구글용은 "Go_Mango#42". 완벽하진 않지만 돌려쓰기보다는 훨씬 낫다.

그래도 사이트마다 다른 비밀번호를 머리로 짜내는 건 한계가 있다. 비밀번호 생성기를 쓰면 12자리 이상의 랜덤 조합이 바로 만들어지고, 강도까지 표시해준다. 만든 비밀번호를 관리자에 저장해두면 외울 필요도 없다.

유출 알림을 받은 뒤에 바꾸는 것보다, 처음부터 사이트별로 다르게 설정해두는 게 훨씬 안전하다.