FR3011653A1 - Procedes et dispositifs de masquage et demasquage - Google Patents

Procedes et dispositifs de masquage et demasquage Download PDF

Info

Publication number
FR3011653A1
FR3011653A1 FR1359803A FR1359803A FR3011653A1 FR 3011653 A1 FR3011653 A1 FR 3011653A1 FR 1359803 A FR1359803 A FR 1359803A FR 1359803 A FR1359803 A FR 1359803A FR 3011653 A1 FR3011653 A1 FR 3011653A1
Authority
FR
France
Prior art keywords
sensitive data
data
algorithm
masked
unmasking
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.)
Granted
Application number
FR1359803A
Other languages
English (en)
Other versions
FR3011653B1 (fr
Inventor
Olivier Chamley
Christophe Giraud
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
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
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1359803A priority Critical patent/FR3011653B1/fr
Priority to US14/505,762 priority patent/US9646516B2/en
Publication of FR3011653A1 publication Critical patent/FR3011653A1/fr
Priority to US15/439,973 priority patent/US10121392B2/en
Application granted granted Critical
Publication of FR3011653B1 publication Critical patent/FR3011653B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/602Providing cryptographic facilities or services
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Abstract

L'invention concerne des dispositifs ainsi que des procédés de masquage et de démasquage de données sensibles, basés sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement. Le masquage (20) des données sensibles se fait par application de l'algorithme de déchiffrement sur les données sensibles pour obtenir des données sensibles masquées. Le démasquage (24) des données sensibles masquées se fait par application de l'algorithme de chiffrement sur les données sensibles masquées pour obtenir des données sensibles en clair.

Description

DOMAINE DE L'INVENTION L'invention concerne la sécurisation de données sensibles dans un dispositif électronique. Elle s'applique, en particulier, au masquage et au démasquage de données sensibles dans un dispositif à ressources limitées.
CONTEXTE DE L'INVENTION Les dispositifs électroniques actuels mobilisent de plus en plus de ressources pour mettre en oeuvre de multiples applications, comme par exemple des applications de paiement, requérant un niveau de sécurité satisfaisant.
Pour cela, les applications et les données sensibles sont généralement stockées sous forme masquée, et pour être utilisées, elles doivent être démasquées. Ainsi, les données masquées doivent être démasquées préalablement à chacune de leurs utilisations, puisque pour maintenir leur sécurité, elles ne sont pas stockées « en clair » dans le dispositif électronique.
De plus, dans le cas où les données masquées représentent des instructions pour la mise en oeuvre d'une application, le nombre de bits à démasquer préalablement à l'exécution de cette application dans le dispositif électronique est parfois très important. Ainsi, le démasquage en lui-même peut s'avérer fastidieux. L'expression « données sous forme masquée » signifie que les données ne sont pas « en clair », autrement dit qu'elles sont voilées ou cachées, c'est-à-dire ne pouvant être exploitées en l'état. Réciproquement, l'expression « données démasquées » signifie que les données sont « en clair », et qu'elles peuvent être exécutées, traitées, ou exploitées en l'état. Ces données démasquées sont vulnérables vis-à-vis par exemple d'un dispositif espion, c'est pourquoi elles ne sont généralement pas stockées sous cette forme dans les dispositifs électroniques. De façon générale, des données peuvent être masquées à l'aide d'un algorithme cryptographique définissant un algorithme de chiffrement de ces données. De manière correspondante, des données masquées peuvent être démasquées à l'aide d'un algorithme cryptographique définissant un algorithme de déchiffrement de ces données masquées. Ainsi, de tels algorithmes de chiffrement et de déchiffrement sont généralement conçus de sorte à être utilisés de manière conjointe, typiquement pour masquer et démasquer des données, au sein d'un même algorithme cryptographique.
En particulier, il existe des algorithmes cryptographiques normalisés qui définissent les rôles respectifs des algorithmes de chiffrement et de déchiffrement. Parmi les algorithmes cryptographiques normalisés et couramment utilisés dans les dispositifs électroniques, on connait notamment les algorithmes de chiffrement par blocs (block cipher), comme par exemple l'AES (pour Advanced Enctyption Standard) défini dans la norme ISO/IEC 18033-3, section 5.2. Bien qu'il s'agisse d'un algorithme symétrique (le déchiffrement consiste à inverser les opérations du chiffrement), l'AES présente la particularité d'utiliser des ressources de manière asymétrique, au cours du chiffrement et du déchiffrement. En effet, le chiffrement présente un temps de calcul moins long que le déchiffrement.
Dans le cadre de dispositifs électroniques à mémoire limitée, tels que les cartes à puces, la différence de performance entre le chiffrement et le déchiffrement de données peut atteindre jusqu'à 30%. Le temps de calcul dû à ces opérations de sécurité est donc considérable, notamment lorsque le nombre de bits des données à démasquer est très important (e.g. application) ou encore lorsque les données sont démasquées à chacune de leur utilisation. RESUME DE L'INVENTION La présente invention a ainsi pour objet de pallier au moins un de ces inconvénients.
Dans ce contexte, un premier aspect de l'invention concerne un procédé de masquage de données sensibles, basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit procédé étant caractérisé en ce qu'il comprend une étape de masquage des données sensibles par application de l'algorithme de déchiffrement sur lesdites données sensibles pour obtenir des données sensibles masquées. Un second aspect de l'invention concerne un procédé de démasquage de données sensibles masquées, basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit procédé étant caractérisé en ce qu'il comprend une étape de démasquage des données sensibles masquées par application de l'algorithme de chiffrement sur les données sensibles masquées pour obtenir des données sensibles en clair. Ainsi, le temps de calcul dû aux opérations de sécurité est optimisé par rapport à l'état de l'art. Cela est dû au fait que l'accès aux données sensibles masquées, c'est-à-dire le démasquage pour obtenir les données sensibles « en clair >>, repose sur la mise en oeuvre d'un algorithme utilisant moins de ressources que celui utilisé pour le masquage des données. Ainsi, l'asymétrie existant dans l'utilisation des ressources entre le chiffrement et le déchiffrement est exploitée afin de réduire le temps global d'utilisation des ressources, dû aux opérations de sécurité telles que le masquage et le démasquage (i.e. l'accès en clair aux données masquées), en tenant compte du fait que les données à démasquer sont parfois très volumineuses, et que la plupart du temps, ces données ne sont souvent masquées généralement qu'une fois alors qu'elles sont démasquées lors de chacune de leurs utilisations, c'est-à-dire de nombreuses fois.
De façon correspondante, l'invention concerne un dispositif de masquage de données sensibles, basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit dispositif étant caractérisé en ce qu'il comprend un module de masquage des données sensibles par application de l'algorithme de déchiffrement sur lesdites données sensibles pour obtenir des données sensibles masquées. L'invention concerne également un dispositif de démasquage de données sensibles masquées, basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit dispositif étant caractérisé en ce qu'il comprend un module de démasquage des données sensibles masquées par application de l'algorithme de chiffrement sur les données sensibles masquées pour obtenir des données sensibles en clair. Les dispositifs présentent des avantages similaires aux procédés qu'ils mettent en oeuvre. D'autres caractéristiques des procédés et des dispositifs selon des modes de réalisation de l'invention sont décrites dans les revendications dépendantes. Selon un mode particulier de réalisation, l'étape de démasquage est déclenchée à réception d'une requête comprenant une commande APDU conforme à la norme ISO 7816, telle qu'une réponse à ladite requête est basée sur lesdites données sensibles en clair. Les données sensibles en clair peuvent être une clé d'authentification.
L'algorithme de chiffrement normalisé peut être mis en oeuvre par un crypto- processeur, à partir des données sensibles masquées et d'une clé K. Selon un mode particulier de réalisation, le procédé de démasquage comprend une étape d'application, à une clé K, d'un algorithme d'expansion de clé, pour obtenir une sous-clé Kn nécessaire en entrée de l'étape de masquage avec l'algorithme de déchiffrement.
Cette étape d'application d'un algorithme d'expansion de clé s'avère particulièrement couteuse en temps de calcul. Selon un mode particulier de réalisation, le procédé de démasquage est tel que le démasquage avec l'algorithme de chiffrement comprend au moins un accès à une table stockée en mémoire et le procédé de masquage est tel que le masquage avec l'algorithme de déchiffrement comprend une pluralité d'accès à cette même table stockée en mémoire. Selon une caractéristique particulière de ce mode de réalisation, le nombre d'accès à la table lors du démasquage avec l'algorithme de chiffrement est inférieur au nombre d'accès à cette même table prévus dans l'algorithme de déchiffrement.
Selon l'invention, l'algorithme de chiffrement utilise moins de ressources, que l'algorithme de déchiffrement correspondant habituellement utilisé pour démasquer les données. Habituellement, deux tables de 256 octets sont utilisées dans la mise en oeuvre de l'algorithme de chiffrement, alors que quatre autres tables de 256 octets sont nécessaires à la mise en oeuvre de l'algorithme de déchiffrement correspondant. Dans le cas d'un dispositif à mémoire limitée, il est possible de n'utiliser que trois tables de 256 octets pour le chiffrement et le déchiffrement, ce qui permet un gain de 768 octets de mémoire. Toutefois, la mise en oeuvre du déchiffrement nécessite des opérations supplémentaires, notamment un nombre d'accès bien plus important à ces tables, allongeant ainsi considérablement le temps de calcul du déchiffrement. Dans le cas de données très volumineuses, et/ou dans le cas où les données ne sont masquées qu'une fois, il n'est pas gênant de rallonger le temps de calcul en appliquant l'algorithme de déchiffrement, et de démasquer ces données en appliquant l'algorithme de chiffrement correspondant, beaucoup moins coûteux en calculs. Selon un mode particulier de réalisation, le procédé de démasquage comprend une pluralité d'accès aux données sensibles masquées, chaque accès comprenant une étape de démasquage, par application de l'algorithme de chiffrement sur les données sensibles masquées pour obtenir les données sensibles en clair.
Ainsi, l'invention est particulièrement intéressante dans le cas où les données sensibles sont utilisées (donc démasquées) de nombreuses fois. Un troisième aspect de l'invention concerne un procédé de personnalisation d'un dispositif électronique, caractérisé en ce qu'il comprend les étapes suivantes : obtenir, par un dispositif tiers, des données sensibles ; masquer, par le dispositif tiers, des données sensibles obtenues, à l'aide du procédé de masquage tel que précité ; et stocker, dans le dispositif électronique, les données sensibles masquées obtenues de sorte à personnaliser le dispositif électronique. Un quatrième aspect de l'invention concerne un procédé d'authentification d'un dispositif électronique stockant en mémoire des données sensibles masquées, ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes : démasquer les données sensibles masquées stockées en mémoire du dispositif électronique à l'aide du procédé de démasquage tel que précité, de sorte à obtenir les données sensibles en clair ; et authentifier le dispositif électronique auprès d'un dispositif tiers à l'aide des données sensibles en clair obtenues. Selon des modes de réalisation, les données sensibles masquées sont démasquées à l'aide de l'algorithme de déchiffrement AES normalisé pour obtenir une clé de chiffrement en clair, ladite clé de chiffrement étant utilisée pour chiffrer un challenge d'une authentification par challenge/réponse. Selon des modes de réalisation de l'invention, les procédés précités utilisent un algorithme cryptographique normalisé conforme à la norme AES.
Selon des modes de réalisation, les données sensibles comprennent des instructions pour la mise en oeuvre d'une application. Le nombre d'octets à démasquer peut alors être considérable, d'où l'intérêt d'optimiser le démasquage de l'application par rapport au masquage. Selon des modes, cette application est capable de communiquer à distance avec une entité électronique externe. Typiquement, il peut s'agir d'une application de paiement, ou encore d'une application d'authentification ou plus classiquement une application de téléphonie mobile. De manière générale, les dispositifs selon l'invention peuvent également inclure des caractéristiques correspondant aux modes de réalisation envisagés ci-dessus pour les procédés. Selon des modes de réalisation, le dispositif de démasquage précité peut comprendre en outre un module de démasquage d'autres données masquées, par application de l'algorithme de déchiffrement sur ces autres données masquées pour obtenir des autres données en clair.
Selon des modes de réalisation, le dispositif de masquage précité peut comprendre en outre un module de masquage d'autres données, par application de l'algorithme de chiffrement sur ces autres données pour obtenir des autres données en clair. Ces deux dispositions permettent à un utilisateur de choisir entre un masquage (respectivement démasquage) classique, c'est-à-dire utilisant un algorithme de chiffrement (respectivement déchiffrement), et un masquage « inversé >>, selon les données à traiter (par exemple en vue de leur fréquence d'utilisation), sans avoir recourt à des dispositifs différents. L'invention vise ainsi aussi un programme d'ordinateur sur un support d'informations, comprenant des instructions pour la mise en oeuvre d'un des procédés précités, lorsqu'il est chargé et exécuté par un processeur.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comprenant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comprendre un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc en terminologie anglo-saxonne), un disque dur, ou encore une mémoire flash. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur une plateforme de stockage d'un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Le support d'informations et le programme d'ordinateur précités présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en oeuvre. BREVE DESCRIPTION DES FIGURES D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les figures ci-jointes qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures : - la Figure 1 illustre un exemple d'architecture matérielle pour un dispositif électronique selon l'invention ; - la Figure 2 illustre le principe général de l'invention ; - la Figure 3 illustre les principales étapes d'un procédé de masquage selon un mode de réalisation particulier de l'invention ; - la Figure 4 illustre les principales étapes d'un procédé de démasquage selon un mode de réalisation particulier de l'invention.
DESCRIPTION DETAILLEE DE L'INVENTION La Figure 1 représente un dispositif électronique 1, adapté à mettre en oeuvre les principales étapes d'un procédé de masquage de données sensibles et/ou de démasquage, et/ou de personnalisation, et/ou d'authentification selon l'invention, tel que décrit ultérieurement en référence à la Figure 2, 3 ou 4. De manière générale, l'invention concerne la sécurisation de l'accès à des données sensibles, c'est-à-dire le démasquage de ces données sensibles lorsqu'elles sont « cachées », pour obtenir ces données sensibles « en clair »), par exemple une clé de chiffrement masquée ou des instructions pour la mise en oeuvre d'une application chargée puis masquée sur le dispositif électronique 1 par un utilisateur de ce dispositif ou bien par une entité externe non représentée, par exemple maitrisée par un opérateur (par exemple au cours d'un procédé de personnalisation).
Un tel dispositif peut être par exemple une carte SIM, ou un élément sécurisé, par exemple inséré dans un terminal (e.g. un téléphone mobile, une tablette, un ordinateur portable). De retour à la Figure 1, le dispositif 1 comprend un bus de communication 11 auquel sont reliés : - une unité de traitement 10 -ou microprocesseur- notée CPU (sigle de Central Processing Unit en terminologie anglo-saxonne); - une ou plusieurs mémoires non volatile 14 par exemple ROM (acronyme de Read Only Memory en terminologie anglo-saxonne) pouvant constituer un support au sens de l'invention, c'est-à-dire pouvant comprendre un programme informatique comprenant des instructions pour la mise en oeuvre des procédés selon l'invention ; cette mémoire non volatile peut également être une mémoire EEPROM (acronyme de Electrically Erasable Read Only Memory en terminologie anglo-saxonne) ou encore une mémoire Flash; - une mémoire vive 16 ou mémoire cache ou mémoire volatile par exemple RAM (acronyme de Random Access Memory en terminologie anglo-saxonne) comprenant des registres adaptés à l'enregistrement des variables et paramètres créés et modifiés au cours de l'exécution du programme précité ; lors de la mise en oeuvre de l'invention. Les codes d'instructions du programme stocké en mémoire non volatile (ex. EEPROM ou flash) sont chargés en mémoire RAM en vue d'être exécutés par l'unité de traitement CPU ; - une interface de communication 18 adaptée à transmettre et à recevoir des données, par exemple via un réseau de télécommunications ou une interface de lecture/écriture, c'est par cette interface par exemple qu'un opérateur peut déclencher le chargement de données sensibles sur le dispositif. De façon optionnelle, lorsque le dispositif 1 est inséré dans un terminal hôte, celui- ci peut comprendre une interface d'entrées/sorties 12 I/O (pour Input/Output en terminologie anglo-saxonne), par exemple un écran, un clavier, une souris ou un autre dispositif de pointage tel qu'un écran tactile ou une télécommande permettant par exemple à un utilisateur du terminal de créer une requête d'accès à des données sensibles chargées et masquées sur le dispositif.
En variante, cette requête peut être générée par le terminal hôte lui-même ou bien par un dispositif tiers. Dans un mode particulier de réalisation, le dispositif comprend un crypto processeur recevant des instructions de la part de l'unité de traitement 10 pour chiffrer et/ou déchiffrer des données.
Par exemple, le crypto-processeur peut être constitué de deux buffers commandés par l'unité de traitement CPU, à savoir, un buffer recevant en entrée une clé cryptographique (ou de chiffrement/déchiffrement) et un buffer dit de travail recevant en entrée les données sensibles en clair à masquer ou les données sensibles masquées à démasquer avec la clé précitée.
Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 1 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité de traitement est susceptible de communiquer des instructions à tout élément du dispositif directement ou par l'intermédiaire d'un autre élément de ce dispositif.
Selon un mode particulier de réalisation de l'invention, le dispositif 1 comprend en mémoire, préférentiellement non volatile 14, des données sensibles masquées. Ces données sensibles (e.g. des instructions pour la mise en oeuvre d'une application par le dispositif ou encore des clés cryptographiques ou d'authentification) peuvent avoir été chargées sur le dispositif 1 par un utilisateur du dispositif. En variante, ces données sensibles ont été introduites dans le dispositif au cours d'un processus de personnalisation par exemple par le fournisseur du dispositif. Dans les deux cas, et tel qu'illustré sur la Figure 2, ces données sensibles sont mémorisées sous forme masquée, après avoir été masquée (20) par exemple via la mise en oeuvre d'un procédé de masquage selon l'invention, tel que décrit ultérieurement en détail en référence à la Figure 3. A chaque requête d'utilisation ou d'accès à ces données sensibles (22), un procédé de démasquage de ces données sensibles est mis en oeuvre. A noter que, pour des raisons de sécurité, les données sensibles ne sont pas mises spontanément à disposition (i.e. démasquées) par le dispositif 1. En d'autres termes, le démasquage se fait uniquement sur requête. En particulier, cette requête peut prendre la forme d'une commande APDU conforme à la norme ISO 7816 (ETSI 11.11), par exemple formulée par un utilisateur via l'interface I/O d'un terminal hôte dans lequel est inséré le dispositif 1. Par exemple, cette requête peut être une requête d'authentification du dispositif 1 auprès du terminal hôte.
La réception de cette requête entraine la mise en oeuvre, dans le dispositif qui la reçoit, d'une commande utilisant les données sensibles en clair, par exemple pour générer une réponse à cette requête. Pour ce faire, les données sensibles masquées doivent donc être démasquées. La réception d'une telle requête APDU déclenche leur démasquage.
Un procédé de démasquage des données sensibles masquées, conforme à l'invention, tel que décrit ultérieurement en détail en référence à la Figure 4, utilise un algorithme mobilisant moins de ressources que dans l'état de l'art. L'algorithme permettant d'accéder aux données sensibles en clair (i.e. de les démasquer) mobilise la ressource (e.g. la mémoire vive 16) pendant une durée moins longue que dans l'état de l'art. Dans la suite, les notations suivantes seront adoptées : -T0hjff, pour la durée d'un masquage selon l'état de l'art (i.e. chiffrement), - Tdéchiff pour la durée d'un démasquage selon l'état de l'art (i.e. déchiffrement), - Tmasquage pour la durée d'un masquage selon l'invention, - Tdémasquage pour la durée d'un démasquage selon l'invention. En particulier, selon l'invention, la durée de démasquage Tdémasquage (= Tchiff) est moins longue que la durée de masquage Tmasquage (= Tdéchiff) des données sensibles auxquelles on souhaite accéder. Autrement dit, Tdémasquage < Tmasquage alors que dans l'état de l'art, Tdéchiff > Tchiff - Une fois démasquées dans le dispositif, les données sensibles en clair sont utilisées (26), par exemple pour générer une réponse à la requête reçue à l'étape 22. Après utilisation, les données sensibles en clair sont supprimées (28) par le dispositif 1 afin de ne pas mettre en danger leur sécurité.
L'invention permet ainsi une gestion optimisée des ressources en temps réel notamment lorsque les données sont très volumineuses, par exemple lorsqu'elles correspondent à une application, et/ou lorsque les données sensibles sont accédées de manière répétée (N fois, avec N très grand devant 1, voir retour de boucle en pointillés). Ainsi, de manière générale, le temps de calcul et les ressources mises en oeuvre dans le cadre d'opérations de sécurité sont optimisés par rapport à l'état de l'art, tout en garantissant un niveau de sécurité satisfaisant pour les données sensibles. Selon un mode de réalisation préféré, les algorithmes appliqués sont conformes à la norme AES (de l'anglais « Advanced Encryption Standard »). En particulier, l'invention utilise le fait que les algorithmes de chiffrement et déchiffrement selon cette norme présentent un niveau de sécurité équivalent, toutefois le chiffrement AES s'avère moins gourmand en ressources que le déchiffrement AES, autrement dit, Tchiff(AES) < rdéchiff(AES). C'est pourquoi les inventeurs proposent d'utiliser les étapes de l'algorithme de déchiffrement selon la norme AES (coût calculatoire plus élevé que le chiffrement AES) pour masquer les données sensibles et de sécuriser l'accès (i.e. démasquer) aux données sensibles ainsi masquées en appliquant, à chaque requête d'accès, les étapes de l'algorithme inverse, à savoir l'algorithme de chiffrement selon la norme AES (coût calculatoire moins élevé que le déchiffrement AES). Ainsi, un même dispositif peut à la fois masquer des données sensibles en utilisant l'algorithme de déchiffrement (par exemple le déchiffrement AES) et masquer d'autres données en utilisant l'algorithme de chiffrement comme traditionnellement (par exemple le chiffrement AES). De façon symétrique, un même dispositif peut à la fois démasquer des données sensibles masquées en utilisant l'algorithme de chiffrement (par exemple le chiffrement AES) et démasquer d'autres données masquées en utilisant l'algorithme de déchiffrement comme traditionnellement (par exemple le déchiffrement AES). Les Figures 3 et 4 illustrent les principales étapes des procédés de masquage et de démasquage selon l'invention, en se basant par exemple sur la norme AES.
Le procédé de la Figure 3 peut être réalisé dans le dispositif de la Figure 1 ou bien dans une entité externe (non représentée) puis le résultat mémorisé dans le dispositif de la Figure 1 au cours par exemple d'une étape de personnalisation du dispositif. Ce procédé réalise le masquage des données sensibles D en appliquant les étapes de l'algorithme de déchiffrement par bloc selon la norme AES. De façon générale, la norme AES définit les algorithmes de chiffrement et déchiffrement symétriques, basés sur une même clé cryptographique K. Ainsi, une clé cryptographique K est mémorisée dans le dispositif, par exemple dans une mémoire non volatile.
La taille de la clé utilisée dépend du niveau de sécurité souhaité. En effet, plus la clé comporte de bits, plus elle sera complexe à utiliser et plus les données à masquer avec cette clé seront en sécurité. Dans la norme AES, la clé utilisée peut être une clé de 128 bits, de 192 bits ou encore de 256 bits. Dans l'exemple de la Figure 3, une clé de 128 bits est utilisée. Au cours d'une étape 41, une procédure d'expansion (ou dérivation) de clé est appliquée à la clé K. Cette procédure permet d'obtenir un ensemble de sous-clés K°, liées deux à deux. Autrement dit, l'application d'un l'algorithme d'expansion à la clé K=K° permet d'obtenir K1, puis l'application de ce même algorithme d'expansion à la sous-clé ainsi obtenue K1 permet d'obtenir la sous-clé K2, et ainsi de suite jusqu'à obtention par exemple de la sous-clé Kl° par dix applications successives de l'algorithme d'expansion à la clé initiale K. Bien entendu, l'invention ne se limite pas à ce nombre précis de sous-clés. Par exemple, selon la norme AES, une procédure d'expansion d'une clé de 192 bits permet d'obtenir 12 sous-clés et une procédure d'expansion d'une clé de 256 bits permet d'obtenir 14 sous-clés. Ainsi, le nombre de tours ou rondes de l'algorithme d'expansion est lié au nombre de sous-clés. L'obtention de ces sous-clés peut être réalisée selon des techniques connues et qui ne seront donc pas décrites en détail ici. Il est à noter que la procédure d'obtention de ces sous-clés implique une mobilisation des ressources importante. En particulier, la durée de cette procédure est d'autant plus longue que la clé est grande.
On notera que la norme AES est particulièrement adaptée aux dispositifs à ressources limitées puisque seule la clé K est mémorisée en mémoire morte, les sous-clés successives étant écrasées de proche en proche par la valeur de la sous-clé suivante, par exemple en mémoire vive. La mémorisation d'une sous-clé, par exemple Kl°, serait ainsi inutile puisque la norme AES ne prévoit pas d'utiliser des clés différentes (i.e. une clé K une sous-clé 1<n) en entrée des algorithmes de chiffrement et de déchiffrement. Le procédé de masquage selon l'invention se poursuit avec une transformation initiale (30) consistant à appliquer la dernière sous-clé obtenue (ici K10) aux données sensibles D sous forme d'un bloc de bits, au moyen d'un opérateur OU exclusif : D 0 K19, le symbole 0 désignant l'opérateur OU exclusif ou XOR. Suite à cette transformation initiale, une première itération ou ronde (Itération 1) est mise en oeuvre. Cette itération particulière comprend une étape 32' de : - transposition inverse SR-1 (pour Inverse ShiftRows des données sensibles initialement transformées (D 0 K19), le bloc obtenu s'écrit alors SR-1(D 0 K19) ; et - de substitution SE3-1 (pour Inverse SubBytes des bits du bloc ainsi obtenu par d'autres bits, en utilisant une pluralité de tables préenregistrées, le bloc obtenu s'écrit alors SE3-1 o SR-1 (D 0 K19), où le symbole o désigne la composition de fonctions (ici SE3-1 o SR-1 = SI3- 1(SR-1)). De manière générale, les étapes de transposition inverse et de substitution sont interchangeables (SE3-1 o SR-1 = SR -1 o SB-1) et permettent de parvenir au même résultat. Cette première itération comprend également une transformation 30 consistant à appliquer l'avant dernière sous-clé (ici K9) obtenue par l'application à la sous-clé K19 d'un algorithme d'expansion inverse (31) permettant d'obtenir de proche en proche K-1 à partir de K'. Par la suite, une succession d'itérations (itérations 2 à 10) comprenant une étape 32 (décrite ci-dessous) et une transformation 30 avec la sous-clé précédente, est mise en oeuvre. En particulier, l'étape 32 est similaire à l'étape 32' de l'itération initiale, à ceci près que l'étape 32 comprend, avant la transposition inverse SR-1 et la substitution SE3-1 précitées, une multiplication MC-1 (pour Inverse MixColumns) de sous-blocs du bloc obtenu lors de l'itération précédente (à savoir pour la seconde itération : SE3-1 o SR-1 (D 0 K19)) par une matrice. Ainsi, l'étape 32 comprend l'application des opérations suivantes : SE3-1 o SR-1 o MC-1 au résultat de l'itération précédente.
Les itérations s'arrêtent suite à la transformation finale basée sur la clé K9 = K. Les données sensibles ainsi masquées D' sont donc le fruit d'un ensemble d'itérations telles que décrites ci-avant, conformément aux étapes d'un algorithme de déchiffrement selon la norme AES. Ces données sensibles masquées D' sont alors mémorisées dans le dispositif, soit directement sur demande d'un utilisateur, soit au cours d'une phase de personnalisation par un opérateur ou un constructeur du dispositif. En pratique, le masquage des données sensibles est réalisé par un cryptoprocesseur commandé par l'unité de traitement CPU. Ce crypto-processeur fonctionne selon une logique prédéterminée et n'accepte en entrée que des données sensibles D et une clé K, conformément à la norme AES. Un exemple non limitatif d'instructions envoyées par l'unité de traitement CPU au crypto-processeur pour qu'il mette en oeuvre le masquage de la Figure 3 est donné ci-dessous : Activate AES co-processor II activation du crypto-processeur Load 128-bit ciphertext II fourniture des données sensibles à masquer Load 128-bit AES key 11 fourniture de la clé cryptographique K Execute decryption 11 commande de lancement du déchiffrement AES pour masquer les données sensibles avec la clé K Poli co-processor until decryption terminated 11 déchiffrement AES Read 128-bit plaintext 11 obtention des données sensibles masquées Dans un mode de réalisation particulier, l'unité de traitement CPU est configurée pour commander le crypto-processeur en fonction de la fréquence d'utilisation des données. Par exemple, lorsqu'il s'agit de données utilisées occasionnellement, le CPU peut commander un masquage de ces données par la voie classique, c'est-à-dire en appliquant l'algorithme de chiffrement AES, puisque le démasquage ne sera qu'occasionnel. Lorsqu'il s'agit de données très fréquemment utilisées, le CPU peut commander un masquage de ces données critiques avec l'algorithme de déchiffrage AES, en vue de diminuer le coût calculatoire total en vue des nombreux démasquages que subiront ces données. Le procédé de la Figure 4 peut être mis en oeuvre par le dispositif de la Figure 1. Ce procédé sécurise l'accès à des données sensibles masquées D', par exemple celles obtenues à la Figure 3, en appliquant les étapes de l'algorithme de chiffrement par bloc selon la norme AES. Tel que décrit précédemment, ce procédé permet d'accéder aux données sensibles « en clair » D puisque ces données ont été masquées en appliquant l'algorithme de déchiffrement par bloc selon la norme AES, qui se trouve être l'algorithme inverse de celui utilisé selon l'invention pour démasquer (i.e. accéder de façon sécurisée) aux données sensibles D « en clair ». Ainsi, en partant des données sensibles masquées D', et de la clé K mémorisée par exemple en mémoire morte du dispositif, on effectue une transformation initiale (40) consistant à appliquer la clé K = K° aux données masquées D' (sous forme d'un bloc de bits), au moyen d'un opérateur OU exclusif : D' 0 K°. Suite à cette transformation initiale, un ensemble d'itérations (Itérations 1 à 9) est mis en oeuvre, chaque itération comprenant une étape 42 de : - substitution SB (pour SubBytes) des bits du bloc obtenu lors de l'itération précédente (D' 0 K° pour la première itération) par d'autres bits, en utilisant au moins une table préenregistrée ; - transposition SR (pour ShiftRows) du bloc obtenu ; et - multiplication MC (pour MixColumns) de sous-blocs du bloc obtenu par une matrice correspondant à l'inverse de la matrice utilisée pour l'opération MC-1 lors du chiffrement des données D. La dernière itération ne comprend pas de multiplication MC et conduit, après application de SR o SB puis de la transformation finale par la dernière sous-clé, ici K10, aux données sensibles « en clair » D.
De manière générale, les étapes de transposition et de substitution sont interchangeables (SB o SR = SR o SB) et permettent de parvenir au même résultat. Bien entendu, l'accès (le démasquage) aux données sensibles n'est possible que dans la mesure où les tables et fonctions utilisées pour leur masquage (voir description de la Figure 3) correspondent aux inverses des tables et fonctions utilisées pour le présent démasquage de ces données. De façon connue de l'homme du métier, les fonctions inverses intervenant dans le procédé de masquage selon l'invention s'avèrent beaucoup plus laborieuses à utiliser que les fonctions correspondantes utilisées habituellement pour le chiffrement AES.
En effet, l'opération de substitution dans l'algorithme de chiffrement selon AES consiste à appliquer une fonction non-linéaire aux données. Comme cette fonction est difficile à inverser, l'algorithme de déchiffrement selon AES est par conséquent plus couteux en termes de calculs. De plus, l'opération de multiplication (dans le cadre du chiffrement selon AES) repose généralement sur des multiplications par 2, alors que l'opération de multiplication inverse (déchiffrement selon AES) fait intervenir un plus grand nombre d'opérations élémentaires et de tables. A titre d'exemple non limitatif, considérons le cas où la multiplication porte sur un bloc constitué de 4 colonnes 'a de 4 bits a[0], a[1], a[2] et a[3]. Cette multiplication utilise une table `xtime' de 216 octets permettant de retourner le double de la colonne dans le corps utilisé par l'AES, bien connu de l'homme du métier. Selon AES, les instructions représentées ci-dessous sont exécutées successivement quatre fois pour chacune des colonnes a: Tmp = a[0] 0 a[1] 0 a[2] 0 a[3] ; Tm = a[0] 0 a[1] ; Tm = xtime(Tm); a[0] = a[0] C)Tm 0 Tmp ; Tm = a[1] a[2]; Tm = xtime(Tm); a[1] = a[1]0 Tm 0 Tmp ; Tm = a[2] 0 a[3] ; Tm = xtime(Tm); a[2] = a[2]0 Tm 0 Tmp ; Tm = a[3] 0 a[0] ; Tm = xtime(Tm); a[3] =a[3] 0 Tm 0 Tmp ; Le coût calculatoire de la multiplication d'une seule colonne est donc de 15 XOR et de 4 accès à la table `xtime' et le coût de la multiplication pour le bloc entier est de quatre fois ce coût par colonne : CO= 4*(15*Ce+4*Cxtime) Réciproquement, considérons la multiplication inverse de ce même bloc de 4x4 bits. Pour ce faire, la même table `xtime' est utilisée de sorte à limiter l'occupation de la mémoire nécessaire, au détriment du coût calculatoire, comme peut être constaté de par ce qui suit. Selon AES, les instructions représentées ci-dessous sont exécutées successivement quatre fois pour chacune des colonnes 'a de 4 bits : Tmp1 = a[0] a[1] a[2] a[3] ; Tmp2 = xtime(Tmp1) ; a[3] = xtime(xtime(Tmp20 a[1] e a[3]) e a[3] e a[0]) e Tmp1 e a[3] ; a[2] = xtime(xtime(Tmp20 a[0] a[2]) e a[2] a[3]) Tmp1 e a[2] ; a[1] = xtime(xtime(Tmp20 a[3] a[1]) e a[1] a[2]) Tmp1 e a[1] ; a[0] = xtime(xtime(Tmp20 a[2] e a[0]) e a[0] e a[1]) e Tmp1 e a[0] ; Le coût de la multiplication inverse d'une seule colonne est donc de 27 XOR et de 9 accès à la table `xtime' et le coût de la multiplication pour le bloc entier est de quatre fois ce coût par colonne : C'm = 4*(27*Ce+9*Cxtime)- Ainsi, l'opération de multiplication inverse (dans le cadre du déchiffrement AES) est beaucoup plus couteuse en termes de calculs que la multiplication (dans le cadre du chiffrement AES). C'est pourquoi les inventeurs proposent d'utiliser le déchiffrement selon AES pour masquer les données, puisque les données sont en théorie masquées qu'une seule fois. De façon correspondante, le chiffrement selon AES (plus rapide que le déchiffrement) est utilisé pour démasquer ces données, à chaque fois que l'utilisateur ou une entité externe demande à utiliser ces données. Cette inversion des algorithmes AES est néanmoins rendue possible car ces algorithmes sont complémentaires, par construction (norme). Il est donc possible de retrouver les données sensibles à l'aide de la clé cryptographique K, lorsqu'elles ont été masquées selon l'algorithme de déchiffrement AES en utilisant cette même clé. Ainsi, les procédés selon l'invention permettent de sécuriser des données sensibles sans pour autant devoir les mémoriser dans une mémoire sécurisée. Ces données sensibles peuvent être par exemple : - des applications, - une clé de chiffrement utilisée au cours d'une étape de chiffrement et/ou de déchiffrement de données, - des données d'authentification utilisées au cours d'une étape d'authentification par exemple d'un utilisateur ou d'une entité électronique.
L'invention concerne également un procédé de personnalisation au cours duquel des données sensibles, typiquement des données d'authentification ou une application, sont masquées dans un dispositif (e.g. contrôlé par un opérateur de réseau) selon un procédé de masquage conforme à l'invention, puis insérées sous forme masquée dans un autre dispositif (ex : une carte d'identification au réseau) ou stockées dans le même dispositif. Ainsi le dispositif stockant les données d'authentification est personnalisé. Typiquement, une opération de personnalisation peut comprendre l'authentification du dispositif à personnaliser auprès d'un dispositif tiers ; ce dernier peut obtenir les données d'authentification pour la personnalisation, par exemple une clé de chiffrement à utiliser dans une authentification par challenge/réponse. La clé peut être générée à partir d'éléments d'identification propres au dispositif à personnaliser. Le dispositif tiers masque cette clé à l'aide du procédé de masquage selon l'invention, par exemple en utilisant l'algorithme de déchiffrement tel que défini dans la norme AES. La clé ainsi masquée est écrite en mémoire ROM du dispositif à personnaliser, assurant de la sorte ladite personnalisation de ce dispositif. Enfin, le dispositif personnalisé peut être verrouillé d'un point de vue sécuritaire par exemple par l'écriture d'un drapeau de sécurité (setting flag) interdisant toute nouvelle écriture dans la zone mémoire stockant la clé masquée. En variante, cette zone mémoire peut être du type accessible en écriture une fois et accessible en lecture de nombreuses fois, empêchant ainsi un accès en écriture de la clé masquée une fois la personnalisation effectuée. Dans le cadre d'une d'authentification auprès d'une entité tierce, le dispositif personnalisé peut avoir à utiliser ces données d'authentification présentes sous forme masquée en mémoire. Comme évoqué ci-dessus, c'est par exemple le cas si cette donnée masquée est une clé de chiffrement nécessaire pour une authentification par challenge/réponse. Pour ce faire, un procédé de démasquage selon les enseignements de l'invention peut être appliqué pour retrouver les données d'authentification, ici la clé, et les utiliser pour authentifier l'autre dispositif auprès d'une entité tierce. Notamment, l'algorithme de chiffrement tel que défini dans la norme AES peut être utilisé.
En pratique, une telle authentification peut faire suite à une commande APDU de type Internai Authenticate (conforme à la norme ISO 7816) émise par l'entité tierce au dispositif personnalisé et contenant un challenge (par exemple une donnée aléatoire). L'authentification par challenge/réponse comprend alors, sur le dispositif personnalisé, le démasquage de la clé masquée, le chiffrement du challenge à l'aide de la clé démasquée, par exemple basé sur l'algorithme DES, puis le résultat de ce chiffrement est retourné à l'entité tierce, dans une réponse APDU, pour valider l'authentification. Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.

Claims (16)

  1. REVENDICATIONS1. Procédé de démasquage de données sensibles masquées (D'), basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit procédé étant caractérisé en ce qu'il comprend une étape de démasquage (24) des données sensibles masquées (D') par application de l'algorithme de chiffrement sur les données sensibles masquées pour obtenir des données sensibles en clair (D).
  2. 2. Procédé selon la revendication 1, mis en oeuvre dans un dispositif électronique configuré pour également démasquer d'autres données masquées, par application de l'algorithme de déchiffrement sur ces autres données masquées pour obtenir ces autres données en clair.
  3. 3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que le démasquage avec l'algorithme de chiffrement comprend au moins un accès à une table stockée en mémoire, et en ce que le nombre d'accès à la table lors du démasquage avec l'algorithme de chiffrement est inférieur au nombre d'accès à cette même table prévus dans l'algorithme de déchiffrement.
  4. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comprend une pluralité (N) d'accès aux données sensibles masquées (D'), chaque accès comprenant une étape de démasquage (24) par application de l'algorithme de chiffrement sur les données sensibles masquées (D') pour obtenir les données sensibles en clair (D).
  5. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que l'étape de démasquage (24) est déclenchée à réception (22) d'une requête comprenant une commande APDU conforme à la norme ISO 7816, telle qu'une réponse à ladite requête est basée sur lesdites données sensibles en clair (D).
  6. 6. Procédé selon l'une des revendications 1 à 5, dans lequel les données sensibles en clair (D) sont une clé d'authentification.
  7. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que l'algorithme de chiffrement normalisé est mis en oeuvre par un crypto-processeur, à partir des données sensibles masquées (D') et d'une clé K.
  8. 8. Procédé de masquage de données sensibles (D), basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit procédé étant caractérisé en ce qu'il comprend une étape de masquage (20) des données sensibles (D) par application de l'algorithme de déchiffrement sur lesdites données sensibles pour obtenir des données sensibles masquées (D').
  9. 9. Procédé selon la revendication 8, mis en oeuvre dans un dispositif électronique configuré pour également masquer d'autres données, par application de l'algorithme de chiffrement sur ces autres données pour obtenir des autres données en clair.
  10. 10. Procédé selon l'une des revendications 8 à 9, caractérisé en ce qu'il comprend une étape d'application, à une clé K, d'un algorithme d'expansion de clé, pour obtenir une sous-clé Kn nécessaire en entrée de l'étape de masquage avec l'algorithme de déchiffrement.
  11. 11. Procédé de personnalisation d'un dispositif électronique, caractérisé en ce qu'il comprend les étapes suivantes : obtenir, par un dispositif tiers, des données sensibles (D) ; masquer (20), par le dispositif tiers, des données sensibles obtenues (D), à l'aide du procédé de masquage selon l'une quelconque des revendications 8 à 10 ; et stocker, dans le dispositif électronique, les données sensibles masquées (D') obtenues de sorte à personnaliser le dispositif électronique.
  12. 12. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'algorithme cryptographique normalisé est conforme à la norme AES.
  13. 13. Dispositif (1) de démasquage de données sensibles masquées (D'), basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme de déchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit dispositif étant caractérisé en ce qu'il comprend un module de démasquage (10) des données sensibles masquées (D') par application de l'algorithme de chiffrement sur les données sensibles masquées (D') pour obtenir des données sensibles en clair (D).
  14. 14. Dispositif selon la revendication 13, caractérisé en ce qu'il comprend en outre un module de démasquage (10) d'autres données masquées, par application de l'algorithme de déchiffrement sur ces autres données masquées pour obtenir des autres données en clair.
  15. 15. Dispositif (1) de masquage de données sensibles (D), basé sur un algorithme cryptographique normalisé définissant un algorithme de chiffrement, et un algorithme dedéchiffrement utilisant plus de ressources que l'algorithme de chiffrement, ledit dispositif étant caractérisé en ce qu'il comprend un module de masquage (10) des données sensibles (D) par application de l'algorithme de déchiffrement sur lesdites données sensibles (D) pour obtenir des données sensibles masquées (D').
  16. 16. Dispositif selon la revendication 15, caractérisé en ce qu'il comprend en outre un module de masquage (10) d'autres données, par application de l'algorithme de chiffrement sur ces autres données pour obtenir des autres données en clair.
FR1359803A 2013-10-09 2013-10-09 Procedes et dispositifs de masquage et demasquage Active FR3011653B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1359803A FR3011653B1 (fr) 2013-10-09 2013-10-09 Procedes et dispositifs de masquage et demasquage
US14/505,762 US9646516B2 (en) 2013-10-09 2014-10-03 Masking and unmasking methods and devices
US15/439,973 US10121392B2 (en) 2013-10-09 2017-02-23 Masking and unmasking methods and devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1359803A FR3011653B1 (fr) 2013-10-09 2013-10-09 Procedes et dispositifs de masquage et demasquage

Publications (2)

Publication Number Publication Date
FR3011653A1 true FR3011653A1 (fr) 2015-04-10
FR3011653B1 FR3011653B1 (fr) 2018-01-12

Family

ID=50231264

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1359803A Active FR3011653B1 (fr) 2013-10-09 2013-10-09 Procedes et dispositifs de masquage et demasquage

Country Status (2)

Country Link
US (2) US9646516B2 (fr)
FR (1) FR3011653B1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150123476A (ko) * 2014-04-25 2015-11-04 한국전자통신연구원 부채널 공격 방지를 위한 대칭키 암호 알고리즘의 함수 마스킹 장치 및 그 방법
US10754977B2 (en) * 2014-09-25 2020-08-25 Micro Focus Llc Report comprising a masked value
FR3040510B1 (fr) * 2015-08-27 2018-08-10 Ingenico Group Dispositif et procede securisation de commandes echangees entre un terminal et circuit integre
US10397207B1 (en) 2017-07-17 2019-08-27 Amazon Technologies, Inc. Automatic credential rotation
CN110598451B (zh) * 2019-09-19 2022-02-25 中国银行股份有限公司 数据脱敏方法及装置
US11456855B2 (en) * 2019-10-17 2022-09-27 Arm Limited Obfuscating data at-transit
US11308234B1 (en) * 2020-04-02 2022-04-19 Wells Fargo Bank, N.A. Methods for protecting data
US11580249B2 (en) * 2021-02-10 2023-02-14 Bank Of America Corporation System for implementing multi-dimensional data obfuscation
US11907268B2 (en) 2021-02-10 2024-02-20 Bank Of America Corporation System for identification of obfuscated electronic data through placeholder indicators

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051522A2 (fr) * 2004-11-12 2006-05-18 Discretix Technologies Ltd. Procede, dispositif et systeme permettant de stocker des donnees de maniere securisee

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715555B2 (en) * 2004-09-07 2010-05-11 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security
US20080019524A1 (en) * 2006-06-29 2008-01-24 Kim Moo S Apparatus and method for low power aes cryptographic circuit for embedded system
US8538015B2 (en) * 2007-03-28 2013-09-17 Intel Corporation Flexible architecture and instruction for advanced encryption standard (AES)
RU2010110344A (ru) * 2010-03-18 2011-09-27 ЭлЭсАй Корпорейшн (US) Криптографическая обработка с использованием процессора
US8881224B2 (en) * 2010-06-24 2014-11-04 Infosys Limited Method and system for providing masking services
KR101089023B1 (ko) * 2010-08-06 2011-12-01 삼성에스디에스 주식회사 스마트 카드, 및 이를 이용한 안티-바이러스 시스템 및 스캐닝 방법
EP2448305A1 (fr) * 2010-10-29 2012-05-02 France Telecom Traitement de données pour sécuriser les ressources locales dans un dispositif mobile
US10032171B2 (en) * 2011-08-30 2018-07-24 Simplytapp, Inc. Systems and methods for secure application-based participation in an interrogation by mobile device
US9251315B2 (en) * 2011-12-09 2016-02-02 Verizon Patent And Licensing Inc. Security key management based on service packaging
US9426127B2 (en) * 2012-05-02 2016-08-23 Visa International Service Association Small form-factor cryptographic expansion device
US10102390B2 (en) * 2012-06-28 2018-10-16 Honeywell International Inc. Memory authentication with redundant encryption
US9143325B2 (en) * 2012-12-14 2015-09-22 Microsoft Technology Licensing, Llc Masking with shared random bits
EP2885892A1 (fr) * 2013-03-27 2015-06-24 Irdeto B.V. Mise en uvre de l'aes avec correction d'erreur
US20140365781A1 (en) * 2013-06-07 2014-12-11 Technische Universitaet Darmstadt Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource
US9124573B2 (en) * 2013-10-04 2015-09-01 At&T Intellectual Property I, Lp Apparatus and method for managing use of secure tokens

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051522A2 (fr) * 2004-11-12 2006-05-18 Discretix Technologies Ltd. Procede, dispositif et systeme permettant de stocker des donnees de maniere securisee

Also Published As

Publication number Publication date
US10121392B2 (en) 2018-11-06
US20150098564A1 (en) 2015-04-09
FR3011653B1 (fr) 2018-01-12
US20170162080A1 (en) 2017-06-08
US9646516B2 (en) 2017-05-09

Similar Documents

Publication Publication Date Title
FR3011653A1 (fr) Procedes et dispositifs de masquage et demasquage
EP3221815B1 (fr) Procédé de sécurisation d&#39;un jeton de paiement.
EP0606792B1 (fr) Procédé d&#39;authentification d&#39;un ensemble informatique par un autre ensemble informatique
EP2166696A1 (fr) Protection de l&#39;intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature
FR2840421A1 (fr) Systemes informatiques tels que des cartes a puce ayant des architectures de memoire capables de proteger une information de securite, et procedes d&#39;utilisation de ceux-ci
EP1266364A1 (fr) Procede cryptographique de protection contre la fraude
WO2016207715A1 (fr) Gestion securisee de jetons électroniques dans un telephone mobile.
EP1538508A1 (fr) Procédé et dispositif de chiffrement et dechiffrement à la volée
EP1615369A1 (fr) Chiffrement par blocs du contenu d&#39;une mémoire externe à un processeur
EP3136283B1 (fr) Dispositif et procédé sécurisation de commandes échangées entre un terminal et circuit intégré
EP3502899A1 (fr) Procédé de détermination d&#39;une somme d&#39;intégrité, programme d&#39;ordinateur et entité électronique associés
EP2426652A1 (fr) Procédé simplifié de personnalisation de carte à puce et dispositif associé
EP2813962A1 (fr) Méthode de contrôle d&#39;accès à un type de services spécifique et dispositif d&#39;authentification pour le contrôle de l&#39;accès à un tel type de services.
EP2285042A1 (fr) Module logiciel de sécurisation utilisant le chiffrement du haché d&#39;un mot de passe concaténé avec une graine
EP3214565B1 (fr) Procédé de modulation d&#39;accès à une ressource, dispositif et programme correspondant
EP3672141A1 (fr) Procede de verification d&#39;integrite et de dechiffrement d&#39;un message chiffre, cryptomodule et terminal associes
EP1269431B1 (fr) Procede de protection d&#39;une puce electronique contre la fraude
WO2024083849A1 (fr) Encodage en boite blanche
EP3842970B1 (fr) Procédé de vérification du mot de passe d&#39;un dongle, programme d&#39;ordinateur, dongle et terminal utilisateur associés
EP3340096B1 (fr) Procédé de configuration d&#39;un programme cryptographique destiné à être exécuté par un terminal
EP2544115A1 (fr) Procédé d&#39;exécution d&#39;un traitement dans un dispositif sécurisé
FR3106909A1 (fr) Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
EP4183098A1 (fr) Dispositif, méthode et programme pour une communication sécurisée entre boîtes blanches
WO2016034812A1 (fr) Sécurisation de clés de cryptage pour transaction sur un dispositif dépourvu de module sécurisé
FR2856815A1 (fr) Procede d&#39;authentification de donnees contenues dans un objet a memoire

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

CA Change of address

Effective date: 20200908

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20200908

CA Change of address

Effective date: 20201019

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20201019

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11