비밀번호는 ‘지식 기반 인증’(Something You Know)입니다. 디지털 환경에서 어떤 사람이 “내가 아니면 모를 비밀번호를 내가 알고 있다. 그러니 내가 (이메일이나 메신저 혹은 자신의 기기에)로그인하게 해 달라”는 용도로 활용됩니다. 숫자, 문자, 혹은 특수기호로 구성합니다. 일반적으로 ‘문자의 나열’(문자열)의 형태가 됩니다. 당연히 다른 사람이 쉽게 짐작할 수 있는 문자열은 비밀번호로 가치가 없습니다. 비밀번호는 그 자체가 ‘비밀’이어야 합니다. 한국어로는 숫자 4자리 등의 형태가 은행 계좌, 신용카드 등에 사용되면서 ‘비밀번호’라는 표현이 정착되었는데, 영어로는 부호(번호)의 나열이라는 뜻에서 Passcode, 번호 외에 문자를 포함하게 되면서 Password, 단어 한두 개 수준의 길이가 아닌 형태가 가능해지면서 Passphrase 등 표현의 변천사가 있어왔습니다.
안전하지 않은 비밀번호와 안전한 비밀번호에 대해 구체적으로 살펴봅시다.
1. 비밀번호가 안전하지 않은 이유
비밀번호 ‘인증’ 과정에 대한 이해
스티븐 스필버그의 SF 영화 ‘레디 플레이어 원’에 등장하는 사람들은 하루의 대부분을 메타버스(Metaverse) 가상현실 세계인 ‘오아시스(OASIS)’에서 보냅니다. 오아시스에 접속할 땐 접속하려는 계정의 비밀번호를 알아야 하고, 비밀번호만 알면 인증(Authentication) 절차는 끝납니다. 영화 속 악당은 비밀번호를 항상 기억할 수 있는 특별한 비법을 갖고 있는데요, 바로 사무실의 단말기 안쪽에 포스트잇을 붙여두고 거기에 비밀번호를 적어 두는 것입니다.
다시 강조하지만, 비밀번호는 그 자체가 ‘비밀’이고, 다른 사람이 쉽게 짐작할 수 없어야 합니다. 포스트잇만 볼 수 있으면 누구든 바로 알 수 있는 비밀번호는 비밀번호로 쓰일 자격이 없습니다. 여기서 ‘비밀번호’를 다른 사람이 짐작할 수 없어야 한다는 것에는 비밀번호가 맞는지 틀렸는지를 검증하는 주체 또한 그 비밀번호를 짐작할 수 없어야 한다는 것을 뜻합니다. 즉, 비밀번호는 나 자신이 잊어버린다면 그 누구도 알아낼 수 없어야 하고, 비밀번호가 맞는지 틀렸는지를 검증하는 주체조차 오직 지금 입력한 비밀번호가 해당 사용자의 비밀번호가 ‘맞는지’, ‘틀렸는지’만 알 수 있어야 합니다.
현대적인 비밀번호 기반 인증 방식에서는 대체로 이러한 원칙이 지켜질 수 있도록, 비밀번호를 ‘단방향 암호화’라는 방식을 사용하여 저장해 둡니다. 그리고 누군가 비밀번호를 입력하면, 방금 입력된 비밀번호를 ‘단방향 암호화’해 보고, 그 결과물이 과거의 단방향 암호화로 저장된 것과 일치하는지를 검증합니다. 만일 일치한다면 인증을 통과한 것으로 하고, 일치하지 않는다면 인증을 통과하지 못한 것으로 합니다.
안전하지 않은 비밀번호 1: 개인정보와 일치하는 비밀번호
지난 2009년, 경찰은 전국교직원노동조합 및 전국공무원노동조합 조합원들의 민주노동당 가입 여부를 수사하는 과정에서, PC방에서 89개의 주민등록번호를 이용하여 민주노동당 사이트에 접속하는 방식으로 압수수색 영장을 집행한 바 있습니다. 민주노동당에서 일괄적으로 당원들의 접속 계정을 설정하면서 초기 비밀번호를 주민등록번호로 설정하였기 때문에 이러한 작업이 가능했습니다. 수사 기관이 압수수색 영장 집행을 당사자의 입회 하에 하지 않은 것 자체도 큰 문제이지만, 이처럼 주민등록번호 등을 비밀번호로 사용할 경우 정부기관이나 해커에 의한 공격에 쉽게 노출될 수 있습니다. 따라서 어떠한 경우에도 개인정보와 일치하는 비밀번호를 설정하는 것은 피해야 합니다. 개인정보에 대해 접근이 가능하기만 하면 비밀번호를 알아낼 수 있다는 뜻이 되기 때문입니다.
안전하지 않은 비밀번호 2: 다른 곳에서 유출된 비밀번호
비밀번호 유출 사고는 해가 갈수록 심해지고 있습니다. 개인정보 유출 여부 모니터링 웹사이트 ‘해브아이빈폰드’(HIBP, ‘;–have i been pwned?)에는 2022년 4월 20일 기준 117억 건이 넘는 개인정보 유출 사례가 등록되어 있습니다.

서로 다른 비밀번호를 수백 가지 만들고 이를 모조리 기억하는 것은 힘들기 때문에, 디지털 보안 위험에 노출되는 많은 사람들은 서로 다른 계정이나 사이트에서 동일한 비밀번호를 공유하는 경우가 많습니다. 당연히 공격자들은 이러한 정보를 공격에 활용합니다. 공격자는 가장 보안이 취약한 계정을 노려 비밀번호를 탈취하고, 만일 피해자가 같은 비밀번호를 다른 곳에 사용하고 있다면 그 계정도 연달아 탈취할 수 있게 됩니다. 즉, 이 비밀번호는 그 비밀번호가 사용된 서비스 중 가장 안전하지 않은 서비스의 보안 수준만큼 위험한 비밀번호가 됩니다.
안전하지 않은 비밀번호 3: 짧고 짐작하기 쉬운 비밀번호
같은 비밀번호를 여러 계정에 걸쳐 동일하게 사용하지 않는 것은 중요한 보안 요구 사항이지만, 인간의 인지 능력의 한계 때문에 서로 다른 비밀번호를 동시에 외우는 것은 불가능에 가깝습니다. 그렇기에 많은 사람들은 짧고, 간단한 비밀번호를 사용하는데, 공격자들은 이를 쉽게 추측할 수 있습니다. 예를 들어 ‘password1’, ‘12345’, ‘qwe123’(Qwerty 자판 왼쪽 상단의 키), 생일, 사람 이름 등은 쉽게 추측됩니다.
안전하지 않은 비밀번호 4: 무차별 대입 공격이 진행되고 있는 비밀번호
소설이나 만화 같은 데 주로 나오는 클리셰 중 비밀번호와 관련된 것이 몇 가지 있습니다. 비밀번호가 숫자 4자리라는 사실을 알고 있는 등장인물이 비밀번호를 맞추기 위해 0000, 0001, 0002, 이런 식으로 모든 가능한 경우의 수를 전부 입력해보는 장면입니다. 여행용 캐리어의 3자리 비밀번호를 잊어버리는 일이 잦은 사람들도 자주 하게 되는 행동입니다. 이런 공격방식을 무차별 대입 공격(Brute Force Attack)이라고 합니다.
현대적인 디지털 보안 원칙에서는 바로 이런 무차별 대입 공격으로부터 비밀번호를 안전하게 지키기 위해, 누군가가 비밀번호 입력을 반복적으로 시도하고 반복적으로 실패할 경우 비밀번호 입력 시도를 지속하지 못하고 일정 시간 동안 기다려야만 하도록 하는 절차를 마련할 것을 원칙으로 하고 있습니다. 마치 ATM기 등에서 카드 비밀번호를 여러 번 틀리면 카드를 ATM기가 회수해버리는 것처럼, 무차별 대입 공격을 막기 위한 최소한의 안전장치를 마련할 것을 의무화해두고 있는 것입니다.
하지만 이미 무차별 대입 공격이 진행될 수 있는 상황은 얼마든지 마련될 수 있습니다. 가령 단방향 암호화된 비밀번호와 비밀번호 검증 방법이 들어있는 서버가 해킹된 경우, 공격자는 이렇게 해킹한 ‘단방향 암호화된 비밀번호’를 ‘비밀번호 검증 방법’에 따라 검증하기 위해 수십만, 수백만 대의 좀비 PC를 만들어 무차별 대입 공격을 시험해 볼 수 있습니다. 혹은 서버 관리자가 무차별 대입 공격에 대한 방어 장치를 마련해 두지 않은 상황도 상정할 수 있습니다. 어느 쪽이든 비밀번호의 길이가 충분히 길지 않다면, 무차별 대입 공격에 필요한 만큼의 시간이 흐르면 비밀번호를 맞출 수밖에 없습니다.
한국의 비밀번호: 최대 길이 제한
무차별 대입 공격에 필요한 시간을 가능한 한 길게 하려면 비밀번호의 길이는 정말 길어야 하고, 숫자 이외의 다른 글자도 다양하게 사용할 수 있어야 합니다. 컴퓨터의 성능이 좋아지면서 무차별 대입 공격이 가능한 비밀번호의 유형도 과거와 크게 달라졌습니다. 적당한 길이(12글자 이내)이면서 알파벳 대문자, 소문자가 섞여있고 특수문자와 숫자가 반드시 공존해야 한다, 라는 규칙을 따르는 비밀번호의 경우 사람이 외우기는 어려우면서도 무차별 대입 공격에는 취약한 경우가 점점 늘어나게 되었습니다. 사람이 외우기 편하면서도 쉽게 추측할 수 없는 비밀번호는 길이가 길면 길수록 안전해집니다. 하지만 한국의 경우 많은 서비스들이 비밀번호를 최대 16자 정도로만 설정할 수 있도록, 최대 길이를 매우 짧게 제한하고 있습니다.
입력하다 틀리면 안 되는 비밀번호
비밀번호를 무작정 길고 어렵게 만들면 생기는 문제 중 하나가, 바로 비밀번호를 잘못 입력하는 것입니다. 비밀번호를 여러 번 틀리면 계정이 잠기도록 설정되어 있는 환경에서 20글자 이상의 비밀번호를 입력하다가 중간에 어디서 잘못 입력하였는지를 알 수 없게 된다면 비밀번호를 틀리는 일이 빈번하게 발생해 새로운 보안 문제가 발생하게 됩니다. 비밀번호를 여러 번 틀려서 계정이 잠기고, 잠긴 계정을 풀기 위해 다른 수단을 사용하는 일이 일상화되면 공격자의 공격으로 인해 비밀번호가 틀리는 상황과 나 자신 혹은 나와 계정을 공유하는 누군가가 비밀번호를 틀린 상황을 구분할 수 없게 됩니다.
2. 비밀번호 관리 도구 사용하기
비밀번호는 근본적으로 결함 투성이인 인증 방식이라고 볼 수 있습니다. 그럼에도 불구하고 비밀번호를 사용해야만 한다면, 몇 가지 선택지가 있습니다. 하나는 상대적으로 안전한 비밀번호를 만들 자신만의 방법을 마련하는 것이고, 또 다른 하나는 <비밀번호 관리 도구>를 사용하는 것입니다. 물론 두 가지는 동시에 적용할 수 있습니다.
비밀번호 관리 도구: 비밀번호들을 안전하게 관리해주는 도구들
비밀번호 관리 도구(Password Manager), 혹은 비밀번호 금고의 목적은 외우기 힘들지만 추측하기 힘든 강력한 비밀번호를 모든 계정마다 다르게 관리하는 데 있습니다. 비밀번호 관리 도구에 저장된 비밀번호를 확인하기 위한 비밀번호를 ‘마스터 비밀번호’(Master Password)라고 합니다. 마스터 비밀번호만 잘 기억하면, 각각의 비밀번호는 비밀번호 관리 도구가 대신 기억해 주는 방식입니다. 비밀번호 관리 도구 내부의 비밀번호 데이터베이스에 실제로 사용할 비밀번호가 저장됩니다. 예를 들어 ‘vAeJZ!Q3p$Kdkz/CRHzj0v7’처럼 길면서 사람이 도무지 외울 수 없는 비밀번호도 비밀번호 관리 도구가 대신 기억해 줄 수 있습니다.
비밀번호 관리 도구 사용 여부의 판단
비밀번호 관리 도구의 마스터 비밀번호와 비밀번호 관리 도구의 비밀번호 DB가 유출되면, 비밀번호 관리 도구 속에 넣어둔 비밀번호가 몽땅 유출되는 결과를 가져옵니다. 따라서 비밀번호 관리 도구를 사용할 때에는, 특히 비밀번호 관리 도구 자체의 비밀번호가 유출됨으로 인해 더 큰 피해가 일어날 수 있음을 염두에 두고 판단해야 합니다.
여러 대의 컴퓨터를 사용하거나, 혹은 스마트폰과 컴퓨터를 사용하는 등, 여러 개의 기기에서 동일한 비밀번호 DB를 사용해야 하는 경우가 있습니다. 많은 비밀번호 관리 도구들은 비밀번호 파일을 여러 기기에서 공유할 수 있도록 하는 기능, 즉 ‘동기화’기능을 제공합니다. 혹은 비밀번호 DB를 클라우드 등의 원격 서버에 저장해 두고, 노트북이든 스마트폰이든 필요할 때 원격 서버에서 비밀번호 DB를 가져오도록 하는 기능을 제공하기도 합니다.
이러한 기능, 즉 클라우드 서버 기반의 비밀번호 동기화 기능을 사용할지의 여부는 결국 각자 수립한 <디지털 보안 대책>에 따라 달라지게 됩니다. 비밀번호 관리 도구 서비스 제공 업체에게 정보 제공을 명령할 권한이 있는 공격자(정부 등)가 운영하는 서버의 경우, 혹은 업체의 클라우드 서버가 해킹당하는 경우 등이 얼마나 발생함직한지를 고려해야 합니다. 최악의 경우 비밀번호 관리 도구 서비스를 제공하는 업체에서는 비밀번호 관리 도구를 당신이 언제, 어디서, 어떤 웹사이트에 대해 사용했는지를 모니터링할 수 있는 가능성 또한 발생할 수 있는데, 이러한 각각의 가능성에 대해서 자신의 디지털 보안 대책이 얼마나 심도 있게 위험으로 고려하는 지에 따라 판단은 달라질 수밖에 없습니다.
많이 쓰이는 비밀번호 관리 도구
비밀번호 관리 도구로 이 가이드에서 소개하는 도구는 윈도우, 리눅스, 맥 등 PC 환경을 위한 KeePassXC, 안드로이드 스마트폰을 위한 KeePassDX, 아이폰을 위한 Strongbox가 있습니다. 이 세 가지 도구는 각 비밀번호 관리 도구에서 사용하는 비밀번호 데이터베이스를 서로 공유할 수 있습니다.
이외에도 구글, 애플, 마이크로소프트 등이 각자 비밀번호 관리 도구를 제공하고 있고, 삼성 등 스마트폰 제조업체에서도 비밀번호 관리 도구 서비스를 운영하고 있습니다. 1password, LastPass 처럼 비밀번호 관리 도구만 전문적으로 운영하는 서비스도 있습니다. 일부 서비스는 유료이고, 클라우드를 이용하여 여러 기기에서 편리하게 비밀번호 데이터베이스를 동기화해주는 경우도 있습니다. 각각의 도구에 대해 얼만큼 신뢰할 수 있는지의 여부는 시점에 따라, 그리고 개개인의 판단에 따라 다릅니다.
3. 강력한 비밀번호의 요건
처음부터 끝까지 틀리지 않고 기억할 필요가 있고, 특히 강력해야 할 몇 개의 비밀번호가 있습니다. 디지털 보안 가이드를 읽고 수립한 보안 대책에서, 당신의 데이터를 암호화하여 완전히 잠그는 역할을 수행하는 비밀번호들이 여기에 속합니다. 최소한 당신 기기의 비밀번호, 전체 디스크 암호화와 같은 암호화 비밀번호, 그리고 비밀번호 관리자의 ‘마스터 비밀번호’가 여기에 속합니다. 이러한 성격의 비밀번호들은 다음과 같은 요건을 만족해야 합니다.
길어야 한다
강력한 비밀번호는 길어야 합니다. 외울 수 있는 한 가능한 한 긴 비밀번호일수록 좋습니다. 비밀번호라는 말의 어감은 숫자 4자리 혹은 숫자 6자리 정도로 짧아야 할 것만 같은 인상을 줍니다. 패스워드(낱말) 혹은 패스프레이즈(문장)라는 영어 표현이 뜻하는 것처럼, 길어야 합니다.
복잡해야 한다
강력한 비밀번호는 숫자로만 구성되거나, 혹은 단순한 영어 단어로만 구성되거나 해서는 곤란합니다. 무차별 대입 공격이 일어나도 어느 정도 시간을 버틸 수 있을 정도로는 복잡한 것이 좋습니다.
외울 수 있고 암호화되지 않은 채로는 기록이 남지 않아야 한다
비밀번호는 어딘가에 기록되어 남는 순간 그 기록을 열람할 수 있는 사람 모두에게 노출되기 때문에, 가급적 외울 수 있는 것이어야 합니다. 카카오톡 채팅창 같은 곳이나 이메일 같은 곳에 비밀번호를 적어두면 절대로 안 됩니다
나의 개인정보와 관련되지 않아야 한다
이름, 주민등록번호, 전화번호, 가족이나 친구의 이름, 생년월일 등 나와 관계된 단어를 사용하지 않아야 합니다.
다른 사람과 공유하지 않아야 한다
나 자신 이외의 다른 사람과 비밀번호를 공유하는 일은 없어야 합니다. 공유하는 순간부터 이미 ‘비밀번호’가 아니게 됩니다. 단체의 기기의 비밀번호 등 특수한 목적으로 단체 내에서 공유되어야 하는 비밀번호라면, 더 이상 해당 비밀번호를 공유해서는 안 되는 사람이 발생한 경우(단체 구성원의 변동 등) 비밀번호를 바꿀 수 있어야 합니다. 또한 비밀번호를 공유해야만 하는 순간에 제3의 인물이 어깨 너머로 비밀번호를 쳐다보거나 엿듣는 상황이 발생해도 곤란합니다.
다른 계정에서 쓰지 않아야 한다
하나의 계정의 비밀번호가 유출되면 다른 계정의 정보가 위험해지기 때문에, 서로 다른 계정에서 똑같은 비밀번호를 사용하고 있어서는 안 됩니다.
유출되지 않아야 한다
악성 코드 등이 설치되어서 컴퓨터나 스마트기기에 입력하는 비밀번호, 혹은 비밀번호 관리 도구에 설정한 마스터 비밀번호가 유출되는 순간, 비밀번호는 더 이상 비밀번호로 기능할 수 없습니다.
직접 입력하는 경우, 오타 없이 입력할 수 있어야 한다
비밀번호 관리 도구의 마스터 비밀번호처럼 직접 입력해야 하는 비밀번호의 경우, 비밀번호 입력 시 실수하지 않고 오타 없이 입력할 수 있어야 합니다. 자신이 사용하는 디지털 기기들에서, 예를 들어 PC의 키보드와 스마트폰의 키보드 양쪽 모두에서 실수 없이 오타 없이 입력할 수 있는 비밀번호를 선택하세요.
4. KeePassXC 사용법
KeePassXC는 비밀번호 관리 도구입니다. 다양한 웹사이트와 서비스에서 쓰이는 당신의 모든 비밀번호를 암호화하여 저장하는데 이용하는 프로그램입니다. 이 훌륭한 도구를 통해 당신은 서비스마다 각각 다르고 추측하기 힘들며 길고 강력한 비밀번호를 사용할 수 있습니다. 당신은 오로지 비밀번호 데이터베이스의 암호를 풀 수 있는 ‘마스터 비밀번호’만을 기억하면 됩니다.
물론 비밀번호 금고를 사용하는 경우, 공격자는 당신의 비밀번호 금고를 ‘단일 공격 지점’으로 삼고 어떻게든 비밀번호 금고의 비밀번호 데이터베이스와 ‘마스터 비밀번호’를 알아내려고 공격을 집중할 수도 있습니다. 완벽한 보안은 없고, 언제나 타협점이 존재한다는 것을 염두에 두고 KeePassXC 사용법을 익혀 봅시다.
KeePassXC 설치하기
KeePassXC 다운로드 페이지에서 자신의 운영체제에 맞는 파일을 다운받으세요. 윈도우의 경우 별도로 설치하지 않고 바로 실행할 수 있는 포터블 버전도 있습니다.
이 가이드에서는 ‘설치’를 완료했다고 가정합니다.
KeePassXC 처음 시작하기
설치한 KeePassXC를 실행합니다. 첫 화면에서 새 데이터베이스를 만들 수도 있고 기존에 사용하던 데이터베이스나 파일을 가져올 수도 있습니다.
[데이터베이스 만들기]를 선택합니다. 잘 알아볼 수 있도록 새 데이터베이스의 이름을 입력합니다. [설명]은 굳이 적지 않아도 됩니다.
암호화 설정을 통해 복호화에 걸리는 시간과 데이터베이스 파일의 형식을 지정하고 [계속]을 선택합니다. 마스터 비밀번호를 입력한 뒤에 개별 비밀번호를 확보할 수 있게 되기까지 걸리는 시간을 말합니다. 특별히 고민하지 말고 [계속]을 눌러도 됩니다.
이제 마스터 비밀번호를 입력합니다. [암호 입력]과 [암호 확인]에 같은 비밀번호를 입력하면 됩니다. 비밀번호를 입력하는 과정에서 마스터 비밀번호가 얼마나 안전한지 혹은 취약한지를 볼 수 있습니다.
[추가 보호 추가]를 선택하여, 마스터 비밀번호 외에도 특정한 파일을 키 파일로 지정할 수 있습니다. 예를 들어 [키 파일]을 특정한 USB 메모리에만 저장하고, KeePassXC를 쓸 때만 그 USB 메모리를 컴퓨터에 연결한다면 KeePassXC에 저장된 비밀번호를 더 안전하게 관리할 수 있습니다. [키 파일]의 이름이나 위치는 바뀌어도 괜찮지만, [키 파일]의 내용이 절대 바뀌지 않게 주의해야 합니다. [키 파일]의 내용을 사용하여 비밀번호 데이터베이스에 대한 추가 암호화가 진행되기 때문에, [키 파일]의 내용이 조금이라도 변경되면 비밀번호 데이터베이스를 복원할 수 없게 되기 때문입니다.
비밀번호 그룹 만들기
KeePassXC는 기본적으로 여러 개의 비밀번호를 편리하게 관리할 수 있도록 폴더 형식의 ‘그룹’을 나누어 줍니다. 이를테면 하나의 컴퓨터로 개인적인 일과 업무를 모두 처리한다면, ‘개인용’ 그룹과 ‘업무용’ 그룹 2개를 만들어 둘 수 있습니다. 메뉴바의 [그룹] 버튼을 선택하거나 왼쪽 창에서 마우스 우클릭으로 그룹과 그 하위 그룹을 생성, 삭제, 편집할 수 있습니다.
비밀번호의 저장, 생성, 편집
새로운 비밀번호를 생성하거나, 이미 사용중인 비밀번호를 저장하기 위해서는 원하는 그룹에서 마우스 우클릭을 통해 [새 항목]을 선택합니다. 또는 메뉴바에서 [항목] → [새 항목] 을 선택해도 됩니다.
새로운 비밀번호 항목이 무엇에 대한 비밀번호인지 알아볼 수 있도록 [제목]을 적습니다. 예를 들어 단체의 노션(Notion) 계정에 대한 항목이라면 제목은 간단하게 ‘단체 노션’이라고 적어도 되겠습니다. [사용자 이름]은 해당 비밀번호에 대응되는 계정, 즉 이메일 주소나 ID를 말합니다. KeePassXC가 직접 ID와 비밀번호를 입력하도록 하려면 [사용자 이름]은 정확하게 입력해야 합니다. URL 칸에는 이 비밀번호를 사용하는 서비스의 웹 주소를 입력합니다. 노션이라면 http://notion.so 처럼 하면 됩니다.
[암호]칸의 오른쪽에 있는 주사위 버튼을 클릭하면 KeePassXC가 직접 비밀번호를 만들어 줍니다. 주의할 점은 한국의 경우 비밀번호의 최대 길이를 제한하는 경우가 많다는 점입니다. 예를 들어 2024년 기준으로 네이버의 비밀번호 길이는 16글자로 제한됩니다. 비밀번호의 최대 길이를 제한하고 있는 사이트가 많으므로 이 점에 유의하여 생성시키고, [암호 적용]을 누르면 생성된 비밀번호가 앞 화면의 [암호]칸에 입력됩니다.
지정이 완료되었으면 [확인] 을 선택하여 비밀번호를 데이터베이스에 저장합니다. 변경 사항을 저장하기 위해 메뉴바에서 [데이터베이스 저장]을 선택하여 마무리합니다. 만일 비밀번호를 생성했다면 생성한 비밀번호를 실제로 해당 서비스에서 사용하도록 비밀번호 변경을 해 주세요.
통상적인 이용
비밀번호 데이터베이스의 어떤 항목을 이용하려면 해당 항목을 우클릭하여 [사용자 이름 복사]나 [암호 복사]를 선택 후 아이디와 비밀번호 입력을 원하는 서비스에 가서 ‘붙여넣기’를 하면 됩니다.
고급 이용
KeePassXC가 직접 웹 브라우저에 비밀번호를 입력하도록 할 수 있습니다. 모질라 파이어폭스, 토르 브라우저, 구글 크롬, 마이크로소프트 엣지, 비발디, 브레이브 브라우저 등을 사용하는 경우에 가능합니다. 자세한 사항은 KeePassXC 웹 브라우저 통합 플러그인 매뉴얼을 참고하세요.
다른 기능들
메뉴바의 [도구] → [데이터베이스 잠금]을 선택하여 KeePassXC를 잠글 수 있습니다. 이렇게 하면, KeePassXC를 실행된 상태로 놔두더라도 비밀번호 데이터베이스에 다시 접근할 때에 마스터 비밀번호를 입력해야 합니다. 혹은 특정한 시간 동안 이용하지 않으면 KeePassXC가 자동적으로 잠기도록 할 수도 있습니다. 이렇게 하면 잠깐 자리를 비운 사이 누군가가 비밀번호에 접근하는 것을 막을 수 있습니다. 이 기능을 사용하려면, [도구] → [설정]을 선택하여 [보안 항목]을 선택합니다. 그리고 [다음 시간 동안 활동이 없을 때 데이터베이스 잠금] 박스를 체크하고 적당한 시간을 설정합니다.
KeePassXC는 아이디와 비밀번호 외에 다른 것도 저장할 수 있습니다. 예를 들어, 계정 번호, 제품 키, 일련 번호, 혹은 다른 중요한 것들을 저장하기 위해 이용할 수도 있습니다. [암호] 칸에 들어가는 것이 실제 비밀번호일 필요는 없으며, KeePassXC가 대신 외우고 있길 바라는 무엇이든 상관없습니다.
KeePassXC는 2단계 인증 기법 중 TOTP를 지원하므로, <2-2-1 2단계 인증이란?>에서 소개하는 TOTP 2단계 인증을 위한 도구로 활용할 수 있습니다. 다만 KeePassXC를 TOTP 2단계 인증 도구로 사용하고자 할 경우, TOTP를 저장하기 위한 비밀번호 데이터베이스를 별도로 만드는 것을 권장합니다. 그렇지 않으면 하나의 비밀번호 데이터베이스와 이에 대한 마스터 비밀번호가 유출되는 것만으로도 2단계 인증을 위한 TOTP까지 유출될 수 있기 때문입니다.
스마트폰 등에서 사용하기
KeePassXC와 호환되는 스마트폰 비밀번호 관리 도구를 사용할 수 있습니다. 안드로이드폰의 경우 KeePassDX 등의 앱을 사용할 수 있으며, 아이폰의 경우 StrongBox등의 앱을 사용할 수 있습니다.
5. 비밀번호에 대한 FAQ
웹 브라우저에 내장된 비밀번호 관리 도구는 쓰면 안 되나요?
많은 웹 브라우저는 사용자가 웹 사이트에 아이디와 비밀번호를 이용하여 로그인하는 상황을 감지하면, 웹 브라우저에 비밀번호를 저장할지의 여부를 물어봅니다. 아래의 사진은 맥에서 실행중인 파이어폭스가 네이버 비밀번호를 웹 브라우저에 저장할지를 물어보는 화면입니다.
웹 브라우저에 내장된 비밀번호 관리 도구의 안전성은 웹 브라우저마다 큰 차이가 있습니다. 과거 한국에서 주로 사용된 마이크로소프트 윈도우 인터넷 익스플로러 등의 웹 브라우저는 사용자가 입력한 비밀번호를 나중에 대신 입력해주는 [자동 완성] 기능을 제공했는데, 컴퓨터를 사용하는 사람이 누구인지 확인하지 않기 때문에 다른 사람에게 잠깐 컴퓨터를 빌려줘도 그 사람이 나쁜 마음을 먹고 [자동 완성] 기능을 사용하여 나의 동의 없이 나의 이메일 등을 확인하는 상황을 막을 수 없었습니다. 통상적인 비밀번호 관리 도구라면 내가 잠시 자리를 비울 때 마스터 패스워드를 입력하도록 요구하도록 설정해서 이런 상황을 막을 수 있었겠지만요. 예를 들어, 아래 사진은 파이어폭스 웹 브라우저에 내장된 비밀번호 관리 도구에서 저장되어 있는 비밀번호를 열람하고 있는 장면을 보여줍니다.
만일 파이어폭스 웹 브라우저에 내장된 비밀번호 관리 도구를 안전하게 사용하고 싶다면, 다른 비밀번호 관리 도구와 마찬가지로 마스터 비밀번호를 설정해야 합니다. 파이어폭스 웹 브라우저에서는 [기본 비밀번호]라고 부릅니다. 기본적으로는 파이어폭스 설정의 개인정보 보안 설정 화면은 아래와 같이 [기본 비밀번호]에 체크가 해제되어 있습니다.
여기서 [기본 비밀번호 사용]을 체크하고 [기본 비밀번호], 즉 마스터 비밀번호를 설정하면 다른 비밀번호 관리 도구를 사용할 때와 비슷하게, 마스터 비밀번호를 알고 있는 경우에만 비밀번호 관리 도구를 사용할 수 있게 됩니다.
인터넷 익스플로러의 사례나 파이어폭스의 사례를 통해 살펴보면, 웹 브라우저에 내장된 비밀번호 관리 도구는 별도의 추가 설정 없이 사용할 경우 웹 브라우저 자체가 나의 비밀번호를 유출할 수 있는 주된 경로로 악용될 여지가 있습니다. 따라서 KeePassXC 등의 별도의 비밀번호 관리 도구를 사용하는 것 대비 어떤 장점, 단점이 있는지 명확히 파악하고 충분히 검토해보세요. 이를테면 오직 나 자신만 사용하는 것이 보장되는 PC에서 업무용 계정과 개인용 계정을 모두 사용하는 경우, 업무용 계정들에서 사용되는 비밀번호는 크로미움 브라우저와 KeePassXC를 사용하고, 개인적인 용무는 파이어폭스 웹 브라우저와 파이어폭스에 내장된 비밀번호 관리 도구를 사용하되 [기본 비밀번호]를 설정해두는 방식도 고려해볼 수 있습니다.
인터넷 익스플로러의 경우 [자동 완성]기능의 보안이 매우 취약한 것으로 알려져 있습니다. 인터넷 익스플로러의 [자동 완성]기능에 저장된 암호를 손쉽게 추출하는 악성코드도 있습니다. 물론 마이크로소프트가 인터넷 익스플로러에 대한 기술지원을 완전히 중단하였기 때문에, 2024년의 한국에서 더 이상 인터넷 익스플로러를 사용하는 경우를 찾아보기는 어렵겠습니다. 이처럼 안전하지 않다는 사실이 정평이 나 있는 웹 브라우저에 비밀번호를 저장하는 것은 당연히 위험한 선택입니다.
비밀번호에 한글을 쓸 수 있나요?
한국의 시중 은행 통장이나 신용카드의 비밀번호에는 오직 4자리 혹은 6자리의 숫자만 입력할 수 있지만, 네이버 등의 포털 사이트의 비밀번호에는 숫자 이외에도 영어 알파벳, 특수문자 등을 입력할 수 있습니다. 이처럼 비밀번호에 어떤 문자를 쓸 수 있는지의 여부는 사용중인 웹사이트, 서비스마다 다릅니다. 대개 한국에서는 영어 알파벳을 입력할 때 QWERTY 자판을 많이 사용하고 한글을 입력할 때 두벌식 자판을 많이 사용하기 때문에, 두벌식 자판 기준으로 한글을 입력할 때 대응되는 QWERTY 자판의 영어 알파벳을 입력하게 되는 경우가 많습니다. 이를테면 비밀번호를 ‘내 비밀번호는 정말 강력해’라고 적고 싶다면 ‘so qlalfqjsghsms wjdakf rkdfurgo’를 사용하는 식입니다. 이런 특성 때문에 한국에서 사용되는 많은 스마트폰 키보드에서도 비밀번호를 입력하는 화면에서 한글 자판을 입력하면 두벌식 자판, QWERTY 자판 기준으로 대응되는 영어 알파벳을 대신 입력하는 모습을 볼 수 있습니다. 따라서, 현 시점에는 비밀번호에 한글을 직접 쓸 수는 없고 대신 한글 자판에 대응되는 영어 알파벳을 쓰는 경우가 대부분이라고 이해하면 되겠습니다.
비밀번호를 잊어버린 경우, 비밀번호를 알려주지 않는 이유는 무엇인가요?
과거 한국에서는 사용자의 비밀번호를 데이터베이스에 복원 가능한 형태로 저장해 두는 웹 서비스가 상당수 있었습니다. 이러한 서비스들은 ‘비밀번호 찾기’등의 메뉴를 제공하였고, 사용자가 자신의 신원을 적당한 방법으로 인증하면 ‘비밀번호’를 이메일로 보내주곤 하였습니다. 하지만 2024년 현재는 이렇게 자신의 ‘비밀번호’를 알려주는 서비스는 대부분 사라졌습니다.
사용자가 인증을 위해 비밀번호를 입력하면, 많은 경우 비밀번호는 ‘일방향 해시’같은 특수한 기법을 사용하여 전송됩니다. 데이터베이스에는 이렇게 ‘일방향 해시’처리된 비밀번호가 저장됩니다. 이후 사용자가 인증을 위해 비밀번호를 입력하면 그 비밀번호를 그대로 사용하지 않고 ‘일방향 해시’처리된 정보를 이용하여 데이터베이스에 저장된 내용과의 동일성을 검증합니다. 데이터베이스에 저장된 내용만 갖고는 원래의 비밀번호가 무엇이었는지 알아내는 것이 수학적으로 어렵다는 게 보장되는 형태로 저장하기 때문에, 사용자가 비밀번호를 잊어버리면 데이터베이스가 있더라도 그 비밀번호가 무엇이었는지 알아낼 수 없게 되는 것입니다.
비밀번호를 복원 가능한 형태로 데이터베이스에 저장해둔다면 그 데이터베이스가 유출될 때 치명적인 보안 사고가 발생하게 됩니다. 따라서 현재는 ‘비밀번호 찾기’라는 이름의 기능은 많은 경우 ‘비밀번호 재설정’ 기능으로 대체되어 있습니다. ‘비밀번호 재설정’은 비밀번호를 분실했지만 자격이 있는 사람임을 다른 방식으로 ‘인증’한 사람에게 새롭게 비밀번호를 설정할 수 있도록 하는 기능입니다. 정리하면, 비밀번호를 잊어버린 사람에게 비밀번호를 알려줄 수 없는 이유는 현대적인 비밀번호 관리 체계에서는 실제로 서비스 운영 주체가 사용자의 비밀번호를 알아낼 방법이 없기 때문이고, 없어야 하기 때문입니다.
만일 <4-1 파일과 저장기기> 등에서 다루는 파일 등의 ‘암호화’에 비밀번호를 사용하는 경우라면, 파일의 암호화에 사용된 비밀번호를 분실하면 그 파일의 내용은 영원히 복원할 수 없습니다.