Aller au contenu principal

Trasna SIMs Over The Air

Cette page enregistre le comportement des UICCs Trasna par voie aérienne. Le comportement ci-dessous provient de tests sur de vraies cartes, sur un lecteur de banc et sur des appareils dans un réseau en direct. D'autres plateformes de cartes se comportent différemment. Utilisez cette page lorsque vous intégrez un type de carte Trasna, et lorsque qu'une commande OTA atteint une carte mais que rien ne se passe.

Pour le modèle OTA général, voir Gestion OTA SIM. Pour savoir comment un type de carte est enregistré une fois et réutilisé, voir Produits de carte.

Table des matières​

Ce que la carte vous dit d'elle-même​

Une carte Trasna expose très peu sans clés. Prévoyez cela lorsque vous intégrez un nouveau lot.

La carte répond 6D00 à INITIALIZE UPDATE sur l'interface de contact. 6D00 est le même mot d'état qu'une instruction qui n'existe pas retourne. La carte n'exécute donc aucun canal sécurisé GlobalPlatform sur l'interface de contact. Le Domaine de Sécurité de l'Émetteur n'est accessible que dans un paquet sécurisé.

Les applications portent de courts identifiants d'application imprimables. Elles n'utilisent pas la forme ETSI de 16 octets. Un identifiant d'application d'outil ETSI détient son TAR à l'offset 12, de sorte qu'un outil peut trouver automatiquement l'application de Gestion de Fichiers à Distance. Un identifiant d'application Trasna ne détient pas de TAR, car le TAR est attribué lorsque l'application est installée. Enregistrez l'identifiant de l'application cible contre le produit de la carte. Ne vous attendez pas à ce que la découverte le trouve.

La carte ne détient aucun paramètre d'administration en tant qu'objets de données GlobalPlatform. Chaque objet de données testé a retourné 6A88, ce qui signifie "compris, mais non détenu". Une instruction de contrôle a retourné 6E00, ce qui signifie "pas cette commande". Les deux réponses différentes prouvent que la carte implémente GET DATA et ne détient tout simplement rien. L'adresse du serveur, le port, le nom du point d'accès et l'emplacement de la clé vivent tous à l'intérieur de l'application d'administration. Seul le fournisseur de la carte peut les modifier.

Envoyez toujours une instruction de contrôle à côté d'un balayage GET DATA. Sans contrôle, un résultat vide ne signifie rien du tout.

SMS OTA​

Le message que la carte accepte​

La carte accepte un paquet sécurisé standard. Quatre propriétés doivent toutes être correctes. Si l'une d'elles est incorrecte, la carte reste silencieuse et l'échec semble identique.

PropriétéValeurPourquoi
TP-PID7F"(U)SIM Data Download". Le téléphone transmet le message à la carte uniquement pour cette valeur. Voir 3GPP TS 23.048 §7.1.1.
TP-DCSF6Données de 8 bits, classe de message 2. La classe marque le message comme spécifique à la carte.
En-tête de données utilisateur02 70 00Un élément. L'identifiant 70 marque un paquet de commande.
Paquet sécuriséTAR de l'application cibleLe TAR sélectionne quelle application exécute le script.

Définissez TP-PID à 7F. C'est la cause la plus courante d'un message délivré qui ne produit aucune réponse. Le téléphone accepte un message avec TP-PID 00 et un schéma de codage de données de classe 2. Le téléphone classe ensuite le message comme stockage ordinaire de la carte. L'application ne s'exécute jamais, et la carte ne retourne rien. Le rapport de livraison signale toujours un succès.

La preuve de réception​

Définissez le byte de preuve de réception de l'indication de paramètre de sécurité afin que la carte réponde par un message d'origine mobile. La carte envoie ensuite la réponse sous forme de message court normal. La réponse arrive au SMSC qui détient l'enregistrement de l'abonné. Ce n'est pas toujours le SMSC que vous avez soumis.

La carte envoie la preuve de réception à l'adresse d'origine de la commande. Définissez l'adresse source de la commande à l'adresse où vous souhaitez que la réponse arrive.

Une preuve de réception est reconnaissable par un en-tête de données utilisateur de 02 71 00. L'identifiant 71 marque un paquet de réponse.

La réponse porte un code d'état. Le code d'état est le diagnostic le plus précieux que la carte vous donne. Voir Codes d'état.

Compteurs​

La carte accepte toute valeur de compteur qui est supérieure à la valeur qu'elle détient. La carte ne révèle jamais la valeur qu'elle détient. Ouvrez le compteur au moment actuel en tant que nombre de secondes. Le premier paquet est alors accepté sans recherche.

Un compteur trop bas retourne le statut 02. Une recherche gaspille les tentatives de la carte, et des échecs répétés mettent une carte sur un délai de réessai.

HTTP OTA​

La carte ouvre elle-même la session d'administration. Vous ne pouvez pas la déclencher avec un message court, car l'application d'administration ne détient pas de TAR.

Après l'échange de profil terminal, la carte démarre un minuteur d'environ deux minutes. La carte s'inscrit également pour les deux événements de protocole indépendant de support. Lorsque le minuteur expire, la carte demande au téléphone d'ouvrir un canal.

Ce que la carte demande​

La commande d'ouverture de canal nomme tout ce dont la session a besoin.

ChampContenu
Adresse de destination des donnéesUne adresse IPv4 littérale. La carte ne porte pas de nom d'hôte.
Niveau de transportTCP, avec le numéro de port.
Nom d'accès au réseauLe nom du point d'accès que la carte utilise.
Taille du tamponLe tampon de canal que la carte souhaite.

La carte porte une adresse IP, pas un nom d'hôte. L'étiquette ETSI TS 102 223 3E ne contient qu'une adresse littérale. La carte n'ouvre jamais un canal pour la résolution de nom. Vous ne pouvez donc pas déplacer la carte vers un autre serveur en changeant le DNS.

La session TLS​

La carte propose TLS 1.1 et aucune version ultérieure. La carte propose uniquement des suites de chiffrement avec clé pré-partagée. Elle n'offre aucun échange de clé éphémère.

Servez TLS 1.1 sur tout serveur auquel ces cartes se connectent. L'Amendement B de GlobalPlatform fixe TLS 1.1 comme minimum. Les bibliothèques TLS modernes laissent TLS 1.1 hors de leur liste de versions par défaut. Un serveur qui propose uniquement TLS 1.2 répond à la carte avec une alerte de version de protocole. La carte n'atteint jamais le point où elle présente son identité, donc le journal du serveur montre un échec de poignée de main et rien d'autre.

La carte présente une identité lors de l'échange de clés. L'identité est un préfixe fixe suivi de l'ICCID de la carte, en ASCII. Enregistrez le préfixe contre le produit de la carte. Votre serveur résout l'identité vers la clé de la carte.

Exécution d'un script​

La session se termine au domaine de sécurité qui détient la clé. Un script envoyé sans cible s'exécute là. Les commandes de gestion de contenu de carte fonctionnent à ce domaine de sécurité.

Pour lire ou écrire des fichiers, nommez l'application de Gestion de Fichiers à Distance dans l'en-tête de l'application ciblée. L'identifiant de l'application n'est pas découvrable, pour la raison donnée dans Ce que la carte vous dit d'elle-même.

La carte termine un script avec un mot d'état 61xx. Une réponse de récupération chaînée avec une longueur de zéro ne s'exécute donc jamais. Demandez une fois, lisez la longueur que la carte demande, puis demandez à nouveau et nommez cette longueur.

Rediriger la session d'administration​

Utilisez cette procédure pour déplacer la session d'administration d'une carte vers votre propre serveur.

La carte porte une adresse IP littérale, donc vous devez intercepter le trafic sur le chemin de données. Vous ne pouvez pas utiliser DNS.

Procédure

  1. Enregistrez l'adresse de destination et le port de la commande d'ouverture de canal de la carte.
  2. Enregistrez le nom du point d'accès de la même commande. La carte utilise ce APN, donc appliquez la règle sur ce chemin de données.
  3. Ajoutez une règle de traduction d'adresse de destination sur la passerelle de paquets ou le pare-feu derrière elle. Traduisez l'adresse et le port enregistrés vers votre serveur d'administration.
  4. Configurez votre serveur d'administration comme décrit dans Exigences du serveur.
  5. Redémarrez une carte de test. Attendez que le minuteur de la carte expire.
  6. Confirmez la poignée de main dans le journal du serveur. Confirmez que la carte présente l'identité attendue.

Planifiez la transition avant d'appliquer la règle. Une fois la règle active, la plateforme d'origine ne peut plus gérer ces cartes.

Exigences du serveur​

ExigenceValeur
Version TLSTLS 1.1 doit être proposé.
Suites de chiffrementSuites de clés pré-partagées avec AES-128 CBC et triple DES CBC.
Résolution d'identitéLe serveur associe l'identité présentée à la clé de la carte.
Application cibléeDéfinie pour la gestion des fichiers. Pas nécessaire pour la gestion du contenu de la carte.
Format de commande à distanceÉtendu, longueur définie.

Tables de référence​

Codes d'état​

La carte retourne l'un de ces codes dans chaque preuve de réception. Voir ETSI TS 102 225 pour la liste complète.

CodeSignificationCe qu'il vous dit
00Preuve de réception OKLe script a été exécuté. Les données de réponse contiennent le résultat.
01Échec de la somme de contrôleLa carte a trouvé l'ensemble de clés et l'algorithme. La valeur de la clé est incorrecte.
02Compteur trop basTous les autres paramètres sont corrects. Augmentez le compteur.
06Erreur de sécurité non identifiéeLa carte n'a pas pu résoudre l'ensemble de clés, ou n'a pas pu lire le paquet.
09TAR inconnuL'application n'est pas installée sur cette carte.
0ANiveau de sécurité insuffisantLe niveau de sécurité ou l'algorithme est en dessous du minimum de l'application.

Lecture des codes​

La différence entre 01 et 06 est le signal le plus utile que la carte donne.

Envoyez une sonde avec le chiffrement désactivé. La carte peut alors lire le paquet quel que soit la clé de chiffrement que vous avez utilisée. La carte répond 01 pour une clé de somme de contrôle incorrecte, et 00 pour la correcte. Cela sépare les deux clés.

Ne sondez pas avec le chiffrement activé tant que les paramètres sont inconnus. Une mauvaise clé de chiffrement produit du bruit. La carte répond alors 06. Un ensemble de clés incorrect et un algorithme incorrect produisent également 06. Une réponse pour trois défauts différents cache la cause.

Mots d'état à l'intérieur d'un script​

Mot d'étatSignification
9000La commande a réussi.
61xxLes données sont disponibles. Le script s'arrête ici.
6A88La commande est implémentée. L'objet n'est pas détenu.
6D00L'instruction n'est pas supportée.
6E00La classe n'est pas supportée.

Dépannage​

Un message est délivré, mais la carte ne répond pas​

Symptômes : Le rapport de livraison signale un succès. Aucune preuve de réception n'arrive. Une trace du lien vers le téléphone montre rien de la carte.

Causes possibles :

  • TP-PID n'est pas 7F. Le téléphone a classé le message comme stockage de carte.
  • Le schéma de codage des données ne marque pas la classe de message 2.
  • L'en-tête de données utilisateur ne porte pas l'identifiant 70.
  • Le byte de preuve de réception ne demande pas une réponse d'origine mobile.

Résolution :

  1. Confirmez que TP-PID est 7F dans une trace du message, pas seulement dans l'enregistrement.
  2. Confirmez que le schéma de codage des données est F6.
  3. Confirmez que l'en-tête de données utilisateur est 02 70 00.
  4. Confirmez que l'indication de paramètre de sécurité demande la réponse par message d'origine mobile.

La carte répond 06 pour chaque tentative​

Symptômes : Chaque sonde retourne le statut 06, quelle que soit la clé ou l'ensemble de clés que vous utilisez.

Causes possibles :

  • La clé de chiffrement est incorrecte, donc la carte lit du bruit.
  • La version de l'ensemble de clés n'est pas installée.
  • L'algorithme n'est pas celui que l'application attend.

Résolution :

  1. Envoyez une sonde avec le chiffrement désactivé.
  2. Lisez le nouveau code d'état. 01 signifie que l'ensemble de clés existe et que la clé est incorrecte.
  3. Si le code est toujours 06, changez la version de l'ensemble de clés et répétez.

La carte répond 0A​

Symptômes : Statut 0A pour chaque niveau de sécurité.

Cause possible : L'algorithme est en dessous du minimum de l'application. Une somme de contrôle de quatre octets provenant d'une seule clé DES est un exemple courant.

Résolution : Utilisez le triple DES, qui produit une somme de contrôle de huit octets.

La poignée de main TLS échoue avant que la carte présente une identité​

Symptômes : Le journal du serveur enregistre une alerte de version de protocole. Le serveur n'enregistre aucune identité.

Cause possible : Le serveur n'offre pas TLS 1.1.

Résolution : Ajoutez TLS 1.1 à la liste des versions du serveur. Confirmez que le serveur propose une suite de chiffrement à clé pré-partagée que TLS 1.1 prend en charge.

Une commande de fichier retourne 6A82 ou ne fait rien​

Symptômes : Un select ou une lecture échoue, ou le script s'arrête prématurément.

Causes possibles :

  • Le script cible le domaine de sécurité au lieu de l'application de gestion de fichiers.
  • Le script a atteint un mot d'état 61xx et s'est arrêté.

Résolution :

  1. Définissez l'application ciblée sur l'application de gestion de fichiers.
  2. Remplacez une réponse de récupération chaînée de longueur zéro par la longueur que la carte demande.