Note: Descriptions are shown in the official language in which they were submitted.
CA 02888662 2015-04-17
WO 2014/060482 PCT/EP2013/071644
1
Système et procédé de sécurisation des échanges de données, objet
portable utilisateur et dispositif distant de téléchargement de données
DOMAINE TECHNIQUE DE L'INVENTION
La présente invention se rapporte au domaine de la sécurisation des
échanges de données entre un hôte et un client, par exemple entre un serveur
et un objet électronique portable et connectable. Plus précisément,
l'invention
se rapporte à un système comprenant un objet électronique portable pouvant
être connecté à un serveur distant, ledit système étant adapté pour créer un
canal sécurisé d'échange de données entre un hôte et un client, tout en
proposant des stratégies de défense et de protection contre les intrusions et
les attaques.
ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTION
L'échange de données numériques réalisées entre différents dispositifs
connectés via un réseau local ou étendu pose un véritable problème de
sécurité. En effet, il n'est guère évident de maitriser la confidentialité ou
l'authenticité des données échangées entre deux dispositifs connectés.
Pourtant, il existe un réel besoin de maitriser ces données, leur
intégrité et leur confidentialité. A titre d'exemple citons la réalisation de
transactions bancaires de manière virtuelle par le biais d'un réseau étendu
type internet. On comprend bien dans ce cas l'absolu nécessité d'échanger des
données en toute confidentialité.
Il est connu dans l'art antérieur plusieurs protocoles de sécurisation
des échanges de données, notamment les protocoles comportant les
spécificités GlobalPlatform. Ces protocoles permettent de créer des canaux
sécurisés d'échanges de données entre deux dispositifs connectés via un
réseau local ou étendu. Les données sont chiffrées et/ou accompagnées d'une
signature numérique permettant de vérifier l'intégrité des données, selon le
niveau de sécurité que l'on souhaite appliquer. Des algorithmes et des clefs
triple DES sont généralement utilisées pour le chiffrement des données.
CA 02888662 2015-04-17
WO 2014/060482 2 PCT/EP2013/071644
Cependant, les dispositifs utilisant les protocoles spécifiés
GlobalPlatform risquent malgré tout de subir des attaques et/ou des
intrusions.
A titre d'exemple, citons les chevaux de Troie qui permettent à un utilisateur
malveillant de prendre le contrôle d'au des dispositifs émetteur ou récepteur
de
données sensibles.
Il existe également des risques d'accès aux bases de données
présentes sur les dispositifs ou sur les serveurs. Par exemple, il est
possible
que les clefs de chiffrement permettant de déchiffrer les données soient volés
et utilisées à mauvais escient.
Enfin, un autre inconvénient de l'échange de données suivant ce type
de protocoles est l'obligation d'utiliser un serveur distant relié à un réseau
étendu pour envoyer des données secrètes à un dispositif connecté.
DESCRIPTION GENERALE DE L'INVENTION
Le problème technique à résoudre est donc de sécuriser les échanges
de données entre au moins deux dispositifs connectés, quelque soit le type de
dispositif. La présente invention se propose de résoudre au moins en partie
les
inconvénients exposés ci-dessus, en proposant un système d'échange de
données comprenant des dispositifs connectés à une réseau, une partie des
informations secrètes contenues dans la mémoire des dispositifs n'étant jamais
transmise. Les données sont donc échangées entre les dispositifs connectés
en toute sécurité et en toute intégrité.
A cet effet, l'invention concerne un système de sécurisation des
échanges de données caractérisé en ce qu'il comprend au moins deux
dispositifs jouant le rôle d'hôte ou de client, dont au moins le client est
portable,
communiquant avec un réseau via des moyens de connexion ou de
communication, chaque dispositif comportant au moins une zone mémoire
permanente non volatile programmable et des moyens de traitements des
données, un algorithme de chiffrement/déchiffrement des données couplé à un
premier jeu de clefs secrètes mémorisées dans une zone secrète du dispositif
non accessible de l'extérieur, les dispositifs étant destinés à échanger des
CA 02888662 2015-04-17
WO 2014/060482 3 PCT/EP2013/071644
données secrètes de façon sécurisée par les moyens de traitement d'au moins
un dispositif via l'algorithme de chiffrement/déchiffrement et le premier jeu
de
clefs secrètes, après avoir ouvert au moins une fois un canal de
communication sécurisé entre les deux dispositifs, le dispositif hôte
comprenant au moins un second jeu de clefs secrètes stockées dans une zone
mémoire destinées à être envoyées au dispositif client, les clefs du second
jeu
étant chiffrées par les moyens de traitement du dispositif hôte à l'aide de
l'algorithme de chiffrement/déchiffrement et d'au moins une clef du premier
jeu,
les clefs chiffrées du second jeu étant envoyées par les moyens de traitement
du dispositif hôte dans une zone mémoire du dispositif client, les clefs
chiffrées
du second jeu étant déchiffrées par les moyens de traitement du dispositif
client à l'aide de l'algorithme de chiffrement/déchiffrement et d'au moins une
clef secrète du premier jeu, ce second jeu de clefs secrètes étant désormais
utilisé avec l'algorithme de chiffrement/déchiffrement par les moyens de
traitement des dispositifs hôte et client pour sécuriser les données échangées
entre lesdits dispositifs.
Selon une autre particularité, le système de sécurisation des échanges
de données est caractérisé en ce que le dispositif hôte comprend une
commande de désactivation du dispositif client enregistrée dans une zone
mémoire.
Selon une autre particularité, le système de sécurisation des échanges
de données est caractérisé en ce que la réactivation du dispositif client par
un
utilisateur est suivi de l'ouverture d'un nouveau canal sécurisé selon les
spécifications GlobalPlatform.
Selon une autre particularité, le système de sécurisation des échanges
de données est caractérisé en ce que les dispositifs hôte et client
comprennent
chacun dans une zone mémoire un algorithme de diversification, l'algorithme
permettant de dériver les clefs secrètes de chaque jeu de clefs stockées dans
la zone mémoire secrète du dispositif client, de sorte que seul un
diversifiant
de clef est transmis entre les deux dispositifs après une double ouverture de
CA 02888662 2015-04-17
WO 2014/060482 4 PCT/EP2013/071644
canal sécurisé pour calculer un jeu de clefs diversifié qui constituera le
premier
jeu de clefs.
Selon une autre particularité, le système de sécurisation des échanges
de données est caractérisé en ce que l'algorithme de chiffrement/déchiffrement
est un algorithme symétrique dit triple DES et le premier jeu de clefs un jeu
de
trois clefs triple DES, l'ouverture d'un canal sécurisé par le système étant
réalisée via l'algorithme de chiffrement/déchiffrement et le premier jeu de
clefs
secrètes selon un protocole de sécurité spécifié GlobalPlatform.
Selon une autre particularité, le système de sécurisation des échanges
de données est caractérisé en ce que le deuxième jeu de clefs secrètes est un
jeu de trois clefs secrètes triple DES.
Un objectif supplémentaire de l'invention est de proposer un procédé
de sécurisation des échanges de données. Le procédé mis en oeuvre par le
système de sécurisation des échanges de données est caractérisé en ce qu'il
comprend :
a. une étape de fermeture du canal sécurisé permettant l'échange
de données entre un dispositif hôte et un dispositif client du
système,
b. une étape de sélection, par les moyens de traitement du dispositif
hôte du système, d'un deuxième jeu de clefs secrètes
enregistrées dans une zone mémoire dudit dispositif, ce dispositif
seulement stockant dans une zone mémoire un deuxième jeu de
clefs secrètes,
c. une étape de chiffrement, par les moyens de traitement du
dispositif hôte via l'algorithme de chiffrement/déchiffrement et au
moins une clef secrète du premier jeu de clefs enregistrées dans
une zone mémoire du dispositif hôte, d'au moins une clef secrète
du deuxième jeu de clefs,
CA 02888662 2015-04-17
WO 2014/060482 5 PCT/EP2013/071644
d. une étape d'envoi par les moyens de traitement au deuxième
dispositif du système :
- de la clef chiffrée à l'étape précédente,
- d'une instruction d'écriture de la clef chiffrée dans
une zone mémoire du dispositif client,
e. une étape de déchiffrement de la clef chiffrée, réalisée par les
moyens de traitement du dispositif client via l'algorithme de
chiffrement/déchiffrement utilisant au moins la clef secrète
correspondante du premier jeu de clefs, suivi de l'enregistrement
de la clef déchiffrée dans une zone mémoire du dispositif client,
f. une étape de répétition des étapes c à e pour toutes les clefs du
deuxième jeu de clefs secrètes,
g. une étape d'ouverture par le système d'une nouvelle session et
d'un nouveau canal sécurisé, réalisée via l'algorithme de
chiffrement/déchiffrement et le deuxième jeu de clefs secrètes
selon un protocole de sécurité du type de GlobalPlatform.
Selon une autre particularité, le procédé de sécurisation des échanges
de données, caractérisé en ce que l'ouverture d'un canal sécurisé réalisée via
l'algorithme triple DES et un jeu de trois clefs secrètes selon un protocole
de
sécurité spécifié du type de GlobalPlatform, ledit algorithme triple DES et le
premier jeu de clefs secrètes étant enregistrés dans une zone mémoire de
chaque dispositif, comprend les étapes suivantes :
a. une étape d'ouverture de session par les moyens de traitement
d'un dispositif hôte du système de sécurisation, suivi de la
génération d'un compteur de session par un dispositif client du
système envoyé au dispositif hôte, le compteur de session étant
incrémenté à chaque ouverture d'une nouvelle session,
b. une étape de dérivation des clefs secrètes enregistrées dans la
mémoire du dispositif client, réalisé par les moyens de traitement
CA 02888662 2015-04-17
WO 2014/060482 6 PCT/EP2013/071644
dudit dispositif via l'algorithme triple DES utilisant le compteur de
session et un nombre aléatoire hôte généré et envoyé au
dispositif client par les moyens de traitement du dispositif hôte,
c. une étape de génération de cinq clefs dérivées S-ENC, R-ENC,
C-MAC, R-MAC et S-DEK qui utilisées avec l'algorithme triple
DES, permettent respectivement de chiffrer les commandes
envoyées à un dispositif, de chiffrer les réponses du dispositif, de
générer une signature pour chaque commande, de générer une
signature pour chaque réponse, et de chiffrer des données
confidentielles,
d. une étape de génération par les moyens de traitement du
dispositif client d'un cryptogramme client, via l'algorithme triple
DES utilisant la clef dérivée S-ENC, le nombre aléatoire hôte et
un nombre aléatoire client généré par les moyens de traitement
du dispositif client,
e. une étape d'envoi par les moyens de traitement du dispositif
client vers le dispositif hôte, du compteur de session, du nombre
aléatoire client et du cryptogramme client calculé à l'étape
précédente, suivi du calcul et de la génération des cinq clefs
dérivées par les moyens de traitement du dispositif hôte,
f. une étape de génération, par les moyens de traitement du
dispositif hôte, du cryptogramme client via l'algorithme triple DES
utilisant la clef dérivée S-ENC, le nombre aléatoire hôte et le
nombre aléatoire client généré par les moyens de traitement du
dispositif client,
g. une étape de comparaison par les moyens de traitement du
dispositif hôte des cryptogrammes client respectivement calculés
par le dispositif client et le dispositif hôte, suivi de
CA 02888662 2015-04-17
WO 2014/060482 7 PCT/EP2013/071644
l'authentification du dispositif client si les deux calculs du
cryptogramme client sont identiques,
h. une étape de génération par les moyens de traitement du
dispositif hôte d'un cryptogramme hôte, via l'algorithme triple DES
utilisant la clef dérivée S-ENC, le nombre aléatoire hôte et le
nombre aléatoire client,
i. une étape d'envoi par les moyens de traitement du dispositif hôte
vers le dispositif client, du cryptogramme hôte calculé à l'étape
précédente,
j. une étape de génération, par les moyens de traitement du
dispositif client, du cryptogramme hôte via l'algorithme triple DES
utilisant la clef dérivée S-ENC, le nombre aléatoire hôte et le
nombre aléatoire client,
k. une étape de comparaison par les moyens de traitement du
dispositif client des cryptogrammes hôte respectivement calculés
par le dispositif hôte et le dispositif client, suivi de
l'authentification du dispositif hôte si les deux calculs du
cryptogramme hôte sont identiques,
I. une de confirmation de l'ouverture d'une session et du canal
sécurisé à travers lequel les prochaines commandes et/ou
réponse générées par les dispositifs hôte et client seront
réalisées.
Selon une autre particularité, le procédé de sécurisation des échanges
de données est caractérisé en ce qu'il comprend, en amont de la troisième
étape de dérivation des clefs secrètes, une étape de diversification du jeu de
clef secrètes réalisée par un algorithme de diversification de sorte que
seules
les clefs diversifiées soient transmises au dispositif hôte par les moyens de
traitement du dispositif client.
CA 02888662 2015-04-17
WO 2014/060482 8 PCT/EP2013/071644
Selon une autre particularité, le procédé de sécurisation des échanges
de données est caractérisé en ce qu'il comprend des étapes entrainant la
désactivation du dispositif client puis sa réactivation par l'utilisateur,
suivi de
l'ouverture d'un nouveau canal sécurisé entre le dispositif hôte et le
dispositif
client, ces étapes étant les suivantes :
a) Une étape de chiffrement d'une commande de
désactivation par les moyens de traitement du dispositif hôte, via
l'algorithme triple DES utilisant la clef dérivée C-MAC permettant
d'intégrer une signature numérique à la commande chiffrée,
b) une étape d'envoi par les moyens de traitement du
dispositif hôte de la commande de désactivation chiffrée au dispositif
client,
c) une étape de déchiffrement, par les moyens de traitement
du dispositif client, de la commande de désactivation chiffrée via
l'algorithme triple DES utilisant la clef dérivée C-MAC,
d) une étape d'envoi vers le dispositif hôte par les moyens de
traitement du dispositif client, d'une réponse à la commande de
désactivation, cette réponse étant envoyé d'une part en clair et d'autre
part chiffrée via l'algorithme triple DES utilisant la clef dérivée R-MAC,
intégrant une signature numérique à la réponse,
e) une étape de déchiffrement de la réponse reçu par le
dispositif hôte, via l'algorithme triple DES utilisant la clef dérivée R-
MAC, suivi de l'envoi par les moyens de traitement du dispositif hôte
d'une commande de désactivation du dispositif client et d'une
invitation à déconnecter le dispositif client,
CA 02888662 2015-04-17
WO 2014/060482 9 PCT/EP2013/071644
f) une étape d'envoi par les moyens de traitement du
dispositif hôte d'une invitation à connecter le dispositif client au
réseau,
g) une étape d'ouverture d'une nouvelle session suivie de la
confirmation de l'ouverture d'un nouveau canal sécurisé selon les
spécifications GlobalPlatform.
Un objectif supplémentaire de l'invention est de proposer un objet
portable utilisateur comprenant une zone mémoire sécurisée non volatile et
des moyens de traitement de données, l'objet portable étant caractérisé en ce
qu'il comprend en outre :
- des moyens de connexion ou de communication vers un dispositif
externe,
- un algorithme de chiffrement/déchiffrement et au moins un jeu de
clefs secrètes stockées dans la zone mémoire,
- un système
d'exploitation mis en oeuvre par les moyens de
traitement, le système d'exploitation comportant les algorithmes et commandes
nécessaires à l'ouverture d'un canal sécurisé spécifié GlobalPlatform entre
l'objet portable et un dispositif externe connecté audit objet,
- des moyens d'interprétation d'une commande de désactivation
envoyée par un dispositif externe, l'objet portable envoyant en retour audit
dispositif au moins une réponse comportant une signature numérique
garantissant l'intégrité de la réponse,
- des moyens d'interprétation d'une commande d'écriture, dans une
zone mémoire, d'un nouveau jeu de clefs secrètes,
L'objet portable utilisateur étant un dispositif client du système de
sécurisation
des échanges de données selon l'invention.
Selon une autre particularité, l'objet portable utilisateur est caractérisé
en ce que les moyens de connexion sont de type USB.
CA 02888662 2015-04-17
WO 2014/060482 10 PCT/EP2013/071644
Selon une autre particularité, l'objet portable utilisateur est caractérisé
en ce que les moyens de connexion utilisent un protocole de type
radioélectrique.
Selon une autre particularité, l'objet portable utilisateur est caractérisé
en ce qu'il comprend un algorithme de diversification des clefs secrètes,
l'algorithme permettant de dériver les clefs secrètes stockées dans une zone
mémoire non volatile de l'objet portable, de sorte que seules les clefs
dérivées
par l'algorithme de diversification soient transmises à un dispositif distant.
Selon une autre particularité, l'objet portable utilisateur est caractérisé
en ce que l'objet est une carte à puce.
Un objectif supplémentaire est de proposer un dispositif distant de
téléchargement de données dans un objet portable utilisateur selon
l'invention,
le dispositif comprenant une zone mémoire sécurisée non volatile et des
moyens de traitement de données, le dispositif distant étant caractérisé en ce
qu'il comprend en outre :
- des moyens de connexion ou d'établissement d'une
communication vers un dispositif externe,
- un algorithme de chiffrement/déchiffrement et au moins un jeu de
clefs secrètes stockées dans la zone mémoire,
- un système d'exploitation mis en oeuvre par les moyens de
traitement, le système d'exploitation comportant les algorithmes et commandes
nécessaires à l'ouverture de session et d'un canal sécurisé selon les
spécifications GlobalPlatform entre le dispositif distant et un objet portable
connecté audit dispositif distant,
- des moyens de sélection d'un nouveau jeu de clefs secrètes
stockées dans une zone mémoire non volatile du dispositif distant, chiffrées
par
l'algorithme de chiffrement/déchiffrement et envoyées par les moyens de
traitement de données à un objet portable connecté au dispositif distant.
CA 02888662 2015-04-17
WO 2014/060482 11 PCT/EP2013/071644
Selon une autre particularité, le dispositif distant est caractérisé en ce
que le dispositif comprend des moyens de connexion avec contact.
Selon une autre particularité, le dispositif distant est caractérisé en ce
que le dispositif comprend des moyens de connexion utilisant un protocole de
type radioélectrique.
Selon une autre particularité, le dispositif distant est caractérisé en ce
qu'il comprend une commande de désactivation destinée à être envoyée à un
objet portable connecté audit dispositif distant, les moyens de traitement de
l'objet portable renvoyant une réponse comportant une signature numérique
garantissant l'intégrité de la réponse, cette commande étant configurée pour
rendre inutilisable l'objet portable utilisateur jusqu'à sa désactivation puis
sa
réactivation par un utilisateur, le dispositif distant comprenant les
commandes
nécessaires à l'ouverture d'une nouvelle session et d'un nouveau canal
sécurisé d'échange de données.
Selon une autre particularité, le dispositif distant est caractérisé en ce
que ledit dispositif est un serveur distant, ledit serveur étant connecté à
l'objet
portable utilisateur via un réseau local ou étendu.
Selon une autre particularité, le dispositif distant est caractérisé en ce
que ledit dispositif est une carte à puce, ladite carte étant connectée à
l'objet
portable utilisateur via un réseau local ou étendu.
L'invention, avec ses caractéristiques et avantages, ressortira plus
clairement à la lecture de la description faite en référence aux dessins
annexés
dans lesquels :
La figure 1 illustre l'invention dans un mode de réalisation.
La figure 2 illustre l'objet portable utilisateur dans un mode de
réalisation.
La figure 3 illustre les étapes d'ouverture d'un canal sécurisé ayant les
spécifications GlobalPlatform.
CA 02888662 2015-04-17
WO 2014/060482 12 PCT/EP2013/071644
La figure 4 illustre les étapes décrivant le fonctionnement d'une
commande de désactivation du dispositif client.
La figure 5 illustre les étapes du procédé de sécurisation des échanges
de données selon un mode de réalisation.
DESCRIPTION DES MODES DE REALISATION PREFERES DE
L'INVENTION
En référence aux figures 1 et 2, le système de sécurisation des
échanges de données va maintenant être décrit.
Dans un mode de réalisation, le système de sécurisation des échanges
de données comprend au moins deux dispositifs, par exemple et de façon non
limitative un dispositif hôte (H) et un dispositif client (Cl), connectés et
communiquant avec un réseau local ou étendu.
Par exemple, le dispositif client est portable et connectable à un
dispositif informatique (2), par exemple un ordinateur personnel, relié au
réseau local ou étendu. Par dispositif portable on entend un dispositif
pouvant
être mis par exemple dans une poche de vêtement. Le dispositif client portable
(Cl) est par exemple compris dans une carte à puce (1) comprenant un corps
en matériau synthétique classique, par exemple en ABS (Acrylonitrile
Butadiène Styrène) ou en PVC (Polychlorure de Vinyle). Selon une variante de
réalisation, le corps de la carte peut être réalisé en matière biodégradable.
Dans un mode de réalisation, la carte comprend une partie détachable
prédécoupée destinée à former le dispositif client (Cl), ledit dispositif
étant un
objet portable utilisateur (Cl).
La partie détachable de la carte est délimitée par un évidemment
linéaire (D), et est accrochée au reste du corps de la carte grâce à des
moyens
de liaison frangible interrompant donc l'évidemment linéaire.
Dans un mode de réalisation, l'objet portable utilisateur (Cl) comprend
des moyens matérialisant une ligne de pliage (P). Dans l'exemple représenté à
la figure 1, la ligne de pliage est matérialisée par un amincissement localisé
du
CA 02888662 2015-04-17
WO 2014/060482 13 PCT/EP2013/071644
corps de la carte. Cet amincissement pourra, par exemple et de façon non
restrictive, être réalisé par poinçonnage, par fraisage, par découpe laser ou
tout autre moyen d'usinage.
On notera que la ligne de pliage sépare deux zones appelées
respectivement dormant (3) et abattant (4).
Après découpage de l'objet informatique et pliage par rabattement de
l'abattant sur le dormant, l'abattant et le dormant étant solidarisés grâce à
des
moyens d'encliquetage (40), la partie présente sous le connecteur a
maintenant une épaisseur compatible avec les dimensions d'un connecteur
USB femelle. Dans cette configuration, l'objet portable utilisateur peut être
connecté à un hôte informatique (2) via un port USB, par exemple et de façon
non limitative un terminal d'un utilisateur.
Dans un mode de réalisation préférentiel, la carte (1) est réalisée dans
des dimensions respectant le format de la norme ISO 7816, notamment la
norme ISO 7816-1 relative aux caractéristiques physiques de cartes à puce.
L'objet portable utilisateur (Cl) comprend notamment un dispositif
électronique solidarisé au corps de l'objet par exemple à l'aide d'un adhésif
classique pendant une étape d'intégration du dispositif électronique. Le
dispositif électronique comprend des moyens de connexion (30) de type bus
informatique à transmission série. Dans certains modes de réalisation, le
dispositif électronique est une puce électronique reliée électriquement selon
la
norme USB (de l'anglais, Universal Serial Bus) à une vignette à plages de
contact électriquement disjointes, fabriqué selon un procédé connu de l'homme
du métier : la puce électronique est placée sous la vignettes à plages de
contact, puis les contacts électriques de la puce sont ensuite reliés aux
plages
de contact de ladite vignette.
Dans un mode de réalisation alternatif, l'objet portable utilisateur
comprend des moyens de communication sans contact, par exemple et de
façon non limitative une antenne radioélectrique type wifi, RFID ou tout
protocole de communication sans contact connu de l'homme du métier.
CA 02888662 2015-04-17
WO 2014/060482 14 PCT/EP2013/071644
La puce électronique peut comprendre, par exemple et de façon non
limitative, au moins un microcontrôleur, comme par exemple et de façon non
limitative un microprocesseur comprenant une mémoire volatile, un contrôleur
USB ou une antenne radioélectrique type RFID, un ou plusieurs espaces
mémoires, par exemple des mémoires sécurisées permanente non volatiles
programmables intégrées ou non dans le microcontrôleur. Contrairement au
cas des puces réalisées selon la norme ISO 7816, les signaux d'horloge, des
périphériques de type USB, ne sont pas transmis par le connecteur USB, la
puce comportera donc son circuit d'horloge intégré ou non dans un
microcontrôleur. Ce circuit d'horloge pourra, par exemple et de façon non
restrictive, comporter un résonateur ou un quartz.
Dans un mode de réalisation, les plages de contact sont réalisées par
une vignette à huit contacts. Contrairement aux vignettes au format ISO 7816
classiquement utilisées sur une carte à puce, les plages de contact
correspondant aux contacts ISO Cl à C4 ont été rallongées de façon à faire
correspondre les dimensions des plages de contact de la vignette avec ceux
d'un connecteur USB tout en respectant la norme 7816-2 relative aux
dimensions et emplacement des contacts. Pour cela, la longueur des plages de
contact correspondant aux contacts ISO C5 à C8 a été raccourcie. Un
connecteur USB ne comprenant que quatre pistes, les plages de contact
correspondant aux contacts ISO C5 à C8 ne seront donc pas utilisées. Suivant
un premier mode de réalisation, ces plages de contact seront chacune isolées
entre elles mais ne seront pas câblées au microcircuit. Suivant un autre mode
de réalisation, les plages de contact correspondant aux contacts ISO C5 à C8
pourront être isolées des contacts ISO C2 à C4 mais ne seront pas isolées
entre elles et seront reliées au contact ISO Cl de façon à ne former qu'une
seule plage de contacts.
Ainsi, l'objet portable utilisateur (Cl) forme un organe informatique
connectable soit selon la norme USB soit par exemple selon la norme RFID, un
microcontrôleur de la puce électronique étant programmé par des moyens de
CA 02888662 2015-04-17
WO 2014/060482 15 PCT/EP2013/071644
programmation de telle sorte que ledit objet portable se comporte comme une
interface homme/machine une fois connecté, par exemple à un terminal (2).
Dans un mode de réalisation, le dispositif hôte (H) du système de
sécurisation des échanges de données est un ordinateur serveur comprenant
au moins une zone mémoire sécurisée permanente non volatile programmable,
des moyens de traitement des données, par exemple un microprocesseur, un
système d'exploitation étant installé dans une zone mémoire du serveur (H) de
manière à gérer au moins les échanges de données entre dispositifs hôte (H)
et client (Cl). Le serveur (H) comprend également des moyens de connexion,
par exemple à un réseau étendu ou local. Dans un mode de réalisation, les
moyens de connexions sont de type avec contact, par exemple et de façon non
limitative les connexions au réseau étendu ou local sont réalisés via des
moyens de connexion filaires. Dans un mode de réalisation alternatif, le
serveur comprend des moyens de communication sans fil radioélectrique, type
wifi, RFID ou tout protocole de communication sans contact connu de l'homme
du métier. Dans un autre mode de réalisation, le dispositif hôte (H) est une
carte à puce (1) possédant des propriétés similaires à l'objet portable
utilisateur ayant le rôle de dispositif client.
Afin de permettre des échanges sécurisés de données, le système de
sécurisation met en place, dans un mode de réalisation, un protocole
d'échange de données ayant les spécifications GlobalPlatform, bien connues
de l'homme du métier. Par exemple et de manière non limitative, le système de
sécurisation est apte à mettre en place un protocole de sécurisation des
données selon les spécifications GlobalPlatform - Card Specification -
version 2.2 , publiées en mars 2006. Le but de tels protocoles est la
création,
par le système de sécurisation des échanges de données, d'un canal de
sécurité permettant d'échanger des données entre les dispositifs hôte (H) et
client (Cl) communiquant via un réseau local ou étendu.
Pour permettre l'ouverture de ce canal sécurisé, les dispositifs hôte (H)
et client (Cl) comprennent, dans un mode de réalisation, au moins un
CA 02888662 2015-04-17
WO 2014/060482 16 PCT/EP2013/071644
algorithme de chiffrement/déchiffrement des données et au moins un jeu de
clefs de chiffrements enregistrées dans une zone secrète du dispositif, cette
zone étant non accessible de l'extérieur. Par exemple et de façon non
limitative, les clefs de chaque jeu sont symétriques. Par exemple,
l'algorithme
de chiffrement/déchiffrement utilisé est un algorithme dit triple DES (3-DES,
DES venant de l'anglais Data Encryption stantard ). Chaque jeu de clefs
secrètes comprend par exemple trois clefs secrètes 3-DES, notées ENC, MAC
et DEK. La clef ENC est une clef secrète de chiffrement des données, assurant
la confidentialité des données échangées. La clef secrète MAC est une clef
d'intégrité. L'algorithme 3-DES utilisant la clef secrète MAC sur une donnée
génère une signature numérique accompagnant chaque donnée chiffrée par
l'algorithme et la clef MAC. Cette signature numérique garanti que les données
transférées d'un dispositif à l'autre ne sont pas corrompues. Enfin, la clef
DEK
est une clef secrète de chiffrement de données confidentielles, et apporte une
protection supplémentaire à des données sensibles, par exemple et de façon
non limitative contenant des informations concernant des données utilisateur.
Dans un mode de réalisation, les dispositifs hôte (H) et client (Cl)
comprennent un système d'exploitation, mise en oeuvre par les moyens de
traitement, comportant les algorithmes et les commandes nécessaires à
l'ouverture d'un canal sécurisé ayant les spécifications GlobalPlatform
permettant l'échange sécurisé de données entre le client, par exemple un objet
portable utilisateur (Cl), et l'hôte (H), par exemple un serveur.
Dans un mode de réalisation et en référence à la figure 3, le procédé
d'ouverture d'un canal sécurisé ayant les spécifications GlobalPlatform entre
le
dispositif client (Cl) et le dispositif hôte (H) du système de sécurisation
des
échanges de données va maintenant être décrit. L'ouverture de ce canal est
réalisé via un algorithme 3-DES enregistré dans une zone mémoire sécurisée
non volatile du dispositif hôte et du dispositif client, et un jeu de trois
clefs
secrètes ENC, MAC ET DEK enregistrées dans une zone secrète de chaque
dispositif (H, Cl), non accessible de l'extérieur.
CA 02888662 2015-04-17
WO 2014/060482 17 PCT/EP2013/071644
Au cours de la première étape, les moyens de traitement du dispositif
hôte (H) commandent l'ouverture d'une nouvelle session. Une information
indiquant l'ouverture de la session est envoyé au dispositif client (Cl) par
les
moyens de traitement du dispositif hôte (H). A réception de cette information,
les moyens de traitement du dispositif client, génèrent (60) un compteur de
session (SC) incrémenté à chaque ouverture d'une nouvelle session. Ce
compteur de session est stocké dans une zone mémoire du dispositif client
(Cl).
Au cours de la deuxième étape, les moyens de traitements du dispositif
client (Cl) réalisent une opération de dérivation (501) des trois clefs
secrètes
ENC, MAC ET DEK, via l'algorithme 3-DES utilisant le compteur de session
(SC) et un nombre aléatoire hôte (HO) généré par les moyens de traitement du
dispositif hôte (H), ledit nombre aléatoire (HO) étant envoyé (61) au
dispositif
client (CI) et enregistré dans la mémoire du dispositif client.
Suite à cette étape de dérivation, cinq clefs dérivées secrètes sont
générées (90) par les moyens de traitement du dispositif client (CI), et
enregistrées dans une zone mémoire du dispositif (Cl). La première clef,
nommée S-ENC, permet de chiffrer les commandes envoyées à un dispositif
(H, CI) par l'autre dispositif (H, Cl). La deuxième clef, nommée R-ENO, permet
de chiffrer les réponses envoyées à un dispositif par l'autre dispositif. Les
deux
clefs nommées C-MAC et R-MAC permettent respectivement de générer une
signature pour chaque commande et pour chaque réponse envoyée, assurant
ainsi l'intégrité des données transférées. Enfin, la cinquième clef, nommée S-
DEK, permet de chiffrer les données confidentielles, qu'il s'agisse de
commandes ou de réponses.
Au cours de la quatrième étape, les moyens de traitement du dispositif
client (Cl) génèrent (504) un cryptogramme client (Ccrypto,), via l'algorithme
3-
DES utilisant la clef dérivée S-ENC ainsi que le nombre aléatoire hôte (HO) et
un nombre aléatoire client (CC) généré par les moyens de traitement du
dispositif client (Cl).
CA 02888662 2015-04-17
WO 2014/060482 18 PCT/EP2013/071644
Au cours de la cinquième étape, ce cryptogramme client (Ccrypto,), le
compteur de session (SC) et le nombre aléatoire client (CC) sont envoyés au
dispositif hôte (H) par les moyens de traitement du dispositif client (Cl). Le
cryptogramme client (Ccryptoc), le compteur de session (SC) et le nombre
aléatoire client (CC) sont enregistrés dans une zone mémoire du dispositif
hôte
(H). Parallèlement, les moyens de traitement du dispositif hôte (H) calculent
(500, 80) les cinq clefs dérivées S-ENC, R-ENC, C-MAC, R-MAK et S-DEK via
l'algorithme triple DES utilisant le compteur de session (SC) et le nombre
aléatoire hôte (HC).
Avec les données reçues à la cinquième étape, les moyens de
traitement du dispositif hôte (H) calculent (503) le cryptogramme client
(CcryptoH) via l'algorithme triple DES utilisant la clef dérivée S-ENC, le
nombre
aléatoire hôte (HC) et le nombre aléatoire client (CC).
Au cours de la septième étape, les moyens de traitement du dispositif
hôte (H) comparent les cryptogrammes client (Ccryptoc, CcryptoH)
respectivement calculés par le dispositif client (Cl) et le dispositif hôte
(H). Si
les deux cryptogrammes client (Ccryptoc, CcryptoH) sont identiques, alors le
dispositif client (Cl) est authentifié par les moyens de traitement du
dispositif
hôte (H).
Au cours de la huitième étape, les moyens de traitement du dispositif
hôte (H) calcule (502) un cryptogramme hôte (HcryptoH), via l'algorithme 3-DES
utilisant la clef dérivée S-ENC, le nombre aléatoire hôte (HC) et le nombre
aléatoire client (CC). Ce cryptogramme hôte (HcryptoH) est enregistré dans une
zone mémoire du dispositif hôte (H).
Au cours de la neuvième étape, ce cryptogramme hôte (HcryptoH) est
envoyé (62) au dispositif client (Cl) par les moyens de traitement du
dispositif
hôte (H). Le cryptogramme hôte (HcryptoH) est enregistré dans une zone
mémoire du dispositif client (Cl).
CA 02888662 2015-04-17
WO 2014/060482 19 PCT/EP2013/071644
Avec les données reçues à la neuvième étape, les moyens de traitement
du dispositif client (Cl) calculent (505) le cryptogramme hôte (Hcryptoc) via
l'algorithme 3-DES utilisant la clef dérivée S-ENC, le nombre aléatoire hôte
(HO) et le nombre aléatoire client (CC).
Au cours de la onzième étape, les moyens de traitement du dispositif
client (CI) comparent les cryptogrammes hôte (HcryptoH, Hcryptoc)
respectivement calculés par le dispositif client (CI) et le dispositif hôte
(H). Si
les deux cryptogrammes hôte (HcryptoH, Hcryptoc) sont identiques, alors le
dispositif hôte (H) est authentifié par les moyens de traitement du dispositif
client (Cl).
Ce procédé se conclut par la confirmation de l'ouverture par le système
de sécurisation des échanges de données d'un canal sécurisé (OSCS), à
travers lequel les prochaines commandes et/ou réponse générées par les
dispositifs hôte (H) et client (Cl) seront réalisées.
Dans un mode de réalisation, une étape de diversification des clefs
dérivées obtenues à la troisième étape du procédé d'ouverture d'un canal
sécurisé ayant les spécifications GlobalPlatform, est réalisée via un
algorithme
de diversification stocké dans une zone mémoire des dispositifs hôte (H) et
client (Cl). Par exemple et de façon non limitative, cet algorithme de
diversification est également un algorithme 3-DES. Ainsi, seules les clefs
dérivées, diversifiées et enregistrées dans une zone mémoire du dispositif
hôte
(H) et du dispositif client (Cl) sont utilisés par le système de sécurisation
d'échanges de données entre un dispositif hôte (H) et un dispositif client
(Cl),
de sorte que les clefs initiales (ENC, MAC, DEK) ne soient jamais accessibles
en cas d'attaque ou de tentative d'attaque. En cas d'attaque ou de suspicion
d'attaque, il suffira au système de sécurisation de réémettre des clefs
diversifiées différentes avant d'ouvrir un canal sécurisé.
Dans un mode de réalisation, un des dispositifs du système de
sécurisation des échanges de données, par exemple et de façon non limitative
le dispositif hôte (H), comprend un jeu de clefs secrètes supplémentaires
CA 02888662 2015-04-17
WO 2014/060482 20 PCT/EP2013/071644
(ENCci, MACci, DEKci) enregistrées dans une zone mémoire permanente non
volatile programmable du dispositif (H). Par exemple et de façon non
limitative,
ce second jeu de clefs secrètes comprend trois clefs secrètes 3-DES : une clef
ENCci, une clef MACcl et une clef DEKci. Dans un mode de réalisation, le
système de sécurisation des échanges de données utilise ce deuxième jeu de
clefs (ENCci, MACci, DEKci) à la place du premier jeu de clef utilisé (S-ENC,
R-ENC, C-MAC, R-MAC, 5-DEK), dérivé du jeu de clefs (ENC, MAC, DEK), qui
a servi pour ouvrir un premier canal sécurisé, si les moyens de traitement
d'un
des dispositifs (H, Cl) du système, hôte ou client, suspecte une attaque ou
une
violation des règles de confidentialité et/ou d'intégrité imposées par ledit
canal
sécurisé.
En référence à la figure 5, le procédé décrivant le remplacement d'un
premier jeu de clefs 3-DES (ENC, MAC, DEK) par un deuxième jeu de clefs 3-
DES (ENCci, MACci, DEKci), suivi de l'ouverture d'un nouveau canal sécurisé
va maintenant être décrit.
Au cours de la première étape, par exemple en cas de violation des
règles de confidentialité et/ou d'intégrité du canal sécurisé suspecté par les
moyens de traitement d'au moins un dispositif (H, Cl) du système de
sécurisation, alors les moyens de traitement dudit dispositif (H, Cl)
commandent la fermeture du canal sécurisé en cours.
Au cours de la deuxième étape, les moyens de traitement du dispositif
(H, Cl) du système dans lequel un deuxième jeu de clefs secrètes (ENCci,
MACci, DEKci) est stocké, par exemple et de façon non limitative le dispositif
hôte (H), sélectionnent ledit deuxième jeu de clefs secrètes.
Au cours de la troisième étape, les moyens de traitement du dispositif
hôte (H) chiffrent (510) la première clef (ENC:1) secrète du deuxième jeu de
clefs (ENCci, MACci, DEKci), via l'algorithme de chiffrement/déchiffrement 3-
DES en utilisant au moins une clef secrète du premier jeu de clefs (ENC, MAC,
DEK). Par exemple, les clefs diversifiées (S-ENC, R-ENC, C-MAC, R-MAC, S-
CA 02888662 2015-04-17
WO 2014/060482 21 PCT/EP2013/071644
DEK), enregistrées (92) dans une zone mémoire du dispositif hôte (H), sont
utilisées pour chiffrer la première clef (ENC:1) secrète du deuxième jeu de
clefs
(ENCci, MACci, DEKci)=
Au cours de la quatrième étape, les moyens de traitement du dispositif
hôte (H) envoient (64) au deuxième dispositif (Cl), par exemple et de façon
non
limitative le dispositif client (Cl), la clef chiffrée (ENC:1) à l'étape
précédente
ainsi qu'une instruction d'écriture de la clef chiffrée (ENC:1) dans la
mémoire
du dispositif client (Cl). Dans un mode de réalisation alternatif,
l'instruction
d'écriture de la clef chiffrée (ENC:1) dans la mémoire du dispositif client
(Cl)
fait partie du système d'exploitation du dispositif client (Cl).
Au cours de la cinquième étape, l'algorithme 3-DES enregistré dans une
zone mémoire du dispositif client (Cl), utilisant au moins une clef secrète du
premier jeu de clefs (ENC, MAC, DEK), déchiffre (511) la clef chiffrée (ENC:1)
par le dispositif hôte (H) et envoyée au dispositif client (Cl) à l'étape
précédente. Par exemple, les clefs diversifiées (S-ENC, R-ENC, C-MAC, R-
MAC, 5-DEK), enregistrées (22) dans une zone mémoire du dispositif client
(Cl), sont utilisées pour déchiffrer la première clef (ENC:i ) secrète du
deuxième
jeu de clefs (ENCci, MACci, DEKci). La clef déchiffrée (ENCci) est alors
enregistrée (83) dans une zone mémoire du dispositif client (Cl).
Les étapes trois à cinq sont répétées pour toutes les clefs (MACci,
DEKci) du deuxième jeu de clefs secrètes. Finalement, le système de
sécurisation des échanges de données commande l'ouverture d'un nouveau
canal sécurisé selon le procédé explicité plus haut dans la description,
l'ouverture étant réalisée via l'algorithme de chiffrement/déchiffrement 3-DES
utilisant les clefs du deuxième jeu de clefs secrètes (ENCci, MACci, DEKci).
Afin de mener à bien ce procédé, le dispositif client, par exemple un
objet portable utilisateur (Cl), comprend des moyens d'interprétation d'une
commande d'écriture, dans une zone mémoire dudit dispositif (Cl), d'un
CA 02888662 2015-04-17
WO 2014/060482 22 PCT/EP2013/071644
nouveau jeu de clefs secrètes (ENCci, MACci, DEKci). Le dispositif hôte (H)
quant à lui comprend des moyens de sélection d'un nouveau jeu de clefs
secrètes (ENCci, MACci, DEKci) stockées dans une zone mémoire non volatile
du dispositif hôte (H).
Dans un mode de réalisation en référence à la figure 4, le dispositif hôte
(H) comprend une commande de désactivation (HALT) du dispositif client (Cl),
la commande étant stockée dans un espace mémoire du dispositif hôte (H).
Cette commande est intégrée de manière à ce que les moyens de traitement
du dispositif hôte (H) aient la certitude que seul l'utilisateur contrôle le
dispositif
client (Cl), et non pas un programme malveillant par exemple de type cheval de
Troie.
Ainsi, dans un mode de réalisation, le procédé de sécurisation des
échanges de données comprend une série d'étapes optionnelles entrainant la
désactivation du dispositif client (Cl) puis sa réactivation par l'utilsateur,
suivi
de l'ouverture d'un canal sécurisé.
Au cours de la première étape optionnelle, les moyens de traitement du
dispositif hôte (H) chiffrent (506) la commande de désactivation stockée dans
une zone mémoire du dispositif hôte (H), via l'algorithme 3-DES utilisant la
clef
dérivée C-MAC. Cette étape permet donc d'intégrer une signature numérique à
la commande chiffrée (HALT*). Dans un mode de réalisation alternatif, le jeu
de
clefs (S-ENC, R-ENC, C-MAC, R-MAC, S-DEK) a été dérivé par un diversifiant
(DIV). Les clefs ainsi obtenues (S-ENCd, R-ENCd, C-MACd, R-MACd, S-
DEKd) sont enregistrées d'une part (91) dans une zone mémoire du dispositif
hôte (H) et d'autre part (81) dans une zone mémoire du dispositif client (Cl).
Au cours de la deuxième étape optionnelle, les moyens de traitement du
dispositif hôte (H) envoient (63) la commande de désactivation chiffrée
(HALT*)
au dispositif client (Cl).
Au cours de la troisième étape optionnelle, les moyens de traitement du
dispositif client (Cl) déchiffrent (507) la commande de désactivation (HALT)
via
CA 02888662 2015-04-17
WO 2014/060482 23 PCT/EP2013/071644
l'algorithme 3-DES et la clef secrète C-MAC. Cette étape permet de certifier
l'authenticité de la commande de désactivation reçue.
Au cours de la quatrième étape optionnelle, les moyens de traitement du
dispositif client (Cl) envoient (73) au dispositif hôte (H) une réponse à la
commande de désactivation. Cette réponse est envoyée d'une part en clair
(73) et d'autre part (74) non chiffrée et signée (508) via l'algorithme 3-DES
utilisant la clef R-MAC, intégrant ainsi une signature numérique à la réponse
signée. Pour que la réalisation des étapes trois et quatre soient possible, le
dispositif client (Cl), par exemple un objet portable utilisateur, comprend
des
moyens d'interprétation d'un commande de désactivation envoyée par le
dispositif hôte (H), par exemple un dispositif externe.
Au cours de la cinquième étape optionnelle, la réponse chiffrée reçu par
le dispositif hôte (H) est déchiffrée (509) par les moyens de traitement dudit
dispositif (H), via l'algorithme 3-DES et la clef R-MAC. Cette étape permet de
certifier l'authenticité de la réponse reçue. L'authentification de la réponse
est
immédiatement suivie de la désactivation du dispositif client (Cl), puis de
l'envoi (21), par les moyens de traitement du dispositif hôte (H), d'une
invitation
à déconnecter le dispositif client (Cl).
Au cours de la sixième étape optionnelle, les moyens de traitement du
dispositif hôte (H) envoient via le réseau une invitation (22) à connecter le
dispositif client (Cl) au réseau.
Au cours de la dernière étape optionnelle, suite à la réactivation et/ou à
la reconnexion du dispositif client (Cl) réalisée par un utilisateur, le
système de
sécurisation des échanges de données commande l'ouverture d'une nouvelle
session et confirme l'ouverture d'un nouveau canal sécurisé (OSCS) selon le
procédé décrit plus haut dans la description. Les dispositifs hôte (H) et
client
(Cl) comprennent les commandes nécessaires, enregistrées dans une zone
mémoire desdits dispositifs (H, Cl), à l'ouverture d'une nouvelle session et
d'un
nouveau canal sécurisé d'échanges de données.
CA 02888662 2015-04-17
WO 2014/060482 24 PCT/EP2013/071644
La présente demande décrit diverses caractéristiques techniques et
avantages en référence aux figures et/ou à divers modes de réalisation.
L'homme de métier comprendra que les caractéristiques techniques d'un mode
de réalisation donné peuvent en fait être combinées avec des caractéristiques
d'un autre mode de réalisation à moins que l'inverse ne soit explicitement
mentionné ou qu'il ne soit évident que ces caractéristiques sont
incompatibles.
De plus, les caractéristiques techniques décrites dans un mode de réalisation
donné peuvent être isolées des autres caractéristiques de ce mode à moins
que l'inverse ne soit explicitement mentionné.
Il doit être évident pour les personnes versées dans l'art que la présente
invention permet des modes de réalisation sous de nombreuses autres formes
spécifiques sans l'éloigner du domaine d'application de l'invention comme
revendiqué. Par conséquent, les présents modes de réalisation doivent être
considérés à titre d'illustration, mais peuvent être modifiés dans le domaine
défini par la portée des revendications jointes, et l'invention ne doit pas
être
limitée aux détails donnés ci-dessus.