Witnesslog
암호화된 비상 영상 증거 보전에 대하여
오래 전부터 거론돼 온 아이디어가 하나 있다. 휴대폰 카메라로 위급 상황을 찍는데, 영상은 단말에 남지 않고 어딘가의 서버에 암호화된 상태로 저장된다. 평소엔 누구도 못 본다. 그런데 사용자에게 불미스러운 일이 생기면 그 암호화된 영상을 다시 열어볼 수 있다. 그래서 잠재적 위험을 예방하거나, 최소한 사후에라도 진실에 다가갈 수 있게 한다.
이 아이디어가 실제로 동작하는 제품이 있는가. 가능한가. 만든다면 어떻게 만들어야 하는가. 한국에서 괜찮은가. 오랫동안 흩어져 있던 질문들을 한 번 정리해본다.
- 촬영위급 상황을 휴대폰 카메라로 담는다.
- 청크 암호화2–5초 단위로 쪼개 각 조각을 AES-256-GCM으로 잠근다.
- 단말 밖으로조각은 서버로 떠나고, 서버는 암호문만 본다 — 원문은 못 연다.
- 조건부 개방트리거가 켜져도, 2-of-3 quorum이 모일 때만 복구 경로가 열린다.
- 정당한 열람복호화는 변조가 드러나는 감사 로그에 남는다.
시작점 — 오래된 아이디어#
이 아이디어를 가장 단순하게 표현하면 이렇다.
"카메라로 위급할 때 찍혔는데, 휴대폰엔 남지 않고, 어딘가 서버에 암호화된 상태로 저장한다. 사용자한테 무슨 일이 생기면 그 암호화된 것을 다시 볼 수 있다. 그래서 잠재적 위험을 예방한다."
문장은 짧지만 안에 네 가지 요구가 들어 있다.
- 휴대폰 밖으로 즉시 증거가 빠진다 — 단말이 파괴·압수·분실되어도 남는다.
- 서버는 평소에 영상 원문을 복호화할 수 없다 — 운영자, 내부자, 해커, 수사기관이 저장소를 확보해도. (업로드 시각·크기·IP 같은 메타데이터는 별개 문제다)
- 사용자가 위험에 처했을 때는 열린다 — 본인이 못 여는 상황을 포함.
- 그 열림은 정당해야 한다 — 법적으로 설명 가능하고 감사 가능해야.
이 네 조건을 동시에 만족시키는 게 단순해 보이지만, 사실 암호학적으로 가장 어려운 지점이다. 서버도 못 보게 암호화하면, 사용자가 못 여는 상황에서 누가 어떻게 여는가. 이 질문이 사실상 이 글 전체의 주제다.
이미 있는 것들#
"응급 녹화 → 클라우드 업로드 → 보호자 공유"는 이미 흔하다. "단말 밖 증거 보전"도 흔하다. "서버도 못 보는 영상 암호화"는 일부 있다. 그런데 "앞의 네 조건을 동시에 만족"하는 대중 제품은, 적어도 공개된 범위 안에서는 거의 없다.
| 분류 | 사례 | 핵심 동작 | 이 아이디어와의 거리 |
|---|---|---|---|
| 개인 안전 앱 | Parachute | 위급 시 영상·음성·위치를 단말 밖으로 실시간 송출. 휴대폰이 파괴되어도 증거가 남도록 설계. | 가장 가까움. 단 "서버도 못 봄 + 조건부 복호화"는 별도 검토 |
| 개인 안전 앱 | bSafe | 음성 활성화, 라이브 스트리밍, 보호자 실시간 확인. 자동 녹화 보호자 전송. | 보호자 중심 모델 |
| 개인 안전 앱 | iWitness | 활성화 시 사진·영상 클라우드 업로드 + GPS 전송. 단말 로컬을 지워도 이미 업로드된 클라우드 기록은 보존되는 구조. | 단순하지만 핵심 컨셉 일치 |
| 개인 안전 앱 | Mockingjay (iOS) | 녹화 동시에 AES-256-GCM으로 사용자 본인 Google Drive에 실시간 업로드. Emergency PIN. | "본인 클라우드"라 조건부 복호화는 없음 |
| 활동가용 | eyeWitness to Atrocities | 국제변호사협회 IBA가 개발. 폰 갤러리가 아닌 앱 내 암호화 보관함에 저장 후 보안 서버로 업로드. 촬영 시점 해시로 변조 방지 체인 오브 커스터디. | 증거능력 쪽으로 강함 |
| 활동가용 | ProofMode (CameraV의 경량 reboot) | 촬영물에 암호학적 서명·체인 오브 커스터디·C2PA 진위 검증 부착. Guardian Project 오픈소스. CameraV는 그 전신 격 도구. | 무결성 입증 영역 |
| 스마트폰 기본 | Google Pixel Personal Safety | Emergency SOS에서 비상 영상 녹화·클라우드 백업·연락처 자동 공유. | 상용 UX 참고 |
| 스마트폰 기본 | Apple Emergency SOS Live Video | 응급 통화 중 관제자 요청 시 보안 연결로 라이브 영상 송출(iPhone 14+, iOS 18). 관제 측 지역·연동에 따라 가용. Android도 Emergency Live Video(구글 공식, 2025.12 출시, Android 8+·Google Play 서비스, 미국·독일/멕시코 일부)를 별도 제공. | 기관 연동형 |
| 한국 공공 | 보이는 112 | 112가 URL 전송 → 신고자가 권한 부여 → 상황실 실시간 영상·위치 확인. 화면을 검색창처럼 위장하는 비밀 모드 제공. | 한국형 위급 영상 신고 사례 |
| 한국 공공 | 긴급신고 바로 (Emergency Call BARO) | 취약계층 신고 앱. 문자·그림 신고, 5초 주변 소리 녹음 후 112 자동 신고, 호루라기. | 신고 보조에 가까움 |
| 기관용 인프라 | Axon Evidence | 경찰·기관 디지털 증거 관리. 체인 오브 커스터디, 디지털 지문, 전송·저장 암호화. | 증거 보전 인프라의 정석 |
| E2EE 영상 | Ring End-to-End Encryption | 사용자 패스프레이즈 기반 영상 E2EE. Ring도 접근 불가. 패스프레이즈 분실 시 영구 접근 불가. | 핵심 난점이 정확히 드러나는 사례 |
요약하면, 응급 녹화·클라우드 백업·보호자 공유는 이미 산업적으로 자리 잡았다. 무결성·체인 오브 커스터디도 활동가 도구와 기관 인프라 양쪽에서 성숙해 있다. 그러나 "서버 운영자도 평소엔 못 보지만, 사용자가 위급 상황일 때 정당한 절차로 열리는" 구조를 깔끔하게 갖춘 대중 제품은, 적어도 공개 사례 안에서는 비어 있는 자리다.
무결성 도구에 대해서는 단서를 하나 달아야 한다. ProofMode 측도 스스로 밝히듯, 이런 서명·진위 메타데이터는 그 자체가 암호화도 아니고 조작 가능성을 낮추는 보조 증거일 뿐이며, 자동으로 법정 증거능력을 보장하지 않는다. 실제 증거능력은 관할 법, 수집 경위, 보관·제출 절차에 따라 따로 판단된다.
제품으로 정의해보기#
이 아이디어를 한 줄로 정의한다면 이렇다.
개인용 암호화 블랙박스 + 위급 증거 금고 + 조건부 공개 시스템
자동차 블랙박스와의 차이를 표로 잡으면 윤곽이 더 분명해진다.
| 자동차 블랙박스 | 이 아이디어 | |
|---|---|---|
| 저장 위치 | 로컬 SD카드 | 단말 밖 서버 중심 |
| 평소 접근 | 소유자가 직접 | 본인도 못 보는 상황을 가정 |
| 암호화 | 약하거나 없음 | 강한 클라이언트 측 암호화 필수 |
| 목적 | 사고 후 책임 분쟁 해소 | 범죄 억제·구조·수사·법정 증거 |
| 데이터 | 영상 위주 | 영상 + 음성 + 위치 + 시간 + 센서 + 무결성 서명 |
| 열람 권한 | 단일 소유자 | 다자간 조건부 접근 |
기술적으로는 어떻게 만들 수 있나#
트리거 — 언제 녹화·업로드가 시작되는가
| 트리거 방식 | 장점 | 약점 |
|---|---|---|
| 수동 SOS 버튼 / 전원 버튼 연타 | 오작동 적음, 사용자 의도 명확 | 사용자가 누를 수 없는 상황엔 실패 |
| 음성 키워드 | 납치·폭행 상황에 유리 | 상시 청취의 프라이버시 이슈, 오탐 |
| 낙상·충격·비명 감지 (IMU + 마이크) | 자동화 가능 | False positive 빈번 |
| Safety check 미응답 | "정해진 시간까지 안전 확인을 안 하면 알림·사건 보존·복호화 요청 절차가 시작된다" — 부재 자체가 신호. (자동 공개가 아니라 절차 시작) | 사용자가 단순히 잊으면 오작동 |
| 보호자 원격 요청 | 실종 상황에 유리 | 스토킹·가정폭력·직장 감시 악용 가능 |
MVP에서는 수동 SOS와 Safety check 미응답의 조합이 가장 안전하다. 완전 자동 범죄 감지는 기술적으로도 윤리적으로도 부담이 크다.
저장 — 어떻게 단말 밖으로 빠지나
권장 구조는 다음과 같다.
- 롤링 버퍼. 평시에는 RAM 또는 임시 암호화 버퍼에 최근 15-60초만 유지한다. 트리거 발동 시 그 직전 구간까지 포함해 업로드한다. 단 현대 모바일 OS는 백그라운드 카메라·마이크를 강하게 제한하므로, 이 버퍼는 앱이 포그라운드에서 활성화된 동안에만 현실적이다 — 은밀한 상시 녹화는 가정하지 않는다.
- 청크 단위 업로드. 영상을 2-5초 단위로 쪼개 전송한다. 네트워크가 끊기면 로컬 암호화 큐에 보관하고, 연결 복구 시 따라잡는다 (catch-up).
- 클라이언트 측 암호화. 청크는 단말에서 먼저
AES-256-GCM으로 암호화된 뒤 서버로 간다. 서버는 암호문만 본다. AES-GCM은 nonce 재사용이 치명적이므로 사건 키마다 청크 nonce가 절대 겹치지 않아야 한다 —event_id·chunk_index·랜덤 salt를 조합해 고유 nonce를 만들고,event_id·chunk_index·직전 해시는 AAD(추가 인증 데이터)로 묶어 청크 재배열·바꿔치기를 탐지한다. - 해시 체인. 각 청크에 직전 청크의 해시를 포함시킨다. 중간 삭제·삽입·순서 변경이 그대로 드러난다. 다만 해시 체인만으로는 서버가 마지막 N개 청크를 통째로 숨기는 truncation을 막기 어렵다. 사건의 Merkle root 또는 체인 체크포인트를 주기적으로 외부 타임스탬프 서버·transparency log·제3자 미러에 고정하면, 사후에 일부 청크를 숨기거나 사건 존재 자체를 부인하기 어려워진다.
- 단말 서명. Android Keystore 또는 iOS Secure Enclave에 묶인 개인키로 사건 단위 메타데이터를 서명한다. 여기에 기기 attestation(Android Key Attestation·Play Integrity, iOS App Attest·DeviceCheck)과 외부 타임스탬프를 결합하면 "이 키를 가진 단말이 이 사건 레코드를 특정 시점 이전에 생성했다"는 점을 강하게 뒷받침할 수 있다. 다만 이것이 촬영 시각이나 장면의 진실성을 절대적으로 증명하는 것은 아니다 — attestation도 진실 보장이 아니라 조작 비용을 높이는 장치이고, 법정 증거성은 수집·보관·제출 절차와 함께 판단된다.
한 가지는 정확히 해둬야 한다. 클라이언트 측 암호화는 영상 원문을 가리지만, 업로드 시각·청크 크기·단말 IP·계정 식별자·위치 메타데이터 같은 정보는 별도 보호 설계가 없으면 서버에 그대로 노출된다. "서버가 못 본다"는 말은 "원문을 복호화할 수 없다"는 뜻이지 "아무것도 알 수 없다"는 뜻이 아니다. 이 메타데이터 누출 metadata leakage 자체를 줄이려면 크기 패딩, 더미 트래픽, 전송 시각 교란 같은 추가 설계가 따로 필요하다.
키 관리 — 누가 언제 열 수 있나
이 부분이 제품의 핵심이자 가장 어려운 지점이다. 여섯 가지 설계안을 비교해보면 다음과 같다.
| 설계 | 구조 | 강점 | 치명적 약점 |
|---|---|---|---|
| 서버 보관 | 서버가 키 보유 | 구현 단순 | 내부자·해킹·기관 영장에 무력 |
| 사용자 단독 | 사용자만 키 보유 | 완전한 E2EE | 사망·실종·의식불명 시 영구 불능 (Ring 사례) |
| 보호자 동시 암호화 | 보호자 공개키로도 함께 래핑 | 비상 복구 쉬움 | 보호자 악용 가능 |
| 2-of-3 임계값 | 3개 키 중 2개 합의 시 복호화 | 균형 좋음 | UX·운영 복잡 |
| 법원·기관 조건부 | 영장·공식 절차 기반 | 법적 정당성 강함 | 긴급 구조엔 느림 |
| HSM 정책 | Hardware Security Module 내부 조건 평가 | 감사·통제 강함 | 비용·운영 난도 |
연구 가치가 가장 큰 구조는 다음의 조합이다.
사건별 DEK(데이터 암호화 키) 생성 → AES-GCM으로 청크 암호화 → 본인 접근용 DEK는 사용자 공개키로 래핑 → 비상 복구용 DEK는 보호자·법률대리인·기관에 개별 래핑하지 않고 threshold 공개키 또는 Shamir 분산으로 보호 → 한 명·한 기관도 단독 복호화 불가, 사전에 정한 2-of-3 또는 3-of-5 quorum에서만 복구 경로가 열림
여기에 모든 복호화 시도가 변조가 드러나는(tamper-evident) 추가 전용(append-only) 감사 로그에 남는 구조를 더하면 "평소엔 아무도 못 보고, 정당한 조건에서만 열리고, 누가 열었는지 추적 가능"이라는 세 요건이 동시에 충족된다.
키가 분산돼 있어도 사람은 강요당할 수 있다. 그래서 "어떤 상태에서 무엇이 열리는가"와 "강요당하면 어떻게 되는가"를 미리 설계해 둬야 한다. 한 사건의 상태 전이를 그리면 이렇다.
평시 Normal
│ SOS 트리거 · Safety check 미응답
↓
사건 봉인 Sealed ─ 청크 암호화·업로드, 단독 삭제 불가
│ 업로드 완료
↓
잠금 보류 Pending ─ 서버는 암호문만 본다
│
├─ 본인 즉시 해제 ───────────→ 본인 복호화
│
└─ 부재 · 비상 요청
│ 사용자 통지 + 지연창(취소 가능)
↓
접근 요청 Access Request
│ 2-of-3 quorum 동의 — 독립적 제3자 1명 필수
↓
제한적 복호화 Limited Decryption
│ 모든 시도는 감사 로그에 남음
↓
종료 · 보존 · 이관
핵심은 둘이다. 첫째, "봉인"은 한 명이 싸고 빠르게 시작할 수 있되 "열람"은 독립적 제3자를 포함한 quorum 없이는 불가능하다. 둘째, 어떤 경로로도 자동 공개는 없다 — 부재 신호는 곧장 공개가 아니라 통지·지연·검토 단계로 들어간다.
마지막 빈틈은 강압이다. 가해자가 사용자를 협박해 직접 해제·삭제하게 만드는 상황은 암호로 막을 수 없다. 그래서 강요당한 동작이 정상처럼 보이되 실제로는 보존·경보로 이어지는 duress 흐름을 둔다.
| 입력 | 화면에 보이는 것 | 실제로 일어나는 일 |
|---|---|---|
| 정상 PIN · 생체 | 정상 열람 | 정상 동작 (감사 로그 기록) |
| duress PIN (미리 정한 가짜) | 열람 실패 또는 빈 보관함처럼 보임 | 사건 봉인 강화 + 보호자·기관에 무음 경보 + 추가 잠금 |
| 강요된 '삭제' | 삭제된 것처럼 보임 | 원본은 불변 저장에 그대로, 삭제 시도 자체가 감사 로그에 기록 |
강압을 완벽히 막을 수는 없다. 다만 "조용한 삭제"를 불가능하게 만들고 강압 시도를 흔적으로 남기면, 가해자가 그 행위로 얻을 수 있는 것이 줄어든다.
다만 이 불변성은 잊힐 권리와 충돌할 수 있다. 개인정보보호법 제36조의 삭제 요구권을 생각하면, 오작동으로 타인의 내밀한 장면이 올라갔는데 본인이 지울 수 없는 구조는 위험하다. 그래서 "변경 불가"는 누가 언제 접근했나라는 감사 로그에만 적용하고, 콘텐츠 자체는 사용자 삭제권을 보장하되 강압 방지를 위한 지연·확인만 두는 편이 옳다. 자동 만료 보관(일반 7일·보존 표시 90일)이 나머지를 메운다.
고급 암호 기법은 어디까지 쓸 수 있나#
이 영역에서 가장 자주 떠오르는 질문은 "동형 암호 Homomorphic Encryption, HE를 쓸 수 있는가"이다. 결론부터 말하면 쓸 수 있는 지점은 있지만, 영상 원본 위에 직접 거는 건 현재 비현실적이다.
대표적 최적화 연구인 HyPHEN도 ResNet-20으로 CIFAR-10 추론에 1.4초, ResNet-18로 ImageNet 추론에 14.7초가 걸린다(단일 이미지 기준). 이후 후속 연구들이 더 큰 모델과 더 나은 지연 시간을 보였지만, 30fps 영상 1분이면 1800프레임이다. 실시간 근처도 못 간다. 거기에 암호문 팽창 문제까지 더하면 영상에 직접 HE를 거는 설계는 당분간 무리다.
대신 응용 가능한 지점은 네 군데다.
첫째, 트리거 판단을 센서 데이터 위에서. 영상이 아니라 가속도계·심박수·GPS 같은 저차원 시계열에는 HE 추론이 이미 가능하다. 워치/폰의 헬스 데이터를 CKKS로 암호화해 서버에 올리고, "낙상 + 심박 급변 + 비명 패턴" 같은 복합 조건을 암호화 상태로 평가한 뒤 트리거를 발동시킨다. 영상은 보통 암호화로 저장해두고, 트리거가 켜지면 키를 곧바로 해방하기보다 사건 보존·보호자 알림·복호화 요청 워크플로를 시작하는 신호로 쓰는 분리 구조(자동 모델이 키 해방까지 직결되면 오탐 때 위험하다). 핵심은 트리거 로직의 세부 조건이 서버 운영자에게 노출되지 않는다는 점이다. 다만 이는 기밀성에 대한 이야기일 뿐이다. 서버가 업로드를 거부하거나, 청크를 지연·삭제하거나, 알림 전달을 막는 availability 공격은 HE로 해결되지 않는다 — 그 부분은 다중 업로드 경로, 외부 타임스탬프, append-only 로그, 제3자 미러링으로 따로 방어해야 한다.
둘째, 암호화된 데이터에 대한 제한적 질의. 장기 연구로는 "사람이 등장했는가", "비명·충격·급격한 움직임이 있었는가" 같은 비식별 event-ness 질의를 1-bit 출력으로 뽑아, 수사 기관이 영장을 받아도 영상 전체가 아니라 yes/no만 얻어가는 모델을 생각해볼 수 있다. 다만 "특정 인물 X가 등장했는가" 같은 생체식별 질의는 성능·오탐·모델 편향·법적 근거·프라이버시 위험이 모두 커서 MVP에서는 제외해야 한다.
셋째, 다자간 집계. 여러 사용자의 암호화된 영상·메타데이터에서 "이 시간대 이 지역에서 이상 사건이 N건 이상 감지되었는가" 같은 집계는 개별 영상을 풀지 않고 사회적 신호만 추출할 수 있다.
넷째, 학습 데이터로서의 활용. 원본을 평문화하지 않는 학습은 장기적으로 secure aggregation, federated learning, differential privacy에 일부 HE 추론을 조합하는 방향이 더 현실적이다. HE 상태에서 영상 모델을 직접 재학습하는 것은 — 학습이 추론보다 훨씬 무겁기 때문에 — 현재로선 제품 기능이라기보다 연구 주제에 가깝다.
그리고 사실 이 아이디어의 "조건 만족 시 복호화" 부분은 HE보다 다른 도구가 더 잘 맞는다.
| 도구 | 동작 |
|---|---|
| Attribute-Based Encryption (ABE) | "경찰 신분 + 영장 해시 + 사용자 dead man 트리거" 같은 속성이 모두 만족돼야 복호화. CP-ABE 계열. |
| Threshold Cryptography / Shamir Secret Sharing | 키를 N명에게 쪼개 K명 합의 시 복원. 가족 2명 + 경찰 1명 같은 식. |
| Time-lock Puzzle / Witness Encryption | 특정 조건이 충족돼야만 복호화. Witness Encryption은 NP 명제의 witness를 알아야 열리고, time-lock puzzle은 일정한 순차 연산 시간이 흘러야 열린다. |
| TEE (Intel SGX, ARM TrustZone) | HE보다 훨씬 빠르지만 하드웨어 신뢰 가정이 필요하다. |
실전 시스템은 보통 이 도구들의 하이브리드가 된다. 영상 자체는 AES로 빠르게, 키는 ABE 또는 threshold로 보호, 트리거 판정은 센서 데이터에 HE를 적용. 순수 HE 일변도 설계는 거의 없다.
논문 각도로 보면 신선한 지점은 셋이다.
- 암호화된 영상에 대한 "사건성 event-ness 판별"의 multiplicative depth 최소화. 전체 분류 대신 "뭔가 일어났다"는 얕은 yes/no 술어로 설계하면 depth를 낮게 유지해 bootstrap을 회피할 여지가 생긴다.
- HE 트리거 평가 결과를 threshold decryption의 share 해방 조건으로 연결하는 합성 프로토콜의 보안 증명.
- HE 연산이 의도한 회로대로 수행됐음을 보이는 verifiable computation — zkSNARK와 HE의 결합 — 으로 법정 제출 시 계산 과정의 검증·설명 가능성을 높이기. 다만 이것이 자동으로 증거능력을 보장하지는 않는다.
다만 분명히 해두자. 이 절의 고급 기법들 — HE, ABE, witness encryption, TEE — 은 당장 구현할 MVP 기능이 아니라 장기 연구 방향이다. 1차 제품은 클라이언트 측 암호화, 청크 업로드, 키 분산, 감사 로그, 그리고 법적 절차 설계만으로도 충분하다. 이 절은 "지금 만들 것"이 아니라 "여기까지 갈 수 있다"는 지도에 가깝다.
이게 진짜로 범죄를 예방하나#
이 질문은 정직하게 답해야 한다. 증거 보전에는 강하다. 범죄 억제는 조건부다.
행동억제 효과는 보통 가해자가 "촬영되고 있다, 처벌 가능성이 올라간다"고 인지할 때 강해진다. 그런데 이 아이디어처럼 은밀히 서버에 저장되는 구조라면 가해자는 촬영 사실 자체를 모를 수 있다. 그 경우 즉시 억제 효과는 약해진다.
경찰 바디캠 연구에서도 행동 변화 효과는 일관적이지 않다. 미국 국립 형사사법연구원 NIJ는 바디캠의 근거가 혼재되어 있다고 정리했고, 30개 연구를 메타분석한 Campbell 체계적 리뷰(Lum 외, 2020)도 시민 불만 접수는 줄였지만 물리력 사용 등 대부분의 행동 지표에서는 통계적으로 유의하고 일관된 효과를 확인하지 못했다고 평가한다.
그렇다면 이 시스템의 진짜 가치는 어디인가. 정직하게 다섯으로 나눠야 한다.
| 목표 | 설계 선택 |
|---|---|
| 범죄 억제 | 녹화·업로드 사실을 의도적으로 노출. 보호자 실시간 공유. (= 가시성 강조) |
| 증거 보전 | 은밀한 암호화 업로드. 조작 방지. 해시 체인. |
| 구조 | 112/119/보호자 연동. 위치 공유. 실시간 스트리밍. |
| 법정 증거성 | 타임스탬프. 단말 서명. 원본성 검증. 감사 로그. |
| 프라이버시 | E2EE. 최소 보관. 자동 삭제. 접근 로그 공개. |
이 아이디어의 진짜 강점은 "예방"보다는 사후 증거 소실 방지와 사용자 안전 보장이라고 봐야 정확하다. 예방은 부수적 효과일 뿐이다.
한국에서 괜찮나#
정식 법률 자문은 변호사 영역이지만, 제품 기획 단계에서 이미 보이는 지점들이 있다.
영상은 개인정보다. 얼굴·신체·차량번호·위치·음성이 들어가면 개인정보성이 생긴다. 서비스로 운영하면 개인정보처리자가 될 가능성이 크다. 개인정보보호위원회는 2024년 9월 안내서를 통해 휴대폰·디지털 카메라 같은 휴대형 장치가 이동형 영상정보처리기기에 포함됨을 명시하고, 업무 목적의 촬영에 대해 개인정보보호법 제25조의2의 허용 요건을 적용한다(2023-09-15 시행).
사적 공간은 매우 위험하다. 화장실·탈의실·목욕실 같은 사생활 침해 위험이 큰 장소의 촬영은 개인정보보호법 제25조의2제2항으로 제한될 뿐 아니라, 신체를 촬영하면 성폭력처벌법 제14조(카메라등이용촬영죄)로 형사처벌까지 될 수 있다. 위급 구조 같은 예외 상황이 아니라면 제품 기본 설계에서 이런 공간에서의 녹화는 강하게 차단되어야 한다.
음성은 영상보다 더 민감하다. 한국 통신비밀보호법상 "타인 간의 비공개 대화"를 제3자가 녹음하는 것은 금지된다. 반면 대화 당사자 중 한 명이 직접 녹음하는 경우는 "타인 간 대화" 녹음으로 보지 않는 판례 흐름이 있다. 사용자가 대화에 참여 중인 상황과, 휴대폰이 방치된 채 제3자들만의 대화를 녹음하는 상황은 법적 성격이 완전히 다르다.
위치는 영상·음성과 또 다른 법의 영역이다. GPS·위치 공유·112/119 연동이 핵심 기능인 이상, 이 시스템은 개인정보보호법과 별도로 위치정보의 보호 및 이용 등에 관한 법률(위치정보법)의 적용을 받는다. 위치기반서비스(LBS)를 사업으로 제공하려면 같은 법 제9조에 따라 방송미디어통신위원회(2025년 10월 방송통신위원회를 대체해 출범)에 신고해야 하고, 개인위치정보를 직접 수집·제공하는 위치정보사업은 제5조의 허가 또는 등록 대상이다. 개인위치정보를 다룰 때는 수집(제18조)·이용·제공(제19조) 동의를 받아야 하고, 무단 수집과 누설·변조·훼손이 금지되며(제15조), 이용·제공사실 확인자료의 기록·보존을 포함한 보호조치(제16조)와 목적 달성 후 파기(제23조) 의무가 따른다. 영상·음성 법리와 별도로 개인위치정보 처리 구조를 처음부터 따로 설계해야 한다는 뜻이다.
서버 위치도 이슈다. 클라우드가 해외 리전에 있거나, 영상이 보호자·수사 기관·보험사·학교·회사로 흘러가면 국외 이전, 제3자 제공, 목적 외 이용 문제가 동시에 생긴다. 국외 이전 동의 시에는 이전 국가, 일시·방법, 수령자, 목적·보유기간, 거부권 등을 고지해야 한다.
요컨대 이 시스템은 "법적으로 가능한가" 이전에 "법적 설계가 제품 설계와 같이 가야 가능한가"의 영역이다. 변호사가 처음부터 함께 가야 한다.
그래서 어떻게 설계해야 하나#
피해야 할 설계
| 설계 | 이유 |
|---|---|
| 상시 녹화 | 주변인 프라이버시 침해, 저장 비용, 법적 리스크 큼 |
| 서버 관리자 열람 가능 | 내부자 남용·해킹·기관 영장 남용 |
| 보호자가 언제든 원격 카메라 켜기 | 스토킹·가정폭력·직장 감시 악용 |
| 얼굴인식·신원추정 기본 탑재 | 목적 초과 처리 가능성 큼 |
| 자동 공개 | 오탐 시 회복 불가능 |
| 삭제 불가능 | 개인정보 자기결정권과 충돌 |
가져가야 할 설계
| 설계 | 이유 |
|---|---|
| 사건 기반 녹화 | 위급 상황에 한정 |
| 기본 E2EE | 서버 신뢰 최소화 |
| 2-of-3 조건부 복호화 | 부재 상황 대응과 오남용 방지의 균형 |
| 자동 삭제 + 사용자 보존 옵션 | 보관 최소화 + 자기결정권 |
| 접근 감사 로그 | 누가 언제 왜 봤는지 추적 |
| 증거 무결성 서명 | 법정·수사 활용성 |
| 오프라인 catch-up | 네트워크 차단 공격에 강함 |
| 위험 장소 차단 | 화장실·탈의실 등 |
위협모델 — 막는 것과 못 막는 것#
앞 절들이 "어떻게 만드나"를 다뤘다면, 이 절은 "그렇게 만들어도 무엇을 못 막나"를 본다. 보안 설계에서 가장 위험한 태도는 막지 못하는 것을 막는다고 말하는 것이다. 위협을 공격자별로 나눠 보면, 이 시스템이 강한 자리와 구조적으로 약한 자리가 분명히 갈린다.
| 공격자 | 이 설계가 막는 것 | 남는 빈틈 |
|---|---|---|
| 가해자 (물리적 탈취) | 단말을 빼앗아 지워도 이미 업로드된 청크는 클라이언트 암호화 상태로 서버에 남는다. | 업로드 완료 전 수 초 내 파괴, 또는 전파 차단·음영지역에서는 애초에 아무것도 빠져나가지 못한다. |
| 가해자가 곧 보호자 (친밀관계 폭력) | 단독 삭제·열람 불가(불변 저장 + threshold). | 가장 치명적. 가해자가 quorum 슬롯을 쥐거나, 피해자와 동석 보호자를 동시에 강압하면 정당한 권한으로 열람·차단이 가능하다. 친밀관계 폭력은 "정족수 미만만 적대적"이라는 threshold의 신뢰 가정을 정면으로 깬다. |
| 서버 운영자·내부자·해커 | 영상 원문 복호화 불가(서버는 키 미보유, 암호문만 보관). | 업로드 거부·청크 지연·삭제 같은 availability 공격, 그리고 메타데이터 열람. |
| 수사기관 | 영장·quorum·감사 로그로 열람을 절차화·기록화. | 긴급 구조에는 절차가 느리고, 메타데이터만으로도 동선·생존 여부를 추정당할 수 있다. |
| 사용자 본인 (악용) | 접근 로그·맥락 메타데이터로 무고·조작을 억제. | 정당한 촬영을 가장한 표적 감시·협박용 녹화는 기술만으로는 걸러지지 않는다. |
이 표의 한 줄 요약은 이렇다. 이 시스템은 "서버를 신뢰하지 않아도 되는" 영역 — 외부자·내부자·서버에 대한 기밀성과 무결성 — 에서 강하고, 사람·물리·법이 얽히는 영역에서 약하다. 그리고 약한 자리의 일부는 더 나은 설계로 메울 수 있지만, 일부는 원리상 메울 수 없다.
| 남는 한계 | 성격 | 완화 방향 (그래도) |
|---|---|---|
| 신호 없는 즉시 파괴 | 물리 법칙 — 환원 불가 | 위성 긴급통신, 인근 기기로의 BLE/UWB 릴레이, 부재 자체를 신호로 만드는 사전 롤링 비콘으로 부분 완화. 그러나 무신호 상태의 0초 파괴는 어떤 암호로도 못 구한다. |
| OS의 백그라운드 캡처 차단 | 플랫폼 정책 — 환원 불가에 가까움 | iOS는 백그라운드 영상 녹화를 금지하고 Android도 포그라운드 서비스·프라이버시 인디케이터를 강제한다. 은밀한 상시 버퍼는 사실상 불가능하므로 명시적·포그라운드·사용자 발동 캡처로 가야 한다 — 은밀성을 포기하는 대신 OS 호환과 (드러난 녹화의) 억제 효과를 얻는다. |
| 음성의 당사자성 | 법(통신비밀보호법) — 환원 불가에 가까움 | 사용자 현존이 감지될 때만 음성 캡처, 기본 off, 관할별 토글. 시스템은 "사용자가 그 대화의 당사자인지"를 런타임에 확신할 수 없다 — 폰이 방치된 채 제3자들의 대화만 녹음되면 불법 감청이 되어 증거능력이 부정되고 사용자가 처벌받을 수 있다. |
| 메타데이터 잔존 | 정보이론적 비용 | 크기 패딩·고정율 더미 트래픽·블라인드 릴레이·최소 보관. 완전한 은닉은 비싸고, 잔여 위험은 남는다. |
| 오탐 피로 (양치기 소년) | 인간-시스템 문제 — 완화 가능 | "조용한 보존"과 "사람 호출"을 분리해, 보강 신호(이동·충격·위치 이상)가 함께 잡힐 때만 사람을 부른다. 배터리 방전과 단순 침묵을 구분하고, 단계를 점진적으로 올린다. |
암호가 풀 수 있는 문제와 풀 수 없는 문제를 갈라 말하는 것 자체가 이 시스템이 지켜야 할 정직함이다. 가장 아픈 지점은 친밀관계 폭력에서 quorum이 무너지는 경우다. 신뢰해야 할 사람이 곧 위협인 상황은 암호로 풀리지 않고, 보호자 선정 기준, 독립적 제3자의 필수 포함, 강압을 드러내는 통지·감사 같은 설계로만 일부 완화될 뿐이다.
만든다면 이렇게: MVP 스케치#
연구 프로토타입 수준으로 만든다면 다음 정도의 범위가 적당하다. 사용자 한 명, 청중 한 명, 데모 한 번을 위한 최소 구성이다.
Encrypted Personal Safety Blackbox — MVP
- SOS 트리거: 앱 내 패닉 버튼 / Safety timer 미응답 / 플랫폼별 단축 동작(iOS Action Button·잠금화면 위젯·Siri 단축어, Android Quick Settings 타일·포그라운드 서비스). 전원 버튼 연타는 OS 기본 Emergency SOS와 충돌해 일반 앱이 직접 가로채기 어려우므로 기본 경로로 가정하지 않는다.
- 수집: 전후방 카메라 선택, 마이크, GPS, 시간, IMU
- 암호화 업로드: 3초 청크, 청크별 AES-256-GCM, 해시 체인, 단말 서명
- 조건부 복호화: 본인 즉시 / 보호자 2명 동의 / 사고 선언 / 전 과정 로그
- 보관: 일반 7일, 사용자 보존 표시 90일, 법적 요청 별도
기술 스택 예시
| 레이어 | 선택 |
|---|---|
| 모바일 | Flutter 또는 native Android/iOS |
| 대칭 암호 | AES-256-GCM, XChaCha20-Poly1305 |
| 키 교환 | X25519 |
| 서명 | Ed25519 또는 ECDSA P-256 |
| 키 보관 | Android Keystore, iOS Secure Enclave |
| 업로드 | tus.io resumable upload 또는 S3 multipart |
| 서버 저장 | Object storage + immutable bucket |
| 무결성 | Merkle tree 또는 hash chain |
| 접근 통제 | Threshold secret sharing, HSM, audit log |
| 타임스탬프 | RFC 3161 trusted timestamping |
구경할 만한 순서#
이 분야를 한 번도 본 적이 없다면 다음 순서를 권한다.
가장 가까운 개인 안전 앱부터
- Parachute — 단말 밖 증거 보전 + 실시간 영상·음성·위치 공유.
- bSafe — 보호자 실시간 스트리밍 UX 참고.
- iWitness — 가장 단순하지만 핵심 컨셉 일치.
- Mockingjay — AES-256-GCM 실시간 본인 클라우드 업로드.
대형 플랫폼의 구현
- Google Pixel Personal Safety — SOS·백업·공유의 상용 UX.
- Apple Emergency SOS Live Video — 긴급기관 연동 라이브 영상.
한국형 공공 사례
증거성·무결성 도구
- ProofMode — 촬영물 진위성, 서명, C2PA 메타데이터.
- eyeWitness to Atrocities — IBA의 분쟁지역 증거수집 앱.
- Axon Evidence — 기관용 디지털 증거 관리의 표준 사례.
서버도 못 보는 영상 암호화 사례
- Ring End-to-End Encryption — 강점과 함께, 패스프레이즈 분실 시 영구 접근 불가라는 핵심 난점도 가장 분명히 보여준다.
맺음말#
"카메라로 찍어서 서버에 암호화 저장"만으로는 더 이상 새롭지 않다. 지금 시점에서 이 아이디어가 차별성을 가지려면 네 가지를 동시에 만족시켜야 한다.
- 사용자 휴대폰이 파괴·압수·분실되어도 증거가 남는다.
- 서버 운영자도 평소에는 영상 원문을 복호화하지 못한다.
- 사용자가 복호화할 수 없는 상황에서도 정당한 조건에서 열린다.
- 그 과정이 법적으로 설명 가능하고, 감사 가능하고, 오남용을 막을 수 있다.
이 네 가지를 동시에 푸는 시스템은 단순한 안전 앱이 아니라 개인용 암호화 증거 인프라가 된다. 그 자리가 정말로 비어 있는지, 비어 있다면 누가 채워야 하는지는 또 다른 글의 몫이다. 이 글의 몫은 오래된 아이디어 하나를 다시 꺼내 진지하게 들여다보는 것까지다.