PassGen.co

언어

기억하기 쉬운 비밀번호 생성기

  • 단어 7개

기억하기 쉬운 비밀번호 생성기로 무작위 암호 문구 무료로 만들기

기억하기 쉬운 비밀번호 생성기로 무작위 단어를 조합해 비밀번호를 만들어 보세요. 기억하고 입력하기는 쉽지만, 남이 추측하기는 어렵습니다. xkcd의 아이디어와 Diceware 방식을 제대로 구현해, 안전한 난수 생성기를 사용하고 보안 강도를 있는 그대로 계산합니다. 기본 설정인 무작위 단어 7개는 직접 입력하는 거의 모든 용도에 충분히 강력합니다.

단어 수를 3~12개로 정하고, 단어 사이에 넣을 구분 문자, 대문자, 숫자, 특수문자, 최대 길이를 선택하세요. 단어는 영어와 그 외 9개 언어로 제공됩니다. 마음에 들지 않는 단어가 있나요? 해당 단어를 누르면 그 단어만 바꿀 수 있습니다. 암호 문구는 사용 중인 기기에서 생성되며 어디에도 전송되지 않습니다.

바로 가기: 어디에 쓰나요? · 단어는 몇 개가 좋을까요? · 무작위 단어 3개 · 기억하는 방법 · 질문과 답변

암호 문구를 어디에 사용하시나요?

암호 문구는 직접 입력해서 사용하는 비밀번호입니다. 용도를 선택하면 그에 맞는 설정으로 생성기가 열립니다.

단어가 몇 개 필요할까요?

단어를 하나 추가할 때마다 암호 문구를 추측하기가 약 7,400배 더 어려워집니다. 공격자가 각 자리마다 목록의 모든 단어를 대입해야 하기 때문입니다. 기본 설정인 무작위 단어 일곱 개는 컴퓨터 로그인, Wi-Fi, SSH 키처럼 직접 입력하는 거의 모든 용도에 적합합니다. 비밀번호 관리자나 암호화된 디스크에는 단어 여덟 개를 사용하세요. 단어 세 개나 네 개는 아래 설명처럼 잘못된 입력을 차단하는 계정에만 사용하세요.

생성기 아래에 표시된 시간은 최악의 상황을 가정한 것입니다. 공격자가 사용된 단어 목록을 알고 있으며, 웹사이트에서 훔친 비밀번호 목록이나 복사한 암호화 파일 등을 확보해 자신의 컴퓨터에서 횟수 제한 없이 암호를 추측할 수 있는 상황입니다. 생성기에 표시된 암호 구문을 알아내는 데 걸리는 시간은 누가 추측하느냐에 따라 달라집니다:

내 암호 문구단어 7개영어

그래픽 카드 1개
9,800만 년
매우 강함
고성능 게이밍 PC에 들어가는 수준
그래픽 카드 1,000개 내 비밀번호 등급
98,000년
강함
범죄 조직 등이 시간 단위로 빌려 사용하는 규모
그래픽 카드 100,000개
980년
강함
정부나 대형 기술 기업 수준의 규모입니다. 실제 수치는 어디에서도 공개하지 않습니다.

보호 조치가 제대로 된 웹사이트나 기기는 공격하는 데 훨씬 오래 걸립니다. 잘못된 입력이 반복되면 차단하고, 비밀번호를 추측하는 데 시간이 오래 걸리는 형태로 저장하기 때문입니다. 하지만 웹사이트가 내 비밀번호를 어떻게 저장하는지는 확인할 수 없으므로, 이를 믿고 의존하지 마세요.

공격자도 모든 단어의 첫 글자를 대문자로 바꿔 볼 수 있으므로, 대문자는 보안 강화에 거의 도움이 되지 않습니다. 숫자나 특수문자를 추가하면 조금 더 안전해집니다. 단어를 하나 더 추가하는 것이 가장 효과적입니다. 사이트에 길이 제한이 있다면 길이 제한 없음을 열고 해당 제한을 선택하세요. 그러면 생성기는 제한에 맞는 암호 문구만 만들고, 표시되는 보안 강도도 그에 맞춰 낮아집니다.

단어 3개로 만든 비밀번호면 충분할까요?

영국 국가사이버보안센터(NCSC)는 “무작위 단어 3개”를 사용하라고 권장하며, 요즘은 단어 3개로 비밀번호를 만드는 생성기를 찾는 사람도 많습니다. 이 조언은 원래 의도한 용도에서는 타당합니다. 바로 반복적인 로그인 시도를 차단하는 온라인 계정이며, 2단계 로그인까지 사용하면 더 좋습니다. 로그인 페이지에서 초당 10번씩 추측해 무작위 단어 3개를 알아내려면 약 650년이 걸립니다.

문제는 데이터 유출입니다. 사이트에 저장된 비밀번호 해시가 도난당하면, 같은 단어 3개도 1초 미만에 뚫릴 수 있습니다. 대문자와 숫자, 특수문자를 추가해도 거의 도움이 되지 않습니다. 따라서 단어 3개는 NCSC가 의도한 용도에서만 사용하세요. 비밀번호 관리자, 컴퓨터 로그인, Wi-Fi 또는 암호화된 디스크에는 단어를 7개 이상 사용하세요. 위의 무작위 단어 3개 예시를 선택하면 NCSC 권장 방식으로 설정된 생성기가 열리며, 강도 표시에는 그 비밀번호가 얼마나 취약한지 그대로 나타납니다.

xkcd의 아이디어를 제대로 구현한 기억하기 쉬운 비밀번호 생성기

유명한 xkcd 만화는 무작위로 고른 흔한 단어 네 개가 “Tr0ub4dor&3”보다 기억하기 쉽고 알아내기는 어렵다고 설명했습니다. 아이디어는 옳았습니다. 다만 제시된 수치는 설명을 위한 예시일 뿐이었습니다. 단어 2,048개로 된 목록에서 고른 단어 네 개의 보안 강도는 44비트로, 그래픽 카드 한 개로도 1분 안에 알아낼 수 있는 수준입니다.

이 기억하기 쉬운 비밀번호 생성기는 그 아이디어를 살리면서 보안 강도를 높였습니다. 2,048개 대신 약 7,400개의 단어로 된 목록을 사용하고, 기본 단어 수를 네 개 대신 일곱 개로 설정했으며, 같은 단어가 두 번 나오지 않게 했습니다. 또 사람이 직접 고르는 대신 안전한 난수 생성기로 단어를 선택합니다. 단어 일곱 개는 약 90비트의 보안 강도를 제공하며, 그래픽 카드 1,000개를 사용해도 알아내는 데 약 100,000년이 걸립니다.

가장 중요한 것은 “무작위”라는 점입니다. 사람이 직접 단어를 고르면 노랫말, 인용구, 이름, 지명 등을 선택하기 쉬운데, 비밀번호 해독 도구는 이런 조합부터 시도합니다. 만화에 나온 “correct horse battery staple”조차 이제는 유출된 데이터에서 수천 번이나 발견됩니다. 무작위로 선택한 단어에는 찾아낼 패턴이 없으므로, 공격자가 PassGen.co를 사용했다는 사실을 알아도 위 수치는 그대로 유효합니다. 이미 직접 만든 암호 문구를 사용하고 계신가요? 비밀번호 강도 검사기로 확인해 보세요.

암호 문구를 기억하는 방법

  • 장면을 떠올려 보세요. 단어를 순서대로 연결해 짧고 엉뚱한 장면을 상상해 보세요. 협곡에서 랜턴을 들고 있는 바다코끼리의 모습은 따로 떨어진 일곱 단어보다 훨씬 기억에 잘 남습니다.
  • 처음에는 자주 입력해 보세요. 첫 일주일 동안은 하루에 여러 번 사용해 보세요. 그다음부터는 손에 익어 자연스럽게 입력할 수 있습니다.
  • 외우는 동안에는 적어 두세요. 적어 둔 종이는 집에 보관하고, 그 암호 문구로 잠금을 해제하는 기기와는 절대 함께 두지 마세요. 암호 문구를 완전히 외우면 종이를 파기하세요.
  • 구분자를 유지하세요. 하이픈이나 공백을 그대로 두면 어디서 잘못 입력했는지 알기 쉬워지고, 넣어 둔다고 손해 볼 것도 없습니다.

익숙한 언어로 만드는 암호 문구

아는 단어는 기억하고 입력하기가 더 쉽습니다. 지구본 버튼으로 단어 목록을 선택하세요. 영어, 독일어, 스페인어, 프랑스어, 이탈리아어, 포르투갈어, 카탈루냐어, 네덜란드어, 우크라이나어, 러시아어를 지원합니다. 각 기본 목록에는 약 5,900~7,700개의 단어가 있어, 어느 언어를 선택해도 영어로 만든 암호 문구와 거의 같은 보안 강도를 얻을 수 있습니다. 생성기 아래의 강도 표시는 선택한 목록의 정확한 단어 수를 기준으로 계산합니다.

우크라이나어와 러시아어는 라틴 문자로 표기한 목록도 제공합니다. 암호화된 노트북의 부팅 화면이나 TV, 공유기 관리 페이지에서는 미국식 키보드 배열로만 입력할 수 있는 경우가 많기 때문입니다. 이런 곳에서 암호 문구를 입력할 수 없으면 기기나 관리 페이지에 접근할 수 없습니다. 같은 이유로 디스크 암호화용 암호 문구는 실제로 사용하기 전에 부팅 화면에서 입력할 수 있는지 확인하거나, 악센트 부호가 없는 단어 목록을 사용하세요.

영어(짧은 단어) 목록은 세 글자에서 다섯 글자로 된 단어를 사용하므로 휴대전화나 TV 리모컨으로 더 빠르게 입력할 수 있습니다. 선택할 수 있는 단어 수가 적어 단어 하나가 더해 주는 보안 강도도 낮습니다. 따라서 기본 목록의 단어 일곱 개와 같은 보안 강도를 얻으려면 짧은 단어 아홉 개를 사용하세요.

작동 방식: 기술 세부 정보

자세한 내용을 확인하고 싶은 분들을 위한 설명입니다.

안전한 무작위 선택

각 단어는 crypto.getRandomValues()로 선택하며, 기각 샘플링을 사용해 모든 단어가 선택될 확률을 정확히 같게 만듭니다. 암호 문구에 이미 있는 단어가 뽑히면 다시 뽑으므로 같은 단어가 두 번 나오지 않습니다.

강도 추정

현재 설정으로 만들 수 있는 서로 다른 암호 문구의 정확한 개수를 기준으로 합니다. 최대 길이 제한이 없을 때는 단어가 N개인 목록에서 N × (N − 1) × …을 암호 문구의 단어 수만큼 곱합니다. 단어 사이에 무작위 숫자를 넣으면 단어 사이마다 10을 곱하고, “숫자 추가”를 켜면 10 × 단어 수를 곱하며(어떤 숫자를 어느 단어에 넣을지), “특수문자 추가”를 켜면 8 × 단어 수를 곱합니다(! @ # $ % ^ & * 중 하나를 어느 단어에 넣을지). 대문자는 경우의 수를 늘리지 않으며, 직접 지정 구분자도 사용자가 선택한 것이므로 경우의 수를 늘리지 않습니다. 비트 수 = 해당 개수의 log2 값입니다. 해독에 걸리는 시간 = 2비트 수 − 1 ÷ (2 × 1014)초이며, 그래픽 카드 1,000개를 기준으로 합니다.

최대 길이

생성기는 목록에 있는 단어들의 길이를 바탕으로 길이 제한에 맞는 암호 문구가 몇 개인지 정확히 계산한 뒤, 그중 하나를 모두 동일한 확률로 무작위로 선택합니다. 강도는 길이 제한에 맞는 암호 문구의 개수를 기준으로 합니다.

단어 바꾸기

단어를 k번 바꿀 때마다 해당 단어에 대한 강도가 log2(k + 1)비트만큼 줄어듭니다. 이는 k + 1개의 단어 중 하나를 선택하는 과정에서 줄어들 수 있는 강도의 최댓값입니다.

주사위 경우의 수에 맞춘 목록

대부분의 목록은 처음에 7,776개의 단어로 구성됩니다. 이는 6 × 6 × 6 × 6 × 6으로, 주사위 다섯 개를 굴렸을 때 나올 수 있는 경우의 수입니다. 주사위 다섯 개를 굴려 나온 결과에 해당하는 단어를 찾는 것이 Diceware 방식입니다. 스페인어, 이탈리아어, 카탈루냐어 목록에는 8,192개가 있으며, 영어 짧은 단어 목록에는 주사위 네 개의 경우의 수에 해당하는 1,296개가 있습니다. 아래에 설명한 목록 정리 때문에 생성기는 주사위 숫자 대신 브라우저의 난수 생성기를 사용합니다.

목록 정리

“yo-yo”처럼 구분자 문자가 들어 있는 단어는 단어의 경계가 모호해지지 않도록 제외합니다. 사람 이름과 지명도 목록에 소문자로 적혀 있더라도 제외하며, 질병, 약물, 무기, 비하 표현처럼 소리 내어 읽을 수도 있는 암호 문구에 쓰기 불쾌하거나 어색한 단어도 제외합니다. 사용 가능한 단어 수: 영어 7,424개, 영어(짧은 단어) 1,234개, 독일어 6,947개, 스페인어 5,962개, 프랑스어 7,347개, 이탈리아어 7,667개, 포르투갈어 7,429개, 카탈루냐어 7,186개, 네덜란드어 7,337개, 우크라이나어 7,430개, 우크라이나어(라틴 문자) 7,480개, 러시아어와 러시아어(라틴 문자) 각각 7,608개입니다. 강도는 이 수치를 사용해 계산하므로 정확하게 유지됩니다.

단어 목록

영어는 EFF Long Wordlist(CC BY 4.0)를, 영어(짧은 단어)는 EFF Short Wordlist 1(CC BY 3.0 US)을 사용합니다. 독일어, 스페인어, 이탈리아어, 카탈루냐어 목록은 ulif diceware 목록(CC BY)에서, 프랑스어는 Tails 프로젝트(CC0)에서, 네덜란드어는 mko.re(CC BY)에서, 우크라이나어는 git-leaf(MIT)에서 가져왔습니다. 러시아어 목록은 OpenRussian.org 데이터(CC BY-SA 4.0)를 바탕으로 PassGen.co용으로 만들었으며, 포르투갈어 목록은 OpenSubtitles의 단어 빈도 데이터(hermitdave/FrequencyWords)와 포르투갈어 위키백과(CC BY-SA 4.0)를 바탕으로 만들었습니다.

자주 묻는 질문

좋은 암호 문구의 예시는 무엇인가요?

velvet-harbor-sketch-lantern-cactus-walrus-canyon처럼 서로 관련이 없고 사용자와도 관련이 없는 단어 7개로 이루어진 문구입니다. 이 예시를 포함해 어디선가 공개된 암호 문구는 절대 사용하지 마세요. 위에서 나만의 암호 문구를 만들어 보세요.

단어 4개로 된 암호 문구는 안전한가요?

몇 번 틀리면 잠기는 휴대전화처럼 잘못된 입력 횟수가 제한되는 경우에만 안전합니다. 암호 문구의 해시값이 유출되면 단어 4개로 된 문구는 몇 초 안에 알아낼 수 있습니다. 계정에는 단어 7개를, 다른 비밀번호를 보호하는 용도라면 8개를 사용하세요.

암호 문구와 비밀번호는 어떻게 다른가요?

비밀번호는 보통 여러 종류의 문자를 섞은 짧은 문자열이고, 암호 구문은 여러 단어로 이루어진 더 긴 문자열입니다. 사람들이 흔히 말하는 기억하기 쉬운 비밀번호가 바로 암호 구문입니다. 같은 보안 강도를 갖추려면 암호 구문이 더 길어야 하지만, 입력하고 기억하기는 훨씬 쉽습니다. 직접 입력할 때는 암호 구문을, 무작위 비밀번호는 비밀번호 관리자가 자동으로 입력할 때 사용하세요.

이 도구는 Diceware 생성기인가요?

같은 방식을 사용합니다. 주사위로 단어를 고를 수 있도록 크기가 정해진 목록에서 무작위로 단어를 뽑습니다. 대부분의 목록에는 주사위 5개를 굴렸을 때 나올 수 있는 경우의 수인 7,776개의 단어가 들어 있습니다. 주사위를 굴리는 대신 브라우저의 안전한 난수 생성기를 사용하므로 무작위성은 같으면서 훨씬 빠릅니다. 표시되는 보안 강도는 실제로 사용하는 목록의 정확한 단어 수를 기준으로 계산합니다.

암호 문구가 긴데도 해독 예상 시간이 짧게 나오는 이유는 무엇인가요?

보안 강도는 글자 수가 아니라 현재 설정으로 만들 수 있는 암호 문구의 가짓수에 따라 달라집니다. 공격자는 목록에 있는 단어를 통째로 추측하므로 긴 단어가 짧은 단어보다 더 안전한 것은 아니며, 모든 단어의 첫 글자를 대문자로 바꿔도 강도는 높아지지 않습니다. 단어를 1개 더 추가하면 해독에 걸리는 시간이 약 7,400배 늘어납니다.

단어 1개만 바꿀 수 있나요?

네. 단어를 탭하거나 클릭하세요. 또는 방향키로 해당 단어로 이동한 뒤 Enter 키를 누르세요. 그 단어만 바뀝니다. 직접 골라 바꾼 단어는 그대로 둔 단어보다 무작위성이 조금 낮으므로, 단어를 바꿀 때마다 표시되는 보안 강도가 조금씩 줄어듭니다.

암호 문구를 한 번에 여러 개 만들 수 있나요?

네. 결과 아래에서 암호 문구 여러 개를 열고 최대 16개까지 선택하세요. 암호 문구마다 복사 버튼이 따로 있습니다. 학급이나 회사 전체에서 쓸 비밀번호가 필요하다면 대량 비밀번호 생성기로 최대 1,000개까지 만들고 Microsoft 365, Google Workspace 또는 Active Directory용으로 내보낼 수 있습니다.

암호 문구에 공백을 넣어도 되나요?

대부분 가능합니다. 대부분의 웹사이트, 운영체제, 암호화 도구는 공백을 허용합니다. 일부 오래된 시스템은 공백을 제거하거나 허용하지 않으므로, 확실하지 않다면 하이픈을 사용하세요. 사이트에서 하이픈도 허용하지 않는다면 직접 지정을 선택하고 해당 사이트에서 허용하는 문자를 입력하세요. 어느 쪽이든 보안 강도는 같습니다.

SSH 또는 GPG 키에 암호 문구를 어떻게 추가하나요?

기존 SSH 키에는 ssh-keygen -p -f ~/.ssh/id_ed25519를 실행한 뒤 입력을 요청하면 암호 문구를 붙여 넣으세요. GPG는 gpg --passwd 뒤에 키 ID를 붙여 실행하세요. 새 키를 만들 때는 생성 과정에서 암호 문구를 입력하라는 안내가 나옵니다.

암호화폐 지갑의 시드 문구로 사용할 수 있나요?

아니요. 단어 12개 또는 24개로 된 복구 문구는 반드시 지갑에서 생성해야 합니다. 지갑은 자체 단어 목록과 내장 체크섬을 사용하므로 여기서 만든 단어 조합은 유효하지 않습니다. 일부 지갑에서 선택적으로 제공하는 BIP39 암호 문구는 다릅니다. 사용자가 직접 정하는 것이므로 여기서 만든 암호 문구를 사용하기에 적합합니다. 이 암호 문구가 없으면 지갑을 복원할 수 없으므로 복구 문구만큼 신중하게 보관하세요.

온라인에서 암호 문구를 만들어도 안전한가요?

이 사이트에서는 안전합니다. 암호 문구는 브라우저에서 실행되는 코드로 생성되며 저희에게 전송되지 않습니다. 페이지를 불러온 뒤에는 인터넷 연결 없이도 작동하므로, 더 확실히 하고 싶다면 연결을 끊은 뒤 생성하세요.

단어 사이 구분자

대문자, 숫자, 특수문자

대문자, 숫자, 특수문자를 요구하는 사이트를 위한 기능입니다. Abc는 각 단어의 첫 글자를 대문자로 바꿉니다. 123은 숫자 하나를, !@#은 특수문자 하나(! @ # $ % ^ & *)를 각각 무작위로 선택한 단어의 끝에 추가합니다. 강도가 조금 높아지지만, 단어를 하나 더 추가하면 더 높아집니다.

최대 길이

길이 제한이 있는 사이트를 위한 설정입니다. 짧은 단어만 사용할 수 있어 암호 문구의 강도가 낮아집니다.

암호 문구 개수

16개보다 더 필요하신가요? 대량 비밀번호 생성기

단어 목록

QR 코드

휴대폰 카메라로 스캔하면 휴대폰에서 비밀번호를 확인할 수 있습니다.

Wi-Fi 안내판을 만드시나요? 이 비밀번호를 사용하세요