1Password,구글 비밀번호 관리자는 어떻게 안전할까? 마스터 비밀번호와 암호화
요즘 보통 사람의 계정 수는 가뿐히 100개를 넘습니다. 쇼핑몰,SNS,은행,회사 도구,뉴스 사이트까지, 가입을 누르는 순간 또 하나의 비밀번호가 생깁니다. 사람이 100개를 다 다르게 외울 수는 없으니, 결국 같은 비밀번호를 여기저기 돌려쓰거나 메모장에 모아 두는 식으로 빈틈이 생깁니다. 그 문제를 해결하려고 등장한 것이 1Password,Bitwarden,구글 비밀번호 관리자 같은 도구입니다.
이번 글에서는 비밀번호 관리자가 어떤 구조로 안전을 만들어 내는지, 그리고 “비밀번호를 한곳에 모아 두는 게 오히려 더 위험하지 않냐"는 의심에 어떤 답을 내놓는지를 코드 없이 정리하겠습니다.
비밀번호 한 개로 나머지를 잠그는 금고 #
비밀번호 관리자의 출발점은 단순합니다. 사용자가 외우는 비밀번호는 하나만 두고, 나머지 비밀번호는 그 하나로 잠가 둔 금고 안에 보관한다는 발상입니다. 외워야 하는 비밀번호 한 개를 보통 마스터 비밀번호라고 부릅니다. 마스터 비밀번호를 입력해 금고를 열어야 비로소 다른 사이트의 비밀번호를 꺼내 쓸 수 있습니다.
이렇게 두면 “한 곳에 다 모여 있는데 더 위험하지 않냐"는 의문이 자연스럽게 따라옵니다. 답은 두 가지 장치에 있습니다. 첫째, 금고 자체는 강력한 알고리즘으로 암호화돼 마스터 키 없이는 컴퓨터로도 푸는 데 비현실적인 시간이 걸립니다. 둘째, 어디에 저장되든 그 안의 내용은 푸는 데 필요한 키 없이는 그냥 의미 없는 문자열입니다.
서버도 풀 수 없는 영지식 구조 #
여러 기기에서 비밀번호를 공유하려면 클라우드 동기화가 필요합니다. 그런데 동기화하려면 회사 서버에 금고 파일이 올라간다는 뜻이고, 그 회사가 해킹되거나 직원이 들여다보면 어쩌나 하는 걱정이 또 생깁니다.
여기서 등장하는 개념이 영지식(zero-knowledge) 구조입니다. 핵심은 한 줄로 정리됩니다. 회사 서버에는 처음부터 풀 수 없는 형태로 올라간다는 것입니다. 사용자의 기기에서 마스터 비밀번호로부터 암호화 키를 만들어 내고, 그 키로 금고를 잠근 다음 잠긴 금고만 서버로 보냅니다. 마스터 비밀번호는 서버로 전송되지 않으므로 회사도, 회사 직원도 그 금고를 풀 수 없습니다. 1Password,Bitwarden 같은 전용 서비스가 강조하는 안전성의 근거가 여기 있습니다.
그래서 마스터 비밀번호를 잊으면 회사가 도와줄 방법이 없다는 점도 같은 동전의 양면입니다. 풀 수 있다면 회사도 들여다볼 수 있다는 뜻이 되니까요.
자동 입력이 사실은 가장 큰 보안 장치 #
비밀번호 관리자의 자동 입력은 편리한 기능 정도로 보이지만, 실제로는 피싱을 막는 강력한 안전장치입니다. 비밀번호 관리자는 비밀번호를 저장할 때 그 비밀번호가 어떤 도메인의 것인지를 함께 기록해 둡니다. 다음에 자동 입력을 띄울 때는 지금 보고 있는 사이트의 도메인이 저장된 도메인과 정확히 같아야만 비밀번호를 꺼내 줍니다.
피싱 사이트는 보통 진짜와 한 글자만 다른 도메인을 씁니다(google.com 대신 goog1e.com 같은 식). 사람은 속아 비밀번호를 입력할 수 있지만 비밀번호 관리자는 도메인이 다르다는 사실을 정확히 알아채고 자동 입력을 띄우지 않습니다. “오늘 자동 입력이 안 뜨네"라는 작은 위화감이 곧 의심의 출발점이 되는 셈입니다. HTTPS의 자물쇠가 통신 자체를 보호한다면(주소창의 자물쇠는 무엇을 지키는가 참고), 자동 입력은 그보다 한 발 앞에서 “이 사이트가 정말 그 사이트가 맞는지"를 가려 줍니다.
약점과 운영 요령 #
영지식 구조라고 해서 무적은 아닙니다. 가장 큰 약점은 마스터 비밀번호 자체입니다. 마스터가 약하거나 다른 곳에서 새어 나가면 그 한 개로 금고 전체가 풀립니다. 그래서 마스터는 충분히 길게 만들고, 가능한 한 2단계 인증을 같이 켜 두는 것이 표준 운영입니다.
브라우저에 저장하는 비밀번호와 전용 앱 사이의 차이도 알아 둘 만합니다. 크롬,사파리에 저장된 비밀번호는 편리하지만 보통 PC,맥의 잠금 비밀번호로만 보호됩니다. 전용 비밀번호 관리자는 별도의 마스터 비밀번호로 한 겹 더 막고, 일정 시간이 지나면 다시 묻도록 잠금이 따로 돌아가게 해 한 단계 더 격리합니다.
비밀번호가 사라지는 방향, 패스키 #
지금까지의 모든 이야기는 결국 사람이 비밀번호를 외운다는 전제 위에 있습니다. 최근 표준화된 패스키는 그 전제 자체를 바꾸려는 시도입니다. 기기 안의 보안 칩이 사이트마다 다른 키 쌍을 만들고, 사람은 지문이나 얼굴 인식 같은 잠금만 풀면 그걸로 충분합니다. 사람이 외울 비밀번호 자체가 존재하지 않으므로 데이터가 새 나가도 비밀번호로 쓰일 수 없고, 도메인이 다르면 키가 동작하지 않아 피싱도 막힙니다.
비밀번호 관리자들은 이미 패스키를 함께 저장하고 동기화하는 방향으로 진화 중입니다. 한동안은 비밀번호와 패스키가 같은 금고 안에 공존하다가, 새 가입은 점점 패스키로 옮겨 가는 흐름이 이어질 것입니다.
결국은 한 자물쇠를 잘 관리하는 일 #
비밀번호 관리자를 쓰는 일은 100개의 자물쇠를 하나씩 다 외우는 대신 하나의 좋은 자물쇠를 잘 관리하는 일로 바꾸는 작업입니다. 그 한 개를 충분히 강하게 만들고, 2단계 인증을 더하고, 마스터를 절대 다른 사이트와 공유하지 않는다면, 비밀번호 100개를 머리로 외우려 애쓰는 것보다 훨씬 안전한 상태가 됩니다.