Безопасность ключей от автомобиля в iOS
Разработчики могут обеспечивать безопасную поддержку электронных ключей от автомобиля на поддерживаемых iPhone и часах Apple Watch, с которыми создана пара.
Создание пары с владельцем
Владелец должен подтвердить, что транспортное средство принадлежит ему (способ подтверждения зависит от автопроизводителя), после чего он сможет начать процесс создания пары в приложении автопроизводителя с помощью ссылки в письме, отправленном автопроизводителем, или посредством меню транспортного средства. В любом случае при создании пары владелец должен ввести на iPhone секретный одноразовый пароль, который используется для создания защищенного канала связи по протоколу SPAKE2+ на основе кривой NIST P-256. При использовании приложения или ссылки в письме пароль автоматически передается на iPhone. При создании пары из интерфейса транспортного средства пароль необходимо ввести вручную.
Совместное использование ключей
Владелец iPhone, объединенного в пару, может делиться ключами с совместимыми iPhone членов семьи и друзей (а затем передавать ключи на Apple Watch, с которыми создана пара). Для этого необходимо отправить соответствующее приглашение с помощью iMessage и службы идентификации Apple (IDS). Обмен всеми командами по предоставлению доступа осуществляется с использованием функции сквозного шифрования службы IDS. Объединенный в пару iPhone владельца препятствует изменению канала служб идентификации во время предоставления доступа, что защищает от переадресации приглашений.
После принятия приглашения iPhone члена семьи или друга создает цифровой ключ и отправляет цепочку сертификатов создания ключа обратно на устройство iPhone владельца, который объединен в пару, для подтверждения того, что ключ был создан на подлинном устройстве Apple. Устройство iPhone владельца, с которым создана пара, подписывает открытый ключ ECC устройства iPhone другого члена семьи или друга, а затем отправляет подпись обратно на устройство iPhone члена семьи или друга. Для подписи на устройстве владельца пользователю требуется пройти аутентификацию (с помощью Face ID, Touch ID или код-пароля) и безопасно подтвердить свое намерение, как описано в разделе Использование Face ID и Touch ID. Авторизация запрашивается при отправке приглашения и хранится на чипе Secure Element для использования при возврате запроса на подписание устройством друга. Ключевые разрешения предоставляются автомобилю либо онлайн с сервера OEM автомобиля или во время первого использования общего ключа в автомобиле.
Удаление ключа
Удалить ключ с устройства, которому ключ был ранее предоставлен для использования, можно с устройства владельца или из интерфейса транспортного средства. Операции удаления с iPhone владельца выполняются незамедлительно, даже если в этот момент владелец использует ключ. В силу этого перед удалением отображается предупреждение, акцентирующее внимание пользователя на необратимости этого действия. Удаление ключей в автомобиле возможно в любое время либо только тогда, когда автомобиль находится онлайн.
В обоих случаях использовавшее предоставленный владельцем ключ устройство или транспортное средство передает информацию об удалении на сервер инвентаризации ключей (KIS) на стороне автопроизводителя, который регистрирует выданные ключи в целях страхования.
Владелец может запросить удаление, перейдя на обратную сторону своей карты владельца. Сначала запрос отправляется автопроизводителю, чтобы он удалил ключ с транспортного средства. Условия удаления ключа с транспортного средства определяет автопроизводитель. Только после удаления ключа с транспортного средства автопроизводитель отправляет на устройство, использовавшее предоставленный владельцем ключ, запрос на удаленное прекращение действия ключа.
После того как действие ключа на устройстве прекращено, апплет, который управляет цифровыми ключами от автомобилей, создает удостоверение прекращения действия ключа, заверенное криптографической подписью. Это удостоверение подтверждает удаление ключа автопроизводителем и используется для удаления ключа с сервера KIS.
Стандартные транзакции с использованием NFC
В автомобилях, поддерживающих ключи NFC, безопасный канал связи устанавливается между считывателем и iPhone путем создания пар динамических ключей на считывателе и iPhone. С помощью метода согласования ключей общий ключ можно сгенерировать на основе данных с обоих устройств, а затем использовать его для создания общего симметричного ключа с помощью алгоритма Диффи — Хеллмана, функции формирования ключей и подписей из статического ключа, заданного при создании пары.
Динамический открытый ключ, сгенерированный на транспортном средстве, подписывается с помощью статического личного ключа на считывающем устройстве, в результате чего iPhone выполняет аутентификацию считывающего устройства. С точки зрения iPhone этот протокол призван исключить раскрытие конфиденциальных данных злоумышленником, перехватившим канал связи.
Наконец, iPhone использует созданный безопасный канал для шифрования идентификатора своего открытого ключа вместе с подписью, вычисленной на основе запроса полученных данных считывающего устройства и ряда других дополнительных данных приложения. Такая проверка подписи iPhone считывающим устройством позволяет ему аутентифицировать iPhone.
Быстрые транзакции
iPhone генерирует криптограмму на основе общего ключа, предоставленного ранее во время стандартной транзакции. Это позволяет транспортному средству быстро аутентифицировать устройство для сохранения требуемого уровня производительности. Также между транспортным средством и устройством может быть создан безопасный канал связи путем получения ключей сеанса из ключа, предоставленного ранее во время стандартной транзакции, и новой динамической пары ключей. Способность транспортного средства создать безопасный канал служит для аутентификации транспортного средства для устройства iPhone.
Стандартные транзакции с использованием BLE и UWB
В автомобилях, поддерживающих ключи UWB, сеанс Bluetooth LE устанавливается между автомобилем и iPhone. Как и в случае транзакций с использованием NFC, общий ключ генерируется по обе стороны и используется, чтобы наладить безопасный сеанс. В этом сеансе поочередно генерируется и согласовывается секретный ключ UWB для измерения расстояния, сокращенно — ключ URSK. Ключ URSK передается на средства радиосвязи UWB в устройстве пользователя и в автомобиле, чтобы можно было с точностью установить местонахождение устройства пользователя рядом с автомобилем или внутри него. После этого автомобиль будет учитывать местонахождение устройства перед тем, как разрешить отпереть дверь или завести двигатель. У ключей URSK есть предопределенное значение TTL. Чтобы измерение расстояния не прервалось, когда срок действия TTL истечет, ключи URSK можно предварительно сгенерировать на устройстве SE и в автомобиле HSM/SE, пока безопасное измерение расстояния неактивно, но есть соединение BLE. Следовательно, нет необходимости получать новый ключ URSK во время стандартной транзакции, когда каждое мгновение на счету. Предварительно сгенерированный ключ URSK можно быстро передать на средства радиосвязи UWB в автомобиле и устройство, чтобы не прерывать измерение расстояния с помощью технологии UWB.
Конфиденциальность
На сервере инвентаризации ключей (сервере KIS) у автопроизводителя не хранятся идентификаторы устройств, SEID или Apple ID. На этом сервере хранится только изменяемый идентификатор — идентификатор экземпляра центра сертификации. Этот идентификатор не привязан к каким-либо личным данным на устройстве или на сервере. Когда пользователь стирает все данные с устройства с помощью функции «Стереть контент и настройки», этот идентификатор удаляется вместе с остальными данными.