Примечание. Для использования платформы NFC и SE разработчику необходимо получить разрешение. Это помогает гарантировать, что доступ к платформе NFC и SE получают только авторизованные разработчики, готовые соблюдать высокие стандарты конфиденциальности и безопасности.
Безопасность компонентов платформы NFC и SE
Платформа NFC и SE обеспечивает доступ к аппаратным и программным функциям, которые позволяют разработчикам предоставлять возможности безопасных транзакций пользователям iPhone.
Secure Element
Secure Element — это интегральная микросхема отраслевого стандарта, на которой запускается платформа Java Card. Она сертифицирована по стандартам EMVCo и Общим критериям и поддерживает апплеты Java Card, в том числе одобренные для платформы NFC и SE. В ней также есть специальный апплет для управления авторизацией и активацией апплетов на платформе NFC и SE. Учетные данные могут шифроваться и отправляться этим апплетам с использованием уникальных ключей. Эти данные хранятся в апплетах и защищены функциями безопасности Secure Element. Во время транзакций терминал взаимодействует непосредственно с чипом Secure Element с помощью контроллера беспроводной связи ближнего радиуса действия (NFC).
Контроллер NFC
Контроллер NFC обрабатывает протоколы NFC и маршрутизирует данные, передаваемые между процессором приложений и чипом Secure Element, а также между Secure Element и терминалом, установленным в точке продажи. Контроллер NFC помогает гарантировать, что все бесконтактные транзакции выполняются через терминал, находящийся вблизи устройства. Контроллер NFC считает бесконтактными транзакциями только те запросы, которые поступают от терминала внутри области действия.
После того как пользователь одобряет транзакцию с помощью Face ID, Touch ID или код‑пароля на телефоне, контроллер NFC направляет бесконтактные ответы, подготовленные апплетом на платформе NFC и SE внутри Secure Element, только в область действия NFC. Поэтому данные бесконтактных транзакций остаются в локальной области действия NFC и не раскрываются процессору приложений.
Secure Enclave
Чип Secure Enclave управляет аутентификацией пользователей и процессами безопасного подтверждения намерений на устройстве, обеспечивая проведение авторизованных транзакций. Secure Enclave и чип Secure Element взаимодействуют через последовательный интерфейс: чип Secure Element подключается к контроллеру NFC, а тот, в свою очередь, подключается к процессору приложений. Хотя Secure Enclave и Secure Element не подключены друг к другу напрямую, они могут безопасно обмениваться данными с использованием открытого ключа, генерируемого во время запуска. При необходимости этот ключ может обеспечивать конфиденциальность и целостность канала связи.
Серверы Apple
На серверах Apple хранятся пакеты апплетов, одобренные партнерами платформы NFC и SE. Эти серверы также управляют настройкой и созданием доменов безопасности и апплетов внутри Secure Element, в том числе используемых платформой NFC и SE.
Апплеты и конфигурации
Чтобы использовать платформу NFC и SE, разработчики должны иметь утвержденный пакет апплетов, а конфигурация их продукта должна поддерживать их учетные данные. Перед отправкой в Apple для безопасной установки на чипе Secure Element все апплеты должны пройти проверку безопасности в аккредитованной сторонней лаборатории по оценке безопасности. После отправки в Apple пакет апплетов и связанная с ним конфигурация продукта проверяются и должны получить одобрение для использования на платформе NFC и SE. Одобренный пакет апплетов подписывается и хранится на серверах Apple.
Разработчики также самостоятельно несут ответственность за получение любых других необходимых сертификатов и аттестацию своих апплетов для конкретных случаев использования и планов работы, например в соответствии с требованиями законов, правил или операторов платежных сетей.
Предоставление учетных данных
Разработчик для платформы NFC и SE отвечает за безопасность процесса предоставления новых учетных данных пользователям. Этот процесс может включать такие этапы, как аутентификация пользователя в приложении для iOS, защита и подтверждение конфиденциальных данных, введенных пользователем, обмен данными с серверами, получение одобрения на добавление учетных данных, запуск процедуры предоставления учетных данных и обработка данных персонализации. Разработчик также отвечает за соответствие своего решения всем применимым нормативам и отраслевым стандартам, связанным с безопасностью предоставления учетных данных и их использованием.
Получив запрос о создании новых учетных данных от приложения в iOS, платформа NFC и SE отправляет этот запрос на серверы Apple. Если апплет, связанный с запрошенной конфигурацией продукта, еще не загружен в Secure Element, сервер Apple инициирует загрузку подписанного пакета в Secure Element. Затем новый экземпляр апплета устанавливается в изолированном домене безопасности внутри чипа Secure Element. Этот экземпляр используется для хранения новых учетных данных. После установки выбранный разработчиком доверенный сервис-менеджер (TSM) может конфиденциально персонализировать экземпляр апплета, добавив любые необходимые учетные данные, например ключи и номера учетных записей.
Безопасное хранение и доступ
Аппаратные и программные функции безопасности Secure Element защищают учетные данные на платформе NFC и SE во время их хранения и использования. Разработчики отвечают за то, что их апплеты Secure Element установлены безопасным способом, соответствуют правилам безопасности и полностью задействуют функции безопасности, доступные на платформе, для надлежащей защиты учетных данных.
Платформа NFC и SE разрешает конфигурациям продукта и экземплярам апплета доступ только к связанным с ними приложениям в iOS. Поэтому неразрешенные приложения не могут взаимодействовать с ними с целью их изменения или использования. Следующие действия разрешены только связанным приложениям в iOS:
запрос на создание экземпляров апплета;
персонализация, обновление и отправка команд экземплярам апплета;
инициирование транзакций;
запрос на удаление экземпляров апплета.
Авторизация транзакций
Приложения должны получать разрешение от пользователя для любых транзакций. Платформа NFC и SE позволяет разработчикам гарантировать соблюдение этого условия. Пользователи авторизуют транзакции с помощью биометрии или код‑пароля в сочетании с физическим жестом в сторону Secure Enclave. После одобрения Secure Enclave отправляет данные аутентификации в чип Secure Element. Затем Secure Element проверяет их и уведомляет апплет об активации интерфейса NFC. Разработчик для платформы NFC и SE должен обеспечить соответствие своего приложения для iOS и апплета Secure Element спецификациям, предоставленным Apple, чтобы они могли безопасно использовать механизм авторизации транзакций и проводить сами транзакции.
Для запуска транзакции приложение для iOS должно находиться на переднем плане, а iPhone должен быть разблокирован. Когда приложение для iOS задано в Настройках как приложение по умолчанию для бесконтактных платежей, оно автоматически запускается при двойном нажатии боковой кнопки (на устройствах с Face ID) или кнопки «Домой» (на устройствах с Touch ID) после аутентификации пользователя (если iPhone заблокирован).
Кроме того, приложение для iOS на платформе NFC и SE должно четко сообщать пользователю о том, какие учетные данные будут использованы для транзакции, и отображать все соответствующие сведения о транзакции.
Управление жизненным циклом
Используя API платформы NFC и SE, разработчик может обновлять учетные данные или удалять их, а затем отправлять соответствующие команды своему апплету из своего приложения для iOS. Также разработчик может добавлять возможности приостановить действие учетных данных или отменить их привязку, но эти возможности независимы от платформы NFC и SE.
Все учетные данные в Secure Element надежно стираются, если пользователь:
выходит из iCloud;
удаляет код‑пароль своего устройства;
стирает все данные с устройства с помощью функции «Стереть контент и настройки» или удаленно с помощью Локатора;
запрашивает удаление своего Аккаунта Apple на странице «Данные и конфиденциальность» на сайте Apple.
Пользователь также может удалить со своего iPhone определенные учетные данные, удалив связанное с ними приложение для iOS.