Question

Je développe une application NFC. Mon application traitera des informations secrètes et je veux stocker ces données sur la carte SIM. Est-il possible, et s'il est possible, comment puis-je faire cela? la version Android de mon téléphone est Android 2.3.5.

Était-ce utile?

La solution

tl;. Dr - il est actuellement possible sans effort énorme

Vous voulez utiliser la carte SIM comme élément sécurisé dans la carte en mode émulation - c'est l'approche privilégiée par GSM Association . Pour accéder à l'élément sécurisé (sur la carte SIM ou intégré Chip), vous devez utiliser un service de confiance Manager (TSM). Dans votre cas, la TSM enverrait des données sur votre carte SIM à l'aide de messages SMS binaires. Le problème est qu'il est très tôt pour NFC sur les téléphones mobiles. Tag lecture / écriture est assez simple, mais l'accès à l'élément sécurisé est pas. Il y a très des essais limités de NFC en utilisant SmartPhones SIM comme élément sécurisé pour l'émulation de carte, et les essais sont tous actuellement limités à un opérateur de réseau mobile (MNO) spécifique dans certains pays.

Si vous voulez faire cela, vous devez lire les spécifications , écrire un TSM puis obtenir les contrats nécessaires avec les MNO être autorisés à utiliser leurs cartes SIM.

Bonne chance!

Autres conseils

Comme Kevin dit, il est impossible sans un effort beaucoup.

Une façon de le faire, pourrait être utiliser un TSM. Mais il est inefficace pour ce que vous essayez d'atteindre et il exige d'être « en ligne ». Vous envoyez des informations au serveur TSM et il envoie des données sur votre carte SIM.

== Phone == |                    | == TSM ==
Application | ---- Network ----> | Server
SIM card    | <----------------- |

Et TSM ne suffit pas. Vous aurez également besoin des informations d'identification de la carte SIM. Sans ces informations d'identification, vous ne serez pas en mesure de mettre à jour les données de la carte SIM du TSM. Ces pouvoirs sont contrôlés par votre opérateur de téléphonie mobile. Enfin, une TSM n'est pas obligatoire du tout.

Avec ce schéma ci-dessus, nous voyons une façon de faire plus évidente en établissant un lien: Application -> Simcard. Cette fois-ci fonctionne même si vous avez pas de réseau. Mais Android est conçu d'une manière, il n'y a pas de contact direct entre les applications et la carte SIM. Il y a une solution, si vous êtes intéressé, il est bien expliquer dans cet article .

Voici quelques exigences:

  • Vous pouvez avoir besoin de patcher la couche RIL
  • Vous devez patcher le code source d'Android
  • Vous devez avoir les informations d'identification de votre carte SIM (UICC) (Vous pouvez acheter développeur carte SIM, mais il ne sera pas en mesure de se connecter au réseau parce qu'il ne contient pas vos informations d'identification de l'opérateur)
  • Vous devez savoir comment développer des logiciels pour carte SIM (généralement Javacard)
  • ...

La meilleure façon de stocker des données secrètes, de manière sécurisée, sans trop de maux de tête sera d'utiliser une carte spéciale SD comme un élément sécurisé. Pas besoin de quoi que ce soit patch, pas besoin d'avoir un accès root, pas besoin d'avoir des informations d'identification de la carte SIM. Vous pouvez toujours avoir à développer votre propre pour héberger vos données « logiciel » carte SD là.

La sécurité est sur le niveau de menace par rapport au niveau de la protection. Il est probable que l'élément sécurisé est un peu trop de travail pour sécuriser vos données. Selon les données que vous essayez d'obtenir, vous pouvez utiliser le mécanisme Android intégré qui sera assez sécurisé.

J'ai une exigence similaire. Mon approche est de ne pas utiliser la carte SIM de l'opérateur GSM. Mais je travaille à trouver un moyen de rendre l'opérateur GSM utiliser ma carte SIM. Ensuite, je vais avoir mes propres mécanismes d'accès pour stocker mes éléments sécurisés dans la carte.

Yasin Yilmaz

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top