Наши исследователи разработали систему STAR, которая позволяет пользователям принимать участие в конфиденциальном сборе данных, криптографически гарантирующем, что пользовательские данные будут видны только в том случае, если другие пользователи предоставили точно такие же данные. Подобные системы важны для конфиденциальных измерений работы ПО в сети, то есть для аналитики и телеметрии. Главные цели STAR — это одновременное предоставление твёрдых гарантий конфиденциальности данных и возможность и доступность применения в рамках небольших и средних компаний. Ныне существующие системы (например, Prio от Mozilla и PROCHLO от Google) чрезвычайно дороги для внедрения (что делает их полезными только для самых крупных компаний), требуют «надёжного»‎ стороннего или специализированного оборудования, а также данных миллионов пользователей для получения полезных результатов. В отличие от них, STAR предоставляет гарантии безопасности, сопоставимые или превышающие гарантии существующих систем, и при этом наша система практична и доступна для проектов и организаций, обслуживающих как десятки, так и миллионы пользователей.  Мы представим систему STAR на ближайшей конференции по безопасности в Лос-Анджелесе и обсуждаем возможность её стандартизации в рамках Инженерного Совета Интернета (IETF). STAR находится в открытом доступе на Rust, и будет использоваться для защиты конфиденциальности пользователей во многих нынешних и будущих продуктах Brave.  Детальный сбор данных о том, как применяется ПО, полезен как для разработчиков, так и для пользователей. Разработчики могут использовать эту информацию для исправления багов и оптимизации, а пользователи получают лучшее ПО. Однако такой сбор данных подразумевает этическую (и часто юридическую) ответственность за конфиденциальность пользователей. Мы подчёркиваем, что конфиденциальный сбор данных является необходимой, но недостаточной частью этичного сбора данных. Пользователи всегда должны знать, когда они делятся своими данными, и иметь возможность контролировать этот процесс. Наша новая система STAR защищает конфиденциальность пользователей, гарантируя, что данные, предоставленные пользователем, никогда не могут быть уникально привязаны к этому пользователю. Эта особенность, известная как k-анонимность, гарантирует, что сборщик данных сможет видеть только те значения, которые были предоставлены достаточным числом других пользователей. K-анонимность (как и система STAR в целом) принципиально не позволяет сборщику данных когда-либо видеть уникальные значения — а это значит, что значения не могут быть использованы для идентификации пользователей.  K-анонимность — это один из многих подходов обеспечения конфиденциального сбора данных, у каждого из которых есть свои сильные и слабые стороны. STAR применяет k-анонимность, так как: Она является простым в понимании подходом к конфиденциальности; Она позволяет сборщику данных успешно обнаруживать самые популярные значения даже на небольшой выборке пользователей; Область применения STAR не подпадает под те кейсы, где k-анонимные системы подвергались атакам в прошлом. Давайте рассмотрим выдуманный пример, чтобы увидеть, как k-анонимность защищает конфиденциальность пользователей. Организация хочет узнать, какой у её сотрудников любимый вкус мороженого. Но люди согласны участвовать в таком опросе, только если они уверены, что организация не узнает, голосовали ли они. Участники опроса хотят анонимности.  Людям, голосующим за шоколад, ваниль, клубнику или любые другие популярные вкусы, нечего опасаться: так как это распространённые предпочтения, организация не сможет узнать, кто именно голосовал, если этот человек голосовал за популярный вкус.  Однако те, кто голосует за редкие вкусы, рискуют быть вычисленными: если все знают, что любимое мороженое Олега — со вкусом оливок, нетрудно будет догадаться, кто проголосовал за оливковое мороженое, при условии, что Олег принял участие в голосовании.  С помощью k-анонимности ответ «оливковое мороженое»‎ будет удалён ещё до этапа анализа данных.  По сути, k-анонимность — это подход к сбору данных, который основывается на нашем примере с мороженым: он позволяет собирать данные, чтобы узнать частые и популярные значения, но не позволяет сборщику данных видеть редкие (и поэтому потенциально компрометирующие анонимность) значения.  K-анонимность проста как концепция, но её нелегко применить на практике. К примеру, кто и как будет решать, какие значения являются частыми, а какие редкими, изначально не раскрывая потенциально компрометирующие анонимность значения? Одно неоптимальное решение сводится к тому, чтобы позволить нейтральной третьей стороне подсчитать значения до того, как передать их изначальному сборщику данных. К несчастью, по сути это игра в напёрстки, в которой забота о защите конфиденциальности данных просто передоверяется третьей стороне, а не сборщику данных, но принципиальные риски остаются теми же. Внедрение k-анонимности в реальные системы сопровождается многими сложностями такого рода.  Мы же нашли способ достигнуть k-анонимности, не прибегая к подобным неоптимальным процедурам верификации, благодаря STAR. STAR — это практичный, эффективный и дешёвый способ создания систем сбора данных, защищённый k-анонимностью. STAR отличается от существующих решений тем, что является первой системой, которая достигла всех следующих целей: Дёшево внедрить: STAR очень быстра и не требует отдельного оборудования. Это значит, что STAR могут применять как и маленькие хобби-проекты, так и большие ПО-проекты с миллионами пользователей. В наших симуляциях STAR оказался в 24 раза дешевле существующих современных подходов (мы сравнивали с системой Poplar).  Легко понять: STAR использует уникальную комбинацию уже существующих проверенных и хорошо известных криптографических инструментов (например, симметричное шифрование, схему Шамира, забывчивые псевдослучайные функции). Используя уже существующие криптографические инструменты, а не прибегая к новым криптографическим примитивам, мы достигаем того, что больше людей смогут безопасно внедрять и проверять системы STAR. Твёрдые гарантии конфиденциальности: STAR предоставляет конфиденциальность того же или превосходящего уровня по сравнению с другими современными системами, включая аварийную защиту в случае несанкционированного доступа к серверу (по сравнению с VOPRF-сервером, который не видит введённых значений, но при неправильной конфигурации или взломе может их не рандомизировать). Точные результаты на маленькой выборке пользователей: STAR предоставляет твёрдые гарантии точности даже при небольшом количестве пользователей. Это выгодно отличает её от других существующих подходов, которые предоставляет точные результаты, только если тысячи или миллионы пользователей предоставляют свои данные (к примеру, в отличие от систем, основывающихся на локальных моделях дифференциальной приватности для защиты пользователей). Не требует отдельного оборудования: STAR работает на стандартном компьютерном оборудовании, и поэтому может быть внедрена на личные сервера, стандартную облачную инфраструктуру, или на любое другое стандартное железо. Это означает, что STAR применима в большом количестве проектов и особенно полезна для проектов с небольшими бюджетами, чего нельзя сказать о некоторых современных системах, которые основываются на отдельном «надёжном»‎ оборудовании, таких как AWS Nitro или Intel SGX. Мы разработали STAR как практичную систему для решения реальных задач по улучшению защиты конфиденциальности пользователей. Мы надеемся, что STAR будет применяться во многих других проектах для защиты конфиденциальности, но наша главная цель была в том, чтобы дать возможность пользователям делиться данными с Brave, не компрометируя свою анонимность. В этой связи мы хотим подчеркнуть три вещи: Во-первых, Brave будет использовать STAR в своих продуктах в тех случаях, где мы предоставляем пользователю возможность делиться данными, если они решат это сделать. К примеру, наш Web Discovery Project использует STAR, чтобы дать пользователям возможность делиться информацией о браузерном поиске для создания индекса Поиска Brave. Мы также внедрили STAR в нашу систему, которая позволяет пользователям делиться информацией об использовании браузера с Brave (Privacy Preserving Product Analytics). Что более важно, у пользователей Brave всегда будет возможность не предоставлять нам данные. STAR предназначается лишь для предоставления дополнительных мер защиты конфиденциальности данных, которыми пользователи хотят поделиться, а не для сбора дополнительных данных о пользователях. Во-вторых, мы разрабатываем STAR открыто, чтобы другие проекты использовали или модифицировали её по своему усмотрению. Brave поддерживает версии STAR на Rust и WASM, и обе версии находятся под открытой лицензией Mozilla Public License v2. В-третьих, Brave работает над стандартизацией STAR в Инженерном Совете Интернета (IETF) в рамках рабочей группы по замерам защиты конфиденциальности. Здесь наша цель — предоставить небольшим организациям возможность конфиденциально собирать данные на основе стандартов.  Вы можете детально ознакомиться с тем, как работает STAR, и как она безопасно и эффективно предоставляет k-анонимность, в нашей статье.