Signito
블로그

익명 메신저의 조건: 전화번호도 IP도 계정에 묶지 않기

  • 익명 메신저
  • 개인정보

“익명 메신저”라는 말은 자주 쓰이지만 기준은 없다. 어떤 앱은 전화번호로 가입하면서도 익명이라고 말하고 어떤 앱은 아이디 하나로 가입한다. 둘을 같은 말로 부를 수는 없다. 익명은 정도의 문제이고 그 정도를 정하는 것은 두 가지다. 가입할 때 무엇을 받는가. 쓰는 동안 무엇을 남기는가.

전화번호는 사실상 실명이다

한국에서 휴대전화 번호는 본인 인증을 거쳐 발급된다. 번호 하나만 있으면 통신사 가입자 정보로 이어지고 은행과 포털과 배달 앱에 같은 번호가 등록되어 있다. 전화번호로 가입하는 메신저는 계정과 실제 사람을 처음부터 묶어 두는 셈이다. 닉네임을 무엇으로 하든 상관없다.

주소록 동기화는 여기서 한 걸음 더 간다. 내 연락처를 서버에 올려 친구를 자동으로 찾아 주는 편의는 곧 “누가 누구를 아는지”를 서버가 알게 된다는 뜻이다. 내가 가입하지 않았더라도 내 번호는 다른 사람의 주소록에 담겨 이미 올라가 있을 수 있다.

전화번호 없이 가입하는 메신저는 이 연결을 처음부터 만들지 않는다. 아이디와 비밀번호만 정하고 친구는 닉네임을 정확히 알아야 찾을 수 있다. 조금 불편하다. 대신 서버에는 사람과 계정을 잇는 고리가 없다.

IP 주소는 두 번째 실명이다

전화번호를 안 받아도 서버는 접속하는 IP 주소를 볼 수밖에 없다. 인터넷 요청에는 보낸 주소가 붙어 오기 때문이다. IP로는 대략의 지역과 통신사를 알 수 있고 시간대별 접속 패턴이 쌓이면 생활 리듬이 드러난다. 수사기관은 IP와 시각을 통신사에 제시해 가입자를 특정할 수 있다.

그래서 익명성을 가르는 두 번째 질문은 이것이다. 서버가 IP를 계정과 묶어 두는가. 얼마나 오래 두는가. 로그인 기록에 IP를 함께 적어 몇 년씩 보관하는 서비스라면 전화번호를 안 받아도 결국 같은 결과가 된다. 계정 하나를 짚으면 그 사람이 언제 어디서 접속했는지가 통째로 나온다.

서버가 IP를 쓰는 이유와 버리는 시점

IP를 아예 안 보는 서버는 없다. 필요한 용도가 있기 때문이다. 한 주소에서 초당 수백 번 로그인을 시도하거나 요청을 쏟아부으면 막아야 한다. 이런 방어에 필요한 정보는 “어느 주소가 몇 번”이지 “누가”가 아니다. 계정과 연결할 이유가 없다.

정직한 설계는 여기서 갈린다. 접속 기록을 계정 정보와 따로 두고 방어 용도로만 쓰다가 며칠 지나면 지운다. 이렇게 하면 서버가 통째로 넘어가도 계정과 IP를 짝지을 표가 없다. 개인정보처리방침에서 “접속 로그” 항목을 찾아 보관 기간과 용도가 적혀 있는지 보면 된다. 기간이 없거나 “관계 법령에 따라”로만 적혀 있으면 오래 둔다는 뜻으로 읽어도 된다.

전화번호로 가입하는 메신저는 대개 본인 인증된 전화번호와 주소록과 접속 기록이 계정에 묶인다. 접속 기록의 보관 기간은 서비스마다 다르다. 시그니토는 아이디와 닉네임만 계정에 묶인다. 전화번호와 주소록은 받지 않고 접속 기록은 계정과 분리해 7일 안에 지운다.

익명에는 대가가 있다

전화번호도 이메일도 받지 않으면 회사도 그 사람이 누구인지 확인할 방법이 없다. 비밀번호를 잊었을 때 문자로 인증해 되찾아 주는 절차가 성립하지 않는다. 그래서 복구코드를 가입할 때 한 번 보여주고 사용자가 보관하게 한다. 잃어버리면 회사도 도와줄 수 없다. 앱 밖에서 “내 계정을 지워 달라”고 메일을 보내도 본인인지 확인할 수 없어 처리하지 못한다. 계정 삭제는 앱 안에서만 된다.

이 불편은 결함이 아니라 구조의 다른 면이다. 회사가 나를 알아볼 수 없다는 것과 아무도 나를 대신 증명해 줄 수 없다는 것은 같은 말이다.

그래도 서버가 아는 것

“완전히 익명”이라는 말은 성립하기 어렵다. 메시지를 전달하고 계정을 유지하려면 로그인 아이디와 닉네임이 필요하다. 알림을 보내려면 푸시 토큰이 필요하고 기기가 iOS인지 Android인지도 안다. 어느 방에 언제 메시지가 오갔는지는 전달을 위해 알아야 한다. 내용 자체는 종단간 암호화로 잠겨 있어 서버가 읽지 못한다. 남는 것은 이런 겉정보다.

프리미엄을 결제하면 스토어 거래 식별자가 남는다. 카드번호나 이름 같은 결제 정보가 아니다. 결제는 앱스토어와 구글 플레이가 처리하고 회사에는 이 구매가 실제로 있었는지 확인하는 영수증 번호만 온다. 결제한 사람이 누구인지는 스토어만 안다. 회사에 남는 것은 이 계정이 프리미엄이라는 사실뿐이다.

이 목록을 그대로 적어 두는 서비스가 믿을 만하다. 아무것도 모른다고 말하는 서비스는 무엇을 모른다고 하는지 확인할 방법이 없다.

고를 때 볼 것

  1. 가입 화면에 전화번호 칸이 있는가. 있으면 그 뒤의 모든 익명성은 그 번호 위에 얹혀 있다.
  2. 연락처 접근 권한을 요구하는가. 요구하지 않는 앱은 주소록을 올릴 수 없다.
  3. 개인정보처리방침의 접속 로그 항목에 보관 기간과 용도가 적혀 있는가.

시그니토(Signito)는 아이디와 비밀번호로만 가입하고 전화번호와 이메일을 받지 않는다. 연락처 권한도 요구하지 않는다. 접속 기록은 계정과 연결하지 않는다. 비정상 트래픽을 막는 데만 쓰고 최대 7일 뒤 자동으로 지운다. 무엇을 저장하는지는 개인정보처리방침에 항목별로 적어 두었다.