보안 메신저 시그널(Signal)이 사용자 통신의 보안을 강화하기 위해 '자동 키 검증(Automatic Key Verification)' 기능을 새롭게 선보였습니다. 이 기능은 사용자와 상대방 간의 종단간 암호화(end-to-end encryption) 통신에서, 예상치 못한 제3자가 개입하지 않았는지 자동으로 확인하는 절차를 간소화합니다. 기존에는 '안전 번호(Safety Number)'를 직접 비교하는 수동 방식이 필요했지만, 이제는 대면 만남이나 별도의 통신 채널 없이도 키의 일관성을 검증할 수 있게 되었습니다.
시그널의 자동 키 검증은 '키 투명성 로그(Key Transparency Log)'라는 공개 원장(public ledger) 시스템을 기반으로 합니다. 이 로그에는 전화번호 또는 사용자명과 공개 암호화 키의 변경 내역이 시간순으로 기록되며, 한 번 기록된 내용은 수정하거나 삭제할 수 없습니다. 시그널은 이 로그를 효율적으로 검색하기 위해 로그 트리(log tree)와 접두사 트리(prefix tree)를 활용하며, 10억 개의 기록 중에서도 최대 30개 항목만 조사하여 원하는 기록을 찾을 수 있습니다. 또한, 클라우드플레어(Cloudflare)와 트레일 오브 비츠(Trail of Bits)가 독립 감사자로 참여하여 로그의 무결성을 검증하고, 서버가 사용자별로 다른 기록을 제공하는 중간자 공격(Man-in-the-Middle attack)을 방지합니다. 사용자는 앱 내 '안전 번호 보기(View Safety Number)' 화면에서 '자동으로 검증(Verify automatically)'을 눌러 상대방의 키를 검증할 수 있으며, 자신의 식별자는 앱이 주기적으로 자동 검사합니다.
이 기능은 시그널이 중앙 디렉터리(central directory)를 통해 상대방의 공개 키를 제공할 때 발생할 수 있는 중간자 공격 위험을 크게 줄입니다. 악의적인 공격자가 시그널 서버를 침해하여 상대방의 키 대신 자신의 키를 전달함으로써 메시지를 가로채거나 조작하는 시나리오에 대비하는 것입니다. 비록 매우 고도화되고 발생 가능성이 낮은 공격이지만, 시그널은 이러한 위협으로부터 사용자 프라이버시를 보호하고자 합니다. 다만, 이 기능은 계정 탈취 자체를 막지는 못하며, 상대방의 실제 신원이나 전화번호 변경 시에는 기존 안전 번호 확인과 같은 수동 검증이 여전히 필요할 수 있습니다. 시그널은 프라이버시를 최우선으로 여기는 만큼, 상대방의 전화번호를 모르는 경우나 전화번호 변경 시에는 자동 검증을 제공하지 않고 수동 검증을 권장합니다.
이번 자동 키 검증 도입은 보안 메신저의 신뢰성을 한 단계 끌어올리는 중요한 진전입니다. 사용자들은 통신 보안에 대한 불안감을 덜고 더욱 안심하고 시그널을 사용할 수 있게 될 것입니다. 특히, 대규모 언어모델(LLM) 등 AI 기술 발전과 함께 데이터 프라이버시와 보안의 중요성이 더욱 커지는 현 시점에서, 시그널의 이러한 노력은 사용자들에게 강력한 메시지를 전달합니다. 앞으로도 시그널이 전화번호 의존성 탈피 등 사용자 편의성과 보안을 동시에 강화하는 방향으로 진화할지 주목됩니다.