Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ELECTRONIC MODULE FOR STORING DATA
Document Type and Number:
WIPO Patent Application WO/2008/003886
Kind Code:
A1
Abstract:
The invention relates to a method of managing access of an entity to at least one item of data stored on a memory module. According to the invention, access is preceded by a prior allocating step able to allocate said at least one data item an access entitlement level that said entity must possess in order to access this data item. This prior step is followed by a step of accessing said at least one data item by an entity, the access consisting in verifying that the entity possesses a sufficient access entitlement level.

Inventors:
PICARD PATRICK (FR)
Application Number:
PCT/FR2007/051514
Publication Date:
January 10, 2008
Filing Date:
June 25, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
PICARD PATRICK (FR)
International Classes:
G06F21/62
Domestic Patent References:
WO2002001271A12002-01-03
Foreign References:
US20050039041A12005-02-17
GB2329497A1999-03-24
US20040059945A12004-03-25
GB2405007A2005-02-16
Attorney, Agent or Firm:
FRANCE TELECOM/FTR & D/PIV/BREVETS (38-40 rue du Général Leclerc, Issy Les Moulineaux Cedex 9, FR)
Download PDF:
Claims:

Revendications

1. Procédé de gestion d'accès d'une entité (ENT1 , ENT2), à au moins une donnée (DT1 , DT2, ..., DTi+1 , DTi 1 ...DTn) stockée sur un module mémoire (CP), caractérisé que

- l'accès est précédé d'une étape préalable d'attribution apte à attribuer à ladite au moins une donnée un niveau de droit d'accès que doit posséder ladite entité pour accéder à cette donnée;

- et en ce qu'il comprend une étape d'accès dans laquelle l'entité accède à ladite au moins une donnée à la condition qu'elle possède un niveau de droit d'accès suffisant.

2. Procédé selon la revendication 1 , caractérisé en ce que l'étape d'attribution consiste à chiffrer ladite au moins une donnée au moyen d'une cié de chiffrement, et en ce que lors de l'étape d'accès, l'entité accède à ladite au moins une donnée à la condition qu'elle possède la clé de déchiffrement apte à déchiffrer le résultat du chiffrement de ladite au moins une donnée,

3. Procédé selon ia revendication 2, caractérisé en ce que, s'il existe au moins deux données (DT1 , DT2, ..., DTi+1 , DTi, ...DTn) associées à un niveau de droit d'accès respectif (N1 , N2, N3, ..... NH-1 , Ni, .... Nn) , lesdits niveaux vérifiant la relation mathématique suivante N1 c N2c .,. c Ni+1 cNic ... cNn (n≥ I), chaque niveau (N1 , N2, N3, ...., Ni+1, Ni, ... , Nn) étant associé à au moins une clé de chiffrement respective (K1 , (K1 ,K2), ...,(K1 , ...,Ki+1), (K1 t ...,Ki),...(K1 Kn), en ce que Ie chiffrement d'une donnée DTi associée à un niveau de droit Ni comprend une succession de chiffrement selon Ia relation suivante

R ( = E fi [DTi] pour le chiffrement de la donnée d'ordre î

Et la relation de récurrence suivante

R ,_, = E^ 1 [DT 1 ^ R 1 ],

- R, étant le résultat du chiffrement d'au moins ia donnée DT;

- R , étant le résultat du chiffrement d'au moins ['ensemble incluant la donnée DT M et le résultat du précédent chiffrement réalisé R, ;

- E ^, étant une fonction de chiffrement, l'indice indiquant la clé utilisée pour le chiffrement; et en ce que l'étape d'accès à ladite au moins une donnée DTi, DT ,_, ,

..., DT1 comprend une succession de déchiffrements des relations précédentes au moyen de ladite au moins une clé de chiffrement associée au niveau Nt.

4. Procédé selon la revendication 3, caractérisé en ce que le nombre de déchiffrements réalisés successivement est limité au nombre de clés associé au niveau de droit d'accès.

5. Procédé selon la revendication 3 ou 4, caractérisé en ce que l'entité indique un ordre d'utilisation de la dite au moins une clé associée à un niveau, en ce que l'étape d'accès est précédée d'une étape de vérification de l'ordre d'utilisation indiqué, et en ce que le déchiffrement d'une donnée est réalisé si l'ordre est correct.

6. Procédé selon la revendication 3, caractérisé en ce que si une seule clé est utilisée pour réaliser la succession de chiffrements, l'entité indique un nombre de déchiffrements successifs à réaliser pour accéder à une donnée, et en ce que l'étape d'accès est précédée d'une étape de vérification du nombre indiqué, et en ce que le déchiffrement d'une donnée est réalisé si le nombre est correct.

7. Module électronique apte à communiquer avec une entité au travers d'un lecteur, ledit module stockant au moins une donnée, caractérisé en ce qu'il comprend

- des moyens de stockage apte à stocker au moins une donnée à laquelle est attribuée un niveau de droit d'accès respectif que doit posséder ladite entité pour accéder à cette donnée;

- des moyens de vérification aptes à vérifier qu'une entité souhaitant un accès à ladite au moins une donnée possède un niveau de droit suffisant,

- des moyens d'autorisation d'accès apte à autoriser l'accès à ladite au moins une donnée.

8. Module selon la revendication 7, caractérisé en ce que ladite au moins une donnée est chiffrée au moyen d'une clé de chiffrement, et en ce que les moyens d'autorisation sont aptes à autoriser l'accès à ladite au moins une donnée à la condition que l'entité qui accède à ladite au moins une donnée possède la clé de déchiffrement apte à déchiffrer le résultat du chiffrement de ladite au moins une donnée,

9. Module électronique selon la revendication 8, caractérisé en ce qu'il stocke au moins deux données (DT1 , DT2, ..,, DTi+1 , DTi, ...DTn) associées à un niveau de droit d'accès respectif (N1 , N2, N3, ..... Ni+1 , Ni 1 ..., Nn) , lesdits niveaux vérifiant la relation mathématique suivante N1 c N2e ... c Ni+1 c Nic ... c Nn (n≥ ï ), chaque niveau (N1 , N2, N3, ...., Ni+1 , Ni, ..., Nn) étant associé à au moins une clé de chiffrement respective

(K1 , (K1.K2), ...,(KI , ...,Ki+1), (K1 Ki),...(K1 Kn), ledit module comprenant

- des moyen de chiffrement aptes à chiffrer une donnée DTi associée à un niveau de droit Ni en réalisant une succession de chiffrement selon la relation suivante

R 1 = E Kl [DTi] pour le chiffrement de la donnée d'ordre î

et la relation de récurrence suivante

- R 1 étant le résultat du chiffrement d'au moins la donnée DT, ;

- R ^j étant le résultat du chiffrement d'au moins l'ensemble incluant la donnée DT ,_, et le résultat du précédent chiffrement réalisé R , ;

- E Kl étant une fonction de chiffrement, l'indice K ; indiquant la clé utilisée pour le chiffrement;

- des moyens de déchiffrement aptes à réaliser une succession de déchiffrements des relations précédentes au moyen de ladite au moins une clé de chiffrement associée au niveau Ni pour accéder à ladite au moins une donnée DTi, DT,_, DT1.

10. Module selon la revendication 9, caractérisé en ce qu'il comprend des moyens de limitation aptes à limiter le nombre de déchiffrement au nombre de clé(s) associée(s) au niveau de droit d'une entité.

11. Module selon les revendications 9 ou 10, caractérisé en ce qu'il comprend

- des moyens de réception apte à recevoir, depuis une entité, l'ordre d'utilisation de la dite au moins une clé associée à un niveau pour la réalisation du déchiffrement d'une donnée,

- des moyens de vérification de l'ordre d'utilisation,

- des moyens aptes à activer Ie déchiffrement si l'ordre est correct.

12. Module selon les revendications 9, caractérisé en ce qu'il comprend

- des moyens de réception d'un nombre de déchiffrements à réaliser,

- des moyens aptes à vérifier le nombre reçu,

- des moyens aptes à activer le déchiffrement si le nombre est correct.

13. Entité apte à communiquer avec un module électronique au travers d'un lecteur, ledit module étant apte à stocker au moins une donnée (DT1 , DT2, ..., DTi+ 1 , DTi, ...DTn), caractérisé en qu'il comprend des moyens de

mémorisation apte à mémoriser au moins un niveau de droit d'accès associé à une donnée respective.

14. Entité selon la revendication 13, caractérisée en ce qu'un niveau est représenté par au moins une clé de chiffrement.

15. Entité selon la revendication 13, caractérisée en ce qu'il comprend

- des moyens de stockage aptes à stocker au moins une clé associée à un niveau de droit donné,

- des moyens de transmission de ladite au moins une clé.

16. Entité selon les revendications 14 ou 15, caractérisé en ce qu'il comprend des moyens d'indication aptes à indiquer l'ordre d'utilisation des clés.

17. Programme d'ordinateur apte à être mis en œuvre sur un module électronique tel que défini dans la revendication 7, ledit programme comprenant des instructions de code qui, lorsque le programme est exécuté réalise une étape d'autorisation d'accès à au moins une donnée en fonction du niveau de droit d'accès que possède i'entité requérant un accès à ladite au moins une donnée.

Description:

Module électronique pour le stockage de données Domaine technique

L'invention se rapporte au domaine du stockage de données, notamment de données d'identité, sur un module électronique, et à la gestion de l'accès à ces données.

Le module peut prendre plusieurs formes. La forme choisie peut être indifféremment

- une mémoire apte à être couplée à un dispositif de traitement de données apte à gérer les données stockées dans la mémoire; une telle mémoire est par exemple une mémoire non volatile du type EEPROM, Flash-EPROM, etc. On trouve aujourd'hui des mémoires de ce type vendues par exemple sous le nom de clé USB (Universai Sériai Bus), ou de carte MMC (Multimedia Memory Gard).

- une mémoire incorporée à un dispositif de traitement de données; par exemple une carte à puce.

Etat de la technique

Les procédures actuelles de délivrance des cartes d'identité et des passeports ne sont pas suffisamment sécurisées. Des vols de titres vierges ont lieu chaque année. Des titres authentiques sont par ailleurs délivrés indûment sur la foi de faux certificats d'état civil ou à partir de vrais certificats usurpés. Cette fraude à l'identité sert à réaliser de multiples infractions ; immigration illégale, fraude aux allocations ou aux droits sanitaires et sociaux, escroqueries, grand banditisme. Le coût de telles fraudes se chiffre en centaines de millions d'euros par an.

Afin de lutter contre ce type de fraude, certains états envisagent de remplacer la carte d'identité au format papier par un module électronique stockant des données d'identité. La forme choisie par de nombreux états pour ce module est celle de la carte à puce. Cette carte stockerait non seulement

des données d'identités classiques telles qu'on tes trouve sur une carte d'identité traditionnelle au format papier, mais aussi des données d'identité complémentaires. Par exemple, les données d'identité classiques que l'état français prévoit de stocker sur cette carte sont le nom, le prénom, la date de naissance, le lieu de naissance, le sexe, l'adresse, la signature manuscrite s la préfecture ayant délivré la carte, le numéro de carte. Les données d'identité complémentaires incluront quant à elles

- des données relatives à un permis de conduire, une carte grise, une carte d'électeur,

- une photographie,

- des empreintes digitales numérisées,

- etc.

Cette carte stockera également des données d'ordre personnelles. Les informations personnelles, à la différence des données d'identité, sont des données non officielles mais liées au propriétaire de la carte à puce. Ces données personnelles peuvent être liées à l'environnement professionnel, commercial ou personnel du possesseur de la carte.

Les applications d'une telle carte d'identité électronique seront multiples à savoir la signature électronique, l'authentification, l'identification sur Internet, les applications de la vie courante telles que les transactions bancaires, le remplissage de formulaires en ligne, la substitution à d'autres papiers tels que ie permis de conduire.

Une pluralité d'entités aura accès au contenu de cette carte pour identifier un individu: Des administrations (gendarmerie, police, impôts, etc.), des commerçants, des fournisseurs de contenu via Internet, etc.

Le problème est qu'il n'existe pas de gestion d'accès au contenu de la carte apte à restreindre, pour une entité donnée, l'accès à un sous-ensemble de données stockées sur la carte. Par exemple, un commerçant ne devrait

avoir accès qu'aux données d'identité classiques et ne devrait pas être autorisé à accéder aux données d'ordre personnelles; De même, une administration devrait avoir accès à l'ensemble des données d'identités mais ne devrait pas nécessairement avoir accès aux données personnelles stockées sur la carte.

L'invention

La présente invention offre une solution qui ne présente pas ce problème.

A cet effet l'invention propose un procédé de gestion d'accès d'une entité à au moins une donnée stockée sur un module mémoire, caractérisé que l'accès est précédé d'une étape préalable d'attribution apte à attribuer à ladite au moins une donnée un niveau de droit d'accès que doit posséder ladite entité pour accéder à cette donnée; et en ce qu'il comprend une étape d'accès dans laquelle l'entité accède à ladite au moins une donnée à la condition qu'elle possède un niveau de droit d'accès suffisant.

On associe ainsi, à au moins une donnée stockée sur la carte, un niveau de droit d'accès que doit posséder une entité pour accéder à cette donnée. Il est donc possible de restreindre l'accès au contenu du module à un sous-ensembie de données.

Grâce à l'invention, on peut envisager de stocker sur un même module toute sorte de données, qu'elles soient utilisées

- à des fins d'identité en référence à la carte d'identité, le passeport, Ie permis de conduire

- ou à des fins professionnelles pour le stockage de droits d'accès à un site, etc.

- commerciale pour le stockage de profil client, etc;

- ou toutes autres applications nécessitant le stockage de données.

Selon un mode de réalisation de l'invention, l'attribution consiste à chiffrer ladite au moins une donnée au moyen d'une clé de chiffrement, et en ce que iors de l'étape d'accès, l'entité accède à ladite au moins une donnée à la condition qu'elle possède la clé de déchiffrement apte à déchiffrer le résultat du chiffrement de ladite au moins une donnée. Ainsi, une clé de chiffrement/déchiffrement est partagée entre le module et l'entité; l'accès à une donnée ne sera autorisé que si l'entité possède Ia clé apte à déchiffrer la donnée chiffrée.

Selon un mode particulier de l'invention, lorsque le module stocke au moins deux données (DT1 , DT2, ..., DTi+ 1 , DTi, ... DTn) associées à un niveau de droit d'accès respectif (N1 , N2, N3, Ni+1 , Ni, ..., Nn) , lesdits niveaux vérifiant la relation mathématique suivante

N1 c N2c ... c= Ni+1 c Nic ... c Nn (n≥ l ), chaque niveau (N1 , N2, N3,

Ni+1 , Ni, ... , Nn) étant associé à au moins une clé de chiffrement respective

(KI 1 (K1.K2), ...,{K1 , ...,KH-I) 1 (K1 ,...,Ki),...(K1 Kn) 5 le chiffrement d'une donnée DTi associée à un niveau de droit Ni comprend avantageusement une succession de chiffrement selon la relation suivante

R , = E [DTi] pour le chiffrement de la donnée d'ordre i

et la relation de récurrence suivante: R,^ = E X 1 [DT 1 ^R,],

- Frétant le résultat du chiffrement d'au moins la donnée DT, ;

- R ( _, étant le résultat du chiffrement d'au moins l'ensemble incluant Ia donnée DT 1-1 et le résultat du précédent chiffrement réalisé R, ;

- E Kl étant une fonction de chiffrement, l'indice indiquant la clé utilisée pour le chiffrement; et en ce que l'étape d'accès à ladite au moins une donnée DTi, DT 1-1 , ..., DT1 comprend une succession de déchiffrements des relations

précédentes au moyen de ladite au moins une clé de chiffrement associée au niveau Ni.

Cette caractéristique est intéressante car l'accès à une donnée DTi d'un niveau donnée "i" requiert ta connaissance d'au moins une clé. Plus le niveau de droit d'accès est élevé, plus le nombre de clés à connaître est important. L'accès à une donnée d'un niveau donné sera donc d'autant plus difficile que le niveau en question est élevé.

Selon un mode de réalisation de l'invention, lorsqu'une entité souhaite accéder à une donnée, cette entité indique i'ordre d'utilisation de la dite au moins une clé associée à un niveau pour la réalisation du déchiffrement, en ce que l'étape d'accès est précédée d'une étape de vérification de l'ordre d'utilisation indiqué, et en ce que le déchiffrement est réalisé si l'ordre est correct. Ainsi, si îe chiffrement d'une donnée DTi est réalisé au moyen d'une première clé K 1 et qu'ensuite le chiffrement de la donnée DT 1-1 est réalisé avec une deuxième clé K 1-1 et ainsi de suite, le déchiffrement consistera à utiliser ces clés dans un ordre inverse à celui qui a servi chiffrement; en l'espèce, il faut déchiffrer tout d'abord DT 1-1 avec K,_, et ensuite DTi au moyen de la clé

K, . De cette façon, même si un fraudeur a connaissance de l'ensemble des clés de chiffrement associées à un niveau de droit, celui-ci devrait connaître l'ordre d'utilisation de chacune des clés pour le déchiffrement. Cette caractéristique réduit les risques de fraude.

Dans un mode de réalisation particulier, le nombre de déchiffrements réalisés successivement est égal nombre de clés associé au niveau de droit d'accès associé à la donnée. Ainsi, une entité associée à un niveau de droit donné n'a pas la possibilité de tenter d'accéder à une donnée d'un niveau de droit supérieur au niveau donné. Ce procédé de chiffrement et déchiffrement est intéressant car il peut arriver qu'une même clé de chiffrement soit utilisée pour chiffrer deux données distinctes et que la clé en question soit liée à deux niveaux de droit d'accès différents. Par exemple une entité qui possède une

clé d'un niveau donné va accéder aux données de ce niveau. Mais rien n'empêche cette même entité de tenter d'accéder à d'autres données, associées à des niveaux de droit plus élevés, avec cette même cié, et pourquoi pas, même si la probabilité de réussite est faible, d'accéder à ces autres données.

Dans un mode de réalisation particulier, une seule et une unique clé est utilisée pour réaliser la succession de chiffrements. Selon ce mode particulier, lorsqu'une entité requiert l'accès à une donnée, il indique un nombre de déchiffrements successifs à réaliser pour accéder à cette donnée, et l'étape d'accès est précédée d'une étape de vérification du nombre indiqué, le déchiffrement d'une donnée étant réalisé si le nombre est correct. Grâce à la limitation du nombre de déchiffrements réalisés, le procédé demeure fiable même si une seule clé est utilisée lors de la succession de chiffrement.

L'invention a également pour objet le module électronique et l'entité participant au procédé.

Le module comprend

- des moyens de stockage apte à stocker au moins une donnée à laquelle est attribuée un niveau de droit d'accès respectif que doit posséder ladite entité pour accéder à cette donnée;

- des moyens de vérification aptes à vérifier qu'une entité souhaitant un accès à ladite au moins une donnée possède un niveau de droit suffisant.

- des moyens d'autorisation d'accès apte à autoriser l'accès à ladite au moins une donnée.

Comme on l'a vu précédemment dans un mode de réalisation, ladite au moins une donnée est chiffrée au moyen d'une clé de chiffrement; les moyens d'autorisation sont aptes à autoriser l'accès à ladite au moins une donnée à la condition que l'entité qui accède à ladite au moins une donnée possède la clé de déchiffrement apte à déchiffrer le résultat du chiffrement de ladite au moins une donnée.

Comme on l'a vu précédemment dans un mode de réalisation, le module peut stocker au moins deux données (DT1 , DT2, ..., DTi-H , DTi, ...DTn) associées à un niveau de droit d'accès respectif (N1 , N2, N3, ..... Ni+1 , Ni, ..., Nn) , lesdits niveaux vérifiant la relation mathématique suivante N1 cr N2c: .,. c Ni+1 c Nicz .., cNn (n≥ l ), chaque niveau (N1 , N2, N3, ..... Ni-M , Ni, ..., Nn) étant associé à au moins une clé de chiffrement respective

(K1 , (K1.K2), ...,(K1, ...,Ki+1), (K1 Ki),...(K1 Kn). Dans ce mode particulier, ledit module comprend

- des moyen de chiffrement aptes à chiffrer une donnée DTi associée à un niveau de droit Ni en réalisant une succession de chiffrement selon la relation suivante

R, = E Kl [DTi] pour le chiffrement de la donnée d'ordre i

et la relation de récurrence suivante R 1 ^ = E, [DT 1 ^R,],

- R ( étant le résultat du chiffrement d'au moins la donnée DT , ;

- R,_, étant le résultat du chiffrement d'au moins l'ensemble incluant la donnée DT M et le résultat du précédent chiffrement réalisé R ; ;

- E j1 ,, étant une fonction de chiffrement, l'indice indiquant la clé utilisée pour le chiffrement;

- des moyens de déchiffrement aptes à réaliser une succession de déchiffrements des relations précédentes au moyen de ladite au moins une clé de chiffrement associées au niveau Ni pour accéder à ladite au moins une donnée DTi, DT M , .... DTl

Comme on l'a vu précédemment dans un mode de réalisation, le module comprend des moyens pour limiter le nombre de déchiffrement au nombre de clé(s) associée(s) au niveau de droit d'une entité.

Le module comprend aussi

- des moyens de réception apte à recevoir, depuis une entité, l'ordre d'utilisation de Ia dite au moins une clé associée à un niveau pour la réalisation du déchiffrement d'une donnée,

- des moyens de vérification de l'ordre d'utilisation,

- des moyens aptes à activer le déchiffrement si l'ordre est correct. Comme on l'a vu précédemment, le module comprend aussi

- des moyens de réception d'un nombre de déchiffrement à réaliser

- des moyens aptes à vérifier le nombre reçu,

- des moyens aptes à activer le déchiffrement si le nombre est correct.

L'entité comprend des moyens de mémorisation apte à mémoriser au moins un niveau de droit d'accès associé à une donnée respective.

Dans un mode particulier, on a vu qu'un niveau est représenté par au moins une clé de chiffrement. Selon ce mode, l'entité comprend

- des moyens de stockage aptes à stocker au moins une clé associée à un niveau de droit donné,

- des moyens de transmission de ladite au moins une clé.

Dans un mode particulier, l'entité comprend des moyens d'indication aptes à indiquer i'ordre d'utilisation des clés.

Enfin, l'invention a pour objet le programme d'ordinateur apte à être mis en œuvre sur un module électronique tel que précédemment, ledit programme comprenant des instructions de code qui, lorsque le programme est exécuté réalise une étape d'autorisation d'accès à au moins une donnée en fonction du

niveau de droit d'accès que possède l'entité requérant un accès à ladite au moins une donnée.

L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. Sur ces figures, dans un souci de simplification de la description, les mêmes éléments portent les mêmes références.

Les figures: la figure 1 est une vue d'un système informatique sur ieque! peut s'appliquer l'invention.

La figure 2 illustre un exemple d'une récurrence dans le calcul du chiffrement d'une donnée.

Les figures 3, 4, et 5 sont des algorithmes illustrant les étapes de chiffrement et de déchiffrement en référence à l'exemple de réalisation de la figure 2.

La figure 6 est un exemple illustrant une généralisation de l'exemple illustré à la figure 2.

Description détaillée d'un exemple de réalisation illustrant l'invention

La figure 1 représente un système informatique SYS dans lequel l'invention peut être mise en œuvre.

Le système comprend un module mémoire stockant des données et au moins une entité apte à requérir un accès aux données.

Dans notre exemple de réalisation, ie module mémoire est une carte à puce (CP). Cette carte comprend un microcontrôleur incluant notamment un microprocesseur, des moyens de mémorisation MElvï pour le stockage de données, des moyens de chiffrement et de déchiffrement CHF de données.

io

Pour des raisons de simplification de la description ces moyens de chiffrement et de déchiffrement CHF portent Ia même référence.

Dans notre exemple de réalisation, une entité accède aux données stockées sur la carte au moyen d'un lecteur de carte LCT1 et LCT2 respectifs. La communication entre la carte CP et un lecteur est réalisée, par exemple, au moyen de contacts électriques (non représentés sur les figures).

Dans notre exemple, une entité correspond à une personne physique ou morale souhaitant accéder au contenu de la carte CP. Cette personne peut être une administration, un commerçant, etc. Dans la suite de la description, on admettra que l'entité désigne à la fois une personne mais aussi le dispositif de traitement de données (non représenté sur les figures) avec lequel la personne accède aux données stockées sur la carte. Ce dispositif est par exemple un ordinateur.

Sur la figure 2, à des fins de simplification de l'exposé de l'invention, nous limiterons dans un premier temps à trois ie nombre de données stockées sur la carte. Considérons dans cet exemple que deux entités, une première entité ENT1 et une deuxième ENT2, souhaitent accéder au contenu d'au moins une donnée.

Selon l'invention, l'accès à une donnée est autorisé si l'entité souhaitant accéder à la donnée stockée sur la carte possède un niveau de droit d'accès suffisant. A cet effet, la carte comprend des moyens de vérification aptes à vérifier qu'une entité souhaitant un accès à ladite au moins une donnée possède un niveau de droit suffisant, et des moyens d'autorisation d'accès apte à autoriser l'accès à ladite au moins une donnée.

De manière à restreindre l'accès à une partie des données DT1-DT3, dans notre exemple, chaque donnée est chiffrée au moyen d'au moins une clé de chiffrement. Considérons que les entités ENT1 et ENT2 possèdent un niveau de droit d'accès respectif N1 et N2. Dans notre exemple de réalisation, ce niveau de droit d'accès est représenté par au moins une clé de chiffrement.

1 ]

Un droit d'accès à une donnée nécessite donc la possession d'au moins une clé de chiffrement. Dans l'affirmative, les moyens d'autorisation autorise l'accès.

Le procédé de chiffrement peut prendre plusieurs formes illustrées par les deux variantes suivantes.

Selon une première variante du procédé de chiffrement, chaque donnée peut être chiffrée, par l'intermédiaire de moyens de chiffrement, par une clé de chiffrement respective. Par exemple, si chaque donnée DT1-DT3 est associée à un niveau de droits d'accès respectif N1 , N2, N3, une entité souhaitant accéder à l'une des données devra posséder la clé associée au niveau d'accès correspondant. Par exemple, si DT1 est chiffré avec une clé K1 , si DT2 est chiffré avec une clé K2, si DT3 est chiffré avec une clé K3, et qu'une entité souhaite accéder à tout ou partie des données DT1 , DT2, DT3, cette entité devra être en possession de la clé K1 , K2 ou K3 en fonction de fa donnée qu'elle souhaite accéder.

Selon une deuxième variante du procédé de déchiffrement, lorsqu'au moins deux niveaux, par exemple N1 et N2, sont tels que l'un est un sous ensemble de l'autre (N1 c N2), signifiant que le niveau N2 procure plus de droits que le niveau N1 , le procédé de chiffrement est avantageusement celui présenté dans la suite de la description en référence aux figures 2 et 3.

A noter que tes moyens de chiffrement ne sont pas nécessairement situés sur la carte. En effet, un dispositif externe (non représenté) à la carte peut réaliser le chiffrement. Par contre, le résultat du chiffrement est nécessairement stocké sur la carte.

Dans notre exemple, les moyens de déchiffrement sont sur la carte pour des raisons pratiques et des raisons de sécurité.

La figure 2 illustre un exemple d'un procédé illustrant la gestion de l'accès aux données DT1-DT3. Dans cet exemple, on suppose que les trois données DT1-DT3 soient associées à trois niveaux de droit respectifs N1-N3

tels que N3 est un sous-ensemble de N2 qui lui-même est un sous ensemble de N1. Les trois niveaux N1 , N2, N3 vérifient donc la relation d'inclusion suivante:

N1 c N2 c N3, signifiant que le niveau N3 procure plus de droit que le niveau N2 et que ie niveau N2 procure plus de droits que le niveau N1.

L'opérateur c désigne l'opérateur d'inclusion.

A noter que, dans la présente description, le terme "donnée" n'est pas limité à une seule valeur. Au contraire le terme "donnée" peut inclure une pluralité d'information. Par exemple, une donnée "d'identité" peut comprendre, le nom, le prénom, le sexe, la date de naissance, etc.

Les différentes étapes du procédé sont illustrées en référence aux figures 3, 4 et 5.

Le chiffrement des données comprend une première étape ET1 préalable, dans laquelle on associe à chaque donnée DT1-DT3 un niveau de droit d'accès. L'entité comprend des moyens de mémorisation aptes à mémoriser au moins un niveau de droit d'accès associé à une donnée respective. Dans notre exemple de réalisation, cette première étape d'identification est réalisée préalablement au chargement des données dans la carte par une personne habilitée, par exemple le possesseur de !a carte ou une administration.

Dans notre exemple, un niveau de droit d'accès est représenté par au moins une clé de chiffrement. Dans la suite de la description, à des fins de simplification de la description, on admettra que Ki (i≈1 , n) désigne aussi bien une clé de chiffrement que la clé de déchiffrement respective. Ainsi, avec cette terminologie, Kn permet de chiffrer une donnée et de déchiffrer la donnée chiffrée qui résulte de ce chiffrement.

Dans notre exemple,

la donnée DT1 est accessible à condition d'avoir un niveau d'accès N1 , et donc d'être en possession de (a clé de chiffrement Kl

Ia donnée DT2 est accessible à condition d'avoir un niveau d'accès N2, et donc d'être en possession des clés de chiffrement K1 et K2; la donnée DT3 est accessible à condition d'avoir un niveau d'accès N3, et donc d'être en possession des clés de chiffrement K1 , K2, K3.

Lors d'une deuxième étape ET2, les données DT1-DT3 sont chiffrées. Dans notre exemple de réalisation, cette deuxième étape de chiffrement est réalisée soit par un organisme habilité à écrire des données sur la carte soit au moyen d'un programme stocké sur la carte apte à prendre en compte pour chaque donnée le niveau de droit d'accès et de réaliser un chiffrement selon les phases de chiffrement suivantes PH 1 à PH5.

Lors d'une première phase préalable PH1 , on identifie parmi les données celle(s) associée(s) au niveau plus élevé de droit; dans notre exemple, la donnée DT3 est associée au niveau le plus élevé N3.

Lors d'une deuxième phase PH2, dans notre exemple, la donnée DT3 étant celle qui requiert le niveau d'accès le plus élevé, cette donnée DT3 est chiffrée au moyen de la clé K3. Le résultat du chiffrement est

R 3 = E n (DT 3 )

Lors d'une troisième phase PH3, on identifie parmi les données restantes DT2 et DT1 , la donnée associée au niveau de droit directement inférieur au niveau N3. Dans notre exemple, DT2 correspond à cette donnée.

Lors d'une quatrième phase PH4, la donnée DT2 est chiffrée; le chiffrement consiste à chiffrer à la fois la donnée DT2 associée au niveau

d'accès K2 et le résultat du chiffrement précédent R 3 opéré à la deuxième phase PH2. Le résultat R K2 de ce chiffrement est

R 2 = E ^ <DT2, R 3 )

Lors d'une cinquième phase PH5, on identifie parmi les données restantes la donnée associée au niveau de droit directement inférieur au niveau N2. Dans notre exempte, DT1 correspond à cette donnée. Le chiffrement de DT1 consiste à chiffrer à la fois la donnée DT1 et le résultat du chiffrement précédent R 2 opéré à la quatrième phase PH4 par la cié K2. Le résultat R 1 de ce chiffrement est

R, = E ^ 1 (DTI , R 2 ).

A ce stade du procédé, les données DT1-DT3 sont chiffrées et mémorisées sur la carte.

Selon l'invention, les données chiffrées sont accessibles uniquement par les entités qui possèdent les niveaux de droit requis.

Lors d'une troisième étape ET3, les données chiffrées sont déchiffrées sur requête d'une entité.

Afin d'illustrer les phases de déchiffrement, considérons maintenant que ies deux entités ENT1 et ENT2, par exemple une administration et un commerçant, respectivement, souhaitent accéder aux données stockées sur la carte. Considérons que fa première entité à un niveau de droit N3 lut permettant d'accéder à l'ensemble des données DT1-DT3 et que la deuxième entité a un niveau de droit N1 limité aux données DT1 qui correspondent, par exemple, à des données d'identité telles qu'on les trouve sur une carte d'identité classique au format papier. Ces données d'identité sont par exemple utilisées par un commerçant pour prouver l'identité du client lorsque celui-ci effectue, par exemple, un paiement par chèque.

Dans notre exemple, la première entité ENT1 est en possession des trois clés de déchiffrement K1 , K2, K3 pour accéder à l'ensemble des données

DT1-DT3 et que la deuxième entité ENT2 est en possession d'une seule clé, à savoir K1 associée aux données DT1.

Un autre exemple pourrait consister à ne stocker aucune clé sur une entité. L'accès d'une entité au contenu de la carte consisterait alors en une authentification de l'entité par la carte, par exemple au moyen d'une empreinte biométrique. Cette authentification permet à la carte de connaître le niveau de droit d'accès associé à cette entité. Dans cet exemple, le fait que les entités n'aient pas connaissance des clés réduit les risques de fraude.

Dans notre exemple de réalisation, l'entité a connaissance de son niveau de droit d'accès et des clés associées à ce niveau. Dans notre exemple, le procédé de déchiffrement relatif à la première entité ENT1 comprend plusieurs phases PH6 à PH10. Le déchiffrement est réalisé par des moyens de déchiffrement. Ces différentes phases de déchiffrement font suite, directement ou indirectement, au procédé de chiffrement décrit ci-dessus.

Lors d'une sixième phase PH6, dans notre exemple, la carte CP est insérée dans le lecteur LCT1 ; et la première entité ENT 1 requiert un accès aux données stockées sur la carte.

Lors d'une septième phase PH7, la requête initiée par Ia première entité est transmise à la carte. Dans notre exemple de réalisation, la requête comprend un identifiant de la première entité. Dans notre exemple, l'identifiant est représenté par les clés de chiffrement K1-K3 correspondants à ce niveau de droit que possède la première entité. La requête comprend éventuellement, ie nom des données DT1-DT3 que la première entité souhaite accéder; néanmoins, le nom des données n'est pas nécessaire car les clés à elle seules permettraient d'identifier les données auxquelles ia première entité aura accès.

A noter que cette phase PH7 n'est pas nécessaire lorsque l'entité ne stocke aucune clé de chiffrement et que toutes les clés de chiffrement ne sont connues que de la carte. Dans ce cas, une authentification suffit pour obtenir l'identité de l'entité et déduire son niveau de droit d'accès.

Lors d'une huitième phase PH8, éventuellement après avoir authentifié la première entité et en fonction du niveau de droit associé à cette première entité, la carte réalise un déchiffrement des données correspondant à ce niveau de droit au moyen des clés K1 à K3.

De préférence, dans notre exemple de réalisation, le nombre d'opérations de déchiffrement à réaliser est limité au nombre de clés associées au niveau de droit d'une entité. Ainsi, dans notre exemple, comme la première entité est associé au niveau N3 et qu'à ce niveau correspond trois clés, le nombre d'opération de déchiffrements est limité à trois pour !a première entité.

Lors d'une neuvième phase PH9, on sélectionne parmi les trois clés K1~ K3 celle ayant servi au chiffrement de DT1 , à savoir K1 . Le déchiffrement débutera alors avec cette clé.

Lors d'une dixième PH10, la carte déchiffre le résultat obtenu lors de la cinquième phase définie ci-dessus, à savoir:

R 1 = E Jf1 (DTI , R 2 ) avec la clé de déchiffrement K1 et obtient à la fois la donnée DT1 ainsi que le résultat du chiffrement par la clé K2 à savoir R 2 ≈ E O (DT2, R 3 ). A ce stade, la première entité ENT1 peut lire la donnée DT1 et ie résultat R 2 , mais n'a encore accès ni à DT2 ni à DT3.

Ensuite, on sélectionne parmi les trois clés K1-K3 celle ayant servi au chiffrement de DT2, à savoir K2, Une deuxième opération de déchiffrement est effectuée et consiste à déchiffrer R 2 avec la clé K2. Le résultat de ce déchiffrement permet d'obtenir la donnée DT2 et le résultat R 3 = E (DT 3 ).

A ce stade, la première entité ENT1 peut lire les données DT1 et DT2, DT3 étant sous forme chiffrée. la première entité ENT1 détient une troisième et dernière clé, à savoir K3; Dans notre exemple, une dernière opération de déchiffrement est effectuée avec la cié K3. Le résultat de cette opération permet d'obtenir DT3.

A ce stade la première entité ENT1 a accès aux les trois données DT1 à DT3.

Si l'entité est la deuxième entité ENT2, le procédé de déchiffrement est différent. En effet, comme nous l'avons indiqué précédemment, le commerçant est associé à un niveau de droit d'accès plus réduit N1 , niveau N1 auquel correspond une seule clé à savoir K1.

Lorsque îa deuxième entité ENT2 accède aux données stockées sur la carte, les phases de déchiffrement diffèrent:

La sixième phase PH6 est la même que celle définie précédemment.

Lors d'une septième phase PH7, la requête initiée par deuxième entité ENT2 est transmise à la carte. Dans notre exemple de réalisation, la requête comprend un identifiant de la seconde entité. Dans notre exemple, l'identifiant est représenté par la clé de chiffrement K1 correspondant au niveau de droit N1. La requête comprend éventuellement, le nom de la donnée DT1 que la seconde entité souhaite accéder; néanmoins, le nom des données n'est pas nécessaire car la clé K1 à elle seule permettrait d'identifier ia donnée à laquelle la deuxième entité ENT2 aura accès.

La huitième phase PH8 reste inchangée.

La neuvième phase PH9 est supprimée car n'a plus lieu d'être.

Lors de la dixième phase PH10, la carte déchiffre le résultat obtenu lors de la cinquième phase définie ci-dessus, à savoir:

R 1 = E J0 (DTI , R 2 ), avec la clé de déchiffrement K1. Le résultat de ce déchiffrement permet d'obtenir la donnée DT1 et la donnée chiffrée R , résultat de la quatrième phase définie ci-dessus.

La deuxième entité ENT2 n'a pas d'autres droits. Les phases de déchiffrement sont terminées. Contrairement aux phases de chiffrement relatives à la première entité, les phases suivantes n'ont donc pas lieu.

De préférence, comme nous l'avons indiqué ci-dessus, ie nombre d'opérations de déchiffrements à réaliser est limité au nombre de ciés associées au niveau de droit de l'entité. Ainsi, pour la deuxième entité ENT2, le nombre d'opération de déchiffrement est limité à un.

A cet effet, la carte comprend un moyen apte à comptabiliser pour un niveau de droit d'accès donné le nombre de clés associées, par exemple au moyen d'un compteur; et à réaliser un nombre de déchiffrement égale au nombre de clés en question.

La carte pourrait aussi comprendre des moyens aptes à inhiber la fonction de déchiffrement lorsque la limite dans le nombre de déchiffrements est atteinte.

Plus généralement, en référence à la figure 6, considérons que la carte stocke n données (DT1 S DT2, .... DTi+1 , DTi, ...DTn), n étant un nombre entier quelconque. Considérons que ces n données soient associées à un niveau de droit respectif (N1, N2, N3, NH-1 , Ni, ..., Nn). Considérons que les différents niveaux vérifient la relation mathématique suivante N1 c N2c ... c: Ni+1 c Htc ... c Nn (n ≥ î ) en ce sens qu'un niveau Ni-1 inclut dans un niveau Ni a moins de droit que ce niveau Ni (i étant entier supérieur à 1). Considérons que chaque niveau (N1 , N2, N3, ...., Ni+1 , Ni, ,.., Nn) soit associé à au moins une clé de chiffrement respective (K1, (K1.K2), ...,(K1 , ...,Ki+1) l (K1 ,...,Ki),...(K1 ,..., Ki,..., Kn).

Le chiffrement d'une donnée DTi associée à un niveau de droit Ni comprend une succession de chiffrements selon la relation suivante

R 1 = E J0 [DTi) pour le chiffrement de la donnée d'ordre i

et la relation de récurrence suivante R M = E , [DT^R 1 ],

- R, étant le résultat du chiffrement d'au moins la donnée DT, ;

- R M étant le résultat du chiffrement d'au moins l'ensemble incluant Ia donnée DT,_, et le résultat du précédent chiffrement réalisé R ( ;

- E p étant une fonction de chiffrement, l'indice K, indiquant la cié utilisée pour le chiffrement;

A noter que la fonction de chiffrement E K) peut être différente à chaque phase de chiffrement.

Les deux relations qui précèdent incluent des paramètres entre crochets, à savoir [DTi] et [DTi, R 1+1 ]. Dans notre exemple, les crochets indiquent les données pertinentes prises en compte lors du chiffrement à savoir respectivement les données DTi et l'ensemble lié à la récurrence (DTi, Ri). A des fins de simplification de l'exposé de l'invention, les données non pertinentes, par exemple des données constantes ne sont pas indiquées dans ces crochets. Une autre écriture des relations précédentes pourrait être:

R, = E ^ [ϋTi,Ci] pour le chiffrement de la donnée d'ordre i

et la relation de récurrence suivante

R H = E,jDî:,,J!,,ς,],

C, et C 1-1 désignant des données constantes prises en compte pour obtenir le résultat Ri et R,_, , respectivement.

A noter qu'une clé Ki peut comprendre un ensemble de clés w1 à wj (j étant un nombre entier quelconque).

Dans ce cas général, l'étape d'accès à une donnée DTi comprend une succession de déchiffrements des relations précédentes. Cette étape d'accès aux données DT1 à DTi nécessite la possession de la clé Ki d'ordre i ainsi que des clés (K1 , K2, K3, ..., K 1-1 ) permettant l'accès aux données associées aux niveaux de droit inférieurs (N 1 , ... ,Ni-1) au niveau Ni. L'accès à la donnée

d'ordre "i" DTi consiste en une pluralité de déchiffrements successifs des résultats obtenus lors du chiffrement, à commencer par le résultat R1 obtenu par la clé K1 , et ainsi se suite jusqu'à R, obtenu par la clé Ki respective.

On a vu précédemment, en référence à la figure 2 que le nombre d'opérations de déchiffrement à réaliser est limité au nombre de clés associées au niveau de droit d'une entité. A cet effet, des moyens de limitation stockés sur la carte ont pour fonction de limiter le nombre de déchiffrement(s) au nombre de clé(s) associée(s) au niveau de droit d'une entité.

Selon une première variante, lorsqu'une entité souhaite accéder à une donnée, cette entité indique i'ordre d'utilisation de la dite au moins une clé associée à un niveau pour la réalisation d'un déchiffrement. Par exemple f'accès à une donnée DTi nécessite la possession des clés (Ki,..., K1) et la connaissance de l'ordre d'utilisation des clés. Dans notre exemple, l'ordre d'utilisation des clés pour le déchiffrement est l'ordre inverse de celui qui a servi au chiffrement. A cet effet, l'entité comprend des moyens de stockage aptes à stocker au moins une clé associée à un niveau de droit donné des moyens de transmission de ladite au moins une clé. la carte comprend quant à elle

- des moyens de réception apte à recevoir, depuis une entité, l'ordre d'utilisation de la dite au moins une clé associée à un niveau pour la réalisation du déchiffrement d'une donnée,

- des moyens de vérification de ['ordre d'utilisation,

- des moyens aptes à activer le déchiffrement si l'ordre est correct.

Corrélativement, dans notre exemple, l'entité comprend des moyens d'indication aptes à indiquer l'ordre d'utilisation des clés.

Seion une deuxième variante, une seule et une unique clé est utilisée lors de la succession de chiffrements. Selon ce mode particulier, lorsqu'une

entité requiert l'accès à une donnée, cette entité indique un nombre de déchiffrement(s) à réaliser pour accéder à cette donnée, l'étape d'accès étant précédée d'une étape de vérification du nombre indiqué, le déchiffrement d'une donnée étant réalisé si îe nombre indiqué est correct. Par exemple, dans i'exemple illustrant la figure 2, la première entité indique à la carte que trois déchiffrements successifs doivent être réalisés pour avoir accès aux données D1 à D3. La carte vérifie ce nombre et autorise l'accès si le nombre est correct. Pour cela, la carte stocke au préalable une table incluant, pour au moins une donnée, le nombre de déchiffrements à réaliser. A cet effet, le module comprend

- des moyens de réception d'un nombre de déchiffrements à réaliser,

- des moyens de vérifications aptes à vérifier le nombre reçu,

- des moyens aptes à activer le déchiffrement si le nombre est correct.

A noter que les différents moyens de vérification peuvent indifféremment être inclus dans un seul et unique moyen de vérification, ou être séparés les uns des autres.

Dans un mode de réalisation particulier, la première variante est appliquée à un sous ensemble de donnée et la deuxième variante est appliquée à un autre sous ensemble de données.

Afin d'améliorer la sécurité des informations lors des échanges entre la carte et le lecteur, les données sont chiffrées au moyen d'un algorithme de chiffrement. Dans notre exemple l'algorithme est de type symétrique. Avec ce type d'algorithme, plus la longueur (nombre de bits) de la cié secrète est grande plus l'algorithme est résistant face aux attaques. La tendance actuelle est donc d'augmenter Ia longueur. Or, augmenter la tailie des clés à pour conséquence d'augmenter le temps de caicul du chiffrement et du déchiffrement d'une donnée. Pour pallier c'est inconvénient, une solution d'amélioration de cette résistance des clés est la suivante: la carte et le lecteur stocke un même tableau comprenant les mêmes valeurs de clés. Dans ce

tableau, à une clé correspond un index respectif. Dans notre exemple, le procédé de transmission est le suivant:

- la carte calcule aléatoirement un index;

- la carte chiffre la donnée à transmettre avec fa cié associée à cet index;

- la carte transmet la donnée chiffrée et l'index calculé à l'entité qui a initié un accès à cette donnée;

- l'entité reçoit la donnée chiffrée et ['index;

- l'entité déduit la clé associée grâce à l'index reçu;

- l'entité déchiffre la donnée chiffrée au moyen de la clé déduite.

Dans notre exemple, le message transmis depuis la carte vers Ie l'entité comprend avantageusement une information, par exemple un bit, indiquant que le message comprend des données chiffrées et que son accès nécessitera un déchiffrement.

Avantageusement, l'organisation de la mémoire se base sur une partition de la mémoire en au moins un dossier. Dans notre exemple de réalisation, 4 dossiers sont créés à savoir : un dossier Officiel, un dossier Professionnel, un dossier Commercial un dossier personnel. Dans notre exemple, un dossier comprend au moins une application.

Le nombre de dossier peut être plus ou moins importants; l'utilisateur peut, à souhait, ajouter des dossiers ou applications; il peut également en supprimer.

Considérons, par exemple, le dossier "officiel". Considérons que ce dossier "officiel" contienne une application APP1 incluant des informations relatives au permis de conduire. L'application APP1 comprend à cet effet plusieurs champs associés à un niveau de droit respectif. Par exemple considérons que l'application APP1 comprenne les champs apparaissant dans Ie tableau représenté ci-dessous et qu'à chaque champ est associé un niveau de droit respectif N1 , N2, ou N3 vérifiant la relation d'inclusion suivante : N1 c N2c N3

Dans cet exemple, la donnée DT1 est

Nom

Prénoms

Date de validité

L'accès à cette donnée DT1 nécessite la possession de la clé K1. De Ia même façon, la donnée DT2 est

Adresse

Ville

Photo titulaire

L'accès à cette donnée DT2 nécessite la possession des clés K2 et K1. De ia même façon, la donnée DT3 est

Date de naissance

Lieu de naissance

Pays de naissance

Sceau de l'autorité

Date de délivrance

L'accès à cette donnée DT3 nécessite Ia possession des clés K1 , K2 et

K3.

Ainsi, un niveau de droit d'accès N3 autorisera la lecture des données DT1 , DT2 et DT3 au moyen des clés K1 , K2 et K3, un niveau de droit d'accès N2 autorisera la lecture de DT1 et DT2 au moyen de KI et K2; et enfin le niveau de droit d'accès N1 autorisera la lecture de DT1 au moyen de la clé K1.

A noter que l'invention se rapporte à un procédé de gestion d'accès d'une entité à au moins une donnée stockée sur un module mémoire. L'expression "une entité" ne limite pas l'utilisation de l'invention à une seule entité; bien au contraire, l'invention s'applique à toutes entités aptes à communiquer avec la carte.