
Передача данных ключей от автомобиля
Для передачи данных ключей от автомобиля могут использоваться различные типы транзакций.
Быстрые транзакции
Быстрые транзакции используются только для разблокировки транспортного средства по NFC.
iPhone генерирует криптограмму AES‑128 на основе криптографического ключа, сгенерированного ранее во время стандартной транзакции. Это позволяет транспортному средству быстро подтвердить подлинность устройства в ситуациях, требующих быстрой работы: используется только симметричная криптография и требуется только одна передача данных между NFC-считывателем и электронным блоком управления (ECU), обрабатывающим транзакцию. Если транспортному средству требуется доступ для чтения или записи к личному и/или конфиденциальному почтовому ящику (каждый ключ для автомобиля в Secure Element имеет свою пару почтовых ящиков), устанавливается защищенный канал Global Platform SCP03 между транспортным средством и устройством: ключи сеанса создаются на основе криптографического ключа, ранее переданного во время стандартной транзакции, и новой пары динамических ключей. Способность транспортного средства создать безопасный канал служит для аутентификации транспортного средства для устройства iPhone. Если транспортное средство хранит ключи для нескольких устройств, ему приходится использовать метод проб и ошибок по схеме «сначала часто используемые», чтобы найти правильный симметричный ключ, так как устройство не выдает отслеживаемый идентификатор во время быстрой транзакции, при которой устройство не удостоверяет подлинность транспортного средства.
Если для устройства, передающего данные, не установлены симметричные ключи, транспортное средство использует динамический открытый ключ транспортного средства (vehicle.PK), чтобы продолжить со стандартной транзакцией (см. раздел «Стандартные транзакции» далее).
Стандартные транзакции
Стандартные транзакции используются для разблокировки транспортного средства по NFC, если в ходе предыдущей стандартной транзакции не были установлены симметричные ключи для быстрой транзакции или когда новый общий ключ впервые обменивается данными с транспортным средством («транзакция ключа первого друга», FFT). Такие транзакции всегда используются для авторизации вождения.
Транспортное средство устанавливает защищенный канал связи с iPhone, генерируя пары динамических ключей ECC на считывателе и на стороне iPhone. Используя метод согласования ключей ECKA‑DH, можно сгенерировать общий ключ на обеих сторонах, а затем использовать его для генерации общего симметричного ключа с помощью алгоритма Диффи — Хеллмана, функции формирования ключей HKDF (RFC 5869) и подписей из статического ключа, установленного при объединении в пару.
Динамический открытый ключ, сгенерированный на стороне транспортного средства, подписывается статическим личным ключом считывателя, что позволяет iPhone удостоверить подлинность транспортного средства. С точки зрения iPhone этот протокол позволяет исключить раскрытие конфиденциальных данных злоумышленнику, перехватившему канал связи или выдающему себя за транспортное средство.
iPhone использует установленный защищенный канал без аутентификации, чтобы зашифровать идентификатор своего открытого ключа вместе с подписью, которая вычисляется на основе данных, запрошенных от считывателя, и некоторых других данных приложения. Эта проверка подписи iPhone транспортным средством позволяет считывателю удостоверить подлинность устройства.
Стандартная транзакция по NFC также используется при первом приближении (FFT) нового общего ключа к транспортному средству, так как транспортному средству еще не известен новый device.PK. Когда пользователь приближается к дверной ручке, транспортное средство начинает быструю транзакцию, но еще не может проверить криптограмму. Затем выполняется стандартная транзакция (команда считывателя для быстрой транзакции AUTH0 также является первой командой для стандартной транзакции), создается защищенный канал GP SCP03 и считывается содержимое личного почтового ящика, которое должно содержать аттестацию нового ключа device.PK, подписанного пользователем, предоставившим доступ (sharer.PK или owner.PK уже известны транспортному средству), и подписанного KTS с использованием собственной криптографии автопроизводителя. После проверки подписей транспортное средство принимает device.PK в качестве нового ключа.
Стандартные транзакции с использованием BLE и UWB
В транспортных средствах, использующих ключи с поддержкой сверхширокополосного подключения (UWB), между транспортным средством и iPhone устанавливается сеанс Bluetooth LE. Как и в случае транзакций с использованием NFC, общий ключ генерируется по обе стороны и используется, чтобы наладить безопасный сеанс. В этом сеансе поочередно генерируется и согласовывается секретный ключ UWB для измерения расстояния, сокращенно — ключ URSK. Ключ URSK передается на UWB-радиоприемники в устройстве пользователя, а также по собственному защищенному каналу производителя — на UWB‑якоря.
Примечание. Якоря обычно размещаются в четырех углах внутри транспортного средства, а при необходимости также в багажнике, чтобы обеспечить точную удостоверенную локализацию устройства пользователя в определенной точке рядом с транспортным средством или внутри него. После этого транспортное средство будет учитывать местонахождение устройства перед тем, как разрешить отпереть дверь или завести двигатель.
Ключи URSK имеют заранее определенный срок действия (время существования, или TTL). Чтобы позиционирование не прервалось по истечении TTL, ключи URSK можно заранее сгенерировать в Secure Element устройства и в аппаратном модуле безопасности (HSM) транспортного средства, пока безопасное защищенное позиционирование не активно, но есть Bluetooth-соединение. Следовательно, нет необходимости получать новый ключ URSK во время стандартной транзакции, когда каждое мгновение на счету. Предварительно сгенерированный ключ URSK можно быстро передать на средства радиосвязи UWB в автомобиле и устройство, чтобы не прерывать измерение расстояния с помощью технологии UWB.