Разработано | Цифровые услуги правительства Сингапура |
---|---|
Представлено | 24 марта, 2020 (2020-03-24) |
Промышленность | Цифровое отслеживание контактов |
Совместимое оборудование | Смартфоны Android и iOS |
Физический диапазон | ~ 10 м (33 ft) |
BlueTrace - это открытый исходный код протокол приложения, который упрощает цифровое отслеживание контактов пользователей, чтобы остановить распространение Пандемия COVID-19. Первоначально разработанный правительством Сингапура, BlueTrace обеспечивает отслеживание контактов для приложения TraceTogether. Австралия уже приняла протокол, и многие другие страны, такие как Новая Зеландия, рассматривают возможность внедрения BlueTrace. Основным принципом протокола является сохранение конфиденциальности и сотрудничество органов здравоохранения.
Сохранение конфиденциальности пользователей было одним из основных соображений, вокруг которых был разработан BlueTrace. Для этого личная информация собирается только один раз в момент регистрации и используется только для связи с потенциально инфицированными пациентами. Кроме того, пользователи могут отказаться в любое время, удалив всю личную информацию и сделав любые записанные данные не отслеживаемыми. Отслеживание контактов выполняется полностью локально на клиентском устройстве с использованием Bluetooth Low Energy, при этом все встречи сохраняются в журнале истории контактов, в котором регистрируются встречи за последние 21 день. Пользователи в журнале контактов идентифицируются с помощью анонимных сдвигающихся во времени «временных идентификаторов», выдаваемых органом здравоохранения. Это означает, что личность пользователя не может быть установлена кем-либо, кроме органа здравоохранения, в котором он зарегистрирован. Кроме того, поскольку временные идентификаторы меняются на регулярной основе, третьи злоумышленники не могут отслеживать пользователей, отслеживая записи журнала с течением времени.
После положительного результата теста на инфекцию служба здравоохранения запрашивает журнал контактов. Если пользователь решает поделиться своим журналом, он отправляется в орган здравоохранения, где они сопоставляют временный идентификатор с контактной информацией. Органы здравоохранения не могут получить доступ к записям журнала об иностранных пользователях, поэтому эти записи отправляются в соответствующий зарубежный орган здравоохранения для обработки. После обработки журнала служба здравоохранения связывается с пользователем, указанным в записи.
Протокол ориентирован на две области: локальная регистрация зарегистрированных пользователей в непосредственной близости от устройства и передача журнала в оперативный орган здравоохранения, все при сохранении конфиденциальности. Для этого протокол можно разделить на области связи между устройствами (DDC) и между устройствами и серверами отчетов (DRSC).
Компонент DDC работает поверх существующего протокола Bluetooth Low Energy, определяя, как два устройства подтверждают присутствие друг друга. Компонент DRSC использует HTTPS для передачи графика посещений централизованного сервера, принадлежащего органу здравоохранения, после того, как пользователь дал положительный результат на заражение. Затем орган здравоохранения может с помощью журнала уведомить пользователей, которые контактировали с инфицированным пациентом.
Каждое приложение, реализующее протокол BlueTrace, имеет соответствующий центральный сервер отчетов, управляемый органом здравоохранения. Сервер отчетов отвечает за обработку начальной регистрации, предоставление уникальных идентификаторов пользователей и сбор журналов контактов, созданных частью протокола DDC. Когда пользователь впервые запускает приложение BlueTrace, ему будет предложено ввести международный номер телефона , и ему будет назначен статический идентификатор пользователя. Этот номер телефона позже используется, если пользователь зарегистрировал встречу в журнале контактов инфицированного пациента.
После регистрации пользователям предоставляются временные идентификаторы (TempID), однозначно идентифицирующие их для других устройств. Каждый TempID имеет срок действия 15 минут, чтобы предотвратить выполнение злоумышленниками атак с повторением или отслеживания пользователей с течением времени с помощью статических уникальных идентификаторов. TempID генерируются из идентификатора пользователя, времени начала TempID и времени истечения срока действия TempID, которые зашифровываются и превращаются сервером в строку в кодировке Base64 с использованием секретного ключа симметричного шифрования.. Чтобы обеспечить постоянную подачу идентификаторов TempID на устройства, даже в нестабильной сетевой среде, идентификаторы TempID передаются на устройства заранее датированными пакетами. Состав TempID показан ниже:
После того, как пользователь получил положительный результат на заражение, орган здравоохранения генерирует PIN-код, удостоверяющий пользователя, чтобы загрузить его журнал контактов на сервер отчетов. Как часть журнала включаются метаданные о каждой встрече; наиболее важными из которых являются отметка времени и идентификатор органа здравоохранения (HAI).
HAI определяет, к какому центру работоспособности сообщает зарегистрированный контакт. Если HAI представляет сторонний орган здравоохранения, запись журнала передается указанному органу для обработки.
После того, как центр работоспособности отфильтровал записи журнала, чтобы включить только домашних клиентов, они расшифровывают TempID, чтобы выявить UserID, время начала и время истечения срока действия. Дата начала и окончания срока действия сравнивается с меткой времени встречи, чтобы гарантировать достоверность, а UserID сопоставляется с номером телефона. Затем орган здравоохранения может связаться по номеру телефона, чтобы сообщить пользователю о потенциальном контакте с инфицированным пациентом.
Часть протокола DDC определяет, как два устройства связываются и регистрируют свои контакты. Каждое устройство находится в одном из двух состояний, центральном или периферийном, с рабочим циклом около 1: 4 соответственно.
В периферийном режиме устройство объявляет о своем присутствии, а в центральном режиме оно сканирует рекламные устройства. Кроме того, некоторые устройства не могут работать в центральном режиме и, следовательно, работают только в периферийном режиме. Как только два устройства обнаруживают друг друга, они передают характерный пакет, содержащий информацию о себе. Пакет сформирован как файл JSON, содержащий TempID устройства, модель устройства, HAI и версию протокола BlueTrace.
При работе в центральном режиме устройство дополнительно передает мощность сигнала, что позволяет позже рассчитать приблизительное расстояние между двумя устройствами. Ниже приведен пример пакета центральной характеристики:
{"id": "FmFISm9nq3PgpLdxxYpTx5tF3ML3Va1wqqgY9DGDz1utPbw + Iz8tqAdpbxR1 nSvr + ILXPG ==", // TempID "rc", // TempID "rc", // "Модель устройства iPhone" // Уровень сигнала «o»: «IJ_HAI», // Идентификатор центра работоспособности «v»: 2 // Версия протокола}
Эти характеристики затем добавляются в локальную базу данных на устройстве, где они хранятся в течение 21 дня и могут быть отправлены на сервер отчетов позже. Связанное устройство также добавляется в локальный черный список для двух рабочих циклов, чтобы два устройства не контактировали повторно друг с другом, экономя энергию и память.
Сотрудничество между отдельными органами здравоохранения является основным компонентом протокола BlueTrace, и оно спроектировано таким образом, что несколько органов могут работать вместе, не раскрывая личную информацию иностранные органы, в которых пользователь не зарегистрирован. Поскольку каждый орган хранит свой отдельный ключ шифрования и пользовательские записи, орган здравоохранения не может расшифровать и просмотреть данные внешнего пользователя.
Чтобы гарантировать отправку записей журнала в правильный центр, часть подтверждения DDC содержит идентификатор центра работоспособности (HAI), уникальную строку , назначенную зарегистрированным органам здравоохранения. После идентификации записи журнала стороннего органа здравоохранения принимающий орган здравоохранения передает запись журнала на сервер отчетов внешнего органа, где она проверяется, и возвращается статический псевдоидентификатор.
Псевдоидентификатор - это соленый криптографический хэш идентификатора пользователя, предназначенный для того, чтобы иностранные органы здравоохранения могли выполнять статистический анализ журналов контактов и сообщать о конкретном пользователе без раскрытия информации. ненужная личная информация. Как только будет установлено, что псевдоидентификатор находится в тесном контакте с инфицированным пациентом, иностранный орган здравоохранения, выдавший псевдоидентификатор, информируется и может при необходимости принять меры.
Возможность пользователей отозвать согласие на использование и сбор своих данных в любое время была важным фактором при разработке протокола. Для этого личная информация исключена из компонента протокола DDC. Это означает, что единственное место, где хранится личная информация, - это сервер отчетов, где она связана с анонимным статическим идентификатором пользователя. Этот UserID (зашифрованный в TempID) используется для идентификации в части протокола DDC. Если пользователь отзывает согласие, запись пользователя удаляется с сервера отчетов, а это означает, что идентификаторы пользователей, полученные через журналы контактов, больше не могут быть сопоставлены с номером телефона.
Одной из самых серьезных проблем конфиденциальности, поднятых в отношении таких протоколов, как BlueTrace или PEPP-PT, является использование централизованной обработки отчетов. В протоколе централизованной обработки отчетов пользователь должен загрузить весь свой журнал контактов на сервер, администрируемый органом здравоохранения, где он отвечает за сопоставление записей журнала с контактными данными, установление потенциального контакта и, в конечном итоге, предупреждение пользователей о потенциальном контакте.
В качестве альтернативы, протоколы децентрализованной обработки отчетов при наличии центрального сервера отчетов делегируют ответственность за обработку журналов клиентам в сети. Протоколы, использующие этот подход, такие как TCN и DP-3T, позволяют клиенту загружать номер, из которого отдельные устройства могут получать токены обнаружения. Затем клиенты сверяют эти токены со своими локальными журналами контактов, чтобы определить, контактировали ли они с инфицированным пациентом. Из-за того, что протокол никогда не разрешает правительству доступ к журналам контактов, этот подход имеет серьезные преимущества в отношении конфиденциальности. Однако этот метод также представляет некоторые проблемы, в первую очередь отсутствие участия человека в цикле отчетности, что приводит к более высокому количеству ложных срабатываний; и потенциальные проблемы с масштабом, поскольку некоторые устройства могут быть перегружены большим количеством отчетов. Протоколы децентрализованной отчетности также менее развиты, чем их централизованные аналоги.
Снимок экрана Домашняя страница приложения | |
Автор (ы) оригинала | Цифровые услуги правительства Сингапура |
---|---|
Разработчик (и) | Государственные цифровые услуги Сингапура |
Первоначальный выпуск | 10 апреля 2020 г.; 6 месяцев назад (10.04.2020) |
Репозиторий | github.com / opentrace-community |
Написано на | |
Операционная система | Android, iOS |
Платформа | Firebase |
Доступна на | английском языке |
Веб-сайт | bluetrace.io |
OpenTrace - это эталонная реализация BlueTrace с открытым исходным кодом, выпущенная под лицензией GPL-3.0. Сторона протокола DRSC реализована с использованием платформы Firebase с использованием функций Firebase, структуры бессерверных вычислений для всех клиентских вызовов; и Firebase Secret Manager и Storage для хранения ключей шифрования и журналов контактов соответственно. Для стороны приложения / DDC протокола включена модифицированная версия приложения TraceTogether для устройств Android и iOS.
COVIDSafe - это цифровое отслеживание контактов приложение, объявленное Федеральным правительством Австралии на основе OpenTrace / BlueTrace, объявленное 14 апреля 2020 года для помощи в борьбе с продолжающейся пандемией COVID-19. 26 апреля 2020 года федеральное правительство Австралии публично выпустило первую версию приложения. В течение первых 24 часов после выпуска приложение скачали более 1 миллиона человек, а в течение 48 часов - более 2 миллионов. Ко второй неделе зарегистрировалось более 4 миллионов пользователей. Вместе с публикацией Питер Даттон, министр внутренних дел, объявил о новом законодательстве, которое сделает незаконным принуждение кого-либо передавать данные из приложения, даже если они зарегистрировались и положительный результат. Исходный код приложения также будет выпущен, однако это было отложено до завершения проверки Австралийским управлением сигналов. 8 мая 2020 года был выпущен исходный код.