나에게 해 주는 일
- 대화에 참여한 휴대폰만 내용을 읽을 수 있습니다. 서버는 열 수 없는 사본을 저장하고 전달합니다.
- 키 하나를 도둑맞아도 나머지 대화는 열리지 않습니다.
- 안전 번호를 비교해 중간에 아무도 없는지 확인할 수 있습니다.
작동 방식
기기마다 고유한 키가 있고, 서버는 공개된 절반만 가집니다. 다른 휴대폰은 이를 가져와 채팅을 시작합니다. 첫 메시지에서 Signal 프로토콜의 키 합의로 공유 비밀을 만들고, 그 뒤로는 메시지마다 키가 앞으로 나아갑니다(더블 래칫). 따라서 어느 한 순간의 키로는 그 이전이나 이후의 메시지를 열 수 없습니다.
그룹에서는 각 멤버가 발신자 키를 가지며, 이 키는 1:1 암호화 세션을 통해 공유됩니다. 누군가 들어오거나 나가면 키가 교체됩니다. 사진, 파일, 음성 메시지는 각각 새 키로 암호화되며, 그 키는 암호화된 메시지 안에 담겨 전달됩니다.
상대방에게 아직 키가 없으면, 앱은 평문으로 바꾸지 않고 아무것도 보내지 않습니다.
어디서 멈추나
번역에는 말이 필요하므로, 번역할 메시지는 내 휴대폰에서 복호화된 뒤 번역 서비스로 전송됩니다. 종단간 암호화가 적용되지 않는 모든 곳은 보안 센터에 정리되어 있습니다.
사용하는 기술
Signal 프로토콜 · 더블 래칫 · libsignal
자주 묻는 질문
Signal과 같은 암호화인가요?
libsignal 라이브러리를 통한 같은 프로토콜입니다. AiThao는 자체 서버를 가진 별도의 앱입니다.
안전 번호란 무엇인가요?
두 사람의 키로 계산한 코드입니다. 내 것과 상대방 것이 일치하면 내 메시지는 상대방 휴대폰으로만 갑니다.