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

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

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

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

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

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

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

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

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

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

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

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

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

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

Intereting Posts
Как отключить свертывание вида поиска на задней клавише нажата андроид Преобразование страницы в индексные скрипты Как ссылаться или «находить» функцию предпочтения? Могу ли я проверить на своем сервере, что пользователь заплатил за приложение Android через Google Play Store? Требуется помощь Android OpenGL Идентификатор ресурса не найден для атрибута 'showAsAction' в пакете 'android' Передача значений через связку и получение ее значения для другой активности Конечные точки конечных пользователей Google App Engine userId равны нулю При запуске на Nougat, почему заголовок отключается при использовании CollapsingToolbarLayout? Необычный компонент HockeyApp для Android (магазин компонентов Xamarin) Как сделать нулевой секретный ключ в java? Добавление анимации в представление списка в Android Android IntentCompat makeRestartActivity ничего не делает в 2.3 Кодировка UTF-8 с помощью FileBody в MultipartEntity Сохранение данных и изменение ориентации