FR 2896323 A1 20070720 FR 0650137 A 20060116 1 L'invention concerne un procédé de génération d'un profil pour la personnalisation d'une entité électronique et un système de génération d'un tel profil. L'utilisation d'une entité électronique dans un cadre applicatif déterminé implique la mémorisation dans l'entité électronique de données et/ou de programmes susceptibles d'être utilisés dans ce cadre. C'est pourquoi on a fréquemment recours, en particulier pour les entités électroniques portables (telles que par exemple les cartes à microcircuit), à une étape de personnalisation à laquelle on inscrit dans une mémoire de l'entité électronique les données qui lui sont spécifiques, telles que par exemple l'identité du porteur de la carte. Ces données de personnalisation sont généralement mémorisées dans une mémoire non-volatile ré-inscriptible (par exemple une mémoire du type EEPROM, de l'anglais "Electrically Erasable and Programmable Read Only Memory'), particulièrement adaptée à la mémorisation de ce type de données qui varient d'une carte à l'autre. La structure globale des données de personnalisation à inscrire dans cette mémoire est par contre commune à un ensemble de cartes du même type et participe ainsi à la définition d'un profil de personnalisation associé à ce type de carte. Un profil de personnalisation est ainsi un ensemble de données associées à un type de carte et qui définissent les caractéristiques générales de la personnalisation des cartes de ce type, telles que la structure des données (y compris éventuellement de programme) et les données communes à inscrire dans l'entité électronique lors de la personnalisation, ou encore des données de personnalisation physique (caractères à embosser, codage de la bande magnétique, etc.) ou graphique (logo à imprimer sur la surface de la carte, etc.). La définition d'un profil de personnalisation est particulièrement complexe puisqu'elle doit respecter de manière cohérente un ensemble de critères liés à la structure et à l'utilisation future de l'entité électronique, à savoir par exemple les normes (e.g. GSM en téléphonique ou EMV dans le domaine 2 bancaire) et applications (e.g. VISA, MASTERCARD) existantes, et l'organisation interne (matérielle) de l'entité électronique. Une telle définition est donc classiquement assez lourde à mettre en oeuvre et un risque d'erreur ne peut être écarté même lorsque la définition du profil est pratiquée par des personnels expérimentés. Afin d'améliorer cette situation, l'invention propose un procédé de génération d'un profil pour la personnalisation d'une entité électronique, caractérisé en ce qu'il comprend les étapes suivantes : - choix d'au moins une application dans une liste prédéfinie d'applications ; - configuration de paramètres associés à l'application choisie ; - sélection d'une plateforme matérielle parmi une liste de plateformes compatibles déterminée en fonction des applications choisies et des paramètres configurés ; - obtention du profil de personnalisation en fonction des applications choisies, des paramètres configurés et de la plateforme sélectionnée. On simplifie ainsi la génération des données de profil de personnalisation. En effet, les inventeurs ont remarqué que le choix de l'application permet de limiter considérablement les solutions possibles pour les autres données de configuration de personnalisation, ce qui simplifie considérablement la génération de donnée de profil de configuration et rend possible sa mise en oeuvre sous forme interactive, par exemple au moyen d'un système informatique. On obtient également une approche plus fonctionnelle qui permet de se concentrer sur les choix du client, en limitant au minimum les connaissances techniques (notamment dans le domaine de la carte à microcircuit) nécessaires à la génération du profil de personnalisation. Enfin, on assure la cohérence de l'ensemble des éléments entrant en ligne de compte pour la définition du profil puisque la compatibilité des applications, de leur configuration et de la plateforme utilisée découle inévitablement de la solution proposée. 3 L'étape de configuration peut comprendre par exemple une étape de sélection d'une valeur dans une liste prédéfinie de valeurs possibles déterminée en fonction de l'application choisie ou une étape de saisie d'un paramètre dans un écran de saisie déterminé en fonction de l'application choisie. L'étape de configuration peut par ailleurs utiliser une représentation symbolique (par exemple un identifiant approprié) des données binaires définissant lesdits paramètres, ce qui simplifie leur manipulation par des personnes non-spécialistes. En variante, ou pour certains paramètres seulement, l'étape de configuration peut utiliser une représentation hexadécimale des données binaires définissant lesdits paramètres, cette représentation étant parfois la mieux connue des utilisateurs du système. L'étape de configuration comprend par exemple une étape de définition d'une taille d'un espace mémoire de l'entité électronique. Afin d'améliorer encore la cohérence du profil dans son ensemble, on peut prévoir en outre une étape de vérification de la cohérence des paramètres configurés, par exemple au regard d'une norme prédéterminée. L'application considérée ici met par exemple en oeuvre des fonctionnalités conformes à une norme prédéfinie, telle qu'une norme pour cartes de téléphonie mobile ou une norme pour cartes bancaires. Il peut s'agir également d'une application de sécurisation de l'entité électronique. La plateforme précédemment mentionnée est par exemple définie par l'association d'un composant et d'un système d'exploitation. En pratique, l'entité électronique peut être portable, comme dans le cas d'une carte à microcircuit. L'invention propose également un procédé de personnalisation d'une entité électronique, caractérisé par les étapes suivantes : - génération d'un profil de personnalisation au moyen d'un procédé comme décrit ci-dessus ; - intégration de données porteur au profil généré ; 4 - inscription du profil intégrant les données porteur dans une mémoire de l'entité électronique. L'invention propose en outre un système de génération d'un profil pour la personnalisation d'une entité électronique, caractérisé en ce qu'il comprend des moyens pour choisir au moins une application dans une liste prédéfinie d'applications, des moyens pour configurer des paramètres associés à l'application choisie, des moyens pour sélectionner une plateforme matérielle parmi une liste de plateformes compatibles déterminée en fonction des applications choisies et des paramètres configurés et des moyens pour générer le profil de personnalisation en fonction des applications choisies, des paramètres configurés et de la plateforme sélectionnée. Un tel système peut également comprendre de manière optionnelle des moyens pour mettre en oeuvre les différentes caractéristiques envisageables pour le procédé de génération de profil comme évoqué ci- dessus. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description qui suit, faite en référence aux dessins annexés, dans lesquels : - la figure 1 présente les étapes essentielles d'un exemple de procédé de personnalisation de cartes à microcircuit conforme à l'invention ; - la figure 2 représente un écran permettant de configurer une application dans le domaine de la téléphonie mobile ; - la figure 3 représente un écran permettant de configurer une application dans le domaine des cartes bancaires ; - la figure 4 représente un écran permettant de sélectionner une plateforme parmi une liste de plateformes compatibles. La figure 1 présente les étapes essentielles d'un exemple de procédé de personnalisation de cartes à microcircuit conforme à l'invention. Un tel procédé est par exemple mis en oeuvre au moyen d'un système informatique de type ordinateur personnel (en anglais, PC) dans un environnement interactif. Ce procédé débute par une étape E101 de choix des applications que les cartes à personnaliser devront pouvoir mettre en oeuvre. En général, plusieurs applications seront sélectionnées à cette étape, mais on pourra naturellement dans certains cas se limiter à une seule application. Le choix des applications s'effectue ici dans une liste prédéfinie, par exemple présentée sous forme interactive à l'utilisateur du système au moyen 5 d'un menu déroulant. Le système (c'est-à-dire en général le logiciel qui commande sa mise en oeuvre) vérifie alors à l'étape El 02 la cohérence des applications choisies et renvoie dans la négative à l'étape E101 (par exemple avec affichage d'un message signalant cette incohérence) afin d'assurer la cohérence des applications choisies. Lorsque les applications choisies ne génèrent pas d'incohérence, l'étape E102 est suivie d'une étape E103 de configuration des paramètres relatifs à chacune des applications précédemment choisies. La figure 2 présente un exemple de configuration de l'application USIM mentionnée plus haut dans le domaine de la téléphonie mobile. Dans cet exemple, on configure le répertoire téléphonique (en anglais "Phonebook') en sélectionnant les paramètres "Global Phonebook" (la zone Z21 de l'écran portant cette mention apparaît alors surlignée) et en entrant (par saisie au sein de l'écran représenté en figure 2, précisément dans la zone Z22 de cet écran) les paramètres du répertoire tel que défini dans la norme de téléphonie mobile correspondante. On remarque que l'écran présenté par le système pour la saisie des paramètres dépend de l'application choisie à l'étape précédente. On définit ainsi par exemple un nombre maximal d'entrées dans le répertoire téléphonique (en anglais "max number of entries') égal à 250, une longueur maximale des noms ("max length of name') égale à 16 octets, etc. Cette configuration permet donc de définir notamment la taille des fichiers pour la mémorisation du répertoire téléphonique dans la carte à microcircuit (c'est-à-dire précisément dans le mémoire EEPROM de cette carte). Des configurations par défaut peuvent également être définies pour chaque application. 6 L'étape de configuration comprend également une étape de vérification de la cohérence des informations saisies ou sélectionnées, notamment afin d'assurer la conformité aux normes correspondantes de téléphonie mobile. La saisie d'un paramètre incompatible avec la norme considérée (par exemple la saisie d'une taille de 888 octets pour les rapports d'état û en anglais "status report" û des messages courts dits SMS û de l'anglais "Short Message Service" û dont la taille ne peut pas dépasser 255 octets) engendre un message d'erreur. La figure 3 présente un exemple de configuration de l'application "carte bancaire ". Dans cet exemple, on détermine par exemple la langue préférée (zone Z31 de l'écran représenté en figure 3) du porteur de la carte en la sélectionnant dans une liste de langues possibles (zone Z32). La configuration de cette fonctionnalité est obtenue par sélection de cette fonctionnalité (zone Z33 surlignée) dans une fenêtre (zone Z34) représentant les applications sélectionnées à l'étape El 01. On peut remarquer ici que la langue préférée choisie est représentée physiquement au sein de la carte à microcircuit sous forme binaire. La carte elle-même ne comporte pas de moyens pour transformer cette représentation en une représentation symbolique (généralement alphanumérique). En effet, elle n'échange avec l'extérieur cette valeur que sous forme binaire. Grâce à l'utilisation du système interactif conforme à l'invention, l'interface graphique utilisée représente cette valeur sous forme symbolique (ici au moyen des caractères alphanumériques formant le mot "English'), grâce par exemple à l'utilisation d'une table de correspondance entre la représentation binaire et la représentation symbolique stockée au sein du système de génération de profil décrit ici. En variante, on pourrait utiliser une représentation hexadécimale des données binaires pour la saisie. Les éléments saisis par l'utilisateur aux étapes E101 de choix des applications et El 03 de configuration de celles-ci peuvent alors être mémorisés, par exemple sous forme d'une base de données, qui donne par conséquent 7 une description fonctionnelle du profil de personnalisation, indépendamment de la plateforme matérielle (c'est-à-dire des composants et systèmes d'exploitation) de la carte à microcircuit. Une telle base de données pourra ainsi être réutilisée pour l'introduction de fonctionnalités identiques sur une autre plateforme matérielle. La base de données utilise par exemple une structure de type objet au sein duquel chaque choix de l'utilisateur (choix de l'application, saisie et sélection des données de configuration, etc.) est mémorisé comme une instance d'un objet d'une des classes prédéfinies. Grâce notamment au mécanisme d'héritage, on évite de dupliquer des codes inutiles, en définissant des classes générales qui décrivent un profil de configuration et des fonctionnalités communes à de nombreuses applications, et en définissant des classes qui décrivent des fonctionnalités spécifiques à une application donnée héritant des attributs de classes plus générales. Une fois la définition fonctionnelle déterminée (applications choisies à l'étape E101 et configuration de celles-ci à l'étape E103), le système interactif propose à une étape El 04 de sélectionner la plateforme à laquelle est destinée la personnalisation parmi une liste de plateformes compatibles avec la définition fonctionnelle définie aux étapes précédentes, comme représenté en figure 4. En effet, certaines plateformes peuvent être inadaptées aux fonctionnalités requises par la définition fonctionnelle (par exemple du fait d'une capacité mémoire trop faible ou d'une impossibilité de mettre en oeuvre une application particulière, telle que JavaCard). Le système de génération d'un profil de personnalisation proposé ici mémorise les caractéristiques propres à chaque plateforme utilisée et peut ainsi générer la liste des plateformes adaptées à la mise en oeuvre de la définition fonctionnelle établie aux étapes E101 et E103, c'est-à-dire compatibles avec celle-ci, et afficher cette liste (zone Z41 en figure 4). Les plateformes sont par exemple définies par l'association d'un composant (en général circuit intégré de la carte à personnaliser) et d'un 8 système d'exploitation (généralement dénommé "masque"dans le domaine des cartes à microcircuit). On peut prévoir d'afficher en association avec chaque plateforme compatible des informations permettant de faciliter le choix d'une plateforme par l'utilisateur, tel que par exemple (pour chaque plateforme) des informations de coût, de fiabilité d'approvisionnement, d'utilisation précédente. L'utilisateur peut ainsi choisir la plateforme la plus adaptée à la définition fonctionnelle précédente, sans risque d'incompatibilité. La plateforme sélectionnée est par exemple affichée dans une fenêtre dédiée (ici la fenêtre repérée par Z42 en figure 4). Une fois le choix de la plateforme validé par l'utilisateur (par exemple par la sélection d'un bouton virtuel), le système génère à l'étape E105, sur la base des éléments donnés par l'utilisateur aux étapes précédentes, l'image mémoire de la carte (en anglais "IC card Image', qui définit donc les données de la mémoire EEPROM, en dehors des éléments propres à chaque porteur, mémorisées par exemple sous la forme d'un objet (au sens de la programmation orientée objet). Elle représente notamment la structure de fichier de la mémoire EEPROM (conforme à la norme ISO7816), ainsi que contenu et la taille des fichiers qui ont été déterminés lors de la génération du profil de personnalisation. En plus de la description des fichiers et de leur structure, l'image mémoire contient toutes les autres informations définissant la mémoire EEPROM de la carte (en dehors des données différentes pour chaque porteur) telles que les zones mémoires contenant des variables, ainsi que leur valeur. Ces variables sont par exemple mémorisées sous forme TLV (pour "Tag Length Value" en anglais), c'est-à-dire successivement identifiant, longueur, valeur. Les étapes de configuration précitées peuvent en effet engendrer des données sous cette forme (la valeur étant fixée à cette étape ou à définir ultérieurement selon qu'elle est commune ou non à l'ensemble des porteurs de carte). 9 Pour plus de souplesse, on peut prévoir également, par exemple une fois l'image mémoire générée, un écran interactif qui permette la modification de certains des éléments constituant cette image mémoire en représentation hexadécimale. Une telle modification ne sera en général pas nécessaire puisque tous les éléments qui déterminent l'image mémoire ont été normalement pris en compte aux cours des étapes précédentes. Les différentes images mémoire générées grâce au système sont par exemples mémorisées et affichées au sein d'une fenêtre dédiée (ici Z43). On peut alors utiliser le profil de personnalisation ainsi déterminé (formé par exemple de l'image mémoire et éventuellement d'autres paramètres liés par exemple à l'aspect physique de la carte et saisis par exemple à l'étape E103) pour la personnalisation de cartes à microcircuit (étape E106), en intégrant dans (c'est-à-dire en combinant avec) l'image mémoire précédemment définie les données propres à chaque porteur. Les modes de réalisation évoqués ci-dessus ne constituent que des exemples possibles de mise en oeuvre de l'invention qui ne s'y limite pas. REVENDICATIONS 1. Procédé de génération d'un profil pour la personnalisation d'une entité électronique, caractérisé en ce qu'il comprend les étapes suivantes : -choix (E101) d'au moins une application dans une liste prédéfinie d'applications ; - configuration (E103) de paramètres associés à l'application choisie ; - sélection (E104) d'une plateforme matérielle parmi une liste de plateformes compatibles déterminée en fonction des applications choisies et des paramètres configurés ; - obtention (E105) du profil de personnalisation en fonction des applications choisies, des paramètres configurés et de la plateforme sélectionnée. 2. Procédé de génération d'un profil selon la revendication 1, caractérisé en ce que l'étape de configuration (El 03) comprend une étape de sélection d'une valeur (Z31) dans une liste prédéfinie de valeurs possibles (Z32) déterminée en fonction de l'application choisie. 20 3. Procédé de génération d'un profil selon la revendication 1 ou 2, caractérisé en ce que l'étape de configuration (El 03) comprend une étape de saisie d'un paramètre dans un écran de saisie (Z22) déterminé en fonction de l'application choisie. 4. Procédé de génération d'un profil selon l'une des revendications 1 à 3, caractérisé en ce que l'étape de configuration (E103) utilise une représentation symbolique (Z31) des données binaires définissant lesdits paramètres. 25 30 5. Procédé de génération d'un profil selon l'une des revendications 1 à 3, caractérisé en ce que l'étape de configuration (E103) utilise une représentation hexadécimale des données binaires définissant lesdits paramètres. 6. Procédé de génération d'un profil selon l'une des revendications 1 à 5, caractérisé en ce que l'étape de configuration (E103) comprend une étape de définition (Z22) d'une taille d'un espace mémoire de l'entité électronique. 10 7. Procédé de génération d'un profil selon l'une des revendications 1 à 6, caractérisé par une étape de vérification de la cohérence des paramètres configurés. 8. Procédé de génération d'un profil selon la revendication 7, 15 caractérisé en ce que la cohérence des paramètres configurés est vérifiée au regard d'une norme prédéterminée. 9. Procédé de génération d'un profil selon l'une des revendications 1 à 8, caractérisé en ce que l'application met en oeuvre des fonctionnalités 20 conformes à une norme prédéfinie. 10. Procédé de génération d'un profil selon la revendication 9, caractérisé en ce que la norme prédéfinie est une norme pour cartes de téléphonie mobile. 11. Procédé de génération d'un profil selon la revendication 9, caractérisé en ce que la norme prédéfinie est une norme pour cartes bancaires. 25 12 12. Procédé de génération d'un profil selon l'une des revendications 1 à 8, caractérisé en ce que l'application est une application de sécurisation de l'entité électronique. 13. Procédé de génération d'un profil selon l'une des revendications 1 à 12, caractérisé en ce que la plateforme est définie (Z41 ; Z42) par l'association d'un composant et d'un système d'exploitation. 14. Procédé de génération d'un profil selon l'une des revendications 1 à 13, caractérisé en ce que l'entité électronique est portable. 15. Procédé de génération d'un profil selon la revendication 14, caractérisé en ce que l'entité électronique est une carte à microcircuit. 16. Procédé de personnalisation d'une entité électronique, caractérisé par les étapes suivantes : - génération d'un profil de personnalisation (E101, E103, E104, E105) au moyen d'un procédé selon l'une des revendications 1 à 15 ; - intégration de données porteur au profil généré ; - inscription (E106) du profil intégrant les données porteur dans une mémoire de l'entité électronique. 17. Système de génération d'un profil pour la personnalisation d'une entité électronique, caractérisé en ce qu'il comprend : - des moyens pour choisir au moins une application dans une liste prédéfinie d'applications ; - des moyens pour configurer des paramètres associés à l'application choisie ;- des moyens pour sélectionner une plateforme matérielle parmi une liste de plateformes compatibles déterminée en fonction des applications choisies et des paramètres configurés ; - des moyens pour générer le profil de personnalisation en fonction 5 des applications choisies, des paramètres configurés et de la plateforme sélectionnée.