블로그 · 2026년 4월 5일

Solo2가 서버 모르게 연결하는 방법

만남의 장소는 한 가지만 합니다: 두 기기가 서로를 찾도록 돕는 것. 그런 다음 사라집니다.

당사의 만남의 장소가 나에 대해 아는 것

기본부터 시작합시다. 당사의 만남의 장소는 나에 대해 정확히 세 가지를 알고 있습니다: 사용자 이름, 고유 식별자, 그리고 비밀번호의 해시입니다. 해시는 되돌릴 수 없는 수학적 변환입니다 — 비밀번호가 무엇인지 모르면서도 올바른지 확인할 수 있습니다. 실제 비밀번호는 머릿속과 기기에만 존재합니다.

그게 전부예요. 누구와 대화하는지, 무슨 대화를 나누는지도 저장하지 않아요. 내 터널과 연락처 이름은 기기 안에만 암호화되어 존재하며, 만남의 장소는 원하더라도 이를 열어볼 수 없어요.

우편함

옛날 우체국처럼 번호가 매겨진 우편함 벽을 상상해 보세요. 내 앱이 누군가와 연결하고 싶을 때, 상자에 '사용자 X와 대화하고 싶습니다'라는 메모를 남깁니다. 그것뿐입니다. 누구인지 말하지 않습니다. 무엇에 대해 대화하고 싶은지 말하지 않습니다. 상자 안의 메모일 뿐입니다.

Solo2에 연결된 모든 앱은 누군가 메모를 남겼는지 확인하기 위해 수시로 사물함을 살펴봐요. 우체국에 들러 "저한테 온 게 있나요?"라고 묻는 것과 같죠. 상대방이 내 메모를 찾으면, 만남의 장소에 내가 남겨둔 IP 주소를 요청해요. 만남의 장소는 주소를 건네주죠. 주소는 서버 메모리에 몇 초간 유지될 뿐 디스크에 기록되지 않아요.

그 시점부터 만남의 장소는 사라진다

두 기기가 서로의 주소를 알게 되면 직접 대화합니다. 만남의 장소는 더 이상 참여하지 않습니다. 직접 연결이 불가능할 경우 아무것도 저장하지 않는 당사의 미러를 통해 암호화되어 전달됩니다. 저장하지 않습니다. 연결이 성립되었는지 여부를 모릅니다. 얼마나 오래 지속되는지 모릅니다. 얼마나 많은 메시지가 교환되는지, 크기가 어떤지도 모릅니다.

그 순간 만남의 장소가 꺼져도 직접 연결에서는 두 사용자가 정확히 같은 방식으로 대화를 계속합니다. 대화는 만남의 장소에 의존하지 않습니다. 두 기기가 서로를 찾기 위해서만 의존했습니다. 연결되면 무관합니다.

대화는 시작되기 전부터 안전하다

두 사람이 Solo2에서 터널을 만들면 기기들이 공개 암호화 키를 교환합니다. 그 순간부터 모든 메시지는 수신자의 키로 암호화되며 수신자만 복호화할 수 있습니다. 이것은 대화가 시작되기 전에 일어납니다. 키는 터널이 생성되는 순간부터 준비됩니다.

그래서 두 기기가 직접 연결되면 통신은 이미 보호되어 있습니다. 아무것도 협상할 필요가 없습니다. 만남의 장소에 허가를 요청할 필요도 없습니다. 키는 그들의 것이고, 그들의 기기에 있으며, 다른 누구도 가지고 있지 않습니다.

실제로 이것이 의미하는 바

대화 내용이 어떤 서버에도 저장되지 않는다는 뜻이에요. 해킹할 메시지 데이터베이스 자체가 없어요. 내 기기에서 상대방 기기로 암호화되어 이동해요.

다음에 누군가 어떤 앱이 "메시지를 종단 간 암호화한다"고 말하면, 다른 모든 것에 대해 물어보세요. 내 연락처를 누가 아는지, 몇 시에 대화하는지, 얼마나 자주 하는지 말이에요. 만약 "우리 서버에 있지만 나쁜 용도로는 쓰지 않는다"고 답한다면, 그것은 약속일 뿐이에요. Solo2의 답은 달라요. 연락처는 내 기기에 암호화되어 있고, 누구와 대화하는지 무슨 대화를 나누는지도 저장하지 않아요.

관련 기사