Intereting Posts
Безопасность потоков в библиотеках Android V.getTag () возвращает null вместо ViewHolder Android: setActionView (null) не устраняет проблемы с представлением и шириной в MenuItem с помощью ActionView Как включить масштабирование веб-браузера за линейной компоновкой в ​​Android? Переплетная служба BroadcastReceiver OpenCV Android imwrite дает мне синее изображение Kotlin apply () расширение lint сообщение в Android Studio 3.0-alpha8 Как получить текст в определенной строке в TextView Android-эмулятор не использует клавиатуру – инструменты SDK rev 20 Обои ImageView внутри пользовательского представления не отображаются на некоторых устройствах Выбор базы данных для Android и IOS? Ошибка сборки Travis Ci, вызванная лицензионными соглашениями Android SDK Цветовая гамма и артефакты с градиентами, несмотря на использование RGBA_8888 во всем мире Отключить аппаратное ускорение, обратную совместимость Центрирование представлений CheckBox

Безопасно ли хранить информацию о карте креатинов на Android?

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

После успешной оплаты я генерирую случайный ключ, упаковываю его как хранилище ключей, и, наконец, сохраняю файл хранилища ключей во внутреннем хранилище, этот файл хранилища ключей заблокирован паролем пользователя. С другой стороны, информация о кредитной карте будет зашифрована этим ключом и превратится в закодированную строку Base64, наконец, напишет в файл во внутреннем хранилище.

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

Выше мой подход к защите информации кредитной карты, хранящейся на устройстве, безопасно ли это?

НЕ сохраняйте данные кредитной карты пользователя на устройстве! Просто нет способа сделать это безопасным. Усовершенствованные телефоны могут стать еще более простым способом доступа приложений к конфиденциальным данным. Устройство может быть потеряно или украдено. Вам нужно будет внедрить безопасный вход пользователя на ваш сервер и хранить там данные CC.

Попробуйте использовать этот http://developer.authorize.net/downloads/

Кажется, мой подход в моем посте – это, наконец, мой ответ.

Потому что andriod обеспечивает ограничение доступа на внутреннем хранилище ( см. Эту ссылку ), даже устройство потеряется или украдено, хакер все еще не может получить доступ к хранилищу ключей и разбить его методом грубой силы.

Но есть еще одна проблема.

В корневом телефоне «плохая программа» позволяет слушать мягкую клавиатуру, есть и другие исследования, которые я должен делать.

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

PCI требует ежеквартального ключевого изменения для ваших зашифрованных элементов – так как бы вы это сделали? Заставлять пользователя менять свой пароль каждые 3 месяца? Что делать, если они никогда не вступают в систему, чтобы изменить его?

Ваш метод чрезвычайно уязвим для того, чтобы злоумышленник стал «клиентом», чтобы попытаться сломать вашу систему – он сможет сделать это прямо на своем собственном устройстве, если его атакующий не будет обнаружен или не будет сопротивляться. Затем он может использовать то, что он узнает, чтобы атаковать счета ваших других клиентов. Пожалуйста, сообщите нам, на каком веб-сайте вы работаете – я хочу оставаться далеко, далеко от него, когда вы закончите, если будете следовать этому методу дизайна.