Brevet FR2909243A1 — publié le 20080530

PROCÉDÉ ET SYSTÈME DE CONTRâLE DU VERROUILLAGE/DÉVERROUILLAGE DES FONCTIONS D'ACCÈS RÉSEAU D'UN TERMINAL A FONCTIONS MULTIPLES L'invention concerne le contrôle du verrouillage/déverrouillage des fonctions d'accès réseau des terminaux à fonctions multiples. Les terminaux à fonctions multiples jouent un rôle prépondérant croissant dans le cadre de l'échange de données, de services audio, vidéo entre utilisateur de ces terminaux, en raison, d'une part, de l'augmentation constante des performances de traitement de ces derniers, et, d'autre part, des capacités de transmission en débit et/ou en largeur de bande admissible des réseaux autorisant ces échanges. L'un des exemples typique, non limitatif, de ce type de terminaux est donné par les terminaux ou combinés de téléphonie mobile, lesquels permettent l'exécution de fonctions multiples, alors que les réseaux de téléphonie mobile dans lesquels le réseau GSM, ou le réseau UMTS, plus récent, illustrent l'augmentation croissante des capacités de transmission de ce derniers. 2 0 Lorsque, en particulier, les terminaux multifonctions précités sont des combinés de téléphonie mobile, ils permettent la mise en oeuvre de nombreuses fonctions, proposées et mises en oeuvre sous le contrôle de l'opérateur réseau. En règle générale, les terminaux à fonction multiple comportent le plus souvent, outre une unité centrale de traitement, un processeur de sécurité en 25 communication avec cette dernière et permettant l'exécution d'un système de cryptographie à clé publique, permettant ou participant à la mise en oeuvre de ces fonctions multiples. C'est le cas des combinés de téléphonie mobile, lesquels comportent habituellement une carte SIM pour Subscriber Identity Module en anglais, laquelle 30 joue le plus souvent le rôle de processeur de sécurité. Une carte SIM est en fait une carte à puce contenant une mémoire et un 2909243 2 microcontrôleur. Les cartes SIM les plus récentes sont en mesure d'héberger des applications destinées à l'abonné. Les opérateurs réseau GSM ou UMTS peuvent actualiser à distance le contenu de certains fichiers de la carte SIM. Le microcontrôleur assure l'accès aux fichiers de données et d'applications, en termes de 5 droits d'accès aux fonctions du terminal ou combiné mobile, notamment les fonctions de cryptographie, liées par exemple à des valeurs de code d'accès, et l'exécution des applications ou fonctions contrôlées par l'opérateur réseau. De manière plus spécifique, le contrôle des fonctions précitées est exécuté au moyen d'un mécanisme de restriction/inhibition de fonctions techniques 10 ou de services au niveau de chaque combiné, ainsi que défini à minima par la norme ETSI TS 101 624 V7.0.0 et désigné verrouillage de carte SIM, ou SIMLOCK en anglais. Selon la norme précitée, les restrictions concernent essentiellement le verrouillage de l'accès réseau, le combiné mobile pouvant, par exemple, uniquement 15 se connecter sur un ensemble prédéfini de réseaux GSM/UMTS. D'autres fonctions techniques peuvent en outre être protégées par ce mécanisme, comme par exemple, l'accès à l'INTERNET par le protocole WAP pour Wireless Application Protocol, en anglais accès aux serveurs MMS de messagerie multimedia, ou autre. L'utilisateur du combiné est en mesure de réactiver toute fonction 2 0 technique verrouillée ou restreinte en entrant, par l'intermédiaire du clavier du combiné, une valeur de code de déverrouillage spécifique, relativement court et comportant entre 8 et 16 chiffres décimaux. Habituellement, des codes de verrouillage/déverrouillage sont disponibles simultanément sur un combiné donné, chacun des codes précités activant 2 5 ou inhibant une ou plusieurs fonctions techniques ou de services. Les codes de verrouillage/déverrouillage sont engendrés aléatoirement dans les installations du fabricant de cartes SIM et stockés dans chaque combiné, avant d'être communiqués à l'opérateur réseau par l'intermédiaire d'un canal de communication défini d'un commun accord. 30 Le mode opératoire précité présente toutefois, les inconvénients ci-après. La courte longueur des codes de verrouillage/déverrouillage rend très 2909243 3 difficile la protection de ces derniers. En particulier, ces codes sont trop courts pour former des signatures obtenues par un algorithme de signature à clefs asymétriques, de sorte qu'ils sont, le plus souvent, protégés par des algorithmes cryptographiques à clés symétriques. 5 En raison de la courte longueur des codes, il est relativement aisé de conduire une attaque exhaustive pour retrouver les codes ou en définir de nouveaux. La protection peut varier d'une plateforme hôte à une autre, en fonction des capacités de sécurité du matériel. Des fuites ou compromissions des codes peuvent émaner des fabricants 10 de cartes SIM, car : - ils produisent ces codes et doivent les inscrire dans chaque combiné ; ils doivent être capables de communiquer ces codes à un opérateur réseaux même après une durée temporelle déterminée. En conséquence, ces codes sont maintenus longtemps dans les bases de 15 données du fabricant, lesquelles doivent être hautement sécurisées. Ce fait peut détériorer les relations entre les fabricants et les opérateurs, car, lorsqu'une fuite se produite, il existe toujours un doute quant à l'origine de la fuite, opérateur réseau ou bases de données du fabricant. La présente invention a pour objet de remédier à l'ensemble des 2 0 inconvénients précités. En particulier, un objet de la présente invention est le renforcement de la sécurisation de la gestion des codes de verrouillage/déverrouillage des fonctions d'accès réseau de terminaux à fonctions multiples, notamment des cartes SIM formant le processeur de sécurité de ces derniers. 2 5 Un autre objet de la présente invention est en outre de rendre la gestion des codes de verrouillage/déverrouillage par les fabricants de processeurs de sécurité, notamment de cartes SIM, totalement indépendante de celle opérée par les opérateurs réseau, le procédé et le système objets de l'invention permettant de supprimer la nécessité, pour les fabricants, de connaître les codes de verrouillage/déverrouillage 3 0 des combinés. Un autre objet de la présente invention est la mise en oeuvre d'un 2909243 4 mécanisme de sécurisation de la gestion des codes de verrouillage/déverrouillage des fonctions d'accès réseau des terminaux à fonctions multiples, à partir d'une plateforme matérielle minimale incluant une entité de lancement ou amorçage (boot) sécurisé permettant au moins une authentification avant lancement, fournie soit par 5 amorçage verrouillé par mot de passe à usage unique, OTP pour One ;rime Password en anglais, soit par Code ROM de sécurité disponible sur des puces plus récentes. Un autre objet de la présente invention est la mise en oeuvre d'un environnement d'exécution de confiance fournissant un procédé et un système de contrôle renforcé du verrouillage/déverrouillage des fonctions d'accès réseau des 10 terminaux à fonctions multiples, cet environnement pouvant, de manière avantageuse non limitative, être mis en oeuvre grâce à une carte SIM. Un autre objet de la présente invention, dans le cadre de l'environnement de confiance précité, est la mise en oeuvre d'une parade efficace et robuste contre les attaques de bidouilleurs malveillants tentant d'altérer ou supprimer des données 15 cryptographiques signées par l'opérateur du réseau. Un autre objet de la présente invention, dans le cadre de l'environnement de confiance précité, est la mise en oeuvre d'une parade efficace et robuste contre les attaques exhaustives, visant à reconstituer un ou plusieurs codes de verrouillage/déverrouillage, par contrôle du rythme de réponse et/ou du nombre de 2 0 réponses du processeur de service ou de la carte SIM à l'authentification du code de verrouillage/déverrouillage entré par l'utilisateur, ce qui permet de rendre toute attaque exhaustive quasiment impossible ou très difficile. Un autre objet de la présente invention, dans le cadre de l'environnement de confiance précité, est enfin, bien que tout fabricant de carte SIM ou de processeur 2 5 de sécurité et tout opérateur de réseau soient amenés à partager des secrets, la mise en oeuvre de cet environnement de confiance en l'absence d'adjonction de nouvelles contraintes relationnelles entre ces derniers. Le procédé et le système de contrôle du verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de 30 sécurité, objets de l'invention, exécutent un système de cryptographie à clé publique. Ils sont remarquables en ce qu'ils consistent à respectivement permettent 2909243 5 d'allouer à ce terminal une clé publique d'origine servant à vérifier l'intégrité des données chargées dans ce terminal, engendrer un couple de clés, clé publique, clé privée associées au réseau d'accès de ce terminal, engendrer un certificat d'approbation d'origine du terminal contenant ces clés publiques, clé publique 5 d'origine et clé publique associée au réseau d'accès de ce terminal, et à établir pour initialisation un certificat de verrouillage de ce terminal contenant au moins le certificat d'approbation d'origine de ce terminal, des données de configuration initiale de ce terminal et une séquence de données aléatoires et à mémoriser le certificat de verrouillage et la clé publique associée au réseau d'accès de ce terminal, 10 signés numériquement à partir d'une clé privée compatible avec la clé publique d'origine dans une zone sécurisée du processeur de sécurité. Sur lancement pour utilisation de ce terminal par introduction d'un code par un utilisateur, ils permettent de vérifier au moins, en l'absence de certificat de déverrouillage d'au moins une fonction ou en présence d'un certificat de déverrouillage invalide, l'intégrité de ce 15 certificat de verrouillage et les éléments contenus dans ce certificat (le verrouillage, puis de déverrouiller et autoriser l'utilisation de ce terminal ou d'une fonction spécifique de ce terminal, conditionnellement à la vérification réussie de ce certificat de verrouillage et à la validité du code introduit. Ce terminal ou cette fonction spécifique est maintenue verrouillée, en l'absence d'autorisation d'utilisation, sinon. 2 0 Selon un autre aspect remarquable du procédé et du système objets de la présente invention, en présence d'un certificat de déverrouillage valide, ce certification de déverrouillage est substitué au certificat de verrouillage, pour poursuite du processus. Selon un autre aspect remarquable du procédé et du système objets de 25 l'invention, l'étape de vérification du certificat de verrouillage inclut au moins la transmission, du terminal au processeur de sécurité, du certificat de verrouillage, du certificat de déverrouillage s'il existe et du code utilisateur. Selon un autre aspect remarquable du procédé et du système objets de l'invention, le processeur de sécurité exécute, en particulier, la vérification de 30 l'intégrité du certificat d'approbation d'origine du terminal, et, sur vérification réussie, la validation du certificat de verrouillage au moyen de la clé publique 2909243 6 d'origine, et, suite à cette validation, l'établissement de l'ensemble des codes susceptibles d'être introduits par l'utilisateur, à partir de la séquence de données aléatoires contenue dans le certificat de verrouillage et d'une fonction technique ou de service spécifique exécutée par le processeur de sécurité. 5 Selon un autre aspect remarquable du procédé et du système objets de l'invention, la fonction spécifique précitée permet d'engendrer l'ensemble des codes uniques valides susceptibles d'être engendrés par l'utilisateur, un code associé à une fonction du terminal étant engendré pour un terminal et un seul. Selon un autre aspect, le procédé et le système objets de ]'invention sont 10 enfin remarquables en ce que le processeur de sécurité compare tout code entré par l'utilisateur à l'ensemble des codes uniques valides. Si le code entré par l'utilisateur ne correspond à aucun des codes de l'ensemble des codes uniques valides, le processeur de sécurité engendre un code d'erreur, retourné au terminal et la configuration du terminal correspondant au certificat de verrouillage ou à un 15 certificat de déverrouillage préexistant est maintenue. Sinon, si le code entré par l'utilisateur correspond à un code unique de l'ensemble des codes uniques, le processeur de sécurité engendre un certificat de déverrouillage relatif à la fonction correspondante et vérifie l'intégrité de ce certificat de déverrouillage. Le procédé et le système de contrôle du verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de sécurité, objets de l'invention, seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels : la figure 1 représente, à titre illustratif, un organigramme général des étapes de mise en oeuvre du procédé objet de l'invention ; la figure 2 représente, à titre illustratif, un organigramme d'un détail de mise en oeuvre des étapes de vérification du certificat de verrouillage et de validation du code utilisateur représentées à la figure 1 ; la figure 3 représente l'architecture d'un système de contrôle du verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de sécurité, objet de l'invention, 2909243 7 dans un mode de mise en oeuvre préférentiel non limitatif pris à titre d'exemple, dans lequel le terminal est un terminal de téléphonie mobile et le processeur de sécurité une carte SIM. Une description plus détaillée du procédé de contrôle du 5 verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de sécurité, exécutant un système de cryptographie à clé publique, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 1. Dans la description ci-après, dans les relations les variables représentées 10 par des points sont considérées comme non encore instanciées et les variables représentées par des tirets comme instanciées à une étape précédente. En référence à la figure précitée, on considère un terminal T devant accéder à un réseau N, ce terminal T étant équipé d'un processeur de sécurité SP(.,.). L'architecture du réseau et du terminal devant accéder à ce dernier ainsi 15 que celle du processeur de sécurité SP ne sont pas limitatives, le procédé objet de la présente invention s'appliquant finalement à tout terminal à fonctions multiples séparées ou sélectionnables muni d'un processeur de sécurité. Ainsi qu'il apparaît en figure 1, le procédé objet de l'invention consiste en une étape A à allouer au terminal T une clé publique d'origine notée KMpUb servant 2 0 à vérifier l'intégrité des données chargées dans le terminal. On rappelle que la clé publique d'origine KMpUb peut être chargée dans le terminal considéré par le fabricant de terminaux TM, seule cette clé publique KMpUb étant chargée et présente dans tout terminal considéré. On rappelle en outre que, conformément au système de cryptographie à clé publique, la clé privée associée à 25 cette clé publique d'origine KMpUb n'est aucunement présente dans le terminal T ou dans tout terminal considéré. L'opération de l'étape A est représentée par la relation : LT, KMpäb j. On indique enfin, que la vérification de l'intégrité des données chargées dans le terminal T peut être effectué par une opération de vérification de signature de 3 0 ces données signées par exemple, de manière classique et connue en tant que telle. L'étape A représentée en figure 1 est suivie d'une étape B consistant à 2909243 8 engendrer un couple de clés, clé publique KOPpä b et clé privée KOPp,;V associées au réseau N d'accès du terminal T. Selon un aspect remarquable du procédé objet de l'invention, on indique que l'opération B est effectuée par l'opérateur ou fournisseur d'accès au réseau NO et 5 que seule la clé publique associée au réseau d'accès du terminal, la clé KOPpäb, est alors communiquée par exemple au fabricant de terminaux et du terminal T. En ce qui concerne la génération du couple de clés associées au réseau d'accès du terminal T, on indique que ces clés peuvent être constituées par des clés de l'algorithme de cryptographie RSA ou de tout autre algorithme asymétrique à clé 10 publique. Sur la figure 1, à l'étape B, l'opération correspondante est notée : LN(KOPpt,b , KOPp,.;V )] L'étape B est alors suivie d'une étape C consistant à engendrer un certificat d'approbation d'origine du terminal, certificat noté : 15 CERTAM (KMPä b , KOPpäb) . Pour l'exécution de l'étape C, à titre d'exemple non limitatif, on indique que le fabricant de terminaux TM peut transmettre, par exemple, la clé publique d'origine KMpub à l'opérateur fournisseur d'accès au réseau NO, ce dernier étant alors en mesure d'engendrer le certificat d'approbation d'origine du terminal noté : 2 0 CERTaM (KMpäb , KOPpäb) . En variante, on indique toutefois que l'étape C peut également être exécutée par le fabricant de terminaux TM car ce dernier dispose des paramètres nécessaires au calcul de ce certificat, c'est-à-dire la clé publique d'origine Kmpub, d'une part, et la clé publique KOPpä b associée au réseau d'accès du terminal, d'autre 25 part. On indique que l'exécution de l'étape C, soit par le fabricant de terminaux TM, soit par l'opérateur ou fournisseur d'accès au réseau NO est indifférente car aucun des acteurs précités ne dispose de la totalité des secrets mais dispose au contraire des paramètres nécessaires au calcul de ce certificat, c'est-à-dire 30 des clés publiques KMpub et KOPpä b. En tout état de cause, le fabricant de terminaux TM dispose du certificat 2909243 9 d'approbation d'origine du terminal après l'exécution de l'étape C. L'étape C précitée est suivie d'une étape D consistant à engendrer un certificat de verrouillage du terminal afin de procéder à une initialisation du terminal T considéré. 5 Le certificat de verrouillage contient au moins le certificat d'approbation d'origine du terminal CERTAM (û,û) obtenu à l'étape C, les clés publiques KMpäb et KOPpäb ainsi que des données de configuration notées Configk, k désignant un indice d'identification du terminal par exemple et des données aléatoires notées Rand. A l'étape D de la figure 1, le certificat de verrouillage du terminal est 10 noté : CERT,OCk(CERTAM( ) KMp,b;KOPpäb;ConJgk;Rand). Le certificat de verrouillage précité et la clé publique KOPpä b associés au réseau d'accès du terminal T sont alors signés numériquement en une étape E au moyen d'une clé privée compatible avec la clé publique d'origine Kmpäb c'est-à-dire 15 au moyen de la clé KMpr associée à cette clé publique d'origine. L'opération de signature de l'étape E peut également être exécutée à partir de toute autre clé certifiée au moyen de la clé KMpr, selon le principe de la propagation de confiance des architectures à clé publique. L'opération de signature correspondante est bien entendue exécutée par 2 0 le fabricant de terminaux TM et est noté à l'étape E de la figure 1 : Km , (CERTock `ù;ù;ù;ù;ù>; KOPpub ) . La valeur de signature précitée obtenue suite à la mise en oeuvre de l'étape E est alors mémorisée dans une zone sécurisée du processeur de sécurité SP par exemple. 25 Le certificat de verrouillage précité, calculé à l'étape D, et la valeur signée de ce dernier, calculée à l'étape E, comprennent alors le certificat d'approbation d'origine du terminal CERTAM, ainsi que la configuration initiale du processus de verrouillage/déverrouillage et du contrôle de ce processus tel que demandé par l'opérateur ou fournisseur d'accès au réseau, ce processus pouvant 30 correspondre à la norme IMEI pour International Mobil Equipment [dentity pour 2909243 10 lequel le certificat est valide, le numéro de réseau donné par l'opérateur ou fournisseur d'accès au réseau N, les tranches de données relatives à l'identification de l'abonné utilisateur du terminal désigné tranche IMSI pour International Mobil Subcriber Identity, le cas échéant l'inhibition de certaines des fonctions de service du 5 terminal T, par exemple. Le certificat de verrouillage précité contient en outre, les données aléatoires Rand précitées lesquelles permettent, en définitive, de distinguer tout terminal Tk d'un autre terminal d'un même type. A l'étape E, l'opération de mémorisation permet ainsi de placer le 10 certificat de verrouillage accompagné de la clé publique KOPpub associée au réseau d'accès du terminal dans le terminal précité T, au moment de la fabrication en usine de ce dernier, et bien entendu de manière avantageuse dans une zone sécurisée du processeur de sécurité SP. Lors de l'utilisation du terminal considéré par un utilisateur, ce dernier, à 15 l'étape F, est amené à introduire un code noté U_ CODE par l'un des périphériques du terminal considéré. Suite à l'introduction du code précité, le procédé de contrôle du verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples, objet de l'invention, consiste à vérifier au moins, à l'étape G, l'existence 2 0 ou l'absence de certificat de déverrouillage noté CERTunk,ck d'au moins une fonction ou, à vérifier la présence d'un certificat de déverrouillage invalide. On comprend que cette étape de vérification, bien que non indispensable lors de la première utilisation du terminal T, est ensuite rendue nécessaire afin de prendre en compte toute utilisation antérieure c'est-à-dire finalement. l'activation de 25 fonctions techniques ou de services Fi déjà exécutées par l'utilisateur au niveau du terminal T. L'étape de vérification représentée à l'étape G de la figure 1 peut correspondre à une étape de test : CERT,, rock =0? 30 Sur réponse positive au test G de la figure 1, le procédé objet de l'invention consiste à vérifier l'intégrité du certificat de verrouillage CERTIock 2909243 11 disponible en permanence dans la mémoire sécurisée du processeur de sécurité. Une telle opération est illustrée à l'étape H de la figure 1 par l'opération : '0 (CERT,o)? 5 L'opération de vérification précitée peut être effectuée par vérification de signature de la valeur de signature mémorisée à l'étape E précédente à partir de la clé publique d'origine KMpub dont dispose le terminal T. Cette vérification peut être effectuée au moyen de la clé publique d'origine KMpub. Elle permet de vérifier que les éléments spécifiés dans ce certificat sont compatibles, notamment processeur de 10 sécurité PS ou carte SIM du bon opérateur réseau, tranches IMSI et contrôle IMEI vérifiées, par exemple. Sur réponse négative à l'opération de vérification de l'étape H précitée, une étape J est appelée de verrouillage de l'ensemble des fonctions du terminal T ou à tout le moins, des fonctions techniques ou de services de ce dernier qui 15 correspondent aux données de configuration Configk contenues dans le certificat de verrouillage. Au contraire, sur réponse positive à l'étape H de la figure 1, le terminal T peut alors être déverrouillé conditionnellement à la vérification réussie du certificat de verrouillage à l'étape H et à la validité du code U_CODE introduit par 2 0 l'utilisateur. Les opérations correspondantes sont représentées à la figure 1 sur réponse positive à l'étape H de vérification de l'intégrité du certificat de verrouillage par une étape de vérification du code U_CODE selon la relation : U CODE = vrai? 25 à l'étape I. Sur réponse négative au test de l'étape I, le terminal T ou la fonction Fi associée au code U_CODE introduit est maintenu verrouillé à l'étape J. Au contraire, sur réponse positive au test de l'étape I, alors le déverrouillage du terminal T ou de la fonction Ei peut être effectué à l'étape K grâce 30 par exemple, à l'émission par le processeur de sécurité PS d'un certificat de déverrouillage correspondant aux fonctions de service du terminal effectivement 2909243 12 déverrouillées compte tenu de toute situation de déverrouillage antérieure. Au contraire, sur réponse négative au test de l'étape G, c'est-à-dire en présence d'un certificat de déverrouillage valide existant CERTunlock, ].a validité de ce certificat est vérifiée à une étape L de manière classique. 5 Sur réponse négative au test de l'étape L, un retour au test de l'étape H peut être effectué. Au contraire, sur réponse positive au test de l'étape L, le certificat de verrouillage peut alors être substitué au certificat de verrouillage CERTIock pour poursuite du processus à l'étape M et retour par exemple à l'étape I de vérification du 10 code utilisateur. Sur la figure 1, on a en outre représenté l'identité des acteurs opérant les différentes étapes du procédé objet de l'invention, ces acteurs étant désignés par TM pour le fabricant de terminaux, NO pour l'opérateur ou fournisseur d'accès au réseau, T pour le terminal proprement dit et SP pour le processeur de sécurité équipant ce 15 dernier. Une description plus détaillée des étapes H de vérification de l'intégrité du certificat de verrouillage et I de vérification du code utilisateur représentées en figure 1 sera maintenant donnée en liaison avec la figure 2. Pour l'exécution des étapes précitées, on rappelle que le terminal T 2 0 dispose du certificat de verrouillage CERTIock du certificat de déverrouillage CERTäniock si ce dernier existe ainsi que mentionné précédemment en fonction des conditions d'utilisation du terminal et du code utilisateur U_CODE précédemment mentionné. Pour effectuer l'opération de contrôle de verrouillage/déverrouillage, le 25 terminal T procède en une étape Ho à la transmission du terminal vers le processeur de sécurité SP du certificat de verrouillage, du certificat de déverrouillage si ce dernier existe et du code entré par l'utilisateur. L'étape Ho de la figure 2 est représentée par la relation : Tk (CERT 0a ,CERT,,,,hä,.A ,U _ CODE) > sp(,.) 30 L'étape Ho est suivie d'une étape H1 consistant à vérifier l'intégrité du certificat d'approbation d'origine du terminal, certificat CERTAM(-,-). 2909243 13 A l'étape HI cette opération est représentée par la relation : KMpub (CERTAM (_)) . Sur réponse négative à cette opération de vérification, un retour vers l'étape J de verrouillage de la figure 1 est exécuté. 5 Au contraire, sur réponse positive au test de l'étape HI une étape H2 est appelée, laquelle consiste à valider le certificat de verrouillage CERTIock au moyen de la clé publique d'origine. A l'étape H2, cette opération est notée : llll KMpub (CERTIock ( \ > > > '_)) 10 Sur réponse négative à l'étape H2, un retour à l'étape J de verrouillage de la figure 1 est exécuté. Sur réponse positive à l'étape H2, le processeur de sécurité SP exécute alors l'établissement de l'ensemble des codes susceptibles d'être introduits par l'utilisateur, à partir de la séquence de données aléatoires contenue dans le certificat 15 de verrouillage CERTIock et d'une fonction spécifique, notée SFk, exécutée par le processeur de sécurité SP. A l'étape Io d'établissement de l'ensemble des codes susceptibles d'être introduits par l'utilisateur, l'opération d'établissement des codes précités est notée par la relation : 2 0 SFk (Random, F~) -+ {UCik }ii1 . Dans la relation précédente, on comprend que la fonction spécifique SFk propre au terminal Tk est exécutée par le processeur de sécurité ,3P équipant ce dernier, à partir d'un ensemble de fonctions techniques ou de services Fi du terminalT et des valeurs aléatoires Random précitées, pour donner naissance à l'ensemble des 2 5 codes utilisateurs susceptibles d'être introduit par ce dernier noté : {UC . }'_j . Jk i=l D'une manière générale on indique que la fonction spécifique SFk permet d'engendrer l'ensemble des codes uniques Uqk susceptibles d'être engendrés par l'utilisateur, un code Uik associé à une fonction Fi du terminal étant engendré 30 pour un terminal Tk et un seul. Ainsi, à titre d'exemple, un code Uqk possible doit 2909243 14 être engendré pour désactiver le verrouillage d'accès au réseau, un autre code pour activer le verrouillage d'accès ou réseau, un code pour débrider la fonction WAP respectivement inhiber cette dernière, ou autres. La fonction spécifique SFk peut être exécutée par un algorithme de type HMAC-SHA1, un chiffrement AES/A5-3 ou tout 5 autre algorithme non réversible, activé à partir d'une graine (seed) fournie par l'opérateur ou fournisseur d'accès réseau ON. On comprend bien sûr que le code utilisateur U_CODE entré par l'utilisateur doit alors correspondre à l'un des codes UCik de l'ensemble des codes uniques valides engendrés à l'étape Io. 10 L'étape Io est alors suivie d'une étape Il dans laquelle le processeur de sécurité SP compare tout code entré par l'utilisateur U_CODE à l'ensemble des codes uniques valides {UCik }~_~ . A l'étape Il cette opération est représentée par la relation : U CODE E {UC . }'-J Jk !_1 15 (U _ CODE = UCJk )? Sur réponse négative au test de l'étape Il, le retour vers l'étape J de verrouillage est exécuté. Sur réponse positive au test de l'étape Il, un certificat de déverrouillage pour la ou les fonctions Fj peut être calculé à l'étape I2 pour exécuter ensuite le 20 déverrouillage à l'étape K de la figure 1. Ainsi, en référence à la figure 2, on comprend que si le code U_CODE entré par l'utilisateur ne correspond à aucun des codes de l'ensemble des codes uniques valides, le processeur de sécurité SP engendre un code d'erreur lequel est alors retourné au terminal T par l'intermédiaire de l'étape J et la configuration du 25 terminal correspondant au certificat de verrouillage CERTIock ou à un certificat de déverrouillage préexistant CERT,,,,iock est maintenue. Au contraire, si le code entré par l'utilisateur correspond à un code unique de l'ensemble des codes uniques le processeur de sécurité engendre un certificat de déverrouillage CERTU,,lock relatif à la fonction de service fi 30 correspondante du terminal utilisateur et vérifie l'intégrité de ce certificat de 2909243 15 déverrouillage dans le cadre de l'étape K représentée en figure 1. Une description plus détaillée d'un système de contrôle du verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de sécurité, objet de l'invention, sera maintenant 5 décrit en liaison avec la figure 3. Le terminal T est représenté de manière non limitative sous forme d'un terminal de téléphonie mobile muni d'un clavier KB, d'une unité centrale de traitement CPU, d'une mémoire de travail RAM, et d'une mémoire de programme sécurisée ROM par exemple. 10 La mémoire sécurisée permet de piloter les fonctions de service du terminal T et en particulier tout ce qui concerne les fonctions haut-parleur HP ou microphone par exemple de manière classique. Le terminal T est en outre équipé d'un processeur de sécurité SP lequel est représenté dans cette situation, de manière non limitative, comme une carte SIM 15 connectée au bus de l'unité centrale CPU du terminal T par l'intermédiaire d'un connecteur de carte SIM noté SCC sur la figure 3. De manière classique, le processeur de sécurité SP comporte outre un organe d'entrée-sortie 1/0, un organe entrée-sortie sécurisé I/OS et un microcontrôleur ,uC , au moins un module cryptographique MC à clé publique et 2 0 bien entendu, une mémoire de travail MM. L'ensemble des composants précités est implanté dans une zone sécurisée inaccessible du processeur de sécurité SP. Ainsi qu'on l'a représenté sur la figure 3, le terminal T comporte au moins un module de mémorisation de données cryptographiques MCD afin de 25 permettre notamment la mémorisation de la clés. On comprend, toutefois, que toute donnée cryptographique correspondant à une clé publique peut être mémorisée à une zone non protégée du terminal T, cette zone pouvant toutefois correspondre à une mémoire flash ou analogue permettant de conserver les données cryptographiques précitées. 30 La zone MC précitée permet également de mémoriser par exemple le certificat d'approbation d'origine du terminal T certificat désigné : 2909243 16 CERTAM `KMpub , KOPP,,b) . Cette zone permet également de mémoriser la clé publique KOPpäb associée au réseau. En référence à la même figure 3, on indique que le module de 5 cryptographie du processeur de sécurité SP comporte ainsi que représenté sur la figure précitée, des ressources de mémorisation sécurisées d'une clé privée compatible avec la clé publique d'origine PMpub. Cette zone est notée MCS sur la figure 3. En outre, le processeur de sécurité SP comporte un module de calcul 10 noté MC d'un certificat de verrouillage du terminal contenant au moins le certificat d'approbation d'origine du terminal les données de configuration de ce terminal et la séquence de données aléatoires désignée Random précédemment dans la description. Le processeur de sécurité SP comporte enfin, dans le module de calcul MC précité, des ressources de calcul de signatures numériques du certificat de 15 verrouillage précité et de la clé publique KOPpä b associée au réseau d'accès du terminal T, ces ressources de calcul de signature opérant à partir de l'algorithme RSA par exemple au moyen de la clé privée compatible avec la clé publique d'origine KMpub• Les ressources de signature peuvent également être constituées par un 2 0 module séparé noté MS. Enfin, ainsi que représenté en outre, en figure 3, le terminal utilisateur T comporte avantageusement une ressource de mémorisation d'au moins un code utilisateur associé à une fonction du terminal T considéré. Les ressources de mémorisation précitées permettent également la mémorisation du certificat de 25 verrouillage CERTIOck et d'un certificat de déverrouillage, ces ressources de mémorisation pouvant être constituées par le module MCD précédemment décrit dans la description. Le processeur de sécurité SP comporte également des ressources de calcul cryptographique, dans le module MC par exemple, permettant en l'absence de 30 certificat de déverrouillage d'au moins une fonction de service du terminal T ou en présence d'un certificat de déverrouillage d'effectuer une vérification de l'intégrité 2909243 17 du certificat de verrouillage et des éléments contenus dans ce certificat de verrouillage ainsi que décrit précédemment à l'étape H de la figure 1 et aux sous-étapes Ho, Hl, H2 de la figure 2. Enfin, le module cryptographique du processeur de sécurité SP comporte 5 des ressources de déverrouillage et d'autorisation d'utilisation du terminal T ou d'une fonction spécifique de ce dernier conditionnellement à la vérification réussie du certificat du verrouillage CERTlock et à la validité du code utilisateur introduit U_CODE. Les ressources de déverrouillage et d'autorisation d'utilisation sont par exemple avantageusement intégrées au module de calcul cryptographique MC et 10 permettent de maintenir le terminal ou la fonction spécifique Fi verrouillée en l'absence d'autorisation. L'invention couvre également un produit de programme d'ordinateur comportant une suite d'instructions mémorisées sur un support de mémorisation pour exécution par un ordinateur ou par un terminal utilisateur muni d'un processeur de 15 sécurité. Lors de cette exécution, le programme correspondant exécute les étapes du procédé tel que décrit précédemment dans la description en liaison avec les figures 1 et 2. En particulier, le programme précité comporte des modules de 2 0 programmes de cryptographie à clé publique implantés dans le module cryptographique du processeur de sécurité SP et permettant au moins la vérification d'un certificat de verrouillage CERTIock. Le programme précité comporte, en outre, des modules de commandes de déverrouillage et d'autorisation de l'utilisation du terminal ou d'une fonction Fi de 25 ce terminal, conditionnellement à la vérification réussie du certificat de verrouillage et à la validité du code d'utilisateur introduit U CODE. Il permet en outre le maintient du terminal ou d'une fonction technique ou de service de ce terminal en l'état lorsque, au contraire, la condition précitée n'est pas vérifiée. Les modules de commande de déverrouillage sont implantés en zone 30 protégée du processeur de sécurité SP et en particulier dans le module MC par exemple. 2909243 18 Le procédé et le système de contrôle du verrouillage/déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples objets de l'invention apparaissent particulièrement avantageux dans la mesure où ils permettent au fabricant de terminaux de ne pas connaître les codes de déverrouillage des terminaux, 5 entièrement gérés dans le processeur de sécurité du terminal et de prémunir le fabricant de tout risque de soupçon d'être à l'origine d'une fuite des codes de déverrouillage. 10 REVENDICATIONS 1. Procédé de contrôle du verrouillage / déverrouillage des fonctions d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de sécurité, exécutant un système de cryptographie à clé publique, caractérisé en ce qu'il consiste au moins à : (a) allouer audit terminal une clé publique d'origine (KMpub) servant à vérifier l'intégrité des données chargées dans ledit terminal ; (b) engendrer un couple de clés, clé publique (KOPpub), clé privée (KOPp,;,,) associées au réseau d'accès dudit terminal ; (c) engendrer un certificat d'approbation d'origine du terminal (CERTAM) contenant lesdites clés publiques, clé publique d'origine et clé publique associée au réseau d'accès dudit terminal ; (d) établir pour initialisation un certificat de verrouillage dudit terminal (CERTl0 k) contenant au moins ledit certificat d'approbation d'origine du terminal (CERTAM), des données de configuration initiale de ce terminal et une séquence de données aléatoires, et mémoriser ledit certificat de verrouillage et ladite clé 2 0 publique (KOPpub) associée au réseau d'accès dudit terminal, signés numériquement à partir d'une clé privée compatible avec la clé publique d'origine (KMpub), dans une zone sécurisée dudit processeur de sécurité ; et, • sur lancement pour utilisation de ce terminal par introduction d'un code par un utilisateur ; 2 5 (e) vérifier au moins, en l'absence de certificat de déverrouillage (CERTunluck) d'au moins une fonction du terminal ou en présence d'un certificat de déverrouillage (CERTunluck) invalide, l'intégrité dudit certificat de verrouillage (CERT!0 k) et les éléments contenus dans ce certificat de verrouillage ; et, (f) déverrouiller et autoriser l'utilisation du terminal ou d'une fonction spécifique de 30 ce terminal, conditionnellement à la vérification réussie dudit certificat de verrouillage et à la validité du code introduit et maintenir ledit terminal ou ladite 2909243 fonction spécifique verrouillé et ne pas en autoriser l'utilisation, sinon. 2. Procédé selon la revendication 1, caractérisé en ce que, en présence d'un certificat de déverrouillage (CERTunIock) valide, ledit certificat de déverrouillage est substitué audit certificat de verrouillage (CERTIock) pour poursuite du processus. 5 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape de vérification dudit certificat de verrouillage (CERTIock) inclut au moins la transmission, dudit terminal audit processeur de sécurité, du certificat de verrouillage (CERTIock), du certificat de déverrouillage (CERTunlock) s'il existe et du code utilisateur. 10 4. Procédé selon la revendication 3, caractérisé en ce que ledit processeur de sécurité exécute en outre : la vérification de l'intégrité du certificat d'approbation d'origine du terminal (CERTAM) ; et, sur vérification réussie, la validation du certificat de verrouillage (CERTIock) au moyen de ladite clé 15 publique d'origine (KMpub) ; et, suite à cette validation, l'établissement de l'ensemble des codes susceptibles d'être introduits par l'utilisateur, à partir de ladite séquence de données aléatoires conl:enue dans ledit certificat de verrouillage (CERTIock) et d'une fonction spécifique exécutée par ledit processeur de sécurité. 2 0 5. Procédé selon la revendication 4, caractérisé en ce que ladite fonction spécifique permet d'engendrer l'ensemble des codes uniques valides susceptibles d'être engendrés par l'utilisateur, un code associé à une fonction du terminal étant engendré pour un terminal et un seul. 6. Procédé selon la revendication 4 ou 5, caractérisé en ce que ledit processeur de sécurité compare tout code entré par l'utilisateur à l'ensemble des codes uniques valides, et, si le code entré par l'utilisateur ne correspond à aucun des codes de l'ensemble des codes uniques valides, ledit processeur de sécurité engendre un code d'erreur, retourné audit terminal et la configuration du terminal correspondant au certificat 3 0 de verrouillage (CERTIock) ou à un certificat de déverrouillage (CERTänlock) préexistant est maintenue ; sinon, 2909243 21 si le code entré par l'utilisateur correspond à un code unique de l'ensemble des codes uniques, ledit processeur de sécurité engendre un certificat de déverrouillage (CERT,,fiock) relatif à la fonction correspondante et vérifie l'intégrité de ce certificat de déverrouillage. 5 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que l'étape a) est exécutée par le fabricant de terminaux. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que l'étape b) est exécutée par l'opérateur ou fournisseur d'accès réseau. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que 10 l'étape c) est exécutée soit par le fabricant de terminaux, soit par l'opérateur ou le fournisseur d'accès au réseau. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que ladite étape d) est exécutée par le fabricant de terminaux. 11. Système de contrôle du verrouillage/déverrouillage des fonctions 15 d'accès réseau d'un terminal à fonctions multiples muni d'un processeur de sécurité, exécutant un système de cryptographie à clé publique, ledit processeur de sécurité comportant au moins un circuit de contrôle d'entrée-sortie sécurisé, un microcontrôleur et au moins un module de cryptographie à clé publique, caractérisé en ce que ledit terminal comporte au moins : 2 0 des moyens de mémorisation de données cryptographiques incluant une clé publique d'origine servant à vérifier l'intégrité des données chargées dans ledit terminal, une clé publique d'un couple de clés, clé publique, clé privée associées au réseau d'accès dudit terminal, un certificat d'approbation d'origine dudit terminal contenant lesdites clés publiques, clé publique 25 d'origine et clé publique associée audit réseau d'accès du terminal ; et, en ce que le module de cryptographie dudit processeur de sécurité inclut au moins : des moyens de mémorisation sécurisés d'une clé privée compatible avec ladite clé publique d'origine ; des moyens de calcul d'un certificat de verrouillage dudit terminal contenant au moins ledit certificat d'approbation d'origine du terminal, des données de configuration de ce terminal et une séquence de données aléatoires ; 2909243 22 des moyens de signature numérique dudit certificat de verrouillage et de ladite clé publique associée au réseau d'accès dudit terminal, au moyen de ladite clé privée compatible avec ladite clé publique d'origine. 12. Système selon la revendication 11, caractérisé en ce que ledit 5 terminal utilisateur comporte en outre : des moyens de mémorisation d'au moins un code utilisateur associé à une fonction dudit terminal, un certificat de verrouillage et un certificat de déverrouillage, et en ce que ledit module de cryptographie dudit processeur de sécurité comporte en outre : 10 des moyens de vérification, en l'absence de certificat de déverrouillage d'au moins une fonction dudit terminal ou en présence d'un certificat de déverrouillage invalide, de l'intégrité dudit certificat de verrouillage et des éléments contenus dans ce certificat de verrouillage, et en ce que ledit terminal inclut en outre : 15 des moyens de déverrouillage et d'autorisation d'utilisation dudit terminal ou d'une fonction spécifique dudit terminal, conditionnellement à la vérification réussie dudit certificat de verrouillage et à la validité du code utilisateur introduit, lesdits moyens de verrouillage et d'autorisation permettant de maintenir ledit terminal ou ladite fonction spécifique verrouillée, en l'absence 2 0 d'autorisation d'utilisation, sinon. 13. Produit de programme d'ordinateur comportant une suite d'instructions mémorisées sur un support de mémorisation pour exécution par un ordinateur ou par un terminal utilisateur muni d'un processeur de sécurité, caractérisé en ce que, lors de cette exécution, ledit programme exécute les étapes du procédé 25 selon l'une des revendications 1 à 10. 14. Produit de programme d'ordinateur selon la revendication 13, caractérisé en ce que ledit programme comporte des modules de programmes de cryptographie à clé publique implantés dans ledit module cryptographique dudit processeur de sécurité et permettant la vérification d'un certificat de verrouillage. 30 15. Produit de programme d'ordinateur selon la revendication 13 ou 14, caractérisé en ce que ledit programme comporte en outre des modules de commande 2909243 23 de déverrouillage et d'autorisation de l'utilisation du terminal ou d'une fonction du terminal, conditionnellement à la vérification réussie dudit certificat de verrouillage et à la validité du code utilisateur introduit, ou de maintien du terminal ou d'une fonction de service de ce terminal en l'état, sinon, lesdits modules de commande 5 étant implantés en zone protégée dudit processeur de sécurité.