выпуск айфон без датчика отпечатков пальцев вызвало некоторые разговоры об использовании отпечатков пальцев для аутентификации и о том, насколько надежно хранятся данные. Это потрясающе. Даже если вы не беспокоитесь о том, как это делается, вам нужно, чтобы многие другие люди были обеспокоены, чтобы это было сделано так, чтобы вам не приходилось беспокоиться!
Во-первых, Apple использует похожее решение, и если у вас есть более старая модель с датчиком отпечатков пальцев, вы так же безопасно используете его, как и раньше. То же самое касается старшего Samsung телефоны, выпущенные до Marshmallow и использующие собственные методы Samsung.
Способ, которым Google хранит данные о ваших отпечатках пальцев, является наиболее безопасным из возможных при использовании современных технологий. Также удивительно, насколько простым становится обзор всего этого, когда вы на него смотрите. Простота и надежность — всегда выигрышная комбинация.
Хранение по своей природе не очень безопасно. Это то же самое, что написать что-то на стикере и положить его в картотеку. Он там, потому что он должен быть там, и лучшее, что вы можете сделать, это контролировать, кто имеет к нему доступ. Для картотеки вы используете замок, а для телефона — шифрование. Что касается ваших данных об отпечатках пальцев, то это еще один шаг вперед: Trusted Execution Environment (TEE).
TEE — это отдельная и изолированная область аппаратного обеспечения телефона. TEE может использовать собственный процессор и память или виртуализированный экземпляр на основном ЦП. В обоих случаях TEE полностью изолирован и изолирован с помощью аппаратной памяти и защиты ввода/вывода. Единственный способ, которым вы попадете, — это если TEE пропустит вас, а этого никогда не произойдет. Даже если телефон рутирован или загрузчик разблокирован, TEE остается отдельным и неповрежденным.
Google использует то, что они называют Надежный ТРОЙНИК поддержать это. Очень маленькая и эффективная операционная система с соответствующим названием Trusty OS работает на оборудовании TEE, а драйверы ядра позволяют ей взаимодействовать с системой. Существуют библиотеки Android (как вы уже догадались: Trusty API), которые разработчики могут использовать, чтобы они могли задавать вопрос TEE, что означает ответ «да» или «нет». В TEE хранятся не только данные об отпечатках пальцев. Такие вещи, как ключи DRM и ключи шифрования загрузчика производителя, также находятся в TEE и работают так же, как ваш данные отпечатков пальцев — ответьте, соответствуют ли данные, представленные ему приложением, известным достоверным данным, которые оно хранение.
Другие производители могут использовать Trusty OS или другую систему. Если соблюдены все критерии (перечислены ниже), а TEE изолирован и изолирован, он будет соответствовать стандартам безопасности, необходимым для использования Pixel Imprint (ранее Nexus Imprint).
Когда вы регистрируете отпечаток пальца на своем телефоне Android, датчик получает данные сканирования. Trusty OS анализирует эти данные внутри TEE, а затем создает две вещи: набор данных проверки и зашифрованный шаблон отпечатка пальца. Это кажется ненужными данными для всех, кроме TEE, у которого также есть ключ для расшифровки этих ненужных данных. Этот зашифрованный шаблон отпечатка пальца хранится в зашифрованном контейнере либо на TEE, либо в зашифрованном хранилище вашего телефона. Три уровня шифрования означают, что получить данные практически невозможно, и даже если бы вы могли, они были бы бесполезны без способа их расшифровки.
Данные проверки хранятся внутри TEE. Когда вы кладете палец на сканер, пытаясь что-то сделать, сканер создает профиль данных. Через Trusty API связанное приложение запрашивает у ядра запрос TEE, верно ли оно. TEE сверяется с сохраненными проверочными данными, используя свой отдельный процессор и память, и, если достаточное количество данных соответствует, говорит «да». Если соответствующих данных недостаточно, он говорит «нет». Этот ответ «пройден или не пройден» отправляется обратно в ядро как программный токен, который API может прочитать, чтобы увидеть результат.
В то время как сам TEE использует автономную ОС и аппаратное обеспечение для обеспечения безопасности, шаблон отпечатка пальца использует шифрование на основе программного обеспечения. Он должен быть подписан очень конкретным ключом, чтобы быть действительным. Этот ключ создается с использованием информации об устройстве, информации о пользователе и информации о времени. Другими словами, если вы удаляете пользователя, меняете устройства или пытаетесь повторно зарегистрировать отпечаток пальца (система может определить, вы перезаписываете существующий отпечаток пальца) ключ больше не распознается и не может использоваться для расшифровки отпечатка пальца шаблон.
Основные правила, которым должна следовать каждая компания, производящая телефоны Android с датчиком отпечатков пальцев:
- Весь анализ данных отпечатков пальцев должен выполняться внутри TEE.
- Все данные, связанные с отпечатком пальца, должны храниться в TEE или в доверенной памяти (память, которую основной ЦП даже не может видеть)
- Данные профиля отпечатков пальцев должны быть зашифрованы автоматически, даже если они хранятся в зашифрованном хранилище телефона.
- Удаление учетной записи пользователя также должно надежно стереть все данные, связанные с отпечатками пальцев этого пользователя.
- Место, где хранятся профили отпечатков пальцев, не должно быть видно ни одному приложению, процессу или пользователю, включая пользователя root.
- Данные отпечатков пальцев любого рода не должны копироваться в какой-либо другой источник, включая облако, ваш компьютер или любое приложение.
- Аутентификация по отпечатку пальца должна использоваться процессом, который ее запросил (никаких данных по отпечатку пальца не передается, даже просто ответ «да» или «нет», чтобы убедиться, что он правильный)
Когда у вас есть несколько четких стандартных спецификаций, соблюсти их несложно. Это то, что гарантирует, что независимо от того, какой телефон Android вы используете, ваши данные отпечатков пальцев будут храниться в безопасности, и никакие другие системные процессы или приложения не смогут получить к ним доступ. По мере развития криптографии, особенно аппаратного шифрования, будет развиваться и этот метод обеспечения безопасности данных ваших отпечатков пальцев. Будет интересно оглянуться назад после запуска Android Z и посмотреть, как далеко мы продвинулись.