надо шифровать сессионный токен... в нормальных условиях пользователь вводит логин/пароль или регистрируется, получает токен от сервера и пользуется им для доступа. Зачем ему этот токен вытаскивать из телефона? Это и так его токен. Хуже если телефон крадут. Но это совсем другой уровень защиты нужен.
У нас просто служба безопасности придралась, реально я до сих пор не понимаю зачем это и не понимаю вектор атаки, но у меня нет выбора, хотят - сделаем. Просто это не добавляет безопасности никому.
Причина почему это не добавляет безопасности очень проста.
1. Если мы хотим обезопасить пользователя и его данные от злоумышленника в сети, то тут ничего с сохраненными токенами не сделать, диск телефона просто не участвует в процессе, это всё вопросы сетевых протоколов.
2. Если мы хотим обезопасить пользователя и его данные от вредоносного приложения, которое тот сам поставил на телефон, то просто не надо сохранять токен в общие, доступные всем приложениям папки. Подходящими местами являются и папка, куда redux-persist данные сохраняет и папка с shared preferences
3. Если мы хотим обезопасить пользователя и его данные от злоумышленника получившего физический доступ к телефону. То это не задача приложения. Для этого в телефоне есть средства шифрования диска и пинкоды/отпечатки пальцев и прочее.
4. Если мы хотим обезопасить данные пользователя от самого пользователя, то, как бы это сказать, это теоретически не реализуемо, если данные попадают в девайс. Единственное что можно было бы сделать - не передавать важные данные в клиент и считать всё, что от них зависит на стороне сервера, возвращая в клиент только результат.
Для п.3 в редких случаях, когда безопасность прям очень важна, сделать пин/отпечатки пальца внутри приложения - в современных iOS/Android есть средства для этого. Но это только для действительно важных данные подходит, потому что серьёзно ухудшается удобство использования приложения и возможности (в частности доступ к шифруемым данным будет отсутствовать когда приложение в бэкграунде под залоченным экраном)
по пункту 2 - храниить в доступных только приложению папках - идея неплохая, но рутованные андроиды имеют доступ ко всему. Понятно, что "поставил рут - ссзб", но у безопасников возможно тут свои соображения
Тоже столкнулся с безопасниками и все уязвимости были связаны с той ситуацией, если телефон попадёт в чужие руки
Обсуждают сегодня