자료 · 2026년 8월 갱신
제로 지식 암호화란 무엇인가?
저장 서비스가 "제로 지식"이라는 것은, 원하더라도, 명령을 받더라도, 침해를 당하더라도 자신이 보관하는 데이터를 읽을 수 없다는 뜻입니다. 그 원리와, 진짜 제로 지식과 마케팅 문구를 구분하는 법을 설명합니다.
한 문장으로 말하면
데이터는 무엇이든 전송되기 전에 사용자의 기기에서 본인만 아는 비밀로 만든 키로 암호화되며, 따라서 서비스는 복호화할 방법이 전혀 없는 암호문을 저장합니다.
이 이름은 암호학의 "영지식 증명"에서 빌려 온 것이지만, 저장 서비스 분야에서는 훨씬 단순하고 아주 실용적인 뜻입니다. 고객의 평문에 대한 공급업체의 지식이 0이라는 것입니다.
실제 작동 원리
- 사용자가 마스터 비밀번호를 정합니다. 이 값은 기기를 벗어나지 않습니다. 로그인할 때 전송되지 않고, 서버에 저장되지 않으며, 고객지원이 복구할 수도 없습니다.
- 키 유도 함수가 그 값을 키로 늘립니다. 최신 시스템은 Argon2id를 사용합니다. 이 함수는 의도적으로 메모리를 많이 씁니다(Keyvaci는 추측 1회당 64 MiB). 그래서 수십억 번의 무차별 대입은 경제적으로 말이 되지 않습니다.
- 사용자의 기기가 그 키로 모든 것을 암호화합니다(또는 그 키가 보호하는 키들로). XChaCha20-Poly1305 같은 인증 암호화를 사용해 데이터를 감추는 동시에 위변조를 탐지합니다.
- 이동하는 것은 암호문뿐입니다. 서버는 그것을 저장하고, 복제하고, 백업할 뿐 그 밖에는 아무것도 할 수 없습니다.
무엇을 막아 주는가
- 공급업체의 침해 사고. 데이터베이스 전체를 가져간 공격자가 얻는 것은 암호문이며 키는 없습니다. 공급업체가 데이터를 읽을 수 있었기에 공격자도 읽을 수 있었던 침해 사례들과 비교해 보십시오.
- 공급업체의 내부자. 악의를 가진 직원이 고객의 평문에 대해 가지는 접근 권한은 외부 공격자와 같습니다. 즉 없습니다.
- 법적 강제. 공급업체는 자신이 보유한 것만 넘길 수 있습니다. 암호문이 정직한 최대치입니다.
- 데이터를 인질로 삼는 종속. 공급업체가 고객의 데이터를 읽을 수 없다면 "돈을 내지 않으면 잃는다"는 압박은 힘을 잃습니다. 물론 진지한 공급업체라면 당연히 그래야 하듯, 내보내기 권한도 함께 약속해야 합니다.
무엇을 막아 주지 못하는가
정직한 공급업체는 이 부분을 분명히 말합니다.
- 사용자 기기의 침해. 복호화는 사용자가 있는 곳에서 일어나므로, 그 기기의 악성코드는 사용자가 보는 것을 함께 봅니다.
- 약한 마스터 비밀번호. 키 유도는 추측 속도를 늦출 뿐, "password123"을 안전하게 만들지는 못합니다. 기발함보다 길이가 낫습니다.
- 키 분실. 애초에 가진 적 없는 것을 공급업체가 재설정해 줄 수는 없습니다. 진지한 기업용 제품은 조직이 보유하는 복구 키로 이 문제를 해결합니다. 공급업체에게 어떤 권한도 주지 않으면서 복구가 가능해집니다. Keyvaci의 복구가 바로 그런 방식입니다.
거짓 주장을 드러내는 질문들
1. "고객지원 팀이 제 마스터 비밀번호를 재설정할 수 있습니까?" 그렇다고 답한다면, 그들은 데이터를 복호화할 수 있는 무언가를 보유하고 있는 것입니다.
2. "정확히 어떤 필드가 클라이언트 측에서 암호화됩니까?" 어떤 제품은 항목의 비밀번호는 암호화하면서 제목과 주소, 구조는 읽을 수 있게 둡니다. Keyvaci는 항목과 보관함 이름까지 암호화하며, 저장하는 것의 목록을 공개합니다.
3. "SSO로 로그인하면 암호화 키는 어디서 옵니까?" 좋은 답변이라면 키 유도를 사용자의 기기에 남겨 두는 구체적인 방식을 제시합니다. Keyvaci에서 SSO는 당신이 누구인가에만 답하며, 키는 여전히 마스터 비밀번호에서만 나옵니다.
4. "결제를 중단하면 제 데이터는 어떻게 됩니까?" 제로 지식에 무기한 읽기 전용이 더해지면 신뢰할 만합니다. 제로 지식에 삭제 위협이 더해지면 그 자체로 앞뒤가 맞지 않습니다.
팀 환경에서의 제로 지식
다중 사용자 보관함에는 실질적인 난제가 하나 더 있습니다. 공유란 동료의 공개 키로 보관함 키를 암호화하는 일인데, 그 공개 키가 정말 그 동료의 것일 때에만 안전하다는 점입니다. Keyvaci는 조직 연대 서명으로 이를 해결합니다. 관리자가 각 구성원의 키 대조 코드를 시스템 밖의 경로로 확인한 뒤 연대 서명하고, 모든 기기가 무언가를 공유하기 전에 그 서명을 검증합니다. 보관함에 침입하려는 공격자는 시스템 밖의 경로에서, 사람인 관리자를 속여 자신의 키에 서명하게 만들어야 합니다.
서버가 실제로 무엇을 받는지까지 포함해 이 모든 것이 어떻게 동작하는지 보고 싶으십니까. 홈페이지의 인터랙티브 시연을 이용해 보시거나, 전체 보안 아키텍처를 읽어 보십시오.