Lockspeare가 사진을 보호하는 방법
Lockspeare는 휴대폰의 모든 사진과 동영상을 암호화해요. 이 페이지에서는 보호하지 못하는 부분까지 포함해 그 방법을 정확히 설명하니, 직접 판단해 보세요.
요약
- 모든 사진과 동영상은 저장되기 전에 휴대폰에서 AES-256-GCM으로 암호화돼요.
- 금고를 여는 키는 두 겹으로 보호돼요. 하나는 내 PIN이나 패턴, 다른 하나는 휴대폰 밖으로 절대 나가지 않는 Android Keystore의 하드웨어 기반 키예요.
- 휴대폰 저장공간을 복사해도 암호화된 데이터만 나와요. 휴대폰의 보안 하드웨어 없이는 누구도 그 데이터에 PIN이나 패턴을 대입해 볼 수 없어요.
- 다른 휴대폰이나 백업에서 금고를 여는 유일한 방법은 12단어 복구 문구예요.
- Lockspeare에는 서버도 계정도 없어요. 저희는 파일, PIN이나 패턴, 키를 절대 받지 않아요.
무엇이 암호화되나요
금고에 넣는 모든 것이요. 사진, 동영상, 썸네일, 원래 파일 이름, 날짜, 앨범까지요.
각 파일은 금고의 마스터 키에서 만든 고유한 키로 암호화돼요. 큰 파일은 1MB 단위로 나눠 암호화하고, 조각마다 무결성 검사가 따로 붙어요. 그래서 파일 전체를 한 번에 복호화하지 않고도 동영상을 재생할 수 있고, 암호화된 파일이 조금이라도 바뀌면 바로 알아챌 수 있어요. 암호화를 직접 만들지 않고 Google의 Tink 라이브러리를 사용해요.
암호화된 파일은 Lockspeare의 비공개 앱 저장공간에 무작위 이름으로 저장돼요. 모든 금고의 파일이 같은 폴더에 있기 때문에, 폴더만 봐서는 어떤 파일이 어느 금고 것인지 알 수 없어요.
PIN이나 패턴으로 금고가 열리는 방식
Lockspeare를 설정할 때 잠금 해제 방식을 골라요. 6자리 이상의 PIN, 또는 잠금 화면처럼 3×3 격자 위에 그리는 패턴이에요. 휴대폰의 모든 금고가 같은 종류의 잠금을 쓰기 때문에 잠금 화면만 봐서는 아무것도 알 수 없어요.
금고마다 휴대폰에서 만들어진 무작위 256비트 마스터 키가 있어요. 이 키는 읽을 수 있는 형태로 저장되지 않아요. 대신 두 가지 잠긴 형태로 저장돼요.
이 휴대폰에서 PIN이나 패턴으로 잠근 형태. PIN이나 패턴은 Argon2id로 키로 바뀌어요. Argon2id는 추측 한 번 한 번이 느리고 메모리를 많이 쓰도록 설계된 알고리즘이에요. 그 결과를 휴대폰 보안 하드웨어 안의 Android Keystore에 있는 키로 한 번 더 암호화해요. 이 두 번째 키는 휴대폰 밖으로 복사할 수 없어요.
이게 중요한 이유는 PIN이나 패턴이 짧기 때문이에요. 그것만 있으면 파일 사본을 가진 컴퓨터가 금방 맞힐 수도 있어요. 휴대폰 하드웨어에 묶어 두면 추측은 내 휴대폰에서만 할 수 있고, 한 번 한 번이 느려요.
복구 문구로 잠근 형태. 금고를 만들 때 Lockspeare가 2,048개 단어로 된 표준 목록에서 무작위로 고른 12개 단어를 보여 줘요. 이건 약 128비트의 무작위성으로, 누구도 맞힐 수 없는 수준이에요. PIN이나 패턴을 잊어버렸을 때, 새 휴대폰으로 옮길 때, 백업을 복원할 때 이 문구로 금고를 열어요.
금고가 준비되기 전에 단어 몇 개를 다시 입력해 확인해요. 안전한 곳에 적어 두세요. 저희는 사본을 갖고 있지 않아요.
분리된 금고와 가짜 금고
PIN이나 패턴마다 각자의 금고가 열려요. 누군가 앱 잠금을 풀라고 압박할 때를 대비해, 두 번째 PIN이나 패턴으로 평범한 사진만 든 가짜 금고를 만들 수 있어요.
Lockspeare는 금고를 하나만 쓰든 여러 개 쓰든 항상 같은 수의 금고 슬롯을 디스크에 유지해요. 쓰지 않는 슬롯은 실제 암호화된 금고와 똑같아 보이는 무작위 데이터로 채워져요. 앱에는 금고 목록이 없어요. 그래서 화면으로도, 파일 사본으로도 금고가 몇 개인지 알 수 없어요.
한 가지 한계가 있어요. 새 금고를 만들 때 기존 금고를 덮어쓰지 않도록, 앱은 어떤 슬롯이 사용 중인지 기록해 두고 이를 휴대폰의 하드웨어 키로 잠가 둬요. 잠금이 풀린 휴대폰을 완전히 장악한 사람은 이 기록을 읽어 금고가 몇 개인지 알 수 있어요. 다만 안에 무엇이 있는지는 알 수 없어요.
백업
백업은 선택 사항이에요. 두 가지 방식이 있어요.
Google Drive. Lockspeare는 내 Google Drive 안의 숨겨진 앱 폴더에 백업을 저장해요. 파일은 휴대폰에 저장된 그대로, 즉 이미 암호화된 상태로 업로드돼요. 복구 문구로 잠근 금고 키도 함께 업로드돼요. PIN이나 패턴으로 잠근 사본은 휴대폰 하드웨어에서만 작동하기 때문에 절대 업로드하지 않아요.
새 휴대폰에서 복원하려면 복구 문구를 입력한 뒤 새 PIN이나 패턴을 정하면 돼요.
Lockspeare는 Drive 안의 자체 숨김 폴더에 대한 권한만 요청하고, 다른 파일에 대한 접근 권한은 요청하지 않아요. Google은 백업 파일이 몇 개인지, 대략 얼마나 큰지, 언제 업로드됐는지는 볼 수 있어요. 하지만 그 안에 무엇이 있는지는 볼 수 없어요.
백업 파일. 금고를 암호화된 파일 하나로 내보내 원하는 곳에 저장할 수도 있어요. 다른 클라우드 서비스, 메모리 카드, 컴퓨터 어디든요. 이 파일은 복구 문구로만 열려요.
Lockspeare에서는 Android 자체 자동 백업이 꺼져 있어요. 하드웨어에 묶인 키는 복원할 수 없어서, 아무도 쓸 수 없는 데이터만 복사하게 되기 때문이에요.
앱을 사용하는 동안
- 스크린샷, 화면 녹화, 최근 앱 미리보기가 차단돼요.
- 짧은 지연 시간을 직접 설정하지 않는 한, 앱에서 나가는 즉시 금고가 잠겨요.
- 잠기면 앱 메모리와 임시 저장공간에서 키와 복호화된 미리보기가 모두 지워져요. Android 앱은 메모리를 내부적으로 복사할 수 있는 시스템 위에서 실행되기 때문에, 저희가 제어할 수 있는 것은 모두 지우지만 메모리가 다시 쓰이기 전까지 어떤 사본도 남지 않는다고 약속할 수는 없어요.
- Lockspeare 안의 카메라로 찍은 사진과 동영상은 바로 금고로 들어가고 갤러리에 나타나지 않아요. 그래서 클라우드 사진 백업에도 잡히지 않아요. 사진은 메모리에서 바로 암호화돼요. Android 동영상 녹화 기능은 파일이 필요하기 때문에, 녹화하는 동안에는 동영상이 Lockspeare의 비공개 저장공간에 기록되고, 녹화를 멈추는 즉시 암호화되며, 암호화되지 않은 파일은 삭제돼요.
갤러리에서 사진 옮겨 오기
갤러리에서 사진을 추가하면 Lockspeare는 먼저 사진을 암호화한 다음, 암호화된 사본을 다시 열어 원본과 일치하는지 확인해요. 그다음에야 Android 자체 확인 창을 통해 원본 삭제를 제안해요.
Lockspeare가 손댈 수 없는 곳이 두 군데 있어서, 가져오기를 할 때마다 둘 다 알려 드려요.
- 갤러리 휴지통. 많은 갤러리 앱이 삭제한 사진을 약 30일 동안 보관해요. 완전히 지우려면 휴지통을 비우세요.
- 클라우드 사진 백업. 클라우드 사진 서비스에 이미 백업된 사진은 직접 삭제할 때까지 그 사본이 남아 있어요.
휴대폰 밖으로 나가는 것
- 기본적으로는 아무것도 없어요. Lockspeare는 완전히 오프라인으로 작동해요.
- Google Drive: 백업을 켰을 때만, 그리고 암호화된 파일만요.
- Google Play: 구매 처리를 위해서요.
- 오류 보고: 설정에서 직접 켰을 때만요. 휴대폰 모델이나 앱이 멈춘 위치 같은 기술 정보가 담겨요. 파일, 파일 이름, PIN, 패턴은 절대 포함되지 않아요.
앱에는 광고, 광고 ID, 분석 라이브러리가 없어요.
Lockspeare가 보호하지 못하는 것
한계를 솔직하게 밝히는 것도 보안의 일부예요. Lockspeare는 다음을 막지 못해요.
- PIN을 입력하거나 패턴을 그리는 모습을 누군가 지켜보는 경우. 화면을 가리세요.
- 금고가 열려 있는 동안 휴대폰이 해킹된 경우. 휴대폰 깊숙이 접근할 수 있는 악성 앱이나 해킹된 운영체제는 화면에 보이는 것을 볼 수 있어요.
- 잠금이 풀린 휴대폰을 완전히 장악하고 시간이 무제한인 사람. 휴대폰에서 직접 PIN이나 패턴을 시도해 볼 수 있어요. Argon2id 때문에 시도 한 번 한 번이 느리고, PIN이나 패턴이 길수록 훨씬 어려워지지만, 짧으면 결국 짧은 거예요.
- Lockspeare가 설치되어 있다는 사실, 암호화된 데이터의 양, 암호화된 파일 각각의 대략적인 크기가 드러나는 것.
- PIN이나 패턴과 복구 문구를 둘 다 잃어버린 경우. 그러면 저희를 포함해 아무도 금고를 열 수 없어요.
독립 검토
이 설계는 아직 독립적인 감사를 받지 않았어요. Lockspeare 출시 전에 검토를 받을 계획이고, 결과는 이 페이지에 공개할게요. 문제를 발견하면 security@lockspeare.com으로 알려 주세요.