안전한 비밀번호 만들기 — 브라우저에서만 생성, 강도 확인
서버로 전송하지 않고 브라우저 안에서만 만듭니다. 길이·방식을 고르고 강도를 함께 봅니다.
비밀번호는 이 페이지 안에서만 만들어집니다. 서버로 보내지 않고, 저장하지도 않습니다
(브라우저의 crypto.getRandomValues 를 씁니다). 그래도 만든 비밀번호를
화면 캡처하거나 메모 앱에 그대로 두지는 마세요 — 비밀번호 관리자나 브라우저 저장소를 쓰는 편이 안전합니다.
강도 표시는 글자 종류와 길이로 계산한 추정 경우의 수이며, 실제 안전성은 그 비밀번호를
다른 사이트와 돌려 쓰는지에 더 크게 좌우됩니다.
가장 큰 위험은 짧은 비밀번호가 아니라 돌려 쓴 비밀번호
어느 사이트에서 회원 정보가 유출되면, 공격자는 그 아이디와 비밀번호 쌍을 들고 다른 사이트에 그대로 넣어 봅니다. 여기서 뚫리는 계정은 비밀번호가 약해서 뚫리는 게 아니라 같은 걸 다시 썼기 때문에 뚫립니다. 아무리 복잡하게 만들어도 여러 곳에 함께 쓰면 그 복잡함은 소용이 없습니다.
복잡하게보다 길게
대소문자와 기호를 섞는 것보다 글자 수를 늘리는 쪽이 경우의 수를 훨씬 빠르게 키웁니다. 8자리 복잡한 비밀번호와 16자리 단순한 비밀번호를 비교하면 뒤쪽이 압도적으로 안전합니다. 사람이 외워야 하는 자리라면 단어 조합 방식이 현실적입니다 — 위 도구의 세 번째 방식이 그것입니다. 다만 한국어 두 글자 단어는 무작위 영숫자보다 글자당 정보량이 적어서, 외우기 쉬운 대가로 더 길어야 합니다. 단어 네 개짜리는 생각보다 약하고, 아홉 개쯤 되어야 무작위 16자에 견줍니다. 도구가 만든 비밀번호 아래에 추정 강도를 비트로 적어 두었으니, 그 숫자가 70을 넘는지 보고 길이를 정하면 됩니다.
2단계 인증이 비밀번호보다 효과가 큽니다
비밀번호가 유출돼도 두 번째 확인 단계가 있으면 로그인이 막힙니다. 메일·금융·본인 인증에 쓰는 계정만이라도 2단계 인증을 켜 두면, 비밀번호를 완벽하게 관리하는 것보다 적은 수고로 더 안전해집니다. 문자(SMS)보다 인증 앱 방식이 가로채기에 강합니다.
만든 비밀번호는 어디에 둘까
복잡한 비밀번호를 외울 수는 없으니 어딘가에 두게 됩니다. 메모 앱이나 메신저의 ‘나에게 보내기’는 기기를 잃거나 계정이 뚫리면 전부 같이 넘어갑니다. 브라우저에 내장된 비밀번호 저장이나 전용 비밀번호 관리자를 쓰고, 그 관문 하나에만 2단계 인증을 걸어 두는 구조가 관리하기 쉽습니다.