Cómo almacenar datos en Secure Element en android
Quiero crear una cartera google como aplicación en android. Se dice que "todas las credenciales de pago se almacenan en un chip llamado Elemento seguro contenido en el teléfono". ¿Cómo puedo acceder a este elemento seguro y almacenar mis credenciales de tarjeta en él. Mi objetivo es utilizar mi teléfono (Nexus) en el mostrador de salida en lugar de mi tarjeta.
Así que lo que quiero es almacenar algunos datos en el chip Secure Element y acceder a los datos cuando toco un lector NFC.
- Android NFC que pasa un solo parámetro al iniciar la aplicación
- acceso de bajo nivel a nfc en un smartphone usando libnfc
- Edición de la funcionalidad de la emulación de la tarjeta de host en Android
- ¿Cómo bloqueo permanentemente páginas de datos específicas en una etiqueta MIFARE Ultralight C?
- Elemento seguro de control de acceso en ICS 4.0.4
Gracias por adelantado.
- Hacer que la emulación de la tarjeta de host funcione para el pago
- Activar / desactivar NFC con comando ADB
- HF-RFID vs. NFC - ¿Puede un teléfono móvil con capacidad NFC leer etiquetas RFID de alta frecuencia?
- Documentación para com.android.nfc_extras?
- Cómo escribir etiquetas RFID para Nexus S NFC para leer?
- Lectura RFID con teléfonos Android
- Obtener Nexus S Android NFC en modo de emulación de tarjeta
- Escribir etiquetas NFC usando un Nexus S
Si consulta las preguntas frecuentes de Google Wallet , puede encontrar lo siguiente:
-
Sus credenciales de pago se almacenan en un chip denominado Elemento seguro incluido en su teléfono. El Elemento seguro está aislado del sistema operativo principal y del hardware del teléfono. Sólo los programas autorizados, como Google Wallet, pueden acceder al Elemento seguro para iniciar una transacción.
-
Incluso Google Wallet tiene un acceso muy limitado al Elemento seguro y no puede leer ni escribir datos de su memoria. Hay múltiples niveles de protección para los datos almacenados en el elemento seguro y está protegido en el nivel de hardware de espionaje o manipulación.
Así que básicamente … usted no tiene acceso a este SecureElement
. Tal vez hablar con los fabricantes de teléfonos para darle acceso / formas de acceder a SecureElement
le permitirá hacer esto … pero creo que esto estaría fuera de su alcance.
EDIT: Una solución alternativa puede ser almacenar sus datos en una SQLite
datos SQLite
, y también utilizar el encryption
en esa base de datos, como AES
… o lo que prefiera. Usted todavía tendrá que prestar atención en cómo mantener / distriubte las encryption/decryption keys
.
Si le preocupa el caso cuando alguien pierde su teléfono y el "fundador" intenta robar los datos, puede implementar también una protección por contraseña en su Application
y si la contraseña se escribe mal 3 veces consecutivas, suelte la SQLite
datos SQLite
donde Los datos se almacenan.
No se puede almacenar nada en el chip de cifrado de seguridad, ya que es por hardware de diseño separado del sistema operativo.
- Mostrar para establecer la posición de popup?
- Android: BitmapFactory.decodeResource devolviendo null