Pull to refresh

Comments 6

И вот мы подобрались к сути проблемы: нам нужно защитить этот самый менеджер паролей пользователя от людей, кому вход туда категорически запрещен.

А кому доступна биометрия, которая хранится на устройстве?

А еще скорее всего в менеджере паролей сделаете кнопку "скопировать пароль в буфер обмена" для удобства использования, да? Или даже без кнопки сразу туда пароль копировать, чтобы пользователь не перенапрягся.

А кому доступна биометрия, которая хранится на устройстве?

Как вы можете заметить по коду, что биометрия доступна только пользователю. Никуда это не передается.

А еще скорее всего в менеджере паролей сделаете кнопку "скопировать пароль в буфер обмена" для удобства использования, да? Или даже без кнопки сразу туда пароль копировать, чтобы пользователь не перенапрягся.

"Скопировать пароль в буфер обмена" на самом деле есть, как и на компе, так и в мобильной версии. Безопасно это? Нет. Удобно? Да. Тут уже на ваш вкус, как разработчик - вы можете это реализовать, а как пользователь - это ваше дело: копировать или нет. Так что проблем тут никаких нет)

Я думаю для менджера паролей реализация "слабой" биометрии не имеет никакого смысла, было бы гораздо логичнее сделать реализацию "сильной" биометрии где мы бы передавали Cipher и с помощью него де\шифровали бы наши пароли, таким образом не пройдя биометрию невозможно получить доступ к зашифрованным данным, а так кажется, что это дверь которую можно просто обойти сбоку. Возможно не прав, буду рад услышать другое мнение, а за статью спасибо.

Тут уже на свой вкус и цвет, но идея топ. Обычно это кстати и используют в менеджерах, где все данные хранятся в зашифрованном файле, который можно открыть с помощью ключ-файла. Поэтому можно даже спокойно сделать: вход по биометрии -> ключ-файл -> пароль. И каждый из этих пунктов - функционален для пользователя, то есть насколько сам юзер хочет защитить свой пользователь. А как разработчики - мы должны обеспечить юзера всей возможной защитой, для нашего продукта, чтобы пользователь хотел его скачать. Спасибо за идею, может быть, в следующих статьях опишем этот процесс ;-)

По поводу смоделированной ситуации, есть пара моментов:

  • Если вы забыли поставить пароль на устройство, то значит без него вы не сможете добавить и отпечатки пальцев. А без отпечатков не получится включить вход по сканеру в приложении, т.к. без установленной блокировки на устройстве он недоступен

  • Если вы сумели включить в приложении вход по отпечатку пальцев, значит на устройстве уже стоит блокировка паролем. А если стоит блокировка паролем, то и телефон потерять не так страшно. Тем более, что в последних версиях Android пароль устройства по-умолчанию используется также и для шифрования данных. А если вы вошли в свою учётку Google, то и сброс не всегда поможет воспользоваться устройством, т.к. при первом запуске система будет требовать войти в ранее привязанный аккаунт. Это всё при умении в какой-то степени можно и обойти, но вот пароли из вашего приложения уже вряд-ли удастся получить

В общем, ситуация не вполне реалистичная, как минимум на большинстве устройств, но звучит она красиво :)

А если серьезно, то всё же стоит хотя бы упомянуть, что данный способ реализации входа по отпечатку не является безопасным, т.к. легко обходится с помощью той же Frida. Другое дело, если вы реализуете подход с шифрованием через полученный от системы Cipher (как ранее писал s097t0r1)
Описывать данный способ необязательно, но оставить дисклеймер все же стоит, т.к. иначе в сети будет появляться всё больше "небезопасных" приложений. А мы, как пользователи, будем ими пользоваться

P.S. На тему "правильного" шифрования по отпечатку есть отличное объяснение в докладе с Mobius: Дмитрий Терёшин — Как два пальца: Локальные атаки на мобильные приложения

Sign up to leave a comment.

Articles