Brevet FR3011434A1 — publié le 20150403

L'invention concerne un terminal, notamment un terminal mobile, fonctionnant sous un système d'exploitation. Le terminal est par exemple de type Smartphone. Le terminal MT fonctionne par exemple sous le système d'exploitation Android. L'invention concerne en outre un procédé de déverrouillage d'un terminal tel que celui-ci. L'invention concerne un terminal adapté pour recevoir une carte embarquée comprenant un premier élément de sécurité adapté pour fournir des clefs de chiffrement, ledit terminal comprenant : un capteur adapté pour capter une empreinte digitale et en extraire des minuties un clavier permettant la saisie d'un code de sécurité un module comportant : o un deuxième élément de sécurité comprenant des minuties de référence et un code d'accès de référence au premier élément de sécurité embarqué o une application de biométrie adaptée pour analyser des minuties provenant du capteur, et les comparer avec les minuties de référence o des moyens de calcul adaptés pour calculer un code d'accès en fonction d'un code de sécurité reçu du clavier, et comparer ledit code d'accès avec le code d'accès de référence o des moyens d'envoi du code d'accès calculé au premier élément de sécurité. L'invention concerne également un procédé de déverrouillage d'un terminal comportant au moins un premier élément de sécurité dans une carte d'embarquée, un deuxième élément de sécurité dans un module, un troisième élément de sécurité dans un capteur et un microprocesseur, le premier élément de sécurité comportant au moins une clé de chiffrement, caractérisé en ce qu'il comporte les étapes suivantes : - Réalisation d'un test par le microprocesseur, ledit test étant positif s'il s'agit d'un premier démarrage du terminal et négatif s'il ne s'agit pas d'un premier démarrage du terminal - En cas de test positif, réalisation des étapes suivantes par le microprocesseur : o Mise du troisième élément de sécurité du capteur dans un état d'attente d'une clé d'appariement, o Demande au deuxième élément de sécurité du module de produire la clé d'appariement, le deuxième élément de sécurité du module enregistrant la clé d'appariement produite de manière sécurisé dans une mémoire du module, o Réception de la clé d'appariement produite, o Transmission de la clé d'appariement reçue au premier élément de sécurité de la carte embarquée, le premier élément de sécurité enregistrant la clé d'appariement reçue de manière sécurisé dans une mémoire de la carte embarquée, o Oubli de la clé d'appariement, - En cas de test négatif : o En cas de production d'une information de déverrouillage par le capteur, transmission vers le module de l'information de déverrouillage en utilisant la clé d'appariement, o Utilisation de l'information de déverrouillage par le module pour fournir un code d'accès au premier élément de sécurité, afin d'accéder à la clé de chiffrement. Dans un mode de réalisation, l'information de déverrouillage comporte des minuties produites par le capteur à partir d'une empreinte digitale captée par ledit capteur. En références aux figures 1 et 2 : Le terminal comporte un microprocesseur QC, un capteur FP et un module STG. Le microprocesseur QC communique avec une mémoire vive RM et une mémoire flash FL. Le terminal MT est adapté pour embarquer une carte CSD, par exemple une carte Secure Digital ou une carte Subscriber Identity Module. Les communications entre le capteur FP, le module STG et la carte SD transitent toutes par le microprocesseur QC (non représenté à la figure 1). Le capteur FP communique avec le module STG. Le clavier KB communique avec le module STG. Le module STG communique avec la carte CSD lorsque la carte CSD est embarquée. Le capteur FP est un capteur à empreintes digitales DG. Le capteur FP est adapté pour capter une empreinte digitale DG et en extraire des minuties MIN. Les minuties sont des points caractéristiques d'une empreinte digitale. Le clavier KB permet la saisie d'un code de sécurité K_STG associé à la carte CSD. Le code de sécurité a par exemple été choisi par le détenteur de la carte CSD, ou alors il s'agit d'un code de sécurité par défaut de la carte CSD. Lorsque la carte CSD est embarquée, le terminal MT comporte trois éléments de sécurité SE_SD, SE_STG, SE_FP (en anglais « Secure Element ») : - Un premier élément de sécurité embarqué SE_CSD (en anglais « Embedded Secure Element ») compris dans la carte embarquée CSD dans le terminal MT, - Un deuxième élément de sécurité SE_STG compris dans le module STG du terminal MT - Un troisième élément de sécurité SE_FP compris dans le capteur FP du terminal MT. Un élément de sécurité (en anglais « Secure Element ») est un coffre-fort électronique. On ne peut pas accéder à un élément de sécurité sans passer par le microprocesseur du terminal. Le premier élément de sécurité SE_CSD est adapté pour fournir des clefs de chiffrement K_ENC, notamment : des clefs de chiffrement de messages texte de type SMS - des clefs de chiffrement de communications voix des clefs de chiffrement d'une partition du système d'exploitation, par exemple une partition « data ». En effet, la partition « data » est chiffrée (et donc non-accessible) au démarrage du terminal. Lorsque ces clefs de chiffrement K_ENC sont fournies au microprocesseur QC, on considère que le terminal MT est déverrouillé. Pour obtenir les clefs de chiffrement K_ENC, l'accès au premier élément de sécurité SE_CSD doit être autorisé. Un code d'accès K_CSD permet d'accéder au premier élément de sécurité SE_CSD. Il y a deux façons de déverrouiller le terminal MT, c'est-à-dire d'obtenir les clefs de chiffrement K_ENC, c'est-à-dire d'accéder au premier élément de sécurité SE_CSD : par le capteur FP ou par le clavier KB. Le module STG comporte : le deuxième élément de sécurité SE_STG comprenant des minuties de référence MIN_REF et un code d'accès de référence K_CSD_REF au premier élément de sécurité embarqué SE_CSD. une application de biométrie BM adaptée pour analyser des minuties MIN provenant du capteur FP, et les comparer avec les minuties de référence MIN R. des moyens de calcul adaptés pour calculer un code d'accès K_CSD en fonction d'un code de sécurité K_STG reçu du clavier KB, et comparer ledit code d'accès K_CSD avec le code d'accès de référence K CSD REF _ _ des moyens d'envoi du code d'accès calculé K_CSD au premier élément de sécurité SE_CSD. Les minuties de référence MIN_REF et le code d'accès de référence K_CSD_REF sont protégés car ils sont dans le deuxième élément de sécurité SE_STG. Déverrouillage du terminal MT par le clavier KB : Si le code de sécurité K_STG correspond au code d'accès de référence K_STG_REF, alors le code d'accès K_CSD calculé par les moyens de calcul du module STG correspond au code d'accès de référence K_CSD_REF permettant d'accéder au premier élément de sécurité SE_CSD. Le code d'accès K_CSD est envoyé au premier élément de sécurité SE_CSD qui détecte que ce code d'accès est bon. Le premier élément de sécurité SE_CSD fournit alors les clefs de chiffrement K_ENC et le terminal MT est déverrouillé. Si le code de sécurité K_STG ne correspond pas au code d'accès de référence K_STG_REF, alors le code d'accès K_CSD calculé par les moyens de calcul du module STG ne correspond au code d'accès de référence K_CSD_REF permettant d'accéder au premier élément de sécurité SE_CSD. Le code d'accès K_CSD est envoyé au premier élément de sécurité SE_CSD qui détecte que ce code d'accès est faux. Le premier élément de sécurité SE_CSD ne fournit pas les clefs de chiffrement K_ENC ; le terminal MT n'est pas déverrouillé. Déverrouillage du terminal par le capteur FP : Si les minuties MIN provenant du capteur correspondent aux minuties de référence MIN_REF, alors le code d'accès de référence K_CSD_REF est envoyé au premier élément de sécurité SE_CSD qui détecte que ce code d'accès est bon. Le premier élément de sécurité SE_CSD fournit alors les clefs de chiffrement K_ENC et le terminal MT est déverrouillé. Si les minuties MIN provenant du capteur ne correspondent aux minuties de référence MIN_REF, alors le procédé est terminé. Le terminal MT n'est pas déverrouillé. Le tout premier déverrouillage est réalisé par le clavier, afin que le code d'accès de référence K_CSD_REF soit calculé et enregistré dans le deuxième élément de sécurité SE_STG, afin d'être accessible par la suite dans le cas d'un déverrouillage par le capteur FP. Sécurisation vis-à-vis du microprocesseur QC : Toutes les communications entre les éléments du terminal MT transitent par le microprocesseur QC. Or le microprocesseur QC n'est pas nécessairement sûr : il convient donc de chiffrer les données transitant par le microprocesseur QC, afin que celui-ci ne voit passer que des données chiffrées. Les minuties de référence MIN_REF et le code d'accès de référence K_CSD_REF ne sont pas connus du microprocesseur QC ; ils ne sont connues que du capteur FP et du module STG. A cette fin le module STG comporte une zone ZSTARTO qui est vierge à la naissance du module STG, c'est-à-dire au moment où le module STG est créé en usine. Cette zone ZSTARTO est écrite une et une seule fois au premier démarrage du module STG. .6 A chaque mise sous tension du terminal TM, le microprocesseur QC lit la zone ZSTARTO, s'il s'agit du premier démarrage alors la zone est vierge, dans ce cas le microprocesseur QC effectue les actions suivantes : il passe le module FP dans un état d'attente d'une clé d'appariement KFPSTG, il passe le module STG dans un état de production de ladite clé d'appariement KFPSTG, une fois la clé d'appariement KFPSTG produite par le module STG, le microprocesseur la transmet au capteur FP. Après ces actions le capteur FP et le module STG partagent un secret : la clé d'appariement KFPSTG. Le microprocesseur QC effectue alors une étape d'oubli de la clé d'appariement, par exemple un redémarrage. Le capteur FP et le module STG sont alors appariés. Le redémarrage va provoquer l'initialisation de la zone ZTARTO ce qui fait que les actions décrites précédemment pour le premier démarrage ne seront plus jamais exécutées. A la suite du premier démarrage toute les communications entre le capteur FP et le module STG sont chiffrées en utilisant la clé d'appariement KFPSTG. Cette clé d'appariement KFPSTG est protégée par chacun des deux modules. Dans la pratique aucune communication n'a lieu entre ces deux modules avant leur appariement. Dans la mesure où le seul moment durant lequel la clé d'appariement KFPSTG est vulnérable est lors du premier démarrage, car elle est transmise en clair au microprocesseur QC, ce premier démarrage est de préférence exécuté avant la livraison du terminal MT à son premier utilisateur. REVENDICATIONS: 1. Terminal (MT) adapté pour recevoir une carte embarquée (CSD) comprenant un premier élément de sécurité (SE_CSD) adapté pour fournir des clefs de chiffrement (K_ENC), ledit terminal (MT) comprenant : un capteur (FP) adapté pour capter une empreinte digitale (DG) et en extraire des minuties (MIN) un clavier (KB) permettant la saisie d'un code de sécurité (K_STG) un module (STG) comportant : o un deuxième élément de sécurité (SE _STG) comprenant des minuties de référence (MIN_REF) et un code d'accès de référence (K _ CSD _ REF) au premier élément de sécurité embarqué (SE_CSD) o une application de biométrie (BM) adaptée pour analyser des minuties (MIN) provenant du capteur (FP), et les comparer avec les minuties de référence (MIN_REF) o des moyens de calcul adaptés pour calculer un code d'accès (K_CSD) en fonction d'un code de sécurité (K_STG) reçu du clavier (KB), et comparer ledit code d'accès (K_CSD) avec le code d'accès de référence (K_CSD_REF) o des moyens d'envoi du code d'accès calculé (K_CSD) au premier élément de sécurité (SE_CSD). 2. Procédé (METH) de déverrouillage d'un terminal (MT) comportant au moins un premier élément de sécurité (SE_CSD) dans une carte d'embarquée (CSD), un deuxième élément de sécurité (SE _STG) dans un module (STG), un troisième élément de sécurité (SE _FP) dans un capteur (FP) et un microprocesseur (QC), le premier élément de sécurité (SE_CSD) comportant au moins une clé de chiffrement (K_ENC), caractérisé en ce qu'il comporte les étapes suivantes : Réalisation d'un test par le microprocesseur (QC), ledit test étant positif s'il s'agit d'un premier démarrage du terminal (MT) et négatif s'il ne s'agit pas d'un premier démarrage du terminal (MT) En cas de test positif, réalisation des étapes suivantes par le microprocesseur (QC)o Mise du troisième élément de sécurité (SE_FP) du capteur (FP) dans un état d'attente d'une clé d'appariement (KFPSTG), o Demande au deuxième élément de sécurité (SE_FP) du module (STG) de produire la clé d'appariement (KFPSTG), le deuxième élément de sécurité (SE_FP) du module (STG) enregistrant la clé d'appariement (KFPSTG) produite de manière sécurisé dans une mémoire du module (STG), o Réception de la clé d'appariement (KFPSTG) produite, o Transmission de la clé d'appariement (KFPSTG) reçue au premier élément de sécurité (SE _CSD) de la carte embarquée (CSD), le premier élément de sécurité (SE _CSD) enregistrant la clé d'appariement (KFPSTG) reçue de manière sécurisé dans une mémoire de la carte embarquée (CSD), o Oubli de la clé d'appariement (KFPSTG), En cas de test négatif : o En cas de production d'une information de déverrouillage par le capteur (FP), transmission vers le module (STG) de l'information de déverrouillage en utilisant la clé d'appariement (KFPSTG), o Utilisation de l'information de déverrouillage par le module (STG) pour fournir un code d'accès (K CSD) au premier élément de sécurité (SE CSD), afin _ (SE_ CSD), à la clé de chiffrement (K_ENC). 3. Procédé (METH) selon la revendication 2, caractérisé en ce que l'information de déverrouillage comporte des minuties (MIN) produites par le capteur (FP) à partir d'une empreinte digitale (DG) captée par ledit capteur (FP).