터미널에서 익명 음성 통신, TerminalPhone
Tor 네트워크를 활용하여 익명성을 보장하는 터미널 기반의 E2EE(End-to-End Encryption) 워키토키 구현
별도의 서버 인프라(Server Infrastructure) 없이 Tor hidden service를 통해 통신하며, .onion 주소를 ID로 사용
v3 onion 주소를 활용한 깔끔한 아키텍처로, STUN/TURN 서버 없이 라우팅 처리
국가 제외 기능(Exclude Countries)을 통해 Tor 회로를 구성하여 보안을 강화하려는 시도
Tor 네트워크를 활용한 익명 통신 아키텍처
TerminalPhone은 Tor 네트워크(Tor Network)를 통해 익명성을 보장하는 E2EE(End-to-End Encryption) 음성 및 텍스트 통신을 제공한다. 특히, v3 onion 주소를 활용하여 NAT(Network Address Translation) 트래버설 문제를 해결하는 깔끔한 아키텍처를 채택했다. 이는 별도의 STUN/TURN 서버(STUN/TURN Servers) 없이 Tor 자체의 라우팅 기능을 활용하여 통신을 가능하게 한다. 이러한 설계는 서버 운영의 부담을 줄이고, 사용 편의성을 높이는 장점을 가진다.
보안 강화를 위한 국가 제외 기능
TerminalPhone은 사용자가 특정 국가를 Tor 회로에서 제외할 수 있는 기능을 제공한다. 이는 ExcludeNodes 설정을 통해 구현되며, Five Eyes, Nine Eyes, Fourteen Eyes와 같은 정보 동맹 국가를 미리 설정하거나, 사용자가 직접 국가 코드를 입력하여 회로를 구성할 수 있다. 국가 제외 기능(Exclude Countries)은 특정 국가의 감시 위험을 줄이는 데 기여할 수 있지만, 모든 감시 위협을 완벽하게 차단하는 것은 아니다.
암호화 방식 및 키 교환의 보안 고려 사항
커뮤니티에서는 TerminalPhone에서 사용되는 암호화 방식(Cipher)과 키 교환(Key Exchange) 방식에 대한 질문이 제기되었다. 특히, 21개의 다양한 암호화 방식을 제공하는 것에 대한 의문이 제기되었는데, 이는 보안 취약점을 증가시킬 수 있다는 우려를 낳을 수 있다. 안전한 키 교환을 위해 PGP(Pretty Good Privacy) over email과 같은 방법을 고려할 수 있지만, 이 또한 추가적인 보안 설정을 필요로 한다.
실제 환경에서의 지연 시간 및 성능
Tor 네트워크를 통한 음성 통신의 지연 시간(Latency)에 대한 질문도 제기되었다. 특히, 약 20KB 크기의 Opus 오디오 청크를 전송하는 경우의 지연 시간에 대한 관심이 높다. Tor 네트워크의 특성상, 지연 시간은 네트워크 상황에 따라 크게 달라질 수 있으며, 일반적으로 2~3초 이상의 지연이 발생할 수 있다. 따라서, TerminalPhone의 실시간 통신 성능은 Tor 네트워크의 성능(Performance)에 크게 의존한다.