С выпуском iOS 18.1 Apple наконец-то откроет свою безопасную систему бесконтактных платежей для сторонних разработчиков. Вот как функционирует реализация Apple.
Эта система объединяет в себе встроенные в устройство аппаратные средства Secure Enclave, Secure Element и NFC, что позволяет осуществлять безопасные платежи с использованием контактных терминальных устройств на базе NFC, которые используются как для оплаты, так и для проверки.
Apple называет эту систему «Платформа NFC&SE» (NFCSEP).
Начиная с iOS 18.1 Apple предоставит ограниченный API для доступа к платформе NFC&SE. Это включает доступность, поскольку NFCSEP изначально будет доступен только в определенных странах.
Что такое NFC?
NFC — это не какая-то волшебная новая технология. На самом деле это просто более новая форма радиочастотной идентификации (RFID), которая существует уже несколько десятилетий.
RFID обычно используется для отслеживания активов, например, RFID-наклеек, прикрепленных к инвентарю магазина. Если вы когда-либо по ошибке выходили из магазина с ошибкой в кассе, вы, вероятно, активировали RFID-сигнализацию около выходов из магазина, которая считывает RFID-метку на товаре.
Технология NFC похожа на RFID, за исключением того, что она имеет гораздо меньший радиус действия — в основном для того, чтобы транзакции можно было совершать только тогда, когда потребитель находится рядом с платежным или считывающим терминалом.
Устройства NFC работают по электронному принципу индуктивной связи. При индуктивной связи в устройства встроена электромагнитная катушка (индуктор), которая генерирует электромагнитное поле.
Когда другое устройство, содержащее индуктор, входит в одно из этих полей, поле индуцирует ток во втором устройстве. Эта индуктивность может быть использована для связи в NFC.
В смартфонах, платежных картах, POS-терминалах, дверных замках и других считывателях NFC эта связь используется как для авторизации, так и для платежных операций.
NFC является стандартом, хотя в некоторых странах для работы с местными терминалами NFC требуются региональные варианты NFC (например, NFC-J в Японии).
NFC-транзакции обещают как безопасность, так и скорость авторизации и оплаты с пользовательских устройств. Также не требуется никакого физического взаимодействия — за исключением того, что два устройства должны находиться в зоне действия друг друга.
Функции
Несколько безопасных бесконтактных карточных систем уже используются по всему миру, такие как кредитные и платежные карты, цифровые ключи карт, цифровые удостоверения личности и транзитные карты. Эти карты используют NFC для выполнения транзакций по беспроводной связи на терминалах точек продаж (POS), системах продажи транзитных билетов и турникетах с поддержкой NFC, а также цифровых дверных замках.
NFCSEP обещает объединить и предоставить на устройстве то, что сейчас делают нынешние платежные карты NFC и идентификационные карты, но все это в одном месте.
По данным Apple, NFCSEP обеспечит транзакции NFC для:
Платежи в магазине Ключи от дома, гостиницы и автомобиля Замкнутый транспорт Лояльность и вознаграждения продавцов Билеты на мероприятия Студенческие билеты
Хотя на первых порах этого не произойдет, в будущем NFCSEP начнет поддерживать государственные удостоверения личности.
Японская железнодорожная платежная карта Suica NFC.
Результатом всего этого является то, что с помощью NFCSEP вы сможете хранить все необходимые идентификационные данные, данные авторизации и платежную информацию на своем устройстве Apple iOS и использовать его для всех вышеперечисленных целей.
В документации NFCSPE от Apple говорится: «API NFC и Secure Enclave будут доступны разработчикам в Австралии, Бразилии, Канаде, Японии, Новой Зеландии, Великобритании и США в предстоящей версии iOS 18.1 для разработчиков, а затем и в других регионах».
Как это работает
Большинство последних моделей устройств iOS содержат беспроводное оборудование NFC, а также Secure Enclave и Secure Element.
Secure Enclave — это специальный чип и интегрированная оперативная память, которая хранит информацию об устройстве и пользователе, а также информацию об учетной записи Apple и имеет возможность проверять эти данные в сетях с серверами Apple. Он также используется для входа в устройства Apple iOS.
Secure Enclave использует шифрование, аппаратную инфраструктуру открытых ключей (PKI), проверку устройств и ряд других технологий, чтобы гарантировать подлинность каждого устройства Apple и отсутствие подделки.
Secure Element — это специальная аппаратная функция, которая позволяет устройствам iOS хранить данные пользователя, учетной записи и приложения в безопасной, зашифрованной, изолированной области оперативной памяти. Эта область защищена от остальной части устройства и iOS.
Большинство Secure Element используют собственную прошивку для доступа к данным, что позволяет проверить их подлинность.
Secure Enclave и Secure Element предотвращают атаки самозванцев и посредников. Они практически не поддаются взлому, поскольку используют собственные серверы Apple для проверки.
NFCSPE использует Secure Element для хранения и авторизации транзакций, а также связанных с ними данных и пользователей.
Турникеты с поддержкой NFC на недавно отремонтированном железнодорожном вокзале в Японии.
API NFCSPE
Apple предоставит безопасные API-интерфейсы NFCSPE в iOS 18.1, которые позволят приложениям проводить безопасные транзакции NFC, а также регистрировать и хранить бесконтактную информацию об аккаунтах.
Первоначально API-интерфейсы NFCSPE будут доступны только в ограниченном количестве регионов и только для приложений, одобренных и авторизованных Apple и третьими сторонами, соответствующими Стандарту безопасности данных индустрии платежных карт (PCIDSS).
Чтобы ваше приложение на основе NFCSPE работало, оно должно быть одобрено в App Store от Apple или одобренном стороннем магазине приложений. Приложения на основе NFCSPE будут работать только в регионах, в которых Apple одобрила NFCSPE.
После одобрения и выпуска ваше приложение сможет использовать API NFCSPE и платформы безопасности Apple для проведения безопасных транзакций NFC.
Ограничения и правила
API-интерфейсы NFCSPE не являются полностью открытыми и бесплатными для использования.
В частности, любая компания, желающая использовать API и получить одобрение Apple, должна:
Быть одобренным разработчиком Apple. Внести компанию в реестр предприятий Apple. Подписать и отправить обновленное соглашение с разработчиком Apple, включающее NFCSPE. Поддерживать iPhone XS или более позднюю версию с iOS18.1 или более поздней версии. Быть зарегистрированным на одной из соответствующих территорий. Соответствовать всем стандартам безопасности и требованиям конфиденциальности. Иметь строгие политики разрешения инцидентов. Гарантировать безопасную обработку пользовательских данных. Раскрывать потенциальные уязвимости в приложениях NFCSPE. Проводить проверку безопасности в назначенной испытательной лаборатории.
Приложения Apple NFCSPE изначально ограничены в том, какие типы транзакций они могут инициировать. Все приложения изначально должны будут поддерживать один или несколько из следующих типов транзакций:
Платежи NFC в магазине Ключи от автомобиля, дома или отеля Замкнутый транспорт Корпоративные значки Студенческие билеты Программы лояльности или вознаграждения продавцов Билеты на мероприятия Удостоверение личности государственного образца (будет предоставлено позднее)
Каждому предприятию необходимо будет указать «приложение по умолчанию», которое, когда пользователь нажимает для оплаты, запустит и представит интерфейс авторизации/транзакции на устройстве iOS. На каждом устройстве iOS одно приложение NFCSPE будет назначено как приложение по умолчанию.
Все приложения NFCSPE, работающие на устройствах iOS, должны поддерживать как Face ID, так и Touch ID для аутентификации пользователя. В случае, если эти два метода не могут быть использованы, необходимо использовать пароль разблокировки устройства.
В настоящее время это единственные три разрешенных метода аппаратной аутентификации пользователя. Apple может разрешить или запретить другую аппаратную авторизацию в будущем.
Большинство терминалов NFC используют команды ISO 7816-4 для связи. Все приложения NFCSPE должны поддерживать этот набор команд.
Код и тестирование
Как будто всего этого недостаточно, есть еще кое-что.
Чтобы создать и распространять приложение iOS с поддержкой NFCSPE, вам необходимо подать заявку в Apple, получить одобрение и получить от Apple два дополнительных разрешения на использование приложения, которые необходимо включить в файл plist разрешений вашего приложения в Xcode.
Эти два права таковы:
com.developer.apple.secure-element-credential com.developer.apple.secure-element.default-contactless-app
Оба параметра в Xcode являются логическими, и первый должен быть установлен на Да. Если приложение, которое вы разрабатываете, должно быть определено как приложение для бесконтактных транзакций по умолчанию для этого устройства, второй параметр также должен быть установлен на Да.
Вы можете добавить и настроить оба этих разрешения в Xcode, щелкнув файл разрешений в навигаторе проектов Xcode, затем вставив значения, настроив их и сохранив файл.
Если ваша компания и приложение еще не одобрены Apple для NFCSPE, приложение все равно не будет работать для транзакций NFC, если только Apple фактически не предоставила вам эти права.
Еще одним новым шагом в производстве приложений NFCSPE является то, что после того, как ваше приложение завершено и готово к выпуску, Apple теперь требует, чтобы независимая тестовая лаборатория протестировала и проверила приложение.
Все верно. И это не опционально. Вы не можете просто создать свое приложение, выпустить его и разместить в App Store. Без тестирования в сторонней лаборатории ваше приложение NFCSPE никогда не будет одобрено Apple для выпуска.
Это может показаться обременительным требованием, и это так, но Apple делает это, чтобы гарантировать абсолютную безопасность каждого приложения NFCSPE, прежде чем оно поступит к клиентам.
Поскольку большая часть функциональности приложений NFCSPE сосредоточена вокруг платежей, информации о пользователях и транзакций, Apple хочет убедиться в полной безопасности системы, прежде чем она станет общедоступной.
Плюс этого в том, что мы, вероятно, не увидим такого рода взломов и нарушений безопасности с NFCSPE, которые мы видим почти ежедневно сейчас с обычными банковскими и кредитными системами. И это то, чего Apple стремится достичь.
NFCSPE и инди-разработчики
Для некоторых инди-разработчиков NFCSPE подойдет, но для некоторых — нет. В частности, студии разработки из одного человека или компании с ограниченным бюджетом могут просто не позволить себе разработку NFCSPE.
Но поскольку большинство финансовых транзакций или систем идентификации в любом случае обрабатываются крупными организациями, это может не быть такой уж большой проблемой.
Кроме того, поскольку эти приложения должны работать со всеми физическими терминалами NFC, разработчикам необходимо иметь доступ по крайней мере к одному такому терминалу для тестирования. Тестирование также должно проводиться на соответствующих рынках, что может означать физическое присутствие там.
Также существуют некоторые новые строгие правила Apple UI, которым разработчики должны следовать в приложениях NFCSPE.
NFCSPE — это новый класс разработки — с гораздо более сложными и строгими требованиями. Только те, кто способен соответствовать всем требованиям, добьются успеха.
У Apple есть огромная страница со всеми подробностями программы.
Apple дала понять, что она серьезно настроена стать лидером в области бесконтактных платежей. Многие из этих систем уже широко используются во многих местах за пределами США.
Нам придется подождать и посмотреть, как оправдает себя эта новая инициатива Apple, но, судя по всему, NFCSPE останется с нами надолго.