Tuxia 알아보기 · 약 6분 분량
이미지 스테가노그래피: 픽셀에 비밀 숨기기
"Steganography"는 그리스어로 "가려진 글쓰기"라는 뜻입니다. 내용을 읽을 수 없는 난수로 만드는 암호화와 달리, 스테가노그래피는 "뭔가 숨겨져 있다"는 사실 자체를 숨기는 것을 목표로 합니다 — 겉보기엔 모든 것이 완벽하게 정상입니다.
두문자시에서 감열 잉크까지
오래된 기술입니다. 첫 글자에 메시지를 숨긴 두문자시, 백지처럼 보이는 종이에 감열 잉크로 쓰는 스파이, 한 페이지를 마침표 크기로 줄인 2차 대전의 "마이크로도트". 디지털 시대는 새로운 "종이"를 주었습니다. 이미지, 오디오, 동영상입니다.
디지털 스테가노그래피의 두 학파
1. LSB(최하위 비트). 이미지는 픽셀로 이루어져 있고 각 픽셀은 숫자입니다. 각 숫자의 가장 낮은 비트를 비밀 데이터로 바꾸면 그림은 거의 변하지 않습니다. 은폐력은 뛰어나지만 용량이 작고(메가픽셀당 약 100KB 이상) — 이미지가 압축되거나 변환되는 순간 최하위 비트가 다시 쓰이면서 데이터는 사라집니다.
2. 덧붙이기식. Tuxia가 사용하는 방식입니다. PNG 데이터는 공식적으로 IEND 마커에서 끝납니다(GIF: 0x3B) — 뷰어는 거기서 멈추고 뒤쪽 바이트는 무시합니다. 그래서 그 무인지대에 파일 데이터를 그냥 "덧붙여 쓸" 수 있습니다. 용량이 크고 구현이 간단하지만, 대가로 파일이 눈에 띄게 커집니다 — 아는 사람이 보면 "이 이미지 뭔가 이상하다"고 느낄 것입니다.
정리하면 LSB는 깊게 숨기지만 적게 담고, 덧붙이기식은 많이 담지만 얕게 숨깁니다. Tuxia는 후자를 선택했습니다. 해결하려는 문제가 "전문 탐지를 무력화"가 아니라 "파일을 편리하게 공유"이기 때문입니다.
Tuxia가 실제로 하는 일
- 표지: PNG / GIF / JPG 이미지, 또는 원클릭 랜덤 표지;
- 암호화(선택): 비밀번호가 있으면 PBKDF2로 키를 만들고 AES-256-GCM으로 파일을 암호화합니다 — 은행급입니다. 비밀번호가 없으면 해독 불가한 난수일 뿐입니다;
- 패키징: 암호화된 파일과 메타데이터(이름, 크기, 체크섬)를 이미지 끝 마커 뒤에 덧붙입니다.
추출은 그 반대입니다. 끝 마커를 찾아 패키지를 읽고, 복호화하여 파일을 복원합니다. 모두 브라우저 안에서 — 파일이 서버에 닿지 않습니다.
한계: 무엇을 지키고 무엇을 지키지 못하는가
- "보이지 않음"을 지킵니다. 지나가는 사람은 평범한 사진만 보고 아무것도 의심하지 않습니다;
- 진짜 보안은 비밀번호에서 나옵니다. 스테가노그래피가 "숨기기"라면 암호화는 "자물쇠"입니다. 비밀번호가 없으면 방법을 아는 사람은 누구나 파일을 꺼낼 수 있습니다;
- 압축을 견디지 못합니다. 위챗, QQ 등이 이미지를 재압축하면 뒤쪽 데이터가 지워집니다 — 덧붙이기식 은닉의 타고난 약점이며, Tuxia가 "원본으로 보내세요"라고 잔소리하는 이유입니다(자세히 보기);
- 전문 탐지에 저항하지 못합니다. 비정상적인 파일 크기와 뒤쪽의 엔트로피는 분석 도구에 포착될 수 있습니다. 검열이나 포렌식에 맞설 용도로는 믿지 마세요.
알림: 스테가노그래피는 중립적인 기술입니다. 합법적인 용도로만 사용하세요 — 학습, 일상적인 파일 공유, 작업물 워터마킹(전문은
이용약관).
Tuxia 사용해 보기 →
다음: 위챗/QQ가 숨겨진 파일을 "씻어내는" 이유 →
관련: 사용법 · 자주 묻는 질문