PROCEDE D'ENREGISTREMENT ET DE CERTIFICATION PAR L'AUTEUR DE LA PATERNITE D'UN DOCUMENT ELECTRONIQUE ET
DE VERIFICATION.
L' invention concerne un procédé d' enregistrement et de certification par l'auteur de la paternité d'un document électronique et de vérification. Elle concerne également un support de type carte à puce et un équipement informatique de type serveur pour la mise en œuvre du procédé.
L'invention s'applique à des documents électroniques tels que des fichiers textes, des programmes feuilles de calcul, des images électroniques, des données multimédia, etc., mis à disposition par un auteur (personne physique ou morale) sur un support d'enregistrement (disque/disquette/bande magnétique, carte PCMCIA, cédérom, etc.) et recopiables directement ou via une liaison de communication par un lecteur (personne physique et morale) .
Les auteurs d'un document ou d'un ouvrage sont protégés contre la copie par les loi nationales portant sur les droits d'auteurs.
Les moyens de communication électroniques facilitent grandement la circulation de documents sous forme électronique et favorisent de ce fait les copies de documents qui deviennent illicites dès lors que l'auteur n'a pas donné son autorisation.
Il y a en effet des difficultés à appliquer la loi pour couvrir les cas de copies de tout ou partie d'un document multimédia.
- Ces difficultés sont accrues dans le cas de copies internationales entre un document d'un
auteur d'une nation et un lecteur d'une autre nation (Convention de Berne, 1826) . Il existe des procédés d' authentification mais ces procédés n'empêchent pas un lecteur d'utiliser le document recopié dans le domaine public.
Le problème d' apporter la preuve de la paternité d'un document dans le cas d'un document électronique est plus difficile à résoudre du fait de l'interconnexion de plus en plus grande des ordinateurs qui donne la possibilité à chacun d' être, un auteur de documents pouvant être facilement recopiés par de nombreux lecteurs. Ainsi, l'importance des procédures d'enregistrement de la paternité (et par delà de la propriété) d'une œuvre est de plus en plus lourde à gérer pour des millions d'éditeurs potentiels.
La présente invention a pour but de résoudre ce problème. La présente invention a pour objet un procédé permettant à chaque auteur de générer une preuve infalsifiable de la paternité d'un document électronique sans avoir à faire enregistrer cette preuve par un organisme central. A cette fin cette preuve est générée et conservée au moyen d'une carte à puce personnelle à l'auteur.
L'invention a . plus particulièrement pour objet un procédé d'enregistrement et de certification par l'auteur de la paternité d'un document électronique, principalement caractérisé en ce qu'il comprend l'enregistrement sur une carte à puce appartenant à l'auteur, d'une signature dudit document ayant une date certaine comme preuve de création dudit document.
Avantageusement la signature du document est générée par la carte.
Selon une autre caractéristique, la carte est délivrée par une autorité, les informations générées par cette cartes sont protégées en écriture et en lecture, l'autorité seule possédant un accès en lecture pour lesdites informations.
Selon une autre caractéristique du procédé, la signature du document électronique est obtenue par une opération de condensation à sens unique dudit document ..
L'opération de condensation à sens unique est une fonction de hachage.
Selon une autre caractéristique, la signature électronique du document et la date certaine sont chiffrées et la donnée chiffrée ainsi obtenue constitue un certificat.
Avantageusement ladite date certaine est fournie par un tiers de confiance. La donnée chiffrée constituant le certificat, est calculée par le tiers de confiance au moyen d'un algorithme à clé secrète dont la clé n'est connue que de ce dernier.
La signature du document est communiquée par la carte au tiers de confiance qui lui affecte la date certaine et calcule le certificat.
Selon une autre caractéristique la carte affecte et stocke un numéro d'ordre au certificat enregistré.
Selon une autre caractéristique, les échanges entre la carte et le tiers de confiance, sont chiffrés par des clés de session.
Avantageusement, le tiers de confiance est un équipement informatique de type serveur relié à un
lecteur de carte à puce apte à recevoir la carte à puce de l'auteur du document.
Les documents électroniques peuvent se présenter sous la forme de fichiers textes ou d' images multimédia ou de bons de commandes.
L'invention a également pour objet un procédé de vérification de la paternité d'un document électronique pour lequel l'enregistrement de la paternité a été réalisé selon l'une quelconque des revendications précédentes, principalement caractérisé en ce que cette vérification est réalisée par une autorité, ladite vérification comprenant les fonctions suivantes :
- envoi du document électronique et du certificat dudit document, par la carte à l'autorité,
- déchiffrement du certificat par l'autorité calcul par l'autorité de la signature du document et comparaison avec la signature obtenue par le déchiffrement. L'invention s'applique à une carte à puce, un microcircuit apte à à fournir la preuve de la paternité d'un document électronique selon le procédé de
1' invention.
L'invention concerne une carte à puce du type comprenant des moyens pour traiter par une fonction de hachage un document électronique, des moyens pour recevoir d'un serveur distant une information de date et des moyens pour mémoriser une information représentative, d'une part, de la dite information de date et d'autre part, du document électronique traité par la dite fonction de hachage.
D'autres particularités et avantages de la présente invention apparaîtront au cours de la description qui
suit, donnée à titre d'exemple illustratif et non limitatif, et faite en référence aux figures annexées sur lesquelles: la figure 1, représente le schéma de principe ' d'une carte à puce, la figure 2, représente le schéma d'un système informatique comprenant une carte à puce et un serveur pour la mise en œuvre du procédé.
Les principes du procédé sont illustrés sur un exemple faisant intervenir les entités suivantes : F - l'auteur d'un document électronique, D - le document électronique, R - le recopieur du document électronique, CA - la carte à puce de l'auteur. Cette carte à puce est dite de confiance car elle est délivrée par une autorité.
A - l'autorité arbitrant les conflits, S- un tiers de confiance apte à fournir une date certaine (jour/mois/année + heure GMT) .
La suite de la description les fonctions de chiffrement utilisées sont notées de la manière suivante pour simplifier le propos et de manière à exprimer qu'il peut s'agir tout aussi bien d'algorithmes de cryptographie à clé secrète que d'algorithmes à clé publique: m'=[m]k la fonction de chiffrement d'un message m avec une clé k ; m=[m']k-l la fonction de déchiffrement d'un cryptogramme m' avec la clé k-1 ; h= Hash (m) la fonction de condensation à sens unique (hachage) d'un message m en un résumé h.
On rappelle qu'une fonction de hachage (Hash) est un fonction de traitement logique de chaînes binaires,
qui permet d'obtenir une chaîne de caractères de longueur déterminée à partir d'une autre chaîne de caractères de même longueur ou de longueur différente.
On rappelle qu'un support de type carte à puce CA telle- que représentée sur la figure 1 comporte un microcircuit ' MC comprenant une unité principale de traitement CPU reliée par un ou plusieurs bus B à des mémoires dont au moins une mémoire de programme non volatile Ml, une mémoire électriquement programmable M2 et une mémoire de travail M3. La carte à puce comporte en outre une interface d' entrée sortie pour communiquer avec l'extérieur. Cette interface est dans le cas d'une carte à puce à contact comme illustré sur cette figure un bornier CN de plages de contacts On peut pour mieux comprendre la suite se reporter au schéma de la figure 2.
Un auteur F d'un document D a à sa disposition un équipement informatique Eq illustré à titre d'exemple par un ordinateur 0 relié à un lecteur L de carte à puce externe (il pourrait s'agir bien sûr d'un ordinateur dans lequel le lecteur est intégré) et à un serveur S. L'équipement informatique Eq est relié au serveur S soit directement soit par un réseau local soit par un réseau de télécommunications. Les connexions à un réseau sont symbolisées par deux traits parallèles sur le schéma. Cet équipement Eq peut avoir aussi un accès à un équipement informatique d'une autorité A (qui porte la référence A de l'autorité) .
Comme on l'a vu, le principe, de l'invention consiste à obtenir la signature d'un document en effectuant un condensé de ce document par une fonction de condensation à sens unique.
La signature est générée par la carte CA personnelle de l'auteur à l'aide d'une fonction de
hachage appliquée au document. Cette signature peut être stockée dans la carte avec une date certaine DA.
La date certaine DA sera de préférence fournie à la carte à puce de façon sécurisée par un tiers de confiance c'est à dire selon l'exemple par le serveur S. Ainsi, le serveur (tiers de confiance) pourra dater chaque signature de document au moment de leur enregistrement dans la carte.
La signature et la date stockées dans la carte personnelle de l'auteur fournissent la preuve de la paternité du document par l'auteur à cette date.
On va décrire dans la suite un mode préféré de réalisation consistant à enregistrer ' n certificat C de paternité d'un document électronique D sur la carte CA de l'auteur F du document. Ce certificat C peut ensuite être utilisé pour régler les situations de conflits en cas d'utilisation illégale d'une copie de ce document, a cette fin l'auteur pourra faire appel à l'autorité A qui sera en mesure de procéder à une vérification comme cela sera décrit par la suite.
Bien entendu l'auteur aura pris soin de conserver son document original par exemple en le sauvegardant sur un support électronique (disque, ou disquette) afin de pouvoir par la suite attester que le certificat enregistré sur la carte correspond au document original qu'il a conservé.
Chaque auteur possède une carte à puce (telle que schématisée sur la figure 1) qui lui est délivrée par une autorité. La carte comporte un ou des programmes aptes à mettre en œuvre les fonctions suivantes :
Une fonction FI : la vérification du numéro d'identification personnelle (code PIN de l'auteur du document) connu uniquement de son propriétaire (similaire au code PIN d'une carte de crédit) .
Une fonction F2 : l'écriture d'un hachage d'un document électronique, qui ne sera exécutée qu'après succès' de la fonction de vérification FI.
Une fonction F3 : l' authentification auprès d'un serveur tiers de confiance. Cette fonctionne sera exécutée qu'après succès de la fonction FI et F2.
Une fonction F4 : la génération d'une clé de session entre la carte et le serveur tiers de confiance. Cette fonctionne sera exécutée qu'après succès des fonctions FI, F2 et F3.
Une fonction F5 : la génération d'un cryptogramme du hachage obtenu par le déroulement de la fonction F2 avec la clé de session obtenu après le déroulement de l' fonctionF4. Cette fonction n'est exécutable qu'après succès de la fonction FI, F2, F3 et F4.
Une fonction Fβ : l'écriture du certificat de paternité d'un document électronique daté par le serveur tiers de confiance utilisé pour F3. Cette fonction" n' est exécutable qu'après succès des fonctionsFl, F2, F3, F4 et F5.
Une fonction F7 : l' authentification de l'autorité ayant délivré la carte à un auteur.
Une fonction F8 : la lecture d'un certificat de paternité. Cette fonction n'est exécutable qu'après succès des fonctions FI et F2.
'Pour mettre en œuvre l'enregistrement et la certification d'un document électronique et sa vérification les étapes suivantes vont être déroulées: 1) L'auteur F a tout d'abord crée le document D. 2) L'auteur F tape son code personnel PIN pour s'authentifier auprès de sa carte CA après l'avoir introduite dans le lecteur L et éviter que quelqu'un d'autre puisse l'utiliser.
3) F transmet le document D qui se présente par exemple sous la forme d'un fichier informatique stocké sur son ordinateur 0, à sa carte à puce CA. La carte calcule h = Hash(D). A la fin de cette fonction, la carte ' CA stocke h qui correspond à un résumé (ou condensé) du document D et qui représente une signature de ce document .
4) Pour obtenir une date pour ce document, l'auteur F met sa carte CA en communication avec le tiers de confiance constitué par le serveur S. La carte et le serveur s'authentifient mutuellement et génèrent une paire de clés de session ks et ks-1 uniques pour cette session et connues d'eux seuls.
5) La carte CA chiffre h avec la clé de session ks : h'=[h]ks et envoie le cryptogramme h' au tiers de confiance S .
6) Le tiers de confiance S ajoute à h' sa date de réception DA=j j/mm/aa-hh :mm :ss (jour/mois/année et heure GMT) . 7) S chiffre h'+DA avec sa clé personnelle kc et effectue pour cela le calcul': C=[h'+D]kc. C est le certificat du document D.
8) S chiffre C avec ks : C' = [c]ks et envoie le cryptogramme C à la carte CA. 9) La carte CA déchiffre le cryptogramme C avec ks-1 et effectue pour cela le calcul C=[C]ks-l et récupère ainsi le certificat daté du document D qui est :
C=[h'+DA]kc. 10) La carte CA stocke dans sa mémoire le certificat C du document D et lui associe un numéro d'ordre N unique. Le numéro N sert a retrouver le certificat C d'un document dans la carte.
Par exemple: le premier certificat a le numéro 1, le second 2, etc. Ainsi on peut retrouver a partir de ce numéro un certificat (il peut s'agir tout simplement d'un index dans une table) . Il permet donc également d'identifier les certificats successifs des différentes versions de mêmes documents.
11) La carte CA retourne à l'auteur F le numéro d'ordre N du certificat C associé au document D.
12) L'auteur F enregistre que la preuve de paternité du document D est enregistrée dans sa carte
CA avec le numéro d'ordre N (en notant sur un morceau de papier par exemple ou dans un répertoire de son ordinateur) .
13) L'auteur F rend le document D disponible au public pour consultation et copie à usage privé.
14) F constate que R utilise tout ou une partie du document D pour un usage public sans l'avoir déclaré et sans donc lui payer de droits d'auteurs. F porte donc plainte auprès de l'autorité A. 15) A demande à F de fournir la preuve de paternité du document D.
16) F entre son code personnel à partir de son équipent informatique (clavier ou lecteur de carte) pour s'authentifier auprès de sa carte CA et entre également pour le communiquer à l'autorité A, le numéro d'ordre N du certificat du document D stocké dans la carte CA.
17) A s'authentifie auprès de la carte CA avec son code personnel PINa et demande à la carte de lui donner le certificat C correspondant au numéro d'ordre N.
18) A déchiffre le certificat C avec la clé de déchiffrement kc-1 du tiers de confiance S et obtient ainsi (h' +DA) =[C ] kc-1.
19) A génère un nouveau résumé du document D en effectuant le calcul : h''=Hash(D) et vérifie que le résumé h' du certificat C et le résumé calculé h' ' sont identiques. Si h'=h'' le certificat C est correct et la date t>A est celle d'enregistrement de la création du document D par F. Si non, la requête de F est déboutée.
20) Si R peut prouver de la même façon (avec sa carte) que la date d'enregistrement qui est enregistrée sur sa carte pour le document D est antérieure à celle de F c'est lui qui dans ce cas apporte la paternité du document .
Il est à noter que les cartes à puces des auteurs sont dites de confiance car elles sont délivrées par une autorité qui est la seule à connaître la clé servant à . générer des signatures faites par chaque carte. La clé peut être diversifiée par l'autorité pour chaque carte émise. En outre les signatures générées par une carte sont infalsifiables, elles ne pourront être ni modifiées ni supprimées et ne pourront être lues que par l'autorité (état ou tribunal par exemple) .
Ainsi conformément au procédé de l'invention, l'auteur d'un document électronique enregistre dans une carte à puce une preuve infalsifiable de la création de ce document fabriqué avec un résumé de ce document (opération de hachage) et la date d'estampage de ce résumé chiffré par une clé secrète d'un tiers de confiance.
L'invention permet d'apporter la preuve de la paternité de tout type de documents électroniques
(fichiers, texte, images, multimédia, bon de commande, etc.) mais aussi pour stocker des preuves de transactions électroniques (par exemple, envoi d'un bon de commande de 2000 Francs à telle date) .
A cette fin l'auteur d'un document utilise une carte à puce qui lui est personnelle pour générer et conserver une preuve infalsifiable de la création d'un document électronique à une date donnée. Cette preuve est utilisée comme certificat de paternité (propriété) en cas d'usage non légal d'une copie de ce document.