Brevet FR2730331A1 — publié le 19960809

BREVET : CARTE DE SANTE La présente invention concerne une carte de santé résultant de la combinaison d'une puce et d'une car'e dotée d'une mémoire ce grande capac@té, une carte optique par exemple. est souhaitable de permettre à toute personne de porter sur soi une carte de santé comportant une information précise et complète concernant ses antécédents médicaux, les traitements qu'elle doit suivre ainsi que ses traitements antérieurs Il est du plus haut intérêt qu'un médecin traitant puisse retrouver es radiographies ou es photographies des images obtenues au cours de l'existence ou porteur de la carte. Par ailleurs, il est absolument indispensable que cette carte reste confidentielle et qu'elle comporte un code personnel c'entrée Pour permettre l'insertion d'informations telles que les radiographies et les images scanner, La carte ce lecture doit pouvoir disposer d'une mémoire très importante, de plus de 2 MO de données soit l'équivalent d'un millier de pages ce texte. On choisira donc une carte à mémoire optique numérique telle par exemple qu'une carte optique de dimension standard. Pour assurer le secret ou contenu de la carte, on associe matériellement à cette carte une puce offrant une mémoire de 2 ko à Ai ko sur laquelle on inscrit le code. Pour permettre de lire le contenu de la carte, celle-ci et sa puce sont insérées dans un r. dule spécial de lecture. Il faut alors vérifier en premier l@eu que ce module de lecture est autorisé à lire le contenu de la carte. Il existe de nombreux moyens, plus ou moins sophistiqués de procéder à cette reconnaissance. Le plus simple d'entre eux consiste à doter le module de lecture d'un clavier, d'un comparateur et d'une puce de sécurisation. Pour accéder au contenu de la carte, le détenteur du module de lecture doit composer, sur son clavier, le code secret qui vient s'inscrire sur le côté droit du comparateur, tandis que le contact de la puce avec le module de lecture fait apparaître ie code secret sur la gauche du comparateur. Si l'inscription sur les deux cotés du comparateur est exactement la même, le comparateur n'émet aucun courant et autorise ainsi la lecture des données figurant sur la carte optique. Il y a lieu de noter que l'inscription répétée en clair du code secret au moyen du clavier, rend ce code accessible au public et par conséquent 11 peut être pirate à tout instant. Par ailleurs, la carte peut être perdue ou volée ; si elle tombe alors entre les mains d'un expert en la matière, celui-ci peut arriver à reconstituer le code d'identification. On voit que le procédé décrit ci-dessus est absolument insuffisant pour assurer le secret du contenu de la carte optique. En conclusion dans le procédé décrit ci-dessus, le principal défaut réside dans l'obligation de faire apparaitre en clair le code secret à chaste utilisation de la carte. Une première amélioration en vue de la conservation du secret va donc consister à ne pas faire apparaître ouvertement le code secret au moment de la reconnaissance. A cette fin, on introduit dans l'échange d'information entre la puce de la carte optique et le module de lecture de la carte, un système ce cryptage et un protocole d'identification au cours duquel le code secret de reconnaissance n'apparaît que comme le composant d'une variable aléatoire auxiliaire. La puce est alors dotee d'un génerateur aléatoire, d'une cellule de calcul arithmétique, d'un registre à décalage muni d'un câblage interne spécifique. S'agissant d'une carte de santé, ta carte et la puce sont détenues car e malade tandis que le module de lecture est entre les mains du médecin. Au module de lecture est couplée une puce dotée des mêmes éléments que la puce associée à la carte optique.Il va de soi que les différents systèmes destinés à lire les cartes sécurisées devront être au préalable initialisées avec les différents codes secrets Le câblage de la cellule de calculs de la puce ce sécurisation de la carte optique réalise une onction de cryptage du type E (P) = C Le récepteur, le module de lecture de la carte optique, en l'occurrence est doté d'une fonction ce rit- cage D (C) = P Les fonctions de cryptage généralement utilisées sont de la forme : E (X) =Xe mod N ou E X) est le plus petit reste de la division de Xe par le nombre N. Pour assurer un secret plus certain, les valeurs de X et N ont une taille 512 bits au minimum. Dans e ras présent, i a été ugé suffisant e = 2 de sorte que E (X) =X2 mod N Parmi les protocoles d'identification possibles mettant en oeuvre une telle variable, nous choisissons l'algorithme de Wayner Lorsque la puce de sécurisation associée à la carte optique est introduite dans le module de lecture, un contact électrioue entre la puce et e module assure l'alimentation de la puce et le processus d'identification du mececin sans transmission du code secret suivant l'algorithme de Wayner peut commencer. Ce processus comprend au moins 9 opérations successives les unes effectuées par la ouce de sécurisation ce a carte optique, les autres par le module de lecture du médecin et par sa propre puce . Dès que le courant électrique est établi, le générateur aléatoire de la puce génère deux variables aléatoires X et &gamma;. Ces deux variables sont reliées par une fonction de cryptage câblée dans la puce &gamma; = W2 mod X où W est le code secret du médecin. A priori, entre ces deux variables X et &gamma;, la probabilité que W soit connu est nuile si les 2 nombres X etV ont des valeurs très élevées et sont premiers entre eux. Le module de lecture du médecin génère alors une variable aléatoire u telle que la valeur de u soit choisie parmi les nombres premiers avec la valeur deux. Il existe alors une certaine probabilité que cette valeur soit la valeur W ou tout au moins qu'elle s'en rapproche. Mais cette probabi@ité est faible. On va donc réiterer l'opération Jusqu'à ce que la probabilité atteigne @ne valeur acceptable prédéterminée. Si la sécurité a stte@nt maintenant le seuil requis, l'opération est terminée et l'on peut envisager de faire procéder à la suite des opérations. Si au contraire, le seu@@ de sécurité et la probabilité requise ne sont pas atteints, le processus va recommencer. En conclusion, on vient de voir que ce protocole de reconnaissance ne révèle pas du tout le coce secret W. Il permet au porteur de la carte optique le malade@ de s'assurer discrétement que le médecin, détenteur du mode de lecture est habilité à le soigner. Mais cette operation n'a pas permis au médecin de s'assurer que la carte présentée par le malade est bien sa carte propre. Cependant cette vérification n'est pas toujours nécessaire lorsque le malade voit son médecin pour la première fois, il n'a pas encore de carte de lecture et le médecin va participer à @a création de cel@e-ci. De même lorsque le malade reviendra consulter son médecin, il sera reconnu par le médecin et en général ce médecin n'aura pas besoin de s 'assurer que la carte de lecture présentée est bien celle du malade. Cependant lorsque ce malade est reçu dans un cabinet habituel par un médecin diffèrent, il sera nécessaire au médecin de s'assurer que le consultant est bien le client habituel. ce problème sera résolu très simplement en associant son dossier administratif en mémoire à la puce de sécurité. Ce dossier comportera une photographie d'identité du malade. A chaque demande d'identification du malade le dossier administratif du patient sera transmis au médecin qui pourra reconnaître son client par affichage de cette photographie d'identité sur son écran. Le texte de la carte optique est crypté L'algorithme cryptographique de chiffrement mis en oeuvre combinerait les méthodes de transposition et de substitution cryptographiques classiques : le texte de la carte optique pourrait alors être découpé en tranches de 64 bits (8 octets) du texte clair et soumis à 16 itérations d'une fonction principale de codage pour produire 64 bits de texte codé. En fait la sécurité du codage reposerait exclusivement sur une clef de chiffrement personnelle de 56 bits détenue par la puce de la carte du malade. De sorte que cette clef serait unique et elle assurerait aussi bien le secret du codage que du décodage. De sorte que toute personne ne détenant pas cette clef serait incapable de ire meme partiellement le contenu de la carte. Il est d'ailleurs souhaitable dans certanins cas de modifier assez fréquemment sa clef. Le module du médecin est alors en mesure de lire en clair le contenu e la carte optique ou malade On peut considérer que les échanges d'information entre la carte du malade er le module ce lecture sont réalisés tans des conditions de secret tout à fait satisfaisantes. - L'invention sera peut-être mieux comprise en se raportant aux figures jointes dans lesquelles : la figure 1 est un schéma de l'ensemble des éléments qui coopèrent la figure 2 est un schéma décrivant le déroulement de l'algorithme de Wayner. A la figure 1, sur la gauche on fait apparaître an @l' la puce d'identification de la carte optique. En (2), la carte optique cotée d'une mémoire de 2 à 4 Moctets. Sur la droite de la figure en (3,, on a représenté la puce portee par le module du médecin. En (4), on a fait apparaitre le module du médecin proprement oit, tandis que l'on fait figurer au milieu de la figure, la partie active du module e lecture. Lorsque la carte optique dotée de sa puce est enfoncée dans la fente du module de lecture, ce dernier alimente en courant électrique la a carte (2) et sa puce (1) par un couplage électromagnétique (5) . La puce (i) alimentée en courant, transmet son information par l'intermédiaire d'une diode électroluminescente (6).Cette information captée par une cellule photoélectrique (7) transmet l'information à la puce (3) du mooule de lecture ou médecin par la diode (8) C'est donc par cette voie que s'effectue la procédure de reconnaissance, c'est à dire l'identification du médecin casée sur la clef codée secrète W. Ces opérations aboutissent à a transmission au médecin de la clef secrète personnelle ou chiffrement de la carte optique. C'est donc le bloc logique (9) et la minuterie (10) qui vont permettre au module (4) de procéder à la lecture du contenu de la carte optique (2) en passant par les couplages optiques (11) et (12) La figure (2) représente un schéma e l'algorithme de Wayner qui nous permettra ce procéder à une reconnaissance mutuelle d'un même code stocké, d'une part dans la puce de sécurité de la carte de lecture et d'autre part dans la puce du module du médecin ou dans tour autre système d'accès aux données de la terre de lecture. 1 est évident que si le code stocké dans la puce est différent du code stocké dans le module, la reconnaissance n'aura pas lieu. Soit W est le code secret du médecin, la puce génère deux variables pseudo-aléatoires X etZ ; telles que ces deux variacias sont réunies par ia relation &gamma; = W2 Mod X Dès lors, les opérations de l'algorithme vont se succéder 21 - La puce transmet ces deux nomoresX et &gamma; ou module de lecture. 22 - Le module de lecture te module choisi@ aléatoirement une valeur u prise dans l'ensemble des nombres premiers avec u et calcula une fonction aléatoire Z = u2 mod X et transmet cette valeur z à la puce 23 - La puce > de la carte Un générateur aléatoire est associé à la carte optique (et à la puce) Si e générateur aléatoire délivre un zéro, ce zéro sera transmis au module de lecture. 24 - Le module de lecture En réponse au zéro, le module de lecture transmet la valeur de u qu'il a utilisé dans le calcul précédent à la carte du malade. 25 - La @ puce de la carte elle calcule Z = u2 mod X Elle vérifie ainsi que le module de lecture a bien réalisé l'opération de codage Z = u2 mod X et il confirme que u est la racine carte de z . I1 en déduit qu'il y a déjà une certaine probabilité que le module de lecture soit seul autorisé à ire la carte ce qui diminue d'autant la probabilité d'un désaccord. Et il retourne vers le générateur pour qu'il lui délivre un zéro ou un 1. 26 - Si le générateur délivre un 1 ta puce transmet ie ~ au module de lecture 27 - Le module de lecture de la carte va alors utiliser e code secret 'w' dans un produit V = uw mod X Le seul élément qui apparaît est donc v , c'est à cire le plus petit reste de la division du produit uw par X. De la seule valeur v , il n'est pas possible de déduire l'expression de w (256 octets ou plus). 28 - La puce de la carte doit vérifier par certaines opérations, que le module de lecture a bien utilisé l'expression du code secret w. Elle calcule la valeur de :z&gamma; mod X tant donné que &gamma; = w2 modX et que z = @2 modX et que z &gamma; = (uw)@ mod X on en deduit par v = uw modX que v2 = z &gamma; Compte tenu du résultat précédent, on déduit qu'il existe une certaine probabilité que la clef secrète utilisée est réellement la bonne si l'on estime que la probabilité est encore insuffisante, on va recommencer une nouvelle séquence des opérations. 'emploi de la carte conforme à la présente demande est aussi simple que l'emploi des cartes actuelles. En effet lorsque l'on introduit la carte dans le module de lecture, la reconnaissance du code secret connu se fait automatiquement ; il en est de même de ia détermination d'un numéro du porteur de la carte. Arrivé à ce stade, la carte va transmettre au module le code secret confidentiel de 56 bits et par conséquent le module peut lire le contenu de la carte. REVENDICATIONS: 1 - Procédé permettant d'échanger directement des informations entre un module de lecture et une carte dotée d'une mémoire de très grande capacité, ces informations étant cryptées au moyen d'un algorithme de codage, caractérisé en ce qu'après une identification mutuelle opérée sans échanger de code secret entre la carte et le module de lecture et après une vérification de l'identité de leurs codes cryptés respectifs, la carte transmet secrètement au module de lecture sa clé personnelle de codage et de décodage de sorte que le module de lecture peut iire désormais en clair les données mémorisées dans la carte et y inscrire éventuellement sous forme codée de nouvelles informations avec la même clé de codage. 2 - Procédé selon la revendication 1 assurant la reconnaissance du module de lecture par la carte possédant une mémoire de grande capacité grâce à une clé secrète stockée dans une "puce" liée à la carte et dans une puce liée au module de lecture, caractérisé en ce que la reconnaissance s'effectue sans transmission de ladite clé secrète. 3 - Dispositif pour la mise en oeuvre du procédé selon une des revendications 1 et 2, dans lequel la carte offrant une mémoire de grande capacité et le module de lecture sont dotés d'une "puce", caractérisé en ce que la puce de la carte comporte un générateur aléatoire, un élément de calcul arithmétique, un élément de comparaison et un élément entraînant la mise en route d'une séquence d'opérations de reconnaissance effectuées sans rendre publique cette clé commune. 4 - Dispositif selon la revendication 3, caractérisé en ce que la carte dotée d'une mémoire de très grande capacité est dotée d'une "puce" munie d'une mémoire de l'ordre de 4 K.octets, contenant la clé personnelle de 56 bits verrouillant ledit code principal et en ce qu'une deuxième "puce" couplée au module de lecture contient l'algorithme principal de décodage combinant les méthodes de substitution et de transposition. 5 - Dispositif pour la mise en oeuvre de procédé selon une des revendications 1 ou 2, caractérisée en ce que dans un protocole simplifiée, le module de lecture est autorisé à lire le contenu de la carte de santé dès la fin du stade d'identification du médecin et du malade. 6 - Dispositif selon la revendication 3, caractérisé en ce que la carte et son module de lecture sont dotés tous deux d'une "puce" munie des éléments permettant leur identification mutuelle sans transmission des codes secrets et possèdent en outre tous deux le même code crypté confidentiel dont la clé 55 secrète personnelîle de chiffrement de 56 bits figure sur la puce de la carte d'informations et en ce que ladite clé secrète personnelle est modifiable.