사진 금고의 그럴듯한 부인 가능성
이 말이 실제로 무엇을 뜻하는지, Obscura Photo Vault가 이를 어떻게 구현하는지, 그리고 보호가 어디서 끝나는지 정확히 설명합니다.
Obscura Photo Vault에서 그럴듯한 부인 가능성(plausible deniability)은 직접 확인할 수 있는 한 가지 구체적인 것을 뜻합니다. 앱은 항상 잠긴 금고 슬롯 10개를 유지하며, 10개 모두 겉으로는 똑같아 보입니다. 그래서 휴대폰에서 파일을 복사해 간 사람은 내가 어느 슬롯을 쓰는지 구별할 수 없을 것으로 예상됩니다. 보여 줘도 괜찮은 사진으로 채운 두 번째 금고는 첫 번째 금고와 똑같이 작동합니다. 배너도, 금고 목록도, 개수 표시도 없습니다.
이는 보장이 아니라 나에게 유리한 의문의 여지를 만들어 줍니다. 보호가 끝나는 알려진 지점은 네 곳입니다. 휴대폰에 있는 사진 파일의 수, 열한 번째 금고, iCloud 키체인, 그리고 화면에 그대로 보이는 앱 자체입니다. 네 가지 모두 아래에서 설명합니다.
1. 이 말, 그리고 저희가 실제로 주장하는 것
‘그럴듯한 부인 가능성’은 다른 분야에서 빌려 온 말입니다. 앱 마케팅에서는 보통 일부러 모호하게 남겨 둡니다. 저희는 무엇을 뜻하는지 정확히 말하고 싶습니다. 정확한 주장은 확인할 수 있고, 모호한 주장은 확인할 수 없기 때문입니다.
정확한 주장은 이렇습니다. Obscura Photo Vault는 휴대폰에 항상 잠긴 금고 파일 10개를 유지합니다. 그 파일을 복사해서 읽기만 할 수 있는 사람은 어느 것이 실제 금고이고 어느 것이 한 번도 쓰이지 않았는지 알아낼 수 없을 것으로 예상됩니다. 기술적인 이름은 오프라인 슬롯 열거에 대한 저항입니다. 쉬운 말로 하면, 파일만으로는 내가 금고를 몇 개 쓰는지 드러나지 않는다는 것입니다.
“이것이 만들어 내는 것은 확실성이 아니라 모호함입니다. 파일 시스템의 증거로 사용자의 금고를 열거하는 공격자의 능력을 약화시키지만, 강요에 대한 보장이 되지는 않으며, 명확하게 정의된 한계가 있습니다.”
이 페이지의 모든 내용은 이 문장에서 나옵니다. 가장 주의 깊게 읽으실 부분은 4번 섹션입니다. 보호가 끝나는 곳이기 때문입니다.
2. 어떻게 만들어졌나요
‘숨겨진’ 두 번째 금고를 만드는 흔한 방법은 플래그입니다. 플래그란 앱 데이터 어딘가에 이 금고는 진짜, 이 금고는 위장이라고 적어 두는 표시입니다. 누군가 데이터를 읽는 순간 실패합니다. 플래그가 곧 답이기 때문입니다.
여기에는 플래그가 없습니다. 대신 이렇게 합니다.
슬롯 10개가 모두 실제 금고입니다
앱을 처음 열면, 앱은 쓰이지 않는 모든 슬롯을 완전하고 유효한 금고 파일로 채웁니다. 각 슬롯은 자체 무작위 데이터, 자체 잠긴 키, 실제로 비어 있는 자체 데이터베이스, 자체 무작위 채움 데이터를 갖습니다. 위장 슬롯이라고 부르는 것은 오직 내가 비밀번호를 정하지 않았기 때문입니다. 휴대폰에서는 매일 쓰는 금고와 똑같아 보입니다.
쓰이지 않는 슬롯에도 실제 비밀번호가 있습니다
쓰이지 않는 각 슬롯은 휴대폰에 저장된 비밀 값으로 앱이 만든 비밀번호로 잠겨 있습니다. 핵심은 무언가가 빠져 있다는 이유로 ‘비어 있음’이 드러나는 일이 없다는 것입니다. 내가 정했든 아니든 모든 슬롯에 비밀번호가 있습니다.
파일 크기는 무작위입니다
모든 금고 데이터베이스는 2~15메가바이트 사이의 무작위 크기로 채워집니다. 그러지 않으면 파일 크기만으로도 어느 금고에 사진이 있는지 드러날 것입니다.
앱은 금고 목록을 보여 주지 않습니다
앱 안에는 금고 목록도, 개수도, 금고 사이를 전환하는 방법도 없습니다. 비밀번호는 금고 하나를 열고, 내가 보는 것은 그 금고뿐입니다. 이 점이 중요합니다. 아무리 좋은 설계라도 화면에 ‘금고 2/4’라고 표시되는 순간 무너집니다.
사진은 하나의 공용 공간에 저장됩니다
모든 금고의 암호화된 사진과 동영상은 무작위 파일 이름으로 한 폴더에 함께 저장됩니다. 이 폴더는 파일을 금고별로 묶지 않습니다. 각 파일은 한 금고의 키에 잠겨 있습니다. 그래서 위장 금고는 자기 것이 아닌 사진을 자기 것이라고 할 수 없고, 그 사진을 보여 주도록 만들 수도 없습니다.
3. 잠금 해제가 일부러 느린 이유
시간이 답을 흘릴 수 있습니다. 앱이 슬롯을 차례로 시도하다가 처음 맞는 슬롯에서 멈춘다고 해 봅시다. 그러면 2번 슬롯의 금고가 9번 슬롯의 금고보다 빨리 열립니다. 잠금 해제 시간을 몇 번 재 본 사람은 배치를 알아낼 수 있습니다.
그래서 앱은 결코 일찍 멈추지 않습니다. 잠금을 해제할 때마다 쓰이지 않는 슬롯까지 포함해 모든 슬롯을 시도하고, 10개를 모두 마친 뒤에야 결정합니다.
그래서 잠금 해제에 잠깐 시간이 걸립니다. 의도된 지연입니다. 비밀번호를 키로 바꾸는 과정도 마찬가지로 일부러 느립니다. 두 지연 모두 위에서 설명한 보호를 위해 치르는, 눈에 보이는 대가입니다.
4. 보호가 끝나는 곳
알려진 한계가 네 가지 있습니다. 이를 모르고서는 이 기능이 나에게 맞는지 판단할 수 없으므로 공개합니다.
4.1 사진 파일의 수
금고 파일은 모두 똑같아 보입니다. 사진 파일은 그렇지 않습니다. 휴대폰의 포렌식 사본, 암호화되지 않은 백업, 또는 탈옥된 기기를 이용해 내 휴대폰의 저장 공간을 직접 읽을 수 있는 사람을 생각해 보세요. 그리고 그 사람이 나에게서 위장 금고의 비밀번호까지 얻었다고 해 봅시다. 그 사람은 위장 금고를 열어 사진 수를 세고, 휴대폰에 있는 암호화된 사진 파일의 전체 수와 비교할 수 있습니다. 숫자가 다르면 다른 금고에 사진이 있다는 뜻입니다.
위장 금고에 사진을 더 넣어도 이 문제는 해결되지 않습니다. 비교는 개별 파일을 맞춰 보는 것이 아니라 전체 수로 이루어집니다. 이 한계는 휴대폰 저장 공간에 직접 접근할 수 있는 사람에게만 해당합니다. 앱 안에서는 이를 볼 방법이 없습니다. 열린 위장 금고는 자기 사진만 보여 주며, 다른 슬롯에 대해서는 아무것도 보여 주지 않습니다.
4.2 금고가 10개보다 많을 때
슬롯은 항상 10개가 존재합니다. 열한 번째 금고를 만들면 앱은 열한 번째 파일을 만들어야 합니다. 그 추가 파일 자체가 단서가 됩니다. 금고 파일을 세는 사람은 앱에 보통 10개가 있어야 할 자리에 11개를 보게 됩니다.
이는 실제 맞바꿈이며, 앱은 그 선택을 사용자에게 맡깁니다. 이 보호보다 정리가 더 중요하다면 금고를 더 만들 수 있습니다. 이 보호 때문에 이 앱을 골랐다면 10개 이내로 유지하세요.
4.3 iCloud 키체인
쓰이지 않는 슬롯의 비밀번호를 만드는 데 쓰이는 비밀 값은 iCloud 키체인을 통해 내 기기들 사이에서 공유됩니다. 그래서 iPhone과 iPad에서 쓰이지 않는 슬롯이 일관되게 유지됩니다. 대가는 이렇습니다. iCloud 키체인이 켜져 있을 때 내 Apple 계정에 로그인할 수 있는 사람은 다른 기기를 이용해 그 위장 비밀번호를 알아낼 수 있습니다. 그 한 사람에게는 이 보호가 통하지 않습니다.
저희는 기기 간 일관성을 위해 그 맞바꿈을 택했습니다. 걱정하는 상대가 그런 사람이라면, 보안 문서는 기기에서 iCloud 키체인을 끄는 것을 제안합니다.
4.4 앱은 보입니다
여기 있는 어떤 것도 Obscura Photo Vault가 설치되어 있다는 사실을 숨기지 않습니다. 앱은 홈 화면과 내 Apple 계정의 구입 내역에 나타납니다. 이 보호는 휴대폰에 있는 파일에 관한 것입니다. 내가 사적인 사진을 보관하고 있다는 사실을 숨기지는 않습니다.
5. 실제로 쓸모 있는 경우
이 기능이 해결하는 일상적인 상황은 흔합니다. 누군가 잠금 해제된 내 휴대폰을 들고 있거나 사진을 보여 달라고 할 때, 거절하기보다는 무언가를 보여 주고 싶은 경우입니다.
앱에는 금고 목록도 개수 표시도 없으므로, 다른 비밀번호로 두 번째 금고를 열면 실제 사진이 든 실제로 작동하는 금고가 보입니다. 빈 화면도, ‘위장 모드’ 같은 표시도, 다른 금고가 있다는 단서도 화면에 없습니다. 상대는 앱이 평소처럼 쓰이는 모습을 봅니다. 실제로 그렇기 때문입니다.
그것이 전부입니다. 많은 사람이 실제로 마주하는 상황에 쓸모 있는 보호입니다. 그 이상은 아닙니다.
6. 이 기능이 아닌 것
여기서는 분명하게 말씀드리고 싶습니다. 금고 앱들이 많은 것을 암시하면서 아무것도 약속하지 않는 경향이 있는 영역이기 때문입니다.
끈질기게 요구하는 사람을 막는 수단이 아닙니다. 이는 휴대폰에 있는 파일의 특성입니다. 내가 입력하는 것을 지켜보는 사람, 앱에 금고가 여러 개 있다는 것을 아는 사람, 그냥 계속 요구하는 사람에게는 도움이 되지 않습니다. 소프트웨어로 그런 상황을 해결할 수는 없습니다. 그럴 수 있다고 암시하는 앱은 과장하고 있는 것입니다.
법률 조언이 아니며, 법적 상황을 위한 도구도 아닙니다. 저희는 이 기능이 어디에서든 어떤 법적 절차와 관련해 어떻게 작용하는지에 대해 아무것도 주장하지 않습니다. 여기 있는 어떤 내용도 그런 절차에 대한 안내로 읽어서는 안 됩니다. 법적 질문이 있다면 앱 개발사의 웹사이트가 아니라 변호사에게 문의하세요.
암호화를 대신하는 것이 아닙니다. 실제로 데이터를 지키는 것은 내가 정한 비밀번호로 만든 키로 파일이 암호화된다는 점입니다. 금고 슬롯은 그 위에 얹혀 있습니다. 하나만 남겨야 한다면 암호화를 남기세요.
7. 자주 묻는 질문
사진 금고 앱에서 그럴듯한 부인 가능성이란 무엇인가요?
휴대폰에 저장된 데이터만으로는 실제 사진이 들어 있는 금고가 몇 개인지 알 수 없다는 뜻입니다. Obscura Photo Vault의 정확한 주장은 이보다 좁습니다. 금고 파일 10개가 항상 존재하고 모두 유효한 파일이므로, 그 파일을 읽는 사람이 어느 것이 사용 중인지 구별할 수 없을 것으로 예상된다는 것입니다. 보장이 아니라 나에게 유리한 의문의 여지를 만들어 주는 것이며, 알려진 한계가 있습니다.
위장 금고는 어떻게 작동하나요?
다른 비밀번호로 두 번째 금고를 만들고, 보여 줘도 괜찮은 사진으로 채웁니다. 앱에는 금고 목록도 개수 표시도 없습니다. 그래서 그 비밀번호로 열면 실제 사진이 든 실제로 작동하는 금고가 보이고, 다른 금고가 있다는 단서는 없습니다. 가짜가 아니라 실제 금고입니다. 바로 그래서 효과가 있습니다. 찾아낼 가짜가 없기 때문입니다.
위장 금고는 모든 것을 숨겨 주나요?
아니요, 그리고 그 한계는 공개되어 있습니다. 휴대폰의 저장 공간을 직접 읽을 수 있는 사람은 열린 위장 금고의 사진 수를 세어 휴대폰에 있는 사진 파일의 전체 수와 비교할 수 있습니다. 숫자가 다르면 다른 금고에 사진이 있다는 뜻입니다. 금고를 10개보다 많이 만들면 스스로를 드러내는 파일이 하나 더 생깁니다. 그리고 앱이 설치되어 있다는 사실 자체는 숨겨지지 않습니다.
금고는 몇 개를 만들어야 하나요?
보통은 두 개입니다. 내가 쓰는 금고, 그리고 기꺼이 보여 줄 수 있는 사진을 담은 금고입니다. 이 보호 기능 때문에 이 앱을 골랐다면 10개 이하로 유지하세요.
앱은 어느 금고가 진짜인지 알고 있나요?
아니요. 앱 안에는 그런 구분 자체가 없습니다. 비밀번호는 그에 맞는 슬롯을 열 뿐입니다. 이것이 진짜라고 표시하는 것이 없으며, 바로 그래서 파일을 읽는 사람이 찾아낼 것이 없습니다.
앱을 보면 내가 금고를 몇 개 쓰는지 알 수 있나요?
앱 자체로는 알 수 없습니다. 목록도, 개수도, 금고 사이를 오가는 방법도 없습니다. 이를 알아내는 알려진 방법은 4번 섹션에 있으며, 모두 휴대폰 저장 공간에 직접 접근해야 합니다.
왜 약점을 공개하나요?
모르는 한계에는 대비할 수 없기 때문입니다. 그리고 한계를 밝히지 않은 주장은 확인할 수 없습니다. 한계는 보안 문서에 더 기술적으로 자세히 나와 있습니다.
출처
- Obscura Photo Vault 보안 문서 5.6: 구별 불가능성의 한계
- 보안 문서 5.5: 추가 슬롯이 구별 불가능성을 깨는 경우
- 보안 문서 5.4: 기기 비밀 값
- 보안 문서 11.5: iCloud 키체인의 기기 비밀 값
- AES-256-GCM과 PBKDF2 600,000회 반복 쉽게 이해하기
Obscura Photo Vault
iPhone용 암호화 사진 금고입니다. 사진과 동영상은 기기에서 AES-256-GCM으로 암호화됩니다. 계정도, 서버도, 분석 도구도 없으며, 네트워크 연결 없이 작동합니다. 비밀번호를 잊으면 저희를 포함해 누구도 내용을 복구할 수 없습니다.
App Store에서 보기 →