113 / 736MIX

Mix Network

누가 누구와 소통하는지 알아내기 어렵게 만드는 네트워크

봉인한 봉투는 편지 내용을 보호하지만, 우편을 지켜보는 사람은 발신자와 수신자를 알아볼 수 있습니다. 인터넷도 비슷합니다. 통신을 암호화해도 누가 언제 누구와 연락했는지 단서가 남습니다. Mix Network는 이런 연결을 감추려는 방식입니다. 메시지를 중계 노드로 보내며 겉모습을 바꾸고, 추적에 쓰일 순서와 시간 패턴을 흐트러뜨립니다.

Mix Network는 메시지를 중계하는 컴퓨터를 통해 메시지를 전달합니다. 이 컴퓨터를 노드 또는 mix라고 부릅니다. 노드는 암호화 계층을 하나씩 벗기고 트래픽을 처리해, 들어온 메시지와 나간 메시지를 연결하기 어렵게 합니다. David Chaum이 1981년에 그 기초를 설명했습니다. 목적은 내용뿐 아니라 발신자와 수신자의 관계를 보호하는 것입니다. 효과는 프로토콜, 다른 트래픽, 관찰자의 능력에 달려 있으며 중계 노드 수만으로 익명성을 보장하지는 못합니다.

안나가 페터에게 사적인 메시지를 보냅니다. 도중에 아무도 내용을 읽지 못해도, 안나에게서 데이터가 나가고 곧 페터에게 도착하는 모습은 보일 수 있습니다. 이런 패턴이 반복되면 누가 누구와 연락하는지 추측할 수 있습니다. 시간, 크기, 네트워크 주소처럼 메시지 주변의 정보를 메타데이터라고 합니다. Chaum의 1981년 논문은 전자우편의 바로 이 문제를 다뤘습니다. 편지를 잠그는 방법뿐 아니라 이동 경로를 추적하기 어렵게 만드는 방법을 물은 것입니다. 따라서 믹스 네트워크의 보호는 단순한 내용 암호화와 다릅니다. [1] [2] [9]

A, B, C를 거치는 간단한 경로를 생각해 봅시다. 안나는 먼저 페터가 읽을 본문을 암호화합니다. 그다음 마지막 노드 C용으로 감싸고, 그 꾸러미를 B용으로, 마지막에는 첫 노드 A용으로 감쌉니다. 각 노드의 공개 키를 사용하는데, 이는 해당 개인 키로 열 수 있는 암호화 포장을 만드는 정보입니다. 키는 암호화 프로그램이 사용하는 숫자 데이터입니다. 공개 키는 공유할 수 있지만, 각 노드는 자신의 개인 키를 비밀로 유지합니다. A는 자기 계층을 벗겨 안쪽 꾸러미를 어디로 보낼지 알게 되지만 다른 키까지 받지는 않습니다. 경로를 따라 차례로 열 수 있도록 포장은 역순으로 준비합니다. 이해를 돕는 모형이지, 모든 믹스 네트워크에 노드가 정확히 셋이라는 뜻은 아닙니다. [1] [4] [5]

A에 안나의 메시지만 들어오고 곧 메시지 하나만 나가면 관찰자는 쉽게 연결할 수 있습니다. 그래서 고전적인 배치형 mix는 여러 메시지를 모은 뒤 전달합니다. 묶음으로 처리하면 어떤 입력이 어떤 출력인지 가능한 조합이 늘어납니다. 데이터 꾸러미의 크기를 맞추는 것도 중요합니다. 유난히 큰 소포는 여전히 알아보기 쉽기 때문입니다. 정해진 길이가 되도록 데이터를 덧붙이는 것을 padding이라고 합니다. 다만 사람이나 메시지 수만으로 프라이버시를 정확히 측정할 수는 없습니다. 관찰자가 이미 무엇을 아는지도 중요합니다. [1] [3]

mix는 자기 암호화 계층을 벗기고 프로토콜에 따라 메시지를 검사합니다. 같은 바깥 꾸러미를 그대로 복사해 보내는 것이 아닙니다. 따라서 입구와 출구에서 완전히 같은 데이터를 비교하는 것만으로는 추적할 수 없습니다. 순서도 바뀝니다. Chaum의 원래 제안은 묶음의 출력을 데이터에 따라 정렬했고, 다른 설계는 다른 방법을 씁니다. 중요한 것은 출력 순서가 도착 순서를 드러내지 않는다는 점입니다. 같은 메시지가 다시 들어오는지도 검사합니다. 다음 노드가 비슷한 절차를 이어가고 마지막 노드가 수신자 쪽으로 전달합니다. 페터를 위한 본문은 수신자를 위한 별도의 암호화로 계속 보호됩니다. [1] [3] [5]

한 묶음이 모일 때까지 기다리는 대신, 메시지마다 다른 무작위 대기 시간을 두고 계속 전달할 수도 있습니다. 그러면 패킷, 즉 데이터 묶음이 들어온 시각과 나간 시각의 관계가 약해집니다. 위장 트래픽도 보탬이 됩니다. 사용자의 실제 메시지가 없는 통신을 흘려, 관찰자에게는 진짜 메시지처럼 보이게 합니다. 데이터 움직임만 보고 안나가 실제로 언제 글을 썼는지 판단하기 어려워집니다. Loopix가 이런 방식이며 Nym도 그 아이디어를 활용합니다. 대신 추가 데이터 전송, 기기의 처리 작업, 대기 시간이 듭니다. 이런 비용을 어떻게 설정하느냐가 얻는 보호 수준에도 영향을 줍니다. [3] [5]

고전적인 모델에서는 경로의 mix 하나 이상이 프로토콜을 지키고 자신의 입출력 대응 관계를 공격자에게 밝히지 않으면 그 내부 관계를 숨길 수 있습니다. 정직하다는 말은 바로 이 행동을 뜻하며 운영자의 인품 전반을 평가하는 말이 아닙니다. 정직한 서버 한 대로 모든 상황이 해결된다는 뜻도 아닙니다. 공격자가 같은 묶음의 다른 메시지를 모두 알아보면 소거법으로 안나의 메시지가 남을 수 있습니다. 네트워크 양 끝의 관찰, 장기간의 사용자 활동, 트래픽에 개입할 능력도 중요합니다. 그래서 연구는 상대가 정확히 무엇을 보고 통제할 수 있는지 위협 모델을 명시합니다. [1] [3]

공격자는 가로챈 패킷을 다시 보내고 반대편에서 대응하는 반복을 찾을 수 있습니다. 데이터를 바꿔 메시지에 표식을 넣거나, 통신을 지연시키거나, 일부 메시지를 버릴 수도 있습니다. 따라서 방어에는 무결성 검사와 반복 기록이 필요합니다. Loopix와 Nym 등이 쓰는 Sphinx 형식은 노드에 이런 검사에 필요한 정보를 제공합니다. 일부 설계에서는 위장 메시지도 트래픽 손실을 감지하는 데 쓰입니다. 모두 구체적인 전제 아래 작동하는 방어이며, 네트워크를 방해할 수 없다는 약속은 아닙니다. 암호화된 메시지도 전달되지 않을 수 있습니다. [3] [5]

안나는 돌아오는 경로의 지시를 암호화해 페터에게 줄 수 있습니다. 그는 이를 이용하면 안나의 일반 네트워크 주소를 몰라도 답장할 수 있습니다. Chaum도 이미 이런 회신 주소를 설명했습니다. 현대의 일부 시스템은 SURB(Single-Use Reply Block)라는 일회용 회신 블록을 사용합니다. 한 번만 쓴다는 조건은 보호 장치의 일부이지 임의의 불편이 아닙니다. 가명을 쓰면 실명을 드러내지 않고 여러 메시지가 같은 작성자에게서 왔음을 보여 줄 수 있지만, 동시에 그 메시지들은 연결됩니다. 안나가 본문에서 신원을 밝히거나 개인정보를 보내면 경로를 숨겨도 그 공개를 되돌릴 수 없습니다. [1] [10]

Tor도 여러 중계 노드를 거치지만, 웹을 일상적으로 탐색할 수 있도록 낮은 지연을 우선합니다. 양 끝을 관찰할 수 있는 상대는 트래픽 시간과 양을 비교할 수 있습니다. Tor에도 padding 장치가 있으므로 위장 트래픽을 전혀 쓰지 않는다고 하면 부정확합니다. 고전적인 mixnet은 메시지 전달 같은 용도에서 더 긴 대기를 감수합니다. Loopix는 수초 규모 지연으로 절충하는 방식을 연구합니다. Nym 역시 mixnet 모드와 더 빠른 dVPN 모드를 구별합니다. dVPN 모드는 여기서 설명한 메시지 혼합 과정 대신 암호화된 터널을 통해 데이터를 보냅니다. 이름이나 경로 길이만으로 판단할 수 없습니다. 실제 전송 방식과 막으려는 위협을 봐야 합니다. [4] [9] [8] [3] [5] [11]

비트코인 지갑은 결제를 받고 보내는 데 사용하는 앱입니다. 지갑이나 다른 앱이 적절한 네트워크 경로를 지원한다면, mixnet은 그 트래픽을 특정 인터넷 연결과 연관 짓기 어렵게 할 수 있습니다. 하지만 Bitcoin 프로토콜의 자동 기능도, 코인 혼합 서비스와 같은 것도 아닙니다. 거래 사이의 공개된 연결은 거래를 함께 기록하는 장부인 블록체인에 남습니다. 전송 경로를 숨겨도 지워지지 않습니다. BIP 324도 노드 사이 연결을 암호화할 뿐, 발신자를 숨기기 위해 메시지를 섞지는 않습니다. 따라서 전송 과정의 프라이버시와 결제 이력의 프라이버시는 구별해야 합니다. Mix Network는 첫 번째 층을 이해하는 데 도움이 되지만 모든 결제를 익명 현금으로 바꾸지는 못합니다. [6] [7]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 David Chaum, Bitcoin 프라이버시, 가명성, Bitcoin, Bitcoin Anonymity Networks, BIP324.

DOC · 001David Chaum — Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms1차 출처 DOC · 002ACM — Chaum's 1981 mix-network paper출판사 DOC · 003The Loopix Anonymity System1차 출처 DOC · 004Tor: The Second-Generation Onion Router1차 출처 DOC · 005Nym — Mixnet traffic flow문서 DOC · 006Bitcoin.org — Protect your privacy문서 DOC · 007BIP 324 — Version 2 P2P Encrypted Transport Protocol명세 DOC · 008Tor Specifications — Connection-level padding명세 DOC · 009Tor Project — Traffic correlation using netflows1차 출처 DOC · 010Nym — Anonymous replies with SURBs문서 DOC · 011Nym — dVPN protocol1차 출처
개정일: 1차 출처 우선 · 투자 조언이 아닙니다