Наши исследователи разработали систему STAR, которая позволяет пользователям принимать участие в конфиденциальном сборе данных, криптографически гарантирующем, что пользовательские данные будут видны только в том случае, если другие пользователи предоставили точно такие же данные. Подобные системы важны для конфиденциальных измерений работы ПО в сети, то есть для аналитики и телеметрии.

Главные цели STAR — это одновременное предоставление твёрдых гарантий конфиденциальности данных и возможность и доступность применения в рамках небольших и средних компаний. Ныне существующие системы (например, Prio от Mozilla и PROCHLO от Google) чрезвычайно дороги для внедрения (что делает их полезными только для самых крупных компаний), требуют «надёжного»‎ стороннего или специализированного оборудования, а также данных миллионов пользователей для получения полезных результатов. В отличие от них, STAR предоставляет гарантии безопасности, сопоставимые или превышающие гарантии существующих систем, и при этом наша система практична и доступна для проектов и организаций, обслуживающих как десятки, так и миллионы пользователей. 

Мы представим систему STAR на ближайшей конференции по безопасности в Лос-Анджелесе и обсуждаем возможность её стандартизации в рамках Инженерного Совета Интернета (IETF). STAR находится в открытом доступе на Rust, и будет использоваться для защиты конфиденциальности пользователей во многих нынешних и будущих продуктах Brave. 

Конфиденциальный сбор данных с применением k-анонимности

Детальный сбор данных о том, как применяется ПО, полезен как для разработчиков, так и для пользователей. Разработчики могут использовать эту информацию для исправления багов и оптимизации, а пользователи получают лучшее ПО.

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

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

K-анонимность — это один из многих подходов обеспечения конфиденциального сбора данных, у каждого из которых есть свои сильные и слабые стороны. STAR применяет k-анонимность, так как:

  • Она является простым в понимании подходом к конфиденциальности;

  • Она позволяет сборщику данных успешно обнаруживать самые популярные значения даже на небольшой выборке пользователей;

  • Область применения STAR не подпадает под те кейсы, где k-анонимные системы подвергались атакам в прошлом.

K-анонимность на примере мороженого

Давайте рассмотрим выдуманный пример, чтобы увидеть, как k-анонимность защищает конфиденциальность пользователей. Организация хочет узнать, какой у её сотрудников любимый вкус мороженого. Но люди согласны участвовать в таком опросе, только если они уверены, что организация не узнает, голосовали ли они. Участники опроса хотят анонимности. 

Людям, голосующим за шоколад, ваниль, клубнику или любые другие популярные вкусы, нечего опасаться: так как это распространённые предпочтения, организация не сможет узнать, кто именно голосовал, если этот человек голосовал за популярный вкус. 

Однако те, кто голосует за редкие вкусы, рискуют быть вычисленными: если все знают, что любимое мороженое Олега — со вкусом оливок, нетрудно будет догадаться, кто проголосовал за оливковое мороженое, при условии, что Олег принял участие в голосовании. 

С помощью k-анонимности ответ «оливковое мороженое»‎ будет удалён ещё до этапа анализа данных. 

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

K-анонимность сложна на практике

K-анонимность проста как концепция, но её нелегко применить на практике. К примеру, кто и как будет решать, какие значения являются частыми, а какие редкими, изначально не раскрывая потенциально компрометирующие анонимность значения?

Одно неоптимальное решение сводится к тому, чтобы позволить нейтральной третьей стороне подсчитать значения до того, как передать их изначальному сборщику данных. К несчастью, по сути это игра в напёрстки, в которой забота о защите конфиденциальности данных просто передоверяется третьей стороне, а не сборщику данных, но принципиальные риски остаются теми же. Внедрение k-анонимности в реальные системы сопровождается многими сложностями такого рода. 

Мы же нашли способ достигнуть k-анонимности, не прибегая к подобным неоптимальным процедурам верификации, благодаря STAR.

STAR обеспечивает k-анонимность дёшево и безопасно

STAR — это практичный, эффективный и дешёвый способ создания систем сбора данных, защищённый k-анонимностью. STAR отличается от существующих решений тем, что является первой системой, которая достигла всех следующих целей:

Дёшево внедрить: STAR очень быстра и не требует отдельного оборудования. Это значит, что STAR могут применять как и маленькие хобби-проекты, так и большие ПО-проекты с миллионами пользователей. В наших симуляциях STAR оказался в 24 раза дешевле существующих современных подходов (мы сравнивали с системой Poplar). 

Легко понять: STAR использует уникальную комбинацию уже существующих проверенных и хорошо известных криптографических инструментов (например, симметричное шифрование, схему Шамира, забывчивые псевдослучайные функции). Используя уже существующие криптографические инструменты, а не прибегая к новым криптографическим примитивам, мы достигаем того, что больше людей смогут безопасно внедрять и проверять системы STAR.

Твёрдые гарантии конфиденциальности: STAR предоставляет конфиденциальность того же или превосходящего уровня по сравнению с другими современными системами, включая аварийную защиту в случае несанкционированного доступа к серверу (по сравнению с VOPRF-сервером, который не видит введённых значений, но при неправильной конфигурации или взломе может их не рандомизировать).

Точные результаты на маленькой выборке пользователей: STAR предоставляет твёрдые гарантии точности даже при небольшом количестве пользователей. Это выгодно отличает её от других существующих подходов, которые предоставляет точные результаты, только если тысячи или миллионы пользователей предоставляют свои данные (к примеру, в отличие от систем, основывающихся на локальных моделях дифференциальной приватности для защиты пользователей).

Не требует отдельного оборудования: STAR работает на стандартном компьютерном оборудовании, и поэтому может быть внедрена на личные сервера, стандартную облачную инфраструктуру, или на любое другое стандартное железо. Это означает, что STAR применима в большом количестве проектов и особенно полезна для проектов с небольшими бюджетами, чего нельзя сказать о некоторых современных системах, которые основываются на отдельном «надёжном»‎ оборудовании, таких как AWS Nitro или Intel SGX.

STAR на защите конфиденциальности пользователей

Мы разработали 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-анонимность, в нашей статье.

Комментарии (6)


  1. Number7
    29.07.2022 16:16
    +2

    краткий пересказ длиннопоста: авторы браузера клятвенно уверяют, что сбор статистики с пользователя это правильно, это хорошо и вполне возможно даже конфидециально - мы типа вложили в это всех своих разработчиков.

    в связи с чем вопрос: зачем мне вот такой браузер, если есть браузеры без сбора статистики или хотя бы с отключаемой (на уровне фаерволла) статистикой?


    1. dartraiden
      29.07.2022 19:33
      +4

      Это можно переформулировать, зачем мне браузер, разработчики которого лишены возможности оценивать популярность той или иной функции браузера и принимают из-за этого неоптимальные решения о направлениях развития? Такие решения, в конечном счёте, бьют по самому пользователю.

      браузеры без сбора статистики
      При виде браузеров «форк популярного браузера, из которого вырезали сбор статистики» мне почему-то в голову приходит словосочетание «трагедия общин». Пользователи таких браузеров рассуждают примерно так: «если сбор статистики необходим для развития моего любимого браузера, то пусть её собирают с других, но не с меня — я хочу получать только преимущества, а издержки смело перекладываю на других».

      Пример: в нашем ПО мы собираем сведения о версии операционной системы пользователя. Эти сведения удерживают нас, например, от того, чтобы прекратить поддержку устаревших ОС, которая для нас боль в дырка задница. Но пока мы видим, что, условно, у нас на Windows XP сидит 100k пользователей, мы продолжаем поддержку. Без этих сведений искушение отстрелить поддержку легаси становится сильнее с каждым годом и эти пользователи, в итоге, намного раньше останутся без любимого ПО (при этом, мигрировать им особо некуда, это довольно специфическое в 2022 году ПО, конкурентов буквально 1.5 штуки и те гораздо менее функциональны).


      1. BraveSoftware Автор
        29.07.2022 19:48

        Спасибо за коммент


    1. BraveSoftware Автор
      29.07.2022 19:50

      На всякий случай продублирую то что написано в посте: WDP (это там где много статистики) выключена по умолчанию. А остальная (P3A) - отключаемая.


  1. MojaveExpress
    29.07.2022 19:44

    Ну офигеть теперь. Лучше бы вы сделали возможность отключать рекламу в новой вкладке и редактировать плитки со ссылками.


    1. BraveSoftware Автор
      29.07.2022 19:46
      +1

      так и то, и это давно сделано. Нажимаете "Customize" на новой вкладке и отключаете Sponsored Images или вообще картинки. Плитки тоже можно редактировать, если на них навести мышь и нажать карандашик. Или вам что-то другое нужно?