Как сохранить данные в Secure Element на Android

Я хочу создать приложение google wallet в Android. Говорят, что «все учетные данные для оплаты хранятся в чипе, который называется Secure Element и находится внутри телефона». Как я могу получить доступ к этому защищенному элементу и сохранить в нем учетные данные моей карты. Моя цель — использовать свой телефон (Nexus) на кассе вместо моей карты.

Итак, что я хочу, так это сохранить некоторые данные на чипе Secure Element и получить доступ к данным, когда я нажимаю на считыватель NFC.

Заранее спасибо.


person Rojil Thomas    schedule 19.06.2012    source источник
comment
В этих двух статьях блога объясняется, как можно использовать элемент Secure. randomoracle.wordpress .com/2013/01/09/ и nelenkov.blogspot.ca/2012/08/ Также ознакомьтесь с этим сообщением StackOverFlow: stackoverflow.com/questions/10494726/   -  person Didier A.    schedule 02.05.2013


Ответы (2)


Если вы посмотрите Часто задаваемые вопросы о Google Кошельке, вы найдете следующее :

  • #P2#
  • #P3#

В общем... у вас нет доступа к этому SecureElement. Возможно, разговор с производителями телефонов о предоставлении вам доступа/способов доступа к SecureElement позволит вам сделать это... но я думаю, что это не входит в ваши обязанности.

EDIT: Альтернативным решением может быть хранение ваших данных в базе данных SQLite, а также использование encryption в этой базе данных, например AES... или что вы предпочитаете. Вам все равно придется обратить внимание на то, как вы храните/распространяете encryption/decryption keys.

Если вас беспокоит случай, когда кто-то потеряет свой телефон, а «основатель» попытается украсть данные, вы можете реализовать также защиту паролем на своем Application и, если пароль введен неправильно 3 раза подряд, скинуть базу данных SQLite, где данные сохраняются.

person Ovidiu Latcu    schedule 19.06.2012
comment
Спасибо за быстрый повтор. Можете ли вы предложить какой-либо альтернативный метод для достижения того, что я хочу, например, сохранить учетные данные карты в безопасном месте? - person Rojil Thomas; 19.06.2012
comment
Если вы храните учетные данные карты в базе данных sqlite, рано или поздно она будет взломана. Конечно, сначала телефон нужно украсть и рутировать. Но опытным хакерам не составит труда вычислить ключ шифрования, если он хранится в самом приложении. Вместо этого рассмотрите возможность хранения учетных данных на сервере. - person azgolfer; 19.06.2012

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

person user2957647    schedule 05.11.2013
comment
Что ж, безопасные элементы обычно подключаются к процессору приложения (тот, который работает под управлением операционной системы Android). Это либо соединение через модем основной полосы частот (для элементов защиты на основе UICC), либо соединение через ввод-вывод файловой системы для элементов защиты на основе microSD, либо соединение через контроллер NFC для встроенных элементов защиты. Кстати. начиная с Android 4+, большинство устройств Android NFC даже предоставляют API (частично недокументированные) для доступа к защищенным элементам. Однако для хранения приложений и данных на защищенном элементе вам потребуются ключи, которые его защищают. - person Michael Roland; 06.11.2013