비밀번호는 실제로 몇 자가 적당할까

대부분의 안내는 근거 없이 숫자만 말합니다. 그래서 그 숫자가 계속 바뀝니다. 정직한 답은 이렇습니다 — 길이는 공격자가 우회할 수 없는 유일한 요소라서, 가장 먼저 당겨야 할 손잡이입니다.

길이가 특수문자를 이깁니다, 그것도 큰 차이로

글자를 하나 더할 때마다 경우의 수는 문자 집합 크기만큼 곱해집니다. 짧은 비밀번호에 기호를 추가하면 한 번 곱해지지만, 네 글자를 더하면 네 번 더 곱해집니다. 글자와 숫자만 쓴 20자 비밀번호가 키보드의 모든 기호를 동원한 10자보다 경우의 수가 많습니다.

"특수문자를 반드시 포함" 같은 규칙이 별 효과가 없는 이유도 여기 있습니다. 모두를 똑같은 뻔한 치환으로 몰아넣을 뿐 — 끝에 느낌표, A 대신 골뱅이 — 길이는 그대로입니다.

'비트'가 뜻하는 것

생성된 비밀번호 옆에 붙는 비트 수는 엔트로피입니다. 그 생성기가 만들 수 있었던 동일 확률 비밀번호의 개수를 밑이 2인 로그로 나타낸 값입니다. 1비트가 늘 때마다 추측하는 쪽의 수고가 두 배가 됩니다. 대략의 구간은 이렇습니다.

엔트로피는 정말 무작위로 뽑았을 때만 유효합니다. 사람이 직접 지은 12자는 무작위 12자보다 훨씬 낮습니다. 사람의 선택은 단어·날짜·키보드 패턴 근처에 몰리고, 크래킹 도구는 그 근처를 가장 먼저 뒤지기 때문입니다.

쓸 만한 길이

대신 정해 버리는 제한

아직도 최대 길이를 두는 사이트가 있고, 드물게 12자나 16자까지 내려갑니다. 그럴 땐 허용하는 만큼 꽉 채우고 받아주는 문자 종류를 전부 켜세요. 최대 길이가 낮다는 건 비밀번호가 바람직하지 않은 방식으로 보관되고 있다는 힌트이기도 하니, 그 사이트에서만 쓰는 고유한 비밀번호인지 특히 확인할 자리입니다.

실제로 문제가 되는 것

현실에서 잘 고른 긴 비밀번호가 무차별 대입으로 뚫리는 일은 거의 없습니다. 뚫리는 이유는 같은 비밀번호를 다른 곳에도 썼고 그쪽이 털렸기 때문입니다. 길이는 추측으로부터, 고유함은 남의 사고로부터 나를 지킵니다. 둘 다 필요하고, 매번 새로 만드는 것이 고유함을 얻는 가장 싼 방법입니다.

Lockmint

Lockmint 의 권장 프리셋은 헷갈리는 글자를 뺀 무작위 20자를 줍니다. 결과마다 엔트로피를 비트로 보여주고 그 옆에 그게 무슨 뜻인지 한 문장으로 적어, 숫자를 스스로 해석하지 않아도 됩니다. 길이 슬라이더는 까다로운 사이트를 위해 4자에서 64자까지 열려 있고, 그 규칙을 이름 붙인 프리셋으로 저장할 수 있습니다.

Google Play에서 Lockmint 받기 · Lockmint 소개