Смартфон во спасение. Жизнь после карантина
О, прежний мир, где же ты? Вернись, мы так соскучились по тебе!.. Да, речь пойдёт о коронавирусе, великом и ужасном. Пора бы с ним уже разделаться. Кто хочет вместе с нами принять участие в битве?
Позвольте представиться. Мы команда разработчиков, которая создала и развивает сервис автоматической онлайн регистрации на авиарейсы 1Checkin .
Как вы наверняка знаете (или догадываетесь), пандемия коронавируса не пощадила авиаиндустрию, и, мягко говоря, отрасль сейчас на паузе. Что ж, мы решили не идти в вынужденный отпуск и скоро вы узнаете, к чему это привело. Итак, теперь ближе к теме.
Эпидемия испанского гриппа в глобальном масштабе была не так давно, в начале прошлого века. Технический прогресс уже был достаточным, чтобы существовавшие в то время транспортные средства обеспечили быстрое распространения вируса по планете.
Эпидемия атипичной пневмонии в том же временном масштабе была совсем недавно, каких-то 17 лет назад. Транспортное сообщение стало намного лучше, а значит еще опаснее в плане возникновения эпидемий. Но и современная медицина сильно отличалась от медицины начала XX века, однако это не мешало вирусу свободно завоёвывать новые территории и распространяться благодаря заболевшим людям. Специалисты, знающие подробности внезапного исчезновения вируса атипичной пневмонии, могут подтвердить, что человечество тогда отделалось, можно сказать, лёгким испугом. И вот настал 2020 год, мы продолжаем жить в эпоху технического прогресса и научных достижений, но никуда не делась возможность встречи с новыми инфекционными заболеваниями, лекарств от которых пока нет. Распространение вируса SARS-CoV-2 и вызываемой им болезни COVID-19 наглядно это продемонстрировало. И нет никаких объективных причин полагать, что в ближайшее время возможность встречи с подобными инфекциями исчезнет.
Как жить в эпоху карантинов, как жить после самоизоляции? Карантин по своей сути не должен быть вечным: он вводится для нормализации ситуации. Рано или поздно ограничительные меры могут быть сняты по причине прохождения пика заболеваемости, но за этим пиком может прийти следующий, а это неизбежно повлечёт возврат ограничений. Между этими пиками наверняка могут быть попытки вернуться к прежнему образу жизни. Добавьте к этому, что всеобщая самоизоляция не решает всех проблем хотя бы потому, что некоторые люди в силу своей профессии вынуждены в этот период продолжать трудовую деятельность вне дома, и их своевременное отстранение от работы в случае заболевания крайне важно. Очистив государство от вируса, можно запросто получить новые завозные случаи инфицирования и новый виток эпидемии. Здравый смысл настойчиво упрашивает нас жить с пониманием того, что пандемия или волна заражений может быть не последней. И как же жить дальше? Конечно, не ждать новую пандемию, но быть готовыми к ней.
У человека с инженерным образованием созерцание новой коронавирусной реальности вызывает некоторое досадное недоумение. Мысль, которая в текущей ситуации просто «взрывает» голову: у большинства жителей в карманах (сумках, чехлах, руках) находятся устройства, которые могут помочь обществу менее остро пережить эпидемию коронавируса, но они почему-то до сих пор не делают этого. Да, речь идёт о смартфонах, большинство из которых на сегодняшний день имеет такую техническую начинку, которая может быть использована для запоминания перемещений владельца и фиксации контактов с другими владельцами смартфонов неподалёку. К сожалению, до 2020 года подобное решение массово никто не внедрил, человечество не сработало на опережение. Гром грянул — теперь самое время всем нам что-нибудь с этим сделать.
Если проанализировать публикации в СМИ, то может сложиться впечатление, что только ленивый сейчас не создаёт ПО для борьбы с коронавирусом. Но речь пойдет именно о полезных решениях в области отслеживания контактов, а таких решений оказалось не так много. Мы были в числе тех, кто решил двигаться в этом направлении. Признаемся, что разворот собственного мышления от привычных метрик результата в виде штук, процентов, денежных единиц к количеству спасённых жизней — отдельная история, даже немного интимная, но поверьте, появилась сильнейшая мотивация, и теперь наш локомотив успешно набирает ход.
Как вы, наверное, поняли из первых абзацев, мы до этого уже занимались разработкой мобильных приложений, необходимых знаний было достаточно, поэтому в марте текущего года после некоторых исследований начали разработку собственного протокола по отслеживанию контактов с помощью технологии Bluetooth — так на свет появился наш проект OpenCovidTrace . Идея была на поверхности, и вполне закономерно, что подобные разработки почти одновременно стартовали в разных уголках мира. Ключевым событием в данной истории стало то, что в апреле компании Google и Apple объединили свои усилия для совместного создания технологии в области Bluetooth contact tracing. Это, безусловно, подчеркнуло важность и социальную значимость такой разработки, но в то же время резко увеличилась вероятность того, что в рамках данной тематики разрозненные усилия разработчиков со всего мира уже не будут объединены в общий сонаправленный поток. Тем более детальное изучение документации протокола Google & Apple порождает ряд вопросов и опасений на тему безопасности и конфиденциальности, но об этом позже.
На сегодняшний день OpenCovidTrace — это платформа, объединяющая популярные протоколы автоматического отслеживания контактов. И первым значимым фактором является распространенность: даже далеко не идеальный протокол способен успешно спасать от коронавируса, если этот протокол уже распространен в некой местности или у определенной группы пользователей. Более разумно реализовать поддержку такого протокола, чтобы сработать по всем фронтам. Согласитесь, самое время умерить свой перфекционизм, когда счёт идёт на жизни людей. А все выявленные недостатки разных протоколов мы перекрываем собственными разработками — в итоге получается эдакий собранный пазл. Именно такое интегральное решение претендует на максимальную эффективность. Вот о нём наконец-то и поговорим, пришла пора подробностей. Не сильно долго интриговали вас? Поехали!
Карантин -> Смартфон -> Спасение
Жители России уже наслышаны про отслеживание их перемещений на основе данных от операторов мобильной связи. Однозначная идентификация объекта и геометрическая погрешность метода многим не приходится по душе. Да и вообще такая схема больше подходит для режима карантина с целью контроля его соблюдения.
Смартфон оборудован модулем GPS — резонно заметите вы — но для простой сверки контактов лишь на основе данных перемещений требуется полное раскрытие этих перемещений, а значит количество желающих пользоваться таким решением оставляет желать лучшего. Да и модуль GPS работает не везде и не всегда.
Давайте порассуждаем про эффективный трекинг, который соответствовал бы особенностям распространения коронавируса, а также учитывал бы все интересы пользователей. Возможности Bluetooth у смартфонов позволяют реализовать автоматический учет контактов в радиусе действия сигнала радиомодуля, при этом параметры распространения коронавируса сопоставимы с величинами эффективного обнаружения источника сигнала. Что это означает и как работает?
Человек устанавливает мобильное приложение на свой смартфон, после этого устройство способно самостоятельно обнаруживать и фиксировать идентификаторы других пользователей приложения в радиусе действия модуля Bluetooth. При этом приложение может вычислить продолжительность контакта и дистанцию, а также фиксирует местоположение пользователя по геоданным от GPS/ГЛОНАСС. Например, когда человек зашел в вагон метро, его смартфон моментально записал данные других смартфонов, находящихся рядом. Если позже кто-то из пользователей приложения заболел и подтвердил статус инфицированного, то приложение тут же сообщит всем, кто был в опасной близости, что есть высокая вероятность заражения. Это позволит максимально быстро перейти в режим самоизоляции и обратиться к медикам для проведения тестирования на наличие вируса. Конечно, такая система не гарантирует идеального информирования о возможном заражении: в вагоне могут быть пассажиры, которые не являются пользователями приложения или вообще не имеют смартфонов. К тому же, например, загрязнение поручней никто не отменял. Но механизм трекинга с последующим оповещением о риске заболевания позволяет снизить темпы распространения инфекции и избежать критической нагрузки на систему здравоохранения. Решающие значение имеет опережение распространения инфекции: принимая решение о самоизоляции на основе данных о контактах, происходит эффективная борьба на шаг впереди. Взгляните на визуализацию этого принципа, созданную командой разработчиков протокола DP3T (Decentralized Privacy-Preserving Proximity Tracing), международной группой ученых из различных институтов:
Итак, очевидно, что трекинг имеет смысл. С аппаратной точки зрения разработчики проявили единодушие: для отслеживания контактов используется технология BLE (Bluetooth Low Energy). На телефонах с операционной системой iOS или Android запускается BLE-сервис, телефоны периодически ищут по Bluetooth другие устройства и если находят, то понимают, что произошел контакт.
Задача протокола — передать идентификаторы устройств друг другу при таком контакте, и если в дальнейшем кто-то заразится, сообщить всем контактам об этом. Но как быть с приватностью и безопасностью? Как открыться для обнаружения другим устройствам и не переживать за сохранность своих данных? Как не стать объектом тотальной слежки? Ответы на все эти вопросы породили следующие решения:
идентификаторы генерируются и хранятся локально;
используется стандартная и надежная криптография;
публичные идентификаторы часто меняются, что затрудняет отслеживание;
данные трекинга хранятся только на устройстве пользователя, на сервер при заражении передаются только анонимные ключи.
Давайте полюбуемся на инфографику для протокола Google & Apple, кое-что станет нагляднее:
Выглядит здорово, приватность и безопасность заявлены, но каждый пользователь должен быть абсолютно уверен в том, что на практике это будет именно так. Как этого добиться? Конечно, использовать open source подход. Разработанный нами протокол реализуется в формате открытого исходного кода, что гарантирует соблюдение задекларированных правил: алгоритмы работы приложения выполняют только заявленные функции, а их безопасность проверена сообществом разработчиков. Для широкого распространения подобного решения крайне важно иметь возможность воспользоваться открытым решением, где всегда можно удостовериться в безопасности пользовательских данных — иначе успеха не видать.
Кстати, G&A совсем недавно выпустили обновленный релиз своего протокола, где HMAC шифрование было заменено на AES. Версии, объясняющие случившееся, пока разнятся, но мы обязательно расскажем вам о том, что же это всё-таки было.
Тем не менее решение от Google и Apple пока не вышло за рамки опубликованного протокола. В то время как сингапурское приложение TraceTogether уже успело наделать шума и показать определенные результаты. Проект поддерживает правительство Сингапура, где подобное мобильное приложение запустили одним из первых. Всемирная организация здравоохранения и эксперты заявили, что широкие меры по отслеживанию, тестированию и изоляции помогли значительно сократить распространение вируса, снизив за две недели число новых заражений с 909 случаев, объявленных 29 февраля, до 74 случаев 16 марта. В основе приложения лежит технология BlueTrace , являющаяся централизованным решением, требующим периодического обмена данными с сервером. При запуске приложения клиент регистрируется на сервере с помощью номера мобильного телефона, при этом подключается авторизованное медицинское учреждение, сервер в ответ отдает устройству UserId. Здесь также используется BLE для обмена сообщениями между устройствами. Приложение TraceTogether на iOS не работает в background режиме, т.е. фиксация контактов возможна лишь когда приложение открыто и активно, но мы в своей разработке решили эту проблему, так что OpenCovidTrace перекрывает этот нюанс.
На этом, пожалуй, стоит завершить ознакомительный рассказ о различных решениях задачи автоматического отслеживания контактов. Ведь статьи — это, конечно, хорошо, но раз мы взялись за эту тему, то поторопимся доработать наше решение для его скорейшего внедрения, работа ждёт. В этой статье мы постарались в общих чертах рассказать вам о том, что OpenCovidTrace — это open-source платформа, интегрирующая все популярные BLE протоколы отслеживания контактов (DP-3T, Google & Apple, BlueTrace и другие), имеющая также дополнительный набор функций для iOS и Android платформ. А вообще держитесь: в следующих статьях мы завалим вас техническими подробностями всех упомянутых протоколов. Если вы хотите присоединиться к нам и внести свой вклад в разработку, то добро пожаловать в наше сообщество: мы уже успешно испытали прототип, а Git репозиторий доступен для подписки. Кстати, помочь проекту можно также репостами в социальных сетях. И главное — будьте здоровы!)
О, прежний мир, где же ты? Вернись, мы так соскучились по тебе!.. Да, речь пойдёт о коронавирусе, великом и ужасном. Пора бы с ним уже разделаться. Кто хочет вместе с нами принять участие в битве?
Позвольте представиться. Мы команда разработчиков, которая создала и развивает сервис автоматической онлайн регистрации на авиарейсы 1Checkin .
Как вы наверняка знаете (или догадываетесь), пандемия коронавируса не пощадила авиаиндустрию, и, мягко говоря, отрасль сейчас на паузе. Что ж, мы решили не идти в вынужденный отпуск и скоро вы узнаете, к чему это привело. Итак, теперь ближе к теме.
Эпидемия испанского гриппа в глобальном масштабе была не так давно, в начале прошлого века. Технический прогресс уже был достаточным, чтобы существовавшие в то время транспортные средства обеспечили быстрое распространения вируса по планете.
Эпидемия атипичной пневмонии в том же временном масштабе была совсем недавно, каких-то 17 лет назад. Транспортное сообщение стало намного лучше, а значит еще опаснее в плане возникновения эпидемий. Но и современная медицина сильно отличалась от медицины начала XX века, однако это не мешало вирусу свободно завоёвывать новые территории и распространяться благодаря заболевшим людям. Специалисты, знающие подробности внезапного исчезновения вируса атипичной пневмонии, могут подтвердить, что человечество тогда отделалось, можно сказать, лёгким испугом. И вот настал 2020 год, мы продолжаем жить в эпоху технического прогресса и научных достижений, но никуда не делась возможность встречи с новыми инфекционными заболеваниями, лекарств от которых пока нет. Распространение вируса SARS-CoV-2 и вызываемой им болезни COVID-19 наглядно это продемонстрировало. И нет никаких объективных причин полагать, что в ближайшее время возможность встречи с подобными инфекциями исчезнет.
Как жить в эпоху карантинов, как жить после самоизоляции? Карантин по своей сути не должен быть вечным: он вводится для нормализации ситуации. Рано или поздно ограничительные меры могут быть сняты по причине прохождения пика заболеваемости, но за этим пиком может прийти следующий, а это неизбежно повлечёт возврат ограничений. Между этими пиками наверняка могут быть попытки вернуться к прежнему образу жизни. Добавьте к этому, что всеобщая самоизоляция не решает всех проблем хотя бы потому, что некоторые люди в силу своей профессии вынуждены в этот период продолжать трудовую деятельность вне дома, и их своевременное отстранение от работы в случае заболевания крайне важно. Очистив государство от вируса, можно запросто получить новые завозные случаи инфицирования и новый виток эпидемии. Здравый смысл настойчиво упрашивает нас жить с пониманием того, что пандемия или волна заражений может быть не последней. И как же жить дальше? Конечно, не ждать новую пандемию, но быть готовыми к ней.
У человека с инженерным образованием созерцание новой коронавирусной реальности вызывает некоторое досадное недоумение. Мысль, которая в текущей ситуации просто «взрывает» голову: у большинства жителей в карманах (сумках, чехлах, руках) находятся устройства, которые могут помочь обществу менее остро пережить эпидемию коронавируса, но они почему-то до сих пор не делают этого. Да, речь идёт о смартфонах, большинство из которых на сегодняшний день имеет такую техническую начинку, которая может быть использована для запоминания перемещений владельца и фиксации контактов с другими владельцами смартфонов неподалёку. К сожалению, до 2020 года подобное решение массово никто не внедрил, человечество не сработало на опережение. Гром грянул — теперь самое время всем нам что-нибудь с этим сделать.
Если проанализировать публикации в СМИ, то может сложиться впечатление, что только ленивый сейчас не создаёт ПО для борьбы с коронавирусом. Но речь пойдет именно о полезных решениях в области отслеживания контактов, а таких решений оказалось не так много. Мы были в числе тех, кто решил двигаться в этом направлении. Признаемся, что разворот собственного мышления от привычных метрик результата в виде штук, процентов, денежных единиц к количеству спасённых жизней — отдельная история, даже немного интимная, но поверьте, появилась сильнейшая мотивация, и теперь наш локомотив успешно набирает ход.
Как вы, наверное, поняли из первых абзацев, мы до этого уже занимались разработкой мобильных приложений, необходимых знаний было достаточно, поэтому в марте текущего года после некоторых исследований начали разработку собственного протокола по отслеживанию контактов с помощью технологии Bluetooth — так на свет появился наш проект OpenCovidTrace . Идея была на поверхности, и вполне закономерно, что подобные разработки почти одновременно стартовали в разных уголках мира. Ключевым событием в данной истории стало то, что в апреле компании Google и Apple объединили свои усилия для совместного создания технологии в области Bluetooth contact tracing. Это, безусловно, подчеркнуло важность и социальную значимость такой разработки, но в то же время резко увеличилась вероятность того, что в рамках данной тематики разрозненные усилия разработчиков со всего мира уже не будут объединены в общий сонаправленный поток. Тем более детальное изучение документации протокола Google & Apple порождает ряд вопросов и опасений на тему безопасности и конфиденциальности, но об этом позже.
На сегодняшний день OpenCovidTrace — это платформа, объединяющая популярные протоколы автоматического отслеживания контактов. И первым значимым фактором является распространенность: даже далеко не идеальный протокол способен успешно спасать от коронавируса, если этот протокол уже распространен в некой местности или у определенной группы пользователей. Более разумно реализовать поддержку такого протокола, чтобы сработать по всем фронтам. Согласитесь, самое время умерить свой перфекционизм, когда счёт идёт на жизни людей. А все выявленные недостатки разных протоколов мы перекрываем собственными разработками — в итоге получается эдакий собранный пазл. Именно такое интегральное решение претендует на максимальную эффективность. Вот о нём наконец-то и поговорим, пришла пора подробностей. Не сильно долго интриговали вас? Поехали!
Карантин -> Смартфон -> Спасение
Жители России уже наслышаны про отслеживание их перемещений на основе данных от операторов мобильной связи. Однозначная идентификация объекта и геометрическая погрешность метода многим не приходится по душе. Да и вообще такая схема больше подходит для режима карантина с целью контроля его соблюдения.
Смартфон оборудован модулем GPS — резонно заметите вы — но для простой сверки контактов лишь на основе данных перемещений требуется полное раскрытие этих перемещений, а значит количество желающих пользоваться таким решением оставляет желать лучшего. Да и модуль GPS работает не везде и не всегда.
Давайте порассуждаем про эффективный трекинг, который соответствовал бы особенностям распространения коронавируса, а также учитывал бы все интересы пользователей. Возможности Bluetooth у смартфонов позволяют реализовать автоматический учет контактов в радиусе действия сигнала радиомодуля, при этом параметры распространения коронавируса сопоставимы с величинами эффективного обнаружения источника сигнала. Что это означает и как работает?
Человек устанавливает мобильное приложение на свой смартфон, после этого устройство способно самостоятельно обнаруживать и фиксировать идентификаторы других пользователей приложения в радиусе действия модуля Bluetooth. При этом приложение может вычислить продолжительность контакта и дистанцию, а также фиксирует местоположение пользователя по геоданным от GPS/ГЛОНАСС. Например, когда человек зашел в вагон метро, его смартфон моментально записал данные других смартфонов, находящихся рядом. Если позже кто-то из пользователей приложения заболел и подтвердил статус инфицированного, то приложение тут же сообщит всем, кто был в опасной близости, что есть высокая вероятность заражения. Это позволит максимально быстро перейти в режим самоизоляции и обратиться к медикам для проведения тестирования на наличие вируса. Конечно, такая система не гарантирует идеального информирования о возможном заражении: в вагоне могут быть пассажиры, которые не являются пользователями приложения или вообще не имеют смартфонов. К тому же, например, загрязнение поручней никто не отменял. Но механизм трекинга с последующим оповещением о риске заболевания позволяет снизить темпы распространения инфекции и избежать критической нагрузки на систему здравоохранения. Решающие значение имеет опережение распространения инфекции: принимая решение о самоизоляции на основе данных о контактах, происходит эффективная борьба на шаг впереди. Взгляните на визуализацию этого принципа, созданную командой разработчиков протокола DP3T (Decentralized Privacy-Preserving Proximity Tracing), международной группой ученых из различных институтов:
Итак, очевидно, что трекинг имеет смысл. С аппаратной точки зрения разработчики проявили единодушие: для отслеживания контактов используется технология BLE (Bluetooth Low Energy). На телефонах с операционной системой iOS или Android запускается BLE-сервис, телефоны периодически ищут по Bluetooth другие устройства и если находят, то понимают, что произошел контакт.
Задача протокола — передать идентификаторы устройств друг другу при таком контакте, и если в дальнейшем кто-то заразится, сообщить всем контактам об этом. Но как быть с приватностью и безопасностью? Как открыться для обнаружения другим устройствам и не переживать за сохранность своих данных? Как не стать объектом тотальной слежки? Ответы на все эти вопросы породили следующие решения:
идентификаторы генерируются и хранятся локально;
используется стандартная и надежная криптография;
публичные идентификаторы часто меняются, что затрудняет отслеживание;
данные трекинга хранятся только на устройстве пользователя, на сервер при заражении передаются только анонимные ключи.
Давайте полюбуемся на инфографику для протокола Google & Apple, кое-что станет нагляднее:
Выглядит здорово, приватность и безопасность заявлены, но каждый пользователь должен быть абсолютно уверен в том, что на практике это будет именно так. Как этого добиться? Конечно, использовать open source подход. Разработанный нами протокол реализуется в формате открытого исходного кода, что гарантирует соблюдение задекларированных правил: алгоритмы работы приложения выполняют только заявленные функции, а их безопасность проверена сообществом разработчиков. Для широкого распространения подобного решения крайне важно иметь возможность воспользоваться открытым решением, где всегда можно удостовериться в безопасности пользовательских данных — иначе успеха не видать.
Кстати, G&A совсем недавно выпустили обновленный релиз своего протокола, где HMAC шифрование было заменено на AES. Версии, объясняющие случившееся, пока разнятся, но мы обязательно расскажем вам о том, что же это всё-таки было.
Тем не менее решение от Google и Apple пока не вышло за рамки опубликованного протокола. В то время как сингапурское приложение TraceTogether уже успело наделать шума и показать определенные результаты. Проект поддерживает правительство Сингапура, где подобное мобильное приложение запустили одним из первых. Всемирная организация здравоохранения и эксперты заявили, что широкие меры по отслеживанию, тестированию и изоляции помогли значительно сократить распространение вируса, снизив за две недели число новых заражений с 909 случаев, объявленных 29 февраля, до 74 случаев 16 марта. В основе приложения лежит технология BlueTrace , являющаяся централизованным решением, требующим периодического обмена данными с сервером. При запуске приложения клиент регистрируется на сервере с помощью номера мобильного телефона, при этом подключается авторизованное медицинское учреждение, сервер в ответ отдает устройству UserId. Здесь также используется BLE для обмена сообщениями между устройствами. Приложение TraceTogether на iOS не работает в background режиме, т.е. фиксация контактов возможна лишь когда приложение открыто и активно, но мы в своей разработке решили эту проблему, так что OpenCovidTrace перекрывает этот нюанс.
На этом, пожалуй, стоит завершить ознакомительный рассказ о различных решениях задачи автоматического отслеживания контактов. Ведь статьи — это, конечно, хорошо, но раз мы взялись за эту тему, то поторопимся доработать наше решение для его скорейшего внедрения, работа ждёт. В этой статье мы постарались в общих чертах рассказать вам о том, что OpenCovidTrace — это open-source платформа, интегрирующая все популярные BLE протоколы отслеживания контактов (DP-3T, Google & Apple, BlueTrace и другие), имеющая также дополнительный набор функций для iOS и Android платформ. А вообще держитесь: в следующих статьях мы завалим вас техническими подробностями всех упомянутых протоколов. Если вы хотите присоединиться к нам и внести свой вклад в разработку, то добро пожаловать в наше сообщество: мы уже успешно испытали прототип, а Git репозиторий доступен для подписки. Кстати, помочь проекту можно также репостами в социальных сетях. И главное — будьте здоровы!)