Android R может поддерживать безопасное хранение мобильных водительских прав на таких устройствах, как Google Pixel 2, Google Pixel 3 или Google Pixel 4.
Обновление 1 (6 марта 2019 г., 20:44 по восточному времени): Более подробную информацию о планах Google относительно IdentityCredential API поделился Шон Уилден, руководитель группы безопасности аппаратного обеспечения Android. Статья дополнена этими подробностями в конце. Оригинальная статья следует ниже.
Ношение кошелька стало для меня менее необходимостью с тех пор, как я начал использовать Google Pay управлять своими кредитными картами, но я по-прежнему не могу никуда поехать без водительских прав. Я знаю нескольких человек, которые используют футляры-кошельки для хранения тех немногих карт, которые им нужны. должен продолжайте вести себя, но я жду того дня, когда я смогу легально поехать в Walmart, имея при себе только телефон. Цифровые водительские права имеют множество преимуществ по сравнению с традиционным удостоверением личности. Вы не можете его потерять, вы можете обновить его удаленно, чтобы вам не приходилось стоять в очереди в DMV, вы можете стереть его удаленно, если ваш телефон украдут, у вас меньше шансов узнать вашу личность украдено, поскольку вам не нужно носить с собой кошелек с легкодоступной информацией, вы с меньшей вероятностью оставите свой телефон дома, и вам будет легче поднять его запрос. Власти США постепенно осознают преимущества мобильных водительских прав, поэтому мы слышим, что каждый год все больше штатов США тестируют их принятие.
Например, жители Луизианы могут скачать Envoc-развитый Лос-Анджелес кошелек приложение, одобренное правоохранительными органами Лос-Анджелеса для проверки лицензии и УВД Лос-Анджелеса по сделкам с алкоголем и табачными изделиями. Проверка возраста особенно интересна, поскольку пользователи могут ограничить мобильное приложение показом только необходимой информации продавцу алкоголя или табачных изделий. В другом месте компания цифровой безопасности Джемальто сотрудничает с Колорадо, Айдахо, Мэрилендом, Вашингтоном и Вайомингом для запуска пилотных программ перед развертыванием своего решения по выдаче цифровых водительских прав. В то же время, Американская ассоциация администраторов транспортных средств работает над стандартизацией этой новой формы электронной идентификации.
Однако у цифровых водительских прав есть и недостатки. У вас есть большой контроль над тем, кто сможет видеть ваше физическое удостоверение личности, но у вас меньше контроля над тем, кто или что имеет доступ к своей оцифрованной форме. Вы можете защитить свой телефон или приложение, которое использует вашу мобильную лицензию, паролем или PIN-кодом, но всегда есть вероятность, что ваш телефон и все его данные могут быть скомпрометированы. Кроме того, вы должны убедиться, что в вашем телефоне достаточно заряда, чтобы Android работал, чтобы вы могли получить лицензию. С Идентитикредентиал API, Google работает над решением обеих этих проблем. В будущей версии Android, возможно, Android R, устройства с подходящим оборудованием смогут безопасно хранить удостоверения личности, особенно цифровые водительские права, и даже получать к ним доступ, когда у устройства недостаточно мощности для загрузить Андроид.
Идентитикредентиал API
На первый взгляд коммит, представленный Шоном Уилденом, руководителем команды Android-хранилища ключей с аппаратной поддержкой, не кажется очень интересным. Однако, если вы просмотрите файлы IdentityCredential и IdentityCredentialStore, вы обнаружите множество ссылок на те виды «удостоверительных данных», на которые ссылается Google. Например, IdentityCredential использует протокол обмена ключами, который «используется ИСО18013-5 стандарт для мобильных водительских прав». Кроме того, этот протокол используется в качестве «основы для постоянной работы ISO по другие стандартизированные идентификационные данные«Хотя маловероятно, что мы увидим мобильные паспорта в ближайшее время, очевидно, что этот API предназначен не только для мобильных водительских прав.
Копнув глубже, Google подробно описывает типы ключей подписи, поддерживаемые API IdentityCredential. Существует два вида аутентификации данных: статическая и динамическая. Статическая аутентификация включает ключи, созданные выдающим органом, тогда как динамическая аутентификация включает ключи, созданные аппаратными средствами безопасности устройства (например, Титан М в Pixel 3 и Pixel 3 XL.) Преимущество динамической аутентификации заключается в том, что злоумышленнику сложнее скомпрометировать защищенное оборудование и скопировать учетные данные на другое устройство. Более того, динамическая аутентификация затрудняет привязку определенных учетных данных к данным пользователя.
Приложение Android может предоставить считывателю IdentityCredential, попросив пользователя инициировать беспроводное соединение через NFC. Приложениям рекомендуется защищать эти транзакции, запрашивая разрешение пользователя в форме диалогового окна и/или защиты паролем.
Если устройство имеет поддерживаемое оборудование, будет доступен режим «прямого доступа», позволяющий представить IdentityCredential, даже если для поддержания работы Android недостаточно энергии. Это возможно только в том случае, если устройство имеет дискретное защищенное оборудование и достаточную мощность для работы этого оборудования и обмена учетными данными через NFC. Такие устройства, как Google Pixel 2 и Google Pixel 3, должны соответствовать требованиям, поскольку оба устройства имеют устойчивые к взлому модули безопасности которые отделены от основного SoC.
Если устройство не имеет дискретного защищенного ЦП, оно все равно может поддерживать API IdentityCredential, хотя и без поддержки прямого доступа. Если хранилище учетных данных реализовано только программно, оно может быть скомпрометировано в результате атаки на ядро. Если хранилище учетных данных реализовано в TEE, оно может быть скомпрометировано атаками по побочным каналам на ЦП, такими как Крах и призрак. Если хранилище учетных данных реализовано в отдельном ЦП, встроенном в тот же пакет, что и основной ЦП, он устойчив к физическим аппаратным атакам, но его нельзя включить без питания основного ПРОЦЕССОР.
Конфиденциальность документа будет определять, будут ли поддерживаться одна или несколько из этих реализаций хранилища учетных данных. Разработчики могут проверить сертификацию безопасности реализации хранилища учетных данных. Реализации хранилища учетных данных могут быть несертифицированными или иметь уровень оценки оценки 4 или выше. EAL сообщает разработчикам приложений, насколько безопасна реализация от потенциальных атак.
Как я упоминал ранее, Google намерен использовать этот API для любого стандартизированного типа документов, хотя в качестве примера они приводят мобильные водительские права ISO 18013. Тип документа необходим, чтобы оборудование безопасности знало, какой это тип учетных данных в случае должен поддерживаться режим прямого доступа и позволять приложениям знать, какой тип документа читает пользователь. с просьбой.
Это вся информация об этом новом API, которой мы располагаем на данный момент. Поскольку мы очень близки к выпуску первой предварительной версии Android Q Developer Preview, я не думаю, что мы увидим поддержку безопасного хранения мобильных водительских прав в Android Q. Однако этот API может быть готов к моменту выхода Android R в 2020 году. Google Pixel 2, Google Pixel 3 и предстоящий Google Pixel 4 должны поддерживать этот API в режиме прямого доступа в Android R благодаря наличию необходимого дискретного безопасного процессора. Мы сообщим вам, если узнаем дополнительную информацию о том, что Google собирается делать с этим API.
Обновление 1. Более подробная информация об API IdentityCredential.
Шон Уилден, автор фиксации IdentityCredential API, поделился дополнительной информацией об API в разделах комментариев. Он ответил на несколько комментариев пользователей, которые мы приведем ниже:
Пользователь Munnimi заявил:
«А когда полицейские забирают ваш телефон и идут к полицейской машине, они могут проверить, что в телефоне».
Господин Уилден ответил:
«Я специально работаю над тем, чтобы сделать это невозможным. Цель состоит в том, чтобы структурировать поток так, чтобы офицер не мог с пользой отобрать ваш телефон. Идея состоит в том, что вы выполняете касание NFC с помощью телефона офицера, затем разблокируете его с помощью отпечатка пальца/пароля, затем ваш телефон переходит в режим блокировки, а данные передаются через Bluetooth/Wi-Fi. Режим блокировки означает, что аутентификация по отпечатку пальца не разблокирует его, требуется пароль. Это сделано специально для того, чтобы заставить применить пятую поправку о защите от самообвинения, которая, по мнению некоторых судов, не соответствует действительности. не позволяет полиции принуждать вас к разблокировке с помощью биометрии, но все согласны с тем, что она не позволяет им заставлять вас сообщать свой пароль (по крайней мере, в Соединенные штаты).
Обратите внимание, что это стремление, а не обязательство. Способы, с помощью которых мы можем заставить разработчиков приложений для идентификации, ограничены, потому что, если мы зайдём слишком далеко, они могут просто решите не использовать наши API. Но что мы можем сделать, так это облегчить им выполнение правильных, чувствительных к конфиденциальности, вещь."
Пользователь RobboW заявил:
«В Австралии это бесполезно. Во время вождения мы должны иметь при себе официальные водительские права. Цифровая копия просто созрела для кражи личных данных».
Господин Уилден ответил:
«Австралия является активным участником комитета ISO 18013-5 и очень заинтересована в поддержке мобильных водительских прав. Что касается кражи личных данных, существует множество встроенных средств защиты. В статье упоминаются некоторые из них».
Пользователь solitarios.lupus заявил:
«Учитывая, что представляет собой этот сайт, я думаю, все здесь знают, что это не сработает и представляет собой огромную проблему безопасности для правоохранительных органов. Чтобы их было легко подделать, подделать и манипулировать».
Господин Уилден ответил:
«Прямая подделка будет практически невозможна, поскольку все данные подписаны цифровой подписью. Подделка учетных данных потребует подделки цифровой подписи, что либо потребует радикального нарушения соответствующих криптография (которая может нарушить TLS и почти все остальное) или кражу подписи выдающего органа ключи. Равномерное изменение путем взятия некоторых подписанных элементов данных из одного DL (например, даты рождения, показывающей, что вам больше 21 года), а некоторых из другого. (например, ваша реальная фотография) будет невозможно, поскольку подпись охватывает весь документ, связывая все элементы вместе».
Отметка пользователя гласит:
«Если фотокопия никогда не была действительна для удостоверения личности, почему наличие телефона имеет значение? Даже если Google обещает обеспечить безопасность, как это помешает кому-то обнаружить поддельное приложение?
Тем не менее, даже если на этот вопрос нет ответов, я все равно думаю, что это хорошо по причинам, изложенным в этой статье. Мне бы хотелось, чтобы это было для паспортов - не обязательно для путешествий, но и в других случаях, когда требуется удостоверение личности (я не вожу машину, поэтому мой паспорт - мое единственное удостоверение личности).
Конечно, я бы также предпочел, чтобы Великобритания не превращалась в общество «бумаги, пожалуйста», где в некоторых случаях вам нужно отсканировать паспорт даже просто для того, чтобы пойти в паб...»
Господин Уилден ответил:
«Цифровые подписи сделают это безопасным. У вас может быть поддельное приложение, но оно не сможет генерировать правильно подписанные данные.
Паспорта также очень подходят для этой работы, кстати. Водительские права являются отправной точкой, но протоколы и инфраструктура тщательно разрабатываются для поддержки широкого спектра удостоверений личности, в частности, включая паспорта. Конечно, нам придется убедить ИКАО принять этот подход, но я думаю, что это весьма вероятно».
Спасибо признанному разработчику XDA luca020400 за подсказку!