TECH 으로 돌아가기
TECH HACKER NEWS 어제 8분 읽기 33 READS

시그널, 전화번호 없는 가입에 영지식 증명을 쓴다: 신원은 감추고 스팸은 막는 법

시그널, 전화번호 없는 가입에 영지식 증명을 쓴다: 신원은 감추고 스팸은 막는 법
SOURCE IMAGE · HACKER NEWS
시그널, 전화번호 없는 가입에 영지식 증명을 쓴다: 신원은 감추고 스팸은 막는 법

시그널이 드디어 전화번호 없는 가입을 준비하고 있어요

시그널(Signal)은 프라이버시 메신저의 대명사지만, 아이러니하게도 가입하려면 반드시 전화번호가 있어야 했어요. 2024년 2월에 사용자 이름(username) 기능이 생기면서 상대방에게 번호를 숨길 수는 있게 됐지만, 가입 자체에는 여전히 번호가 필요했죠. 시그널 공식 커뮤니티 포럼에는 '전화번호 없는 가입'을 요구하는 스레드가 몇 년째 이어지고 있는데요, 이 스레드에서 새로운 방향이 공개됐어요. 전화번호 없이 가입하는 방식에 영지식 증명(zero-knowledge proof)을 쓰겠다는 거예요.

시그널은 왜 그렇게 전화번호를 고집했을까

먼저 배경을 이해해야 해요. 시그널이 전화번호를 요구한 이유는 크게 세 가지였어요. 첫째는 친구 찾기예요. 주소록에 있는 번호로 누가 시그널을 쓰는지 찾아주는 기능이 번호 기반이거든요. 둘째는 계정 복구예요. 기기를 잃어버려도 번호로 다시 인증하면 돼요. 그런데 진짜 핵심은 셋째, 스팸과 봇 방지예요. 전화번호는 공짜로 무한히 만들 수 없어요. 개통 비용이 들고 신원 확인이 붙죠. 그래서 번호 하나가 곧 '이 사람은 봇 농장이 아니다'라는 증거이자 자연스러운 비용 장벽 역할을 해왔어요. 이걸 그냥 없애버리면 계정을 무한 생성하는 스팸 봇에 서비스가 순식간에 잠식되거든요.

그러니까 문제는 이렇게 정리돼요. '번호 같은 신원 정보는 받지 않으면서, 동시에 이 가입자가 스팸 봇이 아니라는 건 확인하고 싶다.' 서로 모순처럼 들리는 이 두 조건을 동시에 만족시키는 게 바로 영지식 증명이에요.

영지식 증명이 뭐냐면

이게 뭐냐면, 어떤 사실이 참이라는 걸 그 사실의 내용은 하나도 공개하지 않고 증명하는 기술이에요. 술집에서 성인 인증을 할 때를 생각해보세요. 원래는 신분증을 통째로 보여주니까 이름, 생년월일, 주소까지 다 노출되잖아요. 영지식 증명은 '나는 19세 이상이다'라는 사실 하나만 수학적으로 증명하고, 생년월일이 며칠인지는 절대 알려주지 않는 방식이에요. 검증하는 쪽은 그 증명이 위조가 아니라는 것만 확인할 수 있고요.

시그널에 적용하면 이런 그림이 돼요. 가입자가 어떤 방식으로든 '나는 정당한 비용을 치른 사람'이라는 자격을 한 번 얻어요. 그 다음 서버에 가입 요청을 보낼 때는 '유효한 자격을 가지고 있다'는 영지식 증명만 제출해요. 서버는 이 증명이 진짜인지는 검증할 수 있지만, 어떤 자격인지, 누구의 것인지는 알 수 없어요. 그리고 같은 자격으로 계정을 여러 개 만드는 걸 막기 위해, 자격마다 한 번만 쓸 수 있는 고유한 흔적(널리파이어라고 불러요)을 남기게 하죠. 구체적으로 어떤 '비용'을 인정할지, 어떤 증명 체계를 쓸지는 아직 논의가 진행 중이라 원문 스레드를 따라가 보시면 좋아요.

시그널은 이미 이 기술을 쓰고 있어요

이번 결정이 갑작스러운 게 아닌 이유가 있어요. 시그널은 2019년부터 그룹 채팅에 익명 자격증명(anonymous credentials)이라는 영지식 기술을 써왔거든요. 시그널 서버는 어떤 그룹에 누가 들어 있는지를 전혀 모르는데, 그러면서도 '이 사람이 이 그룹의 멤버가 맞는지'는 검증할 수 있어요. 이게 가능한 게 바로 영지식 증명 덕분이에요. 이 구현체는 zkgroup이라는 이름으로 libsignal 저장소에 러스트(Rust)로 공개되어 있어요. 그러니까 가입 절차에 같은 계열의 기술을 확장하는 건 시그널 입장에서는 이미 검증된 도구를 새 문제에 쓰는 셈이에요.

다른 메신저들과 업계 흐름

경쟁 서비스와 비교해보면 시그널의 위치가 더 잘 보여요. 왓츠앱은 전화번호가 필수고, 텔레그램도 기본은 번호 필수인데 블록체인에서 익명 번호를 사서 쓰는 우회로를 유료로 팔고 있어요. 반대로 스위스의 스레마(Threema)는 처음부터 번호 없이 가입되지만 앱 자체가 유료라서 그 결제가 스팸 장벽 역할을 하죠. 세션(Session)이나 매트릭스(Matrix) 계열은 번호가 필요 없지만 스팸 문제를 안고 가는 편이에요. 시그널은 무료를 유지하면서 번호도 안 받고 스팸도 막겠다는, 가장 어려운 길을 택한 거예요.

더 넓게 보면 이건 '봇이 아님을 증명하되 신원은 안 밝히는' 프라이버시 인증 기술의 큰 흐름 위에 있어요. 클라우드플레어의 Privacy Pass, 애플 기기가 캡차 없이 사람임을 증명하는 Private Access Tokens, 구글 크롬의 Private State Tokens가 전부 같은 계열이에요. 한 번 검증받은 뒤 익명 토큰을 발급받아 쓰는 구조인데, 시그널의 가입 방식도 이 계열의 메신저판이라고 보시면 돼요.

한국 개발자에게 주는 시사점

한국은 휴대폰 본인인증이 거의 모든 서비스의 기본값이잖아요. PASS 앱이나 통신사 인증 없이는 커뮤니티 가입도 어려운 나라죠. 카카오톡도 당연히 번호 필수고요. 그래서 '스팸 방지 = 신원 확인'이라는 등식이 우리 머릿속에 아주 깊게 박혀 있어요. 시그널의 시도는 그 등식을 깨는 실제 사례라서 눈여겨볼 가치가 있어요. 규제상 본인인증이 꼭 필요한 영역이 아니라면, 익명 자격증명 기반의 봇 방지를 도입해서 개인정보 보유량 자체를 줄이는 설계가 가능하다는 얘기거든요. 보유한 개인정보가 적을수록 유출 사고 때 책임도 줄어요.

기술적으로 배워두고 싶다면 libsignal의 zkgroup 코드가 좋은 교재예요. 러스트로 작성되어 있고 논문(The Signal Private Group System)도 공개되어 있어서 이론과 구현을 같이 볼 수 있어요. 웹 서비스라면 Privacy Pass 프로토콜을 먼저 살펴보시는 게 진입 장벽이 낮고요.

정리하면

한 줄로 정리하면, 시그널은 '신원을 밝히지 않고도 스팸 봇이 아님을 증명하는' 영지식 증명으로 전화번호 의존을 끊으려 하고 있고, 이건 개인정보를 덜 모으고도 서비스를 지킬 수 있다는 걸 보여주는 사례예요.

여러분 서비스에서 휴대폰 인증을 요구하는 이유가 진짜 규제 때문인지, 아니면 그냥 스팸 막으려고 습관적으로 넣은 건지 한번 생각해보신 적 있나요? 후자라면 익명 자격증명 같은 대안을 검토해볼 만하다고 보시나요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://community.signalusers.org/t/registration-without-a-p...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...