Какая-либо локальная аутентификация пользователей для мобильных приложений, ориентированная на конфиденциальность? - PullRequest
0 голосов
/ 03 августа 2020

Я создаю приложение и очень осторожно отношусь к конфиденциальности пользователей в приложении. Я не хочу собирать никаких данных. Даже адреса электронной почты. Есть ли способ выполнить аутентификацию пользователя без адреса электронной почты / номера телефона?

Одна из идей на данный момент - использовать биометрию на самом телефоне. FaceID / TouchID и др. c. Но это вызывает проблемы с синхронизацией своих данных, если пользователь хочет использовать с другого телефона. Есть ли обходные пути?

1 Ответ

0 голосов
/ 03 августа 2020

Вы можете безопасно собрать столько данных, сколько захотите. внутри приложения, пока оно остается там.

Проблема в том, что вы хотите надежно идентифицировать учетную запись пользователя (но без каких-либо конкретных c данных пользователя), не выпуская какие-либо из этих данных. Использование хэшей (обычно SHA256) адресов электронной почты в качестве идентификаторов стало довольно распространенным явлением, однако, если все используют один и тот же подход, это похоже на распределенную радужную таблицу. Однако вы можете развернуть обычную защиту от таких атак, добавив свои хэши, чтобы они были уникальными для вашей службы.

Если вы зашифруете данные пользователя на устройстве с помощью ключа, который знают только они, и только когда-либо передавали и хранить зашифрованные данные (т. е. к которым у вас нет доступа), тогда они смогут использовать те же локальные идентификаторы и их ключ для чтения данных с другого устройства. Поскольку данные шифруются и дешифруются только одним и тем же ключом, вы можете использовать шифрование symri c - посмотрите на использование libsodium для этого.

Возможно, вы захотите рассмотреть возможность использования 2FA для go с этим поскольку в противном случае перехват этого идентификатора может привести к несанкционированному доступу.

В зависимости от чувствительности трафика c, вы можете попытаться скрыть метаинформацию, такую ​​как даты, время и объемы подключения, чтобы вы могли получить приложение для генерации случайных данных, чтобы скрыть реальные данные внутри.

Заявление об ограничении ответственности - я не криптограф! Я рекомендую вам запросить более квалифицированные ответы по телефону https://security.stackexchange.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...