Изображение: sergio santos CC BY
Конфиденциальность
Цифровизация медицины сегодня дает возможность всем участникам системы здравоохранения, от пациентов до фармацевтических компаний, обмениваться данными в электронном виде.
Например, электронные медицинские карты (electronic medical records — EMR) упростили врачам и пациентам доступ истории болезни. Подобные решения успешно используются в Тайване и Эстонии. EMR открывают новые перспективы в здравоохранении, но также они требуют новых подходов к обеспечению безопасности персональных данных.
Данные о здоровье людей очень привлекательны для киберпреступников. Согласно исследованию Ponemon Institute за 2016 год, 89% из опрошенных руководителей медицинских организаций признали, что сталкивались как минимум с одной утечкой за последние пару лет. Государственные организации вроде Министерства здравоохранения и социальных служб США (HHS) и законы как Акт о мобильности и подотчётности медицинского страхования от 1996 года (HIPAA) дают рекомендации как защитить медицинские данные, но утечки все равно случаются часто.
Помочь с решением проблемы безопасности персональных данных в медицине способен блокчейн. Распределенные реестры могут формализовать процесс обмена медицинскими записями, а также дать пациентам больше контроля над своими показателями здоровья. Мы в Bitfury, совместно с коллегами из биотехнологической компании Insilico Medicine и университета в Оксфорде, разработали концепцию медицинской экосистемы на блокчейне Exonum. Расскажем, как она устроена.
Медицинская экосистема на блокчейне Exonum
Наша медицинская экосистема состоит из блокчейна и облачного хранилища. В блокчейне хранятся небольшие файлы с медицинскими данными, а большие файлы хранятся в облачном хранилище. В блокчейн записывается информация о данных, загруженных в облако, правах на их чтение и информация о хранителях ключей.
Провайдером облачного хранилища может выступить любая компания (главное, чтобы сервис удовлетворял требованиям HIPAA). В нем планируется хранить объёмные медицинские данные, к примеру, снимки КТ или МРТ, которые могут занимать десятки мегабайт. Все загружаемые в облако данные шифруются.
Наша медицинская экосистема предполагает четыре группы пользователей:
- Пользователи (пациенты) — сами пациенты или уполномоченные третьи лица (медицинские центры, например), которые загружают медицинские данные в систему.
- Валидаторы — проверяют качество и подлинность данных, загруженных пользователями.
- Клиенты (врачи) — изучают данные пациентов, составляют отчеты о состоянии здоровья.
- Фармацевтические и исследовательские компании — могут приобрести доступ к обезличенным данным пользователей.
Для обмена данными используются специальные утилитарные токены LifePound. Их количество зависит от ценности медицинских данных в блокчейне. Индивидуальная запись рассматривается как система из трех элементов (триада) — тип, время и качество.
Тип данных может быть динамическим (например, анализ крови или эпигеном) или статическим (геном, отпечатки пальцев). Элемент времени — это дата, когда эти данные были получены. Что касается качества, то здесь учитывается «срок годности» информации или анализов — чем он выше, тем ценнее сведения. К примеру, результат проверки на холестерин действителен полгода, а генетический тест — всю жизнь.
В целом модель расчета ценности медицинской записи для одного человека может выглядеть следующим образом:
Здесь k — количество медзаписей, fk — функция стоимости для комбинации этих записей, а R — триада.
Для расчета стоимости данных группы людей или целых семей предлагаются другие формулы. Их вы можете найти в отчете, выложенном на нашем сайте, на 11 странице.
Как ведется работа с данными
Работа начинается с того, что пользователи загружают данные в облачное хранилище, где они проверяются и анонимизируются — удаляется идентификатор пациента — а затем шифруются методом симметричного шифрования. Далее, с помощью алгоритма Шамира, ключи отправляются хранителям (это один из видов полных узлов блокчейна) по прямым аутентифицированным каналам связи, чтобы те при необходимости смогли расшифровать пользовательские данные.
Одновременно с этим генерируется служебная транзакция, которая сообщает другим участникам экосистемы о загрузке данных в облако. Эта транзакция содержит открытый ключ, информацию о типе данных и ссылку на них в облачном хранилище. После электронной подписи информация может быть записана в блокчейн.
К решению, добавлять транзакцию в блокчейн или нет, участники сети приходят с помощью алгоритма консенсуса. Узлы-валидаторы проверяют информацию и генерируют служебную транзакцию, в которой содержатся хеши данных и результат валидации. Если данные прошли проверку, то они записываются в блокчейн, а их владелец получает токены LifePound, количество которых определяется смарт-контрактом. После этого сведения о пациенте становятся доступными для других участников.
Затем, если эти данные потребуются доктору для проведения исследований или постановки диагноза, то он формирует запрос и отправляет его валидаторам. Они добавляют запрос в блокчейн и сообщают хранителям, что нужно отправить врачу криптографические ключи для расшифровки данных из облака. Точно так же процесс выглядит для фармацевтических компаний, исследовательских институтов, государственных медицинский учреждений, а также надзорных органов.
Изображение: COM SALUD CC BY
Перспективы
Блокчейн Exonum может стать единой (но децентрализованной) базой данных медицинской информации. В перспективе её можно будет наполнять не только силами врачей, которые вносят данные электронных карт, но и с помощью медицинских IoT-гаджетов. Также в блокчейн можно записывать результаты групповых обследований из диагностических центров и сведения о клинических испытаниях препаратов.
Авторизованный доступ к данным пациентов будет получать любая больница на территории страны. Это даст возможность медикам быстрее делиться результатами клинических испытаний, что ускорит разработку лекарств от тяжелых заболеваний.
Некоторые из компонентов нашей экосистемы уже успешно протестированы на практике. Совместно с партнерами из Longenesis и Medical Diagnostics Web мы создали первый приватный блокчейн на базе Exonum для обмена медицинскими данными в области рентгенологии. Решение упрощает работу рентгенологам — сокращает время анализа снимков и предоставляет доступ к единой базе данных для проведения исследований.
Мы надеемся, что в будущем с помощью нашей медицинской экосистемы пациенты клиник будут отслеживать свои визиты к врачу, медицинские услуги, контролировать динамику состояния здоровья и оценивать воздействие препаратов, которые выписал доктор. Единая экосистема на базе блокчейна в перспективе поможет ускорить диагностику заболеваний, сократит число ошибок при постановке диагнозов и сделает процесс лечения более прозрачным.
Другие наши материалы на Хабре:
Комментарии (15)
FenixFly
03.03.2019 23:45+1Если пациента однажды деанонимизировали, то получается что до конца существования этого блокчейна про него можно будет узнавать все новую информацию?
Основная проблема блокчейна — он не предназначен для хранения файлов большого размера, как же тогда в нем хранить данные кт и мрт по полгига?
prankov
04.03.2019 10:15Так они хранятся в облачном хранилище, а в блокчейне только ссылки или что-то подобное на эти файлы
stealapanda
04.03.2019 12:14В блокчейне хранится хэш файла, который позволяет в дальнейшем проверить его подлинность.
powerman
03.03.2019 23:48+2И чем это решение на блокчейне отличается от обычной распределённой БД с доступом через сервисы-валидаторы? Единственное отличие, по крайней мере на первый взгляд, это логирование запросов на доступ в публично доступный лог — но для ведения такого лога есть более простые и универсальные решения, например используемое в Certificate Transparency.
crea7or
04.03.2019 01:36Ни для чего из перечисленного блокчейн, как таковой, не нужен. Короче ещё один год к: Прошло 10 лет, а никто не придумал, как использовать блокчейн.
maxp
04.03.2019 09:59Все это здорово — шифрование, электронная подпись, облачное хранилище, разграничение доступа.
Но зачем в этой системе блокчейн?
LAG_LAGbI4
04.03.2019 12:34У кого фармацевтические компании покупают доступ к данным? Ведь блокчейн распределённая система, у неё не может быть владельца. Или я чего-то не понимаю
vitvakatu
04.03.2019 13:15+1У публичных блокчейнов действительно нет никакого владельца — любой может скачать ноду, запустить ее и участвовать в консенсусе. Для приватных блокчейнов же нод, во-первых, как правило меньшее количество, во-вторых — владельцев обычно немного, ими являются компании, которые поднимают ноды-валидаторы на своих серверах.
Ndochp
04.03.2019 14:41-2А зачем приватный блокчейн? У него там пруф оф что? Вот собралось 5 компаний, завели каждая себе по РБД, и стали рассылать периодически друг-другу инкерментальные бэкапы подписанные ЭЦП. Вот и вся вадидация
vitvakatu
04.03.2019 15:11+1Допустим у двух компаний в "инкрементальном бэкапе" (на самом деле я думаю правильно называть это "патч") значение someValue изменено на 0, а у трех остальных на 1. Как тут разрешить конфликт? Если придумаете какой-нибудь алгоритм, например PoW, как в биткоине (кто больше — тот и главный), то поздравляю — вы только что изобрели блокчейн, только он у вас довольно плохо работать будет, потому что РБД изначально под такой сценарий не проектировались.
Но существуют и другие способы достижения консенсуса. Конкретно в Exonum — BFT-консенсус, то есть алгоритм, устойчивый к византийскому поведению части нод. До 1/3 общего количество нод могут быть выведены из строя или взломаны — на работу остальных это не повлияет. При этом на достижение консенсуса тратится совсем немного времени и не требуется никаких вычислений.
LAG_LAGbI4
04.03.2019 15:16-1как в медицинской карте может быть конфликт? есть клиника А, которая ведёт карту больного, есть клиника Б, которая тоже ведёт карту больного.
При просмотре нужно смотреть примёмы врачей, анализы из разных клиник. Как тут может быть конфликт????
Ndochp
04.03.2019 22:32Имхо в случае «приватного» блокчейна нам не нужна возможность врать у 1/3 нод. Нужно каждый случай расхождения выявлять, внесистемно рассматривать и уменьшать число доверенных нод на 1. А двигаться вперед только при отсутствии «предателей» или расхождений. На то у нас и приватный коллектив.
Polaris99
04.03.2019 13:41После работы в компании, которая была связана с фармацевтикой, я весьма скептически отношусь ко всем этим цифровым извращениям и требованиям. Было очень смешно убить там кучу времени на реализацию аудита, в котором нужно записывать ну прям всё-всё-всё, причем так, чтобы гарантировалась неизменность записей с цифровой подписью, и все это на фоне того, что чисто физически коробка с пробирками для тестов вручную переносится от прибора к прибору без всяких там проверок. Они явно не там ищут возможные пути фальсификации.
vanxant
То есть фактический доступ к данным имеют валидаторы. Что мешает фуфломициновой компании подкупить сотрудника компании-валидатора, чтобы он подобрал подходящих пациентов, например?
BitfuryRussia Автор
В сети есть большое количество валидаторов — и решения о включении того или иного блока в блокчейн они принимают совместно. Блокчейн Exonum, на котором мы предлагаем строить экосистему, способен корректно работать в условиях, когда до трети узлов-валидаторов оказывается скомпрометирована. Таким образом, один узел, который будет засылать ложные транзакции, не сможет повлиять на работу сети.