해시충돌을이용한검열저항마이크로블로깅시스템
초록
#h00t은 트위터와 같은 마이크로블로그에 짧은 해시(예: 24비트)로 그룹 식별자를 매핑하고, 의도적으로 해시 충돌을 만들어 다른 그룹의 게시물에 섞어 전송함으로써 검열자가 특정 그룹을 차단하려면 다수의 무관한 그룹도 동시에 차단해야 하는 상황을 만든다. 게시물은 그룹 해시에서 파생된 키로 암호화·인증되며, 클라이언트는 같은 해시를 구독해 해당 그룹의 메시지만 복호화한다. 실험은 트위터 트래픽을 기반으로 실시간 암호화가 가능함을 보이고, 충돌 설계에 따른 대역폭·익명성 트레이드오프를 분석한다.
상세 분석
본 논문은 기존 소셜미디어의 해시태그 메커니즘을 암호키 파생에 활용함으로써, 별도의 인프라 없이도 검열 저항성을 제공하는 새로운 설계 #h00t을 제안한다. 핵심 아이디어는 ‘짧은 해시’를 그룹 식별자로 사용하고, 해시 길이를 의도적으로 24비트 정도로 제한해 서로 다른 그룹 간에 충돌 가능성을 높이는 것이다. 이렇게 하면 동일한 해시를 구독하는 사용자는 여러 그룹의 암호화된 메시지를 받아야 하며, 검열자는 특정 그룹만을 선택적으로 차단하기 어려워진다.
보안 측면에서 #h00t은 다음과 같은 특성을 가진다. 첫째, 그룹 비밀 해시태그는 사용자가 기억하고 구두로 전달할 수 있을 정도의 엔트로피를 가져야 한다. 이를 위해 해시 함수(HMAC‑SHA256 등)를 이용해 비밀 해시태그를 고정 길이 비트열로 변환하고, 그 일부를 짧은 해시(24비트)로 잘라낸다. 둘째, 메시지는 세션 키(Ks)로 대칭 암호화(AES‑CTR 등)하고, Ks와 MAC 키는 짧은 해시를 통해 파생된 키(Kg)로 다시 암호화한다. 따라서 수신자는 동일한 비밀 해시태그를 입력해 Kg를 복원하고, 이를 이용해 Ks와 MAC 키를 해독한 뒤 메시지를 복원한다.
충돌 설계는 두 가지 목적을 동시에 만족한다. (1) 검열자가 특정 해시를 차단하면 동일 해시를 공유하는 다른 무관한 그룹도 차단되므로 사회적·경제적 비용이 급증한다. (2) 수신자는 동일 해시를 사용하는 모든 그룹의 메시지를 받아야 하므로, 실제 수신자를 식별하기 어려워진다(수신자 익명성). 논문은 해시 충돌 확률을 비트 수에 따라 수학적으로 모델링하고, 실험적으로 트위터 데이터에 적용해 평균 1.6 msg/min 수준의 인기 해시(#nsn3d)와 비교했을 때, 24비트 해시가 약 2⁻²⁴≈1/16 M의 충돌 확률을 제공함을 확인한다.
성능 평가에서는 현대 CPU(예: Intel i7)가 초당 수천 건의 AES 암호화·복호화를 수행할 수 있음을 보여, 전체 트위터 트래픽(약 500 M 트윗/일)을 실시간으로 처리할 수 있음을 입증한다. 또한 대역폭 오버헤드는 헤더(해시, 암호화된 키, MAC)와 암호문으로 구성돼 평균 200 byte 정도이며, 이는 기존 트윗 크기에 비해 미미한 수준이다.
위협 모델은 ‘전체 트래픽을 관찰하고 선택적으로 차단할 수 있는 국가 수준 검열자’를 가정한다. 검열자는 SSL 차단, 중간자 공격, 해시 기반 차단을 시도할 수 있지만, 서비스 자체를 완전히 차단하려는 의도는 없다고 전제한다. 내부 유출(키로거, 강제 협박) 등 물리적 공격에 대해서는 키 회전(새 해시태그 배포)으로 대응한다.
한계점으로는 (1) 짧은 해시 길이 때문에 브루트포스 사전 공격이 가능하다는 점이며, 이를 완화하기 위해 충분히 복잡한 비밀 해시태그를 선택해야 한다. (2) 송신자 익명성은 제한적이며, 물리적 압박에 취약하다. (3) 중앙화된 트위터 플랫폼에 의존하므로, 플랫폼 자체가 검열에 협조하면 시스템이 무력화될 수 있다. 그럼에도 불구하고, 기존 인프라를 그대로 활용하면서 검열 저항성을 크게 향상시킨다는 점에서 실용적 가치가 높다.
댓글 및 학술 토론
Loading comments...
의견 남기기