FR3140458A1 - Connected terminal comprising means for embedding a secure image in an insecure image. - Google Patents

Connected terminal comprising means for embedding a secure image in an insecure image. Download PDF

Info

Publication number
FR3140458A1
FR3140458A1 FR2304933A FR2304933A FR3140458A1 FR 3140458 A1 FR3140458 A1 FR 3140458A1 FR 2304933 A FR2304933 A FR 2304933A FR 2304933 A FR2304933 A FR 2304933A FR 3140458 A1 FR3140458 A1 FR 3140458A1
Authority
FR
France
Prior art keywords
secure
secure element
image
display
application processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2304933A
Other languages
French (fr)
Inventor
Emmanuel Denis HAMEAU Patrice
Christian KALUZA
Kevin MEUDIC
Bruno Charrat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR2209987A external-priority patent/FR3140462A1/en
Priority claimed from FR2209984A external-priority patent/FR3140463A1/en
Application filed by Individual filed Critical Individual
Priority to PCT/FR2023/051471 priority Critical patent/WO2024069088A1/en
Priority to PCT/FR2023/051472 priority patent/WO2024069089A1/en
Priority to PCT/FR2023/051470 priority patent/WO2024069087A1/en
Priority to PCT/FR2023/051473 priority patent/WO2024069090A2/en
Publication of FR3140458A1 publication Critical patent/FR3140458A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Procédé pour conduire une opération sécurisée au moyen d'un terminal connecté (SPH6) comprenant un processeur d'application (APROC), un élément sécurisé (eSE) configuré pour réaliser l'opération au moyen d'une clé privée, et un afficheur (DISP) recevant du processeur d'application des images non sécurisées relatives au déroulement de l'opération sécurisée. Le procédé comprend une étape consistant à incruster, dans au moins une image non sécurisée fournie par le processeur d'application et présentée sur l'afficheur, une image sécurisée fournie par l'élément sécurisé et non accessible au processeur d'application, l'image sécurisée comprenant des informations sur l'opération sécurisée et s'étendant dans au moins une région (10) déterminée de l'afficheur. Fig. 8Method for carrying out a secure operation by means of a connected terminal (SPH6) comprising an application processor (APROC), a secure element (eSE) configured to carry out the operation by means of a private key, and a display ( DISP) receiving from the application processor unsecured images relating to the progress of the secure operation. The method comprises a step consisting of embedding, in at least one unsecured image provided by the application processor and presented on the display, a secure image provided by the secure element and not accessible to the application processor, the secure image comprising information on the secure operation and extending in at least one determined region (10) of the display. Fig. 8

Description

Terminal connecté comprenant des moyens pour incruster une image sécurisée dans une image non sécurisée.Connected terminal comprising means for embedding a secure image in an insecure image.

La présente invention concerne l'intégration d'une fonction sécurisée dans un terminal connecté tel un smartphone, et notamment l'intégration d'une fonction de portefeuille matériel de cryptoactifs. La présente invention concerne également le contrôle d'informations présentées à un utilisateur sur un écran du terminal pendant la réalisation d'une opération sécurisée.The present invention relates to the integration of a secure function in a connected terminal such as a smartphone, and in particular the integration of a hardware cryptoasset wallet function. The present invention also relates to controlling information presented to a user on a terminal screen while performing a secure operation.

Arrière-planBackground

Ces dernières années, le développement des cryptomonnaies ou autres types de cryptoactifs gérés par la blockchain, tels que les jetons non fongibles (« NFT ») et les contrats intelligents ("Smart Contracts"), a donné naissance à divers moyens de stockage et de conservation des clés privées attachées à ces différents types de cryptoactifs. C’est ainsi que sont apparues les notions de "portefeuille", de "stockage à froid" et de stockage "à chaud" de clés privées. Un "portefeuille", appelé aussi "porte-monnaie", est un appareil ou un programme dont la fonction est de gérer des cryptoactifs, et donc de stocker les clés privées qui y sont attachées. Les portefeuilles dits "chauds" ("hot wallets") sont connectés à Internet et susceptibles d’attaques de pirates ou d’exposition à des virus et malwares. Il peut s’agir de portefeuilles gérés par des plateformes d’échange centralisé, qui n’offrent pas le plus haut niveau de sécurité. Les portefeuilles "chauds" peuvent aussi prendre la forme de programmes installés sur des téléphones mobiles, tablettes ou ordinateurs personnels ("software wallets"). De tels portefeuilles sont en permanence connectés à Internet et intègrent de nombreuses applications non sécurisées, donc eux-mêmes susceptibles d’attaques.In recent years, the development of cryptocurrencies or other types of cryptoassets managed by the blockchain, such as non-fungible tokens (“NFTs”) and smart contracts (“Smart Contracts”), has given rise to various means of storage and conservation of private keys attached to these different types of cryptoassets. This is how the notions of “wallet”, “cold storage” and “hot” storage of private keys appeared. A “wallet”, also called a “purse”, is a device or program whose function is to manage cryptoassets, and therefore to store the private keys attached to them. So-called “hot wallets” are connected to the Internet and susceptible to hacker attacks or exposure to viruses and malware. These may be wallets managed by centralized exchange platforms, which do not offer the highest level of security. “Hot” wallets can also take the form of programs installed on mobile phones, tablets or personal computers (“software wallets”). Such wallets are permanently connected to the Internet and integrate numerous insecure applications, therefore themselves susceptible to attacks.

Les portefeuilles froids ("cold wallets") constituent la solution la plus sûre pour le stockage à froid ("cold storage") de clés privées, c'est-à-dire hors de tout accès direct à Internet, ce qui réduit la surface d'attaque et donc le risque de vol par piratage informatique. Les transactions mettant en jeu des clés privées sont signées dans un environnement hors ligne. Toute transaction initiée en ligne est temporairement transférée vers le portefeuille matériel hors ligne, où elle est ensuite signée numériquement avant d'être transmise au réseau en ligne. Comme la clé privée n’est pas communiquée au serveur en ligne pendant le processus de signature, un pirate informatique ne peut pas y accéder.Cold wallets constitute the safest solution for cold storage of private keys, that is to say outside of any direct access to the Internet, which reduces the surface area of attack and therefore the risk of theft by computer hacking. Transactions involving private keys are signed in an offline environment. Any transaction initiated online is temporarily transferred to the offline hardware wallet, where it is then digitally signed before being transmitted to the online network. Since the private key is not communicated to the online server during the signing process, a hacker cannot access it.

Les portefeuilles ou portes-monnaies matériels appelés "hardware wallets" constituent une alternative pratique aux portefeuilles passifs pour stocker des clés privées. De plus, ils sont généralement configurés pour générer des phrases de récupération ("recovery phrases") permettant de restaurer les clés privées s’ils sont perdus. Rappelons que les cryptoactifs ne sont jamais stockés dans un portefeuille matériel, mais se trouvent enregistrés sur la blockchain. Un portefeuille matériel ne fait que stocker les clés privées permettant de gérer les transactions sur la blockchain. Les clés publiques correspondant aux clés privées pointent vers une adresse sur la blockchain où se trouvent réellement les actifs.Hardware wallets are a practical alternative to passive wallets for storing private keys. In addition, they are generally configured to generate recovery sentences allowing private keys to be restored if they are lost. Remember that cryptoassets are never stored in a hardware wallet, but are recorded on the blockchain. A hardware wallet only stores the private keys used to manage transactions on the blockchain. Public keys corresponding to private keys point to an address on the blockchain where the assets are actually located.

Comme montré sur la , un portefeuille matériel HW n’est jamais directement connecté à Internet. Pour être utilisable, le portefeuille matériel HW doit être relié à un dispositif hôte HDV au moyen d’une liaison de données LNK, par exemple USB ou Bluetooth. Le dispositif hôte HDV peut être un ordinateur, un téléphone mobile ou une tablette, et exécute un logiciel dit "compagnon" permettant de conduire des transactions sur la blockchain BCN, tel que le logiciel "Ledger Live" développé par la demanderesse. Alternativement, le portefeuille matériel HW peut être utilisé, par l'intermédiaire du dispositif hôte HDV avec des plateformes d’échange décentralisées ou "DEX", sur lesquelles l’utilisateur peut réaliser des transactions tout en conservant ses clés dans le portefeuille matériel.As shown on the , an HW hardware wallet is never directly connected to the Internet. To be usable, the HW hardware wallet must be connected to an HDV host device using an LNK data link, for example USB or Bluetooth. The HDV host device can be a computer, a mobile phone or a tablet, and runs so-called “companion” software making it possible to conduct transactions on the BCN blockchain, such as the “Ledger Live” software developed by the applicant. Alternatively, the HW hardware wallet can be used, through the HDV host device with decentralized exchange platforms or "DEXs", on which the user can transact while retaining their keys in the hardware wallet.

Les portefeuilles matériels commercialisés par la demanderesse ont connu un important succès commercial en raison du haut degré de sécurité qu’ils offrent, grâce à l’utilisation d’un élément sécurisé ou "secure element" pour conserver les clés privées et signer les transactions. Un élément sécurisé est une plate-forme matérielle capable de stocker et de manipuler des données en conformité avec les règles et les exigences de sécurité fixées par une autorité de confiance. Il se présente sous la forme d’une puce de semi-conducteur mettant en œuvre diverses contre-mesures visant à contrer des attaques de fraudeurs.The hardware wallets marketed by the applicant have enjoyed significant commercial success due to the high degree of security they offer, thanks to the use of a secure element to store private keys and sign transactions. A secure element is a hardware platform capable of storing and manipulating data in compliance with security rules and requirements set by a trusted authority. It comes in the form of a semiconductor chip implementing various countermeasures aimed at countering attacks by fraudsters.

La montre l’architecture d’un portefeuille matériel HW1 du type commercialisé par la demanderesse sous l’appellation "Nano S". Le portefeuille matériel HW1 comporte un élément sécurisé SE1 associé à un microcontrôleur MCU1. Le microcontrôleur MCU1 comporte une interface USB U1 et agit comme un dispositif mandataire (proxy) à l’égard de l’élément sécurisé SE1, pour la communication avec un dispositif hôte externe HDV exécutant un logiciel compagnon (Cf. ). L’élément sécurisé SE1 possède son propre système d’exploitation OS sécurisé (micrologiciel) lui permettant d’exécuter des programmes APP, et intègre un coprocesseur cryptographique CRY. Le portefeuille matériel HW1 comporte également un afficheur DISP1 et deux boutons B1, B2 gérés par le microcontrôleur MCU1. L’utilisateur doit appuyer en même temps sur les deux boutons afin de manifester son accord ou consentement pour la réalisation ou la finalisation de ces opérations.There shows the architecture of an HW1 hardware wallet of the type marketed by the applicant under the name "Nano S". The HW1 hardware wallet includes a secure element SE1 associated with a microcontroller MCU1. The microcontroller MCU1 includes a USB interface U1 and acts as a proxy device with regard to the secure element SE1, for communication with an external HDV host device running companion software (Cf. ). The secure element SE1 has its own secure OS operating system (firmware) allowing it to execute APP programs, and integrates a CRY cryptographic coprocessor. The HW1 hardware wallet also includes a DISP1 display and two buttons B1, B2 managed by the MCU1 microcontroller. The user must press both buttons at the same time in order to express their agreement or consent for carrying out or finalizing these operations.

Les portefeuilles matériels du type qui vient d'être décrit sont dépourvus de connectivité Internet et doivent être couplés à un dispositif hôte comme un terminal mobile ou smartphone au moment d'effectuer une transaction. Ils offrent un haut degré de sécurité du fait qu'ils sont la plupart du temps inaccessibles via les réseaux publics et donc peu exposés aux attaques. Cependant, cette caractéristique les rend peu ergonomiques et susceptibles d'égarement ou d'oubli.Hardware wallets of the type just described lack Internet connectivity and must be paired with a host device such as a mobile terminal or smartphone when carrying out a transaction. They offer a high degree of security due to the fact that they are most of the time inaccessible via public networks and therefore little exposed to attacks. However, this characteristic makes them not very ergonomic and susceptible to misplacement or forgetting.

On a ainsi proposé des smartphones dits "blockchain" qui, tout en offrant les fonctionnalités habituelles d'un téléphone mobile, intègrent une fonctionnalité de portefeuille matériel de cryptomonnaies. tels le modèle Galaxy S10 de Samsung®, le modèle Exodus 1 de HTC®, ou le modèle Finney de Sirin Labs®. De tels smartphones sont communément appelés "smartphones blockchain" ou "crypto-smartphones". A l'instar des portefeuilles matériels, de tels smartphones sont équipés d’un élément sécurisé embarqué et d'un espace de stockage interne inaccessible par l’Internet, permettant de constituer un portefeuille de cryptomonnaies. Dans d'autres réalisations, le processeur principal dispose d'une enclave sécurisée ou environnement d'exécution de confiance TEE ("Trusted Execution Environment") en lieu et place de l'élément sécurisé.So-called “blockchain” smartphones have thus been proposed which, while offering the usual functionalities of a mobile phone, integrate a hardware cryptocurrency wallet functionality. such as the Galaxy S10 model from Samsung®, the Exodus 1 model from HTC®, or the Finney model from Sirin Labs®. Such smartphones are commonly called “blockchain smartphones” or “crypto-smartphones”. Like hardware wallets, such smartphones are equipped with an onboard secure element and internal storage space inaccessible via the Internet, allowing you to create a cryptocurrency portfolio. In other embodiments, the main processor has a secure enclave or trusted execution environment TEE ("Trusted Execution Environment") in place of the secure element.

Malgré ces précautions, la mise en œuvre d'un portefeuille matériel à l'intérieur d'un smartphone augmente inévitablement l'exposition du portefeuille aux attaques par Internet, et n'offre pas les mêmes avantages en termes de sécurité qu'un véritable portefeuille froid. Par ailleurs, il n'est pas possible pour l'utilisateur de savoir de façon sûre si des données affichées sont fiables, car elles pourraient être fournies par un programme malveillant.Despite these precautions, implementing a hardware wallet inside a smartphone inevitably increases the wallet's exposure to Internet attacks, and does not provide the same security benefits as a real wallet. cold. Furthermore, it is not possible for the user to know for sure whether the data displayed is reliable, as it could be provided by a malicious program.

Il pourrait donc être souhaité d'améliorer la sécurité offerte par les terminaux portatifs connectés de type smartphone intégrant un portefeuille matériel de cryptomonnaies.It could therefore be desired to improve the security offered by connected portable terminals such as smartphones integrating a hardware cryptocurrency wallet.

RésuméSummary

Des modes de réalisations concernent un terminal connecté configuré pour exécuter une opération sécurisée, le terminal comprenant un processeur d'application configuré pour initier l'opération sécurisée, un élément sécurisé pour exécuter l'opération sécurisée, et un afficheur accessible par l'intermédiaire d'un bus câblé et recevant du processeur d'application des données d'image à afficher à l'attention d'un utilisateur, le terminal comprenant des moyens contrôlés par l'élément sécurisé et configurés pour, à la demande de l'élément sécurisé et au moins pendant l'exécution de l'opération sécurisée, appliquer alternativement sur le bus câblé de l'afficheur des données d'image fournies par le processeur d'application et des données d'image fournies par l'élément sécurisé, de manière à ce que les données d'image fournies par l'élément sécurisé remplacent des données d'image fournies par le processeur d'application et forment une image sécurisée incrustée dans une image non sécurisée fournie par le processeur d'application, l'image sécurisée s'étendant dans au moins une région déterminée de l'afficheur.Embodiments relate to a connected terminal configured to execute a secure operation, the terminal comprising an application processor configured to initiate the secure operation, a secure element to execute the secure operation, and a display accessible via 'a bus wired and receiving from the application processor image data to be displayed to the attention of a user, the terminal comprising means controlled by the secure element and configured to, at the request of the secure element and at least during the execution of the secure operation, alternately apply to the wired bus of the display image data supplied by the application processor and image data supplied by the secure element, so as to that the image data provided by the secure element replaces image data provided by the application processor and forms a secure image embedded in an insecure image provided by the application processor, the secure image extending in at least one determined region of the display.

Selon un mode de réalisation, le terminal comprend au moins un indicateur lumineux activé par l'élément sécurisé lorsque l'élément sécurisé incruste une image sécurisée dans une image non sécurisée fournie par le processeur d'application.According to one embodiment, the terminal comprises at least one light indicator activated by the secure element when the secure element embeds a secure image in an insecure image provided by the application processor.

Selon un mode de réalisation, le terminal comprend des moyens pour indiquer à l'utilisateur l'emplacement et l'étendue de la région dans laquelle est affichée l'image sécurisée incrustée.According to one embodiment, the terminal comprises means for indicating to the user the location and extent of the region in which the embedded secure image is displayed.

Selon un mode de réalisation, les moyens pour indiquer l'emplacement et l'étendue de la région dans laquelle est affichée l'image sécurisée incrustée comprennent une rangée d'indicateurs lumineux contrôlée par l'élément sécurisé et agencée en bordure de l'afficheur.According to one embodiment, the means for indicating the location and extent of the region in which the embedded secure image is displayed comprise a row of light indicators controlled by the secure element and arranged at the edge of the display .

Selon un mode de réalisation, les moyens pour indiquer l'emplacement, de la région dans laquelle est affichée l'image sécurisée incrustée comprennent une région de l'afficheur qui est en permanence sous le contrôle de l'élément sécurisé, et qui affiche une apparence déterminée, et une bordure de la région dans laquelle est affichée l'image sécurisée incrustée, qui présente la même apparence que la région de l'afficheur qui est en permanence sous le contrôle de l'élément sécurisé.According to one embodiment, the means for indicating the location of the region in which the embedded secure image is displayed comprise a region of the display which is permanently under the control of the secure element, and which displays a determined appearance, and a border of the region in which the embedded secure image is displayed, which has the same appearance as the region of the display which is permanently under the control of the secure element.

Selon un mode de réalisation, les moyens configurés pour appliquer alternativement sur le bus câblé de l'afficheur des données d'image fournies par le processeur d'application et des données d'image fournies par l'élément sécurisé, comprennent un multiplexeur recevant sur une première entrée les données d'image fournies par le processeur d'application et sur une seconde entrée les données d'image fournies par l'élément sécurisé, un circuit de commande du multiplexeur, configuré pour commander le multiplexeur en fonction d'une donnée de configuration fournie par l'élément sécurisé.According to one embodiment, the means configured to alternately apply to the wired bus of the display image data supplied by the application processor and image data supplied by the secure element, comprise a multiplexer receiving on a first input the image data provided by the application processor and on a second input the image data provided by the secure element, a multiplexer control circuit, configured to control the multiplexer as a function of data configuration provided by the secure element.

Selon un mode de réalisation, le circuit de commande est configuré pour commander le multiplexeur avec une finesse d'incrustation déterminée des données d'image fournies par l'élément sécurisé, ladite finesse d'incrustation étant à l'échelle d'une ligne ou à l'échelle d'un pixel des données d'image fournies par le processeur d'application.According to one embodiment, the control circuit is configured to control the multiplexer with a determined fineness of inlay of the image data provided by the secure element, said fineness of inlay being on the scale of a line or at the pixel level of the image data provided by the application processor.

Selon un mode de réalisation, l'élément sécurisé est configuré pour, avant de réaliser l'opération, incruster dans une image non sécurisée fournie par le processeur d'application une image sécurisée comprenant des informations sur l'opération sécurisée.According to one embodiment, the secure element is configured to, before carrying out the operation, embed in an insecure image provided by the application processor a secure image comprising information on the secure operation.

Selon un mode de réalisation, le terminal comprend en outre un dispositif de saisie fournissant des données tactiles sur un bus de données, et un démultiplexeur commandé par l'élément sécurisé et configuré pour relier le bus de données du dispositif de saisie à un bus du processeur d'application ou à un bus de l'élément sécurisé.According to one embodiment, the terminal further comprises an input device providing tactile data on a data bus, and a demultiplexer controlled by the secure element and configured to connect the data bus of the input device to a bus of the input device. application processor or to a bus of the secure element.

Selon un mode de réalisation, l'élément sécurisé est configuré pour se relier au dispositif de saisie pendant l'affichage d'informations sur l'opération dans l'image sécurisée.According to one embodiment, the secure element is configured to connect to the input device while displaying information about the operation in the secure image.

Selon un mode de réalisation, le terminal comprend un bouton physique actionnable par l'utilisateur et surveillé par l'élément sécurisé, dans lequel l'élément sécurisé est configuré pour ne pas réaliser l'opération en l'absence d'une action de l'utilisateur sur le bouton physique.According to one embodiment, the terminal comprises a physical button operable by the user and monitored by the secure element, in which the secure element is configured not to carry out the operation in the absence of an action from the user on the physical button.

Selon un mode de réalisation, l'élément sécurisé et les moyens pour appliquer alternativement sur le bus câblé de l'afficheur des données d'image fournies par le processeur d'application et des données d'image fournies par l'élément sécurisé, sont intégrés en tout ou en partie dans un système-en-boîtier ou dans un système-sur-puce monté sur un support d’interconnexion du terminal.According to one embodiment, the secure element and the means for applying alternately to the wired bus of the display image data provided by the application processor and image data provided by the secure element, are integrated in whole or in part in a system-in-package or in a system-on-chip mounted on a terminal interconnection support.

Selon un mode de réalisation, l'opération secrète comprend une étape de signature d'une donnée au moyen d'une clé secrète.According to one embodiment, the secret operation comprises a step of signing data using a secret key.

Des modes de réalisation concernent également un procédé pour conduire une opération sécurisée au moyen d'un terminal connecté, notamment la signature d'une donnée au moyen d'une clé secrète, le terminal comprenant un processeur d'application configuré pour initier l'opération sécurisée, un élément sécurisé détenant une clé privée et configuré pour exécuter l'opération sécurisée, et un afficheur accessible par l'intermédiaire d'un bus câblé et recevant du processeur d'application des images non sécurisées relatives au déroulement de l'opération sécurisée, le procédé comprenant une étape consistant à incruster, dans au moins une image non sécurisée fournie par le processeur d'application et présentée sur l'afficheur, une image sécurisée fournie par l'élément sécurisé et non accessible au processeur d'application, l'image sécurisée comprenant des informations sur l'opération et s'étendant dans au moins une région déterminée de l'afficheur, l'étape d'incrustation étant sous le contrôle de l'élément sécurisé et ne pouvant pas être empêchée ou corrompue par le processeur d'application.Embodiments also relate to a method for conducting a secure operation by means of a connected terminal, in particular the signing of data by means of a secret key, the terminal comprising an application processor configured to initiate the operation secure, a secure element holding a private key and configured to execute the secure operation, and a display accessible via a wired bus and receiving from the application processor unsecured images relating to the progress of the secure operation , the method comprising a step consisting of embedding, in at least one insecure image provided by the application processor and presented on the display, a secure image provided by the secure element and not accessible to the application processor, 'secure image comprising information on the operation and extending in at least one determined region of the display, the inlay step being under the control of the secure element and cannot be prevented or corrupted by the application processor.

Selon un mode de réalisation, le terminal comprend le procédé comprend l'étape consistant à prévoir dans le terminal des moyens contrôlés par l'élément sécurisé et configurés pour, à la demande de l'élément sécurisé, appliquer alternativement sur le bus câblé de l'afficheur des données d'image fournies par le processeur d'application et des données d'image fournies par l'élément sécurisé, de manière à ce que les données d'image fournies par l'élément sécurisé remplacent des données d'image fournies par le processeur d'application et forment ladite image sécurisée incrustée dans l'image non sécurisée fournie par le processeur d'application.According to one embodiment, the terminal comprises the method comprises the step of providing in the terminal means controlled by the secure element and configured to, at the request of the secure element, apply alternately to the wired bus of the displaying image data provided by the application processor and image data provided by the secure element, such that the image data provided by the secure element replaces image data provided by the application processor and form said secure image embedded in the insecure image provided by the application processor.

Selon un mode de réalisation, le procédé comprend la prévision dans le terminal d'au moins un indicateur lumineux, et comprenant une étape d'activation de l'indicateur lumineux par l'élément sécurisé lorsque l'élément sécurisé incruste une image sécurisée dans une image non sécurisée fournie par le processeur d'application.According to one embodiment, the method comprises the provision in the terminal of at least one light indicator, and comprising a step of activating the light indicator by the secure element when the secure element embeds a secure image in a insecure image provided by the application processor.

Selon un mode de réalisation, le procédé comprend une étape consistant à indiquer à l'utilisateur l'emplacement et l'étendue de la région dans laquelle est affichée l'image sécurisée incrustée.According to one embodiment, the method comprises a step consisting of indicating to the user the location and extent of the region in which the embedded secure image is displayed.

Selon un mode de réalisation, l'emplacement et l'étendue de la région dans laquelle est affichée l'image sécurisée incrustée sont indiqués au moyen d'une rangée d'indicateurs lumineux contrôlée par l'élément sécurisé et agencée en bordure de l'afficheur.According to one embodiment, the location and extent of the region in which the embedded secure image is displayed are indicated by means of a row of light indicators controlled by the secure element and arranged at the edge of the display.

Selon un mode de réalisation, l'emplacement et l'étendue de la région dans laquelle est affichée l'image sécurisée incrustée sont indiqués au moyen d'une région de l'afficheur qui est en permanence sous le contrôle de l'élément sécurisé et qui présente une apparence déterminée, et d'une bordure de la région dans laquelle est affichée l'image sécurisée incrustée, qui présente la même apparence que la région de l'afficheur en permanence sous le contrôle de l'élément sécurisé.According to one embodiment, the location and extent of the region in which the embedded secure image is displayed are indicated by means of a region of the display which is permanently under the control of the secure element and which has a determined appearance, and a border of the region in which the embedded secure image is displayed, which has the same appearance as the region of the display permanently under the control of the secure element.

Selon un mode de réalisation, le dispositif comprend un dispositif de saisie fournissant des données tactiles sur un bus de données, et le procédé comprend comprenant l'étape consistant à relier le dispositif de saisie à l'élément sécurisé pendant l'affichage d'informations sur l'opération sécurisée dans l'image sécurisée incrustée.According to one embodiment, the device includes an input device providing tactile data over a data bus, and the method comprises including the step of connecting the input device to the secure element during information display on the secure operation in the embedded secure image.

Selon un mode de réalisation, le dispositif comprend un bouton physique actionnable par l'utilisateur et surveillé par l'élément sécurisé, et le procédé comprend une étape consistant à configurer l'élément sécurisé de manière à ce qu'il n'exécute pas l'opération sécurisée en l'absence d'une action de l'utilisateur sur le bouton physique.According to one embodiment, the device comprises a physical button operable by the user and monitored by the secure element, and the method comprises a step consisting of configuring the secure element so that it does not execute the Secure operation in the absence of user action on the physical button.

Description sommaire des dessinsSummary description of the drawings

Des exemples d'architectures de terminaux connectés incluant un portefeuille matériel de cryptomonnaie seront décrits dans ce qui suit à titre non limitatif en relation avec les figures jointes parmi lesquelles :Examples of connected terminal architectures including a hardware cryptocurrency wallet will be described in the following on a non-limiting basis in relation to the attached figures, including:

- la illustre des exemples classiques d’utilisation d’un portefeuille matériel par l’intermédiaire d’un dispositif hôte,- there illustrates typical examples of using a hardware wallet through a host device,

- la montre une architecture classique de portefeuille matériel froid,- there shows a classic cold hardware wallet architecture,

- la montre un premier mode de réalisation d'un terminal connecté embarquant un portefeuille matériel,- there shows a first embodiment of a connected terminal embedding a hardware wallet,

- la montre un deuxième mode de réalisation d'un terminal connecté embarquant un portefeuille matériel,- there shows a second embodiment of a connected terminal embedding a hardware wallet,

- la montre un troisième mode de réalisation d'un terminal connecté embarquant un portefeuille matériel,- there shows a third embodiment of a connected terminal embedding a hardware wallet,

- la montre un quatrième mode de réalisation d'un terminal connecté embarquant un portefeuille matériel,- there shows a fourth embodiment of a connected terminal embedding a hardware wallet,

- la montre un cinquième mode de réalisation d'un terminal connecté embarquant un portefeuille matériel,- there shows a fifth embodiment of a connected terminal embedding a hardware wallet,

- la montre un sixième mode de réalisation d'un terminal connecté embarquant un portefeuille matériel et comprenant un multiplexeur dynamique pour incruster une image sécurisée dans une image non sécurisée,- there shows a sixth embodiment of a connected terminal embedding a hardware wallet and comprising a dynamic multiplexer for embedding a secure image in an insecure image,

- la , la , la , la et la montrent divers modes de réalisation d'un procédé d'incrustation d'une image sécurisée dans une image non sécurisée,- there , there , there , there and the show various embodiments of a method for embedding a secure image in an insecure image,

- la montre un premier mode de réalisation du multiplexeur dynamique,- there shows a first embodiment of the dynamic multiplexer,

- la montre un deuxième mode de réalisation du multiplexeur dynamique,- there shows a second embodiment of the dynamic multiplexer,

- la montre un troisième mode de réalisation du multiplexeur dynamique,- there shows a third embodiment of the dynamic multiplexer,

- la montre un quatrième mode de réalisation du multiplexeur dynamique,- there shows a fourth embodiment of the dynamic multiplexer,

- la montre un cinquième mode de réalisation du multiplexeur dynamique,- there shows a fifth embodiment of the dynamic multiplexer,

- la montre un sixième mode de réalisation du multiplexeur dynamique, et- there shows a sixth embodiment of the dynamic multiplexer, and

- la montre un agencement de composants d'un terminal mobile connecté selon l'un des modes de réalisation des figures 4 à 8, 10 à 14.- there shows an arrangement of components of a mobile terminal connected according to one of the embodiments of Figures 4 to 8, 10 to 14.

Description détailléedetailed description

Dans ce qui suit seront décrites des architectures de terminal connecté incluant un portefeuille matériel embarqué et conçues pour éviter sinon limiter des attaques rendues possibles par une telle configuration. Pour ne pas créer un écosystème entièrement nouveau et ne pas nuire à l'expérience utilisateur, on recherche une compatibilité avec le matériel et les systèmes d'exploitation existants (Android, iOS), et à utiliser les voies traditionnelles de distribution des applications. Ainsi, il est supposé que le terminal connecté considéré est en mesure d'installer et exécuter des applications pouvant provenir de sources inconnues, voire douteuses, ce qui augmente le défi de la sécurisation des transactions avec le portefeuille matériel embarqué. Il est également supposé que des applications installables peuvent gagner un accès à des ressources matérielles intervenant lors d'une communication avec un élément sécurisé mettant en œuvre le portefeuille matériel.In the following, connected terminal architectures including an embedded hardware wallet will be described and designed to avoid, if not limit, attacks made possible by such a configuration. In order not to create an entirely new ecosystem and not harm the user experience, we seek compatibility with existing hardware and operating systems (Android, iOS), and to use traditional application distribution channels. Thus, it is assumed that the connected terminal considered is able to install and execute applications that may come from unknown or even dubious sources, which increases the challenge of securing transactions with the embedded hardware wallet. It is also assumed that installable applications can gain access to hardware resources occurring during communication with a secure element implementing the hardware wallet.

Par exemple, un logiciel malveillant pourrait enregistrer des touches appuyées pour voler un code secret, simuler des touches appuyées pour fausser une transaction, modifier l’affichage pour tromper l’utilisateur sur la transaction qu'il est en train d'effectuer, etc.For example, malware could record key presses to steal a secret code, simulate key presses to fake a transaction, modify the display to mislead the user about the transaction they are making, etc.

Plus spécifiquement, la validation d’une transaction sur un téléphone par un clavier virtuel peut être interceptée par un logiciel espion de bas niveau ayant accès à l'interface de l'écran tactile en relevant les coordonnées des appuis sur la dalle tactile. Sans savoir ce qui est affiché, le logiciel espion peut se baser sur l'hypothèse que le clavier virtuel affiché est l'un des nombreux claviers traditionnels disponibles sur la plateforme, de sorte que les coordonnées des appuis révèlent les touches du clavier. Le logiciel espion peut également avoir accès aux accéléromètres ou autres capteurs habituellement présents dans un terminal mobile - les appuis sur différentes positions de la dalle se traduisent par des valeurs d'accélération différentes en rotation sur deux axes, de sorte que les positions des appuis peuvent être déduites.More specifically, the validation of a transaction on a phone by a virtual keyboard can be intercepted by low-level spyware having access to the touch screen interface by reading the coordinates of the presses on the touch screen. Without knowing what is displayed, the spyware can assume that the virtual keyboard displayed is one of the many traditional keyboards available on the platform, so that the coordinates of the presses reveal the keyboard keys. The spyware can also have access to accelerometers or other sensors usually present in a mobile terminal - presses on different positions of the panel result in different acceleration values in rotation on two axes, so that the positions of the presses can be deducted.

Pour y remédier partiellement, les applications classiques affichent, pour la saisie des codes d'identification personnels, un clavier virtuel numérique avec des touches aléatoirement positionnées. Cependant, bien que cette mesure soit utile pour entraver la déduction d'un code d'identification, un logiciel malveillant pourrait déduire qu'une transaction est en cours et, avant que l'utilisateur n'ait terminé, modifier le montant ou le destinataire et simuler la validation de la transaction par l'utilisateur en modifiant les entrées de l'application sans modifier l'application elle-même.To partially remedy this, classic applications display, for entering personal identification codes, a virtual numeric keyboard with randomly positioned keys. However, while this measure is useful in hindering the deduction of an identification code, malware could infer that a transaction is in progress and, before the user has finished, change the amount or recipient and simulate user validation of the transaction by modifying application inputs without modifying the application itself.

La représente un mode de réalisation SPH1 d'un terminal mobile ou autre dispositif connecté embarquant un portefeuille matériel. Le terminal mobile comprend un processeur d'application APROC relié à divers dispositifs périphériques, notamment un afficheur tactile incluant un afficheur DISP et une dalle tactile KBD. Le processeur d'application est par exemple un processeur en bande de base assurant des communications téléphoniques et comprenant une connectivité Internet. Le processeur gère l'afficheur par l'intermédiaire d'un bus DISPB mettant en œuvre un protocole d'interface vidéo déterminé, par exemple le protocole MIPI DSI ("Display Serial Interface"). Le protocole MIPI-DSI a été largement adopté par l'industrie et est actuellement omniprésent dans les smartphones. Il est également largement utilisé dans les tablettes, les ordinateurs portables et les hybrides ordinateur portable/tablette. Le processeur gère ici la dalle tactile KBD par une autre interface, par exemple un bus de données DB1 de type I2C. Pour des raisons de lisibilité du dessin, tous les éléments d'un terminal mobile ne sont pas représentés.There represents an SPH1 embodiment of a mobile terminal or other connected device embedding a hardware wallet. The mobile terminal includes an APROC application processor connected to various peripheral devices, in particular a touch display including a DISP display and a KBD touch screen. The application processor is for example a baseband processor providing telephone communications and including Internet connectivity. The processor manages the display via a DISPB bus implementing a specific video interface protocol, for example the MIPI DSI ("Display Serial Interface") protocol. The MIPI-DSI protocol has been widely adopted by the industry and is currently ubiquitous in smartphones. It is also widely used in tablets, laptops, and laptop/tablet hybrids. The processor here manages the KBD touch panel via another interface, for example an I2C type DB1 data bus. For reasons of readability of the drawing, all the elements of a mobile terminal are not represented.

Le processeur d'application APROC intègre par ailleurs une enclave sécurisée ou un environnement d'exécution de confiance TEE ("Trusted Execution Environment"). Une telle enclave comprend généralement un processeur, une mémoire et un gestionnaire d'afficheur tactile dédiés et est conçue pour mettre en œuvre une interface utilisateur de confiance TUI ("Trusted User Interface"), par exemple comme le préconise le document "Trusted User Interface API" de GlobalPlatform® disponible à l'adresse suivante :The APROC application processor also integrates a secure enclave or a trusted execution environment TEE (“Trusted Execution Environment”). Such an enclave generally includes a dedicated processor, memory and touch display manager and is designed to implement a TUI trusted user interface ("Trusted User Interface"), for example as recommended in the "Trusted User Interface" document. API" from GlobalPlatform® available at the following address:

https://globalplatform.org/wp-content/uploads/2013/06/GlobalPlatform_Trusted_User_Interface_API_v1.0.pdfhttps://globalplatform.org/wp-content/uploads/2013/06/GlobalPlatform_Trusted_User_Interface_API_v1.0.pdf

Ainsi, cette enclave peut, selon les instructions exécutées par l'application, gérer l'affichage DISP et la saisie sur la dalle tactile KBD, comme cela est représenté.Thus, this enclave can, according to the instructions executed by the application, manage the DISP display and the input on the KBD touch panel, as shown.

Le terminal mobile inclut également un élément sécurisé embarqué eSE mettant en œuvre un portefeuille matériel de cryptoactifs. L'élément eSE peut être semblable à celui intégré dans les portefeuilles matériels détachés exposés précédemment. Il peut s'agir du microcontrôleur sécurisé ST33 de STMicroelectronics® qui possède, entre autres, une interface SPI sécurisée ("Serial Peripheral Interface"), deux interfaces I2C ("Inter-Integrated Circuit") et diverses broches d'entrée/sortie programmables GPIO. Le lien désigné par LNK à la entre le terminal mobile HDV et le portefeuille matériel détaché HW, par exemple une interface USB ou Bluetooth, est ici réalisé par une liaison câblée permanente entre l'élément sécurisé eSE et le processeur d'application, ici un bus de données DB2. Le bus DB2 est par exemple un bus SPI relié à l'interface éponyme du microcontrôleur ST33. Pour assurer une meilleure sécurité de la communication, l'autre extrémité du bus DB2 peut être reliée à l'enclave TEE.The mobile terminal also includes an eSE embedded secure element implementing a hardware cryptoasset wallet. The eSE element may be similar to that integrated into the detached hardware wallets discussed previously. This may be the secure ST33 microcontroller from STMicroelectronics® which has, among other things, a secure SPI interface ("Serial Peripheral Interface"), two I2C interfaces ("Inter-Integrated Circuit") and various programmable input/output pins GPIO. The link designated by LNK at the between the mobile terminal HDV and the detached hardware wallet HW, for example a USB or Bluetooth interface, is here produced by a permanent cable link between the secure element eSE and the application processor, here a DB2 data bus. The DB2 bus is for example an SPI bus connected to the eponymous interface of the ST33 microcontroller. To ensure better communication security, the other end of the DB2 bus can be connected to the TEE enclave.

La réalisation de la fonction de portefeuille matériel dans l'élément eSE et les échanges entre l'élément eSE et le processeur d'application peuvent être en tout point similaires à ce qui est connu des figures 1 et 2 et ne seront pas décrites plus en détail.The realization of the hardware wallet function in the eSE element and the exchanges between the eSE element and the application processor can be in all respects similar to what is known from Figures 1 and 2 and will not be described further. detail.

Par ailleurs, une des broches d'entrée/sortie GPIO1 de l'élément sécurisé eSE est reliée à un bouton physique B prévu pour valider des transactions par une opération mécanique. La broche GPIO1 est exclusivement gérée par l'élément sécurisé et son changement d'état est impossible à simuler par un logiciel exécuté sur le processeur d'application. Une autre broche d'entrée/sortie GPIO2 de l'élément sécurisé eSE commande un indicateur lumineux LD formé ici par une diode LED pour signaler qu'une opération sécurisée est en cours avec le portefeuille matériel dans l'élément eSE. Le bouton B est un bouton physique dédié agencé, par exemple, sur une paroi latérale du terminal mobile, qui se distingue visuellement des autres boutons habituellement prévus sur le terminal mobile. L'indicateur lumineux LD est également dédié et ostensible par rapport aux autres indicateurs lumineux habituellement prévus sur le terminal mobile.Furthermore, one of the GPIO1 input/output pins of the secure element eSE is connected to a physical button B intended to validate transactions by a mechanical operation. The GPIO1 pin is exclusively managed by the secure element and its change of state is impossible to simulate by software running on the application processor. Another input/output pin GPIO2 of the secure element eSE controls a light indicator LD formed here by an LED diode to signal that a secure operation is in progress with the hardware wallet in the element eSE. Button B is a dedicated physical button arranged, for example, on a side wall of the mobile terminal, which is visually distinguishable from the other buttons usually provided on the mobile terminal. The LD light indicator is also dedicated and conspicuous compared to the other light indicators usually provided on the mobile terminal.

Avec cette configuration, une transaction est préparée de façon usuelle par une application officielle, comme "Ledger Live", exécutée par le processeur d'application. A partir du moment où l'utilisateur doit valider la transaction, l'application passe par l'enclave TEE pour afficher la transaction sur l'afficheur DISP et, le cas échéant, gérer une phase de saisie sur la dalle tactile KBD, comme la saisie d'un code d'identification pour déverrouiller l'élément sécurisé. La validation et la signature de la transaction sont déléguées à l’élément sécurisé eSE (le portefeuille matériel) par des commandes émises sur le bus DB2 par l'intermédiaire de l'enclave TEE. Le cas échéant, la saisie du code de déverrouillage est transmise à l'élément sécurisé par le bus DB2. L’élément sécurisé eSE réagit à ces commandes par l'activation de l'indicateur lumineux LD et par l'attente d'un appui sur le bouton B.With this configuration, a transaction is prepared in the usual way by an official application, such as "Ledger Live", executed by the application processor. From the moment the user must validate the transaction, the application goes through the TEE enclave to display the transaction on the DISP display and, if necessary, manage an entry phase on the KBD touch screen, like the Enter an identification code to unlock the secure element. The validation and signing of the transaction are delegated to the eSE secure element (the hardware wallet) by commands issued on the DB2 bus via the TEE enclave. If necessary, the entry of the unlock code is transmitted to the secure element via the DB2 bus. The eSE secure element reacts to these commands by activating the light indicator LD and waiting for button B to be pressed.

Lorsque l'utilisateur appuie sur le bouton B, l’élément sécurisé eSE calcule la signature de la transaction avec les clés privées stockées dans le portefeuille et transmet la signature à l'application par le bus DB2. L'élément sécurisé, ayant réalisé sa tâche, désactive l'indicateur lumineux LD et attend de nouvelles commandes. L'application met à jour la blockchain à travers un service réseau, affiche les informations utiles, et attend une nouvelle interaction avec l'utilisateur.When the user presses button B, the eSE secure element calculates the transaction signature with the private keys stored in the wallet and transmits the signature to the application via the DB2 bus. The secure element, having completed its task, deactivates the light indicator LD and waits for new commands. The application updates the blockchain through a network service, displays useful information, and waits for further interaction with the user.

Si aucune action n'est détectée sur le bouton B après l'écoulement d'un délai, la transaction est annulée. L'élément sécurisé le signale à l'application par le bus DB2, désactive l'indicateur lumineux LD, et attend de nouvelles commandes.If no action is detected on button B after a delay has elapsed, the transaction is canceled. The secure element signals this to the application via the DB2 bus, deactivates the LD light indicator, and waits for new commands.

Le bouton physique B a une fonction similaire à celle des boutons B1, B2 d'un portefeuille matériel détaché du type de la . Un logiciel malveillant, s'il parvient à modifier le montant ou l'adresse de la transaction, ne pourra pas simuler une validation, qui nécessite l'actionnement d'un bouton physique détectable seulement par l’élément sécurisé eSE. Ainsi, l'utilisateur, avant de valider, pourra confirmer que la transaction telle qu'affichée est bien celle qu'il a initiée. Si la transaction a été modifiée, l'utilisateur peut en principe le constater sur l'affichage et annuler la transaction. L'annulation pourra être effectuée classiquement par un appui sur un bouton virtuel sur l'afficheur tactile. La fonction du bouton d'annulation ne peut pas être détournée en une fonction de validation, puisqu'une validation n'est possible qu'à l'aide du bouton B géré exclusivement par l'élément sécurisé eSE.The physical button B has a function similar to that of the buttons B1, B2 of a detached hardware wallet of the type . Malware, if it manages to modify the amount or address of the transaction, will not be able to simulate validation, which requires the actuation of a physical button detectable only by the eSE secure element. Thus, the user, before validating, will be able to confirm that the transaction as displayed is indeed the one he initiated. If the transaction has been modified, the user can in principle see this on the display and cancel the transaction. Cancellation can be carried out conventionally by pressing a virtual button on the touch display. The function of the cancel button cannot be diverted into a validation function, since validation is only possible using button B managed exclusively by the secure element eSE.

L'indicateur lumineux LD est activé et confirme à l'utilisateur que l'élément sécurisé est en train de prendre en charge les opérations et que les demandes qui lui sont faites par le terminal sont de source sûre.The LD light indicator is activated and confirms to the user that the secure element is taking over operations and that the requests made to it by the terminal are from a secure source.

Selon une variante un peu plus coûteuse en termes de fabrication du boîtier du terminal mobile, deux boutons physiques peuvent être prévus, sur lesquels il faut appuyer simultanément pour valider une transaction.According to a slightly more expensive variant in terms of manufacturing the mobile terminal case, two physical buttons can be provided, which must be pressed simultaneously to validate a transaction.

Malgré le contrôle de l'afficheur par l'enclave TEE, un logiciel malveillant sophistiqué pourrait modifier les données d'entrée et/ou de sortie de l'application pour les détourner et notamment modifier l'affichage des informations relatives à la transaction devant être vérifiées par l'utilisateur. Par exemple, le logiciel pourrait intercepter des données de transaction saisies par l'application pour les remplacer par des données frauduleuses, comme le montant de la transaction et l'adresse de la transaction. Même si cela est difficile lorsque la saisie est faite en mode sécurisé via l'enclave TEE, une telle attaque n'est pas impossible compte tenu du degré de sécurité offert par une enclave de type TEE. L'application génère alors une transaction avec des données modifiées à l'attention de l’élément sécurisé eSE et un affichage erroné correspondant. L'affichage, qui trahit alors la modification, peut aussi être intercepté et modifié, pour qu'il corresponde à la transaction initialement souhaitée par l'utilisateur. Ainsi, l'utilisateur verra des données de transaction apparemment correctes sur l'afficheur et validera la transaction, mais cette validation s'appliquera à la transaction frauduleuse modifiée qui a été déléguée sournoisement à l’élément sécurisé eSE.Despite the control of the display by the TEE enclave, sophisticated malware could modify the input and/or output data of the application to divert them and in particular modify the display of information relating to the transaction to be verified by the user. For example, the software could intercept transaction data captured by the application and replace it with fraudulent data, such as transaction amount and transaction address. Even if this is difficult when the entry is made in secure mode via the TEE enclave, such an attack is not impossible given the degree of security offered by a TEE type enclave. The application then generates a transaction with modified data for the attention of the eSE secure element and a corresponding incorrect display. The display, which then betrays the modification, can also be intercepted and modified, so that it corresponds to the transaction initially desired by the user. Thus, the user will see apparently correct transaction data on the display and validate the transaction, but this validation will apply to the modified fraudulent transaction that was surreptitiously delegated to the eSE secure element.

Dans un portefeuille matériel détaché classique, ce type de fraude est déjoué par le fait que le portefeuille matériel reproduit sur son propre afficheur la transaction qu'il va exécuter : l'utilisateur se fie à la transaction affichée par le portefeuille détaché, et peut la comparer à celle affichée par l'application sur le terminal. Une telle fonctionnalité n'est pas envisageable lorsque le portefeuille matériel est embarqué dans un smartphone, compte tenu de la difficulté de prévoir un deuxième afficheur et du surcoût que cela entraînerait.In a classic detached hardware wallet, this type of fraud is foiled by the fact that the hardware wallet reproduces on its own display the transaction it will execute: the user trusts the transaction displayed by the detached wallet, and can compare to that displayed by the application on the terminal. Such a functionality is not possible when the hardware wallet is embedded in a smartphone, given the difficulty of providing a second display and the additional cost that this would entail.

La montre un mode de réalisation SPH2 d'un terminal mobile intégrant un portefeuille matériel et mettant en échec ce type de manipulation de l'affichage. Le processeur d'application APROC incluant l'enclave TEE est ici intégré dans un système-sur-puce SoC recevant un processeur secondaire SPROC. Le SoC peut être le circuit i.MX 8M Plus de NXP®. L'élément sécurisé eSE est comme précédemment relié à l'enclave TEE par le bus DB2, par exemple un bus SPI. Le processeur SPROC dispose de son propre gestionnaire d'affichage et peut être considéré comme ayant un degré de sécurité élevé du fait qu'il est cloisonné par rapport aux autres circuits du SoC, de façon semblable à un élément sécurisé. Ainsi, à l'instar de l'élément sécurisé, le processeur SPROC peut recevoir des commandes de l'enclave TEE par l'intermédiaire du bus DB2. Le gestionnaire d'affichage du processeur SPROC est seul maître du bus DISPB et comporte une mémoire de trame FB1 que le processeur SPROC peut remplir à partir d'une mémoire de trame FB2 du processeur d'application ou d'une mémoire de trame FB3 de l'enclave TEE (flèches CPY), ou encore à partir de données d'affichage générées par lui-même, selon les besoins. Dans un autre mode de réalisation, le processeur SPROC peut afficher directement des données de la mémoire FB2 ou FB3 à partir d'un pointeur qui lui a été fourni. De tels mécanismes d'affichage sont documentés et ne seront pas décrits plus en détail. Ainsi, selon les besoins d'une application en cours d'exécution, l'afficheur DISP reçoit ses données du processeur d'application, de l'enclave TEE, ou du processeur SPROC lui-même.There shows an SPH2 embodiment of a mobile terminal integrating a hardware wallet and defeating this type of display manipulation. The APROC application processor including the TEE enclave is here integrated into a SoC system-on-chip receiving a SPROC secondary processor. The SoC may be the i.MX 8M Plus circuit from NXP®. The secure element eSE is, as previously, connected to the TEE enclave by the DB2 bus, for example an SPI bus. The SPROC processor has its own display manager and can be considered to have a high degree of security due to the fact that it is partitioned from the other circuits of the SoC, similar to a secure element. Thus, like the secure element, the SPROC processor can receive commands from the TEE enclave via the DB2 bus. The display manager of the SPROC processor is the sole master of the DISPB bus and includes a frame memory FB1 that the SPROC processor can fill from a frame memory FB2 of the application processor or from a frame memory FB3 of the TEE enclave (CPY arrows), or from display data generated by itself, as needed. In another embodiment, the SPROC processor can directly display data from memory FB2 or FB3 from a pointer provided to it. Such display mechanisms are documented and will not be described in further detail. Thus, depending on the needs of a running application, the DISP display receives its data from the application processor, from the TEE enclave, or from the SPROC processor itself.

Avec cette configuration, une transaction est préparée de façon usuelle par une application officielle, telle "Ledger Live", exécutée par le processeur d'application APROC. La dalle tactile KBD est toujours gérée par l'enclave TEE pour sécuriser la saisie par l'utilisateur de données intervenant au cours d'une transaction, par exemple un code de déverrouillage ou un montant de transaction accepté, et délègue le traitement de la transaction à l'élément sécurisé par l'intermédiaire du bus DB2. Afin de pallier des failles potentielles reconnues d'un affichage géré par l'enclave TEE, l'élément sécurisé eSE, qui est lui-même relié au processeur SPROC par le bus DB2, est configuré pour fournir à celui-ci les données de la transaction devant être validées par l'utilisateur.With this configuration, a transaction is prepared in the usual way by an official application, such as "Ledger Live", executed by the APROC application processor. The KBD touch screen is always managed by the TEE enclave to secure the user's entry of data occurring during a transaction, for example an unlock code or an accepted transaction amount, and delegates the processing of the transaction to the secure element via the DB2 bus. In order to overcome potential recognized flaws in a display managed by the TEE enclave, the secure element eSE, which is itself connected to the SPROC processor by the DB2 bus, is configured to provide the latter with the data of the transaction to be validated by the user.

L'élément sécurisé eSE est configuré pour, après avoir reçu les données de la transaction qu’il doit valider en signant la transaction au moyen d'une clé privée, transmettre au processeur SPROC via le bus DB2 les données d'affichage correspondantes, et demander au processeur SPROC de les afficher via le gestionnaire d'affichage FB1, à la place des données qui pourraient être présentes dans les mémoires de trame FB2 et FB3.The secure element eSE is configured to, after having received the transaction data which it must validate by signing the transaction by means of a private key, transmit to the SPROC processor via the DB2 bus the corresponding display data, and ask the SPROC processor to display them via the display manager FB1, instead of the data which could be present in the frame memories FB2 and FB3.

Ainsi, même si l'application officielle est configurée pour générer de telles données et les transmettre au gestionnaire d'affichage de l'enclave TEE pour remplir la mémoire de trame FB3, ou les transmettre au gestionnaire d'affichage du processeur d'application pour remplir la mémoire de trame FB2, ces données ne seront pas affichées et seront remplacées par des données fournies par l'élément sécurisé. En conséquence, si des données compromises produites par l'application se trouvent dans la mémoire de trame FB2 ou FB3, ces données seront ignorées et ce sont les données produites par l'élément sécurisé dans la mémoire de trame FB1 qui seront effectivement affichées.So even if the official application is configured to generate such data and pass it to the TEE enclave display manager to fill the FB3 frame memory, or pass it to the application processor display manager to fill the FB2 frame memory, this data will not be displayed and will be replaced by data provided by the secure element. Consequently, if compromised data produced by the application is found in frame memory FB2 or FB3, this data will be ignored and it is the data produced by the secure element in frame memory FB1 which will actually be displayed.

Ce mode de réalisation SPH2 repose sur l'utilisation d'un système-sur-puce particulier qui pourrait ne pas convenir à certains fabricants de smartphones. De plus il est susceptible d'un type d'attaque qui consisterait à faire croire à l'élément sécurisé qu'il dialogue avec le processeur SPROC alors qu'il dialogue avec une enclave TEE ayant été piratée. L'élément sécurisé n'a donc pas la certitude absolue d'avoir accès à l'afficheur lorsqu'il croit y avoir accès.This SPH2 embodiment relies on the use of a particular system-on-chip which may not be suitable for some smartphone manufacturers. In addition, it is susceptible to a type of attack which would consist of making the secure element believe that it is talking to the SPROC processor when it is talking to a TEE enclave that has been hacked. The secure element therefore does not have the absolute certainty of having access to the display when it believes it has access.

On décrira dans ce qui suit des modes de réalisation pouvant être mis en œuvre avec des composants plus conventionnels, tout en offrant un haut niveau de sécurité en ce qui concerne le contrôle des données affichées à l'utilisateur.In the following, embodiments that can be implemented with more conventional components will be described, while offering a high level of security with regard to the control of the data displayed to the user.

La montre un mode de réalisation SPH3 d'un terminal mobile qui est dérivé du mode de réalisation SPH1 de la et comporte comme précédemment le processeur d'application APROC et l'enclave TEE, l'afficheur DISP, la dalle tactile KBD, l'élément sécurisé eSE, le bouton physique B relié à la broche GPIO1 pour valider des transactions et l'indicateur lumineux LD commandé par la broche GPIO2, pour signaler qu'une opération sécurisée est en cours dans l'élément eSE. Comme précédemment la dalle tactile KBD est contrôlée par l'enclave TEE via le bus DB1, par exemple un bus I2C. L'enclave TEE est reliée à l'élément sécurisé eSE par le bus DB2, par exemple un bus SPI.There shows an SPH3 embodiment of a mobile terminal which is derived from the SPH1 embodiment of the and comprises as previously the APROC application processor and the TEE enclave, the DISP display, the KBD touch screen, the eSE secure element, the physical button B connected to the GPIO1 pin to validate transactions and the light indicator LD controlled by the GPIO2 pin, to signal that a secure operation is in progress in the eSE element. As before, the KBD touch panel is controlled by the TEE enclave via the DB1 bus, for example an I2C bus. The TEE enclave is connected to the secure element eSE by the DB2 bus, for example an SPI bus.

Le terminal SPH3 se distingue principalement du terminal SPH1 en ce qu'il comprend un gestionnaire d'affichage DMCU au service exclusif de l'élément sécurisé eSE, et un multiplexeur MUX dont la sortie est reliée au bus DISPB de l'afficheur DISP. Ce multiplexeur reçoit sur une première entrée, par l'intermédiaire d'un bus DISPB1, les données d'affichage produites par le processeur d'application APROC. Ces données d'affichage n'ont plus besoin d'être gérées par l'enclave TEE, comme cela est représenté, mais peuvent l'être si cela est souhaité. Une deuxième entrée du multiplexeur reçoit par l'intermédiaire d'un bus DISPB2 des données d'affichage générées par le gestionnaire d'affichage DMCU. Une borne d'entrée/sortie GPIO3 de l'élément sécurisé eSE fournit un signal SEL de sélection de l'entrée du multiplexeur qui sera reliée à la sortie de ce dernier. Ainsi, en fonction de la valeur sur signal SEL, le multiplexeur MUX relie le bus DISPB de l'afficheur au bus DISPB1 du processeur d'application APROC ou au bus DISPB2 du gestionnaire d'affichage DMCU. Dans une variante, le signal SEL peut aussi être prélevé sur la borne GPIO2 qui commande l'indicateur lumineux LD.The SPH3 terminal mainly differs from the SPH1 terminal in that it includes a display manager DMCU for the exclusive service of the secure element eSE, and a multiplexer MUX whose output is connected to the DISPB bus of the DISP display. This multiplexer receives on a first input, via a DISPB1 bus, the display data produced by the APROC application processor. This display data no longer needs to be managed by the TEE enclave, as shown, but can be if desired. A second input of the multiplexer receives display data generated by the display manager DMCU via a DISPB2 bus. A GPIO3 input/output terminal of the secure element eSE provides a signal SEL for selecting the input of the multiplexer which will be connected to the output of the latter. Thus, depending on the value on signal SEL, the multiplexer MUX connects the DISPB bus of the display to the DISPB1 bus of the APROC application processor or to the DISPB2 bus of the display manager DMCU. In a variant, the signal SEL can also be taken from the GPIO2 terminal which controls the light indicator LD.

Le gestionnaire d'affichage DMCU reçoit des commandes d'affichage de l'élément sécurisé eSE par l'intermédiaire d'un bus DB3, par exemple un bus I2C. Le protocole I2C offre un débit de données relativement bas, mais est utilisé ici pour véhiculer seulement des commandes d'affichage textuelles et vectorielles, utilisant une faible bande passante. L’élément sécurisé eSE est ainsi programmé pour générer des commandes d'affichage basiques pour les transactions qu'il traite et les transmettre au gestionnaire d'affichage DMCU.The display manager DMCU receives display commands from the secure element eSE via a DB3 bus, for example an I2C bus. The I2C protocol offers a relatively low data rate, but is used here to convey only textual and vector display commands, using low bandwidth. The eSE secure element is thus programmed to generate basic display commands for the transactions it processes and transmit them to the DMCU display manager.

Le gestionnaire d'affichage DMCU est ici un circuit séparé, car les éléments sécurisés couramment disponibles dans le commerce ne sont pas dotés d'un processeur graphique et n'ont pas suffisamment de bande passante pour générer les images matricielles attendues sur le bus d'un afficheur tel que celui d'un smartphone moderne. Le gestionnaire d'affichage DMCU est par exemple un microcontrôleur de type STM32 de STMicroelectronics® incluant un contrôleur d'afficheur LCD-TFT équipé d'une interface MIPI-DSI.The DMCU display manager is a separate circuit here, because commonly commercially available secure elements do not have a graphics processor and do not have enough bandwidth to generate the expected raster images on the display bus. a display such as that of a modern smartphone. The DMCU display manager is for example an STM32 type microcontroller from STMicroelectronics® including an LCD-TFT display controller equipped with a MIPI-DSI interface.

L’élément sécurisé eSE est configuré pour commander le multiplexeur MUX de manière à ce qu'il applique par défaut à l'afficheur DISP les données d'affichage provenant du processeur d'application APROC. Lorsqu'une application demande à l’élément sécurisé eSE de signer une transaction, celui-ci envoie des commandes d'affichage des données de la transaction au gestionnaire d'affichage DMCU et commute le multiplexeur MUX pour que les données graphiques produites par le gestionnaire DMCU parviennent à l'afficheur DISP. L'indicateur lumineux LD est activé et l’élément sécurisé eSE attend la validation de l'utilisateur en scrutant l'état du bouton B.The eSE secure element is configured to control the MUX multiplexer so that it applies display data from the APROC application processor to the DISP display by default. When an application asks the secure element eSE to sign a transaction, it sends commands to display the transaction data to the display manager DMCU and switches the multiplexer MUX so that the graphic data produced by the manager DMCU reach the DISP display. The light indicator LD is activated and the secure element eSE awaits validation from the user by scanning the state of button B.

Ainsi, l'afficheur DISP présente à l'utilisateur des données de transaction effectivement reçues et traitées par l’élément sécurisé eSE. Si ces données ont été modifiées par un programme malicieux, l'utilisateur ne manquera pas de le constater et pourra annuler la transaction.Thus, the DISP display presents to the user transaction data actually received and processed by the secure element eSE. If this data has been modified by a malicious program, the user will not fail to notice this and will be able to cancel the transaction.

Il est par ailleurs préférable que la capture des informations saisies par l'utilisateur sur la dalle tactile KBD, par exemple un code de déverrouillage ou autre information sensible telle qu'un montant de transaction visé, présentent un degré de sécurité qui soit au moins de même niveau que celui de l'affichage. Dans les modes de réalisation SPH1, SPH2, SPH3 qui viennent d'être décrits, cette capture est assurée par l'enclave TEE et offre donc un degré de sécurité inférieur à celui de l'affichage. Un plus haut niveau de sécurité pourrait donc être souhaité.It is also preferable that the capture of information entered by the user on the KBD touch screen, for example an unlock code or other sensitive information such as a targeted transaction amount, presents a degree of security which is at least same level as that of the display. In the SPH1, SPH2, SPH3 embodiments which have just been described, this capture is ensured by the TEE enclave and therefore offers a lower degree of security than that of the display. A higher level of security could therefore be desired.

La est un schéma bloc d'un mode de réalisation SPH4 d'un terminal mobile qui se distingue de celui SPH3 de la en ce que le bus DB1 en sortie de la dalle tactile KBD, ici de type I2C, est relié à l'entrée d'un démultiplexeur DMUX à deux sorties. Une première sortie du démultiplexeur DMUX est reliée au processeur d'application APROC par l'intermédiaire d'un bus DB11, et une deuxième sortie du démultiplexeur est reliée à l'élément sécurisé eSE par l'intermédiaire d'un bus DB12. La sélection du démultiplexeur DMUX peut être opérée par le même signal SEL que celui appliqué au multiplexeur MUX par l'élément sécurisé. Les deux bus DB11 sont de préférence de même type que le bus DB1 pour éviter de prévoir un convertisseur de protocole dans le démultiplexeur DMUX.There is a block diagram of an SPH4 embodiment of a mobile terminal which differs from that SPH3 of the in that the DB1 bus at the output of the KBD touch panel, here of the I2C type, is connected to the input of a DMUX demultiplexer with two outputs. A first output of the demultiplexer DMUX is connected to the APROC application processor via a DB11 bus, and a second output of the demultiplexer is connected to the secure element eSE via a DB12 bus. The selection of the DMUX demultiplexer can be carried out by the same signal SEL as that applied to the MUX multiplexer by the secure element. The two DB11 buses are preferably of the same type as the DB1 bus to avoid providing a protocol converter in the DMUX demultiplexer.

Dans ce mode de réalisation, aucune enclave TEE n'est prévue pour exécuter tout ou partie des applications faisant intervenir l'élément sécurisé, lesquelles sont donc exécutées par le processeur d'application APROC à l'exception des étapes déléguées à l'élément sécurisé. Toutefois, rien n'empêche de prévoir une enclave TEE et de l'utiliser pour commander les bus DISPB1 et de réception de données tactiles DB11 lors de l'exécution des phases non sensibles de l'application.In this embodiment, no TEE enclave is provided to execute all or part of the applications involving the secure element, which are therefore executed by the APROC application processor with the exception of the steps delegated to the secure element. . However, nothing prevents providing a TEE enclave and using it to control the DISPB1 and DB11 touch data reception buses during the execution of non-sensitive phases of the application.

L’élément sécurisé eSE est configuré pour positionner par défaut le multiplexeur MUX et le démultiplexeur DMUX en sorte qu'ils relient l'afficheur DISP et la dalle tactile KBD au processeur d'application, notamment au cours d'une phase préparatoire d'une transaction. L'élément sécurisé modifie ensuite la valeur du signal SEL pendant des phases sensibles d'exécution d'une transaction, afin de recevoir lui-même les informations éventuelles fournies par l'utilisateur via la dalle tactile KBD, et afin de fournir lui-même, par l'intermédiaire du gestionnaire d'affichage DMCU, les données de transaction devant être présentées à l'utilisateur.The secure element eSE is configured to position by default the multiplexer MUX and the demultiplexer DMUX so that they connect the display DISP and the touch panel KBD to the application processor, in particular during a preparatory phase of a transaction. The secure element then modifies the value of the SEL signal during sensitive phases of execution of a transaction, in order to itself receive any information provided by the user via the KBD touch panel, and in order to itself provide , through the DMCU display manager, the transaction data to be presented to the user.

Ainsi, la dalle tactile échappe au contrôle de l'application lors de sa connexion à l'élément sécurisé, et l'application ne peut plus mettre en œuvre la phase de saisie. La phase de saisie est déléguée à l'élément sécurisé, qui est ici configuré pour gérer un clavier virtuel quant à la saisie et l'affichage de celui-ci.Thus, the touch screen escapes the control of the application when it is connected to the secure element, and the application can no longer implement the input phase. The input phase is delegated to the secure element, which is here configured to manage a virtual keyboard for the input and display thereof.

Dans un mode de réalisation, le bus DB12 est connecté à des broches d'entrée/sortie du gestionnaire d'affichage DMCU, au lieu d'être connecté à l'élément sécurisé. Ce mode de réalisation peut être avantageux si le gestionnaire d'affichage est un microcontrôleur du type proposé plus haut, ayant une capacité de traitement de données supérieure à celle de l'élément sécurisé. Le gestionnaire d'affichage DMCU étant sous le contrôle de l'élément sécurisé, il peut alors recevoir et traiter pour le compte de l'élément sécurisé une grande quantité de données que ce dernier ne pourrait peut-être pas traiter, par exemple des données issues d'un clavier tactile, et lui communiquer le résultat de ce traitement par l'intermédiaire du bus DB3.In one embodiment, the DB12 bus is connected to input/output pins of the DMCU display manager, instead of being connected to the secure element. This embodiment can be advantageous if the display manager is a microcontroller of the type proposed above, having a data processing capacity greater than that of the secure element. The display manager DMCU being under the control of the secure element, it can then receive and process on behalf of the secure element a large quantity of data that the latter could perhaps not process, for example data from a touch keyboard, and communicate the result of this processing to it via the DB3 bus.

Quand une transaction est déléguée par l'application à l'élément sécurisé par le bus DB2, sans passer cette fois par l'enclave TEE, l’élément sécurisé eSE commande le multiplexeur et le démultiplexeur de manière à relier l'afficheur DISP au gestionnaire d'affichage DMCU et à relier la dalle tactile KBD à l’élément sécurisé eSE. L’élément sécurisé eSE met en œuvre la phase de saisie, si une saisie est requise. La saisie sur la dalle tactile ne peut plus être interceptée ou modifiée par un logiciel s'exécutant sur le processeur d'application, tandis que toute tentative de modification de l'affichage par un logiciel s'exécutant sur le processeur d'application est ignorée.When a transaction is delegated by the application to the secure element via the DB2 bus, this time without passing through the TEE enclave, the eSE secure element controls the multiplexer and demultiplexer so as to connect the DISP display to the manager DMCU display and to connect the KBD touch screen to the eSE secure element. The eSE secure element implements the entry phase, if an entry is required. Input on the touch panel can no longer be intercepted or modified by software running on the application processor, while any attempt to modify the display by software running on the application processor is ignored .

Compte tenu de cette configuration, un logiciel s'exécutant sur le processeur d'application ne peut pas simuler des fausses validations sur la dalle tactile, de sorte que le bouton physique B est optionnel : la validation peut être faite en toute sécurité à l'aide de la dalle tactile.Given this configuration, software running on the application processor cannot simulate false validations on the touch screen, so that the physical button B is optional: validation can be done in complete safety using help of the touch screen.

La sécurisation de la dalle tactile KBD qui vient d'être décrite comme un perfectionnement du mode de réalisation SPH3 de la est également applicable au mode de réalisation SPH2 de la dans lequel, en mode sécurisé, le bus DB1 de la dalle tactile sera aiguillé vers l'élément sécurisé au lieu d'être relié à l'enclave TEE.The securing of the KBD touch panel which has just been described as an improvement of the SPH3 embodiment of the is also applicable to the SPH2 embodiment of the in which, in secure mode, the DB1 bus of the touch screen will be directed towards the secure element instead of being connected to the TEE enclave.

Dans un mode de réalisation, le signal SEL, ou tout autre indicateur du mode sécurisé (comme le signal de commande de l'indicateur lumineux LD), peut être utilisé pour inhiber des circuits en principe inutilisés pendant le mode sécurisé. Comme montré sur la , le signal SEL est par exemple appliqué à une borne INHIB du processeur d'application. Il peut être prévu que le basculement du signal SEL dans sa valeur correspondant au mode sécurisé provoque la réinitialisation du processeur en coupant son signal d'horloge ou en coupant son alimentation. Dans ce cas, tout logiciel malveillant s'exécutant sur le processeur d'application effectuant des analyses pour déduire des clés cryptographiques ou autres informations sensibles est rendu inopérant pendant la transaction sécurisée.In one embodiment, the signal SEL, or any other indicator of the secure mode (such as the control signal of the light indicator LD), can be used to inhibit circuits that are in principle unused during the secure mode. As shown on the , the signal SEL is for example applied to an INHIB terminal of the application processor. It can be expected that switching the SEL signal to its value corresponding to the secure mode causes the processor to be reset by cutting its clock signal or cutting its power supply. In this case, any malware running on the application processor performing analyzes to infer cryptographic keys or other sensitive information is rendered inoperative during the secure transaction.

L'inactivation totale du processeur d'application est notamment possible dans la configuration de la , où toutes les fonctions devant rester actives pendant la transaction sont déportées sur l’élément sécurisé eSE. Dans des cas où le processeur d'application ne peut être désactivé, on peut utiliser le signal SEL pour désactiver des circuits annexes pouvant servir à la déduction d'informations sensibles, comme les accéléromètres permettant de déduire les positions des appuis sur la dalle tactile. Les accéléromètres sont généralement intégrés dans un circuit dédié de centrale inertielle ou IMU ("Inertial Measurement Unit"). Une telle centrale inertielle peut être désactivée en arrêtant son horloge, en coupant son alimentation ou en coupant son lien de communication avec le processeur d'application, généralement un bus I2C.Total inactivation of the application processor is possible in particular in the configuration of the , where all functions that must remain active during the transaction are deported to the secure element eSE. In cases where the application processor cannot be deactivated, the SEL signal can be used to deactivate additional circuits that can be used to deduce sensitive information, such as accelerometers making it possible to deduce the positions of presses on the touch screen. Accelerometers are generally integrated into a dedicated inertial measurement unit or IMU ("Inertial Measurement Unit") circuit. Such an inertial unit can be deactivated by stopping its clock, cutting its power supply or cutting its communication link with the application processor, generally an I2C bus.

Un logiciel malveillant peut être conçu pour initier des transactions alors que l'élément sécurisé est dans une configuration où il ne demande pas de code de déverrouillage, par exemple pendant une durée limitée après avoir effectué une transaction précédente. Le logiciel malveillant tente dans ce cas de modifier l'affichage, mais cette tentative échoue du fait que c'est l’élément sécurisé eSE qui est maître de l'affichage dans les modes de réalisation des figures 5 et 6. Ainsi, l'affichage reflète la transaction effectivement initiée par le logiciel malveillant, tandis que l’élément sécurisé eSE attend la validation de l'utilisateur sur la dalle tactile (dans la configuration de la ), ou sur le bouton physique B (dans la configuration de la ou 5). Dans le cas de la , la modification frauduleuse de l'affichage est possible, de sorte que l'utilisateur peut être trompé quant à la nature de la transaction.Malware can be designed to initiate transactions while the secure element is in a configuration where it does not request an unlock code, for example for a limited time after completing a previous transaction. In this case, the malicious software attempts to modify the display, but this attempt fails due to the fact that it is the secure element eSE which is master of the display in the embodiments of Figures 5 and 6. Thus, the display reflects the transaction actually initiated by the malware, while the eSE secure element waits for user validation on the touchscreen (in the configuration of the ), or on the physical button B (in the configuration of the or 5). In the case of the , fraudulent modification of the display is possible, so that the user can be misled as to the nature of the transaction.

Si la transaction frauduleuse est initiée à un moment où l'utilisateur a son terminal mobile en vue, il voit, sans l'avoir sollicité, passer le terminal mobile en mode sécurisé (indicateur lumineux LD), afficher la transaction et demander sa validation. L'utilisateur pourra vérifier l'affichage et annuler la transaction, mais cela demande à l'utilisateur d'être attentif et ne pas valider la transaction par mégarde.If the fraudulent transaction is initiated at a time when the user has his mobile terminal in sight, he sees, without having requested it, switch the mobile terminal to secure mode (LD light indicator), display the transaction and request its validation. The user will be able to check the display and cancel the transaction, but this requires the user to be attentive and not validate the transaction inadvertently.

Si l'utilisateur n'a pas le terminal mobile en vue, la transaction est en principe annulée automatiquement à l'expiration d'un délai d'attente. Toutefois, si le terminal mobile est soumis à des secousses dans une poche ou un sac, une validation intempestive pourrait survenir avant l'expiration du délai d'attente, soit par un appui sur le bouton physique B (figures 3 à 5), soit par un appui sur la dalle tactile ( ) qui pourrait être configuré pour être opérant sur l'écran de veille du terminal mobile au moment de demander une validation.If the user does not have the mobile terminal in sight, the transaction is in principle automatically canceled at the end of a waiting period. However, if the mobile terminal is subjected to shaking in a pocket or bag, untimely validation could occur before the waiting period expires, either by pressing the physical button B (figures 3 to 5), or by pressing the touch screen ( ) which could be configured to operate on the mobile terminal's standby screen when requesting validation.

La montre un mode de réalisation SPH5 d'un terminal mobile mettant en échec ce type de fraude. En plus des éléments du mode de réalisation de la , un commutateur bistable S physique est connecté à une broche d'entrée/sortie GPIO4 de l'élément sécurisé eSE. Dans une première position, le commutateur S relie l'entrée GPIO4 à un niveau logique haut, par exemple une tension d'alimentation Vcc, et dans une deuxième position, le commutateur S relie l'entrée GPIO4 à un niveau logique bas, par exemple un potentiel de masse GND. Le commutateur S est agencé, par exemple, sur l'une des parois latérales du terminal mobile.There shows an SPH5 embodiment of a mobile terminal preventing this type of fraud. In addition to the elements of the embodiment of the , a physical bistable switch S is connected to a GPIO4 input/output pin of the secure element eSE. In a first position, the switch S connects the GPIO4 input to a high logic level, for example a supply voltage Vcc, and in a second position, the switch S connects the GPIO4 input to a low logic level, for example a mass potential GND. The switch S is arranged, for example, on one of the side walls of the mobile terminal.

L’élément sécurisé eSE est programmé pour ne pas traiter les commandes reçues via le bus DB3 dans l'une des positions du commutateur S, par exemple la première, et accepter les demandes de transactions reçues via le bus DB3 dans l'autre position. Le terminal SPH5 est conçu pour que le commutateur S soit le seul moyen disponible pour commuter le mode de l'élément sécurisé, c'est-à-dire qu'une application ne peut plus à elle seule déléguer le traitement d'une transaction.The secure element eSE is programmed not to process commands received via the DB3 bus in one of the positions of the switch S, for example the first, and to accept transaction requests received via the DB3 bus in the other position. The SPH5 terminal is designed so that the switch S is the only means available to switch the mode of the secure element, that is to say that an application can no longer delegate the processing of a transaction on its own.

Ainsi, le mode de l'élément sécurisé est exclusivement sous le contrôle de l'utilisateur qui choisit le mode à l'aide du commutateur S selon les besoins.Thus, the mode of the secure element is exclusively under the control of the user who chooses the mode using the switch S as needed.

Le commutateur S étant initialement dans la position du mode inactif, une application susceptible d'initier des transactions est alors conçue pour solliciter l'utilisateur à changer de mode lorsqu'elle s'apprête à déléguer le traitement de la transaction à l’élément sécurisé eSE. Elle peut envoyer à l'afficheur DISP un message du type "Veuillez placer le téléphone en mode sécurisé à l'aide du commutateur", de préférence avec les informations relatives à la transaction en cours. Ce message est analogue à un message invitant l'utilisateur à connecter son portefeuille détaché classique au terminal mobile.The switch S being initially in the inactive mode position, an application capable of initiating transactions is then designed to ask the user to change mode when it is about to delegate the processing of the transaction to the secure element. eSE. It can send a message to the DISP display such as "Please place the phone in secure mode using the switch", preferably with information relating to the current transaction. This message is analogous to a message inviting the user to connect their classic detached wallet to the mobile terminal.

L'utilisateur bascule alors le commutateur pour passer en mode actif. L’élément sécurisé eSE réagit en prenant diverses mesures protectrices, comme basculer le signal SEL pour relier l'afficheur DISP et la dalle tactile KBD respectivement au gestionnaire d'affichage dédié DMCU et à l’élément sécurisé eSE. L'indicateur lumineux LD est aussi activé pour signaler à l'utilisateur que le terminal mobile est en mode sécurisé. L'élément sécurisé eSE envoie un acquittement à l'application qui reprend l'exécution en transmettant les informations de la transaction à l’élément sécurisé. L’élément sécurisé eSE opère la phase de saisie sur la dalle tactile KBD, le cas échéant, et demande la validation à l'utilisateur en affichant de nouveau les informations relatives à la transaction.The user then flips the switch to active mode. The eSE secure element reacts by taking various protective measures, such as switching the SEL signal to connect the DISP display and the KBD touch panel respectively to the dedicated display manager DMCU and to the eSE secure element. The LD light indicator is also activated to signal to the user that the mobile terminal is in secure mode. The eSE secure element sends an acknowledgment to the application which resumes execution by transmitting the transaction information to the secure element. The eSE secure element carries out the entry phase on the KBD touch screen, if applicable, and requests validation from the user by displaying the information relating to the transaction again.

Lorsque la transaction est validée et signée, l’élément sécurisé eSE communique la transaction signée à l'application qui l'inscrit sur la blockchain. L'élément sécurisé sollicite l'utilisateur à changer de mode, en envoyant à l'afficheur DISP un message du type "Veuillez quitter le mode sécurisé en basculant le commutateur". Ce message est analogue à celui indiquant que l'utilisateur peut retirer son portefeuille détaché classique. Lorsque le commutateur est basculé, les connexions initiales de l'afficheur et de la dalle tactile sont rétablies, et l'indicateur lumineux LD est désactivé.When the transaction is validated and signed, the eSE secure element communicates the signed transaction to the application which registers it on the blockchain. The secure element prompts the user to change mode, by sending a message to the DISP display such as "Please exit secure mode by toggling the switch". This message is similar to the one indicating that the user can withdraw their classic detached wallet. When the switch is toggled, the initial connections of the display and touch panel are reestablished, and the LD indicator light is deactivated.

Le commutateur S peut aussi être mis en œuvre dans les structures des figures 4 et 5, où la dalle tactile KBD n'est pas reliée à l'élément sécurisé. Dans ce cas, c'est l'application qui opère la phase de saisie avant de solliciter le basculement du commutateur S.The switch S can also be implemented in the structures of Figures 4 and 5, where the touch screen KBD is not connected to the secure element. In this case, it is the application which carries out the input phase before requesting the switching of the switch S.

Bien entendu, le commutateur S, à la merci de l'utilisateur, pourrait être basculé à des moments où ce n'est pas requis, ou ne pas être basculé quand c'est requis. Différentes combinaisons ne sont ainsi pas "normales", et cela peut être signalé à l'utilisateur par des messages affichés ou des alarmes, incitant l'utilisateur à basculer le commutateur pour que les opérations puissent reprendre normalement.Of course, switch S, at the mercy of the user, could be toggled at times when it is not required, or not be toggled when it is required. Different combinations are thus not "normal", and this can be signaled to the user by displayed messages or alarms, prompting the user to flip the switch so that operations can resume normally.

Un logiciel malveillant pourrait également se comporter comme une application officielle en demandant le basculement de mode. Toutefois, comme l'utilisateur n'a pas initié la transaction et qu'on lui demande une action relativement contraignante, il est susceptible d'être plus vigilant. Le logiciel malveillant ne peut plus afficher un message trompeur hors propos dans ce contexte, puisque l'utilisateur s'attend à voir des informations de transaction. De telles informations de transaction seront difficiles à rendre crédibles, d'autant plus si elles sont vraies - typiquement un transfert d'un montant élevé à une adresse inconnue. Si le logiciel malveillant tente de cacher la nature de la transaction, celle-ci sera révélée et différente au moment où elle est affichée pour validation par l’élément sécurisé eSE, si l'utilisateur a quand même été incité à basculer en mode sécurisé.Malware could also behave like an official application by requesting mode switching. However, since the user did not initiate the transaction and is being asked for a relatively restrictive action, he is likely to be more vigilant. The malware can no longer display a misleading message that is irrelevant in this context, since the user expects to see transaction information. Such transaction information will be difficult to make credible, especially if it is true - typically a transfer of a large amount to an unknown address. If the malware attempts to hide the nature of the transaction, it will be revealed and different at the time it is displayed for validation by the eSE secure element, if the user was still prompted to switch to secure mode.

En tout cas, une transaction en attente, qu'elle soit frauduleuse ou non, ne peut plus être validée par un appui intempestif sur un bouton physique ou virtuel, car l'utilisateur doit intentionnellement basculer le terminal mobile en mode sécurisé pour valider la transaction.In any case, a pending transaction, whether fraudulent or not, can no longer be validated by accidentally pressing a physical or virtual button, because the user must intentionally switch the mobile terminal to secure mode to validate the transaction .

Dans les modes de réalisation qui viennent d'être décrits en relation avec les figures 5 à 7, l'élément sécurisé prend le contrôle de l'afficheur DISP lorsque qu'il bascule dans le mode sécurisé, le processeur d'application APROC ou le cas échéant l'enclave TEE n'ayant alors plus accès à celui-ci. Or, dans certaines applications sécurisées et notamment celles qui s'exécutent sur des portefeuilles matériels détachés, il est prévu que les données de la transaction soient affichées simultanément sur l'écran du dispositif hôte (téléphone mobile ou PC exécutant par exemple le logiciel "Ledger Live") et sur l'afficheur du portefeuille matériel. Ainsi, l'utilisateur peut d'un seul coup d'œil vérifier que les données de transaction présentées par l'application sont identiques à celles présentées par le portefeuille matériel et sur le point d'être exécutées par l'élément sécurisé.In the embodiments which have just been described in relation to Figures 5 to 7, the secure element takes control of the DISP display when it switches to secure mode, the APROC application processor or the where applicable, the TEE enclave then no longer has access to it. However, in certain secure applications and in particular those which run on detached hardware wallets, it is expected that the transaction data be displayed simultaneously on the screen of the host device (mobile phone or PC running for example the "Ledger" software Live") and on the hardware wallet display. Thus, the user can at a glance verify that the transaction data presented by the application is identical to that presented by the hardware wallet and about to be executed by the secure element.

Dans ce qui précède, on a relevé qu'une telle fonctionnalité n'est pas envisageable lorsque le portefeuille matériel est embarqué dans un smartphone, compte tenu de la difficulté de prévoir un deuxième afficheur et du surcoût que cela entraînerait. On a ainsi proposé que l'affichage des données de transaction passe sous le contrôle de l'élément sécurisé.In the above, we noted that such a functionality is not possible when the hardware wallet is embedded in a smartphone, given the difficulty of providing a second display and the additional cost that this would entail. It has thus been proposed that the display of transaction data comes under the control of the secure element.

Dans un mode de réalisation SPH6 d'un terminal connecté intégrant un portefeuille matériel tel que montré sur la , un multiplexeur dynamique DYMUX est prévu pour permettre à l'élément sécurisé eSE et au processeur d'application APROC de présenter en même temps des informations sur l'afficheur, par une incrustation d'une image sécurisée fournie par l'élément sécurisé dans une image non sécurisée fournie par le processeur d'application. L'image sécurisée est incrustée dans une région 10 de l'afficheur DISP. Le reste de la surface d'affichage disponible forme une région 9 qui reçoit la partie de l'image non sécurisée qui n'est pas masquée par l'image sécurisée incrustée. Les régions 9 et 10 sont de préférence telles qu'elles couvrent ensemble l'intégralité de la surface d'affichage disponible.In an SPH6 embodiment of a connected terminal integrating a hardware wallet as shown on the , a dynamic multiplexer DYMUX is provided to allow the secure element eSE and the application processor APROC to present information on the display at the same time, by inlaying a secure image provided by the secure element in a insecure image provided by the application processor. The secure image is embedded in a region 10 of the DISP display. The rest of the available display surface forms a region 9 which receives the part of the unsecured image which is not masked by the inlaid secure image. Regions 9 and 10 are preferably such that they together cover the entire available display surface.

Une telle incrustation d'image améliore considérablement la sécurité offerte par le terminal et son ergonomie lors de la conduite d'une transaction. Par exemple, le processeur d'application peut afficher dans la région 9 l'information suivante : "vous souhaitez acheter 2 bitcoins pour une valeur de 50 000 USD" tandis que l'élément sécurisé affiche dans la région 10 de l'afficheur l'information suivante "veuillez confirmer votre achat de 2 bitcoins pour une valeur de 50 000 USD" ainsi qu'une représentation d'un bouton de validation sur lequel l'utilisateur doit exercer une action tactile pour déclencher la transaction.Such an image overlay considerably improves the security offered by the terminal and its ergonomics when carrying out a transaction. For example, the application processor can display in region 9 the following information: "you wish to buy 2 bitcoins for a value of 50,000 USD" while the secure element displays in region 10 of the display the following information "please confirm your purchase of 2 bitcoins for a value of 50,000 USD" as well as a representation of a validation button on which the user must exert a touch action to trigger the transaction.

Comme autre exemple, le processeur d'application peut afficher dans la région 9 l'information suivante : "veuillez confirmer votre demande d'achat de 2 bitcoins pour une valeur de 50 000 USD en confirmant sur le clavier tactile sécurisé le nombre de bitcoins que vous voulez acheter puis la valeur de cette transaction" tandis que l'élément sécurisé affiche dans la région 10 un clavier virtuel permettant à l'utilisateur de saisir les deux données de la transaction, ici le nombre de bitcoins et la valeur de la transaction.As another example, the application processor can display in region 9 the following information: "please confirm your request to purchase 2 bitcoins for a value of 50,000 USD by confirming on the secure touch keyboard the number of bitcoins that you you want to buy then the value of this transaction" while the secure element displays in region 10 a virtual keyboard allowing the user to enter the two data of the transaction, here the number of bitcoins and the value of the transaction.

Dans encore une variante, le bouton B est utilisé pour confirmer la transaction, le processeur d'application affiche dans la région 9 l'information suivante : "veuillez confirmer votre demande d'achat de 2 bitcoins pour une valeur de 50 000 USD en appuyant sur le bouton B" tandis que l'élément sécurisé affiche dans la région 10 la même information " veuillez confirmer votre demande d'achat de 2 bitcoins pour une valeur de 50 000 USD en appuyant sur le bouton B". Toute différence entre les données de transactions affichées par le processeur d'application et l'élément sécurisé sera perçue par l'utilisateur en raison de la simultanéité de ces affichages.In yet another variation, button B is used to confirm the transaction, the application processor displays in region 9 the following information: "please confirm your request to purchase 2 bitcoins for a value of 50,000 USD by pressing on button B" while the secure element displays in region 10 the same information "please confirm your request to purchase 2 bitcoins for a value of 50,000 USD by pressing button B". Any difference between the transaction data displayed by the application processor and the secure element will be perceived by the user due to the simultaneity of these displays.

Le mode de réalisation SPH6 montré sur la , permettant de réaliser une telle incrustation d'image, se distingue de celui SPH5 montré sur la en ce que le multiplexeur matériel MUX précédemment décrit est remplacé par un multiplexeur dynamique DYMUX. Le multiplexeur dynamique DYMUX comprend un multiplexeur matériel MUXi qui comporte comme le multiplexeur MUX de la une première entrée reliée au bus DISPB1 du processeur d'application, une second entrée reliée au bus DISPB2 du gestionnaire d'affichage DMCU de l'élément sécurisé eSE et une sortie reliée au bus DISPB qui contrôle l'afficheur. Le multiplexeur dynamique DYMUX comprend également un circuit de synchronisation SYNCT qui fournit le signal SEL au multiplexeur MUXi et reçoit un signal d'autorisation de superposition d'image PIP fourni par la borne GPIO3 de l'élément sécurisé.The SPH6 embodiment shown on the , allowing such an image inlay to be carried out, differs from that SPH5 shown on the in that the hardware multiplexer MUX previously described is replaced by a dynamic multiplexer DYMUX. The DYMUX dynamic multiplexer includes a hardware MUXi multiplexer which behaves like the MUX multiplexer of the a first input connected to the DISPB1 bus of the application processor, a second input connected to the DISPB2 bus of the display manager DMCU of the secure element eSE and an output connected to the DISPB bus which controls the display. The DYMUX dynamic multiplexer also includes a SYNCT synchronization circuit which provides the SEL signal to the MUXi multiplexer and receives a PIP image superposition authorization signal provided by the GPIO3 terminal of the secure element.

Le signal PIP présente une valeur active et une valeur inactive, correspondant en pratique à deux valeurs logiques de ce signal, par exemple 0 et 1 ou l'inverse. Lorsqu'il n'est pas sollicité pour une transaction, ou lorsqu'il n'a pas besoin - ou plus besoin - d'interfacer avec l'utilisateur, l'élément sécurisé porte le signal PIP à la valeur inactive. Dans ce cas, le circuit de synchronisation SYNCT commande le multiplexeur MUXi de manière à ce que le bus DISPB en sortie de celui-ci soit en permanence relié au bus DISPB1 du processeur d'application. Le processeur d'application a alors le plein contrôle de l'intégralité de l'afficheur.The PIP signal has an active value and an inactive value, corresponding in practice to two logic values of this signal, for example 0 and 1 or vice versa. When it is not requested for a transaction, or when it does not need - or no longer needs - to interface with the user, the secure element carries the PIP signal to the inactive value. In this case, the synchronization circuit SYNCT controls the multiplexer MUXi so that the DISPB bus at its output is permanently connected to the DISPB1 bus of the application processor. The application processor then has full control of the entire display.

Lorsqu'il bascule dans le mode sécurisé pour participer à l'exécution d'une transaction, et/ou lorsqu'il a besoin d'interfacer avec un utilisateur, l'élément sécurisé met le signal PIP à sa valeur active, ce qui déclenche la superposition de données d'image fournies par le processeur d'application et de données d'image fournies par l'élément sécurisé par l'intermédiaire du gestionnaire d'affichage DMCU, au rythme des modifications de la valeur du signal SEL fourni par le circuit SYNCT.When it switches to secure mode to participate in the execution of a transaction, and/or when it needs to interface with a user, the secure element sets the PIP signal to its active value, which triggers the superposition of image data supplied by the application processor and image data supplied by the secure element via the display manager DMCU, at the rate of modifications of the value of the signal SEL supplied by the SYNCT circuit.

Les données d'image fournies par le processeur d'application APROC sont alors affichées dans la région 9 de l'afficheur et les données d'image fournies par le gestionnaire d'affichage DMCU sont affichées dans la région 10. Plus précisément, les données d'image fournies par le processeur d'application et qui correspondent à la région 10 sont remplacées - ou "écrasées" ("overwritted") - par les données d'images fournies par l'élément sécurisé, de sorte que les données d'image qui s'affichent dans la région 9 sont celles qui n'ont pas été écrasées par celles fournies par le gestionnaire d'affichage DMCU.The image data provided by the APROC application processor are then displayed in region 9 of the display and the image data provided by the display manager DMCU are displayed in region 10. More precisely, the image data images provided by the application processor and which correspond to region 10 are replaced - or "overwritten" - by the image data provided by the secure element, so that the image data images that appear in region 9 are those that have not been overwritten by those provided by the DMCU display manager.

Pour fournir le signal SEL, le circuit SYNCT prend en compte une donnée de configuration SDT ("Setup Data") qui détermine la taille, la forme et l'emplacement de la région 10 occupée par l'image incrustée. Le circuit SYNCT prend également en compte des informations de synchronisation prélevées sur les bus DISPB1 et DISPB2 et DISPB ou extraites de ceux-ci, afin de les transitions sur le bus DISPB entre les données d'image fournies par le processeur d'application APROC et données d'image fournies par le gestionnaire d'affichage DMCU, ne provoquent pas l'apparition de parasites ou de cisaillements de l'image (appelés classiquement "déchirement d'image" ou "tearing").To provide the signal SEL, the SYNCT circuit takes into account configuration data SDT ("Setup Data") which determines the size, shape and location of the region 10 occupied by the inlaid image. The SYNCT circuit also takes into account synchronization information taken from the DISPB1 and DISPB2 and DISPB buses or extracted therefrom, in order to transitions on the DISPB bus between the image data provided by the APROC application processor and image data provided by the DMCU display manager, do not cause the appearance of parasites or shearing of the image (conventionally called "image tearing" or "tearing").

Dans un mode de réalisation, la taille de la région 10 est fixe et la donnée de configuration SDT est enregistrée "en dur" dans un registre de configuration SREG du multiplexeur DYMUX. La donnée SDT comprend par exemple le rang de la première ligne et le rang de la dernière ligne de la région 10, qui détermine la hauteur h de la région 10, ou, de façon équivalente, le rang de la première ligne et le nombre de lignes suivantes. Alternativement, la donnée SDT peut ne comprendre que le rang de la première ligne de la région 10 si celle-ci occupe toute la partie basse de l'afficheur. Dans un autre mode de réalisation, le registre de configuration est au contraire configurable et reçoit la donnée de configuration SDT de l'extérieur, celle-ci étant par exemple fournie par le gestionnaire d'affichage DMCU à la demande de l'élément sécurisé, ou directement fournie par l'élément sécurisé.In one embodiment, the size of region 10 is fixed and the configuration data SDT is recorded "hard" in a configuration register SREG of the DYMUX multiplexer. The SDT data includes for example the rank of the first line and the rank of the last line of region 10, which determines the height h of region 10, or, equivalently, the rank of the first line and the number of following lines. Alternatively, the SDT data may only include the rank of the first line of region 10 if it occupies the entire lower part of the display. In another embodiment, the configuration register is on the contrary configurable and receives the configuration data SDT from the outside, this being for example provided by the display manager DMCU at the request of the secure element, or directly provided by the secure element.

Le bus DB1 en sortie de la dalle tactile KBD, ici de type I2C, est comme précédemment relié à l'entrée du démultiplexeur DMUX dont la première sortie est reliée au processeur d'application APROC par le bus DB11 et la deuxième sortie reliée à l'élément sécurisé eSE par le bus DB12.The DB1 bus at the output of the KBD touch panel, here of the I2C type, is as previously connected to the input of the DMUX demultiplexer, the first output of which is connected to the APROC application processor via the DB11 bus and the second output connected to the eSE secure element via the DB12 bus.

La sélection du démultiplexeur DMUX est opérée ici par le signal PIP de sorte que pendant toute la période où le terminal fonctionne en mode sécurisé et où les parties d'image fournies par l'élément sécurisé remplacent celles fournies par le processeur d'application, l'élément sécurisé a le contrôle exclusif du pavé tactile. Il n'est donc pas envisageable - et en pratique peu nécessaire - que pendant le fonctionnement en mode sécurisé, le processeur d'application propose à l'utilisateur des fonctionnalités tactiles dans la région 9 , sauf à prévoir que celles-ci soient prises en charge par l'élément sécurisé qui répercutera ensuite l'information tactile au processeur d'application.The selection of the DMUX demultiplexer is carried out here by the PIP signal so that during the entire period where the terminal operates in secure mode and where the image parts provided by the secure element replace those provided by the application processor, the The secure element has exclusive control of the touchpad. It is therefore not possible - and in practice hardly necessary - that during operation in secure mode, the application processor offers the user tactile functionalities in region 9, unless it is provided that these are taken into account. loaded by the secure element which will then transmit the tactile information to the application processor.

Si cela peut avoir un intérêt pratique ou ergonomique, l'homme de l'art pourra toutefois prévoir un mode de réalisation plus complexe afin que le processeur d'application reçoive en temps réel les données tactiles correspondant à la région 9 de l'afficheur où il peut afficher des informations. A cet effet le démultiplexeur DMUX pourrait par exemple être contrôlé par le signal SEL fourni par le circuit SYNCT.Although this may be of practical or ergonomic interest, those skilled in the art may however be able to provide a more complex embodiment so that the application processor receives in real time the tactile data corresponding to region 9 of the display where it can display information. For this purpose the DMUX demultiplexer could for example be controlled by the SEL signal supplied by the SYNCT circuit.

L'analyse du risque attaché à chaque configuration de terminal proposée dans la présente demande fait apparaître ici le risque qu'un programme malveillant ayant pris le contrôle du processeur d'application ou du bus DISPB1, affiche dans la région 10 des informations qui simulent celles affichées par l'élément sécurisé pendant l'exécution d'une transaction. Ainsi, l'utilisateur, après avoir lui-même sollicité une transaction, pourrait être tenté de penser que cette transaction est en cours d'exécution par l'élément sécurisé alors que la région 10 est encore sous le contrôle du processeur d'application et que l'élément sécurisé n'a pas encore été sollicité. Il convient donc de s'assurer que l'utilisateur est pleinement informé que l'information affichée dans la région 10 provient réellement de l'élément sécurisé. Afin de surmonter ce problème, deux cas doivent être distingués :The analysis of the risk attached to each terminal configuration proposed in the present application reveals here the risk that a malicious program having taken control of the application processor or the DISPB1 bus, displays in region 10 information which simulates that displayed by the secure element during the execution of a transaction. Thus, the user, after having requested a transaction himself, could be tempted to think that this transaction is being executed by the secure element while region 10 is still under the control of the application processor and that the secure element has not yet been requested. It is therefore necessary to ensure that the user is fully informed that the information displayed in region 10 really comes from the secure element. In order to overcome this problem, two cases must be distinguished:

1) la région 10 est d'une hauteur fixe h0 et occupe un emplacement fixe sur l'afficheur, sur toute la largeur de l'afficheur. Par exemple, la région 10 occupe les "N" dernières lignes de l'afficheur correspondant à la hauteur h0, comme montré sur la .1) region 10 has a fixed height h0 and occupies a fixed location on the display, over the entire width of the display. For example, region 10 occupies the last "N" lines of the display corresponding to height h0, as shown on the .

2) la région 10 est d'une hauteur h variable et peut éventuellement être située dans un emplacement variable sur tout ou partie de la hauteur de l'afficheur, la hauteur h de la région 10 et son emplacement étant définis par la donnée de configuration SDT. Dans un exemple montré sur la , la région 10 présente une hauteur h1 et occupe toute la partie inférieure de l'afficheur. Dans un autre exemple montré sur la , la région 10 présente une hauteur h2 supérieure à h1 et s'étend sensiblement sur les deux tiers de la moitié inférieure de l'afficheur sans occuper la partie inférieure de celui-ci.2) region 10 has a variable height h and can possibly be located in a variable location over all or part of the height of the display, the height h of region 10 and its location being defined by the configuration data SDT. In an example shown on the , region 10 has a height h1 and occupies the entire lower part of the display. In another example shown on the , region 10 has a height h2 greater than h1 and extends substantially over two thirds of the lower half of the display without occupying the lower part thereof.

Dans un mode de réalisation correspondant au premier cas, l'élément sécurisé est configuré pour activer l'indicateur lumineux LD lorsqu'il porte le signal PIP à la valeur active. Dans ce cas, et comme schématisé sur la , l'utilisateur est pleinement informé au moyen de l'indicateur lumineux LD, qui est sous le contrôle exclusif de l'élément sécurisé via la broche GPIO2, que l'élément sécurisé contrôle la région 10. Comme moyen d'information supplémentaire de l'utilisateur, l'emplacement de la région 10 peut être indiqué au moyen d'un repère visuel tel qu'une barre de couleur VM prévue sur le boîtier du terminal, à côté de l'afficheur, sur toute la hauteur de la région 10.In an embodiment corresponding to the first case, the secure element is configured to activate the light indicator LD when it brings the PIP signal to the active value. In this case, and as shown schematically on the , the user is fully informed by means of the light indicator LD, which is under the exclusive control of the secure element via the GPIO2 pin, that the secure element controls region 10. As an additional means of informing the user, the location of region 10 can be indicated by means of a visual marker such as a color bar VM provided on the terminal housing, next to the display, over the entire height of region 10 .

Dans un mode de réalisation correspondant au second cas, une rangée LR d'indicateurs lumineux Liformés chacun par une diode LED, est prévue le long de l'afficheur, et s'étend sur tout ou partie de sa hauteur. La rangée d'indicateurs lumineux est pilotée par des broches d'entrée/sortie GPIOi de l'élément sécurisé, et est prévue pour indiquer l'emplacement précis de la région 10, chaque indicateur lumineux étant contrôlé individuellement par l'élément sécurisé. Ainsi, dans l'exemple de la , l'élément sécurisé allume les 7 premières diodes L1 à L7, et dans l'exemple de la , l'élément sécurisé allume les diodes L6 à L15. L'utilisateur est donc pleinement informé que l'élément sécurisé contrôle la région 10, et est également informé de l'emplacement de cette région 10. Dans un tel mode de réalisation, la rangée LR d'indicateurs lumineux remplace l'indicateur lumineux unique LD précédemment décrit, qui n'est plus nécessaire.In an embodiment corresponding to the second case, a row LR of light indicators L i each formed by an LED diode, is provided along the display, and extends over all or part of its height. The row of indicator lights is driven by GPIOi input/output pins of the secure element, and is intended to indicate the precise location of region 10, with each indicator light being individually controlled by the secure element. So, in the example of the , the secure element lights the first 7 diodes L1 to L7, and in the example of the , the secure element lights diodes L6 to L15. The user is therefore fully informed that the secure element controls region 10, and is also informed of the location of this region 10. In such an embodiment, the row LR of light indicators replaces the single light indicator LD previously described, which is no longer necessary.

Dans un autre mode de réalisation, correspondant au second cas et illustré sur les figures 9D, 9E, deux mesures sont prévues pour délimiter la région 10 et informer l'utilisateur que l'élément sécurisé contrôle cette région :In another embodiment, corresponding to the second case and illustrated in Figures 9D, 9E, two measures are provided to delimit region 10 and inform the user that the secure element controls this region:

i) une ou plusieurs lignes de l'afficheur, par exemple la dernière ligne ou les dernières lignes de celui-ci, forment une région de référence 101 qui est sous le contrôle permanent de l'élément sécurisé, grâce à une configuration correspondante du multiplexeur dynamique DYMUX. Une telle configuration, indépendante de la valeur du signal PIP, empêche le processeur d'application d'afficher des informations dans cette région.i) one or more lines of the display, for example the last line or lines thereof, form a reference region 101 which is under the permanent control of the secure element, thanks to a corresponding configuration of the multiplexer DYMUX dynamics. Such a configuration, independent of the value of the PIP signal, prevents the application processor from displaying information in this region.

ii) lorsque l'élément sécurisé bascule dans le mode sécurisé et prend le contrôle de la région 10, il encadre celle-ci d'une bordure 102 ayant une apparence déterminée qui doit être identique à celle de la région 101. Si la région 10 n'est pas dans le prolongement immédiat de la région 101, l'élément sécurisé peut également et optionnellement afficher une région de liaison 103 reliant la bordure 102 à la région 101, dont l'apparence est identique à celle de la région 101.ii) when the secure element switches to secure mode and takes control of region 10, it surrounds the latter with a border 102 having a determined appearance which must be identical to that of region 101. If region 10 is not in the immediate extension of region 101, the secure element can also and optionally display a connection region 103 connecting the border 102 to region 101, the appearance of which is identical to that of region 101.

L'apparence susmentionnée de la région de référence 101 est de préférence variable et aléatoire. Elle peut consister en une couleur déterminée ou en une combinaison de couleurs déterminée, en un motif déterminé comprenant une combinaison de couleurs ou un dégradé de gris, en une texture visuelle déterminée, en des extraits de photographies, etc. Etant donné qu'un programme malicieux ne peut avoir accès aux informations envoyées par l'élément sécurisé au gestionnaire d'affichage DMCU, qui déterminent l'apparence de la région de référence 101, un tel programme malicieux sera dans l'incapacité, s'il veut simuler la région 10, d'encadrer celle-ci avec une bordure 102 ayant la même apparence que la région de référence 101.The aforementioned appearance of the reference region 101 is preferably variable and random. It may consist of a specific color or a specific combination of colors, a specific pattern including a combination of colors or a gradient of gray, a specific visual texture, extracts from photographs, etc. Since a malicious program cannot have access to the information sent by the secure element to the display manager DMCU, which determines the appearance of the reference region 101, such a malicious program will be unable to he wants to simulate region 10, to frame it with a border 102 having the same appearance as reference region 101.

La mise en œuvre du multiplexeur dynamique DYMUX peut se faire de diverses manières à la portée de l'homme de l'art. Certaines seront décrites dans ce qui suit en relation avec les figures 10 à 15, qui montrent des modes de réalisation DYMUX1, DYMUX2, DYMUX3, DYMUX4, DYMUX5 et DYMUX6 de ce multiplexeur.The implementation of the DYMUX dynamic multiplexer can be done in various ways within the reach of those skilled in the art. Some will be described in the following in relation to Figures 10 to 15, which show DYMUX1, DYMUX2, DYMUX3, DYMUX4, DYMUX5 and DYMUX6 embodiments of this multiplexer.

Le multiplexeur dynamique DYMUX1 de la comprend un multiplexeur matériel MUX1, un circuit de synchronisation SYNCT1 et le registre de configuration SREG. Dans le mode de réalisation considéré ici, les bus DISPB1, DISPB2 véhiculent chacun des paquets de données formant des pixels, respectivement IPAQ1, IPAQ2, ainsi qu'un signal d'horloge, respectivement CLK1, CLK2, et un signal de synchronisation, respectivement TE1, TE2 ("Tearing Effect Signal"), utilisé classiquement comme un moyen permettant d'éviter le déchirement de l'image. Selon la valeur du signal SEL, les données d'image IPAQ fournies en sortie du multiplexer MUX1 sont les données IPAQ1 ou les données IPAQ2, le signal d'horloge CLK est le signal CLK1 ou le signal CLK2, et le signal de fin de trame TE est le signal TE1 ou le signal TE2. Ce dernier signal est émis par exemple toutes les 20 ms pour une image rafraîchie à la fréquence de 50 Hz.The DYMUX1 dynamic multiplexer from the includes a hardware multiplexer MUX1, a synchronization circuit SYNCT1 and the configuration register SREG. In the embodiment considered here, the buses DISPB1, DISPB2 each carry data packets forming pixels, respectively IPAQ1, IPAQ2, as well as a clock signal, respectively CLK1, CLK2, and a synchronization signal, respectively TE1 , TE2 ("Tearing Effect Signal"), classically used as a means of preventing image tearing. Depending on the value of the signal SEL, the image data IPAQ supplied at the output of the multiplexer MUX1 are the data IPAQ1 or the data IPAQ2, the clock signal CLK is the signal CLK1 or the signal CLK2, and the end of frame signal TE is the TE1 signal or the TE2 signal. This last signal is emitted for example every 20 ms for an image refreshed at a frequency of 50 Hz.

Le circuit SYNCT1 comporte un compteur de ligne LCPT qui compte les lignes affichées sur le bus DISPB et est configuré pour déterminer, à partir des données de configuration SDT présentes dans le registre SREG, les instants T1 où les paquets présents sur le bus DISPB1 doivent être fournis sur le bus DISPB, et les instants T2 où les paquets présents sur le bus DISPB2 doivent être fournis sur le bus DISPB à la place des paquets présents sur le bus DISPB1, soit les instants où le signal SEL doit changer de valeur.The SYNCT1 circuit includes a line counter LCPT which counts the lines displayed on the DISPB bus and is configured to determine, from the SDT configuration data present in the SREG register, the times T1 where the packets present on the DISPB1 bus must be provided on the DISPB bus, and the times T2 where the packets present on the DISPB2 bus must be provided on the DISPB bus instead of the packets present on the DISPB1 bus, i.e. the times when the signal SEL must change value.

Pour permettre un contrôle précis des instants T1 et T2, le circuit de synchronisation SYNCT1 prélève sur les bus DISPB1, DISPB2 et DISPB des informations de synchronisation SI1, SI2, SI. Les informations de synchronisation SI1, SI2, SI comprennent par exemple les signaux d'horloge CLK1, CLK2, CLK et de fin de trame TE1, TE2, TE. Le circuit de synchronisation SYNCT1 comporte également des compteurs de pixels PCPT1, PCPT2, PCPT associés respectivement aux bus DISPB1, DISPB2, DISPB, qui fournissent chacun un signal de fin de ligne, respectivement LEP1, LEP2, LEP ("Line End Pulse"). Chaque compteur est remis à zéro après la détection d'une fin de ligne, puis compte de nouveau un nombre de pixels jusqu'à atteindre le nombre de pixels que comprend une ligne, à la suite de quoi il émet de nouveau le signal de fin de ligne et se remet à zéro, et ainsi de suite. Le fonctionnement de ces compteurs est à la portée de l'homme de l'art et repose sur des principes connus d'analyse du signal vidéo. En effet, on peut connaître la longueur d'une ligne en analysant le contenu de tous les paquets de données qu'elle comporte. Un signal de fin de ligne peut aussi être détecté via un système de mesure analogique, car une fin de ligne sur un signal MIPI correspond à une transition de la tension d'un signal électrique d'une valeur de l'ordre de 200 mV à une valeur de l'ordre de 2 V. Une bascule de Schmitt peut donc également être utilisée pour déterminer la fin d'une ligne.To allow precise control of instants T1 and T2, the synchronization circuit SYNCT1 takes synchronization information SI1, SI2, SI from the buses DISPB1, DISPB2 and DISPB. The synchronization information SI1, SI2, SI includes for example the clock signals CLK1, CLK2, CLK and end of frame TE1, TE2, TE. The synchronization circuit SYNCT1 also includes pixel counters PCPT1, PCPT2, PCPT associated respectively with the buses DISPB1, DISPB2, DISPB, which each provide an end of line signal, respectively LEP1, LEP2, LEP ("Line End Pulse"). Each counter is reset to zero after detecting an end of line, then counts a number of pixels again until it reaches the number of pixels that a line includes, after which it emits the end signal again line and resets to zero, and so on. The operation of these counters is within the reach of those skilled in the art and is based on known principles of video signal analysis. Indeed, we can know the length of a line by analyzing the content of all the data packets it contains. An end of line signal can also be detected via an analog measurement system, because an end of line on a MIPI signal corresponds to a transition in the voltage of an electrical signal with a value of around 200 mV to a value of around 2 V. A Schmitt flip-flop can therefore also be used to determine the end of a line.

Le circuit de synchronisation SYNCT1 envoie au gestionnaire d'affichage DMCU des données de synchronisation SYNCDT1 concernant le bus DISPB1 et le bus DISPB, et envoie au processeur d'application APROC des données de synchronisation SYNCDT2 concernant le bus DISPB2 et le bus DISPB. Les données de synchronisation SYNCDT1 comprennent par exemple les signaux de fin de trame TE1, TE, les signaux de fin de ligne LEP1, LEP et les signaux d'horloge CLK1, CLK. Les données de synchronisation SYNCDT2 comprennent par exemple les signaux de fin de trame TE2, TE, les signaux de fin de ligne LEP2, LEP et les signaux d'horloge CLK2, CLK. Ainsi, le processeur d'application APROC reçoit des informations sur l'état du bus DISPB2 contrôlé par le gestionnaire d'affichage DMCU et réciproquement le gestionnaire d'affichage DMCU reçoit des informations sur l'état du bus DISPB1 contrôlé par le processeur d'application APROC. Le processeur d'application et le gestionnaire d'affichage peuvent ainsi mettre en œuvre une stratégie de synchronisation commune permettant au circuit SYNCT1 d'appliquer le signal SEL au multiplexeur matériel MUX1 sans provoquer l'apparition de parasites ou un déchirement de l'image affichée. Il n'est toutefois pas indispensable en pratique de prévoir un basculement immédiat entre les deux bus DISPB1, DISPB2. Il est en effet possible avec la plupart des écrans de disposer d'une certaine latence dans la fourniture des données de ligne. La commutation du multiplexeur peut donc présenter une telle "latence" entre l'arrêt du flux véhiculé par le bus DISPB1 et l'application du flux véhiculé par le bus DISPB2, ou réciproquement, sans toutefois que cette latence soit trop importante au risque d'altérer la fréquence d'affichage.The synchronization circuit SYNCT1 sends to the display manager DMCU synchronization data SYNCDT1 relating to the bus DISPB1 and the bus DISPB, and sends to the application processor APROC synchronization data SYNCDT2 relating to the bus DISPB2 and the bus DISPB. The synchronization data SYNCDT1 includes for example the end of frame signals TE1, TE, the end of line signals LEP1, LEP and the clock signals CLK1, CLK. The synchronization data SYNCDT2 includes for example the end of frame signals TE2, TE, the end of line signals LEP2, LEP and the clock signals CLK2, CLK. Thus, the application processor APROC receives information on the state of the bus DISPB2 controlled by the display manager DMCU and conversely the display manager DMCU receives information on the state of the bus DISPB1 controlled by the processor APROC application. The application processor and the display manager can thus implement a common synchronization strategy allowing the SYNCT1 circuit to apply the signal SEL to the hardware multiplexer MUX1 without causing the appearance of parasites or tearing of the displayed image . However, it is not essential in practice to provide an immediate switchover between the two buses DISPB1, DISPB2. It is indeed possible with most screens to have a certain latency in the provision of line data. The switching of the multiplexer can therefore present such a "latency" between the stopping of the flow carried by the DISPB1 bus and the application of the flow carried by the DISPB2 bus, or vice versa, without however this latency being too great at the risk of alter the display frequency.

Le mode de réalisation du multiplexeur DYMUX1 qui vient d'être décrit est générique et peut être simplifié en n'utilisant qu'une partie des signaux de synchronisation susmentionnés. A titre d'exemple, le multiplexeur dynamique DYMUX2 de la comprend un multiplexeur matériel MUX2 de même type que le multiplexeur MUX1 et un circuit de synchronisation simplifiée SYNCT2. Ce dernier ne comporte que le compteur de pixels PCPT fournissant le signal de fin de ligne LEP, et extrait le signal de fin de trame TE des données circulant sur le bus de sortie DISPB. Le signal de fin de ligne LEP et le signal de fin de trame TE sont envoyés au gestionnaire d'affichage DMCU et au processeur d'application APROC pour qu'ils se recalent sur la même référence à chaque nouvelle ligne et à chaque nouvelle image. Le gestionnaire d'affichage DMCU reçoit par ailleurs le signal d'horloge CLK1 du bus DISPB1 et assure lui-même la fourniture du signal SEL au multiplexeur matériel MUX2. A cet effet, le gestionnaire d'affichage DMCU est équipé du registre de configuration SREG, du compteur de ligne LCPT et reçoit le signal PIP. Le signal PIP lui permet de déterminer, à partir des données de configuration SDT présentes dans le registre SREG, les instants T1 où les paquets présents sur le bus DISPB1 doivent être fournis sur le bus DISPB, et les instants T2 où les paquets présents sur le bus DISPB2 doivent être fournis sur le bus DISPB à la place des paquets présents sur le bus DISPB1.The embodiment of the DYMUX1 multiplexer which has just been described is generic and can be simplified by using only part of the aforementioned synchronization signals. For example, the DYMUX2 dynamic multiplexer from the includes a hardware multiplexer MUX2 of the same type as the multiplexer MUX1 and a simplified synchronization circuit SYNCT2. The latter only includes the pixel counter PCPT providing the end of line signal LEP, and extracts the end of frame signal TE from the data circulating on the DISPB output bus. The end of line signal LEP and the end of frame signal TE are sent to the display manager DMCU and to the application processor APROC so that they align with the same reference for each new line and each new image. The display manager DMCU also receives the clock signal CLK1 from the DISPB1 bus and itself ensures the supply of the signal SEL to the hardware multiplexer MUX2. For this purpose, the display manager DMCU is equipped with the configuration register SREG, the line counter LCPT and receives the PIP signal. The PIP signal allows it to determine, from the SDT configuration data present in the SREG register, the times T1 where the packets present on the DISPB1 bus must be provided on the DISPB bus, and the times T2 where the packets present on the DISPB2 bus must be provided on the DISPB bus in place of the packets present on the DISPB1 bus.

Dans ce mode de réalisation, le gestionnaire d'affichage DMCU s'adapte automatiquement au signal d'horloge CLK1 du bus DISPB1 contrôlé par le processeur d'application, et peut remplacer des données d'image fournies par ce dernier par des données d'image fournies par le gestionnaire d'affichage DMCU de l'élément sécurisé, sans provoquer l'apparition de parasites ou un déchirement de l'image affichée.In this embodiment, the display manager DMCU automatically adapts to the clock signal CLK1 of the DISPB1 bus controlled by the application processor, and can replace image data provided by the latter with image data. image provided by the DMCU display manager of the secure element, without causing the appearance of parasites or tearing of the displayed image.

Le multiplexeur dynamique DYMUX3 de la comprend un multiplexeur matériel MUX3, un circuit de synchronisation SYNCT3, le registre SREG, un circuit de réception RX1 relié au bus DISPB1, un circuit de réception RX2 relié au bus DISPB2, un tampon de ligne LBUF1 dont l'entrée est reliée à la sortie du circuit RX1 et dont la sortie est reliée à une première entrée du multiplexeur MUX3, un tampon de ligne LBUF2 dont l'entrée est reliée à la sortie du circuit RX2 et dont la sortie est reliée à une seconde entrée du multiplexeur MUX3, et un circuit de transmission TX dont l'entrée est reliée à la sortie du multiplexeur MUX3 et dont la sortie est reliée au bus DISPB. A la différence des multiplexeurs MUX1, MUX2 des figures 10, 11, le multiplexeur MUX3 est un multiplexeur de données numériques brutes et non un multiplexeur de données d'image reçues sous une forme encapsulée dans une trame codée selon un protocole déterminé. En effet, les données brutes véhiculées sur le bus DISPB1 sont décodées - ou plus précisément désencapsulées - par le circuit de réception RX1, puis chargées dans le tampon de ligne LBUF1 pour être ensuite appliquées sur la première entrée du multiplexeur MUX3 . De même, les données brutes véhiculées sur le bus DISPB2 sont désencapsulées par le circuit de réception RX2 puis chargées dans le tampon de ligne LBUF2 pour être ensuite appliquées sur la seconde entrée du multiplexeur MUX3. A cet effet, le circuit SYNCT3 applique aux tampons LBUF1, LBUF2 des signaux d'écriture W1, W2 et de lecture R1, R2.The DYMUX3 dynamic multiplexer from the comprises a hardware multiplexer MUX3, a synchronization circuit SYNCT3, the SREG register, a reception circuit RX1 connected to the bus DISPB1, a reception circuit RX2 connected to the bus DISPB2, a line buffer LBUF1 whose input is connected to the output of circuit RX1 and whose output is connected to a first input of multiplexer MUX3, a line buffer LBUF2 whose input is connected to the output of circuit RX2 and whose output is connected to a second input of multiplexer MUX3, and a TX transmission circuit whose input is connected to the output of the MUX3 multiplexer and whose output is connected to the DISPB bus. Unlike the multiplexers MUX1, MUX2 of Figures 10, 11, the multiplexer MUX3 is a multiplexer of raw digital data and not a multiplexer of image data received in a form encapsulated in a frame coded according to a determined protocol. Indeed, the raw data conveyed on the DISPB1 bus are decoded - or more precisely deencapsulated - by the reception circuit RX1, then loaded into the line buffer LBUF1 to then be applied to the first input of the multiplexer MUX3. Likewise, the raw data conveyed on the DISPB2 bus are deencapsulated by the reception circuit RX2 then loaded into the line buffer LBUF2 to then be applied to the second input of the multiplexer MUX3. For this purpose, the SYNCT3 circuit applies write signals W1, W2 and read signals R1, R2 to the buffers LBUF1, LBUF2.

Les circuits de réception RX1, RX2 fournissent au circuit SYNCT3 des informations de synchronisation SI1, SI2 lui permettant de compter le nombre de lignes d'une image ayant été affichées et de déterminer les instants T1 où le contenu du tampon LBUF1 doit être appliqué à l'entrée du circuit de transmission TX ainsi que les instants T2 où le contenu du tampon LBUF2 doit être appliqué à l'entrée du circuit de transmission TX. Le circuit de transmission TX reconstitue sur le bus DISPB, à partir des données brutes fournies par les tampons LBUF1, LBUF2, une trame vidéo codée selon le protocole désiré, qui peut être le même que celui des bus DISPB1, DISPB2 ou un autre protocole. Le circuit TX communique également au circuit SYNCT3 des informations de synchronisation SI3 lui permettant de parfaire le contrôle du multiplexeur MUX3.The reception circuits RX1, RX2 provide the circuit SYNCT3 with synchronization information SI1, SI2 allowing it to count the number of lines of an image having been displayed and to determine the instants T1 where the contents of the buffer LBUF1 must be applied to the the input of the TX transmission circuit as well as the instants T2 where the contents of the LBUF2 buffer must be applied to the input of the TX transmission circuit. The TX transmission circuit reconstitutes on the DISPB bus, from the raw data provided by the LBUF1, LBUF2 buffers, a video frame coded according to the desired protocol, which may be the same as that of the DISPB1, DISPB2 buses or another protocol. The TX circuit also communicates to the SYNCT3 circuit synchronization information SI3 allowing it to perfect the control of the multiplexer MUX3.

Le multiplexeur dynamique DYMUX4 de la comprend un multiplexeur matériel MUX4 identique ou de même type que le multiplexeur MUX3, et un circuit de synchronisation SYNCT4. Il diffère principalement du multiplexeur DYMUX3 en ce que le circuit de réception RX2 est supprimé, le tampon de ligne LBUF2 étant remplacé par un tampon de ligne étendu ELBUF2 pouvant recevoir des données brutes correspondant à plusieurs lignes de l'image à incruster. Le gestionnaire d'affichage DMCU accède directement au tampon de ligne étendu ELBUF2 sans passer par la fourniture d'un signal vidéo. A cet effet le bus DISPB2, au lieu d'être un bus véhiculant des trames vidéo selon le protocole MIPI-DSI ou autre protocole vidéo, peut être simplement un bus I2C ou SPI. Lorsque le tampon ELBUF2 a été rempli par gestionnaire d'affichage DMCU, le circuit de synchronisation SYNCT4 réalise plusieurs cycles de lecture du tampon pour la fourniture de son contenu au multiplexeur MUX4, en appliquant successivement au tampon des adresses de ligne LAD2 suivies d'un signal de lecture READ2. Afin d'éviter l'apparition d'artefacts visuels dus à la mise à jour des données dans le tampon de ligne étendu ELBUF2, un système à double tampon peut être prévu, un premier tampon étant utilisé pendant que le second tampon est rempli, le second tampon, une fois plein, étant ensuite utilisé pendant que le premier tampon est rempli, et ainsi de suite.The DYMUX4 dynamic multiplexer from the comprises a MUX4 hardware multiplexer identical or of the same type as the MUX3 multiplexer, and a SYNCT4 synchronization circuit. It mainly differs from the DYMUX3 multiplexer in that the RX2 receive circuit is removed, with the LBUF2 line buffer replaced by an extended ELBUF2 line buffer that can receive raw data corresponding to several lines of the image to be keyed. The DMCU display manager directly accesses the ELBUF2 extended line buffer without providing a video signal. For this purpose the DISPB2 bus, instead of being a bus carrying video frames according to the MIPI-DSI protocol or other video protocol, can simply be an I2C or SPI bus. When the buffer ELBUF2 has been filled by display manager DMCU, the synchronization circuit SYNCT4 carries out several cycles of reading the buffer to supply its contents to the multiplexer MUX4, by successively applying to the buffer line addresses LAD2 followed by a READ2 reading signal. In order to avoid the appearance of visual artifacts due to updating the data in the extended row buffer ELBUF2, a double buffer system can be provided, a first buffer being used while the second buffer is filled, the second buffer, once full, then being used while the first buffer is filled, and so on.

Le multiplexeur dynamique DYMUX5 de la comprend un multiplexeur matériel MUX5 identique ou de même type que les multiplexeurs MUX3, MUX4, et un circuit de synchronisation SYNCT5. Il diffère principalement du multiplexeur DYMUX4 en ce que le tampon de ligne étendu ELBUF2 est remplacé par un tampon de page PBUF2 dans lequel le gestionnaire d'affichage DMCU a préalablement chargé l'intégralité des lignes de la région 10 ( ).The DYMUX5 dynamic multiplexer from the includes a MUX5 hardware multiplexer identical or of the same type as the MUX3, MUX4 multiplexers, and a SYNCT5 synchronization circuit. It mainly differs from the DYMUX4 multiplexer in that the extended line buffer ELBUF2 is replaced by a page buffer PBUF2 into which the display manager DMCU has previously loaded the entire lines of region 10 ( ).

Dans une variante de réalisation montrée sur la et applicable également aux modes de réalisation des figures 12 et 13, le multiplexeur dynamique DYMUX6 comprend un multiplexeur MUX6 dont la sortie , au lieu d'être appliquée directement au circuit de transmission TX, est appliquée à un tampon de page PBUF3 qui est préalablement rempli avec la totalité des lignes d'une page avant que son contenu ne soit appliqué au circuit TX pour la génération du signal vidéo sur le bus DISPB. Cette page intégrale préalablement mémorisée peut comprendre des lignes fournies par le processeur d'application et des lignes fournies par le gestionnaire d'affichage DMCU, occupant la région 10. Dans ce cas le multiplexeur MUX6 n'est plus du même type que les multiplexeurs précédemment décrit, et bien que toujours désigné ici par l'appellation multiplexeur car il procure le même effet technique, il constitue plutôt un système de copie de tampon à tampon à deux canaux d'entrée et un canal de sortie. Bien que les modes de réalisation du multiplexeur dynamique qui viennent d’être décrits assurent une incrustation des données d'image fournies par l'élément sécurisé avec une finesse d'incrustation, ou pas d'incrustation ("embedding pitch"), qui est à l'échelle d'une ligne des données d'image fournie par le processeur d'application, l'homme de l'art pourra modifier ce pas d'incrustation en fonction des objectifs visées en matière d'ergonomie et d'expérience utilisateur. Dans des modes de réalisation, le pas d'incrustation peut notamment être à l'échelle du pixel des données d'image fournie par le processeur d'application. Dans le mode de réalisation de la par exemple, le multiplexeur MUX5 peut être configuré pour sélectionner pixel par pixel les données d'image contenues dans les tampons LBUF1 et PBUF2, et ainsi remplir le tampon de sortie PBUF3 pixel par pixel.In a variant embodiment shown on the and also applicable to the embodiments of Figures 12 and 13, the dynamic multiplexer DYMUX6 comprises a multiplexer MUX6 whose output, instead of being applied directly to the TX transmission circuit, is applied to a page buffer PBUF3 which is previously filled with all the lines of a page before its content is applied to the TX circuit for the generation of the video signal on the DISPB bus. This previously stored integral page may include lines provided by the application processor and lines provided by the display manager DMCU, occupying region 10. In this case the MUX6 multiplexer is no longer of the same type as the multiplexers previously stored. described, and although still referred to here as a multiplexer because it provides the same technical effect, it rather constitutes a buffer-to-buffer copying system with two input channels and one output channel. Although the embodiments of the dynamic multiplexer which have just been described ensure an embedding of the image data provided by the secure element with a fineness of embedding, or no embedding pitch, which is on the scale of a line of image data provided by the application processor, those skilled in the art will be able to modify this inlay step according to the objectives sought in terms of ergonomics and user experience . In embodiments, the inlay step may in particular be on the pixel scale of the image data provided by the application processor. In the embodiment of the for example, the MUX5 multiplexer can be configured to select the image data contained in the LBUF1 and PBUF2 buffers pixel by pixel, and thus fill the output buffer PBUF3 pixel by pixel.

La illustre un agencement de composants d'un terminal mobile (smartphone) selon l'une des figures 4 à 8, 10 à 14. Le processeur d'application APROC et son éventuelle enclave TEE peuvent faire partie d'un système-sur-puce SoC ("System-on-Chip"). Le processeur d'application APROC ou le SoC qui le reçoit comporte des broches soudées à des pistes respectives d'un circuit imprimé ou autre support d’interconnexion recevant un certain nombre d'autres composants. Des groupes respectifs de broches sont associés aux différents liens de communication entre les composants, notamment les bus DISPB, DISPB1, DB1, DB2, DB11 précédemment mentionnés.There illustrates an arrangement of components of a mobile terminal (smartphone) according to one of Figures 4 to 8, 10 to 14. The APROC application processor and its possible TEE enclave can be part of a SoC system-on-chip (“System-on-Chip”). The APROC application processor or the SoC which receives it has pins soldered to respective tracks of a printed circuit or other interconnection support receiving a certain number of other components. Respective groups of pins are associated with the different communication links between the components, including the previously mentioned DISPB, DISPB1, DB1, DB2, DB11 buses.

L'afficheur DISP et la dalle tactile KBD sont généralement déportés et parallèles au circuit imprimé. Leurs bus de commande sont alors reliés au circuit imprimé par des connecteurs soudés sur des pistes du circuit imprimé.The DISP display and the KBD touch panel are generally offset and parallel to the printed circuit. Their control buses are then connected to the printed circuit by connectors soldered on tracks of the printed circuit.

Dans un mode de réalisation, les éléments décrits ci-dessus, permettant de mettre en œuvre un portefeuille matériel embarqué, notamment les éléments eSE, DMCU, MUX ou DYMUX et DMUX, ainsi que les bus qui les relient et éventuellement les connecteurs de tout ou partie des éléments B, S, LD, LR peuvent être intégrés dans un système-en-boîtier SiP ("System-in-Package") conçu pour être monté sur un circuit imprimé. Alternativement, ces éléments peuvent être intégrés dans un autre SoC.In one embodiment, the elements described above, making it possible to implement an embedded hardware portfolio, in particular the eSE, DMCU, MUX or DYMUX and DMUX elements, as well as the buses which connect them and possibly the connectors of all or part of the elements B, S, LD, LR can be integrated into a SiP system-in-package (“System-in-Package”) designed to be mounted on a printed circuit. Alternatively, these elements can be integrated into another SoC.

Ainsi, pour intégrer un portefeuille matériel dans un terminal mobile, on aménage une place sur le circuit imprimé pour souder le système-en-boîtier SiP, on redessine les pistes des différents bus utilisés en les interrompant pour qu'elles passent par le SiP, et on prévoit des pistes pour établir la liaison sécurisée entre le processeur APROC et l'élément sécurisé eSE.Thus, to integrate a hardware wallet into a mobile terminal, we provide a place on the printed circuit to solder the SiP system-in-package, we redesign the tracks of the different buses used by interrupting them so that they pass through the SiP, and tracks are provided to establish the secure connection between the APROC processor and the secure element eSE.

Les différents éléments physiques discrets gérés par les circuits du SiP (le bouton B, le commutateur S, l'indicateur lumineux LD) peuvent être fixés sur le boîtier du terminal et reliés à des connecteurs du SiP, ou à des connecteurs déportés sur le circuit imprimé, eux-mêmes reliés par des pistes à des broches dédiées du SiP.The various discrete physical elements managed by the SiP circuits (the button B, the switch S, the light indicator LD) can be fixed on the terminal housing and connected to SiP connectors, or to remote connectors on the circuit printed, themselves connected by tracks to dedicated pins of the SiP.

Avec cette configuration, un terminal mobile classique peut être transformé en un terminal mobile incluant un portefeuille matériel embarqué par le simple ajout d'un SiP sur un circuit imprimé portant les composants du terminal classique. Bien que la conception d'un circuit imprimé adapté représente un certain coût de développement et de production, ce coût reste négligeable du fait qu'il n'y a pas d'adaptation à faire au niveau de la plateforme matérielle du terminal classique.With this configuration, a classic mobile terminal can be transformed into a mobile terminal including an embedded hardware wallet by the simple addition of a SiP on a printed circuit carrying the components of the classic terminal. Although the design of a suitable printed circuit represents a certain development and production cost, this cost remains negligible due to the fact that there is no adaptation to be made to the hardware platform of the classic terminal.

La description qui précède a été effectuée essentiellement dans le contexte des smartphones embarquant un portefeuille matériel pour signer des transactions sur la blockchain (“smartphones blockchain”). Il apparaîtra clairement à l'homme de l'art que les moyens et procédés qui viennent d'être décrits pour assurer le contrôle de l'affichage par l'élément sécurisé pendant la signature d'une transaction s’appliquent à toute opération sécurisée nécessitant ce même contrôle. Les moyens et procédés décrits s’appliquent également à tout type de terminal connecté à Internet ou à un réseau local stockant des secrets servant à diverses utilisations impliquant des calculs cryptographiques, comme la signature de transactions en général et l’authentification, y compris l’authentification “zero knowledge”. Dans d’autres types de terminaux connectés, l’interface homme-machine peut être un afficheur associé à un clavier physique, ou à un joystick.
The preceding description was carried out essentially in the context of smartphones embedding a hardware wallet to sign transactions on the blockchain (“blockchain smartphones”). It will be clear to those skilled in the art that the means and methods which have just been described to ensure control of the display by the secure element during the signing of a transaction apply to any secure operation requiring this same control. The means and methods described also apply to any type of terminal connected to the Internet or to a local network storing secrets used for various uses involving cryptographic calculations, such as the signing of transactions in general and authentication, including “zero knowledge” authentication. In other types of connected terminals, the man-machine interface can be a display associated with a physical keyboard, or a joystick.

Claims (21)

Terminal connecté (SPH6) configuré pour exécuter une opération sécurisée, le terminal comprenant :
- un processeur d'application (APROC) configuré pour initier l'opération sécurisée,
- un élément sécurisé (eSE) pour exécuter l'opération sécurisée, et
- un afficheur (DISP) accessible par l'intermédiaire d'un bus câblé (DISPB) et recevant du processeur d'application des données d'image à afficher à l'attention d'un utilisateur,
caractérisé en ce qu'il comprend des moyens (DYMUX, MUXi) contrôlés par l'élément sécurisé et configurés pour, à la demande (PIP) de l'élément sécurisé et au moins pendant l'exécution de l'opération sécurisée, appliquer alternativement sur le bus câblé (DISPB) de l'afficheur des données d'image (IPAQ1) fournies par le processeur d'application et des données d'image (IPAQ2) fournies par l'élément sécurisé, de manière à ce que les données d'image fournies par l'élément sécurisé remplacent des données d'image fournies par le processeur d'application et forment une image sécurisée incrustée dans une image non sécurisée fournie par le processeur d'application, l'image sécurisée s'étendant dans au moins une région (10) déterminée de l'afficheur.
Connected terminal (SPH6) configured to execute a secure operation, the terminal comprising:
- an application processor (APROC) configured to initiate the secure operation,
- a secure element (eSE) to execute the secure operation, and
- a display (DISP) accessible via a wired bus (DISPB) and receiving image data from the application processor to be displayed to the attention of a user,
characterized in that it comprises means (DYMUX, MUXi) controlled by the secure element and configured to, at the request (PIP) of the secure element and at least during the execution of the secure operation, apply alternatively on the wired bus (DISPB) of the display of image data (IPAQ1) supplied by the application processor and image data (IPAQ2) supplied by the secure element, so that the data d The image provided by the secure element replaces image data provided by the application processor and forms a secure image embedded in an insecure image provided by the application processor, the secure image extending into at least a determined region (10) of the display.
Terminal selon la revendication 1, comprenant au moins un indicateur lumineux (LD, LR) activé par l'élément sécurisé lorsque l'élément sécurisé incruste une image sécurisée dans une image non sécurisée fournie par le processeur d'application.Terminal according to claim 1, comprising at least one light indicator (LD, LR) activated by the secure element when the secure element embeds a secure image in an insecure image provided by the application processor. Terminal selon l'une des revendications 1 et 2, comprenant des moyens (VM, LR, 101, 102, 103) pour indiquer à l'utilisateur l'emplacement et l'étendue de la région (10) dans laquelle est affichée l'image sécurisée incrustée.Terminal according to one of claims 1 and 2, comprising means (VM, LR, 101, 102, 103) for indicating to the user the location and extent of the region (10) in which the secure image embedded. Terminal selon la revendication 3, dans lequel les moyens pour indiquer l'emplacement et l'étendue de la région (10) dans laquelle est affichée l'image sécurisée incrustée comprennent une rangée (LR) d'indicateurs lumineux (Li) contrôlée par l'élément sécurisé et agencée en bordure de l'afficheur.Terminal according to claim 3, in which the means for indicating the location and extent of the region (10) in which the embedded secure image is displayed comprise a row (LR) of light indicators (L i ) controlled by the secure element and arranged at the edge of the display. Terminal selon la revendication 3, dans lequel les moyens pour indiquer l'emplacement, de la région (10) dans laquelle est affichée l'image sécurisée incrustée comprennent :
- une région (101) de l'afficheur (LR) qui est en permanence sous le contrôle de l'élément sécurisé, et qui affiche une apparence déterminée,
- une bordure (102) de la région (10) dans laquelle est affichée l'image sécurisée incrustée, qui présente la même apparence que la région (101) de l'afficheur qui est en permanence sous le contrôle de l'élément sécurisé.
Terminal according to claim 3, wherein the means for indicating the location of the region (10) in which the embedded secure image is displayed comprise:
- a region (101) of the display (LR) which is permanently under the control of the secure element, and which displays a determined appearance,
- a border (102) of the region (10) in which the embedded secure image is displayed, which has the same appearance as the region (101) of the display which is permanently under the control of the secure element.
Terminal selon l'une des revendications 1 à 5, dans lequel les moyens (DYMUX, MUXi) configurés pour appliquer alternativement sur le bus câblé (DISPB) de l'afficheur des données d'image (IPAQ1) fournies par le processeur d'application et des données d'image (IPAQ2) fournies par l'élément sécurisé, comprennent :
- un multiplexeur (MUXi, MUX1-MUX5) recevant sur une première entrée les données d'image (IPAQ1) fournies par le processeur d'application et sur une seconde entrée les données d'image (IPAQ2) fournies par l'élément sécurisé, et
- un circuit de commande (SYNCT, SYNCT1-SYNCT5, SREG, DMCU) du multiplexeur, configuré pour commander (SEL) le multiplexeur en fonction d'une donnée de configuration (SDT) fournie par l'élément sécurisé.
Terminal according to one of claims 1 to 5, in which the means (DYMUX, MUXi) configured to alternately apply image data (IPAQ1) supplied by the application processor to the wired bus (DISPB) of the display and image data (IPAQ2) provided by the secure element, include:
- a multiplexer (MUXi, MUX1-MUX5) receiving on a first input the image data (IPAQ1) supplied by the application processor and on a second input the image data (IPAQ2) supplied by the secure element, And
- a control circuit (SYNCT, SYNCT1-SYNCT5, SREG, DMCU) of the multiplexer, configured to control (SEL) the multiplexer according to configuration data (SDT) provided by the secure element.
Terminal selon la revendication 6, dans lequel le circuit de commande (SYNCT, SYNCT1-SYNCT5, SREG, DMCU) est configuré pour commander le multiplexeur avec une finesse d'incrustation déterminée des données d'image fournies par l'élément sécurisé, ladite finesse d'incrustation étant à l'échelle d'une ligne ou à l'échelle d'un pixel des données d'image fournies par le processeur d'application.Terminal according to claim 6, in which the control circuit (SYNCT, SYNCT1-SYNCT5, SREG, DMCU) is configured to control the multiplexer with a determined fineness of inlay of the image data supplied by the secure element, said fineness of inlay being at the scale of a line or at the scale of a pixel of the image data provided by the application processor. Terminal selon l'une des revendications 1 à 7, dans lequel l'élément sécurisé est configuré pour, avant de réaliser l'opération, incruster dans une image non sécurisée fournie par le processeur d'application une image sécurisée comprenant des informations sur l'opération sécurisée.Terminal according to one of claims 1 to 7, in which the secure element is configured to, before carrying out the operation, embed in an insecure image provided by the application processor a secure image comprising information on the secure operation. Terminal selon l'une des revendications 1 à 8, comprenant en outre un dispositif de saisie (KBD) fournissant des données tactiles sur un bus de données (DB1), et un démultiplexeur (DMUX) commandé par l'élément sécurisé (eSE) et configuré pour relier le bus de données (DB1) du dispositif de saisie à un bus (DB11) du processeur d'application ou à un bus (DB12) de l'élément sécurisé.Terminal according to one of claims 1 to 8, further comprising an input device (KBD) providing tactile data on a data bus (DB1), and a demultiplexer (DMUX) controlled by the secure element (eSE) and configured to connect the data bus (DB1) of the input device to a bus (DB11) of the application processor or to a bus (DB12) of the secure element. Terminal selon les revendications 8 et 9, dans lequel l'élément sécurisé est configuré pour se relier au dispositif de saisie (KBD) pendant l'affichage d'informations sur l'opération dans l'image sécurisée.Terminal according to claims 8 and 9, wherein the secure element is configured to connect to the input device (KBD) during the display of information about the operation in the secure image. Terminal selon l'une des revendications 1 à 10, comprenant un bouton physique (B, S) actionnable par l'utilisateur et surveillé par l'élément sécurisé (eSE), dans lequel l'élément sécurisé est configuré pour ne pas réaliser l'opération en l'absence d'une action de l'utilisateur sur le bouton physique (B, S).Terminal according to one of claims 1 to 10, comprising a physical button (B, S) operable by the user and monitored by the secure element (eSE), in which the secure element is configured not to carry out the operation in the absence of user action on the physical button (B, S). Terminal selon l'une des revendications 1 à 11, dans lequel l'élément sécurisé (eSE) et les moyens (DYMUX, MUXi) pour appliquer alternativement sur le bus câblé (DISPB) de l'afficheur des données d'image (IPAQ1) fournies par le processeur d'application et des données d'image (IPAQ2) fournies par l'élément sécurisé, sont intégrés en tout ou en partie dans un système-en-boîtier (SiP) ou dans un système-sur-puce (Soc) monté sur un support d’interconnexion du terminal.Terminal according to one of claims 1 to 11, in which the secure element (eSE) and the means (DYMUX, MUXi) for alternately applying image data (IPAQ1) to the wired bus (DISPB) of the display provided by the application processor and image data (IPAQ2) provided by the secure element, are integrated in whole or in part in a system-in-package (SiP) or in a system-on-chip (Soc ) mounted on a terminal interconnection support. Terminal selon l'une des revendications 1 à 12, dans lequel l'opération sécurisée comprend une étape de signature d'une donnée au moyen d'une clé secrète.Terminal according to one of claims 1 to 12, in which the secure operation comprises a step of signing data using a secret key. Procédé pour conduire une opération sécurisée au moyen d'un terminal connecté (SPH6), notamment la signature d'une donnée au moyen d'une clé secrète, le terminal comprenant :
- un processeur d'application (APROC) configuré pour initier l'opération sécurisée,
- un élément sécurisé (eSE) détenant une clé privée et configuré pour exécuter l'opération sécurisée, et
- un afficheur (DISP) accessible par l'intermédiaire d'un bus câblé (DISPB) et recevant du processeur d'application des images non sécurisées relatives au déroulement de l'opération sécurisée,
procédé caractérisé en ce qu'il comprend une étape consistant à incruster, dans au moins une image non sécurisée fournie par le processeur d'application et présentée sur l'afficheur, une image sécurisée fournie par l'élément sécurisé et non accessible au processeur d'application, l'image sécurisée comprenant des informations sur l'opération et s'étendant dans au moins une région (10) déterminée de l'afficheur, l'étape d'incrustation étant sous le contrôle de l'élément sécurisé et ne pouvant pas être empêchée ou corrompue par le processeur d'application.
Method for carrying out a secure operation by means of a connected terminal (SPH6), in particular the signing of data by means of a secret key, the terminal comprising:
- an application processor (APROC) configured to initiate the secure operation,
- a secure element (eSE) holding a private key and configured to execute the secure operation, and
- a display (DISP) accessible via a wired bus (DISPB) and receiving from the application processor unsecured images relating to the progress of the secure operation,
method characterized in that it comprises a step consisting of embedding, in at least one insecure image provided by the application processor and presented on the display, a secure image provided by the secure element and not accessible to the processor application, the secure image comprising information on the operation and extending in at least one determined region (10) of the display, the inlay step being under the control of the secure element and not being able to not be prevented or corrupted by the application processor.
Procédé selon la revendication 14, comprenant l'étape consistant à prévoir dans le terminal des moyens (DYMUX, MUXi) contrôlés par l'élément sécurisé et configurés pour, à la demande (PIP) de l'élément sécurisé, appliquer alternativement sur le bus câblé (DISPB) de l'afficheur des données d'image (IPAQ1) fournies par le processeur d'application et des données d'image (IPAQ2) fournies par l'élément sécurisé, de manière à ce que les données d'image fournies par l'élément sécurisé remplacent des données d'image fournies par le processeur d'application et forment ladite image sécurisée incrustée dans l'image non sécurisée fournie par le processeur d'application.Method according to claim 14, comprising the step of providing in the terminal means (DYMUX, MUXi) controlled by the secure element and configured to, at the request (PIP) of the secure element, apply alternately on the bus wired (DISPB) of the display of the image data (IPAQ1) provided by the application processor and the image data (IPAQ2) provided by the secure element, so that the image data provided by the secure element replace image data provided by the application processor and form said secure image embedded in the insecure image provided by the application processor. Procédé selon l'une des revendications 14 et 15, comprenant la prévision dans le terminal d'au moins un indicateur lumineux (LD, LR), et comprenant une étape d'activation de l'indicateur lumineux par l'élément sécurisé lorsque l'élément sécurisé incruste une image sécurisée dans une image non sécurisée fournie par le processeur d'application.Method according to one of claims 14 and 15, comprising the provision in the terminal of at least one light indicator (LD, LR), and comprising a step of activating the light indicator by the secure element when the secure element embeds a secure image into an insecure image provided by the application processor. Procédé selon l'une des revendications 14 à 15, comprenant une étape consistant à indiquer à l'utilisateur l'emplacement et l'étendue de la région (10) dans laquelle est affichée l'image sécurisée incrustée.Method according to one of claims 14 to 15, comprising a step consisting of indicating to the user the location and extent of the region (10) in which the embedded secure image is displayed. Procédé selon la revendication 17, l'emplacement et l'étendue de la région (10) dans laquelle est affichée l'image sécurisée incrustée sont indiqués au moyen d'une rangée (LR) d'indicateurs lumineux (Li) contrôlée par l'élément sécurisé et agencée en bordure de l'afficheur.Method according to claim 17, the location and extent of the region (10) in which the embedded secure image is displayed are indicated by means of a row (LR) of light indicators (L i ) controlled by the 'secure element and arranged at the edge of the display. Procédé selon la revendication 17, dans lequel l'emplacement et l'étendue de la région (10) dans laquelle est affichée l'image sécurisée incrustée sont indiqués au moyen :
- d'une région (101) de l'afficheur (LR) qui est en permanence sous le contrôle de l'élément sécurisé et qui présente une apparence déterminée, et
- d'une bordure (102) de la région (10) dans laquelle est affichée l'image sécurisée incrustée, qui présente la même apparence que la région (101) de l'afficheur en permanence sous le contrôle de l'élément sécurisé.
A method according to claim 17, wherein the location and extent of the region (10) in which the embedded secure image is displayed are indicated by means of:
- a region (101) of the display (LR) which is permanently under the control of the secure element and which has a specific appearance, and
- a border (102) of the region (10) in which the embedded secure image is displayed, which has the same appearance as the region (101) of the display permanently under the control of the secure element.
Procédé selon l'une des revendications 14 à 19, dans lequel le dispositif comprend un dispositif de saisie (KBD) fournissant des données tactiles sur un bus de données (DB1), et comprenant l'étape consistant à relier le dispositif de saisie (KBD) à l'élément sécurisé pendant l'affichage d'informations sur l'opération sécurisée dans l'image sécurisée incrustée.Method according to one of claims 14 to 19, in which the device comprises an input device (KBD) providing tactile data on a data bus (DB1), and comprising the step of connecting the input device (KBD ) to the secure element while displaying information about the secure operation in the embedded secure image. Procédé selon l'une des revendications 14 à 20, dans lequel le dispositif comprend un bouton physique (B, S) actionnable par l'utilisateur et surveillé par l'élément sécurisé (eSE), et comprenant une étape consistant à configurer l'élément sécurisé de manière à ce qu'il n'exécute pas l'opération sécurisée en l'absence d'une action de l'utilisateur sur le bouton physique (B, S).Method according to one of claims 14 to 20, in which the device comprises a physical button (B, S) operable by the user and monitored by the secure element (eSE), and comprising a step consisting of configuring the element secured in such a way that it does not execute the secure operation in the absence of user action on the physical button (B, S).
FR2304933A 2022-09-30 2023-05-17 Connected terminal comprising means for embedding a secure image in an insecure image. Pending FR3140458A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/FR2023/051471 WO2024069088A1 (en) 2022-09-30 2023-09-25 Smartphone incorporating a hardware wallet for storing cryptographic keys implementing software multiplexing of the display of the smartphone
PCT/FR2023/051472 WO2024069089A1 (en) 2022-09-30 2023-09-25 Method for switching a terminal to a secure mode for processing a transaction
PCT/FR2023/051470 WO2024069087A1 (en) 2022-09-30 2023-09-25 Smartphone incorporating a hardware wallet for storing cryptographic keys implementing hardware multiplexing of the display of the smartphone
PCT/FR2023/051473 WO2024069090A2 (en) 2022-09-30 2023-09-25 Connected terminal comprising means for embedding a secure image in a non-secure image

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR2209987 2022-09-30
FR2209987A FR3140462A1 (en) 2022-09-30 2022-09-30 Smartphone integrating a hardware cryptographic key storage wallet implementing software multiplexing of the smartphone display
FR2209984A FR3140463A1 (en) 2022-09-30 2022-09-30 Smartphone integrating a hardware cryptographic key storage wallet implementing hardware multiplexing of the smartphone display
FR2209984 2022-09-30

Publications (1)

Publication Number Publication Date
FR3140458A1 true FR3140458A1 (en) 2024-04-05

Family

ID=85175912

Family Applications (2)

Application Number Title Priority Date Filing Date
FR2212475A Pending FR3140464A1 (en) 2022-09-30 2022-11-29 Securely temporarily switching a terminal into a secure mode to process a transaction
FR2304933A Pending FR3140458A1 (en) 2022-09-30 2023-05-17 Connected terminal comprising means for embedding a secure image in an insecure image.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
FR2212475A Pending FR3140464A1 (en) 2022-09-30 2022-11-29 Securely temporarily switching a terminal into a secure mode to process a transaction

Country Status (1)

Country Link
FR (2) FR3140464A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2466521A1 (en) * 2010-12-16 2012-06-20 Research In Motion Limited Obscuring visual login

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761806B (en) * 2014-02-21 2017-01-18 北京握奇数据***有限公司 Financial security system used for mobile terminal
CN103986837B (en) * 2014-05-28 2017-11-10 天地融科技股份有限公司 Information processing method and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2466521A1 (en) * 2010-12-16 2012-06-20 Research In Motion Limited Obscuring visual login

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LEDGER: "Ledger Nano S Security Target", 18 October 2018 (2018-10-18), XP093033870, Retrieved from the Internet <URL:https://www.ssi.gouv.fr/uploads/2019/02/anssi-cible-cspn-2019_03en.pdf> [retrieved on 20230322] *
RELEASE: "Ledger Documentation Hub", 1 August 2017 (2017-08-01), XP055607219, Retrieved from the Internet <URL:https://buildmedia.readthedocs.org/media/pdf/ledger/stable/ledger.pdf> [retrieved on 20290101] *
REZAEIGHALEH HOSSEIN ET AL: "Efficient Off-Chain Transaction to Avoid Inaccessible Coins in Cryptocurrencies", 2020 IEEE 19TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM), IEEE, 29 December 2020 (2020-12-29), pages 1903 - 1909, XP033900943, DOI: 10.1109/TRUSTCOM50675.2020.00260 *

Also Published As

Publication number Publication date
FR3140464A1 (en) 2024-04-05

Similar Documents

Publication Publication Date Title
CN107430657B (en) Authentication by proxy
JP6937541B2 (en) POS device with switchable internal connection role
US8583915B1 (en) Security and authentication systems and methods for personalized portable devices and associated systems
US9547778B1 (en) Secure public key acceleration
CN105164694A (en) Trusted terminal platform
CA3007579A1 (en) Hardware integrity check
WO2009012229A1 (en) Systems and methods for alarm tone selection, distribution, and playback in a networked audiovisual device
CN106462713B (en) The interface display method and terminal of terminal
WO2010010258A2 (en) System and method for securing a user interface
WO2020009719A1 (en) Offline cryptocurrency wallet with secure key management
CN111340482A (en) Conflict detection method, device, node equipment and storage medium
US20180054461A1 (en) Allowing access to false data
JP2019520653A (en) System on chip and terminal
FR3103585A1 (en) Method for managing the configuration of access to peripherals and their associated resources of a system on chip forming for example a microcontroller, and corresponding system on chip
CN111193724B (en) Authentication method, device, server and storage medium
WO2024069090A2 (en) Connected terminal comprising means for embedding a secure image in a non-secure image
FR3140458A1 (en) Connected terminal comprising means for embedding a secure image in an insecure image.
FR3026524A1 (en) AUTHENTICATION OF A SECURE ELECTRONIC DEVICE FROM AN UNSECURED ELECTRONIC DEVICE
US9477272B2 (en) Prevention of removal of solid state drive from computer housing with data being accessible thereon
EP3542335B1 (en) Method for processing transaction data, corresponding communication terminal, card reader and program
EP3132403A1 (en) Device forprocessing data from a contactless smart card, method and corresponding computer program
FR3140462A1 (en) Smartphone integrating a hardware cryptographic key storage wallet implementing software multiplexing of the smartphone display
FR3140463A1 (en) Smartphone integrating a hardware cryptographic key storage wallet implementing hardware multiplexing of the smartphone display
KR101852986B1 (en) Redundant fuse coding
CA2998780C (en) Management of a display of a view of an application on a screen of an electronic data input device, corresponding method, device and computer program product

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20240405

PLFP Fee payment

Year of fee payment: 2