Защита конфиденциальности и усиление; Стратегия отчета

Чтобы обеспечить конфиденциальность и безопасность данных, служба агрегации использует платформу, поддерживающую дифференциальную конфиденциальность (DP) . Инструменты и механизмы предназначены для количественной оценки и ограничения объема информации, раскрываемой отдельным пользователем. Давайте обсудим некоторые из этих мер защиты конфиденциальности.

Добавлен шум в сводные отчеты.

Когда рекламные технологии группируют агрегированные отчеты, служба агрегирования создает сводный отчет. Сводный отчет представляет собой совокупность всех вкладов всех предопределенных ключей домена с добавленным статистическим шумом.

Шум, добавляемый в отчеты, не зависит от количества агрегированных отчетов, значений отдельных отчетов или агрегированных значений отчетов.

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

Ограничение вклада

В зависимости от используемых клиентских API для измерения ( API Attribution Reporting или Private Aggregation API ), количество вкладов, передаваемых в вызове, привязано к определенному ограничению вклада, чтобы контролировать чувствительность сводного отчета.

Чтобы узнать больше о бюджетах взносов для каждого API, вы можете найти их в следующих разделах каждого API:

Правило «Нет дубликатов»

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

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

AgS Без дубликатов

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

Другая концепция, которую представляет Служба агрегирования, — это непересекающиеся пакеты. Это означает, что в двух или более пакетах не должно быть отчетов с общим идентификатором .

Общий идентификатор — это комбинация данных, собранных из shared_info агрегируемого отчета. Пример shared_info можно увидеть ниже. Мы можем видеть API, version , attribution_destination (для отчетов об атрибуции), reporting_origin , scheduled_report_time и source_registration_time (для отчетов об атрибуции). Все эти поля, за исключением report_id вносят вклад в общий идентификатор.

"shared_info": {
  "API": "attribution-reporting",
  "attribution_destination": "https://privacy-sandbox-demos-shop.dev",
  "report_id": "5b052748-f5fb-4f14-b291-de03484ed59e",
  "reporting_origin": "https://privacy-sandbox-demos-dsp.dev",
  "scheduled_report_time": "1707786751",
  "source_registration_time": "0",
  "version": "0.1"
}

Поскольку source_registration_time усекается до дня, а scheduled_report_time усекается до часа, будут отчеты, которые будут использовать один и тот же общий идентификатор.

Посмотрите, как два отчета могут использовать один и тот же общий идентификатор. У нас есть следующий пример полей общей информации из Report1 и Report2 .

Оба отчета имеют одинаковый API, версию, attribution_destination , reporting_origin и source_registration_time . Поскольку report_id не является частью общего идентификатора, мы можем игнорировать эту разницу. Единственное другое отличие — это scheduled_report_time . Если мы посмотрим на это дальше, scheduled_report_time для Report1February 19, 2024 9:08:10 PM , а для Report2February 19, 2024 9:55:10 PM . Поскольку scheduled_report_time усекается до часа, мы видим, что в обоих отчетах в качестве scheduled_report_time указано February 19, 2024 9 PM . А поскольку все поля одинаковы, мы можем подтвердить, что оба отчета имеют один и тот же общий идентификатор.

Соблюдайте scheduled_report_time .

Пожаловаться1 Общая информация Общая информация Report2
"shared_info": { "shared_info": {
«API»: «отчетность по атрибуции», «API»: «отчетность по атрибуции»,
"attribution_destination": "https://shop.dev", "attribution_destination": "https://shop.dev",
"report_id": "5b052748-...", "report_id": "1a1b25aa-...",
"reporting_origin": "https://dsp.dev", "reporting_origin": "https://dsp.dev",
"scheduled_report_time": "1708376890", "scheduled_report_time": "1708379710",
"source_registration_time": "0", "source_registration_time": "0",
"версия": "0.1" "версия": "0.1"
} }

Теперь, когда подтверждено, что оба отчета имеют один и тот же общий идентификатор, оба отчета необходимо будет включить в один и тот же пакет.

Если Report1 будет объединен в ранее успешный пакет, а Report2 будет обработан в последующем пакете, пакет с Report2 завершится сбоем с ошибкой PRIVACY_BUDGET_EXHAUSTED . В этом случае удалите отчеты с общим идентификатором, которые были успешно объединены в предыдущие пакеты, и повторите попытку.

Схема конфиденциальности AgS

Чтобы узнать больше о пакетной обработке, посетите руководство по стратегии пакетной обработки .

Предварительное объявление ключей агрегации

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

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

Ключи или сегменты — это 128-битные ключи, объявленные рекламной технологией либо в API отчетов об атрибуции , либо в API частного агрегирования. Рекламные специалисты могут использовать эти ключи для кодирования измерений, которые они хотят отслеживать.

Только заранее объявленные ключи будут учитываться для агрегирования и включаться в сводный отчет. К агрегированным значениям сегментов в сводном отчете будет добавлен статистический шум, который будет отражен в созданном сводном отчете.

Пакет конфиденциальности AgS

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

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

,

Чтобы обеспечить конфиденциальность и безопасность данных, служба агрегации использует платформу, поддерживающую дифференциальную конфиденциальность (DP) . Инструменты и механизмы предназначены для количественной оценки и ограничения объема информации, раскрываемой отдельным пользователем. Давайте обсудим некоторые из этих мер защиты конфиденциальности.

Добавлен шум в сводные отчеты.

Когда рекламные технологии группируют агрегированные отчеты, служба агрегирования создает сводный отчет. Сводный отчет представляет собой совокупность всех вкладов всех предопределенных ключей домена с добавленным статистическим шумом.

Шум, добавляемый в отчеты, не зависит от количества агрегированных отчетов, значений отдельных отчетов или агрегированных значений отчетов.

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

Ограничение вклада

В зависимости от используемых клиентских API для измерения ( API Attribution Reporting или Private Aggregation API ), количество вкладов, передаваемых в вызове, привязано к определенному ограничению вклада, чтобы контролировать чувствительность сводного отчета.

Чтобы узнать больше о бюджетах взносов для каждого API, вы можете найти их в следующих разделах каждого API:

Правило «Нет дубликатов»

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

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

AgS Без дубликатов

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

Другая концепция, которую представляет Служба агрегирования, — это непересекающиеся пакеты. Это означает, что в двух или более пакетах не должно быть отчетов с общим идентификатором .

Общий идентификатор — это комбинация данных, собранных из shared_info агрегируемого отчета. Пример shared_info можно увидеть ниже. Мы можем видеть API, version , attribution_destination (для отчетов об атрибуции), reporting_origin , scheduled_report_time и source_registration_time (для отчетов об атрибуции). Все эти поля, за исключением report_id вносят вклад в общий идентификатор.

"shared_info": {
  "API": "attribution-reporting",
  "attribution_destination": "https://privacy-sandbox-demos-shop.dev",
  "report_id": "5b052748-f5fb-4f14-b291-de03484ed59e",
  "reporting_origin": "https://privacy-sandbox-demos-dsp.dev",
  "scheduled_report_time": "1707786751",
  "source_registration_time": "0",
  "version": "0.1"
}

Поскольку source_registration_time усекается до дня, а scheduled_report_time усекается до часа, будут отчеты, которые будут использовать один и тот же общий идентификатор.

Посмотрите, как два отчета могут использовать один и тот же общий идентификатор. У нас есть следующий пример полей общей информации из Report1 и Report2 .

Оба отчета имеют одинаковый API, версию, attribution_destination , reporting_origin и source_registration_time . Поскольку report_id не является частью общего идентификатора, мы можем игнорировать эту разницу. Единственное другое отличие — это scheduled_report_time . Если мы посмотрим на это дальше, scheduled_report_time для Report1February 19, 2024 9:08:10 PM , а для Report2February 19, 2024 9:55:10 PM . Поскольку scheduled_report_time усекается до часа, мы видим, что в обоих отчетах в качестве scheduled_report_time указано February 19, 2024 9 PM . А поскольку все поля одинаковы, мы можем подтвердить, что оба отчета имеют один и тот же общий идентификатор.

Соблюдайте scheduled_report_time .

Пожаловаться1 Общая информация Общая информация Report2
"shared_info": { "shared_info": {
«API»: «отчетность по атрибуции», «API»: «отчетность по атрибуции»,
"attribution_destination": "https://shop.dev", "attribution_destination": "https://shop.dev",
"report_id": "5b052748-...", "report_id": "1a1b25aa-...",
"reporting_origin": "https://dsp.dev", "reporting_origin": "https://dsp.dev",
"scheduled_report_time": "1708376890", "scheduled_report_time": "1708379710",
"source_registration_time": "0", "source_registration_time": "0",
"версия": "0.1" "версия": "0.1"
} }

Теперь, когда подтверждено, что оба отчета имеют один и тот же общий идентификатор, оба отчета необходимо будет включить в один и тот же пакет.

Если Report1 будет объединен в ранее успешный пакет, а Report2 будет обработан в последующем пакете, пакет с Report2 завершится сбоем с ошибкой PRIVACY_BUDGET_EXHAUSTED . В этом случае удалите отчеты с общим идентификатором, которые были успешно объединены в предыдущие пакеты, и повторите попытку.

Схема конфиденциальности AgS

Чтобы узнать больше о пакетной обработке, посетите руководство по стратегии пакетной обработки .

Предварительное объявление ключей агрегации

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

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

Ключи или сегменты — это 128-битные ключи, объявленные рекламной технологией либо в API отчетов об атрибуции , либо в API частного агрегирования. Рекламные специалисты могут использовать эти ключи для кодирования измерений, которые они хотят отслеживать.

Только заранее объявленные ключи будут учитываться для агрегирования и включаться в сводный отчет. К агрегированным значениям сегментов в сводном отчете будет добавлен статистический шум, который будет отражен в созданном сводном отчете.

Пакет конфиденциальности AgS

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

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

,

Чтобы обеспечить конфиденциальность и безопасность данных, служба агрегации использует платформу, поддерживающую дифференциальную конфиденциальность (DP) . Инструменты и механизмы предназначены для количественной оценки и ограничения объема информации, раскрываемой отдельным пользователем. Давайте обсудим некоторые из этих мер защиты конфиденциальности.

Добавлен шум в сводные отчеты.

Когда рекламные технологии группируют агрегированные отчеты, служба агрегирования создает сводный отчет. Сводный отчет представляет собой совокупность всех вкладов всех предопределенных ключей домена с добавленным статистическим шумом.

Шум, добавляемый в отчеты, не зависит от количества агрегированных отчетов, значений отдельных отчетов или агрегированных значений отчетов.

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

Ограничение вклада

В зависимости от используемых клиентских API для измерения ( API Attribution Reporting или Private Aggregation API ), количество вкладов, передаваемых в вызове, привязано к определенному ограничению вклада, чтобы контролировать чувствительность сводного отчета.

Чтобы узнать больше о бюджетах взносов для каждого API, вы можете найти их в следующих разделах каждого API:

Правило «Нет дубликатов»

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

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

AgS Без дубликатов

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

Другая концепция, которую представляет Служба агрегирования, — это непересекающиеся пакеты. Это означает, что в двух или более пакетах не должно быть отчетов с общим идентификатором .

Общий идентификатор — это комбинация данных, собранных из shared_info агрегируемого отчета. Пример shared_info можно увидеть ниже. Мы можем видеть API, version , attribution_destination (для отчетов об атрибуции), reporting_origin , scheduled_report_time и source_registration_time (для отчетов об атрибуции). Все эти поля, за исключением report_id вносят вклад в общий идентификатор.

"shared_info": {
  "API": "attribution-reporting",
  "attribution_destination": "https://privacy-sandbox-demos-shop.dev",
  "report_id": "5b052748-f5fb-4f14-b291-de03484ed59e",
  "reporting_origin": "https://privacy-sandbox-demos-dsp.dev",
  "scheduled_report_time": "1707786751",
  "source_registration_time": "0",
  "version": "0.1"
}

Поскольку source_registration_time усекается до дня, а scheduled_report_time усекается до часа, будут отчеты, которые будут использовать один и тот же общий идентификатор.

Посмотрите, как два отчета могут использовать один и тот же общий идентификатор. У нас есть следующий пример полей общей информации из Report1 и Report2 .

Оба отчета имеют одинаковый API, версию, attribution_destination , reporting_origin и source_registration_time . Поскольку report_id не является частью общего идентификатора, мы можем игнорировать эту разницу. Единственное другое отличие — это scheduled_report_time . Если мы посмотрим на это дальше, scheduled_report_time для Report1February 19, 2024 9:08:10 PM , а для Report2February 19, 2024 9:55:10 PM . Поскольку scheduled_report_time усекается до часа, мы видим, что в обоих отчетах в качестве scheduled_report_time указано February 19, 2024 9 PM . А поскольку все поля одинаковы, мы можем подтвердить, что оба отчета имеют один и тот же общий идентификатор.

Соблюдайте scheduled_report_time .

Пожаловаться1 Общая информация Общая информация Report2
"shared_info": { "shared_info": {
«API»: «отчетность по атрибуции», «API»: «отчетность по атрибуции»,
"attribution_destination": "https://shop.dev", "attribution_destination": "https://shop.dev",
"report_id": "5b052748-...", "report_id": "1a1b25aa-...",
"reporting_origin": "https://dsp.dev", "reporting_origin": "https://dsp.dev",
"scheduled_report_time": "1708376890", "scheduled_report_time": "1708379710",
"source_registration_time": "0", "source_registration_time": "0",
"версия": "0.1" "версия": "0.1"
} }

Теперь, когда подтверждено, что оба отчета имеют один и тот же общий идентификатор, оба отчета необходимо будет включить в один и тот же пакет.

Если Report1 будет объединен в ранее успешный пакет, а Report2 будет обработан в последующем пакете, пакет с Report2 завершится сбоем с ошибкой PRIVACY_BUDGET_EXHAUSTED . В этом случае удалите отчеты с общим идентификатором, которые были успешно объединены в предыдущие пакеты, и повторите попытку.

Схема конфиденциальности AgS

Чтобы узнать больше о пакетной обработке, посетите руководство по стратегии пакетной обработки .

Предварительное объявление ключей агрегации

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

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

Ключи или сегменты — это 128-битные ключи, объявленные рекламной технологией либо в API отчетов об атрибуции , либо в API частного агрегирования. Рекламные специалисты могут использовать эти ключи для кодирования измерений, которые они хотят отслеживать.

Только заранее объявленные ключи будут учитываться для агрегирования и включаться в сводный отчет. К агрегированным значениям сегментов в сводном отчете будет добавлен статистический шум, который будет отражен в созданном сводном отчете.

Пакет конфиденциальности AgS

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

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