라즈베리 파이 카메라가 pHash 서명을 이미지 워터마크에 숨겨 압축 뒤에도 촬영 증명을 남기는 오픈소스 프로젝트
- Recurse Center의 María Benavente와 Alex Hornstein이 Raspberry Pi Zero와 ATECC608 보안 칩으로 만든 카메라를 공개했으며, 부품비는 100달러 미만이고 소스 코드는 공개됨
- 카메라는 사진의 정확한 바이트 해시 대신 외관을 요약한 pHash에 서명하고, 그 서명을 DWT + DCT 주파수 영역 워터마크로 이미지 전체에 숨김. JPEG 압축과 리사이즈 뒤에도 검증을 남기면서 내용 변경을 잡는 방식임
- 초기 버전은 픽셀 최하위 비트에 SHA-256 해시를 넣었으나 JPEG 재압축만으로 깨졌음. 현재 방식은 메타데이터가 아니라 픽셀에 서명을 넣어 공유 과정에서 EXIF가 삭제돼도 남음
- ATECC608의 개인키는 칩 밖으로 나오지 않고, 소유자도 읽을 수 없으며, 글은 칩 변조 시 잠긴다고 설명함
- 글은 Apple의 Reference Image가 촬영 시 센서가 픽셀에 서명하고 Private Cloud Compute의 디지털 네거티브로 검증하는 구조라고 소개함. Apple은 C2PA를 쓰지 않고 신뢰 기준점도 Apple 인프라 안에 남는다고 비판함
Hacker News opinions
이미지에 작은 텍스트를 숨기는 장난감 도구로 atrium도 있음.
화면 공격이 되는 순간 이 방식은 진위 판별에 거의 못 쓰는 것 아닌가. 추적용 메타데이터 은닉과 카메라 TPM, 잠긴 펌웨어를 정당화할 구실만 늘어날까 걱정됨.
깊이 센서 정보를 같이 서명하면 화면 재촬영은 막을 수 있지 않을까.
사진을 사진으로 속이는 일은 원래 있었음. 슬라이드를 폴라로이드에 투사해서 UFO 착륙 사진처럼 보이는 폴라로이드를 만든 적도 있음.
서명에 시간과 선택 GPS, 카메라와 렌즈 설정까지 넣으면 화면 촬영과 차이가 남. 화면을 다시 찍는 게 아주 단순한 공격도 아니고, 어느 정도 문제는 해결함.
디지털 카메라는 앞으로 촬영본에 전자서명을 해야 한다고 봄. 다만 원본만 인증하지 말고 회전이나 대비 조정 같은 편집 이력도 원본 ID에 연결한 서명 로그로 남겨야 함.
EXIF를 지우는 데는 프라이버시 이유가 있는데, 서명이 메타데이터 역할을 대신하면 그 문제는 갑자기 사라지는 건가.
이 방식이 퍼지면 우회도 퍼짐. 개조 DSLR 펌웨어나 개인키 탈취가 있고, 스크린샷이나 화면 사진에는 애초에 별 도움이 안 됨. C2PA도 같이 봐야 함.
센서 컨트롤러로 들어가는 배선을 조작해서 원하는 영상이 센서에서 나온 척하게 만들 수 있다는 점을 다들 너무 안 말함. FPGA 다룰 줄 아는 대학원생이면 해볼 만할 듯.
FPGA까지 갈 필요도 없음. 아두이노로 암호 칩에 직접 붙어서 원하는 데이터에 서명해 달라고 하면 됨.
전용 공격자가 우회할 수 있어도 대다수는 그렇게 못 함. Apple이 Touch ID처럼 센서와 암호학적으로 페어링하면 배선을 건드려도 증명 체인이 유효하지 않게 만들 수 있고, 새 하드웨어 의존성이 있는 이유도 그쪽일 수 있음.
가짜가 너무 그럴듯해지면 사람들은 자기가 하지 않은 일을 증명하려고 24시간 암호학적 기록을 남기게 될 것 같음. 그건 전면적 감시 쪽으로 가는 길임.
pHash는 암호학적 해시가 아님. 충돌 공격은 물론이고 원상을 찾는 preimage 공격이 가능하면 이 설계는 바로 깨짐. PhotoDNA와 PDQ의 second-preimage 공격 논문도 있음.
저장소 문서부터 작은 편집이 임계값 아래면 통과한다고 적혀 있음. 프레임의 약 15% x 20%만 바꿔도 얼굴이나 책의 글자를 바꿀 수 있고, 흔한 편집인 크롭은 전혀 못 버팀. 소유자가 칩을 다른 장치에 연결해 무엇이든 서명시키면 개인키 추출 방지도 의미가 없음.