FR 2908195 A1 20080509 FR 0609673 A 20061106 1 PROCEDE DE PASSATION D'INSTRUCTIONS ENTRE UNE STATION HâTE ET UN DISPOSITIF ELECTRONIQUE PORTABLE, ET DISPOSITIF DE MISE EN OEUVRE L'invention concerne la passation d'instructions à une carte à microcircuit, au moyen d'un programme générique de gestion d'unité amovible de stockage de données appartenant à la catégorie des "pilotes" ou "drivers" systématiquement associé aux systèmes d'exploitation d'équipements électroniques à microprocesseur tels que des ordinateurs personnels, des appareils photo numériques, des caméscopes, des baladeurs numériques, des téléphones portables, etc.. Les unités amovibles de stockage de données à mémoires flash, pour ordinateurs personnels et appareillages électroniques présentées sous des conditionnements à très faible encombrement : carte mémoire MMC (acronyme de l'expression anglo-saxonne "Multimedia Memory Card") ou clef USB de type "Mass Storage" sont de plus en plus répandues. Prévues initialement pour se connecter à des ordinateurs personnels par des ports d'entrée-sortie de type USB (acronyme de l'expression anglo-saxonne " Universal Serial Bus") ou autre, ces unités amovibles de stockage de données nécessitaient à l'origine la présence d'un driver spécifique dans la station hôte. Comme cela nuisait à leur portabilité, des drivers génériques ont été rapidement développés, à leur intention pour les principaux systèmes d'exploitation tels que Windows , Mac , Unix , Linux , etc., fonctionnant sur les ordinateurs personnels existants. Ces drivers génériques de gestion d'unités amovibles de stockage de données tels que, par exemple, les drivers adapté au protocole de communication du type "USB mass storage device class", utilisent des protocoles spécifiques de transaction entre station hôte et unité amovible de stockage de données dotés d'un jeu limité de commandes. Ainsi, selon le protocole au standard MMC, une unité amovible de stockage de données constituées d'une carte MMC, communique avec une station hôte par un jeu limité de commandes standard destinées à gérer son espace mémoire, dont des commandes de lecture et d'écriture de données. Très rapidement, le besoin s'est fait sentir de dépasser les limitations des jeux de commandes de ces drivers génériques en utilisant les 2908195 2 données échangées au cours d'une transaction initiée par une commande standard de lecture/écriture pour passer des instructions supplémentaires aux unités amovibles de stockage depuis une station hôte. C'est ainsi qu'il a été proposé, dans la demande de brevet 5 japonais JP 2001-147850, une méthode pour autoriser ou interdire l'écriture et/ou la lecture de l'espace mémoire ou de parties de l'espace mémoire ou même seulement de fichiers d'une unité amovible de stockage de données sans transmettre de commandes spécifiques autres que celles autorisée par un driver générique de gestion d'unité amovible de stockage de données. 10 Dans cette méthode, des drapeaux d'état d'autorisation/interdiction de lecture/écriture sont associés aux adresses physiques stockées dans la table d'allocation de fichiers FAT (acronyme de l'expression anglo-saxonne "file Allocation Table). Un mot de passe précède les données placées aux adresses physiques faisant l'objet d'une restriction de lecture/écriture. Pour 15 être considérée, chaque commande de lecture/écriture à des adresses physiques faisant l'objet de restriction de lecture/écriture doit être suivie par un mot de passe seul pour une commande de lecture ou placé en entête des données à inscrire pour une commande d'écriture. Le mot de passe associé à une commande de lecture/écriture portant sur un espace mémoire ou un 20 fichier frappé d'une restriction de lecture/écriture doit correspondre au mot de passe enregistré pour que la commande soit exécutée. Il a également été proposé, dans la demande européenne de brevet EP 1.571.557 de passer des commandes et/ou des données à un dispositif amovible de stockage de données par l'intermédiaire d'une 25 commande d'écriture standard provenant du driver générique d'un système d'exploitation d'ordinateur personnel, en introduisant dans les données à écrire un drapeau d'identification de commande détecté et interprété par le microcontrôleur de gestion du dispositif amovible de stockage comme marquant la présence d'une commande dans les données reçues. Chaque 30 paquet de données envoyé pour écriture au dispositif amovible de stockage commence par un champ entête qui contient ou non le drapeau d'identification de commande et qui est analysé par le microcontrôleur de gestion du dispositif amovible de stockage préalablement à la prise en compte des données. 2908195 3 La passation d'une signalisation de présence de commande ou d'un mot de passe par l'intermédiaire des données à inscrire dans le dispositif amovible de stockage de données présente l'inconvénient de rendre possible une reproduction fortuite d'une signalisation de commande 5 ou d'un mot de passe par les données ordinaires à inscrire pouvant conduire le microcontrôleur du dispositif amovible à une interprétation erronée de données d'écriture en tant que commandes ou un mot de passe. La présente invention a pour but de remédier à l'inconvénient 1 o précité. Elle a pour objet un procédé de passation d'instructions entre une station hôte à microprocesseur et un dispositif électronique portable reliés par une transmission de données, au rnoyen d'une transaction initiée par une 15 commande de lecture/écriture de paquets de données, engendrée au sein de la station hôte, par un programme de gestion d'unité amovible de stockage de données et transmise au dispositif électronique portable sous la forme d'un code binaire comportant un index définissant le type de commande de lecture/écriture concernée et un argurnent contenant un ou des paramètres 20 précisant la manière d'appliquer au dispositif électronique portable, le type de commande de lecture/écriture défini dans l'index. Ce procédé est remarquable en ce qu'une instruction est signalée au dispositif électronique portable au moyen d'un paramètre de présence d'instruction, placé dans l'argument d'une commande de lecture/écriture. 25 Ainsi, il est possible de commander un dispositif électronique portable pour réaliser des traitements autres que l'écriture et la lecture de données tout en se limitant aux commandes d'écriture et de lecture générées par des programmes gestionnaires existants associés aux systèmes d'exploitation des stations hôte. 30 Avantageusement, une instruction est passée au dispositif électronique portable par l'intermédiaire d'une commande d'écriture de paquets de données dont l'argument renferme un paramètre de présence d'instruction définissant l'instruction. Avantageusement, une instruction est passée au dispositif 35 électronique portable par l'intermédiaire d'une commande d'écriture de 2908195 4 paquets de données dont l'argument renferme un paramètre de présence d'instruction signalant une instruction dans les paquets de données à écrire. Avantageusement, une instruction est passée au dispositif électronique portable par l'intermédiaire d'une commande d'écriture de 5 paquets de données dont l'argument renferme un paramètre de présence d'instruction signalant un script de commande renfermant une suite d'instructions, dans les paquets de données à écrire. Avantageusement, le paramètre de présence d'instruction pointe, dans le dispositif électronique portable, une adresse de fichier préexistant. 10 Avantageusement, les données résultant de l'exécution d'une instruction par le dispositif électronique portable sont placées dans des emplacements mémoire du dispositif électronique portable consultables au moyen d'une instruction passée au dispositif électronique portable par l'intermédiaire de l'argument d'une commande de lecture de paquets de 15 données. Avantageusement, les données résultant de l'exécution d'une instruction par le dispositif électronique portable sont placées dans des emplacements mémoire volatile du dispositif électronique portable consultables au moyen d'une instruction passée par la station hôte au 20 dispositif électronique portable par l'intermédiaire de l'argument d'une commande de lecture de paquets de données. Avantageusement, les instructions sont de type APDU (acronyme de l'expression anglo-saxonne :"Application Protocol Data Unit), défini par la norme ISO 7816. 25 Avantageusement, les instructions sont des requêtes transmises au dispositif électronique portable par l'intermédiaire de commandes d'écriture de paquets de données et des réponses du dispositif électronique portable consultables par l'intermédiaire de commandes de lecture de paquets, requêtes et réponse étant conformes à un protocole internet. 30 Avantageusement, les requêtes transmises au dispositif électronique portable par l'intermédiaire de commandes d'écriture de paquets de données et les réponses du dispositif électronique portable consultables par l'intermédiaire de commandes de lecture de paquets sont conformes au protocole http. 2908195 5 Elle a également pour objet un dispositif électronique portable pour la mise en oeuvre du procédé précédent équipé d'un port entrée-sortie au standard USB. Avantageusement, le dispositif électronique portable est une carte 5 à microcircuit. Avantageusement, le dispositif électronique portable est une clef électronique. Avantageusement, le programme de gestion d'unité amovible de stockage de données est conforme à la spécification MMC. 10 D'autres caractéristiques et avantages de l'invention ressortiront de la description ci-après d'un mode de réalisation donné à titre d'exemple. Cette description sera faite en regard du dessin dans lequel : - une figure 1 est un schéma fonctionnel d'un dispositif 15 électronique portable amovible raccordable à une station hôte à microprocesseur, - une figure 2 est un diagramme illustrant la composition d'un mot binaire définissant une commande d'écriture conforme au protocole de transaction MMC, 20 - une figure 3 est un diagramme illustrant une transaction de lecture de données conforme au protocole de transaction MMC, et - une figure 4 est un diagramme illustrant un mode possible de fonctionnement pour le microcontrôleur d'un équipement électronique portable mettant en oeuvre le procédé selon l'invention. 25 La figure 1 montre le schéma fonctionnel d'un dispositif électronique portable amovible tel qu'une carte à microcircuit 1 conçue à la fois pour le stockage de données et pour le contrôle de l'exécution d'une transaction bancaire ou autre, par un système informatique pourvu d'un 30 terminal de communication adapté dit "lecteur de carte à microcircuit" qui constitue une station hôte. Cette carte à microcircuit 1 comporte une mémoire flash 10, un microcontrôleur de gestion 11 pourvu d'une mémoire de travail volatile RAM 12 et d'une mémoire de programme non volatile ROM 13 et un port d'entrée-sortie 14 raccordé par un bus interne au microcontrôleur de gestion 11. 2908195 6 Le port d'entrée-sortie 14 de la carte à microcircuit 1 peut être mis en communication avec un port d'entréesortie d'une station hôte. C'est ici un port série compatible avec le standard SPI (acronyme de l'expression anglo-saxonne :"Serial Peripheral Interface Bus") supportant le protocole de 5 transaction MMC, bien adapté aux cartes mémoire flash. Mais il pourrait être d'un tout autre type de port de communication, comme un port SDC (acronyme de l'expression anglo-saxonne :"Secure Digital memory Card"), un port USB, un port série RS232, un port GPIO (acronyme de l'expression anglo-saxonne :"General Purpose Input/Output") au format de transmission 10 12C (acronyme de l'expression anglo-saxonne :"Inter Integrated Circuit Bus"), ou SMBus (acronyme de l'expression anglo-saxonne :"System Management Bus"), un port PCMCIA, etc., avec un protocole de transaction offrant un jeu limité de commandes dont des commandes standard de lecture/écriture de données, codées par un mot binaire comportant au moins un champ index 15 précisant un type de commande lecture/écriture et un champ argument contenant un ou des paramètres précisant la manière d'appliquer le type de commande de lecture/écriture défini dans l'index. Le protocole de transaction MMC est plus particulièrement orienté vers la gestion d'une unité de stockage amovible de données ayant un 20 espace mémoire qui apparaît à la station hôte comme un volume organisé en secteurs ou blocs de même capacité et qui est géré par le driver générique d'une station hôte au moyen d'adresses logiques de blocs auxquelles le microcontrôleur de gestion 11 de l'unité amovible fait correspondre des adresses physiques de blocs. 25 La figure 2 illustre la composition de la trame 2 d'un mot binaire codant une commande du protocole de transaction MMC. Celle-ci se compose de 6 octets renfermant successivement : - un bit de début 20 toujours à la valeur 0, -un bit de transfert 21 toujours à la valeur 1, 30 - un champ index 22 occupant 6 bits et identifiant le type de la commande, - un champ argument 23 de 4 octets contenant un paramètre de commande tel qu'une adresse logique de bloc de début de lecture/écriture ou le nombre de blocs affectés par les opérations ultérieures de lecture/écriture, 35 - un code correcteur d'erreur 24 de 7 bits et, 2908195 7 - un bit de fin 25 toujours à la valeur 1. Une commande est suivie d'un temps d'inactivité correspondant à un délai de réponse accordé à la carte à microcircuit 1. Celle-ci 1 accuse réception d'un ordre par une réponse ou acquittement de 1 à 2 octets 5 indiquant des conditions d'erreur. Puis les données à échanger lorsqu'il y en a, sont émises sous forme de paquets de données. La figure 3 illustre le déroulement d'une transaction de lecture d'un bloc. Le programme générique de gestion d'unité amovible de la station hôte envoie à la carte à microcircuit 1 sur la ligne D1, une commande 5 de lecture io d'un ou plusieurs blocs identifiée par son index, avec l'adresse logique du premier bloc à lire dans son argument. La carte à microcircuit 1 répond sur la ligne DO par un acquittement 6 puis par une mise à disposition du paquet 7 des données lues dans le bloc dont l'adresse logique correspond à celle figurant dans l'argument de la commande de lecture. Pour une transaction de 15 lecture de plusieurs blocs, la carte à microcircuit répond par un acquittement suivi par la suite des paquets de données lues dans les différents blocs. Une commande d'écriture se déroule de la même manière, excepté le fait que les paquets de données envoyés par la station hôte se retrouvent sur la ligne Dl 20 Pour augmenter le nombre de commandes disponibles, qui est limité dans le cas du protocole de transaction MMC à la capacité d'un quart d'octet, c'est-à-dire 64, une partie de la capacité d'adressage du champ argument 21 des commandes de lecture ou écriture, considérées au sens large, c'est-à-dire incluant les commandes indirectement liées à l'écriture ou 25 à la lecture comme par exemple, la commande CMD16 de dénombrement des blocks à lire ou écrire (connue sous l'abréviation anglo-saxonne :"SET_BLOCKLEN"), est réservée à un paramètre de présence d'instruction. Celui-ci est alors interprété par la carte à microcircuit 1 comme un ordre d'inhibition de l'exécution de la commande de lecture ou écriture 30 reçue, de recherche d'instruction dans l'argument de la commande et/ou dans le ou les paquets de données à écrire suivant une commande d'écriture, et d'exécution de l'instruction trouvée. Le paramètre de présence d'instruction peut identifier une instruction à lui seul ou signifier la présence d'une instruction dans le ou les paquets de données d'une commande 35 d'écriture. 2908195 8 Le paramètre de présence d'instruction peut pointer, dans une commande d'écriture, une adresse de fichier préexistant car sa détection par le microcontrôleur 11 de la carte à microcircuit 1 inhibe l'exécution de la commande d'écriture pour la remplacer par une recherche d'instruction suivie 5 par l'exécution de l'instruction trouvée. Comme une réponse à une commande d'écriture selon le protocole de transaction MMC est toujours envoyée avant des données d'écriture, les données résultant de l'exécution d'une instruction par la carte à microcircuit 1 sont récupérées par la station hôte au moyen d'une commande io de lecture. La figure 4 est un diagramme de fonctionnement illustrant une façon d'opérer pour le microcontrôleur 11 de la carte à microcircuit 1. Au démarrage, à la mise sous tension 30 de la carte à microcircuit 1 par son embrochage sur un connecteur d'une station hôte en activité, le 15 microcontrôleur 11 de la carte à microcircuit 1 s'initialise et se met, en 31, en attente d'une commande conforme au protocole MMC en provenance de la station hôte. Dès que la carte à microcircuit reçoit une commande conforme au protocole MMC en provenance de la station hôte, son microcontrôleur 11 la 20 détecte et analyse son argument en 32 pour y rechercher un paramètre de présence d'instruction. Lorsque le microcontrôleur 11 ne repère pas de paramètre de présence d'instruction dans la commande, il examine en 33, si l'argument de la commande est compatible avec le type de commande annoncé dans le 25 champ index. S'il y a compatibilité, il exécute en 34 la commande qui intéresse la gestion de la mémoire flash 10 et se met en attente d'une nouvelle commande. S'il n'y a pas compatibilité, il émet en 35 une signalisation d'erreur par le message d'acquittement et se met en attente d'une nouvelle commande. 30 Lorsque le microcontrôleur repère un paramètre de présence d'instruction dans l'argument de la commande, il l'interprète pour localiser l'instruction, soit dans l'argument de la commande où figure le paramètre, soit dans des données à écrire et analyse en 36 l'instruction pour reconnaître si elle correspond à une requête d'exécution d'un traitement. 2908195 9 Si l'instruction correspond à une requête d'exécution d'un traitement, il exécute en 37 le traitement demandé, place, si nécessaire, le résultat obtenu dans sa mémoire volatile 12 pour permettre sa consultation par une instruction ultérieure de la station hôte et se met en attente d'une 5 nouvelle commande. Si l'instruction ne correspond pas à une requête d'exécution d'un traitement, il recherche en 38, si elle correspond à une requête de compte-rendu d'exécution d'une instruction antérieure. Si tel est le cas, il envoie en 39, à la station hôte, son compte-rendu qu'il a éventuellement placé ~o provisoirement dans sa mémoire RAM 12 et se met en attente d'une nouvelle commande. L'envoi se fait préférablement par le ou les paquets de données attendus en réponse à une commande de lecture transmettant par son argument l'instruction de requête de compte-rendu. Enfin, Si l'instruction ne correspond ni à une requête d'exécution 15 d'un traitement, ni à une requête de compte-rendu, le microcontrôleur envoie en 40, une signalisation d'erreur par le message d'acquittement et se met en attente d'une nouvelle commande. Une instruction de requête de compte-rendu peut être passée en argument d'une commande de lecture. Dans ce cas le compte-rendu est 20 renvoyé par la carte à microcircuit dans la suite des paquets des données lues. Lorsque le compte-rendu attendu est très court, l'instruction de requête de compte-rendu peut aussi être passée par un paramètre de présence d'instruction placé dans l'argument d'une commande d'écriture, et le compte rendu retourné par le message d'acquittement suivant la commande. 25 Il est possible de soumettre à condition, l'exécution d'une instruction par la carte à microcircuit, à l'aide d'une valeur drapeau associée à l'instruction, signalant la satisfaction ou non de la condition. Par exemple, lors du déroulement, sous le contrôle de la carte à microcircuit 1, d'une transaction bancaire ou autre exécutée par un système informatique 30 raccordé à la station hôte, faisant intervenir des échanges de message entre la carte à microcircuit 1 et le système informatique accessible de la station hôte, l'exécution par la carte à microcircuit 1 d'une requête de la station hôte lui parvenant par une instruction peut être conditionnée à la réception préalable par la carte à microcircuit 1, d'une instruction de consultation de 2908195 10 résultats d'exécution placés dans la mémoire volatile 12 de la carte à microcircuit 1. Lorsqu'une instruction de la station hôte à destination de la carte à microcircuit 1 est accompagnée de paramètres, elle est préférablement 5 transmise avec ses paramètres, par les paquets de données d'une commande d'écriture dont l'argument renferme un paramètre de présence d'instruction. Elle peut être également transmise par l'argument de la commande d'écriture, ses paramètres lorsqu'ils existent, étant transmis dans les paquets de données à écrire. 1 o Une instruction peut également être mémorisée dans la carte à microcircuit, le paramètre de présence d'instruction sert alors à la localiser au sein de la carte à microcircuit. Une instruction peut être conforme au protocole de transaction APDU (acronyme de l'expression anglo-saxonne "Application Protocol Data 15 Unit") défini dans la norme ISO 7816, de même que la réponse résultant de l'exécution de l'instruction par la carte à microcircuit 1. Lorsqu'il s'agit d'une requête de mise à disposition de consigne, elle est passée par la station hôte à la carte à microcircuit 1, de préférence, par l'intermédiaire d'une commande de lecture de paquets de données dont l'argument pointe l'adresse d'un 20 emplacement mémoire réservé à la communication de consigne de la part du dispositif électronique portable. Plus généralement, les requêtes de la station hôte transmises à la carte à microcircuit 1 préférablement, par des commandes d'écriture de paquets de données et les réponses de la carte à microcircuit 1 consultables 25 par la station hôte par l'intermédiaire de commandes de lecture de paquets de données peuvent être conformes au protocole Internet http 1.0 (acronyme de l'expression anglo-saxonne " HyperText Transfer Protocol") ou au protocole internet FTP (acronyme de l'expression anglo-saxonne :" File Transfer Protocol"). 30 Une instruction peut être un script de commande, par exemple conforme à la spécification Java , placé dans le ou les paquets de données suivant une commande d'écriture dont l'argument renferme un paramètre de présence d'instruction prévenant de la présence d'instructions dans le ou les paquets de données à écrire. 2908195 11 De nombreuses variantes sont envisageables. La carte à microcircuit peut être montée dans une clef USB gérée par une station hôte selon un protocole de transaction SCSI (acronyme de l'expression anglo-saxonne :"Small Computer System Interface") tel que le SBC-2 acronyme de 5 l'expression anglo-saxonne :"SCSI Blocks Command") qui présente un jeu limité de commandes dont des commandes de lecture/écriture des blocs d'un espace mémoire de stockage de données, codées par un mot binaire comportant un champ index identifiant le type de commande lecture/écriture, et un champ argument contenant des paramètres comme une adresse io logique de bloc de début de lecture ou d'écriture. Ainsi, une instruction d'exécution de traitement peut être passée à une carte à microcircuit au moyen d'une commande d'écriture et de vérification simultanées ("write and verify" en anglo-saxon) du protocole SCSI, le drapeau "Expected initial logical block reference tag" figurant dans 15 l'argument de cette commande pouvant être utilisé en complément avec le paramètre de présence d'instruction utilisant l'emplacement de l'adresse logique de bloc ("logical block address" en anglo-saxon) pour signifier la présence d'instructions dans le ou les paquets de données à écrire. De même, une instruction de requête de compte-rendu peut être passée au 20 moyen d'une commande de lecture ("read" en anglo-saxon) comportant le paramètre de présence d'instruction à l'emplacement de l'argument réservé à l'adresse logique de bloc. REVENDICATIONS 1. Procédé de passation d'instructions entre une station hôte à microprocesseur et un dispositif électronique portable (1) reliés par une transmission de données, au moyen d'une transaction initiée par une commande de lecture/écriture (2) de paquets de données, engendrée au sein de la station hôte, par un programme de gestion d'unité amovible de stockage de données et transmise au dispositif électronique portable (1) sous la forme d'un code binaire comportant un index (20) définissant un type de commande de lecture/écriture et un argument (21) contenant un ou des 1 o paramètres précisant la manière d'appliquer au dispositif électronique portable (1), le type de commande de lecture/écriture défini dans l'index (20), caractérisé en ce qu'une instruction est signalée au dispositif électronique portable (1) au moyen d'un paramètre de présence d'instruction, placé dans l'argument (21) d'une commande de lecture/écriture (2). 15 2. Procédé selon la revendication 1, caractérisé en ce qu'une instruction est passée au dispositif électronique portable (1) par l'intermédiaire d'une commande (2) d'écriture de paquets de données dont l'argument (21) renferme un paramètre de présence d'instruction définissant 20 l'instruction. 3. Procédé selon la revendication 1, caractérisé en ce qu'une instruction est passée au dispositif électronique portable (1) par l'intermédiaire d'une commande (2) d'écriture de paquets de données dont 25 l'argument (21) renferme un paramètre de présence d'instruction signalant une instruction dans des paquets de données à écrire. 4. Procédé selon la revendication 3, caractérisé en ce que les paquets à écrire comportent un script de commande renfermant une suite 30 d'instructions. 5. Procédé selon la revendication 1, caractérisé en ce que le paramètre de présence d'instruction pointe une adresse de fichier préexistant. 2908195 13 6. Procédé selon la revendication 1, caractérisé en ce que les données résultant de l'exécution d'une instruction par le dispositif électronique portable (1) sont placées dans des emplacements mémoire du 5 dispositif électronique portable (1) consultables au moyen d'une instruction passée au dispositif électronique portable (1) par l'intermédiaire de l'argument (21) d'une commande de lecture de paquets de données. 7. Procédé selon la revendication 1, caractérisé en ce que les données résultant de l'exécution d'une instruction par le dispositif électronique portable (1) sont placées dans des emplacements mémoire volatile du dispositif électronique portable (1) consultables au moyen d'une instruction passée au dispositif électronique portable (1) par l'intermédiaire de l'argument (21) d'une commande de lecture de paquets de données. 8. Procédé selon la revendication 1, caractérisé en ce que les instructions sont du type APDU défini clans la norme ISO 7816. 9. Procédé selon la revendication 1, caractérisé en ce que les requêtes transmises au dispositif électronique portable (1) par l'intermédiaire de commandes d'écriture de paquets de données et les réponses du dispositif électronique portable (1) consultables par l'intermédiaire de commandes de lecture de paquets sont conformes à un protocole internet. 10. Procédé selon la revendication 9, caractérisé en ce que requêtes et réponses sont conformes au protocole http. 11. Dispositif électronique portable mettant en oeuvre le procédé selon la revendication 1, caractérisé en ce qu'il est équipé d'un port entrée-30 sortie au standard USB. 12. Dispositif électronique portable mettant en oeuvre le procédé selon la revendication 1, caractérisé en ce qu'il est constitué d'une carte à microcircuit. 35 2908195 14 13. Dispositif électronique portable mettant en oeuvre le procédé selon la revendication 1, caractérisé en ce qu'il est constitué d'une clef électronique. 5 14. Procédé selon la revendication 1, caractérisé en ce que le programme de gestion d'unité amovible de stockage de données est conforme à la spécification MMC.