Узор, PIN или Face ID: что на самом деле безопаснее?
Вопрос звучит так, будто у него один ответ, и почти так и есть, пока вы не спросите, от кого именно вы защищаете телефон. Незнакомец, нашедший его в поезде, коллега, сидящий напротив за обедом, и партнёр, который уже знает ваш код-пароль, это три разные задачи, и все три блокировки проигрывают им в разном порядке. Дальше будет рейтинг, исследования, на которых он основан, и часть важнее всего остального: какая блокировка нужна самому телефону, а какая, фотографиям внутри него.
Против того, кто наблюдает, как вы разблокируете телефон, узор слабее двух других вариантов, причём с большим отрывом. В одном контролируемом исследовании подглядывания через плечо при однократном наблюдении атакующие воспроизводили узор, нарисованный с видимой линией следа, примерно в 64 процентах случаев, а шестизначный PIN-код — примерно в 11 процентах. Узор также оставляет физический след: исходное исследование атаки по следам пальцев восстановило весь узор по жировому следу на экране в 68 процентах тестов при благоприятном освещении и часть узора в 92 процентах. Face ID не даёт наблюдателю ничего, поэтому побеждает на бумаге, а Apple оценивает вероятность совпадения случайного лица с вашим примерно как один к миллиону. Его слабость другая. Он срабатывает, пока вы спите, и срабатывает, когда кто-то подносит телефон к вашему лицу, а на iPhone это быстрый путь к код-паролю, а не его замена, поэтому подсмотренный код-пароль сводит эту защиту на нет. Размер сетки тоже важен. Почти все опубликованные данные об узорах описывают сетку три на три, а сетка пять на пять с минимумом в шесть точек находится в совсем другом диапазоне. Используйте Face ID с длинным код-паролем на самом устройстве и задайте отдельные данные для входа в приложение, где хранится всё, что вы не отдали бы незнакомцу.
Краткий рейтинг и вопрос, который его меняет
Если судить по устойчивости к подглядыванию, порядок ясен: сначала Face ID, затем длинный PIN-код, и в конце узор. Face ID не выдаёт наблюдателю ничего, потому что данные для входа — это ваше лицо. PIN-код вводится на небольшой площади, которую можно закрыть рукой, и каждая дополнительная цифра умножает пространство перебора на десять. Узор — крупный жест на большую часть экрана, обычно с яркой линией, следующей за пальцем, и это единственный из трёх вариантов, который человек через два места от вас может просто запомнить. В исследованиях это не мелкий эффект, а разница между подбрасыванием монеты и выстрелом наугад.
Теперь задайте другой вопрос. Кто на самом деле открывает чужие телефоны без разрешения? В подавляющем большинстве случаев это не незнакомец с камерой, а тот, кто уже находится рядом: партнёр, сосед по квартире, коллега, родственник. Такой человек обычно знает ваш код-пароль, видел, как вы разблокируете телефон сотни раз, и ему вообще не нужна никакая атака. Против него приведённый выше рейтинг не имеет значения, потому что все три блокировки уже открыты. Единственное, что всё ещё держится, это второй код доступа, который этот человек никогда не видел, в приложении, хранящем материал, достойный защиты. Наш разбор о том, как заблокировать отдельные приложения с помощью Face ID на iPhone, раскрывает встроенную половину этого решения, и его стоит прочитать вместе с этим текстом.
Что каждая блокировка выдаёт наблюдателю
Исследователи это измерили, а не просто предположили. В исследовании подглядывания через плечо при однократном наблюдении узор, нарисованный с видимой линией следа, наблюдатель успешно воспроизводил примерно в 64 процентах случаев, а шестизначный PIN-код — примерно в 11 процентах. Отключение видимой линии следа заметно помогает узору, а прикрытие клавиатуры помогает PIN-коду, но разрыв сохраняется в обоих случаях. Причина в геометрии. PIN-код — это последовательность мелких нажатий на плотной сетке, и одна неверно прочитанная цифра портит всю догадку. Узор — одна непрерывная фигура, а фигуру человеческая память особенно хорошо удерживает после одного взгляда.
Узор также оставляет улику уже после события. Исходное исследование атаки по следам пальцев фотографировало экраны телефонов при контролируемом освещении и восстановило полный узор разблокировки по жировому следу в 68 процентах тестов, а часть узора была видна в 92 процентах. Клавиатура PIN-кода тоже покрывается следами, но следы не хранят порядок, поэтому атакующий узнаёт, какие цифры использовались, но не их последовательность. Face ID не оставляет ничего ни на стекле, ни в комнате. Зато он срабатывает всякий раз, когда ваше лицо перед камерой, в том числе пока вы спите, и это реальная и конкретная слабость, а не теоретическая. Apple снижает риск: требует код-пароль после перезагрузки, после 48 часов без разблокировки и после пяти неудачных попыток распознавания лица, а также предлагает Защиту украденного устройства на случай, если вор уже подсмотрел, как вы вводите код-пароль.
Та же слабость переходит в приложения-сейфы, где есть и Face ID, и пароль-приманка: если Face ID открывает настоящий сейф, человеку достаточно поднести телефон к вашему лицу, чтобы обойти приманку. Что проверить, прежде чем полагаться на эту пару, описано в руководстве о Face ID и пароле-приманке в фотосейфах.
Арифметика под капотом и почему размер поля её меняет
Почти вся широко цитируемая статистика об узорах описывает сетку три на три в Android, где пути длиной от четырёх до девяти точек дают в сумме 389 112 вариантов. Это больше, чем у четырёхзначного PIN-кода с 10 000 вариантов, и меньше, чем у шестизначного с 1 000 000, и оба числа завышают реальную сложность, потому что ни узоры, ни PIN-коды люди не выбирают случайно. Люди начинают узор в верхнем левом углу гораздо чаще, чем позволяла бы случайность, и рисуют знакомые буквы. Люди выбирают 1234, 0000 и годы рождения. Атакующий, который сначала пробует популярные варианты, перебирает не всё пространство, а лишь его переполненный край.
Размер сетки — переменная, о которой никто не говорит, хотя она важнее всего остального. Если считать только пути через шесть разных точек, сетка пять на пять даёт 127 512 000 упорядочиваний ещё до любых правил рисования, против 1 000 000 у шестизначного PIN-кода. Именно поэтому Vaultaire использует сетку пять на пять, требует минимум шесть точек и минимум одну смену направления и предупреждает, если только что нарисованная фигура — это прямой ряд, спираль или узнаваемая буква. Ничто из этого не решает проблему наблюдения: она связана с самим рисованием на стекле при людях, а не с сеткой. Но это значит, что узор слаб только тогда, когда кто-то смотрит, и силён, когда никто не смотрит.
Какая блокировка нужна какой двери
Считайте телефон и личные материалы внутри него двумя разными дверьми. На телефоне используйте Face ID с длинным код-паролем за ним и включите Защиту украденного устройства, которая требует Face ID без возможности ввести код-пароль для чувствительных действий, когда вы не в привычных местах. Эта комбинация отвечает незнакомцу, карманнику и человеку, который снял на видео, как вы разблокировали телефон в кафе. Она не отвечает на человека, который уже знает код-пароль, и на момент, когда вы даёте разблокированный телефон кому-то показать фото, а этот человек продолжает листать дальше. Для этого нужна блокировка, которая не открывается лишь потому, что открылся телефон.
Это вторая дверь, и именно здесь узор занимает своё место. В Vaultaire обычная разблокировка не сравнивает ваш узор с отдельным хешем пароля. Нарисованные точки сериализуются и проходят через PBKDF2-HMAC-SHA512 с 600 000 итераций и общей для устройства солью из iOS Keychain. Полученный ключ сейфа аутентифицирует зашифрованный индекс и разворачивает отдельный случайный главный ключ, которым файлы шифруются по AES-256-GCM. Аутентификация AES-GCM также позволяет любому, у кого есть скопированные данные приложения, проверять ключи-кандидаты офлайн, поэтому стойкость узора и стоимость каждой попытки по-прежнему важны. Vaultaire хранит зашифрованную базу данных восстановления в Keychain, а зашифрованная резервная копия в CloudKit, включённая по умолчанию, создаёт ещё одну копию шифртекста; ни то ни другое не даёт разработчику способа сброса или ключей для чтения ваших файлов. Наш разбор того, что на самом деле защищает шифрование AES-256, описывает сторону шифра, а наш аудит заявлений о безопасности приложений-сейфов объясняет, как проверить, шифрует ли приложение данные или просто прячет папку. Vaultaire бесплатен для 3 сейфов.
Похожие инструкции
- Как заблокировать приложения с помощью Face ID на iPhone
- Забыли пароль от фотосейфа
- Можно ли обойти блокировку Face ID скрытого альбома
- Что на самом деле защищает шифрование AES-256
Источники
Часто задаваемые вопросы
Может ли кто-то действительно разгадать мой узор по следам на экране?
Да, при подходящих условиях. Исследование, давшее название атаке по следам пальцев, фотографировало экраны при контролируемом освещении и угле съёмки и восстановило узор полностью в 68 процентах тестов, а частично — в 92 процентах. Обычное использование смазывает стекло и усложняет задачу, а протирание экрана убирает след полностью, но атака реальна и применима только к узорам. Клавиатура PIN-кода оставляет следы, которые выдают используемые цифры, но не их порядок.
Безопаснее ли Face ID, чем код-пароль на iPhone?
Это не альтернативы. Face ID это быстрый путь к тому же код-паролю, а код-пароль остаётся базовыми данными для входа, поэтому iOS запрашивает его после перезагрузки, после 48 часов без разблокировки и после пяти неудачных попыток распознавания лица. Face ID гораздо лучше защищает от слежки, поскольку подглядывать нечего. Код-пароль лучше защищает в случае, когда кто-то может направить телефон на вас. Используйте оба варианта и сделайте код-пароль длинным.
Поможет ли отдельный узор сейфа, если кто-то уже знает мой код-пароль от iPhone?
Именно для этого он в первую очередь и нужен. Человек, знающий ваш код-пароль, получает весь телефон целиком: Фото, Сообщения, скрытый альбом, iCloud в браузере. Сейф с собственными данными для входа — единственная часть, которая не открывается вместе со всем остальным, при условии что вы никогда не рисуете узор при этом человеке и не повторяете в нём цифры код-пароля. Выберите то, что вы никогда не вводили при нём, потому что настоящая уязвимость здесь — близкое знакомство.
Что будет, если я забуду узор?
В Vaultaire из узора получается ключ сейфа, который аутентифицирует зашифрованный индекс и разворачивает его случайный главный ключ. Восстановление использует фразу, чтобы открыть конверт с зашифрованным ключом, и требует соответствующей локальной или зашифрованной записи восстановления в CloudKit. У Vaultaire нет ключа сброса, поэтому служба поддержки не может обойти эти требования. Храните фразу на бумаге, подальше от телефона. Наше руководство по забытым паролям от фотосейфов (ссылка ниже) объясняет оставшиеся способы восстановления и заявления, которым не стоит верить.