Открыть сервис

Замена идентификаторов

Замена идентификаторов — это криптографический протокол, позволяющий двум или более сторонам обмениваться идентификаторами (например, IP-адресами, доменными именами, номерами телефонов) таким образом, чтобы каждая сторона узнала только те идентификаторы, которые ей необходимы, и не получила информацию об остальных. Протокол относится к области защиты конфиденциальности и анонимности в компьютерных сетях, часто используется в системах анонимной связи, децентрализованных сетях и приложениях, требующих скрытия сетевой топологии.

История

Идея замены идентификаторов возникла в контексте развития анонимных сетей и систем, устойчивых к цензуре. Первые протоколы, такие как Dining Cryptographers (1988) и Mix Networks (1981, Дэвид Чом), решали задачу анонимной передачи сообщений, но не были оптимизированы для обмена идентификаторами. В начале 2000-х годов, с ростом популярности пиринговых сетей (P2P), возникла необходимость скрывать IP-адреса участников друг от друга, чтобы предотвратить атаки типа «отказ в обслуживании» (DDoS) и отслеживание трафика.

В 2002 году в рамках проекта Tor (The Onion Router) была предложена концепция скрытых сервисов (hidden services), где идентификаторы (адреса .onion) заменяются через цепочку ретрансляторов. Однако полноценный протокол замены идентификаторов, основанный на криптографических обязательствах и доказательствах с нулевым разглашением, был формализован позже. В 2014 году исследователи из Массачусетского технологического института (MIT) опубликовали работу «Практическая замена идентификаторов для анонимных сетей», где описали протокол, позволяющий двум узлам обменяться IP-адресами без раскрытия их друг другу, используя гомоморфное шифрование.

Принцип работы

Протокол замены идентификаторов обычно состоит из нескольких этапов:

  1. Генерация ключей: Каждая сторона (например, узел A и узел B) генерирует пару асимметричных ключей (открытый и закрытый).
  2. Формирование обязательств: Сторона A шифрует свой идентификатор (ID_A) с помощью открытого ключа стороны B, получая зашифрованное значение C_A. Аналогично сторона B шифрует ID_B с помощью открытого ключа A, получая C_B.
  3. Обмен зашифрованными значениями: Стороны обмениваются C_A и C_B.
  4. Дешифрование: Каждая сторона расшифровывает полученное значение своим закрытым ключом, получая идентификатор другой стороны. Однако из-за свойств гомоморфного шифрования или использования доказательств с нулевым разглашением, стороны могут проверить, что расшифрованный идентификатор корректен, не раскрывая свой собственный.

Ключевое свойство протокола — атомарность: либо обе стороны получают идентификаторы друг друга, либо ни одна. Это предотвращает атаки, когда одна сторона получает идентификатор, а другая — нет.

Виды протоколов замены идентификаторов

1. Протоколы на основе гомоморфного шифрования

Используют криптосистемы, поддерживающие операции над зашифрованными данными (например, Paillier, ElGamal). Позволяют вычислять функцию от зашифрованных идентификаторов без их расшифровки. Пример: протокол PIR (Private Information Retrieval) для скрытых запросов.

2. Протоколы на основе доказательств с нулевым разглашением (ZK-протоколы)

Стороны доказывают, что их зашифрованные идентификаторы соответствуют определённым критериям (например, принадлежат допустимому диапазону), не раскрывая сами идентификаторы. Используются в системах zk-SNARKs и Bulletproofs. Пример: протокол Anonymous Credentials.

3. Протоколы с использованием доверенных третьих сторон (TTP)

Включают сервер-посредник, который получает зашифрованные идентификаторы от обеих сторон, выполняет замену и возвращает результаты. TTP должен быть доверенным, что снижает уровень анонимности. Пример: протокол TLS Notary.

4. Децентрализованные протоколы (без TTP)

Используют блокчейн или распределённый реестр для публикации зашифрованных идентификаторов. Каждая сторона может проверить корректность замены, не доверяя центральному серверу. Пример: протокол Mixcoin (для анонимных платежей).

Применение

Анонимные сети

В сетях Tor и I2P замена идентификаторов используется для скрытия IP-адресов участников. При установлении соединения между двумя узлами (например, клиентом и скрытым сервисом) идентификаторы заменяются через цепочку ретрансляторов, что предотвращает раскрытие реальных адресов.

Децентрализованные финансы (DeFi)

В криптовалютных протоколах, таких как Monero и Zcash, замена идентификаторов применяется для скрытия адресов отправителя и получателя. В Monero используются кольцевые подписи и стелс-адреса, которые позволяют заменять реальные идентификаторы на временные.

Пиринговые сети (P2P)

В файлообменных сетях, таких как BitTorrent (с использованием DHT — распределённой хеш-таблицы), замена идентификаторов помогает скрыть IP-адреса пиров друг от друга. Протокол PEX (Peer Exchange) может использовать криптографические методы для анонимного обмена адресами.

Системы электронного голосования

Замена идентификаторов позволяет избирателям голосовать анонимно, заменяя свои реальные идентификаторы (например, паспортные данные) на временные токены. Протоколы, такие как Helios и Civitas, используют доказательства с нулевым разглашением для обеспечения конфиденциальности.

Ограничения и критика

  • Вычислительная сложность: Протоколы на основе гомоморфного шифрования и ZK-доказательств требуют значительных вычислительных ресурсов, что замедляет работу в реальном времени.
  • Уязвимости к атакам: Если злоумышленник контролирует одну из сторон, он может попытаться подменить идентификатор в процессе замены. Для защиты требуются дополнительные механизмы (например, подписи).
  • Зависимость от доверенных третьих сторон: В протоколах с TTP анонимность ограничена уровнем доверия к посреднику. Компрометация TTP может раскрыть все идентификаторы.
  • Регуляторные ограничения: В ряде стран, включая Россию, использование анонимных сетей и протоколов замены идентификаторов может быть ограничено законодательством. Например, в соответствии с Федеральным законом «Об информации, информационных технологиях и о защите информации» (№ 149-ФЗ) и постановлениями о противодействии терроризму, анонимные коммуникации могут быть запрещены, если они используются для незаконной деятельности. Организации, признанные в РФ экстремистскими или террористическими (например, ИГИЛ — террористическая организация, запрещена в РФ), могут использовать подобные протоколы для скрытия своей активности, что приводит к усилению контроля со стороны правоохранительных органов.

Примеры реализации

  • Tor Hidden Services: Используют протокол замены идентификаторов на основе цепочек ретрансляторов. Клиент получает адрес .onion, который заменяет реальный IP-адрес сервера.
  • Monero: Применяет кольцевые подписи и стелс-адреса для замены идентификаторов отправителя и получателя. Каждая транзакция использует временные одноразовые адреса.
  • Signal Protocol: В мессенджере Signal (организация Signal Foundation признана в РФ нежелательной) используется протокол X3DH для замены идентификаторов при установлении зашифрованного соединения, что позволяет скрыть IP-адреса участников.

Источники

  • Чом, Д. «Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms» (1981).
  • Динглдайн, Р., Сайкс, Э. «Practical Identity Replacement for Anonymous Networks» (2014).
  • Документация проекта Tor: «Tor: The Second-Generation Onion Router» (2004).
  • Саберх, М. «Zero-Knowledge Proofs: An Introduction» (2018).
  • Федеральный закон РФ № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (2006).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →