Защита при доступе к медданным пользователя
HealthKit служит центральным репозиторием данных о состоянии здоровья и физической активности на устройствах iPhone и Apple Watch. HealthKit также напрямую взаимодействует с устройствами для спорта и здоровья, такими как совместимые пульсомеры Bluetooth Low Energy (BLE), а также сопроцессор движения, встроенный во многие устройства iOS. Для любого взаимодействия HealthKit с приложениями и устройствами для здоровья и фитнеса, а также медицинскими учреждениями требуется разрешение пользователя. Эти данные имеют класс защиты «Защищено, если не открыто». Доступ к данным закрывается через 10 минут после блокировки устройства. Данные снова становятся доступны, как только пользователь вводит код-пароль или использует Face ID или Touch ID для разблокирования устройства.
Сбор и хранение данных о состоянии здоровья и физической активности
HealthKit также собирает и хранит управляющие данные, такие как таблицы доступа для приложений, имена устройств, подключенных к HealthKit, а также расписания, используемые для запуска приложений при появлении новых данных. Эти данные имеют класс защиты «Защищено до первой аутентификации пользователя». Для хранения медицинских записей, полученных, пока устройство заблокировано (например, во время тренировки пользователя), используются временные файлы журналов. Эти файлы имеют класс защиты «Защищено, если не открыто». При разблокировании устройства временные файлы журналов импортируются в основные базы медданных, после чего удаляются.
Медданные могут храниться в iCloud. Для сквозного шифрования данных приложения «Здоровье» требуется iOS 12 или новее, а также двухфакторная аутентификация. В ином случае данные пользователя по-прежнему шифруются при хранении и передаче, но без сквозного шифрования. При включении двухфакторной аутентификации и обновлении системы до iOS 12 или новее к медданным пользователя применяется сквозное шифрование.
При резервном копировании устройства через Finder (в macOS 10.15 и новее) или iTunes (в macOS 10.14 и более ранних версиях) медданные сохраняются только в том случае, если резервная копия зашифрована.
Данные о состоянии здоровья от медицинских учреждений
Пользователи могут войти в поддерживаемые системы медицинских учреждений через приложение «Здоровье» для получения копии записей о состоянии своего здоровья от этих медицинских учреждений. При подключении пользователя к системе медицинского учреждения он проходит аутентификацию с использованием учетных данных клиента OAuth 2. После подключения пользователя медицинские записи загружаются напрямую из системы медицинского учреждения через защищенное соединение TLS 1.3. После загрузки записи о состоянии здоровья безопасно хранятся вместе с другими медданными.
Подлинность медданных
Вместе с блоками данных в базе данных хранятся метаданные, которые позволяют отследить источник каждой записи. Эти метаданные включают идентификатор приложений, которая сохранила запись. Кроме того, метаданные могут включать копию записи с цифровой подписью. Это позволяет обеспечить подлинность записей, сгенерированных доверенным устройством. Формат хранения цифровой подписи использует синтаксис криптографических сообщений (CMS), заданный в RFC 5652.
Доступ приложений сторонних разработчиков к медданным
Доступ к API HealthKit контролируется с помощью прав. Кроме того, приложения должны соблюдать ограничения по использованию данных. Например, приложениям запрещено использовать медданные для рекламных целей. Приложения также должны содержать ссылку на политику конфиденциальности, в которой подробно описывается использование медданных.
Доступ приложений к медданным регулируется настройками конфиденциальности пользователя. Когда приложению необходим доступ к медданным, пользователь получает запрос на предоставление доступа (аналогично доступу к Контактам, Фото и другим источникам данных iOS). Однако в случае медданных приложения получают доступ отдельно для чтения и записи, а также отдельно для каждого типа медданных. Пользователи могут просматривать и отзывать предоставленные ими разрешения на доступ к медданным, используя раздел «Настройки» > «Здоровье» > «Доступ к данным и устройства».
Если приложениям разрешено записывать данные, они также автоматически получают разрешение на чтение данных, которые они записали. Если у приложений есть доступ к чтению данных, они могут считывать данные, записанные любыми источниками. Однако приложения не могут определить уровень доступа, предоставленного другим приложениям. Кроме того, приложения не могут достоверно сообщить, разрешено ли им чтение медданных. Если у приложения нет доступа для чтения, все запросы возвращают пустые ответы — точно такие же ответы вернула бы пустая база данных. Эта мера направлена на то, чтобы не позволить приложениям анализировать состояние здоровья пользователя, узнав, какие типы данных отслеживает пользователь.
Медкарта для пользователей
Пользователи приложения «Здоровье» могут заполнить медкарту, указав информацию, которая может оказаться важной при оказании неотложной медицинской помощи. Эта информация вводится и обновляется вручную. Она не синхронизируется с информацией в базах медданных.
Для доступа к медкарте необходимо коснуться «SOS» на экране блокировки. Информация хранится на устройстве с классом «Без защиты», поэтому для получения доступа не нужно вводить код-пароль устройства. Пользователи сами решают, какую личную информацию внести в медкарту, с учетом возможной пользы и рисков. В iOS 13 и более ранних версиях эти данные сохраняются в резервных копиях iCloud. В iOS 14 медкарта синхронизируется между устройствами с помощью CloudKit; применяются те же характеристики шифрования, что и для остальных данных приложения «Здоровье».
Обмен данными из приложения «Здоровье»
В iOS 15 пользователи могут поделиться данными из приложения «Здоровье» с другими людьми. Данные приложения «Здоровье» передаются между двумя пользователями с использованием сквозного шифрования iCloud, и Apple не может получить доступ к данным, передаваемым при обмене данными из приложения «Здоровье». Чтобы использовать эту функцию, на устройстве получателя и отправителя должна быть установлена iOS 15 или новее и включена двухфакторная аутентификация.
Пользователи также могут делиться данными из приложения «Здоровье» с медицинским учреждением с помощью функции использования данных приложения «Здоровье» совместно с медицинским учреждением. Данные, передаваемые с использованием этой функции, защищены сквозным шифрованием и доступны только тем медицинским учреждениям, которые выбрал пользователь, и Apple не хранит ключи шифрования и не имеет доступа к ним, а значит, не может расшифровать или просмотреть данные из приложения «Здоровье», а также не может иным способом получить доступ к данным, передаваемым с помощью функции использования данных приложения «Здоровье» совместно с медицинским учреждением. Более подробную информацию о том, как механизмы этой службы защищают пользовательские данные приложения «Здоровье», можно найти в разделе о безопасности и конфиденциальности в руководстве Apple по регистрации для учреждений здравоохранения.