Я только что заметил это article о мобильном приложении, которое хранит информацию пользователя в виде открытого текста. Я обратил внимание на идею хранения пароля пользователя на сервере (с использованием хэш-функции SHA-512), но я не понимаю лучших методов хранения личной информации на самом устройстве.Безопасное хранение персональных данных пользователя на устройстве iOS
Позвольте мне быть ясным, я имею в виду только имена пользователей и пароли. Данные, с которыми взаимодействует мое приложение, отнюдь не чувствительны, и я знаю, что я могу реализовать какое-то симметричное шифрование/дешифрование на этих данных.
Для удобства пользователей я хотел бы предложить пользователю возможность сохранять свое имя пользователя и пароль локально, чтобы они не вводили его каждый раз, когда они используют приложение. Но я знаю, что пользователь имеет тенденцию повторно использовать один и тот же пароль для разных целей, а это значит, что мне нужно принять меры предосторожности, чтобы защитить пароли моего пользователя. Классическое напряжение между удобством и безопасностью.
Неужели это просто страшная идея хранить эту информацию локально? Или существуют относительно простые средства для безопасного шифрования этого? Поддерживает ли iOS и Android O/S какую-либо помощь?
Не обязательно искать исчерпывающие ответы, но я действительно ценю некоторые темы для исследований, ссылки на статьи, книги и т. Д. Большое спасибо. Если это лишний вопрос, пожалуйста, направьте меня на любые сообщения, которые дают ответы, которые по-прежнему считаются актуальными.
спасибо!
Почему бы не использовать PBKDF2 вместо sha256 (device_salt || plaintext). Кроме того, можно использовать функцию калибровки 'CCCalibratePBKDF' для получения количества раундов. Также HMAC - лучший выбор, чем просто конкатенирование соли с открытым текстом и хешированием. – zaph