Signal 4분 소요

전화번호 없는 시그널은 가능할까: 영지식증명과 스팸의 줄다리기

핵심 요약

  • 전화번호를 상대에게 숨기는 것과 가입할 때부터 요구하지 않는 것은 다른 문제입니다.
  • 영지식증명은 민감한 원본 정보를 공개하지 않고 특정 조건을 충족했다는 사실을 증명하는 기술입니다.
  • 같은 가입 자격을 여러 번 쓰지 못하게 해도, 한 사람이 자격을 여러 개 얻는 문제는 남습니다.
  • 전화번호 없는 메신저에도 가입을 통제하는 장치와 메시지 스팸을 막는 장치가 각각 필요합니다.

대화 내용을 암호화하더라도 가입할 때 개인정보를 내야 한다면, 사용자는 그 정보를 제공할지 고민하게 됩니다. 전화번호 없이 시그널에 가입하는 방식을 가정해 보겠습니다. 영지식증명을 어디에 쓸 수 있는지, 스팸을 막으려면 무엇을 더 갖춰야 하는지 따져보는 겁니다.

1. 전화번호를 숨기는 것과 없애는 것은 다릅니다

전화번호를 숨긴다는 말부터 구분할 필요가 있습니다. 대화 상대에게 내 번호를 보여주지 않는다면, 누구에게 정보를 공개할지 정하는 문제입니다. 서비스에 가입할 때 번호를 아예 내지 않는다면 가입 구조 자체가 달라집니다.

전화번호 인증으로 직접 확인할 수 있는 건 그 번호로 인증 메시지나 전화를 받을 수 있는지입니다. 번호를 더 구하는 데 비용과 수고가 든다면 계정을 대량으로 만들기도 어려워집니다.

그렇다고 전화번호 하나가 사람 한 명을 보장하지는 않습니다. 한 사람이 번호를 여러 개 가질 수 있기 때문입니다. 다만 이 인증 절차를 없애려면 계정을 끝없이 만드는 행위를 어떻게 억제할지 다시 생각해야 합니다.

전화번호 없는 시그널도 이 문제를 풀어야 합니다. 가입 화면에서 전화번호 입력란 하나를 지우는 데서 끝날 일이 아닙니다.

2. 영지식증명은 “조건을 충족했다”는 사실만 보여줍니다

영지식증명은 어떤 주장이 참이라는 사실을 증명하되, 그 근거가 되는 비밀 정보는 공개하지 않는 암호 기술입니다. 메신저 가입에서는 “나는 유효한 가입 자격을 가지고 있다”는 사실을 확인하는 데 쓸 수 있습니다.

가상의 가입 절차를 생각해 보겠습니다. 사용자는 신뢰할 수 있는 발급자에게서 가입 자격 증명을 받습니다. 메신저에는 그 자격이 유효하다는 증명만 제출합니다. 자격 증명에 담긴 개인 식별정보는 메신저에 넘기지 않도록 설계하는 겁니다.

여기에 같은 자격을 여러 번 쓰지 못하게 하는 장치도 붙일 수 있습니다. 중복 사용을 확인하는 표식을 쓰는 방식으로, 이 표식을 흔히 널리파이어(nullifier)라고 부릅니다.

같은 가입 자격으로 같은 서비스에 가입하려 하면 늘 같은 표식이 나오도록 만듭니다. 서버는 누군가 그 표식을 이미 썼는지 확인합니다. 그러면 사용자의 신원을 직접 확인하지 않고도 같은 자격으로 다시 가입하는 일을 막을 수 있습니다.

다만 여러 서비스에서 같은 표식을 쓰면 사용자의 활동을 서로 연결할 단서가 될 수 있습니다. 프라이버시를 보호하려면 표식을 어느 범위에서 쓸지도 정해야 합니다.

3. 가장 어려운 질문은 “가입 자격을 누가 주나”입니다

같은 자격을 다시 쓰지 못하게 해도 대량 가입 문제는 남습니다. 공격자가 서로 다른 가입 자격을 1,000개 얻을 수 있다면, 하나씩 한 번만 쓰면 됩니다. 여기서 1,000개는 원리를 설명하기 위해 가정한 수입니다.

이처럼 한 주체가 여러 계정을 만들어 서로 다른 참여자인 것처럼 행동하는 문제를 시빌 공격이라고 부릅니다. 영지식증명으로는 제출된 자격이 정해진 조건을 충족하는지 확인할 수 있습니다. 하지만 한 사람이 그 자격을 몇 개까지 얻을 수 있는지는 발급 체계에 달려 있습니다.

그래서 발급자가 자격을 주는 기준을 살펴봐야 합니다. 누가 자격을 받을 수 있으며, 한 사람에게 몇 개까지 허용할 것인지 정해야 합니다.

예를 들어 발급자가 전화번호를 확인한 뒤 익명의 자격 증명을 줄 수는 있습니다. 이렇게 하면 메신저는 전화번호를 직접 받지 않아도 됩니다. 다만 사용자는 여전히 발급자에게 번호를 내야 합니다.

사용자가 어디에도 전화번호를 제출하지 않고 가입하려면 다른 기준이 필요합니다. 그 기준으로 자격의 대량 발급을 얼마나 어렵게 만들 수 있을지 따져야 합니다. 그 과정에서 일반 사용자도 가입하기 어려워지는지 함께 살펴봐야 하고요.

4. 가입을 통제해도 메시지 스팸은 남습니다

가입 단계의 남용과 메시지를 보내는 단계의 남용도 구분해야 합니다. 정상적으로 가입한 계정이라도 원치 않는 메시지를 대량으로 보낼 수 있다면 수신자가 피해를 봅니다.

전화번호 없는 메신저에도 발송량을 제한하고 수신자를 보호할 장치가 필요한 이유입니다. 모르는 사람이 보낸 메시지는 요청함으로 보내거나, 수신자가 발신자를 차단할 수 있게 하는 방식이 있습니다.

익명성을 유지하면서 일정 기간에 쓸 수 있는 양을 제한하는 방법도 생각해 볼 수 있습니다. 예를 들어 유효한 자격마다 하루에 정해진 수량의 발송 토큰을 주는 겁니다. 이때도 토큰을 추가로 얻거나 이미 쓴 토큰을 다시 쓰지 못하게 막아야 합니다. 영지식증명을 붙였다고 이 기능까지 저절로 완성되지는 않습니다.

어떤 정보를 숨길 수 있는지도 정확히 봐야 합니다. 영지식증명이 가입 자격에 관한 비밀을 보호하더라도 접속 주소나 통신 시간까지 자동으로 숨겨주지는 않습니다. 가입 정보의 비공개가 가능한지와 서비스 전체에서 익명성을 유지할 수 있는지는 따로 확인해야 합니다.

전화번호 없는 시그널에서 영지식증명은 가입 자격에 관한 정보를 덜 드러내면서도 그 자격을 확인하는 데 쓸 수 있습니다. 실제로 서비스가 잘 작동하려면 자격을 발급하고 중복 사용을 막는 절차가 맞물려야 하고, 메시지 발송량도 제한해야 합니다. 가입할 때 내 정보를 덜 제공하는 대신 어느 정도의 비용과 불편을 감수할 수 있는지도 실제 가입 방식과 서비스 설계를 정할 때 따져야 합니다.

Signal 영지식증명 프라이버시 스팸방지

댓글

    댓글을 불러오는 중...